/* The existing dark theme is unchanged. Only the new control is shared. */
.theme-actions { display:flex; align-items:center; gap:8px; flex-shrink:0; }
#theme-toggle svg { width:21px; height:21px; display:block; }
#theme-toggle .theme-moon { display:none; }
:root[data-theme="light"] #theme-toggle .theme-sun { display:none; }
:root[data-theme="light"] #theme-toggle .theme-moon { display:block; }
:root[data-theme="light"] {
  color-scheme:light;
  --bg:#f4f7f9;
  --secondary-bg:#ffffff;
  --panel:#ffffff;
  --panel-strong:#e8eff3;
  --text:#132932;
  --hint:#526773;
  --link:#086e85;
  --border:#d4e0e6;
  --accent:#bb4908;
  --accent-2:#087486;
  --danger:#bd2440;
  --warning:#856000;
  --success:#08764a;
  --shadow:0 12px 34px rgba(27,57,71,.08);
  background:var(--bg);
}
:root[data-theme="light"] body::before { background:var(--bg); }
:root[data-theme="light"] .personal-home { --home-panel:#ffffff; --home-muted:var(--hint); }
:root[data-theme="light"] .fixture-comparison { --comparison-home:#087486; --comparison-away:#bb4908; }
:root[data-theme="light"] .match-detail { --md-home:#087486; --md-away:#bb4908; }
:root[data-theme="light"] .icon-button { background:var(--secondary-bg); border-color:var(--border); box-shadow:none; }
:root[data-theme="light"] .user-strip { background:var(--secondary-bg); border-color:var(--border); box-shadow:var(--shadow); }
:root[data-theme="light"] :is(.match-card,.compact-card,.team-card,.player-card,.source-card,.settings-card,.home-carousel,.home-settings,.news-card) {
  background:var(--secondary-bg); border-color:var(--border); box-shadow:var(--shadow);
}
:root[data-theme="light"] .personal-home .match-card { background:none; box-shadow:none; }
:root[data-theme="light"] .hero { background:linear-gradient(135deg,#e8f7f8,#fff5e9); border-color:var(--border); }
:root[data-theme="light"] :is(.hero-subtitle,.hero-description,.hero-chip,.meta-chip) { color:var(--hint); }
:root[data-theme="light"] :is(.hero-chip,.meta-chip,.language-pill,.league-badge) { background:#e8f4f5; border-color:#c7dfe2; }
:root[data-theme="light"] :is(.match-score,.match-score.scheduled,.match-score:not(.scheduled)) { background:var(--panel-strong); color:var(--text); border-color:var(--border); }
:root[data-theme="light"] :is(.badge-fallback,.favorite-button,.stat-cell,.home-interest-monogram) { background:var(--panel-strong); }
:root[data-theme="light"] :is(.filter-button,.league-chip,.home-interest) { background:var(--secondary-bg); border-color:var(--border); }
:root[data-theme="light"] .filter-button.active { background:var(--accent); border-color:var(--accent); color:#fff; }
:root[data-theme="light"] .league-chip.active { background:#e4f3f5; color:#085968; border-color:#8dbdc5; box-shadow:none; }
:root[data-theme="light"] :is(.search-input,.select-input) { background-color:var(--secondary-bg); border-color:var(--border); color:var(--text); }
:root[data-theme="light"] :is(.search-input,.select-input):focus { border-color:var(--accent-2); box-shadow:0 0 0 3px #08748618; }
:root[data-theme="light"] :is(.search-input,.select-input)::placeholder { color:var(--hint); opacity:1; }
:root[data-theme="light"] select.select-input { background-image:linear-gradient(45deg,transparent 50%,#526773 50%),linear-gradient(135deg,#526773 50%,transparent 50%); }
:root[data-theme="light"] :is(.home-edit,.home-save) { color:#fff; box-shadow:none; }
:root[data-theme="light"] :is(.home-info p,.toast) { background:var(--secondary-bg); border-color:var(--border); box-shadow:var(--shadow); }
:root[data-theme="light"] .home-favorite-row { background:#fff0e5; }
:root[data-theme="light"] :is(.form-dot.W,.home-form.w) { background:#e0f3e9; color:#096b43; }
:root[data-theme="light"] :is(.form-dot.D,.home-form.d) { background:#fff0ce; color:#785500; }
:root[data-theme="light"] :is(.form-dot.L,.home-form.l) { background:#fbe5ea; color:#ad203b; }
:root[data-theme="light"] .source-note-bar { background:#eaf4f5; border-color:#c7dfe2; }
:root[data-theme="light"] .app-footer { color:var(--hint); }
:root[data-theme="light"] :is(.news-image,.news-detail-image,.player-photo) { background:linear-gradient(135deg,#e1edf1,#f3f7f9); }
:root[data-theme="light"] .category-badge { background:#fff0e5; color:#a0440b; }
:root[data-theme="light"] .rumor-badge { background:#fff2d6; color:var(--warning); }
:root[data-theme="light"] .status-badge.official { background:#e4f3f5; color:#085968; }
:root[data-theme="light"] #news-view .news-card-meta { color:#a0440b; }
:root[data-theme="light"] .news-detail-backdrop { background:rgba(22,42,52,.42); }
:root[data-theme="light"] .news-detail-sheet { background:var(--secondary-bg); border-color:var(--border); box-shadow:0 -18px 50px #16323e26; }
:root[data-theme="light"] .news-detail-handle { background:#a4bac4; box-shadow:none; }
:root[data-theme="light"] .detail-close-button { background:var(--secondary-bg); color:var(--text); border-color:var(--border); }
:root[data-theme="light"] .detail-source-button { background:#e4f3f5; color:#085968; border-color:#c7dfe2; }
:root[data-theme="light"] :is(.table-shell,#table-view .standings-scroll) { background:var(--secondary-bg); border-color:var(--border); }
:root[data-theme="light"] :is(.league-table th,#table-view .standings-grid thead th) { background:var(--panel-strong); color:var(--hint); }
:root[data-theme="light"] .league-table tbody tr:nth-child(even) td { background:#f5f8fa; }
:root[data-theme="light"] #table-view .standings-grid :is(.standings-position,.standings-club) { background:var(--secondary-bg); }
:root[data-theme="light"] #table-view .standings-grid thead :is(.standings-position,.standings-club) { background:var(--panel-strong); }
:root[data-theme="light"] .fixture-comparison :is(.comparison-teams,.comparison-average,.metric-card,.comparison-all,.comparison-missing),
:root[data-theme="light"] .match-detail :is(.md-team,.md-facts article,.md-stat,.md-rate,.md-player-group,.md-unavailable) { background-color:var(--panel); border-color:var(--border); }
:root[data-theme="light"] .fixture-comparison :is(.comparison-explanation,.comparison-info[open]>summary),
:root[data-theme="light"] .match-detail .md-info>div { background:var(--panel-strong); }
:root[data-theme="light"] :is(.catalog-dialog,.catalog-dialog-top) { background:var(--secondary-bg); }
:root[data-theme="light"] .catalog-dialog::backdrop { background:rgba(22,42,52,.42); }
:root[data-theme="light"] :is(.catalog-dialog-top button,.catalog-info div) { background:var(--panel-strong); }
:root[data-theme="light"] #players-view .catalog-card .player-photo { background:var(--panel-strong); }
:root[data-theme="light"] #players-view .catalog-card img.player-photo { filter:none; }
:root[data-theme="light"] .clean-dock { background:var(--bg); box-shadow:0 -4px 18px #16323e0a; }
:root[data-theme="light"] .clean-more-panel { background:var(--secondary-bg); box-shadow:0 -10px 36px #16323e24; }
:root[data-theme="light"] .clean-more-panel .main-nav-button { background:var(--panel-strong); }
:root[data-theme="light"] .main-nav-button .main-nav-icon,
:root[data-theme="light"] .clean-more>summary .main-nav-icon { color:var(--hint); }
:root[data-theme="light"] .main-nav-button .main-nav-icon svg,
:root[data-theme="light"] .clean-more>summary .main-nav-icon svg { stroke:currentColor; }
:root[data-theme="light"] .clean-dock .main-nav-button.active .main-nav-icon { color:var(--accent); }
:root[data-theme="light"] .clean-dock .main-nav-button:is([data-view="news"],[data-view="fixtures"],[data-view="teams"]).active .main-nav-icon,
:root[data-theme="light"] .clean-more[open]>summary .main-nav-icon,
:root[data-theme="light"] .clean-more.is-active>summary .main-nav-icon { color:var(--accent-2); }

html.theme-changing, html.theme-changing *, html.theme-changing *::before, html.theme-changing *::after { transition:none !important; }
