/**
 * Self-hosted JetBrains Mono (https://github.com/JetBrains/JetBrainsMono,
 * SIL Open Font License 1.1) in exactly the weights index.css uses:
 * 500 (normal), 600 (medium) and 800 (bold), each with an italic.
 *
 * The layout is denominated in ch units of the active font (80ch body,
 * paddings, table widths), so a swap from the platform monospace fallback
 * to JetBrains Mono would nudge the whole page: Menlo advances 1233/2048em
 * = 0.602051em per character vs JetBrains Mono's 600/1000em = 0.6em —
 * about 2.6px across an 80ch body, visible on every reload because the
 * CDN serves browser max-age=0 (fonts revalidate each visit). The
 * metric-matched fallback faces below pin the fallbacks to JetBrains
 * Mono's exact advance width and vertical metrics (target metric divided
 * by size-adjust), so the swap changes glyph shapes only and moves
 * nothing. JetBrains Mono metrics: upm 1000, ascent 1020, descent -300,
 * line-gap 0, advance 600.
 **/

/* Menlo (macOS): upm 2048, advance 1233. DejaVu Sans Mono (Linux) shares
   Menlo's Bitstream Vera metrics, so one face covers both.
   size-adjust = 0.600000 / 0.602051. */
@font-face {
  font-family: "JetBrains Mono Fallback";
  src:
    local("Menlo"),
    local("Menlo-Regular"),
    local("DejaVu Sans Mono"),
    local("DejaVuSansMono");
  font-weight: 100 900;
  size-adjust: 99.6594%;
  ascent-override: 102.3486%;
  descent-override: 30.1025%;
  line-gap-override: 0%;
}

/* Consolas (Windows): upm 2048, advance 1226.
   size-adjust = 0.600000 / 0.598633. */
@font-face {
  font-family: "JetBrains Mono Fallback Consolas";
  src: local("Consolas");
  font-weight: 100 900;
  size-adjust: 100.2284%;
  ascent-override: 101.7675%;
  descent-override: 29.9316%;
  line-gap-override: 0%;
}

@font-face {
  font-family: "JetBrains Mono";
  src: url("/fonts/JetBrainsMono-Medium.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "JetBrains Mono";
  src: url("/fonts/JetBrainsMono-MediumItalic.woff2") format("woff2");
  font-weight: 500;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "JetBrains Mono";
  src: url("/fonts/JetBrainsMono-SemiBold.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "JetBrains Mono";
  src: url("/fonts/JetBrainsMono-SemiBoldItalic.woff2") format("woff2");
  font-weight: 600;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "JetBrains Mono";
  src: url("/fonts/JetBrainsMono-ExtraBold.woff2") format("woff2");
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "JetBrains Mono";
  src: url("/fonts/JetBrainsMono-ExtraBoldItalic.woff2") format("woff2");
  font-weight: 800;
  font-style: italic;
  font-display: swap;
}
