/* ═══════════════════════════════════════════════════════════════
   RupeeCase Podcast — Shared Dark Theme + Component Styles
   The Tanmay Edge — India's Pre-Market Edge

   Dark mode is applied via TWO selectors (both needed):
   1. @media (prefers-color-scheme: dark) :root:not([data-theme="light"])
      → OS-level dark mode unless user explicitly chose light
   2. :root[data-theme="dark"]
      → User explicitly toggled dark via theme button

   To avoid duplicating every rule, we use a single block with
   both selectors comma-separated where CSS allows.
   ═══════════════════════════════════════════════════════════════ */

/* ── DARK THEME VARIABLES: OS preference ── */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --bg: #0a0f1a; --white: #111d30; --text: #f8fafc; --text-2: #e2e8f0;
    --text-3: #a8b8cb; --text-4: #7a8da3;
    --rule: rgba(255,255,255,0.12);
    --navy: #93C5FD; --navy-mid: #60A5FA; --blue: #60A5FA; --blue-soft: #93bbfd;
    --ice: rgba(96,165,250,0.1); --ice-dark: rgba(96,165,250,0.15);
    --gold: #FBBF24; --gold-light: rgba(217,119,6,0.15);
    --green: #34D399; --green-bg: rgba(5,150,105,0.12); --green-dark: #6EE7B7;
    --red: #F87171; --red-bg: rgba(220,38,38,0.12);
    --teal: #22D3EE; --teal-bg: rgba(8,145,178,0.12);
    --purple: #A78BFA; --purple-bg: rgba(124,58,237,0.12);
    --amber: #FBBF24; --amber-bg: rgba(217,119,6,0.12);
    --nav-bg: rgba(10,15,26,0.95);
    --card-bg: #111d30; --card-border: rgba(255,255,255,0.08); --card-hover: rgba(255,255,255,0.04);
    color-scheme: dark;
  }
}

/* ── DARK THEME VARIABLES: Explicit toggle ── */
:root[data-theme="dark"] {
  --bg: #0a0f1a; --white: #111d30; --text: #f8fafc; --text-2: #e2e8f0;
  --text-3: #a8b8cb; --text-4: #7a8da3;
  --rule: rgba(255,255,255,0.12);
  --navy: #93C5FD; --navy-mid: #60A5FA; --blue: #60A5FA; --blue-soft: #93bbfd;
  --ice: rgba(96,165,250,0.1); --ice-dark: rgba(96,165,250,0.15);
  --gold: #FBBF24; --gold-light: rgba(217,119,6,0.15);
  --green: #34D399; --green-bg: rgba(5,150,105,0.12); --green-dark: #6EE7B7;
  --red: #F87171; --red-bg: rgba(220,38,38,0.12);
  --teal: #22D3EE; --teal-bg: rgba(8,145,178,0.12);
  --purple: #A78BFA; --purple-bg: rgba(124,58,237,0.12);
  --amber: #FBBF24; --amber-bg: rgba(217,119,6,0.12);
  --nav-bg: rgba(10,15,26,0.95);
  --card-bg: #111d30; --card-border: rgba(255,255,255,0.08); --card-hover: rgba(255,255,255,0.04);
  color-scheme: dark;
}

/*
  NOTE: CSS variable blocks MUST be duplicated (media query + attribute selector)
  because @media cannot be comma-combined with non-media selectors.
  But all COMPONENT overrides below use both selectors comma-separated to avoid duplication.
*/

/* ── DARK: Topnav ── */
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .nav { background: rgba(6,9,18,0.95) !important; border-bottom-color: rgba(255,255,255,0.06) !important; } }
:root[data-theme="dark"] .nav { background: rgba(6,9,18,0.95) !important; border-bottom-color: rgba(255,255,255,0.06) !important; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .nav-name { color: var(--navy) !important; } }
:root[data-theme="dark"] .nav-name { color: var(--navy) !important; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .nav-cta { background: var(--blue) !important; color: #0a0f1a !important; } }
:root[data-theme="dark"] .nav-cta { background: var(--blue) !important; color: #0a0f1a !important; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .nav-cta:hover { background: var(--blue-soft) !important; } }
:root[data-theme="dark"] .nav-cta:hover { background: var(--blue-soft) !important; }

/* ── DARK: Hero card ── */
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .hero-card { background: rgba(96,165,250,0.08) !important; border: 1px solid rgba(96,165,250,0.15) !important; } }
:root[data-theme="dark"] .hero-card { background: rgba(96,165,250,0.08) !important; border: 1px solid rgba(96,165,250,0.15) !important; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .hero-card .hcard-label { color: var(--text-4) !important; } }
:root[data-theme="dark"] .hero-card .hcard-label { color: var(--text-4) !important; }

/* ── DARK: Episode cards + buttons ── */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .ep-card { background: var(--card-bg) !important; border-color: var(--card-border) !important; }
  :root:not([data-theme="light"]) .ep-card:hover { background: var(--card-hover) !important; border-color: rgba(255,255,255,0.15) !important; }
  :root:not([data-theme="light"]) .ep-name { color: var(--text) !important; }
  :root:not([data-theme="light"]) .ep-desc { color: var(--text-3) !important; }
  :root:not([data-theme="light"]) .btn-primary { background: var(--blue) !important; color: #0a0f1a !important; border-color: var(--blue) !important; }
  :root:not([data-theme="light"]) .btn-secondary { color: var(--blue) !important; border-color: var(--blue) !important; }
  :root:not([data-theme="light"]) .btn-secondary:hover { background: var(--blue) !important; color: #0a0f1a !important; }
  :root:not([data-theme="light"]) .platform-btn { background: var(--card-bg) !important; border-color: var(--card-border) !important; color: var(--text-2) !important; }
  :root:not([data-theme="light"]) .platform-btn:hover { border-color: var(--blue) !important; }
}
:root[data-theme="dark"] .ep-card { background: var(--card-bg) !important; border-color: var(--card-border) !important; }
:root[data-theme="dark"] .ep-card:hover { background: var(--card-hover) !important; border-color: rgba(255,255,255,0.15) !important; }
:root[data-theme="dark"] .ep-name { color: var(--text) !important; }
:root[data-theme="dark"] .ep-desc { color: var(--text-3) !important; }
:root[data-theme="dark"] .btn-primary { background: var(--blue) !important; color: #0a0f1a !important; border-color: var(--blue) !important; }
:root[data-theme="dark"] .btn-secondary { color: var(--blue) !important; border-color: var(--blue) !important; }
:root[data-theme="dark"] .btn-secondary:hover { background: var(--blue) !important; color: #0a0f1a !important; }
:root[data-theme="dark"] .platform-btn { background: var(--card-bg) !important; border-color: var(--card-border) !important; color: var(--text-2) !important; }
:root[data-theme="dark"] .platform-btn:hover { border-color: var(--blue) !important; }

/* ── DARK: Footer ── */
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) footer { border-top-color: var(--rule) !important; } }
:root[data-theme="dark"] footer { border-top-color: var(--rule) !important; }

/* ── DARK: Episode detail page ── */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .article-body { color: var(--text-2) !important; }
  :root:not([data-theme="light"]) .article-body h2 { color: var(--text) !important; }
  :root:not([data-theme="light"]) .article-body h3 { color: var(--text-2) !important; }
  :root:not([data-theme="light"]) .article-body blockquote { border-left-color: var(--blue) !important; color: var(--text-3) !important; background: var(--ice) !important; }
  :root:not([data-theme="light"]) .ep-detail-hero { background: var(--card-bg) !important; border-color: var(--card-border) !important; }
  :root:not([data-theme="light"]) .ep-detail-title { color: var(--text) !important; }
  :root:not([data-theme="light"]) .ep-detail-eyebrow { color: var(--text-4) !important; }
  :root:not([data-theme="light"]) .ep-detail-meta .tag { background: var(--ice) !important; color: var(--blue) !important; }
  :root:not([data-theme="light"]) .ep-nav-link { background: var(--card-bg) !important; border-color: var(--card-border) !important; }
  :root:not([data-theme="light"]) .ep-nav-link:hover { border-color: var(--blue) !important; }
  :root:not([data-theme="light"]) .ep-nav-title { color: var(--blue) !important; }
  :root:not([data-theme="light"]) .breadcrumb a { color: var(--text-3) !important; }
  :root:not([data-theme="light"]) .breadcrumb a:hover { color: var(--blue) !important; }
  :root:not([data-theme="light"]) .back-top { background: var(--blue) !important; color: #0a0f1a !important; }
  :root:not([data-theme="light"]) .search-box { background-color: var(--card-bg) !important; border-color: var(--card-border) !important; color: var(--text) !important; }
  :root:not([data-theme="light"]) .search-box:focus { border-color: var(--blue) !important; }
  :root:not([data-theme="light"]) .audio-bar:hover { background: rgba(255,255,255,0.25) !important; }
}
:root[data-theme="dark"] .article-body { color: var(--text-2) !important; }
:root[data-theme="dark"] .article-body h2 { color: var(--text) !important; }
:root[data-theme="dark"] .article-body h3 { color: var(--text-2) !important; }
:root[data-theme="dark"] .article-body blockquote { border-left-color: var(--blue) !important; color: var(--text-3) !important; background: var(--ice) !important; }
:root[data-theme="dark"] .ep-detail-hero { background: var(--card-bg) !important; border-color: var(--card-border) !important; }
:root[data-theme="dark"] .ep-detail-title { color: var(--text) !important; }
:root[data-theme="dark"] .ep-detail-eyebrow { color: var(--text-4) !important; }
:root[data-theme="dark"] .ep-detail-meta .tag { background: var(--ice) !important; color: var(--blue) !important; }
:root[data-theme="dark"] .ep-nav-link { background: var(--card-bg) !important; border-color: var(--card-border) !important; }
:root[data-theme="dark"] .ep-nav-link:hover { border-color: var(--blue) !important; }
:root[data-theme="dark"] .ep-nav-title { color: var(--blue) !important; }
:root[data-theme="dark"] .breadcrumb a { color: var(--text-3) !important; }
:root[data-theme="dark"] .breadcrumb a:hover { color: var(--blue) !important; }
:root[data-theme="dark"] .back-top { background: var(--blue) !important; color: #0a0f1a !important; }
:root[data-theme="dark"] .search-box { background-color: var(--card-bg) !important; border-color: var(--card-border) !important; color: var(--text) !important; }
:root[data-theme="dark"] .search-box:focus { border-color: var(--blue) !important; }
:root[data-theme="dark"] .audio-bar:hover { background: rgba(255,255,255,0.25) !important; }

/* ── DARK: Listen platforms, share row, sort/RSS buttons ── */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .listen-platforms { background: var(--card-bg) !important; border-color: var(--card-border) !important; }
  :root:not([data-theme="light"]) .listen-platforms h3 { color: var(--text) !important; }
  :root:not([data-theme="light"]) .share-row { border-top-color: var(--rule) !important; }
  :root:not([data-theme="light"]) .share-btn { background: var(--card-bg) !important; border-color: var(--card-border) !important; color: var(--text-3) !important; }
  :root:not([data-theme="light"]) .share-btn:hover { border-color: var(--blue) !important; color: var(--blue) !important; background: var(--ice) !important; }
  :root:not([data-theme="light"]) .sort-btn { background: var(--card-bg) !important; border-color: var(--card-border) !important; color: var(--text-3) !important; }
  :root:not([data-theme="light"]) .sort-btn:hover { border-color: var(--blue) !important; color: var(--blue) !important; }
  :root:not([data-theme="light"]) .rss-btn { background: var(--card-bg) !important; border-color: var(--card-border) !important; color: var(--text-3) !important; }
  :root:not([data-theme="light"]) .rss-btn:hover { border-color: #ee802f !important; color: #ee802f !important; }
  :root:not([data-theme="light"]) .ep-detail-art { box-shadow: 0 4px 12px rgba(0,0,0,0.3) !important; }
}
:root[data-theme="dark"] .listen-platforms { background: var(--card-bg) !important; border-color: var(--card-border) !important; }
:root[data-theme="dark"] .listen-platforms h3 { color: var(--text) !important; }
:root[data-theme="dark"] .share-row { border-top-color: var(--rule) !important; }
:root[data-theme="dark"] .share-btn { background: var(--card-bg) !important; border-color: var(--card-border) !important; color: var(--text-3) !important; }
:root[data-theme="dark"] .share-btn:hover { border-color: var(--blue) !important; color: var(--blue) !important; background: var(--ice) !important; }
:root[data-theme="dark"] .sort-btn { background: var(--card-bg) !important; border-color: var(--card-border) !important; color: var(--text-3) !important; }
:root[data-theme="dark"] .sort-btn:hover { border-color: var(--blue) !important; color: var(--blue) !important; }
:root[data-theme="dark"] .rss-btn { background: var(--card-bg) !important; border-color: var(--card-border) !important; color: var(--text-3) !important; }
:root[data-theme="dark"] .rss-btn:hover { border-color: #ee802f !important; color: #ee802f !important; }
:root[data-theme="dark"] .ep-detail-art { box-shadow: 0 4px 12px rgba(0,0,0,0.3) !important; }

/* ── DARK: Rich episode content sections ── */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .key-highlights { background: rgba(96,165,250,0.08) !important; border-color: rgba(96,165,250,0.12) !important; }
  :root:not([data-theme="light"]) .key-highlights h3 { color: var(--blue) !important; }
  :root:not([data-theme="light"]) .highlight-list li { color: var(--text-2) !important; }
  :root:not([data-theme="light"]) .highlight-list li::before { color: var(--blue) !important; }
  :root:not([data-theme="light"]) .analysis-section { background: var(--card-bg) !important; border-color: var(--card-border) !important; }
  :root:not([data-theme="light"]) .analysis-section h3 { color: var(--blue) !important; }
  :root:not([data-theme="light"]) .analysis-section h3 .section-icon { background: var(--ice) !important; }
  :root:not([data-theme="light"]) .analysis-section .section-body { color: var(--text-2) !important; }
  :root:not([data-theme="light"]) .quote-card { background: var(--card-bg) !important; border-color: var(--card-border) !important; border-left-color: var(--blue) !important; color: var(--text-3) !important; }
  :root:not([data-theme="light"]) .transcript-section { background: var(--card-bg) !important; border-color: var(--card-border) !important; }
  :root:not([data-theme="light"]) .transcript-toggle { color: var(--blue) !important; }
  :root:not([data-theme="light"]) .transcript-toggle svg { stroke: var(--blue); }
  :root:not([data-theme="light"]) .transcript-text-inner { color: var(--text-3) !important; }
  :root:not([data-theme="light"]) .transcript-badge { background: rgba(5,150,105,0.12) !important; color: var(--green) !important; }
}
:root[data-theme="dark"] .key-highlights { background: rgba(96,165,250,0.08) !important; border-color: rgba(96,165,250,0.12) !important; }
:root[data-theme="dark"] .key-highlights h3 { color: var(--blue) !important; }
:root[data-theme="dark"] .highlight-list li { color: var(--text-2) !important; }
:root[data-theme="dark"] .highlight-list li::before { color: var(--blue) !important; }
:root[data-theme="dark"] .analysis-section { background: var(--card-bg) !important; border-color: var(--card-border) !important; }
:root[data-theme="dark"] .analysis-section h3 { color: var(--blue) !important; }
:root[data-theme="dark"] .analysis-section h3 .section-icon { background: var(--ice) !important; }
:root[data-theme="dark"] .analysis-section .section-body { color: var(--text-2) !important; }
:root[data-theme="dark"] .quote-card { background: var(--card-bg) !important; border-color: var(--card-border) !important; border-left-color: var(--blue) !important; color: var(--text-3) !important; }
:root[data-theme="dark"] .transcript-section { background: var(--card-bg) !important; border-color: var(--card-border) !important; }
:root[data-theme="dark"] .transcript-toggle { color: var(--blue) !important; }
:root[data-theme="dark"] .transcript-toggle svg { stroke: var(--blue); }
:root[data-theme="dark"] .transcript-text-inner { color: var(--text-3) !important; }
:root[data-theme="dark"] .transcript-badge { background: rgba(5,150,105,0.12) !important; color: var(--green) !important; }

/* ── Theme toggle ── */
.theme-toggle{background:none;border:1.5px solid var(--rule);border-radius:8px;width:34px;height:34px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color 0.15s,background 0.15s;flex-shrink:0;}
.theme-toggle:hover{border-color:var(--navy);background:var(--ice);}
.theme-toggle svg{width:16px;height:16px;stroke:var(--text-3);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:opacity 0.2s;}
.icon-sun{display:none;}
.icon-moon{display:block;}
:root[data-theme="dark"] .icon-sun{display:block;}
:root[data-theme="dark"] .icon-moon{display:none;}
@media(prefers-color-scheme:dark){
  :root:not([data-theme="light"]) .icon-sun{display:block;}
  :root:not([data-theme="light"]) .icon-moon{display:none;}
}

/* ── Loading skeleton ── */
.skeleton{background:linear-gradient(90deg,var(--rule) 25%,transparent 50%,var(--rule) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:8px;}
@keyframes shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
.skeleton-card{height:220px;border-radius:12px;}
.skeleton-text{height:16px;margin-bottom:8px;width:60%;}
.skeleton-text-sm{height:12px;margin-bottom:6px;width:40%;}

/* ── Audio mini player ── */
.mini-player{display:flex;align-items:center;gap:10px;margin-top:12px;}
.play-btn{width:36px;height:36px;border-radius:50%;background:var(--navy);color:white;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform 0.15s;}
.play-btn:hover{transform:scale(1.08);}
.play-btn svg{width:14px;height:14px;fill:white;margin-left:2px;}
.play-btn.playing svg{margin-left:0;}
.audio-progress{flex:1;height:4px;background:var(--rule);border-radius:2px;overflow:hidden;cursor:pointer;}
.audio-progress:hover{height:6px;}
.audio-progress-fill{height:100%;background:var(--navy);border-radius:2px;transition:width 0.1s linear;}
.audio-time{font-family:var(--mono);font-size:11px;color:var(--text-4);flex-shrink:0;min-width:36px;}

/* ══════════════════════════════════════════════════════════════
   DARK: New components (Tiers 1-3 enhancements)
   ══════════════════════════════════════════════════════════════ */

/* ── DARK: Hero latest episode (index.html) ── */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .hero-latest { background: linear-gradient(135deg, #060912 0%, #111d30 100%) !important; border-color: var(--card-border) !important; }
  :root:not([data-theme="light"]) .hero-latest-content .hero-title { color: var(--text) !important; }
  :root:not([data-theme="light"]) .hero-snippet { color: var(--text-3) !important; }
  :root:not([data-theme="light"]) .hero-stats { color: var(--text-4) !important; }
  :root:not([data-theme="light"]) .hero-next-ep { color: var(--text-4) !important; }
  :root:not([data-theme="light"]) .btn-play-latest { background: var(--blue) !important; color: #0a0f1a !important; }
  :root:not([data-theme="light"]) .btn-view-latest { color: var(--blue) !important; border-color: var(--blue) !important; }
  :root:not([data-theme="light"]) .hero-latest-card { background: rgba(255,255,255,0.04) !important; border-color: rgba(255,255,255,0.08) !important; }
}
:root[data-theme="dark"] .hero-latest { background: linear-gradient(135deg, #060912 0%, #111d30 100%) !important; border-color: var(--card-border) !important; }
:root[data-theme="dark"] .hero-latest-content .hero-title { color: var(--text) !important; }
:root[data-theme="dark"] .hero-snippet { color: var(--text-3) !important; }
:root[data-theme="dark"] .hero-stats { color: var(--text-4) !important; }
:root[data-theme="dark"] .hero-next-ep { color: var(--text-4) !important; }
:root[data-theme="dark"] .btn-play-latest { background: var(--blue) !important; color: #0a0f1a !important; }
:root[data-theme="dark"] .btn-view-latest { color: var(--blue) !important; border-color: var(--blue) !important; }
:root[data-theme="dark"] .hero-latest-card { background: rgba(255,255,255,0.04) !important; border-color: rgba(255,255,255,0.08) !important; }

/* ── DARK: LIVE / Upcoming / NEW badges ── */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .hero-live-badge { background: rgba(5,150,105,0.2) !important; }
  :root:not([data-theme="light"]) .hero-upcoming-badge { background: rgba(217,119,6,0.2) !important; }
  :root:not([data-theme="light"]) .hero-is-live { box-shadow: 0 0 0 1px rgba(5,150,105,0.3), 0 8px 32px rgba(5,150,105,0.15) !important; }
  :root:not([data-theme="light"]) .badge-new { background: var(--blue) !important; }
  :root:not([data-theme="light"]) .hero-new-tag { background: var(--blue) !important; }
}
:root[data-theme="dark"] .hero-live-badge { background: rgba(5,150,105,0.2) !important; }
:root[data-theme="dark"] .hero-upcoming-badge { background: rgba(217,119,6,0.2) !important; }
:root[data-theme="dark"] .hero-is-live { box-shadow: 0 0 0 1px rgba(5,150,105,0.3), 0 8px 32px rgba(5,150,105,0.15) !important; }
:root[data-theme="dark"] .badge-new { background: var(--blue) !important; }
:root[data-theme="dark"] .hero-new-tag { background: var(--blue) !important; }

/* ── DARK: Audio loading spinner ── */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .audio-loading { color: var(--text-4) !important; }
  :root:not([data-theme="light"]) .audio-spinner { border-color: var(--card-border) !important; border-top-color: var(--blue) !important; }
}
:root[data-theme="dark"] .audio-loading { color: var(--text-4) !important; }
:root[data-theme="dark"] .audio-spinner { border-color: var(--card-border) !important; border-top-color: var(--blue) !important; }

/* ── DARK: Season tabs ── */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .season-tabs { border-color: var(--card-border) !important; }
  :root:not([data-theme="light"]) .season-tab { color: var(--text-4) !important; border-color: transparent !important; }
  :root:not([data-theme="light"]) .season-tab.active { color: var(--blue) !important; border-color: var(--blue) !important; }
  :root:not([data-theme="light"]) .season-empty { color: var(--text-3) !important; }
  :root:not([data-theme="light"]) .season-empty a { color: var(--blue) !important; }
}
:root[data-theme="dark"] .season-tabs { border-color: var(--card-border) !important; }
:root[data-theme="dark"] .season-tab { color: var(--text-4) !important; border-color: transparent !important; }
:root[data-theme="dark"] .season-tab.active { color: var(--blue) !important; border-color: var(--blue) !important; }
:root[data-theme="dark"] .season-empty { color: var(--text-3) !important; }
:root[data-theme="dark"] .season-empty a { color: var(--blue) !important; }

/* ── DARK: Topic filter chips ── */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .filter-chip { background: var(--card-bg) !important; border-color: var(--card-border) !important; color: var(--text-3) !important; }
  :root:not([data-theme="light"]) .filter-chip:hover { border-color: var(--blue) !important; color: var(--blue) !important; }
  :root:not([data-theme="light"]) .filter-chip.active { background: var(--ice) !important; border-color: var(--blue) !important; color: var(--blue) !important; }
}
:root[data-theme="dark"] .filter-chip { background: var(--card-bg) !important; border-color: var(--card-border) !important; color: var(--text-3) !important; }
:root[data-theme="dark"] .filter-chip:hover { border-color: var(--blue) !important; color: var(--blue) !important; }
:root[data-theme="dark"] .filter-chip.active { background: var(--ice) !important; border-color: var(--blue) !important; color: var(--blue) !important; }

/* ── DARK: Topic tag pills on cards ── */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .topic-tag { opacity: 0.85; }
  :root:not([data-theme="light"]) .transcript-tag { background: rgba(5,150,105,0.15) !important; color: var(--green) !important; }
}
:root[data-theme="dark"] .topic-tag { opacity: 0.85; }
:root[data-theme="dark"] .transcript-tag { background: rgba(5,150,105,0.15) !important; color: var(--green) !important; }

/* ── DARK: Email subscribe ── */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .email-subscribe { background: var(--card-bg) !important; border-color: var(--card-border) !important; }
  :root:not([data-theme="light"]) .email-subscribe h3 { color: var(--text) !important; }
  :root:not([data-theme="light"]) .email-subscribe p { color: var(--text-3) !important; }
  :root:not([data-theme="light"]) .subscribe-input { background: var(--bg) !important; border-color: var(--card-border) !important; color: var(--text) !important; }
  :root:not([data-theme="light"]) .subscribe-input:focus { border-color: var(--blue) !important; }
  :root:not([data-theme="light"]) .subscribe-btn { background: var(--blue) !important; color: #0a0f1a !important; }
}
:root[data-theme="dark"] .email-subscribe { background: var(--card-bg) !important; border-color: var(--card-border) !important; }
:root[data-theme="dark"] .email-subscribe h3 { color: var(--text) !important; }
:root[data-theme="dark"] .email-subscribe p { color: var(--text-3) !important; }
:root[data-theme="dark"] .subscribe-input { background: var(--bg) !important; border-color: var(--card-border) !important; color: var(--text) !important; }
:root[data-theme="dark"] .subscribe-input:focus { border-color: var(--blue) !important; }
:root[data-theme="dark"] .subscribe-btn { background: var(--blue) !important; color: #0a0f1a !important; }

/* ── DARK: TOC sidebar (episode.html) ── */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .toc-sidebar { background: var(--card-bg) !important; border-color: var(--card-border) !important; }
  :root:not([data-theme="light"]) .toc-sidebar h4 { color: var(--text-4) !important; }
  :root:not([data-theme="light"]) .toc-sidebar li { color: var(--text-3) !important; }
  :root:not([data-theme="light"]) .toc-sidebar li.active { color: var(--blue) !important; }
  :root:not([data-theme="light"]) .toc-sidebar li:hover { color: var(--blue) !important; }
  :root:not([data-theme="light"]) .toc-float-btn { background: var(--card-bg) !important; border-color: var(--card-border) !important; color: var(--blue) !important; }
  :root:not([data-theme="light"]) .toc-sheet { background: var(--card-bg) !important; border-color: var(--card-border) !important; }
  :root:not([data-theme="light"]) .toc-sheet li { color: var(--text-3) !important; }
  :root:not([data-theme="light"]) .toc-sheet li:hover { color: var(--blue) !important; }
}
:root[data-theme="dark"] .toc-sidebar { background: var(--card-bg) !important; border-color: var(--card-border) !important; }
:root[data-theme="dark"] .toc-sidebar h4 { color: var(--text-4) !important; }
:root[data-theme="dark"] .toc-sidebar li { color: var(--text-3) !important; }
:root[data-theme="dark"] .toc-sidebar li.active { color: var(--blue) !important; }
:root[data-theme="dark"] .toc-sidebar li:hover { color: var(--blue) !important; }
:root[data-theme="dark"] .toc-float-btn { background: var(--card-bg) !important; border-color: var(--card-border) !important; color: var(--blue) !important; }
:root[data-theme="dark"] .toc-sheet { background: var(--card-bg) !important; border-color: var(--card-border) !important; }
:root[data-theme="dark"] .toc-sheet li { color: var(--text-3) !important; }
:root[data-theme="dark"] .toc-sheet li:hover { color: var(--blue) !important; }

/* ── DARK: Chapter jump pills (episode.html) ── */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .chapter-pills { border-color: var(--card-border) !important; }
  :root:not([data-theme="light"]) .chapter-pill { background: var(--card-bg) !important; border-color: var(--card-border) !important; color: var(--text-3) !important; }
  :root:not([data-theme="light"]) .chapter-pill:hover { border-color: var(--blue) !important; color: var(--blue) !important; background: var(--ice) !important; }
}
:root[data-theme="dark"] .chapter-pills { border-color: var(--card-border) !important; }
:root[data-theme="dark"] .chapter-pill { background: var(--card-bg) !important; border-color: var(--card-border) !important; color: var(--text-3) !important; }
:root[data-theme="dark"] .chapter-pill:hover { border-color: var(--blue) !important; color: var(--blue) !important; background: var(--ice) !important; }

/* ── DARK: Sleep timer (episode.html) ── */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .sleep-dropdown { background: var(--card-bg) !important; border-color: var(--card-border) !important; }
  :root:not([data-theme="light"]) .sleep-option { color: var(--text-3) !important; }
  :root:not([data-theme="light"]) .sleep-option:hover { background: var(--ice) !important; color: var(--blue) !important; }
}
:root[data-theme="dark"] .sleep-dropdown { background: var(--card-bg) !important; border-color: var(--card-border) !important; }
:root[data-theme="dark"] .sleep-option { color: var(--text-3) !important; }
:root[data-theme="dark"] .sleep-option:hover { background: var(--ice) !important; color: var(--blue) !important; }

/* ── DARK: Volume control (episode.html) ── */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .volume-slider::-webkit-slider-thumb { background: white; }
  :root:not([data-theme="light"]) .volume-slider::-moz-range-thumb { background: white; }
}
:root[data-theme="dark"] .volume-slider::-webkit-slider-thumb { background: white; }
:root[data-theme="dark"] .volume-slider::-moz-range-thumb { background: white; }

/* ── DARK: Shortcuts tooltip (episode.html) ── */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .shortcuts-tooltip { background: #060912 !important; border-color: var(--card-border) !important; }
  :root:not([data-theme="light"]) .shortcuts-btn { border-color: rgba(255,255,255,0.15) !important; color: var(--text-4) !important; }
  :root:not([data-theme="light"]) .shortcuts-btn:hover { color: var(--blue) !important; border-color: var(--blue) !important; }
}
:root[data-theme="dark"] .shortcuts-tooltip { background: #060912 !important; border-color: var(--card-border) !important; }
:root[data-theme="dark"] .shortcuts-btn { border-color: rgba(255,255,255,0.15) !important; color: var(--text-4) !important; }
:root[data-theme="dark"] .shortcuts-btn:hover { color: var(--blue) !important; border-color: var(--blue) !important; }

/* ── DARK: Related episodes (episode.html) ── */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .related-episodes { background: transparent !important; }
  :root:not([data-theme="light"]) .related-episodes h3 { color: var(--text-4) !important; }
  :root:not([data-theme="light"]) .related-card { background: var(--card-bg) !important; border-color: var(--card-border) !important; }
  :root:not([data-theme="light"]) .related-card:hover { border-color: var(--blue) !important; }
  :root:not([data-theme="light"]) .related-card .related-label { color: var(--blue) !important; }
  :root:not([data-theme="light"]) .related-card .related-date { color: var(--text-4) !important; }
  :root:not([data-theme="light"]) .related-topic-tag { background: var(--ice) !important; color: var(--blue) !important; }
}
:root[data-theme="dark"] .related-episodes { background: transparent !important; }
:root[data-theme="dark"] .related-episodes h3 { color: var(--text-4) !important; }
:root[data-theme="dark"] .related-card { background: var(--card-bg) !important; border-color: var(--card-border) !important; }
:root[data-theme="dark"] .related-card:hover { border-color: var(--blue) !important; }
:root[data-theme="dark"] .related-card .related-label { color: var(--blue) !important; }
:root[data-theme="dark"] .related-card .related-date { color: var(--text-4) !important; }
:root[data-theme="dark"] .related-topic-tag { background: var(--ice) !important; color: var(--blue) !important; }

/* ── DARK: Focus-visible for new buttons ── */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .season-tab:focus-visible,
  :root:not([data-theme="light"]) .filter-chip:focus-visible,
  :root:not([data-theme="light"]) .subscribe-btn:focus-visible,
  :root:not([data-theme="light"]) .chapter-pill:focus-visible,
  :root:not([data-theme="light"]) .toc-float-btn:focus-visible { outline-color: var(--blue) !important; }
}

/* ── Focus-visible for keyboard nav ── */
.ep-btn:focus-visible,.platform-btn:focus-visible,.sort-btn:focus-visible,.rss-btn:focus-visible,.share-btn:focus-visible,.audio-play-btn:focus-visible,.back-top:focus-visible,.ep-nav-link:focus-visible,.ep-card:focus-visible,.search-box:focus-visible{
  outline:2px solid var(--blue);outline-offset:2px;
}
.speed-btn:focus-visible{outline:1px solid white;outline-offset:1px;}

/* ── Responsive polish ── */
@media(max-width:600px){
  .share-row{flex-wrap:wrap;}
  .speed-control{gap:4px;}
  .speed-btn{padding:3px 6px;font-size:9px;}
  .ep-detail-art{width:56px;height:56px;border-radius:8px;}
  .filter-bar .rss-btn{display:none;}
}
