/* Self-hosted typefaces (latin subset, woff2 only — every supported
   browser that runs our JS also speaks woff2). Inter Tight and
   JetBrains Mono are variable-weight files, so one file covers every
   weight in the declared range. font-display: optional + the preloads
   in head.tsx: the face is used when it's ready by first paint (the
   preloaded files almost always are) and otherwise the fallback stack
   from app.css sticks for that page view — a late swap would reflow
   the whole page (layout shift). */

@font-face {
  font-family: "Caveat Brush";
  font-style: normal;
  font-weight: 400;
  font-display: optional;
  src: url("/static/fonts/caveat-brush-400.woff2") format("woff2");
}

@font-face {
  font-family: "Caveat";
  font-style: normal;
  font-weight: 400;
  font-display: optional;
  src: url("/static/fonts/caveat-400.woff2") format("woff2");
}

@font-face {
  font-family: "Kalam";
  font-style: normal;
  font-weight: 400;
  font-display: optional;
  src: url("/static/fonts/kalam-400.woff2") format("woff2");
}

@font-face {
  font-family: "Kalam";
  font-style: normal;
  font-weight: 700;
  font-display: optional;
  src: url("/static/fonts/kalam-700.woff2") format("woff2");
}

@font-face {
  font-family: "Inter Tight";
  font-style: normal;
  font-weight: 400 700;
  font-display: optional;
  src: url("/static/fonts/inter-tight-var.woff2") format("woff2");
}

@font-face {
  font-family: "JetBrains Mono";
  font-style: normal;
  /* 400–500 matches the weights we previously loaded from Google Fonts;
     bolder requests clamp to 500, same as before. */
  font-weight: 400 500;
  font-display: optional;
  src: url("/static/fonts/jetbrains-mono-var.woff2") format("woff2");
}
