/* Die Schriften der Marke, im Projekt statt bei Google.
 *
 * WARUM SELBST AUSLIEFERN. Zwei Gruende, beide handfest.
 *
 * Erstens sagt die Startseite „kein Tracking, kein Cookie-Banner". Eine
 * Schrift von einem fremden Server holt bei JEDEM Aufruf die IP-Adresse
 * des Besuchers dorthin. Das waere ein Widerspruch im eigenen Text, und
 * ein deutsches Gericht hat genau dafuer schon Schadenersatz zugesprochen.
 *
 * Zweitens wird dieses Werkzeug am Spielfeldrand benutzt, wo das Netz
 * schlecht ist. Eine Schrift, die von woanders kommt, kommt dort
 * manchmal gar nicht.
 *
 * Nur die Schnitte latin und latin-ext. Vietnamesisch war mit dabei und
 * ist raus: 90 KB, die auf einer deutschen Vereinsseite niemand liest.
 *
 * Barlow und Barlow Condensed von Jeremy Tribby, SIL Open Font License
 * 1.1. Erzeugt aus der Google-Fonts-Ausgabe, siehe scripts/schrift_holen.sh.
 */

@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../schrift/7cHpv4kjgoGqM7E_Ass52Hs.30fe91f5bb42.woff2") format('woff2');
  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;
}

@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../schrift/7cHpv4kjgoGqM7E_DMs5.81419bf5abb5.woff2") format('woff2');
  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: 'Barlow';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../schrift/7cHqv4kjgoGqM7E3_-gs6VospT4.eaf61d05880b.woff2") format('woff2');
  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;
}

@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../schrift/7cHqv4kjgoGqM7E3_-gs51os.8e986e86d57e.woff2") format('woff2');
  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: 'Barlow';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../schrift/7cHqv4kjgoGqM7E30-8s6VospT4.7befe7b24353.woff2") format('woff2');
  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;
}

@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../schrift/7cHqv4kjgoGqM7E30-8s51os.a1e2a2d7d4c0.woff2") format('woff2');
  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: 'Barlow Condensed';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../schrift/HTxwL3I-JCGChYJ8VI-L6OO_au7B4873z3jWuZEC.ee77e8f678d5.woff2") format('woff2');
  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;
}

@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../schrift/HTxwL3I-JCGChYJ8VI-L6OO_au7B4873z3bWuQ.ba4513495282.woff2") format('woff2');
  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: 'Barlow Condensed';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../schrift/HTxwL3I-JCGChYJ8VI-L6OO_au7B46r2z3jWuZEC.a4fc62d81f8b.woff2") format('woff2');
  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;
}

@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../schrift/HTxwL3I-JCGChYJ8VI-L6OO_au7B46r2z3bWuQ.e1180918b873.woff2") format('woff2');
  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;
}

/* ------------------------------------------------------------------
   ERSATZSCHRIFTEN MIT BARLOWS MASSEN (Pruefbericht 10.10.2026, Bef. 5)
   ------------------------------------------------------------------

   DAS PROBLEM. Alle zehn Schnitte oben stehen auf `font-display: swap`,
   und das ist richtig: Der Text ist sofort lesbar, auch wenn die
   Schrift noch unterwegs ist. Nur wird er dabei in der Systemschrift
   gesetzt, und die hat andere Masse als Barlow. Wenn Barlow ankommt,
   springt die ganze Seite.

   Gemessen am 10.10.2026: Auf 23 von 84 Messzeilen lag CLS ueber 0,10,
   Lighthouse nennt als Ursache fast jedes Mal woertlich „Web font
   loaded". Spitzenwert 0,561 auf dem Telefon.

   DIE LOESUNG IST KEINE NEUE SCHRIFT, sondern eine Massangabe. Eine
   Ersatzfamilie, die es nicht gibt: Sie borgt sich die Umrisse von
   Arial (oder was das Geraet sonst hat) und bekommt davor Barlows
   Masse aufgezwungen. Der Text sieht dann in der Wartezeit ein wenig
   anders aus -- aber er steht an derselben Stelle, bricht an denselben
   Woertern um und ist genauso hoch. Beim Tausch bewegt sich nichts.

   WOHER DIE ZAHLEN KOMMEN, und sie sind gemessen, nicht geschaetzt:

   * `ascent-override` und `descent-override` stehen in Barlow selbst.
     Alle zehn Dateien melden `unitsPerEm` 1000, `hhea.ascent` 1000,
     `hhea.descent` -200, `lineGap` 0 -- also 100 Prozent und 20
     Prozent. Daran haengt die Zeilenhoehe, und die Zeilenhoehe ist der
     groessere Teil des Rucks.
   * `size-adjust` ist AM BROWSER NACHGEMESSEN und nicht nur gerechnet.
     Der erste Anlauf nahm das Verhaeltnis der mittleren
     Kleinbuchstabenbreite aus den Schrifttabellen; im Browser blieben
     damit bis zu 5,9 Prozent Abweichung uebrig, weil echter Text auch
     Grossbuchstaben, Ziffern, Umlaute und Satzzeichen hat. Die Zahlen
     hier stammen aus einer Messung mit einem deutschen Satz aus der
     Startseite. Danach: hoechstens 0,14 Prozent Abweichung in der
     Breite, 0,00 in der Hoehe.
     Gemessen gegen Liberation Sans, weil Arial auf dieser Maschine
     nicht liegt -- `local('Arial')` loest hier genau darauf auf, und
     die beiden sind masskompatibel, dafuer wurde Liberation gebaut.
     Daran haengt der Zeilenumbruch.
   * Die Prozente der Ueberschreibungen sind durch `size-adjust`
     geteilt. Das ist kein Schoenheitsfehler der Rechnung, sondern die
     Reihenfolge: `size-adjust` skaliert zuerst, die Ueberschreibungen
     gelten gegen die Schriftgroesse davor. Die Gegenprobe im Browser
     bestaetigt es: Blockhoehe Barlow und Ersatz auf das Zehntel
     gleich, waehrend die nackte Systemschrift bei Barlow Condensed um
     ein Drittel danebenlag.

   JE SCHNITT EIN EIGENER BLOCK, weil Arial nur 400 und 700 kennt. Ein
   Barlow in 600 landet auf Arial Bold und ist damit SCHMALER als sein
   Ersatz; ein Barlow in 500 landet auf Arial Regular und ist breiter.
   Eine einzige Zahl fuer alle Schnitte haette den Umbruch an genau den
   Stellen verschoben, an denen es auffaellt: in den Ueberschriften.

   `local()` UND SONST NICHTS: Diese Familien laden nie etwas aus dem
   Netz. Findet das Geraet keinen der genannten Namen, faellt der
   Stapel in `app.css` einfach eine Stufe weiter -- dann ist es wie
   vorher, aber nie schlechter.
   ------------------------------------------------------------------ */

@font-face {
  font-family: 'Barlow Ersatz';
  font-style: normal;
  font-weight: 400;
  src: local('Arial'), local('Helvetica Neue'), local('Helvetica'),
       local('Roboto'), local('Segoe UI'), local('Liberation Sans');
  size-adjust: 96.0%;
  ascent-override: 104.2%;
  descent-override: 20.8%;
  line-gap-override: 0%;
}

@font-face {
  font-family: 'Barlow Ersatz';
  font-style: normal;
  font-weight: 500;
  src: local('Arial'), local('Helvetica Neue'), local('Helvetica'),
       local('Roboto'), local('Segoe UI'), local('Liberation Sans');
  size-adjust: 96.9%;
  ascent-override: 103.2%;
  descent-override: 20.6%;
  line-gap-override: 0%;
}

@font-face {
  font-family: 'Barlow Ersatz';
  font-style: normal;
  font-weight: 600;
  src: local('Arial'), local('Helvetica Neue'), local('Helvetica'),
       local('Roboto'), local('Segoe UI'), local('Liberation Sans');
  size-adjust: 97.7%;
  ascent-override: 102.4%;
  descent-override: 20.5%;
  line-gap-override: 0%;
}

@font-face {
  font-family: 'Barlow Condensed Ersatz';
  font-style: normal;
  font-weight: 600;
  src: local('Arial'), local('Helvetica Neue'), local('Helvetica'),
       local('Roboto'), local('Segoe UI'), local('Liberation Sans');
  size-adjust: 79.1%;
  ascent-override: 126.4%;
  descent-override: 25.3%;
  line-gap-override: 0%;
}

@font-face {
  font-family: 'Barlow Condensed Ersatz';
  font-style: normal;
  font-weight: 700;
  src: local('Arial'), local('Helvetica Neue'), local('Helvetica'),
       local('Roboto'), local('Segoe UI'), local('Liberation Sans');
  size-adjust: 81.0%;
  ascent-override: 123.5%;
  descent-override: 24.7%;
  line-gap-override: 0%;
}
