/* Version: 7.1G6hPP */

/* ===== THE ONLY PLACE LITERAL COLORS LIVE: theme variable sets =====
   The theme picker reads these [data-theme="…"] blocks dynamically (see
   js/theme.js availableThemes), so adding a block here makes the theme appear
   everywhere automatically — no JS list to update. Each block must define the
   full 9-var contract; keep --on-accent readable on --accent. */

/* QR code colors — intentionally THEME-INDEPENDENT: a QR must be high-contrast
   with a light quiet zone to scan, on any theme. NOT part of the 9-var theme
   contract and must NOT be overridden per theme. Defined here only because
   themes.css is the one place literal colors are allowed. */
:root { --qr-dark:#000000; --qr-light:#ffffff; }

/* Destructive-action color — intentionally THEME-INDEPENDENT (like the QR tokens):
   a Delete/danger control should read as "danger" (a filled red) on every theme,
   not blend into the palette. Inherited by all [data-theme] blocks (none override
   it), so it is NOT part of the per-theme 9-var contract. --on-danger stays white
   for legible text on the red fill across light and dark themes. */
:root { --danger:#9a2b2b; --on-danger:#ffffff; }
:root,
[data-theme="executive"] {   /* executive / light (default — :root for the page,
                                 and a data-theme block so the picker swatch can
                                 preview it even while another theme is active) */
  --bg-color:#f8fafc; --surface-color:#ffffff;
  --text-main:#0f172a; --text-muted:#64748b;
  --accent:#2563eb; --on-accent:#ffffff; --border:#e2e8f0;
  --font-stack:'Inter',system-ui,-apple-system,sans-serif;
  --shadow-card:0 1px 2px rgba(0,0,0,.04);
}
[data-theme="dark"] {
  --bg-color:#0f172a; --surface-color:#1e293b;
  --text-main:#f8fafc; --text-muted:#94a3b8;
  --accent:#60a5fa; --on-accent:#0f172a; --border:#334155;
  --font-stack:'Inter',system-ui,sans-serif;
  --shadow-card:0 1px 2px rgba(0,0,0,.24);
}
[data-theme="terminal"] {
  --bg-color:#000000; --surface-color:#111111;
  --text-main:#00ff00; --text-muted:#008800;
  --accent:#00ff00; --on-accent:#000000; --border:#333333;
  --font-stack:'Courier New',Courier,monospace;
  --shadow-card:none;
}
/* Retro monochrome display adapter (MDA) themes — black-background, single-phosphor
   monospace, in the spirit of the old IBM MDA monitors. "green-mda" is the terminal
   theme with the bold text + button (reverse) greens toned DOWN a notch (terminal
   runs a bit hot at pure #00ff00); "amber-mda" is the classic warm amber phosphor.
   Keys are hyphenated (the theme parser accepts no spaces); the picker renders the
   "-mda" suffix as " MDA". */
[data-theme="green-mda"] {
  --bg-color:#000000; --surface-color:#0a0f0a;
  --text-main:#33cc33; --text-muted:#1e7a1e;
  --accent:#2f9e2f; --on-accent:#000000; --border:#173d17;
  --font-stack:'Courier New',Courier,monospace;
  --shadow-card:none;
}
[data-theme="amber-mda"] {
  --bg-color:#000000; --surface-color:#0f0a02;
  --text-main:#ffb000; --text-muted:#a8741a;
  --accent:#d98a00; --on-accent:#000000; --border:#3d2a08;
  --font-stack:'Courier New',Courier,monospace;
  --shadow-card:none;
}
[data-theme="e-ink"] {
  --bg-color:#f4f0e6; --surface-color:#ffffff;
  --text-main:#3e3832; --text-muted:#8a8174;
  --accent:#c25e4c; --on-accent:#ffffff; --border:#dcd5c9;
  --font-stack:Georgia,'Times New Roman',serif;
  --shadow-card:none;
}
[data-theme="blueprint"] {
  --bg-color:#0a192f; --surface-color:#112240;
  --text-main:#ccd6f6; --text-muted:#8892b0;
  --accent:#64ffda; --on-accent:#0a192f; --border:#233554;
  --font-stack:'Inter',system-ui,sans-serif;
  --shadow-card:0 1px 2px rgba(0,0,0,.32);
}

/* ===== original-mood themes (added 2026-06-22) ===== */

/* --- dark moods --- */
[data-theme="midnight"] {            /* deep indigo night, violet accent */
  --bg-color:#16132a; --surface-color:#211d3d;
  --text-main:#e8e4ff; --text-muted:#9b93c7;
  --accent:#a78bfa; --on-accent:#16132a; --border:#342f54;
  --font-stack:'Inter',system-ui,sans-serif;
  --shadow-card:0 1px 2px rgba(0,0,0,.32);
}
[data-theme="forest"] {              /* deep woodland green, emerald accent */
  --bg-color:#0e1f17; --surface-color:#163026;
  --text-main:#d8f3e3; --text-muted:#7faa92;
  --accent:#34d399; --on-accent:#0e1f17; --border:#214839;
  --font-stack:'Inter',system-ui,sans-serif;
  --shadow-card:0 1px 2px rgba(0,0,0,.30);
}
[data-theme="sunset"] {              /* warm dusk, orange accent */
  --bg-color:#1f1512; --surface-color:#2e211c;
  --text-main:#ffe9d9; --text-muted:#c8a288;
  --accent:#fb923c; --on-accent:#1f1512; --border:#45322a;
  --font-stack:'Inter',system-ui,sans-serif;
  --shadow-card:0 1px 2px rgba(0,0,0,.30);
}
[data-theme="crimson"] {             /* dark, deep rose-red accent */
  --bg-color:#1c1013; --surface-color:#2a181c;
  --text-main:#ffe1e5; --text-muted:#c5919a;
  --accent:#f43f5e; --on-accent:#ffffff; --border:#45272d;
  --font-stack:'Inter',system-ui,sans-serif;
  --shadow-card:0 1px 2px rgba(0,0,0,.32);
}
[data-theme="mocha"] {               /* warm coffee dark, latte accent, serif */
  --bg-color:#1d1714; --surface-color:#2b231e;
  --text-main:#f0e7dd; --text-muted:#b3a08d;
  --accent:#d2a679; --on-accent:#1d1714; --border:#473a30;
  --font-stack:Georgia,'Times New Roman',serif;
  --shadow-card:0 1px 2px rgba(0,0,0,.30);
}
[data-theme="plum"] {                /* muted dark mauve, soft purple accent */
  --bg-color:#1f1924; --surface-color:#2d2536;
  --text-main:#ece4f2; --text-muted:#a99cb5;
  --accent:#c98bc4; --on-accent:#1f1924; --border:#3e3350;
  --font-stack:'Inter',system-ui,sans-serif;
  --shadow-card:0 1px 2px rgba(0,0,0,.30);
}
[data-theme="storm"] {               /* cool steel-slate dark, cyan accent */
  --bg-color:#12161d; --surface-color:#1c222d;
  --text-main:#dde4ee; --text-muted:#8995a8;
  --accent:#38bdf8; --on-accent:#0a0e14; --border:#2b3340;
  --font-stack:'Inter',system-ui,sans-serif;
  --shadow-card:0 1px 2px rgba(0,0,0,.32);
}

/* --- light moods --- */
[data-theme="rose"] {                /* soft warm light, rose-pink accent */
  --bg-color:#fdf2f5; --surface-color:#ffffff;
  --text-main:#4a2c34; --text-muted:#9c727c;
  --accent:#e35d8a; --on-accent:#ffffff; --border:#f3d8e0;
  --font-stack:'Inter',system-ui,sans-serif;
  --shadow-card:0 1px 2px rgba(0,0,0,.05);
}
[data-theme="ocean"] {               /* fresh light, teal-cyan accent */
  --bg-color:#eefafc; --surface-color:#ffffff;
  --text-main:#0c3b42; --text-muted:#5b8d96;
  --accent:#0891b2; --on-accent:#ffffff; --border:#cbecf1;
  --font-stack:'Inter',system-ui,sans-serif;
  --shadow-card:0 1px 2px rgba(0,0,0,.05);
}
[data-theme="lavender"] {            /* soft light purple */
  --bg-color:#f6f4fd; --surface-color:#ffffff;
  --text-main:#322a4a; --text-muted:#837aa2;
  --accent:#7c5cdb; --on-accent:#ffffff; --border:#e3ddf5;
  --font-stack:'Inter',system-ui,sans-serif;
  --shadow-card:0 1px 2px rgba(0,0,0,.05);
}
[data-theme="honey"] {               /* warm amber light */
  --bg-color:#fdf8eb; --surface-color:#fffdf6;
  --text-main:#4a3a1d; --text-muted:#9f895c;
  --accent:#cf8a14; --on-accent:#2a2008; --border:#efe1c2;
  --font-stack:'Inter',system-ui,sans-serif;
  --shadow-card:0 1px 2px rgba(0,0,0,.05);
}
[data-theme="mint"] {                /* fresh light green */
  --bg-color:#f0faf4; --surface-color:#ffffff;
  --text-main:#16321f; --text-muted:#5f8a6f;
  --accent:#16a34a; --on-accent:#ffffff; --border:#d2ecdb;
  --font-stack:'Inter',system-ui,sans-serif;
  --shadow-card:0 1px 2px rgba(0,0,0,.05);
}
[data-theme="coral"] {               /* light, vivid coral accent */
  --bg-color:#fff5f2; --surface-color:#ffffff;
  --text-main:#4a2a21; --text-muted:#b08374;
  --accent:#ff6a45; --on-accent:#3d1305; --border:#ffd8cc;
  --font-stack:'Inter',system-ui,sans-serif;
  --shadow-card:0 1px 2px rgba(0,0,0,.05);
}
[data-theme="mono"] {                /* grayscale minimalist light */
  --bg-color:#fafafa; --surface-color:#ffffff;
  --text-main:#18181b; --text-muted:#71717a;
  --accent:#18181b; --on-accent:#fafafa; --border:#e4e4e7;
  --font-stack:'Inter',system-ui,sans-serif;
  --shadow-card:0 1px 2px rgba(0,0,0,.05);
}
[data-theme="fog"] {                 /* cool soft gray light, slate accent */
  --bg-color:#f1f4f7; --surface-color:#ffffff;
  --text-main:#1f2933; --text-muted:#6b7785;
  --accent:#52677d; --on-accent:#ffffff; --border:#dde2e8;
  --font-stack:'Inter',system-ui,sans-serif;
  --shadow-card:0 1px 2px rgba(0,0,0,.05);
}

/* ===== medium-mood themes (added 2026-06-23) =====
   Background brightness sits between the light and dark sets above: a mid-tone
   surface with near-white text and a bright accent. Same 9-var contract. */
[data-theme="slate"] {               /* cool blue-gray medium, sky accent */
  --bg-color:#4a5568; --surface-color:#58647a;
  --text-main:#f1f5f9; --text-muted:#c2cad6;
  --accent:#93c5fd; --on-accent:#1b2330; --border:#647088;
  --font-stack:'Inter',system-ui,sans-serif;
  --shadow-card:0 1px 2px rgba(0,0,0,.20);
}
[data-theme="graphite"] {            /* neutral gray medium, indigo accent */
  --bg-color:#52555b; --surface-color:#61656c;
  --text-main:#f3f4f6; --text-muted:#c7cacf;
  --accent:#a5b4fc; --on-accent:#1d1f24; --border:#70747b;
  --font-stack:'Inter',system-ui,sans-serif;
  --shadow-card:0 1px 2px rgba(0,0,0,.20);
}
[data-theme="clay"] {                /* warm taupe medium, amber accent */
  --bg-color:#645549; --surface-color:#746458;
  --text-main:#f6efe8; --text-muted:#d3c4b6;
  --accent:#f0a868; --on-accent:#2a2017; --border:#82715f;
  --font-stack:'Inter',system-ui,sans-serif;
  --shadow-card:0 1px 2px rgba(0,0,0,.20);
}
[data-theme="rust"] {                /* terracotta medium, orange accent */
  --bg-color:#6a4a3f; --surface-color:#7b574a;
  --text-main:#f8ece5; --text-muted:#ddc0b2;
  --accent:#fb9a4b; --on-accent:#2e1a11; --border:#8c6453;
  --font-stack:'Inter',system-ui,sans-serif;
  --shadow-card:0 1px 2px rgba(0,0,0,.20);
}
[data-theme="sage"] {                /* gray-green medium, mint accent */
  --bg-color:#4d6155; --surface-color:#5b7164;
  --text-main:#eef5ef; --text-muted:#c2d4c8;
  --accent:#86efac; --on-accent:#16291d; --border:#6b8275;
  --font-stack:'Inter',system-ui,sans-serif;
  --shadow-card:0 1px 2px rgba(0,0,0,.20);
}
[data-theme="olive"] {               /* yellow-green medium, lime accent */
  --bg-color:#595a3f; --surface-color:#686a4b;
  --text-main:#f3f3e4; --text-muted:#d0d1ab;
  --accent:#bef264; --on-accent:#26280f; --border:#777959;
  --font-stack:'Inter',system-ui,sans-serif;
  --shadow-card:0 1px 2px rgba(0,0,0,.20);
}
[data-theme="denim"] {               /* medium blue, warm amber accent */
  --bg-color:#3f5874; --surface-color:#4c6786;
  --text-main:#eef4fa; --text-muted:#c0d1e1;
  --accent:#fbbf60; --on-accent:#1c2a39; --border:#5a7896;
  --font-stack:'Inter',system-ui,sans-serif;
  --shadow-card:0 1px 2px rgba(0,0,0,.20);
}
[data-theme="teal"] {                /* medium teal, aqua accent */
  --bg-color:#3a5f5d; --surface-color:#466e6c;
  --text-main:#e9f5f4; --text-muted:#b6d6d3;
  --accent:#5eead4; --on-accent:#123331; --border:#547f7c;
  --font-stack:'Inter',system-ui,sans-serif;
  --shadow-card:0 1px 2px rgba(0,0,0,.20);
}
[data-theme="heather"] {             /* purple-gray medium, violet accent */
  --bg-color:#574f63; --surface-color:#655d74;
  --text-main:#f1edf6; --text-muted:#cabfd7;
  --accent:#c4b5fd; --on-accent:#271f33; --border:#756c85;
  --font-stack:'Inter',system-ui,sans-serif;
  --shadow-card:0 1px 2px rgba(0,0,0,.20);
}
[data-theme="wine"] {                /* mauve-maroon medium, pink accent */
  --bg-color:#5f4350; --surface-color:#704f60;
  --text-main:#f7ebf0; --text-muted:#d6b9c5;
  --accent:#f9a8d4; --on-accent:#2d1a23; --border:#7e596b;
  --font-stack:'Inter',system-ui,sans-serif;
  --shadow-card:0 1px 2px rgba(0,0,0,.20);
}
