/* ===========================================================================
 * tokens.css — Der Token-Layer (editorial-light)
 *
 * Teil von: FibenDale · Autor: VSC /ui Agent · Erstellt: 2026-08-07
 * Bezug:   docs/ui/TONAL_DECISION.md (editorial-light, #003365 / #b0341d / Cream)
 *          docs/ui/VISUAL_MANIFEST.md (12 Manifestationen, Signature, All-States)
 *
 * REGEL: Die einzige Quelle für Farb-, Schrift-, Abstands- und Radien-Werte.
 * Kein Hex-Literal ausserhalb dieser Datei (Q19, check-ui-token-purity.sh).
 * Ein Kunden-CI ist ein Token-Tausch (brand/tokens.css), kein Redesign
 * (Re-Skinnability-Test vor /gate2).
 * ===========================================================================*/

:root {
  /* --- Flächen / Tinte (Cream statt reinem Weiss; Tinte statt #000) --------- */
  --papier:        #faf7ed;   /* App-Grundfläche (Cream) */
  --papier-warm:   #f4f1e6;   /* Zettel-Grundton */
  --panel:         #fffdf8;   /* erhobene Fläche (Karte/Panel) */
  --panel-alt:     #f6f2e8;   /* Hover-Fläche (surface → surface-alt) */
  --tinte:         #1b1a18;   /* Body-Text — auf Cream ~15:1 (WCAG AA Body ✓) */
  --leise:         #5f5b53;   /* gedämpfter Text — auf Cream ~6.6:1 (AA Body ✓) */
  --sehr-leise:    #8a857d;   /* NUR dekorativ / Large-Text (nie Body-Fliesstext) */
  --linie:         #ddd8d0;   /* border-subtle */
  --linie-stark:   #c7c1b6;   /* border-strong (3:1 UI-Komponente) */

  /* --- Marken-Anker (belegt: ux-guidelines.md) ----------------------------- */
  --akzent:        #003365;   /* Coverdale-Dunkelblau — auf Cream ~11:1 (AA ✓) */
  --akzent-tief:   #002a54;   /* eine Stufe dunkler — Hover auf primärem Knopf */
  --akzent-hell:   #e7edf3;   /* Blau-Tönung: aktiver Schritt / gewählter Zustand */
  --signal:        #b0341d;   /* Eisenoxid-Rot — aktiver Stufenbalken, Fehler, Vorbehalt */
  --signal-hell:   #fbeee9;
  --gut:           #3f7a52;   /* erledigt / erfüllt (Grün, AA gegen Cream) */
  --warn:          #a8501f;   /* leere Informationsart / gestrichelte Warn-Bahn */

  /* --- Sechs Informationsarten (papier-gedämpft, Sättigung < 15 %) --------- */
  --k-fakt:        #f2f0ec;
  --k-idee:        #fdf3cf;
  --k-ressource:   #e4f0dd;
  --k-risiko:      #fbe0dd;
  --k-chance:      #dfebf7;
  --k-alternative: #efe4f2;
  --k-blitz-linie: #c4643b;   /* gestrichelte Kontur der Blitz-/Vorbehalts-Karte */

  /* --- Konsent-Zustände (ruhige Token-Farben, KEINE Ampel-Pillen) ---------- */
  --konsent-mit:      var(--akzent);
  --konsent-vorbehalt: var(--signal);
  --konsent-offen:    var(--leise);   /* war --sehr-leise (3.6:1) — Konsent-„offen"-Zahl ist kleiner Body-Text, braucht ≥4.5:1 (WCAG 1.4.3) */

  /* --- Schrift (variable, self-hosted; Q14) -------------------------------- */
  --font-display: "Newsreader", Georgia, "Times New Roman", serif;
  --font-body:    "Source Serif 4", Georgia, "Times New Roman", serif;
  --font-mono:    "JetBrains Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;

  /* Type-Scale (modular ~1.2; Body 16px Minimum) */
  --fs-mono-id:  9.5px;   /* Karten-ID */
  --fs-klein:   11.5px;   /* Quelle/Beleg, Telemetrie-Beschriftung */
  --fs-13:      13px;
  --fs-14:      14px;
  --fs-body:    16px;     /* Body-Minimum */
  --fs-leit:    18px;     /* Leitfrage im Wortlaut */
  --fs-h2:      21px;
  --fs-h1:      27px;

  --lh-body: 1.5;
  --lh-head: 1.25;

  --track-label: 0.08em; /* letter-spacing Block-/Sektions-Label */
  --track-tight: -0.01em;

  /* --- Abstände (4-px-Basis: 4·8·12·16·24·32·48·64·96) --------------------- */
  --sp-1: 4px;   --sp-2: 8px;   --sp-3: 12px;  --sp-4: 16px;
  --sp-6: 24px;  --sp-8: 32px;  --sp-12: 48px; --sp-16: 64px; --sp-24: 96px;

  /* --- Radien (eine Skala; Zettel fast eckig) ------------------------------ */
  --r-zettel: 2px;   /* Papier-Karte — bewusst nicht rounded-xl */
  --r-panel:  5px;
  --r-marke:  10px;  /* NUR Stand-Marken (erfüllt/teilweise/offen) */

  /* --- Elevation (definierte Layer, kein Schatten-Salat) ------------------- */
  --schatten-1: 0 1px 1px rgba(27, 26, 24, .05);
  --schatten-2: 0 1px 3px rgba(27, 26, 24, .07);

  /* --- Motion (Werte sind Pflicht; nie linear) ----------------------------- */
  --t-mikro:    150ms;
  --t-standard: 250ms;
  --t-layout:   400ms;
  --ease: cubic-bezier(0.2, 0, 0, 1);

  /* --- Atmosphäre-Layer (nie solid; 1.5.3) --------------------------------- */
  --faser: rgba(27, 26, 24, .014);
  --vignette: rgba(0, 51, 101, .035);
}
