:root{--mono-50:#fafafa;--mono-100:#f5f5f4;--mono-150:#f0f0ef;--mono-200:#e7e5e4;--mono-300:#d6d3d1;--mono-400:#a3a3a3;--mono-500:#737373;--mono-600:#525252;--mono-800:#262626;--mono-900:#171717;--mono-950:#0a0a0a;--white:#fff;--sage-bg:#f0f3f0;--sage-surface-2:#e8edea;--sage-border:#dce5e0;--sage-500:#4a7c6c;--sage-400:#6fa899;--sage-ink:#0e1412;--sage-900:#18221e;--sage-800:#222e29;--coral-bg:#fff7f2;--coral-surface-2:#fcede6;--coral-border:#f4e0d6;--coral-500:#ff6b5c;--coral-400:#ff8773;--coral-ink:#1a100d;--coral-900:#2a1814;--coral-800:#382019;--income-light:#15803d;--income-dark:#4ade80;--expense-light:#b91c1c;--expense-dark:#f87171;--expense-rose-light:#881337;--expense-rose-dark:#fb7185}:root,[data-theme=mono]{--bg:var(--mono-100);--surface:var(--white);--surface-2:var(--mono-150);--surface-inset:var(--mono-150);--text:var(--mono-950);--text-secondary:var(--mono-500);--text-muted:var(--mono-400);--border:var(--mono-200);--border-strong:var(--mono-300);--primary:var(--mono-950);--primary-hover:var(--mono-800);--on-primary:var(--white);--income:var(--income-light);--expense:var(--expense-light);--chart-expense:var(--primary);--chart-income:color-mix(in srgb, var(--primary) 42%, var(--surface));--focus-ring:color-mix(in srgb, var(--primary) 32%, transparent);--overlay:color-mix(in srgb, var(--mono-950) 45%, transparent)}[data-mode=dark],[data-theme=mono][data-mode=dark]{--bg:var(--mono-950);--surface:var(--mono-900);--surface-2:var(--mono-800);--surface-inset:var(--mono-800);--text:var(--mono-50);--text-secondary:var(--mono-400);--text-muted:var(--mono-500);--border:var(--mono-800);--border-strong:#333;--primary:var(--mono-50);--primary-hover:#e5e5e5;--on-primary:var(--mono-950);--income:var(--income-dark);--expense:var(--expense-dark);--overlay:#0009}[data-theme=eucalyptus]{--bg:var(--sage-bg);--surface:var(--white);--surface-2:var(--sage-surface-2);--surface-inset:var(--sage-surface-2);--text:var(--sage-ink);--text-secondary:#5a6b64;--text-muted:#94a39c;--border:var(--sage-border);--border-strong:#c5d2cb;--primary:var(--sage-500);--primary-hover:#3f6b5d;--on-primary:var(--white);--income:var(--income-light);--expense:var(--expense-light)}[data-theme=eucalyptus][data-mode=dark]{--bg:var(--sage-ink);--surface:var(--sage-900);--surface-2:var(--sage-800);--surface-inset:var(--sage-800);--text:#ecf2ef;--text-secondary:#9db0a8;--text-muted:#6b7d76;--border:#2a3631;--border-strong:#36443e;--primary:var(--sage-400);--primary-hover:#7fb3a5;--on-primary:var(--sage-ink);--income:var(--income-dark);--expense:var(--expense-dark)}[data-theme=coral]{--bg:var(--coral-bg);--surface:var(--white);--surface-2:var(--coral-surface-2);--surface-inset:var(--coral-surface-2);--text:var(--coral-ink);--text-secondary:#6e5b54;--text-muted:#a8928a;--border:var(--coral-border);--border-strong:#ebcdbf;--primary:var(--coral-500);--primary-hover:#f2574a;--on-primary:var(--white);--income:var(--income-light);--expense:var(--expense-rose-light)}[data-theme=coral][data-mode=dark]{--bg:var(--coral-ink);--surface:var(--coral-900);--surface-2:var(--coral-800);--surface-inset:var(--coral-800);--text:#fbefea;--text-secondary:#c2a89e;--text-muted:#8a7068;--border:#3d2820;--border-strong:#4a3128;--primary:var(--coral-400);--primary-hover:#ff9885;--on-primary:var(--coral-ink);--income:var(--income-dark);--expense:var(--expense-rose-dark)}:root{--font-sans:-apple-system, "SF Pro Display", "SF Pro Text", "Manrope", system-ui, "Segoe UI", Roboto, sans-serif;--font-mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--weight-heavy:800;--font-display:40px;--font-display-lg:48px;--font-title:28px;--font-heading:20px;--font-body-lg:17px;--font-body:15px;--font-label:13px;--font-caption:12px;--leading-tight:1.05;--leading-snug:1.25;--leading-normal:1.45;--tracking-tight:-.02em;--tracking-normal:0em;--tracking-label:.06em}.amount-num,[data-num]{font-variant-numeric:tabular-nums lining-nums;font-feature-settings:"tnum" 1, "lnum" 1}:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--screen-pad:20px;--grid-gap:12px;--tabbar-h:56px;--radius-sm:10px;--radius-md:14px;--radius-lg:20px;--radius-xl:28px;--radius-pill:999px;--border-width:1px;--shadow-card:0 1px 2px #0a0a0a0a, 0 6px 20px #0a0a0a0d;--shadow-raise:0 2px 6px #0a0a0a0f, 0 16px 40px #0a0a0a1a;--shadow-sheet:0 -8px 40px #0a0a0a29;--ease-out:cubic-bezier(.22,.61,.36,1);--ease-spring:cubic-bezier(.34,1.56,.64,1);--dur-fast:.12s;--dur-base:.2s;--dur-slow:.32s}[data-mode=dark]{--shadow-card:none;--shadow-raise:0 8px 30px #00000073;--shadow-sheet:0 -8px 40px #00000080}*,:before,:after{box-sizing:border-box}.amount-root{background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:var(--font-body);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;accent-color:var(--primary);transition:background var(--dur-base) var(--ease-out), color var(--dur-base) var(--ease-out)}.amount-root [data-num],.amount-root .amount-num{font-variant-numeric:tabular-nums lining-nums}.is-income{color:var(--income)}.is-expense{color:var(--expense)}:focus{outline:none}:focus-visible{outline:none}html,.amount-root{-webkit-tap-highlight-color:transparent}button,a,[role=button],input,label,select{touch-action:manipulation}.period-swipe,.period-swipe button,.period-swipe a,.period-swipe [role=button],.period-swipe input,.period-swipe label,.period-swipe select{touch-action:pan-y}input,textarea,select{font-size:16px}@keyframes amount-mountain-redraw{0%{stroke-dashoffset:100px}50%{stroke-dashoffset:0}to{stroke-dashoffset:-100px}}@media (prefers-reduced-motion:reduce){[data-ptr-mountain]{animation:none!important}}html.amount-root,body{min-height:100%}body{background:var(--bg);margin:0}#root{min-height:100vh;min-height:100dvh}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes sheetUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}*{box-sizing:border-box}button{font:inherit}.app{max-width:480px;margin:0 auto;padding:16px 14px 80px}html{scrollbar-width:none}::-webkit-scrollbar{width:0;height:0;display:none}@keyframes amount-jiggle{0%{transform:rotate(-.55deg)}50%{transform:rotate(.55deg)}to{transform:rotate(-.55deg)}}.amount-jiggle{animation:.28s ease-in-out infinite amount-jiggle}@keyframes amount-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}
