:root{
  --paper:#fbfaf7;
  --card:#ffffff;
  --ink:#1c1b19;
  --ink-2:#45423c;
  --sub:#79736a;
  --line:#e6e0d5;
  --line-soft:#efeae0;
  --accent:#8a4b2a;
  --accent-soft:#f3ece2;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{
  background:var(--paper);color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;
  line-height:1.75;
}

/* 顶部进度条 */
.progress{position:fixed;top:0;left:0;right:0;height:2px;background:transparent;z-index:50}
.progress span{display:block;height:100%;width:0;background:var(--accent);transition:width .1s linear}

/* 站点头 */
.site-head{
  max-width:1180px;margin:0 auto;padding:22px 28px;
  display:flex;align-items:baseline;justify-content:space-between;
}
.brand{font-size:15px;font-weight:600;color:var(--ink);text-decoration:none;letter-spacing:.02em}
.brand span{color:var(--sub);font-weight:400}
.site-head nav a{color:var(--sub);text-decoration:none;font-size:14px;margin-left:18px}
.site-head nav a:hover{color:var(--accent)}

.wrap{max-width:760px;margin:0 auto;padding:0 28px 120px}

/* 文章头 */
.art-head{padding:38px 0 30px;border-bottom:1px solid var(--line)}
.art-head h1{
  font-family:"Noto Serif SC","Source Han Serif SC","Songti SC",SimSun,serif;
  font-size:33px;line-height:1.4;font-weight:700;letter-spacing:.01em;
}
.subtitle{
  font-family:"Noto Serif SC","Songti SC",SimSun,serif;
  margin-top:14px;font-size:16px;color:var(--ink-2);line-height:1.7;
}
.meta{margin-top:18px;font-size:13px;color:var(--sub);letter-spacing:.03em}

/* 目录 */
.toc{
  margin:30px 0 46px;padding:22px 26px;background:var(--card);
  border:1px solid var(--line);border-radius:10px;
}
.toc-title{
  font-size:12px;letter-spacing:.18em;color:var(--sub);margin-bottom:14px;font-weight:600;
}
.toc a{
  display:block;color:var(--ink-2);text-decoration:none;font-size:14px;
  line-height:1.95;padding-left:2px;
}
.toc a:hover{color:var(--accent)}
.toc .toc-l3{padding-left:20px;font-size:13.5px;color:var(--sub)}

/* 正文 */
.art-body{
  font-family:"Noto Serif SC","Source Han Serif SC","Songti SC",SimSun,serif;
  font-size:17px;line-height:1.98;color:var(--ink);letter-spacing:.008em;
}
.art-body p{margin:0 0 1.25em;text-align:justify}
.art-body strong{font-weight:700;color:#141310}
.art-body h2{
  font-size:23px;line-height:1.5;margin:2.6em 0 .9em;padding-top:1.3em;
  border-top:1px solid var(--line);font-weight:700;letter-spacing:.01em;
}
.art-body h3{
  font-size:19px;margin:2em 0 .7em;font-weight:700;color:#26241f;
}
.art-body h4{font-size:17px;margin:1.6em 0 .6em;font-weight:700;color:var(--ink-2)}
.art-body hr{
  border:0;height:1px;background:var(--line);margin:2.6em 0;
}
.art-body blockquote{
  margin:1.6em 0;padding:16px 22px;background:var(--accent-soft);
  border-left:3px solid var(--accent);border-radius:0 6px 6px 0;
  color:#3a332b;font-size:15.5px;line-height:1.9;
}
.art-body blockquote p{margin:0 0 .7em}
.art-body blockquote p:last-child{margin-bottom:0}
.art-body ul,.art-body ol{margin:0 0 1.35em;padding-left:1.6em}
.art-body li{margin-bottom:.55em;line-height:1.9}
.art-body ul li::marker{color:var(--accent)}
.art-body ol li::marker{color:var(--accent);font-weight:600}
.art-body code{
  font-family:ui-monospace,Consolas,Menlo,monospace;font-size:.85em;
  background:#f1ede4;border-radius:4px;padding:1px 5px;
}
.art-body pre{
  background:#f6f2ea;border:1px solid var(--line);border-radius:8px;
  padding:16px 18px;overflow-x:auto;margin:1.6em 0;
}
.art-body pre code{
  background:none;padding:0;font-size:13px;line-height:1.75;
  white-space:pre;color:#3a3630;
}

/* 表格 */
.table-wrap{overflow-x:auto;margin:1.7em 0;border:1px solid var(--line);border-radius:8px;background:var(--card)}
.art-body table{border-collapse:collapse;width:100%;font-size:14px;line-height:1.7;
  font-family:-apple-system,"PingFang SC","Microsoft YaHei",sans-serif}
.art-body th,.art-body td{
  border-right:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);
  padding:10px 13px;text-align:left;vertical-align:top;
}
.art-body th{
  background:#f4f0e7;font-weight:600;color:#2c2924;white-space:nowrap;
  border-bottom:1px solid var(--line);
}
.art-body tr:last-child td{border-bottom:0}
.art-body td:last-child,.art-body th:last-child{border-right:0}
.art-body tbody tr:hover{background:#fcfaf6}

/* 文末 */
.art-foot{
  margin-top:64px;padding-top:24px;border-top:1px solid var(--line);
  display:flex;justify-content:space-between;font-size:14px;
}
.art-foot a{color:var(--sub);text-decoration:none}
.art-foot a:hover{color:var(--accent)}

/* 文集索引 */
.list-head{padding:56px 0 34px;border-bottom:1px solid var(--line)}
.list-head h1{
  font-family:"Noto Serif SC","Songti SC",SimSun,serif;font-size:32px;font-weight:700;
  letter-spacing:.04em;
}
.list-head p{margin-top:12px;color:var(--sub);font-size:14.5px}
.cards{margin-top:34px;display:flex;flex-direction:column;gap:18px}
.card{
  display:block;background:var(--card);border:1px solid var(--line);
  border-radius:12px;padding:26px 28px;text-decoration:none;color:inherit;
  transition:border-color .18s,box-shadow .18s,transform .18s;
}
.card:hover{border-color:#d8cfbe;box-shadow:0 4px 18px rgba(60,45,25,.07);transform:translateY(-1px)}
.card .tag{
  display:inline-block;font-size:11.5px;letter-spacing:.12em;color:var(--accent);
  background:var(--accent-soft);padding:3px 10px;border-radius:999px;margin-bottom:14px;
}
.card h2{
  font-family:"Noto Serif SC","Songti SC",SimSun,serif;
  font-size:20px;line-height:1.5;font-weight:700;margin-bottom:10px;
}
.card p{font-size:14.5px;color:var(--ink-2);line-height:1.85}
.card-meta{margin-top:16px;font-size:12.5px;color:var(--sub);letter-spacing:.03em}

/* 移动端 */
@media (max-width:720px){
  .wrap{padding:0 20px 90px}
  .site-head{padding:18px 20px}
  .art-head{padding:26px 0 24px}
  .art-head h1{font-size:25px}
  .art-body{font-size:16px;line-height:1.9}
  .art-body h2{font-size:20px}
  .art-body h3{font-size:17.5px}
  .toc{padding:18px 18px;margin:24px 0 34px}
}

@media print{
  .progress,.site-head,.toc,.art-foot{display:none}
  body{background:#fff}
  .wrap{max-width:none;padding:0}
  .art-body{font-size:11.5pt;line-height:1.7}
  .table-wrap{overflow:visible}
  .art-body h2{page-break-after:avoid}
  .art-body table{page-break-inside:avoid}
}
