/* Self-hosted display faces, all under the SIL Open Font License 1.1.
   Self-hosted rather than loaded from Google: the CSP is `font-src 'self'`, it removes a
   third-party request from the critical path, and it means no external service sees a
   request for every page view.

   Only the latin subset is fetched (3–8 KB each), which is what Google serves modern
   browsers anyway.

   Roles:
     Black Ops One  — the logo and headings. Military stencil, all-caps by nature.
     Orbitron       — the in-game HUD. A squared, technical face built for display use:
                      it stays legible at speed and at size, which Press Start 2P does not
                      once a string is longer than a callsign.
     Press Start 2P — kept for the callsign field only, where four big arcade characters
                      are exactly the right note.
     Chakra Petch   — everything else. Squared-off techy face that stays readable at small
                      sizes, unlike the other two. */

/*
 * Rubik Distressed carries the logo, and only the logo.
 *
 * The eroded texture means every glyph is hundreds of contours: the full latin subset is
 * 196 KB and even A-Z alone is 41 KB, against 3 KB for the whole of Black Ops One. This
 * file therefore contains exactly the seven glyphs in TANKWARS (T A N K W R S) and
 * nothing else, which brings it down to 12 KB.
 *
 * So: do not use --font-title anywhere but .logo. Any other character falls through to
 * the next family in the stack, which will not match. If it is ever needed more widely,
 * regenerate with a bigger charset:
 *
 *   python3 -m fontTools.subset contrib/art/fonts/RubikDistressed.ttf \
 *     --text="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 -" --layout-features="" \
 *     --no-hinting --desubroutinize --flavor=woff2 \
 *     --output-file=html/fonts/rubik-distressed.woff2
 */
@font-face {
  font-family: 'Rubik Distressed';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/rubik-distressed.woff2') format('woff2');
}

@font-face {
  font-family: 'Black Ops One';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/black-ops-one.woff2') format('woff2');
}

@font-face {
  font-family: 'Press Start 2P';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/press-start-2p.woff2') format('woff2');
}

@font-face {
  font-family: 'Orbitron';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('../fonts/orbitron-600.woff2') format('woff2');
}

@font-face {
  font-family: 'Orbitron';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url('../fonts/orbitron-800.woff2') format('woff2');
}

@font-face {
  font-family: 'Chakra Petch';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/chakra-petch-400.woff2') format('woff2');
}

@font-face {
  font-family: 'Chakra Petch';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('../fonts/chakra-petch-600.woff2') format('woff2');
}
