/* The palette, once. Written 1 Oct 2026 (the final polish pass), when the
 * same twenty-odd tokens had been copied into the :root of twenty-seven
 * screens and had quietly drifted: two reds both called --brick, five values
 * of --faint, four ambers, and a house stylesheet repeating every value as a
 * fallback because it loaded last and could not declare them.
 *
 * Linked FIRST on every screen, before the screen's own <style>, so a screen
 * can still override a token on purpose (and says why, in a comment beside
 * the override). hub-house.css loads last and carries no fallbacks: a var()
 * here always resolves. The pill, mark and tone tokens stay in hub-house.css
 * because they are rules about meaning, not colours.
 *
 * NOT the printed documents. Those are Cambridge-facing and keep their own
 * header colours (Ramy, 23 Sep 2026: "leave the printed documents alone"). */
:root{
  /* ---- ground ----
     --sand is the desk, --surface the card on it, --box the deeper tone a
     control or panel is filled with (Ramy, 21 Sep 2026: "I'm not a big fan
     of white... all those white boxes could turn into that sort of different
     beige colour"). --paper stays white for two jobs: text on a teal fill,
     and a sheet of paper (the records). */
  --sand:oklch(98.8% 0.006 85); --sand-deep:oklch(94.8% 0.01 85); --sand-line:oklch(85.5% 0.02 80);
  --row-line:oklch(90% 0.016 82); --paper:oklch(99.5% 0.004 90);
  --surface:oklch(95.2% 0.018 84); --card:var(--surface); --box:oklch(91.2% 0.03 80);
  /* The fill of every field, and the focus lift. 99%, not 93.4%: at 93.4 a
     field sat under two points from the 95.2% card behind it and the border
     was doing all the work of saying "type here" (Ramy, 26 Sep 2026); and the
     beige he kept seeing on the plan and the cover sheet was this fill, not
     the card (1 Oct 2026). The placeholder is 49%, the lightest grey that
     clears 4.5:1 on that fill. */
  --field:oklch(99% 0.004 90); --field-focus:oklch(98.5% 0.008 84); --field-ph:oklch(49% 0.017 70);
  /* ---- ink ---- */
  --ink:oklch(23.5% 0.017 65); --ink-warm:oklch(30% 0.042 58);
  --grey:oklch(51% 0.017 70);
  /* --faint is TEXT that has finished (--tone-done reads it), so it has to
     stay readable: 54% is the home page's value, kept; the tracker's and the
     pack's 75% made a finished chip all but vanish. */
  --faint:oklch(54% 0.012 75);
  /* ---- brand ---- */
  --teal:oklch(37.5% 0.058 195); --teal-lifted:oklch(44% 0.062 195); --teal-deep:oklch(31% 0.055 195);
  --gold:oklch(63% 0.096 72); --gold-lifted:oklch(70% 0.12 72); --gold-deep:oklch(52% 0.098 70);
  --gold-wash:oklch(94.5% 0.035 78); --amber-edge:oklch(84% 0.08 78);
  /* one red: the dashboards' brighter 52% 0.19 32 is gone */
  --brick:oklch(45% 0.15 27);
  /* ---- shape ----
     6 for a control, 10 for a strip or an inline panel, 12 for a full-width
     card. A pill (999px) only where a thumb needs it: the join-room link and
     the volunteer's phone page. */
  --r-control:6px; --r-strip:10px; --r-card:12px;
}
