.preseason-note{color:var(--pale);font-size:11px;letter-spacing:.06em;padding:9px 0;border-bottom:1px solid rgba(184,211,230,.18);margin-bottom:18px;}
.preseason-main{max-width:1050px;margin:0 auto;}
.preseason-main .pagehead{display:flex;justify-content:space-between;gap:16px;align-items:center;}
.preseason-main h1{font-size:clamp(24px,3vw,34px);line-height:1.15;}
.preseason-main .preseason-heading{margin-bottom:0;align-items:center;}
.preseason-season{margin:4px 0 16px;color:var(--pale);font-size:13px;}
.preseason-favorites{min-height:44px;padding:8px 0 8px 12px;white-space:nowrap;}
.preseason-main select{max-width:70%;font:800 14px 'Nunito',sans-serif;background:var(--navy2);color:var(--pale2);border:1px solid rgba(184,211,230,.35);border-radius:8px;padding:9px;}
.preseason-source{font-size:12px;color:var(--pale);margin-top:26px;}
.preseason-replay{font-size:12px;color:var(--pale);}
.preseason-team-links{display:flex;gap:12px;margin-top:20px;}
.preseason-team-links .btn{flex:1;}
.preseason-tabs a,.htabs a{font:800 13px 'Nunito',sans-serif;color:var(--pale);text-decoration:none;white-space:nowrap;display:flex;align-items:center;padding:10px 0;}
.preseason-tabs{gap:16px;overflow-x:auto;}
.preseason-main .game-list{margin-bottom:12px;}
.preseason-feed{font-size:12px;color:var(--pale);margin:8px 0 16px;}
.preseason-main .game-row .st{max-width:130px;white-space:normal;text-align:right;font-size:12px;}
.preseason-scoreteams{margin:16px 0;display:grid;gap:8px;}
.preseason-scoreteams>div{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:10px;}
.preseason-scoreteams strong{font-size:24px;}
@media(max-width:600px){.preseason-main .pagehead{align-items:flex-start;}.preseason-main .preseason-heading{align-items:center;}.preseason-main .preseason-heading h1{font-size:26px;}.preseason-main .pagehead .btn{font-size:12px;padding:9px;}.preseason-team-links{flex-direction:column;}.preseason-main .pagehead .text-action{font-size:12px;}.preseason-tabs{gap:18px;}.preseason-tabs button,.preseason-tabs a{font-size:12px;}}

.scores-header-actions{display:flex;align-items:center;gap:18px;flex:none;}
.scores-header-actions .hlinks{white-space:nowrap;}
.scores-privacy{display:flex;flex-direction:column;align-items:flex-end;gap:2px;}
.scores-privacy .sse-toggle{padding:0;border:0;font-size:11px;gap:6px;min-height:24px;white-space:nowrap;}
@media(max-width:600px){.scores-header-actions{flex-direction:column;align-items:flex-end;gap:0;}.hdr .scores-header-actions .hlinks a{padding:2px 0;min-height:24px;}}
.scores-privacy input{background:rgba(184,211,230,.2);border-color:var(--pale);}
.scores-privacy input::after{background:var(--pale2);}
#scores-privacy-save{font-size:11px;color:var(--pale);max-width:180px;}
#scores-privacy-save:empty{display:none;}
.spoiler-gate h1{font-size:clamp(20px,3vw,28px);}
.spoiler-gate .btn{width:auto;min-height:44px;padding:9px 16px;}
.preseason-main .bxw .wide{min-width:760px;}
.preseason-main .preseason-next{white-space:nowrap;}
.preseason-main .preseason-next a{color:var(--pale2);text-decoration:none;}
.preseason-main .cc.game{text-decoration:none;display:flex;flex-direction:column;align-items:center;justify-content:center;}
.preseason-main .seg button{white-space:nowrap;}
.preseason-main .seg.scroll{overflow-x:auto;}
.preseason-main .pagehead select{flex:none;font-size:12px;max-width:35%;}

@media(max-width:380px){.preseason-tabs{gap:10px;}.preseason-tabs button,.preseason-tabs a{font-size:11px;letter-spacing:0;}}

.preseason-main .roster-context{font-size:12px;margin:12px 0;}
.roster-stats-label{font-size:11px;font-weight:800;color:var(--pale);margin-bottom:8px;}
.roster-table{min-width:700px;}
.roster-table th,.roster-table td{white-space:nowrap;}
.roster-table .nm{width:27%;min-width:175px;max-width:240px;position:sticky;left:0;z-index:1;background:var(--navy2);padding:0;}
.roster-table .nm .rowlink{display:block;padding:10px 8px;white-space:normal;}
.roster-table thead th:first-child{position:sticky;left:0;z-index:2;background:var(--navy2);}
.roster-table .roster-group th{text-align:left;font-size:10px;color:var(--pale);padding:16px 0 6px;letter-spacing:.08em;text-transform:uppercase;}
.preseason-main .roster-source{margin-top:8px;font-size:11px;}
@media(max-width:600px){.roster-panel{padding:12px;}.roster-table .nm{min-width:145px;width:145px;max-width:145px;}.roster-table .nm .rowlink{font-size:12px;}.roster-table th,.roster-table td{font-size:11px;padding-left:7px;padding-right:7px;}.roster-table{min-width:620px;}}

.roster-stats-label{display:flex;justify-content:space-between;gap:8px;}
.roster-swipe{display:none;}
@media(max-width:600px){.roster-swipe{display:inline;}.roster-table .nm .rowlink{min-height:44px;display:flex;align-items:center;}}

.roster-table .roster-group th span{display:inline-block;position:sticky;left:0;}
.game-box-table{min-width:0;}
.game-box-table .nm{text-align:left;font-weight:800;}
.game-box-table .game-dnp{text-align:left;color:var(--pale);}
.game-box-total{font-weight:900;}
.game-team-table{width:100%;table-layout:fixed;}
.game-team-table th,.game-team-table td{white-space:normal;overflow-wrap:anywhere;}
.game-team-table th:first-child{text-align:left;width:40%;font-weight:800;}
.game-team-table td{text-align:center;}
.game-box-pair{display:grid;gap:16px;grid-template-columns:minmax(0,1fr);}
.game-box-pair .game-box-panel{display:none;min-width:0;margin:0;}
.game-box-pair .game-box-panel.is-selected{display:block;}
.game-box-bench{margin-top:12px;border-top:1px solid rgba(184,211,230,.18);}
.game-box-bench summary{cursor:pointer;min-height:44px;display:list-item;align-content:center;font:800 13px 'Nunito',sans-serif;color:var(--pale2);}
.game-box-bench summary:focus-visible{outline:2px solid var(--yellow);outline-offset:2px;}
.game-box-bench ul{margin:0;padding:0;list-style:none;}
.game-box-bench li{display:flex;flex-wrap:wrap;gap:6px 16px;justify-content:space-between;padding:7px 0;font-size:12px;}
.game-box-bench .rowlink{letter-spacing:0;}
.game-box-bench .game-dnp{color:var(--pale);}
@media (min-width:1100px){.game-box-teams{display:none;}.game-box-pair{grid-template-columns:repeat(2,minmax(0,1fr));}.game-box-pair .game-box-panel{display:block;}}
.game-plays{list-style:none;padding:0;margin:0;}
.game-plays li{border-bottom:1px solid rgba(184,211,230,.15);padding:12px 0;}
.game-play-clock{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px;color:var(--pale);font-size:11px;}
.game-plays p{font-size:13px;line-height:1.5;margin:6px 0 0;}

/* Inset team labels inside their colored cells, aligned with the standings heading. */
.preseason-main table.standings-table th:first-child,
.preseason-main table.standings-table td:first-child{padding-left:12px;padding-right:12px;min-width:180px;}
.preseason-main .standings-table .nm .rowlink{white-space:nowrap;}
