:root { --ink: #2b2620; --paper: #f6f1e7; --brass: #8a6a2f; --rule: #d9cfbd; }
* { box-sizing: border-box; }
body { margin: 0; background: var(--paper); color: var(--ink);
  font: 17px/1.6 Georgia, "Times New Roman", serif; }
header, main, footer { max-width: 40rem; margin: 0 auto; padding: 0 1rem; }
header { padding-top: 2rem; border-bottom: 1px solid var(--rule); }
.mark { margin: 0; font-variant: small-caps; letter-spacing: .08em; color: var(--brass); font-size: 1.3rem; }
nav { margin: .3rem 0 1rem; font-size: .95rem; }
a { color: var(--brass); }
h1 { font-weight: normal; font-size: 1.9rem; margin: 2rem 0 .5rem; }
h2 { font-weight: normal; font-size: 1.25rem; margin: 2rem 0 .3rem; }
.lede { font-style: italic; }
article + article { border-top: 1px dotted var(--rule); }
table { width: 100%; border-collapse: collapse; font-size: .95rem; }
th, td { text-align: left; vertical-align: top; padding: .45rem .4rem; border-bottom: 1px solid var(--rule); }
th { font-weight: normal; font-variant: small-caps; color: var(--brass); }
footer { margin-top: 3rem; padding-bottom: 2rem; font-size: .85rem; color: #6d6458; }
@media (prefers-color-scheme: dark) {
  :root { --ink: #e8e0d2; --paper: #1d1a16; --rule: #3a342b; --brass: #c9a35a; }
  footer { color: #a39a8b; }
}
