/* Tresen · Designsprache als Code (AP-14).
   Unterhalb der Schriften steht unverändert vertrag/design/tokens.final.css; tests/test_designsystem.py prüft das.
   Schriften selbst gehostet, Lizenz SIL OFL 1.1 in schriften/<familie>/OFL.txt (Quelle: Fontsource 5.3.0). */

@font-face { font-family: "Instrument Sans"; font-style: normal; font-weight: 400; font-display: swap;
  src: url("./schriften/instrument-sans/instrument-sans-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "Instrument Sans"; font-style: normal; font-weight: 500; font-display: swap;
  src: url("./schriften/instrument-sans/instrument-sans-latin-500-normal.woff2") format("woff2"); }
@font-face { font-family: "Instrument Sans"; font-style: normal; font-weight: 600; font-display: swap;
  src: url("./schriften/instrument-sans/instrument-sans-latin-600-normal.woff2") format("woff2"); }
@font-face { font-family: "Instrument Sans"; font-style: normal; font-weight: 700; font-display: swap;
  src: url("./schriften/instrument-sans/instrument-sans-latin-700-normal.woff2") format("woff2"); }
@font-face { font-family: "Instrument Sans"; font-style: italic; font-weight: 400; font-display: swap;
  src: url("./schriften/instrument-sans/instrument-sans-latin-400-italic.woff2") format("woff2"); }
@font-face { font-family: "Schibsted Grotesk"; font-style: normal; font-weight: 500; font-display: swap;
  src: url("./schriften/schibsted-grotesk/schibsted-grotesk-latin-500-normal.woff2") format("woff2"); }
@font-face { font-family: "Schibsted Grotesk"; font-style: normal; font-weight: 700; font-display: swap;
  src: url("./schriften/schibsted-grotesk/schibsted-grotesk-latin-700-normal.woff2") format("woff2"); }
@font-face { font-family: "Schibsted Grotesk"; font-style: normal; font-weight: 800; font-display: swap;
  src: url("./schriften/schibsted-grotesk/schibsted-grotesk-latin-800-normal.woff2") format("woff2"); }
@font-face { font-family: "Martian Mono"; font-style: normal; font-weight: 400; font-display: swap;
  src: url("./schriften/martian-mono/martian-mono-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "Martian Mono"; font-style: normal; font-weight: 600; font-display: swap;
  src: url("./schriften/martian-mono/martian-mono-latin-600-normal.woff2") format("woff2"); }
/* Geist und Geist Mono für die Gestaltung „Court“ (Lindenhof Tennis, Florian 06.10.2026), Lizenz SIL OFL 1.1. */
@font-face { font-family: "Geist"; font-style: normal; font-weight: 400; font-display: swap;
  src: url("./schriften/geist/geist-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "Geist"; font-style: normal; font-weight: 500; font-display: swap;
  src: url("./schriften/geist/geist-latin-500-normal.woff2") format("woff2"); }
@font-face { font-family: "Geist"; font-style: normal; font-weight: 600; font-display: swap;
  src: url("./schriften/geist/geist-latin-600-normal.woff2") format("woff2"); }
@font-face { font-family: "Geist Mono"; font-style: normal; font-weight: 400; font-display: swap;
  src: url("./schriften/geist-mono/geist-mono-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "Geist Mono"; font-style: normal; font-weight: 500; font-display: swap;
  src: url("./schriften/geist-mono/geist-mono-latin-500-normal.woff2") format("woff2"); }

/* Finale semantische Produkt-Tokens; keine mitgelieferten Fontdateien. */
:root {
  color-scheme: light;
  --grund:#F4F4F6; --flaeche:#FFFFFF; --flaeche-2:#EBECF0; --tinte:#15171C; --leise:#5C6170; --linie:#D7DAE1;
  --aktion:#2741E8; --aktion-auf:#FFFFFF; --aktion-zart:#E3E7FD;
  --etikett:#FFD43B; --etikett-auf:#15171C;
  --frei:#146342; --frei-zart:#DCF2E7; --gehalten:#775000; --gehalten-zart:#FFF1C7;
  --fehler:#A62C1B; --fehler-zart:#FBE1DC; --fehler-auf:#FFFFFF; --gesperrt:#5C6170;
  --a-miete:#1F8A70; --a-termin:#7B3FE4; --a-service:#E1532A; --a-objekt:#A87300;
  --a-miete-text:#176853; --a-termin-text:#7B3FE4; --a-service-text:#B33416; --a-objekt-text:#765000;
  --balken-miete:#176853; --balken-termin:#7B3FE4; --balken-service:#B33416; --balken-objekt:#765000; --balken-auf:#FFFFFF;
  --schrift:"Instrument Sans","Segoe UI",system-ui,sans-serif;
  --anzeige:"Schibsted Grotesk","Segoe UI",system-ui,sans-serif;
  --mono:"Martian Mono",ui-monospace,"Cascadia Code",Consolas,monospace;
  --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:24px; --s6:32px; --s7:48px; --s8:64px; --s9:96px;
  --r-s:6px; --r:10px; --r-l:16px; --r-pille:999px;
}
:root[data-theme="dark"] {
  color-scheme:dark;
  --grund:#0E1014; --flaeche:#171A21; --flaeche-2:#20242D; --tinte:#ECEDF1; --leise:#9EA4B2; --linie:#2C313C;
  --aktion:#8494FF; --aktion-auf:#0E1014; --aktion-zart:#232A52;
  --frei:#4CC690; --frei-zart:#15332A; --gehalten:#F2B82E; --gehalten-zart:#3A2E0E;
  --fehler:#FF8A73; --fehler-zart:#3E1D17; --fehler-auf:#0E1014; --gesperrt:#9EA4B2;
  --a-miete:#4CC6A6; --a-termin:#AC88FF; --a-service:#FF8A5F; --a-objekt:#E3B23C;
  --a-miete-text:#4CC6A6; --a-termin-text:#AC88FF; --a-service-text:#FF8A5F; --a-objekt-text:#E3B23C;
  --balken-miete:#4CC6A6; --balken-termin:#AC88FF; --balken-service:#FF8A5F; --balken-objekt:#E3B23C; --balken-auf:#0E1014;
}
/* Ungeprüfte color-mix-Flächen nicht mit diesen Texttokens als automatisch AA behandeln. */

/* Systemwahl gilt nur, solange keine ausdrückliche helle Auswahl besteht. */
@media (prefers-color-scheme: dark) {
 :root:not([data-theme="light"]) {
  color-scheme:dark;
  --grund:#0E1014; --flaeche:#171A21; --flaeche-2:#20242D; --tinte:#ECEDF1; --leise:#9EA4B2; --linie:#2C313C;
  --aktion:#8494FF; --aktion-auf:#0E1014; --aktion-zart:#232A52;
  --frei:#4CC690; --frei-zart:#15332A; --gehalten:#F2B82E; --gehalten-zart:#3A2E0E;
  --fehler:#FF8A73; --fehler-zart:#3E1D17; --fehler-auf:#0E1014; --gesperrt:#9EA4B2;
  --a-miete:#4CC6A6; --a-termin:#AC88FF; --a-service:#FF8A5F; --a-objekt:#E3B23C;
  --a-miete-text:#4CC6A6; --a-termin-text:#AC88FF; --a-service-text:#FF8A5F; --a-objekt-text:#E3B23C;
  --balken-miete:#4CC6A6; --balken-termin:#AC88FF; --balken-service:#FF8A5F; --balken-objekt:#E3B23C; --balken-auf:#0E1014;

 }
}
:root { --control-border:#737887; }
:root[data-theme="dark"] { --control-border:#7E8595; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) { --control-border:#7E8595; } }
