/* Lindra (Arbeitstitel) – Design-Marken. Einzige Quelle für Farben, Schrift, Abstände.
   Kontrastpaare werden in tests/design/contrast.test.mjs aus dieser Datei nachgerechnet. */

@font-face { font-family: 'Atkinson Hyperlegible Next'; src: url('fonts/AtkinsonHyperlegibleNext-Regular.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Atkinson Hyperlegible Next'; src: url('fonts/AtkinsonHyperlegibleNext-Italic.woff2') format('woff2'); font-weight: 400; font-style: italic; font-display: swap; }
@font-face { font-family: 'Atkinson Hyperlegible Next'; src: url('fonts/AtkinsonHyperlegibleNext-SemiBold.woff2') format('woff2'); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: 'Atkinson Hyperlegible Next'; src: url('fonts/AtkinsonHyperlegibleNext-Bold.woff2') format('woff2'); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: 'Source Serif 4 Display'; src: url('fonts/SourceSerif4Display-Regular.ttf') format('truetype'); font-weight: 400; font-display: swap; }
@font-face { font-family: 'Source Serif 4 Display'; src: url('fonts/SourceSerif4Display-Semibold.ttf') format('truetype'); font-weight: 600; font-display: swap; }

:root {
  /* Papier und Tinte */
  --paper: #f7f3ec;        /* Seitenhintergrund */
  --paper-sunk: #eee7db;   /* eingelassene Flächen, Rasterhintergrund */
  --sheet: #fffdf9;        /* Blatt: Formulare, Bericht */
  --ink: #1e2422;          /* Fließtext */
  --ink-soft: #4a524e;     /* Nebentext, Beschriftungen */
  --rule: #d6cdbf;         /* dekorative Linien, nie einzige Abgrenzung eines Bedienelements */
  --edge: #7d7468;         /* Ränder von Eingabefeldern und Schaltern (≥ 3:1) */

  /* Moos: Hauptaktion, Links, Auswahl */
  --moss: #2f5d50;
  --moss-deep: #234a40;
  --moss-tint: #e2ebe5;
  --on-moss: #ffffff;

  /* Ton: Hervorhebung, Blutung im Raster */
  --clay: #9a4529;
  --clay-tint: #f4e2d8;

  /* Pflaume: Tintenpunkte der Beschwerdestärke (Größe trägt die Information, Farbe nur Ton) */
  --dot: #5b2c4b;

  /* Zustände */
  --danger: #a1261b;
  --danger-tint: #f8e1dd;
  --notice-tint: #f3ead2;  /* Prototyp-Hinweise */
  --focus: #1b4fc4;        /* Fokusrahmen, auf allen Flächen ≥ 3:1 */

  /* Schrift */
  --font-text: 'Atkinson Hyperlegible Next', 'Atkinson Hyperlegible', system-ui, sans-serif;
  --font-display: 'Source Serif 4 Display', 'Source Serif 4', Georgia, serif;
  --fs-small: 1rem;        /* 16 px – kleinste Schrift im Produkt */
  --fs-body: 1.125rem;     /* 18 px */
  --fs-lead: 1.25rem;
  --fs-h3: 1.25rem;
  --fs-h2: 1.625rem;
  --fs-h1: clamp(2rem, 1.55rem + 2vw, 2.875rem);
  --lh-body: 1.55;
  --lh-tight: 1.15;
  --measure: 38rem;        /* ca. 65 Zeichen */

  /* Raum */
  --s1: 0.25rem; --s2: 0.5rem; --s3: 0.75rem; --s4: 1rem; --s5: 1.5rem; --s6: 2rem; --s7: 3rem; --s8: 4.5rem;
  --radius: 0.375rem;      /* bewusst klein: Blatt, nicht Kachel */
  --target: 2.75rem;       /* 44 px Mindestgröße jeder Bedienfläche */
  --shadow-sheet: 0 1px 0 rgba(30, 36, 34, 0.06), 0 6px 18px -10px rgba(30, 36, 34, 0.25);
  --t-fast: 140ms;
}

@media (prefers-reduced-motion: reduce) {
  :root { --t-fast: 0ms; }
}
html[data-motion='reduced'] { --t-fast: 0ms; }

/* Textgröße in der App (zusätzlich zum Browser-Zoom) */
html[data-text='gross'] { font-size: 125%; }
html[data-text='sehr-gross'] { font-size: 150%; }
