/* KE Design System — Base-Styles (aus tokens/theme.css). */
:root { color-scheme: dark; }
[data-theme="light"] { color-scheme: light; }

html, body, #root { height: 100%; }
body {
  margin: 0;
  background: var(--color-bg);
  color: var(--color-fg);
  font-family: var(--font-sans);
  font-size: 14px;
  line-height: 1.5;
  letter-spacing: -0.011em;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  font-feature-settings: "cv01", "ss03";
}

/* Daten-UI: Ziffern immer tabellarisch (kein Layout-Shift) */
table, .tnum, .mono, input, output { font-variant-numeric: tabular-nums; }
.mono { font-family: var(--font-mono); }

a { color: var(--color-accent); text-decoration: none; }
a:hover { color: var(--color-accent-strong); }

/* Keyboard-First: Fokus sichtbar (WCAG 2.2 AA) */
:focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: 2px;
  border-radius: var(--radius-sm);
}

::selection { background: oklch(0.71 0.176 41 / 0.30); }

* { scrollbar-width: thin; scrollbar-color: var(--color-line-strong) transparent; }
*::-webkit-scrollbar { width: 9px; height: 9px; }
*::-webkit-scrollbar-thumb { background: var(--color-line-strong); border-radius: var(--radius-pill); }
