:root {
  --bg: #fbf7ef;
  --ink: #20242a;
  --muted: #5a6270;
  --line: #d7d2c4;
  --accent: #8a6a2f;
  --accent-soft: #efe6cf;
}
* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
  font-family: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  background: var(--bg);
  color: var(--ink);
  line-height: 1.65;
  font-size: 18px;
}
.wrap { max-width: 38rem; margin: 0 auto; padding: 2.5rem 1.25rem 5rem; }
header { border-bottom: 1px solid var(--line); padding-bottom: 1.25rem; margin-bottom: 2rem; }
header .mark { display: flex; align-items: center; gap: 0.6rem; }
header .mark svg { width: 28px; height: 28px; }
header h1 { font-size: 1.35rem; font-weight: 600; margin: 0; letter-spacing: 0.01em; }
header .tag { color: var(--muted); font-size: 0.95rem; margin-top: 0.35rem; font-style: italic; }
nav { margin-top: 0.9rem; font-size: 0.95rem; }
nav a { color: var(--muted); text-decoration: none; margin-right: 1.1rem; }
nav a:hover { color: var(--accent); }
main h2 { font-size: 1.3rem; margin-top: 2.2rem; }
main p { margin: 0.9rem 0; }
main .lead { font-size: 1.05rem; color: var(--ink); }
.footnote { color: var(--muted); font-size: 0.9rem; margin-top: 2.5rem; border-top: 1px solid var(--line); padding-top: 1rem; }
.note { background: var(--accent-soft); border-left: 3px solid var(--accent); padding: 0.9rem 1.1rem; margin: 1.6rem 0; font-size: 0.97rem; }
ul.entries { list-style: none; padding: 0; margin: 1.5rem 0; }
ul.entries li { padding: 0.7rem 0; border-bottom: 1px solid var(--line); }
ul.entries li time { color: var(--muted); font-size: 0.88rem; display: block; margin-bottom: 0.2rem; }
ul.entries li a { color: var(--ink); text-decoration: none; font-weight: 500; }
ul.entries li a:hover { color: var(--accent); }
footer { margin-top: 4rem; color: var(--muted); font-size: 0.85rem; text-align: center; }
.err { text-align: center; padding: 4rem 0; }
.err .num { font-size: 4rem; color: var(--accent); margin: 0; }
.err p { color: var(--muted); }
a.back { color: var(--accent); }
