/* Runpipe colour — four core, three support.
   GOVERNING RULE: Signal blue marks the human's 20% and nothing else. */
:root{
  /* core */
  --ink:#0E1524;
  --signal:#4C7DF0;
  --mist:#EDF1F8;
  --sand:#C8C0AE;
  /* support */
  --ink-raised:#1B2743;
  --signal-deep:#3358C4;
  --machine:#D5DDEC;
  /* ink family — dark surfaces */
  --ink-well:#14203A;
  --ink-line:#2C3A5C;
  --ink-text:#EDF1F8;
  --ink-text-muted:#9AA4B8;
  --ink-text-dim:#8F9CB8;
  --ink-text-faint:#56617A;
  /* signal family */
  --signal-tint:#C2CDF0;
  --signal-soft:#DBE4FB;
  --signal-wash:#CDD8F5;
  /* sand / paper family — warm side */
  --paper:#E8E6E1;
  --sand-line:#CEC9BD;
  --sand-border:#D9D4C8;
  --sand-deep:#26231C;
  --sand-ink:#5C564A;
  --sand-muted:#8A8579;
  --sand-muted-2:#8B8271;
  /* neutral surfaces */
  --white:#FFFFFF;
  --hairline:#ECEBE6;
  /* cool greys on light */
  --slate:#6F7789;
  --slate-light:#98A1B3;

  /* ── semantic aliases ── */
  --surface-page:var(--paper);
  --surface-card:var(--white);
  --surface-panel:var(--mist);
  --surface-ink:var(--ink);
  --surface-ink-card:var(--ink-raised);
  --surface-ink-well:var(--ink-well);

  --border-card:var(--sand-border);
  --border-hairline:var(--hairline);
  --border-ink:var(--ink-line);
  --border-panel:var(--machine);
  --border-signal:var(--signal-tint);

  --text-primary:var(--ink);
  --text-body:#45514B;
  --text-meta:var(--slate);
  --text-faint:var(--slate-light);
  --text-warm:#6B6559;
  --text-on-ink:var(--ink-text);
  --text-on-ink-muted:var(--ink-text-muted);
  --text-on-signal:var(--white);
  --text-signal:var(--signal-deep);

  /* the 80/20 device */
  --track-machine:var(--machine);
  --track-machine-ink:var(--ink-line);
  --track-human:var(--signal);

  /* states */
  --action-bg:var(--signal);
  --action-bg-hover:var(--signal-deep);
  --link:var(--signal-deep);
  --link-hover:var(--ink);
  --focus-ring:var(--signal);
}
