:root{color-scheme:dark;--bg:#080b10;--panel:#111720;--line:#273140;--text:#f4f7fb;--muted:#96a3b5;--accent:#46e0aa;--accent2:#1b9f78;--danger:#ff6b78}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 15% 0,#152536 0,transparent 38%),var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,sans-serif}main{width:min(1200px,calc(100% - 32px));margin:0 auto;padding:32px 0}.hidden{display:none!important}.auth-card{width:min(480px,100%);margin:5vh auto;background:rgba(17,23,32,.94);border:1px solid var(--line);border-radius:20px;padding:38px;box-shadow:0 30px 90px #0009}.brand-mark{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:var(--accent);color:#07120e;font-weight:900;letter-spacing:-1px}.eyebrow{text-transform:uppercase;letter-spacing:.14em;color:var(--accent);font-size:.74rem;font-weight:800;margin:22px 0 7px}h1{font-size:clamp(1.8rem,4vw,2.8rem);margin:0}h2{font-size:1.08rem;margin:0 0 20px}.muted{color:var(--muted);line-height:1.55}label{display:grid;gap:7px;margin:18px 0;color:#cad2dd;font-size:.85rem;font-weight:650}input,select{width:100%;border:1px solid var(--line);border-radius:10px;background:#090e15;color:var(--text);padding:12px 13px;font:inherit;outline:none}input:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #46e0aa20}button{border:0;border-radius:10px;background:var(--accent);color:#06120e;padding:12px 17px;font-weight:800;cursor:pointer}button:hover{filter:brightness(1.08)}button:disabled{opacity:.45;cursor:not-allowed}form>button{width:100%;margin-top:8px}.error{color:#ff929c;min-height:1.2em}.panel{background:rgba(17,23,32,.92);border:1px solid var(--line);border-radius:18px}header{display:flex;align-items:end;justify-content:space-between;margin-bottom:24px}.header-actions{display:flex;align-items:center;gap:12px}.badge{padding:8px 12px;background:#1b2430;color:#aab6c6;border-radius:999px;font-size:.8rem}.grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(320px,1fr);gap:20px}.stage{position:relative;min-height:590px;overflow:hidden;background:#030507;display:grid;place-items:center}.stage video{position:absolute;width:100%;height:100%;object-fit:cover}.controls{padding:25px}.button-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.secondary{background:#202a37;color:var(--text);border:1px solid #344153}.danger{background:#55252d;color:#ffc3c8}.full{width:100%;margin-top:10px}hr{border:0;border-top:1px solid var(--line);margin:26px 0}.fullscreen{position:absolute;right:16px;bottom:16px;z-index:3;background:#111a25cc;color:#fff;border:1px solid #3a4655}.camera-icon{font-size:3rem;color:var(--accent);text-align:center}#emptyStage{text-align:center;color:var(--muted)}#emptyStage h2{color:var(--text);margin:10px 0 0}.age-gate{min-height:calc(100vh - 64px);display:grid;place-items:center;padding:28px 0}.age-card{width:min(650px,100%);padding:42px;background:rgba(17,23,32,.97);border:1px solid var(--line);border-radius:22px;box-shadow:0 30px 90px #000a}.age-badge{display:grid;place-items:center;width:72px;height:72px;border-radius:50%;background:var(--danger);color:#24070b;font-size:1.55rem;font-weight:950}.age-card h1{margin-top:8px}.age-lead{font-size:1.08rem;color:#d7dee8;line-height:1.6}.age-card ul{padding-left:24px;color:#c3cbd6;line-height:1.65}.age-card li{margin:7px 0}.age-actions{display:grid;gap:11px;margin-top:28px}.age-actions button{width:100%}.age-actions .secondary{color:#f4f7fb}.age-note{margin:20px 0 0;color:var(--muted);font-size:.78rem;text-align:center}.denied-card{text-align:center}.denied-card .age-badge{margin:0 auto 24px}.login-divider{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:.72rem;margin:20px 0}.login-divider:before,.login-divider:after{content:"";height:1px;background:var(--line);flex:1}.invite-code{font-size:2rem;font-weight:900;letter-spacing:.28em;color:var(--accent);padding:15px;background:#080d13;border:1px solid var(--line);border-radius:10px;text-align:center}.viewer-watermark{position:absolute;z-index:2;top:22px;left:22px;display:grid;gap:3px;color:#fff9;text-shadow:0 1px 3px #000;font-size:.78rem;pointer-events:none;animation:watermarkMove 24s linear infinite}.viewer-watermark strong{color:#fff}@keyframes watermarkMove{0%,100%{transform:translate(0,0)}25%{transform:translate(55vw,8vh)}50%{transform:translate(48vw,62vh)}75%{transform:translate(5vw,55vh)}}footer{margin:28px 0 4px;text-align:center;color:var(--muted);font-size:.72rem;font-weight:800;letter-spacing:.13em}.mode-chooser{width:min(620px,100%);margin:8vh auto;padding:32px}.mode-chooser h2{font-size:1.35rem}.viewer-count{margin:18px 0;padding:16px;border:1px solid #385267;border-radius:12px;background:#0b121a;font-size:1.05rem;letter-spacing:.08em}.viewer-count strong{color:var(--accent);font-size:1.55rem}.monitor-control{margin-top:10px}.monitor-active{display:block;margin-top:10px;padding:12px;text-align:center;color:var(--accent);border:1px solid var(--accent2);border-radius:10px;line-height:1.45}.monitor-control button.active{background:var(--accent);color:#06120e}.radio-panel{margin-top:4px}.radio-now{display:grid;gap:4px;padding:14px;margin:10px 0 14px;background:#080d13;border:1px solid var(--line);border-radius:10px}.radio-now strong{font-size:1.35rem;color:var(--accent)}.radio-status{margin-top:10px;color:var(--accent);font-size:.78rem;font-weight:900;letter-spacing:.13em}input[type=range]{padding:5px 0;accent-color:var(--accent)}
@media(max-width:800px){main{width:min(100% - 20px,1200px);padding-top:18px}.grid{grid-template-columns:1fr}.stage{min-height:55vh}header{align-items:start;gap:18px}.header-actions{flex-direction:column;align-items:end}.auth-card,.age-card{padding:28px}.controls{padding:20px}.mode-chooser{margin:4vh auto}.viewer-watermark{animation:none;top:14px;left:14px}}
.diagnostics{margin:16px 0;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:#0a1017}.diagnostics summary{cursor:pointer;color:#cad2dd;font-weight:800}.diagnostics h3{margin:16px 0 8px;color:var(--accent);font-size:.72rem;text-transform:uppercase;letter-spacing:.12em}.diagnostics dl{margin:0;display:grid;gap:6px}.diagnostics dl div{display:flex;justify-content:space-between;gap:14px}.diagnostics dt{color:var(--muted)}.diagnostics dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}.stage video{transform:translateZ(0);will-change:auto}
