:root{--bg: var(--tg-theme-secondary-bg-color, #f2f2f7);--surface: var(--tg-theme-bg-color, #ffffff);--surface-2: #ececef;--text: var(--tg-theme-text-color, #0b0b0f);--text-2: var(--tg-theme-hint-color, #6b6b73);--text-3: color-mix(in srgb, var(--tg-theme-hint-color, #9a9aa2) 72%, transparent);--accent: var(--tg-theme-button-color, #2f8fff);--btn-text: var(--tg-theme-button-text-color, #ffffff);--accent-weak: color-mix(in srgb, var(--accent) 14%, transparent);--hair: rgba(0, 0, 0, .08);--up: #e5484d;--down: #1a9e63;--s1: 4px;--s2: 8px;--s3: 12px;--s4: 16px;--s5: 20px;--s6: 24px;--s8: 32px;--r-card: 18px;--r-ctl: 12px;--r-pill: 999px;--shadow-card: 0 1px 2px rgba(0, 0, 0, .04), 0 8px 24px rgba(0, 0, 0, .04);--maxw: 520px}:root[data-theme=dark]{--bg: var(--tg-theme-secondary-bg-color, #0f1013);--surface: var(--tg-theme-bg-color, #1b1c21);--surface-2: #2a2b31;--text: var(--tg-theme-text-color, #f3f3f5);--text-2: var(--tg-theme-hint-color, #a0a0a8);--hair: rgba(255, 255, 255, .09);--up: #ff6166;--down: #34c17b;--shadow-card: 0 1px 2px rgba(0, 0, 0, .3)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.45;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}#root{max-width:var(--maxw);margin:0 auto;padding:0 var(--s4) calc(84px + env(safe-area-inset-bottom))}.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.header{position:sticky;top:0;z-index:10;background:linear-gradient(var(--bg) 78%,transparent);padding:calc(env(safe-area-inset-top) + var(--s4)) 0 var(--s3);margin:0 calc(-1 * var(--s4));padding-left:var(--s4);padding-right:var(--s4)}.group-name{font-size:13px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--text-3);margin:0 0 var(--s3)}.chips{display:flex;gap:var(--s2);overflow-x:auto;scrollbar-width:none;margin-bottom:var(--s2);scroll-snap-type:x proximity}.chips::-webkit-scrollbar{display:none}.chip{flex:0 0 auto;min-height:34px;padding:0 var(--s3);border-radius:var(--r-pill);border:none;background:var(--surface);color:var(--text-2);font-size:13px;font-weight:500;cursor:pointer;box-shadow:var(--shadow-card);transition:background .15s,color .15s;scroll-snap-align:start}.chip.active{background:var(--accent);color:var(--btn-text)}.segmented{display:flex;background:var(--surface);border-radius:var(--r-ctl);padding:3px;box-shadow:var(--shadow-card)}.seg{flex:1;min-height:32px;border:none;background:transparent;color:var(--text-2);font-size:13px;font-weight:600;border-radius:9px;cursor:pointer;transition:background .15s,color .15s}.seg.active{background:var(--accent);color:var(--btn-text)}.card{background:var(--surface);border-radius:var(--r-card);padding:var(--s5);margin-top:var(--s4);box-shadow:var(--shadow-card)}.card-title{font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-3);margin:0 0 var(--s4)}.hero-label{font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-3)}.hero-amount{font-size:40px;line-height:1.05;font-weight:700;letter-spacing:-.02em;margin:var(--s2) 0 var(--s1)}.hero-amount .cur{font-size:20px;font-weight:600;color:var(--text-2);margin-left:6px}.hero-sub{font-size:14px;color:var(--text-2)}.delta{display:inline-flex;align-items:center;gap:4px;margin-top:var(--s3);padding:4px 10px;border-radius:var(--r-pill);font-size:13px;font-weight:600;background:var(--surface-2)}.delta.up{color:var(--up)}.delta.down{color:var(--down)}.other-cur{display:flex;gap:var(--s4);margin-top:var(--s4);padding-top:var(--s4);border-top:1px solid var(--hair);flex-wrap:wrap}.other-cur .oc{font-size:13px}.other-cur .oc b{font-weight:600}.other-cur .oc span{color:var(--text-3)}.row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s3);padding:var(--s3) 0;border-top:1px solid var(--hair)}.row:first-of-type{border-top:none;padding-top:0}.row-main{min-width:0}.row-title{font-size:15px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-sub{font-size:13px;color:var(--text-2);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-amount{font-size:15px;font-weight:600;white-space:nowrap}.row-amount .cur{color:var(--text-3);font-weight:500;font-size:13px;margin-left:3px}.badge{display:inline-block;font-size:11px;font-weight:500;padding:1px 7px;border-radius:7px;background:var(--surface-2);color:var(--text-3);margin-left:6px;vertical-align:middle}.bar{padding:var(--s3) 0;border-top:1px solid var(--hair);cursor:default}.bar:first-child{border-top:none;padding-top:0}.bar-head{display:flex;justify-content:space-between;gap:var(--s3);margin-bottom:var(--s2)}.bar-name{font-size:14px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-val{font-size:14px;font-weight:600;white-space:nowrap}.bar-val .pct{color:var(--text-3);font-weight:500;margin-left:6px}.bar-track{height:8px;border-radius:var(--r-pill);background:var(--surface-2);overflow:hidden}.bar-fill{height:100%;border-radius:var(--r-pill);background:var(--accent);transition:width .35s cubic-bezier(.2,.7,.3,1)}.btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:50px;border:none;border-radius:var(--r-ctl);background:var(--accent);color:var(--btn-text);font-size:15px;font-weight:600;cursor:pointer;margin-top:var(--s4)}.btn.ghost{background:var(--surface);color:var(--text);box-shadow:var(--shadow-card)}.btn.text{background:transparent;color:var(--accent);box-shadow:none;min-height:44px}.linkrow{display:flex;align-items:center;justify-content:space-between;width:100%;background:var(--surface);border:none;border-radius:var(--r-card);box-shadow:var(--shadow-card);padding:var(--s4) var(--s5);margin-top:var(--s4);font-size:15px;font-weight:500;color:var(--text);cursor:pointer}.linkrow .chev{color:var(--text-3)}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:20;display:flex;background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:saturate(1.5) blur(18px);-webkit-backdrop-filter:saturate(1.5) blur(18px);border-top:1px solid var(--hair);padding-bottom:env(safe-area-inset-bottom);max-width:var(--maxw);margin:0 auto}.tab{flex:1;border:none;background:none;color:var(--text-3);font-size:10px;font-weight:500;padding:8px 2px 7px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:3px;transition:color .15s}.tab .ico{font-size:21px;line-height:1;opacity:.55;transition:opacity .15s}.tab.active{color:var(--accent)}.tab.active .ico{opacity:1}.center{text-align:center;color:var(--text-2);padding:56px var(--s4);font-size:15px}.center .emoji{font-size:40px;display:block;margin-bottom:var(--s3);opacity:.8}.skel{border-radius:10px;background:linear-gradient(100deg,var(--surface-2) 30%,color-mix(in srgb,var(--surface-2) 60%,var(--text-3)) 50%,var(--surface-2) 70%);background-size:200% 100%;animation:shimmer 1.3s ease-in-out infinite}@keyframes shimmer{to{background-position:-200% 0}}.linechart{width:100%;height:132px;display:block;overflow:visible}.linechart .grid{stroke:var(--hair);stroke-width:1}.linechart .area{fill:var(--accent-weak)}.linechart .line{fill:none;stroke:var(--accent);stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}.linechart .dot{fill:var(--accent)}.axis{display:flex;justify-content:space-between;font-size:12px;color:var(--text-3);margin-top:var(--s2)}.search{width:100%;min-height:42px;padding:0 var(--s4);border:none;border-radius:var(--r-ctl);background:var(--surface);color:var(--text);font-size:15px;box-shadow:var(--shadow-card);margin-top:var(--s2)}.search::placeholder{color:var(--text-3)}.backchip{border:none;background:none;color:var(--accent);font-size:15px;font-weight:500;padding:6px 0;cursor:pointer}
