:root {
  --bg: #f7f6f2;
  --paper: #fffefa;
  --text: #222;
  --muted: #777;
  --line: #dfddd5;
  --accent: #8b6f47;
  --max: 820px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
  line-height: 1.85;
}
a { color: inherit; }
.wrap { width: min(calc(100% - 40px), var(--max)); margin: auto; }
.site-header {
  position: sticky; top: 0; z-index: 10;
  background: rgba(247,246,242,.9);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(0,0,0,.05);
}
.nav { height: 70px; display:flex; align-items:center; justify-content:space-between; }
.brand { font-size: 22px; font-weight: 700; text-decoration:none; letter-spacing:.04em; }
.brand span { color: var(--accent); }
nav { display:flex; gap: 24px; }
nav a { text-decoration:none; color:var(--muted); font-size:14px; }
.hero { padding: 95px 0 55px; }
.eyebrow { color:var(--accent); font-size:11px; letter-spacing:.18em; font-weight:700; margin:0 0 12px; }
.hero h1 { font-family: Georgia, "Songti SC", "STSong", serif; font-size:clamp(38px, 7vw, 64px); line-height:1.2; font-weight:500; margin:0 0 25px; letter-spacing:-.03em; }
.intro { color:var(--muted); max-width:560px; font-size:16px; }
.toolbar { margin: 10px 0 28px; }
#search { width:100%; padding:14px 16px; border:1px solid var(--line); border-radius:10px; background:var(--paper); font-size:14px; outline:none; }
#search:focus { border-color:#b8ad9b; }
.post-card { padding:32px 0; border-top:1px solid var(--line); }
.post-meta { color:var(--muted); font-size:12px; margin-bottom:7px; }
.post-card h2 { margin:0 0 8px; font-family:Georgia, "Songti SC", "STSong", serif; font-size:28px; font-weight:500; }
.post-card h2 a { text-decoration:none; }
.post-card p { margin:0 0 12px; color:#666; }
.read-more { font-size:13px; color:var(--accent); text-decoration:none; }
.empty { color:var(--muted); padding:30px 0; }
.about { margin:90px 0 70px; padding:35px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.about h2 { font-family:Georgia, "Songti SC", "STSong", serif; font-weight:500; }
.about p:last-child { color:#666; max-width:600px; }
.footer { padding:30px 0 60px; color:#999; font-size:12px; }
.article-page { padding:70px 0 80px; }
.back { display:inline-block; color:var(--muted); text-decoration:none; font-size:13px; margin-bottom:55px; }
.article-page h1 { font-family:Georgia, "Songti SC", "STSong", serif; font-size:clamp(38px, 7vw, 60px); line-height:1.25; font-weight:500; margin:0 0 20px; }
.article-excerpt { color:var(--muted); font-size:17px; max-width:650px; margin-bottom:55px; }
.article-body { font-size:17px; }
.article-body p { margin:0 0 26px; }
.article-body h2 { font-family:Georgia, "Songti SC", "STSong", serif; font-weight:500; margin:48px 0 18px; }
.article-body ul { padding-left:25px; margin-bottom:28px; }
@media (max-width:600px) {
  .wrap { width:min(calc(100% - 28px), var(--max)); }
  .hero { padding:65px 0 40px; }
  .hero h1 { font-size:40px; }
  .post-card { padding:25px 0; }
  .article-page { padding-top:45px; }
}
