:root{--violet:#7c3aed;--violet-light:#a78bfa;--violet-glow:#7c3aed40;--teal:#14b8a6;--teal-light:#5eead4;--teal-glow:#14b8a633;--rose:#f43f5e;--rose-glow:#f43f5e33;--sky:#38bdf8;--sky-glow:#38bdf833;--amber:#fbbf24;--bg-page:#0a0f1e;--bg-page-alt:#111827;--bg-card:#111827d9;--bg-card-solid:#111827;--bg-input:#0a0f1ee6;--border-subtle:#ffffff0f;--border-card:#ffffff1a;--text-primary:#f1f5f9;--text-secondary:#94a3b8;--text-tertiary:#64748b;--shadow-card:0 4px 24px #00000073;--radius:12px;--font:"Inter", -apple-system, sans-serif}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font);background:var(--bg-page);color:var(--text-primary);min-height:100vh;line-height:1.6}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-page)}.navbar-brand{color:var(--text-primary);align-items:center;gap:10px;font-size:1.05rem;font-weight:700;text-decoration:none;display:flex}.navbar-brand img{width:auto;height:28px}.hamburger{cursor:pointer;flex-direction:column;gap:5px;padding:4px;display:none}.hamburger span{background:var(--text-secondary);border-radius:2px;width:22px;height:2px;transition:all .3s;display:block}.breadcrumb{max-width:1300px;color:var(--text-tertiary);align-items:center;gap:6px;margin:12px auto 0;padding:0 24px;font-size:.8rem;display:flex}.breadcrumb a{color:var(--text-tertiary);text-decoration:none}.breadcrumb a:hover{color:var(--text-secondary)}.breadcrumb .sep{color:var(--text-tertiary)}.breadcrumb .current{color:var(--violet-light)}.main-container{max-width:1300px;margin:0 auto;padding:20px 24px 60px}.page-title{text-align:center;margin-bottom:24px}.page-title h1{margin-bottom:4px;font-size:clamp(1.5rem,3vw,2rem);font-weight:800}.page-title h1 span{background:linear-gradient(135deg, var(--violet-light), var(--teal-light));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.page-title p{color:var(--text-secondary);font-size:.9rem}.tab-nav{border:1px solid var(--border-subtle);border-radius:var(--radius);background:#ffffff0a;gap:4px;width:fit-content;margin-bottom:20px;padding:4px;display:flex}.tab-btn{cursor:pointer;font-size:.875rem;font-weight:600;font-family:var(--font);color:var(--text-secondary);white-space:nowrap;background:0 0;border:none;border-radius:8px;padding:8px 18px;transition:all .2s}.tab-btn:hover{color:var(--text-primary);background:#ffffff0f}.tab-btn.active{background:var(--violet);color:#fff;box-shadow:0 0 16px var(--violet-glow)}.tab-pane{display:none}.tab-pane.active{display:block}.dashboard-grid{grid-template-columns:340px 1fr;align-items:start;gap:20px;display:grid}.card{background:var(--bg-card);backdrop-filter:blur(8px);border:1px solid var(--border-card);border-radius:var(--radius);box-shadow:var(--shadow-card);overflow:hidden}.card-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:8px;padding:14px 18px 12px;display:flex}.card-header h3{text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);font-size:.85rem;font-weight:700}.card-body{padding:16px 18px}.input-card{border-left:3px solid var(--violet);max-height:calc(100vh - 90px);position:sticky;top:72px;overflow-y:auto}.result-card{border-left:3px solid var(--teal)}.input-section{margin-bottom:18px}.input-section-label{text-transform:uppercase;letter-spacing:.08em;color:var(--violet-light);border-bottom:1px solid var(--border-subtle);margin-bottom:10px;padding-bottom:6px;font-size:.72rem;font-weight:700}.input-group{margin-bottom:12px}.input-group label{color:var(--text-secondary);margin-bottom:5px;font-size:.8rem;font-weight:600;display:block}.input-wrapper{background:var(--bg-input);border:1px solid var(--border-card);border-radius:8px;align-items:center;transition:border-color .2s;display:flex;position:relative}.input-wrapper:focus-within{border-color:var(--violet);box-shadow:0 0 0 2px var(--violet-glow)}.input-prefix,.input-suffix{color:var(--text-tertiary);white-space:nowrap;background:#ffffff0a;align-items:center;height:100%;padding:0 10px;font-size:.85rem;font-weight:600;display:flex}.input-prefix{border-right:1px solid var(--border-subtle);border-radius:7px 0 0 7px}.input-suffix{border-left:1px solid var(--border-subtle);border-radius:0 7px 7px 0}.input-wrapper input[type=text],.input-wrapper input[type=number]{color:var(--text-primary);font-size:.9rem;font-family:var(--font);background:0 0;border:none;outline:none;flex:1;padding:9px 10px}.input-wrapper input[type=number]{-moz-appearance:textfield}.input-wrapper input[type=number]::-webkit-inner-spin-button,.input-wrapper input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none}.styled-select{background:var(--bg-input);border:1px solid var(--border-card);width:100%;color:var(--text-primary);font-size:.875rem;font-family:var(--font);cursor:pointer;-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%2394a3b8' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;border-radius:8px;outline:none;padding:9px 10px;transition:border-color .2s}.styled-select:focus{border-color:var(--violet)}.input-hint{color:var(--text-tertiary);margin-top:4px;font-size:.75rem}.input-error{color:var(--rose);margin-top:4px;font-size:.75rem;display:none}.input-error.show{display:block}.warning-text{color:var(--rose);margin-top:4px;font-size:.75rem;display:none}.warning-text.show{display:block}.status-pill{letter-spacing:.04em;text-transform:uppercase;border-radius:20px;align-items:center;gap:5px;margin-top:5px;padding:3px 9px;font-size:.72rem;font-weight:700;display:inline-flex}.pill-maxed{color:var(--teal-light);background:#14b8a62e;border:1px solid #14b8a64d}.pill-capped{color:var(--amber);background:#fbbf242e;border:1px solid #fbbf244d}.pill-headroom{color:var(--violet-light);background:#7c3aed2e;border:1px solid #7c3aed4d}.pill-eligible{color:var(--teal-light);background:#14b8a62e;border:1px solid #14b8a64d}.pill-partial{color:var(--amber);background:#fbbf242e;border:1px solid #fbbf244d}.pill-ineligible{color:var(--rose);background:#f43f5e2e;border:1px solid #f43f5e4d}.catchup-row{color:var(--teal-light);background:#14b8a614;border:1px solid #14b8a633;border-radius:8px;align-items:center;gap:10px;margin-top:8px;padding:10px 12px;font-size:.82rem;display:none}.catchup-row.show{display:flex}.catchup-row input[type=checkbox]{accent-color:var(--teal);cursor:pointer;width:15px;height:15px}.catchup-row label{cursor:pointer;line-height:1.3}.catchup-hint{color:var(--teal-light);border-left:2px solid var(--teal);background:#14b8a614;border-radius:6px;margin-top:5px;padding:5px 9px;font-size:.75rem;display:none}.catchup-hint.show{display:block}.backdoor-btn{color:var(--violet-light);font-size:.78rem;font-weight:600;font-family:var(--font);cursor:pointer;background:#7c3aed26;border:1px solid #7c3aed59;border-radius:7px;align-items:center;gap:6px;margin-top:6px;padding:6px 12px;transition:background .2s;display:inline-flex}.backdoor-btn:hover{background:#7c3aed47}.backdoor-btn.active{background:var(--violet);color:#fff;border-color:var(--violet)}.backdoor-status{color:var(--violet-light);margin-top:4px;font-size:.75rem;display:none}.backdoor-status.show{display:block}.ineligible-overlay{z-index:10;backdrop-filter:blur(4px);border-radius:var(--radius);text-align:center;background:#0a0f1ee0;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:24px;display:none;position:absolute;inset:0}.ineligible-overlay.show{display:flex}.ineligible-overlay .overlay-icon{font-size:2rem}.ineligible-overlay h4{color:var(--rose);margin-bottom:4px;font-size:1rem}.ineligible-overlay p{color:var(--text-secondary);max-width:280px;font-size:.82rem}.value-toggle{gap:4px;display:flex}.vt-btn{border:1px solid var(--border-subtle);font-size:.75rem;font-weight:600;font-family:var(--font);color:var(--text-tertiary);cursor:pointer;background:0 0;border-radius:6px;padding:4px 10px;transition:all .2s}.vt-btn.active{background:var(--violet);color:#fff;border-color:var(--violet)}.result-hero{border-bottom:1px solid var(--border-subtle);padding:20px 18px 16px}.result-hero-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px;font-size:.78rem}.result-hero-value{background:linear-gradient(135deg, var(--violet-light), var(--teal-light));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:12px;font-size:clamp(2rem,4vw,2.8rem);font-weight:800;line-height:1.1}.result-hero-income{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.result-hero-income-val{color:var(--teal-light);font-size:1.35rem;font-weight:700}.result-hero-income-label{color:var(--text-tertiary);font-size:.78rem}.result-hero-badge{text-transform:uppercase;letter-spacing:.04em;color:var(--teal-light);background:#14b8a626;border:1px solid #14b8a64d;border-radius:20px;align-items:center;gap:5px;margin-top:6px;padding:3px 8px;font-size:.72rem;font-weight:700;display:inline-flex}.data-grid{background:var(--border-subtle);border:1px solid var(--border-subtle);border-radius:10px;grid-template-columns:repeat(3,1fr);gap:1px;margin:16px 18px 0;display:grid;overflow:hidden}.data-card{background:var(--bg-card-solid);flex-direction:column;gap:4px;padding:12px 14px;display:flex}.data-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;font-size:.72rem;font-weight:600}.data-value{color:var(--text-primary);font-size:1.05rem;font-weight:700}.data-value.violet{color:var(--violet-light)}.data-value.teal{color:var(--teal-light)}.data-value.rose{color:var(--rose)}.data-value.sky{color:var(--sky)}.data-value.amber{color:var(--amber)}.data-sub{color:var(--text-tertiary);font-size:.7rem}.formula-strip{border-top:1px solid var(--border-subtle);flex-wrap:wrap;align-items:center;gap:6px;padding:12px 18px;display:flex}.formula-chip{border-radius:6px;flex-direction:column;align-items:center;gap:1px;padding:4px 10px;font-size:.78rem;font-weight:600;display:flex}.formula-chip .fc-label{opacity:.75;text-transform:uppercase;letter-spacing:.05em;font-size:.65rem;font-weight:500}.formula-chip .fc-val{font-size:.88rem;font-weight:700}.fc-violet{color:var(--violet-light);background:#7c3aed2e;border:1px solid #7c3aed40}.fc-teal{color:var(--teal-light);background:#14b8a62e;border:1px solid #14b8a640}.fc-sky{color:var(--sky);background:#38bdf82e;border:1px solid #38bdf840}.fc-result{color:var(--text-primary);background:linear-gradient(135deg,#7c3aed40,#14b8a640);border:1px solid #ffffff1f}.formula-op{color:var(--text-tertiary);font-size:.9rem;font-weight:600}.chart-wrapper{padding:16px 18px;position:relative}.chart-canvas-wrap{min-height:220px;position:relative}canvas{display:block}.alert-stack{flex-direction:column;gap:8px;padding:0 18px 16px;display:flex}.alert-item{border-radius:8px;align-items:flex-start;gap:10px;padding:10px 12px;font-size:.82rem;display:flex}.alert-item .ai-icon{flex-shrink:0;margin-top:1px;font-size:1rem}.alert-item .ai-body{flex-direction:column;gap:2px;display:flex}.alert-item .ai-title{font-weight:700}.alert-item .ai-msg{color:var(--text-secondary);line-height:1.4}.alert-info{background:#38bdf814;border:1px solid #38bdf833}.alert-info .ai-title{color:var(--sky)}.alert-success{background:#14b8a614;border:1px solid #14b8a633}.alert-success .ai-title{color:var(--teal-light)}.alert-warn{background:#fbbf2414;border:1px solid #fbbf2433}.alert-warn .ai-title{color:var(--amber)}.alert-danger{background:#f43f5e14;border:1px solid #f43f5e33}.alert-danger .ai-title{color:var(--rose)}.schedule-section{padding:0 18px 16px}.schedule-toggle-btn{border:1px solid var(--border-card);color:var(--text-secondary);font-size:.82rem;font-weight:600;font-family:var(--font);cursor:pointer;text-align:left;background:#ffffff0d;border-radius:8px;width:100%;padding:8px 14px;transition:background .2s}.schedule-toggle-btn:hover{background:#ffffff17}.schedule-wrap{margin-top:12px;display:none;overflow-x:auto}.schedule-wrap.open{display:block}.schedule-table{border-collapse:collapse;width:100%;font-size:.8rem}.schedule-table th{text-align:right;text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary);border-bottom:1px solid var(--border-subtle);padding:6px 10px;font-size:.7rem;font-weight:700}.schedule-table th:first-child{text-align:left}.schedule-table td{text-align:right;border-bottom:1px solid var(--border-subtle);padding:6px 10px}.schedule-table td:first-child{text-align:left;color:var(--text-secondary)}.schedule-table tr:last-child td{border-bottom:none}.schedule-table tr:hover td{background:#ffffff08}.col-balance{color:var(--teal-light);font-weight:600}.col-contrib{color:var(--violet-light)}.col-growth{color:var(--sky)}.export-row{border-top:1px solid var(--border-subtle);flex-wrap:wrap;gap:8px;padding:16px 18px;display:flex}.export-btn{border:1px solid var(--border-card);min-width:100px;color:var(--text-secondary);font-size:.8rem;font-weight:600;font-family:var(--font);cursor:pointer;background:#ffffff0f;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:6px;padding:8px 14px;transition:all .2s;display:inline-flex}.export-btn:hover{color:var(--text-primary);background:#ffffff1a}.compare-tab-wrap{flex-direction:column;gap:20px;display:flex}.compare-inputs-bar{background:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--radius);flex-wrap:wrap;align-items:flex-end;gap:16px;padding:16px 20px;display:flex}.compare-input-group{flex:1;min-width:160px}.compare-input-group label{color:var(--text-secondary);margin-bottom:5px;font-size:.8rem;font-weight:600;display:block}.compare-cards-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.compare-card{background:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--radius);overflow:hidden}.compare-card.roth-card{border-left:3px solid var(--violet)}.compare-card.trad-card{border-left:3px solid var(--sky)}.compare-card-header{border-bottom:1px solid var(--border-subtle);align-items:center;gap:8px;padding:12px 16px;display:flex}.compare-card-header h3{font-size:.9rem;font-weight:700}.compare-card-header .cc-tag{text-transform:uppercase;letter-spacing:.06em;border-radius:4px;padding:2px 7px;font-size:.7rem;font-weight:700}.tag-roth{color:var(--violet-light);background:#7c3aed33}.tag-trad{color:var(--sky);background:#38bdf833}.compare-card-body{flex-direction:column;gap:10px;padding:14px 16px;display:flex}.cc-stat{justify-content:space-between;align-items:baseline;display:flex}.cc-stat-label{color:var(--text-secondary);font-size:.8rem}.cc-stat-value{font-size:.95rem;font-weight:700}.compare-winner-banner{background:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:12px;padding:16px 20px;display:flex}.winner-icon{font-size:1.8rem}.winner-body{flex:1}.winner-title{margin-bottom:2px;font-size:1.05rem;font-weight:700}.winner-sub{color:var(--text-secondary);font-size:.83rem}.breakeven-card{background:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--radius);padding:16px 20px}.breakeven-label{color:var(--text-secondary);margin-bottom:8px;font-size:.8rem}.breakeven-rate-display{color:var(--violet-light);margin-bottom:10px;font-size:1.6rem;font-weight:800}.breakeven-bar-wrap{background:#ffffff14;border-radius:6px;height:12px;position:relative;overflow:hidden}.breakeven-bar-roth{background:linear-gradient(90deg, var(--teal), var(--violet));border-radius:6px;position:absolute;top:0;bottom:0;left:0}.breakeven-dots{color:var(--text-tertiary);justify-content:space-between;margin-top:4px;font-size:.7rem;display:flex}.compare-chart-wrap{background:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--radius);padding:16px 20px}.compare-chart-wrap h4{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:12px;font-size:.83rem;font-weight:700}.compare-feature-wrap{background:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--radius);overflow:hidden}.compare-feature-table{border-collapse:collapse;width:100%;font-size:.83rem}.compare-feature-table th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary);background:#ffffff0a;padding:8px 12px;font-size:.72rem;font-weight:700}.compare-feature-table td{border-bottom:1px solid var(--border-subtle);padding:9px 12px}.compare-feature-table td:first-child{color:var(--text-secondary)}.compare-feature-table .roth-col{color:var(--violet-light);font-weight:600}.compare-feature-table .trad-col{color:var(--sky)}.compare-feature-table tr:last-child td{border-bottom:none}.planner-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.planner-full{grid-column:1/-1}.section-title{text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);margin-bottom:12px;font-size:.78rem;font-weight:700}.goal-seeker-inputs{flex-direction:column;gap:10px;margin-bottom:14px;display:flex}.gs-btn{background:var(--violet);color:#fff;font-size:.88rem;font-weight:700;font-family:var(--font);cursor:pointer;border:none;border-radius:8px;width:100%;padding:10px 16px;transition:opacity .2s}.gs-btn:hover{opacity:.88}.gs-result{background:#7c3aed1a;border:1px solid #7c3aed40;border-radius:10px;padding:14px 16px;display:none}.gs-result.show{display:block}.gs-result-row{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:baseline;padding:5px 0;font-size:.85rem;display:flex}.gs-result-row:last-child{border-bottom:none}.gs-result-label{color:var(--text-secondary)}.gs-result-value{font-weight:700}.gs-note{color:var(--text-tertiary);margin-top:8px;font-size:.75rem}.fire-type-pills{gap:6px;margin-bottom:14px;display:flex}.fire-pill{text-align:center;font-size:.8rem;font-weight:600;font-family:var(--font);cursor:pointer;border:1px solid var(--border-card);color:var(--text-secondary);background:#ffffff0d;border-radius:8px;flex:1;padding:7px 10px;transition:all .2s}.fire-pill.active{background:var(--violet);color:#fff;border-color:var(--violet);box-shadow:0 0 12px var(--violet-glow)}.fire-result-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.fire-stat{border:1px solid var(--border-subtle);background:#ffffff0a;border-radius:8px;padding:10px 12px}.fire-stat-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:3px;font-size:.7rem}.fire-stat-value{font-size:1.1rem;font-weight:700}.fire-progress-wrap{margin-top:14px}.fire-progress-label{color:var(--text-tertiary);justify-content:space-between;margin-bottom:5px;font-size:.75rem;display:flex}.fire-progress-bar{background:#ffffff14;border-radius:4px;height:8px;overflow:hidden}.fire-progress-fill{background:linear-gradient(90deg, var(--violet), var(--teal));border-radius:4px;height:100%;transition:width .4s}.fire-coast-badge{border-radius:20px;align-items:center;gap:5px;margin-top:10px;padding:4px 10px;font-size:.75rem;font-weight:700;display:inline-flex}.badge-coast-ready{color:var(--teal-light);background:#14b8a633;border:1px solid #14b8a659}.badge-coast-pending{color:var(--amber);background:#fbbf2426;border:1px solid #fbbf244d}.scenario-table{border-collapse:collapse;width:100%;font-size:.83rem}.scenario-table th{text-align:right;text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary);border-bottom:1px solid var(--border-subtle);padding:8px 12px;font-size:.72rem;font-weight:700}.scenario-table th:first-child{text-align:left}.scenario-table td{text-align:right;border-bottom:1px solid var(--border-subtle);padding:9px 12px;font-weight:600}.scenario-table td:first-child{text-align:left;font-weight:700}.scenario-table tr:last-child td{border-bottom:none}.row-bear td:first-child{color:var(--rose)}.row-base td:first-child{color:var(--violet-light)}.row-bull td:first-child{color:var(--teal-light)}.gauge-wrap{flex-direction:column;align-items:center;gap:8px;padding:12px 0;display:flex}.gauge-svg{display:block;overflow:visible}.gauge-score-text{text-anchor:middle;fill:var(--text-primary);font-size:28px;font-weight:800;font-family:var(--font)}.gauge-label-text{text-anchor:middle;fill:var(--text-tertiary);font-size:11px;font-family:var(--font)}.readiness-label{text-align:center;font-size:.88rem;font-weight:700}.readiness-alerts{flex-direction:column;gap:6px;margin-top:10px;display:flex}.longevity-input-row{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:12px;display:flex}.longevity-input-row .input-group{flex:1;min-width:140px;margin-bottom:0}.longevity-stats{flex-wrap:wrap;gap:16px;margin-bottom:12px;display:flex}.lon-stat{border:1px solid var(--border-subtle);background:#ffffff0a;border-radius:8px;flex:1;min-width:100px;padding:10px 12px}.lon-stat-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:3px;font-size:.7rem}.lon-stat-value{color:var(--teal-light);font-size:1.1rem;font-weight:700}.longevity-chart-wrap{height:180px;position:relative}.longevity-roth-note{color:var(--teal-light);border-left:2px solid var(--teal);background:#14b8a614;border-radius:6px;margin-top:8px;padding:7px 10px;font-size:.75rem}.ladder-wrap{max-height:320px;overflow-y:auto}.ladder-table{border-collapse:collapse;width:100%;font-size:.8rem}.ladder-table th{text-align:right;text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary);border-bottom:1px solid var(--border-subtle);background:var(--bg-card-solid);padding:6px 10px;font-size:.68rem;font-weight:700;position:sticky;top:0}.ladder-table th:first-child{text-align:left}.ladder-table td{text-align:right;border-bottom:1px solid var(--border-subtle);padding:7px 10px}.ladder-table td:first-child{text-align:left;font-weight:600}.ladder-table tr:last-child td{border-bottom:none}.ladder-row--current td{background:#7c3aed1a}.ladder-row--current td:first-child:after{content:" ◀";color:var(--violet-light);font-size:.8rem}.ladder-surplus{color:var(--teal-light)}.ladder-shortfall{color:var(--rose)}.below-fold{margin-top:48px}.how-to-section,.faq-section,.formula-section{margin-bottom:48px}.section-head{margin-bottom:20px;font-size:1.3rem;font-weight:800}.section-head span{color:var(--violet-light)}.how-to-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.how-card{background:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--radius);padding:18px}.how-card-step{text-transform:uppercase;letter-spacing:.08em;color:var(--violet-light);margin-bottom:6px;font-size:.7rem;font-weight:700}.how-card h4{margin-bottom:6px;font-size:.93rem;font-weight:700}.how-card p{color:var(--text-secondary);font-size:.82rem;line-height:1.5}.faq-item{border:1px solid var(--border-subtle);border-radius:10px;margin-bottom:10px;overflow:hidden}.faq-item summary{cursor:pointer;justify-content:space-between;align-items:center;padding:14px 16px;font-size:.88rem;font-weight:600;list-style:none;display:flex}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";color:var(--violet-light);font-size:1.1rem}.faq-item[open] summary:after{content:"−"}.faq-item .faq-body{color:var(--text-secondary);padding:0 16px 14px;font-size:.85rem;line-height:1.6}.formula-cards{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.formula-card{background:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--radius);padding:16px}.formula-card h4{color:var(--violet-light);margin-bottom:8px;font-size:.85rem;font-weight:700}.formula-card code{color:var(--teal-light);white-space:pre-wrap;background:#ffffff0f;border-radius:6px;padding:8px 10px;font-family:Courier New,monospace;font-size:.82rem;line-height:1.6;display:block}.related-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.related-card{background:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--radius);color:var(--text-primary);padding:14px 16px;text-decoration:none;transition:border-color .2s;display:block}.related-card:hover{border-color:var(--violet)}.related-card h4{margin-bottom:4px;font-size:.88rem;font-weight:700}.related-card p{color:var(--text-secondary);font-size:.78rem}footer{background:var(--bg-page-alt);border-top:1px solid var(--border-subtle);margin-top:60px;padding:40px 24px 24px}.footer-grid{grid-template-columns:repeat(4,1fr);gap:24px;max-width:1300px;margin:0 auto 32px;display:grid}.footer-col h4{text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);margin-bottom:12px;font-size:.82rem;font-weight:700}.footer-col a,.footer-col p{color:var(--text-tertiary);margin-bottom:6px;font-size:.82rem;text-decoration:none;transition:color .2s;display:block}.footer-col a:hover{color:var(--violet-light)}.footer-bottom{border-top:1px solid var(--border-subtle);max-width:1300px;color:var(--text-tertiary);flex-wrap:wrap;justify-content:space-between;gap:8px;margin:0 auto;padding-top:16px;font-size:.78rem;display:flex}#backToTop{z-index:99;background:var(--violet);color:#fff;cursor:pointer;width:40px;height:40px;box-shadow:0 0 16px var(--violet-glow);border:none;border-radius:50%;justify-content:center;align-items:center;font-size:1.1rem;transition:opacity .2s;display:none;position:fixed;bottom:24px;right:24px}#backToTop.show{display:flex}.toast-container{z-index:200;pointer-events:none;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.toast{background:var(--bg-card-solid);border:1px solid var(--border-card);color:var(--text-primary);font-size:.83rem;font-weight:600;font-family:var(--font);box-shadow:var(--shadow-card);border-radius:8px;padding:10px 18px;animation:.3s fadeUp}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (width<=900px){.dashboard-grid{grid-template-columns:minmax(0,1fr);overflow:hidden}.input-card{max-height:none;position:static}.data-grid{grid-template-columns:repeat(2,1fr)}.planner-grid,.compare-cards-grid,.how-to-grid,.formula-cards{grid-template-columns:minmax(0,1fr);overflow:hidden}.related-grid,.footer-grid{grid-template-columns:1fr 1fr}}@media (width<=768px){.hamburger{display:flex}.tab-nav{flex-wrap:wrap}.tab-btn{padding:7px 12px;font-size:.8rem}.data-grid,.fire-result-grid{grid-template-columns:1fr 1fr}.formula-strip{gap:4px}.footer-grid{grid-template-columns:minmax(0,1fr);overflow:hidden}}@media (width<=480px){.main-container{padding:14px 14px 50px}.compare-cards-grid{grid-template-columns:minmax(0,1fr);overflow:hidden}.export-row{flex-direction:column}.related-grid{grid-template-columns:minmax(0,1fr);overflow:hidden}}[data-theme=light]{--violet:#7c3aed;--violet-light:#6d28d9;--violet-glow:#7c3aed26;--teal:#0f766e;--teal-light:#0d9488;--teal-glow:#0f766e1f;--rose:#dc2626;--rose-glow:#dc26261f;--sky:#0369a1;--sky-glow:#0369a11f;--amber:#d97706;--bg-page:#f1f5f9;--bg-page-alt:#e2e8f0;--bg-card:#ffffffe6;--bg-card-solid:#fff;--bg-input:#e2e8f0;--border-subtle:#00000014;--border-card:#00000026;--text-primary:#0f172a;--text-secondary:#334155;--text-tertiary:#475569;--shadow-card:0 2px 8px #00000014}[data-theme=light] body{color:#0f172a;background:var(--bg-page);background-image:none}[data-theme=light] .navbar-brand{color:#0f172a}[data-theme=light] input,[data-theme=light] select{color-scheme:light}[data-theme=light] .hamburger span{background:#334155}[data-theme=light] .breadcrumb .current{color:var(--violet)}[data-theme=light] .page-title h1 span{background:linear-gradient(135deg, var(--violet), var(--teal));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}[data-theme=light] .tab-btn.active{background:var(--violet);color:#fff;box-shadow:0 0 12px var(--violet-glow)}[data-theme=light] .tab-nav{background:#00000008}[data-theme=light] .input-wrapper{background:#fff;border-color:#0000001f}[data-theme=light] .input-wrapper:focus-within{border-color:var(--violet);box-shadow:0 0 0 2px var(--violet-glow)}[data-theme=light] .input-prefix,[data-theme=light] .input-suffix{color:#64748b;background:#00000008}[data-theme=light] .input-prefix{border-right-color:#00000014}[data-theme=light] .input-suffix{border-left-color:#00000014}[data-theme=light] .input-wrapper input[type=text],[data-theme=light] .input-wrapper input[type=number]{color:#0f172a}[data-theme=light] .styled-select{color:#0f172a;background:#fff;border-color:#0000001f}[data-theme=light] .styled-select:focus{border-color:var(--violet)}[data-theme=light] .catchup-row{color:var(--teal);background:#0f766e0f;border-color:#0f766e2e}[data-theme=light] .catchup-hint{color:var(--teal);border-left-color:var(--teal);background:#0f766e0f}[data-theme=light] .backdoor-btn{color:var(--violet);background:#7c3aed14;border-color:#7c3aed40}[data-theme=light] .backdoor-btn:hover{background:#7c3aed26}[data-theme=light] .backdoor-btn.active{background:var(--violet);color:#fff}[data-theme=light] .backdoor-status{color:var(--violet)}[data-theme=light] .ineligible-overlay h4{color:var(--rose)}[data-theme=light] .ineligible-overlay p{color:#334155}[data-theme=light] .vt-btn.active{background:var(--violet);color:#fff;border-color:var(--violet)}[data-theme=light] .result-hero-value{background:linear-gradient(135deg, var(--violet), var(--teal));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}[data-theme=light] .result-hero-income-val{color:var(--teal)}[data-theme=light] .result-hero-badge{color:var(--teal);background:#0f766e1a;border-color:#0f766e40}[data-theme=light] .data-grid{background:#0000000d}[data-theme=light] .data-card{background:#fff}[data-theme=light] .data-value.violet{color:var(--violet)}[data-theme=light] .data-value.teal{color:var(--teal)}[data-theme=light] .data-value.rose{color:var(--rose)}[data-theme=light] .data-value.sky{color:var(--sky)}[data-theme=light] .data-value.amber{color:var(--amber)}[data-theme=light] .fc-violet{color:var(--violet);background:#7c3aed1a;border-color:#7c3aed33}[data-theme=light] .fc-teal{color:var(--teal);background:#0f766e1a;border-color:#0f766e33}[data-theme=light] .fc-sky{color:var(--sky);background:#0369a11a;border-color:#0369a133}[data-theme=light] .fc-result{background:linear-gradient(135deg,#7c3aed1f,#0f766e1f);border-color:#0000001f}[data-theme=light] .formula-op{color:#64748b}[data-theme=light] .alert-info{background:#0369a10f;border-color:#0369a12e}[data-theme=light] .alert-info .ai-title{color:var(--sky)}[data-theme=light] .alert-success{background:#0f766e0f;border-color:#0f766e2e}[data-theme=light] .alert-success .ai-title{color:var(--teal)}[data-theme=light] .alert-warn{background:#d977060f;border-color:#d977062e}[data-theme=light] .alert-warn .ai-title{color:var(--amber)}[data-theme=light] .alert-danger{background:#dc26260f;border-color:#dc26262e}[data-theme=light] .alert-danger .ai-title{color:var(--rose)}[data-theme=light] .alert-item .ai-msg{color:#475569}[data-theme=light] .schedule-toggle-btn{color:#334155;background:#0000000a;border-color:#0000001f}[data-theme=light] .schedule-toggle-btn:hover{background:#0000000f}[data-theme=light] .schedule-table th{color:#475569}[data-theme=light] .col-balance{color:var(--teal)}[data-theme=light] .col-contrib{color:var(--violet)}[data-theme=light] .col-growth{color:var(--sky)}[data-theme=light] .export-btn{color:#334155;background:#0000000a;border-color:#0000001f}[data-theme=light] .export-btn:hover{color:#0f172a;background:#0000000f}[data-theme=light] .compare-inputs-bar,[data-theme=light] .compare-card{background:#fff}[data-theme=light] .tag-roth{color:var(--violet);background:#7c3aed1f}[data-theme=light] .tag-trad{color:var(--sky);background:#0369a11f}[data-theme=light] .compare-winner-banner,[data-theme=light] .breakeven-card{background:#fff}[data-theme=light] .breakeven-rate-display{color:var(--violet)}[data-theme=light] .compare-chart-wrap,[data-theme=light] .compare-feature-wrap{background:#fff}[data-theme=light] .compare-feature-table th{background:#00000008}[data-theme=light] .compare-feature-table .roth-col{color:var(--violet)}[data-theme=light] .compare-feature-table .trad-col{color:var(--sky)}[data-theme=light] .gs-btn{background:var(--violet)}[data-theme=light] .fire-pill.active{background:var(--violet);color:#fff;box-shadow:0 0 8px var(--violet-glow)}[data-theme=light] .fire-stat{background:#00000008}[data-theme=light] .badge-coast-ready{color:var(--teal);background:#0f766e1f;border-color:#0f766e40}[data-theme=light] .badge-coast-pending{color:var(--amber);background:#d977061a;border-color:#d9770640}[data-theme=light] .row-bear td:first-child{color:var(--rose)}[data-theme=light] .row-base td:first-child{color:var(--violet)}[data-theme=light] .row-bull td:first-child{color:var(--teal)}[data-theme=light] .gauge-score-text{fill:#0f172a}[data-theme=light] .gauge-label-text{fill:#475569}[data-theme=light] .lon-stat{background:#00000008}[data-theme=light] .lon-stat-value{color:var(--teal)}[data-theme=light] .ladder-table th{background:#fff}[data-theme=light] .ladder-row--current td{background:#7c3aed0f}[data-theme=light] .ladder-surplus{color:var(--teal)}[data-theme=light] .ladder-shortfall{color:var(--rose)}[data-theme=light] .how-card{background:#fff}[data-theme=light] .how-card-step{color:var(--violet)}[data-theme=light] .how-card h4{color:#0f172a}[data-theme=light] .how-card p{color:#334155}[data-theme=light] .faq-item{border-color:#0000001a}[data-theme=light] .formula-card{background:#fff}[data-theme=light] .formula-card h4{color:var(--violet)}[data-theme=light] .related-card{color:#0f172a;background:#fff}[data-theme=light] .related-card:hover{border-color:var(--violet)}[data-theme=light] .related-card p{color:#334155}[data-theme=light] footer{background:#e2e8f0;border-top-color:#0000001a}[data-theme=light] .footer-col h4{color:#334155}[data-theme=light] .footer-col a,[data-theme=light] .footer-col p{color:#475569}[data-theme=light] .footer-col a:hover{color:var(--violet)}[data-theme=light] .footer-bottom{color:#64748b}[data-theme=light] #backToTop{background:var(--violet);box-shadow:0 0 12px var(--violet-glow)}[data-theme=light] .toast{background:#fff;border-color:#0000001f;box-shadow:0 4px 16px #0000001a}[data-theme=light] body{background:#e8edf5}[data-theme=light] .fire-stat{background:#edf2f9;border-color:#0000001a}[data-theme=light] .fire-stat-label{color:#475569}[data-theme=light] .fire-stat-value{color:#0f172a}[data-theme=light] .lon-stat{background:#edf2f9;border-color:#0000001a}[data-theme=light] .fire-progress-bar{background:#0000001a}[data-theme=light] .pill-maxed{color:#0f766e;background:#0f766e1a;border-color:#0f766e40}[data-theme=light] .pill-capped{color:#d97706;background:#d977061a;border-color:#d9770640}[data-theme=light] .pill-headroom{color:#7c3aed;background:#7c3aed1a;border-color:#7c3aed40}[data-theme=light] .pill-eligible{color:#0f766e;background:#0f766e1a;border-color:#0f766e40}[data-theme=light] .pill-partial{color:#d97706;background:#d977061a;border-color:#d9770640}[data-theme=light] .pill-ineligible{color:#dc2626;background:#dc262614;border-color:#dc262633}[data-theme=light] .fc-result{color:#0f172a;background:linear-gradient(135deg,#7c3aed1a,#0f766e1a);border-color:#0000001f}[data-theme=light] .breakeven-bar-wrap{background:#00000014}[data-theme=light] .compare-feature-table th{color:#475569;background:#edf2f9}[data-theme=light] .compare-feature-table td{color:#334155}[data-theme=light] .compare-feature-table td:first-child{color:#475569}[data-theme=light] .schedule-table tr:hover td{background:#00000008}[data-theme=light] .schedule-table td{color:#334155}[data-theme=light] .schedule-table td:first-child{color:#475569}[data-theme=light] .tab-nav{background:#f0f4f9;border-color:#0000001a}[data-theme=light] .vt-btn{color:#475569;border-color:#0000001f}[data-theme=light] .ineligible-overlay{background:#f1f5f9f2}[data-theme=light] .ladder-table th{color:#475569;background:#edf2f9}[data-theme=light] .ladder-table td{color:#334155}[data-theme=light] .faq-item{background:#fff;border-color:#0000001a;border-radius:10px;margin-bottom:8px;box-shadow:0 1px 4px #0000000f}[data-theme=light] .faq-item summary{color:#0f172a}[data-theme=light] .faq-item summary:after{color:var(--violet)}[data-theme=light] .faq-item[open]{border-color:#7c3aed59 #7c3aed59 #7c3aed59 #7c3aed;border-left-style:solid;border-left-width:3px;box-shadow:0 2px 10px #7c3aed1a}[data-theme=light] .faq-item .faq-body{color:#334155}[data-theme=light] .formula-card code{color:var(--teal);background:#edf2f9}[data-theme=light] .gs-result{background:#7c3aed0f;border-color:#7c3aed2e}[data-theme=light] .gs-result-label{color:#475569}[data-theme=light] .gs-result-value{color:#0f172a}[data-theme=light] .gs-note{color:#64748b}[data-theme=light] .section-head{color:#0f172a}[data-theme=light] .section-head span{color:var(--violet)}[data-theme=light] .readiness-label{color:#0f172a}[data-theme=light] .longevity-roth-note{color:var(--teal);border-left-color:var(--teal);background:#0f766e0f}[data-theme=light] ::-webkit-scrollbar-track{background:#0000000a}[data-theme=light] ::-webkit-scrollbar-thumb{background:#00000026}[data-theme=light] ::-webkit-scrollbar-thumb:hover{background:#7c3aed59}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:#ffffff08;border-radius:3px}::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#f59e0b66}