:root{--font-ui: Inter, "Segoe UI Variable Text", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, Roboto, "Helvetica Neue", Arial, sans-serif;--font-display: Inter, "Segoe UI Variable Display", "Segoe UI", system-ui, -apple-system, Roboto, sans-serif;--font-mono: ui-monospace, "Cascadia Mono", Consolas, Menlo, monospace;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--radius-1: 6px;--radius-2: 8px;--radius-3: 14px;--radius-4: 14px;--radius-5: 20px;--text-xs: .75rem;--text-sm: .8125rem;--text-md: .875rem;--text-base: 1rem;--text-lg: 1.25rem;--text-xl: 1.5rem;--text-2xl: 2rem;--text-hero: 2.75rem;--control-h: 36px;--control-h-sm: 30px;--motion-fast: .12s;--motion-base: .2s;--ease: cubic-bezier(.2, .7, .2, 1);--bg: #f4f6fa;--surface: #ffffff;--surface-2: #eef2f7;--surface-3: #e8ebf0;--line: #e3e6eb;--line-strong: #c6ccd5;--ink: #172033;--ink-2: #3e4653;--ink-3: #626b79;--primary: #4f5dd5;--primary-hover: #414bb9;--on-primary: #ffffff;--primary-soft: #eceefe;--primary-line: #c5caf4;--accent: #9a5b05;--accent-soft: #fdf1dc;--accent-fill: #e08a1e;--danger: #c0392b;--danger-soft: #fdecea;--ok: #087a60;--warn: #9a5b05;--focus: #2f6feb;--shadow-1: 0 1px 2px rgba(18, 22, 29, .05), 0 1px 1px rgba(18, 22, 29, .03);--shadow-2: 0 6px 18px rgba(18, 22, 29, .1), 0 2px 4px rgba(18, 22, 29, .05);--shadow-3: 0 18px 48px rgba(18, 22, 29, .18), 0 4px 10px rgba(18, 22, 29, .06);--shadow-hover: 0 4px 14px rgba(18, 22, 29, .08);--chart-1: #159eaa;--chart-2: #3a7bd5;--chart-3: #e08a1e;--chart-4: #8a5cd6;--chart-5: #6f8f1f;--chart-6: #e0607e;--chart-7: #1ba7bf;--chart-8: #c0563a;--financial-cash: var(--chart-1);--financial-taxable: var(--chart-2);--financial-pretax: var(--chart-4);--financial-roth: var(--chart-7);--financial-hsa: var(--chart-5);--financial-property: var(--chart-3);--financial-debts: var(--danger);--financial-income: var(--chart-2);--financial-expense: var(--chart-4);--financial-tax: var(--chart-3);--financial-baseline: var(--ink-3);--financial-draft: var(--primary);--tile-account: #eceefe;--tile-income: #e6effb;--tile-expense: #fdf1dc;--tile-milestone: #efe9fb;--tile-debt: #fbe9e4;color-scheme:light}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg: #101827;--surface: #182336;--surface-2: #202c40;--surface-3: #282d38;--line: #2a2f3a;--line-strong: #444b59;--ink: #eef0f4;--ink-2: #c3c8d2;--ink-3: #9aa2b0;--primary: #a5afff;--primary-hover: #bbc3ff;--on-primary: #11182f;--primary-soft: #252e50;--primary-line: #414c7c;--accent: #f0b35a;--accent-soft: #33280f;--accent-fill: #c97f1c;--danger: #f2877a;--danger-soft: #3a1d1a;--ok: #65d5b1;--warn: #f0b35a;--focus: #7aa7ff;--shadow-1: 0 1px 2px rgba(0, 0, 0, .4);--shadow-2: 0 8px 24px rgba(0, 0, 0, .45);--shadow-3: 0 20px 56px rgba(0, 0, 0, .6);--shadow-hover: 0 6px 18px rgba(0, 0, 0, .45);--chart-1: #1fa082;--chart-2: #4a88dc;--chart-3: #c97f1c;--chart-4: #9070dc;--chart-5: #7f9c2a;--chart-6: #dc6a86;--chart-7: #2399ad;--chart-8: #c9603f;--tile-account: #252e50;--tile-income: #17263d;--tile-expense: #33280f;--tile-milestone: #261f3b;--tile-debt: #3a1d1a;color-scheme:dark}}:root[data-theme=dark]{--bg: #101827;--surface: #182336;--surface-2: #202c40;--surface-3: #282d38;--line: #2a2f3a;--line-strong: #444b59;--ink: #eef0f4;--ink-2: #c3c8d2;--ink-3: #9aa2b0;--primary: #a5afff;--primary-hover: #bbc3ff;--on-primary: #11182f;--primary-soft: #252e50;--primary-line: #414c7c;--accent: #f0b35a;--accent-soft: #33280f;--accent-fill: #c97f1c;--danger: #f2877a;--danger-soft: #3a1d1a;--ok: #65d5b1;--warn: #f0b35a;--focus: #7aa7ff;--shadow-1: 0 1px 2px rgba(0, 0, 0, .4);--shadow-2: 0 8px 24px rgba(0, 0, 0, .45);--shadow-3: 0 20px 56px rgba(0, 0, 0, .6);--shadow-hover: 0 6px 18px rgba(0, 0, 0, .45);--chart-1: #1fa082;--chart-2: #4a88dc;--chart-3: #c97f1c;--chart-4: #9070dc;--chart-5: #7f9c2a;--chart-6: #dc6a86;--chart-7: #2399ad;--chart-8: #c9603f;--tile-account: #252e50;--tile-income: #17263d;--tile-expense: #33280f;--tile-milestone: #261f3b;--tile-debt: #3a1d1a;color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font:var(--text-md) / 1.5 var(--font-ui);font-feature-settings:"cv11","ss01";-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:var(--font-display);font-weight:650;line-height:1.25;margin:0;letter-spacing:-.015em}h1{font-size:var(--text-xl)}h2{font-size:var(--text-base)}h3{font-size:var(--text-md)}p{margin:0}a{color:var(--primary);text-underline-offset:2px}:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:var(--radius-1)}.lv-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.lv-num{font-variant-numeric:tabular-nums lining-nums}.lv-muted{color:var(--ink-3)}.lv-small{font-size:var(--text-sm)}.lv-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:var(--control-h);padding:0 14px;border:1px solid var(--line-strong);border-radius:var(--radius-1);background:var(--surface);color:var(--ink);font:600 var(--text-md) var(--font-ui);cursor:pointer;box-shadow:var(--shadow-1);transition:background var(--motion-fast) var(--ease),border-color var(--motion-fast) var(--ease),box-shadow var(--motion-fast) var(--ease),transform var(--motion-fast) var(--ease);text-decoration:none;white-space:nowrap}.lv-btn:hover{background:var(--surface-2)}.lv-btn:active{transform:translateY(1px)}.lv-btn[data-variant=primary]{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}.lv-btn[data-variant=primary]:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.lv-btn[data-variant=ghost]{border-color:transparent;background:transparent;box-shadow:none;color:var(--ink-2)}.lv-btn[data-variant=ghost]:hover{background:var(--surface-2);color:var(--ink)}.lv-btn[data-variant=danger]{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 45%,var(--line))}.lv-btn[data-variant=danger]:hover{background:var(--danger-soft)}.lv-btn[data-size=sm]{min-height:var(--control-h-sm);padding:0 10px;font-size:var(--text-sm)}.lv-btn[data-icon]{padding:0;width:var(--control-h)}.lv-btn[data-icon][data-size=sm]{width:var(--control-h-sm)}.lv-btn:disabled{opacity:.45;cursor:not-allowed}@media (pointer: coarse){.lv-btn,.lv-btn[data-size=sm]{min-height:44px}.lv-btn[data-icon],.lv-btn[data-icon][data-size=sm]{width:44px}}.lv-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-3);padding:var(--space-4);box-shadow:var(--shadow-1);min-width:0}.lv-card[data-variant=hero]{border-radius:var(--radius-5);padding:var(--space-5)}.lv-card[data-variant=inset]{background:var(--surface-2);box-shadow:none}.lv-card>header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3);flex-wrap:wrap;min-height:30px}.lv-card>header>h2{font-size:var(--text-base)}.lv-stack{display:flex;flex-direction:column;gap:var(--space-3)}.lv-row{display:flex;gap:var(--space-2);align-items:center;flex-wrap:wrap}.lv-grid{display:grid;gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.lv-spread{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap}.lv-field{display:flex;flex-direction:column;gap:4px;min-width:0}.lv-field>label,.lv-label{font-size:var(--text-sm);font-weight:550;color:var(--ink-2)}.lv-label-row{display:inline-flex;align-items:center;gap:2px;min-width:0}.lv-label-row>label:not(.lv-switch),.lv-spread .lv-label-row>label{font-size:var(--text-sm);font-weight:550;color:var(--ink-2)}.lv-help{display:inline-grid;place-items:center;width:20px;height:20px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--ink-3);cursor:help;flex:none}.lv-help:hover,.lv-help[aria-expanded=true]{color:var(--primary);background:var(--primary-soft)}.lv-help:focus-visible{outline:2px solid var(--focus);outline-offset:1px}@media (pointer: coarse){.lv-help{width:32px;height:32px;margin:-6px}}.lv-helptip{z-index:95;max-width:min(320px,calc(100vw - 24px));padding:10px 12px;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-2);box-shadow:var(--shadow-2);font-size:var(--text-sm);font-weight:400;line-height:1.5}.lv-helptip p{margin:0}.lv-helptip p+p,.lv-helptip p+ul,.lv-helptip ul+p{margin-top:var(--space-2)}.lv-helptip ul{margin:0;padding-left:18px}.lv-helptip strong{font-weight:600}.lv-field .lv-hint{font-size:var(--text-xs);color:var(--ink-3)}.lv-input,.lv-select{width:100%;min-height:var(--control-h);padding:0 10px;border:1px solid var(--line-strong);border-radius:var(--radius-1);background:var(--surface);color:var(--ink);font:var(--text-md) var(--font-ui);transition:border-color var(--motion-fast) var(--ease),box-shadow var(--motion-fast) var(--ease)}.lv-input:hover,.lv-select:hover{border-color:color-mix(in srgb,var(--ink-3) 70%,var(--line-strong))}.lv-input:focus,.lv-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 22%,transparent)}.lv-select{appearance:none;padding-right:30px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23626b79' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;text-overflow:ellipsis}.lv-input[inputmode=decimal],.lv-input[inputmode=numeric]{font-variant-numeric:tabular-nums}.lv-input[aria-invalid=true]{border-color:var(--danger);box-shadow:0 0 0 1px var(--danger)}@media (pointer: coarse){.lv-input,.lv-select{min-height:44px}}.lv-affix{position:relative;display:flex;align-items:center}.lv-affix>span{position:absolute;color:var(--ink-3);pointer-events:none;font-size:var(--text-sm)}.lv-affix>span[data-side=left]{left:10px}.lv-affix>span[data-side=right]{right:10px}.lv-affix>.lv-input[data-prefix]{padding-left:22px}.lv-affix>.lv-input[data-suffix]{padding-right:28px}.lv-switch{display:inline-flex;align-items:center;gap:var(--space-2);cursor:pointer;font-size:var(--text-sm);font-weight:550;color:var(--ink-2);min-height:var(--control-h)}.lv-switch input{appearance:none;width:34px;height:20px;border-radius:10px;background:var(--line-strong);position:relative;margin:0;cursor:pointer;transition:background var(--motion-fast);flex:none}.lv-switch input:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #00000040;transition:transform var(--motion-fast) var(--ease)}.lv-switch input:checked{background:var(--primary)}.lv-switch input:checked:after{transform:translate(14px)}.lv-range{width:100%;min-height:28px;margin:0;background:transparent;appearance:none;cursor:pointer;--fill: 50%}.lv-range::-webkit-slider-runnable-track{height:6px;border-radius:3px;background:linear-gradient(to right,var(--primary) 0 var(--fill),var(--surface-3) var(--fill) 100%)}.lv-range::-moz-range-track{height:6px;border-radius:3px;background:var(--surface-3)}.lv-range::-moz-range-progress{height:6px;border-radius:3px;background:var(--primary)}.lv-range::-webkit-slider-thumb{appearance:none;width:18px;height:18px;margin-top:-6px;border-radius:50%;background:var(--surface);border:2px solid var(--primary);box-shadow:var(--shadow-1)}.lv-range::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--surface);border:2px solid var(--primary)}.lv-range-value{font-variant-numeric:tabular-nums;font-weight:600;font-size:var(--text-sm);background:var(--primary-soft);color:var(--primary);padding:1px 8px;border-radius:999px}.lv-badge{display:inline-flex;align-items:center;gap:4px;padding:1px 8px;min-height:22px;border-radius:999px;font-size:var(--text-xs);font-weight:600;background:var(--surface-2);color:var(--ink-2);border:1px solid var(--line);white-space:nowrap}.lv-badge[data-tone=ok]{background:var(--primary-soft);color:var(--primary);border-color:transparent}.lv-badge[data-tone=warn]{background:var(--accent-soft);color:var(--accent);border-color:transparent}.lv-badge[data-tone=danger]{background:var(--danger-soft);color:var(--danger);border-color:transparent}.lv-delta{display:inline-flex;align-items:center;gap:2px;font-size:var(--text-sm);font-weight:600;color:var(--ink-2)}.lv-delta[data-dir=up]{color:var(--ok)}.lv-delta[data-dir=down]{color:var(--danger)}.lv-stat{display:flex;flex-direction:column;gap:2px;min-width:0}.lv-stat>.lv-stat-label{font-size:var(--text-sm);font-weight:550;color:var(--ink-3)}.lv-stat>.lv-stat-value{font:650 var(--text-xl) / 1.15 var(--font-display);letter-spacing:-.02em;font-variant-numeric:tabular-nums lining-nums}.lv-stat>.lv-stat-note{font-size:var(--text-xs);color:var(--ink-3);line-height:1.4}.lv-stat[data-size=hero]>.lv-stat-value{font-size:var(--text-hero);letter-spacing:-.03em;line-height:1.05}.lv-stat[data-size=hero]>.lv-stat-label{font-size:var(--text-md)}.lv-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-3);box-shadow:var(--shadow-1);overflow:hidden}.lv-kpis>*{padding:12px 16px;border-left:1px solid var(--line);margin-left:-1px}.lv-kpi-icon{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:6px;margin-right:6px;vertical-align:-6px;background:var(--primary-soft);color:var(--primary)}.lv-tile{display:inline-grid;place-items:center;width:32px;height:32px;flex:none;border-radius:var(--radius-2);background:var(--tile-account);color:var(--primary)}.lv-tile[data-kind=income]{background:var(--tile-income);color:var(--chart-2)}.lv-tile[data-kind=expense]{background:var(--tile-expense);color:var(--accent)}.lv-tile[data-kind=milestone]{background:var(--tile-milestone);color:var(--chart-4)}.lv-tile[data-kind=debt]{background:var(--tile-debt);color:var(--danger)}.lv-tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);overflow-x:auto}.lv-tab{border:0;background:none;color:var(--ink-3);font:600 var(--text-md) var(--font-ui);padding:8px 12px;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;min-height:40px}.lv-tab:hover{color:var(--ink)}.lv-tab[aria-selected=true]{color:var(--ink);border-bottom-color:var(--primary)}.lv-segmented{display:inline-flex;padding:3px;gap:2px;border-radius:var(--radius-2);background:var(--surface-2);border:1px solid var(--line);max-width:100%;overflow-x:auto}.lv-segmented>button,.lv-segmented>a{border:0;background:transparent;color:var(--ink-2);font:600 var(--text-sm) var(--font-ui);padding:0 12px;min-height:28px;border-radius:6px;cursor:pointer;white-space:nowrap;text-decoration:none;display:inline-flex;align-items:center}.lv-segmented>button:hover,.lv-segmented>a:hover{color:var(--ink)}.lv-segmented>[aria-pressed=true],.lv-segmented>[aria-current=page],.lv-segmented>[aria-selected=true]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-1)}.lv-table-wrap{overflow-x:auto}.lv-table{width:100%;border-collapse:collapse;font-size:var(--text-sm);font-variant-numeric:tabular-nums}.lv-table th,.lv-table td{text-align:right;padding:7px 10px;border-bottom:1px solid var(--line);white-space:nowrap}.lv-table th:first-child,.lv-table td:first-child{text-align:left}.lv-table thead th{font-weight:600;color:var(--ink-3);position:sticky;top:0;background:var(--surface);z-index:1}.lv-table tbody tr:hover{background:var(--surface-2)}.lv-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.lv-list>li{display:flex;align-items:center;gap:var(--space-3);padding:10px 8px;margin:0 -8px;border-radius:var(--radius-2);border-bottom:1px solid var(--line);transition:background var(--motion-fast) var(--ease)}.lv-list>li:hover{background:var(--surface-2)}.lv-list>li:last-child{border-bottom:0}.lv-list .lv-grow{flex:1;min-width:0}.lv-list-value{font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}.lv-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lv-overlay{position:fixed;inset:0;background:#0a0d1280;z-index:85;display:flex;align-items:center;justify-content:center;padding:var(--space-4);animation:lv-fade var(--motion-base) var(--ease)}.lv-dialog{background:var(--surface);color:var(--ink);border-radius:var(--radius-4);border:1px solid var(--line);box-shadow:var(--shadow-3);width:min(640px,100%);max-height:min(88vh,900px);display:flex;flex-direction:column;animation:lv-rise var(--motion-base) var(--ease)}.lv-dialog>header{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);padding:12px 20px;border-bottom:1px solid var(--line)}.lv-dialog>.lv-dialog-body{padding:20px;overflow-y:auto}.lv-dialog>footer{display:flex;justify-content:flex-end;gap:var(--space-2);padding:12px 20px;border-top:1px solid var(--line);flex-wrap:wrap}@media (max-width: 640px){.lv-overlay{align-items:flex-end;padding:0}.lv-dialog{width:100%;border-radius:var(--radius-4) var(--radius-4) 0 0;max-height:92vh}}.lv-popover{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-3);box-shadow:var(--shadow-2);padding:var(--space-4);z-index:88;max-width:min(360px,calc(100vw - 24px));font-size:var(--text-sm)}.lv-menu{min-width:220px;max-width:min(320px,calc(100vw - 24px));max-height:60vh;overflow-y:auto;padding:4px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-3);box-shadow:var(--shadow-2);z-index:88}.lv-menu [role=menuitem],.lv-menu [role=menuitemradio]{display:flex;align-items:center;gap:8px;width:100%;min-height:34px;padding:0 10px;border:0;border-radius:6px;background:transparent;color:var(--ink);font:500 var(--text-md) var(--font-ui);text-align:left;cursor:pointer}.lv-menu [role=menuitem]:hover,.lv-menu [role=menuitemradio]:hover,.lv-menu [role=menuitem]:focus-visible,.lv-menu [role=menuitemradio]:focus-visible{background:var(--surface-2);outline:none}.lv-menu [aria-checked=true]{color:var(--primary);font-weight:600}.lv-menu hr{border:0;border-top:1px solid var(--line);margin:4px 0}.lv-notice{display:flex;gap:10px;padding:10px 14px;border-radius:var(--radius-2);background:var(--accent-soft);color:var(--ink);border:1px solid color-mix(in srgb,var(--accent) 25%,transparent);font-size:var(--text-sm);align-items:flex-start}.lv-notice>svg{flex:none;margin-top:1px;color:var(--accent)}.lv-notice[data-tone=danger]{background:var(--danger-soft);border-color:color-mix(in srgb,var(--danger) 25%,transparent)}.lv-notice[data-tone=danger]>svg{color:var(--danger)}.lv-notice[data-tone=ok]{background:var(--primary-soft);border-color:color-mix(in srgb,var(--primary) 25%,transparent)}.lv-notice[data-tone=ok]>svg{color:var(--primary)}.lv-progress{height:6px;border-radius:3px;background:var(--surface-3);overflow:hidden}.lv-progress>div{height:100%;background:var(--primary);border-radius:3px;transition:width var(--motion-base) var(--ease)}.lv-explain{display:grid;grid-template-columns:1fr auto;gap:3px var(--space-4);font-variant-numeric:tabular-nums}.lv-explain>.lv-total{border-top:1px solid var(--line-strong);padding-top:4px;font-weight:700}.lv-skeleton{display:block;border-radius:var(--radius-2);background:linear-gradient(90deg,var(--surface-2) 0%,var(--surface-3) 50%,var(--surface-2) 100%);background-size:200% 100%;animation:lv-shimmer 1.4s ease-in-out infinite}@keyframes lv-fade{0%{opacity:0}}@keyframes lv-rise{0%{opacity:0;transform:translateY(8px)}}@keyframes lv-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations")}:root{--rail-w: 216px;--topbar-h: 56px;--chart-h: clamp(388px, calc(100dvh - 420px) , 548px);--chart-h-home: clamp(240px, calc(100dvh - 400px) , 520px)}.app{display:grid;grid-template-columns:var(--rail-w) minmax(0,1fr);min-height:100dvh}.app[data-rail=collapsed]{--rail-w: 64px}.rail{position:sticky;top:0;height:100dvh;border-right:1px solid var(--line);background:var(--surface);display:flex;flex-direction:column;min-width:0}.rail-head{height:var(--topbar-h);display:flex;align-items:center;padding:0 14px;border-bottom:1px solid var(--line);flex:none}.rail-scroll{flex:1;overflow-y:auto;padding:10px 10px 8px;display:flex;flex-direction:column;gap:12px}.brand{display:flex;align-items:center;gap:10px;font:700 var(--text-base) var(--font-display);letter-spacing:-.02em;color:var(--ink);text-decoration:none;min-width:0}.brand img{width:28px;height:28px;border-radius:8px;flex:none}.nav-group>h2{font:600 var(--text-xs) var(--font-ui);color:var(--ink-3);margin:0 0 2px 10px;letter-spacing:0}.nav-group ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1px}.nav-link{display:flex;align-items:center;gap:10px;min-height:32px;padding:0 10px;border-radius:var(--radius-2);color:var(--ink-2);text-decoration:none;font-size:var(--text-md);font-weight:550;white-space:nowrap;transition:background var(--motion-fast) var(--ease),color var(--motion-fast) var(--ease)}.nav-link>svg{flex:none;color:var(--ink-3)}.nav-link:hover{background:var(--surface-2);color:var(--ink)}.nav-link[aria-current=page]{background:var(--primary-soft);color:var(--primary);font-weight:650}.nav-link[aria-current=page]>svg{color:var(--primary)}.rail-toggle{display:flex;align-items:center;gap:10px;margin:6px 10px 10px;min-height:32px;padding:0 10px;border:0;border-radius:var(--radius-2);background:none;color:var(--ink-3);font:550 var(--text-sm) var(--font-ui);cursor:pointer}.rail-toggle:hover{background:var(--surface-2);color:var(--ink)}.app[data-rail=collapsed] .rail-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.app[data-rail=collapsed] .nav-link,.app[data-rail=collapsed] .rail-toggle{justify-content:center;padding:0}.app[data-rail=collapsed] .nav-group>h2{margin:0}.app[data-rail=collapsed] .nav-group+.nav-group{border-top:1px solid var(--line);padding-top:10px}.app[data-rail=collapsed] .rail-head{justify-content:center;padding:0}.main{min-width:0;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:6px;padding:0 20px;height:var(--topbar-h);background:color-mix(in srgb,var(--bg) 85%,transparent);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}.topbar .spacer{flex:1}.plan-switch{display:inline-flex;align-items:center;gap:8px;max-width:280px;min-height:32px;padding:0 10px;border:1px solid var(--line);border-radius:var(--radius-2);background:var(--surface);color:var(--ink);font:600 var(--text-md) var(--font-ui);cursor:pointer;box-shadow:var(--shadow-1)}.plan-switch:hover{border-color:var(--line-strong)}.plan-switch:disabled{opacity:.7;cursor:default}.plan-dot{width:8px;height:8px;border-radius:50%;background:var(--primary);flex:none}.crumbs{display:inline-flex;align-items:center;gap:4px;margin-left:4px;color:var(--ink-3);font-size:var(--text-sm);white-space:nowrap}.crumbs [aria-current=page]{color:var(--ink);font-weight:600}.content{padding:12px 24px 24px;max-width:1360px;width:100%;margin:0 auto;display:flex;flex-direction:column;gap:12px}.page-head{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap}.page-title{display:flex;flex-direction:column;gap:2px;min-width:0}.page-head p{color:var(--ink-3);font-size:var(--text-sm);max-width:90ch}.footer{padding:8px 24px 20px;color:var(--ink-3);font-size:var(--text-xs);max-width:1360px;margin:0 auto;width:100%}.bottom-nav{display:none}.sandbox-banner{background:var(--accent-soft);color:var(--ink);padding:6px 20px;font-size:var(--text-sm);display:flex;gap:var(--space-3);align-items:center;justify-content:space-between;flex-wrap:wrap;border-bottom:1px solid var(--line)}.toasts{position:fixed;right:var(--space-4);bottom:var(--space-4);z-index:80;display:flex;flex-direction:column;gap:var(--space-2);max-width:min(420px,calc(100vw - 32px))}.skip{position:absolute;left:-999px;top:8px;z-index:100}.skip:focus{left:8px}.two-col{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:14px;align-items:start}.chart-ledger{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:14px;align-items:stretch}.rail{background:#202c40;--ink: #f4f6ff;--ink-2: #d1d9eb;--ink-3: #b2bed3;--surface-2: #2c3a53;--line: #3b4960;--primary: #c3caff;--primary-soft: #34416b}.rail-scroll{padding:24px 12px;gap:28px}.rail-scroll>.nav-group:last-child{margin-top:auto}.rail .nav-link{min-height:44px}.rail .nav-group>h2{margin-bottom:12px}.save-status{color:var(--ink-3);font-size:var(--text-xs);white-space:nowrap}.workspace-status{font-size:var(--text-xs);color:var(--ink-3);min-height:18px}.next-decision{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:14px 18px;background:var(--primary-soft);border:1px solid var(--primary-line);border-radius:12px}.next-decision p{color:var(--ink-2);font-size:var(--text-sm)}.cohort-map{display:grid;grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:6px;margin:16px 0}.cohort-map button{min-height:44px;border:1px solid var(--line-strong);border-radius:6px;color:var(--ink);background:var(--primary-soft);cursor:pointer;font:550 var(--text-xs) var(--font-ui)}.cohort-map button[data-outcome=short]{background:var(--danger-soft);border-style:dashed}.cohort-map button[data-outcome=partial]{background:var(--surface-2)}.cohort-map button[aria-pressed=true]{outline:2px solid var(--primary);outline-offset:1px}.flow-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:24px}.flow-list li,.flow-drivers li{justify-content:space-between}.flow-list a,.flow-drivers a{overflow-wrap:anywhere}.sankey-surface{overflow:auto}.sankey-surface>div{min-width:740px}.compare-builder>summary,.schedule-preview>summary,.flow-drivers>summary{cursor:pointer;padding:12px 0;font-weight:600}.workspace-toolbar{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}.planning-workspace{grid-template-columns:minmax(0,1fr) 320px;align-items:start}.planning-workspace[data-inspector=false]{grid-template-columns:minmax(0,1fr)}.planning-workspace>*{min-width:0}.planning-fields{display:grid;gap:18px;margin-top:18px}.planning-fields section{display:grid;gap:12px}.planning-fields h3{font-size:var(--text-base)}.dependency-list{padding-left:20px;font-size:var(--text-sm)}.field-error{color:var(--danger);font-size:var(--text-sm)}.draft-bar{padding:20px;display:grid;gap:10px;border:1px solid var(--primary-line);border-radius:14px;background:var(--primary-soft)}.draft-bar .lv-field{max-width:340px}.draft-actions{display:flex;flex-wrap:wrap;gap:8px}.event-timeline{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px 20px}.event-track{position:relative;margin-top:8px}.event-start,.event-end{position:absolute;font-size:var(--text-xs);color:var(--ink-3)}.event-end{right:0}.event-marker{position:absolute;width:18%;min-width:0;padding:6px;border:1px solid var(--primary-line);border-radius:8px;background:var(--primary-soft);color:var(--ink);font:550 var(--text-xs) var(--font-ui);text-align:left;cursor:grab;touch-action:none;overflow-wrap:anywhere;min-height:44px}.planning-workspace .event-timeline{border:0;border-radius:0;padding:12px 16px 0 56px}.year-stepper{gap:8px;margin-bottom:8px;font-variant-numeric:tabular-nums}.token-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:16px;margin:16px 0}.token-gallery>div{display:flex;align-items:center;gap:8px}.token-gallery span{width:24px;height:24px;border-radius:6px}.span-track{position:relative;height:6px;background:var(--surface-2);margin-top:8px}.span-track span{position:absolute;height:6px;background:var(--financial-income);border-radius:3px}.timeline-spans [data-linked=true]{background:var(--primary-soft)}.timeline-spans summary,.comparison-changes summary{cursor:pointer;padding:8px 0}.year-ledger>div{display:flex;justify-content:space-between;gap:16px;padding:8px 0;border-bottom:1px solid var(--line)}.year-ledger dd{margin:0;font-variant-numeric:tabular-nums;text-align:right}.event-marker small{display:block;color:var(--ink-2)}.event-anchor{position:absolute;width:6px;height:6px;border-radius:50%;top:-8px;background:var(--primary)}.event-marker[data-derived=true]{border-style:dashed;cursor:pointer}.lv-segmented button[aria-pressed=true]{background:var(--primary-soft);color:var(--primary)}@media (min-width: 1281px){.planning-workspace>:nth-child(2){max-height:calc(var(--chart-h) + 116px);overflow-y:auto}}@media (min-width: 701px) and (max-width: 1280px){.app{--rail-w: 156px}.planning-workspace{grid-template-columns:minmax(0,1fr)}.planning-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 700px){:root{--chart-h: 388px}.planning-workspace{grid-template-columns:minmax(0,1fr)}.save-status{display:none}.event-timeline{padding:12px}.event-marker{width:24%;font-size:11px}.draft-actions{position:sticky;bottom:66px;background:var(--primary-soft);padding:8px 0}.draft-actions .lv-btn,.workspace-toolbar .lv-btn{min-height:44px}.page-head p{font-size:12px}.lv-kpis>*{padding:10px 12px}.lv-kpis .lv-stat-value{font-size:24px}.lv-kpis .lv-stat-label{font-size:12px}.lv-kpis .lv-stat-note{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.lv-kpis .lv-stat-note:focus-within{position:static;width:auto;height:auto;clip-path:none}.lv-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}.chart-box{height:var(--chart-h)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px 16px}@media (max-width: 1180px){.chart-ledger{grid-template-columns:minmax(0,1fr)}}.chart-foot{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:6px}.funded-key{margin:0}.funded-swatch{display:inline-block;width:14px;height:8px;margin:0 4px 0 8px;border-radius:2px;vertical-align:middle;background:var(--primary);opacity:.35}.funded-swatch:first-child{margin-left:0}.funded-swatch[data-short=true]{background:var(--danger);opacity:1}.lv-list>li.person-row{align-items:flex-start;flex-wrap:wrap}.person-age{width:220px;max-width:100%}.wizard-heading{margin:20px 0 16px}.wizard-person{border:1px solid var(--line);border-radius:var(--radius-2);padding:var(--space-3) var(--space-4) var(--space-4);margin:0;min-width:0}.wizard-person>legend{padding:0 var(--space-2);font-weight:600;color:var(--ink)}.wizard-readout{grid-column:1 / -1;font-size:var(--text-sm);color:var(--ink-2);font-variant-numeric:tabular-nums}.lv-warn-text{color:var(--warn);font-weight:600}.wizard-narrow{max-width:420px}.wizard-nav{margin-top:24px}.wizard-assumptions{display:grid;gap:var(--space-2);margin:0}.wizard-assumptions>div{display:grid;grid-template-columns:minmax(140px,200px) 1fr;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--line)}.wizard-assumptions dt{font-weight:600;font-size:var(--text-sm)}.wizard-assumptions dd{margin:0;font-size:var(--text-sm);color:var(--ink-2)}@media (max-width: 560px){.wizard-assumptions>div{grid-template-columns:1fr;gap:2px}}.subnav{align-self:flex-start}.subnav a{gap:6px}.subnav a>svg{color:var(--ink-3)}.subnav a[aria-current=page]>svg{color:var(--primary)}.timeline{position:relative;padding:var(--space-6) var(--space-3) var(--space-5);overflow-x:auto}.timeline-track{position:relative;height:96px;min-width:640px;border-bottom:2px solid var(--line-strong)}.timeline-tick{position:absolute;bottom:-22px;transform:translate(-50%);font-size:var(--text-xs);color:var(--ink-3)}.timeline-pin{position:absolute;bottom:0;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:2px;border:0;background:none;cursor:grab;color:var(--ink);padding:0;touch-action:none}.timeline-pin>span:first-child{background:var(--surface);border:1px solid var(--line-strong);border-radius:999px;padding:2px 10px;font-size:var(--text-xs);font-weight:700;white-space:nowrap;box-shadow:var(--shadow-1)}.timeline-pin>span:last-child{width:2px;height:36px;background:var(--primary)}.timeline-pin[data-kind=condition]>span:last-child{background:var(--accent-fill)}.timeline-pin:active{cursor:grabbing}.swatch{width:10px;height:10px;border-radius:2px;display:inline-block;flex:none}@media (max-width: 900px){.app{grid-template-columns:minmax(0,1fr)}.rail{display:none}.rail[data-open=true]{display:flex;position:fixed;inset:0;z-index:70;height:auto;padding-bottom:72px}.app[data-rail=collapsed] .rail-text{position:static;width:auto;height:auto;clip:auto}.app[data-rail=collapsed] .nav-link{justify-content:flex-start;padding:0 10px}.topbar{padding:0 12px}.content{padding:12px 12px calc(84px + env(safe-area-inset-bottom));gap:12px}:root{--chart-h: 388px}.footer{padding-bottom:calc(96px + env(safe-area-inset-bottom))}.bottom-nav{display:grid;grid-template-columns:repeat(6,1fr);position:fixed;left:0;right:0;bottom:0;z-index:75;background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}.bottom-nav a,.bottom-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:56px;font:600 .6875rem var(--font-ui);color:var(--ink-2);text-decoration:none;border:0;background:none}.bottom-nav [aria-current=page],.bottom-nav [aria-expanded=true]{color:var(--primary)}.two-col{grid-template-columns:minmax(0,1fr)}.lv-card{padding:var(--space-4)}.toasts{bottom:calc(72px + env(safe-area-inset-bottom));left:var(--space-3);right:var(--space-3)}.hide-phone{display:none!important}}@media (min-width: 901px){.only-phone{display:none!important}}.tour-spot{position:fixed;z-index:90;border-radius:10px;box-shadow:0 0 0 3px var(--accent-fill),0 0 0 9999px #101a268c;pointer-events:none;transition:all var(--motion-base) var(--ease)}.tour-card{z-index:95;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-3);box-shadow:var(--shadow-2);padding:var(--space-4);width:min(360px,calc(100vw - 24px));display:flex;flex-direction:column;gap:var(--space-3)}.tour-card[data-sheet=true]{position:fixed;left:0;right:0;bottom:0;width:100%;border-radius:var(--radius-3) var(--radius-3) 0 0;padding-bottom:calc(var(--space-4) + env(safe-area-inset-bottom))}.tour-card h2{font-size:var(--text-md);font-family:var(--font-ui)}.tour-card p{font-size:var(--text-sm);color:var(--ink-2)}@media print{.rail,.topbar,.bottom-nav,.footer .no-print,.toasts,.no-print{display:none!important}.app{display:block}.content{padding:0;max-width:none}.lv-card{box-shadow:none;break-inside:avoid}}.tour-prompt{position:fixed;right:var(--space-4);bottom:var(--space-4);z-index:60;max-width:min(440px,calc(100vw - 32px));background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-3);box-shadow:var(--shadow-2);padding:var(--space-3) var(--space-4);display:flex;flex-direction:column;gap:var(--space-2);font-size:var(--text-sm)}@media (max-width: 900px){.tour-prompt{left:var(--space-3);right:var(--space-3);bottom:calc(72px + env(safe-area-inset-bottom))}}@media print{.tour-prompt,.tour-spot,.tour-card{display:none!important}}.tour-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-4)}.tour-tile{border:1px solid var(--line);border-radius:var(--radius-3);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2);background:var(--surface)}.tour-tile h3{font-size:var(--text-md)}.method{border-top:1px solid var(--line);padding:var(--space-4) 0;scroll-margin-top:72px}.method:first-child{border-top:0;padding-top:0}.method code{display:block;background:var(--surface-2);border-radius:var(--radius-2);padding:var(--space-2) var(--space-3);margin:var(--space-2) 0;font-size:var(--text-sm);white-space:pre-wrap}.ledger{display:flex;flex-direction:column;gap:12px}.ledger-row{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding-top:10px;border-top:1px solid var(--line)}.ledger-row .lv-stat-value{font-size:var(--text-lg)}.warn-chips{font-size:var(--text-sm)}.warn-chips>summary{display:flex;align-items:center;gap:8px;cursor:pointer;list-style:none;min-width:0}.warn-chips>summary::-webkit-details-marker{display:none}.warn-chips>ul{margin:8px 0 0;padding:10px 14px 10px 30px;background:var(--accent-soft);border-radius:var(--radius-2)}.home-hero{display:grid;grid-template-columns:minmax(300px,360px) minmax(0,1fr);gap:14px;align-items:stretch}.home-changed{display:flex;gap:8px;align-items:flex-start;padding:8px 10px;border-radius:var(--radius-2);background:var(--primary-soft);color:var(--ink);font-size:var(--text-sm)}.home-changed>svg{color:var(--primary);flex:none;margin-top:2px}.home-facts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0;padding-top:14px;border-top:1px solid var(--line)}.home-facts dt{font-size:var(--text-sm);color:var(--ink-3);font-weight:550}.home-facts dd{margin:2px 0 0;font:650 var(--text-lg) / 1.2 var(--font-display);letter-spacing:-.015em;font-variant-numeric:tabular-nums}.home-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.home-action{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius-3);background:var(--surface);color:var(--ink);text-decoration:none;box-shadow:var(--shadow-1);transition:box-shadow var(--motion-fast) var(--ease),transform var(--motion-fast) var(--ease),border-color var(--motion-fast) var(--ease);min-width:0}.home-action:hover{box-shadow:var(--shadow-hover);border-color:var(--line-strong);transform:translateY(-1px)}.home-action>svg:last-child{margin-left:auto;color:var(--ink-3);flex:none}@media (max-width: 900px){.home-hero{grid-template-columns:minmax(0,1fr)}}@media (max-width: 900px){.topbar .brand img{width:26px;height:26px}.topbar .brand{flex:none}.plan-switch{max-width:calc(100vw - 200px);min-width:0}.lv-stat[data-size=hero]>.lv-stat-value{font-size:2.25rem}.lv-card[data-variant=hero]{padding:16px}.home-hero .lv-card[data-variant=hero] .lv-stack>p:last-child{display:none}}
