/* Brand tokens from brand/final v4 (research-and-brand @ 920d5a5, brand.json; v2 print rule, v3/v4 figures rule). No hue outside this list.
   Fonts: OFL-1.1, subset to Latin from brand/fonts (licences in /fonts/OFL-*.txt). */
@font-face { font-family: "Young Serif"; src: url("/fonts/YoungSerif-Regular.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Atkinson Hyperlegible"; src: url("/fonts/AtkinsonHyperlegible-Regular.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Atkinson Hyperlegible"; src: url("/fonts/AtkinsonHyperlegible-Bold.woff2") format("woff2"); font-weight: 700; font-style: normal; font-display: swap; }
/* Figures rule (v3): digits 0-9 in the text family come from Public Sans (Atkinson's zero is slashed). Declared after the Atkinson faces: Chromium tries the last-declared matching face first (verified: declared first, Atkinson slashed zero wins). One face per exact weight; a 400 700 range face makes Chromium skip the Atkinson faces for letters. */
@font-face { font-family: "Atkinson Hyperlegible"; src: url("/fonts/PublicSans-Digits.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; unicode-range: U+0030-0039; }
@font-face { font-family: "Atkinson Hyperlegible"; src: url("/fonts/PublicSans-Digits.woff2") format("woff2"); font-weight: 700; font-style: normal; font-display: swap; unicode-range: U+0030-0039; }

:root {
  /* palette: role, name, job */
  --ground: #2E5339;   /* Bean leaf: field for covers, heroes, plate mounts */
  --primary: #4B3222;  /* Loam: mark and chrome, nav, buttons, headings on paper */
  --accent: #C2335E;   /* Radish: one rule, one badge, frost markers, prices; never text on ground */
  --surface: #EEF0DD;  /* Seed paper: site background */
  --text: #1E2B22;     /* Row ink: body text */
  --rule: #9DAF8C;     /* Sage rule: lines only, never text */
  --code-indoor: #6D3B73;  /* Beet: start indoors */
  --code-transplant: #3A733A; /* Leaf: transplant */
  --code-sow: #8A5A3B;     /* Furrow: sow direct */
  --code-harvest: #D9822B; /* Squash: harvest; fill only, Row ink on top */

  --font-display: "Young Serif", Georgia, serif;
  --font-text: "Atkinson Hyperlegible", system-ui, sans-serif;

  /* off-grid, brand.json */
  --tilt-badge: -4deg;
  --tilt-note: 3deg;
}
