:root{color-scheme:light;--paper:#f8f6f0;--ink:#192e31;--muted:#536568;--line:#c9d1cc;--white:#fffefa;--mint:#e5eee6;--accent:#1b5f50;--rust:#963b2e;--gold:#e4c899;font-family:Arial,Helvetica,sans-serif;font-size:16px;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}body{margin:0}a{color:inherit;text-underline-offset:4px}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #a86f23;outline-offset:4px}main,.site-header,footer{max-width:1220px;margin:auto}main{padding:0 36px}.site-header{display:flex;align-items:center;justify-content:space-between;padding:30px 36px;border-bottom:1px solid var(--line);gap:20px}.wordmark{font-size:18px;letter-spacing:.15em;line-height:1.2;font-weight:700;text-decoration:none}.wordmark span{display:block;font-size:10px;letter-spacing:.42em;margin-top:5px}.product-label{font-size:11px;letter-spacing:.12em;color:var(--muted)}.intro{padding:60px 0 34px}.eyebrow{font-size:10px;letter-spacing:.15em;font-weight:700;margin:0 0 18px;line-height:1.6}h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.025em;margin:0;line-height:1.12}h1{font-size:clamp(40px,5.5vw,68px)}h2{font-size:31px}h3{font-size:24px}p{line-height:1.65}.lede{max-width:700px;font-size:18px;color:var(--muted);margin:23px 0}.intro-notes{display:flex;gap:10px 22px;flex-wrap:wrap;font-size:12px;color:var(--muted)}.intro-notes span::before{content:"";display:inline-block;width:5px;height:5px;background:var(--accent);border-radius:50%;margin-right:8px;vertical-align:middle}.privacy-note{border:1px solid var(--line);background:var(--mint);padding:18px 22px;font-size:13px;line-height:1.7;margin-bottom:44px}.privacy-note strong{display:block;margin-bottom:2px}.planner-layout{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(280px,1fr);gap:42px;align-items:start;scroll-margin-top:24px}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.toolbar{display:flex;align-items:flex-start;flex-direction:column;gap:12px;padding-top:4px}.quiet-button{padding:5px 0;border:0;background:transparent;color:var(--accent);font-size:12px;text-decoration:underline;text-underline-offset:4px}.input-help{font-size:12px;color:var(--muted);margin:16px 0 24px}.sample-label{font-size:13px;background:#f1e3c8;border-left:3px solid #a86f23;padding:10px 14px}.category{border:0;padding:0;margin:26px 0 34px;min-width:0}.category legend{font-size:17px;font-weight:700;width:100%;padding:0 0 11px;border-bottom:1px solid var(--line)}.category-note{font-size:12px;color:var(--muted);margin:10px 0 14px}.budget-row{display:grid;grid-template-columns:minmax(100px,1.5fr) minmax(85px,.85fr) minmax(115px,1fr) 30px;gap:10px;align-items:start;margin:14px 0}.field label{display:block;font-size:10px;color:var(--muted);margin-bottom:6px;letter-spacing:.04em}.field input,.field select,.scenario-controls input{background:var(--white);border:1px solid #98aaa4;border-radius:4px;min-height:43px;padding:10px;width:100%;min-width:0;color:var(--ink)}.field select{padding-right:4px;font-size:12px}.field input{font-size:14px}.field input[aria-invalid=true],.field select[aria-invalid=true],.scenario-controls input[aria-invalid=true]{border-color:var(--rust);border-width:2px}.row-error{grid-column:1/-1;color:var(--rust);font-size:12px;margin:0}.remove-button{margin-top:22px;min-height:43px;border:0;background:transparent;font-size:23px;color:var(--muted);padding:0}.add-button{font-size:12px;padding:9px 12px;border:1px solid var(--line);color:var(--accent);background:transparent;border-radius:4px}.summary-panel{position:sticky;top:24px}.summary-inner{padding:30px 26px;background:var(--ink);color:var(--white);border-radius:4px}.summary-inner .eyebrow{color:var(--gold)}.summary-inner h2{font-size:30px}.summary-caption{font-size:12px;color:#c4d3ca;margin:10px 0 24px}.summary-list{margin:0}.summary-list>div{display:flex;justify-content:space-between;gap:15px;padding:11px 0;border-bottom:1px solid #44605b;font-size:13px}.summary-list dd{margin:0;text-align:right;white-space:nowrap}.summary-list dt{color:#e5eee6}.subtotal{font-weight:700}.balance{margin:28px 0 0}.balance-label{font-size:12px;color:#d4dfd8;margin:0 0 7px}.balance-value{font-size:clamp(30px,3vw,43px);line-height:1.15;letter-spacing:-.035em;margin:0;overflow-wrap:anywhere}.balance.shortfall .balance-value{color:#ffc3a9}.interpretation{font-size:13px;color:#e5eee6;margin:18px 0}.completion{font-size:12px;color:#e4c899;line-height:1.6}.summary-actions{margin-top:26px;border-top:1px solid #44605b;padding-top:20px}.primary-button{display:block;width:100%;border:0;background:var(--gold);color:var(--ink);border-radius:4px;padding:13px 17px;font-size:13px;font-weight:700;min-height:44px}.summary-actions p{font-size:10px;text-align:center;color:#c4d3ca;margin:8px 0 0}.error-summary{color:#ffd0bc;font-size:14px;line-height:1.7}.scenario-section{display:grid;grid-template-columns:1fr 1fr;gap:60px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:38px;margin:26px 0 52px;background:#eeefe6}.scenario-section>div>p:not(.eyebrow){font-size:14px;max-width:390px;color:var(--muted)}.scenario-controls label{display:block;font-size:12px;font-weight:700;margin:0 0 7px}.scenario-controls label:not(:first-child){margin-top:17px}.scenario-controls label span{float:right;color:var(--muted);font-weight:400}.scenario-controls input{max-width:100%;font-size:17px}.scenario-controls .input-help{margin:10px 0 20px}.scenario-balance{border-top:1px solid var(--line);padding-top:15px;margin:0;font-size:13px;line-height:1.6}.scenario-balance strong{display:block;font:32px/1.4 Georgia,serif}.scenario-error{color:var(--rust);font-size:13px}.guidance{margin-bottom:50px}.guidance-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;margin:30px 0}.guidance-grid p{font-size:13px;color:var(--muted)}.note-number{display:block;font-size:11px;color:var(--accent);margin-bottom:16px}.guidance details{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0}.guidance summary{cursor:pointer;font-size:13px;font-weight:700;min-height:24px}.guidance details p{font-size:13px;max-width:850px;color:var(--muted)}footer{display:flex;justify-content:space-between;gap:20px;padding:25px 36px;border-top:1px solid var(--line);font-size:10px;color:var(--muted);line-height:1.6}footer>span:first-child{letter-spacing:.12em;font-weight:700}.notice{border:2px solid var(--rust);padding:20px}.sr-only,.skip-link{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:focus{position:fixed;top:12px;left:12px;width:auto;height:auto;margin:0;padding:12px;clip:auto;background:var(--white);z-index:10}
@media(max-width:1000px){.planner-layout{gap:25px;grid-template-columns:minmax(0,1.7fr) minmax(260px,1fr)}.section-heading{flex-direction:column;gap:14px}.toolbar{flex-direction:row;gap:20px}.budget-row{grid-template-columns:minmax(85px,1.2fr) minmax(80px,.8fr) minmax(110px,1fr) 24px;gap:7px}.summary-inner{padding:26px 20px}}
@media(max-width:760px){main{padding:0 20px}.site-header{padding:24px 20px}.wordmark{font-size:15px}.product-label{font-size:9px;max-width:90px;text-align:right;line-height:1.6}.intro{padding:38px 0 26px}.lede{font-size:16px}.privacy-note{padding:15px;margin-bottom:30px}.planner-layout{grid-template-columns:1fr}.summary-panel{position:static}.summary-inner{padding:26px}.section-heading{flex-direction:column}.budget-row{grid-template-columns:minmax(80px,1fr) minmax(112px,1fr) 28px;gap:8px 10px;border-bottom:1px solid #e0e2d9;padding-bottom:17px}.field-name{grid-column:1/3}.field-amount{grid-column:1;grid-row:2}.field-frequency{grid-column:2;grid-row:2}.remove-button{grid-column:3;grid-row:1;margin-top:19px}.field input,.field select{font-size:16px;min-height:46px}.field select{font-size:14px}.scenario-section{grid-template-columns:1fr;gap:24px;margin-top:32px;padding:27px 20px}.guidance-grid{grid-template-columns:1fr;gap:22px}.guidance-grid article{border-bottom:1px solid var(--line);padding-bottom:10px}.guidance-grid article:last-child{border:0}.guidance-grid p{font-size:14px}.guidance h2{font-size:29px}.note-number{margin-bottom:8px}footer{padding:24px 20px;flex-wrap:wrap}footer>span:first-child{width:100%}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
@media print{.toolbar,.add-button,.remove-button,.summary-actions,.scenario-section,.skip-link{display:none!important}main{padding:0}.planner-layout{display:block}.summary-panel{position:static;margin-top:20px}.summary-inner{background:white;color:black;border:1px solid #777}.summary-inner *{color:black!important}.summary-list>div{border-color:#777}.guidance{break-before:page}.site-header,footer{padding:15px 0}.category{break-inside:avoid}.intro{padding:25px 0}h1{font-size:35px}.privacy-note{background:white}}
.field-purpose{grid-column:1/-1;max-width:100%}.field-purpose label,.field-purpose select{font-size:14px}.field-purpose select{min-height:44px}.cost-guidance{margin:0 0 52px;padding-top:10px}.cost-guidance .guidance-intro{max-width:870px;color:var(--muted);font-size:16px}.cost-guidance .target-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:26px 0 10px}.cost-guidance .target-field{min-width:0}.cost-guidance .target-field label{display:block;font-size:14px;font-weight:700;margin-bottom:8px}.cost-guidance .target-field input{background:var(--white);border:1px solid #98aaa4;border-radius:4px;min-height:46px;padding:10px;width:100%;min-width:0;color:var(--ink);font-size:16px}.cost-guidance .target-field input[aria-invalid=true]{border:2px solid var(--rust)}.cost-guidance .target-error{color:var(--rust);font-size:14px;margin:6px 0}.cost-guidance .target-policy,.cost-guidance .guidance-coverage{font-size:14px;color:var(--muted)}.cost-guidance .guidance-pause{background:var(--mint);padding:18px;border-left:3px solid var(--accent);font-size:16px}.cost-guidance .cost-review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:24px 0}.cost-guidance .cost-review-card{background:var(--white);border:1px solid var(--line);padding:24px;min-width:0;border-radius:4px}.cost-guidance .cost-review-card h3{font-size:27px}.cost-guidance .cost-review-card p{font-size:14px;color:var(--muted)}.cost-guidance .review-amounts{margin:20px 0}.cost-guidance .review-amounts>div{border-bottom:1px solid var(--line);padding:10px 0;font-size:14px;display:flex;justify-content:space-between;gap:14px;align-items:baseline}.cost-guidance .review-amounts dd{margin:0;white-space:nowrap;font-weight:700}.cost-guidance .review-amounts dt{min-width:0}.cost-guidance .review-gap{color:var(--accent)}.cost-guidance .review-overlap{background:var(--mint);padding:12px}.cost-guidance .surplus-guidance{border:1px solid var(--line);background:#eeefe6;padding:28px;margin:25px 0}.cost-guidance .surplus-guidance p,.cost-guidance .surplus-guidance li{font-size:15px;line-height:1.7}.cost-guidance .surplus-guidance ul{padding-left:22px}.cost-guidance .surplus-guidance li+li{margin-top:12px}.cost-guidance .education-note{border-top:1px solid var(--line);margin-top:24px;padding-top:20px}.cost-guidance .guidance-sources{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0}.cost-guidance .guidance-sources summary{cursor:pointer;font-size:15px;font-weight:700;min-height:28px}.cost-guidance .guidance-sources p,.cost-guidance .guidance-sources li{font-size:14px;line-height:1.7;overflow-wrap:anywhere}.cost-guidance .guidance-sources li+li{margin-top:10px}
@media(max-width:760px){.cost-guidance .target-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.cost-guidance .cost-review-grid{grid-template-columns:1fr}.cost-guidance .cost-review-card,.cost-guidance .surplus-guidance{padding:20px}.field-purpose{grid-row:3}.cost-guidance h2{font-size:29px}}
@media(max-width:380px){.cost-guidance .target-controls{grid-template-columns:1fr}.cost-guidance .review-amounts>div{display:block}.cost-guidance .review-amounts dd{margin-top:6px}.cost-guidance .cost-review-card,.cost-guidance .surplus-guidance{padding:16px}}
@media print{.cost-guidance .cost-review-card,.cost-guidance .surplus-guidance{break-inside:avoid;background:white}.cost-guidance .cost-review-grid{display:block}.cost-guidance .cost-review-card{margin-bottom:16px}.cost-guidance .target-controls{grid-template-columns:repeat(4,minmax(0,1fr))}}
.allocation-section{--chart-fixed:#245c69;--chart-variable:#d4a24c;--chart-debt:#a94d47;--chart-irregular:#70658c;--chart-savings:#1c7a62;--chart-remaining:#b9c5be;margin:42px 0 36px;padding-top:30px;border-top:1px solid var(--line)}
.chart-intro{max-width:800px;font-size:15px;color:var(--muted)}
.allocation-figure,.target-chart-figure{margin:24px 0;background:var(--white);border:1px solid var(--line);border-radius:6px;padding:30px;min-width:0}
.chart-caption{font:26px/1.2 Georgia,"Times New Roman",serif;letter-spacing:-.025em;color:var(--ink);margin-bottom:25px}
.chart-caption-total{display:block;font:14px/1.6 Arial,Helvetica,sans-serif;letter-spacing:0;color:var(--muted);margin-top:7px;overflow-wrap:anywhere}
.allocation-layout{display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);align-items:center;gap:42px}
.allocation-doughnut{position:relative;width:100%;max-width:300px;aspect-ratio:1;border-radius:50%;background-image:conic-gradient(var(--chart-stops));border:1px solid var(--line)}
.doughnut-center{position:absolute;inset:21%;border-radius:50%;background:var(--white);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;padding:8px;min-width:0}
.doughnut-center span{font-size:12px;line-height:1.3;color:var(--muted);max-width:100%}
.doughnut-center strong{font-size:24px;letter-spacing:-.04em;line-height:1.2;overflow-wrap:anywhere;max-width:100%;font-variant-numeric:tabular-nums}
.allocation-legend{list-style:none;padding:0;margin:0;min-width:0}
.allocation-legend li{display:grid;grid-template-columns:16px minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--line);font-size:14px}
.allocation-legend li:last-child{border-bottom:0}
.chart-swatch{display:inline-block;width:14px;height:14px;border-radius:3px;flex-shrink:0}
.chart-color-fixed{background:var(--chart-fixed)}.chart-color-variable{background:var(--chart-variable)}.chart-color-debt{background:var(--chart-debt)}.chart-color-irregular{background:var(--chart-irregular)}.chart-color-savings{background:var(--chart-savings)}.chart-color-remaining{background:var(--chart-remaining)}
.legend-label{line-height:1.5;min-width:0}
.legend-numbers{display:flex;align-items:flex-end;flex-direction:column;gap:5px;font-variant-numeric:tabular-nums;min-width:0}
.legend-numbers strong{overflow-wrap:anywhere;max-width:100%}
.legend-numbers>span{font-size:12px;color:var(--muted)}
.chart-note,.chart-scale,.chart-coverage{font-size:14px;line-height:1.65;color:var(--muted)}
.chart-note{margin:22px 0 0}
.chart-pause{background:var(--mint);border-left:3px solid var(--accent);padding:18px;font-size:15px;line-height:1.65}
.chart-shortfall{background:#f6e9e3;border-left:3px solid var(--rust);padding:16px;font-size:14px;color:var(--ink);line-height:1.7;margin:25px 0 0}
.bar-key{display:flex;flex-wrap:wrap;gap:12px 25px;margin:0;font-size:13px;color:var(--muted)}
.bar-key>span{display:flex;align-items:center;gap:8px}
.bar-actual{background:#245c69}
.bar-target{background:repeating-linear-gradient(135deg,#aab7d6 0,#aab7d6 4px,#edf0f7 4px,#edf0f7 8px);border:1px solid #687b9f}
.chart-scale{margin:13px 0}
.chart-coverage{margin:18px 0;padding:14px;background:#f1f2eb}
.target-chart-rows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 32px}
.target-chart-group{padding:7px 0 20px;border-bottom:1px solid var(--line);min-width:0}
.bar-group-label{margin:0 0 17px;font-size:17px}
.bar-group-label>span{display:block;color:var(--muted);font-size:12px;margin-top:2px;font-weight:400}
.bar-row+.bar-row{margin-top:15px}
.bar-labels{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:13px;line-height:1.5;margin-bottom:7px}
.bar-labels>span{color:var(--muted);min-width:0}
.bar-labels>strong{font-variant-numeric:tabular-nums;text-align:right;overflow-wrap:anywhere;min-width:0}
.bar-track{height:16px;border-radius:3px;background:#edf0eb;overflow:hidden;border-left:1px solid #98aaa4}
.bar-fill{display:block;width:var(--bar-percent);height:100%;border-radius:0 3px 3px 0}
.bar-fill.bar-target{border-left:0}
.bar-unknown{font-size:12px;color:var(--muted);margin:0;padding:7px 10px;border:1px dashed #98aaa4}
@media(max-width:760px){.allocation-section{margin-top:32px}.allocation-layout{grid-template-columns:1fr;gap:24px}.allocation-doughnut{max-width:280px;margin:auto}.allocation-figure,.target-chart-figure{padding:20px}.chart-caption{font-size:24px}.target-chart-rows{grid-template-columns:1fr;gap:10px}.allocation-legend li{padding:12px 0}.allocation-legend .legend-numbers{font-size:14px}}
@media(max-width:380px){.allocation-figure,.target-chart-figure{padding:16px}.allocation-legend li{grid-template-columns:14px minmax(0,1fr);gap:6px 10px}.legend-numbers{grid-column:2;flex-direction:row;align-items:baseline;justify-content:space-between}.doughnut-center strong{font-size:21px}.doughnut-center span{font-size:11px}.bar-labels{flex-direction:column;align-items:flex-start;gap:2px}.bar-labels>strong{text-align:left}.chart-caption{font-size:23px}}
@media(forced-colors:active){.allocation-doughnut{display:none}.allocation-layout{grid-template-columns:1fr}.chart-swatch{border:1px solid currentColor}.bar-fill{background:Highlight}.bar-target{border:1px dashed currentColor}.bar-track{border:1px solid currentColor}}
@media print{.allocation-figure,.target-chart-group{break-inside:avoid}.allocation-layout{grid-template-columns:220px minmax(0,1fr);gap:25px}.allocation-doughnut{print-color-adjust:exact}.chart-swatch,.bar-fill{print-color-adjust:exact}.target-chart-rows{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Distinguish editable controls against both the field and section backgrounds.
   More-specific invalid-state rules above retain their error borders. */
.field input,.field select,.scenario-controls input,.cost-guidance .target-field input{border-color:#687b77}
/* Keep essential field labels, controls and guidance readable in the standalone
   planner as well as the WordPress adapter. Decorative brand labels stay unchanged. */
.field label,.field select,.input-help,.category-note,.row-error,.quiet-button,.add-button,.primary-button,.sample-label,.summary-actions p,.scenario-controls label,.scenario-error,.scenario-balance,.summary-caption,.summary-list>div,.balance-label,.interpretation,.completion,.privacy-note,.guidance-grid p,.guidance details p,.guidance summary{font-size:14px}
/* Keep secondary download text readable on the dark summary panel. */
.summary-actions .quiet-button{color:var(--gold)}
.restore-plan{margin-top:28px;padding-top:24px;border-top:1px solid #77928b;min-width:0}
.restore-plan h3{font-size:19px;color:inherit;margin:0 0 12px}
.restore-plan p,.restore-plan label{font-size:14px;line-height:1.6;color:inherit}
.restore-plan label{display:block;margin:16px 0 7px;font-weight:700}
.restore-plan input[type=file]{display:block;width:100%;max-width:100%;min-width:0;font-size:14px;line-height:1.6;color:inherit}
.restore-plan input[type=file]::file-selector-button{font:inherit;padding:8px;border:1px solid #77928b;border-radius:4px;background:#f8f5ed;color:#173f35;cursor:pointer;margin-right:8px}
.restore-review{padding:14px;margin-top:15px;border:1px solid #a7bdb6;border-radius:5px;background:#204b40;overflow-wrap:anywhere}
.restore-review[hidden]{display:none}
.restore-review button{display:block;width:100%;margin-top:12px}
.restore-plan .quiet-button{color:var(--gold)}
@media print{.restore-plan{display:none}}

.tool-nav{max-width:1220px;margin:0 auto;padding:16px 36px;display:flex;flex-wrap:wrap;gap:8px 24px;font-size:14px}.tool-nav a{display:inline-flex;align-items:center;min-height:44px}.privacy-note details{margin-top:8px}.privacy-note summary{cursor:pointer;font-weight:650}.privacy-note details p{margin:10px 0 0}@media(max-width:760px){.tool-nav{padding:12px 20px;gap:4px 18px}}@media print{.tool-nav{display:none}}
/* Retirement assumptions and comparisons share the planner's paper/green palette. */
.planner-shortcuts{display:flex;gap:12px 24px;flex-wrap:wrap}.planner-shortcuts a{display:inline-flex;min-height:44px;align-items:center;font-weight:700;color:var(--accent)}
.retirement-section{margin-top:52px;padding-top:38px;border-top:1px solid var(--line);scroll-margin-top:24px}.retirement-section .lede{max-width:850px}.retirement-section p{font-size:14px}.retirement-group{min-width:0;margin:28px 0;border:1px solid var(--line);padding:22px;background:var(--white);border-radius:5px}.retirement-group legend{padding:0 10px;font-weight:700}.retirement-input-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.retirement-field{min-width:0}.retirement-field label{display:block;font-weight:700;font-size:14px;line-height:1.5;margin-bottom:8px}.retirement-field input,.retirement-details select{width:100%;min-width:0;border:1px solid #687b77;border-radius:4px;padding:11px;min-height:44px;background:var(--paper);color:var(--ink)}.retirement-field input[aria-invalid=true]{border:2px solid var(--rust)}.retirement-field .input-help{margin:7px 0;color:var(--muted)}.retirement-seed{padding:0 0 20px}.retirement-seed p{max-width:850px;color:var(--muted);margin:6px 0}.retirement-errors{color:var(--rust);overflow-wrap:anywhere}.retirement-errors li{margin:8px 0;line-height:1.6}.retirement-results-title{margin-top:20px}.retirement-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:24px 0}.retirement-card{border:1px solid var(--line);border-radius:5px;padding:24px;min-width:0;background:var(--white)}.retirement-card h3{font-size:25px}.retirement-base{background:var(--mint);border-top:4px solid var(--accent)}.retirement-card .retirement-rate{color:var(--muted);min-height:44px}.retirement-card .retirement-amount{font-size:clamp(25px,2.5vw,37px);font-weight:700;margin:20px 0 0;line-height:1.3;overflow-wrap:anywhere}.retirement-card .retirement-amount+p{margin:4px 0 22px}.retirement-card dl{font-size:14px;line-height:1.6;margin:0}.retirement-card dl>div{border-top:1px solid var(--line);padding:12px 0}.retirement-card dd{margin:2px 0 0;font-weight:700;overflow-wrap:anywhere}.retirement-empty{grid-column:1/-1;background:var(--mint);padding:24px;border-radius:4px}.retirement-details{margin:24px 0;border-top:1px solid var(--line);padding-top:20px;min-width:0}.retirement-details[hidden]{display:none}.retirement-details summary{cursor:pointer;min-height:44px;font-weight:700}.retirement-details label{display:block;margin:12px 0 8px}.retirement-details select{max-width:280px}.retirement-table-scroll{max-width:100%;overflow-x:auto;margin-top:22px;overscroll-behavior-x:contain}.retirement-table-scroll table{width:100%;min-width:760px;border-collapse:collapse;font-size:14px;font-variant-numeric:tabular-nums}.retirement-table-scroll caption{text-align:left;font-weight:700;padding:12px 0}.retirement-table-scroll th,.retirement-table-scroll td{text-align:right;padding:12px 9px;border-bottom:1px solid var(--line)}.retirement-table-scroll thead{background:var(--mint)}.retirement-table-scroll th:first-child{text-align:left}.retirement-download{margin-top:26px;max-width:700px}.retirement-download .primary-button{max-width:340px;background:var(--accent);color:var(--white)}.retirement-download p{color:var(--muted)}#retirement-status{color:var(--accent);min-height:1.5em}
@media(max-width:900px){.retirement-input-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.retirement-results{grid-template-columns:1fr}.retirement-card .retirement-rate{min-height:0}.retirement-card dl{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}}
@media(max-width:560px){.retirement-input-grid{grid-template-columns:1fr}.retirement-group{padding:18px 14px}.retirement-section .section-heading{flex-direction:column}.retirement-section .toolbar{flex-direction:row;gap:22px}.retirement-card{padding:20px}.retirement-card dl{display:block}.retirement-section h2{font-size:30px}}
@media print{.retirement-card{break-inside:avoid}.retirement-download,.retirement-seed{display:none}.retirement-table-scroll{overflow:visible}.retirement-table-scroll table{min-width:0}.retirement-results{grid-template-columns:1fr}}

.retirement-error-details{border-top:1px solid var(--line);padding:10px 0}.retirement-error-details summary{cursor:pointer;font-weight:700;min-height:44px;align-content:center}

/* Compare exact-ledger scenarios without relying on color alone. */
.retirement-chart-panel{min-width:0;margin:28px 0;padding:26px;border:1px solid var(--line);border-radius:5px;background:var(--white)}
.retirement-chart-panel[hidden]{display:none}
.retirement-chart-panel h3{margin-top:0}
.retirement-chart-figure{margin:20px 0}
.retirement-chart-legend{display:flex;flex-wrap:wrap;gap:12px 24px;list-style:none;margin:0 0 12px;padding:0;font-size:14px}
.retirement-chart-legend li{display:flex;align-items:center;gap:8px}
.retirement-chart-legend svg{flex:none;width:40px;height:16px;overflow:visible}
.retirement-chart-svg{display:block;width:100%;height:320px;touch-action:pan-y}
.retirement-plot-shade{fill:var(--mint)}
.retirement-plot-grid{stroke:var(--line);stroke-width:1}
.retirement-plot-label{fill:var(--ink);font:12px system-ui,sans-serif}
.retirement-plot-retirement{stroke:#687b77;stroke-width:1.5;stroke-dasharray:5 5}
.retirement-plot-guide{stroke:var(--ink);stroke-width:1;stroke-dasharray:2 4}
.retirement-plot-line{fill:none;stroke-width:2.5;stroke-linejoin:round}
.retirement-plot-marker{fill:var(--white);stroke-width:2}
.retirement-series-conservative{stroke:#9a4c2a}
.retirement-series-base{stroke:#1b5f50}
.retirement-series-optimistic{stroke:#425fa1}
.retirement-chart-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:end;max-width:620px;margin-top:24px}
.retirement-chart-controls label{display:block;margin-bottom:7px;font-size:14px;font-weight:700}
.retirement-chart-controls button,.retirement-chart-controls select{width:100%;min-width:0;min-height:44px;padding:10px 8px;border:1px solid #687b77;border-radius:4px;background:var(--paper);color:var(--ink);font-size:16px}
.retirement-chart-controls button{font-weight:650}
.retirement-chart-values table{min-width:560px;table-layout:fixed}
.retirement-chart-values th,.retirement-chart-values td{vertical-align:top;overflow-wrap:anywhere}
.retirement-chart-values th:first-child{width:30%}
.retirement-chart-values:focus-visible{outline:3px solid #a86f23;outline-offset:4px}
.retirement-chart-table-help{display:none}
.retirement-chart-shortfalls{padding-left:20px;font-size:14px;line-height:1.7}
.retirement-chart-shortfalls li{margin:6px 0}
@media(max-width:560px){.retirement-chart-panel{padding:18px 12px}.retirement-chart-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.retirement-chart-controls>div{grid-column:1/-1;grid-row:1}.retirement-chart-controls>button{grid-row:2}.retirement-chart-controls button{font-size:14px}.retirement-chart-legend{gap:10px 16px}.retirement-chart-table-help{display:block;color:var(--muted)}}
@media(forced-colors:active){.retirement-plot-line,.retirement-plot-marker{stroke:CanvasText}.retirement-plot-marker{fill:Canvas}.retirement-plot-shade{fill:Canvas}.retirement-plot-grid,.retirement-plot-retirement,.retirement-plot-guide{stroke:GrayText}.retirement-plot-label{fill:CanvasText}}
@media print{.retirement-chart-controls,.retirement-chart-table-help{display:none}.retirement-chart-panel{padding:12px;background:white}.retirement-chart-figure{break-inside:avoid}.retirement-chart-values{overflow:visible}.retirement-chart-values table{min-width:0}.retirement-chart-svg,.retirement-chart-legend svg{print-color-adjust:exact}}
