@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-ext-wght-normal-X_5orZeX.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-wght-normal-DiZS0aHC.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-symbols2-wght-normal-CO5SzqOn.woff2) format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-vietnamese-wght-normal-DadHysG0.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-ext-wght-normal-Bwz-egvJ.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-wght-normal-XN7g48iV.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Instrument Serif";font-style:italic;font-display:swap;font-weight:400;src:url(/assets/instrument-serif-latin-400-italic-DKMiL14s.woff2) format("woff2"),url(/assets/instrument-serif-latin-400-italic-u__WvvIK.woff) format("woff")}@font-face{font-family:"Instrument Serif";font-style:italic;font-display:swap;font-weight:400;src:url(/assets/instrument-serif-latin-ext-400-italic-C9HzH3YL.woff2) format("woff2"),url(/assets/instrument-serif-latin-ext-400-italic-D7-lnxEk.woff) format("woff")}:root{color-scheme:light;--bg: #f3efe8;--bg-2: #ebe5dc;--surface: #fbf9f5;--surface-2: #ebe5dc;--ink: #16130f;--muted: #6f685f;--faint: #a39b90;--line: rgb(22 19 15 / .1);--accent: #d44d70;--accent-ink: #b8395d;--brand: #c9436a;--on-brand: #fff;--tint: rgb(212 77 112 / .08);--heart-off: #e8dcd2;--heart-off-line: #cdb8af;--grad: linear-gradient(135deg, #f7a1b2 0%, #d44d70 48%, #a8345a 100%);--scrim: rgb(22 19 15 / .32);--shadow: 0 18px 50px rgb(22 19 15 / .1);--shadow-sm: 0 6px 18px rgb(22 19 15 / .06);--toast: #16130f;--toast-ink: #f3efe8;--font: "Geist Variable", -apple-system, BlinkMacSystemFont, system-ui, "PingFang SC", sans-serif;--mono: "Geist Mono Variable", ui-monospace, "SF Mono", Menlo, monospace;--serif: "Instrument Serif", "Times New Roman", serif;--ease: cubic-bezier(.2, .9, .25, 1);--spring: cubic-bezier(.34, 1.56, .64, 1);--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg: #0d0c0b;--bg-2: #151311;--surface: #171513;--surface-2: #221f1c;--ink: #f3eee6;--muted: #a59d92;--faint: #6e675e;--line: rgb(243 238 230 / .1);--accent-ink: #ef8aa4;--tint: rgb(212 77 112 / .12);--heart-off: #2a2522;--heart-off-line: #4a3f3a;--scrim: rgb(0 0 0 / .55);--shadow: 0 18px 50px rgb(0 0 0 / .45);--shadow-sm: 0 6px 18px rgb(0 0 0 / .3);--toast: #f3eee6;--toast-ink: #16130f}}:root[data-theme=dark]{color-scheme:dark;--bg: #0d0c0b;--bg-2: #151311;--surface: #171513;--surface-2: #221f1c;--ink: #f3eee6;--muted: #a59d92;--faint: #6e675e;--line: rgb(243 238 230 / .1);--accent-ink: #ef8aa4;--tint: rgb(212 77 112 / .12);--heart-off: #2a2522;--heart-off-line: #4a3f3a;--scrim: rgb(0 0 0 / .55);--shadow: 0 18px 50px rgb(0 0 0 / .45);--shadow-sm: 0 6px 18px rgb(0 0 0 / .3);--toast: #f3eee6;--toast-ink: #16130f}*,*:before,*:after{box-sizing:border-box}[hidden]{display:none!important}html,body{margin:0;height:100%;background:var(--bg);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;touch-action:pan-x pan-y;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{overflow:hidden;font-size:15px;line-height:1.4}button,input,select,textarea{font:inherit;color:inherit}input,select,textarea{font-size:max(16px,1em)}button{cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:manipulation}button:disabled{cursor:default}a{color:var(--accent-ink)}h1,h2,h3,p{margin:0}img{display:block}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.ac-icon{width:1.25em;height:1.25em;display:block}.icon-wrap{display:inline-grid;place-items:center}.kicker{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-ink)}.backdrop{position:fixed;inset:0;pointer-events:none;overflow:hidden}.backdrop i{position:absolute;width:70vmax;height:70vmax;border-radius:50%;filter:blur(60px);opacity:.55}.backdrop i:first-child{top:-35vmax;left:-25vmax;background:radial-gradient(circle,rgb(212 77 112 / .22),transparent 65%)}.backdrop i:last-child{bottom:-40vmax;right:-30vmax;background:radial-gradient(circle,rgb(168 52 90 / .18),transparent 65%)}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:0 22px;border-radius:16px;border:0;font-weight:750;font-size:16px;transition:transform .18s var(--ease),opacity .2s,box-shadow .25s}.primary{background:var(--grad);color:#fff;box-shadow:0 10px 26px #d44d7052}.primary .ac-icon{width:20px;height:20px}.secondary{background:var(--surface-2);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line)}.secondary.small,.primary.small{min-height:36px;padding:0 14px;font-size:14px;border-radius:12px}.primary.big{width:100%;min-height:58px;border-radius:18px;font-size:17px}.primary:active,.secondary:active{transform:scale(.97)}.primary:disabled,.secondary:disabled{opacity:.45;box-shadow:none}.text-btn{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 10px;border:0;background:none;color:var(--muted);font-weight:650}.text-btn.danger{color:#e0475e}.text-btn.centered{display:flex;margin:6px auto 0}.icon-btn{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:50%;border:0;background:var(--surface-2);color:var(--ink);flex:0 0 auto;transition:transform .18s var(--ease)}.icon-btn:active{transform:scale(.92)}.icon-btn .ac-icon{width:20px;height:20px}.avatar{position:relative;display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;overflow:hidden;flex:0 0 auto;vertical-align:middle;color:#fff;font-weight:800;font-size:15px;background:var(--grad)}.avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:photo-reveal .24s ease both}@keyframes photo-reveal{0%{opacity:0}to{opacity:1}}#person-photo{animation:photo-reveal .24s ease both}.join-check{width:min(360px,calc(100vw - 8px));max-height:calc(100dvh - 32px);padding:24px 4px 16px;border:1px solid var(--line);border-radius:24px;color:var(--ink);background:var(--bg);text-align:center}.join-check[open]{animation:check-reveal .22s ease both}.join-check[open].closing{animation:check-reveal .18s ease reverse both}.join-check::backdrop{background:#0000006b;animation:photo-reveal .22s ease both}.join-check.closing::backdrop{animation:photo-reveal .18s ease reverse both}.join-check h2{margin:0 0 16px;font-size:24px}.join-check-widget{min-height:65px;width:100%}.join-check .text-btn{margin-top:16px}@keyframes check-reveal{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){.avatar img,#person-photo,.join-check[open],.join-check[open].closing,.join-check::backdrop,.join-check.closing::backdrop{animation:none}}.avatar.big{width:64px;height:64px;font-size:22px}.avatar.xl{width:96px;height:96px;font-size:32px}.boot{position:fixed;inset:0;z-index:90;display:grid;place-items:center;background:var(--bg);transition:opacity .45s}.boot.gone{opacity:0;pointer-events:none}.boot-heart{width:64px;height:64px;color:var(--accent);animation:beat 1.2s var(--ease) infinite}.boot-heart .ac-icon{width:100%;height:100%}@keyframes beat{0%,to{transform:scale(1)}15%{transform:scale(1.12)}30%{transform:scale(.98)}45%{transform:scale(1.06)}}.app{position:fixed;inset:0;display:flex;flex-direction:column;padding-top:var(--safe-top)}.topbar,.on-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;position:relative;z-index:2}.wordmark{display:inline-flex;align-items:center;gap:7px;font-size:20px;font-weight:850;letter-spacing:-.035em}.wordmark-mark{width:24px;height:24px;color:var(--accent)}.wordmark-mark .ac-icon{width:100%;height:100%}.me-btn{display:grid;width:40px;height:40px;padding:0;border:0;background:none;border-radius:50%;box-shadow:0 0 0 2px var(--bg),0 0 0 3.5px var(--line);transition:transform .18s var(--ease)}.me-btn:active{transform:scale(.92)}.me-btn .avatar{width:40px;height:40px}.stage{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:0 20px calc(110px + var(--safe-bottom));min-height:0}.radar{position:relative;width:min(84vw,380px,48dvh);aspect-ratio:1;display:grid;place-items:center;margin-bottom:6px}.radar .ring,.welcome-art .ring{position:absolute;border-radius:50%;border:1px solid var(--line);pointer-events:none;transition:border-color 1.4s}.ring-1{inset:32%}.ring-2{inset:18%}.ring-3{inset:3%}.radar .wave,.welcome-art .wave{position:absolute;inset:3%;border-radius:50%;border:2px solid var(--accent);background:radial-gradient(circle,transparent 55%,rgb(212 77 112 / .08));opacity:0;transform:scale(.35);pointer-events:none}.is-live .radar .wave{animation:ping 5.4s cubic-bezier(.2,.5,.35,1) 1.1s infinite}.is-live .radar .wave-2{animation-delay:2.9s}.is-live .radar .wave-3{animation-delay:4.7s}.is-live .radar .ring{border-color:#d44d7029}@keyframes ping{0%{opacity:.7;transform:scale(.34)}to{opacity:0;transform:scale(1.04)}}.heart{position:relative;z-index:2;width:46%;aspect-ratio:1;padding:0;border:0;background:none;border-radius:50%;-webkit-tap-highlight-color:transparent;transition:transform .7s cubic-bezier(.34,1.4,.64,1)}.heart:active{transform:scale(.93);transition:transform .28s ease-out}.heart-level{transform:translateY(21px);transition:transform .9s cubic-bezier(.55,0,.45,1)}.heart.locating .heart-level{transform:translateY(14px);transition-duration:1.4s}.heart.on .heart-level{transform:translateY(.6px);transition-duration:1.25s}.heart-liquid{fill:url(#heartOn);animation:slosh var(--slosh, 2.6s) linear infinite}@keyframes slosh{to{transform:translate(-12px)}}.heart-svg{display:block;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 14px 22px rgb(120 20 80 / .12));transition:filter 1.2s}.heart-body{fill:var(--heart-off);stroke:var(--heart-off-line);stroke-width:.6;transition:fill .45s,stroke .45s}.heart-gloss{fill:url(#heartShine);opacity:.6}.heart-spark{fill:none;stroke:#fff;stroke-width:.9;stroke-linecap:round;opacity:.8}.heart.on .heart-body{stroke:transparent;transition:stroke .6s .7s}.heart.on .heart-svg{filter:drop-shadow(0 16px 30px rgb(212 77 112 / .45));animation:breathe 4.2s ease-in-out 1.2s infinite}.heart.locating .heart-svg{animation:seek 1.8s ease-in-out infinite}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.045)}}@keyframes seek{0%,to{transform:scale(.96);opacity:.9}50%{transform:scale(1.04);opacity:1}}.orbit{position:absolute;inset:0;z-index:3;pointer-events:none}.orb{position:absolute;width:54px;height:54px;padding:0;border:0;border-radius:50%;overflow:hidden;display:grid;place-items:center;color:#fff;font-weight:800;pointer-events:auto;translate:-50% -50%;box-shadow:0 0 0 3px var(--bg),0 0 0 5px var(--accent),var(--shadow-sm);animation:pop-in .55s var(--spring) both;animation-delay:calc(var(--i, 0) * 90ms)}.orb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.orb.more{background:var(--surface)!important;color:var(--accent-ink);box-shadow:0 0 0 3px var(--bg),0 0 0 4.5px var(--line);font-size:14px}@keyframes pop-in{0%{opacity:0;scale:.3}to{opacity:1;scale:1}}.status{text-align:center;min-height:72px}.status h1{font-size:clamp(30px,9vw,38px);font-weight:850;letter-spacing:-.045em;line-height:1.05}.is-live .status h1{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.status p{margin-top:6px;color:var(--muted);font-size:15px}.status.flash h1{animation:flash .5s var(--spring)}@keyframes flash{0%{transform:scale(.92);opacity:.4}to{transform:scale(1);opacity:1}}.chip{display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 14px;border-radius:99px;border:0;background:var(--surface);color:var(--muted);font-size:13px;font-weight:750;box-shadow:inset 0 0 0 1px var(--line),var(--shadow-sm)}.home-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.peek{gap:8px;padding:0 14px 0 4px;color:var(--ink)}.peek-faces{display:flex}.peek-faces .avatar{width:28px;height:28px;font-size:11px;box-shadow:0 0 0 2px var(--surface)}.peek-faces .avatar+.avatar{margin-left:-10px}.peek-faces img{transition:filter .4s}.peek.fresh{color:var(--accent-ink);box-shadow:inset 0 0 0 1.5px var(--accent),0 6px 20px #d44d7047;animation:peek-glow 2.6s ease-in-out infinite}.peek.fresh .peek-faces img{filter:blur(4px) saturate(1.3)}@keyframes peek-glow{50%{box-shadow:inset 0 0 0 1.5px var(--accent),0 6px 28px #d44d7080}}.empty-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:10px}.empty-actions button{margin-top:0}.msg-status{align-self:flex-end;margin:2px 4px 0;color:var(--faint);font-size:11.5px;font-weight:700}.chip .ac-icon{width:17px;height:17px;color:var(--accent)}.dock{position:fixed;z-index:5;left:50%;bottom:calc(14px + var(--safe-bottom));translate:-50% 0;display:flex;gap:4px;padding:6px;border-radius:26px;background:color-mix(in srgb,var(--surface) 86%,transparent);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);box-shadow:inset 0 0 0 1px var(--line),var(--shadow)}.dock-btn{display:flex;align-items:center;gap:8px;height:52px;padding:0 20px;border:0;border-radius:20px;background:none;color:var(--muted);font-weight:750;font-size:15px;transition:background .25s,color .25s,transform .18s var(--ease)}.dock-btn:active{transform:scale(.95)}.dock-ico{position:relative;display:grid}.dock-ico .ac-icon{width:24px;height:24px}.badge{min-width:20px;height:20px;margin-left:-2px;padding:0 6px;border-radius:10px;background:var(--accent);color:#fff;font-size:11.5px;font-weight:850;line-height:20px;text-align:center}.badge[hidden]{display:none}.badge.pop{animation:pop-in .45s var(--spring)}.scrim{position:fixed;inset:0;z-index:20;background:var(--scrim);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);opacity:0;pointer-events:none;transition:opacity .35s}.scrim.show{opacity:1;pointer-events:auto}.sheet{position:fixed;z-index:30;left:0;right:0;bottom:0;margin:0 auto;max-width:560px;max-height:calc(100dvh - var(--safe-top) - 24px);display:flex;flex-direction:column;gap:14px;padding:10px 20px calc(22px + var(--safe-bottom));border-radius:30px 30px 0 0;background:var(--surface);box-shadow:0 -10px 60px #0000002e;overflow-y:auto;overscroll-behavior:contain;transform:translateY(105%);visibility:hidden;transition:transform .46s var(--ease),visibility 0s linear .46s}.sheet.open{transform:none;visibility:visible;transition:transform .46s var(--ease),visibility 0s}.sheet.tall{height:calc(100dvh - var(--safe-top) - 24px)}.sheet.full{top:0;max-height:none;height:100dvh;border-radius:0;padding:0;gap:0}.grab{width:40px;height:5px;margin:0 auto 2px;border-radius:3px;background:var(--line);flex:0 0 auto}.sheet-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.sheet h2{font-size:28px;font-weight:850;letter-spacing:-.04em;line-height:1.1}.sheet-sub{margin-top:4px;color:var(--muted);font-size:14px}.count{display:inline-grid;place-items:center;min-width:28px;height:28px;padding:0 8px;margin-left:4px;vertical-align:5px;border-radius:14px;background:var(--tint);color:var(--accent-ink);font-size:14px;letter-spacing:0}.hint,.note{color:var(--muted);font-size:13px;text-align:center}.radius-big{text-align:center;font-size:64px;font-weight:850;letter-spacing:-.05em;line-height:1;font-variant-numeric:tabular-nums}.radius-big small{font-size:22px;margin-left:4px;color:var(--muted);letter-spacing:0}.range{--p: 50%;width:100%;margin:0;height:34px;appearance:none;-webkit-appearance:none;background:transparent}.range::-webkit-slider-runnable-track{height:8px;border-radius:4px;background:linear-gradient(90deg,var(--accent) var(--p),var(--surface-2) var(--p))}.range::-moz-range-track{height:8px;border-radius:4px;background:linear-gradient(90deg,var(--accent) var(--p),var(--surface-2) var(--p))}.range::-webkit-slider-thumb{-webkit-appearance:none;width:30px;height:30px;margin-top:-11px;border-radius:50%;background:#fff;border:0;box-shadow:0 0 0 1px #0000000f,0 4px 14px #00000038}.range::-moz-range-thumb{width:30px;height:30px;border-radius:50%;background:#fff;border:0;box-shadow:0 4px 14px #00000038}.ticks{display:flex;justify-content:space-between;margin-top:-8px;color:var(--faint);font-size:12px;font-weight:700}.ticks span:nth-child(2){margin-left:8%}.empty-state{display:flex;flex-direction:column;align-items:center;gap:8px;margin:auto 0;padding:30px 12px;text-align:center}.empty-state h3{font-size:20px;font-weight:800;letter-spacing:-.02em}.empty-state p{color:var(--muted);max-width:300px}.empty-state button{margin-top:10px}.empty-heart,.empty-art{display:grid;place-items:center;width:76px;height:76px;margin-bottom:6px;border-radius:26px;background:var(--tint);color:var(--accent)}.empty-heart .ac-icon,.empty-art .ac-icon{width:36px;height:36px}.empty-art.pulse{animation:breathe 2.4s ease-in-out infinite}.people{display:grid;gap:10px}.person-card{display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 12px;padding:12px;border-radius:22px;background:var(--surface-2);animation:none}@keyframes rise{0%{opacity:0;transform:translateY(14px)}}.card-top{display:flex;align-items:center;gap:12px;min-width:0;cursor:pointer}.card-top .avatar{width:62px;height:62px;border-radius:20px;font-size:20px}.card-copy{display:flex;flex-direction:column;min-width:0}.card-copy strong{font-size:18px;font-weight:800;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-copy strong small{margin-left:6px;font-weight:600;color:var(--muted)}.card-copy>span{color:var(--muted);font-size:13px}.card-where{grid-column:1 / -1;padding:0 4px;color:var(--ink);font-size:13.5px;font-weight:650}.card-bio{grid-column:1 / -1;padding:2px 4px 0;color:var(--muted);font-size:14px}.crush-mini{grid-column:2;grid-row:1;display:inline-flex;align-items:center;gap:6px;height:42px;padding:0 16px;border:0;border-radius:14px;background:var(--grad);color:#fff;font-weight:750;box-shadow:0 8px 20px #d44d7047;transition:transform .18s var(--ease)}.crush-mini:active{transform:scale(.94)}.crush-mini .ac-icon{width:17px;height:17px}.crush-mini.sent{background:var(--surface);color:var(--accent-ink);box-shadow:inset 0 0 0 1.5px #d44d7059}.crush-mini.matched{background:var(--ink);color:var(--bg);box-shadow:none}.crush-mini.incoming{animation:glow 1.8s ease-in-out infinite}@keyframes glow{50%{box-shadow:0 8px 30px #d44d708c}}.person-sheet{padding:0 0 calc(18px + var(--safe-bottom));gap:0}.person-hero{position:relative;flex:0 0 auto;height:min(58dvh,480px);overflow:hidden;border-radius:30px 30px 0 0}.person-hero img{width:100%;height:100%;object-fit:cover}.person-hero:after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#0a040ebf);pointer-events:none}.person-initial{position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:84px;font-weight:850}.icon-btn.on-photo{position:absolute;z-index:2;top:14px;right:14px;background:#00000052;color:#fff;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.person-identity{position:absolute;z-index:1;left:20px;right:20px;bottom:18px;color:#fff}.person-identity .kicker{color:#ffd1e2}.person-identity h2{margin-top:2px;font-size:36px}.person-identity h2 small{font-size:26px;font-weight:600;opacity:.85}.person-dist{font-size:14px;opacity:.9;white-space:pre-line}.person-body{display:flex;flex-direction:column;gap:12px;padding:16px 20px 0}.person-locale{color:var(--muted);font-size:14px}.person-bio{font-size:16px}.person-bio:empty{display:none}#crush-btn.sent{background:var(--surface-2);color:var(--accent-ink);box-shadow:inset 0 0 0 1.5px #d44d7059}#crush-btn.matched{background:var(--grad);color:#fff;box-shadow:0 10px 26px #d44d7052}.person-safety{display:flex;justify-content:center;gap:8px;padding-top:4px;border-top:1px solid var(--line)}.spark-list{display:flex;flex-direction:column;gap:20px;flex:1}.spark-section{display:flex;flex-direction:column;gap:8px}.spark-section-head{display:flex;justify-content:space-between;padding:0 4px;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}.spark-card,.spark-row,.blocked-card{display:flex;align-items:center;gap:10px;padding:10px;border-radius:20px;background:var(--surface-2);border:0;text-align:left;animation:none}.spark-card.incoming{flex-wrap:wrap;row-gap:10px;background:var(--tint);box-shadow:inset 0 0 0 1.5px #d44d7047}.spark-card.incoming .spark-actions{flex:1 0 100%}.spark-card.incoming .spark-action{flex:1;justify-content:center;height:42px}.spark-card.incoming .spark-action.block{flex:0 0 42px}.spark-person{display:flex;align-items:center;gap:12px;flex:1;min-width:0;padding:0;border:0;background:none;text-align:left}.spark-person .avatar,.spark-row .avatar,.blocked-card .avatar{width:52px;height:52px;border-radius:18px}.spark-copy,.blocked-copy{display:flex;flex-direction:column;min-width:0;flex:1}.spark-copy strong,.blocked-copy strong{font-size:16px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.spark-copy strong small,.blocked-copy strong small{margin-left:5px;color:var(--muted);font-weight:600}.spark-flag{margin-left:5px}.spark-sub,.spark-preview,.blocked-copy span{color:var(--muted);font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.spark-row{width:100%;color:var(--ink);cursor:pointer}.spark-time{color:var(--faint);font-size:12px;font-weight:650}.unread-pill{min-width:22px;height:22px;padding:0 7px;border-radius:11px;background:var(--accent);color:#fff;font-size:12px;font-weight:850;line-height:22px;text-align:center}.spark-actions{display:flex;gap:6px;flex:0 0 auto}.spark-action{display:inline-flex;align-items:center;gap:5px;height:38px;padding:0 12px;border:0;border-radius:12px;background:var(--surface);color:var(--ink);font-size:14px;font-weight:750;box-shadow:inset 0 0 0 1px var(--line)}.spark-action .ac-icon{width:17px;height:17px}.spark-action.match{background:var(--grad);color:#fff;box-shadow:none}.spark-action.block{width:38px;padding:0;justify-content:center;color:var(--muted)}.switch{position:relative;flex:0 0 auto;width:52px;height:32px;padding:0;border:0;border-radius:16px;background:var(--line);transition:background .25s}.switch .knob{position:absolute;top:3px;left:3px;width:26px;height:26px;border-radius:50%;background:#fff;box-shadow:0 2px 6px #0003;transition:transform .25s var(--spring)}.switch[aria-checked=true]{background:var(--brand)}.switch[aria-checked=true] .knob{transform:translate(20px)}.switch:disabled{opacity:.5}.ghosted-link{display:inline-flex;align-items:center;align-self:center;gap:7px;height:40px;padding:0 16px;border:0;border-radius:20px;background:var(--surface-2);color:var(--muted);font-weight:700}.tool-count{color:var(--faint)}.ghost-btn{height:36px;padding:0 14px;border:0;border-radius:12px;background:var(--surface);color:var(--ink);font-weight:700;box-shadow:inset 0 0 0 1px var(--line)}.chat-head{display:flex;align-items:center;gap:10px;padding:calc(10px + var(--safe-top)) 14px 10px;border-bottom:1px solid var(--line)}.chat-head .avatar{width:42px;height:42px}.chat-head-copy{flex:1;min-width:0}.chat-head-copy h2{font-size:18px;letter-spacing:-.02em}#chat-meta{color:var(--accent-ink);font-size:12.5px;font-weight:700}.chat-messages{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:4px;padding:16px 14px}.chat-spacer{flex:1}.msg-time{align-self:center;margin:10px 0 4px;color:var(--faint);font-size:11.5px;font-weight:700}.msg{max-width:78%;padding:10px 14px;border-radius:20px;font-size:15.5px;white-space:pre-wrap;overflow-wrap:anywhere;animation:rise .25s var(--ease) both}.msg.me{align-self:flex-end;background:var(--grad);color:#fff;border-bottom-right-radius:6px}.msg.them{align-self:flex-start;background:var(--surface-2);border-bottom-left-radius:6px}.msg.pending{opacity:.6}.msg.failed{opacity:.7;box-shadow:inset 0 0 0 1.5px #e0475e}.msg.failed:after{content:attr(data-status);display:block;font-size:11px;margin-top:3px}.chat-empty{margin:auto;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;padding:20px}.chat-empty h3{font-size:22px;font-weight:850;letter-spacing:-.03em}.chat-empty p{color:var(--muted)}.chat-suggestions{padding:0 14px 8px}.chat-chips{display:flex;gap:8px;overflow-x:auto;padding:8px 0 2px;scrollbar-width:none}.chat-chips::-webkit-scrollbar{display:none}.chat-chip{flex:0 0 auto;height:38px;padding:0 14px;border:0;border-radius:19px;background:var(--tint);color:var(--accent-ink);font-weight:650;font-size:14px}.chat-form{display:flex;gap:8px;padding:10px 12px calc(10px + var(--safe-bottom));border-top:1px solid var(--line);background:var(--surface)}.chat-form input{flex:1;min-width:0;height:46px;padding:0 16px;border:0;border-radius:23px;background:var(--surface-2);font-size:16px;outline:none}.send-btn{width:46px;height:46px;border:0;border-radius:50%;background:var(--grad);color:#fff;display:grid;place-items:center;flex:0 0 auto}.send-btn .ac-icon{width:21px;height:21px}.form{display:flex;flex-direction:column;gap:14px}.form label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:700;color:var(--muted)}.form small{font-weight:500;color:var(--faint)}.form input:not([type=checkbox]),.form select,.form textarea{width:100%;min-height:48px;padding:12px 14px;border:0;border-radius:14px;background:var(--surface-2);color:var(--ink);font-size:16px;font-weight:600;outline:none;box-shadow:inset 0 0 0 1px var(--line)}.form textarea{resize:vertical}.form input:focus,.form select:focus,.form textarea:focus{box-shadow:inset 0 0 0 2px var(--accent)}.form-grid{display:grid;grid-template-columns:1fr 96px;gap:10px}.check-row{flex-direction:row!important;align-items:center;gap:10px!important;color:var(--ink)!important;font-size:15px!important}.check-row input{width:20px;height:20px;accent-color:var(--accent)}.edit-photo{align-self:center;align-items:center;cursor:pointer}.edit-photo em{font-style:normal;color:var(--accent-ink)}.choice-label{margin:4px 0 8px;font-size:13px;font-weight:800;color:var(--muted)}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%}.choice-grid button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:0 12px;border:0;border-radius:16px;background:var(--surface-2);color:var(--ink);font-weight:700;box-shadow:inset 0 0 0 1px var(--line);transition:background .2s,box-shadow .2s,color .2s,transform .18s var(--ease)}.choice-grid button:active{transform:scale(.96)}.choice-grid button[aria-pressed=true]{background:var(--tint);color:var(--accent-ink);box-shadow:inset 0 0 0 2px var(--accent)}.choice-grid.checks button{justify-content:flex-start;font-weight:650}.check{width:20px;height:20px;border-radius:7px;box-shadow:inset 0 0 0 1.5px var(--faint);flex:0 0 auto;display:grid;place-items:center;transition:background .2s}[aria-pressed=true] .check{background:var(--grad);box-shadow:none}[aria-pressed=true] .check:after{content:"";width:9px;height:5px;border:solid #fff;border-width:0 0 2px 2px;transform:translateY(-1px) rotate(-45deg)}.choice-hint{margin-top:10px;color:var(--muted);font-size:13px;text-align:center}.me-card{display:flex;align-items:center;gap:14px;padding:14px;border-radius:22px;background:var(--surface-2)}.me-card .avatar{border-radius:22px}.me-copy{display:flex;flex-direction:column;flex:1;min-width:0}.me-copy strong{font-size:20px;font-weight:850;letter-spacing:-.02em}.me-copy span{color:var(--muted);font-size:13px}.rows{display:flex;flex-direction:column;border-radius:20px;background:var(--surface-2);overflow:hidden}.row{display:flex;align-items:center;gap:12px;width:100%;min-height:56px;padding:10px 14px;border:0;background:none;color:var(--ink);text-align:left;font-size:15px}.row+.row{border-top:1px solid var(--line)}.row-ico{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:var(--tint);color:var(--accent-ink);flex:0 0 auto}.row-ico .ac-icon{width:18px;height:18px}.row-copy{display:flex;flex-direction:column;flex:1;min-width:0}.row-copy strong{font-weight:700}.row-copy small{color:var(--muted);font-size:12.5px}.row-value{color:var(--muted);font-weight:650;text-align:right}.row select{max-width:48%;border:0;background:none;color:var(--muted);font-weight:650;text-align:right}.privacy-row{display:block;padding:0}.privacy-row summary{display:flex;align-items:center;gap:12px;min-height:56px;padding:10px 14px;list-style:none;cursor:pointer}.privacy-row summary::-webkit-details-marker{display:none}.privacy-row p{padding:0 14px 14px 58px;color:var(--muted);font-size:13.5px}.legal-links{text-align:center;font-size:13px;color:var(--faint)}.legal-links a{color:var(--muted);text-decoration:none;font-weight:650}.onboarding{position:fixed;inset:0;z-index:10;display:flex;flex-direction:column;padding-top:var(--safe-top);overflow:hidden;background:var(--bg)}.on-top .icon-btn{position:absolute;left:14px}.on-top .wordmark{margin:0 auto}.lang-select{position:absolute;right:14px;height:34px;padding:0 8px;border:0;border-radius:10px;background:var(--surface-2);color:var(--muted);font-size:13px;font-weight:700}.on-track{position:relative;flex:1;min-height:0}.on-step{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:12px 24px calc(28px + var(--safe-bottom));max-width:480px;margin:0 auto;text-align:center;overflow-y:auto;opacity:0;transform:translate(48px);pointer-events:none;transition:opacity .35s,transform .5s var(--ease)}.on-step.active{opacity:1;transform:none;pointer-events:auto}.on-step.back{transform:translate(-48px)}.on-step h1{font-size:clamp(34px,10vw,44px);font-weight:850;letter-spacing:-.05em;line-height:1.02}.on-step h1 em{font-style:normal;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.on-sub{max-width:330px;color:var(--muted);font-size:16px}.on-error{color:#e0475e;font-weight:650;font-size:14px}.on-hint{color:var(--muted);font-size:13px}.fine{position:absolute;left:0;right:0;bottom:calc(16px + var(--safe-bottom));color:var(--faint);font-size:12px}.fine a{color:inherit}.heart-next{flex:0 0 auto;width:84px;height:84px;margin-top:8px;padding:0;border:0;background:none;-webkit-tap-highlight-color:transparent;transition:transform .2s var(--spring),opacity .25s}.heart-next svg{display:block;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 10px 18px rgb(212 77 112 / .32));transition:filter .3s}.hn-shell{fill:var(--heart-off);stroke:var(--heart-off-line);stroke-width:.6}.hn-level{transform:translateY(calc(20.4px - var(--fill) * 16px));transition:transform .7s cubic-bezier(.2,.8,.25,1)}.hn-arrow,.hn-arrow-edge{fill:none;stroke-linecap:round;stroke-linejoin:round;transition:opacity .3s}.hn-arrow-edge{stroke:var(--accent);stroke-width:2.3}.hn-arrow{stroke:#fff;stroke-width:1.2}.heart-next:not(:disabled){animation:beat 1.8s var(--ease) infinite}.heart-next:not(:disabled):active{animation:none;transform:scale(.86)}.heart-next:disabled svg{filter:none}.heart-next:disabled .hn-level{transform:translateY(calc(20.4px - var(--from) * 16px))}.heart-next:disabled .hn-arrow,.heart-next:disabled .hn-arrow-edge{opacity:0}.welcome-art{position:relative;width:min(68vw,280px,36dvh);aspect-ratio:1;display:grid;place-items:center;margin-bottom:8px;transform:perspective(700px) rotateX(var(--tilt-x, 0deg)) rotateY(var(--tilt-y, 0deg));transition:transform .4s var(--ease)}.welcome-art .wave{animation:ping 3.4s cubic-bezier(.1,.6,.3,1) infinite}.welcome-art .wave-2{animation-delay:1.7s}.welcome-heart:not(.on) .heart-svg{animation:breathe 2.4s ease-in-out infinite}.welcome-heart.on .heart-body{fill:url(#welcomeOn)}.welcome-heart .heart-gloss{fill:url(#welcomeShine)}.onboarding.is-live .welcome-art .wave{animation-duration:1.6s}.tap-hint{min-height:1.4em;color:var(--accent-ink);font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.on-step .say{align-self:stretch;margin:6px 0 0;font-size:26px;font-weight:850;letter-spacing:-.03em;text-align:left}.name-field{width:100%;max-width:340px}.name-field input{width:100%;padding:10px 0;border:0;border-bottom:2.5px solid var(--line);background:none;text-align:center;font-size:34px;font-weight:800;letter-spacing:-.03em;outline:none;transition:border-color .25s}.name-field input:focus{border-color:var(--accent)}.name-field input::placeholder{color:var(--faint);opacity:.6}.onboarding.keyboard-open .on-step{justify-content:flex-start;padding-top:24px}.wheel{position:relative;height:min(268px,34dvh);width:190px;overflow-y:scroll;scroll-snap-type:y mandatory;scrollbar-width:none;outline:none;user-select:none;-webkit-user-select:none;touch-action:pan-y;mask-image:linear-gradient(180deg,transparent,#000 25%,#000 75%,transparent);-webkit-mask-image:linear-gradient(180deg,transparent,#000 25%,#000 75%,transparent)}.wheel::-webkit-scrollbar{display:none}.wheel:before{content:"";position:sticky;display:block;top:calc(50% - 30px);height:60px;margin-bottom:-60px;border-radius:18px;background:var(--tint);pointer-events:none}.wheel-pad{height:calc(min(268px,34dvh)/2 - 32px)}.wheel-item{display:grid;place-items:center;width:100%;height:64px;border:0;background:none;scroll-snap-align:center;color:var(--faint);font-size:34px;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.03em}.wheel-item.active{color:var(--accent-ink)}.photo-pick{position:relative;width:180px;height:180px;margin:6px 0 10px;cursor:pointer}.photo-preview{display:grid;place-items:center;width:100%;height:100%;border-radius:56px;overflow:hidden;background:var(--surface-2);color:var(--faint);box-shadow:inset 0 0 0 2px var(--line)}.photo-preview>.ac-icon,.photo-preview>.icon-wrap .ac-icon{width:64px;height:64px}.photo-preview img{width:100%;height:100%;object-fit:cover}.photo-plus{position:absolute;right:-4px;bottom:-4px;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--grad);color:#fff;box-shadow:0 0 0 4px var(--bg),0 8px 18px #d44d7059}.photo-plus .ac-icon{width:24px;height:24px}.picker{position:fixed;inset:0;z-index:60;display:flex;flex-direction:column;gap:10px;padding:calc(12px + var(--safe-top)) 16px 0;background:var(--bg)}.picker-head{display:flex;align-items:center;gap:12px}.picker-head h2{flex:1;font-size:22px;font-weight:850;letter-spacing:-.03em}.picker-current{font-size:28px}.picker-hint{color:var(--muted);font-size:13px}.search-field input{width:100%;height:46px;padding:0 16px;border:0;border-radius:14px;background:var(--surface-2);font-size:16px;outline:none}.locale-list{flex:1;overflow-y:auto;padding-bottom:calc(20px + var(--safe-bottom))}.locale-group{margin-bottom:14px}.locale-group-title{margin:8px 6px;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}.locale-option{display:flex;align-items:center;gap:12px;width:100%;min-height:54px;padding:8px 10px;border:0;border-radius:14px;background:none;text-align:left}.locale-option.selected{background:var(--tint)}.locale-option .flag{font-size:26px}.lang-code{display:grid;place-items:center;width:38px;height:30px;border-radius:8px;background:var(--surface-2);font-size:12px;font-weight:800;text-transform:uppercase}.loc-copy{display:flex;flex-direction:column;flex:1;min-width:0}.loc-copy small,.loc-copy span+span{color:var(--muted);font-size:12.5px}.locale-check{color:var(--accent)}.locale-empty{padding:30px;text-align:center;color:var(--muted)}.crop-modal{position:fixed;inset:0;z-index:70;display:flex;flex-direction:column;background:#0b070d;color:#fff;padding-top:var(--safe-top)}.crop-head{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:10px 14px}.crop-head .text-btn{color:#fff;justify-self:start}.crop-head h2{font-size:17px;font-weight:800}.crop-body{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:0 24px calc(24px + var(--safe-bottom))}.crop-stage{position:relative;width:min(80vw,380px,50dvh);aspect-ratio:1;border-radius:50%;overflow:hidden;background:#1a1220;touch-action:none;cursor:grab}#crop-image{position:absolute;left:0;top:0;max-width:none;max-height:none;transform-origin:0 0;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;pointer-events:none;will-change:transform}.crop-ring{position:absolute;inset:0;border-radius:50%;box-shadow:inset 0 0 0 2px #ffffff80;pointer-events:none}.crop-body .range{max-width:380px}.crop-body .hint{color:#fff9}.crop-body .primary.big{max-width:380px}.match-overlay{position:fixed;inset:0;z-index:80;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:24px;text-align:center;color:#fff;background:radial-gradient(circle at 50% 30%,rgb(255 255 255 / .22),transparent 55%),linear-gradient(160deg,#f08aa2,#d44d70 40%,#a8345a);animation:fade-in .35s both}.match-overlay .kicker{color:#fff;opacity:.85}.match-avatars{display:flex;align-items:center}.match-avatars .glow-frame{animation:slide-l .6s var(--spring) both}.match-avatars .glow-frame:last-child{animation-name:slide-r}.match-heart{z-index:1;width:54px;height:54px;margin:0 -16px;display:grid;place-items:center;border-radius:50%;background:#fff;color:var(--accent);box-shadow:0 8px 24px #0003;animation:beat 1.3s var(--ease) infinite .4s}.match-heart .ac-icon{width:30px;height:30px}.match-overlay h2{font-size:34px;font-weight:850;letter-spacing:-.04em}.match-sub{opacity:.9}.match-actions{display:flex;flex-direction:column;gap:8px;width:min(100%,340px);margin-top:10px}.match-actions .primary{background:#fff;color:var(--accent);box-shadow:0 10px 30px #0000002e}.match-actions .text-btn{color:#fff;justify-content:center}.match-burst{position:absolute;left:50%;top:42%}@keyframes slide-l{0%{transform:translate(-60px) rotate(-12deg);opacity:0}}@keyframes slide-r{0%{transform:translate(60px) rotate(12deg);opacity:0}}@keyframes fade-in{0%{opacity:0}}.heart-bit,.bit{position:absolute;left:50%;top:50%;width:var(--s);height:var(--s);color:var(--c);pointer-events:none;z-index:4;animation:fly var(--dur) var(--delay) cubic-bezier(.15,.7,.3,1) both}.heart-bit .ac-icon,.bit .ac-icon{width:100%;height:100%}@keyframes fly{0%{transform:translate(-50%,-50%) scale(.3);opacity:1}to{transform:translate(calc(-50% + var(--tx)),calc(-50% + var(--ty))) rotate(var(--r)) scale(1);opacity:0}}.toast{position:fixed;z-index:100;top:calc(12px + var(--safe-top));left:50%;max-width:min(92vw,420px);padding:12px 18px;border-radius:18px;background:var(--toast);color:var(--toast-ink);font-weight:650;font-size:14.5px;text-align:center;box-shadow:var(--shadow);opacity:0;pointer-events:none;transform:translate(-50%,-20px) scale(.96);transition:opacity .25s,transform .4s var(--spring)}.toast.visible{opacity:1;transform:translate(-50%)}.toast.error{background:#e0475e;color:#fff}.dialog-card{width:min(88vw,360px);padding:24px 20px 18px;border:0;border-radius:26px;background:var(--surface);color:var(--ink);text-align:center;box-shadow:var(--shadow)}.dialog-card::backdrop{background:var(--scrim);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.dialog-symbol{display:grid;place-items:center;width:56px;height:56px;margin:0 auto 12px;border-radius:20px;background:var(--tint);color:var(--accent-ink)}.dialog-symbol .ac-icon{width:28px;height:28px}.dialog-card h2{font-size:20px;font-weight:850;letter-spacing:-.02em}.dialog-card p{margin-top:6px;color:var(--muted);font-size:14px}.dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:18px}.dialog-actions button{min-height:48px;border:0;border-radius:14px;font-weight:750}.dialog-actions .cancel{background:var(--surface-2)}.dialog-actions .primary{background:var(--grad);color:#fff}.gate,.access-gate{position:fixed;inset:0;z-index:95;display:grid;place-items:center;padding:24px;background:var(--bg)}.gate-card,.access-card{display:flex;flex-direction:column;align-items:center;gap:12px;width:min(100%,380px);text-align:center}.gate-card h1,.access-card h2{font-size:28px;font-weight:850;letter-spacing:-.04em}.gate-card p,.access-sub{color:var(--muted)}.gate-code{font-family:ui-monospace,monospace;font-size:12px}.access-brand{display:flex;align-items:center;gap:6px;font-weight:850;font-size:20px}.access-brand .brand-heart{width:22px;height:22px;color:var(--accent)}.access-kicker{font-size:11px;font-weight:800;letter-spacing:.14em;color:var(--accent-ink)}.access-field{display:flex;flex-direction:column;gap:6px;width:100%;text-align:left;font-size:13px;font-weight:700;color:var(--muted)}.access-field input{height:48px;padding:0 14px;border:0;border-radius:14px;background:var(--surface-2);font-size:16px}.access-error{color:#e0475e;min-height:1em}.access-submit{width:100%;min-height:52px;border:0;border-radius:16px;background:var(--grad);color:#fff;font-weight:800}.access-foot{color:var(--faint);font-size:12px}.environment-label{position:fixed;z-index:110;top:calc(4px + var(--safe-top));left:50%;translate:-50% 0;padding:3px 10px;border-radius:8px;background:#ffd84a;color:#2b2100;font-size:10px;font-weight:850;letter-spacing:.1em;pointer-events:none}@media(max-height:640px){.radar{width:min(72vw,40dvh)}.on-step h1{font-size:32px}.welcome-art{width:min(52vw,28dvh)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.is-live .radar .wave{animation:none;opacity:.25;transform:scale(.8)}}.section-label{display:flex;align-items:center;gap:6px;margin:4px 4px -4px;font-family:var(--mono);font-size:10.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--faint)}.section-label .ac-icon{width:16px;height:16px;color:var(--accent)}.crossed-section{display:flex;flex-direction:column;gap:12px;padding-top:6px}.crossed-section .person-card{background:var(--surface);box-shadow:inset 3px 0 0 var(--accent),inset 0 0 0 1px var(--line)}.sheet:has(#crossed-section:not([hidden])) .empty-state{margin:0;padding:18px 12px 8px}.sheet:has(#crossed-section:not([hidden])) .empty-art{width:56px;height:56px;border-radius:20px}.backdrop{display:none}h1,h2,h3{font-weight:700;letter-spacing:-.035em}.kicker,.spark-section-head,.count,.chip,.tap-hint{font-family:var(--mono)}.kicker{font-size:10.5px;font-weight:600;letter-spacing:.16em;color:var(--muted)}.primary{background:var(--brand);color:var(--on-brand);box-shadow:none;border-radius:999px;font-weight:650}.primary.big{border-radius:999px}.secondary{background:transparent;box-shadow:inset 0 0 0 1px var(--line);border-radius:999px;font-weight:600}.secondary.small,.primary.small{border-radius:999px}.icon-btn{background:var(--surface);box-shadow:inset 0 0 0 1px var(--line)}.avatar,.me-btn{border-radius:30%}.orb{border-radius:30%;box-shadow:0 0 0 3px var(--bg),0 0 0 4.5px var(--ink),var(--shadow-sm)}.is-live .status h1{background:none;color:var(--ink)}.status h1{font-weight:700}.chip{height:34px;font-size:12px;font-weight:600;letter-spacing:.04em;background:var(--surface);box-shadow:inset 0 0 0 1px var(--line)}.dock{background:color-mix(in srgb,var(--surface) 92%,transparent);box-shadow:inset 0 0 0 1px var(--line),0 14px 40px #16130f1f;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.dock-btn{color:var(--muted);font-weight:600}.dock-btn[aria-current=page]{background:var(--tint);color:var(--accent-ink)}.sheet.page,.sheet.full{top:0;max-width:none;max-height:none;height:100dvh;border-radius:0;padding-top:calc(var(--safe-top) + 14px);background:var(--bg);box-shadow:-20px 0 60px #0000001f;transform:translate(100%);transition:transform .32s cubic-bezier(.32,.72,0,1),visibility 0s linear .32s}.sheet.page.open,.sheet.full.open{transform:none;transition:transform .32s cubic-bezier(.32,.72,0,1),opacity .32s,visibility 0s}.sheet.full{padding-top:0}.sheet.page .grab{display:none}#app{transition:transform .32s cubic-bezier(.32,.72,0,1),opacity .32s}body:has(.sheet.page.open,.sheet.full.open) #app{transform:translate(-16%) scale(.98);opacity:.5}.sheet h2{font-size:32px;font-weight:700}.count{background:transparent;box-shadow:inset 0 0 0 1px var(--line);color:var(--muted);font-size:12px}.spark-section-head{font-size:10.5px;font-weight:600;letter-spacing:.16em}.person-card{position:relative;grid-template-columns:minmax(0,1fr) 60px;gap:5px 10px;padding:14px;border-radius:20px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--line)}.person-card>.card-top{padding:0;gap:12px}.person-card>.card-where,.person-card>.card-bio{grid-column:1;padding:0 0 0 64px}.person-card>.card-bio{grid-column:1 / -1;padding:4px 0 0}.person-card .look-tag{padding:4px 8px;font-size:12px}.person-card:after{display:none}.card-top .avatar{width:52px;height:58px;flex-shrink:0;border-radius:15px}.card-copy strong{font-size:18px;font-weight:650;letter-spacing:-.02em}.card-copy strong small{font-family:var(--font);font-size:14px;font-weight:450}.card-copy>span{margin-top:4px;font-family:var(--font);font-size:12px;line-height:1.4;letter-spacing:0;text-transform:none}.card-where{font-family:var(--font);font-size:13px;font-weight:500;line-height:1.4;letter-spacing:0;text-transform:none}.card-bio{font-size:12px;line-height:1.4}.crush-mini{grid-column:2;grid-row:1 / span 3;align-self:center;flex-direction:column;justify-content:center;gap:4px;min-height:60px;height:auto;padding:8px 4px;border-radius:18px;border:0;background:var(--tint);color:var(--accent-ink);font-family:var(--font);font-size:11px;font-weight:600;letter-spacing:0;text-transform:none}.crush-mini .ac-icon{width:24px;height:24px;color:var(--accent)}.crush-mini:active{background:var(--tint)}.crush-mini.sent{background:transparent;color:var(--muted);box-shadow:none}.crush-mini.sent .ac-icon{color:var(--muted)}.crush-mini.matched{background:var(--brand);color:var(--on-brand)}.crush-mini.matched .ac-icon{color:var(--on-brand)}.crush-mini.incoming{color:var(--accent-ink);animation:none}.spark-card,.spark-row,.blocked-card{background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);border-radius:18px}.spark-card.incoming{background:var(--surface);box-shadow:inset 0 0 0 1.5px var(--accent),0 10px 30px #d44d701f}.spark-person .avatar,.spark-row .avatar,.blocked-card .avatar{width:48px;height:60px;border-radius:13px}.spark-action{border-radius:999px;background:transparent;font-weight:600}.spark-action.match{background:var(--brand);color:var(--on-brand)}.spark-action.match .ac-icon{color:var(--on-brand)}.unread-pill{font-family:var(--mono)}.spark-time,.spark-sub{font-family:var(--mono);font-size:11px;letter-spacing:.04em}.msg.me{background:var(--brand);color:var(--on-brand)}.msg.them{background:var(--surface);box-shadow:inset 0 0 0 1px var(--line)}.msg-time,.msg-status{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;font-size:10.5px}.chat-chip{border-radius:999px}.choice-grid button{background:transparent;border-radius:14px;font-weight:600}.choice-grid button[aria-pressed=true]{background:var(--brand);color:var(--on-brand);box-shadow:none}[aria-pressed=true] .check{background:var(--accent)}.rows,.row{border-radius:18px}.rows{background:var(--surface);box-shadow:inset 0 0 0 1px var(--line)}.wheel-item.active{color:var(--ink)}.match-overlay{background:radial-gradient(60% 45% at 50% 42%,rgb(212 77 112 / .45),transparent 70%),radial-gradient(50% 40% at 60% 55%,rgb(168 52 90 / .35),transparent 70%),#0d0c0b;color:#f3eee6}.match-overlay .kicker{color:#f2a3b6;letter-spacing:.24em}.match-avatars .avatar{border-radius:30%;box-shadow:0 0 0 3px #0d0c0b,0 0 0 4.5px #f3eee6}.match-overlay .primary{background:#f3eee6;color:#0d0c0b}.card-where{line-height:1.6;white-space:pre-line}.on-step h1 em,.status h1 em{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:-.01em;background:none;color:var(--ink);-webkit-text-fill-color:currentColor}.on-step h1 em{font-size:1.12em}:lang(zh) .on-step h1 em{font-family:var(--font);font-style:normal;font-weight:700;color:var(--accent-ink);font-size:1em}.send-btn{background:var(--brand);color:var(--on-brand)}.wheel:before{background:var(--surface);box-shadow:inset 0 0 0 1px var(--line)}.range::-webkit-slider-runnable-track{background:linear-gradient(90deg,var(--brand) var(--p),var(--surface-2) var(--p))}.range::-moz-range-track{background:linear-gradient(90deg,var(--brand) var(--p),var(--surface-2) var(--p))}.crop-body .range::-webkit-slider-runnable-track{background:linear-gradient(90deg,#f3eee6 var(--p),rgb(255 255 255 / .18) var(--p))}.crop-body .range::-moz-range-track{background:linear-gradient(90deg,#f3eee6 var(--p),rgb(255 255 255 / .18) var(--p))}.name-field input:focus{border-color:var(--brand)}.photo-plus{background:var(--brand);color:var(--on-brand);box-shadow:0 0 0 4px var(--bg)}.look-preview{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;min-height:52px;padding:12px;border-radius:16px;box-shadow:inset 0 0 0 1px var(--line);color:var(--muted);font-size:14px;align-items:center}.look-label{margin-top:4px;font-family:var(--mono);font-size:10.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.look-colors{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.look-swatch{aspect-ratio:1;border:0;border-radius:30%;background:var(--swatch);box-shadow:inset 0 0 0 1px #0000001f;transition:transform .2s var(--spring)}.look-swatch[aria-pressed=true]{transform:scale(.92);box-shadow:0 0 0 2.5px var(--bg),0 0 0 4.5px var(--ink)}.look-chips{display:flex;flex-wrap:wrap;gap:8px}.look-chips button{min-height:38px;padding:0 14px;border:0;border-radius:999px;background:transparent;color:var(--ink);font-weight:600;font-size:14px;box-shadow:inset 0 0 0 1px var(--line);transition:background .2s,color .2s,transform .15s}.look-chips button:active{transform:scale(.95)}.look-chips button[aria-pressed=true]{background:var(--brand);color:var(--on-brand);box-shadow:none}.look-actions{display:grid;grid-template-columns:1fr 2fr;gap:10px}.look-tag{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:var(--surface-2);color:var(--ink);font-size:13px;font-weight:600;white-space:nowrap}.look-tag i{width:11px;height:11px;border-radius:3px;box-shadow:inset 0 0 0 1px #00000026}.look-line{display:flex;flex-wrap:wrap;gap:6px}.look-chip{color:var(--ink)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .look-swatch,:root:not([data-theme=light]) .look-tag i{box-shadow:inset 0 0 0 1px #ffffff38}}:root[data-theme=dark] .look-swatch,:root[data-theme=dark] .look-tag i{box-shadow:inset 0 0 0 1px #ffffff38}.look-swatch[aria-pressed=true]{box-shadow:0 0 0 2.5px var(--bg),0 0 0 4.5px var(--ink)!important}#edit-look-label.row-value,#edit-look-label{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px}#settings-look{margin-top:6px}#settings-look .look-tag,#edit-look-label .look-tag{font-size:12px;padding:3px 8px}.dialog-actions .primary,.access-submit{background:var(--brand);color:var(--on-brand);box-shadow:none}.fx{position:absolute;left:50%;top:50%;z-index:4;pointer-events:none}.fx svg{display:block;width:100%;height:100%}.fx-over{width:46%;aspect-ratio:1;translate:-50% -50%;overflow:visible}.fx-star{width:var(--s);height:var(--s);color:#f2b6c3;opacity:0;translate:-50% -50%;animation:fx-twinkle var(--dur) cubic-bezier(.2,.7,.3,1) var(--delay) both}.fx-star:nth-child(3n){color:#fff}.fx-star:nth-child(3n+1){color:var(--accent)}@keyframes fx-twinkle{0%{opacity:0;transform:translate(0) scale(.2) rotate(0)}25%{opacity:1;transform:translate(calc(var(--tx) * .55),calc(var(--ty) * .55)) scale(1.1) rotate(45deg)}60%{opacity:.4}75%{opacity:1}to{opacity:0;transform:translate(var(--tx),var(--ty)) scale(.4) rotate(120deg)}}.fx-zap path{fill:none;stroke:#f7c8d2;stroke-width:.7;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 1.2px var(--accent));stroke-dasharray:20;stroke-dashoffset:20;animation:fx-bolt 1.1s ease-out var(--delay) both}@keyframes fx-bolt{25%{stroke-dashoffset:0;opacity:1}45%{opacity:.3}55%{opacity:1}to{stroke-dashoffset:0;opacity:0}}.heart.fx-jolt .heart-svg{animation:fx-jolt .6s ease-out}@keyframes fx-jolt{15%{transform:translate(-2px,1px) scale(1.04)}30%{transform:translate(2px,-1px) scale(1.06)}45%{transform:translate(-1px) scale(1.03)}}.fx-float{width:var(--s);height:var(--s);color:var(--accent);opacity:0;translate:-50% -50%;animation:fx-float var(--dur) ease-out var(--delay) both}.fx-float:nth-child(2n){color:#f2b6c3}@keyframes fx-float{0%{opacity:0;transform:translate(calc(var(--tx) * .3),20px) scale(.3)}20%{opacity:1}50%{transform:translate(calc(var(--tx) * .7 + var(--sway)),-80px) scale(1)}to{opacity:0;transform:translate(var(--tx),-170px) scale(.7)}}.fx-halo{width:52%;aspect-ratio:1;border-radius:50%;translate:-50% -50%;box-shadow:0 0 40px 10px #d44d7059,inset 0 0 30px #f7a1b266;opacity:0;animation:fx-halo 2.4s ease-out var(--delay) both}@keyframes fx-halo{0%{opacity:0;transform:scale(.6)}30%{opacity:1}to{opacity:0;transform:scale(1.8)}}.fx-dust{width:4px;height:4px;border-radius:50%;background:var(--accent);opacity:0;translate:-50% -50%;animation:fx-dust var(--dur) ease-out var(--delay) both}.fx-glitter{background:#fff;box-shadow:0 0 6px 1px #f7a1b2e6}@keyframes fx-dust{20%{opacity:.9}to{opacity:0;transform:translate(var(--tx),var(--ty))}}.fx-crack path{fill:none;stroke:var(--bg);stroke-width:.9;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:16;stroke-dashoffset:16;animation:fx-crack 3.2s ease-in-out both}@keyframes fx-crack{25%{stroke-dashoffset:0;opacity:1}65%{stroke-dashoffset:0;opacity:1}to{stroke-dashoffset:0;opacity:0}}.fx-shard{width:6px;height:9px;background:var(--accent);clip-path:polygon(50% 0,100% 70%,30% 100%,0 40%);opacity:0;translate:-50% -20%;animation:fx-shard var(--dur) cubic-bezier(.3,0,.6,1) var(--delay) both}@keyframes fx-shard{10%{opacity:.9}to{opacity:0;transform:translate(var(--tx),140px) rotate(var(--r))}}.fx-inhale{width:90%;aspect-ratio:1;border-radius:50%;border:1.5px solid var(--accent);translate:-50% -50%;opacity:0;animation:fx-inhale 2.6s ease-in-out both}@keyframes fx-inhale{0%{opacity:0;transform:scale(1.05)}30%{opacity:.5}to{opacity:0;transform:scale(.45)}}.fx-sink{width:var(--s);height:var(--s);color:var(--faint);opacity:0;translate:-50% -50%;animation:fx-sink var(--dur) ease-in-out var(--delay) both}@keyframes fx-sink{0%{opacity:0;transform:translateY(-10px) scale(.8)}25%{opacity:.8}to{opacity:0;transform:translate(var(--tx),150px) scale(.5) rotate(18deg)}}.heart-level{transition-duration:2s}.heart.on .heart-level{transition-duration:1.9s}body[data-skin=holo] .heart-liquid{animation:slosh 2.6s linear infinite,holo 7s linear infinite}@keyframes holo{to{filter:hue-rotate(360deg)}}.card-top .avatar{box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--ring, transparent)}.orb{box-shadow:0 0 0 3px var(--bg),0 0 0 5px var(--ring, var(--ink)),var(--shadow-sm)}.skins-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.skin-tile{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 4px 10px;border:0;border-radius:18px;background:var(--surface);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line);transition:transform .2s var(--spring)}.skin-tile:active{transform:scale(.95)}.skin-tile svg{width:52px;height:52px;filter:drop-shadow(0 6px 10px rgb(22 19 15 / .12))}.skin-tile strong{font-size:13px;font-weight:650}.skin-tile small{min-height:1.3em;color:var(--muted);font-family:var(--mono);font-size:9.5px;letter-spacing:.04em;text-align:center}.skin-tile.locked svg{opacity:.35;filter:grayscale(.5)}.skin-tile[aria-pressed=true]{box-shadow:inset 0 0 0 2px var(--brand),0 8px 20px #d44d7026}.skins-invite{display:flex;flex-direction:column;gap:10px;margin-top:auto}.mono-note{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);text-align:center}.liquid-shell{fill:var(--heart-off)}body[data-skin=holo] .heart-liquid,.skin-tile.holo .tile-liquid{animation:slosh 2.6s linear infinite,holo 7s linear infinite}.tile-liquid{animation:slosh var(--slosh, 2.6s) linear infinite}.lq-back{opacity:.55;animation:slosh-back 4.2s linear infinite}@keyframes slosh-back{0%{transform:translate(-12px)}to{transform:translate(0)}}.lq-bubble{opacity:0;animation:lq-rise var(--dur) ease-in var(--d) infinite}@keyframes lq-rise{0%{opacity:0;transform:translate(0)}15%{opacity:.85}80%{opacity:.6}to{opacity:0;transform:translate(.6px,-14px)}}@keyframes lq-bob{50%{transform:translateY(-.5px)}}.lq-ice{fill:#ffffff61;stroke:#ffffffbf;stroke-width:.3;transform-box:fill-box;transform-origin:center;transform:rotate(var(--r));animation:lq-float 4.6s ease-in-out var(--d) infinite}@keyframes lq-float{50%{transform:rotate(var(--r)) translateY(.7px)}}.lq-swirl{fill:none;stroke-width:.55;stroke-linecap:round;stroke-dasharray:4 2.5;opacity:.75;animation:lq-flow 6s linear infinite}@keyframes lq-flow{to{stroke-dashoffset:-26}}.lq-sheen{fill:#ffffff73;transform:skew(-20deg);animation:lq-sheen 3.8s ease-in-out infinite}@keyframes lq-sheen{0%,35%{transform:skew(-20deg) translate(0)}80%,to{transform:skew(-20deg) translate(40px)}}.lq-glitter{opacity:0;animation:lq-twinkle 2.4s ease-in-out var(--d) infinite}@keyframes lq-twinkle{50%{opacity:1}}.lq-sun{animation:lq-set 10s ease-in-out infinite alternate}@keyframes lq-set{to{transform:translateY(3px)}}.lq-slice{animation:lq-bob 4s ease-in-out infinite}.lq-cloud{animation:lq-drift 9s ease-in-out var(--d) infinite alternate}@keyframes lq-drift{to{transform:translate(3px)}}@media(prefers-reduced-motion:reduce){.lq-bubble,.lq-glitter{opacity:.6}}.skins-link{align-self:center;padding:8px 16px;border-radius:999px;background:var(--tint);color:var(--accent-ink);font-family:var(--mono);font-size:15px;font-weight:600;letter-spacing:.02em;user-select:all;-webkit-user-select:all}.sheet.behind{visibility:visible;pointer-events:none;transform:none}.sheet.page.behind,.sheet.full.behind{transform:translate(-20%);opacity:1;transition:transform .32s cubic-bezier(.32,.72,0,1)}.sheet.page.open,.sheet.full.open{opacity:1}.sheet.behind.under-modal{transform:none}body:has(.sheet.open:not(.orbit-detail)) #app *,.sheet.behind *{animation-play-state:paused!important}.chat-sheet{position:fixed;overflow:hidden;contain:layout paint}.chat-head,.chat-form,.chat-suggestions{flex-shrink:0}.chat-sheet.keyboard-open .chat-form{padding-bottom:10px}.chat-messages{min-height:0;overflow-anchor:none;gap:2px;overscroll-behavior:contain;scroll-behavior:auto}.chat-messages>:not(.chat-spacer){flex-shrink:0}.msg{max-width:76%;padding:9px 14px;border-radius:20px;line-height:1.35;animation:none;transition:opacity .25s,box-shadow .25s}.msg:not(.joined-top){margin-top:6px}.msg.me{border-radius:20px}.msg.me.joined-top{border-top-right-radius:6px}.msg.me.joined-bottom,.msg.me:not(.joined-bottom){border-bottom-right-radius:6px}.msg.me.joined-bottom{border-bottom-right-radius:6px}.msg.them{border-radius:20px}.msg.them.joined-top{border-top-left-radius:6px}.msg.them.joined-bottom,.msg.them:not(.joined-bottom){border-bottom-left-radius:6px}.msg.me.enter{transform-origin:bottom right;animation:msg-send .18s ease-out both;will-change:transform,opacity}.msg.them.enter{transform-origin:bottom left;animation:msg-arrive .18s ease-out both;will-change:transform,opacity}@keyframes msg-send{0%{opacity:0;transform:translateY(6px)}}@keyframes msg-arrive{0%{opacity:0;transform:translateY(6px)}}.msg.pending{opacity:.78}.msg.failed{opacity:1;cursor:pointer;box-shadow:0 0 0 1.5px #d6455b}.msg.failed:after{content:none}.msg.emoji{padding:0 2px;background:none!important;box-shadow:none!important;font-size:42px;line-height:1.15}.msg-status{margin-top:3px;transition:color .3s}.msg-status.seen{color:var(--accent-ink)}.msg-status.failed{color:#d6455b;cursor:pointer}.chat-new{position:absolute;left:50%;bottom:calc(84px + var(--safe-bottom));z-index:2;translate:-50% 0;height:34px;padding:0 14px;border:0;border-radius:999px;background:var(--brand);color:var(--on-brand);font-size:13px;font-weight:650;box-shadow:0 8px 22px #16130f33;animation:pop-in .35s var(--spring)}.chat-form{align-items:flex-end;background:var(--surface)}.chat-form textarea{flex:1;min-width:0;min-height:44px;max-height:132px;padding:11px 16px;border:0;border-radius:22px;background:var(--surface-2);color:var(--ink);font:inherit;font-size:16px;line-height:1.4;resize:none;outline:none;overflow-y:auto}.send-btn{width:44px;height:44px;background:var(--surface-2);color:var(--faint);transform:scale(.88);transition:transform .3s var(--spring),background .2s,color .2s}.send-btn.ready{background:var(--brand);color:var(--on-brand);transform:scale(1)}.send-btn:active{transform:scale(.85)}.lq-bob{animation:lq-bob 3.4s ease-in-out var(--d, 0s) infinite}.lq-fizz{opacity:0;animation:lq-fizz var(--dur) linear var(--d) infinite}@keyframes lq-fizz{10%{opacity:.9}to{opacity:0;transform:translateY(-16px)}}.lq-heartbubble{opacity:0;animation:lq-heartrise var(--dur) ease-in-out var(--d) infinite}@keyframes lq-heartrise{15%{opacity:.9}50%{transform:translate(.8px,-7px)}to{opacity:0;transform:translate(-.6px,-14px)}}.lq-petal{opacity:0;transform-box:fill-box;transform-origin:center;animation:lq-petal var(--dur) ease-in-out var(--d) infinite}@keyframes lq-petal{10%{opacity:.95}50%{transform:translate(1.5px,7px) rotate(160deg)}90%{opacity:.85}to{opacity:0;transform:translate(-1px,14px) rotate(320deg)}}.lq-whisk{animation:lq-whisk .9s ease-in-out infinite alternate}@keyframes lq-whisk{0%{transform:translate(-1.4px)}to{transform:translate(-10.6px)}}.lq-pop{transform-box:fill-box;transform-origin:center;animation:lq-pop var(--dur) ease-in var(--d) infinite}@keyframes lq-pop{70%{transform:scale(1);opacity:.9}85%{transform:scale(1.5);opacity:0}to{transform:scale(0);opacity:0}}.lq-layer{animation:slosh-back 5.5s linear infinite}.lq-steam{fill:none;stroke-width:.45;stroke-linecap:round;opacity:0;animation:lq-steam 3.3s ease-out var(--d) infinite}@keyframes lq-steam{20%{opacity:.7}to{opacity:0;transform:translateY(-3px)}}.lq-dust{opacity:0;animation:lq-dust var(--dur) linear var(--d) infinite}@keyframes lq-dust{10%{opacity:.9}50%{transform:translate(.8px,7px)}to{opacity:0;transform:translate(-.4px,14px)}}.lq-stream{transform-box:fill-box;transform-origin:top;animation:lq-stream 6s ease-in-out infinite}@keyframes lq-stream{0%,8%{transform:scaleY(0);opacity:1}22%{transform:scaleY(1);opacity:1}38%,to{transform:scaleY(1) translateY(6px);opacity:0}}.lq-bloom{transform-box:fill-box;transform-origin:center;opacity:0;animation:lq-bloom 6s ease-out infinite}@keyframes lq-bloom{0%,18%{opacity:0;transform:scale(.2)}35%{opacity:.55}80%,to{opacity:0;transform:scale(2.2) translateY(1.5px)}}.lq-hop{animation:lq-hop 3.2s cubic-bezier(.3,0,.3,1) var(--d) infinite}@keyframes lq-hop{0%,70%,to{transform:translateY(0)}80%{transform:translateY(-2.2px)}90%{transform:translateY(.3px)}}.lq-stripe{fill:none;stroke-width:.9;stroke-linecap:round;opacity:.55;stroke-dasharray:3 2;animation:lq-stripe 4s linear var(--d) infinite}@keyframes lq-stripe{to{stroke-dashoffset:-20}}.lq-chunk{transform-box:fill-box;transform-origin:center;transform:rotate(var(--r));animation:lq-chunk 5s ease-in-out var(--d) infinite}@keyframes lq-chunk{50%{transform:rotate(calc(var(--r) + 14deg)) translateY(.9px)}}.lq-lava{opacity:.85;transform-box:fill-box;transform-origin:center;animation:lq-lava 9s ease-in-out var(--d) infinite}@keyframes lq-lava{0%,to{transform:translateY(2.5px) scale(.9,1.05)}50%{transform:translateY(-4px) scale(1.15,.9)}}.lq-drizzle{fill:none;stroke-width:.6;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:22;stroke-dashoffset:22;animation:lq-drizzle 5s ease-in-out var(--d, 0s) infinite}@keyframes lq-drizzle{35%{stroke-dashoffset:0;opacity:1}80%{stroke-dashoffset:0;opacity:1}to{stroke-dashoffset:0;opacity:0}}.lq-float{animation:lq-float-y 4.2s ease-in-out var(--d, 0s) infinite}@keyframes lq-float-y{50%{transform:translateY(.7px) rotate(4deg)}}.lq-drift{animation:lq-drift-y 6s ease-in-out var(--d) infinite alternate}@keyframes lq-drift-y{to{transform:translate(1.2px,-2px)}}.lq-slice{transform-box:fill-box;transform-origin:center;animation:lq-spin 22s linear infinite}@keyframes lq-spin{to{transform:rotate(360deg)}}.lq-shimmer{animation:lq-twinkle 2.2s ease-in-out var(--d) infinite;opacity:.4}.lq-surface{fill:none;stroke-width:.45;stroke-linecap:round;animation:slosh var(--slosh) linear infinite}.lq-haze{opacity:.22;animation:lq-drift 11s ease-in-out var(--d) infinite alternate}.lq-cream{animation:lq-whisk-soft 4s ease-in-out infinite alternate}@keyframes lq-whisk-soft{to{transform:translate(-3px)}}.liquid-heart.seasonal{filter:drop-shadow(0 0 6px rgb(255 190 120 / .5))}.orbit{--orbit-time: 48s;animation:orbit-turn var(--orbit-time) linear infinite}.orb-track{position:absolute;inset:0;rotate:var(--phase, 0deg);transition:rotate .7s var(--ease)}.orb-anchor{position:absolute;top:9%;left:50%;width:max(52px,19%);aspect-ratio:1;transform:translate(-50%,-50%)}.orb-upright{width:100%;height:100%;rotate:calc(-1 * var(--phase, 0deg));transition:rotate .7s var(--ease);animation:orbit-upright var(--orbit-time) linear infinite}.orb{position:relative;width:100%;height:100%;border-radius:0;overflow:visible;background:transparent!important;box-shadow:none;-webkit-mask:none;mask:none;translate:none;animation:heart-float 4.8s ease-in-out infinite;animation-delay:calc(var(--i, 0) * -.8s)}.orb .orb-flavour{position:absolute;inset:0;width:100%;height:100%;filter:none;pointer-events:none}.orb-portrait{position:absolute;inset:11%;width:78%;height:78%;border-radius:0;-webkit-mask:url(/notification-badge.svg) center / contain no-repeat;mask:url(/notification-badge.svg) center / contain no-repeat;pointer-events:none}.orb .orb-portrait img{inset:0;width:100%;height:100%}.orb.more{background:transparent!important;box-shadow:none;color:var(--ink)}.orb-count{position:relative;z-index:1;padding-bottom:2px;font-size:19px}@keyframes orbit-turn{to{transform:rotate(360deg)}}@keyframes orbit-upright{to{transform:rotate(-360deg)}}@keyframes heart-float{0%,to{transform:translateY(-2px)}50%{transform:translateY(2px)}}@media(prefers-reduced-motion:reduce){.sheet,.sheet.open,.sheet.behind,#app{transition:none!important}.msg.enter,.orb,.orbit,.orb-upright{animation:none!important}}.sheet.returning.open{transform:none;transition:none}.message-banner{position:fixed;z-index:101;top:calc(var(--safe-top) + 10px);left:12px;right:12px;width:min(calc(100% - 24px),440px);margin:0 auto;border:1px solid color-mix(in srgb,var(--brand) 24%,var(--line));border-radius:23px;background:var(--surface);color:var(--ink);box-shadow:0 12px 32px #0000002e;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(calc(-100% - var(--safe-top) - 16px));transition:transform .24s cubic-bezier(.2,.8,.2,1),opacity .18s,visibility 0s .24s}.message-banner.visible{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);transition-delay:0s}.message-banner-open{display:flex;align-items:center;gap:12px;width:100%;min-height:80px;padding:12px 46px 12px 12px;border:0;border-radius:inherit;background:transparent;text-align:left}.message-banner-avatar{width:48px;height:54px;flex:0 0 48px;border-radius:15px}.message-banner-copy{flex:1;min-width:0}.message-banner-heading{display:flex;align-items:baseline;gap:8px}.message-banner-heading strong{font-size:15px;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-banner-heading small{color:var(--accent-ink);font-size:10px;font-weight:550;flex-shrink:0}.message-banner-preview{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;overflow-wrap:anywhere;color:var(--muted);font-size:13px;line-height:1.4;margin-top:3px}.message-banner-close{position:absolute;right:0;top:0;width:44px;height:44px;display:grid;place-items:center;border:0;border-radius:50%;background:transparent;color:var(--muted)}.message-banner-close .ac-icon{width:15px;height:15px}.message-banner-open:active{background:var(--tint)}@media(prefers-reduced-motion:reduce){.message-banner{transition:none}}.history-restoring .sheet,.history-restoring #app,.history-restoring .scrim{transition:none!important}.chat-sheet.closing .msg{animation-play-state:paused;transition:none}@media(prefers-reduced-motion:reduce){.orb-track,.orb-upright{transition:none}.orb *{animation:none!important}}.look-garment{color:var(--garment-light, var(--ink))}:root[data-theme=dark] .look-garment{color:var(--garment-dark, var(--ink))}.look-garment[data-color=black]{color:#191919!important;background:#e9e3dc}.look-garment[data-color=white]{color:#fff!important;background:#504d48}.heart-frame{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}.heart-frame-glow{opacity:.3;animation:frame-glow var(--glow-time, 4.6s) ease-in-out var(--glow-delay, 0s) infinite}@keyframes frame-glow{0%,to{opacity:.2}28%{opacity:.85}52%{opacity:.4}76%{opacity:1}}.orb-track[data-link=matched] .heart-frame-glow{--glow-time: 2.6s}.orb .orb-portrait{position:absolute;inset:1.5%;width:97%;height:97%;border-radius:0;-webkit-mask:url(/notification-badge.svg) center / contain no-repeat;mask:url(/notification-badge.svg) center / contain no-repeat}:root{--live-ink: #246e62;--crossed-ink: #8052a3}:root[data-theme=dark]{--live-ink: #89d8c0;--crossed-ink: #c6a1ea}.live-section-label,.crossed-section-label{display:flex;align-items:center;gap:7px;width:fit-content;padding:6px 10px;border-radius:999px;font-size:11px;font-weight:650;letter-spacing:.06em}.live-section-label{color:var(--live-ink);background:color-mix(in srgb,var(--live-ink) 10%,transparent)}.crossed-section-label{color:var(--crossed-ink);background:color-mix(in srgb,var(--crossed-ink) 10%,transparent)}.crossed-section{padding-top:20px;margin-top:8px;border-top:1px solid var(--line)}.encounter-timer{grid-column:1 / -1;width:fit-content;padding:3px 7px;margin-top:2px;border-radius:7px;color:var(--muted);background:var(--surface-2);font:500 10px var(--mono);font-variant-numeric:tabular-nums;letter-spacing:.04em}.orb-tether{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}.orb-tether .stop-me{stop-color:var(--me-color, var(--accent))}.orb-tether .stop-them{stop-color:var(--frame-color, var(--accent))}.orb-plasma path{fill:none;stroke-linecap:round;stroke-linejoin:round}.plasma-core{stroke-width:.32;opacity:calc(.16 + var(--surge, 0) * .55)}.plasma-glow{stroke-width:1.5;opacity:calc(.045 + var(--surge, 0) * .2)}.plasma-1{stroke-width:.22}.plasma-glow.plasma-1{stroke-width:1}.plasma-1.plasma-core{opacity:calc(.08 + var(--surge, 0) * .3)}.plasma-spark{fill:#fff;opacity:calc(var(--surge, 0) * .9);filter:drop-shadow(0 0 1.2px var(--frame-color, var(--accent)))}:root:not([data-theme=dark]) .plasma-core{opacity:calc(.22 + var(--surge, 0) * .55)}body:has(.orbit-detail.open) .orb-track:not(.focused) .orb-plasma{opacity:.45}body:has(.orbit-detail.open) .orb-track.focused .orb-plasma{filter:brightness(1.15)}.orb-plasma{transition:opacity .6s var(--ease)}.orb-link path{fill:none;stroke-linecap:round;stroke-dasharray:1 1;stroke-dashoffset:1;opacity:0;transition:stroke-dashoffset 1.2s cubic-bezier(.22,1,.36,1),opacity .6s var(--ease)}.orb-link .link-line{stroke-width:.55}.orb-link .link-glow{stroke-width:2.2}.orb-link .link-pulse{stroke:#fff;stroke-width:.6;stroke-dasharray:.07 .93}.link-tip{fill:var(--me-color, var(--accent));opacity:0;transform-box:fill-box;transform-origin:center;transition:opacity .5s var(--ease) .6s}.orb-track[data-link=crush] .link-line{stroke-dashoffset:.36;opacity:.5}.orb-track[data-link=crush] .link-glow{stroke-dashoffset:.36;opacity:.12}.orb-track[data-link=crush] .link-tip{opacity:.85;animation:link-yearn 2.4s ease-in-out infinite}.orb-track[data-link=matched] .link-line{stroke-dashoffset:0;opacity:.65}.orb-track[data-link=matched] .link-glow{stroke-dashoffset:0;opacity:.18}.orb-track[data-link=matched] .link-pulse{opacity:.8;animation:link-beat 2.8s cubic-bezier(.45,0,.25,1) infinite}body:has(.orbit-detail.open) .orb-track.focused[data-link=crush] .link-line,body:has(.orbit-detail.open) .orb-track.focused[data-link=matched] .link-line{opacity:.95}body:has(.orbit-detail.open) .orb-track.focused[data-link=crush] .link-glow,body:has(.orbit-detail.open) .orb-track.focused[data-link=matched] .link-glow{opacity:.32}@keyframes link-yearn{0%,to{transform:scale(.7);opacity:.45}50%{transform:scale(1.35);opacity:.95}}@keyframes link-beat{0%{stroke-dashoffset:1.07}to{stroke-dashoffset:-.07}}.sheet.orbit-detail{top:auto;bottom:calc(104px + var(--safe-bottom));width:calc(100% - 28px);max-width:390px;height:auto;max-height:43dvh;padding:0;border-radius:27px;background:var(--surface);border:1px solid var(--line);box-shadow:0 12px 40px #00000029;transform:translateY(18px) scale(.94);opacity:0;transform-origin:center top}.sheet.orbit-detail.open{transform:none;opacity:1}.orbit-detail .person-hero{height:98px;min-height:98px;border-radius:0;background:var(--surface)!important;overflow:visible}.orbit-detail .person-hero:after{display:none}.orbit-detail #person-photo{position:absolute;top:9px;left:12px;width:84px;height:84px;-webkit-mask:url(/notification-badge.svg) center / contain no-repeat;mask:url(/notification-badge.svg) center / contain no-repeat}.orbit-detail .person-initial{width:80px;font-size:28px;color:var(--ink)}.orbit-detail .person-identity{left:108px;right:42px;bottom:16px;color:var(--ink)}.orbit-detail .person-identity h2{font-size:23px}.orbit-detail .person-identity h2 small{font-size:16px}.orbit-detail .person-identity .kicker{color:var(--accent-ink);font-size:9px}.orbit-detail .person-dist{font-size:12px}.orbit-detail .person-body{padding:0 16px 14px;gap:8px}.orbit-detail .person-locale,.orbit-detail .person-bio{font-size:12px}.orbit-detail .on-photo{top:10px;right:10px;background:var(--surface-2);color:var(--ink);backdrop-filter:none;-webkit-backdrop-filter:none}.orbit-detail #crush-btn{min-height:42px;padding:10px 16px}.orbit-detail .person-safety{padding-top:0}.orbit-detail .note{font-size:11px}.radar{transform-origin:50% 0;transition:transform .62s cubic-bezier(.22,1,.36,1)}body:has(.orbit-detail.open) .radar{transform:translateY(var(--detail-y, 0px)) scale(var(--detail-scale, 1))}.stage .status,.home-chips,.home-invite{transition:opacity .4s var(--ease) .12s,transform .5s var(--ease) .08s,visibility 0s}body:has(.orbit-detail.open) .status,body:has(.orbit-detail.open) .home-chips,body:has(.orbit-detail.open) .home-invite{opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .2s var(--ease),transform .3s var(--ease),visibility 0s .3s}.sheet.orbit-detail.swapping .person-hero,.sheet.orbit-detail.swapping .person-body{animation:detail-swap .42s var(--ease) both}.sheet.orbit-detail.swapping .person-body{animation-delay:.04s}@keyframes detail-swap{0%{opacity:.25;transform:translateY(6px)}}@media(prefers-reduced-motion:reduce){.heart-frame-glow,.orb-link path,.link-tip{animation:none!important}.radar{transition:none}}#invite-row{border:1px solid color-mix(in srgb,var(--brand) 30%,var(--line));background:linear-gradient(115deg,var(--tint),var(--surface));border-radius:23px;padding:15px}#invite-row .row-copy strong{color:var(--accent-ink);font-size:16px}#invite-row .row-copy small{line-height:1.45}.invite-crest{color:var(--brand);background:var(--tint);border-radius:16px}#skins-invite{display:inline-flex;align-items:center;justify-content:center;gap:9px}.person-sheet:not(.orbit-detail) #person-photo{width:min(90%,340px);height:auto;aspect-ratio:1;margin:12px auto;-webkit-mask:url(/notification-badge.svg) center / contain no-repeat;mask:url(/notification-badge.svg) center / contain no-repeat}.person-sheet:not(.orbit-detail) .person-hero{height:auto;min-height:250px;display:flex;flex-direction:column}.person-sheet:not(.orbit-detail) .person-hero:after{display:none}.person-sheet:not(.orbit-detail) .person-identity{position:relative;inset:auto;padding:0 20px 16px;color:var(--ink)}.person-sheet:not(.orbit-detail) .person-identity .kicker{color:var(--accent-ink)}.home-invite{color:var(--accent-ink);background:var(--tint);border:1px solid color-mix(in srgb,var(--brand) 22%,transparent);font-size:11px;margin-top:2px;flex-shrink:0}.home-invite .ac-icon{width:19px;height:19px}.people .person-card{--tone: var(--frame-color, var(--accent));--rim: color-mix(in srgb, var(--tone) 16%, var(--line));border:1px solid transparent;background:radial-gradient(130% 100% at 0% 0%,color-mix(in srgb,var(--tone) 10%,transparent),transparent 58%) padding-box,linear-gradient(var(--surface),var(--surface)) padding-box,conic-gradient(from 200deg,var(--rim) 0deg,color-mix(in srgb,var(--tone) 85%,transparent) 46deg,var(--rim) 120deg,var(--rim) 360deg) border-box;box-shadow:0 14px 30px -24px var(--tone)}.people[data-kind=live] .glow-portrait:after{content:"";position:absolute;z-index:2;right:3px;bottom:9px;width:9px;height:9px;border-radius:50%;background:var(--live-ink);box-shadow:0 0 0 2px var(--surface);animation:live-dot 2.2s ease-out infinite}@keyframes live-dot{0%{box-shadow:0 0 0 2px var(--surface),0 0 0 2px color-mix(in srgb,var(--live-ink) 55%,transparent)}to{box-shadow:0 0 0 2px var(--surface),0 0 0 10px transparent}}.people .person-card .crush-mini:not(.sent):not(.matched){background:color-mix(in srgb,var(--tone) 12%,var(--tint))}@media(prefers-reduced-motion:reduce){.people .person-card,.people[data-kind=live] .glow-portrait:after{animation:none}}.crew-sheet{gap:16px}.crew-burst{position:relative;height:132px;display:grid;place-items:center;margin:-4px 0 -2px}.crew-core{position:relative;z-index:1;width:54px;height:54px;color:var(--brand);filter:drop-shadow(0 8px 18px rgb(212 77 112 / .38));animation:breathe 3.2s ease-in-out infinite}.crew-core .ac-icon{width:100%;height:100%;fill:currentColor}.crew-ring{position:absolute;width:120px;aspect-ratio:1;border-radius:50%;border:1px solid color-mix(in srgb,var(--brand) 40%,transparent);opacity:0;animation:crew-ripple 3.6s cubic-bezier(.2,.6,.3,1) infinite}.crew-ring+.crew-ring{animation-delay:1.8s}@keyframes crew-ripple{0%{opacity:.8;transform:scale(.4)}to{opacity:0;transform:scale(1.9)}}.crew-burst i{--angle: calc(var(--k) * 45deg + 22deg);--reach: 50px;position:absolute;width:15px;height:15px;color:var(--brand);opacity:0;transform:rotate(var(--angle)) translateY(calc(-1 * var(--reach))) rotate(calc(-1 * var(--angle)));animation:crew-join 6.4s var(--spring) infinite;animation-delay:calc(var(--k) * .36s)}.crew-burst i:nth-child(odd){--reach: 60px;width:11px;height:11px;color:color-mix(in srgb,var(--brand) 60%,#ffb46b)}@keyframes crew-join{0%{opacity:0;transform:rotate(var(--angle)) translateY(0) rotate(calc(-1 * var(--angle))) scale(.2)}12%,78%{opacity:1;transform:rotate(var(--angle)) translateY(calc(-1 * var(--reach))) rotate(calc(-1 * var(--angle))) scale(1)}92%,to{opacity:0;transform:rotate(var(--angle)) translateY(calc(-1.25 * var(--reach))) rotate(calc(-1 * var(--angle))) scale(.6)}}.crew-points{display:grid;gap:10px;margin:0;padding:0;list-style:none}.crew-points li{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:18px;background:var(--surface-2);font-size:14.5px;line-height:1.4}.crew-points li>span{flex:0 0 auto;font-size:20px}.crew-reward{display:flex;align-items:center;gap:14px;width:100%;padding:12px 14px;border:1px solid color-mix(in srgb,var(--brand) 26%,var(--line));border-radius:20px;background:linear-gradient(120deg,var(--tint),var(--surface));color:var(--ink);text-align:left}.crew-next-heart{flex:0 0 auto;width:54px;height:54px;animation:heart-float 4.8s ease-in-out infinite}.crew-next-heart svg{width:100%;height:100%}.crew-reward:not(.done) .crew-next-heart svg{filter:saturate(.8)}.crew-reward-copy{display:grid;gap:4px;flex:1;min-width:0}.crew-reward-copy strong{font-size:15px;font-weight:700}.crew-reward-copy small{color:var(--muted);font:500 11px var(--mono);letter-spacing:.06em}.crew-meter{height:6px;border-radius:3px;background:var(--surface-2);overflow:hidden}.crew-meter i{display:block;height:100%;min-width:6px;border-radius:inherit;background:var(--grad);transition:width .9s var(--spring)}.crew-copy{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:48px;padding:0 8px 0 16px;border:1px dashed color-mix(in srgb,var(--brand) 40%,var(--line));border-radius:16px;background:transparent;color:var(--ink);font:500 14px var(--mono)}.crew-copy-label{padding:7px 12px;border-radius:11px;background:var(--tint);color:var(--accent-ink);font:650 12px var(--font);transition:background .3s var(--ease),color .3s var(--ease)}.crew-copy.copied .crew-copy-label{background:var(--brand);color:var(--on-brand)}.crew-note{margin-top:-6px;font-size:12px}.skin-tile.crew{position:relative;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--brand) 38%,var(--line))}.skin-tile.crew:after{content:"✦";position:absolute;top:6px;right:8px;color:var(--brand);font-size:11px}.ac-icon .iv-a,.ac-icon .iv-b{transform-box:fill-box;transform-origin:0% 100%}.home-invite .iv-a,.home-invite .iv-b,#skins-invite .iv-a,#skins-invite .iv-b,#crew-share .iv-a,#crew-share .iv-b{animation:iv-pop 3.8s var(--spring) infinite}.home-invite .iv-b,#skins-invite .iv-b,#crew-share .iv-b{animation-delay:.45s}@keyframes iv-pop{0%,8%{opacity:0;transform:scale(.3) translate(-30%,30%)}22%,80%{opacity:1;transform:none}to{opacity:0;transform:scale(1.15) translate(10%,-10%)}}@media(prefers-reduced-motion:reduce){.crew-burst *,.crew-next-heart,.ac-icon .iv-a,.ac-icon .iv-b{animation:none!important}.crew-burst i{opacity:1}}.card-top .glow-portrait{--glow-radius: 17px;width:58px;height:70px}.card-top .glow-portrait>.avatar{width:100%;height:100%;border-radius:var(--glow-radius);box-shadow:none}.card-top .glow-portrait>.avatar img{width:100%;height:100%;object-fit:cover}.person-card>.card-where{padding-left:70px}.people[data-kind=live] .glow-portrait:after{right:-4px;bottom:-4px;z-index:3}.person-frame{--glow-radius: 26px;overflow:visible}.person-frame>img,.person-frame>.person-initial{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:var(--glow-radius)}.orbit-detail .person-frame{--glow-radius: 19px;position:absolute;top:10px;left:14px;width:72px;height:80px}.orbit-detail #person-photo{position:absolute;inset:0;width:100%;height:100%;-webkit-mask:none;mask:none}.orbit-detail .person-initial{width:100%;font-size:26px;color:#fff}.orbit-detail .person-identity{left:104px}.person-sheet:not(.orbit-detail) .person-frame{width:min(78%,320px);aspect-ratio:4 / 5;margin:16px auto 14px}.person-sheet:not(.orbit-detail) #person-photo{width:100%;height:100%;margin:0;aspect-ratio:auto;-webkit-mask:none;mask:none}.me-btn.glow-frame{box-shadow:none}.me-status{position:absolute;z-index:3;right:-3px;bottom:-3px;width:12px;height:12px;border-radius:50%;background:var(--faint, #a39d94);box-shadow:0 0 0 2.5px var(--bg);transition:background .5s var(--ease)}.is-live .me-status{background:var(--live-ink);animation:live-dot 2.4s ease-out infinite}.is-live .me-status{box-shadow:0 0 0 2.5px var(--bg)}.scrim{transition:opacity .35s,background-color .35s,-webkit-backdrop-filter .35s,backdrop-filter .35s}.scrim.quiet{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;pointer-events:none}.sheet.orbit-detail{transition:transform .42s var(--ease),opacity .3s var(--ease),visibility 0s linear .42s}.sheet.orbit-detail.open{transition:transform .5s cubic-bezier(.22,1,.36,1),opacity .32s var(--ease),visibility 0s}.skins-grid{position:relative}.skin-tile[aria-pressed=true]{box-shadow:inset 0 0 0 1px var(--line)}.skin-tile.crew[aria-pressed=true]{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--brand) 38%,var(--line))}.skin-cursor{position:absolute;z-index:2;top:0;left:0;border-radius:18px;pointer-events:none;box-shadow:inset 0 0 0 2px var(--brand),0 10px 24px #d44d7033;transition:transform .52s cubic-bezier(.34,1.32,.64,1),width .3s var(--ease),height .3s var(--ease)}.skin-cursor.instant{transition:none}.skin-tile.picked svg{animation:tile-pick .55s var(--spring)}@keyframes tile-pick{40%{transform:scale(1.16)}}.heart.skin-swap .heart-svg{animation:skin-swap .7s var(--ease)}@keyframes skin-swap{0%{opacity:.55;transform:scale(.94)}60%{opacity:1;transform:scale(1.04)}}.look-today{align-self:center;color:var(--muted);font-size:12px;font-weight:550}.ghosted-link .ac-icon{animation:ghost-drift 7s ease-in-out infinite}@keyframes ghost-drift{0%,62%,to{transform:none;opacity:1}70%{transform:translate(1px,-3px) rotate(-8deg)}78%{transform:translate(-1px,-1px) rotate(6deg);opacity:.55}86%{transform:translateY(-2px);opacity:1}}@media(prefers-reduced-motion:reduce){.glow-frame,.glow-btn,.me-status,.ghosted-link .ac-icon,.heart.skin-swap .heart-svg,.skin-tile.picked svg{animation:none!important}.skin-cursor{transition:none}}.glow-frame>.avatar{box-shadow:none!important}.me-card .glow-frame{--glow-radius: 22px}.chat-head .glow-frame{flex:0 0 auto}.glow-frame[data-activity]:after{content:"";position:absolute;z-index:3;right:-3px;bottom:-3px;width:11px;height:11px;border-radius:50%;background:var(--live-ink);box-shadow:0 0 0 2.5px var(--surface);opacity:0;transform:scale(.4);transition:opacity .4s var(--ease),transform .5s var(--spring)}.chat-head .glow-frame[data-activity]:after{box-shadow:0 0 0 2.5px var(--bg)}.glow-frame[data-activity].online:after{opacity:1;transform:none}#chat-meta.online{color:var(--live-ink)}.heart-aura,.heart-outline{fill:none;stroke:url(#heartOn);pointer-events:none}.heart-aura{stroke-width:1.5;opacity:.18;transition:opacity 1s var(--ease)}.heart-outline{stroke-width:.5;opacity:.4;transition:opacity 1s var(--ease)}.heart.on .heart-aura{opacity:.5;animation:heart-aura 4.2s ease-in-out 1.2s infinite}.heart.on .heart-outline{opacity:.9}:root:not([data-theme=dark]) .heart-aura,:root:not([data-theme=dark]) .heart-outline{stroke:url(#heartEdge)}:root:not([data-theme=dark]) .heart-outline{stroke-width:.72;opacity:.9}:root:not([data-theme=dark]) .heart.on .heart-outline{stroke-width:.8;opacity:1}:root:not([data-theme=dark]) .heart-aura{stroke-width:1.8;opacity:.3}:root:not([data-theme=dark]) .heart.on .heart-aura{opacity:.6}:root:not([data-theme=dark]) .heart-svg{filter:drop-shadow(0 12px 22px rgb(120 20 80 / .2))}:root:not([data-theme=dark]) .heart.on .heart-svg{filter:drop-shadow(0 16px 30px rgb(168 52 90 / .5))}@keyframes heart-aura{0%,to{opacity:.35}50%{opacity:.8}}.crew-virus{color:var(--brand)}.crew-virus .ac-icon{width:24px;height:24px;stroke-width:1.4;animation:virus-pulse 3.4s ease-in-out infinite}.crew-virus .vr-spikes{transform-box:view-box;transform-origin:12px 12.4px;animation:virus-turn 16s linear infinite}@keyframes virus-turn{to{transform:rotate(360deg)}}@keyframes virus-pulse{0%,70%,to{transform:scale(1)}80%{transform:scale(1.14)}}@media(prefers-reduced-motion:reduce){.heart.on .heart-aura,.crew-virus .ac-icon,.crew-virus .vr-spikes{animation:none}}@property --glow-spin{syntax: "<angle>"; inherits: false; initial-value: 0deg;}.glow-frame{--g1: #ffa3b5;--g2: #e05578;--g3: #a8345a;--r1: var(--g1);--r2: var(--g2);--r3: var(--g3);--ring: 2.5px;--glow-radius: 30%;position:relative;box-sizing:border-box;display:inline-grid;flex:0 0 auto;padding:var(--ring);border-radius:var(--glow-radius);background:conic-gradient(from var(--glow-spin),var(--r1),var(--r2),var(--r3),color-mix(in srgb,var(--r2) 30%,transparent),var(--r1));box-shadow:0 0 16px -5px color-mix(in srgb,var(--r2) 75%,transparent);animation:glow-spin 8s linear var(--glow-delay, 0s) infinite}.glow-frame>.avatar,.glow-frame>img,.glow-frame>.person-initial{border-radius:calc(var(--glow-radius) - 1px)}@keyframes glow-spin{to{--glow-spin: 360deg}}:root:not([data-theme=dark]) .glow-frame{--ring: 3px;--r1: color-mix(in srgb, var(--g1) 70%, #7a1f45);--r2: color-mix(in srgb, var(--g2) 80%, #5c1230);--r3: color-mix(in srgb, var(--g3) 75%, #3a0c22);box-shadow:0 2px 16px -4px color-mix(in srgb,var(--r2) 85%,transparent)}.person-frame>img,.person-frame>.person-initial{inset:var(--ring);width:calc(100% - 2 * var(--ring));height:calc(100% - 2 * var(--ring))}.orbit-detail #person-photo,.person-sheet:not(.orbit-detail) #person-photo{inset:var(--ring);width:calc(100% - 2 * var(--ring));height:calc(100% - 2 * var(--ring))}.person-sheet:not(.orbit-detail) .person-frame{box-shadow:0 10px 36px -10px color-mix(in srgb,var(--r2) 80%,transparent)}.card-top .glow-portrait>.avatar{width:100%;height:100%}.me-btn.glow-frame{width:auto;height:auto}body:not(.is-live) .me-btn.glow-frame{animation-play-state:paused;--r1: var(--line);--r2: var(--muted);--r3: var(--line);box-shadow:none}.glow-btn{--g1: #ff9db5;--g2: #e05578;--g3: #ffb46b;animation:btn-glow 3.6s ease-in-out infinite}@keyframes btn-glow{0%,to{box-shadow:0 0 0 1.5px color-mix(in srgb,var(--g1) 80%,transparent),-6px 3px 18px -6px var(--g1),6px -3px 18px -6px var(--g3)}50%{box-shadow:0 0 0 1.5px color-mix(in srgb,var(--g3) 80%,transparent),6px 4px 22px -4px var(--g2),-6px -3px 22px -4px var(--g3)}}:root:not([data-theme=dark]) .glow-btn{--g1: #e8436f;--g2: #c9365f;--g3: #f07a3a}.crush-mini.glow-btn{--g1: color-mix(in srgb, var(--tone, var(--brand)) 75%, #fff);--g2: var(--tone, var(--brand))}:root:not([data-theme=dark]) .crush-mini.glow-btn{--g1: color-mix(in srgb, var(--tone, var(--brand)) 80%, #5c1230);--g2: color-mix(in srgb, var(--tone, var(--brand)) 85%, #3a0c22)}.glow-btn.sent{animation:none}.row.glow-btn{animation-name:row-glow}@keyframes row-glow{0%,to{box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--g1) 70%,transparent)}50%{box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--g3) 80%,transparent)}}.crew-burst i .ac-icon{display:block;width:100%;height:100%;fill:currentColor;stroke:none}.sheet.orbit-detail{max-height:min(60dvh,540px)}.orbit-detail .person-hero{display:flex;align-items:center;gap:14px;height:auto;min-height:0;padding:12px 52px 8px 14px}.orbit-detail .person-frame{position:relative;top:auto;left:auto;flex:0 0 auto}.orbit-detail .person-identity{position:static;flex:1;min-width:0;padding:0}.orbit-detail .person-identity h2{overflow-wrap:anywhere}.sheet.dragging{transition:none!important}.sheet:not(.page):not(.full) .grab{position:relative}.sheet:not(.page):not(.full) .grab:after{content:"";position:absolute;inset:-14px -40px}.welcome-q{max-width:21em;margin:0 auto 8px;color:var(--muted);font-size:16.5px;font-weight:500;line-height:1.35;letter-spacing:-.01em;text-wrap:balance}.on-step.welcome h1.welcome-title{max-width:11em;margin:0 auto;font-size:clamp(30px,8.8vw,40px);font-weight:640;letter-spacing:-.04em;line-height:1.06;text-wrap:balance}.on-step.welcome h1.welcome-title em{display:inline-block;margin:0 .22em;padding:0 .1em;white-space:nowrap;color:var(--accent-ink);-webkit-text-fill-color:currentColor;background:linear-gradient(transparent 56%,color-mix(in srgb,var(--brand) 30%,transparent) 56% 94%,transparent 94%) no-repeat 0 0 / 0% 100%;-webkit-background-clip:border-box;background-clip:border-box;animation:marker-swipe .8s .45s var(--ease) forwards,hook-pop .5s 1.15s var(--spring)}:lang(zh) .on-step.welcome h1.welcome-title em{margin:0 .12em}@keyframes marker-swipe{to{background-size:100% 100%}}@keyframes hook-pop{40%{transform:scale(1.07) rotate(-1.5deg)}}@media(prefers-reduced-motion:reduce){.on-step.welcome h1.welcome-title em{animation:none;background-size:100% 100%}}.on-transfer{margin:2px auto 0;color:var(--accent-ink);font-size:13px;font-weight:600}.transfer-show,.transfer-enter{display:grid;gap:12px;text-align:center}.transfer-show[hidden],.transfer-enter[hidden]{display:none}.transfer-code{padding:18px 12px;border-radius:20px;background:var(--tint);color:var(--accent-ink);font:650 clamp(30px,10vw,40px) var(--mono);letter-spacing:.12em;user-select:all;-webkit-user-select:all}.transfer-input{width:100%;min-height:58px;padding:0 14px;border:1.5px solid var(--line);border-radius:18px;background:var(--surface-2);color:var(--ink);font:600 24px var(--mono);letter-spacing:.14em;text-align:center;text-transform:uppercase}.transfer-input:focus{outline:none;border-color:var(--brand)}:root:not([data-theme=dark]) .glow-frame{--ring: 3.5px;--r1: color-mix(in srgb, var(--g1) 55%, #8a1d4a);--r2: color-mix(in srgb, var(--g2) 70%, #6b1238);--r3: color-mix(in srgb, var(--g3) 60%, #3d0a24);background:conic-gradient(from var(--glow-spin),var(--r1),var(--r2),var(--r3),color-mix(in srgb,var(--r2) 45%,#fff),var(--r1));animation:glow-spin 8s linear var(--glow-delay, 0s) infinite,frame-breathe-light 4.4s ease-in-out var(--glow-delay, 0s) infinite}@keyframes frame-breathe-light{0%,to{box-shadow:0 0 0 .5px color-mix(in srgb,var(--r3) 60%,transparent),0 3px 12px -3px color-mix(in srgb,var(--r2) 70%,transparent)}50%{box-shadow:0 0 0 .5px color-mix(in srgb,var(--r3) 70%,transparent),0 4px 20px -2px color-mix(in srgb,var(--r2) 90%,transparent)}}:root:not([data-theme=dark]) body:not(.is-live) .me-btn.glow-frame{animation:none;box-shadow:none}:root:not([data-theme=dark]) .glow-btn{--g1: #d93a66;--g2: #b02a55;--g3: #e8642c;animation-name:btn-glow-light}@keyframes btn-glow-light{0%,to{box-shadow:0 0 0 2px color-mix(in srgb,var(--g1) 85%,transparent),-5px 4px 16px -4px color-mix(in srgb,var(--g1) 75%,transparent),5px -2px 16px -4px color-mix(in srgb,var(--g3) 70%,transparent)}50%{box-shadow:0 0 0 2px color-mix(in srgb,var(--g3) 85%,transparent),5px 5px 22px -3px color-mix(in srgb,var(--g2) 80%,transparent),-5px -2px 22px -3px color-mix(in srgb,var(--g3) 75%,transparent)}}:root:not([data-theme=dark]) .row.glow-btn{animation-name:row-glow}:root:not([data-theme=dark]) .glow-btn.sent{animation:none}.person-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}.person-meta:not(:has(>:not([hidden]))){display:none}.person-meta .encounter-timer{margin:0}.person-meta .person-locale{font-size:13px}#person-note[data-kind=matched]{display:none}.orbit-detail #person-note:not([data-kind=incoming]){display:none}.person-safety{gap:4px;padding-top:0;border-top:0}.person-safety .text-btn{min-height:34px;font-size:13px}.orbit-detail .person-safety .text-btn{min-height:30px;font-size:12px}.person-sheet:not(.orbit-detail) .person-frame{width:auto;height:max(180px,min(calc(100dvh - var(--safe-top) - var(--safe-bottom) - 400px),97.5vw,400px));aspect-ratio:4 / 5;margin:6px auto 12px}.person-sheet:not(.orbit-detail) .person-identity{padding:0 20px 8px;text-align:center}.person-sheet:not(.orbit-detail) .person-identity h2{font-size:30px}.person-sheet:not(.orbit-detail) .person-identity h2 small{font-size:22px}.person-sheet:not(.orbit-detail) .person-body{gap:10px;padding-top:2px}.person-sheet:not(.orbit-detail) .person-meta{justify-content:center}.person-sheet:not(.orbit-detail) .person-bio{font-size:15px;text-align:center}.person-sheet:not(.orbit-detail) #crush-btn{min-height:54px}.person-sheet:not(.orbit-detail) #person-note{margin-top:-4px;font-size:12px}.crew-points li{padding:10px 13px;font-size:14px;line-height:1.35}@media(max-height:760px){.crew-sheet{gap:10px}.crew-burst{height:84px;margin:0;transform:scale(.64)}.crew-points{gap:7px}.crew-points li{padding:9px 12px;font-size:13.5px}.crew-reward{padding:9px 12px}.crew-next-heart{width:46px;height:46px}#crew-share{min-height:50px}.crew-copy{min-height:44px}.crew-note{margin-top:-2px}}.person-sheet:not(.orbit-detail) .person-bio.look-line{justify-content:center}:where(.sheet,.rows)>*{flex-shrink:0}.row-copy small{text-wrap:pretty}.orbit-detail .person-meta .person-locale{font-size:12px}.prefs-summary{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.row-go{flex:0 0 auto;color:var(--faint);transition:transform .3s var(--ease)}.row-go .ac-icon{width:16px;height:16px}#open-prefs:active .row-go{transform:translate(3px)}#open-prefs .row-ico{position:relative}#open-prefs .row-ico:after{content:"";position:absolute;top:-3px;right:-3px;width:10px;height:10px;border-radius:50%;background:var(--brand);box-shadow:0 0 0 2px var(--surface);opacity:0;transform:scale(.4);transition:opacity .3s var(--ease),transform .4s var(--spring)}#open-prefs.nudge .row-ico:after{opacity:1;transform:none}.prefs-sheet .rows:not(:has(>:not([hidden]))){display:none}.rows>.row[hidden]:first-child+.row{border-top:0}.on-step.heart-step{gap:10px;justify-content:flex-start}.on-step.heart-step>:first-child{margin-top:auto}.on-step.heart-step>:last-child{margin-bottom:auto}.on-skin-preview{position:relative;flex:0 0 auto;width:clamp(72px,14dvh,140px);aspect-ratio:1;margin-top:4px;filter:drop-shadow(0 14px 22px rgb(120 20 80 / .18));animation:heart-float 4.8s ease-in-out infinite}.on-skin-preview svg{position:absolute;inset:0;width:100%;height:100%;transition:opacity .4s var(--ease),transform .45s var(--ease)}.on-skin-preview svg.entering{animation:skin-pour .55s var(--spring) both}.on-skin-preview svg.leaving{opacity:0;transform:scale(1.08)}@keyframes skin-pour{0%{opacity:0;transform:scale(.82)}}.on-skin-name{min-height:1.3em;font-family:var(--serif);font-style:italic;font-size:22px;line-height:1.2;color:var(--accent-ink)}.on-skins{display:flex;gap:8px;width:100%;padding:6px 4px 8px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,transparent,#000 22px,#000 calc(100% - 22px),transparent);mask-image:linear-gradient(90deg,transparent,#000 22px,#000 calc(100% - 22px),transparent)}.on-skins::-webkit-scrollbar{display:none}.on-skin{flex:0 0 auto;display:grid;place-items:center;width:58px;height:58px;padding:0;border:0;border-radius:18px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);scroll-snap-align:center;-webkit-tap-highlight-color:transparent;transition:transform .3s var(--spring),box-shadow .3s var(--ease)}.on-skin:first-child{margin-left:14px}.on-skin:last-child{margin-right:14px}.on-skin svg{width:40px;height:40px}.on-skin[aria-checked=true]{transform:scale(1.08);box-shadow:inset 0 0 0 2px var(--brand),0 8px 18px #d44d702e}.on-skin:active{transform:scale(.94)}.on-skin.holo .tile-liquid,.on-skin-preview.holo .tile-liquid{animation:slosh 2.6s linear infinite,holo 7s linear infinite}.on-skin-sub{font-size:14px}.heart-next.saving{animation:beat .8s var(--ease) infinite}.heart-next.saving:disabled svg{filter:drop-shadow(0 10px 18px rgb(212 77 112 / .32))}.heart-next.saving:disabled .hn-level{transform:translateY(calc(20.4px - var(--fill) * 16px))}.heart-next.saving .hn-arrow,.heart-next.saving .hn-arrow-edge{opacity:0}.onboarding.leaving{opacity:0;transform:scale(1.04);pointer-events:none;transition:opacity .55s var(--ease),transform .6s var(--ease)}.location-why{color:var(--muted);font-size:15px;line-height:1.4}.location-steps{display:grid;gap:8px;margin:0;padding:0;list-style:none;counter-reset:fix}.location-steps li{position:relative;padding:11px 14px 11px 48px;border-radius:16px;background:var(--surface-2);font-size:14.5px;line-height:1.4;counter-increment:fix;text-wrap:pretty}.location-steps li:before{content:counter(fix);position:absolute;left:12px;top:10px;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--brand);color:var(--on-brand);font:700 12px var(--font)}.location-steps.shake{animation:fix-shake .45s var(--ease)}@keyframes fix-shake{20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}#location-retry:disabled{opacity:.7}@media(prefers-reduced-motion:reduce){.on-skin-preview,.on-skin-preview svg.entering,.location-steps.shake{animation:none}}#radius-range{--lock: 100%}#radius-range::-webkit-slider-runnable-track{background:linear-gradient(90deg,var(--brand) var(--p),transparent var(--p)),linear-gradient(90deg,var(--surface-2) var(--lock),transparent var(--lock)),repeating-linear-gradient(-45deg,color-mix(in srgb,var(--brand) 26%,transparent) 0 3px,color-mix(in srgb,var(--brand) 8%,transparent) 3px 7px)}#radius-range::-moz-range-track{background:linear-gradient(90deg,var(--brand) var(--p),transparent var(--p)),linear-gradient(90deg,var(--surface-2) var(--lock),transparent var(--lock)),repeating-linear-gradient(-45deg,color-mix(in srgb,var(--brand) 26%,transparent) 0 3px,color-mix(in srgb,var(--brand) 8%,transparent) 3px 7px)}.radius-ticks{position:relative;display:block;height:16px}.radius-ticks span{position:absolute;top:0;left:calc(15px + (100% - 30px) * var(--at));margin:0!important;white-space:nowrap;transform:translate(-50%)}.radius-ticks span:first-child{transform:translate(-15px)}.radius-ticks span:last-child{transform:translate(calc(-100% + 15px))}#radius-sheet:not(.maxed) .tick-max:after{content:" 🔒"}.radius-boost,.crew-range{display:flex;align-items:center;gap:12px;width:100%;padding:11px 12px;border:1px solid color-mix(in srgb,var(--brand) 26%,var(--line));border-radius:20px;background:linear-gradient(120deg,var(--tint),var(--surface));color:var(--ink);text-align:left;transition:transform .25s var(--spring)}.radius-boost:active,.crew-range:active{transform:scale(.98)}.radius-boost.nudge{animation:boost-nudge .6s var(--spring)}@keyframes boost-nudge{30%{transform:scale(1.04);box-shadow:0 10px 28px #d44d7047}}.reach-badge{flex:0 0 auto;display:grid;place-items:center;align-content:center;width:50px;height:50px;border-radius:16px;background:var(--grad);color:#fff;font:800 17px/1 var(--font);letter-spacing:-.03em;box-shadow:0 6px 16px #d44d704d}.reach-badge small{font:600 10px/1.1 var(--mono);letter-spacing:.04em;opacity:.9}#radius-sheet.maxed .reach-badge,.crew-range.done .reach-badge{font-size:0}#radius-sheet.maxed .reach-badge:before,.crew-range.done .reach-badge:before{content:"🔓";font-size:22px}#radius-sheet.maxed .reach-badge small,.crew-range.done .reach-badge small{display:none}.radius-boost .row-go{margin-left:auto}.crew-range .crew-reward-copy strong,.radius-boost .crew-reward-copy strong{font-size:15px;font-weight:700}.radius-boost .crew-reward-copy small{color:var(--muted);font-size:12.5px;line-height:1.35}.crew-range .crew-reward-copy small{color:var(--muted);font:500 11px var(--mono);letter-spacing:.04em}@media(max-height:760px){.crew-range{padding:9px 12px}.reach-badge{width:44px;height:44px;font-size:15px}}@media(prefers-reduced-motion:reduce){.radius-boost.nudge{animation:none}}.chat-profile{display:flex;flex:1;align-items:center;gap:10px;min-width:0;padding:2px 6px 2px 0;border:0;border-radius:16px;background:none;color:inherit;text-align:left;-webkit-tap-highlight-color:transparent;transition:transform .2s var(--spring)}.chat-profile:active{transform:scale(.97)}.chat-profile .glow-frame{flex:0 0 auto}.chat-head-copy{display:flex;flex-direction:column}.chat-sheet .chat-name{display:block;overflow:hidden;font-size:17px;font-weight:650;letter-spacing:-.01em;line-height:1.2;white-space:nowrap;text-overflow:ellipsis}.chat-sheet #chat-meta{display:block;overflow:hidden;margin-top:1px;font-size:12px;font-weight:600;white-space:nowrap;text-overflow:ellipsis}.chat-head .icon-btn{flex:0 0 auto}.chat-head #chat-block{margin-left:2px}.chat-sheet .msg{position:relative}.chat-sheet .msg.me{background:linear-gradient(180deg,#fff3,#fff0 55%),linear-gradient(135deg,var(--bubble-from, var(--brand)),var(--bubble-to, var(--brand)));color:#fff;box-shadow:0 8px 18px -10px var(--bubble-to, var(--brand))}.chat-sheet .msg.them{background:color-mix(in srgb,var(--them, var(--brand)) 14%,var(--surface));color:var(--ink);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--them, var(--brand)) 34%,transparent)}.chat-sheet .msg:not(.joined-bottom):not(.emoji):before{content:"";position:absolute;bottom:-4px;width:12px;height:12px;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='3 4 18 17'%3E%3Cpath d='M12 20.3c-.5 0-.94-.18-1.33-.5C6.8 16.65 3 13.55 3 9.3 3 6.35 5.05 4.5 7.65 4.5c1.86 0 3.32.97 4.35 2.37C13.030 5.47 14.49 4.5 16.35 4.5 18.95 4.5 21 6.35 21 9.3c0 4.25-3.8 7.35-7.67 10.5-.39.32-.83.5-1.33.5Z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='3 4 18 17'%3E%3Cpath d='M12 20.3c-.5 0-.94-.18-1.33-.5C6.8 16.65 3 13.55 3 9.3 3 6.35 5.05 4.5 7.65 4.5c1.86 0 3.32.97 4.35 2.37C13.030 5.47 14.49 4.5 16.35 4.5 18.95 4.5 21 6.35 21 9.3c0 4.25-3.8 7.35-7.67 10.5-.39.32-.83.5-1.33.5Z'/%3E%3C/svg%3E") center / contain no-repeat;pointer-events:none}.chat-sheet .msg.me:not(.joined-bottom):not(.emoji):before{right:-5px;background:var(--bubble-to, var(--brand));transform:rotate(18deg)}.chat-sheet .msg.them:not(.joined-bottom):not(.emoji):before{left:-5px;background:color-mix(in srgb,var(--them, var(--brand)) 55%,var(--surface));transform:rotate(-18deg)}.chat-sheet .msg.failed{box-shadow:0 0 0 1.5px #d6455b}.chat-sheet .msg.me.enter{transform-origin:bottom right;animation:bubble-pop .55s cubic-bezier(.34,1.45,.64,1) both}.chat-sheet .msg.them.enter{transform-origin:bottom left;animation:bubble-pop .55s cubic-bezier(.34,1.45,.64,1) both}@keyframes bubble-pop{0%{opacity:0;scale:.55}45%{opacity:1}}.chat-sheet .msg-status{transition:color .3s,opacity .3s}@media(prefers-reduced-motion:reduce){.chat-sheet .msg.me.enter,.chat-sheet .msg.them.enter{animation:none}}.person-heart{display:inline-flex;align-items:center;gap:6px;padding:3px 10px 3px 4px;border-radius:999px;background:var(--surface-2);color:var(--ink);font-size:12.5px;font-weight:650}.person-heart svg{width:20px;height:20px}.orbit-detail .person-heart{font-size:11.5px}.person-sheet:not(.orbit-detail) .person-identity h2 small{font-size:18px;font-weight:550;color:var(--muted);opacity:1}.consent-check{display:flex;flex:0 0 auto;align-items:flex-start;gap:10px;width:min(100%,420px);padding:9px 12px;border-radius:18px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);color:inherit;text-align:left;transition:box-shadow .25s var(--ease),transform .25s var(--ease)}.consent-check .check{margin-top:1px}.consent-check:active{transform:scale(.985)}.consent-check[aria-checked=true]{box-shadow:inset 0 0 0 1.5px var(--accent)}[aria-checked=true] .check{background:var(--grad);box-shadow:none}[aria-checked=true] .check:after{content:"";width:9px;height:5px;border:solid #fff;border-width:0 0 2px 2px;transform:translateY(-1px) rotate(-45deg)}.consent-copy{display:grid;gap:2px}.consent-copy strong{font-size:14px;line-height:1.25}.consent-copy small{color:var(--muted);font-size:12px;line-height:1.3;text-wrap:pretty}.consent-check.nudge{animation:fix-shake .45s var(--ease);box-shadow:inset 0 0 0 1.5px var(--accent)}.consent-foot{position:relative;display:grid;flex:0 0 auto;place-items:center;min-height:1.4em;margin-top:-4px;font-size:12.5px}@media(max-height:760px){.on-step.heart-step{gap:8px}.heart-step .on-skin-sub{display:none}.on-step.heart-step h1{font-size:30px}.heart-step .on-skin-preview{width:clamp(64px,12dvh,120px)}.heart-step .heart-next{width:72px;height:72px;margin-top:2px}}.consent-foot>*{grid-area:1 / 1;transition:opacity .3s var(--ease)}.consent-foot a{color:var(--muted)}.consent-hint{opacity:0;color:var(--accent-ink);font-weight:650;pointer-events:none}.consent-foot.hinting .consent-hint{opacity:1}.consent-foot.hinting a{opacity:0;pointer-events:none}.consent-body{color:var(--muted);font-size:15px;line-height:1.45;text-wrap:pretty}.consent-body strong{display:block;margin-bottom:4px;color:var(--ink)}.consent-sheet .note a{color:inherit}.privacy-row .consent-status{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}.privacy-row .consent-status .text-btn{padding:0;font-size:13.5px}@media(prefers-reduced-motion:reduce){.consent-check.nudge{animation:none}}
