/*
 * vispy.net — shared design tokens + base reset.
 * Loaded on every page (index, privacy, terms, 404) so color/radius tokens
 * and accessibility base rules never drift between pages again.
 *
 * --bg2 / --bg3 / --rule / --accent-glow were previously declared here and
 * never used anywhere in the codebase — removed rather than carried forward.
 */
:root {
  --bg: #13111f;
  --accent: #c4bef0;
  --accent2: #a89ee0;
  --text: #e8e4f8;
  --text2: #9b96b8;
  --text3: #8a86ac;
  --border: rgba(196, 190, 240, 0.12);
  --border2: rgba(196, 190, 240, 0.22);
  --card: rgba(26, 23, 40, 0.9);
  --radius: 16px;
  --radius-sm: 10px;
}

*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }

a:focus-visible, button:focus-visible, input:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
  border-radius: 4px;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-delay: 0ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    transition-delay: 0ms !important;
    scroll-behavior: auto !important;
  }
}
