:root{--bg:#16120f;--panel:#221c17;--panel-2:#2d251e;--line:#3d3229;--text:#f3ebe1;--muted:#ab9d8e;--accent:#3fb9a0;--accent-ink:#0d2a24;--danger:#e0626b;--warn:#e3a356;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text)}h1,h2{margin:0}h2{font-size:.95rem;font-weight:600}.muted{color:var(--muted)}.small{font-size:.8rem}.error{color:var(--danger)}.row{align-items:center;gap:8px;display:flex}.row.wrap{flex-wrap:wrap}.spacer{flex:1}.btn{font:inherit;color:var(--text);background:var(--panel-2);border:1px solid var(--line);cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:7px 12px;font-size:.875rem;text-decoration:none;transition:background .12s,transform 80ms;display:inline-flex}.btn:hover:not(:disabled){background:#3a3027}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.5;cursor:default}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}.btn.ghost{background:0 0}.btn-discord{background:#5865f2;border-color:#5865f2;justify-content:center;padding:10px;font-weight:600}.btn.mic.on{border-color:var(--accent);color:var(--accent)}input{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:8px;flex:1;padding:8px 10px}input:focus{outline:2px solid var(--accent);outline-offset:-1px}.login{place-items:center;min-height:100%;padding:16px;display:grid}.login-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:14px;width:min(380px,100%);padding:28px;display:flex}.login-card p{margin:0}.dev-login{flex-direction:column;gap:6px;display:flex}.dev-login label{color:var(--muted);font-size:.8rem}.room-app{position:fixed;inset:0;overflow:hidden}.stage{background:radial-gradient(at 50% 45%,#3b2b20 0%,#211912 50%,#120e0b 100%);position:absolute;inset:0}.stage:after{content:"";pointer-events:none;opacity:0;background:radial-gradient(at 50% 48%,#0000 30%,#0806058c 100%);transition:opacity .9s;position:absolute;inset:0}.in-activity .stage:after{opacity:1}.lobby{text-align:center;place-content:center;gap:6px;height:100%;display:grid}.lobby p{margin:0}.hud{z-index:30;align-items:center;gap:8px;display:flex;position:absolute}.hud-top-left{top:16px;left:16px}.hud-top-right{top:16px;right:16px}.hud-right{flex-direction:column;align-items:stretch;width:300px;top:72px;right:16px}.hud-stage{flex-direction:column;align-items:stretch;width:min(520px,100vw - 32px);bottom:84px;left:50%;transform:translate(-50%)}.hud-bottom{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#1e1813c7;border:1px solid #ffffff14;border-radius:16px;padding:6px;bottom:18px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #00000059}.hud-bottom-left{bottom:18px;left:16px}.wordmark{letter-spacing:-.02em;margin-right:4px;font-size:1.15rem;font-weight:800}.pill{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);height:34px;color:var(--text);background:#1e1813b8;border:1px solid #ffffff14;border-radius:999px;align-items:center;gap:8px;padding:0 12px;font-size:.85rem;display:inline-flex}.pill-btn{font:inherit;cursor:pointer;font-size:.85rem}.pill-btn:hover{background:#342a21e6}.pill-btn.active{border-color:#3fb9a080}.status i{background:var(--warn);border-radius:50%;width:8px;height:8px}.status.open i{background:var(--accent);box-shadow:0 0 0 3px #3fb9a033}.status.closed i{background:var(--danger)}.me-chip b{background:var(--accent);width:22px;height:22px;color:var(--accent-ink);border-radius:50%;place-items:center;margin-left:-6px;font-size:.75rem;display:grid}.divider{background:#ffffff1a;align-self:stretch;width:1px;margin:6px 2px}.mic{font:inherit;height:40px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:8px;padding:0 14px;font-size:.85rem;display:inline-flex}.mic:hover{color:var(--text);background:#ffffff0f}.mic-dot{background:#6e6257;border-radius:50%;width:8px;height:8px}.mic.on{color:var(--text)}.mic.on .mic-dot{background:#4ade80;box-shadow:0 0 0 3px #4ade8033}.card{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#1e1813cc;border:1px solid #ffffff14;border-radius:16px;flex-direction:column;gap:10px;padding:14px;display:flex;box-shadow:0 10px 30px #0000004d}.card-head{justify-content:space-between;align-items:center;display:flex}.card-title{color:var(--muted);text-transform:none;font-size:.8rem;font-weight:600}.activity-option{font:inherit;color:var(--text);text-align:left;cursor:pointer;background:#ffffff08;border:1px solid #ffffff0f;border-radius:12px;align-items:center;gap:12px;padding:10px;transition:background .12s,transform .1s;display:flex}.activity-option:hover:not(:disabled){background:#ffffff12}.activity-option.active{background:#3fb9a01a;border-color:#3fb9a080}.activity-option:active:not(:disabled){transform:scale(.98)}.activity-option>span:last-child{flex-direction:column;gap:2px;display:flex}.activity-icon{background:linear-gradient(135deg,#f4a259,#e07a5f);border-radius:10px;flex:none;place-items:center;width:40px;height:40px;font-size:1.2rem;display:grid}.chip{font:inherit;cursor:pointer;height:28px;color:var(--text);background:#ffffff0f;border:1px solid #ffffff14;border-radius:999px;padding:0 10px;font-size:.78rem}.chip:hover:not(:disabled){background:#ffffff1f}.chip:disabled{opacity:.4;cursor:default}.chip.active{background:var(--accent);color:var(--accent-ink);border-color:#0000;font-weight:600}.activity-option:disabled{opacity:.45;cursor:default}.setting{border-top:1px solid #ffffff0f;flex-direction:column;gap:8px;padding-top:10px;display:flex}.setting-label{font-size:.82rem;font-weight:600}.setting-row{align-items:center;gap:10px;display:flex}.setting-row input[type=range]{accent-color:var(--accent);flex:1}.setting-row select{font:inherit;color:var(--text);background:var(--panel-2);border:1px solid var(--line);border-radius:8px;padding:4px 8px;font-size:.8rem}.setting-row .hour{font-variant-numeric:tabular-nums;text-align:right;min-width:3.2em}.toggle{color:var(--muted);cursor:pointer;align-items:center;gap:8px;font-size:.8rem;display:flex}.toggle input{accent-color:var(--accent)}.dev-voice{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#1e1813b8;border:1px dashed #ffffff24;border-radius:999px;align-items:center;gap:6px;padding:6px;display:flex}.dev-badge{color:var(--warn);padding:0 6px;font-size:.68rem;font-weight:600}.tag-wrap{pointer-events:none;flex-direction:column;align-items:center;gap:6px;display:flex}.tag{white-space:nowrap;color:#f6efe6;background:#18130fd9;border-radius:999px;align-items:center;gap:4px;padding:3px 9px;font-size:12px;font-weight:600;display:flex;box-shadow:0 2px 8px #00000040}.tag.me{background:var(--accent);color:var(--accent-ink)}.tag.voice-only{opacity:.7;font-weight:500}.tag-icon{font-size:11px}.bubble{color:#2a2028;background:#fffaf2;border-radius:14px;padding:4px 9px;position:relative;box-shadow:0 4px 12px #00000040}.bubble:after{content:"";background:inherit;border-radius:2px;width:10px;height:10px;position:absolute;bottom:-5px;left:50%;transform:translate(-50%)rotate(45deg)}.bubble.emote{font-size:24px;line-height:1.2;animation:.26s cubic-bezier(.2,.9,.3,1.4) pop}.bubble.speaking{gap:3px;padding:8px 10px;display:flex}.bubble.speaking span{background:#6e5c4e;border-radius:50%;width:5px;height:5px;animation:.9s ease-in-out infinite dot}.bubble.speaking span:nth-child(2){animation-delay:.15s}.bubble.speaking span:nth-child(3){animation-delay:.3s}@keyframes dot{0%,80%,to{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}@keyframes pop{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.bubble.emote,.bubble.speaking span{animation:none}}@media (width<=800px){.hud-right{width:auto;left:16px}.hud-bottom-left{display:none}}.scene{position:absolute;inset:0}.labels{pointer-events:none;position:absolute;inset:0;overflow:hidden}.labels .tag-wrap{will-change:transform;position:absolute;top:0;left:0}.emotes{gap:2px;display:flex}.emote-btn{cursor:pointer;background:0 0;border:0;border-radius:10px;width:42px;height:42px;font-size:1.35rem;transition:transform .12s cubic-bezier(.2,.9,.3,1.3),background .12s}.emote-btn:hover{background:#ffffff14;transform:translateY(-2px)}.emote-btn:active{transform:scale(.9)}.picker{position:relative}.picker-btn{font:inherit;height:42px;color:var(--text);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:10px;align-items:center;gap:8px;padding:0 14px 0 10px;font-size:.85rem;font-weight:600;transition:background .12s;display:inline-flex}.picker-btn:hover,.picker-btn.open{background:#ffffff14}.picker-btn.running{color:var(--accent)}.picker-icon{font-size:1.15rem}.picker-tray{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transform-origin:0 100%;background:#1e1813eb;border:1px solid #ffffff14;border-radius:16px;flex-direction:column;gap:6px;width:300px;padding:10px;animation:.16s cubic-bezier(.2,.9,.3,1) tray-in;display:flex;position:absolute;bottom:calc(100% + 14px);left:-6px;box-shadow:0 10px 30px #0006}.picker-note{margin:0 0 2px 4px}.picker-head{color:var(--muted);margin:0 0 2px 4px;font-size:.8rem;font-weight:600}.activity-stage{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#1e1813d6;border:1px solid #ffffff14;border-radius:18px;flex-direction:column;gap:10px;padding:14px;animation:.26s cubic-bezier(.2,.9,.3,1) stage-in;display:flex;box-shadow:0 14px 40px #0006}.activity-stage-head{justify-content:space-between;align-items:center;display:flex}.activity-stage-title{font-size:.85rem;font-weight:700}@keyframes tray-in{0%{opacity:0;transform:translateY(6px)scale(.97)}}@keyframes stage-in{0%{opacity:0;transform:translateY(12px)}}@media (prefers-reduced-motion:reduce){.picker-tray,.activity-stage{animation:none}.stage:after{transition:none}}@media (width<=560px){.hud-bottom .emotes .emote-btn:nth-child(n+4){display:none}}.reaction{flex-direction:column;gap:10px;display:flex}.reaction .btn.primary{border-radius:10px;justify-content:center;height:40px}.press{font:inherit;cursor:pointer;color:#fff;background:linear-gradient(160deg,#d0733f,#a8502a);border:0;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:2px;height:68px;font-size:1.15rem;font-weight:800;transition:transform 70ms;display:flex;box-shadow:inset 0 -4px #0003}.press small{opacity:.75;font-size:.7rem;font-weight:500}.press.live{background:linear-gradient(160deg,#4ade80,#22a35a)}.press:active:not(:disabled){transform:scale(.98)translateY(2px)}.press:disabled{opacity:.6;cursor:default}.winner{margin:0;font-weight:700}.results{flex-wrap:wrap;gap:6px;margin:0;padding:0;font-size:.82rem;list-style:none;display:flex}.results li{background:#ffffff0d;border-radius:999px;gap:8px;padding:5px 10px;display:flex}.results .time{color:#4ade80;font-variant-numeric:tabular-nums;font-weight:600}.results .false_start,.results .invalid{color:var(--danger)}.results .missed{color:var(--muted)}.world-toast{z-index:40;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#1e1813e0;border:1px solid #ffffff1a;border-radius:999px;padding:10px 18px;font-size:.95rem;font-weight:700;animation:.28s cubic-bezier(.2,.9,.3,1.2) toast-in,.3s ease-in 1.9s forwards toast-out;position:absolute;top:18px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #0006}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,-10px)scale(.96)}}@keyframes toast-out{to{opacity:0;transform:translate(-50%,-6px)}}@media (prefers-reduced-motion:reduce){.world-toast{animation:none}}
