:root{--bg: #f6f7f9;--panel: #ffffff;--text: #16181d;--muted: #687080;--border: #e2e5ea;--accent: #2f6fed;--accent-text: #ffffff;--danger: #c93a3a;--ok: #1f8a4c;--stage: #0d0f13;color-scheme:light}@media(prefers-color-scheme:dark){:root{--bg: #0f1115;--panel: #171a20;--text: #e8eaee;--muted: #9099a8;--border: #2a2f38;--accent: #5b8cff;--danger: #ef6b6b;--ok: #46c27c;--stage: #000;color-scheme:dark}}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;font:15px/1.45 system-ui,-apple-system,Segoe UI,sans-serif;background:var(--bg);color:var(--text)}h1{font-size:22px;margin:8px 0 16px}h2{font-size:18px;margin:24px 0 10px}h3{font-size:14px;margin:18px 0 8px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}a{color:var(--accent);text-decoration:none}code{font:13px ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--bg);padding:2px 6px;border-radius:4px;word-break:break-all}.app main{max-width:1280px;margin:0 auto;padding:16px}.top{display:flex;align-items:center;gap:20px;padding:10px 16px;background:var(--panel);border-bottom:1px solid var(--border);flex-wrap:wrap}.top nav{display:flex;gap:14px;flex:1}.top nav a{color:var(--muted);padding:4px 2px}.top nav a.active{color:var(--text);border-bottom:2px solid var(--accent)}.who{display:flex;gap:10px;align-items:center}input,select,button,.button{font:inherit;padding:8px 12px;border-radius:8px;border:1px solid var(--border);background:var(--panel);color:var(--text)}input:focus,select:focus{outline:2px solid var(--accent);outline-offset:-1px}button,.button{background:var(--accent);color:var(--accent-text);border-color:var(--accent);cursor:pointer;display:inline-block}button:disabled{opacity:.5;cursor:default}button.ghost{background:transparent;color:var(--text);border-color:var(--border)}button.danger,.danger{background:var(--danger);border-color:var(--danger);color:#fff}button.ghost.danger{background:transparent;color:var(--danger)}.small,button.small,.button.small{font-size:13px;padding:4px 10px}label.inline{display:inline-flex;gap:6px;align-items:center;color:var(--muted)}label.inline input[type=checkbox]{width:16px;height:16px;margin:0;padding:0;accent-color:#2563eb}.rec-note{margin:8px 2px 0}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:10px 0}.card{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:14px 16px;margin:12px 0}.muted{color:var(--muted)}.center{min-height:100vh;display:grid;place-items:center;padding:16px}.login{width:min(380px,100%);display:flex;flex-direction:column;gap:10px}.notice{background:var(--panel);border:1px solid var(--accent);border-radius:10px;padding:12px;margin:10px 0;display:flex;flex-direction:column;gap:8px}.notice.err{border-color:var(--danger)}table{width:100%;border-collapse:collapse;background:var(--panel);border:1px solid var(--border);border-radius:12px;overflow:hidden;display:block;overflow-x:auto}th,td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--border);white-space:nowrap}th{font-size:12px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.03em}td.actions{display:flex;gap:6px}td.bad{color:var(--danger);font-weight:600}.pill{font-size:12px;padding:2px 8px;border-radius:99px;border:1px solid var(--border)}.pill.live,.pill.edge{color:var(--ok);border-color:var(--ok)}.pill.ended,.pill.disabled{color:var(--muted)}.pill.origin,.pill.admin{color:var(--accent);border-color:var(--accent)}.pill.load-room{color:var(--ok);border-color:var(--ok)}.pill.load-full{color:#c98a1a;border-color:#c98a1a}.pill.load-max{color:var(--danger);border-color:var(--danger)}ul.plain{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin:10px 0}.stat{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:10px 12px}.stat .value{font-size:18px;font-weight:600;margin-top:2px;word-break:break-word}.split{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px;align-items:start}@media(max-width:900px){.split{grid-template-columns:1fr}}.side{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:12px}.side input{width:100%}.stage-holder{background:var(--stage);border-radius:12px;min-height:240px;aspect-ratio:16 / 9;overflow:hidden;display:grid;grid-template:minmax(0,1fr) / minmax(0,1fr)}.placeholder{color:#aab;display:grid;place-items:center}.stage-grid{display:grid;gap:6px;padding:6px;height:100%;min-height:0;min-width:0}.stage-grid[data-count="2"]{grid-template-columns:1fr 1fr}.stage-grid[data-count="3"],.stage-grid[data-count="4"]{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.stage-grid[data-count="5"],.stage-grid[data-count="6"]{grid-template-columns:repeat(3,1fr);grid-template-rows:1fr 1fr}.stage-grid[data-count="7"],.stage-grid[data-count="8"],.stage-grid[data-count="9"]{grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr)}.stage-grid.presenting{grid-template-columns:minmax(0,1fr) 22%;grid-template-rows:repeat(var(--rows, 4),minmax(0,1fr))}.stage-grid.presenting .tile.screen{grid-column:1;grid-row:1 / -1}.stage-grid.presenting .tile.camera{grid-column:2}.tile.screen{background:#000}@media(max-width:700px){.stage-grid.presenting{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:minmax(0,3fr);grid-auto-rows:minmax(0,1fr)}.stage-grid.presenting .tile.screen{grid-column:1 / -1;grid-row:1}.stage-grid.presenting .tile.camera{grid-column:auto}}.tile{position:relative;background:#111;border-radius:8px;overflow:hidden;min-height:0}.tile-media{position:absolute;inset:0}.tile video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block}.tile-name{position:absolute;left:8px;bottom:8px;background:#0009;color:#fff;padding:2px 8px;border-radius:6px;font-size:13px}.tile.muted-video video{opacity:.15}.recording-video{width:100%;height:100%;object-fit:cover;background:#000;display:block}.recording-player{position:fixed;inset:0;background:#000;display:flex}.recording-stage{position:relative;flex:1;min-height:0;background:#000;overflow:hidden;display:grid;container-type:size}.yt-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;width:14.5cqmin;aspect-ratio:68 / 48;height:auto;min-width:46px;padding:0;border:0;border-radius:2.9cqmin;background:#2563eb;color:#fff;box-shadow:0 8px 22px #0000006b;display:grid;place-items:center}.yt-play:hover{background:#1d4ed8}.yt-play svg{display:block;width:42%;height:auto;margin-left:6%}.yt-chrome{position:absolute;left:0;right:0;bottom:0;z-index:3;padding:32px 0 10px;background:linear-gradient(to top,rgba(0,0,0,.85) 0%,rgba(0,0,0,.35) 55%,transparent 100%);opacity:0;pointer-events:none;transition:opacity .2s linear;-webkit-user-select:none;user-select:none}.recording-stage.paused .yt-chrome,.recording-stage.show-controls .yt-chrome,.recording-stage.scrubbing .yt-chrome{opacity:1;pointer-events:auto}.yt-seek{position:relative;height:16px;margin:0 12px;cursor:pointer;touch-action:none}.yt-seek-rail{position:absolute;left:0;right:0;top:50%;height:3px;transform:translateY(-50%);background:#fff3;transition:height .08s linear}.yt-seek:hover .yt-seek-rail,.recording-stage.scrubbing .yt-seek-rail{height:5px}.yt-seek-buffer,.yt-seek-played{position:absolute;left:0;top:0;bottom:0;width:0}.yt-seek-buffer{background:#fff6}.yt-seek-played{background:#2563eb}.yt-seek-knob{position:absolute;top:50%;left:0;z-index:1;width:13px;height:13px;border-radius:50%;background:#2563eb;transform:translate(-50%,-50%) scale(0);transition:transform .08s linear}.yt-seek:hover .yt-seek-knob,.recording-stage.scrubbing .yt-seek-knob,.recording-stage.show-controls .yt-seek-knob,.recording-stage.paused .yt-seek-knob{transform:translate(-50%,-50%) scale(1)}.yt-seek-tip{position:absolute;bottom:calc(100% + 6px);left:0;transform:translate(-50%);padding:4px 6px;border-radius:2px;background:#1c1c1ce6;color:#fff;font:600 12px/1.2 Roboto,Arial,Helvetica,sans-serif;pointer-events:none;opacity:0;white-space:nowrap}.yt-seek:hover .yt-seek-tip,.recording-stage.scrubbing .yt-seek-tip{opacity:1}.yt-bar{display:flex;align-items:center;justify-content:space-between;height:40px;margin-top:2px;padding:0 4px}.yt-bar-left,.yt-vol{display:flex;align-items:center;min-width:0}.yt-vol{margin-left:2px}.recording-stage button.yt-btn{width:40px;height:40px;padding:0;margin:0;border:0;border-radius:0;background:transparent;color:#fff;box-shadow:none;display:grid;place-items:center;flex:0 0 auto}.recording-stage button.yt-btn:hover{background:transparent;color:#fff}.recording-stage button.yt-btn svg{width:22px;height:22px;display:block}.yt-time{margin-left:12px;padding:0;color:#fff;font:500 13px/40px Roboto,Arial,Helvetica,sans-serif;white-space:nowrap;letter-spacing:.01em;text-shadow:0 0 2px rgba(0,0,0,.6)}.yt-dur{color:#ffffffd9}.yt-vol-slider{position:relative;width:72px;height:40px;margin:0 6px 0 2px;cursor:pointer;touch-action:none;flex:0 0 auto}.yt-vol-rail,.yt-vol-level{position:absolute;left:0;top:50%;height:3px;transform:translateY(-50%);border-radius:2px}.yt-vol-rail{right:0;background:#ffffff4d}.yt-vol-level{width:100%;background:#fff}.yt-vol-knob{position:absolute;top:50%;left:100%;width:12px;height:12px;border-radius:50%;background:#fff;transform:translate(-50%,-50%)}.watch{position:fixed;inset:0;background:#000}.watch .stage-holder{width:100%;height:100%;min-height:0;aspect-ratio:auto;border-radius:0;background:#000}.watch .stage-grid{gap:0;padding:0}.watch .tile{border-radius:0;background:#000}.watch .tile-name{display:none}.watch .unmute{position:absolute;left:50%;bottom:24px;transform:translate(-50%);background:#000000b3;border-color:#ffffff4d;color:#fff;z-index:5}.modal{position:fixed;inset:0;background:#00000080;display:grid;place-items:center;padding:16px;z-index:10}.modal .card{max-width:440px}.charts{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}.chart{background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:8px 10px;color:var(--accent)}.chart-head{display:flex;justify-content:space-between;color:var(--text);font-size:13px}.spark{width:100%;height:56px}.toast{position:fixed;right:16px;bottom:16px;background:var(--panel);border:1px solid var(--ok);color:var(--text);padding:10px 14px;border-radius:10px;z-index:20;max-width:calc(100vw - 32px)}.toast.err{border-color:var(--danger)}.pools{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:10px;margin:8px 0}.pool{border:1px solid var(--border);border-radius:10px;padding:8px 10px}.pool .small{white-space:normal}
