:root{color-scheme:dark;--bg:#07130e;--panel:#0e241b;--gold:#d8b264;--text:#f7f5ee;--muted:#c2ccbf;--line:#536044;--current:#d8b264;--proposed:#75d6a9;--gross:#d1d8e0}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:1rem/1.6 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:var(--gold);overflow-wrap:anywhere}button,input,select{font:inherit}button,input,select,a,summary{-webkit-tap-highlight-color:transparent}button,summary,select{cursor:pointer}:focus-visible{outline:3px solid #f3e2a9;outline-offset:4px}.shell{width:min(1440px,100%);margin:auto;padding:0 2rem}.brand{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.5rem 0;border-bottom:1px solid var(--line)}.identity{display:flex;align-items:center;gap:1.25rem}.identity img{width:140px;height:auto;display:block}.identity strong{font:1.5rem/1.3 Georgia,serif;color:var(--gold)}.brand a{font-size:.9375rem}h1,h2,h3,p{margin-top:0}h1{font:clamp(2rem,4vw,3rem)/1.15 Georgia,serif;margin-bottom:1rem}h2{font:1.5rem/1.3 Georgia,serif;margin-bottom:1.2rem}h3{font-size:1.125rem;font-weight:500}.intro{padding:2rem 0 1.5rem;max-width:1000px}.notice{color:var(--muted);margin-bottom:0}.workspace{display:grid;grid-template-columns:280px minmax(0,1fr);gap:2rem;align-items:start}.inputs{background:var(--panel);border-top:3px solid var(--gold);padding:1.5rem;border-radius:0 0 8px 8px}.field{display:block;margin:0 0 1.3rem}.field>span{display:block;font-size:.9375rem;margin-bottom:.45rem}.input-wrap{position:relative}.input-wrap b{position:absolute;left:.9rem;top:.7rem;font-weight:400;color:var(--gold)}.input-wrap .suffix{left:auto;right:.9rem}input,select{width:100%;min-height:48px;border:1px solid #6c7e67;border-radius:5px;background:#081b12;color:var(--text);padding:.65rem .8rem}input.money{padding-left:1.9rem}input.percent{padding-right:2rem}input:focus{border-color:var(--gold)}.fixed{padding-top:1rem;border-top:1px solid var(--line);color:var(--muted);font-size:.9375rem}.fixed strong{display:block;color:var(--text);font-size:1.0625rem;font-weight:500}.results{min-width:0}.scenarios{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem}.scenario{min-width:0}.scenario h3{margin-bottom:.5rem;color:var(--gold)}.chart{width:100%;height:190px}.chart svg{width:100%;height:100%;overflow:visible}.chart text{fill:var(--muted);font:12px system-ui,sans-serif}.legend{display:flex;flex-wrap:wrap;gap:.35rem 1rem;margin-bottom:1.25rem;font-size:.875rem;color:var(--muted)}.legend span{display:flex;align-items:center;gap:.5rem}.swatch{display:inline-block;width:18px;height:3px;background:var(--current)}.swatch.proposed{background:var(--proposed)}.swatch.gross{background:var(--gross);height:0;border-top:2px dashed var(--gross)}.horizon{padding:.85rem 0;border-top:1px solid var(--line)}.horizon h4{margin:0 0 .5rem;font-size:.9375rem;font-weight:500}.pair{display:flex;justify-content:space-between;gap:.5rem;font-size:.875rem;color:var(--muted);margin:.18rem 0}.pair output{color:var(--text);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;text-align:right}.pair.difference{margin-top:.5rem;color:var(--text);font-weight:500}.pair.difference output{color:var(--gold)}.details{margin:2.5rem 0}.details-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.details-top h2{margin:0}.details-top label{display:flex;align-items:center;gap:.7rem;font-size:.9375rem}.details-top select{width:auto}details{border-top:1px solid var(--line);padding:.9rem 0}summary{font-weight:500;min-height:44px;display:flex;align-items:center;gap:.75rem}summary::before{content:'+';color:var(--gold);font-size:1.4rem}details[open] summary::before{content:'−'}.table-scroll{overflow-x:auto;margin:.5rem 0}table{width:100%;border-collapse:collapse;font-size:.875rem;font-variant-numeric:tabular-nums}th,td{padding:.65rem .7rem;text-align:right;border-bottom:1px solid #243e30;white-space:nowrap}th{font-weight:500;color:var(--muted)}th:first-child,td:first-child{text-align:left}.disclosures{padding:2rem 0 3rem;border-top:1px solid var(--line);color:var(--muted);font-size:.9375rem}.disclosures p{margin-bottom:1rem}.error{color:#ffd5a8;font-size:.9375rem;margin:0 0 1rem}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}[hidden]{display:none!important}
@media(max-width:1150px){.workspace{grid-template-columns:240px minmax(0,1fr);gap:1.5rem}.scenarios{grid-template-columns:1fr}.scenario{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:.5rem 1.3rem}.scenario h3{grid-column:1/-1}.horizons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}.pair{flex-direction:column;gap:0}.pair output{text-align:left}.chart{height:200px}.horizon{padding-top:.5rem}}
@media(max-width:850px){.workspace{grid-template-columns:1fr}.inputs form{display:grid;grid-template-columns:1fr 1fr;gap:0 1.5rem}.fixed{grid-column:1/-1}.scenario{grid-template-columns:1fr 1.2fr}.shell{padding:0 1.25rem}.identity strong{font-size:1.25rem}.identity img{width:110px}}
@media(max-width:600px){.brand{align-items:flex-start;flex-direction:column;padding:1rem 0}.identity{gap:.8rem}.identity img{width:105px}.identity strong{font-size:1.2rem}.intro{padding:1.5rem 0}.inputs{padding:1.1rem}.inputs form{gap:0 1rem}.field>span{min-height:3em}.fixed{padding-top:.75rem}.scenario{display:block}.chart{height:210px}.scenarios{gap:1.7rem}.horizons{gap:1rem}.horizon h4{font-size:.875rem}.pair{font-size:.875rem}.details-top{align-items:flex-start;flex-direction:column}.disclosures{font-size:.9375rem}.legend{font-size:.875rem}.shell{padding:0 1rem}}
@media(max-width:360px){.inputs form{grid-template-columns:1fr}.field>span{min-height:0}.horizons{grid-template-columns:1fr}.pair{flex-direction:row}.pair output{text-align:right}.identity strong{font-size:1.1rem}}
@media print{body{background:white;color:black}.brand a,.inputs{display:none}.workspace{display:block}.disclosures,.notice,.pair,.legend{color:#333}.pair output,.pair.difference output,.scenario h3{color:black}.chart{display:none}.scenarios{display:block}.horizons{display:flex;gap:2rem}.horizon{flex:1}.disclosures{break-inside:avoid}}
