*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
:root{
  --bg:#FAFAF8;--bg-alt:#F2F0EB;--card:#FFFFFF;--dark:#16161D;
  --text:#1A1A2E;--text-secondary:#5C5C6B;--text-muted:#8E8E9A;
  --red:#C0392B;--amber:#D4710A;--green:#2E8B57;--blue:#2C5282;
  --border:#E2DFD6;
  --radius-sm:4px;--radius-md:8px;--radius-lg:12px;
  --sidebar-w:240px;
}
body{background:var(--bg);color:var(--text);font-family:'Bricolage Grotesque',sans-serif;font-size:17px;line-height:1.6}
.sidebar-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.6);z-index:998}
.sidebar-overlay.active{display:block}
.sidebar{position:fixed;top:0;left:0;width:var(--sidebar-w);height:100vh;background:var(--bg-alt);border-right:1px solid var(--border);overflow-y:auto;-webkit-overflow-scrolling:touch;z-index:1000;transition:transform .3s ease;will-change:transform}
.sidebar-header{padding:1.4rem 1.2rem 1rem;border-bottom:1px solid var(--border)}
.sidebar-header .sidebar-title{color:var(--text);font-weight:800;font-size:1rem;letter-spacing:-0.02em;line-height:1.2}
.sidebar-header .sidebar-sub{color:var(--text-muted);font-size:0.65rem;margin-top:0.3rem;text-transform:uppercase;letter-spacing:0.1em}
.sidebar-close{display:none;position:absolute;top:0.8rem;right:0.8rem;background:none;border:none;color:var(--text-muted);font-size:1.3rem;cursor:pointer;padding:0.3rem;line-height:1}
.sidebar-close:hover{color:var(--text)}
@media(max-width:900px){.sidebar-close{display:block}}
.sidebar-section-label{font-size:0.65rem;font-weight:700;text-transform:uppercase;letter-spacing:0.14em;color:var(--amber);padding:1rem 1.2rem 0.3rem;margin:0}
.sidebar ul{list-style:none;padding:0;margin:0}
.sidebar li{margin:0}
.sidebar a{display:block;padding:0.5rem 1.2rem;color:var(--text-secondary);text-decoration:none;font-size:0.85rem;font-weight:500;line-height:1.4;transition:color .15s,background-color .15s,border-left-color .15s;border-left:3px solid transparent}
.sidebar a:hover{color:var(--text);background:rgba(212,130,10,0.08)}
.sidebar a.active{color:var(--text);border-left-color:var(--amber);background:rgba(212,130,10,0.15);font-weight:700}
.main-content{margin-left:var(--sidebar-w)}
@media(max-width:900px){.sidebar{transform:translateX(-100%)}.main-content{margin-left:0}.sidebar.open{transform:translateX(0)}}
.sidebar-toggle{position:fixed;top:0.6rem;left:0.6rem;z-index:999;background:var(--card);border:1px solid var(--border);color:var(--text);font-size:1rem;padding:0.4rem 0.7rem;cursor:pointer;border-radius:4px;line-height:1}
@media(min-width:901px){.sidebar-toggle{display:none !important}}

.hero{background:var(--card);padding:5rem 2rem 4rem;text-align:center;position:relative;overflow:hidden}
.hero::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--amber)}
.hero-tag{display:inline-block;background:var(--red);color:#fff;font-size:0.7rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;padding:0.3em 0.8em;border-radius:2px;margin-bottom:1.5rem}
.hero h1{font-size:clamp(2.4rem,6vw,4.5rem);font-weight:800;color:var(--text);line-height:1.05;letter-spacing:-0.03em;max-width:800px;margin:0 auto 1.2rem}
.hero h1 em{color:var(--amber);font-style:normal}
.hero-sub{font-family:'Lora',serif;font-size:1.15rem;color:var(--text-secondary);max-width:580px;margin:0 auto 2.5rem;font-style:italic}
.hero-facts{display:flex;justify-content:center;flex-wrap:wrap;gap:0;max-width:900px;margin:0 auto;border:1px solid var(--border)}
.hf{flex:1;min-width:120px;padding:1rem 1.5rem;border-right:1px solid var(--border);text-align:center}
.hf:last-child{border-right:none}
.hf-n{font-size:1.8rem;font-weight:800;color:var(--amber);display:block;letter-spacing:-0.03em}
.hf-l{font-size:0.68rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.1em;margin-top:0.2rem}
.hf-s{font-size:0.65rem;color:var(--red);display:block;margin-top:0.15rem}

.section{padding:4rem 2rem}
.section.alt{background:var(--bg-alt)}
#timeline-anchor{padding-top:0;padding-bottom:4rem}
#action{padding:3rem 2rem}

.container{max-width:960px;margin:0 auto}
.section-label{font-size:0.65rem;font-weight:700;letter-spacing:0.2em;text-transform:uppercase;color:var(--amber);margin-bottom:0.6rem}
.section h2{font-size:clamp(1.8rem,4vw,2.8rem);font-weight:800;letter-spacing:-0.03em;line-height:1.1;margin-bottom:1rem;color:var(--text)}

.lead{font-family:'Lora',serif;font-size:1.05rem;color:var(--text-secondary);max-width:700px;margin-bottom:2.5rem;line-height:1.75}


.explainer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}
.ecard{background:var(--card);padding:1.5rem 1.8rem;border:1px solid var(--border);border-radius:var(--radius-md)}
.ecard-icon{width:1.8rem;height:1.8rem;margin-bottom:0.8rem}
.ecard-icon svg{width:100%;height:100%}
.ecard h3{font-size:1rem;font-weight:700;margin-bottom:0.5rem}
.ecard p{font-size:0.88rem;color:var(--text-secondary);line-height:1.65}
.ecard strong{color:var(--red);font-weight:700}
.ecard.accent-red{border-left:3px solid var(--red)}
.ecard.accent-amber{border-left:3px solid var(--amber)}
.ecard.accent-orange{border-left:3px solid #e67e22}
.ecard-num{font-family:'JetBrains Mono',monospace;font-size:1.5rem;font-weight:500;color:var(--red);display:block;margin:0.6rem 0}

.why-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-top:2rem}
.why-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;transition:box-shadow .2s ease}
.why-card:hover,.party-card:focus-within,.loop-card:focus-within,.scenario-card:hover{box-shadow:0 2px 12px rgba(0,0,0,0.06)}
.why-card-head{padding:1.2rem 1.5rem;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:0.8rem}
.why-card-head .emoji{font-size:1.5rem}
.why-card-head h3{font-size:0.95rem;font-weight:700;flex:1}
.why-card-body{padding:1.2rem 1.5rem}
.why-card-body p{font-size:0.88rem;color:var(--text-secondary);line-height:1.7}
.why-card-body .highlight{color:var(--red);font-weight:700}
.why-card-body .stat{font-family:'JetBrains Mono',monospace;color:var(--amber);font-weight:600}

.fact-box{border-left:3px solid var(--amber);background:rgba(212,130,10,0.06);padding:1rem 1.2rem;margin:1.2rem 0;font-size:0.9rem}
.fact-box.red-box{border-color:var(--red);background:rgba(192,57,43,0.06)}
.fact-box.strong-red{border-color:var(--red);background:rgba(192,57,43,0.08);padding:1.3rem 1.5rem}
.fact-box.green{border-left-color:var(--green);background:rgba(46,139,87,0.06)}
.fact-box.blue{border-left-color:var(--blue);background:rgba(44,82,130,0.06)}
.fact-box strong{display:block;font-weight:700;margin-bottom:0.3rem}

.theory-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border);border:1px solid var(--border);margin-top:2rem}
@media(max-width:600px){.theory-grid{grid-template-columns:1fr}}
.theory-col{padding:2rem;background:var(--card);border:1px solid var(--border)}
.theory-col h3{font-size:1.1rem;font-weight:700;margin-bottom:1rem;display:flex;align-items:center;gap:0.5rem}
.theory-col h3 .dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}
.theory-step{display:flex;gap:0.8rem;margin-bottom:1rem;align-items:flex-start}
.theory-arrow{color:var(--amber);font-size:0.9rem;flex-shrink:0;font-weight:700;margin-top:0.15rem}
.theory-step p{font-size:0.85rem;color:var(--text-secondary);line-height:1.6}
.theory-step p strong{color:var(--text)}
.theory-verdict{margin-top:1.5rem;padding:1rem;border-radius:4px;font-size:0.85rem;line-height:1.6}
.theory-verdict.keynesian{background:rgba(192,57,43,0.15);border:1px solid rgba(192,57,43,0.3);color:#e8a8a0}
.theory-verdict.austrian{background:rgba(26,122,74,0.15);border:1px solid rgba(26,122,74,0.3);color:#a0e8c0}
.fw-grid{margin-top:2rem;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}
.fw-row{display:grid;grid-template-columns:140px 1fr 1fr 1fr 1fr 130px;border-bottom:1px solid var(--border)}
.fw-row:last-child{border-bottom:none}
.fw-row.fw-group{grid-template-columns:1fr;background:rgba(212,113,10,0.05);border-bottom:1px solid var(--border)}
.fw-group-label{padding:0.35rem 0.6rem;font-size:0.65rem;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:var(--amber);opacity:0.7}
.dark-panel .fw-row.fw-group{background:rgba(212,113,10,0.06)}
@media(max-width:900px){.fw-row.fw-group{padding:0.35rem 0.8rem}}
.fw-header .fw-head{padding:0.5rem 0.6rem;font-size:0.7rem;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;color:var(--text-muted);text-align:center}
.fw-header .fw-head:first-child{text-align:left}
.fw-topic{padding:0.7rem 0.6rem;font-size:0.75rem;font-weight:600;text-transform:uppercase;letter-spacing:0.04em;color:var(--amber);display:flex;align-items:flex-start;border-right:1px solid var(--border)}
.fw-cell{padding:0.7rem 0.6rem;font-size:0.82rem;color:var(--text-secondary);line-height:1.55;border-right:1px solid var(--border);text-align:center;vertical-align:top}
.fw-cell.fw-keynesian{border-top:3px solid #3498db}
.fw-cell.fw-monetarist{border-top:3px solid #9b59b6}
.fw-cell.fw-austrian{border-top:3px solid #2E8B57}
.fw-cell.fw-mmt{border-top:3px solid #e67e22}
.fw-header+.fw-row .fw-cell{border-top:none}
.fw-best{padding:0.7rem 0.6rem;text-align:center;display:flex;align-items:center;justify-content:center}
.fw-observed{margin-top:0.5rem;border:1px solid var(--border);border-top:2px solid var(--amber);border-radius:var(--radius-sm);padding:1.2rem 1.4rem}
.fw-observed-label{font-size:0.75rem;font-weight:700;text-transform:uppercase;letter-spacing:0.06em;color:var(--amber);margin-bottom:0.8rem}
.fw-obs-group{margin-bottom:0.9rem}
.fw-obs-group:last-child{margin-bottom:0}
.fw-obs-cat{font-size:0.8rem;font-weight:700;color:var(--amber);margin-bottom:0.25rem}
.fw-obs-group div{font-size:0.85rem;color:var(--text-secondary);line-height:1.6}
.fw-obs-group div strong{color:var(--text)}
.fw-tag{display:inline-block;font-size:0.62rem;font-weight:700;text-transform:uppercase;letter-spacing:0.06em;padding:0.15em 0.5em;border-radius:2px;margin-bottom:0.3rem}
.party-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:0.4rem;vertical-align:-2px}
.fw-tag.keynesian{background:rgba(52,152,219,0.15);color:#3498db;border:1px solid rgba(52,152,219,0.3)}
.fw-tag.monetarist{background:rgba(155,89,182,0.15);color:#9b59b6;border:1px solid rgba(155,89,182,0.3)}
.fw-tag.austrian{background:rgba(26,122,74,0.15);color:#2E8B57;border:1px solid rgba(26,122,74,0.3)}
.fw-tag.mmt{background:rgba(230,126,34,0.15);color:#e67e22;border:1px solid rgba(230,126,34,0.3)}
.fw-verdict{display:inline-block;padding:0.2rem 0.5rem;border-radius:3px;font-size:0.72rem;font-weight:700;vertical-align:middle}
.fw-verdict.match{background:rgba(26,122,74,0.2);color:#4ade80}
.fw-verdict.miss{background:rgba(192,57,43,0.25);color:#ff8a8a}
.fw-verdict.partial{background:rgba(212,130,10,0.25);color:#fcd34d}
.news-pill{display:inline-flex;align-items:center;gap:0.4rem;background:var(--bg-alt);border:1px solid var(--border);padding:0.5rem 1rem;border-radius:var(--radius-sm);font-size:0.82rem;color:var(--text);font-weight:500}
.dark-panel{background:var(--dark);border-radius:var(--radius-lg);padding:2.5rem 2rem;margin:2.5rem 0;border-top:2px solid var(--amber)}
.dark-panel .fw-grid,.dark-panel .fw-row,.dark-panel .fw-topic,.dark-panel .fw-cell,.dark-panel .fw-best,.dark-panel .fw-observed{border-color:rgba(255,255,255,0.08)}
.dark-panel .fw-cell{color:#ccc}
.dark-panel .fw-header .fw-head{color:var(--amber)}
.dark-panel .fw-obs-group div strong{color:#fff}
.dark-panel .fw-tag.keynesian{background:rgba(52,152,219,0.2);border-color:rgba(52,152,219,0.4)}
.dark-panel .fw-tag.monetarist{background:rgba(155,89,182,0.2);border-color:rgba(155,89,182,0.4)}
.dark-panel .fw-tag.austrian{background:rgba(26,122,74,0.2);border-color:rgba(26,122,74,0.4)}
.dark-panel .fw-tag.mmt{background:rgba(230,126,34,0.2);border-color:rgba(230,126,34,0.4)}
.dark-panel .fw-party-card{background:rgba(255,255,255,0.06);border-color:rgba(255,255,255,0.08)}
.dark-panel .fw-party-card h4{color:#fff}
.dark-panel .fw-party-card p{color:#aaa}
.dark-panel h3{color:#fff}
.dark-panel p.lead-sub{color:#aaa}
.dark-panel h3,.dark-panel h4{color:#fff}
.dark-panel p{color:#aaa}
.fw-party-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;margin-top:2rem}
.fw-party-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:1rem 1.2rem}
.fw-party-card h4{font-size:0.9rem;font-weight:700;margin-bottom:0.3rem;color:var(--text)}
.fw-party-card p{font-size:0.82rem;color:var(--text-secondary);line-height:1.55}
.framework-pills{display:flex;flex-wrap:wrap;gap:0.5rem;margin-bottom:2rem}
.framework-pill{display:inline-flex;align-items:center;gap:0.4rem;padding:0.5rem 1rem;border-radius:4px;font-size:0.82rem;font-weight:600}
.framework-pill span{font-family:'JetBrains Mono',monospace;font-size:0.75rem}
.framework-pill.k-pill{background:rgba(52,152,219,0.2);color:#7ec8f0;border:1px solid rgba(52,152,219,0.4)}
.framework-pill.m-pill{background:rgba(155,89,182,0.2);color:#c8a2e0;border:1px solid rgba(155,89,182,0.4)}
.framework-pill.a-pill{background:rgba(26,122,74,0.2);color:#6ee0a0;border:1px solid rgba(26,122,74,0.4)}
.framework-pill.mm-pill{background:rgba(230,126,34,0.2);color:#f5c896;border:1px solid rgba(230,126,34,0.4)}

.chart-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:2rem}
@media(max-width:700px){.chart-row{grid-template-columns:1fr}}
.chart-box{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);padding:1.5rem;overflow:hidden}
.chart-box h3{font-size:0.9rem;font-weight:700;margin-bottom:0.3rem}
.chart-box .chart-source{font-size:0.7rem;color:#999;margin-bottom:1rem}
.chart-box canvas{max-height:250px}

#loop-canvas{display:none}
.loop-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;cursor:pointer;transition:border-color .2s,box-shadow .2s}
.loop-card:hover,.loop-card:focus-visible{border-color:var(--amber);box-shadow:0 2px 12px rgba(0,0,0,0.06)}
.loop-card:focus-visible{outline:none}
.loop-card.open{border-color:var(--amber);background:var(--card)}
.loop-card-head{display:flex;align-items:center;gap:0.8rem;padding:0.9rem 1.2rem}
.loop-card-icon{width:1.3rem;height:1.3rem;flex-shrink:0;display:flex;align-items:center;justify-content:center}
.loop-card-icon svg{width:100%;height:100%}
.loop-card-head div{flex:1;min-width:0}
.loop-card-head strong{display:block;font-size:0.9rem;color:var(--text);margin-bottom:0.15rem}
.loop-card-preview{display:block;font-size:0.78rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.loop-card.open .loop-card-preview{display:none}
.loop-toggle{color:var(--text-muted);font-size:0.9rem;transition:transform .2s;flex-shrink:0}
.loop-card.open .loop-toggle{transform:rotate(180deg);color:var(--amber)}
.loop-card-body{display:none;padding:0 1.2rem 1.2rem 3.1rem}
.loop-card.open .loop-card-body{display:block}
.loop-card-body p{font-size:0.88rem;color:var(--text-secondary);line-height:1.7;margin:0}
.dark-panel .loop-card{background:rgba(255,255,255,0.06);border-color:rgba(255,255,255,0.08)}
.dark-panel .loop-card:hover{border-color:var(--amber);box-shadow:0 2px 16px rgba(212,130,10,0.1)}
.dark-panel .loop-card.open{background:rgba(255,255,255,0.08);border-color:var(--amber)}
.dark-panel .loop-card-head strong{color:#fff}
.dark-panel .loop-card-preview{color:#888}
.dark-panel .loop-card-body p{color:#bbb}

.timeline{position:relative;padding-left:2rem}
.timeline::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:linear-gradient(180deg,var(--amber) 0%,var(--red) 100%)}
.tl-item{position:relative;margin-bottom:1.8rem}
.tl-item::before{content:'';position:absolute;left:-2.42rem;top:0.35rem;width:10px;height:10px;border-radius:50%;background:var(--amber);border:2px solid var(--text)}
.tl-year{font-family:'JetBrains Mono',monospace;font-size:0.78rem;color:var(--amber);font-weight:500;margin-bottom:0.2rem}
.tl-item h4{font-size:0.95rem;font-weight:700;margin-bottom:0.25rem;color:var(--text)}
.tl-item p{font-size:0.85rem;color:var(--text-secondary);line-height:1.55}
.dark-panel .tl-item h4{color:#fff}
.dark-panel .tl-item p{color:#bbb}
.tl-item.danger::before{background:var(--red)}
.tl-item.danger .tl-year{color:var(--red)}

.party-cards{display:flex;flex-direction:column;gap:1rem;margin-top:2rem}
.party-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;transition:box-shadow .2s ease}
.party-card:hover{box-shadow:0 2px 12px rgba(0,0,0,0.06)}
.party-card-head{padding:1.2rem 1.5rem;display:flex;align-items:center;gap:1rem;cursor:pointer;user-select:none}
.party-card-head .party-emoji{width:1.5rem;height:1.5rem;border-radius:50%;flex-shrink:0}
.party-card-head .party-emoji svg{width:100%;height:100%}
.party-card-head h3{font-size:1rem;font-weight:700;flex:1}
.party-card-head .score{font-family:'JetBrains Mono',monospace;font-size:0.9rem;font-weight:700}
.party-card-head .score.s-0{color:var(--red)}
.party-card-head .score.s-1{color:var(--red)}
.party-card-head .score.s-2{color:var(--amber)}
.party-card-head .score.s-3{color:var(--amber)}
.party-card-head .score.s-5{color:var(--green)}
.party-toggle{font-size:1.2rem;color:var(--text-muted);transition:transform .3s}
.party-card.open .party-toggle{transform:rotate(180deg)}
.party-card-body{display:none;padding:0 1.5rem 1.5rem;border-top:1px solid var(--border);background:var(--dark);border-radius:0 0 var(--radius-md) var(--radius-md)}
.party-card-body .axiom-item.violates{background:rgba(192,57,43,0.12);color:#f87171}
.party-card-body .axiom-item.honours{background:rgba(26,122,74,0.12);color:#4ade80}
.party-card-body .axiom-item.partial{background:rgba(212,130,10,0.12);color:#fbbf24}
.party-card-body .party-detail h4{color:#fff}
.party-card-body .party-detail p{color:#bbb}
.party-card-body .party-detail .red{color:#f87171}
.party-card-body .party-detail .amber{color:#fbbf24}
.party-card-body .fact-box{background:rgba(212,130,10,0.1);border-left-color:var(--amber);color:#bbb}
.party-card-body .fact-box strong{color:#fff}
.party-card-body .fact-box.red-box{background:rgba(192,57,43,0.1);border-left-color:var(--red);color:#bbb}
.party-card.open .party-card-body{display:block}
.inv-fails{font-size:0.68rem;color:var(--text-muted);padding:0.3rem 1.2rem 0.7rem;line-height:1.5}
.inv-fails strong{color:var(--red);font-weight:700}
.party-axioms{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:0.5rem;margin-bottom:1rem}
.axiom-item{font-size:0.82rem;padding:0.4rem 0.6rem;border-radius:var(--radius-sm);display:flex;align-items:center;gap:0.4rem}
.axiom-item.violates{background:rgba(192,57,43,0.08);color:var(--red)}
.axiom-item.honours{background:rgba(26,122,74,0.08);color:var(--green)}
.axiom-item.partial{background:rgba(212,130,10,0.08);color:var(--amber)}
.axiom-item .sym{font-weight:700;font-size:0.9rem}
.card-note{font-size:0.85rem;color:var(--text-muted);margin-top:0.5rem;border-top:1px solid var(--border);padding-top:0.5rem}
.card-note-sm{font-size:0.8rem}
.party-detail h4{font-size:0.85rem;font-weight:700;margin:0.8rem 0 0.3rem;color:var(--text)}
.party-detail p{font-size:0.85rem;color:var(--text-secondary);line-height:1.65}
.party-detail .red{color:var(--red);font-weight:600}
.party-detail .amber{color:var(--amber);font-weight:600}

.scenario-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-top:2rem}
.scenario-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);padding:1.5rem}
.scenario-card h3{font-size:0.95rem;font-weight:700;margin-bottom:0.5rem}
.scenario-card .if-label{font-size:0.7rem;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:var(--amber);margin-bottom:0.3rem}
.scenario-card p{font-size:0.85rem;color:var(--text-muted);line-height:1.65}
.scenario-card .outcome{margin-top:0.8rem;padding:0.6rem 0.8rem;border-radius:var(--radius-sm);font-size:0.82rem;font-weight:600}
.outcome.bad{background:rgba(192,57,43,0.1);color:var(--red);border-left:3px solid var(--red)}
.outcome.good{background:rgba(26,122,74,0.1);color:var(--green);border-left:3px solid var(--green)}

.inv-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem;margin-top:2rem}
.inv-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);padding:1.3rem 1.5rem;display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:start}
.inv-num{font-family:'JetBrains Mono',monospace;font-size:1.5rem;font-weight:500;color:var(--amber);line-height:1;padding-top:0.1rem}
.inv-name{font-size:0.95rem;font-weight:700;color:var(--text);margin-bottom:0.35rem}
.inv-def{font-size:0.83rem;color:var(--text-secondary);line-height:1.6;margin-bottom:0.5rem}
.inv-status{font-size:0.78rem;color:var(--text-muted);line-height:1.5;border-top:1px solid var(--border);padding-top:0.4rem}
.inv-fail{color:var(--red);font-weight:700}
.solution-items{display:flex;flex-direction:column;gap:0.75rem}
.sol{background:var(--card);padding:1.5rem 1.8rem;display:grid;grid-template-columns:auto 1fr;gap:1.2rem;align-items:start}
.sol-num{font-size:1.8rem;font-weight:800;color:var(--amber);line-height:1;font-family:'JetBrains Mono',monospace}
.sol h3{font-size:1rem;font-weight:700;margin-bottom:0.35rem}
.sol-model{font-size:0.78rem;color:var(--blue);font-weight:600;text-transform:uppercase;letter-spacing:0.06em;margin-bottom:0.4rem}
.sol p{font-size:0.88rem;color:var(--text-secondary);line-height:1.65}
.sol-tag{display:inline-block;margin-top:0.5rem;font-size:0.7rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;background:rgba(46,139,87,0.1);color:var(--green);padding:0.2em 0.5em;border-radius:var(--radius-sm)}

.gaps-callout{background:rgba(212,130,10,0.06);border:2px solid var(--amber);border-radius:var(--radius-sm);padding:1.5rem 2rem;margin-top:2rem}
.gaps-callout h3{font-size:1.05rem;font-weight:700;margin-bottom:0.5rem}
.gaps-callout p{font-size:0.88rem;color:var(--text-secondary);line-height:1.65}
.gaps-callout ul{margin:0.5rem 0 0 1.2rem;font-size:0.85rem;color:var(--text-muted);line-height:1.7}
.gaps-callout li{margin-bottom:0.2rem}

.share-section{background:var(--cream);text-align:center;padding:4rem 2rem;border-top:1px solid var(--border)}
.share-section h2{color:var(--text);font-size:1.8rem;font-weight:800;letter-spacing:-0.02em;margin-bottom:0.8rem}
.share-section p{color:var(--text-secondary);font-size:0.9rem;margin-bottom:2rem;max-width:500px;margin-left:auto;margin-right:auto}
.share-btns{display:flex;gap:0.8rem;justify-content:center;flex-wrap:wrap}
.share-btn{display:inline-block;padding:0.7rem 1.4rem;font-size:0.82rem;font-weight:700;text-decoration:none;border-radius:var(--radius-sm);letter-spacing:0.04em;font-family:'Bricolage Grotesque',sans-serif;border:none;cursor:pointer}
.share-btn.primary{background:var(--amber);color:#000}
.share-btn.secondary{background:transparent;border:1px solid var(--border);color:var(--text)}
footer{background:var(--bg-alt);color:var(--text-muted);text-align:center;padding:2rem;font-size:0.75rem;line-height:1.8}

@keyframes fadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
.hero h1{animation:fadeUp 0.6s ease both}
.hero-sub{animation:fadeUp 0.6s 0.12s ease both}
.hero-facts{animation:fadeUp 0.6s 0.24s ease both}
.reveal{opacity:0;transform:translateY(16px);transition:opacity 0.55s ease,transform 0.55s ease;will-change:opacity,transform}
.reveal.vis{opacity:1;transform:translateY(0);will-change:auto}

@media(max-width:900px){
  .fw-header{display:none}
  .fw-row{grid-template-columns:1fr;padding:0.8rem;border-bottom:2px solid var(--border)}
  .fw-topic{white-space:normal;border-right:none;border-bottom:1px solid var(--border);padding-bottom:0.6rem;margin-bottom:0.5rem}
  .fw-cell{display:grid;grid-template-columns:90px 1fr;align-items:baseline;gap:0.4rem;text-align:left;border-right:none;border-top:none!important;border-left:3px solid transparent;padding:0.35rem 0.4rem 0.35rem 0.6rem;font-size:0.8rem}
  .fw-cell::before{content:attr(data-label);font-size:0.7rem;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;color:var(--text-muted);white-space:nowrap}
  .fw-cell.fw-keynesian{border-left-color:#3498db}
  .fw-cell.fw-monetarist{border-left-color:#9b59b6}
  .fw-cell.fw-austrian{border-left-color:#2E8B57}
  .fw-cell.fw-mmt{border-left-color:#e67e22}
  .fw-best{border-top:1px solid var(--border);margin-top:0.5rem;padding-top:0.6rem;justify-content:flex-start}
  .fw-best::before{content:"Best fit: ";font-size:0.7rem;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;color:var(--text-muted);margin-right:0.4rem}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}
}
:focus-visible{outline:2px solid var(--amber);outline-offset:2px}
a:focus-visible,button:focus-visible{outline:2px solid var(--amber);outline-offset:2px}
.sidebar a:focus-visible{outline-offset:0}
.loop-card:focus-visible,.party-card:focus-visible{outline:2px solid var(--amber);outline-offset:-2px}

/* ── ACCUSATION OPENER BLOCKS ── */
.accuse-block{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:4rem 2rem;background:#0f0f13;border-bottom:2px solid rgba(192,57,43,0.35);position:relative;overflow:hidden}
.accuse-block::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(192,57,43,0.06) 0%,transparent 70%);pointer-events:none}
.accuse-tag{font-size:0.6rem;font-weight:700;letter-spacing:0.2em;text-transform:uppercase;color:var(--amber);margin-bottom:1.8rem;opacity:0.8}
.accuse-number{font-family:'JetBrains Mono',monospace;font-size:clamp(4.5rem,16vw,12rem);font-weight:500;color:#C0392B;line-height:0.9;letter-spacing:-0.04em;margin-bottom:1.5rem;text-shadow:0 0 80px rgba(192,57,43,0.35);opacity:0;transform:translateY(20px);transition:opacity 0.7s ease,transform 0.7s ease;will-change:opacity,transform}
.accuse-block.vis .accuse-number{opacity:1;transform:translateY(0);will-change:auto}
.accuse-unit{font-size:clamp(1rem,2.5vw,1.6rem);color:rgba(255,255,255,0.35);font-weight:300;display:block;margin-top:0.6rem;font-family:'Bricolage Grotesque',sans-serif;letter-spacing:0}
.accuse-line{font-size:clamp(1rem,2.2vw,1.35rem);color:rgba(255,255,255,0.88);max-width:560px;line-height:1.4;font-weight:500;margin-bottom:0.8rem;opacity:0;transform:translateY(12px);transition:opacity 0.6s 0.25s ease,transform 0.6s 0.25s ease}
.accuse-block.vis .accuse-line{opacity:1;transform:translateY(0)}
.accuse-sub{font-size:0.82rem;color:rgba(255,255,255,0.28);max-width:420px;line-height:1.65;opacity:0;transition:opacity 0.6s 0.45s ease}
.accuse-block.vis .accuse-sub{opacity:1}
.scroll-hint{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);color:rgba(255,255,255,0.18);font-size:0.7rem;letter-spacing:0.12em;text-transform:uppercase;animation:bounce 2.2s infinite}
@keyframes bounce{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(7px)}}

/* ── THREE-TIER CARDS ── */
.tier-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;margin-bottom:0}
.tier-1{padding:1.2rem 1.5rem;display:flex;align-items:center;gap:1.2rem;border-left:4px solid var(--red)}
.tier-1.amber{border-left-color:var(--amber)}
.tier-1-stat{font-family:'JetBrains Mono',monospace;font-size:1.7rem;font-weight:500;color:var(--red);white-space:nowrap;flex-shrink:0;line-height:1}
.tier-1.amber .tier-1-stat{color:var(--amber)}
.tier-1-label{flex:1;min-width:0}
.tier-1-label strong{display:block;font-size:0.9rem;font-weight:700;color:var(--text);line-height:1.3}
.tier-1-label span{display:block;font-size:0.76rem;color:var(--text-muted);margin-top:2px;line-height:1.4}
.tier-2{padding:0.85rem 1.5rem;background:var(--bg-alt);border-top:1px solid var(--border);font-size:0.87rem;color:var(--text-secondary);line-height:1.68}
.tier-3-toggle{display:flex;align-items:center;gap:0.4rem;width:100%;padding:0.55rem 1.5rem;background:none;border:none;border-top:1px solid var(--border);font-size:0.74rem;font-weight:700;color:var(--amber);cursor:pointer;font-family:'Bricolage Grotesque',sans-serif;text-align:left;transition:background 0.15s}
.tier-3-toggle:hover{background:rgba(212,113,10,0.05)}
.tier-3-toggle .t3-chevron{transition:transform 0.2s;display:inline-block}
.tier-3-toggle.open .t3-chevron{transform:rotate(180deg)}
.tier-3-body{display:none;padding:1rem 1.5rem;border-top:1px solid var(--border);font-size:0.85rem;color:var(--text-secondary);line-height:1.72}
.tier-3-body.open{display:block}
.tier-3-body p{margin-bottom:0.6rem}
.tier-3-body p:last-child{margin-bottom:0}
.tier-3-body .card-note{font-size:0.8rem;color:var(--text-muted);margin-top:0.6rem;padding-top:0.6rem;border-top:1px solid var(--border)}
.tier-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem;align-items:start}

/* ── NODE DIAGRAM ── */
.diagram-wrap{display:grid;grid-template-columns:1fr 320px;gap:1.5rem;align-items:start;margin-top:2rem}
@media(max-width:800px){.diagram-wrap{grid-template-columns:1fr}}
.graph-container{background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.07);border-radius:var(--radius-lg);overflow:hidden;position:relative;touch-action:pan-y}
#loop-svg{width:100%;display:block;cursor:pointer;touch-action:pan-y}
.graph-hint{text-align:center;font-size:0.7rem;color:rgba(255,255,255,0.22);padding:0.7rem;letter-spacing:0.04em}
.node-detail{background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.08);border-radius:var(--radius-lg);padding:1.5rem;min-height:280px}
.node-detail-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:280px;color:rgba(255,255,255,0.2);font-size:0.82rem;text-align:center;gap:0.8rem}
.node-detail-empty .nd-arrow{font-size:2rem;opacity:0.25}
.node-detail-content{display:none}
.node-detail-content.active{display:block}
.nd-tag{font-size:0.6rem;font-weight:700;letter-spacing:0.15em;text-transform:uppercase;color:var(--amber);margin-bottom:0.5rem}
.nd-title{font-size:1rem;font-weight:800;color:#fff;margin-bottom:0.3rem;line-height:1.2}
.nd-stat{font-family:'JetBrains Mono',monospace;font-size:1.4rem;font-weight:500;color:#C0392B;display:block;margin:0.7rem 0 0.1rem}
.nd-stat-label{font-size:0.68rem;color:rgba(255,255,255,0.35);margin-bottom:0.8rem;display:block}
.nd-body{font-size:0.8rem;color:#aaa;line-height:1.7;margin-bottom:1rem}
.nd-feeds-label{font-size:0.6rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:#555;margin-bottom:0.4rem}
.nd-feeds{display:flex;flex-direction:column;gap:0.3rem}
.nd-feed-item{font-size:0.74rem;color:#888;display:flex;align-items:center;gap:0.5rem;padding:0.28rem 0.6rem;background:rgba(255,255,255,0.04);border-radius:3px;border-left:2px solid #C0392B;cursor:pointer;transition:all 0.15s}
.nd-feed-item:hover{background:rgba(212,113,10,0.1);color:var(--amber);border-color:var(--amber)}
.nd-feed-item.inbound{border-color:var(--amber)}
.nd-feeds-sep{margin-top:0.6rem}
.nd-show-all{margin-top:1rem;width:100%;background:rgba(212,113,10,0.1);border:1px solid rgba(212,113,10,0.25);color:var(--amber);padding:0.55rem 1rem;border-radius:6px;font-family:'Bricolage Grotesque',sans-serif;font-size:0.76rem;font-weight:700;cursor:pointer;transition:all 0.2s}
.nd-show-all:hover{background:rgba(212,113,10,0.2)}
.nd-show-all.active{background:rgba(192,57,43,0.18);border-color:rgba(192,57,43,0.35);color:#ff8a8a}

/* ── CHART ANNOTATIONS ── */
.chart-annotation{display:inline-block;background:rgba(192,57,43,0.08);color:var(--red);border-left:3px solid var(--red);font-size:0.72rem;font-weight:700;padding:0.2rem 0.5rem;margin-bottom:0.75rem;border-radius:0 3px 3px 0}

/* ── BAR COMPARISON GRID ── */
.bar-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;margin:2rem 0}
.bar-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem}
.bar-card h3{font-size:0.9rem;font-weight:700;margin-bottom:1rem;color:var(--text)}
.bar-row{display:flex;align-items:center;gap:1rem;margin-bottom:0.75rem}
.bar-label{width:110px;font-size:0.75rem;flex-shrink:0;color:var(--text-muted)}
.bar-track{flex:1;background:rgba(0,0,0,0.06);border-radius:4px;height:22px;position:relative;overflow:hidden}
.bar-fill{height:100%;border-radius:4px;display:flex;align-items:center;justify-content:flex-end;padding-right:7px;font-family:'JetBrains Mono',monospace;font-size:0.72rem;color:#fff;font-weight:500;transition:width 0.6s ease}
.bar-fill.baseline{background:#888}
.bar-fill.reported{background:var(--blue)}
.bar-fill.actual{background:var(--red)}
.bar-legend{display:flex;gap:1rem;margin-top:1rem;flex-wrap:wrap}
.bar-legend-item{display:flex;align-items:center;gap:0.4rem;font-size:0.72rem;color:var(--text-muted)}
.bar-legend-dot{width:10px;height:10px;border-radius:2px;flex-shrink:0}
.source-note{font-size:0.72rem;color:var(--text-muted);margin-top:1.5rem}

/* ── STAT CALLOUT CARDS ── */
.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin:2rem 0}
.stat-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem;border-top:3px solid var(--amber)}
.stat-card .stat-number{font-family:'JetBrains Mono',monospace;font-size:2.4rem;color:var(--amber);line-height:1;margin-bottom:0.4rem;font-weight:500}
.stat-card .stat-label{font-size:0.85rem;font-weight:700;color:var(--text);margin-bottom:0.5rem}
.stat-card .stat-context{font-size:0.82rem;color:var(--text-secondary);line-height:1.6}

/* ── DEBATE CARDS ── */
.debate-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem;margin:2rem 0}
.debate-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem;text-decoration:none;color:var(--text);transition:border-color 0.2s,transform 0.2s,box-shadow 0.2s;display:block}
.debate-card:hover{border-color:var(--amber);transform:translateY(-2px);box-shadow:0 4px 16px rgba(0,0,0,0.06)}
.debate-card .debate-tag{font-size:0.65rem;color:var(--amber);text-transform:uppercase;letter-spacing:0.1em;font-weight:700;margin-bottom:0.5rem;display:block}
.debate-card h3{font-size:1rem;font-weight:700;margin-bottom:0.4rem;color:var(--text)}
.debate-card p{font-size:0.84rem;color:var(--text-secondary);line-height:1.55}
.debate-card .debate-arrow{font-size:0.8rem;color:var(--amber);margin-top:0.8rem;display:block;font-weight:700}

/* ── DEEP-DIVE PAGE STYLES ── */
.back-link{display:inline-flex;align-items:center;gap:0.4rem;color:var(--text-muted);text-decoration:none;font-size:0.82rem;font-weight:600;padding:0.5rem 0;margin-bottom:2rem;transition:color 0.15s}
.back-link:hover{color:var(--amber)}
.deep-hero{background:var(--dark);padding:4rem 2rem 3rem;border-bottom:2px solid var(--amber)}
.deep-hero .container{max-width:960px;margin:0 auto}
.deep-tag{font-size:0.65rem;font-weight:700;letter-spacing:0.15em;text-transform:uppercase;color:var(--amber);margin-bottom:1rem;display:block}
.deep-hero h1{font-size:clamp(1.8rem,4vw,3rem);font-weight:800;color:#fff;line-height:1.1;letter-spacing:-0.03em;margin-bottom:1rem}
.deep-hero .deep-lead{font-family:'Lora',serif;font-size:1rem;color:rgba(255,255,255,0.65);max-width:620px;line-height:1.7;font-style:italic}
.deep-stat-row{display:flex;gap:2rem;flex-wrap:wrap;margin-top:2rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,0.08)}
.deep-stat{text-align:left}
.deep-stat .dsn{font-family:'JetBrains Mono',monospace;font-size:1.8rem;color:var(--red);font-weight:500;line-height:1}
.deep-stat .dsl{font-size:0.7rem;color:rgba(255,255,255,0.35);text-transform:uppercase;letter-spacing:0.08em;margin-top:0.25rem}
.steelman{background:rgba(44,82,130,0.08);border:1px solid rgba(44,82,130,0.2);border-left:4px solid var(--blue);border-radius:var(--radius-md);padding:1.5rem 1.8rem;margin:2rem 0}
.steelman-label{font-size:0.65rem;font-weight:700;text-transform:uppercase;letter-spacing:0.12em;color:var(--blue);margin-bottom:0.6rem}
.steelman p{font-size:0.92rem;color:var(--text-secondary);line-height:1.7;font-style:italic}
.refutation{background:rgba(192,57,43,0.05);border:1px solid rgba(192,57,43,0.15);border-left:4px solid var(--red);border-radius:var(--radius-md);padding:1.5rem 1.8rem;margin:2rem 0}
.refutation-label{font-size:0.65rem;font-weight:700;text-transform:uppercase;letter-spacing:0.12em;color:var(--red);margin-bottom:0.6rem}
.refutation p{font-size:0.92rem;color:var(--text-secondary);line-height:1.7}

/* Deep-dive page layout */
.deep-page{min-height:100vh;background:var(--bg);color:var(--text)}
.deep-back{padding:1rem 2rem;background:var(--dark)}
.deep-back a{color:var(--amber);text-decoration:none;font-size:0.85rem;font-weight:600;letter-spacing:0.02em}
.deep-back a:hover{color:#fff}
.deep-content{max-width:800px;margin:0 auto;padding:3rem 1.5rem}
.deep-label{font-size:0.65rem;font-weight:700;text-transform:uppercase;letter-spacing:0.12em;margin-bottom:0.5rem;display:block}
.steelman .deep-label{color:var(--blue)}
.refutation .deep-label{color:var(--red)}
.demand-list .deep-label{color:var(--amber)}
.demand-list{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);padding:1.5rem 1.8rem;margin:2rem 0}
.demand-list ul{list-style:none;padding:0;margin:1rem 0 0}
.demand-list ul li{padding:0.8rem 0;border-bottom:1px solid var(--border);font-size:0.9rem;color:var(--text-secondary);line-height:1.6}
.demand-list ul li:last-child{border-bottom:none}
.demand-list ul li::before{content:'→ ';color:var(--amber);font-weight:700}
.deep-section{margin:2.5rem 0}
.deep-section h2{font-size:1.3rem;margin-bottom:1rem}
.steelman h2{color:var(--blue)}
.refutation h2{color:var(--red)}
.demand-list h2{color:var(--amber)}

/* Invariant/loop framework reference on deep-dive pages */
.framework-ref{margin:2rem 0;padding:1.2rem 1.5rem;background:rgba(212,113,10,0.06);border:1px solid rgba(212,113,10,0.15);border-radius:var(--radius-md)}
.framework-ref-label{font-size:0.65rem;font-weight:700;text-transform:uppercase;letter-spacing:0.12em;color:var(--amber);margin-bottom:0.75rem;display:block}
.framework-ref .framework-pills{margin-bottom:0}
.framework-pill.inv-pill{background:rgba(212,113,10,0.12);color:var(--amber);border:1px solid rgba(212,113,10,0.3);text-decoration:none}
.framework-pill.loop-pill{background:rgba(192,57,43,0.1);color:#e07060;border:1px solid rgba(192,57,43,0.25);text-decoration:none}
.framework-pill.inv-pill:hover,.framework-pill.loop-pill:hover{opacity:0.8}
