/* ============================================================
   TYPOGRAPHY — Bewerbungsmanager (Session 3)
   ------------------------------------------------------------
   EIN GESICHT ÜBERALL: Source Sans 3 (OFL, einbettbar) ist seit
   Session 3 die Schrift für Digital UND Print. Der System-Stack
   bleibt als Fallback (bis der Webfont lädt / offline).

   Warum Source Sans 3:
   - humanistisch, warm, ruhig — passt zu „Ruhe vor Reiz“
   - in UI-Größen UND im gedruckten Satz (pt) erprobt
   - einbettbar in PDFs (SIL Open Font License) — SF Pro ist es nicht
   - variable Gewichte 400–700, echte Kursive, Tabellenziffern

   SELF-HOSTED (Session 14): die Google-Fonts-Abhängigkeit ist
   aufgelöst. Die Variable Fonts (Upright + Italic, wght 400–700
   nutzbar von 200–900) liegen als woff2 in fonts/ (Quelle:
   adobe-fonts/source-sans, SIL OFL — fonts/LICENSE.md). Die App
   übernimmt fonts/ + diese @font-face-Regeln statt des <link>
   im Layout — offline-fähig, und dieselben Dateien werden von
   der Export-Pipeline ins PDF eingebettet.

   NAMEN: Größen heißen --type-<px> (Name = px-Wert, wie bei
   --space-*), gespeichert in rem (Basis 16). „--text-*“ ist als
   Präfix TABU — das sind die Farb-Tokens.
   ============================================================ */

@font-face {
  font-family: 'Source Sans 3';
  src: url('../fonts/SourceSans3VF-Upright.ttf.woff2') format('woff2-variations'),
       url('../fonts/SourceSans3VF-Upright.ttf.woff2') format('woff2');
  font-weight: 200 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Source Sans 3';
  src: url('../fonts/SourceSans3VF-Italic.ttf.woff2') format('woff2-variations'),
       url('../fonts/SourceSans3VF-Italic.ttf.woff2') format('woff2');
  font-weight: 200 900;
  font-style: italic;
  font-display: swap;
}

:root {
  /* ---- Familien ------------------------------------------- */
  --font-sans: 'Source Sans 3', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Helvetica Neue', Arial, sans-serif;
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;

  /* ---- Digitale Type-Scale (rem, Name = px) ----------------
     Rollen (Kombination Größe · Gewicht · Zeilenhöhe · Spationierung):
       Display     --type-28 · bold     · tight · tracking-tight
       Title       --type-24 · bold     · tight · tracking-tight
       Heading     --type-19 · bold     · snug  · tracking-snug
       Subheading  --type-16 · semibold · snug
       Body (Lesetext, mehrzeilig)  --type-15 · regular · body
       UI (Standard: Buttons, Zellen, Formulare) --type-14 · ui
       Meta        --type-13 · regular · ui · Farbe --text-2/3
       Caption / Eyebrow  --type-12 · medium/semibold · ui
                          (Eyebrow: uppercase + tracking-caps)     */
  --type-12: 0.75rem;
  --type-13: 0.8125rem;
  --type-14: 0.875rem;
  --type-15: 0.9375rem;
  --type-16: 1rem;
  --type-19: 1.1875rem;
  --type-24: 1.5rem;
  --type-28: 1.75rem;

  /* ---- Gewichte -------------------------------------------- */
  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --weight-bold: 700;

  /* ---- Zeilenhöhen (unitless) ------------------------------ */
  --leading-tight: 1.2;   /* Display, Title */
  --leading-snug: 1.35;   /* Headings, mehrzeilige Labels */
  --leading-ui: 1.45;     /* UI-Text, Meta, Captions */
  --leading-body: 1.55;   /* Lesetext */

  /* ---- Spationierung --------------------------------------- */
  --tracking-tight: -0.02em; /* Display, Title */
  --tracking-snug: -0.01em;  /* Headings */
  --tracking-normal: 0;
  --tracking-caps: 0.08em;   /* Eyebrows / Uppercase-Labels */

  /* ---- Print-Type-Scale (pt) --------------------------------
     Für Lebenslauf, Anschreiben, Mappe — nur in @media print /
     Print-Templates verwenden (Sessions 10/11). Registerhaltig:
     Zeilenraster 15 pt, Halbschritt 7.5 pt; jede Zeilenhöhe ist
     ein Vielfaches von 7.5 pt, Absatzabstand = halbe Zeile.
       Dokumenttitel  --print-h1 / 30 pt (2 Zeilen)
       Abschnitt      --print-h2 / 22.5 pt (1.5 Zeilen)
       Zwischentitel  --print-h3 / 15 pt · semibold
       Fließtext      --print-body / 15 pt
       Meta/Fußzeile  --print-meta / 15 pt (9 pt = Mindestgröße)  */
  --print-h1: 22pt; /* @kind font */
  --print-h2: 14pt; /* @kind font */
  --print-h3: 11.5pt; /* @kind font */
  --print-body: 10.5pt; /* @kind font */
  --print-meta: 9pt; /* @kind font */
  --print-grid: 15pt; /* @kind spacing */ /* Zeilenraster (Registerhaltigkeit) */
  --print-grid-half: 7.5pt; /* @kind spacing */

  /* ---- Satz-Feinheiten (Referenz, greift in Print-Templates) --
     hyphens: auto  (Dokument braucht lang="de")
     orphans: 2; widows: 2  — keine Schusterjungen/Hurenkinder
     font-variant-numeric: tabular-nums  für Datumsspalten
     text-align: left  — kein Blocksatz in schmalen Spalten
     Absatzabstand: var(--print-grid-half) statt Einzug            */
}
