/* Broadcast presentation. Pagination, scoring and screen permissions remain in screen.js. */
:root{--ice:#80e9ff;--line:#315474;--gold:#f0cb83;--muted:#9db5ce}
body{background:radial-gradient(ellipse at 85% 0%,#153b56 0,transparent 48%),linear-gradient(135deg,#060d1a,#0c1a2b 60%,#091421);padding:2vh 2vw;gap:1.4vh}
body::before{content:"";position:fixed;inset:0;pointer-events:none;background:linear-gradient(#86d6ff03 1px,transparent 1px),linear-gradient(90deg,#86d6ff03 1px,transparent 1px);background-size:64px 64px;z-index:-1}
header{align-items:center;padding:0 0 1.2vh;border-bottom:1px solid #34577780}
.brand{color:var(--ice);font-size:12px;letter-spacing:4px}
h1{letter-spacing:1px;font-weight:800;text-shadow:0 2px 20px #071421}
header p{color:#a8c6df;font-size:14px}
.tools{gap:8px}
.tools span{font-family:Consolas,monospace;letter-spacing:1px;font-size:22px;color:#d1e8f8}
button,#court-count{border-color:#37566f;background:#10263aaa;border-radius:7px;transition:background .16s,border-color .16s}
button:hover:not(:disabled),#court-count:hover{background:#1b3b53;border-color:#7cbad6}
button:focus-visible,#court-count:focus-visible{outline:2px solid var(--ice);outline-offset:3px}
button:disabled{cursor:default;opacity:.7}
#dashboard{gap:1.4vw}
#dashboard.split{grid-template-columns:minmax(0,3fr) minmax(260px,1fr)}
#matches{gap:1.4vh 1.3vw}
.court-panel{position:relative;border:1px solid #355b78;border-radius:14px;padding:16px;background:linear-gradient(155deg,#12283cdd,#0b1b2ded);box-shadow:inset 0 1px #93c9e914,0 12px 28px #0002}
.court-panel::before{content:"";position:absolute;top:0;left:18px;right:18px;height:2px;background:linear-gradient(90deg,transparent,#72c6ed99,transparent);pointer-events:none}
.court-panel[data-state=ongoing]{border-color:#5bb5d8;background:linear-gradient(150deg,#12364c,#0b1c2e 75%)}
.court-panel[data-state=ongoing]::before{background:linear-gradient(90deg,transparent,var(--ice),transparent);box-shadow:0 0 16px #60d6ff66}
.court-heading{padding:0 2px 12px;margin-bottom:8px;border-bottom:1px solid #41658066}
.court-heading h2{display:flex;align-items:center;gap:12px;font-size:clamp(24px,1.9vw,38px);font-weight:800;letter-spacing:1px}
.court-heading h2::before{content:"";width:4px;height:28px;flex:none;background:linear-gradient(var(--ice),#4e8cd5);border-radius:2px;box-shadow:0 0 12px #59c9ef33}
.court-state{display:flex;align-items:center;gap:8px;font-size:14px;letter-spacing:1px;color:#bed1e1}
.court-state::before{content:"";width:6px;height:6px;flex:none;border-radius:50%;background:#9fb4ca}
.court-panel[data-state=ongoing] .court-state{color:var(--ice)}
.court-panel[data-state=ongoing] .court-state::before{background:var(--ice);box-shadow:0 0 8px #80e9ff88;animation:live-pulse 2.4s ease-in-out infinite}
.court-panel[data-state=pending] .court-state::before{background:var(--gold)}
.court-panel>.match{flex:2.4 1 0;min-height:150px;padding:8px 4px 12px}
.court-panel>.match>.scoreboard{align-content:center}
.court-panel>.match .status{visibility:hidden}
.court-panel[data-state=pending]>.court-caption{display:none}
.court-panel>.match .name{font-size:clamp(23px,1.8vw,36px);gap:10px}
.court-panel>.match .score{font-size:clamp(40px,4vw,80px);letter-spacing:-1px;text-shadow:0 0 24px #c7eaff22}
.court-panel>.match .stacked .score{font-size:clamp(34px,3vw,60px)}
.score.versus{color:#82a6c2;font-weight:500;letter-spacing:3px;text-shadow:none!important}
.court-panel>.match .score.versus{font-size:clamp(30px,2.8vw,54px)}
.court-panel .match.ended .score{color:#ffe5c0}
.winner{color:#f3c18b}
.screen-player-photo{box-shadow:0 0 0 1px #8ac7e83b,0 3px 10px #0002;background:#27445e}
.match-meta{color:#9dbbd6;font-size:clamp(13px,1vw,19px)}
.match-round{font-weight:500;letter-spacing:1px}
.status{font-size:12px;color:#a6bfd4;white-space:nowrap}
.status.ongoing{color:var(--ice)}
.court-next{display:flex;flex-direction:column;flex:1 1 0;min-height:116px;padding:12px 4px 0;margin-top:6px;border-top:1px solid #42647d66}
.court-next .court-caption{font-size:14px;line-height:1.3;letter-spacing:1px;color:#b1cfdf;margin:0 0 8px;display:flex;align-items:center;gap:8px}
.court-next .court-caption::before{content:"";width:16px;height:2px;background:#73b8d5}
.court-next .match{flex:1;padding:0 4px 4px}
.court-next .match-meta{font-size:13px;margin-bottom:8px}
.court-next .name{font-size:clamp(19px,1.35vw,28px);gap:7px}
.court-next .screen-player-photo{width:34px;height:34px;flex-basis:34px}
.court-next .screen-player{gap:9px}
.court-next .score,.court-next .stacked .score{font-size:clamp(28px,2.2vw,42px);letter-spacing:-.5px;font-weight:800}
.court-next .score.versus{font-size:26px;font-weight:500;letter-spacing:2px}
.court-next .details{font-size:12px;margin-top:6px;color:#9eb7ca}
.details:empty{display:none}
#rankings{border-radius:14px;border-color:#31516c;padding:18px 16px;background:linear-gradient(165deg,#132b40dd,#0b192aed);box-shadow:inset 0 2px #7ad5fa33}
#rankings h2{font-size:clamp(22px,1.7vw,32px);font-weight:800;letter-spacing:2px;color:#e0f2fc}
#rank-note{font-size:12px;color:var(--muted);line-height:1.5;margin:8px 0 12px}
#rank-rows{gap:4px}
.rank-row{gap:10px;border-bottom:1px solid #36526a66;padding:10px 0}
.rank-number{width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-size:20px;color:#9ebcd3;border-radius:7px}
.rank-row[data-rank="1"] .rank-number{color:#ffe0a1;background:#84622833;box-shadow:inset 0 0 0 1px #caa55966}
.rank-row[data-rank="2"] .rank-number{color:#e1eafa;background:#7e97b22b;box-shadow:inset 0 0 0 1px #91a7bf55}
.rank-row[data-rank="3"] .rank-number{color:#eebc96;background:#a46e4229;box-shadow:inset 0 0 0 1px #bc83534d}
.rank-name{font-size:clamp(17px,1.15vw,24px)}
.rank-name .screen-player{gap:9px}
.rank-stats{font-size:clamp(15px,1vw,20px);font-weight:600;color:#c9e4f3;font-variant-numeric:tabular-nums}
#rank-page{margin-top:12px;color:#96b4c9}
#display-tools{gap:8px}
#display-tools button{padding:8px 12px;font-size:12px}
#display-tools button[aria-pressed=true]{background:#17475b;border-color:#478ca7;color:#c4f5ff}
#court-count-wrap{font-size:12px}
#court-count{padding:6px 8px;font-size:12px}
footer{font-size:11px;color:#87a4bc;letter-spacing:.3px}
.bracket-match{background:linear-gradient(150deg,#153046,#0d2033);border-color:#3f6685;border-radius:10px}
.bracket-match.ongoing{border-color:#73cee7;background:linear-gradient(150deg,#174258,#10283b)}
.bracket-links path{stroke:#77b2d4;stroke-width:2}
.bracket-round{color:#b7e7f6;letter-spacing:1px}
.single .score{color:#e9f7ff;text-shadow:0 0 30px #8edfff22}
.dense .court-panel{padding:9px}
.dense .court-panel>.match{min-height:100px;padding:4px 0 6px;flex:2 1 0}
.dense .court-heading{padding-bottom:7px;margin-bottom:5px}
.dense .court-heading h2{font-size:21px;gap:8px}
.dense .court-heading h2::before{height:20px;width:3px}
.dense .court-state{font-size:11px;gap:5px;letter-spacing:0}
.dense .court-panel>.match .name{font-size:18px;gap:5px}
.dense .court-panel>.match .score,.dense .court-panel>.match .stacked .score{font-size:30px}
.dense .court-next{min-height:88px;padding:7px 0 0;margin-top:4px}
.dense .court-next .court-caption{font-size:12px;margin-bottom:4px}
.dense .court-next .name{font-size:17px;gap:4px}
.dense .court-panel .screen-player-photo{width:26px;height:26px;flex-basis:26px}
.dense .court-next .score,.dense .court-next .stacked .score{font-size:25px}
.dense .court-next .score.versus{font-size:21px}
.dense .match-meta,.dense .court-next .match-meta{font-size:11px;gap:5px;margin-bottom:4px}
.dense .status{font-size:10px}
@keyframes live-pulse{0%,100%{opacity:1}50%{opacity:.45}}
@media(prefers-reduced-motion:reduce){*,*::before{animation:none!important;transition:none!important}}
@media(max-width:1100px){#dashboard.split{grid-template-columns:minmax(0,2.6fr) minmax(240px,1fr)}.court-panel{padding:12px}.court-next .name{font-size:20px}.court-next .screen-player-photo{width:28px;height:28px;flex-basis:28px}}
@media(max-width:800px){header{align-items:flex-start}.brand{font-size:10px;letter-spacing:2px}#dashboard.split{grid-template-columns:minmax(0,1fr)}.court-panel>.match{min-height:140px}.court-next{min-height:118px}.court-next .screen-player{gap:7px}.court-heading h2{font-size:25px}.court-state{font-size:12px}#display-tools{gap:6px}#display-tools button{padding:7px 8px;font-size:11px}footer{font-size:10px}}
@media(max-height:650px){header{padding-bottom:5px}.court-heading{padding-bottom:7px;margin-bottom:4px}.court-panel{padding:10px}.court-panel>.match{min-height:120px;flex:1.7 1 0;padding:4px}.court-next{min-height:94px;padding-top:7px}.court-next .name{font-size:18px;gap:5px}.court-next .screen-player-photo{width:26px;height:26px;flex-basis:26px}.court-next .score,.court-next .stacked .score{font-size:28px}.court-next .court-caption{font-size:12px;margin-bottom:4px}.court-next .match-meta{font-size:11px;margin-bottom:4px}.court-panel>.match .name{font-size:23px}.court-panel>.match .score{font-size:38px}.court-panel>.match .score.versus{font-size:30px}}
