@import "https://fonts.googleapis.com/css2?family=Onest:wght@400;500;600&family=Unbounded:wght@500;700&display=swap";:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#0e0f11;--color-surface:#17191c;--color-surface-2:#202328;--color-line:#2a2d33;--color-text:#eceae4;--color-muted:#8a8d93;--color-income:#7fb89a;--color-expense:#e8846b;--color-transfer:#8fa8c8;--color-accent:#e8c77b;--color-on-accent:#17140c;--color-danger:#e0675a;--color-scrim:#0000008c;--color-expense-fill:color-mix(in oklab, var(--color-expense) 14%, var(--color-surface));--color-income-fill:color-mix(in oklab, var(--color-income) 12%, var(--color-surface));--cat-1:#c97152;--cat-2:#297cae;--cat-3:#af8e2a;--cat-4:#875093;--cat-5:#44a781;--cat-6:#a03e43;--cat-7:#33a3b4;--cat-8:#597b31;--cat-9:#8678c9;--cat-10:#ad7130;--font-display:"Unbounded", "Arial Black", sans-serif;--font-body:"Onest", -apple-system, "Segoe UI", sans-serif;--text-xs:.75rem;--text-sm:.875rem;--text-md:1rem;--text-lg:1.25rem;--text-xl:1.75rem;--text-2xl:2.5rem;--text-3xl:3.25rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4rem;--radius-sm:.625rem;--radius-md:1.125rem;--radius-lg:1.75rem;--radius-full:999px;--tap:2.75rem;--app-max:30rem;--tabbar-h:4.5rem;--gutter:var(--space-4);--shadow-raise:0 .5rem 1.5rem #00000073;--ease-out:cubic-bezier(.22, 1, .36, 1)}@media (width>=480px){:root{--gutter:var(--space-5)}}*,:before,:after{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:var(--text-md);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none;line-height:1.4}#app{min-height:100dvh}h1,h2,h3,.display{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-weight:500}.num{font-variant-numeric:tabular-nums}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;background:0 0;border:0;padding:0}input,textarea,select{font:inherit;font-size:max(16px, var(--text-md));color:inherit}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.muted{color:var(--color-muted)}.visually-hidden{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.field{gap:var(--space-2);display:grid}.field>span{font-size:var(--text-sm);color:var(--color-muted)}.field input,.field select,.field textarea{min-height:calc(var(--tap) + var(--space-2));padding:var(--space-3) var(--space-4);background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-sm);transition:border-color .2s}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--color-accent);outline:none}.btn{min-height:calc(var(--tap) + var(--space-2));padding-inline:var(--space-5);border-radius:var(--radius-sm);justify-content:center;align-items:center;gap:var(--space-2);background:var(--color-surface-2);border:1px solid var(--color-line);transition:transform .15s var(--ease-out), opacity .2s, background .2s;font-weight:600;display:inline-flex}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.4;pointer-events:none}.btn--accent{background:var(--color-accent);color:var(--color-on-accent);border-color:#0000}.btn--ghost{color:var(--color-muted);background:0 0;border-color:#0000}.icon-btn{width:var(--tap);height:var(--tap);border-radius:var(--radius-full);color:var(--color-muted);place-items:center;display:grid}.icon-btn:active{background:var(--color-surface-2)}@keyframes fade-in{0%{opacity:0}}.tabbar{z-index:40;width:100%;max-width:var(--app-max);height:calc(var(--tabbar-h) + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);background:color-mix(in oklab, var(--color-bg) 82%, transparent);-webkit-backdrop-filter:blur(14px)saturate(1.2);backdrop-filter:blur(14px)saturate(1.2);border-top:1px solid var(--color-line);grid-template-columns:1fr 1fr 1fr;align-items:end;display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.tabbar__btn{height:var(--tabbar-h);justify-content:center;align-items:center;gap:var(--space-1);color:var(--color-muted);transition:color .25s var(--ease-out);flex-direction:column;display:flex}.tabbar__btn[aria-current=page]{color:var(--color-text)}.tabbar__label{font-size:var(--text-xs);letter-spacing:.02em}.tabbar__home{border-radius:var(--radius-full);background:var(--color-surface-2);width:3.75rem;height:3.75rem;color:var(--color-text);border:1px solid var(--color-line);box-shadow:var(--shadow-raise);transition:background .3s var(--ease-out), color .3s var(--ease-out), transform .3s var(--ease-out);place-items:center;display:grid;transform:translateY(-1.1rem)}.tabbar__btn--home[aria-current=page] .tabbar__home{background:var(--color-accent);color:var(--color-on-accent);border-color:#0000}.tabbar__btn--home:active .tabbar__home{transform:translateY(-1.1rem)scale(.94)}.tabbar__dot{top:var(--space-2);width:33.3333%;transform:translateX(calc(var(--i) * 100%));transition:transform .45s var(--ease-out), opacity .2s;pointer-events:none;justify-content:center;display:flex;position:absolute;left:0}.tabbar__dot:before{content:"";border-radius:var(--radius-full);background:var(--color-accent);width:1.25rem;height:.2rem}.tabbar__dot[data-hidden=true]{opacity:0}@media (prefers-reduced-motion:reduce){.tabbar__dot,.tabbar__home{transition:opacity .2s}}.toasts{z-index:60;left:50%;bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom,0px) + var(--space-3));width:min(calc(100% - 2 * var(--gutter)), calc(var(--app-max) - 2 * var(--gutter)));gap:var(--space-2);pointer-events:none;display:grid;position:fixed;transform:translate(-50%)}.toast{pointer-events:auto;justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-surface-2);border:1px solid var(--color-line);box-shadow:var(--shadow-raise);animation:toast-in .32s var(--ease-out);display:flex}.toast__action{color:var(--color-accent);min-height:var(--tap);padding-inline:var(--space-2);font-weight:600}@keyframes toast-in{0%{opacity:0;transform:translateY(.75rem)scale(.98)}}@media (prefers-reduced-motion:reduce){.toast{animation-name:fade-in}}.login{justify-content:center;gap:var(--space-2);min-height:100dvh;padding-block:var(--space-7);flex-direction:column;display:flex}.login__mark{border-radius:var(--radius-md);width:3.5rem;height:3.5rem;font-family:var(--font-display);font-size:var(--text-xl);background:var(--color-accent);color:var(--color-on-accent);margin-bottom:var(--space-5);animation:rise .6s var(--ease-out) both;place-items:center;font-weight:700;display:grid}.login__title{font-size:var(--text-3xl);animation:rise .6s 60ms var(--ease-out) both;font-weight:700}.login__sub{margin:0 0 var(--space-6);animation:rise .6s .12s var(--ease-out) both}.login__form{gap:var(--space-4);animation:rise .6s .18s var(--ease-out) both;display:grid}.login__error{color:var(--color-danger);margin:0}@keyframes rise{0%{opacity:0;transform:translateY(1rem)}}@media (prefers-reduced-motion:reduce){.login *{animation-name:fade-in!important}}.login--embedded{min-height:0;padding-block:var(--space-2) var(--space-4)}.login--embedded .login__title{font-size:var(--text-xl)}.login--embedded .login__sub{margin-bottom:var(--space-4)}.sheet{z-index:50;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet__scrim{background:var(--color-scrim);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);position:absolute;inset:0}.sheet__panel{width:100%;max-width:var(--app-max);background:var(--color-surface);border-radius:var(--radius-lg) var(--radius-lg) 0 0;border-top:1px solid var(--color-line);max-height:94dvh;padding:0 var(--gutter) calc(var(--space-4) + env(safe-area-inset-bottom,0px));overscroll-behavior:contain;position:relative;overflow-y:auto}.sheet__grab{padding-block:var(--space-3);cursor:grab;touch-action:none;justify-content:center;display:flex}.sheet__grab span{border-radius:var(--radius-full);background:var(--color-line);width:2.5rem;height:.3rem}.numpad{gap:var(--space-2);grid-template-columns:repeat(4,1fr);display:grid}.numpad__k{border-radius:var(--radius-sm);background:var(--color-surface-2);min-height:3.25rem;font-family:var(--font-display);font-size:var(--text-lg);transition:transform .12s var(--ease-out), background .15s;-webkit-user-select:none;user-select:none;place-items:center;font-weight:500;display:grid}.numpad__k:active{background:var(--color-line);transform:scale(.94)}.numpad__k--fn{color:var(--color-muted);border:1px solid var(--color-line);background:0 0}.numpad__k--zero{grid-column:span 2}.numpad__action{grid-area:3/4/span 2;display:grid}.numpad__action>*{height:100%}@media (width<=360px){.numpad__k{min-height:2.9rem}}.entry{--tone:var(--color-expense);gap:var(--space-3);display:grid}.entry--income{--tone:var(--color-income)}.entry__head{align-items:center;gap:var(--space-1);display:flex}.entry__title{font-size:var(--text-lg);color:var(--tone);flex:1}.entry__amount{align-items:baseline;gap:var(--space-2);min-height:3.5rem;font-family:var(--font-display);font-weight:500;font-size:var(--text-2xl);letter-spacing:-.02em;white-space:nowrap;scrollbar-width:none;display:flex;overflow-x:auto}.entry__sign{color:var(--tone)}.entry__rub{color:var(--color-muted);font-size:var(--text-xl)}.entry__sum{margin:calc(-1 * var(--space-3)) 0 0;color:var(--color-muted)}@media (width<=360px){.entry__amount{font-size:var(--text-xl)}}.entry__cats{gap:var(--space-2);grid-template-columns:repeat(4,1fr);display:grid}.cat-chip{--c:var(--color-muted);justify-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-1);border-radius:var(--radius-sm);min-width:0;min-height:3.9rem;transition:background .2s, border-color .2s, transform .12s var(--ease-out);border:1px solid #0000;display:grid}.cat-chip:active{transform:scale(.95)}.cat-chip__icon{border-radius:var(--radius-full);width:2.25rem;height:2.25rem;color:var(--c);background:color-mix(in oklab, var(--c) 16%, transparent);place-items:center;transition:background .2s,color .2s;display:grid}.cat-chip__name{max-width:100%;color:var(--color-muted);text-align:center;white-space:nowrap;text-overflow:ellipsis;font-size:.6875rem;line-height:1.2;overflow:hidden}.cat-chip[aria-pressed=true]{background:color-mix(in oklab, var(--c) 10%, var(--color-surface-2));border-color:color-mix(in oklab, var(--c) 55%, transparent)}.cat-chip[aria-pressed=true] .cat-chip__icon{background:var(--c);color:var(--color-bg)}.cat-chip[aria-pressed=true] .cat-chip__name{color:var(--color-text)}.cat-chip--more{border:1px dashed var(--color-line);align-content:center}.cat-chip--more .cat-chip__name{font-size:var(--text-xs)}.entry__meta{gap:var(--space-2);scrollbar-width:none;margin-inline:calc(-1 * var(--gutter));padding-inline:var(--gutter);display:flex;overflow-x:auto}.entry__meta::-webkit-scrollbar{display:none}.meta-chip{align-items:center;gap:var(--space-2);white-space:nowrap;min-height:var(--tap);padding-inline:var(--space-3);border-radius:var(--radius-full);background:var(--color-surface-2);color:var(--color-muted);font-size:var(--text-sm);flex:none;display:inline-flex;position:relative}.meta-chip input[type=date]::-webkit-calendar-picker-indicator{display:none}.meta-chip select,.meta-chip input{color:var(--color-text);appearance:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:0 0;border:0;min-width:0;padding:0;font-size:16px}.meta-chip select:focus,.meta-chip input:focus{outline:none}.meta-chip:focus-within{outline:2px solid var(--color-accent);outline-offset:2px}.entry__note{gap:var(--space-2);display:grid}.entry__note-input{min-height:var(--tap);padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);background:var(--color-surface-2);border:1px solid var(--color-line)}.entry__note-input:focus{border-color:var(--color-accent);outline:none}.entry__suggest{gap:var(--space-2);scrollbar-width:none;display:flex;overflow-x:auto}.suggest-pill{min-height:2.25rem;padding-inline:var(--space-3);border-radius:var(--radius-full);border:1px solid var(--color-line);color:var(--color-muted);font-size:var(--text-sm);flex:none}.entry__save{border-radius:var(--radius-sm);background:var(--tone);color:var(--color-bg);transition:opacity .2s, transform .12s var(--ease-out);place-items:center;display:grid}.entry__save:active{transform:scale(.96)}.entry__save:disabled{opacity:.3}.settings{gap:var(--space-5);padding-bottom:var(--space-3);display:grid}.settings__k{margin:0 0 var(--space-1);font-size:var(--text-xs);color:var(--color-muted);text-transform:uppercase;letter-spacing:.08em}.settings__v{margin:0}.settings__err{margin:var(--space-1) 0 0;color:var(--color-danger);font-size:var(--text-sm)}.settings__sync{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);background:var(--color-surface-2);display:flex}.settings__group{display:grid}.settings__row{align-items:center;gap:var(--space-3);border-bottom:1px solid var(--color-line);text-align:left;min-height:3.25rem;display:flex}.settings__row svg{color:var(--color-muted)}.settings__row--danger{color:var(--color-danger)}.settings__row--danger svg{color:currentColor}.settings__hint{font-size:var(--text-xs);margin:var(--space-2) 0 0}.settings__confirm{gap:var(--space-2);padding-top:var(--space-2);display:grid}.settings__confirm p{font-size:var(--text-sm);margin:0}.home{gap:var(--space-5);min-height:calc(100dvh - var(--tabbar-h) - env(safe-area-inset-bottom,0px) - env(safe-area-inset-top,0px) - var(--space-4) - var(--space-5));grid-template-rows:auto auto 1fr auto;display:grid}.home__pull{color:var(--color-muted);margin-bottom:calc(-1 * var(--space-5));transition:height .2s var(--ease-out);place-items:center;display:grid;overflow:hidden}.spin{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.home__head{gap:var(--space-1);display:grid}.home__top{margin-right:calc(-1 * var(--space-2));justify-content:space-between;align-items:center;display:flex}.home__top .icon-btn{position:relative}.home__badge{background:var(--color-accent);border-radius:50%;width:.45rem;height:.45rem;position:absolute;top:.6rem;right:.6rem}.home__month{color:var(--color-muted);font-size:var(--text-sm);text-transform:lowercase;letter-spacing:.04em;margin:0}.home__total{font-size:var(--text-3xl);letter-spacing:-.03em;overflow-wrap:anywhere;font-weight:700;line-height:1.05}@media (width<=360px){.home__total{font-size:var(--text-2xl)}}.home__savings{font-size:var(--text-sm);margin:0}.home__month-stats{gap:var(--space-6);margin:var(--space-3) 0 0;display:flex}.home__month-stats div{gap:.1rem;display:grid}.home__month-stats dt{font-size:var(--text-xs);color:var(--color-muted)}.home__month-stats dd{margin:0;font-weight:500}.tone-expense{color:var(--color-expense)}.tone-income{color:var(--color-income)}.tone-transfer{color:var(--color-transfer)}.home__tiles{gap:var(--space-3);grid-template-rows:3fr 2fr;min-height:19rem;display:grid}.tile{--tone:var(--color-expense);text-align:left;padding:var(--space-5);border-radius:var(--radius-lg);background:var(--color-expense-fill);border:1px solid color-mix(in oklab, var(--tone) 22%, transparent);transition:transform .18s var(--ease-out), border-color .2s;grid-template-rows:1fr auto;grid-template-columns:1fr auto;align-items:end;display:grid;position:relative;overflow:hidden}.tile--income{--tone:var(--color-income);background:var(--color-income-fill)}.tile:active{transform:scale(.985)}.tile__glyph{right:var(--space-4);pointer-events:none;font-family:var(--font-display);color:var(--tone);opacity:.1;font-size:9rem;font-weight:500;line-height:.8;position:absolute;top:0}.tile--income .tile__glyph{font-size:7rem}.tile__label{font-family:var(--font-display);font-size:var(--text-xl);color:var(--tone);grid-column:1;align-self:end;font-weight:500}.tile__hint{font-size:var(--text-sm);color:var(--color-muted);grid-column:1}.tile__btn{border-radius:var(--radius-full);background:var(--tone);width:3.25rem;height:3.25rem;color:var(--color-bg);grid-area:1/2/span 2;align-self:end;place-items:center;display:grid}.home__today{gap:var(--space-1);margin:0;padding:0;list-style:none;display:grid}.today-row{align-items:center;gap:var(--space-3);width:100%;min-height:var(--tap);text-align:left;display:flex}.today-row__icon{--c:var(--color-muted);border-radius:var(--radius-full);width:2rem;height:2rem;color:var(--c);background:color-mix(in oklab, var(--c) 15%, transparent);flex:none;place-items:center;display:grid}.today-row__name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.today-row__sum{font-weight:500}@media (prefers-reduced-motion:reduce){.tile,.home__pull{transition:none}}.txn-list{gap:var(--space-5);display:grid}.txn-empty{text-align:center;padding-block:var(--space-7)}.txn-day__head{font-size:var(--text-sm);color:var(--color-muted);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-line);margin-bottom:var(--space-1);justify-content:space-between;display:flex}.txn-day ul{margin:0;padding:0;list-style:none}.txn{border-radius:var(--radius-sm);position:relative;overflow:hidden}.txn__delete{background:var(--color-danger);width:88px;color:var(--color-bg);place-items:center;display:grid;position:absolute;inset:0 0 0 auto}.txn__row{align-items:center;gap:var(--space-3);width:100%;min-height:3.5rem;padding-block:var(--space-2);text-align:left;background:var(--color-bg);touch-action:pan-y;display:flex;position:relative}.txn__icon{--c:var(--color-muted);border-radius:var(--radius-full);width:2.25rem;height:2.25rem;color:var(--c);background:color-mix(in oklab, var(--c) 15%, transparent);flex:none;place-items:center;display:grid}.txn__text{flex:1;min-width:0;display:grid}.txn__title,.txn__sub{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.txn__sub{font-size:var(--text-xs);color:var(--color-muted)}.txn__sum{white-space:nowrap;font-weight:500}.entry--transfer{--tone:var(--color-transfer)}.transfer__route{gap:var(--space-1);display:grid;position:relative}.transfer__swap{margin-block:calc(-1 * var(--space-2));z-index:1;background:var(--color-surface-2);border:1px solid var(--color-line);justify-self:center}.transfer__warn{color:var(--color-danger);font-size:var(--text-sm);margin:0}.history{gap:var(--space-4);display:grid}.sub-head{align-items:center;gap:var(--space-2);margin-left:calc(-1 * var(--space-2));display:flex}.sub-head__title{font-size:var(--text-lg);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.history__search{align-items:center;gap:var(--space-2);padding-inline:var(--space-3);min-height:calc(var(--tap) + var(--space-1));border-radius:var(--radius-sm);background:var(--color-surface);border:1px solid var(--color-line);color:var(--color-muted);display:flex}.history__search:focus-within{border-color:var(--color-accent)}.history__search input{min-width:0;color:var(--color-text);background:0 0;border:0;flex:1}.history__search input:focus{outline:none}.editor{gap:var(--space-4);display:grid}.editor__title{font-size:var(--text-lg);flex:1}.editor__err{color:var(--color-danger)}.editor__actions{gap:var(--space-2);padding-top:var(--space-2);flex-wrap:wrap;justify-content:flex-end;display:flex}.editor__actions .btn--accent{flex:1}.kind-grid{gap:var(--space-2);flex-wrap:wrap;display:flex}.kind{align-items:center;gap:var(--space-2);min-height:var(--tap);padding-inline:var(--space-3);border-radius:var(--radius-full);border:1px solid var(--color-line);color:var(--color-muted);font-size:var(--text-sm);display:inline-flex}.kind[aria-checked=true]{border-color:var(--color-accent);color:var(--color-text);background:color-mix(in oklab, var(--color-accent) 10%, transparent)}.toggle{align-items:center;gap:var(--space-3);min-height:var(--tap);cursor:pointer;display:flex}.toggle input{opacity:0;width:1px;height:1px;position:absolute}.toggle__track{border-radius:var(--radius-full);background:var(--color-line);flex:none;width:2.75rem;height:1.6rem;transition:background .2s;position:relative}.toggle__track:after{content:"";background:var(--color-text);width:1.2rem;height:1.2rem;transition:transform .25s var(--ease-out);border-radius:50%;position:absolute;top:.2rem;left:.2rem}.toggle input:checked+.toggle__track{background:var(--color-accent)}.toggle input:checked+.toggle__track:after{background:var(--color-on-accent);transform:translate(1.15rem)}.toggle input:focus-visible+.toggle__track{outline:2px solid var(--color-accent);outline-offset:2px}.icon-grid{gap:var(--space-1);grid-template-columns:repeat(auto-fill,minmax(2.75rem,1fr));max-height:11rem;display:grid;overflow-y:auto}.icon-grid button{height:var(--tap);border-radius:var(--radius-sm);color:var(--color-muted);place-items:center;display:grid}.icon-grid button[aria-pressed=true]{background:var(--color-surface-2);color:var(--color-text);outline:1px solid var(--color-accent)}.color-row{gap:var(--space-2);flex-wrap:wrap;display:flex}.color-row button{background:var(--c);border:2px solid #0000;border-radius:50%;width:2.25rem;height:2.25rem}.color-row button[aria-pressed=true]{border-color:var(--color-text);box-shadow:0 0 0 2px var(--color-surface) inset}.cats{gap:var(--space-4);display:grid}.segmented{padding:var(--space-1);border-radius:var(--radius-sm);background:var(--color-surface);border:1px solid var(--color-line);grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;display:grid}.segmented button{min-width:0;padding-inline:var(--space-1);min-height:calc(var(--tap) - var(--space-1));border-radius:calc(var(--radius-sm) - .2rem);color:var(--color-muted);font-size:var(--text-sm);transition:background .25s var(--ease-out), color .2s}.segmented button[aria-selected=true]{background:var(--color-surface-2);color:var(--color-text)}.cats__list{margin:0;padding:0;list-style:none;display:grid}.cats__list li{border-bottom:1px solid var(--color-line);align-items:center;display:flex}.cats__list li.is-archived{opacity:.55}.cats__row{align-items:center;gap:var(--space-3);text-align:left;flex:1;min-width:0;min-height:3.25rem;display:flex}.cats__name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.cats__count{font-size:var(--text-sm)}.cats__order{display:flex}.cats__order .icon-btn:disabled{opacity:.2}.editor__note{font-size:var(--text-sm);margin:0}.res{gap:var(--space-5);display:grid}.res__head{gap:var(--space-1);display:grid}.res__actions{gap:var(--space-2);grid-template-columns:1fr 1fr;display:grid}.res__accounts{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.res__accounts li{animation:rise-in .45s var(--d,0s) var(--ease-out) both}@keyframes rise-in{0%{opacity:0;transform:translateY(.6rem)}}.acc-card{text-align:left;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-4);border-radius:var(--radius-md);background:var(--color-surface);border:1px solid var(--color-line);transition:transform .15s var(--ease-out), border-color .2s;grid-template-columns:auto 1fr auto;display:grid;position:relative;overflow:hidden}.acc-card:active{transform:scale(.985)}.acc-card__icon{border-radius:var(--radius-sm);background:var(--color-surface-2);width:2.5rem;height:2.5rem;color:var(--color-accent);place-items:center;display:grid}.acc-card__name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.acc-card__name small{color:var(--color-muted)}.acc-card__bal{font-family:var(--font-display);font-weight:500;font-size:var(--text-md);white-space:nowrap}.acc-card__bar{background:0 0;height:2px;position:absolute;bottom:0;left:0;right:0}.acc-card__bar span{background:var(--color-accent);opacity:.7;transform-origin:0;height:100%;transition:transform .8s var(--ease-out);display:block}.res__archive{gap:var(--space-2);justify-items:start;display:grid}.res__links{border-top:1px solid var(--color-line);display:grid}.res__link{align-items:center;gap:var(--space-3);border-bottom:1px solid var(--color-line);min-height:3.5rem;color:var(--color-text);display:flex}.res__link span{text-align:left;flex:1}.res__link svg{color:var(--color-muted)}@media (width>=480px){.res__accounts{grid-template-columns:1fr 1fr}}@media (prefers-reduced-motion:reduce){.res__accounts li{animation-name:fade-in}}.stats{gap:var(--space-4);grid-template-columns:minmax(0,1fr);display:grid}.period{top:env(safe-area-inset-top,0px);z-index:20;gap:var(--space-2);margin-inline:calc(-1 * var(--gutter));padding:var(--space-2) var(--gutter) var(--space-3);background:color-mix(in oklab, var(--color-bg) 88%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);grid-template-columns:minmax(0,1fr);display:grid;position:sticky}.period__nav{justify-content:space-between;align-items:center;display:flex}.period__nav .icon-btn:disabled{opacity:.2}.period__title{font-size:var(--text-lg);text-align:center}.period__custom{gap:var(--space-2);grid-template-columns:1fr 1fr;display:grid}.period__custom input{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;width:100%}.cards{gap:var(--space-3);display:grid}@media (width>=768px){.stats{--w:min(52rem, calc(100vw - 2 * var(--gutter)));width:var(--w);margin-left:calc(50% - var(--w) / 2)}.cards{grid-template-columns:1fr 1fr}.card--wide{grid-column:1/-1}}.card{padding:var(--space-5) var(--space-4);border-radius:var(--radius-md);background:var(--color-surface);border:1px solid var(--color-line);gap:var(--space-4);opacity:0;transition:opacity .5s var(--ease-out), transform .6s var(--ease-out);align-content:start;display:grid;transform:translateY(1rem)}.card.is-in{opacity:1;transform:none}.card__title{font-size:var(--text-md);font-weight:500}.card__empty{font-size:var(--text-sm);margin:0}.stat-k{font-size:var(--text-xs);color:var(--color-muted);display:block}.stat-v{font-family:var(--font-display);font-size:var(--text-xl);font-weight:500}.stat-v2{font-family:var(--font-display);font-size:var(--text-lg);white-space:nowrap}.pace>div{min-width:0}.pace{gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.pace__line{color:var(--color-muted);font-size:var(--text-sm);grid-column:1/-1;margin:0}.pace__line b{color:var(--color-text);font-weight:500}.where{gap:var(--space-5);display:grid}@media (width>=768px){.where{grid-template-columns:15rem 1fr;align-items:center}}.donut{aspect-ratio:1;width:min(15rem,70vw);margin-inline:auto;position:relative}.donut svg{width:100%;height:100%;display:block}.donut__seg{transition:stroke-dasharray .9s var(--ease-out), stroke-width .2s, opacity .2s;cursor:pointer}.donut__center{text-align:center;pointer-events:none;place-content:center;gap:.1rem;display:grid;position:absolute;inset:22%}.donut__k{font-size:var(--text-xs);color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;max-width:8rem;overflow:hidden}.donut__v{font-family:var(--font-display);font-size:var(--text-lg);font-weight:500}.where__list{margin:0;padding:0;list-style:none;display:grid}.where__list button{align-items:center;gap:var(--space-3);text-align:left;width:100%;min-height:3rem;padding-bottom:var(--space-1);grid-template-columns:auto 1fr auto auto;display:grid;position:relative}.where__list li{transition:opacity .2s}.where__list:has(li.is-on) li:not(.is-on){opacity:.45}.where__dot{--c:var(--color-muted);border-radius:var(--radius-full);background:var(--c);width:1.75rem;height:1.75rem;color:var(--color-bg);place-items:center;display:grid}.where__name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.where__pct{font-size:var(--text-sm)}.where__sum{font-weight:500}.where__bar{left:calc(1.75rem + var(--space-3));background:var(--color-surface-2);border-radius:2px;height:2px;position:absolute;bottom:0;right:0;overflow:hidden}.where__bar span{transform-origin:0;height:100%;transition:transform .9s var(--ease-out);display:block}.weekdays{gap:var(--space-3);display:grid}.heat{gap:var(--space-1);grid-template-columns:repeat(7,1fr);margin:0;padding:0;list-style:none;display:grid}.heat li{gap:var(--space-1);justify-items:center;display:grid}.heat__cell{aspect-ratio:1/1.25;border-radius:var(--radius-sm);background:color-mix(in oklab, var(--color-expense) var(--k), var(--color-surface-2));width:100%}.card.is-in .heat__cell{animation:grow .6s var(--d) var(--ease-out) both}@keyframes grow{0%{opacity:0;transform:scaleY(.2)}}.heat__day{font-size:var(--text-xs);color:var(--color-muted)}.receipt{padding:var(--space-3) var(--space-4);gap:var(--space-2);background:var(--color-surface-2);border-radius:var(--radius-sm);padding-block:var(--space-4);margin:0;list-style:none;display:grid;-webkit-mask:radial-gradient(circle at 50% 0,#0000 .35rem,#000 .36rem) top/1rem 51% repeat-x,radial-gradient(circle at 50% 100%,#0000 .35rem,#000 .36rem) bottom/1rem 51% repeat-x;mask:radial-gradient(circle at 50% 0,#0000 .35rem,#000 .36rem) top/1rem 51% repeat-x,radial-gradient(circle at 50% 100%,#0000 .35rem,#000 .36rem) bottom/1rem 51% repeat-x}.receipt li{align-items:baseline;gap:var(--space-2);font-size:var(--text-sm);display:flex}.receipt__name{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.receipt__dots{min-width:var(--space-4);border-bottom:1px dashed var(--color-line);flex:1;transform:translateY(-.25rem)}.receipt__val{white-space:nowrap}.cmp{gap:var(--space-2);display:grid}.cmp__head{align-items:center;gap:var(--space-2);font-family:var(--font-display);font-size:var(--text-xl);margin:0;display:flex}.cmp__head small{font-family:var(--font-body);font-size:var(--text-sm)}.cmp__sub{margin:0 0 var(--space-2);font-size:var(--text-xs)}.cmp__list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.cmp__list li{align-items:center;gap:var(--space-2);font-size:var(--text-sm);grid-template-columns:6.5rem 1fr auto;display:grid}.cmp__name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cmp__track{height:.5rem;position:relative}.cmp__track:before{content:"";background:var(--color-line);width:1px;position:absolute;top:-.2rem;bottom:-.2rem;left:50%}.cmp__track span{border-radius:4px;position:absolute;top:0;bottom:0}.cmp__track .is-up{background:var(--color-expense);left:50%}.cmp__track .is-down{background:var(--color-income);right:50%}.cmp__v{white-space:nowrap}.ive{gap:var(--space-3);display:grid}.ive__legend{gap:var(--space-2) var(--space-4);font-size:var(--text-sm);color:var(--color-muted);flex-wrap:wrap;min-height:2.5rem;display:flex}.ive__legend b{color:var(--color-text);font-weight:500}.sw{width:.6rem;height:.6rem;margin-right:var(--space-1);border-radius:2px;display:inline-block}.sw--income{background:var(--color-income)}.sw--expense{background:var(--color-expense)}.bars svg{width:100%;height:8rem;display:block;overflow:visible}.bars__g{cursor:pointer;transition:opacity .2s}.bars__bar{transform-box:fill-box;transform-origin:bottom}.card.is-in .bars__bar{animation:bar-up .7s var(--ease-out) both}@keyframes bar-up{0%{transform:scaleY(0)}}.bars__labels{text-align:center;color:var(--color-muted);padding-top:var(--space-1);font-size:.6875rem;display:grid}.bars__labels .is-on{color:var(--color-text)}.big{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.big li{align-items:center;gap:var(--space-2);grid-template-columns:1.5rem 1fr auto;display:grid}.big__n{font-family:var(--font-display);color:var(--color-muted);font-size:var(--text-sm)}.big__text{min-width:0;display:grid}.big__text>*{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.big__text small{font-size:var(--text-xs)}@media (prefers-reduced-motion:reduce){.card{transition:opacity .2s;transform:none}.card.is-in .heat__cell,.card.is-in .bars__bar{animation:none}.donut__seg,.where__bar span{transition:none}}.app{max-width:var(--app-max);min-height:100dvh;padding:calc(env(safe-area-inset-top,0px) + var(--space-4)) var(--gutter) calc(var(--tabbar-h) + env(safe-area-inset-bottom,0px) + var(--space-5));margin-inline:auto}.login{max-width:var(--app-max);padding-inline:var(--gutter);margin-inline:auto}.screen{animation:screen-in .38s var(--ease-out) both}.screen[data-dir="1"]{--from:1.5rem}.screen[data-dir="-1"]{--from:-1.5rem}@keyframes screen-in{0%{opacity:0;transform:translateX(var(--from,0))}}@media (prefers-reduced-motion:reduce){.screen{animation-name:fade-in;animation-duration:.2s}}.auth-banner{z-index:30;text-align:center;width:100%;padding:calc(env(safe-area-inset-top,0px) + var(--space-2)) var(--gutter) var(--space-2);background:color-mix(in oklab, var(--color-accent) 16%, var(--color-bg));color:var(--color-text);font-size:var(--text-sm);display:block;position:sticky;top:0}.auth-banner b{color:var(--color-accent);font-weight:600}
