:root{--background:var(--paper);--foreground:var(--ink);--panel:var(--surface);--panel-2:var(--surface-2);--line:var(--hairline);--accent-2:var(--warning);--radius-md:var(--radius)}html{height:100%;font-size:15px}html,body{max-width:100vw;overflow-x:clip}body{min-height:100%;color:var(--foreground);background:var(--background);font-family:var(--font-sans);font-size:var(--fs-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;flex-direction:column;line-height:1.5;display:flex}h1,h2,h3,h4,.brand strong,.goalProgressPct{font-family:var(--font-serif);letter-spacing:-.01em;font-weight:600}*{box-sizing:border-box;margin:0;padding:0}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}button,input,select{font:inherit}button{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:999px;padding:.62rem .86rem;font-weight:600}button:disabled{cursor:wait;opacity:.65}.secondaryButton,.iconButton{border:1px solid var(--line);color:var(--foreground);background:0 0}.iconButton{width:38px;height:38px;padding:0}.appFrame{grid-template-columns:250px minmax(0,1fr);min-height:100vh;display:grid}.authFrame{place-items:center;min-height:100vh;padding:24px;display:grid}.authPanel{background:var(--surface);border:1px solid var(--line);width:100%;max-width:380px;box-shadow:var(--shadow);border-radius:14px;flex-direction:column;gap:14px;padding:28px;display:flex}.authBrand{margin-bottom:4px}.authError{color:#f56;font-size:.85rem}.formError{color:var(--danger);margin:8px 0 0;font-size:.85rem}.authSwitch{text-align:center}.authDivider{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:10px;font-size:.78rem;display:flex}.authDivider:before,.authDivider:after{content:"";background:var(--line);flex:1;height:1px}.authDemoButton{width:100%}.authDemoHint{text-align:center;font-size:.75rem}.preferenceRow{justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.preferenceRow+.preferenceRow{border-top:1px solid var(--line)}.preferenceRow>span{font-size:.9rem}.moversGrid>div>h3{margin:0 0 4px;font-size:.95rem}.moverList{gap:6px;margin:0;list-style:none;display:grid}.moverList li{grid-template-columns:1fr auto auto;align-items:baseline;gap:10px;font-size:.88rem;display:grid}.moverName{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.moverPct{color:var(--muted);font-size:.78rem}.logoutButton{width:100%;margin-top:8px}.onboardingPanel{text-align:center;padding:48px 24px}.onboardingActions{margin-top:16px}.goalList{flex-direction:column;gap:8px;display:flex}.goalList li{justify-content:space-between;align-items:center;gap:12px;display:flex}.goalRowButton{border-radius:var(--radius-sm);min-width:0;color:var(--ink);text-align:left;font-weight:inherit;background:0 0;border:0;flex-direction:column;flex:1;gap:2px;padding:4px 0;display:flex}.goalRowButton:hover strong,.goalList li.activeGoal .goalRowButton strong{color:var(--accent)}.goalListActions{align-items:center;gap:10px;display:flex}.goalHeroTop{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.goalStats strong{font-size:var(--fs-lg)}.goalPreview{border:1px dashed var(--line);border-radius:var(--radius-md);color:var(--muted);font-size:var(--fs-sm);text-align:center;background:color-mix(in srgb, var(--surface) 80%, transparent);margin:0;padding:10px 14px}.staleTag{color:#f56;font-size:.78rem;font-style:normal;font-weight:600}.freshTag{color:#4c9;font-size:.78rem;font-weight:600}.closedTag{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;border:1px solid var(--line);border-radius:999px;margin-left:6px;padding:1px 6px;font-size:.72rem;font-style:normal;font-weight:600}.positive{color:var(--positive);font-weight:600}.negative{color:var(--negative);font-weight:600}.overviewHero{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);gap:8px;padding:22px 24px;display:grid}.overviewTotal{font-family:var(--font-serif);font-size:var(--fs-2xl);letter-spacing:-.02em;margin:0;font-weight:600}.overviewChangeRow{font-size:var(--fs-base);flex-wrap:wrap;align-items:center;gap:10px;font-weight:600;display:flex}.overviewChangeRow em{color:var(--muted);font-style:normal;font-weight:500}.overviewChangeRow .changeAsOf{font-size:var(--fs-xs);color:var(--muted);font-weight:500}.overviewStats{flex-wrap:wrap;gap:24px;margin-top:10px;display:flex}.overviewStats span{gap:2px;display:grid}.overviewStats em{color:var(--muted);font-style:normal;font-size:var(--fs-xs)}.overviewStats strong{font-size:var(--fs-base);font-weight:600}.overviewGoal{border-top:1px solid var(--line);grid-template-columns:auto 1fr auto;align-items:center;gap:12px;margin-top:14px;padding-top:14px;display:grid}.overviewGoalLabel{font-size:var(--fs-xs);color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.overviewGoalAmount{font-size:var(--fs-xs);color:var(--muted);white-space:nowrap}.simHeaderNote{margin-top:2px}.simInfoLink{color:var(--accent);font-size:var(--fs-xs);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;border-radius:0;margin-left:8px;padding:0;font-weight:600;text-decoration:underline}.simInfoLink:hover{color:var(--accent-strong)}.simExplainFull{border-radius:var(--radius);background:var(--surface-2);color:var(--muted);font-size:var(--fs-xs);max-width:72ch;margin-top:12px;padding:12px 14px;line-height:1.6}.simBody{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:28px;margin-top:20px;display:grid}.simControls{align-content:start;gap:20px;display:grid}.simAdvanced{gap:16px;display:grid}.simResult{align-content:start;gap:18px;display:grid}.simSlider{gap:8px;display:grid}.simSliderHead{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.simSliderHead em{color:var(--muted);font-style:normal;font-size:var(--fs-xs)}.simSliderHead strong{font-weight:600}.simSliderHint{color:var(--muted);font-size:var(--fs-xs)}.simContributionSlider{gap:10px}.simTrackWrap{align-items:center;display:grid;position:relative}.simMarker{background:var(--accent);border:2px solid var(--surface);width:10px;height:10px;box-shadow:0 0 0 1px var(--accent);pointer-events:none;border-radius:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.simMarker.deposits{background:var(--warning);box-shadow:0 0 0 1px var(--warning)}.simReach{border:1px solid var(--hairline);border-radius:var(--radius-lg);background:linear-gradient(145deg, var(--surface-2), var(--surface));box-shadow:var(--shadow-sm);gap:4px;padding:20px 22px;display:grid}.simReach em{color:var(--muted);font-style:normal;font-size:var(--fs-xs)}.simReach strong{font-family:var(--font-serif);letter-spacing:-.02em;font-size:clamp(2rem,4.5vw,3.1rem);font-weight:600;line-height:1.05}.simReachAway{font-size:var(--fs-sm);color:var(--muted);white-space:nowrap;font-weight:500}.simBadge{background:var(--accent-soft);color:var(--accent-strong);font-size:var(--fs-xs);border-radius:999px;justify-self:start;margin-top:8px;padding:4px 12px;font-weight:600}.simAtReturn{color:var(--muted);font-size:var(--fs-2xs)}.simTimeline{border:1px solid var(--hairline);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);padding:14px 16px}.simTimelineTrack{background:var(--surface-2);border:1px solid var(--hairline);border-radius:999px;height:10px;position:relative}.simTimelineFill{background:linear-gradient(90deg, var(--accent-soft), var(--accent));border-radius:999px;transition:width .25s;position:absolute;top:0;bottom:0;left:0}.simTimelineMarker{background:var(--accent);border:3px solid var(--surface);border-radius:50%;width:16px;height:16px;transition:left .25s;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 1px 4px #00000040}.simTimelineMarker.plan{background:var(--muted)}.simTimelineLabels{height:18px;font-size:var(--fs-2xs);color:var(--muted);white-space:nowrap;margin-top:8px;position:relative}.simTimelineEnd{position:absolute;top:0}.simTimelineEnd.target{right:0}.simTimelineTag{color:var(--ink-soft);font-weight:600;position:absolute;top:0;transform:translate(-50%)}.simTimelineTag.chosen{color:var(--accent-strong)}.simTimelineTag.at-end{transform:translate(-100%)}.simActions{gap:10px;display:flex}.simChartWrap{border-top:1px solid var(--hairline);margin-top:28px;padding-top:24px}.recentList{gap:4px;list-style:none;display:grid}.recentList li{border-bottom:1px solid var(--hairline);grid-template-columns:auto 1fr auto auto;align-items:center;gap:10px;padding:8px 4px;display:grid}.recentList li:last-child{border-bottom:0}.recentName{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.recentMeta{color:var(--muted);font-size:var(--fs-xs);white-space:nowrap}.recentAmount{white-space:nowrap;font-weight:600}.periodToggle{border:1px solid var(--line);border-radius:999px;display:inline-flex;overflow:hidden}.periodToggle button{color:var(--muted);font-size:var(--fs-xs);background:0 0;border:0;border-radius:0;padding:.32rem .7rem;font-weight:600}.periodToggle button.active{background:var(--accent-soft);color:var(--accent-strong)}.importNav{border-bottom:1px solid var(--line);overscroll-behavior-x:contain;align-items:center;gap:0;margin-bottom:16px;display:flex;overflow-x:auto}.importNav button{color:var(--muted);white-space:nowrap;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-1px;padding:.6rem .85rem;font-size:.86rem;display:inline-flex}.importNav button svg{color:var(--muted);flex-shrink:0}.importNav button.active{color:var(--ink);border-bottom-color:var(--accent)}.importNav button.active svg{color:var(--accent)}.importNav button:hover:not(.active){color:var(--ink-soft)}.dropzone{border:1.5px dashed var(--line);border-radius:var(--radius);background:var(--surface-2);color:var(--muted);text-align:center;cursor:pointer;place-items:center;gap:6px;padding:28px 16px;transition:border-color .15s,background .15s;display:grid}.dropzone:hover{border-color:var(--accent);background:var(--accent-soft)}.dropzone input{display:none}.dropzone svg{color:var(--accent)}.dropzone strong{color:var(--ink-soft);font-size:var(--fs-sm)}.dropzone span{font-size:var(--fs-xs)}.dropzoneFiles{font-style:normal;font-size:var(--fs-xs);color:var(--accent-strong)}.reviewBadge{background:var(--danger);color:#fff;border-radius:999px;place-items:center;min-width:1.15rem;height:1.15rem;margin-left:6px;padding:0 4px;font-size:.68rem;font-weight:700;line-height:1;display:inline-grid}.donutLegend{gap:6px;margin-top:8px;list-style:none;display:grid}.donutLegend li{font-size:var(--fs-xs);color:var(--ink-soft);grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.donutName{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.donutFigures{justify-items:end;gap:1px;display:grid}.donutFigures em{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.72rem;font-style:normal}.donutDot{border-radius:999px;width:10px;height:10px}.donutLegend strong{color:var(--ink);font-weight:600}.donutTip{border:1px solid var(--hairline);background:var(--surface);box-shadow:var(--shadow-sm);border-radius:10px;gap:2px;padding:8px 11px;font-size:.78rem;display:grid}.donutTip strong{font-size:.8rem}.donutTipCode{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.72rem}.donutTipValue{color:var(--muted);font-variant-numeric:tabular-nums}.donutTipValue b{color:var(--ink)}.returnBreakdown{gap:12px;display:grid}.returnBar{background:var(--surface-2);border-radius:999px;height:12px;display:flex;overflow:hidden}.returnBar span.unrealized{background:var(--accent)}.returnBar span.realized{background:var(--accent-strong)}.returnBar span.dividends{background:var(--positive)}.returnLegend{gap:8px;list-style:none;display:grid}.returnLegend li{font-size:var(--fs-sm);grid-template-columns:12px 1fr auto;align-items:center;gap:8px;display:grid}.returnLegend .dot{border-radius:999px;width:12px;height:12px}.returnLegend .dot.unrealized{background:var(--accent)}.returnLegend .dot.realized{background:var(--accent-strong)}.returnLegend .dot.dividends{background:var(--positive)}.returnLegend .dot.interest{background:var(--warning)}.returnLegend .dot.costs{background:var(--negative)}.returnBar span.interest{background:var(--warning)}.returnBar span.costs{background:var(--negative)}.returnCostsLine{font-size:var(--fs-sm);color:var(--muted);margin-top:12px}.returnNetLine{font-size:var(--fs-sm);color:var(--muted);margin-top:4px}.checkRow{align-items:center;gap:8px;font-size:.85rem;display:flex}.importSummary{color:#4c9;font-size:.85rem}.importSessions{flex-direction:column;gap:16px;display:flex}.importSession{border:1px solid var(--line);border-radius:10px;padding:12px}.importSessionHead{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.reviewDesc{text-overflow:ellipsis;white-space:nowrap;max-width:340px;overflow:hidden}.mcBand{margin-top:16px}.mcArea{fill:#4c99782e}.mcArea.inner{fill:#4c997847}.mcLine{fill:none;stroke:#4c9978;stroke-width:2px}.sidebar{border-right:1px solid var(--line);background:var(--paper);flex-direction:column;align-self:start;height:100vh;padding:20px;display:flex;position:sticky;top:0;overflow-y:auto}.languageSelect{font-size:var(--fs-xs);color:var(--muted);gap:4px;margin-bottom:10px;display:grid}.languageSelect span{text-transform:uppercase;letter-spacing:.06em}.languageSelect select{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);width:100%;color:var(--ink);font-size:var(--fs-sm);cursor:pointer;padding:.45rem .5rem}.brand{align-items:center;gap:12px;margin-bottom:22px;display:flex}.brand span{background:var(--accent);color:#fff;border-radius:12px;place-items:center;width:36px;height:36px;font-weight:900;display:grid}.mainNav,.utilityNav{gap:8px;display:grid}.mobileNavSelect{display:none}.utilityNav{border-top:1px solid var(--line);margin-top:22px;padding-top:18px}.mainNav a,.utilityNav a{color:var(--muted);border:1px solid #0000;border-radius:15px;grid-template-columns:auto 1fr;align-items:center;gap:10px;padding:10px 12px;display:grid}.mainNav a>svg,.utilityNav a>svg{color:var(--muted)}.mainNav a.active>svg,.mainNav a:hover>svg,.utilityNav a.active>svg,.utilityNav a:hover>svg{color:var(--accent)}.mainNav a .navText,.utilityNav a .navText{gap:3px;min-width:0;display:grid}.utilityNav a{border-radius:14px;padding:8px 10px;font-size:.86rem}.mainNav a strong,.utilityNav a strong{color:var(--foreground)}.mainNav a .navText span,.utilityNav a .navText span{font-size:.72rem}.mainNav a.active,.mainNav a:hover,.utilityNav a.active,.utilityNav a:hover{border-color:var(--line);background:var(--panel)}.contentFrame{width:min(1320px,100vw - 250px);min-width:0;padding:22px}.contentFrame>*+*{margin-top:16px}.settingsPage{gap:16px;width:min(1000px,100vw - 32px);margin:0 auto;padding:18px 0 22px;display:grid}.settingsDescription{color:var(--muted);margin-top:2px;font-size:.9rem}.settingsForm{max-width:520px}.topbar,.panelHeader,.scopeNav,.cards,.grid{gap:12px;display:grid}.topbar{grid-template-columns:1fr auto;align-items:end;margin-bottom:16px}.mobileBrand,.bottomNav{display:none}.scopeSwitcher{font-size:var(--fs-2xs);color:var(--muted);flex-direction:column;align-items:flex-end;gap:4px;display:flex}.scopeSwitcher>span{text-transform:uppercase;letter-spacing:.06em}.scopeSwitcher select{min-width:160px}.eyebrow{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:700}h1{letter-spacing:-.05em;font-size:clamp(1.55rem,2.4vw,2.45rem)}h2{margin-bottom:9px;font-size:1.12rem}.muted,.empty{color:var(--muted)}.scopeNav{overscroll-behavior-x:contain;border-bottom:1px solid var(--line);grid-auto-flow:column;align-content:center;gap:0;max-width:100%;overflow-x:auto}.scopeNav a{color:var(--muted);white-space:nowrap;border:none;border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-1px;padding:.6rem .85rem;font-size:.86rem;display:inline-flex}.scopeNav a svg{color:var(--muted);flex-shrink:0}.scopeNav a.active{color:var(--ink);border-bottom-color:var(--accent)}.scopeNav a.active svg{color:var(--accent)}.scopeNav a:hover:not(.active),.scopeNav a:hover:not(.active) svg{color:var(--ink-soft)}.cards{grid-template-columns:repeat(6,1fr)}.cards.four{grid-template-columns:repeat(4,1fr)}.scenarioCards{gap:12px;margin-bottom:12px;display:grid}.goalProgressHero{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);gap:12px;margin-bottom:12px;padding:16px;display:grid}.goalProgressTop{grid-template-columns:auto 1fr auto;align-items:center;gap:12px;display:grid}.goalProgressPct{letter-spacing:-.04em;margin:0;font-size:clamp(1.45rem,2.6vw,2.1rem);font-weight:800}.goalProgressAmount{color:var(--muted);justify-self:end;font-size:.92rem;font-weight:700}.goalProgressTrack{background:var(--surface-2);border-radius:999px;height:18px;overflow:hidden}.goalProgressTrack span{border-radius:inherit;background:linear-gradient(90deg, var(--accent), var(--accent-strong));height:100%;display:block}.scenarioCards{grid-template-columns:repeat(3,1fr)}.card,.panel{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.card{min-width:0;padding:14px}.card span,.card em{color:var(--muted);font-style:normal;display:block}.card strong{overflow-wrap:anywhere;margin-top:6px;font-size:1.12rem;display:block}.goalMetricCard .empty{margin-top:8px}.grid.two{grid-template-columns:1.35fr 1fr}.grid>*,.cards>*,.panelHeader>*,.topbar>*{min-width:0}.panel{padding:16px;overflow:hidden}.panelHeader{grid-template-columns:1fr auto;align-items:start}.panelActions{align-items:center;gap:8px;display:flex}.panelActions select{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);font:inherit;font-size:var(--fs-sm);padding:4px 8px}.targetInput{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);width:72px;color:var(--ink);font:inherit;font-size:var(--fs-sm);text-align:right;padding:3px 8px}.addTargetRow{align-items:center;gap:6px;display:flex}.sumOff{color:var(--negative);font-weight:600}.inlineLabel{font-size:var(--fs-sm);color:var(--muted);align-items:center;gap:10px;margin-bottom:12px;display:flex}.inlineLabel input{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);width:140px;color:var(--ink);font:inherit;padding:6px 10px}.form .inlineLabel{margin-bottom:0}.tall{min-height:320px}.chart{border-bottom:1px solid var(--line);align-items:end;gap:6px;height:220px;margin-top:18px;display:flex}.scenarioChart{width:100%;min-width:720px;height:320px;margin-top:12px;overflow:visible}.chartScroll{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;max-width:100%;overflow-x:auto}.chartAxis{stroke:#93a9a1bf;stroke-width:1.5px}.chartGrid{stroke:#93a9a124}.chartGrid.vertical{stroke:#93a9a114}.chartTick{fill:var(--muted);font-size:.64rem}.yTick{text-anchor:end}.xTick{text-anchor:middle;font-size:.72rem}.targetLine{stroke:var(--accent-2);stroke-dasharray:8 8}.nominalTargetLine{stroke:var(--muted);fill:var(--muted)}.adjustedTargetLine{stroke:var(--accent-2);fill:var(--accent-2)}.chartLabel{fill:var(--accent-2);paint-order:normal;stroke:none;font-size:.7rem;font-weight:400}.scenarioLine path{fill:none;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.scenarioLine circle{fill:var(--background);stroke-width:3px}.scenarioLine.bad path,.scenarioLine.bad circle,.legendItem.bad:before{stroke:#ff9d9d;background:#ff9d9d}.scenarioLine.safe path,.scenarioLine.safe circle,.legendItem.safe:before{stroke:var(--accent);background:var(--accent)}.scenarioLine.best path,.scenarioLine.best circle,.legendItem.best:before{stroke:var(--accent-2);background:var(--accent-2)}.chartLegend{flex-wrap:wrap;justify-content:end;gap:7px;display:flex}.rankedBars{gap:11px;display:grid}.rankedBarRow{gap:8px;display:grid}.rankedBarRow div:first-child,.progressSummaryTop{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.rankedBarRow span,.progressSummaryTop span{color:var(--muted)}.rankedBarTrack{background:var(--surface-2);border-radius:999px;height:12px;overflow:hidden}.rankedBarTrack span{border-radius:inherit;background:var(--accent);height:100%;display:block}.progressSummary{gap:10px;margin-top:8px;display:grid}.legendItem{color:var(--muted);align-items:center;gap:6px;font-size:.78rem;display:inline-flex}.legendItem:before{content:"";border-radius:999px;width:10px;height:10px}.yearlyProjection{border-top:1px solid var(--line);gap:14px;margin-top:22px;padding-top:18px;display:grid}.yearlyProjection h3{margin:0 0 4px}.yearlyProjectionList{gap:10px;display:grid}.yearlyProjectionRow{border:1px solid var(--line);background:#10201a7a;border-radius:16px;grid-template-columns:minmax(150px,.75fr) minmax(0,2fr);align-items:center;gap:12px;padding:12px;display:grid}.yearlyProjectionDate,.yearlyScenario{gap:4px;display:grid}.yearlyProjectionDate strong{font-size:1rem}.yearlyProjectionDate span,.yearlyScenario em{color:var(--muted);font-size:.74rem;font-style:normal}.yearlyProjectionValues{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.yearlyScenario{background:var(--surface-2);border-radius:12px;padding:10px}.yearlyScenario strong{font-size:.95rem}.yearlyScenario.reached strong{color:var(--accent)}.scenarioCard{border:1px solid var(--line);background:#10201ab8;border-radius:18px;padding:12px}.compactScenarios{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.compactScenarios .scenarioCard{box-shadow:none;background:#10201a6b}.scenarioCard span,.scenarioCard p,.scenarioCard em{color:var(--muted);font-style:normal}.scenarioCard strong{margin:6px 0;font-size:1.02rem;display:block}.compactScenarios .scenarioCard strong{font-size:.92rem}.compactScenarios .scenarioCard p{display:none}.bar{background:var(--accent);border-radius:10px 10px 0 0;flex:1;min-width:12px;position:relative}.bar span{color:var(--muted);font-size:.75rem;position:absolute;bottom:-24px;left:50%;transform:translate(-50%)}.goalBox{gap:8px;margin-bottom:18px;display:grid}.goalBox.spacious{gap:16px}.progress{background:var(--surface-2);border-radius:99px;width:100%;height:12px;overflow:hidden}.progress.large{height:14px}.progress span{background:var(--accent);height:100%;display:block}.formSection{gap:12px;display:grid}.formSection.secondary{border-top:1px solid var(--line);padding-top:12px}.formSection h3{font-size:1rem}.leadText{color:var(--foreground);margin-bottom:8px;line-height:1.5}.compactMetricGrid{margin-top:18px}.breakdownPanel{margin-bottom:16px}.form{gap:10px;display:grid}.formGrid.three{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.modalOverlay{z-index:20;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000a3;position:fixed;inset:0}.modalPanel{z-index:21;border:1px solid var(--line);background:linear-gradient(145deg, var(--panel), var(--panel-2));border-radius:22px;width:min(720px,100vw - 36px);max-height:calc(100vh - 36px);padding:16px;position:fixed;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%);box-shadow:0 30px 90px #00000073}.modalActions{justify-content:end;gap:10px;display:flex}label{color:var(--muted);gap:6px;display:grid}input,select{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--ink);border-radius:12px;padding:.62rem .72rem}input[type=checkbox],input[type=radio]{flex-shrink:0;width:auto}input::placeholder{color:var(--muted)}select option{background:var(--surface);color:var(--ink)}.list{color:var(--muted);gap:8px;margin-top:18px;display:grid}.allocationList{gap:16px;display:grid}.allocationRow{gap:8px;display:grid}.allocationRow div:first-child{justify-content:space-between;gap:16px;display:flex}.allocationRow span{color:var(--muted)}.textLink{width:fit-content;color:var(--accent);margin-top:12px;font-size:.9rem;font-weight:700;display:inline-flex}.splitActions{margin:14px 0}.tableWrap{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;max-width:100%;overflow-x:auto}.panel .tableWrap{margin-inline:-4px;padding-inline:4px}.tableWrap.compact table{min-width:460px}table{border-collapse:collapse;width:100%;min-width:760px;font-size:.82rem}th,td{border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;padding:.58rem .65rem}th{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.68rem}.cardList{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.dataCard{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:.5rem .75rem}.dataCardRow{justify-content:space-between;align-items:baseline;gap:var(--space-3);border-bottom:1px solid var(--line);padding:.34rem 0;display:flex}.dataCardRow:last-child{border-bottom:none}.dataCardLabel{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;flex:none;font-size:.68rem}.dataCardValue{text-align:right;overflow-wrap:anywhere;min-width:0}.pill{background:var(--surface-2);color:var(--ink-soft);border-radius:999px;padding:.3rem .55rem;font-size:.75rem;font-weight:800;display:inline-flex}.pill.buy{color:var(--accent)}.pill.sell{color:var(--accent-2)}@media (width<=960px){html{font-size:14px}.simBody{grid-template-columns:1fr;gap:24px}body{padding-bottom:72px}.appFrame{grid-template-columns:1fr}.sidebar{display:none}.contentFrame{width:100%;padding:14px 14px 24px}.settingsPage{padding:14px}.topbar{align-items:center;gap:10px;margin-bottom:18px;display:flex}.mobileBrand{font-family:var(--font-serif);color:var(--ink);flex-shrink:0;align-items:center;gap:8px;margin-right:4px;font-size:.85rem;font-weight:600;display:flex}.mobileBrand strong{display:none}.topbar>div:nth-child(2){flex:1;min-width:0}.topbar h1{white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:1.05rem;line-height:1.25;overflow:hidden}.topbar .eyebrow,.topbar .muted{display:none}.scopeSwitcher{flex-shrink:0;align-items:center}.scopeSwitcher>span{display:none}.scopeSwitcher select{min-width:0;max-width:132px}.mobileBrand span{background:var(--accent);color:#fff;width:28px;height:28px;font-family:var(--font-sans);border-radius:9px;place-items:center;font-size:.72rem;font-weight:700;display:grid}.bottomNav{z-index:50;background:var(--surface);border-top:1px solid var(--line);padding:6px 4px calc(6px + env(safe-area-inset-bottom));box-shadow:var(--shadow);justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0}.bottomNav a{color:var(--muted);border-radius:10px;flex-direction:column;align-items:center;gap:3px;padding:5px 10px;font-size:.62rem;font-weight:600;text-decoration:none;display:flex}.bottomNav a svg{width:21px;height:21px}.bottomNav a.active{color:var(--accent-strong);background:var(--accent-soft)}.topbar,.grid.two,.scenarioCards,.formGrid.three,.cards,.cards.four{grid-template-columns:1fr}.goalProgressTop{grid-template-columns:1fr;align-items:start;gap:8px}.goalProgressAmount{justify-self:start}.rankedBarRow div:first-child,.progressSummaryTop{flex-direction:column;align-items:start;gap:4px}.scopeNav{grid-auto-flow:column;justify-content:start;padding-bottom:4px}.panelHeader{grid-template-columns:1fr}.panel,.card,.goalProgressHero,.scenarioCard{border-radius:16px}.panel{padding:16px}.cards,.grid.two,.scenarioCards,.breakdownPanel,.goalProgressHero{margin-bottom:16px}.chart{height:180px}.scenarioChart{min-width:720px;height:290px}.compactScenarios,.yearlyProjectionRow,.yearlyProjectionValues{grid-template-columns:1fr}table{min-width:680px;font-size:.78rem}th,td{padding:.52rem .58rem}}details.advancedSection{margin-top:var(--space-3);border:1px solid var(--hairline);border-radius:var(--radius);padding:var(--space-2) var(--space-3);background:var(--surface)}details.advancedSection>summary{cursor:pointer;font-weight:600;font-size:var(--fs-sm);color:var(--ink-soft);-webkit-user-select:none;user-select:none;margin-bottom:var(--space-2)}details.advancedSection>summary:hover{color:var(--accent)}a.secondaryButton{font-weight:600;font-size:var(--fs-sm);cursor:pointer;border-radius:999px;align-items:center;padding:.62rem .86rem;text-decoration:none;display:inline-flex}.dangerButton{border:1px solid var(--danger);color:var(--danger);cursor:pointer;background:0 0;border-radius:999px;padding:.62rem .86rem;font-weight:600}.dangerButton:hover{background:color-mix(in srgb, var(--danger) 10%, transparent)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}body{background:radial-gradient(1100px 520px at 100% -8%, color-mix(in srgb, var(--accent) 8%, transparent), transparent 60%), var(--paper)}h1,h2,h3,h4,.brand strong,.goalProgressPct,.overviewTotal{font-family:var(--font-sans);letter-spacing:-.02em}h1{letter-spacing:-.035em;font-weight:700}h2{font-weight:650}.sidebar{background:color-mix(in srgb, var(--surface) 55%, var(--paper));border-right:1px solid var(--hairline)}.brand span{background:var(--gradient-accent);box-shadow:var(--shadow-accent);border-radius:12px}.mainNav a,.utilityNav a{border-radius:12px;transition:background .15s,color .15s}.mainNav a:hover,.utilityNav a:hover{background:var(--surface-2);border-color:#0000}.mainNav a.active,.utilityNav a.active{background:var(--accent-soft);border-color:#0000}.mainNav a.active strong,.utilityNav a.active strong{color:var(--accent-strong)}.mainNav a.active>svg,.utilityNav a.active>svg{color:var(--accent)}.mainNav a.active .navText span,.mainNav a:hover .navText span,.utilityNav a.active .navText span,.utilityNav a:hover .navText span{color:var(--accent-strong)}.card,.panel{border:1px solid var(--hairline);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.panel{transition:box-shadow .18s,border-color .18s}.panel:hover{box-shadow:var(--shadow);border-color:color-mix(in srgb, var(--accent) 14%, var(--hairline))}.overviewHero{border:1px solid color-mix(in srgb, var(--accent) 18%, var(--hairline));border-radius:var(--radius-xl);background:radial-gradient(120% 150% at 0% 0%, color-mix(in srgb, var(--accent) 15%, transparent), transparent 55%), linear-gradient(180deg, var(--surface), color-mix(in srgb, var(--accent) 5%, var(--surface)));box-shadow:var(--shadow);padding:26px 28px}.overviewTotal{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-weight:700}.overviewTotalLg{font-size:clamp(2.1rem,3.4vw,3rem)}.overviewStats{gap:10px}.overviewStats span{border:1px solid var(--hairline);background:var(--surface);border-radius:12px;gap:3px;padding:8px 12px}.overviewStats em{text-transform:uppercase;letter-spacing:.05em;font-size:.66rem;font-weight:600}.overviewStats strong{font-variant-numeric:tabular-nums}button{background:var(--gradient-accent);box-shadow:0 1px 2px #0f172a1f, 0 8px 18px -10px color-mix(in srgb, var(--accent) 70%, transparent);border-radius:10px;transition:transform .12s,box-shadow .15s,filter .15s}button:hover:not(:disabled){filter:brightness(1.06);transform:translateY(-1px)}button:active:not(:disabled){transform:translateY(0)}.secondaryButton,.iconButton{background:var(--surface);border:1px solid var(--hairline);box-shadow:none}.secondaryButton:hover:not(:disabled),.iconButton:hover:not(:disabled){background:var(--accent-soft);border-color:color-mix(in srgb, var(--accent) 40%, var(--hairline));color:var(--accent-strong)}.textLink,.simInfoLink{box-shadow:none;color:var(--accent-strong);filter:none;background:0 0;border-radius:0;padding:0;transform:none}.textLink:hover:not(:disabled),.simInfoLink:hover:not(:disabled){box-shadow:none;filter:none;background:0 0;text-decoration:underline;transform:none}.dangerButton,.dangerButton:hover:not(:disabled){box-shadow:none;filter:none;background:0 0;transform:none}.dangerButton:hover:not(:disabled){background:color-mix(in srgb, var(--danger) 10%, transparent)}input,select{border:1px solid var(--hairline);background:var(--surface);border-radius:10px;transition:border-color .15s,box-shadow .15s}input:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent);outline:none}.panelActions select{border-radius:9px}.inlineLabel{white-space:nowrap}.panelActions .inlineLabel{margin-bottom:0}.inlineLabel input{border-radius:9px}.importNav,.scopeNav{background:var(--surface-2);border-bottom:none;border-radius:12px;gap:4px;width:fit-content;padding:4px}.importNav button,.scopeNav a{border-bottom:none;border-radius:9px;margin:0;padding:.5rem .8rem}.importNav button:hover:not(:disabled),.importNav button:hover:not(.active),.scopeNav a:hover:not(.active){filter:none;box-shadow:none;background:0 0;transform:none}.importNav button.active,.scopeNav a.active{background:var(--surface);box-shadow:var(--shadow-sm);border-bottom-color:#0000}.importNav button.active,.importNav button.active:hover,.scopeNav a.active,.scopeNav a.active:hover{filter:none;box-shadow:var(--shadow-sm);transform:none}.progress,.goalProgressTrack{background:var(--surface-2)}.progress span{background:var(--gradient-accent);border-radius:inherit}table{font-variant-numeric:tabular-nums}th{color:var(--muted);font-weight:600}tbody tr{transition:background .12s}tbody tr:hover{background:color-mix(in srgb, var(--accent) 5%, transparent)}.pill{border:1px solid var(--hairline)}.donutDot{box-shadow:0 0 0 2px var(--surface)}details.advancedSection{border-radius:var(--radius);background:color-mix(in srgb, var(--surface-2) 55%, var(--surface))}*{scrollbar-width:thin;scrollbar-color:var(--hairline) transparent}.heroTop{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.heroChips{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.heroChart{margin-top:6px;margin-inline:-8px}.chip{border:1px solid var(--hairline);background:var(--surface);border-radius:14px;grid-auto-flow:column;align-items:center;gap:10px;padding:8px 12px;display:grid}.chipIcon{background:var(--accent-soft);width:30px;height:30px;color:var(--accent);border-radius:10px;place-items:center;display:grid}.chipBody{gap:1px;display:grid}.chipBody em{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:.66rem;font-style:normal;font-weight:600}.chipBody strong{font-variant-numeric:tabular-nums;font-size:.95rem}.widgetRow{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;display:grid}.holdingsSection{gap:12px;display:grid}.holdingsHead{justify-content:space-between;align-items:center;gap:12px;display:flex}.holdingsHead h2{margin:0}.holdingTile.closed{border-style:dashed}.tileGrid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;display:grid}.holdingTile{gap:10px;display:grid}.holdingTileHead{align-items:center;gap:12px;display:flex}.holdingTileName{gap:3px;min-width:0;display:grid}.holdingTileName strong{font-size:.9rem;line-height:1.25}.holdingTileName span{color:var(--muted);font-size:.72rem}.holdingTileFoot{justify-content:space-between;align-items:baseline;display:flex}.holdingTileFoot>strong{font-variant-numeric:tabular-nums;font-size:1.15rem}.holdingTileFoot>span{font-size:.85rem;font-weight:700}.weightRing{flex-shrink:0}.weightRingText{fill:var(--ink);font-size:.68rem;font-weight:700}.timeline{gap:2px;list-style:none;display:grid}.timelineRow{grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:9px 0;display:grid}.timelineRow+.timelineRow{border-top:1px solid var(--hairline)}.timelineIcon{border-radius:999px;place-items:center;width:30px;height:30px;display:grid}.timelineIcon.in{background:color-mix(in srgb, var(--positive) 14%, transparent);color:var(--positive)}.timelineIcon.out{background:color-mix(in srgb, var(--negative) 14%, transparent);color:var(--negative)}.timelineBody{min-width:0;display:grid}.timelineBody strong{text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;overflow:hidden}.timelineBody span{color:var(--muted);font-size:.74rem}.timelineAmount{font-variant-numeric:tabular-nums}.moverBars{gap:10px;list-style:none;display:grid}.moverBars li{gap:5px;display:grid}.moverBarsHead{justify-content:space-between;gap:12px;min-width:0;font-size:.85rem;display:flex}.moverBarsHead>span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.moverBarsHead>strong{font-variant-numeric:tabular-nums;flex-shrink:0}.moverBarsTrack{background:var(--surface-2);border-radius:999px;height:7px;position:relative;overflow:hidden}.moverBarsTrack:before{content:"";background:var(--hairline);width:1px;position:absolute;top:0;bottom:0;left:50%}.moverBarsFill{border-radius:999px;position:absolute;top:0;bottom:0}.moverBarsFill.pos{background:var(--positive)}.moverBarsFill.neg{background:var(--negative)}.moverBarsFigures{flex-shrink:0;align-items:baseline;gap:8px;display:inline-flex}.moverBarsFigures em{font-variant-numeric:tabular-nums;opacity:.85;font-size:.75rem;font-style:normal}.widgetRowTwo{grid-template-columns:minmax(280px,.85fr) minmax(0,1.15fr)}.moverPanel{align-content:start;gap:10px;display:grid}.moverPanelHead{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;display:flex}.moverPanelHead h2{margin:0}.moverGroupLabel{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin-top:2px;font-size:.7rem;font-weight:700}@media (width<=860px){.widgetRowTwo{grid-template-columns:minmax(0,1fr)}}.infoPopover{vertical-align:middle;display:inline-flex;position:relative}.infoPopoverButton{background:var(--surface-2);width:18px;height:18px;color:var(--muted);box-shadow:none;border-radius:999px;padding:0;font-size:.68rem;font-weight:700;line-height:1}.infoPopoverButton:hover:not(:disabled){background:var(--accent-soft);color:var(--accent-strong);filter:none;transform:none}.infoPopoverBody{z-index:40;border:1px solid var(--hairline);background:var(--surface);width:min(280px,70vw);box-shadow:var(--shadow);color:var(--ink-soft);letter-spacing:0;text-transform:none;border-radius:12px;padding:10px 12px;font-size:.8rem;font-weight:400;line-height:1.45;position:absolute;top:calc(100% + 6px);left:0}.simHeaderMeta{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.planUpdating{font-size:.78rem}.planAmount{gap:8px;margin-top:16px;display:grid}.planAmountLabel{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-size:.66rem;font-weight:700}.planAmountField{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);cursor:text;align-items:center;gap:10px;min-width:0;padding:12px 18px;transition:border-color .15s,box-shadow .15s;display:flex}.planAmountField:hover{border-color:color-mix(in srgb, var(--accent) 35%, var(--line))}.planAmountField:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent)}.planAmountField svg{color:var(--muted);flex-shrink:0}.planAmountCurrency{color:var(--muted);font-size:1.1rem;font-weight:700}.planAmountField input{width:auto;min-width:0;box-shadow:none;color:var(--ink);font:inherit;letter-spacing:-.03em;font-variant-numeric:tabular-nums;appearance:textfield;background:0 0;border:none;border-radius:0;flex:1;padding:0;font-size:clamp(1.8rem,3vw,2.4rem);font-weight:700}.planAmountField input:focus{box-shadow:none;border:none;outline:none}.planAmountField input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.planAmountField input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.planGoalLine{color:var(--muted);flex-wrap:wrap;align-items:center;gap:2px 8px;margin:12px 0 0;font-size:.82rem;display:flex}.planGoalLine:before{content:"";background:var(--muted);border-radius:999px;flex-shrink:0;width:7px;height:7px}.planGoalLine.onTrack:before{background:var(--positive)}.planGoalLine.behind:before{background:var(--warning)}.planGoalLine.onTrack{color:var(--positive);font-weight:600}.planGoalLine.onTrack a{color:inherit}.planGoalLine.behind{color:var(--warning)}.planGoalLine.behind a{color:inherit}.planGoalLine a{color:var(--accent-strong);text-underline-offset:2px;font-weight:600;text-decoration:underline}.planPrompt{margin:16px 0 0;font-size:.9rem}.planBuy{margin-top:18px}.planBar{background:var(--surface-2);border-radius:999px;height:14px;display:flex;overflow:hidden}.planBar span{min-width:4px}.planBar.sell{background:0 0;gap:3px}.planBar.sell span{background:var(--negative);border-radius:4px}.planLines{margin:12px 0 0;padding:0;list-style:none;display:grid}.planLines li{border-bottom:1px solid var(--hairline);grid-template-columns:auto 1fr auto auto;align-items:center;gap:12px;padding:11px 0;display:grid}.planLines li:last-child{border-bottom:0}.planLineDot{border-radius:999px;width:10px;height:10px}.planLineName{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:600;overflow:hidden}.planLinePct{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.82rem}.planLineAmount{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:700}.planLines.sell .planLineDot{background:var(--negative)}.planLines.sell .planLinePct{color:var(--negative);font-weight:600}.planLines.sell .planLineAmount{color:var(--negative)}.planSectionHead{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:10px;display:flex}.planSectionHead span{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-size:.68rem;font-weight:700}.planSectionHead strong{font-variant-numeric:tabular-nums;color:var(--negative);font-size:1.1rem}.planSell{border-top:1px solid var(--hairline);margin-top:18px;padding-top:16px}.mixTable{margin-top:8px}.mixHead,.mixRow{grid-template-columns:minmax(140px,1.6fr) minmax(90px,1.5fr) 72px 84px minmax(120px,1.2fr);align-items:center;gap:10px 14px;display:grid}.mixHead{border-bottom:1px solid var(--hairline);letter-spacing:.05em;text-transform:uppercase;color:var(--muted);padding:0 2px 8px;font-size:.68rem;font-weight:700}.mixHead .mixNum{text-align:right}.mixRow{border-bottom:1px solid var(--hairline);padding:11px 2px;font-size:.9rem}.mixRow:last-child{border-bottom:0}.mixName{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:600;overflow:hidden}.mixBar{background:var(--surface-2);border-radius:999px;height:8px;display:block;position:relative;overflow:hidden}.mixBarCurrent{background:var(--accent);border-radius:999px;height:100%;display:block}.mixBarCurrent.over{background:var(--negative)}.mixBarTarget{background:var(--ink);border-radius:2px;width:2px;position:absolute;top:-2px;bottom:-2px}.mixCurrent,.mixTarget{text-align:right;font-variant-numeric:tabular-nums;color:var(--ink-soft)}.mixCurrent em,.mixTarget em{color:var(--muted);font-style:normal;font-weight:600;display:none}.mixTarget{justify-content:flex-end;display:flex}.mixGap{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}.mixGap .under{color:var(--positive)}.mixGap .over{color:var(--negative)}.mixGroupLabel{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin:18px 0 2px;font-size:.68rem;font-weight:700}@media (width<=720px){.mixHead{display:none}.mixRow{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name action""bar bar""current target";gap:8px 12px;padding:14px 2px}.mixName{grid-area:name}.mixGap{grid-area:action}.mixBarCell{grid-area:bar}.mixCurrent{text-align:left;grid-area:current}.mixTarget{grid-area:target;justify-content:flex-end}.mixCurrent em,.mixTarget em{text-transform:uppercase;letter-spacing:.04em;font-size:.62rem;display:block}}.emptyState{color:var(--muted);text-align:center;justify-items:center;gap:10px;padding:24px;display:grid}.emptyState svg{color:var(--accent);opacity:.7}.importSteps{flex-wrap:wrap;gap:8px;margin:0 0 16px;padding:0;list-style:none;display:flex}.importSteps li{border:1px solid var(--hairline);background:var(--surface);color:var(--muted);border-radius:999px;align-items:center;gap:8px;padding:6px 12px;font-size:.8rem;font-weight:600;display:inline-flex}.importSteps li.done{color:var(--ink-soft)}.importSteps li.active{color:var(--accent-strong);border-color:color-mix(in srgb, var(--accent) 40%, var(--hairline));background:var(--accent-soft)}.importStepDot{background:var(--surface-2);border-radius:999px;width:8px;height:8px}.importSteps li.done .importStepDot{background:var(--positive)}.importSteps li.active .importStepDot{background:var(--accent)}.rowList{display:grid}.rowItem{grid-template-columns:auto 1fr auto auto;align-items:center;gap:12px;padding:10px 0;font-size:.85rem;display:grid}.rowItem+.rowItem{border-top:1px solid var(--hairline)}.rowDot{background:var(--muted);border-radius:999px;width:9px;height:9px}.rowDot.ok{background:var(--positive)}.rowDot.warn{background:var(--warning)}.rowDot.idle{background:var(--hairline)}.rowMain{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.rowMeta{color:var(--muted);white-space:nowrap;font-size:.75rem}.rowCount{font-variant-numeric:tabular-nums;color:var(--positive)}.settingsHead{align-items:center;gap:10px;margin-bottom:16px;display:flex}.preferenceLabel{align-items:center;gap:8px;display:inline-flex}.preferenceLabel svg{color:var(--muted)}.microLabel{text-transform:uppercase;letter-spacing:.05em;font-size:.66rem;font-weight:600}.goalPct{letter-spacing:-.05em;font-variant-numeric:tabular-nums;font-size:clamp(3rem,5vw,4.2rem);line-height:1}.goalHeroLead{gap:6px;min-width:0;display:grid}.goalStats{border-top:1px solid var(--hairline);grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding-top:16px;display:grid}.goalStat{border:1px solid var(--hairline);border-radius:var(--radius);background:var(--surface);align-items:flex-start;gap:12px;min-width:0;padding:12px 14px;display:flex}.goalStatIcon{background:var(--accent-soft);width:34px;height:34px;color:var(--accent);border-radius:11px;flex-shrink:0;place-items:center;display:grid}.goalStatBody{gap:2px;min-width:0;display:grid}.goalStatBody em{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-size:.66rem;font-style:normal;font-weight:700}.goalStatBody strong{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:1.15rem}.goalStatBody span{color:var(--muted);font-size:.75rem}.simBadgeSoft{background:var(--accent-soft);color:var(--accent-strong);border-radius:999px;align-items:center;padding:3px 9px;font-size:.72rem;font-weight:700;display:inline-flex}.goalBarWrap{gap:10px;display:grid}.goalBarTrack{background:var(--surface-2);border-radius:999px;height:10px;position:relative}.goalBarFill{background:var(--gradient-accent);border-radius:999px;position:absolute;inset:0 auto 0 0}.goalBarDot{background:var(--surface);border:3px solid var(--accent);width:18px;height:18px;box-shadow:var(--shadow-sm);border-radius:999px;margin-top:-9px;margin-left:-9px;position:absolute;top:50%}.goalBarLabels{height:36px;position:relative}.goalBarLabels span{gap:1px;display:grid;position:absolute;top:0}.goalBarNow{white-space:nowrap;justify-items:center;transform:translate(-50%)}.goalBarGoal{justify-items:end;right:0}.goalBarNow strong{color:var(--accent-strong)}.goalBarLabels em{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:.66rem;font-style:normal;font-weight:600}.goalBarLabels strong{font-variant-numeric:tabular-nums;font-size:.9rem}.chartCaption{color:var(--muted);margin:0 0 10px;font-size:.82rem}.assumptionChips{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.assumptionChips span{border:1px solid var(--hairline);background:var(--surface);color:var(--ink-soft);font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;padding:4px 10px;font-size:.74rem;font-weight:600;display:inline-flex}.chartTooltip{border:1px solid var(--hairline);background:var(--surface);box-shadow:var(--shadow);border-radius:10px;gap:4px;padding:8px 12px;font-size:.78rem;display:grid}.chartTooltip strong{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:.72rem}.chartTooltip span{font-variant-numeric:tabular-nums;justify-content:space-between;gap:16px;display:flex}.chartTooltip em{color:var(--muted);font-style:normal}.goalSegments{gap:3px;height:16px;display:flex}.goalSegments span{background:var(--surface-2);border-radius:4px;flex:1}.goalSegments span.on{background:var(--gradient-accent)}.planControl{gap:6px;display:grid}.planControlHead{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.planHint{color:var(--muted);flex-wrap:wrap;align-items:baseline;gap:4px 10px;font-size:.8rem;display:flex}.planHint button{color:var(--accent-strong);font:inherit;cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0;font-weight:600;text-decoration:underline}.planHint.onTrack{color:var(--positive);font-weight:600}.goalStatus{border:1px solid var(--hairline);color:var(--ink);border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:.72rem;font-weight:700;display:inline-flex}.goalStatus:before{content:"";background:var(--muted);border-radius:999px;width:7px;height:7px}.goalStatus.onTrack{border-color:var(--positive)}.goalStatus.onTrack:before{background:var(--positive)}.goalStatus.behind{border-color:var(--warning)}.goalStatus.behind:before{background:var(--warning)}.draftTag{background:var(--accent-soft);color:var(--accent-strong);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;margin-left:8px;padding:1px 7px;font-size:.66rem;font-weight:700}.formDisclosure>summary{color:var(--ink-soft);cursor:pointer;padding:4px 0;font-weight:600}.formDisclosure[open]>summary{margin-bottom:8px}.formActions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.lumpRow{grid-template-columns:1fr 1fr auto;align-items:center;gap:8px;display:grid}.archiveConfirm{flex-wrap:wrap;align-items:center;gap:10px;display:inline-flex}@media (width<=640px){.heroChips{grid-template-columns:1fr 1fr;justify-content:stretch;gap:8px;width:100%;display:grid}.heroChips .chip{width:100%}.overviewStats{grid-template-columns:1fr 1fr;gap:8px;display:grid}.overviewStats span{width:100%}.modalPanel{border:none;border-radius:0;width:100vw;height:100vh;max-height:100vh;top:0;left:0;transform:none}.modalPanel .panelHeader{grid-template-columns:1fr auto;align-items:start}}.eyebrowRow{align-items:center;gap:8px;display:inline-flex}.modalOverlay{z-index:60}.modalPanel{z-index:61}@media (width<=640px){.modalPanel{padding-bottom:calc(32px + env(safe-area-inset-bottom))}}.goalFunded{font-size:.82rem}.goalContributionValue{font-variant-numeric:tabular-nums;font-size:1.15rem}@media (width<=640px){.heroTop{flex-direction:column;align-items:stretch;gap:14px}.goalMeta{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.goalStats{grid-template-columns:1fr;gap:8px}.goalStatBody strong{font-size:1rem}.modalPanel{padding:28px 20px calc(48px + env(safe-area-inset-bottom));height:100dvh;max-height:100dvh;padding:32px 20px calc(56px + env(safe-area-inset-bottom));overscroll-behavior:contain}.modalPanel form>button:last-child{margin-top:12px;position:sticky;bottom:0;box-shadow:0 12px 26px -12px #0f172a73}.modalPanel{padding:32px 20px}}.visuallyHidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skeleton{background:linear-gradient(90deg, var(--surface-2) 25%, color-mix(in srgb, var(--surface-2) 55%, var(--surface)) 37%, var(--surface-2) 63%);background-size:400% 100%;animation:1.4s infinite shimmer;display:inline-block}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}}.projectionPanel{gap:16px;display:grid}.projectionHeader{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.projectionHeader h2{margin-bottom:0}.projectionTools{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.projectionLink{color:var(--accent-strong);font-size:.82rem;font-weight:600;text-decoration:none}.projectionLink:hover{text-underline-offset:2px;text-decoration:underline}.projectionPanel .infoPopoverBody{left:auto;right:0}.projectionPanel .infoPopoverBody p{margin:0 0 8px}.projectionPanel .infoPopoverBody .assumptionChips{margin-bottom:0}.scenarioCurve{gap:12px;margin-inline:-6px;display:grid}.scenarioLegend{flex-wrap:wrap;justify-content:center;gap:8px 22px;margin-inline:6px;display:flex}.scenarioLegendItem{align-items:baseline;gap:8px;font-size:.82rem;display:inline-flex}.scenarioLegendItem i{background:var(--muted);border-radius:999px;align-self:center;width:10px;height:10px}.scenarioLegendItem.low i{background:var(--warning)}.scenarioLegendItem.base i{background:var(--accent-strong)}.scenarioLegendItem.high i{background:var(--positive)}.scenarioLegendItem strong{color:var(--ink-soft);font-variant-numeric:tabular-nums;font-weight:600}.scenarioLegendItem em{color:var(--muted);font-variant-numeric:tabular-nums;font-style:normal}.projectionControl{border-bottom:1px solid var(--hairline);gap:8px;padding-bottom:16px;display:grid}.projectionControlRow{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.contributionField{border:1px solid var(--hairline);background:var(--surface);border-radius:12px;align-items:center;gap:6px;padding:6px 12px;display:inline-flex}.contributionField:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent)}.contributionCurrency,.contributionSuffix{color:var(--muted);font-size:.9rem;font-weight:600}.contributionField input{width:8ch;box-shadow:none;color:var(--ink);font:inherit;letter-spacing:-.02em;text-align:right;font-variant-numeric:tabular-nums;appearance:textfield;background:0 0;border:none;border-radius:0;padding:0;font-size:1.25rem;font-weight:600}.contributionField input:focus{box-shadow:none;border:none;outline:none}.contributionField input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.contributionField input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}@media (width<=640px){.scenarioLegend{justify-content:flex-start;gap:6px 16px}}.goalStatsTwo{grid-template-columns:repeat(2,minmax(0,1fr))}.goalReach{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:clamp(2rem,3.4vw,2.9rem);line-height:1.05}.goalReachRange{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.92rem;font-weight:600}.sliderTrack{display:grid;position:relative}.contributionSlider{background:var(--surface-2);appearance:none;cursor:pointer;border-radius:999px;width:100%;height:6px;margin:12px 0 6px}.contributionSlider::-webkit-slider-thumb{appearance:none;border:3px solid var(--accent);background:var(--surface);width:22px;height:22px;box-shadow:var(--shadow-sm);border-radius:999px}.contributionSlider:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.sliderDefault{background:var(--muted);opacity:.55;pointer-events:none;border-radius:2px;width:2px;height:18px;margin-top:-9px;position:absolute;top:50%;transform:translate(-50%)}.sliderScale{color:var(--muted);font-variant-numeric:tabular-nums;justify-content:space-between;font-size:.75rem;display:flex}.goalHeroPanel{gap:18px;display:grid}.goalHeroGrid{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:end;gap:20px 28px;display:grid}.goalConfidence{border:1px solid var(--hairline);border-radius:var(--radius);background:var(--surface);align-content:end;gap:6px;padding:14px 16px;display:grid}.probMeter{align-items:center;gap:12px;display:flex}.probTrack{background:var(--surface-2);border-radius:999px;flex:1;height:10px;position:relative;overflow:hidden}.probFill{background:var(--accent-strong);border-radius:999px;height:100%}.probMeter.high .probFill{background:var(--positive)}.probMeter.low .probFill{background:var(--warning)}.probValue{font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:1.5rem}.goalConfidenceHint{color:var(--muted);font-size:.78rem}.goalMedian{color:var(--muted);font-size:.8rem}.goalMedian strong{color:var(--ink);font-variant-numeric:tabular-nums}.simCaption{text-align:center;margin-top:-4px;font-size:.78rem}@media (width<=720px){.goalHeroGrid{grid-template-columns:minmax(0,1fr);gap:16px}}.coachCard{gap:18px;display:grid}.coachTop{justify-content:space-between;align-items:center;gap:16px;display:flex}.coachHeadline{letter-spacing:-.03em;font-size:clamp(1.9rem,3.4vw,2.6rem);font-weight:650;line-height:1.15}.coachHeadline em{color:var(--accent-strong);font-style:normal}.coachTrust{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:12px;font-size:.95rem;display:flex}.coachBadge{background:color-mix(in srgb, var(--positive) 16%, transparent);color:var(--positive);border-radius:999px;align-items:center;gap:7px;padding:5px 12px;font-size:.82rem;font-weight:700;display:inline-flex}.coachBadge:before{content:"";background:currentColor;border-radius:999px;width:8px;height:8px}.coachBadge.moderate{background:color-mix(in srgb, var(--warning) 18%, transparent);color:var(--warning)}.coachBadge.low{background:color-mix(in srgb, var(--negative) 16%, transparent);color:var(--negative)}.coachVerdict{color:var(--ink-soft);font-size:.95rem}.coachLadder{grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:8px;display:grid}.coachTier{border:1px solid var(--hairline);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);cursor:pointer;justify-items:center;gap:2px;padding:10px 8px;transition:background-color .15s,color .15s,border-color .15s;display:grid}.coachTier b{font-variant-numeric:tabular-nums;font-size:1rem;font-weight:680}.coachTier span{color:var(--warning);font-variant-numeric:tabular-nums;font-size:.72rem;font-weight:600}.coachTier.meets span{color:var(--positive)}.coachTier:hover{border-color:var(--accent)}.coachTier:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.coachTier.isSelected{background:var(--accent-strong);border-color:var(--accent-strong);color:var(--surface)}.coachTier.isSelected span{color:color-mix(in srgb, var(--surface) 72%, transparent)}.coachTag{background:var(--surface-2);color:var(--ink);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;margin-top:2px;padding:1px 6px;font-size:.6rem;font-style:normal;font-weight:700}.coachTier.isSelected .coachTag{background:color-mix(in srgb, var(--surface) 24%, transparent);color:var(--surface)}.coachLeast{color:var(--muted);font-size:.82rem}.coachLeast strong{color:var(--ink);font-variant-numeric:tabular-nums}.coachMilestones{flex-wrap:wrap;gap:8px;display:flex}.coachMilestone{background:var(--surface-2);color:var(--muted);border-radius:999px;align-items:baseline;gap:6px;padding:6px 11px;font-size:.8rem;display:inline-flex}.coachMilestone b{color:var(--ink);font-variant-numeric:tabular-nums}.coachNote{border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--accent-strong);align-items:center;gap:12px;padding:14px 16px;font-size:.92rem;display:flex}.coachNote.calmer{background:color-mix(in srgb, var(--positive) 16%, transparent);color:var(--positive)}.coachUse{background:var(--accent-strong);color:var(--surface);cursor:pointer;border:0;border-radius:999px;flex:none;margin-left:auto;padding:6px 12px;font-size:.82rem;font-weight:700}.coachUse:hover{background:var(--accent)}.coachUse:focus-visible{outline:2px solid var(--accent-strong);outline-offset:2px}.coachDrivers{gap:8px;display:grid}.coachDriversRow{color:var(--muted);justify-content:space-between;gap:12px;font-size:.82rem;display:flex}.coachDriversRow b{color:var(--ink);font-variant-numeric:tabular-nums}.coachSplit{background:var(--surface-2);border-radius:999px;height:10px;overflow:hidden}.coachSplit i{background:var(--accent);border-radius:999px;height:100%;display:block}.coachHow{border-top:1px solid var(--hairline);padding-top:14px}.coachHow summary{cursor:pointer;color:var(--ink-soft);font-size:.9rem;font-weight:650}.coachHow p{max-width:65ch;color:var(--ink-soft);margin-top:10px;font-size:.85rem}.fanTip{border:1px solid var(--hairline);background:var(--surface);box-shadow:var(--shadow-sm);border-radius:10px;gap:3px;padding:10px 12px;font-size:.78rem;display:grid}.fanTip strong{font-size:.8rem}.fanTip span{color:var(--muted);justify-content:space-between;gap:12px;display:flex}.fanTip b{color:var(--ink);font-variant-numeric:tabular-nums}.benchmarkSummary{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:8px 18px;margin:4px 0 12px;font-size:.85rem;display:flex}.benchmarkLine{align-items:baseline;gap:7px;display:inline-flex}.benchmarkLine i{border-radius:999px;align-self:center;width:10px;height:10px}.benchmarkLine.you i{background:var(--accent-strong)}.benchmarkLine.bm i{background:var(--muted)}.benchmarkLine strong{font-variant-numeric:tabular-nums;font-weight:650}.benchmarkLine em{color:var(--muted);font-variant-numeric:tabular-nums;font-style:normal}.benchmarkExcess{background:var(--surface-2);font-variant-numeric:tabular-nums;border-radius:999px;margin-left:auto;padding:4px 10px;font-weight:600}.performanceGrid{grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);align-items:start;gap:16px;display:grid}@media (width<=900px){.performanceGrid{grid-template-columns:minmax(0,1fr)}}.returnsPanel{gap:4px;display:grid}.returnsSummary{flex-wrap:wrap;align-items:center;gap:10px;margin-top:4px;display:flex}.annualPanel .tableWrap table{min-width:0}.annualPanel th,.annualPanel td{white-space:normal;padding-block:.42rem;padding-inline:8px}.perfHeroPill{background:var(--surface-2);font-variant-numeric:tabular-nums;border-radius:999px;padding:3px 11px;font-size:.82rem;font-weight:700}.perfHeroPill.positive{background:color-mix(in srgb, var(--positive) 16%, transparent);color:var(--positive)}.perfHeroPill.negative{background:color-mix(in srgb, var(--negative) 16%, transparent);color:var(--negative)}
