/*
  Design tokens: the one place colours, type and spacing are set.
  Direction: N4 "a field guide you can trust". See DESIGN.md at the repo root.
  Change DESIGN.md first, then this file. Pages and components only use these variables.
*/

/* ---------- Fonts (self-hosted, SIL Open Font Licence, latin subset) ---------- */
@font-face {
  font-family: "Bricolage Grotesque";
  src: url("/design/fonts/bricolage-grotesque-latin.woff2") format("woff2");
  font-weight: 400 700; font-style: normal; font-display: swap;
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: "DM Sans";
  src: url("/design/fonts/dm-sans-latin.woff2") format("woff2");
  font-weight: 100 1000; font-style: normal; font-display: swap;
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: "DM Mono";
  src: url("/design/fonts/dm-mono-latin-400.woff2") format("woff2");
  font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
  font-family: "DM Mono";
  src: url("/design/fonts/dm-mono-latin-500.woff2") format("woff2");
  font-weight: 500; font-style: normal; font-display: swap;
}

:root {
  /* ---------- Type families ---------- */
  --font-display: "Bricolage Grotesque", "DM Sans", system-ui, sans-serif; /* headings, seat names, big numbers */
  --font-body: "DM Sans", system-ui, -apple-system, "Segoe UI", sans-serif; /* everything you read */
  --font-mono: "DM Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;   /* sources, dates, figures */

  /* ---------- Type scale (phone first; desktop steps up in site.css) ---------- */
  --text-display: 44px;
  --text-number: 60px;
  --text-h2: 30px;
  --text-h3: 24px;
  --text-intro: 18px;
  --text-lead: 17px;
  --text-body: 16px;
  --text-small: 14px;
  --text-source: 12px;
  --leading-tight: 1;
  --leading-heading: 1.12;
  --leading-body: 1.55;
  --tracking-display: -0.03em;
  --tracking-caps: 0.06em;

  /* ---------- Spacing (4 px base) ---------- */
  --space-1: 4px;  --space-2: 8px;  --space-3: 12px; --space-4: 16px;
  --space-5: 20px; --space-6: 24px; --space-8: 32px; --space-10: 40px; --space-12: 48px;
  --gutter: 20px;
  --section-gap: 36px;
  --measure: 680px;
  --page-max: 1200px; /* one frame for every page; text stays at --measure (DESIGN.md §7) */

  /* ---------- Shape ---------- */
  --radius-box: 4px;
  --radius-tag: 2px;
  --tap: 44px;
  --tap-large: 48px;

  /* ---------- Colour: light ---------- */
  --color-bg: #FCFBF8;
  --color-surface: #FFFFFF;
  --color-sunken: #F1EFEA;
  --color-ink: #141517;
  --color-ink-2: #2E3034;
  --color-muted: #5C5E62;
  --color-rule: #141517;
  --color-line: #E2E0DB;
  --color-dash: #BDBAB3;
  --color-control: #8A877F;
  --color-wash: #C9DCCD;

  /* The menu panel is always dark. */
  --color-menu-bg: #18191B; --color-menu-ink: #EDEBE7; --color-menu-muted: #A6A4A0; --color-menu-line: #3A3C40;
  --color-menu-scrim: rgba(10, 10, 12, 0.45);

  --color-ok: #1E6B3A;    --color-ok-bg: #E4F0E7;
  --color-warn: #6E4A00;   --color-warn-bg: #FBF4E2;  --color-warn-line: #D9A441;
  --color-no: #A3261E;     --color-no-bg: #FBE6E3;

  color-scheme: light;
}

/* Light only (Sam, 4 Nov 2026): no dark version, whatever the reader's system setting. */

/* ---------- Old lo-fi names, kept so existing page styles pick up the palette ---------- */
:root {
  --bg: var(--color-bg); --ink: var(--color-ink); --muted: var(--color-muted);
  --line: var(--color-line); --fill: var(--color-sunken); --mark: var(--color-ink);
  --ok: var(--color-ok); --ok-soft: var(--color-ok-bg);
  --warn: var(--color-warn); --warn-bg: var(--color-warn-bg);
  --no: var(--color-no); --no-soft: var(--color-no-bg);
  --band: var(--color-control); --band-soft: var(--color-sunken);
}
