:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--tabbar-bg:#ffffffeb;--glass:#ffffffa6;--glass-strong:#ffffffb3;--press:#fffc;--backdrop:#ffe4eeb3;--sheet-shadow:0 -10px 40px #d6a0be59;--chip-on-bg:#fff3f6;--primary-grad:linear-gradient(145deg, #f8b7c8, #f29ab4);--on-primary:#fff;--fab-shadow:0 10px 24px #f082a561;--hero-bg:linear-gradient(135deg, #f0e5fb 0%, #f6ddf0 55%, #fde3ea 100%);--hero-text:var(--text-strong);--hero-muted:var(--muted);--warn-bg:var(--c-yellow-bg);--warn-fg:#9a6a00;--bg-1:#fff4f7;--bg-2:#fdeef7;--surface:#fff;--surface-soft:#fff9fb;--line:#f4e4ec;--track:#f3ecf6;--text:#5b4079;--text-strong:#4f3470;--muted:#9c88b3;--accent:#f4a3b9;--accent-strong:#e9658a;--accent-soft:#fbd3df;--income-bg:#e6f6ee;--income-fg:#2f9468;--expense-bg:#fde6ec;--expense-fg:#d2486a;--over-bar:#f08aa2;--c-pink-bg:#fbd5df;--c-pink-fg:#ec6f8f;--c-pink-bar:#f6a5b8;--c-blue-bg:#d3e5fa;--c-blue-fg:#5b96dd;--c-blue-bar:#aacbf3;--c-lavender-bg:#e5d8fa;--c-lavender-fg:#8f63d3;--c-lavender-bar:#c8aff0;--c-yellow-bg:#ffeab8;--c-yellow-fg:#dca017;--c-yellow-bar:#fbdf8e;--c-peach-bg:#ffdccc;--c-peach-fg:#ea7a50;--c-peach-bar:#fbb99e;--c-mint-bg:#d0f0e0;--c-mint-fg:#45aa7a;--c-mint-bar:#a6dcc3;--radius:22px;--shadow:0 6px 20px #d6a0be2e;--tab-h:68px;color:var(--text);font-family:ui-rounded,SF Pro Rounded,Nunito,Quicksand,system-ui,-apple-system,Segoe UI,sans-serif;font-size:16px;line-height:1.35}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-1:#08142b;--bg-2:#0c1a38;--surface:#111f40;--surface-soft:#0d1a38;--line:#223562;--track:#1a2a54;--text:#dde4ff;--text-strong:#f5f7ff;--muted:#93a0cf;--accent:#f0bd78;--accent-strong:#f3c780;--accent-soft:#f0bd782e;--income-bg:#6ee0b021;--income-fg:#74e2b4;--expense-bg:#ff809c21;--expense-fg:#ff93aa;--over-bar:#ff93aa;--c-pink-bg:#ff8faf2b;--c-pink-fg:#ff9db9;--c-pink-bar:#f58cab;--c-blue-bg:#78aaff2b;--c-blue-fg:#93bcff;--c-blue-bar:#6f9fe8;--c-lavender-bg:#a096ff30;--c-lavender-fg:#b4acff;--c-lavender-bar:#8a8fd6;--c-yellow-bg:#ffcd6429;--c-yellow-fg:#ffd36e;--c-yellow-bar:#e8b957;--c-peach-bg:#ffa0782b;--c-peach-fg:#ffb088;--c-peach-bar:#f09b70;--c-mint-bg:#6edcaa29;--c-mint-fg:#7fe5b8;--c-mint-bar:#62c99b;--shadow:0 6px 20px #00000061;--tabbar-bg:#08142be6;--glass:#0610268c;--glass-strong:#ffffff0f;--press:#ffffff12;--backdrop:#030918b8;--sheet-shadow:0 -10px 40px #0000008c;--chip-on-bg:#f0bd781f;--primary-grad:linear-gradient(145deg, #f7d79b, #e6a95a);--on-primary:#0a1630;--fab-shadow:0 10px 26px #e6a95a59;--hero-bg:#03122d;--hero-text:#fff;--hero-muted:#b3c0ee;--warn-fg:#ffd98a;--seg-on:#2c4080}:root[data-theme=dark] .hero{background:linear-gradient(90deg, #010a208c 0%, #010a2000 62%), url(/assets/hero-night-DKkzuLno.webp) center bottom / cover no-repeat, var(--hero-bg);box-shadow:0 8px 26px #00000073,inset 0 0 0 1px #96aae629}:root[data-theme=dark] .hero .pill{-webkit-backdrop-filter:blur(6px);border:1px solid #96aae638}:root[data-theme=dark] .hero-amount{text-shadow:0 2px 14px #010a20b3}:root[data-theme=dark] .hero-art{display:none}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{background:var(--bg-1);min-height:100%;margin:0}html{-webkit-text-size-adjust:100%;overflow-x:hidden}body{background:linear-gradient(180deg, var(--bg-1) 0%, var(--bg-2) 100%) fixed;overscroll-behavior-y:none;overflow-x:hidden}.app{touch-action:pan-y}.filters{touch-action:pan-x pan-y}h1,h2,h3,p{margin:0}button{font:inherit;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;padding:0}input,select{font:inherit;color:inherit}ul{margin:0;padding:0;list-style:none}small{color:var(--muted);font-size:.8rem}.muted{color:var(--muted)}.app{max-width:520px;min-height:100dvh;margin:0 auto;position:relative}main{padding:calc(env(safe-area-inset-top) + 14px) 16px calc(var(--tab-h) + env(safe-area-inset-bottom) + 90px)}.screen{flex-direction:column;gap:14px;display:flex}.boot{min-height:100dvh}.tabbar{width:100%;max-width:520px;height:calc(var(--tab-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--tabbar-bg);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--line);z-index:20;grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.tab{color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:.72rem;display:flex}.tab.active{color:var(--accent-strong);font-weight:700}.fab{z-index:21;right:max(16px,50% - 244px);bottom:calc(var(--tab-h) + env(safe-area-inset-bottom) + 16px);background:var(--primary-grad);width:60px;height:60px;color:var(--on-primary);box-shadow:var(--fab-shadow);border-radius:50%;place-items:center;display:grid;position:fixed}.fab:active{transform:scale(.95)}.page-head{justify-content:space-between;align-items:center;min-height:44px;display:flex}.page-head h1{color:var(--text-strong);font-size:1.85rem;font-weight:800}.icon-btn{width:40px;height:40px;color:var(--text);border-radius:50%;place-items:center;display:grid}.icon-btn:active{background:var(--accent-soft)}.home-head{grid-template-columns:40px 1fr 40px;align-items:start;display:grid}.brand{text-align:center}.brand-row{justify-content:center;align-items:center;gap:8px;display:flex}.brand h1{color:var(--text-strong);letter-spacing:.2px;font-size:2rem;font-weight:800}.brand p{color:var(--muted);margin-top:2px;font-size:.85rem}.logo-mark{width:34px;height:34px}.section-title{color:var(--text-strong);margin-top:6px;font-size:1.05rem;font-weight:800}.filters{scrollbar-width:none;align-items:center;gap:6px;display:flex;overflow-x:auto}.filters::-webkit-scrollbar{display:none}.pill{background:var(--surface);border:1px solid var(--line);height:38px;color:var(--text);border-radius:999px;flex:none;align-items:center;gap:6px;padding:0 13px;font-size:.9rem;display:inline-flex;position:relative}.pill.on{background:var(--accent-soft);border-color:var(--accent-soft);color:var(--accent-strong);font-weight:700}.month-pill select{opacity:0;width:100%;height:100%;font-size:16px;position:absolute;inset:0}.search{border:1px solid var(--line);background:var(--surface);border-radius:14px;outline:none;width:100%;height:44px;padding:0 14px;font-size:16px}.search:focus{border-color:var(--accent)}.card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);width:100%;padding:16px}button.card{text-align:left}.hero{background:var(--hero-bg);min-height:150px;box-shadow:var(--shadow);border-radius:26px;padding:14px 16px 18px;position:relative;overflow:hidden}.hero .pill{background:var(--glass);height:34px;color:var(--hero-text);border-color:#0000}.hero-label{color:var(--hero-muted);align-items:center;gap:2px;margin-top:8px;font-size:.9rem;display:flex}.eye-btn{width:40px;height:36px;color:var(--hero-muted);z-index:1;border-radius:12px;place-items:center;margin:0 0 0 -2px;display:grid;position:relative}.eye-btn:active{background:var(--glass)}.hero-amount{z-index:1;color:var(--hero-text);letter-spacing:-.5px;font-size:2.1rem;font-weight:800;position:relative}.hero-amount.neg{color:var(--expense-fg)}.hero-art{pointer-events:none;width:46%;max-width:190px;position:absolute;bottom:0;right:0}.duo{grid-template-columns:1fr 1fr;gap:12px;display:grid}.stat{box-shadow:var(--shadow);border-radius:20px;align-items:center;gap:8px;padding:14px 12px;display:flex}.stat>div{min-width:0}.stat.income{background:var(--income-bg)}.stat.expense{background:var(--expense-bg)}.stat small{color:var(--muted);display:block}.stat b{white-space:nowrap;font-size:clamp(.88rem,4.1vw,1.1rem);font-weight:800}.stat b i{font-size:.8rem;font-style:normal;font-weight:600}.stat.income b{color:var(--income-fg)}.stat.expense b{color:var(--expense-fg)}.stat-icon{background:var(--glass-strong);border-radius:50%;flex:none;place-items:center;width:34px;height:34px;display:grid}.stat.income .stat-icon{color:var(--income-fg)}.stat.expense .stat-icon{color:var(--expense-fg)}.spend{grid-template-columns:170px 1fr;align-items:center;gap:12px;display:grid}@media (width<=380px){.spend{grid-template-columns:1fr;justify-items:center}}.donut{width:170px;height:170px;position:relative}.donut svg{width:100%;height:100%}.donut-btn{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:50%;padding:0}.donut-btn:active{opacity:.8}.donut-center{text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.donut-center b{color:var(--text-strong);font-size:1.15rem;font-weight:800}.legend{flex-direction:column;gap:9px;width:100%;font-size:.9rem;display:flex}.legend li{align-items:center;gap:8px;display:flex}.legend li span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.legend i{border-radius:50%;flex:none;width:12px;height:12px}.legend b{color:var(--text);font-weight:700}.row-link{background:var(--surface);border:1px solid var(--line);width:100%;color:var(--text-strong);border-radius:18px;align-items:center;gap:12px;padding:14px 16px;font-weight:600;display:flex}.row-link span:nth-child(2){flex:1}.row-link-icon{background:var(--c-lavender-bg);width:34px;height:34px;color:var(--c-lavender-fg);border-radius:12px;place-items:center;display:grid}.cat-icon{border-radius:50%;flex:none;place-items:center;display:inline-grid}.day-head{background:var(--glass-strong);color:var(--text-strong);border-radius:14px;justify-content:space-between;margin:4px 0 6px;padding:9px 14px;font-weight:700;display:flex}.day-head .pos{color:var(--income-fg)}.cat-head{text-align:left;border-radius:16px;align-items:center;gap:10px;width:100%;padding:10px 6px;display:flex}.cat-head:active{background:var(--accent-soft)}.cat-head .chev{color:var(--muted,var(--text));flex:none;transition:transform .15s;transform:rotate(-90deg)}.cat-head .chev.open{transform:none}.cat-name{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.cat-name b{color:var(--text-strong);text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.cat-name .count{background:var(--accent-soft);border-radius:999px;padding:1px 8px;font-weight:700}.tx.sub{padding-left:62px}.tx-list{flex-direction:column;display:flex}.tx{border-radius:16px;align-items:center;gap:12px;width:100%;padding:10px 6px;display:flex}button.tx:active{background:var(--press)}.tx-main{flex-direction:column;flex:1;min-width:0;display:flex}.tx-main b{color:var(--text-strong);text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.tx-amt{white-space:nowrap;font-weight:800}.tx-amt.expense{color:var(--expense-fg)}.tx-amt.income{color:var(--income-fg)}.tx-list.card{padding:6px 12px}.tx.static{border-bottom:1px solid var(--line);padding:10px 0}.tx.static:last-child{border-bottom:0}.empty{text-align:center;gap:4px;padding:36px 12px;display:grid}.overall{flex-direction:column;gap:12px;display:flex}.overall-top{align-items:center;gap:12px;display:flex}.overall-top small{display:block}.overall-top b{color:var(--text-strong);font-size:1.5rem;font-weight:800}.target{background:var(--c-pink-bg);width:48px;height:48px;color:var(--c-pink-fg);border-radius:50%;flex:none;place-items:center;display:grid}.overall-foot,.budget-foot{color:var(--muted);justify-content:space-between;font-size:.82rem;display:flex}.over{color:var(--expense-fg);font-weight:700}.card.dashed{border:2px dashed var(--accent-soft);box-shadow:none;background:var(--surface-soft);align-items:center;gap:12px;display:flex}.card.dashed small{display:block}.progress{background:var(--track);border-radius:999px;height:12px;overflow:hidden}.progress-fill{border-radius:999px;min-width:0;height:100%;transition:width .4s}.budget-list{flex-direction:column;gap:12px;display:flex}.card.budget{align-items:center;gap:12px;padding:14px;display:flex}.budget-main{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}.budget-top{color:var(--text-strong);justify-content:space-between;gap:8px;display:flex}.net-card{grid-template-columns:1fr 1fr;gap:12px;display:grid}.net-card b{color:var(--text-strong);font-size:1.25rem;font-weight:800;display:block}.net-card b.neg{color:var(--expense-fg)}.bars{grid-template-columns:repeat(6,1fr);align-items:end;gap:8px;height:150px;display:grid}.bar-col{flex-direction:column;justify-content:flex-end;align-items:center;gap:6px;height:100%;display:flex}.bar-pair{justify-content:center;align-items:flex-end;gap:4px;width:100%;height:calc(100% - 22px);display:flex}.bar{border-radius:8px 8px 4px 4px;width:40%;max-width:22px;min-height:3px}.bar.inc,i.inc{background:var(--c-mint-bar)}.bar.exp,i.exp{background:var(--c-pink-bar)}.bar-legend{color:var(--muted);justify-content:center;gap:16px;margin-top:12px;font-size:.82rem;display:flex}.bar-legend i{border-radius:50%;width:10px;height:10px;margin-right:6px;display:inline-block}.sheet-backdrop{z-index:50;background:var(--backdrop);-webkit-backdrop-filter:blur(6px);touch-action:none;overscroll-behavior:contain;justify-content:center;align-items:flex-end;animation:.15s fade;display:flex;position:fixed;inset:0}.sheet{touch-action:pan-y;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:var(--surface);width:100%;max-width:520px;max-height:92dvh;padding:8px 18px calc(env(safe-area-inset-bottom) + 22px);box-shadow:var(--sheet-shadow);border-radius:28px 28px 0 0;animation:.22s rise;overflow:hidden auto}.sheet-grab{background:var(--line);border-radius:999px;width:42px;height:5px;margin:6px auto 8px}.sheet-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.sheet-head h2{color:var(--text-strong);font-size:1.25rem;font-weight:800}@keyframes rise{0%{opacity:.6;transform:translateY(30px)}}@keyframes fade{0%{opacity:0}}.form{flex-direction:column;gap:14px;display:flex}.segmented{background:var(--track);border-radius:999px;grid-template-columns:1fr 1fr;padding:4px;display:grid}.segmented button{text-align:center;height:38px;color:var(--muted);border-radius:999px;font-weight:700}.segmented button.on{background:var(--seg-on,var(--surface));box-shadow:var(--shadow)}.segmented button.on.expense{color:var(--expense-fg)}.segmented button.on.income{color:var(--income-fg)}.amount-field{background:var(--surface-soft);border:1px solid var(--line);border-radius:20px;justify-content:center;align-items:baseline;gap:8px;padding:10px;display:flex}.amount-field span{color:var(--muted);font-size:1.2rem;font-weight:700}.amount-field input{width:60%;color:var(--text-strong);text-align:left;background:0 0;border:0;outline:none;min-width:0;font-size:2.2rem;font-weight:800}.field{flex-direction:column;gap:6px;display:flex}.field-label{color:var(--muted);font-size:.82rem;font-weight:700}.field input{border:1px solid var(--line);background:var(--surface-soft);border-radius:14px;outline:none;width:100%;height:46px;padding:0 14px;font-size:16px}.field input[type=date]{appearance:none;text-align:left;align-items:center;min-width:0;max-width:100%;padding-top:0;padding-bottom:0;line-height:46px;display:flex}.field input[type=date]::-webkit-date-and-time-value{text-align:left;min-height:1.2em;margin:0;line-height:normal}.field input[type=date]::-webkit-datetime-edit{padding:0;line-height:normal}.field input:focus,.search:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.chip-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.chip{background:var(--surface-soft);text-align:center;border:2px solid #0000;border-radius:16px;flex-direction:column;align-items:center;gap:6px;padding:10px 4px;font-size:.78rem;display:flex}.chip.on{border-color:var(--accent);background:var(--chip-on-bg);color:var(--accent-strong);font-weight:700}.form-actions{gap:10px;margin-top:4px;display:flex}.btn{text-align:center;border-radius:16px;flex:1;justify-content:center;align-items:center;gap:8px;height:50px;font-weight:800;display:inline-flex}.btn.primary{background:var(--primary-grad);color:var(--on-primary)}.btn.danger{background:var(--expense-bg);color:var(--expense-fg);flex:none;padding:0 18px}.form-error{color:var(--expense-fg);font-size:.9rem;font-weight:600}.form-ok{color:var(--income-fg);font-size:.9rem;font-weight:600}.segmented.three{grid-template-columns:repeat(3,1fr)}.switch-row{background:var(--surface-soft);border:1px solid var(--line);border-radius:16px;align-items:center;gap:12px;padding:12px 14px;display:flex}.switch-row input{width:22px;height:22px;accent-color:var(--accent-strong);flex:none}.switch-row b{color:var(--text-strong);display:block}.small-note{align-items:center;gap:6px;font-size:.82rem;display:flex}.tx-amt.dim{opacity:.45}.head-actions{align-items:center;display:flex}.rep{vertical-align:-1px;color:var(--muted);margin-left:6px;display:inline}.row-link .count{color:var(--muted)}.row-link-icon.peach{background:var(--c-peach-bg);color:var(--c-peach-fg)}.btn.soft{background:var(--track);color:var(--text);flex:none;padding:0 18px}.setup{background:var(--surface-soft);border:1px solid var(--line);border-radius:16px;padding:4px 14px 14px}.setup summary{cursor:pointer;color:var(--text-strong);padding:10px 0;font-weight:700}.setup ol{flex-direction:column;gap:8px;margin:4px 0 12px;padding-left:20px;font-size:.9rem;display:flex}.setup .btn{margin-bottom:8px}.sync-last{background:var(--income-bg);color:var(--income-fg);border-radius:14px;align-items:center;gap:8px;padding:10px 12px;font-size:.9rem;display:flex}.sync-last svg{flex:none}.link-btn{color:var(--muted);align-self:center;align-items:center;gap:6px;padding:8px 12px;font-size:.88rem;display:inline-flex}.btn.danger.wide{flex:1}.icon-note{background:var(--c-lavender-bg);border-radius:16px;flex-direction:column;align-items:flex-start;gap:8px;padding:14px;display:flex}.icon-note b{color:var(--text-strong)}.icon-note .url{color:var(--text);word-break:break-all;margin-top:4px;font-weight:700;display:block}.icon-note .btn.soft{background:var(--surface);height:40px}.chev{color:var(--muted);flex:none}.select{border:1px solid var(--line);background:var(--surface-soft);border-radius:14px;width:100%;height:46px;padding:0 12px;font-size:16px}.cat-preview{background:var(--surface-soft);border:1px solid var(--line);border-radius:20px;flex-direction:column;align-items:center;gap:8px;padding:14px;display:flex}.cat-preview b{color:var(--text-strong);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:1.1rem;overflow:hidden}.tone-row{justify-content:space-between;gap:12px;display:flex}.tone{border:3px solid var(--surface);border-radius:50%;flex:none;width:40px;height:40px;box-shadow:0 0 0 2px #0000}.tone.on{box-shadow:0 0 0 3px var(--accent-strong)}.icon-grid{grid-template-columns:repeat(6,1fr);gap:8px;display:grid}.icon-opt{aspect-ratio:1;background:var(--surface-soft);border:1px solid var(--line);color:var(--muted);border-radius:14px;place-items:center;display:grid}.icon-opt.on{box-shadow:0 0 0 2px var(--accent-strong);border-color:#0000}.btn:disabled{opacity:.5}.btn.more{align-self:center;margin:8px 0 4px}.import-summary{box-shadow:none;background:var(--surface-soft);border:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;display:flex}.import-summary small{display:block}.import-summary .big{color:var(--text-strong);font-size:1.2rem;font-weight:800;display:block}.import-summary .split{flex-direction:column;align-items:flex-end;font-weight:800;display:flex}.import-summary .inc{color:var(--income-fg)}.import-summary .exp{color:var(--expense-fg)}.form-error.warn{background:var(--warn-bg);color:var(--warn-fg);border-radius:14px;align-items:flex-start;gap:8px;padding:10px 12px;display:flex}.form-error.warn svg{flex:none;margin-top:2px}.map-list{flex-direction:column;gap:8px;display:flex}.map-row{background:var(--surface-soft);border:1px solid var(--line);border-radius:16px;grid-template-columns:1fr minmax(0,46%);align-items:center;gap:10px;padding:10px 12px;display:grid}.map-name{flex-direction:column;min-width:0;display:flex}.map-name b{text-overflow:ellipsis;white-space:nowrap;color:var(--text-strong);overflow:hidden}.map-row select{border:1px solid var(--line);background:var(--surface);border-radius:12px;width:100%;min-width:0;height:40px;padding:0 8px;font-size:16px}.import-done{text-align:center;align-items:center;padding:10px 0}.import-done h3{color:var(--text-strong);font-size:1.2rem}.done-badge{background:var(--c-mint-bg);width:72px;height:72px;color:var(--c-mint-fg);border-radius:50%;place-items:center;display:grid}.settings{flex-direction:column;gap:10px;display:flex}.appearance{flex-direction:column;gap:8px;display:flex}.segmented button.on{color:var(--text-strong)}.row-btn{background:var(--surface-soft);border:1px solid var(--line);border-radius:16px;align-items:center;gap:14px;width:100%;padding:14px;display:flex}.row-btn>svg{color:var(--c-lavender-fg);flex:none}.row-btn b{color:var(--text-strong);display:block}.row-btn.danger{background:var(--expense-bg);border-color:#0000}.row-btn.danger>svg,.row-btn.danger b{color:var(--expense-fg)}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
