/* App-additions — the small set of tokens the prototypes rely on that the
   DSM had not yet formalized. Documented in DESIGN-TOKENS.md §3.
   Loaded LAST among tokens so these win, and remapped per color mode below. */

:root {
  /* Error / failure (rose) — accessibility-tuned for the dark shell. */
  --fx-error: #F08A93;
  --fx-error-border: #6E3A3F;
  --fx-error-bg: rgba(240, 138, 147, 0.10);

  /* Nav rail — one step darker than the page, lighter than the top bar. */
  --fx-surface-rail: #090C12;

  /* Active nav item tint (SCREENS: rgba(184,205,245,.09)) — tokenized so it
     remaps per mode instead of washing out on light/high-contrast shells. */
  --fx-nav-active-bg: rgba(184, 205, 245, 0.09);
}

[data-fx-theme="light"] { --fx-nav-active-bg: rgba(39, 71, 112, 0.10); }
[data-fx-theme="grayscale-dark"] { --fx-nav-active-bg: rgba(226, 226, 231, 0.10); }
[data-fx-theme="grayscale-light"] { --fx-nav-active-bg: rgba(42, 42, 50, 0.10); }
[data-fx-theme="high-contrast"] { --fx-nav-active-bg: transparent; }

/* Light mode: rose is too light on white — darken to a legible red. */
[data-fx-theme="light"] {
  --fx-error: #B0303C;
  --fx-error-border: #E0ADB2;
  --fx-error-bg: rgba(176, 48, 60, 0.06);
  --fx-surface-rail: #EEF2F8;
}

[data-fx-theme="grayscale-dark"] {
  --fx-error: #EFEFF2;
  --fx-error-border: #6E6E77;
  --fx-error-bg: rgba(239, 239, 242, 0.07);
  --fx-surface-rail: #0A0A0B;
}

[data-fx-theme="grayscale-light"] {
  --fx-error: #1C1C22;
  --fx-error-border: #90909A;
  --fx-error-bg: rgba(28, 28, 34, 0.06);
  --fx-surface-rail: #F4F4F6;
}

[data-fx-theme="high-contrast"] {
  --fx-error: #FF9999;
  --fx-error-border: #FF9999;
  --fx-error-bg: transparent;
  --fx-surface-rail: #000000;
}

[data-fx-theme="colorblind"] {
  /* Vermillion (Okabe–Ito) for error; rail stays the dark-shell value. */
  --fx-error: #D55E00;
  --fx-error-border: #8A4210;
  --fx-error-bg: rgba(213, 94, 0, 0.10);
}
