@layer base {
  body {
    background: var(--color-background);
    color: var(--color-foreground);
    font-family: var(--font-sans);
    font-size: var(--font-size-base);
    padding-top: var(--injected-safe-inset-top);
    padding-right: var(--injected-safe-inset-right);
    padding-bottom: var(--injected-safe-inset-bottom);
    padding-left: var(--injected-safe-inset-left);
  }

  h1, h2, h3, h4 {
    font-family: var(--font-serif);
    line-height: var(--line-height-tight);
    font-weight: 400;
  }

  h1 { font-size: var(--font-size-2xl); }
  h2 { font-size: var(--font-size-xl); }
  h3 { font-size: var(--font-size-lg); }

  p {
    max-width: 65ch;
  }

  a {
    text-underline-offset: 0.15em;
  }

  a:not([class]) {
    text-decoration: underline;
  }

  a:not([class]):hover {
    color: var(--color-accent);
  }

  small {
    font-size: var(--font-size-sm);
    color: var(--color-muted);
  }

  table {
    width: 100%;
    text-align: left;
  }

  th, td {
    padding: var(--spacing-xs) var(--spacing-sm);
    border-bottom: 1px solid var(--color-border);
  }

  th {
    font-weight: 600;
    color: var(--color-muted);
  }

  :focus-visible {
    outline: none;
    box-shadow: var(--focus-ring);
    border-radius: var(--radius-sm);
  }
}
