/* Sports desk: a compact competition rail and data-first workspace. */
.sports-desk { --sd-accent:#176b49; --sd-soft:#edf6f0; --sd-line:#e3e7e5; --sd-muted:#69736f; padding-top:24px; padding-bottom:32px; }
.sports-desk * { letter-spacing:0; }
.sports-desk [hidden] { display:none!important; }
.sports-desk button,.sports-desk input,.sports-desk select { font:inherit; }
.sports-desk button { cursor:pointer; }
.sports-desk .sd-page-heading { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:0 0 22px; border-bottom:1px solid var(--sd-line); margin-bottom:24px; }
.sd-page-heading nav { display:flex; gap:10px; color:var(--sd-muted); font-size:11px; margin-bottom:7px; }
.sd-page-heading h1 { color:var(--color-text); font-size:30px; line-height:1.2; font-weight:650; margin:0; }
.sd-update { display:flex; gap:9px; align-items:center; justify-content:flex-end; font-size:11px; color:var(--sd-muted); }
.sd-update time { font-variant-numeric:tabular-nums; }
.sd-status-dot,.sd-live-dot { width:6px; height:6px; background:#1c9464; border-radius:50%; flex-shrink:0; }
.sports-desk .sd-icon-button { display:inline-grid; place-items:center; width:34px; height:34px; flex:0 0 34px; background:var(--color-surface); color:var(--color-text); border:1px solid var(--sd-line); border-radius:4px; font-size:16px; }
.sports-desk .sd-icon-button:hover { color:var(--sd-accent); background:var(--sd-soft); }
.sd-shell { display:grid; grid-template-columns:190px minmax(0,1fr); gap:26px; align-items:start; }
.sd-league-rail { border-right:1px solid var(--sd-line); padding:0 18px 20px 0; position:sticky; top:90px; }
.sd-league-rail>h2 { font-size:14px; font-weight:650; margin:0 0 20px; }
.sd-league-list h3 { font-size:10px; text-transform:uppercase; font-weight:550; color:var(--sd-muted); margin:20px 10px 7px; }
.sd-league-list h3:first-child { margin-top:0; }
.sd-league-list button { width:100%; display:grid; grid-template-columns:16px minmax(0,1fr) 8px; align-items:center; gap:9px; border:0; background:none; color:var(--color-text); padding:11px 10px; text-align:left; border-radius:4px; font-size:12px; line-height:1.3; transition:background .15s,color .15s; }
.sd-league-list button>.fa:first-child { color:#829089; text-align:center; }
.sd-league-list button>.fa:last-child { opacity:0; font-size:14px; }
.sd-league-list button[aria-pressed=true] { background:var(--sd-soft); color:var(--sd-accent); font-weight:600; }
.sd-league-list button[aria-pressed=true]>.fa { color:var(--sd-accent); opacity:1; }
.sd-league-list button:hover { background:var(--color-surface-alt); }
.sd-workspace { min-width:0; }
.sports-desk .sd-mobile-league { display:none; }
.sd-competition { display:flex; gap:18px; align-items:center; padding:3px 0 22px; }
.sd-competition-icon { width:62px; height:62px; display:grid; place-items:center; background:var(--sd-soft); color:var(--sd-accent); border-radius:6px; flex:0 0 62px; font-size:27px; }
.sd-eyebrow { color:var(--sd-muted); font-size:10px; font-weight:500; }
.sd-competition h2 { color:var(--color-text); margin:4px 0 5px; font-size:26px; line-height:1.2; font-weight:650; }
.sd-season-caption { font-size:11px; color:var(--sd-muted); }
.sd-today-total { margin-left:auto; padding-left:20px; border-left:1px solid var(--sd-line); display:grid; gap:3px; text-align:right; min-width:82px; }
.sd-today-total strong { font-size:26px; line-height:1; font-weight:600; font-variant-numeric:tabular-nums; color:var(--sd-accent); }
.sd-today-total>span { font-size:10px; color:var(--sd-muted); }
.sd-view-tabs { display:flex; gap:30px; border-bottom:1px solid var(--sd-line); }
.sd-view-tabs button { display:flex; align-items:center; justify-content:center; gap:8px; padding:14px 0 13px; border:0; border-bottom:3px solid transparent; background:none; color:var(--sd-muted); font-size:13px; font-weight:500; white-space:nowrap; }
.sd-view-tabs button[aria-selected=true] { border-color:var(--sd-accent); color:var(--sd-accent); font-weight:600; }
.sd-view-tabs .fa { font-size:14px; }
.sd-toolbar { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px 0; }
.sd-date-controls { display:flex; align-items:center; gap:6px; min-width:0; }
.sports-desk input,.sports-desk select { background:var(--color-surface); color:var(--color-text); border:1px solid var(--sd-line); font-size:12px; padding:8px 10px; border-radius:4px; min-width:0; height:36px; }
.sd-date-controls input { width:145px; font-variant-numeric:tabular-nums; }
.sd-today-button { border:0; background:none; color:var(--sd-accent); font-size:11px; padding:9px 6px; }
.sd-search { display:flex; align-items:center; border:1px solid var(--sd-line); border-radius:4px; padding:0 10px; width:205px; color:var(--sd-muted); gap:7px; font-size:12px; }
.sports-desk .sd-search input { width:100%; border:0; padding:8px 0; background:transparent; }
.sd-search:focus-within { outline:2px solid var(--sd-accent); outline-offset:2px; }
.sports-desk .sd-search input:focus { outline:none; }
.sd-season-select { display:flex; align-items:center; gap:10px; font-size:12px; color:var(--sd-muted); }
.sd-match-layout { display:grid; grid-template-columns:minmax(0,1fr) 232px; gap:24px; }
.sd-main-feed,.sd-results-rail { min-width:0; }
.sd-match-filters { display:flex; align-items:center; gap:5px; margin-bottom:18px; }
.sd-match-filters button { display:flex; gap:5px; align-items:center; padding:8px 10px; border:1px solid transparent; border-radius:4px; color:var(--sd-muted); background:var(--color-surface-alt); font-size:11px; min-height:34px; white-space:nowrap; }
.sd-match-filters button[aria-pressed=true] { border-color:#bcd8c8; color:var(--sd-accent); background:var(--sd-soft); }
.sd-match-filters [data-filter-count] { font-size:10px; opacity:.7; }
.sports-desk .sf-date,.sports-desk .sf-comp>h3 { display:flex; align-items:center; justify-content:space-between; border:0; border-bottom:1px solid var(--sd-line); border-top:1px solid var(--sd-line); background:var(--color-surface-alt); font-size:11px; font-weight:600; line-height:1.5; padding:10px 12px; margin:18px 0 0; color:var(--color-text); }
.sports-desk [data-sport-result]>.sf-date:first-child { margin-top:0; }
.sports-desk .sf-match { display:grid; grid-template-columns:34px minmax(0,1fr) 54px minmax(0,1fr); align-items:center; gap:5px 9px; padding:14px 8px; background:var(--color-surface); color:var(--color-text); border:0; border-bottom:1px solid var(--sd-line); min-height:68px; width:100%; text-align:left; transition:background .15s; }
.sports-desk .sf-match:hover { background:var(--sd-soft); }
.sports-desk .sf-match time { grid-column:1; grid-row:1; font-size:10px; color:var(--sd-muted); font-variant-numeric:tabular-nums; }
.sports-desk .sf-match .sf-home { grid-column:2; grid-row:1; }
.sports-desk .sf-match .sf-score { grid-column:3; grid-row:1; background:var(--color-surface-alt); color:var(--color-text); padding:7px 2px; font-size:14px; font-weight:650; font-variant-numeric:tabular-nums; border-radius:3px; white-space:nowrap; text-align:center; }
.sports-desk .sf-match .sf-team:not(.sf-home) { grid-column:4; grid-row:1; }
.sports-desk .sf-match .sf-state { grid-column:2/5; grid-row:2; font-style:normal; font-size:9px; color:var(--sd-muted); text-align:center; line-height:1.3; }
.sports-desk .sf-team { display:flex; align-items:center; flex-direction:row; gap:7px; min-width:0; font-size:12px; font-weight:500; line-height:1.4; }
.sports-desk .sf-team>span:not(.sf-no-badge) { min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.sports-desk .sf-team img,.sports-desk .sf-no-badge { display:block; flex:0 0 23px; width:23px; height:23px; object-fit:contain; }
.sports-desk .sf-match[data-live="1"] .sf-score { background:#fcecee; color:#b32335; }
.sports-desk .sf-match[data-live="1"] .sf-state { color:#b32335; }
.sports-desk .sf-notice { margin:0 0 12px; padding:10px 12px; background:var(--sd-soft); color:var(--sd-accent); font-size:11px; line-height:1.6; }
.sd-results-rail { border-left:1px solid var(--sd-line); padding-left:18px; }
.sd-results-rail>section { margin-bottom:25px; }
.sd-results-rail h3 { font-size:13px; line-height:1.3; font-weight:600; margin:0 0 12px; }
.sports-desk .sd-results-rail .sf-date { font-size:9px; padding:7px 6px; margin-top:10px; background:none; color:var(--sd-muted); }
.sports-desk .sd-results-rail .sf-match { grid-template-columns:minmax(0,1fr) 43px; grid-template-rows:22px 22px 12px; gap:4px 7px; padding:10px 2px; }
.sports-desk .sd-results-rail .sf-match time { display:none; }
.sports-desk .sd-results-rail .sf-match .sf-home { grid-column:1; grid-row:1; flex-direction:row-reverse; justify-content:flex-end; text-align:left; }
.sports-desk .sd-results-rail .sf-match .sf-team:not(.sf-home) { grid-column:1; grid-row:2; }
.sports-desk .sd-results-rail .sf-match .sf-score { grid-column:2; grid-row:1/3; font-size:12px; }
.sports-desk .sd-results-rail .sf-match .sf-state { grid-column:1/-1; grid-row:3; text-align:right; font-size:9px; }
.sports-desk .sd-results-rail .sf-team { font-size:11px; gap:6px; }
.sports-desk .sd-results-rail .sf-team img,.sports-desk .sd-results-rail .sf-no-badge { width:19px; height:19px; flex-basis:19px; }
.sd-section-title { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:0 0 18px; }
.sd-section-title h3 { margin:0; font-size:17px; font-weight:600; }
.sd-section-title>span { font-size:11px; color:var(--sd-muted); }
.sports-desk .fix-standings-wrap { overflow:auto; max-width:100%; border-bottom:1px solid var(--sd-line); }
.sports-desk .fix-standings-table { min-width:680px; font-size:12px; width:100%; }
.sports-desk .fix-standings-table th,.sports-desk .fix-standings-table td { padding:12px 8px; border-color:var(--sd-line); }
.sports-desk .fix-standings-table thead th { font-size:10px; }
.sports-desk .fix-standings-table tbody tr:nth-child(even) { background:var(--color-surface-alt); }
.sports-desk .fix-standings-table tbody th:first-child { position:sticky; left:0; background:var(--color-surface); z-index:1; }
.sports-desk .fix-standings-table td:nth-child(9) { color:var(--sd-accent); font-weight:650; }
.sports-desk .fix-team-cell { min-width:150px; }
.sports-desk .fix-team-cell strong { font-weight:500; }
.sd-table-key { display:flex; gap:12px 24px; flex-wrap:wrap; margin:16px 0 0; }
.sd-table-key>div { display:flex; gap:5px; font-size:10px; color:var(--sd-muted); }
.sd-table-key dt { font-weight:600; color:var(--color-text); }
.sd-table-key dd { margin:0; }
.sd-table-toggle { display:none; }
.sports-desk .sd-empty,.sports-desk .fix-empty-state { padding:22px 18px; background:var(--color-surface-alt); color:var(--sd-muted); font-size:13px; line-height:1.6; border:1px solid var(--sd-line); border-radius:4px; margin:12px 0; }
.sd-data-note { color:var(--sd-muted); font-size:10px; line-height:1.7; padding:18px 0 0; border-top:1px solid var(--sd-line); margin:26px 0 0; }
.sd-stat-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--sd-line); border-bottom:1px solid var(--sd-line); padding:20px 0; margin-bottom:28px; gap:16px; }
.sd-stat-summary>div { border-right:1px solid var(--sd-line); }
.sd-stat-summary>div:last-child { border:0; }
.sd-stat-summary strong { display:block; font-size:27px; font-weight:600; color:var(--sd-accent); font-variant-numeric:tabular-nums; }
.sd-stat-summary span { font-size:11px; color:var(--sd-muted); }
.sd-stat-lists { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.sd-stat-lists h4 { margin:0 0 12px; font-size:15px; font-weight:600; }
.sd-stat-lists ol { margin:0; padding:0; list-style:none; }
.sd-stat-lists li { display:flex; align-items:center; gap:10px; padding:12px 0; border-bottom:1px solid var(--sd-line); font-size:12px; }
.sd-stat-lists li>span:first-child { width:16px; font-size:10px; color:var(--sd-muted); }
.sd-stat-lists img { width:24px; height:24px; object-fit:contain; }
.sd-stat-lists li>span:nth-last-child(2) { min-width:0; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.sd-stat-lists strong { margin-left:auto; font-size:16px; font-weight:600; color:var(--sd-accent); }
.sd-sport-news { margin:28px 0 0; }
.sd-sport-news h3 { font-size:18px; }
.sd-sport-news>div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.sports-desk .sd-match-dialog { width:min(820px,calc(100% - 32px)); max-width:none; max-height:calc(100dvh - 48px); padding:0; border:1px solid var(--sd-line); border-radius:6px; background:var(--color-surface); color:var(--color-text); margin:auto; overflow:auto; box-shadow:0 24px 90px #0003; }
.sd-match-dialog::backdrop { background:rgb(20 32 25 / 48%); }
.sd-dialog-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; position:sticky; top:0; z-index:3; padding:16px 22px; border-bottom:1px solid var(--sd-line); background:var(--color-surface); }
.sd-dialog-heading h2 { font-size:18px; font-weight:600; margin:4px 0 0; }
.sd-match-dialog [data-match-content] { padding:0 22px 22px; }
.sports-desk .sd-match-dialog .sf-match { grid-template-columns:minmax(0,1fr) 82px minmax(0,1fr); padding:25px 0 16px; }
.sports-desk .sd-match-dialog .sf-match time { grid-column:1; grid-row:2; }
.sports-desk .sd-match-dialog .sf-match .sf-home { grid-column:1; grid-row:1; }
.sports-desk .sd-match-dialog .sf-match .sf-score { grid-column:2; grid-row:1; font-size:24px; padding:12px 2px; }
.sports-desk .sd-match-dialog .sf-match .sf-team:not(.sf-home) { grid-column:3; grid-row:1; }
.sports-desk .sd-match-dialog .sf-match .sf-state { grid-column:2/4; grid-row:2; text-align:right; }
.sports-desk .sd-match-dialog .sf-team { font-size:14px; }
.sports-desk .sd-match-dialog .sf-team img { width:38px; height:38px; flex-basis:38px; }
.sports-desk .sd-match-dialog .sf-venue { font-size:11px; margin:0; padding:14px 0; }
.sports-desk .sf-events li { grid-template-columns:38px 90px minmax(0,1fr); }
.sports-desk .sf-lineups { gap:25px; }
.sports-desk .sf-lineups li { overflow-wrap:anywhere; }
.sports-desk .c-skeleton { height:180px; min-height:0; margin:8px 0; border-radius:4px; }
.sports-desk [aria-busy=true] { opacity:.65; }
.sports-desk button:focus-visible,.sports-desk a:focus-visible,.sports-desk input:focus-visible,.sports-desk select:focus-visible { outline:2px solid var(--sd-accent); outline-offset:3px; }
[data-theme=dark] .sports-desk { --sd-accent:#89dcb1; --sd-soft:#20392e; --sd-line:#34413a; --sd-muted:#a4b3aa; }
@media(max-width:1199px) {
 .sd-shell { grid-template-columns:170px minmax(0,1fr); gap:20px; }
 .sd-league-rail { padding-right:12px; }
 .sd-match-layout { grid-template-columns:minmax(0,1fr); }
 .sd-results-rail { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; border:0; border-top:1px solid var(--sd-line); padding:22px 0 0; }
 .sd-results-rail>section { margin:0; }
}
@media(max-width:899px) {
 .sd-shell { grid-template-columns:minmax(0,1fr); }
 .sd-league-rail { display:none; }
 .sports-desk .sd-mobile-league { display:flex; align-items:center; justify-content:space-between; gap:12px; color:var(--sd-muted); font-size:12px; padding-bottom:18px; }
 .sd-mobile-league select { width:250px; max-width:70%; }
}
@media(max-width:599px) {
 .sports-desk { padding-top:16px; }
 .sports-desk .sd-page-heading { gap:12px; margin-bottom:18px; padding-bottom:14px; }
 .sd-page-heading h1 { font-size:25px; }
 .sd-page-heading nav { font-size:10px; }
 .sd-update { display:grid; grid-template-columns:1fr 34px; gap:4px 8px; justify-items:end; font-size:9px; }
 .sd-update .sd-status-dot { display:none; }
 .sd-update .sd-icon-button { grid-column:2; grid-row:1/3; }
 .sd-update time { grid-column:1; }
 .sd-competition { gap:12px; padding-bottom:18px; }
 .sd-competition-icon { width:46px; height:46px; flex-basis:46px; font-size:22px; }
 .sd-competition h2 { font-size:22px; }
 .sd-today-total { min-width:58px; padding-left:10px; }
 .sd-today-total strong { font-size:24px; }
 .sd-today-total>span { font-size:9px; }
 .sd-view-tabs { gap:0; justify-content:space-between; }
 .sd-view-tabs button { gap:6px; font-size:11px; padding:13px 3px; }
 .sd-view-tabs .fa { font-size:12px; }
 .sd-toolbar { flex-wrap:wrap; gap:12px; padding:16px 0; }
 .sd-date-controls { width:100%; }
 .sd-date-controls label { flex:1; }
 .sd-date-controls input { width:100%; }
 .sd-search { width:100%; }
 .sd-match-filters { justify-content:space-between; gap:4px; margin-bottom:12px; }
 .sd-match-filters button { padding:8px 7px; font-size:10px; gap:4px; }
 .sports-desk .sf-match { grid-template-columns:minmax(0,1fr) 48px minmax(0,1fr); padding:13px 0; gap:8px 6px; }
 .sports-desk .sf-match time { grid-column:1; grid-row:2; }
 .sports-desk .sf-match .sf-home { grid-column:1; grid-row:1; }
 .sports-desk .sf-match .sf-score { grid-column:2; grid-row:1; }
 .sports-desk .sf-match .sf-team:not(.sf-home) { grid-column:3; grid-row:1; }
 .sports-desk .sf-match .sf-state { grid-column:2/4; grid-row:2; text-align:right; }
 .sports-desk .sf-team { gap:5px; font-size:11px; }
 .sports-desk .sf-team img,.sports-desk .sf-no-badge { width:21px; height:21px; flex-basis:21px; }
 .sd-results-rail { grid-template-columns:minmax(0,1fr); gap:24px; }
 .sports-desk .sd-results-rail .sf-match { grid-template-columns:minmax(0,1fr) 46px; padding:10px 4px; }
 .sports-desk .sd-results-rail .sf-team { font-size:12px; }
 .sd-stat-summary { gap:12px; }
 .sd-stat-summary strong { font-size:23px; }
 .sd-stat-summary span { font-size:10px; }
 .sd-stat-lists,.sd-sport-news>div { grid-template-columns:minmax(0,1fr); }
 .sd-table-toggle { display:flex; align-items:center; gap:6px; font-size:10px; color:var(--sd-muted); }
 .sports-desk .sd-table-toggle input { width:14px; height:14px; accent-color:var(--sd-accent); }
 .sports-desk:not(.sd-table-expanded) .fix-standings-table { min-width:0; table-layout:fixed; }
 .sports-desk:not(.sd-table-expanded) .fix-standings-table th:first-child { width:46%; }
 .sports-desk:not(.sd-table-expanded) .fix-standings-table th,.sports-desk:not(.sd-table-expanded) .fix-standings-table td { padding:12px 3px; font-size:10px; }
 .sports-desk:not(.sd-table-expanded) .fix-standings-table :is(th,td):nth-child(6),.sports-desk:not(.sd-table-expanded) .fix-standings-table :is(th,td):nth-child(7),.sports-desk:not(.sd-table-expanded) .fix-standings-table :is(th,td):nth-child(8),.sports-desk:not(.sd-table-expanded) .fix-standings-table :is(th,td):nth-child(10) { display:none; }
 .sports-desk:not(.sd-table-expanded) .fix-team-cell { min-width:0; gap:5px; }
 .sports-desk:not(.sd-table-expanded) .fix-team-cell strong { font-size:10px; overflow:hidden; text-overflow:ellipsis; }
 .sports-desk:not(.sd-table-expanded) .fix-team-cell>span:first-child { width:12px; flex:0 0 12px; }
 .sports-desk:not(.sd-table-expanded) .fix-team-cell img { width:18px; height:18px; flex:0 0 18px; }
 .sports-desk .sd-match-dialog { width:calc(100% - 20px); max-height:calc(100dvh - 24px); }
 .sd-dialog-heading { padding:14px; }
 .sd-match-dialog [data-match-content] { padding:0 14px 18px; }
 .sports-desk .sd-match-dialog .sf-match { grid-template-columns:minmax(0,1fr) 60px minmax(0,1fr); }
 .sports-desk .sd-match-dialog .sf-match .sf-score { font-size:20px; }
 .sports-desk .sd-match-dialog .sf-team { font-size:11px; gap:5px; }
 .sports-desk .sd-match-dialog .sf-team img { width:24px; height:24px; flex-basis:24px; }
 .sports-desk .sf-lineups { grid-template-columns:minmax(0,1fr); }
 .sports-desk .sf-events li { grid-template-columns:30px 78px minmax(0,1fr); font-size:11px; }
}
@media(prefers-reduced-motion:reduce) { .sports-desk * { transition:none!important; animation:none!important; } }
