:root{--bg: #050507;--fg: #ecebf2;--dim: #7d7b8c;--glow: 120, 140, 255;--ok: #7fd99a;--bad: #ff7a85;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--fg);font-family:ui-serif,Georgia,Iowan Old Style,serif;-webkit-font-smoothing:antialiased}button{font:inherit;color:inherit;cursor:pointer}.dim{color:var(--dim)}.ok{color:var(--ok)}.no{color:var(--bad)}.vapor{position:relative;width:min(340px,86vw);height:210px;flex:none;display:flex;align-items:flex-end;justify-content:center;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;cursor:pointer}.vapor-canvas,.vapor-css{position:absolute;left:50%;top:50%;width:min(460px,calc(100vw - 32px));height:min(460px,calc(100vw - 32px));transform:translate(-50%,-50%);pointer-events:none}.mic-hint{position:relative;margin:0;font-size:.78rem;letter-spacing:.08em;color:var(--dim);opacity:.55;transition:opacity 1.2s ease;min-height:1.2em;text-align:center;padding:0 8px}.mic-hint.gone{opacity:0}.mic-auto .mic-hint{opacity:.4}.vapor-css{--amp: 0;--tint: 158, 172, 255;opacity:calc(.55 + var(--amp) * .45)}.vapor-css:before{content:"";position:absolute;top:29%;right:29%;bottom:29%;left:29%;border-radius:50%;filter:blur(14px);background:radial-gradient(circle at 50% 50%,rgba(var(--tint),.3),rgba(var(--tint),.16) 45%,rgba(var(--tint),0) 72%);transform:scale(calc(1 + var(--amp) * .12))}[data-palette=muted] .vapor-css{--tint: 196, 186, 168}.vapor-css i{position:absolute;top:34%;right:34%;bottom:34%;left:34%;border-radius:50%;filter:blur(16px);mix-blend-mode:screen;background:radial-gradient(circle,rgba(var(--tint),.16),rgba(var(--tint),0) 70%);transform:scale(calc(1 + var(--amp) * .25));animation:drift 23s ease-in-out infinite alternate}.vapor-css i:nth-child(2){top:36%;right:32%;bottom:34%;left:38%;animation-duration:31s;animation-delay:-7s}.vapor-css i:nth-child(3){top:38%;right:38%;bottom:32%;left:32%;animation-duration:41s;animation-delay:-15s}.vapor-css.listening i,.vapor-css.held i,.vapor-css.hearing i{background:radial-gradient(circle,rgba(var(--tint),.24),rgba(var(--tint),0) 62%)}@keyframes drift{0%{translate:-3% 2%;rotate:0deg}to{translate:3% -2%;rotate:40deg}}.vapor-css:before,.vapor-css i{transition:inset 1.7s cubic-bezier(.22,.61,.36,1),opacity 1.7s cubic-bezier(.22,.61,.36,1),filter 1.7s}.vapor-css.formless:before{opacity:0}.vapor-css.formless{--tint: 236, 236, 244;opacity:.9}[data-palette=muted] .vapor-css.formless{--tint: 240, 232, 218}.vapor-css.formless i{background:radial-gradient(circle at 45% 40%,rgba(var(--tint),.34),rgba(var(--tint),.12) 45%,rgba(var(--tint),0) 68%)}.vapor-css.formless i{top:14%;right:14%;bottom:14%;left:14%;filter:blur(30px)}.vapor-css.formless i:nth-child(2){top:20%;right:8%;bottom:16%;left:22%}.vapor-css.formless i:nth-child(3){top:22%;right:22%;bottom:10%;left:10%}@media (prefers-reduced-motion: reduce){.vapor-css i{animation-duration:120s}}.orbdemo{height:100%;display:flex;align-items:center;justify-content:center}.orbdemo .picker-vapor,.orbdemo .picker-vapor .vapor-canvas,.orbdemo .picker-vapor .vapor-css{width:min(460px,calc(100vw - 32px));height:min(460px,calc(100vw - 32px))}.picker{min-height:100%;display:flex;flex-direction:column;align-items:center;padding:8vh 16px 40px;gap:18px}.picker-vapor{position:relative;width:200px;height:150px;flex:none}.picker-vapor .vapor-canvas,.picker-vapor .vapor-css{width:min(340px,calc(100vw - 32px));height:min(340px,calc(100vw - 32px))}.picker h1{margin:0;font-weight:400;letter-spacing:.3em}.picker ul{list-style:none;padding:0;margin:12px 0;width:min(520px,100%);display:grid;gap:10px}.picker li button{width:100%;text-align:left;padding:14px 18px;border-radius:14px;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;gap:2px}.picker li button:hover{background:#ffffff17}.picker .voice-status{margin:0;min-height:1.4em;font-size:.85rem;text-align:center}.picker .voice-status .link{font-size:inherit;text-decoration:underline;text-underline-offset:3px}.picker.waiting li button{opacity:.45;cursor:progress}.picker.waiting li button:hover{background:#ffffff0d}.picker .title{font-size:1.15rem}.picker .flavor{color:var(--dim);font-size:.85rem;font-family:ui-monospace,monospace}.title-card{width:min(520px,100%);margin:12px 0;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}.title-card .title{margin:0;font-weight:400;font-size:clamp(1.5rem,5vw,2.1rem);line-height:1.25;text-shadow:0 2px 24px rgba(0,0,0,.8)}.title-card .flavor{margin:0}.title-card .begin,.login-form button{margin-top:14px;padding:11px 34px;border-radius:999px;letter-spacing:.14em;background:#ffffff0f;border:1px solid rgba(255,255,255,.16);transition:background .3s,border-color .3s,opacity .3s}.title-card .begin:hover:not(:disabled),.login-form button:hover:not(:disabled){background:rgba(var(--glow),.14);border-color:rgba(var(--glow),.6)}.title-card .begin:disabled,.login-form button:disabled{opacity:.45;cursor:progress}.picker-notice{margin:0;max-width:34ch;text-align:center;font-style:italic;color:#ffa0aad9}.whoami{margin:auto 0 0;padding-top:24px;font-size:.8rem;letter-spacing:.04em;opacity:.75}.whoami .link{font-size:inherit;text-decoration:underline;text-underline-offset:3px}.watch-toggle{display:inline-flex;align-items:center;gap:8px;margin-top:10px;font-size:.8rem;color:var(--dim);cursor:pointer}.watch-toggle input{accent-color:rgb(var(--glow));margin:0}.live{width:min(520px,100%);margin-top:18px;text-align:center}.live h2{margin:0 0 6px;font-weight:400;font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;color:var(--dim)}.live p{margin:0;padding:3px 0;font-size:.85rem;color:var(--dim);display:flex;align-items:baseline;justify-content:center;gap:10px}.live .link{font-size:inherit;color:var(--fg);text-decoration:underline;text-underline-offset:3px;opacity:.8}.live .link:hover{opacity:1}.watch-gate .begin{padding:11px 34px;border-radius:999px;letter-spacing:.14em;background:#ffffff0f;border:1px solid rgba(255,255,255,.16)}.watch-gate .begin:hover{background:rgba(var(--glow),.14);border-color:rgba(var(--glow),.6)}header .watching{flex:none;font-size:.78rem;color:var(--dim);white-space:nowrap;letter-spacing:.04em}.vapor.spectator{cursor:default;touch-action:auto}.login-lede{margin:0;font-style:italic;letter-spacing:.04em}.login-form{width:min(340px,100%);margin-top:10px;display:flex;flex-direction:column;align-items:center;gap:10px}.login-form label{font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;color:var(--dim)}.login-form input{width:100%;padding:13px 16px;border-radius:999px;color:var(--fg);text-align:center;font:1.05rem ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.16em;text-transform:uppercase;background:#ffffff0d;border:1px solid rgba(255,255,255,.14);outline:none;transition:border-color .3s,box-shadow .3s}.login-form input::placeholder{color:var(--dim);opacity:.45}.login-form input:focus{border-color:rgba(var(--glow),.8);box-shadow:0 0 28px rgba(var(--glow),.16)}.login-form input[aria-invalid=true]{border-color:#ff7a858c}.login-form button:focus-visible,.title-card .begin:focus-visible{outline:1px solid rgba(var(--glow),.8);outline-offset:3px}.login-error{margin:0;min-height:1.4em;font-size:.9rem;font-style:italic;text-align:center;color:#ffa0aad9}.game{position:relative;height:100%;display:flex;flex-direction:column;overflow:hidden}.backdrop{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:0;opacity:.9;filter:blur(30px) grayscale(0) sepia(0) saturate(1) contrast(1);transition:filter var(--palette-fade, 0ms) ease-in-out}[data-palette=muted] .backdrop{filter:blur(30px) grayscale(.85) sepia(.35) saturate(.6) contrast(.95)}@media (prefers-reduced-motion: reduce){.backdrop{transition:none}}.game>*{position:relative;z-index:1}.game>.backdrop{position:absolute;z-index:0}header{display:flex;align-items:center;gap:12px;padding:12px 16px;font-size:.9rem;flex:none}header .spacer{flex:1}header .title{color:var(--dim);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}header .link{white-space:nowrap;flex:none}header .short{display:none}@media (max-width: 480px){header{gap:6px}header .long{display:none}header .short{display:inline}}.link{background:none;border:0;color:var(--dim);padding:4px 6px}.link:hover{color:var(--fg)}.link.toggle{opacity:.7}.link.toggle.on{opacity:1}.stage{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:0 16px;min-height:0}.spotlight{width:min(780px,100%);text-align:center;min-height:6rem;flex:0 1 auto;overflow-y:auto;scrollbar-width:none;overscroll-behavior:contain;-webkit-mask-image:linear-gradient(transparent,#000 1.2rem);mask-image:linear-gradient(transparent,#000 1.2rem);padding-top:1.2rem;position:relative}.spotlight::-webkit-scrollbar{display:none}.spot-text{font-size:clamp(1.3rem,3.6vw,2.1rem);line-height:1.4;margin:0;text-shadow:0 2px 24px rgba(0,0,0,.8)}.spot-text .off{opacity:0}.spot-text .on{opacity:1;transition:opacity .25s}.spot-text.held{opacity:.55;transition:opacity .8s}.spot-text.paused{opacity:.7}.caption{color:var(--dim);font-style:italic;margin:14px 0 0;min-height:1.4em}footer{display:flex;gap:10px;padding:12px 16px calc(14px + env(safe-area-inset-bottom));align-items:center}footer form{flex:1}footer input{width:100%;padding:12px 16px;border-radius:999px;font:inherit;color:var(--fg);background:#ffffff12;border:1px solid rgba(255,255,255,.14);outline:none}footer input:focus{border-color:rgba(var(--glow),.8)}footer button{padding:11px 18px;border-radius:999px;background:#ffffff14;border:1px solid rgba(255,255,255,.14);touch-action:none;user-select:none;-webkit-user-select:none}footer button:disabled{opacity:.4;cursor:default}.ptt.hot{background:#ff96784d;border-color:#ff9678cc}footer.end{flex-direction:column;text-align:center}.transcript,.debug-wrap{position:absolute!important;top:52px;bottom:76px;width:min(360px,92vw);overflow-y:auto;padding:12px 14px;border-radius:14px;background:#08080cd1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.08);font-size:.9rem;z-index:5!important}.transcript{right:12px}.debug-wrap{left:12px;font-family:ui-monospace,monospace;font-size:.78rem;bottom:auto;max-height:70%}.transcript p{margin:0 0 .6em;line-height:1.4}.transcript p.hud{color:var(--dim);font-family:ui-monospace,monospace;font-size:.8rem;margin-bottom:.2em}.transcript p.user{color:rgb(var(--glow))}.transcript p.banner{text-align:center;color:var(--bad)}.debug-title{color:var(--dim);margin-bottom:6px}.debug-row{border-top:1px solid rgba(255,255,255,.08);padding:6px 0}.debug-row .heard{color:var(--fg)}.err{position:absolute!important;top:calc(env(safe-area-inset-top,0px) + 44px);left:50%;transform:translate(-50%);z-index:9!important;max-width:min(80vw,520px);font-size:.72rem;color:#ffa0aabf;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;pointer-events:auto}
