:root{--bg-base:#0d0d1a;--bg-mid:#141428;--bg-card:#ffffff05;--bg-sidebar:#ffffff04;--border-soft:#ffffff0f;--border-softer:#ffffff0a;--border-hairline:#ffffff08;--text-base:#e8e8f0;--text-body:#e0e0e0;--text-strong:#fff;--accent-purple:#8884d8;--accent-cyan:#6dd5ed;--accent-green:#48c774;--accent-pink:#f093fb;--accent-gold:#f7c77d;--mono-stack:"JetBrains Mono", "SF Mono", "Fira Code", ui-monospace, "Menlo", monospace;--sidebar-width:460px}html{font-size:20px}*{box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--mono-stack);background:var(--bg-base);color:var(--text-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;margin:0}:focus-visible{outline:2px solid var(--accent-cyan);outline-offset:2px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#ffffff2e}.app{min-height:100vh}.dashboard{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-width);min-width:var(--sidebar-width);background:var(--bg-sidebar);border-right:1px solid var(--border-soft);flex-direction:column;gap:.286rem;height:100vh;padding:1.714rem 1.429rem;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar__header{margin-bottom:1.429rem}.sidebar__title{letter-spacing:-.3px;background:linear-gradient(135deg, var(--accent-purple), var(--accent-cyan), var(--accent-green));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0 0 .857rem;font-size:1.071rem;font-weight:700}.sidebar__actions{gap:.571rem;display:flex}.toggle-btn{border:1px solid var(--border-soft);color:var(--text-base);font-family:var(--mono-stack);letter-spacing:.3px;cursor:pointer;background:#ffffff0a;border-radius:6px;padding:.357rem .714rem;font-size:.714rem;transition:background .12s,border-color .12s}.toggle-btn:hover{background:#ffffff14;border-color:#ffffff1f}.toggle-btn--muted{opacity:.5}.toggle-btn--muted:hover{opacity:.8}.toggle-btn:disabled{cursor:not-allowed;opacity:.25}.profile-picker{margin:0 0 .857rem;position:relative}.profile-picker__trigger{border:1px solid var(--border-soft);width:100%;color:var(--text-base);font-family:var(--mono-stack);cursor:pointer;background:#ffffff0a;border-radius:6px;align-items:center;gap:.5rem;padding:.5rem .714rem;font-size:.786rem;transition:background .12s,border-color .12s;display:flex}.profile-picker__trigger:hover,.profile-picker__trigger.is-open{background:#ffffff12;border-color:#ffffff24}.profile-picker__trigger-icon{opacity:.55;font-size:.857rem}.profile-picker__trigger-name{text-align:left;text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:500;overflow:hidden}.profile-picker__chevron{opacity:.5;font-size:.643rem}.profile-picker__badge{letter-spacing:.6px;text-transform:uppercase;color:var(--accent-gold);background:#f7c77d24;border-radius:999px;padding:.143rem .357rem;font-size:.5rem;font-weight:600}.profile-picker__badge--inline{margin-left:.357rem}.profile-picker__menu{z-index:20;background:var(--bg-mid);border:1px solid var(--border-soft);border-radius:8px;flex-direction:column;gap:.357rem;padding:.357rem;display:flex;position:absolute;top:calc(100% + .286rem);left:0;right:0;box-shadow:0 8px 24px #0006}.profile-picker__list{flex-direction:column;gap:.143rem;margin:0;padding:0;list-style:none;display:flex}.profile-picker__row{border-radius:5px;align-items:center;gap:.286rem;padding:.143rem;transition:background .12s;display:flex}.profile-picker__row:hover{background:#ffffff0a}.profile-picker__row.is-active{background:#ffffff12}.profile-picker__row-name{color:var(--text-base);font-family:var(--mono-stack);cursor:pointer;text-align:left;background:0 0;border:none;flex:1;align-items:center;gap:.5rem;padding:.286rem .357rem;font-size:.786rem;display:flex;overflow:hidden}.profile-picker__row-dot{opacity:.7;text-align:center;flex-shrink:0;width:.857rem;font-size:.786rem}.profile-picker__row.is-active .profile-picker__row-dot{color:var(--accent-cyan);opacity:1}.profile-picker__row-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.profile-picker__row-actions{flex-shrink:0;gap:.071rem;display:flex}.profile-picker__icon-btn{color:var(--text-base);opacity:.35;cursor:pointer;background:0 0;border:none;padding:0 .286rem;font-size:.857rem;line-height:1;transition:opacity .12s,color .12s}.profile-picker__icon-btn:hover:not(:disabled){opacity:.9}.profile-picker__icon-btn:disabled{cursor:not-allowed;opacity:.15}.profile-picker__icon-btn--danger:hover:not(:disabled){color:#f7768e;opacity:1}.profile-picker__rename{border:1px solid var(--border-soft);color:var(--text-base);font-family:var(--mono-stack);background:#0000004d;border-radius:4px;flex:1;min-width:0;margin:0 .143rem;padding:.214rem .429rem;font-size:.786rem}.profile-picker__rename:focus{border-color:#ffffff40;outline:none}.profile-picker__footer{border-top:1px solid var(--border-softer);gap:.286rem;padding-top:.357rem;display:flex}.profile-picker__btn{border:1px solid var(--border-soft);color:var(--text-base);font-family:var(--mono-stack);letter-spacing:.3px;cursor:pointer;background:#ffffff0a;border-radius:5px;flex:1;padding:.357rem .5rem;font-size:.714rem;transition:background .12s,border-color .12s}.profile-picker__btn:hover{background:#ffffff14;border-color:#ffffff24}.readonly-banner{background:#f7c77d14;border:1px solid #f7c77d40;border-radius:6px;align-items:center;gap:.714rem;margin:.286rem 0 .571rem;padding:.571rem .714rem;display:flex}.readonly-banner__text{color:var(--accent-gold);opacity:.9;flex:1;font-size:.714rem;line-height:1.4}.readonly-banner__btn{color:var(--accent-gold);font-family:var(--mono-stack);letter-spacing:.3px;cursor:pointer;white-space:nowrap;background:#f7c77d1f;border:1px solid #f7c77d59;border-radius:5px;padding:.286rem .571rem;font-size:.643rem;transition:background .12s}.readonly-banner__btn:hover{background:#f7c77d38}.is-readonly-block{opacity:.55;pointer-events:none;-webkit-user-select:text;user-select:text}.sidebar__assumptions{opacity:.3;border-top:1px solid var(--border-softer);margin-top:auto;padding-top:1.143rem;font-size:.643rem;line-height:1.6}.main{flex:1;min-width:0;padding:1.714rem 2.286rem}.main__header{align-items:center;gap:1.143rem;margin-bottom:1.429rem;display:flex}.main__hero{flex-direction:column;gap:.143rem;display:flex}.main__hero-label{opacity:.4;letter-spacing:.3px;font-size:.786rem}.main__hero-value{letter-spacing:-.5px;background:linear-gradient(135deg, var(--accent-purple), var(--accent-cyan));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:1.714rem;font-weight:800}.main__hero-arrow{opacity:.15;padding-top:.857rem;font-size:1.286rem}.main__hero-scenario{letter-spacing:1px;text-transform:uppercase;opacity:.9;border-right:1px solid var(--border-softer);align-items:center;gap:.357rem;margin-right:.214rem;padding-right:.714rem;font-size:.714rem;font-weight:600;display:inline-flex}.main__hero-scenario-dot{border-radius:50%;width:.5rem;height:.5rem;display:inline-block}.scenarios{border-bottom:1px solid var(--border-softer);padding:.857rem 0}.scenarios__group-label{letter-spacing:1.2px;text-transform:uppercase;opacity:.3;margin-bottom:.714rem;font-size:.643rem}.scenarios__list{flex-direction:column;gap:.286rem;margin:0;padding:0;list-style:none;display:flex}.scenario-row{background:#ffffff05;border:1px solid #0000;border-radius:6px;grid-template-columns:auto auto 1fr auto;align-items:center;gap:.429rem;padding:.357rem .5rem;transition:background .12s,border-color .12s;display:grid;position:relative}.scenario-row:hover{background:#ffffff0a}.scenario-row--active{background:#ffffff0f;border-color:#ffffff1f}.scenario-row__swatch{cursor:pointer;border:1px solid #fff3;border-radius:50%;flex-shrink:0;width:.857rem;height:.857rem;padding:0}.scenario-row__compare{cursor:pointer;align-items:center;display:flex}.scenario-row__compare input{cursor:pointer;margin:0}.scenario-row__compare input:disabled{cursor:default;opacity:.5}.scenario-row__name{color:var(--text-base);font-family:var(--mono-stack);text-align:left;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;padding:0;font-size:.786rem;overflow:hidden}.scenario-row__name:hover{opacity:.8}.scenario-row__rename{border:1px solid var(--border-soft);color:var(--text-base);font-family:var(--mono-stack);background:#0000004d;border-radius:4px;width:100%;min-width:0;padding:.143rem .357rem;font-size:.786rem}.scenario-row__rename:focus{border-color:#ffffff40;outline:none}.scenario-row__actions{gap:.143rem;display:flex}.scenario-row__icon-btn{color:var(--text-base);opacity:.35;cursor:pointer;background:0 0;border:none;padding:0 .214rem;font-size:.857rem;line-height:1;transition:opacity .12s}.scenario-row__icon-btn:hover:not(:disabled){opacity:.9}.scenario-row__icon-btn:disabled{cursor:not-allowed;opacity:.15}.scenario-row__icon-btn--danger:hover:not(:disabled){color:#f7768e;opacity:1}.scenario-row__palette{flex-wrap:wrap;grid-column:1/-1;gap:.286rem;padding-top:.357rem;display:flex}.scenario-row__palette-swatch{cursor:pointer;border:1px solid #fff3;border-radius:50%;width:1rem;height:1rem;padding:0}.scenario-row__palette-swatch.is-selected{outline-offset:2px;outline:2px solid #ffffffb3}.scenarios__footer{gap:.357rem;margin-top:.571rem;display:flex}.scenarios__btn{border:1px solid var(--border-soft);color:var(--text-base);font-family:var(--mono-stack);letter-spacing:.3px;cursor:pointer;background:#ffffff0a;border-radius:6px;flex:1;padding:.357rem .714rem;font-size:.714rem;transition:background .12s,border-color .12s}.scenarios__btn:hover{background:#ffffff14;border-color:#ffffff1f}.settings{flex-direction:column;gap:.286rem;display:flex}.settings__group{border-bottom:1px solid var(--border-softer);padding:.857rem 0}.settings__group-label{letter-spacing:1.2px;text-transform:uppercase;opacity:.3;margin-bottom:.714rem;font-size:.643rem}.settings__grid{grid-template-columns:repeat(3,1fr);gap:.429rem;display:grid}.settings__grid--2col{grid-template-columns:repeat(2,1fr);margin-top:.429rem}.field{flex-direction:column;gap:.214rem;display:flex}.field__label{opacity:.4;letter-spacing:.2px;text-transform:uppercase;font-size:.643rem}.field__control{border:1px solid var(--border-softer);background:#ffffff08;border-radius:6px;align-items:center;gap:.214rem;padding:.357rem .571rem;transition:border-color .12s,background .12s;display:flex}.field__control:focus-within{background:#ffffff0d;border-color:#6dd5ed66}.field__prefix{opacity:.35;-webkit-user-select:none;user-select:none;font-size:.786rem}.field__input{color:var(--text-base);font-family:var(--mono-stack);font-variant-numeric:tabular-nums;background:0 0;border:none;outline:none;width:100%;padding:0;font-size:.857rem}.field__input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.field__input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.field__input[type=number]{-moz-appearance:textfield}.field__select{background:var(--bg-base);border:1px solid var(--border-soft);color:var(--text-base);font-family:var(--mono-stack);cursor:pointer;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;border-radius:.286rem;width:100%;padding:.214rem .357rem;font-size:.786rem}.field__select:focus{outline:1px solid var(--accent);border-color:var(--accent)}.contrib-slider{margin-top:.429rem}.contrib-slider__head{justify-content:space-between;align-items:baseline;margin-bottom:.143rem;display:flex}.contrib-slider__label{opacity:.5;font-size:.714rem}.contrib-slider__value{font-variant-numeric:tabular-nums;opacity:.5;font-size:.714rem}.contrib-slider__status{opacity:.6;margin-top:-.071rem;font-size:.643rem}.contrib-slider--dimmed{opacity:.35}.contrib-slider__phaseout{color:#f59e0b;font-weight:500}.contrib-slider--dimmed .contrib-slider__phaseout{color:#ef4444}.contrib-slider__eligible{color:#f59e0b}.contrib-slider--dimmed .contrib-slider__eligible{color:#ef4444}.controls{border-bottom:1px solid var(--border-softer);flex-direction:column;gap:.571rem;padding:.857rem 0;display:flex}.rate-slider{flex-direction:column;gap:.143rem;display:flex}.rate-slider__head{justify-content:space-between;align-items:baseline;display:flex}.rate-slider__label{opacity:.45;font-size:.714rem}.rate-slider__value{font-variant-numeric:tabular-nums;font-size:.786rem;font-weight:600}.rate-slider__value--cyan{color:var(--accent-cyan)}.rate-slider__value--purple{color:var(--accent-purple)}.rate-slider__value--green{color:var(--accent-green)}.slider__input{width:100%;accent-color:var(--accent-cyan);height:4px}.slider__input--purple{accent-color:var(--accent-purple)}.slider__input--green{accent-color:var(--accent-green)}.card{background:var(--bg-card);border:1px solid var(--border-soft);border-radius:1.143rem}.card--subtle{background:var(--bg-card);border:1px solid var(--border-softer);border-radius:.857rem}.chart-card{-webkit-user-select:none;user-select:none;touch-action:none;margin-bottom:1.714rem;padding:1.429rem .857rem .857rem 0}.chart-card--grab,.chart-card--grab *{cursor:ew-resize!important}.chart-card,.chart-card *,.chart-card :focus,.chart-card :focus-visible{outline:none!important}.chart-card__legend{justify-content:center;gap:1.714rem;padding-top:.571rem;font-size:.786rem;display:flex}.chart-card__legend-dot{border-radius:999px;width:6px;height:6px;margin-right:.429rem;display:inline-block;transform:translateY(-1px)}.chart-tooltip{color:var(--text-body);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#1a1a2e;border:1px solid #ffffff1a;border-radius:10px;min-width:200px;padding:1rem 1.286rem;font-size:.929rem;line-height:1.7}.chart-tooltip__head{color:var(--text-strong);margin-bottom:.429rem;font-size:1.071rem;font-weight:700}.chart-tooltip__row{justify-content:space-between;gap:1.714rem;display:flex}.chart-tooltip__row--strong{font-weight:600}.chart-tooltip__section{border-top:1px solid #ffffff14;margin-top:.429rem;padding-top:.429rem}.chart-tooltip__label-purple{color:var(--accent-purple)}.chart-tooltip__label-cyan{color:var(--accent-cyan)}.chart-tooltip__label-green{color:var(--accent-green)}.chart-tooltip__label-pink{color:var(--accent-pink)}.chart-tooltip__label-muted{opacity:.6}.milestones{margin-bottom:1.714rem}.milestone-strip{flex-wrap:wrap;gap:.429rem;display:flex}.milestone-pill{background:var(--bg-card);border:1px solid var(--border-softer);cursor:pointer;font-family:var(--mono-stack);color:var(--text-base);border-radius:.714rem;flex-direction:column;flex:1;align-items:center;gap:.143rem;min-width:80px;padding:.714rem 1.143rem;transition:background .12s,border-color .12s;display:flex}.milestone-pill:hover{border-color:var(--border-soft);background:#ffffff0a}.milestone-pill--active{background:#8884d814;border-color:#8884d833}.milestone-pill__age{opacity:.4;font-size:.714rem}.milestone-pill__value{font-variant-numeric:tabular-nums;font-size:.929rem;font-weight:700}.milestone-detail{background:var(--bg-card);border:1px solid var(--border-softer);border-radius:.714rem;flex-wrap:wrap;gap:1.714rem;margin-top:.571rem;padding:.857rem 1.143rem;font-size:.786rem;display:flex}.milestone-detail__row{opacity:.5;gap:.571rem;display:flex}.milestone-detail__row span:last-child{font-variant-numeric:tabular-nums}.milestone-detail__divider{background:var(--border-soft);align-self:stretch;width:1px}.year-table-card{overflow:hidden}.year-table-card__heading{opacity:.35;letter-spacing:1px;text-transform:uppercase;margin:0;padding:1.143rem 1.429rem .714rem;font-size:.857rem;font-weight:600}.year-table-wrap{overflow-x:auto}.year-table{border-collapse:collapse;width:100%;font-size:.786rem}.year-table thead tr{border-bottom:1px solid #ffffff14}.year-table th{text-align:right;opacity:.35;letter-spacing:.5px;text-transform:uppercase;padding:.571rem .857rem;font-size:.643rem;font-weight:500}.year-table th:first-child,.year-table td:first-child{text-align:left}.year-table tbody tr{border-bottom:1px solid var(--border-hairline)}.year-table tbody tr.milestone{background:#8884d80f}.year-table td{text-align:right;font-variant-numeric:tabular-nums;padding:.429rem .857rem}.year-table td.age-cell{color:inherit;font-weight:400}.year-table tbody tr.milestone td.age-cell{color:var(--accent-purple);font-weight:700}.year-table td.networth-cell{color:var(--text-base);font-weight:700}.year-table tbody tr.milestone td.networth-cell{color:var(--accent-cyan)}.year-table td.muted-heavy{opacity:.5}.year-table td.muted{opacity:.6}.year-table td.muted-soft{opacity:.7}@media (width<=900px){.dashboard{flex-direction:column}.sidebar{width:100%;min-width:unset;border-right:none;border-bottom:1px solid var(--border-soft);height:auto;padding:1.429rem 1.143rem;position:static}.sidebar__assumptions{display:none}.main{padding:1.429rem 1.143rem}.main__header{flex-direction:column;gap:.571rem}.milestone-strip{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;overflow-x:auto}.milestone-pill{flex:none}}.roth-conversions{flex-direction:column;gap:.357rem;margin-top:.286rem;display:flex}.roth-conversions__row{grid-template-columns:1fr 1fr 1.6fr auto;align-items:end;gap:.286rem;display:grid}.roth-conversions__field{flex-direction:column;gap:.143rem;display:flex}.roth-conversions__field span{letter-spacing:.4px;text-transform:uppercase;opacity:.45;font-size:.571rem}.roth-conversions__field input{border:1px solid var(--border-soft);color:var(--text-base);font-family:var(--mono-stack);box-sizing:border-box;font-variant-numeric:tabular-nums;background:#ffffff0a;border-radius:4px;width:100%;padding:.286rem .429rem;font-size:.714rem}.roth-conversions__field input:focus,.roth-conversions__field select:focus{border-color:#48c77473;outline:none}.roth-conversions__field select{border:1px solid var(--border-soft);color:var(--text-base);font-family:var(--mono-stack);box-sizing:border-box;background:#ffffff0a;border-radius:4px;width:100%;padding:.286rem .429rem;font-size:.714rem}.equity-editor__row--exercise{grid-template-columns:.8fr 1fr 1.6fr auto}.roth-conversions__subgroup{margin-top:.5rem}.roth-conversions__subgroup:first-child{margin-top:0}.roth-conversions__subgroup-label{letter-spacing:.4px;text-transform:uppercase;opacity:.5;margin-bottom:.357rem;font-size:.571rem}.roth-conversions__add{color:#48c774;font-family:var(--mono-stack);letter-spacing:.4px;cursor:pointer;background:#48c77414;border:1px dashed #48c77459;border-radius:6px;align-self:flex-start;padding:.357rem .714rem;font-size:.643rem;transition:background .12s,border-color .12s}.roth-conversions__add:hover{background:#48c77424;border-color:#48c7748c}.roth-conversions__remove{color:#ef4444;cursor:pointer;background:#ef44441f;border:1px solid #ef44444d;border-radius:4px;justify-content:center;align-items:center;width:1.571rem;height:1.571rem;padding:0;font-size:.857rem;line-height:1;display:flex}.roth-conversions__remove:hover{background:#ef444438}.settings__inline-btn{align-self:flex-start;width:auto;height:auto;margin-top:.429rem;padding:.286rem .571rem;font-size:.643rem}
