/* 变量、顶栏、文章版式抄自网站 institute.css 与 sigma/peasant-burden 页；Σ 的颜色 #6fa8dc 是本页强调色。
   图表四色取自 dataviz 参考色板的暗色一档，已在 #0d1117 底上验过色盲区分与对比度。 */
:root{
  --bg:#0a0a0b;--ink:#f4f2ee;--ink-2:#a8a49d;--line:rgba(255,255,255,.12);
  --c-people:#5b8dd6;--c-output:#e2a04a;--c-project:#3fae92;--c-about:#a684dd;--c-constitution:#d4a24c;--a-sigma:#6fa8dc;
  --sans:"Inter","Noto Sans SC","PingFang SC",-apple-system,system-ui,sans-serif;
  --fig:#0d1117;--s1:#3987e5;--s2:#d95926;--s3:#199e70;--s4:#c98500;--muted:#6b6f76;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;color-scheme:dark}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
.wrap{max-width:1360px;margin:0 auto;padding:0 40px}
p,h1,h2,h3,li{text-wrap:pretty}

.nav{background:#0a0a0b;border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:78px;gap:32px}
.logo{display:flex;align-items:center;gap:12px;font-weight:600;font-size:17px;letter-spacing:-.01em}
.logo svg{width:26px;height:26px}
.nav nav{display:flex;gap:30px;font-size:14px;color:rgba(255,255,255,.8)}
.nav nav a{position:relative;padding-bottom:4px}
.nav nav a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:2px;background:var(--c);transition:right .3s ease}
.nav nav a:hover{color:var(--c)}
.nav nav a:hover::after{right:0}
.nav .right{display:flex;align-items:center;gap:18px;font-size:13px;color:rgba(255,255,255,.5)}
.nav .right a.on{color:var(--ink)}

.article{--c:var(--a-sigma);border-top:5px solid var(--c)}
.article .wrap{max-width:780px;padding-top:72px;padding-bottom:80px}
.article .k{color:var(--c);font-size:12px;letter-spacing:.2em;display:inline-flex;align-items:center;gap:12px}
.article .k::before{content:"";width:12px;height:12px;background:var(--c)}
.article h1{font-size:30px;line-height:1.45;margin:.4em 0 .6em;font-weight:600;letter-spacing:-.015em}
.article h2{font-size:21px;margin:2.4em 0 .8em;font-weight:600;color:var(--c)}
.article h3{font-size:17px;margin:1.8em 0 .6em;font-weight:600}
.article p,.article li{line-height:1.95;font-size:16.5px}
.article p{margin:0 0 1.1em}
.article ul,.article ol{padding-left:1.4em;margin:0 0 1.1em}
.article .byline{opacity:.75;font-size:14px;margin-bottom:2em}
.article blockquote{margin:1.2em 0;padding:.2em 0 .2em 1.2em;border-left:3px solid var(--c);color:rgba(255,255,255,.88)}
.article a.in{color:var(--c);border-bottom:1px solid rgba(111,168,220,.4)}
.article sup a{color:var(--c);font-size:11px;padding:0 1px}
.lead{font-size:18px !important;line-height:1.9 !important}

/* 目录 */
.toc{border:1px solid var(--line);padding:16px 20px;margin:0 0 2.4em;font-size:14.5px;background:#0f1216}
.toc b{display:block;font-size:12px;letter-spacing:.15em;color:var(--ink-2);margin-bottom:6px;font-weight:500}
.toc ol{margin:0;padding-left:1.3em}
.toc li{font-size:14.5px;line-height:1.85}
.toc a:hover{color:var(--c)}

/* 关键数字 */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin:1.4em 0 1.8em}
.stat{border:1px solid var(--line);background:var(--fig);padding:14px 16px}
.stat b{display:block;font-size:26px;font-weight:600;letter-spacing:-.01em;font-variant-numeric:tabular-nums}
.stat span{display:block;font-size:13px;color:var(--ink-2);line-height:1.55;margin-top:4px}

/* 图 */
.fig{position:relative;left:50%;transform:translateX(-50%);width:min(980px,calc(100vw - 80px));margin:26px 0 34px;padding:20px 24px 14px;border:1px solid var(--line);background:var(--fig)}
.fig h4{margin:0 0 4px;font-size:15.5px;font-weight:600}
.fig .sub{margin:0 0 10px !important;font-size:13px !important;line-height:1.6 !important;color:var(--ink-2)}
.fig .src{margin:8px 0 0 !important;font-size:12px !important;line-height:1.6 !important;color:var(--ink-2)}
.chart{position:relative}
.chart svg{display:block;width:100%;height:auto;font-family:var(--sans)}
.chart .grid{stroke:rgba(255,255,255,.08);stroke-width:1}
.chart .axis{stroke:rgba(255,255,255,.35);stroke-width:1}
.chart .tick{fill:var(--ink-2);font-size:11.5px;font-variant-numeric:tabular-nums}
.chart .axlab{fill:var(--ink-2);font-size:11.5px}
.chart .glab{fill:rgba(255,255,255,.88);font-size:12.5px}
.chart .glab2{fill:var(--ink);font-size:13px;font-weight:600}
.chart .val{fill:rgba(255,255,255,.88);font-size:12px;font-variant-numeric:tabular-nums}
.chart .endlab{fill:rgba(255,255,255,.9);font-size:12px}
.chart .ref{stroke:rgba(255,255,255,.45);stroke-width:1;stroke-dasharray:3 3}
.chart .reflab{fill:var(--ink-2);font-size:11.5px}
.chart .band{fill:rgba(255,255,255,.06)}
.chart .bandlab{fill:var(--ink-2);font-size:11px}
.chart .cross{stroke:rgba(255,255,255,.35);stroke-width:1}
.clg{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:12.5px;color:rgba(255,255,255,.88);margin:0 0 6px}
.clg span{display:inline-flex;align-items:center;gap:7px}
.clg i{display:inline-block;width:18px;height:4px;border-radius:2px}
.ctip{position:absolute;z-index:10;pointer-events:none;min-width:160px;max-width:min(340px,90%);background:#161c25;border:1px solid rgba(255,255,255,.18);border-left:3px solid var(--a-sigma);padding:8px 11px;font-size:12.5px;line-height:1.55;box-shadow:0 8px 24px rgba(0,0,0,.5)}
.ctip h5{margin:0 0 4px;font-size:13px;font-weight:600}
.ctip div{display:flex;align-items:baseline;gap:6px}
.ctip i{display:inline-block;width:9px;height:9px;border-radius:50%;flex:none}
.ctip b{font-variant-numeric:tabular-nums}
.ctip em{font-style:normal;color:var(--ink-2);margin-left:4px}
.ctip p{margin:4px 0 0 !important;font-size:12px !important;line-height:1.5 !important;color:var(--ink-2)}
.ctab{margin-top:6px}
.ctab summary{cursor:pointer;font-size:12.5px;color:var(--a-sigma);padding:4px 0}
.ctab table{border-collapse:collapse;font-size:12px;width:100%;margin-top:4px}
.ctab th,.ctab td{text-align:left;padding:4px 8px;border-bottom:1px solid rgba(255,255,255,.08);font-variant-numeric:tabular-nums;vertical-align:top}
.ctab th{color:var(--ink-2);font-weight:500}

/* 两栏对照、阶段表、提示框 */
.cmp{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:1.2em 0 1.6em}
.cmp>div{border:1px solid var(--line);background:var(--fig);padding:14px 16px}
.cmp h5{margin:0 0 6px;font-size:14px;color:var(--c)}
.cmp p{font-size:14.5px !important;line-height:1.8 !important;margin:0 !important}
.steps{list-style:none;padding:0 !important;margin:1.2em 0 1.6em;border-left:2px solid var(--line)}
.steps li{position:relative;padding:0 0 14px 22px;font-size:15px !important;line-height:1.8 !important}
.steps li::before{content:"";position:absolute;left:-7px;top:9px;width:12px;height:12px;border-radius:50%;background:var(--fig);border:2px solid var(--muted)}
.steps li.done::before{background:var(--s3);border-color:var(--s3)}
.steps li.now::before{background:var(--s4);border-color:var(--s4)}
.steps li b{display:block;font-size:13px;color:var(--ink-2);font-weight:500}
.steps .tag{display:inline-block;font-size:11.5px;padding:0 7px;border-radius:9px;margin-left:6px;border:1px solid currentColor}
.tag.d{color:#5cc9a0}.tag.n{color:#e0a83a}.tag.t{color:var(--ink-2)}
.box{border:1px solid rgba(111,168,220,.45);background:rgba(111,168,220,.07);padding:16px 18px;margin:1.6em 0}
.box p:last-child{margin-bottom:0}
.notes{margin-top:3em;border-top:1px solid var(--line);padding-top:1.4em}
.notes ol{padding-left:1.4em}
.notes li{font-size:13px !important;line-height:1.75 !important;color:var(--ink-2);margin-bottom:.4em}
.slider{display:flex;flex-wrap:wrap;gap:10px 26px;align-items:center;font-size:13.5px;margin:4px 0 10px}
.slider label{display:flex;align-items:center;gap:8px}
.slider input{accent-color:var(--a-sigma);width:150px}
.slider output{font-variant-numeric:tabular-nums;min-width:3.4em;color:var(--ink)}
.readout{font-size:14px !important;line-height:1.7 !important;color:rgba(255,255,255,.9);margin:6px 0 0}
.readout b{color:var(--ink);font-variant-numeric:tabular-nums}

footer{padding:60px 0 74px;color:var(--ink-2);font-size:13.5px;background:var(--bg);border-top:1px solid var(--line)}
footer .wrap{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap}
footer b{display:block;color:var(--ink);font-size:15px;font-weight:600;margin-bottom:10px}
footer a:hover{color:var(--ink)}

@media (max-width:720px){
  .wrap{padding:0 16px}
  .nav nav{display:none}
  .article .wrap{padding-top:44px}
  .article h1{font-size:24px}
  .fig{width:calc(100vw - 16px);padding:14px 10px 10px}
  .cmp{grid-template-columns:1fr}
  .chart .tick,.chart .val,.chart .glab{font-size:12px}
}
