/* fonts.css — self-hosted @font-face declarations, shared by every page.
 *
 * Replaces the old fonts.googleapis.com/fonts.gstatic.com request pair: two
 * cross-origin round trips (CSS, then the woff2 itself) on the critical
 * rendering path, gating first paint of every theme's display text behind a
 * third-party origin. These files are the same webfonts, served same-origin
 * from assets/fonts/ (already used by tools/build_artifact.py and
 * tools/og_home.py — see tools/artifact_fonts/).
 *
 * Declaring an @font-face costs nothing by itself: a browser only fetches the
 * file the first time it actually needs to paint text in that family. Inter
 * and JetBrains Mono are used by every theme but Retro, so they load on first
 * paint (and are preloaded — see the <link rel="preload"> in <head>). Archivo
 * Black and Bangers are Uncanny's display faces and Space Grotesk is Clean's;
 * none of the three is requested until a visitor actually switches to that
 * theme. No JS injection needed for that laziness — it's native.
 */

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('assets/fonts/inter.woff2') format('woff2');
}

@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url('assets/fonts/jetbrainsmono.woff2') format('woff2');
}

@font-face {
  font-family: 'Archivo Black';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('assets/fonts/archivoblack.woff2') format('woff2');
}

@font-face {
  font-family: 'Bangers';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('assets/fonts/bangers.woff2') format('woff2');
}

@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url('assets/fonts/spacegrotesk.woff2') format('woff2');
}
