/*
 * Schriften — selbst gehostet.
 *
 * ── Warum nicht mehr von Google ─────────────────────────────────────────────
 * index.html lud Plus Jakarta Sans und JetBrains Mono von fonts.googleapis.com
 * (Stylesheet) und fonts.gstatic.com (Dateien). Das war nach dem Umzug von
 * qrcodejs nach vendor/ die letzte Fremdquelle der Oberfläche, mit drei Folgen:
 *
 *   • Eine Installation im reinen LAN- oder Offline-Betrieb bekam die Schriften
 *     gar nicht — die Typografie fiel auf Systemschriften zurück, und zwar
 *     ausgerechnet dort, wo die Anwendung sonst vollständig ohne Internet läuft.
 *   • Jeder Seitenaufruf meldete IP-Adresse und User-Agent jedes Benutzers an
 *     einen Dritten. Für eine selbstgehostete Bestandsverwaltung ist das ein
 *     seltsamer Handel.
 *   • Die CSP musste zwei fremde Hosts offen halten (style-src und font-src).
 *     Beide stehen jetzt auf 'self'.
 *
 * ── Was hier liegt ──────────────────────────────────────────────────────────
 * Variable Schnitte (@fontsource-variable, SIL Open Font License — die
 * Lizenztexte liegen daneben). Eine Datei je Familie deckt den ganzen
 * Gewichtsbereich ab: statt fünf Einzelgewichten für Plus Jakarta Sans und zwei
 * für JetBrains Mono lädt der Browser zwei Dateien, zusammen rund 68 KB für
 * Latein. Die -ext-Dateien kommen nur, wenn ein Zeichen daraus vorkommt — die
 * unicode-range unten entscheidet das, nicht der Code.
 *
 * ── Wenn die Schriften aktualisiert werden sollen ───────────────────────────
 *   npm pack @fontsource-variable/plus-jakarta-sans @fontsource-variable/jetbrains-mono
 * entpacken, die vier woff2 aus package/files/ hierher kopieren und die
 * unicode-range aus package/index.css übernehmen. Nichts davon gehört in den
 * Build — public/vendor/ ist unverändert ausgelieferter Inhalt.
 *
 * Die Familiennamen sind bewusst OHNE „Variable“ geschrieben: styles.css
 * (--font, --mono) bleibt damit unverändert.
 */

/* ── Plus Jakarta Sans ─────────────────────────────────────────────────────── */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 200 800;
  src: url(./files/plus-jakarta-sans-latin-wght-normal.woff2) format('woff2-variations');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 200 800;
  src: url(./files/plus-jakarta-sans-latin-ext-wght-normal.woff2) format('woff2-variations');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* ── JetBrains Mono ────────────────────────────────────────────────────────── */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 100 800;
  src: url(./files/jetbrains-mono-latin-wght-normal.woff2) format('woff2-variations');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 100 800;
  src: url(./files/jetbrains-mono-latin-ext-wght-normal.woff2) format('woff2-variations');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
