/* 林先生的小站 - 全站样式（零依赖） */
:root{
  --fg:#1f2328; --fg-2:#3d4451; --muted:#6b7280;
  --bg:#fdfdfc; --panel:#ffffff; --line:#e6e8eb;
  --accent:#0f766e; --accent-soft:#ecf7f5;
  --code-bg:#f6f8fa;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--bg); color:var(--fg);
  font:16px/1.8 -apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",Arial,sans-serif;
}
.wrap{max-width:820px;margin:0 auto;padding:0 22px}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}

header.site{padding:34px 0 0}
.site-name{
  font:700 23px/1.3 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  letter-spacing:.4px;
}
.site-name a{color:var(--fg)}
.site-name a:hover{text-decoration:none;color:var(--accent)}
.tagline{color:var(--muted);font-size:14.5px;margin:8px 0 0}
nav{margin:20px 0 0;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:14.5px}
nav a{color:var(--fg-2);margin-right:22px}
nav a:hover{color:var(--accent);text-decoration:none}
nav a.on{color:var(--accent);font-weight:600}

main{padding:34px 0 20px}
section{margin-bottom:38px}
h2{
  font:600 14px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;
  letter-spacing:1.2px;text-transform:uppercase;color:var(--muted);
  margin:0 0 16px;
}
h3{font-size:17px;line-height:1.5;margin:0 0 6px;font-weight:650}
h3 a{color:var(--fg)}
h3 a:hover{color:var(--accent);text-decoration:none}
p{margin:0 0 12px}

.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.card{border:1px solid var(--line);border-radius:8px;padding:14px 16px;background:var(--panel)}
.card .t{font-weight:650;font-size:15px;margin-bottom:3px}
.card .d{color:var(--muted);font-size:13px;line-height:1.6}

ul.posts{list-style:none;margin:0;padding:0}
ul.posts li{padding:16px 0;border-bottom:1px solid var(--line)}
ul.posts li:last-child{border-bottom:none}
.meta{font-size:12.5px;color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;margin-bottom:5px}
.tag{
  display:inline-block;margin-left:10px;padding:1px 8px;border-radius:10px;
  background:var(--accent-soft);color:var(--accent);font-size:12px;
}
.excerpt{color:var(--fg-2);font-size:14.5px;margin:0;line-height:1.75}

.panel{border:1px solid var(--line);border-radius:8px;background:var(--panel);padding:16px 18px}
.stack{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.stack span{
  font:12.5px/1 ui-monospace,SFMono-Regular,Menlo,monospace;
  padding:5px 9px;border:1px solid var(--line);border-radius:6px;color:var(--fg-2);background:#fafafa;
}

article{padding-top:8px}
article h1{font-size:24px;line-height:1.45;margin:0 0 10px;font-weight:700}
article .meta{margin-bottom:24px;padding-bottom:14px;border-bottom:1px solid var(--line)}
article h2{
  font-size:18px;text-transform:none;letter-spacing:0;color:var(--fg);
  margin:30px 0 12px;font-family:inherit;font-weight:650;
}
article ul,article ol{padding-left:22px;margin:0 0 14px}
article li{margin-bottom:6px}
code{
  font:13.5px/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  background:var(--code-bg);padding:2px 6px;border-radius:4px;border:1px solid var(--line);
}
pre{
  background:var(--code-bg);border:1px solid var(--line);border-radius:8px;
  padding:14px 16px;overflow-x:auto;margin:0 0 16px;
}
pre code{background:none;border:none;padding:0;font-size:13px;line-height:1.65}
blockquote{
  margin:0 0 16px;padding:10px 16px;border-left:3px solid var(--accent);
  background:var(--accent-soft);color:var(--fg-2);font-size:14.5px;border-radius:0 6px 6px 0;
}
.back-link{font-size:14px;display:inline-block;margin-top:26px}

footer{margin-top:40px;padding:24px 0 40px;border-top:1px solid var(--line);color:var(--muted);font-size:13px;line-height:1.9}
footer p{margin:0}
footer .beian a{color:var(--muted)}
footer .beian a:hover{color:var(--accent)}
footer .sep{margin:0 8px;color:#ccd0d5}

@media (max-width:620px){
  .cards{grid-template-columns:1fr}
  .wrap{padding:0 18px}
  .site-name{font-size:20px}
  article h1{font-size:21px}
}
