:root{
  --bg:#061322;--bg2:#091a2d;--panel:#0d2239;--panel2:#102a45;--line:#25425f;
  --text:#f6f9fc;--muted:#9fb2c6;--orange:#ff8a2a;--red:#ef4d57;--blue:#4fa3ff;--cyan:#6ed7e8;--green:#5dd39e;
  --shadow:0 22px 60px rgba(0,0,0,.28);--radius:18px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:radial-gradient(circle at 80% -20%,#153652 0,transparent 38%),linear-gradient(180deg,var(--bg),#040c15 100%);color:var(--text);font-family:Inter,"Helvetica Neue",Arial,sans-serif;font-weight:300;letter-spacing:.01em}
.app-shell{max-width:1580px;margin:auto;min-height:100vh}
.topbar{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;padding:28px 34px 18px;border-bottom:1px solid rgba(255,255,255,.08);background:rgba(5,17,30,.72);backdrop-filter:blur(14px);position:sticky;top:0;z-index:50}
.brand-lockup{display:flex;gap:18px;align-items:center}
.brand-mark{width:56px;height:56px;border:1px solid rgba(255,138,42,.65);display:grid;place-items:center;border-radius:14px;color:var(--orange);font-size:22px;font-weight:700;background:#0a1b2e}
.eyebrow,.section-kicker,.metric-title,.formula-label{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
h1{font-size:28px;margin:2px 0 5px;font-weight:500}
h2{font-size:42px;line-height:1.08;margin:6px 0 14px;font-weight:350}
h3{font-size:20px;font-weight:500;margin:0 0 12px}
.topbar p,.lead{margin:0;color:var(--muted);max-width:900px;line-height:1.5}
.top-meta{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px;white-space:nowrap;margin-top:7px}
.status-dot{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 14px var(--green)}
.tabs{display:flex;gap:4px;overflow:auto;padding:10px 20px;background:#071725;border-bottom:1px solid rgba(255,255,255,.07);position:sticky;top:103px;z-index:45}
.tab{background:transparent;border:0;color:#9fb2c6;padding:11px 14px;font-size:12px;letter-spacing:.04em;cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap}
.tab:hover{color:white}
.tab.active{color:white;border-color:var(--orange);background:rgba(255,138,42,.06)}
main{padding:26px 28px 50px}
.tab-panel{display:none;animation:fade .25s ease}
.tab-panel.active{display:block}
@keyframes fade{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}
.hero-grid,.split-layout,.lab-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:22px}
.hero-copy,.hero-card,.panel-card,.formula-card,.controls-card,.outputs-card,.flow-card,.disclaimer-box,.callout{background:linear-gradient(180deg,rgba(17,42,69,.9),rgba(10,28,47,.9));border:1px solid rgba(130,170,210,.16);border-radius:var(--radius);box-shadow:var(--shadow)}
.hero-copy{padding:34px}.hero-card{padding:28px}.orange{color:var(--orange)}
.hero-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.hero-badges span,.pill{font-size:11px;border:1px solid rgba(255,255,255,.13);padding:7px 10px;border-radius:999px;color:#ced9e6;background:rgba(255,255,255,.035)}.pill.live{color:var(--green);border-color:rgba(93,211,158,.35)}
.storyline{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.storyline div{display:flex;gap:10px;align-items:center;background:rgba(255,255,255,.035);padding:10px;border-radius:10px;color:#c7d4e0;font-size:13px}.storyline b{color:var(--orange);font-size:11px}
.flow-card{display:flex;align-items:center;gap:7px;padding:17px;margin:22px 0;overflow:auto}.flow-node{background:#102b45;border:1px solid #234765;padding:9px 11px;border-radius:9px;font-size:12px;white-space:nowrap}.flow-node.danger{border-color:rgba(239,77,87,.5);color:#ffd8dc}.flow-arrow{color:var(--orange)}
.content-grid{display:grid;gap:18px;margin-top:20px}.content-grid.three{grid-template-columns:repeat(3,1fr)}.content-grid.two{grid-template-columns:repeat(2,1fr)}
.panel-card,.formula-card,.controls-card,.outputs-card{padding:22px}
.card-tag{font-size:10px;color:var(--orange);font-weight:700;letter-spacing:.14em;margin-bottom:12px}.panel-card p,.formula-card p{color:var(--muted);line-height:1.55;margin:0}
.disclaimer-box{margin-top:18px;padding:16px 18px;color:#aebdca;font-size:12px;line-height:1.5;border-style:dashed}
.section-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:18px}.section-head h2{margin-bottom:0}
.poster-img{width:100%;display:block;border-radius:16px;border:1px solid rgba(255,255,255,.09);box-shadow:var(--shadow);background:white}
.stack{display:flex;flex-direction:column;gap:16px}
.numbered{padding-left:22px;margin:0;color:#b7c6d5;line-height:1.55}.numbered li{margin:7px 0}
.formula-card{background:linear-gradient(180deg,#0b233c,#081a2c);border-color:#254b6e}.formula-label{color:var(--orange);margin-bottom:12px}.formula{font-family:Georgia,"Times New Roman",serif;font-size:24px;color:white;line-height:1.35;background:rgba(255,255,255,.04);border-left:2px solid var(--orange);padding:14px 16px;margin-bottom:12px;overflow:auto}.formula.multiline{font-size:20px}
.actor-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.actor-grid div{background:rgba(255,255,255,.035);padding:12px;border-radius:10px}.actor-grid b{display:block;color:#fff;margin-bottom:5px}.actor-grid span{color:var(--muted);font-size:12px;line-height:1.4}
.warning{border-color:rgba(239,77,87,.45);background:linear-gradient(180deg,rgba(80,24,36,.52),rgba(22,23,34,.8))}.tall{min-height:220px}
.channel-map{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-top:20px}.channel-step{background:#0c2136;border:1px solid #1d3e5a;border-radius:12px;padding:15px;text-align:center;min-height:100px;display:flex;flex-direction:column;justify-content:center;gap:7px}.channel-step b{color:var(--orange);font-size:12px}.channel-step span{font-size:12px;color:#c2cfda}
.vertical-flow{display:flex;flex-direction:column;align-items:center;gap:8px}.vertical-flow span{width:100%;background:rgba(255,255,255,.035);padding:12px;border-radius:9px;text-align:center}.vertical-flow b{color:var(--orange)}
.callout{margin-top:20px;padding:18px;line-height:1.5}.orange-line{border-left:3px solid var(--orange)}
.checklist{list-style:none;padding:0;margin:0}.checklist li{padding:9px 0 9px 26px;border-bottom:1px solid rgba(255,255,255,.06);color:#bdcad6;position:relative}.checklist li:before{content:"✓";position:absolute;left:0;color:var(--green)}.danger-text{border-color:rgba(239,77,87,.35);color:#ffd7db}
.lab-layout{grid-template-columns:.68fr 1.32fr}.controls-card h3{margin-bottom:14px}.policy-control-title{margin-top:24px!important}
.slider-row{margin:13px 0}.slider-head{display:flex;justify-content:space-between;font-size:12px;color:#c0cfdb;margin-bottom:6px}.slider-head b{color:var(--orange)}input[type=range]{width:100%;accent-color:var(--orange)}
.preset-row{display:flex;flex-wrap:wrap;gap:7px;margin-top:18px}.preset-row button{border:1px solid #2a4a64;background:#0a1f33;color:#d7e1ea;border-radius:8px;padding:8px 10px;cursor:pointer}.preset-row button:hover{border-color:var(--orange)}
.output-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.output{background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.08);padding:15px;border-radius:12px}.output span{display:block;color:#9cb0c3;font-size:11px;min-height:30px}.output strong{font-size:28px;font-weight:400;color:white}.output small{color:#718ca4;margin-left:4px}.output.success strong{color:var(--green)}
.chart-card{background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.07);border-radius:12px;padding:16px;margin-top:14px}
.chart-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-end;margin-bottom:12px}.chart-title{font-size:12px;color:#d2dde8;letter-spacing:.08em;text-transform:uppercase}.chart-sub{font-size:11px;color:#7f99af}
.institutional-grid{display:grid;gap:14px}.institutional-grid.two-up{grid-template-columns:1fr 1fr}
.institutional-bars{display:flex;flex-direction:column;gap:10px}
.ibar-row{display:grid;grid-template-columns:150px 1fr 46px;gap:10px;align-items:center}.ibar-label{font-size:12px;color:#cad6e0}.ibar-track{height:12px;background:#091b2d;border:1px solid #17334a;border-radius:999px;overflow:hidden}.ibar-fill{height:100%;border-radius:999px;transition:width .25s ease}.heat-low{background:linear-gradient(90deg,#4fa3ff,#3a79bb)}.heat-med{background:linear-gradient(90deg,#ffbf53,#ff8a2a)}.heat-high{background:linear-gradient(90deg,#ff7a82,#ef4d57)}.ibar-value{font-size:12px;color:#9db0c3;text-align:right}
.heat-table{display:flex;flex-direction:column;gap:8px}.heat-row{display:grid;grid-template-columns:1fr 170px 46px;gap:10px;align-items:center}.heat-name{font-size:12px;color:#c8d4df}.heat-cell{height:30px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:11px;padding:0 8px}.heat-num{font-size:12px;color:#9db0c3;text-align:right}
.svg-wrap{width:100%;min-height:340px;border:1px solid rgba(255,255,255,.06);border-radius:14px;background:#071726;overflow:hidden}.small-svg{min-height:240px}.tall-chart .svg-wrap{min-height:420px}
.model-note{color:#b7c4d0;line-height:1.6;font-size:12px;border-left:2px solid var(--orange);padding-left:12px;min-height:102px}
.signal-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}.signal-row div{background:#081b2e;border:1px solid #183b59;border-radius:12px;padding:12px}.signal-row span{display:block;font-size:11px;color:#8ba1b6;margin-bottom:6px}.signal-row b{font-size:13px;color:#fff;font-weight:500}
.formula-strip{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}.formula-strip span{background:#081b2e;border:1px solid #183b59;color:#9fb2c6;padding:12px;border-radius:10px;font-family:Georgia,"Times New Roman",serif}
.poster-sequence{display:grid;grid-template-columns:1fr 1fr;gap:22px}.poster-sequence article{background:#091d31;border:1px solid #1e3d58;border-radius:16px;padding:16px;position:relative}.poster-sequence img{width:100%;display:block;border-radius:10px;margin-top:12px}.poster-sequence p{color:var(--muted);margin:0;line-height:1.45}.poster-number{color:var(--orange);font-weight:700;letter-spacing:.15em;font-size:11px;margin-bottom:8px}
footer{display:flex;justify-content:space-between;gap:20px;border-top:1px solid rgba(255,255,255,.08);padding:18px 28px 30px;color:#8ea5b9;font-size:11px}.footer-note{text-align:right}.glow{box-shadow:0 0 0 1px rgba(255,138,42,.05),0 20px 80px rgba(0,0,0,.35)}
.research-foundations{margin-top:18px}.source-link{display:block;color:#78b9ff;text-decoration:none;font-size:11px;margin-top:9px;line-height:1.4}.source-link:hover{color:var(--orange)}
@media(max-width:1280px){.lab-layout,.hero-grid,.split-layout,.institutional-grid.two-up,.content-grid.two,.content-grid.three,.poster-sequence{grid-template-columns:1fr}.output-grid{grid-template-columns:repeat(2,1fr)}.channel-map{grid-template-columns:repeat(3,1fr)}.tabs{top:120px}.topbar{position:relative}.tabs{position:sticky;top:0}.top-meta{display:none}}
@media(max-width:720px){main{padding:18px 12px}.topbar{padding:18px 14px}.brand-mark{display:none}h1{font-size:23px}h2{font-size:30px}.storyline{grid-template-columns:1fr}.output-grid{grid-template-columns:1fr 1fr}.actor-grid,.signal-row,.formula-strip,.poster-sequence{grid-template-columns:1fr}.heat-row{grid-template-columns:1fr}.ibar-row{grid-template-columns:1fr}.channel-map{grid-template-columns:1fr 1fr}.svg-wrap{min-height:300px}footer{flex-direction:column}.footer-note{text-align:left}}

/* v3 institutional enhancements */
.export-toolbar{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:14px;padding-top:14px;border-top:1px solid rgba(255,255,255,.07)}
.export-btn{border:1px solid #2b4b65;background:#081c2f;color:#d7e2eb;border-radius:10px;padding:10px 12px;font-size:11px;letter-spacing:.04em;cursor:pointer;transition:.2s ease}
.export-btn:hover{border-color:var(--orange);transform:translateY(-1px)}
.export-btn.primary{background:linear-gradient(135deg,#ff8a2a,#c95c2b);border-color:#ff9c52;color:#fff;font-weight:600}
.frontier-legend{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.regime{font-size:10px;letter-spacing:.1em;text-transform:uppercase;padding:6px 9px;border-radius:999px;border:1px solid rgba(255,255,255,.09)}
.regime.passive{color:#ffb0b5;background:rgba(239,77,87,.08);border-color:rgba(239,77,87,.22)}
.regime.containment{color:#ffc781;background:rgba(255,138,42,.08);border-color:rgba(255,138,42,.22)}
.regime.stabilization{color:#9ce8c4;background:rgba(93,211,158,.08);border-color:rgba(93,211,158,.22)}
.poster-download{display:inline-flex;margin-top:12px;padding:8px 11px;border:1px solid #2b4c67;border-radius:9px;color:#cbd8e3;text-decoration:none;font-size:11px;letter-spacing:.04em;background:#081b2e}
.poster-download:hover{color:white;border-color:var(--orange);background:rgba(255,138,42,.05)}
.outputs-card{background:linear-gradient(180deg,rgba(11,33,54,.94),rgba(6,20,34,.95));border-color:rgba(79,163,255,.18)}
.chart-card{box-shadow:inset 0 1px 0 rgba(255,255,255,.025),0 10px 35px rgba(0,0,0,.18)}
.chart-card.tall-chart{background:linear-gradient(180deg,rgba(12,31,49,.98),rgba(5,18,30,.98))}
.output{position:relative;overflow:hidden}
.output:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,transparent,var(--orange),transparent);opacity:.28}
.output.success:after{background:linear-gradient(90deg,transparent,var(--green),transparent)}
.poster-sequence article{box-shadow:0 18px 50px rgba(0,0,0,.24)}

@media print{
  @page{size:A4 landscape;margin:8mm}
  body{background:#071522!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  body.print-snapshot .topbar,body.print-snapshot .tabs,body.print-snapshot footer,body.print-snapshot .controls-card,body.print-snapshot .disclaimer-box,body.print-snapshot .formula-strip{display:none!important}
  body.print-snapshot main{padding:0!important}
  body.print-snapshot .tab-panel{display:none!important}
  body.print-snapshot #lab{display:block!important}
  body.print-snapshot .section-head{margin-bottom:8px}
  body.print-snapshot .section-head h2{font-size:24px}
  body.print-snapshot .lab-layout{display:block!important}
  body.print-snapshot .outputs-card{box-shadow:none!important;border:none!important;padding:0!important;background:#071522!important}
  body.print-snapshot .output-grid{grid-template-columns:repeat(4,1fr)!important;gap:5px!important}
  body.print-snapshot .output{padding:8px!important}
  body.print-snapshot .output strong{font-size:18px!important}
  body.print-snapshot .institutional-grid.two-up{grid-template-columns:1fr 1fr!important;gap:6px!important}
  body.print-snapshot .chart-card{padding:8px!important;margin-top:6px!important;break-inside:avoid}
  body.print-snapshot .svg-wrap{min-height:230px!important}
  body.print-snapshot .tall-chart .svg-wrap{min-height:280px!important}
  body.print-snapshot .chart-title{font-size:9px!important}
  body.print-snapshot .chart-sub{font-size:8px!important}
  body.print-snapshot .signal-row{grid-template-columns:repeat(3,1fr)!important}
}

@media(max-width:720px){.export-toolbar{grid-template-columns:1fr}.frontier-legend{gap:5px}}

/* v4 counterfactual simulator */
.counterfactual-block{margin-top:18px;padding-top:4px}
.counterfactual-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;padding:18px 2px 4px}
.counterfactual-head h3{font-size:24px;font-weight:420;margin:6px 0 8px}.counterfactual-head p{margin:0;max-width:820px;color:var(--muted);font-size:12px;line-height:1.55}
.cf-badges{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.cf-badges span{font-size:10px;letter-spacing:.08em;text-transform:uppercase;border:1px solid #27455f;background:#081b2d;color:#b8c8d5;padding:7px 9px;border-radius:999px}
.counterfactual-table{display:flex;flex-direction:column;gap:7px}.cf-table-row{display:grid;grid-template-columns:1.55fr repeat(5,.78fr);gap:8px;align-items:center;min-height:38px;padding:7px 8px;border:1px solid rgba(255,255,255,.055);border-radius:10px;background:rgba(255,255,255,.022);font-size:11px;color:#d1dde7}.cf-table-row.cf-head{background:#071827;color:#728ba0;text-transform:uppercase;letter-spacing:.08em;font-size:9px}.cf-table-row.best{border-color:rgba(93,211,158,.35);background:rgba(93,211,158,.055)}.cf-name{display:flex;align-items:center;gap:8px}.cf-name i{width:9px;height:9px;border-radius:3px;display:inline-block}.cf-name span{font-weight:500;color:#f1f5f8}
.counterfactual-best{margin-top:12px;padding:14px 15px;border-radius:12px;border:1px solid rgba(93,211,158,.28);background:linear-gradient(180deg,rgba(24,76,59,.20),rgba(7,28,25,.35))}.best-kicker{font-size:9px;letter-spacing:.16em;color:#80d8ae;font-weight:700;margin-bottom:6px}.counterfactual-best strong{display:block;font-size:16px;color:#fff;font-weight:500}.counterfactual-best p{margin:7px 0 0;color:#a9c8b8;font-size:11px;line-height:1.5}
.policy-assumptions{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.policy-assumption-card{border:1px solid rgba(255,255,255,.07);border-top:2px solid var(--scenario);background:#081a2b;border-radius:12px;padding:12px}.pa-title{display:flex;align-items:center;gap:8px;margin-bottom:9px}.pa-title i{width:9px;height:9px;border-radius:3px;background:var(--scenario)}.pa-title b{font-size:12px;font-weight:500;color:#fff}.pa-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px}.pa-grid span{font-size:9px;color:#9bb0c2;background:#0b2238;border-radius:7px;padding:5px 6px}.policy-assumption-card p{font-size:10px;line-height:1.45;color:#8299ac;margin:9px 0 0}
@media(max-width:1100px){.counterfactual-head{align-items:flex-start;flex-direction:column}.cf-badges{justify-content:flex-start}.policy-assumptions{grid-template-columns:1fr 1fr}.cf-table-row{grid-template-columns:1.4fr repeat(5,.8fr)}}
@media(max-width:720px){.policy-assumptions{grid-template-columns:1fr}.cf-table-row{grid-template-columns:1fr 1fr}.cf-table-row.cf-head{display:none}.cf-table-row>div:nth-child(n+2):before{display:inline-block;color:#6e879d;margin-right:5px}.cf-table-row>div:nth-child(2):before{content:'Liquidity '}.cf-table-row>div:nth-child(3):before{content:'Lockout '}.cf-table-row>div:nth-child(4):before{content:'Spread '}.cf-table-row>div:nth-child(5):before{content:'PD '}.cf-table-row>div:nth-child(6):before{content:'Stab. '}}
@media print{body.print-snapshot .counterfactual-head{padding-top:6px}.counterfactual-block{break-before:page}.policy-assumptions{grid-template-columns:repeat(4,1fr)!important}.counterfactual-table{font-size:8px}.cf-table-row{grid-template-columns:1.55fr repeat(5,.78fr)!important;min-height:28px!important;padding:4px!important}.counterfactual-best{padding:8px!important}}
