/* ─────────────────────────────────────────────────────────────
   Classic theme — Color palettes.
   Selected via <body data-palette="..."> set at build time.
   Each palette defines tokens for both light and dark mode.
   ───────────────────────────────────────────────────────────── */

/* ── default (neutral grays + cool blue accent) ── */
body[data-palette="default"] {
  --bg: #ffffff;
  --fg: #111111;
  --muted: #666666;
  --border: #e7e7e9;
  --chip: #f3f3f4;
  --accent: #3b6fe0;
  --accent-soft: rgba(59, 111, 224, 0.12);
  --accent-fg: #1a3b88;
}
body[data-palette="default"][data-theme="dark"] {
  --bg: #0c0c0d;
  --fg: #e8e8ea;
  --muted: #a1a1aa;
  --border: #232327;
  --chip: #1b1b1f;
  --accent: #6aa0ff;
  --accent-soft: rgba(106, 160, 255, 0.18);
  --accent-fg: #cfe0ff;
}

/* ── ocean (cool teal + deep navy) ── */
body[data-palette="ocean"] {
  --bg: #f5fafd;
  --fg: #0c2030;
  --muted: #4a6b81;
  --border: #d4e3ec;
  --chip: #e6f0f6;
  --accent: #008fb3;
  --accent-soft: rgba(0, 143, 179, 0.14);
  --accent-fg: #003c4d;
}
body[data-palette="ocean"][data-theme="dark"] {
  --bg: #061821;
  --fg: #d9eef5;
  --muted: #82a4b6;
  --border: #14323f;
  --chip: #0e2632;
  --accent: #40c4e0;
  --accent-soft: rgba(64, 196, 224, 0.18);
  --accent-fg: #bdeaf4;
}

/* ── forest (sage green + warm ivory) ── */
body[data-palette="forest"] {
  --bg: #faf8f1;
  --fg: #1b2618;
  --muted: #5e6b54;
  --border: #e1ddd0;
  --chip: #efece1;
  --accent: #4a7c3a;
  --accent-soft: rgba(74, 124, 58, 0.14);
  --accent-fg: #2a4a20;
}
body[data-palette="forest"][data-theme="dark"] {
  --bg: #101510;
  --fg: #e1e8dc;
  --muted: #8aa085;
  --border: #25302a;
  --chip: #1a221a;
  --accent: #87c277;
  --accent-soft: rgba(135, 194, 119, 0.18);
  --accent-fg: #c0dcb5;
}

/* ── sunset (warm orange + dusky plum) ── */
body[data-palette="sunset"] {
  --bg: #fff8f3;
  --fg: #2a1813;
  --muted: #7a5a50;
  --border: #efe0d6;
  --chip: #f8ebe0;
  --accent: #d24f1f;
  --accent-soft: rgba(210, 79, 31, 0.14);
  --accent-fg: #7e2a0d;
}
body[data-palette="sunset"][data-theme="dark"] {
  --bg: #1a0f0c;
  --fg: #f4e2d5;
  --muted: #b89483;
  --border: #2f1f18;
  --chip: #25180f;
  --accent: #ff8f50;
  --accent-soft: rgba(255, 143, 80, 0.18);
  --accent-fg: #ffd1b3;
}

/* ── mono (pure black/white, brutal contrast) ── */
body[data-palette="mono"] {
  --bg: #ffffff;
  --fg: #000000;
  --muted: #555555;
  --border: #000000;
  --chip: #f0f0f0;
  --accent: #000000;
  --accent-soft: rgba(0, 0, 0, 0.08);
  --accent-fg: #000000;
}
body[data-palette="mono"][data-theme="dark"] {
  --bg: #000000;
  --fg: #ffffff;
  --muted: #b0b0b0;
  --border: #ffffff;
  --chip: #181818;
  --accent: #ffffff;
  --accent-soft: rgba(255, 255, 255, 0.10);
  --accent-fg: #ffffff;
}
