/* Separate broadcast layout: no player forms, controls or game mutations. */
.observer-page{height:100vh;height:100dvh;min-height:0;overflow:hidden;background:#0b1820}
.observer-page::before{background:linear-gradient(100deg,#08131cde,#0a1c23c9),linear-gradient(0deg,#071019,transparent 75%),url('/assets/backdrop.jpg') center/cover}
.observer-tools{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:70px;padding:10px 4vw;background:#08131de8;border-bottom:1px solid #bcc6b11f}
.watch-picker{display:flex;align-items:center;gap:14px;flex:1;max-width:510px}.watch-picker label{font-size:11px;color:#96aaa9}.watch-picker select{width:100%;min-width:0;height:44px;padding:8px 32px 8px 12px;border:1px solid #475e61;border-radius:5px;color:#e4e9df;background:#10242e;font-size:13px}.observer-tool-actions{display:flex;gap:8px}.observer-tool-actions .secondary-button{min-height:44px;font-size:12px}
.broadcast-layout{width:min(1520px,calc(100% - 8vw));margin:0 auto;padding:28px 0 20px;flex:1;min-height:0;display:flex;flex-direction:column;gap:22px}
.broadcast-header{display:flex;justify-content:space-between;align-items:center;gap:28px;flex-shrink:0;min-height:94px;padding-bottom:18px;border-bottom:1px solid #b4bbac2a}.broadcast-identity{min-width:0}.live-label{display:flex;gap:8px;align-items:center;color:#d3c192;font-size:10px;font-weight:750;letter-spacing:.2em}.live-label i{display:block;width:6px;height:6px;background:#dd8d68;border-radius:50%;box-shadow:0 0 0 4px #dd8d6815}.broadcast-identity h1{font:750 clamp(22px,2.6vw,38px)/1.2 system-ui,sans-serif;letter-spacing:-.02em;color:#f3efdf;margin:8px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:65vw}.watch-meta{display:flex;gap:12px;color:#afc0bb;font-size:12px;align-items:center}.watch-meta>span:empty{display:none}.watch-meta .offline{color:#d1af7c}.broadcast-metrics{display:flex;align-items:center;gap:40px;padding-right:12px}.broadcast-stat{display:flex;gap:12px;align-items:center}.broadcast-stat>span{font-size:11px;text-transform:uppercase;color:#9cb2b5;letter-spacing:.07em}.broadcast-stat strong{font-size:34px;font-weight:750;font-variant-numeric:tabular-nums;min-width:30px;color:#e8d19b}
.broadcast-board-section{display:flex;flex-direction:column;min-height:0;flex:1}.broadcast-board-top{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:8px;flex-shrink:0}.broadcast-board-top h2{font-size:13px;font-weight:600;color:#c5d0c9;margin:0}.broadcast-board-top>span{font-size:12px;color:#a2b8b9}.broadcast-board-section .board-scroll{flex:1;min-height:0;padding-right:4px}.broadcast-board-section:not(.has-rows) .board-scroll{flex:0 0 auto}.observer-page .board-header{position:sticky;top:0;z-index:5;background:#0d2029ef;padding-top:4px}.observer-page .board-header,.observer-page .guess-row{gap:8px}.observer-page .column-header{font-size:clamp(10px,.85vw,14px);min-height:48px;letter-spacing:.02em;border-bottom-width:2px}.observer-page .guess-row{min-height:clamp(94px,11.5vh,134px);margin-bottom:9px}.observer-page .cell-value{font-size:clamp(12px,1.2vw,20px)}.observer-page .guess-cell[data-field=releaseYear] .cell-value{font-size:24px}.observer-page .hero-cell-name{font-size:14px;bottom:9px}.observer-page .guess-cell{padding:20px 7px}.observer-page .hero-cell{padding:0}.observer-page .direction{font-size:36px}.observer-page .guess-number{font-size:12px;padding:2px 6px}.observer-page .cell-state{font-size:15px;top:5px;right:10px}
.broadcast-outcome{display:flex;gap:18px;align-items:center;flex-shrink:0;border:1px solid #739965;padding:12px 18px;border-radius:5px;background:linear-gradient(110deg,#163f2feb,#11252aeb)}.broadcast-outcome>img{width:66px;height:60px;object-fit:cover;border:1px solid #8ad09b77;border-radius:3px}.broadcast-outcome>div{display:flex;gap:4px;flex-direction:column}.broadcast-outcome>div>span{font-size:10px;font-weight:700;color:#a5e5b0;letter-spacing:.12em;text-transform:uppercase}.broadcast-outcome strong{font-size:24px;color:#f0f4de}.broadcast-outcome>span:last-child{margin-left:auto;font-size:13px;color:#c0d8bd}.broadcast-outcome.is-loss{background:linear-gradient(110deg,#48242eee,#17252bee);border-color:#ac6671}.broadcast-outcome.is-loss>div>span{color:#e7a3aa}
.observer-empty{flex:1;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;text-align:center;min-height:140px;padding:18px;color:#a8b8b5}.observer-empty>span{display:grid;place-items:center;width:62px;height:70px;border:1px solid #7c908152;font:40px Georgia,serif;color:#bfc8ac;background:#11293070;margin-bottom:5px}.observer-empty strong{font:600 19px/1.4 system-ui,sans-serif;color:#c8d3cb}.observer-empty p{margin:0;font-size:13px}
.broadcast-bottom{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #bcc6b11c;padding-top:16px}.broadcast-bottom .legend{font-size:11px;gap:22px}.stream-connection{font-size:10px;color:#96b1a2;white-space:nowrap}.stream-connection.is-offline{color:#e4b57f}.observer-notice{position:fixed;bottom:24px;right:24px;z-index:20;background:#1c303c;border:1px solid #ac9471;border-radius:5px;max-width:360px;padding:12px 16px;font-size:12px;color:#eadabc;box-shadow:0 12px 45px #0009}
.observer-page.clean-view .observer-tools{display:none}.observer-page.clean-view .broadcast-layout{padding-top:32px}.observer-page.clean-view .stream-connection:not(.is-offline){display:none}
@media(min-width:1800px){.broadcast-layout{gap:28px}.broadcast-header{padding-bottom:25px}.observer-page .column-header{min-height:58px}.broadcast-bottom{padding-top:22px}}
@media(max-width:1050px){.observer-tools{gap:16px;padding:10px 22px}.observer-tools .brand{display:none}.broadcast-layout{width:calc(100% - 44px);padding-top:20px;gap:18px}.broadcast-metrics{gap:22px}.broadcast-stat{flex-direction:column;gap:5px}.broadcast-stat strong{font-size:27px}.observer-page .board-header,.observer-page .guess-row{gap:5px}.observer-page .guess-row{min-height:100px}.observer-page .cell-value{font-size:12px}.observer-page .hero-cell-name{font-size:11px}.observer-page .column-header{font-size:10px}.broadcast-bottom .legend{gap:12px;font-size:10px}.broadcast-bottom .year-legend{display:none}.watch-picker label{display:none}.broadcast-identity h1{max-width:60vw}}
@media(max-width:680px){.observer-tools{padding:10px 12px;gap:10px}.observer-tool-actions .secondary-button{font-size:10px;min-height:44px;padding:8px}.observer-tool-actions .icon-button{display:none}.watch-picker select{font-size:12px;padding-left:8px}.broadcast-layout{width:calc(100% - 24px);gap:14px;padding:18px 0 14px}.broadcast-header{gap:12px;min-height:84px;padding-bottom:14px}.broadcast-identity h1{font-size:23px;max-width:52vw}.watch-meta{font-size:10px;gap:8px}.live-label{font-size:8px}.broadcast-metrics{gap:13px;padding-right:0}.broadcast-stat span{font-size:8px}.broadcast-stat strong{font-size:24px}.broadcast-board-top{font-size:10px}.broadcast-board-top h2{font-size:11px}.broadcast-board-top>span{font-size:10px}.broadcast-outcome{padding:10px;gap:10px}.broadcast-outcome>img{width:45px;height:48px}.broadcast-outcome strong{font-size:18px}.broadcast-outcome>span:last-child{font-size:10px}.broadcast-outcome>div>span{font-size:8px}.broadcast-bottom{gap:8px;flex-wrap:wrap;padding-top:12px}.broadcast-bottom .legend{font-size:9px}.observer-page .guess-row{min-height:94px}.observer-page .hero-cell-name{font-size:11px}.observer-empty strong{font-size:15px}.observer-empty p{font-size:11px}.stream-connection{font-size:9px}}
@media(max-height:680px) and (min-width:681px){.observer-tools{min-height:58px;padding-top:6px;padding-bottom:6px}.broadcast-layout{padding-top:12px;gap:12px}.broadcast-header{min-height:66px;padding-bottom:12px}.broadcast-identity h1{font-size:25px;margin:4px 0}.broadcast-outcome{padding:8px 12px}.broadcast-outcome>img{width:44px;height:44px}.broadcast-outcome strong{font-size:20px}.observer-page .guess-row{min-height:86px}.observer-page .column-header{min-height:42px}.broadcast-bottom{padding-top:10px}.observer-page.clean-view .broadcast-layout{padding-top:15px}}

.observer-page .guess-cell[data-field=ultimateTypes] .cell-value{font-size:clamp(11px,1.1vw,17px)}
.observer-page .guess-cell[data-field=magazine] .cell-value,.observer-page .guess-cell[data-field=stamina] .cell-value{font-size:clamp(18px,1.65vw,26px)}
