:root {
  --bg: #faf7f2; --fg: #2b2620; --muted: #7a6f63; --accent: #a5582c; --line: #e6ded2; --card: #ffffff;
}
@media (prefers-color-scheme: dark) {
  :root { --bg: #1d1a17; --fg: #ece6dd; --muted: #a59a8c; --accent: #e09a6a; --line: #36302a; --card: #24201c; }
}
* { box-sizing: border-box; }
body {
  margin: 0; background: var(--bg); color: var(--fg);
  font: 17px/1.65 Georgia, "Times New Roman", serif;
}
.wrap { max-width: 720px; margin: 0 auto; padding: 0 20px; }
header { border-bottom: 1px solid var(--line); padding: 40px 0 24px; }
header h1 { margin: 0; font-size: 34px; letter-spacing: -0.5px; }
header p { margin: 6px 0 0; color: var(--muted); font-style: italic; }
nav { margin-top: 16px; font: 15px/1 -apple-system, "Segoe UI", Roboto, sans-serif; }
nav span { margin-right: 18px; color: var(--accent); }
main { padding: 16px 0 40px; }
article { padding: 28px 0; border-bottom: 1px solid var(--line); }
article:last-child { border-bottom: 0; }
article h2 { margin: 0 0 4px; font-size: 24px; line-height: 1.3; }
.meta { color: var(--muted); font: 14px/1.4 -apple-system, "Segoe UI", Roboto, sans-serif; margin-bottom: 12px; }
.note {
  background: var(--card); border: 1px solid var(--line); border-radius: 8px;
  padding: 14px 18px; margin: 14px 0;
}
ul { padding-left: 22px; }
footer {
  border-top: 1px solid var(--line); padding: 24px 0 48px; color: var(--muted);
  font: 14px/1.5 -apple-system, "Segoe UI", Roboto, sans-serif;
}