:root{color-scheme:light;--ink:#193c32;--paper:#f6f3eb;--line:#c8d1c7;--muted:#506057;--pale:#e6eee7;--gold:#ead7a4;--error:#8f2c25}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 system-ui,sans-serif}a{color:inherit;text-underline-offset:.22em}header,main,footer,.tool-nav{width:min(1180px,calc(100% - 48px));margin:auto}header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 0;border-bottom:1px solid var(--line)}.wordmark{font-size:14px;line-height:1.4;font-weight:800;letter-spacing:.2em;text-decoration:none}.wordmark span{display:block;font-size:11px;font-weight:500}.product-label,.eyebrow{font-size:11px;font-weight:750;letter-spacing:.16em}.product-label{color:var(--muted)}.tool-nav{display:flex;gap:8px 24px;flex-wrap:wrap;padding:10px 0;font-size:13px}.tool-nav a{display:inline-flex;align-items:center;min-height:44px}.intro{max-width:770px;padding:44px 0 34px}.eyebrow{margin:0 0 14px}h1,h2,h3,legend{font-family:Georgia,serif;font-weight:400;line-height:1.15}h1{font-size:clamp(40px,5.5vw,70px);letter-spacing:-.04em;margin:0 0 24px}h2{font-size:clamp(28px,3vw,38px);letter-spacing:-.025em;margin:0 0 20px}h3{font-size:24px;margin:26px 0 12px}.lede{font-size:19px;max-width:660px}.intro-tags{display:flex;flex-wrap:wrap;gap:7px 24px;margin:20px 0;font-size:12px;color:var(--muted)}.intro-tags span:before{content:'•';margin-right:7px}.actions,.form-actions{display:flex;gap:12px 22px;align-items:center;flex-wrap:wrap}.actions{margin-top:24px}.actions a{font-size:14px}.sample-note,.reference-note{background:#eee1bf;padding:14px;font-size:13px;border-left:3px solid #a98632}.privacy{background:var(--pale);padding:17px 22px;margin-bottom:32px;font-size:13px}.privacy details{border:0;padding:9px 0 0}.privacy p{margin-bottom:0}.planner-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:32px;align-items:start}.planner-panel{background:#fffef9;border:1px solid var(--line);padding:30px;border-radius:4px;min-width:0}.planner-panel>p:not(.eyebrow){font-size:14px}.results-panel{background:var(--ink);color:var(--paper);padding:30px;border-radius:4px;min-width:0;position:sticky;top:24px}.results-panel .eyebrow{color:#b5c9bb}.results-panel .small{color:#d8e5d8}.results-panel button{margin-top:20px;width:100%;background:var(--gold);color:var(--ink);border-color:var(--gold)}fieldset{border:0;padding:0;margin:28px 0;min-width:0}legend{font-size:24px;margin-bottom:18px}.input-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px 20px}.field{min-width:0}label{display:block;font-size:14px;font-weight:650}input,select{font:16px system-ui,sans-serif;color:var(--ink);width:100%;min-width:0;min-height:46px;padding:10px;background:white;border:1px solid #8a9c8f;border-radius:3px;margin-top:6px}.field-help,.field-error,.small{font-size:12px;line-height:1.55;color:var(--muted)}.field-help{margin:6px 0 0}.field-error:empty{display:none}.field-error{color:var(--error);margin:5px 0 0}input[aria-invalid=true],select[aria-invalid=true]{border:2px solid var(--error)}button{border:1px solid var(--ink);border-radius:3px;background:var(--ink);color:white;font:650 14px/1.45 system-ui,sans-serif;padding:12px 16px;cursor:pointer;min-height:46px}button.secondary{background:transparent;color:var(--ink)}button:disabled{opacity:.6;cursor:default}button:hover:enabled{filter:brightness(1.12)}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #9b6d0a;outline-offset:3px}.rate-actions{margin-top:18px}.rate-actions p{font-size:12px}.reference-note:empty{display:none}.errors:not(:empty){margin-top:24px;border-left:3px solid var(--error);padding-left:14px;color:var(--error);font-size:13px}.errors a{display:block;margin:8px 0}.metric{border-bottom:1px solid #4e6a5b;padding:16px 0}.metric p{font-size:13px;margin:0}.metric strong{display:block;font-size:clamp(28px,3vw,38px);font-weight:500;line-height:1.4;overflow-wrap:anywhere}dl{font-size:13px;margin:20px 0}dl>div{display:flex;justify-content:space-between;gap:16px;padding:7px 0;border-bottom:1px solid #4e6a5b}dd{margin:0;text-align:right;flex-shrink:0}.results-panel p{overflow-wrap:anywhere}.result-warning{background:#355142;padding:12px;border-left:3px solid var(--gold);font-size:13px}.reference,.guide{max-width:850px;margin:65px 0}.reference p,.guide p{font-size:15px}.table-scroll{overflow-x:auto;max-width:100%;margin:24px 0;border:1px solid var(--line);background:#fffef9}table{border-collapse:collapse;width:100%;font-size:13px;min-width:430px}th,td{padding:13px;text-align:right;border-bottom:1px solid var(--line)}th:first-child,td:first-child{text-align:left}thead{background:var(--pale)}caption{text-align:left;padding:15px;font-weight:650;caption-side:top}details{border-top:1px solid var(--line);padding:18px 0}summary{font-weight:650;cursor:pointer}footer{border-top:1px solid var(--line);padding:25px 0 38px;font-size:12px}footer span{font-weight:750;letter-spacing:.14em}footer p{max-width:640px}.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{position:absolute;left:12px;top:-100px;background:white;padding:12px;z-index:10}.skip:focus{top:12px}[hidden]{display:none!important}@media(max-width:850px){.planner-layout{grid-template-columns:1fr}.results-panel{position:static}header{align-items:flex-start}.product-label{max-width:190px;text-align:right}}@media(max-width:480px){header,main,footer,.tool-nav{width:calc(100% - 28px)}header{flex-direction:column;gap:15px}.product-label{text-align:left;max-width:none;font-size:10px}.intro{padding:32px 0}.lede{font-size:17px}.tool-nav{gap:3px 18px}.planner-panel,.results-panel{padding:20px}.input-grid{grid-template-columns:1fr}.form-actions button{width:100%}.privacy{padding:15px}.reference,.guide{margin:44px 0}dl>div{gap:8px}.rate-actions button{width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media print{.tool-nav,.actions,.form-actions,#export{display:none}.planner-layout{display:block}.results-panel{position:static;background:white;color:black;border:1px solid #777;margin-top:25px}.results-panel .small{color:#333}}
:root{--figure-line:#c6cdbf}
.planner-layout{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr)}
.results-panel{position:static}.results-panel h3{font-family:Georgia,serif;font-size:23px;line-height:1.2}.results-panel dl>div{flex-wrap:wrap}.results-panel dd{margin-left:auto;overflow-wrap:anywhere;max-width:100%}
.debt-row{border:1px solid var(--line);padding:18px;border-radius:3px}.debt-row legend{font-size:20px;padding:0 6px}.remove{margin-top:16px}.purchase-section{margin-top:40px}.purchase{border-top:1px solid var(--line);padding-top:20px}.checkbox-field{display:flex;gap:12px;align-items:center;margin-bottom:18px;font-size:16px}.checkbox-field input{width:21px;min-height:21px;height:21px;margin:0;flex-shrink:0}.projection-section{margin:60px 0;min-width:0}.projection-section>.small{max-width:800px}.projection-section table{min-width:1200px}.projection-section td,.projection-section th{white-space:nowrap}.projection-section th{max-width:180px;white-space:normal}.table-scroll{overscroll-behavior-x:contain}.debt-milestone{border-top:1px solid var(--line);padding:16px 0;max-width:850px}.debt-milestone h4{font-size:20px;font-family:Georgia,serif;margin:0 0 8px}.debt-milestone p{margin:6px 0}.warning-text{color:var(--error);font-weight:650}
@media(max-width:950px){.planner-layout{grid-template-columns:1fr}.results-panel{position:static}.results-panel .metric{display:inline-block;width:100%}}
@media(max-width:480px){.debt-row{padding:14px}.checkbox-field{align-items:flex-start}.projection-section{margin:40px 0}.planner-panel .form-actions{margin-top:26px}}
@media print{#export-csv,#add-debt,.remove{display:none}.table-scroll{overflow:visible}.projection-section table{min-width:0;font-size:8px}.projection-section th,.projection-section td{padding:3px;white-space:normal}.results-panel .result-warning{background:white;color:black}}
/* Keep the starting task simple; show the detailed records on request. */
.plan-step{padding-top:24px;border-top:1px solid var(--line);margin:30px 0}.plan-step legend{font-size:23px;margin:0;padding:0 8px 0 0}.step-help{font-size:14px;line-height:1.6;margin:0 0 22px;color:var(--muted)}.optional-step{border-top:1px solid var(--line);padding-top:6px;margin:34px 0}.optional-step h3{font-size:23px}.optional-step details{padding:18px 0}.optional-step summary{line-height:1.55}.summary-note{display:block;font-size:12px;font-weight:400;color:var(--muted);margin-left:18px}.empty-results ul{padding-left:20px}.empty-results li{margin:12px 0}.month-summary h3,.future-summary h3{margin-top:8px}.month-summary .metric{padding-top:0}.month-summary>p,.future-summary>p{font-size:14px}.monthly-breakdown{margin:20px 0 12px}.monthly-breakdown>div{padding:9px 0}.result-warning{padding:18px;margin:28px 0}.result-warning h3{margin:0 0 12px}.result-warning p{margin:12px 0}.future-summary{margin-top:26px}.result-details,.download-details{margin-top:22px;border-color:#647d6b;font-size:14px}.result-details summary,.download-details summary{line-height:1.55}.results-panel details>.small{margin-bottom:0}.projection-section{max-width:100%;margin-top:52px}.projection-section>details{padding:22px 0}.projection-section>details>summary{font-size:16px}.projection-section>details>p{max-width:800px}.form-actions{padding-top:14px}.results-panel #results-title:focus{scroll-margin-top:24px}.field-help{font-size:13px}
@media(max-width:480px){.plan-step{margin-top:28px}.plan-step legend,.optional-step h3{font-size:22px}.step-help{font-size:13px}.results-panel{padding:22px 20px}.result-warning{padding:16px}.monthly-breakdown>div{flex-wrap:nowrap}.monthly-breakdown dt{max-width:64%}.monthly-breakdown dd{flex-shrink:0}.field-help{font-size:12px}}
@media print{.download-details{display:none}details>*{display:block!important}details>summary{display:block}.results-panel .result-details{border-color:#777}.results-panel .metric,.results-panel dl>div{border-color:#aaa}.results-panel .eyebrow{color:#333}.month-summary,.result-warning,.future-summary{break-inside:avoid}}
.monthly-breakdown>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr);gap:12px}.monthly-breakdown dt{max-width:none}.monthly-breakdown dd{min-width:0;max-width:none;margin-left:0;overflow-wrap:anywhere}

.example-label{background:#ead7a4;color:var(--ink);font-size:13px;padding:12px 14px;border-radius:3px;margin:0 0 24px}
/* Savings goals remain a separate comparison beside the original cash-flow plan. */
#goal-plan{scroll-margin-top:24px}.goal-copy-actions{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.goal-copy-actions button{font-size:13px}.goal-results{margin:44px 0;padding:32px;background:var(--pale);border:1px solid var(--line);border-radius:4px}.goal-results h2{max-width:800px}.goal-intro{max-width:850px}.goal-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin:24px 0}.goal-card{padding:25px;background:#fffef9;border:1px solid var(--line);min-width:0}.goal-card h3{margin-top:0}.goal-card h4{font-size:17px;margin:22px 0 10px}.goal-card p{font-size:14px;overflow-wrap:anywhere}.goal-card .goal-time{font-size:clamp(28px,3.4vw,42px);font-family:Georgia,serif;line-height:1.15;margin:18px 0}.goal-warning{background:#eee1bf;border-left:3px solid #a98632;padding:15px 18px;font-size:14px;overflow-wrap:anywhere}.goal-facts>div{border-color:var(--line);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.goal-facts dd{min-width:0;overflow-wrap:anywhere}.goal-next-steps{max-width:850px}.goal-next-steps li{margin:12px 0}.goal-results .small{font-size:13px}.goal-results #goal-results-title:focus{scroll-margin-top:24px}
@media(max-width:750px){.goal-comparison{grid-template-columns:1fr}.goal-results{padding:22px}.goal-card{padding:20px}}
@media(max-width:480px){.goal-results{padding:18px}.goal-card{padding:18px}.goal-copy-actions button{width:100%}.goal-facts>div{grid-template-columns:minmax(0,1fr) minmax(0,.9fr)}}
@media print{.goal-copy-actions{display:none}.goal-results,.goal-card,.goal-warning{background:white;color:black}.goal-comparison{display:block}.goal-card{margin:15px 0;break-inside:avoid}.goal-results .small{color:#333}}
.goal-comparison.goal-single{grid-template-columns:minmax(0,850px)}

/* Keep the first action close to the introduction; full notes stay available. */
.intro{padding:24px 0 22px}.intro h1{font-size:clamp(34px,4.6vw,52px);margin-bottom:16px}.intro .lede{font-size:17px;margin:0 0 16px}.intro .actions{margin-top:16px;gap:12px 20px}.start-link{display:inline-flex;align-items:center;min-height:46px;font-weight:650}.intro-context{font-size:13px;padding:12px 0 0;border:0}.intro-context p{max-width:660px;margin-bottom:0}.privacy{margin-bottom:24px;padding:14px 18px}form{scroll-margin-top:18px}
@media(max-width:480px){.intro{padding:20px 0}.intro h1{font-size:34px}.intro .actions{gap:10px 16px}.privacy{padding:13px 15px}}
.income-fields{margin:22px 0}.payroll-projection-note{font-size:13px;line-height:1.6;padding:14px 16px;border-left:3px solid #a98632;background:#eee1bf}.payroll-summary{border-top:1px solid #647d6b;margin-top:24px;padding-top:18px}.payroll-summary h3{margin-top:0}.payroll-summary p{font-size:13px}.payroll-summary dl{margin:16px 0}.payroll-summary dl>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr)}.payroll-summary dd{min-width:0;overflow-wrap:anywhere}#payroll-detail table{min-width:1150px}
@media print{#payroll-detail table{min-width:0}.payroll-summary{break-inside:avoid}}
