:root{color-scheme:light;--bg:#f4f5ed;--ink:#14251e;--muted:#5e6d61;--line:#c7d5c2;--panel:#fbfcf7;--accent:#2f6f4e;--accent2:#b37a2b;--accent3:#3a6f83;font-family:Inter,"Noto Sans SC","Microsoft YaHei",Arial,sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);line-height:1.75}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}p{margin:0 0 14px}h1,h2,h3{line-height:1.22;margin:0 0 14px;letter-spacing:0}h1{font-size:clamp(32px,5vw,58px)}h2{font-size:clamp(22px,3vw,32px)}img{max-width:100%}
.csm-mast{position:sticky;top:0;z-index:10;display:flex;gap:24px;align-items:center;justify-content:space-between;padding:14px clamp(16px,4vw,48px);background:rgba(246,247,241,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}
.csm-brand{display:flex;align-items:center;gap:12px;min-width:220px}. csm-brand{} .csm-brand b{display:block;font-size:16px}. csm-brand small{} .csm-brand small{display:block;color:var(--muted);font-size:12px}.csm-menu summary{display:none}.csm-menu nav{display:flex;gap:14px;flex-wrap:wrap;justify-content:flex-end}.csm-menu a{font-size:14px;color:var(--muted)}
.csm-hero,.csm-canopy,.csm-lab-hero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:28px;align-items:stretch;min-height:72vh;padding:clamp(30px,6vw,82px) clamp(16px,5vw,64px) 32px}.csm-canopy{grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr)}.csm-lab-hero{grid-template-columns:minmax(260px,.65fr) minmax(0,1fr) minmax(300px,.72fr)}
.csm-hero-copy,.csm-canopy-copy,.csm-lab-copy{display:flex;flex-direction:column;justify-content:center;border-left:5px solid var(--accent);padding-left:28px}.csm-kicker{font-size:12px;font-weight:800;letter-spacing:.12em;color:var(--accent2);text-transform:uppercase;margin-bottom:10px}.csm-lead{font-size:18px;color:var(--muted);max-width:880px}.csm-hero-actions,.csm-trail,.csm-lab-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.csm-hero-actions a,.csm-trail a,.csm-lab-links a{border:1px solid var(--ink);padding:10px 15px;background:var(--ink);color:#fff;border-radius:6px}.csm-hero-actions a+ a,.csm-trail a+ a,.csm-lab-links a+ a{background:transparent;color:var(--ink)}
.csm-quote-panel{background:var(--panel);border:1px solid var(--line);padding:22px;border-radius:8px;box-shadow:0 18px 40px rgba(20,30,25,.08)}.csm-quote-panel header span{font-size:12px;color:var(--accent);font-weight:800}.csm-quotes{display:grid;gap:10px;margin:16px 0}.csm-quotes article{display:grid;grid-template-columns:52px 1fr 86px;gap:10px;align-items:center;border-bottom:1px solid var(--line);padding:10px 0}.csm-quotes b{color:var(--accent2)}.csm-quotes strong{font-size:18px}.csm-quotes span{font-size:13px;color:var(--muted);text-align:right}
.csm-index-ledger,.csm-carbon-strip,.csm-syllabus-band{padding:28px clamp(16px,5vw,64px);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.csm-index-ledger article,.csm-carbon-strip article,.csm-syllabus-band article{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:18px}.csm-index-ledger span,.csm-carbon-strip b,.csm-syllabus-band em{font-weight:800;color:var(--accent)}.csm-carbon-strip{display:block}.csm-carbon-strip>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:18px}.csm-policy-note{padding:28px clamp(16px,5vw,64px);background:var(--panel);border-block:1px solid var(--line)}
.csm-reading-flow,.csm-topic-grid,.csm-article-river,.csm-source-block,.csm-faq,.csm-plain,.csm-article{padding:clamp(28px,5vw,64px) clamp(16px,5vw,64px)}.csm-reading-flow{display:grid;grid-template-columns:.7fr 1fr;gap:24px}.csm-reading-flow ol{margin:0;padding-left:24px;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding-top:20px;padding-bottom:20px}
.csm-topic-grid>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:18px}.csm-topic-grid article{border-top:4px solid var(--accent3);background:var(--panel);padding:18px;border-radius:8px}.csm-article-river>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.csm-article-river a,.csm-long-list article{display:block;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:16px}.csm-article-river b{display:block}.csm-article-river span,.csm-long-list p{color:var(--muted)}.csm-source-block{background:var(--ink);color:#fff}.csm-source-block p{color:#e8ece5;max-width:980px}.csm-faq details{background:var(--panel);border:1px solid var(--line);border-radius:8px;margin:10px 0;padding:14px 16px}.csm-faq summary{font-weight:800;cursor:pointer}
.csm-plain,.csm-article{max-width:1080px;margin:auto}.csm-prose,.csm-article{font-size:17px}.csm-prose h2,.csm-article h2{margin-top:26px}.csm-meta{color:var(--muted);font-size:14px}.csm-callout{background:var(--panel);border-left:5px solid var(--accent2);padding:16px;margin:24px 0}.csm-related{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}.csm-related a{border:1px solid var(--line);background:var(--panel);padding:9px 12px;border-radius:6px}.csm-long-list{display:grid;gap:14px;margin-top:22px}.csm-long-list time{color:var(--accent);font-weight:800;font-size:13px}
.csm-terminal{background:#111820;color:#dbe8df;border-radius:8px;padding:22px;font-family:"SFMono-Regular",Consolas,monospace;align-self:center;border:1px solid #2e3a34}.csm-terminal p{margin:7px 0}.csm-foot{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.7fr);gap:24px;background:#101511;color:#fff;padding:28px clamp(16px,5vw,64px)}.csm-foot p{color:#dbe0d7}.csm-foot nav{display:flex;gap:12px;flex-wrap:wrap;align-content:start}.csm-foot a{color:#fff}
@media (max-width:900px){.csm-mast{position:relative;align-items:flex-start}.csm-menu summary{display:block;cursor:pointer}.csm-menu nav{margin-top:10px;justify-content:flex-start}.csm-hero,.csm-canopy,.csm-lab-hero,.csm-reading-flow,.csm-foot{grid-template-columns:1fr;min-height:auto}.csm-index-ledger,.csm-carbon-strip>div,.csm-syllabus-band,.csm-topic-grid>div,.csm-article-river>div{grid-template-columns:1fr}.csm-hero-copy,.csm-canopy-copy,.csm-lab-copy{padding-left:18px}.csm-quotes article{grid-template-columns:46px 1fr 70px}}
