.target-projection-chart{display:grid;gap:10px}.target-projection-chart__header{display:grid;gap:2px;text-align:center}.target-projection-chart__subtitle{font-size:12px;font-weight:300;line-height:1.5;font-family:var(--font-sans);color:var(--muted);margin:0}.target-projection-chart__loader{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:1;pointer-events:none}.target-projection-chart__tooltip{display:grid;gap:7px;min-width:220px;padding:11px;border-radius:12px;background:var(--surface);color:var(--text);border:1px solid color-mix(in oklab,var(--text) 16%,transparent);box-shadow:0 12px 30px #0000001f}.target-projection-chart__tooltip-muted{color:var(--muted)}.target-projection-chart__tooltip-row{display:flex;justify-content:space-between;gap:14px;align-items:baseline}.target-projection-chart__tooltip-row b{font-variant-numeric:tabular-nums;text-align:right}@media(max-width:520px){.target-projection-chart .recharts-legend-wrapper{font-size:12px}}.retirement-summary{--retirement-state: var(--chart-profit);display:grid;gap:14px;padding:14px}.retirement-summary--runs-out{--retirement-state: var(--chart-loss)}.retirement-summary--lasts{--retirement-state: var(--chart-profit)}.retirement-summary__top{position:relative;display:flex;justify-content:center;min-height:40px;padding:0 44px}.retirement-summary__header{display:grid;justify-items:center;gap:4px;text-align:center}.retirement-summary__eyebrow{display:flex;justify-content:center}.retirement-summary__status{font-size:12px;font-weight:700;line-height:1.5;font-family:var(--font-sans);display:inline-flex;align-items:center;min-height:28px;padding:4px 10px;border-radius:999px;color:var(--retirement-state);background:color-mix(in oklab,var(--retirement-state) 12%,transparent);border:1px solid color-mix(in oklab,var(--retirement-state) 30%,transparent)}.retirement-summary__title{font-size:18px;font-weight:700;line-height:1.5;font-family:var(--font-sans);margin:0}.retirement-summary__subtitle{font-size:12px;font-weight:300;line-height:1.5;font-family:var(--font-sans);color:var(--muted);max-width:62ch;margin:0}.retirement-summary__action{display:flex;align-items:flex-start;justify-content:flex-end;position:absolute;top:0;right:0}.retirement-summary__hero{display:grid;grid-template-columns:minmax(220px,.82fr) minmax(0,1.18fr);gap:14px;align-items:stretch;padding:14px;border-radius:14px;border:1px solid color-mix(in oklab,var(--retirement-state) 25%,transparent);background:linear-gradient(135deg,color-mix(in oklab,var(--retirement-state) 12%,transparent),color-mix(in oklab,var(--surface) 96%,transparent) 52%)}.retirement-summary__gap{display:grid;align-content:center;gap:6px;min-width:0;padding-right:14px;border-right:1px solid color-mix(in oklab,var(--text) 10%,transparent)}.retirement-summary__gap span,.retirement-summary__gap p{font-size:12px;font-weight:300;line-height:1.5;font-family:var(--font-sans);color:var(--muted);margin:0}.retirement-summary__gap strong{font-size:18px;font-weight:700;line-height:1.5;font-family:var(--font-sans);color:var(--retirement-state);line-height:1.1;overflow-wrap:anywhere}.retirement-summary__meter-block,.retirement-summary__income{display:grid;align-content:center;gap:10px;min-width:0}.retirement-summary__meter-header,.retirement-summary__section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:14px}.retirement-summary__meter-header span,.retirement-summary__section-heading span{color:var(--muted)}.retirement-summary__meter-header strong,.retirement-summary__section-heading strong{font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.retirement-summary__meter,.retirement-summary__income-meter{height:12px;overflow:hidden;border-radius:999px;background:color-mix(in oklab,var(--text) 9%,transparent)}.retirement-summary__meter span,.retirement-summary__income-meter span{display:block;width:var(--meter-width, 0%);height:100%;min-width:3px;border-radius:inherit;background:linear-gradient(90deg,var(--chart-neutral),var(--retirement-state))}.retirement-summary__meter-values,.retirement-summary__income-grid,.retirement-summary__action-strip,.retirement-summary__details{display:grid;gap:10px}.retirement-summary__meter-values,.retirement-summary__income-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.retirement-summary__meter-values span,.retirement-summary__income-grid div,.retirement-summary__action-strip div{display:grid;gap:2px;min-width:0}.retirement-summary__meter-values span,.retirement-summary__income-grid span,.retirement-summary__action-strip span,.retirement-summary dt{color:var(--muted)}.retirement-summary__meter-values b,.retirement-summary__income-grid b,.retirement-summary__action-strip strong,.retirement-summary dd{font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.retirement-summary__income{padding:12px 0;border-top:1px solid color-mix(in oklab,var(--text) 10%,transparent);border-bottom:1px solid color-mix(in oklab,var(--text) 10%,transparent)}.retirement-summary__action-strip{grid-template-columns:repeat(2,minmax(0,1fr));padding-bottom:2px}.retirement-summary__action-strip div{padding-left:12px;border-left:3px solid color-mix(in oklab,var(--retirement-state) 55%,transparent)}.retirement-summary__details{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin:0}.retirement-summary__detail-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;min-width:0;padding:12px;border-radius:12px;background:color-mix(in oklab,var(--surface) 96%,transparent);border:1px solid color-mix(in oklab,var(--text) 8%,transparent);box-shadow:0 4px 12px #0000000a}.retirement-summary dt,.retirement-summary dd{margin:0}.retirement-summary dd{text-align:right}@media(max-width:1100px){.retirement-summary__hero{grid-template-columns:1fr}.retirement-summary__gap{padding-right:0;padding-bottom:12px;border-right:0;border-bottom:1px solid color-mix(in oklab,var(--text) 10%,transparent)}}@media(max-width:620px){.retirement-summary__top{justify-content:flex-start;padding:0 40px 0 0}.retirement-summary__header{justify-items:start;text-align:left}.retirement-summary__hero{padding:12px}.retirement-summary__meter-values,.retirement-summary__income-grid,.retirement-summary__action-strip{grid-template-columns:1fr}.retirement-summary__detail-row{align-items:flex-start}.retirement-summary dd{text-align:left}}.retirement-table{padding:12px}.retirement-table__top{display:grid;grid-template-columns:32px 1fr 32px;align-items:center;margin-bottom:8px}.retirement-table__title{font-size:18px;font-weight:700;line-height:1.5;font-family:var(--font-sans);margin:0;text-align:center}.retirement-table__scroll{border-radius:10px}.retirement-table__viewport{overflow:auto}.retirement-table__table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;table-layout:auto}.retirement-table__head th{position:sticky;top:0;z-index:1;background:var(--surface);text-align:center;border-bottom:1px solid #e5e7eb;padding-block:8px;padding-inline:6px;white-space:nowrap}.retirement-table__head th:first-child{text-align:left}.retirement-table__body .retirement-table__row:nth-child(2n){background:#00000005}.retirement-table__cell{padding-block:8px;padding-inline:6px;border-bottom:1px solid #f2f2f2;vertical-align:middle}.retirement-table__number{text-align:center;white-space:nowrap;font-variant-numeric:tabular-nums}#retirementCalculatorResult,#retirementCalculatorSummary{scroll-margin-top:80px}.retirement-calculator-page__title{font-size:18px;font-weight:700;line-height:1.5;font-family:var(--font-sans);margin-bottom:12px}.retirement-calculator-page__top-row{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;align-items:flex-start}.retirement-calculator-page__top-row--with-ad{grid-template-columns:minmax(0,7fr) minmax(0,3fr)}.retirement-calculator-page__inputs,.retirement-calculator-page__top-ad{min-width:0}.retirement-calculator-page__top-ad{display:flex;align-items:stretch;min-height:300px}.retirement-calculator-page__top-ad .ad-slot{width:100%;min-height:100%;margin:0}.retirement-calculator-page__results{display:flex;flex-direction:column;gap:16px}.retirement-calculator-page__col{display:contents}.retirement-calculator-page__chart{order:2}.retirement-calculator-page__summary{order:1}.retirement-calculator-page__table{order:3}.retirement-calculator-page__summary,.retirement-calculator-page__chart,.retirement-calculator-page__table{min-width:0}.retirement-calculator-page__table,.retirement-calculator-page__chart .target-projection-chart{width:100%}.retirement-calculator-page__table .retirement-table{min-width:0}@media(min-width:760px){.retirement-calculator-page__results{flex-direction:row;flex-wrap:wrap;align-items:flex-start}.retirement-calculator-page__col{display:flex;flex-direction:column;gap:16px;flex:1 1 0;min-width:0}.retirement-calculator-page__col--left{order:1}.retirement-calculator-page__col--right{order:2}.retirement-calculator-page__chart,.retirement-calculator-page__summary{order:1}.retirement-calculator-page__table{order:3;flex:0 0 100%}}@media(max-width:760px){.retirement-calculator-page__top-row,.retirement-calculator-page__top-row--with-ad{grid-template-columns:1fr;gap:12px;margin-bottom:12px}.retirement-calculator-page__inputs,.retirement-calculator-page__top-ad{width:100%}}.retirement-extras{grid-column:1/-1;display:grid;gap:12px}.retirement-extras__top{display:flex;align-items:center;justify-content:space-between;gap:12px}.retirement-extras__title{font-size:16px;font-weight:700;line-height:1.5;font-family:var(--font-sans);margin:0}.retirement-extras__grid{display:grid;gap:10px;padding:12px;border-radius:12px;border:1px solid color-mix(in oklab,var(--text) 10%,transparent);background:color-mix(in oklab,var(--surface) 96%,transparent)}.retirement-extras__row{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.9fr) minmax(170px,.8fr) minmax(190px,.9fr) auto;gap:10px;align-items:end}.retirement-extras__row:not(:last-child){padding-bottom:12px;border-bottom:1px solid color-mix(in oklab,var(--text) 12%,transparent)}.retirement-extras__actions{display:flex;align-items:center;justify-content:flex-end;padding-bottom:4px}.retirement-extras__note{font-size:12px;font-weight:300;line-height:1.5;font-family:var(--font-sans);color:var(--muted)}@media(max-width:1100px){.retirement-extras__row{grid-template-columns:1fr}.retirement-extras__actions{justify-content:flex-end}}
