/* =====================================================================
   Themes. Selected by the admin (site default) or per user.
   Each theme only sets variables + a few signature touches.
   ===================================================================== */

/* Midnight Exchange — the dark, gold-accented look of large crypto exchanges */
[data-theme=midnight]{--bg:#0b0e11;--card:#161a1e;--text:#eaecef;--muted:#848e9c;--line:#2b3139;--brand:#f0b90b;--brand-ink:#0b0e11;
--brand-soft:rgba(240,185,11,.12);--ok:#0ecb81;--ok-bg:rgba(14,203,129,.12);--err:#f6465d;--err-bg:rgba(246,70,93,.12);--warn:#f0b90b;
--warn-bg:rgba(240,185,11,.12);--long:#0ecb81;--short:#f6465d;--radius:10px;--nav:rgba(11,14,17,.85);--input:#0b0e11;color-scheme:dark}
[data-theme=midnight] .pills a.on{background:var(--brand);color:var(--brand-ink);border-color:var(--brand)}
[data-theme=midnight] .stat .v{letter-spacing:-.01em}

/* Aurora Glass — deep violet night, frosted glass cards, gradient accents */
[data-theme=aurora]{--bg:#0d0b1f;--bg-image:radial-gradient(1200px 600px at 10% -10%,rgba(124,92,255,.35),transparent 60%),
radial-gradient(900px 500px at 110% 10%,rgba(0,212,255,.22),transparent 60%),radial-gradient(800px 600px at 50% 120%,rgba(255,77,166,.18),transparent 60%);
--card:rgba(255,255,255,.055);--text:#eef0ff;--muted:#a3a6c8;--line:rgba(255,255,255,.12);--brand:#8b7bff;--brand-ink:#fff;
--brand-soft:rgba(139,123,255,.18);--btn:linear-gradient(135deg,#7c5cff,#00c2ff);--chart:#7fdcff;--ok:#3ee6a8;--ok-bg:rgba(62,230,168,.12);
--err:#ff6b9a;--err-bg:rgba(255,107,154,.12);--warn:#ffd36b;--warn-bg:rgba(255,211,107,.12);--long:#3ee6a8;--short:#ff6b9a;
--radius:18px;--nav:rgba(13,11,31,.55);--solid:#191632;--shadow:0 10px 40px rgba(0,0,0,.25);--input:rgba(255,255,255,.06);color-scheme:dark}
[data-theme=aurora] .card{backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
[data-theme=aurora] .hero h1{background:linear-gradient(90deg,#fff,#b9b0ff 40%,#7fdcff);-webkit-background-clip:text;background-clip:text;color:transparent}
[data-theme=aurora] .pills a.on{background:linear-gradient(135deg,#7c5cff,#00c2ff);border-color:transparent;color:#fff}

/* Emerald — calm light fintech, soft shadows, green money accent */
[data-theme=emerald]{--bg:#f3f7f5;--card:#fff;--text:#10231a;--muted:#5f7368;--line:#e1ebe5;--brand:#0f9d6b;--brand-ink:#fff;--brand-soft:#e3f5ec;
--ok:#0f9d6b;--ok-bg:#e3f5ec;--err:#d64545;--err-bg:#fdecec;--warn:#b26b00;--warn-bg:#fff4e0;--long:#0f9d6b;--short:#d64545;
--radius:16px;--shadow:0 1px 2px rgba(16,35,26,.04),0 8px 24px rgba(16,35,26,.06);--card-border:transparent;--nav:rgba(255,255,255,.85);color-scheme:light}
[data-theme=emerald] .card{border-color:transparent}
[data-theme=emerald] button,[data-theme=emerald] .btn{border-radius:999px}

/* Ocean — bright, airy blue gradient with glassy cards */
[data-theme=ocean]{--bg:#eef4ff;--bg-image:linear-gradient(160deg,#e9f1ff 0%,#f6fbff 45%,#e8fbff 100%);--card:rgba(255,255,255,.8);--text:#0f1f3d;
--muted:#5b6b88;--line:#dbe5f5;--brand:#2563eb;--brand-ink:#fff;--brand-soft:#e0ebff;--btn:linear-gradient(135deg,#2563eb,#06b6d4);--chart:#0ea5e9;
--ok:#059669;--ok-bg:#e1f7ef;--err:#e11d48;--err-bg:#ffe4ea;--warn:#b45309;--warn-bg:#fff3dc;--long:#059669;--short:#e11d48;
--radius:16px;--shadow:0 8px 30px rgba(37,99,235,.08);--nav:rgba(255,255,255,.7);--solid:#fff;color-scheme:light}
[data-theme=ocean] .card{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
[data-theme=ocean] .hero h1{background:linear-gradient(90deg,#1d4ed8,#0891b2);-webkit-background-clip:text;background-clip:text;color:transparent}

/* Terminal — trader terminal: near-black, phosphor green, monospace numbers */
[data-theme=terminal]{--bg:#050805;--card:#0a110a;--text:#c9f7cf;--muted:#6f9a75;--line:#173017;--brand:#22c55e;--brand-ink:#041004;
--brand-soft:rgba(34,197,94,.12);--ok:#4ade80;--ok-bg:rgba(74,222,128,.1);--err:#f87171;--err-bg:rgba(248,113,113,.1);--warn:#facc15;
--warn-bg:rgba(250,204,21,.1);--long:#4ade80;--short:#f87171;--radius:4px;--nav:rgba(5,8,5,.9);--input:#050805;color-scheme:dark}
[data-theme=terminal] .stat .v,[data-theme=terminal] td,[data-theme=terminal] .num{font-family:ui-monospace,"JetBrains Mono",Menlo,monospace}
[data-theme=terminal] .card{box-shadow:inset 0 0 0 1px rgba(34,197,94,.06)}
[data-theme=terminal] .hero h1{text-shadow:0 0 18px rgba(34,197,94,.35)}

/* Desert — warm sand & turquoise, Persian-tile inspired */
[data-theme=desert]{--bg:#f7f1e6;--bg-image:radial-gradient(900px 500px at 100% 0%,rgba(13,148,136,.10),transparent 60%);--card:#fffaf2;--text:#2b2118;
--muted:#7a6a58;--line:#ecdfc9;--brand:#0d9488;--brand-ink:#fff;--brand-soft:#d9f2ee;--btn:linear-gradient(135deg,#0d9488,#0e7490);--chart:#0d9488;
--ok:#15803d;--ok-bg:#e4f4e8;--err:#b4232b;--err-bg:#fbe5e3;--warn:#b45309;--warn-bg:#fdf0d8;--long:#15803d;--short:#b4232b;
--radius:14px;--shadow:0 6px 24px rgba(120,90,40,.08);--nav:rgba(255,250,242,.9);color-scheme:light}
[data-theme=desert] .card{border-color:#eadbc2}
[data-theme=desert] h1{color:#7c2d12}

/* Theme picker swatches */
.themes{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.themes label{margin:0;font-weight:600;cursor:pointer}
.themes input{position:absolute;opacity:0}
.swatch{display:block;border:2px solid var(--line);border-radius:12px;overflow:hidden}
.themes input:checked+.swatch{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}
.swatch .sw{display:flex;height:54px}.swatch .sw i{flex:1}
.swatch .nm{display:block;padding:6px 10px;font-size:13px;background:var(--card)}
