:root{--bg:#F3F0E5;--surface:#FAF8EF;--ink:#193D30;--rule:#B8C1AF;--accent:#D4E283;font-family:IBM Plex Sans,sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,a{-webkit-tap-highlight-color:transparent}button,a{color:inherit}button{font:inherit;cursor:pointer}a{text-decoration:none}button{border:0;background:none}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #718739;outline-offset:4px}button:disabled{opacity:.42;cursor:not-allowed}header,main,footer{max-width:1440px;margin:auto}header{height:104px;border-bottom:1px solid var(--rule);display:flex;align-items:center;justify-content:space-between;padding:0 56px}.wordmark{display:flex;align-items:center;gap:10px;font-family:"Source Serif 4",serif;font-size:30px;font-weight:500}nav{display:flex;align-items:center;gap:38px;font-size:14px}nav .active{border-bottom:1px solid;padding:8px 0}.local{font-size:12px;display:flex;align-items:center;gap:8px}.local i{width:6px;height:6px;background:var(--ink);border-radius:50%}main{padding:52px 56px 0}.heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:43px}.eyebrow{font-size:11px;letter-spacing:1.1px;font-weight:500}.heading .eyebrow{margin:0 0 17px}h1{font-family:"Source Serif 4",Georgia,serif;font-size:49px;font-weight:400;line-height:1.09;letter-spacing:-1.7px;margin:0}h1 em{font-style:normal;color:#58705a}.lede{font-size:14px;line-height:1.7;margin:0 0 3px}.workspace{border-top:1px solid var(--ink)}.workspace-top{display:flex;align-items:center;justify-content:space-between;padding:20px 0}.presets{display:flex;gap:6px;align-items:center;font-size:12px}.presets>span{margin-right:8px;color:#596c5b}.presets button{padding:7px 12px;border:1px solid transparent;border-radius:2px}.presets .selected{border-color:var(--rule);background:#e6e9d9}.flow-area{display:grid;grid-template-columns:245px minmax(200px,1fr) 170px;align-items:center;min-height:295px;padding:10px 0 20px}.source label{display:block;font-size:14px;margin-bottom:9px}.budget-wrap{border-bottom:1px solid var(--ink);padding-bottom:10px;display:flex;align-items:baseline;gap:6px}.budget-wrap input{border:0;background:transparent;color:var(--ink);font:400 34px "Source Serif 4",serif;width:170px;min-width:0;outline-offset:8px}.budget-wrap>span{font:12px IBM Plex Mono,monospace}.source p{font-size:12px;line-height:1.6;max-width:185px;color:#596c5b}.source-bottom{display:flex;align-items:center;gap:8px;margin-top:38px;font-size:12px}.source-bottom>span:last-child{margin-left:auto}.source-dot{width:8px;height:8px;background:var(--ink);border-radius:50%}.diagram{padding:0 22px 0 0;position:relative}.diagram svg{width:100%;height:270px;overflow:visible}.pipe-outline{stroke-width:1}.pipe-text{font:12px IBM Plex Mono,monospace;fill:var(--ink)}.diagram-note{position:absolute;bottom:-16px;left:20%;font:9px IBM Plex Mono,monospace;letter-spacing:.5px;white-space:nowrap}.totals{height:290px;display:flex;flex-direction:column;justify-content:space-between;padding:8px 0}.totals>div{display:grid;grid-template-columns:1fr auto;align-items:baseline}.totals span{grid-column:1/-1;font-size:12px;margin-bottom:4px}.totals strong{font:400 25px IBM Plex Mono,monospace;letter-spacing:-1px}.totals small{font:10px IBM Plex Mono,monospace;margin-left:8px}.controls-title{display:flex;justify-content:space-between;margin:43px 0 18px;align-items:center}.controls-title>span:last-child{font-size:12px;color:#596c5b}.allocation-controls{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}.allocation{padding:23px 28px 24px 0}.allocation+.allocation{border-left:1px solid var(--rule);padding-left:28px}.allocation:last-child{padding-right:0}.allocation-heading{display:flex;align-items:center;justify-content:space-between}.allocation h2{font-family:"Source Serif 4",serif;font-size:22px;font-weight:400;margin:0}.allocation h2 span{font:11px IBM Plex Mono,monospace;margin-right:10px}.allocation p{font-size:12px;color:#596c5b;margin:10px 0 20px}.share-wrap{display:flex;gap:3px;align-items:center}.share-wrap input{font:18px IBM Plex Mono,monospace;border:1px solid var(--rule);border-radius:2px;background:var(--surface);color:var(--ink);width:62px;padding:6px;text-align:right;-moz-appearance:textfield}.share-wrap input::-webkit-inner-spin-button{display:none}.share-wrap>span{font-size:12px}.allocation input[type=range]{width:100%;height:18px;margin:0;accent-color:var(--ink);cursor:pointer}.range-labels{display:flex;justify-content:space-between;font:10px IBM Plex Mono,monospace;margin-top:7px}.validation{display:flex;align-items:center;gap:32px;padding:24px 0}.validation-copy{display:flex;align-items:center;gap:12px;flex:1}.validation-copy>span{width:30px;height:30px;border:1px solid var(--ink);border-radius:50%;display:grid;place-items:center;font-size:15px}.validation-copy strong{font-size:14px;font-weight:500}.validation-copy p{font-size:12px;margin:4px 0 0;color:#596c5b}.total-label{display:flex;align-items:center;gap:11px}.total-label strong{font:26px IBM Plex Mono,monospace}.total-label strong span{font-size:15px}.total-label>span{max-width:60px;font-size:9px;line-height:1.5;letter-spacing:.4px}.text-button{font-size:12px;padding:5px 0}.validation.invalid{color:#91432b}.invalid .validation-copy>span{border-color:#91432b}.workspace-actions{padding:19px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--ink);display:flex;align-items:center;justify-content:space-between}.workspace-actions>div{display:flex;align-items:center;gap:23px}#saved{font-size:11px;color:#596c5b}.primary,.secondary{padding:14px 20px;border-radius:2px;font-size:13px}.primary{background:var(--ink);color:var(--bg);min-width:166px;display:flex;gap:32px;justify-content:space-between}.secondary{border:1px solid var(--rule)}.primary:hover{background:#2f5440}.secondary:hover,.presets button:hover{background:#e6e9d9}.footnote{padding:40px 0 44px;display:flex;justify-content:space-between;align-items:center;gap:20px}.footnote p{font-family:"Source Serif 4",serif;font-size:20px;line-height:1.45;margin:0}.footnote-index{font:30px "Source Serif 4",serif;display:flex;align-items:center;gap:16px}.footnote-index small{font:9px/1.6 IBM Plex Sans,sans-serif;letter-spacing:.4px}footer{border-top:1px solid var(--rule);padding:24px 56px;display:flex;justify-content:space-between;font-size:11px}footer>div{display:flex;gap:24px}footer button{font-size:11px;padding:0}dialog{border:1px solid var(--ink);background:var(--bg);color:var(--ink);padding:46px;width:min(520px,90vw);border-radius:3px}dialog::backdrop{background:#193d3066}dialog h2{font:34px/1.15 "Source Serif 4",serif;margin:15px 0}dialog p{font-size:15px;line-height:1.65}dialog #close{position:absolute;right:15px;top:10px;font-size:25px}dialog ol{padding-left:20px;font-size:14px;line-height:1.8}dialog .primary{margin-top:24px}#toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:var(--ink);color:var(--bg);padding:12px 20px;font-size:13px;z-index:12;display:none}#toast.show{display:block}#intro{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg);z-index:20;display:flex;flex-direction:column;padding:30px 40px;animation:escape .7s 8.3s forwards}#intro.hidden{display:none}.intro-top,.intro-bottom{display:flex;justify-content:space-between;font:10px IBM Plex Mono,monospace;letter-spacing:1px}.intro-top button{font-size:12px}.intro-body{flex:1;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center}.intro-body>p{font:34px "Source Serif 4",serif;position:absolute;top:12%;margin:0}.intro-pipes{width:min(800px,85vw)}.intro-line{stroke-dasharray:1100;stroke-dashoffset:1100;animation:draw 2s forwards}.intro-line.second{animation-delay:1.8s}.drop{animation:drop 3s forwards}.intro-ends{opacity:0;animation:appear 1s 3.7s forwards}.intro-brand{position:absolute;bottom:5%;font-size:48px;opacity:0;animation:appear 1.2s 6s forwards;letter-spacing:-1px;text-align:center}.intro-brand span{display:block;font:13px IBM Plex Sans,sans-serif;letter-spacing:0;margin-top:12px}.noscript{padding:20px}@keyframes draw{to{stroke-dashoffset:0}}@keyframes drop{to{transform:translate(280px);opacity:0}}@keyframes appear{to{opacity:1}}@keyframes escape{to{opacity:0;visibility:hidden}}@media(min-width:1450px){.flow-area{min-height:330px}.diagram svg{height:300px}.totals{height:315px}}@media(max-width:1000px){header{padding:0 28px}main{padding:36px 28px 0}footer{padding:24px 28px}h1{font-size:40px}.lede{max-width:260px;font-size:13px}.flow-area{grid-template-columns:190px 1fr 140px}.budget-wrap input{width:135px;font-size:28px}.totals strong{font-size:21px}.diagram-note{font-size:8px;left:2%}.presets>span{display:none}.workspace-actions>div{gap:12px}#saved,.footnote-index{display:none}.allocation h2{font-size:20px}.allocation{padding-right:18px}.allocation+.allocation{padding-left:18px}.share-wrap input{width:55px}}@media(max-width:680px){header{height:78px;padding:0 20px}.wordmark{font-size:27px}nav{gap:0}nav .active{display:none}.local{display:none}main{padding:30px 20px 0}.heading{display:block;margin-bottom:28px}h1{font-size:38px}.heading .eyebrow{font-size:9px}.lede{margin-top:18px;max-width:none;font-size:13px}.workspace-top{display:block}.presets{margin-top:15px;gap:3px}.presets button{padding:7px 9px;font-size:11px}.flow-area{grid-template-columns:1fr 112px;min-height:330px;padding-top:0}.source{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:0 18px;border-bottom:1px solid var(--rule);padding-bottom:17px;margin-bottom:15px}.source label{grid-column:1;font-size:12px}.budget-wrap{grid-column:1;grid-row:2}.source p{grid-column:2;grid-row:2;font-size:11px;margin:0}.source-bottom{display:none}.diagram{padding:0 10px 0 0}.diagram svg{height:190px}.totals{height:205px}.totals span{font-size:11px}.totals strong{font-size:17px}.totals small{font-size:8px}.diagram-note{bottom:-8px;font-size:6px;letter-spacing:0}.controls-title{margin-top:28px}.controls-title>span:last-child{display:none}.allocation-controls{grid-template-columns:1fr}.allocation,.allocation+.allocation,.allocation:last-child{padding:18px 0;border-left:0}.allocation+.allocation{border-top:1px solid var(--rule)}.allocation p{margin:5px 0 10px}.allocation h2{font-size:23px}.share-wrap input{width:70px}.allocation input[type=range]{height:24px}.validation{gap:10px;flex-wrap:wrap;padding:20px 0}.validation-copy strong{font-size:13px}.validation-copy p{font-size:10px}.validation .text-button{margin-left:42px}.total-label{gap:5px}.total-label strong{font-size:23px}.total-label>span{display:none}.workspace-actions{display:block}.workspace-actions>div:first-child{margin-bottom:17px}.workspace-actions .action-buttons{display:grid;grid-template-columns:1fr 1fr;gap:10px}.primary,.secondary{font-size:11px;padding:13px 10px;min-width:0;gap:10px}.footnote{display:block;padding:28px 0}.footnote p{font-size:18px;margin-top:14px}footer{padding:22px 20px;font-size:10px}footer>div{gap:14px}footer>div>span{display:none}#intro{padding:24px 20px}.intro-top{font-size:8px;letter-spacing:0}.intro-bottom{font-size:7px;letter-spacing:0;gap:20px}.intro-body>p{font-size:28px;top:20%}.intro-brand{font-size:42px;bottom:16%}dialog{padding:30px 24px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}#intro{display:none}}
