.retirement-page:has(.retirement-age-page){max-width:1320px}.retirement-age-page{gap:28px;max-width:none;display:grid}.app-shell:has(.retirement-age-page) .app-content{background:radial-gradient(circle at 12% 0%, #b8d6c673, transparent 28%), radial-gradient(circle at 92% 8%, #f9d9c947, transparent 24%), linear-gradient(180deg, var(--canvas) 0%, var(--canvas-deep) 100%)}.retirement-age-page .page-header h1{color:var(--forest);letter-spacing:-.045em;font-size:clamp(2.1rem,3vw,2.7rem);font-weight:800}.retirement-age-page .eyebrow{color:var(--emerald);letter-spacing:.08em;text-transform:uppercase;font-weight:800}.retirement-page .retirement-age-page .calculator-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:start;gap:22px}.retirement-age-page .card{border-radius:var(--radius-surface);background:linear-gradient(#fbfaf4 0%,#f6f3ea 100%);border:0;box-shadow:0 10px 28px #0f3b2e0f}.retirement-age-page .section-heading h2{color:var(--forest);letter-spacing:-.03em;font-size:1.35rem;font-weight:750}.retirement-age-page .step{color:var(--emerald);letter-spacing:.12em;text-transform:uppercase;font-size:.72rem;font-weight:800}.retirement-age-page .fields{grid-template-columns:1fr;gap:22px;display:grid}.retirement-age-page .plan-group{border:0;border-top:1px solid #0f3b2e14;grid-template-columns:1fr 1fr;gap:14px 18px;min-width:0;margin:0;padding:18px 0 20px;display:grid}.retirement-age-page .plan-group:first-of-type{border-top:0;padding-top:0}.retirement-age-page .plan-group-lifestyle{border-bottom:0;padding-bottom:0}.retirement-age-page .plan-group legend{color:var(--emerald);letter-spacing:.1em;text-transform:uppercase;grid-column:1/-1;margin-bottom:4px;padding:0;font-size:.72rem;font-weight:800}.retirement-age-page .field{grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:10px;display:grid}.retirement-age-page .field-cash,.retirement-age-page .field-spending,.retirement-age-page .field label,.retirement-age-page .input-wrap,.retirement-age-page .field-help,.retirement-age-page .field-error{grid-column:1/-1}.retirement-age-page .field label{min-height:0;color:var(--forest);grid-column:1}.retirement-age-page .field-source-compact{grid-area:1/2;margin:0}.retirement-age-page .field-source-chip{color:var(--forest-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.65rem;font-weight:800}.retirement-age-page .field-help{max-width:none;color:var(--forest-muted);margin-top:4px;font-size:.75rem}.retirement-age-page .input-wrap{background:#ffffffb8;border:0;box-shadow:inset 0 0 0 1px #0f3b2e14}.retirement-age-page .field-source{color:var(--forest-muted);letter-spacing:.01em;font-size:.7rem}.retirement-age-page .retirement-spending-context{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.retirement-age-page .calculate-button{border-radius:var(--radius-control);width:fit-content;min-width:220px;box-shadow:0 10px 22px #0e6a4c2e}.retirement-age-page .retirement-calculator-actions{align-items:flex-start;gap:12px;margin-top:22px;display:flex}.retirement-age-page .retirement-calculator-actions .calculate-button{flex:none;margin-top:0}.retirement-age-page .retirement-plan-save{border-top:1px solid #0f3b2e14}.retirement-age-page .retirement-plan-save-inline{border-top:0;flex:260px;gap:6px;min-width:0;margin-top:0;padding-top:0}.retirement-age-page .retirement-plan-save-button{color:var(--emerald);background:0 0;box-shadow:inset 0 0 0 1.5px #0e6a4c73}.retirement-age-page .retirement-plan-save-button:disabled{cursor:wait;opacity:.65}.retirement-age-page .result-card{background:radial-gradient(circle at 88% 12%,#f3d48a38,#0000 12rem),linear-gradient(160deg,#f8f4ea 0%,#e7f3ec 55%,#d7eadf 100%);position:relative;overflow:hidden}.retirement-age-page .retirement-outlook-art-slot{pointer-events:none;height:132px;margin:14px 0 0;position:relative;overflow:hidden}.retirement-age-page .retirement-outlook-art{pointer-events:none;width:100%;height:100%;display:block}.retirement-age-page .success-result,.retirement-age-page .section-heading,.retirement-age-page .status,.retirement-age-page .liability-retirement-disclosure{z-index:1;position:relative}.retirement-age-page .result-age{color:var(--forest);letter-spacing:-.06em;margin:0;font-size:clamp(4.2rem,7vw,6.4rem);font-weight:800;line-height:.9}.retirement-age-page .result-label{color:var(--forest);letter-spacing:.04em;text-transform:none;margin-top:8px;font-size:.95rem}.retirement-age-page .retirement-spending-hero{gap:4px;margin-top:18px;display:grid}.retirement-age-page .retirement-spending-kicker{color:var(--emerald);letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:800}.retirement-age-page .retirement-spending-figure{color:var(--forest);letter-spacing:-.045em;font-variant-numeric:tabular-nums;margin:0;font-size:clamp(2rem,3vw,2.75rem);font-weight:800}.retirement-age-page .retirement-spending-figure span{letter-spacing:-.03em;font-size:.55em;font-weight:700}.retirement-age-page .retirement-lifestyle-target{max-width:28rem;color:var(--forest-muted);margin:4px 0 0;font-size:.95rem;line-height:1.45}.retirement-age-page .retirement-inflation-amount{color:var(--forest);letter-spacing:-.02em;margin:6px 0 0;font-size:1.15rem;font-weight:750}.retirement-age-page .retirement-inflation-note{max-width:28rem;color:var(--forest-muted);margin:6px 0 0;font-size:.82rem;line-height:1.45}.retirement-age-page .retirement-inflation-context{border-top:1px solid #0f3b2e1a;margin-top:16px;padding-top:14px}.retirement-age-page .retirement-spending-caption,.retirement-age-page .bridge-explanation{color:var(--forest-muted);background:0 0;margin:0;padding:0;font-size:.9rem;line-height:1.45}.retirement-age-page .retirement-spending-context{background:0 0;border:0;margin-top:8px;display:block}.retirement-age-page .retirement-spending-context>div{background:0 0;padding:0}.retirement-age-page .retirement-spending-context dt,.retirement-age-page .retirement-spending-context dd{color:var(--forest-muted);font-size:.875rem;font-weight:550;display:inline}.retirement-age-page .retirement-spending-context dd:before{content:" "}.retirement-age-page .retirement-outlook-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:22px 0 0;display:grid}.retirement-age-page .retirement-outlook-metrics>div{z-index:1;border-radius:var(--radius-nested);background:#fffcf7eb;min-width:0;padding:12px 12px 10px;position:relative}.retirement-age-page .retirement-outlook-metrics dt{color:var(--forest-muted);margin:0 0 6px;font-size:.72rem;font-weight:700;line-height:1.3}.retirement-age-page .retirement-outlook-metrics dd{color:var(--forest);letter-spacing:-.03em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:0;font-size:1.05rem;font-weight:800}.retirement-age-page .retirement-funding-details{z-index:1;margin-top:2px;position:relative}.retirement-age-page .retirement-funding-details summary{color:var(--emerald);cursor:pointer;font-weight:750}.retirement-age-page .retirement-funding-details summary:focus-visible{outline:2px solid var(--emerald);outline-offset:3px}.retirement-age-page .retirement-bridge-path,.retirement-age-page .summary{margin-top:14px}.retirement-age-page .liability-retirement-disclosure{border-radius:var(--radius-nested);color:var(--forest);background:#f9d9c973;margin-top:18px;padding:12px 14px}.retirement-age-page .assumptions-card{box-shadow:none;background:#fbfaf4cc}.retirement-age-page .assumptions-content{gap:24px;display:grid}.retirement-age-page .retirement-test-assumptions,.retirement-age-page .retirement-model-assumptions{min-width:0}.retirement-age-page .retirement-model-assumptions{border-top:1px solid #0f3b2e14;padding-top:22px}.retirement-age-page .assumptions-kicker{color:var(--emerald);letter-spacing:.1em;text-transform:uppercase;margin:0 0 10px;font-size:.72rem;font-weight:800}.retirement-age-page .retirement-test-assumptions>p:not(.assumptions-kicker){max-width:52rem;color:var(--forest-muted);margin:0 0 8px;font-size:.82rem;line-height:1.45}.retirement-age-page .retirement-assumption-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 20px;margin-top:18px;display:grid}.retirement-age-page .retirement-assumption-field{align-content:start;gap:6px;min-width:0;display:grid}.retirement-age-page .retirement-assumption-field label{min-height:2.4em;color:var(--forest);font-size:.8rem;font-weight:650;line-height:1.25}.retirement-age-page .retirement-assumption-field .input-wrap{width:100%}.retirement-age-page .retirement-assumption-field .field-source-compact{grid-area:auto}.retirement-age-page .retirement-assumption-field .field-help,.retirement-age-page .retirement-assumption-field .field-error{margin:0;font-size:.72rem}.retirement-age-page .reset-assumptions-button{color:var(--emerald);cursor:pointer;background:0 0;border:1px solid #0e6a4c61;border-radius:9px;margin-top:16px;padding:9px 13px;font-size:.82rem;font-weight:750}.retirement-age-page .reset-assumptions-button:hover{background:var(--accent-soft)}.retirement-age-page .reset-assumptions-button:focus-visible{outline:2px solid var(--emerald);outline-offset:2px}.retirement-age-page .retirement-model-assumptions .assumptions-list{grid-template-columns:repeat(6,minmax(0,1fr))}.retirement-age-page .retirement-model-assumptions .assumptions-list>div:nth-child(-n+3){grid-column:span 2}.retirement-age-page .retirement-model-assumptions .assumptions-list>div:nth-child(n+4){grid-column:span 3}.retirement-age-page .projection-disclaimer{color:var(--forest-muted);font-size:.8rem}@media (max-width:1100px){.retirement-page .retirement-age-page .calculator-grid,.retirement-age-page .retirement-outlook-metrics,.retirement-age-page .plan-group{grid-template-columns:1fr}.retirement-age-page .calculate-button,.retirement-age-page .retirement-plan-save-button{width:100%}.retirement-age-page .retirement-calculator-actions{flex-direction:column}.retirement-age-page .retirement-plan-save-inline{flex-basis:auto;width:100%}.retirement-age-page .retirement-assumption-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.retirement-age-page .retirement-outlook-art-slot{height:104px}}@media (max-width:620px){.retirement-age-page .retirement-assumption-fields,.retirement-age-page .retirement-model-assumptions .assumptions-list{grid-template-columns:1fr}.retirement-age-page .retirement-model-assumptions .assumptions-list>div{grid-column:auto}.retirement-age-page .retirement-assumption-field label{min-height:0}.retirement-age-page .retirement-outlook-art-slot{display:none}.retirement-age-page .result-age{font-size:4rem}}@media (prefers-reduced-motion:reduce){.retirement-age-page .calculate-button,.retirement-age-page .retirement-plan-save-button{transition:none}}
