/* Gastkontor -- Farb-, Schrift- und Masstokens (Entwurf O1, Abschnitt 5).
   Zwei Ebenen:
   1. Grundpalette -- feste Werte. Die Markenfarben sind unveraendert aus dem
      Logopaket des Betreibers (gk/tokens.css, 28.09.2026); die abgeleiteten
      Toene sind in O1 ausgerechnet und gemessen.
   2. Zwecktokens -- die EINZIGEN, die basis.css, die Homepage (O2) und der
      Mandantenbereich (O4) benutzen. Ein Block hell, ein Block dunkel ueber
      data-theme, ein Block dunkel ueber die Systemvorgabe; die beiden
      Dunkel-Bloecke muessen gleich sein.
   Nach jeder Aenderung: python -B gestaltung/pruefung/kontrast.py
   muss "Durchfaller: 0" melden. */

:root{
  /* Markenfarben */
  --gk-tusche:#2A354E;
  --gk-rot:#8E433C;
  --gk-rot-tief:#7A382F;
  --gk-rot-hell:#C98A82;
  --gk-gold:#A37D42;
  --gk-papier:#F7F4EF;
  --gk-sand:#E3DACB;
  --gk-linie:#DED8CC;
  --gk-treibholz:#6C6459;
  --gk-seegras:#38624A;
  --gk-bernstein:#B8801F;
  --gk-nacht:#182335;
  --gk-nacht-flaeche:#1F2C40;
  --gk-nacht-linie:#2A3A50;
  --gk-nebel:#A9B0BC;

  /* Abgeleitete Toene (O1, gemessen) */
  --gk-karte:#FDFBF8;
  --gk-tusche-tief:#1F283B;
  --gk-papier-tief:#E6E0D5;
  --gk-bernstein-tief:#86590F;
  --gk-bernstein-hell:#D9A443;
  --gk-seegras-hell:#7FB794;
  --gk-stein:#8C8578;
  --gk-stein-nacht:#6B7A94;
  --gk-seegras-hauch:#E3EDE6;
  --gk-bernstein-hauch:#F5EAD4;
  --gk-rot-hauch:#F3E3E0;
  --gk-treibholz-hauch:#EDE9E2;
  --gk-seegras-hauch-nacht:#1C3529;
  --gk-bernstein-hauch-nacht:#3A2D14;
  --gk-rot-hauch-nacht:#3D2226;
  --gk-treibholz-hauch-nacht:#28324A;

  /* O2 (Entwurf O2, E12): Links und Fehler im Dunkelmodus -- --gk-rot-hell 8 % Richtung Papier */
  --gk-rot-nacht:#CD928B;

  /* Schrift */
  --gk-schrift:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  --gk-groesse-klein:13px;
  --gk-groesse-text:16px;
  --gk-groesse-lesetext:18px;
  --gk-groesse-h3:20px;
  --gk-groesse-h2:25px;
  --gk-groesse-h1:31px;
  --gk-groesse-schau:39px;
  --gk-zeile-text:1.5;
  --gk-zeile-titel:1.2;

  /* Abstaende, 4-px-Raster */
  --gk-a1:4px;
  --gk-a2:8px;
  --gk-a3:12px;
  --gk-a4:16px;
  --gk-a5:24px;
  --gk-a6:32px;
  --gk-a7:48px;
  --gk-a8:64px;

  /* Radien, aus dem Signet abgeleitet (Rahmen 20/146, Feld 6/45) */
  --gk-radius-klein:6px;
  --gk-radius-mittel:10px;
  --gk-radius-gross:16px;

  --gk-hoehe-bedien:44px;
  --gk-dauer:150ms;
  --gk-schatten-ueber:0 8px 24px rgb(24 35 53 / 0.14);
}

:root,[data-theme="light"]{
  color-scheme:light;
  --gk-grund:var(--gk-papier);
  --gk-flaeche:var(--gk-karte);
  --gk-band:var(--gk-sand);
  --gk-kopf:var(--gk-papier);
  --gk-text:var(--gk-tusche);
  --gk-text-still:var(--gk-treibholz);
  --gk-rand:var(--gk-linie);
  --gk-rand-feld:var(--gk-stein);
  --gk-akzent:var(--gk-rot);
  --gk-fokus:var(--gk-rot);
  --gk-knopf:var(--gk-tusche);
  --gk-knopf-schwebe:var(--gk-tusche-tief);
  --gk-knopf-text:var(--gk-papier);
  --gk-gefahr:var(--gk-rot);
  --gk-gefahr-text:var(--gk-papier);
  --gk-erfolg:var(--gk-seegras);
  --gk-erfolg-grund:var(--gk-seegras-hauch);
  --gk-offen:var(--gk-bernstein-tief);
  --gk-offen-grund:var(--gk-bernstein-hauch);
  --gk-fehler:var(--gk-rot);
  --gk-fehler-grund:var(--gk-rot-hauch);
  --gk-neutral:var(--gk-treibholz);
  --gk-neutral-grund:var(--gk-treibholz-hauch);
  --gk-zelle-belegt:var(--gk-rot);
  --gk-zelle-belegt-text:var(--gk-papier);
  --gk-zelle-angefragt:var(--gk-bernstein-tief);
  --gk-zelle-rand:var(--gk-stein);
  --gk-signet-gitter:var(--gk-tusche);
  --gk-signet-feld:var(--gk-rot);
}

[data-theme="dark"]{
  color-scheme:dark;
  --gk-grund:var(--gk-nacht);
  --gk-flaeche:var(--gk-nacht-flaeche);
  --gk-band:var(--gk-tusche);
  --gk-kopf:var(--gk-tusche);
  --gk-text:var(--gk-papier);
  --gk-text-still:var(--gk-nebel);
  --gk-rand:var(--gk-nacht-linie);
  --gk-rand-feld:var(--gk-stein-nacht);
  --gk-akzent:var(--gk-rot-nacht);
  --gk-fokus:var(--gk-rot-hell);
  --gk-knopf:var(--gk-papier);
  --gk-knopf-schwebe:var(--gk-papier-tief);
  --gk-knopf-text:var(--gk-tusche);
  --gk-gefahr:var(--gk-rot-hell);
  --gk-gefahr-text:var(--gk-nacht);
  --gk-erfolg:var(--gk-seegras-hell);
  --gk-erfolg-grund:var(--gk-seegras-hauch-nacht);
  --gk-offen:var(--gk-bernstein-hell);
  --gk-offen-grund:var(--gk-bernstein-hauch-nacht);
  --gk-fehler:var(--gk-rot-nacht);
  --gk-fehler-grund:var(--gk-rot-hauch-nacht);
  --gk-neutral:var(--gk-nebel);
  --gk-neutral-grund:var(--gk-treibholz-hauch-nacht);
  --gk-zelle-belegt:var(--gk-rot-hell);
  --gk-zelle-belegt-text:var(--gk-nacht);
  --gk-zelle-angefragt:var(--gk-bernstein-hell);
  --gk-zelle-rand:var(--gk-stein-nacht);
  --gk-signet-gitter:var(--gk-papier);
  --gk-signet-feld:var(--gk-gold);
}

@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    color-scheme:dark;
    --gk-grund:var(--gk-nacht);
    --gk-flaeche:var(--gk-nacht-flaeche);
    --gk-band:var(--gk-tusche);
    --gk-kopf:var(--gk-tusche);
    --gk-text:var(--gk-papier);
    --gk-text-still:var(--gk-nebel);
    --gk-rand:var(--gk-nacht-linie);
    --gk-rand-feld:var(--gk-stein-nacht);
    --gk-akzent:var(--gk-rot-nacht);
    --gk-fokus:var(--gk-rot-hell);
    --gk-knopf:var(--gk-papier);
    --gk-knopf-schwebe:var(--gk-papier-tief);
    --gk-knopf-text:var(--gk-tusche);
    --gk-gefahr:var(--gk-rot-hell);
    --gk-gefahr-text:var(--gk-nacht);
    --gk-erfolg:var(--gk-seegras-hell);
    --gk-erfolg-grund:var(--gk-seegras-hauch-nacht);
    --gk-offen:var(--gk-bernstein-hell);
    --gk-offen-grund:var(--gk-bernstein-hauch-nacht);
    --gk-fehler:var(--gk-rot-nacht);
    --gk-fehler-grund:var(--gk-rot-hauch-nacht);
    --gk-neutral:var(--gk-nebel);
    --gk-neutral-grund:var(--gk-treibholz-hauch-nacht);
    --gk-zelle-belegt:var(--gk-rot-hell);
    --gk-zelle-belegt-text:var(--gk-nacht);
    --gk-zelle-angefragt:var(--gk-bernstein-hell);
    --gk-zelle-rand:var(--gk-stein-nacht);
    --gk-signet-gitter:var(--gk-papier);
    --gk-signet-feld:var(--gk-gold);
  }
}
