:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f3f5f8;--surface:#fff;--surface-2:#f7f9fb;--surface-3:#eef2f6;--ink:#0d1b2a;--ink-2:#435267;--muted:#6f7d90;--line:#e1e6ed;--line-strong:#c9d2de;--accent:#2459c4;--accent-ink:#fff;--accent-soft:#e6eefc;--sun:#d98a12;--sun-soft:#fdf1dc;--leaf:#13866a;--leaf-soft:#e1f4ec;--danger:#c23434;--danger-soft:#fbe7e7;--good:#0f7d34;--night-1:#0a1830;--night-2:#12305a;--night-ink:#eaf1fb;--night-muted:#9fb2cc;--horizon:#f2b04a;--shadow:0 1px 2px #0d1b2a0f, 0 8px 24px -12px #0d1b2a2e;--shadow-pop:0 12px 40px -8px #0d1b2a47, 0 2px 6px #0d1b2a14;--c-deposit:#2a78d6;--c-interest:#1baf7a;--c-income:#eda100;--c-inflation:#eb6834;--c-total:#0d1b2a;--c-pinned:#8a94a3;--font-display:"Bricolage Grotesque", "Figtree", ui-sans-serif, system-ui, sans-serif;--font-body:"Figtree", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--r-sm:6px;--r-md:10px;--r-lg:14px;--header-h:64px;--sidebar-w:372px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0a111d;--surface:#101a2a;--surface-2:#0d1624;--surface-3:#16233a;--ink:#e8eef7;--ink-2:#aab7c9;--muted:#7f8ea4;--line:#1d2a3f;--line-strong:#2a3a54;--accent:#78a6ff;--accent-ink:#08142a;--accent-soft:#15284a;--sun:#f0b04f;--sun-soft:#2e2412;--leaf:#3cc597;--leaf-soft:#0f2a22;--danger:#f07171;--danger-soft:#341818;--good:#3cc56a;--night-1:#060c18;--night-2:#0e2244;--shadow:0 1px 2px #0006, 0 8px 24px -12px #0009;--shadow-pop:0 16px 48px -8px #000000b3, 0 2px 6px #0006;--c-deposit:#3987e5;--c-interest:#199e70;--c-income:#c98500;--c-inflation:#d95926;--c-total:#e8eef7;--c-pinned:#7b8696}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0a111d;--surface:#101a2a;--surface-2:#0d1624;--surface-3:#16233a;--ink:#e8eef7;--ink-2:#aab7c9;--muted:#7f8ea4;--line:#1d2a3f;--line-strong:#2a3a54;--accent:#78a6ff;--accent-ink:#08142a;--accent-soft:#15284a;--sun:#f0b04f;--sun-soft:#2e2412;--leaf:#3cc597;--leaf-soft:#0f2a22;--danger:#f07171;--danger-soft:#341818;--good:#3cc56a;--night-1:#060c18;--night-2:#0e2244;--shadow:0 1px 2px #0006, 0 8px 24px -12px #0009;--shadow-pop:0 16px 48px -8px #000000b3, 0 2px 6px #0006;--c-deposit:#3987e5;--c-interest:#199e70;--c-income:#c98500;--c-inflation:#d95926;--c-total:#e8eef7;--c-pinned:#7b8696}*,:before,:after{box-sizing:border-box}html,body{background:var(--bg);color:var(--ink);margin:0}body{font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:15px;line-height:1.5}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}h1,h2,h3,h4{font-family:var(--font-display);text-wrap:balance;letter-spacing:-.01em;margin:0}p{margin:0}.num{font-variant-numeric:tabular-nums}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.app-header{top:env(safe-area-inset-top,0px);z-index:40;background:linear-gradient(100deg, var(--night-1) 0%, var(--night-2) 100%);color:var(--night-ink);border-bottom:2px solid var(--horizon);position:sticky;box-shadow:0 6px 24px -14px #f2b04a8c}.header-inner{min-height:var(--header-h);flex-wrap:wrap;align-items:center;gap:16px;padding-block:8px;padding-inline:20px;display:flex}.brand{color:inherit;align-items:center;gap:10px;margin-right:8px;text-decoration:none;display:flex}.brand-mark{flex:none;width:34px;height:34px}.brand-name{font-family:var(--font-display);letter-spacing:-.02em;font-size:21px;font-weight:700;line-height:1}.brand-sub{font-family:var(--font-body);color:var(--night-muted);letter-spacing:.02em;margin-top:3px;font-size:11.5px;font-weight:500;display:block}.header-nav{gap:2px;margin-inline:auto;display:flex}.header-nav a{color:var(--night-muted);border-radius:999px;padding:6px 10px;font-size:13.5px;font-weight:600;text-decoration:none;transition:color .15s,background .15s}.header-nav a:hover{color:var(--night-ink);background:#ffffff14}.header-tools{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.lens-group{background:#ffffff12;border:1px solid #ffffff1f;border-radius:999px;align-items:center;gap:8px;padding:4px 6px 4px 12px;display:flex}.lens-label{color:var(--night-muted);white-space:nowrap;font-size:12px;font-weight:600}.seg-night{background:#00000040;border-radius:999px;padding:3px;display:inline-flex}.seg-night button{color:var(--night-muted);white-space:nowrap;background:0 0;border:0;border-radius:999px;padding:5px 11px;font-size:12.5px;font-weight:650;transition:background .15s,color .15s}.seg-night button[aria-pressed=true]{background:var(--horizon);color:#1c1406}.pv-chip{color:var(--night-ink);align-items:center;gap:6px;font-size:12.5px;display:inline-flex}.pv-chip select,.pv-chip input{color:var(--night-ink);background:#00000040;border:1px solid #ffffff24;border-radius:8px;padding:4px 6px;font-size:12.5px}.pv-chip select option{color:#0d1b2a}.pv-chip input{width:64px}.night-btn{color:var(--night-ink);white-space:nowrap;background:#ffffff0f;border:1px solid #ffffff29;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:600;transition:background .15s,border-color .15s;display:inline-flex}.night-btn:hover{background:#ffffff24}.night-btn.icon{padding:7px}.night-btn.primary{background:var(--horizon);border-color:var(--horizon);color:#1c1406}.night-btn.primary:hover{filter:brightness(1.05)}.night-btn svg{width:16px;height:16px}.menu-wrap{position:relative}.menu{background:var(--surface);min-width:270px;color:var(--ink);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-pop);z-index:60;padding:6px;position:absolute;top:calc(100% + 8px);right:0}.menu button,.menu label.menu-item{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;width:100%;padding:9px 10px;font-size:14px;display:flex}.menu button:hover,.menu label.menu-item:hover{background:var(--surface-3)}.menu svg{width:18px;height:18px;color:var(--ink-2);flex:none}.menu-sep{background:var(--line);height:1px;margin:6px 4px}.menu small{color:var(--muted);font-size:12px;line-height:1.3;display:block}.layout{grid-template-columns:var(--sidebar-w) minmax(0, 1fr);align-items:start;gap:0;display:grid}.sidebar{top:calc(var(--header-h) + env(safe-area-inset-top,0px));height:calc(100vh - var(--header-h));overscroll-behavior:contain;border-right:1px solid var(--line);background:var(--surface);scrollbar-width:thin;position:sticky;overflow-y:auto}.sidebar-inner{flex-direction:column;gap:14px;padding:18px 18px 40px;display:flex}.sidebar-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.sidebar-head h2{font-size:17px}.main{flex-direction:column;gap:22px;min-width:0;padding:22px 26px 60px;display:flex}.drawer-toggle,.scrim{display:none}@media (max-width:1100px){.layout{grid-template-columns:minmax(0,1fr)}.sidebar{z-index:80;width:min(400px,92vw);height:100%;box-shadow:var(--shadow-pop);padding-top:env(safe-area-inset-top,0px);transition:transform .25s;position:fixed;top:0;bottom:0;left:0;transform:translate(-102%)}.sidebar.open{transform:none}.scrim.open{z-index:70;background:#050a1473;display:block;position:fixed;inset:0}.drawer-toggle{display:inline-flex}.header-nav{display:none}.main{padding:18px 16px 48px}}@media (max-width:640px){.header-inner{gap:10px;padding-inline:16px}.brand-sub{display:none}.lens-group{border-radius:14px;flex-wrap:wrap;order:10;justify-content:space-between;width:100%}.night-btn .label-wide{display:none}}.presets{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--line-strong);background:var(--surface);color:var(--ink-2);border-radius:999px;padding:5px 11px;font-size:12.5px;font-weight:600;transition:all .15s}.chip:hover{border-color:var(--accent);color:var(--accent)}.chip[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.p-section{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface)}.p-section>summary{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:var(--r-lg);align-items:center;gap:10px;padding:13px 14px;list-style:none;display:flex}.p-section>summary::-webkit-details-marker{display:none}.p-section>summary:hover{background:var(--surface-2)}.p-icon{border-radius:9px;flex:none;place-items:center;width:30px;height:30px;display:grid}.p-icon svg{width:17px;height:17px}.p-icon.blue{background:var(--accent-soft);color:var(--accent)}.p-icon.sun{background:var(--sun-soft);color:var(--sun)}.p-icon.leaf{background:var(--leaf-soft);color:var(--leaf)}.p-icon.red{background:var(--danger-soft);color:var(--danger)}.p-title{font-family:var(--font-display);font-size:15px;font-weight:650;line-height:1.2}.p-summary{font-family:var(--font-body);color:var(--muted);margin-top:2px;font-size:12.5px;font-weight:500;display:block}.p-chevron{color:var(--muted);flex:none;width:18px;height:18px;margin-left:auto;transition:transform .2s}.p-section[open]>summary .p-chevron{transform:rotate(180deg)}.p-body{flex-direction:column;gap:14px;padding:4px 14px 16px;display:flex}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.field-label{color:var(--ink-2);align-items:center;gap:6px;font-size:13px;font-weight:650;display:flex}.help-dot{width:16px;height:16px;color:var(--muted);border:1px solid var(--line-strong);cursor:help;border-radius:50%;flex:none;place-items:center;font-size:10.5px;font-weight:800;line-height:1;display:inline-grid}.field-label .aside{color:var(--muted);margin-left:auto;font-size:12px;font-weight:500}.vtag{white-space:nowrap;cursor:help;border-radius:999px;padding:0 7px;font-size:11px;font-weight:700;line-height:1.5;display:inline-block}.vtag.pv{background:var(--accent-soft);color:var(--accent)}.vtag.fv{background:var(--sun-soft);color:var(--sun)}.hint.value{background:var(--surface-2);border:1px solid var(--line);border-radius:8px;padding:8px 10px}.hint.value.warn{background:var(--sun-soft);color:var(--ink-2);border-color:#0000}.hint.value strong{color:var(--ink)}.input-wrap{border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface);align-items:center;min-width:0;transition:border-color .15s,box-shadow .15s;display:flex}.input-wrap:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.input-wrap .affix{color:var(--muted);white-space:nowrap;padding-inline:10px;font-size:13px;font-weight:600}.input-wrap input,.input-wrap select{font-variant-numeric:tabular-nums;background:0 0;border:0;outline:0;width:100%;min-width:0;padding:8px 10px;font-size:14.5px;font-weight:600}.input-wrap .affix+input{padding-left:0}.input-wrap select{cursor:pointer;font-weight:600}.select-native{border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface);width:100%;padding:8px 10px;font-size:14px;font-weight:600}.range{appearance:none;background:0 0;width:100%;height:22px;margin:0}.range::-webkit-slider-runnable-track{background:linear-gradient(to right, var(--accent) var(--fill,50%), var(--line-strong) var(--fill,50%));border-radius:4px;height:4px}.range::-moz-range-track{background:var(--line-strong);border-radius:4px;height:4px}.range::-moz-range-progress{background:var(--accent);border-radius:4px;height:4px}.range::-webkit-slider-thumb{-webkit-appearance:none;background:var(--surface);border:2px solid var(--accent);border-radius:50%;width:18px;height:18px;margin-top:-7px;transition:transform .12s;box-shadow:0 1px 3px #00000040}.range::-moz-range-thumb{background:var(--surface);border:2px solid var(--accent);border-radius:50%;width:14px;height:14px}.range:active::-webkit-slider-thumb{transform:scale(1.15)}.hint{color:var(--muted);font-size:12.5px;line-height:1.45}.hint strong{color:var(--ink-2);font-weight:650}.hint.warn{color:var(--sun)}.hint.bad{color:var(--danger)}.segmented{background:var(--surface-3);border-radius:9px;grid-auto-columns:1fr;grid-auto-flow:column;gap:2px;padding:3px;display:grid}.segmented.wrap{grid-template-columns:1fr 1fr;grid-auto-flow:row}.segmented button{color:var(--ink-2);background:0 0;border:0;border-radius:7px;padding:7px 6px;font-size:12.5px;font-weight:650;line-height:1.2;transition:background .15s,color .15s,box-shadow .15s}.segmented button:hover{color:var(--ink)}.segmented button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px #0d1b2a1f, 0 0 0 1px var(--line)}.option-cards{flex-direction:column;gap:6px;display:flex}.option-card{text-align:left;border:1px solid var(--line);background:var(--surface);border-radius:var(--r-md);align-items:flex-start;gap:10px;padding:10px 12px;transition:border-color .15s,background .15s;display:flex}.option-card:hover{border-color:var(--line-strong);background:var(--surface-2)}.option-card[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft)}.option-card .radio{border:2px solid var(--line-strong);border-radius:50%;flex:none;place-items:center;width:16px;height:16px;margin-top:2px;display:grid}.option-card[aria-pressed=true] .radio{border-color:var(--accent)}.option-card[aria-pressed=true] .radio:after{content:"";background:var(--accent);border-radius:50%;width:7px;height:7px}.option-card strong{font-size:13.5px;display:block}.option-card span{color:var(--muted);font-size:12.5px;line-height:1.35;display:block}.option-card .tag{letter-spacing:.04em;text-transform:uppercase;vertical-align:1px;border-radius:4px;margin-left:6px;padding:1px 6px;font-size:10.5px;font-weight:750;display:inline-block}.tag.good{background:var(--leaf-soft);color:var(--leaf)}.tag.bad{background:var(--danger-soft);color:var(--danger)}.switch-row{color:var(--ink-2);justify-content:space-between;align-items:center;gap:12px;font-size:13px;font-weight:600;display:flex}.switch{background:var(--line-strong);border:0;border-radius:999px;flex:none;width:38px;height:22px;transition:background .2s;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #0000004d}.switch[aria-checked=true]{background:var(--accent)}.switch[aria-checked=true]:after{transform:translate(16px)}.equiv{flex-wrap:wrap;gap:6px;display:flex}.equiv span{background:var(--surface-3);color:var(--ink-2);font-variant-numeric:tabular-nums;border-radius:999px;padding:3px 8px;font-size:12px}.equiv span b{color:var(--ink);font-weight:700}.dist-preview{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2);padding:8px 10px 6px}.dist-preview svg{width:100%;height:auto;display:block}.dist-preview .cap{color:var(--muted);font-variant-numeric:tabular-nums;justify-content:space-between;font-size:11.5px;display:flex}.goal-box{border-radius:var(--r-md);background:var(--surface-2);border:1px dashed var(--line-strong);flex-direction:column;gap:6px;padding:10px 12px;font-size:13px;display:flex}.goal-box .line{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.goal-box .line b{font-variant-numeric:tabular-nums}.link-btn{color:var(--accent);text-underline-offset:3px;background:0 0;border:0;padding:0;font-size:12.5px;font-weight:650;text-decoration:underline}.month-picker{grid-template-columns:1.1fr .9fr;gap:6px;display:grid}.btn{border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);white-space:nowrap;border-radius:9px;justify-content:center;align-items:center;gap:7px;padding:7px 12px;font-size:13px;font-weight:650;transition:all .15s;display:inline-flex}.btn:hover{border-color:var(--accent);color:var(--accent)}.btn svg{width:15px;height:15px}.btn.small{padding:5px 9px;font-size:12.5px}.btn.ghost{color:var(--ink-2);background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--surface-3);color:var(--ink)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.primary:hover{filter:brightness(1.08);color:var(--accent-ink)}.btn[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.story{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:18px;padding:26px 28px 24px;position:relative;overflow:hidden}.story:before{content:"";background:linear-gradient(90deg, var(--c-deposit) 0%, var(--c-interest) 55%, var(--horizon) 100%);height:3px;position:absolute;inset:0 0 auto}.eyebrow{letter-spacing:.09em;text-transform:uppercase;color:var(--muted);font-size:11.5px;font-weight:750}.story-text{font-family:var(--font-display);letter-spacing:-.012em;text-wrap:pretty;margin-top:10px;font-size:clamp(19px,2.1vw,25px);font-weight:500;line-height:1.42}.story-text .hl{cursor:help;-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:5px;padding:0 3px;font-weight:700}.hl.blue{color:var(--accent);background:var(--accent-soft)}.hl.leaf{color:var(--leaf);background:var(--leaf-soft)}.hl.sun{color:var(--sun);background:var(--sun-soft)}.hl.red{color:var(--danger);background:var(--danger-soft)}.hl.ink{color:var(--ink);background:var(--surface-3)}.story-foot{color:var(--muted);flex-wrap:wrap;gap:8px 16px;margin-top:16px;font-size:13px;display:flex}.story-foot .badge{align-items:center;gap:6px;display:inline-flex}.status-pill{border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:12.5px;font-weight:700;display:inline-flex}.status-pill svg{width:14px;height:14px}.status-pill.good{background:var(--leaf-soft);color:var(--leaf)}.status-pill.warn{background:var(--sun-soft);color:var(--sun)}.status-pill.bad{background:var(--danger-soft);color:var(--danger)}.status-pill.info{background:var(--accent-soft);color:var(--accent)}.main{container-type:inline-size}.kpis{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;display:grid}@container (width<=900px){.kpis{grid-template-columns:repeat(6,minmax(0,1fr))}.kpis .kpi{grid-column:span 2}.kpis .kpi:nth-child(4),.kpis .kpi:nth-child(5){grid-column:span 3}}@container (width<=560px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.kpis .kpi,.kpis .kpi:nth-child(4),.kpis .kpi:nth-child(5){grid-column:span 1}.kpis .kpi:first-child{grid-column:span 2}}.kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);flex-direction:column;gap:4px;min-width:0;padding:14px 16px 13px;display:flex}.kpi-label{color:var(--ink-2);align-items:center;gap:7px;font-size:12.5px;font-weight:650;display:flex}.kpi-label .sw{border-radius:3px;flex:none;width:9px;height:9px}.kpi-value{letter-spacing:-.02em;white-space:nowrap;text-overflow:ellipsis;font-size:clamp(20px,2.1vw,26px);font-weight:700;line-height:1.15;overflow:hidden}.kpi-sub{color:var(--muted);font-size:12.5px;line-height:1.35}.kpi-sub b{color:var(--ink-2);font-weight:650}.kpi .bar100{background:var(--surface);border-radius:3px;gap:2px;height:6px;margin-top:6px;display:flex;overflow:hidden}.bar100 i{border-radius:3px;height:100%;display:block}.timeline-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:16px 20px 14px}.card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.card-head h3{align-items:center;gap:8px;font-size:16px;display:flex}.card-head .sub{color:var(--muted);font-size:12.5px}.tl{touch-action:none;-webkit-user-select:none;user-select:none;height:104px;margin:18px 8px 4px;position:relative}.tl-track{background:var(--surface-3);border-radius:7px;height:14px;position:absolute;top:40px;left:0;right:0;overflow:hidden}.tl-seg{position:absolute;top:0;bottom:0}.tl-seg.acc{background:var(--c-deposit)}.tl-seg.inc{background:var(--c-income);box-shadow:inset 2px 0 0 var(--surface)}.tl-seg-label{color:#fff;white-space:nowrap;pointer-events:none;font-size:11.5px;font-weight:700;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.tl-seg-label.dark{color:#2b1d02;left:16px}.tl-tick{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:11px;position:absolute;top:60px;transform:translate(-50%)}.tl-tick:before{content:"";background:var(--line-strong);width:1px;height:4px;position:absolute;top:-6px;left:50%}.tl-handle{background:var(--surface);border:2px solid var(--ink);width:22px;height:32px;box-shadow:var(--shadow);cursor:ew-resize;z-index:2;border-radius:7px;place-items:center;margin-left:-11px;padding:0;display:grid;position:absolute;top:31px}.tl-handle:after{content:"";border-left:2px solid var(--line-strong);border-right:2px solid var(--line-strong);width:6px;height:12px}.tl-handle.w{border-color:var(--sun)}.tl-handle.pv{border-color:var(--accent);width:26px;height:26px;color:var(--accent);border-radius:50%;margin-left:-13px;top:2px}.tl-handle.pv:after{display:none}.tl-handle.pv svg{width:14px;height:14px}.tl-pv-stem{border-left:2px dotted var(--accent);pointer-events:none;width:0;height:10px;position:absolute;top:28px}.tl-flag{white-space:nowrap;color:var(--ink-2);pointer-events:none;font-size:12px;font-weight:700;position:absolute;top:74px;transform:translate(-50%)}.tl-flag.left{transform:none}.tl-flag.right{transform:translate(-100%)}.tl-legend{color:var(--ink-2);flex-wrap:wrap;gap:8px 18px;margin-top:4px;font-size:12.5px;display:flex}.tl-legend span{align-items:center;gap:6px;display:inline-flex}.tl-legend i{border-radius:4px;width:18px;height:8px;display:inline-block}.viz-card,.timeline-card,.table-card,.story,#aprenda{scroll-margin-top:calc(var(--header-h) + 18px)}.viz-card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:18px;min-width:0}.tabs{border-bottom:1px solid var(--line);scrollbar-width:none;gap:2px;padding:8px 10px 0;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tab{color:var(--muted);white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:7px;margin-bottom:-1px;padding:10px 12px 11px;font-size:13.5px;font-weight:650;transition:color .15s,border-color .15s;display:inline-flex}.tab svg{width:16px;height:16px}.tab:hover{color:var(--ink)}.tab[aria-selected=true]{color:var(--ink);border-bottom-color:var(--horizon)}.tab .dot{background:var(--sun);border-radius:50%;width:6px;height:6px}.tab-panel{flex-direction:column;gap:16px;min-width:0;padding:16px 18px 18px;display:flex}.chart-frame{flex-direction:column;gap:8px;min-width:0;display:flex}.chart-frame.expanded{z-index:90;background:var(--surface);box-shadow:var(--shadow-pop);border-radius:16px;padding:18px;position:fixed;inset:12px}.expand-scrim{z-index:85;background:#050a148c;position:fixed;inset:0}.chart-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.chart-title{flex-direction:column;gap:2px;min-width:0;display:flex}.chart-title h4{align-items:center;gap:8px;font-size:16.5px;display:flex}.chart-title p{color:var(--muted);max-width:70ch;font-size:13px}.chart-actions{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.chart-body{width:100%;min-width:0;position:relative}.chart-canvas{width:100%;height:440px}.chart-frame.expanded .chart-canvas{height:calc(100vh - 190px)}.chart-body.stale .chart-canvas{opacity:.55;transition:opacity .2s}.computing{color:var(--ink-2);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);z-index:3;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:12px;font-weight:650;display:inline-flex;position:absolute;top:8px;right:10px}.spinner{border:2px solid var(--line-strong);border-top-color:var(--accent);border-radius:50%;width:12px;height:12px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.chart-legend{color:var(--ink-2);flex-wrap:wrap;gap:4px 6px;margin-top:2px;font-size:12.5px;display:flex}.chart-legend .item{cursor:pointer;color:var(--ink-2);background:0 0;border:1px solid #0000;border-radius:999px;align-items:center;gap:8px;padding:3px 9px 3px 7px;font-size:12.5px;font-weight:600;transition:background .15s,color .15s,opacity .15s;display:inline-flex}.chart-legend button.item:hover{background:var(--surface-3);color:var(--ink)}.chart-legend .item[aria-pressed=false]{opacity:.45;text-decoration:line-through;-webkit-text-decoration-color:var(--muted);text-decoration-color:var(--muted)}.chart-legend .key{border-radius:3px;flex:none;width:10px;height:10px;display:inline-block}.chart-legend .key.line{border-radius:2px;width:16px;height:2.5px}.chart-legend .key.dash{border-top:2px dashed;border-radius:0;width:16px;height:0}.chart-note{color:var(--muted);align-items:flex-start;gap:8px;font-size:12.5px;line-height:1.45;display:flex}.chart-note svg{flex:none;width:15px;height:15px;margin-top:2px}.sub-toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.sub-toolbar .segmented{min-width:240px}.milestones{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;display:grid}.ms{border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--line);align-items:flex-start;gap:10px;min-width:0;padding:11px 12px;display:flex}.ms .ic{border-radius:9px;flex:none;place-items:center;width:30px;height:30px;display:grid}.ms .ic svg{width:16px;height:16px}.ms b{font-size:13.5px;display:block}.ms span{color:var(--muted);font-size:12.5px;line-height:1.4;display:block}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;display:grid}.stat{border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface-2);min-width:0;padding:12px 14px}.stat .label{color:var(--ink-2);font-size:12.5px;font-weight:650}.stat .value{letter-spacing:-.01em;font-size:22px;font-weight:700;line-height:1.25}.stat .meter{background:var(--surface-3);border-radius:3px;height:6px;margin-top:6px;overflow:hidden}.stat .meter i{border-radius:3px;height:100%;display:block}.stat .desc{color:var(--muted);margin-top:4px;font-size:12px;line-height:1.4}.empty-state{text-align:center;color:var(--ink-2);flex-direction:column;align-items:center;gap:12px;padding:40px 20px;display:flex}.empty-state svg.big{width:44px;height:44px;color:var(--accent)}.empty-state p{max-width:52ch;color:var(--muted)}.table-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;min-width:0;padding:16px 0 6px}.table-card>.card-head{padding:0 18px 12px}.table-wrap{border-top:1px solid var(--line);max-height:640px;overflow:auto}table.data{border-collapse:separate;border-spacing:0;font-variant-numeric:tabular-nums;width:100%;font-size:13px}table.data th{background:var(--surface-2);color:var(--ink-2);text-align:right;border-bottom:1px solid var(--line);white-space:nowrap;z-index:1;padding:9px 12px;font-size:12px;font-weight:700;position:sticky;top:0}table.data th:first-child,table.data td:first-child{text-align:left;background:var(--surface);z-index:2;position:sticky;left:0}table.data th:first-child{background:var(--surface-2);z-index:3}table.data td{text-align:right;border-bottom:1px solid var(--line);white-space:nowrap;padding:7px 12px}table.data tr.year-row{cursor:pointer}table.data tr.year-row:hover td{background:var(--surface-2)}table.data tr.month-row td{background:var(--surface-2);color:var(--ink-2);font-size:12.5px}table.data tr.month-row td:first-child{background:var(--surface-2);padding-left:34px}table.data tr.w-row td{box-shadow:inset 0 2px 0 var(--sun)}.phase-badge{border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}.phase-badge.acc{background:var(--accent-soft);color:var(--accent)}.phase-badge.income{background:var(--sun-soft);color:var(--sun)}.phase-badge.transition{background:linear-gradient(90deg, var(--accent-soft), var(--sun-soft));color:var(--ink-2)}.year-cell{align-items:center;gap:6px;font-weight:650;display:inline-flex}.year-cell svg{width:14px;height:14px;color:var(--muted);transition:transform .15s}.year-cell.open svg{transform:rotate(90deg)}.year-cell small{color:var(--muted);font-weight:500}.neg{color:var(--danger)}.pos{color:var(--good)}.learn{flex-direction:column;gap:12px;display:flex}.learn .section-title p .level{vertical-align:1px}.learn-group{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px;overflow:hidden}.learn-group>summary{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:14px;padding:16px 18px;list-style:none;display:flex}.learn-group>summary::-webkit-details-marker{display:none}.learn-group>summary:hover{background:var(--surface-2)}.lg-icon{background:var(--accent-soft);width:38px;height:38px;color:var(--accent);border-radius:11px;flex:none;place-items:center;display:grid}.lg-icon svg{width:19px;height:19px}.lg-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.lg-title{font-family:var(--font-display);color:var(--ink);font-size:17px;font-weight:650}.lg-title small{font-family:var(--font-body);color:var(--muted);margin-left:6px;font-size:12px;font-weight:600}.lg-teaser{color:var(--ink-2);font-size:13.5px}.lg-teaser b{color:var(--ink)}.lg-chevron{width:18px;height:18px;color:var(--muted);flex:none;transition:transform .2s}.learn-group[open]>summary .lg-chevron{transform:rotate(180deg)}.learn-group[open]>summary{border-bottom:1px solid var(--line)}.learn-grid{background:var(--surface-2);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;padding:14px;display:grid}.learn-card{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);flex-direction:column;gap:10px;min-width:0;padding:16px 16px 14px;display:flex}.learn-card.wide{grid-column:1/-1}.learn-card header{align-items:center;gap:10px;display:flex}.lc-icon{background:var(--surface-3);width:30px;height:30px;color:var(--accent);border-radius:9px;flex:none;place-items:center;display:grid}.lc-icon svg{width:16px;height:16px}.learn-card h4{flex:1;min-width:0;font-size:15.5px;line-height:1.3}.level{letter-spacing:.03em;white-space:nowrap;border-radius:999px;flex:none;padding:2px 8px;font-size:10.5px;font-weight:750}.level.l1{background:var(--leaf-soft);color:var(--leaf)}.level.l2{background:var(--accent-soft);color:var(--accent)}.level.l3{background:var(--sun-soft);color:var(--ink)}.lc-text{flex-direction:column;gap:8px;display:flex}.lc-text p{color:var(--ink-2);font-size:14px;line-height:1.6}.lc-text b{color:var(--ink)}.learn-card .yours{background:var(--surface-2);border-left:3px solid var(--horizon);color:var(--ink);border-radius:10px;margin-top:auto;padding:10px 12px;font-size:13.5px;line-height:1.55}.yours-tag{letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin-bottom:3px;font-size:10.5px;font-weight:750;display:block}.lc-tip{color:var(--muted);border-left:2px solid var(--line-strong);padding-left:10px;font-size:12.5px;line-height:1.5}.lbars{flex-direction:column;gap:7px;margin:2px 0 0;display:flex}.lbar{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:3px 10px;font-size:12.5px;display:grid}.lbar .lbar-track{grid-area:2/1/auto/-1}.learn-card.wide .lbar{grid-template-columns:minmax(0,1fr) minmax(0,2.2fr) auto;gap:10px}.learn-card.wide .lbar .lbar-track{grid-area:auto}.lbar-label{color:var(--ink-2);min-width:0}.lbar-track{background:var(--surface-3);border-radius:999px;height:10px;overflow:hidden}.lbar-track i{border-radius:999px;height:100%;display:block}.lbar-track i.blue{background:var(--c-deposit)}.lbar-track i.leaf{background:var(--c-interest)}.lbar-track i.sun{background:var(--c-income)}.lbar-track i.red{background:var(--c-inflation)}.lbar-track i.ink{background:var(--c-total)}.lbar-track i.muted{background:var(--line-strong)}.lbar b{color:var(--ink);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;font-size:12.5px;font-weight:700}.lbars figcaption{color:var(--muted);font-size:11.5px}@media (max-width:640px){.learn-card.wide .lbar{grid-template-columns:minmax(0,1fr) auto;gap:3px 10px}.learn-card.wide .lbar .lbar-track{grid-area:2/1/auto/-1}.learn-group>summary{padding:14px}.learn-grid{grid-template-columns:minmax(0,1fr);padding:10px}}.formula{font-family:var(--font-mono);background:var(--surface-3);color:var(--ink);white-space:normal;overflow-wrap:anywhere;border-radius:6px;padding:6px 8px;font-size:12px;line-height:1.45}.section-title{scroll-margin-top:calc(var(--header-h) + 16px);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.section-title h2{font-size:22px}.section-title p{color:var(--muted);font-size:13.5px}.help-tip{z-index:200;background:var(--surface);max-width:340px;color:var(--ink);border:1px solid var(--line-strong);box-shadow:var(--shadow-pop);pointer-events:none;border-radius:12px;padding:12px 14px;font-size:13.5px;line-height:1.5;animation:.16s ease-out tip-in;position:fixed}@keyframes tip-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.help-tip .t{font-family:var(--font-display);align-items:center;gap:7px;margin-bottom:4px;font-size:14.5px;font-weight:700;display:flex}.help-tip .t svg{width:15px;height:15px;color:var(--horizon);flex:none}.help-tip .x{background:var(--surface-3);color:var(--ink-2);border-radius:8px;margin-top:8px;padding:7px 9px;font-size:12.5px}.help-tip .x b{color:var(--ink)}.help-tip .f{font-family:var(--font-mono);color:var(--ink-2);margin-top:8px;font-size:11.5px}.help-tip .extra{border-top:1px solid var(--line);color:var(--ink);margin-top:8px;padding-top:8px;font-size:12.5px}.drawer{background:var(--surface);z-index:120;width:min(460px,100vw);box-shadow:var(--shadow-pop);padding-top:env(safe-area-inset-top,0px);flex-direction:column;animation:.22s ease-out drawer-in;display:flex;position:fixed;top:0;bottom:0;right:0}@keyframes drawer-in{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:none}}.drawer-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:16px 18px 12px;display:flex}.drawer-head h2{font-size:19px}.drawer-search{border-bottom:1px solid var(--line);padding:12px 18px}.drawer-body{padding:8px 18px 40px;overflow-y:auto}.gl-group{margin-top:16px}.gl-group h3{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:12px;font-family:var(--font-body);margin-bottom:6px;font-weight:750}.gl-item{border-bottom:1px solid var(--line);padding:10px 0}.gl-item b{font-family:var(--font-display);font-size:15px}.gl-item p{color:var(--ink-2);margin-top:3px;font-size:13.5px;line-height:1.5}.gl-item .x{color:var(--muted);margin-top:4px;font-size:12.5px}.drawer-scrim{z-index:110;background:#050a1466;position:fixed;inset:0}.tour-spot{z-index:150;box-shadow:0 0 0 4px var(--horizon), 0 0 0 9999px #050a1494;pointer-events:none;border-radius:14px;transition:all .3s;position:fixed}.tour-card{z-index:160;background:var(--surface);width:min(360px,100vw - 32px);box-shadow:var(--shadow-pop);border-radius:14px;padding:16px 18px 14px;transition:top .3s,left .3s;position:fixed}.tour-card h4{margin-bottom:6px;font-size:17px}.tour-card p{color:var(--ink-2);font-size:14px;line-height:1.55}.tour-card .foot{justify-content:space-between;align-items:center;gap:8px;margin-top:14px;display:flex}.tour-card .steps{color:var(--muted);font-size:12px;font-weight:650}.toast{left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));z-index:300;background:var(--ink);color:var(--bg);box-shadow:var(--shadow-pop);border-radius:10px;align-items:center;gap:8px;max-width:calc(100vw - 32px);padding:10px 16px;font-size:13.5px;font-weight:600;animation:.2s ease-out tip-in;display:flex;position:fixed;transform:translate(-50%)}.toast svg{flex:none;width:16px;height:16px}.footer{border-top:1px solid var(--line);color:var(--muted);flex-direction:column;gap:6px;padding-top:18px;font-size:12.5px;line-height:1.6;display:flex}.footer strong{color:var(--ink-2)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.tt-h{color:var(--ink-2);border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 10px;margin-bottom:6px;padding-bottom:8px;font-size:12.5px;display:flex}.tt-h b{color:var(--ink);font-size:13.5px;font-weight:750}.tt-h small{color:var(--muted);font-size:12px;font-weight:550}.tt-phase{border-radius:999px;padding:1px 7px;font-size:10.5px;font-style:normal;font-weight:750}.tt-phase.acc{background:var(--accent-soft);color:var(--accent)}.tt-phase.inc{background:var(--sun-soft);color:var(--sun)}.tt-row{color:var(--ink-2);grid-template-columns:14px 1fr auto;align-items:center;gap:8px;font-size:12.5px;line-height:1.75;display:grid}.tt-row b{color:var(--ink);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;font-weight:650}.tt-row.strong{font-size:13.5px}.tt-row.strong b{font-size:14px}.tt-row b small{color:var(--muted);font-weight:500}.tt-row.strong b,.tt-row.strong span{color:var(--ink);font-weight:750}.tt-key{background:var(--c);border-radius:3px;width:10px;height:10px}.tt-key.line{border-radius:2px;width:14px;height:2.5px}.tt-key.dash{border-top:2px dashed var(--c);background:0 0;border-radius:0;width:14px;height:0}.tt-key.none{background:0 0}.tt-note{border-top:1px dashed var(--line);color:var(--muted);margin-top:8px;padding-top:7px;font-size:11.5px}.tt-note b{color:var(--ink-2)}.tt-say{background:var(--surface-3);color:var(--ink-2);border-radius:9px;margin-top:8px;padding:7px 9px;font-size:12px;line-height:1.45}.tt-say b{color:var(--ink)}.welcome{background:var(--sun-soft);border:1px solid color-mix(in srgb, var(--sun) 35%, transparent);color:var(--ink);border-radius:14px;flex-wrap:wrap;align-items:center;gap:12px;padding:10px 12px 10px 14px;font-size:13.5px;display:flex}.welcome>svg{width:20px;height:20px;color:var(--sun);flex:none}.welcome>span{flex:260px;min-width:0}.extra-card{border:1px solid var(--line);background:var(--surface-2);border-radius:12px;flex-direction:column;gap:12px;padding:12px;display:flex}.extra-head{align-items:center;gap:8px;min-width:0;display:flex}.extra-name{min-width:0;font:inherit;color:var(--ink);border-radius:var(--r-sm);background:0 0;border:1px solid #0000;flex:1;margin-left:-6px;padding:4px 6px;font-size:14px;font-weight:750}.extra-name:hover{border-color:var(--line-strong)}.extra-name:focus{border-color:var(--accent);background:var(--surface);outline:none}.extra-when{color:var(--muted);white-space:nowrap;flex:none;font-size:11.5px;font-weight:650}.month-chips{grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;display:grid}.month-chips button{border:1px solid var(--line-strong);background:var(--surface);color:var(--ink-2);border-radius:7px;padding:5px 0;font-size:12px;font-weight:650;transition:background .12s,color .12s,border-color .12s}.month-chips button:hover{border-color:var(--accent)}.month-chips button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
