/* @font-face declarations for the self-hosted type stack. Kept out of app.css (whose
   `tokens` layer only ever declares `--font-sans` / `--font-mono`, not the faces
   themselves) so a font swap never touches the single-owner stylesheet.

   Linked from base.html BEFORE app.css: @font-face isn't inside app.css's `@layer`
   cascade at all -- it's a resource declaration, not a style rule, so load order here
   only matters for which sheet's parse discovers the font first. See fonts/README.md
   for exact family/version/subset/provenance of each file.

   font-display: swap -- render in the fallback (system) font immediately and swap to
   the web font once it loads, rather than an invisible-text wait. */

@font-face {
  font-family: "IBM Plex Sans";
  font-style: normal;
  font-weight: 100 700; /* variable: one file covers every weight app.css asks for */
  font-display: swap;
  src: url("../fonts/ibm-plex-sans-variable.woff2") format("woff2-variations");
}

@font-face {
  font-family: "IBM Plex Mono";
  font-style: normal;
  font-weight: 400; /* the only weight app.css's `.mono` (var(--font-mono)) uses */
  font-display: swap;
  src: url("../fonts/ibm-plex-mono-regular.woff2") format("woff2");
}
