/* ===================================================
   JRPG THEME SYSTEM
   Each [data-theme] block overrides CSS custom props.
   Font-size overrides fix the !important pixel sizes
   set on .brand, .topnav a, .mod-header etc. in index.html
   for non-pixel display fonts.
   =================================================== */

/* ===== SETTINGS PAGE ===== */
.settings-section { margin-bottom: 2rem; }
.settings-section > h3 {
  font-size: .95rem;
  font-weight: 700;
  color: var(--primary);
  margin-bottom: .4rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-family: var(--sans);
}
.settings-desc {
  color: var(--on-surface-variant);
  font-size: .9rem;
  margin-bottom: 1.5rem;
  font-family: var(--body);
}
.theme-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
  gap: 1rem;
}
.theme-card {
  background: var(--surface-container);
  border: 2px solid var(--outline-variant);
  border-radius: 12px;
  padding: 1rem;
  cursor: pointer;
  transition: border-color .2s, transform .15s, box-shadow .2s;
  position: relative;
  overflow: hidden;
}
.theme-card:hover {
  border-color: var(--secondary-container);
  transform: translateY(-2px);
  box-shadow: 0 4px 16px rgba(0,0,0,.3);
}
.theme-card.active {
  border-color: var(--secondary-container);
  box-shadow: 0 0 0 2px var(--secondary-container), 0 4px 20px rgba(0,0,0,.4);
}
.theme-swatches {
  display: flex;
  height: 8px;
  border-radius: 4px;
  overflow: hidden;
  margin-bottom: .75rem;
}
.theme-swatches span { flex: 1; }
.theme-sample {
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--on-surface);
  margin-bottom: .35rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.4;
}
.theme-name {
  font-size: .82rem;
  font-weight: 700;
  color: var(--on-surface);
  margin-bottom: .2rem;
  font-family: var(--body);
}
.theme-desc {
  font-size: .72rem;
  color: var(--on-surface-variant);
  line-height: 1.4;
  font-family: var(--body);
}
.theme-active-badge {
  position: absolute;
  top: .5rem;
  right: .5rem;
  background: var(--secondary-container);
  color: var(--on-surface);
  font-size: .6rem;
  font-weight: 700;
  letter-spacing: .06em;
  padding: .2rem .5rem;
  border-radius: 4px;
  text-transform: uppercase;
}

/* ===== NON-PIXEL FONT SIZE OVERRIDES =====
   Press Start 2P is visually large — index.html forces 9-11px for it.
   Serif/sans JRPG fonts need larger sizes to be legible. */
[data-theme="finalfantasy"] .brand,
[data-theme="dragonquest"] .brand,
[data-theme="zelda"] .brand,
[data-theme="chronotrigger"] .brand,
[data-theme="persona"] .brand,
[data-theme="darksouls"] .brand { font-size: 15px !important; letter-spacing: .06em !important; }

[data-theme="finalfantasy"] .topnav a,
[data-theme="dragonquest"] .topnav a,
[data-theme="zelda"] .topnav a,
[data-theme="chronotrigger"] .topnav a,
[data-theme="persona"] .topnav a,
[data-theme="darksouls"] .topnav a { font-size: 13px !important; letter-spacing: .04em !important; }

[data-theme="finalfantasy"] .mod-header,
[data-theme="dragonquest"] .mod-header,
[data-theme="zelda"] .mod-header,
[data-theme="chronotrigger"] .mod-header,
[data-theme="persona"] .mod-header,
[data-theme="darksouls"] .mod-header,
[data-theme="finalfantasy"] .unit-btn,
[data-theme="dragonquest"] .unit-btn,
[data-theme="zelda"] .unit-btn,
[data-theme="chronotrigger"] .unit-btn,
[data-theme="persona"] .unit-btn,
[data-theme="darksouls"] .unit-btn,
[data-theme="finalfantasy"] .sec-btn,
[data-theme="dragonquest"] .sec-btn,
[data-theme="zelda"] .sec-btn,
[data-theme="chronotrigger"] .sec-btn,
[data-theme="persona"] .sec-btn,
[data-theme="darksouls"] .sec-btn,
[data-theme="finalfantasy"] .unit-test-nav,
[data-theme="dragonquest"] .unit-test-nav,
[data-theme="zelda"] .unit-test-nav,
[data-theme="chronotrigger"] .unit-test-nav,
[data-theme="persona"] .unit-test-nav,
[data-theme="darksouls"] .unit-test-nav { font-size: 12px !important; letter-spacing: .03em !important; }

[data-theme="finalfantasy"] .home-hero h1,
[data-theme="dragonquest"] .home-hero h1,
[data-theme="zelda"] .home-hero h1,
[data-theme="chronotrigger"] .home-hero h1,
[data-theme="persona"] .home-hero h1,
[data-theme="darksouls"] .home-hero h1 { font-size: 38px !important; letter-spacing: .03em !important; }

[data-theme="finalfantasy"] .lesson-header h2,
[data-theme="dragonquest"] .lesson-header h2,
[data-theme="zelda"] .lesson-header h2,
[data-theme="chronotrigger"] .lesson-header h2,
[data-theme="persona"] .lesson-header h2,
[data-theme="darksouls"] .lesson-header h2 { font-size: 26px !important; }

[data-theme="finalfantasy"] .mod-card h3,
[data-theme="dragonquest"] .mod-card h3,
[data-theme="zelda"] .mod-card h3,
[data-theme="chronotrigger"] .mod-card h3,
[data-theme="persona"] .mod-card h3,
[data-theme="darksouls"] .mod-card h3 { font-size: 15px !important; }

/* ===================================================
   POKEMON THEME
   Pokéball red + cream + bold Game Boy gold
   =================================================== */
[data-theme="pokemon"] {
  --surface:#f8f0e3;
  --surface-low:#f0e6d2;
  --surface-container:#e8d8bc;
  --surface-high:#decbaa;
  --surface-variant:#d4be98;
  --on-surface:#1a0a00;
  --on-surface-variant:#4a2a10;
  --outline:#8b5e3c;
  --outline-variant:#c8a882;
  --primary:#cc0000;
  --primary-deep:#990000;
  --primary-fixed:#ffe0e0;
  --primary-fixed-dim:#ffb0b0;
  --on-primary:#ffffff;
  --secondary-container:#ffcb05;
  --secondary-fixed:#fff8c0;
  --secondary-fixed-dim:#ffe860;
  --tertiary:#1a1a1a;
  --tertiary-container:#2a2a2a;
  --on-tertiary:#ffffff;
  --gold:#ffcb05;
  --green:#2a7a30;
  --sans:'Space Grotesk',system-ui,sans-serif;
  --body:'Inter',system-ui,sans-serif;
  --mono:'JetBrains Mono',monospace;
  --pixel:'Press Start 2P',monospace;
  --pixel-readable:'VT323',monospace;
  --theme-accent:#ffcb05;
  --theme-border-style:4px;
  --theme-heading-font:'Press Start 2P',monospace;
}

/* Pokemon: background — no grid, warm cream */
body[data-theme="pokemon"]::before { content:''; position:fixed; inset:0; pointer-events:none; z-index:0; background:none; }

/* Pokemon quiz-terminal */
body[data-theme="pokemon"] .quiz-terminal { background:#f8f0e3 !important; border:2px solid #cc0000 !important; box-shadow:4px 4px 0 0 #ffcb05 !important; }
body[data-theme="pokemon"] .quiz-terminal .quiz-term-head { background:#cc0000 !important; border-bottom:2px solid #990000 !important; }
body[data-theme="pokemon"] .quiz-terminal .quiz-term-title { color:#ffcb05 !important; }
body[data-theme="pokemon"] .quiz-terminal .quiz-term-icon { color:#ffcb05 !important; }
body[data-theme="pokemon"] .quiz-terminal .quiz-term-body { background:#fff8f0 !important; border-left:2px solid #cc0000 !important; border-right:2px solid #cc0000 !important; box-shadow:none !important; color:#1a0a00; }
body[data-theme="pokemon"] .quiz-terminal .quiz-shell-line { color:#cc0000 !important; }
body[data-theme="pokemon"] .quiz-terminal .qsh-user { color:#990000 !important; }
body[data-theme="pokemon"] .quiz-terminal .qsh-cwd { color:#8b5e3c !important; }
body[data-theme="pokemon"] .quiz-terminal .quiz-sys-line { color:#8b5e3c !important; opacity:1 !important; }
body[data-theme="pokemon"] .quiz-terminal .q-block { background:#fff8f0 !important; border:1px solid #c8a882 !important; }
body[data-theme="pokemon"] .quiz-terminal .q-text { color:#1a0a00 !important; }
body[data-theme="pokemon"] .quiz-terminal .q-text::before { color:#c8a882 !important; }
body[data-theme="pokemon"] .quiz-terminal .q-opts label { background:#f8f0e3 !important; border:1px solid #c8a882 !important; color:#1a0a00 !important; }
body[data-theme="pokemon"] .quiz-terminal .q-opts label:hover { background:#ffe0e0 !important; border-color:#cc0000 !important; }
body[data-theme="pokemon"] .quiz-terminal .q-opts label:has(input:checked) { background:#ffcb05 !important; border:1px solid #cc0000 !important; color:#1a0a00 !important; }
body[data-theme="pokemon"] .quiz-terminal .quiz-term-foot { background:#cc0000 !important; border-top:2px solid #990000 !important; }
body[data-theme="pokemon"] .quiz-terminal .quiz-status { color:#ffcb05 !important; }
body[data-theme="pokemon"] .quiz-terminal .quiz-submit-btn { background:#ffcb05 !important; color:#1a0a00 !important; box-shadow:0 0 0 2px #990000 !important; }
body[data-theme="pokemon"] .quiz-terminal .quiz-reset-btn { color:#ffcb05 !important; border:2px solid #ffcb05 !important; }

/* ===================================================
   FINAL FANTASY THEME
   Midnight blue + crystal + silver — Cinzel display
   =================================================== */
[data-theme="finalfantasy"] {
  --surface:#080e1e;
  --surface-low:#0c1428;
  --surface-container:#101c38;
  --surface-high:#142248;
  --surface-variant:#182858;
  --on-surface:#c8d8f0;
  --on-surface-variant:#8898c0;
  --outline:#2840a0;
  --outline-variant:#1c2e70;
  --primary:#4f9ed4;
  --primary-deep:#3080b8;
  --primary-fixed:#001a40;
  --primary-fixed-dim:#002870;
  --on-primary:#ffffff;
  --secondary-container:#8ab8e0;
  --secondary-fixed:#003060;
  --secondary-fixed-dim:#004890;
  --tertiary:#d0d8e8;
  --tertiary-container:#1c2848;
  --on-tertiary:#080e1e;
  --gold:#d4af37;
  --green:#4a9870;
  --sans:'Cinzel',serif;
  --body:'Lora',serif;
  --mono:'JetBrains Mono',monospace;
  --pixel:'Cinzel',serif;
  --pixel-readable:'Lora',serif;
  --theme-accent:#4f9ed4;
  --theme-border-style:2px;
  --theme-heading-font:'Cinzel',serif;
}

body[data-theme="finalfantasy"]::before {
  content:''; position:fixed; inset:0; pointer-events:none; z-index:0;
  background: radial-gradient(ellipse at 50% 0%, rgba(79,158,212,.08) 0%, transparent 60%);
}

body[data-theme="finalfantasy"] .quiz-terminal { background:#080e1e !important; border:2px solid #2840a0 !important; box-shadow:4px 4px 0 0 #4f9ed4 !important; }
body[data-theme="finalfantasy"] .quiz-terminal .quiz-term-head { background:#142248 !important; border-bottom:2px solid #2840a0 !important; }
body[data-theme="finalfantasy"] .quiz-terminal .quiz-term-title { color:#8ab8e0 !important; }
body[data-theme="finalfantasy"] .quiz-terminal .quiz-term-icon { color:#8ab8e0 !important; }
body[data-theme="finalfantasy"] .quiz-terminal .quiz-term-body { background:#0c1428 !important; border-left:2px solid #2840a0 !important; border-right:2px solid #2840a0 !important; box-shadow:inset 0 0 24px rgba(79,158,212,.10) !important; }
body[data-theme="finalfantasy"] .quiz-terminal .quiz-shell-line { color:#8ab8e0 !important; }
body[data-theme="finalfantasy"] .quiz-terminal .qsh-user { color:#c8d8f0 !important; }
body[data-theme="finalfantasy"] .quiz-terminal .qsh-cwd { color:#4f9ed4 !important; }
body[data-theme="finalfantasy"] .quiz-terminal .quiz-sys-line { color:#4f9ed4 !important; opacity:1 !important; }
body[data-theme="finalfantasy"] .quiz-terminal .q-block { background:rgba(8,14,30,.4) !important; border:1px solid rgba(79,158,212,.25) !important; }
body[data-theme="finalfantasy"] .quiz-terminal .q-text::before { color:#2840a0 !important; }
body[data-theme="finalfantasy"] .quiz-terminal .q-text { color:#c8d8f0 !important; }
body[data-theme="finalfantasy"] .quiz-terminal .q-opts label { background:rgba(255,255,255,.03) !important; border:1px solid rgba(79,158,212,.25) !important; color:#c8d8f0 !important; }
body[data-theme="finalfantasy"] .quiz-terminal .q-opts label:hover { background:rgba(79,158,212,.10) !important; border-color:#4f9ed4 !important; }
body[data-theme="finalfantasy"] .quiz-terminal .q-opts label:has(input:checked) { background:rgba(79,158,212,.20) !important; border:1px solid #4f9ed4 !important; color:#4f9ed4 !important; }
body[data-theme="finalfantasy"] .quiz-terminal .quiz-term-foot { background:#142248 !important; border-top:2px solid #2840a0 !important; }
body[data-theme="finalfantasy"] .quiz-terminal .quiz-status { color:#8ab8e0 !important; }
body[data-theme="finalfantasy"] .quiz-terminal .quiz-submit-btn { background:#4f9ed4 !important; color:#080e1e !important; box-shadow:0 0 0 2px #2840a0 !important; }
body[data-theme="finalfantasy"] .quiz-terminal .quiz-reset-btn { color:#4f9ed4 !important; border:2px solid #4f9ed4 !important; }

/* ===================================================
   DRAGON QUEST THEME
   Deep navy + warm gold + parchment — Uncial Antiqua
   =================================================== */
[data-theme="dragonquest"] {
  --surface:#f5e8c8;
  --surface-low:#eeddb0;
  --surface-container:#e6d098;
  --surface-high:#dec380;
  --surface-variant:#d6b668;
  --on-surface:#1a0e00;
  --on-surface-variant:#4a3010;
  --outline:#8b6030;
  --outline-variant:#c8a060;
  --primary:#1a3a6e;
  --primary-deep:#102858;
  --primary-fixed:#dce8ff;
  --primary-fixed-dim:#a0b8e8;
  --on-primary:#ffffff;
  --secondary-container:#c8922a;
  --secondary-fixed:#fff0c0;
  --secondary-fixed-dim:#f0d060;
  --tertiary:#1a0e00;
  --tertiary-container:#3a2810;
  --on-tertiary:#f5e8c8;
  --gold:#c8922a;
  --green:#2a7a30;
  --sans:'Uncial Antiqua',serif;
  --body:'Crimson Text',serif;
  --mono:'JetBrains Mono',monospace;
  --pixel:'Uncial Antiqua',serif;
  --pixel-readable:'Crimson Text',serif;
  --theme-accent:#c8922a;
  --theme-border-style:6px;
  --theme-heading-font:'Uncial Antiqua',serif;
}

body[data-theme="dragonquest"]::before {
  content:''; position:fixed; inset:0; pointer-events:none; z-index:0;
  background-image:
    linear-gradient(to right, rgba(200,146,42,.06) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(200,146,42,.06) 1px, transparent 1px);
  background-size: 40px 40px;
}

body[data-theme="dragonquest"] .quiz-terminal { background:#f5e8c8 !important; border:2px solid #1a3a6e !important; box-shadow:4px 4px 0 0 #c8922a !important; }
body[data-theme="dragonquest"] .quiz-terminal .quiz-term-head { background:#1a3a6e !important; border-bottom:2px solid #102858 !important; }
body[data-theme="dragonquest"] .quiz-terminal .quiz-term-title { color:#c8922a !important; }
body[data-theme="dragonquest"] .quiz-terminal .quiz-term-icon { color:#c8922a !important; }
body[data-theme="dragonquest"] .quiz-terminal .quiz-term-body { background:#eeddb0 !important; border-left:2px solid #1a3a6e !important; border-right:2px solid #1a3a6e !important; box-shadow:none !important; color:#1a0e00; }
body[data-theme="dragonquest"] .quiz-terminal .quiz-shell-line { color:#1a3a6e !important; }
body[data-theme="dragonquest"] .quiz-terminal .qsh-user { color:#102858 !important; }
body[data-theme="dragonquest"] .quiz-terminal .qsh-cwd { color:#4a3010 !important; }
body[data-theme="dragonquest"] .quiz-terminal .quiz-sys-line { color:#4a3010 !important; opacity:1 !important; }
body[data-theme="dragonquest"] .quiz-terminal .q-block { background:#f5e8c8 !important; border:1px solid #c8a060 !important; }
body[data-theme="dragonquest"] .quiz-terminal .q-text { color:#1a0e00 !important; }
body[data-theme="dragonquest"] .quiz-terminal .q-text::before { color:#c8a060 !important; }
body[data-theme="dragonquest"] .quiz-terminal .q-opts label { background:#eeddb0 !important; border:1px solid #c8a060 !important; color:#1a0e00 !important; }
body[data-theme="dragonquest"] .quiz-terminal .q-opts label:hover { background:#fff5d9 !important; border-color:#1a3a6e !important; }
body[data-theme="dragonquest"] .quiz-terminal .q-opts label:has(input:checked) { background:#c8922a !important; border:1px solid #1a3a6e !important; color:#ffffff !important; }
body[data-theme="dragonquest"] .quiz-terminal .quiz-term-foot { background:#1a3a6e !important; border-top:2px solid #102858 !important; }
body[data-theme="dragonquest"] .quiz-terminal .quiz-status { color:#c8922a !important; }
body[data-theme="dragonquest"] .quiz-terminal .quiz-submit-btn { background:#c8922a !important; color:#1a0e00 !important; box-shadow:0 0 0 2px #102858 !important; }
body[data-theme="dragonquest"] .quiz-terminal .quiz-reset-btn { color:#c8922a !important; border:2px solid #c8922a !important; }

/* ===================================================
   ZELDA THEME
   Forest green + triforce gold + stone parchment
   =================================================== */
[data-theme="zelda"] {
  --surface:#e8dcc8;
  --surface-low:#ddd0b4;
  --surface-container:#d0c0a0;
  --surface-high:#c4b08c;
  --surface-variant:#b8a078;
  --on-surface:#1a1400;
  --on-surface-variant:#4a3c10;
  --outline:#6a5020;
  --outline-variant:#a88040;
  --primary:#2d5016;
  --primary-deep:#1e3a0e;
  --primary-fixed:#d8f0c0;
  --primary-fixed-dim:#90c860;
  --on-primary:#ffffff;
  --secondary-container:#c9a227;
  --secondary-fixed:#fff8c0;
  --secondary-fixed-dim:#f0d840;
  --tertiary:#1a1400;
  --tertiary-container:#3a2c10;
  --on-tertiary:#e8dcc8;
  --gold:#c9a227;
  --green:#2d5016;
  --sans:'Philosopher',serif;
  --body:'Merriweather',serif;
  --mono:'JetBrains Mono',monospace;
  --pixel:'Philosopher',serif;
  --pixel-readable:'Merriweather',serif;
  --theme-accent:#c9a227;
  --theme-border-style:4px;
  --theme-heading-font:'Philosopher',serif;
}

body[data-theme="zelda"]::before {
  content:''; position:fixed; inset:0; pointer-events:none; z-index:0;
  background-image:
    linear-gradient(to right, rgba(201,162,39,.05) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(201,162,39,.05) 1px, transparent 1px);
  background-size: 40px 40px;
}

body[data-theme="zelda"] .quiz-terminal { background:#e8dcc8 !important; border:2px solid #2d5016 !important; box-shadow:4px 4px 0 0 #c9a227 !important; }
body[data-theme="zelda"] .quiz-terminal .quiz-term-head { background:#2d5016 !important; border-bottom:2px solid #1e3a0e !important; }
body[data-theme="zelda"] .quiz-terminal .quiz-term-title { color:#c9a227 !important; }
body[data-theme="zelda"] .quiz-terminal .quiz-term-icon { color:#c9a227 !important; }
body[data-theme="zelda"] .quiz-terminal .quiz-term-body { background:#ddd0b4 !important; border-left:2px solid #2d5016 !important; border-right:2px solid #2d5016 !important; box-shadow:none !important; color:#1a1400; }
body[data-theme="zelda"] .quiz-terminal .quiz-shell-line { color:#2d5016 !important; }
body[data-theme="zelda"] .quiz-terminal .qsh-user { color:#1e3a0e !important; }
body[data-theme="zelda"] .quiz-terminal .qsh-cwd { color:#4a3c10 !important; }
body[data-theme="zelda"] .quiz-terminal .quiz-sys-line { color:#4a3c10 !important; opacity:1 !important; }
body[data-theme="zelda"] .quiz-terminal .q-block { background:#e8dcc8 !important; border:1px solid #a88040 !important; }
body[data-theme="zelda"] .quiz-terminal .q-text { color:#1a1400 !important; }
body[data-theme="zelda"] .quiz-terminal .q-text::before { color:#a88040 !important; }
body[data-theme="zelda"] .quiz-terminal .q-opts label { background:#ddd0b4 !important; border:1px solid #a88040 !important; color:#1a1400 !important; }
body[data-theme="zelda"] .quiz-terminal .q-opts label:hover { background:#d8f0c0 !important; border-color:#2d5016 !important; }
body[data-theme="zelda"] .quiz-terminal .q-opts label:has(input:checked) { background:#c9a227 !important; border:1px solid #2d5016 !important; color:#1a1400 !important; }
body[data-theme="zelda"] .quiz-terminal .quiz-term-foot { background:#2d5016 !important; border-top:2px solid #1e3a0e !important; }
body[data-theme="zelda"] .quiz-terminal .quiz-status { color:#c9a227 !important; }
body[data-theme="zelda"] .quiz-terminal .quiz-submit-btn { background:#c9a227 !important; color:#1a1400 !important; box-shadow:0 0 0 2px #1e3a0e !important; }
body[data-theme="zelda"] .quiz-terminal .quiz-reset-btn { color:#c9a227 !important; border:2px solid #c9a227 !important; }

/* ===================================================
   CHRONO TRIGGER THEME
   Violet + vivid teal + deep purple — Pixelify Sans
   =================================================== */
[data-theme="chronotrigger"] {
  --surface:#0d0a1e;
  --surface-low:#121028;
  --surface-container:#181530;
  --surface-high:#1e1a3c;
  --surface-variant:#252048;
  --on-surface:#e0d8ff;
  --on-surface-variant:#a098d0;
  --outline:#5040a0;
  --outline-variant:#382880;
  --primary:#7c3aed;
  --primary-deep:#6020d8;
  --primary-fixed:#e8d8ff;
  --primary-fixed-dim:#c0a0ff;
  --on-primary:#ffffff;
  --secondary-container:#00d4aa;
  --secondary-fixed:#c0fff0;
  --secondary-fixed-dim:#40f0c8;
  --tertiary:#e0d8ff;
  --tertiary-container:#1e1a3c;
  --on-tertiary:#0d0a1e;
  --gold:#f5c451;
  --green:#00d4aa;
  --sans:'Pixelify Sans',monospace;
  --body:'IBM Plex Mono',monospace;
  --mono:'IBM Plex Mono',monospace;
  --pixel:'Pixelify Sans',monospace;
  --pixel-readable:'IBM Plex Mono',monospace;
  --theme-accent:#00d4aa;
  --theme-border-style:0px;
  --theme-heading-font:'Pixelify Sans',monospace;
}

body[data-theme="chronotrigger"]::before {
  content:''; position:fixed; inset:0; pointer-events:none; z-index:0;
  background:
    radial-gradient(ellipse at 50% 0%, rgba(124,58,237,.12) 0%, transparent 55%),
    radial-gradient(ellipse at 50% 100%, rgba(0,212,170,.06) 0%, transparent 55%);
}

body[data-theme="chronotrigger"] .quiz-terminal { background:#0d0a1e !important; border:2px solid #5040a0 !important; box-shadow:4px 4px 0 0 #00d4aa !important; }
body[data-theme="chronotrigger"] .quiz-terminal .quiz-term-head { background:#1e1a3c !important; border-bottom:2px solid #5040a0 !important; }
body[data-theme="chronotrigger"] .quiz-terminal .quiz-term-title { color:#00d4aa !important; }
body[data-theme="chronotrigger"] .quiz-terminal .quiz-term-icon { color:#00d4aa !important; }
body[data-theme="chronotrigger"] .quiz-terminal .quiz-term-body { background:#121028 !important; border-left:2px solid #5040a0 !important; border-right:2px solid #5040a0 !important; box-shadow:inset 0 0 24px rgba(0,212,170,.08) !important; }
body[data-theme="chronotrigger"] .quiz-terminal .quiz-shell-line { color:#00d4aa !important; }
body[data-theme="chronotrigger"] .quiz-terminal .qsh-user { color:#c0a0ff !important; }
body[data-theme="chronotrigger"] .quiz-terminal .qsh-cwd { color:#7c3aed !important; }
body[data-theme="chronotrigger"] .quiz-terminal .quiz-sys-line { color:#7c3aed !important; opacity:1 !important; }
body[data-theme="chronotrigger"] .quiz-terminal .q-block { background:rgba(13,10,30,.5) !important; border:1px solid rgba(0,212,170,.25) !important; }
body[data-theme="chronotrigger"] .quiz-terminal .q-text::before { color:#5040a0 !important; }
body[data-theme="chronotrigger"] .quiz-terminal .q-text { color:#e0d8ff !important; }
body[data-theme="chronotrigger"] .quiz-terminal .q-opts label { background:rgba(255,255,255,.03) !important; border:1px solid rgba(0,212,170,.25) !important; color:#e0d8ff !important; }
body[data-theme="chronotrigger"] .quiz-terminal .q-opts label:hover { background:rgba(0,212,170,.10) !important; border-color:#00d4aa !important; }
body[data-theme="chronotrigger"] .quiz-terminal .q-opts label:has(input:checked) { background:rgba(0,212,170,.20) !important; border:1px solid #00d4aa !important; color:#00d4aa !important; }
body[data-theme="chronotrigger"] .quiz-terminal .quiz-term-foot { background:#1e1a3c !important; border-top:2px solid #5040a0 !important; }
body[data-theme="chronotrigger"] .quiz-terminal .quiz-status { color:#00d4aa !important; }
body[data-theme="chronotrigger"] .quiz-terminal .quiz-submit-btn { background:#00d4aa !important; color:#0d0a1e !important; box-shadow:0 0 0 2px #5040a0 !important; }
body[data-theme="chronotrigger"] .quiz-terminal .quiz-reset-btn { color:#00d4aa !important; border:2px solid #00d4aa !important; }

/* ===================================================
   PERSONA THEME
   Stark black + blood red + white — Bebas Neue
   =================================================== */
[data-theme="persona"] {
  --surface:#080808;
  --surface-low:#0f0f0f;
  --surface-container:#181818;
  --surface-high:#222222;
  --surface-variant:#2c2c2c;
  --on-surface:#ffffff;
  --on-surface-variant:#cccccc;
  --outline:#cc0000;
  --outline-variant:#880000;
  --primary:#cc0000;
  --primary-deep:#990000;
  --primary-fixed:#300000;
  --primary-fixed-dim:#600000;
  --on-primary:#ffffff;
  --secondary-container:#ff2222;
  --secondary-fixed:#300000;
  --secondary-fixed-dim:#600000;
  --tertiary:#ffffff;
  --tertiary-container:#222222;
  --on-tertiary:#080808;
  --gold:#ff4444;
  --green:#00cc44;
  --sans:'Bebas Neue',sans-serif;
  --body:'Rajdhani',sans-serif;
  --mono:'JetBrains Mono',monospace;
  --pixel:'Bebas Neue',sans-serif;
  --pixel-readable:'Rajdhani',sans-serif;
  --theme-accent:#cc0000;
  --theme-border-style:0px;
  --theme-heading-font:'Bebas Neue',sans-serif;
}

body[data-theme="persona"]::before {
  content:''; position:fixed; inset:0; pointer-events:none; z-index:0;
  background-image:
    linear-gradient(45deg, rgba(204,0,0,.04) 25%, transparent 25%),
    linear-gradient(-45deg, rgba(204,0,0,.04) 25%, transparent 25%),
    linear-gradient(45deg, transparent 75%, rgba(204,0,0,.04) 75%),
    linear-gradient(-45deg, transparent 75%, rgba(204,0,0,.04) 75%);
  background-size: 20px 20px;
}

body[data-theme="persona"] .quiz-terminal { background:#080808 !important; border:2px solid #cc0000 !important; box-shadow:4px 4px 0 0 #cc0000 !important; }
body[data-theme="persona"] .quiz-terminal .quiz-term-head { background:#180000 !important; border-bottom:2px solid #cc0000 !important; }
body[data-theme="persona"] .quiz-terminal .quiz-term-title { color:#cc0000 !important; }
body[data-theme="persona"] .quiz-terminal .quiz-term-icon { color:#cc0000 !important; }
body[data-theme="persona"] .quiz-terminal .quiz-term-body { background:#0f0f0f !important; border-left:2px solid #cc0000 !important; border-right:2px solid #cc0000 !important; box-shadow:inset 0 0 24px rgba(204,0,0,.08) !important; }
body[data-theme="persona"] .quiz-terminal .quiz-shell-line { color:#cc0000 !important; }
body[data-theme="persona"] .quiz-terminal .qsh-user { color:#ff4444 !important; }
body[data-theme="persona"] .quiz-terminal .qsh-cwd { color:#888888 !important; }
body[data-theme="persona"] .quiz-terminal .quiz-sys-line { color:#888 !important; }
body[data-theme="persona"] .quiz-terminal .q-block { background:rgba(8,8,8,.6) !important; border:1px solid rgba(204,0,0,.30) !important; }
body[data-theme="persona"] .quiz-terminal .q-text { color:#ffffff !important; }
body[data-theme="persona"] .quiz-terminal .q-text::before { color:#444 !important; }
body[data-theme="persona"] .quiz-terminal .q-opts label { background:rgba(255,255,255,.04) !important; border:1px solid rgba(204,0,0,.30) !important; color:#ffffff !important; }
body[data-theme="persona"] .quiz-terminal .q-opts label:hover { background:rgba(204,0,0,.12) !important; border-color:#cc0000 !important; }
body[data-theme="persona"] .quiz-terminal .q-opts label:has(input:checked) { background:#cc0000 !important; border:1px solid #cc0000 !important; color:#ffffff !important; }
body[data-theme="persona"] .quiz-terminal .quiz-term-foot { background:#180000 !important; border-top:2px solid #cc0000 !important; }
body[data-theme="persona"] .quiz-terminal .quiz-status { color:#cc0000 !important; }
body[data-theme="persona"] .quiz-terminal .quiz-submit-btn { background:#cc0000 !important; color:#ffffff !important; box-shadow:0 0 0 2px #880000 !important; }
body[data-theme="persona"] .quiz-terminal .quiz-reset-btn { color:#cc0000 !important; border:2px solid #cc0000 !important; }

/* ===================================================
   DARK SOULS THEME
   Ashen charcoal + ember orange — Cinzel Decorative
   =================================================== */
[data-theme="darksouls"] {
  --surface:#16130f;
  --surface-low:#1e1a14;
  --surface-container:#262118;
  --surface-high:#30291e;
  --surface-variant:#3c3224;
  --on-surface:#d8c8a8;
  --on-surface-variant:#a09078;
  --outline:#6a4e28;
  --outline-variant:#4a3618;
  --primary:#c87941;
  --primary-deep:#a85e28;
  --primary-fixed:#3c2010;
  --primary-fixed-dim:#6a3818;
  --on-primary:#ffffff;
  --secondary-container:#d4942a;
  --secondary-fixed:#3a2808;
  --secondary-fixed-dim:#6a4810;
  --tertiary:#d8c8a8;
  --tertiary-container:#30291e;
  --on-tertiary:#16130f;
  --gold:#d4942a;
  --green:#4a7840;
  --sans:'Cinzel Decorative',serif;
  --body:'Lora',serif;
  --mono:'JetBrains Mono',monospace;
  --pixel:'Cinzel Decorative',serif;
  --pixel-readable:'Lora',serif;
  --theme-accent:#c87941;
  --theme-border-style:2px;
  --theme-heading-font:'Cinzel Decorative',serif;
}

body[data-theme="darksouls"]::before {
  content:''; position:fixed; inset:0; pointer-events:none; z-index:0;
  background: radial-gradient(ellipse at 50% 100%, rgba(200,121,65,.10) 0%, transparent 60%);
}

body[data-theme="darksouls"] .quiz-terminal { background:#16130f !important; border:2px solid #6a4e28 !important; box-shadow:4px 4px 0 0 #c87941 !important; }
body[data-theme="darksouls"] .quiz-terminal .quiz-term-head { background:#30291e !important; border-bottom:2px solid #6a4e28 !important; }
body[data-theme="darksouls"] .quiz-terminal .quiz-term-title { color:#c87941 !important; }
body[data-theme="darksouls"] .quiz-terminal .quiz-term-icon { color:#c87941 !important; }
body[data-theme="darksouls"] .quiz-terminal .quiz-term-body { background:#1e1a14 !important; border-left:2px solid #6a4e28 !important; border-right:2px solid #6a4e28 !important; box-shadow:inset 0 0 24px rgba(200,121,65,.06) !important; }
body[data-theme="darksouls"] .quiz-terminal .quiz-shell-line { color:#c87941 !important; }
body[data-theme="darksouls"] .quiz-terminal .qsh-user { color:#d4942a !important; }
body[data-theme="darksouls"] .quiz-terminal .qsh-cwd { color:#a09078 !important; }
body[data-theme="darksouls"] .quiz-terminal .quiz-sys-line { color:#a09078 !important; opacity:1 !important; }
body[data-theme="darksouls"] .quiz-terminal .q-block { background:rgba(22,19,15,.5) !important; border:1px solid rgba(106,78,40,.5) !important; }
body[data-theme="darksouls"] .quiz-terminal .q-text { color:#d8c8a8 !important; }
body[data-theme="darksouls"] .quiz-terminal .q-text::before { color:#4a3618 !important; }
body[data-theme="darksouls"] .quiz-terminal .q-opts label { background:rgba(255,255,255,.03) !important; border:1px solid rgba(106,78,40,.5) !important; color:#d8c8a8 !important; }
body[data-theme="darksouls"] .quiz-terminal .q-opts label:hover { background:rgba(200,121,65,.12) !important; border-color:#c87941 !important; }
body[data-theme="darksouls"] .quiz-terminal .q-opts label:has(input:checked) { background:rgba(200,121,65,.22) !important; border:1px solid #c87941 !important; color:#c87941 !important; }
body[data-theme="darksouls"] .quiz-terminal .quiz-term-foot { background:#30291e !important; border-top:2px solid #6a4e28 !important; }
body[data-theme="darksouls"] .quiz-terminal .quiz-status { color:#c87941 !important; }
body[data-theme="darksouls"] .quiz-terminal .quiz-submit-btn { background:#c87941 !important; color:#16130f !important; box-shadow:0 0 0 2px #6a4e28 !important; }
body[data-theme="darksouls"] .quiz-terminal .quiz-reset-btn { color:#c87941 !important; border:2px solid #c87941 !important; }

/* =====================================================
   DARK MODE VARIANTS FOR LIGHT-BASE THEMES
   These override the light base when body.dark is on.
   Specificity (0,2,1) beats base [data-theme] (0,1,0)
   ===================================================== */

/* ===================================================
   POKEMON — DARK VARIANT
   Dark brown-black + Pokéball red + electric yellow
   =================================================== */
body.dark[data-theme="pokemon"] {
  --surface:#1a0a00;
  --surface-low:#240e00;
  --surface-container:#301400;
  --surface-high:#3c1a00;
  --surface-variant:#4a2000;
  --on-surface:#f8f0e3;
  --on-surface-variant:#d4b89a;
  --outline:#cc0000;
  --outline-variant:#880000;
  --primary:#cc0000;
  --primary-deep:#990000;
  --primary-fixed:#3a0000;
  --primary-fixed-dim:#6a0000;
  --on-primary:#f8f0e3;
  --secondary-container:#ffcb05;
  --secondary-fixed:#3a3000;
  --secondary-fixed-dim:#6a5a00;
  --tertiary:#f8f0e3;
  --tertiary-container:#2a1800;
  --on-tertiary:#1a0a00;
  --gold:#ffcb05;
  --green:#1a5010;
  --theme-accent:#ffcb05;
  --theme-border-style:4px;
  --theme-heading-font:'Press Start 2P',monospace;
}

body.dark[data-theme="pokemon"]::before { content:''; position:fixed; inset:0; pointer-events:none; z-index:0; background:none; }

body.dark[data-theme="pokemon"] .quiz-terminal { background:#1a0a00 !important; border:2px solid #cc0000 !important; box-shadow:4px 4px 0 0 #ffcb05 !important; }
body.dark[data-theme="pokemon"] .quiz-terminal .quiz-term-head { background:#3a0000 !important; border-bottom:2px solid #880000 !important; }
body.dark[data-theme="pokemon"] .quiz-terminal .quiz-term-title { color:#ffcb05 !important; }
body.dark[data-theme="pokemon"] .quiz-terminal .quiz-term-icon { color:#ffcb05 !important; }
body.dark[data-theme="pokemon"] .quiz-terminal .quiz-term-body { background:#240e00 !important; border-left:2px solid #cc0000 !important; border-right:2px solid #cc0000 !important; box-shadow:none !important; color:#f8f0e3; }
body.dark[data-theme="pokemon"] .quiz-terminal .quiz-shell-line { color:#cc0000 !important; }
body.dark[data-theme="pokemon"] .quiz-terminal .qsh-user { color:#990000 !important; }
body.dark[data-theme="pokemon"] .quiz-terminal .qsh-cwd { color:#d4b89a !important; }
body.dark[data-theme="pokemon"] .quiz-terminal .quiz-sys-line { color:#d4b89a !important; opacity:1 !important; }
body.dark[data-theme="pokemon"] .quiz-terminal .q-block { background:#1a0a00 !important; border:1px solid #880000 !important; }
body.dark[data-theme="pokemon"] .quiz-terminal .q-text { color:#f8f0e3 !important; }
body.dark[data-theme="pokemon"] .quiz-terminal .q-text::before { color:#4a2000 !important; }
body.dark[data-theme="pokemon"] .quiz-terminal .q-opts label { background:#240e00 !important; border:1px solid #880000 !important; color:#f8f0e3 !important; }
body.dark[data-theme="pokemon"] .quiz-terminal .q-opts label:hover { background:#3a0000 !important; border-color:#cc0000 !important; }
body.dark[data-theme="pokemon"] .quiz-terminal .q-opts label:has(input:checked) { background:#ffcb05 !important; border:1px solid #cc0000 !important; color:#1a0a00 !important; }
body.dark[data-theme="pokemon"] .quiz-terminal .quiz-term-foot { background:#3a0000 !important; border-top:2px solid #880000 !important; }
body.dark[data-theme="pokemon"] .quiz-terminal .quiz-status { color:#ffcb05 !important; }
body.dark[data-theme="pokemon"] .quiz-terminal .quiz-submit-btn { background:#ffcb05 !important; color:#1a0a00 !important; box-shadow:0 0 0 2px #990000 !important; }
body.dark[data-theme="pokemon"] .quiz-terminal .quiz-reset-btn { color:#ffcb05 !important; border:2px solid #ffcb05 !important; }

/* ===================================================
   DRAGON QUEST — DARK VARIANT
   Midnight navy + warm gold + parchment text
   =================================================== */
body.dark[data-theme="dragonquest"] {
  --surface:#0c1a3a;
  --surface-low:#0e2048;
  --surface-container:#122658;
  --surface-high:#162c68;
  --surface-variant:#1a3278;
  --on-surface:#f5e8c8;
  --on-surface-variant:#c8a870;
  --outline:#c8922a;
  --outline-variant:#8a6020;
  --primary:#c8922a;
  --primary-deep:#a87020;
  --primary-fixed:#2a1a00;
  --primary-fixed-dim:#4a3000;
  --on-primary:#0c1a3a;
  --secondary-container:#e0a830;
  --secondary-fixed:#1a1000;
  --secondary-fixed-dim:#3a2400;
  --tertiary:#f5e8c8;
  --tertiary-container:#162c68;
  --on-tertiary:#0c1a3a;
  --gold:#c8922a;
  --green:#1a5020;
  --theme-accent:#c8922a;
  --theme-border-style:6px;
  --theme-heading-font:'Uncial Antiqua',serif;
}

body.dark[data-theme="dragonquest"]::before {
  content:''; position:fixed; inset:0; pointer-events:none; z-index:0;
  background-image:
    linear-gradient(to right, rgba(200,146,42,.08) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(200,146,42,.08) 1px, transparent 1px);
  background-size: 40px 40px;
}

body.dark[data-theme="dragonquest"] .quiz-terminal { background:#0c1a3a !important; border:2px solid #c8922a !important; box-shadow:4px 4px 0 0 #e0a830 !important; }
body.dark[data-theme="dragonquest"] .quiz-terminal .quiz-term-head { background:#162c68 !important; border-bottom:2px solid #8a6020 !important; }
body.dark[data-theme="dragonquest"] .quiz-terminal .quiz-term-title { color:#c8922a !important; }
body.dark[data-theme="dragonquest"] .quiz-terminal .quiz-term-icon { color:#c8922a !important; }
body.dark[data-theme="dragonquest"] .quiz-terminal .quiz-term-body { background:#0e2048 !important; border-left:2px solid #c8922a !important; border-right:2px solid #c8922a !important; box-shadow:inset 0 0 24px rgba(200,146,42,.08) !important; }
body.dark[data-theme="dragonquest"] .quiz-terminal .quiz-shell-line { color:#c8922a !important; }
body.dark[data-theme="dragonquest"] .quiz-terminal .qsh-user { color:#a87020 !important; }
body.dark[data-theme="dragonquest"] .quiz-terminal .qsh-cwd { color:#c8a870 !important; }
body.dark[data-theme="dragonquest"] .quiz-terminal .quiz-sys-line { color:#c8a870 !important; opacity:1 !important; }
body.dark[data-theme="dragonquest"] .quiz-terminal .q-block { background:rgba(12,26,58,.5) !important; border:1px solid rgba(200,146,42,.3) !important; }
body.dark[data-theme="dragonquest"] .quiz-terminal .q-text { color:#f5e8c8 !important; }
body.dark[data-theme="dragonquest"] .quiz-terminal .q-text::before { color:#8a6020 !important; }
body.dark[data-theme="dragonquest"] .quiz-terminal .q-opts label { background:rgba(255,255,255,.03) !important; border:1px solid rgba(200,146,42,.3) !important; color:#f5e8c8 !important; }
body.dark[data-theme="dragonquest"] .quiz-terminal .q-opts label:hover { background:rgba(200,146,42,.12) !important; border-color:#c8922a !important; }
body.dark[data-theme="dragonquest"] .quiz-terminal .q-opts label:has(input:checked) { background:rgba(200,146,42,.22) !important; border:1px solid #c8922a !important; color:#c8922a !important; }
body.dark[data-theme="dragonquest"] .quiz-terminal .quiz-term-foot { background:#162c68 !important; border-top:2px solid #8a6020 !important; }
body.dark[data-theme="dragonquest"] .quiz-terminal .quiz-status { color:#c8922a !important; }
body.dark[data-theme="dragonquest"] .quiz-terminal .quiz-submit-btn { background:#c8922a !important; color:#0c1a3a !important; box-shadow:0 0 0 2px #8a6020 !important; }
body.dark[data-theme="dragonquest"] .quiz-terminal .quiz-reset-btn { color:#c8922a !important; border:2px solid #c8922a !important; }

/* ===================================================
   ZELDA — DARK VARIANT
   Deep forest night + triforce gold + warm parchment
   =================================================== */
body.dark[data-theme="zelda"] {
  --surface:#0c1408;
  --surface-low:#10180a;
  --surface-container:#141e0e;
  --surface-high:#182412;
  --surface-variant:#1e2c16;
  --on-surface:#e8dcc8;
  --on-surface-variant:#b8a878;
  --outline:#c9a227;
  --outline-variant:#806420;
  --primary:#c9a227;
  --primary-deep:#a08020;
  --primary-fixed:#1a1400;
  --primary-fixed-dim:#342800;
  --on-primary:#0c1408;
  --secondary-container:#d4b030;
  --secondary-fixed:#0e1000;
  --secondary-fixed-dim:#201c00;
  --tertiary:#e8dcc8;
  --tertiary-container:#182412;
  --on-tertiary:#0c1408;
  --gold:#c9a227;
  --green:#2d5016;
  --theme-accent:#c9a227;
  --theme-border-style:4px;
  --theme-heading-font:'Philosopher',serif;
}

body.dark[data-theme="zelda"]::before {
  content:''; position:fixed; inset:0; pointer-events:none; z-index:0;
  background-image:
    linear-gradient(to right, rgba(201,162,39,.07) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(201,162,39,.07) 1px, transparent 1px);
  background-size: 40px 40px;
}

body.dark[data-theme="zelda"] .quiz-terminal { background:#0c1408 !important; border:2px solid #c9a227 !important; box-shadow:4px 4px 0 0 #d4b030 !important; }
body.dark[data-theme="zelda"] .quiz-terminal .quiz-term-head { background:#182412 !important; border-bottom:2px solid #806420 !important; }
body.dark[data-theme="zelda"] .quiz-terminal .quiz-term-title { color:#c9a227 !important; }
body.dark[data-theme="zelda"] .quiz-terminal .quiz-term-icon { color:#c9a227 !important; }
body.dark[data-theme="zelda"] .quiz-terminal .quiz-term-body { background:#10180a !important; border-left:2px solid #c9a227 !important; border-right:2px solid #c9a227 !important; box-shadow:inset 0 0 24px rgba(201,162,39,.06) !important; }
body.dark[data-theme="zelda"] .quiz-terminal .quiz-shell-line { color:#c9a227 !important; }
body.dark[data-theme="zelda"] .quiz-terminal .qsh-user { color:#a08020 !important; }
body.dark[data-theme="zelda"] .quiz-terminal .qsh-cwd { color:#b8a878 !important; }
body.dark[data-theme="zelda"] .quiz-terminal .quiz-sys-line { color:#b8a878 !important; opacity:1 !important; }
body.dark[data-theme="zelda"] .quiz-terminal .q-block { background:rgba(12,20,8,.5) !important; border:1px solid rgba(201,162,39,.3) !important; }
body.dark[data-theme="zelda"] .quiz-terminal .q-text { color:#e8dcc8 !important; }
body.dark[data-theme="zelda"] .quiz-terminal .q-text::before { color:#806420 !important; }
body.dark[data-theme="zelda"] .quiz-terminal .q-opts label { background:rgba(255,255,255,.03) !important; border:1px solid rgba(201,162,39,.3) !important; color:#e8dcc8 !important; }
body.dark[data-theme="zelda"] .quiz-terminal .q-opts label:hover { background:rgba(201,162,39,.12) !important; border-color:#c9a227 !important; }
body.dark[data-theme="zelda"] .quiz-terminal .q-opts label:has(input:checked) { background:rgba(201,162,39,.22) !important; border:1px solid #c9a227 !important; color:#c9a227 !important; }
body.dark[data-theme="zelda"] .quiz-terminal .quiz-term-foot { background:#182412 !important; border-top:2px solid #806420 !important; }
body.dark[data-theme="zelda"] .quiz-terminal .quiz-status { color:#c9a227 !important; }
body.dark[data-theme="zelda"] .quiz-terminal .quiz-submit-btn { background:#c9a227 !important; color:#0c1408 !important; box-shadow:0 0 0 2px #806420 !important; }
body.dark[data-theme="zelda"] .quiz-terminal .quiz-reset-btn { color:#c9a227 !important; border:2px solid #c9a227 !important; }

/* =====================================================
   LIGHT MODE VARIANTS FOR DARK-BASE THEMES
   These override the dark base when body.dark is OFF.
   Specificity (0,2,1) beats base [data-theme] (0,1,0)
   ===================================================== */

/* ===================================================
   FINAL FANTASY — LIGHT VARIANT
   Pale blue-silver + crystal blue + gold
   =================================================== */
body:not(.dark)[data-theme="finalfantasy"] {
  --surface:#f0f4ff;
  --surface-low:#e4ecff;
  --surface-container:#d4e0ff;
  --surface-high:#c4d4ff;
  --surface-variant:#b0c4f8;
  --on-surface:#001040;
  --on-surface-variant:#203080;
  --outline:#3060c0;
  --outline-variant:#6090d8;
  --primary:#2060c0;
  --primary-deep:#1040a0;
  --primary-fixed:#d8e8ff;
  --primary-fixed-dim:#90b8e0;
  --on-primary:#ffffff;
  --secondary-container:#4080c0;
  --secondary-fixed:#002060;
  --secondary-fixed-dim:#003898;
  --tertiary:#001040;
  --tertiary-container:#d4e0ff;
  --on-tertiary:#f0f4ff;
  --gold:#b08000;
  --green:#1a6040;
  --theme-accent:#2060c0;
  --theme-border-style:2px;
  --theme-heading-font:'Cinzel',serif;
}

body:not(.dark)[data-theme="finalfantasy"]::before {
  content:''; position:fixed; inset:0; pointer-events:none; z-index:0;
  background: radial-gradient(ellipse at 50% 0%, rgba(32,96,192,.07) 0%, transparent 60%);
}

body:not(.dark)[data-theme="finalfantasy"] .quiz-terminal { background:#f0f4ff !important; border:2px solid #3060c0 !important; box-shadow:4px 4px 0 0 #2060c0 !important; }
body:not(.dark)[data-theme="finalfantasy"] .quiz-terminal .quiz-term-head { background:#c4d4ff !important; border-bottom:2px solid #3060c0 !important; }
body:not(.dark)[data-theme="finalfantasy"] .quiz-terminal .quiz-term-title { color:#1040a0 !important; }
body:not(.dark)[data-theme="finalfantasy"] .quiz-terminal .quiz-term-icon { color:#1040a0 !important; }
body:not(.dark)[data-theme="finalfantasy"] .quiz-terminal .quiz-term-body { background:#e4ecff !important; border-left:2px solid #3060c0 !important; border-right:2px solid #3060c0 !important; box-shadow:none !important; color:#001040; }
body:not(.dark)[data-theme="finalfantasy"] .quiz-terminal .quiz-shell-line { color:#2060c0 !important; }
body:not(.dark)[data-theme="finalfantasy"] .quiz-terminal .qsh-user { color:#1040a0 !important; }
body:not(.dark)[data-theme="finalfantasy"] .quiz-terminal .qsh-cwd { color:#203080 !important; }
body:not(.dark)[data-theme="finalfantasy"] .quiz-terminal .quiz-sys-line { color:#3060c0 !important; opacity:1 !important; }
body:not(.dark)[data-theme="finalfantasy"] .quiz-terminal .q-block { background:#f0f4ff !important; border:1px solid #6090d8 !important; }
body:not(.dark)[data-theme="finalfantasy"] .quiz-terminal .q-text { color:#001040 !important; }
body:not(.dark)[data-theme="finalfantasy"] .quiz-terminal .q-text::before { color:#6090d8 !important; }
body:not(.dark)[data-theme="finalfantasy"] .quiz-terminal .q-opts label { background:#e4ecff !important; border:1px solid #6090d8 !important; color:#001040 !important; }
body:not(.dark)[data-theme="finalfantasy"] .quiz-terminal .q-opts label:hover { background:#d4e0ff !important; border-color:#2060c0 !important; }
body:not(.dark)[data-theme="finalfantasy"] .quiz-terminal .q-opts label:has(input:checked) { background:#c4d4ff !important; border:1px solid #2060c0 !important; color:#001040 !important; }
body:not(.dark)[data-theme="finalfantasy"] .quiz-terminal .quiz-term-foot { background:#c4d4ff !important; border-top:2px solid #3060c0 !important; }
body:not(.dark)[data-theme="finalfantasy"] .quiz-terminal .quiz-status { color:#1040a0 !important; }
body:not(.dark)[data-theme="finalfantasy"] .quiz-terminal .quiz-submit-btn { background:#2060c0 !important; color:#ffffff !important; box-shadow:0 0 0 2px #1040a0 !important; }
body:not(.dark)[data-theme="finalfantasy"] .quiz-terminal .quiz-reset-btn { color:#2060c0 !important; border:2px solid #2060c0 !important; }

/* ===================================================
   CHRONO TRIGGER — LIGHT VARIANT
   Soft lavender + violet + teal — sunny timeline
   =================================================== */
body:not(.dark)[data-theme="chronotrigger"] {
  --surface:#f0eaff;
  --surface-low:#e4dcff;
  --surface-container:#d8ceff;
  --surface-high:#ccc0f8;
  --surface-variant:#bcaef0;
  --on-surface:#1a0840;
  --on-surface-variant:#402870;
  --outline:#6030c0;
  --outline-variant:#9060d8;
  --primary:#6030c0;
  --primary-deep:#4818a0;
  --primary-fixed:#e8d8ff;
  --primary-fixed-dim:#b098f0;
  --on-primary:#ffffff;
  --secondary-container:#00b890;
  --secondary-fixed:#003020;
  --secondary-fixed-dim:#006050;
  --tertiary:#1a0840;
  --tertiary-container:#e4dcff;
  --on-tertiary:#f0eaff;
  --gold:#c09000;
  --green:#00b890;
  --theme-accent:#00b890;
  --theme-border-style:0px;
  --theme-heading-font:'Pixelify Sans',monospace;
}

body:not(.dark)[data-theme="chronotrigger"]::before {
  content:''; position:fixed; inset:0; pointer-events:none; z-index:0;
  background:
    radial-gradient(ellipse at 50% 0%, rgba(96,48,192,.07) 0%, transparent 55%),
    radial-gradient(ellipse at 50% 100%, rgba(0,184,144,.04) 0%, transparent 55%);
}

body:not(.dark)[data-theme="chronotrigger"] .quiz-terminal { background:#f0eaff !important; border:2px solid #6030c0 !important; box-shadow:4px 4px 0 0 #00b890 !important; }
body:not(.dark)[data-theme="chronotrigger"] .quiz-terminal .quiz-term-head { background:#ccc0f8 !important; border-bottom:2px solid #6030c0 !important; }
body:not(.dark)[data-theme="chronotrigger"] .quiz-terminal .quiz-term-title { color:#4818a0 !important; }
body:not(.dark)[data-theme="chronotrigger"] .quiz-terminal .quiz-term-icon { color:#4818a0 !important; }
body:not(.dark)[data-theme="chronotrigger"] .quiz-terminal .quiz-term-body { background:#e4dcff !important; border-left:2px solid #6030c0 !important; border-right:2px solid #6030c0 !important; box-shadow:none !important; color:#1a0840; }
body:not(.dark)[data-theme="chronotrigger"] .quiz-terminal .quiz-shell-line { color:#6030c0 !important; }
body:not(.dark)[data-theme="chronotrigger"] .quiz-terminal .qsh-user { color:#4818a0 !important; }
body:not(.dark)[data-theme="chronotrigger"] .quiz-terminal .qsh-cwd { color:#402870 !important; }
body:not(.dark)[data-theme="chronotrigger"] .quiz-terminal .quiz-sys-line { color:#00b890 !important; opacity:1 !important; }
body:not(.dark)[data-theme="chronotrigger"] .quiz-terminal .q-block { background:#f0eaff !important; border:1px solid #9060d8 !important; }
body:not(.dark)[data-theme="chronotrigger"] .quiz-terminal .q-text { color:#1a0840 !important; }
body:not(.dark)[data-theme="chronotrigger"] .quiz-terminal .q-text::before { color:#9060d8 !important; }
body:not(.dark)[data-theme="chronotrigger"] .quiz-terminal .q-opts label { background:#e4dcff !important; border:1px solid #9060d8 !important; color:#1a0840 !important; }
body:not(.dark)[data-theme="chronotrigger"] .quiz-terminal .q-opts label:hover { background:#d8ceff !important; border-color:#6030c0 !important; }
body:not(.dark)[data-theme="chronotrigger"] .quiz-terminal .q-opts label:has(input:checked) { background:#c0e8e0 !important; border:1px solid #00b890 !important; color:#1a0840 !important; }
body:not(.dark)[data-theme="chronotrigger"] .quiz-terminal .quiz-term-foot { background:#ccc0f8 !important; border-top:2px solid #6030c0 !important; }
body:not(.dark)[data-theme="chronotrigger"] .quiz-terminal .quiz-status { color:#4818a0 !important; }
body:not(.dark)[data-theme="chronotrigger"] .quiz-terminal .quiz-submit-btn { background:#6030c0 !important; color:#ffffff !important; box-shadow:0 0 0 2px #4818a0 !important; }
body:not(.dark)[data-theme="chronotrigger"] .quiz-terminal .quiz-reset-btn { color:#6030c0 !important; border:2px solid #6030c0 !important; }

/* ===================================================
   PERSONA — LIGHT VARIANT
   Stark white + blood red — academic / newspaper
   =================================================== */
body:not(.dark)[data-theme="persona"] {
  --surface:#f8f8f8;
  --surface-low:#f0f0f0;
  --surface-container:#e8e8e8;
  --surface-high:#e0e0e0;
  --surface-variant:#d4d4d4;
  --on-surface:#0a0a0a;
  --on-surface-variant:#3c3c3c;
  --outline:#cc0000;
  --outline-variant:#880000;
  --primary:#cc0000;
  --primary-deep:#990000;
  --primary-fixed:#fff0f0;
  --primary-fixed-dim:#ffc0c0;
  --on-primary:#ffffff;
  --secondary-container:#cc0000;
  --secondary-fixed:#2a0000;
  --secondary-fixed-dim:#550000;
  --tertiary:#0a0a0a;
  --tertiary-container:#e8e8e8;
  --on-tertiary:#f8f8f8;
  --gold:#cc0000;
  --green:#006600;
  --theme-accent:#cc0000;
  --theme-border-style:0px;
  --theme-heading-font:'Bebas Neue',sans-serif;
}

body:not(.dark)[data-theme="persona"]::before {
  content:''; position:fixed; inset:0; pointer-events:none; z-index:0;
  background-image:
    linear-gradient(45deg, rgba(204,0,0,.02) 25%, transparent 25%),
    linear-gradient(-45deg, rgba(204,0,0,.02) 25%, transparent 25%),
    linear-gradient(45deg, transparent 75%, rgba(204,0,0,.02) 75%),
    linear-gradient(-45deg, transparent 75%, rgba(204,0,0,.02) 75%);
  background-size: 20px 20px;
}

body:not(.dark)[data-theme="persona"] .quiz-terminal { background:#f8f8f8 !important; border:2px solid #cc0000 !important; box-shadow:4px 4px 0 0 #cc0000 !important; }
body:not(.dark)[data-theme="persona"] .quiz-terminal .quiz-term-head { background:#e8e8e8 !important; border-bottom:2px solid #cc0000 !important; }
body:not(.dark)[data-theme="persona"] .quiz-terminal .quiz-term-title { color:#cc0000 !important; }
body:not(.dark)[data-theme="persona"] .quiz-terminal .quiz-term-icon { color:#cc0000 !important; }
body:not(.dark)[data-theme="persona"] .quiz-terminal .quiz-term-body { background:#f0f0f0 !important; border-left:2px solid #cc0000 !important; border-right:2px solid #cc0000 !important; box-shadow:none !important; color:#0a0a0a; }
body:not(.dark)[data-theme="persona"] .quiz-terminal .quiz-shell-line { color:#cc0000 !important; }
body:not(.dark)[data-theme="persona"] .quiz-terminal .qsh-user { color:#990000 !important; }
body:not(.dark)[data-theme="persona"] .quiz-terminal .qsh-cwd { color:#3c3c3c !important; }
body:not(.dark)[data-theme="persona"] .quiz-terminal .quiz-sys-line { color:#888 !important; opacity:1 !important; }
body:not(.dark)[data-theme="persona"] .quiz-terminal .q-block { background:#f8f8f8 !important; border:1px solid #d4d4d4 !important; }
body:not(.dark)[data-theme="persona"] .quiz-terminal .q-text { color:#0a0a0a !important; }
body:not(.dark)[data-theme="persona"] .quiz-terminal .q-text::before { color:#d4d4d4 !important; }
body:not(.dark)[data-theme="persona"] .quiz-terminal .q-opts label { background:#f0f0f0 !important; border:1px solid #d4d4d4 !important; color:#0a0a0a !important; }
body:not(.dark)[data-theme="persona"] .quiz-terminal .q-opts label:hover { background:#fff0f0 !important; border-color:#cc0000 !important; }
body:not(.dark)[data-theme="persona"] .quiz-terminal .q-opts label:has(input:checked) { background:#cc0000 !important; border:1px solid #cc0000 !important; color:#ffffff !important; }
body:not(.dark)[data-theme="persona"] .quiz-terminal .quiz-term-foot { background:#e8e8e8 !important; border-top:2px solid #cc0000 !important; }
body:not(.dark)[data-theme="persona"] .quiz-terminal .quiz-status { color:#cc0000 !important; }
body:not(.dark)[data-theme="persona"] .quiz-terminal .quiz-submit-btn { background:#cc0000 !important; color:#ffffff !important; box-shadow:0 0 0 2px #990000 !important; }
body:not(.dark)[data-theme="persona"] .quiz-terminal .quiz-reset-btn { color:#cc0000 !important; border:2px solid #cc0000 !important; }

/* ===================================================
   DARK SOULS — LIGHT VARIANT
   Pale warm stone + ember orange — Anor Londo sunlight
   =================================================== */
body:not(.dark)[data-theme="darksouls"] {
  --surface:#e8dfd0;
  --surface-low:#ddd4c2;
  --surface-container:#d0c8b4;
  --surface-high:#c4bba6;
  --surface-variant:#b8ae98;
  --on-surface:#1a1208;
  --on-surface-variant:#4a3c28;
  --outline:#8a5a28;
  --outline-variant:#c09060;
  --primary:#a05820;
  --primary-deep:#803a10;
  --primary-fixed:#fff0e4;
  --primary-fixed-dim:#ffd0a0;
  --on-primary:#ffffff;
  --secondary-container:#b06020;
  --secondary-fixed:#2a1800;
  --secondary-fixed-dim:#4a2c08;
  --tertiary:#1a1208;
  --tertiary-container:#d0c8b4;
  --on-tertiary:#e8dfd0;
  --gold:#c08020;
  --green:#406020;
  --theme-accent:#a05820;
  --theme-border-style:2px;
  --theme-heading-font:'Cinzel Decorative',serif;
}

body:not(.dark)[data-theme="darksouls"]::before {
  content:''; position:fixed; inset:0; pointer-events:none; z-index:0;
  background: radial-gradient(ellipse at 50% 0%, rgba(160,88,32,.08) 0%, transparent 60%);
}

body:not(.dark)[data-theme="darksouls"] .quiz-terminal { background:#e8dfd0 !important; border:2px solid #8a5a28 !important; box-shadow:4px 4px 0 0 #a05820 !important; }
body:not(.dark)[data-theme="darksouls"] .quiz-terminal .quiz-term-head { background:#c4bba6 !important; border-bottom:2px solid #8a5a28 !important; }
body:not(.dark)[data-theme="darksouls"] .quiz-terminal .quiz-term-title { color:#803a10 !important; }
body:not(.dark)[data-theme="darksouls"] .quiz-terminal .quiz-term-icon { color:#803a10 !important; }
body:not(.dark)[data-theme="darksouls"] .quiz-terminal .quiz-term-body { background:#ddd4c2 !important; border-left:2px solid #8a5a28 !important; border-right:2px solid #8a5a28 !important; box-shadow:none !important; color:#1a1208; }
body:not(.dark)[data-theme="darksouls"] .quiz-terminal .quiz-shell-line { color:#a05820 !important; }
body:not(.dark)[data-theme="darksouls"] .quiz-terminal .qsh-user { color:#803a10 !important; }
body:not(.dark)[data-theme="darksouls"] .quiz-terminal .qsh-cwd { color:#4a3c28 !important; }
body:not(.dark)[data-theme="darksouls"] .quiz-terminal .quiz-sys-line { color:#8a5a28 !important; opacity:1 !important; }
body:not(.dark)[data-theme="darksouls"] .quiz-terminal .q-block { background:#e8dfd0 !important; border:1px solid #c09060 !important; }
body:not(.dark)[data-theme="darksouls"] .quiz-terminal .q-text { color:#1a1208 !important; }
body:not(.dark)[data-theme="darksouls"] .quiz-terminal .q-text::before { color:#c09060 !important; }
body:not(.dark)[data-theme="darksouls"] .quiz-terminal .q-opts label { background:#ddd4c2 !important; border:1px solid #c09060 !important; color:#1a1208 !important; }
body:not(.dark)[data-theme="darksouls"] .quiz-terminal .q-opts label:hover { background:#fff0e4 !important; border-color:#a05820 !important; }
body:not(.dark)[data-theme="darksouls"] .quiz-terminal .q-opts label:has(input:checked) { background:#a05820 !important; border:1px solid #8a5a28 !important; color:#ffffff !important; }
body:not(.dark)[data-theme="darksouls"] .quiz-terminal .quiz-term-foot { background:#c4bba6 !important; border-top:2px solid #8a5a28 !important; }
body:not(.dark)[data-theme="darksouls"] .quiz-terminal .quiz-status { color:#803a10 !important; }
body:not(.dark)[data-theme="darksouls"] .quiz-terminal .quiz-submit-btn { background:#a05820 !important; color:#ffffff !important; box-shadow:0 0 0 2px #8a5a28 !important; }
body:not(.dark)[data-theme="darksouls"] .quiz-terminal .quiz-reset-btn { color:#a05820 !important; border:2px solid #a05820 !important; }
