:root{
  /* Base — ink (dark neutrals). Backgrounds only ever use these six values. */
  --ink-900:#131209; --ink-800:#181818; --ink-700:#1F1F1F; --ink-600:#272727;
  --ink-500:#313131; --ink-400:#313131;
  /* Base — fog (light neutrals, used for text on dark surfaces — not backgrounds) */
  --fog-050:#F4F4F3; --fog-100:#E4E4E2; --fog-300:#B8B6B2; --fog-500:#8A8884; --fog-700:#5C5A57;
  /* Accent — sage (single brand accent: safety orange). Buttons and links only, never backgrounds. */
  --sage-200:#FF9466; --sage-400:#FF5A1F; --sage-500:#E64A0F; --sage-600:#FF5A1F; --sage-800:#5A2410;
  /* Accent — mist (secondary / info) */
  --mist-300:#B7D0E0; --mist-400:#8FB3CC; --mist-600:#5D89A6; --mist-800:#2B4356;
  /* Accent — sand (highlight / warning) */
  --sand-300:#D8C3A5; --sand-500:#BFA07B; --sand-800:#4E4132;
  /* Accent — clay (danger) */
  --clay-300:#DDA9A1; --clay-400:#C98F86; --clay-600:#A66A61; --clay-800:#4C302C;

  /* Semantic — surfaces (each one of the six approved dark background values) */
  --surface-canvas:var(--ink-900);
  --surface-raised:var(--ink-800);
  --surface-card:var(--ink-700);
  --surface-sunken:#000000;
  --surface-inset:var(--ink-600);
  --surface-overlay:rgba(0,0,0,.72);
  --surface-accent-soft:rgba(255,90,31,.10);

  /* Semantic — text */
  --text-heading:var(--fog-050);
  --text-body:var(--fog-300);
  --text-muted:var(--fog-500);
  --text-faint:var(--fog-700);
  --text-on-accent:#170A03;
  --text-accent:var(--sage-400);
  --text-link:var(--sage-400);
  --text-link-hover:var(--sage-200);

  /* Semantic — lines */
  --line-hairline:rgba(244,244,243,.08);
  --line-soft:rgba(244,244,243,.14);
  --line-strong:rgba(244,244,243,.24);
  --line-accent:var(--sage-600);

  /* Semantic — interactive */
  --action-primary:var(--sage-400);
  --action-primary-hover:var(--sage-200);
  --action-primary-press:var(--sage-500);
  --action-quiet-hover:rgba(244,244,243,.06);
  --focus-ring:rgba(255,90,31,.55);

  /* Semantic — status */
  --status-success:var(--sage-400); --status-success-bg:rgba(255,90,31,.12);
  --status-info:var(--mist-400);    --status-info-bg:rgba(143,179,204,.12);
  --status-warning:var(--sand-300); --status-warning-bg:rgba(216,195,165,.12);
  --status-danger:var(--clay-400);  --status-danger-bg:rgba(201,143,134,.12);
}
