:root {
  --bg: #fbfaf7; --fg: #23201c; --muted: #6b6459;
  --rule: #e3ded4; --accent: #7a4a28;
}
@media (prefers-color-scheme: dark) {
  :root { --bg: #171512; --fg: #ece7df; --muted: #a39a8c;
          --rule: #322d26; --accent: #d9a273; }
}
* { box-sizing: border-box; }
body {
  margin: 0; background: var(--bg); color: var(--fg);
  font: 17px/1.65 Georgia, 'Times New Roman', serif;
  -webkit-text-size-adjust: 100%;
}
.wrap { max-width: 44rem; margin: 0 auto; padding: 4rem 16px 6rem; }
header { border-bottom: 1px solid var(--rule); padding-bottom: 1.6rem; margin-bottom: 2.4rem; }
h1 { font-size: 1.9rem; line-height: 1.25; margin: 0 0 .4rem; letter-spacing: -.01em; }
h2 { font-size: 1.15rem; margin: 2.4rem 0 .6rem; letter-spacing: -.005em; }
.sub { color: var(--muted); margin: 0; font-size: 1rem; }
p, li { color: var(--fg); }
ul { padding-left: 1.2rem; }
li { margin: .35rem 0; }
a { color: var(--accent); }
.lang { color: var(--muted); font-size: .82rem; letter-spacing: .09em;
        text-transform: uppercase; margin: 3rem 0 .8rem;
        border-top: 1px solid var(--rule); padding-top: 1.6rem; }
footer { margin-top: 3.5rem; padding-top: 1.4rem; border-top: 1px solid var(--rule);
         color: var(--muted); font-size: .9rem; }
footer a { margin-right: 1.1rem; }
@media (max-width: 600px) { .wrap { padding-top: 2.5rem; } h1 { font-size: 1.55rem; } }
