:root {
  --bg: #17110c;
  --glow: #3a2716;
  --text: #f1e6d2;
  --soft: #c9b89c;
  --gold: #d9a94e;
  --rule: rgba(217, 169, 78, 0.35);
}
@media (prefers-color-scheme: light) {
  :root:not([data-theme="dark"]) {
    --bg: #faf5ec;
    --glow: #f1e2c6;
    --text: #2b2118;
    --soft: #6b5a45;
    --gold: #8a6420;
    --rule: rgba(138, 100, 32, 0.35);
  }
}
* { box-sizing: border-box; }
body {
  margin: 0;
  background: radial-gradient(ellipse at top, var(--glow), var(--bg) 60%) no-repeat, var(--bg);
  color: var(--text);
  font: 17px/1.65 Georgia, "Times New Roman", serif;
}
main { max-width: 720px; margin: 0 auto; padding: 48px 16px 80px; }
header { text-align: center; margin-bottom: 40px; }
.mark { color: var(--gold); letter-spacing: 0.3em; font-size: 14px; font-weight: bold; text-decoration: none; }
h1 { font-weight: normal; font-size: 34px; margin: 12px 0 4px; }
.updated { color: var(--soft); font-size: 15px; font-style: italic; }
h2 { font-weight: normal; font-size: 23px; color: var(--gold); margin: 36px 0 8px; padding-top: 16px; border-top: 1px solid var(--rule); }
h3 { font-size: 18px; margin: 20px 0 4px; }
a { color: var(--gold); }
ul { padding-left: 22px; }
li { margin: 6px 0; }
.callout { border-left: 3px solid var(--gold); padding: 4px 0 4px 16px; margin: 20px 0; }
.caps { text-transform: uppercase; font-size: 15px; letter-spacing: 0.02em; }
nav.links { display: flex; flex-wrap: wrap; gap: 12px 24px; justify-content: center; margin-top: 56px; font-size: 15px; }
