/* ELEMENTS — bare HTML element styling. No classes. */

body {
  font-family: var(--font-sans);
  color: var(--color-text);
  background: var(--color-bg);
  line-height: 1.5;
}

h1 { font-size: 1.125rem; font-weight: 600; }

h2 {
  font-size: 1.5rem;
  font-weight: 700;
  margin-block: var(--space-8) var(--space-4);
}

h3 { font-size: 1rem; font-weight: 600; }

/* The first heading (or alert) on a screen sits flush with the content top. */
main > :first-child { margin-top: 0; }

table { width: 100%; border-collapse: collapse; }

th, td { padding: var(--space-2) var(--space-3); text-align: left; }
th { font-weight: 600; border-bottom: 1px solid var(--color-border); }

dl { margin: 0; }
dt { color: var(--color-text-muted); }
dd { margin: 0; }

input, select { font: inherit; color: inherit; }

a { color: var(--color-primary); }
