:root{--r-sm: 10px;--r-md: 16px;--r-lg: 22px;--r-xl: 28px;--ease: cubic-bezier(.22, 1, .36, 1);--ease-in: cubic-bezier(.4, 0, .2, 1);--shadow-card: 0 8px 24px -12px rgba(0, 0, 0, .55);--shadow-pop: 0 18px 50px -16px rgba(0, 0, 0, .6);--maxw: 480px;--safe-top: max(env(safe-area-inset-top, 0px), var(--safe-area-inset-top, 0px));--safe-bottom: max(env(safe-area-inset-bottom, 0px), var(--safe-area-inset-bottom, 0px));--safe-left: max(env(safe-area-inset-left, 0px), var(--safe-area-inset-left, 0px));--safe-right: max(env(safe-area-inset-right, 0px), var(--safe-area-inset-right, 0px));--nav-bottom: var(--safe-area-inset-bottom, 0px);--edge: max(0px, calc((100vw - var(--maxw)) / 2));--font-display: "Noto Sans Thai Looped", "IBM Plex Sans Thai", system-ui, sans-serif;--font-body: "IBM Plex Sans Thai", "Noto Sans Thai Looped", system-ui, sans-serif;--header-glass: rgba(255, 255, 255, .34);--header-glass-line: rgba(5, 56, 38, .12);--header-pill: rgba(255, 255, 255, .3);--header-divider: rgba(5, 56, 38, .14);--header-cta-bg: var(--accent-strong);--header-cta-ink: #ffffff;--header-accent: var(--accent-strong);--header-neg: var(--expense);--header-art: none;--header-veil: none}[data-theme=green]{--bg: #0b2a20;--bg-grad: radial-gradient(120% 60% at 50% -10%, #11402f 0%, #0b2a20 55%, #082019 100%);--surface: #0f3326;--surface-2: #14402f;--surface-3: #1b4f3a;--line: rgba(140, 230, 190, .1);--line-strong: rgba(140, 230, 190, .18);--text: #ecfdf5;--text-dim: #9fc6b4;--text-faint: #87ab9a;--accent: #22c55e;--accent-strong: #16a34a;--accent-ink: #042b18;--accent-soft: rgba(34, 197, 94, .14);--header: linear-gradient(172deg, #087f4b 0%, #087744 42%, #0a8149 76%, #0d8b50 100%);--header-ink: #ffffff;--header-ink-dim: rgba(255, 255, 255, .92);--header-panel: rgba(3, 48, 28, .22);--header-glass: rgba(255, 255, 255, .16);--header-glass-line: rgba(255, 255, 255, .24);--header-pill: rgba(3, 48, 28, .22);--header-divider: rgba(255, 255, 255, .2);--header-cta-bg: #ffffff;--header-cta-ink: #0e7a43;--header-accent: #bbf7d0;--header-neg: #ffc9c9;--income: #34d399;--expense: #fb7185;--transfer: #fbbf24;--danger: #f87171;--info: #38bdf8;--c1: #34d399;--c2: #38bdf8;--c3: #a78bfa;--c4: #fbbf24;--c5: #fb7185;--c6: #2dd4bf;--c7: #f472b6;--c8: #94a3b8;color-scheme:dark}[data-theme=midnight]{--bg: #0a1622;--bg-grad: radial-gradient(120% 60% at 50% -10%, #11263b 0%, #0a1622 60%, #06101a 100%);--surface: #0f2030;--surface-2: #16293c;--surface-3: #1d3349;--line: rgba(160, 200, 240, .1);--line-strong: rgba(160, 200, 240, .18);--text: #eaf2fb;--text-dim: #9fb3c8;--text-faint: #7f92a6;--accent: #22c55e;--accent-strong: #16a34a;--accent-ink: #042b18;--accent-soft: rgba(34, 197, 94, .16);--header: linear-gradient(172deg, #087f4b 0%, #087744 42%, #0a8149 76%, #0d8b50 100%);--header-ink: #ffffff;--header-ink-dim: rgba(255, 255, 255, .92);--header-panel: rgba(3, 48, 28, .22);--header-glass: rgba(255, 255, 255, .16);--header-glass-line: rgba(255, 255, 255, .24);--header-pill: rgba(3, 48, 28, .22);--header-divider: rgba(255, 255, 255, .2);--header-cta-bg: #ffffff;--header-cta-ink: #0e7a43;--header-accent: #bbf7d0;--header-neg: #ffc9c9;--income: #34d399;--expense: #fb7185;--transfer: #fbbf24;--danger: #f87171;--info: #38bdf8;--c1: #34d399;--c2: #38bdf8;--c3: #a78bfa;--c4: #fbbf24;--c5: #fb7185;--c6: #2dd4bf;--c7: #f472b6;--c8: #94a3b8;color-scheme:dark}[data-theme=mint]{--bg: #f3faf6;--bg-grad: radial-gradient(120% 60% at 50% -10%, #e3f7ec 0%, #f3faf6 60%);--surface: #ffffff;--surface-2: #eef7f1;--surface-3: #e3f2e9;--line: rgba(16, 90, 60, .1);--line-strong: rgba(16, 90, 60, .18);--text: #06241a;--text-dim: #3f6b58;--text-faint: #557567;--accent: #11803a;--accent-strong: #0d6b30;--accent-ink: #ffffff;--accent-soft: rgba(22, 163, 74, .12);--header: linear-gradient(172deg, #087f4b 0%, #087744 42%, #0a8149 76%, #0d8b50 100%);--header-ink: #ffffff;--header-ink-dim: rgba(255, 255, 255, .92);--header-panel: rgba(3, 48, 28, .22);--header-glass: rgba(255, 255, 255, .16);--header-glass-line: rgba(255, 255, 255, .24);--header-pill: rgba(3, 48, 28, .22);--header-divider: rgba(255, 255, 255, .2);--header-cta-bg: #ffffff;--header-cta-ink: #0e7a43;--header-accent: #bbf7d0;--header-neg: #ffc9c9;--income: #11803a;--expense: #d81c45;--transfer: #a65b05;--danger: #d62323;--info: #0275b0;--c1: #16a34a;--c2: #0284c7;--c3: #7c3aed;--c4: #d97706;--c5: #e11d48;--c6: #0d9488;--c7: #db2777;--c8: #64748b;color-scheme:light}[data-theme=pastel]{--bg: #faf9f7;--bg-grad: linear-gradient(180deg, #fdfdfc 0%, #faf9f7 240px);--surface: #ffffff;--surface-2: #f1efec;--surface-3: #e7e4df;--line: rgba(28, 28, 30, .07);--line-strong: rgba(28, 28, 30, .13);--text: #1c1c1e;--text-dim: #615e5a;--text-faint: #706b64;--accent: #307852;--accent-strong: #286a47;--accent-ink: #ffffff;--accent-soft: rgba(63, 158, 108, .12);--header: linear-gradient(180deg, #fdfdfc 0%, #faf9f7 100%);--header-ink: #1c1c1e;--header-ink-dim: #615e5a;--income: #33784e;--expense: #ca2d3c;--transfer: #8b641c;--danger: #ca3030;--info: #2170a5;--c1: #e8934a;--c2: #5aa9de;--c3: #9b87db;--c4: #f0b357;--c5: #e88b93;--c6: #5fc08c;--c7: #e58fbe;--c8: #9aa3b2;--r-md: 20px;--shadow-card: 0 1px 2px rgba(28, 28, 30, .04), 0 12px 34px -22px rgba(28, 28, 30, .3);color-scheme:light}[data-theme=cream]{--bg: #f7f1e6;--bg-grad: linear-gradient(180deg, #fbf7ef 0%, #f7f1e6 260px);--surface: #fffcf7;--surface-2: #f2eadb;--surface-3: #e9dec9;--line: rgba(80, 56, 24, .09);--line-strong: rgba(80, 56, 24, .16);--text: #2b2117;--text-dim: #625240;--text-faint: #756654;--accent: #7f5228;--accent-strong: #663f1c;--accent-ink: #ffffff;--accent-soft: rgba(127, 82, 40, .12);--header: linear-gradient(172deg, #f3e6cc 0%, #efdcb9 55%, #ead3a8 100%);--header-ink: #3b2a17;--header-ink-dim: #5e4a33;--header-glass: rgba(255, 255, 255, .42);--header-glass-line: rgba(80, 56, 24, .14);--header-pill: rgba(255, 255, 255, .38);--header-divider: rgba(80, 56, 24, .16);--header-accent: #663f1c;--header-neg: #b3283d;--income: #27764a;--expense: #c13046;--transfer: #8f5e18;--danger: #c23232;--info: #326d9c;--c1: #d9822b;--c2: #3f8fc4;--c3: #8a6fd1;--c4: #d9a032;--c5: #d9616f;--c6: #3fa67a;--c7: #cf6fa4;--c8: #8f8a80;--shadow-card: 0 1px 2px rgba(80, 56, 24, .05), 0 12px 32px -22px rgba(80, 56, 24, .35);color-scheme:light}[data-theme=ocean]{--bg: #06222b;--bg-grad: radial-gradient(120% 60% at 50% -10%, #0b3a47 0%, #06222b 58%, #041820 100%);--surface: #0c2e38;--surface-2: #103a46;--surface-3: #155060;--line: rgba(125, 220, 235, .1);--line-strong: rgba(125, 220, 235, .18);--text: #ecfeff;--text-dim: #9fcdd6;--text-faint: #6b9aa3;--accent: #22d3ee;--accent-strong: #06b6d4;--accent-ink: #032b30;--accent-soft: rgba(34, 211, 238, .14);--header: linear-gradient(135deg, #67e8f9 0%, #22d3ee 55%, #0891b2 100%);--header-ink: #043640;--header-cta-bg: #ffffff;--header-cta-ink: #043640;--header-ink-dim: #06525f;--income: #2dd4bf;--expense: #fb7185;--transfer: #fbbf24;--danger: #f87171;--info: #38bdf8;--c1: #22d3ee;--c2: #38bdf8;--c3: #a78bfa;--c4: #fbbf24;--c5: #fb7185;--c6: #2dd4bf;--c7: #f472b6;--c8: #94a3b8;color-scheme:dark}[data-theme=grape]{--bg: #170f2b;--bg-grad: radial-gradient(120% 60% at 50% -10%, #281a4d 0%, #170f2b 58%, #100a20 100%);--surface: #1f1638;--surface-2: #281c45;--surface-3: #342555;--line: rgba(190, 170, 240, .1);--line-strong: rgba(190, 170, 240, .18);--text: #f5f3ff;--text-dim: #c4b5e6;--text-faint: #9183b5;--accent: #a78bfa;--accent-strong: #8b5cf6;--accent-ink: #1c1033;--accent-soft: rgba(167, 139, 250, .16);--header: linear-gradient(135deg, #c4b5fd 0%, #a78bfa 55%, #8b5cf6 100%);--header-ink: #2a1a4d;--header-cta-bg: #ffffff;--header-cta-ink: #2a1a4d;--header-ink-dim: #3d2a66;--income: #34d399;--expense: #fb7185;--transfer: #fbbf24;--danger: #f87171;--info: #38bdf8;--c1: #a78bfa;--c2: #38bdf8;--c3: #f472b6;--c4: #fbbf24;--c5: #fb7185;--c6: #2dd4bf;--c7: #c084fc;--c8: #94a3b8;color-scheme:dark}[data-theme=sunset]{--bg: #281320;--bg-grad: radial-gradient(120% 60% at 50% -10%, #4a1f2e 0%, #281320 58%, #1d0d18 100%);--surface: #341826;--surface-2: #421f30;--surface-3: #54283c;--line: rgba(250, 190, 160, .1);--line-strong: rgba(250, 190, 160, .2);--text: #fff1f2;--text-dim: #e6b9b0;--text-faint: #bd8a86;--accent: #fb923c;--accent-strong: #f97316;--accent-ink: #2b1206;--accent-soft: rgba(251, 146, 60, .16);--header: linear-gradient(135deg, #fcd34d 0%, #fb923c 50%, #f43f5e 100%);--header-ink: #3a1505;--header-cta-bg: #ffffff;--header-cta-ink: #3a1505;--header-ink-dim: #5a2410;--income: #34d399;--expense: #f65e78;--transfer: #f59e0b;--danger: #f87171;--info: #38bdf8;--c1: #fb923c;--c2: #f43f5e;--c3: #fbbf24;--c4: #34d399;--c5: #f472b6;--c6: #38bdf8;--c7: #a78bfa;--c8: #94a3b8;color-scheme:dark}[data-theme=rose]{--bg: #2a0f1e;--bg-grad: radial-gradient(120% 60% at 50% -10%, #4d1638 0%, #2a0f1e 58%, #1f0a16 100%);--surface: #371428;--surface-2: #461a33;--surface-3: #592343;--line: rgba(245, 180, 215, .1);--line-strong: rgba(245, 180, 215, .2);--text: #fdf2f8;--text-dim: #e8b9d4;--text-faint: #bd8aa6;--accent: #f472b6;--accent-strong: #ec4899;--accent-ink: #2b0a1c;--accent-soft: rgba(244, 114, 182, .16);--header: linear-gradient(135deg, #f9a8d4 0%, #f472b6 55%, #ec4899 100%);--header-ink: #3d0f29;--header-cta-bg: #ffffff;--header-cta-ink: #3d0f29;--header-ink-dim: #5c1840;--income: #34d399;--expense: #fb7185;--transfer: #fbbf24;--danger: #f87171;--info: #38bdf8;--c1: #f472b6;--c2: #a78bfa;--c3: #38bdf8;--c4: #fbbf24;--c5: #fb7185;--c6: #2dd4bf;--c7: #f9a8d4;--c8: #94a3b8;color-scheme:dark}[data-theme=amber]{--bg: #231a08;--bg-grad: radial-gradient(120% 60% at 50% -10%, #3d2e0e 0%, #231a08 58%, #1a1206 100%);--surface: #2f240c;--surface-2: #3c2e10;--surface-3: #4d3b16;--line: rgba(245, 210, 130, .1);--line-strong: rgba(245, 210, 130, .2);--text: #fffbeb;--text-dim: #ddc9a0;--text-faint: #b39d72;--accent: #f59e0b;--accent-strong: #d97706;--accent-ink: #2b1c02;--accent-soft: rgba(245, 158, 11, .16);--header: linear-gradient(135deg, #fcd34d 0%, #fbbf24 50%, #f59e0b 100%);--header-ink: #3a2705;--header-cta-bg: #ffffff;--header-cta-ink: #3a2705;--header-ink-dim: #5a3e0a;--income: #34d399;--expense: #fb7185;--transfer: #f59e0b;--danger: #f87171;--info: #38bdf8;--c1: #f59e0b;--c2: #fbbf24;--c3: #34d399;--c4: #38bdf8;--c5: #fb7185;--c6: #a78bfa;--c7: #f472b6;--c8: #94a3b8;color-scheme:dark}[data-theme=garden]{--bg: #ecfdf3;--bg-grad: linear-gradient(180deg, #e2f8ec 0%, #ecfdf3 260px);--surface: #ffffff;--surface-2: #def5e5;--surface-3: #d5f0de;--line: rgba(21, 59, 43, .1);--line-strong: rgba(21, 59, 43, .18);--text: #153b2b;--text-dim: #45614f;--text-faint: #4b6858;--accent: #116f3e;--accent-strong: #0d5c33;--accent-ink: #ffffff;--accent-soft: rgba(17, 111, 62, .12);--header: linear-gradient(172deg, #d7f1f0 0%, #e3f6ea 60%, #eefbf2 100%);--header-art: url(/theme-art/garden-toon.webp);--header-veil: linear-gradient(180deg, rgba(236, 253, 243, .6) 0, rgba(236, 253, 243, 0) calc(var(--safe-top) + 30px)), linear-gradient(90deg, rgba(236, 253, 243, .94) 0%, rgba(236, 253, 243, .86) 42%, rgba(236, 253, 243, 0) 72%);--header-ink: #153b2b;--header-ink-dim: #3c5747;--header-glass: rgba(255, 255, 255, .62);--header-glass-line: rgba(21, 59, 43, .14);--header-pill: rgba(255, 255, 255, .62);--header-divider: rgba(21, 59, 43, .14);--header-accent: #116f3e;--header-neg: #a9333d;--income: #116f3e;--expense: #a9333d;--transfer: #7a5800;--danger: #b02f2f;--info: #0a6591;--c1: #16a34a;--c2: #0284c7;--c3: #7c3aed;--c4: #d1aa48;--c5: #e11d48;--c6: #0d9488;--c7: #db2777;--c8: #64748b;--shadow-card: 0 1px 2px rgba(15, 52, 34, .04), 0 12px 32px -22px rgba(15, 52, 34, .3);color-scheme:light}[data-theme=notebook]{--bg: #f7f4eb;--bg-grad: linear-gradient(180deg, #fbf9f2 0%, #f7f4eb 260px);--surface: #fffefa;--surface-2: #e8edde;--surface-3: #e0e6d4;--line: rgba(48, 62, 43, .1);--line-strong: rgba(48, 62, 43, .17);--text: #303e2b;--text-dim: #565e4d;--text-faint: #5c6453;--accent: #3f6739;--accent-strong: #33552e;--accent-ink: #ffffff;--accent-soft: rgba(63, 103, 57, .12);--header: linear-gradient(172deg, #efe9da 0%, #f3eee2 60%, #f7f4eb 100%);--header-art: url(/theme-art/notebook-toon.webp);--header-veil: linear-gradient(180deg, rgba(247, 244, 235, .6) 0, rgba(247, 244, 235, 0) calc(var(--safe-top) + 30px)), linear-gradient(90deg, rgba(247, 244, 235, .94) 0%, rgba(247, 244, 235, .86) 42%, rgba(247, 244, 235, 0) 72%);--header-ink: #303e2b;--header-ink-dim: #4c5443;--header-glass: rgba(255, 255, 255, .62);--header-glass-line: rgba(48, 62, 43, .14);--header-pill: rgba(255, 255, 255, .62);--header-divider: rgba(48, 62, 43, .14);--header-accent: #3f6739;--header-neg: #a9333d;--income: #126b3c;--expense: #a9333d;--transfer: #7a5800;--danger: #b02f2f;--info: #2a6187;--c1: #46713f;--c2: #3f8fc4;--c3: #8a6fd1;--c4: #a96d3b;--c5: #d9616f;--c6: #3fa67a;--c7: #cf6fa4;--c8: #8f8a80;--shadow-card: 0 1px 2px rgba(48, 62, 43, .05), 0 12px 32px -22px rgba(48, 62, 43, .32);color-scheme:light}[data-theme=lagoon]{--bg: #ecfafa;--bg-grad: linear-gradient(180deg, #e0f6f6 0%, #ecfafa 260px);--surface: #ffffff;--surface-2: #d7f2f2;--surface-3: #cbeded;--line: rgba(20, 62, 69, .1);--line-strong: rgba(20, 62, 69, .18);--text: #143e45;--text-dim: #425e66;--text-faint: #48656d;--accent: #066c63;--accent-strong: #055a52;--accent-ink: #ffffff;--accent-soft: rgba(6, 108, 99, .12);--header: linear-gradient(172deg, #cdeff5 0%, #dcf4f6 60%, #ecfafa 100%);--header-art: url(/theme-art/lagoon-toon.webp);--header-veil: linear-gradient(180deg, rgba(236, 250, 250, .6) 0, rgba(236, 250, 250, 0) calc(var(--safe-top) + 30px)), linear-gradient(90deg, rgba(236, 250, 250, .94) 0%, rgba(236, 250, 250, .86) 42%, rgba(236, 250, 250, 0) 72%);--header-ink: #143e45;--header-ink-dim: #39555d;--header-glass: rgba(255, 255, 255, .62);--header-glass-line: rgba(20, 62, 69, .14);--header-pill: rgba(255, 255, 255, .62);--header-divider: rgba(20, 62, 69, .14);--header-accent: #066c63;--header-neg: #a9333d;--income: #126b3c;--expense: #a9333d;--transfer: #7a5800;--danger: #b02f2f;--info: #1a6584;--c1: #0d9488;--c2: #0284c7;--c3: #7c3aed;--c4: #d97706;--c5: #e11d48;--c6: #16a34a;--c7: #db2777;--c8: #64748b;--shadow-card: 0 1px 2px rgba(20, 62, 69, .04), 0 12px 32px -22px rgba(20, 62, 69, .3);color-scheme:light}[data-theme=starlight]{--bg: #082d33;--bg-grad: radial-gradient(120% 60% at 50% -10%, #0d3d44 0%, #082d33 58%, #06232a 100%);--surface: #0e3a41;--surface-2: #134650;--surface-3: #175059;--line: rgba(170, 230, 210, .1);--line-strong: rgba(170, 230, 210, .18);--text: #eef8f2;--text-dim: #b3d0c7;--text-faint: #a3c2b8;--accent: #e2b858;--accent-strong: #cfa23f;--accent-ink: #2a1c02;--accent-soft: rgba(226, 184, 88, .16);--header: linear-gradient(172deg, #0a3a3e 0%, #0c4644 60%, #0e4f49 100%);--header-art: url(/theme-art/starlight-toon.webp);--header-veil: linear-gradient(90deg, rgba(6, 36, 40, .82) 0%, rgba(6, 36, 40, .66) 42%, rgba(6, 36, 40, 0) 72%);--header-ink: #ffffff;--header-ink-dim: rgba(255, 255, 255, .92);--header-glass: rgba(255, 255, 255, .16);--header-glass-line: rgba(255, 255, 255, .24);--header-pill: rgba(4, 30, 34, .42);--header-divider: rgba(255, 255, 255, .2);--header-cta-bg: #ffffff;--header-cta-ink: #0b3b40;--header-accent: #f3d27a;--header-neg: #ffc9c9;--income: #4ade9b;--expense: #ffa3b0;--transfer: #f5c04a;--danger: #ff8f8f;--info: #6dd0f5;--c1: #4ade9b;--c2: #6dd0f5;--c3: #a78bfa;--c4: #e2b858;--c5: #fb7185;--c6: #2dd4bf;--c7: #f472b6;--c8: #94a3b8;color-scheme:dark}[data-theme=blossom]{--bg: #f2faf4;--bg-grad: linear-gradient(180deg, #f9f3f5 0%, #f2faf4 260px);--surface: #ffffff;--surface-2: #e8f3ea;--surface-3: #deede1;--line: rgba(43, 67, 53, .1);--line-strong: rgba(43, 67, 53, .17);--text: #2b4335;--text-dim: #536257;--text-faint: #59685d;--accent: #31734d;--accent-strong: #285f40;--accent-ink: #ffffff;--accent-soft: rgba(49, 115, 77, .12);--header: linear-gradient(172deg, #f6e4ea 0%, #f2eef0 60%, #f2faf4 100%);--header-art: url(/theme-art/blossom-toon.webp);--header-veil: linear-gradient(180deg, rgba(248, 244, 245, .6) 0, rgba(248, 244, 245, 0) calc(var(--safe-top) + 30px)), linear-gradient(90deg, rgba(248, 244, 245, .94) 0%, rgba(248, 244, 245, .86) 42%, rgba(248, 244, 245, 0) 72%);--header-ink: #2b4335;--header-ink-dim: #47574c;--header-glass: rgba(255, 255, 255, .62);--header-glass-line: rgba(43, 67, 53, .14);--header-pill: rgba(255, 255, 255, .62);--header-divider: rgba(43, 67, 53, .14);--header-accent: #a14f67;--header-neg: #a9333d;--income: #126b3c;--expense: #a9333d;--transfer: #7a5800;--danger: #b02f2f;--info: #2a6187;--c1: #b7657c;--c2: #3f8fc4;--c3: #8a6fd1;--c4: #d9a032;--c5: #e88b93;--c6: #31734d;--c7: #cf6fa4;--c8: #8f8a80;--shadow-card: 0 1px 2px rgba(43, 67, 53, .04), 0 12px 32px -22px rgba(43, 67, 53, .3);color-scheme:light}[data-theme=jade]{--bg: #f1f6ef;--bg-grad: linear-gradient(180deg, #f6f8f2 0%, #f1f6ef 260px);--surface: #fffef9;--surface-2: #e4efe5;--surface-3: #dbe9dd;--line: rgba(36, 66, 50, .1);--line-strong: rgba(36, 66, 50, .17);--text: #244232;--text-dim: #4f6256;--text-faint: #55685b;--accent: #146844;--accent-strong: #10573a;--accent-ink: #ffffff;--accent-soft: rgba(20, 104, 68, .12);--header: linear-gradient(172deg, #e4ede3 0%, #eaf1e7 60%, #f1f6ef 100%);--header-art: url(/theme-art/jade-toon.webp);--header-veil: linear-gradient(180deg, rgba(241, 246, 239, .6) 0, rgba(241, 246, 239, 0) calc(var(--safe-top) + 30px)), linear-gradient(90deg, rgba(241, 246, 239, .94) 0%, rgba(241, 246, 239, .86) 42%, rgba(241, 246, 239, 0) 72%);--header-ink: #244232;--header-ink-dim: #44574b;--header-glass: rgba(255, 255, 255, .62);--header-glass-line: rgba(36, 66, 50, .14);--header-pill: rgba(255, 255, 255, .62);--header-divider: rgba(36, 66, 50, .14);--header-accent: #8a6624;--header-neg: #a9333d;--income: #126b3c;--expense: #a9333d;--transfer: #7a5800;--danger: #b02f2f;--info: #2a6187;--c1: #146844;--c2: #3f8fc4;--c3: #8a6fd1;--c4: #9a752e;--c5: #d9616f;--c6: #3fa67a;--c7: #cf6fa4;--c8: #8f8a80;--shadow-card: 0 1px 2px rgba(36, 66, 50, .04), 0 12px 32px -22px rgba(36, 66, 50, .3);color-scheme:light}[data-theme=paperpal]{--bg: #f4faf6;--bg-grad: linear-gradient(180deg, #e9f5ec 0%, #f4faf6 260px);--surface: #ffffff;--surface-2: #e5f2e8;--surface-3: #dcede0;--line: rgba(32, 61, 46, .1);--line-strong: rgba(32, 61, 46, .17);--text: #203d2e;--text-dim: #4f6658;--text-faint: #53695c;--accent: #226749;--accent-strong: #1b5439;--accent-ink: #ffffff;--accent-soft: rgba(34, 103, 73, .12);--header: linear-gradient(172deg, #dcede0 0%, #e5f2e8 60%, #f4faf6 100%);--header-art: radial-gradient(circle at 96% 4%, rgba(255, 255, 255, .5) 0 76px, rgba(255, 255, 255, 0) 77px), radial-gradient(circle at 74% 128%, rgba(204, 229, 210, .75) 0 96px, rgba(255, 255, 255, 0) 97px);--header-ink: #203d2e;--header-ink-dim: #46594d;--header-glass: rgba(255, 255, 255, .62);--header-glass-line: rgba(32, 61, 46, .14);--header-pill: rgba(255, 255, 255, .62);--header-divider: rgba(32, 61, 46, .14);--header-accent: #226749;--header-neg: #a9333d;--income: #126b3c;--expense: #a9333d;--transfer: #7a5800;--danger: #b02f2f;--info: #2a6187;--c1: #2f8a5d;--c2: #3f8fc4;--c3: #8a6fd1;--c4: #c9a040;--c5: #d9616f;--c6: #3fa67a;--c7: #cf6fa4;--c8: #8f8a80;--shadow-card: 0 1px 2px rgba(32, 61, 46, .04), 0 12px 32px -22px rgba(32, 61, 46, .3);color-scheme:light}[data-theme=pocketjar]{--bg: #fcf8f2;--bg-grad: linear-gradient(180deg, #fbefe3 0%, #fcf8f2 260px);--surface: #ffffff;--surface-2: #faeada;--surface-3: #f6e1cc;--line: rgba(64, 58, 45, .1);--line-strong: rgba(64, 58, 45, .17);--text: #403a2d;--text-dim: #635a45;--text-faint: #665d48;--accent: #226749;--accent-strong: #1b5439;--accent-ink: #ffffff;--accent-soft: rgba(34, 103, 73, .12);--header: linear-gradient(172deg, #fae1c8 0%, #faeada 60%, #fcf8f2 100%);--header-art: radial-gradient(circle at 96% 4%, rgba(255, 255, 255, .5) 0 76px, rgba(255, 255, 255, 0) 77px), radial-gradient(circle at 74% 128%, rgba(204, 229, 210, .7) 0 96px, rgba(255, 255, 255, 0) 97px);--header-ink: #403a2d;--header-ink-dim: #5a523f;--header-glass: rgba(255, 255, 255, .62);--header-glass-line: rgba(64, 58, 45, .14);--header-pill: rgba(255, 255, 255, .62);--header-divider: rgba(64, 58, 45, .14);--header-accent: #b8693a;--header-neg: #a9333d;--income: #126b3c;--expense: #a9333d;--transfer: #7a5800;--danger: #b02f2f;--info: #2a6187;--c1: #d98a52;--c2: #3f8fc4;--c3: #8a6fd1;--c4: #c9a040;--c5: #e07a6c;--c6: #3fa67a;--c7: #cf6fa4;--c8: #8f8a80;--shadow-card: 0 1px 2px rgba(64, 58, 45, .04), 0 12px 32px -22px rgba(64, 58, 45, .3);color-scheme:light}[data-theme=seedclub]{--bg: #f8faf1;--bg-grad: linear-gradient(180deg, #f1f4e2 0%, #f8faf1 260px);--surface: #ffffff;--surface-2: #eef0db;--surface-3: #e6e9cd;--line: rgba(53, 65, 45, .1);--line-strong: rgba(53, 65, 45, .17);--text: #35412d;--text-dim: #5b644c;--text-faint: #5e674f;--accent: #226749;--accent-strong: #1b5439;--accent-ink: #ffffff;--accent-soft: rgba(34, 103, 73, .12);--header: linear-gradient(172deg, #ebedce 0%, #eef0db 60%, #f8faf1 100%);--header-art: radial-gradient(circle at 96% 4%, rgba(255, 255, 255, .5) 0 76px, rgba(255, 255, 255, 0) 77px), radial-gradient(circle at 74% 128%, rgba(212, 219, 175, .75) 0 96px, rgba(255, 255, 255, 0) 97px);--header-ink: #35412d;--header-ink-dim: #535b45;--header-glass: rgba(255, 255, 255, .62);--header-glass-line: rgba(53, 65, 45, .14);--header-pill: rgba(255, 255, 255, .62);--header-divider: rgba(53, 65, 45, .14);--header-accent: #6b7a2f;--header-neg: #a9333d;--income: #126b3c;--expense: #a9333d;--transfer: #7a5800;--danger: #b02f2f;--info: #2a6187;--c1: #7f9a3c;--c2: #3f8fc4;--c3: #8a6fd1;--c4: #d99a52;--c5: #e08a7a;--c6: #3fa67a;--c7: #cf6fa4;--c8: #8f8a80;--shadow-card: 0 1px 2px rgba(53, 65, 45, .04), 0 12px 32px -22px rgba(53, 65, 45, .3);color-scheme:light}@media (min-width: 700px){:root{--maxw: 640px}}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%}body{margin:0;font-family:var(--font-body);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overscroll-behavior-y:none}#root{max-width:var(--maxw);margin:0 auto;padding-left:var(--safe-left);padding-right:var(--safe-right);min-height:100%;position:relative;background:var(--bg-grad) fixed;display:flex;flex-direction:column}html[data-wallpaper] #root{background:transparent}html[data-wallpaper] .app-scroll{text-shadow:0 0 6px var(--bg),0 0 2px var(--bg)}h1,h2,h3,.display{font-family:var(--font-display);font-weight:800;letter-spacing:-.01em;margin:0}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}input,textarea{font-family:inherit;color:inherit}::-webkit-scrollbar{width:0;height:0}.app-scroll{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:calc(96px + var(--safe-bottom))}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-card)}.row-tap{transition:transform .15s var(--ease),background .15s var(--ease)}.row-tap:active{transform:scale(.985)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;font-weight:700;font-family:var(--font-display);padding:14px 22px;font-size:17px;transition:transform .15s var(--ease),filter .15s var(--ease),opacity .15s var(--ease)}.btn:active{transform:scale(.97)}.btn-primary{background:var(--accent);color:var(--accent-ink);box-shadow:0 10px 24px -10px var(--accent)}.btn-primary:disabled{opacity:.4;box-shadow:none}.btn-ghost{background:var(--surface-2);color:var(--text)}.btn-soft{background:var(--accent-soft);color:var(--accent)}.chip{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:7px 12px;border-radius:999px;font-weight:600;font-size:14px;background:var(--surface-2);color:var(--text-dim);border:1px solid transparent;transition:all .15s var(--ease)}.chip[data-on=true]{background:var(--text);color:var(--bg)}.pill{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;font-size:15px;font-weight:600}.label-dim{color:var(--text-dim);font-size:15px;font-weight:500}.tabular{font-variant-numeric:tabular-nums}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes pop{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}@keyframes sheetUp{0%{transform:translateY(100%)}to{transform:none}}@keyframes drift{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes splashFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes splashShadow{0%,to{transform:scaleX(1);opacity:1}50%{transform:scaleX(.82);opacity:.6}}@keyframes splashDot{0%,60%,to{transform:translateY(0);opacity:.45}30%{transform:translateY(-5px);opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes dlgBlink{50%{opacity:0}}@keyframes bob{0%,to{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-5px) rotate(3deg)}}@keyframes shimmer{0%{background-position:-240px 0}to{background-position:240px 0}}.shimmer{background-image:linear-gradient(100deg,var(--surface-2) 30%,var(--accent-soft) 50%,var(--surface-2) 70%);background-size:240px 100%;animation:shimmer 1.1s infinite linear}.fade-up{animation:fadeUp .35s var(--ease) both}.pop-in{animation:pop .25s var(--ease) both}.spin{animation:spin .9s linear infinite}.roll-strip{transition:transform .6s cubic-bezier(.2,.7,.3,1)}@media (prefers-reduced-motion: reduce){.roll-strip{transition:none!important}}@media (prefers-reduced-motion: reduce){*,:before,:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.settings-screen .label-dim{font-size:16px}.scan-stage{position:relative;overflow:hidden;padding:14px 14px 12px;margin-bottom:12px;border:1.5px solid var(--accent);animation:pop .35s var(--ease) both;background:radial-gradient(120% 90% at 0% 0%,var(--accent-soft) 0%,transparent 60%),radial-gradient(90% 80% at 100% 100%,var(--accent-soft) 0%,transparent 55%),var(--surface)}.scan-stage__sky{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.scan-stage__spark{position:absolute;width:6px;height:6px;border-radius:50%;background:var(--accent);opacity:0;animation:stageSpark 3.2s ease-in-out infinite;animation-delay:calc(var(--i) * .6s)}@keyframes stageSpark{0%,to{opacity:0;transform:scale(.4) translateY(4px)}45%{opacity:.55;transform:scale(1) translateY(-6px)}}.scan-stage__doc{position:relative;flex-shrink:0;height:76px;width:80px;display:flex;align-items:flex-end;border-radius:16px;overflow:hidden;background:var(--accent-soft);justify-content:center}.scan-stage__pose{display:block;height:72px;width:auto;max-width:100%;object-fit:contain;object-position:bottom;animation:stagePose .45s cubic-bezier(.2,.9,.25,1.2) both,stageBreath 1.8s ease-in-out .45s infinite;transform-origin:50% 100%}@keyframes stageBreath{0%,to{transform:scale(1) rotate(0)}50%{transform:scale(1.035) rotate(-1.5deg)}}@keyframes stagePose{0%{opacity:0;transform:scale(.85) translateY(6px)}to{opacity:1;transform:none}}.scan-stage--done .scan-stage__pose{animation:stagePose .45s cubic-bezier(.2,.9,.25,1.2) both,stageHop .6s var(--ease) .45s 2}@keyframes stageHop{0%,to{transform:scale(1)}40%{transform:scale(1.08) rotate(-3deg)}}.scan-stage__title{font-weight:800;font-family:var(--font-display);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scan-stage__sub{font-size:13px;color:var(--text-dim);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scan-stage__rail{height:8px;border-radius:99px;background:var(--surface-2);overflow:hidden}.scan-stage__fill{height:100%;border-radius:99px;background:linear-gradient(90deg,var(--accent),var(--accent-strong));box-shadow:0 0 10px var(--accent);transition:width .5s var(--ease);position:relative}.scan-stage__fill:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);background-size:60px 100%;background-repeat:no-repeat;animation:stageGlint 1.4s linear infinite}@keyframes stageGlint{0%{background-position:-60px 0}to{background-position:calc(100% + 60px) 0}}.scan-stage__fill--seek{animation:stageSeek 1.3s ease-in-out infinite alternate}@keyframes stageSeek{0%{margin-left:0}to{margin-left:65%}}.scan-stage__tally{display:flex;gap:10px;margin-top:6px;font-size:12px;color:var(--text-dim);white-space:nowrap}.scan-stage__tally b{color:var(--text)}.scan-stage__confetti{position:absolute;left:50%;top:45%;pointer-events:none}.scan-stage__confetti span{position:absolute;width:7px;height:11px;border-radius:2px;background:hsl(calc(var(--i) * 47deg) 75% 58%);animation:stageBurst 1.3s cubic-bezier(.15,.7,.3,1) both;animation-delay:calc(var(--i) * 18ms);--a: calc(var(--i) * 25.7deg)}@keyframes stageBurst{0%{transform:rotate(var(--a)) translateY(0) scale(.4);opacity:1}to{transform:rotate(var(--a)) translateY(-86px) rotate(200deg) scale(1);opacity:0}}.scan-stage__row{position:relative;display:flex;align-items:center;gap:12px}.scan-stage__text{flex:1;min-width:0}.scan-stage__text .scan-stage__rail{margin-top:8px}.scan-chart{position:relative;flex-shrink:0;width:64px;height:86px}.scan-chart__svg{display:block;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 4px 8px rgba(0,0,0,.14))}.scan-chart__board{fill:var(--accent-strong)}.scan-chart__clip{fill:#c3ccd3;stroke:#8d979f;stroke-width:1}.scan-chart__paper{fill:var(--surface)}.scan-chart__head{fill:var(--accent);opacity:.8}.scan-chart__box{fill:none;stroke:var(--line-strong);stroke-width:1.2}.scan-chart__line{fill:var(--line-strong);opacity:.7}.scan-chart__tick{fill:none;stroke:var(--accent-strong);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:11;stroke-dashoffset:11}.scan-chart__page{animation:chartPage .45s cubic-bezier(.2,.9,.25,1.15) both}@keyframes chartPage{0%{opacity:0;transform:translateY(10px) rotate(-3deg)}to{opacity:1;transform:none}}.is-done .scan-chart__tick{stroke-dashoffset:0}.is-done .scan-chart__tick--0{animation:tickIn .3s ease-out .1s both}.is-done .scan-chart__tick--1{animation:tickIn .3s ease-out .25s both}.is-done .scan-chart__tick--2{animation:tickIn .3s ease-out .4s both}.is-done .scan-chart__tick--3{animation:tickIn .3s ease-out .55s both}@keyframes tickIn{0%{stroke-dashoffset:11}to{stroke-dashoffset:0}}@keyframes tick0{0%{stroke-dashoffset:11}10%,92%{stroke-dashoffset:0}to{stroke-dashoffset:11}}@keyframes tick1{0%,20%{stroke-dashoffset:11}30%,92%{stroke-dashoffset:0}to{stroke-dashoffset:11}}@keyframes tick2{0%,40%{stroke-dashoffset:11}50%,92%{stroke-dashoffset:0}to{stroke-dashoffset:11}}@keyframes tick3{0%,60%{stroke-dashoffset:11}70%,92%{stroke-dashoffset:0}to{stroke-dashoffset:11}}.scan-slip{display:block;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 4px 8px rgba(0,0,0,.14))}.scan-slip__page{animation:chartPage .45s cubic-bezier(.2,.9,.25,1.15) both}.scan-slip__paper{fill:var(--surface);stroke:var(--line);stroke-width:1}.scan-slip__band{fill:var(--accent);opacity:.22}.scan-slip__ok{fill:var(--accent-strong)}.scan-slip__ok-mark{fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.scan-slip__line{fill:var(--line-strong);opacity:.6}.scan-slip__line--0{fill:var(--text-dim)}.scan-slip__tick{fill:none;stroke:var(--accent-strong);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:11;stroke-dashoffset:11}.scan-slip__glass{fill:#ffffff47;stroke:var(--accent-strong);stroke-width:2.6}.scan-slip__handle{stroke:var(--accent-strong);stroke-width:4.2;stroke-linecap:round}.scan-slip__shine{fill:none;stroke:#fff;stroke-width:1.6;stroke-linecap:round;opacity:.9}.scan-slip__lens{transform:translate(26px,44px)}.is-reading .scan-slip__lens{animation:lensWalk 2.4s ease-in-out infinite}@keyframes lensWalk{0%{transform:translate(24px,44px)}12%{transform:translate(38px,44px)}20%{transform:translate(24px,56px)}32%{transform:translate(36px,56px)}40%{transform:translate(24px,67px)}52%{transform:translate(40px,67px)}60%{transform:translate(24px,78px)}72%{transform:translate(36px,78px)}86%{transform:translate(48px,30px) scale(1.06)}to{transform:translate(24px,44px)}}.is-reading .scan-slip__line--0{animation:lineOn0 2.4s ease-in-out infinite}.is-reading .scan-slip__line--1{animation:lineOn1 2.4s ease-in-out infinite}.is-reading .scan-slip__line--2{animation:lineOn2 2.4s ease-in-out infinite}.is-reading .scan-slip__line--3{animation:lineOn3 2.4s ease-in-out infinite}@keyframes lineOn0{0%,14%{fill:var(--accent-strong);opacity:1}20%,to{opacity:.6}}@keyframes lineOn1{0%,18%{opacity:.6}20%,34%{fill:var(--accent-strong);opacity:1}40%,to{opacity:.6}}@keyframes lineOn2{0%,38%{opacity:.6}40%,54%{fill:var(--accent-strong);opacity:1}60%,to{opacity:.6}}@keyframes lineOn3{0%,58%{opacity:.6}60%,74%{fill:var(--accent-strong);opacity:1}80%,to{opacity:.6}}.is-reading .scan-slip__tick--0{animation:tick0 2.4s ease-in-out infinite}.is-reading .scan-slip__tick--1{animation:tick1 2.4s ease-in-out infinite}.is-reading .scan-slip__tick--2{animation:tick2 2.4s ease-in-out infinite}.is-reading .scan-slip__tick--3{animation:tick3 2.4s ease-in-out infinite}.is-seeking .scan-slip__line,.is-seeking .scan-slip__ok,.is-seeking .scan-slip__ok-mark{opacity:.25}.is-seeking .scan-slip__lens{animation:lensSeek 2.2s ease-in-out infinite}@keyframes lensSeek{0%,to{transform:translate(24px,50px) rotate(-8deg)}30%{transform:translate(44px,42px) rotate(6deg)}60%{transform:translate(40px,70px) rotate(-4deg)}80%{transform:translate(26px,66px) rotate(4deg)}}.scan-chart__stamp{position:absolute;left:50%;top:46%;z-index:3;white-space:nowrap;padding:3px 9px;border-radius:8px;font-weight:900;font-size:13px;color:#fff;background:var(--accent-strong);border:2px solid rgba(255,255,255,.85);box-shadow:0 6px 14px #0003;animation:chartStamp 1.7s cubic-bezier(.2,.8,.2,1) both}.scan-chart__stamp--duplicate{background:var(--text-faint)}@keyframes chartStamp{0%{opacity:0;transform:translate(-50%,-50%) scale(1.8) rotate(-14deg)}16%{opacity:1;transform:translate(-50%,-50%) scale(.95) rotate(-8deg)}24%{transform:translate(-50%,-50%) scale(1) rotate(-8deg)}78%{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(-8deg)}to{opacity:0;transform:translate(-50%,-80%) scale(.95) rotate(-8deg)}}@media (prefers-reduced-motion: reduce){.scan-stage,.scan-stage *,.scan-stage *:before,.scan-stage *:after{animation:none!important;transition:none!important}}.tour-hole{transition:left .35s var(--ease),top .35s var(--ease),width .35s var(--ease),height .35s var(--ease)}.tour-bubble{animation:pop .28s var(--ease) both}.tour-mascot{animation:bob 2.6s ease-in-out infinite}@media (prefers-reduced-motion: reduce){.tour-hole{transition:none}.tour-bubble,.tour-mascot{animation:none}}.heartbeat{animation:heartbeat 1s ease-out infinite;transform-origin:50% 60%}@keyframes heartbeat{0%,to{transform:scale(1)}12%{transform:scale(1.28)}24%{transform:scale(1)}36%{transform:scale(1.14)}50%{transform:scale(1)}}@media (prefers-reduced-motion: reduce){.heartbeat{animation:none}}
