/* Critical, render-blocking CSS — referenced directly from index.html (NOT
 * bundled) so it applies at FIRST PAINT in both dev and prod.
 *
 * Why static instead of in globals.css: Vite serves bundled CSS by injecting it
 * via JS, which lands AFTER the first paint. That let text paint in a fallback
 * font and then swap to Inter/Geist once the bundle applied — the on-refresh
 * reflow. Declaring the fonts here (paired with the <link rel="preload"> in
 * index.html) makes them available before first paint, so there is no swap. */

@font-face {
  font-family: 'Inter';
  src: url('/fonts/inter-variable.woff2') format('woff2');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Geist';
  src: url('/fonts/geist-variable.woff2') format('woff2');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

/* Base font + reserved scrollbar gutter, applied pre-bundle so the first paint
 * already has the right metrics and width. */
html {
  scrollbar-gutter: stable;
}
body {
  font-family: 'Inter', -apple-system, system-ui, sans-serif;
}
