/* OrgaIntakt — Typografie. EINE Quelle für alle Oberflächen.
 *
 * Warum es diese Datei gibt: Bis zum 05.08.2026 luden drei Seiten die Schrift Inter von
 * fonts.googleapis.com. Die CSP (`style-src 'self'`) blockte sie, `document.fonts.size`
 * war 0 — gerendert wurde immer der System-Fallback. Die Zeilen wurden entfernt, weil sie
 * eine Falle waren (wer die CSP lockert, öffnet unbemerkt einen Abfluss von Nutzer-IPs an
 * Google). Ersetzt wurden sie damals nicht — seither trugen alle drei Oberflächen die
 * Systemschrift des jeweiligen Geräts. Das ist der Grund, warum dieselbe Seite auf einem
 * Mac ordentlich und auf einem Windows-Rechner selbstgebastelt aussah.
 *
 * Jetzt liegt Inter LOKAL unter /assets/fonts/. Kein Fremdzugriff, keine CSP-Lockerung
 * (`font-src 'self'` deckt es), offline verfügbar. Lizenz: SIL Open Font License 1.1,
 * Volltext in assets/fonts/OFL.txt — das Bündeln ist ausdrücklich erlaubt.
 *
 * ZWEI Dateien, nicht eine: `latin` allein (48 KB) kennt kein türkisches ı ş ğ und kein
 * polnisches ł ą ę. Ein Betrieb mit türkischen Mitarbeitern sähe in der Unterweisung
 * Ersatzzeichen — ausgerechnet dort, wo die Sprachkette ihren ganzen Sinn hat. `latin-ext`
 * (85 KB) trägt sie. Über `unicode-range` lädt der Browser die zweite Datei nur, wenn ein
 * Zeichen daraus wirklich vorkommt: ein deutscher Betrieb zahlt die 85 KB nie.
 *
 * Variable Schrift (400..900 in EINER Datei): ein einziger Ladevorgang für alle Schnitte,
 * statt vier. Deshalb ist Fettdruck hier billig — und darf gestalterisch benutzt werden.
 */

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;          /* Text ist sofort lesbar; die Schrift tauscht nach */
  src: url('/assets/fonts/inter-latin.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: 'Inter';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url('/assets/fonts/inter-latin-ext.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;
}

:root {
  /* Eine Variable, damit eine Oberfläche die Schrift NICHT an zwanzig Stellen setzt.
     Der System-Fallback bleibt dahinter: Fällt die Datei aus, sieht es aus wie vorher —
     nie wie ein Fehler. */
  --ff: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial,
        sans-serif;
}

html {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  font-optical-sizing: auto;
}

body { font-family: var(--ff); }

/* Enge Laufweite ist der halbe Unterschied zwischen „Schrift" und „Gestaltung" — aber sie
   gilt NUR für große Grade. Auf Fließtext angewandt macht sie ihn schwerer lesbar, und in
   dieser App liest jemand mit Handschuhen im Kühlhaus. Deshalb gestaffelt statt pauschal. */
h1, h2, h3, .hero-h, .big { letter-spacing: -.022em; }
h1, .hero-h { letter-spacing: -.032em; }

/* Zahlen in Tabellen, Preisen und Codes stehen untereinander gleich breit. Ohne das
   „zappeln" Beträge und Uhrzeiten spaltenweise. */
table, td, th, .chip, .code, .amt, .bdg, .cks, .n, .price { font-variant-numeric: tabular-nums; }
