/* All colour lives here. styles.css consumes these tokens and names no colour.
   :root is Daylight, so the default theme needs no data-theme attribute. */

:root,
[data-theme="daylight"] {
  color-scheme: light;
  --bg: #eef2f7;
  --bg-glow: rgba(37, 99, 235, 0.08);
  --surface: #ffffff;
  --surface-soft: #f2f5f9;
  --surface-sunken: #f8fafc;
  --line: #d7dde7;
  --line-strong: #b9c4d4;
  --overlay: rgba(16, 24, 40, 0.42);

  --nav: #101828;
  --nav-soft: #1d2939;
  --nav-ink: #ffffff;
  --nav-muted: #cbd5e1;
  --nav-line: rgba(255, 255, 255, 0.12);
  --nav-live: #98f5c0;

  --ink: #152033;
  --ink-soft: #344054;
  --muted: #667085;
  --on-accent: #ffffff;
  --on-accent-soft: rgba(255, 255, 255, 0.55);

  --accent: #2563eb;
  --accent-strong: #1d4ed8;
  --accent-soft: #e8f0ff;

  --warn: #d97706;
  --warn-soft: #fffbeb;
  --warn-line: #fedf89;
  --warn-ink: #7a4b00;
  --danger: #b42318;
  --danger-soft: #fff1f2;
  --danger-line: #fecaca;
  --success: #166534;
  --success-soft: #f0fdf4;
  --success-line: #86efac;
  --info-soft: #eff6ff;
  --info-line: #bfdbfe;

  --shadow: 0 18px 42px rgba(21, 32, 51, 0.08);
  --shadow-color: rgba(21, 32, 51, 0.08);
  --shadow-color-soft: rgba(16, 24, 40, 0.04);
  --shadow-color-strong: rgba(16, 24, 40, 0.22);
  --shadow-color-accent: rgba(37, 99, 235, 0.16);
  --inset-highlight: inset 0 1px 0 rgba(255, 255, 255, 0.9);
  --focus: 0 0 0 3px rgba(37, 99, 235, 0.16);
}

[data-theme="midnight"] {
  color-scheme: dark;
  --bg: #0b1220;
  --bg-glow: rgba(59, 130, 246, 0.10);
  --surface: #111c2e;
  --surface-soft: #16233a;
  --surface-sunken: #0e1828;
  --line: #1e293b;
  --line-strong: #334155;
  --overlay: rgba(2, 6, 15, 0.66);

  --nav: #0f172a;
  --nav-soft: #1e293b;
  --nav-ink: #f1f5f9;
  --nav-muted: #94a3b8;
  --nav-line: rgba(255, 255, 255, 0.10);
  --nav-live: #6ee7b7;

  --ink: #e2e8f0;
  --ink-soft: #cbd5e1;
  --muted: #94a3b8;
  --on-accent: #0b1220;
  --on-accent-soft: rgba(11, 18, 32, 0.45);

  --accent: #3b82f6;
  --accent-strong: #60a5fa;
  --accent-soft: #17253d;

  --warn: #fbbf24;
  --warn-soft: #2a2010;
  --warn-line: #4d3a12;
  --warn-ink: #fcd34d;
  --danger: #fca5a5;
  --danger-soft: #2b1416;
  --danger-line: #4c1d1d;
  --success: #6ee7b7;
  --success-soft: #0f2620;
  --success-line: #1c4a3a;
  --info-soft: #14243c;
  --info-line: #23405f;

  --shadow: 0 18px 42px rgba(0, 0, 0, 0.45);
  --shadow-color: rgba(0, 0, 0, 0.45);
  --shadow-color-soft: rgba(0, 0, 0, 0.35);
  --shadow-color-strong: rgba(0, 0, 0, 0.60);
  --shadow-color-accent: rgba(59, 130, 246, 0.28);
  --inset-highlight: inset 0 1px 0 rgba(255, 255, 255, 0.04);
  --focus: 0 0 0 3px rgba(59, 130, 246, 0.30);
}

[data-theme="forest"] {
  color-scheme: dark;
  --bg: #0c1a14;
  --bg-glow: rgba(16, 185, 129, 0.10);
  --surface: #102a1e;
  --surface-soft: #143527;
  --surface-sunken: #0d2119;
  --line: #1b3b2b;
  --line-strong: #2c5a43;
  --overlay: rgba(2, 12, 8, 0.66);

  --nav: #0a1710;
  --nav-soft: #15301f;
  --nav-ink: #ecfdf5;
  --nav-muted: #86bfa3;
  --nav-line: rgba(255, 255, 255, 0.10);
  --nav-live: #6ee7b7;

  --ink: #dcfce7;
  --ink-soft: #bbf7d0;
  --muted: #86bfa3;
  --on-accent: #04231a;
  --on-accent-soft: rgba(4, 35, 26, 0.45);

  --accent: #10b981;
  --accent-strong: #34d399;
  --accent-soft: #12362a;

  --warn: #fbbf24;
  --warn-soft: #2a2410;
  --warn-line: #4d4212;
  --warn-ink: #fcd34d;
  --danger: #fca5a5;
  --danger-soft: #2b1618;
  --danger-line: #4c1f1f;
  --success: #6ee7b7;
  --success-soft: #0f2b20;
  --success-line: #1e5340;
  --info-soft: #10303a;
  --info-line: #1d5163;

  --shadow: 0 18px 42px rgba(0, 0, 0, 0.45);
  --shadow-color: rgba(0, 0, 0, 0.45);
  --shadow-color-soft: rgba(0, 0, 0, 0.35);
  --shadow-color-strong: rgba(0, 0, 0, 0.60);
  --shadow-color-accent: rgba(16, 185, 129, 0.28);
  --inset-highlight: inset 0 1px 0 rgba(255, 255, 255, 0.04);
  --focus: 0 0 0 3px rgba(16, 185, 129, 0.30);
}

[data-theme="plum"] {
  color-scheme: dark;
  --bg: #150f1f;
  --bg-glow: rgba(139, 92, 246, 0.12);
  --surface: #201634;
  --surface-soft: #291c42;
  --surface-sunken: #1a1229;
  --line: #322150;
  --line-strong: #4a3170;
  --overlay: rgba(8, 4, 15, 0.66);

  --nav: #1a1128;
  --nav-soft: #2a1c42;
  --nav-ink: #f5f3ff;
  --nav-muted: #a99bc9;
  --nav-line: rgba(255, 255, 255, 0.10);
  --nav-live: #a7f3d0;

  --ink: #ede9fe;
  --ink-soft: #ddd6fe;
  --muted: #a99bc9;
  --on-accent: #050307;
  --on-accent-soft: rgba(5, 3, 7, 0.45);

  --accent: #8b5cf6;
  --accent-strong: #a78bfa;
  --accent-soft: #2b1d47;

  --warn: #fbbf24;
  --warn-soft: #2c2312;
  --warn-line: #4f3f14;
  --warn-ink: #fcd34d;
  --danger: #fca5a5;
  --danger-soft: #2e1620;
  --danger-line: #4f1f2c;
  --success: #6ee7b7;
  --success-soft: #142b24;
  --success-line: #235244;
  --info-soft: #1b2547;
  --info-line: #2f3d6b;

  --shadow: 0 18px 42px rgba(0, 0, 0, 0.50);
  --shadow-color: rgba(0, 0, 0, 0.50);
  --shadow-color-soft: rgba(0, 0, 0, 0.35);
  --shadow-color-strong: rgba(0, 0, 0, 0.62);
  --shadow-color-accent: rgba(139, 92, 246, 0.30);
  --inset-highlight: inset 0 1px 0 rgba(255, 255, 255, 0.05);
  --focus: 0 0 0 3px rgba(139, 92, 246, 0.32);
}

[data-theme="sunset"] {
  color-scheme: light;
  --bg: #f8ebdc;
  --bg-glow: rgba(234, 115, 23, 0.10);
  --surface: #fffaf5;
  --surface-soft: #f9f0e7;
  --surface-sunken: #fbf4ee;
  --line: #ecdcc9;
  --line-strong: #d8bfa3;
  --overlay: rgba(59, 42, 30, 0.45);

  --nav: #3b2a1e;
  --nav-soft: #52392a;
  --nav-ink: #fff7ed;
  --nav-muted: #d8c3ad;
  --nav-line: rgba(255, 255, 255, 0.14);
  --nav-live: #86efac;

  --ink: #3a2a1c;
  --ink-soft: #5c4531;
  --muted: #726050;
  --on-accent: #312318;
  --on-accent-soft: rgba(49, 35, 24, 0.45);

  --accent: #ea7317;
  --accent-strong: #af4e0a;
  --accent-soft: #fdebd8;

  --warn: #b45309;
  --warn-soft: #fdf3e3;
  --warn-line: #f3d5a8;
  --warn-ink: #7a4b00;
  --danger: #b42318;
  --danger-soft: #fdece9;
  --danger-line: #f5c2bb;
  --success: #166534;
  --success-soft: #eef8ec;
  --success-line: #b7e0ab;
  --info-soft: #eef1fa;
  --info-line: #ccd6f0;

  --shadow: 0 18px 42px rgba(89, 60, 32, 0.10);
  --shadow-color: rgba(89, 60, 32, 0.10);
  --shadow-color-soft: rgba(89, 60, 32, 0.05);
  --shadow-color-strong: rgba(59, 42, 30, 0.24);
  --shadow-color-accent: rgba(234, 115, 23, 0.20);
  --inset-highlight: inset 0 1px 0 rgba(255, 255, 255, 0.90);
  --focus: 0 0 0 3px rgba(234, 115, 23, 0.22);
}

[data-theme="ocean"] {
  color-scheme: light;
  --bg: #eaf6f8;
  --bg-glow: rgba(8, 145, 178, 0.10);
  --surface: #ffffff;
  --surface-soft: #eef7f9;
  --surface-sunken: #f2fafb;
  --line: #cfe6ea;
  --line-strong: #a7ccd4;
  --overlay: rgba(13, 59, 69, 0.45);

  --nav: #0d3b45;
  --nav-soft: #14505d;
  --nav-ink: #ecfeff;
  --nav-muted: #a5cdd5;
  --nav-line: rgba(255, 255, 255, 0.14);
  --nav-live: #86efac;

  --ink: #10333a;
  --ink-soft: #24525c;
  --muted: #51737a;
  --on-accent: #07161a;
  --on-accent-soft: rgba(7, 22, 26, 0.45);

  --accent: #0891b2;
  --accent-strong: #0e7490;
  --accent-soft: #ddf3f8;

  --warn: #b45309;
  --warn-soft: #fdf6e7;
  --warn-line: #f0d9a5;
  --warn-ink: #7a4b00;
  --danger: #b42318;
  --danger-soft: #fdeeec;
  --danger-line: #f5c4bd;
  --success: #166534;
  --success-soft: #ecf8f1;
  --success-line: #a9dfc2;
  --info-soft: #e6f4fb;
  --info-line: #b6dcf0;

  --shadow: 0 18px 42px rgba(16, 51, 58, 0.10);
  --shadow-color: rgba(16, 51, 58, 0.10);
  --shadow-color-soft: rgba(16, 51, 58, 0.05);
  --shadow-color-strong: rgba(13, 59, 69, 0.24);
  --shadow-color-accent: rgba(8, 145, 178, 0.20);
  --inset-highlight: inset 0 1px 0 rgba(255, 255, 255, 0.90);
  --focus: 0 0 0 3px rgba(8, 145, 178, 0.22);
}
