:root{color-scheme:dark;--bg:#080d15;--panel:#0e1724;--panel2:#142131;--line:#283749;--soft:#92a3b8;--ink:#e7edf5;--accent:#a4c3dc;--cyan:#7ebbc8;--orange:#d4aa80;--red:#df8e93;--mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}a{color:inherit}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:4px}button:disabled{cursor:not-allowed;opacity:.5}::selection{background:#a4c3dc;color:#101927}.noise{position:fixed;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(ellipse at 70% 0%,rgba(97,187,165,.075),transparent 47%),repeating-linear-gradient(90deg,transparent 0 79px,rgba(151,210,188,.019) 80px)}.shell{max-width:1640px;margin:0 auto;padding:0 clamp(20px,4vw,66px)}.top{border-bottom:1px solid var(--line);background:#050a0cf2;backdrop-filter:blur(16px);position:sticky;top:0;z-index:50}.top-inner{min-height:68px;display:flex;justify-content:space-between;align-items:center;gap:20px}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;font:800 12px var(--mono);letter-spacing:.15em;white-space:nowrap}.brand-subtitle{color:#8094aa;font-weight:600;letter-spacing:.12em}.top-links{display:flex;gap:25px;align-items:center}.top-links a{font:600 10px var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--soft);text-decoration:none}.top-links a:hover{color:var(--accent)}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);margin-right:8px;box-shadow:0 0 12px #a4c3dc55}.hero{padding-top:65px;padding-bottom:38px;display:grid;grid-template-columns:1.2fr .8fr;gap:38px;align-items:end}.eyebrow{font:700 10px var(--mono);letter-spacing:.23em;text-transform:uppercase;color:var(--accent)}h1{font-size:clamp(52px,7.5vw,118px);line-height:.88;letter-spacing:-.079em;font-weight:620;margin:22px 0 25px}h1 em{font-family:Georgia,serif;font-weight:400;color:var(--accent);font-style:italic}.hero p{max-width:720px;color:#b0bfd0;font-size:clamp(15px,1.3vw,19px);line-height:1.65;margin:0}.hero-side{border-left:1px solid var(--line);padding:0 0 4px 28px}.hero-side .big{font-size:clamp(60px,7vw,100px);font-weight:400;letter-spacing:-.09em;line-height:1;color:var(--accent)}.hero-side p{font:11px/1.8 var(--mono);color:var(--soft);max-width:320px}.micro{font:700 10px var(--mono);letter-spacing:.16em;color:var(--soft);text-transform:uppercase}.strip{border-block:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr);margin-bottom:60px}.strip>div{padding:17px 18px;border-right:1px solid var(--line)}.strip>div:first-child{padding-left:0}.strip>div:last-child{border-right:0}.strip strong{display:block;margin-top:8px;font-size:13px;font-weight:580}.section-head{display:flex;justify-content:space-between;align-items:end;gap:18px;margin:0 0 20px}.section-head h2{font-size:clamp(27px,3vw,42px);font-weight:570;letter-spacing:-.055em;margin:8px 0 0}.section-head p{max-width:460px;color:var(--soft);font-size:12px;line-height:1.6;margin:0}.section{margin:0 0 84px}.panel{background:var(--panel);border:1px solid var(--line)}.timeline{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));border:1px solid var(--line);overflow:hidden}.era{background:#0c1520;color:var(--soft);border:0;border-right:1px solid var(--line);padding:21px 10px 19px;text-align:left;position:relative;min-height:104px;transition:background .18s}.era:last-child{border-right:0}.era:hover{background:#172536}.era[aria-pressed=true]{background:#203149;color:var(--ink)}.era[aria-pressed=true]:before{content:"";height:3px;position:absolute;inset:0 0 auto;background:var(--accent)}.era .yr{font:700 11px var(--mono);display:block;color:var(--accent);margin-bottom:13px}.era .ename{font-size:13px;font-weight:650;line-height:1.3;display:block}.era .phase{font:9px var(--mono);color:#8b9db0;display:block;margin-top:6px}.era-detail{display:grid;grid-template-columns:1fr .92fr;min-height:282px}.era-main{padding:31px 36px;border-right:1px solid var(--line)}.era-main h3{font-size:clamp(26px,3vw,44px);letter-spacing:-.055em;margin:9px 0 16px;font-weight:540}.era-main p{font-size:15px;line-height:1.7;color:#b7c7d8;max-width:670px}.era-side{padding:31px 36px}.pill{display:inline-flex;align-items:center;border:1px solid #42566c;padding:7px 10px;color:var(--accent);font:700 9px var(--mono);letter-spacing:.08em;margin:0 6px 8px 0;text-transform:uppercase}.era-side ul{padding-left:17px;margin:15px 0;color:#b8c8d9;font-size:13px;line-height:1.9}.era-side a{font:700 11px var(--mono);color:var(--cyan);text-underline-offset:4px}.key-rule{display:flex;gap:9px;align-items:center;margin-top:22px;font:10px/1.5 var(--mono);color:#91a5b8}.workspace{display:grid;grid-template-columns:270px minmax(0,1fr) 310px;min-height:610px}.module-rail{border-right:1px solid var(--line);padding:20px 16px}.module-btn{display:flex;width:100%;text-align:left;gap:13px;align-items:center;background:transparent;color:#aabdd1;border:1px solid transparent;padding:15px 12px;margin:4px 0}.module-btn:hover{background:#1b293b}.module-btn[aria-pressed=true]{background:#22344c;border-color:#49617b;color:var(--ink)}.module-no{font:10px var(--mono);color:var(--accent)}.module-name{font-size:13px;font-weight:650}.module-short{display:block;font:10px var(--mono);color:#879db2;margin-top:5px}.diagram{position:relative;min-width:0;display:flex;align-items:center;justify-content:center;padding:35px 14px;background:radial-gradient(circle at 50% 50%,#18283d,#0e1828 57%,#0a1422);overflow:hidden}.diagram:before{content:"";position:absolute;inset:0;background-image:linear-gradient(#bdd7f008 1px,transparent 1px),linear-gradient(90deg,#bdd7f008 1px,transparent 1px);background-size:28px 28px;pointer-events:none}.diagram svg{position:relative;width:100%;max-width:680px;overflow:visible}.node{cursor:pointer;outline:none}.node rect{fill:#17283a;stroke:#4b6783;stroke-width:1.5;transition:.2s}.node text{fill:#bfd0df;font:700 12px var(--mono);pointer-events:none}.node .subtext{fill:#8ea4b9;font:10px var(--mono)}.node:hover rect,.node.active rect,.node:focus rect{stroke:var(--accent);fill:#263c53;stroke-width:2}.node.active text{fill:var(--accent)}.wire{fill:none;stroke:#587998;stroke-width:1.6;stroke-dasharray:4 5}.wire.highlight{stroke:var(--accent);stroke-width:2.5;stroke-dasharray:none}.center-ring{fill:#152437;stroke:#7f9ebd;stroke-width:2}.inspector{padding:27px 25px;border-left:1px solid var(--line)}.inspector h3{font-size:26px;letter-spacing:-.05em;line-height:1.1;margin:20px 0}.inspector p{font-size:13px;line-height:1.8;color:#aebfd2}.inspector .fact{padding:17px 0;border-top:1px solid var(--line)}.inspector .fact strong{display:block;color:var(--ink);font-size:12px;margin:8px 0}.inspector .fact span{font:11px/1.6 var(--mono);color:#9cafc3}.inspector a{color:var(--cyan);font:11px var(--mono);text-underline-offset:4px}.lab{display:grid;grid-template-columns:minmax(300px,.9fr) minmax(0,1.1fr)}.controls{padding:30px;border-right:1px solid var(--line)}.control-row{padding:15px 0;border-bottom:1px solid var(--line)}.control-row label{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:#c6d3e1}.control-row output{font:700 12px var(--mono);color:var(--accent)}input[type=range]{width:100%;margin-top:13px;accent-color:var(--accent);cursor:pointer}.scenario-row{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.scenario{background:#152436;color:#b3c4d5;border:1px solid #40566d;padding:10px 13px;font:700 10px var(--mono)}.scenario:hover{color:#fff}.scenario[aria-pressed=true]{background:#253a51;color:var(--accent);border-color:var(--accent)}.year-select{background:#152436;border:1px solid #49617b;color:var(--ink);padding:9px;font:12px var(--mono);width:100%;margin-top:12px}.result{padding:30px;min-width:0}.result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}.metric{background:#172638;border:1px solid #32465d;padding:17px;min-width:0}.metric .value{font-size:clamp(27px,3.2vw,45px);letter-spacing:-.06em;margin:11px 0 6px}.metric .threshold{font:10px/1.5 var(--mono);color:#93a8bd}.metric.good .value{color:var(--accent)}.metric.warn .value{color:var(--red)}.meter{height:4px;background:#34475b;margin-top:13px;overflow:hidden}.meter span{display:block;height:100%;background:var(--accent);width:0;transition:width .25s}.metric.warn .meter span{background:var(--red)}.explain{border-top:1px solid var(--line);padding-top:19px;margin-top:22px;color:#b9c9da;font-size:12px;line-height:1.75}.explain strong{color:var(--ink)}.explain code{font:11px var(--mono);color:var(--cyan)}.summary-line{padding:12px 0;display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);font:11px/1.5 var(--mono)}.summary-line b{color:var(--accent);text-align:right}.note{font:11px/1.7 var(--mono);color:#98aec3;border-left:2px solid var(--orange);padding:11px 16px;background:#182332;margin-top:20px}.compare-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.compare-card{background:var(--panel);padding:26px 22px;min-height:285px}.compare-card .count{font:11px var(--mono);color:var(--accent)}.compare-card h3{font-size:22px;font-weight:560;letter-spacing:-.035em;margin:17px 0}.compare-card p{font-size:13px;line-height:1.7;color:#b1c3d5}.compare-card strong{display:block;margin-top:18px;font:11px/1.5 var(--mono);color:var(--cyan)}.sources{display:grid;grid-template-columns:1fr 1fr;gap:12px}.source{border:1px solid var(--line);padding:19px 20px;text-decoration:none;background:var(--panel);transition:.15s}.source:hover{border-color:#6f95b8;background:#152638}.source small{font:700 10px var(--mono);color:var(--accent)}.source strong{display:block;font-size:15px;margin:10px 0 6px}.source span{font-size:12px;color:var(--soft);line-height:1.6}.foot{padding:35px 0 55px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:30px;color:var(--soft);font:11px/1.7 var(--mono)}.foot a{color:var(--cyan)}.related{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0 0}.related a{border:1px solid #45627e;padding:10px 14px;font:11px var(--mono);color:#aecbe2;text-decoration:none}.related a:hover{border-color:var(--accent);color:var(--accent)}.affiliate{font:11px/1.7 var(--mono);color:#9caec1;margin-top:15px}@media(max-width:1100px){.workspace{grid-template-columns:210px minmax(0,1fr)}.inspector{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:15px}.inspector h3,.inspector p{grid-column:1/-1}.inspector .fact{min-width:0}.top-links{gap:13px}}@media(max-width:760px){.hero{grid-template-columns:1fr;padding-top:45px}.hero-side{border-left:0;border-top:1px solid var(--line);padding:20px 0 0}.hero-side .big{font-size:52px}.strip{grid-template-columns:repeat(2,1fr)}.strip>div{padding:14px!important;border-bottom:1px solid var(--line)}.top-links{display:none}.timeline{display:flex;overflow-x:auto}.era{flex:0 0 132px}.era-detail,.lab{grid-template-columns:1fr}.era-main,.controls{border-right:0;border-bottom:1px solid var(--line)}.era-main,.era-side,.controls,.result{padding:24px}.workspace{grid-template-columns:1fr}.module-rail{border-right:0;border-bottom:1px solid var(--line);display:flex;overflow-x:auto;padding:10px}.module-btn{min-width:155px}.diagram{min-height:360px}.inspector{grid-template-columns:1fr;padding:24px}.inspector h3,.inspector p{grid-column:auto}.compare-grid{grid-template-columns:repeat(2,1fr)}.sources{grid-template-columns:1fr}.section{margin-bottom:64px}.foot{flex-direction:column}.section-head{display:block}.section-head p{margin-top:12px}}@media(max-width:460px){.compare-grid{grid-template-columns:1fr}.result-grid{grid-template-columns:1fr 1fr}.metric{padding:12px}.metric .value{font-size:28px}.shell{padding-inline:16px}.top-inner{min-height:62px}.brand{font-size:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
