/*
 * fonts.css - the site's self-hosted typefaces.
 *
 * Single source, loaded by every page in both halves of the site: Quartz note
 * pages (patched into Head.tsx) and the generated pages (linked in each
 * template). Served from /static/fonts/, copied here from quartz-site/static/
 * by build.sh so there is no request to a third party and nothing can break or
 * go slow because Google is having a day.
 *
 * The family names match what the palette already asks for: quartz-site's
 * --bodyFont/--headerFont/--codeFont and shared/site.css's --font-sans/
 * --font-mono are "Inter" and "IBM Plex Mono", so these @font-face blocks are
 * what those resolve against.
 *
 * font-display: swap means text paints in the fallback stack first and swaps
 * in when the font arrives - the same behaviour the Google build had, so there
 * is still no invisible-text block and no layout-shift regression. The files
 * are the latin subsets Google itself served, kept to stay small.
 *
 * Inter is a variable font (100-900), so one file covers every weight the site
 * uses. IBM Plex Mono is two static weights; Atkinson Hyperlegible and Saira
 * Condensed are the two faces the /drills pages use.
 */
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("/static/fonts/Inter.woff2") format("woff2");
}

@font-face {
  font-family: "IBM Plex Mono";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/static/fonts/IBMPlexMono-400.woff2") format("woff2");
}

@font-face {
  font-family: "IBM Plex Mono";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/static/fonts/IBMPlexMono-500.woff2") format("woff2");
}

@font-face {
  font-family: "Atkinson Hyperlegible";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/static/fonts/Atkinson-400.woff2") format("woff2");
}

@font-face {
  font-family: "Saira Condensed";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/static/fonts/Saira-600.woff2") format("woff2");
}