/* Widescreen projection: a compact status bar leaves the screen to player rankings. */
.projector .control-shell { width:calc(100% - 64px); max-width:none; height:100dvh; min-height:500px; padding:20px 0; display:flex; flex-direction:column; gap:16px; }
.projector-topbar { display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:86px; border-bottom:1px solid var(--line); padding-bottom:16px; }
.projector-topbar .brand { font-size:24px; }.projector-topbar>div { min-width:0; }.projector-topbar span { display:block; color:var(--muted); font-size:12px; letter-spacing:.08em; margin-bottom:8px; }
.projector-topbar strong { font-size:28px; }.projector #live-timer { font-size:48px; line-height:1; font-variant-numeric:tabular-nums; }
.projector .projector-board { flex:1; min-height:0; padding:16px 20px; display:flex; flex-direction:column; }
.projector-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:12px; }.projector .projector-heading h1 { font-size:24px; letter-spacing:0; }.projector-heading #live-status { color:var(--accent); font-size:12px; }
#board-scroll { flex:1; min-height:0; overflow:auto; scrollbar-gutter:stable; }
.projector .projection-board { display:grid; grid-template-columns:repeat(var(--columns,1),minmax(0,1fr)); grid-template-rows:repeat(var(--rows,1),var(--row-height,80px)); grid-auto-flow:column; column-gap:32px; font-size:var(--row-font,32px); }
.projector .projection-board li { height:var(--row-height,80px); min-width:0; padding:8px 16px; gap:18px; border-left:3px solid transparent; font-size:inherit; }
.projector .projection-board li.leader { border-left-color:var(--uos-orange); background:#ff75330b; }
.projector .projection-board .name { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; overflow-wrap:normal; }.projector .projection-board .rank { min-width:48px; }.projector .projection-board .points { font-size:inherit; min-width:70px; text-align:right; }
@media(max-width:1100px) { .projector .control-shell { width:calc(100% - 32px); }.projector-topbar { flex-wrap:wrap; gap:16px; }.projector-topbar .brand { font-size:20px; }.projector-topbar strong { font-size:22px; } }
@media(max-width:600px) { .projector-topbar .brand { flex-basis:100%; }.projector-topbar span { font-size:9px; }.projector-topbar strong { font-size:16px; }.projector #live-timer { font-size:30px; }.projector .projector-heading h1 { font-size:18px; }.projector-heading #live-status { font-size:10px; }.projector .projection-board li { padding:8px; gap:10px; }.projector .projection-board .rank { min-width:30px; } }
