:root { --ink: #2b2b2b; --mute: #7a7a7a; --line: #e6e1d8; --paper: #faf8f4; --accent: #5b7a6a; }
* { box-sizing: border-box; }
html { font-size: 17px; }
body {
  margin: 0; background: var(--paper); color: var(--ink);
  font-family: "Noto Serif SC", "Songti SC", "SimSun", serif; line-height: 1.85;
}
.wrap { max-width: 680px; margin: 0 auto; padding: 48px 20px 64px; }
header.site { border-bottom: 1px solid var(--line); padding-bottom: 18px; margin-bottom: 36px; }
header.site a.title { color: var(--ink); text-decoration: none; font-size: 1.6rem; letter-spacing: .08em; }
header.site p { margin: 4px 0 0; color: var(--mute); font-size: .9rem; }
nav { margin-top: 10px; font-size: .9rem; }
nav a { color: var(--accent); text-decoration: none; margin-right: 18px; }
h1 { font-size: 1.35rem; font-weight: 600; margin: 0 0 6px; }
h2 { font-size: 1.1rem; margin: 0 0 4px; }
.meta { color: var(--mute); font-size: .85rem; margin-bottom: 24px; }
ul.posts { list-style: none; padding: 0; margin: 0; }
ul.posts li { padding: 18px 0; border-bottom: 1px dashed var(--line); }
ul.posts a { color: var(--ink); text-decoration: none; }
ul.posts a:hover { color: var(--accent); }
ul.posts p { margin: 4px 0 0; color: var(--mute); font-size: .92rem; }
article p { margin: 0 0 1.1em; text-align: justify; }
blockquote { margin: 1.2em 0; padding: 4px 16px; border-left: 3px solid var(--line); color: #555; }
footer { margin-top: 56px; padding-top: 16px; border-top: 1px solid var(--line); color: var(--mute); font-size: .8rem; }
a { color: var(--accent); }
