@font-face {
  font-family: "Block Berthold";
  src: url("/assets/fonts/blockberthold.otf") format("opentype");
  font-weight: 900;
  font-style: normal;
  unicode-range: U+0020, U+0030-0033, U+0035-0039, U+0041-005A, U+0061-007A, U+00C0-024F;
  font-display: swap;
}

@font-face {
  font-family: "Recoleta";
  src: url("/assets/fonts/fonnts.com-recoleta-thin.otf") format("opentype");
  font-weight: 100;
  font-style: normal;
  unicode-range: U+0020, U+0030-0033, U+0035-0039, U+0041-005A, U+0061-007A, U+00C0-024F;
  font-display: swap;
}

@font-face {
  font-family: "Recoleta";
  src: url("/assets/fonts/fonnts.com-recoleta-light.otf") format("opentype");
  font-weight: 300;
  font-style: normal;
  unicode-range: U+0020, U+0030-0033, U+0035-0039, U+0041-005A, U+0061-007A, U+00C0-024F;
  font-display: swap;
}

@font-face {
  font-family: "Recoleta";
  src: url("/assets/fonts/fonnts.com-recoleta-regular.otf") format("opentype");
  font-weight: 400;
  font-style: normal;
  unicode-range: U+0020, U+0030-0033, U+0035-0039, U+0041-005A, U+0061-007A, U+00C0-024F;
  font-display: swap;
}

@font-face {
  font-family: "Recoleta";
  src: url("/assets/fonts/fonnts.com-recoleta-medium.otf") format("opentype");
  font-weight: 500;
  font-style: normal;
  unicode-range: U+0020, U+0030-0033, U+0035-0039, U+0041-005A, U+0061-007A, U+00C0-024F;
  font-display: swap;
}

@font-face {
  font-family: "Recoleta";
  src: url("/assets/fonts/fonnts.com-recoleta-semibold.otf") format("opentype");
  font-weight: 600;
  font-style: normal;
  unicode-range: U+0020, U+0030-0033, U+0035-0039, U+0041-005A, U+0061-007A, U+00C0-024F;
  font-display: swap;
}

@font-face {
  font-family: "Recoleta";
  src: url("/assets/fonts/fonnts.com-recoleta-bold.otf") format("opentype");
  font-weight: 700;
  font-style: normal;
  unicode-range: U+0020, U+0030-0033, U+0035-0039, U+0041-005A, U+0061-007A, U+00C0-024F;
  font-display: swap;
}

@font-face {
  font-family: "Recoleta";
  src: url("/assets/fonts/fonnts.com-recoleta-black.otf") format("opentype");
  font-weight: 900;
  font-style: normal;
  unicode-range: U+0020, U+0030-0033, U+0035-0039, U+0041-005A, U+0061-007A, U+00C0-024F;
  font-display: swap;
}

@font-face {
  font-family: "Recoleta Alt";
  src: url("/assets/fonts/fonnts.com-recoletaalt-thin.otf") format("opentype");
  font-weight: 100;
  font-style: normal;
  unicode-range: U+0020, U+0030-0033, U+0035-0039, U+0041-005A, U+0061-007A, U+00C0-024F;
  font-display: swap;
}

@font-face {
  font-family: "Recoleta Alt";
  src: url("/assets/fonts/fonnts.com-recoletaalt-light.otf") format("opentype");
  font-weight: 300;
  font-style: normal;
  unicode-range: U+0020, U+0030-0033, U+0035-0039, U+0041-005A, U+0061-007A, U+00C0-024F;
  font-display: swap;
}

@font-face {
  font-family: "Recoleta Alt";
  src: url("/assets/fonts/fonnts.com-recoletaalt-regular.otf") format("opentype");
  font-weight: 400;
  font-style: normal;
  unicode-range: U+0020, U+0030-0033, U+0035-0039, U+0041-005A, U+0061-007A, U+00C0-024F;
  font-display: swap;
}

@font-face {
  font-family: "Recoleta Alt";
  src: url("/assets/fonts/fonnts.com-recoletaalt-medium.otf") format("opentype");
  font-weight: 500;
  font-style: normal;
  unicode-range: U+0020, U+0030-0033, U+0035-0039, U+0041-005A, U+0061-007A, U+00C0-024F;
  font-display: swap;
}

@font-face {
  font-family: "Recoleta Alt";
  src: url("/assets/fonts/fonnts.com-recoletaalt-semibold.otf") format("opentype");
  font-weight: 600;
  font-style: normal;
  unicode-range: U+0020, U+0030-0033, U+0035-0039, U+0041-005A, U+0061-007A, U+00C0-024F;
  font-display: swap;
}

@font-face {
  font-family: "Recoleta Alt";
  src: url("/assets/fonts/fonnts.com-recoletaalt-bold.otf") format("opentype");
  font-weight: 700;
  font-style: normal;
  unicode-range: U+0020, U+0030-0033, U+0035-0039, U+0041-005A, U+0061-007A, U+00C0-024F;
  font-display: swap;
}

@font-face {
  font-family: "Recoleta Alt";
  src: url("/assets/fonts/fonnts.com-recoletaalt-black.otf") format("opentype");
  font-weight: 900;
  font-style: normal;
  unicode-range: U+0020, U+0030-0033, U+0035-0039, U+0041-005A, U+0061-007A, U+00C0-024F;
  font-display: swap;
}

:root {
  --font-berthold: "Block Berthold", var(--font-ui);
  --font-display: var(--font-berthold);
  --font-recoleta: "Recoleta", "Recoleta Alt", var(--font-ui), Georgia, "Times New Roman", serif;
  --font-body: var(--font-recoleta);
  --font-ui: "Barlow", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  --font-recoletta: var(--font-recoleta);
}

html,
body,
button,
input,
select,
textarea,
a {
  font-family: var(--font-body) !important;
}

.brand span,
.app-brand span,
.top .brand span {
  color: #f4f1e8 !important;
}

h1,
h2,
.brand,
.brand-mark,
.app-brand,
.app-brand-mark,
.logo,
.auth-logo,
.dash-title,
.history-title,
.progress-title,
.progress-pct,
.results-hero-title,
.verdict-winner,
.panel-title,
.dash-panel-title,
.side-panel-title,
.season-title,
.season-section-title,
.product-title,
.proof-item b,
.step-num,
.score strong,
.stat-val,
.dash-kpi-value,
.dash-streak-value,
.donut-total,
.map-record-rate,
.death-count,
.rot-val,
.grade-badge,
.slot-chip,
.timeline-order,
.leader-rank,
.player-avatar,
.match-node,
.radar-score-value {
  font-family: var(--font-display) !important;
  font-weight: 900;
  letter-spacing: 0;
}

p,
small,
label,
input,
select,
textarea,
button,
.btn,
.nav-links,
.footer-col,
.footer-brand,
.hero-copy,
.section-lede,
.cap p,
.feature p,
.audience-card p,
.benefit p,
.quote p,
.faq p,
.stat-card p,
.coach-note p,
.analysis-shot span,
.auth-sub,
.sub,
.hint,
.field-hint,
.error,
.error-box,
.footer,
.auth-footer {
  font-family: var(--font-body) !important;
}

.kicker,
.pill,
.replay-chip,
.dash-tabs span,
.replay-mini-stats span,
.side-nav-tag,
.tone-name,
.location-name,
.review-card-title,
.season-card-title,
.map-record-name,
.zone-name,
.pid,
.chem-team,
.rot-team,
.rec-header-title,
.win-card-title,
.fv-title,
.cw-title,
.cw-team-label,
.radar-pid,
.replay-ts {
  font-family: var(--font-display) !important;
  font-weight: 900;
  letter-spacing: 0;
}

button,
input,
select,
textarea,
code,
pre,
kbd,
.btn,
.logo,
.auth-logo,
.upload-btn,
.new-btn,
.pdf-btn,
.history-btn,
.history-open,
.team-btn,
.logout-btn,
.side-nav-btn,
.side-close,
.side-snackbar,
.theme-toggle,
.map-dropdown-btn,
.map-dropdown-option,
.team-tab,
.rbtn,
.dl-btn,
.kpip,
.scrubber-time {
  font-family: var(--font-ui) !important;
  font-weight: 800;
  letter-spacing: 0;
}

:root[data-theme="light"] {
  --bg: #f4f6fb;
  --surface: #ffffff;
  --surface2: #eef1f7;
  --panel: #ffffff;
  --card: #f7f8fc;
  --dark: #f4f6fb;
  --border: #d8dde8;
  --line: rgba(23, 29, 42, .13);
  --line2: rgba(23, 29, 42, .2);
  --text: #1d2430;
  --muted: #687386;
  --soft: #7b8494;
  --yellow: #b77900;
  --gold: #b77900;
  --shadow: 0 18px 48px rgba(45, 56, 78, .14);
}

:root[data-theme="light"] body {
  background: var(--bg);
  color: var(--text);
}

.theme-toggle {
  width: 36px;
  height: 36px;
  flex: 0 0 auto;
  display: inline-grid;
  place-items: center;
  position: relative;
  border: 1.5px solid var(--border, var(--line));
  border-radius: 7px;
  background: var(--card, var(--surface));
  color: var(--yellow, var(--gold));
  cursor: pointer;
  transition: background .18s, border-color .18s, transform .18s, box-shadow .18s;
}

.theme-toggle:hover {
  transform: translateY(-1px);
  border-color: var(--yellow, var(--gold));
}

.theme-toggle::before {
  content: "";
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background: currentColor;
  box-shadow: 0 0 0 4px rgba(255, 208, 31, .13);
}

.theme-toggle::after {
  content: "";
  position: absolute;
  width: 13px;
  height: 13px;
  border-radius: 50%;
  background: var(--card, var(--surface));
  transform: translate(4px, -4px) scale(1);
  transition: transform .18s, opacity .18s, background .18s;
}

:root[data-theme="light"] .theme-toggle::before {
  box-shadow:
    0 -9px 0 -6px currentColor,
    0 9px 0 -6px currentColor,
    9px 0 0 -6px currentColor,
    -9px 0 0 -6px currentColor,
    6px 6px 0 -6px currentColor,
    -6px -6px 0 -6px currentColor,
    6px -6px 0 -6px currentColor,
    -6px 6px 0 -6px currentColor;
}

:root[data-theme="light"] .theme-toggle::after {
  opacity: 0;
  transform: translate(0, 0) scale(.4);
}

.auth-theme-toggle {
  position: fixed;
  top: 18px;
  right: 18px;
  z-index: 20;
}

.auth-card-actions {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 16px;
}

/* Landing page */
:root[data-theme="light"] .nav {
  background: rgba(255, 255, 255, .88);
  border-bottom-color: var(--line);
  box-shadow: 0 10px 36px rgba(45, 56, 78, .1);
}

:root[data-theme="light"] .nav-links,
:root[data-theme="light"] .hero-copy,
:root[data-theme="light"] .section-lede,
:root[data-theme="light"] .cap p,
:root[data-theme="light"] .feature p,
:root[data-theme="light"] .audience-card p,
:root[data-theme="light"] .benefit p,
:root[data-theme="light"] .faq p,
:root[data-theme="light"] .footer-brand p,
:root[data-theme="light"] .footer-col a {
  color: var(--muted);
}

:root[data-theme="light"] .btn-secondary,
:root[data-theme="light"] .btn-link,
:root[data-theme="light"] .dash-tabs span,
:root[data-theme="light"] .score,
:root[data-theme="light"] .replay-mini-stats span {
  background: rgba(23, 29, 42, .055);
  border-color: var(--line);
  color: var(--text);
}

:root[data-theme="light"] .hero::before {
  background:
    linear-gradient(90deg, rgba(244, 246, 251, .96), rgba(244, 246, 251, .86) 44%, rgba(244, 246, 251, .46) 75%, rgba(244, 246, 251, .78)),
    linear-gradient(180deg, rgba(244, 246, 251, .4), rgba(244, 246, 251, .88) 78%, var(--bg));
}

:root[data-theme="light"] .hero-video {
  opacity: .5;
}

:root[data-theme="light"] .proof,
:root[data-theme="light"] .feature-wrap,
:root[data-theme="light"] footer,
:root[data-theme="light"] .proof-item,
:root[data-theme="light"] .statement,
:root[data-theme="light"] .cap,
:root[data-theme="light"] .step,
:root[data-theme="light"] .feature,
:root[data-theme="light"] .audience-card,
:root[data-theme="light"] .benefit,
:root[data-theme="light"] .quote,
:root[data-theme="light"] .faq,
:root[data-theme="light"] .dash,
:root[data-theme="light"] .stat-card,
:root[data-theme="light"] .analysis-shot,
:root[data-theme="light"] .final-cta {
  background: var(--surface);
  border-color: var(--line);
}

:root[data-theme="light"] .dash-head,
:root[data-theme="light"] .stat-card,
:root[data-theme="light"] .coach-note {
  background: #f8fafc;
}

:root[data-theme="light"] .map-caption,
:root[data-theme="light"] .replay-chip {
  background: rgba(255, 255, 255, .88);
  color: var(--text);
}

/* App, auth, and admin pages */
:root[data-theme="light"] .app-topbar,
:root[data-theme="light"] .top {
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 8px 28px rgba(45, 56, 78, .1);
}

:root[data-theme="light"] .app-brand-mark {
  box-shadow: 2px 2px 0 #cfd6e4;
}

:root[data-theme="light"] .brand span,
:root[data-theme="light"] .app-user,
:root[data-theme="light"] .drop-title,
:root[data-theme="light"] .tone-name,
:root[data-theme="light"] .location-name,
:root[data-theme="light"] .history-name,
:root[data-theme="light"] .death-player,
:root[data-theme="light"] .rec-title,
:root[data-theme="light"] .map-row b {
  color: var(--text);
}

:root[data-theme="light"] .app-nav-btn:hover,
:root[data-theme="light"] .app-nav-btn.active,
:root[data-theme="light"] .drop-zone,
:root[data-theme="light"] .location-picker,
:root[data-theme="light"] .map-select,
:root[data-theme="light"] .tone-card,
:root[data-theme="light"] .ocr-player,
:root[data-theme="light"] .ocr-input,
:root[data-theme="light"] .location-card,
:root[data-theme="light"] .history-card,
:root[data-theme="light"] .history-empty,
:root[data-theme="light"] .progress-box,
:root[data-theme="light"] .panel,
:root[data-theme="light"] .panel-header,
:root[data-theme="light"] .zone-card,
:root[data-theme="light"] .pcard,
:root[data-theme="light"] .team-tab,
:root[data-theme="light"] .chem-card,
:root[data-theme="light"] .rot-card,
:root[data-theme="light"] .flank-card,
:root[data-theme="light"] .strat-card,
:root[data-theme="light"] .rec-panel,
:root[data-theme="light"] .coach-word,
:root[data-theme="light"] .cw-header,
:root[data-theme="light"] .radar-card,
:root[data-theme="light"] .radar-stat-pip,
:root[data-theme="light"] .dl-btn,
:root[data-theme="light"] .login-card,
:root[data-theme="light"] .card,
:root[data-theme="light"] .map-row,
:root[data-theme="light"] .spawn-row,
:root[data-theme="light"] input,
:root[data-theme="light"] textarea,
:root[data-theme="light"] button,
:root[data-theme="light"] .btn {
  background: var(--surface);
  border-color: var(--border);
  color: var(--text);
}

:root[data-theme="light"] .panel,
:root[data-theme="light"] .history-card,
:root[data-theme="light"] .progress-box,
:root[data-theme="light"] .pcard,
:root[data-theme="light"] .radar-card,
:root[data-theme="light"] .coach-word,
:root[data-theme="light"] .login-card,
:root[data-theme="light"] .card {
  box-shadow: 4px 4px 0 #d7deea;
}

:root[data-theme="light"] .panel:hover,
:root[data-theme="light"] .pcard:hover,
:root[data-theme="light"] .chem-card:hover,
:root[data-theme="light"] .rot-card:hover,
:root[data-theme="light"] .flank-card:hover,
:root[data-theme="light"] .strat-card:hover,
:root[data-theme="light"] .rec-panel:hover,
:root[data-theme="light"] .win-card:hover,
:root[data-theme="light"] .radar-card:hover,
:root[data-theme="light"] .zone-card:hover {
  border-color: #c0c8d7;
  box-shadow: 5px 5px 0 #d7deea;
}

:root[data-theme="light"] .nav-bar {
  background: #ffffff;
  border-bottom-color: var(--border);
  scrollbar-color: var(--yellow) #e7ebf3;
}

:root[data-theme="light"] .nav-bar::-webkit-scrollbar-track {
  background: #e7ebf3;
}

:root[data-theme="light"] .verdict-summary,
:root[data-theme="light"] .prow-txt,
:root[data-theme="light"] .rot-ev,
:root[data-theme="light"] .flank-item,
:root[data-theme="light"] .strat-text,
:root[data-theme="light"] .rec-detail,
:root[data-theme="light"] .win-card-text,
:root[data-theme="light"] .cw-text,
:root[data-theme="light"] .chem-txt,
:root[data-theme="light"] .death-reason,
:root[data-theme="light"] .map-row span {
  color: var(--muted);
}

:root[data-theme="light"] .results-hero,
:root[data-theme="light"] .final-verdict-box,
:root[data-theme="light"] .kpip.kactive,
:root[data-theme="light"] .rbtn.primary,
:root[data-theme="light"] .upload-btn,
:root[data-theme="light"] .history-open,
:root[data-theme="light"] button.primary,
:root[data-theme="light"] .btn.primary,
:root[data-theme="light"] .btn-primary,
:root[data-theme="light"] .btn-yellow,
:root[data-theme="light"] .btn {
  background: var(--yellow);
  color: #111827;
  border-color: var(--yellow);
}

:root[data-theme="light"] .results-hero-title,
:root[data-theme="light"] .fv-title,
:root[data-theme="light"] .fv-text {
  color: #111827;
}

:root[data-theme="light"] .new-btn {
  background: #111827;
  border-color: #111827;
  color: var(--yellow);
}

:root[data-theme="light"] .pdf-btn {
  background: #ffffff;
  border-color: #111827;
  color: #111827;
}

:root[data-theme="light"] .btn-ghost,
:root[data-theme="light"] .history-btn,
:root[data-theme="light"] .logout-btn,
:root[data-theme="light"] button.danger {
  background: var(--surface);
}

:root[data-theme="light"] .btn-secondary,
:root[data-theme="light"] .btn-link,
:root[data-theme="light"] .top-actions .btn:not(.primary) {
  background: rgba(23, 29, 42, .055);
  border-color: var(--border);
  color: var(--text);
}

:root[data-theme="light"] .team-tab.ab,
:root[data-theme="light"] .pcard-head.blue,
:root[data-theme="light"] .radar-card-head.blue,
:root[data-theme="light"] .rec-header.blue,
:root[data-theme="light"] .win-card.blue {
  background: rgba(74, 127, 229, .1);
}

:root[data-theme="light"] .team-tab.ar,
:root[data-theme="light"] .pcard-head.red,
:root[data-theme="light"] .radar-card-head.red,
:root[data-theme="light"] .rec-header.red,
:root[data-theme="light"] .win-card.red {
  background: rgba(232, 76, 76, .1);
}

:root[data-theme="light"] .progress-bar-wrap,
:root[data-theme="light"] .chem-bar-wrap {
  background: #e1e6f0;
}

:root[data-theme="light"] .step {
  color: #9aa4b5;
}

:root[data-theme="light"] .step.active {
  color: var(--text);
}

:root[data-theme="light"] .drop-zone:hover,
:root[data-theme="light"] .drop-zone.drag-over,
:root[data-theme="light"] .tone-option input:checked + .tone-card,
:root[data-theme="light"] .location-option input:checked + .location-card,
:root[data-theme="light"] .map-row.active {
  background: rgba(255, 208, 31, .28);
  border-color: var(--yellow);
  box-shadow: 3px 3px 0 #d7deea;
}

:root[data-theme="light"] .tone-option input:checked + .tone-card,
:root[data-theme="light"] .location-option input:checked + .location-card {
  border-color: #b77900;
  box-shadow: 4px 4px 0 rgba(183, 121, 0, .22);
}

:root[data-theme="light"] .tone-option input:checked + .tone-card .tone-name,
:root[data-theme="light"] .location-option input:checked + .location-card .location-name {
  color: #7a4c00;
}

:root[data-theme="light"] .tone-option input:checked + .tone-card .tone-note,
:root[data-theme="light"] .location-option input:checked + .location-card .location-note {
  color: #3f2f10;
}

:root[data-theme="light"] .replay-ts,
:root[data-theme="light"] .replay-frame {
  background: rgba(255, 255, 255, .78);
}

:root[data-theme="light"] .theme-toggle {
  background: var(--surface);
  border-color: var(--border);
  color: var(--yellow);
}

:root[data-theme="light"] .auth-brand {
  border-bottom-color: #d8dde8;
}

:root[data-theme="light"] .brand-name,
:root[data-theme="light"] .card h1 {
  color: #1d2430;
}

:root[data-theme="light"] .brand-kicker,
:root[data-theme="light"] .card .sub,
:root[data-theme="light"] .card .footer,
:root[data-theme="light"] .card .hint {
  color: #687386;
}

:root[data-theme="light"] .card .btn {
  background: #FFD01F;
  border-color: #111827;
  color: #111827;
  box-shadow: 3px 3px 0 #cfd6e4;
}

/* App dashboard, team review, and drawer light-mode tuning */
:root[data-theme="light"] {
  --bg: #eef2f7;
  --surface: #ffffff;
  --surface2: #f6f8fc;
  --surface3: #edf1f7;
  --panel: #ffffff;
  --card: #f8fafd;
  --dark: #eef2f7;
  --border: #cfd7e5;
  --text: #172033;
  --muted: #5d687a;
  --yellow: #c88700;
  --gold: #c88700;
}

:root[data-theme="light"] body {
  background:
    radial-gradient(circle at top left, rgba(200, 135, 0, .10), transparent 34%),
    linear-gradient(180deg, #f7f9fd, #e9eef6 62%, #eef2f7);
}

:root[data-theme="light"] .app-topbar {
  background: rgba(255, 255, 255, .92);
  border-bottom-color: #d7deeb;
}

:root[data-theme="light"] .app-account {
  color: #667287;
}

:root[data-theme="light"] .side-snackbar {
  background: #172033;
  color: #ffd35a;
  border-color: #172033;
  box-shadow: 4px 4px 0 #cfd7e5;
}

:root[data-theme="light"] .side-snackbar-mark span {
  background: #ffd35a;
}

:root[data-theme="light"] .side-backdrop {
  background: rgba(23, 32, 51, .42);
}

:root[data-theme="light"] .side-panel,
:root[data-theme="light"] .mapping-modal {
  background: #ffffff;
  border-color: #cfd7e5;
  box-shadow: 8px 8px 0 rgba(23, 32, 51, .12);
}

:root[data-theme="light"] .side-panel-head,
:root[data-theme="light"] .mapping-modal .panel-header {
  border-color: #dde4ef;
}

:root[data-theme="light"] .side-close,
:root[data-theme="light"] .side-nav-btn {
  background: #f3f6fb;
  border-color: #d3dbea;
  color: #334057;
}

:root[data-theme="light"] .side-nav-btn:hover,
:root[data-theme="light"] .side-nav-btn.active {
  background: rgba(200, 135, 0, .10);
  border-color: var(--yellow);
  color: #8a5c00;
}

:root[data-theme="light"] .side-nav-tag {
  color: #8b96a9;
}

:root[data-theme="light"] .dash-hero,
:root[data-theme="light"] .dash-panel,
:root[data-theme="light"] .season-hero,
:root[data-theme="light"] .season-section,
:root[data-theme="light"] .coach-final {
  background: #ffffff;
  border-color: #cfd7e5;
  box-shadow: 4px 4px 0 #d7deea;
}

:root[data-theme="light"] .dash-hero-main,
:root[data-theme="light"] .dash-panel-head,
:root[data-theme="light"] .season-section-head {
  background: #f8fafc;
  border-color: #d7deeb;
}

:root[data-theme="light"] .dash-title,
:root[data-theme="light"] .history-title,
:root[data-theme="light"] .progress-title,
:root[data-theme="light"] .season-title,
:root[data-theme="light"] .dash-panel-title,
:root[data-theme="light"] .season-section-title,
:root[data-theme="light"] .panel-title,
:root[data-theme="light"] .team-section-title h3 {
  color: #9a6700;
}

:root[data-theme="light"] .dash-subtitle,
:root[data-theme="light"] .dash-card-text,
:root[data-theme="light"] .dash-streak-detail,
:root[data-theme="light"] .season-subtitle,
:root[data-theme="light"] .season-card-text,
:root[data-theme="light"] .season-kv-value,
:root[data-theme="light"] .review-text,
:root[data-theme="light"] .zone-note,
:root[data-theme="light"] .map-help,
:root[data-theme="light"] .tone-note,
:root[data-theme="light"] .location-note {
  color: #5d687a;
}

:root[data-theme="light"] .dash-kpi,
:root[data-theme="light"] .dash-card,
:root[data-theme="light"] .dash-scrim,
:root[data-theme="light"] .dash-streak-card,
:root[data-theme="light"] .dash-highlight,
:root[data-theme="light"] .team-card,
:root[data-theme="light"] .team-player-row,
:root[data-theme="light"] .team-report-card,
:root[data-theme="light"] .timeline-card,
:root[data-theme="light"] .review-card,
:root[data-theme="light"] .season-card,
:root[data-theme="light"] .season-list-item,
:root[data-theme="light"] .trend-box,
:root[data-theme="light"] .viz-panel,
:root[data-theme="light"] .player-radar,
:root[data-theme="light"] .zone-card,
:root[data-theme="light"] .chem-card,
:root[data-theme="light"] .rot-card,
:root[data-theme="light"] .flank-card,
:root[data-theme="light"] .strat-card,
:root[data-theme="light"] .rec-panel {
  background: #f8fafd;
  border-color: #d3dbea;
}

:root[data-theme="light"] .dash-kpi-value,
:root[data-theme="light"] .dash-card-title,
:root[data-theme="light"] .dash-scrim-name,
:root[data-theme="light"] .dash-streak-label,
:root[data-theme="light"] .season-card-title,
:root[data-theme="light"] .review-card-title,
:root[data-theme="light"] .team-report-title,
:root[data-theme="light"] .team-card-name,
:root[data-theme="light"] .zone-name {
  color: #172033;
}

:root[data-theme="light"] .history-pill,
:root[data-theme="light"] .team-pill,
:root[data-theme="light"] .season-badge,
:root[data-theme="light"] .radar-stat-pip,
:root[data-theme="light"] .kpip {
  background: #eef2f8;
  border-color: #d1dae8;
  color: #5d687a;
}

:root[data-theme="light"] .history-pill.done,
:root[data-theme="light"] .team-pill.good,
:root[data-theme="light"] .season-badge.good {
  background: rgba(42, 145, 85, .10);
  border-color: rgba(42, 145, 85, .34);
  color: #167244;
}

:root[data-theme="light"] .history-pill.processing,
:root[data-theme="light"] .team-pill.warn,
:root[data-theme="light"] .season-badge.warn {
  background: rgba(200, 135, 0, .12);
  border-color: rgba(200, 135, 0, .34);
  color: #8a5c00;
}

:root[data-theme="light"] .history-pill.error,
:root[data-theme="light"] .season-badge.bad {
  background: rgba(202, 54, 54, .10);
  border-color: rgba(202, 54, 54, .34);
  color: #a32626;
}

:root[data-theme="light"] .dash-scrim-num,
:root[data-theme="light"] .timeline-order,
:root[data-theme="light"] .slot-chip {
  background: #c88700;
  border-color: #c88700;
  color: #ffffff;
}

:root[data-theme="light"] .team-input,
:root[data-theme="light"] .team-select,
:root[data-theme="light"] .team-textarea,
:root[data-theme="light"] .map-select,
:root[data-theme="light"] .ocr-input,
:root[data-theme="light"] .login-card input,
:root[data-theme="light"] input,
:root[data-theme="light"] textarea,
:root[data-theme="light"] select {
  background: #ffffff;
  border-color: #c9d3e3;
  color: #172033;
}

:root[data-theme="light"] .team-input:focus,
:root[data-theme="light"] .team-select:focus,
:root[data-theme="light"] .team-textarea:focus,
:root[data-theme="light"] .map-select:focus,
:root[data-theme="light"] .ocr-input:focus {
  border-color: var(--yellow);
  box-shadow: 0 0 0 3px rgba(200, 135, 0, .12);
}

:root[data-theme="light"] .team-btn,
:root[data-theme="light"] .history-btn,
:root[data-theme="light"] .rbtn,
:root[data-theme="light"] .dl-btn {
  background: #f5f7fb;
  border-color: #cfd7e5;
  color: #334057;
  box-shadow: 2px 2px 0 #d7deea;
}

:root[data-theme="light"] .team-btn:hover,
:root[data-theme="light"] .history-btn:hover,
:root[data-theme="light"] .rbtn:hover {
  color: #8a5c00;
  border-color: var(--yellow);
}

:root[data-theme="light"] .team-btn.primary,
:root[data-theme="light"] .history-open,
:root[data-theme="light"] .upload-btn,
:root[data-theme="light"] .rbtn.primary {
  background: #c88700;
  border-color: #9a6700;
  color: #ffffff;
  box-shadow: 2px 2px 0 #d7deea;
}

:root[data-theme="light"] .team-btn.danger,
:root[data-theme="light"] .logout-btn,
:root[data-theme="light"] button.danger {
  background: rgba(202, 54, 54, .08);
  border-color: rgba(202, 54, 54, .34);
  color: #a32626;
}

:root[data-theme="light"] .season-note,
:root[data-theme="light"] .verdict-highlight,
:root[data-theme="light"] .coaching,
:root[data-theme="light"] .dash-highlight {
  background: rgba(200, 135, 0, .08);
  border-left-color: #c88700;
  color: #6f510d;
}

:root[data-theme="light"] .line-chart,
:root[data-theme="light"] .viz-meter,
:root[data-theme="light"] .viz-track,
:root[data-theme="light"] .dash-form-track,
:root[data-theme="light"] .donut-chart::after,
:root[data-theme="light"] .replay-canvas-wrap {
  background: #eef2f8;
  border-color: #cfd7e5;
}

:root[data-theme="light"] .line-grid,
:root[data-theme="light"] .radar-grid,
:root[data-theme="light"] .radar-axis {
  stroke: #cfd7e5;
}

:root[data-theme="light"] .line-axis-label,
:root[data-theme="light"] .radar-label,
:root[data-theme="light"] .viz-title,
:root[data-theme="light"] .season-kv-key,
:root[data-theme="light"] .dash-kpi-label,
:root[data-theme="light"] .dash-eyebrow,
:root[data-theme="light"] .side-label,
:root[data-theme="light"] .donut-name,
:root[data-theme="light"] .donut-label,
:root[data-theme="light"] .radar-metric-name,
:root[data-theme="light"] .form-bar-label {
  color: #667287;
  fill: #667287;
}

:root[data-theme="light"] .radar-point,
:root[data-theme="light"] .line-dot {
  stroke: #ffffff;
}

:root[data-theme="light"] .radar-score-value,
:root[data-theme="light"] .form-score,
:root[data-theme="light"] .dash-streak-value,
:root[data-theme="light"] .donut-total,
:root[data-theme="light"] .season-kpi-value {
  color: #9a6700;
}

:root[data-theme="light"] .coach-final {
  border-color: #c88700;
}

:root[data-theme="light"] .coach-final .season-section-head {
  background: #c88700;
  border-color: #9a6700;
}

:root[data-theme="light"] .coach-final .season-section-title {
  color: #ffffff;
}

:root[data-theme="light"] .replay-ts,
:root[data-theme="light"] .replay-frame,
:root[data-theme="light"] .hm-lbl {
  background: rgba(255, 255, 255, .86);
}

/* Final light-mode normalization: switch only neutral darks, preserve accent colors. */
:root[data-theme="light"] {
  --yellow: #FFD01F;
  --gold: #FFD01F;
  --blue: #4A7FE5;
  --red: #E84C4C;
  --green: #3CB96A;
  --purple: #9B5FD6;
  --amber: #E8A020;
  --bg: #f3f6fb;
  --dark: #f3f6fb;
  --surface: #ffffff;
  --surface2: #f7f9fd;
  --surface3: #edf2f8;
  --panel: #ffffff;
  --card: #f8fafc;
  --border: #ccd6e5;
  --text: #172033;
  --muted: #5f6d82;
  --soft: #748095;
  --line: rgba(23, 32, 51, .13);
  --line2: rgba(23, 32, 51, .22);
  --shadow-light: #d7deea;
  --accent-ink: #8f6400;
}

:root[data-theme="light"] body {
  background:
    radial-gradient(circle at 0 0, rgba(255, 208, 31, .12), transparent 28%),
    linear-gradient(180deg, #fbfcff 0%, #eef3fa 70%, #f3f6fb 100%);
  color: var(--text);
}

:root[data-theme="light"] .app-topbar,
:root[data-theme="light"] .nav,
:root[data-theme="light"] .top {
  background: rgba(255, 255, 255, .94);
  border-color: var(--border);
  box-shadow: 0 10px 34px rgba(23, 32, 51, .10);
}

:root[data-theme="light"] .side-panel,
:root[data-theme="light"] .mapping-modal,
:root[data-theme="light"] .dash-hero,
:root[data-theme="light"] .dash-panel,
:root[data-theme="light"] .season-hero,
:root[data-theme="light"] .season-section,
:root[data-theme="light"] .coach-final,
:root[data-theme="light"] .panel,
:root[data-theme="light"] .history-card,
:root[data-theme="light"] .progress-box,
:root[data-theme="light"] .pcard,
:root[data-theme="light"] .radar-card,
:root[data-theme="light"] .coach-word,
:root[data-theme="light"] .login-card,
:root[data-theme="light"] .card {
  background: var(--surface);
  border-color: var(--border);
  color: var(--text);
  box-shadow: 4px 4px 0 var(--shadow-light);
}

:root[data-theme="light"] .side-panel-head,
:root[data-theme="light"] .dash-hero-main,
:root[data-theme="light"] .dash-panel-head,
:root[data-theme="light"] .season-section-head,
:root[data-theme="light"] .panel-header,
:root[data-theme="light"] .cw-header,
:root[data-theme="light"] .nav-bar {
  background: #f8fafc;
  border-color: var(--border);
}

:root[data-theme="light"] .dash-kpi,
:root[data-theme="light"] .dash-card,
:root[data-theme="light"] .dash-scrim,
:root[data-theme="light"] .dash-streak-card,
:root[data-theme="light"] .dash-highlight,
:root[data-theme="light"] .team-card,
:root[data-theme="light"] .team-player-row,
:root[data-theme="light"] .team-report-card,
:root[data-theme="light"] .timeline-card,
:root[data-theme="light"] .review-card,
:root[data-theme="light"] .season-card,
:root[data-theme="light"] .season-list-item,
:root[data-theme="light"] .trend-box,
:root[data-theme="light"] .viz-panel,
:root[data-theme="light"] .player-radar,
:root[data-theme="light"] .drop-zone,
:root[data-theme="light"] .location-picker,
:root[data-theme="light"] .tone-card,
:root[data-theme="light"] .ocr-player,
:root[data-theme="light"] .location-card,
:root[data-theme="light"] .zone-card,
:root[data-theme="light"] .chem-card,
:root[data-theme="light"] .rot-card,
:root[data-theme="light"] .flank-card,
:root[data-theme="light"] .strat-card,
:root[data-theme="light"] .rec-panel,
:root[data-theme="light"] .history-empty {
  background: var(--card);
  border-color: var(--border);
  color: var(--text);
}

:root[data-theme="light"] .dash-title,
:root[data-theme="light"] .history-title,
:root[data-theme="light"] .brand,
:root[data-theme="light"] .location-title,
:root[data-theme="light"] .progress-title,
:root[data-theme="light"] .panel-title,
:root[data-theme="light"] .dash-panel-title,
:root[data-theme="light"] .season-title,
:root[data-theme="light"] .season-section-title,
:root[data-theme="light"] .team-section-title h3,
:root[data-theme="light"] .cw-title,
:root[data-theme="light"] .side-panel-title {
  color: var(--accent-ink);
}

:root[data-theme="light"] .brand span,
:root[data-theme="light"] .drop-title,
:root[data-theme="light"] .tone-name,
:root[data-theme="light"] .location-name,
:root[data-theme="light"] .history-name,
:root[data-theme="light"] .dash-kpi-value,
:root[data-theme="light"] .dash-card-title,
:root[data-theme="light"] .dash-scrim-name,
:root[data-theme="light"] .season-card-title,
:root[data-theme="light"] .review-card-title,
:root[data-theme="light"] .team-card-name,
:root[data-theme="light"] .team-report-title,
:root[data-theme="light"] .zone-name,
:root[data-theme="light"] .death-player,
:root[data-theme="light"] .rec-title,
:root[data-theme="light"] .map-row b,
:root[data-theme="light"] .app-user {
  color: var(--text);
}

:root[data-theme="light"] .brand-sub,
:root[data-theme="light"] .dash-subtitle,
:root[data-theme="light"] .dash-card-text,
:root[data-theme="light"] .dash-streak-detail,
:root[data-theme="light"] .season-subtitle,
:root[data-theme="light"] .season-card-text,
:root[data-theme="light"] .season-kv-value,
:root[data-theme="light"] .review-text,
:root[data-theme="light"] .zone-note,
:root[data-theme="light"] .map-help,
:root[data-theme="light"] .tone-note,
:root[data-theme="light"] .location-note,
:root[data-theme="light"] .verdict-summary,
:root[data-theme="light"] .prow-txt,
:root[data-theme="light"] .rot-ev,
:root[data-theme="light"] .flank-item,
:root[data-theme="light"] .strat-text,
:root[data-theme="light"] .rec-detail,
:root[data-theme="light"] .win-card-text,
:root[data-theme="light"] .cw-text,
:root[data-theme="light"] .chem-txt,
:root[data-theme="light"] .death-reason,
:root[data-theme="light"] .map-row span {
  color: var(--muted);
}

:root[data-theme="light"] .history-pill,
:root[data-theme="light"] .team-pill,
:root[data-theme="light"] .season-badge,
:root[data-theme="light"] .radar-stat-pip,
:root[data-theme="light"] .kpip,
:root[data-theme="light"] .score,
:root[data-theme="light"] .replay-mini-stats span {
  background: var(--surface3);
  border-color: var(--border);
  color: var(--muted);
}

:root[data-theme="light"] input,
:root[data-theme="light"] textarea,
:root[data-theme="light"] select,
:root[data-theme="light"] .team-input,
:root[data-theme="light"] .team-select,
:root[data-theme="light"] .team-textarea,
:root[data-theme="light"] .map-select,
:root[data-theme="light"] .ocr-input {
  background: #ffffff;
  border-color: #c5d0e1;
  color: var(--text);
}

:root[data-theme="light"] input:focus,
:root[data-theme="light"] textarea:focus,
:root[data-theme="light"] select:focus,
:root[data-theme="light"] .team-input:focus,
:root[data-theme="light"] .team-select:focus,
:root[data-theme="light"] .team-textarea:focus,
:root[data-theme="light"] .map-select:focus,
:root[data-theme="light"] .ocr-input:focus {
  border-color: var(--yellow);
  box-shadow: 0 0 0 3px rgba(255, 208, 31, .22);
}

:root[data-theme="light"] .team-btn,
:root[data-theme="light"] .history-btn,
:root[data-theme="light"] .rbtn,
:root[data-theme="light"] .dl-btn,
:root[data-theme="light"] .side-close,
:root[data-theme="light"] .side-nav-btn,
:root[data-theme="light"] .btn-secondary,
:root[data-theme="light"] .btn-link,
:root[data-theme="light"] .top-actions .btn:not(.primary) {
  background: var(--surface2);
  border-color: var(--border);
  color: #334057;
  box-shadow: 2px 2px 0 var(--shadow-light);
}

:root[data-theme="light"] .team-btn:hover,
:root[data-theme="light"] .history-btn:hover,
:root[data-theme="light"] .rbtn:hover,
:root[data-theme="light"] .side-nav-btn:hover,
:root[data-theme="light"] .side-nav-btn.active {
  border-color: var(--yellow);
  color: var(--accent-ink);
  background: rgba(255, 208, 31, .18);
}

:root[data-theme="light"] .team-btn.primary,
:root[data-theme="light"] .history-open,
:root[data-theme="light"] .upload-btn,
:root[data-theme="light"] .rbtn.primary,
:root[data-theme="light"] .results-hero,
:root[data-theme="light"] .final-verdict-box,
:root[data-theme="light"] .kpip.kactive,
:root[data-theme="light"] button.primary,
:root[data-theme="light"] .btn.primary,
:root[data-theme="light"] .btn-primary,
:root[data-theme="light"] .btn-yellow {
  background: var(--yellow);
  border-color: #1f2937;
  color: #111827;
  box-shadow: 2px 2px 0 var(--shadow-light);
}

:root[data-theme="light"] .team-btn.danger,
:root[data-theme="light"] .logout-btn,
:root[data-theme="light"] button.danger {
  background: rgba(232, 76, 76, .10);
  border-color: rgba(232, 76, 76, .42);
  color: #a32626;
}

:root[data-theme="light"] .side-snackbar {
  background: #111827;
  border-color: #111827;
  color: var(--yellow);
  box-shadow: 4px 4px 0 var(--shadow-light);
}

:root[data-theme="light"] .side-snackbar-mark span {
  background: var(--yellow);
}

:root[data-theme="light"] .side-backdrop {
  background: rgba(17, 24, 39, .42);
}

:root[data-theme="light"] .dash-scrim-num,
:root[data-theme="light"] .timeline-order,
:root[data-theme="light"] .slot-chip {
  background: var(--yellow);
  border-color: var(--yellow);
  color: #111827;
}

:root[data-theme="light"] .season-note,
:root[data-theme="light"] .verdict-highlight,
:root[data-theme="light"] .coaching,
:root[data-theme="light"] .dash-highlight {
  background: rgba(255, 208, 31, .16);
  border-left-color: var(--yellow);
  color: #5f4700;
}

:root[data-theme="light"] .line-chart,
:root[data-theme="light"] .viz-meter,
:root[data-theme="light"] .viz-track,
:root[data-theme="light"] .dash-form-track,
:root[data-theme="light"] .donut-chart::after,
:root[data-theme="light"] .match-node,
:root[data-theme="light"] .replay-canvas-wrap {
  background: var(--surface3);
  border-color: var(--border);
  color: var(--text);
}

:root[data-theme="light"] .line-grid,
:root[data-theme="light"] .radar-grid,
:root[data-theme="light"] .radar-axis {
  stroke: #c7d1e2;
}

:root[data-theme="light"] .line-axis-label,
:root[data-theme="light"] .radar-label {
  fill: var(--muted);
}

:root[data-theme="light"] .viz-title,
:root[data-theme="light"] .season-kv-key,
:root[data-theme="light"] .dash-kpi-label,
:root[data-theme="light"] .dash-eyebrow,
:root[data-theme="light"] .side-label,
:root[data-theme="light"] .donut-name,
:root[data-theme="light"] .donut-label,
:root[data-theme="light"] .radar-metric-name,
:root[data-theme="light"] .radar-score-label,
:root[data-theme="light"] .form-bar-label {
  color: var(--muted);
}

:root[data-theme="light"] .radar-point,
:root[data-theme="light"] .line-dot {
  stroke: #ffffff;
}

:root[data-theme="light"] .radar-score-value,
:root[data-theme="light"] .form-score,
:root[data-theme="light"] .dash-streak-value,
:root[data-theme="light"] .donut-total,
:root[data-theme="light"] .season-kpi-value {
  color: var(--accent-ink);
}

:root[data-theme="light"] .coach-final {
  border-color: var(--yellow);
}

:root[data-theme="light"] .coach-final .season-section-head {
  background: var(--yellow);
  border-color: #1f2937;
}

:root[data-theme="light"] .coach-final .season-section-title,
:root[data-theme="light"] .results-hero-title,
:root[data-theme="light"] .fv-title,
:root[data-theme="light"] .fv-text {
  color: #111827;
}

:root[data-theme="light"] .panel:hover,
:root[data-theme="light"] .pcard:hover,
:root[data-theme="light"] .chem-card:hover,
:root[data-theme="light"] .rot-card:hover,
:root[data-theme="light"] .flank-card:hover,
:root[data-theme="light"] .strat-card:hover,
:root[data-theme="light"] .rec-panel:hover,
:root[data-theme="light"] .win-card:hover,
:root[data-theme="light"] .radar-card:hover,
:root[data-theme="light"] .zone-card:hover,
:root[data-theme="light"] .dash-panel:hover,
:root[data-theme="light"] .dash-card:hover {
  border-color: #b8c4d6;
  box-shadow: 5px 5px 0 var(--shadow-light);
}

/* Senior override pass: hard-coded dark dashboard neutrals must become light neutrals. */
html[data-theme="light"] body .dash-hero,
html[data-theme="light"] body .dash-panel,
html[data-theme="light"] body .panel,
html[data-theme="light"] body .season-section,
html[data-theme="light"] body .season-hero,
html[data-theme="light"] body .coach-final,
html[data-theme="light"] body .history-card,
html[data-theme="light"] body .progress-box,
html[data-theme="light"] body .mapping-modal {
  background: #ffffff !important;
  border-color: #cbd5e1 !important;
  color: #111827 !important;
  box-shadow: 4px 4px 0 #d8dee8 !important;
}

html[data-theme="light"] body .dash-hero-main,
html[data-theme="light"] body .dash-panel-head,
html[data-theme="light"] body .panel-header,
html[data-theme="light"] body .season-section-head,
html[data-theme="light"] body .cw-header,
html[data-theme="light"] body .nav-bar {
  background: #f8fafc !important;
  border-color: #cbd5e1 !important;
  color: #111827 !important;
}

html[data-theme="light"] body .dash-kpi,
html[data-theme="light"] body .dash-card,
html[data-theme="light"] body .dash-scrim,
html[data-theme="light"] body .dash-streak-card,
html[data-theme="light"] body .team-card,
html[data-theme="light"] body .team-player-row,
html[data-theme="light"] body .team-report-card,
html[data-theme="light"] body .team-setup-item,
html[data-theme="light"] body .mapping-summary,
html[data-theme="light"] body .mapping-hint-card,
html[data-theme="light"] body .timeline-card,
html[data-theme="light"] body .review-card,
html[data-theme="light"] body .season-card,
html[data-theme="light"] body .trend-box,
html[data-theme="light"] body .viz-panel,
html[data-theme="light"] body .player-radar,
html[data-theme="light"] body .zone-card,
html[data-theme="light"] body .chem-card,
html[data-theme="light"] body .rot-card,
html[data-theme="light"] body .flank-card,
html[data-theme="light"] body .strat-card,
html[data-theme="light"] body .rec-panel,
html[data-theme="light"] body .history-empty,
html[data-theme="light"] body .drop-zone,
html[data-theme="light"] body .location-picker,
html[data-theme="light"] body .tone-card,
html[data-theme="light"] body .ocr-player,
html[data-theme="light"] body .location-card {
  background: #f8fafc !important;
  border-color: #cbd5e1 !important;
  color: #111827 !important;
}

html[data-theme="light"] body .dash-highlight,
html[data-theme="light"] body .season-note,
html[data-theme="light"] body .verdict-highlight,
html[data-theme="light"] body .coaching {
  background: #fff7d6 !important;
  border-left-color: #FFD01F !important;
  color: #5f4700 !important;
}

html[data-theme="light"] body .dash-title,
html[data-theme="light"] body .dash-panel-title,
html[data-theme="light"] body .history-title,
html[data-theme="light"] body .panel-title,
html[data-theme="light"] body .season-title,
html[data-theme="light"] body .season-section-title,
html[data-theme="light"] body .brand,
html[data-theme="light"] body .location-title,
html[data-theme="light"] body .team-section-title h3,
html[data-theme="light"] body .cw-title {
  color: #8a5c00 !important;
}

html[data-theme="light"] body .dash-subtitle,
html[data-theme="light"] body .brand-sub,
html[data-theme="light"] body .dash-card-text,
html[data-theme="light"] body .dash-streak-detail,
html[data-theme="light"] body .season-card-text,
html[data-theme="light"] body .season-subtitle,
html[data-theme="light"] body .season-kv-value,
html[data-theme="light"] body .review-text,
html[data-theme="light"] body .team-setup-copy,
html[data-theme="light"] body .team-generate-note,
html[data-theme="light"] body .mapping-hint-meta,
html[data-theme="light"] body .zone-note,
html[data-theme="light"] body .map-help,
html[data-theme="light"] body .tone-note,
html[data-theme="light"] body .location-note,
html[data-theme="light"] body .verdict-summary,
html[data-theme="light"] body .prow-txt,
html[data-theme="light"] body .rot-ev,
html[data-theme="light"] body .flank-item,
html[data-theme="light"] body .strat-text,
html[data-theme="light"] body .rec-detail,
html[data-theme="light"] body .win-card-text,
html[data-theme="light"] body .cw-text,
html[data-theme="light"] body .chem-txt,
html[data-theme="light"] body .death-reason {
  color: #4b5563 !important;
}

html[data-theme="light"] body .dash-kpi-value,
html[data-theme="light"] body .dash-card-title,
html[data-theme="light"] body .dash-scrim-name,
html[data-theme="light"] body .dash-streak-label,
html[data-theme="light"] body .history-name,
html[data-theme="light"] body .team-card-name,
html[data-theme="light"] body .team-report-title,
html[data-theme="light"] body .team-setup-title,
html[data-theme="light"] body .mapping-progress,
html[data-theme="light"] body .mapping-hint-name,
html[data-theme="light"] body .season-card-title,
html[data-theme="light"] body .review-card-title,
html[data-theme="light"] body .zone-name,
html[data-theme="light"] body .drop-title,
html[data-theme="light"] body .tone-name,
html[data-theme="light"] body .location-name,
html[data-theme="light"] body .brand span,
html[data-theme="light"] body .app-brand span,
html[data-theme="light"] body .top .brand span {
  color: #111827 !important;
}

html[data-theme="light"] body .dash-eyebrow,
html[data-theme="light"] body .dash-kpi-label,
html[data-theme="light"] body .dash-form-label,
html[data-theme="light"] body .dash-form-value,
html[data-theme="light"] body .season-kv-key,
html[data-theme="light"] body .viz-title,
html[data-theme="light"] body .side-label,
html[data-theme="light"] body .donut-name,
html[data-theme="light"] body .donut-count,
html[data-theme="light"] body .donut-label,
html[data-theme="light"] body .radar-metric-name,
html[data-theme="light"] body .radar-metric-value,
html[data-theme="light"] body .radar-score-label,
html[data-theme="light"] body .line-legend-item {
  color: #64748b !important;
}

html[data-theme="light"] body .history-pill,
html[data-theme="light"] body .team-pill,
html[data-theme="light"] body .team-save-status,
html[data-theme="light"] body .season-badge,
html[data-theme="light"] body .radar-stat-pip,
html[data-theme="light"] body .kpip {
  background: #eef2f7 !important;
  border-color: #cbd5e1 !important;
  color: #475569 !important;
}

html[data-theme="light"] body .team-save-status.saving {
  background: rgba(255, 208, 31, .16) !important;
  border-color: rgba(138, 92, 0, .34) !important;
  color: #8a5c00 !important;
}

html[data-theme="light"] body .team-save-status.saved {
  background: rgba(60, 185, 106, .14) !important;
  border-color: rgba(60, 185, 106, .42) !important;
  color: #167244 !important;
}

html[data-theme="light"] body .team-save-status.error,
html[data-theme="light"] body .mapping-warning.visible,
html[data-theme="light"] body .mapping-hint-card.duplicate {
  background: rgba(232, 76, 76, .12) !important;
  border-color: rgba(232, 76, 76, .42) !important;
  color: #a32626 !important;
}

html[data-theme="light"] body .mapping-hint-card.not-present {
  background: rgba(232, 160, 32, .14) !important;
  border-color: rgba(232, 160, 32, .42) !important;
}

html[data-theme="light"] body .history-pill.done,
html[data-theme="light"] body .team-pill.good,
html[data-theme="light"] body .season-badge.good {
  background: rgba(60, 185, 106, .14) !important;
  border-color: rgba(60, 185, 106, .42) !important;
  color: #167244 !important;
}

html[data-theme="light"] body .history-pill.processing,
html[data-theme="light"] body .team-pill.warn,
html[data-theme="light"] body .season-badge.warn {
  background: rgba(232, 160, 32, .16) !important;
  border-color: rgba(232, 160, 32, .44) !important;
  color: #8a5c00 !important;
}

html[data-theme="light"] body .history-pill.error,
html[data-theme="light"] body .season-badge.bad {
  background: rgba(232, 76, 76, .13) !important;
  border-color: rgba(232, 76, 76, .44) !important;
  color: #a32626 !important;
}

html[data-theme="light"] body input,
html[data-theme="light"] body textarea,
html[data-theme="light"] body select,
html[data-theme="light"] body .team-input,
html[data-theme="light"] body .team-select,
html[data-theme="light"] body .team-textarea,
html[data-theme="light"] body .map-select,
html[data-theme="light"] body .coach-select,
html[data-theme="light"] body .coach-input,
html[data-theme="light"] body .ocr-input {
  background: #ffffff !important;
  border-color: #cbd5e1 !important;
  color: #111827 !important;
}

html[data-theme="light"] body .team-btn,
html[data-theme="light"] body .team-view-tab,
html[data-theme="light"] body .history-btn,
html[data-theme="light"] body .rbtn,
html[data-theme="light"] body .dl-btn,
html[data-theme="light"] body .side-close,
html[data-theme="light"] body .side-nav-btn {
  background: #ffffff !important;
  border-color: #cbd5e1 !important;
  color: #111827 !important;
  box-shadow: 2px 2px 0 #d8dee8 !important;
}

html[data-theme="light"] body .team-btn.primary,
html[data-theme="light"] body .team-view-tab.active,
html[data-theme="light"] body .history-open,
html[data-theme="light"] body .upload-btn,
html[data-theme="light"] body .rbtn.primary {
  background: #FFD01F !important;
  border-color: #111827 !important;
  color: #111827 !important;
}

html[data-theme="light"] body .team-btn.danger,
html[data-theme="light"] body .logout-btn,
html[data-theme="light"] body button.danger {
  background: rgba(232, 76, 76, .10) !important;
  border-color: rgba(232, 76, 76, .42) !important;
  color: #a32626 !important;
}

html[data-theme="light"] body .coach-panel {
  background: #ffffff !important;
  border-color: #cbd5e1 !important;
  box-shadow: 4px 4px 0 #d8dee8 !important;
}

html[data-theme="light"] body .coach-board-panel {
  border-width: 0 !important;
  box-shadow: none !important;
}

html[data-theme="light"] body .coach-panel-head {
  background: #f8fafc !important;
  border-color: #cbd5e1 !important;
}

html[data-theme="light"] body .coach-panel-title {
  color: #9a6800 !important;
}

html[data-theme="light"] body .coach-tool,
html[data-theme="light"] body .coach-stage-btn,
html[data-theme="light"] body .coach-hill-btn,
html[data-theme="light"] body .coach-saved-card,
html[data-theme="light"] body .coach-empty,
html[data-theme="light"] body .coach-hint {
  background: #ffffff !important;
  border-color: #cbd5e1 !important;
  color: #334155 !important;
}

html[data-theme="light"] body .coach-stage-delete {
  background: rgba(232, 76, 76, .10) !important;
  border-color: rgba(232, 76, 76, .42) !important;
  color: #a32626 !important;
}

html[data-theme="light"] body .coach-mode-shell .map-dropdown-btn {
  background: #ffffff !important;
  border-color: #d8a900 !important;
  box-shadow: 0 0 0 1px rgba(216, 169, 0, .10), 2px 2px 0 #d8dee8 !important;
}

html[data-theme="light"] body .coach-board-toolbar {
  background: rgba(248, 250, 252, .94) !important;
  border-color: #cbd5e1 !important;
}

html[data-theme="light"] body .coach-zoom-controls {
  background: rgba(226, 232, 240, .62) !important;
  border-color: #cbd5e1 !important;
}

html[data-theme="light"] body .coach-zoom-btn {
  background: #ffffff !important;
  border-color: #cbd5e1 !important;
  color: #334155 !important;
}

html[data-theme="light"] body .coach-zoom-readout {
  color: #475569 !important;
}

html[data-theme="light"] body .coach-board-meta {
  background: rgba(255, 255, 255, .88) !important;
  border-color: #cbd5e1 !important;
  color: #334155 !important;
}

html[data-theme="light"] body .coach-close-panel {
  background: #ffffff !important;
  border-color: #cbd5e1 !important;
  color: #334155 !important;
}

html[data-theme="light"] body .coach-tool:hover,
html[data-theme="light"] body .coach-tool.active,
html[data-theme="light"] body .coach-stage-btn:hover,
html[data-theme="light"] body .coach-stage-btn.active,
html[data-theme="light"] body .coach-hill-btn:hover {
  background: #fff8d6 !important;
  border-color: #d8a900 !important;
  color: #7a5300 !important;
}

html[data-theme="light"] body .coach-saved-title {
  color: #111827 !important;
}

html[data-theme="light"] body .coach-canvas-shell {
  background: #eef3f8 !important;
  border-color: #cbd5e1 !important;
}

html[data-theme="light"] body .coach-status {
  color: #64748b !important;
}

html[data-theme="light"] body .dash-scrim-num,
html[data-theme="light"] body .timeline-order,
html[data-theme="light"] body .slot-chip {
  background: #FFD01F !important;
  border-color: #111827 !important;
  color: #111827 !important;
}

html[data-theme="light"] body .line-chart,
html[data-theme="light"] body .viz-meter,
html[data-theme="light"] body .viz-track,
html[data-theme="light"] body .dash-form-track,
html[data-theme="light"] body .donut-chart::after,
html[data-theme="light"] body .match-node,
html[data-theme="light"] body .replay-canvas-wrap {
  background: #eef2f7 !important;
  border-color: #cbd5e1 !important;
}

html[data-theme="light"] body .line-grid,
html[data-theme="light"] body .radar-grid,
html[data-theme="light"] body .radar-axis {
  stroke: #cbd5e1 !important;
}

html[data-theme="light"] body .trend-card,
html[data-theme="light"] body .match-node-index {
  background: #ffffff !important;
  border-color: #cbd5e1 !important;
}

html[data-theme="light"] body .match-node-title {
  color: #111827 !important;
}

html[data-theme="light"] body .match-mini-pill {
  background: #ffffff !important;
  border-color: #cbd5e1 !important;
  color: #64748b !important;
}

html[data-theme="light"] body .viz-count {
  color: #64748b !important;
}

html[data-theme="light"] body .map-record-bar {
  background: #e8edf5 !important;
  border-color: #cbd5e1 !important;
}

html[data-theme="light"] body .map-record-fact {
  border-color: #cbd5e1 !important;
}

html[data-theme="light"] body .map-record-fact-label {
  color: #64748b !important;
}

html[data-theme="light"] body .map-record-fact-value {
  color: #111827 !important;
}

html[data-theme="light"] body .map-analysis-card {
  background: #ffffff !important;
  border-color: #cbd5e1 !important;
}

html[data-theme="light"] body .map-analysis-name,
html[data-theme="light"] body .map-analysis-pattern,
html[data-theme="light"] body .map-analysis-copy,
html[data-theme="light"] body .map-analysis-rate-value {
  color: #111827 !important;
}

html[data-theme="light"] body .map-analysis-rate-value {
  color: #8a5c00 !important;
}

html[data-theme="light"] body .map-analysis-rate-label,
html[data-theme="light"] body .map-analysis-label {
  color: #64748b !important;
}

html[data-theme="light"] body .map-analysis-meter {
  background: #e8edf5 !important;
  border-color: #cbd5e1 !important;
}

html[data-theme="light"] body .map-analysis-pattern,
html[data-theme="light"] body .map-analysis-details,
html[data-theme="light"] body .map-analysis-detail {
  border-color: #cbd5e1 !important;
}

html[data-theme="light"] body .map-analysis-plan {
  background: #fff7d6 !important;
  border-color: rgba(200, 135, 0, .32) !important;
  border-left-color: #c88700 !important;
  color: #5f4700 !important;
}

html[data-theme="light"] body .mode-analysis-card,
html[data-theme="light"] body .mode-analysis-identity {
  background: #ffffff !important;
  border-color: #cbd5e1 !important;
}

html[data-theme="light"] body .mode-analysis-name,
html[data-theme="light"] body .mode-analysis-identity,
html[data-theme="light"] body .mode-analysis-copy {
  color: #111827 !important;
}

html[data-theme="light"] body .mode-analysis-rate-value {
  color: #8a5c00 !important;
}

html[data-theme="light"] body .mode-analysis-rate-label,
html[data-theme="light"] body .mode-analysis-label {
  color: #64748b !important;
}

html[data-theme="light"] body .mode-analysis-meter {
  background: #e8edf5 !important;
  border-color: #cbd5e1 !important;
}

html[data-theme="light"] body .mode-analysis-details,
html[data-theme="light"] body .mode-analysis-detail {
  border-color: #cbd5e1 !important;
}

html[data-theme="light"] body .mode-analysis-plan {
  background: #fff7d6 !important;
  border-color: rgba(200, 135, 0, .32) !important;
  border-left-color: #c88700 !important;
  color: #5f4700 !important;
}

html[data-theme="light"] body .chemistry-score-card {
  background: #fffbea !important;
  border-color: rgba(200, 135, 0, .34) !important;
  border-left-color: #c88700 !important;
}

html[data-theme="light"] body .chemistry-score-value {
  color: #8a5c00 !important;
}

html[data-theme="light"] body .chemistry-score-sub,
html[data-theme="light"] body .chemistry-read-copy,
html[data-theme="light"] body .chemistry-insight-copy {
  color: #334155 !important;
}

html[data-theme="light"] body .chemistry-score-label,
html[data-theme="light"] body .chemistry-eyebrow,
html[data-theme="light"] body .chemistry-insight-label {
  color: #64748b !important;
}

html[data-theme="light"] body .chemistry-read-card,
html[data-theme="light"] body .chemistry-insight,
html[data-theme="light"] body .chemistry-icon {
  background: #ffffff !important;
  border-color: #cbd5e1 !important;
}

html[data-theme="light"] body .chemistry-read-title,
html[data-theme="light"] body .chemistry-insight-title {
  color: #111827 !important;
}

html[data-theme="light"] body .chemistry-insight.good .chemistry-icon {
  background: #dcfce7 !important;
  border-color: rgba(22, 101, 52, .32) !important;
  color: #166534 !important;
}

html[data-theme="light"] body .chemistry-insight.danger .chemistry-icon {
  background: #fee2e2 !important;
  border-color: rgba(185, 28, 28, .32) !important;
  color: #b91c1c !important;
}

html[data-theme="light"] body .weakness-priority,
html[data-theme="light"] body .weakness-read {
  background: #ffffff !important;
  border-color: #cbd5e1 !important;
}

html[data-theme="light"] body .weakness-rank {
  background: #ffffff !important;
}

html[data-theme="light"] body .weakness-top {
  border-color: #cbd5e1 !important;
}

html[data-theme="light"] body .weakness-title,
html[data-theme="light"] body .weakness-copy {
  color: #111827 !important;
}

html[data-theme="light"] body .weakness-severity,
html[data-theme="light"] body .weakness-label {
  color: #64748b !important;
}

html[data-theme="light"] body .weakness-fix {
  background: #fff7d6 !important;
  border-color: rgba(200, 135, 0, .32) !important;
  border-left-color: #c88700 !important;
  color: #5f4700 !important;
}

html[data-theme="light"] body .weakness-fix-label {
  color: #8a5c00 !important;
}

html[data-theme="light"] body .strength-card,
html[data-theme="light"] body .strength-read {
  background: #ffffff !important;
  border-color: #cbd5e1 !important;
}

html[data-theme="light"] body .strength-head {
  border-color: #cbd5e1 !important;
}

html[data-theme="light"] body .strength-rank {
  background: #ffffff !important;
}

html[data-theme="light"] body .strength-title,
html[data-theme="light"] body .strength-copy {
  color: #111827 !important;
}

html[data-theme="light"] body .strength-label {
  color: #64748b !important;
}

html[data-theme="light"] body .strength-build {
  background: rgba(60, 185, 106, .12) !important;
  border-color: rgba(60, 185, 106, .34) !important;
  border-left-color: #3CB96A !important;
  color: #166534 !important;
}

html[data-theme="light"] body .strength-build-label {
  color: #166534 !important;
}

html[data-theme="light"] body .ranking-card {
  background: #ffffff !important;
  border-color: #cbd5e1 !important;
}

html[data-theme="light"] body .ranking-head {
  border-color: #cbd5e1 !important;
}

html[data-theme="light"] body .ranking-name {
  color: #111827 !important;
}

html[data-theme="light"] body .ranking-label,
html[data-theme="light"] body .ranking-note {
  color: #64748b !important;
}

html[data-theme="light"] body .timeline-summary-head {
  border-color: #cbd5e1 !important;
}

html[data-theme="light"] body .timeline-summary-title {
  color: #8a5c00 !important;
}

html[data-theme="light"] body .timeline-summary-meta,
html[data-theme="light"] body .timeline-summary-label {
  color: #64748b !important;
}

html[data-theme="light"] body .timeline-summary-card {
  background: #f8fafc !important;
  border-color: #cbd5e1 !important;
}

html[data-theme="light"] body .timeline-summary-copy {
  color: #111827 !important;
}

html[data-theme="light"] body .match-timeline-head {
  border-color: #cbd5e1 !important;
}

html[data-theme="light"] body .match-timeline-title {
  color: #8a5c00 !important;
}

html[data-theme="light"] body .match-timeline-meta,
html[data-theme="light"] body .match-timeline-sub,
html[data-theme="light"] body .match-timeline-label {
  color: #64748b !important;
}

html[data-theme="light"] body .match-timeline-list::before {
  background: #cbd5e1 !important;
}

html[data-theme="light"] body .match-timeline-index {
  background: #ffffff !important;
  border-color: #d8a900 !important;
  color: #8a5c00 !important;
}

html[data-theme="light"] body .match-timeline-card,
html[data-theme="light"] body .match-timeline-note {
  background: #ffffff !important;
  border-color: #cbd5e1 !important;
}

html[data-theme="light"] body .match-timeline-card {
  box-shadow: 0 1px 0 rgba(15, 23, 42, .04) !important;
}

html[data-theme="light"] body .match-timeline-map,
html[data-theme="light"] body .match-timeline-copy {
  color: #111827 !important;
}

html[data-theme="light"] body .match-player-map-row {
  background: #f8fafc !important;
  border-color: #d8e0ea !important;
}

html[data-theme="light"] body .match-player-map-name {
  color: #111827 !important;
}

html[data-theme="light"] body .match-player-map-stats,
html[data-theme="light"] body .match-timeline-help {
  color: #475569 !important;
}

html[data-theme="light"] body .match-player-map-slot {
  background: #eef4ff !important;
  border-color: rgba(47, 112, 232, .36) !important;
  color: #1f63d6 !important;
}

html[data-theme="light"] body .match-player-map-slot.red {
  background: #fff0f0 !important;
  border-color: rgba(217, 75, 75, .36) !important;
  color: #b72d2d !important;
}

html[data-theme="light"] body .match-player-map-slot.none {
  background: #f1f5f9 !important;
  border-color: #cbd5e1 !important;
  color: #64748b !important;
}

html[data-theme="light"] body .timeline-coach-note {
  background: #fff7d6 !important;
  border-color: rgba(200, 135, 0, .32) !important;
  border-left-color: #c88700 !important;
  color: #5f4700 !important;
}

html[data-theme="light"] body .player-form-score,
html[data-theme="light"] body .player-dev-card .player-radar,
html[data-theme="light"] body .player-spark-card,
html[data-theme="light"] body .player-trend-row {
  background: #ffffff !important;
  border-color: #cbd5e1 !important;
}

html[data-theme="light"] body .player-dev-card::before {
  background: linear-gradient(90deg, #c88700, rgba(200, 135, 0, 0)) !important;
}

html[data-theme="light"] body .player-dev-name,
html[data-theme="light"] body .player-form-value,
html[data-theme="light"] body .player-metric-value,
html[data-theme="light"] body .player-trend-value,
html[data-theme="light"] body .player-spark-value {
  color: #111827 !important;
}

html[data-theme="light"] body .player-dev-role,
html[data-theme="light"] body .player-form-label,
html[data-theme="light"] body .player-metric-name,
html[data-theme="light"] body .player-trend-label,
html[data-theme="light"] body .player-performance-label,
html[data-theme="light"] body .player-spark-title,
html[data-theme="light"] body .player-spark-caption,
html[data-theme="light"] body .player-trajectory-label {
  color: #64748b !important;
}

html[data-theme="light"] body .player-coaching-label,
html[data-theme="light"] body .player-trajectory-label {
  color: #8a5c00 !important;
}

html[data-theme="light"] body .player-spark-grid {
  stroke: #cbd5e1 !important;
}

html[data-theme="light"] body .player-spark-dot {
  stroke: #ffffff !important;
}

html[data-theme="light"] body .player-trajectory {
  background: #fffbea !important;
  border-color: rgba(200, 135, 0, .34) !important;
  border-left-color: #c88700 !important;
  color: #172033 !important;
}

html[data-theme="light"] body .player-dev-head {
  border-color: #cbd5e1 !important;
}

html[data-theme="light"] body .player-trend-row {
  border-color: #cbd5e1 !important;
}

html[data-theme="light"] body .player-trend-row.strong {
  background: #ecfdf3 !important;
  border-color: rgba(22, 163, 74, .32) !important;
}

html[data-theme="light"] body .player-trend-row.problem {
  background: #fff1f2 !important;
  border-color: rgba(220, 38, 38, .30) !important;
}

html[data-theme="light"] body .player-coaching-note {
  background: #fff9e6 !important;
  border-color: rgba(200, 135, 0, .32) !important;
  border-left-color: #c88700 !important;
  color: #5f4700 !important;
}

html[data-theme="light"] body .line-axis-label,
html[data-theme="light"] body .radar-label {
  fill: #64748b !important;
}

html[data-theme="light"] body .coach-final {
  border-color: #FFD01F !important;
}

html[data-theme="light"] body .coach-final .season-section-head {
  background: #FFD01F !important;
  border-color: #111827 !important;
}

html[data-theme="light"] body .coach-final .season-section-title,
html[data-theme="light"] body .results-hero-title,
html[data-theme="light"] body .fv-title,
html[data-theme="light"] body .fv-text {
  color: #111827 !important;
}

/* Report/debrief light mode needs its own pass because the report uses
   color-coded tactical cards that should not be flattened into pale panels. */
html[data-theme="light"] body #pageResults {
  background:
    linear-gradient(180deg, rgba(255, 208, 31, .08), rgba(244, 246, 251, 0) 260px),
    #f4f6fb !important;
  color: #111827 !important;
}

html[data-theme="light"] body #pageResults .results-body {
  background: transparent !important;
}

html[data-theme="light"] body #pageResults .results-hero {
  background: #FFD01F !important;
  border-bottom-color: #111827 !important;
  box-shadow: 0 8px 0 rgba(17, 24, 39, .92) !important;
}

html[data-theme="light"] body #pageResults .results-hero-title {
  color: #07111f !important;
  text-shadow: none !important;
}

html[data-theme="light"] body #pageResults .new-btn {
  background: #111827 !important;
  border-color: #111827 !important;
  color: #FFD01F !important;
  box-shadow: 3px 3px 0 rgba(17, 24, 39, .28) !important;
}

html[data-theme="light"] body #pageResults .pdf-btn {
  background: #ffffff !important;
  border-color: #111827 !important;
  color: #111827 !important;
  box-shadow: 3px 3px 0 rgba(17, 24, 39, .24) !important;
}

html[data-theme="light"] body #pageResults .nav-bar {
  background: #ffffff !important;
  border-top: 1px solid #cbd5e1 !important;
  border-bottom: 2px solid #cbd5e1 !important;
  box-shadow: 0 10px 26px rgba(15, 23, 42, .08) !important;
}

html[data-theme="light"] body #pageResults .nav-item {
  color: #526173 !important;
}

html[data-theme="light"] body #pageResults .nav-item:hover {
  color: #8a5c00 !important;
}

html[data-theme="light"] body #pageResults .section-label {
  color: #334155 !important;
}

html[data-theme="light"] body #pageResults .section-label::after {
  background: #cbd5e1 !important;
}

html[data-theme="light"] body #pageResults .panel,
html[data-theme="light"] body #pageResults .pcard,
html[data-theme="light"] body #pageResults .radar-card,
html[data-theme="light"] body #pageResults .chem-card,
html[data-theme="light"] body #pageResults .rot-card,
html[data-theme="light"] body #pageResults .flank-card,
html[data-theme="light"] body #pageResults .strat-card,
html[data-theme="light"] body #pageResults .rec-panel,
html[data-theme="light"] body #pageResults .win-card,
html[data-theme="light"] body #pageResults .zone-card,
html[data-theme="light"] body #pageResults .coach-word {
  background: #ffffff !important;
  border-color: #cbd5e1 !important;
  color: #111827 !important;
  box-shadow: 4px 4px 0 #d8dee8 !important;
}

html[data-theme="light"] body #pageResults .panel-header,
html[data-theme="light"] body #pageResults .cw-header,
html[data-theme="light"] body #pageResults .rec-header,
html[data-theme="light"] body #pageResults .pcard-head,
html[data-theme="light"] body #pageResults .radar-card-head {
  background: #f8fafc !important;
  border-color: #cbd5e1 !important;
}

html[data-theme="light"] body #pageResults .panel-title,
html[data-theme="light"] body #pageResults .cw-title,
html[data-theme="light"] body #pageResults .rec-header-title {
  color: #8a5c00 !important;
}

html[data-theme="light"] body #pageResults .stat-card {
  border-color: #111827 !important;
  color: #ffffff !important;
  box-shadow: 5px 5px 0 rgba(17, 24, 39, .9) !important;
}

html[data-theme="light"] body #pageResults .stat-card.blue {
  background: #4A7FE5 !important;
}

html[data-theme="light"] body #pageResults .stat-card.red {
  background: #E84C4C !important;
}

html[data-theme="light"] body #pageResults .stat-card.green {
  background: #3CB96A !important;
}

html[data-theme="light"] body #pageResults .stat-card.purple {
  background: #9B5FD6 !important;
}

html[data-theme="light"] body #pageResults .stat-val,
html[data-theme="light"] body #pageResults .stat-lbl {
  color: #ffffff !important;
  text-shadow: 0 1px 0 rgba(0, 0, 0, .24) !important;
}

html[data-theme="light"] body #pageResults .stat-lbl {
  opacity: .88 !important;
}

html[data-theme="light"] body #pageResults .verdict-banner {
  background: #ffffff !important;
  border-color: #cbd5e1 !important;
  color: #111827 !important;
  box-shadow: 4px 4px 0 #d8dee8 !important;
}

html[data-theme="light"] body #pageResults .verdict-banner.blue-win {
  background: #ffffff !important;
  border-color: #4A7FE5 !important;
}

html[data-theme="light"] body #pageResults .verdict-banner.red-win {
  background: #ffffff !important;
  border-color: #E84C4C !important;
}

html[data-theme="light"] body #pageResults .verdict-winner.blue {
  color: #2857bb !important;
}

html[data-theme="light"] body #pageResults .verdict-winner.red {
  color: #b72f2f !important;
}

html[data-theme="light"] body #pageResults .verdict-summary,
html[data-theme="light"] body #pageResults .prow-txt,
html[data-theme="light"] body #pageResults .rot-ev,
html[data-theme="light"] body #pageResults .flank-item,
html[data-theme="light"] body #pageResults .strat-text,
html[data-theme="light"] body #pageResults .rec-detail,
html[data-theme="light"] body #pageResults .win-card-text,
html[data-theme="light"] body #pageResults .cw-text,
html[data-theme="light"] body #pageResults .chem-txt,
html[data-theme="light"] body #pageResults .death-reason,
html[data-theme="light"] body #pageResults .zone-note {
  color: #334155 !important;
}

html[data-theme="light"] body #pageResults .verdict-highlight,
html[data-theme="light"] body #pageResults .coaching {
  background: #fff4bf !important;
  border-left-color: #d89b00 !important;
  color: #4f3900 !important;
}

html[data-theme="light"] body #pageResults .chastening {
  background: rgba(232, 76, 76, .12) !important;
  color: #8f2424 !important;
}

html[data-theme="light"] body #pageResults .team-tab {
  background: #f1f5f9 !important;
  color: #526173 !important;
  border-color: #cbd5e1 !important;
}

html[data-theme="light"] body #pageResults .team-tab.ab {
  background: rgba(74, 127, 229, .14) !important;
  color: #2857bb !important;
}

html[data-theme="light"] body #pageResults .team-tab.ar {
  background: rgba(232, 76, 76, .14) !important;
  color: #b72f2f !important;
}

html[data-theme="light"] body #pageResults .pid.blue,
html[data-theme="light"] body #pageResults .radar-pid.blue,
html[data-theme="light"] body #pageResults .chem-team.blue,
html[data-theme="light"] body #pageResults .rot-team.blue,
html[data-theme="light"] body #pageResults .win-card-title.blue,
html[data-theme="light"] body #pageResults .strat-label.blue,
html[data-theme="light"] body #pageResults .kf-killer.blue {
  color: #2857bb !important;
}

html[data-theme="light"] body #pageResults .pid.red,
html[data-theme="light"] body #pageResults .radar-pid.red,
html[data-theme="light"] body #pageResults .chem-team.red,
html[data-theme="light"] body #pageResults .rot-team.red,
html[data-theme="light"] body #pageResults .win-card-title.red,
html[data-theme="light"] body #pageResults .strat-label.red,
html[data-theme="light"] body #pageResults .kf-killer.red {
  color: #b72f2f !important;
}

html[data-theme="light"] body #pageResults .prole,
html[data-theme="light"] body #pageResults .kd-lbl,
html[data-theme="light"] body #pageResults .prow-lbl,
html[data-theme="light"] body #pageResults .rot-lbl,
html[data-theme="light"] body #pageResults .kf-time,
html[data-theme="light"] body #pageResults .death-loc,
html[data-theme="light"] body #pageResults .zcl-item,
html[data-theme="light"] body #pageResults .radar-role-lbl {
  color: #64748b !important;
}

html[data-theme="light"] body #pageResults .death-player,
html[data-theme="light"] body #pageResults .rec-title,
html[data-theme="light"] body #pageResults .zone-name {
  color: #111827 !important;
}

html[data-theme="light"] body #pageResults .map-zone-card {
  background: #ffffff !important;
  background-image: none !important;
  border-color: #cbd5e1 !important;
  box-shadow: 4px 4px 0 #d8dee8 !important;
}

html[data-theme="light"] body #pageResults .map-zone-card.owner-blue {
  background: #ffffff !important;
  background-image: none !important;
  border-color: rgba(74, 127, 229, .38) !important;
}

html[data-theme="light"] body #pageResults .map-zone-card.owner-red {
  background: #ffffff !important;
  background-image: none !important;
  border-color: rgba(232, 76, 76, .38) !important;
}

html[data-theme="light"] body #pageResults .map-zone-card.owner-contested {
  background: #ffffff !important;
  background-image: none !important;
  border-color: rgba(216, 155, 0, .42) !important;
}

html[data-theme="light"] body #pageResults .map-zone-head {
  background: #ffffff !important;
  background-image: none !important;
  border-color: #d8e0ea !important;
}

html[data-theme="light"] body #pageResults .zone-kicker {
  color: #64748b !important;
}

html[data-theme="light"] body #pageResults .map-zone-note {
  color: #334155 !important;
}

html[data-theme="light"] body #pageResults .zone-owner.blue {
  background: rgba(74, 127, 229, .15) !important;
  color: #2857bb !important;
}

html[data-theme="light"] body #pageResults .zone-owner.red {
  background: rgba(232, 76, 76, .15) !important;
  color: #b72f2f !important;
}

html[data-theme="light"] body #pageResults .zone-owner.contested {
  background: rgba(232, 160, 32, .18) !important;
  color: #7a5300 !important;
}

html[data-theme="light"] body #pageResults .map-failure-card {
  background: #fff1f1 !important;
  border-color: rgba(232, 76, 76, .38) !important;
  border-left-color: #E84C4C !important;
  color: #7a1f1f !important;
}

html[data-theme="light"] body #pageResults .kf-victim {
  color: #64748b !important;
}

html[data-theme="light"] body #pageResults .kill-strip,
html[data-theme="light"] body #pageResults .replay-controls,
html[data-theme="light"] body #pageResults .dl-row {
  background: #f8fafc !important;
  border-color: #cbd5e1 !important;
}

html[data-theme="light"] body #pageResults .replay-canvas-wrap,
html[data-theme="light"] body #pageResults .death-map-wrap,
html[data-theme="light"] body #pageResults .hm-half,
html[data-theme="light"] body #pageResults #zoneControlCanvas,
html[data-theme="light"] body #pageResults #deathHeatmapCanvas {
  background: #e8edf5 !important;
}

html[data-theme="light"] body #pageResults .replay-ts,
html[data-theme="light"] body #pageResults .replay-frame,
html[data-theme="light"] body #pageResults .radar-stat-pip,
html[data-theme="light"] body #pageResults .kpip {
  background: #ffffff !important;
  border-color: #cbd5e1 !important;
  color: #475569 !important;
}

html[data-theme="light"] body #pageResults .kpip.blue {
  background: rgba(74, 127, 229, .14) !important;
  border-color: #4A7FE5 !important;
  color: #2857bb !important;
}

html[data-theme="light"] body #pageResults .kpip.red {
  background: rgba(232, 76, 76, .14) !important;
  border-color: #E84C4C !important;
  color: #b72f2f !important;
}

html[data-theme="light"] body #pageResults .dl-btn,
html[data-theme="light"] body #pageResults .rbtn {
  background: #ffffff !important;
  border-color: #cbd5e1 !important;
  color: #111827 !important;
  box-shadow: 2px 2px 0 #d8dee8 !important;
}

html[data-theme="light"] body #pageResults .rbtn.primary,
html[data-theme="light"] body #pageResults .rbtn.speed-active,
html[data-theme="light"] body #pageResults .kpip.kactive {
  background: #FFD01F !important;
  border-color: #111827 !important;
  color: #111827 !important;
}

html[data-theme="light"] body #pageResults .kpip.blue.kactive {
  background: #4A7FE5 !important;
  border-color: #111827 !important;
  color: #ffffff !important;
}

html[data-theme="light"] body #pageResults .kpip.red.kactive {
  background: #E84C4C !important;
  border-color: #111827 !important;
  color: #ffffff !important;
}

html[data-theme="light"] body .tone-option input:checked + .tone-card,
html[data-theme="light"] body .location-option input:checked + .location-card {
  background: #FFD01F !important;
  border-color: #111827 !important;
  color: #111827 !important;
  box-shadow: 4px 4px 0 #d8dee8 !important;
}

html[data-theme="light"] body .tone-option input:checked + .tone-card .tone-name,
html[data-theme="light"] body .tone-option input:checked + .tone-card .tone-note,
html[data-theme="light"] body .location-option input:checked + .location-card .location-name,
html[data-theme="light"] body .location-option input:checked + .location-card .location-note {
  color: #111827 !important;
}

html[data-theme="light"] body .map-select-shell::before {
  background: #FFD01F !important;
  border-color: #111827 !important;
}

html[data-theme="light"] body .map-select-shell::after {
  border-color: #111827 !important;
}

html[data-theme="light"] body .map-select {
  appearance: none !important;
  -webkit-appearance: none !important;
  background: #ffffff !important;
  border: 2px solid #111827 !important;
  color: #111827 !important;
  box-shadow: 4px 4px 0 #d8dee8 !important;
  padding-right: 56px !important;
}

html[data-theme="light"] body .map-select:hover,
html[data-theme="light"] body .map-select:focus {
  border-color: #111827 !important;
  box-shadow: 0 0 0 3px rgba(255, 208, 31, .24), 4px 4px 0 #d8dee8 !important;
}

html[data-theme="light"] body .map-dropdown-btn {
  background: #ffffff !important;
  border-color: #111827 !important;
  color: #111827 !important;
  box-shadow: 4px 4px 0 #d8dee8 !important;
}

html[data-theme="light"] body .map-dropdown-btn:hover,
html[data-theme="light"] body .map-dropdown-btn[aria-expanded="true"],
html[data-theme="light"] body .map-dropdown-btn:focus-visible {
  border-color: #111827 !important;
  box-shadow: 0 0 0 3px rgba(255, 208, 31, .24), 4px 4px 0 #d8dee8 !important;
}

html[data-theme="light"] body .map-dropdown-arrow {
  background: #FFD01F !important;
  border-color: #111827 !important;
}

html[data-theme="light"] body .map-dropdown-panel {
  background: #ffffff !important;
  border-color: #111827 !important;
  box-shadow: 6px 6px 0 #d8dee8 !important;
}

html[data-theme="light"] body .map-search {
  background: #f8fafc !important;
  border-color: #cbd5e1 !important;
  color: #111827 !important;
}

html[data-theme="light"] body .map-search:focus {
  border-color: #111827 !important;
  box-shadow: 0 0 0 3px rgba(255, 208, 31, .24) !important;
}

html[data-theme="light"] body .map-dropdown-option {
  color: #111827 !important;
}

html[data-theme="light"] body .map-dropdown-option:hover,
html[data-theme="light"] body .map-dropdown-option:focus-visible {
  background: rgba(255, 208, 31, .22) !important;
  border-color: rgba(17, 24, 39, .35) !important;
}

html[data-theme="light"] body .map-dropdown-option.active {
  background: #FFD01F !important;
  border-color: #111827 !important;
  color: #111827 !important;
}

html[data-theme="light"] body .map-dropdown-empty {
  border-color: #cbd5e1 !important;
  color: #64748b !important;
}

html[data-theme="light"] body .drop-zone {
  background: #ffffff !important;
  border: 2px dashed #94a3b8 !important;
  box-shadow: 4px 4px 0 #d8dee8 !important;
}

html[data-theme="light"] body .drop-zone::before {
  border-color: rgba(183, 121, 0, .28) !important;
}

html[data-theme="light"] body .drop-zone::after {
  background: #FFD01F !important;
  border-color: #111827 !important;
  color: #111827 !important;
}

html[data-theme="light"] body .drop-zone:hover,
html[data-theme="light"] body .drop-zone.drag-over {
  background: #fff8d8 !important;
  border-color: #111827 !important;
  box-shadow: 6px 6px 0 #d8dee8 !important;
}

html[data-theme="light"] body .drop-title {
  color: #111827 !important;
}

html[data-theme="light"] body .replay-mode-title,
html[data-theme="light"] body .replay-mode-name {
  color: #111827 !important;
}

html[data-theme="light"] body .replay-mode-subtitle,
html[data-theme="light"] body .replay-mode-note {
  color: #4b5563 !important;
}

html[data-theme="light"] body .replay-mode-card {
  background: #ffffff !important;
  border-color: #cbd5e1 !important;
  box-shadow: 4px 4px 0 #d8dee8 !important;
}

html[data-theme="light"] body .replay-mode-option input:checked + .replay-mode-card {
  background: #fff8d8 !important;
  border-color: #111827 !important;
  box-shadow: 5px 5px 0 #d8dee8 !important;
}

html[data-theme="light"] body .replay-mode-option input:checked + .replay-mode-card .replay-mode-name,
html[data-theme="light"] body .replay-mode-step,
html[data-theme="light"] body .drop-step {
  color: #8a5c00 !important;
}

html[data-theme="light"] body .drop-zone.file-ready {
  background: #effcf4 !important;
  border-color: #249357 !important;
}

html[data-theme="light"] body .drop-zone.file-ready::after {
  background: #3CB96A !important;
  color: #07140c !important;
}

html[data-theme="light"] body .season-hero {
  --season-bg: #ffffff;
  --season-soft: #f8fafc;
  --season-line: #d7deea;
  --season-title: #8a5c00;
  --season-strong: #111827;
  --season-text: #475569;
  --season-muted: #64748b;
  --season-shadow: #d8dee8;
  background: var(--season-bg) !important;
  border-color: var(--season-line) !important;
  box-shadow: 4px 4px 0 var(--season-shadow) !important;
}

html[data-theme="light"] body .season-hero-main,
html[data-theme="light"] body .season-kpis {
  background: var(--season-bg) !important;
}

html[data-theme="light"] body .season-eyebrow,
html[data-theme="light"] body .season-summary-label,
html[data-theme="light"] body .season-kpi-label {
  color: var(--season-muted) !important;
}

html[data-theme="light"] body .season-title,
html[data-theme="light"] body .season-kpi-value {
  color: var(--season-title) !important;
}

html[data-theme="light"] body .season-subtitle {
  color: var(--season-strong) !important;
}

html[data-theme="light"] body .season-summary-card,
html[data-theme="light"] body .season-kpi {
  background: var(--season-soft) !important;
  border-color: var(--season-line) !important;
}

html[data-theme="light"] body .season-summary-text {
  color: var(--season-text) !important;
}

/* Dashboard command-center refresh. Keep the light theme as structured as dark mode. */
html[data-theme="light"] body .dash-hero {
  background: #ffffff !important;
  border-color: #cbd5e1 !important;
  box-shadow: 0 18px 46px rgba(30, 48, 72, .12) !important;
}

html[data-theme="light"] body .dash-hero-main,
html[data-theme="light"] body .dash-panel-head {
  background: rgba(248, 250, 252, .9) !important;
  border-color: #d4dde9 !important;
}

html[data-theme="light"] body .dash-kpis {
  background: rgba(238, 243, 248, .7) !important;
}

html[data-theme="light"] body .dash-panel,
html[data-theme="light"] body .dash-kpi,
html[data-theme="light"] body .dash-card,
html[data-theme="light"] body .dash-scrim,
html[data-theme="light"] body .dash-streak-card,
html[data-theme="light"] body .dash-highlight {
  background: #ffffff !important;
  border-color: #cbd5e1 !important;
  color: #111827 !important;
}

html[data-theme="light"] body .dash-title,
html[data-theme="light"] body .dash-panel-title,
html[data-theme="light"] body .dash-kpi-value,
html[data-theme="light"] body .dash-card-title,
html[data-theme="light"] body .dash-scrim-name,
html[data-theme="light"] body .dash-streak-value {
  color: #111827 !important;
}

html[data-theme="light"] body .dash-subtitle,
html[data-theme="light"] body .dash-kpi-label,
html[data-theme="light"] body .dash-card-text,
html[data-theme="light"] body .dash-streak-label {
  color: #475569 !important;
}

html[data-theme="light"] body .dash-kpi-hint,
html[data-theme="light"] body .dash-panel-note,
html[data-theme="light"] body .dash-streak-detail,
html[data-theme="light"] body .dash-highlight-meta,
html[data-theme="light"] body .dash-highlight-kicker {
  color: #64748b !important;
}

html[data-theme="light"] body .dash-kpi-mark {
  background: #f8fafc !important;
}

html[data-theme="light"] body .dash-highlight[data-kind="moment"] { border-top-color: #4A7FE5 !important; }
html[data-theme="light"] body .dash-highlight[data-kind="priority"] { border-top-color: #3CB96A !important; }
html[data-theme="light"] body .dash-highlight[data-kind="pattern"] { border-top-color: #E8A020 !important; }
html[data-theme="light"] body .dash-recommendation { border-left-color: #d4a000 !important; }

/* Light-theme accent contrast: bright yellow is a fill, dark gold is text. */
:root[data-theme="light"] {
  --accent-fill: #FFD01F;
  --accent-text: #111827;
  --on-accent: #111827;
  --accent-border: #b47b00;
  --accent-ink: #111827;
}

html[data-theme="light"] body .theme-toggle,
html[data-theme="light"] body .dash-kpi[data-kind="reports"] .dash-kpi-mark,
html[data-theme="light"] body .brand small,
html[data-theme="light"] body [style*="color:var(--yellow)"] {
  color: var(--accent-text) !important;
}

html[data-theme="light"] body .theme-toggle {
  background: #ffffff !important;
  border-color: #cbd5e1 !important;
}

html[data-theme="light"] body :is(
  .app-brand,
  .process-minutes-value,
  .side-panel-title,
  .dash-panel-kicker,
  .dash-kpi[data-kind="reports"] .dash-kpi-mark,
  .settings-title,
  .settings-panel-title,
  .settings-section-kicker,
  .settings-avatar,
  .settings-chip.warn,
  .settings-plan-current,
  .settings-change-label,
  .settings-plan-price,
  .minute-wallet-value,
  .minute-pack-minutes,
  .brand,
  .replay-mode-step,
  .replay-mode-option input:checked + .replay-mode-card .replay-mode-name,
  .drop-step,
  .drop-filename,
  .upload-guidance-kicker,
  .location-title,
  .operation-cost-kicker,
  .history-title,
  .history-pill.processing,
  .team-section-title h3,
  .team-review-controls-title,
  .team-cost-title,
  .team-save-status.saving,
  .coach-panel-title,
  .coach-status b,
  .season-title,
  .season-section-title,
  .chemistry-score-value,
  .timeline-summary-title,
  .match-timeline-title,
  .match-timeline-index,
  .player-avatar,
  .player-trajectory-label,
  .player-form-value,
  .player-coaching-label,
  .leader-rank,
  .map-record-rate,
  .map-analysis-rate-value,
  .donut-total,
  .radar-score-value,
  .mode-analysis-rate-value,
  .weakness-fix-label,
  .progress-title,
  .progress-pct,
  .upload-progress-pct,
  .panel-title,
  .snd-vs,
  .snd-flow-title,
  .snd-event-chip .time,
  .rot-ts,
  .cw-title,
  .hm-panel-title,
  .scrubber-time
) {
  color: var(--on-accent) !important;
}

html[data-theme="light"] body .upload-guidance-item::before {
  color: var(--on-accent) !important;
}

html[data-theme="light"] body .season-hero {
  --season-title: var(--on-accent) !important;
}

html[data-theme="light"] body .upload-btn,
html[data-theme="light"] body .history-open,
html[data-theme="light"] body .drop-zone::after,
html[data-theme="light"] body .map-dropdown-arrow,
html[data-theme="light"] body .map-dropdown-option.active,
html[data-theme="light"] body .team-view-tab.active,
html[data-theme="light"] body .timeline-order,
html[data-theme="light"] body .team-btn.primary,
html[data-theme="light"] body .coach-float-toggle,
html[data-theme="light"] body .final-verdict-box,
html[data-theme="light"] body .rbtn.primary,
html[data-theme="light"] body .rbtn.speed-active,
html[data-theme="light"] body .kpip.kactive,
html[data-theme="light"] body .results-hero,
html[data-theme="light"] body .insight-icon,
html[data-theme="light"] body .coach-final .season-section-head {
  background: var(--accent-fill) !important;
  border-color: var(--accent-border) !important;
  color: var(--on-accent) !important;
}

html[data-theme="light"] body .final-verdict-box *,
html[data-theme="light"] body .results-hero *,
html[data-theme="light"] body .coach-final .season-section-head * {
  color: var(--on-accent) !important;
}

html[data-theme="light"] body .scroll-top {
  background: var(--accent-fill) !important;
  border: 1px solid var(--accent-border) !important;
  color: var(--on-accent) !important;
  box-shadow: 0 8px 20px rgba(23, 32, 51, .18) !important;
}

@media print {
  .theme-toggle {
    display: none !important;
  }
}
