:root{--bg:#0b0c0f;--bg-2:#111318;--panel:#16181e;--panel-2:#1c1f26;--line:#262a33;--line-2:#323744;--text:#eceef2;--muted:#9aa1ad;--dim:#6b7280;--tally:#ff3b30;--tally-soft:#ff3b3024;--preview:#3b82f6;--preview-soft:#3b82f624;--good:#22c55e;--fair:#f59e0b;--poor:#ef4444;--radius:14px;--radius-sm:10px;--shadow:0 1px 0 #ffffff0a inset, 0 20px 40px -24px #000c;--font:"Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:radial-gradient(1200px 600px at 80% -10%, #3b82f612, transparent 60%), radial-gradient(900px 500px at -10% 110%, #ff3b300f, transparent 60%), var(--bg);color:var(--text);font:15px/1.5 var(--font);-webkit-font-smoothing:antialiased}#app{flex-direction:column;min-height:100%;display:flex}h1{letter-spacing:-.02em;margin:0 0 8px;font-size:clamp(22px,3vw,30px);font-weight:650;line-height:1.2}h2{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 12px;font-size:13px;font-weight:600}p{margin:0}.sub{color:var(--muted);max-width:52ch}.icon{fill:currentColor;flex:none;width:20px;height:20px}.topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:10;background:#0b0c0fb3;align-items:center;gap:16px;padding:14px clamp(16px,3vw,32px);display:flex;position:sticky;top:0}.brand{letter-spacing:-.01em;align-items:center;gap:10px;font-weight:650;display:flex}.brand-mark{border:3px solid var(--tally);width:22px;height:22px;box-shadow:inset 0 0 0 4px var(--bg-2), inset 0 0 0 11px var(--tally);border-radius:50%}.lang{margin-left:auto}.pill{background:var(--panel);border:1px solid var(--line);color:var(--muted);white-space:nowrap;border-radius:999px;align-items:center;gap:8px;padding:4px 12px;font-size:13px;display:inline-flex}.dot{background:currentColor;border-radius:50%;width:8px;height:8px}.quality-good .dot{color:var(--good)}.quality-fair .dot{color:var(--fair)}.quality-poor .dot{color:var(--poor)}button{font:inherit;cursor:pointer;color:inherit;border:0}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--preview);outline-offset:2px}.primary{background:var(--text);color:#0b0c0f;border-radius:var(--radius-sm);padding:10px 18px;font-weight:600;transition:transform .12s,background .12s}.primary:hover:not(:disabled){background:#fff;transform:translateY(-1px)}.primary.big{width:100%;padding:14px 18px;font-size:16px}.ghost{color:var(--muted);background:0 0;border-radius:8px;align-items:center;gap:8px;padding:6px 10px;font-size:14px;display:inline-flex}.ghost:hover{background:var(--panel);color:var(--text)}.round{background:var(--panel-2);border:1px solid var(--line-2);border-radius:50%;place-items:center;width:44px;height:44px;display:grid}.round:hover{background:var(--line)}.round.off{background:var(--tally);border-color:var(--tally);color:#fff}.round.primary{background:var(--text);color:#0b0c0f;border:0}.field{gap:6px;display:grid}.field>span{color:var(--muted);font-size:13px;font-weight:500}input,select{font:inherit;color:var(--text);background:var(--bg-2);border:1px solid var(--line-2);border-radius:var(--radius-sm);width:100%;min-height:44px;padding:11px 12px}input::placeholder{color:var(--dim)}select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--muted) 50%), linear-gradient(135deg, var(--muted) 50%, transparent 50%);background-position:calc(100% - 18px),calc(100% - 13px);background-repeat:no-repeat;background-size:5px 5px;padding-right:36px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.center{text-align:center;justify-items:center;gap:12px;padding:40px 24px;display:grid}.hint{color:var(--muted);font-size:13px}.error{color:#fca5a5;text-align:left;align-items:flex-start;gap:8px;max-width:40ch;font-size:14px;display:flex}.warn{color:var(--fair);font-size:14px}main{flex:1;width:100%;max-width:1180px;margin:0 auto;padding:clamp(16px,4vw,40px) clamp(16px,3vw,32px)}.intro{margin-bottom:24px}.setup-grid{grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr);align-items:start;gap:24px;display:grid}.form{gap:16px;padding:24px;display:grid}.devices{gap:16px;display:grid}.devices:empty{display:none}.privacy{color:var(--dim);margin-top:24px;font-size:13px}.stage-col{justify-items:center;gap:16px;display:grid}.stage-col.narrow{width:100%;max-width:560px;margin:0 auto}.preview{aspect-ratio:16/9;border:1px solid var(--line);border-radius:var(--radius);background:#050608;width:100%;position:relative;overflow:hidden}.video{object-fit:cover;background:#050608;width:100%;height:100%;display:block}.mirror{transform:scaleX(-1)}.preview-empty,.preview-off{color:var(--muted);text-align:center;place-content:center;justify-items:center;gap:16px;padding:16px;display:grid;position:absolute;inset:0}.preview-off{background:#0a0b0e;gap:8px}.preview-icon{background:var(--panel-2);border:1px solid var(--line-2);border-radius:50%;place-items:center;width:64px;height:64px;display:grid}.preview-icon .icon{width:28px;height:28px}.preview-bar{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0000008c;border-radius:999px;align-items:center;gap:10px;padding:6px 12px 6px 10px;display:flex;position:absolute;bottom:12px;left:12px}.meter{--level:0;background:#ffffff26;border-radius:3px;width:96px;height:6px;overflow:hidden}.meter span{height:100%;width:calc(var(--level) * 100%);background:linear-gradient(90deg, var(--good), var(--good) 70%, var(--fair) 85%, var(--poor));transition:width 60ms linear;display:block}.toggles{gap:12px;display:flex}.waiting{gap:24px;max-width:640px;margin:0 auto;display:grid}.pulse{background:var(--preview);width:14px;height:14px;box-shadow:0 0 0 0 var(--preview-soft);border-radius:50%;margin-bottom:8px;animation:1.6s ease-out infinite pulse}@keyframes pulse{0%{box-shadow:0 0 #3b82f673}to{box-shadow:0 0 0 22px #3b82f600}}main.phase-live{max-width:none;padding:16px;display:flex}.live{flex:1;grid-template-columns:1fr;gap:16px;min-height:0;display:grid}.live.with-chat{grid-template-columns:minmax(0,1fr) 340px}.live-main{grid-template-rows:1fr auto;gap:16px;min-height:calc(100dvh - 100px);display:grid}.stage{border-radius:var(--radius);border:1px solid var(--line);background:#000;min-height:240px;position:relative;overflow:hidden}.stage>.video{object-fit:contain}.tap-to-hear{z-index:2;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.stage-empty{color:var(--muted);place-content:center;justify-items:center;gap:8px;display:grid;position:absolute;inset:0}.badge{letter-spacing:.06em;text-transform:uppercase;border-radius:6px;align-items:center;gap:8px;padding:5px 12px;font-size:12px;font-weight:700;display:flex;position:absolute;top:14px;left:14px}.badge.live{background:var(--tally);color:#fff;box-shadow:0 0 24px #ff3b3073}.badge.live .dot{background:#fff;animation:1.4s steps(2,end) infinite blink}@keyframes blink{50%{opacity:.25}}.pip{width:clamp(140px,22%,280px);position:absolute;bottom:14px;right:14px}.pip .preview{border:2px solid #ffffff26;box-shadow:0 12px 30px #0009}.pip-label{text-overflow:ellipsis;white-space:nowrap;background:#0009;border-radius:6px;max-width:calc(100% - 16px);padding:2px 8px;font-size:12px;position:absolute;bottom:8px;left:8px;overflow:hidden}.controls{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.ctl{border-radius:var(--radius-sm);background:var(--panel);border:1px solid var(--line);min-width:88px;color:var(--muted);justify-items:center;gap:4px;padding:10px 14px;font-size:12px;display:grid;position:relative}.ctl .icon{color:var(--text)}.ctl:hover{background:var(--panel-2);color:var(--text)}.ctl.off{background:var(--tally-soft);color:#fecaca;border-color:#ff3b3066}.ctl.off .icon{color:var(--tally)}.ctl.active{border-color:var(--preview)}.ctl.danger{background:var(--tally);border-color:var(--tally);color:#fff}.ctl.danger .icon{color:#fff}.count{background:var(--tally);color:#fff;border-radius:9px;place-items:center;min-width:18px;height:18px;padding:0 5px;font-size:11px;display:grid;position:absolute;top:6px;right:18px}.chat{grid-template-rows:auto 1fr auto;min-height:0;max-height:calc(100dvh - 100px);padding:16px;display:grid}.chat-list{align-content:start;gap:10px;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.chat-list li{background:var(--panel-2);overflow-wrap:anywhere;border-radius:12px;max-width:90%;padding:8px 12px}.chat-list li.me{background:var(--preview-soft);border:1px solid #3b82f64d;justify-self:end}.chat-list .who{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:600}.chat-form{gap:8px;margin-top:12px;display:flex}.ended{max-width:520px;margin:8vh auto 0}.ended-icon{width:56px;height:56px;color:var(--good);background:#22c55e24;border-radius:50%;place-items:center;display:grid}.ended-icon.bad{background:var(--tally-soft);color:var(--tally)}.ended-icon .icon{width:28px;height:28px}.toast{opacity:0;pointer-events:none;background:var(--panel-2);border:1px solid var(--line-2);box-shadow:var(--shadow);z-index:20;border-radius:10px;max-width:calc(100% - 32px);padding:10px 16px;transition:opacity .2s,transform .2s;position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px)}.toast.show{opacity:1;transform:translate(-50%)}@media (max-width:480px){.topbar{gap:8px}.topbar .pill{padding:4px 10px;font-size:12px}.lang{gap:0;font-size:0}}@media (max-width:820px){.setup-grid,.live.with-chat{grid-template-columns:1fr}.chat{max-height:50dvh}.live-main{min-height:calc(100dvh - 120px)}.ctl{flex:1;min-width:0;padding:10px 6px}.ctl span{font-size:11px}.pip{width:34%;bottom:10px;right:10px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.panel.resume{border-color:var(--preview);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.panel.resume p{margin:0}
