/* Erzeugt von design/build.py aus design/tokens.json – nicht von Hand ändern. */
/* Schriften: IBM Plex (c) IBM Corp., Source Serif 4 (c) Adobe; SIL Open Font License 1.1,
   https://openfontlicense.org. Als Teilmenge (Latein) eingebettet. */
@font-face { font-family: "IBM Plex Sans"; font-style: normal; font-weight: 400; font-display: swap; src: url("/assets/fonts/IBMPlexSans-Regular.woff2") format("woff2"); }
@font-face { font-family: "IBM Plex Sans"; font-style: normal; font-weight: 600; font-display: swap; src: url("/assets/fonts/IBMPlexSans-SemiBold.woff2") format("woff2"); }
@font-face { font-family: "IBM Plex Sans"; font-style: normal; font-weight: 700; font-display: swap; src: url("/assets/fonts/IBMPlexSans-Bold.woff2") format("woff2"); }
@font-face { font-family: "IBM Plex Mono"; font-style: normal; font-weight: 400; font-display: swap; src: url("/assets/fonts/IBMPlexMono-Regular.woff2") format("woff2"); }
@font-face { font-family: "IBM Plex Mono"; font-style: normal; font-weight: 600; font-display: swap; src: url("/assets/fonts/IBMPlexMono-SemiBold.woff2") format("woff2"); }
@font-face { font-family: "Source Serif 4"; font-style: normal; font-weight: 600; font-display: swap; src: url("/assets/fonts/SourceSerif4Display-Semibold.woff2") format("woff2"); }
:root {
  --font-sans: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-mono: "IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;
  --font-serif: "Source Serif 4", Georgia, serif;
  --font-system: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --lh-eng: 1.2;
  --lh-text: 1.5;
  --target: 48px;
  --fs-xs: 0.8125rem;
  --fs-s: 0.9375rem;
  --fs-m: 1.062rem;
  --fs-l: 1.25rem;
  --fs-xl: 1.625rem;
  --fs-xxl: 2.125rem;
  --sp-1: 4px;
  --sp-2: 8px;
  --sp-3: 12px;
  --sp-4: 16px;
  --sp-5: 24px;
  --sp-6: 32px;
  --sp-7: 48px;
  --b-sheet: #FFFFFF;
  --b-surface: #F6F4EE;
  --b-ink: #1C2024;
  --b-ink-2: #4B525B;
  --b-rule: #8A9199;
  --b-rule-soft: #DADDE1;
  --b-beleg: #2B3F9E;
  --b-beleg-tint: #E9ECF8;
  --b-pruefen: #9A4100;
  --b-pruefen-tint: #FDEBD8;
  --b-pruefen-mark: #D35F00;
  --b-fehlt: #B3261E;
  --b-fehlt-tint: #FCE8E6;
  --b-fertig: #1E6B3C;
  --b-fertig-tint: #E5F2EA;
  --b-focus: #1C2024;
  --b-focus-gap: #FFFFFF;
}
[data-modus="dunkel"] {
  color-scheme: dark;
  --b-sheet: #1E2228;
  --b-surface: #15181C;
  --b-ink: #EEF0F2;
  --b-ink-2: #B4BAC2;
  --b-rule: #7D858F;
  --b-rule-soft: #333941;
  --b-beleg: #A9B8FF;
  --b-beleg-tint: #252C4A;
  --b-pruefen: #FFB870;
  --b-pruefen-tint: #3A2810;
  --b-pruefen-mark: #FF9A3D;
  --b-fehlt: #FF968D;
  --b-fehlt-tint: #3D1C1A;
  --b-fertig: #86D9A2;
  --b-fertig-tint: #183224;
  --b-focus: #EEF0F2;
  --b-focus-gap: #15181C;
}
[data-host="h1"] {
  --host-accent: #0B5CAD;
  --host-on-accent: #FFFFFF;
  --host-radius: 6px;
  --host-font: var(--font-sans);
  --host-app-bg: #EEF2F6;
  --host-app-bar: #0B2E4F;
  --host-app-bar-ink: #FFFFFF;
}
[data-host="h2"] {
  --host-accent: #1F6F50;
  --host-on-accent: #FFFFFF;
  --host-radius: 0px;
  --host-font: var(--font-system);
  --host-app-bg: #F4F1EA;
  --host-app-bar: #FFFFFF;
  --host-app-bar-ink: #1C2024;
}
[data-host="h3"] {
  --host-accent: #F2C230;
  --host-on-accent: #1A1A1A;
  --host-radius: 12px;
  --host-font: var(--font-sans);
  --host-app-bg: #0F1215;
  --host-app-bar: #1A1E23;
  --host-app-bar-ink: #EEF0F2;
}
