--fs-*). ============================================================ */ @font-face{font-family:Onest;font-weight:400;font-display:optional;src:url(/fonts/Onest-Regular-Cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Onest;font-weight:400;font-display:optional;src:url(/fonts/Onest-Regular.woff2) format("woff2")}@font-face{font-family:Onest;font-weight:500;font-display:optional;src:url(/fonts/Onest-Medium-Cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Onest;font-weight:500;font-display:optional;src:url(/fonts/Onest-Medium.woff2) format("woff2")}@font-face{font-family:Onest;font-weight:600;font-display:optional;src:url(/fonts/Onest-SemiBold-Cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Onest;font-weight:600;font-display:optional;src:url(/fonts/Onest-SemiBold.woff2) format("woff2")}@font-face{font-family:Onest;font-weight:700;font-display:optional;src:url(/fonts/Onest-Bold-Cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Onest;font-weight:700;font-display:optional;src:url(/fonts/Onest-Bold.woff2) format("woff2")}@font-face{font-family:Onest;font-weight:800;font-display:optional;src:url(/fonts/Onest-ExtraBold-Cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Onest;font-weight:800;font-display:optional;src:url(/fonts/Onest-ExtraBold.woff2) format("woff2")}@font-face{font-family:Lora;font-weight:600;font-display:optional;src:url(/fonts/Lora-cyrillic-600-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Lora;font-weight:600;font-display:optional;src:url(/fonts/Lora-latin-600-normal.woff2) format("woff2")}@font-face{font-family:Lora;font-weight:700;font-display:optional;src:url(/fonts/Lora-cyrillic-700-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Lora;font-weight:700;font-display:optional;src:url(/fonts/Lora-latin-700-normal.woff2) format("woff2")}@font-face{font-family:Playfair Display;font-weight:700;font-display:optional;src:url(/fonts/Playfair-Bold-Cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Playfair Display;font-weight:700;font-display:optional;src:url(/fonts/Playfair-Bold.woff2) format("woff2")}:root{--sage: #6b9e82;--sage-600: #567f68;--sage-300: #8fc0a4;--plum: #8b6fb0;--plum-600: #6b5289;--plum-300: #b9a0d6;--success: #7cc38f;--danger: #d05b4e;--danger-600: #b34a3f;--danger-soft: #e58a7f;--star: #d4b25a;--online: #7cc38f;--bg: #0a0a0d;--bg-deep: #060608;--s1: #111116;--s2: #17171e;--s3: #1e1e28;--hi: rgba(255, 255, 255, .06);--hi-strong: rgba(255, 255, 255, .1);--border: rgba(255, 255, 255, .08);--hairline: rgba(255, 255, 255, .045);--glass: rgba(14, 14, 20, .72);--text: #f4f4f6;--text-2: #a9a9b6;--text-3: #7a7a88;--text-4: #4a4a56;--grad-brand: linear-gradient(135deg, #7bb394 0%, #6b9e82 45%, #7c6099 100%);--grad-plum: linear-gradient(135deg, #a184c9 0%, #8b6fb0 55%, #6b5289 100%);--grad-photo: linear-gradient( to top, rgba(6, 6, 8, .94) 4%, rgba(6, 6, 8, .55) 30%, rgba(6, 6, 8, 0) 60% );--grad-glow: radial-gradient(120% 80% at 50% -10%, rgba(139, 111, 176, .22), transparent 60%);--surface-panel: var(--s1);--surface-card: var(--s2);--surface-card-nested: var(--s3);--accent-action: var(--sage);--accent-emotion: var(--plum);--text-body: var(--text-2);--text-caption: var(--text-3);--font: "Onest", system-ui, -apple-system, sans-serif;--font-name: "Playfair Display", "Onest", Georgia, serif;--font-serif-aux: "Lora", Georgia, serif;--fs-hero: 30px;--fs-section: 22px;--fs-card: 18px;--fs-body: 15px;--fs-secondary: 14px;--fs-caption: 12px;--fs-label: 11px;--lh-heading: 1.1;--lh-body: 1.5;--ls-heading: -.02em;--ls-label: .1em;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--r-sm: 12px;--r-md: 16px;--r-lg: 22px;--r-xl: 28px;--r-2xl: 34px;--r-pill: 999px;--sh-sm: 0 2px 8px rgba(0, 0, 0, .4);--sh-md: 0 10px 30px rgba(0, 0, 0, .5);--sh-lg: 0 20px 50px rgba(0, 0, 0, .6);--sh-brand: 0 8px 26px rgba(107, 158, 130, .28);--sh-plum: 0 8px 26px rgba(139, 111, 176, .32);--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-drawer: cubic-bezier(.32, .72, 0, 1);--dur-fast: .18s;--dur: .3s;--dur-slow: .5s;--nav-h: 64px;--safe-b: env(safe-area-inset-bottom, 0px);--safe-t: env(safe-area-inset-top, 0px);--trust: var(--sage);--warning: #b8864e;--muted: var(--text-4);--glass-brd: rgba(255, 255, 255, .08);--ring: color-mix(in srgb, var(--sage) 55%, transparent);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--brand: var(--sage);--brand-600: var(--sage-600);--accent: var(--sage);--bg-elev: var(--s1);--card: var(--s2);--card-hi: var(--hi);--font-display: var(--font);--t-hero: var(--fs-hero);--t-section: var(--fs-section);--t-card: var(--fs-card);--t-body: var(--fs-body);--t-secondary: var(--fs-secondary);--t-caption: var(--fs-caption);--s-1: var(--sp-1);--s-2: var(--sp-2);--s-3: var(--sp-3);--s-4: var(--sp-4);--s-5: var(--sp-5);--s-6: var(--sp-6);--s-8: var(--sp-8);--sh-xs: 0 1px 2px rgba(0, 0, 0, .4);--sh-card: var(--sh-sm);--sh-nav: var(--sh-md);--grad-warm: var(--grad-brand);--grad-success: var(--grad-brand)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;scrollbar-width:none}*::-webkit-scrollbar{width:0;height:0;display:none}img{-webkit-touch-callout:none;-webkit-user-drag:none;-webkit-user-select:none;user-select:none}html,body,#root{margin:0;height:100%}::selection{background:color-mix(in srgb,var(--brand) 38%,transparent);color:#fff}body{font-family:var(--font);background:var(--bg);color:var(--text);font-size:var(--t-body);line-height:1.45;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overscroll-behavior-y:contain;font-synthesis-weight:none}.tnum{font-variant-numeric:tabular-nums}:focus-visible{outline:none;box-shadow:0 0 0 3px var(--ring);border-radius:8px}.tgui-root,[class*=AppRoot]{background:var(--bg)!important}:root,.tgui-root,[class*=AppRoot]{--tgui--text_color: var(--text);--tgui--bg_color: var(--bg);--tgui--secondary_bg_color: var(--bg-elev);--tgui--section_bg_color: var(--card);--tgui--header_bg_color: var(--bg);--tgui--hint_color: var(--text-3);--tgui--subtitle_text_color: var(--text-2);--tgui--link_color: var(--brand);--tgui--button_color: var(--brand);--tgui--button_text_color: #ffffff;--tgui--accent_text_color: var(--brand);--tgui--destructive_text_color: var(--danger);--tgui--plain_background: var(--card);--tgui--plain_foreground: var(--text);--tgui--surface_primary: var(--card);--tgui--card_bg_color: var(--card)}.t-hero{font-family:var(--font-display);font-size:var(--t-hero);font-weight:800;letter-spacing:-.02em;line-height:1.08}.t-section{font-family:var(--font-display);font-size:var(--t-section);font-weight:800;letter-spacing:-.02em;line-height:1.1}.t-card{font-family:var(--font-display);font-size:var(--t-card);font-weight:700;letter-spacing:-.01em}.t-body{font-size:var(--t-body);font-weight:400}.t-secondary{font-size:var(--t-secondary);color:var(--text-2)}.t-caption{font-size:var(--t-caption);color:var(--text-3);font-weight:500}.t-label{font-size:var(--t-caption);font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--text-3)}.screen{min-height:100%;padding:calc(var(--safe-t) + var(--s-4)) var(--s-4) calc(var(--nav-h) + var(--safe-b) + var(--s-6));animation:screenIn var(--dur-fast) var(--ease-out) both}[data-fs] .screen,[data-fs] .shead{padding-top:calc(var(--safe-t) + 4px)}@keyframes screenIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.feed{animation:screenIn var(--dur-fast) var(--ease-out) both}.overlay-page{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;overflow-y:auto;background:var(--bg)}.overlay-enter{animation:slideInRight var(--dur) var(--ease-drawer)}.overlay-exit-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;background:var(--bg);overflow:hidden;animation:slideOutRight var(--dur) var(--ease-drawer) forwards}.overlay-enter>.screen,.overlay-enter>.chat,.overlay-enter>.pcard,.overlay-enter>.feed,.overlay-exit-layer>.screen,.overlay-exit-layer>.chat,.overlay-exit-layer>.pcard,.overlay-exit-layer>.feed{animation:none}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes slideOutRight{0%{transform:translate(0)}to{transform:translate(100%)}}.screen--flush{padding-left:0;padding-right:0}.stack{display:flex;flex-direction:column;gap:var(--s-4)}.row{display:flex;align-items:center;gap:var(--s-3)}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes sheetPop{0%{opacity:0;transform:translateY(14px) scale(.96)}to{opacity:1;transform:none}}@keyframes sheetUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes pop{0%{transform:scale(.85);opacity:0}60%{transform:scale(1.04)}to{transform:scale(1);opacity:1}}@keyframes scaleIn{0%{transform:scale(.94);opacity:0}to{transform:scale(1);opacity:1}}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}@keyframes floaty{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes flyOutRight{to{transform:translate(140%) rotate(18deg);opacity:0}}@keyframes flyOutLeft{to{transform:translate(-140%) rotate(-18deg);opacity:0}}@keyframes confettiPop{0%{transform:scale(.6);opacity:0}50%{transform:scale(1.15);opacity:1}to{transform:scale(1);opacity:1}}@keyframes matchGlow{0%{transform:scale(.7);opacity:0}35%{opacity:.7}to{transform:scale(1.3);opacity:0}}@keyframes matchAvatarIn{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}.stagger-item{animation:fadeUp .28s var(--ease-out) both}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}.skel{position:relative;overflow:hidden;background:var(--bg-elev);border-radius:var(--r-md)}.skel:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent 0,rgba(255,255,255,.07) 50%,transparent 100%);background-size:800px 100%;animation:shimmer 1.3s infinite linear}.clamp-1{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.wv-screen{animation:screenIn var(--dur) var(--ease-out) both}@keyframes screenIn{0%{opacity:0;transform:translateY(10px) scale(.99)}to{opacity:1;transform:none}}.wv-push{animation:pushIn var(--dur) var(--ease-drawer) both}@keyframes pushIn{0%{transform:translate(100%)}to{transform:translate(0)}}.wv-float{animation:wvFloat 5s ease-in-out infinite}@keyframes wvFloat{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-14px) rotate(6deg)}}.wv-spin{animation:wvSpin 2.5s linear infinite}.wv-spin-fast{animation:wvSpin .85s cubic-bezier(.5,0,.5,1) infinite}@keyframes wvSpin{to{transform:rotate(360deg)}}.wv-glow-drift{animation:wvGlow 9s ease-in-out infinite}@keyframes wvGlow{0%,to{transform:translate(0) scale(1)}50%{transform:translate(-18px,14px) scale(1.18)}}.wv-skeleton{animation:wv-shimmer 1.3s linear infinite}@keyframes wv-shimmer{to{background-position:-200% 0}}.wv-typing-dot{animation:wvTyping 1s ease-in-out infinite}@keyframes wvTyping{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-4px);opacity:1}}.wv-super{animation:wvSuper 1.6s var(--ease-spring) both}@keyframes wvSuper{0%{transform:scale(.6);opacity:0}18%{transform:scale(1.08);opacity:1}75%{transform:scale(1);opacity:1}to{transform:scale(1);opacity:0}}.wv-fadein{animation:wvFadeIn .3s var(--ease-out) both}@keyframes wvFadeIn{0%{opacity:0}to{opacity:1}}.wv-pulse{animation:wvPulse .7s var(--ease-spring)}@keyframes wvPulse{0%{transform:scale(1)}40%{transform:scale(1.14)}to{transform:scale(1)}}.wv-pulse-soft{animation:wvPulseSoft 2.2s ease-in-out infinite}@keyframes wvPulseSoft{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.wv-hint{animation:wvHint 2.4s ease both}@keyframes wvHint{0%,12%{opacity:0}25%,70%{opacity:1}to{opacity:0}}.wv-stagger{animation:wvStagger .4s var(--ease-out) both}.wv-settings-stg>*{animation:wvStagger .42s var(--ease-out) both}.wv-settings-stg>*:nth-child(1){animation-delay:.02s}.wv-settings-stg>*:nth-child(2){animation-delay:.06s}.wv-settings-stg>*:nth-child(3){animation-delay:.1s}.wv-settings-stg>*:nth-child(4){animation-delay:.14s}.wv-settings-stg>*:nth-child(5){animation-delay:.17s}.wv-settings-stg>*:nth-child(6){animation-delay:.2s}.wv-settings-stg>*:nth-child(7){animation-delay:.23s}.wv-settings-stg>*:nth-child(8){animation-delay:.26s}.wv-settings-stg>*:nth-child(n+9){animation-delay:.28s}@keyframes wvStagger{0%{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}.wv-thread-grow{transform-origin:left center;animation:wvThreadGrow .42s var(--ease-out) both}@keyframes wvThreadGrow{0%{transform:scaleX(0);opacity:0}to{transform:scaleX(1);opacity:1}}.wv-step{animation:wvStep var(--dur) var(--ease-drawer) both}@keyframes wvStep{0%{opacity:0;transform:translate(var(--sx, 24px))}to{opacity:1;transform:none}}.wv-bub{animation:wvBub .28s var(--ease-out) both}@keyframes wvBub{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.wv-float-a{animation:wvFloatA 6s ease-in-out infinite}@keyframes wvFloatA{0%,to{transform:translate(-50%) rotate(var(--rot, 0))}50%{transform:translate(-50%,-10px) rotate(var(--rot, 0))}}.wv-float-b{animation:wvFloatB 7s ease-in-out infinite}@keyframes wvFloatB{0%,to{transform:translateY(0)}50%{transform:translateY(-13px)}}.wv-float-c{animation:wvFloatC 5.5s ease-in-out infinite}@keyframes wvFloatC{0%,to{transform:translateY(0)}50%{transform:translateY(9px)}}.wv-ring{animation:wvRing 2.4s var(--ease-out) infinite}@keyframes wvRing{0%{transform:scale(.7);opacity:.5}70%{opacity:0}to{transform:scale(1.5);opacity:0}}.wv-bub-in{animation:wvBubIn .34s var(--ease-out) both}@keyframes wvBubIn{0%{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:none}}.wv-bub-send{animation:wvBubSend .34s var(--ease-spring) both;transform-origin:100% 100%}@keyframes wvBubSend{0%{opacity:0;transform:translateY(14px) scale(.9)}to{opacity:1;transform:none}}.wv-push-in{animation:wvPushIn .32s var(--ease-drawer) both}@keyframes wvPushIn{0%{transform:translate(26px);opacity:0}to{transform:translate(0);opacity:1}}.wv-blob{animation:wvBlob 9s ease-in-out infinite}@keyframes wvBlob{0%,to{transform:scale(1) translate(0)}33%{transform:scale(1.14) translate(7px,-5px)}66%{transform:scale(.9) translate(-6px,6px)}}.wv-launch{animation:wvLaunch .3s var(--ease-out) both}@keyframes wvLaunch{0%{transform:scale(1);opacity:1}to{transform:scale(.94);opacity:0}}.wv-pop{animation:wvPop .34s var(--ease-spring) both}@keyframes wvPop{0%{transform:scale(1)}40%{transform:scale(1.06)}to{transform:scale(1)}}.wv-chip{animation:wvChip .44s var(--ease-spring) both}@keyframes wvChip{0%{opacity:0;transform:scale(.7) translateY(6px)}to{opacity:1;transform:none}}.wv-breathe{animation:wvBreathe 3.6s ease-in-out infinite}@keyframes wvBreathe{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}.wv-cover-in{animation:wvCoverIn .55s var(--ease-out) both}@keyframes wvCoverIn{0%{transform:scale(1.05);opacity:.55}to{transform:scale(1);opacity:1}}.wv-face{animation:wvFace .4s var(--ease-spring) both}@keyframes wvFace{0%{transform:translate(-8px) scale(.7);opacity:0}to{transform:none;opacity:1}}.wv-toast-in{animation:wvToastIn .4s var(--ease-spring) both}@keyframes wvToastIn{0%{opacity:0;transform:translateY(16px) scale(.96)}to{opacity:1;transform:none}}.wv-toast-out{animation:wvToastOut .26s var(--ease-out) both}@keyframes wvToastOut{0%{opacity:1;transform:none}to{opacity:0;transform:translateY(10px) scale(.97)}}.wv-banner-in{animation:wvBannerIn .42s var(--ease-spring) both}@keyframes wvBannerIn{0%{opacity:0;transform:translateY(-22px)}to{opacity:1;transform:none}}.wv-banner-out{animation:wvBannerOut .28s var(--ease-out) both}@keyframes wvBannerOut{0%{opacity:1;transform:none}to{opacity:0;transform:translateY(-16px)}}.wv-toast-tick{animation:wvToastTick .5s var(--ease-spring) both}@keyframes wvToastTick{0%{transform:scale(0) rotate(-25deg)}55%{transform:scale(1.2) rotate(3deg)}to{transform:scale(1) rotate(0)}}.wv-grain{display:none}.wv-m-scrim{animation:wvFadeIn .3s ease-out both}.wv-m-photoL{animation:wvMPhoto .55s var(--ease-spring) both .12s}.wv-m-photoR{animation:wvMPhoto .55s var(--ease-spring) both .2s}@keyframes wvMPhoto{0%{transform:scale(.5) translateY(30px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.wv-m-badge{animation:wvMBadge .5s var(--ease-spring) both .38s,wvMBreath 1.9s ease-in-out 1.2s infinite alternate}@keyframes wvMBadge{0%{transform:scale(0)}60%{transform:scale(1.14)}to{transform:scale(1)}}@keyframes wvMBreath{0%{transform:scale(1)}to{transform:scale(1.07)}}.wv-m-rise{animation:wvMRise .45s var(--ease-out) both}@keyframes wvMRise{0%{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}.wv-m-confetti{animation:wvMConfetti .95s ease-out both .42s}@keyframes wvMConfetti{0%{transform:translate(0) rotate(0) scale(1);opacity:0}12%{opacity:1}to{transform:translate(var(--dx),var(--dy)) rotate(var(--rot)) scale(.4);opacity:0}}.flows{display:flex;flex-direction:column;gap:8px;align-self:center}.flows .fl-t{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);margin-bottom:4px}.flowbtn{padding:9px 13px;border-radius:12px;background:#15151b;border:1px solid rgba(255,255,255,.09);color:#c8c8d2;font-family:var(--font);font-size:12.5px;font-weight:600;cursor:pointer;box-shadow:inset 0 1px #ffffff0d;transition:background .15s,transform .15s;text-align:left}.flowbtn:hover{background:#1c1c24}.flowbtn:active{transform:scale(.95)}.ic{display:inline-block;flex:0 0 auto;vertical-align:middle}.ic use{transition:none}button,input,textarea,select{color:inherit}@media(prefers-reduced-motion:reduce){.wv-float,.wv-float-a,.wv-float-b,.wv-float-c,.wv-spin,.wv-spin-fast,.wv-glow-drift,.wv-ring,.wv-pulse-soft,.wv-blob,.wv-breathe{animation:none!important}.wv-fadein,.wv-bub,.wv-bub-in,.wv-bub-send,.wv-push-in,.wv-stagger,.wv-step,.wv-launch,.wv-pop,.wv-chip,.wv-cover-in,.wv-face{animation:wvFadeIn .2s var(--ease-out) both!important;animation-delay:0s!important}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);border:none;cursor:pointer;font-family:inherit;font-weight:700;border-radius:var(--r-lg);transition:transform var(--dur-fast) var(--ease-spring),background var(--dur) var(--ease-out),opacity var(--dur) var(--ease-out);-webkit-user-select:none;user-select:none;white-space:nowrap}.btn:active:not(:disabled){transform:scale(.95)}.btn:disabled{opacity:.5;cursor:default}.btn--m{min-height:44px;padding:0 var(--s-4);font-size:var(--t-secondary)}.btn--l{min-height:52px;padding:0 var(--s-5);font-size:var(--t-body)}.btn--stretched{width:100%}.btn--primary{background:var(--grad-brand);color:#fff;box-shadow:var(--sh-brand)}.btn--secondary{background:color-mix(in srgb,var(--brand) 12%,transparent);color:var(--brand)}.btn--ghost{background:transparent;color:var(--text-2)}.btn--surface{background:var(--bg-elev);color:var(--text);border:1px solid var(--hairline)}.btn--danger{background:color-mix(in srgb,var(--danger) 12%,transparent);color:var(--danger)}.btn--success{background:var(--grad-success);color:#fff;box-shadow:0 10px 24px #22c55e52}.btn__spin{width:18px;height:18px;border-radius:50%;border:2px solid currentColor;border-top-color:transparent;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.iconbtn{display:inline-flex;align-items:center;justify-content:center;border:none;cursor:pointer;border-radius:50%;background:var(--card);color:var(--text);box-shadow:var(--sh-sm);transition:transform var(--dur-fast) var(--ease-spring),background var(--dur) var(--ease-out);flex:none}.iconbtn:active{transform:scale(.94)}.card{background:var(--card);border-radius:var(--r-xl);box-shadow:var(--sh-card);border:1px solid var(--hairline)}.card--pad{padding:var(--s-4)}.card--tap{cursor:pointer;transition:transform var(--dur-fast) var(--ease-spring)}.card--tap:active{transform:scale(.98)}.chip{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:var(--r-pill);background:var(--bg-elev);color:var(--text);font-size:var(--t-secondary);font-weight:600;white-space:nowrap}.chip--brand{background:color-mix(in srgb,var(--brand) 12%,transparent);color:var(--brand)}.chip--glass{background:#1c2028b8;color:#fff}.fbchips{display:flex;flex-wrap:wrap;gap:8px}.fbchip{border:1px solid var(--hairline);background:var(--card);color:var(--text-2);font-family:inherit;font-size:var(--t-secondary);font-weight:600;padding:9px 14px;border-radius:var(--r-pill);cursor:pointer;transition:transform var(--dur-fast) var(--ease-spring),border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.fbchip:active{transform:scale(.96)}.fbchip--on{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 14%,transparent);color:var(--brand)}.fbstat{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:var(--r-pill);background:color-mix(in srgb,var(--brand) 12%,transparent);border:1px solid color-mix(in srgb,var(--brand) 26%,transparent);color:var(--text);font-size:var(--t-secondary);font-weight:600}.fbstat b{color:var(--brand);font-weight:800}.fbstat--suggest{background:var(--card);border-color:var(--hairline);color:var(--text-2)}.fbstat--suggest b{color:var(--text)}.chip-row{display:flex;flex-wrap:wrap;gap:var(--s-2)}.avatar{position:relative;border-radius:50%;background:var(--grad-brand);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:700;overflow:hidden;flex:none}.avatar img{width:100%;height:100%;object-fit:cover}.avatar__dot{position:absolute;right:2px;bottom:2px;width:26%;height:26%;min-width:10px;min-height:10px;border-radius:50%;background:var(--success);border:2px solid var(--card)}.avatar--ring{box-shadow:0 0 0 3px var(--card),0 0 0 5px var(--brand)}.avatar--t1{box-shadow:0 0 0 2px var(--card),0 0 0 4px var(--brand)}.avatar--t2{box-shadow:0 0 0 2px var(--card),0 0 0 4px var(--brand),0 0 0 7px color-mix(in srgb,var(--brand) 28%,transparent)}.badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:var(--r-pill);background:var(--danger);color:#fff;font-size:11px;font-weight:700}.badge--brand{background:var(--grad-brand)}.verified{color:color-mix(in srgb,var(--brand) 52%,var(--text-3));display:inline-flex;vertical-align:middle}.empty{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--s-8) var(--s-5);gap:var(--s-3)}.empty__art{margin-bottom:var(--s-2);animation:floaty 4s ease-in-out infinite}.empty__title{font-family:var(--font-display);font-size:var(--t-section);font-weight:700;letter-spacing:-.025em}.empty__desc{color:var(--text-2);max-width:280px;font-size:var(--t-secondary)}.shead{display:flex;align-items:center;gap:var(--s-3);padding:calc(var(--safe-t) + var(--s-3)) var(--s-4) var(--s-3);position:sticky;top:0;z-index:20;background:var(--bg)}.shead__id{display:flex;align-items:center;gap:var(--s-3);flex:1;min-width:0}.shead__id--tap{border:none;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;padding:0}.shead__titles{display:flex;flex-direction:column;min-width:0;line-height:1.15}.shead__title{font-family:var(--font-display);font-size:var(--t-card);font-weight:700;letter-spacing:-.02em;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shead__sub{font-size:var(--t-caption);font-weight:500;color:var(--text-3)}.shead__sub--online{color:var(--online)}.toast{position:fixed;left:50%;bottom:calc(var(--nav-h) + var(--safe-b) + 18px);transform:translate(-50%);background:var(--text);color:var(--bg);padding:12px 18px;border-radius:var(--r-pill);font-size:var(--t-secondary);font-weight:600;box-shadow:var(--sh-lg);z-index:1200;animation:toastIn .24s var(--ease-out) both;max-width:88vw;text-align:center}.toast--error{background:var(--danger);color:#fff}.toast--leaving{animation:toastOut .2s var(--ease-out) both}@keyframes toastIn{0%{opacity:0;transform:translate(-50%) translateY(8px) scale(.96)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}@keyframes toastOut{0%{opacity:1;transform:translate(-50%) translateY(0) scale(1)}to{opacity:0;transform:translate(-50%) translateY(8px) scale(.96)}}.pbar{height:8px;border-radius:var(--r-pill);background:var(--bg-elev);overflow:hidden}.pbar__fill{height:100%;border-radius:var(--r-pill);background:var(--grad-brand);transition:width .5s cubic-bezier(.22,1,.36,1)}.tile{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4);background:var(--card);cursor:pointer;transition:background .15s ease;min-height:56px}.tile:active{background:var(--bg-elev)}.tile__body{flex:1;min-width:0}.tile__title{font-weight:600;font-size:var(--t-body)}.tile__sub{color:var(--text-2);font-size:var(--t-secondary)}.tile+.tile{border-top:1px solid var(--hairline)}.tile-group{background:var(--card);border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--sh-card)}.section-label{font-size:var(--t-secondary);font-weight:700;color:var(--text-2);text-transform:uppercase;letter-spacing:.04em;padding:0 var(--s-2);margin-bottom:var(--s-1)}.field{display:flex;flex-direction:column;gap:6px}.field__label{font-size:var(--t-secondary);font-weight:600;color:var(--text-2);padding-left:2px}.input,.textarea{width:100%;font-family:inherit;font-size:var(--t-body);color:var(--text);background:var(--card);border:1.5px solid var(--border);border-radius:var(--r-md);padding:14px 16px;transition:border-color .18s ease,box-shadow .18s ease;outline:none}.input:focus,.textarea:focus{border-color:var(--brand);box-shadow:0 0 0 4px color-mix(in srgb,var(--brand) 14%,transparent)}.textarea{resize:vertical;min-height:96px;line-height:1.5}.input::placeholder,.textarea::placeholder{color:var(--text-3)}.opt{display:flex;align-items:center;justify-content:center;gap:var(--s-2);padding:16px;border-radius:var(--r-md);border:1.5px solid var(--border);background:var(--card);color:var(--text);font-weight:600;cursor:pointer;transition:border-color .16s ease,background .16s ease,color .16s ease,transform var(--dur-fast) var(--ease-out);text-align:center}.opt--active{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 10%,transparent);color:var(--brand)}.opt:active{transform:scale(.97)}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.photo-cell{position:relative;aspect-ratio:3 / 4;border-radius:var(--r-md);overflow:hidden;background:var(--bg-elev)}.photo-cell img{width:100%;height:100%;object-fit:cover}.photo-cell__pending{position:absolute;top:0;right:0;bottom:0;left:0;background:#1a100c8c;color:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;text-align:center;padding:8px}.photo-add{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;aspect-ratio:3 / 4;border-radius:var(--r-md);border:2px dashed var(--border);background:var(--bg-elev);color:var(--text-4);cursor:pointer;font-size:var(--t-caption);font-weight:600}.photo-cell__num{position:absolute;left:6px;bottom:6px;min-width:18px;height:18px;padding:0 5px;border-radius:var(--r-pill);background:var(--brand);color:#fff;font-size:10px;font-weight:800;display:inline-flex;align-items:center;justify-content:center}.photo-cell__x{position:absolute;top:6px;right:6px;width:24px;height:24px;border-radius:50%;border:none;background:#07080999;color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.pe-counter{float:right;color:var(--text-4);font-weight:600}.pe-chip{padding:9px 14px;border-radius:var(--r-pill);border:1px solid var(--hairline);background:var(--bg-elev);color:var(--text-2);font-family:inherit;font-size:var(--t-secondary);font-weight:600;cursor:pointer;transition:transform var(--dur-fast) var(--ease-spring)}.pe-chip:active{transform:scale(.95)}.pe-chip--on{background:color-mix(in srgb,var(--brand) 16%,transparent);border-color:color-mix(in srgb,var(--brand) 45%,transparent);color:var(--brand)}.bsheet{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;background:#0009;display:flex;align-items:flex-end;animation:fadeIn var(--dur-fast) ease both}.bsheet__panel{width:100%;max-height:88dvh;overflow-y:auto;overscroll-behavior:contain;background:var(--bg-elev);border-radius:var(--r-xl) var(--r-xl) 0 0;border-top:1px solid var(--hairline);padding:10px var(--s-4) calc(var(--safe-b) + var(--s-5));animation:sheetUp var(--dur) var(--ease-drawer) both}.bsheet--leaving{animation:fadeOut var(--dur) ease both}.bsheet--leaving .bsheet__panel{animation:sheetDown var(--dur) var(--ease-drawer) both}@keyframes sheetDown{0%{transform:translateY(0)}to{transform:translateY(100%)}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.bsheet__grab{width:40px;height:4px;border-radius:2px;background:var(--text-4);margin:0 auto 14px}.bsheet__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.bsheet__title{font-family:var(--font-display);font-size:var(--t-section);font-weight:800;letter-spacing:-.02em}.bsheet__x{width:44px;height:44px;border-radius:50%;border:none;background:var(--card);color:var(--text-2);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.citysheet__search{display:flex;align-items:center;gap:10px;padding:0 14px;height:48px;border-radius:var(--r-md);background:var(--card);border:1px solid var(--hairline);color:var(--text-4);margin-bottom:12px}.citysheet__input{flex:1;border:none;background:transparent;color:var(--text);font-family:inherit;font-size:var(--t-body);outline:none}.citysheet__input::placeholder{color:var(--text-4)}.citysheet__list{display:flex;flex-direction:column;gap:8px}.cityrow{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:12px 14px;border-radius:var(--r-md);border:1px solid transparent;background:var(--card);color:var(--text);cursor:pointer;font:inherit}.cityrow>svg:first-child{color:var(--text-3);flex:none}.cityrow--active{background:color-mix(in srgb,var(--brand) 14%,transparent);border-color:color-mix(in srgb,var(--brand) 40%,transparent)}.cityrow--active>svg{color:var(--brand)}.cityrow__body{flex:1;min-width:0}.cityrow__name{display:block;font-weight:700}.cityrow--active .cityrow__name{color:var(--brand)}.cityrow__count{display:block;font-size:var(--t-caption);color:var(--text-3);margin-top:1px}.nav{position:fixed;left:50%;transform:translate(-50%) translateZ(0);bottom:calc(var(--safe-b) + 12px);width:min(440px,calc(100% - 24px));height:var(--nav-h);display:flex;align-items:center;justify-content:space-around;padding:0 8px;border-radius:var(--r-2xl);background:color-mix(in srgb,var(--bg-elev) 96%,transparent);border:1px solid var(--glass-brd);box-shadow:var(--sh-nav),inset 0 1px #ffffff0f;z-index:100}.nav__item{position:relative;z-index:1;flex:1;height:48px;border:none;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding-top:7px;color:var(--text-3);font-size:11px;font-weight:600;cursor:pointer;transition:color var(--dur) var(--ease-out);border-radius:var(--r-md)}.nav__item--active{color:var(--brand)}.nav__thread{position:absolute;left:18px;right:18px;top:8px;height:1.5px;border-radius:1px;background:color-mix(in srgb,var(--brand) 55%,transparent);z-index:2;pointer-events:none}.nav__bead{position:absolute;top:5px;left:8px;width:calc((100% - 16px)/4);height:7px;display:flex;justify-content:center;transition:transform .28s var(--ease-spring);will-change:transform;z-index:3;pointer-events:none}.nav__bead:after{content:"";width:7px;height:7px;border-radius:50%;background:var(--brand)}.nav__icon{display:flex;transition:transform var(--dur) var(--ease-spring)}.nav__item--active .nav__icon{transform:translateY(-1px) scale(1.08)}.nav__badge{position:absolute;top:2px;right:50%;margin-right:-22px}.tile--tap{width:100%;border:none;text-align:left;font:inherit;color:inherit}.notif__avawrap{position:relative;flex-shrink:0}.notif__badge{position:absolute;right:-2px;bottom:-2px;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;color:#fff;border:2px solid var(--card)}.notif__badge--match{background:var(--brand)}.notif__badge--msg{background:var(--online, #34c759)}.notif__icon{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;flex-shrink:0}.notif__icon--brand{background:color-mix(in srgb,var(--brand) 16%,transparent);color:var(--brand)}.notif__chev{flex-shrink:0;color:var(--text-3)}.rate-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0}.rate-row+.rate-row{border-top:1px solid var(--hairline)}.rate-row__label{font-weight:600}.stars{display:flex;gap:4px}.stars__btn{border:none;background:transparent;color:var(--text-3);padding:2px;line-height:0}.stars__btn--on{color:var(--star)}.ratestat{display:flex;align-items:center;gap:10px;padding:8px 0}.ratestat+.ratestat{border-top:1px solid var(--hairline)}.ratestat__label{width:96px;flex-shrink:0;color:var(--text-2);font-size:var(--t-secondary)}.ratestat__bar{flex:1;height:6px;border-radius:3px;background:var(--bg-elev);overflow:hidden}.ratestat__fill{height:100%;border-radius:3px;background:var(--star)}.ratestat__val{width:34px;text-align:right;font-weight:700;font-variant-numeric:tabular-nums}.notif__group{font-size:var(--t-caption);font-weight:700;letter-spacing:.06em;color:var(--text-3);padding:6px 4px}.notif__readall{border:none;background:transparent;color:var(--brand);font-weight:600;font-size:15px;padding:0}.notif-row{display:flex;align-items:center;gap:12px;width:100%;text-align:left;border:none;background:var(--card);color:inherit;font:inherit;padding:12px 14px;border-radius:var(--r-lg)}.notif-row:active{background:var(--bg-elev)}.notif-row__body{flex:1;min-width:0}.notif-row__title{display:block;font-weight:600}.notif-row__sub{display:block;color:var(--text-2);font-size:var(--t-secondary);margin-top:1px}.notif-row__meta{flex-shrink:0;display:flex;flex-direction:column;align-items:flex-end;gap:8px}.notif-row__time{font-size:var(--t-caption);color:var(--text-3)}.notif-row__dot{width:9px;height:9px;border-radius:50%;background:var(--brand)}.notif__icon--star{background:color-mix(in srgb,var(--star) 18%,transparent);color:var(--star)}.notif__icon--event{background:color-mix(in srgb,var(--success, #2BB673) 18%,transparent);color:var(--success, #2BB673)}
