/* ============================================================================
   ✨ THEMES SET 3 — 40 additional palettes
   Each block only redeclares the CSS-variable palette (no per-component
   overrides). Components in style.css already consume these vars.
   Naming convention: pure colour-driven, dev-friendly, plus a handful of
   light themes (suffix in label) so daytime usage has options.
   Contrast baseline: body text ratio ≥ 4.5:1 against bg.
   ============================================================================ */

/* ─── 1 · Cyberpunk 2077 ─── */
html[data-theme="cyberpunk"] {
  --bg:#0a0014; --bg-secondary:#150028; --bg-tertiary:#1f0040;
  --card-bg:rgba(20,0,40,.92); --sidebar-bg:#0a0014;
  --text:#fcee0a; --text-muted:#c0a93a;
  --primary:#00ffff; --primary-dim:rgba(0,255,255,.10); --primary-glow:rgba(0,255,255,.55);
  --accent:#ff00aa; --success:#00ff88; --warning:#fcee0a; --danger:#ff003c;
  --border:rgba(0,255,255,.20); --border-glow:rgba(252,238,10,.45);
  --radius:0;
}

/* ─── 2 · Matrix ─── */
html[data-theme="matrix"] {
  --bg:#000800; --bg-secondary:#001500; --bg-tertiary:#002800;
  --card-bg:rgba(0,16,0,.95); --sidebar-bg:#000400;
  --text:#39ff14; --text-muted:#1a8a0a;
  --primary:#39ff14; --primary-dim:rgba(57,255,20,.10); --primary-glow:rgba(57,255,20,.50);
  --accent:#7fff7f; --success:#39ff14; --warning:#ffaa00; --danger:#ff3030;
  --border:rgba(57,255,20,.18); --border-glow:rgba(57,255,20,.50);
  --radius:0;
  --font-sans:'Courier New',monospace;
}

/* ─── 3 · Vaporwave ─── */
html[data-theme="vaporwave"] {
  --bg:#1a0033; --bg-secondary:#22074a; --bg-tertiary:#2c0a5c;
  --card-bg:rgba(34,7,74,.92); --sidebar-bg:#150028;
  --text:#ff71ce; --text-muted:#b266d4;
  --primary:#01cdfe; --primary-dim:rgba(1,205,254,.12); --primary-glow:rgba(1,205,254,.50);
  --accent:#05ffa1; --success:#05ffa1; --warning:#fffb96; --danger:#ff71ce;
  --border:rgba(255,113,206,.20); --border-glow:rgba(1,205,254,.45);
  --radius:8px;
}

/* ─── 4 · Monochrome ─── */
html[data-theme="monochrome"] {
  --bg:#1a1a1a; --bg-secondary:#222; --bg-tertiary:#2a2a2a;
  --card-bg:rgba(34,34,34,.95); --sidebar-bg:#141414;
  --text:#e0e0e0; --text-muted:#909090;
  --primary:#fff; --primary-dim:rgba(255,255,255,.08); --primary-glow:rgba(255,255,255,.30);
  --accent:#aaa; --success:#cccccc; --warning:#dddddd; --danger:#888;
  --border:rgba(255,255,255,.10); --border-glow:rgba(255,255,255,.35);
  --radius:4px;
}

/* ─── 5 · Sepia (LIGHT) ─── */
html[data-theme="sepia"] {
  --bg:#f4ecd8; --bg-secondary:#e8dcc0; --bg-tertiary:#d8c8a8;
  --card-bg:rgba(255,253,245,.95); --sidebar-bg:#e0d0a8;
  --text:#3a2a18; --text-muted:#6a5238;
  --primary:#8b4513; --primary-dim:rgba(139,69,19,.10); --primary-glow:rgba(139,69,19,.30);
  --accent:#cd853f; --success:#5a7a2f; --warning:#b8860b; --danger:#a52a2a;
  --border:rgba(58,42,24,.15); --border-glow:rgba(139,69,19,.30);
  --radius:6px;
}
html[data-theme="sepia"] body,
html[data-theme="sepia"] .main-content { background:var(--bg); color:var(--text); }
html[data-theme="sepia"] table,
html[data-theme="sepia"] table td,
html[data-theme="sepia"] table th { color:var(--text)!important; border-color:rgba(58,42,24,.18)!important; }
html[data-theme="sepia"] input,
html[data-theme="sepia"] select,
html[data-theme="sepia"] textarea { background:#fffdf5; color:var(--text); border:1px solid var(--border); }

/* ─── 6 · High Contrast Dark ─── */
html[data-theme="high-contrast-dark"] {
  --bg:#000; --bg-secondary:#0a0a0a; --bg-tertiary:#141414;
  --card-bg:#000; --sidebar-bg:#000;
  --text:#fff; --text-muted:#d0d0d0;
  --primary:#ffff00; --primary-dim:rgba(255,255,0,.15); --primary-glow:rgba(255,255,0,.55);
  --accent:#00ffff; --success:#00ff00; --warning:#ffff00; --danger:#ff5050;
  --border:rgba(255,255,255,.50); --border-glow:rgba(255,255,0,.60);
  --radius:0;
}
html[data-theme="high-contrast-dark"] .card,
html[data-theme="high-contrast-dark"] .stat-card { border:2px solid #fff!important; }

/* ─── 7 · Paper (LIGHT) ─── */
html[data-theme="paper"] {
  --bg:#fafafa; --bg-secondary:#f0f0f0; --bg-tertiary:#e6e6e6;
  --card-bg:#fff; --sidebar-bg:#f5f5f5;
  --text:#222; --text-muted:#666;
  --primary:#1976d2; --primary-dim:rgba(25,118,210,.08); --primary-glow:rgba(25,118,210,.25);
  --accent:#9c27b0; --success:#2e7d32; --warning:#ed6c02; --danger:#d32f2f;
  --border:rgba(0,0,0,.10); --border-glow:rgba(25,118,210,.30);
  --radius:8px;
}
html[data-theme="paper"] body,
html[data-theme="paper"] .main-content { background:var(--bg); color:var(--text); }
html[data-theme="paper"] table,
html[data-theme="paper"] table td,
html[data-theme="paper"] table th { color:var(--text)!important; border-color:rgba(0,0,0,.12)!important; }
html[data-theme="paper"] input,
html[data-theme="paper"] select,
html[data-theme="paper"] textarea { background:#fff; color:var(--text); border:1px solid var(--border); }

/* ─── 8 · Midnight Blue ─── */
html[data-theme="midnight-blue"] {
  --bg:#0a0e27; --bg-secondary:#0f1340; --bg-tertiary:#141a4a;
  --card-bg:rgba(15,19,64,.92); --sidebar-bg:#070a1f;
  --text:#dde4ff; --text-muted:#8e9ad0;
  --primary:#4a6cff; --primary-dim:rgba(74,108,255,.12); --primary-glow:rgba(74,108,255,.45);
  --accent:#a78bfa; --success:#10b981; --warning:#fbbf24; --danger:#f87171;
  --border:rgba(221,228,255,.10); --border-glow:rgba(74,108,255,.40);
  --radius:8px;
}

/* ─── 9 · Forest ─── */
html[data-theme="forest"] {
  --bg:#0a1f0a; --bg-secondary:#0e2a14; --bg-tertiary:#143820;
  --card-bg:rgba(14,42,20,.92); --sidebar-bg:#061a08;
  --text:#d4e8c8; --text-muted:#8fa680;
  --primary:#7ab83a; --primary-dim:rgba(122,184,58,.12); --primary-glow:rgba(122,184,58,.45);
  --accent:#d4af37; --success:#7ab83a; --warning:#daa520; --danger:#c0392b;
  --border:rgba(212,232,200,.10); --border-glow:rgba(122,184,58,.40);
  --radius:6px;
}

/* ─── 10 · Desert ─── */
html[data-theme="desert"] {
  --bg:#2a1a0a; --bg-secondary:#3a240e; --bg-tertiary:#4a2e14;
  --card-bg:rgba(58,36,14,.92); --sidebar-bg:#1f1208;
  --text:#f4e4c8; --text-muted:#bfa580;
  --primary:#e8a040; --primary-dim:rgba(232,160,64,.12); --primary-glow:rgba(232,160,64,.45);
  --accent:#d4673a; --success:#a3b540; --warning:#e8a040; --danger:#c84a3a;
  --border:rgba(244,228,200,.10); --border-glow:rgba(232,160,64,.40);
  --radius:4px;
}

/* ─── 11 · Ocean Deep ─── */
html[data-theme="ocean-deep"] {
  --bg:#031628; --bg-secondary:#062744; --bg-tertiary:#093860;
  --card-bg:rgba(6,39,68,.92); --sidebar-bg:#020e1c;
  --text:#cce8ff; --text-muted:#7ca5c8;
  --primary:#00b8d4; --primary-dim:rgba(0,184,212,.12); --primary-glow:rgba(0,184,212,.45);
  --accent:#00e5cc; --success:#26d0a0; --warning:#ffb74d; --danger:#ef5350;
  --border:rgba(204,232,255,.10); --border-glow:rgba(0,184,212,.40);
  --radius:8px;
}

/* ─── 12 · Lavender ─── */
html[data-theme="lavender"] {
  --bg:#1a0a2a; --bg-secondary:#240e3a; --bg-tertiary:#2e144a;
  --card-bg:rgba(36,14,58,.92); --sidebar-bg:#120820;
  --text:#e8d4ff; --text-muted:#b09ad0;
  --primary:#b794f6; --primary-dim:rgba(183,148,246,.14); --primary-glow:rgba(183,148,246,.45);
  --accent:#f6c1f0; --success:#9be7c4; --warning:#f6e05e; --danger:#fc8181;
  --border:rgba(232,212,255,.10); --border-glow:rgba(183,148,246,.40);
  --radius:10px;
}

/* ─── 13 · Mint ─── */
html[data-theme="mint"] {
  --bg:#0a1f1c; --bg-secondary:#0e2a26; --bg-tertiary:#143832;
  --card-bg:rgba(14,42,38,.92); --sidebar-bg:#061a16;
  --text:#c8f5e0; --text-muted:#80b8a0;
  --primary:#3ddc97; --primary-dim:rgba(61,220,151,.12); --primary-glow:rgba(61,220,151,.45);
  --accent:#a0e8c8; --success:#3ddc97; --warning:#ffd84d; --danger:#ff7675;
  --border:rgba(200,245,224,.10); --border-glow:rgba(61,220,151,.40);
  --radius:8px;
}

/* ─── 14 · Crimson ─── */
html[data-theme="crimson"] {
  --bg:#1a0a0a; --bg-secondary:#280e0e; --bg-tertiary:#3a1414;
  --card-bg:rgba(40,14,14,.92); --sidebar-bg:#100808;
  --text:#ffd4d4; --text-muted:#bf9090;
  --primary:#dc143c; --primary-dim:rgba(220,20,60,.14); --primary-glow:rgba(220,20,60,.45);
  --accent:#ff6b8a; --success:#7ab83a; --warning:#ffaa20; --danger:#ff4040;
  --border:rgba(255,212,212,.10); --border-glow:rgba(220,20,60,.40);
  --radius:4px;
}

/* ─── 15 · Amber ─── */
html[data-theme="amber"] {
  --bg:#1a0f00; --bg-secondary:#2a1808; --bg-tertiary:#3a2410;
  --card-bg:rgba(42,24,8,.92); --sidebar-bg:#110a00;
  --text:#ffd49a; --text-muted:#bf9c70;
  --primary:#ffb000; --primary-dim:rgba(255,176,0,.14); --primary-glow:rgba(255,176,0,.45);
  --accent:#ff8c00; --success:#7ab83a; --warning:#ffb000; --danger:#dc3545;
  --border:rgba(255,212,154,.10); --border-glow:rgba(255,176,0,.40);
  --radius:4px;
}

/* ─── 16 · Slate ─── */
html[data-theme="slate"] {
  --bg:#1e293b; --bg-secondary:#172033; --bg-tertiary:#0f172a;
  --card-bg:rgba(30,41,59,.95); --sidebar-bg:#0f172a;
  --text:#e2e8f0; --text-muted:#94a3b8;
  --primary:#64748b; --primary-dim:rgba(100,116,139,.12); --primary-glow:rgba(100,116,139,.40);
  --accent:#94a3b8; --success:#10b981; --warning:#f59e0b; --danger:#ef4444;
  --border:rgba(226,232,240,.08); --border-glow:rgba(100,116,139,.40);
  --radius:6px;
}

/* ─── 17 · Twilight ─── */
html[data-theme="twilight"] {
  --bg:#1a1525; --bg-secondary:#221a32; --bg-tertiary:#2c2240;
  --card-bg:rgba(34,26,50,.92); --sidebar-bg:#15101e;
  --text:#e0d4f0; --text-muted:#a098b8;
  --primary:#9d4edd; --primary-dim:rgba(157,78,221,.12); --primary-glow:rgba(157,78,221,.45);
  --accent:#ff85a1; --success:#06d6a0; --warning:#ffd166; --danger:#ef476f;
  --border:rgba(224,212,240,.10); --border-glow:rgba(157,78,221,.40);
  --radius:8px;
}

/* ─── 18 · Sunset ─── */
html[data-theme="sunset"] {
  --bg:#1f0a14; --bg-secondary:#2e0e1c; --bg-tertiary:#3e1428;
  --card-bg:rgba(46,14,28,.92); --sidebar-bg:#15080e;
  --text:#ffd4c4; --text-muted:#bf9888;
  --primary:#ff6b35; --primary-dim:rgba(255,107,53,.12); --primary-glow:rgba(255,107,53,.45);
  --accent:#f7c59f; --success:#06a77d; --warning:#fcd34d; --danger:#d62828;
  --border:rgba(255,212,196,.10); --border-glow:rgba(255,107,53,.40);
  --radius:8px;
}

/* ─── 19 · Arctic (LIGHT) ─── */
html[data-theme="arctic"] {
  --bg:#eef6fa; --bg-secondary:#dce9f2; --bg-tertiary:#c5dae8;
  --card-bg:#fff; --sidebar-bg:#dde9f2;
  --text:#0d2538; --text-muted:#4a6a82;
  --primary:#0077b6; --primary-dim:rgba(0,119,182,.10); --primary-glow:rgba(0,119,182,.30);
  --accent:#48cae4; --success:#0a9396; --warning:#ee9b00; --danger:#bb3e03;
  --border:rgba(13,37,56,.12); --border-glow:rgba(0,119,182,.30);
  --radius:8px;
}
html[data-theme="arctic"] body,
html[data-theme="arctic"] .main-content { background:var(--bg); color:var(--text); }
html[data-theme="arctic"] table,
html[data-theme="arctic"] table td,
html[data-theme="arctic"] table th { color:var(--text)!important; border-color:rgba(13,37,56,.15)!important; }
html[data-theme="arctic"] input,
html[data-theme="arctic"] select,
html[data-theme="arctic"] textarea { background:#fff; color:var(--text); border:1px solid var(--border); }

/* ─── 20 · Volcano ─── */
html[data-theme="volcano"] {
  --bg:#1a0500; --bg-secondary:#28080a; --bg-tertiary:#3a0e0e;
  --card-bg:rgba(40,8,10,.94); --sidebar-bg:#100200;
  --text:#ffd0b0; --text-muted:#bf9088;
  --primary:#ff4500; --primary-dim:rgba(255,69,0,.12); --primary-glow:rgba(255,69,0,.50);
  --accent:#ffaa00; --success:#a3b840; --warning:#ffaa00; --danger:#ff1a1a;
  --border:rgba(255,208,176,.10); --border-glow:rgba(255,69,0,.45);
  --radius:0;
}

/* ─── 21 · Pastel Dream (LIGHT) ─── */
html[data-theme="pastel-dream"] {
  --bg:#fef6f9; --bg-secondary:#fce4ec; --bg-tertiary:#f8bbd0;
  --card-bg:#fff; --sidebar-bg:#fce4ec;
  --text:#3a1f3d; --text-muted:#7a5a7a;
  --primary:#ce93d8; --primary-dim:rgba(206,147,216,.12); --primary-glow:rgba(206,147,216,.30);
  --accent:#80deea; --success:#81c784; --warning:#ffd54f; --danger:#e57373;
  --border:rgba(58,31,61,.10); --border-glow:rgba(206,147,216,.30);
  --radius:12px;
}
html[data-theme="pastel-dream"] body,
html[data-theme="pastel-dream"] .main-content { background:var(--bg); color:var(--text); }
html[data-theme="pastel-dream"] table td,
html[data-theme="pastel-dream"] table th { color:var(--text)!important; }
html[data-theme="pastel-dream"] input,
html[data-theme="pastel-dream"] select,
html[data-theme="pastel-dream"] textarea { background:#fff; color:var(--text); border:1px solid var(--border); }

/* ─── 22 · Neon Tokyo ─── */
html[data-theme="neon-tokyo"] {
  --bg:#0d0d1f; --bg-secondary:#15152e; --bg-tertiary:#1d1d40;
  --card-bg:rgba(21,21,46,.92); --sidebar-bg:#08081a;
  --text:#f0f0ff; --text-muted:#a8a8d4;
  --primary:#ff006e; --primary-dim:rgba(255,0,110,.12); --primary-glow:rgba(255,0,110,.55);
  --accent:#3a86ff; --success:#06ffa5; --warning:#ffbe0b; --danger:#fb5607;
  --border:rgba(240,240,255,.10); --border-glow:rgba(255,0,110,.50);
  --radius:0;
}

/* ─── 23 · Retro Amber CRT ─── */
html[data-theme="retro-amber"] {
  --bg:#1a0a00; --bg-secondary:#2a1408; --bg-tertiary:#3a1e10;
  --card-bg:rgba(42,20,8,.95); --sidebar-bg:#100600;
  --text:#ffaa00; --text-muted:#bf7e00;
  --primary:#ffaa00; --primary-dim:rgba(255,170,0,.10); --primary-glow:rgba(255,170,0,.45);
  --accent:#ffd040; --success:#aabb00; --warning:#ffaa00; --danger:#ff5050;
  --border:rgba(255,170,0,.20); --border-glow:rgba(255,170,0,.45);
  --radius:0;
  --font-sans:'Courier New',monospace;
  --font-mono:'Courier New',monospace;
}

/* ─── 24 · Retro Green CRT ─── */
html[data-theme="retro-green"] {
  --bg:#001000; --bg-secondary:#002200; --bg-tertiary:#003000;
  --card-bg:rgba(0,34,0,.95); --sidebar-bg:#000800;
  --text:#33ff33; --text-muted:#22aa22;
  --primary:#33ff33; --primary-dim:rgba(51,255,51,.10); --primary-glow:rgba(51,255,51,.50);
  --accent:#7fff7f; --success:#33ff33; --warning:#ffff33; --danger:#ff5555;
  --border:rgba(51,255,51,.18); --border-glow:rgba(51,255,51,.45);
  --radius:0;
  --font-sans:'Courier New',monospace;
}

/* ─── 25 · Graphite ─── */
html[data-theme="graphite"] {
  --bg:#2c2c2c; --bg-secondary:#363636; --bg-tertiary:#404040;
  --card-bg:rgba(54,54,54,.95); --sidebar-bg:#1f1f1f;
  --text:#e8e8e8; --text-muted:#a0a0a0;
  --primary:#888888; --primary-dim:rgba(136,136,136,.12); --primary-glow:rgba(136,136,136,.30);
  --accent:#bbbbbb; --success:#7cb342; --warning:#ffa726; --danger:#ef5350;
  --border:rgba(232,232,232,.10); --border-glow:rgba(136,136,136,.35);
  --radius:4px;
}

/* ─── 26 · Porcelain (LIGHT) ─── */
html[data-theme="porcelain"] {
  --bg:#f7f7f5; --bg-secondary:#efefea; --bg-tertiary:#e0e0d8;
  --card-bg:#fff; --sidebar-bg:#efefea;
  --text:#262626; --text-muted:#6a6a6a;
  --primary:#3f51b5; --primary-dim:rgba(63,81,181,.10); --primary-glow:rgba(63,81,181,.30);
  --accent:#7e57c2; --success:#388e3c; --warning:#f57c00; --danger:#c62828;
  --border:rgba(38,38,38,.10); --border-glow:rgba(63,81,181,.30);
  --radius:8px;
}
html[data-theme="porcelain"] body,
html[data-theme="porcelain"] .main-content { background:var(--bg); color:var(--text); }
html[data-theme="porcelain"] table td,
html[data-theme="porcelain"] table th { color:var(--text)!important; }
html[data-theme="porcelain"] input,
html[data-theme="porcelain"] select,
html[data-theme="porcelain"] textarea { background:#fff; color:var(--text); border:1px solid var(--border); }

/* ─── 27 · Midnight Rose ─── */
html[data-theme="midnight-rose"] {
  --bg:#1a0512; --bg-secondary:#280a1e; --bg-tertiary:#3a142a;
  --card-bg:rgba(40,10,30,.92); --sidebar-bg:#120308;
  --text:#ffe0ec; --text-muted:#bf9aa8;
  --primary:#e91e63; --primary-dim:rgba(233,30,99,.14); --primary-glow:rgba(233,30,99,.45);
  --accent:#9c27b0; --success:#26a69a; --warning:#ffa726; --danger:#ef5350;
  --border:rgba(255,224,236,.10); --border-glow:rgba(233,30,99,.40);
  --radius:8px;
}

/* ─── 28 · Electric Blue ─── */
html[data-theme="electric-blue"] {
  --bg:#020817; --bg-secondary:#040d28; --bg-tertiary:#08163d;
  --card-bg:rgba(4,13,40,.92); --sidebar-bg:#01040c;
  --text:#d4e8ff; --text-muted:#7ca0c8;
  --primary:#0080ff; --primary-dim:rgba(0,128,255,.12); --primary-glow:rgba(0,128,255,.50);
  --accent:#00bcd4; --success:#00e676; --warning:#ffea00; --danger:#ff1744;
  --border:rgba(212,232,255,.10); --border-glow:rgba(0,128,255,.45);
  --radius:6px;
}

/* ─── 29 · Royal ─── */
html[data-theme="royal"] {
  --bg:#0a0a2e; --bg-secondary:#15154a; --bg-tertiary:#202060;
  --card-bg:rgba(21,21,74,.92); --sidebar-bg:#06061f;
  --text:#f0e8d8; --text-muted:#a89a78;
  --primary:#d4af37; --primary-dim:rgba(212,175,55,.14); --primary-glow:rgba(212,175,55,.45);
  --accent:#ffd700; --success:#7ab83a; --warning:#ffaa00; --danger:#dc143c;
  --border:rgba(240,232,216,.10); --border-glow:rgba(212,175,55,.45);
  --radius:6px;
}

/* ─── 30 · Emerald ─── */
html[data-theme="emerald"] {
  --bg:#001a14; --bg-secondary:#002a20; --bg-tertiary:#003a2c;
  --card-bg:rgba(0,42,32,.92); --sidebar-bg:#00100a;
  --text:#c8f5e0; --text-muted:#80b8a0;
  --primary:#10b981; --primary-dim:rgba(16,185,129,.12); --primary-glow:rgba(16,185,129,.45);
  --accent:#06d6a0; --success:#10b981; --warning:#fbbf24; --danger:#f87171;
  --border:rgba(200,245,224,.10); --border-glow:rgba(16,185,129,.40);
  --radius:8px;
}

/* ─── 31 · Copper ─── */
html[data-theme="copper"] {
  --bg:#1a0a05; --bg-secondary:#28140a; --bg-tertiary:#3a1e10;
  --card-bg:rgba(40,20,10,.95); --sidebar-bg:#120703;
  --text:#ffd0a8; --text-muted:#bf9870;
  --primary:#b87333; --primary-dim:rgba(184,115,51,.14); --primary-glow:rgba(184,115,51,.45);
  --accent:#cd853f; --success:#8a9a5b; --warning:#daa520; --danger:#b22222;
  --border:rgba(255,208,168,.10); --border-glow:rgba(184,115,51,.40);
  --radius:4px;
}

/* ─── 32 · Platinum (LIGHT) ─── */
html[data-theme="platinum"] {
  --bg:#e5e4e2; --bg-secondary:#d8d6d3; --bg-tertiary:#c4c2bf;
  --card-bg:#fff; --sidebar-bg:#d8d6d3;
  --text:#1a1a1a; --text-muted:#5a5a5a;
  --primary:#37474f; --primary-dim:rgba(55,71,79,.10); --primary-glow:rgba(55,71,79,.30);
  --accent:#607d8b; --success:#388e3c; --warning:#f57c00; --danger:#d32f2f;
  --border:rgba(26,26,26,.12); --border-glow:rgba(55,71,79,.30);
  --radius:6px;
}
html[data-theme="platinum"] body,
html[data-theme="platinum"] .main-content { background:var(--bg); color:var(--text); }
html[data-theme="platinum"] table td,
html[data-theme="platinum"] table th { color:var(--text)!important; }
html[data-theme="platinum"] input,
html[data-theme="platinum"] select,
html[data-theme="platinum"] textarea { background:#fff; color:var(--text); border:1px solid var(--border); }

/* ─── 33 · Plasma ─── */
html[data-theme="plasma"] {
  --bg:#0a0014; --bg-secondary:#180a2c; --bg-tertiary:#26144a;
  --card-bg:rgba(24,10,44,.92); --sidebar-bg:#08000f;
  --text:#f0d8ff; --text-muted:#b098c8;
  --primary:#9d00ff; --primary-dim:rgba(157,0,255,.14); --primary-glow:rgba(157,0,255,.55);
  --accent:#ff00aa; --success:#00ff88; --warning:#ffd000; --danger:#ff0055;
  --border:rgba(240,216,255,.10); --border-glow:rgba(157,0,255,.50);
  --radius:8px;
}

/* ─── 34 · Galaxy ─── */
html[data-theme="galaxy"] {
  --bg:#050516; --bg-secondary:#0a0a28; --bg-tertiary:#10103a;
  --card-bg:rgba(10,10,40,.92); --sidebar-bg:#02020a;
  --text:#dcdcff; --text-muted:#8888c8;
  --primary:#7c3aed; --primary-dim:rgba(124,58,237,.14); --primary-glow:rgba(124,58,237,.45);
  --accent:#06b6d4; --success:#22c55e; --warning:#eab308; --danger:#ef4444;
  --border:rgba(220,220,255,.10); --border-glow:rgba(124,58,237,.45);
  --radius:8px;
}

/* ─── 35 · Autumn ─── */
html[data-theme="autumn"] {
  --bg:#1a0e08; --bg-secondary:#28180c; --bg-tertiary:#3a2410;
  --card-bg:rgba(40,24,12,.92); --sidebar-bg:#12090a;
  --text:#ffe0c0; --text-muted:#bfa890;
  --primary:#d2691e; --primary-dim:rgba(210,105,30,.14); --primary-glow:rgba(210,105,30,.45);
  --accent:#cd5c5c; --success:#8fbc8f; --warning:#daa520; --danger:#b22222;
  --border:rgba(255,224,192,.10); --border-glow:rgba(210,105,30,.40);
  --radius:6px;
}

/* ─── 36 · Spring (LIGHT) ─── */
html[data-theme="spring"] {
  --bg:#f0f8e8; --bg-secondary:#e0f0d0; --bg-tertiary:#cce4b8;
  --card-bg:#fff; --sidebar-bg:#e0f0d0;
  --text:#1a3a14; --text-muted:#56785a;
  --primary:#388e3c; --primary-dim:rgba(56,142,60,.10); --primary-glow:rgba(56,142,60,.30);
  --accent:#ffc107; --success:#388e3c; --warning:#ff9800; --danger:#d32f2f;
  --border:rgba(26,58,20,.12); --border-glow:rgba(56,142,60,.30);
  --radius:8px;
}
html[data-theme="spring"] body,
html[data-theme="spring"] .main-content { background:var(--bg); color:var(--text); }
html[data-theme="spring"] table td,
html[data-theme="spring"] table th { color:var(--text)!important; }
html[data-theme="spring"] input,
html[data-theme="spring"] select,
html[data-theme="spring"] textarea { background:#fff; color:var(--text); border:1px solid var(--border); }

/* ─── 37 · Winter ─── */
html[data-theme="winter"] {
  --bg:#0d1825; --bg-secondary:#152337; --bg-tertiary:#1f334a;
  --card-bg:rgba(21,35,55,.92); --sidebar-bg:#080f18;
  --text:#dde8f5; --text-muted:#8ea0b8;
  --primary:#5c8eb8; --primary-dim:rgba(92,142,184,.12); --primary-glow:rgba(92,142,184,.40);
  --accent:#a8c4dc; --success:#7bb368; --warning:#dcaa48; --danger:#dc6868;
  --border:rgba(221,232,245,.10); --border-glow:rgba(92,142,184,.40);
  --radius:8px;
}

/* ─── 38 · Summer (LIGHT) ─── */
html[data-theme="summer"] {
  --bg:#fff8e8; --bg-secondary:#fff0d0; --bg-tertiary:#ffe4a8;
  --card-bg:#fff; --sidebar-bg:#fff0d0;
  --text:#3a2810; --text-muted:#7a6850;
  --primary:#f57c00; --primary-dim:rgba(245,124,0,.10); --primary-glow:rgba(245,124,0,.30);
  --accent:#03a9f4; --success:#43a047; --warning:#ffb300; --danger:#e53935;
  --border:rgba(58,40,16,.12); --border-glow:rgba(245,124,0,.30);
  --radius:8px;
}
html[data-theme="summer"] body,
html[data-theme="summer"] .main-content { background:var(--bg); color:var(--text); }
html[data-theme="summer"] table td,
html[data-theme="summer"] table th { color:var(--text)!important; }
html[data-theme="summer"] input,
html[data-theme="summer"] select,
html[data-theme="summer"] textarea { background:#fff; color:var(--text); border:1px solid var(--border); }

/* ─── 39 · Minimal Dark ─── */
html[data-theme="minimal-dark"] {
  --bg:#181818; --bg-secondary:#1f1f1f; --bg-tertiary:#262626;
  --card-bg:rgba(31,31,31,.96); --sidebar-bg:#121212;
  --text:#ededed; --text-muted:#9a9a9a;
  --primary:#0ea5e9; --primary-dim:rgba(14,165,233,.10); --primary-glow:rgba(14,165,233,.35);
  --accent:#a3a3a3; --success:#22c55e; --warning:#eab308; --danger:#ef4444;
  --border:rgba(255,255,255,.06); --border-glow:rgba(14,165,233,.35);
  --radius:4px;
}

/* ─── 40 · Minimal Light (LIGHT) ─── */
html[data-theme="minimal-light"] {
  --bg:#fff; --bg-secondary:#f9f9f9; --bg-tertiary:#f0f0f0;
  --card-bg:#fff; --sidebar-bg:#fafafa;
  --text:#111; --text-muted:#666;
  --primary:#0ea5e9; --primary-dim:rgba(14,165,233,.08); --primary-glow:rgba(14,165,233,.25);
  --accent:#737373; --success:#16a34a; --warning:#ca8a04; --danger:#dc2626;
  --border:rgba(0,0,0,.08); --border-glow:rgba(14,165,233,.30);
  --radius:4px;
}
html[data-theme="minimal-light"] body,
html[data-theme="minimal-light"] .main-content { background:var(--bg); color:var(--text); }
html[data-theme="minimal-light"] table td,
html[data-theme="minimal-light"] table th { color:var(--text)!important; border-color:rgba(0,0,0,.08)!important; }
html[data-theme="minimal-light"] input,
html[data-theme="minimal-light"] select,
html[data-theme="minimal-light"] textarea { background:#fff; color:var(--text); border:1px solid var(--border); }

/* ============================================================================
   Swatches for theme picker (40 chips)
   ============================================================================ */
.sw-cyberpunk          { background: linear-gradient(135deg, #0a0014 50%, #fcee0a 50%); }
.sw-matrix             { background: linear-gradient(135deg, #000800 50%, #39ff14 50%); }
.sw-vaporwave          { background: linear-gradient(135deg, #1a0033 30%, #ff71ce 65%, #01cdfe); }
.sw-monochrome         { background: linear-gradient(135deg, #1a1a1a 50%, #fff 50%); }
.sw-sepia              { background: linear-gradient(135deg, #f4ecd8 50%, #8b4513 50%); }
.sw-high-contrast-dark { background: linear-gradient(135deg, #000 50%, #ffff00 50%); }
.sw-paper              { background: linear-gradient(135deg, #fafafa 50%, #1976d2 50%); }
.sw-midnight-blue      { background: linear-gradient(135deg, #0a0e27 50%, #4a6cff 50%); }
.sw-forest             { background: linear-gradient(135deg, #0a1f0a 50%, #7ab83a 50%); }
.sw-desert             { background: linear-gradient(135deg, #2a1a0a 50%, #e8a040 50%); }
.sw-ocean-deep         { background: linear-gradient(135deg, #031628 50%, #00b8d4 50%); }
.sw-lavender           { background: linear-gradient(135deg, #1a0a2a 50%, #b794f6 50%); }
.sw-mint               { background: linear-gradient(135deg, #0a1f1c 50%, #3ddc97 50%); }
.sw-crimson            { background: linear-gradient(135deg, #1a0a0a 50%, #dc143c 50%); }
.sw-amber              { background: linear-gradient(135deg, #1a0f00 50%, #ffb000 50%); }
.sw-slate              { background: linear-gradient(135deg, #1e293b 50%, #94a3b8 50%); }
.sw-twilight           { background: linear-gradient(135deg, #1a1525 50%, #9d4edd 50%); }
.sw-sunset             { background: linear-gradient(135deg, #1f0a14 50%, #ff6b35 50%); }
.sw-arctic             { background: linear-gradient(135deg, #eef6fa 50%, #0077b6 50%); }
.sw-volcano            { background: linear-gradient(135deg, #1a0500 50%, #ff4500 50%); }
.sw-pastel-dream       { background: linear-gradient(135deg, #fce4ec 50%, #ce93d8 50%); }
.sw-neon-tokyo         { background: linear-gradient(135deg, #0d0d1f 50%, #ff006e 50%); }
.sw-retro-amber        { background: linear-gradient(135deg, #1a0a00 50%, #ffaa00 50%); }
.sw-retro-green        { background: linear-gradient(135deg, #001000 50%, #33ff33 50%); }
.sw-graphite           { background: linear-gradient(135deg, #2c2c2c 50%, #888 50%); }
.sw-porcelain          { background: linear-gradient(135deg, #f7f7f5 50%, #3f51b5 50%); }
.sw-midnight-rose      { background: linear-gradient(135deg, #1a0512 50%, #e91e63 50%); }
.sw-electric-blue      { background: linear-gradient(135deg, #020817 50%, #0080ff 50%); }
.sw-royal              { background: linear-gradient(135deg, #0a0a2e 50%, #d4af37 50%); }
.sw-emerald            { background: linear-gradient(135deg, #001a14 50%, #10b981 50%); }
.sw-copper             { background: linear-gradient(135deg, #1a0a05 50%, #b87333 50%); }
.sw-platinum           { background: linear-gradient(135deg, #e5e4e2 50%, #37474f 50%); }
.sw-plasma             { background: linear-gradient(135deg, #0a0014 50%, #9d00ff 50%); }
.sw-galaxy             { background: linear-gradient(135deg, #050516 50%, #7c3aed 50%); }
.sw-autumn             { background: linear-gradient(135deg, #1a0e08 50%, #d2691e 50%); }
.sw-spring             { background: linear-gradient(135deg, #f0f8e8 50%, #388e3c 50%); }
.sw-winter             { background: linear-gradient(135deg, #0d1825 50%, #5c8eb8 50%); }
.sw-summer             { background: linear-gradient(135deg, #fff8e8 50%, #f57c00 50%); }
.sw-minimal-dark       { background: linear-gradient(135deg, #181818 50%, #0ea5e9 50%); }
.sw-minimal-light      { background: linear-gradient(135deg, #fff 50%, #0ea5e9 50%); border:1px solid rgba(0,0,0,.15); }
