:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#f4f6f8;--fg:#161a1f;--muted:#5b6470;--border:#dde2e8;--surface-1:#fff;--surface-2:#eef1f4;--accent:#0e9384;--accent-soft:#14b8a6;--accent-fg:#fff;--good:#15803d;--warn:#b45309;--bad:#b91c1c;--chart-1:#0e9384;--chart-2:#6366f1;--chart-3:#d97706;--chart-4:#db2777;--chart-5:#64748b;--radius:10px;--shadow-card:0 1px 2px #0f172a0f, 0 4px 16px #0f172a0f;font-family:system-ui,Segoe UI,Roboto,sans-serif;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#0e1116;--fg:#eef1f4;--muted:#97a1ad;--border:#283038;--surface-1:#161b22;--surface-2:#1d242d;--accent:#2dd4bf;--accent-soft:#14b8a6;--accent-fg:#04211c;--good:#4ade80;--warn:#fbbf24;--bad:#f87171;--chart-1:#2dd4bf;--chart-2:#818cf8;--chart-3:#fbbf24;--chart-4:#f472b6;--chart-5:#94a3b8;--shadow-card:0 1px 2px #0006, 0 4px 18px #00000059}}*{box-sizing:border-box}body{background:var(--bg);min-height:100vh;color:var(--fg);margin:0}code{background:color-mix(in srgb, var(--fg) 8%, transparent);border-radius:4px;padding:.1em .35em;font-size:.95em}.app-shell{max-width:52rem;margin:0 auto;padding:0 1.25rem 3rem}.app-header{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 0;display:flex}.brand{color:var(--fg);font-size:1.15rem;font-weight:700;text-decoration:none}.brand:hover{text-decoration:underline}.nav{flex-wrap:wrap;gap:.5rem;display:flex}.nav-link{color:var(--muted);border-radius:6px;padding:.35rem .65rem;text-decoration:none}.nav-link:hover{color:var(--fg);background:color-mix(in srgb, var(--fg) 6%, transparent)}.nav-link--active{color:var(--fg);background:color-mix(in srgb, var(--fg) 10%, transparent);font-weight:600}.app-main{padding-top:1.75rem}.page h1{margin:0 0 .75rem;font-size:1.75rem;line-height:1.2}.lede{color:var(--muted);max-width:42em;margin:0 0 1.25rem;font-size:1.05rem}.link-list{margin:0 0 1.5rem;padding-left:1.25rem}.link-list a{color:var(--accent)}.muted{color:var(--muted)}.small{font-size:.9rem}.wizard{max-width:36rem}.wizard.wizard-wide{max-width:52rem}.wizard-progress{color:var(--muted);margin:0 0 1rem;font-size:.9rem}.wizard-fieldset{border:1px solid var(--border);border-radius:8px;margin:0 0 1.25rem;padding:1rem 1.1rem 1.25rem}.wizard-fieldset legend{padding:0 .35rem;font-weight:600}.field{text-align:left;flex-direction:column;gap:.35rem;margin-top:.5rem;display:flex}.field input[type=number]{border:1px solid var(--border);background:var(--bg);max-width:8rem;color:var(--fg);border-radius:6px;padding:.45rem .5rem;font-size:1rem}.field-hint{color:var(--muted);text-align:left;margin:.35rem 0 0;font-size:.88rem}.radio-stack{flex-direction:column;gap:.5rem;margin-top:.5rem;display:flex}.radio-option{text-align:left;cursor:pointer;align-items:flex-start;gap:.5rem;padding:.35rem 0;display:flex}.radio-option input{margin-top:.2rem}.wizard-actions{flex-wrap:wrap;gap:.75rem;margin-top:1.5rem;display:flex}.btn{cursor:pointer;border:1px solid var(--border);border-radius:8px;padding:.5rem 1rem;font-size:1rem}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--accent);color:var(--accent-fg);border-color:#0000}.btn-secondary{color:var(--fg);background:0 0}.disclaimer-box{border:1px solid var(--border);background:color-mix(in srgb, var(--fg) 4%, transparent);text-align:left;border-radius:8px;margin-bottom:1.5rem;padding:.85rem 1rem}.disclaimer-box p{margin:0;font-size:.92rem}.results-hero{text-align:left;margin-bottom:1.5rem}.results-hero h2{margin:0 0 .5rem;font-size:1.35rem}.results-central{margin:0 0 .5rem;font-size:1.15rem}.results-detail{text-align:left;margin-bottom:1rem}.results-detail h3{margin:0 0 .5rem;font-size:1.1rem}.results-list{margin:0;padding-left:1.2rem}.results-list li{margin-bottom:.35rem}.results-list a{color:var(--accent)}.ss-grid{text-align:left;grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:1rem 1.25rem;margin-bottom:1rem;display:grid}.ss-grid .field.field-span-full{grid-column:1/-1}.ss-pia-mode{margin-bottom:.25rem}.field-label-block{font-size:.95rem;font-weight:600}.inline-radio-row{flex-direction:column;gap:.25rem;display:flex}.nested-field{margin-top:.5rem}.earnings-textarea{border:1px solid var(--border);background:var(--bg);width:100%;min-height:10rem;color:var(--fg);resize:vertical;border-radius:6px;margin-top:.35rem;padding:.5rem .6rem;font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:.9rem;line-height:1.45}.pia-advanced{text-align:left;margin:.75rem 0 1rem}.pia-advanced summary{cursor:pointer;color:var(--accent);font-weight:600}.claim-grid{grid-template-columns:repeat(auto-fill,minmax(7.5rem,1fr));gap:.35rem .75rem;margin-top:.5rem;display:grid}.chart-section{text-align:left;margin-top:2rem}.chart-wrap{width:100%;min-height:360px}.longevity-hint{background:color-mix(in srgb, var(--accent) 12%, transparent);border:1px solid color-mix(in srgb, var(--accent) 35%, var(--border));text-align:left;border-radius:8px;margin-bottom:1rem;padding:.75rem 1rem;font-size:.95rem}.longevity-hint a{color:var(--accent)}.error-text{color:#b91c1c;text-align:left;margin-top:.75rem}@media (prefers-color-scheme:dark){.error-text{color:#fca5a5}}.data-table{border-collapse:collapse;width:100%;margin:.5rem 0 1.25rem;font-size:.95rem}.data-table th,.data-table td{border:1px solid var(--border);text-align:left;padding:.45rem .65rem}.data-table th{background:color-mix(in srgb, var(--fg) 6%, transparent)}.error-boundary-fallback{max-width:36rem;margin:0 auto;padding:1.5rem 1rem}.error-boundary-stack{border:1px solid var(--border);background:color-mix(in srgb, var(--fg) 5%, transparent);white-space:pre-wrap;border-radius:6px;padding:.75rem;font-size:.85rem;overflow:auto}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.wizard-step-title{margin:0 0 .5rem;font-size:1.15rem;font-weight:600}.planner-shell{max-width:80rem;margin:0 auto}.planner-money,.kpi-value,.year-table td,.compare-table td{font-variant-numeric:tabular-nums}.plan-grid{grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:1rem;margin:1.25rem 0;display:grid}.plan-card{text-align:left;background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-card);cursor:pointer;color:var(--fg);font:inherit;flex-direction:column;gap:.3rem;padding:1rem 1.1rem;transition:border-color .12s,transform .12s;display:flex}.plan-card:hover{border-color:var(--accent);transform:translateY(-1px)}.plan-card-name{font-size:1.05rem;font-weight:650}.plan-card-meta{color:var(--muted);font-size:.85rem}.picker-actions{flex-wrap:wrap;gap:.6rem;margin:1rem 0 .5rem;display:flex}.import-callout{border:1px solid color-mix(in srgb, var(--accent) 40%, var(--border));background:color-mix(in srgb, var(--accent) 10%, var(--surface-1));border-radius:var(--radius);text-align:left;margin:1rem 0;padding:.85rem 1.1rem}.workspace{text-align:left;grid-template-columns:13.5rem minmax(0,1fr);align-items:start;gap:1.75rem;display:grid}@media (width<=880px){.workspace{grid-template-columns:minmax(0,1fr)}}.workspace-rail{flex-direction:column;gap:.15rem;display:flex;position:sticky;top:.75rem}@media (width<=880px){.workspace-rail{flex-flow:wrap;gap:.25rem;position:static}}.rail-group{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:.9rem 0 .25rem;font-size:.72rem;font-weight:700}@media (width<=880px){.rail-group{flex-basis:100%;margin:.4rem 0 .1rem}}.rail-link{color:var(--muted);border-radius:8px;padding:.42rem .7rem;font-size:.95rem;text-decoration:none;display:block}.rail-link:hover{color:var(--fg);background:color-mix(in srgb, var(--fg) 6%, transparent)}.rail-link--active{color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent);font-weight:650}.workspace-head{flex-wrap:wrap;align-items:baseline;gap:.4rem 1rem;margin-bottom:.75rem;display:flex}.workspace-head h1{margin:0;font-size:1.45rem}.plan-name-input{font:inherit;color:var(--fg);background:0 0;border:1px solid #0000;border-radius:8px;max-width:24rem;margin-left:-.4rem;padding:.1rem .4rem;font-size:1.45rem;font-weight:700}.plan-name-input:hover,.plan-name-input:focus{border-color:var(--border);background:var(--surface-1)}.save-state{color:var(--muted);font-size:.85rem}.save-state--error{color:var(--bad)}.kpi-bar{z-index:5;background:color-mix(in srgb, var(--surface-1) 88%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-card);grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.75rem;margin-bottom:1.25rem;padding:.7rem .9rem;display:grid;position:sticky;top:0}.kpi{flex-direction:column;gap:.05rem;min-width:0;display:flex}.kpi-label{letter-spacing:.07em;text-transform:uppercase;color:var(--muted);white-space:nowrap;font-size:.72rem;font-weight:700}.kpi-value{white-space:nowrap;font-size:clamp(1.15rem,2.2vw,1.5rem);font-weight:700;line-height:1.15}.kpi-value--good{color:var(--good)}.kpi-value--warn{color:var(--warn)}.kpi-value--bad{color:var(--bad)}.kpi-sub{color:var(--muted);white-space:nowrap;font-size:.78rem}.card{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-card);margin-bottom:1.25rem;padding:1.1rem 1.25rem 1.25rem}.card>h2{margin:0 0 .25rem;font-size:1.15rem}.card>h3{margin:1rem 0 .25rem;font-size:1rem}.card-hint{color:var(--muted);margin:0 0 .85rem;font-size:.9rem}.form-grid{grid-template-columns:repeat(auto-fill,minmax(11.5rem,1fr));gap:.8rem 1.1rem;display:grid}.form-grid .field{margin-top:0}.field-label{font-size:.85rem;font-weight:600}.field input,.field select{border:1px solid var(--border);background:var(--surface-1);color:var(--fg);border-radius:8px;width:100%;max-width:100%;padding:.45rem .55rem;font-size:.98rem}.field input:focus-visible,.field select:focus-visible,.btn:focus-visible,.rail-link:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.input-affix{border:1px solid var(--border);background:var(--surface-1);border-radius:8px;align-items:center;display:flex;overflow:hidden}.input-affix:focus-within{outline:2px solid var(--accent);outline-offset:1px}.input-affix>span{color:var(--muted);background:var(--surface-2);align-self:stretch;align-items:center;padding:0 .55rem;font-size:.9rem;display:flex}.input-affix>input{flex:1;min-width:0;background:0 0!important;border:none!important;outline:none!important}.item-row{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);margin-bottom:.8rem;padding:.9rem 1rem}.item-row-head{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.6rem;display:flex}.item-row-title{align-items:center;gap:.5rem;font-weight:650;display:flex}.type-chip{letter-spacing:.04em;text-transform:uppercase;background:color-mix(in srgb, var(--accent) 14%, transparent);color:var(--accent);border-radius:999px;padding:.12rem .5rem;font-size:.72rem;font-weight:700}.btn-ghost{color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;padding:.3rem .6rem;font-size:.88rem}.btn-ghost:hover{color:var(--bad);background:color-mix(in srgb, var(--bad) 10%, transparent)}.btn-small{padding:.35rem .7rem;font-size:.88rem}.add-row{flex-wrap:wrap;gap:.5rem;margin-top:.5rem;display:flex}.issue-list{color:var(--bad);margin:.75rem 0 0;padding-left:1.2rem;font-size:.9rem}.callout{border-radius:var(--radius);text-align:left;border:1px solid;margin:.9rem 0;padding:.75rem 1rem;font-size:.92rem}.callout--warn{border-color:color-mix(in srgb, var(--warn) 45%, var(--border));background:color-mix(in srgb, var(--warn) 10%, var(--surface-1))}.callout--info{border-color:color-mix(in srgb, var(--accent) 40%, var(--border));background:color-mix(in srgb, var(--accent) 8%, var(--surface-1))}.callout ul{margin:.25rem 0 0;padding-left:1.2rem}.results-toolbar{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.seg{border:1px solid var(--border);background:var(--surface-1);border-radius:999px;display:inline-flex;overflow:hidden}.seg button{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:none;padding:.32rem .85rem;font-size:.88rem}.seg button[aria-pressed=true]{background:var(--accent);color:var(--accent-fg);font-weight:600}.chart-card{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-card);margin-bottom:1.25rem;padding:1rem 1.1rem .6rem}.chart-card h2{margin:0 0 .15rem;font-size:1.05rem}.chart-card .card-hint{margin-bottom:.5rem}.year-table-wrap{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-1);overflow-x:auto}.year-table{border-collapse:collapse;white-space:nowrap;width:100%;font-size:.86rem}.year-table th,.year-table td{border-bottom:1px solid var(--border);text-align:right;padding:.4rem .7rem}.year-table th:first-child,.year-table td:first-child{text-align:left;background:var(--surface-1);font-weight:600;position:sticky;left:0}.year-table thead th{background:var(--surface-2);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:.78rem;position:sticky;top:0}.year-table tbody tr:hover td{background:color-mix(in srgb, var(--accent) 6%, transparent)}.row-depleted td{color:var(--bad)}.mc-hero{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:1.5rem;margin-bottom:1.25rem;display:grid}@media (width<=720px){.mc-hero{grid-template-columns:minmax(0,1fr)}}.success-gauge{width:11rem;height:11rem;position:relative}.success-gauge svg{transform:rotate(-90deg)}.success-gauge-label{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.success-gauge-value{font-variant-numeric:tabular-nums;font-size:2.1rem;font-weight:750;line-height:1}.success-gauge-caption{color:var(--muted);margin-top:.3rem;font-size:.78rem}.progress-track{background:var(--surface-2);border-radius:999px;height:6px;margin:.6rem 0;overflow:hidden}.progress-fill{background:linear-gradient(90deg, var(--accent), var(--accent-soft));border-radius:999px;height:100%;transition:width .16s}@media (prefers-reduced-motion:reduce){.progress-fill,.plan-card{transition:none}}.skeleton{border-radius:var(--radius);background:linear-gradient(100deg, var(--surface-2) 40%, color-mix(in srgb, var(--fg) 7%, var(--surface-2)) 50%, var(--surface-2) 60%);background-size:200% 100%;animation:1.4s linear infinite shimmer}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}}@keyframes shimmer{to{background-position:-200% 0}}.compare-table{border-collapse:collapse;width:100%;font-size:.92rem}.compare-table th,.compare-table td{border-bottom:1px solid var(--border);text-align:right;vertical-align:top;padding:.55rem .8rem}.compare-table th:first-child,.compare-table td:first-child{text-align:left}.compare-table thead th{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:.78rem}.diff-chip{background:var(--surface-2);border:1px solid var(--border);color:var(--muted);white-space:nowrap;border-radius:999px;margin:.1rem .2rem .1rem 0;padding:.08rem .5rem;font-size:.76rem;display:inline-block}.delta-pos{color:var(--good)}.delta-neg{color:var(--bad)}.empty-state{text-align:center;color:var(--muted);padding:3rem 1rem}.empty-state h2{color:var(--fg)}.app-footer{border-top:1px solid var(--border);text-align:center;margin-top:3rem;padding:1rem 0 .5rem}.app-footer a{color:var(--accent)}.field-label-row{align-items:center;gap:.3rem;display:inline-flex}.help-tip{display:inline-flex;position:relative}.help-tip>button{border:1px solid var(--border);background:var(--surface-2);width:1rem;height:1rem;color:var(--muted);cursor:help;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:.68rem;font-weight:700;line-height:1;display:inline-flex}.help-tip>button:hover,.help-tip>button:focus-visible{color:var(--accent);border-color:var(--accent)}.help-tip-bubble{z-index:30;background:var(--surface-1);width:max-content;max-width:18rem;color:var(--fg);border:1px solid var(--border);box-shadow:var(--shadow-card);text-align:left;white-space:normal;pointer-events:none;opacity:0;border-radius:8px;padding:.55rem .7rem;font-size:.82rem;font-weight:400;line-height:1.45;transition:opacity .1s;position:absolute;bottom:calc(100% + .45rem);left:50%;transform:translate(-50%)}.help-tip:hover .help-tip-bubble,.help-tip:focus-within .help-tip-bubble{opacity:1}.field-with-action{align-items:flex-end;gap:.5rem;display:flex}.field-with-action>.field{flex:1;min-width:0}.field-with-action>button{white-space:nowrap;margin-bottom:1px}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#080a0e8c;justify-content:center;align-items:flex-start;padding:4vh 1rem;display:flex;position:fixed;inset:0;overflow-y:auto}.modal-panel{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);outline:none;flex-direction:column;width:100%;max-width:36rem;max-height:90vh;display:flex;box-shadow:0 12px 48px #00000073}.modal-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1.25rem;display:flex}.modal-head h2{margin:0;font-size:1.1rem}.modal-close:hover{color:var(--fg);background:color-mix(in srgb, var(--fg) 8%, transparent)}.modal-body{text-align:left;padding:1rem 1.25rem 1.25rem;overflow-y:auto}.alloc-row{font-variant-numeric:tabular-nums;grid-template-columns:5.5rem minmax(0,1fr) 3.5rem;align-items:center;gap:.75rem;margin:.5rem 0;display:grid}.alloc-result{border-radius:var(--radius);background:var(--surface-2);align-items:baseline;gap:.75rem;margin-top:.9rem;padding:.75rem 1rem;display:flex}.alloc-result strong{font-size:1.4rem}.claim-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:.9rem}.claim-table th,.claim-table td{border-bottom:1px solid var(--border);text-align:right;padding:.4rem .7rem}.claim-table th:first-child,.claim-table td:first-child{text-align:left}.claim-table thead th{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:.74rem}.claim-row--best td{background:color-mix(in srgb, var(--good) 10%, transparent);font-weight:600}.claim-row--current td:first-child:after{content:" (current)";color:var(--accent);font-size:.78rem}.claim-table.heatmap th{text-align:center}.claim-table.heatmap td{text-align:center;border:1px solid var(--border);font-size:.82rem}.claim-table.heatmap tbody th{color:var(--muted);font-weight:600}.earnings-entry{margin-top:.5rem}.report{text-align:left;max-width:760px;margin:1.5rem auto 4rem}.report-head{border-bottom:2px solid var(--border);justify-content:space-between;align-items:flex-start;gap:1rem;padding-bottom:.75rem;display:flex}.report-head h1{margin:0;font-size:1.6rem}.report-actions{flex-shrink:0;gap:.5rem;display:flex}.report-disclaimer{color:var(--muted);margin:.75rem 0 0;font-size:.82rem}.report-section{margin-top:1.75rem}.report-section h2{border-bottom:1px solid var(--border);margin:0 0 .5rem;padding-bottom:.25rem;font-size:1.2rem}.report-section h3{color:var(--muted);margin:1rem 0 .4rem;font-size:.95rem}.report-kpis{grid-template-columns:repeat(4,1fr);gap:.75rem;margin-bottom:1rem;display:grid}.report-kpi{border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:.1rem;padding:.6rem .75rem;display:flex}.report-kpi .kpi-value{font-size:1.25rem}.report-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:.88rem}.report-table thead th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);border-bottom:1px solid var(--border);padding:.3rem .6rem;font-size:.74rem}.report-chart{overflow-x:auto}.report-appendix-table{font-size:.78rem}@media print{:root{--bg:#fff;--fg:#111;--muted:#555;--border:#bbb;--surface-1:#fff;--surface-2:#f2f2f2}.app-header,.app-footer,.no-print{display:none!important}.app-shell,.planner-shell{max-width:none;margin:0;padding:0}.report{max-width:none;margin:0}.report-section{break-inside:avoid}.report-appendix{break-inside:auto}.report-appendix-table tr,.report-chart{break-inside:avoid}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
