/* Versioned broadcast-first visual system for the Sideout career screens. */
/* Keep the score outside scrolling lineup/stat/coach panels on desktop. */
@media(min-width:900px){body.is-match #app{overflow:clip}body.is-match #app>.sideout-room{display:flex;flex-direction:column;flex:1;min-height:0;max-height:100%;overflow:clip}body.is-match .sideout-room .game-scoreboard{flex-shrink:0}body.is-match .sideout-room .game-match-layout{flex:1;min-height:0;overflow:hidden}body.is-match .sideout-room .game-match-stage,body.is-match .sideout-room .game-match-console{min-height:0;max-height:100%;overflow:auto}}
:root{color-scheme:dark;--so-bg:#07111d;--so-panel:#102236;--so-panel-2:#172d43;--so-line:#36536a;--so-ink:#f2f7fb;--so-muted:#c0d0de;--so-accent:#58e8d0;--so-warning:#ffd36c;--so-danger:#ff9188;--so-radius:7px;--so-focus-inner:#122c26;--so-focus-outer:#e8f37c;--so-focus:var(--so-focus-outer)}
html,body{background:var(--so-bg);color:var(--so-ink);font-family:Inter,"Arial",sans-serif}body{min-width:320px}button,input,select,textarea{font:inherit}button,a,summary,[role=button],select,input{accent-color:var(--so-accent)}:where(button,a,summary,[role=button],select,input):focus-visible{outline:3px solid var(--so-focus-inner)!important;outline-offset:2px!important;box-shadow:0 0 0 5px var(--so-focus-outer)!important}button{min-height:38px}button:disabled{opacity:1!important;color:#bdcbd6!important;background:#26394c!important;border-color:#52677a!important;cursor:not-allowed}a{color:#81f0df}a:hover{color:#c2fff5}::selection{background:#246f78;color:white}
.so-setup,.game-database-workspace,.so-world,.game-market,.game-hub,.game-report,.so-w-saves,.so-w-editor,.so-w-calendar-screen,.game-player-inspector,.so-audit{color:var(--so-ink)}
:is(.so-setup,.game-database-workspace,.so-world,.game-market,.game-hub,.game-report,.so-w-calendar-screen,.so-audit) :is(section,article,fieldset,.game-card,.so-card,.panel,.game-panel){border-color:var(--so-line)}
:is(.so-setup,.game-database-workspace,.so-world,.game-market,.game-hub,.game-report,.so-w-calendar-screen,.so-audit) :is(p,small,label,dt,figcaption,.muted,.game-muted,.so-help,.help-text){color:var(--so-muted)}
:is(.so-setup,.game-database-workspace,.so-world,.game-market,.game-hub,.game-report,.so-w-calendar-screen,.so-audit) :is(input,select,textarea){min-height:40px;background:#0b1929;color:var(--so-ink);border:1px solid #58738a;border-radius:5px}
:is(.so-setup,.game-database-workspace,.so-world,.game-market,.game-hub,.game-report,.so-w-calendar-screen,.so-audit) :is(button,.button,[role=button]){border-radius:5px;transition:background-color .12s ease,border-color .12s ease,transform .12s ease}
:is(.so-setup,.game-database-workspace,.so-world,.game-market,.game-hub,.game-report,.so-w-calendar-screen,.so-audit) :is(button:hover:not(:disabled),[role=button]:hover){filter:brightness(1.12)}
:is(.so-setup,.game-database-workspace,.so-world,.game-market,.game-hub,.game-report,.so-w-calendar-screen,.so-audit) :is(table,thead,tbody,tr,th,td){border-color:#3c5b72}
:is(.so-setup,.game-database-workspace,.so-world,.game-market,.game-hub,.game-report,.so-w-calendar-screen,.so-audit) th{color:#e9f4fa;background:#1b344a}
:is(.so-setup,.game-database-workspace,.so-world,.game-market,.game-hub,.game-report,.so-w-calendar-screen,.so-audit) td{color:#e1ebf2}
.so-w-scout,.so-w-calendar-screen,.game-database-workspace,.game-market,.game-player-inspector{background:#0b1929;color:var(--so-ink)}
:is(.so-w-scout,.so-w-calendar-screen,.game-database-workspace,.game-finals,.game-history,.game-finance,.game-staff,.game-market,.game-player-inspector) :is(.so-w-scout-note,.so-w-calendar-note,.game-muted,.so-help){color:var(--so-muted)}
.game-save-drawer,.saved-career-group,.saved-list,.game-database-list,.game-database-rows,.so-w-calendar-list,.so-w-scout-list{min-height:0;max-height:min(62vh,560px);overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.board-alert,[role=alert]{color:#fff8e9!important;background:#492d18!important;border:1px solid #f0b957!important;border-left:5px solid #ffd36c!important;padding:10px 14px;border-radius:5px}
.board-alert :is(p,strong),[role=alert] :is(p,strong){color:#fff8e9!important}
@media(min-width:901px){.national-selection .lineup-board{height:min(660px,calc(100dvh - 340px));min-height:0;align-items:stretch}.national-selection .board-court-column,.national-selection .board-lists{height:100%;min-height:0;max-height:none}.national-selection .board-court-column{overflow-y:auto;overscroll-behavior:contain}.national-selection .board-court{min-height:260px;flex:1 0 260px}.national-selection .board-lists{overflow-y:auto;overscroll-behavior:contain}.national-selection .board-list-group ul{max-height:none}}
@media(max-width:900px){.national-selection .lineup-board{height:auto;min-height:0}.national-selection .board-court-column,.national-selection .board-lists{height:auto;min-height:0;max-height:420px}.national-selection .board-lists{overflow:auto}}
.game-start-scene{min-height:min(76vh,720px)}
.game-start-scene :is(.edition-copy,.test-copy,.release-copy,.disclaimer){max-width:62ch;color:#d4e0e9}
.so-w-training-focus{margin:10px 0;padding:10px;background:#11273b;border:1px solid #385a70;border-radius:6px}.so-w-training-focus legend{padding:0 6px;color:#7ff0df;font-weight:800}.so-w-training-focus p{margin:0 0 8px;color:#c4d3df;font-size:14px}.so-w-training-focus>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.so-w-training-focus button{padding:6px 8px;background:#1a3349;color:#eaf2f7;border:1px solid #557086}.so-w-training-focus button[aria-pressed=true]{background:#58e8d0;color:#082b2a;border-color:#58e8d0;font-weight:800}
.room-audio-control{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.room-audio-control label{display:flex;align-items:center;gap:6px;color:#d8e4ed;font-size:14px}.room-audio-control input{width:96px;min-height:28px}
@media(min-width:900px){#app{min-height:100dvh}.game-database-workspace,.game-player-inspector{max-height:calc(100dvh - 150px);overflow:hidden}.game-database-rows,.game-database-list{max-height:calc(100dvh - 280px)}.so-w-calendar-list,.so-w-scout-list{max-height:calc(100dvh - 330px)}}
@media(max-width:899px){.game-save-drawer,.saved-list,.game-database-list,.game-database-rows,.so-w-calendar-list,.so-w-scout-list{max-height:55vh}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
@media(forced-colors:active){:where(button,a,summary,[role=button],select,input):focus-visible{outline:3px solid Highlight!important}.room-serving,.game-hub-shirt,.game-shirt{forced-color-adjust:auto}}
.game-start-scene{background-image:linear-gradient(90deg,#07111def 0%,#07111de0 35%,#07111d70 68%,#07111d28 100%),linear-gradient(0deg,#07111d,transparent 46%),url('assets/home-hero.webp')!important;background-position:center 42%!important}
/* Keep the desktop career entry inside the arena viewport. The save drawer is
   an overlay with its own bounded scroll area, so it does not lengthen Home. */
@media(min-width:1001px){
 body.is-career-menu{height:100dvh;overflow:hidden}
 body.is-career-menu #app{height:calc(100dvh - 94px);min-height:0;overflow:hidden;padding:0}
 body.is-career-menu .game-start.so-setup{height:100%;min-height:0;padding:16px 5vw;overflow:hidden}
 body.is-career-menu .game-start-content{max-height:100%;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
 body.is-career-menu .game-save-drawer{position:fixed;right:24px;left:auto;top:72px;bottom:auto}
 body.is-career-menu .game-save-drawer[open]{max-height:calc(100dvh - 104px);overflow:auto}
}
.so-division-movement{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;padding:.75rem;border:1px solid #426075;border-radius:.65rem;background:#102538;color:#f4f8fc}.so-division-movement h3{grid-column:1/-1;margin:0;color:#f4f8fc}.so-division-movement h3 small{display:block;color:#b8ccda;font-size:14px}.so-division-movement>div{display:grid;gap:.2rem}.so-division-movement>div strong{color:#59e0c6}.so-division-movement>div span{color:#e4edf4}
.so-market-windows{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.45rem;padding:.65rem .8rem;border:1px solid #48657b;border-radius:.6rem;background:#102538;color:#f4f8fc}.so-market-windows strong{color:#59e0c6}.so-market-windows span{color:#d4e1ec}
.sideout-room{--room-green:#eef5fc;--room-cream:#0d1a2a;--room-lime:#59e8d1;--room-muted:#bfd0df;--room-arena:#0b1727;background:#0d1a2a;color:#eef5fc;border:1px solid #35526b;border-radius:8px}
.sideout-room .room-scorebug{grid-template-columns:minmax(0,1fr) minmax(260px,auto) minmax(0,1fr);padding:8px 14px;background:linear-gradient(100deg,#142b41,#102136);border:1px solid #36546b;border-left:4px solid #58e8d0}
.sideout-room .room-team-label{color:#f3f7fb}.sideout-room .room-serving{color:#092f2c;border-color:#58e8d0;background:#58e8d0;padding:3px 7px;border-radius:4px}
.sideout-room .game-score-centre{min-width:260px;padding:3px 14px;border-inline:1px solid #42627a;text-align:center}.sideout-room .game-points{display:flex;align-items:center;justify-content:center;gap:8px}.sideout-room .game-points .room-score{min-width:46px;color:#fff;font-size:48px!important}.sideout-room .game-score-divider{color:#75ead6;font-size:26px;font-weight:800}.sideout-room .game-sets{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;color:#d4e1eb;font-size:14px}.sideout-room .game-sets>span:first-child{text-align:right}.sideout-room .game-sets>span:last-child{text-align:left}.sideout-room .room-match-phase{color:#dce7ef}
.sideout-room .game-match-layout{min-width:0}.sideout-room .game-match-stage,.sideout-room .game-match-console{min-width:0;background:#0d1a2a;color:#eef5fc}.sideout-room .room-details{border-color:#35526b}.sideout-room .room-tab{color:#c2d2e0}.sideout-room .room-tab[aria-selected=true]{color:#67edda;border-color:#67edda}.sideout-room .room-tab-panel{min-width:0;max-width:100%;overscroll-behavior:contain}.sideout-room #room-panel-stats{max-height:min(47vh,460px);overflow:auto;scrollbar-gutter:stable;padding:10px 4px}
.sideout-room .room-stat{display:flex;flex-direction:column;min-width:0;min-height:88px;justify-content:center;gap:4px;padding:12px 14px;border:1px solid #38566d;border-top:3px solid #58e8d0;border-radius:5px;background:#14283d;color:#f2f7fc}.sideout-room .room-stat dd{order:-1;color:#fff;font-size:30px;line-height:1.05}.sideout-room .room-stat dt{color:#c4d6e4;font-size:14px;line-height:1.25;overflow-wrap:anywhere}
.sideout-room .room-route-snapshot{border-color:#36546b}.sideout-room .room-route-snapshot header{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.sideout-room .room-route-snapshot h3{color:#6be8d5;font-size:16px}.sideout-room .room-route-snapshot>header p{color:#c0d1df;font-size:14px}.sideout-room .room-route-snapshot dl>div{background:#14283d;border-color:#38566d}.sideout-room .room-route-snapshot dt{display:flex;justify-content:space-between;gap:8px;color:#f2f7fc}.sideout-room .room-route-snapshot dt span{color:#bcd0df;font-size:14px}.sideout-room .room-route-snapshot dd{color:#d6e4ee}
.sideout-room .room-action-rail{min-width:0}.sideout-room .room-button{border-radius:5px}.sideout-room .room-primary{background:#58e8d0!important;color:#062c2b!important;border-color:#58e8d0!important}.sideout-room .room-secondary,.sideout-room .room-option{background:#1c344a;color:#f0f6fb;border-color:#46647b}.sideout-room .room-option[aria-pressed=true]{background:#58e8d0;color:#072c2a}.sideout-room .room-button:disabled{background:#203347;color:#aebfce;border-color:#3b5368}.sideout-room .room-live-strip{border-top:1px solid #35526b;border-bottom:1px solid #35526b}.sideout-room .room-actor-badge{background:#274458;color:#fff}.sideout-room .room-commentary,.sideout-room .room-flight-readout{color:#eef5fc}
.sideout-room.room-summary{background:#0a1726}.sideout-room .room-result-panel{background:#12263a;border:1px solid #3b5a70;color:#eef5fc}.sideout-room .room-result-label{color:#67edda}.sideout-room .room-summary-grid>section{background:#162c42;border-color:#3b5a70}.sideout-room .room-summary-grid h3{color:#f4f8fc}.sideout-room .room-credit-changes dd{background:#59e8d1;color:#062c2a}
@media(min-width:900px){.sideout-room .game-match-layout{grid-template-columns:minmax(0,1.75fr) minmax(300px,.85fr);gap:14px}.sideout-room .game-match-stage{max-height:calc(100dvh - 180px);overflow:auto;scrollbar-gutter:stable}.sideout-room .game-match-console{max-height:calc(100dvh - 180px);overflow:auto;scrollbar-gutter:stable}}
@media(max-width:680px){.sideout-room .room-scorebug{grid-template-columns:minmax(0,1fr) minmax(118px,auto) minmax(0,1fr);gap:6px;padding:7px}.sideout-room .game-score-centre{min-width:0;padding:2px 6px}.sideout-room .game-points .room-score{min-width:32px;font-size:34px!important}.sideout-room .game-sets{gap:3px;font-size:14px}.sideout-room .room-stat{min-height:74px;padding:9px}.sideout-room .room-stat dd{font-size:24px}}

/* Fantasy club infrastructure: compact investment cards inside the finance screen. */
.so-facility-grid{margin:1rem 0 1.25rem;padding:.9rem;border:1px solid #45657c;border-radius:12px;background:#102439}.so-facility-grid>.so-w-section-title{display:flex;align-items:center;justify-content:space-between;gap:.8rem}.so-facility-grid>.so-w-section-title h3{margin:0}.so-facility-grid>.so-w-section-title span,.so-facility-card header span,.so-facility-card small{color:#c1d2df}.so-facility-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;margin-top:.75rem}.so-facility-card{display:flex;min-width:0;flex-direction:column;gap:.55rem;padding:.8rem;border:1px solid #52728a;border-radius:10px;background:#172f47}.so-facility-card header{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem}.so-facility-card header strong{color:#f4f8fc}.so-facility-card header span{white-space:nowrap}.so-facility-card p{flex:1;margin:0;color:#d4e0e9;font-size:.92rem}.so-facility-card button{min-height:42px;border:1px solid #62dec9;border-radius:8px;background:#164d4b;color:#fff;font-weight:750}.so-facility-card button:disabled{border-color:#577080;background:#263a4c;color:#d1dce5}.so-facility-max{color:#82efd9;font-weight:700}@media(max-width:850px){.so-facility-cards{grid-template-columns:1fr}.so-facility-card{min-height:0}}
.so-division-table{margin-top:1rem;padding:.8rem;border:1px solid #3b5b72;border-radius:10px;background:#102439;color:#eef5fc}.so-division-table>header{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding-bottom:.55rem;border-bottom:1px solid #38566d}.so-division-table h2{margin:.1rem 0}.so-division-table header>span,.so-division-table th small{color:#c0d3e1}.so-division-table-scroll{max-height:320px;overflow:auto}.so-division-table-scroll th small{display:block;font-weight:500}.so-division-movement{padding:.65rem;background:#173b45;border-left:3px solid #59e0c6;color:#e5f5f2}
.so-credit-note{margin:.7rem 0;padding:.65rem .8rem;border:1px solid #d6ab56;border-left:4px solid #efbd59;border-radius:8px;background:#392f1c;color:#fff1cf;font-weight:650}
.so-calendar-reschedule{display:grid;grid-template-columns:minmax(140px,1fr) auto;gap:.5rem;align-items:end;margin-top:.65rem;padding:.65rem;border:1px solid #426077;border-radius:.65rem;background:#112338}.so-calendar-reschedule label{display:grid;gap:.25rem;color:#c7d5e2;font-size:14px}.so-calendar-reschedule input{min-height:2.4rem;padding:.35rem .55rem;border:1px solid #66839a;border-radius:.4rem;background:#091522;color:#f4f7fa;color-scheme:dark}.so-calendar-reschedule button{min-height:2.4rem;padding:.4rem .7rem;border:1px solid #55cbbb;border-radius:.45rem;background:#12695f;color:#fff;font-weight:700}.so-calendar-reschedule small{grid-column:1/-1;color:#b9c8d5}

.so-calendar-preparation{padding:12px;border:1px solid #426079;background:#102439;color:#f4f7fc;display:grid;gap:8px}.so-calendar-preparation>div{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.so-calendar-preparation small{color:#c2d2e2}.so-calendar-preparation p{font-size:14px;margin:0;color:#c2d2e2}.so-calendar-preparation button{background:#b7ed71;color:#102218;border:1px solid #e2ffc1;padding:8px 12px;border-radius:5px;font-weight:700}

.so-board-policy{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:12px;background:#142b3c;border:1px solid #587187;border-radius:8px}.so-board-policy small{display:block;color:#d6e2ed}.so-board-policy button{display:grid;gap:4px;flex:1 1 150px;max-width:260px;text-align:left;background:#244357;color:#f4f8fc;border:1px solid #7595a8;padding:8px}.so-board-policy button small{font-size:14px;line-height:1.3;color:inherit;opacity:.9}.so-board-policy button[aria-pressed=true]{background:#b4ee58;color:#112114}.so-board-policy button:disabled{opacity:1}.so-board-policy>div:last-child{display:flex;gap:6px;flex-wrap:wrap}@media(max-width:600px){.so-board-policy{align-items:flex-start;flex-direction:column}}

.board-lists>.board-list-group{flex:0 0 auto}.board-player{min-height:44px}.national-selection .so-actions{flex:0 0 auto;margin-top:6px!important;padding:6px 0!important}@media(min-width:901px){.national-selection .lineup-board{flex:1 1 0;min-height:0;max-height:calc(100dvh - 340px)}.national-selection .board-court-column{overflow:auto}.national-selection .board-court{flex:0 0 auto}}
.so-shared-club-note{display:grid;gap:.3rem;margin:.8rem 0;padding:.75rem .9rem;border:1px solid #488574;border-left:4px solid #59e0c6;border-radius:.55rem;background:#102b34;color:#effbf8}.so-shared-club-note strong{color:#79f1d6}.so-shared-club-note span{color:#d6e9e8;line-height:1.45}
/* a11y: every keyboard-focusable element shows the focus ring; phone-size touch targets are at least 44px. */
[tabindex]:focus-visible,textarea:focus-visible{outline:3px solid var(--so-focus-inner)!important;outline-offset:2px!important;box-shadow:0 0 0 5px var(--so-focus-outer)!important}
@media (max-width:767px){#app button,#app select,#app summary,.career-footer button,.career-tools button,.room-tabs button,.room-button{min-height:44px}#app input[type=checkbox],#app input[type=radio]{min-width:24px;min-height:24px}}
/* Contrast fixes for elements the game screens did not restyle (all ≥ 4.5:1 on their dark panels). */
.so-setup .so-reason,.so-setup .so-reason li,.so-setup .so-actions li{color:#f0c36b}
.so-world .so-w-workload-caret{color:#58e8d0}
.so-world .so-w-workload-rallies{color:#c4d9e8}
.so-world .so-w-workload-actions,.so-world .so-w-workload-actions small{color:#b8cada}
.so-world .so-w-workload-actions b{color:#e9f2ff}
.so-world .so-w-net>span{color:#263a36}
.so-player-evidence{background:#122337!important;color:#e9f2ff;border-color:#355166}
.so-player-evidence :is(p,dt,dd,span,small,li,.so-player-evidence__explain){color:#b8cada}
.so-player-evidence strong{color:#e9f2ff}
.so-player-evidence summary{color:#58e8d0}
.so-w-finance :is(.so-board-policy strong,.so-season-objectives h3,.so-facility-grid h3){color:#e9f2ff}
.so-w-finance .so-w-finance-scroll{background:#122337;border-color:#355166}
.so-w-finance .so-w-finance-scroll :is(li,strong,span){color:#e9f2ff}
.so-w-finance .so-w-finance-scroll small{color:#b8cada}
.so-w-finance .so-w-finance-scroll .is-income{color:#6fe3b4}
.so-w-finance .so-w-finance-scroll .is-cost{color:#ffb4a8}
.game-team-hub{--so-w-muted:#b8cada}
@media (min-width:901px) and (max-height:820px){.so-shared-club-note{margin:.35rem 0;padding:.4rem .75rem}.so-shared-club-note span{display:none}}
.saved-list button:not(:disabled){color:#10243a}
.so-w-action-row{display:flex;gap:8px}.so-w-action-row>.so-w-action-wrap{flex:1 1 0;min-width:0}.so-w-action-row .so-w-button{width:100%;white-space:normal}
