/* Self-hosted faces — replaces the render-blocking fonts.googleapis.com link.
 *
 * Filenames carry a .v1 suffix so /fonts/* can be served immutable for a year.
 * Bump the suffix here AND in the filename whenever a face is regenerated.
 *
 * Noto Serif TC is a custom subset: 755 CJK glyphs (every character the site
 * actually renders, extracted from dist/ and the data files) plus Latin and
 * punctuation, with the wght axis kept. 330 KB for the whole range, against a
 * ~9.5 MB full face per weight from Google. Regenerate with:
 *   pyftsubset NotoSerifTC[wght].ttf --text-file=<glyphs> --flavor=woff2 \
 *     --layout-features='*' --no-hinting
 * Source: github.com/google/fonts/ofl/notoseriftc — SIL Open Font License 1.1.
 */

@font-face {
  font-family: 'EB Garamond';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url('/fonts/eb-garamond-latin-wght-normal.v1.woff2') format('woff2');
}

@font-face {
  font-family: 'EB Garamond';
  font-style: italic;
  font-weight: 400 600;
  font-display: swap;
  src: url('/fonts/eb-garamond-latin-wght-italic.v1.woff2') format('woff2');
}

@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/ibm-plex-mono-latin-400-normal.v1.woff2') format('woff2');
}

@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/fonts/ibm-plex-mono-latin-500-normal.v1.woff2') format('woff2');
}

@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/fonts/ibm-plex-mono-latin-600-normal.v1.woff2') format('woff2');
}

@font-face {
  font-family: 'Noto Serif TC';
  font-style: normal;
  font-weight: 200 900;
  font-display: swap;
  src: url('/fonts/noto-serif-tc-subset.v1.woff2') format('woff2');
}
