@font-face{font-family:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/instrument-sans-latin-ext-wght-normal-B5bTHO_g.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/instrument-sans-latin-wght-normal-BbzFLZTg.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Spline Sans Mono Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/spline-sans-mono-latin-ext-wght-normal-Dh0aNLWd.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Spline Sans Mono Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/spline-sans-mono-latin-wght-normal-DlaB5ohX.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--page: #fbfaf7;--surface: #ffffff;--surface-muted: #fbfaf7;--surface-hover: #f1efe8;--border: #eae7dd;--text: #1f1d18;--text-muted: #6f6a5e;--positive: #0c7550;--alert: #b23c0b;--accent: #5b4bc4;--accent-strong: #463a9e;--accent-soft: #efecfa;--positive-soft: #e8f5ef;--alert-soft: #fceee7;--alert-border: #f3d9c8;--border-field: #e0dccf;--text-disabled: #8f897c;--radius: 14px;--shadow-pop: 0 2px 6px rgb(31 29 24 / 8%);--sans: "Instrument Sans Variable", "Instrument Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--mono: "Spline Sans Mono Variable", "Spline Sans Mono", ui-monospace, SFMono-Regular, Menlo, monospace}*{box-sizing:border-box}body{margin:0;background:var(--page);color:var(--text);font:400 14px/1.5 var(--sans)}.app{max-width:1240px;margin:0 auto;padding:clamp(12px,4vw,24px)}.app-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px 16px;padding-bottom:16px}.app-identity{display:flex;align-items:center;gap:12px;min-width:0}.brand-mark{flex:none;width:34px;height:34px;border-radius:50%;display:block}.app-identity-text{min-width:0}.app-title{margin:0;font-size:15px;font-weight:600;line-height:1.3}.app-subtitle{margin:2px 0 0;font-size:12px;line-height:1.4;color:var(--text-muted)}.app-age{margin:0;font:500 11px/1 var(--mono);color:var(--text-muted)}.app-body{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px;align-items:start}@media(max-width:1023px){.app-body{grid-template-columns:minmax(0,1fr)}}.app-main,.rail,.empty-state,.placeholder{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.app-main{padding:0;background:transparent;border:none;display:flex;flex-direction:column;gap:20px}.app-header-status{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px}.app-nav{display:flex;align-items:center;flex-wrap:wrap;gap:4px}.nav-pill{display:inline-flex;align-items:center;padding:8px 16px;border:none;border-radius:20px;background:transparent;color:var(--text-muted);font:500 12.5px/1 var(--sans);text-decoration:none;white-space:nowrap}a.nav-pill:hover{background:var(--surface-hover);color:var(--accent-strong)}.nav-pill-current{background:var(--accent-soft);color:var(--accent-strong);font-weight:600}.nav-pill-unbuilt{color:var(--text-disabled);cursor:default}.app-footer{padding-top:20px;margin-top:20px;border-top:1px solid var(--border)}.app-deletion-promise{margin:0;font-size:12px;line-height:1.5;color:var(--text-muted)}.deletion-action{margin:8px 0 0;display:flex;align-items:baseline;flex-wrap:wrap;gap:8px}.deletion-failed{font-size:12px;line-height:1.5;color:var(--alert)}.deletion-confirm{margin-top:12px;padding:10px 14px;border:1px solid var(--alert);border-radius:var(--radius);background:var(--surface-muted)}.deletion-confirm-question{margin:0;font-weight:600;font-size:13px;color:var(--text)}.deletion-confirm-detail{margin:6px 0 0;font-size:12px;line-height:1.5;color:var(--text-muted)}.deletion-confirm-actions{margin:8px 0 0;display:flex;flex-wrap:wrap;gap:8px}.header-action{padding:4px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text-muted);font:500 11px/1 var(--mono);cursor:pointer}.header-action:hover:enabled{background:var(--surface-muted);color:var(--text)}.header-action:disabled{cursor:default}.notice{margin:0 0 16px;padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-muted);color:var(--text-muted);font-size:12.5px}.notice-alert{border-color:var(--alert);color:var(--text)}.notice-alert p{margin:0 0 8px}.notice-title{font-weight:600}.notice-action{margin-top:4px;padding:7px 12px;border:1px solid var(--alert);border-radius:8px;background:var(--surface);color:var(--alert);font:600 12px/1 inherit;cursor:pointer}.notice-action:hover{background:var(--surface-muted)}.freshness-mark{margin:0 0 10px;font:500 11px/1.4 var(--mono);color:var(--text-muted)}.freshness-mark.freshness-outdated{color:var(--alert)}[data-freshness=outdated] .verdict-badge,[data-freshness=outdated] .verdict-headline,[data-freshness=outdated] .rail-note,[data-freshness=outdated] .sparkline,[data-freshness=outdated] .surplus-amount,[data-freshness=outdated] .surplus-none,[data-freshness=outdated] .money-moves-surplus,[data-freshness=outdated] .chart-legend,[data-freshness=outdated] .growth-chart,[data-freshness=outdated] .rail-stat[data-source=projection]{opacity:.45;filter:grayscale(100%)}.empty-state,.placeholder{padding:32px}.empty-state h2,.placeholder h2{margin:0 0 12px;font-size:16px}.empty-state p{margin:0 0 12px;max-width:62ch;color:var(--text-muted)}.empty-state-note{font-size:12.5px}.primary-action{margin-top:8px;padding:8px 14px;border:1px solid var(--border);border-radius:10px;background:var(--surface-muted);color:var(--accent);font:500 12px var(--mono);cursor:pointer}.primary-action:hover{background:var(--accent-soft)}a.primary-action{display:inline-block;text-decoration:none}.app-rail{display:flex;flex-direction:column;gap:20px;min-width:0}@media(min-width:1024px){.app-rail{position:sticky;top:16px}}.rail{padding:20px}.verdict-badge{display:inline-block;margin:0 0 8px;padding:3px 8px;border-radius:9px;font:500 10px/1.4 var(--mono);text-transform:uppercase;letter-spacing:.04em}.verdict-badge.tone-on-track{color:var(--positive);background:var(--positive-soft)}.verdict-badge.tone-at-risk{color:var(--alert);background:var(--alert-soft)}.verdict-headline{margin:0 0 16px;font-size:18px;font-weight:600}.sparkline{margin:0;max-width:360px}.sparkline svg{display:block;height:auto}.sparkline-line{fill:none;stroke-width:2}.sparkline-line.tone-on-track{stroke:var(--positive)}.sparkline-line.tone-at-risk{stroke:var(--alert)}.sparkline-fill.tone-on-track{fill:#0e8f621f}.sparkline-fill.tone-at-risk{fill:#c2410c1f}.sparkline-marker{stroke:var(--text-muted);stroke-width:1;stroke-dasharray:3 3}.sparkline-dot.tone-on-track{fill:var(--positive)}.sparkline-dot.tone-at-risk{fill:var(--alert)}.sparkline-axis{display:flex;flex-direction:column;gap:1px;font:500 10px var(--mono);color:var(--text-muted)}.sparkline-axis-marker-row{position:relative;display:block;height:12px}.sparkline-axis-retirement{position:absolute;top:0;white-space:nowrap;font-weight:600;color:var(--accent)}.sparkline-axis-retirement.anchor-middle{transform:translate(-50%)}.sparkline-axis-retirement.anchor-end{transform:translate(-100%)}.sparkline-axis-ends{display:flex;justify-content:space-between}.rail-note{margin:16px 0 0;font-size:12px;color:var(--text-muted)}.rail-sliders{margin:16px 0 0;padding:14px 0 0;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:10px}.slider{display:flex;flex-direction:column;gap:5px}.slider-head{display:flex;align-items:baseline;gap:10px;font-size:12.5px}.slider-label{color:var(--text);font-weight:500;min-width:0}.slider-value{margin-left:auto;flex:0 0 auto;white-space:nowrap;font:600 13px var(--mono);color:var(--accent)}.slider-value-alert{color:var(--alert)}.slider-input{width:100%;margin:0;accent-color:var(--accent);touch-action:pan-y}.slider-input:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.rail-stats{margin:16px 0 0;padding:14px 0 0;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:9px}.rail-stat{display:flex;align-items:baseline;justify-content:space-between;gap:10px;font-size:12.5px}.rail-stat dt{color:var(--text-muted);min-width:0}.rail-stat dd{margin:0;flex:0 0 auto;white-space:nowrap;font:600 12.5px var(--mono);color:var(--text)}.rail-stat-value.tone-alert{color:var(--alert)}.placeholder-hint{font-size:12.5px;color:var(--text-muted)}code{font-family:var(--mono)}.accounts-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;overflow-x:auto}.accounts-header h2{margin:0 0 2px;font-size:14px}.accounts-note,.accounts-legend{margin:0;font-size:12px;color:var(--text-muted)}.accounts{width:100%;margin-top:16px;border-collapse:collapse;table-layout:fixed}.accounts th{padding:0 8px 6px;font:600 9.5px var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted);text-align:left}.accounts th.cell-numeric{text-align:right}.accounts th:first-child{width:auto}.accounts th:nth-child(2){width:100px}.accounts th:nth-child(3){width:76px}.accounts th:nth-child(4),.accounts th:nth-child(5){width:74px}.cell-until{display:flex;align-items:center;justify-content:flex-end;gap:4px;margin-top:3px}.cell-until-label{font-size:10px;color:var(--text-muted);white-space:nowrap}.cell-until .inline-field{width:30px;font-size:11px;padding-left:4px;padding-right:4px}.accounts th:nth-child(6),.accounts td.cell-surplus{width:64px;padding-left:4px;padding-right:4px}.accounts th:last-child{width:48px}.accounts td{padding:3px 8px;vertical-align:top;position:relative}.cell-delete{text-align:right}.cell-name{display:flex;align-items:center;gap:8px}.account-dot{width:8px;height:8px;border-radius:50%;flex:none;background:var(--series-color)}.palette-0{--series-color: #5b4bc4}.palette-1{--series-color: #0e8f62}.palette-2{--series-color: #d9a13b}.palette-3{--series-color: #c2410c}.palette-4{--series-color: #8f7ff0}.palette-5{--series-color: #1f6f8b}.palette-idle{--series-color: #a09a8c}.inline-field{width:100%;min-width:0;padding:6px 8px;border:1px solid var(--border-field);border-radius:8px;background:var(--surface-muted);color:var(--text);font:500 12px inherit;font-family:inherit}.cell-name .inline-field{flex:1}.inline-field.align-right{text-align:right;font-family:var(--mono)}.inline-field:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.field-hint{position:absolute;top:calc(100% - 2px);left:8px;z-index:2;display:block;width:max-content;max-width:264px;padding:4px 8px;border:1px solid var(--border);border-radius:6px;background:var(--surface);box-shadow:var(--shadow-pop);color:var(--alert);font-size:11px;line-height:1.35;text-align:left;pointer-events:none}.cell-numeric .field-hint{left:auto;right:8px}.field-hint:empty{padding:0;border-width:0;box-shadow:none}.delete-account,.delete-confirm button{border:1px solid transparent;border-radius:8px;background:none;color:var(--text-muted);cursor:pointer;font:500 12px var(--mono)}.delete-account{padding:4px 6px;font-size:15px;line-height:1}.delete-account:hover{color:var(--alert)}.delete-confirm{position:absolute;top:3px;right:8px;z-index:2;display:inline-flex;gap:4px;padding:2px;border-radius:8px;background:var(--surface);white-space:nowrap}.delete-confirm-yes{padding:4px 8px;border-color:var(--border)!important;color:var(--alert)!important}.delete-confirm-no{padding:4px 8px;border-color:var(--border)!important}.delete-account:focus-visible,.delete-confirm button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.accounts-footer{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:8px}.accounts-footer .primary-action{margin-top:0}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.profile-avatar{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;border:2px solid var(--surface);box-shadow:0 1px 3px #1f1d181a;background:var(--border);font-size:11px;font-weight:600;line-height:1;letter-spacing:.02em;-webkit-user-select:none;user-select:none}.avatar-action{display:inline-flex;align-items:center;justify-content:center;padding:0;border:none;background:none;cursor:pointer;line-height:0}.avatar-action:hover:enabled .profile-avatar{background:var(--alert-soft);color:var(--alert)}.avatar-action:disabled{cursor:default}.surplus-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;display:flex;flex-direction:column;gap:14px}.surplus-header h2{margin:0 0 2px;font-size:14px}.surplus-amount,.surplus-none,.surplus-note{margin:0;font-size:12.5px;color:var(--text-muted)}.surplus-amount{color:var(--text)}.surplus-routing{margin:0;padding:0;border:0;display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center}.surplus-routing legend{padding:0;margin-bottom:8px;font:600 9.5px var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted)}.surplus-option{display:flex;align-items:center;gap:6px;font-size:12.5px;cursor:pointer}.surplus-option input{accent-color:var(--accent);cursor:pointer}.surplus-chip{font:500 10px var(--mono);padding:3px 6px;width:100%;border:1px solid var(--border);border-radius:9px;background:var(--surface-muted);color:var(--text-muted);cursor:pointer}.surplus-chip:hover{color:var(--text)}.surplus-chip:focus-visible,.surplus-option input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.surplus-chip-on,.surplus-chip-on:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--surface));color:var(--accent)}.growth-card,.allocation-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;display:flex;flex-direction:column;gap:12px}.growth-header{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 16px}.growth-header h2,.allocation-header h2{margin:0;font-size:14px}.growth-header h2{margin-right:auto}.chart-legend{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;margin:0;padding:0;list-style:none;font-size:11.5px;color:var(--text-muted)}.chart-legend li{display:flex;align-items:center;gap:6px}.chart-swatch{width:8px;height:8px;border-radius:2px;flex:none;background:var(--series-color)}.chart-swatch.swatch-round{border-radius:50%}.growth-chart{margin:0;display:flex;flex-direction:column;gap:4px}.growth-chart svg{display:block;width:100%;height:190px}.growth-baseline{stroke:var(--border);stroke-width:1}.growth-band{fill:var(--series-color);opacity:.72}.growth-marker{stroke:var(--accent);stroke-width:1;stroke-dasharray:3 3;opacity:.75}.growth-axis{margin:0;display:flex;flex-direction:column;gap:1px;font:500 10px var(--mono);color:var(--text-muted)}.growth-axis-marker-row{position:relative;display:block;height:13px}.growth-axis-retirement{position:absolute;top:0;white-space:nowrap;font-weight:600;color:var(--accent)}.growth-axis-retirement.anchor-middle{transform:translate(-50%)}.growth-axis-retirement.anchor-end{transform:translate(-100%)}.growth-axis-ends{display:flex;justify-content:space-between}.allocation-bar{display:flex;height:12px;border-radius:6px;overflow:hidden;background:var(--border)}.allocation-segment{flex-basis:0;min-width:0;background:var(--series-color)}.allocation-percent{font:500 11.5px var(--mono);color:var(--text)}.allocation-note{margin:0;font-size:12px;color:var(--text-muted)}.money-moves{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px}.money-moves h2{margin:0 0 12px;font-size:13.5px;font-weight:600}.money-moves-regimes{margin:0;display:flex;flex-direction:column;gap:10px}.money-moves-regime{display:flex;align-items:baseline;gap:10px;font-size:12.5px;color:var(--text-muted)}.money-moves-regime dd{margin:0;flex:1;min-width:0;text-wrap:pretty}.money-moves-span{flex:0 0 auto;padding:3px 8px;border-radius:10px;font:500 11px var(--mono);white-space:nowrap}.money-moves-span.tone-before{color:var(--positive);background:var(--positive-soft)}.money-moves-span.tone-after{color:var(--accent);background:var(--accent-soft)}.money-moves-surplus{font:600 12.5px var(--mono);color:var(--text)}.nudge{padding:16px 18px;border:1px solid #d6cff0;border-radius:var(--radius);background:var(--accent-soft);display:flex;flex-direction:column;gap:6px}.nudge-title{margin:0;font-size:13px;font-weight:600;color:var(--accent-strong)}.nudge-line,.nudge-figure{margin:0;font-size:12.5px;line-height:1.55;color:#4a4470;text-wrap:pretty}.nudge-figure{padding-top:6px;border-top:1px solid #d6cff0}.nudge-caveat{margin:0;font-size:11.5px;line-height:1.5;color:#565078}[data-freshness=outdated].nudge{opacity:.45;filter:grayscale(100%)}@media(max-width:767px){.accounts-card{overflow-x:visible}.accounts,.accounts tbody,.accounts tr,.accounts td{display:block;width:auto}.accounts thead{display:none}.accounts{margin-top:12px}.accounts tr{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--surface-muted)}.accounts td{padding:0;border:none}.cell-name{grid-row:1;grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;column-gap:8px;row-gap:2px;padding-right:34px}.cell-label-name{flex-basis:100%}.cell-delete{grid-row:1;grid-column:1 / -1;justify-self:end;align-self:center;z-index:1}.cell-numeric{display:flex;flex-direction:column;gap:4px;position:relative}.cell-numeric[data-field=balance]{grid-column:1 / -1}.cell-numeric[data-field=monthlyContribution]{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr;gap:8px;align-items:start}.cell-field{display:flex;flex-direction:column;gap:4px;min-width:0}.cell-label{display:block;font:600 9.5px var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted)}.accounts .inline-field{width:100%;min-height:44px;padding:10px 12px;font-size:13.5px;text-align:right}.cell-name .inline-field{text-align:left;font-weight:600}.cell-until{display:flex;flex-direction:column;align-items:stretch;gap:4px;margin-top:0;position:relative}.cell-until-label{display:none}.cell-until .inline-field{width:100%;font-size:13.5px;padding-left:12px;padding-right:12px}.cell-until-note{font-size:11px;line-height:1.35;color:var(--text-muted)}.accounts td.cell-surplus{grid-column:1 / -1;width:auto}.accounts td.cell-delete{width:auto}.accounts .surplus-chip{display:flex;align-items:center;justify-content:center;width:100%;min-height:44px}.header-action,.primary-action,.notice-action,.nav-pill{display:inline-flex;align-items:center;justify-content:center;min-height:44px}.avatar-action{min-width:44px;min-height:44px}.notice-action+.notice-action{margin-left:8px}}@media(min-width:768px){.cell-label,.cell-until-note{display:none}.cell-field{display:contents}}.onboarding{display:flex;flex-direction:column;gap:16px;max-width:640px}.onboarding-intro h2{margin:0 0 6px;font-size:22px;letter-spacing:-.01em;text-wrap:pretty}.onboarding-lede{margin:0;color:var(--text-muted);line-height:1.5}.onboarding-form{display:flex;flex-direction:column;gap:18px;padding:20px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-pop)}.onboarding-field{display:flex;flex-direction:column;gap:6px}.onboarding-field label{font-size:12.5px;font-weight:600}.onboarding-hint{font-weight:400;color:var(--text-muted)}.onboarding-field input,.onboarding-money input{padding:9px 10px;border:1px solid var(--border);border-radius:10px;background:var(--surface-muted);color:var(--text);font:500 13.5px var(--mono)}.onboarding-money{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.onboarding-money input{width:min(160px,100%);text-align:right}.onboarding-unit{font:500 12.5px var(--mono);color:var(--text-muted);white-space:nowrap}.onboarding-consent{display:flex;gap:10px;align-items:flex-start;padding-top:14px;border-top:1px solid var(--border)}.onboarding-consent label{font-size:12.5px;color:var(--text-muted);line-height:1.5}.onboarding-document{font-style:normal;font-weight:600;color:var(--text)}.onboarding .field-hint{position:static;width:auto;max-width:none;margin:0}.onboarding-submit{margin-top:4px;padding:12px;text-align:center}.onboarding-submit:disabled{cursor:progress;opacity:.7}.onboarding-footnote{margin:0;font-size:11.5px;color:var(--text-muted);text-align:center;line-height:1.5}@media(max-width:767px){.onboarding-field input,.onboarding-money input{min-height:44px}.onboarding-consent input{width:24px;height:24px}}.toast{position:fixed;bottom:24px;left:50%;z-index:50;display:flex;align-items:center;gap:12px;max-width:min(92vw,520px);padding:12px 16px;border-radius:12px;transform:translate(-50%);box-shadow:0 8px 24px #1f1d182e;font-size:13px;color:#fff}.toast-failure{background:var(--alert)}.toast-success{background:var(--positive)}.toast-message{flex:1;min-width:0}.toast-retry,.toast-dismiss{flex:none;padding:2px 4px;border:0;background:none;color:inherit;font:inherit;cursor:pointer}.toast-retry{font-weight:700;text-decoration:underline}.toast-dismiss:hover{text-decoration:underline}.profile{display:flex;flex-direction:column;gap:12px}.profile-card{display:flex;flex-direction:column;gap:14px;padding:18px 20px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.profile-card-warning{border-color:var(--alert-border)}.profile-card-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.profile-card-tile{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:12px;font:600 12px var(--mono)}.profile-card-tile-neutral{background:var(--surface-hover);color:var(--text-muted)}.profile-card-tile-accent{background:var(--accent-soft);color:var(--accent-strong)}.profile-card-tile-tax,.profile-card-tile-warning{background:var(--alert-soft);color:var(--alert)}.profile-card-tile-positive{background:var(--positive-soft);color:var(--positive)}.profile-card-tile-warning{font-family:var(--sans);font-size:16px}.profile-card-headings{flex:1;min-width:200px}.profile-card-head h3{margin:0 0 2px;font-size:13.5px;letter-spacing:-.01em}.profile-card-lede{margin:0;color:var(--text-muted);font-size:12px;line-height:1.5;text-wrap:pretty}.profile-card-body{display:flex;flex-direction:column;gap:14px;padding-left:52px}.profile-card-note{margin:0;padding-top:12px;border-top:1px solid var(--border);color:var(--text-muted);font-size:12.5px;line-height:1.5;text-wrap:pretty}.profile-card-head .deletion-action{margin:0}.profile-card-head .deletion-confirm{flex:1 0 100%;margin-top:0}.profile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.profile-field{display:flex;flex-direction:column;gap:5px;min-width:0}.profile-field label,.profile-label,.assumption-label{color:var(--text-muted);font-size:11.5px;font-weight:500}.profile-hint{font-weight:400;color:var(--text-muted)}.profile-input,.profile .inline-field{width:100%;padding:8px 12px;border:1px solid var(--border-field);border-radius:8px;background:var(--surface-muted);color:var(--text);font-family:inherit;font-size:13px;font-weight:500}.profile-field .field-hint,.assumption-field .field-hint,.tax-profile-field .field-hint{position:static;width:auto;max-width:none;margin:0}.profile-readonly-field{margin:0}.profile-readonly{display:flex;align-items:center;gap:8px;margin:0;min-width:0;padding:8px 12px;border:1px dashed var(--border-field);border-radius:8px;background:var(--surface-muted);font-size:13px;font-weight:500}.profile-readonly-value{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-readonly-icon{flex:none;color:var(--text-muted)}.profile-readonly-note{margin-left:auto;flex:none;color:var(--text-muted);font-size:10.5px;font-weight:500}.profile-email{color:var(--text-muted)}.profile-email-pending{font-style:italic}.profile-about-note{margin:0;color:var(--text-muted);font-size:12px;line-height:1.5;text-wrap:pretty}.profile-readout{white-space:nowrap;color:var(--text);font-weight:600}.onboarding-readout{min-height:1.2em;margin:0;color:var(--text-muted);font-size:12.5px}.market-presets{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.market-preset{display:flex;flex-direction:column;gap:3px;padding:10px;border:1px solid var(--border);border-radius:12px;background:var(--surface-muted);color:inherit;font:inherit;text-align:left;cursor:pointer}.market-preset-on{border-color:var(--accent);background:var(--surface);box-shadow:inset 0 0 0 1px var(--accent)}.market-preset-name{font-size:11px;font-weight:600}.market-preset-pair{font-family:var(--mono);font-size:15px;font-weight:600}.market-preset-on .market-preset-pair{color:var(--accent)}.market-preset-note{color:var(--text-muted);font-size:10.5px;line-height:1.35}.assumption-sliders{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.assumption-sliders-ruled{padding-top:14px;border-top:1px solid var(--border)}.assumption-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.assumption-tiles .assumption-field{padding:12px 14px;border-radius:12px;background:var(--surface-muted)}.assumption-field{display:flex;flex-direction:column;gap:4px}.assumption-input{display:flex;align-items:center;gap:4px}.assumption-input .inline-field{width:72px;padding:5px 8px;background:var(--surface);font-size:15px;font-weight:600}.assumption-unit{color:var(--text-muted);font-family:var(--mono);font-size:13px;font-weight:600}.assumption-note{color:var(--text-muted);font-size:10.5px;line-height:1.4;text-wrap:pretty}.tax-profile-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding-top:12px;border-top:1px solid var(--border)}.tax-profile-field{display:flex;flex-direction:column;gap:5px}.tax-select{padding:8px 12px;border:1px solid var(--border-field);border-radius:8px;background:var(--surface-muted);color:var(--text);font-family:inherit;font-size:13px;font-weight:600}.tax-number{display:flex;flex-direction:column}.tax-number .inline-field{width:72px;text-align:right}.tax-toggle{display:flex;gap:4px;padding:3px;border-radius:10px;background:var(--surface-hover)}.tax-toggle-option{flex:1;padding:6px 10px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--text-muted);font:inherit;font-size:12px;font-weight:600;cursor:pointer}.tax-toggle-on{border-color:var(--border);background:var(--surface);color:var(--text)}.contributions-badge{display:flex;align-items:center;gap:6px;flex:none;padding:5px 11px;border-radius:14px;background:var(--positive-soft);color:var(--positive);font:500 11px var(--mono)}.contributions-badge-edited{background:var(--surface-hover);color:var(--text-muted)}.contributions-toggle,.link-action{padding:0;border:0;background:none;color:var(--accent-strong);font-family:inherit;font-weight:600;cursor:pointer}.contributions-toggle:hover,.link-action:hover{text-decoration:underline}.contributions-toggle{flex:none;font-size:12.5px}.link-action{font-size:12px}.contributions-summary{display:flex;flex-wrap:wrap;gap:4px 12px;margin:0;color:var(--text-muted);font:400 11.5px var(--mono)}.contributions-reset{margin:10px 0 0}.contributions{width:100%;border-collapse:collapse;font-size:12.5px}.contributions th,.contributions td{padding:7px 8px;border-bottom:1px solid var(--border);text-align:left;font-weight:400}.contributions td{position:relative}.contributions thead th{color:var(--text-muted);font-family:var(--mono);font-size:9.5px;font-weight:600;letter-spacing:.07em;text-transform:uppercase}.contributions tbody th{color:var(--text-muted);font-weight:500}.contributions th:nth-child(2),.contributions td:nth-child(2){width:88px}.contributions th:nth-child(3),.contributions td:nth-child(3){width:130px}.contributions .cell-numeric{font-family:var(--mono);font-weight:600;text-align:right}.contributions .inline-field{width:100%;padding:5px 8px;font-size:12px;text-align:right}@media(max-width:767px){.profile-grid,.market-presets,.assumption-sliders,.assumption-tiles,.tax-profile-fields{grid-template-columns:1fr}.profile-card-body{padding-left:0}.tax-toggle-option,.tax-select,.profile-input,.profile .inline-field{min-height:44px}.assumption-input .inline-field,.tax-select{width:100%}.contributions-toggle,.link-action{display:inline-flex;align-items:center;min-height:44px}.profile-readonly-value{overflow:visible;white-space:normal;overflow-wrap:anywhere}.contributions{display:block;overflow-x:auto}}
