@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-opsz-normal-Czevyj-6.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-opsz-normal-CJcjJNj7.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-opsz-normal-DihXLNYH.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#f1eadc;--paper-raised:#faf5ea;--paper-sunken:#e9e0cd;--ink:#1e1b16;--ink-soft:#51493c;--ink-faint:#746856;--rule:#dbd0ba;--rule-strong:#a99a7f;--seal:#b5332a;--seal-deep:#8d231c;--on-seal:#fff4e8;--income:#2a6a4d;--margin-line:#b5332a4d;--backdrop:#2c211180;--tint-ochre:#9a5a20;--tint-tea:#7a583a;--tint-gamboge:#8f6c0c;--tint-malachite:#2c7254;--tint-azurite:#2a5c86;--tint-indigo:#3f4583;--tint-purple:#6c4a82;--tint-carmine:#a0324f;--tint-ink:#51493c;--lift:0 28px 56px -32px #46300e80, 0 2px 6px -2px #46300e24;--grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .36 0 0 0 0 .27 0 0 0 0 .12 0 0 0 .055 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");--font-display:"Fraunces Variable", "Songti SC", STSong, "Noto Serif CJK SC", "Source Han Serif SC", SimSun, serif;--font-body:"PingFang SC", "Hiragino Sans GB", "Noto Sans CJK SC", "Microsoft YaHei", sans-serif;--text-2xs:11px;--text-xs:12px;--text-sm:13px;--text-base:15px;--text-md:17px;--text-lg:20px;--text-xl:24px;--text-2xl:32px;--text-3xl:44px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--radius:2px;--radius-mark:4px;--control-height:40px;--ease:cubic-bezier(.2, .7, .2, 1)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--paper:#15120f;--paper-raised:#1e1a16;--paper-sunken:#0f0d0a;--ink:#ece4d4;--ink-soft:#c0b49e;--ink-faint:#9c8f7c;--rule:#322b24;--rule-strong:#5e5243;--seal:#d9544a;--seal-deep:#b5332a;--income:#78c6a0;--margin-line:#d9544a4d;--backdrop:#000000a8;--tint-ochre:#dba56c;--tint-tea:#c9a783;--tint-gamboge:#d9b85c;--tint-malachite:#7fc7a3;--tint-azurite:#8ab8e0;--tint-indigo:#a9aeea;--tint-purple:#c7a8dc;--tint-carmine:#e895ab;--tint-ink:#c0b49e;--lift:0 28px 56px -32px #000000e6, 0 2px 6px -2px #00000080;--grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .93 0 0 0 0 .89 0 0 0 0 .8 0 0 0 .035 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;scrollbar-color:var(--rule-strong) transparent}body{background:var(--paper) var(--grain);min-height:100dvh;color:var(--ink);font-family:var(--font-body);font-size:var(--text-base);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;line-height:1.6}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--font-display);letter-spacing:.02em;text-wrap:balance;font-weight:600;line-height:1.2}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}a,button,input,label{touch-action:manipulation}:focus-visible{outline:2px solid var(--seal);outline-offset:2px}::selection{background:var(--seal);color:var(--on-seal)}.skip-link{top:var(--space-2);left:var(--space-2);z-index:80;padding:var(--space-2) var(--space-4);background:var(--ink);color:var(--paper-raised);font-size:var(--text-sm);position:fixed;transform:translateY(-200%)}.skip-link:focus-visible{transform:none}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.num{font-family:var(--font-display);font-variant-numeric:lining-nums;letter-spacing:0}.money{white-space:nowrap}.money-frac{font-size:calc(var(--money-frac-scale,.72) * 1em);opacity:.74}.section-title small,.compact-money{--money-frac-scale:.92}.money-sign{margin-right:.03em}.money--tabular .money-digit{text-align:center;width:.62em;display:inline-block}.income{color:var(--income)}.deficit{color:var(--seal)}.icon{flex:none;place-items:center;line-height:1;display:inline-grid}.icon svg,.mark svg{width:1em;height:1em;display:block}.icon[class*=tint-]{color:var(--tint)}.mark{border:1px solid var(--rule-strong);border-radius:var(--radius-mark);background:var(--paper-raised);width:38px;height:38px;color:var(--ink-soft);font-family:var(--font-display);-webkit-user-select:none;user-select:none;flex:none;place-items:center;font-size:21px;font-weight:600;line-height:1;display:inline-grid}.mark:not(:has(svg)){font-size:17px}.mark--sm{width:30px;height:30px;font-size:17px}.mark--sm:not(:has(svg)){font-size:14px}.mark--lg{width:56px;height:56px;font-size:30px}.mark--lg:not(:has(svg)){font-size:26px}.tint-ochre{--tint:var(--tint-ochre)}.tint-tea{--tint:var(--tint-tea)}.tint-gamboge{--tint:var(--tint-gamboge)}.tint-malachite{--tint:var(--tint-malachite)}.tint-azurite{--tint:var(--tint-azurite)}.tint-indigo{--tint:var(--tint-indigo)}.tint-purple{--tint:var(--tint-purple)}.tint-carmine{--tint:var(--tint-carmine)}.tint-ink{--tint:var(--tint-ink)}.mark[class*=tint-]{color:var(--tint);border-color:color-mix(in srgb, var(--tint) 36%, var(--rule));background:color-mix(in srgb, var(--tint) 7%, var(--paper-raised))}.mark.mark--seal,.seal{background:var(--seal);border-color:var(--seal);color:var(--on-seal);box-shadow:inset 0 0 0 2px var(--seal), inset 0 0 0 3px #fff4e880;transform:rotate(-4deg)}.seal{width:44px;height:44px;font-family:var(--font-display);font-weight:700;font-size:var(--text-xl);box-shadow:inset 0 0 0 3px var(--seal), inset 0 0 0 4px #fff4e88c;border-radius:6px;flex:none;place-items:center;line-height:1;display:inline-grid}.overline{font-family:var(--font-display);font-size:var(--text-2xs);letter-spacing:.34em;text-transform:uppercase;color:var(--seal);font-weight:600}.page-head{justify-content:space-between;align-items:flex-end;gap:var(--space-4);padding-bottom:var(--space-4);margin-bottom:var(--space-5);border-bottom:3px double var(--ink);display:flex}.page-head>:first-child{min-width:0}.page-title{margin-top:var(--space-1);font-variation-settings:"opsz" 96;overflow-wrap:anywhere;font-size:clamp(28px,4.6vw,38px)}.page-title small{letter-spacing:.12em;color:var(--ink-soft);margin-left:.5em;font-size:.5em;font-weight:400}.section-title{align-items:baseline;gap:var(--space-3);margin:var(--space-6) 0 var(--space-3);font-size:var(--text-md);display:flex}.section-title:after{content:"";border-bottom:1px solid var(--rule);flex:1;transform:translateY(-4px)}.section-title small{font-family:var(--font-body);font-size:var(--text-xs);letter-spacing:.08em;color:var(--ink-faint);font-weight:400}.muted{color:var(--ink-faint)}.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--control-height);border:1px solid var(--ink);border-radius:var(--radius);color:var(--ink);font-family:var(--font-display);font-size:var(--text-base);letter-spacing:.1em;white-space:nowrap;background:0 0;padding:0 18px;font-weight:500;transition:background-color .16s,color .16s,border-color .16s,transform .1s;display:inline-flex}.btn:hover{background:var(--ink);color:var(--paper-raised)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.45;pointer-events:none}.btn--seal{background:var(--seal);border-color:var(--seal);color:var(--on-seal);box-shadow:inset 0 0 0 2px var(--seal), inset 0 0 0 3px #fff4e866}.btn--seal:hover{background:var(--seal-deep);border-color:var(--seal-deep);color:var(--on-seal)}.btn--quiet{color:var(--ink-soft);letter-spacing:.04em;border-color:#0000;padding:0 10px}.btn--quiet:hover{background:var(--paper-sunken);color:var(--ink)}.btn--danger{border-color:var(--seal);color:var(--seal)}.btn--danger:hover{background:var(--seal);border-color:var(--seal);color:var(--on-seal)}.btn--small{min-height:32px;font-size:var(--text-sm);padding:0 12px}.icon-btn{border:1px solid var(--rule-strong);border-radius:var(--radius);width:36px;height:36px;color:var(--ink-soft);place-items:center;transition:background-color .14s,color .14s,border-color .14s;display:grid}.icon-btn:hover{background:var(--ink);border-color:var(--ink);color:var(--paper-raised)}.icon-btn--bare{border-color:#0000}.icon-btn--bare:hover{background:var(--paper-sunken);color:var(--ink);border-color:#0000}.field{gap:var(--space-1);display:grid}.label{font-size:var(--text-xs);letter-spacing:.2em;color:var(--ink-faint)}.input{width:100%;min-height:var(--control-height);border:0;border-bottom:1px solid var(--rule-strong);background:0 0;border-radius:0;outline:none;padding:6px 0;transition:border-color .16s,box-shadow .16s}.input:focus{border-bottom-color:var(--seal);box-shadow:0 1px 0 var(--seal)}.input::placeholder{color:var(--ink-faint)}.form-error{min-height:1.6em;font-size:var(--text-sm);color:var(--seal)}.chips{gap:var(--space-2);flex-wrap:wrap;display:flex}.chip{max-width:100%;min-height:34px;padding:0 var(--space-3);border:1px solid var(--rule-strong);border-radius:var(--radius);color:var(--ink-soft);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;line-height:32px;transition:background-color .14s,color .14s,border-color .14s;display:inline-block;overflow:hidden}.chip:hover{border-color:var(--ink);color:var(--ink)}.chip[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--paper-raised)}.chip--small{min-height:28px;font-size:var(--text-xs);padding:0 10px;line-height:26px}.seg{border:1px solid var(--ink);border-radius:var(--radius);grid-auto-columns:1fr;grid-auto-flow:column;display:inline-grid}.seg button{min-height:34px;padding:0 var(--space-4);font-family:var(--font-display);font-size:var(--text-sm);letter-spacing:.18em;color:var(--ink-soft);transition:background-color .14s,color .14s}.seg button[aria-pressed=true]{background:var(--ink);color:var(--paper-raised)}.ledger-row{align-items:center;gap:var(--space-4);width:100%;padding:var(--space-3) 0;border-bottom:1px dotted var(--rule-strong);text-align:left;grid-template-columns:auto minmax(0,1fr) auto;display:grid}button.ledger-row{transition:background-color .14s}button.ledger-row:hover{background:color-mix(in srgb, var(--paper-sunken) 60%, transparent)}.ledger-row-main{min-width:0;display:grid}.ledger-row-title,.ledger-row-meta{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ledger-row-title{line-height:1.4}.ledger-row-meta{font-size:var(--text-xs);letter-spacing:.04em;color:var(--ink-faint)}.ledger-row-side{justify-items:end;min-width:0;display:grid}.ledger-row-amount{font-size:var(--text-lg);font-weight:500;line-height:1.3}.empty{padding:56px var(--space-3);text-align:center;color:var(--ink-faint);font-family:var(--font-display);font-size:var(--text-md);letter-spacing:.08em}.empty:before{content:"❦";margin-bottom:var(--space-3);font-size:var(--text-xl);color:var(--rule-strong);display:block}.empty .btn{margin-top:var(--space-4)}@keyframes rise{0%{opacity:0;transform:translateY(10px)}}.rise{animation:rise .55s var(--ease) both;animation-delay:calc(var(--i,0) * 45ms)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-delay:0s!important}}.offline[data-v-de63c51e]{place-content:center;justify-items:center;gap:var(--space-4);min-height:100dvh;padding:var(--space-5);text-align:center;display:grid}.offline h1[data-v-de63c51e]{margin-top:var(--space-3);font-size:var(--text-2xl)}.offline p[data-v-de63c51e]{max-width:22em;color:var(--ink-soft)}.toasts[data-v-de63c51e]{left:50%;bottom:calc(88px + env(safe-area-inset-bottom));z-index:60;pointer-events:none;justify-items:center;gap:8px;display:grid;position:fixed;transform:translate(-50%)}.toast[data-v-de63c51e]{pointer-events:auto;background:var(--ink);color:var(--paper-raised);font-family:var(--font-display);font-size:var(--text-sm);letter-spacing:.08em;border-radius:var(--radius);box-shadow:var(--lift);align-items:center;gap:14px;padding:9px 18px;display:flex}.toast-action[data-v-de63c51e]{color:inherit;font:inherit;letter-spacing:.2em;border-bottom:1px solid;padding:2px 0}.toast--error[data-v-de63c51e]{background:var(--seal);color:var(--on-seal)}.toast-enter-active[data-v-de63c51e],.toast-leave-active[data-v-de63c51e]{transition:opacity .25s, transform .25s var(--ease)}.toast-leave-active[data-v-de63c51e]{pointer-events:none;position:absolute}.toast-enter-from[data-v-de63c51e],.toast-leave-to[data-v-de63c51e]{opacity:0;transform:translateY(8px)}.shell[data-v-a0b153f8]{grid-template-columns:236px minmax(0,1fr);min-height:100dvh;display:grid}.rail[data-v-a0b153f8]{border-right:1px solid var(--rule);flex-direction:column;height:100dvh;padding:34px 26px 26px;display:flex;position:sticky;top:0}.brand[data-v-a0b153f8]{align-items:center;gap:14px;display:flex}.brand-name[data-v-a0b153f8]{font-family:var(--font-display);font-variation-settings:"opsz" 144;letter-spacing:.01em;font-size:27px;font-weight:600;line-height:1;display:grid}.brand-name small[data-v-a0b153f8]{font-size:var(--text-xs);letter-spacing:.5em;color:var(--ink-faint);margin-top:5px;font-weight:400}.rail-nav[data-v-a0b153f8]{border-top:1px solid var(--rule);margin-top:44px;display:grid}.rail-link[data-v-a0b153f8]{align-items:center;gap:var(--space-3);padding:var(--space-3) 2px;border-bottom:1px solid var(--rule);color:var(--ink-soft);grid-template-columns:auto auto 1fr;transition:color .15s;display:grid}.rail-link[data-v-a0b153f8]:hover{color:var(--ink)}.nav-mark[data-v-a0b153f8]{color:inherit;transition:background-color .15s, border-color .15s, color .15s, transform .25s var(--ease);background:0 0}.rail-label[data-v-a0b153f8]{font-family:var(--font-display);font-size:var(--text-md);letter-spacing:.16em}.rail-link small[data-v-a0b153f8]{font-size:var(--text-2xs);letter-spacing:.08em;color:var(--ink-faint);opacity:0;justify-self:end;transition:opacity .15s}.rail-link:hover small[data-v-a0b153f8],.rail-link.router-link-exact-active small[data-v-a0b153f8]{opacity:1}.rail-link.router-link-exact-active[data-v-a0b153f8],.tab.router-link-exact-active[data-v-a0b153f8]{color:var(--ink)}.router-link-exact-active .nav-mark[data-v-a0b153f8]{background:var(--seal);border-color:var(--seal);color:var(--on-seal);box-shadow:inset 0 0 0 2px var(--seal), inset 0 0 0 3px #fff4e880;transform:rotate(-5deg)}.rail-foot[data-v-a0b153f8]{padding-top:var(--space-4);border-top:3px double var(--rule-strong);margin-top:auto}.rail-user[data-v-a0b153f8]{font-family:var(--font-display);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rail-logout[data-v-a0b153f8]{font-size:var(--text-xs);letter-spacing:.12em;color:var(--ink-faint);margin-top:2px;transition:color .15s}.rail-logout[data-v-a0b153f8]:hover{color:var(--seal)}.main[data-v-a0b153f8]{outline:none;padding:40px clamp(16px,4vw,56px) 96px}.page[data-v-a0b153f8]{background:var(--paper-raised) var(--grain);border:1px solid var(--rule);max-width:880px;box-shadow:var(--lift);margin:0 auto;padding:40px 48px 56px 86px;position:relative}.page[data-v-a0b153f8]:before{content:"";border-left:1px solid var(--margin-line);border-right:1px solid var(--margin-line);pointer-events:none;width:4px;position:absolute;top:0;bottom:0;left:54px}.tabbar[data-v-a0b153f8]{display:none}@media (max-width:860px){.shell[data-v-a0b153f8]{grid-template-columns:minmax(0,1fr)}.rail[data-v-a0b153f8]{display:none}.main[data-v-a0b153f8]{padding:0 0 calc(84px + env(safe-area-inset-bottom))}.page[data-v-a0b153f8]{min-height:calc(100dvh - 84px);padding:calc(22px + env(safe-area-inset-top)) 18px 40px 34px;box-shadow:none;border:0}.page[data-v-a0b153f8]:before{left:14px}.tabbar[data-v-a0b153f8]{z-index:30;padding:var(--space-2) 6px calc(var(--space-2) + env(safe-area-inset-bottom));background:color-mix(in srgb, var(--paper) 92%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:3px double var(--rule-strong);grid-template-columns:repeat(5,1fr);display:grid;position:fixed;inset:auto 0 0}.tab[data-v-a0b153f8]{color:var(--ink-faint);justify-items:center;gap:3px;display:grid}.tab-label[data-v-a0b153f8]{font-size:var(--text-2xs);letter-spacing:.2em}}.sheet[data-v-4ee31096]{width:100%;max-width:none;height:100%;max-height:none;padding:var(--space-5);color:inherit;background:0 0;border:0;margin:0;overflow:hidden}.sheet[open][data-v-4ee31096]{place-items:center;display:grid}.sheet[data-v-4ee31096]::backdrop{background:var(--backdrop);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.sheet-panel[data-v-4ee31096]{overscroll-behavior:contain;background:var(--paper-raised) var(--grain);border:1px solid var(--rule-strong);border-top:5px solid var(--seal);width:min(520px,100%);max-height:100%;box-shadow:var(--lift);overflow-y:auto}.sheet-head[data-v-4ee31096]{justify-content:space-between;align-items:flex-end;gap:var(--space-3);padding:var(--space-5) 26px var(--space-3);border-bottom:3px double var(--ink);display:flex}.sheet-head h2[data-v-4ee31096]{font-size:var(--text-xl);margin-top:2px}.sheet-body[data-v-4ee31096]{padding:var(--space-5) 26px 26px}.sheet-enter-active[data-v-4ee31096]{transition:opacity .3s}.sheet-enter-active[data-v-4ee31096]::backdrop{transition:opacity .3s}.sheet-leave-active[data-v-4ee31096]{transition:opacity .2s}.sheet-leave-active[data-v-4ee31096]::backdrop{transition:opacity .2s}.sheet-enter-active .sheet-panel[data-v-4ee31096]{transition:transform .3s var(--ease)}.sheet-leave-active .sheet-panel[data-v-4ee31096]{transition:transform .2s ease-in}.sheet-enter-from[data-v-4ee31096],.sheet-leave-to[data-v-4ee31096]{opacity:0}.sheet-enter-from[data-v-4ee31096]::backdrop{opacity:0}.sheet-leave-to[data-v-4ee31096]::backdrop{opacity:0}.sheet-enter-from .sheet-panel[data-v-4ee31096],.sheet-leave-to .sheet-panel[data-v-4ee31096]{transform:translateY(22px)}@media (max-width:600px){.sheet[data-v-4ee31096]{padding:0}.sheet[open][data-v-4ee31096]{place-items:end stretch}.sheet-panel[data-v-4ee31096]{width:100%;max-height:94dvh;padding-bottom:env(safe-area-inset-bottom);border-width:5px 0 0}.sheet-head[data-v-4ee31096]{padding:var(--space-3) 20px 10px}.sheet-head .overline[data-v-4ee31096]{display:none}.sheet-body[data-v-4ee31096]{padding:var(--space-4) 20px 22px}.sheet-enter-from .sheet-panel[data-v-4ee31096],.sheet-leave-to .sheet-panel[data-v-4ee31096]{transform:translateY(100%)}}.worth[data-v-6ed40ed2]{justify-content:space-between;align-items:flex-end;gap:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--ink);margin:0;display:flex}.worth dt[data-v-6ed40ed2]{font-size:var(--text-xs);letter-spacing:.3em;color:var(--ink-faint);display:grid}.worth dt small[data-v-6ed40ed2]{font-size:var(--text-2xs);letter-spacing:.06em}.worth dd[data-v-6ed40ed2]{font-variation-settings:"opsz" 144;margin:0;font-size:clamp(30px,7vw,48px);font-weight:500;line-height:1}.list[data-v-6ed40ed2]{margin:0;padding:0;list-style:none}.account-name[data-v-6ed40ed2]{font-family:var(--font-display);font-size:var(--text-md)}.archived .ledger-row[data-v-6ed40ed2]{opacity:.6}.form[data-v-6ed40ed2]{gap:var(--space-4);display:grid}.field[data-v-6ed40ed2]{gap:var(--space-2)}.kinds[data-v-6ed40ed2]{gap:var(--space-1);grid-template-columns:repeat(auto-fill,minmax(72px,1fr));display:grid}.kind[data-v-6ed40ed2]{justify-items:center;gap:var(--space-1);padding:var(--space-2) 2px;font-size:var(--text-xs);color:var(--ink-soft);display:grid}.kind[aria-pressed=true][data-v-6ed40ed2]{color:var(--ink)}.help[data-v-6ed40ed2]{font-size:var(--text-xs);color:var(--ink-faint)}.form-error[data-v-6ed40ed2]{margin:-8px 0}.actions[data-v-6ed40ed2]{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.spacer[data-v-6ed40ed2]{flex:1}.auth[data-v-ae94a23a]{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);min-height:100dvh;display:grid}.cover[data-v-ae94a23a]{background:var(--ink);color:var(--paper);align-items:center;padding:48px clamp(28px,6vw,88px);display:grid;position:relative;overflow:hidden}.cover[data-v-ae94a23a]:before{content:"";border:1px solid color-mix(in srgb, var(--paper) 28%, transparent);outline:1px solid color-mix(in srgb, var(--paper) 14%, transparent);outline-offset:5px;pointer-events:none;position:absolute;inset:22px}.cover-seal[data-v-ae94a23a]{border-radius:9px;width:68px;height:68px;font-size:40px}.cover-title[data-v-ae94a23a]{font-variation-settings:"opsz" 144;letter-spacing:-.02em;margin-top:30px;font-size:clamp(64px,11vw,132px);font-weight:500;line-height:.92}.cover-tagline[data-v-ae94a23a]{font-family:var(--font-display);letter-spacing:.4em;color:color-mix(in srgb, var(--paper) 72%, transparent);margin-top:18px;font-size:clamp(17px,2vw,21px)}.cover-lines[data-v-ae94a23a]{max-width:340px;font-family:var(--font-display);font-variant-numeric:tabular-nums lining-nums;color:color-mix(in srgb, var(--paper) 60%, transparent);margin:64px 0 0;padding:0;list-style:none}.cover-lines li[data-v-ae94a23a]{border-bottom:1px solid color-mix(in srgb, var(--paper) 16%, transparent);align-items:baseline;gap:10px;padding:9px 0;display:flex}.cover-lines i[data-v-ae94a23a]{border-bottom:1px dotted color-mix(in srgb, var(--paper) 30%, transparent);flex:1}.cover-lines b[data-v-ae94a23a]{color:#8fd3af;font-weight:500}.panel[data-v-ae94a23a]{place-items:center;padding:48px 28px;display:grid}.form[data-v-ae94a23a]{gap:18px;width:min(360px,100%);display:grid}.form-title[data-v-ae94a23a]{border-bottom:3px double var(--ink);font-variation-settings:"opsz" 96;margin:-12px 0 8px;padding-bottom:14px;font-size:34px}.form-error[data-v-ae94a23a]{margin:-8px 0}.submit[data-v-ae94a23a]{min-height:46px;font-size:16px}.switch[data-v-ae94a23a]{color:var(--ink-faint);text-align:center;font-size:13px}.switch button[data-v-ae94a23a]{color:var(--seal);border-bottom:1px solid}@media (max-width:820px){.auth[data-v-ae94a23a]{grid-template-rows:auto 1fr;grid-template-columns:minmax(0,1fr)}.cover[data-v-ae94a23a]{padding:calc(40px + env(safe-area-inset-top)) 32px 36px}.cover[data-v-ae94a23a]:before{inset:12px}.cover-seal[data-v-ae94a23a]{width:48px;height:48px;font-size:28px}.cover-title[data-v-ae94a23a]{margin-top:16px;font-size:60px}.cover-tagline[data-v-ae94a23a]{margin-top:10px;font-size:15px}.cover-lines[data-v-ae94a23a]{display:none}.panel[data-v-ae94a23a]{place-items:start center;padding:34px 26px 48px}}.group+.group[data-v-7cbac563]{margin-top:var(--space-2)}.page-head+.group .section-title[data-v-7cbac563]{margin-top:0}.tiles[data-v-7cbac563]{gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(96px,1fr));display:grid}.tiles--archived[data-v-7cbac563]{margin-top:var(--space-2);opacity:.55}.tile[data-v-7cbac563]{padding:var(--space-4) 6px var(--space-3);border-radius:var(--radius);border:1px solid #0000;justify-items:center;gap:2px;transition:background-color .14s,border-color .14s;display:grid}.tile[data-v-7cbac563]:hover{background:color-mix(in srgb, var(--paper-sunken) 55%, transparent);border-color:var(--rule)}.tile-name[data-v-7cbac563]{max-width:100%;font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;margin-top:6px;overflow:hidden}.tile-count[data-v-7cbac563]{font-size:var(--text-2xs);letter-spacing:.06em;color:var(--ink-faint)}.tile--new[data-v-7cbac563]{color:var(--ink-faint);align-content:start}.tile-plus[data-v-7cbac563]{color:inherit;background:0 0;border-style:dashed}.tile--new[data-v-7cbac563]:hover{color:var(--seal)}.tile--new:hover .tile-plus[data-v-7cbac563]{border-color:var(--seal)}.form[data-v-7cbac563]{gap:var(--space-4);display:grid}.preview[data-v-7cbac563]{align-items:end;gap:var(--space-4);grid-template-columns:auto minmax(0,1fr);display:grid}.field[data-v-7cbac563]{gap:var(--space-2)}.icons[data-v-7cbac563]{gap:var(--space-1);overscroll-behavior:contain;grid-template-columns:repeat(auto-fill,minmax(44px,1fr));max-height:208px;padding:2px;display:grid;overflow-y:auto}.icon-choice[data-v-7cbac563]{aspect-ratio:1;border-radius:var(--radius-mark);place-items:center;display:grid}.icon-choice:hover .mark[data-v-7cbac563]:not(.mark--seal){border-color:var(--ink)}.help[data-v-7cbac563]{font-size:var(--text-xs);color:var(--ink-faint)}.form-error[data-v-7cbac563]{margin:-8px 0}.actions[data-v-7cbac563]{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.spacer[data-v-7cbac563]{flex:1}.composer[data-v-c7485cc5]{gap:var(--space-4);display:grid}.line[data-v-c7485cc5]{align-items:end;gap:var(--space-4);grid-template-columns:auto minmax(0,1fr);display:grid}.composer--inline .line[data-v-c7485cc5]{grid-template-columns:auto minmax(0,1fr) minmax(0,1.15fr) auto}.amount[data-v-c7485cc5]{align-items:baseline;gap:var(--space-2);border-bottom:1px solid var(--ink);cursor:text;min-width:0;padding-bottom:1px;transition:border-color .16s,box-shadow .16s;display:flex}.amount[data-v-c7485cc5]:focus-within{border-bottom-color:var(--seal);box-shadow:0 1px 0 var(--seal)}.amount-sign[data-v-c7485cc5]{font-family:var(--font-display);font-size:var(--text-lg);color:var(--ink-faint)}.amount-value[data-v-c7485cc5]{width:100%;min-width:0;font-size:var(--text-2xl);font-variation-settings:"opsz" 144;caret-color:var(--seal);background:0 0;border:0;outline:none;flex:1;padding:0;font-weight:500;line-height:1.2}.composer--sheet .amount-value[data-v-c7485cc5]{font-size:var(--text-3xl)}.amount-value[data-v-c7485cc5]::placeholder,.amount-value.blank[data-v-c7485cc5]{color:var(--rule-strong)}.composer--income .amount-value[data-v-c7485cc5]:not(.blank){color:var(--income)}.note[data-v-c7485cc5]{font-size:var(--text-sm)}.submit[data-v-c7485cc5]{min-height:42px}.submit kbd[data-v-c7485cc5]{font:inherit;font-size:var(--text-xs);opacity:.7;margin-left:2px}.cats[data-v-c7485cc5]{gap:var(--space-1);flex-wrap:wrap;display:flex}.cat[data-v-c7485cc5]{min-height:32px;padding:0 10px 0 var(--space-2);border-radius:var(--radius);font-size:var(--text-sm);color:var(--ink-soft);border:1px solid #0000;align-items:center;gap:6px;transition:background-color .12s,border-color .12s,color .12s;display:inline-flex}.cat .icon[data-v-c7485cc5]{font-size:18px}.cat[data-v-c7485cc5]:hover{background:var(--paper-sunken);color:var(--ink)}.cat[aria-pressed=true][data-v-c7485cc5]{border-color:var(--seal);background:color-mix(in srgb, var(--seal) 8%, transparent);color:var(--ink)}.cat-name[data-v-c7485cc5]{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.composer--sheet .cats[data-v-c7485cc5]{overscroll-behavior:contain;grid-template-columns:repeat(auto-fill,minmax(62px,1fr));grid-auto-rows:64px;max-height:164px;display:grid;overflow-y:auto}.composer--sheet .cat[data-v-c7485cc5]{justify-content:center;gap:var(--space-1);min-height:0;font-size:var(--text-xs);border:0;flex-direction:column;padding:0 2px}.composer--sheet .cat[data-v-c7485cc5]:hover,.composer--sheet .cat[aria-pressed=true][data-v-c7485cc5]{background:0 0}.meta[data-v-c7485cc5]{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-5);flex-wrap:wrap;display:flex}.meta .chips[data-v-c7485cc5]{gap:6px;min-width:0}.date[data-v-c7485cc5]{align-items:center;gap:var(--space-1);cursor:pointer;display:inline-flex;position:relative}.date .icon[data-v-c7485cc5]{font-size:14px}.date.chosen[data-v-c7485cc5]{background:var(--ink);border-color:var(--ink);color:var(--paper-raised)}.date[data-v-c7485cc5]:focus-within{outline:2px solid var(--seal);outline-offset:2px}.date input[data-v-c7485cc5]{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.hint[data-v-c7485cc5]{font-size:var(--text-sm);color:var(--ink-faint)}.hint a[data-v-c7485cc5]{color:var(--seal);border-bottom:1px solid;margin:0 2px}.form-error[data-v-c7485cc5],.streak[data-v-c7485cc5]{min-height:0;font-size:var(--text-sm);margin:-6px 0}.streak[data-v-c7485cc5]{color:var(--income)}.actions[data-v-c7485cc5]{align-items:center;gap:var(--space-2);display:flex}.spacer[data-v-c7485cc5]{flex:1}.composer--inline[data-v-c7485cc5]{gap:var(--space-3);margin-bottom:var(--space-5);padding:var(--space-4) 18px 14px;background:color-mix(in srgb, var(--paper-sunken) 42%, transparent);border:1px solid var(--rule);transition:border-color .16s;position:relative}.composer--inline[data-v-c7485cc5]:focus-within{border-color:var(--rule-strong)}.composer--inline[data-v-c7485cc5]:before{content:"记";top:var(--space-4);background:var(--seal);width:30px;height:30px;color:var(--on-seal);font-family:var(--font-display);font-size:var(--text-md);border-radius:var(--radius-mark);box-shadow:inset 0 0 0 2px var(--seal), inset 0 0 0 3px #fff4e880;place-items:center;font-weight:700;line-height:1;display:grid;position:absolute;left:-74px;transform:rotate(-5deg)}@media (max-width:600px){.composer--sheet .meta[data-v-c7485cc5]{align-items:stretch;gap:var(--space-2);flex-direction:column}.composer--sheet .meta .chips[data-v-c7485cc5]{scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.composer--sheet .meta .chip[data-v-c7485cc5]{flex:none;max-width:60vw}}.keypad[data-v-c7485cc5]{background:var(--rule);border-top:1px solid var(--rule);-webkit-user-select:none;user-select:none;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:54px;gap:1px;margin:2px -20px -22px;display:grid}.key[data-v-c7485cc5]{background:var(--paper-raised);font-size:var(--text-xl);place-items:center;font-weight:500;transition:background-color 80ms;display:grid}.key[data-v-c7485cc5]:active{background:var(--paper-sunken)}.key--side[data-v-c7485cc5]{font-family:var(--font-display);font-size:var(--text-base);letter-spacing:.14em;color:var(--ink-soft)}.key--side .icon[data-v-c7485cc5]{font-size:24px}.key--danger[data-v-c7485cc5]{color:var(--seal)}.key--done[data-v-c7485cc5]{background:var(--seal);color:var(--on-seal);font-family:var(--font-display);font-size:var(--text-lg);letter-spacing:.24em;grid-row:span 2}.key--done[data-v-c7485cc5]:active{background:var(--seal-deep)}.key[data-v-c7485cc5]:disabled{opacity:.5}.switcher[data-v-498942b4]{align-items:center;gap:var(--space-2);display:flex}.back[data-v-498942b4]{margin-right:var(--space-1);font-size:var(--text-xs);letter-spacing:.12em;color:var(--seal);white-space:nowrap;border-bottom:1px solid}.strip[data-v-0b472635]{border-bottom:1px solid var(--ink);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;transition:opacity .2s;display:grid}.strip.pending[data-v-0b472635]{opacity:.35}.strip>div[data-v-0b472635]{padding:var(--space-1) 0 var(--space-4) var(--space-4);border-left:1px solid var(--rule)}.strip>div[data-v-0b472635]:first-child{border-left:0;padding-left:0}dt[data-v-0b472635]{font-size:var(--text-xs);letter-spacing:.3em;color:var(--ink-faint)}dd[data-v-0b472635]{font-variation-settings:"opsz" 72;text-overflow:ellipsis;margin:2px 0 0;font-size:clamp(20px,4.6vw,32px);font-weight:500;line-height:1.15;overflow:hidden}.filter[data-v-74ca7b2c]{margin-top:var(--space-4)}.days[data-v-74ca7b2c]{transition:opacity .2s}.days.stale[data-v-74ca7b2c]{opacity:.5}.day[data-v-74ca7b2c]{margin-top:var(--space-6);content-visibility:auto;contain-intrinsic-size:auto 160px}.day-head[data-v-74ca7b2c]{align-items:baseline;gap:var(--space-3);border-bottom:1px solid var(--ink);padding-bottom:6px;display:flex}.day-num[data-v-74ca7b2c]{font-size:var(--text-2xl);font-variation-settings:"opsz" 144;font-weight:600;line-height:1}.day-meta[data-v-74ca7b2c]{font-size:var(--text-xs);letter-spacing:.2em;color:var(--ink-faint);white-space:nowrap}.day-totals[data-v-74ca7b2c]{gap:var(--space-4);font-size:var(--text-sm);color:var(--ink-soft);white-space:nowrap;margin-left:auto;display:flex}.day-totals .income[data-v-74ca7b2c]{color:var(--income)}.ledger-row[data-v-74ca7b2c]{position:relative}.ledger-row.fresh[data-v-74ca7b2c]:after{content:"";background:color-mix(in srgb, var(--seal) 16%, transparent);pointer-events:none;animation:settle-74ca7b2c 1.8s var(--ease) both;position:absolute;inset:0 -8px}@keyframes settle-74ca7b2c{to{opacity:0}}.more[data-v-74ca7b2c]{margin:var(--space-5) auto 0;display:flex}.fab[data-v-74ca7b2c]{right:18px;bottom:calc(86px + env(safe-area-inset-bottom));z-index:25;width:58px;height:58px;box-shadow:inset 0 0 0 3px var(--seal), inset 0 0 0 4px #fff4e88c, var(--lift);border-radius:9px;font-size:30px;transition:transform .12s;position:fixed}.fab[data-v-74ca7b2c]:active{transform:rotate(-4deg)scale(.94)}.section-title.first[data-v-fa567b83]{margin-top:0}.form[data-v-fa567b83]{gap:16px;max-width:420px;display:grid}.form .btn[data-v-fa567b83]{justify-self:start}.form-error[data-v-fa567b83]{margin:-10px 0 -6px}.colophon[data-v-fa567b83]{border-top:3px double var(--rule-strong);font-family:var(--font-display);font-size:var(--text-sm);letter-spacing:.24em;color:var(--ink-faint);text-align:center;margin-top:56px;padding-top:14px}.filter[data-v-f9a945e7]{margin-top:var(--space-4)}.section-head[data-v-f9a945e7]{align-items:flex-end;gap:var(--space-4);display:flex}.section-head .section-title[data-v-f9a945e7]{flex:1}.section-head .seg[data-v-f9a945e7]{margin-bottom:var(--space-2)}.section-head .seg button[data-v-f9a945e7]{min-height:30px;padding:0 14px}.breakdown[data-v-f9a945e7]{margin:0;padding:0;list-style:none}.bar-main[data-v-f9a945e7]{min-width:0}.bar-label[data-v-f9a945e7]{justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}.bar-name[data-v-f9a945e7]{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.bar-label small[data-v-f9a945e7]{font-size:var(--text-xs);letter-spacing:.04em;color:var(--ink-faint);flex:none}.bar-track[data-v-f9a945e7]{background:var(--paper-sunken);height:5px;margin-top:6px}@keyframes grow-f9a945e7{0%{transform:scaleX(0)}}.bar-fill[data-v-f9a945e7]{width:calc(var(--length) * 100%);background:var(--tint,var(--ink));transform-origin:0;height:100%;animation:grow-f9a945e7 .8s var(--ease) both;animation-delay:calc(var(--i,0) * 45ms + .12s)}.bar-amount[data-v-f9a945e7]{text-align:right;min-width:96px}.chart[data-v-f9a945e7]{gap:var(--space-1);height:190px;padding-top:var(--space-2);border-bottom:1px solid var(--ink);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.column[data-v-f9a945e7]{color:var(--ink-faint);grid-template-rows:minmax(0,1fr) auto;gap:6px;padding:0 2px 6px;transition:background-color .14s;display:grid}.column[data-v-f9a945e7]:hover{background:color-mix(in srgb, var(--paper-sunken) 60%, transparent)}.column-bars[data-v-f9a945e7]{justify-content:center;align-items:flex-end;gap:2px;display:flex}@keyframes raise-f9a945e7{0%{transform:scaleY(0)}}.column-bar[data-v-f9a945e7]{width:min(11px,38%);height:calc(var(--height) * 100%);background:var(--ink);transform-origin:bottom;min-height:1px;animation:raise-f9a945e7 .7s var(--ease) both}.column-bar.income[data-v-f9a945e7]{background:var(--income)}.column-label[data-v-f9a945e7]{font-size:var(--text-sm);line-height:1}.column[aria-pressed=true][data-v-f9a945e7]{color:var(--seal);box-shadow:inset 0 -3px 0 var(--seal)}.legend[data-v-f9a945e7]{margin-top:var(--space-3);font-size:var(--text-xs);letter-spacing:.06em;color:var(--ink-faint)}.swatch[data-v-f9a945e7]{background:var(--ink);width:9px;height:9px;margin-right:5px;display:inline-block}.swatch.income[data-v-f9a945e7]{margin-left:var(--space-3);background:var(--income)}@media (max-width:600px){.bar-amount[data-v-f9a945e7]{min-width:0;font-size:var(--text-md)}.section-title small[data-v-f9a945e7]{display:none}.chart[data-v-f9a945e7]{gap:1px;height:150px}}
