.overlay[data-v-f3cc78c3]{z-index:30;background:#2b2a266b;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.dlg[data-v-f3cc78c3]{background:var(--surface);border-radius:16px;flex-direction:column;gap:12px;width:100%;max-width:400px;padding:20px 18px 16px;display:flex;box-shadow:0 12px 40px #2b2a2640}.dlg h2[data-v-f3cc78c3]{font-size:17px}.msg[data-v-f3cc78c3]{color:var(--fg-2);white-space:pre-line;font-size:14px;line-height:1.6}.btn-row[data-v-f3cc78c3]{margin-top:4px}.danger-fill[data-v-f3cc78c3]{background:var(--danger);border-color:var(--danger);color:#fff}@media (width<=899px){.overlay[data-v-f3cc78c3]{align-items:flex-end;padding:0}.dlg[data-v-f3cc78c3]{max-width:none;padding-bottom:calc(16px + env(safe-area-inset-bottom));border-radius:18px 18px 0 0}}.dlg-enter-active[data-v-f3cc78c3],.dlg-leave-active[data-v-f3cc78c3]{transition:opacity .18s}.dlg-leave-active[data-v-f3cc78c3]{pointer-events:none}.dlg-enter-active .dlg[data-v-f3cc78c3],.dlg-leave-active .dlg[data-v-f3cc78c3]{transition:transform .2s ease-out}.dlg-enter-from[data-v-f3cc78c3],.dlg-leave-to[data-v-f3cc78c3]{opacity:0}.dlg-enter-from .dlg[data-v-f3cc78c3],.dlg-leave-to .dlg[data-v-f3cc78c3]{transform:translateY(24px)}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f6f1e4;--surface:#fffdf7;--surface-2:#f3ecdb;--surface-3:#ebe4d0;--input:#fff;--line:#e8e0cb;--line-strong:#d6c9a8;--fg:#2b2a26;--fg-2:#5a5546;--muted:#8a8472;--primary:#2f6b4f;--primary-dark:#234f3b;--primary-fg:#fff;--primary-soft:#e6f0e9;--accent:#e3a72f;--accent-ink:#7a5300;--accent-soft:#fbf0d3;--me-row:#fcf8ec;--pos:#2f6b4f;--neg:#b8502c;--danger:#c8473c;--danger-soft:#fbe9e6;--info:#3d6a8f;--info-soft:#e3edf5;--chart-1:#2f6b4f;--chart-2:#e3a72f;--chart-3:#b8502c;--chart-4:#4f7a8f;--chart-5:#8a6fa8;--chart-6:#7a9a3a;--chart-7:#a07a4a;--chart-8:#c27b94;--radius:14px;--tabbar-h:62px;--font-body:-apple-system, BlinkMacSystemFont, "PingFang TC", "Noto Sans CJK TC", "Noto Sans TC", "Microsoft JhengHei", system-ui, sans-serif;--font-head:"Noto Serif TC", "Songti TC", "PMingLiU", serif;font:14px/1.55 var(--font-body);color:var(--fg);background:var(--bg);-webkit-font-smoothing:antialiased}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{background:var(--bg);margin:0}p{margin:0}a{color:inherit}::selection{background:var(--accent-soft)}.app{min-height:100vh;padding-bottom:calc(24px + env(safe-area-inset-bottom))}.app.has-tabbar{padding-bottom:calc(var(--tabbar-h) + 20px + env(safe-area-inset-bottom))}.page{max-width:560px;margin:0 auto;padding:14px}.page>section{flex-direction:column;gap:12px;display:flex}h1{font:700 22px/1.3 var(--font-head);letter-spacing:.5px;margin:0}h2{font:700 15px/1.4 var(--font-head);margin:0}.serif{font-family:var(--font-head);font-weight:700}.muted{color:var(--muted);font-size:12px}.center{text-align:center}.num{font-family:var(--font-head);font-variant-numeric:tabular-nums;font-weight:700}.pos{color:var(--pos);font-family:var(--font-head);font-weight:700}.neg{color:var(--neg);font-family:var(--font-head);font-weight:700}.error{color:var(--danger);background:var(--danger-soft);border-radius:10px;padding:8px 12px;font-size:13px}.title-row{align-items:center;gap:10px;min-height:40px;display:flex}.title-row h1{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.title-row .back-btn{width:28px;height:28px;color:var(--fg);flex:none;place-items:center;margin-left:-6px;font-size:26px;line-height:1;text-decoration:none;display:grid}.pill{border:1px solid var(--line-strong);background:var(--surface);color:var(--fg);cursor:pointer;border-radius:999px;flex:none;align-items:center;gap:4px;padding:4px 12px;font-family:inherit;font-size:12px;font-weight:600;text-decoration:none;display:inline-flex}.sec{align-items:baseline;gap:8px;margin-top:6px;display:flex}.sec h2{flex:1}.sec .more{color:var(--muted);font-size:11px;text-decoration:none}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px}.list{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.list>*+*{border-top:1px solid var(--line)}.row{align-items:center;gap:10px;min-height:48px;padding:10px 12px;display:flex}.row .grow{flex:1;min-width:0}.row .title{text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.row.me{background:var(--me-row);box-shadow:inset 3px 0 0 var(--accent)}a.row{text-decoration:none}a.row:active{background:var(--surface-2)}.row .side{text-align:right;white-space:nowrap}.row .side small{color:var(--muted);font-size:11px;display:block}.chev{color:var(--muted);flex:none;font-size:20px;line-height:1}.empty{text-align:center;color:var(--muted);border:1.5px dashed var(--line-strong);border-radius:var(--radius);padding:26px 12px}.empty .emoji{margin-bottom:4px;font-size:32px}.empty b{color:var(--fg);font-family:var(--font-head);margin-bottom:2px;display:block}.btn{font:inherit;border:1px solid var(--line-strong);background:var(--surface);color:var(--fg);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:11px 16px;font-weight:700;text-decoration:none;transition:transform 80ms,background .15s;display:inline-flex}.btn:active:not(:disabled){transform:scale(.98)}.btn:disabled{opacity:.45;cursor:default}.btn.primary{background:var(--primary);border-color:var(--primary);color:var(--primary-fg)}.btn.primary:active:not(:disabled){background:var(--primary-dark)}.btn.gold{background:var(--accent);border-color:var(--accent);color:#2b1d00}.btn.danger{color:var(--danger);background:var(--surface);border-color:#ebc3be}.btn.ghost{background:0 0;border-color:#0000}.btn.block{width:100%;display:flex}.btn.sm{border-radius:8px;flex:none;padding:5px 11px;font-size:12px}.btn svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:17px;height:17px}.btn-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.btn-row>.btn{flex:1}.field{color:var(--fg-2);flex-direction:column;gap:5px;margin-bottom:12px;font-size:12px;font-weight:700;display:flex}.field>span{display:block}.card>:last-child{margin-bottom:0}input:where(:not([type=checkbox],[type=radio])),select,textarea{font:inherit;color:var(--fg);border:1px solid var(--line-strong);background:var(--input);border-radius:10px;outline:none;width:100%;padding:10px 12px;font-size:16px;font-weight:400}input::placeholder{color:#b3ab95}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}input:disabled,select:disabled{opacity:.6}input[type=checkbox],input[type=radio]{width:18px;height:18px;accent-color:var(--primary);flex:none;margin:0}.money{flex:1;min-width:0;position:relative}.money input{font:700 26px var(--font-head);color:var(--primary-dark);padding:9px 64px 9px 14px}.money[data-unit]:after{content:attr(data-unit);font:700 14px var(--font-body);color:var(--muted);pointer-events:none;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.two{grid-template-columns:1fr 1fr;gap:8px;display:grid}.badge{background:var(--surface-2);color:var(--fg-2);vertical-align:1px;white-space:nowrap;border-radius:5px;margin-left:6px;padding:1px 7px;font-size:11px;font-weight:700;line-height:17px;display:inline-block}.badge.me{background:var(--accent);color:#2b1d00}.badge.gold{background:var(--accent-soft);color:var(--accent-ink)}.badge.green{background:var(--primary-soft);color:var(--primary-dark)}.pills{flex-wrap:wrap;gap:6px;display:flex}.pills button,.chip{border:1px solid var(--line-strong);background:var(--surface);color:var(--fg);font:inherit;cursor:pointer;border-radius:999px;padding:5px 13px;font-size:13px;font-weight:700}.pills button.on,.chip.on{background:var(--primary-soft);border-color:var(--primary);color:var(--primary-dark)}.chips{flex-wrap:wrap;gap:6px;display:flex}.banner{background:var(--accent-soft);color:var(--accent-ink);border-radius:12px;align-items:center;gap:10px;padding:11px 14px;font-size:13px;font-weight:600;text-decoration:none;display:flex}.banner a{color:inherit;font-weight:700}.toast{left:50%;bottom:calc(var(--tabbar-h) + 20px + env(safe-area-inset-bottom));background:var(--fg);color:#f6f1e4;z-index:20;white-space:nowrap;border-radius:10px;padding:9px 18px;font-size:13px;font-weight:600;animation:.2s ease-out toast-in;position:fixed;transform:translate(-50%)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}}.answer{border-radius:var(--radius);background:linear-gradient(160deg, var(--accent-soft), var(--surface));border:1.5px solid #f0dca0;align-items:flex-end;gap:10px;padding:12px 16px 14px;text-decoration:none;display:flex}.answer .grow{flex:1;min-width:0}.answer small{color:var(--accent-ink);font-size:12px;font-weight:700;display:block}.answer .big{font:700 34px/1.15 var(--font-head);color:var(--primary-dark);font-variant-numeric:tabular-nums}.answer.is-neg .big{color:var(--neg)}.answer .aside{text-align:right;color:var(--muted);font-size:11px;line-height:1.5}.answer .aside b{color:var(--fg-2);font-size:12px;display:block}.tiles{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.tile{background:var(--surface);border:1px solid var(--line);text-align:center;border-radius:12px;flex-direction:column;min-width:0;padding:10px 6px;display:flex}.tile b{font:700 18px/1.3 var(--font-head);color:var(--fg);text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums;overflow:hidden}.tile small{color:var(--muted);font-size:11px}.rank{width:18px;font:700 14px var(--font-head);color:var(--accent-ink);text-align:center;flex:none}.tabbar{z-index:8;background:var(--surface);border-top:1px solid var(--line);padding:4px 4px calc(6px + env(safe-area-inset-bottom));justify-content:center;display:flex;position:fixed;bottom:0;left:0;right:0}.tabbar .inner{width:100%;max-width:560px;display:flex}.tabbar a{min-height:50px;color:var(--muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:11px;text-decoration:none;display:flex}.tabbar svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:21px;height:21px}.tabbar a.on{color:var(--primary);font-weight:700}.icon{vertical-align:-.2em;flex:none;display:inline-block}.cat{background:var(--primary-soft);width:38px;height:38px;color:var(--primary-dark);border-radius:10px;flex:none;place-items:center;display:grid}.cat.transfer{background:var(--accent-soft);color:var(--accent-ink)}.empty .ico{color:var(--line-strong);margin-bottom:4px}.banner .icon{flex:none}.brand{align-items:center;gap:10px;display:flex}.brand .logo{background:var(--accent);color:#2b1d00;width:40px;height:40px;font:700 18px var(--font-head);border-radius:11px;flex:none;place-items:center;display:grid}.brand h1{flex:1}.brand small{font:12px var(--font-body);color:var(--muted);letter-spacing:0;display:block}.sidebar{display:none}@media (width>=900px){.app{grid-template-columns:236px minmax(0,1fr);align-items:start;display:grid}.app.has-tabbar{padding-bottom:24px}.tabbar{display:none}.page{width:100%;max-width:1040px;padding:26px 32px 40px}.toast{bottom:28px}.mobile-only{display:none!important}.group-title .back-btn{display:none}.sidebar{background:var(--surface);border-right:1px solid var(--line);flex-direction:column;gap:6px;height:100vh;padding:18px 14px;display:flex;position:sticky;top:0}.side-brand{align-items:center;gap:10px;padding:2px 6px 14px;text-decoration:none;display:flex}.side-brand .logo{background:var(--accent);color:#2b1d00;width:36px;height:36px;font:700 16px var(--font-head);border-radius:10px;flex:none;place-items:center;display:grid}.side-brand b{font:700 16px var(--font-head);letter-spacing:1px;display:block}.side-brand small{color:var(--muted);font-size:11px;display:block}.sidebar nav{flex-direction:column;gap:2px;display:flex}.sidebar nav a{color:var(--fg-2);border-radius:10px;align-items:center;gap:10px;padding:9px 12px;font-weight:600;text-decoration:none;display:flex}.sidebar nav a:hover{background:var(--surface-2)}.sidebar nav a.on{background:var(--primary-soft);color:var(--primary-dark)}.side-label{font:700 13px var(--font-head);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin:14px 12px 4px;overflow:hidden}.app .cols2{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:start;gap:16px;display:grid}}.cols2{flex-direction:column;gap:12px;display:flex}.cols2>.col{flex-direction:column;gap:12px;min-width:0;display:flex}@media (width<=899px){.desktop-only{display:none!important}}
