.tour-page,.tour-figure-svg{--tour-enter:.9s;--tour-draw:1.9s;--tour-exit:1.3s;--tour-breath:1.8s;--tour-stagger:.11s;--step:0;--dx:0px;--dy:0px;--to-opacity:1;--len:0;--len-to:0;--from-scale:.55;--tour-shadow:#141413}:root[data-theme=dark] .tour-page,:root[data-theme=dark] .tour-figure-svg{--tour-shadow:#000}.tour-figure-svg{width:100%;height:auto;max-height:100%;display:block}.tour-anim{animation-duration:var(--tour-enter);animation-delay:calc(var(--step) * var(--tour-stagger));animation-timing-function:ease-in-out;animation-fill-mode:both}@keyframes tour-arrive{0%{opacity:0;transform:translate(var(--dx), var(--dy))}to{opacity:1;transform:translate(0)}}@keyframes tour-fade{0%{opacity:0}to{opacity:var(--to-opacity)}}@keyframes tour-draw{0%{stroke-dashoffset:var(--len)}to{stroke-dashoffset:var(--len-to)}}@keyframes tour-grow-up{0%{opacity:0;transform:translateY(var(--dy)) scaleY(0)}to{opacity:1;transform:translateY(0)scaleY(1)}}.tour-grow-up{transform-box:fill-box;transform-origin:bottom}@keyframes tour-pop{0%{opacity:0;transform:scale(var(--from-scale))}to{opacity:1;transform:scale(1)}}.tour-pop{transform-box:fill-box;transform-origin:50%}@keyframes tour-grow-x{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.tour-grow-x{transform-box:fill-box;transform-origin:0}@keyframes tour-drift-move{0%{transform:translate(0)}to{transform:translate(var(--dx), var(--dy))}}@keyframes tour-drift-fade{0%{opacity:0}29%{opacity:.9}to{opacity:0}}.tour-drift{animation:tour-drift-move var(--tour-exit) ease-in-out both, tour-drift-fade var(--tour-exit) linear both;animation-delay:calc(var(--step) * var(--tour-stagger))}@keyframes tour-rise{0%{transform:translateY(10px)}to{transform:translateY(0)}}.tour-reveal{animation:tour-rise var(--tour-enter) ease-in-out both, tour-fade calc(var(--tour-enter) * .55) ease-in-out both;animation-delay:calc(var(--step) * var(--tour-stagger))}@keyframes tour-breathe{0%{opacity:.26;transform:scale(1)}to{opacity:.78;transform:scale(1.16)}}.tour-breathe{transform-box:fill-box;transform-origin:50%;animation-name:tour-breathe;animation-duration:var(--tour-breath);animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate;animation-fill-mode:both}@media (prefers-reduced-motion:reduce){.tour-anim,.tour-breathe,.tour-reveal{opacity:var(--to-opacity);stroke-dashoffset:var(--len-to);transform:none;animation:none!important}.tour-drift{opacity:.9;transform:translate(calc(var(--dx) * .18), calc(var(--dy) * .18));animation:none!important}}.goals-toolbar{justify-content:flex-end;display:flex}.goals-list{gap:var(--sp-5);flex-direction:column;display:flex}.goal-card{gap:var(--sp-2);padding:var(--sp-4);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);flex-direction:column;display:flex}.goal-card-header{justify-content:space-between;align-items:center;gap:var(--sp-2);display:flex}.goal-card-header .form-block-title{font-size:var(--fs-title);text-transform:none;letter-spacing:normal;color:var(--ink);margin:0}.goal-card-actions{gap:var(--sp-2);display:flex}.goal-card-actions button{min-height:36px;padding:0 var(--sp-3);border:1px solid var(--border);border-radius:var(--r-sm);cursor:pointer;font-size:var(--fs-sm);background:0 0}.goal-target-amount{font-size:var(--fs-stat);color:var(--ink);margin:0;font-weight:700}.goal-status-word{font-size:var(--fs-xs);color:var(--muted);letter-spacing:var(--tracking-label);white-space:nowrap;align-self:center}.goal-progress-line,.goal-target-year-sentence{color:var(--ink-2);font-size:var(--fs-sm);margin:0}.goal-tracking-section{gap:var(--sp-1);flex-direction:column;display:flex}.goal-anchor-month{font-size:var(--fs-xs);color:var(--muted);margin:0}.goal-reanchor-row{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.goal-reanchor-btn{min-height:36px;padding:0 var(--sp-3);border:1px solid var(--border);border-radius:var(--r-sm);cursor:pointer;font-size:var(--fs-sm);color:var(--ink-2);background:0 0}.goal-reanchor-btn:disabled{cursor:not-allowed;opacity:.5}.goal-scenarios-section{margin-top:var(--sp-3);padding-top:var(--sp-3);border-top:1px solid var(--grid);gap:var(--sp-2);flex-direction:column;display:flex}.goal-scenarios-header{justify-content:space-between;align-items:center;display:flex}.goal-scenarios-header button{min-height:36px;padding:0 var(--sp-3);border:1px dashed var(--border);border-radius:var(--r-sm);cursor:pointer;font-size:var(--fs-sm);color:var(--ink-2);background:0 0}.goal-scenario-list{gap:var(--sp-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.goal-scenario-list li{align-items:center;gap:var(--sp-2);font-size:var(--fs-sm);display:flex}.goal-scenario-list li span{color:var(--ink-2);flex:1}.goal-scenario-list li button{min-height:32px;padding:0 var(--sp-2);border:1px solid var(--border);border-radius:var(--r-sm);cursor:pointer;font-size:var(--fs-xs);background:0 0}.goal-compare-wrap{overflow-x:auto}.goal-compare-table{border-collapse:collapse;width:100%;font-size:var(--fs-sm)}.goal-compare-table th,.goal-compare-table td{text-align:left;padding:var(--sp-2);border-bottom:1px solid var(--grid);white-space:nowrap}.goal-compare-table th{color:var(--muted);font-weight:700;font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:var(--tracking-label)}.goal-form-dialog{max-width:480px;max-height:90vh;overflow-y:auto}.goal-params-fields{gap:var(--sp-2);flex-direction:column;display:flex}.goal-anchor-facts{gap:var(--sp-2);padding:var(--sp-2);background:var(--fill-weak);border-radius:var(--r-sm);grid-template-columns:1fr 1fr;margin:0;display:grid}.goal-anchor-facts dt{font-size:var(--fs-xs);color:var(--muted)}.goal-anchor-facts dd{font-size:var(--fs-sm);color:var(--ink);margin:0}.goal-field-note{font-size:var(--fs-xs);color:var(--muted)}.goal-fill-mode-link{font-size:var(--fs-xs);color:var(--ink-2);cursor:pointer;background:0 0;border:0;align-self:flex-start;padding:0;text-decoration:underline}.goal-fill-mode-link:hover{color:var(--ink)}.goal-derived-amount{font-size:var(--fs-stat);margin:0;font-weight:600}.goal-scope-group{gap:var(--sp-2);padding-top:var(--sp-2);border-top:1px solid var(--grid);flex-direction:column;display:flex}.goal-scope-sides{gap:var(--sp-3);grid-template-columns:1fr 1fr;display:grid}@media (width<=520px){.goal-scope-sides{grid-template-columns:1fr}}.goal-scope-side{gap:var(--sp-1);border:0;flex-direction:column;margin:0;padding:0;display:flex}.goal-scope-side legend{font-size:var(--fs-xs);color:var(--muted);padding:0}.goal-scope-toggle{align-items:center;gap:var(--sp-1);min-height:32px;font-size:var(--fs-sm);color:var(--ink-2);display:flex}.goal-scope-accounts{gap:var(--sp-3);flex-direction:column;display:flex}.goal-loan-plans{gap:var(--sp-2);padding-top:var(--sp-2);border-top:1px solid var(--grid);flex-direction:column;display:flex}.goal-loan-plan-row{align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.goal-loan-plan-toggle{align-items:center;gap:var(--sp-1);font-size:var(--fs-sm);color:var(--ink-2);display:flex}.goal-loan-plan-extra{align-items:center;gap:var(--sp-1);font-size:var(--fs-xs);color:var(--muted);display:flex}.goal-loan-plan-extra input{width:120px;min-height:36px;padding:0 var(--sp-2);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--page);font-size:16px}.goal-form .loan-form-actions{flex-wrap:wrap;align-items:center}.goal-form-submit-hint{font-size:var(--fs-xs);color:var(--muted)}.goal-progress-bar{background:var(--fill-strong);height:4px;margin-top:var(--sp-2);border-radius:2px;overflow:hidden}.goal-progress-bar-fill{background:var(--ink-2);border-radius:2px;height:100%}.blackswan-segment{min-width:0}.blackswan-head{color:var(--muted);font-size:var(--fs-xs);margin:0}.blackswan-card-title{font-size:var(--fs-title);margin:0;font-weight:600}.blackswan-verdict-pct{font-size:var(--fs-hero);letter-spacing:var(--tracking-tight);color:var(--ink);font-variant-numeric:tabular-nums;margin:0;font-weight:700;line-height:1.05}.blackswan-delta{margin:var(--sp-2) 0 0;font-size:var(--fs-stat);color:var(--ink-2);font-variant-numeric:tabular-nums;font-weight:600}.blackswan-before-after{gap:var(--sp-2);flex-direction:column;display:flex}.blackswan-track{gap:var(--sp-1);flex-direction:column;display:flex}.blackswan-track-head{justify-content:space-between;align-items:baseline;gap:var(--sp-2);font-size:var(--fs-sm);color:var(--ink-2);font-variant-numeric:tabular-nums;display:flex}.blackswan-track-label{color:var(--muted);font-size:var(--fs-xs)}.blackswan-track-after{color:var(--ink);font-weight:600}.blackswan-track-rail{background:var(--fill-strong);border-radius:5px;height:10px;overflow:hidden}.blackswan-track-fill{background:var(--ink);border-radius:5px;height:100%}.blackswan-track-fill--before{background:var(--axis);width:100%}.blackswan-narrative{margin:var(--sp-1) 0 0;color:var(--ink-2);font-size:var(--fs-sm);line-height:1.5}.blackswan-months-sentence,.blackswan-months-unavailable{font-size:var(--fs-sm);margin:0;line-height:1.5}.blackswan-months-sentence{color:var(--ink-2)}.blackswan-months-unavailable{color:var(--muted);font-size:var(--fs-xs)}.blackswan-bucket-row{padding-bottom:var(--sp-2);border-bottom:1px solid var(--border);flex-direction:column;gap:2px;display:flex}.blackswan-bucket-row:last-of-type{border-bottom:none;padding-bottom:0}.blackswan-bucket-header{align-items:center;gap:var(--sp-2);display:flex}.blackswan-bucket-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--ink);font-size:var(--fs-sm);flex:1;overflow:hidden}.blackswan-bucket-coeff{color:var(--muted);font-size:var(--fs-xs);flex:none}.blackswan-bucket-delta{text-align:right;min-width:7.5em;color:var(--ink-2);font-size:var(--fs-sm);font-variant-numeric:tabular-nums;flex:none}.blackswan-bucket-bar{background:var(--fill-weak);border-radius:3px;height:6px;overflow:hidden}.blackswan-bucket-bar-fill{background:var(--accent);border-radius:3px;height:100%}.blackswan-bucket-before{color:var(--muted);font-size:var(--fs-xs)}.blackswan-unaffected,.blackswan-leverage{color:var(--muted);font-size:var(--fs-xs);margin:0;line-height:1.5}.blackswan-class-rule{margin:0}.blackswan-runway-text{color:var(--ink-2);font-size:var(--fs-sm);margin:0}.blackswan-source{margin:0}.blackswan-severity{gap:var(--sp-2);flex-direction:column;display:flex}.blackswan-severity-label{color:var(--muted);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:var(--tracking-label)}.blackswan-severity-row{gap:var(--sp-1);flex-direction:column;display:flex}.blackswan-severity-row input[type=range]{width:100%;accent-color:var(--accent)}.blackswan-severity-value{color:var(--ink);font-size:var(--fs-stat);font-variant-numeric:tabular-nums;align-self:flex-end;font-weight:600}.blackswan-severity-presets{gap:var(--sp-1);display:flex}.blackswan-severity-preset{min-height:36px;padding:0 var(--sp-1);border:1px solid var(--border);border-radius:var(--r-sm);color:var(--ink-2);font-size:var(--fs-xs);font-variant-numeric:tabular-nums;cursor:pointer;background:0 0;flex:1}@media (width<=900px){.blackswan-severity-preset{min-height:44px;font-size:var(--fs-sm)}}.blackswan-severity-preset--active{background:var(--fill-strong);color:var(--ink);border-color:var(--fill-strong);font-weight:600}.blackswan-severity-note{color:var(--muted);font-size:var(--fs-xs);margin:0;line-height:1.5}.groupshock-segment{gap:var(--sp-4);flex-direction:column;display:flex}.groupshock-target-label{color:var(--muted);font-size:var(--fs-sm)}.groupshock-empty{align-items:flex-start}.groupshock-targets{gap:var(--sp-1);flex-wrap:wrap;display:flex}.groupshock-target-btn{min-height:40px;padding:0 var(--sp-3);border:1px solid var(--border);border-radius:var(--r-sm);color:var(--ink-2);font-size:var(--fs-sm);cursor:pointer;white-space:nowrap;background:0 0;flex:none}.groupshock-target-btn--active{border-color:var(--accent);background:var(--fill-weak);color:var(--accent-ink);font-weight:600}.groupshock-drop-block{gap:var(--sp-2);flex-direction:column;display:flex}.groupshock-drop-head{justify-content:space-between;align-items:center;display:flex}.groupshock-drop-value{color:var(--ink);font-weight:600}.groupshock-quick-row{gap:var(--sp-1);display:flex}.groupshock-quick-btn{min-height:32px;padding:0 var(--sp-1);border:1px solid var(--border);border-radius:var(--r-sm);color:var(--ink-2);font-size:var(--fs-sm);cursor:pointer;background:0 0;flex:1}.groupshock-quick-btn--active{border-color:var(--accent);background:var(--fill-weak);color:var(--accent-ink);font-weight:600}.groupshock-result{gap:var(--sp-3);flex-direction:column;display:flex}.groupshock-loss-row{justify-content:space-between;align-items:baseline;display:flex}.groupshock-loss-amount{font-size:var(--fs-title);color:var(--ink);font-weight:600}.groupshock-cells{gap:var(--sp-2);flex-wrap:wrap;display:flex}.groupshock-cell{padding:var(--sp-3) var(--sp-2);border-radius:var(--r-sm);background:var(--fill-weak);flex-direction:column;flex:1;gap:2px;display:flex}.groupshock-cell-head{justify-content:space-between;align-items:baseline;gap:var(--sp-1);display:flex}.groupshock-cell-label{color:var(--muted);font-size:var(--fs-xs)}.groupshock-cell-move{font-size:var(--fs-sm);font-weight:600}.groupshock-cell-after{font-size:var(--fs-title);color:var(--ink);font-weight:600}.groupshock-cell-before{color:var(--muted);font-size:var(--fs-xs)}.groupshock-leverage{color:var(--ink-2);font-size:var(--fs-sm)}.groupshock-track{gap:var(--sp-1);flex-direction:column;display:flex}.groupshock-track-title{color:var(--muted);font-size:var(--fs-sm)}.groupshock-track-bars{align-items:flex-end;gap:var(--sp-5);height:108px;padding:0 var(--sp-2);margin-top:var(--sp-2);display:flex;position:relative}.groupshock-track-bar-col{height:100%;font-size:var(--fs-xs);color:var(--ink-2);flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:2px;display:flex}.groupshock-track-bar{background:var(--accent);border-top-left-radius:3px;border-top-right-radius:3px;width:64%;min-height:2px}.groupshock-track-bar--danger{background:var(--danger)}.groupshock-track-threshold{border-top:1px dashed var(--warn);height:1px;position:absolute;left:0;right:0}.groupshock-track-threshold--danger{border-top-color:var(--danger)}.groupshock-track-threshold span{border:1px solid var(--warn);background:var(--surface);color:var(--warn);font-size:var(--fs-xs);border-radius:3px;padding:1px 4px;position:absolute;bottom:2px;right:0}.groupshock-track-threshold--danger span{border-color:var(--danger);color:var(--danger)}.groupshock-track-labels{justify-content:space-between;gap:var(--sp-5);padding:0 var(--sp-2);color:var(--muted);font-size:var(--fs-xs);display:flex}.groupshock-track-verdict{color:var(--ink-2);font-size:var(--fs-sm)}.groupshock-track-with-note{gap:var(--sp-1);flex-direction:column;display:flex}.groupshock-no-expense{color:var(--muted);font-size:var(--fs-xs)}.groupshock-editor{font-size:var(--fs-sm)}.groupshock-editor-title{cursor:pointer;color:var(--ink);font-weight:600}.groupshock-editor-note{color:var(--muted);font-size:var(--fs-xs);margin-top:var(--sp-2)}.groupshock-bucket-list,.groupshock-assign-list{margin:var(--sp-2) 0 0;gap:var(--sp-2);flex-direction:column;padding:0;list-style:none;display:flex}.groupshock-bucket-row,.groupshock-bucket-add-row,.groupshock-assign-row{align-items:center;gap:var(--sp-2);display:flex}.groupshock-bucket-add-row{margin-top:var(--sp-2)}.groupshock-bucket-name-input{min-height:32px;padding:0 var(--sp-2);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);color:var(--ink);font-size:var(--fs-sm);flex:1}.groupshock-assign-name{color:var(--ink-2);flex:1}.groupshock-assign-row select{border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);min-height:32px;color:var(--ink);font-size:var(--fs-sm)}.survival-segment{gap:var(--sp-4);flex-direction:column;display:flex}.survival-startup{align-items:center;gap:var(--sp-3);padding:var(--sp-4) 0;flex-direction:column;display:flex}.survival-startup-title{font-size:var(--fs-title);color:var(--ink);margin:0}.survival-startup-field{align-items:center;gap:var(--sp-1);flex-direction:column;display:flex}.survival-startup-hint{font-size:var(--fs-xs);color:var(--muted)}.survival-input{width:160px;min-height:44px;padding:0 var(--sp-2);text-align:center;font-size:var(--fs-title);color:var(--ink);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm)}.survival-input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.survival-status{gap:var(--sp-2);padding:var(--sp-3) 0;font-size:var(--fs-sm);color:var(--muted);flex-direction:column;line-height:1.7;display:flex}.survival-result{gap:var(--sp-2);flex-direction:column;animation:.26s cubic-bezier(.16,1,.3,1) survival-reveal;display:flex}@keyframes survival-reveal{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.survival-result{animation:none}}.survival-hero-percent{font-size:var(--fs-hero);color:var(--ink);font-variant-numeric:tabular-nums;margin:0;font-weight:600;line-height:1.1}.survival-hero-label{font-size:var(--fs-sm);color:var(--muted);margin:0}.survival-secondary{font-size:var(--fs-sm);color:var(--ink-2);margin:0}.survival-readiness{font-size:var(--fs-sm);color:var(--warn);margin:0}.survival-ran-at{font-size:var(--fs-xs);color:var(--muted);margin:0}.survival-ran-at--stale{color:var(--warn)}.survival-note{font-size:var(--fs-xs);color:var(--muted);margin:0;line-height:1.6}.survival-whatif-upsell-chip{align-items:center;gap:var(--sp-1);color:var(--muted);font-size:var(--fs-xs);cursor:pointer;background:0 0;border:none;padding:0;display:inline-flex}.survival-why{gap:var(--sp-2);flex-direction:column;max-width:62ch;display:flex}.survival-why p{font-size:var(--fs-sm);margin:0;line-height:1.7}.survival-why-flow,.survival-why-withdrawal{color:var(--ink-2)}.survival-why-reason{color:var(--ink)}.survival-why-how{color:var(--accent-ink)}.survival-why-assumption{color:var(--muted);font-size:var(--fs-xs)!important}.survival-chart{width:100%;position:relative}.survival-chart svg{display:block}.survival-chart-clipped{font-size:var(--fs-sm);color:var(--muted);margin:0;position:absolute;top:2px;right:4px}.survival-assumptions{gap:var(--sp-2);flex-direction:column;display:flex}.survival-assumptions-head{align-items:center;gap:var(--sp-2);display:flex}.survival-assumptions-head>span{font-size:var(--fs-xs);letter-spacing:.04em;color:var(--muted);flex:1}.survival-age-edit{min-height:36px;padding:0 var(--sp-2);background:var(--fill-weak);border:1px solid var(--border);border-radius:var(--r-sm);cursor:pointer;font-size:var(--fs-xs);color:var(--accent-ink)}.survival-age-edit:hover{background:var(--fill-strong)}@media (width<=900px){.survival-age-edit{min-height:44px}}.survival-assumption>summary{cursor:pointer;align-items:center;gap:var(--sp-1);min-height:44px;font-size:var(--fs-sm);color:var(--ink-2);list-style:none;display:flex}.survival-assumption>summary::-webkit-details-marker{display:none}.survival-assumption>summary:before{content:"▸";color:var(--muted);font-size:var(--fs-xs)}.survival-assumption[open]>summary:before{content:"▾"}.survival-assumption>summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.survival-slider-row{align-items:center;gap:var(--sp-3);padding:var(--sp-2) 0 var(--sp-3);display:flex}.survival-slider{accent-color:var(--accent);flex:1;min-width:0}.survival-slider-value{text-align:right;min-width:8ch;font-size:var(--fs-sm);color:var(--ink);font-variant-numeric:tabular-nums}.survival-assumption-notes{gap:var(--sp-1);padding-top:var(--sp-1);flex-direction:column;display:flex}.survival-whatif{gap:var(--sp-2);flex-direction:column;display:flex}.survival-whatif>span{font-size:var(--fs-xs);letter-spacing:.04em;color:var(--muted)}.survival-whatif-row{min-height:44px;padding:var(--sp-1) 0;cursor:pointer;text-align:left;font-size:var(--fs-sm);color:var(--ink);background:0 0;border:0;flex-direction:column;align-items:flex-start;gap:2px;display:flex}.survival-whatif-row:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.survival-whatif-result{font-size:var(--fs-xs)}.survival-whatif-result--gain{color:var(--gain)}.survival-whatif-result--loss{color:var(--loss)}.simulation-lede{margin:var(--sp-3) 0 0;color:var(--ink-2);font-size:var(--fs-body);line-height:1.5}.simulation-layout{gap:var(--sp-5);grid-template-columns:300px minmax(0,1fr);align-items:start;display:grid}.simulation-panel{top:calc(var(--demo-banner-h) + 60px);gap:var(--sp-4);padding:var(--sp-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);flex-direction:column;display:flex;position:sticky}.simulation-panel-title{color:var(--muted);font-size:var(--fs-xs);letter-spacing:var(--tracking-label);margin:0;font-weight:600}.simulation-panel-divider{background:var(--grid);height:1px}.simulation-results{gap:var(--sp-4);flex-direction:column;min-width:0;display:flex}.simulation-hero{gap:var(--sp-5);grid-template-columns:minmax(0,1fr) 300px;align-items:center;display:grid}.simulation-hero-label{color:var(--muted);font-size:var(--fs-xs);letter-spacing:var(--tracking-label);margin:0;font-weight:600}.simulation-footnotes{gap:var(--sp-1);padding-top:var(--sp-3);border-top:1px solid var(--grid);flex-direction:column;display:flex}@media (width<=900px){.simulation-layout{gap:var(--sp-4);grid-template-columns:minmax(0,1fr)}.simulation-panel{position:static}.simulation-hero{gap:var(--sp-3);grid-template-columns:minmax(0,1fr)}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--c-paper:#f9f9f7;--c-paper-raised:#fcfcfb;--c-ink:#141413;--c-ink-2:#52514e;--c-ink-3:#6f6d66;--c-hairline:#e1e0d9;--c-axis:#c3c2b7;--c-scrim:#1414131a;--c-wash-1:#96763e0f;--c-wash-2:#96763e1c;--c-wash-3:#96763e2b;--c-terracotta:#c25a41;--c-terracotta-deep:#a34732;--c-terracotta-wash:#f6e9e4;--c-blue:#3e6fb2;--c-teal:#2f9070;--c-purple:#7568b2;--c-gold:#b3862b;--c-orchid:#a85c90;--c-olive:#71802b;--c-blue-s2:#668dc2;--c-blue-s3:#92abce;--c-blue-s4:#bac9de;--c-terracotta-s2:#c87e6d;--c-terracotta-s3:#d2a195;--c-terracotta-s4:#dfc0b9;--c-purple-s2:#9187bd;--c-purple-s3:#aba5c9;--c-purple-s4:#c4c0d8;--c-orchid-s2:#b680a5;--c-orchid-s3:#c5a1ba;--c-orchid-s4:#d7c1d0;--c-green:#2f6b34;--c-red:#ae4340;--c-amber:#8f6410;--surface:var(--c-paper-raised);--page:var(--c-paper);--ink:var(--c-ink);--ink-2:var(--c-ink-2);--muted:var(--c-ink-3);--grid:var(--c-hairline);--axis:var(--c-axis);--baseline:var(--c-axis);--border:var(--c-scrim);--line:var(--border);--fill-weak:var(--c-wash-1);--fill-strong:var(--c-wash-2);--fill-strongest:var(--c-wash-3);--accent:var(--c-terracotta);--accent-ink:var(--c-terracotta-deep);--accent-weak:var(--c-terracotta-wash);--cta-fill:var(--c-ink);--cat-cash:var(--c-blue);--cat-deposit:var(--c-teal);--cat-invest:var(--c-terracotta);--cat-property:var(--c-purple);--cat-vehicle:var(--c-gold);--cat-other:var(--c-orchid);--cat-liability:var(--c-olive);--cat-cash-s2:var(--c-blue-s2);--cat-cash-s3:var(--c-blue-s3);--cat-cash-s4:var(--c-blue-s4);--cat-invest-s2:var(--c-terracotta-s2);--cat-invest-s3:var(--c-terracotta-s3);--cat-invest-s4:var(--c-terracotta-s4);--cat-property-s2:var(--c-purple-s2);--cat-property-s3:var(--c-purple-s3);--cat-property-s4:var(--c-purple-s4);--cat-other-s2:var(--c-orchid-s2);--cat-other-s3:var(--c-orchid-s3);--cat-other-s4:var(--c-orchid-s4);--gain-western:var(--c-green);--loss-western:var(--c-red);--gain-tw:var(--c-red);--loss-tw:var(--c-green);--gain:var(--gain-tw);--loss:var(--loss-tw);--danger:var(--c-red);--success:var(--c-green);--warn:var(--c-amber);--tx-buy:var(--accent-ink);--tx-sell:var(--cat-cash);--tx-buy-wash:color-mix(in srgb, var(--tx-buy) 9%, transparent);--tx-sell-wash:color-mix(in srgb, var(--tx-sell) 9%, transparent);--series-asset:var(--c-blue);--series-liability:var(--c-red);--series-1:var(--c-blue);--series-2:var(--c-terracotta);--series-3:var(--c-olive);--series-4:var(--c-purple);--series-5:var(--c-gold);--series-6:var(--c-teal);--series-7:var(--c-orchid);--series-8:var(--c-blue-s2);--series-9:var(--c-terracotta-s2);--series-10:var(--c-purple-s2);--series-11:var(--c-orchid-s2);--r-xs:4px;--r-sm:8px;--r-md:10px;--r-lg:12px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--fs-xs:11px;--fs-sm:12.5px;--fs-body:14px;--fs-title:16px;--fs-stat:17px;--fs-hero:42px;--tracking-label:.06em;--tracking-tight:-.01em}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--c-paper:#0d0d0d;--c-paper-raised:#1a1a19;--c-ink:#f5f4ee;--c-ink-2:#c3c2b7;--c-ink-3:#898781;--c-hairline:#2c2c2a;--c-axis:#383835;--c-scrim:#ffffff1a;--c-wash-1:#e8d6aa12;--c-wash-2:#e8d6aa21;--c-wash-3:#e8d6aa30;--c-terracotta:#d4785c;--c-terracotta-deep:#d4785c;--c-terracotta-wash:#2b211d;--c-blue:#6489ce;--c-teal:#3ea377;--c-purple:#9186cc;--c-gold:#b7862c;--c-orchid:#c07ba8;--c-olive:#8f9c4a;--c-blue-s2:#3a66b7;--c-blue-s3:#284a89;--c-blue-s4:#182e58;--c-terracotta-s2:#be5332;--c-terracotta-s3:#8e3b22;--c-terracotta-s4:#5c2514;--c-purple-s2:#6151b6;--c-purple-s3:#423686;--c-purple-s4:#271f51;--c-orchid-s2:#a75089;--c-orchid-s3:#7b3864;--c-orchid-s4:#4e223f;--c-green:#62a862;--c-red:#d96b62;--c-amber:#d9a441}:root[data-delta-palette=western]{--gain:var(--gain-western);--loss:var(--loss-western)}*{box-sizing:border-box}html,body{max-width:100%;margin:0;padding:0;overflow-x:clip}body{background:var(--page);color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,PingFang TC,Microsoft JhengHei,Noto Sans TC,Helvetica,Arial,sans-serif;font-size:var(--fs-body);font-variant-numeric:tabular-nums;line-height:1.5}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}button,input,select{font:inherit;font-variant-numeric:tabular-nums;color:inherit}.app-root{max-width:1200px;padding:0 var(--sp-4) var(--sp-5);gap:var(--sp-2);flex-direction:column;margin:0 auto;display:flex}.app-main{gap:var(--sp-4);flex-direction:column;display:flex}.storage-health-callout{justify-content:space-between;align-items:center;gap:var(--sp-2);margin-top:var(--sp-2);padding:var(--sp-2) var(--sp-3);border:1px solid var(--danger);border-radius:var(--r-sm);background:var(--page);flex-flow:wrap;display:flex}.storage-health-callout-text{color:var(--danger);font-size:var(--fs-xs);flex:auto;min-width:200px;margin:0}.storage-health-callout-dismiss{min-height:36px;padding:0 var(--sp-2);border:1px solid var(--danger);color:var(--danger);font-size:var(--fs-xs);white-space:nowrap;cursor:pointer;background:0 0;border-radius:999px;flex:none;font-weight:600}.replace-notice-callout{justify-content:space-between;align-items:center;gap:var(--sp-2);margin-top:var(--sp-2);padding:var(--sp-2) var(--sp-3);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--fill-weak);flex-flow:wrap;display:flex}.replace-notice-callout-text{color:var(--ink);font-size:var(--fs-xs);flex:auto;min-width:200px;margin:0}.replace-notice-callout-actions{align-items:center;gap:var(--sp-2);flex:none;display:flex}.replace-notice-callout-view,.replace-notice-callout-dismiss{min-height:36px;padding:0 var(--sp-2);border:1px solid var(--border);color:var(--ink);font-size:var(--fs-xs);white-space:nowrap;cursor:pointer;background:0 0;border-radius:999px;flex:none;font-weight:600}.sync-gate-banner{align-items:center;gap:var(--sp-2);margin-top:var(--sp-2);padding:var(--sp-2) var(--sp-3);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--fill-weak);color:var(--muted);font-size:var(--fs-xs);flex-direction:row;animation:.2s ease-out sync-gate-fade-in;display:flex}.sync-gate-spinner{border:2px solid var(--border);border-top-color:var(--muted);border-radius:999px;flex:none;width:12px;height:12px;animation:.8s linear infinite sync-gate-spin}@keyframes sync-gate-fade-in{0%{opacity:0}to{opacity:1}}@keyframes sync-gate-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.sync-gate-banner,.sync-gate-spinner{animation:none}}.sync-status-pill{align-items:center;gap:var(--sp-2);margin:var(--sp-2) 0 0;padding:var(--sp-1) var(--sp-2);background:var(--fill-weak);color:var(--muted);font-size:var(--fs-xs);border-radius:999px;animation:.2s ease-out sync-gate-fade-in;display:inline-flex}.sync-status-pill-blocked{color:var(--warn)}.sync-status-pill-retry{color:var(--accent);font-size:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-family:inherit;text-decoration:underline}.sync-status-pill-retry:disabled{color:var(--muted);cursor:default;text-decoration:none}@media (prefers-reduced-motion:reduce){.sync-status-pill{animation:none}}.signin-data-dialog{margin-top:var(--sp-2);padding:var(--sp-3) var(--sp-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);gap:var(--sp-2);flex-direction:column;animation:.2s ease-out sync-gate-fade-in;display:flex}@media (prefers-reduced-motion:reduce){.signin-data-dialog{animation:none}}.signin-data-dialog-title{font-size:var(--fs-title);margin:0;font-weight:600}.signin-data-dialog-body{color:var(--ink-2);font-size:var(--fs-sm);margin:0}.signin-data-dialog-error{color:var(--danger);font-size:var(--fs-xs);margin:0}.signup-page{min-height:100vh;padding:var(--sp-4);background:var(--page);flex-direction:column;justify-content:center;align-items:center;display:flex}.signup-shell{gap:var(--sp-5);width:min(92vw,44rem,90vh);min-height:min(72vh,32rem);padding:clamp(var(--sp-5), 3.5vw, 44px);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);flex-direction:column;display:flex;box-shadow:0 12px 32px #00000014}.signup-track{gap:4px;display:flex}.signup-tick{background:var(--grid);border-radius:1px;flex:1;height:2px}.signup-tick--on{background:var(--accent)}.signup-head{gap:var(--sp-2);flex-direction:column;display:flex}.signup-eyebrow{color:var(--accent);letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:clamp(.78rem,.72rem + .18vw,.95rem);font-weight:600}.signup-title{letter-spacing:-.01em;color:var(--ink);margin:0;font-size:clamp(1.75rem,1.4rem + 1.1vw,2.5rem);font-weight:700;line-height:1.3}.signup-lead{color:var(--ink-2);margin:0;font-size:clamp(1rem,.92rem + .3vw,1.25rem);line-height:1.65}.signup-body{justify-content:center;gap:var(--sp-4);flex-direction:column;flex:1;display:flex}.signup-field{width:100%;min-height:60px;padding:0 var(--sp-4);border:1px solid var(--border);border-radius:var(--r-md);background:var(--page);color:var(--ink);font-size:clamp(1rem,.92rem + .3vw,1.25rem)}.signup-field:focus{border-color:var(--accent-ink);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent);outline:none}.signup-choice{align-items:flex-start;gap:var(--sp-3);min-height:56px;padding:var(--sp-4);border:1px solid var(--border);border-radius:var(--r-md);background:var(--page);color:var(--ink);font-size:var(--fs-body);cursor:pointer;line-height:1.6;display:flex}.signup-choice:hover{border-color:var(--accent-ink)}.signup-choice input[type=checkbox]{width:22px;height:22px;accent-color:var(--accent-ink);flex:none;margin:1px 0 0}.signup-choice-note{margin:calc(var(--sp-1) * -1) 0 0;margin-left:calc(22px + var(--sp-3));color:var(--muted);font-size:var(--fs-sm);line-height:1.6}.signup-shell .legal-notice{gap:var(--sp-3);font-size:var(--fs-body);align-items:center;display:flex}.signup-shell .legal-notice-link{color:var(--ink-2);font-size:var(--fs-body)}.signup-section-label{margin:var(--sp-2) 0 0;color:var(--muted);font-size:var(--fs-sm);letter-spacing:.04em;font-weight:600}.signup-choice--quiet{background:0 0;border-color:#0000;padding-left:0;padding-right:0}.signup-choice--quiet:hover{border-color:#0000}.signup-error{color:var(--danger);font-size:var(--fs-sm);margin:0}.signup-foot{gap:var(--sp-2);flex-direction:column;display:flex}.signup-foot .btn-primary,.signup-foot .btn-secondary{width:100%;min-height:56px;font-size:var(--fs-title)}.signup-intro-list{gap:var(--sp-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.signup-intro-list li{align-items:flex-start;gap:var(--sp-3);color:var(--ink-2);font-size:clamp(1rem,.92rem + .3vw,1.2rem);line-height:1.6;display:flex}.signup-intro-list li:before{content:"✓";color:var(--accent-ink);flex:none;font-weight:700}.signin-data-dialog-actions{gap:var(--sp-2);flex-wrap:wrap;display:flex}.app-header{justify-content:space-between;align-items:center;gap:var(--sp-2);padding-top:var(--sp-2);flex-flow:wrap;display:flex}.app-header-brand{align-items:baseline;gap:var(--sp-2);flex-flow:wrap;display:flex}.app-header-toolbar{align-items:center;gap:var(--sp-1);flex-flow:wrap;display:flex}.app-header-toggle{min-height:36px;padding:0 var(--sp-2);border:1px solid var(--border);color:var(--ink-2);font-size:var(--fs-xs);white-space:nowrap;cursor:pointer;background:0 0;border-radius:999px;font-weight:600}.app-header-toggle--active{color:var(--ink);border-color:var(--ink)}.tab-bar{top:var(--demo-banner-h,0px);z-index:5;margin:0 calc(var(--sp-4) * -1);padding:var(--sp-1) var(--sp-4) 0;background:var(--page);border-bottom:1px solid var(--border);position:sticky}.tab-bar-scroll{gap:var(--sp-1);-webkit-overflow-scrolling:touch;scrollbar-width:none;display:flex;overflow-x:auto}.tab-bar-scroll::-webkit-scrollbar{display:none}@media (width>=720px){.tab-bar-scroll{justify-content:center}}.tab-btn{min-height:44px;padding:0 var(--sp-3);color:var(--ink-2);font-size:var(--fs-sm);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;flex:none;font-weight:600}.tab-btn--active{color:var(--ink);border-bottom-color:var(--ink)}.tab-panel{gap:var(--sp-4);flex-direction:column;display:flex}.app-wordmark{letter-spacing:var(--tracking-tight);color:var(--ink);font-size:21px;font-weight:700;line-height:1}.app-tagline{color:var(--muted);font-size:var(--fs-xs);margin:0}.form-block{margin-top:var(--sp-4)}.form-block-title{font-size:var(--fs-xs);color:var(--muted);letter-spacing:var(--tracking-label);text-transform:uppercase;margin:0 0 var(--sp-2);font-weight:700}.settlement-banner{background:var(--fill-weak);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-4);gap:var(--sp-3);flex-direction:column;display:flex}.settlement-banner-text{color:var(--ink-2);font-size:var(--fs-sm);margin:0}.settlement-banner-btn{min-height:44px;padding:0 var(--sp-4);background:var(--cta-fill);color:var(--surface);border-radius:var(--r-sm);cursor:pointer;border:none;align-self:flex-start}.balance-name-input,.balance-amount-input{min-height:26.5px;padding:0 var(--sp-1);border-radius:var(--r-xs);background:0 0;border:1px solid #0000;width:100%;font-size:16px;transition:border-color .1s,background-color .1s}@media (width>=720px){.balance-name-input,.balance-amount-input{font-size:var(--fs-sm)}}.balance-amount-input{text-align:right;font-variant-numeric:tabular-nums;width:116px;margin-right:-1px;padding:1px 0 1px 2px}.balance-name-input:hover,.balance-amount-input:hover{border-color:var(--border);background:var(--page)}.balance-name-input:focus,.balance-amount-input:focus{border-color:var(--border);background:var(--surface)}.balance-name-input:focus,.balance-amount-input:focus,.big-number-field input:focus{outline:2px solid var(--ink);outline-offset:1px}.balance-account-name-btn{all:unset;cursor:pointer;color:inherit;font:inherit;text-align:left;border-radius:var(--r-xs)}.balance-account-name-btn:hover,.balance-account-name-btn:focus-visible{text-decoration:underline}.balance-account-name-btn:focus-visible{outline:2px solid var(--ink);outline-offset:1px}.balance-amount-input[aria-invalid=true]{border-color:var(--danger)}.big-number-field input{min-height:44px;padding:var(--sp-2) var(--sp-3);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--page);width:100%;font-size:16px}.account-delete{min-width:28px;min-height:28px;color:var(--muted);font-size:var(--fs-title);cursor:pointer;border-radius:var(--r-xs);background:0 0;border:none;flex:none}.account-delete:hover{background:var(--border);color:var(--danger)}.account-delete-confirm{align-items:center;gap:var(--sp-1);flex-wrap:wrap;display:inline-flex}.account-delete-confirm-note{color:var(--muted);font-size:var(--fs-xs)}.account-delete-confirm-btn{padding:2px var(--sp-1);color:var(--danger);font-size:var(--fs-xs);cursor:pointer;background:0 0;border:none;font-family:inherit}.account-delete-confirm-btn:hover{text-decoration:underline}.account-delete-cancel-btn{padding:2px var(--sp-1);color:var(--muted);font-size:var(--fs-xs);cursor:pointer;background:0 0;border:none;font-family:inherit}.account-delete-cancel-btn:hover{text-decoration:underline}.balance-account-settings-icon-btn{min-width:28px;min-height:28px;color:var(--muted);font-size:var(--fs-sm);cursor:pointer;border-radius:var(--r-xs);background:0 0;border:none;flex:none}.balance-account-settings-icon-btn:hover,.balance-account-settings-icon-btn:focus-visible{background:var(--fill-weak);color:var(--ink)}.balance-amount-cell-trigger{border-radius:var(--r-xs);width:100%;color:inherit;font:inherit;font-variant-numeric:tabular-nums;text-align:right;cursor:pointer;padding:2px var(--sp-1);margin:-2px calc(var(--sp-1) * -1);background:0 0;border:none;flex-direction:column;align-items:flex-end;display:flex}.balance-amount-cell-trigger:hover{background:var(--fill-weak)}.balance-amount-cell-trigger:focus-visible{outline:2px solid var(--ink-2);outline-offset:1px}.account-add-btn{margin-top:var(--sp-2);border:1px dashed var(--border);width:100%;min-height:44px;color:var(--ink-2);border-radius:var(--r-sm);cursor:pointer;background:0 0}.account-add-btn:hover{border-color:var(--ink-2);color:var(--ink)}.field-error{color:var(--danger);font-size:var(--fs-xs);margin:0}.big-number-field{gap:var(--sp-1);flex-direction:column;display:flex}.big-number-label{font-size:var(--fs-xs);color:var(--muted);letter-spacing:var(--tracking-label);text-transform:uppercase}.results-section{margin-top:var(--sp-5);scroll-margin-top:var(--sp-4)}.six-num-grid{gap:var(--sp-3);grid-template-columns:1fr 1fr;grid-auto-rows:1fr;display:grid}.six-num-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-3);gap:var(--sp-1);flex-direction:column;display:flex}.six-num-label{font-size:var(--fs-xs);color:var(--ink-2);letter-spacing:var(--tracking-label);text-transform:uppercase}.six-num-value{font-size:var(--fs-stat);font-weight:600}.six-num-sub{font-size:var(--fs-xs);color:var(--muted)}.six-num-card--muted{color:var(--muted)}.six-num-muted-text{font-size:var(--fs-xs);color:var(--muted);margin:0}.health-check{margin-top:var(--sp-4)}.health-check-header{justify-content:space-between;align-items:center;gap:var(--sp-2);min-height:24px;display:flex}.health-check-title{font-size:var(--fs-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--muted);margin:0;font-weight:700}.health-check-cycle{--health-check-turns:0;width:24px;height:24px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:13px;line-height:1;display:inline-flex}.health-check-cycle:hover{color:var(--ink-2);background:var(--fill-weak)}.health-check-cycle>span{transform:rotate(calc(var(--health-check-turns) * 180deg));transition:transform .12s ease-out;display:block}@media (prefers-reduced-motion:reduce){.health-check-cycle>span{transition:none}}.health-check-list{margin:var(--sp-2) 0 0;gap:var(--sp-2);flex-direction:column;padding:0;list-style:none;display:flex}.health-check-item{align-items:flex-start;gap:var(--sp-2);font-size:var(--fs-sm);color:var(--ink-2);display:flex}.health-check-dot{border-radius:50%;flex:none;width:8px;height:8px;margin-top:.4em}.health-check-dot--good{background:var(--success)}.health-check-dot--warn{background:var(--warn)}.health-check-dot--muted{background:var(--muted)}.health-check-dot--info{background:var(--ink-2)}.ai-health-card{margin-top:var(--sp-3)}.ai-health-desc{color:var(--ink-2);font-size:var(--fs-sm);margin:0}.ai-health-controls{align-items:flex-end;gap:var(--sp-3);flex-wrap:wrap;display:flex}.ai-health-controls .balance-control{min-width:160px}.ai-health-privacy-toggle{align-items:center;gap:var(--sp-2);font-size:var(--fs-sm);color:var(--ink-2);max-width:320px;display:flex}.ai-health-consent-dialog{max-width:460px}.ai-health-consent-summary{font-size:var(--fs-sm);color:var(--ink);margin:0}.ai-health-consent-note{font-size:var(--fs-xs);color:var(--muted);margin:0}.ai-health-consent-actions{justify-content:flex-end;gap:var(--sp-2);display:flex}.ai-health-report{gap:var(--sp-3);margin-top:var(--sp-3);padding-top:var(--sp-3);border-top:1px solid var(--line);flex-direction:column;display:flex}.ai-health-summary{color:var(--ink);font-size:var(--fs-sm);margin:0;font-weight:600}.ai-health-section{align-items:flex-start;gap:var(--sp-2);display:flex}.ai-health-section-title{color:var(--ink);font-size:var(--fs-sm);margin:0;font-weight:600}.ai-health-section-body{margin:var(--sp-1) 0 0;color:var(--ink-2);font-size:var(--fs-sm)}.ai-health-actions{gap:var(--sp-2);flex-direction:column;display:flex}.ai-health-action-group-title{color:var(--muted);font-size:var(--fs-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;margin:0}.ai-health-action-list{margin:var(--sp-1) 0 0;gap:var(--sp-1);flex-direction:column;padding:0;list-style:none;display:flex}.ai-health-action-item{padding:var(--sp-2);background:var(--fill-weak);border-radius:var(--r-sm);flex-direction:column;gap:2px;display:flex}.ai-health-action-title{color:var(--ink);font-size:var(--fs-sm);font-weight:600}.ai-health-action-detail{color:var(--ink-2);font-size:var(--fs-xs)}.ai-health-data-gaps-title{color:var(--muted);font-size:var(--fs-xs);margin:0}.ai-health-data-gaps ul{margin:var(--sp-1) 0 0;padding-left:var(--sp-4);color:var(--ink-2);font-size:var(--fs-xs)}.ai-health-disclaimer{color:var(--muted);font-size:var(--fs-xs);margin:0}.ai-health-prompt-version{color:var(--muted)}.donut-chart{margin-top:var(--sp-4);align-items:center;gap:var(--sp-3);flex-direction:column;display:flex}.donut-empty{align-items:center;gap:var(--sp-2);flex-direction:column;display:flex}.donut-empty-text{color:var(--muted);font-size:var(--fs-sm);margin:0}.donut-legend{justify-content:center;gap:var(--sp-2) var(--sp-4);flex-wrap:wrap;width:100%;margin:0;padding:0;list-style:none;display:flex}.donut-legend-item{align-items:center;gap:var(--sp-1);font-size:var(--fs-sm);color:var(--ink-2);display:flex}.instrument-trend .donut-legend{text-align:center;text-wrap:balance;margin-bottom:calc(-1 * var(--sp-2));display:block}.instrument-trend .donut-legend-item{vertical-align:top;margin:0 var(--sp-2) var(--sp-2);display:inline-flex}.donut-legend-swatch{border-radius:2px;flex:none;width:10px;height:10px}.donut-legend-percent{color:var(--muted)}.donut-legend-item--dimmed .donut-legend-swatch{opacity:.35}.donut-legend-item--dimmed .donut-legend-label,.donut-legend-note{color:var(--muted)}.holdings-donut-body{justify-content:flex-start;align-items:center;gap:calc(var(--sp-5) * 2);margin-top:var(--sp-4);display:flex}.holdings-donut-body>svg{flex:none}.holdings-donut-legend{flex-direction:column;flex:0 440px;min-width:0;margin:0;padding:0;list-style:none;display:flex}.holdings-donut-row{align-items:center;gap:var(--sp-3);padding:var(--sp-2) 0;font-size:var(--fs-body);color:var(--ink);border-bottom:1px solid var(--grid);display:flex}.holdings-donut-row:last-child{border-bottom:0}.holdings-donut-name{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.holdings-donut-pct{font-variant-numeric:tabular-nums;color:var(--ink);flex:none;font-weight:500}.holdings-donut-row--residual .holdings-donut-name,.holdings-donut-row--residual .holdings-donut-pct{color:var(--muted);font-weight:400}.holdings-donut-refused{margin:var(--sp-3) 0 0;color:var(--ink-2);font-size:var(--fs-sm)}@media (width<=520px){.holdings-donut-body{align-items:stretch;gap:var(--sp-4);flex-direction:column}.holdings-donut-legend{flex:auto}.holdings-donut-body>svg{align-self:center}}.chart-block{margin-top:var(--sp-4);width:100%;position:relative}.chart-title{margin:0 0 var(--sp-2);font-size:var(--fs-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--muted);font-weight:700}.chart-block-head{justify-content:space-between;align-items:baseline;gap:var(--sp-2);display:flex}.band-now-legend{min-width:0;color:var(--ink-2);font-size:var(--fs-xs);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:5px;display:inline-flex;overflow:hidden}.band-now-legend-dot{background:var(--ink);border-radius:50%;flex:none;width:6px;height:6px}.chart-empty-text{color:var(--muted);font-size:var(--fs-sm);margin:0}.chart-caption{margin:var(--sp-2) 0 0;color:var(--muted);font-size:var(--fs-xs)}.waterfall-bar{cursor:pointer;transition:opacity .15s}.waterfall-bar:hover{opacity:.85}.chart-tooltip{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);padding:var(--sp-1) var(--sp-2);font-size:var(--fs-sm);color:var(--ink);pointer-events:none;white-space:nowrap;box-shadow:0 2px 8px var(--border);z-index:2;position:absolute;transform:translate(-50%,calc(-100% - 8px))}.chart-tooltip--below{transform:translate(-50%,8px)}.chart-tooltip-event-month{color:var(--muted);font-size:var(--fs-xs)}.chart-tooltip-event-note{white-space:normal;max-width:220px;color:var(--muted)}.chart-tooltip-head{padding-bottom:var(--sp-1);font-weight:600}.chart-tooltip-rows{gap:2px;margin:0;padding:0;list-style:none;display:grid}.chart-tooltip-row{align-items:center;column-gap:var(--sp-2);font-size:var(--fs-xs);grid-template-columns:8px 1fr auto auto;display:grid}.chart-tooltip-swatch{border-radius:2px;width:8px;height:8px}.chart-tooltip-name{color:var(--muted)}.chart-tooltip-amount,.chart-tooltip-pct{text-align:right;font-variant-numeric:tabular-nums}.chart-tooltip-pct{min-width:44px;color:var(--muted)}.data-actions-card{margin-top:var(--sp-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-4);gap:var(--sp-2);flex-direction:column;display:flex}.data-actions-trust{color:var(--muted);font-size:var(--fs-xs);margin:0}.data-actions-buttons{gap:var(--sp-3);flex-wrap:wrap;align-items:center;display:flex}.data-actions-summary{color:var(--ink-2);font-size:var(--fs-sm);margin:0;font-weight:600}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.btn-primary{min-height:44px;padding:0 var(--sp-4);background:var(--cta-fill);color:var(--surface);border-radius:var(--r-sm);cursor:pointer;border:none}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.restore-label{align-items:center;gap:var(--sp-2);cursor:pointer;min-height:44px;color:var(--ink-2);display:flex}.btn-secondary{min-height:44px;padding:0 var(--sp-4);color:var(--ink);border:1px solid var(--border);border-radius:var(--r-sm);cursor:pointer;white-space:nowrap;background:0 0}.data-actions-errors-lead{color:var(--danger);font-size:var(--fs-xs);margin:0}.data-actions-errors{margin:var(--sp-1) 0 0;padding-left:var(--sp-4);color:var(--danger);font-size:var(--fs-xs)}.backup-list-toggle{color:var(--ink-2);font-size:var(--fs-sm);cursor:pointer;background:0 0;border:none;align-self:flex-start;min-height:44px;padding:0}.backup-list{gap:var(--sp-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.backup-entry{justify-content:space-between;align-items:center;gap:var(--sp-3);font-size:var(--fs-sm);color:var(--ink-2);display:flex}.backup-restore-btn{min-height:44px;padding:0 var(--sp-3);border:1px solid var(--border);color:var(--ink-2);border-radius:var(--r-sm);cursor:pointer;background:0 0}.backup-restore-btn:hover{border-color:var(--ink-2);color:var(--ink)}.danger-zone{margin-top:var(--sp-2);padding-top:var(--sp-3);border-top:1px solid var(--border);gap:var(--sp-2);flex-direction:column;display:flex}.danger-zone-title{color:var(--muted);font-size:var(--fs-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;margin:0}.danger-zone-btn{min-height:44px;padding:0 var(--sp-4);color:var(--danger);border:1px solid var(--danger);border-radius:var(--r-sm);cursor:pointer;background:0 0;align-self:flex-start}.danger-zone-btn:hover{background:color-mix(in srgb, var(--danger) 8%, transparent)}.danger-zone-btn:disabled{opacity:.5;cursor:not-allowed}.danger-zone-confirm{gap:var(--sp-2);padding:var(--sp-3);background:color-mix(in srgb, var(--danger) 6%, transparent);border:1px solid var(--danger);border-radius:var(--r-md);flex-direction:column;display:flex}.danger-zone-warning{color:var(--ink-2);font-size:var(--fs-sm);margin:0}.danger-zone-confirm-field{gap:var(--sp-1);font-size:var(--fs-xs);color:var(--muted);flex-direction:column;display:flex}.danger-zone-confirm-field input{min-height:44px;padding:0 var(--sp-2);border:1px solid var(--border);border-radius:var(--r-sm);font-size:16px}@media (width>=720px){.danger-zone-confirm-field input{font-size:var(--fs-sm)}}.danger-zone-confirm-actions{gap:var(--sp-2);display:flex}.base-currency-card{margin-top:var(--sp-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-3) var(--sp-4);font-size:var(--fs-xs);color:var(--muted)}.base-currency-locked{color:var(--ink-2);margin:0}.base-currency-control{align-items:center;gap:var(--sp-2);flex-flow:wrap;display:flex}.base-currency-field{align-items:center;gap:var(--sp-1);color:var(--ink-2);font-weight:600;display:inline-flex}.base-currency-select{min-height:36px;padding:0 var(--sp-1);border:1px solid var(--border);border-radius:var(--r-sm);color:var(--ink);font-size:var(--fs-xs);background:0 0;font-weight:600}.base-currency-note{color:var(--muted)}.base-currency-control .field-error{flex-basis:100%}.settings-card,.delta-palette-card{margin-top:var(--sp-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-3) var(--sp-4);font-size:var(--fs-xs);color:var(--muted)}.settings-options{gap:var(--sp-1);margin-top:var(--sp-2);flex-direction:column;display:flex}.settings-option{align-items:center;gap:var(--sp-2);min-height:44px;padding:0 var(--sp-2);border-radius:var(--r-sm);cursor:pointer;border:1px solid #0000;flex-wrap:wrap;display:flex}.settings-option--active{border-color:var(--border);background:var(--fill-weak)}.settings-option-label{color:var(--ink);font-weight:600}.settings-option-hint{color:var(--muted)}.settings-card-note{margin:var(--sp-2) 0 0;color:var(--muted)}.delta-palette-options{gap:var(--sp-1);margin-top:var(--sp-2);flex-direction:column;display:flex}.delta-palette-option{align-items:center;gap:var(--sp-2);min-height:44px;padding:0 var(--sp-2);border-radius:var(--r-sm);cursor:pointer;border:1px solid #0000;flex-wrap:wrap;display:flex}.delta-palette-option--active{border-color:var(--border);background:var(--fill-weak)}.delta-palette-option-label{color:var(--ink);font-weight:600}.delta-palette-sample{gap:var(--sp-2);font-weight:600;display:inline-flex}.delta-palette-option[data-palette=western] .delta-palette-sample-gain{color:var(--gain-western)}.delta-palette-option[data-palette=western] .delta-palette-sample-loss{color:var(--loss-western)}.delta-palette-option[data-palette=tw] .delta-palette-sample-gain{color:var(--gain-tw)}.delta-palette-option[data-palette=tw] .delta-palette-sample-loss{color:var(--loss-tw)}.delta-palette-option-hint{color:var(--muted)}.delta-palette-note{margin:var(--sp-2) 0 0;color:var(--muted)}.avg-monthly-expense-card{margin-top:var(--sp-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-3) var(--sp-4);gap:var(--sp-2);flex-direction:column;display:flex}.avg-monthly-expense-hint,.avg-monthly-expense-reference{font-size:var(--fs-xs);color:var(--muted)}.data-sources-card{margin-top:var(--sp-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-3) var(--sp-4);gap:var(--sp-2);flex-direction:column;display:flex}.data-sources-title{color:var(--muted);font-size:var(--fs-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;margin:0}.data-sources-banner{color:var(--ink-2);font-size:var(--fs-sm);margin:0}.data-sources-attribution,.data-sources-note{margin:var(--sp-3) 0 0;color:var(--muted);font-size:var(--fs-xs)}.data-sources-empty{color:var(--muted);font-size:var(--fs-xs);margin:0}.data-sources-list{flex-direction:column;gap:0;display:flex}.data-sources-row{align-items:center;gap:var(--sp-2);padding:var(--sp-1) 0;border-bottom:1px solid var(--line);font-size:var(--fs-xs);color:var(--ink-2);flex-wrap:wrap;display:flex}.data-sources-row:last-child{border-bottom:none}.data-sources-row--header{color:var(--muted);text-transform:uppercase;letter-spacing:var(--tracking-label);font-size:.65rem}.data-sources-ref{overflow-wrap:anywhere;flex:64px;font-weight:600}.data-sources-name,.data-sources-market,.data-sources-currency{overflow-wrap:anywhere;flex:80px;min-width:0}.data-sources-currency{align-items:center;gap:3px;display:inline-flex}.data-sources-price,.data-sources-asof{text-align:right;flex:96px;min-width:0}.data-sources-stale{color:var(--muted);font-size:var(--fs-xs);flex:1 0 100%}.demo-data-card{margin-top:var(--sp-3);background:var(--fill-weak);border:1px dashed var(--border);border-radius:var(--r-lg);padding:var(--sp-4);gap:var(--sp-2);flex-direction:column;display:flex}.demo-data-card-header{align-items:center;gap:var(--sp-2);display:flex}.demo-data-chip{font-size:var(--fs-xs);padding:1px var(--sp-2);border-radius:var(--r-xs);background:var(--fill-strong);color:var(--muted);letter-spacing:var(--tracking-label);flex:none}.cockpit-top{gap:var(--sp-3);flex-direction:column;display:flex}@media (width>=720px){.cockpit-top{flex-direction:row;align-items:stretch}.cockpit-hero{flex:0 0 260px}.cockpit-tiles{flex:1}}.cockpit-hero{background:var(--accent-weak);border-radius:var(--r-lg);padding:var(--sp-4);gap:var(--sp-2);flex-direction:column;display:flex}.cockpit-hero-label{font-size:var(--fs-xs);color:var(--accent-ink);letter-spacing:var(--tracking-label);text-transform:uppercase}.cockpit-hero-month{margin-left:var(--sp-2);color:var(--ink-2);letter-spacing:normal;text-transform:none}.cockpit-hero-value{font-size:var(--fs-hero);color:var(--accent-ink);font-weight:700;line-height:1.1}.cockpit-hero-deltas{gap:var(--sp-3);margin-top:var(--sp-1);flex-wrap:wrap;display:flex}.cockpit-hero-delta{flex-direction:column;gap:2px;display:flex}.cockpit-hero-delta-tag{font-size:var(--fs-xs);color:var(--accent-ink);opacity:.75;letter-spacing:var(--tracking-label);text-transform:uppercase}.cockpit-hero-delta-value{font-size:var(--fs-sm);color:var(--ink);font-weight:600}.cockpit-hero-delta-value--gain{color:var(--gain)}.cockpit-hero-delta-value--loss{color:var(--loss)}.cockpit-hero-delta-value--muted{color:var(--muted);font-weight:400}.cockpit-tiles{gap:var(--sp-3);grid-template-columns:repeat(auto-fit,minmax(130px,1fr));display:grid}.cockpit-tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-3);gap:var(--sp-1);flex-direction:column;display:flex}.cockpit-tile-head{align-items:center;gap:var(--sp-1);display:flex}.cockpit-tile-swatch{border-radius:50%;flex:none;width:8px;height:8px}.cockpit-tile-label{font-size:var(--fs-xs);color:var(--ink-2);letter-spacing:var(--tracking-label);text-transform:uppercase}.cockpit-tile-value{font-size:var(--fs-stat);font-weight:600}.cockpit-tile-delta{font-size:var(--fs-xs);color:var(--muted)}.cockpit-tile-delta--gain{color:var(--gain)}.cockpit-tile-delta--loss{color:var(--loss)}.annual-cashflow-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden}.annual-cashflow-head{justify-content:space-between;align-items:baseline;gap:var(--sp-2);padding:var(--sp-3);display:flex}.annual-cashflow-title{font-size:var(--fs-sm);color:var(--ink);font-weight:600}.annual-cashflow-income{font-size:var(--fs-xs);color:var(--muted)}.annual-cashflow-row{padding:var(--sp-2) var(--sp-3);border-top:1px solid var(--border);position:relative}.annual-cashflow-row-main{justify-content:space-between;align-items:center;gap:var(--sp-3);display:flex}.annual-cashflow-row-label{flex-direction:column;gap:2px;min-width:0;display:flex}.annual-cashflow-row-name{font-size:var(--fs-sm);color:var(--ink-2)}.annual-cashflow-row-sub{font-size:var(--fs-xs);color:var(--muted)}.annual-cashflow-row-figures{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.annual-cashflow-row-amount{font-size:var(--fs-stat);color:var(--ink);font-weight:600}.annual-cashflow-row-amount--loss{color:var(--loss)}.annual-cashflow-row-share{font-size:var(--fs-sm);color:var(--ink-2)}.annual-cashflow-bar{left:var(--sp-3);background:var(--ink-2);border-radius:1px;height:2px;position:absolute;bottom:0}.annual-cashflow-bar--loss{background:var(--loss)}.annual-cashflow-link{justify-content:space-between;align-items:center;gap:var(--sp-2);width:100%;min-height:44px;padding:0 var(--sp-3);border:none;border-top:1px solid var(--border);color:var(--ink-2);font:inherit;font-size:var(--fs-sm);text-align:left;cursor:pointer;background:0 0;display:flex}.annual-cashflow-card--empty .annual-cashflow-link{border-top:none}.annual-cashflow-link:hover{background:var(--fill-weak)}.cockpit-stat-strip{gap:var(--sp-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-3);flex-wrap:wrap;display:flex}.cockpit-stat{flex-direction:column;flex:84px;gap:2px;min-width:84px;display:flex}.cockpit-stat-label{font-size:var(--fs-xs);color:var(--muted);letter-spacing:var(--tracking-label);text-transform:uppercase}.cockpit-stat-value{font-size:var(--fs-sm);color:var(--ink);font-weight:600}.cockpit-report-item--gain{color:var(--gain)}.cockpit-report-item--loss{color:var(--loss)}.cockpit-detail{gap:var(--sp-3);flex-direction:column;display:flex}.cockpit-detail>.form-block-title{margin-bottom:0}@media (width>=720px){.cockpit-detail .six-num-grid{grid-template-columns:repeat(4,1fr)}}.cockpit-words{gap:var(--sp-3);grid-template-columns:1fr;display:grid}@media (width>=720px){.cockpit-words{grid-template-columns:1fr 1fr;align-items:stretch}}.cockpit-words .health-check,.cockpit-words .health-check-list{margin-top:0}.overview-empty{max-width:34rem;margin:var(--sp-5) auto;padding:var(--sp-5);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--fill-weak);text-align:center}.overview-empty-title{font-size:var(--fs-title);color:var(--ink);margin:0;font-weight:600}.overview-empty-body{margin:var(--sp-3) 0 0;color:var(--ink-2);font-size:var(--fs-sm);line-height:1.7}.overview-empty-cta{margin-top:var(--sp-4);min-height:44px;padding:0 var(--sp-4);border-radius:var(--r-sm);background:var(--cta-fill);color:var(--surface);cursor:pointer;border:none}.month-progress{align-items:center;gap:var(--sp-2);margin:var(--sp-3) 0 0;display:flex}.month-progress-dots{gap:4px;display:inline-flex}.month-progress-dot{background:var(--border);border-radius:50%;width:6px;height:6px}.month-progress-dot--filled{background:var(--accent)}.month-progress-label{font-size:var(--fs-xs);color:var(--ink-2)}.account-chips,.expense-chips{align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3) var(--sp-3);flex-wrap:wrap;display:flex}.account-chips-lead,.expense-chips-lead{font-size:var(--fs-xs);color:var(--muted)}.account-chip,.expense-chip{min-height:32px;padding:0 var(--sp-3);border:1px solid var(--border);background:var(--surface);color:var(--ink-2);font-size:var(--fs-xs);cursor:pointer;border-radius:999px}.account-chip:hover,.expense-chip:hover{border-color:var(--accent);color:var(--ink)}.expense-chips{align-items:stretch;gap:var(--sp-2);flex-direction:column;padding-left:0;padding-right:0}.expense-chips-row{gap:var(--sp-1);flex-direction:column;display:flex}.expense-chips-group{font-size:var(--fs-xs);color:var(--muted)}.expense-chips-items{gap:var(--sp-2);flex-wrap:wrap;display:flex}.balance-sticky-bar{z-index:4;gap:var(--sp-2);padding:var(--sp-2) 0;background:var(--page);flex-direction:column;display:flex;position:sticky}.balance-sticky-sentinel{height:0}.balance-controls{gap:var(--sp-2);flex-wrap:wrap;align-items:flex-end;display:flex}.balance-controls-trailing{align-items:center;gap:var(--sp-2);margin-left:auto;display:flex}@media (width<=720px){.balance-controls-trailing{margin-left:0}}.balance-view-toggle{align-items:center;gap:var(--sp-1);min-height:44px;padding:4px var(--sp-2);border-radius:var(--r-sm);color:var(--ink-2);font-size:var(--fs-sm);cursor:pointer;background:0 0;border:none;display:inline-flex}.balance-view-toggle:hover{color:var(--ink)}.balance-view-toggle-label{text-align:right;min-width:28px}.balance-view-toggle-track{background:var(--border);border-radius:11px;flex:none;width:40px;height:22px;transition:background-color .18s;position:relative}.balance-view-toggle[aria-checked=true] .balance-view-toggle-track{background:var(--ink-2)}.balance-view-toggle-knob{background:var(--surface);border-radius:50%;width:18px;height:18px;transition:transform .18s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #14141340}.balance-view-toggle[aria-checked=true] .balance-view-toggle-knob{transform:translate(18px)}@media (prefers-reduced-motion:reduce){.balance-view-toggle-track,.balance-view-toggle-knob{transition:none}}.balance-filters{position:relative}.balance-filters-popover{top:calc(100% + var(--sp-1));z-index:3;align-items:flex-start;gap:var(--sp-2);min-width:200px;padding:var(--sp-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);flex-direction:column;display:flex;position:absolute;right:0;box-shadow:0 4px 16px #1414131f}.balance-filters-collapse-all{align-self:stretch}.balance-filters-divider{border:none;border-top:1px solid var(--line);align-self:stretch;height:0;margin:0}.balance-filter-checkbox--off{color:var(--muted);cursor:not-allowed}.balance-filters-note{max-width:200px;font-size:var(--fs-xs);color:var(--muted);margin:0}.balance-control{gap:var(--sp-1);font-size:var(--fs-sm);color:var(--ink-2);flex-direction:column;display:flex}.balance-control select,.balance-control input{border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);min-height:30px;font-size:var(--fs-sm);padding:4px 9px}.balance-control select:disabled{cursor:not-allowed;color:var(--muted)}.balance-month-nav{align-items:center;gap:var(--sp-1);display:flex}.balance-month-nav-btn{border:1px solid var(--border);min-width:26px;min-height:26px;color:var(--ink-2);border-radius:var(--r-sm);cursor:pointer;font-size:var(--fs-sm);background:0 0;padding:4px 9px}.balance-month-nav-btn:hover:not(:disabled){border-color:var(--ink-2);color:var(--ink)}.balance-month-nav-btn:disabled{opacity:.4;cursor:not-allowed}.balance-filter-checkbox{align-items:center;gap:var(--sp-1);min-height:30px;font-size:var(--fs-sm);color:var(--ink-2);cursor:pointer;display:flex}.balance-filter-checkbox input[type=checkbox]{width:13px;height:13px;margin:0}.balance-manage-btn{border:1px solid var(--border);min-height:30px;color:var(--ink-2);font-size:var(--fs-sm);border-radius:var(--r-sm);cursor:pointer;background:0 0;padding:4px 9px}.balance-manage-btn:hover{border-color:var(--ink-2);color:var(--ink)}.balance-update-prices-hint{font-size:var(--fs-sm);color:var(--muted)}.balance-backfill-btn{border:1px solid var(--border);min-height:30px;color:var(--ink-2);font-size:var(--fs-sm);border-radius:var(--r-sm);cursor:pointer;background:0 0;padding:4px 9px}.balance-backfill-btn:hover:not(:disabled){border-color:var(--ink-2);color:var(--ink)}.balance-backfill-btn:disabled{opacity:.5;cursor:not-allowed}.balance-status-cluster{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.balance-status-cluster-item{display:contents}.balance-start-month-btn{min-height:30px;padding:4px var(--sp-3);border-radius:var(--r-sm);background:var(--cta-fill);color:var(--surface);font-size:var(--fs-sm);cursor:pointer;border:none}.balance-start-month-btn:hover{filter:brightness(.95)}.balance-draft-banner{border:1px dashed var(--warn);border-radius:var(--r-sm);min-height:30px;color:var(--ink-2);font-size:var(--fs-sm);white-space:nowrap;align-items:center;padding:0 9px;font-weight:600;display:inline-flex}.balance-lock-back-btn{border:1px solid var(--border);background:var(--surface);min-height:30px;color:var(--ink-2);border-radius:var(--r-sm);cursor:pointer;font-size:var(--fs-sm);padding:4px 9px}.balance-lock-back-btn:hover{border-color:var(--ink-2);color:var(--ink)}.balance-readonly-banner{border:1px solid var(--border);border-radius:var(--r-sm);min-height:30px;color:var(--muted);font-size:var(--fs-sm);white-space:nowrap;align-items:center;padding:0 9px;display:inline-flex}.balance-edit-unlock-btn{border:1px solid var(--border);min-height:30px;color:var(--ink-2);font-size:var(--fs-sm);border-radius:var(--r-sm);cursor:pointer;background:0 0;padding:4px 9px}.balance-edit-unlock-btn:hover{border-color:var(--ink-2);color:var(--ink)}.balance-archive-suggestion{background:var(--fill-weak);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-3) var(--sp-4);justify-content:space-between;align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.balance-archive-suggestion-text{color:var(--ink-2);font-size:var(--fs-sm);margin:0}.balance-archive-suggestion-actions{gap:var(--sp-2);flex-shrink:0;display:flex}.balance-archive-suggestion-apply-btn{min-height:32px;padding:0 var(--sp-3);border:1px solid var(--border);background:var(--surface);color:var(--ink);font-size:var(--fs-xs);border-radius:var(--r-xs);cursor:pointer;white-space:nowrap}.balance-archive-suggestion-apply-btn:hover{border-color:var(--ink-2)}.balance-summary-strip{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);flex-wrap:wrap;display:flex}.balance-summary-stat{min-width:108px;padding:10px var(--sp-3);border-left:1px solid var(--line);flex-direction:column;flex:120px;justify-content:center;gap:2px;display:flex}.balance-summary-stat:first-child{border-left:none}.balance-summary-stat-label{font-size:var(--fs-xs);color:var(--muted);letter-spacing:var(--tracking-label);text-transform:uppercase;white-space:nowrap}.balance-summary-stat-value{font-size:var(--fs-stat);color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:650}.balance-summary-stat-note{font-size:var(--fs-xs);color:var(--muted);font-weight:400}@media (width<=640px){.balance-summary-stat{border-left:none;border-top:1px solid var(--line);flex:45%}.balance-summary-stat:nth-child(-n+2){border-top:none}}.balance-summary-strip,.balance-summary-stat,.balance-summary-stat-label,.balance-summary-stat-value{transition:padding .15s,font-size .15s,gap .15s}@media (prefers-reduced-motion:reduce){.balance-summary-strip,.balance-summary-stat,.balance-summary-stat-label,.balance-summary-stat-value{transition:none}}.balance-sticky-bar.is-stuck .balance-summary-strip{flex-wrap:nowrap}.balance-sticky-bar.is-stuck .balance-summary-stat{min-width:0;padding:4px var(--sp-2);flex:1 1 0;gap:0}.balance-sticky-bar.is-stuck .balance-summary-stat-label{font-size:9px}.balance-sticky-bar.is-stuck .balance-summary-stat-value{font-size:var(--fs-sm)}@media (width<=720px){.balance-sticky-bar.is-stuck .balance-summary-strip{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;overflow-x:auto}.balance-sticky-bar.is-stuck .balance-summary-stat{border-top:none;border-left:1px solid var(--line);flex:none;min-width:84px}.balance-sticky-bar.is-stuck .balance-summary-stat:first-child{border-left:none}}.balance-events{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:var(--sp-3) 0;gap:var(--sp-2);flex-direction:column;display:flex}.balance-events-header{flex-direction:column;gap:2px;display:flex}.balance-events-header .form-block-title{margin:0}.balance-events-hint{font-size:var(--fs-xs);color:var(--muted);margin:0}.balance-events-add{gap:var(--sp-2);flex-wrap:wrap;display:flex}.balance-events-add input{min-height:36px;padding:0 var(--sp-2);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--page);flex:160px;min-width:140px}.balance-events-add button{min-height:36px;padding:0 var(--sp-3);border:1px solid var(--border);border-radius:var(--r-sm);cursor:pointer;color:var(--ink-2);background:0 0}.balance-events-add button:hover{border-color:var(--ink-2);color:var(--ink)}.balance-events-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.balance-events-item{align-items:center;gap:var(--sp-2);padding:var(--sp-1) 0;border-top:1px solid var(--line);font-size:var(--fs-sm);flex-wrap:wrap;display:flex}.balance-events-item:first-child{border-top:none}.balance-events-item-title{color:var(--ink);font-weight:600}.balance-events-item-note{color:var(--muted);flex:1}.balance-events-delete{min-height:28px;padding:0 var(--sp-2);color:var(--muted);cursor:pointer;font-size:var(--fs-xs);background:0 0;border:none;margin-left:auto}.balance-events-delete:hover{color:var(--ink)}.balance-events-item-actions{align-items:center;gap:var(--sp-1);margin-left:auto;display:flex}.balance-events-item-actions .balance-events-delete{margin-left:0}.balance-events-edit{gap:var(--sp-1);flex-direction:column;flex:100%;display:flex}.balance-tree{border-top:1px solid var(--ink);border-bottom:1px solid var(--line);-webkit-overflow-scrolling:touch;flex-direction:column;display:flex;overflow:auto clip}.scroll-fade-right{--scroll-fade-w:28px;-webkit-mask-image:linear-gradient(to right, #000 calc(100% - var(--scroll-fade-w)), transparent 100%);mask-image:linear-gradient(to right, #000 calc(100% - var(--scroll-fade-w)), transparent 100%);-webkit-mask-image:linear-gradient(to right, #000 calc(100% - var(--scroll-fade-w)), transparent 100%)}.balance-row{--balance-cur-col:clamp(116px, 15vw, 190px);--balance-status-col:104px;grid-template-columns:minmax(220px, 1fr) var(--balance-cur-col) 92px 92px 84px 90px var(--balance-status-col);gap:var(--sp-3);border:none;border-bottom:1px solid var(--line);color:inherit;text-align:left;width:100%;font:inherit;font-size:var(--fs-sm);font-variant-numeric:tabular-nums;background:0 0;align-items:center;padding:5px 10px;display:grid}.balance-row--header{color:var(--muted);font-weight:700;font-size:var(--fs-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;border-bottom-color:var(--ink);background:0 0}.balance-row--header .balance-cell--name{padding-left:0}.balance-row--side{cursor:pointer;background:var(--fill-strongest);font-size:13px;font-weight:700}.balance-row--side .balance-cell--name{padding-left:0}.balance-row--group{cursor:pointer;background:var(--fill-strong);font-size:13px;font-weight:650}.balance-row--group .balance-cell--name{padding-left:14px}.balance-row--account{background:0 0}.balance-row--networth{border-top:3px double var(--ink);background:var(--fill-strongest);font-size:13px;font-weight:700}.balance-row--networth .balance-cell--name{padding-left:0}.balance-row--account:hover{background:var(--fill-weak)}.balance-row--subgroup:hover{background:var(--fill-strong)}.balance-row--group:hover{background:var(--fill-strongest)}.balance-row--indent .balance-cell--name{padding-left:46px}.balance-row--subgroup{cursor:pointer;color:var(--ink-2);background:var(--fill-weak);font-size:13px;font-weight:650}.balance-row--subgroup .balance-cell--name{padding-left:30px}.balance-cell{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.balance-cell:not(.balance-cell--name){text-align:right}.balance-cell--share{white-space:normal;flex-direction:column;align-items:flex-end;gap:3px;display:flex}.balance-share-pct{font-variant-numeric:tabular-nums}.balance-share-track{background:var(--grid);border-radius:2px;width:100%;height:4px;display:block;overflow:hidden}.balance-share-fill{background:var(--ink-2);border-radius:2px;height:100%;display:block}.balance-cell--name{white-space:normal;align-items:center;gap:var(--sp-1);padding-left:30px;display:flex}.balance-disclosure{color:var(--ink-2);font-size:var(--fs-xs);text-align:center;flex:none;width:14px;display:inline-block}.balance-cell--gain{color:var(--gain)}.balance-cell--loss{color:var(--loss)}.account-status-badge{font-size:var(--fs-xs);padding:0 var(--sp-1);border-radius:var(--r-xs);color:var(--surface);letter-spacing:var(--tracking-label);text-transform:uppercase}.account-status-badge--added{background:var(--success)}.account-status-badge--archived{background:var(--muted)}.balance-cell--pending{outline:1px dashed var(--warn);outline-offset:-1px;border-radius:var(--r-xs)}.account-row-confirm{font-size:var(--fs-xs);padding:0 var(--sp-1);border:1px solid var(--border);border-radius:var(--r-xs);color:var(--muted);cursor:pointer;background:0 0}.account-row-confirm:hover{color:var(--ink);border-color:var(--ink)}.balance-cell--status{justify-content:flex-end;align-items:center;gap:var(--sp-1);white-space:nowrap;display:flex}.balance-status-note{color:var(--muted);font-size:var(--fs-xs)}.balance-status-inline{margin-left:var(--sp-1);color:var(--muted);font-size:var(--fs-xs);display:none}.balance-tree--editing .balance-row{grid-template-columns:minmax(220px, 1fr) var(--balance-cur-col) var(--balance-status-col)}.balance-tree--editing .balance-cell--prev,.balance-tree--editing .balance-cell--delta,.balance-tree--editing .balance-cell--delta-pct,.balance-tree--editing .balance-cell--share{display:none}.balance-tree--editing .balance-cell--status{justify-content:flex-end;align-items:center;gap:var(--sp-1);white-space:nowrap;display:flex}.balance-tree--editing .balance-status-inline{display:none}@media (width<=720px){.balance-tree--editing .balance-row{--balance-cur-col:clamp(100px, 26vw, 128px);grid-template-columns:minmax(140px, 1fr) var(--balance-cur-col) 100px}.balance-row{--balance-cur-col:clamp(88px, 24vw, 116px);grid-template-columns:minmax(120px, 1fr) var(--balance-cur-col) 88px}.balance-cell--prev,.balance-cell--delta-pct,.balance-cell--share,.balance-cell--status{display:none}.balance-status-inline{display:inline}.balance-amount-cell-trigger{justify-content:center;min-height:44px}.balance-cell--name{z-index:1;background:var(--page);box-shadow:1px 0 0 var(--line);position:sticky;left:0}.balance-row--side .balance-cell--name{background:var(--page) linear-gradient(var(--fill-strongest), var(--fill-strongest))}.balance-row--group .balance-cell--name{background:var(--page) linear-gradient(var(--fill-strong), var(--fill-strong))}.balance-row--group:hover .balance-cell--name{background:var(--page) linear-gradient(var(--fill-strongest), var(--fill-strongest))}.balance-row--subgroup .balance-cell--name{background:var(--page) linear-gradient(var(--fill-weak), var(--fill-weak))}.balance-row--subgroup:hover .balance-cell--name{background:var(--page) linear-gradient(var(--fill-strong), var(--fill-strong))}.balance-row--account:hover .balance-cell--name{background:var(--page) linear-gradient(var(--fill-weak), var(--fill-weak))}.balance-row--networth .balance-cell--name{background:var(--page) linear-gradient(var(--fill-strongest), var(--fill-strongest))}}.market-compare-view{gap:var(--sp-3);flex-direction:column;display:flex}.market-compare-table{border-top:1px solid var(--ink);border-bottom:1px solid var(--line);flex-direction:column;display:flex;overflow-x:auto}.balance-vg{border-top:1px solid var(--ink);overflow-x:auto}.balance-vg-row{gap:var(--sp-3);border:none;border-bottom:1px solid var(--line);width:100%;color:inherit;text-align:left;font:inherit;font-size:var(--fs-sm);font-variant-numeric:tabular-nums;background:0 0;grid-template-columns:minmax(220px,1fr) 92px 92px 92px 84px;align-items:center;padding:5px 10px;display:grid}.balance-vg-cell{text-overflow:ellipsis;white-space:nowrap;text-align:right;overflow:hidden}.balance-vg-cell--name{text-align:left}.balance-vg-row--header{color:var(--muted);font-weight:700;font-size:var(--fs-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;border-bottom-color:var(--ink)}.balance-vg-row--d1{background:var(--fill-strong);cursor:pointer;font-size:13px;font-weight:700}.balance-vg-row--d2{color:var(--ink-2);background:var(--fill-weak);font-weight:650}.balance-vg-row--d2 .balance-vg-cell--name{padding-left:14px}.balance-vg-row--d3 .balance-vg-cell--name{padding-left:30px}.balance-vg-row--d1:hover{background:var(--fill-strongest)}button.balance-vg-row--d2:hover{background:var(--fill-strong)}.balance-vg-row--untracked{color:var(--muted)}.balance-vg-empty{padding:var(--sp-5) var(--sp-4);text-align:center;color:var(--muted);border-top:1px solid var(--line)}.balance-vg-empty b{color:var(--ink);font-size:var(--fs-body);margin-bottom:var(--sp-2);display:block}.balance-vg-empty p{max-width:42ch;font-size:var(--fs-sm);margin:0 auto}.market-compare-row{gap:var(--sp-2);border-bottom:1px solid var(--line);font-size:var(--fs-sm);font-variant-numeric:tabular-nums;grid-template-columns:minmax(220px,1fr) 116px 116px 92px 64px 128px;align-items:center;padding:5px 10px;display:grid}.market-compare-row--header{color:var(--muted);font-weight:700;font-size:var(--fs-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;border-bottom-color:var(--ink)}.market-compare-row--header .market-compare-cell--name{padding-left:0}.market-compare-row--group{background:var(--fill-strong);font-size:13px;font-weight:650}.market-compare-row--group .market-compare-cell--name{padding-left:14px}.market-compare-cell{text-overflow:ellipsis;white-space:nowrap;text-align:right;overflow:hidden}.market-compare-cell--name{text-align:left;white-space:normal;align-items:center;gap:var(--sp-1);padding-left:30px;display:flex}.market-compare-status-inline{font-size:var(--fs-xs);color:var(--muted);display:none}@media (width<=720px){.market-compare-row{grid-template-columns:minmax(120px,1fr) 88px 88px}.market-compare-cell--book,.market-compare-cell--delta-pct,.market-compare-cell--status{display:none}.market-compare-status-inline{display:inline}}.balance-manage-backdrop{z-index:8;padding:var(--sp-4);background:#14141366;justify-content:center;align-items:flex-start;display:flex;position:fixed;inset:0;overflow-y:auto}.balance-manage-dialog{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-4);width:100%;max-width:640px;margin-top:var(--sp-5);gap:var(--sp-3);flex-direction:column;display:flex}.balance-manage-header{justify-content:space-between;align-items:center;display:flex}.balance-manage-header .form-block-title{margin:0}.balance-manage-close{min-width:32px;min-height:32px;color:var(--muted);font-size:var(--fs-title);cursor:pointer;border-radius:var(--r-sm);background:0 0;border:none}.balance-manage-close:hover{background:var(--fill-weak);color:var(--ink)}.expense-entries-header{gap:var(--sp-2)}.expense-entries-header .form-block-title{text-align:center;white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.expense-entries-header-close{flex:none}.expense-entries-header-done{min-height:32px;padding:0 var(--sp-2);color:var(--accent-ink);font-size:var(--fs-body);cursor:pointer;border-radius:var(--r-sm);background:0 0;border:none;flex:none;font-weight:600}.expense-entries-header-done:hover{background:var(--fill-weak)}.balance-manage-note{color:var(--muted);font-size:var(--fs-xs);margin:0}.pro-gate-body{color:var(--ink);font-size:var(--fs-sm);margin:0;line-height:1.5}.pro-chip{padding:0 var(--sp-1);border-radius:var(--r-sm);background:var(--accent);height:18px;color:var(--surface);letter-spacing:.02em;cursor:pointer;border:none;align-items:center;font-size:10px;font-weight:600;display:inline-flex}.pro-gate-banner{justify-content:space-between;align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);border:1px solid var(--border);border-radius:var(--r-md);background:var(--fill-weak);color:var(--ink);font-size:var(--fs-sm);display:flex}.pro-gate-banner-dismiss{color:var(--muted);font-size:var(--fs-xs);cursor:pointer;white-space:nowrap;background:0 0;border:none}.pro-gate-banner-dismiss:hover{color:var(--ink)}.balance-manage-backfill{padding-bottom:var(--sp-4);border-bottom:1px solid var(--line)}.balance-manage-backfill-row{align-items:flex-end;gap:var(--sp-2);flex-wrap:wrap;display:flex}.balance-manage-body{gap:var(--sp-4);flex-direction:column;max-height:70vh;display:flex;overflow-y:auto}.balance-manage-side-title{margin:0 0 var(--sp-2);font-size:var(--fs-xs);color:var(--ink-2);letter-spacing:var(--tracking-label);font-weight:600}.balance-manage-side+.balance-manage-side{margin-top:var(--sp-4)}.balance-manage-group+.balance-manage-group{margin-top:var(--sp-3)}.balance-manage-group-title{align-items:center;gap:var(--sp-2);margin:0 0 var(--sp-1);min-height:28px;font-size:var(--fs-sm);font-weight:600;display:flex}.balance-manage-group-name{flex:auto;min-width:0}.balance-manage-group-actions{align-items:center;gap:var(--sp-1);flex-shrink:0;display:flex}.balance-manage-icon-btn{border-radius:var(--r-xs);min-width:32px;min-height:32px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0;display:inline-flex}.balance-manage-icon-btn:hover,.balance-manage-icon-btn:focus-visible{border-color:var(--border);background:var(--page);color:var(--ink)}.balance-manage-org-toggle{align-items:center;gap:var(--sp-2);min-width:0;font:inherit;font-weight:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;flex:auto;padding:0;display:flex}.balance-manage-org-toggle--subgroup{flex:none}.balance-manage-org-toggle:focus-visible{outline:2px solid var(--ink);outline-offset:1px}.balance-manage-org-count{color:var(--muted);font-weight:400;font-size:var(--fs-xs);flex-shrink:0}.balance-manage-subgroup{margin-top:var(--sp-2);margin-left:var(--sp-3);padding-left:var(--sp-2);border-left:2px solid var(--line)}.balance-manage-subgroup .balance-manage-group-title{font-size:var(--fs-xs);color:var(--ink-2)}.balance-manage-accounts{flex-direction:column;display:flex}.balance-manage-accounts--indent{margin-left:var(--sp-2)}.balance-manage-empty{margin:0 0 var(--sp-1);color:var(--muted);font-size:var(--fs-xs)}.balance-manage-account{border-bottom:1px solid var(--line)}.balance-manage-account:last-child{border-bottom:none}.balance-manage-account-row,.balance-manage-add-row{align-items:center;gap:var(--sp-1);display:flex}.balance-manage-add-row{padding:var(--sp-1) 0}.balance-manage-add-hint{color:var(--muted);font-size:var(--fs-xs);flex-basis:100%;margin:0}.balance-manage-name-input{min-width:0;min-height:32px;padding:0 var(--sp-2);border-radius:var(--r-xs);font:inherit;font-variant-numeric:tabular-nums;font-size:var(--fs-sm);color:var(--ink);background:0 0;border:1px solid #0000;flex:auto;transition:border-color .1s,background-color .1s}.balance-manage-name-input:hover{border-color:var(--border);background:var(--page)}.balance-manage-name-input:focus{border-color:var(--border);background:var(--surface);outline:none}.balance-manage-name-input--subgroup{font-weight:600}.balance-manage-field{align-items:center;gap:var(--sp-1);flex-wrap:wrap;display:flex}.balance-manage-field-label{color:var(--muted);font-size:var(--fs-xs);white-space:nowrap}.balance-manage-field-select{max-width:180px;min-height:28px;padding:0 var(--sp-1);border:1px solid var(--border);background:var(--surface);color:var(--ink-2);font-size:var(--fs-xs);border-radius:var(--r-xs);cursor:pointer}.balance-manage-field-select:hover:enabled{border-color:var(--ink-2);color:var(--ink)}.balance-manage-field-select:disabled{cursor:not-allowed;color:var(--muted)}.currency-select{min-width:0;display:inline-flex;position:relative}.currency-select-trigger{align-items:center;gap:var(--sp-1);max-width:220px;min-height:28px;padding:0 6px 0 var(--sp-1);border:1px solid var(--border);background:var(--surface);color:var(--ink-2);font-size:var(--fs-xs);border-radius:var(--r-xs);cursor:pointer;font-family:inherit;display:inline-flex}.currency-select-trigger:hover:enabled{border-color:var(--ink-2);color:var(--ink)}.currency-select-trigger:disabled{cursor:not-allowed;color:var(--muted)}.currency-select-trigger[aria-invalid=true]{border-color:var(--danger)}.currency-select-trigger-content{align-items:center;gap:var(--sp-1);flex:1;min-width:0;display:inline-flex}.currency-select-trigger-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.currency-select-caret{color:var(--muted);flex-shrink:0;font-size:9px}.currency-select-listbox{top:calc(100% + var(--sp-1));z-index:5;width:max-content;min-width:100%;max-width:min(280px,100vw - 24px);max-height:320px;padding:var(--sp-1);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);flex-direction:column;gap:2px;display:flex;position:absolute;left:0;overflow-y:auto;box-shadow:0 4px 16px #1414131f}.currency-select-section{flex-direction:column;display:flex}.currency-select-section-label{padding:var(--sp-1) var(--sp-2) 2px;color:var(--muted);font-size:var(--fs-xs);font-weight:600}.currency-select-option{align-items:center;gap:var(--sp-1);min-height:44px;padding:0 var(--sp-2);border-radius:var(--r-xs);color:var(--ink-2);font-size:var(--fs-sm);cursor:pointer;display:flex}.currency-select-option:hover,.currency-select-option--active{background:var(--fill-weak);color:var(--ink)}.currency-select-option[aria-selected=true]{color:var(--accent-ink);font-weight:600}.currency-flag{object-fit:cover;vertical-align:middle;border-radius:2px;flex-shrink:0;width:16px;height:12px}.currency-flag--md{width:20px;height:15px}.balance-manage-field-hint{color:var(--muted);font-size:var(--fs-xs)}.balance-manage-field-ro{font-size:var(--fs-sm);color:var(--ink-2)}.account-settings-lock-line{margin:0 0 var(--sp-2);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-sm);background:var(--fill-weak);color:var(--muted);font-size:var(--fs-sm)}.account-settings-danger{margin-top:var(--sp-2);padding-top:var(--sp-2);border-top:1px solid var(--line)}.account-settings-danger-btn{color:var(--danger);font-size:var(--fs-sm);cursor:pointer;background:0 0;border:none;padding:4px 0;font-family:inherit}.account-settings-danger-btn:hover{text-decoration:underline}.account-settings-danger-note{margin:0 0 var(--sp-1);color:var(--muted);font-size:var(--fs-sm);line-height:1.5}.account-settings-danger-actions{align-items:center;gap:var(--sp-3);display:flex}.account-settings-archived{margin-top:var(--sp-2);padding-top:var(--sp-2);border-top:1px solid var(--line)}.account-settings-archived-note{margin:0 0 var(--sp-1);color:var(--muted);font-size:var(--fs-sm);line-height:1.5}.account-settings-retrack-btn{color:var(--ink-2);font-size:var(--fs-sm);cursor:pointer;background:0 0;border:none;padding:4px 0;font-family:inherit}.account-settings-retrack-btn:hover{text-decoration:underline}.account-settings-danger-cancel-btn{color:var(--muted);font-size:var(--fs-sm);cursor:pointer;background:0 0;border:none;padding:4px 0;font-family:inherit}.account-settings-danger-cancel-btn:hover{text-decoration:underline}.balance-manage-structure-row{align-items:center;gap:var(--sp-1);padding:var(--sp-1) 0;border-bottom:1px solid var(--line);flex-wrap:wrap;display:flex}.balance-manage-structure-row:last-child{border-bottom:none}.balance-manage-structure-name{min-width:0;font-size:var(--fs-sm);flex:120px}.balance-manage-move-btn,.balance-manage-archived{margin-top:var(--sp-4);padding-top:var(--sp-3);border-top:1px solid var(--line)}.balance-manage-archived-toggle{color:var(--ink-2);font-size:var(--fs-sm);cursor:pointer;background:0 0;border:none;padding:4px 0;font-family:inherit}.balance-manage-archived-toggle:hover{color:var(--ink)}.balance-manage-archived-note{margin:var(--sp-1) 0 var(--sp-2);color:var(--muted);font-size:var(--fs-xs);line-height:1.5}.balance-manage-archived-row{align-items:center;gap:var(--sp-2);min-height:32px;display:flex}.balance-manage-archived-name{color:var(--ink-2);font-size:var(--fs-sm)}.balance-manage-archived-path{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--muted);font-size:var(--fs-xs);flex:auto;overflow:hidden}.balance-manage-archive-btn,.balance-manage-add-btn,.balance-manage-remove-btn{min-height:28px;padding:0 var(--sp-2);border:1px solid var(--border);color:var(--ink-2);font-size:var(--fs-xs);border-radius:var(--r-xs);cursor:pointer;white-space:nowrap;background:0 0;flex-shrink:0}.balance-manage-move-btn:hover:not(:disabled),.balance-manage-archive-btn:hover,.balance-manage-add-btn:hover,.balance-manage-remove-btn:hover:not(:disabled){border-color:var(--ink-2);color:var(--ink)}.balance-manage-move-btn:disabled,.balance-manage-remove-btn:disabled{opacity:.4;cursor:not-allowed}.balance-manage-currency-fx{align-items:center;gap:var(--sp-1);padding:var(--sp-2);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);flex-wrap:wrap;flex:1 0 100%;display:flex}.balance-fx{gap:var(--sp-2);padding:var(--sp-3);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);flex-direction:column;display:flex}.balance-fx-head{gap:var(--sp-1);flex-direction:column;display:flex}.balance-fx-title{font-size:var(--fs-sm);margin:0;font-weight:600}.balance-fx-note{color:var(--muted);font-size:var(--fs-xs);margin:0}.balance-fx-row{align-items:center;gap:var(--sp-1) var(--sp-2);flex-wrap:wrap;display:flex}.balance-fx-label,.balance-fx-asof-label{color:var(--ink-2);font-size:var(--fs-sm);white-space:nowrap}.balance-fx-asof-label{color:var(--muted);font-size:var(--fs-xs)}.balance-fx-asof{align-items:center;gap:var(--sp-1);display:flex}.balance-fx-rate-input,.balance-fx-asof-input{min-height:28px;padding:0 var(--sp-1);border:1px solid var(--border);border-radius:var(--r-xs);background:var(--page);color:var(--ink);font-variant-numeric:tabular-nums;font-size:16px}.balance-fx-rate-input{text-align:right;width:88px}.balance-fx-rate-text,.balance-fx-asof-text{font-size:var(--fs-sm);font-variant-numeric:tabular-nums}@media (width>=720px){.balance-fx-rate-input,.balance-fx-asof-input{font-size:var(--fs-sm)}}.balance-fx-stale{color:var(--muted);font-size:var(--fs-xs)}.balance-amount-fx{color:var(--muted);font-size:var(--fs-xs);font-variant-numeric:tabular-nums;white-space:nowrap;display:block}.balance-amount-fx-rate{color:var(--muted)}.balance-amount-fx-orig{align-items:center;display:inline-flex}.balance-amount-fx-orig .currency-flag{margin-right:2px}.holdings-editor{align-items:stretch;gap:var(--sp-1);flex-direction:column;flex:1 0 100%;display:flex}.holdings-sheet{gap:var(--sp-3)}.holdings-note,.holdings-impact{color:var(--muted);font-size:var(--fs-xs);margin:0;line-height:1.5}.holdings-row,.holdings-add-row{align-items:center;gap:var(--sp-1);padding:var(--sp-1) 0;border-bottom:1px solid var(--line);flex-wrap:wrap;display:flex}.holdings-row:last-of-type{border-bottom:none}.holdings-add-row{border-bottom:none;border-top:1px solid var(--line)}.holdings-ref{min-width:0;font-size:var(--fs-sm);overflow-wrap:anywhere;flex:88px}.holdings-input{width:84px;min-height:32px;padding:0 var(--sp-1);border-radius:var(--r-xs);color:var(--ink);font-size:var(--fs-xs);font-variant-numeric:tabular-nums;text-align:right;background:0 0;border:1px solid #0000;transition:border-color .1s,background-color .1s}.holdings-input:hover{border-color:var(--border);background:var(--page)}.holdings-input:focus{border-color:var(--border);background:var(--surface)}.holdings-input:focus-visible{outline:2px solid var(--ink-2);outline-offset:1px}.holdings-input:disabled{color:var(--muted);cursor:not-allowed}.holdings-sep,.holdings-readonly{color:var(--muted);font-size:var(--fs-xs)}.holdings-subtotal,.holdings-total{color:var(--ink-2);font-size:var(--fs-xs);font-variant-numeric:tabular-nums}.holdings-total{padding-top:var(--sp-1);margin:0}.holdings-stale{color:var(--muted);font-size:var(--fs-xs);flex:1 0 100%}.holdings-symbol-picker{gap:var(--sp-1);flex-direction:column;flex-basis:100%;display:flex}.holdings-symbol-search{width:100%;min-height:32px;padding:0 var(--sp-2);border:1px solid var(--border);border-radius:var(--r-xs);background:var(--page);color:var(--ink);font-size:var(--fs-xs);text-align:left}.holdings-symbol-list{border:1px solid var(--line);border-radius:var(--r-xs);flex-direction:column;max-height:220px;display:flex;overflow-y:auto}.holdings-symbol-option{min-height:32px;padding:0 var(--sp-2);border:none;border-bottom:1px solid var(--line);color:var(--ink-2);font-size:var(--fs-xs);text-align:left;cursor:pointer;background:0 0}.holdings-symbol-option:last-child{border-bottom:none}.holdings-symbol-option:hover{background:var(--fill-weak);color:var(--ink)}.investment-picker-flow{gap:var(--sp-1);flex-direction:column;flex-basis:100%;display:flex}.investment-picker-divider{height:1px;margin:var(--sp-1) 0;background:var(--line)}.holdings-bound-list{gap:var(--sp-4);flex-direction:column;flex-basis:100%;display:flex}.holdings-bound-item{color:var(--ink-2);font-size:var(--fs-xs)}.balance-amount-derived{font-variant-numeric:tabular-nums;display:block}.balance-amount-holdings-formula{color:var(--muted);font-size:var(--fs-xs);font-variant-numeric:tabular-nums;white-space:normal;display:block}.balance-amount-holdings-note{color:var(--muted);font-size:var(--fs-xs);white-space:normal;display:block}.account-edit-dialog{max-width:480px}.account-edit-drag-handle{display:none}@media (width<=720px){.account-edit-backdrop{align-items:flex-end;padding:0}.account-edit-dialog{border-radius:var(--r-lg) var(--r-lg) 0 0;width:100%;max-width:100%;max-height:85vh;margin-top:0;animation:.22s ease-out account-edit-sheet-in}.account-edit-drag-handle{width:36px;height:4px;margin-bottom:var(--sp-2);border-radius:var(--r-xs);background:var(--border);align-self:center;display:block}}@keyframes account-edit-sheet-in{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media (width<=720px) and (prefers-reduced-motion:reduce){.account-edit-dialog{animation:none}}.account-edit-readonly-hint{padding:var(--sp-2) var(--sp-3);border:1px dashed var(--warn);border-radius:var(--r-sm);color:var(--ink-2);font-size:var(--fs-sm);margin:0}.holdings-sheet-hero-label{color:var(--muted);font-size:var(--fs-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;margin:0}.holdings-sheet-value{color:var(--ink);letter-spacing:-.025em;font-variant-numeric:tabular-nums;text-align:right;margin:0;font-size:36px;font-weight:700;line-height:1.15}.holdings-formula{color:var(--muted);font-size:var(--fs-sm);font-variant-numeric:tabular-nums;text-align:right;margin:0}.holdings-formula-total{color:var(--ink-2)}.holdings-field{align-items:flex-end;gap:var(--sp-2);padding:0 0 10px var(--sp-3);border-left:2px solid var(--line);border-bottom:1.5px solid var(--line);display:flex}.holdings-field:focus-within{border-left-color:var(--accent);border-bottom-color:var(--ink)}.holdings-field-label{color:var(--muted);font-size:var(--fs-xs);letter-spacing:var(--tracking-label);white-space:nowrap;line-height:20px}.holdings-field-push{flex:1}.holdings-field-action{align-items:center;display:inline-flex}.holdings-field-input{width:100%;min-width:0;max-width:62%;color:var(--ink);font:inherit;letter-spacing:-.015em;font-variant-numeric:tabular-nums;text-align:right;background:0 0;border:none;flex:0 auto;padding:0;font-size:28px;font-weight:600;line-height:28px}.holdings-field-input:focus,.holdings-field-input:focus-visible{outline:none}.holdings-field-input:disabled{color:var(--ink-2);-webkit-text-fill-color:var(--ink-2);opacity:1}.holdings-field-input-date{font-size:var(--fs-body);letter-spacing:0;font-weight:500;line-height:22px}.holdings-market-chip{border:1px solid var(--line);height:24px;color:var(--ink-2);font-size:var(--fs-xs);letter-spacing:var(--tracking-label);white-space:nowrap;cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:4px;padding:0 10px;display:inline-flex}.holdings-market-chip:hover:not(:disabled){border-color:var(--accent);color:var(--accent-ink)}.holdings-market-chip:disabled{opacity:.5;cursor:default}.holdings-market-chip-icon{flex:none;width:10px;height:10px}.holdings-unbound-hint{margin:var(--sp-2) 0 0;color:var(--muted);font-size:var(--fs-xs)}.holdings-unbound-list{margin-top:var(--sp-2);flex-direction:column;display:flex}.holdings-bound-row{gap:var(--sp-4);padding:var(--sp-2) 0 0;flex-direction:column;display:flex}.holdings-locked-list{gap:var(--sp-1);flex-direction:column;flex-basis:100%;display:flex}.holdings-locked-row{align-items:baseline;gap:var(--sp-2);flex-wrap:wrap;display:flex}.holdings-bound-row-name{align-items:baseline;gap:var(--sp-1);display:flex}.holdings-bound-row-label{color:var(--muted);font-size:var(--fs-xs);letter-spacing:var(--tracking-label);font-weight:500}.holdings-bound-row-code,.holdings-bound-row-market,.holdings-bound-confirm{color:var(--muted);font-size:var(--fs-xs)}.holdings-bound-row-line{justify-content:flex-end;align-items:center;gap:var(--sp-1);flex-wrap:wrap;display:flex}.holdings-bound-price-display,.holdings-bound-price-pending{min-width:84px;color:var(--ink-2);font-size:var(--fs-xs);font-variant-numeric:tabular-nums;text-align:right}.holdings-bound-price-pending{color:var(--muted)}.holdings-bound-asof{color:var(--muted);font-size:var(--fs-xs);align-self:flex-end}.holdings-bound-row-more{justify-content:flex-end;align-items:center;gap:var(--sp-1);display:flex}.invest-tx-entry-row{justify-content:space-between;align-items:center;gap:var(--sp-3);width:100%;min-height:44px;padding:var(--sp-2) 0;border:none;border-top:1px solid var(--line);color:var(--ink);font:inherit;font-size:var(--fs-body);text-align:left;cursor:pointer;background:0 0;display:flex}.invest-tx-entry-row:hover .invest-tx-entry-value{color:var(--accent-ink)}.invest-tx-entry-label{color:var(--ink-2)}.invest-tx-entry-value{color:var(--ink-2);font-variant-numeric:tabular-nums;font-weight:500}.account-edit-back{padding:0 var(--sp-2) 0 0;color:var(--muted);font-size:var(--fs-title);cursor:pointer;background:0 0;border:none;line-height:1}.account-edit-back:hover{color:var(--ink)}.invest-tx-panel{gap:var(--sp-3);flex-direction:column;flex-basis:100%;display:flex}.invest-tx-summary{gap:var(--sp-2);padding:var(--sp-3);border-radius:var(--r-sm);background:var(--fill-weak);flex-direction:column;display:flex}.invest-tx-context{color:var(--muted);font-size:var(--fs-xs);letter-spacing:var(--tracking-label);margin:0}.invest-tx-net{justify-content:space-between;align-items:flex-end;gap:var(--sp-3);display:flex}.invest-tx-net-label{color:var(--ink-2);font-size:var(--fs-xs);letter-spacing:var(--tracking-label)}.invest-tx-net-value{color:var(--ink);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:25px;font-weight:700;line-height:1.1}.invest-tx-kind-cells{margin-top:var(--sp-1);border-radius:var(--r-xs);background:var(--line);grid-template-columns:1fr 1fr;gap:1px;display:grid;overflow:hidden}.invest-tx-kind-cell{padding:var(--sp-2) var(--sp-3) var(--sp-3);border-top:3px solid #0000;flex-direction:column;gap:2px;display:flex}.invest-tx-kind-buy{border-top-color:var(--tx-buy);background:color-mix(in srgb, var(--tx-buy) 6%, var(--surface))}.invest-tx-kind-sell{border-top-color:var(--tx-sell);background:color-mix(in srgb, var(--tx-sell) 6%, var(--surface))}.invest-tx-kind-label{font-size:var(--fs-xs);letter-spacing:var(--tracking-label);font-weight:700}.invest-tx-kind-buy .invest-tx-kind-label{color:var(--tx-buy)}.invest-tx-kind-sell .invest-tx-kind-label{color:var(--tx-sell)}.invest-tx-kind-value{color:var(--ink);font-size:var(--fs-stat);font-variant-numeric:tabular-nums;font-weight:600}.invest-tx-kind-count{color:var(--muted);font-size:var(--fs-xs)}.invest-tx-empty,.invest-tx-readonly-notice{color:var(--muted);font-size:var(--fs-sm);margin:0}.invest-tx-list{gap:var(--sp-2);flex-direction:column;display:flex}.invest-tx-anchor{padding:var(--sp-2) var(--sp-3);border-radius:var(--r-sm);background:var(--fill-weak);flex-direction:column;gap:2px;display:flex}.invest-tx-anchor-head{justify-content:space-between;align-items:baseline;gap:var(--sp-2);display:flex}.invest-tx-anchor-label{font-weight:600}.invest-tx-anchor-units{font-variant-numeric:tabular-nums;font-weight:600}.invest-tx-anchor-sub{color:var(--muted);font-size:var(--fs-xs);margin:0}.invest-tx-anchor-gap{color:var(--warn);font-size:var(--fs-xs);margin:0}.invest-tx-day-label{color:var(--muted);font-size:var(--fs-xs);letter-spacing:var(--tracking-label);margin:0 0 2px}.invest-tx-row{align-items:center;gap:var(--sp-2);min-height:44px;padding:var(--sp-1) 0;border-bottom:1px solid var(--line);display:flex}.invest-tx-day>.invest-tx-row:last-child{border-bottom:none}.invest-tx-badge{border-radius:var(--r-xs);font-size:var(--fs-xs);letter-spacing:var(--tracking-label);flex:none;padding:2px 7px;font-weight:700}.invest-tx-badge-buy{color:var(--tx-buy);background:var(--tx-buy-wash)}.invest-tx-badge-sell{color:var(--tx-sell);background:var(--tx-sell-wash)}.invest-tx-row-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--fs-body);flex:1;overflow:hidden}.invest-tx-row-amount{color:var(--ink);font-size:var(--fs-stat);font-variant-numeric:tabular-nums;font-weight:600}.invest-tx-row-button{border:none;border-bottom:1px solid var(--line);width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0}.invest-tx-row-button:hover{background:var(--fill-weak)}.invest-tx-add{width:100%;min-height:44px;padding:var(--sp-2);border:1px dashed var(--border);border-radius:var(--r-xs);color:var(--ink-2);font:inherit;font-size:var(--fs-body);cursor:pointer;background:0 0;font-weight:500}.invest-tx-add:hover{border-color:var(--accent);color:var(--accent-ink)}.invest-tx-form{gap:var(--sp-4);padding:var(--sp-3) 0 var(--sp-2);flex-direction:column;display:flex}.invest-tx-amount{padding-bottom:var(--sp-3);border-bottom:1px solid var(--line);flex-direction:column;gap:2px;display:flex}.invest-tx-amount-label{color:var(--muted);font-size:var(--fs-xs);letter-spacing:var(--tracking-label)}.invest-tx-amount-value{color:var(--ink);letter-spacing:-.025em;font-variant-numeric:tabular-nums;text-align:right;font-size:36px;font-weight:700;line-height:1.15}.invest-tx-amount-expr{color:var(--muted);font-size:var(--fs-sm);font-variant-numeric:tabular-nums;text-align:right}.invest-tx-note-line{margin:calc(var(--sp-4) * -1 + var(--sp-1)) 0 0;color:var(--muted);font-size:var(--fs-sm)}.invest-tx-kind-toggle{border-radius:var(--r-sm);background:var(--fill-strong);gap:2px;padding:2px;display:inline-flex}.invest-tx-kind-option{min-width:64px;min-height:36px;padding:0 var(--sp-3);border-radius:var(--r-xs);color:var(--muted);font:inherit;font-size:var(--fs-body);cursor:pointer;background:0 0;border:none}.invest-tx-kind-option-on{background:var(--surface);box-shadow:0 1px 2px var(--border);font-weight:700}.invest-tx-kind-option-on.invest-tx-kind-option-buy{color:var(--tx-buy)}.invest-tx-kind-option-on.invest-tx-kind-option-sell{color:var(--tx-sell)}.holdings-field-input-text{font-size:var(--fs-body);letter-spacing:0;text-align:right;font-weight:500;line-height:22px}.invest-tx-actions{justify-content:flex-end;align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.invest-tx-delete{padding:var(--sp-2) 0;color:var(--danger);font:inherit;font-size:var(--fs-sm);cursor:pointer;background:0 0;border:none;margin-right:auto;font-weight:500}.invest-tx-confirm-copy{color:var(--muted);font-size:var(--fs-sm);margin-right:auto}.invest-tx-cancel,.invest-tx-again,.invest-tx-save,.invest-tx-delete-confirm-btn{min-height:36px;padding:var(--sp-2) var(--sp-4);border-radius:var(--r-xs);font:inherit;font-size:var(--fs-sm);cursor:pointer;border:1px solid #0000}.invest-tx-cancel{color:var(--ink-2);background:0 0;border-color:#0000;font-weight:500}.invest-tx-again{border-color:var(--border);color:var(--ink);background:0 0;font-weight:600}.invest-tx-save{background:var(--accent);color:var(--surface);font-weight:700}.invest-tx-save:hover:not(:disabled){background:var(--accent-ink)}.invest-tx-delete-confirm-btn{background:var(--danger);color:var(--surface);font-weight:700}.invest-tx-again:disabled,.invest-tx-save:disabled{opacity:.45;cursor:default}.report-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-4);gap:var(--sp-2);font-size:var(--fs-sm);flex-direction:column;display:flex}.report-card ul{margin:var(--sp-1) 0 0;padding-left:var(--sp-4)}.yoy-table-scroll{overflow-x:auto}.yoy-table table,.amort-table,.expenses-grid{width:100%;font-size:var(--fs-sm)}.yoy-table table,.amort-table{border-collapse:collapse}.expenses-grid{border-collapse:separate;border-spacing:0}.yoy-table th,.yoy-table td,.amort-table th,.amort-table td,.expenses-grid th,.expenses-grid td{border:none;border-bottom:1px solid var(--line);padding:var(--sp-2);text-align:right;white-space:nowrap}.yoy-table th,.amort-table th,.expenses-grid th{font-size:var(--fs-xs);color:var(--muted);letter-spacing:var(--tracking-label);text-transform:uppercase;border-bottom:1px solid var(--ink);font-weight:700}.yoy-table th:first-child,.yoy-table td:first-child,.amort-table th:nth-child(2),.amort-table td:nth-child(2),.expenses-grid th:first-child,.expenses-grid td:first-child{text-align:left}.yoy-table tbody tr:hover,.expenses-grid tbody tr:hover{background:var(--fill-weak)}.loan-yearly-row{cursor:pointer}.loan-yearly-row:hover,.loan-yearly-row:focus-visible{background:var(--fill-weak)}.loan-yearly-row:focus-visible{outline:2px solid var(--ink-2);outline-offset:-2px}.loan-yearly-row--gated{color:var(--muted)}.loan-yearly-year-label{-webkit-text-decoration:underline dotted var(--muted);text-decoration:underline dotted var(--muted);text-underline-offset:2px}.loan-yearly-detail-dialog{max-width:480px;margin:auto}.loan-yearly-detail-list{gap:var(--sp-2);color:var(--ink-2);font-size:var(--fs-sm);flex-direction:column;margin:0;padding:0;line-height:1.6;list-style:none;display:flex}.loan-yearly-detail-list li{padding:var(--sp-1) 0}.analysis-cell--gain{color:var(--gain)}.analysis-cell--loss{color:var(--loss)}.analysis-section-title{margin:var(--sp-5) 0 var(--sp-2);padding-top:var(--sp-3);border-top:1px solid var(--line);color:var(--ink);font-size:var(--fs-title);font-weight:600}.analysis-section-title:first-child{border-top:none;margin-top:0;padding-top:0}.analysis-invest-disclosure{margin:0 0 var(--sp-2);color:var(--muted);line-height:1.5;font-size:var(--fs-xs)}.analysis-section-title:has(+.analysis-invest-disclosure){margin-bottom:var(--sp-1)}.analysis-invest-disclosure+.chart-block{margin-top:var(--sp-2)}.invest-exposure-axis-row{margin-bottom:var(--sp-3)}.analysis-controls{gap:var(--sp-4);margin-top:var(--sp-3);flex-wrap:wrap;align-items:flex-end;display:flex}.analysis-controls .balance-control{gap:var(--sp-1)}.seg-control{border:1px solid var(--border);border-radius:var(--r-sm);display:inline-flex;overflow:hidden}.seg-control-btn{min-height:30px;padding:0 var(--sp-2);border:none;border-right:1px solid var(--border);color:var(--ink-2);font-size:var(--fs-sm);cursor:pointer;background:0 0;transition:background-color .15s}.seg-control-btn:last-child{border-right:none}.seg-control-btn:hover:not(.seg-control-btn--active){background:var(--fill-weak)}.seg-control-btn--active{background:var(--fill-strong);color:var(--ink);font-weight:600}.seg-control--tabs{border:none;border-bottom:1px solid var(--grid);align-self:flex-start;gap:var(--sp-1);border-radius:0;display:flex;overflow:visible}.seg-control--tabs .seg-control-btn{min-height:40px;padding:0 var(--sp-3);white-space:nowrap;border-bottom:2px solid #0000;border-right:none;margin-bottom:-1px;font-size:15px;font-weight:600}.seg-control--tabs .seg-control-btn:first-child{padding-left:0}.seg-control--tabs .seg-control-btn:hover:not(.seg-control-btn--active){color:var(--ink);background:0 0}.seg-control--tabs .seg-control-btn--active{border-bottom-color:var(--ink);background:0 0}.seg-control--tabs .seg-control-meta{padding:1px var(--sp-1);border-radius:var(--r-xs);background:var(--fill-strong);color:var(--ink-2);font-weight:600}.seg-control--chips{gap:var(--sp-1);border:none;border-radius:0;flex-wrap:wrap;display:flex;overflow:visible}.seg-control--chips .seg-control-btn{min-height:32px;padding:0 var(--sp-3);border:1px solid var(--border);background:var(--fill-weak);border-radius:999px}.seg-control--chips .seg-control-btn:hover:not(.seg-control-btn--active){background:var(--fill-strong)}.seg-control--chips .seg-control-btn--active{background:var(--cta-fill);border-color:var(--cta-fill);color:var(--surface)}@media (width<=900px){.seg-control--chips .seg-control-btn{min-height:44px}}@media (prefers-reduced-motion:reduce){.seg-control-btn{transition:none}}.insight-callout{margin:var(--sp-2) 0 var(--sp-3);padding:var(--sp-2) var(--sp-3);border:1px solid var(--line);border-radius:var(--r-sm);background:var(--fill-weak);color:var(--ink-2);font-size:var(--fs-sm);line-height:1.5}.analysis-range-custom{align-items:center;gap:var(--sp-2);display:flex}.chart-block>.seg-control{margin-bottom:var(--sp-2)}.analysis-range-custom-label{color:var(--muted);font-size:var(--fs-sm)}.analysis-block{gap:var(--sp-2);flex-direction:column;display:flex}.analysis-block>.chart-block,.analysis-block>.yoy-table{margin-top:var(--sp-2)}.analysis-block>.insight-callout{margin:0}.analysis-block>.chart-caption{margin-top:0}.analysis-block,.tab-panel>.report-card,.tab-panel>.yoy-table{margin-top:var(--sp-2)}.expenses-grid th,.expenses-grid td{padding:4px var(--sp-1)}@media (width>=720px){.expenses-grid{table-layout:fixed}.expenses-grid th:first-child,.expenses-grid td:first-child{width:150px}.expenses-grid th:last-child,.expenses-grid td:last-child{width:60px}.expenses-grid th:nth-last-child(2),.expenses-grid td:nth-last-child(2){width:76px}}@media (width<=720px){.expenses-grid td:first-child,.expenses-grid th:first-child{z-index:1;background:var(--page);box-shadow:1px 0 0 var(--line);position:sticky;left:0}.expenses-grid tbody tr:hover td:first-child{background:var(--page) linear-gradient(var(--fill-weak), var(--fill-weak))}.expenses-grid tbody tr[data-testid^=expense-group-header-] td:first-child{background:var(--page) linear-gradient(var(--fill-strong), var(--fill-strong))}.expenses-grid tbody tr[data-testid^=expense-group-header-]:hover td:first-child{background:var(--page) linear-gradient(var(--fill-strongest), var(--fill-strongest))}}.loans-list{gap:var(--sp-4);flex-direction:column;display:flex}.loan-currency-review-list{margin:var(--sp-2) 0 0;padding-left:var(--sp-4);color:var(--ink-2);font-size:var(--fs-sm);line-height:1.7}.loans-empty{gap:var(--sp-3);flex-direction:column;display:flex}.loan-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-4);gap:var(--sp-3);flex-direction:column;display:flex}.loan-card-header{justify-content:space-between;align-items:center;gap:var(--sp-2);display:flex}.loan-card-toggle{align-items:center;gap:var(--sp-2);min-width:0;min-height:44px;color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;flex:auto;padding:0;display:flex}.loan-card-toggle .form-block-title{text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.loan-status-chip{font-size:var(--fs-xs);padding:1px var(--sp-1);border-radius:var(--r-xs);background:var(--fill-strong);color:var(--muted);letter-spacing:var(--tracking-label);flex:none}.loan-card--closed{opacity:.55}.loan-card-toggle--static{cursor:default;background:0 0}.loan-facts--closed,.loan-facts--closed dd{color:var(--muted)}.loan-card-caret{text-align:center;width:14px;color:var(--ink-2);font-size:var(--fs-xs);flex:none}.loan-card-toggle-hint{color:var(--muted);font-size:var(--fs-xs);white-space:nowrap;flex:none}.loan-card-actions{gap:var(--sp-2);flex:none;display:flex}.loan-card-detail{gap:var(--sp-3);flex-direction:column;animation:.15s loan-card-detail-in;display:flex}@keyframes loan-card-detail-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.loan-card-detail{animation:none}}.loan-card-actions button{min-height:44px;padding:0 var(--sp-3);border:1px solid var(--border);border-radius:var(--r-sm);cursor:pointer;color:var(--ink-2);background:0 0}.loan-facts{gap:var(--sp-2) var(--sp-4);grid-template-columns:repeat(2,1fr);margin:0;display:grid}@media (width>=560px){.loan-facts{grid-template-columns:repeat(4,1fr)}}.loan-facts dt{font-size:var(--fs-xs);color:var(--muted);letter-spacing:var(--tracking-label);text-transform:uppercase}.loan-facts dd{font-size:var(--fs-sm);margin:0;font-weight:600}.amort-table-wrap{overflow-x:auto}.amort-year-row{cursor:pointer}.amort-year-row:hover{background:var(--page)}.amort-month-row td{color:var(--ink-2);background:var(--page)}.loan-whatif,.loan-refinance{gap:var(--sp-1);font-size:var(--fs-sm);flex-direction:column;display:flex}.loan-form{gap:var(--sp-2);flex-direction:column;max-width:420px;display:flex}.loan-form-field{gap:var(--sp-1);font-size:var(--fs-sm);color:var(--ink-2);flex-direction:column;display:flex}.loan-form-field input,.loan-form-field select{min-height:44px;padding:0 var(--sp-2);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--page);font-size:16px}.loan-form-actions{gap:var(--sp-2);display:flex}.loan-form-actions button:not(.btn-primary){min-height:44px;padding:0 var(--sp-3);border:1px solid var(--border);border-radius:var(--r-sm);cursor:pointer;background:0 0}.loan-rate-adjust{gap:var(--sp-2);flex-direction:column;display:flex}.loan-rate-adjust-toggle{justify-content:space-between;align-items:center;gap:var(--sp-2);min-height:44px;color:var(--ink-2);font-size:var(--fs-sm);text-align:left;cursor:pointer;background:0 0;border:none;padding:0;display:flex}.loan-rate-adjust-caret{color:var(--muted);font-size:var(--fs-xs);flex:none}.loan-rate-adjust-body{gap:var(--sp-2);flex-direction:column;padding-top:2px;display:flex}.loan-rate-adjust-item{font-size:var(--fs-sm);color:var(--ink-2);justify-content:space-between;align-items:center;display:flex}.loan-rate-adjust-item-right{align-items:center;gap:var(--sp-3);display:flex}.loan-rate-adjust-remove{color:var(--muted);font-size:var(--fs-xs);cursor:pointer;padding:var(--sp-1);background:0 0;border:none}.loan-rate-adjust-add-btn{min-height:44px;padding:0 var(--sp-3);border:1px solid var(--border);border-radius:var(--r-md);color:var(--accent-ink);cursor:pointer;background:0 0}.loan-rate-adjust-add-form{gap:var(--sp-2);flex-direction:column;display:flex}.loan-account-balance{font-size:var(--fs-sm);color:var(--ink-2);white-space:nowrap;font-weight:600}.loan-balance-block{flex-direction:column;flex:none;align-items:flex-end;gap:2px;display:flex}.loan-balance-month{font-size:var(--fs-xs);color:var(--muted);white-space:nowrap}.loan-orphan-note{align-items:center;gap:var(--sp-2);margin:var(--sp-3) 0 0;color:var(--muted);font-size:var(--fs-xs);flex-wrap:wrap;display:flex}.loan-orphan-note button{min-height:32px;padding:0 var(--sp-2);border:1px solid var(--border);border-radius:var(--r-sm);cursor:pointer;color:var(--ink-2);background:0 0}.expenses-legend{margin:var(--sp-2) 0 0;gap:var(--sp-1) var(--sp-3);flex-wrap:wrap;padding:0;list-style:none;display:flex}.expenses-legend-item{align-items:center;gap:var(--sp-1);min-height:28px;padding:0 var(--sp-1);color:var(--ink-2);font-size:var(--fs-sm);border-radius:var(--r-xs);cursor:pointer;background:0 0;border:none;display:flex}.expenses-legend-item:hover{background:var(--fill-weak)}.expenses-legend-item--off{color:var(--muted);text-decoration:line-through;-webkit-text-decoration-color:var(--baseline);text-decoration-color:var(--baseline)}.expenses-legend-swatch{border-radius:2px;flex:none;width:10px;height:10px}.expenses-hidden-note{margin:var(--sp-1) 0 0;color:var(--muted);font-size:var(--fs-xs)}.expenses-side-control{width:fit-content;margin-bottom:var(--sp-3)}.expenses-toolbar{align-items:flex-end;gap:var(--sp-3);flex-wrap:wrap;display:flex}.expenses-year-controls{align-items:flex-end;gap:var(--sp-2);flex-wrap:wrap;display:flex}.expenses-year-controls select{border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);min-height:30px;font-size:var(--fs-sm);padding:4px 9px}.expenses-year-controls button{min-height:30px;padding:0 var(--sp-2);border:1px solid var(--border);border-radius:var(--r-sm);font-size:var(--fs-sm);cursor:pointer;background:0 0}.expense-add-item-open{min-height:30px;padding:0 var(--sp-3);font-size:var(--fs-sm);margin-left:auto}@media (width<=720px){.expense-add-item-open{width:100%;margin-left:0}}.expenses-sticky-head{z-index:4;background:var(--page);border-bottom:1px solid var(--ink);position:sticky}.expenses-sticky-head-viewport{overflow:hidden}.expenses-sticky-head-viewport .expenses-grid{table-layout:fixed;width:max-content}.expenses-sticky-sentinel{height:0}.expenses-grid-scroll{border-top:1px solid var(--ink);border-bottom:1px solid var(--line);max-width:100%;overflow:auto clip}.expenses-item-cell{min-width:130px}.expenses-grid td.expenses-item-cell--indent{padding-left:22px}.expenses-grid td.expenses-group-name-cell{padding:0}.expenses-grid tbody tr[data-testid^=expense-group-header-]{background:var(--fill-strong);font-weight:700}.expenses-grid tbody tr[data-testid^=expense-group-header-]:hover{background:var(--fill-strongest)}.expenses-group-toggle{align-items:center;gap:var(--sp-1);width:100%;min-height:36px;padding:4px var(--sp-1);color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;font-weight:700;display:flex}.expenses-actions-cell{white-space:nowrap}.expenses-row-actions{align-items:center;gap:var(--sp-1);display:inline-flex}.expenses-row-gear{min-width:28px;min-height:28px;color:var(--muted);border-radius:var(--r-xs);cursor:pointer;font-size:var(--fs-sm);background:0 0;border:1px solid #0000;padding:0}.expenses-row-gear:hover,.expenses-row-gear[aria-expanded=true]{border-color:var(--border);color:var(--ink);background:var(--page)}.expenses-row-gear-menu{z-index:6;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);min-width:88px;box-shadow:0 2px 8px var(--border);padding:var(--sp-1);flex-direction:column;gap:2px;display:flex;position:fixed}.expenses-row-gear-menu button{min-height:32px;padding:0 var(--sp-2);color:var(--ink-2);border-radius:var(--r-xs);cursor:pointer;font-size:var(--fs-xs);text-align:left;white-space:nowrap;background:0 0;border:none}.expenses-row-gear-menu button:hover{background:var(--fill-weak);color:var(--ink)}.expenses-item-cell button{min-height:28px;padding:0 var(--sp-1);color:var(--muted);cursor:pointer;font-size:var(--fs-xs);background:0 0;border:none}.expense-item-edit-fields{gap:var(--sp-1);flex-wrap:wrap;display:flex}.expense-item-edit-fields input{border:1px solid var(--border);border-radius:var(--r-xs);width:5em;min-height:28px;padding:0 var(--sp-1)}.expense-cell-input{width:100%;min-height:28px;padding:0 var(--sp-1);border-radius:var(--r-xs);text-align:right;background:0 0;border:1px solid #0000;font-size:16px;transition:border-color .1s,background-color .1s}.expense-cell-input:hover,.expense-cell-input:focus{border-color:var(--border);background:var(--surface)}@media (width>=720px){.expense-cell-input{font-size:var(--fs-sm)}}.expense-cell-view-wrap{width:100%;display:block;position:relative}.expense-cell-view{width:100%;min-height:28px;padding:0 0 0 var(--sp-1);border-radius:var(--r-xs);text-align:right;font-size:16px;font:inherit;font-variant-numeric:tabular-nums;color:inherit;cursor:pointer;background:0 0;border:1px solid #0000;margin-right:-1px;transition:border-color .1s,background-color .1s;position:relative}.expense-cell-view:hover{border-color:var(--border);background:var(--page)}@media (width>=720px){.expense-cell-view{font-size:var(--fs-sm)}}.expense-cell-empty{color:var(--muted)}.expense-cell-view:hover{border-color:var(--ink-2)}.expense-cell-view:focus-visible{border-color:var(--border);background:var(--surface);outline:2px solid var(--ink);outline-offset:1px}.expense-cell-note-dot{background:var(--ink-2);pointer-events:none;border-radius:50%;width:4px;height:4px;position:absolute;top:0;right:0}.expense-cell-note-btn{border-radius:var(--r-xs);background:var(--fill-strong);width:18px;height:18px;min-height:0;color:var(--ink-2);cursor:pointer;border:none;padding:0;font-size:10px;line-height:1;position:absolute;top:1px;right:1px}.expense-cell-note-btn:hover,.expense-cell-note-btn:focus-visible{background:var(--fill-strongest);color:var(--ink)}.expenses-item-note-count{margin-left:var(--sp-1);color:var(--muted);font-size:var(--fs-xs)}.expense-cell-note-editor{gap:var(--sp-2);text-align:left;flex-direction:column;display:flex}.expense-cell-note-editor textarea{width:100%;min-height:60px;padding:var(--sp-1) var(--sp-2);border:1px solid var(--border);border-radius:var(--r-xs);background:var(--page);font:inherit;resize:vertical}.expense-cell-note-actions{justify-content:flex-end;gap:var(--sp-2);display:flex}.expense-cell-note-actions button{min-height:32px;padding:0 var(--sp-2);border:1px solid var(--border);border-radius:var(--r-xs);cursor:pointer;background:0 0}.expense-cell-note-actions button:hover{border-color:var(--ink-2);color:var(--ink)}.expense-group-picker{gap:var(--sp-1);flex-wrap:wrap;flex:1;min-width:140px;display:flex}.expense-group-picker select,.expense-group-picker input{min-height:44px;padding:0 var(--sp-2);border:1px solid var(--border);border-radius:var(--r-sm);flex:1;min-width:140px}.expenses-subtotal-row{background:0 0;font-weight:700}.expenses-subtotal-row td{border-top:1px solid var(--line)}.expenses-total-row{color:var(--ink);background:0 0;font-weight:700}.expenses-total-row td{border-top:1px solid var(--ink);border-bottom:3px double var(--ink)}.expenses-grid .expenses-total-row td{line-height:28px}.expense-add-item-backdrop{z-index:8;padding:var(--sp-4);background:#14141366;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.expense-add-item-dialog{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-4);gap:var(--sp-3);flex-direction:column;width:100%;max-width:420px;display:flex}.expense-entries-dialog{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-4);width:100%;max-width:420px;max-height:calc(100vh - 2 * var(--sp-4));gap:var(--sp-3);flex-direction:column;display:flex;overflow-y:auto}.expense-entries-summary{background:var(--fill-weak);border-radius:var(--r-sm);padding:var(--sp-3);gap:var(--sp-2);flex-direction:column;display:flex}.expense-entries-total{justify-content:space-between;align-items:baseline;gap:var(--sp-2);display:flex}.expense-entries-total-label{color:var(--muted);font-size:var(--fs-xs)}.expense-entries-total strong{font-size:var(--fs-stat);font-variant-numeric:tabular-nums}.expense-entries-base{justify-content:space-between;align-items:center;gap:var(--sp-2);display:flex}.expense-entries-base>span{color:var(--muted);font-size:var(--fs-xs)}.expense-entries-base input{width:9rem;min-height:36px;padding:0 var(--sp-2);border:1px solid var(--border);border-radius:var(--r-xs);background:var(--page);font:inherit;font-variant-numeric:tabular-nums;text-align:right}.expense-entries-subtotal{justify-content:space-between;gap:var(--sp-2);color:var(--muted);font-size:var(--fs-xs);font-variant-numeric:tabular-nums;display:flex}.expense-entries-list{gap:var(--sp-2);flex-direction:column;display:flex}.expense-entries-day{flex-direction:column;display:flex}.expense-entries-day-label{margin:0 0 var(--sp-1);color:var(--muted);font-size:var(--fs-xs)}.expense-entry-row{align-items:center;gap:var(--sp-1);border-bottom:1px solid var(--border);display:flex}.expense-entry-open{justify-content:space-between;align-items:center;gap:var(--sp-2);min-height:44px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;flex:1;padding:0;display:flex}.expense-entry-open:hover .expense-entry-title{color:var(--ink)}.expense-entry-amount{font-variant-numeric:tabular-nums}.expense-entry-delete{width:32px;min-height:32px;color:var(--muted);border-radius:var(--r-xs);cursor:pointer;background:0 0;border:none;padding:0}.expense-entry-delete:hover,.expense-entry-delete:focus-visible{color:var(--danger)}.expense-entry-add{border:1px dashed var(--border);border-radius:var(--r-sm);min-height:44px;color:var(--ink-2);font:inherit;cursor:pointer;background:0 0}.expense-entry-add:hover{border-color:var(--ink-2);color:var(--ink)}.expense-entry-form{gap:var(--sp-2);border:1px solid var(--border);border-radius:var(--r-sm);padding:var(--sp-3);flex-direction:column;display:flex}.expense-entries-note-open{width:100%;min-height:44px;padding:0 var(--sp-2);border:1px solid var(--border);border-radius:var(--r-sm);color:var(--muted);font:inherit;text-align:left;cursor:pointer;background:0 0}.expense-entries-note-open:hover{border-color:var(--ink-2);color:var(--ink)}.expense-cell-entries-dot{background:var(--ink-2);pointer-events:none;width:4px;height:4px;position:absolute;bottom:0;right:0}.expense-new-year-candidates{gap:var(--sp-2);flex-wrap:wrap;display:flex}.expense-new-year-candidates button{min-height:36px;padding:0 var(--sp-2);border:1px dashed var(--border);color:var(--ink-2);border-radius:var(--r-sm);font-size:var(--fs-xs);cursor:pointer;background:0 0}.expense-new-year-candidates button:before{content:"＋ "}.expense-new-year-candidates button:hover{border-color:var(--ink-2);color:var(--ink)}.expense-new-year-candidates button.active{border-style:solid;border-color:var(--ink);color:var(--ink);font-weight:700}.signin-root{position:relative}.signin-toggle{text-overflow:ellipsis;max-width:140px;overflow:hidden}.signin-backdrop{z-index:9;padding:var(--sp-4);background:#14141366;justify-content:center;align-items:flex-start;display:flex;position:fixed;inset:0;overflow-y:auto}.signin-dialog{max-width:360px}.signin-dialog--account{width:100%;max-width:560px;margin-top:var(--sp-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);flex-direction:column;display:flex}.account-dialog-head{justify-content:space-between;align-items:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-3) var(--sp-2) var(--sp-4);display:flex}.account-dialog-title{font-size:var(--fs-title);letter-spacing:var(--tracking-tight);margin:0;font-weight:600}.signin-lede{margin:0 0 var(--sp-2);color:var(--ink-2);font-size:var(--fs-sm);line-height:1.6}.signout-dirty-confirm{gap:var(--sp-2);padding:var(--sp-3);background:color-mix(in srgb, var(--warn) 8%, transparent);border:1px solid var(--warn);border-radius:var(--r-md);flex-direction:column;width:100%;display:flex}.signout-dirty-confirm-text{color:var(--ink-2);font-size:var(--fs-sm);margin:0}.signout-dirty-confirm-actions{gap:var(--sp-2);display:flex}.signin-message{margin:0}.signin-message--info{color:var(--ink-2);font-size:var(--fs-xs)}.legal-notice{color:var(--ink-2);font-size:var(--fs-xs);margin:0;line-height:1.7}.legal-notice-lead{display:block}.legal-notice-link{color:var(--ink-2);padding:var(--sp-1) 0;margin:calc(var(--sp-1) * -1) 0;text-decoration:underline}.legal-notice-link:hover,.legal-notice-link:focus-visible{color:var(--accent)}.signin-dev-btn{border:1px dashed var(--warn);background:color-mix(in srgb, var(--warn) 10%, transparent);color:var(--warn);font-weight:600}.signin-provider-btn{justify-content:center;align-items:center;gap:var(--sp-2);border-radius:var(--r-md);min-height:48px;font-size:var(--fs-body);font-weight:500;display:flex}.signin-provider-btn:disabled{opacity:.5;cursor:not-allowed}.signin-provider-mark{flex:none}.signin-apple-btn{color:#fff;background:#000;border-color:#000}:root[data-theme=dark] .signin-apple-btn{color:#000;background:#fff;border-color:#fff}.signin-google-btn{background:var(--surface);color:var(--ink);border-color:var(--border)}.account-panel{flex-direction:column;display:flex}.account-tabs{margin:0 var(--sp-4) var(--sp-3)}.account-tabs .seg-control-btn{flex:1 1 0;justify-content:center;align-items:center;min-height:36px;display:inline-flex}.account-panel-body{gap:var(--sp-4);padding:var(--sp-3) var(--sp-4) var(--sp-4);border-top:1px solid var(--border);outline:none;flex-direction:column;display:flex}.account-panel-body:focus-visible{outline:2px solid var(--ink-2);outline-offset:-2px}.account-block{gap:var(--sp-2);flex-direction:column;display:flex}.account-block .form-block-title{margin:0}.account-block-desc{font-size:var(--fs-xs);color:var(--muted);margin:0;line-height:1.6}.account-hint{font-size:var(--fs-xs);color:var(--muted);margin:0}.account-identity{align-items:center;gap:var(--sp-3);min-width:0;display:flex}.account-disc{border:1px solid var(--border);background:var(--fill-weak);width:44px;height:44px;color:var(--ink-2);font-size:var(--fs-title);border-radius:50%;flex:none;place-items:center;font-weight:600;display:grid}.account-disc--sm{width:32px;height:32px;font-size:var(--fs-sm)}.account-disc--xs{width:22px;height:22px;font-size:10px;font-weight:700}.account-identity-lines{flex-direction:column;gap:2px;min-width:0;display:flex}.account-identity-name{align-items:center;gap:var(--sp-2);font-size:var(--fs-stat);margin:0;font-weight:600;display:flex}.account-identity-email{font-size:var(--fs-sm);color:var(--ink-2);word-break:break-all;margin:0}.account-pill{padding:1px var(--sp-2);border:1px solid var(--border);font-size:var(--fs-xs);color:var(--ink-2);white-space:nowrap;border-radius:999px;flex:none}.account-pill--own{border-color:var(--ink-2);color:var(--ink)}.account-pill--soft{color:var(--muted)}.account-card{border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface)}.account-list{margin:0;padding:0;list-style:none}.account-row{align-items:center;gap:var(--sp-3);width:100%;min-height:52px;padding:var(--sp-2) var(--sp-3);border-top:1px solid var(--border);display:flex}.account-list>li:first-child>.account-row,.account-list>li.account-row:first-child{border-top:none}.account-row--btn{color:var(--ink);font:inherit;font-variant-numeric:tabular-nums;text-align:left;cursor:pointer;background:0 0;border-bottom:none;border-left:none;border-right:none}.account-row--btn:disabled{cursor:default}.account-row--on{background:var(--fill-weak)}.account-row--on .account-row-k{font-weight:600}.account-row-main{flex-direction:column;flex:auto;gap:1px;min-width:0;display:flex}.account-row-k{font-size:var(--fs-sm);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.account-row-sub{font-size:var(--fs-xs);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.account-row-v{align-items:center;gap:var(--sp-2);flex:none;display:flex}.account-tick{color:var(--ink);font-size:var(--fs-sm)}.account-member-row{border-top:1px solid var(--border)}.account-row-menu{flex:none;position:relative}.account-kebab{border-radius:var(--r-sm);width:44px;height:44px;color:var(--muted);font-size:var(--fs-title);letter-spacing:1px;cursor:pointer;background:0 0;border:1px solid #0000;place-items:center;display:grid}.account-kebab:hover,.account-kebab:focus-visible{color:var(--ink);border-color:var(--border)}.account-kebab--open{border-color:var(--border);background:var(--fill-weak);color:var(--ink)}.account-kebab-gap{flex:none;width:44px}.account-menu{right:0;top:calc(100% - var(--sp-1));z-index:3;min-width:160px;padding:var(--sp-1);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);flex-direction:column;display:flex;position:absolute;box-shadow:0 10px 26px #14141326}:root[data-theme=dark] .account-menu{border-color:var(--ink-2);box-shadow:none}.account-menu button{min-height:44px;padding:0 var(--sp-3);border-radius:var(--r-xs);color:var(--ink);font:inherit;font-size:var(--fs-sm);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;display:flex}.account-menu button:hover,.account-menu button:focus-visible{background:var(--fill-weak)}.account-menu hr{border:none;border-top:1px solid var(--border);margin:var(--sp-1) var(--sp-1)}.account-menu-danger{color:var(--danger)}.account-name-row,.account-rename-form{align-items:center;gap:var(--sp-2);width:100%;min-width:0;display:flex}.account-name-row input,.account-rename-form input{min-width:0;min-height:44px;padding:0 var(--sp-3);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--page);color:var(--ink);font:inherit;font-size:var(--fs-sm);flex:auto}.account-name-row .btn-secondary,.account-rename-form .btn-secondary{min-height:44px;padding:0 var(--sp-3);font-size:var(--fs-sm);flex:none}.account-name-row .btn-secondary:disabled{opacity:.5;cursor:not-allowed}.account-nickname-error{font-size:var(--fs-xs);color:var(--danger)}.account-invite{gap:var(--sp-2);padding:var(--sp-3);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--fill-weak);flex-direction:column;display:flex}.account-invite .form-block-title{margin:0}.account-invite-field{gap:var(--sp-1);flex-direction:column;display:flex}.account-invite-label{font-size:var(--fs-xs);color:var(--ink-2)}.account-invite input,.account-invite-result input{width:100%;min-height:44px;padding:0 var(--sp-3);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--page);color:var(--ink);font:inherit;font-size:var(--fs-sm)}.account-invite-submit{min-height:44px;font-size:var(--fs-sm);align-self:flex-start}.account-invite-result{gap:var(--sp-2);padding-top:var(--sp-2);border-top:1px solid var(--border);flex-direction:column;display:flex}.account-invite-linkout{gap:var(--sp-2);display:flex}.account-invite-linkout input{min-width:0;color:var(--ink-2);font-size:var(--fs-xs);flex:auto}.account-invite-linkout .btn-secondary{min-height:44px;padding:0 var(--sp-3);font-size:var(--fs-sm);flex:none}.account-invite--dev{border-style:dashed;border-color:var(--warn);background:color-mix(in srgb, var(--warn) 8%, transparent)}.account-actions{gap:var(--sp-2);flex-wrap:wrap;display:flex}.account-leave-btn{min-height:44px;color:var(--danger);font:inherit;font-size:var(--fs-sm);cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0}.account-leave-btn:hover{text-decoration:underline}.change-log-list{gap:var(--sp-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.change-log-group{flex-direction:column;display:flex}.change-log-day{margin:0 0 var(--sp-1);font-size:var(--fs-xs);letter-spacing:var(--tracking-label);color:var(--muted);font-weight:700}.change-log-day-rows{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.change-log-row{gap:var(--sp-2);padding:var(--sp-2) 0;border-top:1px solid var(--border);grid-template-columns:44px 22px 1fr;align-items:start;display:grid}.change-log-time{font-size:var(--fs-xs);color:var(--muted);padding-top:2px}.change-log-desc{font-size:var(--fs-sm);color:var(--ink);line-height:1.45}.change-log-actor{color:var(--ink-2);margin-right:var(--sp-1)}.change-log-source-badge{margin-left:var(--sp-1);padding:0 var(--sp-2);border:1px solid var(--border);font-size:var(--fs-xs);color:var(--muted);white-space:nowrap;border-radius:999px;display:inline-block}.toast{right:var(--sp-5);bottom:var(--sp-5);z-index:20;align-items:center;gap:var(--sp-2);font-size:var(--fs-sm);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-sm);max-width:360px;display:inline-flex;position:fixed;box-shadow:0 10px 30px #14141342}.toast-success{background:var(--ink);color:#fff}.toast-partial{background:var(--surface);color:var(--ink);border:1px solid var(--warn);border-left:3px solid var(--warn)}.toast-dot{border-radius:50%;flex:none;width:7px;height:7px}.toast-success .toast-dot{background:var(--success)}.toast-partial .toast-dot{background:var(--warn)}.toast-text{flex:1}.toast-close{color:currentColor;opacity:.6;cursor:pointer;background:0 0;border:none;margin-left:4px;padding:0 2px;font-family:inherit;font-size:15px;line-height:1}.toast-close:hover{opacity:1}@keyframes toastIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes toastOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(10px)}}.toast-entering{animation:.18s toastIn}.toast-leaving{animation:.18s toastOut}@media (prefers-reduced-motion:reduce){.toast-entering,.toast-leaving{animation:none}}.build-stamp{margin:var(--sp-2) 0 0;text-align:center;color:var(--muted);font-size:var(--fs-xs);font-variant-numeric:tabular-nums;opacity:.7}.backup-password-backdrop{z-index:8;padding:var(--sp-4);background:#14141366;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.backup-password-dialog{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-4);gap:var(--sp-3);flex-direction:column;width:100%;max-width:420px;display:flex}#boot-cover{display:none}html[data-mode-switch] #boot-cover{z-index:100;background:var(--page);color:var(--muted);justify-content:center;align-items:center;font-size:.9375rem;display:flex;position:fixed;inset:0}:root{--demo-banner-h:0px}.demo-mode-banner{z-index:20;align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);background:var(--accent-ink);color:var(--surface);display:flex;position:sticky;top:0}.demo-mode-banner-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.9375rem;font-weight:600;line-height:1.3;overflow:hidden}.demo-mode-banner-actions{gap:var(--sp-2);flex-shrink:0;display:flex}.demo-mode-banner-btn{min-height:32px;padding:0 var(--sp-3);border-radius:var(--r-sm);border:1px solid var(--surface);color:var(--surface);cursor:pointer;background:0 0;font-size:.8125rem}.demo-mode-banner-btn--primary{background:var(--surface);color:var(--accent-ink)}.invite-page{padding:var(--sp-4);background:var(--page);justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden}.invite-backdrop{filter:blur(7px);transform-origin:top;pointer-events:none;-webkit-user-select:none;user-select:none;position:absolute;inset:-40px;overflow:hidden;transform:scale(.94)}.invite-backdrop-page{width:100%;padding-top:56px}.invite-scrim{background:var(--page);opacity:.38;pointer-events:none;position:absolute;inset:0}.invite-card{gap:var(--sp-3);width:min(420px,100%);padding:var(--sp-5);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);flex-direction:column;display:flex;position:relative;box-shadow:0 12px 32px #0000001f}.invite-card-title{font-size:var(--fs-title);color:var(--ink);margin:0;font-weight:600}.invite-card-lead{font-size:var(--fs-body);color:var(--ink-2);margin:0;line-height:1.6}.invite-card-status{font-size:var(--fs-body);color:var(--muted);margin:0;line-height:1.6}.invite-card-status--failed{color:var(--danger)}.invite-card-actions{gap:var(--sp-2);flex-direction:column;display:flex}.invite-provider-btn{width:100%}.invite-card-skip{min-height:44px;padding:0 var(--sp-2);color:var(--muted);font-size:var(--fs-sm);cursor:pointer;background:0 0;border:none;align-self:center}.tour-page{z-index:60;padding:var(--sp-4);background:var(--page);flex-direction:column;justify-content:flex-start;align-items:center;display:flex;position:fixed;inset:0;overflow-y:auto}.tour-page:before,.tour-page:after{content:"";flex-shrink:1;flex-basis:0}.tour-page:before{flex-grow:3}.tour-page:after{flex-grow:7}.tour-shell{width:min(92vw,52rem,80vh);min-height:min(86vh,880px);padding:var(--sp-4) var(--sp-5) var(--sp-5);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);flex-direction:column;display:flex;position:relative;box-shadow:0 12px 32px #0000001f}.tour-head-row{margin-bottom:var(--sp-2);justify-content:space-between;align-items:center;display:flex}.tour-count{color:var(--muted);font-size:var(--fs-sm);font-variant-numeric:tabular-nums}.tour-skip{min-height:44px;padding:0 var(--sp-2);color:var(--muted);font-size:var(--fs-sm);cursor:pointer;background:0 0;border:none}.tour-track{gap:4px;display:flex}.tour-tick{background:var(--grid);border-radius:1px;flex:1;height:2px}.tour-tick--on{background:var(--accent)}.tour-stage{padding-top:var(--sp-4);flex-direction:column;flex:1;display:flex}.tour-eyebrow{margin-bottom:var(--sp-2);color:var(--accent);letter-spacing:.14em;text-transform:uppercase;font-size:clamp(.78rem,.72rem + .18vw,.95rem);font-weight:600}.tour-title{letter-spacing:-.02em;color:var(--ink);margin:0;font-size:clamp(2rem,1.6rem + 1.2vw,2.75rem);font-weight:700;line-height:1.375}.tour-figure{padding:var(--sp-3);border-radius:var(--r-md);background:var(--page);flex:1;justify-content:center;align-items:center;display:flex}.tour-lead{margin:0 0 var(--sp-4);color:var(--ink-2);font-size:clamp(1.25rem,1.1rem + .45vw,1.6rem);line-height:1.6}.tour-foot{gap:var(--sp-2);flex-direction:column;display:flex}.tour-foot-row{gap:var(--sp-2);display:flex}.tour-back{border:1px solid var(--border);width:52px;height:50px;color:var(--ink-2);font-size:var(--fs-title);cursor:pointer;background:0 0;border-radius:25px;flex:none;line-height:1}.tour-next{min-height:50px;padding:0 var(--sp-4);border-radius:var(--r-md);background:var(--accent);color:var(--surface);font-size:var(--fs-body);cursor:pointer;border:none;flex:1;font-weight:600}.tour-secondary{min-height:44px;padding:0 var(--sp-2);color:var(--muted);font-size:var(--fs-sm);cursor:pointer;background:0 0;border:none;align-self:center}.settle-reminder{background:var(--fill-weak);border:1px solid var(--border);border-left:3px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-3) var(--sp-4);gap:var(--sp-1);flex-direction:column;display:flex}.settle-reminder.is-due{border-left-color:var(--accent)}.settle-reminder-text{color:var(--ink);font-size:var(--fs-sm);margin:0}.settle-reminder-waiting{color:var(--muted);font-size:var(--fs-xs);margin:0}.advisor-questions{margin-top:var(--sp-3)}.advisor-heading{justify-content:space-between;align-items:center;gap:var(--sp-3);cursor:pointer;text-align:left;background:0 0;border:none;width:100%;min-height:32px;padding:0;display:flex}.advisor-heading-title{font-size:var(--fs-xs);color:var(--ink);margin:0;font-weight:600}.advisor-count{background:var(--fill-weak);min-width:22px;height:22px;color:var(--ink-2);font-size:var(--fs-xs);border-radius:11px;justify-content:center;align-items:center;padding:0 7px;font-weight:600;display:inline-flex}.advisor-card{margin-top:var(--sp-4);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--sp-4) var(--sp-4) 0;background:var(--surface)}.advisor-evidence{font-size:var(--fs-sm);color:var(--muted);margin:0;line-height:1.6}.advisor-card-role{margin:0 0 var(--sp-3);font-size:var(--fs-body);color:var(--ink);font-weight:600}.advisor-question{margin:var(--sp-2) 0 0;font-size:var(--fs-title);color:var(--ink);letter-spacing:-.01em;text-wrap:pretty;font-weight:500;line-height:1.55}.advisor-cta{margin:var(--sp-5) calc(-1 * var(--sp-4)) 0;width:calc(100% + 2 * var(--sp-4));min-height:48px;padding:0 var(--sp-4);justify-content:space-between;align-items:center;gap:var(--sp-3);border:none;border-top:1px solid var(--line);color:var(--ink-2);font-size:var(--fs-sm);cursor:pointer;text-align:left;background:0 0;display:flex}.advisor-cta:hover{background:var(--fill-weak)}.advisor-chevron{width:16px;height:16px;color:var(--muted);flex:none}.balance-tree--unstarted .balance-row{color:var(--ink-2);grid-template-columns:minmax(220px, 1fr) var(--balance-cur-col) var(--balance-status-col)}.balance-tree--unstarted .balance-cell--prev,.balance-tree--unstarted .balance-cell--delta,.balance-tree--unstarted .balance-cell--delta-pct,.balance-tree--unstarted .balance-cell--share{display:none}.balance-tree--unstarted .balance-cell--status{justify-content:flex-end;align-items:center;gap:var(--sp-1);white-space:nowrap;display:flex}.balance-tree--unstarted .balance-status-inline{display:none}.balance-unstarted-notice{margin-bottom:var(--sp-3);padding:var(--sp-4);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--fill-weak);gap:var(--sp-2);flex-direction:column;display:flex}.balance-unstarted-notice-title{font-size:var(--fs-title);color:var(--ink);margin:0;font-weight:600}.balance-unstarted-notice-text{color:var(--ink-2);font-size:var(--fs-sm);margin:0;line-height:1.7}.balance-unstarted-notice .settlement-banner-btn{margin-top:var(--sp-2)}.seg-control-meta{margin-left:var(--sp-1);font-size:var(--fs-xs);color:var(--warn)}.simulation-body{margin-top:var(--sp-4)}.simulation-blocked{gap:var(--sp-3);flex-direction:column;display:flex}.simulation-blocked-actions{gap:var(--sp-2);flex-wrap:wrap;display:flex}.guide-disclosure{border-top:1px solid var(--border);padding-top:var(--sp-2)}.guide-disclosure-summary{cursor:pointer;color:var(--ink-2);font-size:var(--fs-sm);list-style:none}.guide-disclosure-summary:before{content:"ⓘ ";color:var(--muted)}.guide-disclosure-summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.guide-disclosure-body{gap:var(--sp-3);padding-top:var(--sp-2);flex-direction:column;max-width:62ch;display:flex}.guide-disclosure-lead{color:var(--ink);font-size:var(--fs-sm);margin:0;line-height:1.7}.guide-disclosure-heading{margin:0 0 var(--sp-1);font-size:var(--fs-xs);letter-spacing:.04em;color:var(--muted);font-weight:600}.guide-disclosure-list{gap:var(--sp-1);flex-direction:column;margin:0;display:flex}.guide-disclosure-item{gap:var(--sp-2);font-size:var(--fs-sm);grid-template-columns:minmax(6em,9em) 1fr;line-height:1.6;display:grid}.guide-disclosure-item dt{color:var(--ink);font-weight:600}.guide-disclosure-item dd{color:var(--ink-2);margin:0}@media (width<=480px){.guide-disclosure-item{grid-template-columns:1fr;gap:2px}}.paid-only-landing{background:var(--surface);place-items:center;min-height:100vh;padding:24px;display:grid}.paid-only-landing-card{text-align:center;gap:16px;max-width:420px;display:grid}.paid-only-landing-title{color:var(--ink);margin:0;font-size:1.25rem;font-weight:600}.paid-only-landing-body{color:var(--ink-2);margin:0;line-height:1.6}.paid-only-landing-actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}
