/*
 * Bundled screenplay fonts — Direction A recipe system
 * All six families are physically present under fonts/ — no network calls,
 * no system-font fallback, no local() references. The app works fully offline.
 *
 * Sources and provenance: fonts/PROVENANCE.md
 *
 *   Courier Prime     TTF   SIL OFL 1.1  quoteunquoteapps/CourierPrime
 *   Liberation Mono   TTF   SIL OFL 1.1  liberationfonts/liberation-fonts v2.1.5
 *   IBM Plex Mono     WOFF2 Apache 2.0   IBM/plex (npm @ibm/plex-mono 2.5.0)
 *   Source Code Pro   TTF   SIL OFL 1.1  adobe-fonts/source-code-pro (release branch)
 *   JetBrains Mono    WOFF2 SIL OFL 1.1  JetBrains/JetBrainsMono
 *   Inconsolata       TTF   SIL OFL 1.1  googlefonts/Inconsolata
 *
 * Runtime calibration (calibrateRecipeFonts in js/v21.js) measures each font's
 * actual 1ch width after document.fonts.ready and sets --recipe-font-size so
 * its monospace advance equals the canonical Courier 10-CPI target (~9.6 px),
 * preserving Final Draft line-break positions and page count.
 */

/* ── Courier Prime ──────────────────────────────────────────────────────── */
@font-face {
  font-family: 'Courier Prime';
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url('/fonts/courier-prime/CourierPrime-Regular.ttf') format('truetype');
}
@font-face {
  font-family: 'Courier Prime';
  font-style: normal;
  font-weight: 700;
  font-display: block;
  src: url('/fonts/courier-prime/CourierPrime-Bold.ttf') format('truetype');
}

/* ── Liberation Mono ────────────────────────────────────────────────────── */
@font-face {
  font-family: 'Liberation Mono';
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url('/fonts/liberation-mono/LiberationMono-Regular.ttf') format('truetype');
}
@font-face {
  font-family: 'Liberation Mono';
  font-style: normal;
  font-weight: 700;
  font-display: block;
  src: url('/fonts/liberation-mono/LiberationMono-Bold.ttf') format('truetype');
}

/* ── IBM Plex Mono ──────────────────────────────────────────────────────── */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url('/fonts/ibm-plex-mono/IBMPlexMono-Regular.woff2') format('woff2');
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 700;
  font-display: block;
  src: url('/fonts/ibm-plex-mono/IBMPlexMono-Bold.woff2') format('woff2');
}

/* ── Source Code Pro ────────────────────────────────────────────────────── */
@font-face {
  font-family: 'Source Code Pro';
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url('/fonts/source-code-pro/SourceCodePro-Regular.ttf') format('truetype');
}
@font-face {
  font-family: 'Source Code Pro';
  font-style: normal;
  font-weight: 700;
  font-display: block;
  src: url('/fonts/source-code-pro/SourceCodePro-Bold.ttf') format('truetype');
}

/* ── JetBrains Mono ─────────────────────────────────────────────────────── */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url('/fonts/jetbrains-mono/JetBrainsMono-Regular.woff2') format('woff2');
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 700;
  font-display: block;
  src: url('/fonts/jetbrains-mono/JetBrainsMono-Bold.woff2') format('woff2');
}

/* ── Inconsolata ─────────────────────────────────────────────────────────── */
@font-face {
  font-family: 'Inconsolata';
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url('/fonts/inconsolata/Inconsolata-Regular.ttf') format('truetype');
}
@font-face {
  font-family: 'Inconsolata';
  font-style: normal;
  font-weight: 700;
  font-display: block;
  src: url('/fonts/inconsolata/Inconsolata-Bold.ttf') format('truetype');
}
