@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.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{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--backdrop:#0c0c0b;--paper:#161614;--paper-2:#1f1f1c;--paper-raised:#1c1c1a;--ink:#edebe6;--ink-2:#b5b2aa;--ink-3:#85827a;--rule:#2c2b27;--rule-strong:#45433d;--in:#86c291;--out:#e38a78;--neg-tint:#e38a7817;--neg-rule:#e38a7840;--band:#ede6d614;--sans:"Geist Variable", system-ui, sans-serif;--mono:var(--sans);font-family:var(--sans);-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body,#root{height:100%}#root{padding:24px}body{background:var(--backdrop);color:var(--ink);font-feature-settings:"tnum";margin:0;font-size:14px}input,select,button{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.in{color:var(--in)}.out{color:var(--out)}.quiet{color:var(--ink-3)}.kicker{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-bottom:6px;font-size:11px;display:block}.btn{border:1px solid var(--ink);white-space:nowrap;background:0 0;border-radius:3px;padding:7px 12px;font-size:13px;font-weight:500}.btn:hover,.btn.solid{background:var(--ink);color:var(--paper)}.btn.solid:hover{opacity:.85}.text-btn{color:var(--ink-2);text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:var(--rule-strong);text-decoration-color:var(--rule-strong);background:0 0;border:none;padding:4px 0;font-size:13px}.text-btn:hover{color:var(--ink);text-decoration-color:currentColor}.text-btn.danger{color:var(--out)}.count{font-family:var(--mono);color:var(--ink-3);margin-left:4px;font-size:11px}.btn:hover .count{color:inherit}.shell{background:var(--paper);border:1px solid var(--rule);border-radius:14px;grid-template:"mast mast""rail board"minmax(0,1fr)"time time"/280px minmax(0,1fr);max-width:1480px;height:100%;margin:0 auto;display:grid;overflow:hidden;box-shadow:0 1px 2px #0000000a,0 8px 32px #0000000d}.masthead{border-bottom:1px solid var(--rule);flex-wrap:wrap;grid-area:mast;align-items:center;gap:24px;padding:14px 24px;display:flex}.wordmark{letter-spacing:-.03em;color:inherit;font-size:18px;font-weight:700;text-decoration:none}.title{align-items:baseline;gap:8px;min-width:0;display:flex}.title-sep{color:var(--rule-strong)}.tracker-name{background:0 0;border:none;border-bottom:1px dashed #0000;min-width:0;max-width:280px;padding:0;font-size:15px;font-weight:500}.tracker-name::placeholder{color:var(--ink-3)}.tracker-name:hover,.tracker-name:focus{border-bottom-color:var(--rule-strong);outline:none}.save-status{color:var(--ink-3);white-space:nowrap;font-size:12px}.save-status.error{color:var(--out)}.range{font-family:var(--mono);align-items:center;gap:2px;font-size:12px;display:flex}.range>button{color:var(--ink-3);background:0 0;border:none;border-bottom:1.5px solid #0000;padding:6px 9px}.range>button:hover{color:var(--ink)}.range>button.active{color:var(--ink);border-bottom-color:var(--ink)}.range-dates{color:var(--ink-3);align-items:center;gap:6px;margin-left:8px;display:inline-flex}.range-dates input{border:none;border-bottom:1px dashed var(--rule-strong);font-family:var(--mono);color:var(--ink-2);background:0 0;padding:2px 0;font-size:12px}.actions{align-items:center;gap:18px;margin-left:auto;display:flex}.rail{border-right:1px solid var(--rule);flex-direction:column;grid-area:rail;gap:28px;padding:24px;display:flex;overflow-y:auto}.cash-input{letter-spacing:-.02em;align-items:baseline;font-size:26px;font-weight:600;line-height:1.15;display:flex}.cash-input span{color:var(--ink-3)}.cash-input input{letter-spacing:-.02em;background:0 0;border:none;border-bottom:1px dashed #0000;min-width:0;padding:0;font-size:26px;font-weight:600}.cash-input input:hover,.cash-input input:focus{border-bottom-color:var(--rule-strong);outline:none}.as-of{color:var(--ink-3);max-width:26ch;margin:6px 0 0;font-size:12px;line-height:1.45}.figure{letter-spacing:-.04em;font-size:44px;font-weight:650;line-height:1}.delta{color:var(--ink-3);margin-top:8px;font-size:13px}.delta span{font-family:var(--mono);font-weight:500}.alert{border-left:2px solid var(--out);color:var(--out);margin:14px 0 0;padding-left:10px;font-size:13px;line-height:1.45}.rail-block.day{border-top:1px solid var(--rule);margin-top:auto;padding-top:24px}.rail-block.day p{margin:0;line-height:1.55}.rail-block.day strong{font-family:var(--mono);font-weight:500}.day-title{letter-spacing:-.02em;margin-bottom:12px;font-size:19px;font-weight:600}.day-entries{margin:0;padding:0;list-style:none}.day-entries li{border-bottom:1px dotted var(--rule);justify-content:space-between;gap:12px;padding:6px 0;font-size:13px;display:flex}.day-entries li span:last-child{font-family:var(--mono);white-space:nowrap}.day-total{justify-content:space-between;padding:10px 0 16px;font-weight:600;display:flex}.day-total span:last-child{font-family:var(--mono);font-weight:500}.rail .btn{width:100%}.board{grid-area:board;min-height:0;padding:18px 24px 12px;display:flex}.calendar{flex-direction:column;flex:1;min-height:0;display:flex}.cal-head{justify-content:space-between;align-items:baseline;margin-bottom:10px;display:flex}.cal-title{letter-spacing:-.03em;margin:0;font-size:24px;font-weight:650;line-height:1}.cal-title span{color:var(--ink-3);font-weight:400}.cal-arrows{gap:4px;display:flex}.cal-arrows button{border:1px solid var(--rule-strong);background:0 0;border-radius:3px;width:34px;height:30px;font-size:15px}.cal-arrows button:hover:not(:disabled){border-color:var(--ink)}.cal-arrows button:disabled{opacity:.3;cursor:default}.cal-weekdays{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);border-bottom:1px solid var(--rule-strong);grid-template-columns:repeat(7,minmax(0,1fr));padding-bottom:6px;font-size:11px;display:grid}.cal-weekdays div{padding-left:8px}.cal-grid{flex:1;grid-template-columns:repeat(7,minmax(0,1fr));min-height:0;display:grid}.cal-cell{border:none;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);text-align:left;background:0 0;flex-direction:column;gap:3px;min-width:0;min-height:0;padding:6px 8px;display:flex;position:relative;overflow:hidden}.cal-cell:nth-child(7n+1){border-left:1px solid var(--rule)}.cal-cell.pad{background:var(--paper-2);opacity:.5}.cal-cell.outside{color:var(--ink-3);opacity:.5}button.cal-cell:hover{background-color:var(--paper-2)}.cal-cell.negative{background:var(--neg-tint)}button.cal-cell.negative:hover{background:var(--neg-tint);box-shadow:inset 0 0 0 1px var(--rule-strong)}.cal-cell.selected,button.cal-cell.selected:hover{box-shadow:inset 0 0 0 2px var(--ink)}.cal-day{font-family:var(--mono);color:var(--ink-2);font-size:12px}.cal-cell.today .cal-day{color:var(--paper);background:var(--ink);border-radius:999px;align-self:flex-start;padding:0 6px}.cal-entries{flex-direction:column;flex:1;gap:1px;min-height:0;display:flex;overflow:hidden}.cal-entry{justify-content:space-between;gap:6px;min-width:0;font-size:12px;line-height:1.4;display:flex}.cal-entry-name{text-overflow:ellipsis;white-space:nowrap;color:var(--ink);overflow:hidden}.cal-entry-amount{font-family:var(--mono);flex:none;font-size:11px}.cal-entry.in .cal-entry-amount{color:var(--in)}.cal-entry.out .cal-entry-amount{color:var(--out)}.cal-more{color:var(--ink-3);font-size:11px}.cal-marks{gap:3px;display:none}.cal-marks i{background:var(--out);border-radius:50%;width:5px;height:5px}.cal-marks i.in{background:var(--in)}.cal-balance{border-top:1px solid var(--rule);justify-content:space-between;align-items:baseline;gap:4px;padding-top:4px;display:flex}.cal-balance-label{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);font-size:10px}.cal-balance-value{letter-spacing:-.01em;color:var(--ink);font-size:13px;font-weight:600}.cal-cell.negative .cal-balance{border-top-color:var(--neg-rule)}.cal-cell.negative .cal-balance-value{color:var(--out)}.cal-balance .narrow{display:none}.timeline{border-top:1px solid var(--rule);grid-area:time;padding:8px 24px 6px}.chart-wrap{width:100%;position:relative}.chart-wrap svg{cursor:pointer;display:block}.grid-line{stroke:var(--rule);stroke-width:1px}.zero-line{stroke:var(--out);stroke-width:1px;stroke-dasharray:3 3;opacity:.7}.month-rule{stroke:var(--rule);stroke-width:1px}.axis-label{fill:var(--ink-3);font-family:var(--mono);font-size:10px}.series-line{fill:none;stroke:var(--ink);stroke-width:1.5px;stroke-linejoin:round}.month-band{fill:var(--band)}.crosshair{stroke:var(--ink-3);stroke-width:1px}.series-dot{fill:var(--ink);stroke:var(--paper);stroke-width:2px}.tooltip{pointer-events:none;background:var(--paper-raised);border:1px solid var(--rule-strong);white-space:nowrap;z-index:2;border-radius:3px;padding:8px 10px;font-size:12px;position:absolute;bottom:calc(100% + 6px);transform:translate(-50%);box-shadow:0 6px 24px #0000001f}.tooltip-date{font-family:var(--mono);color:var(--ink-3);font-size:11px}.tooltip-value{letter-spacing:-.02em;font-size:16px;font-weight:600}.tooltip-value.neg{color:var(--out)}.tooltip-change{color:var(--ink-2)}.drawer-overlay{z-index:9;background:#14120e40;animation:.12s ease-out fade;position:fixed;inset:0}.drawer{background:var(--paper);border-left:1px solid var(--rule-strong);flex-direction:column;width:min(440px,100%);padding:22px 24px;animation:.18s ease-out slide-in;display:flex;position:absolute;top:0;bottom:0;right:0}.drawer-head{justify-content:space-between;align-items:baseline;margin-bottom:18px;display:flex}.drawer-head h2{letter-spacing:-.03em;margin:0;font-size:20px;font-weight:650}.plan-head{border-bottom:1px solid var(--rule-strong);justify-content:space-between;align-items:center;gap:12px;display:flex}.tabs{gap:18px;display:flex}.tabs button{color:var(--ink-3);background:0 0;border:none;border-bottom:1.5px solid #0000;margin-bottom:-1px;padding:8px 0;font-weight:500}.tabs button.active{color:var(--ink);border-bottom-color:var(--ink)}.plan-head .btn{margin-bottom:6px;padding:5px 10px;font-size:12px}.drawer-body{flex:1;overflow-y:auto}.plan-list{margin:0;padding:0;list-style:none}.plan-row{border:none;border-bottom:1px solid var(--rule);text-align:left;background:0 0;align-items:baseline;gap:14px;width:100%;padding:12px 0;display:flex}.plan-row:hover .plan-name{text-underline-offset:3px;text-decoration:underline}.plan-row.muted{opacity:.5}.plan-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.plan-name{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.plan-sub{color:var(--ink-3);font-size:12px}.plan-amount{font-family:var(--mono);white-space:nowrap;font-size:13px}.empty{color:var(--ink-3);margin:18px 0;line-height:1.5}.overlay{z-index:10;background:#14120e59;place-items:center;padding:16px;animation:.12s ease-out fade;display:grid;position:fixed;inset:0}.modal{background:var(--paper);border:1px solid var(--rule-strong);border-radius:4px;flex-direction:column;gap:16px;width:100%;max-width:400px;max-height:calc(100vh - 32px);padding:24px;animation:.16s ease-out pop;display:flex;overflow-y:auto;box-shadow:0 24px 60px #00000040}.modal h2{letter-spacing:-.03em;margin:0;font-size:20px;font-weight:650}.segmented{border:1px solid var(--rule-strong);border-radius:3px;display:flex;overflow:hidden}.segmented button{color:var(--ink-2);background:0 0;border:none;flex:1;padding:8px;font-size:13px}.segmented button+button{border-left:1px solid var(--rule-strong)}.segmented button.active{background:var(--ink);color:var(--paper)}.field{color:var(--ink-2);flex-direction:column;flex:1;gap:5px;min-width:0;font-size:12px;display:flex}.field input,.field select,.money-input{border:none;border-bottom:1px solid var(--rule-strong);background:0 0;border-radius:0;width:100%;padding:7px 0;font-size:15px}.field input:focus,.field select:focus,.money-input:focus-within{border-bottom-color:var(--ink);outline:none}.money-input{font-family:var(--mono);align-items:center;gap:4px;display:flex}.money-input span{color:var(--ink-3)}.money-input input{font-family:var(--mono);border:none;padding:0}.field-row{gap:16px;display:flex}.hint{color:var(--ink-3);margin:-8px 0 0;font-size:12px}.modal-actions{align-items:center;gap:16px;margin-top:6px;display:flex}.spacer{flex:1}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:translateY(6px)}}@keyframes slide-in{0%{opacity:0;transform:translate(24px)}}@media (height<=760px) and (width>=901px){.figure{font-size:36px}.rail{gap:20px;padding:18px 24px}.cal-title{font-size:21px}}@media (width<=900px){#root{height:auto;padding:0}.shell{box-shadow:none;border:none;border-radius:0;grid-template:"mast""rail""time""board"/minmax(0,1fr);height:auto;min-height:100vh}.masthead{gap:12px;padding:12px 16px}.actions{gap:14px}.rail-block{min-width:0}.alert{margin-top:10px}.rail{border-right:none;border-bottom:1px solid var(--rule);flex-flow:wrap;gap:16px 32px;padding:16px;overflow:visible}.rail-block.day{flex-basis:100%;margin-top:0}.figure{font-size:36px}.timeline{border-top:none;border-bottom:1px solid var(--rule);padding:8px 16px}.board{padding:14px 16px 24px}.cal-grid{grid-auto-rows:minmax(64px,auto);grid-template-rows:none!important}}@media (width<=600px){.range{flex-basis:100%;order:3;overflow-x:auto}.cal-cell{padding:4px}.cal-entry,.cal-more{display:none}.cal-marks{display:flex}.cal-balance{border-top:none;justify-content:flex-end;padding-top:0}.cal-balance-label{display:none}.cal-balance-value{font-size:10px}.cal-balance .wide{display:none}.cal-balance .narrow{display:inline}.cal-weekdays div{padding-left:4px}}.cal-cell{container-type:inline-size}@container (width<=130px){.cal-balance{flex-direction:column;align-items:flex-end;gap:0}.cal-balance-label{font-size:9px}}@container (width<=58px){.cal-balance-label,.cal-balance .wide{display:none}.cal-balance .narrow{display:inline}}.loading{height:100%;color:var(--ink-3);place-items:center;display:grid}.landing{background:var(--paper);border:1px solid var(--rule);border-radius:14px;flex-direction:column;max-width:1480px;height:100%;margin:0 auto;padding:clamp(24px,4vh,44px) clamp(28px,5vw,80px) clamp(18px,3vh,28px);display:flex;overflow:hidden}.landing-top{flex:none}.landing-body{flex:1;grid-template-columns:minmax(320px,.8fr) minmax(0,1.2fr);align-items:stretch;gap:clamp(40px,5.5vw,96px);min-height:0;padding:clamp(20px,5vh,64px) 0;display:grid}.landing-intro{min-height:0;padding-block:var(--example-top,0);flex-direction:column;display:flex;overflow-y:auto}.landing h1{letter-spacing:-.045em;text-wrap:balance;margin:0 0 18px;font-size:clamp(32px,3.4vw,54px);font-weight:650;line-height:1.03}.lede{color:var(--ink-2);max-width:40ch;margin:0 0 28px;font-size:17px;line-height:1.6}.landing-example{min-height:0;display:flex}.hv-fit{flex:1;justify-content:center;align-items:center;min-width:0;min-height:0;display:flex}.hv-sizer{flex:none;position:relative}.hv-scaled{transform-origin:0 0;display:flex;position:absolute;top:0;left:0}.landing-actions{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.btn.big{padding:13px 22px;font-size:15px;text-decoration:none;display:inline-block}.btn:disabled,.text-btn:disabled{opacity:.5;cursor:default}.landing-error{color:var(--out);margin-top:20px}.landing-foot{color:var(--ink-3);flex:none;font-size:12px;line-height:1.5}.landing-inner{width:100%;max-width:560px;margin:auto}.landing-inner .wordmark{margin-bottom:40px;display:block}.recent-title{letter-spacing:-.03em;margin:0 0 14px;font-size:20px;font-weight:650}.recent ul{border-top:1px solid var(--rule);margin:0;padding:0;list-style:none}.recent li{border-bottom:1px solid var(--rule);align-items:center;gap:12px;display:flex}.recent-open{text-align:left;min-width:0;color:var(--ink);background:0 0;border:none;flex:1;justify-content:space-between;align-items:baseline;gap:16px;padding:11px 0;text-decoration:none;display:flex}.recent-name{text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:550;overflow:hidden}.recent-meta{color:var(--ink-3);flex:none;font-size:13px}.recent-open:hover .recent-name{text-underline-offset:3px;text-decoration:underline}.recent-remove{opacity:0;transition:opacity .12s}.recent li:hover .recent-remove,.recent-remove:focus-visible{opacity:1}@media (hover:none){.recent-remove{opacity:1}}.hero-visual{border:1px solid var(--rule);background:var(--paper);border-radius:12px;flex-direction:column;flex:1;min-width:0;margin:0;padding:18px 22px 6px;display:flex;box-shadow:0 24px 60px #00000059}.hv-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px;display:flex}.hv-head span:first-child{color:var(--ink-2);font-size:13px}.hv-tag{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);font-size:11px}.hv-calendar{flex:1;min-height:0;display:flex}.hv-calendar .cal-title{font-size:20px}.hv-timeline{border-top:1px solid var(--rule);margin-top:10px;padding-top:6px}@media (width<=900px){.hero-visual{padding:14px 12px 6px}.hv-calendar{height:auto}}.landing .recent{margin-top:auto;padding-top:32px}.landing .recent li:nth-child(n+4){display:none}@media (width<=900px){.landing{border:none;border-radius:0;height:auto;min-height:100vh;padding:24px 20px;overflow:visible}.landing-body{grid-template-columns:minmax(0,1fr);gap:40px;padding:40px 0 32px}.landing-intro{padding-block:0;overflow:visible}.landing .recent{margin-top:40px;padding-top:0}.hv-sizer,.hv-scaled{position:static;width:auto!important;height:auto!important;transform:none!important}.hv-fit{display:block}.landing h1{font-size:34px}.lede{margin-bottom:28px;font-size:16px}.save-status{display:none}}.share{position:relative}.share-panel{background:var(--paper-raised);border:1px solid var(--rule-strong);z-index:5;border-radius:8px;width:360px;max-width:calc(100vw - 32px);padding:16px;animation:.14s ease-out pop;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 12px 40px #00000029}.share-title{margin-bottom:6px;font-weight:600}.share-panel p{color:var(--ink-2);margin:0 0 12px;font-size:13px;line-height:1.45}.share-row{gap:8px;display:flex}.share-row input{border:1px solid var(--rule-strong);background:var(--paper);min-width:0;color:var(--ink-2);border-radius:4px;flex:1;padding:7px 9px;font-size:12px}@media (height<=820px) and (width>=901px){.landing{padding-top:20px;padding-bottom:14px}.landing-body{padding:8px 0}.landing h1{margin-bottom:12px;font-size:clamp(28px,2.7vw,38px)}.lede{margin-bottom:18px;font-size:15px;line-height:1.5}.btn.big{padding:10px 18px}.landing .recent{padding-top:20px}.recent-title{margin-bottom:8px;font-size:17px}.landing .recent li:nth-child(n+3){display:none}.recent-open{padding:8px 0}}.share-via{border-top:1px solid var(--rule);color:var(--ink-3);align-items:center;gap:8px;margin-top:12px;padding-top:12px;font-size:13px;display:flex}.share-via span{margin-right:auto}.share-via .btn{color:var(--ink);padding:5px 12px;font-size:12px;text-decoration:none}.share-via .btn:hover{color:var(--paper)}
