:root{--bg:#f5f6f2;--surface:#fff;--ink:#29372e;--muted:#7d867f;--green:#315e47;--deep:#244d3c;--line:#e6eae2;--lime:#dce9bf;--pension:#467553;--investment:#a58bbe;--mortgage:#dda77b;--interest:#9aab62;--radius:18px;--shadow:0 3px 14px #283a2c03;font-family:"Avenir Next",Avenir,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}
*{box-sizing:border-box}body{margin:0;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button{color:inherit}button:disabled{cursor:not-allowed;opacity:.5}button,a,input,select,summary{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #87a878;outline-offset:4px}button{border:0;background:none}a{color:inherit}h1,h2,h3,p{margin:0}button{transition:background .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease}button:hover{filter:brightness(.97)}[hidden]{display:none!important}.icon-library{position:absolute;width:0;height:0;overflow:hidden}.icon{height:19px;width:19px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-100px;left:20px;background:var(--deep);color:white;padding:12px 20px;z-index:100}.skip-link:focus{top:12px}.site-header{max-width:1600px;margin:auto;height:94px;padding:0 4.3%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:24px}.brand{display:flex;align-items:center;text-decoration:none;font-size:26px;font-weight:650;letter-spacing:-1.3px}.brand-mark{display:flex;align-items:center;justify-content:center;width:38px;height:38px;background:var(--deep);border-radius:12px;margin-right:11px}.brand-mark svg{width:30px;height:30px;fill:none;stroke:var(--lime);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.brand-dot{color:#8a9f62}.header-center{display:flex;align-items:center;gap:9px;font-size:16px;color:var(--muted);letter-spacing:.05px}.status-dot{height:6px;width:6px;background:#759962;border-radius:50%;display:inline-block;flex-shrink:0}.text-button{display:inline-flex;align-items:center;gap:8px;font-size:12px;min-height:44px;padding:8px 0;color:#626f63}.help-button .icon{width:17px}.page-shell{max-width:1600px;padding:45px 4.3% 0;margin:auto}.page-intro{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:37px}.eyebrow{font-size:10px;font-weight:650;letter-spacing:1.8px}.page-intro .eyebrow{display:flex;align-items:center;gap:8px;margin-bottom:10px;color:#6a7d60}.page-intro .eyebrow>span{width:15px;height:1px;background:#809572}h1{font-size:46px;font-weight:500;line-height:1.2;letter-spacing:-1.7px}h1 em{font-family:Georgia,"Times New Roman",serif;font-weight:400;color:var(--green)}.intro-copy{color:var(--muted);font-size:13px;margin-top:12px;line-height:1.7}.mobile-break{display:none}.intro-actions{display:flex;gap:10px;padding-top:25px}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;border-radius:9px;padding:12px 16px;font-size:12px;font-weight:550;white-space:nowrap;line-height:1.2}.button .icon{width:16px;height:16px}.button-light{background:#fff;border:1px solid #dfe5da}.button-light:hover{background:#f5f8f0}.button-dark{background:var(--deep);color:white;border:1px solid var(--deep);box-shadow:0 2px 3px #1d342b08}.button-dark:hover{background:#356147;transform:translateY(-1px)}.scenario-count{background:#edf1e8;border-radius:4px;min-width:18px;font-size:10px;padding:1px 4px}.workspace{display:grid;grid-template-columns:300px minmax(0,1fr);gap:27px;align-items:start}.controls-panel{border:1px solid var(--line);background:white;border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.panel-heading{display:flex;justify-content:space-between;align-items:center;padding:24px 21px 20px;gap:5px}.panel-heading h2{display:flex;align-items:center;gap:9px;font-size:15px;font-weight:600;letter-spacing:-.25px}.panel-heading h2 .icon{height:17px;width:17px}.panel-heading p{font-size:11px;color:var(--muted);margin-top:7px;white-space:nowrap}.icon-button{display:flex;align-items:center;justify-content:center;min-width:40px;min-height:40px;border-radius:9px;color:#8a9587}.icon-button:hover{background:#f0f3ec}.icon-button .icon{height:17px;width:17px}.panel-heading>.icon-button{min-width:30px;margin-right:-7px;align-self:flex-start}.control-tabs{display:flex;margin:0 21px;padding:4px;border:1px solid #edf0e8;background:#f4f6f1;border-radius:8px}.control-tabs button{flex:1;font-size:11px;min-height:34px;border-radius:5px;color:#7b8477}.control-tabs button[aria-selected=true]{background:white;color:var(--deep);box-shadow:0 1px 4px #253d2710;font-weight:600}.parameter-panel{padding:23px 22px 20px}.parameter-control{margin-bottom:26px}.control-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:14px}.control-top label,.date-control>label{font-size:11px;font-weight:550;color:#667263;line-height:1.4;max-width:52%}.value-input{display:flex;align-items:center;justify-content:flex-end;gap:3px;background:#f7f8f4;border:1px solid #e8ece2;border-radius:6px;min-height:32px;padding:4px 8px;min-width:72px;max-width:134px;color:#3d4e3c}.value-input input{border:0;background:transparent;color:inherit;min-width:0;width:78px;text-align:right;font-size:12px;font-weight:600;outline-offset:1px;padding:0;border-radius:2px;font-variant-numeric:tabular-nums;-moz-appearance:textfield}.value-input input::-webkit-inner-spin-button,.value-input input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.value-input input.narrow{width:44px}.value-input span{font-size:10px;color:#829077}.control-limits{display:flex;justify-content:space-between;font-size:9px;color:#a1a99c;margin-top:6px;font-variant-numeric:tabular-nums}input[type=range]{display:block;width:100%;height:20px;margin:0;cursor:pointer;appearance:none;-webkit-appearance:none;background:transparent;--progress:50%}input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:4px;background:linear-gradient(to right,#6d9060 0%,#6d9060 var(--progress),#e7ece0 var(--progress),#e7ece0 100%)}input[type=range]::-moz-range-track{height:4px;border-radius:4px;background:#e7ece0}input[type=range]::-moz-range-progress{height:4px;background:#6d9060;border-radius:4px}input[type=range]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:14px;height:14px;border:3px solid white;border-radius:50%;background:#537746;box-shadow:0 0 0 1px #adc19b,0 2px 4px #34432313;margin-top:-5px;transition:box-shadow .15s}input[type=range]::-moz-range-thumb{width:9px;height:9px;border:3px solid white;border-radius:50%;background:#537746;box-shadow:0 0 0 1px #adc19b}input[type=range]:hover::-webkit-slider-thumb{box-shadow:0 0 0 5px #72965a17,0 0 0 1px #adc19b}input[type=range]:focus-visible{outline-offset:3px;border-radius:3px}.advanced{border-top:1px solid var(--line);margin-top:4px}.advanced summary{min-height:44px;font-size:11px;color:#708067;display:flex;align-items:center;justify-content:space-between;cursor:pointer;list-style:none}.advanced summary::-webkit-details-marker,summary::-webkit-details-marker{display:none}.advanced summary .icon{width:13px;height:13px;transition:transform .2s}.advanced[open] summary .icon{transform:rotate(90deg)}.advanced .parameter-control:last-child{margin-bottom:7px}.advanced>.field-description{margin:0 0 22px}.field-description{font-size:11px;line-height:1.7;color:#8a9384;margin:12px 0}.controls-footer{background:#f9faf6;display:flex;align-items:center;gap:7px;border-top:1px solid var(--line);padding:17px 20px;font-size:9px;color:#8b9583}.controls-footer>.icon{width:13px;height:13px;margin-left:auto}.controls-footer .status-dot{width:5px;height:5px}.derived-value{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:13px 12px;background:#f0f5e9;border:1px solid #e2ead8;border-radius:8px;font-size:10px;color:#6a7a5c;margin-top:0}.derived-value strong{font-size:13px;font-weight:600;color:#3e6539}.schedule-button{display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:7px;min-height:44px;width:100%;font-size:11px;padding:9px 11px;margin-top:19px}.schedule-button .icon{width:14px;height:14px}.schedule-button .icon:last-child{margin-left:auto;width:12px;color:var(--muted)}.date-control{margin-bottom:27px}.date-control>label{display:block;max-width:none;margin-bottom:10px}.date-control input{width:100%;border:1px solid var(--line);background:#f8f9f5;padding:10px;color:var(--ink);border-radius:6px;font-size:12px;min-height:40px}.results-panel{min-width:0}.results-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;min-height:33px;margin:0 0 15px}.live-label{display:flex;align-items:center;gap:7px;font-size:9px;letter-spacing:1.1px;font-weight:600;color:#6f7d63;white-space:nowrap}.live-label>.status-dot{width:5px;height:5px}.projection-duration{font-size:10px;letter-spacing:0;font-weight:400;color:#909888;border-left:1px solid #d8dfd0;margin-left:4px;padding-left:12px}.money-toggle{display:flex;border:1px solid #dfe5d7;border-radius:7px;padding:3px;background:#edf1e7;flex-shrink:0}.money-toggle button{font-size:10px;min-height:27px;padding:5px 10px;color:#87907f;border-radius:4px;white-space:nowrap}.money-toggle button.active{background:#fff;color:#4a5f40;box-shadow:0 1px 3px #33472409}.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-bottom:22px}.metric-card{border:1px solid var(--line);border-radius:13px;background:white;padding:20px 21px 18px;min-height:144px;box-shadow:var(--shadow)}.metric-card.pension-card{background:#ecf1e4;border-color:#dee7d0}.metric-label{display:flex;justify-content:space-between;align-items:center;gap:8px;color:#77846e;font-size:10px}.metric-label .icon{width:17px;height:17px;color:#8a9a79}.pension-card .metric-label,.pension-card .metric-label .icon{color:#657e4e}.metric-value{font-size:35px;font-weight:500;letter-spacing:-1.5px;line-height:1.1;margin:16px 0 11px;font-variant-numeric:tabular-nums;white-space:nowrap}.pension-card .metric-value{color:#315e3f}.metric-description{font-size:9px;color:#929989;display:flex;gap:6px;align-items:center;min-height:20px}.metric-description strong{color:#698650;font-weight:550}.metric-pill{background:#dce8cb;color:#65854a;font-size:9px;padding:3px 6px;border-radius:4px}.chart-card{border:1px solid var(--line);border-radius:var(--radius);background:white;box-shadow:var(--shadow);overflow:hidden}.chart-heading{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:24px 25px 18px}.chart-heading h2{font-size:16px;letter-spacing:-.35px;font-weight:600}.chart-heading p{font-size:10px;color:#92998b;margin-top:5px}.scenario-select{position:relative}.scenario-select select{appearance:none;-webkit-appearance:none;font-size:10px;color:#66745d;background:#f8faf4;border:1px solid #e5ebdd;border-radius:6px;padding:10px 30px 10px 12px;min-height:36px;cursor:pointer}.scenario-select>.icon{position:absolute;right:10px;top:13px;height:10px;width:10px;pointer-events:none;transform:rotate(90deg)}.chart-options{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 25px 5px;padding-bottom:15px;border-bottom:1px solid #f0f2ed}.chart-tabs{display:flex;gap:4px}.chart-tabs button{min-height:30px;padding:5px 10px;font-size:10px;color:#8d9585;border-radius:5px}.chart-tabs button.active{background:#edf3e6;color:#5a7843;font-weight:550}.switch-label{display:flex;align-items:center;gap:7px;font-size:9px;color:#8b9482;cursor:pointer;min-height:32px;position:relative}.switch-label>input{position:absolute;opacity:0;width:27px;height:18px;left:0;margin:0}.switch-track{width:26px;height:15px;border-radius:20px;background:#dce2d7;position:relative;transition:background .2s;display:block}.switch-track:after{content:"";position:absolute;left:3px;top:3px;width:9px;height:9px;border-radius:50%;background:white;transition:transform .2s;box-shadow:0 1px 2px #26382012}.switch-label input:checked+.switch-track{background:#76915e}.switch-label input:checked+.switch-track:after{transform:translateX(11px)}.switch-label input:focus-visible+.switch-track{outline:3px solid #87a878;outline-offset:3px}.chart-container{height:294px;position:relative;margin:9px 17px 2px}.chart-container>svg{display:block;width:100%;height:100%;overflow:visible;touch-action:pan-y}.chart-grid{stroke:#eef1e9;stroke-width:1;stroke-dasharray:3 4}.axis-label{fill:#9ba390;font-size:9px;font-family:inherit}.chart-line{fill:none;stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}.chart-tooltip{position:absolute;background:#fffffff5;border:1px solid #e2e9db;border-radius:10px;box-shadow:0 8px 25px #20322214;padding:12px 14px;z-index:4;pointer-events:none;min-width:198px;font-size:10px;backdrop-filter:blur(8px)}.tooltip-title{display:block;font-size:11px;font-weight:600;margin-bottom:9px}.tooltip-row{display:flex;justify-content:space-between;gap:18px;align-items:center;line-height:2.1;color:#788270}.tooltip-row>span{display:flex;gap:6px;align-items:center}.tooltip-row strong{color:#3d4d35;font-weight:550;font-variant-numeric:tabular-nums}.tooltip-row .legend-dot{height:5px;width:5px}.chart-legend{display:flex;flex-wrap:wrap;justify-content:center;column-gap:15px;row-gap:0;padding:3px 20px 15px}.chart-legend button{display:flex;align-items:center;gap:6px;font-size:9px;min-height:30px;padding:3px 0;color:#818a76}.chart-legend button[aria-pressed=false]{opacity:.4;text-decoration:line-through}.legend-dot{width:7px;height:7px;display:inline-block;border-radius:50%;background:var(--green);flex-shrink:0}.legend-dot.pension{background:var(--pension)}.legend-dot.investment{background:var(--investment)}.legend-dot.mortgage,.legend-dot.standardMortgage{background:var(--mortgage)}.legend-dot.interestSaved{background:var(--interest)}.chart-footer{padding:13px 23px;background:#fafbf8;border-top:1px solid #edf0e7;display:flex;justify-content:space-between;gap:14px;font-size:8px;color:#98a08d;align-items:center}.chart-footnote{display:flex;align-items:center;gap:6px}.chart-footnote .icon{width:12px;height:12px}.chart-footer>span:last-child{white-space:nowrap}.timeline-details{border-top:1px solid #edf0e7}.timeline-details summary{display:flex;align-items:center;justify-content:space-between;min-height:38px;padding:8px 23px;color:#8a957f;font-size:9px;cursor:pointer;list-style:none}.timeline-details summary .icon{width:12px;height:12px}.timeline-details[open] summary .icon{transform:rotate(90deg)}.timeline-controls{padding:8px 23px 18px}.timeline-controls>label{font-size:11px;font-weight:550;margin-bottom:8px;display:block}.timeline-values{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px;font-size:10px;color:var(--muted)}.timeline-values strong{display:block;font-size:13px;font-weight:550;color:var(--ink);margin-top:3px}.insight-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:20px}.insight-card{border:1px solid #e2e9d8;border-radius:13px;position:relative;padding:21px 21px 18px;display:flex;gap:13px;overflow:hidden;min-height:162px;background:#eef3e7}.insight-icon{width:30px;height:30px;display:flex;justify-content:center;align-items:center;flex-shrink:0;background:#e0e9d2;border-radius:9px;color:#688653}.insight-icon .icon{width:16px;height:16px}.insight-card>div:not(.insight-icon){position:relative;z-index:1}.insight-card .eyebrow{font-size:7px;letter-spacing:1.15px;color:#8c9d79;line-height:1.5;margin-top:2px}.insight-card h3{font-size:15px;font-weight:550;letter-spacing:-.35px;margin-top:7px;line-height:1.4}.insight-card p:not(.eyebrow){font-size:10px;color:#8b967f;line-height:1.7;margin-top:6px;max-width:300px}.insight-card p strong{font-weight:600;color:#697d55}.inline-link{display:flex;align-items:center;gap:7px;padding:8px 0;min-height:36px;font-size:9px;font-weight:550;color:#597646;margin-top:3px}.inline-link .icon{width:13px;height:13px}.freedom-decoration{position:absolute;right:-7px;bottom:-11px;width:110px;height:110px;stroke:#b0c495;stroke-width:1;fill:none;opacity:.2}.investment-card{background:#f1eef5;border-color:#e6e0ee}.investment-card .insight-icon{color:#9780ac;background:#e7e0ee}.investment-card .eyebrow{color:#a492b3}.investment-card p:not(.eyebrow){color:#9a8fa4}.investment-card p strong{color:#8f789d}.investment-card .inline-link{color:#9680a8}.breakdown{margin-top:20px;border:1px solid var(--line);border-radius:10px;background:#ffffff6b;overflow:hidden}.breakdown>summary{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:53px;padding:14px 20px;cursor:pointer;list-style:none;font-size:10px;color:#77836b}.breakdown>summary>span{display:flex;align-items:center;gap:9px}.breakdown>summary .icon{width:14px;height:14px}.breakdown-hint{font-size:9px;color:#9aA38f}.breakdown-hint .icon{width:12px!important;height:12px!important;margin-left:8px}.breakdown[open] .breakdown-hint .icon{transform:rotate(90deg)}.table-scroll{overflow-x:auto;background:white;padding:0 18px 10px}.table-scroll table{border-collapse:collapse;width:100%;min-width:670px;font-size:10px;text-align:right;font-variant-numeric:tabular-nums}.table-scroll caption{text-align:left;font-size:10px;color:var(--muted);padding:14px 0}.table-scroll th{font-weight:500;color:#7c8b70;white-space:nowrap;padding:13px 9px;border-bottom:1px solid var(--line);background:#f9faf7}.table-scroll td{padding:12px 9px;border-bottom:1px solid #f0f2ec;color:#67735d}.table-scroll td:first-child,.table-scroll th:first-child{text-align:left}.table-scroll td:first-child span{display:block;font-size:9px;color:#a1a896}.table-scroll tbody tr:hover{background:#f8faf4}.page-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;color:#9da591;border-top:1px solid var(--line);margin-top:38px;min-height:86px}.page-footer>div{display:flex;align-items:center;gap:10px;white-space:nowrap;font-size:10px}.footer-mark{font-size:25px;line-height:1;font-weight:600;letter-spacing:-2px;color:#7d9270}.page-footer>p{font-size:9px}.page-footer .text-button{color:#8a977b;font-size:9px;white-space:nowrap}.page-footer .icon{width:13px;height:13px}.validation-error,.model-warning{font-size:12px;line-height:1.6;border-radius:8px;padding:12px 16px;margin-bottom:15px}.validation-error{background:#fff1ee;border:1px solid #e8bfb4;color:#9d4f3a}.model-warning{background:#fcf6e7;border:1px solid #e5d7b2;color:#8d723c}.results-panel.is-invalid .metric-grid,.results-panel.is-invalid .chart-card,.results-panel.is-invalid .insight-grid{opacity:.55}
.modal{width:min(560px,calc(100% - 32px));max-height:calc(100dvh - 48px);border:1px solid #dce4d5;border-radius:20px;padding:29px 32px 30px;color:var(--ink);background:#fcfdf9;box-shadow:0 25px 100px #18362320;overscroll-behavior:contain}.modal::backdrop{background:#20362b55;backdrop-filter:blur(5px)}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:7px}.modal-header .eyebrow{font-size:9px;color:#8c9b7c}.modal-header .icon-button{margin-right:-10px}.modal h2{font-size:26px;font-weight:500;line-height:1.25;letter-spacing:-1px;margin-bottom:15px}.modal>p,.notes-content p{font-size:12px;line-height:1.8;color:#7d8973}.notes-content h3{font-size:15px;font-weight:600;margin:22px 0 6px}.modal-done{margin-top:24px}.modal form>label{display:block;margin:24px 0 8px;font-size:11px;color:#708060}.save-form-row{display:flex;gap:8px}.save-form-row>input{width:100%;min-width:0;font-size:12px;padding:12px;border:1px solid #dfe6d7;background:white;border-radius:8px;color:var(--ink)}.save-form-row>input::placeholder{color:#a3ad9b}.saved-scenarios{margin-top:24px}.empty-scenarios{border:1px dashed #d9e3ce;padding:28px 15px;text-align:center;border-radius:10px;color:#9aa88e;font-size:12px}.saved-item{display:flex;align-items:center;gap:8px;padding:14px 0;border-bottom:1px solid #e8ede1}.saved-item>div{flex:1;min-width:0}.saved-item h3{font-size:12px;font-weight:550;overflow-wrap:anywhere}.saved-item p{font-size:10px;color:#96a18b;margin-top:5px}.saved-item>.button{font-size:10px;padding:9px 12px;min-height:36px}.modal .modal-note{font-size:10px;color:#a4ad9b;margin-top:18px}.schedule-modal{width:min(680px,calc(100% - 24px))}.schedule-table-wrap{overflow:auto;margin:22px -4px 5px}.schedule-table{width:100%;border-collapse:collapse;min-width:410px}.schedule-table th{font-size:10px;color:#8b987f;font-weight:500;text-align:left;padding:0 5px 10px}.schedule-table td{padding:5px}.schedule-table input{width:100%;min-width:0;padding:9px 6px;font-size:12px;border-radius:5px;border:1px solid #e0e7d8;color:#526447;background:#fff;min-height:40px}.schedule-table input[type=date]{min-width:125px}.schedule-table td:not(:first-child):not(:last-child){width:18%}.schedule-table .icon-button{min-width:32px;min-height:40px}.schedule-table .icon{width:14px;height:14px}.schedule-modal-footer{display:flex;justify-content:flex-end;gap:8px;margin-top:22px}.schedule-error{color:#a44e37;font-size:12px;padding:10px 0}.toast{position:fixed;z-index:20;bottom:max(24px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);background:var(--deep);color:#eef5e7;padding:13px 22px;border-radius:10px;box-shadow:0 7px 30px #203d2925;max-width:calc(100vw - 32px);width:max-content;font-size:12px}.noscript{position:fixed;bottom:0;left:0;width:100%;padding:20px;background:#fff0cf;color:#685328;text-align:center}
@media(min-width:1450px){.workspace{grid-template-columns:320px minmax(0,1fr);gap:30px}.chart-container{height:320px}.parameter-panel{padding:27px 25px 24px}.parameter-control{margin-bottom:29px}.metric-value{font-size:40px}.metric-card{padding:22px 24px}.chart-heading{padding-top:26px;padding-bottom:22px}.insight-card{padding:24px}.page-shell{padding-top:50px}.page-intro{margin-bottom:42px}}
@media(max-width:1180px){.site-header{padding:0 3%}.page-shell{padding:34px 3% 0}.workspace{grid-template-columns:270px minmax(0,1fr);gap:20px}.metric-card{padding:17px 15px 14px;min-height:132px}.metric-grid{gap:10px}.metric-value{font-size:29px}.metric-label{font-size:9px}.metric-description{font-size:8px;gap:4px;flex-wrap:wrap}.metric-pill{font-size:8px}.projection-duration{display:none}.chart-heading{padding:22px 20px 16px}.chart-options{margin-left:20px;margin-right:20px}.chart-container{height:280px;margin-left:12px;margin-right:12px}.chart-legend{column-gap:13px;padding-left:15px;padding-right:15px}.chart-legend button{font-size:8px}.chart-footer{padding:12px 18px;flex-wrap:wrap;gap:6px}.insight-card{padding:18px 15px;gap:10px}.insight-icon{width:26px;height:26px}.insight-card h3{font-size:13px}.insight-card .eyebrow{font-size:6.5px;letter-spacing:.8px}.insight-card p:not(.eyebrow){font-size:9px}.panel-heading{padding:22px 18px 18px}.panel-heading p{font-size:10px}.control-tabs{margin:0 18px}.parameter-panel{padding:22px 19px 18px}.controls-footer{padding:16px 18px;font-size:8px}.header-center{font-size:15px}.page-footer{gap:15px}.page-footer>p{max-width:350px;text-align:center}.page-intro h1{font-size:42px}.intro-copy{font-size:12px}}
@media(max-width:950px){.site-header{height:80px;padding:0 4%}.header-center{display:none}.page-shell{padding:30px 4% 0}.page-intro{margin-bottom:28px}.page-intro h1{font-size:38px}.intro-copy{max-width:390px;font-size:11px}.intro-actions{gap:7px}.intro-actions .button{font-size:10px;padding:11px}.desktop-word{display:none}.workspace{grid-template-columns:235px minmax(0,1fr);gap:16px}.panel-heading{padding-left:15px;padding-right:15px}.panel-heading h2{font-size:13px;gap:7px}.panel-heading p{font-size:9px}.control-tabs{margin:0 14px}.parameter-panel{padding:20px 15px 17px}.control-top label{font-size:10px}.value-input{padding:4px 6px;max-width:117px}.value-input input{font-size:11px;width:70px}.value-input input.narrow{width:38px}.controls-footer{padding:15px 13px;font-size:7.5px;gap:5px}.metric-grid{gap:8px;margin-bottom:17px}.metric-card{padding:15px 10px;min-height:125px;border-radius:10px}.metric-label{font-size:8px;gap:4px}.metric-label .icon{width:13px;height:13px}.metric-value{font-size:25px;letter-spacing:-1px;margin-top:15px;margin-bottom:9px}.metric-description{font-size:7px;gap:3px}.metric-pill{font-size:7px;padding:2px 4px}.live-label{font-size:8px;letter-spacing:.7px}.money-toggle button{font-size:8px;padding:5px 7px;min-height:25px}.results-toolbar{margin-bottom:12px}.chart-heading{padding:19px 15px 14px;align-items:flex-start}.chart-heading h2{font-size:14px}.chart-heading p{font-size:9px;max-width:180px}.scenario-select select{font-size:8px;padding:8px 21px 8px 8px;min-height:32px}.scenario-select>.icon{right:7px;top:11px;height:9px;width:9px}.chart-options{margin-left:15px;margin-right:15px;padding-bottom:9px}.chart-tabs button{font-size:9px;padding:5px 8px}.switch-label{font-size:8px;gap:5px}.chart-container{height:278px;margin-left:5px;margin-right:6px}.chart-legend{column-gap:12px;justify-content:flex-start;padding:1px 20px 12px}.chart-footer{font-size:7px;padding:11px 15px}.timeline-details summary{font-size:8px;padding:8px 15px}.insight-grid{gap:12px;margin-top:16px}.insight-card{padding:16px 13px;display:block;min-height:190px}.insight-icon{width:25px;height:25px;margin-bottom:10px}.insight-card h3{font-size:13px}.insight-card .eyebrow{font-size:6px;letter-spacing:.7px}.insight-card p:not(.eyebrow){font-size:9px}.inline-link{font-size:8px}.breakdown>summary{padding:12px 15px;font-size:9px}.breakdown-hint{font-size:7px;gap:5px!important}.page-footer>div{font-size:9px}.page-footer>p{font-size:8px;max-width:290px}.timeline-values{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.site-header{height:75px;padding:0 22px}.brand{font-size:24px}.brand-mark{width:33px;height:33px;border-radius:10px;margin-right:9px}.brand-mark svg{height:26px;width:26px}.help-button{font-size:10px}.help-button .icon{width:15px;height:15px}.page-shell{padding:30px 20px 0}.page-intro{display:block;margin-bottom:24px}.page-intro .eyebrow{font-size:8px;letter-spacing:1.5px;margin-bottom:11px}.page-intro h1{font-size:39px;letter-spacing:-1.6px}.intro-copy{font-size:11px;margin-top:10px;max-width:100%;line-height:1.8}.mobile-break{display:block}.intro-actions{padding-top:20px;gap:9px}.intro-actions .button{padding:11px 14px;font-size:10px;min-height:41px}.desktop-word{display:inline}.workspace{display:flex;flex-direction:column;gap:23px}.controls-panel{width:100%;border-radius:14px}.panel-heading{padding:18px 19px 15px}.panel-heading h2{font-size:14px;gap:9px}.panel-heading p{font-size:10px;margin-top:4px}.panel-heading>.icon-button{min-width:36px;margin-right:-3px}.control-tabs{margin:0 18px;padding:4px}.control-tabs button{font-size:11px;min-height:36px}.parameter-panel{padding:22px 19px 8px;display:grid;grid-template-columns:1fr 1fr;gap:0 26px;align-items:start}.parameter-panel>.advanced,.parameter-panel>.derived-value,.parameter-panel>.field-description,.parameter-panel>.schedule-button{grid-column:1/-1}.parameter-panel>.advanced{margin-top:0;margin-bottom:5px}.advanced[open]{display:grid;grid-template-columns:1fr 1fr;gap:0 26px}.advanced>summary,.advanced>.field-description{grid-column:1/-1}.advanced .parameter-control:last-child{margin-bottom:20px}.parameter-panel .parameter-control{margin-bottom:22px}.control-top{display:block;margin-bottom:8px}.control-top label{font-size:10px;max-width:100%;display:block;margin-bottom:8px}.value-input{display:flex;min-height:35px;width:100%;max-width:none;justify-content:flex-start;padding:5px 9px}.value-input input{font-size:13px;width:100%;text-align:left;order:1}.value-input span{font-size:10px}.value-input span.unit-suffix{order:2}.value-input input.narrow{width:100%}input[type=range]{height:26px}input[type=range]::-webkit-slider-thumb{width:18px;height:18px;margin-top:-7px}input[type=range]::-moz-range-thumb{width:12px;height:12px}.control-limits{font-size:8px;margin-top:1px}.controls-footer{padding:13px 19px;font-size:9px}.controls-footer .status-dot{margin-right:2px}.controls-footer>.icon{width:13px;height:13px}.parameter-panel .date-control{margin-bottom:22px}.date-control>label{font-size:10px;margin-bottom:8px}.date-control input{font-size:13px;min-height:35px;max-width:100%;padding:5px 7px}.field-description{font-size:10px}.schedule-button{margin:0 0 16px;font-size:11px}.derived-value{font-size:11px}.results-panel{width:100%}.results-toolbar{margin-bottom:15px}.live-label{font-size:8px;letter-spacing:.8px}.money-toggle button{font-size:9px;padding:6px 9px;min-height:28px}.metric-grid{gap:8px;margin-bottom:18px}.metric-card{padding:14px 11px;min-height:135px;border-radius:11px}.metric-label{font-size:8px;line-height:1.5;min-height:25px;align-items:flex-start;gap:2px}.metric-label .icon{width:12px;height:12px;margin-top:1px}.metric-value{font-size:26px;letter-spacing:-1px;margin-top:12px;margin-bottom:11px}.metric-description{font-size:7px;line-height:1.5;display:block}.metric-description .metric-pill{display:inline-block;margin-right:3px;font-size:7px;padding:2px 4px}.metric-description>span:last-child{display:inline}.chart-card{border-radius:14px}.chart-heading{padding:20px 16px 17px;align-items:center;gap:8px}.chart-heading h2{font-size:15px}.chart-heading p{font-size:9px;max-width:180px;margin-top:4px}.scenario-select select{font-size:8px;padding:9px 22px 9px 9px;min-height:35px}.scenario-select>.icon{top:13px}.chart-options{margin:0 16px 4px;padding-bottom:11px}.chart-tabs button{font-size:9px;padding:7px 9px;min-height:34px}.switch-label{font-size:8px}.chart-container{height:270px;margin:8px 6px 0 0}.axis-label{font-size:8px}.chart-legend{padding:0 17px 13px;display:grid;grid-template-columns:auto auto;column-gap:15px;justify-content:center}.chart-legend button{font-size:8px;min-height:32px;gap:6px}.legend-dot{width:6px;height:6px}.chart-footer{padding:11px 16px;font-size:7px;gap:5px}.chart-footer>span:last-child{margin-left:18px}.timeline-details summary{padding:10px 16px;min-height:42px;font-size:9px}.timeline-controls{padding:8px 16px 16px}.insight-grid{gap:11px;margin-top:16px}.insight-card{padding:18px 15px 13px;min-height:203px;border-radius:12px}.insight-icon{height:28px;width:28px;margin-bottom:13px}.insight-card .eyebrow{font-size:6px;letter-spacing:.65px;line-height:1.7}.insight-card h3{font-size:13px;line-height:1.45;margin-top:6px}.insight-card p:not(.eyebrow){font-size:9px;margin-top:6px;line-height:1.7}.inline-link{font-size:8px;line-height:1.5;gap:5px;min-height:38px}.inline-link .icon{height:11px;width:11px}.breakdown{margin-top:17px}.breakdown>summary{font-size:9px;padding:14px}.breakdown-hint{font-size:0}.breakdown-hint .icon{width:12px!important}.page-footer{margin-top:27px;min-height:120px;display:grid;grid-template-columns:1fr auto;padding:20px 0;gap:8px 10px}.page-footer>div{font-size:10px}.page-footer>p{font-size:8px;max-width:none;text-align:left;grid-column:1/-1;grid-row:2}.page-footer .text-button{font-size:9px}.modal{padding:20px;max-height:calc(100dvh - 30px);border-radius:15px}.modal h2{font-size:24px}.modal>p,.notes-content p{font-size:12px}.modal-header .eyebrow{font-size:8px}.modal-header .icon-button{margin-right:-4px}.modal input{font-size:16px!important}.schedule-table th{font-size:9px}.schedule-table-wrap{margin-left:-8px;margin-right:-8px}.schedule-table input{font-size:16px}.schedule-table{min-width:470px}.save-form-row>input{padding:10px}.save-form-row>.button{padding:10px 13px}.save-form-row>.button>.icon{display:none}.toast{font-size:11px;bottom:max(20px,env(safe-area-inset-bottom))}.timeline-values{grid-template-columns:repeat(2,1fr);font-size:9px}.timeline-values strong{font-size:12px}}
@media(max-width:380px){.page-shell{padding-left:14px;padding-right:14px}.site-header{padding-left:16px;padding-right:16px}.page-intro h1{font-size:36px}.metric-card{padding:13px 8px}.metric-value{font-size:23px}.metric-label .icon{display:none}.metric-label{font-size:8px}.metric-description{font-size:6.5px}.metric-description .metric-pill{font-size:6px}.parameter-panel{column-gap:20px}.money-toggle button{font-size:8px;padding:6px 7px}.chart-heading{padding-left:14px;padding-right:14px}.chart-heading p{font-size:8px;max-width:155px}.scenario-select select{font-size:7px;padding-left:7px}.insight-card{padding:16px 12px 11px}.insight-card h3{font-size:12px}.insight-card .eyebrow{font-size:5.5px}.insight-card p:not(.eyebrow){font-size:8px}}
@media(hover:none) and (pointer:coarse){.value-input input{font-size:16px}.date-control input{font-size:16px}.control-tabs button{min-height:40px}.money-toggle button{min-height:36px}.chart-tabs button{min-height:36px}.chart-legend button{min-height:36px}.switch-label{min-height:44px}.icon-button{min-height:44px;min-width:44px}input[type=range]{height:32px}.inline-link{min-height:44px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media print{body{background:white}.site-header,.controls-panel,.intro-actions,.results-toolbar,.chart-options,.timeline-details,.inline-link,.page-footer .text-button,.toast,.modal{display:none!important}.page-shell{max-width:none;padding:10px}.page-intro{margin-bottom:20px}.workspace{display:block}.metric-grid,.insight-grid{break-inside:avoid}.chart-card{break-inside:avoid}.page-footer{margin-top:20px}.breakdown{display:none}}

/* Clear, readable details, with a compact editing experience on phones. */
:root{--muted:#6d7868}
.panel-header-actions{display:flex;align-items:center;gap:5px;align-self:flex-start;margin-right:-8px}
.panel-header-actions .icon-button{min-width:30px}
.mobile-controls-toggle,.mobile-live-bar{display:none}
.intro-copy{font-size:13px;color:#74816d}
.metric-label{font-size:11px;color:#69765f}
.metric-description{font-size:10px;color:#748168;flex-wrap:wrap;gap:3px 6px}
.metric-description .icon{height:11px;width:11px}
.metric-pill{font-size:9px;color:#4d7139}
.chart-heading p{font-size:11px;color:#74816a}
.chart-tabs button,.scenario-select select{font-size:11px}
.chart-legend button{font-size:10px;color:#69765f}
.chart-footer{font-size:9px;color:#75816b}
.axis-label{fill:#758269;font-size:10px}
.switch-label{font-size:10px;color:#718062}
.timeline-details summary{font-size:10px;color:#728064}
.control-limits{font-size:10px;color:#79866e}
.control-top label{font-size:12px;color:#637359}
.value-input input{font-size:13px}
.value-input span{color:#718264}
.control-tabs button{font-size:12px;color:#718066}
.controls-footer{font-size:10px;color:#76866a}
.advanced summary{font-size:11px;color:#6a7c5e}
.insight-card .eyebrow{font-size:8px;letter-spacing:1.1px;color:#6f835d}
.insight-card p:not(.eyebrow){font-size:11px;color:#6e805e}
.insight-card .inline-link{font-size:10px;color:#56743f}
.investment-card .eyebrow{color:#8b769e}
.investment-card p:not(.eyebrow){color:#897493}
.investment-card .inline-link{color:#826793}
.breakdown>summary{font-size:11px;color:#6b7b5d}
.breakdown-hint{font-size:10px;color:#74856a}
.page-footer>p{color:#7a886e}
.chart-container{margin-bottom:6px}
@media(min-width:1181px){.metric-value{font-size:37px}.parameter-control{margin-bottom:24px}}
@media(min-width:701px) and (max-width:1180px){
  .metric-label{font-size:10px}.metric-description{font-size:9px}.metric-pill{font-size:8px}
  .chart-legend button{font-size:9px}.chart-footer{font-size:8px}.chart-heading p{font-size:10px}
  .scenario-select select,.chart-tabs button{font-size:10px}.control-top label{font-size:11px}
  .value-input input{font-size:12px}.control-limits{font-size:9px}.controls-footer{font-size:9px}
  .insight-card .eyebrow{font-size:7px;letter-spacing:.8px}.insight-card p:not(.eyebrow){font-size:10px}
  .insight-card .inline-link{font-size:9px}.breakdown-hint{font-size:9px}
}
@media(min-width:701px) and (max-width:900px){
  .metric-grid{grid-template-columns:1fr 1fr}.pension-card{grid-column:1/-1;display:grid;grid-template-columns:1fr auto;min-height:92px;padding:15px 18px;column-gap:15px}
  .pension-card .metric-label{grid-column:1;align-self:end;min-height:0}.pension-card .metric-label .icon{display:none}
  .pension-card .metric-value{grid-column:2;grid-row:1/3;align-self:center;font-size:35px;margin:0}
  .pension-card .metric-description{grid-column:1;margin-top:6px;align-self:start}
  .metric-card:not(.pension-card){padding:15px;min-height:122px}.metric-value{font-size:28px}
  .metric-label{font-size:10px}.metric-description{font-size:9px}
  .chart-heading{flex-wrap:wrap;gap:12px}.chart-heading p{max-width:none}
  .chart-options{gap:5px}.switch-label{font-size:9px}.control-top label{font-size:10px}
  .controls-footer{font-size:8px}.control-tabs button{font-size:11px}
  .chart-footer>span:last-child{margin-left:18px}.chart-legend{justify-content:center}
  .breakdown-hint{font-size:0}.breakdown-hint .icon{font-size:12px}
}
@media(max-width:700px){
  .page-intro h1{font-size:clamp(24px,7.5vw,34px);letter-spacing:normal;white-space:nowrap}
  .mobile-controls-toggle{display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;font-size:11px;font-weight:550;color:#587548;padding:7px 6px}
  .mobile-controls-toggle .icon{width:12px;height:12px;transform:rotate(90deg)}
  .mobile-expanded .mobile-controls-toggle .icon{transform:rotate(-90deg)}
  .panel-header-actions{align-self:center;gap:3px;margin-right:-5px}.panel-header-actions .icon-button{min-width:35px}
  .controls-panel:not(.mobile-expanded) #controls-content,.controls-panel:not(.mobile-expanded) .controls-footer{display:none}
  .controls-panel:not(.mobile-expanded) .panel-heading{padding-top:17px;padding-bottom:17px}
  .workspace{gap:20px}.panel-heading p{font-size:10px}
  .intro-copy{font-size:12px}.control-top label{font-size:11px}.value-input input,.value-input input.narrow{font-size:16px}
  .control-limits{font-size:9px}.controls-footer{font-size:10px}.control-tabs button{font-size:12px}
  .metric-grid{grid-template-columns:1fr 1fr;gap:10px}
  .metric-card{padding:16px;min-height:140px}
  .pension-card{grid-column:1/-1;display:grid;grid-template-columns:1fr auto;min-height:100px;padding:18px;column-gap:15px}
  .pension-card .metric-label{grid-column:1;align-self:end;min-height:0;font-size:12px}
  .pension-card .metric-label .icon{display:none}
  .pension-card .metric-value{grid-column:2;grid-row:1/3;align-self:center;font-size:38px;margin:0}
  .pension-card .metric-description{grid-column:1;margin-top:6px;align-self:start}
  .metric-label{font-size:11px;min-height:32px;line-height:1.5}
  .metric-label .icon{display:block;height:14px;width:14px;margin-top:2px}
  .metric-value{font-size:28px;letter-spacing:-1.1px;margin-top:9px;margin-bottom:9px}
  .metric-description{font-size:9px;line-height:1.6;display:flex;flex-wrap:wrap;gap:2px 4px}
  .metric-description .metric-pill{font-size:9px;margin-right:3px;padding:2px 5px}
  .metric-description .icon{display:none}
  .money-toggle button{font-size:10px}.live-label{font-size:9px}
  .chart-heading p{font-size:10px;max-width:180px}.scenario-select select{font-size:9px}
  .chart-tabs button{font-size:10px;padding-left:8px;padding-right:8px}.switch-label{font-size:9px}
  .chart-legend button{font-size:10px;min-height:36px}.chart-legend{column-gap:18px}
  .chart-footer{font-size:9px;line-height:1.6}.chart-footer>span:last-child{margin-left:18px}
  .axis-label{font-size:9px}.timeline-details summary{font-size:10px}
  .insight-grid{grid-template-columns:1fr;gap:12px}
  .insight-card{display:flex;padding:20px;gap:14px;min-height:0}
  .insight-icon{height:32px;width:32px;margin-bottom:0}.insight-card h3{font-size:16px}
  .insight-card .eyebrow{font-size:7px;letter-spacing:1px}.insight-card p:not(.eyebrow){font-size:11px;max-width:none}
  .insight-card .inline-link{font-size:10px;min-height:37px}.insight-card .inline-link .icon{height:13px;width:13px}
  .breakdown>summary{font-size:10px}.breakdown-hint{font-size:0}
  .editing-inputs .mobile-live-bar{display:flex;align-items:center;justify-content:space-between;position:fixed;bottom:0;left:0;width:100%;z-index:8;background:#fcfdf8f5;backdrop-filter:blur(12px);border-top:1px solid #dfe6d7;padding:12px 20px max(12px,env(safe-area-inset-bottom));box-shadow:0 -4px 20px #263f2510;gap:16px}
  .mobile-live-bar>div>span{display:block;font-size:10px;color:#70845f}.mobile-live-bar strong{display:block;font-size:23px;font-weight:550;letter-spacing:-.6px;color:#375d3e;line-height:1.3;margin-top:2px}
  .mobile-live-bar .button{font-size:11px;padding:12px 14px}
  body.editing-inputs{padding-bottom:88px}.editing-inputs .toast{bottom:100px}
  .page-footer>p{font-size:9px;text-align:center}
  .footer-tagline{font-size:10px}
}
@media(max-width:380px){
  .metric-card{padding:14px}.metric-value{font-size:25px}.metric-label{font-size:10px}.metric-label .icon{height:12px;width:12px}
  .metric-description{font-size:8px}.pension-card .metric-label{font-size:11px}.pension-card .metric-value{font-size:34px}
  .money-toggle button{font-size:9px;padding:6px}.live-label{font-size:8px}.chart-heading{flex-wrap:wrap;gap:10px}
  .chart-heading p{max-width:none}.chart-options{margin-left:12px;margin-right:12px}.chart-tabs button{padding:6px;font-size:9px}
  .switch-label{font-size:8px}.chart-legend button{font-size:9px}.chart-legend{column-gap:12px}
  .panel-heading{padding-left:16px;padding-right:15px}.panel-heading p{font-size:9px}.panel-header-actions .icon-button{min-width:30px}
  .mobile-controls-toggle{font-size:10px;gap:3px}.panel-heading h2{font-size:13px}.insight-card{padding:18px;gap:11px}
}
@media print{.mobile-live-bar{display:none!important}}
.value-input:has(input[aria-invalid=true]){border-color:#cb8c78;background:#fff6f0}
@media(hover:none) and (pointer:coarse){.value-input input{font-size:16px}}
.control-label-help{position:relative;display:flex;align-items:center;gap:4px;min-width:0;flex:1}
.control-top .control-label-help label{max-width:none;margin-bottom:0;cursor:help}
.parameter-info{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:20px;height:24px;padding:0;color:#788b6c;border-radius:4px;cursor:help}
.parameter-info .icon{width:13px;height:13px}
.parameter-tooltip{position:absolute;z-index:5;left:0;bottom:calc(100% + 7px);width:215px;padding:10px 12px;border-radius:8px;background:var(--deep);color:#f4f8ee;box-shadow:0 4px 14px #203d2920;font-size:11px;font-weight:400;line-height:1.6;cursor:default}
.parameter-tooltip::after{content:"";position:absolute;top:100%;left:0;width:100%;height:8px}
@media(max-width:700px){.control-label-help{margin-bottom:8px;min-height:24px}.control-top .control-label-help label{margin-bottom:0}.parameter-tooltip{width:min(215px,calc(100vw - 85px))}}
@media(max-width:700px) and (orientation:portrait){
  #panel-pension :is([data-control="contribution"],[data-control="pensionReturn"]) .control-top>:first-child{display:flex;align-items:center;min-height:32px}
}
@media(max-width:700px){[data-control="currentRate"] .parameter-tooltip,[data-control="totalPayment"] .parameter-tooltip{left:auto;right:0}}
.money-help{position:relative;display:flex}
.money-help [data-money]{display:inline-flex;align-items:center;gap:5px}
.money-help .icon{width:13px;height:13px}
.money-help .parameter-tooltip{left:auto;right:0;width:max-content;max-width:calc(100vw - 40px)}
.footer-mark svg{display:block;width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.page-footer>div{font-size:12px;white-space:normal}
.page-footer .text-button{font-size:12px}
.chart-legend button{font-size:12px}
