/* The three faces, self-hosted.
 *
 * Loaded from index.html rather than from App.jsx's <style> block, which is
 * the whole point of open item 24. That block renders only inside App, so
 * before this file the sign-in screen, the Google zip screen, the loading
 * screen, the onboarding fork, the marketing page and the three legal routes
 * all fell back to the system sans. So did every component in src/ui/ that
 * emits className="disp", anywhere outside App.
 *
 * NOT fonts.googleapis.com, deliberately. A stylesheet there is a
 * render-blocking third-party fetch across two hosts on the first paint of
 * every visit, including someone arriving from the printed QR on cellular,
 * which is the opposite of what /testers and the landing page were built for.
 * These are same-origin and cached with the deploy.
 *
 * MANROPE AND SPACE GROTESK ARE VARIABLE, one file per family with the weight
 * axis retained, so `font-weight: 400 700` is a range rather than a mistake.
 * Space Mono has no variable release, so it is two static files. That is why
 * the counts differ: four files, three families.
 *
 * font-display: swap on all of them. The text is the app; showing it late in
 * the right face is worse than showing it immediately in the wrong one, and a
 * beekeeper standing at a market stall on one bar of signal is the case that
 * decides this.
 */

@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/fonts/Manrope-subset.woff2') format('woff2');
}

@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 500 700;
  font-display: swap;
  src: url('/fonts/SpaceGrotesk-subset.woff2') format('woff2');
}

@font-face {
  font-family: 'Space Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/SpaceMono-Regular-subset.woff2') format('woff2');
}

@font-face {
  font-family: 'Space Mono';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/fonts/SpaceMono-Bold-subset.woff2') format('woff2');
}

/* MOVED HERE FROM App.jsx's <style> BLOCK, and moving them is half the fix.
 *
 * While they were declared inside App, className="disp" was inert on every
 * surface App does not render, so the sign-in wordmark and the legal page
 * headings were asking for a display face that was never defined for them. */
.disp { font-family: 'Space Grotesk', sans-serif; }
.mono { font-family: 'Space Mono', monospace; }
