@font-face { font-family:"FNB Serif"; src:local("Songti SC"); font-display:swap; }

* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--brand-bg); color:var(--brand-text); font:16px/1.82 "PingFang SC","Noto Sans CJK SC","Microsoft YaHei",sans-serif; -webkit-font-smoothing:antialiased; }
::selection { background:var(--brand-selection); }
a { color:inherit; }
.reading-progress { position:fixed; inset:0 auto auto 0; z-index:50; width:0; height:3px; background:var(--brand-primary); }
.site-back { position:fixed; z-index:20; top:1.2rem; right:1.2rem; padding:.62rem .86rem; border:1px solid var(--brand-line); background:var(--brand-glass); color:var(--brand-text); text-decoration:none; font-size:.78rem; backdrop-filter:blur(10px); }
.site-back:hover,.site-back:focus-visible { color:var(--brand-primary); border-color:var(--brand-primary); outline:none; }
.layout { display:grid; grid-template-columns:280px minmax(0,760px); max-width:1100px; margin:0 auto; }
.toc { position:sticky; top:0; align-self:start; height:100vh; overflow:auto; padding:2.8rem 1.7rem; border-right:1px solid var(--brand-line); }
.toc h2 { margin:0 0 .35rem; font:700 1rem/1.4 "FNB Serif","Songti SC",serif; }
.toc-note { margin:0 0 1.4rem; color:var(--brand-subtle); font-size:.72rem; line-height:1.6; }
.toc ol { margin:0; padding:0; list-style:none; counter-reset:item; }
.toc li { counter-increment:item; margin:.52rem 0; }
.toc li::before { content:counter(item,decimal-leading-zero); margin-right:.55rem; color:var(--brand-primary); font:600 .68rem/1 ui-monospace,monospace; }
.toc a { color:var(--brand-muted); text-decoration:none; font-size:.82rem; }
.toc a:hover,.toc a.active { color:var(--brand-primary); }
main { min-width:0; padding:0 3.2rem; }
.cover { padding:7.4rem 0 4.7rem; border-bottom:1px solid var(--brand-line); }
.kicker,.meta,.section-number,.eyebrow { color:var(--brand-primary); font:600 .72rem/1.5 ui-monospace,"SFMono-Regular",monospace; letter-spacing:.12em; text-transform:uppercase; }
.cover h1 { max-width:720px; margin:1.4rem 0; font:700 clamp(2.65rem,5.1vw,4.55rem)/1.16 "FNB Serif","Songti SC",serif; letter-spacing:-.045em; }
.subtitle { max-width:690px; margin:0; color:var(--brand-muted); font-size:1.1rem; line-height:1.8; }
.meta { margin-top:2rem; color:var(--brand-subtle); letter-spacing:.05em; }
.flow-map { display:grid; grid-template-columns:1fr auto 1fr auto 1fr; align-items:center; gap:.7rem; margin:2.2rem 0 0; }
.flow-map span { min-height:70px; display:grid; place-items:center; border:1px solid var(--brand-line); background:var(--brand-panel); font:700 1rem/1.3 "FNB Serif","Songti SC",serif; }
.flow-map i { color:var(--brand-secondary); font-style:normal; }
section.content { padding:4rem 0 0; scroll-margin-top:1rem; }
.content h2 { margin:.55rem 0 1.6rem; font:700 clamp(1.95rem,3.5vw,2.75rem)/1.28 "FNB Serif","Songti SC",serif; letter-spacing:-.025em; }
.lead { color:var(--brand-secondary); font:400 1.08rem/1.75 "FNB Serif","Songti SC",serif; }
.content p { margin:0 0 1.18rem; }
.content h3 { margin:2.4rem 0 .8rem; font-size:1.13rem; line-height:1.55; }
.fragment-list { display:grid; gap:.7rem; margin:1.8rem 0; }
.fragment { padding:1rem 1.15rem; border-left:3px solid var(--brand-line); background:var(--brand-panel); color:var(--brand-muted); }
.fragment strong { color:var(--brand-text); }
.concept { margin:1.7rem 0 2.2rem; padding:1.55rem; border:1px solid var(--brand-line); background:var(--brand-surface); }
.concept-head { display:flex; align-items:baseline; justify-content:space-between; gap:1rem; margin-bottom:.9rem; }
.concept-head strong { font:700 1.7rem/1 "FNB Serif","Songti SC",serif; }
.concept-head small { color:var(--brand-primary); font:600 .7rem/1 ui-monospace,monospace; letter-spacing:.09em; }
.concept p:last-child { margin-bottom:0; }
.examples { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.85rem; margin:1.5rem 0; }
.example { min-height:132px; padding:1.15rem; border:1px solid var(--brand-line); }
.example .eyebrow { margin-bottom:.65rem; color:var(--brand-secondary); }
.example p { margin:0; color:var(--brand-muted); font-size:.92rem; }
.thesis { margin:2.1rem 0; padding:1.5rem 1.7rem; border-left:4px solid var(--brand-primary); background:var(--brand-primary-soft); }
.thesis p { margin:.25rem 0; font-weight:650; }
blockquote { margin:2.3rem 0; padding:1.15rem 1.6rem; border-top:1px solid var(--brand-secondary); border-bottom:1px solid var(--brand-secondary); color:var(--brand-text); text-align:center; font:700 1.36rem/1.65 "FNB Serif","Songti SC",serif; }
.decision-path { margin:1.6rem 0; overflow-x:auto; }
.decision-path ol { min-width:640px; display:grid; grid-template-columns:repeat(5,1fr); gap:0; margin:0; padding:0; list-style:none; }
.decision-path li { position:relative; padding:1rem .85rem; border:1px solid var(--brand-line); border-right:0; color:var(--brand-muted); font-size:.8rem; text-align:center; }
.decision-path li:last-child { border-right:1px solid var(--brand-line); }
.decision-path strong { display:block; margin-bottom:.35rem; color:var(--brand-text); font-size:.92rem; }
.status-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin:1.6rem 0; }
.status-card { padding:1.3rem; border:1px solid var(--brand-line); }
.status-card.done { border-top:3px solid var(--brand-primary); }
.status-card.next { border-top:3px solid var(--brand-secondary); }
.status-card h3 { margin:0 0 .7rem; }
.status-card ul { margin:.6rem 0 0; padding-left:1.2rem; color:var(--brand-muted); }
.status-card li { margin:.45rem 0; }
.article-nav { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin:5rem 0 0; padding:2rem 0 4rem; border-top:1px solid var(--brand-line); }
.article-nav a { padding:1rem; border:1px solid var(--brand-line); text-decoration:none; }
.article-nav a:hover { border-color:var(--brand-primary); }
.article-nav small { display:block; margin-bottom:.45rem; color:var(--brand-subtle); font-size:.72rem; }
.article-nav strong { font-family:"FNB Serif","Songti SC",serif; }
.article-nav .next { text-align:right; }
footer { padding:3.4rem 0 4.5rem; border-top:1px solid var(--brand-line); color:var(--brand-muted); text-align:center; }
footer .closing { font:400 1.05rem/1.75 "FNB Serif","Songti SC",serif; }
footer .signature { font:400 .72rem/1.5 ui-monospace,monospace; }
@media(max-width:900px){ .layout{display:block}.toc{position:static;width:100%;height:auto;padding:2rem 1.4rem;border-right:0;border-bottom:1px solid var(--brand-line)}.toc ol{columns:2}.site-back{position:absolute}main{max-width:760px;margin:auto;padding:0 1.5rem}.cover{padding-top:6rem} }
@media(max-width:600px){ body{font-size:15.5px}.toc ol{columns:1}.cover h1{font-size:2.45rem}.flow-map{grid-template-columns:1fr}.flow-map i{transform:rotate(90deg);text-align:center}.examples,.status-grid,.article-nav{grid-template-columns:1fr}.article-nav .next{text-align:left}main{padding:0 1.1rem} }
@media print{ .reading-progress,.site-back,.toc{display:none}.layout{display:block}main{max-width:none;padding:0}.cover{padding-top:1rem}body{background:#fff;color:#000}.content,.concept,.example,.status-card{break-inside:avoid} }
