/**
 * kol-typography-mono.css — Mono typography FONTS + TOKENS (JetBrains Mono).
 *
 * @font-face cuts + the --kol-font-family-mono token + the Tailwind font-mono
 * contract. The .kol-mono-N / .kol-helper-N CLASS rules moved to
 * kol-type-mono-classes.css (class-only, font-agnostic) so a consumer can adopt
 * the scale with its own mono font — fonts are per-app (brand = JetBrains Mono,
 * web = RightGroteskMono). The umbrella kol-theme.css imports both files.
 *
 * VARIABLE, since 2026-08-01. Two files carry every weight in the family.
 *
 * Architecture: docs/kol-migration/locked/typography-system.md
 */

/* =============================================================================
 * FONT-FACE — JetBrains Mono, VARIABLE (2 faces: roman + italic, wght 100–800)
 *
 * WHY (user ruling 2026-08-01). This was SEVEN static cuts and it still could
 * not answer a simple design question. The rail needed a Page weight lighter
 * than its Chapter; the folder's lightest cut was 300, and 300 against 500 is a
 * 0.28px difference in stroke at 14px — applied, correct in the cascade, and
 * invisible. Reaching a weight that reads meant shipping another static, and
 * the next question would have meant another one.
 *
 * The axis removes the question. `wght 100 800` means any weight is a NUMBER,
 * not a new file — and the payload went DOWN: two variable faces at ~148 kb
 * against 1024 kb of statics, with four weights the statics never had.
 * (This read ~230 kb until 2026-09-03; measured on disk, roman 72K + italic
 * 76K. 03-typography.md's 151 kb was the correct figure all along.)
 *
 * The tradeoff, stated: a variable file is one download, so the page fetches
 * the whole axis or none of it. At this size that is still less than the two
 * static cuts it replaces.
 * ============================================================================= */

@font-face {
  font-family: 'JetBrains Mono';
  src: url('/fonts/jetbrains-mono/JetBrainsMono-Variable.woff2') format('woff2-variations'),
       url('/fonts/jetbrains-mono/JetBrainsMono-Variable.woff2') format('woff2');
  font-weight: 100 800;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'JetBrains Mono';
  src: url('/fonts/jetbrains-mono/JetBrainsMono-Italic-Variable.woff2') format('woff2-variations'),
       url('/fonts/jetbrains-mono/JetBrainsMono-Italic-Variable.woff2') format('woff2');
  font-weight: 100 800;
  font-style: italic;
  font-display: swap;
}

/* =============================================================================
 * FAMILY TOKEN + TAILWIND CONTRACT
 *
 * .kol-mono-N / .kol-helper-N class rules live in kol-type-mono-classes.css.
 * ============================================================================= */

:root {
  --kol-font-family-mono: 'JetBrains Mono', monospace;
}

@theme {
  --font-mono: 'JetBrains Mono', monospace;
}
