:root{
  --paper:#FAF8F3;
  --paper2:#F2EEE5;
  --ink:#20262A;
  --ink2:#4A555A;
  --ink3:#7A868C;
  --moss:#35604E;
  --moss-l:#7A9E88;
  --slate:#4E6B7A;
  --ochre:#B8873A;
  --rust:#A8452F;
  --line:#DCD5C7;
  --serif:"Noto Serif CJK SC","Source Han Serif SC","Songti SC",serif;
  --sans:"Noto Sans CJK SC","Source Han Sans SC","Microsoft YaHei",sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);
  font-family:var(--serif);font-size:16.5px;line-height:1.95;
  -webkit-font-smoothing:antialiased;}
.wrap{max-width:1420px;margin:0 auto;display:grid;grid-template-columns:250px minmax(0,1fr);gap:0}
/* ============ 侧栏 ============ */
aside{border-right:1px solid var(--line);padding:28px 18px 60px;position:sticky;top:0;height:100vh;overflow-y:auto;background:var(--paper)}
aside .brandmark{font-family:var(--sans);font-size:13px;letter-spacing:.14em;color:var(--moss);margin-bottom:4px}
aside .brandsub{font-family:var(--sans);font-size:11px;color:var(--ink3);letter-spacing:.06em;margin-bottom:20px}
aside nav{font-family:var(--sans);font-size:12.8px;line-height:1.75}
aside nav a{display:block;color:var(--ink2);text-decoration:none;padding:3.5px 8px;border-left:2px solid transparent;border-radius:0 4px 4px 0}
aside nav a:hover{background:var(--paper2);color:var(--moss);border-left-color:var(--moss-l)}
aside nav a.part{color:var(--ink);font-weight:600;margin-top:12px;letter-spacing:.04em}
aside nav a.sub{padding-left:20px;font-size:12.2px;color:var(--ink3)}
/* ============ 主体 ============ */
main{padding:0 0 90px;min-width:0}
.inner{max-width:900px;margin:0 auto;padding:0 46px}
/* 封面 */
.cover{padding:96px 46px 54px;border-bottom:1px solid var(--line);background:
  radial-gradient(1200px 380px at 8% -10%, rgba(122,158,136,.18), transparent 70%),
  radial-gradient(900px 320px at 96% 0%, rgba(184,135,58,.12), transparent 72%);}
.cover .kicker{font-family:var(--sans);font-size:12px;letter-spacing:.3em;color:var(--moss);margin-bottom:26px}
.cover h1{font-size:46px;line-height:1.28;margin:0 0 8px;letter-spacing:.02em;font-weight:700}
.cover h1 small{display:block;font-size:19px;font-weight:400;color:var(--ink2);letter-spacing:.06em;margin-top:14px;line-height:1.7}
.cover .rule{width:74px;height:3px;background:var(--rust);margin:30px 0 26px}
.cover .lede{font-size:17px;color:var(--ink2);max-width:640px}
.cover .meta{display:flex;flex-wrap:wrap;gap:10px 30px;margin-top:38px;font-family:var(--sans);font-size:12.4px;color:var(--ink3)}
.cover .meta b{display:block;color:var(--ink);font-weight:600;font-size:13.4px;margin-top:2px}
/* 标题 */
h2.part{font-family:var(--sans);font-size:13px;letter-spacing:.26em;color:var(--rust);
  margin:74px 0 6px;padding-top:26px;border-top:2px solid var(--ink);text-transform:uppercase}
h2.ch{font-size:29px;line-height:1.45;margin:6px 0 6px;font-weight:700;letter-spacing:.01em}
h2.ch em{font-style:normal;font-family:var(--sans);font-size:12px;letter-spacing:.18em;color:var(--ink3);display:block;margin-bottom:10px;font-weight:400}
h3{font-size:20px;margin:42px 0 10px;font-weight:700;letter-spacing:.01em;color:var(--ink)}
h3 span.num{font-family:var(--sans);font-size:13px;color:var(--moss);margin-right:10px;letter-spacing:.06em}
h4{font-family:var(--sans);font-size:15.5px;margin:26px 0 8px;font-weight:600;color:var(--slate)}
p{margin:0 0 15px;text-align:justify}
.lead{font-size:17.5px;color:var(--ink2)}
blockquote{margin:22px 0;padding:16px 22px;border-left:3px solid var(--moss-l);background:var(--paper2);
  font-size:16px;color:var(--ink2)}
blockquote p:last-child{margin:0}
strong{font-weight:700;color:var(--ink)}
em.term{font-style:normal;border-bottom:1px dotted var(--ink3);cursor:help}
/* 列表 */
ul,ol{margin:0 0 16px;padding-left:24px}
li{margin:6px 0}
ul.tight li{margin:3px 0}
/* 定理块 */
.thm{border:1px solid var(--line);border-left:3px solid var(--moss);background:#fff;
  padding:18px 22px;margin:22px 0;border-radius:2px}
.thm .tag{font-family:var(--sans);font-size:11.5px;letter-spacing:.16em;color:var(--moss);display:block;margin-bottom:6px}
.thm .name{font-weight:700;font-size:16.5px;margin-right:8px}
.thm p{margin:8px 0 0;font-size:15.6px;line-height:1.9}
.thm.new{border-left-color:var(--rust)}
.thm.new .tag{color:var(--rust)}
/* 证据分级徽标 */
.g{display:inline-block;font-family:var(--sans);font-size:10.5px;font-weight:700;line-height:1.6;
  padding:0 5px;border-radius:2px;letter-spacing:.06em;vertical-align:2px;margin-left:3px}
.gP{background:#E4EFE8;color:#2C5B47;border:1px solid #B9D3C4}
.gB{background:#EDF0F3;color:#3E5D6E;border:1px solid #C3D2DA}
.gM{background:#F7EFE2;color:#8A6420;border:1px solid #E3CFA8}
.gX{background:#F8E7E3;color:#94382A;border:1px solid #E2BDB4}
/* 表格 */
.tb{width:100%;border-collapse:collapse;margin:20px 0 24px;font-size:14.4px;line-height:1.75;
  font-family:var(--sans);background:#fff}
.tb caption{caption-side:top;text-align:left;font-size:12.4px;color:var(--ink3);padding-bottom:8px;letter-spacing:.04em}
.tb th,.tb td{border-bottom:1px solid var(--line);padding:9px 11px;vertical-align:top;text-align:left}
.tb thead th{background:var(--paper2);border-bottom:1.5px solid #C9C0AE;font-weight:600;font-size:13.4px;color:var(--ink);letter-spacing:.03em}
.tb td.n{white-space:nowrap}
.tb tbody tr:hover{background:#FCFAF6}
.tb .c{text-align:center}
.tb tfoot td{border-top:1.5px solid #C9C0AE;border-bottom:none;font-weight:600;background:var(--paper2)}
/* 公式 */
.eq{font-family:var(--serif);text-align:center;font-size:18px;margin:22px 0;letter-spacing:.04em}
.eq small{font-family:var(--sans);font-size:11.5px;color:var(--ink3);display:block;margin-top:6px;letter-spacing:.06em}
code{font-family:"Noto Sans Mono CJK SC",monospace;font-size:.9em;background:var(--paper2);padding:1px 5px;border-radius:3px}
pre{background:#2A3033;color:#E8E4DA;padding:16px 18px;border-radius:4px;overflow-x:auto;font-size:13px;line-height:1.7;
  font-family:"Noto Sans Mono CJK SC",monospace}
pre code{background:none;color:inherit;padding:0}
/* 卡片/网格 */
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:22px 0}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:22px 0}
.card{border:1px solid var(--line);background:#fff;padding:16px 18px;border-radius:2px}
.card h5{margin:0 0 8px;font-family:var(--sans);font-size:14.5px;font-weight:600;color:var(--moss)}
.card p{margin:0;font-size:14.6px;line-height:1.85;color:var(--ink2)}
.note{background:#FBF6EC;border:1px solid #E5D5B4;padding:16px 20px;margin:22px 0;font-size:15.2px;border-radius:2px}
.note b{color:#7A5A18}
.warn{background:#FBF0ED;border:1px solid #E4C4BB;padding:16px 20px;margin:22px 0;font-size:15.2px;border-radius:2px}
.warn b{color:#8F3A2C}
figure{margin:30px 0}
figure svg{width:100%;height:auto;display:block;background:#fff;border:1px solid var(--line)}
figcaption{font-family:var(--sans);font-size:12.4px;color:var(--ink3);margin-top:9px;letter-spacing:.03em}
hr.end{border:none;border-top:1px solid var(--line);margin:56px 0 30px}
footer{border-top:2px solid var(--ink);margin-top:70px;padding:26px 46px 60px;font-family:var(--sans);font-size:12.6px;color:var(--ink3);line-height:2}
footer b{color:var(--ink2);font-weight:600}
@media (max-width:1180px){
  .wrap{grid-template-columns:1fr}
  aside{display:none}
  .inner,.cover{padding-left:26px;padding-right:26px}
  .cover h1{font-size:34px}
  .grid2,.grid3{grid-template-columns:1fr}
  body{font-size:16px}
}
@media print{
  aside{display:none}.wrap{display:block}.inner{max-width:100%}
  body{font-size:11pt}
}

/* ================= 站点外壳（多页版新增） ================= */
.wrap{display:block}
aside{display:none}
main{padding-bottom:60px}

.topbar{position:sticky;top:0;z-index:80;background:rgba(250,248,243,.93);
  backdrop-filter:saturate(140%) blur(12px);-webkit-backdrop-filter:saturate(140%) blur(12px);
  border-bottom:1px solid var(--line)}
.topbar .bar{max-width:1420px;margin:0 auto;display:flex;align-items:center;gap:14px;
  padding:0 26px;height:58px}
.brand{display:flex;align-items:baseline;gap:9px;text-decoration:none;color:var(--ink);flex:0 0 auto}
.brand b{font-family:var(--serif);font-size:21px;letter-spacing:.1em;color:var(--rust);font-weight:700}
.brand span{font-family:var(--sans);font-size:9.5px;letter-spacing:.2em;color:var(--ink3)}
.tnav{display:flex;align-items:center;gap:0;margin-left:auto;font-family:var(--sans)}
.tnav a{color:var(--ink2);text-decoration:none;font-size:12.6px;padding:7px 10px;border-radius:3px;
  letter-spacing:.02em;white-space:nowrap;transition:background .15s,color .15s}
.tnav a:hover{background:var(--paper2);color:var(--rust)}
.tnav a.on{color:var(--rust);font-weight:600;background:#F7EEE9}
.topbar .dl{font-family:var(--sans);font-size:12px;border:1px solid var(--line);padding:6px 12px;
  border-radius:3px;color:var(--ink2);text-decoration:none;white-space:nowrap;margin-left:10px}
.topbar .dl:hover{border-color:var(--rust);color:var(--rust)}
.burger{display:none;margin-left:auto;background:none;border:1px solid var(--line);border-radius:3px;
  font-family:var(--sans);font-size:12.5px;color:var(--ink2);padding:7px 12px;cursor:pointer}

/* 移动端抽屉 */
.drawer{display:none;position:fixed;inset:58px 0 0 0;background:var(--paper);z-index:79;
  overflow-y:auto;padding:12px 22px 60px}
.drawer.open{display:block}
.drawer a{display:block;font-family:var(--sans);font-size:14.5px;color:var(--ink2);text-decoration:none;
  padding:13px 6px;border-bottom:1px solid var(--line)}
.drawer a.on{color:var(--rust);font-weight:600}
.drawer a i{font-style:normal;font-size:11px;color:var(--ink3);margin-right:12px;letter-spacing:.1em}

/* 页首 */
.pagehead{max-width:900px;margin:0 auto;padding:52px 46px 0}
.pagehead h2.part{margin:0 0 10px;padding-top:0;border-top:none}
.pagehead h2.ch{margin:0 0 6px;font-size:33px}
.pagehead{border-bottom:1px solid var(--line);padding-bottom:30px;margin-bottom:14px}

/* 上下页 */
.pager{max-width:900px;margin:64px auto 0;padding:26px 46px 0;border-top:1px solid var(--line);
  display:flex;justify-content:space-between;gap:16px;font-family:var(--sans)}
.pager a{display:block;text-decoration:none;color:var(--ink2);max-width:46%}
.pager a:hover{color:var(--rust)}
.pager .lab{display:block;font-size:11px;letter-spacing:.16em;color:var(--ink3);margin-bottom:5px}
.pager .ttl{font-size:14.5px;font-weight:600}
.pager .next{text-align:right;margin-left:auto}

/* 首页 */
.home-hero{padding:86px 46px 10px;max-width:980px;margin:0 auto}
.home-hero .kicker{font-family:var(--sans);font-size:12px;letter-spacing:.3em;color:var(--moss);margin-bottom:24px}
.home-hero h1{font-size:52px;line-height:1.25;margin:0 0 10px;letter-spacing:.02em;font-weight:700}
.home-hero h1 small{display:block;font-size:19px;font-weight:400;color:var(--ink2);letter-spacing:.05em;
  margin-top:16px;line-height:1.75}
.home-hero .rule{width:76px;height:3px;background:var(--rust);margin:28px 0 24px}
.home-hero .lede{font-size:17.5px;color:var(--ink2);max-width:720px}
.home-hero .meta{display:flex;flex-wrap:wrap;gap:12px 34px;margin-top:34px;font-family:var(--sans);
  font-size:12.4px;color:var(--ink3)}
.home-hero .meta b{display:block;color:var(--ink);font-weight:600;font-size:13.6px;margin-top:3px}

.toc{max-width:1100px;margin:56px auto 0;padding:0 46px}
.toc h2{font-family:var(--sans);font-size:12px;letter-spacing:.28em;color:var(--rust);
  border-top:2px solid var(--ink);padding-top:18px;margin:0 0 26px}
.toc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);
  border:1px solid var(--line)}
.toc-item{background:var(--paper);padding:22px 24px;text-decoration:none;color:var(--ink);
  display:block;transition:background .18s}
.toc-item:hover{background:#fff}
.toc-item .no{font-family:var(--sans);font-size:10.5px;letter-spacing:.2em;color:var(--rust);
  display:block;margin-bottom:8px}
.toc-item .nm{font-size:19px;font-weight:700;letter-spacing:.02em;display:block;margin-bottom:6px}
.toc-item .ds{font-family:var(--sans);font-size:12.6px;color:var(--ink3);line-height:1.7}
.toc-item.wide{grid-column:1 / -1}

.quote-band{max-width:1100px;margin:70px auto 0;padding:0 46px}
.quote-band .box{border-top:2px solid var(--ink);border-bottom:1px solid var(--line);
  padding:38px 0 34px;text-align:center}
.quote-band .q{font-size:26px;letter-spacing:.06em;color:var(--ink)}
.quote-band .s{font-family:var(--sans);font-size:12.4px;color:var(--ink3);letter-spacing:.08em;margin-top:12px}

.sitefoot{border-top:1px solid var(--line);margin-top:76px;padding:34px 46px 70px;background:var(--paper2)}
.sitefoot .fin{max-width:1100px;margin:0 auto;display:flex;flex-wrap:wrap;gap:26px 50px;
  font-family:var(--sans);font-size:12.4px;color:var(--ink3);line-height:2}
.sitefoot b{color:var(--ink2);font-weight:600}

@media (max-width:1120px){
  .tnav{display:none}
  .burger{display:block}
  .topbar .dl{display:none}
}
@media (max-width:820px){
  .home-hero{padding:56px 24px 6px}
  .home-hero h1{font-size:34px}
  .toc,.quote-band{padding-left:24px;padding-right:24px}
  .toc-grid{grid-template-columns:1fr}
  .pagehead{padding:34px 24px 0}
  .pagehead h2.ch{font-size:25px}
  .pager{padding-left:24px;padding-right:24px;flex-direction:column}
  .pager a{max-width:100%}
  .pager .next{text-align:left;margin-left:0}
  .sitefoot{padding:28px 24px 56px}
}
@media print{
  .topbar,.pager,.drawer{display:none !important}
  .pagehead{padding-top:0}
}
