/* =====================================================================
   System B · Tokens — die eine Quelle für alle RSA-Werkzeuge
   Kanonisiert aus Chronik + System-B-Spezimen (Juni 2026) und den
   vermessenen Briefvorlagen. Änderungen hier zuerst; tokens.json wird
   von tools/ds-lint.py gegen diese Datei geprüft (muss synchron sein).
   ===================================================================== */

:root {
  /* -- Grund: warmes Papier, Tinte ------------------------------------ */
  --paper:      #F6F2E9;   /* Seitengrund */
  --paper-hoch: #FFFFFF;   /* erhöhte Flächen: Karten, Felder, Blatt */
  --ink:        #1C1A16;   /* Text */
  --ink-soft:   #5C564B;   /* Nebentext */
  --ink-faint:  #6E6757;   /* Meta, Legenden */
  --rule:       #D8D0BF;   /* Linien */
  --rule-soft:  #E6DFCF;   /* leise Linien */

  /* -- Akzent: das RSA-Rot (Bildschirm) ------------------------------- */
  --accent:      #B20000;
  --accent-tint: #F3E2DC;  /* Akzent-Fläche, z. B. Warnhintergrund */
  /* Warmer Akzent (Terrakotta): das Klima der Digitalisate. Kommt aus dem
     Spezimen Fassung 12 und wird vom Digitalisat bereits gefahren
     (stimmung.css: #AC4526). Als Token benannt, damit die Abweichung eine
     Entscheidung ist und keine Fremdfarbe. Offen: ob das Haus dauerhaft
     zwei Akzente führt oder --accent selbst warm wird. */
  --accent-warm: #9C3A22;
  /* Was AUF dem Akzent steht — Schrift und Zeichen auf akzentfarbenem Grund
     (Segment-Schalter, Erfassknopf, Zustandsflächen). Bisher stand dafür
     `color: #fff` fest in base.css, und weil K1 Schwarz und Weiss als
     Basisfarben durchlässt, sah das kein Prüfer an. Weiss stimmt aber nur im
     hellen Klima: Dort ist der Akzent dunkel (7,26:1). Im dunklen Klima ist er
     HELL — reines Weiss hält auf #E0654C nur 3,42:1, im Nachtklima des
     Tagwerks (#C9855F) 3,00:1. Verlangt sind 4,5:1 (WCAG 1.4.3).
     Die Richtung kippt darum mit dem Klima: helles Klima schreibt hell auf
     dunklen Akzent, dunkles Klima dunkel auf hellen. Der Dunkelwert ist die
     Haustinte des hellen Klimas — sie hält gegen JEDEN Dunkelakzent des
     Repos mindestens 5,08:1, ein Haus, das nur --accent umstimmt, erbt
     also einen tragfähigen Wert. Gefunden im Tagwerk am 16. 9. 2026; das
     Digitalisat führte den Token lokal längst (Regel 2: generalisieren). */
  --auf-akzent:  #FFFFFF;   /* 7,26:1 auf --accent */

  /* -- Band: der Streifen des Hauses ----------------------------------- */
  /* Das Band über dem Kopf ist MARKE, kein Seitengrund: Es kippt darum
     nicht mit Hell und Dunkel, wie Tafel und Werkstatt. Bisher trug die
     Vision-Seite dafür --print-rot, den dokumentarischen Wert des Drucks
     — ein Name, der etwas anderes meint. Seit dem 14. 9. 2026 hat der
     Streifen einen eigenen: Erst dadurch kann ein Erscheinungsbild ihn
     umstimmen, ohne die Druckwerte anzufassen. Der Wert ist unverändert
     derselbe; das Aussehen ändert sich um null. Dasselbe Token führt das
     Haus Kulturimpuls seit dem 24. 8. 2026 (sks/assets/haus-sks.css). */
  --band:     #B20000;
  --band-ink: #FFFFFF;   /* 7,26:1 auf --band */
  /* Die zweite Stimme auf dem Band: Nebenzeilen, ruhende Zustände, die
     Einträge eines aufgeklappten Fachs. Bisher stand dafür #ffffffc4 an
     sieben Stellen der Vision-Seite — ein Wert, der stillschweigend
     annahm, das Band sei rot. Als Token kann ihn jedes Erscheinungsbild
     setzen, auch eines mit hellem Band. 4,63:1 auf --band, von K11
     nachgemessen. */
  --band-soft: #FFFFFFC4;

  /* -- Wandtafel: bleibt in BEIDEN Klimata dunkel ---------------------- */
  /* Werke werden nicht beschnitten und nicht aufgehellt — die Fläche ist
     Museumsstreifen, kein Seitengrund. Darum hier fest, nicht gespiegelt. */
  --tafel:       #14120D;
  --tafel-ink:   #ECE6D8;  /* 15,04:1 auf --tafel */
  --tafel-soft:  #C9C2B2;  /* 10,55:1 */
  --tafel-faint: #938C7C;  /*  5,60:1 */

  /* -- Werkstatt: das Band des Archivariats ---------------------------- */
  /* Hinter den Kulissen wird nicht gedruckt, sondern gearbeitet: ein warmes
     dunkles Grau statt der fast schwarzen Tinte, damit die Werkstatt als
     eigener Ort lesbar ist. Wie die Tafelfläche in beiden Klimata fest —
     der Akzent darauf ist heller als das Hausrot, das auf Dunkel erlischt. */
  /* Nachgerechnet am 15. 8. 2026 (tools/marke-bauen.py): diese drei Werte
     standen gerundet da (10,4 · 6,1 · 3,9), die Tafelflächen darüber exakt. */
  --werkstatt:        #33302A;
  --werkstatt-ink:    #ECE6D8;   /* 10,57:1 auf --werkstatt */
  --werkstatt-soft:   #B7B0A0;   /*  6,09:1 */
  --werkstatt-akzent: #E0654C;   /*  3,84:1 — Linien, aktive Zustände, nie Fliesstext */

  /* -- Zustände -------------------------------------------------------- */
  --ok-bg: #EAEFE4; --ok-fg: #3C5A34;
  --warn-bg: #F9ECEA; --warn-fg: #8C1D18;

  /* -- Druckklimata (dokumentarisch; Print-Artefakte) ------------------ */
  --print-rot:            #B20000;  /* Vorlagen C–E */
  --print-grau:           #706F6F;
  --print-rot-klassisch:  #B31D23;  /* Vorlagen A/B */
  --print-grau-klassisch: #656263;
  --print-schwarz:        #050605;

  /* -- Schrift: der Vierklang (Entscheid 15. 8. 2026) -------------------
     Vier Stimmen, vier Ämter, keine Überschneidung. Welche Stimme spricht,
     ist keine Gestaltungsfrage — es wird aus der Herkunft des Textes
     gerechnet. Herleitung: MARKE.md § 3.1, gezeigt in rsa/marke/. */
  --schrift:       'Inclusive Sans', 'Noto Sans', 'Noto Sans Hebrew', 'Helvetica Neue', Arial, sans-serif;
  /* Steiners Feder: das von ihm geschriebene Werk. Alle Nachschriften sind
     editorische Interpretationen und laufen in der Archivstimme — 58 von
     398 Bänden, einer von sieben. Massgeblich ist die Feder, nicht die
     Druckerpresse: auch Briefe und Notizbücher zählen dazu. */
  --schrift-feder: 'IBM Plex Serif', Georgia, serif;
  /* Was ruft: Wortmarke, Headline, Bandtitel. Die Displaystufe, die dem
     System bis heute fehlte. */
  --schrift-ruf:   'IBM Plex Sans Condensed', 'Inclusive Sans', sans-serif;
  /* Was die Maschine verbürgt: Kennung, Seite, Signatur, Prüfsumme.
     Aufrecht, nicht kursiv — ein Siegel steht nicht schräg. */
  --schrift-beleg: 'IBM Plex Mono', ui-monospace, monospace;
  /* Fremde Schriftsysteme: eine einzige Ergänzungsschrift, Noto, auf die
     x-Höhe der Inclusive Sans angeglichen (fonts.css; Entscheid vom
     10. 10. 2026, vorher Plex Sans und Plex Sans Hebrew). In der
     Archivstimme steht sie im Stapel und wählt sich Zeichen für Zeichen;
     für die Feder, die weder Griechisch noch Hebräisch hat, holt base.css
     sie über :lang(). */
  --schrift-el:    'Noto Sans', var(--schrift);
  --schrift-he:    'Noto Sans Hebrew', var(--schrift);
  /* Abgelöst: das Amt heisst jetzt Beleg und steht aufrecht. Der Token
     bleibt, solange der Bestand ihn führt (70 Stellen in 13 Dateien) —
     Migration bei der nächsten Überarbeitung der jeweiligen Seite. */
  --schrift-laut: 'IBM Plex Mono', ui-monospace, monospace;

  /* -- Grade (System B: Fliesstext 1rem, Randnotiz 0.86rem) ------------ */
  --grad-fein:  0.86rem;
  --grad-klein: 0.93rem;
  --grad-grund: 1rem;
  --grad-gross: 1.25rem;
  --grad-titel: 1.75rem;
  --zeile:       1.55;
  --zeile-eng:   1.3;

  /* -- Mass ------------------------------------------------------------ */
  --measure: min(52ch, 100%);
  --note-w:  13rem;

  /* -- Raum (4er-Skala) ------------------------------------------------ */
  --r1: 0.25rem; --r2: 0.5rem; --r3: 0.75rem; --r4: 1rem;
  --r6: 1.5rem;  --r8: 2rem;   --r12: 3rem;   --r16: 4rem;

  /* -- Tippfläche ------------------------------------------------------ */
  /* Am Finger misst ein Ziel mindestens 44px. Die Höhe wächst über die
     Innenluft, nie über den Grad — der Satz bleibt, wie er gesetzt ist. */
  --ziel-min: 2.75rem;

  /* -- Form ------------------------------------------------------------ */
  --radius-s: 5px;
  --radius:   8px;
  --radius-g: 12px;
  /* Kapsel: die Rundung eines EINZEILIGEN Etiketts — und nur dafür.
     Eine Rundung, die auf die halbe Höhe gesetzt ist (999px, 50%), wächst
     beim Umbruch mit: aus der Pille wird ein Oval, dessen Bogen in die
     zweite Zeile schneidet. Darum ein fester Wert, die halbe Mindest-
     Tippfläche. CSS staucht zu grosse Radien ohnehin auf die Box — ein
     einzeiliges Etikett wird damit exakt zur Kapsel, ein umgebrochenes
     zum ruhigen Rechteck, in dem beide Zeilen in der Fläche sitzen. */
  --radius-kapsel: calc(var(--ziel-min) / 2);
  --linie:    1px;
}

/* Dunkles Klima: automatisch oder erzwungen via <html data-thema="dunkel"> */
@media (prefers-color-scheme: dark) {
  :root {
    --paper: #16140F; --paper-hoch: #1E1B15;
    --ink: #ECE6D8; --ink-soft: #A9A290; --ink-faint: #938C7C;
    --rule: #332F26; --rule-soft: #26221A;
    --accent: #E0654C; --accent-tint: #3A231D; --accent-warm: #E0865C;
    --auf-akzent: #1C1A16;   /* 5,08:1 — im Dunkeln ist der Akzent hell */
    --ok-bg: #26301F; --ok-fg: #A9C79A;
    --warn-bg: #3B2323; --warn-fg: #E8A19C;
  }
}
:root[data-thema="hell"] {
  --paper: #F6F2E9; --paper-hoch: #FFFFFF;
  --ink: #1C1A16; --ink-soft: #5C564B; --ink-faint: #6E6757;
  --rule: #D8D0BF; --rule-soft: #E6DFCF;
  --accent: #B20000; --accent-tint: #F3E2DC; --accent-warm: #9C3A22;
  --auf-akzent: #FFFFFF;
  --ok-bg: #EAEFE4; --ok-fg: #3C5A34;
  --warn-bg: #F9ECEA; --warn-fg: #8C1D18;
}
:root[data-thema="dunkel"] {
  --paper: #16140F; --paper-hoch: #1E1B15;
  --ink: #ECE6D8; --ink-soft: #A9A290; --ink-faint: #938C7C;
  --rule: #332F26; --rule-soft: #26221A;
  --accent: #E0654C; --accent-tint: #3A231D; --accent-warm: #E0865C;
  --auf-akzent: #1C1A16;
  --ok-bg: #26301F; --ok-fg: #A9C79A;
  --warn-bg: #3B2323; --warn-fg: #E8A19C;
}

/* ═══════════════════════════════════════════════════════════════════════
   Der Boden für den Kleinsatz auf schmalen Schirmen

   Befund des Repo-Inhabers, 15. 9. 2026: «Überhaupt scheint mir bei allen
   Entwürfen sehr an die Grenzen der Lesbarkeit gegangen zu sein: sehr
   kleine und sehr feine Typo-Elemente in der Mobilansicht; scheint mir
   sehr zerbrechlich.»

   Nachgemessen auf 390 px über drei Systeme, zwei Klimata und fünfzehn
   Schirme: 3024 Textstellen liegen unter 14 px, und sie hängen fast alle
   an EINEM Wert. --grad-fein (0,86 rem = 13,8 px) trägt Legenden, Meta,
   Rubriken, Knöpfe, Hinweise, Quellenangaben, Zahlen, Jahresangaben — 27
   verschiedene Klassen. Wer den anhebt, hebt alles auf einmal; wer an den
   Klassen einzeln schraubt, vergisst die Hälfte.

   Die beiden kleinen Grade fallen darum auf dem Telefon ZUSAMMEN, auf
   0,94 rem = 15 px. Das ist kein Verlust an Hierarchie, sondern das
   Eingeständnis, dass es sie dort nie gab: 13,8 gegen 14,9 px ist ein
   Unterschied von einem Pixel, den kein Auge auf einem Telefon liest.
   Wo auf dem Schreibtisch drei Stufen stehen, stehen hier zwei — und der
   Rang wird von Gewicht und Farbe getragen, nicht von einem Pixel.

   Die Untergrenze ist gewählt, nicht gerechnet: Die WCAG kennt keine
   Mindestgrösse. 15 px ist der Wert, unter dem die Systeme selbst ihren
   Sekundärtext nicht setzen, und er hebt den Boden um 9 Prozent.

   Warum am Ende der Datei und eingerückt: Der Kontraktprüfer liest den
   ERSTEN :root-Block als Hellklima (ds-lint) bzw. den in Spalte 1
   stehenden (marke-bauen). Ein eingerückter :root in einem Medienblock
   am Dateiende stört beide nicht — geprüft.
   ═══════════════════════════════════════════════════════════════════════ */
@media (max-width: 52rem) {
  :root {
    --grad-fein:  0.94rem;
    --grad-klein: 0.94rem;
  }
}
