:root {
  --bg: #f6f5f1;
  --kaart: #ffffff;
  --tekst: #1b2430;
  --zacht: #4a5563;
  --rand: #dcd9d0;
  --accent: #0b6e4f;
  --accent-tekst: #ffffff;
  color-scheme: light dark;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --bg: #12171d;
    --kaart: #1b2229;
    --tekst: #eef1f4;
    --zacht: #b4bec9;
    --rand: #2e3842;
    --accent: #5fd0a6;
    --accent-tekst: #0c1a14;
  }
}
* { box-sizing: border-box; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--tekst);
  font: 16px/1.55 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}
main { max-width: 760px; margin: 0 auto; padding: 56px 16px 40px; }
.label { margin: 0; font-size: 0.8rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--zacht); }
h1 { margin: 4px 0 12px; font-size: clamp(2rem, 6vw, 2.8rem); line-height: 1.1; }
.intro { margin: 0 0 32px; color: var(--zacht); max-width: 60ch; }
.systemen { list-style: none; margin: 0; padding: 0; display: grid; gap: 16px; }
.systemen a {
  display: grid; gap: 6px; padding: 22px 22px 20px;
  background: var(--kaart); border: 1px solid var(--rand); border-radius: 12px;
  color: inherit; text-decoration: none;
  transition: border-color 150ms ease, transform 150ms ease;
}
.systemen a:hover { border-color: var(--accent); transform: translateY(-1px); }
.systemen a:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }
.naam { font-size: 1.3rem; font-weight: 650; }
.wat { color: var(--zacht); }
.ga { margin-top: 6px; font-weight: 600; color: var(--accent); }
footer { margin-top: 40px; font-size: 0.85rem; color: var(--zacht); }
@media (prefers-reduced-motion: reduce) { .systemen a { transition: none; } .systemen a:hover { transform: none; } }
