:root{--bg:#f6f3ee;--bg-2:#efeae2;--surface:#fff;--surface-2:#faf8f4;--text:#191b1f;--muted:#6d7078;--faint:#9a9da4;--border:#e7e1d7;--hair:#efe9e0;--accent:#2f5d8a;--amber:#c98a1b;--amber-bg:#fbf1de;--up:#2f8a57;--up-bg:#e5f3ea;--down:#c2493b;--down-bg:#fbe8e4;--blue:#3a6fd8;--violet:#7a5bd6;--teal:#1f8f8a;--track:#eee9e1;--shadow:0 1px 2px #281e0a0a, 0 8px 24px -12px #281e0a1f;--r:20px;--r-sm:12px;--c-nw:#1f7a5c;--c-fire:#d9701a;--c-cash:#1f9d63;--c-invest:#4b5fd6;--c-inbox:#d6456d;--serif:"Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;--sans:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--display:-apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0f1115;--bg-2:#14171d;--surface:#171a20;--surface-2:#1c2027;--text:#ecebe7;--muted:#9da1a9;--faint:#6f747c;--border:#262b33;--hair:#222730;--accent:#8ab4dc;--amber:#e8ad4a;--amber-bg:#2e2516;--up:#5cc68a;--up-bg:#15291f;--down:#f07a6a;--down-bg:#33191a;--blue:#7ea6f5;--violet:#a993f0;--teal:#4fc6bf;--track:#252a32;--shadow:0 1px 0 #ffffff05 inset, 0 10px 30px -18px #0009;--c-nw:#4fcf9d;--c-fire:#f29a4a;--c-cash:#4fd08f;--c-invest:#8a9bf5;--c-inbox:#f17a9a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#0f1115;--bg-2:#14171d;--surface:#171a20;--surface-2:#1c2027;--text:#ecebe7;--muted:#9da1a9;--faint:#6f747c;--border:#262b33;--hair:#222730;--accent:#8ab4dc;--amber:#e8ad4a;--amber-bg:#2e2516;--up:#5cc68a;--up-bg:#15291f;--down:#f07a6a;--down-bg:#33191a;--blue:#7ea6f5;--violet:#a993f0;--teal:#4fc6bf;--track:#252a32;--shadow:0 1px 0 #ffffff05 inset, 0 10px 30px -18px #0009;--c-nw:#4fcf9d;--c-fire:#f29a4a;--c-cash:#4fd08f;--c-invest:#8a9bf5;--c-inbox:#f17a9a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;font-feature-settings:"tnum" 1, "cv11" 1;margin:0;font-size:15px;line-height:1.5;overflow-x:hidden}button{font:inherit;color:inherit}.muted{color:var(--muted)}.small{font-size:12px}.center{text-align:center}.pos{color:var(--up)}.neg{color:var(--down)}.warn-t{color:var(--amber)}.ic{flex:none;width:18px;height:18px;display:block}.wrap{max-width:1180px;padding-left:max(16px, env(safe-area-inset-left));padding-right:max(16px, env(safe-area-inset-right));margin:0 auto}.topbar{z-index:10;background:color-mix(in srgb, var(--bg) 82%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(14px);backdrop-filter:saturate(1.4)blur(14px);border-bottom:1px solid var(--hair);padding-top:env(safe-area-inset-top);position:sticky;top:0}.topbar .wrap{justify-content:space-between;align-items:center;gap:10px;height:54px;display:flex}.wordmark{font-family:var(--serif);align-items:center;gap:8px;font-size:20px;font-weight:600;display:flex}.wordmark svg{width:22px;height:22px}.actions{align-items:center;gap:2px;display:flex}.tabs{background:var(--bg-2);border-radius:12px;gap:2px;padding:3px;display:flex}.tab{cursor:pointer;color:var(--muted);background:0 0;border:0;border-radius:9px;align-items:center;gap:6px;padding:6px 12px;font-size:14px;font-weight:600;display:inline-flex}.tab .ic{width:16px;height:16px}.tab.on{background:var(--surface);color:var(--text);box-shadow:0 1px 2px #00000014}.tab:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (width<=420px){.tab span{display:none}.tab{padding:6px 10px}}.icon-btn{cursor:pointer;min-width:38px;height:38px;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;padding:0 8px;display:inline-flex}.icon-btn:hover{background:var(--bg-2);color:var(--text)}.icon-btn:focus-visible,.day:focus-visible,summary:focus-visible,.seg-b:focus-visible,.subtab:focus-visible{outline:2px solid var(--accent);outline-offset:2px}main{padding-bottom:calc(48px + env(safe-area-inset-bottom))}main.enter>*{animation:.45s cubic-bezier(.2,.7,.2,1) both rise}main.enter>:nth-child(2){animation-delay:50ms}main.enter>:nth-child(3){animation-delay:.1s}main.enter>:nth-child(4){animation-delay:.15s}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.daybar{align-items:center;gap:6px;margin:14px 0 0;display:flex}.days{scrollbar-width:none;flex-direction:row-reverse;gap:6px;padding:2px;display:flex;overflow-x:auto}.days::-webkit-scrollbar{display:none}.day{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:12px;flex-direction:column;flex:none;justify-content:center;align-items:center;width:46px;height:50px;transition:transform .15s;display:flex;position:relative}.day:hover{transform:translateY(-1px)}.day-wd{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:10px}.day-n{font-family:var(--display);font-size:17px;font-weight:650}.day.full:after{content:"";background:var(--c-nw);border-radius:50%;width:4px;height:4px;position:absolute;bottom:5px}.day.on{background:var(--text);color:var(--bg);border-color:var(--text)}.day.on .day-wd{color:color-mix(in srgb, var(--bg) 70%, transparent)}.day.on.full:after{background:var(--bg)}.hero{margin:18px 0 16px}.hero-kicker{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;font-weight:500;display:flex}.dot-sep{background:var(--faint);border-radius:50%;width:3px;height:3px}.hero-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px 24px;display:flex}.hero-main{min-width:0}.big{font-family:var(--display);letter-spacing:-.03em;margin:4px 0 6px;font-size:clamp(38px,9vw,56px);font-weight:750;line-height:1.05}.fire-hero .big{color:var(--c-fire)}.nw-hero .big{color:var(--text)}.hero-sub{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.hero-note{margin-top:6px}.hero-spark{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.hero-spark .spark{width:220px;height:56px}@media (width<=560px){.hero-spark{display:none}}.chip{white-space:nowrap;background:var(--bg-2);color:var(--muted);border-radius:999px;align-items:center;gap:4px;padding:3px 9px;font-size:12px;font-weight:600;display:inline-flex}.chip .ic{stroke-width:2.4px;width:12px;height:12px}.chip.up,.chip.good{background:var(--up-bg);color:var(--up)}.chip.down{background:var(--down-bg);color:var(--down)}.chip.down .ic{transform:scaleY(-1)}.chip.warn{background:var(--amber-bg);color:var(--amber)}.chip-sub{opacity:.8;font-weight:500}.tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px;display:grid}@media (width>=900px){.tiles{grid-template-columns:repeat(4,minmax(0,1fr))}}.tile{--sec:var(--c-nw);background:var(--surface);border:1px solid var(--border);min-width:0;box-shadow:var(--shadow);border-radius:16px;padding:14px 14px 12px;position:relative;overflow:hidden}.tile:before{content:"";background:var(--sec);border-radius:0 0 3px 3px;width:28px;height:3px;position:absolute;top:0;left:14px}.tile[data-k=invest]{--sec:var(--c-invest)}.tile[data-k=cash]{--sec:var(--c-cash)}.tile[data-k=layers]{--sec:var(--violet)}.tile[data-k=fire]{--sec:var(--c-fire)}.tile-l{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-top:4px;font-size:11px;font-weight:600}.tile-v{font-family:var(--display);letter-spacing:-.02em;white-space:nowrap;text-overflow:ellipsis;margin:2px 0 6px;font-size:clamp(20px,5.4vw,26px);font-weight:700;overflow:hidden}.tile-row{justify-content:space-between;align-items:center;gap:6px;min-height:24px;display:flex}.tile-row .spark{flex:none;width:90px;height:28px}.tile-row .chip{min-width:0;overflow:hidden}.tile-sub{color:var(--muted);margin-top:6px;font-size:12px;line-height:1.35}@media (width<=560px){.tile-row .spark{display:none}.tile-sub{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}}.grid{grid-template-columns:1fr;gap:14px;display:grid}@media (width>=720px){.grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:dense}.span-7,.span-12{grid-column:span 2}}@media (width>=1040px){.grid{grid-template-columns:repeat(12,minmax(0,1fr))}.span-7{grid-column:span 7}.span-5{grid-column:span 5}.span-6{grid-column:span 6}.span-4{grid-column:span 4}.span-12{grid-column:span 12}}.card{--sec:var(--c-nw);background:linear-gradient(180deg, color-mix(in srgb, var(--sec) 7%, var(--surface)) 0, var(--surface) 140px);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow);min-width:0;padding:18px 18px 16px;position:relative;overflow:hidden}.card:before{content:"";background:linear-gradient(90deg, var(--sec), color-mix(in srgb, var(--sec) 20%, transparent));height:3px;position:absolute;top:0;left:0;right:0}.card[data-key=nw]{--sec:var(--c-nw)}.card[data-key=fire]{--sec:var(--c-fire)}.card[data-key=cash]{--sec:var(--c-cash)}.card[data-key=invest]{--sec:var(--c-invest)}.card-head{align-items:center;gap:10px;margin-bottom:14px;display:flex}.card-head h2{text-transform:uppercase;letter-spacing:.07em;color:var(--text);opacity:.75;margin:0;font-size:13px;font-weight:650}.card-ico{background:color-mix(in srgb, var(--sec) 16%, transparent);width:28px;height:28px;color:var(--sec);border-radius:9px;flex:none;place-items:center;display:grid}.card-ico .ic{width:16px;height:16px}.card-aside{margin-left:auto}.card p{margin:10px 0 0}.empty{color:var(--muted);text-align:center;padding:24px 0}.donut-wrap{flex-wrap:wrap;align-items:center;gap:14px 22px;display:flex}.donut{flex:none;width:180px;height:180px;margin:0 auto}.donut-v{font-family:var(--display);fill:var(--text);letter-spacing:-.02em;font-size:26px;font-weight:700}.donut-l{fill:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:11px}.legend{flex-wrap:wrap;flex:1;gap:6px 14px;min-width:160px;margin-top:10px;display:flex}.lg{color:var(--muted);align-items:center;gap:6px;font-size:13px;display:inline-flex}.lg i{border-radius:3px;width:10px;height:10px;display:inline-block}.lg b{color:var(--text);font-weight:600}.hbars{gap:8px;display:grid}.hbar{grid-template-columns:minmax(70px,1.2fr) 3fr minmax(60px,auto);align-items:center;gap:10px;font-size:13px;display:grid}.hbar-l{flex-direction:column;min-width:0;display:flex}.hbar-l span:first-child{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.hbar-sub{color:var(--muted);font-size:11px}.hbar-track{background:var(--track);border-radius:999px;height:10px;overflow:hidden}.hbar-fill{border-radius:999px;height:100%;transition:width .5s}.hbar-v{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:600}svg.line{width:100%;height:auto;display:block}svg.line .grid{stroke:var(--hair)}svg.line .tick{fill:var(--muted);font-size:11px}svg.line .ref{font-size:10.5px;font-weight:600}.spark{display:block}.table-wrap{border:1px solid var(--border);-webkit-overflow-scrolling:touch;border-radius:10px;margin:0;overflow-x:auto}.table-wrap+.table-wrap,.table-wrap+p,p+.table-wrap{margin-top:10px}table.t,.md table{border-collapse:collapse;width:100%;font-size:13.5px}table.t th,table.t td,.md th,.md td{border-bottom:1px solid var(--hair);text-align:left;white-space:nowrap;vertical-align:top;padding:7px 10px}table.t tr:last-child td,.md tr:last-child td{border-bottom:0}table.t th,.md th{color:var(--muted);background:var(--surface-2);text-transform:uppercase;letter-spacing:.05em;font-size:11.5px;font-weight:600;position:sticky;top:0}table.t .r,.md .r{text-align:right;font-variant-numeric:tabular-nums}table.t td.note{white-space:normal;min-width:180px;max-width:320px;color:var(--muted);font-size:12.5px}table.t tr.total td{border-top:2px solid var(--border);background:var(--surface-2);font-weight:700}table.t tr.hl td{background:color-mix(in srgb, var(--sec) 7%, transparent);font-weight:600}.flag{background:var(--amber-bg);width:15px;height:15px;color:var(--amber);border-radius:50%;place-items:center;font-size:10px;font-weight:800;display:inline-grid}.kind{background:var(--bg-2);color:var(--muted);text-transform:uppercase;letter-spacing:.04em;vertical-align:middle;border-radius:999px;margin-left:4px;padding:1px 6px;font-size:10.5px;font-weight:600;display:inline-block}.kind-transfer{background:color-mix(in srgb, var(--c-invest) 15%, transparent);color:var(--c-invest)}.kind-inflow{background:var(--up-bg);color:var(--up)}.kind-spend{background:var(--amber-bg);color:var(--amber)}.kind-unexplained{background:var(--down-bg);color:var(--down)}details.drawer{border-top:1px solid var(--hair)}details.drawer:first-of-type{border-top:0}details.drawer summary{cursor:pointer;align-items:center;gap:8px;padding:11px 0;font-size:14px;font-weight:600;list-style:none;display:flex}details.drawer summary::-webkit-details-marker{display:none}.chev{color:var(--muted);width:16px;height:16px;margin-left:auto;transition:transform .2s}details[open]>summary .chev{transform:rotate(180deg)}.drawer-body{padding:0 0 14px}.drawer-body p{margin-top:8px}.fx{margin-top:10px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}@media (width>=560px){.metrics{grid-template-columns:repeat(4,minmax(0,1fr))}}.metric{background:var(--surface-2);border:1px solid var(--hair);border-radius:12px;min-width:0;padding:10px 12px}.metric-l{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:600}.metric-v{font-family:var(--display);letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;margin:2px 0;font-size:20px;font-weight:700;overflow:hidden}.metric-s{color:var(--muted);font-size:11.5px;line-height:1.3}.metric.warn{border-color:color-mix(in srgb, var(--amber) 45%, var(--border));background:var(--amber-bg)}.metric.warn .metric-v{color:var(--amber)}.metric.good .metric-v{color:var(--up)}.metric.neg .metric-v{color:var(--down)}.recs{gap:8px;display:grid}.rec{border:1px solid var(--border);background:var(--surface-2);border-radius:12px;padding:0 12px}.rec summary{cursor:pointer;align-items:center;gap:10px;padding:10px 0;font-size:14px;font-weight:600;list-style:none;display:flex}.rec summary::-webkit-details-marker{display:none}.rec-t{flex:1;min-width:0}.rec p{color:var(--muted);margin:0 0 12px;font-size:13.5px}.rec-p{text-transform:uppercase;letter-spacing:.06em;background:var(--bg-2);color:var(--muted);border-radius:999px;flex:none;padding:2px 7px;font-size:10.5px;font-weight:700}.rec-critical .rec-p{background:var(--down-bg);color:var(--down)}.rec-action .rec-p{background:var(--amber-bg);color:var(--amber)}.rec-monitor .rec-p{background:color-mix(in srgb, var(--c-invest) 15%, transparent);color:var(--c-invest)}.rec-hold .rec-p{background:var(--up-bg);color:var(--up)}.controls{grid-template-columns:1fr;gap:10px;margin:0 0 14px;display:grid}@media (width>=720px){.controls{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1040px){.controls{grid-template-columns:1.45fr 1.1fr .7fr 1fr}}.ctrl label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px;font-size:11px;font-weight:600;display:block}.seg{background:var(--bg-2);border-radius:12px;gap:3px;padding:3px;display:flex}.seg-b{min-width:0;color:var(--muted);cursor:pointer;white-space:nowrap;letter-spacing:-.01em;background:0 0;border:0;border-radius:9px;flex:1;padding:8px 4px;font-size:13px;font-weight:600}@media (width>=1040px) and (width<=1200px){.seg-b{font-size:12.5px}}.seg-b.on{background:var(--surface);color:var(--text);box-shadow:0 1px 2px #00000014}.fire-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px;display:grid}@media (width>=720px){.fire-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=1040px){.fire-cards{grid-template-columns:repeat(6,minmax(0,1fr))}}.fc{background:var(--surface);border:1px solid var(--border);min-width:0;box-shadow:var(--shadow);background:linear-gradient(180deg, color-mix(in srgb, var(--tc) 10%, var(--surface)) 0, var(--surface) 80px);border-radius:16px;padding:14px 14px 12px}.fc-head{justify-content:space-between;align-items:center;gap:6px;display:flex}.fc-name{color:var(--tc);font-size:14px;font-weight:700}.fc-target{font-family:var(--display);letter-spacing:-.02em;white-space:nowrap;margin:6px 0 8px;font-size:clamp(22px,5.5vw,28px);font-weight:750}.fc-bar{background:var(--track);border-radius:999px;height:6px;overflow:hidden}.fc-bar i{background:var(--tc);border-radius:999px;height:100%;transition:width .5s;display:block}.fc-sub{margin-top:8px;font-size:12.5px;font-weight:600}.fc-dt{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:11.5px;overflow:hidden}.badge{white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}.badge.bg{background:var(--up-bg);color:var(--up)}.badge.by{background:var(--amber-bg);color:var(--amber)}.badge.bb{background:color-mix(in srgb, var(--c-invest) 15%, transparent);color:var(--c-invest)}.badge.br{background:var(--down-bg);color:var(--down)}.panel{padding-top:12px}.subtabs{scrollbar-width:none;border-bottom:1px solid var(--hair);gap:4px;margin:0 -18px;padding:0 18px 10px;display:flex;overflow-x:auto}.subtabs::-webkit-scrollbar{display:none}.subtab{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;flex:none;padding:7px 12px;font-size:13.5px;font-weight:600}.subtab.on{background:color-mix(in srgb, var(--sec) 16%, transparent);color:var(--sec)}.panel-body{padding-top:12px}.sub-h{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:16px 0 8px;font-size:13px;font-weight:650}.sub-h:first-child{margin-top:2px}.info{background:var(--surface-2);border:1px solid var(--hair);color:var(--muted);border-radius:12px;margin-top:10px;padding:10px 12px;font-size:13.5px}.info b{color:var(--text)}.note-grid{grid-template-columns:1fr;gap:10px;margin-top:12px;display:grid}@media (width>=720px){.note-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1040px){.note-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.note-card{background:var(--surface-2);border:1px solid var(--hair);border-radius:12px;min-width:0;padding:12px 14px}.note-card h4{margin:0 0 6px;font-size:14px}.note-card p{margin:0 0 6px;font-size:13.5px}.note-card ul{color:var(--muted);margin:0;padding-left:16px;font-size:13px}.note-card li{margin-bottom:3px}details.check{margin-top:14px}details.check summary{cursor:pointer;list-style:none}details.check summary::-webkit-details-marker{display:none}details.check summary .card-head{margin-bottom:0}details.check summary .chev{margin-left:8px}details.check[open] summary .card-head{margin-bottom:10px}.highlights{flex-wrap:wrap;gap:6px;margin:10px 0 0;padding:0;list-style:none;display:flex}.highlights li{background:var(--surface-2);border:1px solid var(--hair);border-radius:999px;padding:3px 10px;font-size:12.5px}.md{margin-top:12px;font-size:14px}.md h1{margin:0 0 8px;font-size:18px}.md h2{margin:14px 0 6px;font-size:15px}.md p,.md ul{margin:6px 0}.md table{margin:0}.disclaimer{margin-top:18px}.center-state{text-align:center;color:var(--muted);padding:80px 16px}.error-state{color:var(--down)}.signin-page{min-height:100dvh;padding:calc(24px + env(safe-area-inset-top)) 16px calc(24px + env(safe-area-inset-bottom));justify-content:center;align-items:center;display:flex}.signin-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;width:100%;max-width:360px;padding:28px 24px 24px}.signin-card .wordmark{margin-bottom:4px;font-size:26px}.signin-card .wordmark svg{width:26px;height:26px}.signin-sub{color:var(--muted);margin:0 0 22px;font-size:14px}.field{margin-bottom:14px;display:block}.field span{color:var(--muted);margin-bottom:5px;font-size:13px;display:block}.field input{width:100%;font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:9px;padding:11px 12px;font-size:16px}.field input:focus{border-color:var(--accent);outline:none}.primary-btn{background:var(--text);width:100%;color:var(--bg);cursor:pointer;border:0;border-radius:9px;margin-top:6px;padding:12px;font-size:16px;font-weight:600}.primary-btn:disabled{opacity:.6;cursor:default}.form-error{color:var(--amber);min-height:1em;margin:12px 0 0;font-size:14px}.form-error:empty{display:none}.signin-theme{top:calc(8px + env(safe-area-inset-top));right:max(8px, env(safe-area-inset-right));position:fixed}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
