:root{
  /* Brand base */
  --navy-900:#080D18;
  --navy-800:#101828;
  --navy-700:#1A2437;
  --navy-600:#273249;

  /* Steel (accent) */
  --steel-900:#0F3552;
  --steel-800:#17476C;
  --steel-700:#1F5C8B;
  --steel-600:#2C74A9;
  --steel-500:#4C93C6;
  --steel-200:#BFD6E8;
  --steel-100:#E1ECF5;
  --steel-050:#F1F6FB;

  /* Neutrals */
  --n-000:#FFFFFF;
  --n-050:#F7F8FA;
  --n-100:#EDEFF3;
  --n-200:#DDE1E8;
  --n-300:#C3C9D4;
  --n-400:#A8B0BE;
  --n-500:#7C8598;
  --n-600:#5C657A;
  --n-700:#3A424F;
  --n-800:#232A36;

  /* Semantic hues */
  --green-700:#1E6B4E;
  --green-100:#E3F1EA;
  --amber-700:#8A6210;
  --amber-100:#F8EFDC;
  --red-700:#A32B2B;
  --red-100:#F7E5E5;

  /* Semantic aliases — surfaces */
  --surface-page:var(--n-000);
  --surface-subtle:var(--n-050);
  --surface-card:var(--n-000);
  --surface-sunken:var(--n-100);
  --surface-inverse:var(--navy-800);
  --surface-inverse-alt:var(--navy-700);
  --surface-accent-subtle:var(--steel-050);

  /* Semantic aliases — text */
  --text-heading:var(--navy-800);
  --text-body:var(--n-700);
  --text-muted:var(--n-500);
  --text-inverse:var(--n-000);
  --text-inverse-muted:#9FB0C6;
  --text-accent:var(--steel-700);
  --text-link:var(--steel-700);
  --text-link-hover:var(--steel-900);

  /* Semantic aliases — lines */
  --border-hairline:var(--n-200);
  --border-strong:var(--n-300);
  --border-inverse:rgba(255,255,255,.14);
  --border-accent:var(--steel-700);
  --focus-ring:var(--steel-600);

  /* Semantic aliases — status */
  --status-ok-fg:var(--green-700);
  --status-ok-bg:var(--green-100);
  --status-warn-fg:var(--amber-700);
  --status-warn-bg:var(--amber-100);
  --status-crit-fg:var(--red-700);
  --status-crit-bg:var(--red-100);
  --status-info-fg:var(--steel-700);
  --status-info-bg:var(--steel-100);
}
