@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Libre+Franklin:wght@600;700&family=Newsreader:ital,opsz,wght@1,6..72,500&display=swap";:root{font-family:DM Sans,sans-serif;color:#172528;background:#f4f1e9;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:#f4f1e9}button,input{font:inherit}button{cursor:pointer}.app{min-height:100vh}header{height:72px;border-bottom:1px solid #d6d2c8;display:flex;align-items:center;padding:0 4.5vw;gap:7vw;background:#f7f5ee}.brand{display:flex;align-items:center;gap:11px;min-width:255px}.brand .mark{width:36px;height:36px;border:1px solid #bfc7c2;border-radius:50%;display:grid;place-items:center;color:#175c62}.brand b{display:block;font:700 15px Libre Franklin;letter-spacing:.18em}.brand span{display:block;font-size:8px;letter-spacing:.16em;color:#6f7774;margin-top:3px}nav{display:flex;height:100%;gap:38px;flex:1}nav button{border:0;background:none;font-size:13px;color:#767a76;position:relative}nav button.active{color:#193f43;font-weight:600}nav button.active:after{content:"";position:absolute;height:2px;background:#193f43;bottom:0;left:0;right:0}.scenario{display:flex;align-items:center;gap:15px;border:1px solid #cbc8bf;background:transparent;padding:10px 13px;font-size:10px;letter-spacing:.1em;color:#42504e}main{max-width:1440px;margin:auto}.intro{padding:66px 4.5vw 45px;display:flex;justify-content:space-between;align-items:end}.eyebrow,.panel-title,.insights span,.analyst span{font-size:10px;letter-spacing:.16em;font-weight:700;color:#657370}.intro h1{font:600 54px/1.02 Libre Franklin;letter-spacing:-.05em;margin:15px 0 18px}.intro h1 em{font-family:Newsreader;font-weight:500;color:#175c62}.intro p{max-width:610px;color:#65706d;font-size:15px;line-height:1.6}.status{border-left:1px solid #cbc8bf;padding-left:20px;width:210px;display:grid;grid-template-columns:10px 1fr;gap:4px 7px}.status i,.ask small i{width:7px;height:7px;background:#3a8a62;border-radius:50%;margin-top:3px}.status span{font-size:9px;letter-spacing:.14em;color:#7b817f}.status b{grid-column:2;font-size:12px;color:#306a50}.status small{grid-column:2;color:#8b8e89}.workspace{border-top:1px solid #d7d3c9;border-bottom:1px solid #d7d3c9;display:grid;grid-template-columns:310px 1fr;margin:0 4.5vw;background:#f8f6f0}aside{border-right:1px solid #d7d3c9;padding-bottom:22px}.panel-title{height:47px;padding:0 22px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #d7d3c9}.panel-title button{border:0;background:none;color:#74807d}aside h3{font:600 11px Libre Franklin;text-transform:uppercase;letter-spacing:.08em;padding:20px 22px 6px;margin:0;color:#365057}.control{padding:10px 22px}.control-head{display:flex;justify-content:space-between;font-size:11px;color:#65706d}.control-head span{color:#172528;font-weight:600}.control input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:3px;margin:14px 0 4px;background:linear-gradient(90deg,#175c62 var(--pct),#d3d1ca var(--pct));border-radius:3px}.control input::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:13px;height:13px;border-radius:50%;background:#f8f6f0;border:2px solid #175c62}.range-label{display:flex;justify-content:space-between;color:#999}.results{padding:22px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #d7d3c9}.metric{padding:18px;border-right:1px solid #d7d3c9;min-width:0}.metric:last-child{border:0}.metric-label{display:flex;align-items:center;gap:6px;font-size:9px;letter-spacing:.1em;color:#747d79}.metric strong{display:block;font:600 25px Libre Franklin;margin:13px 0 4px}.metric span{font-size:10px;color:#818682}.red{color:#ad4637}.blue{color:#175c62}.amber{color:#a16e25}.green{color:#307453}.chart-card{border:1px solid #d7d3c9;border-top:0}.chart-head{padding:20px 22px 12px;display:flex;justify-content:space-between}.chart-head h2{font:600 18px Libre Franklin;margin:6px 0}.tabs{display:flex;align-items:end}.tabs button{border:0;border-bottom:1px solid #ccc;background:none;padding:8px 11px;font-size:10px;color:#777}.tabs button.active{color:#175c62;border-bottom:2px solid #175c62}.chart-wrap{height:285px;padding:0 14px}.legend{display:flex;gap:22px;padding:0 25px 18px;font-size:10px;color:#626b68}.legend i{display:inline-block;width:18px;height:2px;margin-right:6px;vertical-align:middle}.legend .teal{background:#175c62}.legend .dash{border-top:1px dashed #aaa}.legend small{margin-left:auto}.insights{display:grid;grid-template-columns:1fr 1fr;border:1px solid #d7d3c9;border-top:0}.insights article{display:flex;gap:14px;padding:20px}.insights article:first-child{border-right:1px solid #d7d3c9}.icon{width:36px;height:36px;flex:0 0 36px;display:grid;place-items:center;border-radius:50%}.red-bg{background:#f0ddd7;color:#ad4637}.blue-bg{background:#d9e7e4;color:#175c62}.insights b{display:block;font-size:12px;margin:7px 0}.insights p{font-size:11px;color:#737b78;line-height:1.45;margin:0}.analyst{margin:45px 4.5vw;display:grid;grid-template-columns:1fr 1fr;background:#173f43;color:#f5f2e9;padding:31px 34px;gap:45px}.analyst-copy{display:flex;gap:18px}.spark{width:40px;height:40px;border:1px solid #507075;border-radius:50%;display:grid;place-items:center;color:#c7d9cd}.analyst span{color:#a8c4bd}.analyst h2{font:600 20px Libre Franklin;margin:6px 0}.analyst p{font-size:11px;color:#adc0bc;line-height:1.5;margin:0}.ask>div{display:flex}.ask input{width:100%;padding:14px;border:1px solid #58777a;background:#214a4e;color:#fff;outline:none;font-size:12px}.ask input::placeholder{color:#9db2ae}.ask button{border:0;background:#e7e1d5;color:#173f43;width:48px}.ask small{display:flex;gap:7px;margin-top:8px;color:#8eaaa5}.answer{background:#214a4e;border-left:2px solid #a8c4bd;padding:12px!important;margin-top:12px!important;color:#dbe6e3!important}.answer+.x{display:none}footer{display:flex;justify-content:space-between;padding:10px 4.5vw 35px;font-size:9px;letter-spacing:.08em;color:#7a817d}footer span{display:flex;gap:7px;align-items:center}footer p{margin:0}@media (max-width:900px){header nav{display:none}.intro{padding-top:40px}.intro h1{font-size:42px}.workspace{grid-template-columns:1fr}.workspace aside{border-right:0;border-bottom:1px solid #d7d3c9}.metrics{grid-template-columns:1fr 1fr}.metric:nth-child(2){border-right:0}.metric:nth-child(-n+2){border-bottom:1px solid #d7d3c9}.analyst{grid-template-columns:1fr}.status{display:none}}@media (max-width:600px){header{padding:0 18px}.scenario{margin-left:auto;font-size:0}.intro{padding:35px 20px}.intro h1{font-size:36px}.workspace{margin:0}.results{padding:12px}.metrics{grid-template-columns:1fr 1fr}.metric strong{font-size:19px}.insights{grid-template-columns:1fr}.insights article:first-child{border-right:0;border-bottom:1px solid #d7d3c9}.chart-head{display:block}.analyst{margin:30px 0;padding:26px 20px}footer p{display:none}}.system-map{border:1px solid #d7d3c9;border-top:0;background:#f3f1ea}.map-head{padding:20px 22px 8px;display:flex;align-items:start;justify-content:space-between}.map-head h2{font:600 18px Libre Franklin;margin:6px 0}.map-key{display:flex;gap:15px;font-size:9px;color:#707975}.map-key i{display:inline-grid;width:15px;height:15px;border-radius:50%;place-items:center;color:#fff;font-style:normal;margin-right:4px}.map-key .plus{background:#34785c}.map-key .minus{background:#b14d3c}.map-key b{display:inline-block;width:17px;border-top:1px dashed #777;margin-right:5px;vertical-align:middle}.map-canvas{height:310px;position:relative;overflow:hidden;margin:0 15px}.map-canvas svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible}.map-canvas line{stroke:#78908b;stroke-width:.32;marker-end:url(#arrow);stroke-dasharray:1.2 .8;animation:flow 2.4s linear infinite}.map-canvas line.fast{stroke-dasharray:none}.map-canvas marker path{fill:#78908b}.map-canvas text{font-size:4px;font-weight:700;fill:#536965}.map-node{position:absolute;width:118px;min-height:58px;transform:translate(-5%,-5%);padding:11px 12px;background:#f8f6f0;border:1px solid #aeb8b4;border-left:3px solid #175c62;box-shadow:0 4px 14px #243d3710;z-index:2;transition:transform .2s,box-shadow .2s}.map-node:hover{transform:translate(-5%,-5%) scale(1.04);box-shadow:0 7px 20px #243d3720}.map-node small{display:block;font-size:8px;text-transform:uppercase;letter-spacing:.09em;color:#6d7875}.map-node strong{display:block;font:600 15px Libre Franklin;margin-top:6px}.map-node.policy{border-left-color:#5b6fa5}.map-node.risk{border-left-color:#b14d3c}.map-node.demand{border-left-color:#b88939}.map-node.supply{border-left-color:#34785c}.map-node.market{border-left-color:#175c62}.map-note{font-size:9px;color:#7d8581;margin:0;padding:0 22px 17px}@keyframes flow{to{stroke-dashoffset:-4}}@media (max-width:600px){.map-key{display:none}.map-canvas{height:350px}.map-node{width:98px;padding:8px}.map-node strong{font-size:12px}}.finance-summary{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #d7d3c9;border-top:0;background:#f8f6f0}.finance-summary>div{padding:17px 20px;border-right:1px solid #d7d3c9}.finance-summary>div:last-child{border:0}.finance-summary span{display:block;font-size:9px;letter-spacing:.1em;color:#747d79}.finance-summary strong{display:block;font:600 17px Libre Franklin;margin-top:8px}.finance-summary small{display:block;color:#818682;font-size:9px;margin-top:4px}@media (max-width:600px){.finance-summary{grid-template-columns:1fr}.finance-summary>div{border-right:0;border-bottom:1px solid #d7d3c9}}.map-loading{padding:35px;color:#6d7875;font-size:12px}.map-tools{display:flex;align-items:center;gap:6px;padding:2px 22px 8px}.map-tools button{border:1px solid #d2d5d3;background:#faf9f5;border-radius:999px;padding:5px 10px;font-size:10px;color:#485753}.map-tools button.active{border-color:#175c62;background:#dce9e6;color:#175c62}.node-type{font-size:9px;border-radius:999px;padding:4px 8px;margin-left:3px;color:#fff}.node-type.stock{background:#34785c}.node-type.policy{background:#5b6fa5}.node-type.auxiliary{background:#777}.map-canvas line{cursor:pointer}.map-canvas .selected-edge line{stroke-width:.75}.map-canvas circle.positive{fill:#f8fafc;stroke:#34785c;stroke-width:.3}.map-canvas circle.negative{fill:#f8fafc;stroke:#b14d3c;stroke-width:.3}.map-canvas .edge-label{font-size:2.3px;font-weight:500;fill:#6d7875}.map-canvas .flow-bead{fill:#f0ab34;stroke:#fff;stroke-width:.15}.map-node{cursor:pointer;text-align:left;overflow:hidden}.map-node.selected{outline:4px solid #175c6233;transform:translate(-5%,-5%) scale(1.05)}.map-node>*:not(.node-level){position:relative;z-index:1}.map-node .node-level{position:absolute;z-index:0;left:0;right:0;bottom:0;height:var(--level);background:currentColor;opacity:.1;transition:height .35s ease}.map-node em{display:block;font-size:7px;text-transform:uppercase;letter-spacing:.09em;color:#6d7875;font-style:normal;margin-top:4px}.timeline{margin:0 22px 12px;padding:12px 14px;background:#faf9f5;border:1px solid #d7d3c9;display:grid;grid-template-columns:170px 1fr;gap:18px;align-items:center}.timeline>div{display:grid;grid-template-columns:1fr 1fr}.timeline span{grid-column:1/-1;font-size:8px;letter-spacing:.12em;color:#747d79}.timeline strong{font-size:13px;margin-top:4px}.timeline small{text-align:right;margin-top:5px;color:#7b817f}.timeline input{width:100%;accent-color:#175c62}.loop-row{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;padding:0 22px 12px}.loop-row button{display:grid;grid-template-columns:28px 1fr;text-align:left;gap:1px 6px;border:1px solid #d7d3c9;background:#faf9f5;padding:8px}.loop-row button.active{box-shadow:0 0 0 2px #175c6233}.loop-row b{grid-row:1/3;font-size:12px}.loop-row span{font-size:9px;font-weight:600}.loop-row small{font-size:8px;color:#777}.loop-row .reinforcing b{color:#b87d22}.loop-row .balancing b{color:#15879a}.selection-panel{margin:0 22px 12px;border-left:3px solid #175c62;background:#e8eeeb;padding:10px 12px}.selection-panel b{font-size:11px}.selection-panel p{font-size:10px;line-height:1.45;color:#58635f;margin:4px 0 0}@media (max-width:600px){.map-tools .node-type{display:none}.timeline,.loop-row{grid-template-columns:1fr}}.scenario select{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;outline:0;color:#42504e;font-size:10px;letter-spacing:.06em;max-width:190px}.scenario-band{margin:0 4.5vw 20px;border:1px solid #d7d3c9;border-left:4px solid #175c62;padding:18px 22px;display:grid;grid-template-columns:1fr 1.35fr;gap:30px;background:#f8f6f0}.scenario-band.market{border-left-color:#b14d3c}.scenario-band.stress{border-left-color:#b87d22}.scenario-band.policy{border-left-color:#34785c}.scenario-band>div>span,.scenario-picker label>span{font-size:8px;letter-spacing:.13em;text-transform:uppercase;color:#727b78}.scenario-band h2{font:600 18px Libre Franklin;margin:5px 0}.scenario-band p{font-size:10px;line-height:1.5;color:#68716e;margin:0}.scenario-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.scenario-picker label{display:flex;flex-direction:column;gap:6px}.scenario-picker select{width:100%;border:1px solid #d0cec6;background:#f4f1e9;padding:9px 8px;font-size:10px;color:#34423f}.presentation-kpis{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #d7d3c9;border-top:0;background:#edf0ec}.presentation-kpis>div{padding:14px 16px;border-right:1px solid #d7d3c9}.presentation-kpis>div:last-child{border:0}.presentation-kpis span{font-size:8px;letter-spacing:.1em;color:#747d79}.presentation-kpis strong{display:block;font:600 15px Libre Franklin;margin-top:7px}.presentation-kpis small{display:block;font-size:8px;color:#7b817f;margin-top:4px}@media (max-width:700px){.scenario-band,.scenario-picker{grid-template-columns:1fr}.presentation-kpis{grid-template-columns:1fr 1fr}.presentation-kpis>div{border-bottom:1px solid #d7d3c9}}
