:root{
  --bg:grey;
  --panelA:#1a1a2e;
  --panelB:#16213e;
  --accent:#00ff41;
  --accent2:#00cc33;
  --text:#eaffef;
  --field:#0f0f23;
  --fieldBorder:#333;
  --cardInk:#000;
  --cardPaper:#f8f9fa;
  --cardPaper2:#e9ecef;
  --shadow:rgba(0,255,65,.12);
  --danger:#ff3b30;
  --muted:#94a3b8;
  --mono:"VT323",monospace;
  --ui:"Inter",system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  --radius:20px;
}

body{background:var(--bg);color:var(--text);}
.panel{background:linear-gradient(145deg,var(--panelA),var(--panelB));border-color:var(--accent);box-shadow:0 10px 30px var(--shadow);}
.panel h2{color:var(--accent);text-shadow:0 0 10px rgba(0,0,0,.4);}
.panel input,.panel select,.panel textarea{background:var(--field);border-color:var(--fieldBorder);color:var(--text);}
.panel input:focus,.panel select:focus,.panel textarea:focus{border-color:var(--accent);box-shadow:0 0 10px rgba(0,0,0,.35);}
.btn{background:linear-gradient(145deg,var(--accent),var(--accent2));color:var(--cardInk);}
.btn:hover{background:linear-gradient(145deg,var(--accent2),#000);box-shadow:0 5px 15px rgba(0,0,0,.4);}
.bash{background:linear-gradient(145deg,var(--cardPaper),var(--cardPaper2));border-color:var(--cardInk);box-shadow:0 18px 45px var(--shadow);}
.bash .titlewrap{background:#fdfdfd;border-color:var(--cardInk);}
.bash .rules{border-color:var(--cardInk);}
.bash .art{border-color:var(--cardInk);}
.bash .tarot-display{border-color:var(--cardInk);}
.back{background:linear-gradient(145deg,var(--cardPaper),var(--cardPaper2));border-color:var(--cardInk);box-shadow:0 18px 45px var(--shadow);}
.bash .art pre{font-family:var(--mono);color:var(--cardInk);}

.theme-chipbar{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0 2px 0}
.theme-chip{appearance:none;border:2px solid var(--accent);background:var(--field);color:var(--text);padding:8px 10px;border-radius:12px;cursor:pointer;font-weight:600;font-size:12px;line-height:1}
.theme-chip:hover{transform:translateY(-1px)}
.theme-chip.active{background:linear-gradient(145deg,var(--accent),var(--accent2));border-color:transparent;color:var(--cardInk)}

.theme-select{width:100%;margin:10px 0 4px 0;padding:10px;background:var(--field);border:2px solid var(--fieldBorder);border-radius:10px;color:var(--text);font-weight:600}
.theme-note{font-size:12px;color:var(--muted);margin:0 0 8px 0}

html[data-theme] body,
html[data-theme] .panel,
html[data-theme] .btn,
html[data-theme] .bash,
html[data-theme] .back,
html[data-theme] .panel input,
html[data-theme] .panel select,
html[data-theme] .panel textarea{
  transition:background-color .22s ease,border-color .22s ease,color .22s ease,box-shadow .22s ease,filter .22s ease;
}

/* THEMES */

html[data-theme="matrix"]{
  --bg:#070a07;
  --panelA:#06120a;
  --panelB:#0b1f12;
  --accent:#00ff41;
  --accent2:#00cc33;
  --text:#d7ffe3;
  --field:#050a06;
  --fieldBorder:#0f3a22;
  --shadow:rgba(0,255,65,.14);
  --cardInk:#000;
  --cardPaper:#f3fff7;
  --cardPaper2:#e0ffe8;
  --muted:#6ee7b7;
}

html[data-theme="cyber"]{
  --bg:#07021a;
  --panelA:#190034;
  --panelB:#0b1440;
  --accent:#ff2bd6;
  --accent2:#22d3ee;
  --text:#f8f7ff;
  --field:#0a0522;
  --fieldBorder:#2a1a66;
  --shadow:rgba(255,43,214,.18);
  --cardInk:#0b0b0b;
  --cardPaper:#fdf2ff;
  --cardPaper2:#e0f4ff;
  --muted:#a78bfa;
}

html[data-theme="ambercrt"]{
  --bg:#090806;
  --panelA:#1a140b;
  --panelB:#241a0d;
  --accent:#ffb000;
  --accent2:#ff7a00;
  --text:#fff3d6;
  --field:#0d0b07;
  --fieldBorder:#4a3200;
  --shadow:rgba(255,176,0,.18);
  --cardPaper:#fff8e6;
  --cardPaper2:#fde8c8;
  --muted:#fcd34d;
}

html[data-theme="ice"]{
  --bg:#050b14;
  --panelA:#06182a;
  --panelB:#082338;
  --accent:#7dd3fc;
  --accent2:#22c55e;
  --text:#e6f6ff;
  --field:#071423;
  --fieldBorder:#124a7a;
  --shadow:rgba(125,211,252,.16);
  --cardPaper:#f2fbff;
  --cardPaper2:#e0f2ff;
  --muted:#93c5fd;
}

html[data-theme="mono"]{
  --bg:#0b0b0b;
  --panelA:#111;
  --panelB:#151515;
  --accent:#e5e5e5;
  --accent2:#a3a3a3;
  --text:#f5f5f5;
  --field:#0f0f0f;
  --fieldBorder:#333;
  --shadow:rgba(255,255,255,.08);
  --cardPaper:#f5f5f5;
  --cardPaper2:#e0e0e0;
  --muted:#bdbdbd;
}

html[data-theme="paper"]{
  --bg:#f2f2f2;
  --panelA:#ffffff;
  --panelB:#f7f7f7;
  --accent:#111827;
  --accent2:#374151;
  --text:#111827;
  --field:#ffffff;
  --fieldBorder:#d1d5db;
  --shadow:rgba(0,0,0,.12);
  --cardInk:#000;
  --cardPaper:#ffffff;
  --cardPaper2:#f3f4f6;
  --muted:#6b7280;
}

html[data-theme="forest"]{
  --bg:#06110a;
  --panelA:#062012;
  --panelB:#07301a;
  --accent:#34d399;
  --accent2:#a7f3d0;
  --text:#eaffef;
  --field:#04160c;
  --fieldBorder:#1b5a3a;
  --shadow:rgba(52,211,153,.14);
  --cardPaper:#f3fff8;
  --cardPaper2:#defce8;
  --muted:#6ee7b7;
}

html[data-theme="lava"]{
  --bg:#120405;
  --panelA:#2a090b;
  --panelB:#3a0b0d;
  --accent:#ff3b30;
  --accent2:#ffb703;
  --text:#fff2f2;
  --field:#140607;
  --fieldBorder:#5a1b1d;
  --shadow:rgba(255,59,48,.16);
  --cardPaper:#fff5f2;
  --cardPaper2:#ffe4de;
  --muted:#fecaca;
}

html[data-theme="ocean"]{
  --bg:#020b13;
  --panelA:#03233a;
  --panelB:#043047;
  --accent:#38bdf8;
  --accent2:#14b8a6;
  --text:#e6fbff;
  --field:#021521;
  --fieldBorder:#0f4c6e;
  --shadow:rgba(56,189,248,.14);
  --cardPaper:#f1fbff;
  --cardPaper2:#e0f4ff;
  --muted:#67e8f9;
}

html[data-theme="sunset"]{
  --bg:#0f0616;
  --panelA:#2b0f2f;
  --panelB:#3b0f22;
  --accent:#fb7185;
  --accent2:#f59e0b;
  --text:#fff7ed;
  --field:#14081c;
  --fieldBorder:#5b1b44;
  --shadow:rgba(251,113,133,.16);
  --cardPaper:#fff7f3;
  --cardPaper2:#ffe9dd;
  --muted:#fdba74;
}

html[data-theme="gruv"]{
  --bg:#1d2021;
  --panelA:#282828;
  --panelB:#32302f;
  --accent:#fabd2f;
  --accent2:#b8bb26;
  --text:#fbf1c7;
  --field:#1f1f1f;
  --fieldBorder:#504945;
  --shadow:rgba(250,189,47,.12);
  --cardPaper:#fbf1c7;
  --cardPaper2:#e9dec0;
  --muted:#d5c4a1;
}

html[data-theme="dracula"]{
  --bg:#0b0b12;
  --panelA:#181a27;
  --panelB:#1f2233;
  --accent:#bd93f9;
  --accent2:#50fa7b;
  --text:#f8f8f2;
  --field:#11131f;
  --fieldBorder:#3b3f5c;
  --shadow:rgba(189,147,249,.14);
  --cardPaper:#f6f5ff;
  --cardPaper2:#ecebff;
  --muted:#ff79c6;
}

html[data-theme="solarizedDark"]{
  --bg:#002b36;
  --panelA:#073642;
  --panelB:#0b3b45;
  --accent:#2aa198;
  --accent2:#b58900;
  --text:#eee8d5;
  --field:#01212a;
  --fieldBorder:#235b60;
  --shadow:rgba(42,161,152,.12);
  --cardPaper:#fdf6e3;
  --cardPaper2:#f1e4c5;
  --muted:#93a1a1;
}

html[data-theme="solarizedLight"]{
  --bg:#fdf6e3;
  --panelA:#fffdf6;
  --panelB:#f7f0d9;
  --accent:#268bd2;
  --accent2:#2aa198;
  --text:#073642;
  --field:#fffaf0;
  --fieldBorder:#d6cbb2;
  --shadow:rgba(0,0,0,.10);
  --cardPaper:#fefcf4;
  --cardPaper2:#f6eed9;
  --muted:#586e75;
}

html[data-theme="neonGreen"]{
  --bg:#000;
  --panelA:#030303;
  --panelB:#070707;
  --accent:#39ff14;
  --accent2:#00ff85;
  --text:#eaffef;
  --field:#060606;
  --fieldBorder:#124f12;
  --shadow:rgba(57,255,20,.14);
  --cardPaper:#f3fff6;
  --cardPaper2:#e1ffe9;
  --muted:#86efac;
}

html[data-theme="neonBlue"]{
  --bg:#02040f;
  --panelA:#050a22;
  --panelB:#060f2b;
  --accent:#60a5fa;
  --accent2:#22d3ee;
  --text:#eff6ff;
  --field:#04081a;
  --fieldBorder:#1d3f7a;
  --shadow:rgba(96,165,250,.14);
  --cardPaper:#f3f7ff;
  --cardPaper2:#e0ecff;
  --muted:#93c5fd;
}

html[data-theme="mint"]{
  --bg:#03120f;
  --panelA:#05241d;
  --panelB:#063028;
  --accent:#10b981;
  --accent2:#a7f3d0;
  --text:#eaffef;
  --field:#041a14;
  --fieldBorder:#0f5b45;
  --shadow:rgba(16,185,129,.14);
  --cardPaper:#f1fff8;
  --cardPaper2:#defcef;
  --muted:#6ee7b7;
}

html[data-theme="coffee"]{
  --bg:#0f0b08;
  --panelA:#20150f;
  --panelB:#2a1b12;
  --accent:#d6a77a;
  --accent2:#f59e0b;
  --text:#fff7ed;
  --field:#140f0c;
  --fieldBorder:#4a3222;
  --shadow:rgba(214,167,122,.14);
  --cardPaper:#fff7ed;
  --cardPaper2:#f2e0c7;
  --muted:#fcd34d;
}

html[data-theme="terminalClassic"]{
  --bg:#001b00;
  --panelA:#002900;
  --panelB:#003600;
  --accent:#33ff33;
  --accent2:#9aff9a;
  --text:#d6ffd6;
  --field:#001600;
  --fieldBorder:#007a00;
  --shadow:rgba(51,255,51,.12);
  --cardPaper:#f4fff4;
  --cardPaper2:#e2ffe2;
  --muted:#86efac;
}

html[data-theme="royal"]{
  --bg:#0a0616;
  --panelA:#1a0f3a;
  --panelB:#120a2a;
  --accent:#a78bfa;
  --accent2:#f472b6;
  --text:#f5f3ff;
  --field:#0d0820;
  --fieldBorder:#3a2a7a;
  --shadow:rgba(167,139,250,.14);
  --cardPaper:#f7f4ff;
  --cardPaper2:#ece4ff;
  --muted:#c4b5fd;
}

/* Additional themes with subtle card hues */

html[data-theme="infrared"]{
  --bg:#0b0204;
  --panelA:#23010b;
  --panelB:#3b0212;
  --accent:#ff4d6a;
  --accent2:#ff9f1c;
  --text:#ffeef2;
  --field:#130008;
  --fieldBorder:#5a1125;
  --shadow:rgba(255,77,106,.18);
  --cardInk:#000;
  --cardPaper:#fff2f4;
  --cardPaper2:#ffe0e6;
  --muted:#fecaca;
}

html[data-theme="bubblegum"]{
  --bg:#140316;
  --panelA:#2b0b3b;
  --panelB:#331047;
  --accent:#ff7ab8;
  --accent2:#ffd6e8;
  --text:#fff5fb;
  --field:#1a0822;
  --fieldBorder:#5b1a66;
  --shadow:rgba(255,122,184,.18);
  --cardInk:#120312;
  --cardPaper:#fff1fa;
  --cardPaper2:#ffe0f3;
  --muted:#f9a8d4;
}

html[data-theme="midnight"]{
  --bg:#020617;
  --panelA:#02081f;
  --panelB:#020b2b;
  --accent:#38bdf8;
  --accent2:#a855f7;
  --text:#e5e7eb;
  --field:#020617;
  --fieldBorder:#1d4ed8;
  --shadow:rgba(56,189,248,.18);
  --cardInk:#020617;
  --cardPaper:#f3f6ff;
  --cardPaper2:#e0e7ff;
  --muted:#9ca3af;
}

html[data-theme="desert"]{
  --bg:#130f05;
  --panelA:#2b2410;
  --panelB:#3a2d12;
  --accent:#fbbf24;
  --accent2:#f97316;
  --text:#fef3c7;
  --field:#181306;
  --fieldBorder:#854d0e;
  --shadow:rgba(251,191,36,.18);
  --cardInk:#1f1305;
  --cardPaper:#fff7e2;
  --cardPaper2:#fbe4c4;
  --muted:#fed7aa;
}

html[data-theme="storm"]{
  --bg:#020617;
  --panelA:#020817;
  --panelB:#020b21;
  --accent:#38bdf8;
  --accent2:#f97316;
  --text:#e5e7eb;
  --field:#020617;
  --fieldBorder:#1f2937;
  --shadow:rgba(56,189,248,.2);
  --cardInk:#020617;
  --cardPaper:#f4f7fb;
  --cardPaper2:#e2e8f0;
  --muted:#9ca3af;
}

html[data-theme="aurora"]{
  --bg:#020817;
  --panelA:#041423;
  --panelB:#051c32;
  --accent:#22c55e;
  --accent2:#22d3ee;
  --text:#e5f9ff;
  --field:#02101e;
  --fieldBorder:#065f46;
  --shadow:rgba(34,197,94,.18);
  --cardInk:#02101e;
  --cardPaper:#f1fff7;
  --cardPaper2:#dffdf0;
  --muted:#6ee7b7;
}

html[data-theme="terminalAmber"]{
  --bg:#050100;
  --panelA:#120503;
  --panelB:#1b0704;
  --accent:#ffb347;
  --accent2:#ffe29f;
  --text:#ffecc7;
  --field:#090302;
  --fieldBorder:#b45309;
  --shadow:rgba(255,179,71,.18);
  --cardInk:#120503;
  --cardPaper:#fff5e6;
  --cardPaper2:#fde0ba;
  --muted:#fed7aa;
}

html[data-theme="hacker"]{
  --bg:#020b06;
  --panelA:#02140a;
  --panelB:#031c0f;
  --accent:#22c55e;
  --accent2:#a3e635;
  --text:#dcfce7;
  --field:#020a07;
  --fieldBorder:#15803d;
  --shadow:rgba(34,197,94,.2);
  --cardInk:#020617;
  --cardPaper:#effdf5;
  --cardPaper2:#dbf9e7;
  --muted:#86efac;
}

html[data-theme="cobalt"]{
  --bg:#020617;
  --panelA:#020824;
  --panelB:#020c32;
  --accent:#60a5fa;
  --accent2:#0ea5e9;
  --text:#e0f2fe;
  --field:#020617;
  --fieldBorder:#1d4ed8;
  --shadow:rgba(96,165,250,.2);
  --cardInk:#020617;
  --cardPaper:#f1f5ff;
  --cardPaper2:#e0ecff;
  --muted:#93c5fd;
}

html[data-theme="toxic"]{
  --bg:#020712;
  --panelA:#050b1e;
  --panelB:#060f24;
  --accent:#a3e635;
  --accent2:#22c55e;
  --text:#ecfccb;
  --field:#020712;
  --fieldBorder:#4d7c0f;
  --shadow:rgba(163,230,53,.2);
  --cardInk:#020617;
  --cardPaper:#f5ffe6;
  --cardPaper2:#e4fbc5;
  --muted:#bef264;
}

html[data-theme="pastel"]{
  --bg:#0f172a;
  --panelA:#1f2937;
  --panelB:#111827;
  --accent:#f472b6;
  --accent2:#22c55e;
  --text:#f9fafb;
  --field:#020617;
  --fieldBorder:#4b5563;
  --shadow:rgba(248,180,204,.18);
  --cardInk:#020617;
  --cardPaper:#fef9ff;
  --cardPaper2:#f3f4ff;
  --muted:#e5e7eb;
}

html[data-theme="slate"]{
  --bg:#020617;
  --panelA:#020617;
  --panelB:#020819;
  --accent:#38bdf8;
  --accent2:#64748b;
  --text:#e5e7eb;
  --field:#020617;
  --fieldBorder:#475569;
  --shadow:rgba(15,23,42,.8);
  --cardInk:#020617;
  --cardPaper:#f1f5f9;
  --cardPaper2:#e2e8f0;
  --muted:#94a3b8;
}

html[data-theme="sunrise"]{
  --bg:#130718;
  --panelA:#2b1025;
  --panelB:#3b1720;
  --accent:#fb7185;
  --accent2:#facc15;
  --text:#fef3c7;
  --field:#190b1d;
  --fieldBorder:#b91c1c;
  --shadow:rgba(251,113,133,.2);
  --cardInk:#180b16;
  --cardPaper:#fff6f0;
  --cardPaper2:#ffe7d6;
  --muted:#fed7aa;
}

html[data-theme="plasma"]{
  --bg:#02011a;
  --panelA:#13043b;
  --panelB:#1b063f;
  --accent:#8b5cf6;
  --accent2:#f97316;
  --text:#ede9fe;
  --field:#090122;
  --fieldBorder:#4c1d95;
  --shadow:rgba(139,92,246,.22);
  --cardInk:#090122;
  --cardPaper:#f6f3ff;
  --cardPaper2:#e8ddff;
  --muted:#c4b5fd;
}

html[data-theme="orchid"]{
  --bg:#130720;
  --panelA:#241036;
  --panelB:#2c1244;
  --accent:#e879f9;
  --accent2:#22c55e;
  --text:#fdf4ff;
  --field:#180825;
  --fieldBorder:#a21caf;
  --shadow:rgba(232,121,249,.22);
  --cardInk:#180825;
  --cardPaper:#fff3ff;
  --cardPaper2:#f7e0ff;
  --muted:#f9a8d4;
}

html[data-theme="sandstorm"]{
  --bg:#17120a;
  --panelA:#2b2111;
  --panelB:#3b2a12;
  --accent:#facc15;
  --accent2:#f97316;
  --text:#fef9c3;
  --field:#1a1509;
  --fieldBorder:#854d0e;
  --shadow:rgba(250,204,21,.2);
  --cardInk:#17120a;
  --cardPaper:#fff8e3;
  --cardPaper2:#f8e4c0;
  --muted:#fed7aa;
}

html[data-theme="retroWave"]{
  --bg:#050014;
  --panelA:#12023b;
  --panelB:#2b0b5b;
  --accent:#f97316;
  --accent2:#22d3ee;
  --text:#f9fafb;
  --field:#09001a;
  --fieldBorder:#4c1d95;
  --shadow:rgba(248,113,113,.22);
  --cardInk:#050014;
  --cardPaper:#fef4ff;
  --cardPaper2:#f3e0ff;
  --muted:#e5e7eb;
}

html[data-theme="icecream"]{
  --bg:#0f172a;
  --panelA:#0f172a;
  --panelB:#111827;
  --accent:#f9a8d4;
  --accent2:#4ade80;
  --text:#f9fafb;
  --field:#020617;
  --fieldBorder:#4b5563;
  --shadow:rgba(249,168,212,.2);
  --cardInk:#020617;
  --cardPaper:#fff9fb;
  --cardPaper2:#f3f4ff;
  --muted:#e5e7eb;
}

html[data-theme="violetFog"]{
  --bg:#020017;
  --panelA:#12033b;
  --panelB:#1e0944;
  --accent:#a855f7;
  --accent2:#22c55e;
  --text:#f5f3ff;
  --field:#080221;
  --fieldBorder:#6d28d9;
  --shadow:rgba(168,85,247,.22);
  --cardInk:#080221;
  --cardPaper:#f7f3ff;
  --cardPaper2:#e8ddff;
  --muted:#c4b5fd;
}

html[data-theme="emerald"]{
  --bg:#022c22;
  --panelA:#064e3b;
  --panelB:#065f46;
  --accent:#22c55e;
  --accent2:#bbf7d0;
  --text:#e5f9f0;
  --field:#022c22;
  --fieldBorder:#047857;
  --shadow:rgba(16,185,129,.22);
  --cardInk:#022c22;
  --cardPaper:#f0fff6;
  --cardPaper2:#dcfce7;
  --muted:#6ee7b7;
}
