html {
  scroll-behavior: smooth;
  /* Solid base for browsers without color-mix() (Safari < 16.2 / older iOS) */
  background-color: var(--bg);
  overflow-x: clip;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

body {
  margin: 0;
  min-height: 100vh;
  font-family: var(--font);
  /* color-mix in shorthand invalidates the whole background on older Safari */
  background-color: var(--bg);
  background-image: radial-gradient(
    ellipse 100% 55% at 50% -8%,
    rgba(124, 58, 237, 0.14),
    transparent 52%
  );
  color: var(--text);
  line-height: 1.5;
  overflow-x: clip;
}

@supports (color: color-mix(in srgb, red 50%, blue)) {
  body {
    background-image: radial-gradient(
      ellipse 100% 55% at 50% -8%,
      color-mix(in srgb, var(--brand-purple) 14%, transparent),
      transparent 52%
    );
  }
}

body.sidebar-drawer-open {
  overflow: hidden;
}

/* Links — no default underlines; color follows surrounding text unless a more specific rule sets accent, buttons, etc. */
a,
a:link,
a:visited,
a:hover,
a:active {
  text-decoration: none;
  color: inherit;
}

a:hover {
  text-decoration: none;
}

a:focus,
a:focus-visible {
  text-decoration: none;
}
