/* tokens.css — alle Design-Werte an einer Stelle
 * Neutrale Fassung · v0.6 · Stand 2026-09-08 — gefüllt für Fairdy am 13.10.2026
 *
 * Quelle: Fairdy Corporate Design Manual, Version 1.0 vom 09.10.2026 (Weg A, design.md Teil B).
 * Diese Datei enthält NUR Werte. Alle weiteren Styles kommen in eine eigene Datei daneben.
 * Steht ein Farbwert irgendwo sonst im Projekt, ist das der Fehler.
 *
 * Keine Web-Schrift: Fairdy nutzt laut CD-Manual (Kap. 04) den System-Schriftstapel,
 * weil für die Hausschrift Forma DJR keine Weblizenz vorliegt. Das passt zur Netzgrenze
 * (umgebung.md): zur Laufzeit wird nichts aus dem Netz geladen.
 *
 * Kontraste nach WCAG gerechnet, Werte in design.md Teil B (Übernahme-Tabelle).
 */

:root {
  color-scheme: light;

  /* Aktion — Jungtrieb. Nur als Fläche, Schrift darauf immer Schiefer (CD Kap. 03).
     Jungtrieb ist auf hellem Grund NIE Textfarbe (1,78:1). */
  --action: #B4BA61;          /* Jungtrieb (CD) */
  --action-hover: #C6CB82;    /* abgeleitet: hellerer Jungtrieb, Schiefer darauf 6,17:1 */
  --on-action: #3D3F42;       /* Schiefer auf Jungtrieb 5,10:1 (CD) */
  --action-edge: #767B3B;     /* abgeleitet: Button-Kante, 3,87:1 auf Löss, 3,50:1 auf Fläche (WCAG 1.4.11) */

  /* Hintergrund-Treppe: Seite → Karte → Feld → Hover-Flächen */
  --bg-0: #F1EDEB;   /* Löss — Seite (CD) */
  --bg-1: #E7E2DF;   /* Fläche — Karten und Blöcke, ohne Rahmen (CD) */
  --bg-2: #FFFFFF;   /* Vorschlag: Eingabefelder */
  --bg-3: #ECE8E5;   /* abgeleitet: Hover auf Löss */
  --bg-4: #DDD7D3;   /* abgeleitet: Hover auf Fläche */

  /* Zäsur — dunkle Abschnitte: Schiefer-Grund, Text in Löss (CD Kap. 05) */
  --bg-inverse: #3D3F42;          /* Schiefer (CD) */
  --text-inverse: #F1EDEB;        /* Löss auf Schiefer 9,08:1 (CD) */
  --text-inverse-soft: #C9C4C1;   /* abgeleitet: 6,11:1 auf Schiefer */

  /* Text-Treppe: kräftig → leise. Information nie in --text-500. */
  --text-100: #3D3F42;   /* Schiefer — Text und Überschriften (CD), 9,08:1 auf Löss */
  --text-200: #4C4E52;   /* abgeleitet, 7,17:1 auf Löss, 6,49:1 auf Fläche */
  --text-300: #5A5D62;   /* abgeleitet, 5,68:1 auf Löss, 5,14:1 auf Fläche — Nebentext überall */
  --text-400: #63666B;   /* "Text leise" (CD), 4,96:1 auf Löss — NUR auf Löss oder Weiß, nicht auf Fläche (4,49:1) */
  --text-500: #8A8C90;   /* abgeleitet, 2,90:1 — nur Platzhalter und Dekoratives, nie Information */

  /* Hinweis — nur für Platzhalter und offene Punkte (CD), 5,49:1 auf Löss */
  --hint: #5F631F;

  /* Rahmen */
  --border-soft: #D8D2CE;     /* Linie — dünn, nie als Fläche (CD) */
  --border-strong: #76797E;   /* abgeleitet: Feldrahmen, 3,76:1 auf Löss, 4,37:1 auf Weiß */
  --border-focus: #3D3F42;    /* Schiefer — Jungtrieb wäre als Fokusrahmen zu schwach (1,78:1) */

  /* Status — funktional, keine Markenfarben; nie ohne Symbol oder Text daneben.
     Herkunfts-Status ("belegt" / "nicht belegt") nutzt diese Farben NICHT:
     belegt = Punkt in Jungtrieb + Text, nicht belegt = Text in --text-300. Nie Rot (CD Kap. 06). */
  --ok:    #1E7A45;   /* 4,60:1 auf Löss */
  --warn:  #8A5A12;   /* 5,08:1 auf Löss */
  --error: #B42318;   /* 5,65:1 auf Löss — nur für Formularfehler */

  /* Schrift — System-Schriftstapel laut CD-Manual Kap. 04 */
  --font: -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --font-brand: var(--font);
  --mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;   /* Status, Kilometer, Datum */

  /* Skalen — nur diese Werte, keine Zwischenwerte.
     xl/2xl/3xl nach CD-Maßstab (Zwischentitel 26, Abschnitt 37, Seitentitel 58 px). */
  --fs-xs: 12px;  --fs-sm: 14px;  --fs-md: 16px;
  --fs-lg: 20px;  --fs-xl: 26px;  --fs-2xl: 37px;  --fs-3xl: 58px;

  --lh-body: 1.6;    /* CD */
  --lh-head: 1.15;

  --space-xs: 4px;  --space-sm: 8px;   --space-md: 16px;
  --space-lg: 24px; --space-xl: 40px;  --space-2xl: 64px;

  --r-sm: 4px;  --r-md: 6px;  --r-lg: 10px;  --r-pill: 999px;   /* Vorschlag: CD nennt keine Radien */

  --shadow: none;   /* Vorschlag: CD arbeitet mit Flächen, nicht mit Schatten */
  --t-fast: .15s;  --t: .25s;  --ease: cubic-bezier(.4, 0, .2, 1);

  --container: 1100px;   /* Maximalbreite der Seite */
  --reading:   68ch;     /* CD: Textbreite höchstens 68 Zeichen */
}

/* Reduzierte Bewegung respektieren — gilt in jeder Anwendung. */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}
