:root{--bg:#fbfaf5;--ink:#2e3133;--ink2:#5f635d;--card:#efe8d3;--line:#dcd3b2;--cell:#fbfaf5;--brand:#1e50a2;--brand-ink:#fff;--accent:#eb6101;--accent-ink:#9f563a;--ok:#2e7d4f;--sat:env(safe-area-inset-top);--sab:env(safe-area-inset-bottom);--sans:system-ui, -apple-system, "Noto Sans TC", "PingFang TC", "Microsoft JhengHei", "Segoe UI", sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#15191b;--ink:#ede8da;--ink2:#b3af9f;--card:#1e2224;--line:#2a2f31;--cell:#15191b;--brand:#8db3e8;--brand-ink:#15191b;--accent:#ed6d3d;--accent-ink:#ed6d3d;--ok:#7fc79a}}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;color:var(--ink);font:16px/1.5 var(--sans);margin:0}body{overscroll-behavior-y:none}button{font:inherit}.page{width:100%;max-width:560px;padding:calc(var(--sat) + 12px) 16px calc(var(--sab) + 84px);margin:0 auto}.top{justify-content:space-between;align-items:baseline;gap:12px;min-height:36px;margin-bottom:8px;display:flex}.brand{letter-spacing:.02em;font-size:22px;font-weight:900}.data-at{color:var(--ink2);font-variant-numeric:tabular-nums;font-size:13px}.data-at.offline{color:var(--accent-ink)}.section{justify-content:space-between;align-items:baseline;margin:20px 2px 8px;font-size:15px;font-weight:800;display:flex}.section .sum{color:var(--ink2);font-variant-numeric:tabular-nums;font-weight:700}.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:4px 14px}.card.pad{padding:16px 14px}.rows{margin:0;padding:0;list-style:none}.rows li{border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums;grid-template-columns:1fr auto;align-items:baseline;gap:2px 12px;padding:10px 0;display:grid}.rows li:last-child{border-bottom:0}.rows .name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.rows .sub{color:var(--ink2);grid-column:1;font-size:12px}.rows .num{text-align:right;font-weight:700}.rows .num.neg{color:var(--accent-ink)}.rows .unit{text-align:right;color:var(--ink2);grid-area:2/2;font-size:12px}.total{font-variant-numeric:tabular-nums;justify-content:space-between;align-items:baseline;padding:14px 0 10px;font-size:18px;font-weight:900;display:flex}.total .label{color:var(--ink2);font-size:14px;font-weight:700}.kv{grid-template-columns:repeat(2,1fr);gap:10px 14px;padding:12px 0;display:grid}.kv>div{gap:2px;display:grid}.kv .label{color:var(--ink2);font-size:12px}.kv .value{font-variant-numeric:tabular-nums;font-size:18px;font-weight:800}.empty{text-align:center;color:var(--ink2);padding:20px 0}.notice{background:var(--cell);border:1px solid var(--line);color:var(--ink2);border-radius:12px;margin:12px 0 0;padding:10px 12px;font-size:14px}.button,button.button{background:var(--brand);min-height:44px;color:var(--brand-ink);cursor:pointer;border:0;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-weight:700;text-decoration:none;display:inline-flex}.button.secondary{color:var(--ink);border:1px solid var(--line);background:0 0}.button.text{color:var(--brand);background:0 0;border:0;min-height:36px;padding:6px 8px}.button:disabled{opacity:.4;cursor:default}.button.wide{width:100%}.center{place-items:center;min-height:100dvh;padding:24px 16px;display:grid}.login{text-align:center;gap:16px;width:min(360px,100%);padding:28px 20px;display:grid}.login .brand{font-size:32px}.login .error{background:var(--cell);border:1px solid var(--line);color:var(--accent-ink);border-radius:10px;margin:0;padding:10px 12px;font-size:14px}.tabbar{z-index:2;background:var(--card);border-top:1px solid var(--line);padding:6px 8px calc(var(--sab) + 6px);justify-content:center;display:flex;position:fixed;bottom:0;left:0;right:0}.tabbar button{max-width:140px;color:var(--ink2);cursor:pointer;background:0 0;border:0;border-radius:12px;flex-direction:column;flex:1;align-items:center;gap:2px;padding:6px 4px;font-size:12px;font-weight:700;display:flex}.tabbar button svg{width:24px;height:24px}.tabbar button.on{color:var(--brand)}.form{gap:12px;padding:16px 14px;display:grid}.field{gap:4px;display:grid}.field span{color:var(--ink2);font-size:12px}.field input,.field select,.field textarea{border:1px solid var(--line);background:var(--cell);width:100%;min-height:44px;color:var(--ink);font:inherit;border-radius:10px;padding:8px 12px}.seg{background:var(--cell);border:1px solid var(--line);border-radius:12px;grid-template-columns:repeat(3,1fr);gap:4px;padding:4px;display:grid}.seg button{min-height:36px;color:var(--ink2);background:0 0;border:0;border-radius:9px;font-weight:800}.seg button.on{background:var(--card);color:var(--brand)}.form .amount input{text-align:right;font-variant-numeric:tabular-nums;font-size:24px;font-weight:800}.row2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.install{gap:12px;padding:16px 14px;display:grid}.install .head{justify-content:space-between;align-items:baseline;font-weight:800;display:flex}.phone{border:2px solid var(--ink2);background:var(--cell);border-radius:22px;width:150px;height:230px;margin:0 auto;position:relative;overflow:hidden}.phone .bar{background:var(--card);border-radius:9px;height:18px;position:absolute;top:12px;left:10px;right:10px}.phone .content{gap:8px;display:grid;position:absolute;top:44px;left:14px;right:14px}.phone .content i{background:var(--card);border-radius:5px;height:10px;display:block}.phone .content i:nth-child(2){width:70%}.phone .share{border:2px solid var(--brand);border-top:0;border-radius:0 0 5px 5px;width:22px;height:22px;margin-left:-11px;position:absolute;bottom:12px;left:50%}.phone .share:before{content:"";background:var(--brand);width:2px;height:18px;margin-left:-1px;position:absolute;top:-12px;left:50%}.phone .menu{width:16px;height:16px;color:var(--brand);text-align:center;margin-left:55px;font-size:16px;font-weight:900;line-height:16px;position:absolute;top:10px;left:50%}.phone .sheet{background:var(--card);border:1px solid var(--line);border-radius:14px 14px 0 0;align-content:start;gap:6px;height:96px;padding:10px;display:grid;position:absolute;bottom:0;left:8px;right:8px;transform:translateY(100%)}.phone .sheet i{background:var(--cell);border-radius:5px;height:10px;display:block}.phone .sheet i.hit{background:var(--brand)}.phone .finger{background:var(--accent);opacity:0;width:22px;height:22px;box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 30%, transparent);border-radius:50%;position:absolute}.install .steps{gap:4px;margin:0;padding-left:1.3em;font-size:14px;display:grid}.install .steps li.on{color:var(--brand);font-weight:800}.phone.ios .finger{animation:6s infinite ios-finger}.phone.ios .sheet{animation:6s infinite ios-sheet}@keyframes ios-finger{0%,12%{opacity:0;top:190px;left:64px}18%,30%{opacity:1;top:190px;left:64px}36%{opacity:0}55%,60%{opacity:0;top:176px;left:64px}66%,80%{opacity:1;top:176px;left:64px}86%,to{opacity:0}}@keyframes ios-sheet{0%,30%{transform:translateY(100%)}40%,92%{transform:translateY(0)}to{transform:translateY(100%)}}.phone.android .finger{animation:6s infinite and-finger}.phone.android .sheet{animation:6s infinite ios-sheet}@keyframes and-finger{0%,12%{opacity:0;top:6px;left:118px}18%,30%{opacity:1;top:6px;left:118px}36%{opacity:0}55%,60%{opacity:0;top:176px;left:64px}66%,80%{opacity:1;top:176px;left:64px}86%,to{opacity:0}}@media (prefers-reduced-motion:reduce){.phone .finger,.phone .sheet{animation:none!important}.phone .sheet{transform:none}.phone .finger{opacity:1;top:176px;left:64px}}
