:root {
  --font-sans: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Inter", "Segoe UI", system-ui, sans-serif;
  --font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  --border-radius: 10px;

  --z-papier: oklch(98.6% .002 70);
  --z-papier-zwei: oklch(96.6% .003 70);
  --z-haarlinie: oklch(91.5% .004 70);
  --z-leise: oklch(52% .007 70);
  --z-text: oklch(37% .007 70);
  --z-tinte: oklch(20.5% .005 70);
  --z-signal: oklch(55.5% .19 42);
  --z-signal-text: oklch(48% .17 40);
  --z-signal-tief: oklch(48% .17 40);
  --z-signal-flaeche: oklch(55.5% .19 42 / .1);
  --z-gut: oklch(52% .13 150);
  --z-fehler: oklch(53% .19 27);
  --z-schatten: 0 12px 32px oklch(20% .005 70 / .14), 0 2px 6px oklch(20% .005 70 / .08);
  --z-dauer: 160ms;
  --z-kurve: cubic-bezier(.22, 1, .36, 1);
}

html.dark {
  --z-papier: oklch(14.5% .004 70);
  --z-papier-zwei: oklch(18.5% .005 70);
  --z-haarlinie: oklch(26% .006 70);
  --z-leise: oklch(70% .006 70);
  --z-text: oklch(85% .005 70);
  --z-tinte: oklch(96.6% .003 70);
  --z-signal-text: oklch(74% .16 52);
  --z-signal-flaeche: oklch(74% .16 52 / .12);
  --z-gut: oklch(72% .15 150);
  --z-fehler: oklch(70% .16 27);
  --z-schatten: 0 12px 32px oklch(0% 0 0 / .5), 0 2px 6px oklch(0% 0 0 / .3);
}

::selection { background: oklch(74% .16 52 / .35); }

body { -webkit-font-smoothing: antialiased; }

table td, table th, .tabular-nums { font-variant-numeric: tabular-nums; }

:focus-visible { outline: 2px solid var(--z-signal); outline-offset: 2px; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition-duration: 1ms !important; animation-duration: 1ms !important; }
}
