/* Shared light/dark text tokens preserve the established container palette. */
main{--copy-link:#a7192b;--copy-link-hover:#761021;--copy-accent:#a7192b;--copy-muted:#496079}
/* Low-specificity defaults must not override a component's button or card links. */
main a:where(:not([class])){color:var(--copy-link)}
main a:where(:not([class])):hover{color:var(--copy-link-hover);text-decoration:underline;text-underline-offset:4px}
:is(.dark-surface,.analytics-panel,.coverage-card,.archive-overview,.coverage-note,.nba-notice,.live-notice,.snapshot-promo,.archive-promo,.current-board,.nba-empty,.sport-empty,.nba-methods article,.archive-rankings,.site-footer,.app-dialog){--copy-link:#ff9ca8;--copy-link-hover:#fff;--copy-accent:#ff9ca8;--copy-muted:#c5d2e5}
main .eyebrow{color:var(--copy-accent)!important}
main .archive-home .current-hero>div>.eyebrow{color:#082b4c!important}
main :is(.dark-surface,.analytics-panel,.coverage-note,.nba-notice) a:where(:not([class])){color:var(--copy-link)}
main :is(.dark-surface,.analytics-panel,.coverage-note,.nba-notice) a:where(:not([class])):hover{color:var(--copy-link-hover)}
main a.app-button,main a.pill-action{color:#fff!important}
main .dark-surface [style*="color:#ff3038"],main .dark-surface [style*="color: rgb(255, 48, 56)"]{color:#ff8792!important}
main label[style*="color:#9AA3B2"],main label[style*="color: rgb(154, 163, 178)"],main>div>section>span[style*="color:#9AA3B2"]{color:#50627b!important}
.legacy-muted{color:#50627b!important}
.legacy-red-banner{background:#b51b29!important;color:#fff!important}
.legacy-season-table{width:100%;min-width:820px;border-collapse:collapse;color:#f2f3f5;background:#161a21;font:500 15px/1.5 'Barlow',sans-serif}
.legacy-season-table caption{padding:14px;text-align:left;font-weight:700}
.legacy-season-table th,.legacy-season-table td{padding:11px 12px;border:1px solid #414c60;text-align:right}
.legacy-season-table th{color:#dce7f5;font-weight:700}.legacy-season-table th:first-child{text-align:left}
.trend-scroll{overflow-x:auto;border-radius:16px;max-width:100%}
.trend-scroll:focus-visible{outline:2px solid #ff8792;outline-offset:3px}
.fan-trend .trend-scroll svg{min-width:620px;width:100%;height:auto}
.trend-season-picker{display:grid;gap:8px;color:#dce7f5;margin-top:16px}
.trend-season-picker select{width:100%}
@media(max-width:650px){.fan-trend .trend-scroll svg{width:620px;min-width:620px}.fan-trend-panel .fan-trend svg text{font-size:16px}.analytics-hub .trend-navigation button{width:44px;height:44px;min-width:44px}}

main .analytics-panel .analytics-tabs a{color:#c5d6ed}
main .analytics-panel .analytics-tabs a[aria-current="page"]{color:#fff}
main .dark-surface .eyebrow,main .analytics-panel .eyebrow{color:var(--copy-accent)!important}
main .coverage-card .card-index{color:#b4c5de}
main .sport-card-actions a{color:#eef3fc}
main .sport-card-actions a:hover{color:#fff}
main .sport-card-actions a span{color:#ff9ca8}
main .snapshot-promo a,main .snapshot-promo a:hover{color:#fff}
/* Table cells and printed jersey backs are light surfaces inside dark panels. */
.current-table td,.nba-card-details,.jersey-back{--copy-link:#174d85;--copy-link-hover:#a7192b;--copy-accent:#b51b2b;--copy-muted:#496079}
.analytics-panel .current-table td,.archive-rankings .current-table td{--copy-link:#ff9ca8;--copy-link-hover:#fff;--copy-muted:#c5d2e5}
.site-footer a{color:#ff9ca8}.site-footer a:hover{color:#fff}
.menu-arrow{color:#b9cbe5}
.analytics-hub .analytics-panel .insight-text-button{color:#d8e7ff!important}
.analytics-hub .analytics-panel .insight-text-button:hover{color:#fff!important}
.scoreboard-center strong{color:#ff9ca8}
.analytics-hub .trend-navigation button:disabled{color:#f4d9dd!important;opacity:1}
/* Preserve team colors as trim, with a consistent readable statistics heading. */
.jersey-back .card-stat-table caption{background:#14283e;color:#fff;border-left:4px solid var(--jersey-trim)}
main .pill-action{background:#b51b2b!important;color:#fff!important;border-color:#b51b2b!important}
main .pill-action:hover{background:#901321!important;color:#fff!important}
/* Explicit contrast overrides for classless links inside dark cards and callouts.
   Keep the red action fill, but use white copy so the action label remains legible. */
main :is(.dark-surface,.analytics-panel,.coverage-card,.archive-overview,.coverage-note,.nba-notice,.live-notice,.snapshot-promo,.archive-promo,.current-board,.nba-empty,.sport-empty,.nba-methods article,.archive-rankings,.site-footer,.app-dialog) a:not([class]){color:var(--copy-link)!important}
main .coverage-card .sport-card-actions a:not([class]){color:#f4f7ff!important}
main .coverage-card .sport-card-actions a:not([class]) span{color:#ff9ca8!important}
main .snapshot-promo a,
main .snapshot-promo a:visited,
main .snapshot-promo a:hover,
main .snapshot-promo a:active,
main .snapshot-promo a:focus-visible{
  color:#fff!important;background:#c81927!important;border-color:#c81927!important;
}
main .snapshot-promo a:hover{background:#a31320!important;border-color:#a31320!important}
.sport-menu[data-active="true"]>.sport-trigger,
.sport-menu[data-active="true"][open]>.sport-trigger{
  color:#fff!important;background:#c81927!important;border-color:#c81927!important;
  box-shadow:none!important;
}
.sport-menu[data-active="true"]>.sport-trigger .sport-chevron{border-color:#fff!important}
.sport-menu[data-active="true"]>.sport-trigger:hover,
.sport-menu[data-active="true"][open]>.sport-trigger:hover{
  color:#fff!important;background:#a31320!important;border-color:#a31320!important;
}
