.globe-reveal{background:radial-gradient(circle at 50% 42%,#7a5cff 0%,#4b25ff 55%,#2a138f 100%);position:absolute;inset:0;overflow:hidden}.globe-reveal .globe-map{width:100%;height:100%;inset:0;position:absolute!important}.globe-map .maplibregl-ctrl-attrib{opacity:.75;font-size:10px}.globe-pin{opacity:0;pointer-events:none;flex-direction:column;align-items:center;gap:6px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-100%)translateY(-40px)}.globe-pin.in{animation:.55s cubic-bezier(.2,1.4,.4,1) forwards globe-pin-drop}.globe-pin-label{color:#17112b;white-space:nowrap;background:#ffd23f;border:2.5px solid #17112b;border-radius:999px;padding:6px 12px;font-size:15px;font-weight:800;box-shadow:3px 3px #17112b}.globe-pin-dot{background:#ff3ea5;border:3px solid #fff;border-radius:50%;width:16px;height:16px;position:relative;box-shadow:0 0 0 2px #17112b}.globe-pin-dot:after{content:"";border:3px solid #ff3ea5;border-radius:50%;animation:1.4s ease-out infinite globe-ping;position:absolute;inset:-10px}@keyframes globe-pin-drop{0%{opacity:0;transform:translate(-50%,-100%)translateY(-40px)}to{opacity:1;transform:translate(-50%,-100%)translateY(8px)}}@keyframes globe-ping{0%{opacity:1;transform:scale(.6)}to{opacity:0;transform:scale(2.2)}}@media (prefers-reduced-motion:reduce){.globe-pin.in{opacity:1;animation:none;transform:translate(-50%,-100%)translateY(8px)}.globe-pin-dot:after{animation:none}}.voice-aura{--lvl:0;--c1:#ffd23f;--c2:#ff3ea5;flex:none;place-items:center;display:grid;position:relative}.voice-aura.me{--c1:#2de2e6;--c2:#6a2cff}.va-core{z-index:2;width:100%;height:100%;transform:scale(calc(1 + var(--lvl) * .07));background:#fff;border:3px solid #fff;border-radius:50%;place-items:center;transition:transform 60ms linear;display:grid;position:relative;overflow:hidden;box-shadow:0 6px 22px #00000047}.va-core img{object-fit:cover;width:100%;height:100%}.va-ring{z-index:1;pointer-events:none;border-radius:50%;position:absolute;inset:0}.va-ring.r1{background:var(--c1);opacity:calc(.25 + var(--lvl) * .65);transform:scale(calc(1.06 + var(--lvl) * .32));transition:transform 70ms linear,opacity 70ms linear}.va-ring.r2{border:4px solid var(--c2);opacity:calc(var(--lvl) * .9);transform:scale(calc(1.12 + var(--lvl) * .62));transition:transform 90ms linear,opacity 90ms linear}.va-ring.r3{border:3px solid var(--c1);opacity:calc(.25 + var(--lvl) * .75);animation:2.4s ease-out infinite va-ripple}@keyframes va-ripple{0%{opacity:.55;transform:scale(1.05)}to{opacity:0;transform:scale(1.9)}}@media (prefers-reduced-motion:reduce){.va-ring.r3{animation:none}}:root{--bg:#111010;--bg-1:#1a1816;--bg-2:#241f1c;--bg-3:#2f2924;--line:#3a332d;--text:#f5efe8;--text-2:#b9ada2;--text-3:#7f746a;--accent:#f97316;--accent-2:#fb923c;--accent-soft:#f9731629;--worry:#a855f7;--worry-soft:#a855f72e;--ok:#22c55e;--warn:#f59e0b;--danger:#ef4444;--info:#60a5fa;--gold:#fbbf24;--radius:14px;--radius-sm:10px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;overscroll-behavior:none;-webkit-tap-highlight-color:transparent;font-family:Pretendard,-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Segoe UI,Roboto,Noto Sans KR,sans-serif;font-size:15px;line-height:1.5}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--accent-2);text-decoration:none}h1,h2,h3{margin:0 0 8px;line-height:1.25}h3{font-size:16px}p{margin:0 0 8px}.page{min-height:100%;padding:calc(var(--safe-top) + 16px) calc(var(--safe-right) + 16px) calc(var(--safe-bottom) + 88px) calc(var(--safe-left) + 16px);max-width:720px;margin:0 auto}.page.wide{max-width:1100px}.page.full{max-width:none;padding:0}.stack{flex-direction:column;gap:12px;display:flex}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.row.between{justify-content:space-between}.grow{flex:1;min-width:0}.center{text-align:center}.muted{color:var(--text-2)}.dim{color:var(--text-3);font-size:13px}.small{font-size:13px}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.card{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius);padding:16px}.card.accent{background:linear-gradient(160deg,#2a1a0f,#1a1612);border-color:#f9731659}.card.worry{background:linear-gradient(160deg,#23183a,#1a1612);border-color:#a855f759}.btn{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--bg-2);color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;gap:6px;min-height:44px;padding:11px 16px;font-weight:600;transition:transform 80ms,background .15s;display:inline-flex}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.ghost{background:0 0}.btn.danger{color:#fca5a5;background:#ef444426;border-color:#ef444480}.btn.sm{border-radius:8px;min-height:32px;padding:6px 10px;font-size:13px}.btn.block{width:100%}.btn.icon{border-radius:50%;width:48px;height:48px;padding:0;font-size:20px}.btn.icon.off{border-color:var(--danger);background:#ef444433}.input,.select,.textarea{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--bg-2);width:100%;color:var(--text);outline:none;min-height:44px;padding:11px 12px}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent)}.textarea{resize:vertical;min-height:72px}label.field{color:var(--text-2);flex-direction:column;gap:6px;font-size:13px;display:flex}input[type=range]{width:100%;accent-color:var(--accent)}.switch{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.switch input{width:22px;height:22px;accent-color:var(--accent)}.chip{border:1px solid var(--line);background:var(--bg-2);cursor:pointer;border-radius:999px;align-items:center;gap:5px;min-height:34px;padding:7px 12px;font-size:13px;display:inline-flex}.chip.worry.on{background:var(--worry-soft);border-color:var(--worry);color:#d8b4fe}.badge{background:var(--bg-3);color:var(--text-2);border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-flex}.badge.gold{color:var(--gold);background:#fbbf242e}.badge.purple{background:var(--worry-soft);color:#d8b4fe}.badge.blue{color:#93c5fd;background:#60a5fa2e}.badge.green{color:#86efac;background:#22c55e2e}.dot{border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.temp-big{letter-spacing:-1px;font-size:52px;font-weight:800;line-height:1}.temp-bar{background:var(--bg-3);border-radius:4px;height:8px;overflow:hidden}.temp-bar>div{background:linear-gradient(90deg,#60a5fa,#f97316,#ef4444);height:100%}.tabbar{padding:6px 0 calc(var(--safe-bottom) + 6px);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line);z-index:20;background:#111010eb;justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0}.tabbar a{color:var(--text-3);flex-direction:column;align-items:center;gap:2px;min-width:56px;padding:4px 10px;font-size:11px;display:flex}.tabbar a span.ico{font-size:20px}.toasts{top:calc(var(--safe-top) + 10px);z-index:100;pointer-events:none;flex-direction:column;gap:8px;width:min(92vw,420px);display:flex;position:fixed;left:50%;transform:translate(-50%)}.toast{background:var(--bg-3);border:1px solid var(--line);pointer-events:auto;border-radius:12px;padding:10px 14px;font-size:14px;animation:.2s toast-in;box-shadow:0 8px 24px #0006}.toast.error{border-color:var(--danger)}.toast.praise{border-color:var(--accent)}@keyframes toast-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.modal-backdrop{z-index:60;background:#0009;justify-content:center;align-items:flex-end;padding:0;display:flex;position:fixed;inset:0}@media (min-width:640px){.modal-backdrop{align-items:center;padding:20px}}.modal{background:var(--bg-1);border:1px solid var(--line);padding:20px 18px calc(var(--safe-bottom) + 20px);border-radius:20px 20px 0 0;width:100%;max-width:520px;max-height:90vh;animation:.18s toast-in;overflow:auto}@media (min-width:640px){.modal{border-radius:20px;padding-bottom:20px}}.conv{z-index:40;background:#000;flex-direction:column;display:flex;position:fixed;inset:0}.conv-stage{background:#0a0908;flex:1;min-height:0;position:relative;overflow:hidden}.conv-stage video.remote,.conv-stage canvas.remote{object-fit:cover;background:#0a0908;width:100%;height:100%;transition:filter .2s}.conv-stage .blurred{filter:blur(28px)brightness(.6)}.conv-stage .pip{right:12px;top:calc(var(--safe-top) + 64px);aspect-ratio:3/4;background:#111;border:1px solid #fff3;border-radius:12px;width:28%;max-width:160px;position:absolute;overflow:hidden;box-shadow:0 6px 20px #00000080}.conv-stage .pip video,.conv-stage .pip canvas{object-fit:cover;width:100%;height:100%;transform:scaleX(-1)}.conv-stage .pip video.blurred{filter:blur(16px)}.conv-top{padding:calc(var(--safe-top) + 10px) 12px 10px;z-index:3;background:linear-gradient(#000000b3,#0000);align-items:center;gap:8px;display:flex;position:absolute;top:0;left:0;right:0}.conv-controls{background:var(--bg);border-top:1px solid var(--line);flex-wrap:wrap;justify-content:center;gap:10px;padding:10px 12px;display:flex}.conv-panel{background:var(--bg);border-top:1px solid var(--line);flex-direction:column;max-height:42vh;display:flex}.conv-tabs{border-bottom:1px solid var(--line);display:flex}.conv-tabs button{color:var(--text-3);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:10px 6px;font-weight:600}.conv-tabs button.on{color:var(--accent-2);border-bottom-color:var(--accent)}.conv-panel-body{padding:10px 12px calc(var(--safe-bottom) + 10px);flex:1;overflow:auto}.msg{background:var(--bg-2);word-break:break-word;border-radius:14px;max-width:80%;margin:4px 0;padding:8px 12px}.msg.me{background:var(--accent);color:#1a0d04;margin-left:auto}.msg.flagged{border:1px dashed var(--warn)}.placeholder-stage{color:var(--text-2);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:24px;display:flex;position:absolute;inset:0}.quality{align-items:flex-end;gap:2px;height:14px;display:inline-flex}.quality i{background:var(--text-3);border-radius:1px;width:3px}.quality i.on{background:var(--ok)}.waveform{align-items:center;gap:4px;height:60px;display:flex}.waveform i{background:var(--accent);border-radius:3px;width:6px;animation:1s ease-in-out infinite wave}@keyframes wave{0%,to{height:12px}50%{height:48px}}.milestone{pointer-events:none;z-index:5;position:absolute;inset:0}.milestone-text{text-align:center;text-shadow:0 2px 12px #000c;font-size:22px;font-weight:800;animation:.3s toast-in;position:absolute;top:35%;left:0;right:0}.crisis{border:1px solid var(--info);color:#dbeafe;background:#16202c;border-radius:12px;padding:10px 12px;font-size:13px}.list-item{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:12px 0;display:flex}.avatar-dot{border-radius:50%;flex:none;justify-content:center;align-items:center;width:40px;height:40px;font-weight:700;display:flex;position:relative}.drink-badge{filter:drop-shadow(0 1px 2px #0009);pointer-events:none;line-height:1;position:absolute;bottom:-8%;right:-8%}.drink-inline{line-height:1}.badge.drink-chip{color:#fde68a;background:#00000073}.drink-vibe{opacity:.85;text-align:center;padding:0 12px}.drink-chips{gap:6px}.drink-chips.compact .chip{min-height:30px;padding:5px 10px;font-size:12px}.world-root{background:#0d1b12;position:fixed;inset:0;overflow:hidden}.world-canvas{touch-action:none;overscroll-behavior:none;-webkit-user-select:none;user-select:none;position:absolute;inset:0}.world-hud{pointer-events:none;position:absolute;inset:0}.world-hud>*{pointer-events:auto}.hud-top{top:calc(var(--safe-top) + 10px);align-items:flex-start;gap:8px;display:flex;position:absolute;left:10px;right:10px}.hud-bottom{bottom:calc(var(--safe-bottom) + 10px);flex-direction:column;gap:8px;display:flex;position:absolute;left:10px;right:10px}.hud-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--line);background:#111010db;border-radius:14px;padding:10px 12px}.overlay-wait{z-index:10;background:#000000b3;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.spinner{border:3px solid var(--line);border-top-color:var(--accent);border-radius:50%;width:36px;height:36px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.progress{background:var(--bg-3);border-radius:3px;height:6px;overflow:hidden}.progress>div{background:var(--accent);height:100%}.grid-2{grid-template-columns:1fr 1fr;gap:10px;display:grid}.hero-btn{border-radius:var(--radius);border:1px solid var(--line);background:var(--bg-1);cursor:pointer;text-align:left;color:var(--text);flex-direction:column;align-items:flex-start;gap:4px;padding:16px;display:flex}.hero-btn.primary{color:#1a0d04;background:linear-gradient(160deg,#f97316,#c2410c);border-color:#0000}.hero-btn.worry{color:#fff;background:linear-gradient(160deg,#a855f7,#6d28d9);border-color:#0000}.hero-btn .ico{font-size:26px}.hero-btn .ttl{font-size:16px;font-weight:800}.hero-btn .sub{opacity:.85;font-size:12px}.update-banner{border-bottom:1px solid var(--accent);text-align:center;background:#2a1a0f;padding:8px 16px;font-size:13px}.landing{--warmth:0;isolation:isolate;min-height:100vh;min-height:100dvh;padding:calc(var(--safe-top) + 20px) calc(var(--safe-right) + 16px) calc(var(--safe-bottom) + 16px) calc(var(--safe-left) + 16px);flex-direction:column;max-width:720px;margin:0 auto;display:flex;position:relative;overflow-x:hidden}.landing-bg{z-index:-1;pointer-events:none;transition:opacity .5s;position:fixed;inset:0}.landing-bg.cold{opacity:calc(1 - var(--warmth));background:linear-gradient(#0b1220 0%,#16233f 100%)}.landing-bg.warm{opacity:var(--warmth);background:linear-gradient(#1a0f0a 0%,#4a240e 100%)}.landing-sky{z-index:-1;pointer-events:none;opacity:calc(.95 - var(--warmth) * .6);transition:opacity .5s;position:fixed;inset:0}.star{background:#fff;border-radius:50%;width:2px;height:2px;animation:3.2s ease-in-out infinite twinkle;position:absolute;box-shadow:0 0 4px #fffc}.star:nth-child(3n){width:3px;height:3px}@keyframes twinkle{0%,to{opacity:.25;transform:scale(.8)}50%{opacity:1;transform:scale(1.15)}}.landing-head{text-align:center}.landing-caption{color:color-mix(in srgb, #fdba74 calc(var(--warmth) * 100%), #cbd5e1);min-height:20px;font-size:13px;transition:color .5s}.landing-title{letter-spacing:-.3px;text-shadow:0 2px 16px #00000080;margin:6px 0 0;font-size:26px;font-weight:800}.landing-stage{flex:1;justify-content:center;align-items:flex-end;min-height:240px;margin:8px -16px 0;display:flex;position:relative;overflow:hidden}.landing-bubbles{pointer-events:none;position:absolute;inset:0}.pulse-bubble{max-width:min(46vw,300px);color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;will-change:transform, opacity;background:#ffffff12;border:1px solid #ffffff1f;border-radius:14px;padding:6px 10px;font-size:12px;line-height:1.3;animation:14s linear infinite drift;position:absolute;overflow:hidden}.pulse-bubble.live{color:#fde7cf;background:#f9731624;border-color:#f9731659}.pulse-bubble .live-dot{background:var(--accent-2);width:6px;height:6px;box-shadow:0 0 6px var(--accent);vertical-align:middle;border-radius:50%;margin-right:5px;display:inline-block}@keyframes drift{0%{opacity:0;transform:translateY(28px)}12%{opacity:1}85%{opacity:1}to{opacity:0;transform:translate(16px,-48px)}}.landing-ground{z-index:1;justify-content:center;align-items:flex-end;gap:18px;padding-bottom:6px;display:flex;position:relative}.campfire{transform-origin:50% 100%;width:15em;height:15em;transform:scale(calc(.9 + .15 * var(--warmth,.67)));flex:none;font-size:10px;transition:transform .5s;position:relative}.campfire.sm{font-size:7px}.campfire-glow{background:radial-gradient(ellipse at 50% 100%, rgba(249, 115, 22, calc(.28 + .25 * var(--warmth,.6))) 0%, #f9731600 65%);pointer-events:none;width:36em;height:18em;animation:1.8s ease-in-out infinite alternate glow;position:absolute;bottom:-2em;left:50%;transform:translate(-50%)}@keyframes glow{0%{opacity:.7}to{opacity:1}}.campfire-log{background:linear-gradient(#5b3a22,#2f1d10);border-radius:1em;width:9em;height:2em;position:absolute;bottom:1.2em;left:50%;box-shadow:0 .2em .4em #00000080}.campfire-log.a{transform:translate(-50%)rotate(-14deg)}.campfire-log.b{transform:translate(-50%)rotate(16deg)}.campfire-flame{transform-origin:50% 100%;filter:blur(.15em);border-radius:50%/65% 65% 35% 35%;animation:.9s ease-in-out infinite alternate flicker;position:absolute;bottom:2.2em;left:50%}.campfire-flame.outer{opacity:.9;background:radial-gradient(at 50% 85%,#fb923c 0%,#f97316 35%,#ea580cb3 60%,#ea580c00 100%);width:7em;height:10em;margin-left:-3.5em}.campfire-flame.mid{background:radial-gradient(at 50% 85%,#fde68a 0%,#fbbf24 40%,#f9731600 100%);width:4.6em;height:7em;margin-left:-2.3em;animation-duration:.75s;animation-delay:-.3s}.campfire-flame.core{background:radial-gradient(at 50% 85%,#fff7ed 0%,#fde68a 50%,#fde68a00 100%);width:2.4em;height:4em;margin-left:-1.2em;animation-duration:.6s;animation-delay:-.6s;bottom:2.6em}@keyframes flicker{0%{transform:scaleY(1)scaleX(1)skew(0)}35%{transform:scaleY(1.08)scaleX(.94)skew(3deg)}70%{transform:scaleY(.95)scaleX(1.05)skew(-2deg)}to{transform:scaleY(1.04)scaleX(.97)skew(1.5deg)}}.ember{opacity:0;background:#fdba74;border-radius:50%;width:.5em;height:.5em;animation:2.4s ease-out infinite ember-rise;position:absolute;bottom:7em;left:50%;box-shadow:0 0 .6em #f97316}@keyframes ember-rise{0%{opacity:0;transform:translate(0)scale(1)}15%{opacity:1}to{transform:translate(var(--dx,0px), -11em) scale(.3);opacity:0}}.landing-sitter{flex:none;width:5.6em;height:7.6em;margin-bottom:.6em;font-size:10px;position:relative}.landing-sitter .head{background:#0b0806;border-radius:50%;width:3em;height:3em;margin:0 auto;box-shadow:inset -.5em -.2em .8em #f9731638}.landing-sitter .body{background:#0b0806;border-radius:2.8em 2.8em 1em 1em;width:5.6em;height:4.4em;margin-top:-.3em;box-shadow:inset -.8em -.4em 1.2em #f9731638}.landing-speech{color:#1a0d04;text-align:center;word-break:break-word;background:#fff7ed;border-radius:14px;width:max-content;max-width:min(200px,48vw);padding:8px 12px;font-size:14px;font-weight:600;line-height:1.3;animation:.25s toast-in;position:absolute;bottom:calc(100% + .8em);left:40%;transform:translate(-50%);box-shadow:0 6px 20px #0006}.landing-speech:after{content:"";background:#fff7ed;border-radius:2px;width:12px;height:12px;position:absolute;bottom:-6px;left:50%;transform:translate(-50%)rotate(45deg)}.landing-sitter-drink{filter:drop-shadow(0 2px 4px #0009);pointer-events:none;font-size:2.1em;line-height:1;animation:2.6s ease-in-out infinite drink-bob;position:absolute;top:3.6em;right:-1.3em}@keyframes drink-bob{0%,to{transform:translateY(0)rotate(-6deg)}50%{transform:translateY(-.25em)rotate(4deg)}}.landing-drink-prompt{margin-bottom:-4px}.landing-form{z-index:1;margin-top:12px;position:relative}.landing-input{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#00000059;border-color:#ffffff2e;padding:14px;font-size:17px}.landing-input:focus{border-color:var(--accent)}.landing-cta{min-height:50px;box-shadow:0 0 calc(8px + 24px * var(--warmth)) rgba(249, 115, 22, calc(.15 + .45 * var(--warmth)));font-size:16px;transition:box-shadow .5s,opacity .2s}.landing-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.landing-lang{gap:2px;display:flex}.landing-lang .btn.on{color:var(--accent-2);background:#ffffff0f}.sheet-backdrop{z-index:60;background:#0009;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--bg-1);border:1px solid var(--line);width:100%;max-width:520px;padding:20px 18px calc(var(--safe-bottom) + 20px);border-bottom:none;border-radius:20px 20px 0 0;animation:.25s sheet-up}@keyframes sheet-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@media (min-width:640px){.sheet-backdrop{align-items:center;padding:20px}.sheet{border-bottom:1px solid var(--line);border-radius:20px;padding-bottom:20px}}.wait-scene{text-align:center;background:radial-gradient(at 50% 70%,#2a1608 0%,#0b0806 70%);justify-content:center;align-items:center;gap:14px;padding:24px}.spark{background:linear-gradient(160deg,#2a1a0f,#1a1612);border-top:1px solid #f9731659;flex-direction:column;gap:8px;padding:10px 12px;animation:.25s toast-in;display:flex}.spark-prompt{color:#fde7cf;font-size:16px;font-weight:800}.spark-timer{color:var(--text-3);text-align:right;min-width:28px;font-size:12px}.spark-cards{grid-template-columns:1fr 1fr;gap:10px;display:grid}.flip{perspective:700px;height:72px}.flip-inner{width:100%;height:100%;transform-style:preserve-3d;animation:.6s cubic-bezier(.4,0,.2,1) forwards flip;position:relative}.flip-face{border:1px solid var(--line);background:var(--bg-2);text-align:center;word-break:break-word;backface-visibility:hidden;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:6px;display:flex;position:absolute;inset:0}.flip-face.front{color:var(--text-3);font-size:26px;font-weight:800}.flip-face.back{background:var(--accent-soft);border-color:#f9731680;transform:rotateY(180deg)}.flip-face.back.theirs{background:#60a5fa24;border-color:#60a5fa80}.flip-face strong{font-size:16px}@keyframes flip{0%{transform:rotateY(0)}to{transform:rotateY(180deg)}}.spark-nudge{margin-top:2px}.msg.system{max-width:92%;color:var(--text-3);text-align:center;background:0 0;align-self:center;padding:4px 8px;font-size:12px}.keep-warmth{border-radius:var(--radius);background:linear-gradient(160deg,#2a1a0f,#1a1612);border:1px solid #f9731659;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 12px;font-size:13px;display:flex}@media (prefers-reduced-motion:reduce){.star,.pulse-bubble,.campfire-flame,.campfire-glow,.landing-speech,.landing-sitter-drink,.sheet,.spark{animation:none}.pulse-bubble{opacity:1}.ember{display:none}.flip-inner{animation:none;transform:rotateY(180deg)}.landing-bg,.landing-sky,.landing-caption,.landing-cta,.campfire{transition:none}}.avatar-dot.avatar-shape-round,.avatar-shape-mini.avatar-shape-round{border-radius:50%}.avatar-dot.avatar-shape-bean,.avatar-shape-mini.avatar-shape-bean{border-radius:50% 50% 45% 55%/60% 60% 40% 40%}.avatar-dot.avatar-shape-square,.avatar-shape-mini.avatar-shape-square{border-radius:28%}.avatar-dot.avatar-shape-drop,.avatar-shape-mini.avatar-shape-drop{border-radius:50%/60% 60% 40% 40%}.avatar-drop-tip{pointer-events:none;border-radius:2px 0 0;width:34%;height:34%;position:absolute;top:-12%;left:50%;transform:translate(-50%)rotate(45deg)}.avatar-shape-mini{vertical-align:-3px;border:1px solid #00000059;width:16px;height:16px;margin-right:6px;display:inline-block;position:relative}.swatch{cursor:pointer;width:30px;height:30px;box-shadow:0 0 0 2px var(--bg-1);border:2px solid #0000;border-radius:50%;padding:0}.swatch.on{box-shadow:0 0 0 2px var(--accent);border-color:#fff}.chess-hud{max-width:340px}.chess-turn{text-align:center;border-radius:var(--radius-sm);background:var(--bg-2);padding:6px 10px}.chess-turn.mine{background:var(--accent-soft);color:var(--accent-2)}.chess-turn.over{background:var(--bg-3)}.chess-me{color:var(--accent-2);font-weight:700}.chess-board{aspect-ratio:1;-webkit-user-select:none;user-select:none;border:3px solid #3b2415;border-radius:6px;grid-template-rows:repeat(8,1fr);grid-template-columns:repeat(8,1fr);width:min(92vw,360px);margin:0 auto;display:grid;overflow:hidden}.chess-sq{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border:none;justify-content:center;align-items:center;margin:0;padding:0;font-size:clamp(18px,7vw,30px);line-height:1;display:flex;position:relative}.chess-sq:disabled{cursor:default}.chess-sq.light{background:#e8d2b0}.chess-sq.dark{background:#a3714a}.chess-sq.last:after{content:"";pointer-events:none;background:#facc1559;position:absolute;inset:0}.chess-sq.sel{box-shadow:inset 0 0 0 3px var(--accent)}.chess-sq.sel:after{content:"";pointer-events:none;background:#f9731647;position:absolute;inset:0}.chess-piece{z-index:1;pointer-events:none;position:relative}.chess-piece.w{color:#fffaf0;text-shadow:0 0 2px #000,0 1px 1px #000}.chess-piece.b{color:#141210;text-shadow:0 0 1px #ffffff80}.chess-moves{word-break:break-word;font-variant-numeric:tabular-nums;max-height:64px;overflow:auto}.only-phone{display:none}@media (max-width:640px){.hide-phone{display:none!important}.only-phone{display:inline}.hud-top{flex-wrap:wrap;gap:6px;left:8px;right:8px}.hud-top .hud-header{flex:100%;order:-1;padding:8px 10px}.hud-top .hud-btn,.hud-top .hud-chip{align-items:center;min-height:36px;padding:6px 10px;font-size:12px;display:inline-flex}.hud-top .prox .btn{min-height:28px;padding:4px 10px;font-size:16px}.hud-bottom{gap:6px;left:8px;right:8px}.hud-hint{padding:6px 10px;font-size:12px}.hud-chatline{gap:4px}.hud-emote{flex:0 0 36px;width:36px;height:36px;min-height:36px;padding:0;font-size:16px}.hud-send{min-height:40px;padding:0 14px}.hud-chatline .input{min-width:0;padding:8px 10px}.toasts{top:calc(var(--safe-top) + 104px);width:calc(100vw - 16px)}.conv-panel.tall{max-height:62vh}.conv-controls{gap:8px;padding:8px 10px}.conv-controls .btn{min-height:40px;padding:8px 12px;font-size:13px}.spark-prompt{font-size:15px}.conv-tabs button{padding:8px 4px;font-size:13px}.chess-board{width:min(94vw,360px)}.conv-panel.text{max-height:58vh}.conv-panel.text.tall{max-height:64vh}}.avatar-dot.avatar-pixel{background:0 0;border-radius:0;align-items:flex-end}.pixel-avatar{image-rendering:pixelated;image-rendering:crisp-edges;display:block}.stage-badges{z-index:5;pointer-events:none;flex-direction:column;align-items:center;gap:6px;display:flex;position:absolute;top:56px;left:0;right:0}.stage-badges .badge{color:#fde68a;background:#000000b3;padding:6px 12px;font-size:13px}.lobby{max-width:520px;padding:calc(var(--safe-top) + 16px) 16px calc(var(--safe-bottom) + 24px);flex-direction:column;gap:14px;min-height:100dvh;margin:0 auto;display:flex}.lobby-preview{aspect-ratio:4/3;border:1px solid var(--line);background:#0b0a0a;border-radius:18px;justify-content:center;align-items:center;max-height:46dvh;display:flex;position:relative;overflow:hidden}.lobby-preview video{object-fit:cover;width:100%;height:100%}.lobby-preview video.mirror{transform:scaleX(-1)}.lobby-off{opacity:.85;flex-direction:column;align-items:center;gap:10px;display:flex}.lobby-camoff{position:absolute;bottom:10px;right:10px}.lobby-modes{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.mode-btn{border:1px solid var(--line);color:inherit;font:inherit;cursor:pointer;text-align:center;background:#ffffff0a;border-radius:14px;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;display:flex}.mode-btn.on{border-color:var(--accent);background:#ff963c1f}.mode-btn .ico{font-size:26px}.mode-btn .sub{opacity:.7;font-size:11px}.hud-videos{top:calc(var(--safe-top) + 62px);flex-direction:column;gap:6px;display:flex;position:absolute;right:10px}.video-tile{border:1px solid var(--line);background:#000;border-radius:12px;width:128px;height:96px;position:relative;overflow:hidden}.video-tile video{object-fit:cover;width:100%;height:100%}.video-tile.me video{transform:scaleX(-1)}.video-tile.blurred video{filter:blur(18px)brightness(.6)}.video-tile-name{color:#fff;text-shadow:0 1px 3px #000;font-size:11px;position:absolute;bottom:4px;left:6px}@media (max-width:640px){.hud-videos{top:calc(var(--safe-top) + 104px);flex-direction:row;left:10px;right:10px;overflow-x:auto}.video-tile{flex:none;width:88px;height:66px}.lobby-modes{gap:6px}.mode-btn{padding:10px 4px}}.drink-chips.compact{scrollbar-width:none;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;padding-bottom:2px;overflow-x:auto}.drink-chips.compact::-webkit-scrollbar{display:none}.drink-chips.compact .chip{white-space:nowrap;flex:none}.hud-drinks{scrollbar-width:none;-webkit-overflow-scrolling:touch;border:1px solid var(--line);background:#111010b8;border-radius:14px;align-self:flex-start;gap:4px;max-width:100%;padding:4px;display:flex;overflow-x:auto}.hud-drinks::-webkit-scrollbar{display:none}.hud-drink{min-width:34px;height:34px;color:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:10px;flex:none;padding:0 6px;font-size:17px;line-height:1}.hud-drink.on{border-color:var(--accent);background:#ff963c2e}.hud-top{flex-wrap:wrap}.hud-zone{border:1px solid var(--line);border-left:4px solid var(--zone,var(--accent));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-align:center;background:#111010db;border-radius:14px;flex-direction:column;flex-basis:100%;order:20;align-items:center;gap:2px;padding:8px 14px;display:flex}.hud-zone-name{font-size:15px;font-weight:700}.hud-zone-sub{opacity:.8;font-size:12px}.hud-zone-worry_room{--zone:#a78bfa}.hud-zone-random_plaza{--zone:#f59e0b}.hud-zone-festival{--zone:#f472b6}.hud-zone-guide_desk{--zone:#60a5fa}.hud-zone-coop_plate{--zone:#2dd4bf}.wait-room{border:1px solid var(--zone,var(--accent));color:#fff;background:#ffffff0f;border-radius:999px;padding:6px 14px;font-size:17px;font-weight:700}.hud-card.wait-worry{border-color:#a78bfa}@media (max-width:640px){.world-hud.in-zone .hud-videos{top:calc(var(--safe-top) + 162px)}.hud-zone{padding:6px 12px}.hud-zone-name{font-size:14px}}.beauty-chip{align-self:flex-start}.start-call{min-height:56px;font-size:18px}.btn.ig{color:#fff;background:#e1306c;border-color:#e1306c}.brand-logo{filter:drop-shadow(0 10px 28px #ff468c40);width:min(260px,70vw);height:auto;margin:0 auto 6px;display:block}.brand-logo.sm{filter:none;width:96px;margin:0}.lobby-top{align-items:center}:root{--ink:#17112b;--paper:#fff;--pop-yellow:#ffd23f;--pop-pink:#ff3ea5;--pop-cyan:#2de2e6;--pop-violet:#6a2cff;--pop-orange:#ff7a1a;--pop-lime:#b8f43a;--pop-shadow:4px 4px 0 var(--ink);--pop-shadow-sm:3px 3px 0 var(--ink);--pop-border:2.5px solid var(--ink);--font-pop:"Bagel Fat One", "Pretendard", -apple-system, "Apple SD Gothic Neo", sans-serif;--bg:#5b2eff;--bg-1:var(--paper);--bg-2:var(--paper);--bg-3:#f1ebff;--line:var(--ink);--text:#fff;--text-2:#ffffffe6;--text-3:#ffffffc7;--accent:var(--pop-yellow);--accent-2:var(--pop-yellow);--accent-soft:var(--pop-yellow);--worry:#9b5cff;--worry-soft:#e9dcff;--danger:#ff2d55;--danger-text:#fff15c;--radius:20px;--radius-sm:14px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body{word-break:keep-all;overflow-wrap:anywhere;background-color:#5b2eff;background-image:radial-gradient(#ffffff29 1.3px,#0000 1.8px),radial-gradient(circle at 12% 8%,#ffd23fbf 0,#ffd23f00 26%),radial-gradient(circle at 92% 28%,#2de2e699 0,#2de2e600 24%),radial-gradient(circle at 80% 96%,#ff3ea5d9 0,#ff3ea500 34%),linear-gradient(160deg,#4b25ff 0%,#7a2cff 45%,#c02bd9 78%,#ff3ea5 100%);background-size:16px 16px,auto,auto,auto,auto;background-attachment:fixed;min-height:100dvh}h1,h2{font-family:var(--font-pop);letter-spacing:.2px;text-shadow:3px 3px 0 var(--ink);-webkit-text-stroke:.6px var(--ink);font-weight:400}h1{font-size:30px}h2{font-size:22px}a{color:var(--accent-2);font-weight:700}.card,.modal,.mode-btn,.toast,.input,.select,.textarea,.chip,.list-item{--text:var(--ink);--text-2:#43385f;--text-3:#6d6388;--accent-2:#b0127a;--danger-text:#d7263d;color:var(--text)}.card h1,.card h2,.modal h1,.modal h2{text-shadow:none;-webkit-text-stroke:0;color:var(--ink)}.card{background:var(--paper);border:var(--pop-border);border-radius:var(--radius);box-shadow:var(--pop-shadow)}.card.accent{border-color:var(--ink);background:#fff6cc}.card.worry{border-color:var(--ink);background:#f1e6ff}.btn{border:var(--pop-border);background:var(--paper);color:var(--ink);box-shadow:var(--pop-shadow-sm);border-radius:999px;font-weight:800;transition:transform 80ms,box-shadow 80ms}.btn:active:not(:disabled){box-shadow:1px 1px 0 var(--ink);transform:translate(2px,2px)}.btn.primary{background:var(--pop-yellow);border-color:var(--ink);color:var(--ink)}.btn.worry{background:var(--worry);border-color:var(--ink);color:#fff}.btn.ghost{color:#fff;box-shadow:none;background:#ffffff29;border-color:#ffffffd9}.card .btn.ghost,.modal .btn.ghost{color:var(--ink);border-color:var(--ink);background:0 0}.btn.danger{background:var(--danger);border-color:var(--ink);color:#fff}.btn.sm{box-shadow:2px 2px 0 var(--ink);border-width:2px;border-radius:999px}.btn.icon.active{background:var(--pop-yellow);border-color:var(--ink)}.btn.icon.off{background:var(--danger);border-color:var(--ink);color:#fff}.btn.ig{background:var(--pop-pink);border-color:var(--ink);color:#fff}.start-call{min-height:60px;font-size:20px;font-family:var(--font-pop);letter-spacing:.3px;box-shadow:5px 5px 0 var(--ink);font-weight:400}.input,.select,.textarea{background:var(--paper);border:var(--pop-border);border-radius:var(--radius-sm);color:var(--ink)}.input::placeholder,.textarea::placeholder{color:#8f86a8}.input:focus,.select:focus,.textarea:focus{border-color:var(--ink);box-shadow:0 0 0 3px var(--pop-cyan)}label.field{color:var(--text-2);font-weight:700}input[type=checkbox]{accent-color:var(--pop-pink);width:20px;height:20px}.chip{background:var(--paper);border:2px solid var(--ink);box-shadow:2px 2px 0 var(--ink);font-weight:700}.chip.on{background:var(--pop-yellow);border-color:var(--ink);color:var(--ink)}.chip.worry.on{border-color:var(--ink);color:var(--ink);background:#d9c2ff}.badge{background:var(--paper);color:var(--ink);border:1.5px solid var(--ink);font-weight:800}.badge.gold{background:var(--pop-yellow);color:var(--ink)}.badge.warm{background:var(--pop-pink);color:#fff}.badge.purple{color:var(--ink);background:#d9c2ff}.badge.blue{background:var(--pop-cyan);color:var(--ink)}.badge.green{background:var(--pop-lime);color:var(--ink)}.temp-bar{border:2px solid var(--ink);background:var(--paper);border-radius:999px;height:12px}.temp-bar>div{background:linear-gradient(90deg, var(--pop-cyan), var(--pop-yellow), var(--pop-pink))}.tabbar{background:var(--paper);border-top:3px solid var(--ink);-webkit-backdrop-filter:none;backdrop-filter:none}.tabbar a{color:#6d6388;font-weight:700}.tabbar a.active{color:var(--pop-pink)}.toast{background:var(--paper);border:var(--pop-border);box-shadow:var(--pop-shadow);border-radius:16px;font-weight:600}.toast.error{border-color:var(--ink);background:#ffe1e8}.toast.praise{border-color:var(--ink);background:#fff6cc}.toast.crisis{border-color:var(--ink);background:#dffbfb}.modal-backdrop{background:#17112b8c}.modal{background:var(--paper);border:var(--pop-border);box-shadow:6px 6px 0 var(--ink)}.lobby-preview{border:3px solid var(--ink);box-shadow:6px 6px 0 var(--ink);background:var(--ink);color:#fff;border-radius:24px}.mode-btn{background:var(--paper);border:var(--pop-border);box-shadow:var(--pop-shadow-sm);font-weight:700}.mode-btn.on{background:var(--pop-yellow);border-color:var(--ink);box-shadow:5px 5px 0 var(--ink);transform:translate(-1px,-1px)}.mode-btn .sub{opacity:.85}.brand-logo{filter:drop-shadow(5px 6px #17112b8c)}.brand-logo.sm{filter:drop-shadow(2px 3px #17112b80)}.provider-dot{border:var(--pop-border);width:56px;height:56px;box-shadow:var(--pop-shadow-sm);cursor:pointer;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:24px;font-weight:900;transition:transform 80ms,box-shadow 80ms;display:inline-flex;position:relative}.provider-dot:active:not(:disabled){box-shadow:1px 1px 0 var(--ink);transform:translate(2px,2px)}.provider-nokey{border:2px solid var(--ink);background:#c9c3d9;border-radius:50%;width:14px;height:14px;position:absolute;top:-3px;right:-3px}.or-line{color:#ffffffd9;align-items:center;gap:10px;font-size:13px;font-weight:800;display:flex}.or-line:before,.or-line:after{content:"";background:#ffffff8c;border-radius:2px;flex:1;height:2px}.pop-burst{border:2px solid var(--ink);background:var(--pop-yellow);color:var(--ink);box-shadow:2px 2px 0 var(--ink);border-radius:999px;padding:4px 12px;font-size:13px;font-weight:800;display:inline-block;transform:rotate(-3deg)}.conv,.world-root,.overlay-wait{--bg:#111010;--bg-1:#1a1816;--bg-2:#241f1c;--bg-3:#2f2924;--line:#3a332d;--text:#f5efe8;--text-2:#b9ada2;--text-3:#7f746a;--accent:#ffd23f;--accent-2:#ffd23f;--danger-text:#fca5a5;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text)}.conv .card,.world-root .card{--text:var(--ink)}.at-input{cursor:text;align-items:center;gap:2px;display:flex}.at-input>span{color:var(--ink,#17112b);font-weight:800}.at-input>input{min-width:0;font:inherit;color:inherit;background:0 0;border:none;outline:none;flex:1;padding:0}.at-input:focus-within{box-shadow:0 0 0 3px var(--pop-cyan,#2de2e6)}.lobby{max-width:1240px;padding:calc(var(--safe-top) + 12px) 12px calc(var(--safe-bottom) + 18px);gap:12px}.lobby-main{flex-direction:column;flex:1;gap:14px;min-height:0;display:flex}.lobby-side{flex-direction:column;gap:14px;min-width:0;display:flex}.lobby-preview{aspect-ratio:3/4;width:100%;max-height:62dvh}@media (min-width:900px){.lobby{padding:calc(var(--safe-top) + 18px) 28px 28px}.lobby-main{grid-template-columns:minmax(0,1.15fr) minmax(360px,1fr);align-items:stretch;gap:22px;display:grid}.lobby-preview{aspect-ratio:auto;height:calc(100dvh - 120px);min-height:480px;max-height:none}.lobby-side{border:2.5px solid var(--ink,#17112b);box-shadow:6px 6px 0 var(--ink,#17112b);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff1f;border-radius:24px;justify-content:center;padding:26px}.lobby-side .start-call{margin-top:8px!important}}.callwall{pointer-events:none;z-index:0;position:fixed;inset:0;overflow:hidden}.cw-col{flex-direction:column;gap:26px;width:clamp(170px,16vw,230px);display:flex;position:absolute;top:7vh}.cw-col.left{left:max(18px,50% - 640px)}.cw-col.right{top:16vh;right:max(18px,50% - 640px)}.cw-col .cw-tile:nth-child(2){margin-left:22px;transform:rotate(3deg)}.cw-col .cw-tile:nth-child(3){margin-left:-10px}.cw-tile{aspect-ratio:4/5;border:3px solid var(--ink,#17112b);box-shadow:6px 6px 0 var(--ink,#17112b);border-radius:22px;animation:5.5s ease-in-out infinite cw-bob;position:relative;overflow:visible}.cw-tile>.cw-face{width:88%;height:92%;position:absolute;inset:8% 6% 0}.cw-live{z-index:2;letter-spacing:.08em;color:#fff;border:2px solid var(--ink,#17112b);background:#ff2d55;border-radius:999px;padding:4px 7px;font:800 10px/1 system-ui,sans-serif;position:absolute;top:8px;left:8px}.cw-live:before{content:"";background:#fff;border-radius:50%;width:6px;height:6px;margin-right:4px;animation:1.2s steps(2,end) infinite cw-blink-dot;display:inline-block}.cw-pip{aspect-ratio:3/4;border:2.5px solid var(--ink,#17112b);z-index:2;border-radius:12px;width:34%;position:absolute;top:8px;right:8px;overflow:hidden}.cw-pip .cw-face{width:100%;height:100%;margin-top:10%}.cw-name{z-index:2;color:var(--ink,#17112b);border:2px solid var(--ink,#17112b);background:#fff;border-radius:999px;padding:5px 9px;font:800 12px/1 system-ui,sans-serif;position:absolute;bottom:8px;left:8px}.cw-emoji{z-index:3;opacity:0;font-size:28px;animation:3.6s ease-out infinite cw-pop;position:absolute;bottom:18%;right:14%}.cw-emoji.two{font-size:22px;left:18%;right:auto}.cw-wave{z-index:3;transform-origin:70% 90%;font-size:30px;animation:1.6s ease-in-out infinite cw-wave;position:absolute;top:46%;left:4%}.cw-eyes{transform-origin:50px 50px;animation:4.2s infinite cw-blink}.cw-mouth{transform-origin:50px 62px}.cw-mouth.cw-laugh{animation:.9s ease-in-out infinite cw-laugh}.cw-mouth.cw-smile,.cw-mouth.cw-wink{animation:2.4s ease-in-out infinite cw-talk}@keyframes cw-bob{0%,to{translate:0}50%{translate:0 -12px}}@keyframes cw-blink{0%,92%,to{transform:scaleY(1)}95%{transform:scaleY(.1)}}@keyframes cw-laugh{0%,to{transform:scaleY(1)}50%{transform:scaleY(.72)}}@keyframes cw-talk{0%,to{transform:scale(1)}30%{transform:scale(1.12,1.25)}60%{transform:scale(.95,.9)}}@keyframes cw-pop{0%{opacity:0;transform:translateY(0)scale(.4)rotate(-10deg)}15%{opacity:1;transform:translateY(-10px)scale(1.15)rotate(6deg)}70%{opacity:1}to{opacity:0;transform:translateY(-70px)scale(.9)rotate(-4deg)}}@keyframes cw-wave{0%,to{transform:rotate(0)}25%{transform:rotate(18deg)}75%{transform:rotate(-12deg)}}@keyframes cw-blink-dot{50%{opacity:.2}}.cw-strip{margin:2px -16px 4px;padding:10px 0 18px;display:none;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000);mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000)}.cw-track{gap:16px;width:max-content;animation:36s linear infinite cw-marquee;display:flex}.cw-strip .cw-tile{width:118px;box-shadow:4px 4px 0 var(--ink,#17112b);flex:none}.cw-strip .cw-tile:nth-child(odd){rotate:-2deg}.cw-strip .cw-tile:nth-child(2n){rotate:2deg}.cw-strip .cw-emoji{font-size:22px}.cw-strip .cw-name{padding:4px 7px;font-size:10px}@keyframes cw-marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}@media (max-width:1099px){.callwall{display:none}.cw-strip{display:block}}.login-page{z-index:1;position:relative}@media (prefers-reduced-motion:reduce){.cw-tile,.cw-eyes,.cw-mouth,.cw-emoji,.cw-wave,.cw-track,.cw-live:before{animation:none!important}.cw-emoji{opacity:1}}.lobby{height:100dvh;min-height:0;overflow:hidden}.lobby-modes{grid-template-columns:repeat(2,1fr)}.filter-row{scrollbar-width:none;flex-wrap:nowrap;flex:none;gap:6px;padding:2px 4px 6px 2px;display:flex;overflow-x:auto}.filter-row::-webkit-scrollbar{display:none}.filter-row .chip{white-space:nowrap;flex:none}.worry-box{color:#fff;text-align:left;flex-direction:column;gap:8px;width:min(420px,86%);display:flex}.worry-box strong{font-size:17px}.worry-box textarea{resize:none;border:2.5px solid var(--ink,#17112b);width:100%;color:var(--ink,#17112b);font:inherit;box-shadow:4px 4px 0 var(--pop-yellow,#ffd23f);background:#fff;border-radius:16px;outline:none;padding:12px 14px;font-size:17px;font-weight:600}.worry-box textarea:focus{box-shadow:0 0 0 3px var(--pop-cyan,#2de2e6), 4px 4px 0 var(--pop-yellow,#ffd23f)}.worry-box .dim{color:#ffffffbf}@media (max-width:899px){.lobby{gap:8px}.lobby-main{gap:10px}.lobby-preview{aspect-ratio:auto;flex:1;min-height:0;max-height:none}.lobby-side{flex:none;gap:10px}.lobby-ready{display:none}.mode-btn{flex-direction:row;justify-content:center;gap:8px;padding:10px 8px}.mode-btn .ico{font-size:20px}.mode-btn .sub,.mode-btn .badge{display:none}.start-call{min-height:54px;font-size:18px}}@media (min-width:900px){.lobby-main{min-height:0}.lobby-preview{height:100%;min-height:0}.lobby-side{justify-content:center;overflow:hidden}}.setup-page{max-width:560px;padding-top:max(28px,5vh)}.brand-logo.sm-center{width:150px;margin:0 auto}.at-input input{min-width:0}.perm-box{text-align:center;color:#fff;flex-direction:column;align-items:center;gap:10px;max-width:440px;padding:24px;display:flex}.perm-box .perm-ico{font-size:40px}.perm-box strong{font-size:19px}.perm-box p{color:#ffffffd9;margin:0;line-height:1.5}.back-btn{top:calc(var(--safe-top) + 12px);left:calc(var(--safe-left) + 12px);z-index:30;border:2.5px solid var(--ink,#17112b);width:46px;height:46px;color:var(--ink,#17112b);box-shadow:3px 3px 0 var(--ink,#17112b);cursor:pointer;background:#fff;border-radius:50%;font-size:22px;font-weight:900;line-height:1;position:fixed}.back-btn:active{box-shadow:1px 1px 0 var(--ink,#17112b);transform:translate(2px,2px)}.with-back .page{padding-top:calc(var(--safe-top) + 70px)}.suspended-page{background:var(--pop-yellow,#ffd23f);justify-content:center;align-items:center;min-height:100dvh;padding:20px 16px;display:flex}.suspended-card{width:min(460px,100%);color:var(--ink,#17112b);border:3px solid var(--ink,#17112b);box-shadow:6px 6px 0 var(--ink,#17112b);text-align:left;background:#fff;border-radius:22px;padding:26px 22px 20px}.suspended-card h1{color:var(--ink,#17112b);text-shadow:none;-webkit-text-stroke:0;letter-spacing:0;word-break:keep-all;margin:6px 0 12px;font-family:system-ui,-apple-system,Apple SD Gothic Neo,sans-serif;font-size:22px;font-weight:800;line-height:1.25}.suspended-card .dim{color:#5d5670}.suspended-card .btn.ghost{color:var(--ink,#17112b);border:2px solid var(--ink,#17112b);background:#fff}.suspended-card p{word-break:keep-all;margin:0 0 10px;line-height:1.55}.suspended-ico{font-size:40px}.suspended-still{border:2px solid var(--ink,#17112b);background:#fff4d6;border-radius:12px;padding:8px 10px;font-size:14px}.admin-shot{aspect-ratio:4/3;border:2px solid var(--ink,#17112b);cursor:pointer;background:#222;border-radius:12px;width:220px;max-width:100%;padding:0;position:relative;overflow:hidden}.admin-shot img{object-fit:cover;width:100%;height:100%;display:block}.admin-shot.hidden img{filter:blur(18px)}.admin-shot .admin-shot-tag{color:#fff;text-align:center;background:#000000a6;border-radius:8px;padding:3px 6px;font-size:12px;position:absolute;inset:auto 6px 6px}.admin-status{border:2px solid var(--ink,#17112b);border-radius:999px;padding:2px 8px;font-size:12px;font-weight:700}.admin-status.on_hold{background:#ffd23f}.admin-status.blocked{color:#fff;background:#ff5a5a}.admin-status.active{background:#b8f43a}.admin-page{max-height:100dvh;overflow-y:auto}.remote-tile{background:#000;position:absolute;inset:0;overflow:hidden}.remote-tile video.remote{object-fit:contain;background:0 0;position:relative}.remote-backdrop{object-fit:cover;filter:blur(32px)brightness(.55);pointer-events:none;width:calc(100% + 80px);height:calc(100% + 80px);position:absolute;inset:-40px}.conv-who{text-shadow:0 1px 4px #000;color:#fff;flex-wrap:nowrap;overflow:hidden}.conv-name{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:16px;overflow:hidden}.conv-top .conv-report{color:#fff;box-shadow:none;background:#00000059;border-color:#fff9;flex:none}.path-chip{color:#052e12;white-space:nowrap;text-shadow:none;background:#22c55e;border-radius:999px;padding:1px 6px;font-size:11px;font-weight:800}.path-chip.turn{color:#2a1000;background:#ff7a1a}.conv.full .conv-stage{flex:1}.conv.full .conv-stage .pip{top:calc(var(--safe-top) + 56px);z-index:4;border:2px solid #ffffffd9;border-radius:14px;width:26%;max-width:130px}.conv.full .conv-controls{z-index:6;padding:18px 12px calc(var(--safe-bottom) + 16px);background:linear-gradient(#0000,#0009);border-top:none;flex-wrap:nowrap;position:absolute;bottom:0;left:0;right:0}.conv.full .conv-controls .btn.icon{width:52px;height:52px;min-height:52px;padding:0;font-size:22px}.conv.full .conv-controls .btn.danger{min-height:52px;padding:0 20px}.chat-toggle{position:relative}.chat-unread{background:var(--pop-pink);color:#fff;border:2px solid var(--ink);border-radius:999px;min-width:20px;height:20px;padding:0 5px;font-size:12px;font-weight:800;line-height:20px;position:absolute;top:-4px;right:-4px}.conv.full .conv-panel{left:8px;right:8px;bottom:calc(var(--safe-bottom) + 90px);z-index:7;-webkit-backdrop-filter:blur(10px);background:#111010d1;border:1px solid #fff3;border-radius:18px;max-height:44vh;position:absolute;overflow:hidden}@media (min-width:900px){.conv.full .conv-stage .pip{aspect-ratio:auto;width:50%;max-width:none;height:100%;box-shadow:none;border:none;border-right:3px solid #000;border-radius:0;inset:0 auto 0 0}.conv.full .remote-tile,.conv.full .conv-top,.conv.full .conv-controls{left:50%}.conv.full .conv-panel{max-width:460px;margin-left:auto;left:calc(50% + 12px);right:12px}}.partner-intro{z-index:3;text-align:center;color:#fff;pointer-events:none;background:linear-gradient(160deg,#4b25ff 0%,#7a2cff 55%,#a12be0 100%);flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:24px;display:flex;position:absolute;inset:0}.pi-avatar{background:#ffffffeb;border:3px solid #fff;border-radius:50%;place-items:center;width:120px;height:120px;margin-bottom:4px;display:grid;box-shadow:0 8px 28px #00000040}.pi-name{font-size:26px;font-weight:800}.partner-facts{color:#ffffffd9;font-size:17px}.pi-temp{color:var(--ink);--text:var(--ink);background:#ffffffeb;border-radius:999px;padding:3px 12px;font-size:15px}.pi-topic{color:#ffffffd9;max-width:320px;font-size:14px}.pi-connecting{align-items:center;gap:8px;margin-top:28px;font-size:17px;font-weight:700;display:inline-flex}.spinner.sm{border-width:2.5px;border-color:#fff #ffffff59 #ffffff59;width:18px;height:18px}.placeholder-stage .partner-facts{font-size:14px}.perm-backdrop{z-index:95;-webkit-backdrop-filter:blur(6px);background:#0e0824c7;place-items:center;padding:16px;animation:.18s toast-in;display:grid;position:fixed;inset:0}.perm-sheet,.report-sheet{text-align:center;flex-direction:column;align-items:center;gap:12px;width:100%;max-width:400px;max-height:calc(100dvh - 32px);padding:26px 20px 18px;display:flex;position:relative;overflow-y:auto}.perm-sheet h2,.report-sheet h2{margin:0;font-family:-apple-system,BlinkMacSystemFont,Pretendard,Apple SD Gothic Neo,sans-serif;font-size:20px;font-weight:800;line-height:1.3}.perm-sheet.shake{animation:.4s perm-shake}@keyframes perm-shake{20%,60%{transform:translate(-8px)}40%,80%{transform:translate(8px)}}.perm-x{width:34px;height:34px;color:var(--ink);cursor:pointer;background:0 0;border:none;font-size:20px;position:absolute;top:10px;right:12px}.perm-art{gap:10px;margin-top:4px;display:flex}.perm-dev{background:var(--pop-yellow);border:var(--pop-border);width:64px;height:64px;box-shadow:var(--pop-shadow-sm);border-radius:50%;place-items:center;font-size:32px;animation:2.4s ease-in-out infinite perm-bob;display:grid;position:relative}.perm-dev+.perm-dev{animation-delay:-1.2s}.perm-dev.off:after{content:"";border:2px solid var(--ink);background:#ff2d55;border-radius:3px;width:74px;height:5px;position:absolute;transform:rotate(-45deg)}@keyframes perm-bob{50%{transform:translateY(-5px)rotate(-3deg)}}.perm-body{color:var(--text-2);margin:0;line-height:1.55}.perm-mic{border:2px solid var(--ink);background:#fff3a8;border-radius:12px;padding:6px 12px;font-size:15px;font-weight:800}.perm-bar{border:2px solid var(--ink);width:min(100%,300px);color:var(--ink);background:#eef0ff;border-radius:999px;align-items:center;gap:10px;margin:6px 0 14px;padding:6px 16px 6px 6px;font-size:15px;display:flex;position:relative}.perm-bar.right{flex-direction:row-reverse;padding:6px 6px 6px 16px}.perm-bar-ico{width:36px;height:36px;color:var(--ink);background:#d9d4ff;border-radius:50%;flex:none;place-items:center;display:grid;position:relative}.perm-ring{border:3px solid var(--pop-violet);border-radius:50%;animation:1.6s ease-out infinite perm-ring;position:absolute;inset:-2px}@keyframes perm-ring{0%{opacity:1;transform:scale(.9)}to{opacity:0;transform:scale(1.7)}}.perm-bar-url{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.perm-hand{filter:drop-shadow(1px 2px #00000059);pointer-events:none;font-size:32px;animation:1.6s ease-in-out infinite perm-tap;position:absolute;top:26px;left:22px}.perm-bar.right .perm-hand{left:auto;right:18px}@keyframes perm-tap{0%,to{transform:translate(6px,10px)}45%{transform:translate(0)scale(.92)}55%{transform:translate(0)scale(.92)}}.perm-aa{letter-spacing:-.5px;font-size:16px;font-weight:700}.perm-aa small{font-size:11px}.perm-dots{font-size:20px;font-weight:800;line-height:1}.perm-steps{text-align:left;background:#f4f1ff;border-radius:14px;align-self:stretch;margin:0;padding:10px 14px 10px 32px;font-size:14px;line-height:1.7}.perm-still{color:#d7263d;align-self:stretch;font-size:14px;font-weight:700}.perm-sheet .btn.block,.report-sheet .btn.block{width:100%}.link-btn{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-weight:800;text-decoration:underline}.report-warn{margin-top:4px;font-size:54px;line-height:1}.report-list{flex-direction:column;align-self:stretch;gap:8px;margin-top:4px;display:flex}.report-opt{width:100%;min-height:48px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:#f3f3f5;border:2px solid #0000;border-radius:999px;align-items:center;gap:10px;padding:0 16px;font-size:16px;font-weight:600;display:flex}.report-opt:hover:not(:disabled){border-color:var(--ink);background:#fff3a8}.report-opt:disabled{opacity:.6}.report-opt .spinner.sm{border-color:#00000026;border-top-color:var(--ink);margin-left:auto}.report-note{color:var(--text-3);margin:2px 0 0;font-size:13px}@media (prefers-reduced-motion:reduce){.perm-dev,.perm-ring,.perm-hand,.perm-sheet.shake{animation:none}}.safety-notice .safety-shield{margin-top:4px;font-size:54px;line-height:1}.safety-body{text-align:left;color:var(--text-2);flex-direction:column;gap:10px;font-size:15px;line-height:1.55;display:flex}.safety-body p{margin:0}.safety-body b{color:var(--ink)}.safety-links a{color:var(--pop-violet);text-decoration:underline}.avatar-photo-wrap{flex:none;display:inline-block;position:relative}.avatar-photo{object-fit:cover;border:2.5px solid var(--ink);width:100%;height:100%;box-shadow:2px 2px 0 var(--ink);background:#fff;border-radius:50%;display:block}.voice-aura .avatar-photo{box-shadow:none;border:none}.partner-intro.with-globe{background:#2a138f;justify-content:flex-end;padding:0}.pi-card{z-index:2;text-align:center;flex-direction:column;align-items:center;gap:8px;width:100%;display:flex;position:relative}.partner-intro.with-globe .pi-card{padding:60px 16px calc(var(--safe-bottom) + 96px);background:linear-gradient(#2a138f00,#2a138ff7 40%)}.partner-intro.with-globe .pi-avatar{width:92px;height:92px}.voice-stage{gap:10px}.topic-cards{flex-direction:column;gap:8px;width:min(100%,360px);margin-top:10px;display:flex}.topic-card{text-align:left;word-break:keep-all;background:#ffffff1a;border:1px solid #fff3;border-radius:14px;flex-direction:column;gap:2px;padding:10px 14px;display:flex}.topic-card.mine{background:#ffd23f2e;border-color:#ffd23f8c}.btn.danger.locked{opacity:.75}.lock-count{min-width:22px;height:22px;color:var(--ink);font-variant-numeric:tabular-nums;background:#ffffffe6;border-radius:999px;place-items:center;margin-left:6px;padding:0 6px;font-size:13px;font-weight:800;display:inline-grid}:root{--t-fast:.15s;--t-base:.24s;--t-slow:.38s;--ease-out:cubic-bezier(.2, .8, .2, 1);--ease-inout:cubic-bezier(.4, 0, .2, 1)}.btn,.chip,.mode-btn,.tabbar a,.report-opt,.input,.select{transition:transform var(--t-fast) var(--ease-out), background-color var(--t-base) var(--ease-out), color var(--t-base) var(--ease-out), border-color var(--t-base) var(--ease-out), box-shadow var(--t-fast) var(--ease-out), opacity var(--t-base) var(--ease-out)}.btn:active:not(:disabled),.chip:active,.mode-btn:active{box-shadow:1px 1px 0 var(--ink);transform:translate(2px,2px)}.btn.ghost:active:not(:disabled){box-shadow:none}@keyframes page-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-out{to{opacity:0}}@keyframes sheet-in{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@keyframes sheet-out{to{opacity:0;transform:translateY(24px)}}@keyframes rise-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.page,.lobby,.setup-page,.suspended-page,.wait-scene{animation:page-in var(--t-base) var(--ease-out) both}.lobby-preview video,.lobby-off,.lobby-preview .perm-box{animation:fade-in var(--t-slow) var(--ease-out) both}.perm-backdrop,.modal-backdrop{animation:fade-in var(--t-base) var(--ease-out) both}.perm-sheet,.report-sheet,.modal,.conv.full .conv-panel{animation:sheet-in var(--t-base) var(--ease-out) both}.conv.full .conv-panel.closing{animation:sheet-out var(--t-base) var(--ease-inout) forwards;pointer-events:none}.conv.full .conv-controls{animation:rise-in var(--t-slow) var(--ease-out) both}.intro-wrap{z-index:3;position:absolute;inset:0}.intro-wrap.closing{animation:fade-out var(--t-slow) var(--ease-inout) forwards;pointer-events:none}.remote-tile video.remote{opacity:0;transition:opacity var(--t-slow) var(--ease-out)}.remote-tile video.remote.playing{opacity:1}.conv-top{animation:fade-in var(--t-slow) var(--ease-out) both}.stage-badges .badge{animation:fade-in var(--t-base) var(--ease-out) both}.lock-count{transition:opacity var(--t-fast)}@media (prefers-reduced-motion:reduce){.page,.lobby,.setup-page,.suspended-page,.wait-scene,.lobby-preview video,.lobby-off,.perm-backdrop,.modal-backdrop,.perm-sheet,.report-sheet,.modal,.conv.full .conv-panel,.conv.full .conv-controls,.intro-wrap.closing,.conv-top{animation-duration:1ms}.remote-tile video.remote{transition-duration:1ms}}
