/* Loaded after component styles so every page uses the same night surfaces. */
html[data-theme="light"] { color-scheme: light; }
html[data-theme="dark"], html[data-theme="dark"] body.dark-theme,
html[data-theme="dark"] body.dark-theme:is(.centre-page,.match-page) {
  color-scheme: dark;
  --page: #141a20;
  --paper: #1d252d;
  --ink: #e7edf2;
  --muted: #b2bec8;
  --line: #3b4752;
  --surface: var(--paper);
  --border: var(--line);
  --border-color: var(--line);
  --green: #70d5a7;
  --green-soft: #243c34;
  --blue: #8fc3ff;
  --accent-blue: #8fc3ff;
  --surface-shadow: none;
  --surface-shadow-hover: none;
  background: var(--page);
  color: var(--ink);
}
.theme-toggle-btn [hidden] { display: none !important; }
html[data-theme="dark"] body:is(.centre-page,.match-page) :is(
  .header,.match-header,.sport-bar,.top-nav,.calendar-toolbar,.match-list,.match-detail,
  .search,.calendar-dialog,.auth-dialog,.bank-modal,.bank-guide-modal,
  .model-panel,.trust-kpi,.trust-donut-card,.trust-level-card,.trust-pillar,
  .trust-badge-card,.trust-concept-card,.calibration-card,.quality-stats>div,
  .paper-bank-section,.bank-stats>div,.account-profile,.membership-card,
  .membership-offer-card,.membership-proof-strip>article,.membership-safety-grid article,
  .membership-differentiator-grid article,.market-card,.market-model-card,
  .goal-chart-container,.chart-panel,.exact-score-card,.match-history-row,
  .performance-team,.xg-panel,.h2h-compare,.model-reading-guide,.model-pick,
  .model-picks-preview,.best-odds-card,.odds-empty,.odds-collapse-toggle,
  .nfl-chart-block,.nfl-match-ring-item,.nfl-point-projections>div,
  .nfl-predicted-lines>div,.nfl-data-grid>div,.nfl-gemini-card,.probabilities>div,
  .nfl-data-empty,.nfl-gemini-loading,.nfl-gemini-error,
  .bank-guide-modal-header,.guide-calc-results,.shield-visual,.guide-calc,
  .guide-table,.drawdown-card,.mistake-card,.rule-step
) { background: var(--paper); border-color: var(--line); color: var(--ink); box-shadow: none; }
html[data-theme="dark"] body:is(.centre-page,.match-page) :is(
  h1,h2,h3,h4,.club strong,.team-line .name,.market-card-label strong,
  .score,.score-big,.probabilities strong,.market-card-prob,.score-prob,
  .guide-block-heading,.trust-donut-copy strong,.bank-hero strong,
  .chart-title strong,.nfl-point-projections strong,.account-profile strong,
  .match-history-score b,.team-side .team-name,.score-res,.rule-step h5
) { color: var(--ink) !important; }
html[data-theme="dark"] body:is(.centre-page,.match-page) :is(
  .muted,.forecast-explainer,.forecast-limits,.page-heading p,.score-date,
  .model-caption,.bank-hero small,.bank-stats span,.bank-rules,.bank-entry small,
  .bank-list-heading span,.form-help,.guide-block>p,.bank-guide-banner p,
  .bank-guide-modal-header p,.guide-calc-inputs label,.shield-legend,
  .market-card p,.chart-title>span,.score-odds,.chart-chip,.performance-legend,
  .nfl-page-note,.nfl-data-empty,.section-status,.model-reading-guide p,
  .guide-calc-results>div span,.guide-calc-results small,.dd-recov,.shield-visual p,
  .mistake-card p,.rule-step p,.trust-section>p,.trust-paper-note,.match-history-date,
  .nfl-data-grid p,.nfl-gemini-section>p,.nfl-gemini-notice
) { color: var(--muted) !important; }
html[data-theme="dark"] body:is(.centre-page,.match-page) :is(
  .scoreboard,.nfl-match-hero,.bank-guide-banner,.membership-differentiator-grid article
) { background: linear-gradient(120deg,var(--paper),#23332f); border-color: var(--line); }
html[data-theme="dark"] body:is(.centre-page,.match-page) :is(
  input,select,textarea,.today-button,.section-collapse-btn,.bank-guide-close,
  .calendar-dialog .icon-button,.bank-actions button[data-bank-form="WITHDRAWAL"],
  .guide-calc-stakes button,.month-navigation button,.nfl-back-link,.match-breadcrumb
) { background: var(--page); color: var(--ink); border-color: var(--line); }
html[data-theme="dark"] body:is(.centre-page,.match-page) :is(input,textarea)::placeholder { color: #a4afb9; opacity: 1; }
html[data-theme="dark"] body:is(.centre-page,.match-page) :is(.match-tab-list,.segments,.model-toggle,.model-selector,.trust-sport-switch) { background: var(--page); border-color: var(--line); }
html[data-theme="dark"] body:is(.centre-page,.match-page) :is(.match-tab-list [role="tab"],.model-toggle button,.model-selector button,.segments button,.month-day) { color: var(--muted); }
html[data-theme="dark"] body:is(.centre-page,.match-page) :is(
  .match-tab-list [aria-selected="true"],.model-toggle [aria-pressed="true"],
  .model-selector [aria-pressed="true"],.segments button.active,.month-day.selected,
  .guide-calc-stakes button.active
) { background: var(--green-soft); color: #b9efd3; border-color: #4d8069; }
html[data-theme="dark"] body:is(.centre-page,.match-page) :is(button,a,input,select,textarea,summary):focus-visible { outline-color: #91caff; }
html[data-theme="dark"] body:is(.centre-page,.match-page) :is(.stats,.odds-table,.market-table,.guide-comparison-table,.trust-compare-table,.nfl-viz-results table) { background: var(--paper); color: var(--ink); }
html[data-theme="dark"] body:is(.centre-page,.match-page) :is(.stats,.odds-table,.market-table,.guide-comparison-table,.trust-compare-table) :is(th,td) { background: transparent; color: var(--ink); border-color: var(--line); }
html[data-theme="dark"] body:is(.centre-page,.match-page) :is(.stats,.odds-table,.market-table,.guide-comparison-table,.trust-compare-table) thead { background: #28343f; }
html[data-theme="dark"] body:is(.centre-page,.match-page) :is(.goal-bar-track,.performance-track,.xg-track,.bar,.nfl-probability-track,.probability-track) { background: #35434e; }
html[data-theme="dark"] body:is(.centre-page,.match-page) :is(.trust-donut,.nfl-ring,.nfl-match-ring)::after { background: var(--paper); }
html[data-theme="dark"] body:is(.centre-page,.match-page) :is(.trust-donut,.nfl-ring,.nfl-match-ring) span { color: var(--ink); }
html[data-theme="dark"] body.match-page #gemini-card { background: #22332c !important; border-color: #4d8069 !important; }
html[data-theme="dark"] body.match-page #gemini-card h2 { color: var(--ink) !important; }
html[data-theme="dark"] body.match-page :is(.nfl-viz-result.win,.squad-label,.squad-source,.match-research a) { color: #94e4b9; }
html[data-theme="dark"] body.match-page .nfl-viz-result.loss { color: #ffadb4; }
html[data-theme="dark"] body.match-page :is(.badge,.research-badge,.nfl-experimental-badge,.score-result-badge) { background: #3a3525; color: #f3d78d !important; border-color: #75613b; }
html[data-theme="dark"] body.match-page .exact-score-card.is-favorite { background: #243c34; border-color: #70d5a7; }
html[data-theme="dark"] body.match-page .match-history-score { background: #2b3843; }
html[data-theme="dark"] body.match-page .goal-chart { background: repeating-linear-gradient(to bottom,transparent,transparent 49px,var(--line) 49px,var(--line) 50px); border-color: var(--line); }
html[data-theme="dark"] body.match-page .goal-peak-badge { background: #243c34; color: #94e4b9; border-color: #4d8069; }
html[data-theme="dark"] body.match-page :is(.section-kicker,.outcome-win,.outcome-h2h-home) { color: #94e4b9 !important; }
html[data-theme="dark"] body.match-page :is(.outcome-win,.outcome-h2h-home) { background: #243c34; }
html[data-theme="dark"] body.match-page :is(.outcome-draw,.outcome-h2h-draw) { background: #3a3525; color: #f3d78d; }
html[data-theme="dark"] body.match-page .outcome-loss { background: #412b30; color: #ffb9bf; }
html[data-theme="dark"] body.match-page .outcome-h2h-away { background: #26394d; color: #aaceff; }
html[data-theme="dark"] body.match-page .injury-list b { color: #f3d78d; }
html[data-theme="dark"] body.centre-page :is(.auth-error,.error) { background: #412b30; color: #ffb9bf; }
html[data-theme="dark"] body.centre-page .auth-check { background: var(--page); color: var(--muted); }
html[data-theme="dark"] body.centre-page :is(.bank-modal-backdrop,.bank-guide-backdrop,.auth-modal) { background-color: #05090db8; }
html[data-theme="dark"] body.centre-page .bank-guide-modal :is(.bank-guide-kicker,.guide-block-heading svg,.shield-visual strong,#calc-res-security) { color: #94e4b9 !important; }
html[data-theme="dark"] body.centre-page .guide-calc-inputs>div>span { color: var(--ink) !important; }
html[data-theme="dark"] body.centre-page .guide-table :is(th,td) { background: transparent; color: var(--ink); border-color: var(--line); }
html[data-theme="dark"] body.centre-page .guide-table thead { background: #28343f; }
html[data-theme="dark"] body.centre-page .guide-table tr:last-child td:nth-child(4) strong { color: #ffb9bf !important; }
html[data-theme="dark"] body.centre-page :is(.badge-stake-low,.drawdown-card.safe .dd-status,.drawdown-card.safe .dd-pct) { background: #243c34; color: #94e4b9 !important; }
html[data-theme="dark"] body.centre-page :is(.badge-stake-mid,.drawdown-card.warn .dd-status,.drawdown-card.warn .dd-pct) { background: #3a3525; color: #f3d78d !important; }
html[data-theme="dark"] body.centre-page :is(.badge-stake-high,.drawdown-card.alert .dd-status,.drawdown-card.alert .dd-pct) { background: #412f25; color: #ffd0a0 !important; }
html[data-theme="dark"] body.centre-page :is(.badge-stake-danger,.drawdown-card.ruin .dd-status,.drawdown-card.ruin .dd-pct) { background: #412b30; color: #ffb9bf !important; }
html[data-theme="dark"] body.centre-page :is(.dd-stake,.dd-recov strong) { color: var(--ink); }
html[data-theme="dark"] body.centre-page .rule-step-num { background: #243c34; color: #94e4b9; }
html[data-theme="dark"] body.centre-page #membership-view :is(.membership-proof-strip article,.membership-overall-note,.membership-coverage-chips span,.membership-promise) { background: var(--paper); border-color: var(--line); color: var(--muted); }
html[data-theme="dark"] body.centre-page #membership-view :is(.membership-hit-content b,.membership-hit-ring strong,.membership-promise strong) { color: var(--ink); }
html[data-theme="dark"] body.centre-page #membership-view :is(.membership-hit-content small,.membership-hit-card>span,.membership-section-heading p,.membership-value-grid p,.membership-card p,.membership-offer-card>small,.membership-promise p) { color: var(--muted); }
html[data-theme="dark"] body.centre-page #membership-view .membership-proof-strip .membership-hit-ring { background: conic-gradient(var(--green) var(--hit),var(--line) var(--hit)); }
html[data-theme="dark"] body.centre-page #membership-view .membership-hit-ring:before { background: var(--paper); }
html[data-theme="dark"] body.centre-page #favorite-count { background: #243c34; color: #b9efd3; }
html[data-theme="dark"] body:not(.centre-page):not(.match-page) :is(h1,h2,h3,a) { color: var(--ink); }
html[data-theme="dark"] body:not(.centre-page):not(.match-page) section { border-color: var(--line); }
