/* Local hosted fonts to avoid external Google Fonts requests */
/* Inter variable font supports all weights 300-700 */
@font-face {
  font-family: 'Inter';
  src: url('/fonts/Inter.woff') format('woff');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Inter';
  src: url('/fonts/Inter-Italic.woff') format('woff');
  font-weight: 100 900;
  font-style: italic;
  font-display: swap;
}

/* JetBrains Mono variable font supports all weights */
@font-face {
  font-family: 'JetBrains Mono';
  src: url('/fonts/JetBrainsMono.woff') format('woff');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'JetBrains Mono';
  src: url('/fonts/JetBrainsMono-Italic.woff') format('woff');
  font-weight: 100 900;
  font-style: italic;
  font-display: swap;
}

/* Roboto variable font supports all weights */
@font-face {
  font-family: 'Roboto';
  src: url('/fonts/Roboto.woff') format('woff');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Roboto';
  src: url('/fonts/Roboto-Italic.woff') format('woff');
  font-weight: 100 900;
  font-style: italic;
  font-display: swap;
}

/* set CSS variables or defaults if the project uses them */
:root {
  --font-sans: system-ui, 'Segoe UI', Roboto, 'Inter', sans-serif;
}

/* Use a fallback list inside `var()` so tools that don't resolve CSS variables
   have a static fallback to validate against. The linter message "Due to
   their dynamic nature, CSS variables are currently not statically checked"
   is informational; providing fallbacks reduces false-positives. */
body { font-family: var(--font-sans, system-ui, 'Segoe UI', Roboto, 'Inter', sans-serif); }
