:root{
  --fg:#191919;
  --fg2:#333;
  --muted:#8c8c8c;
  --line:#e9e9e9;
  --accent:#b8460f;
}
*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  background:#fff;color:var(--fg);line-height:1.85;
  font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
.wrap{max-width:640px;margin:0 auto;padding:0 22px}

/* ---------- header ---------- */
header.site{padding:72px 0 34px}
.site-name{font-size:19px;font-weight:600;letter-spacing:.02em;display:inline-block}
.site-desc{color:var(--muted);font-size:13px;margin-top:8px}
header.site.sm{padding:40px 0 0}
.back{display:inline-block;font-size:13px;color:var(--muted);margin-top:18px}
.back:hover{color:var(--accent)}

/* ---------- list ---------- */
ol.posts{list-style:none;border-top:1px solid var(--line)}
ol.posts li{border-bottom:1px solid var(--line)}
ol.posts a{display:block;padding:24px 0}
.date{font-size:12.5px;color:var(--muted);letter-spacing:.03em;font-variant-numeric:tabular-nums}
.title{font-size:17px;font-weight:600;line-height:1.55;margin-top:3px}
ol.posts a:hover .title{color:var(--accent)}
.excerpt{font-size:13px;color:var(--muted);margin-top:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.list-foot{padding:34px 0 0;font-size:12.5px;color:var(--muted)}

/* ---------- article ---------- */
article{padding:44px 0 8px}
h1{font-size:25px;line-height:1.45;font-weight:700;letter-spacing:.01em}
.art-meta{font-size:13px;color:var(--muted);margin-top:14px}
.art-body{margin-top:38px;font-size:16px;line-height:1.95;color:var(--fg2)}
.art-body p{margin-bottom:1.45em}
.art-body h2{font-size:17.5px;font-weight:600;color:var(--fg);margin:2.4em 0 .9em}
.art-body ul,.art-body ol{margin:0 0 1.45em 1.35em}
.art-body li{margin-bottom:.55em}
.art-body blockquote{border-left:2px solid var(--line);padding:2px 0 2px 18px;color:var(--muted);margin:1.8em 0}
.art-body strong{color:var(--fg);font-weight:600}
.art-note{margin-top:44px;padding-top:20px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}

/* ---------- footer ---------- */
footer.site{margin-top:30px;padding:26px 0 56px;border-top:1px solid var(--line);
  font-size:13px;color:var(--muted);display:flex;flex-wrap:wrap;gap:6px 18px;align-items:baseline}
footer.site a:hover{color:var(--accent)}
footer.site .cr{font-size:12px;color:#a8a8a8}
