/* Self-hosted web fonts (hand-maintained).
 *
 * Geist (Vercel, SIL OFL 1.1) and JetBrains Mono (JetBrains, SIL OFL 1.1),
 * latin subset, VARIABLE weight axes — one file per family covers every
 * weight the comps use (Geist 400–800, JetBrains Mono 400–700). Both were
 * taken from the Google Fonts CDN build the site used to load at runtime
 * (2026-09-22); re-fetch from there to update.
 *
 * Why local: the site's pitch is local-first and "nothing leaves your
 * machine"; a render-blocking request to fonts.googleapis.com on every page
 * contradicted that and added a third-party origin to the CSP. The converter
 * and the help/docs renderer emit a preload for each file plus this sheet
 * in place of the Google <link>s. `font-display: swap` keeps text visible
 * on a cold cache. */
@font-face {
  font-family: "Geist";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("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: "JetBrains Mono";
  font-style: normal;
  font-weight: 100 800;
  font-display: swap;
  src: url("fonts/jetbrains-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;
}
