html { box-sizing: border-box; }
*, *::before, *::after { box-sizing: inherit; }
body {
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Inter, "Helvetica Neue", Arial, system-ui, sans-serif;
  font-size: 18px;
  line-height: 1.6;
  color: #111;
  background: #fff;
  -webkit-text-size-adjust: 100%;
}
main {
  max-width: 68ch;
  padding: 24px 16px;
  margin: 0 auto;
}
h1 {
  font-size: 1.75rem;
  line-height: 1.2;
  margin: 0 0 0.75rem 0;
  font-weight: 700;
}
h2 {
  font-size: 1.25rem;
  margin: 2rem 0 0.5rem 0;
  line-height: 1.3;
}
h2:focus-visible { outline: 2px solid #0b57d0; outline-offset: 2px; border-radius: 2px; }
p { margin: 0 0 1rem 0; }
ul { margin: 0.25rem 0 1rem 1.25rem; padding: 0; }
li { margin: 0.25rem 0; }
a { color: #0b57d0; text-decoration: none; }
a:hover, a:focus { text-decoration: underline; }
a:focus-visible { outline: 2px solid #0b57d0; outline-offset: 2px; border-radius: 2px; }
.intro { color: #333; }
.updated { margin-top: 2.5rem; color: #555; font-size: 0.95rem; }
.contact-links { margin-top: 2rem; color: #555; font-size: 0.95rem; }
.contact-links a + a::before { content: " · "; color: #aaa; }
@media (prefers-color-scheme: dark) {
  body { color: #e9e9e9; background: #0b0b0b; }
  a { color: #8ab4ff; }
  .intro { color: #cfcfcf; }
  .updated { color: #b5b5b5; }
  .contact-links { color: #b5b5b5; }
  .contact-links a + a::before { color: #7d7d7d; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; }
}

