/* Same-origin @font-face for the production document shell. The redesign's two
   faces — Geist Sans (display + prose, --fd) and Geist Mono (data + utility, --fm)
   — are self-hosted here rather than reached from a CDN: script-src/font-src are
   'self', so an external font origin is CSP-blocked and fails silently (the head
   would render in the fallback stack with no error anywhere). Each face is a
   VARIABLE woff2, one file per subset, declared with a weight RANGE so every
   weight the sheets ask for is a real master and none is browser-synthesised.

   The woff2 carry the full Geist wght 100..900 axis (upstream vercel/geist,
   SIL OFL 1.1, via @fontsource-variable — the pre-subset latin / latin-ext files;
   notice in static/fonts/geist-OFL.txt). The font-weight descriptor deliberately
   narrows the CSS-exposed range to the weights the design actually spends: the
   display face 300..900 (the wordmark and page titles peak at 900), the data face
   300..700 (uppercase labels and metrics sit at 400..600). Nothing asks below 300,
   so the narrower range is the used range, not a cap that fakes a weight.

   Seam: Geist Mono is the immediate data face. To swap to Berkeley Mono (TX-02)
   when the licensed files are provided, replace the two Geist Mono @font-face src
   files below and the --fm token value in internal/design/tokens.go — nothing else. */

/* ---- Geist Sans — display + prose (--fd), wght 300..900 ---- */
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 300 900;
  font-display: swap;
  src: url('/static/fonts/geist.latin.woff2') format('woff2');
  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: 'Geist';
  font-style: normal;
  font-weight: 300 900;
  font-display: swap;
  src: url('/static/fonts/geist.latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* ---- Geist Mono — data + utility (--fm), wght 300..700 ---- */
@font-face {
  font-family: 'Geist Mono';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url('/static/fonts/geist-mono.latin.woff2') format('woff2');
  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: 'Geist Mono';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url('/static/fonts/geist-mono.latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
