/* ============================================================================
   HEARTH TABLE — self-hosted web fonts (vendored, latin subset).

   Replaces the Google Fonts CDN <link> so the app carries no third-party
   runtime font dependency — consistent with the project's vendor-everything
   posture (card images are vendored for the same reason; the VM sits behind
   Cloudflare and should not depend on fonts.gstatic.com at request time).

   These are VARIABLE fonts: a single woff2 per family/style covers the whole
   weight axis, so each @font-face declares a font-weight RANGE. Only the latin
   subset is vendored (the app is English); the --disp/--body/--mono token
   stacks in tokens.css carry system fallbacks, so a missing file degrades
   gracefully. Files served hard-cached from /fonts (server/index.ts).
   ========================================================================== */

@font-face {
  font-family: "Bricolage Grotesque";
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url("/fonts/bricolage-grotesque-latin.woff2") format("woff2");
}

@font-face {
  font-family: "JetBrains Mono";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("/fonts/jetbrains-mono-latin.woff2") format("woff2");
}

@font-face {
  font-family: "Newsreader";
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url("/fonts/newsreader-latin.woff2") format("woff2");
}

@font-face {
  font-family: "Newsreader";
  font-style: italic;
  font-weight: 400 500;
  font-display: swap;
  src: url("/fonts/newsreader-italic-latin.woff2") format("woff2");
}
