:root{
  --bg:#f7f7f4;
  --surface:#fbfbf9;
  --ink:#171717;
  --muted:#71716b;
  --faint:#9b9b94;
  --line:#deded7;
  --accent:#a33a2b;
}
*{margin:0;padding:0;box-sizing:border-box}
html{height:100%}
body{
  min-height:100%;
  background:var(--bg);
  color:var(--ink);
  font-family:"Inter","PingFang SC","Microsoft YaHei",system-ui,-apple-system,sans-serif;
  font-size:15px;
  line-height:1.8;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit}
.wrap{
  width:min(920px,calc(100% - 48px));
  min-height:100vh;
  margin:0 auto;
  display:flex;
  flex-direction:column;
}
.site-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;
  padding:26px 0;
  border-bottom:1px solid var(--line);
}
.brand{
  font-size:14px;
  font-weight:600;
  letter-spacing:.01em;
  text-decoration:none;
}
.nav{display:flex;gap:20px;font-size:12px}
.nav a{
  color:var(--muted);
  text-decoration:none;
  padding:3px 0;
  border-bottom:1px solid transparent;
}
.nav a:hover,.nav a.active{color:var(--ink);border-bottom-color:var(--ink)}
.main{flex:1;padding:58px 0 72px}

/* 首页 */
.hero{padding-bottom:56px;border-bottom:1px solid var(--line)}
.eyebrow{
  color:var(--muted);
  font-size:10.5px;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.hero h1{
  margin-top:18px;
  font-size:clamp(46px,8vw,86px);
  line-height:1.05;
  font-weight:700;
  letter-spacing:-.06em;
}
.hero p{
  max-width:520px;
  margin-top:18px;
  color:var(--muted);
  font-size:14px;
  line-height:1.9;
}
.section-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  margin:38px 0 8px;
  font-size:11px;
  letter-spacing:.1em;
  color:var(--faint);
}
.section-head a{color:var(--muted);text-decoration:none}
.section-head a:hover{color:var(--ink)}
.post-list{border-top:0}

/* 文章列表 */
.post-row{
  display:grid;
  grid-template-columns:96px minmax(0,1fr);
  gap:20px;
  padding:22px 0;
  border-bottom:1px solid var(--line);
}
.post-date{color:var(--faint);font-size:11px;padding-top:5px;letter-spacing:.04em}
.post-main h2{font-size:18px;font-weight:600;line-height:1.5;letter-spacing:-.02em}
.post-main h2 a{text-decoration:none}
.post-main h2 a:hover{color:var(--accent)}
.post-main p{
  margin-top:7px;
  color:var(--muted);
  font-size:13px;
  line-height:1.8;
}
.post-tags{display:flex;flex-wrap:wrap;gap:12px;margin-top:10px;font-size:11px}
.post-tags a{color:var(--faint);text-decoration:none}
.post-tags a:hover{color:var(--accent)}

/* 文章页 */
.back{
  display:inline-block;
  color:var(--muted);
  font-size:11px;
  text-decoration:none;
  margin-bottom:30px;
}
.back:hover{color:var(--ink)}
.article{max-width:720px;margin:0 auto}
.article-head{padding-bottom:26px;margin-bottom:30px;border-bottom:1px solid var(--line)}
.article-head h1{
  margin-top:12px;
  font-size:clamp(30px,5vw,46px);
  line-height:1.25;
  font-weight:700;
  letter-spacing:-.04em;
}
.content{color:#292927;font-size:15px;line-height:1.95}
.content > * + *{margin-top:1.2em}
.content h2{
  margin-top:2em;
  font-size:22px;
  font-weight:600;
  letter-spacing:-.02em;
  line-height:1.5;
}
.content h3{margin-top:1.6em;font-size:17px;font-weight:600}
.content p{margin-top:1.1em}
.content ul,.content ol{padding-left:1.4em}
.content li{margin-top:.35em}
.content a{color:var(--accent);text-decoration:none;border-bottom:1px solid rgba(163,58,43,.28)}
.content a:hover{border-bottom-color:var(--accent)}
.content blockquote{
  margin:1.5em 0;
  padding:2px 0 2px 18px;
  border-left:2px solid var(--accent);
  color:var(--muted);
}
.content code{
  background:#efefe9;
  padding:.14em .4em;
  border-radius:3px;
  font-size:.9em;
  font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace;
}
.content pre{
  overflow-x:auto;
  padding:16px 18px;
  background:#f0f0ea;
  border:1px solid var(--line);
  border-radius:6px;
  line-height:1.7;
  font-size:12.5px;
}
.content pre code{background:none;padding:0;font-size:inherit}
.content img{max-width:100%;height:auto;border-radius:4px}
.content hr{border:0;border-top:1px solid var(--line);margin:2em 0}
.content table{width:100%;border-collapse:collapse;font-size:13px}
.content th,.content td{border-bottom:1px solid var(--line);padding:8px 10px;text-align:left}
.content th{font-weight:600;color:var(--muted)}
.post-nav{
  display:flex;
  justify-content:space-between;
  gap:24px;
  margin-top:56px;
  padding-top:20px;
  border-top:1px solid var(--line);
  font-size:12px;
}
.post-nav a{color:var(--muted);text-decoration:none;max-width:48%}
.post-nav a:hover{color:var(--accent)}
.post-nav span{flex:1}

/* 归档 */
.page-head{padding-bottom:28px;margin-bottom:12px;border-bottom:1px solid var(--line)}
.page-head h1{margin-top:12px;font-size:clamp(30px,5vw,44px);font-weight:700;letter-spacing:-.05em}
.page-head p{margin-top:10px;color:var(--muted);font-size:12px}
.archive{padding-top:8px}
.archive-year{
  margin:30px 0 8px;
  color:var(--accent);
  font-size:11px;
  font-weight:600;
  letter-spacing:.14em;
}
.archive-row{
  display:grid;
  grid-template-columns:64px minmax(0,1fr);
  gap:16px;
  padding:11px 0;
  border-bottom:1px solid var(--line);
  text-decoration:none;
  font-size:14px;
}
.archive-row time{color:var(--faint);font-size:11px;padding-top:3px}
.archive-row span{color:var(--ink)}
.archive-row:hover span{color:var(--accent)}

/* 分页 */
.pagination{display:flex;justify-content:center;align-items:center;gap:18px;margin-top:38px;font-size:12px}
.pagination a,.pagination span{color:var(--muted);text-decoration:none}
.pagination a:hover{color:var(--accent)}
.pagination .current{color:var(--ink)}

/* 页脚 */
.site-footer{
  display:flex;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
  padding:20px 0 28px;
  border-top:1px solid var(--line);
  color:var(--faint);
  font-size:10.5px;
}
.site-footer a{color:var(--faint);text-decoration:none;border-bottom:1px solid var(--line)}
.site-footer a:hover{color:var(--ink);border-bottom-color:var(--ink)}

@media (max-width:640px){
  .wrap{width:calc(100% - 32px)}
  .site-header{padding:20px 0;align-items:flex-start;flex-direction:column;gap:14px}
  .nav{gap:16px}
  .main{padding:40px 0 54px}
  .hero{padding-bottom:38px}
  .hero h1{font-size:clamp(42px,13vw,68px)}
  .hero p{font-size:13px}
  .post-row{grid-template-columns:1fr;gap:6px;padding:19px 0}
  .post-date{font-size:10.5px;padding-top:0}
  .post-main h2{font-size:17px}
  .article-head h1{font-size:clamp(27px,8vw,38px)}
  .content{font-size:14px}
  .archive-row{grid-template-columns:52px minmax(0,1fr);gap:10px}
  .site-footer{padding:16px 0 22px}
}

/* highlight.js */
.highlight{background:#f0f0ea!important;color:#292927!important;border-radius:6px}
.highlight .comment,.highlight .quote{color:#8a8a82}
.highlight .keyword,.highlight .selector-tag,.highlight .literal,.highlight .section,.highlight .link{color:#a33a2b}
.highlight .string,.highlight .attr{color:#4f6b3a}
.highlight .number,.highlight .symbol,.highlight .bullet{color:#8a6a24}
.highlight .title,.highlight .name,.highlight .type{color:#355f7a}
.highlight table{margin:0}
.highlight td{border:0;padding:0}
.highlight .gutter{color:#b0b0a7;padding-right:12px}