:root {
  color-scheme: light;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 18px;
  line-height: 1.55;
  color: #111;
  background: #fff;
}

* { box-sizing: border-box; }

body {
  max-width: 42rem;
  margin: 3rem auto;
  padding: 0 1.2rem;
}

.home {
  min-height: 100vh;
  min-height: 100svh;
  margin: 0 auto;
  display: grid;
  place-items: center;
  text-align: center;
}

.home main { width: 100%; }
.social-links { display: flex; justify-content: center; gap: 1rem; }

header, footer { margin: 2rem 0; }
nav { margin: .5rem 0 2.5rem; }
nav a { margin-right: .8rem; }
a { color: #0645ad; }
a:visited { color: #551a8b; }
h1 { font-size: 2rem; line-height: 1.15; }
h2 { font-size: 1.3rem; margin-top: 2.2rem; }
h3 { font-size: 1rem; margin-bottom: .2rem; }
p, li { max-width: 38rem; }
li + li { margin-top: .45rem; }
small, time, .meta { color: #555; }
hr { border: 0; border-top: 1px solid #bbb; margin: 2rem 0; }
blockquote { margin-left: 1.2rem; }
table { border-collapse: collapse; width: 100%; }
.table-scroll { overflow-x: auto; }
.table-scroll table { min-width: 46rem; }
th, td { border-bottom: 1px solid #bbb; padding: .5rem; text-align: left; vertical-align: top; }
th { font-weight: bold; }
details { margin: .8rem 0; }
summary { cursor: pointer; }
.claim { margin: 1rem 0; }
.claim > strong { display: block; }
.filter { margin: 1.5rem 0; }
.filter p { margin: .25rem 0; }
.label { font-variant: small-caps; letter-spacing: .04em; }
footer { border-top: 1px solid #bbb; padding-top: 1rem; font-size: .9rem; }

@media (max-width: 36rem) {
  :root { font-size: 18px; }
  body { margin: 1.5rem auto; padding: 0 1.25rem; }
  .home { margin: 0 auto; padding-block: 2rem; }
  nav a { display: inline-block; margin-bottom: .35rem; }
}
