:root{color-scheme:light;--bg:#f6f7f1;--ink:#17202a;--muted:#5f6b62;--line:#cfd8c8;--panel:#ffffff;--accent:#b78628;--accent2:#1f7a8c;--accent3:#5c7f45;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%}
.bsp-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)}
.bsp-brand{display:flex;align-items:center;gap:12px;min-width:220px}. bsp-brand{} .bsp-brand b{display:block;font-size:16px}. bsp-brand small{} .bsp-brand small{display:block;color:var(--muted);font-size:12px}.bsp-menu summary{display:none}.bsp-menu nav{display:flex;gap:14px;flex-wrap:wrap;justify-content:flex-end}.bsp-menu a{font-size:14px;color:var(--muted)}
.bsp-hero,.bsp-canopy,.bsp-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}.bsp-canopy{grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr)}.bsp-lab-hero{grid-template-columns:minmax(260px,.65fr) minmax(0,1fr) minmax(300px,.72fr)}
.bsp-hero-copy,.bsp-canopy-copy,.bsp-lab-copy{display:flex;flex-direction:column;justify-content:center;border-left:5px solid var(--accent);padding-left:28px}.bsp-kicker{font-size:12px;font-weight:800;letter-spacing:.12em;color:var(--accent2);text-transform:uppercase;margin-bottom:10px}.bsp-lead{font-size:18px;color:var(--muted);max-width:880px}.bsp-hero-actions,.bsp-trail,.bsp-lab-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.bsp-hero-actions a,.bsp-trail a,.bsp-lab-links a{border:1px solid var(--ink);padding:10px 15px;background:var(--ink);color:#fff;border-radius:6px}.bsp-hero-actions a+ a,.bsp-trail a+ a,.bsp-lab-links a+ a{background:transparent;color:var(--ink)}
.bsp-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)}.bsp-quote-panel header span{font-size:12px;color:var(--accent);font-weight:800}.bsp-quotes{display:grid;gap:10px;margin:16px 0}.bsp-quotes article{display:grid;grid-template-columns:52px 1fr 86px;gap:10px;align-items:center;border-bottom:1px solid var(--line);padding:10px 0}.bsp-quotes b{color:var(--accent2)}.bsp-quotes strong{font-size:18px}.bsp-quotes span{font-size:13px;color:var(--muted);text-align:right}
.bsp-index-ledger,.bsp-carbon-strip,.bsp-syllabus-band{padding:28px clamp(16px,5vw,64px);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.bsp-index-ledger article,.bsp-carbon-strip article,.bsp-syllabus-band article{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:18px}.bsp-index-ledger span,.bsp-carbon-strip b,.bsp-syllabus-band em{font-weight:800;color:var(--accent)}.bsp-carbon-strip{display:block}.bsp-carbon-strip>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:18px}.bsp-policy-note{padding:28px clamp(16px,5vw,64px);background:var(--panel);border-block:1px solid var(--line)}
.bsp-reading-flow,.bsp-topic-grid,.bsp-article-river,.bsp-source-block,.bsp-faq,.bsp-plain,.bsp-article{padding:clamp(28px,5vw,64px) clamp(16px,5vw,64px)}.bsp-reading-flow{display:grid;grid-template-columns:.7fr 1fr;gap:24px}.bsp-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}
.bsp-topic-grid>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:18px}.bsp-topic-grid article{border-top:4px solid var(--accent3);background:var(--panel);padding:18px;border-radius:8px}.bsp-article-river>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.bsp-article-river a,.bsp-long-list article{display:block;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:16px}.bsp-article-river b{display:block}.bsp-article-river span,.bsp-long-list p{color:var(--muted)}.bsp-source-block{background:var(--ink);color:#fff}.bsp-source-block p{color:#e8ece5;max-width:980px}.bsp-faq details{background:var(--panel);border:1px solid var(--line);border-radius:8px;margin:10px 0;padding:14px 16px}.bsp-faq summary{font-weight:800;cursor:pointer}
.bsp-plain,.bsp-article{max-width:1080px;margin:auto}.bsp-prose,.bsp-article{font-size:17px}.bsp-prose h2,.bsp-article h2{margin-top:26px}.bsp-meta{color:var(--muted);font-size:14px}.bsp-callout{background:var(--panel);border-left:5px solid var(--accent2);padding:16px;margin:24px 0}.bsp-related{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}.bsp-related a{border:1px solid var(--line);background:var(--panel);padding:9px 12px;border-radius:6px}.bsp-long-list{display:grid;gap:14px;margin-top:22px}.bsp-long-list time{color:var(--accent);font-weight:800;font-size:13px}
.bsp-terminal{background:#111820;color:#dbe8df;border-radius:8px;padding:22px;font-family:"SFMono-Regular",Consolas,monospace;align-self:center;border:1px solid #2e3a34}.bsp-terminal p{margin:7px 0}.bsp-foot{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.7fr);gap:24px;background:#101511;color:#fff;padding:28px clamp(16px,5vw,64px)}.bsp-foot p{color:#dbe0d7}.bsp-foot nav{display:flex;gap:12px;flex-wrap:wrap;align-content:start}.bsp-foot a{color:#fff}
@media (max-width:900px){.bsp-mast{position:relative;align-items:flex-start}.bsp-menu summary{display:block;cursor:pointer}.bsp-menu nav{margin-top:10px;justify-content:flex-start}.bsp-hero,.bsp-canopy,.bsp-lab-hero,.bsp-reading-flow,.bsp-foot{grid-template-columns:1fr;min-height:auto}.bsp-index-ledger,.bsp-carbon-strip>div,.bsp-syllabus-band,.bsp-topic-grid>div,.bsp-article-river>div{grid-template-columns:1fr}.bsp-hero-copy,.bsp-canopy-copy,.bsp-lab-copy{padding-left:18px}.bsp-quotes article{grid-template-columns:46px 1fr 70px}}
