:root{--bg:#04050c;--panel:#0c1026b8;--panel-solid:#0e122adb;--panel-border:#8ca0ff38;--ink:#e8ecff;--ink-soft:#9aa3c7;--accent:#ffd166;--accent-ink:#1a1405;--focus:#8ea2ff;--danger:#ff8a80;--radius:14px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:Space Grotesk,system-ui,sans-serif}*{box-sizing:border-box}[hidden]{display:none!important}html,body{background:var(--bg);height:100%;color:var(--ink);margin:0;overflow:hidden}#stage{position:fixed;inset:0}#stage canvas{touch-action:none;display:block}button,input{font:inherit}button{cursor:pointer;background:var(--accent);color:var(--accent-ink);border:1px solid #0000;border-radius:10px;padding:9px 16px;font-weight:600;transition:filter .15s,transform 50ms}button:hover{filter:brightness(1.08)}button:active{transform:translateY(1px)}button:disabled{opacity:.6;cursor:progress}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.lobby{background:radial-gradient(circle at 50% 118%, #ffbe5a8c, #ff8c3c2e 28%, transparent 55%), radial-gradient(1px 1px at 12% 18%, #fff 50%, transparent 51%), radial-gradient(1px 1px at 72% 12%, #cfe0ff 50%, transparent 51%), radial-gradient(1.5px 1.5px at 34% 64%, #fff 50%, transparent 51%), radial-gradient(1px 1px at 88% 44%, #ffe9c8 50%, transparent 51%), radial-gradient(1px 1px at 56% 32%, #fff 50%, transparent 51%), radial-gradient(1.5px 1.5px at 20% 82%, #d9d2ff 50%, transparent 51%), radial-gradient(1px 1px at 64% 78%, #fff 50%, transparent 51%), radial-gradient(ellipse at 20% 30%, #48308c59, transparent 60%), radial-gradient(ellipse at 85% 70%, #184a7859, transparent 55%), var(--bg);place-items:center;padding:16px;display:grid;position:fixed;inset:0;overflow-y:auto}.card{background:var(--panel-solid);border:1px solid var(--panel-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;width:min(540px,100%);padding:28px;box-shadow:0 24px 60px #00000073}.card h1{letter-spacing:-.02em;background:linear-gradient(90deg,#fff4d6,#ffd166 45%,#ff9a5a);color:#0000;-webkit-background-clip:text;background-clip:text;margin:0;font-size:2.3rem;font-weight:700}.tagline{color:var(--ink-soft);margin:4px 0 14px}.room-line{color:var(--ink-soft);margin:0 0 18px;font-size:.92rem}.room-line code{color:var(--ink);background:#8ea2ff24;border-radius:6px;padding:2px 8px;font-family:inherit}#join-form{gap:10px;display:grid}#join-form label,#join-form .label{margin-top:6px;font-weight:600}#name-input{border:1px solid var(--panel-border);color:var(--ink);background:#040612b3;border-radius:10px;padding:11px 13px}.kind-grid{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.kind{border:1px solid var(--panel-border);color:var(--ink);text-align:center;background:#0406128c;justify-items:center;gap:4px;padding:8px 6px 10px;font-size:.8rem;font-weight:500;line-height:1.2;display:grid}.kind[aria-checked=true]{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent), 0 0 24px #ffd1662e}.color-grid{flex-wrap:wrap;gap:10px;padding:2px 0;display:flex}.swatch{background:radial-gradient(circle at 35% 35%, #fff 0 8%, var(--swatch) 32%);width:30px;height:30px;box-shadow:0 0 12px color-mix(in srgb, var(--swatch) 60%, transparent);border:2px solid #0000;border-radius:50%;padding:0}.swatch[aria-checked=true]{border-color:#fff}#join-button{margin-top:14px;padding:13px;font-size:1.05rem}.error{min-height:1.2em;color:var(--danger);margin:0}.hud{pointer-events:none;position:fixed;inset:0}.hud>*{pointer-events:auto}.room-chip{background:var(--panel);border:1px solid var(--panel-border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:12px;align-items:center;gap:12px;max-width:calc(100vw - 32px);padding:6px 6px 6px 14px;display:flex;position:absolute;top:16px;left:16px}.room-chip .count{color:var(--accent)}.room-chip button{white-space:nowrap;padding:5px 11px;font-size:.85rem}.chat{background:var(--panel);border:1px solid var(--panel-border);border-radius:var(--radius);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);flex-direction:column;width:min(360px,100vw - 32px);display:flex;position:absolute;bottom:40px;left:16px;overflow:hidden}.chat-tabs{border-bottom:1px solid var(--panel-border);gap:2px;padding:6px 8px 0;display:flex}.chat-tabs button{color:var(--ink-soft);background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;align-items:center;gap:5px;padding:4px 10px 6px;font-size:.82rem;font-weight:500;display:inline-flex}.chat-tabs button:hover{color:var(--ink);filter:none}.chat-tabs button[aria-selected=true]{color:var(--ink);border-bottom-color:var(--accent)}.chat-tabs .unread{background:var(--accent);min-width:16px;color:var(--accent-ink);text-align:center;border-radius:999px;padding:0 4px;font-size:.68rem;font-weight:700;line-height:16px}.chat-log[data-tab=chat] .system,.chat-log[data-tab=system] li:not(.system){display:none}.chat-log{overflow-wrap:anywhere;flex-direction:column;gap:4px;height:min(240px,30vh);margin:0;padding:10px 12px;font-size:.92rem;line-height:1.35;list-style:none;display:flex;overflow-y:auto}.chat-log .name{margin-right:6px;font-weight:600}.chat-log .system{color:var(--ink-soft);font-style:italic}.chat-form{border-top:1px solid var(--panel-border)}#chat-input{width:100%;color:var(--ink);background:#00000040;border:0;outline:none;padding:10px 12px}#chat-input:focus{background:#00000073}.hint{color:var(--ink-soft);text-shadow:0 1px 2px #000;margin:0;font-size:.78rem;position:absolute;bottom:10px;left:16px}@media (width<=600px){.hint{display:none}.hint.touch{display:block;top:112px;bottom:auto;right:16px}.chat{width:calc(100vw - 222px);min-width:170px;bottom:16px}.chat-log{height:20vh}.chat-tabs button{padding:4px 6px 6px}.room-chip #hud-room{display:none}}button.secondary{border-color:var(--panel-border);color:var(--ink);background:#8ea2ff24}.note{color:#ffe9b8;background:#ffd1661a;border:1px solid #ffd1664d;border-radius:10px;margin:-8px 0 16px;padding:9px 12px;font-size:.92rem}.role-chip{letter-spacing:.08em;text-transform:uppercase;color:var(--accent-ink);background:var(--accent);border-radius:999px;padding:3px 8px;font-size:.72rem;font-weight:700}.voice-bar{gap:8px;display:flex;position:absolute;top:16px;right:16px}.voice-bar button{white-space:nowrap;padding:7px 13px;font-size:.88rem}.mic[aria-pressed=false]{border-color:var(--accent);color:var(--ink);background:#8ea2ff24}.mic[aria-pressed=true]{color:#fff;background:#ff6b5e;animation:1.6s infinite live;box-shadow:0 0 #ff6b5e99}@keyframes live{70%{box-shadow:0 0 0 10px #ff6b5e00}to{box-shadow:0 0 #ff6b5e00}}.people{background:var(--panel-solid);border:1px solid var(--panel-border);border-radius:var(--radius);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);flex-direction:column;width:min(300px,100vw - 32px);max-height:min(60vh,100vh - 290px);display:flex;position:absolute;top:60px;right:16px;overflow:hidden}.people header{border-bottom:1px solid var(--panel-border);gap:6px;padding:8px;display:flex}.people input{border:1px solid var(--panel-border);min-width:0;color:var(--ink);background:#040612b3;border-radius:8px;flex:1;padding:7px 10px}.people header button{padding:4px 11px}.people ul{margin:0;padding:6px;list-style:none;overflow-y:auto}.people li{border-radius:8px;align-items:center;gap:8px;padding:6px 8px;display:flex}.people li:hover{background:#8ea2ff14}.people .name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.people li button,.pick-menu button{padding:4px 9px;font-size:.8rem}.badge{letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--accent);color:var(--accent);border-radius:999px;padding:2px 7px;font-size:.68rem;font-weight:700}.badge.host{background:var(--accent);color:var(--accent-ink)}.people .more{color:var(--ink-soft);margin:0;padding:6px 14px 10px;font-size:.82rem}.pick-menu{background:var(--panel-solid);border:1px solid var(--panel-border);border-radius:12px;gap:6px;min-width:160px;padding:10px 12px;display:grid;position:fixed;box-shadow:0 12px 30px #00000073}.pick-menu .role{color:var(--ink-soft);margin-top:-4px;font-size:.82rem}@media (width<=600px){.voice-bar{top:64px;right:16px}.people{top:108px}}.stick{z-index:4;pointer-events:none;background:radial-gradient(circle,#8ea2ff29,#8ea2ff0a 70%);border:1.5px solid #e8ecff59;border-radius:50%;width:112px;height:112px;margin:-56px 0 0 -56px;position:fixed}.stick-knob{background:radial-gradient(circle at 35% 30%, #fff8e0, var(--accent) 55%, #c99a2e);border-radius:50%;width:46px;height:46px;margin:-23px 0 0 -23px;position:absolute;top:50%;left:50%;box-shadow:0 0 18px #ffd16673}.audience{background:var(--panel);border:1px solid var(--panel-border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:999px;align-items:center;gap:2px;padding:5px;display:flex;position:absolute;bottom:40px;left:50%;transform:translate(-50%)}.audience .react{background:0 0;border-radius:50%;width:40px;height:40px;padding:0;font-size:1.35rem;line-height:1}.audience .react:hover{background:#8ea2ff24}.audience .react.pop{animation:.35s ease-out pop}@keyframes pop{40%{transform:scale(1.35)}}.audience .hand{white-space:nowrap;border-color:var(--panel-border);color:var(--ink);background:#8ea2ff24;border-radius:999px;margin-left:4px;padding:8px 14px;font-size:.85rem}.audience .hand[aria-pressed=true]{background:var(--accent);color:var(--accent-ink)}.people li.heading{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);padding:8px 8px 2px;font-size:.7rem;font-weight:700}.people li.heading:hover{background:0 0}.people li.raised{background:#ffd16614}.poll-card{background:var(--panel-solid);border:1px solid var(--panel-border);border-radius:var(--radius);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);gap:8px;width:min(380px,100vw - 32px);padding:12px 14px;display:grid;position:absolute;top:72px;left:50%;transform:translate(-50%)}.poll-card header{justify-content:space-between;align-items:center;display:flex}.poll-card .eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--accent);font-size:.7rem;font-weight:700}.poll-card .close{padding:0 9px;font-size:1rem}.poll-card h2{text-wrap:balance;margin:0;font-size:1.02rem;line-height:1.3}.poll-card .answers{gap:5px;margin:0;padding:0;list-style:none;display:grid}.poll-card .answers li{background:linear-gradient(90deg, color-mix(in srgb, var(--answer) 32%, transparent) var(--share), transparent var(--share)), #0406128c;border:1px solid #0000;border-left:3px solid var(--answer);border-radius:8px;justify-content:space-between;gap:10px;padding:5px 10px;font-size:.9rem;transition:background .3s;display:flex}.poll-card .answers li.mine{border-color:var(--answer);border-left-width:3px}.poll-card .answers li.won{border-color:var(--answer);box-shadow:0 0 16px color-mix(in srgb, var(--answer) 45%, transparent);font-weight:600}.poll-card .count{font-variant-numeric:tabular-nums;font-weight:600}.poll-card .poll-hint{color:var(--ink-soft);margin:0;font-size:.8rem}.poll-card>button{justify-self:start;padding:6px 12px;font-size:.85rem}.poll-dialog{border:1px solid var(--panel-border);border-radius:var(--radius);background:var(--panel-solid);width:min(420px,100vw - 32px);color:var(--ink);padding:20px}.poll-dialog::backdrop{background:#02030a99}.poll-dialog form{gap:8px;display:grid}.poll-dialog h2{margin:0;font-size:1.15rem}.poll-dialog .note{margin:0 0 4px}.poll-dialog input{border:1px solid var(--panel-border);color:var(--ink);background:#040612b3;border-radius:9px;padding:9px 11px}.poll-options{gap:6px;display:grid}.poll-options input{border-left:3px solid var(--answer)}.poll-dialog .actions{justify-content:flex-end;gap:8px;margin-top:6px;display:flex}@media (width<=1000px){.audience{border-radius:22px;flex-direction:column;bottom:226px;left:auto;right:16px;transform:none}.audience .hand{border-radius:50%;width:40px;height:40px;margin:4px 0 0;padding:0;font-size:0}.audience .hand:before{content:"✋";font-size:1.2rem}}@media (width<=1000px) and (height<=760px){.audience{grid-template-columns:repeat(2,40px);display:grid}}@media (width<=600px){.poll-card{gap:6px;width:auto;padding:10px 12px;top:108px;left:16px;right:16px;transform:none}.poll-card .answers li{padding:3px 8px;font-size:.85rem}}.qr-dialog{border:1px solid var(--panel-border);border-radius:var(--radius);background:var(--panel-solid);width:min(320px,100vw - 32px);color:var(--ink);text-align:center;padding:20px}.qr-dialog::backdrop{background:#02030a99}.qr-dialog h2{margin:0 0 14px;font-size:1.15rem}.qr-dialog canvas{border-radius:10px;max-width:100%;height:auto;margin:0 auto;display:block}.qr-link{color:var(--ink-soft);overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;margin:12px 0 0;font-size:.85rem}.qr-dialog .note{margin:8px 0 0}.qr-dialog form{margin-top:14px}.qr-dialog .fine-print{color:var(--ink-soft);margin:10px 0 0;font-size:.82rem;line-height:1.4}.qr-dialog .dialog-actions{justify-content:center;gap:8px;display:flex}.voice-bar{flex-wrap:wrap;justify-content:flex-end;max-width:calc(100vw - 32px)}.voice-bar button.icon{padding:7px 11px;font-size:1rem;line-height:1}.settings{z-index:3;background:var(--panel-solid);border:1px solid var(--panel-border);border-radius:var(--radius);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);gap:10px;width:min(320px,100vw - 32px);padding:14px;display:grid;position:absolute;top:60px;right:16px}.settings h2{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin:0;font-size:.75rem;font-weight:700}.settings .setting{align-items:center;gap:12px;display:flex}.settings .setting p{color:var(--ink-soft);margin:2px 0 0;font-size:.82rem}.settings .setting button{flex:none;padding:7px 12px;font-size:.85rem}.tour-spot{z-index:20;border:2px solid var(--accent);pointer-events:none;border-radius:14px;transition:all .25s;position:fixed;box-shadow:0 0 0 9999px #02030a8c,0 0 24px #ffd16673}.tour-card{z-index:21;background:var(--panel-solid);border:1px solid var(--accent);border-radius:var(--radius);width:min(340px,100vw - 32px);color:var(--ink);gap:8px;padding:16px;display:grid;position:fixed;box-shadow:0 12px 40px #00000080}.tour-card.centered{top:50%;left:50%;transform:translate(-50%,-50%)}.tour-card .tour-count{letter-spacing:.1em;color:var(--accent);font-variant-numeric:tabular-nums;font-size:.72rem;font-weight:700}.tour-card h2{text-wrap:balance;margin:0;font-size:1.1rem}.tour-card p{color:var(--ink-soft);margin:0;line-height:1.45}.tour-card footer{justify-content:space-between;align-items:center;gap:8px;margin-top:6px;display:flex}.tour-card .tour-nav{gap:8px;display:flex}.tour-card button{padding:7px 14px;font-size:.88rem}.tour-card button.link{color:var(--ink-soft);text-underline-offset:3px;background:0 0;border-color:#0000;padding-left:0;text-decoration:underline}@media (prefers-reduced-motion:reduce){.tour-spot{transition:none}}@media (width<=600px){.settings{top:108px}}.orbit-banner{background:var(--panel);border:1px solid var(--accent);color:var(--accent);white-space:nowrap;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:999px;margin:0;padding:7px 14px;font-size:.85rem;position:absolute;bottom:100px;left:50%;transform:translate(-50%)}#gather-button[aria-pressed=true]{background:var(--accent);color:var(--accent-ink)}@media (width<=600px){.orbit-banner{white-space:normal;text-align:center;max-width:calc(100vw - 32px);top:112px;bottom:auto}}.settings label.setting{cursor:pointer}.settings input[role=switch]{appearance:none;border:1px solid var(--panel-border);cursor:pointer;background:#8ea2ff33;border-radius:999px;flex:none;width:42px;height:24px;margin:0;transition:background .2s;position:relative}.settings input[role=switch]:after{content:"";background:var(--ink);border-radius:50%;width:18px;height:18px;transition:transform .2s;position:absolute;top:2px;left:2px}.settings input[role=switch]:checked{background:var(--accent)}.settings input[role=switch]:checked:after{background:var(--accent-ink);transform:translate(18px)}.settings input[role=switch]:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.settings select{border:1px solid var(--panel-border);color:var(--ink);font:inherit;background:#040612b3;border-radius:8px;flex:none;padding:6px 8px;font-size:.85rem}
