/* Staffel · Design-Tokens. Quelle der Wahrheit für Farbe, Schrift und Abstand.
   Kontrastpaare werden in tests/test_design_tokens.py gegen WCAG 2.2 geprüft. */
@font-face {
  font-family: "Atkinson Hyperlegible Next";
  src: url("/static/fonts/AtkinsonHyperlegibleNext-wght.woff2") format("woff2");
  font-weight: 200 800;
  font-display: swap;
}
@font-face {
  font-family: "Source Serif 4 Subhead";
  src: url("/static/fonts/SourceSerif4Subhead-Semibold.ttf") format("truetype");
  font-weight: 600;
  font-display: swap;
}

:root {
  /* Fläche */
  --paper: #FBF7EF;
  --karton: #F2EADB;
  --white: #FFFFFF;
  /* Text */
  --ink: #25211B;
  --ink-2: #5B5246;
  /* Linien */
  --line: #D8CDBB;
  --rahmen: #857967;
  /* Aktion und Zustand */
  --salbei: #3D5A43;
  --salbei-dunkel: #2C4331;
  --salbei-hell: #E3EBDF;
  --ziegel: #9E3622;
  --ziegel-hell: #F7E1DA;
  --ocker: #7A4E00;
  --ocker-hell: #FBEBC8;
  --fokus: #1F4E8C;

  /* Personenfarben (Staffelband), immer mit Initialen und Namen */
  --p0: #3D5A43;
  --p1: #2D5B88;
  --p2: #86467A;
  --p3: #6B5524;
  --p4: #3F6E73;
  --p5: #8A4A2C;

  /* Schrift */
  --font-text: "Atkinson Hyperlegible Next", "Atkinson Hyperlegible", system-ui, sans-serif;
  --font-titel: "Source Serif 4 Subhead", "Source Serif 4", Georgia, serif;
  --fs-klein: 0.9375rem;  /* 15 px, nur Quellenzeilen */
  --fs-text: 1.125rem;    /* 18 px */
  --fs-gross: 1.3125rem;  /* 21 px */
  --fs-h3: 1.625rem;      /* 26 px */
  --fs-h2: 2.125rem;      /* 34 px */
  --fs-h1: 2.75rem;       /* 44 px */
  --lh-text: 1.55;
  --lh-titel: 1.15;

  /* Raum, 8-px-Raster */
  --s1: 0.25rem;
  --s2: 0.5rem;
  --s3: 0.75rem;
  --s4: 1rem;
  --s5: 1.5rem;
  --s6: 2rem;
  --s7: 3rem;
  --rand: 1.25rem;
  --ziel: 3rem;           /* Mindestgröße Tippziel 48 px */
  --radius: 4px;
  --nav-breite: 14.5rem;
  --inhalt-max: 45rem;
  --kontext-breite: 18.75rem;

  /* Schraffur „offen“ */
  --schraffur: repeating-linear-gradient(135deg, var(--ziegel) 0 2px, transparent 2px 8px);
}
