﻿/* Authoritative light-mode layer for non-home pages.
   Loaded after page CSS to stop override drift. */

:root[data-theme='light'] body:is(.glass-page, .songs-glass-page) {
  --light-bg: #f1ece2;
  --light-surface: #f7f3ea;
  --light-surface-2: #efe8db;
  --light-border: #d6cbb7;
  --light-text: #18355f;
  --light-muted: #3c557a;
  --light-control-bg: #fbf8f2;
  --light-control-border: #c9bda8;
  --light-control-text: #1a375f;
  background-color: var(--light-bg) !important;
  background-image: none !important;
  color: var(--light-text) !important;
}

/* Hero gets the ukulele image as background; gradient overlay keeps text readable. */
:root[data-theme='light'] body.glass-page :is(
  .songs-hero,
  .hero,
  .flashcards-hero,
  .patterns-hero,
  .keys-hero,
  .tools-hero,
  .practice-hero
),
:root[data-theme='light'] body.songs-glass-page .songs-hero {
  background:
    url("hero-uke.png") right bottom / contain no-repeat,
    var(--light-surface) !important;
  border: 1px solid var(--light-border) !important;
  box-shadow: 0 8px 18px rgba(73, 62, 43, 0.08) !important;
}

/* Guided journey heroes get a plain surface — no ukulele image */
:root[data-theme='light'] body.glass-page .rhythm-path-hero {
  background: var(--light-surface) !important;
  border: 1px solid var(--light-border) !important;
  box-shadow: 0 8px 18px rgba(73, 62, 43, 0.08) !important;
}

/* Ensure text on heroes meets contrast. */
:root[data-theme='light'] body:is(.glass-page, .songs-glass-page) :is(
  .songs-hero,
  .hero,
  .flashcards-hero,
  .patterns-hero,
  .keys-hero,
  .tools-hero,
  .rhythm-path-hero,
  .practice-hero
) :is(h1, h2, h3, h4, p, li, span, div, label) {
  color: var(--light-text) !important;
  text-shadow: none !important;
}

/* Keep brand gold accents, but only where intended. */
:root[data-theme='light'] body:is(.glass-page, .songs-glass-page) :is(
  .hero-kicker,
  .songs-hero-kicker,
  .songs-hero-accent,
  .section-kicker,
  .song-kicker,
  .song-kicker-genre,
  .filter-title,
  .results-label,
  .siteFooter-brand .brand-beat
) {
  color: var(--gold) !important;
}

/* Cards/panels one step darker than hero for hierarchy. */
:root[data-theme='light'] body:is(.glass-page, .songs-glass-page) :is(
  .page-shell,
  .panel,
  .card,
  .tool-card,
  .flashcards-shell,
  .about-main,
  .about-sidebar,
  .narrative-wrap,
  .narrative-section,
  .credits-wrap,
  .service-card,
  .filters,
  .flow-helper
) {
  background-color: var(--light-surface-2) !important;
  background-image: none !important;
  border: 1px solid var(--light-border) !important;
  box-shadow: 0 6px 14px rgba(73, 62, 43, 0.06) !important;
  color: var(--light-text) !important;
}

/* Song cards and hero surfaces: warm white lift above page background. */
:root[data-theme='light'] body.songs-glass-page .song-card {
  background-color: #FFFAEC !important;
  background-image: none !important;
  border: 1px solid var(--light-border) !important;
  box-shadow: 0 2px 8px rgba(73, 62, 43, 0.07) !important;
  color: var(--light-text) !important;
}

:root[data-theme='light'] body:is(.glass-page, .songs-glass-page) :is(
  .hero,
  .hero-grid,
  .songs-hero,
  .keys-hero,
  .hero-grid-keys,
  .tools-hero,
  .patterns-hero
) {
  background-color: #FFFAEC !important;
}

/* Footer copyright row separator. */
:root[data-theme='light'] body:is(.glass-page, .songs-glass-page) .siteFooter-copy {
  border-top-color: var(--light-border) !important;
  color: var(--light-muted) !important;
}

/* Footer: plain separator, no card box. */
:root[data-theme='light'] body:is(.glass-page, .songs-glass-page) .siteFooter {
  background: transparent !important;
  background-image: none !important;
  border: none !important;
  border-top: 1px solid var(--light-border) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  color: var(--light-muted) !important;
}

/* Remove glass-card border-radius on page containers in light mode. */
:root[data-theme='light'] body.songs-glass-page :is(
  .songs-hero,
  .songs-shell,
  .filters,
  .results-header,
  .song-index-footer
) {
  border-radius: 0 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

:root[data-theme='light'] body:is(.glass-page, .songs-glass-page) :is(
  .page-shell,
  .panel,
  .card,
  .tool-card,
  .flashcards-shell,
  .about-main,
  .about-sidebar,
  .narrative-wrap,
  .narrative-section,
  .credits-wrap,
  .service-card,
  .song-card,
  .filters,
  .flow-helper,
  .siteFooter
) :is(p, li, small, span, div, label, dt, dd, td, th, legend, strong, b, h1, h2, h3, h4) {
  color: var(--light-text) !important;
}

:root[data-theme='light'] body:is(.glass-page, .songs-glass-page) :is(
  .muted,
  .hint,
  .helper,
  .subtitle,
  .meta,
  .caption,
  [class*="muted"],
  [class*="hint"],
  [class*="subtitle"],
  [class*="meta"]
) {
  color: var(--light-muted) !important;
}

/* Nav family look with readable text. */
:root[data-theme='light'] body:is(.glass-page, .songs-glass-page) .nav-links {
  background-color: var(--light-control-bg) !important;
  background-image: none !important;
  border: 1px solid var(--light-control-border) !important;
  border-radius: 999px !important;
}

:root[data-theme='light'] body:is(.glass-page, .songs-glass-page) .nav-link {
  background: transparent !important;
  border: 1px solid transparent !important;
  color: #4a5873 !important;
}

:root[data-theme='light'] body:is(.glass-page, .songs-glass-page) .nav-link:hover,
:root[data-theme='light'] body:is(.glass-page, .songs-glass-page) .nav-link:focus-visible {
  color: var(--light-text) !important;
  border-color: var(--light-control-border) !important;
  background-color: rgba(255, 255, 255, 0.7) !important;
}

:root[data-theme='light'] body:is(.glass-page, .songs-glass-page) .nav-link.active {
  color: #6a3e06 !important;
  border-color: #D9A21B !important;
  background-color: rgba(240, 224, 160, 0.45) !important;
}

/* Toggle and controls readable everywhere. */
:root[data-theme='light'] body:is(.glass-page, .songs-glass-page) :is(.theme-toggle, .theme-toggle-btn) {
  background-color: var(--light-control-bg) !important;
  background-image: none !important;
  border-color: var(--light-control-border) !important;
  color: var(--light-control-text) !important;
  text-shadow: none !important;
}

:root[data-theme='light'] body:is(.glass-page, .songs-glass-page) :is(select, input, textarea, option) {
  background-color: var(--light-control-bg) !important;
  background-image: none !important;
  border-color: var(--light-control-border) !important;
  color: var(--light-control-text) !important;
}

/* Pills and badges must be readable in light mode. */
:root[data-theme='light'] body:is(.glass-page, .songs-glass-page) :is([class*="pill"], [class*="badge"], .feel-badge) {
  color: var(--light-control-text) !important;
  text-shadow: none !important;
}

/* Patterns page: outer shell should be invisible (no border line) */
body.glass-page .page-shell.patterns-shell,
:root[data-theme='light'] body.glass-page .page-shell.patterns-shell {
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

/* Songsheet template: full light-mode pass, including sticky controls. */
:root[data-theme='light'] body:is(.glass-page, .songs-glass-page) {
  --bg-top: var(--light-bg);
  --bg-bottom: #e9dfcc;
  --panel: var(--light-surface);
  --panel-border: var(--light-border);
  --surface-card: #fbf8f2;
  --surface-card-strong: #fffaf1;
  --surface-card-soft: #efe8db;
  --text: var(--light-text);
  --muted: var(--light-muted);
  --brand-amber: #D9A21B;
  --gold: #D9A21B;
  --gold-bright: #D9A21B;
  --gold-deep: #A87C12;
  --teal-active-chord-dot: #1483B5;
  --song-chord-label: #A87C12;
  --song-chord-label-active: #1483B5;
  --song-playhead-highlight: rgba(15, 127, 135, 0.72);
  --song-playhead-highlight-soft: rgba(15, 127, 135, 0.18);
  --song-active-ring: rgba(15, 127, 135, 0.42);
  --song-active-ring-soft: rgba(15, 127, 135, 0.12);
  --grid: rgba(24, 53, 95, 0.12);
  --barline: rgba(24, 53, 95, 0.28);
  --active-glow: rgba(15, 127, 135, 0.22);
}

:root[data-theme='light'] body.glass-page :is(
  .sheet,
  .layout,
  .print-song-grid,
  .header-card,
  .title-card,
  .sticky-playbar,
  .chord-drawer,
  .chord-guide-panel,
  .rhythm-player-panel,
  .spotify-panel,
  .yt-panel,
  .mobile-play-header,
  .dev-lyric-edit-bar
) {
  background: var(--light-surface) !important;
  background-image: none !important;
  border-color: var(--light-border) !important;
  color: var(--light-text) !important;
  box-shadow: 0 10px 24px rgba(73, 62, 43, 0.08) !important;
  text-shadow: none !important;
}

:root[data-theme='light'] body.glass-page :is(.sheet, .layout) {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
}

:root[data-theme='light'] body.glass-page .print-song-grid {
  background: transparent !important;
  border-color: var(--light-border) !important;
  box-shadow: none !important;
}

:root[data-theme='light'] body.glass-page :is(
  .sticky-playbar,
  .title-card,
  .mobile-play-header
) {
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  background: rgba(247, 243, 234, 0.94) !important;
}

:root[data-theme='light'] body.glass-page :is(
  .sticky-playbar-controls,
  .sticky-control-toggles,
  .sticky-control-actions,
  .sticky-chord-options,
  .sticky-chord-guide,
  .sticky-control-utility-row,
  .desktop-title-actions,
  .mobile-play-actions
) {
  color: var(--light-text) !important;
}

:root[data-theme='light'] body.glass-page .sticky-playbar-controls {
  border-top-color: rgba(24, 53, 95, 0.14) !important;
}

:root[data-theme='light'] body.glass-page :is(
  .live-chord-card,
  .chord-card,
  .context-pill,
  .tempo-pill,
  .toggle,
  .pattern-preview-control,
  .chord-display-toggle,
  .count-in-notice,
  .lyric-edit-measure
) {
  background: var(--light-control-bg) !important;
  background-image: none !important;
  border-color: var(--light-control-border) !important;
  color: var(--light-control-text) !important;
  box-shadow: 0 3px 10px rgba(73, 62, 43, 0.05) !important;
}

:root[data-theme='light'] body.glass-page :is(
  .pattern-preview-select,
  .tempo-slider,
  .lyric-edit-input,
  .chord-edit-input
) {
  background: #fffaf1 !important;
  background-image: none !important;
  border-color: var(--light-control-border) !important;
  color: var(--light-control-text) !important;
}

:root[data-theme='light'] body.glass-page :is(
  .btn,
  .song-index-link,
  .compact-show-controls,
  .playbar-restore-btn,
  .playbar-restore-strip .btn.playbar-stop-btn,
  .compact-rhythm-toggle,
  .mobile-rhythm-toggle,
  .mobile-info-toggle,
  .yt-launch-link,
  .yt-trigger,
  .music-link-circle,
  .toggle-print,
  .dev-edit-mode-button,
  .lyric-edit-delete-line,
  .dev-lyric-edit-actions button,
  .dev-lyric-edit-actions a
) {
  background: #fbf8f2 !important;
  background-image: none !important;
  border-color: var(--light-control-border) !important;
  color: var(--light-control-text) !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

:root[data-theme='light'] body.glass-page .lyric-edit-delete-line {
  background: #fff3ef !important;
  border-color: #d7a098 !important;
  color: #8f2f23 !important;
}

:root[data-theme='light'] body.glass-page :is(.compact-show-controls, .playbar-restore-btn, .yt-launch-link) {
  background: #fbf8f2 !important;
  border-color: var(--light-control-border) !important;
  color: var(--light-control-text) !important;
}

:root[data-theme='light'] body.glass-page :is(.compact-show-controls, .playbar-restore-btn, .yt-launch-link):hover,
:root[data-theme='light'] body.glass-page :is(.compact-show-controls, .playbar-restore-btn, .yt-launch-link):focus-visible {
  background: #fffaf1 !important;
  border-color: #b9a98e !important;
  color: var(--light-text) !important;
}

:root[data-theme='light'] body.glass-page :is(
  .btn-play,
  .compact-rhythm-toggle,
  .mobile-rhythm-toggle,
  .dev-lyric-edit-actions button:first-child
) {
  background: #1483B5 !important;
  border-color: #1483B5 !important;
  color: #ffffff !important;
}

:root[data-theme='light'] body.glass-page :is(.btn-stop, .is-playing) {
  background: #b9610b !important;
  border-color: #b9610b !important;
  color: #ffffff !important;
}

:root[data-theme='light'] body.glass-page :is(
  .title-card h1,
  .mobile-play-title,
  .section-title,
  .live-chord-name,
  .current-chord-name,
  .next-chord-name,
  .chord-card-name,
  .print-chord-name,
  .lyrics,
  .lyrics-slot,
  .lyrics-full,
  .song-line,
  .song-meta,
  .title-card-note,
  .mobile-song-info,
  .pattern-preview-label,
  .live-chord-label,
  .dev-lyric-edit-bar span
) {
  color: var(--light-text) !important;
  text-shadow: none !important;
}

:root[data-theme='light'] body.glass-page :is(
  .live-chord-label,
  .pattern-preview-label,
  .title-card-pattern-theory,
  .song-meta strong,
  .mobile-play-meta,
  .dev-lyric-edit-status
) {
  color: var(--light-muted) !important;
}

:root[data-theme='light'] body.glass-page :is(
  .live-chord-name,
  .chord-change,
  .chord-label-root,
  .ipl-chord,
  .chord-card-degree,
  .title-card-pattern-name,
  .section-title,
  .lyric-edit-chord
) {
  color: #073f7a !important;
}

:root[data-theme='light'] body.glass-page .live-chord-name-next {
  color: var(--light-text) !important;
}

:root[data-theme='light'] body.glass-page :is(.measure.current, .song-line.is-active) {
  background: rgba(15, 127, 135, 0.08) !important;
  box-shadow: inset 0 0 0 1px rgba(15, 127, 135, 0.18) !important;
}

:root[data-theme='light'] body.glass-page .print-song-grid .section {
  background: #f7f1e4 !important;
  border: 1px solid rgba(190, 178, 154, 0.58) !important;
  border-radius: 12px !important;
  overflow: hidden !important;
}

:root[data-theme='light'] body.glass-page .print-song-grid .section-title {
  padding: 10px 18px 2px !important;
  color: #A87C12 !important;
}

:root[data-theme='light'] body.glass-page .print-song-grid .section > div.song-line {
  background: #f7f1e4 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 18px !important;
  padding-right: 18px !important;
}

:root[data-theme='light'] body.glass-page .print-song-grid .section > div.song-line:nth-of-type(odd) {
  background: #f7f1e4 !important;
}

:root[data-theme='light'] body.glass-page .print-song-grid .section > div.song-line:nth-of-type(even) {
  background: #eee8dc !important;
}

:root[data-theme='light'] body.glass-page .print-song-grid .section > div.song-line + div.song-line {
  box-shadow: inset 0 1px 0 rgba(24, 53, 95, 0.13) !important;
}

:root[data-theme='light'] body.glass-page :is(.chord-rail, .timeline) {
  border-color: rgba(24, 53, 95, 0.12) !important;
}

:root[data-theme='light'] body.glass-page .measure + .measure::before,
:root[data-theme='light'] body.glass-page .measure.pickup .timeline::before,
:root[data-theme='light'] body.glass-page .timeline::before,
:root[data-theme='light'] body.glass-page .timeline::after {
  background: rgba(24, 53, 95, 0.18) !important;
}

:root[data-theme='light'] body.glass-page .measure + .measure::before {
  height: 28px !important;
  width: 1px !important;
}

:root[data-theme='light'] body.glass-page :is(.lyrics, .lyrics-slot, .lyrics-full, .ipl-lyric) {
  color: #173f70 !important;
}

:root[data-theme='light'] body.glass-page .ghost-pattern {
  color: rgba(24, 53, 95, 0.26) !important;
}

:root[data-theme='light'] body.glass-page .ghost-beat-dot,
:root[data-theme='light'] body.glass-page .ghost-pattern-dot,
:root[data-theme='light'] body.glass-page .stroke.ghost .stroke-dot {
  background: rgba(24, 53, 95, 0.16) !important;
  box-shadow: none !important;
  opacity: 1 !important;
}

:root[data-theme='light'] body.glass-page .stroke.rest .stroke-dash {
  color: rgba(24, 53, 95, 0.25) !important;
}

:root[data-theme='light'] body.glass-page :is(.diagram-grid, .diagram-top) {
  stroke: rgba(24, 53, 95, 0.68) !important;
}

:root[data-theme='light'] body.glass-page .chord-helper-bubble {
  background: var(--light-control-bg) !important;
  border-color: var(--light-control-border) !important;
  box-shadow: 0 12px 28px rgba(73, 62, 43, 0.14) !important;
  color: var(--light-text) !important;
}

:root[data-theme='light'] body.glass-page .chord-helper-name {
  color: #073f7a !important;
}

:root[data-theme='light'] body.glass-page .chord-helper-diagram {
  background: transparent !important;
}

:root[data-theme='light'] body.glass-page .diagram-dot {
  fill: #D9A21B !important;
}

:root[data-theme='light'] body.glass-page :is(#currentChordDiagram .diagram-dot, .chord-card.active .diagram-dot) {
  fill: #1483B5 !important;
}

:root[data-theme='light'] body.glass-page .diagram-open {
  fill: rgba(24, 53, 95, 0.72) !important;
}

:root[data-theme='light'] body.glass-page .diagram-fret-number {
  fill: rgba(24, 53, 95, 0.72) !important;
}

:root[data-theme='light'] body.glass-page .diagram-finger {
  fill: #ffffff !important;
}

/* Light-mode dropdowns: match the dark panel menu language */
:root[data-theme='light'] body:is(.glass-page, .songs-glass-page) :is(
  .filters,
  .controls-panel,
  .control-card,
  .controlsVertical,
  .tool-card,
  .tool-control,
  .flashcards-control,
  .pattern-preview-control
) select,
:root[data-theme='light'] body.songs-glass-page .filter-group select {
  -webkit-appearance: none !important;
  appearance: none !important;
  min-height: 36px !important;
  width: 100% !important;
  padding: 5px 24px 7px 0 !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(24, 53, 95, 0.26) !important;
  border-radius: 0 !important;
  background-color: transparent !important;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2318355f' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 2px center !important;
  background-size: 14px 14px !important;
  color: #18355f !important;
  box-shadow: none !important;
  font-weight: 700 !important;
}

:root[data-theme='light'] body:is(.glass-page, .songs-glass-page) :is(
  .filters,
  .controls-panel,
  .control-card,
  .controlsVertical,
  .tool-card,
  .tool-control,
  .flashcards-control,
  .pattern-preview-control
) select:hover,
:root[data-theme='light'] body:is(.glass-page, .songs-glass-page) :is(
  .filters,
  .controls-panel,
  .control-card,
  .controlsVertical,
  .tool-card,
  .tool-control,
  .flashcards-control,
  .pattern-preview-control
) select:focus,
:root[data-theme='light'] body:is(.glass-page, .songs-glass-page) :is(
  .filters,
  .controls-panel,
  .control-card,
  .controlsVertical,
  .tool-card,
  .tool-control,
  .flashcards-control,
  .pattern-preview-control
) select:focus-visible,
:root[data-theme='light'] body.songs-glass-page .filter-group select:hover,
:root[data-theme='light'] body.songs-glass-page .filter-group select:focus,
:root[data-theme='light'] body.songs-glass-page .filter-group select:focus-visible {
  border-bottom-color: rgba(24, 53, 95, 0.48) !important;
  background-color: rgba(24, 53, 95, 0.055) !important;
  outline: none !important;
  box-shadow: none !important;
}

:root[data-theme='light'] body:is(.glass-page, .songs-glass-page) select option {
  color: #18355f !important;
  background: #fffaf1 !important;
}

/* ============================================================
   Drills, games & guided journey — no navy in light mode
   practice.html, rhythm-path, flashcards, progression trivia,
   tools drills/game, practice-studio
   ============================================================ */

/* Guided practice sessions (practice.html) — remap navy tokens */
:root[data-theme='light'] body.glass-page {
  --navy: #f1ece2;
  --navy-stage: #efe8db;
  --lesson-surface: #f7f3ea;
  --lesson-surface-border: rgba(180, 169, 149, 0.38);
  --white: #18355f;
  --slate: #3c557a;
}

:root[data-theme='light'] html:has(body.glass-page .practice-page),
:root[data-theme='light'] body.glass-page:has(.practice-page),
:root[data-theme='light'] body.glass-page .practice-page {
  background-color: var(--light-bg) !important;
  background-image: none !important;
  color: var(--light-text) !important;
}

:root[data-theme='light'] body.glass-page .practice-topbar,
:root[data-theme='light'] body.glass-page .session-briefing {
  background: var(--light-bg) !important;
  border-bottom-color: var(--light-border) !important;
}

:root[data-theme='light'] body.glass-page .session-briefing-brand,
:root[data-theme='light'] body.glass-page .session-briefing-title,
:root[data-theme='light'] body.glass-page .instruction-heading,
:root[data-theme='light'] body.glass-page .session-chord-name,
:root[data-theme='light'] body.glass-page .session-briefing-chord-name {
  color: var(--light-text) !important;
}

:root[data-theme='light'] body.glass-page .session-briefing-kicker,
:root[data-theme='light'] body.glass-page .step-header,
:root[data-theme='light'] body.glass-page .session-briefing-fun-fact-label,
:root[data-theme='light'] body.glass-page .step-fun-fact-label {
  color: #1483b5 !important;
}

:root[data-theme='light'] body.glass-page .session-coach-nudge {
  color: #1483b5 !important;
}

:root[data-theme='light'] body.glass-page .mini-btn-primary {
  background: #1483b5 !important;
  border-color: rgba(20, 131, 181, 0.7) !important;
  color: #ffffff !important;
}

:root[data-theme='light'] body.glass-page .mini-btn-primary:hover,
:root[data-theme='light'] body.glass-page .mini-btn-primary:focus-visible {
  background: #1272a0 !important;
  border-color: rgba(20, 131, 181, 0.9) !important;
}

:root[data-theme='light'] body.glass-page .session-briefing-mission-wrap,
:root[data-theme='light'] body.glass-page .session-step-tone-profiles,
:root[data-theme='light'] body.glass-page .session-briefing-launchpad-card,
:root[data-theme='light'] body.glass-page .session-briefing-tone-profiles,
:root[data-theme='light'] body.glass-page .focus-column,
:root[data-theme='light'] body.glass-page .context-column,
:root[data-theme='light'] body.glass-page .session-chord-card,
:root[data-theme='light'] body.glass-page .session-briefing-chord-card,
:root[data-theme='light'] body.glass-page .session-song-card,
:root[data-theme='light'] body.glass-page .session-lane-stage,
:root[data-theme='light'] body.glass-page .rhythm-trainer-rack,
:root[data-theme='light'] body.glass-page .rhythm-trainer-rack__body,
:root[data-theme='light'] body.glass-page .rhythm-trainer-rack__ear--left,
:root[data-theme='light'] body.glass-page .rhythm-trainer-rack__ear--right {
  background: var(--light-surface) !important;
  background-image: none !important;
  border-color: var(--light-border) !important;
  color: var(--light-text) !important;
  box-shadow: 0 8px 18px rgba(73, 62, 43, 0.08) !important;
}

/* Launchpad briefing: no outer panel — only the cards float */
:root[data-theme='light'] body.glass-page .session-briefing-progression {
  background: transparent !important;
  background-image: none !important;
  border: none !important;
  box-shadow: none !important;
}

:root[data-theme='light'] body.glass-page .session-briefing-fun-fact-wrap,
:root[data-theme='light'] body.glass-page .step-fun-fact-card {
  border-top-color: rgba(20, 131, 181, 0.35) !important;
  border-right-color: rgba(20, 131, 181, 0.35) !important;
  border-bottom-color: rgba(20, 131, 181, 0.35) !important;
  border-left-color: #1483b5 !important;
  background: transparent !important;
  box-shadow: none !important;
}

:root[data-theme='light'] body.glass-page .goal-card {
  background: #fdf4de !important;
  border-color: rgba(200, 150, 20, 0.45) !important;
  box-shadow: 0 4px 14px rgba(140, 100, 10, 0.1) !important;
}

:root[data-theme='light'] body.glass-page .goal-card h3 {
  color: #a06b10 !important;
}

:root[data-theme='light'] body.glass-page .goal-card p {
  color: #5a3e10 !important;
}

:root[data-theme='light'] body.glass-page .session-lane-stage {
  background: var(--light-surface-2) !important;
  border-color: rgba(20, 131, 181, 0.28) !important;
}

:root[data-theme='light'] body.glass-page .rhythm-trainer-rack__lcd {
  background: #fffaf1 !important;
  border-color: var(--light-border) !important;
  color: #a67218 !important;
}

:root[data-theme='light'] body.glass-page .instruction-text,
:root[data-theme='light'] body.glass-page .session-briefing-mission,
:root[data-theme='light'] body.glass-page .session-briefing-fun-fact,
:root[data-theme='light'] body.glass-page .session-briefing-progression-line,
:root[data-theme='light'] body.glass-page .session-briefing-description,
:root[data-theme='light'] body.glass-page .session-context-note,
:root[data-theme='light'] body.glass-page .session-song-meta,
:root[data-theme='light'] body.glass-page .rhythm-trainer-rack__meta {
  color: var(--light-muted) !important;
}

:root[data-theme='light'] body.glass-page .rhythm-trainer-rack__ear--left,
:root[data-theme='light'] body.glass-page .rhythm-trainer-rack__ear--right {
  background: linear-gradient(90deg, #e8e0d2 0%, #ddd4c4 100%) !important;
  box-shadow: inset 0 0 0 1px var(--light-border) !important;
}

:root[data-theme='light'] body.glass-page .session-lane-stage--rack .session-animator-host .mini-toggle-option input[type="checkbox"] {
  background: #fffaf1 !important;
  border-color: var(--light-control-border) !important;
}

:root[data-theme='light'] body.glass-page .session-briefing .diagram-grid,
:root[data-theme='light'] body.glass-page .session-briefing .diagram-top,
:root[data-theme='light'] body.glass-page .session-chord-card .diagram-grid,
:root[data-theme='light'] body.glass-page .session-chord-card .diagram-top {
  stroke: rgba(24, 53, 95, 0.55) !important;
}

:root[data-theme='light'] body.glass-page .session-briefing .diagram-dot,
:root[data-theme='light'] body.glass-page .session-chord-card .diagram-dot {
  fill: #d9a21b !important;
}

:root[data-theme='light'] body.glass-page .session-briefing .diagram-open,
:root[data-theme='light'] body.glass-page .session-chord-card .diagram-open,
:root[data-theme='light'] body.glass-page .session-chord-card--muted .diagram-open,
:root[data-theme='light'] body.glass-page .session-chord-card--muted .diagram-muted {
  fill: rgba(24, 53, 95, 0.65) !important;
}

:root[data-theme='light'] body.glass-page .session-briefing .diagram-muted,
:root[data-theme='light'] body.glass-page .session-chord-card .diagram-muted,
:root[data-theme='light'] body.glass-page .session-chord-ref-bar .diagram-muted {
  fill: rgba(24, 53, 95, 0.45) !important;
}

:root[data-theme='light'] body.glass-page .session-briefing .diagram-finger,
:root[data-theme='light'] body.glass-page .session-chord-card .diagram-finger,
:root[data-theme='light'] body.glass-page .session-chord-ref-bar .diagram-finger {
  fill: #18355f !important;
}

:root[data-theme='light'] body.glass-page .session-briefing .diagram-fret-number,
:root[data-theme='light'] body.glass-page .session-chord-ref-bar .diagram-fret-number {
  fill: rgba(24, 53, 95, 0.72) !important;
}

:root[data-theme='light'] body.glass-page .session-chord-card--muted .diagram-grid,
:root[data-theme='light'] body.glass-page .session-chord-card--muted .diagram-top {
  stroke: rgba(24, 53, 95, 0.22) !important;
}

:root[data-theme='light'] body.glass-page .session-chord-card--muted .diagram-dot {
  fill: rgba(24, 53, 95, 0.28) !important;
}

:root[data-theme='light'] body.glass-page .session-chord-card--muted .diagram-finger {
  fill: rgba(24, 53, 95, 0.45) !important;
}

/* Guided practice (Strumming Vibe Lab) — dark-theme copy on light panels */
:root[data-theme='light'] body.glass-page .session-upcoming label,
:root[data-theme='light'] body.glass-page .session-song-cta label,
:root[data-theme='light'] body.glass-page .session-muted,
:root[data-theme='light'] body.glass-page .session-fullform-placeholder,
:root[data-theme='light'] body.glass-page .control-group label {
  color: var(--light-muted) !important;
}

:root[data-theme='light'] body.glass-page .session-upcoming p,
:root[data-theme='light'] body.glass-page .step-fun-fact-card p,
:root[data-theme='light'] body.glass-page .session-briefing-launchpad-card p,
:root[data-theme='light'] body.glass-page .session-briefing-launchpad-tip,
:root[data-theme='light'] body.glass-page .session-briefing-tip-list li,
:root[data-theme='light'] body.glass-page .session-briefing-tone-profiles summary,
:root[data-theme='light'] body.glass-page .session-briefing-tone-table th,
:root[data-theme='light'] body.glass-page .session-briefing-tone-table td,
:root[data-theme='light'] body.glass-page .session-briefing-tone-tip-row td,
:root[data-theme='light'] body.glass-page .session-step-tone-profiles h3 {
  color: var(--light-muted) !important;
}

:root[data-theme='light'] body.glass-page .session-briefing-tone-table-wrap {
  border-top-color: var(--light-border) !important;
}

:root[data-theme='light'] body.glass-page .session-briefing-tone-table th,
:root[data-theme='light'] body.glass-page .session-briefing-tone-table td {
  border-bottom-color: var(--light-border) !important;
}

:root[data-theme='light'] body.glass-page .session-briefing-tone-tip-row td {
  background: rgba(20, 131, 181, 0.08) !important;
}

:root[data-theme='light'] body.glass-page .session-briefing-tone-tip-row td:first-child {
  border-bottom-color: var(--light-border) !important;
}

:root[data-theme='light'] body.glass-page .tempo-row {
  color: var(--light-text) !important;
}

:root[data-theme='light'] body.glass-page .session-progress-track {
  background: rgba(24, 53, 95, 0.1) !important;
  border-color: var(--light-border) !important;
}

:root[data-theme='light'] body.glass-page .session-upcoming {
  border-top-color: rgba(20, 131, 181, 0.28) !important;
}

:root[data-theme='light'] body.glass-page .session-song-cta {
  border-top-color: var(--light-border) !important;
}

:root[data-theme='light'] body.glass-page .btn-outline {
  color: #1483b5 !important;
  border-color: rgba(20, 131, 181, 0.55) !important;
  background: transparent !important;
}

:root[data-theme='light'] body.glass-page .btn-outline:hover,
:root[data-theme='light'] body.glass-page .btn-outline:focus-visible {
  color: #1272a0 !important;
  border-color: rgba(20, 131, 181, 0.75) !important;
  background: rgba(20, 131, 181, 0.08) !important;
}

:root[data-theme='light'] body.glass-page .btn-session-next {
  background: #3d9a6a !important;
  border-color: rgba(45, 120, 80, 0.55) !important;
  color: #ffffff !important;
}

:root[data-theme='light'] body.glass-page .session-twelvebar-host {
  background: var(--light-surface-2) !important;
  border-color: var(--light-border) !important;
}

:root[data-theme='light'] body.glass-page .session-capstone-kicker {
  color: #1483b5 !important;
}

:root[data-theme='light'] body.glass-page .session-capstone-pattern {
  background: var(--light-surface) !important;
  border-color: rgba(20, 131, 181, 0.4) !important;
}

:root[data-theme='light'] body.glass-page .session-capstone-pattern-label,
:root[data-theme='light'] body.glass-page .session-capstone-countdown {
  color: var(--light-muted) !important;
}

:root[data-theme='light'] body.glass-page .session-capstone-pattern-value {
  color: var(--light-text) !important;
}

:root[data-theme='light'] body.glass-page .session-capstone-milestone {
  background: var(--light-surface) !important;
  border-color: var(--light-border) !important;
}

:root[data-theme='light'] body.glass-page .session-capstone-milestone h3 {
  color: var(--light-text) !important;
}

:root[data-theme='light'] body.glass-page .session-capstone-milestone-sub,
:root[data-theme='light'] body.glass-page .session-capstone-milestone-seq {
  color: var(--light-muted) !important;
}

:root[data-theme='light'] body.glass-page .session-capstone-milestone-pattern {
  color: #1483b5 !important;
}

:root[data-theme='light'] body.glass-page .session-capstone-milestone.is-active {
  border-color: rgba(20, 131, 181, 0.65) !important;
  box-shadow: 0 0 0 1px rgba(20, 131, 181, 0.2) !important;
}

:root[data-theme='light'] body.glass-page .session-capstone-milestone.is-active h3 {
  color: #1483b5 !important;
}

:root[data-theme='light'] body.glass-page .session-capstone-milestone.is-active .session-capstone-milestone-pattern {
  color: #0f6a93 !important;
}

/* Rhythm Path hub */
:root[data-theme='light'] body.rhythm-path-page.glass-page .rhythm-path-hero {
  padding-left: 28px !important;
  padding-right: 28px !important;
}

:root[data-theme='light'] body.rhythm-path-page.glass-page {
  background: var(--light-bg) !important;
  background-image: none !important;
  color: var(--light-text) !important;
}

:root[data-theme='light'] body.rhythm-path-page.glass-page .rhythm-path-how-col,
:root[data-theme='light'] body.rhythm-path-page.glass-page .rhythm-path-note,
:root[data-theme='light'] body.rhythm-path-page.glass-page .rhythm-path-mini-card,
:root[data-theme='light'] body.rhythm-path-page.glass-page .rhythm-path-details {
  background: var(--light-surface) !important;
  background-image: none !important;
  border-color: var(--light-border) !important;
  box-shadow: 0 6px 14px rgba(73, 62, 43, 0.06) !important;
}

:root[data-theme='light'] body.rhythm-path-page.glass-page .rhythm-path-mini-card--baseline {
  background: var(--light-surface-2) !important;
  border-color: rgba(217, 162, 27, 0.42) !important;
}

:root[data-theme='light'] body.rhythm-path-page.glass-page .rhythm-path-hero h1,
:root[data-theme='light'] body.rhythm-path-page.glass-page .rhythm-path-how-title,
:root[data-theme='light'] body.rhythm-path-page.glass-page .rhythm-path-mini-title {
  color: var(--light-text) !important;
}

:root[data-theme='light'] body.rhythm-path-page.glass-page .rhythm-path-hero-tagline,
:root[data-theme='light'] body.rhythm-path-page.glass-page .rhythm-path-prose,
:root[data-theme='light'] body.rhythm-path-page.glass-page .rhythm-path-how-lede,
:root[data-theme='light'] body.rhythm-path-page.glass-page .rhythm-path-mini-meta,
:root[data-theme='light'] body.rhythm-path-page.glass-page .rhythm-path-details-summary,
:root[data-theme='light'] body.rhythm-path-page.glass-page .rhythm-path-glossary dd {
  color: var(--light-muted) !important;
}

:root[data-theme='light'] body.rhythm-path-page.glass-page .rhythm-path-section h2,
:root[data-theme='light'] body.rhythm-path-page.glass-page .rhythm-path-mini-seq,
:root[data-theme='light'] body.rhythm-path-page.glass-page .rhythm-path-glossary dt,
:root[data-theme='light'] body.rhythm-path-page.glass-page .rhythm-path-details-title {
  color: #b57c16 !important;
}

/* Chord Spotlight + Progression trivia */
:root[data-theme='light'] body.flashcards-page.glass-page,
:root[data-theme='light'] body.progression-flashcards-page.glass-page {
  background: var(--light-bg) !important;
  background-image: none !important;
  color: var(--light-text) !important;
}

:root[data-theme='light'] body.flashcards-page.glass-page .flashcards-hero,
:root[data-theme='light'] body.flashcards-page.glass-page .flashcards-shell,
:root[data-theme='light'] body.flashcards-page.glass-page .control-card,
:root[data-theme='light'] body.flashcards-page.glass-page .flashcard-card,
:root[data-theme='light'] body.flashcards-page.glass-page .flashcards-stage,
:root[data-theme='light'] body.flashcards-page.glass-page .answer-panel,
:root[data-theme='light'] body.flashcards-page.glass-page .summary-panel,
:root[data-theme='light'] body.flashcards-page.glass-page .summary-grid .summary-stat,
:root[data-theme='light'] body.flashcards-page.glass-page .hero-info-card,
:root[data-theme='light'] body.progression-flashcards-page.glass-page .flashcards-hero,
:root[data-theme='light'] body.progression-flashcards-page.glass-page .flashcards-shell,
:root[data-theme='light'] body.progression-flashcards-page.glass-page .control-card,
:root[data-theme='light'] body.progression-flashcards-page.glass-page .flashcards-stage,
:root[data-theme='light'] body.progression-flashcards-page.glass-page .flashcard-stage,
:root[data-theme='light'] body.progression-flashcards-page.glass-page .summary-panel {
  background: var(--light-surface) !important;
  background-image: none !important;
  border-color: var(--light-border) !important;
  box-shadow: 0 8px 18px rgba(73, 62, 43, 0.08) !important;
  color: var(--light-text) !important;
}

:root[data-theme='light'] body.flashcards-page.glass-page .flashcards-hero h1,
:root[data-theme='light'] body.flashcards-page.glass-page .control-card h2,
:root[data-theme='light'] body.flashcards-page.glass-page .flashcard-chord-name,
:root[data-theme='light'] body.flashcards-page.glass-page .summary-panel h2,
:root[data-theme='light'] body.flashcards-page.glass-page .summary-grid strong,
:root[data-theme='light'] body.progression-flashcards-page.glass-page .progression-flashcard-question,
:root[data-theme='light'] body.progression-flashcards-page.glass-page .summary-panel h2,
:root[data-theme='light'] body.progression-flashcards-page.glass-page .summary-grid strong {
  color: var(--light-text) !important;
  text-shadow: none !important;
}

:root[data-theme='light'] body.flashcards-page.glass-page .hero-sub,
:root[data-theme='light'] body.flashcards-page.glass-page .control-card p,
:root[data-theme='light'] body.flashcards-page.glass-page .support-note,
:root[data-theme='light'] body.flashcards-page.glass-page .flashcard-tip,
:root[data-theme='light'] body.flashcards-page.glass-page .summary-panel p,
:root[data-theme='light'] body.progression-flashcards-page.glass-page .progression-flashcard-song,
:root[data-theme='light'] body.progression-flashcards-page.glass-page .summary-panel p,
:root[data-theme='light'] body.progression-flashcards-page.glass-page .feedback-message {
  color: var(--light-muted) !important;
}

:root[data-theme='light'] body.progression-flashcards-page.glass-page .tool-eyebrow,
:root[data-theme='light'] body.progression-flashcards-page.glass-page .summary-panel .tool-eyebrow {
  color: #b57c16 !important;
}

:root[data-theme='light'] body.progression-flashcards-page.glass-page .summary-grid .summary-stat {
  background: var(--light-surface-2) !important;
  border: 1px solid var(--light-border) !important;
}

:root[data-theme='light'] body.progression-flashcards-page.glass-page .summary-grid .score-label {
  color: var(--light-muted) !important;
}

:root[data-theme='light'] body.progression-flashcards-page.glass-page .status-pill,
:root[data-theme='light'] body.progression-flashcards-page.glass-page .status-pill-soft,
:root[data-theme='light'] body.progression-flashcards-page.glass-page .score-pill {
  color: var(--light-text) !important;
  border-bottom-color: var(--light-border) !important;
  background: transparent !important;
}

:root[data-theme='light'] body.flashcards-page.glass-page .answer-option-2x2 {
  background: linear-gradient(180deg, #fffaf1 0%, #f0e9d8 100%) !important;
  border-color: var(--light-border) !important;
  box-shadow: 0 4px 12px rgba(73, 62, 43, 0.08) !important;
}

:root[data-theme='light'] body.flashcards-page.glass-page .answer-option-2x2.answer-option-name {
  color: var(--light-text) !important;
}

:root[data-theme='light'] body.progression-flashcards-page.glass-page .progression-answer-option {
  background: linear-gradient(180deg, #fffaf1 0%, #f0e9d8 100%) !important;
  border-color: var(--light-border) !important;
  color: var(--light-text) !important;
  box-shadow: 0 4px 12px rgba(73, 62, 43, 0.06) !important;
}

:root[data-theme='light'] body.progression-flashcards-page.glass-page .progression-answer-option:hover:not([disabled]),
:root[data-theme='light'] body.progression-flashcards-page.glass-page .progression-answer-option:focus-visible:not([disabled]) {
  background: linear-gradient(180deg, #ffffff 0%, #f7f1e4 100%) !important;
  border-color: rgba(24, 53, 95, 0.28) !important;
}

:root[data-theme='light'] body.flashcards-page.glass-page .score-pill {
  background: rgba(24, 53, 95, 0.08) !important;
  color: #a67218 !important;
}

:root[data-theme='light'] body.progression-flashcards-page.glass-page .step-badge {
  color: var(--light-text) !important;
  background: rgba(24, 53, 95, 0.08) !important;
}

/* Practice Tools — rhythm game + drill panel */
:root[data-theme='light'] body.tools-page.glass-page .game-lane-shell {
  background: linear-gradient(180deg, #f7f3ea 0%, #efe8db 100%) !important;
  border-color: var(--light-border) !important;
  box-shadow: 0 10px 22px rgba(73, 62, 43, 0.08) !important;
}

:root[data-theme='light'] body.tools-page.glass-page .game-lane-kicker {
  color: #a67218 !important;
  text-shadow: none !important;
}

/* Rhythm game — scoreboard, sidebar, pickers (dark-theme tokens in tools.css) */
:root[data-theme='light'] body.tools-page.glass-page .rhythm-card .score-panel,
:root[data-theme='light'] body.tools-page.glass-page .rhythm-card .game-settings {
  background: rgba(24, 53, 95, 0.06) !important;
  border-color: var(--light-border) !important;
  color: var(--light-text) !important;
}

:root[data-theme='light'] body.tools-page.glass-page .rhythm-card .score-panel strong,
:root[data-theme='light'] body.tools-page.glass-page .rhythm-card #gameScore,
:root[data-theme='light'] body.tools-page.glass-page .rhythm-card #gameAccuracy,
:root[data-theme='light'] body.tools-page.glass-page .rhythm-card #gameProgress,
:root[data-theme='light'] body.tools-page.glass-page .rhythm-card #gameTempoValue,
:root[data-theme='light'] body.tools-page.glass-page .rhythm-card #gameRoundValue,
:root[data-theme='light'] body.tools-page.glass-page .rhythm-card #gamePersonalBestValue,
:root[data-theme='light'] body.tools-page.glass-page .rhythm-card #gameLastPlayedValue,
:root[data-theme='light'] body.tools-page.glass-page .rhythm-card .inline-meter,
:root[data-theme='light'] body.tools-page.glass-page .rhythm-card .picker-trigger,
:root[data-theme='light'] body.tools-page.glass-page .rhythm-card .picker-trigger span {
  color: var(--light-text) !important;
  text-shadow: none !important;
}

:root[data-theme='light'] body.tools-page.glass-page .rhythm-card .score-label,
:root[data-theme='light'] body.tools-page.glass-page .rhythm-card .game-personal-best-label,
:root[data-theme='light'] body.tools-page.glass-page .rhythm-card .game-settings .tool-control > span:first-child,
:root[data-theme='light'] body.tools-page.glass-page .rhythm-card .inline-meter-unit,
:root[data-theme='light'] body.tools-page.glass-page .rhythm-card .game-hit-legend .legend-item {
  color: var(--light-muted) !important;
}

:root[data-theme='light'] body.tools-page.glass-page .rhythm-card .game-feedback:not(.feedback-perfect):not(.feedback-good):not(.feedback-miss) {
  color: var(--light-muted) !important;
  background: rgba(24, 53, 95, 0.05) !important;
  border: 1px solid var(--light-border) !important;
}

:root[data-theme='light'] body.tools-page.glass-page .rhythm-card .game-personal-best {
  border-top-color: var(--light-border) !important;
}

/* Metronome / tuner meters inside utility cards */
:root[data-theme='light'] body.tools-page.glass-page :is(.metronome-card, .tuner-card) .beat-ring-label strong,
:root[data-theme='light'] body.tools-page.glass-page :is(.metronome-card, .tuner-card) .tempo-dial-kicker strong,
:root[data-theme='light'] body.tools-page.glass-page :is(.metronome-card, .tuner-card) .tool-meter-value,
:root[data-theme='light'] body.tools-page.glass-page :is(.metronome-card, .tuner-card) .inline-meter,
:root[data-theme='light'] body.tools-page.glass-page :is(.metronome-card, .tuner-card) .picker-trigger,
:root[data-theme='light'] body.tools-page.glass-page :is(.metronome-card, .tuner-card) .picker-trigger span {
  color: var(--light-text) !important;
}

:root[data-theme='light'] body.tools-page.glass-page :is(.metronome-card, .tuner-card) .beat-ring-label,
:root[data-theme='light'] body.tools-page.glass-page :is(.metronome-card, .tuner-card) .tempo-dial-kicker,
:root[data-theme='light'] body.tools-page.glass-page :is(.metronome-card, .tuner-card) .tool-meter-label {
  color: var(--light-muted) !important;
}

/* Picker dropdowns */
:root[data-theme='light'] body:is(.glass-page, .songs-glass-page) .picker-menu {
  background: var(--light-surface) !important;
  background-image: none !important;
  border-color: var(--light-border) !important;
  box-shadow: 0 12px 24px rgba(73, 62, 43, 0.14) !important;
}

:root[data-theme='light'] body:is(.glass-page, .songs-glass-page) .picker-option {
  color: var(--light-text) !important;
}

:root[data-theme='light'] body:is(.glass-page, .songs-glass-page) .picker-option:hover,
:root[data-theme='light'] body:is(.glass-page, .songs-glass-page) .picker-option:focus-visible {
  background: rgba(24, 53, 95, 0.08) !important;
}

:root[data-theme='light'] body:is(.glass-page, .songs-glass-page) .picker-option.is-selected {
  background: rgba(20, 131, 181, 0.14) !important;
  color: var(--light-text) !important;
}

:root[data-theme='light'] body.tools-page.glass-page .game-slot::before {
  background: rgba(24, 53, 95, 0.12) !important;
}

:root[data-theme='light'] body.tools-page.glass-page .game-slot.bar-start::before {
  background: rgba(24, 53, 95, 0.28) !important;
}

:root[data-theme='light'] body.tools-page.glass-page .drill-panel-title {
  color: var(--light-text) !important;
}

:root[data-theme='light'] body.tools-page.glass-page .drill-panel-subtitle,
:root[data-theme='light'] body.tools-page.glass-page .drill-panel-block p {
  color: var(--light-muted) !important;
}

:root[data-theme='light'] body.tools-page.glass-page .drill-panel-block {
  background: var(--light-surface) !important;
  border-color: var(--light-border) !important;
}

:root[data-theme='light'] body.tools-page.glass-page .drill-panel-block--tip {
  background: rgba(217, 162, 27, 0.1) !important;
  border-color: rgba(217, 162, 27, 0.32) !important;
}

:root[data-theme='light'] body.tools-page.glass-page .drill-panel-block--fun-fact {
  background: rgba(20, 131, 181, 0.08) !important;
  border-color: rgba(20, 131, 181, 0.28) !important;
}

:root[data-theme='light'] html.tools-drill-window,
:root[data-theme='light'] html.tools-drill-window body.tools-page.glass-page,
:root[data-theme='light'] html.tools-tool-window,
:root[data-theme='light'] html.tools-tool-window body.tools-page.glass-page {
  background: var(--light-bg) !important;
  background-image: none !important;
  color: var(--light-text) !important;
}

:root[data-theme='light'] html.tools-drill-window .drill-panel-block,
:root[data-theme='light'] html.tools-drill-window .drill-panel-title,
:root[data-theme='light'] html.tools-drill-window .drill-panel-subtitle,
:root[data-theme='light'] html.tools-drill-window .drill-panel-block p,
:root[data-theme='light'] html.tools-drill-window .tool-eyebrow,
:root[data-theme='light'] html.tools-drill-window .drill-panel-block-label {
  color: var(--light-text) !important;
}

:root[data-theme='light'] html.tools-drill-window .drill-panel-subtitle,
:root[data-theme='light'] html.tools-drill-window .drill-panel-block p {
  color: var(--light-muted) !important;
}

:root[data-theme='light'] html.tools-drill-window .drill-panel-block {
  background: var(--light-surface) !important;
  border-color: var(--light-border) !important;
}

:root[data-theme='light'] html.tools-drill-window .tools-back-to-hub {
  background: var(--light-control-bg) !important;
  border: 1px solid var(--light-control-border) !important;
  color: var(--light-control-text) !important;
  box-shadow: 0 4px 12px rgba(73, 62, 43, 0.1) !important;
}

/* Practice Studio */
:root[data-theme='light'] body.practice-studio-page.glass-page {
  background: var(--light-bg) !important;
  background-image: none !important;
  color: var(--light-text) !important;
}

:root[data-theme='light'] body.practice-studio-page.glass-page .practice-hero {
  background: var(--light-surface) !important;
  background-image: none !important;
  border: 1px solid var(--light-border) !important;
}

:root[data-theme='light'] body.practice-studio-page.glass-page .studio-status-card,
:root[data-theme='light'] body.practice-studio-page.glass-page .exercise-card,
:root[data-theme='light'] body.practice-studio-page.glass-page .studio-panel,
:root[data-theme='light'] body.practice-studio-page.glass-page .studio-controls-panel,
:root[data-theme='light'] body.practice-studio-page.glass-page .session-summary {
  background: var(--light-surface) !important;
  background-image: none !important;
  border-color: var(--light-border) !important;
  box-shadow: 0 8px 18px rgba(73, 62, 43, 0.08) !important;
}

:root[data-theme='light'] body.practice-studio-page.glass-page .studio-status-card h2,
:root[data-theme='light'] body.practice-studio-page.glass-page .exercise-card h2,
:root[data-theme='light'] body.practice-studio-page.glass-page .studio-panel h2,
:root[data-theme='light'] body.practice-studio-page.glass-page .session-summary h2 {
  color: var(--light-text) !important;
}

:root[data-theme='light'] body.practice-studio-page.glass-page .studio-status-card p,
:root[data-theme='light'] body.practice-studio-page.glass-page .exercise-card p,
:root[data-theme='light'] body.practice-studio-page.glass-page .studio-panel p,
:root[data-theme='light'] body.practice-studio-page.glass-page .studio-meta,
:root[data-theme='light'] body.practice-studio-page.glass-page .exercise-meta {
  color: var(--light-muted) !important;
}

/* Guided practice — inline stylesheet uses dark-theme text on light surfaces */
:root[data-theme='light'] body.glass-page .practice-page .session-briefing-brand,
:root[data-theme='light'] body.glass-page .practice-page .instruction-heading {
  color: var(--light-text) !important;
  text-shadow: none !important;
}

:root[data-theme='light'] body.glass-page .practice-page .session-briefing-brand .wm-tm {
  color: var(--light-muted) !important;
}

:root[data-theme='light'] body.glass-page .practice-page .instruction-card-note {
  color: var(--light-muted) !important;
}

/* Songsheet — hardcoded light text on notes */
:root[data-theme='light'] body.glass-page .instruction-card-note,
:root[data-theme='light'] body.glass-page .tempo-label,
:root[data-theme='light'] body.glass-page .live-chord-name.is-pickup {
  color: var(--light-muted) !important;
}

/* ============================================================
   Mini dotBeat animator — light-mode contrast fixes
   All dark-mode colours are hardcoded white/near-white and
   must be overridden here so the animator is readable on the
   warm cream lesson surface.
   ============================================================ */

/* Ghost button (Stop, Play Chords) */
:root[data-theme='light'] body.glass-page .mini-btn-ghost,
:root[data-theme='light'] body.glass-page .mini-chord-play-btn {
  background: rgba(24, 53, 95, 0.07) !important;
  border-color: rgba(24, 53, 95, 0.22) !important;
  color: var(--light-control-text) !important;
}

:root[data-theme='light'] body.glass-page .mini-btn-ghost:hover,
:root[data-theme='light'] body.glass-page .mini-btn-ghost:focus-visible,
:root[data-theme='light'] body.glass-page .mini-chord-play-btn:hover,
:root[data-theme='light'] body.glass-page .mini-chord-play-btn:focus-visible {
  background: rgba(24, 53, 95, 0.12) !important;
  border-color: rgba(24, 53, 95, 0.34) !important;
}

/* Tempo controls — label, value, unit */
:root[data-theme='light'] body.glass-page .mini-tempo-controls span {
  color: var(--light-muted) !important;
}

:root[data-theme='light'] body.glass-page .mini-tempo-controls .tempo-value {
  color: var(--light-text) !important;
}

/* Loop / Sound toggle labels */
:root[data-theme='light'] body.glass-page .mini-toggle-option {
  color: var(--light-muted) !important;
}

/* Beat-divider lines inside the track — flip from white to navy */
:root[data-theme='light'] body.glass-page .mini-dot-track-shell .track-slot.beat-start::before {
  background: rgba(24, 53, 95, 0.14) !important;
}

:root[data-theme='light'] body.glass-page .mini-dot-track-shell .track-slot.bar-start::before {
  background: rgba(24, 53, 95, 0.28) !important;
}

/* Beat number labels under each slot */
:root[data-theme='light'] body.glass-page .mini-dot-track-shell .track-slot-label {
  color: var(--light-muted) !important;
}

/* Stroke dots — keep their vivid gradient colours in light mode (they read fine).
   Only the stroke-label arrows need darkening since their colour is set per class. */
:root[data-theme='light'] body.glass-page .mini-dot-track-shell .stroke.down .stroke-label {
  color: #5a9420 !important;
}

:root[data-theme='light'] body.glass-page .mini-dot-track-shell .stroke.up .stroke-label {
  color: #2a6db5 !important;
}

:root[data-theme='light'] body.glass-page .mini-dot-track-shell .stroke.mute .stroke-label,
:root[data-theme='light'] body.glass-page .mini-dot-track-shell .stroke.chuck .stroke-label {
  color: #b07a08 !important;
}

:root[data-theme='light'] body.glass-page .mini-dot-track-shell .stroke.snap .stroke-label {
  color: #b77412 !important;
}

/* Rest dots — slightly more visible on cream */
:root[data-theme='light'] body.glass-page .mini-dot-track-shell .stroke-dot-rest {
  opacity: 0.22 !important;
  background: rgba(24, 53, 95, 0.3) !important;
}

/* Active slot — keep the gold highlight but darken shadow */
:root[data-theme='light'] body.glass-page .mini-dot-track-shell .track-slot.is-active .stroke-dot {
  box-shadow:
    0 0 0 3px rgba(209, 163, 61, 0.35),
    0 6px 16px rgba(24, 53, 95, 0.22) !important;
}

/* Pattern selector buttons */
:root[data-theme='light'] body.glass-page .mini-pattern-btn {
  color: var(--light-control-text) !important;
  background: rgba(24, 53, 95, 0.06) !important;
  border-color: rgba(24, 53, 95, 0.18) !important;
}

:root[data-theme='light'] body.glass-page .mini-pattern-btn.mini-btn-primary {
  background: #1483b5 !important;
  border-color: rgba(20, 131, 181, 0.7) !important;
  color: #ffffff !important;
}
