body {
  font-family: var(--font-sans);
  font-size: var(--step-0);
  color: var(--text);
  background-color: var(--bg);
}

h1,
h2,
h3 {
  line-height: 1.15;
  letter-spacing: -0.02em;
  font-weight: 650;
  text-wrap: balance;
}

h1 {
  font-size: var(--step-3);
}

h2 {
  font-size: var(--step-2);
}

h3 {
  font-size: var(--step-1);
}

p {
  max-width: var(--measure);
  text-wrap: pretty;
}

a {
  color: var(--accent);
  text-decoration-thickness: 1px;
  text-underline-offset: 0.18em;
  transition: color var(--transition), opacity var(--transition);
}

a:hover {
  opacity: 0.75;
}

:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 3px;
  border-radius: 3px;
}

code {
  font-family: var(--font-mono);
  font-size: 0.9em;
}

small {
  font-size: var(--step--1);
  color: var(--text-muted);
}

::selection {
  background: var(--accent);
  color: var(--accent-contrast);
}

