@font-face {
  font-family: Newsreader;
  src: url('/fonts/newsreader.woff2') format('woff2');
  font-weight: 200 800;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: Newsreader;
  src: url('/fonts/newsreader-italic.woff2') format('woff2');
  font-weight: 200 800;
  font-style: italic;
  font-display: swap;
}
:root {
  color-scheme: light dark;
  --paper: #fafaf9;
  --ink: #292524;
  --muted: #78716c;
  --accent: #ea580c;
  --rule: #e7e5e4;
}
@media (prefers-color-scheme: dark) {
  :root {
    --paper: #1c1917;
    --ink: #e7e5e4;
    --muted: #a8a29e;
    --accent: #fb923c;
    --rule: #44403c;
  }
}
* { box-sizing: border-box; }
body {
  box-sizing: content-box;
  max-width: 52em;
  margin: 0 auto;
  padding: 2.5em 1.25em 4em;
  background: var(--paper);
  color: var(--ink);
  font: 18px/1.55 Newsreader, Georgia, serif;
}
a { color: inherit; text-decoration: none; }
a:hover { color: var(--muted); }
a:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
header { text-align: right; margin-bottom: 4em; }
.name { font-weight: 600; }
nav { display: flex; justify-content: flex-end; gap: 1em; }
.about { margin-bottom: 2.5em; }
.about p { margin: 0; }
.about a { text-decoration: underline; text-underline-offset: .15em; }
.label {
  display: flex;
  align-items: center;
  gap: .9em;
  margin: 0 0 2em;
  font-size: .72em;
  font-weight: 600;
  letter-spacing: .1em;
  color: var(--accent);
}
.label::after { content: ''; flex: 1; border-top: 1px solid var(--rule); }
.posts { list-style: none; padding: 0; margin: 0; }
.posts li { margin-bottom: 2em; }
.post-link { display: flex; flex-wrap: wrap; justify-content: space-between; column-gap: 1.5em; }
.post-link span { font-weight: 600; }
.post-link .summary { flex-basis: 100%; }
time, .summary { color: var(--muted); }
time { font-style: italic; font-variant-numeric: tabular-nums; }
.summary { margin: .25em 0 0; }
h1 { font-size: 1.8em; line-height: 1.2; font-weight: 500; margin: 0 0 .3em; }
.article-date { display: block; margin-bottom: 2.5em; }
article { max-width: 38em; overflow-wrap: anywhere; }
article h2 { font-size: 1.3em; font-weight: 600; margin: 1.8em 0 .6em; }
article h3 { font-size: 1.1em; font-weight: 600; margin: 1.6em 0 .5em; }
article p, article ul, article ol, article pre, article blockquote { margin: 0 0 1.2em; }
article a, .back a { text-decoration: underline; text-decoration-color: var(--rule); text-underline-offset: .15em; }
article blockquote { border-left: 2px solid var(--rule); padding-left: 1em; color: var(--muted); }
article pre { padding: 1em; background: var(--rule); overflow-x: auto; }
article code { font-size: .8em; }
article img { max-width: 100%; height: auto; }
article table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; margin-bottom: 1.2em; }
article th, article td { text-align: left; padding: .4em .8em; border-bottom: 1px solid var(--rule); }
article hr { border: 0; border-top: 1px solid var(--rule); margin: 2em 0; }
.back { margin-top: 3em; color: var(--muted); }
@media (min-width: 600px) {
  body { padding: 4em 5em 6em; }
}
