@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(./nunito-cyrillic-ext-wght-normal-D4X5GqEv.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(./nunito-cyrillic-wght-normal-CY6AOgYE.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(./nunito-vietnamese-wght-normal-U01xdrZh.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(./nunito-latin-ext-wght-normal-CXYtwYOx.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(./nunito-latin-wght-normal-BzFMHfZw.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#fff;--surface:#fff;--surface-2:#f7f7f7;--border:#e5e5e5;--ink:#4b4b4b;--ink-strong:#3c3c3c;--muted:#777;--faint:#afafaf;--brand:#ff4f93;--brand-dark:#d93577;--brand-soft:#ffe3ef;--blue:#1cb0f6;--blue-dark:#1899d6;--blue-soft:#ddf4ff;--green:#58cc02;--green-dark:#58a700;--red:#ff4b4b;--red-dark:#ea2b2b;--orange:#ff9600;--orange-dark:#e08600;--yellow:#ffc800;--purple:#ce82ff;--font:"Nunito Variable", "Nunito", "Varela Round", system-ui, -apple-system, "Segoe UI", sans-serif;--spring:cubic-bezier(.34, 1.56, .64, 1);--ease-out:cubic-bezier(.22, 1, .36, 1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#131f24;--surface:#131f24;--surface-2:#202f36;--border:#37464f;--ink:#dce6ec;--ink-strong:#f1f7fb;--muted:#93a6b0;--faint:#52656d;--brand-soft:#3a1f2e;--blue-soft:#133a4c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#131f24;--surface:#131f24;--surface-2:#202f36;--border:#37464f;--ink:#dce6ec;--ink-strong:#f1f7fb;--muted:#93a6b0;--faint:#52656d;--brand-soft:#3a1f2e;--blue-soft:#133a4c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;font-size:16px;font-weight:700}button,input,select{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:3px solid var(--blue);outline-offset:2px}h1,h2,h3{color:var(--ink-strong);letter-spacing:-.01em;text-wrap:balance;margin:0;font-weight:800}h1{font-size:1.6rem;line-height:1.2}h2{font-size:1.25rem}h3{font-size:1.1rem}p{margin:0;line-height:1.5}small{font-size:.85rem}a{color:var(--blue);font-weight:800;text-decoration:none}.muted{color:var(--muted);font-weight:700}.ink{color:var(--ink-strong)}.mono{font-family:ui-monospace,monospace}.center{text-align:center}.neg{color:var(--red)}.pos{color:var(--green)}.grow{flex:1}.row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.row.between{justify-content:space-between}.ellipsis{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.money{font-variant-numeric:tabular-nums}.fine{color:var(--faint);justify-content:center;align-items:center;gap:6px;font-size:.8rem;display:flex}.hl{color:var(--red)}.btn{--b:var(--brand);--bd:var(--brand-dark);background:var(--b);color:#fff;text-transform:uppercase;letter-spacing:.06em;min-height:50px;box-shadow:0 4px 0 var(--bd);border:0;border-radius:16px;justify-content:center;align-items:center;gap:8px;padding:0 20px;font-size:.95rem;font-weight:800;transition:transform 80ms,box-shadow 80ms,filter .15s;display:inline-flex}.btn:hover:not(:disabled){filter:brightness(1.06)}.btn:active:not(:disabled){box-shadow:0 0 0 var(--bd);transform:translateY(4px)}.btn:disabled{--b:var(--border);--bd:var(--border);color:var(--faint);cursor:not-allowed}.btn.blue{--b:var(--blue);--bd:var(--blue-dark)}.btn.green{--b:var(--green);--bd:var(--green-dark)}.btn.danger{--b:var(--red);--bd:var(--red-dark)}.btn.secondary,.btn.ghost{--bd:var(--border);background:var(--surface);color:var(--blue);border:2px solid var(--border)}.btn.small{border-radius:12px;min-height:40px;padding:0 14px;font-size:.8rem}.btn.wide{width:100%}.link{color:var(--blue);letter-spacing:.04em;background:0 0;border:0;padding:6px;font-size:.85rem;font-weight:800}.icon-btn{color:var(--faint);background:0 0;border:0;padding:6px 8px;font-size:1.1rem;font-weight:900}.round-btn{border:2px solid var(--border);background:var(--surface);width:40px;height:40px;color:var(--faint);border-radius:12px;place-items:center;display:grid}.text-input,.field select,.field input,.money-input{border:2px solid var(--border);background:var(--surface-2);width:100%;min-width:0;color:var(--ink-strong);border-radius:14px;outline:none;padding:13px 16px;font-weight:700;transition:border-color .15s,background .15s}.text-input::placeholder,.money-input input::placeholder{color:var(--faint)}.text-input:focus,.money-input:focus-within,.field select:focus{border-color:var(--blue);background:var(--surface)}.text-input.big{padding:16px;font-size:1.15rem}.money-input{align-items:center;gap:8px;font-size:1.5rem;font-weight:900;display:flex}.money-input span{color:var(--faint)}.money-input input{width:100%;color:var(--ink-strong);background:0 0;border:0;outline:0;font-weight:900}.field{justify-content:space-between;align-items:center;gap:12px;display:flex}.field>span{color:var(--muted)}.field select,.field input{width:auto;padding:9px 12px}.check{color:var(--muted);align-items:flex-start;gap:10px;font-size:.95rem;display:flex}.check input{accent-color:var(--blue);width:20px;height:20px}.search{border:2px solid var(--border);background:var(--surface-2);color:var(--faint);border-radius:16px;align-items:center;gap:10px;padding:0 16px;display:flex}.search:focus-within{border-color:var(--blue);background:var(--surface)}.search input{width:100%;color:var(--ink-strong);background:0 0;border:0;outline:0;padding:13px 0;font-weight:700}.chips{flex-wrap:wrap;gap:8px;display:flex}.chips.scroll{scrollbar-width:none;flex-wrap:nowrap;margin-inline:-16px;padding:2px 16px 6px;overflow-x:auto}.chips.scroll::-webkit-scrollbar{display:none}.chip{--chip:var(--blue);border:2px solid var(--border);background:var(--surface);white-space:nowrap;color:var(--muted);box-shadow:0 3px 0 var(--border);border-radius:12px;align-items:center;gap:6px;padding:7px 13px;font-size:.85rem;font-weight:800;transition:transform 80ms,box-shadow 80ms;display:inline-flex}.chip:active{box-shadow:none;transform:translateY(3px)}.chip.on{border-color:var(--blue);background:var(--blue-soft);color:var(--blue);box-shadow:0 3px 0 var(--blue)}.chip-sep{background:var(--border);flex:0 0 2px;margin:6px 2px}.bar{background:var(--border);border-radius:999px;height:16px;overflow:hidden}.bar>i{background:var(--green);min-width:16px;height:100%;transition:width .9s var(--spring);border-radius:999px;display:block;position:relative}.bar>i:after{content:"";background:#ffffff4d;border-radius:999px;height:4px;position:absolute;top:4px;left:8px;right:8px}.bar.on-color{background:#00000029}.bar.on-color>i{background:#fff}.bar.on-color>i:after{background:#fff0}.app{max-width:520px;min-height:100vh;padding-bottom:calc(96px + env(safe-area-inset-bottom,0px));margin:0 auto;overflow-x:clip}.page{flex-direction:column;gap:22px;padding:16px 16px 24px;display:flex}.page-head{flex-direction:column;gap:4px;display:flex}.card{background:var(--surface);border:2px solid var(--border);border-radius:16px;flex-direction:column;gap:12px;padding:16px;display:flex}.card.inset{background:var(--surface-2)}.card.list{gap:0;padding:4px 16px}.card.list>*+*{border-top:2px solid var(--border)}.empty{padding:14px 0}.section{flex-direction:column;gap:12px;display:flex}.section-head{justify-content:space-between;align-items:center;display:flex}.tile{background:var(--surface);border:2px solid var(--border);box-shadow:0 4px 0 var(--border);border-radius:16px;padding:14px}.stagger>*{animation:rise .45s var(--ease-out) both;animation-delay:calc(var(--i,0) * 60ms)}@keyframes rise{0%{opacity:0;transform:translateY(12px)}}.view{animation:enter-right .35s var(--ease-out)}.view.enter-left{animation-name:enter-left}@keyframes enter-right{0%{opacity:0;transform:translate(24px)}}@keyframes enter-left{0%{opacity:0;transform:translate(-24px)}}.topbar{top:env(safe-area-inset-top,0px);z-index:20;background:var(--bg);border-bottom:2px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;display:flex;position:sticky}.topbar-stats{align-items:center;gap:6px;display:flex}.tstat{font-variant-numeric:tabular-nums;background:0 0;border:0;border-radius:12px;align-items:center;gap:5px;padding:6px 8px;font-size:1rem;font-weight:900;display:inline-flex}.tstat.orange{color:var(--orange)}.tstat.yellow{color:#e5a500}.tstat.mail{position:relative}.tstat.mail:active{transform:scale(.92)}.tstat .dot{background:var(--green);border:2px solid var(--bg);border-radius:50%;width:11px;height:11px;position:absolute;top:4px;right:4px}.tstat.off .dot,.tstat.error .dot{background:var(--red)}.tstat.syncing svg{animation:.8s ease-in-out infinite bob}@keyframes bob{50%{transform:translateY(-3px)}}.wordmark{color:var(--brand);letter-spacing:-.02em;align-items:center;gap:8px;font-size:1.35rem;font-weight:900;display:inline-flex}.hero{align-items:center;gap:4px;min-height:160px;display:flex}.hero-talk{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.hint{color:var(--faint);letter-spacing:.08em;text-transform:uppercase;transform-origin:0;padding-left:14px;font-size:.75rem;font-weight:800;animation:3s ease-in-out infinite nudge}@keyframes nudge{0%,85%,to{transform:none}90%{transform:rotate(-3deg)}95%{transform:rotate(3deg)}}.bubble{background:var(--surface);border:2px solid var(--border);color:var(--ink-strong);animation:pop .35s var(--spring);border-radius:16px;padding:12px 16px;font-weight:700;line-height:1.45;position:relative}.bubble.tail-left:before,.bubble.tail-left:after{content:"";border:10px solid #0000;width:0;height:0;position:absolute;top:50%}.bubble.tail-left:before{border-right-color:var(--border);border-right-width:11px;margin-top:-10px;left:-21px}.bubble.tail-left:after{border-right-color:var(--surface);margin-top:-10px;left:-17px}@keyframes pop{0%{opacity:0;transform:scale(.85)}}.banner{--tone:var(--green);--tone-dark:var(--green-dark);color:#fff;background:var(--tone);box-shadow:0 4px 0 var(--tone-dark);border-radius:16px;flex-direction:column;gap:10px;padding:16px 18px;display:flex}.banner.blue{--tone:var(--blue);--tone-dark:var(--blue-dark)}.banner.orange{--tone:var(--orange);--tone-dark:var(--orange-dark)}.banner.red{--tone:var(--red);--tone-dark:var(--red-dark);animation:1.6s ease-in-out infinite throb-soft}.banner-text{flex-direction:column;gap:2px;display:flex}.banner-text small{opacity:.85;letter-spacing:.08em;font-size:.75rem;font-weight:800}.banner-text b{font-size:1.2rem;font-weight:900}.banner-foot{font-variant-numeric:tabular-nums;justify-content:space-between;font-size:.9rem;font-weight:800;display:flex}@keyframes throb-soft{50%{transform:scale(1.012)}}.connect{grid-template-columns:auto 1fr;align-items:center;gap:12px 14px;display:grid}.connect .btn{grid-column:1/-1}.total{align-items:center;gap:10px;display:flex}.total-num{color:var(--ink-strong);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:2.1rem;font-weight:900}.bank-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;display:grid}.bank-grid .tile{flex-direction:column;gap:2px;display:flex}.bank-grid .tile small{color:var(--muted);margin-top:8px}.bank-grid .tile b{color:var(--ink-strong);font-variant-numeric:tabular-nums;font-size:1.2rem;font-weight:900}.bank-badge{background:var(--bank,var(--blue));color:#fff;letter-spacing:.02em;border-radius:12px;flex-shrink:0;place-items:center;width:40px;height:40px;font-size:.8rem;font-weight:900;display:grid;box-shadow:inset 0 -4px #0000002e}.bank-badge.plus{background:var(--faint);font-size:1.3rem}.stat-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.stat{align-items:center;gap:10px;display:flex}.stat div{flex-direction:column;min-width:0;display:flex}.stat b{color:var(--ink-strong);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:1.15rem;font-weight:900}.stat small{color:var(--muted)}.tx-row{text-align:left;background:0 0;border:0;align-items:center;gap:12px;width:100%;padding:12px 0;transition:transform .12s;display:flex}.tx-row:active{transform:scale(.98)}.tx-icon{--cat:var(--blue);background:color-mix(in srgb, var(--cat) 20%, var(--surface));border:2px solid color-mix(in srgb, var(--cat) 35%, var(--surface));border-radius:14px;flex-shrink:0;place-items:center;width:44px;height:44px;font-size:1.25rem;display:grid}.tx-main{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.tx-main b{color:var(--ink-strong);white-space:nowrap;text-overflow:ellipsis;font-weight:800;overflow:hidden}.tx-main small{color:var(--faint);white-space:nowrap;text-overflow:ellipsis;font-weight:700;overflow:hidden}.tx-amt{white-space:nowrap;color:var(--ink-strong);font-variant-numeric:tabular-nums;font-weight:900}.tx-amt.in{color:var(--green)}.group{background:var(--surface);border:2px solid var(--border);box-shadow:0 4px 0 var(--border);border-radius:16px;overflow:hidden}.group-head{text-align:left;background:0 0;border:0;grid-template-columns:auto 1fr auto auto;align-items:center;gap:12px;width:100%;padding:14px;display:grid}.group-head:active{background:var(--surface-2)}.group-badge{--c:var(--blue);color:#fff;background:var(--c);border-radius:14px;place-items:center;width:46px;height:46px;font-size:.9rem;font-weight:900;display:grid;box-shadow:inset 0 -4px #0003}.group-title{flex-direction:column;gap:3px;min-width:0;display:flex}.group-title b{color:var(--ink-strong);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.group-title small{color:var(--faint)}.group-bar{background:var(--border);border-radius:999px;height:8px;margin-top:3px;overflow:hidden}.group-bar span{height:100%;transition:width .7s var(--spring);border-radius:999px;display:block}.group-total{color:var(--ink-strong);font-variant-numeric:tabular-nums;font-weight:900}.group-chev{color:var(--faint);transition:transform .3s var(--spring);display:grid}.group.open .group-chev{transform:rotate(90deg)}.group-body{border-top:2px solid var(--border);animation:rise .3s var(--ease-out);padding:0 14px 4px}.group-body>*+*{border-top:2px solid var(--border)}.seg{grid-template-columns:repeat(var(--n), 1fr);border:2px solid var(--border);background:var(--surface-2);border-radius:16px;padding:4px;display:grid;position:relative}.seg-thumb{width:calc((100% - 8px) / var(--n));background:var(--surface);border:2px solid var(--blue);box-shadow:0 3px 0 var(--blue);transform:translateX(calc(var(--i) * 100%));transition:transform .4s var(--spring);border-radius:12px;position:absolute;top:4px;bottom:4px;left:4px}.seg button{z-index:1;color:var(--faint);background:0 0;border:0;padding:10px 4px;font-size:.85rem;font-weight:800;transition:color .25s;position:relative}.seg button.on{color:var(--blue)}.fab{right:max(16px,50% - 244px);bottom:calc(92px + env(safe-area-inset-bottom,0px));z-index:10;background:var(--blue);color:#fff;width:60px;height:60px;box-shadow:0 5px 0 var(--blue-dark);border:0;border-radius:50%;place-items:center;transition:transform 80ms,box-shadow 80ms;display:grid;position:fixed}.fab:active{box-shadow:none;transform:translateY(5px)}.cat-bars{flex-direction:column;gap:14px;display:flex}.cat-bar{grid-template-columns:minmax(0,128px) 1fr auto;align-items:center;gap:10px;font-size:.92rem;display:grid}.cat-label{white-space:nowrap;text-overflow:ellipsis;min-width:0;color:var(--ink-strong);align-items:center;gap:8px;display:flex;overflow:hidden}.cat-track{background:var(--border);border-radius:999px;height:14px;overflow:hidden}.cat-fill{background:var(--brand);min-width:14px;height:100%;transition:width .8s var(--spring);border-radius:999px;display:block;position:relative}.cat-fill:after{content:"";background:#ffffff4d;border-radius:999px;height:3px;position:absolute;top:3px;left:6px;right:6px}.cat-fill.hot{background:var(--red)}.cat-val{white-space:nowrap;color:var(--ink-strong);font-variant-numeric:tabular-nums;font-weight:900}.mini-badge{color:#fff;border-radius:8px;flex-shrink:0;place-items:center;width:26px;height:26px;font-size:.62rem;font-weight:900;display:grid}.day-chart{width:100%;height:auto}.day-chart .axis{stroke:var(--border);stroke-width:2px}.day-chart .tick{fill:var(--faint);font-size:10px;font-weight:800;font-family:var(--font)}.day-bar{fill:var(--blue);transition:fill .15s}.day-bar.on{fill:var(--blue-dark)}.bank-row{align-items:center;gap:12px;padding:12px 0;display:flex}.bank-row b{color:var(--ink-strong)}.dot{background:var(--bank);border-radius:50%;flex-shrink:0;width:12px;height:12px}.bank-form{flex-direction:column;gap:14px;width:100%;display:flex}.bank-amount{animation:rise .3s var(--ease-out);flex-direction:column;gap:10px;display:flex}.bank-amount b{color:var(--ink-strong)}.pick-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.pick-grid.two{grid-template-columns:1fr 1fr}.pick{border:2px solid var(--border);background:var(--surface);box-shadow:0 4px 0 var(--border);color:var(--ink-strong);border-radius:16px;flex-direction:column;align-items:center;gap:6px;padding:12px 6px;font-size:.85rem;font-weight:800;transition:transform 80ms,box-shadow 80ms,background .15s,border-color .15s;display:flex}.pick:active{box-shadow:none;transform:translateY(4px)}.pick.on{border-color:var(--blue);background:var(--blue-soft);box-shadow:0 4px 0 var(--blue);color:var(--blue)}.pick.tall{gap:2px;padding:18px 10px}.pick.tall b{font-size:1.05rem}.pick.tall small{color:var(--muted)}.pick.on.tall small{color:var(--blue)}.tabbar{--slot:calc((100% - 16px) / 4);z-index:15;width:min(520px,100%);padding:8px 8px calc(8px + env(safe-area-inset-bottom,0px));background:var(--bg);border-top:2px solid var(--border);grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.tab-pill{width:var(--slot);border:2px solid var(--blue);background:var(--blue-soft);height:60px;transform:translateX(calc(var(--i) * 100%));transition:transform .45s var(--spring);border-radius:14px;position:absolute;top:8px;left:8px}.tabbar button{z-index:1;height:60px;color:var(--faint);letter-spacing:.03em;text-transform:uppercase;background:0 0;border:0;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:1px;font-size:.72rem;font-weight:800;transition:color .25s;display:flex;position:relative}.tabbar button.on{color:var(--blue)}.tab-icon{transition:transform .2s;display:grid}.tabbar button:active .tab-icon{transform:scale(.88)}.tabbar button.on .tab-icon{animation:tab-bounce .55s var(--spring)}@keyframes tab-bounce{0%{transform:scale(.7)rotate(-10deg)}55%{transform:scale(1.18)rotate(5deg)}to{transform:none}}.sheet-backdrop{z-index:40;background:#00000080;justify-content:center;align-items:flex-end;animation:.2s fade;display:flex;position:fixed;inset:0}.sheet{background:var(--bg);border-top:2px solid var(--border);width:100%;max-width:520px;max-height:92vh;padding:10px 18px calc(24px + env(safe-area-inset-bottom,0px));animation:sheet-up .4s var(--ease-out);border-radius:20px 20px 0 0;flex-direction:column;gap:16px;display:flex;overflow-y:auto}.sheet-grip{background:var(--border);border-radius:999px;width:44px;height:5px;margin:0 auto 2px}.sheet-head{justify-content:space-between;align-items:center;display:flex}@keyframes sheet-up{0%{transform:translateY(100%)}}@keyframes fade{0%{opacity:0}}.steps{counter-reset:step;flex-direction:column;gap:16px;margin:0;padding:0;list-style:none;display:flex}.steps li{counter-increment:step;grid-template-columns:32px 1fr;gap:6px 12px;display:grid}.steps li:before{content:counter(step);background:var(--blue);color:#fff;width:32px;height:32px;box-shadow:0 3px 0 var(--blue-dark);border-radius:10px;grid-row:span 4;place-items:center;font-weight:900;display:grid}.steps li>*{grid-column:2}.steps b{color:var(--ink-strong)}.steps span{color:var(--muted);font-size:.92rem;line-height:1.45}.copy-row{align-items:center;gap:8px;display:flex}.copy-row code{white-space:nowrap;background:var(--surface-2);border:2px solid var(--border);-webkit-user-select:all;user-select:all;border-radius:12px;flex:1;min-width:0;padding:9px 12px;font-size:.82rem;overflow-x:auto}.notice{border:2px solid var(--border);background:var(--surface-2);border-radius:14px;flex-direction:column;gap:4px;padding:12px 14px;font-size:.92rem;line-height:1.45;display:flex}.notice.warn{border-color:var(--orange);background:color-mix(in srgb, var(--orange) 10%, var(--bg))}.notice.bad{border-color:var(--red);background:color-mix(in srgb, var(--red) 10%, var(--bg));color:var(--red)}.notice a{word-break:break-all}.toasts{z-index:50;top:calc(70px + env(safe-area-inset-top,0px));pointer-events:none;flex-direction:column;gap:8px;width:min(488px,100% - 32px);display:flex;position:fixed;left:50%;transform:translate(-50%)}.toast{background:var(--bg);border:2px solid var(--border);box-shadow:0 4px 0 var(--border);color:var(--ink-strong);animation:toast-in .45s var(--spring);border-radius:16px;align-items:center;gap:10px;padding:6px 16px 6px 6px;font-weight:800;display:flex}.toast.angry{border-color:var(--red);box-shadow:0 4px 0 var(--red);animation:toast-in .45s var(--spring), shake .4s .45s 2}@keyframes toast-in{0%{opacity:0;transform:translateY(-30px)scale(.9)}}.onboarding{flex-direction:column;max-width:560px;min-height:100vh;margin:0 auto;display:flex}.ob-head{align-items:center;gap:14px;padding:16px;display:flex}.ob-back{width:36px;height:36px;color:var(--faint);background:0 0;border:0;font-size:2rem;font-weight:900;line-height:1}.ob-body{animation:enter-right .35s var(--ease-out);flex-direction:column;flex:1;gap:18px;padding:8px 16px 120px;display:flex}.ob-hero{align-items:center;gap:6px;display:flex}.ob-hero .bubble{flex:1}.ob-title{font-size:1.35rem}.ob-foot{padding:16px 16px calc(16px + env(safe-area-inset-bottom,0px));background:var(--bg);border-top:2px solid var(--border);position:fixed;bottom:0;left:0;right:0}.ob-foot .btn{max-width:528px;margin:0 auto;display:flex}.kobi-btn{touch-action:manipulation;background:0 0;border:0;border-radius:50%;flex-shrink:0;padding:0;line-height:0}.kobi{flex-shrink:0;overflow:visible}.kobi .k-rig,.kobi .k-arm-l,.kobi .k-arm-r,.kobi .k-shadow,.kobi .k-eyes{transform-box:view-box}.kobi .k-rig{transform-origin:110px 204px}.kobi .k-shadow{transform-origin:110px 208px}.kobi .k-arm-l{transform-origin:44px 134px}.kobi .k-arm-r{transform-origin:176px 134px}.kobi .k-eyes{transform-origin:110px 104px;animation:4.5s infinite blink}.kobi .k-coin{transform-box:view-box;transform-origin:110px 50px}.anim-coin .k-coin{animation:1.4s both coin-in}@keyframes coin-in{0%,30%{transform:none}55%{transform:translateY(14px)}56%,70%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}.kobi-happy .k-rig{animation:1.8s ease-in-out infinite idle-bob}.kobi-chill .k-rig{animation:3s ease-in-out infinite idle-breathe}.kobi-worried .k-rig{animation:1.3s ease-in-out infinite idle-wobble}.kobi-angry .k-rig{animation:.5s ease-in-out infinite idle-shake}.kobi-furious .k-rig{animation:.22s linear infinite idle-shake}.kobi-happy .k-arm-r{animation:1.8s ease-in-out infinite arm-sway-r}.kobi-happy .k-arm-l{animation:1.8s ease-in-out infinite arm-sway-l}@keyframes idle-bob{0%,to{transform:none}45%{transform:translateY(-8px)scale(.98,1.03)}90%{transform:scale(1.03,.97)}}@keyframes idle-breathe{50%{transform:scale(1.02,.98)}}@keyframes idle-wobble{25%{transform:rotate(-3deg)}75%{transform:rotate(3deg)}}@keyframes idle-shake{25%{transform:translate(-3px)rotate(-2deg)}75%{transform:translate(3px)rotate(2deg)}}@keyframes arm-sway-r{50%{transform:rotate(-14deg)}}@keyframes arm-sway-l{50%{transform:rotate(14deg)}}@keyframes blink{0%,93%,to{transform:scaleY(1)}96%{transform:scaleY(.08)}}@keyframes shake{25%{transform:translate(-4px)rotate(-2deg)}75%{transform:translate(4px)rotate(2deg)}}.kobi[class*=anim-] .k-rig,.kobi[class*=anim-] .k-arm-l,.kobi[class*=anim-] .k-arm-r{animation:none}.anim-jump .k-rig{animation:a-jump .9s var(--spring)!important}.anim-jump .k-shadow,.anim-flip .k-shadow{animation:.9s a-shadow!important}.anim-jump .k-arm-r,.anim-laugh .k-arm-r{animation:.9s a-arms-up!important}.anim-jump .k-arm-l,.anim-laugh .k-arm-l{animation:.9s a-arms-up-l!important}.anim-spin .k-rig{transform-origin:110px 115px;animation:.9s cubic-bezier(.5,0,.3,1) a-spin!important}.anim-wave .k-arm-r{animation:.33s ease-in-out 4 a-wave!important}.anim-wave .k-rig{animation:1.3s ease-in-out a-lean!important}.anim-dance .k-rig{animation:.4s ease-in-out 4 a-dance!important}.anim-dance .k-arm-l{animation:.4s ease-in-out 4 a-wave-l!important}.anim-dance .k-arm-r{animation:.4s ease-in-out 4 a-wave!important}.anim-love .k-rig{animation:.5s ease-in-out 3 a-heartbeat!important}.anim-dizzy .k-rig{animation:1.6s ease-in-out a-dizzy!important}.anim-coin .k-rig{animation:1.4s a-gulp!important}.anim-flip .k-rig{transform-origin:110px 115px;animation:1s cubic-bezier(.45,0,.3,1) a-flip!important}.anim-sleepy .k-rig{animation:2.2s ease-in-out a-sleepy!important}.anim-laugh .k-rig{animation:.14s linear 9 a-laugh!important}@keyframes a-jump{0%{transform:none}15%{transform:scale(1.15,.8)}45%{transform:translateY(-60px)scale(.92,1.1)}70%{transform:translateY(0)scale(1.18,.82)}85%{transform:scale(.95,1.05)}to{transform:none}}@keyframes a-shadow{45%{opacity:.03;transform:scale(.5)}}@keyframes a-arms-up{20%,70%{transform:rotate(-140deg)}}@keyframes a-arms-up-l{20%,70%{transform:rotate(140deg)}}@keyframes a-spin{0%{transform:none}20%{transform:scale(1.1,.9)}to{transform:rotate(360deg)}}@keyframes a-wave{0%,to{transform:rotate(-120deg)}50%{transform:rotate(-160deg)}}@keyframes a-wave-l{0%,to{transform:rotate(120deg)}50%{transform:rotate(160deg)}}@keyframes a-lean{20%,80%{transform:rotate(-6deg)}}@keyframes a-dance{0%,to{transform:translate(0)rotate(0)}25%{transform:translate(-10px)rotate(-10deg)}75%{transform:translate(10px)rotate(10deg)}}@keyframes a-heartbeat{0%,to{transform:scale(1)}30%{transform:scale(1.12)}60%{transform:scale(.97)}}@keyframes a-dizzy{0%,to{transform:none}20%{transform:rotate(-12deg)translate(-6px)}40%{transform:rotate(10deg)translate(6px)}60%{transform:rotate(-8deg)}80%{transform:rotate(6deg)}}@keyframes a-gulp{0%,40%{transform:none}50%{transform:scale(1.12,.86)}65%{transform:translateY(-14px)scale(.96,1.06)}80%{transform:none}}@keyframes a-flip{0%{transform:none}15%{transform:scale(1.12,.85)}35%{transform:translateY(-70px)rotate(-120deg)}60%{transform:translateY(-50px)rotate(-300deg)}80%{transform:translateY(0)rotate(-360deg)scale(1.1,.88)}to{transform:rotate(-360deg)}}@keyframes a-sleepy{0%{transform:none}30%,80%{transform:rotate(8deg)translateY(4px)scaleY(.97)}55%{transform:rotate(9deg)translateY(4px)}}@keyframes a-laugh{50%{transform:translateY(-4px)rotate(2deg)}}.kobi .k-steam circle{animation:1.2s ease-out infinite steam}.kobi .k-steam circle:nth-child(2n){animation-delay:.4s}.kobi .k-sparkle path{transform-box:fill-box;transform-origin:50%;animation:1.4s ease-in-out infinite sparkle}.kobi .k-sparkle path:nth-child(2){animation-delay:.7s}.kobi .k-sweat{animation:1.6s ease-in infinite sweat}.kobi .k-vein{transform-box:fill-box;transform-origin:50%;animation:.6s ease-in-out infinite throb}.kobi .k-heart-eyes path{transform-box:fill-box;transform-origin:50%;animation:.5s ease-in-out infinite a-heartbeat}.kobi .k-spiral path{transform-box:fill-box;transform-origin:50%;animation:.8s linear infinite spin}.kobi .k-yawn{transform-box:fill-box;transform-origin:50%;animation:2.2s ease-in-out yawn}.kobi .fx-hearts path{animation:1.4s ease-out both float-up}.kobi .fx-orbit{transform-box:view-box;transform-origin:110px 34px;animation:.9s linear infinite spin}.kobi .fx-coin{animation:1.1s cubic-bezier(.5,0,.75,0) both coin-drop}.kobi .fx-notes text,.kobi .fx-zzz text,.kobi .fx-haha text{animation:1.3s ease-out both float-up}@keyframes spin{to{transform:rotate(360deg)}}@keyframes steam{0%{opacity:.9;transform:translateY(8px)}to{opacity:0;transform:translateY(-16px)}}@keyframes sparkle{50%{opacity:.4;transform:scale(.4)rotate(45deg)}}@keyframes sweat{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(20px)}}@keyframes throb{50%{transform:scale(1.25)}}@keyframes yawn{0%,to{transform:scale(.5)}40%,60%{transform:scale(1.3)}}@keyframes float-up{0%{opacity:0;transform:translateY(20px)}30%{opacity:1}to{opacity:0;transform:translateY(-40px)}}@keyframes coin-drop{0%{opacity:0;transform:translateY(-30px)}20%{opacity:1}75%{opacity:1;transform:translateY(46px)}to{opacity:0;transform:translateY(50px)}}.email-origin{border:2px solid var(--border);background:var(--surface-2);border-radius:14px;flex-direction:column;gap:2px;padding:12px 14px;display:flex}.email-origin small{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:.72rem;font-weight:800}.email-origin b{color:var(--ink-strong);overflow-wrap:anywhere}.email-origin span{color:var(--muted)}.btn.secondary.danger-text{color:var(--red)}.tour{z-index:60;position:fixed;inset:0}.tour-dim{background:#0000009e;animation:.25s fade;position:absolute;inset:0}.tour-hole{pointer-events:none;box-shadow:0 0 0 4px var(--blue), 0 0 0 9999px #0000009e;transition:top .4s var(--ease-out), left .4s var(--ease-out), width .4s var(--ease-out), height .4s var(--ease-out);border-radius:18px;animation:1.6s ease-in-out infinite hole-pulse;position:fixed}@keyframes hole-pulse{50%{box-shadow:0 0 0 7px color-mix(in srgb, var(--blue) 55%, transparent), 0 0 0 9999px #0000009e}}.tour-card{background:var(--bg);border:2px solid var(--border);width:min(460px,100% - 32px);box-shadow:0 4px 0 var(--border);animation:tour-in .4s var(--spring);border-radius:20px;flex-direction:column;gap:12px;padding:14px 16px;display:flex;position:fixed;left:50%;transform:translate(-50%)}.tour-card.center{animation:tour-in-center .4s var(--spring);top:50%;transform:translate(-50%,-50%)}@keyframes tour-in{0%{opacity:0;transform:translate(-50%,16px)scale(.95)}}@keyframes tour-in-center{0%{opacity:0;transform:translate(-50%,-46%)scale(.95)}}.tour-top{align-items:flex-start;gap:10px;display:flex}.tour-text{color:var(--ink);flex-direction:column;gap:4px;line-height:1.45;display:flex}.tour-text>b{color:var(--ink-strong);font-size:1.1rem;font-weight:900}.tour-text p{margin:0 0 6px}.tour-accounts{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.tour-acc{border:2px solid var(--border);border-radius:999px;align-items:center;gap:6px;padding:4px 10px 4px 4px;font-size:.85rem;font-weight:800;display:inline-flex}.tour-acc .brand-badge{box-shadow:none;font-size:.55rem}.tour-foot{align-items:center;gap:8px;display:flex}.tour-dots{flex:1;gap:5px;display:flex}.tour-dots span{background:var(--border);width:8px;height:8px;transition:width .3s var(--spring), background .3s;border-radius:50%}.tour-dots span.on{background:var(--blue);border-radius:999px;width:22px}.email-head{border:2px solid var(--border);border-radius:14px;flex-direction:column;gap:8px;padding:12px 14px;display:flex}.email-head div{grid-template-columns:76px 1fr;gap:8px;display:grid}.email-head small{color:var(--faint);text-transform:uppercase;letter-spacing:.05em;padding-top:2px;font-size:.72rem;font-weight:800}.email-head b{color:var(--ink-strong);overflow-wrap:anywhere;font-weight:800}.email-body{background:var(--surface-2);border:2px solid var(--border);max-height:50vh;font-family:var(--font);white-space:pre-wrap;overflow-wrap:anywhere;color:var(--ink);border-radius:14px;margin:0;padding:14px;font-size:.92rem;font-weight:600;line-height:1.5;overflow:auto}.email-body.loading{color:var(--faint);animation:1s ease-in-out infinite bob}.email-body mark{background:color-mix(in srgb, var(--yellow) 55%, transparent);color:inherit;border-radius:4px;padding:0 2px}.link.left{align-self:flex-start;padding:6px 0 0}.notice.info{border-color:var(--blue);background:var(--blue-soft)}a.btn{text-decoration:none}.brand-badge{--c:var(--blue);background:var(--c);color:#fff;letter-spacing:.02em;border-radius:30%;flex-shrink:0;place-items:center;font-size:.78rem;font-weight:900;display:grid;box-shadow:inset 0 -3px #0003}.brand-badge.soft{background:color-mix(in srgb, var(--c) 18%, var(--surface));box-shadow:none;font-size:1.1rem}.chip.src{padding:5px 12px 5px 6px}.chip.src .brand-badge{box-shadow:none;font-size:.55rem}.period{flex-direction:column;gap:8px;display:flex}.period-label{color:var(--muted);padding-left:2px;font-weight:800}.range{animation:rise .3s var(--ease-out);align-items:flex-end;gap:8px;display:flex}.range label{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.range small{color:var(--muted);font-weight:800}.range input{border:2px solid var(--border);background:var(--surface-2);width:100%;min-width:0;color:var(--ink-strong);border-radius:12px;padding:10px;font-weight:800}.range input:focus{border-color:var(--blue);outline:none}.range-dash{color:var(--faint);padding-bottom:12px;font-weight:900}.sortbar{align-items:center;gap:8px;display:flex}.source-hero{border:2px solid var(--border);animation:pop .35s var(--spring);border-radius:16px;align-items:center;gap:14px;padding:14px;display:flex}.calendar{gap:14px}.cal-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.cal-head .round-btn{font-size:1.5rem;font-weight:900;line-height:1}.cal-head .round-btn:disabled{opacity:.35;cursor:default}.cal-title{flex-direction:column;align-items:center;display:flex}.cal-title b{color:var(--ink-strong);font-size:1.05rem}.cal-grid{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.cal-wd{text-align:center;color:var(--faint);letter-spacing:.04em;text-transform:uppercase;font-size:.72rem;font-weight:900}.cal-day{aspect-ratio:1;max-width:100%;color:var(--ink);background:var(--surface-2);transition:transform .15s var(--spring);border:0;border-radius:50%;place-items:center;font-size:.85rem;font-weight:800;display:grid}.cal-day:active:not(:disabled){transform:scale(.88)}.cal-day.l1{background:color-mix(in srgb, var(--brand) 22%, var(--surface))}.cal-day.l2{background:color-mix(in srgb, var(--brand) 45%, var(--surface))}.cal-day.l3{background:color-mix(in srgb, var(--brand) 72%, var(--surface));color:#fff}.cal-day.l4{background:var(--brand);color:#fff}.cal-day.today{box-shadow:0 0 0 2px var(--bg), 0 0 0 4px var(--orange)}.cal-day.sel{box-shadow:0 0 0 2px var(--bg), 0 0 0 4px var(--blue);transform:scale(1.08)}.cal-day.out{opacity:.3}.cal-legend{justify-content:center;align-items:center;gap:6px;display:flex}.cal-swatch{background:var(--surface-2);border-radius:50%;width:14px;height:14px}.cal-swatch.l1{background:color-mix(in srgb, var(--brand) 22%, var(--surface))}.cal-swatch.l2{background:color-mix(in srgb, var(--brand) 45%, var(--surface))}.cal-swatch.l3{background:color-mix(in srgb, var(--brand) 72%, var(--surface))}.cal-swatch.l4{background:var(--brand)}.day-list{animation:rise .3s var(--ease-out)}.day-list-head{color:var(--ink-strong);justify-content:space-between;padding:12px 0;display:flex}.vbars{align-items:flex-end;gap:6px;height:170px;display:flex}.vbar{min-width:0;height:100%;color:var(--faint);background:0 0;border:0;flex-direction:column;flex:1;align-items:center;gap:4px;padding:0;display:flex}.vbar-val{height:16px;color:var(--ink-strong);white-space:nowrap;font-size:.68rem;font-weight:900}.vbar-track{background:var(--surface-2);border-radius:10px;flex:1;align-items:flex-end;width:100%;max-width:34px;display:flex;overflow:hidden}.vbar-fill{background:color-mix(in srgb, var(--blue) 45%, var(--surface));width:100%;min-height:4px;transition:height .8s var(--spring);border-radius:10px}.vbar.on .vbar-fill{background:var(--blue)}.vbar small{text-transform:capitalize;font-size:.72rem;font-weight:800}.vbar.on small{color:var(--blue)}button.vbar:active .vbar-track{transform:scale(.95)}.cat-bar.as-button{text-align:left;background:0 0;border:0;width:100%;padding:0}.cat-bar.as-button:active{transform:scale(.98)}.list-title{padding:12px 0 4px}.merchant-row{align-items:center;gap:10px;padding:10px 0;display:flex}.rank{background:var(--surface-2);border:2px solid var(--border);width:26px;height:26px;color:var(--muted);border-radius:9px;flex-shrink:0;place-items:center;font-size:.8rem;font-weight:900;display:inline-grid}.rank.r1{color:#fff;background:#ffc800;border-color:#e5a500}.rank.r2{color:#fff;background:#c0c7cf;border-color:#a5adb6}.rank.r3{color:#fff;background:#e0925b;border-color:#c97a44}.perks{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.perks li{border:2px solid var(--border);animation:rise .45s var(--ease-out) both;border-radius:16px;align-items:center;gap:14px;padding:14px;display:flex}.perks li:nth-child(2){animation-delay:80ms}.perks li:nth-child(3){animation-delay:.16s}.perks li div{flex-direction:column;gap:2px;display:flex}.perks b{color:var(--ink-strong)}.perks small{color:var(--muted);line-height:1.4}.perk-icon{font-size:1.6rem}.ob-foot-stack{flex-direction:column;align-items:center;gap:6px;max-width:528px;margin:0 auto;display:flex}.btn.google{text-transform:none;letter-spacing:.01em;font-size:1rem}.g-chip{background:#fff;border-radius:8px;place-items:center;width:30px;height:30px;display:grid}.legal{text-align:center;color:var(--faint);font-size:.8rem}.legal a{color:var(--muted)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=370px){.hero .kobi{width:120px;height:120px}.cat-bar{grid-template-columns:minmax(0,100px) 1fr auto}.total-num{font-size:1.8rem}.pick-grid{grid-template-columns:repeat(2,1fr)}}
