:root{color-scheme:light;--bg:#f4f6f3;--surface:#fff;--ink:#13221d;--muted:#5e6b66;--line:#d7ded9;--brand:#087a5b;--brand-dark:#065c46;--soft:#e7f2ed;--warn:#9a3412;--shadow:0 18px 50px rgba(19,34,29,.08);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}
:root[data-theme=dark]{color-scheme:dark;--bg:#0e1714;--surface:#15221e;--ink:#eef7f2;--muted:#aabbb4;--line:#34443e;--brand:#55d1a6;--brand-dark:#84e0bf;--soft:#203a31;--warn:#fdba74;--shadow:0 18px 50px rgba(0,0,0,.25)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-size:16px;line-height:1.5}.skip{position:fixed;top:-5rem;left:1rem;z-index:10;background:var(--ink);color:var(--surface);padding:.75rem 1rem}.skip:focus{top:1rem}.topbar{height:72px;display:flex;align-items:center;gap:1.25rem;padding:0 max(1.25rem,calc((100vw - 1320px)/2));border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 90%,transparent);position:sticky;top:0;z-index:5;backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:.65rem;color:var(--ink);text-decoration:none;font-size:1.05rem;letter-spacing:.02em}.mark{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--brand);color:#fff;font-weight:800}.brand b{color:var(--brand)}.mode{border-left:1px solid var(--line);padding-left:1.25rem;color:var(--muted)}.quiet{margin-left:auto;border:0;background:transparent;color:var(--ink);font:inherit;font-weight:650;padding:.5rem;border-radius:6px}.quiet:hover{background:var(--soft)}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,a:focus-visible,.results:focus-visible{outline:3px solid #f59e0b;outline-offset:3px}main{max-width:1320px;margin:auto;padding:0 1.25rem}.intro{padding:4rem 0 3rem;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.7fr);gap:4rem;align-items:end}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-weight:750;font-size:.73rem;color:var(--brand);margin:0 0 .65rem}.intro h1{font-size:clamp(2.3rem,5vw,4.6rem);line-height:1.04;letter-spacing:-.045em;max-width:850px;margin:0 0 1.25rem}.intro>div>p:last-child{font-size:1.15rem;color:var(--muted);max-width:680px}.source{border-left:3px solid var(--brand);padding-left:1.25rem}.source>div{display:flex;align-items:center;gap:.5rem}.status-dot{width:9px;height:9px;border-radius:50%;background:var(--brand)}dl{margin:1rem 0}.source dl div,.assumptions dl div{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line);padding:.35rem 0}.source dt,.assumptions dt{color:var(--muted)}.source dd,.assumptions dd{margin:0;text-align:right}.source .quiet{margin:0;padding-left:0;color:var(--brand)}.workspace{display:grid;grid-template-columns:minmax(460px,.9fr) minmax(480px,1.1fr);gap:1.5rem;align-items:start}form,.results{background:var(--surface);border-radius:16px;box-shadow:var(--shadow)}form{padding:clamp(1.25rem,3vw,2.25rem)}.results{position:sticky;top:88px;max-height:calc(100vh - 105px);overflow:auto;padding:clamp(1.25rem,3vw,2.25rem)}.form-heading,.results-head,.section-title{display:flex;justify-content:space-between;gap:1rem;align-items:start}.form-heading h2,.results h2{font-size:1.8rem;margin:0}.form-heading>span{font-size:.8rem;color:var(--muted)}fieldset{border:0;border-top:1px solid var(--line);padding:1.7rem 0;margin:1.5rem 0 0}legend{font-weight:750;font-size:1.12rem;padding:0 .75rem 0 0}.section-note,.detail-panel>p,.section-title p,.hold>p,.empty p{color:var(--muted);font-size:.9rem;margin:.25rem 0 1rem}.grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.grid label{font-size:.84rem;font-weight:650;color:var(--muted)}label>span{display:flex;align-items:center;margin-top:.35rem;border:1px solid var(--line);border-radius:8px;background:var(--bg);overflow:hidden}input,select{width:100%;min-width:0;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink);padding:.7rem .75rem;font:inherit}label>span input{border:0;background:transparent}label>span small{padding:0 .75rem;white-space:nowrap;font-weight:550}.inset{margin-top:1rem}details{margin-top:1rem}summary{cursor:pointer;color:var(--brand);font-weight:700}.segmented{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.segmented label{position:relative}.segmented input{position:absolute;opacity:0}.segmented span{height:100%;display:flex;flex-direction:column;padding:1rem;border:1px solid var(--line);border-radius:10px;cursor:pointer}.segmented small{color:var(--muted);margin-top:.2rem}.segmented input:checked+span{border:2px solid var(--brand);background:var(--soft);padding:calc(1rem - 1px)}.segmented input:focus-visible+span{outline:3px solid #f59e0b;outline-offset:3px}.detail-panel{margin-top:1rem;background:var(--soft);padding:1.1rem;border-radius:10px}.detail-panel h3{margin-top:0}.read-only{padding:.72rem;color:var(--ink)}.checks{display:flex;flex-wrap:wrap;gap:1rem}.checks label{display:flex;align-items:center;gap:.5rem}.checks input{width:1.1rem;height:1.1rem}.calculate{display:flex;align-items:center;gap:1rem;margin-top:2rem}.primary{border:0;border-radius:8px;background:var(--brand-dark);color:#fff;padding:.85rem 1.2rem;font:inherit;font-weight:750;cursor:pointer}.primary:hover{filter:brightness(1.08)}#calc-status{font-size:.85rem;color:var(--muted)}.errors{border-left:4px solid var(--warn);background:color-mix(in srgb,var(--warn) 10%,var(--surface));padding:1rem;margin-top:1rem}.errors p{margin:.3rem 0}.empty{min-height:420px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.empty h2{max-width:390px}.verified{font-size:.8rem;color:var(--brand);font-weight:700;background:var(--soft);padding:.4rem .6rem;border-radius:99px}.headline{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin:1.5rem 0}.headline article{border-top:3px solid var(--brand);padding:1rem 0}.headline span,.headline small{display:block;color:var(--muted);font-size:.78rem}.headline strong{display:block;font-size:clamp(1.2rem,2.2vw,1.75rem);margin:.25rem 0}.results section{border-top:1px solid var(--line);padding:1.35rem 0}.results h3{margin:0 0 .75rem}.metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.metrics div{background:var(--bg);padding:.75rem;border-radius:8px}.metrics dt{font-size:.78rem;color:var(--muted)}.metrics dd{margin:.2rem 0 0;font-weight:750}table{width:100%;border-collapse:collapse;font-size:.88rem}caption{text-align:left;color:var(--muted);margin-bottom:.6rem}th{text-align:left;font-weight:600}th,td{padding:.55rem .35rem;border-bottom:1px solid var(--line)}td{text-align:right}.provenance{font-size:.75rem}.provenance th,.provenance td{text-align:left}.total th,.total td{font-weight:800}.hold{background:var(--soft);margin:0 -1rem;padding:1.35rem 1rem!important;border:0!important}.assumptions dl{font-size:.82rem}footer{max-width:1320px;margin:3rem auto 0;padding:1.5rem;display:flex;justify-content:space-between;color:var(--muted);font-size:.8rem;border-top:1px solid var(--line)}[hidden]{display:none!important}
@media(max-width:980px){.intro{gap:2rem}.workspace{grid-template-columns:1fr}.results{position:static;max-height:none}.empty{min-height:260px}}
@media(max-width:620px){.topbar{height:62px;padding:0 .85rem}.mode{display:none}.intro{grid-template-columns:1fr;padding:2.5rem 0 2rem}.intro h1{font-size:2.35rem}.workspace{margin:0 -.5rem}.grid,.segmented,.headline{grid-template-columns:1fr}.headline article{padding:.7rem 0}.metrics{grid-template-columns:1fr}.form-heading{display:block}.form-heading>span{display:block;margin-top:.4rem}.calculate{align-items:flex-start;flex-direction:column}.results-head{align-items:center}footer{flex-direction:column;gap:.5rem}}
.scenario-workspace{margin-top:1.5rem;background:var(--surface);border-radius:16px;box-shadow:var(--shadow);padding:clamp(1.25rem,3vw,2.25rem)}.scenario-heading{display:flex;justify-content:space-between;gap:1rem;align-items:start}.scenario-heading h2{margin:0}.scenario-heading p{color:var(--muted);margin:.3rem 0}.state-pill{padding:.4rem .65rem;border-radius:99px;background:var(--soft);font-size:.82rem;font-weight:700}.save-controls,.compare-controls{display:grid;grid-template-columns:1fr 1fr auto auto;gap:.75rem;align-items:end;margin:1.25rem 0}.save-controls label,.compare-controls label{color:var(--muted);font-size:.84rem;font-weight:650}.saved-item{display:grid;grid-template-columns:1fr auto;gap:.75rem;padding:1rem 0;border-top:1px solid var(--line)}.saved-item h3,.saved-item p{margin:0}.saved-item p,.empty-note,#scenario-message,#comparison-message{color:var(--muted);font-size:.86rem}.saved-actions{display:flex;flex-wrap:wrap;gap:.4rem}.saved-actions button,.save-controls button,.compare-controls button,.danger{padding:.65rem .8rem;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink);font:inherit;font-weight:650}.save-controls .primary,.compare-controls .primary{background:var(--brand-dark);color:#fff;border:0}.danger{margin-top:1rem;color:var(--warn)}.comparison-table{overflow-x:auto}.comparison-table table{min-width:650px}.comparison-table td:nth-child(n+2),.comparison-table th:nth-child(n+2){text-align:right}.chart{display:grid;gap:.8rem;margin:1.5rem 0}.chart-row{display:grid;grid-template-columns:minmax(110px,1fr) 3fr;gap:.75rem;align-items:center}.bars{position:relative;padding-left:50%;border-left:2px solid var(--ink)}.bar{height:1.25rem;margin:.2rem 0;width:calc(var(--size)*.5%);max-width:50%;background:var(--brand);color:transparent}.bar.b{background:repeating-linear-gradient(135deg,var(--brand-dark),var(--brand-dark) 5px,var(--surface) 5px,var(--surface) 8px)}.bar.negative{transform:translateX(-100%)}
@media(max-width:760px){.save-controls,.compare-controls{grid-template-columns:1fr}.scenario-heading{display:block}.state-pill{display:inline-block;margin-top:.5rem}.saved-item{grid-template-columns:1fr}.chart-row{grid-template-columns:1fr}.comparison-table{margin:0 -.5rem}.comparison-table table{min-width:600px}}
.operating-point{margin-top:1.25rem;padding:1rem;border:1px solid var(--line);border-radius:10px;background:var(--soft)}.operating-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.operating-heading h3,.operating-heading p{margin:0 0 .35rem}.operating-heading p{color:var(--muted);font-size:.85rem}.switch{display:flex;flex-direction:row;align-items:center;gap:.5rem;white-space:nowrap}.switch input{width:1.1rem;height:1.1rem}
@media(max-width:620px){.operating-heading{flex-direction:column}.operating-heading>*,.switch{min-width:0;max-width:100%}.switch{white-space:normal;align-items:flex-start}.switch input{flex:0 0 auto}}
/* Bound comparison content to the card; the table owns horizontal scrolling. */
.scenario-workspace,#comparison-output,.comparison-table,.chart,.chart-row,.bars{min-width:0;max-width:100%}.comparison-table{width:100%;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}.comparison-table table{width:max-content;max-width:none}.chart{overflow:hidden}.chart-row strong{overflow-wrap:anywhere}
.button-link{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:8px;padding:.55rem .8rem;color:inherit;text-decoration:none;background:var(--panel)}.button-link[aria-disabled=true]{opacity:.5;pointer-events:none}.proposal-fields{grid-template-columns:repeat(4,minmax(0,1fr))}.proposal-preview iframe{width:100%;height:720px;border:1px solid var(--line);border-radius:12px;background:#fff}.proposal-preview{margin-top:1rem}#proposal-link{width:100%;overflow-wrap:anywhere}
@media(max-width:900px){.proposal-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.scenario-workspace{width:100%;padding:1.25rem}.comparison-table{margin:0}.compare-controls>*{min-width:0;max-width:100%}.proposal-fields{grid-template-columns:1fr}.proposal-preview iframe{height:640px}}
