:root{--bg:#090a16;--panel:#141427;--purple:#974cff;--orange:#ffa65c;--text:#f4efff;--muted:#aaa4bf}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 60% 0,#25143e,transparent 65%),var(--bg);font:16px system-ui;color:var(--text)}main{max-width:1180px;margin:auto;padding:30px}header,.heading,.box{display:flex;align-items:center;justify-content:space-between}header{margin-bottom:34px}.brand{font-size:30px;font-weight:800}.brand span{color:var(--purple)}header p,.eyebrow{letter-spacing:2px;font-size:11px;color:var(--muted)}.phase,.badge{border:1px solid #39304e;border-radius:30px;padding:9px 14px;font-size:13px;color:#cfb5ff}h1{font-size:30px;margin:6px 0 18px}h2{font-size:21px}.player{aspect-ratio:16/9;position:relative;overflow:hidden;background:#030308;border:1px solid #352b49;border-radius:22px;box-shadow:0 15px 70px #0005}.player video{width:100%;height:100%;object-fit:contain}.empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(ellipse,#231137,#080811 70%);padding:20px;text-align:center}.empty p{max-width:500px;color:var(--muted);margin:0 0 20px}.orb{width:65px;height:65px;border:1px solid #8b4dda;border-radius:50%;display:grid;place-items:center;color:#cfaaff;box-shadow:0 0 45px #974cff33}.grid{display:grid;grid-template-columns:1.3fr 1fr;gap:20px;margin-top:24px}.panel{padding:24px;border:1px solid #2a253c;border-radius:20px;background:var(--panel)}.muted,.note,.box p{color:var(--muted);font-size:14px;line-height:1.6}.note{color:var(--orange)}button{font:inherit;color:#fff;border:0;border-radius:12px;padding:12px 17px;background:var(--purple);cursor:pointer}button:disabled{opacity:.5;cursor:wait}button:focus-visible{outline:3px solid var(--orange);outline-offset:4px}.secondary{background:#302440}.quiet{background:transparent;color:var(--muted);padding:0}.buttons{display:flex;gap:10px;flex-wrap:wrap}.box{padding:16px 0;border-bottom:1px solid #2a253c}.box p{margin:4px 0}.box span{color:var(--muted);font-size:13px}.error{padding:15px;background:#462039;border-radius:12px}footer{padding:25px 0;color:var(--muted);font-size:12px}@media(max-width:650px){main{padding:18px}header{margin-bottom:22px}.brand{font-size:25px}.phase{font-size:10px;padding:7px}.grid{grid-template-columns:1fr}.player{border-radius:14px}.empty h2{font-size:17px;margin:8px}.empty p{font-size:12px;margin-bottom:8px}.orb{display:none}.empty button{font-size:13px;padding:8px 13px}h1{font-size:25px}.panel{padding:20px}}.remote-pad{display:grid;grid-template-columns:repeat(3,64px);grid-template-rows:repeat(3,54px);gap:8px;justify-content:center;margin:20px 0}.remote-up{grid-column:2;grid-row:1}.remote-left{grid-column:1;grid-row:2}.remote-ok{grid-column:2;grid-row:2}.remote-right{grid-column:3;grid-row:2}.remote-down{grid-column:2;grid-row:3}details{margin-top:22px}summary{cursor:pointer;padding:12px 0}a{color:var(--purple);overflow-wrap:anywhere}@media(max-width:700px){header{flex-wrap:wrap;gap:16px}.preferences{flex-wrap:wrap}.panel{padding:18px}button{min-height:44px}main{padding:14px}}:root{--wash:#25143e;--border:#39304e;--secondary:#302440;--highlight:#cfb5ff;--empty-center:#231137;--empty-edge:#080811;--danger:#78324c;--danger-text:#fff;--error-bg:#462039;--on-accent:#fff}:root[data-theme=white]{--bg:#f4f5f8;--panel:#fff;--purple:#6740bd;--orange:#995000;--text:#20212d;--muted:#5d6172;--wash:#e4deef;--border:#cbd0dd;--secondary:#ece8f5;--highlight:#5934a5;--empty-center:#e9e4f4;--empty-edge:#f7f7fb;--danger:#f8dce3;--danger-text:#8a213c;--error-bg:#f8dce3}:root[data-theme=black]{--bg:#050505;--panel:#141414;--purple:#d0d0d0;--orange:#f3ba78;--text:#fafafa;--muted:#b0b0b0;--wash:#1c1c1c;--border:#3a3a3a;--secondary:#303030;--highlight:#eee;--empty-center:#202020;--empty-edge:#080808;--danger:#6c2638;--on-accent:#111}:root[data-theme=dark-blue]{--bg:#06101e;--panel:#0d2037;--purple:#467fef;--orange:#ffc078;--text:#edf5ff;--muted:#a7bbd5;--wash:#133660;--border:#2b486e;--secondary:#1b3658;--highlight:#b1d2ff;--empty-center:#0d2947;--empty-edge:#05101d;--danger:#712b44}:root[data-theme=orange]{--bg:#160d09;--panel:#261810;--purple:#f28e3d;--orange:#ffc58f;--text:#fff3e7;--muted:#cbb09b;--wash:#442510;--border:#65402a;--secondary:#452d1e;--highlight:#ffc58f;--empty-center:#3b2110;--empty-edge:#100a06;--danger:#7f293b;--on-accent:#251205}body{background:radial-gradient(ellipse at 60% 0,var(--wash),transparent 65%),var(--bg)}.badge,.phase,.player,.panel,.box{border-color:var(--border)}.badge{color:var(--highlight)}.empty{background:radial-gradient(ellipse,var(--empty-center),var(--empty-edge) 70%)}.orb{border-color:var(--purple);color:var(--highlight);box-shadow:none}button{color:var(--on-accent)}.secondary{background:var(--secondary);color:var(--text)}.error{background:var(--error-bg)}.danger{background:var(--danger);color:var(--danger-text)}.preferences,.viewer-controls{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.preferences label{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--muted)}select,input{font:inherit;border:1px solid var(--border);border-radius:10px;background:var(--panel);color:var(--text);padding:10px}select:focus-visible,input:focus-visible{outline:3px solid var(--orange);outline-offset:3px}.viewer-controls{justify-content:space-between;margin-top:15px;min-height:42px}.login{margin-bottom:24px}.login input{min-width:0;flex:1}.auth-qr{display:block;width:240px;height:240px;max-width:100%;padding:12px;background:#fff;border-radius:12px;margin:16px 0}.two-factor code{display:block;overflow-wrap:anywhere;user-select:all;margin-bottom:12px}.admission{margin:24px 0}.admission input{min-width:0;max-width:100%}.invite-toggle{margin:20px 0}.share-code{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:16px}.share-code strong{font-size:28px;letter-spacing:3px}.share-code code{overflow-wrap:anywhere;max-width:100%;user-select:all}.viewer-controls input[type=range]{padding:0;max-width:120px}.player:fullscreen{background:#000;aspect-ratio:auto;border-radius:0}@media(max-width:650px){header{align-items:flex-start;gap:18px;flex-direction:column}.preferences{width:100%;justify-content:space-between;gap:10px}.preferences button{padding:10px;font-size:13px}}
