/* =====================================================================
   COLORS.CSS — die EINZIGE Datei, in der Farben definiert werden.
   Alle anderen CSS- und JS-Dateien verwenden nur diese Variablen.
   (Ausnahme: Fach-Farben, die der Nutzer pro Kalenderfach wählt, werden
   in der Datenbank als Hex gespeichert und über --subject-1 … --subject-8
   in genau dieser Reihenfolge ersetzt – ändert man sie hier, ändern sich
   alle Fächer mit.)

   KONTRAST (WCAG 2.2 AA) – wird mit tools/check-contrast.py geprüft:
     • Text auf Fläche ................ mindestens 4,5 : 1
     • großer/fetter Text (≥ 19 px) ... mindestens 3 : 1
     • Rahmen von Eingabefeldern, Icons, Diagramm-Linien, Fokus-Ring
       (Nicht-Text-Kontrast) ........... mindestens 3 : 1
   Wer hier Werte ändert: danach `python3 tools/check-contrast.py` laufen
   lassen (siehe README im Ordner tools/).
   ===================================================================== */

:root {
    color-scheme: dark;

    /* ---------- Flächen ---------- */
    --bg:        #0d0f14;   /* Seitenhintergrund */
    --surface:   #161a22;   /* Karten, Listen, Navigation */
    --raised:    #1d222c;   /* Felder, aktive Segmente, Chips */
    --scrim:     rgba(5, 6, 9, 0.72);  /* Abdunklung hinter Dialogen */

    /* ---------- Linien ---------- */
    --line:      #262c38;   /* Trennlinien/Kartenrand (rein dekorativ) */
    --border-ui: #7d869a;   /* Rand von Eingabefeldern & Bedienelementen (≥ 3:1) */

    /* ---------- Text ---------- */
    --text:      #eaedf3;   /* Haupttext */
    --muted:     #a0a8ba;   /* Nebentext, Beschriftungen */

    /* ---------- Akzent (Marker-Gelb) ---------- */
    --accent:      #f2d544;
    --on-accent:   #0d0f14;               /* Text/Icons AUF Akzentfläche */
    --accent-soft: rgba(242, 213, 68, 0.16); /* getönter Hintergrund (Chips, aktiver Tab) */

    /* ---------- Status ---------- */
    --ok:        #4fd1a5;
    --ok-soft:   rgba(79, 209, 165, 0.14);
    --bad:       #ff8a7a;
    --bad-soft:  rgba(255, 138, 122, 0.14);
    --warn:      #ffc266;
    --warn-soft: rgba(255, 194, 102, 0.14);
    --info:      #8ab4ff;               /* Links, neutrale Hinweise */

    /* ---------- Fokus ---------- */
    --focus:     #ffffff;               /* Fokus-Ring (≥ 3:1 auf allen Flächen) */

    /* ---------- Notenstufen (0–18 Skala: dunkel = schwach → hell = stark) ---------- */
    --b0: #3a4258;   --b0-on: #ffffff;   /* ungenügend  */
    --b1: #4a5878;   --b1-on: #ffffff;   /* mangelhaft  */
    --b2: #566f9b;   --b2-on: #ffffff;   /* ausreichend */
    --b3: #6b8ebb;   --b3-on: #0d0f14;   /* befriedigend */
    --b4: #85abd6;   --b4-on: #0d0f14;   /* vollbefriedigend */
    --b5: #a5c7ea;   --b5-on: #0d0f14;   /* gut */
    --b6: #c9e2fa;   --b6-on: #0d0f14;   /* sehr gut */

    /* ---------- Diagramme (Chart.js liest diese Werte zur Laufzeit) ---------- */
    --chart-line: #85abd6;
    --chart-fill: rgba(133, 171, 214, 0.14);
    --chart-grid: #262c38;
    --chart-text: #a0a8ba;
    --chart-ref:  #f2d544;   /* Bestehensgrenze / Referenzlinie */

    /* ---------- Fach-Farben (Stundenplan), Reihenfolge = Reihenfolge der Auswahl ---------- */
    --subject-1: #6ea8ff;   /* blau   */
    --subject-2: #ff7a70;   /* rot    */
    --subject-3: #4fd1a5;   /* grün   */
    --subject-4: #f2d544;   /* gelb   */
    --subject-5: #b78bff;   /* lila   */
    --subject-6: #ff9f5a;   /* orange */
    --subject-7: #3cc9d6;   /* türkis */
    --subject-8: #ff7ab8;   /* rosa   */

    /* ---------- Sonstiges ---------- */
    --qr-bg: #ffffff;       /* QR-Codes brauchen hellen Grund + dunkle Module */
    --qr-fg: #000000;
    --shadow: rgba(0, 0, 0, 0.45);
}
