@import"https://fonts.googleapis.com/css2?family=Fredoka:wght@400;500;600;700&family=Geist+Mono:wght@400;500;700&family=Figtree:wght@400;500;600;700&display=swap";:root{--kraft: #c9ae8e;--kraft-deep: #b2946f;--kraft-shadow: #9c7f5a;--paper: #fbf6ee;--paper-edge: #e8dcc8;--ink: #2b2118;--ink-2: #6b5844;--ink-3: #96826b;--give: #e2445c;--give-soft: #fbdde2;--give-deep: #a82a3e;--save: #2b9e5f;--save-soft: #d6f0e0;--save-deep: #17693c;--spend: #f2a03d;--spend-soft: #fdeed6;--spend-deep: #a6620f;--special: #8659a8;--special-soft: #ece0f7;--special-deep: #5c3579;--wallet: #5c6b7a;--wallet-soft: #e4e9ee;--coin-gold: #e8b54a;--coin-gold-edge: #b8892c;--coin-silver: #cdd2d6;--coin-silver-edge: #9aa2a9;--coin-silver-ink: #5b6469;--shelf: #b9773f;--shelf-edge: #8a5228;--stamp: #9c3b2e;--stamp-ok: #2f5d3f;--pencil: #55514c;--ok: #2b9e5f;--warn: #d98324;--bad: #c8382f;--star: #f5c542;--r-sm: 6px;--r-md: 12px;--r-lg: 20px;--r-xl: 28px;--lift-1: 0 1px 0 var(--paper-edge), 0 2px 6px rgba(43, 33, 24, .12);--lift-2: 0 2px 0 var(--paper-edge), 0 8px 20px rgba(43, 33, 24, .18);--tap-min: 60px;--font-display: "Fredoka", ui-rounded, "SF Pro Rounded", system-ui, sans-serif;--font-ui: "Figtree", system-ui, -apple-system, "Segoe UI", sans-serif;--font-num: "Geist Mono", ui-monospace, "SF Mono", Menlo, monospace}:root[data-theme=dark]{--kraft: #221c16;--kraft-deep: #171310;--paper: #3b322a;--paper-edge: #574a3e;--ink: #f7f1e6;--ink-2: #c9b9a3;--ink-3: #9a8974;--give: #f2687f;--give-soft: #4d2029;--give-deep: #f9b3bf;--save: #43bd7c;--save-soft: #17361f;--save-deep: #8fdcb0;--spend: #f7b45f;--spend-soft: #47300f;--spend-deep: #f9d29b;--special: #b48ad6;--special-soft: #33224a;--special-deep: #d6bcec;--stamp: #e08574;--stamp-ok: #7fbf97;--pencil: #c2b8a9;--wallet-soft: #2a3138;--lift-1: 0 1px 0 rgba(0, 0, 0, .35), 0 2px 6px rgba(0, 0, 0, .4);--lift-2: 0 2px 0 rgba(0, 0, 0, .35), 0 8px 20px rgba(0, 0, 0, .5)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--kraft: #221c16;--kraft-deep: #171310;--paper: #3b322a;--paper-edge: #574a3e;--ink: #f7f1e6;--ink-2: #c9b9a3;--ink-3: #9a8974;--give: #f2687f;--give-soft: #4d2029;--give-deep: #f9b3bf;--save: #43bd7c;--save-soft: #17361f;--save-deep: #8fdcb0;--spend: #f7b45f;--spend-soft: #47300f;--spend-deep: #f9d29b;--special: #b48ad6;--special-soft: #33224a;--special-deep: #d6bcec;--stamp: #e08574;--stamp-ok: #7fbf97;--pencil: #c2b8a9;--wallet-soft: #2a3138;--lift-1: 0 1px 0 rgba(0, 0, 0, .35), 0 2px 6px rgba(0, 0, 0, .4);--lift-2: 0 2px 0 rgba(0, 0, 0, .35), 0 8px 20px rgba(0, 0, 0, .5)}}*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;padding:0;min-height:100%}body{background:var(--kraft);background-image:repeating-linear-gradient(92deg,rgba(255,255,255,.035) 0 2px,transparent 2px 5px),repeating-linear-gradient(6deg,rgba(43,33,24,.03) 0 3px,transparent 3px 7px);color:var(--ink);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;touch-action:manipulation}h1,h2,h3{font-family:var(--font-display);font-weight:600;margin:0;letter-spacing:-.01em}button{font:inherit;font-family:var(--font-ui);font-weight:600;color:var(--ink);cursor:pointer;min-height:var(--tap-min);border-radius:var(--r-md);border:2px solid var(--ink);background:var(--paper);padding:0 20px;box-shadow:0 3px 0 var(--ink);transition:transform 90ms ease,box-shadow 90ms ease}button:active:not(:disabled){transform:translateY(3px);box-shadow:0 0 0 var(--ink)}button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}:root[data-theme=dark] button{border-color:var(--paper-edge);box-shadow:0 3px 0 var(--kraft-deep)}:root[data-theme=dark] button:active:not(:disabled){box-shadow:0 0 0 var(--kraft-deep)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) button{border-color:var(--paper-edge);box-shadow:0 3px 0 var(--kraft-deep)}:root:not([data-theme=light]) button:active:not(:disabled){box-shadow:0 0 0 var(--kraft-deep)}}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--ink);outline-offset:3px}input,select{font:inherit;font-family:var(--font-ui);color:var(--ink);background:var(--paper);border:2px solid var(--paper-edge);border-radius:var(--r-md);padding:12px 14px;min-height:48px;width:100%}input:focus,select:focus{outline:none;border-color:var(--ink)}.money{font-family:var(--font-num);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.card{background:var(--paper);border-radius:var(--r-lg);box-shadow:var(--lift-1);padding:18px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-delay:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.stub{position:relative;background:var(--paper);border-radius:var(--r-lg) var(--r-lg) 0 0;box-shadow:var(--lift-2);padding:18px 18px 26px}.stub:after{content:"";position:absolute;inset-inline:0;bottom:-1px;height:7px;background-image:radial-gradient(circle at 5px 7px,var(--kraft) 3.4px,transparent 3.9px);background-size:10px 7px;background-repeat:repeat-x}.stamp{font-family:var(--font-num);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;line-height:1.35;text-align:center;padding:7px 13px;border:3px solid currentColor;border-radius:3px;transform:rotate(-5deg);opacity:.88;white-space:nowrap}.eyebrow{display:flex;align-items:center;gap:10px;font-family:var(--font-num);font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-2);margin:28px 0 10px}.eyebrow:after{content:"";flex:1;height:2px;background:var(--kraft-shadow);opacity:.45}.line{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:none;border:none;border-radius:0;box-shadow:none;padding:15px 4px;min-height:0;font:inherit;color:inherit;cursor:pointer;border-bottom:1px solid var(--paper-edge)}.line:last-of-type{border-bottom:none}.line:hover:not(:disabled){background:var(--paper-edge)}.line[aria-expanded=true]{border-bottom-color:transparent}.line-caret{flex:0 0 auto;color:var(--ink-3);transition:transform .18s cubic-bezier(.2,.9,.3,1)}.line[aria-expanded=true] .line-caret{transform:rotate(90deg)}.cap{font-family:var(--font-num);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);margin:0}.cap-hint{margin:3px 0 0;font-size:13px;color:var(--ink-2)}.slip{display:flex;align-items:center;gap:8px 14px;flex-wrap:wrap;padding:9px 12px;border:2px solid var(--paper-edge);border-left-width:7px;border-left-color:var(--slip-hue, var(--kraft-deep));border-radius:var(--r-md)}.slip-what{flex:1 1 180px;min-width:0}.slip-do{display:flex;gap:8px;margin-left:auto}.slip-do button{min-height:42px;padding:0 13px;font-size:14px}.tally line{stroke:var(--pencil);stroke-width:2.6;stroke-linecap:round;opacity:.9;stroke-dasharray:44;stroke-dashoffset:0;animation:tally-draw .26s cubic-bezier(.3,.8,.4,1) backwards}@keyframes tally-draw{0%{stroke-dashoffset:44}to{stroke-dashoffset:0}}.utility{margin-top:30px;padding-top:14px;border-top:1px solid var(--kraft-shadow);display:flex;align-items:baseline;gap:6px 14px;flex-wrap:wrap;font-size:13.5px;color:var(--ink-2)}:root[data-theme=dark] .utility{border-top-color:var(--paper-edge)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .utility{border-top-color:var(--paper-edge)}}.utility-do{display:flex;gap:14px;margin-left:auto}.quiet-link{background:none;border:none;box-shadow:none;padding:0;min-height:0;font:inherit;font-weight:600;color:var(--ink-2);text-decoration:underline;text-underline-offset:3px}.quiet-link:hover{color:var(--ink)}.shelf{position:relative;padding:22px 12px 16px;border-radius:var(--r-lg);background-image:repeating-linear-gradient(180deg,rgba(0,0,0,.05) 0 1px,transparent 1px 9px),linear-gradient(180deg,var(--shelf) 0%,var(--shelf-edge) 100%);box-shadow:inset 0 2px #ffffff38,inset 0 -12px 18px #00000029,0 6px 14px #2b211833}.shelf-jars>*{animation:jar-settle .36s cubic-bezier(.2,.9,.3,1) backwards}.shelf-jars>*:nth-child(1){animation-delay:30ms}.shelf-jars>*:nth-child(2){animation-delay:.1s}.shelf-jars>*:nth-child(3){animation-delay:.17s}.shelf-jars>*:nth-child(4){animation-delay:.24s}@keyframes jar-settle{0%{opacity:0;transform:translateY(12px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}
