@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700&display=swap";:root{color:#101a3f;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#f4f7f1;font-family:Manrope,Avenir Next,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible{outline-offset:2px;outline:2px solid #101a3f}::selection{color:#101a3f;background:#a8d80f}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}#root{min-height:100vh}.app-shell{--bg:#f3f3eb;--surface:#fffef7;--surface-2:#ecefe7;--ink:#17332a;--muted:#64736d;--line:#cdd5ce;--accent:#147553;--accent-2:#c8ed73;--danger:#b34f42;--shadow:0 18px 48px #19372d14;--radius:4px;--border-width:1px;--display:"Manrope", "Avenir Next", sans-serif;--body:"Manrope", "Avenir Next", sans-serif;--mono:"DM Mono", ui-monospace, monospace;min-height:100vh;color:var(--ink);background:var(--bg);font-family:var(--body);transition:color .25s,background .25s}.app-shell *{box-sizing:border-box}.app-shell button,.app-shell input,.app-shell select{font-family:inherit}.app-shell button:focus-visible,.app-shell input:focus-visible,.app-shell select:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.topbar{border-bottom:var(--border-width) solid var(--line);background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);z-index:30;grid-template-columns:1fr auto 1fr;align-items:center;height:76px;padding:0 clamp(24px,4vw,64px);display:grid;position:sticky;top:0}.brand{width:fit-content;color:var(--ink);letter-spacing:.13em;align-items:center;gap:12px;font-size:17px;font-weight:700;text-decoration:none;display:inline-flex}.brand-mark{width:42px;height:42px;color:var(--ink);background:var(--accent-2);border:var(--border-width) solid var(--accent);border-radius:50%;place-items:center;display:grid}.topbar-center{text-align:center;flex-direction:column;gap:3px;display:flex}.topbar-center h1{margin:0;font-size:15px}.topbar-center span,.topbar-status{color:var(--muted);font:500 11px var(--mono);text-transform:uppercase;letter-spacing:.08em}.topbar-status{justify-self:end;align-items:center;gap:9px;display:flex}.topbar-status>span{background:var(--accent);width:8px;height:8px;box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 14%, transparent);border-radius:50%}main{max-width:1600px;margin:0 auto;padding:0 clamp(24px,4vw,64px) 100px}.stage-section{grid-template-columns:150px minmax(0,1fr);gap:28px;padding:60px 0 30px;display:grid}.stage-rail{flex-direction:column;align-items:flex-start;padding-top:5px;display:flex;position:relative}.stage-number{color:var(--accent-text,var(--accent));font:500 42px/1 var(--display)}.stage-icon{width:40px;height:40px;color:var(--surface);background:var(--accent);border-radius:50%;place-items:center;margin:18px 0 14px;display:grid}.stage-label{color:var(--accent-text,var(--accent));font:500 11px var(--mono);text-transform:uppercase;letter-spacing:.1em}.stage-rail strong{font:600 18px var(--display);margin-top:7px}.stage-rail small{color:var(--muted);margin-top:7px;font-size:12px;line-height:1.5}.stage-rail i{width:calc(100% + 18px);height:var(--border-width);background:var(--line);position:absolute;top:66px;left:40px}.stage-rail i:after{content:"";background:var(--accent);border-radius:50%;width:9px;height:9px;position:absolute;top:-4px;right:0}.section-title{justify-content:space-between;align-items:end;gap:46px;margin-bottom:26px;display:flex}.section-title>div{max-width:850px}.section-title>p{max-width:470px;color:var(--muted);margin:0;font-size:14px;line-height:1.65}.section-kicker{color:var(--accent-text,var(--accent));font:600 11px var(--mono);text-transform:uppercase;letter-spacing:.1em;align-items:center;gap:7px;display:inline-flex}.section-title h1,.section-title h2{font:600 clamp(34px, 3.4vw, 52px)/1.04 var(--display);letter-spacing:0;margin:9px 0 0}.results-title h2{font-size:clamp(31px,3vw,44px)}.country-empty-state{min-height:280px;color:var(--muted);border:var(--border-width) dashed var(--line);border-radius:var(--radius);background:color-mix(in srgb, var(--surface) 70%, transparent);text-align:left;justify-content:center;align-items:center;gap:18px;padding:36px;display:flex}.country-empty-state>span{width:58px;height:58px;color:var(--accent);background:var(--surface-2);border-radius:18px;flex:none;place-items:center;display:grid}.country-empty-state h2{color:var(--ink);font:600 26px var(--display);margin:0 0 7px}.country-empty-state p{margin:0;font-size:13px}.baseline-panel,.comparison-panel,.visual-panel,.choice-explorer{border:var(--border-width) solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);overflow:hidden}.panel-header{border-bottom:var(--border-width) solid var(--line);justify-content:space-between;align-items:center;gap:24px;min-height:82px;padding:18px 24px;display:flex}.panel-header>div:first-child{flex-direction:column;gap:5px;display:flex}.panel-header span{color:var(--accent-text,var(--accent));font:600 11px var(--mono);text-transform:uppercase;letter-spacing:.08em}.panel-header h2,.panel-header h3{font:600 25px var(--display);margin:0}.horizon-chip,.solution-context span{color:var(--muted);border:var(--border-width) solid var(--line);font:500 11px var(--mono);text-transform:uppercase;border-radius:30px;padding:8px 11px}.baseline-grid{grid-template-columns:repeat(4,1fr);display:grid}.baseline-card{border-right:var(--border-width) solid var(--line);min-height:260px;padding:24px}.baseline-card:last-child{border-right:0}.baseline-card>span,.result-card>span{color:var(--muted);text-transform:uppercase;letter-spacing:.045em;align-items:center;gap:9px;font-size:12px;font-weight:700;display:flex}.baseline-card>strong{font:600 clamp(38px, 3.2vw, 52px) var(--display);margin:24px 0 8px;display:block}.baseline-card>p{color:var(--muted);font-size:13px}.agg-label{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;align-items:baseline;gap:6px;font-size:10px;font-weight:700;display:inline-flex}.agg-label b{font:700 12px var(--mono);color:var(--ink)}.baseline-card>.agg-label{display:flex}.result-card>.agg-label{margin-top:0;display:flex}.headline-tile .metric-trend{margin-top:2px}.headline-tile .metric-trend svg{height:54px}.landfill-result strong{color:var(--danger)}.metric-trend{margin-top:18px;position:relative}.metric-trend svg{width:100%;height:92px;display:block;overflow:visible}.trend-axis{stroke:var(--line);stroke-width:1px}.trend-primary{fill:none;stroke:var(--accent);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.trend-comparison{fill:none;stroke:var(--muted);stroke-width:2px;stroke-dasharray:5 5}.trend-end{fill:var(--surface);stroke:var(--accent);stroke-width:3px}.trend-hit{fill:#0000;stroke:#0000;cursor:crosshair}.trend-hit:hover{fill:color-mix(in srgb, var(--accent) 20%, transparent);stroke:var(--accent);stroke-width:1.2px}.trend-tooltip{z-index:4;color:#fff;border:1px solid color-mix(in srgb, var(--accent) 60%, #101a3f);pointer-events:none;text-align:center;background:#101a3f;border-radius:8px;min-width:76px;padding:7px 9px;position:absolute;transform:translate(-50%,calc(-100% - 10px));box-shadow:0 10px 24px #101a3f2e}.trend-tooltip:after{content:"";border-right:1px solid color-mix(in srgb, var(--accent) 60%, #101a3f);border-bottom:1px solid color-mix(in srgb, var(--accent) 60%, #101a3f);background:#101a3f;width:9px;height:9px;position:absolute;bottom:-5px;left:50%;transform:translate(-50%)rotate(45deg)}.trend-tooltip span{color:var(--accent);font:700 9px var(--mono);text-transform:uppercase;letter-spacing:.07em;display:block}.trend-tooltip strong{margin-top:2px;font-size:13px;display:block}.trend-caption{color:var(--muted);font:500 10px var(--mono);justify-content:space-between;display:flex}.decision-section{padding-top:80px}.country-required{color:var(--muted);border:1px solid var(--line);background:var(--surface);border-radius:16px;align-items:center;gap:12px;margin-bottom:16px;padding:15px 18px;display:flex}.country-required>span{flex-direction:column;gap:3px;font-size:12px;display:flex}.country-required strong{color:var(--ink);font-size:14px}.question-grid.country-locked{opacity:.8}.objective-option:disabled{cursor:not-allowed}.objective-option:disabled:hover{border-color:var(--line);transform:none}.question-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.question-card{min-height:650px;color:var(--ink);border:var(--border-width) solid var(--line);border-radius:var(--radius);background:var(--surface-2);padding:25px;position:relative;overflow:hidden}.question-card.active-card{background:var(--surface);box-shadow:var(--shadow)}.question-card.active-card:before{content:"";background:var(--accent);height:4px;position:absolute;inset:0 0 auto}.card-step{grid-template-columns:auto 1fr auto;align-items:center;gap:12px;display:grid}.card-step>span{width:31px;height:31px;color:var(--accent);border:var(--border-width) solid var(--accent);font:600 12px var(--mono);border-radius:50%;place-items:center;display:grid}.card-step>div{height:var(--border-width);background:var(--line)}.card-step small{color:var(--muted);font:600 11px var(--mono);text-transform:uppercase;letter-spacing:.08em}.card-title{margin:28px 0 21px}.card-title h3,.locked-content h3{font:600 25px/1.12 var(--display);margin:0 0 8px}.card-title p,.locked-content p{color:var(--muted);margin:0;font-size:13px;line-height:1.55}.objective-list,.question-options{gap:10px;display:grid}.objective-option{text-align:left;width:100%;min-height:100px;color:var(--ink);border:var(--border-width) solid var(--line);border-radius:calc(var(--radius) * .65);background:var(--surface);cursor:pointer;grid-template-columns:45px 1fr auto;align-items:center;gap:13px;padding:15px;display:grid}.objective-option:hover,.question-options button:hover,.guardrail-grid button:hover,.no-guardrail:hover{border-color:var(--accent)}.objective-option.selected,.question-options button.selected,.guardrail-grid button.selected,.no-guardrail.selected{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 9%, var(--surface));box-shadow:inset 4px 0 var(--accent)}.objective-icon{width:45px;height:45px;color:var(--accent);background:var(--surface-2);border-radius:50%;place-items:center;display:grid}.objective-option.selected .objective-icon{color:var(--surface);background:var(--accent)}.objective-copy,.no-guardrail>span:last-child,.guardrail-grid button>span:last-child{flex-direction:column;gap:5px;display:flex}.objective-copy strong,.no-guardrail strong,.guardrail-grid strong{font-size:14px}.objective-copy small,.no-guardrail small,.guardrail-grid small{color:var(--muted);font-size:11px;line-height:1.45}.choice-mark{width:21px;height:21px;color:var(--surface);border:var(--border-width) solid var(--muted);background:var(--surface);border-radius:50%;flex:none;place-items:center;display:grid}.choice-mark.square{border-radius:4px}.choice-mark.checked{color:var(--surface);border-color:var(--accent);background:var(--accent)}.locked-card{color:var(--muted)}.locked-content{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:510px;padding:50px;display:flex}.locked-content>span{border:var(--border-width) dashed var(--muted);border-radius:50%;place-items:center;width:58px;height:58px;margin-bottom:22px;display:grid}.no-guardrail{text-align:left;width:100%;min-height:78px;color:var(--ink);border:var(--border-width) solid var(--line);border-radius:calc(var(--radius) * .65);background:var(--surface);cursor:pointer;align-items:center;gap:12px;padding:15px;display:flex}.guardrail-divider{color:var(--muted);font:500 10px var(--mono);text-transform:uppercase;align-items:center;gap:10px;margin:19px 0;display:flex}.guardrail-divider:before,.guardrail-divider:after{content:"";height:var(--border-width);background:var(--line);flex:1}.guardrail-grid{grid-template-columns:1fr 1fr;gap:9px;display:grid}.guardrail-grid button{text-align:left;min-height:102px;color:var(--ink);border:var(--border-width) solid var(--line);border-radius:calc(var(--radius) * .65);background:var(--surface);cursor:pointer;align-items:flex-start;gap:10px;padding:14px;display:flex}.question-options button{text-align:left;min-height:111px;color:var(--ink);border:var(--border-width) solid var(--line);border-radius:calc(var(--radius) * .65);background:var(--surface);cursor:pointer;align-items:flex-start;gap:13px;padding:16px;display:flex}.question-options button>span:last-child{flex-direction:column;gap:8px;display:flex}.question-options button small{color:var(--accent-text,var(--accent));font:600 10px var(--mono);text-transform:uppercase;letter-spacing:.08em}.question-options button strong{font-size:13px;line-height:1.5}.form-stack{gap:15px;display:grid}.field{gap:8px;display:grid}.field-label{font-size:12px;font-weight:700}.field-hint{color:var(--muted);font-size:11px;line-height:1.4}.select-shell,.number-input{min-height:50px;color:var(--ink);border:var(--border-width) solid var(--line);border-radius:calc(var(--radius) * .5);background:var(--surface);align-items:center;display:flex}.select-shell{position:relative}.select-shell select{appearance:none;width:100%;min-height:48px;color:var(--ink);cursor:pointer;background:0 0;border:0;outline:0;padding:0 38px 0 13px;font-size:12px}.select-shell svg{color:var(--muted);pointer-events:none;position:absolute;right:12px}.number-input input{min-width:0;height:48px;color:var(--ink);font:600 20px var(--display);background:0 0;border:0;outline:0;flex:1;padding:0 13px}.number-input b{color:var(--muted);padding-right:14px;font-size:13px}.budget-schedule{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.budget-year{border:var(--border-width) solid var(--line);border-radius:calc(var(--radius) * .5);background:var(--surface);grid-template-columns:24px auto minmax(52px,1fr) auto;align-items:center;gap:4px;min-width:0;min-height:42px;padding:6px 8px;display:grid}.budget-year span{color:var(--muted);font:700 9px var(--mono);text-transform:uppercase}.budget-year b,.budget-year small{color:var(--muted);font-size:10px}.budget-year input{width:100%;min-width:52px;color:var(--ink);text-align:right;font-variant-numeric:tabular-nums;background:0 0;border:0;outline:0;padding:0;font-size:13px;font-weight:700}.budget-total{color:#101a3f;border:1px solid var(--accent);border-radius:calc(var(--radius) * .5);background:color-mix(in srgb, var(--accent) 18%, var(--surface));grid-column:1/-1;justify-content:space-between;align-items:center;gap:8px;min-height:42px;padding:7px 9px;display:flex}.budget-total span{font:700 9px var(--mono);text-transform:uppercase;letter-spacing:.06em}.budget-total strong{font-size:14px}.budget-unlimited-toggle{text-align:left;width:100%;color:var(--ink);border:var(--border-width) solid var(--line);border-radius:calc(var(--radius) * .5);background:var(--surface);cursor:pointer;align-items:center;gap:11px;margin-bottom:8px;padding:11px 13px;transition:border-color .18s,background .18s;display:flex}.budget-unlimited-toggle:hover{border-color:var(--accent)}.budget-unlimited-toggle.active{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 9%, var(--surface));box-shadow:inset 4px 0 var(--accent)}.budget-unlimited-toggle span{flex-direction:column;gap:3px;display:flex}.budget-unlimited-toggle strong{font-size:13px}.budget-unlimited-toggle small{color:var(--muted);font-size:10px;line-height:1.4}.budget-schedule.is-unlimited .budget-year{opacity:.6}.budget-schedule.is-unlimited .budget-year input{cursor:not-allowed}.constraint-values{grid-template-columns:1fr 1fr;gap:8px;display:grid}.constraint-values .field{border-left:3px solid var(--accent);border-radius:calc(var(--radius) * .5);background:var(--surface-2);min-height:76px;padding:9px}.constraint-values .number-input{min-height:38px}.constraint-values .number-input input{height:36px;font-size:17px}.material-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.material-list.per-material{grid-template-columns:minmax(0,1fr)}.material-row{grid-template-columns:minmax(0,1fr);align-items:center;gap:7px;min-width:0;display:grid}.material-row.has-target{grid-template-columns:minmax(0,1fr) 96px}.material-row-toggle{text-align:left;min-width:0;min-height:40px;color:var(--ink);border:var(--border-width) solid var(--line);border-radius:calc(var(--radius) * .5);background:var(--surface);cursor:pointer;align-items:center;gap:8px;padding:8px 9px;display:flex}.material-row-toggle:hover{border-color:var(--accent)}.material-row.selected .material-row-toggle{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, var(--surface))}.material-row-toggle span{min-width:0;font-size:11px;font-weight:700;line-height:1.25}.material-row-target{min-height:40px}.material-row-target input{text-align:right;height:40px;min-height:40px;padding-inline:9px 5px;font-size:16px}.material-row-target input:disabled{color:var(--muted);opacity:.42;cursor:not-allowed}.material-row-target b{padding-right:9px}.run-bar{min-height:98px;color:var(--muted);border:var(--border-width) solid var(--line);border-radius:var(--radius);background:var(--surface-2);grid-template-columns:1fr auto auto;align-items:center;gap:26px;margin-top:14px;padding:17px 19px;display:grid}.run-bar.ready{color:var(--surface);border-color:var(--ink);background:var(--ink)}.run-summary{align-items:center;gap:14px;display:flex}.summary-icon{border:var(--border-width) solid currentColor;border-radius:50%;place-items:center;width:48px;height:48px;display:grid}.run-summary div{flex-direction:column;gap:4px;display:flex}.run-summary small{font:500 10px var(--mono);text-transform:uppercase;letter-spacing:.08em;opacity:.75}.run-summary strong{font-size:14px}.run-button{min-height:56px;color:var(--ink);border:var(--border-width) solid var(--accent-2);border-radius:calc(var(--radius) * .65);background:var(--accent-2);cursor:pointer;justify-content:center;align-items:center;gap:10px;padding:0 21px;font-size:13px;font-weight:700;display:inline-flex}.run-button:disabled{color:var(--muted);border-color:var(--line);background:var(--surface);cursor:not-allowed}.spinner{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.results-section{padding-top:90px;scroll-margin-top:70px;animation:.45s both rise}@keyframes rise{0%{opacity:0;transform:translateY(18px)}}.results-title{align-items:center}.results-subline{max-width:480px;color:var(--muted);margin:8px 0 0;font-size:14px;line-height:1.55}.solution-context{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.total-investment-chip{color:var(--surface);background:var(--accent);border:var(--border-width) solid var(--accent);font:700 12px var(--mono);text-transform:uppercase;letter-spacing:.04em;border-radius:30px;align-items:center;gap:6px;padding:8px 12px;display:inline-flex}.comparison-panel{margin-bottom:16px}.comparison-header{border-bottom:var(--border-width) solid var(--line);align-items:center;gap:13px;min-height:70px;padding:15px 23px;display:flex}.comparison-header>span{color:var(--muted);text-decoration:line-through}.comparison-header strong{color:var(--accent-text,var(--accent))}.comparison-header p{max-width:480px;color:var(--muted);text-align:right;margin-left:auto;font-size:12px}.comparison-grid{grid-template-columns:repeat(6,1fr);display:grid}.result-card{border-right:var(--border-width) solid var(--line);min-height:245px;padding:22px}.result-card:last-child{border-right:0}.result-card>div:first-of-type{align-items:baseline;gap:9px;min-height:50px;margin:16px 0 2px;display:flex}.result-card del{color:var(--muted);font:500 16px var(--display)}.result-card strong{font:600 clamp(28px, 2.3vw, 39px) var(--display)}.result-card>small{margin-top:12px;font-size:11px;display:block}.result-card .positive{color:var(--accent-text,var(--accent))}.result-card .negative{color:var(--danger-text,var(--danger))}.jobs-result strong{color:var(--accent-text,var(--accent))}.finance-panel{margin-bottom:16px}.finance-card{border:var(--border-width) solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);flex-direction:column;padding:22px;display:flex}.finance-combined-head{flex-wrap:wrap;gap:16px 40px;display:flex}.finance-stat{flex-direction:column;gap:4px;display:flex}.finance-stat>span{color:var(--muted);text-transform:uppercase;letter-spacing:.045em;align-items:center;gap:8px;font-size:12px;font-weight:700;display:flex}.finance-stat strong{font:600 clamp(20px, 1.8vw, 26px) var(--display);line-height:1}.finance-stat small{color:var(--muted);font-size:11px}.capex-stat>span svg{color:var(--accent)}.opex-stat>span svg{color:var(--accent-2)}.finance-sub{color:var(--muted);margin:8px 0 0;font-size:12px;line-height:1.45}.phasing{grid-template-columns:repeat(10,1fr);align-items:end;gap:6px;margin-top:auto;padding-top:18px;display:grid}.finance-phasing{position:relative}.phasing-bar{flex-direction:column;align-items:center;gap:6px;display:flex}.finance-phasing .phasing-bar{cursor:crosshair;outline:none}.finance-phasing .phasing-bar.active .phasing-track,.finance-phasing .phasing-bar:focus-visible .phasing-track{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.phasing-track{border:var(--border-width) solid var(--line);background:var(--surface-2);width:100%;height:56px;transition:border-color .1s,box-shadow .1s;position:relative;overflow:hidden}.phasing-track i{background:var(--chart-lime,var(--accent));width:100%;position:absolute;bottom:0;left:0}.phasing-track i.phasing-opex{background:var(--chart-cyan,var(--accent-2))}.phasing-bar.over .phasing-track i{background:var(--danger)}.phasing-bar.over .phasing-track i.phasing-opex{background:color-mix(in srgb, var(--danger) 70%, black)}.phasing-budget{background:var(--ink);opacity:.65;z-index:1;width:100%;height:2px;position:absolute;left:0}.phasing-bar small{color:var(--muted);font:500 9px var(--mono)}.phasing-tooltip{z-index:5;color:#fff;border:1px solid color-mix(in srgb, var(--accent) 55%, #101a3f);pointer-events:none;background:#101a3f;border-radius:9px;flex-direction:column;gap:4px;min-width:156px;padding:9px 11px;display:flex;position:absolute;top:-8px;box-shadow:0 12px 26px #101a3f38}.phasing-tooltip.tt-center{transform:translate(-50%,-100%)}.phasing-tooltip.tt-start{transform:translate(-14px,-100%)}.phasing-tooltip.tt-end{transform:translate(calc(14px - 100%),-100%)}.phasing-tooltip:after{content:"";border-right:1px solid color-mix(in srgb, var(--accent) 55%, #101a3f);border-bottom:1px solid color-mix(in srgb, var(--accent) 55%, #101a3f);background:#101a3f;width:9px;height:9px;position:absolute;bottom:-5px;transform:translate(-50%)rotate(45deg)}.phasing-tooltip.tt-center:after{left:50%}.phasing-tooltip.tt-start:after{left:14px}.phasing-tooltip.tt-end:after{left:calc(100% - 14px)}.phasing-tt-year{color:var(--accent);font:700 9px var(--mono);text-transform:uppercase;letter-spacing:.07em;margin-bottom:2px}.phasing-tt-row{white-space:nowrap;align-items:center;gap:7px;font-size:11px;display:flex}.phasing-tt-row b{font:700 12px var(--display);margin-left:auto;padding-left:12px}.phasing-tt-row i{border-radius:2px;flex-shrink:0;width:9px;height:9px}.phasing-tt-row .swatch-capex{background:var(--chart-lime,var(--accent))}.phasing-tt-row .swatch-opex{background:var(--chart-cyan,var(--accent-2))}.phasing-tt-total{border-top:1px solid #ffffff29;margin-top:3px;padding-top:6px;font-weight:600}.phasing-tt-budget{color:#ffffffb8}.phasing-tt-budget.over b{color:color-mix(in srgb, var(--danger) 70%, #fff)}.finance-foot{border-top:var(--border-width) solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:14px;padding-top:12px;display:flex}.phasing-legend{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:7px;font-size:10px;display:flex}.phasing-legend i{display:inline-block}.phasing-legend .swatch-capex{background:var(--chart-lime,var(--accent));width:10px;height:10px}.phasing-legend .swatch-opex{background:var(--chart-cyan,var(--accent-2));width:10px;height:10px}.phasing-legend .swatch-budget{background:var(--ink);opacity:.5;width:13px;height:2px}.finance-flag{color:var(--danger-text,var(--danger));align-items:center;gap:6px;font-size:11px;font-weight:700;display:flex}.finance-flag span{background:var(--danger);border-radius:50%;width:8px;height:8px}.finance-ok{color:var(--muted);font-size:11px}.investment-panel{border:var(--border-width) solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);margin-top:16px;overflow:hidden}.investment-summary{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.investment-summary span{color:var(--muted);border:var(--border-width) solid var(--line);font:600 10px var(--mono);text-transform:uppercase;border-radius:999px;padding:7px 9px}.investment-header-tools{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.investment-view-toggle{border:var(--border-width) solid var(--line);background:var(--surface);border-radius:999px;display:flex;overflow:hidden}.investment-view-toggle button{color:var(--muted);font:700 10px var(--mono);text-transform:uppercase;letter-spacing:.06em;cursor:pointer;background:0 0;border:0;padding:7px 14px}.investment-view-toggle button.active{color:#101a3f;background:var(--accent)}.investment-summary-list{flex-direction:column;gap:4px;margin:0;padding:10px 16px 12px;list-style:none;display:flex}.investment-summary-row{border:var(--border-width) solid var(--line);border-radius:calc(var(--radius) * .5);background:var(--surface);grid-template-columns:auto 1fr auto auto auto;align-items:baseline;gap:12px;padding:6px 10px;display:grid}.investment-action-badge{color:#101a3f;background:var(--accent);font:700 8px var(--mono);text-transform:uppercase;letter-spacing:.07em;border-radius:999px;padding:3px 7px}.investment-summary-row.action-expand .investment-action-badge{background:var(--accent-2)}.investment-summary-meta{align-items:baseline;gap:6px;min-width:0;display:flex}.investment-summary-meta strong{font-size:12px}.investment-summary-meta small{color:var(--muted);font-size:10px}.investment-summary-stat{text-align:right;justify-content:flex-end;align-items:baseline;gap:4px;min-width:80px;display:flex}.investment-summary-stat b{font:700 12px var(--display)}.investment-summary-stat small{color:var(--muted);font:600 8px var(--mono);text-transform:uppercase;letter-spacing:.06em}.investment-reconciliation{color:var(--muted);margin:0;padding:0 16px 14px;font-size:11px;line-height:1.5}.investment-grid{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.investment-card{border-right:var(--border-width) solid var(--line);border-bottom:var(--border-width) solid var(--line);background:var(--surface);min-height:190px;padding:16px}.investment-card:nth-child(4n){border-right:0}.investment-card:nth-last-child(-n+4){border-bottom:0}.investment-card-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.investment-card-head span{color:#101a3f;background:var(--accent);font:700 9px var(--mono);text-transform:uppercase;letter-spacing:.07em;border-radius:999px;padding:5px 8px}.investment-card-head strong{min-width:0;color:var(--ink);text-align:right;font-size:16px}.investment-card p{min-height:34px;color:var(--muted);margin:12px 0;font-size:11px;line-height:1.45}.investment-card dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;display:grid}.investment-card dl div{border-left:3px solid var(--line);min-width:0;padding-left:8px}.investment-card dt{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:9px;font-weight:700}.investment-card dd{color:var(--ink);margin:2px 0 0;font-size:11px;font-weight:700}.investment-card.action-build dl div{border-left-color:var(--accent)}.investment-card.action-expand dl div{border-left-color:var(--accent-2)}.investment-card.action-expand .investment-card-head span{background:var(--accent-2)}.visual-panel{margin-top:16px}.sankey-column-labels{color:var(--muted);font:600 10px var(--mono);text-transform:uppercase;letter-spacing:.08em;grid-template-columns:repeat(4,1fr);padding:12px 44px 0;display:grid}.sankey-column-labels span:not(:first-child){text-align:center}.sankey-column-labels.quad span:first-child{text-align:left}.sankey-column-labels.quad span:last-child{text-align:right}.plotly-sankey{min-height:500px;width:100%!important}.treatment-mix-loading{min-height:180px;color:var(--muted);font:600 12px/1.5 var(--mono);text-align:center;place-items:center;padding:24px;display:grid}.choice-explorer{margin-top:16px}.radar-key{color:var(--muted);align-items:center;gap:8px;font-size:11px;display:flex}.choice-layout{grid-template-columns:.85fr 1.15fr;display:grid}.radar-panel{border-right:var(--border-width) solid var(--line);flex-direction:column;justify-content:center;align-items:center;min-height:485px;padding:24px;display:flex}.radar-panel>p{max-width:470px;color:var(--muted);text-align:center;margin:0;font-size:12px;line-height:1.55}.selected-radar-badge{border:2px solid var(--selected-color);width:min(100%,470px);box-shadow:0 0 0 4px color-mix(in srgb, var(--selected-color) 20%, transparent);background:#101a3f;border-radius:11px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:6px;padding:9px 12px;display:flex}.selected-radar-badge span{color:#fffc;font:700 10px var(--mono);text-transform:uppercase;letter-spacing:.08em}.selected-radar-badge strong{color:#fff;font-size:15px}.radar-chart{width:min(100%,470px);height:370px;overflow:visible}.radar-ring{fill:none;stroke:var(--line);stroke-width:1px}.radar-axis{stroke:var(--line);stroke-width:1px}.radar-series polygon{fill:#0000;stroke:var(--series-color);stroke-width:1.6px;stroke-linejoin:round;opacity:.34}.radar-series circle{fill:var(--surface);stroke:var(--series-color);stroke-width:1.7px;opacity:.42}.radar-series.selected polygon{fill:color-mix(in srgb, var(--series-color) 28%, transparent);stroke-width:4.2px;opacity:1}.radar-series.selected .radar-selected-halo{fill:none;stroke:#101a3f;stroke-width:7px;opacity:.9}.radar-series.selected circle{fill:var(--series-color);stroke:#101a3f;stroke-width:2.4px;opacity:1}.radar-label{fill:var(--ink);font:600 10px var(--body)}.radar-legend{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px;width:min(100%,470px);margin:-12px 0 8px;display:grid}.radar-legend span{min-width:0;color:var(--muted);align-items:center;gap:7px;font-size:10px;font-weight:700;display:flex}.radar-legend span.active{color:var(--ink);opacity:1}.radar-legend b{color:#101a3f;background:var(--accent);text-transform:uppercase;border-radius:999px;margin-left:auto;padding:2px 5px;font-size:8px}.radar-legend i{width:9px;height:9px;box-shadow:0 0 0 3px color-mix(in srgb, currentColor 8%, transparent);border-radius:50%}.alternative-selector{flex-direction:column;display:flex}.alternative-pinned-note{color:var(--muted);border-bottom:var(--border-width) solid var(--line);background:color-mix(in srgb, var(--accent) 7%, var(--surface));align-items:flex-start;gap:8px;margin:0;padding:12px 16px;font-size:12px;line-height:1.45;display:flex}.alternative-pinned-note svg{color:var(--accent);flex:none;margin-top:1px}.alternative-pinned-note strong{color:var(--ink)}.radar-readout{flex-direction:column;gap:5px;width:min(100%,470px);margin:4px 0 12px;display:flex}.radar-readout-title{color:var(--muted);font:700 9px var(--mono);text-transform:uppercase;letter-spacing:.08em;margin-bottom:2px}.radar-readout-row{grid-template-columns:104px 1fr 34px;align-items:center;gap:10px;display:grid}.radar-readout-row em{color:var(--muted);font:600 10px var(--body);font-style:normal}.radar-readout-row>i{background:color-mix(in srgb, var(--ink) 9%, transparent);border-radius:999px;height:5px;display:block;overflow:hidden}.radar-readout-row>i>i{background:var(--series-color);border-radius:999px;height:100%;display:block}.radar-readout-row b{color:var(--ink);font:600 11px var(--mono);text-align:right}.alternative-selector-head{border-bottom:var(--border-width) solid var(--line);background:var(--surface-2);padding:12px 20px}.alternative-selector-head span{color:var(--muted);font:700 10px var(--mono);text-transform:uppercase;letter-spacing:.08em}.alternative-selector-head p{max-width:62ch;color:var(--muted);margin:5px 0 0;font-size:11.5px;line-height:1.5}.alternative-selector button{text-align:left;min-height:112px;color:var(--ink);border:0;border-bottom:var(--border-width) solid var(--line);background:var(--surface);cursor:pointer;grid-template-columns:34px 1fr 104px auto;align-items:start;gap:6px 14px;padding:16px 20px;transition:background .18s,box-shadow .18s,opacity .18s;display:grid}.alternative-selector button:last-child{border-bottom:0}.alternative-selector button:hover{background:color-mix(in srgb, var(--accent) 6%, var(--surface))}.alternative-selector button.active{color:#fff;box-shadow:inset 7px 0 var(--accent);opacity:1;background:#101a3f}.alternative-selector button.active .alternative-copy small,.alternative-selector button.active .alternative-score small,.alternative-selector button.active .alternative-metric em{color:#ffffffb8}.alternative-selector button.active .alternative-index{color:#ffffffd1}.alternative-selector button.active .alternative-score b,.alternative-selector button.active .alternative-metric b,.alternative-selector button.active .alternative-copy strong{color:#fff}.alternative-selector button.active .alternative-copy strong code{color:#ffffffc7;background:#ffffff1f}.alternative-selector button.active .alternative-metric{border-top-color:#ffffff2e}.alternative-selector button.active .metric-delta{color:#fff9}.alternative-selector button.active .metric-delta.better{color:var(--accent)}.alternative-selector button.active .metric-delta.worse{color:color-mix(in srgb, var(--danger) 45%, #fff)}.alternative-selector button.active .alternative-score-bar{background:#ffffff2e}.alternative-selector button.active .alternative-score-bar i{background:color-mix(in srgb, var(--series-color) 45%, #fff)}.alternative-selector button svg{align-self:center;transition:transform .18s}.alternative-selector button:hover svg,.alternative-selector button.active svg{transform:translate(3px)}.alternative-index{color:var(--series-color,var(--accent-text,var(--accent)));font:600 12px var(--mono);padding-top:3px}.alternative-copy,.alternative-score{flex-direction:column;gap:6px;display:flex}.alternative-copy strong{font:600 20px var(--display);flex-wrap:wrap;align-items:center;gap:4px 8px;display:flex}.alternative-copy strong code{color:var(--muted);background:color-mix(in srgb, var(--ink) 6%, transparent);font:500 10px var(--mono);border-radius:7px;padding:3px 7px}.alternative-copy strong b{vertical-align:middle;color:#101a3f;background:var(--accent);font:700 8px var(--mono);text-transform:uppercase;letter-spacing:.08em;border-radius:999px;padding:3px 7px;display:inline-flex}.alternative-copy small{color:var(--muted);font-size:11px;line-height:1.45}.alternative-metrics{grid-template-columns:repeat(auto-fit,minmax(76px,1fr));gap:4px 12px;margin-top:2px;display:grid}.alternative-metric{border-top:1px solid var(--line);flex-direction:column;gap:2px;min-width:0;padding-top:7px;display:flex}.alternative-metric em{color:var(--muted);font:700 9px var(--mono);text-transform:uppercase;letter-spacing:.07em;font-style:normal}.alternative-metric b{font:600 13px var(--display);white-space:nowrap}.metric-delta{color:var(--muted);font:600 10px var(--mono);white-space:nowrap;font-style:normal}.metric-delta.better{color:var(--accent-text,var(--accent))}.metric-delta.worse{color:var(--danger)}.alternative-score{text-align:right;gap:3px;padding-top:1px}.alternative-score b{font:600 22px var(--display);line-height:1.05}.alternative-score small{color:var(--muted);font-size:10px}.alternative-score-bar{background:color-mix(in srgb, var(--ink) 10%, transparent);border-radius:999px;width:100%;height:4px;margin-top:1px;display:block;overflow:hidden}.alternative-score-bar i{background:var(--series-color,var(--accent));border-radius:999px;height:100%;display:block}.alternative-score-note{opacity:.85;font-size:9px;line-height:1.35}footer{max-width:1600px;color:var(--muted);border-top:var(--border-width) solid var(--line);font:500 11px var(--mono);text-transform:uppercase;letter-spacing:.07em;justify-content:space-between;margin:0 auto;padding:28px clamp(24px,4vw,64px);display:flex}@media (width<=1260px){.baseline-card{border-bottom:var(--border-width) solid var(--line)}.baseline-card:nth-child(2n){border-right:0}.baseline-card:nth-last-child(-n+2){border-bottom:0}}@media (width<=860px){.topbar{grid-template-columns:1fr auto}.topbar-center{display:none}.topbar-status{font-size:9px}.stage-rail{grid-template-rows:auto auto;grid-template-columns:auto auto 1fr;align-items:center;column-gap:12px;min-height:70px;padding:0;display:grid}.stage-number{grid-row:1/3;font-size:34px}.stage-icon{grid-row:1/3;width:36px;height:36px;margin:0}.stage-label{align-self:end}.stage-rail strong{align-self:start;margin:2px 0 0}.stage-rail small{display:none}.stage-rail i{width:100%;top:auto;bottom:0;left:0}.stage-rail i:after{left:50%;right:auto}.section-title{flex-direction:column;align-items:flex-start;gap:15px}.section-title>p{max-width:none}.comparison-header{flex-wrap:wrap;align-items:flex-start}.comparison-header p{text-align:left;width:100%;margin:0}.choice-layout{grid-template-columns:1fr}.radar-panel{border-right:0;border-bottom:var(--border-width) solid var(--line)}.sankey-column-labels,.plotly-sankey{min-width:680px}.sankey-panel{overflow-x:auto}.outcome-flow-panel .sankey-column-labels,.outcome-flow-panel .plotly-sankey{min-width:860px}}@media (width<=620px){.brand{font-size:14px}.brand-mark{width:38px;height:38px}.topbar-status{text-align:right;max-width:92px}.investment-summary-row{grid-template-columns:auto 1fr}.investment-summary-stat{text-align:left}.baseline-card,.baseline-card:nth-child(2n),.result-card,.result-card:nth-child(3){border-right:0;border-bottom:var(--border-width) solid var(--line)}.baseline-card:last-child,.result-card:last-child{border-bottom:0}.panel-header{flex-direction:column;align-items:flex-start}.solution-context{justify-content:flex-start}.alternative-selector button{grid-template-columns:32px 1fr auto}.alternative-score{display:none}.alternative-metrics{grid-template-columns:repeat(auto-fit,minmax(110px,1fr))}footer{flex-direction:column;gap:8px}}.theme-civic{--bg:#f4f7f1;--surface:#fff;--surface-2:#f2f8fb;--ink:#101a3f;--muted:#607080;--line:#d9e3df;--accent:#a8d80f;--accent-text:#5a7a00;--accent-2-text:#0a7089;--accent-2:#11bee4;--danger:#d84c3f;--shadow:0 10px 28px #101a3f14;--radius:14px;--display:"Manrope", sans-serif}.theme-civic .topbar{color:#fff;background:#101a3f;border-bottom:0;height:52px;box-shadow:0 8px 22px #101a3f24}.theme-civic .brand{color:#fff;letter-spacing:.1em;gap:10px;font-size:15px}.theme-civic .brand-mark{color:#101a3f;background:var(--accent);border:0;width:32px;height:32px}.theme-civic .topbar-center span,.theme-civic .topbar-status{color:#ffffffb8}.theme-civic .topbar-status>span{background:var(--accent);box-shadow:0 0 0 4px #a8d80f2e}.theme-civic main{max-width:1480px;padding:14px clamp(16px,3vw,40px) 48px}.theme-civic .stage-section{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:18px;grid-template-columns:118px minmax(0,1fr);gap:14px;margin-top:12px;padding:14px;display:grid}.theme-civic .stage-rail{border:0;border-right:1px solid var(--line);min-height:0;box-shadow:none;background:0 0;border-radius:0;padding:2px 12px 0 0}.theme-civic .stage-number{color:var(--accent-text,var(--accent));font:700 36px/1 var(--display)}.theme-civic .stage-icon{color:#101a3f;background:var(--accent);border-radius:9px;width:30px;height:30px;margin:8px 0}.theme-civic .stage-label{color:var(--accent-2-text,var(--accent-2));font-size:9px}.theme-civic .stage-rail strong{margin-top:3px;font-size:14px}.theme-civic .stage-rail i{display:none}.theme-civic .stage-content{min-width:0}.theme-civic .country-section .stage-content{grid-template-columns:300px minmax(0,1fr);gap:10px;display:grid}.theme-civic .country-empty-state{border-radius:12px;min-height:190px;padding:18px}.theme-civic .country-empty-state>span{color:#101a3f;background:color-mix(in srgb, var(--accent) 28%, #fff)}.theme-civic .baseline-panel,.theme-civic .comparison-panel,.theme-civic .investment-panel,.theme-civic .visual-panel,.theme-civic .choice-explorer{box-shadow:none;border-radius:12px}.theme-civic .panel-header{min-height:46px;padding:9px 12px}.theme-civic .panel-header span,.theme-civic .section-kicker{color:var(--accent-2-text);font-size:9px}.theme-civic .panel-header h2,.theme-civic .panel-header h3{font-size:16px}.theme-civic .horizon-chip,.theme-civic .solution-context span{color:#101a3f;border-color:var(--accent);background:color-mix(in srgb, var(--accent) 18%, #fff);padding:5px 8px;font-size:9px}.theme-civic .baseline-grid{grid-template-columns:repeat(4,1fr)}@media (width<=1260px){.theme-civic .baseline-grid{grid-template-columns:1fr 1fr}}@media (width<=620px){.theme-civic .baseline-grid{grid-template-columns:1fr}}.theme-civic .baseline-card{min-height:156px;padding:12px}.theme-civic .baseline-card>span,.theme-civic .result-card>span{letter-spacing:.035em;font-size:10px}.theme-civic .baseline-card>strong{margin:10px 0 4px;font-size:clamp(26px,2.2vw,34px)}.theme-civic .baseline-card>p{font-size:10px}.theme-civic .metric-trend{margin-top:4px}.theme-civic .metric-trend svg{height:58px}.theme-civic .trend-primary,.theme-civic .trend-end{stroke:var(--accent-2-text)}.theme-civic .decision-section{padding-top:14px}.theme-civic .country-required{border-radius:10px;margin-bottom:8px;padding:10px 12px}.theme-civic .decision-section .question-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.theme-civic .decision-section .question-card{min-height:0;box-shadow:none;border-radius:12px;padding:12px}.theme-civic .question-card.active-card:before{background:var(--accent);border-radius:12px 0 0 12px;width:4px;height:auto;inset:0}.theme-civic .card-step{grid-template-columns:auto 1fr auto;gap:7px}.theme-civic .card-step>span{width:22px;height:22px;font-size:10px}.theme-civic .card-step small{font-size:9px}.theme-civic .card-title{margin:10px 0 8px}.theme-civic .card-title h3,.theme-civic .locked-content h3{font-size:18px}.theme-civic .card-title p,.theme-civic .locked-content p{font-size:11px}.theme-civic .objective-list,.theme-civic .question-options,.theme-civic .form-stack{gap:7px}.theme-civic .objective-option{border-radius:9px;grid-template-columns:28px 1fr auto;gap:8px;min-height:54px;padding:8px}.theme-civic .objective-icon{color:#101a3f;background:color-mix(in srgb, var(--accent-2) 16%, #fff);width:28px;height:28px}.theme-civic .objective-option.selected .objective-icon{color:#101a3f;background:var(--accent)}.theme-civic .choice-mark{width:18px;height:18px}.theme-civic .choice-mark.checked{color:#101a3f;border-color:var(--accent);background:var(--accent)}.theme-civic .objective-copy strong,.theme-civic .no-guardrail strong,.theme-civic .guardrail-grid strong{font-size:12px}.theme-civic .objective-copy small,.theme-civic .no-guardrail small,.theme-civic .guardrail-grid small{font-size:9px}.theme-civic .locked-content{min-height:220px;padding:16px}.theme-civic .locked-content>span{width:36px;height:36px;margin-bottom:10px}.theme-civic .no-guardrail{border-radius:9px;min-height:52px;padding:9px}.theme-civic .guardrail-divider{margin:9px 0}.theme-civic .guardrail-grid{grid-template-columns:1fr 1fr;gap:7px}.theme-civic .guardrail-grid button{border-radius:9px;min-height:62px;padding:8px}.theme-civic .question-options button{border-radius:9px;min-height:62px;padding:9px}.theme-civic .question-options button strong{font-size:12px;line-height:1.35}.theme-civic .question-options button small{color:var(--accent-2-text);font-size:9px}.theme-civic .field{gap:5px}.theme-civic .field-label{font-size:11px}.theme-civic .field-hint{font-size:9px}.theme-civic .trend-tooltip{border-radius:7px;padding:6px 8px}.theme-civic .trend-tooltip span{font-size:8px}.theme-civic .trend-tooltip strong{font-size:12px}.theme-civic .select-shell,.theme-civic .number-input{border-radius:9px;min-height:38px}.theme-civic .select-shell select,.theme-civic .number-input input{height:36px;min-height:36px;font-size:11px}.theme-civic .number-input input{font-size:17px}.theme-civic .budget-schedule{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.theme-civic .budget-year{border-radius:9px;grid-template-columns:22px auto minmax(52px,1fr) auto;min-height:34px;padding:5px 8px}.theme-civic .budget-total{border-radius:9px;min-height:34px}.theme-civic .constraint-values{gap:6px}.theme-civic .constraint-values .field{border-radius:9px;min-height:64px;padding:7px}.theme-civic .constraint-values .number-input{min-height:34px}.theme-civic .constraint-values .number-input input{height:32px;min-height:32px;font-size:15px}.theme-civic .material-list{gap:6px}.theme-civic .material-row.has-target{grid-template-columns:minmax(0,1fr) 82px;gap:6px}.theme-civic .material-row-toggle{border-radius:9px;min-height:34px;padding:6px 7px}.theme-civic .material-row-toggle span{font-size:10px}.theme-civic .material-row-target{min-height:34px}.theme-civic .material-row-target input{height:32px;min-height:32px;padding-inline:7px 4px;font-size:14px}.theme-civic .material-row-target b{padding-right:7px}.theme-civic .run-bar{border-radius:12px;grid-template-columns:1fr auto;min-height:54px;margin-top:10px;padding:8px 10px}.theme-civic .run-bar.ready{color:#101a3f;border-color:var(--accent);background:color-mix(in srgb, var(--accent) 24%, #fff)}.theme-civic .summary-icon{width:32px;height:32px}.theme-civic .run-summary{gap:9px}.theme-civic .run-summary strong{font-size:13px}.theme-civic .run-button{color:#101a3f;background:var(--accent);border:0;border-radius:9px;min-height:38px;padding:0 12px}.theme-civic .results-section{padding-top:14px}.theme-civic .results-title{margin-bottom:10px}.theme-civic .section-title h1,.theme-civic .section-title h2{font-size:clamp(24px,2.2vw,32px)}.theme-civic .comparison-header{min-height:44px;padding:8px 12px}.theme-civic .comparison-header p{max-width:320px;font-size:10px}.theme-civic .comparison-grid{grid-template-columns:repeat(6,1fr)}.theme-civic .result-card{min-height:164px;padding:12px}.theme-civic .result-card>div:first-of-type{min-height:32px;margin:8px 0 0}.theme-civic .result-card strong{font-size:clamp(23px,1.8vw,31px)}.theme-civic .result-card>small{margin-top:7px;font-size:10px}.theme-civic .finance-card{border-radius:12px;padding:16px 18px}.theme-civic .finance-stat strong{font-size:clamp(18px,1.6vw,23px)}.theme-civic .phasing-track{height:46px}.theme-civic .investment-panel{margin-top:10px}.theme-civic .investment-summary span{color:#101a3f;border-color:var(--accent);background:color-mix(in srgb, var(--accent) 16%, #fff);padding:5px 8px;font-size:9px}.theme-civic .investment-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.theme-civic .investment-card{min-height:152px;padding:12px}.theme-civic .investment-card-head span{padding:4px 7px;font-size:8px}.theme-civic .investment-card-head strong{font-size:14px}.theme-civic .investment-card p{min-height:30px;margin:9px 0;font-size:10px}.theme-civic .investment-card dl{gap:6px}.theme-civic .investment-card dt{font-size:8px}.theme-civic .investment-card dd{font-size:10px}.theme-civic .plotly-sankey{min-height:560px}.theme-civic .sankey-column-labels{padding-top:8px}.theme-civic .radar-panel{min-height:330px;padding:14px}.theme-civic .radar-chart{height:280px}.theme-civic .alternative-selector-head{padding:10px 14px}.theme-civic .alternative-selector button{min-height:104px;padding:12px 14px}.theme-civic .alternative-copy strong{font-size:16px}.theme-civic .alternative-metric b{font-size:12.5px}.theme-civic footer{padding:18px clamp(16px,3vw,40px)}@media (width<=1100px){.theme-civic .country-section .stage-content,.theme-civic .decision-section .question-grid{grid-template-columns:1fr}.theme-civic .comparison-grid{grid-template-columns:1fr 1fr}.theme-civic .result-card{border-bottom:1px solid var(--line)}.theme-civic .result-card:nth-child(2n){border-right:0}.theme-civic .result-card:nth-last-child(-n+2){border-bottom:0}}@media (width<=860px){.theme-civic .stage-section{grid-template-columns:1fr;padding:12px}.theme-civic .stage-rail{border-right:0;border-bottom:1px solid var(--line);grid-template-columns:auto auto 1fr;padding:0 0 9px;display:grid}.theme-civic .stage-icon{margin:0}.theme-civic .guardrail-grid,.theme-civic .budget-schedule,.theme-civic .constraint-values,.theme-civic .material-list,.theme-civic .material-row.has-target,.theme-civic .run-bar{grid-template-columns:1fr}.theme-civic .run-button{width:100%}}.choice-mark.indeterminate{color:var(--surface);border-color:var(--accent);background:var(--accent)}.region-main{flex-direction:column;gap:12px;min-width:0;display:flex}.country-picker{flex-direction:column;gap:14px;min-width:0;display:flex}.region-tree{flex-direction:column;gap:10px;margin:0;display:flex}.region-branch{border:var(--border-width) solid var(--line);border-radius:calc(var(--radius) * .7);background:var(--surface);overflow:hidden}.region-branch.active-branch{border-color:var(--accent);box-shadow:var(--shadow)}.region-node{text-align:left;width:100%;color:var(--ink);cursor:pointer;background:0 0;border:0;align-items:center;gap:11px;display:grid}.country-node{grid-template-columns:auto 1fr;min-height:52px;padding:13px 14px}.city-node{border-bottom:var(--border-width) solid var(--line);grid-template-columns:auto 1fr;padding:9px 14px 9px 30px}.region-node:hover{background:color-mix(in srgb, var(--accent) 8%, var(--surface))}.country-node.active,.country-node.partial{background:color-mix(in srgb, var(--accent) 12%, var(--surface))}.region-node-copy{flex-direction:column;gap:3px;min-width:0;display:flex}.region-node-copy strong{font:600 16px var(--display)}.region-node-copy small{color:var(--muted);font-size:11px;line-height:1.3}.discount-rate-card{border:var(--border-width) solid var(--line);border-radius:var(--radius);background:var(--surface);padding:12px 14px}.discount-rate-card .field{gap:6px}.discount-rate-card .number-input{max-width:200px}.region-cities{border-top:var(--border-width) solid var(--line);background:color-mix(in srgb, var(--surface-2) 60%, var(--surface));flex-direction:column;display:flex}.city-node:last-child{border-bottom:0}.city-node .region-node-copy strong{font:600 13px var(--display)}.city-node.active{background:color-mix(in srgb, var(--accent) 14%, var(--surface));box-shadow:inset 4px 0 var(--accent)}.baseline-headline{border-bottom:var(--border-width) solid var(--line);grid-template-columns:repeat(4,1fr);display:grid}.headline-tile{border-right:var(--border-width) solid var(--line);flex-direction:column;gap:8px;min-height:128px;padding:20px 22px;display:flex}.headline-tile:last-child{border-right:0}.headline-tile>span{color:var(--muted);text-transform:uppercase;letter-spacing:.045em;align-items:center;gap:8px;font-size:12px;font-weight:700;display:flex}.headline-tile>strong{font:600 clamp(30px, 3vw, 44px) var(--display)}.headline-tile>small{color:var(--muted);font-size:11px;line-height:1.4}.circular-tile>strong{color:var(--accent-text,var(--accent))}.landfill-tile>strong{color:var(--danger)}@media (width<=1260px){.baseline-headline{grid-template-columns:repeat(2,1fr)}.headline-tile:nth-child(2n){border-right:0}.headline-tile:nth-child(-n+2){border-bottom:var(--border-width) solid var(--line)}}.theme-civic .region-tree{gap:8px}.theme-civic .region-branch{border-radius:12px}.theme-civic .country-picker{gap:10px}.theme-civic .country-node{gap:9px;min-height:44px;padding:10px 11px}.theme-civic .region-node-copy strong{font-size:14px}.theme-civic .region-node-copy small{font-size:9px}.theme-civic .city-node{padding:8px 11px 8px 26px}.theme-civic .city-node .region-node-copy strong{font-size:12px}.theme-civic .region-main{gap:10px}.theme-civic .discount-rate-card{border-radius:12px;padding:9px 11px}.theme-civic .discount-rate-card .field-label{font-size:11px}.theme-civic .discount-rate-card .field-hint{font-size:10px}.theme-civic .headline-tile{gap:6px;min-height:92px;padding:12px 14px}.theme-civic .headline-tile>span{letter-spacing:.035em;font-size:10px}.theme-civic .headline-tile>strong{font-size:clamp(24px,2vw,32px)}.theme-civic .headline-tile>small{font-size:10px}.theme-civic .headline-tile .metric-trend svg{height:46px}.theme-civic .agg-label{font-size:9px}.theme-civic .agg-label b{font-size:11px}@media (width<=1100px){.theme-civic .baseline-headline{grid-template-columns:1fr}.theme-civic .headline-tile{border-right:0;border-bottom:1px solid var(--line)}.theme-civic .headline-tile:last-child{border-bottom:0}}@media (width<=620px){.baseline-headline{grid-template-columns:1fr}.headline-tile{border-right:0;border-bottom:var(--border-width) solid var(--line)}.headline-tile:last-child{border-bottom:0}}.goal-title{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.goal-tag{font:700 8px var(--mono);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;border:var(--border-width) solid transparent;border-radius:999px;padding:2px 8px}.goal-tag.maximise,.goal-tag.floor{color:#101a3f;background:color-mix(in srgb, var(--accent) 34%, var(--surface))}.goal-tag.minimise,.goal-tag.cap{color:var(--muted);border-color:var(--line);background:var(--surface-2)}.info-tip{vertical-align:middle;display:inline-flex;position:relative}.info-tip-trigger{color:var(--muted);cursor:help;touch-action:manipulation;background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;padding:4px;display:inline-flex}.info-tip-trigger:hover,.info-tip-trigger:focus-visible,.info-tip-trigger:focus{color:var(--accent);outline:none}.info-tip-trigger:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.guardrail-item{display:flex;position:relative}.guardrail-item>button:first-child{flex:auto;width:100%;min-width:0}.goal-title-text{display:inline}.info-tip-inline{display:inline-flex}.info-tip-inline .info-tip-trigger{cursor:help}.info-tip-bubble{z-index:30;width:210px;max-width:210px;color:var(--ink);font:500 10.5px/1.5 var(--display);text-transform:none;letter-spacing:0;border:var(--border-width) solid var(--line);background:var(--surface);box-shadow:var(--shadow);opacity:0;visibility:hidden;pointer-events:none;border-radius:10px;padding:9px 11px;transition:opacity .12s;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%)}.info-tip:hover .info-tip-bubble,.info-tip-trigger:focus-visible+.info-tip-bubble,.info-tip-trigger:focus+.info-tip-bubble{opacity:1;visibility:visible}.guardrail-item .info-tip-bubble{inset:auto -6px calc(100% + 8px) auto;transform:none}.theme-civic{--danger-text:#b13a2f;--chart-lime:#6b8a00;--chart-cyan:#0a7089;--amber-text:#7a5a00;--amber-bg:#f6eed7}.theme-civic .run-button:disabled{color:var(--muted);border:1px solid var(--line);background:var(--surface-2)}.app-shell a:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.theme-civic .topbar a:focus-visible{outline-color:var(--accent)}.horizon-chip,.solution-context span,.investment-summary span,.investment-action-badge,.investment-card-head span,.goal-tag,.alternative-copy strong b,.radar-legend b,.total-investment-chip,.stale-chip{font:700 9px var(--mono);text-transform:uppercase;letter-spacing:.06em;border-radius:999px}.horizon-chip,.solution-context span,.investment-summary span,.total-investment-chip,.stale-chip{padding:5px 9px}.investment-action-badge,.investment-card-head span,.goal-tag,.alternative-copy strong b,.radar-legend b{padding:3px 7px}.stale-chip{color:var(--amber-text);border:1px solid color-mix(in srgb, var(--amber-text) 40%, transparent);background:var(--amber-bg);align-items:center;display:inline-flex}.result-card{flex-direction:column;display:flex}.result-card .metric-trend{margin-top:auto}.theme-civic .investment-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:8px;padding:10px 12px}.theme-civic .investment-card{border:1px solid var(--line);border-radius:9px}.theme-civic .plotly-fallback,.plotly-fallback{place-items:center;min-width:0;min-height:200px;display:grid}.plotly-fallback p{color:var(--muted);text-align:center;margin:0;padding:24px;font-size:13px}.sankey-swipe-hint{display:none}.theme-civic .investment-view-toggle button{padding:9px 14px}.theme-civic .decision-section .question-grid{align-items:start}@media (width<=860px){.sankey-swipe-hint{color:var(--muted);font:600 10px var(--mono);text-transform:uppercase;letter-spacing:.06em;margin-top:3px;display:block}.theme-civic .budget-year,.theme-civic .material-row-toggle{min-height:44px}}@media (width<=620px){.theme-civic .comparison-grid{grid-template-columns:1fr}.theme-civic .result-card,.theme-civic .result-card:nth-child(2n){border-right:0;border-bottom:1px solid var(--line)}.theme-civic .result-card:nth-last-child(-n+2){border-bottom:1px solid var(--line)}.theme-civic .result-card:last-child{border-bottom:0}}.theme-civic .stage-rail small{display:none}.theme-civic .section-title{gap:18px}.guardrail-item>button:focus-visible .info-tip-bubble{opacity:1;visibility:visible}.segmented-control{align-self:flex-start;margin-bottom:8px}.segmented-control button+button{border-left:var(--border-width) solid var(--line)}.budget-uniform{grid-template-columns:minmax(0,1fr)}.budget-uniform .budget-year{grid-template-columns:auto auto minmax(52px,1fr) auto}.budget-uniform .budget-year span{letter-spacing:.06em;white-space:nowrap}.scoped-panel{border:var(--border-width) solid var(--line);border-radius:var(--radius);background:var(--surface);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px 26px;margin-top:18px;padding:14px 18px;display:flex}.scoped-head{flex-direction:column;gap:4px;min-width:0;display:flex}.scoped-head span{color:var(--muted);font:700 9px var(--mono);text-transform:uppercase;letter-spacing:.07em}.scoped-head strong{font:600 13px var(--display)}.scoped-stats{flex-wrap:wrap;gap:8px 22px;display:flex}.scoped-stats span{flex-direction:column;gap:2px;display:flex}.scoped-stats b{font:700 15px var(--display)}.scoped-stats small{color:var(--muted);font:600 8px var(--mono);text-transform:uppercase;letter-spacing:.06em}.sankey-note{color:var(--muted);margin:0;padding:0 18px 16px;font-size:11px;line-height:1.5}.diagnostics-note{margin-top:18px}.diagnostics-note>button{color:var(--muted);border:var(--border-width) solid var(--line);background:var(--surface);font:600 10px var(--mono);text-transform:uppercase;letter-spacing:.06em;cursor:pointer;border-radius:999px;align-items:center;gap:7px;padding:7px 12px;display:inline-flex}.diagnostics-note>button:hover{color:var(--ink);border-color:var(--accent)}.diagnostics-note>button svg.open{transform:rotate(180deg)}.diagnostics-note ul{color:var(--muted);border:var(--border-width) solid var(--line);border-radius:var(--radius);background:var(--surface);flex-direction:column;gap:6px;margin:10px 0 0;padding:12px 16px 12px 30px;font-size:11px;line-height:1.5;display:flex}
