
:root { --ink:#2b2b2b; --muted:#8a8a8a; --accent:#1b808a; --line:#e5e0d5; --bg:#faf7f0; --card:#fff; }
* { box-sizing: border-box; }
body { margin:0; font-family: "PingFang SC","Microsoft YaHei","Hiragino Sans GB",serif;
       color:var(--ink); background:var(--bg); line-height:1.7; }
.wrap { max-width: 820px; margin: 0 auto; padding: 32px 20px 80px; }
header.top { border-bottom: 3px solid var(--accent); padding-bottom: 20px; margin-bottom: 24px; }
header.top h1 { margin: 0 0 6px; font-size: 26px; letter-spacing: 1px; }
header.top .sub { color: var(--muted); margin: 0; font-size: 14px; }
nav.years { display: flex; flex-wrap: wrap; gap: 8px; margin: 20px 0 28px; }
nav.years a { display:inline-block; padding: 5px 14px; border:1px solid var(--accent);
              border-radius: 20px; text-decoration:none; color:var(--accent); font-size:14px; }
nav.years a:hover, nav.years a.cur { background:var(--accent); color:#fff; }
.msg { background:var(--card); border:1px solid var(--line); border-radius:8px;
       padding:18px 20px; margin-bottom:16px; }
.msg-head { display:flex; flex-wrap:wrap; align-items:baseline; gap:10px; margin-bottom:6px; }
.msg-head .author { font-weight:700; font-size:16px; }
.msg-head .title { color:var(--accent); font-size:15px; }
.msg-head time { color:var(--muted); font-size:13px; margin-left:auto; }
.contact { font-size:12.5px; color:var(--muted); margin-bottom:8px; }
.contact a { color:var(--accent); text-decoration:none; margin-right:8px; }
.content { font-size:15px; word-break:break-word; }
.content img.emot { vertical-align:middle; }
.reply { margin-top:12px; border-top:1px dashed var(--accent); padding-top:10px; }
.reply-item { font-size:14px; margin-bottom:10px; }
.reply-item .r-head { font-weight:700; color:var(--accent); margin-bottom:2px; font-size:13.5px; }
.reply-item .r-head time { color:var(--muted); font-weight:400; font-size:12.5px; }
.ip { color:#b8b2a5; font-size:12px; margin-top:10px; }
.orphan-note { color:var(--muted); font-size:13px; font-style:italic; margin:18px 0 8px; }
footer.bottom { text-align:center; color:var(--muted); font-size:12.5px; margin-top:40px; }
.backtop { display:block; text-align:center; margin:24px 0; color:var(--accent); text-decoration:none; font-size:14px; }
