/* =============================================================================
   fonts.v1.css — self-hosted web fonts for /learn (docs/design-system.md §12).

   Files: /assets/fonts/*.woff2, Google Fonts' own variable Latin-subset WOFF2
   files, fetched 2026-09-21 and committed unchanged:
     inter-latin-v20.woff2          fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2   48,256 B
     space-grotesk-latin-v22.woff2  fonts.gstatic.com/s/spacegrotesk/v22/V8mDoQDjQSkFtoMM3T6r8E7mPbF4Cw.woff2  22,288 B
     jetbrains-mono-latin-v24.woff2 fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxDcwg.woff2  31,432 B
   Licence: SIL Open Font License 1.1, no Reserved Font Name (METADATA.pb
   `license: "OFL"` and OFL.txt in github.com/google/fonts, ofl/<family>/).
   The licence texts travel with the files: /assets/fonts/OFL-<family>.txt.

   Versioned filename: /assets/ is cached immutable, so a change ships as
   fonts.v2.css, never an edit to this file once live.

   Fallback metrics: computed 2026-09-21 with fontTools from the committed
   WOFF2 files and Arial (arial.ttf), using the letter-frequency-weighted
   average advance width (the capsize method). size-adjust = font avg / Arial
   avg; the overrides are the font's hhea metrics divided by size-adjust.
   ========================================================================== */

@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("/assets/fonts/inter-latin-v20.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: "Space Grotesk";
  font-style: normal;
  font-weight: 500 700;
  font-display: swap;
  src: url("/assets/fonts/space-grotesk-latin-v22.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: "JetBrains Mono";
  font-style: normal;
  font-weight: 400 500;
  font-display: swap;
  src: url("/assets/fonts/jetbrains-mono-latin-v24.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;
}

/* Metric-matched local fallbacks, named in tokens.v1.css font stacks. */
@font-face {
  font-family: "Inter Fallback";
  src: local("Arial"), local("ArialMT"), local("Liberation Sans");
  size-adjust: 107.31%;
  ascent-override: 90.28%;
  descent-override: 22.48%;
  line-gap-override: 0%;
}

@font-face {
  font-family: "Space Grotesk Fallback";
  src: local("Arial"), local("ArialMT"), local("Liberation Sans");
  size-adjust: 110.78%;
  ascent-override: 88.82%;
  descent-override: 26.36%;
  line-gap-override: 0%;
}
