/* ─────────────────────────────────────────────────────────────────────────────
   tokens.css — die einzige Stelle, an der Custom Properties definiert werden.
   `test/architecture/tokens.test.ts` schlägt fehl, sobald eine `--`-Definition
   in einer anderen Datei unter public/css/ auftaucht.

   Herkunft der Werte. Im Altstand existierten vier abweichende Kopien:

     A  public/index.html   Z. 16–32   vollständigster Satz (mit --panel, --card2)
     B  public/css/themes.css Z. 3–17  identische Werte, ohne --panel/--card2
     C  public/admin.html   Z. 9       eigenes Schema: --bg #0f0f1a, --accent #6c63ff,
                                       --success #00c897, --text #e0e0e0,
                                       --border rgba(255,255,255,.06)
     D  public/verify.html, reset-password.html  Teilmengen von A

   Entschieden wurde je Wert, nicht je Datei:

   --bg        #090b18  aus A/B. C (#0f0f1a) ist heller und flacher; das dunklere
                        Blau trägt die Radial-Verläufe des Hintergrunds, die das
                        Erscheinungsbild ausmachen.
   --accent    #8b5cf6  aus A/B. C (#6c63ff) ist blaustichiger und liegt näher an
                        --accent2 (#6d5dfc) — beide nebeneinander wären kaum
                        unterscheidbar, und A ist die Farbe der Hauptoberfläche.
   --success   #62e58f  aus A/B. C (#00c897) erreicht auf --card nur rund 4,0:1
                        und fällt damit unter WCAG AA für Text.
   --text      #f4f4fb  aus A/B statt C (#e0e0e0): höherer Kontrast, und das leichte
                        Blau passt zum Untergrund, während reines Grau fahl wirkt.
   --border    rgba(255,255,255,.09) aus A/B. C (.06) verschwindet auf --bg
                        praktisch — Tabellen und Karten verlieren ihre Kante.
   --panel     nur in A vorhanden, wird übernommen (Sidebar-Untergrund).
   --card2     nur in A vorhanden, wird übernommen (Code-Blöcke im .prose-Satzbild).

   Kontrast, nachgerechnet (WCAG 2.1, relative Luminanz):
     --text2 #a7acc2 auf --card #15182b  →  7,8:1   (AA ab 4,5:1 — erfüllt)
     --text  #f4f4fb auf --card #15182b  →  16,0:1
     --text2 #a7acc2 auf --bg   #090b18  →  8,9:1

   Mit Glow und Glaskarten (TB-202), ungünstigster Fall: Mitte des violetten Glows bei
   voller --glow-staerke, Cyan überlagert, ergibt den Grund rgb(35, 46, 86).
     --text2 auf --card-glas darüber     →  7,3:1
     --text2 direkt auf diesem Grund     →  5,8:1
     --accent auf --card-glas darüber    →  3,9:1   (schon auf --card nur 4,1:1 — offener
                                                    Punkt, siehe assets/concepts/oberflaeche.md)
   ───────────────────────────────────────────────────────────────────────────── */

:root {
  /* Flächen */
  --bg: #090b18;
  --panel: #0e1020;
  --card: #15182b;
  --card2: #191d34;
  --glass: rgba(255, 255, 255, 0.055);

  /* Akzente und Signalfarben */
  --accent: #8b5cf6;
  --accent2: #6d5dfc;
  --success: #62e58f;
  --warn: #f6c344;
  --fail: #e94560;

  /* Schrift */
  --text: #f4f4fb;
  --text2: #a7acc2;
  --font-sans:
    'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial,
    sans-serif;
  --font-mono:
    ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Consolas, 'Liberation Mono', monospace;

  /* Kanten und Abstände */
  --border: rgba(255, 255, 255, 0.09);
  --radius: 8px;
  --radius-sm: 6px;

  /* Licht und Bewegung: Hintergrund-Glow, Glaskarten, Leuchtrand. Cyan ist der zweite
     Lichtton der Hauptgrafik (assets/concepts/grafikstil.md). */
  --glow-violett: rgba(139, 92, 246, 0.34);
  --glow-violett-rand: rgba(109, 93, 252, 0.12);
  --glow-cyan: rgba(34, 211, 238, 0.17);
  --glow-cyan-rand: rgba(34, 211, 238, 0.05);
  --glow-staerke: 0.6;
  --glow-puls: 8s;
  --card-glas: rgba(21, 24, 43, 0.74);
  --sidebar-glas: rgba(10, 12, 27, 0.55);
  --leuchtrand: rgba(139, 92, 246, 0.4);
  --kurve-weich: cubic-bezier(0.2, 0.7, 0.2, 1);

  /* Layout */
  --sidebar-width: 260px;
  --content-max: 1180px;
  --prose-max: 68ch;
}
