@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-vietnamese-wght-normal-BUzh504Q.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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-ext-wght-normal-CcLUaPy7.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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-wght-normal-DLoelf7F.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}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.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,:root[data-theme=light]{--bg:#f4f5f1;--surface:#fff;--surface-2:#eceee8;--text:#0a0c0a;--muted:#666d66;--line:#e3e6df;--accent:#1fe27f;--accent-ink:#04120a;--brand:#0a8a47;--brand-soft:#1fe27f2e;--up:#0a8a47;--up-soft:#1fe27f33;--down:#c8102e;--down-soft:#ffe3e7;--warn:#7a4a00;--warn-soft:#ffefc2;--dock:#0a0c0a;--dock-fg:#9ba39b;--ink-card:#0a0c0a;--ink-card-fg:#fff;--chart-bank:#0a0c0a;--chart-inv:#12c466;--bar-up:#12c466;--bar-down:#e5334f;--p1:#12c466;--p2:#0a0c0a;--p3:#8df0b9;--p4:#6b716b;--p5:#0a6b38;--p6:#c9cdc7;--p7:#3a3f3a;--p8:#d5f8e4;--radius:28px;--shadow:0 1px 0 #0a0c0a08, 0 10px 30px #0a0c0a0d;--dock-h:64px;--safe-b:env(safe-area-inset-bottom,0px);--font-display:"Bricolage Grotesque Variable", "Inter Variable", ui-sans-serif, system-ui, sans-serif;--font-body:"Inter Variable", ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#050605;--surface:#111311;--surface-2:#1b1e1b;--text:#f3f6f2;--muted:#8f968f;--line:#222622;--brand:#1fe27f;--brand-soft:#1fe27f24;--up:#3aeb90;--up-soft:#1fe27f24;--down:#ff7a8c;--down-soft:#ff5a7029;--warn:#ffc94d;--warn-soft:#ffc94d24;--dock:#1b1e1b;--dock-fg:#8f968f;--ink-card:#1b1e1b;--ink-card-fg:#f3f6f2;--chart-bank:#e9ede8;--chart-inv:#1fe27f;--bar-up:#1fe27f;--bar-down:#ff7a8c;--p1:#1fe27f;--p2:#f3f6f2;--p3:#0f7a41;--p4:#9aa19a;--p5:#8df0b9;--p6:#4a4f4a;--p7:#c9cdc7;--p8:#15432a;--shadow:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;margin:0;font-size:16px;line-height:1.45}h1,h2,p,ol,ul{margin:0}h1,h2,.big,.brand strong{font-family:var(--font-display)}h1{letter-spacing:-.04em;font-size:clamp(2rem,8vw,2.7rem);font-weight:800;line-height:1}h2{letter-spacing:-.02em;font-size:1.15rem;font-weight:700}a{color:inherit;text-decoration:none}small{font-size:.8rem}button{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.num,.pill,input{font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.small{font-size:.8rem}.error{color:var(--down);font-size:.9rem}.optional{color:var(--muted);font-size:.78rem;font-weight:500}.eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:.45rem;font-size:.72rem;font-weight:700}.link{color:var(--brand);font-size:.9rem;font-weight:700}.back{color:var(--muted);align-items:center;gap:.15rem;padding:.25rem 0;font-size:.9rem;font-weight:600;display:inline-flex}.content{max-width:640px;padding:1.25rem 1rem calc(var(--dock-h) + var(--safe-b) + 3rem);margin:0 auto}.page-head{justify-content:space-between;align-items:flex-end;gap:.75rem;margin:.5rem 0 1.4rem;display:flex}.head-actions{align-items:center;gap:.5rem;display:flex}.cols{display:block}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:.9rem;padding:1.3rem}.card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem;margin-bottom:1.1rem;display:flex}.card-head h2{white-space:nowrap}.rise{animation:.5s cubic-bezier(.2,.8,.2,1) both rise}.content>.rise:nth-child(2){animation-delay:40ms}.content>.rise:nth-child(3){animation-delay:80ms}.content>.rise:nth-child(4){animation-delay:.12s}@keyframes rise{0%{opacity:0;transform:translateY(14px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.tabbar{z-index:30;left:50%;bottom:calc(12px + var(--safe-b));width:min(100% - 24px,420px);height:var(--dock-h);background:var(--dock);border-radius:999px;gap:4px;padding:6px;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 0 0 1px #ffffff0f,0 16px 40px #0000004d}.brand{display:none}.tab{color:var(--dock-fg);border-radius:999px;flex:1;justify-content:center;align-items:center;gap:.45rem;font-size:.88rem;font-weight:700;transition:flex .3s cubic-bezier(.2,.8,.2,1),background .2s,color .2s;display:flex}.tab span{display:none}.tab.active{background:var(--accent);color:var(--accent-ink);flex:2.4}.tab.active span{display:inline}@media (width>=900px){.app{grid-template-columns:250px 1fr;display:grid}.tabbar{width:auto;height:100dvh;box-shadow:none;background:#070807;border-radius:0;flex-direction:column;gap:.4rem;padding:1.75rem 1.1rem;position:sticky;top:0;bottom:auto;left:auto;transform:none}.brand{color:#fff;letter-spacing:-.03em;align-items:center;gap:.7rem;padding:0 .6rem 1.75rem;font-size:1.3rem;display:flex}.logo{background:var(--accent);width:38px;height:38px;color:var(--accent-ink);font-family:var(--font-display);border-radius:50%;place-items:center;font-weight:800;display:grid}.tab{flex:none;justify-content:flex-start;gap:.85rem;padding:.9rem 1.1rem;font-size:.98rem}.tab span,.tab.active span{display:inline}.tab:hover:not(.active){color:#fff;background:#151815}.tab.active{flex:none}.content{width:100%;max-width:1000px;padding:2.5rem 2.5rem 4rem}.cols{grid-template-columns:1.4fr 1fr;align-items:start;gap:.9rem;display:grid}}.hero{isolation:isolate;color:var(--accent-ink);background:var(--accent);border-radius:36px;margin-bottom:.9rem;padding:1.5rem 1.4rem 1.3rem;position:relative;overflow:hidden}.hero:before,.hero:after{content:"";z-index:-1;pointer-events:none;border-radius:50%;position:absolute}.hero:before{background:#ffffff47;width:280px;height:280px;top:-110px;right:-90px}.hero:after{border:2px solid #04120a1f;width:200px;height:200px;bottom:-120px;right:30px}.hero-top{color:#04120ab3;justify-content:space-between;align-items:center;gap:.5rem;font-size:.88rem;font-weight:600;display:flex}.big{letter-spacing:-.05em;margin:.55rem 0 .8rem;font-size:clamp(2.9rem,14vw,4.6rem);font-weight:800;line-height:1}.big .cents{letter-spacing:-.02em;opacity:.55;font-size:.42em;font-weight:700}.mask{letter-spacing:.08em}.hero-delta{color:#04120ab3;flex-wrap:wrap;align-items:center;gap:.55rem;font-size:.88rem;font-weight:600;display:flex}.spark{width:calc(100% + 2.8rem);color:var(--accent-ink);margin:1rem -1.4rem .7rem;display:block}.hero-split{color:#04120ab3;grid-template-columns:1fr 1fr;gap:.75rem;font-size:.82rem;font-weight:600;display:grid}.hero-split strong{font-family:var(--font-display);letter-spacing:-.03em;color:var(--accent-ink);margin-top:.1rem;font-size:1.3rem;display:block}.dot{border-radius:50%;width:9px;height:9px;margin-right:.3rem;display:inline-block}.dot.bank{background:#04120a}.dot.inv{background:#fff}.splitbar{background:#fff;border-radius:4px;height:8px;margin-top:.9rem;overflow:hidden}.splitbar i{background:#04120a;border-radius:4px;height:100%;display:block}.hero-stats{color:#04120ab3;grid-template-columns:repeat(3,1fr);gap:.6rem;margin-top:.9rem;font-size:.8rem;font-weight:600;display:grid}.hero-stats strong{font-family:var(--font-display);letter-spacing:-.03em;color:var(--accent-ink);margin-top:.1rem;font-size:1.15rem;display:block}.hero .btn{margin-top:1.1rem}.quick{grid-template-columns:1fr 1fr;gap:.6rem;margin-bottom:.9rem;display:grid}.quick .btn{white-space:nowrap;padding:0 .8rem}.pill{white-space:nowrap;border-radius:999px;align-items:center;gap:.2rem;padding:.28rem .7rem .28rem .5rem;font-size:.84rem;font-weight:700;display:inline-flex}.pill.compact{padding:.12rem .5rem .12rem .35rem;font-size:.72rem}.pill.up{background:var(--up-soft);color:var(--up)}.pill.down{background:var(--down-soft);color:var(--down)}.pill.flat{background:var(--surface-2);color:var(--muted)}.pill-pct{opacity:.75;font-weight:600}.pill-pct:before{content:"· "}.pill.on-dark{background:#04120a}.pill.on-dark.up{color:var(--accent)}.pill.on-dark.down{color:#ff8d9b}.pill.on-dark.flat{color:#fff}.txt.up{color:var(--up)}.txt.down{color:var(--down)}.tag{border-radius:999px;align-items:center;gap:.2rem;padding:.15rem .55rem;font-size:.72rem;font-weight:700;display:inline-flex}.tag.warn{background:var(--warn-soft);color:var(--warn)}.tag.ok{background:var(--up-soft);color:var(--up);margin-left:auto}.avatar{font-family:var(--font-display);letter-spacing:-.02em;background:var(--accent);color:var(--accent-ink);border-radius:50%;flex:none;place-items:center;font-weight:800;display:grid}.avatar[data-v="1"]{background:var(--text);color:var(--bg)}.avatar[data-v="2"]{background:var(--surface-2);color:var(--text);box-shadow:inset 0 0 0 1.5px var(--line)}.list{flex-direction:column;display:flex}.account-row,.history-row{border-radius:20px;align-items:center;gap:.9rem;margin:0 -.5rem;padding:.8rem .5rem;transition:background .15s;display:flex}.account-row:hover,.history-row:hover,.account-row:active{background:var(--surface-2)}.account-main,.history-main{flex-direction:column;flex:1;min-width:0;display:flex}.account-main strong,.history-main strong{text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.account-main small,.history-main small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.account-amount{flex-direction:column;align-items:flex-end;gap:.2rem;display:flex}.account-amount>strong{letter-spacing:-.02em;font-weight:800}.history-main{text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.hint{margin-top:.6rem}.archived summary{cursor:pointer;color:var(--muted);font-weight:700}.archived .list{margin-top:.8rem}.banner{background:var(--warn-soft);color:var(--warn);border-radius:24px;align-items:center;gap:.8rem;margin-bottom:.9rem;padding:1rem 1.1rem;display:flex}.banner>span{flex-direction:column;flex:1;display:flex}.banner small{opacity:.85}.insights{scroll-snap-type:x mandatory;scrollbar-width:none;gap:.7rem;margin:0 -1rem .9rem;padding:0 1rem .3rem;display:flex;overflow-x:auto}.insights::-webkit-scrollbar{display:none}.insight{scroll-snap-align:start;background:var(--ink-card);color:var(--ink-card-fg);letter-spacing:-.01em;border-radius:26px;flex-direction:column;flex:0 0 min(80%,300px);gap:.7rem;padding:1.1rem;font-size:1rem;font-weight:600;line-height:1.3;display:flex}.insight:nth-child(2n){background:var(--surface);color:var(--text);border:1px solid var(--line)}.insight>svg{background:var(--accent);width:34px;height:34px;color:var(--accent-ink);border-radius:50%;padding:8px}@media (width>=900px){.insights{flex-wrap:wrap;margin:0 0 .9rem;padding:0 0 .3rem;overflow:visible}.insight{flex:220px}}.chart{width:100%;height:230px}.legend,.legend-list li{color:var(--muted);align-items:center;font-size:.8rem;font-weight:600;display:flex}.legend{justify-content:center;gap:1rem;margin-top:.6rem}.legend i,.legend-list i,.tooltip i{border-radius:50%;width:10px;height:10px;margin-right:.4rem;display:inline-block}.tooltip{background:var(--ink-card);color:var(--ink-card-fg);border-radius:16px;padding:.6rem .85rem;font-size:.82rem;box-shadow:0 12px 30px #0000004d}.tooltip .muted{color:#fff9}.alloc{align-items:center;gap:1.2rem;display:flex}.donut{flex:none;width:150px;height:150px;position:relative}.donut-center{pointer-events:none;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;font-size:.74rem;font-weight:600;line-height:1.1;display:flex;position:absolute;inset:0}.donut-center small{font-family:var(--font-display);letter-spacing:-.04em;color:var(--text);font-size:1.9rem;font-weight:800}.legend-list{flex-direction:column;flex:1;gap:.6rem;padding:0;list-style:none;display:flex}.legend-list li{color:var(--text);font-size:.9rem}.legend-list span{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.segmented{background:var(--surface-2);border-radius:999px;padding:4px;display:inline-flex}.segmented button{min-height:34px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:0 .9rem;font-size:.82rem;font-weight:700;transition:background .2s,color .2s}.segmented button.on{background:var(--text);color:var(--bg)}.btn{border:1.5px solid var(--line);background:var(--surface);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;min-height:54px;padding:0 1.4rem;font-weight:700;transition:transform .1s,opacity .15s,background .15s;display:inline-flex}.btn:hover:not(:disabled){background:var(--surface-2)}.btn:active:not(:disabled){transform:scale(.97)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.primary:hover:not(:disabled){background:var(--accent);filter:brightness(1.05)}.btn.dark{color:#fff;background:#04120a;border-color:#04120a}.btn.dark:hover:not(:disabled){background:#0f2a1a}.btn.danger{color:var(--down)}.btn.small{min-height:38px;padding:0 1rem;font-size:.85rem}.btn.round{min-height:44px;padding:0 1.1rem 0 .9rem}.btn.block{width:100%}.btn:disabled{opacity:.45;cursor:not-allowed}.icon-btn{background:var(--surface);width:44px;height:44px;box-shadow:inset 0 0 0 1.5px var(--line);color:var(--text);cursor:pointer;border:0;border-radius:50%;flex:none;place-items:center;transition:background .15s,transform .1s;display:grid}.icon-btn:hover:not(:disabled){background:var(--surface-2)}.icon-btn:active:not(:disabled){transform:scale(.94)}.icon-btn:disabled{opacity:.35;cursor:not-allowed}.icon-btn.danger{box-shadow:none;color:var(--muted);background:0 0;width:34px;height:34px}.icon-btn.danger:hover{color:var(--down);background:var(--down-soft)}.actions{flex-wrap:wrap;gap:.5rem;margin:.25rem 0 1rem;display:flex}.chip{background:var(--accent);min-height:36px;color:var(--accent-ink);cursor:pointer;border:0;border-radius:999px;padding:0 .95rem;font-size:.8rem;font-weight:700}.chip.ghost{background:var(--surface-2);color:var(--text)}.form{flex-direction:column;gap:1.1rem;display:flex}label{flex-direction:column;gap:.4rem;font-size:.85rem;font-weight:700;display:flex}input,select{width:100%;min-height:54px;font:inherit;color:var(--text);background:var(--surface-2);border:2px solid #0000;border-radius:20px;padding:0 1.1rem;font-size:1rem;font-weight:600}input:focus,select:focus{border-color:var(--accent);background:var(--surface);outline:none}input::placeholder{color:var(--muted);opacity:.55}input[type=number]{appearance:textfield}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.money-input{position:relative}.money-input>span{color:var(--muted);font-family:var(--font-display);pointer-events:none;font-weight:700;position:absolute;top:50%;left:1.1rem;transform:translateY(-50%)}.money-input input{min-height:62px;padding-left:var(--prefix,2rem);font-family:var(--font-display);letter-spacing:-.03em;font-size:1.6rem;font-weight:800}.tiles{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:.5rem;display:grid}.tile{border:2px solid var(--line);background:var(--surface);text-align:left;cursor:pointer;border-radius:20px;flex-direction:column;align-items:flex-start;gap:.1rem;padding:.7rem .85rem;transition:background .15s,border-color .15s;display:flex}.tile small{color:var(--muted);font-size:.72rem}.tile.on{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.tile.on small{color:#04120ab3}.backdrop{z-index:40;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#02060399;justify-content:center;align-items:flex-end;animation:.2s fade;display:flex;position:fixed;inset:0}.sheet{background:var(--surface);width:100%;max-width:560px;max-height:92dvh;padding:.7rem 1.3rem calc(1.4rem + var(--safe-b));border-radius:36px 36px 0 0;animation:.32s cubic-bezier(.2,.8,.2,1) slide;overflow-y:auto}.grip{background:var(--line);border-radius:3px;width:44px;height:5px;margin:0 auto .8rem}.sheet-head{justify-content:space-between;align-items:center;margin-bottom:1.2rem;display:flex}.sheet-head h2{letter-spacing:-.03em;font-size:1.4rem}@media (width>=700px){.backdrop{align-items:center}.sheet{border-radius:36px;padding-bottom:1.4rem}.grip{display:none}}@keyframes fade{0%{opacity:0}}@keyframes slide{0%{opacity:0;transform:translateY(40px)}}.toasts{z-index:60;left:0;right:0;bottom:calc(var(--dock-h) + var(--safe-b) + 24px);pointer-events:none;flex-direction:column;align-items:center;gap:.5rem;display:flex;position:fixed}.toast{background:var(--text);color:var(--bg);border-radius:999px;align-items:center;gap:.55rem;padding:.8rem 1.2rem;font-size:.9rem;font-weight:700;animation:.3s slide;display:inline-flex;box-shadow:0 12px 30px #0000004d}.toast.success svg{color:var(--accent)}.toast.error svg{color:#ff5a70}@media (width>=900px){.toasts{bottom:1.5rem}}.empty{text-align:center;flex-direction:column;align-items:center;gap:.7rem;padding:2.4rem 1.4rem;display:flex}.empty svg{color:var(--brand)}.empty .btn{margin-top:.6rem}.onboard h2{letter-spacing:-.04em;margin-bottom:1.4rem;font-size:1.7rem;line-height:1.05}.steps{flex-direction:column;gap:1rem;margin-bottom:1.6rem;padding:0;list-style:none;display:flex}.steps li{opacity:.5;align-items:center;gap:.9rem;display:flex}.steps li.now,.steps li.done{opacity:1}.steps li>span{background:var(--surface-2);width:38px;height:38px;font-family:var(--font-display);border-radius:50%;flex:none;place-items:center;font-weight:800;display:grid}.steps li.now>span{background:var(--accent);color:var(--accent-ink)}.steps li.done>span{background:var(--up-soft);color:var(--up)}.steps small{color:var(--muted);display:block}.skeleton{background:linear-gradient(90deg, var(--surface-2) 25%, var(--line) 50%, var(--surface-2) 75%);background-size:200% 100%;animation:1.3s linear infinite shimmer;display:block}@keyframes shimmer{to{background-position:-200% 0}}.month-switch{background:var(--surface);border:1px solid var(--line);text-align:center;border-radius:999px;justify-content:space-between;align-items:center;margin-bottom:.9rem;padding:.4rem;display:flex}.month-switch div{font-family:var(--font-display);letter-spacing:-.02em;flex-direction:column;font-size:1.1rem;display:flex}.month-switch small{font-family:var(--font-body);color:var(--brand);font-weight:700}.progress{margin:0 .4rem 1rem}.progress>div{background:var(--surface-2);border-radius:4px;height:8px;overflow:hidden}.progress i{background:var(--accent);border-radius:4px;height:100%;transition:width .3s;display:block}.progress small{color:var(--muted);margin-top:.4rem;font-weight:600;display:block}.entry{flex-direction:column;gap:.8rem;display:flex}.entry-head{align-items:center;gap:.8rem;display:flex}.entry-head div{flex-direction:column;min-width:0;display:flex}.entry-head strong{font-weight:700}.entry-head small{color:var(--muted)}.entry-meta{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.entry-meta:empty{display:none}.contrib{font-weight:600}.savebar{bottom:calc(var(--dock-h) + var(--safe-b) + 24px);z-index:10;background:linear-gradient(to top, var(--bg) 55%, transparent);margin:0 -1rem;padding:1.6rem 1rem .3rem;position:sticky}.savebar .btn{min-height:58px;font-size:1.02rem;box-shadow:0 14px 34px #1fe27f66}.savebar .btn:disabled{opacity:1;box-shadow:none;background:var(--surface-2);border-color:var(--line);color:var(--muted)}@media (width>=900px){.savebar{margin:0;padding:1.6rem 0 1rem;bottom:0}}.growth-list{flex-direction:column;display:flex}.growth-item{padding:1rem 0}.growth-item+.growth-item{border-top:1px solid var(--line)}.growth-head{align-items:center;gap:.8rem;display:flex}.growth-head>div{flex-direction:column;flex:1;min-width:0;display:flex}.growth-head small{color:var(--muted)}.growth-stats{color:var(--muted);align-items:center;gap:1rem;margin:.7rem 0 .2rem;font-size:.82rem;font-weight:600;display:flex}.explain{color:var(--muted);margin-top:.8rem;font-size:.85rem}.explain summary{cursor:pointer;font-weight:700}.explain p{margin-top:.4rem}.legal{padding:1.5rem 1.4rem}.legal section{margin-top:1.5rem}.legal h2{margin-bottom:.5rem;font-size:1.05rem}.legal section p{color:var(--muted);font-size:.95rem;line-height:1.6}.legal section p+p{margin-top:.7rem}.legal-intro{margin-top:.6rem;font-size:1.1rem;font-weight:600;line-height:1.4}.legal-next{border-top:1px solid var(--line);margin-top:2rem;padding-top:1.2rem;font-weight:600}.legal-next a,.onboard-note a,.legal-footer a{color:var(--brand);text-underline-offset:3px;font-weight:700;text-decoration:underline}.onboard-note{text-align:center;margin-top:1rem}.legal-footer{border-top:1px solid var(--line);text-align:center;color:var(--muted);flex-direction:column;gap:.35rem;margin-top:2rem;padding-top:1.2rem;font-size:.78rem;display:flex}.center{text-align:center}.linklike{color:var(--brand);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;font-weight:700;text-decoration:underline}.signin{flex-direction:column;justify-content:center;gap:1rem;max-width:480px;min-height:100dvh;margin:0 auto;padding:1.25rem 1rem 2rem;display:flex}.signin .hero{padding:1.6rem 1.4rem}.signin .big{margin-bottom:1rem;font-size:clamp(2.6rem,12vw,3.6rem);line-height:.98}.signin-copy{color:#04120abf;margin-bottom:1.4rem;font-weight:600}.signin-note{text-align:center}.signin-note a{color:var(--brand);text-underline-offset:3px;font-weight:700;text-decoration:underline}
