*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;height:100%;background:#0b0b0f;overscroll-behavior:none;color-scheme:dark;overflow:hidden}body{font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,system-ui,sans-serif;-webkit-font-smoothing:antialiased;color:#f3f2f6}#root{height:100%}.sf{font-family:inherit}.tnum{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}::-webkit-scrollbar{width:0;height:0}.noscroll::-webkit-scrollbar{display:none}.noscroll{scrollbar-width:none}input,button,textarea,select{font-family:inherit}button{border:none;background:none;padding:0;cursor:pointer;color:inherit}input::placeholder,textarea::placeholder{color:var(--ink-faint);opacity:1}input[type=search]{-webkit-appearance:none;-moz-appearance:none;appearance:none}input[type=search]::-webkit-search-decoration,input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none;-moz-appearance:none;appearance:none}.vh{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}:focus-visible{outline:2px solid var(--acc);outline-offset:2px;border-radius:4px}.inp{background:var(--s2);border:none;border-radius:var(--radius-field);color:var(--ink);outline:none}.inp:focus-visible{outline:2px solid var(--acc);outline-offset:0}@keyframes sheetin{0%{transform:translateY(40px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes fadein{0%{opacity:0}to{opacity:1}}@keyframes toastin{0%{transform:translate(-50%,16px) scale(.94);opacity:0}to{transform:translate(-50%);opacity:1}}@keyframes risein{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@keyframes popin{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:none}}@keyframes tabpop{0%{transform:scale(1)}40%{transform:scale(1.18)}to{transform:scale(1)}}@keyframes growy{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes growx{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes shakex{0%,to{transform:translate(0)}25%{transform:translate(-4px)}60%{transform:translate(3px)}}@keyframes pulsedot{0%,to{opacity:.4;transform:scale(.85)}50%{opacity:1;transform:scale(1)}}@keyframes zoomin{0%{opacity:0;transform:scale(.72)}to{opacity:1;transform:scale(1)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes petalfall{0%{transform:translateY(-44px);opacity:0}7%{opacity:var(--po, .5)}84%{opacity:var(--po, .5)}to{transform:translateY(108vh);opacity:0}}@keyframes petalsway{0%{transform:translate(-14px) rotate(-22deg)}to{transform:translate(16px) rotate(46deg)}}.breathe{animation:pulsedot 1.8s var(--ease-calm) infinite}.rise{animation:risein var(--dur-3) var(--ease-out) backwards}.pop{animation:popin var(--dur-3) var(--ease-spring) backwards}.growy{transform-origin:bottom;animation:growy var(--dur-3) var(--ease-out) backwards}.growx{transform-origin:left;animation:growx var(--dur-3) var(--ease-out) backwards}.tabpop{animation:tabpop .35s var(--ease-spring)}.tap{transition:transform var(--dur-1) var(--ease-calm),opacity var(--dur-1) ease,background-color var(--dur-1) ease}.tap:active{transform:scale(.985)}button:disabled{cursor:default}button:disabled:active{transform:none}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition-duration:.01ms!important}.breathe{opacity:1!important;transform:none!important}.petal{opacity:var(--po, .5)!important}}.app{position:relative;width:100%;max-width:440px;height:100dvh;margin:0 auto;overflow:hidden;background:var(--bg);color:var(--ink);font-family:var(--f-text);--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px);--nav-side: 0px;--content-bottom: calc(120px + var(--safe-bottom));--content-max: 100%;--pill-bottom: calc(96px + var(--safe-bottom))}.app.rail{max-width:none;--nav-side: calc(64px + var(--safe-left));--content-bottom: 20px;--content-max: 560px;--pill-bottom: 16px}.screen{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;padding-top:var(--safe-top);padding-left:var(--nav-side);padding-right:var(--safe-right);animation:fadein var(--dur-2) ease both}.pane{flex:1;min-height:0;width:100%;max-width:var(--content-max);margin:0 auto;overflow-y:auto;padding:12px var(--space-page) var(--content-bottom);overscroll-behavior-y:contain;scrollbar-gutter:stable}.app.wide{max-width:1440px;--nav-side: 224px;--content-max: 1120px;--content-bottom: 40px;--pill-bottom: 24px;--space-page: 36px}.screen-header{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px;margin-bottom:12px}.screen-title{margin:0;font-size:28px;font-weight:650;letter-spacing:-.8px;line-height:1.2}.screen-subtitle{margin:5px 0 0;font-size:14px;line-height:1.4;color:var(--ink-faint)}.app-nav{position:absolute;background:var(--bg);z-index:var(--z-tabbar)}.nav-bottom{left:0;right:0;bottom:0;padding:8px 8px calc(10px + var(--safe-bottom));border-top:1px solid var(--hairline);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:center}.nav-tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:0;min-height:52px;border-radius:14px;color:var(--ink-faint)}.nav-icon{display:flex;align-items:center;justify-content:center;width:42px;height:28px;border-radius:9px;transition:background-color var(--dur-1),color var(--dur-1)}.nav-tab[aria-current=page]{color:var(--ink)}.nav-tab[aria-current=page] .nav-icon{background:var(--acc-soft);color:var(--acc)}.nav-label{font-size:12px;font-weight:600;line-height:1.3}.nav-add{display:flex;align-items:center;justify-content:center;min-height:52px;border-radius:16px}.nav-add-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:16px;background:var(--acc);color:var(--on-acc)}.nav-rail{left:0;top:0;bottom:0;width:calc(64px + var(--safe-left));padding:var(--safe-top) 4px var(--safe-bottom) calc(4px + var(--safe-left));border-right:1px solid var(--hairline);display:flex;flex-direction:column;justify-content:center;gap:6px}.nav-wide{inset:0 auto 0 0;width:var(--nav-side);padding:32px 16px 20px;border-right:1px solid var(--hairline);display:flex;flex-direction:column;gap:28px}.nav-brand{display:flex;align-items:center;gap:12px;padding:0 12px;font-size:25px;letter-spacing:-.7px;font-weight:650}.nav-links{display:flex;flex-direction:column;gap:6px}.nav-wide .nav-tab{flex-direction:row;justify-content:flex-start;gap:10px;padding:8px 12px}.nav-wide .nav-tab[aria-current=page]{background:var(--acc-soft)}.nav-wide .nav-tab[aria-current=page] .nav-icon{background:transparent}.nav-wide .nav-icon{width:28px}.nav-wide .nav-label{font-size:15px}.nav-wide .nav-add{gap:8px;background:var(--acc);color:var(--on-acc);font-weight:650;font-size:14px}.nav-wide .nav-add-icon{width:24px;height:40px}.nav-account{display:flex;align-items:center;gap:10px;text-align:left;margin-top:auto;padding:16px 0 0;border-top:1px solid var(--hairline)}.nav-account-icon{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:11px;flex-shrink:0;font-size:12px;font-weight:650;background:var(--s2)}.home-overview{margin-top:14px;padding:24px;border-radius:24px;background:var(--s1)}.home-total{margin-top:8px;font-size:clamp(36px,10vw,48px);font-weight:650;letter-spacing:-1.8px;line-height:1.15;overflow-wrap:anywhere}.home-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:24px}.home-support{display:grid;gap:12px;margin-top:16px}.home-content{min-width:0}.wide .home-columns{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:start;gap:28px;margin-top:16px}.wide .home-overview{margin-top:0}.wide .pane{padding-top:28px}.wide .screen-header{min-height:76px}.wide .screen-title{font-size:32px}.rail .home-overview{padding:16px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:16px}.rail .home-actions{margin-top:0}.rail .screen-header{min-height:44px;margin-bottom:8px}.rail .home-total{font-size:34px}@media(min-width:680px)and (max-width:1023px){.app{max-width:680px}}@media(hover:hover){.nav-tab:hover,.nav-account:hover{background:var(--s1)}.tap:hover{filter:brightness(1.07)}}.expense-categories{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:12px;flex-shrink:0}.expense-category{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;min-height:64px;gap:5px;padding:8px 2px;border-radius:12px;font-size:12px;line-height:1.25;cursor:pointer;transition:background-color var(--dur-1) ease,border-color var(--dur-1) ease}@media(max-height:619px){.expense-category{min-height:54px;padding-block:5px;gap:3px}}.plan-days{display:flex;position:relative;gap:8px;margin-top:16px;overflow-x:auto;padding:2px;scroll-padding-inline:2px}.plan-columns,.stats-columns{min-width:0}.stats-summary{margin-top:20px;padding:24px;border-radius:var(--radius-card);background:var(--s1)}.stats-breakdown{margin-top:24px}.wide .plan-columns,.wide .stats-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:28px;align-items:start}.wide .stats-columns{margin-top:24px}.wide .stats-breakdown{margin-top:0}.auth-screen{display:block;overflow-y:auto;padding:calc(var(--safe-top) + clamp(24px,8dvh,80px)) 24px calc(32px + var(--safe-bottom))}:root{--ease-calm: cubic-bezier(.22, 1, .36, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-spring: cubic-bezier(.22, 1, .36, 1);--dur-1: .12s;--dur-2: .18s;--dur-3: .24s}.app{--f-text: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", system-ui, sans-serif;--z-backdrop: 0;--z-content: 10;--z-tabbar: 30;--z-scrim: 50;--z-sheet: 60;--z-over: 70;--z-toast: 90;--z-update: 92;--bg: #0b0b0f;--bg-solid: #0b0b0f;--s1: #17191f;--s2: #22252d;--s3: #30343e;--ink: #f5f4f7;--ink-dim: #b6b8c2;--ink-faint: #a1a4b0;--hairline: rgba(255, 255, 255, .08);--hairline-strong: #484d5b;--acc: #f0b2c4;--on-acc: #24141a;--acc-soft: rgba(240, 178, 196, .12);--danger: #ff6b6b;--danger-bg: rgba(255, 107, 107, .12);--ok: #5fd0a1;--radius-card: 20px;--radius-field: 14px;--space-page: 20px}
