:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--xjz-paper:#fbf5eb;--xjz-surface:#fffcf6;--xjz-surface-raised:#f2e9db;--xjz-ink:#513e31;--xjz-ink-secondary:#705a48;--xjz-ink-tertiary:#806b57;--xjz-ink-faint:#806c58;--xjz-line:#ebdecd;--xjz-primary:#a75d3d;--xjz-on-primary:#fffcf6;--xjz-primary-soft:#f5dfce;--xjz-primary-muted:#d6a68b;--xjz-income:#526746;--xjz-danger:#b0473b;--xjz-income-soft:#e7ecd9;--xjz-income-bar:#8da075;--xjz-income-bar-muted:#ced7ba;--xjz-income-legend:#8da075;--xjz-on-income-soft:#455435;--xjz-expense-ramp-1:#a75d3d;--xjz-expense-ramp-2:#c68d6c;--xjz-expense-ramp-3:#d6a68b;--xjz-expense-ramp-4:#f5dfce;--xjz-income-ramp-1:#526746;--xjz-income-ramp-2:#8da075;--xjz-income-ramp-3:#ced7ba;--xjz-income-ramp-4:#e7ecd9;--xjz-shadow:#765438;--xjz-inverse:#674b35;--xjz-on-inverse:#fff6e9;--xjz-hero:#f4dfc8;--xjz-on-hero:#583d29;--xjz-hero-secondary:#7b5d45;--xjz-hero-accent:#526746;--xjz-sunlight:#e0ac59;--xjz-avatar-clay:#f5dfce;--xjz-on-avatar-clay:#a75d3d;--xjz-avatar-sun:#faead0;--xjz-on-avatar-sun:#8a5a16;--xjz-avatar-olive:#ece9cf;--xjz-on-avatar-olive:#5f5a28;--xjz-avatar-sage:#e7ecd9;--xjz-on-avatar-sage:#455435;--xjz-avatar-teal:#d9e9e4;--xjz-on-avatar-teal:#2f6157;--xjz-avatar-mist:#e0e8ec;--xjz-on-avatar-mist:#3f5e6b;--xjz-avatar-sky:#dce6f4;--xjz-on-avatar-sky:#3a5788;--xjz-avatar-lilac:#eae3f0;--xjz-on-avatar-lilac:#574569;--xjz-avatar-plum:#efdcea;--xjz-on-avatar-plum:#6e3f62;--xjz-avatar-rose:#f7dee7;--xjz-on-avatar-rose:#96496a;--xjz-avatar-blush:#f7e1de;--xjz-on-avatar-blush:#96504a;--xjz-avatar-stone:#e7e3dd;--xjz-on-avatar-stone:#5a534a;--xjz-space-xs:4px;--xjz-space-sm:8px;--xjz-space-md:12px;--xjz-space-lg:16px;--xjz-space-xl:20px;--xjz-space-xxl:24px;--xjz-space-page:24px;--xjz-space-row:64px;--xjz-radius-hero:30px;--xjz-radius-card:24px;--xjz-radius-key:20px;--xjz-radius-inner:14px;--xjz-font-hero-size:44px;--xjz-font-hero-weight:500;--xjz-font-amount-medium-size:22px;--xjz-font-amount-medium-weight:500;--xjz-font-amount-row-size:16px;--xjz-font-amount-row-weight:500;--xjz-font-caption-number-size:12px;--xjz-font-caption-number-weight:700;--xjz-font-title-size:28px;--xjz-font-title-weight:600;--xjz-font-headline-size:15px;--xjz-font-headline-weight:600;--xjz-font-body-size:15px;--xjz-font-body-weight:500;--xjz-font-label-size:12px;--xjz-font-label-weight:700;--xjz-font-caption-size:11px;--xjz-font-caption-weight:400;--xjz-font-note-size:12px;--xjz-font-note-weight:400;--xjz-font-emphasis-size:12px;--xjz-font-emphasis-weight:600;--xjz-font-field-label-size:13px;--xjz-font-field-label-weight:400;--xjz-font-subhead-size:14px;--xjz-font-subhead-weight:600;--xjz-font-tag-size:11px;--xjz-font-tag-weight:700;--xjz-font-body:-apple-system, "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;--xjz-font-number:ui-rounded, "SF Pro Rounded", -apple-system, system-ui, sans-serif;--xjz-motion-crossfade:.2s;--xjz-motion-press:80ms}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--xjz-paper:#25211d;--xjz-surface:#312b25;--xjz-surface-raised:#3f352c;--xjz-ink:#f4e8d8;--xjz-ink-secondary:#d6c3ae;--xjz-ink-tertiary:#c1ac97;--xjz-ink-faint:#b8a38e;--xjz-line:#4d4034;--xjz-primary:#e7b391;--xjz-on-primary:#3e291d;--xjz-primary-soft:#513b2d;--xjz-primary-muted:#987057;--xjz-income:#b2c39c;--xjz-danger:#e8a497;--xjz-income-soft:#37412e;--xjz-income-bar:#98a781;--xjz-income-bar-muted:#5a6547;--xjz-income-legend:#98a781;--xjz-on-income-soft:#e0e7d1;--xjz-expense-ramp-1:#e7b391;--xjz-expense-ramp-2:#ca9675;--xjz-expense-ramp-3:#987057;--xjz-expense-ramp-4:#513b2d;--xjz-income-ramp-1:#b2c39c;--xjz-income-ramp-2:#98a781;--xjz-income-ramp-3:#5a6547;--xjz-income-ramp-4:#37412e;--xjz-shadow:#080604;--xjz-inverse:#ead8c2;--xjz-on-inverse:#35281f;--xjz-hero:#47372a;--xjz-on-hero:#f5e2ce;--xjz-hero-secondary:#d1b59a;--xjz-hero-accent:#b2c39c;--xjz-sunlight:#d3ac68;--xjz-avatar-clay:#513b2d;--xjz-on-avatar-clay:#e7b391;--xjz-avatar-sun:#4a3a21;--xjz-on-avatar-sun:#f0d2a0;--xjz-avatar-olive:#43411f;--xjz-on-avatar-olive:#dcd79a;--xjz-avatar-sage:#37412e;--xjz-on-avatar-sage:#e0e7d1;--xjz-avatar-teal:#23403b;--xjz-on-avatar-teal:#a8d2c8;--xjz-avatar-mist:#2f3e45;--xjz-on-avatar-mist:#c7dce4;--xjz-avatar-sky:#2b3a52;--xjz-on-avatar-sky:#b9cdec;--xjz-avatar-lilac:#3b3243;--xjz-on-avatar-lilac:#dccfe6;--xjz-avatar-plum:#43293d;--xjz-on-avatar-plum:#e2bcd6;--xjz-avatar-rose:#4a2b37;--xjz-on-avatar-rose:#f0bbd0;--xjz-avatar-blush:#4c3230;--xjz-on-avatar-blush:#f0c9c4;--xjz-avatar-stone:#3d3833;--xjz-on-avatar-stone:#d6cec4}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--xjz-paper:#25211d;--xjz-surface:#312b25;--xjz-surface-raised:#3f352c;--xjz-ink:#f4e8d8;--xjz-ink-secondary:#d6c3ae;--xjz-ink-tertiary:#c1ac97;--xjz-ink-faint:#b8a38e;--xjz-line:#4d4034;--xjz-primary:#e7b391;--xjz-on-primary:#3e291d;--xjz-primary-soft:#513b2d;--xjz-primary-muted:#987057;--xjz-income:#b2c39c;--xjz-danger:#e8a497;--xjz-income-soft:#37412e;--xjz-income-bar:#98a781;--xjz-income-bar-muted:#5a6547;--xjz-income-legend:#98a781;--xjz-on-income-soft:#e0e7d1;--xjz-expense-ramp-1:#e7b391;--xjz-expense-ramp-2:#ca9675;--xjz-expense-ramp-3:#987057;--xjz-expense-ramp-4:#513b2d;--xjz-income-ramp-1:#b2c39c;--xjz-income-ramp-2:#98a781;--xjz-income-ramp-3:#5a6547;--xjz-income-ramp-4:#37412e;--xjz-shadow:#080604;--xjz-inverse:#ead8c2;--xjz-on-inverse:#35281f;--xjz-hero:#47372a;--xjz-on-hero:#f5e2ce;--xjz-hero-secondary:#d1b59a;--xjz-hero-accent:#b2c39c;--xjz-sunlight:#d3ac68;--xjz-avatar-clay:#513b2d;--xjz-on-avatar-clay:#e7b391;--xjz-avatar-sun:#4a3a21;--xjz-on-avatar-sun:#f0d2a0;--xjz-avatar-olive:#43411f;--xjz-on-avatar-olive:#dcd79a;--xjz-avatar-sage:#37412e;--xjz-on-avatar-sage:#e0e7d1;--xjz-avatar-teal:#23403b;--xjz-on-avatar-teal:#a8d2c8;--xjz-avatar-mist:#2f3e45;--xjz-on-avatar-mist:#c7dce4;--xjz-avatar-sky:#2b3a52;--xjz-on-avatar-sky:#b9cdec;--xjz-avatar-lilac:#3b3243;--xjz-on-avatar-lilac:#dccfe6;--xjz-avatar-plum:#43293d;--xjz-on-avatar-plum:#e2bcd6;--xjz-avatar-rose:#4a2b37;--xjz-on-avatar-rose:#f0bbd0;--xjz-avatar-blush:#4c3230;--xjz-on-avatar-blush:#f0c9c4;--xjz-avatar-stone:#3d3833;--xjz-on-avatar-stone:#d6cec4}:root{--paper:var(--xjz-paper);--surface:var(--xjz-surface);--surface-raised:var(--xjz-surface-raised);--ink:var(--xjz-ink);--ink-secondary:var(--xjz-ink-secondary);--ink-tertiary:var(--xjz-ink-tertiary);--ink-faint:var(--xjz-ink-faint);--line:var(--xjz-line);--grabber:var(--xjz-line);--primary:var(--xjz-primary);--on-primary:var(--xjz-on-primary);--primary-soft:var(--xjz-primary-soft);--primary-muted:var(--xjz-primary-muted);--on-primary-soft:var(--xjz-on-hero);--income:var(--xjz-income);--income-soft:var(--xjz-income-soft);--income-bar:var(--xjz-income-bar);--income-bar-muted:var(--xjz-income-bar-muted);--income-legend:var(--xjz-income-legend);--on-income-soft:var(--xjz-on-income-soft);--danger:var(--xjz-danger);--transfer:var(--xjz-ink-secondary);--inverse:var(--xjz-inverse);--on-inverse:var(--xjz-on-inverse);--hero:var(--xjz-hero);--on-hero:var(--xjz-on-hero);--hero-secondary:var(--xjz-hero-secondary);--hero-accent:var(--xjz-hero-accent);--caramel-on-primary:var(--xjz-on-hero);--sunlight:var(--xjz-sunlight);--avatar-clay:var(--xjz-avatar-clay);--on-avatar-clay:var(--xjz-on-avatar-clay);--avatar-sun:var(--xjz-avatar-sun);--on-avatar-sun:var(--xjz-on-avatar-sun);--avatar-olive:var(--xjz-avatar-olive);--on-avatar-olive:var(--xjz-on-avatar-olive);--avatar-sage:var(--xjz-avatar-sage);--on-avatar-sage:var(--xjz-on-avatar-sage);--avatar-teal:var(--xjz-avatar-teal);--on-avatar-teal:var(--xjz-on-avatar-teal);--avatar-mist:var(--xjz-avatar-mist);--on-avatar-mist:var(--xjz-on-avatar-mist);--avatar-sky:var(--xjz-avatar-sky);--on-avatar-sky:var(--xjz-on-avatar-sky);--avatar-lilac:var(--xjz-avatar-lilac);--on-avatar-lilac:var(--xjz-on-avatar-lilac);--avatar-plum:var(--xjz-avatar-plum);--on-avatar-plum:var(--xjz-on-avatar-plum);--avatar-rose:var(--xjz-avatar-rose);--on-avatar-rose:var(--xjz-on-avatar-rose);--avatar-blush:var(--xjz-avatar-blush);--on-avatar-blush:var(--xjz-on-avatar-blush);--avatar-stone:var(--xjz-avatar-stone);--on-avatar-stone:var(--xjz-on-avatar-stone);--ramp-1:var(--xjz-expense-ramp-1);--ramp-2:var(--xjz-expense-ramp-2);--ramp-3:var(--xjz-expense-ramp-3);--ramp-4:var(--xjz-expense-ramp-4);--income-ramp-1:var(--xjz-income-ramp-1);--income-ramp-2:var(--xjz-income-ramp-2);--income-ramp-3:var(--xjz-income-ramp-3);--income-ramp-4:var(--xjz-income-ramp-4);--white:#fff;--shadow-color:var(--xjz-shadow);--shadow-card:0 1px 2px color-mix(in srgb, var(--shadow-color) 4%, transparent);--shadow-card-soft:0 1px 2px color-mix(in srgb, var(--shadow-color) 3%, transparent);--shadow-chip:0 1px 2px color-mix(in srgb, var(--shadow-color) 5%, transparent);--shadow-key:0 1px 2px color-mix(in srgb, var(--shadow-color) 3%, transparent);--shadow-float:0 6px 16px color-mix(in srgb, var(--shadow-color) 9%, transparent);--shadow-menu:0 12px 32px color-mix(in srgb, var(--shadow-color) 16%, transparent);--shadow-primary:0 6px 16px color-mix(in srgb, var(--primary) 22%, transparent);--shadow-primary-strong:0 8px 20px color-mix(in srgb, var(--primary) 28%, transparent);--shadow-hero-primary:none;--shadow-category:0 6px 14px color-mix(in srgb, var(--primary) 24%, transparent);--hairline:0 0 0 .5px var(--line);--radius-hero:var(--xjz-radius-hero);--radius-card:var(--xjz-radius-card);--radius-key:var(--xjz-radius-key);--radius-inner:var(--xjz-radius-inner);--radius-sheet:30px;--page:var(--xjz-space-page);--row:var(--xjz-space-row);--font-cn:var(--xjz-font-body);--font-num:var(--xjz-font-number);--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--dock-height:72px;--dock-gap:max(var(--xjz-space-sm), calc(var(--safe-bottom) - 16px));--dock-inset:calc(var(--dock-height) + var(--dock-gap));--app-max-width:480px;--desktop-ground:#f1e8da}:root[data-theme=dark]{--desktop-ground:#1c1814}*{box-sizing:border-box}:root{--row-inset:4px;--field-label-width:56px;--row-radius:12px}html,body,#root{min-height:100%;margin:0;padding:0}html{background:var(--paper);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{font-family:var(--font-cn);color:var(--ink);-webkit-font-smoothing:antialiased;overscroll-behavior-y:none;font-size:15px;line-height:1.4}button,input,select,textarea{font:inherit;color:inherit}input,textarea{margin:0;padding:0}input.invalid{color:var(--danger)}button{cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;background:0 0;border:0;margin:0;padding:0}button:disabled{cursor:default}a{color:var(--primary);text-decoration:none}input::placeholder,textarea::placeholder{color:var(--ink-faint)}input:focus,textarea:focus,select:focus,button:focus-visible{outline:none}.field-row:focus-within .field-label{color:var(--primary)}.inline-input input:focus,.search-bar:focus-within,.note-bar:focus-within{box-shadow:0 0 0 2px var(--primary-soft)}button:focus-visible,a:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.num{font-family:var(--font-num);font-variant-numeric:tabular-nums;letter-spacing:-.005em;font-weight:500}.app-shell{min-height:100dvh;max-width:var(--app-max-width);background:var(--paper);flex-direction:column;margin:0 auto;display:flex;position:relative;overflow-x:clip}@media (min-width:560px){html{background:var(--desktop-ground)}.app-shell{box-shadow:0 0 0 1px color-mix(in srgb, var(--shadow-color) 6%, transparent), 0 24px 60px color-mix(in srgb, var(--shadow-color) 10%, transparent)}}.page{padding-top:calc(var(--safe-top) + 6px);padding-bottom:calc(var(--dock-inset) + 18px);flex-direction:column;flex:1;display:flex}.app-content.no-dock .page{padding-bottom:calc(var(--safe-bottom) + 24px)}.page-body{padding:0 var(--page);flex-direction:column;gap:12px;display:flex}.page-header{padding:14px var(--page) 20px;justify-content:space-between;align-items:center;gap:8px;display:flex}.page-titles{flex-direction:column;gap:4px;min-width:0;display:flex}.page-subtitle{color:var(--ink-tertiary);font-size:12px}.page-title{color:var(--ink);letter-spacing:-.01em;font-size:28px;font-weight:600;line-height:1.2}.page-header-trailing{align-items:center;gap:8px;display:flex}.sub-header{padding:8px var(--page) 12px;align-items:center;gap:12px;display:flex}.sub-header .page-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:24px;overflow:hidden}.card{background:var(--surface);border-radius:var(--radius-card);box-shadow:var(--hairline), var(--shadow-card-soft);padding:6px 16px}.card.hero{border-radius:var(--radius-hero);padding:20px}.card.hero.tinted{background:var(--hero);color:var(--on-hero);box-shadow:0 0 0 .5px color-mix(in srgb, var(--on-hero) 6%, transparent);padding:24px}.card.flush{padding:0 16px}.card.tight{padding:2px 16px}.card.dark{background:var(--inverse);color:var(--on-inverse);border-radius:var(--radius-card);box-shadow:none;padding:18px 18px 16px}.hairline{background:var(--line);height:1px}.hairline.inset{margin-left:52px}.section-title{color:var(--ink);justify-content:space-between;align-items:baseline;gap:12px;padding:12px 0 4px;font-size:15px;font-weight:600;display:flex}.section-title .trailing{color:var(--ink-secondary);align-items:center;gap:8px;font-size:12px;font-weight:700;display:inline-flex}.section-title .section-search{width:30px;height:30px;color:var(--ink-secondary);background:var(--surface);box-shadow:var(--hairline);border-radius:10px;justify-content:center;align-items:center;display:inline-flex}.section-title .section-search svg{width:15px;height:15px}.section-title.large{align-items:center;padding:8px 0 0;font-size:18px;font-weight:600}.section-title.large .trailing{color:var(--ink-tertiary);font-size:12px;font-weight:400}.footnote{color:var(--ink-tertiary);margin:0;padding:0 4px;font-size:12px;line-height:1.5}.footnote.faint{color:var(--ink-faint);font-size:11px}.version-footer{text-align:center;flex-direction:column;align-items:center;gap:2px;padding-top:8px;display:flex}.footnote .text-button{font-size:inherit;vertical-align:baseline;gap:4px;font-weight:500}.glyph{background:var(--surface-raised);color:var(--primary);flex:none;justify-content:center;align-items:center;font-weight:700;line-height:1;transition:background .2s,color .2s;display:inline-flex}.glyph svg{display:block}.glyph.latin{font-family:var(--font-num);font-weight:700}.glyph.tone-soft{background:var(--primary-soft)}.glyph.tone-income{background:var(--income-soft);color:var(--income)}.glyph.tone-inverse{background:var(--primary);color:var(--on-primary)}.glyph.tone-faint{color:var(--ink-faint)}.glyph.tone-dark{background:var(--inverse);color:var(--income-soft)}.chip{color:var(--ink-secondary);background:var(--surface);box-shadow:var(--shadow-chip);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:7px 12px;font-size:12px;font-weight:600;transition:transform 80ms ease-out;display:inline-flex}.chip.selected{background:var(--primary-soft);color:var(--on-primary-soft);box-shadow:none}.chip.sub{color:var(--ink-faint);padding:6px 12px}.chip.sub.selected{color:var(--on-primary-soft)}.chip.solid.selected{background:var(--primary);color:var(--on-primary)}.chip.plain{color:var(--ink-secondary)}.chip .chip-type,.chip .chip-time{color:var(--ink-faint)}.chip .chip-type{font-weight:500}.chip .chip-type:before{content:"·";margin-right:4px}.chip.toggle{gap:6px;min-height:36px}.chip .caret{color:var(--ink-tertiary);font-size:11px}.mini-chip{background:var(--primary-soft);color:var(--primary);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:6px 10px;font-size:11px;font-weight:700;display:inline-flex}.mini-chip.faint{background:var(--surface-raised);color:var(--ink-secondary)}.mini-chip.hero{background:color-mix(in srgb, var(--surface) 55%, transparent);color:var(--on-hero)}.mini-chip.filled{background:var(--primary);color:var(--on-primary)}.mini-chip.income{background:var(--income-soft);color:var(--income)}.mini-chip.alert{background:var(--danger);color:var(--on-primary)}.mini-chip.dashed{border:1px dashed var(--ink-faint);color:var(--ink-tertiary);background:0 0}.pressable:active{transition:transform 80ms ease-out;transform:scale(.96)}.circle-button{border-radius:var(--radius-inner);background:var(--surface);width:44px;height:44px;box-shadow:var(--hairline), var(--shadow-chip);color:var(--ink);flex:none;justify-content:center;align-items:center;font-size:22px;font-weight:300;line-height:1;display:inline-flex}.circle-button.raised{background:var(--surface-raised);color:var(--primary);box-shadow:none}.circle-button svg{width:18px;height:18px}.primary-button{border-radius:var(--radius-inner);background:var(--primary);width:100%;height:56px;color:var(--on-primary);box-shadow:var(--shadow-primary);justify-content:center;align-items:center;gap:8px;font-size:15px;font-weight:600;transition:background .2s,box-shadow .2s;display:inline-flex}.primary-button.loading{cursor:progress;background:color-mix(in srgb, var(--primary) 80%, var(--paper))}.primary-button.income.loading{background:color-mix(in srgb, var(--income) 80%, var(--paper))}.primary-button.compact{height:48px}.primary-button.income{background:var(--income);box-shadow:0 6px 16px color-mix(in srgb, var(--income) 22%, transparent)}.primary-button:disabled{background:color-mix(in srgb, var(--primary) 35%, var(--paper));box-shadow:none}.primary-button.income:disabled{background:color-mix(in srgb, var(--income) 35%, var(--paper))}.outline-button{border:1.5px solid var(--primary);height:48px;color:var(--primary);background:0 0;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 20px;font-size:15px;font-weight:600;display:inline-flex}.outline-button.filled{background:var(--primary);color:var(--on-primary)}.outline-button:disabled{border-color:color-mix(in srgb, var(--primary) 35%, var(--paper));color:color-mix(in srgb, var(--primary) 45%, var(--paper))}.outline-button.loading{cursor:progress}.text-button{white-space:nowrap;color:var(--primary);flex-shrink:0;align-items:center;gap:6px;font-size:14px;font-weight:600;display:inline-flex}.text-button.loading{color:var(--ink-tertiary);cursor:progress}.text-button.muted{color:var(--ink-tertiary);font-weight:400}.text-button.danger{color:var(--danger);font-weight:600}.text-button:disabled{color:var(--ink-faint);font-weight:600}.segment{background:var(--surface);box-shadow:var(--hairline), var(--shadow-chip);border-radius:999px;gap:4px;padding:4px;display:inline-flex}.segment.compact{background:var(--paper);box-shadow:none;padding:3px}.segment button{min-height:40px;color:var(--ink-secondary);border-radius:999px;padding:0 20px;font-size:14px;font-weight:600;transition:background .15s ease-out,color .15s ease-out}.segment.compact button{min-height:32px;padding:0 14px;font-size:13px}.segment button.selected{color:var(--on-primary)}.pro-badge{background:var(--inverse);color:var(--on-inverse);font-family:var(--font-num);letter-spacing:.08em;border-radius:999px;align-items:center;padding:3px 7px;font-size:10px;font-weight:700;display:inline-flex}.pro-badge.caramel{background:var(--income-soft);color:var(--on-income-soft)}.row{text-align:left;width:100%;min-height:56px;color:var(--ink);align-items:center;gap:12px;display:flex}.row-main{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.row-title{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:500;overflow:hidden}.row-sub{color:var(--ink-tertiary);white-space:nowrap;text-overflow:ellipsis;gap:6px;font-size:12px;display:flex;overflow:hidden}.row-sub .tag{color:var(--primary)}.family-row .row-sub{white-space:normal;line-height:1.45;display:block}.row-sub .row-time{color:var(--ink-faint);flex:none}.row-trailing{flex-direction:column;flex:none;align-items:flex-end;gap:2px;display:flex}.row-amount{color:var(--ink);font-size:16px;font-weight:500}.row-amount.income{color:var(--income)}.row-amount.faint{color:var(--ink-faint)}.row-trailing .row-caption{text-overflow:ellipsis;white-space:nowrap;max-width:140px;overflow:hidden}.row-source .row-caption.keep{flex:none;max-width:none}.row-source{align-items:center;gap:5px;min-width:0;display:flex}.row-by{flex:none;display:inline-flex}.profile-preview{flex-direction:column;align-items:center;gap:10px;padding:8px 0 20px;display:flex}.avatar-picker{grid-template-columns:repeat(auto-fit,minmax(46px,1fr));justify-items:center;gap:12px;display:grid}.avatar-swatch{border:2px solid #0000;border-radius:999px;padding:3px}.avatar-swatch.picked{border-color:var(--primary)}.swipe-row{--row-bleed:0px;border-radius:var(--row-radius);position:relative;overflow:hidden}.swipe-actions{top:var(--row-inset);bottom:var(--row-inset);border-radius:var(--row-radius);display:flex;position:absolute;right:0;overflow:hidden}.swipe-action{white-space:nowrap;background:var(--surface-raised);min-width:0;color:var(--ink-secondary);flex:1 1 0;font-size:13px;font-weight:600}.swipe-action.danger{background:var(--danger);color:var(--on-primary)}.swipe-content{background:var(--surface);position:relative}.avatar{border-radius:999px;flex:none;justify-content:center;align-items:center;font-weight:700;line-height:1;display:inline-flex}.avatar.tone-clay{background:var(--avatar-clay);color:var(--on-avatar-clay)}.avatar.tone-sun{background:var(--avatar-sun);color:var(--on-avatar-sun)}.avatar.tone-olive{background:var(--avatar-olive);color:var(--on-avatar-olive)}.avatar.tone-sage{background:var(--avatar-sage);color:var(--on-avatar-sage)}.avatar.tone-teal{background:var(--avatar-teal);color:var(--on-avatar-teal)}.avatar.tone-mist{background:var(--avatar-mist);color:var(--on-avatar-mist)}.avatar.tone-sky{background:var(--avatar-sky);color:var(--on-avatar-sky)}.avatar.tone-lilac{background:var(--avatar-lilac);color:var(--on-avatar-lilac)}.avatar.tone-plum{background:var(--avatar-plum);color:var(--on-avatar-plum)}.avatar.tone-rose{background:var(--avatar-rose);color:var(--on-avatar-rose)}.avatar.tone-blush{background:var(--avatar-blush);color:var(--on-avatar-blush)}.avatar.tone-stone{background:var(--avatar-stone);color:var(--on-avatar-stone)}.row-caption{color:var(--ink-faint);font-size:11px}.chevron{color:var(--ink-faint);flex:none;font-size:16px}.field-row{align-items:center;gap:12px;min-height:54px;display:flex}.field-row .field-label{min-width:var(--field-label-width);white-space:nowrap;color:var(--ink-tertiary);flex:none;font-size:13px}.field-row .field-value{min-width:0;color:var(--ink);flex:1;align-items:center;gap:10px;font-size:15px;font-weight:500;display:flex}.field-row .field-value.placeholder{color:var(--ink-faint)}.field-row input,.field-row select{min-width:0;color:var(--ink);background:0 0;border:0;flex:1;font-size:15px;font-weight:500}.field-row input.num{text-align:right;font-size:16px}.hairline.field{margin-left:calc(var(--field-label-width) + 12px)}.nav-row{text-align:left;width:100%;min-height:52px;color:var(--ink);align-items:center;gap:12px;display:flex}.nav-row .nav-title{flex:1;font-size:15px;font-weight:500}.nav-row .nav-value{color:var(--ink-tertiary);white-space:nowrap;text-overflow:ellipsis;max-width:45%;font-size:12px;font-weight:500;overflow:hidden}.nav-row .nav-value.primary{color:var(--primary)}.nav-row.loading{cursor:progress}.nav-row:disabled:not(.loading){opacity:.5}.hairline.nav{margin-left:44px}.empty-state{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:28px 20px;display:flex}.empty-badge{background:var(--surface-raised);width:72px;height:72px;color:var(--primary);border-radius:22px;justify-content:center;align-items:center;margin-bottom:6px;display:flex}.empty-title{color:var(--ink);font-size:17px;font-weight:600}.empty-message{color:var(--ink-tertiary);white-space:pre-line;font-size:13px;line-height:1.6}.empty-actions{gap:10px;margin-top:10px;display:flex}.floating-bar{z-index:30;pointer-events:none;justify-content:center;display:flex;position:fixed;bottom:0;left:0;right:0}.floating-bar-inner{pointer-events:auto;width:100%;max-width:var(--app-max-width);padding:0 var(--page) var(--dock-gap);display:flex}.tab-bar{background:var(--surface);box-shadow:var(--hairline), var(--shadow-float);border-radius:26px;flex:1;align-items:center;padding:10px;display:flex}.tab-item{min-width:0;min-height:50px;color:var(--ink-tertiary);border-radius:15px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:5px;transition:background .2s,color .2s;display:flex}.tab-item .tab-icon{align-items:center;height:23px;display:inline-flex}.tab-item .tab-label{color:inherit;letter-spacing:.02em;white-space:nowrap;font-size:10px;font-weight:400}.tab-item.selected{background:color-mix(in srgb, var(--primary-soft) 55%, transparent);color:var(--primary)}.tab-item.selected .tab-label{font-weight:600}.tab-item:active .tab-icon{transform:scale(.92)}.fab{border-radius:var(--radius-key);background:var(--primary);width:52px;height:52px;color:var(--on-primary);flex:none;justify-content:center;align-items:center;margin:0 8px;transition:transform 80ms ease-out;display:flex}.fab:active{transform:scale(.96)}.sheet-backdrop{z-index:40;background:color-mix(in srgb, var(--shadow-color) 40%, transparent);inset:0;bottom:var(--keyboard-inset,0px);justify-content:center;align-items:flex-end;animation:.18s ease-out fade-in;display:flex;position:fixed}.sheet{--sheet-top-gap:24px;--sheet-available-height:max(0px, calc(100dvh - var(--sheet-top-gap) - var(--keyboard-inset,0px)));width:100%;max-width:var(--app-max-width);max-height:var(--sheet-available-height);background:var(--paper);border-radius:var(--radius-sheet) var(--radius-sheet) 0 0;padding-bottom:var(--safe-bottom);flex-direction:column;animation:.32s cubic-bezier(.2,.9,.3,1) slide-up;display:flex;overflow:hidden}.sheet.full{height:var(--sheet-available-height)}@media (min-width:560px) and (min-height:820px){.sheet.full{height:auto;min-height:min(600px, var(--sheet-available-height))}}.sheet.medium{max-height:min(70dvh, var(--sheet-available-height))}.sheet-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex:1;overflow-y:auto}.calendar{padding:8px 10px 12px}.calendar-head{justify-content:space-between;align-items:center;padding:4px 2px 8px;display:flex}.calendar-month{color:var(--ink);font-size:15px;font-weight:600}.calendar-nav{width:34px;height:34px;color:var(--ink-secondary);border-radius:50%;justify-content:center;align-items:center;font-size:15px;line-height:1;display:flex;position:relative}.calendar-nav:active{background:var(--surface-raised)}.calendar-nav:after{content:"";position:absolute;inset:-5px}.calendar-week,.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;display:grid}.calendar-week{padding-bottom:4px}.calendar-week span{text-align:center;color:var(--ink-faint);font-size:11px;font-weight:600}.calendar-cell{aspect-ratio:1;width:100%;min-width:0;min-height:38px;color:var(--ink);border-radius:50%;justify-content:center;align-items:center;font-size:15px;transition:background .12s ease-out;display:flex}.calendar-cell:disabled{color:var(--ink-faint);opacity:.35}.calendar-cell.today{color:var(--primary);background:var(--primary-soft);font-weight:700}.calendar-cell.selected{background:var(--primary);color:var(--on-primary);box-shadow:var(--shadow-primary);font-weight:600}.calendar-cell:not(.selected):not(:disabled):active{background:var(--surface-raised)}.field-row input.time-input{flex:none;min-height:32px;margin-left:auto;padding:0}.grabber{background:var(--grabber);border-radius:3px;flex:none;width:36px;height:5px;margin:10px auto 0}.sheet-header{padding:12px var(--page) 6px;justify-content:space-between;align-items:center;display:flex}.sheet-header .title{color:var(--ink);font-size:15px;font-weight:600}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-up{0%{opacity:.6;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.sheet,.sheet-backdrop,.menu-pop{animation:none}}.menu-pop{z-index:20;background:var(--surface);box-shadow:var(--hairline), var(--shadow-menu);transform-origin:0 0;border-radius:20px;width:240px;padding:8px;font-size:14px;animation:.18s ease-out pop-in;position:absolute}@keyframes pop-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.menu-item{text-align:left;width:100%;color:var(--ink);border-radius:12px;align-items:center;gap:10px;padding:10px;display:flex}.menu-item.selected{background:var(--surface-raised)}.menu-item .name{white-space:nowrap;text-overflow:ellipsis;flex:1;font-weight:500;overflow:hidden}.menu-item .meta{color:var(--ink-tertiary);font-size:11px}.menu-item.action{color:var(--primary);font-weight:500}.toast{left:50%;bottom:calc(var(--dock-inset) + 12px);z-index:60;background:var(--inverse);color:var(--on-inverse);box-shadow:var(--shadow-float);text-align:center;border-radius:999px;max-width:min(90vw,420px);padding:10px 16px;font-size:13px;font-weight:600;animation:.15s ease-out fade-in;position:fixed;transform:translate(-50%)}.toast.error{background:var(--danger);color:var(--on-primary)}.spinner{border:2px solid var(--primary-soft);border-top-color:var(--primary);border-radius:999px;flex:none;width:18px;height:18px;animation:.8s linear infinite spin}.spinner.inherit{border-color:color-mix(in srgb, currentColor 30%, transparent);border-top-color:currentColor}.notice-card{border-radius:var(--radius-card);background:var(--income-soft);color:var(--on-income-soft);align-items:flex-start;gap:12px;padding:14px 16px;font-size:14px;line-height:1.5;display:flex}.notice-card.alert{text-align:left;width:100%;font:inherit;background:var(--primary-soft);color:var(--on-primary-soft);cursor:pointer;border:0;align-items:center;font-size:14px}@keyframes spin{to{transform:rotate(360deg)}}.center-fill{color:var(--ink-tertiary);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;min-height:60vh;font-size:13px;display:flex}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.banner{margin:0 var(--page);background:var(--danger);color:var(--on-primary);border-radius:12px;padding:8px 12px;font-size:12px}.list-scroll-x{scrollbar-width:none;-webkit-overflow-scrolling:touch;display:flex;overflow-x:auto}.list-scroll-x::-webkit-scrollbar{display:none}.segment{position:relative}.segment-highlight{z-index:0;border-radius:999px;transition:transform .35s cubic-bezier(.2,.9,.3,1.05),width .35s cubic-bezier(.2,.9,.3,1.05),background .2s;position:absolute;top:4px;bottom:4px;left:0}.segment.compact .segment-highlight{top:3px;bottom:3px}.segment button{z-index:1;position:relative;background:0 0!important}.sheet-backdrop.closing{animation:.22s ease-in forwards fade-out}.sheet.closing{animation:.22s ease-in forwards slide-down}.sheet{will-change:transform;transition:transform .26s cubic-bezier(.2,.9,.3,1)}.grabber-zone{touch-action:none;padding:4px 0 2px}.sheet-drag{touch-action:none}@keyframes fade-out{to{opacity:0}}@keyframes slide-down{to{transform:translateY(100%)}}.app-content{transform-origin:50% 0;flex-direction:column;min-height:100dvh;transition:transform .32s cubic-bezier(.2,.9,.3,1),filter .32s,border-radius .32s;display:flex}.app-content.sheet-open{filter:brightness(.86);pointer-events:none;border-radius:24px;overflow:hidden;transform:scale(.96)translateY(6px)}.page{animation:.22s ease-out page-in}.enter{animation:.26s cubic-bezier(.2,.8,.3,1) both fade-up}@keyframes page-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes fade-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.skeleton{background:linear-gradient(90deg, var(--surface-raised) 25%, var(--line) 50%, var(--surface-raised) 75%);background-size:200% 100%;animation:1.4s ease-in-out infinite shimmer;display:block}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.check-mark{color:var(--primary);flex:none;font-weight:700}.symbol{font-weight:400}.row,.tx-row,.nav-row,.transfer-row,.account-card{isolation:isolate;border-radius:12px;position:relative}.row:before,.tx-row:before,.nav-row:before,.transfer-row:before,.account-card:before{content:"";inset:var(--row-inset) var(--row-bleed,-8px);border-radius:var(--row-radius);background:var(--surface-raised);opacity:0;z-index:-1;pointer-events:none;transition:opacity .12s ease-out,background .12s ease-out;position:absolute}.account-card:before{inset:var(--row-inset);border-radius:18px}.row.pressable-row:active:before,.tx-row:active:before,.nav-row:active:before,.transfer-row:active:before,.account-card:active:before{opacity:1}@media (hover:hover) and (pointer:fine){.row.pressable-row:hover:before,.tx-row:hover:before,.nav-row:hover:before,.transfer-row:hover:before,.account-card:hover:before{opacity:1;background:color-mix(in srgb, var(--ink) 5%, transparent)}.row.pressable-row:active:before,.tx-row:active:before,.nav-row:active:before,.transfer-row:active:before,.account-card:active:before{background:var(--surface-raised)}.menu-item:hover{background:color-mix(in srgb, var(--ink) 5%, transparent)}.chip:hover,.circle-button:hover,.mini-chip:hover{transition:transform .12s ease-out,box-shadow .12s;transform:translateY(-1px)}.key:hover{filter:brightness(.97)}.primary-button:hover:not(:disabled){filter:brightness(1.06)}.tab-item:hover:not(.selected){color:var(--ink-secondary);background:color-mix(in srgb, var(--ink) 4%, transparent)}.fab:hover{transform:translateY(-1px)}}.toast{animation:.22s cubic-bezier(.2,.9,.3,1) toast-in}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}.splash{min-height:100dvh;color:var(--ink-tertiary);flex-direction:column;justify-content:center;align-items:center;gap:14px;font-size:13px;display:flex}.splash .glyph{animation:1.6s ease-in-out infinite breathe}.splash.stalled{padding:0 var(--page)}.splash.stalled .glyph{animation:none}.splash.stalled>span{color:var(--ink);font-size:17px;font-weight:600}.splash-hint{text-align:center;max-width:264px;color:var(--ink-tertiary);margin:-4px 0 6px;line-height:1.6}.splash.stalled .primary-button{width:auto;min-width:176px;height:48px;padding:0 28px}@keyframes breathe{0%,to{opacity:1;transform:scale(1)}50%{opacity:.75;transform:scale(.92)}}@media (prefers-reduced-motion:reduce){.page,.enter,.toast,.splash .glyph,.skeleton,.sheet.closing,.sheet-backdrop.closing{animation:none}.segment-highlight,.tab-item,.sheet,.app-content,.chip,.budget-bar span,.pressable{transition:none}.app-content.sheet-open{transform:none}}.chevron{color:var(--ink-faint);flex:none;align-items:center;display:inline-flex}.chevron svg{width:14px;height:14px}.chevron.rotate svg{width:16px;height:16px;transition:transform .2s}.chevron.rotate.open svg{transform:rotate(180deg)}.icon-updown{width:16px;height:16px;color:var(--ink-faint);flex:none}.check-mark{color:var(--primary);align-items:center;display:inline-flex}.perk-row .check svg{width:14px;height:14px}.row-action{color:var(--ink-faint);flex:none;padding:6px 4px;font-size:12px;font-weight:600}.row-action:hover{color:var(--danger)}.child-mark{width:32px;color:var(--ink-faint);flex:none;justify-content:center;align-items:center;display:inline-flex}.code-input::placeholder{letter-spacing:normal;font-family:var(--font-cn);font-size:15px;font-weight:400}.brand-line{color:var(--ink-tertiary);align-items:center;gap:8px;font-size:12px;font-weight:500;display:inline-flex}.brand-line svg{color:var(--sunlight);flex:none}.circle-button.disabled{opacity:.4;pointer-events:none}.money-fit{width:100%;min-width:0;font-size:calc(var(--money-size,1em) * var(--money-fit,1));display:block}.money{display:block}.money.changed{animation:.26s ease-out money-in}@keyframes money-in{0%{opacity:.35;transform:translateY(4px)}to{opacity:1;transform:none}}.month-pill button,.color-dots button{position:relative}.month-pill button:after,.color-dots button:after{content:"";position:absolute;inset:-9px}@media (prefers-reduced-motion:reduce){.money.changed{animation:none}}.search-clear{width:28px;height:28px;color:var(--ink-tertiary);border-radius:999px;flex:none;justify-content:center;align-items:center;display:inline-flex}.search-clear svg{width:14px;height:14px}.home-header{padding:12px var(--page) 18px;flex-direction:column;gap:14px;display:flex}.home-brand,.home-title-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.ledger-menu-anchor{flex:1;min-width:0;display:flex;position:relative}.ledger-title{max-width:100%;min-height:44px;color:var(--ink);letter-spacing:-.01em;align-items:center;gap:10px;font-size:28px;font-weight:600;line-height:1.2;display:inline-flex}.ledger-title .name{white-space:nowrap;text-overflow:ellipsis;position:relative;overflow:hidden}.ledger-title .caret{color:var(--ink-tertiary);flex:none;display:inline-flex;transform:translateY(-1px)}.member-pill{background:color-mix(in srgb, var(--primary-soft) 60%, transparent);color:var(--ink-secondary);border-radius:999px;align-items:center;gap:6px;padding:6px 12px 6px 6px;font-size:12px;font-weight:600;display:inline-flex}.member-pill .count{background:var(--income-soft);width:20px;height:20px;color:var(--income);font-family:var(--font-num);border-radius:999px;justify-content:center;align-items:center;font-size:10px;font-weight:800;display:inline-flex}.member-pill .count.invite{background:var(--primary-soft);color:var(--primary)}.member-pill .count.invite svg{width:11px;height:11px}.search-bar{margin:0 var(--page) 12px;border-radius:var(--radius-inner);background:var(--surface);height:44px;box-shadow:var(--hairline);color:var(--ink-faint);align-items:center;gap:8px;padding:0 14px;display:flex}.page-body>.search-bar{margin:0}.search-bar .text-button{flex:none;font-size:13px}.search-bar input{color:var(--ink);background:0 0;border:0;flex:1;font-size:14px}.trend-card{flex-direction:column;gap:20px;display:flex}.trend-overview{flex-direction:column;gap:18px;display:flex}.trend-main{align-items:center;gap:8px;display:flex}.trend-main .texts{flex-direction:column;flex:1;align-self:flex-start;gap:10px;min-width:0;display:flex}.trend-main .caption{color:var(--hero-secondary);font-size:14px;font-weight:600}.month-pill.bare{box-shadow:none;background:0 0;margin-left:-6px;padding:0}.month-pill.bare .title,.month-pill.bare>span{min-width:0;font-size:inherit;font-weight:inherit;color:inherit}.month-pill.bare button{color:inherit;background:0 0}.month-pill.bare button:disabled{color:inherit;opacity:.35}.month-pill.bare button:not(:disabled):hover{background:color-mix(in srgb, var(--on-hero) 8%, transparent)}.trend-art{object-fit:contain;flex:none;width:80px;height:84px}@media (max-width:360px){.trend-art{width:60px;height:64px}}.trend-sun{color:var(--sunlight);flex:none;margin-right:4px}.hero-amount{font-family:var(--font-num);letter-spacing:-.01em;--money-size:44px;align-items:baseline;min-width:0;font-weight:500;display:flex}.hero-amount .symbol{color:var(--hero-secondary);margin-right:2px}.hero-amount.on-paper .symbol{color:var(--ink-faint)}.hero-amount .value{white-space:nowrap;min-width:0;line-height:1.05}.trend-stats{align-items:center;gap:20px;display:flex}.trend-stat{--money-size:22px;flex-direction:column;flex:1;gap:7px;min-width:0;display:flex}.trend-stat .label{color:var(--hero-secondary);font-size:12px}.trend-stat .value{white-space:nowrap}.trend-stat-divider{background:color-mix(in srgb, var(--on-hero) 10%, transparent);flex:none;width:1px;height:32px}.trend-rule{background:color-mix(in srgb, var(--on-hero) 10%, transparent);height:1px}.trend-section{flex-direction:column;gap:14px;display:flex}.trend-head{align-items:baseline;gap:8px;font-size:14px;font-weight:600;display:flex}.trend-head .range{color:var(--hero-secondary);flex:1;font-size:11px;font-weight:400}.trend-legend{color:var(--hero-secondary);gap:8px;font-size:10px;font-weight:400;display:flex}.trend-legend .dot{vertical-align:1px;border-radius:999px;width:5px;height:5px;margin-right:4px;display:inline-block}.trend-caption{color:var(--hero-secondary);font-size:11px;font-weight:400}.trend-bars{align-items:flex-end;display:flex}.trend-month{flex-direction:column;flex:1;align-items:center;gap:9px;min-width:0;display:flex}.trend-month .bars{align-items:flex-end;gap:4px;height:44px;display:flex}.trend-card.large .trend-month .bars{height:90px}.trend-month .bar{border-radius:3px;width:10px;transition:height .3s ease-in-out,background .2s}.trend-month .label{color:var(--hero-secondary);border-radius:999px;padding:4px 7px;font-size:11px;line-height:1.2}.trend-month.selected .label{color:var(--on-hero);background:color-mix(in srgb, var(--surface) 65%, transparent);font-weight:600}.trend-card.plain .trend-main .caption,.trend-card.plain .trend-head .range,.trend-card.plain .trend-legend,.trend-card.plain .trend-month .label{color:var(--ink-tertiary)}.trend-card.plain .trend-month.selected .label{color:var(--primary);background:var(--primary-soft)}.day-card{background:var(--surface);border-radius:var(--radius-card);box-shadow:var(--hairline), var(--shadow-card-soft);padding:4px 16px 6px}.day-head{color:var(--ink-secondary);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:2px 12px;padding:12px 0 6px;font-size:13px;font-weight:600;display:flex}.day-head>span{white-space:nowrap}.day-head .total{color:var(--ink);margin-left:auto;font-size:13px;font-weight:500}.tx-row{text-align:left;align-items:center;gap:12px;width:100%;min-height:60px;display:flex}.qa-header{padding:6px var(--page) 0;justify-content:space-between;align-items:center;gap:12px;display:flex}.qa-heading{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.qa-heading .chip{min-width:0;max-width:180px}.qa-heading .caret{flex:none}.qa-heading .chip-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.qa-title{color:var(--ink);flex:none;font-size:22px;font-weight:600}.qa-segment{padding:16px var(--page) 0;display:flex}.qa-body{contain-intrinsic-block-size:340px;flex-direction:column;min-height:0;display:flex;container:quick-add-body/size}@container quick-add-body (height<=320px){.qa-details{flex:none;overflow:visible}}.qa-body:has(input:focus)~.keypad{display:none}.qa-amount{padding:20px var(--page) 8px;flex-direction:column;flex:none;align-items:flex-start;display:flex}.qa-amount .display{align-items:baseline;gap:4px;max-width:100%;font-size:64px;display:flex;overflow:hidden}.qa-amount .display.small{font-size:48px}.qa-amount .display.tiny{font-size:36px}.qa-amount .symbol{color:var(--ink-faint)}.qa-amount .value{letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;flex:0 auto;min-width:0;max-width:calc(100vw - 80px);font-weight:400;line-height:1;overflow:hidden}.qa-amount .eval{font-family:var(--font-num);color:var(--ink-tertiary);white-space:nowrap;flex:none;margin-left:8px;font-size:15px;font-weight:700}.qa-chips{flex-wrap:wrap;gap:8px;max-width:100%;margin-top:8px;display:flex}.qa-chips .chip{min-width:0;max-width:100%}.qa-chips .chip-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.qa-chips .caret{flex:none}.category-rail{padding:18px var(--page) 4px;scrollbar-width:none;scroll-padding:0 var(--page);gap:8px;display:flex;overflow-x:auto}.category-rail::-webkit-scrollbar{display:none}.category-item{flex-direction:column;flex:none;align-items:center;gap:8px;width:60px;display:flex}.category-item .glyph{transition:background .2s,color .2s,box-shadow .2s,transform 80ms;box-shadow:0 0 0 1px #0000}.category-item .label{color:var(--ink-faint);white-space:nowrap;text-overflow:ellipsis;max-width:60px;font-size:11px;font-weight:600;overflow:hidden}.category-item.selected .glyph{box-shadow:0 0 0 1px var(--primary)}.category-item.selected .label{color:var(--primary)}.category-item.more .glyph{font-size:22px;font-weight:300}.category-item:active .glyph{transform:scale(.96)}.subcategory-row{padding:4px var(--page) 6px;scrollbar-width:none;gap:6px;display:flex;overflow-x:auto}.subcategory-row::-webkit-scrollbar{display:none}.note-bar{background:var(--surface);min-height:44px;box-shadow:var(--hairline), var(--shadow-chip);border-radius:999px;align-items:center;gap:6px;margin:8px 12px 0;padding:5px 5px 5px 16px;display:flex}.note-bar input{min-width:0;color:var(--ink);background:0 0;border:0;flex:1;font-size:13px}.note-bar .tags{scrollbar-width:none;gap:4px;max-width:50%;display:flex;overflow-x:auto}.keypad{padding:12px 12px max(12px, calc(30px - var(--safe-bottom)));grid-template-columns:repeat(4,1fr);grid-auto-rows:56px;gap:8px;display:grid}.key{border-radius:var(--radius-key);background:var(--surface);color:var(--ink);font-family:var(--font-num);box-shadow:var(--shadow-key);justify-content:center;align-items:center;font-size:27px;font-weight:400;transition:transform 80ms ease-out,background .2s;display:flex}.key:active{transform:scale(.96)}.key.op{background:var(--surface-raised);color:var(--primary);box-shadow:none;font-size:22px;font-weight:600}.key.op svg{width:22px;height:22px}.key.save{background:var(--primary);color:var(--on-primary);font-family:var(--font-cn);box-shadow:var(--shadow-primary);font-size:15px;font-weight:700}.key.save:disabled{box-shadow:none}.transfer-card{margin:26px var(--page) 0}.transfer-row{text-align:left;align-items:center;gap:12px;width:100%;height:56px;display:flex}.transfer-divider{align-items:center;gap:10px;margin-left:48px;display:flex}.transfer-divider .line{background:var(--line);flex:1;height:1px}.transfer-divider .arrow{background:var(--surface-raised);width:24px;height:24px;color:var(--primary);border-radius:8px;justify-content:center;align-items:center;font-size:12px;display:flex}.rate-row{align-items:center;gap:12px;height:52px;display:flex}.rate-row .label{color:var(--ink-tertiary);flex:1;font-size:13px}.rate-row input{text-align:right;width:120px;font-family:var(--font-num);color:var(--ink);border:0;border-bottom:1.5px solid var(--primary);background:0 0;padding-bottom:1px;font-size:16px;font-weight:500}.rate-row .unit{color:var(--ink-faint);font-size:12px}.picker-list{padding:4px var(--page) 16px;flex-direction:column;gap:8px;display:flex}.picker-title{padding:12px var(--page) 4px;text-align:center;font-size:15px;font-weight:600;position:relative}.picker-title .cancel{right:var(--page);font-size:14px;position:absolute;top:50%;transform:translateY(-50%)}.transfer-card{padding-bottom:16px}.chip-wrap{flex-wrap:wrap;gap:8px;display:flex}.inline-input{align-items:center;gap:8px;display:flex}.inline-input input{border-radius:var(--radius-inner);border:1px solid var(--line);background:var(--surface);flex:1;height:44px;padding:0 14px;font-size:14px}.editor-amount{flex-direction:column;align-items:center;gap:10px;padding-top:8px;display:flex}.editor-amount .display{align-items:baseline;gap:4px;padding-top:8px;font-size:48px;display:flex}.editor-amount .symbol{font-family:var(--font-num);color:var(--ink-faint)}.editor-amount input{text-align:center;max-width:min(240px,100vw - 120px);font-family:var(--font-num);font-variant-numeric:tabular-nums;font-size:inherit;letter-spacing:-.01em;background:0 0;border:0;font-weight:400}.editor-amount .hint{color:var(--ink-tertiary);font-size:12px}.signin{padding:calc(var(--safe-top) + 16px) var(--page) calc(var(--safe-bottom) + 24px);flex-direction:column;flex:1;gap:12px;display:flex}.brand{letter-spacing:.2em;color:var(--ink);align-items:center;gap:12px;font-size:15px;font-weight:600;display:flex}.brand-mark{background:var(--primary);width:40px;height:40px;color:var(--on-primary);border-radius:12px;flex:none;justify-content:center;align-items:center;display:inline-flex}.welcome-art{justify-content:center;align-items:center;height:310px;margin:4px 0;display:flex}.welcome-art img{object-fit:contain;max-width:100%;max-height:100%}@media (max-height:760px){.welcome-art{height:220px}}.signin h1{letter-spacing:-.01em;white-space:pre-line;margin:8px 0 0;font-size:34px;font-weight:600;line-height:1.35}.signin .lead{color:var(--ink-secondary);white-space:pre-line;margin:0 0 8px;font-size:15px;line-height:1.7}.signin-card{padding:0 16px}.signin-actions{flex-direction:column;align-items:center;gap:10px;padding:12px 0;display:flex}.code-input{font-family:var(--font-num);letter-spacing:.3em;font-size:22px;font-weight:500}.networth-card{background:var(--hero);color:var(--on-hero);border-radius:var(--radius-hero);box-shadow:0 0 0 .5px color-mix(in srgb, var(--on-hero) 6%, transparent);flex-direction:column;gap:14px;padding:24px;display:flex}.networth-head{color:var(--hero-secondary);justify-content:space-between;align-items:center;gap:8px;display:flex}.networth-head .label{align-items:center;gap:6px;font-size:14px;font-weight:600;display:inline-flex}.networth-head .hero-eye{color:inherit;opacity:.7;justify-content:center;align-items:center;margin:-14px -8px;padding:14px 10px;display:inline-flex}.networth-head .hero-eye:hover{opacity:1}.masked{letter-spacing:.04em}.networth-card .hero-amount{--money-size:46px}.networth-stats{gap:8px;display:flex}.networth-stat{background:color-mix(in srgb, var(--surface) 40%, transparent);border-radius:var(--radius-inner);--money-size:17px;flex-direction:column;flex:1;gap:2px;min-width:0;padding:10px 12px;display:flex}.networth-stat .label{color:var(--hero-secondary);font-size:11px}.networth-stat .value{white-space:nowrap}.networth-stat .symbol{color:var(--hero-secondary)}.networth-line{color:var(--hero-secondary);font-size:11px}.account-row .row-amount{flex:none;font-size:18px}.shared-mark{color:var(--primary);align-items:center;gap:5px;font-size:11px;font-weight:600;display:inline-flex}.shared-mark .avatars{display:inline-flex}.shared-mark .avatars span{border:1.5px solid var(--surface);box-sizing:border-box;border-radius:999px;width:12px;height:12px}.shared-mark .avatars span+span{margin-left:-5px}.month-pill{background:var(--surface);box-shadow:var(--hairline), var(--shadow-chip);border-radius:999px;align-items:center;gap:4px;padding:6px 8px;display:inline-flex}.month-pill .title{text-align:center;min-width:88px;color:var(--ink);font-size:13px;font-weight:700}.month-pill button{background:var(--surface-raised);width:26px;height:26px;color:var(--primary);border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.month-pill button svg{width:12px;height:12px}.month-pill button:disabled{color:var(--line);background:0 0}.report-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.report-head .segment{flex:none}.report-ledger{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--ink-tertiary);font-size:12px;font-weight:600;overflow:hidden}.report-label{color:var(--ink-tertiary);margin-top:24px;font-size:12px}.report-amount{--money-size:48px;margin-top:6px}.report-amount .symbol{color:var(--ink-tertiary)}.report-subline{color:var(--ink-tertiary);margin-top:4px;font-size:12px;font-weight:600}.stacked-bar{gap:2px;height:12px;margin-top:18px;display:flex}.stacked-bar span{border-radius:999px;min-width:4px;transition:width .3s ease-in-out}.breakdown-row{align-items:center;gap:12px;height:44px;display:flex}.breakdown-row .dot{border-radius:999px;flex:none;width:10px;height:10px}.breakdown-row .name{white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:15px;font-weight:500;overflow:hidden}.breakdown-row .percent{text-align:right;width:40px;color:var(--ink-faint);font-size:12px;font-weight:700}.breakdown-row .amount{text-align:right;min-width:80px;font-size:16px}.invite-card{text-align:center;flex-direction:column;align-items:center;gap:14px;display:flex;padding:26px 20px 20px!important}.invite-label{letter-spacing:.1em;color:var(--ink-faint);font-size:11px;font-weight:700}.invite-code{letter-spacing:.14em;color:var(--primary);font-size:40px;line-height:1}.invite-code.expired{color:var(--line);text-decoration:line-through;-webkit-text-decoration-color:var(--ink-faint);text-decoration-color:var(--ink-faint);text-decoration-thickness:3px}.invite-note{color:var(--ink-tertiary);font-size:12px}.invite-actions{gap:8px;width:100%;display:flex}.invite-actions .copy{flex:none;width:96px}.invite-actions .share{flex:1.4}.expired-line{color:var(--danger);align-items:center;gap:6px;font-size:12px;font-weight:600;display:inline-flex}.expired-line:before{content:"";background:var(--danger);border-radius:999px;width:6px;height:6px}.upsell{align-items:center;gap:12px;display:flex}.upsell .text{flex-direction:column;flex:1;gap:3px;display:flex}.upsell .title{font-size:14px;font-weight:700}.upsell .sub{opacity:.7;font-size:12px}.upsell .cta{background:var(--income-soft);color:var(--on-income-soft);border-radius:999px;padding:9px 14px;font-size:12px;font-weight:700}.qr-box{border-radius:var(--radius-hero);box-shadow:var(--shadow-card);background:#fff;padding:16px;display:inline-flex}.account-card{min-height:72px;padding:14px}.limit-card .head{justify-content:space-between;align-items:center;font-size:14px;font-weight:700;display:flex}.progress{background:color-mix(in srgb, var(--on-inverse) 18%, transparent);border-radius:999px;height:6px;margin:12px 0 10px;overflow:hidden}.progress span{background:var(--on-inverse);border-radius:999px;height:100%;display:block}.limit-card .sub{opacity:.7;margin-bottom:12px;font-size:12px}.limit-card .head+.sub{margin-top:10px}.limit-card .cta{border-radius:var(--radius-inner);background:var(--on-inverse);height:44px;color:var(--inverse);width:100%;font-size:14px;font-weight:600}.perk-row{align-items:center;gap:14px;height:52px;display:flex}.perk-row .check{background:var(--surface-raised);width:32px;height:32px;color:var(--primary);border-radius:10px;flex:none;justify-content:center;align-items:center;font-weight:700;display:flex}.perk-row .title{font-size:15px;font-weight:600}.perk-row .detail{color:var(--ink-tertiary);font-size:12px}.plan-row{border:1.5px solid var(--line);background:var(--surface);text-align:left;border-radius:20px;align-items:center;gap:12px;width:100%;min-height:62px;padding:10px 16px;display:flex}.plan-row.selected{border-color:var(--primary);background:var(--surface-raised)}.radio{border:1.5px solid var(--line);box-sizing:border-box;border-radius:999px;flex:none;width:20px;height:20px}.radio.on{border:6px solid var(--primary)}.form-list{flex-direction:column;gap:12px;display:flex}.color-dots{flex-wrap:wrap;gap:10px;padding:8px 0;display:flex}.color-dots button{color:#fff;border-radius:999px;justify-content:center;align-items:center;width:28px;height:28px;font-size:12px;font-weight:800;display:flex}.switch{background:var(--line);border-radius:999px;flex:none;width:44px;height:26px;transition:background .15s;position:relative}.switch.on{background:var(--primary)}.switch:after{content:"";background:var(--surface);width:20px;height:20px;box-shadow:0 1px 2px color-mix(in srgb, var(--shadow-color) 20%, transparent);border-radius:999px;transition:transform .15s;position:absolute;top:3px;left:3px}.switch.on:after{transform:translate(18px)}.status-row{align-items:center;gap:12px;height:64px;display:flex}.status-dot{background:var(--surface-raised);width:40px;height:40px;color:var(--primary);border-radius:12px;flex:none;justify-content:center;align-items:center;font-weight:700;display:flex}.status-dot.error{background:color-mix(in srgb, var(--danger) 14%, var(--surface));color:var(--danger)}.status-dot.muted{color:var(--ink-secondary)}.confirm-actions{padding:8px var(--page) 12px;flex-direction:column;gap:8px;display:flex}.confirm-title{padding:16px var(--page) 4px;text-align:center;font-size:15px;font-weight:600}.confirm-message{padding:0 var(--page) 12px;color:var(--ink-tertiary);text-align:center;font-size:13px;line-height:1.5}.confirm-cancel{align-self:center;min-height:44px;padding:0 20px}.budget-card{flex-direction:column;gap:8px;padding:14px 16px 12px;display:flex}.budget-switch{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.budget-switch-glyph{border-radius:999px;width:20px;height:20px}.budget-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;display:flex}.budget-label{color:var(--ink);font-size:13px;font-weight:700}.budget-card{--budget-ink:var(--ink-secondary);--budget-fill:var(--income)}.budget-card.near{--budget-ink:var(--primary);--budget-fill:var(--primary)}.budget-card.over{--budget-ink:var(--danger);--budget-fill:var(--danger)}.budget-headline{color:var(--budget-ink);text-align:right;min-width:0;font-size:14px;font-weight:700}.budget-bar{background:var(--line);border-radius:999px;height:8px;overflow:hidden}.budget-bar span{background:var(--budget-fill);border-radius:999px;height:100%;transition:width .28s ease-out;display:block}.trend-month .bar{transform-origin:bottom;animation:.48s cubic-bezier(.2,.9,.3,1.1) both grow-bar}@keyframes grow-bar{0%{opacity:.4;transform:scaleY(.05)}to{opacity:1;transform:scaleY(1)}}.category-item.selected .glyph{animation:.22s cubic-bezier(.2,.9,.3,1.3) pop}@keyframes pop{0%{transform:scale(.88)}60%{transform:scale(1.06)}to{transform:scale(1)}}.qa-amount .value.settle{animation:.2s ease-out settle}@keyframes settle{0%{opacity:.4;transform:translateY(10px)}to{opacity:1;transform:none}}.sync-status{color:var(--ink-secondary);background:var(--surface);box-shadow:var(--hairline);white-space:nowrap;border-radius:999px;flex:none;align-items:center;gap:5px;padding:5px 9px;font-size:11px;font-weight:600;display:inline-flex}.sync-status .dot{background:var(--ink-faint);border-radius:999px;width:6px;height:6px}.sync-status.busy .dot{background:var(--primary);animation:1.2s ease-in-out infinite breathe}.sync-status.error{color:var(--danger)}.sync-status.error .dot{background:var(--danger)}@media (prefers-reduced-motion:reduce){.trend-month .bar,.category-item.selected .glyph,.qa-amount .value.settle,.sync-status.busy .dot{animation:none}}.search-bar svg{flex:none;width:16px;height:16px}.month-empty{color:var(--ink-tertiary);text-align:center;flex-direction:column;align-items:center;gap:8px;padding:36px 0 12px;font-size:13px;display:flex}@media (max-height:780px){.sheet .grabber-zone{padding:2px 0 0}.sheet .grabber{margin-top:6px}.qa-header{padding-top:4px}.qa-segment{padding-top:10px}.qa-segment .segment button{min-height:36px}.qa-amount{padding:12px var(--page) 6px}.qa-amount .display{font-size:50px}.qa-amount .qa-chips{margin-top:6px}.qa-segment .segment{padding:3px}.category-rail{padding-top:8px}.category-item{gap:6px}.note-bar{min-height:40px;margin-top:6px}.keypad{padding:8px 12px max(8px, calc(14px - var(--safe-bottom)));grid-auto-rows:44px;gap:7px}.key{font-size:24px}.sheet{--sheet-top-gap:12px}}.unlock-result{flex:1}.unlock-badges{align-items:center;gap:8px;display:flex}.unlock-title{white-space:pre-line;margin:0;font-size:28px;font-weight:800;line-height:1.25}.unlock-sub{color:var(--ink-tertiary);align-items:center;gap:8px;font-size:13px;line-height:1.5;display:flex}.rejection-card{padding:14px 16px}.rejection-title{margin:0;font-size:15px;font-weight:700}.rejection-summary{margin-top:4px;font-size:14px}.rejection-reason{color:var(--ink-secondary);margin-top:4px;font-size:12px;line-height:1.5}.rejection-card>.footnote{margin-top:4px;padding:0}.rejection-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.unlock-result>*{animation:.46s cubic-bezier(.2,.9,.3,1) both fade-up}.unlock-result>.primary-button{margin-top:auto}.unlock-result>:nth-child(2){animation-delay:60ms}.unlock-result>:nth-child(3){animation-delay:.11s}.unlock-result>:nth-child(4){animation-delay:.16s}.unlock-result>:nth-child(5){animation-delay:.22s}.unlock-perks .check{animation:.36s cubic-bezier(.2,1.4,.4,1) both unlock-check;animation-delay:calc(.32s + var(--i,0) * .1s)}@keyframes unlock-check{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.unlock-result>*,.unlock-perks .check{animation:none}}.deleted-foot{align-items:center;gap:8px;padding:0 0 10px 52px;animation:.2s cubic-bezier(.2,.8,.3,1) both fade-up;display:flex}.deleted-by{min-width:0;color:var(--ink-faint);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;overflow:hidden}.editor-form{border:0;min-width:0;margin:0;padding:0}.editor-form.readonly{opacity:.75}
