@font-face {
  font-family: Newsreader;
  font-weight: 500;
  font-display: swap;
  src: url('/fonts/Newsreader_500Medium.ttf') format('truetype');
}

:root {
  --paper: #f7f7f4;
  --ink: #1a1d23;
  --soft: #5c6068;
  --blue: #0e4466;
  --line: rgba(26, 29, 35, 0.12);
}

@media (prefers-color-scheme: dark) {
  :root {
    --paper: #121314;
    --ink: #ededed;
    --soft: #a0a3a8;
    --blue: #86bde6;
    --line: rgba(255, 255, 255, 0.12);
  }
}

* {
  box-sizing: border-box;
}

html {
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font: 17px/1.6 -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

main,
header,
footer {
  max-width: 680px;
  margin: 0 auto;
  padding: 0 20px;
}

header {
  padding-top: 32px;
}

.brand {
  color: var(--ink);
  font-family: Newsreader, Georgia, serif;
  font-size: 22px;
  text-decoration: none;
}

h1,
h2 {
  font-family: Newsreader, Georgia, serif;
  font-weight: 500;
  line-height: 1.2;
}

h1 {
  margin: 28px 0 8px;
  font-size: 38px;
}

h2 {
  margin: 36px 0 8px;
  font-size: 24px;
}

.date {
  margin: 0 0 24px;
  color: var(--soft);
  font-size: 15px;
}

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

ul {
  padding-left: 22px;
}

li {
  margin: 4px 0;
}

footer {
  margin-top: 48px;
  padding-top: 20px;
  padding-bottom: 40px;
  border-top: 1px solid var(--line);
  color: var(--soft);
  font-size: 15px;
}

footer a {
  margin-right: 16px;
  white-space: nowrap;
}
