:root {
  --fg: #2b2b2b;
  --muted: #6b6b6b;
  --bg: #fbfaf7;
  --accent: #3d7a5a;
  --line: #e6e2d9;
}
* { box-sizing: border-box; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--fg);
  font: 16px/1.75 -apple-system, "PingFang SC", "Microsoft YaHei", "Noto Sans SC", sans-serif;
}
.wrap { max-width: 760px; margin: 0 auto; padding: 40px 20px 60px; }
header { border-bottom: 1px solid var(--line); margin-bottom: 28px; padding-bottom: 16px; }
header a.brand { color: var(--fg); font-size: 22px; font-weight: 600; text-decoration: none; }
nav { margin-top: 6px; }
nav a { color: var(--muted); margin-right: 16px; text-decoration: none; font-size: 15px; }
nav a:hover, a { color: var(--accent); }
h1 { font-size: 26px; margin: 0 0 8px; }
h2 { font-size: 20px; margin: 32px 0 10px; }
.meta { color: var(--muted); font-size: 14px; margin-bottom: 24px; }
ul.posts { list-style: none; padding: 0; }
ul.posts li { padding: 10px 0; border-bottom: 1px dashed var(--line); }
ul.posts .date { color: var(--muted); font-size: 14px; margin-right: 10px; font-variant-numeric: tabular-nums; }
code, pre { font-family: "JetBrains Mono", Consolas, monospace; font-size: 14px; }
pre { background: #f1efe9; padding: 12px 14px; border-radius: 6px; overflow-x: auto; }
code { background: #f1efe9; padding: 1px 5px; border-radius: 4px; }
pre code { background: none; padding: 0; }
table { border-collapse: collapse; width: 100%; font-size: 15px; }
th, td { border-bottom: 1px solid var(--line); padding: 8px 6px; text-align: left; vertical-align: top; }
th { color: var(--muted); font-weight: 500; }
footer { margin-top: 48px; color: var(--muted); font-size: 13px; }
