:root {
  --bg: #f4f1ea;
  --ink: #1c1917;
  --muted: #57534e;
  --line: #d6d3d1;
  --card: #fffcf7;
}
* { 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.55;
}
header, main, footer { max-width: 760px; margin: 0 auto; padding: 0 24px; }
header {
  display: flex;
  align-items: center;
  gap: 12px;
  padding-top: 28px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--line);
}
header img { width: 36px; height: 36px; }
header a { color: inherit; text-decoration: none; }
header strong { font-size: 1.05rem; letter-spacing: 0.02em; }
nav { margin-left: auto; display: flex; gap: 16px; font-size: 0.95rem; }
nav a { color: var(--muted); }
main { padding-top: 36px; padding-bottom: 48px; }
h1 { font-size: 1.85rem; font-weight: 600; margin: 0 0 12px; }
h2 { font-size: 1.2rem; margin: 28px 0 8px; }
p, li { color: var(--muted); }
.card {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 16px 18px;
  margin: 20px 0;
}
code, pre {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.86rem;
}
pre {
  background: #1c1917;
  color: #e7e5e4;
  padding: 14px 16px;
  border-radius: 8px;
  overflow-x: auto;
}
footer {
  border-top: 1px solid var(--line);
  padding: 18px 24px 36px;
  color: var(--muted);
  font-size: 0.85rem;
}
