:root{--bg:#fff;--ink:#111113;--muted:#8e8e93;--press:#0000000d;--card:#f2f2f7;--line:#3c3c4329;--line-strong:#3c3c434d;--pos:#19b37a;--danger:#ff3b30;--sheet:#fff;--accent:#007aff;--wallet-ico-bg:#e8f5ef;--wallet-ico:#19b37a;--top-inset:max(env(safe-area-inset-top,0px), calc(var(--tg-safe-area-inset-top,0px) + var(--tg-content-safe-area-inset-top,0px)));--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#000;--ink:#f5f5f7;--press:#ffffff14;--card:#1c1c1e;--line:#54545873;--line-strong:#ebebf540;--pos:#35d394;--danger:#ff453a;--sheet:#121214;--accent:#0a84ff;--wallet-ico-bg:#12372a;--wallet-ico:#35d394;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100dvh;color:var(--ink);margin:0}body{-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,system-ui,sans-serif}button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;padding:0}.header{padding:calc(10px + var(--top-inset)) 16px 8px;justify-content:space-between;align-items:center;gap:12px;display:flex}.header-actions{flex:none;gap:8px;display:flex}.icon-btn{background:var(--card);width:40px;height:40px;color:var(--ink);border-radius:50%;place-items:center;transition:background-color .2s,transform .35s cubic-bezier(.2,.9,.3,1.3);display:grid}.icon-btn:active{background:var(--press);transition-duration:50ms;transform:scale(.92)}.wallet-btn{text-align:left;border-radius:26px;align-items:center;gap:10px;margin-left:-4px;padding:4px 10px 4px 4px;transition:background-color .2s,transform .35s cubic-bezier(.2,.9,.3,1.3);display:inline-flex}.wallet-btn:active{background:var(--press);transition-duration:50ms;transform:scale(.97)}.wallet-ico{background:var(--wallet-ico-bg);color:var(--wallet-ico);border-radius:50%;flex:none;place-items:center;display:grid}.wallet-text{flex-direction:column;line-height:1.2;display:flex}.wallet-text b{align-items:center;gap:3px;font-size:16px;font-weight:600;display:inline-flex}.wallet-text>span{color:var(--muted);font-variant-numeric:tabular-nums;font-size:14px}.wallet-chev{color:var(--muted)}.list-group{margin:16px 12px 0}.list{z-index:1;background:var(--card);border-radius:16px;position:relative;overflow:hidden}.row{text-align:left;align-items:center;gap:12px;width:100%;min-height:58px;padding:8px 12px;transition:background-color .2s;display:flex;position:relative}.row:active{background:var(--press);transition-duration:50ms}.row-split{gap:0;padding:0}.row-split:active{background:0 0}.row-main{text-align:left;flex:1;align-items:center;gap:12px;min-width:0;min-height:58px;padding:8px 4px 8px 12px;display:flex}.row-main:active{background:var(--press)}.row-trailing{width:48px;color:var(--muted);flex:none;align-self:stretch;place-items:center;display:grid}.row-trailing:active{background:var(--press);color:var(--danger)}.row+.row:before{content:"";background:var(--line);height:1px;position:absolute;top:0;left:0;right:0}.row-ico{flex:none;display:grid}.row-text,.row-value{flex-direction:column;gap:2px;min-width:0;line-height:1.2;display:flex}.row-text{flex:1}.row-text b,.row-value b{white-space:nowrap;text-overflow:ellipsis;font-size:16px;font-weight:600;overflow:hidden}.row-text>span,.row-value>span{color:var(--muted);white-space:nowrap;font-size:13px}.row-text>.row-note{color:var(--ink);text-overflow:ellipsis;font-size:14px;overflow:hidden}.row-value{font-variant-numeric:tabular-nums;align-items:flex-end}.tile{background:var(--press);color:var(--muted);flex:none;place-items:center;display:grid}.tile-md{border-radius:12px;width:42px;height:42px}.tile-sm{border-radius:8px;width:28px;height:28px}.tile-xs{border-radius:5px;width:16px;height:16px}.row-acc{align-items:center;gap:5px;min-width:0;display:flex}.row-acc-name{text-overflow:ellipsis;min-width:0;overflow:hidden}.row-tr{flex-wrap:wrap;row-gap:2px}.row-add{background:color-mix(in srgb, var(--card) 45%, transparent);border:1px dashed var(--line-strong);border-radius:0 0 16px 16px;height:74px;margin-top:-16px;padding:23px 11px 7px}.row-add b{color:var(--muted);font-weight:500}.section-head{white-space:nowrap;justify-content:space-between;align-items:center;gap:12px;margin:28px 24px 10px;display:flex}.section-head h2{margin:0;font-size:17px;font-weight:700}.section-action{color:var(--muted);flex:none;align-items:center;gap:2px;font-size:14px;display:inline-flex}.section-action:active{opacity:.6}.day{margin:12px 12px 0}.section-head+.day{margin-top:0}.day:last-of-type{padding-bottom:calc(120px + env(safe-area-inset-bottom,0px))}.day-head{color:var(--muted);font-variant-numeric:tabular-nums;justify-content:space-between;margin:0 12px 8px;font-size:14px;font-weight:500;display:flex}.pos{color:var(--pos)}.page{z-index:10;overscroll-behavior:contain;background:var(--bg);padding-top:calc(10px + var(--top-inset));flex-direction:column;transition:transform .38s cubic-bezier(.32,.72,0,1);display:flex;position:fixed;inset:0;overflow-y:auto;transform:translateY(100%)}.page-right{z-index:25;transform:translate(100%)}.page.is-open{transform:translate(0,0)}.page-head{grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:0 16px 8px;display:grid}.page-head-wide{grid-template-columns:40px 1fr}.page-head>:first-child{justify-self:start}.page-head-actions{justify-self:end;gap:8px;display:flex}.page-head h1{text-align:center;margin:0;font-size:17px;font-weight:600}.wallet-card{flex-direction:column;align-items:center;gap:6px;padding:16px 16px 4px;display:flex}.wallet-ico-btn{border-radius:50%;transition:transform .35s cubic-bezier(.2,.9,.3,1.3)}.wallet-ico-btn:active{transition-duration:50ms;transform:scale(.92)}.wallet-name{align-items:center;gap:4px;margin-top:4px;padding-left:32px;display:flex}.wallet-card h2{margin:0;font-size:20px;font-weight:700}.wallet-rename{width:28px;height:28px;color:var(--muted);border-radius:50%;place-items:center;display:grid}.wallet-rename:active{background:var(--press)}.wallet-name-input{background:var(--card);width:200px;height:34px;color:var(--ink);font:inherit;text-align:center;border:0;border-radius:10px;outline:none;padding:0 12px;font-size:20px;font-weight:700}.wallet-id{color:var(--muted);font-variant-numeric:tabular-nums;border-radius:12px;align-items:center;gap:6px;padding:4px 10px;font-size:13px;display:inline-flex}.wallet-id:active{background:var(--press)}.page .list-group{margin-top:20px}.row-setting .row-value b{color:var(--muted);font-size:15px;font-weight:400}.row-danger b{color:var(--danger);font-weight:500}.page>:last-child{padding-bottom:calc(24px + env(safe-area-inset-bottom,0px))}.icon-picker{grid-template-columns:repeat(auto-fill,minmax(56px,1fr));justify-items:center;gap:10px 4px;padding:12px 16px;display:grid}.icon-pick{border-radius:50%;padding:2px;transition:transform .35s cubic-bezier(.2,.9,.3,1.3)}.icon-pick:active{transition-duration:50ms;transform:scale(.88)}.icon-pick .wallet-ico{background:var(--card);color:var(--ink)}.icon-pick[aria-pressed=true] .wallet-ico{background:var(--wallet-ico-bg);color:var(--wallet-ico);box-shadow:0 0 0 2px var(--wallet-ico)}.bottom-bar{z-index:5;padding:28px 12px calc(36px + env(safe-area-inset-bottom,0px));background:linear-gradient(transparent, var(--bg) 55%);pointer-events:none;justify-content:center;display:flex;position:fixed;bottom:0;left:0;right:0}.fab{pointer-events:auto;--fab:var(--accent);background:var(--fab);color:#fff;width:60px;height:60px;box-shadow:0 6px 18px color-mix(in srgb, var(--fab) 35%, transparent);border-radius:50%;place-items:center;transition:transform .35s cubic-bezier(.2,.9,.3,1.3),filter .2s,background-color .3s,box-shadow .3s;display:grid}.fab.is-open{--fab:var(--danger)}.fab-icon{transition:transform .35s cubic-bezier(.2,.9,.3,1.3)}.fab.is-open .fab-icon{transform:rotate(45deg)}.fab:active{filter:brightness(.92);transition-duration:50ms;transform:scale(.9)}.add-scrim{z-index:4;opacity:0;pointer-events:none;background:#00000059;transition:opacity .3s;position:fixed;inset:0}.add-scrim.is-open{opacity:1;pointer-events:auto}.add-menu{z-index:6;left:12px;right:12px;bottom:calc(36px + 60px + 14px + env(safe-area-inset-bottom,0px));pointer-events:none;grid-template-columns:1fr 1fr;gap:8px;display:grid;position:fixed}.add-menu.is-open{pointer-events:auto}.add-tile{color:#fff;text-align:left;height:78px;transform:translate3d(calc(var(--side) * 46%), calc(70px + var(--up) * 86px), 0) scale(.2) rotate(calc(var(--side) * -18deg));opacity:0;--close-delay:calc((2 - var(--up)) * 40ms);transition:transform .4s cubic-bezier(.5, 0, .75, 0) var(--close-delay), opacity .12s ease calc(var(--close-delay) + .28s);border-radius:18px;flex-direction:column;justify-content:space-between;align-items:flex-start;padding:12px 14px;font-size:15px;font-weight:600;display:flex;box-shadow:0 8px 24px #00000040}.add-menu.is-open .add-tile{opacity:1;--open-delay:calc(var(--up) * 45ms);transition:transform .55s cubic-bezier(.34, 1.56, .64, 1) var(--open-delay), opacity .2s ease var(--open-delay);transform:none}.add-tile:active{filter:brightness(.9)}.page-reveal{z-index:20;clip-path:circle(0px at var(--rx) var(--ry));transform:none}.page-reveal.is-open{clip-path:circle(150vmax at var(--rx) var(--ry));transition:clip-path .6s cubic-bezier(.3,0,.2,1)}.page-reveal:after{content:"";z-index:1;pointer-events:none;background:var(--reveal);opacity:1;transition:opacity .2s;position:fixed;inset:0}.page-reveal.is-open:after{opacity:0;transition:opacity .4s .35s}.page-reveal.is-closing{clip-path:none;transition:transform .38s cubic-bezier(.32,.72,0,1);transform:translateY(100%)}.page-reveal.is-closing:after{opacity:0;transition:none}.seg{background:var(--card);border-radius:10px;gap:2px;height:36px;padding:2px;display:flex}.seg button{min-width:0;color:var(--muted);white-space:nowrap;border-radius:8px;flex:1 1 0;justify-content:center;align-items:center;gap:0;font-size:13px;font-weight:600;transition:flex-grow .35s cubic-bezier(.32,.72,0,1),background-color .25s,color .25s,gap .35s;display:flex}.seg button span{opacity:0;max-width:0;transition:max-width .35s cubic-bezier(.32,.72,0,1),opacity .2s;overflow:hidden}.seg button.is-on{background:var(--seg);color:#fff;flex-grow:3;gap:6px;box-shadow:0 2px 6px #0000001f}.seg button.is-on span{opacity:1;max-width:140px;transition-delay:0s,.1s}.entry{flex-direction:column;flex:1;gap:10px;padding:4px 12px 0;display:flex}.amount{font-variant-numeric:tabular-nums;flex-direction:column;justify-content:center;align-items:center;min-width:0;display:flex}.amount b{letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:44px;font-weight:700;line-height:1.1;overflow:hidden}.amount small{opacity:.45;font-size:.6em;font-weight:600}.amount-expr{min-height:20px;color:var(--muted);font-size:15px}.entry-amount{flex:1;min-height:78px}.entry-params{gap:8px;display:flex}.acc-pick{flex:1;min-width:0;display:flex;position:relative}.date-pick{gap:8px;display:flex;position:relative}.param{background:var(--card);height:48px;color:var(--ink);white-space:nowrap;border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-size:15px;font-weight:500;transition:transform .25s cubic-bezier(.2,.9,.3,1.3),background-color .2s,color .2s;display:flex}.param:active{transition-duration:50ms;transform:scale(.96)}.param[aria-pressed=true]{background:color-mix(in srgb, var(--accent) 14%, var(--card));color:var(--accent);font-weight:600}.param-acc{text-align:left;flex:1;justify-content:flex-start;min-width:0;padding:0 12px 0 10px}.param-text{flex-direction:column;min-width:0;line-height:1.2;display:flex}.param-acc b,.pop-row b{text-overflow:ellipsis;font-size:15px;font-weight:600;overflow:hidden}.param-acc small,.pop-row small{color:var(--muted);font-variant-numeric:tabular-nums;text-overflow:ellipsis;font-size:12px;overflow:hidden}.param-cal{min-width:48px;padding:0 12px}.entry-note{background:var(--card);height:44px;color:var(--ink);font:inherit;border:0;border-radius:14px;outline:none;padding:0 14px;font-size:16px}.entry-note::placeholder{color:var(--muted)}.pop-scrim{z-index:30;position:fixed;inset:0}.pop{z-index:31;background:var(--bg);box-shadow:0 12px 40px #0003, 0 0 0 1px var(--line);border-radius:16px;padding:6px;animation:.3s cubic-bezier(.2,.9,.3,1.2) pop-in;position:absolute;top:calc(100% + 6px)}@keyframes pop-in{0%{opacity:0;transform:scale(.85)}}.pop-acc{transform-origin:0 0;min-width:240px;left:0}.pop-cal{transform-origin:100% 0;width:280px;right:0}.pop-row{text-align:left;border-radius:10px;align-items:center;gap:10px;width:100%;height:52px;padding:0 10px;display:flex}.pop-row .param-text{flex:1}.pop-row>svg{color:var(--accent)}.pop-row:active{background:var(--press)}.cal{padding:4px}.cal-head{justify-content:space-between;align-items:center;height:40px;display:flex}.cal-head b{font-size:16px}.cal-head button{width:36px;height:36px;color:var(--accent);border-radius:50%;place-items:center;display:grid}.cal-grid{text-align:center;grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.cal-wd{color:var(--muted);padding:4px 0;font-size:12px}.cal-day{font-variant-numeric:tabular-nums;border-radius:50%;height:36px;font-size:15px}.cal-day.is-today{color:var(--accent);font-weight:700}.cal-day[aria-pressed=true]{background:var(--accent);color:#fff;font-weight:600}.cc{background:var(--card);border-radius:16px;padding:10px 0 6px;position:relative;overflow:clip}.cc-layer{transition:transform .4s cubic-bezier(.32,.72,0,1),opacity .3s}.cc-top{transform-origin:50% 0}.cc-sub{transform-origin:50% 100%;opacity:.35;position:absolute;top:0;left:0;right:0;transform:translateY(-45px)scale(.8)}.cc-sub .cc-label{opacity:0;transition:opacity .2s}.cc-sub .cc-tool{visibility:hidden}.cc.is-sub .cc-sub{opacity:1;transform:none}.cc.is-sub .cc-sub .cc-label{opacity:1}.cc.is-sub .cc-sub .cc-tool{visibility:visible}.cc.is-sub .cc-top{opacity:.35;transform:translateY(68px)scale(.8)}.cc-track{scrollbar-width:none;scroll-snap-type:x mandatory;align-items:center;gap:8px;height:62px;padding-inline:calc(50% - 25px);display:flex;overflow-x:auto}.cc-track::-webkit-scrollbar{display:none}.cc-item,.cc-tool{flex:none;place-items:center;width:50px;height:50px;display:grid}.cc-item{scroll-snap-align:center}.cc-item .tile{opacity:.55;transition:transform .3s cubic-bezier(.2,.9,.3,1.3),opacity .2s}.cc-item[aria-pressed=true] .tile{opacity:1;transform:scale(1.18);box-shadow:0 4px 12px #0000001f}.cc-tool{color:var(--muted);border-radius:12px}.cc-tool:active{background:var(--press)}.cc-label{text-align:center;white-space:nowrap;text-overflow:ellipsis;height:20px;padding:0 12px;font-size:14px;font-weight:600;overflow:hidden}.keypad{grid-template-columns:1fr 1fr 1fr .6fr;gap:6px;display:grid}.key{background:var(--card);height:50px;color:var(--ink);border-radius:14px;place-items:center;font-size:24px;font-weight:500;transition:transform .2s cubic-bezier(.2,.9,.3,1.3),background-color .15s;display:grid}.key:active{background:var(--press);transition-duration:50ms;transform:scale(.92)}.key-op{color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, var(--card))}.entry-save{background:var(--ink);height:54px;color:var(--bg);border-radius:16px;font-size:17px;font-weight:600;transition:transform .25s cubic-bezier(.2,.9,.3,1.3),opacity .2s}.entry-save:active{transition-duration:50ms;transform:scale(.97)}.entry-save:disabled{opacity:.35}@media (height<=700px){.entry{gap:8px}.entry-amount{min-height:56px}.amount b{font-size:36px}.key{height:44px}.cc-track{height:56px}.entry-save{height:50px}}.row-sub{min-height:48px;padding-left:32px}.row-sub .row-text b{font-weight:500}.row.is-picked{background:color-mix(in srgb, var(--accent) 10%, transparent)}.catform{flex-direction:column;flex:1;gap:10px;padding:0 12px;display:flex}.catform-top{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:16px;min-height:190px;display:flex}.parent-slot{width:72%;margin-bottom:-60px;position:relative}.parent-add,.parent-card{border-radius:16px;justify-content:center;align-items:flex-end;gap:8px;width:100%;height:84px;padding:0 14px 51px;display:flex}.parent-add{border:1px dashed var(--line-strong);color:var(--muted);white-space:nowrap;background:color-mix(in srgb, var(--card) 45%, transparent);font-size:15px}.parent-card{background:color-mix(in srgb, var(--card) 70%, var(--bg));justify-content:space-between;padding-bottom:50px}.parent-pick{align-items:center;gap:8px;min-width:0;font-size:15px;font-weight:600;display:flex}.parent-pick span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.parent-x{width:28px;height:28px;color:var(--muted);border-radius:50%;place-items:center;display:grid}.parent-x:active,.parent-add:active{background:var(--press)}.pop-parent{transform-origin:top;max-height:300px;top:30px;left:0;right:0;overflow-y:auto}.catform-name{z-index:1;background:var(--card);border-radius:18px;align-items:center;gap:12px;width:86%;padding:10px 14px 10px 10px;display:flex;position:relative;box-shadow:0 -6px 16px #0000001f}.catform-name input{min-width:0;color:var(--ink);font:inherit;background:0 0;border:0;outline:none;flex:1;font-size:18px;font-weight:600}.catform-name input::placeholder{color:var(--muted);font-weight:500}.catform-name.is-shake{animation:.35s shake}@keyframes shake{20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-5px)}80%{transform:translate(5px)}}.catform-kind{width:200px}.swatches{background:var(--card);scrollbar-width:none;border-radius:16px;gap:8px;padding:10px;display:flex;overflow-x:auto}.swatches::-webkit-scrollbar{display:none}.swatch{border-radius:12px;flex:none;width:44px;height:44px;transition:transform .25s cubic-bezier(.2,.9,.3,1.3),box-shadow .2s}.swatch[aria-pressed=true]{box-shadow:0 0 0 3px var(--card), 0 0 0 5px var(--ink);transform:scale(.9)}.icon-pages{scroll-snap-type:x mandatory;scrollbar-width:none;background:var(--card);border-radius:16px;display:flex;overflow-x:auto}.icon-pages::-webkit-scrollbar{display:none}.icon-page{scroll-snap-align:start;flex:none;padding:10px 12px 12px}.icon-page h4{color:var(--muted);margin:0 0 6px 4px;font-size:14px;font-weight:500}.icon-grid{grid-template-rows:repeat(4,42px);grid-auto-columns:42px;grid-auto-flow:column;gap:2px;display:grid}.icon-cell{color:var(--ink);border-radius:12px;place-items:center;transition:transform .2s cubic-bezier(.2,.9,.3,1.3);display:grid}.icon-cell:active{transition-duration:50ms;transform:scale(.85)}.tr-accounts{align-items:flex-end;gap:6px;display:flex}.tr-side{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.tr-label{color:var(--muted);padding-left:4px;font-size:13px;font-weight:500}.tr-swap{width:36px;height:48px;color:var(--accent);border-radius:12px;flex:none;place-items:center;transition:transform .35s cubic-bezier(.2,.9,.3,1.3);display:grid}.tr-swap:active{transform:rotate(180deg)scale(.9)}.tr-swap:disabled{color:var(--muted);opacity:.4}.tr-hint{color:var(--muted);margin:-4px 4px 0;font-size:13px}.pop-row:disabled{opacity:.4}.entry-params .entry-note{flex:1;min-width:0;height:48px}.tr-side:last-child .pop-acc{transform-origin:100% 0;left:auto;right:0}.debt-person{flex-direction:column;gap:8px;display:flex}.person-field{background:var(--card);height:48px;color:var(--muted);border-radius:14px;align-items:center;gap:10px;padding:0 14px;display:flex}.person-field input{min-width:0;color:var(--ink);font:inherit;background:0 0;border:0;outline:none;flex:1;font-size:16px}.person-field input::placeholder{color:var(--muted)}.chips{scrollbar-width:none;gap:6px;max-width:100%;display:flex;overflow-x:auto}.chips::-webkit-scrollbar{display:none}.chips .param{border-radius:17px;flex:none;height:34px;padding:0 12px;font-size:14px}.sheet-scrim{opacity:0;background:#0006;transition:opacity .3s;position:fixed;inset:0}.sheet-scrim.is-open{opacity:1}.page-sheet{background:var(--sheet);border-radius:22px 22px 0 0;max-height:88dvh;padding-top:14px;top:auto;box-shadow:0 -10px 40px #0003}.wallet-row-name{align-items:center;gap:6px;display:inline-flex}.wallet-row-name svg{color:var(--accent)}.wallet-actions{flex-direction:column;gap:8px;margin-top:12px;display:flex}.wallet-actions .row:before{display:none}.wallet-actions .row-add{border-radius:16px;height:58px;margin-top:0;padding:7px 11px}.catform-field{flex-direction:column;gap:6px;width:86%;display:flex}.join-result{width:86%;min-height:40px;color:var(--muted);opacity:0;justify-content:center;align-items:center;gap:8px;font-size:14px;transition:opacity .25s,transform .3s cubic-bezier(.2,.9,.3,1.2);display:flex;transform:translateY(-8px)}.join-result.is-shown{opacity:1;transform:none}.join-result b{color:var(--ink);font-size:15px;font-weight:600}.row.is-pending{opacity:.6}.screen-msg{text-align:center;min-height:100dvh;color:var(--muted);place-items:center;padding:24px;font-size:16px;display:grid}.history .day:last-of-type{padding-bottom:0}.day-totals{text-align:right;flex-wrap:wrap;justify-content:flex-end;gap:0 10px;display:flex}.members,.section-head+.list-group{margin-top:0}.catform-hint{text-align:center;font-variant-numeric:tabular-nums;width:86%}.row-sub.row-split{padding-left:20px}.row-sub .row-main{min-height:48px}
