/* Shared theme. Site + ops. Surfaces never use raw hex outside this file. */
:root,
[data-theme="dim"] {
  color-scheme: dark;
  --bg: #12151c;
  --stage: #161a22;
  --card: #1c212b;
  --raise: #232935;
  --hover: #1a1f29;
  --inset: #10141b;
  --chrome: #101318;
  --overlay: #07090e;
  --plot: #12151c;
  --side: #0f131a;
  --line: rgba(255, 255, 255, .095);
  --line-soft: rgba(255, 255, 255, .06);
  --hair: rgba(255, 255, 255, .075);
  --text: #eef1f6;
  --ink: #c5cad3;
  --mute: #9aa4b4;
  --dim: #6b7486;
  --up: #2fbd85;
  --up-soft: rgba(47, 189, 133, .14);
  --up-line: color-mix(in srgb, var(--up) 42%, transparent);
  --up-ink: #6ee7b7;
  --up-deep: color-mix(in srgb, var(--up) 16%, var(--card));
  --down: #f4586b;
  --down-soft: rgba(244, 88, 107, .14);
  --down-line: color-mix(in srgb, var(--down) 42%, transparent);
  --down-ink: #fda4af;
  --down-deep: color-mix(in srgb, var(--down) 16%, var(--card));
  --accent: #5b8cff;
  --on-accent: #fff;
  --accent-soft: color-mix(in srgb, var(--accent) 15%, transparent);
  --accent-line: color-mix(in srgb, var(--accent) 46%, transparent);
  --accent-dim: color-mix(in srgb, var(--accent) 62%, var(--text));
  --accent-glow: color-mix(in srgb, var(--accent) 45%, transparent);
  --warn: #e0a83a;
  --warn-soft: rgba(224, 168, 58, .14);
  --warn-line: rgba(224, 168, 58, .42);
  --warn-ink: #fde68a;
  --warn-deep: color-mix(in srgb, var(--warn) 16%, var(--card));
  --henuz: #7dd3fc;
  --henuz-soft: color-mix(in srgb, var(--henuz) 16%, transparent);
  --scroll: #2b3040;
  --zebra: rgba(255, 255, 255, .014);
  --fog: rgba(6, 8, 12, .72);
  --theme-color: #12151c;
  --logo-filter: none;
  --logo-blend: normal;
  --logo-plate: #ffffff;
  --heat-pos-ink: #d1fae5;
  --heat-pos-ink-strong: #03140c;
  --heat-neg-ink: #fecdd3;
  --heat-neg-ink-strong: #2a060c;
  --green: var(--up);
  --red: var(--down);
  --amber: var(--warn);
  --ok-bg: var(--up-deep);
  --wait-bg: var(--warn-deep);
  --bad-bg: var(--down-deep);
  --plot-h: 268px;
  --r1: 8px;
  --r2: 12px;
  --r3: 16px;
  --shadow: 0 1px 2px rgba(0, 0, 0, .22), 0 14px 34px rgba(0, 0, 0, .22);
  --shadow-lg: 0 24px 60px rgba(0, 0, 0, .5);
  --ring: 0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent);
}

[data-theme="dark"] {
  color-scheme: dark;
  --bg: #0a0c10;
  --stage: #0b0e13;
  --card: #13161c;
  --raise: #191d25;
  --hover: #151922;
  --inset: #080a0e;
  --chrome: #080a0e;
  --overlay: #05070a;
  --plot: #0b0e13;
  --side: #090b0e;
  --line: rgba(255, 255, 255, .07);
  --line-soft: rgba(255, 255, 255, .045);
  --hair: rgba(255, 255, 255, .055);
  --text: #f1f3f8;
  --ink: #c2c8d2;
  --mute: #99a2b2;
  --dim: #5a6272;
  --scroll: #222733;
  --zebra: rgba(255, 255, 255, .02);
  --fog: rgba(2, 4, 8, .78);
  --theme-color: #0a0c10;
  --shadow: 0 1px 2px rgba(0, 0, 0, .35), 0 16px 40px rgba(0, 0, 0, .45);
  --shadow-lg: 0 28px 70px rgba(0, 0, 0, .62);
}

[data-theme="light"] {
  color-scheme: light;
  --bg: #e8ebf2;
  --stage: #f4f6fa;
  --card: #ffffff;
  --raise: #f1f4f9;
  --hover: #e8edf6;
  --inset: #eef1f7;
  --chrome: #f7f8fb;
  --overlay: #dfe3ec;
  --plot: #f6f8fc;
  --side: #f7f8fc;
  --line: rgba(15, 23, 42, .12);
  --line-soft: rgba(15, 23, 42, .07);
  --hair: rgba(15, 23, 42, .08);
  --text: #0f1728;
  --ink: #334155;
  --mute: #5b6472;
  --dim: #8b93a3;
  --up-soft: rgba(22, 160, 110, .13);
  --up-ink: #0b6b45;
  --down-soft: rgba(224, 60, 82, .12);
  --down-ink: #be123c;
  --warn-ink: #9a5808;
  --henuz: #1d4ed8;
  --scroll: #c5cad6;
  --zebra: rgba(15, 23, 42, .03);
  --fog: rgba(15, 23, 42, .45);
  --theme-color: #eceff5;
  --logo-filter: none;
  --logo-blend: normal;
  --logo-plate: #ffffff;
  --heat-pos-ink: #0b5c38;
  --heat-pos-ink-strong: #032016;
  --heat-neg-ink: #9f1239;
  --heat-neg-ink-strong: #4c0519;
  --shadow: 0 1px 2px rgba(15, 23, 42, .06), 0 12px 30px rgba(15, 23, 42, .09);
  --shadow-lg: 0 18px 44px rgba(15, 23, 42, .16);
}

[data-accent="azure"]   { --accent: #5b8cff; }
[data-accent="amber"]    { --accent: #f0b90b; --on-accent: #1a1305; }
[data-accent="violet"]   { --accent: #8b7cff; }
[data-accent="teal"]     { --accent: #22c6d6; --on-accent: #06222a; }
[data-accent="rose"]     { --accent: #f472b6; }
[data-accent="orange"]   { --accent: #fb923c; --on-accent: #241205; }
[data-accent="emerald"]  { --accent: #10c98d; --on-accent: #052318; }
[data-accent="crimson"]  { --accent: #fb6a72; }

::selection {
  background: color-mix(in srgb, var(--accent) 32%, transparent);
  color: var(--text);
}
