
:root{
 --bg:#0b0d10;--paper:#f3efe6;--ink:#171717;--muted:#6e6960;--line:#d6cfc2;
 --orange:#e45a34;--blue:#2867c7;--green:#27804a;--yellow:#a87800;--red:#a43c2c;
 --card:#fffdf8;--nav:#10141a;--code:#101820;--codeink:#dce8f4;--soft:#ebe5da;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
a{color:inherit}
.cover{
 min-height:92vh;color:white;display:grid;align-items:end;padding:clamp(28px,7vw,100px);
 background:
   linear-gradient(90deg,rgba(8,10,13,.88),rgba(8,10,13,.35)),
   radial-gradient(circle at 78% 22%,rgba(228,90,52,.42),transparent 30%),
   radial-gradient(circle at 62% 70%,rgba(40,103,199,.20),transparent 34%),
   #10151b;
 border-bottom:1px solid #30363e;
}
.issue{font:800 11px/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.19em;text-transform:uppercase;color:#ff9a7d}
.cover h1{font-size:clamp(58px,12vw,156px);letter-spacing:-.075em;line-height:.78;margin:18px 0 30px;max-width:1150px}
.cover .deck{font-size:clamp(19px,2.2vw,30px);line-height:1.38;max-width:920px;color:#d2d9e2}
.cover .meta{font:600 13px/1.6 ui-monospace,monospace;margin-top:34px;color:#9da8b6}
.nav{
 position:sticky;top:0;z-index:100;background:rgba(11,13,16,.94);backdrop-filter:blur(15px);
 display:flex;gap:18px;overflow:auto;padding:13px 22px;border-bottom:1px solid #30363d;color:#c9d1d9
}
.nav a{text-decoration:none;white-space:nowrap;font-size:12px}.nav a:hover{color:white}
.progress{position:fixed;top:0;left:0;height:3px;background:var(--orange);z-index:110;width:0}
main{background:var(--paper)}
section{max-width:1320px;margin:auto;padding:70px clamp(20px,5vw,74px);border-bottom:1px solid var(--line)}
.chapter{font:800 11px/1.2 ui-monospace,monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--orange)}
h2{font-size:clamp(38px,5.5vw,76px);line-height:.93;letter-spacing:-.052em;margin:10px 0 26px}
h3{font-size:26px;letter-spacing:-.025em;margin:0 0 12px}
h4{font-size:17px;margin:22px 0 8px}
p,li{line-height:1.62}
.lead{font-size:21px;max-width:930px;color:#3f3a34}
.small{font-size:13px;color:var(--muted)}
.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:20px;margin-top:30px}
.c3{grid-column:span 3}.c4{grid-column:span 4}.c5{grid-column:span 5}.c6{grid-column:span 6}.c7{grid-column:span 7}.c8{grid-column:span 8}.c9{grid-column:span 9}.c12{grid-column:span 12}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:22px;box-shadow:0 10px 25px rgba(0,0,0,.035)}
.card.dark{background:#131920;color:#e4edf5;border-color:#26303a}
.stat{font-size:44px;font-weight:900;letter-spacing:-.06em}
.cap{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.badge{display:inline-block;padding:4px 8px;border-radius:999px;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.08em;vertical-align:middle}
.b-high{background:#d9f1df;color:#175d2c}.b-med{background:#fff0bd;color:#785900}.b-open{background:#e7ebef;color:#4c5661}.b-primary{background:#dfeafa;color:#24508c}.b-risk{background:#f9dcd6;color:#862c1d}
table{width:100%;border-collapse:collapse;background:#fffdf8;margin:22px 0;font-size:14px}
th,td{border-bottom:1px solid var(--line);padding:12px 11px;text-align:left;vertical-align:top}
th{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:#676158}
code,.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
pre{white-space:pre-wrap;word-break:break-word}
.code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;background:var(--code);color:var(--codeink);padding:20px;border-radius:12px;overflow:auto;line-height:1.56;border:1px solid #26313c}
.note{border-left:5px solid var(--blue);background:#edf4ff;padding:18px 20px;margin:24px 0}
.warn{border-left-color:var(--orange);background:#fff0e9}
.good{border-left-color:var(--green);background:#eaf7ef}
.quote{font:600 clamp(24px,3.2vw,43px)/1.26 Georgia,serif;border-left:5px solid var(--orange);padding-left:25px;margin:35px 0}
.timeline{margin:34px 0 0 11px;border-left:2px solid #b9b0a3;padding-left:27px}
.event{position:relative;margin-bottom:34px}.event:before{content:"";position:absolute;width:13px;height:13px;background:var(--orange);border-radius:50%;left:-34px;top:6px;box-shadow:0 0 0 5px var(--paper)}
.event time{font:800 12px ui-monospace,monospace;color:#5f574f}
.diagram{display:grid;gap:9px;margin:25px 0;max-width:950px}
.node{background:white;border:1px solid #beb6aa;border-radius:10px;padding:14px 17px;font-family:ui-monospace,monospace}
.arrow{text-align:center;color:#847b70;font-size:22px}
.kv{display:grid;grid-template-columns:minmax(160px,1fr) 2fr;gap:0;background:#fffdf8;border:1px solid var(--line);border-radius:12px;overflow:hidden;margin:22px 0}
.kv div{padding:11px 14px;border-bottom:1px solid var(--line)}.kv div:nth-child(odd){font:700 12px ui-monospace,monospace;background:#f0ebe1}
details{background:#fffdf8;border:1px solid var(--line);border-radius:12px;padding:14px 17px;margin:12px 0}
summary{cursor:pointer;font-weight:800}
.source{font-size:12px;color:#5b6674}.source a{color:#1f5fbf;text-decoration:none;word-break:break-all}.source a:hover{text-decoration:underline}
.toc{columns:2;column-gap:45px}.toc a{display:block;padding:8px 0;text-decoration:none;border-bottom:1px dotted #bbb1a5}
.axis{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.axis span{padding:9px 11px;border-radius:8px;background:#171d24;color:#dce6ef;font:700 12px ui-monospace,monospace}
.svgwrap{background:#fffdf8;border:1px solid var(--line);border-radius:16px;padding:10px;overflow:auto}
.searchbox{width:100%;padding:13px 15px;border:1px solid #bfb6aa;border-radius:10px;background:white;color:#111;font-size:15px}
mark.hit{background:#ffe39b}
footer{background:#0b0d10;color:#9fa9b5;padding:48px clamp(20px,5vw,74px);line-height:1.6}
@media(max-width:900px){.c3,.c4,.c5,.c6,.c7,.c8,.c9{grid-column:span 12}.toc{columns:1}.kv{grid-template-columns:1fr}.kv div:nth-child(odd){border-top:1px solid var(--line)}.cover{min-height:75vh}}
@media print{.nav,.progress,#search{display:none}.cover{min-height:auto;background:#111}section{break-inside:avoid}.card{box-shadow:none}}
