/* Geometry from @FunPayTGDealsBot, inspected 2026-09-27.
   The live orange palette, with FunPay branding and existing application actions. */
:root {
  --content-width: 418px;
  --accent: #e8893a;
  --accent-secondary: #ff6a3d;
  --accent-rgb: 232, 137, 58;
  --bg: #0f0e0c;
  --surface: #1b1a17;
  --text: #f4efe6;
  --muted: #8a857b;
  --blue: #e8893a;
  --border: rgba(244,239,230,.08);
  --panel-fill: linear-gradient(180deg, #ffffff12, #ffffff0b);
  --panel-line: #ffffff17;
  --panel-shadow: 0 10px 30px #0006;
}
body:has(#transfer-dialog[open]) { overflow: hidden; }
.transfer-warning { margin: 16px 0; padding: 18px; border: 1px solid #e8893a80; border-radius: 18px; background: #e8893a14; text-align: left; }
.transfer-warning > strong { color: #ff7777; font-size: 18px; }
.transfer-warning p { margin: 12px 0 0; font-size: 14px; line-height: 1.55; }
.transfer-warning .transfer-account { display: block; margin-top: 14px; padding: 14px 8px; border: 1px solid #ff777780; border-radius: 12px; background: #0f0e0c; color: #ff7777; font-size: clamp(16px, 5vw, 22px); font-weight: 750; text-align: center; overflow-wrap: anywhere; }
.transfer-warning .transfer-instruction { color: #ff9292; }
.transfer-warning .transfer-consequence { color: #ffb9b3; font-weight: 650; }
.transfer-deal { color: var(--muted); text-align: center; overflow-wrap: anywhere; }
html { scrollbar-width: none; }
::-webkit-scrollbar { width: 0; height: 0; }
body:not(.auth-only) {
  padding: calc(64px + var(--safe-top)) 16px calc(84px + var(--safe-bottom));
  background: radial-gradient(65% 85% at -8% 8%, #ff9f4555, transparent 65%),
    radial-gradient(60% 90% at 108% 16%, #ff6a3d4a, transparent 65%), var(--bg);
  background-attachment: fixed;
}
main { max-width: var(--content-width); }
main[data-page="chats"], main[data-page="chat"], main[data-page="supportInbox"] { max-width: 1300px; }
header { height: calc(56px + var(--safe-top)); background: #0f0e0cf0; border: 0; }
.header-inner { max-width: none; padding: 6px 16px; }
.wordmark { font-size: 21px; letter-spacing: -.04em; }
.wordmark span {
  background: linear-gradient(96deg, #ff9f45, var(--accent-secondary) 45%, #ffcf5a);
  background-clip: text; -webkit-background-clip: text; color: transparent;
}
.header-actions .icon-button { width: 38px; height: 38px; min-height: 38px; border-radius: 11px; background: transparent; }
h1 { font-size: 30px; line-height: 1.2; letter-spacing: -.04em; }
.page-heading, main > .page-heading { margin: 0 2px 18px; }
.page-heading .icon-button { border-radius: 12px; background: transparent; }
.card, .quick button, .deal-card, .wallet-method, .chat-link {
  background: var(--panel-fill); border: 1px solid var(--panel-line);
  border-radius: 22px; box-shadow: var(--panel-shadow);
}
button { font-size: 14px; min-height: 46px; border-radius: 14px; }
.primary { background: var(--accent); color: #1a1008; border-color: transparent; box-shadow: none; }
button:focus-visible, a:focus-visible { outline-color: #ff9f45; }
input:focus, textarea:focus, select:focus { border-color: #e8893a; box-shadow: 0 0 0 2px #e8893a20; }
.avatar, .avatar.large, .balance-card .avatar, .profile-card .avatar.large {
  width: 44px; height: 44px; border-radius: 13px; font-size: 20px; background: #1b1a17; color: #f4efe6;
}
.home-grid { display: block; }
.balance-card { padding: 22px 20px 20px; border-radius: 22px; border-color: #ffe0be47; background: radial-gradient(110% 90% at 100% 0%, #ffffff52, transparent 52%), radial-gradient(80% 80% at 0% 110%, #ffd28247, transparent 58%), linear-gradient(152deg, #ffc56a, #ff8c32 46%, #e46814); box-shadow: 0 18px 42px #e468144d; color: #fff8ef; }
.balance-card .identity small { color: #8a857b; }
.balance-actions button:first-child { color: #8a3d12; background: #fff8ef; border: 0; box-shadow: none; }
.balance-actions button:last-child { color: #fff8ef; background: #ffffff24; border-color: #ffffff47; }
.balance-card .identity { height: 48px; margin-bottom: 20px; }
.balance-card .identity b { font-size: 16px; line-height: 1.3; }
.balance-card .identity small { font-size: 13px; line-height: 1.55; }
.balance-label { font-size: 13px; font-weight: 600; letter-spacing: .04em; margin-bottom: 2px; }
.balance-value { font-size: 40px; line-height: 1.05; letter-spacing: -.05em; overflow-wrap: anywhere; white-space: normal; }
.balance-actions { gap: 8px; margin-top: 16px; }
.balance-actions button { height: 44px; min-height: 44px; border-radius: 13px; font-size: 14px; font-weight: 650; }
.promo { height: 202px; min-height: 202px; margin: 12px 0 6px; border-radius: 22px; }
.promo-slide img { object-position: 72% 50%; }
.promo-slide:after { background: linear-gradient(90deg, #0a0806e0, #0a08066b 54%, #0a080610 80%), linear-gradient(0deg, #0a080680, transparent 52%); }
.promo-content { display: flex; flex-direction: column; justify-content: flex-end; padding: 22px 18px 48px; }
.promo-kicker { font-size: 9px; letter-spacing: .08em; margin-bottom: 7px; color: #ffd09a; }
.promo h2 { font-size: 22px; line-height: 1.1; letter-spacing: -.04em; width: 75%; }
.promo p { width: 68%; max-width: 260px; font-size: 13px; line-height: 18px; margin-top: 7px; }
.promo-foot { bottom: 4px; left: 6px; right: 14px; }
.promo-foot > button { position: absolute; right: 0; bottom: 10px; height: 34px; min-height: 34px; padding: 0 14px; border-radius: 999px; background: #ffffff29; border-color: #ffffff38; color: white; }
.promo .dots { gap: 0; }
.promo .dots button { width: 28px; height: 28px; min-height: 28px; }
.promo .dots button.on:after { width: 16px; }
.home-ads { position: relative; margin: 12px 0; overflow: hidden; border-radius: 22px; aspect-ratio: 418 / 148; }
.home-ads-track { display: flex; height: 100%; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.home-ads-track::-webkit-scrollbar { display: none; }
.home-ads-track figure { flex: 0 0 100%; width: 100%; height: 100%; margin: 0; scroll-snap-align: start; }
.home-ads-track img { width: 100%; height: 100%; object-fit: cover; display: block; }
.home-ads-dots { position: absolute; left: 9px; bottom: 3px; display: flex; gap: 0; }
.home-ads-dots button { display: grid; place-items: center; width: 11px; height: 20px; min-height: 20px; padding: 0; background: transparent; border: 0; }
.home-ads-dots button:after { content: ''; height: 5px; width: 5px; border-radius: 5px; background: #ffffff70; }
.home-ads-dots button.on { width: 18px; }
.home-ads-dots button.on:after { width: 16px; background: white; }
.bonus-card { display: flex; align-items: center; gap: 14px; padding: 14px 16px; margin: 12px 0; border: 1px solid var(--border); border-radius: 18px; background: radial-gradient(75% 140% at 0 0, #bd44ba33, transparent), linear-gradient(120deg, #151626, #1b2b45); }
.bonus-card img { flex: 0 0 48px; width: 48px; height: 48px; object-fit: contain; }
.bonus-card strong { display: block; font-size: 14px; line-height: 1.3; }
.bonus-card p { margin: 5px 0 0; font-size: 12px; line-height: 1.4; color: #c1c8d8; }
.quick { gap: 8px; margin: 12px 0 6px; }
.quick button { height: auto; min-height: 112px; padding: 14px; }
.quick .icon-tile { width: 32px; height: 32px; border-radius: 9px; margin-bottom: 10px; background: #ffffff0f; border: 0; color: var(--text); }
.quick .icon-tile svg { width: 19px; height: 19px; }
.quick strong { font-size: 14px; font-weight: 600; }
.quick small { line-height: 1.4; }
.home-service { margin-top: 0; }
.home-service .section-title { margin: 28px 2px 8px; }
.list-card { padding: 0; overflow: hidden; }
.list-button { min-height: 62px; padding: 15px 16px; gap: 12px; font-size: 16px; font-weight: 650; }
.list-button .label small { font-size: 13px; line-height: 1.5; }
.list-button:not(:last-child):after { left: 0; right: 0; }
.icon-tile.small { width: 32px; height: 32px; border-radius: 12px; background: #ff9f4524; border: 1px solid #ff9f4547; color: var(--accent); }
nav { left: 16px; right: 16px; bottom: 0; transform: none; width: auto; height: calc(67px + var(--safe-bottom)); padding: 6px 8px calc(8px + var(--safe-bottom)); border: 0; border-top: 1px solid var(--border); border-radius: 0; background: #0f0e0cf5; box-shadow: none; }
nav button { min-height: 52px; height: 52px; border-radius: 16px; font-size: 10px; gap: 3px; }
nav button.on { background: #ffffff0f; color: var(--text); border: 1px solid #ff9f4545; box-shadow: 0 3px 18px #ff9f4526; }
nav button.on svg { color: var(--accent); }
nav button.create { width: 46px; height: 46px; min-height: 46px; border-radius: 13px; font-size: 22px; margin: 0 4px; background: var(--accent); color: #1a1008; box-shadow: none; }
.search-card { padding: 10px 12px; margin: 10px 0; }
input,textarea,select { min-height: 48px; border-radius: 14px; background: linear-gradient(180deg, #ffffff06, #ffffff02), #0c1019; box-shadow: none; }
.search-card input { margin-bottom: 10px; }
.segment { margin: 10px 0 14px; padding: 4px; gap: 4px; border-radius: 16px; background: #0a0d14; border: 1px solid var(--border); }
.segment button { min-height: 38px; border-radius: 12px; }
.segment button.on { background: linear-gradient(110deg,#ff9f45,var(--accent-secondary)); color: #1a1008; box-shadow: 0 4px 18px #ff9f4533; }
.chips { gap: 8px; margin: 12px 2px 16px; }
.chips button { background: #ffffff06; font-weight: 600; }
.chips button.on { color: var(--text); border-color: #ff9f4580; background: #ff9f4525; box-shadow: 0 3px 16px #ff9f4526; }
.explanation { font-size: 13px; margin: 14px 4px 12px; }
.explanation button { font-size: 13px; margin-top: 3px; }
.empty { padding: 44px 20px; }
.empty p { font-size: 13px; line-height: 1.55; }
.empty button { min-width: 70%; }
.profile-heading { margin-bottom: 26px; }
.profile-card { padding: 16px; }
.profile-card .identity { min-height: 52px; }
.profile-card .identity b { font-size: 20px; line-height: 1.25; letter-spacing: -.03em; }
.profile-card .identity small { font-size: 13px; }
.profile-metrics { border: 0; border-radius: 22px; background: transparent; box-shadow: none; margin-top: 24px; }
.profile-metrics .profile-stats { gap: 0; }
.profile-metrics .profile-stats>div { padding: 18px 4px; border: 1px solid var(--panel-line); border-radius: 20px; background: var(--panel-fill); }
.profile-metrics .profile-stats>div:last-child { border: 1px solid var(--panel-line); }
.profile-metrics .profile-stats>div:last-child b { color: var(--text); }
.profile-metrics .profile-stats small { margin-top: 6px; }
.completion-average { font-size: 12px; border: 0; padding: 12px; }
.profile-section { margin-top: 24px; }
.profile-block-title { margin: 40px 2px 30px; letter-spacing: .08em; font-size: 11px; font-weight: 650; }
.chats-page { position: relative; width: 100%; margin: 0; padding: 24px 0 0; min-height: calc(100dvh - 144px - var(--safe-top)); background: #0f0e0c; border: 1px solid var(--border); }
.chats-page h1 { margin: 0 20px 18px; font-size: 26px; }
.chat-search-wrap { margin: 0 16px 12px; }
.chat-search-wrap .chat-search { min-height: 44px; border: 1px solid var(--border); border-radius: 16px; background: #ffffff04; }
.chat-link { padding: 18px 24px; min-height: 84px; margin: 0; gap: 16px; }
.chat-link .chat-icon { flex: 0 0 48px; }
.chat-link .chat-icon:after { background: #79cbaa; border-color: #151923; }
.chat-link strong { font-size: 16px; }
.chat-placeholder { display: none; }
dialog, dialog:has(.reviews-page), dialog:has(.privacy-page) { width: min(620px,100%); padding: 18px; border-radius: 22px 22px 0 0; background: #161512; }
dialog::before { content: ''; display: block; width: 34px; height: 4px; border-radius: 3px; background: #ffffff29; margin: 0 auto 10px; }
dialog h2, dialog:has(.reviews-page)>h2, dialog:has(.privacy-page)>h2 { font-size: 26px; font-weight: 650; letter-spacing: -.04em; margin-bottom: 20px; }
dialog .explanation { border: 0; padding-left: 14px; }
dialog .close-sheet { background: transparent; border-color: #ffffff24; }
dialog .wallet-method { border-radius: 22px; padding: 14px 12px; min-height: 78px; }
.wallet-method .method-icon { width: 48px; height: 48px; border-radius: 13px; }
.wallet-method .label { min-width: 0; }
.crypto-details .crypto-address-label { margin: 14px 0 6px; color: var(--muted); font-size: 13px; }
.crypto-address { display: block; padding: 14px; margin-bottom: 12px; border: 1px solid #ffffff24; border-radius: 12px; background: #0f0e0c; color: #f4efe6; font-size: 14px; line-height: 1.6; overflow-wrap: anywhere; user-select: all; }
.crypto-details .method-icon img { width: 100%; height: 100%; }
.wallet-method .label strong { font-size: 16px; }
.wallet-method .label small { font-size: 13px; }
.wallet-method .tag { font-size: 11px; font-weight: 400; color: var(--muted); background: #ffffff08; }
.wallet-method-grid { grid-template-columns: 1fr; gap: 8px; }
.page-heading button, .explanation button, .deal-card .next-step, .positive, .support-chat-summary small.has-reply, .privacy-policy-body a, .privacy-source a { color: var(--accent); }
.toggle-row input[type="checkbox"]:checked { background: var(--accent); }
.toggle-row input[type="checkbox"]:focus-visible { outline-color: var(--accent); }
.tag { color: #e9b281; background: #e8893a20; }
.wallet-method.selected { border-color: #e8893a; background: #e8893a15; box-shadow: 0 0 0 2px #e8893a16; }
.wallet-method .method-icon, .wallet-method[data-method="sbp"] .method-icon { background: #0f0e0c; border: 1px solid #ffffff18; }
.sbp-details, .deal-banner { background: linear-gradient(145deg,#37271b,#1b1915); border-color: #e8893a44; box-shadow: var(--panel-shadow); }
.sbp-amount, .delivery-notice, .note, .file-label { background: #e8893a12; border-color: #e8893a40; color: #d9bea5; }
.deal-banner p, .delivery-notice b { color: #e9b281; }
.timeline span.done, .rating-distribution progress::-webkit-progress-value { background: var(--accent); }
.rating-distribution progress { accent-color: var(--accent); }
.bubble { background: #28251f; }
.bubble.mine { background: linear-gradient(120deg,#684023,#75472b); }
.reviews-toolbar { background: linear-gradient(#161512f5 72%,transparent); }
.reviews-close-top, .review-verification, .verify-benefits, .service-review-list .review { background: #22201b; border-color: var(--border); }
.privacy-policy-body, .verify-page p, .legal, label { color: #a59e93; }
.auth-only, .telegram-gate { background: #0f0e0c; }
.entry-splash { min-height: 100dvh; display: grid; place-items: center; padding: calc(24px + var(--safe-top)) 24px calc(48px + var(--safe-bottom)); background: radial-gradient(ellipse at 50% 39%, #c2671915, transparent 54%), #0f0e0c; }
.entry-content { width: min(100%, 300px); text-align: center; }
.entry-orbit { position: relative; display: grid; place-items: center; width: 204px; height: 204px; margin: 0 auto; border-radius: 50%; background: radial-gradient(circle, #ffac334a, #e67b2120 48%, transparent 71%); box-shadow: 0 0 46px #e7822617; }
.entry-orbit::before { content: ''; position: absolute; inset: 0; border-radius: inherit; padding: 3px; background: conic-gradient(from 35deg, #ff97321a, #ffb354 36%, #ff7546 70%, #ff97321a); mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); mask-composite: exclude; }
.entry-duck { position: absolute; width: 164px; height: 164px; }
.entry-duck svg { width: 100%; height: 100%; stroke: none; }
.entry-duck-fallback { font-size: 100px; line-height: 1; }
.duck-ready .entry-duck-fallback { visibility: hidden; }
.entry-brand { margin: 4px 0 32px; font: 700 clamp(34px, 10.5vw, 42px)/1.3 Unbounded, Inter, sans-serif; letter-spacing: -2px; color: #ff9640; background: linear-gradient(105deg, #ffb249, #ff6b47); background-clip: text; -webkit-text-fill-color: transparent; }
.entry-tagline { max-width: 280px; margin: 0 auto 34px; color: #aeb4c1; font-size: 17px; line-height: 1.45; }
.entry-progress { height: 4px; width: min(100%, 248px); margin: 0 auto; border-radius: 10px; overflow: hidden; background: #ffffff0c; }
.entry-progress span { display: block; height: 100%; width: 45%; border-radius: inherit; background: linear-gradient(90deg, transparent, #ffad47 45%, #ff7840 75%, transparent); animation: entry-progress 1.6s ease-in-out infinite; }
.entry-status { margin: 16px 0 0; font-size: 15px; color: #87837a; }
@keyframes entry-progress { from { transform: translateX(-100%); } to { transform: translateX(325%); } }
@media(prefers-reduced-motion: reduce) { .entry-progress span { animation: none; transform: translateX(85%); } }
@media(max-height: 520px) { .entry-splash { padding-top: 16px; padding-bottom: 16px; } .entry-orbit { width: 144px; height: 144px; } .entry-duck { width: 120px; height: 120px; } .entry-brand { margin-bottom: 16px; font-size: 34px; } .entry-tagline { margin-bottom: 18px; } }
.verified svg path[fill="#3D71FF"] { fill: #e8893a; }
dialog:has(.onboarding .dots) { width: 100%; max-width: none; height: 100dvh; max-height: 100dvh; margin: 0; border: 0; border-radius: 0; padding: calc(20px + var(--safe-top)) 20px calc(16px + var(--safe-bottom)); background: radial-gradient(90% 45% at 50% -10%,#e8893a26,transparent),#0f0e0c; }
dialog:has(.onboarding .dots)::before { display: none; }
dialog:has(.onboarding .dots)>h2 { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
dialog:has(.onboarding .dots) .intro-duck { display: none; }
dialog:has(.onboarding .dots) .onboarding { display: flex; flex-direction: column; align-items: stretch; max-width: 420px; height: 100%; margin: auto; padding: 0; }
dialog:has(.onboarding .dots) .onboarding h2 { margin: auto 0 14px; }
dialog:has(.onboarding .dots) .onboarding p { margin: 0 0 auto; font-size: 16px; line-height: 1.5; color: var(--muted); }
dialog:has(.onboarding .dots) .dots { justify-content: center; margin: 26px 0 12px; }
dialog:has(.onboarding .dots) .dots button { width: 44px; height: 44px; min-height: 44px; }
dialog:has(.onboarding .dots) .dots button.on { background: #f4efe6; border-radius: 12px; }
dialog:has(.onboarding .dots) .dots button.on:after { background: #e8893a; }
.intro-skip { border: 0; background: none; color: var(--muted); margin-top: 8px; font-weight: 400; }
@media(min-width:760px) {
  dialog, dialog:has(.reviews-page), dialog:has(.privacy-page) { margin: auto; max-height: calc(100dvh - 64px); border-radius: 22px 22px 0 0; }
  .chats-page { padding-right: 61%; }
  .chat-placeholder { position: absolute; inset: 0 0 0 39%; border-left: 1px solid var(--border); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 16px; font-size: 13px; color: var(--muted); }
  .chat-placeholder img { width: 56px; height: 56px; object-fit: contain; }
}
@media(max-width:759px) {
  nav { left: 0; right: 0; }
  .chats-page { margin: 0 -16px; width: calc(100% + 32px); }
  .chat-link { border-radius: 20px; }
  .profile-card { padding: 16px; }
  .profile-metrics .profile-stats>div { padding: 18px 4px; }
  dialog, dialog:has(.reviews-page), dialog:has(.privacy-page) { max-height: calc(100dvh - 16px - var(--safe-top)); padding-bottom: calc(18px + var(--safe-bottom)); }
}
@media(max-width:360px) {
  .balance-card { padding: 20px 16px; }
  .balance-value { font-size: 36px; }
  .promo h2 { font-size: 20px; }
  .promo p { font-size: 12px; line-height: 17px; }
}
