:root{color-scheme:dark;--bg: #05030a;--surface: #0b0714;--surface-elevated: #100c1b;--surface-active: #1c1233;--text: #ffffff;--text-soft: #e6edf3;--text-muted: #c9d1d9;--text-hint: #8b949e;--text-disabled: #4a5568;--text-on-accent: #ffffff;--border: #1a1428;--border-accent-soft: rgba(167, 139, 250, .1);--border-accent: rgba(167, 139, 250, .2);--border-accent-strong: rgba(167, 139, 250, .3);--accent: #8b5cf6;--accent-text: #a78bfa;--accent-top: #b794ff;--accent-bottom: #8b5cf6;--accent-grad: url(#accent-grad);--accent-grad-bg: linear-gradient(180deg, var(--accent-top) 0%, var(--accent-bottom) 100%);--btn-grad: linear-gradient(180deg, #8b5cf6 0%, #4c1d95 100%);--accent-dim: #170f28;--accent-ink: #0b0518;--accent-a05: rgba(139, 92, 246, .05);--accent-a10: rgba(139, 92, 246, .1);--accent-a15: rgba(139, 92, 246, .15);--accent-a20: rgba(139, 92, 246, .2);--accent-a25: rgba(139, 92, 246, .25);--accent-a30: rgba(139, 92, 246, .3);--accent-a40: rgba(139, 92, 246, .4);--accent-a50: rgba(139, 92, 246, .5);--accent-a60: rgba(139, 92, 246, .6);--gold: #ffc53d;--gold-a15: rgba(255, 197, 61, .15);--gold-a08: rgba(255, 197, 61, .08);--color-error: #ff8a80;--color-error-strong: #ff9890;--color-error-soft: #ffbcb6;--color-error-bg: rgba(255, 138, 128, .08);--color-error-border: rgba(255, 138, 128, .25);--overlay-25: rgba(0, 0, 0, .25);--overlay-40: rgba(0, 0, 0, .4);--tg-theme-bg-color: var(--bg);--tg-theme-secondary-bg-color: var(--surface-elevated);--tg-theme-text-color: var(--text);--tg-theme-hint-color: var(--text-hint);--tg-theme-link-color: var(--accent);--tg-theme-button-color: var(--accent);--tg-theme-button-text-color: var(--text-on-accent);--card-bg: var(--surface);--r-xs: 6px;--r-sm: 10px;--r-md: 12px;--r-lg: 14px;--r-xl: 18px;--r-2xl: 20px;--r-circle: 50%;--r-pill: 999px;--radius: var(--r-xl);--input-radius: var(--r-sm);--input-shadow-focus: 0 0 0 3px var(--accent-a10);--sp-px: 2px;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--glow-dot: 0 0 10px var(--accent-a60);--glow-soft: 0 0 12px var(--accent-a30);--glow-btn: 0 0 14px var(--accent-a10);--glow-btn-press: 0 0 20px var(--accent-a20);--glow-image: 0 0 22px var(--accent-a40);--glow-logo: 0 0 24px var(--accent-a30);--shadow-cta: 0 6px 18px var(--accent-a30);--shadow-debug: 0 2px 12px var(--overlay-40);--hilite-faint: inset 0 1px 0 var(--accent-a05);--hilite-soft: inset 0 1px 0 var(--accent-a20);--hilite-bold: inset 0 1px 0 var(--accent-a30);--card-glow-tl: radial-gradient(120% 100% at 0% 0%, var(--accent-a15) 0%, transparent 65%);--card-glow-tc: radial-gradient(120% 80% at 50% 0%, var(--accent-a10) 0%, transparent 60%);--card-glow-bl: radial-gradient(80% 90% at 0% 60%, var(--accent-a15) 0%, transparent 60%);--card-glow-diag: linear-gradient(160deg, var(--accent-a15) 0%, transparent 55%);--card-glow-diag-soft: linear-gradient(160deg, var(--accent-a10) 0%, transparent 55%);--font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--text-display-xl: 50px;--text-display-lg: 30px;--text-display: 26px;--text-h1: 22px;--text-h2: 17px;--text-h3: 15px;--text-body: 14px;--text-secondary: 13px;--text-caption: 12px;--text-micro: 11px;--weight-bold: 700;--weight-semibold: 600;--weight-medium: 500;--weight-regular: 400;--lh-tight: 1;--lh-snug: 1.2;--lh-base: 1.3;--lh-relaxed: 1.5;--btn-h-sm: 36px;--btn-h-md: 44px;--btn-h-lg: 52px;--btn-radius: var(--r-md);--btn-px-sm: 12px;--btn-px-md: 14px;--btn-px-lg: 16px;--dur-fast: .15s;--dur-base: .25s;--dur-slow: .4s;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--blur-sm: 6px;--blur-md: 12px;--blur-lg: 20px;--bottom-nav-h: 60px;--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-top: env(safe-area-inset-top, 0px)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-family);font-size:var(--text-body);line-height:var(--lh-relaxed);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overscroll-behavior-y:none;overflow-x:hidden}#root{min-height:100%;display:flex;flex-direction:column}h1,h2,h3,h4,p{margin:0}button{font:inherit;color:inherit;background:none;border:none;padding:0;cursor:pointer;-webkit-tap-highlight-color:transparent}a{color:var(--accent-text);text-decoration:none}input,textarea,select{font:inherit;color:inherit}.dotted-bg{background-image:radial-gradient(var(--accent-a10) 1px,transparent 1px);background-size:22px 22px}.no-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.no-scrollbar::-webkit-scrollbar{display:none}.clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.clamp-1{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.screen{flex:1;display:flex;flex-direction:column;padding-bottom:calc(var(--bottom-nav-h) + var(--safe-bottom) + var(--sp-4))}.screen--flush{padding-bottom:0}.container{padding-inline:var(--sp-4)}.stack{display:flex;flex-direction:column}.row{display:flex;align-items:center}.screen-header{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-4);padding-top:calc(var(--sp-4) + var(--safe-top))}.screen-header__back{width:36px;height:36px;border-radius:var(--r-circle);display:grid;place-items:center;background:var(--surface-elevated);border:1px solid var(--border);color:var(--accent-text);flex:none;transition:background var(--dur-fast) var(--ease-out)}.screen-header__back:active{background:var(--surface-active)}.screen-header__title{font-size:var(--text-h1);font-weight:var(--weight-bold);line-height:var(--lh-snug)}.screen-header__spacer{margin-left:auto}.card{position:relative;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:var(--sp-4);overflow:hidden}.card--accent{border-color:var(--border-accent);box-shadow:var(--hilite-faint)}.card--interactive{transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.card--interactive:active{background:var(--surface-elevated);border-color:var(--border-accent)}.card__glow{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.card__glow--tl{background:var(--card-glow-tl)}.card__glow--tc{background:var(--card-glow-tc)}.card__glow--bl{background:var(--card-glow-bl)}.card__glow--diag{background:var(--card-glow-diag)}.card__glow--diag-soft{background:var(--card-glow-diag-soft)}.card__body{position:relative}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);height:var(--btn-h-md);padding-inline:var(--btn-px-md);border-radius:var(--btn-radius);font-size:var(--text-h3);font-weight:var(--weight-semibold);line-height:var(--lh-tight);white-space:nowrap;transition:transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out),opacity var(--dur-fast) var(--ease-out)}.btn--sm{height:var(--btn-h-sm);padding-inline:var(--btn-px-sm);font-size:var(--text-secondary)}.btn--lg{height:var(--btn-h-lg);padding-inline:var(--btn-px-lg);font-size:var(--text-h2)}.btn--block{width:100%}.btn--primary{background:var(--btn-grad);color:var(--text-on-accent);box-shadow:var(--shadow-cta),var(--hilite-soft)}.btn--primary:active{transform:translateY(1px);box-shadow:var(--glow-btn-press)}.btn--secondary{background:var(--surface-elevated);border:1px solid var(--border-accent);color:var(--accent-text)}.btn--secondary:active{background:var(--surface-active)}.btn--ghost{background:transparent;color:var(--accent-text)}.btn--danger{background:var(--color-error-bg);border:1px solid var(--color-error-border);color:var(--color-error)}.btn:disabled{background:var(--surface);border:1px solid var(--border);color:var(--text-disabled);box-shadow:none;cursor:default;transform:none}.chip{display:inline-flex;align-items:center;gap:var(--sp-1);height:32px;padding-inline:var(--sp-3);border-radius:var(--r-pill);border:1px solid var(--border);background:var(--surface-elevated);color:var(--text-muted);font-size:var(--text-caption);font-weight:var(--weight-medium);line-height:var(--lh-tight);white-space:nowrap;transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.chip--selected{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:var(--weight-semibold)}.chip--outline-selected{background:var(--accent-dim);border-color:var(--border-accent-strong);color:var(--accent-text)}.chip--static{background:var(--accent-a10);border-color:var(--border-accent-soft);color:var(--accent-text)}.chip-row{display:flex;gap:var(--sp-2);overflow-x:auto;padding-inline:var(--sp-4)}.chip-wrap{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.stat-tile{position:relative;flex:1;min-width:0;background:var(--surface);border:1px solid var(--border-accent-soft);border-radius:var(--r-lg);padding:var(--sp-3);display:flex;flex-direction:column;align-items:center;gap:var(--sp-1);overflow:hidden}.stat-tile__icon{color:var(--accent-text);display:grid;place-items:center}.stat-tile__value{font-size:var(--text-h2);font-weight:var(--weight-bold);line-height:var(--lh-tight)}.stat-tile__label{font-size:var(--text-micro);color:var(--text-hint);text-align:center}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-2)}.field{display:flex;flex-direction:column;gap:var(--sp-2)}.field__head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-2)}.field__label{display:inline-flex;align-items:center;gap:var(--sp-2);font-size:var(--text-caption);font-weight:var(--weight-semibold);letter-spacing:.04em;text-transform:uppercase;color:var(--text-soft)}.field__label:before{content:"";width:3px;height:13px;border-radius:var(--r-pill);background:var(--accent);flex:none}.field__required{color:var(--accent-text)}.field__counter{font-size:var(--text-micro);color:var(--text-hint);flex:none}.field__control{position:relative;display:flex;align-items:center}.input,.textarea{width:100%;background:var(--surface);border:1px solid var(--border);border-radius:var(--input-radius);padding:var(--sp-3);color:var(--text);font-size:var(--text-h3);outline:none;transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.input::placeholder,.textarea::placeholder{color:var(--text-disabled)}.input:focus,.textarea:focus{border-color:var(--border-accent-strong);box-shadow:var(--input-shadow-focus)}.input--with-suffix{padding-right:64px}.textarea{min-height:96px;resize:vertical;line-height:var(--lh-relaxed)}.field__suffix{position:absolute;right:var(--sp-3);font-size:var(--text-secondary);color:var(--text-hint);pointer-events:none}.field__hint{font-size:var(--text-micro);color:var(--text-hint)}.field__error{font-size:var(--text-caption);color:var(--color-error)}.field--invalid .input,.field--invalid .textarea{border-color:var(--color-error-border)}.info-banner{display:flex;align-items:center;gap:var(--sp-3);background:var(--accent-a10);border:1px solid var(--border-accent-soft);border-radius:var(--r-md);padding:var(--sp-3) var(--sp-4);font-size:var(--text-secondary);color:var(--text-muted)}.info-banner__icon{color:var(--accent-text);flex:none;display:grid;place-items:center}.info-banner--error{background:var(--color-error-bg);border-color:var(--color-error-border);color:var(--color-error-soft)}.info-banner--error .info-banner__icon{color:var(--color-error)}.stepper{display:flex;align-items:flex-start;padding:var(--sp-4) var(--sp-4) var(--sp-5)}.stepper__item{display:flex;flex-direction:column;align-items:center;gap:var(--sp-2);flex:none;width:76px}.stepper__dot{width:26px;height:26px;border-radius:var(--r-circle);display:grid;place-items:center;font-size:var(--text-caption);font-weight:var(--weight-semibold);border:1px solid var(--border);background:var(--surface);color:var(--text-disabled)}.stepper__item--active .stepper__dot{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);box-shadow:var(--glow-soft)}.stepper__item--done .stepper__dot{background:var(--accent-dim);border-color:var(--border-accent-strong);color:var(--accent-text)}.stepper__label{font-size:var(--text-micro);color:var(--text-hint);text-align:center}.stepper__item--active .stepper__label{color:var(--accent-text);font-weight:var(--weight-semibold)}.stepper__line{flex:1;height:1px;background:var(--border);margin-top:13px}.stepper__line--done{background:var(--accent-a40)}.segments{display:flex;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4) 0}.segments__item{flex:1;height:3px;border-radius:var(--r-pill);background:var(--border)}.segments__item--filled{background:var(--accent-grad-bg);box-shadow:var(--glow-soft)}.segmented{display:flex;padding:var(--sp-1);border-radius:var(--r-pill);border:1px solid var(--border);background:var(--surface)}.segmented__item{flex:1;height:36px;border-radius:var(--r-pill);font-size:var(--text-h3);font-weight:var(--weight-medium);color:var(--text-hint);transition:background var(--dur-base) var(--ease-out),color var(--dur-base) var(--ease-out)}.segmented__item--active{background:var(--accent-dim);border:1px solid var(--border-accent-strong);color:var(--accent-text);font-weight:var(--weight-semibold)}.tabs{display:flex;border-bottom:1px solid var(--border);padding-top:var(--safe-top)}.tabs__item{flex:1;padding:var(--sp-4) var(--sp-2);font-size:var(--text-h3);font-weight:var(--weight-medium);color:var(--text-hint);position:relative;transition:color var(--dur-fast) var(--ease-out)}.tabs__item--active{color:var(--text);font-weight:var(--weight-semibold)}.tabs__item--active:after{content:"";position:absolute;left:50%;transform:translate(-50%);bottom:-1px;width:56px;height:2px;border-radius:var(--r-pill);background:var(--accent);box-shadow:var(--glow-soft)}.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:40;display:grid;grid-template-columns:repeat(4,1fr);height:calc(var(--bottom-nav-h) + var(--safe-bottom));padding-bottom:var(--safe-bottom);background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(var(--blur-md));backdrop-filter:blur(var(--blur-md));border-top:1px solid var(--border)}.bottom-nav__item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--text-hint);font-size:var(--text-micro);transition:color var(--dur-fast) var(--ease-out)}.bottom-nav__item--active{color:var(--accent-text)}.bottom-nav__item--active .bottom-nav__icon{filter:drop-shadow(0 0 6px var(--accent-a40))}.sheet-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:var(--overlay-40);-webkit-backdrop-filter:blur(var(--blur-sm));backdrop-filter:blur(var(--blur-sm));display:flex;align-items:flex-end;animation:sheet-fade var(--dur-base) var(--ease-out)}.sheet{width:100%;background:var(--surface-elevated);border-top-left-radius:var(--r-2xl);border-top-right-radius:var(--r-2xl);border-top:1px solid var(--border-accent-soft);padding:var(--sp-3) var(--sp-4) calc(var(--sp-5) + var(--safe-bottom));max-height:85vh;overflow-y:auto;animation:sheet-up var(--dur-base) var(--ease-out)}.sheet__grabber{width:36px;height:4px;border-radius:var(--r-pill);background:var(--border);margin:0 auto var(--sp-4)}.sheet__title{font-size:var(--text-h2);font-weight:var(--weight-bold);margin-bottom:var(--sp-4)}.sheet__item{display:flex;align-items:center;gap:var(--sp-3);width:100%;padding:var(--sp-3) 0;font-size:var(--text-h3);font-weight:var(--weight-medium);text-align:left;color:var(--text-soft)}.sheet__item-icon{color:var(--accent-text);flex:none;display:grid;place-items:center}.sheet__item--danger,.sheet__item--danger .sheet__item-icon{color:var(--color-error)}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes sheet-fade{0%{opacity:0}to{opacity:1}}.avatar{position:relative;border-radius:var(--r-circle);flex:none;display:grid;place-items:center;background:var(--accent-dim);color:var(--accent-text);font-weight:var(--weight-bold);overflow:visible}.avatar__img{width:100%;height:100%;border-radius:var(--r-circle);object-fit:cover;display:block}.avatar--ring{box-shadow:0 0 0 2px var(--accent),var(--glow-soft)}.avatar__online{position:absolute;right:2px;bottom:2px;width:10px;height:10px;border-radius:var(--r-circle);background:var(--accent);border:2px solid var(--bg);box-shadow:var(--glow-dot)}.progress{height:3px;width:100%;border-radius:var(--r-pill);background:var(--border);overflow:hidden}.progress__fill{height:100%;border-radius:var(--r-pill);background:var(--accent-grad-bg);transition:width var(--dur-base) var(--ease-out)}.empty-state{flex:1;display:grid;place-items:center;padding:var(--sp-6);text-align:center;color:var(--text-hint);font-size:var(--text-h3);min-height:200px}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-3);padding:0 var(--sp-4) var(--sp-3)}.section-head__title{font-size:var(--text-h1);font-weight:var(--weight-bold)}.section-head__link{font-size:var(--text-secondary);color:var(--accent-text);display:inline-flex;align-items:center;gap:2px;flex:none}.section-label{font-size:var(--text-caption);font-weight:var(--weight-semibold);letter-spacing:.04em;text-transform:uppercase;color:var(--text-hint)}.list-row{display:flex;align-items:center;gap:var(--sp-3);width:100%;padding:var(--sp-4) 0;text-align:left}.list-row+.list-row{border-top:1px solid var(--border)}.list-row__title{font-size:var(--text-h3);font-weight:var(--weight-semibold)}.list-row__subtitle{font-size:var(--text-secondary);color:var(--text-hint)}.list-row__chevron{margin-left:auto;color:var(--text-hint);flex:none}.circle-btn{width:36px;height:36px;border-radius:var(--r-circle);display:grid;place-items:center;border:1px solid var(--border-accent);background:var(--surface-elevated);color:var(--accent-text);flex:none}.cat-icon{width:44px;height:44px;border-radius:var(--r-md);display:grid;place-items:center;font-size:20px;background:var(--accent-dim);border:1px solid var(--border-accent-soft);flex:none}.price{display:inline-flex;align-items:baseline;gap:2px;font-weight:var(--weight-bold);white-space:nowrap}.price__amount{font-size:var(--text-display);line-height:var(--lh-tight)}.price__currency{font-size:var(--text-micro);color:var(--text-hint);font-weight:var(--weight-semibold)}.price--sm .price__amount{font-size:var(--text-h2)}.metrics{display:flex;align-items:center;gap:var(--sp-4);flex-wrap:wrap;font-size:var(--text-caption);color:var(--text-hint)}.metrics__item{display:inline-flex;align-items:center;gap:var(--sp-1)}.metrics__item svg{color:var(--accent-text)}.badge-promoted{position:absolute;top:-1px;left:var(--sp-4);transform:translateY(-50%);padding:3px var(--sp-2);border-radius:var(--r-pill);background:var(--accent);color:var(--accent-ink);font-size:var(--text-micro);font-weight:var(--weight-bold);box-shadow:var(--glow-soft)}.sticky-actions{position:fixed;left:0;right:0;bottom:calc(var(--bottom-nav-h) + var(--safe-bottom));z-index:30;display:flex;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);background:color-mix(in srgb,var(--bg) 90%,transparent);-webkit-backdrop-filter:blur(var(--blur-md));backdrop-filter:blur(var(--blur-md));border-top:1px solid var(--border)}.sticky-actions--no-nav{bottom:0;padding-bottom:calc(var(--sp-3) + var(--safe-bottom))}.fab{position:fixed;right:var(--sp-4);bottom:calc(var(--bottom-nav-h) + var(--safe-bottom) + var(--sp-4));z-index:30;height:var(--btn-h-md);padding-inline:var(--sp-5);border-radius:var(--r-pill);background:var(--btn-grad);color:var(--text-on-accent);font-size:var(--text-h3);font-weight:var(--weight-semibold);display:inline-flex;align-items:center;gap:var(--sp-2);box-shadow:var(--shadow-cta),var(--hilite-soft)}.fab:active{transform:translateY(1px);box-shadow:var(--glow-btn-press)}.spinner{width:22px;height:22px;border-radius:var(--r-circle);border:2px solid var(--accent-a25);border-top-color:var(--accent);animation:spin .7s linear infinite}.loader{flex:1;display:grid;place-items:center;padding:var(--sp-6);min-height:180px}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{border-radius:var(--r-md);background:linear-gradient(90deg,var(--surface) 25%,var(--surface-elevated) 50%,var(--surface) 75%);background-size:200% 100%;animation:shimmer 1.2s linear infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}
