:root {
  --paper: #f7f4ee;
  --ink: #2b2724;
  --faint: #7a7168;
  --line: #ded6c8;
  --accent: #8a4b2a;
  --quote: #efe9dd;
}
@media (prefers-color-scheme: dark) {
  :root {
    --paper: #191715;
    --ink: #e0d9cf;
    --faint: #978d80;
    --line: #322d28;
    --accent: #d4936a;
    --quote: #211e1b;
  }
}
* { box-sizing: border-box; }
body {
  margin: 0 auto;
  padding: 3rem 1.4rem 5rem;
  max-width: 38rem;
  background: var(--paper);
  color: var(--ink);
  font: 17px/1.7 Georgia, "Times New Roman", "Droid Serif", serif;
}
a { color: var(--accent); text-underline-offset: 3px; }
a:hover { text-decoration-style: wavy; }
.top { margin-bottom: 3rem; }
.top h1 { font-size: 1.35rem; margin: 0 0 .25rem; font-weight: normal; letter-spacing: .02em; }
.top h1 a { color: var(--ink); text-decoration: none; }
.top p { margin: 0; color: var(--faint); font-size: .9rem; font-style: italic; }
.top nav { margin-top: 1rem; font-size: .88rem; }
.top nav a { margin-right: 1.2rem; }
.year { margin: 2.5rem 0 .8rem; font-size: .8rem; letter-spacing: .18em; text-transform: uppercase; color: var(--faint); }
.shelf { list-style: none; margin: 0; padding: 0; }
.shelf li { padding: .9rem 0; border-bottom: 1px dotted var(--line); }
.shelf li:last-child { border-bottom: none; }
.shelf .t { display: block; font-size: 1.05rem; }
.shelf .a { color: var(--faint); font-size: .88rem; }
article h1 { font-size: 1.6rem; line-height: 1.25; margin: 0 0 .3rem; font-weight: normal; }
article .author { color: var(--faint); font-size: .95rem; margin: 0 0 .2rem; }
article .when { color: var(--faint); font-size: .82rem; margin: 0 0 2rem; }
article h2 { font-size: 1.05rem; margin: 2.2rem 0 .6rem; font-weight: bold; }
blockquote {
  margin: 1.6rem 0;
  padding: .9rem 1.1rem;
  background: var(--quote);
  border-left: 2px solid var(--accent);
  font-size: .96rem;
}
blockquote p:last-child { margin-bottom: 0; }
p { margin: 0 0 1.1rem; }
.foot { margin-top: 4rem; padding-top: 1rem; border-top: 1px solid var(--line); color: var(--faint); font-size: .82rem; }
.foot a { color: var(--faint); }
.foot span { margin-right: 1.1rem; }
