* { box-sizing: border-box; }
body { margin: 0; background: var(--background); color: var(--text); line-height: 1.65; }
header, main, footer { width: min(100% - 40px, 800px); margin-inline: auto; }
header { padding-block: 28px; }
.wordmark { color: var(--text); font-size: 1.5rem; font-weight: 750; text-decoration: none; letter-spacing: -.06em; }
main { padding-block: 24px 48px; overflow-wrap: anywhere; }
h1 { font-size: clamp(2rem, 6vw, 3.5rem); line-height: 1.1; letter-spacing: -.04em; margin: 0 0 24px; }
h2 { font-size: 1.3rem; line-height: 1.3; margin: 36px 0 12px; }
p, ul { margin: 0 0 18px; }
ul { padding-left: 24px; }
li + li { margin-top: 8px; }
a { color: var(--action); text-underline-offset: .2em; }
a:hover { text-decoration-thickness: 2px; }
a:focus-visible { outline: 2px solid var(--action); outline-offset: 5px; border-radius: 2px; }
table { border-collapse: collapse; width: 100%; margin-block: 20px; table-layout: fixed; }
th, td { padding: 12px; border-bottom: 1px solid var(--border); text-align: left; vertical-align: top; }
th { background: var(--surface); }
footer { border-top: 1px solid var(--border); padding-block: 24px 40px; }
footer nav { display: flex; flex-wrap: wrap; gap: 12px 24px; }
footer [aria-current="page"] { color: var(--text-secondary); }
.skip-link { position: absolute; top: 8px; left: 8px; padding: 10px; background: var(--surface); transform: translateY(-200%); }
.skip-link:focus { transform: none; }
@media (max-width: 420px) { th, td { padding: 8px 6px; } }
@media print {
  :root { color-scheme: light; }
  body { background: white; color: black; }
  header, footer, .skip-link { display: none; }
  main { width: 100%; padding: 0; }
  a { color: inherit; }
  th { background: #eee; }
  h2 { break-after: avoid; }
  tr { break-inside: avoid; }
}
