@font-face{font-family:TT Firs Neue;src:url(/fonts/tt-firs-neue/TTFirsNeue-Regular.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:TT Firs Neue;src:url(/fonts/tt-firs-neue/TTFirsNeue-ExtraBoldItalic.ttf)format("truetype");font-weight:800;font-style:italic;font-display:swap}@font-face{font-family:TT Firs Neue;src:url(/fonts/tt-firs-neue/TTFirsNeue-BlackItalic.ttf)format("truetype");font-weight:900;font-style:italic;font-display:swap}@font-face{font-family:Objectivity;src:url(/fonts/objectivity/Objectivity-ExtraBold.otf)format("opentype");font-weight:800;font-style:normal;font-display:swap}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#02070c;--card:#2f2f39;--ink:#02070c;--white:#fff;--muted:#ffffff59;--lime:#c8ff59;--radius-compact:24px;--radius-control:32px;--radius-card:48px;--radius-sheet:40px;--radius-handle:4px;--corner-curve:superellipse(2);--page-pad:16px;--display:"TT Firs Neue", sans-serif;--heading:"Objectivity", sans-serif;--body:Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*{box-sizing:border-box}html{background:var(--bg);width:100%;overflow-x:hidden}body{background:var(--bg);width:100%;font-family:var(--body);color:var(--white);font-synthesis:none;margin:0;overflow-x:hidden}button{color:inherit;font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;border:0}.squircle,.app-header,.icon-button,.balance-card,.category-card,.savings-card,.history-row article,.base-button,.metric-card,.category-progress,.squircle-top,.bottom-sheet{corner-shape:var(--corner-curve)}.main-screen{background:var(--bg);flex-direction:column;gap:32px;width:100%;min-width:0;min-height:100dvh;padding-bottom:48px;display:flex;overflow-x:clip}.main-screen>section{width:100%;min-width:0;padding:0 var(--page-pad)}.screen-state{color:#ffffffb8;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:100dvh;padding:48px 24px;display:flex}.screen-state--error{color:#fff}.screen-state button{background:var(--lime);color:var(--ink);border-radius:24px;padding:12px 20px;font-weight:800}h2{font-family:var(--heading);letter-spacing:-.03em;text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis;margin:0 0 8px 4px;font-size:17px;font-weight:800;line-height:normal;overflow:hidden}.gradient-shape{--g1:#c8ff59;--g2:#81ea49;--g3:#f2f843;background:radial-gradient(circle at 18% 78%, var(--g2) 0, transparent 38%), radial-gradient(circle at 82% 15%, var(--g3) 0, transparent 42%), linear-gradient(135deg, var(--g1), var(--g2) 46%, var(--g3));background-size:180% 180%,170% 170%,210% 210%}.gradient-model__tint{background:radial-gradient(circle at 18% 78%, var(--category-gradient-secondary) 0, transparent 42%), linear-gradient(135deg, var(--category-gradient-primary), var(--category-gradient-secondary));background-size:180% 180%,210% 210%}.gradient--yellow{--g1:#f8dd43;--g2:#ea9c49;--g3:#ffb759}.gradient--orange{--g1:#f87643;--g2:#eaa149;--g3:#ff7300}.gradient--red{--g1:#ea4949;--g2:#aa152c;--g3:#ff7300}.gradient--animated.gradient-shape,.gradient--animated .gradient-model__tint{animation:16s cubic-bezier(.45,.05,.55,.95) infinite alternate gradient-drift}@keyframes gradient-drift{0%{background-position:15% 25%,75% 10%,0%}50%{background-position:55% 60%,35% 70%,60% 40%}to{background-position:85% 20%,15% 45%,100% 55%}}@media (prefers-reduced-motion:reduce){.gradient--animated.gradient-shape,.gradient--animated .gradient-model__tint{animation:none}}.app-header{border-radius:0 0 var(--radius-card) var(--radius-card);width:100%;min-height:366px;color:var(--ink);background:var(--lime);flex-direction:column;align-items:flex-start;gap:64px;padding:16px;display:flex;position:relative;overflow:hidden}.app-header>.gradient-shape,.savings-card>.gradient-shape{position:absolute;inset:0;transform:scale(1.15)}.icon-button{z-index:1;border-radius:var(--radius-control);color:#fff;min-width:0;height:80px;font-family:var(--heading);letter-spacing:-.03em;background:#02070c80;flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:8px;padding:12px 24px;font-size:13px;font-weight:800;line-height:normal;transition:transform .2s,background .2s;display:flex;position:relative}.icon-button:hover{background:#02070ca1}.icon-button:active{transform:scale(.975)}.icon-button img{object-fit:contain;width:24px;height:24px;display:block}.icon-button--compact{border-radius:var(--radius-compact);flex:none;width:48px;height:48px;padding:12px}.icon-button--compact img{width:24px;max-width:none;height:24px}.app-header__info{z-index:1;width:100%;min-width:0;position:relative}.app-header__info p,.savings-card__info span{letter-spacing:-.51px;margin:0;font-size:17px;font-weight:600;line-height:normal}.app-header__info h1{font-family:var(--display);letter-spacing:-1.53px;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:clamp(39px,12.98vw,56px);font-style:italic;font-weight:800;line-height:normal;overflow:hidden}.action-row{z-index:1;gap:4px;width:100%;display:flex;position:relative}.app-header>.action-row{margin-top:0}.daily-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.balance-card{border-radius:var(--radius-card);background:var(--card);flex-direction:column;justify-content:space-between;height:140px;padding:16px;display:flex;position:relative;overflow:hidden}.balance-card:after,.category-card:after{content:"";background:radial-gradient(circle at 20% 80%,var(--category-gradient-secondary),transparent 58%),linear-gradient(115deg,var(--category-gradient-primary),var(--category-gradient-secondary));filter:blur(36px);opacity:.22;border-radius:50%;width:170px;height:170px;position:absolute;bottom:-98px;right:-92px}.balance-card>span,.category-card span,.history-row span{color:#ffffffc2;font-size:11px;line-height:normal}.balance-card div{width:100%;font-family:var(--display);letter-spacing:-.63px;white-space:nowrap;flex-direction:column;align-items:flex-start;font-size:21px;font-style:italic;font-weight:900;line-height:normal;display:flex;overflow:hidden}.balance-card em{color:var(--muted);font-style:italic}.category-grid,.history-row{margin-inline:calc(var(--page-pad) * -1);padding-inline:var(--page-pad);scroll-padding-inline:var(--page-pad);overscroll-behavior-inline:contain;scrollbar-width:none;scroll-snap-type:x proximity;gap:8px;display:flex;overflow-x:auto}.scroll-row{padding-inline:16px;scroll-padding-inline:16px}.category-grid::-webkit-scrollbar{display:none}.history-row::-webkit-scrollbar{display:none}.category-card{--category-gradient-primary:#c8ff59;--category-gradient-secondary:#81ea49;border-radius:var(--radius-card);background:var(--card);text-align:left;scroll-snap-align:start;flex-direction:column;flex:0 0 160px;justify-content:space-between;align-items:flex-start;width:160px;height:180px;padding:16px;display:flex;position:relative;overflow:hidden}.category-card:nth-child(2n){background:#332f39}.category-card__model{width:80px;height:60px;margin:-4px 0 0 -14px}.gradient-model{--category-gradient-primary:#c8ff59;--category-gradient-secondary:#81ea49;isolation:isolate;display:block;position:relative}.gradient-model img{object-fit:contain;filter:saturate(.72)contrast(1.06);width:100%;height:100%;position:absolute;inset:0}.gradient-model__tint{opacity:.9;mix-blend-mode:multiply;-webkit-mask-image:var(--model-mask);-webkit-mask-image:var(--model-mask);mask-image:var(--model-mask);position:absolute;inset:0;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}@supports not ((-webkit-mask-image:url("")) or (mask-image:url(""))){.gradient-model__tint{opacity:.26;mix-blend-mode:multiply;border-radius:45%}}.category-card div{z-index:1;flex-direction:column;gap:4px;width:100%;display:flex;position:relative}.category-card b,.history-row b{font-family:var(--display);letter-spacing:-.63px;white-space:nowrap;text-overflow:ellipsis;font-size:21px;font-style:italic;font-weight:900;line-height:normal;overflow:hidden}.savings-card{border-radius:var(--radius-card);min-height:222px;color:var(--ink);background:var(--lime);flex-direction:column;gap:48px;padding:16px;display:flex;position:relative;overflow:hidden}.savings-card__info{z-index:1;flex-direction:column;display:flex;position:relative}.savings-card__info span{letter-spacing:-.39px;font-size:13px}.savings-card__info strong{font-family:var(--display);letter-spacing:-1.23px;white-space:nowrap;text-overflow:ellipsis;font-size:clamp(34px,10.43vw,45px);font-style:italic;font-weight:800;line-height:normal;overflow:hidden}.savings-card .action-row{margin-top:0}.savings-card .icon-button{padding-inline:8px}.history-row article{border-radius:var(--radius-card);background:var(--card);scroll-snap-align:start;flex-direction:column;flex:0 0 calc(50% - 4px);justify-content:space-between;height:100px;padding:16px;display:flex}.base-button{corner-shape:round;width:100%;height:48px;color:var(--ink);font-family:var(--heading);letter-spacing:-.03em;text-align:center;text-transform:uppercase;background:radial-gradient(circle at 18% 78%,#81ea49 0,#0000 42%),linear-gradient(135deg,#c8ff59,#f2f843);border-radius:999px;padding:12px 36px 10px;font-size:17px;font-weight:800;line-height:normal;transition:opacity .2s,transform .2s;position:relative;overflow:hidden}.base-button:active:not(:disabled){transform:scale(.985)}.base-button:disabled{background:var(--card);color:#ffffff80;opacity:.5;cursor:default}.bottom-navigation{display:none}body.sheet-open{touch-action:none;overflow:hidden}.sheet-layer{z-index:1000;background:#2f2f3980;align-items:flex-end;padding-top:12px;display:flex;position:fixed;inset:0}.bottom-sheet{--drag-y:0px;border-radius:var(--radius-sheet) var(--radius-sheet) 0 0;background:var(--bg);width:100%;height:auto;max-height:min(720px,100dvh - 12px);transform:translate3d(0,var(--drag-y),0);will-change:transform;outline:none;transition:transform .38s cubic-bezier(.22,.8,.22,1);position:relative;overflow:clip auto}.bottom-sheet--dragging{transition:none}.bottom-sheet__puller{z-index:3;touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;background:linear-gradient(#02070c80,#02070c00);flex-direction:column;justify-content:space-between;align-items:center;width:100%;height:72px;padding:8px 16px 12px;display:flex;position:absolute;top:0;left:0}.bottom-sheet__puller:active{cursor:grabbing}.bottom-sheet__handle{border-radius:var(--radius-handle);corner-shape:var(--corner-curve);background:#ffffff40;flex:none;width:32px;height:4px}.bottom-sheet__body{padding:84px 16px 48px}.income-sheet__body,.expense-sheet__body{padding:84px 16px max(48px,calc(var(--keyboard-offset) + 8px));transition:padding-bottom .22s}.income-modal__title,.expense-modal__title{width:100%;font-family:var(--heading);letter-spacing:-.03em;text-align:center;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;margin:0;font-size:23px;font-weight:800;line-height:normal;overflow:hidden}.income-form{flex-direction:column;gap:8px;display:flex}.expense-categories{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.expense-category-button,.expense-mode-button{border-radius:var(--radius-control);corner-shape:var(--corner-curve);background:var(--card);color:#fff;min-width:0;height:80px;font-family:var(--heading);letter-spacing:-.03em;white-space:nowrap;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:16px;font-size:13px;font-weight:800;line-height:normal;transition:transform .2s,background .2s;display:flex;overflow:hidden}.expense-category-button:active,.expense-mode-button:active:not(:disabled){transform:scale(.975)}.expense-category-button img,.expense-mode-button img{object-fit:contain;width:24px;height:24px;display:block}.expense-manual{flex-direction:column;gap:8px;display:flex}.expense-manual__actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.expense-mode-button--disabled{cursor:default}.amount-input{border-radius:var(--radius-control);corner-shape:var(--corner-curve);background:var(--card);color:#fff;cursor:text;flex-direction:column;gap:4px;width:100%;min-width:0;padding:16px;display:flex;overflow:hidden}.amount-input__label{color:#ffffff80;letter-spacing:-.03em;font-size:13px;font-weight:600;line-height:normal}.amount-input__value{color:#fff;width:fit-content;min-width:0;max-width:100%;height:39px;font-family:var(--display);letter-spacing:-.03em;white-space:nowrap;align-self:flex-start;align-items:baseline;gap:16px;font-size:33px;font-style:italic;font-weight:900;line-height:normal;display:inline-flex;overflow:visible}.amount-input__number{flex:0 auto;width:fit-content;min-width:1ch;max-width:calc(100% - 1.15em);margin-inline:-4px;display:inline-block;position:relative;overflow:visible}.amount-input__mirror,.amount-input input{box-sizing:border-box;min-width:1ch;max-width:100%;font:inherit;letter-spacing:inherit;white-space:pre;padding-inline:4px}.amount-input__mirror{visibility:hidden;width:fit-content;height:39px;display:block}.amount-input input{width:calc(100% + 16px);max-width:none;height:39px;color:inherit;caret-color:var(--lime);text-overflow:unset;background:0 0;border:0;outline:0;position:absolute;inset:0 auto 0 0;overflow:clip}.amount-input__currency{z-index:1;flex:none;position:relative}.amount-input--empty .amount-input__value{color:#ffffff80}.modal-result{flex-direction:column;gap:8px;display:flex}.modal-result__visual{justify-content:center;align-items:center;width:100%;height:361px;padding:16px;display:flex;overflow:hidden}.modal-result__model{width:300px;height:225px;display:block}.modal-state-enter-active,.modal-state-leave-active{transition:opacity .2s,transform .2s}.modal-state-enter-from{opacity:0;transform:translateY(8px)}.modal-state-leave-to{opacity:0;transform:translateY(-8px)}.category-modal__title{width:100%;font-family:var(--heading);letter-spacing:-.03em;text-align:center;text-transform:uppercase;margin:0;font-size:23px;font-weight:800;line-height:normal}.category-modal{flex-direction:column;gap:8px;display:flex}.category-progress{border-radius:var(--radius-card);background:var(--card);width:100%;height:100px;color:var(--progress-text);padding:16px;transition:color .45s;position:relative;overflow:hidden}.category-progress__fill{width:var(--progress);border-radius:var(--radius-card) 0 0 var(--radius-card);corner-shape:var(--corner-curve);background:radial-gradient(circle at 20% 80%,var(--category-gradient-secondary),transparent 58%),linear-gradient(115deg,var(--category-gradient-primary),var(--category-gradient-secondary));background-size:170% 170%;min-width:0;transition:width .55s cubic-bezier(.22,.8,.22,1),background .45s;animation:14s ease-in-out infinite alternate progress-gradient;position:absolute;inset:0 auto 0 0}.category-progress__fill--complete{border-radius:var(--radius-card)}@keyframes progress-gradient{0%{background-position:0%}to{background-position:100% 35%}}.category-progress__content{z-index:1;flex-direction:column;align-items:flex-start;width:100%;display:flex;position:relative}.category-progress__content strong{width:100%;min-width:0;font-family:var(--display);letter-spacing:-1.23px;white-space:nowrap;font-size:clamp(31px,10.43vw,41px);font-style:italic;font-weight:900;line-height:normal}.category-progress__content span{letter-spacing:-.39px;margin-top:-2px;font-size:13px;font-weight:600;line-height:normal}.category-modal__metrics{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;display:grid}.metric-card{border-radius:var(--radius-card);background:var(--card);flex-direction:column;flex:1 1 0;justify-content:space-between;align-items:flex-start;min-width:0;height:100px;padding:16px;display:flex;overflow:hidden;container-type:inline-size}.metric-card span{font-size:11px;line-height:normal}.metric-card strong{width:100%;min-width:0;font-family:var(--display);letter-spacing:-.63px;white-space:nowrap;font-size:clamp(14px,12cqi,21px);font-style:italic;font-weight:900;line-height:normal}.metric-card--wide{grid-column:1/-1}.metric-card small{color:var(--muted);font-size:10px}.sheet-fade-enter-active,.sheet-fade-leave-active{transition:background-color .32s}.sheet-fade-enter-from,.sheet-fade-leave-to{background-color:#2f2f3900}.sheet-fade-enter-from .bottom-sheet,.sheet-fade-leave-to .bottom-sheet{transform:translateY(100%)}@media (prefers-reduced-motion:reduce){.bottom-sheet,.sheet-fade-enter-active,.sheet-fade-leave-active,.category-progress__fill{transition-duration:.01ms;animation:none}}@media (width<=350px){.app-header{gap:52px;min-height:342px}.app-header__info h1{font-size:39px}h2{font-size:15px}.savings-card__info strong{font-size:32px}.icon-button{padding-inline:8px;font-size:11px}.category-modal__title{font-size:19px}.expense-category-button,.expense-mode-button{padding-inline:8px;font-size:11px}.expense-modal__title{font-size:19px}.category-progress__content strong{font-size:clamp(31px,10.43vw,36px)}}
