/* Shared session-only dark theme. Loaded after each page's own stylesheet. */
html.dark-mode {
  color-scheme: dark;
  --ink: #f2f3f5;
  --muted: #a8acb6;
  --line: #343741;
  --soft: #1b1d23;
  --accent-strong: #f1c75b;
  --accent-soft: #302817;
}

html.dark-mode body { color: var(--ink) !important; background: #0f1118 !important; }
html.dark-mode .site-nav { border-color: var(--line) !important; }
html.dark-mode .nav-links a { color: var(--muted) !important; }
html.dark-mode .nav-links a:hover,
html.dark-mode .nav-links .active { color: var(--accent-strong) !important; }
html.dark-mode .nav-links { background: #181a20; border-color: var(--line) !important; }
html.dark-mode .back-link,
html.dark-mode .empty-state,
html.dark-mode footer,
html.dark-mode .page-header .last-checked { color: var(--muted) !important; }
html.dark-mode .collection-card,
html.dark-mode .stats article,
html.dark-mode .tracker-card,
html.dark-mode .episode,
html.dark-mode .movie-card .card,
html.dark-mode .show-card .card { color: var(--ink) !important; background: #1a1d27 !important; border-color: #41485b !important; }
html.dark-mode .collection-card:hover,
html.dark-mode .tracker-card:hover,
html.dark-mode .episode:hover { background: #22252d !important; border-color: var(--accent) !important; }
html.dark-mode .collection-card:nth-child(2),
html.dark-mode .movie-card:nth-child(3n) .card,
html.dark-mode .show-card:nth-child(3n) .card { background: #1b1c2b !important; border-color: #4a4771 !important; }
html.dark-mode .collection-card h3,
html.dark-mode .tracker-title-row h3,
html.dark-mode .show-title,
html.dark-mode .movie-hero h1 { color: #f7f3e8 !important; }
html.dark-mode .search input { color: var(--ink) !important; background: #1c1f26 !important; border-color: #4b4f5a !important; }
html.dark-mode .search input:focus { background: #252832 !important; }
html.dark-mode .genre-filter,
html.dark-mode .section-count,
html.dark-mode .hide-show,
html.dark-mode .hidden-toggle,
html.dark-mode .reason > span { color: var(--accent-strong) !important; background: var(--accent-soft) !important; border-color: #65552d !important; }
html.dark-mode .genre-filter.active { color: #17181c !important; background: var(--accent-strong) !important; }
html.dark-mode .genre-filter:not(.active):hover { background: #29253a !important; border-color: #746ca8 !important; color: #c6c0f4 !important; }
html.dark-mode .section-toggle,
html.dark-mode .details-link,
html.dark-mode .show-kicker,
html.dark-mode .brand { color: var(--accent-strong) !important; }
html.dark-mode .show-poster,
html.dark-mode .movie-poster,
html.dark-mode .tracker-poster { background: #1e2027 !important; border-color: #65552d !important; }
html.dark-mode .season-tab { color: var(--muted) !important; background: #191b21 !important; border-color: #383c47 !important; }
html.dark-mode .season-tab:hover,
html.dark-mode .season-tab.active { color: #17181c !important; background: var(--accent-strong) !important; border-color: var(--accent-strong) !important; }
html.dark-mode .genre { color: #ffdc7e !important; background: #3a2c12 !important; border-color: #705522 !important; }
html.dark-mode .season-recent-badge,
html.dark-mode .recent-label { color: #241a05 !important; background: #f3c85b !important; }
html.dark-mode .season-tab.active .season-recent-badge { color: #241a05 !important; background: #fff0bd !important; }
html.dark-mode .release-status.is-behind .release-status-icon { color: #241a05 !important; background: #f3c85b !important; }
html.dark-mode .episode-number { color: var(--accent-strong) !important; background: var(--accent-soft) !important; }
html.dark-mode .episode.recent-episode { background: #302817 !important; border-color: #a98027 !important; }
html.dark-mode .episode.unavailable-episode { background: #1c2030 !important; border-color: #59698f !important; }
html.dark-mode .unavailable-label,
html.dark-mode .season-missing-badge { color: #b7c4f2 !important; background: #29304b !important; }
html.dark-mode .release-status.is-up-to-date { color: #a7dfbd !important; background: #172a20 !important; border-color: #35694c !important; }
html.dark-mode .release-status.is-behind { color: var(--accent-strong) !important; background: var(--accent-soft) !important; border-color: #65552d !important; }
html.dark-mode .overview,
html.dark-mode .episode-meta,
html.dark-mode .reason p,
html.dark-mode .series-status { color: var(--muted) !important; }
html.dark-mode .stats article:first-child { background: #302817 !important; border-color: #a98027 !important; }
html.dark-mode .stats article:nth-child(2) { background: #192b35 !important; border-color: #356579 !important; }
html.dark-mode .stats article:nth-child(3) { background: #25203a !important; border-color: #625394 !important; }
html.dark-mode .stats article:nth-child(2) span { color: #8ed4e5 !important; }
html.dark-mode .stats article:nth-child(3) span { color: #c8b5ff !important; }
html.dark-mode .play-button { color: #17181c !important; background: var(--accent-strong) !important; }

.theme-toggle {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0;
  border: 0;
  color: var(--muted);
  background: transparent;
  font: inherit;
  font-size: .82rem;
  cursor: pointer;
}
.theme-toggle:hover { color: var(--accent-strong); }
.theme-toggle-track {
  position: relative;
  width: 34px;
  height: 19px;
  border-radius: 999px;
  background: #d7d9de;
  transition: background .18s ease;
}
.theme-toggle-track::after {
  content: '';
  position: absolute;
  top: 3px;
  left: 3px;
  width: 13px;
  height: 13px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 3px rgba(0,0,0,.2);
  transition: transform .18s ease;
}
html.dark-mode .theme-toggle { color: var(--accent-strong); }
html.dark-mode .theme-toggle-track { background: var(--accent-strong); }
html.dark-mode .theme-toggle-track::after { transform: translateX(15px); background: #17181c; }
@media (max-width: 760px) {
  .nav-links .theme-toggle { width: 100%; justify-content: space-between; padding: 9px 10px; }
}
html.dark-mode body:has(.home-shell) .collection-card:nth-child(2) { background:#1a1d27 !important; border-color:#41485b !important; }
html.dark-mode .progress-track i { background:#78d39a !important; }
