:root{color-scheme:dark;--bg:#0d111b;--panel:#161d2c;--line:#2e3a50;--text:#f1f4fa;--muted:#b3bdd0;--accent:#a7f3cf;--red:#ffc1bd;font-family:system-ui,-apple-system,"Segoe UI",sans-serif}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 90% 0%,#193337 0,transparent 45%),var(--bg);color:var(--text);min-height:100vh}header{max-width:1080px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:26px 28px;border-bottom:1px solid var(--line)}.brand{text-decoration:none;color:var(--text);font-size:24px;font-weight:750;letter-spacing:-1px}.brand span{color:var(--accent)}.brand small{font-size:10px;letter-spacing:2px;margin-left:12px;color:var(--muted)}#identity{display:flex;gap:18px;align-items:center}[hidden]{display:none!important}main{max-width:940px;padding:44px 28px 32px;margin:auto}.eyebrow,.live{font-size:11px;letter-spacing:2px;font-weight:750;color:var(--accent)}h1{font-size:clamp(30px,4vw,43px);letter-spacing:-1.4px;line-height:1.12;margin:14px 0}h2{font-size:24px;letter-spacing:-.6px;margin:13px 0}p{line-height:1.6;color:var(--muted);margin:10px 0 20px}.card{background:linear-gradient(130deg,#1b2535,#141b28);border:1px solid var(--line);border-radius:20px;padding:30px;margin:0 0 24px;box-shadow:0 15px 40px #0002}.login{max-width:500px;margin:28px auto}.login p{max-width:380px}.intro{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px}.intro p{margin-bottom:0}.fine,.footer-note{font-size:12px;line-height:1.6;color:var(--muted)}.fine{margin:16px 0 0}.footer-note{padding:0 10px}.live{display:flex;align-items:center;gap:8px}.live i{height:7px;width:7px;background:var(--accent);border-radius:50%}.watch-row{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:18px 0;border-top:1px solid var(--line)}.watch-row strong{display:block;font-size:18px}.watch-row p{margin:5px 0 0;font-size:14px}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}button,a.button{font:inherit;font-size:14px;font-weight:650;min-height:46px;border:1px solid #4b5a72;border-radius:10px;background:#26334a;color:var(--text);padding:11px 17px;cursor:pointer;text-align:center;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}button.primary,a.primary{background:var(--accent);border-color:var(--accent);color:#0c2420}button.danger{background:#3b242a;border-color:#9d6265;color:var(--red)}button.quiet{background:transparent}button:hover,a.button:hover{filter:brightness(1.15)}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--accent);outline-offset:4px}label{display:block;font-size:13px;font-weight:600;margin:19px 0 8px}input,select{width:100%;font:inherit;color:var(--text);background:#0d1421;border:1px solid #45516a;border-radius:10px;padding:12px}select{font-size:14px;line-height:1.7}option{padding:9px;border-radius:5px}option:checked{background:#304d4b;color:#d3ffec}#signin button{width:100%;margin-top:24px}.request{border-color:#6d7560}.request .actions{margin-bottom:0}#feedback{background:#152a29;border:1px solid #496d61;border-radius:12px;padding:15px 20px;position:sticky;bottom:16px;box-shadow:0 5px 25px #0005;white-space:pre-line}#feedback:empty{display:none}#feedback.error{background:#36232a;border-color:#9d6265;color:#ffdbd8}dialog{color:var(--text);background:var(--panel);border:1px solid #53627b;border-radius:18px;max-width:540px;padding:30px}dialog::backdrop{background:#030610c9}dialog p{margin-top:15px}@media(max-width:600px){header{padding:20px}.brand small{display:none}main{padding:28px 16px}.card{padding:23px}.intro{align-items:flex-start}.watch-row{align-items:flex-start;flex-direction:column}.actions>*{flex:1 1 100%}#identity{gap:8px;font-size:13px}#identity button{padding:8px}h2{font-size:22px}}

/* Stream control dashboard */
main{max-width:1180px}header{max-width:1180px}.dashboard-status{display:flex;justify-content:space-between;gap:14px;font-size:12px;color:var(--muted);margin:2px 0 20px}.dashboard-status>span:first-child{color:var(--accent)}.dashboard-status .error{color:var(--red)!important}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:36px}.metrics>div{border:1px solid var(--line);border-radius:14px;background:#121d2a;padding:20px}.metrics span{display:block;font-size:10px;letter-spacing:1.5px;color:var(--muted);font-weight:700}.metrics strong{display:block;font-size:31px;margin-top:10px;letter-spacing:-1px}.metrics>div:last-child strong{font-size:18px;letter-spacing:-.4px;padding-top:8px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px}.section-heading h2{margin:9px 0 0}.section-heading .fine{margin:0}.stream-card{padding:25px 28px}.stream-top{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.viewer-name{font-size:13px;color:var(--accent);font-weight:700}.stream-top h3{font-size:21px;line-height:1.35;letter-spacing:-.4px;margin:8px 0;overflow-wrap:anywhere}.tags{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end;flex:0 0 auto;max-width:45%}.badge{display:inline-block;border:1px solid #45516a;border-radius:6px;background:#222d40;color:#d7deed;padding:5px 8px;font-size:11px;font-weight:650;white-space:nowrap}.badge.green{background:#173e33;color:#a7f3cf;border-color:#2b6654}.badge.amber{background:#413821;color:#ffdf91;border-color:#75613a}.badge.blue{background:#223a51;border-color:#3d668d;color:#c5e4ff}.device-line{font-size:13px;margin:0 0 22px}.stream-details{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px 14px;margin:0;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.stream-details dt{color:var(--muted);font-size:11px;margin-bottom:8px}.stream-details dd{margin:0;font-size:14px;font-weight:600;overflow-wrap:anywhere}.stream-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:18px}.stream-footer .fine{margin:0}.stream-footer button{white-space:nowrap}.empty-state{text-align:center;padding:40px 26px}.empty-state p{max-width:550px;margin:12px auto 0}.recovery{margin-top:34px;background:linear-gradient(110deg,#172332,#16262a)}.recovery .section-heading{margin-bottom:0}.recovery .actions{margin-top:20px}#guard-details{overflow-wrap:anywhere}.audit-row{display:grid;grid-template-columns:100px 160px 1fr;gap:15px;padding:13px 0;border-top:1px solid var(--line);align-items:baseline}.audit-row .fine{margin:0}.audit-row strong{font-size:13px}details>summary{cursor:pointer;padding:22px 0;font-size:15px;font-weight:650;color:var(--muted)}details{border-top:1px solid var(--line);margin-top:30px}details[open]>summary{color:var(--text)}#admin-confirm{max-width:560px}#admin-confirm-text{overflow-wrap:anywhere}@media(max-width:760px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.metrics>div{padding:17px}.stream-top{flex-direction:column;gap:8px}.tags{max-width:100%;justify-content:flex-start}.stream-details{grid-template-columns:repeat(2,minmax(0,1fr))}.stream-footer{align-items:flex-start;flex-direction:column}.stream-footer button{width:100%}.section-heading{align-items:flex-start}.section-heading>.fine{max-width:140px}.audit-row{grid-template-columns:1fr;gap:5px}.dashboard-status{flex-direction:column;gap:7px}.stream-card{padding:23px}.metrics strong{font-size:28px}}
/* Game guide: large targets and stable, keyboard-friendly cards. */
main{max-width:1120px}.guide-shell{margin-bottom:36px}.guide-top,.guide-game-top{display:flex;align-items:center;justify-content:space-between;gap:16px}.guide-top h2{font-size:32px}.guide-shell>label{font-size:16px}#guide-search{font-size:19px;padding:17px;border-radius:14px}.guide-tabs,.guide-filters{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.guide-shell button{min-height:52px;font-size:16px}.guide-tabs button[aria-pressed=true],.guide-filters button[aria-pressed=true]{background:var(--accent);color:#0c2420;border-color:var(--accent)}.guide-tabs button{flex:1;font-size:18px}.guide-history{display:flex;align-items:center;gap:10px;font-size:14px;margin:0 0 0 auto}.guide-history input{width:20px;height:20px}.guide-capacity{font-size:15px;padding:14px 18px;background:#17302d;border:1px solid #36594e;border-radius:12px}.guide-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.guide-game,.guide-channel,.guide-empty{background:linear-gradient(140deg,#1d2f39,#151d2c);border:1px solid #3c515d;border-radius:18px;padding:24px;min-width:0}.guide-game h3,.guide-channel h3{font-size:25px;line-height:1.25;letter-spacing:-.5px;margin:17px 0 10px}.guide-game .actions{margin-top:18px}.guide-event-date{font-size:15px}.guide-badge{color:#d3f2e3;background:#243d38;border-radius:20px;padding:6px 10px;font-size:12px;white-space:normal}.guide-alternates{margin-top:22px;border-top:1px solid #3c515d;padding-top:10px}.guide-alternates summary,details>summary{cursor:pointer;min-height:52px;padding:15px 0;font-size:17px;font-weight:650}.guide-alternates summary:focus-visible,details>summary:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.guide-broadcast{padding:18px 0;border-top:1px solid #33434f}.guide-broadcast strong{font-size:17px}.guide-broadcast .fine{margin:8px 0 14px;overflow-wrap:anywhere}.guide-game .fine{font-size:13px}.guide-disclaimer{max-width:850px}.guide-empty{grid-column:1/-1}.guide-save{background:transparent!important;color:var(--accent)!important}.guide-channel .fine{min-height:24px}#admin-dashboard,#channel-tools{border-top:1px solid var(--line);margin-top:20px;padding-top:5px}.guide-shell :focus-visible{outline:3px solid #c6ffe0;outline-offset:4px}@media(max-width:760px){.guide-results{grid-template-columns:1fr}.guide-top{align-items:flex-start;flex-direction:column;gap:0}.guide-game,.guide-channel{padding:22px}.guide-tabs{gap:6px}.guide-tabs button{font-size:15px;padding:10px}.guide-history{margin:4px 0}.guide-game h3,.guide-channel h3{font-size:24px}.guide-shell .actions .primary{flex:1}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
/* Keep game cards close to the first screen, including on phones. */
header{padding-top:18px;padding-bottom:18px}main{padding-top:24px}.intro{margin-bottom:16px}.intro h1{font-size:32px;margin:8px 0}.intro p{display:none}.guide-top .eyebrow{display:none}.guide-top h2{font-size:27px;margin:8px 0}.guide-shell>label{margin-top:14px}#guide-search{padding:14px}.guide-tabs,.guide-filters{margin-top:12px}#guide-count{margin:12px 0}.guide-updated{margin:0}.guide-shell .guide-top>.fine{margin:0}@media(max-width:760px){.guide-top{flex-direction:row;align-items:center;gap:8px}.guide-top h2{font-size:24px}.guide-top>.fine{max-width:115px;text-align:right;font-size:11px}.intro .eyebrow{display:none}.intro h1{font-size:29px}.guide-tabs button{font-size:14px}}

/* Shared dashboard: readable summaries first, diagnostic details on demand. */
#admin-dashboard{border:0;margin:0 0 28px;padding:0}.quality-summary{font-size:17px;color:var(--text);margin:12px 0}.playback-disclosure{margin-top:12px}.playback-disclosure>summary{font-size:15px;min-height:48px}.device-line:empty{display:none}.stream-card .stream-top h3{font-size:24px}.stream-details dt{font-size:13px}.stream-details dd{font-size:16px}.dashboard-status{font-size:14px}.viewer-name{font-size:17px}#owner-tools{margin-bottom:28px}.metrics{margin-bottom:22px}#admin-controls .empty-state{padding:22px}#admin-controls .empty-state p{margin-top:8px}button{min-height:48px}
.access-account{display:flex;align-items:center;gap:12px;min-height:48px;font-size:16px}.access-account input{width:24px;height:24px;flex:0 0 24px}#access-users{margin-top:20px;max-height:40vh;overflow:auto}#access-dialog{width:min(600px,95vw)}
