/* Both themes share the same type sizes, spacing and score hierarchy. */
:root{color-scheme:light}
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex-shrink:0;border:1px solid #ffffff38;border-radius:7px;background:#ffffff0a;color:#eef4e9}
.theme-toggle:hover{background:#ffffff1c}
.theme-toggle:focus-visible{outline:2px solid #d0e779;outline-offset:2px}
.header-right{gap:10px}
:root[data-theme="dark"]{color-scheme:dark;--bg:#101719;--green:#0c1d1a;--line:#2c3b3c;--ink:#e3ebe6;--text:#e3ebe6;--muted:#a4b5ad;--readable-muted:#a4b5ad;--surface:#172124;--surface-raised:#202d2e;--accent-soft:#2c4436;--accent-text:#d3e79f}
:root[data-theme="dark"] body{background:var(--bg);color:var(--text)}
:root[data-theme="dark"] :is(.panel,.match-row,.odds-row,.detail-column,.detail-tabs,.article-sheet){background:var(--surface);color:var(--text)}
:root[data-theme="dark"] :is(.masthead,.mobile-nav){background:#0c1517;border-color:var(--line)}
:root[data-theme="dark"] .masthead{border-bottom-color:#879e54}
:root[data-theme="dark"] :is(.date-bar,.filter-bar,.list-toolbar,.board-foot,.standing-header,.standing-foot,.detail-kicker,.detail-source){background:var(--surface);border-color:var(--line)}
:root[data-theme="dark"] :is(.match-row,.odds-row,.side-section,.panel,.league-heading,.detail-tabs,.detail-follow-teams button,.odds-values>button,.follow-chip,.standings-table th,.standings-table td,.h2h-row,.roster-player,.change-item,.article-sources){border-color:var(--line)}
:root[data-theme="dark"] :is(.search,.mobile-league-select select,.standing-header select,.manager-team-heading input,.club-hero select){background:#111b1d;color:var(--text);border-color:#344545}
:root[data-theme="dark"] :is(input,select){color:var(--text)}
:root[data-theme="dark"] input::placeholder{color:#a0b1a9}
:root[data-theme="dark"] :is(.side-button,.mobile-nav button,.filter-button,.date-button,.toolbar-button,.segmented button,.market-tabs button,.detail-tab,.lineup-team-switch button){color:#b7c7bd}
:root[data-theme="dark"] :is(.side-button.active,.mobile-nav button.active,.filter-button.selected,.segmented button.active,.lineup-team-switch button.selected){background:var(--accent-soft);color:var(--accent-text);box-shadow:none}
:root[data-theme="dark"] :is(.side-button:hover,.mobile-nav button:hover,.toolbar-button:hover,.toolbar-button.active,.league-pin:hover,.save-match:hover,.follow-chip:hover,.match-row:hover,.odds-row:hover,.upcoming-card:hover){background:#22312e;color:#e0eccb}
:root[data-theme="dark"] .date-button.selected{background:#345342;color:#cbdcc7}
:root[data-theme="dark"] .date-button.selected b{color:#e2f2b5}
:root[data-theme="dark"] .date-button b{color:#e2e9e2}
:root[data-theme="dark"] :is(.league-heading,.list-columns,.odds-columns,.odds-connection,.follow-manager,.changes-panel,.lineup-team-switch,.segmented){background:var(--surface-raised);border-color:var(--line)}
:root[data-theme="dark"] :is(.league-heading .league-name,.team-line,.team-line.winner .team-name,.odds-teams>span,.odds-teams b,.score-pair,.detail-team b,.detail-score-center strong,.stat-values b,.event-text b,.h2h-teams,.h2h-teams b,.match-facts dd,.standing-team,.standings-table .standing-team,.standings-table td:last-child,.manager-heading>b,.change-item b,.empty-state b){color:var(--text)}
:root[data-theme="dark"] :is(.match-status,.odds-time,.match-facts dt,.side-heading,.side-button .count,.title-count,.league-heading small,.league-table-link,.detail-kicker,.detail-date,.detail-competition,.detail-score-center .state,.venue,.detail-body .body-heading,.event-minute,.event-text small,.event-symbol,.stat-values span,.h2h-meta,.roster-player,.roster-player small,.jersey,.formation-heading,.pitch-caption,.detail-source,.empty-state,.page-footer,.page-footer .footer-brand,.ad-preview figcaption,.row-competition,.section-caption,.mini-heading,.start-choice,.alert-options label,.change-item time,.change-item small,.changes-empty,.standing-header p,.standings-table td,.standings-table th){color:var(--muted)}
:root[data-theme="dark"] :is(.clear-filters,.board-foot button,.odds-connection>a,.odds-source-note summary,.event-source-note button,.section-caption button){color:#c1da9a}
:root[data-theme="dark"] :is(.team-logo-fallback,.empty-icon){background:#304139;color:#ccdbc4}
:root[data-theme="dark"] :is(.detail-save,.detail-follow-teams button,.text-button,.follow-chip,.odds-values>button,.odds-values>span,.odds-detail-grid>div){background:#23342c;color:#d4e2c7;border-color:#3b4f3d}
:root[data-theme="dark"] :is(.odds-number,.odds-detail-grid strong,.odds-number>small){color:#dbeaaf}
:root[data-theme="dark"] :is(.market-tabs button,.density-toggle){background:var(--surface-raised);border-color:#405447}
:root[data-theme="dark"] .market-tabs button.active{background:#3d5c40;color:#f0f4df;border-color:#678557}
:root[data-theme="dark"] .detail-hero{background:linear-gradient(150deg,#22332d,var(--surface) 65%)}
:root[data-theme="dark"] .detail-tab.selected{color:#dce9b4}
:root[data-theme="dark"] .detail-tab.selected:after{background:#b4ca75}
:root[data-theme="dark"] .stat-bar{background:#30403c}
:root[data-theme="dark"] .stat-bar span:first-child{background:#80a98b}
:root[data-theme="dark"] .stat-bar span:last-child{background:#c2d276}
:root[data-theme="dark"] .event:before{background:#3b4c45}
:root[data-theme="dark"] .match-row.selected{background:#293d2f}
:root[data-theme="dark"] .is-followed{background:#304832!important;color:#deecb0!important}
:root[data-theme="dark"] :is(.score-pair.live,.match-status.is-live,.detail-score-center.live strong){color:#ff8f83}
:root[data-theme="dark"] .score-pair.scheduled{color:#b6c3bd}
:root[data-theme="dark"] .match-row.has-change{background:#35472c;animation:none}
:root[data-theme="dark"] .error-banner{background:#3c3120;color:#ecd19b;border-color:#655133}
:root[data-theme="dark"] .status-chip{background:#3e3827;color:#e2ce9b}
:root[data-theme="dark"] .standings-table th{background:#22302c}
:root[data-theme="dark"] .standings-table tbody tr:first-child{background:#293e2d}
:root[data-theme="dark"] .standings-table tr:nth-child(-n+3) td:first-child{color:#d3e79f}
:root[data-theme="dark"] .skeleton-row{border-color:var(--line)}
:root[data-theme="dark"] .skeleton{background:linear-gradient(100deg,#263630 30%,#314239 50%,#263630 70%);background-size:200% 100%}
:root[data-theme="dark"] :is(.ad-preview--end,.ad-preview--inline){background:#1b2925;border-color:#34453b}
:root[data-theme="dark"] .ad-preview--sidebar img{border-color:#34453b}
:root[data-theme="dark"] .ad-preview--header figcaption{color:#bccabc}
:root[data-theme="dark"] :is(.club-hero,.club-section,.club-path,.club-next-match,.upcoming-card,.story-card,.scenario-card,.article-toolbar,.club-facts,.club-form){background:var(--surface);border-color:var(--line);color:var(--text)}
:root[data-theme="dark"] :is(.club-hero h1,.club-hero h2,.club-hero b,.club-section h2,.club-next-match b,.upcoming-card .fixture,.upcoming-card .kickoff,.story-card h3,.article-content h2,.article-prose,.article-sources b){color:var(--text)}
:root[data-theme="dark"] :is(.club-hero p,.club-hero .overline,.club-next-match small,.club-path span,.upcoming-card .meta,.article-content .overline,.article-content figcaption,.article-sources,.article-toolbar){color:var(--muted)}
:root[data-theme="dark"] :is(.article-sources a,.original-link){color:#c4dc99}
:root[data-theme="dark"] :is(.scenario-options,.club-data-note,.club-match-link,.club-detail-links button,.news-fallback,.article-sources a){background:#22332b;border-color:var(--line);color:#cbdcb5}
:root[data-theme="dark"] :is(.scenario-options button,.club-match-meta,.club-section-heading p,.club-section-heading>span,.scenario-note,.scenario-result>.overline,.news-card small,.news-card em,.story-label,.club-section-caption,.article-toolbar button,.article-toolbar>span){color:var(--muted)}
:root[data-theme="dark"] .scenario-options button.active{background:#39533c;color:#e4efc5}
:root[data-theme="dark"] :is(.news-card b,.recent-journey strong,.club-match-teams>strong,.club-path .active,.club-path .active b){color:var(--text)}
:root[data-theme="dark"] :is(.news-card,.recent-journey button){border-color:var(--line)}
:root[data-theme="dark"] :is(.pre-match-context,.mini-table,.match-story){background:#202e28;border-color:var(--line)}
:root[data-theme="dark"] :is(.pre-match-context p,.pre-match-context p b,.projection-row,.projection-row b,.journey-opponent,.mini-table button,.match-story h3,.match-story ul){color:var(--text)}
:root[data-theme="dark"] :is(.pre-match-context .overline,.pre-match-context small,.journey-opponent small,.mini-table>span,.match-story>p,.follow-empty){color:var(--muted)}
:root[data-theme="dark"] :is(.projection-row small,.side-button.active svg,.mini-table button.current){color:var(--accent-text)}
:root[data-theme="dark"] .mini-table button.current{background:var(--accent-soft)}
:root[data-theme="dark"] .projection-bar{background:#34473c}
:root[data-theme="dark"] .projection-bar span{background:#91b16f}
:root[data-theme="dark"] .projection-bar.opponent span{background:#b4c77c}
:root[data-theme="dark"] .club-next-match:hover .club-match-link{background:#30452f}
:root[data-theme="dark"] .result-W{background:#344c2f;color:#d4e6b4}
:root[data-theme="dark"] .result-L{background:#50392e;color:#efc5aa}
:root[data-theme="dark"] .result-D{background:#39413a;color:#d1d8cb}
:root[data-theme="dark"] .market-tabs{border-color:var(--line)}
@media(max-width:760px){
  .masthead-inner{gap:8px}
  .header-right{gap:5px;margin-left:0}
  .theme-toggle{width:32px;height:32px}
}
@media(max-width:360px){
  .brand-lockup{gap:8px}
  .logo{width:76px}
  .top-nav a svg{display:none}
  .language{padding-left:3px;padding-right:3px}
}
