:root{
  /* --- Brand: the logo files keep their navy; the system itself is ink on paper --- */
  --logo-navy:#16264d;       /* only inside the supplied SVGs, never as a UI colour */
  --paper:#ffffff;
  --ink:#0a0a0a;

  /* --- Ink ramp (neutral, cold) --- */
  --ink-950:#000000;
  --ink-900:#0a0a0a;
  --ink-800:#161616;
  --ink-700:#262626;
  --ink-600:#3d3d3d;
  --ink-500:#5c5c5c;
  --ink-400:#7a7a7a;
  --ink-300:#a3a3a3;
  --ink-200:#cfcfcf;
  --ink-100:#e6e6e6;
  --ink-050:#f4f4f4;

  /* --- Greys (aliases for surfaces) --- */
  --grey-900:#0a0a0a;
  --grey-700:#3d3d3d;
  --grey-500:#7a7a7a;
  --grey-400:#a3a3a3;
  --grey-300:#cfcfcf;
  --grey-200:#e6e6e6;
  --grey-100:#f0f0f0;
  --grey-050:#f7f7f7;
  --white:#ffffff;

  /* --- One accent. Everything else is ink. --- */
  --accent-700:#1f6fd6;
  --accent-600:#3385eb;
  --accent-500:#4c9aff;
  --accent-300:#a6cdff;
  --accent-100:#e3efff;
  /* signal colours: semantic only */
  --red-700:#9c2a25;
  --red-500:#c6362f;
  --red-300:#e59a96;
  --green-700:#1f5a40;
  --green-500:#2f7d5a;
  --green-300:#9ccbb5;

  /* --- Semantic surfaces --- */
  --surface-page:#ffffff;
  --surface-card:#ffffff;
  --surface-sunken:#f4f4f4;
  --surface-inverse:#0a0a0a;
  --surface-inverse-raised:#161616;
  --surface-field:#ffffff;
  --surface-hover:rgba(10,10,10,.04);
  --surface-pressed:rgba(10,10,10,.08);
  --surface-selected:rgba(10,10,10,.06);
  --scrim:rgba(0,0,0,.6);

  /* --- Semantic text --- */
  --text-display:#0a0a0a;
  --text-body:#262626;
  --text-muted:#5c5c5c;
  --text-faint:#7a7a7a;
  --text-on-inverse:#ffffff;
  --text-on-inverse-muted:#a3a3a3;
  --text-on-accent:#ffffff;
  --text-link:#0a0a0a;
  --text-link-hover:#1f6fd6;

  /* --- Instance states --- */
  --status-at-large:#c6362f;
  --status-at-large-bg:#fbeeed;
  --status-tracking:#1f6fd6;
  --status-tracking-bg:#e3efff;
  --status-contained:#0a0a0a;
  --status-contained-bg:#e6e6e6;
  --status-review:#5c5c5c;
  --status-review-bg:#f4f4f4;
  --status-dormant:#a3a3a3;
  --status-dormant-bg:#f7f7f7;

  /* legacy aliases (pre-rebuild names) */
  --tch-navy:var(--ink-900);--tch-navy-ink:var(--ink-700);--tch-vellum:var(--paper);--tch-brume:var(--grey-300);
  --navy-950:var(--ink-950);--navy-900:var(--ink-900);--navy-800:var(--ink-900);--navy-700:var(--ink-700);--navy-600:var(--ink-600);--navy-500:var(--ink-500);--navy-400:var(--ink-400);--navy-300:var(--ink-300);--navy-200:var(--ink-200);--navy-100:var(--ink-100);--navy-050:var(--ink-050);
  --vermilion-700:var(--red-700);--vermilion-500:var(--red-500);--vermilion-300:var(--red-300);
  --verdigris-700:var(--green-700);--verdigris-500:var(--green-500);--verdigris-300:var(--green-300);
  --brass-600:var(--accent-700);--brass-500:var(--accent-500);--brass-300:var(--accent-300);
  --azure-700:var(--accent-700);--azure-500:var(--accent-500);--azure-300:var(--accent-300);
}
