*{box-sizing:border-box}body{margin:0;background:#faf8f1;color:#26352d;font:16px/1.6 system-ui,sans-serif}header,main,footer{max-width:1240px;margin:auto;padding:1.4rem 1.6rem}a{color:#235d50;text-underline-offset:3px}h1{font:clamp(2.4rem,5vw,3.8rem)/1.08 Georgia,serif;margin:.7rem 0 1rem}h2{font:2rem/1.2 Georgia,serif}h3{font:1.35rem/1.3 Georgia,serif}h2,h3{margin:.3rem 0 1rem}p{max-width:92ch;margin:.7rem 0}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.75rem;color:#566c58}.note,nav,small{font-size:.86rem;color:#526456}.hero{display:grid;grid-template-columns:1.15fr 1fr;gap:2rem;align-items:center}.hero img{width:100%;height:auto;border:1px solid #cdd7c9;border-radius:12px}.mode-nav,.toolbar,.set-options{display:flex;gap:.65rem;flex-wrap:wrap}.mode-nav{margin:1.5rem 0 .7rem}.mode-nav a{padding:.65rem 1rem;border:1px solid #a2b5a4;border-radius:7px;text-decoration:none}.mode-nav [aria-current]{background:#285d4a;color:white}.intro{max-width:90ch}.split{display:grid;grid-template-columns:310px minmax(0,1fr);gap:1rem;align-items:start}.panel,.cards details{background:#fffdf7;border:1px solid #cdd7c9;border-radius:12px;padding:1.15rem;margin-bottom:1rem}.cards{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.8rem;margin-top:1rem}.cards details{font-size:.94rem}summary{cursor:pointer;font-weight:650;min-height:32px}details[open]>summary{margin-bottom:.8rem}label{display:block;font-weight:550;font-size:.9rem;margin-top:.65rem}input,select,button{font:inherit;color:inherit;max-width:100%}input:not([type=checkbox]),select{width:100%;min-height:44px;border:1px solid #a2b5a4;border-radius:5px;padding:.45rem;background:#fffefa}input[type=range]{padding:0;accent-color:#285d4a}input[type=file]{font-size:.8rem}button{min-height:44px;background:#edf2e6;border:1px solid #a2b5a4;border-radius:6px;padding:.5rem .75rem;cursor:pointer;margin:.4rem 0}button.primary{background:#285d4a;color:white}button:disabled{opacity:.5;cursor:default}button:hover{filter:brightness(.96)}fieldset{border:0;padding:0;margin-top:1rem}legend{font-weight:650;font-size:.92rem}.variable-row{border-top:1px solid #d9dfd6;padding:.5rem 0;display:grid;grid-template-columns:1fr 1fr;gap:.2rem}.variable-row>span{grid-column:1/-1;font-size:.85rem}.variable-row label{font-weight:400;font-size:.79rem;margin:0;display:flex;align-items:center;gap:.25rem;min-height:30px}input[type=checkbox]{width:19px;height:19px;accent-color:#285d4a}.error{color:#8b3024;font-size:.88rem}.error:empty{display:none}.warning{font-size:.84rem;border-left:3px solid #b68545;padding-left:.75rem;overflow-wrap:anywhere}.diagram-panel{padding:.5rem}.diagram-panel svg{display:block;width:100%;height:auto;min-height:240px;touch-action:none}.node{cursor:grab}.node rect{fill:#fffdf7;stroke:#537565;stroke-width:1.7}.node text{font:13px system-ui;fill:#26352d;pointer-events:none}.node.collider rect{fill:#fae8ba;stroke:#9c6a22}.node.unobserved>rect{stroke-dasharray:5 3}.node .inner{fill:none!important;stroke:#285d4a!important}.edge{fill:none;stroke:#99a695;stroke-width:2.5;cursor:pointer;pointer-events:stroke}.edge.causal{stroke:#285d4a;stroke-dasharray:7 4}.edge.backdoor{stroke:#a44f38}.edge:focus{stroke:#192e65;stroke-width:5;outline:none}.legend{font-size:.73rem;padding:.4rem;margin:0}.causal-key{color:#285d4a}.backdoor-key{color:#934431}.collider-key{color:#886019}#path-list{max-height:420px;overflow:auto;font-size:.9rem}#path-list li{margin-bottom:.8rem}.path-text{overflow-wrap:anywhere}.flow{display:flex;align-items:center;justify-content:space-between;gap:.7rem}.flow div{flex:1;background:#edf2e6;border-radius:8px;padding:.8rem;text-align:center;font-size:.9rem}.flow>span{color:#718069;font-size:1.7rem}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:.7rem}.kpis span,.kpis small{display:block;font-size:.74rem}.kpis strong{font:1.9rem/1.7 Georgia,serif}.charts{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}figure{margin:0;min-width:0}figcaption{font-size:.86rem;font-weight:600}figure svg{display:block;width:100%;height:auto}svg text{font:12px system-ui;fill:#344a3c}.axis{stroke:#a2b5a4;stroke-width:1}.policy-bar{fill:#4a7b63;fill-opacity:.72}.base-bar{fill:none;stroke:#aa7628;stroke-width:1.5}.box line{stroke-width:2}.policy-box{fill:#bad3b8;stroke:#285d4a}.base-box{fill:#f6e4bd;stroke:#92672f}.score-chart{width:100%;min-width:460px;display:block}.score-chart text{font-size:14px}.spread{stroke:#47382a;stroke-width:3}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;font-size:.84rem}th,td{padding:.6rem .5rem;border-bottom:1px solid #d9dfd6;text-align:left;font-variant-numeric:tabular-nums}caption{text-align:left;margin:.5rem 0;color:#526456}pre{background:#f0f2e8;padding:.8rem;overflow:auto;border-radius:6px;font-size:.78rem;line-height:1.6}code{overflow-wrap:anywhere;font-size:.83rem}footer{border-top:1px solid #d9dfd6;margin-top:1rem;font-size:.85rem}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible,summary:focus-visible,.node:focus-visible,[tabindex="-1"]:focus-visible{outline:3px solid #aa6724;outline-offset:3px}.skip{position:absolute;top:-100px;left:1rem;z-index:10;background:white;padding:1rem}.skip:focus{top:1rem}[hidden]{display:none!important}@media(max-width:850px){.hero{grid-template-columns:1fr 1fr;gap:1rem}.split{grid-template-columns:260px minmax(0,1fr)}.cards{grid-template-columns:1fr}.kpis{grid-template-columns:1fr 1fr}.charts{grid-template-columns:1fr}}@media(max-width:650px){header,main,footer{padding:1rem}.hero,.split{grid-template-columns:1fr}.hero img{max-width:520px}.panel{padding:1rem}.diagram-panel{padding:.3rem}.diagram-panel svg{min-height:0}.mode-nav a{flex:1;font-size:.87rem;text-align:center}.flow{display:grid;grid-template-columns:1fr auto 1fr}.flow>span:nth-of-type(2){display:none}.flow div{font-size:.8rem}.charts{grid-template-columns:1fr 1fr}svg text{font-size:13px}.diagram-panel .legend{font-size:.7rem}}@media(max-width:430px){.charts{grid-template-columns:1fr}.toolbar button{flex-grow:1}}@media print{section[hidden]{display:block!important}.split{display:block}.mode-nav,.toolbar,.skip{display:none}.panel,details{break-inside:avoid}body{background:white}}
/* Grid items must shrink around their internally scrolling tables and code. */
.split>*,.cards>*,.hero>*,.panel{min-width:0}
@media(max-width:650px){.diagram-panel{overflow-x:auto}.diagram-panel svg{min-width:620px}}
