/* Self-hosted Nunito — the same humanist sans the app bundles
   (mobile/composeApp/src/commonMain/composeResources/font/, APP-ADR-004 /
   APP-ADR-022), converted to WOFF2 by `pnpm fonts` (scripts/build-fonts.mjs) so
   the landing can never drift onto a different cut than the game, and so the
   page makes ZERO third-party requests (no Google Fonts).
   Licence: SIL Open Font License 1.1 — see docs/legal/font_licences/nunito_OFL.txt.

   Three faces only: Regular (400) for body copy, Bold (700) for nav / buttons /
   card headings, ExtraBold (800) for display headings and the wordmark. Any
   in-between Tailwind weight resolves to the nearest registered face via the CSS
   font-matching algorithm, so nothing else needs a file.

   ~132 kB total, WOFF2 only (no TTF fallback — every browser we target has
   supported WOFF2 since 2016). These files are the page's largest download,
   which is why the format matters: the same faces as TTF would be 396 kB.

   Cache policy: `scripts/deploy.sh` marks only Astro's content-hashed `_astro/*`
   bundles `immutable`; these faces have stable filenames, so they land in the
   `max-age=0, must-revalidate` pass with the HTML. That is deliberate, not an
   oversight — an `immutable` year on a stable filename means a re-cut face
   cannot be pushed to browsers that already have the old one, and a CloudFront
   invalidation does not reach them. The cost is one conditional request per
   navigation, answered 304 with no body, and the font stays in the browser
   cache. */

@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('Nunito-Regular.woff2') format('woff2');
}
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('Nunito-Bold.woff2') format('woff2');
}
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url('Nunito-ExtraBold.woff2') format('woff2');
}
