  /* ════════════════════════════════════════════════════════════
   fonts.css  ·  self-hosted IBM Plex  (woff2 in /code/2027/fonts/)
   Family names match the --font-* tokens. Only the weights/styles the
   system actually uses are declared (Sans 400/600/700 + italic, Serif
   400/600 + italic, Mono 400). font-display: swap to avoid FOIT.
   ════════════════════════════════════════════════════════════ */

@font-face { font-family: 'IBM Plex Sans'; font-style: normal; font-weight: 400; font-display: swap; src: url('/code/2027/fonts/ibm-plex-sans-400.woff2') format('woff2'); }
@font-face { font-family: 'IBM Plex Sans'; font-style: italic; font-weight: 400; font-display: swap; src: url('/code/2027/fonts/ibm-plex-sans-400-italic.woff2') format('woff2'); }
@font-face { font-family: 'IBM Plex Sans'; font-style: normal; font-weight: 600; font-display: swap; src: url('/code/2027/fonts/ibm-plex-sans-600.woff2') format('woff2'); }
@font-face { font-family: 'IBM Plex Sans'; font-style: normal; font-weight: 700; font-display: swap; src: url('/code/2027/fonts/ibm-plex-sans-700.woff2') format('woff2'); }

@font-face { font-family: 'IBM Plex Serif'; font-style: normal; font-weight: 400; font-display: swap; src: url('/code/2027/fonts/ibm-plex-serif-400.woff2') format('woff2'); }
@font-face { font-family: 'IBM Plex Serif'; font-style: italic; font-weight: 400; font-display: swap; src: url('/code/2027/fonts/ibm-plex-serif-400-italic.woff2') format('woff2'); }
@font-face { font-family: 'IBM Plex Serif'; font-style: normal; font-weight: 600; font-display: swap; src: url('/code/2027/fonts/ibm-plex-serif-600.woff2') format('woff2'); }

@font-face { font-family: 'IBM Plex Mono'; font-style: normal; font-weight: 400; font-display: swap; src: url('/code/2027/fonts/ibm-plex-mono-400.woff2') format('woff2'); }
