:root{
  --bg:#fbfbfa; --fg:#1a1a19; --muted:#6b6b68; --card:#fff; --line:#e7e7e2;
  --accent:#2f6f4f; --accent-soft:#eef5f0; --danger:#b3261e;
}
@media (prefers-color-scheme:dark){
  :root{ --bg:#141414; --fg:#eeedea; --muted:#9d9c98; --card:#1c1c1c; --line:#2c2c2a;
         --accent:#7fc0a0; --accent-soft:#1e2a24; --danger:#f2b8b5; }
}
*{box-sizing:border-box}
body{
  margin:0; padding:2.5rem 1.25rem 3rem;
  background:var(--bg); color:var(--fg);
  font:16px/1.75 -apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,sans-serif;
  -webkit-font-smoothing:antialiased;
}
/* 内容短时把页脚压到视口底部，别让它悬在半空 */
.wrap{max-width:44rem; margin:0 auto; min-height:calc(100vh - 5.5rem); display:flex; flex-direction:column}
a{color:var(--accent)}
h1,h2,h3{line-height:1.3; letter-spacing:-.01em}
.site{
  display:flex; flex-wrap:wrap; gap:.4rem 1rem; align-items:baseline;
  justify-content:space-between; margin-bottom:2rem;
}
.site h1{margin:0; font-size:clamp(1.4rem,4vw,1.9rem)}
.site h1 a{text-decoration:none; color:inherit}
.sub,.muted{color:var(--muted); font-size:.86rem; margin:.2rem 0}
.list{display:grid; gap:.8rem}
.item{
  display:block; padding:1rem 1.1rem; background:var(--card);
  border:1px solid var(--line); border-radius:14px; text-decoration:none; color:inherit;
}
a.item:hover{border-color:var(--accent)}
.item h2{margin:0 0 .3rem; font-size:1.05rem}
.item .meta{margin:0; color:var(--muted); font-size:.78rem}
.item .excerpt{margin:.5rem 0 0; color:var(--muted); font-size:.9rem}
.card{background:var(--card); border:1px solid var(--line); border-radius:14px; padding:1.1rem 1.2rem}
label{display:block; margin:.7rem 0; font-size:.86rem; color:var(--muted)}
input,textarea,button{font:inherit; color:inherit}
input,textarea{
  width:100%; margin-top:.3rem; padding:.55rem .7rem;
  background:transparent; border:1px solid var(--line); border-radius:10px;
}
textarea{font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:.92rem; line-height:1.6}
button{
  padding:.5rem .95rem; border:1px solid var(--accent); border-radius:10px;
  background:var(--accent-soft); color:var(--accent); cursor:pointer; font-weight:600;
}
button:hover{background:var(--accent); color:var(--bg)}
.row{display:flex; flex-wrap:wrap; align-items:center; gap:.6rem; margin-top:.9rem}
.article h1{margin:.2rem 0 1rem; font-size:1.5rem}
.article h2,.article h3{margin:1.4rem 0 .5rem}
.article p{margin:.85rem 0}
.article pre{
  overflow:auto; padding:.85rem 1rem; background:var(--accent-soft);
  border-radius:10px; font-size:.88rem;
}
.article code{
  background:var(--accent-soft); padding:.1rem .32rem; border-radius:6px; font-size:.9em;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
}
.article pre code{background:none; padding:0}
.article p.quote{
  margin:.9rem 0; padding-left:.9rem; border-left:3px solid var(--accent); color:var(--muted);
}
.article ul{padding-left:1.3rem}
.article img{max-width:100%; border-radius:10px}
footer.site{
  margin-top:auto; margin-bottom:0; padding-top:1.2rem; border-top:1px solid var(--line);
  color:var(--muted); font-size:.82rem;
  display:flex; flex-wrap:wrap; gap:.4rem 1rem; justify-content:space-between;
}
.hint{color:var(--muted); font-size:.8rem; margin:-.3rem 0 .5rem}
