/* ==========================================================================
   Bitcoin Witness — self-hosted web fonts
   --------------------------------------------------------------------------
   Replaces the former Fontshare (Zodiak, Satoshi) + Google Fonts
   (JetBrains Mono) <link> tags. Serving fonts from our own origin removes
   third-party requests (matches the "no third-party trackers" privacy claim),
   keeps everything inside the 'self' CSP, and lets the pages render offline.

   The founder drops the actual .woff2 files into this /fonts/ directory using
   the exact filenames referenced below (see fonts/README.txt). Until then the
   @font-face src 404s gracefully and the CSS font stacks fall back to the
   system serif / sans / mono defined in each page's :root.

   font-display: swap — text is visible immediately in the fallback face and
   swaps to the web font once it loads. No invisible-text flash.
   ========================================================================== */

/* ---- Zodiak (display / headings) ----------------------------------------
   Zodiak ships 400 and 700 only, with no Medium. An earlier pass declared the 400
   file as the RANGE "400 500" so that headings asking for 500 would land on it
   rather than fall through to BOLD. That worked in Chrome and NOT in Safari, where
   the same headline rendered visibly different while Satoshi and JetBrains Mono were
   identical — a weight range on a STATIC file is resolved differently per engine.
   Declared as the single value 400 instead, and the headings now ASK for 400
   (see tokens.css), so no engine has a range to interpret or a weight to synthesise.
   Note the CSS font-matching order makes this safe even for a stray 500 request:
   for a target of 500, 400 is checked BEFORE anything above 500, so a leftover 500
   still lands on this file and can never reach the bold one. (2026-09-08) */
@font-face {
  font-family: 'Zodiak';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('./zodiak-400.woff2') format('woff2');
}
@font-face {
  font-family: 'Zodiak';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('./zodiak-700.woff2') format('woff2');
}

/* ---- Satoshi (body) ----------------------------------------------------- */
@font-face {
  font-family: 'Satoshi';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('./satoshi-300.woff2') format('woff2');
}
@font-face {
  font-family: 'Satoshi';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('./satoshi-400.woff2') format('woff2');
}
@font-face {
  font-family: 'Satoshi';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('./satoshi-500.woff2') format('woff2');
}
@font-face {
  font-family: 'Satoshi';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('./satoshi-700.woff2') format('woff2');
}

/* ---- JetBrains Mono (code / mono) --------------------------------------- */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('./jetbrainsmono-400.woff2') format('woff2');
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('./jetbrainsmono-500.woff2') format('woff2');
}
