:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:var(--tg-theme-secondary-bg-color,#f1f1f5);--surface:var(--tg-theme-bg-color,#fff);--surface-sunken:color-mix(in srgb, var(--bg) 70%, var(--surface));--ink:var(--tg-theme-text-color,#16161a);--ink-2:var(--tg-theme-subtitle-text-color,#6b6b76);--ink-3:var(--tg-theme-hint-color,#9a9aa4);--accent:var(--tg-theme-button-color,#2a78d6);--accent-ink:var(--tg-theme-button-text-color,#fff);--link:var(--tg-theme-link-color,#2a78d6);--danger:var(--tg-theme-destructive-text-color,#e34948);--positive:#1b9e6f;--warning:#d98500;--hairline:color-mix(in srgb, var(--ink) 10%, transparent);--mark-neutral:color-mix(in srgb, var(--ink) 22%, transparent);--track:color-mix(in srgb, var(--ink) 8%, transparent);--series-1:#2a78d6;--series-2:#eb6834;--series-3:#1baf7a;--series-4:#eda100;--series-5:#e87ba4;--series-6:#008300;--series-7:#6250d6;--series-8:#e34948;--pad:16px;--gap:10px;--radius:20px;--radius-sm:12px;--pill:999px;--shadow:0 1px 2px #0000000a, 0 10px 30px -12px #00000024;--ease:cubic-bezier(.22, .61, .36, 1)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:var(--tg-theme-secondary-bg-color,#0e0e10);--surface:var(--tg-theme-bg-color,#1c1c1d);--ink:var(--tg-theme-text-color,#f2f2f4);--ink-2:var(--tg-theme-subtitle-text-color,#a0a0ad);--ink-3:var(--tg-theme-hint-color,#78787f);--hairline:#ffffff1f;--mark-neutral:#ffffff42;--track:#ffffff1a;--series-1:#3987e5;--series-2:#d95926;--series-3:#199e70;--series-4:#c98500;--series-5:#d55181;--series-6:#008300;--series-7:#9085e9;--series-8:#e66767;--positive:#39b98a;--warning:#e0a030;--shadow:0 1px 2px #0006}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:var(--tg-theme-secondary-bg-color,#0e0e10);--surface:var(--tg-theme-bg-color,#1c1c1d);--ink:var(--tg-theme-text-color,#f2f2f4);--ink-2:var(--tg-theme-subtitle-text-color,#a0a0ad);--ink-3:var(--tg-theme-hint-color,#78787f);--hairline:#ffffff1f;--mark-neutral:#ffffff42;--track:#ffffff1a;--series-1:#3987e5;--series-2:#d95926;--series-3:#199e70;--series-4:#c98500;--series-5:#d55181;--series-6:#008300;--series-7:#9085e9;--series-8:#e66767;--positive:#39b98a;--warning:#e0a030;--shadow:0 1px 2px #0006}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-family:Golos Text,ui-sans-serif,system-ui,-apple-system,sans-serif;font-size:15px;line-height:1.45}button{font:inherit;color:inherit}.screen{min-height:100vh;padding:0 var(--pad) calc(96px + env(safe-area-inset-bottom));max-width:560px;margin:0 auto}.stack{gap:var(--gap);flex-direction:column;display:flex}.reveal>*{animation:rise .42s var(--ease) both}.reveal>:first-child{animation-delay:20ms}.reveal>:nth-child(2){animation-delay:70ms}.reveal>:nth-child(3){animation-delay:.12s}.reveal>:nth-child(4){animation-delay:.17s}.reveal>:nth-child(n+5){animation-delay:.22s}@keyframes rise{0%{opacity:0;transform:translateY(10px)}}@media (prefers-reduced-motion:reduce){.reveal>*,.bar__fill,.meter__fill{transition:none!important;animation:none!important}}.card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:var(--pad)}.card--flush{padding:0;overflow:hidden}.section-title{letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);margin:18px 4px 8px;font-size:12px;font-weight:600}.caption{color:var(--ink-3);font-size:13px}.hero{padding:26px var(--pad) 22px;text-align:center}.hero__label{color:var(--ink-3);font-size:13px;font-weight:500}.hero__value{letter-spacing:-.035em;margin:8px 0 6px;font-size:clamp(42px,13vw,54px);font-weight:600;line-height:1.05}.hero__value--negative{color:var(--danger)}.hero__meta{color:var(--ink-2);font-size:14px}.hero__ruler{max-width:280px;color:var(--ink-3);align-items:center;gap:8px;margin:16px auto 0;font-size:12px;display:flex}.row{padding:12px var(--pad);text-align:left;background:0 0;border:0;align-items:center;gap:12px;width:100%;display:flex}.row+.row{border-top:1px solid var(--hairline)}.row--tappable{cursor:pointer;transition:background .15s var(--ease)}.row--tappable:active{background:var(--surface-sunken)}.row__body{flex:1;gap:1px;min-width:0;display:grid}.row__title{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.row__subtitle{color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.row__value{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:500}.row__value--income{color:var(--positive)}.emoji{border-radius:var(--pill);background:var(--surface-sunken);flex:none;place-items:center;width:34px;height:34px;font-size:17px;display:grid}.segmented{background:var(--track);border-radius:var(--pill);gap:2px;margin:12px 0 4px;padding:3px;display:flex}.segmented__item{border-radius:var(--pill);color:var(--ink-2);cursor:pointer;transition:background .18s var(--ease), color .18s var(--ease);background:0 0;border:0;flex:1;padding:8px 10px;font-size:14px;font-weight:500}.segmented__item[aria-selected=true]{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px #0000001a}.btn{border-radius:var(--pill);background:var(--accent);color:var(--accent-ink);cursor:pointer;transition:transform .12s var(--ease);border:0;padding:10px 16px;font-size:14px;font-weight:600}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.5;cursor:default}.btn--quiet{background:var(--track);color:var(--ink)}.btn--danger{background:color-mix(in srgb, var(--danger) 14%, transparent);color:var(--danger)}.field{border:1px solid var(--hairline);border-radius:var(--radius-sm);background:var(--surface);width:100%;color:var(--ink);padding:10px 12px;font-size:15px}.field:focus{outline:2px solid color-mix(in srgb, var(--accent) 45%, transparent);outline-offset:-1px}.actions{padding:12px var(--pad);flex-wrap:wrap;align-items:center;gap:8px;display:flex}.tabbar{padding:6px 10px calc(6px + env(safe-area-inset-bottom));background:color-mix(in srgb, var(--surface) 86%, transparent);-webkit-backdrop-filter:saturate(180%)blur(20px);backdrop-filter:saturate(180%)blur(20px);border-top:1px solid var(--hairline);z-index:10;gap:4px;display:flex;position:fixed;bottom:0;left:0;right:0}.tabbar__item{border-radius:var(--radius-sm);letter-spacing:.02em;color:var(--ink-3);cursor:pointer;transition:color .18s var(--ease);background:0 0;border:0;flex:1;justify-items:center;gap:3px;padding:7px 0 5px;font-size:10px;font-weight:600;display:grid}.tabbar__item[aria-current=page]{color:var(--accent)}.tabbar__icon{width:22px;height:22px;display:block}.skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg, var(--track) 25%, color-mix(in srgb, var(--ink) 4%, transparent) 37%, var(--track) 63%);background-size:400% 100%;animation:1.3s ease-in-out infinite shimmer}@keyframes shimmer{0%{background-position:100% 0}to{background-position:0 0}}.empty{text-align:center;color:var(--ink-3);padding:42px 24px;font-size:14px}.empty__mark{margin-bottom:10px;font-size:30px}.notice{margin:var(--gap) 0;padding:12px var(--pad);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--danger) 12%, transparent);color:var(--danger);font-size:14px}.segbar{gap:2px;height:10px;margin:2px 0 14px;display:flex}.segbar__part{border-radius:var(--pill);min-width:3px;transition:opacity .2s var(--ease)}.segbar--muted .segbar__part{opacity:.35}.segbar__part--active{opacity:1}.meter{border-radius:var(--pill);height:8px;margin:8px 0 6px;overflow:hidden}.meter__fill{border-radius:var(--pill);height:100%;transition:width .5s var(--ease)}.meter__legend{font-variant-numeric:tabular-nums;color:var(--ink-3);justify-content:space-between;gap:8px;font-size:12px;display:flex}.meter__legend--over{color:var(--danger)}.ranked{flex-direction:column;gap:14px;padding:4px 0;display:flex}.ranked__head{align-items:baseline;gap:8px;font-size:14px;display:flex}.ranked__name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.ranked__value{font-variant-numeric:tabular-nums;color:var(--ink-2)}.ranked__track{background:var(--track);border-radius:0 var(--pill) var(--pill) 0;height:8px;margin-top:5px}.ranked__fill{height:100%;transition:width .5s var(--ease);border-radius:0 4px 4px 0}.columns{padding-top:6px;position:relative}.columns__grid{pointer-events:none;flex-direction:column;justify-content:space-between;display:flex;position:absolute;inset:6px 0 24px}.columns__gridline{background:var(--hairline);height:1px}.columns__plot{align-items:flex-end;gap:4px;height:132px;display:flex;position:relative}.columns__month{cursor:pointer;border-radius:var(--radius-sm);transition:background .18s var(--ease);background:0 0;border:0;flex-direction:column;flex:1;align-items:center;gap:6px;padding:0;display:flex}.columns__month[aria-selected=true]{background:var(--surface-sunken)}.columns__pair{justify-content:center;align-items:flex-end;gap:2px;width:100%;height:108px;display:flex}.columns__bar{width:100%;max-width:14px;min-height:2px;transition:height .5s var(--ease);border-radius:4px 4px 0 0}.columns__label{color:var(--ink-3);white-space:nowrap;font-size:11px}.columns__axis{font-variant-numeric:tabular-nums;color:var(--ink-3);justify-content:space-between;margin-bottom:2px;font-size:11px;display:flex}.legend{color:var(--ink-2);flex-wrap:wrap;gap:6px 14px;font-size:13px;display:flex}.legend__item{align-items:center;gap:6px;display:inline-flex}.swatch{border-radius:3px;flex:none;width:10px;height:10px}.swatch--dot{border-radius:var(--pill)}.pace{border-top:1px solid var(--hairline);text-align:left;gap:8px;margin-top:18px;padding-top:16px;display:grid}.pace__row{color:var(--ink-3);grid-template-columns:1fr auto;align-items:center;gap:10px;font-size:12px;display:grid}.pace__track{border-radius:var(--pill);background:var(--track);grid-column:1/-1;height:6px;margin-top:-2px}.pace__fill{border-radius:var(--pill);height:100%;transition:width .6s var(--ease)}.pace__value{font-variant-numeric:tabular-nums;color:var(--ink-2)}.stats{border-top:1px solid var(--hairline);grid-template-columns:repeat(3,1fr);margin-top:18px;padding-top:16px;display:grid}.stats__cell{text-align:center;padding:0 4px}.stats__cell+.stats__cell{border-left:1px solid var(--hairline)}.stats__label{color:var(--ink-3);letter-spacing:.02em;font-size:11px}.stats__value{font-variant-numeric:tabular-nums;margin-top:2px;font-size:15px;font-weight:600}
