:root{color-scheme:light;--paper: #f2ede3;--paper-2: #eae3d6;--ink: #1a1a17;--ink-2: #55503f;--ink-3: #837c68;--rule: #cdc6b6;--rule-blue: #a9b4bd;--red: #a8321e;--red-wash: #e9ddd2;--blue: #3a5c7a;--blue-wash: #e2e4e2;--f-display: "Frank Ruhl Libre", "Times New Roman", serif;--f-text: "Alef", "Arial Hebrew", sans-serif;--f-num: "IBM Plex Mono", "SF Mono", ui-monospace, monospace;--t-label: 12px;--t-body: 16px;--t-sub: 24px;--t-head: 36px;--t-hero: 48px;--s1: 4px;--s2: 8px;--s3: 12px;--s4: 16px;--s5: 24px;--s6: 32px;--s7: 48px;--gap-over: 36px;--gap-under: 12px;--margin-col: 44px;--nav-h: 58px;--safe-b: env(safe-area-inset-bottom, 0px);--row-h: 64px}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--paper: #141310;--paper-2: #1e1c17;--ink: #e8e2d4;--ink-2: #a49b86;--ink-3: #7a725f;--rule: #35322a;--rule-blue: #3f4a52;--red: #d4614a;--red-wash: #2b1d18;--blue: #7e9bb5;--blue-wash: #1b2126}}:root[data-theme=dark]{color-scheme:dark;--paper: #141310;--paper-2: #1e1c17;--ink: #e8e2d4;--ink-2: #a49b86;--ink-3: #7a725f;--rule: #35322a;--rule-blue: #3f4a52;--red: #d4614a;--red-wash: #2b1d18;--blue: #7e9bb5;--blue-wash: #1b2126}*,*:before,*:after{box-sizing:border-box}*{border-radius:0!important;box-shadow:none!important}html,body,#root{height:100%}body{margin:0;font-family:var(--f-text);font-size:var(--t-body);font-weight:400;line-height:1.7;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;touch-action:manipulation}h1,h2,h3,p,figure{margin:0}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:none;border:0;padding:0;text-align:inherit}a{color:inherit}:focus-visible{outline:2px solid var(--ink);outline-offset:1px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.n{font-family:var(--f-num);font-variant-numeric:tabular-nums lining-nums;font-size:1.06em;direction:ltr;unicode-bidi:isolate;letter-spacing:-.01em}.amount{width:6.2em;flex:none;text-align:right;white-space:nowrap;font-weight:500}.amount.over{color:var(--red)}.label{font-size:var(--t-label);font-weight:700;letter-spacing:.06em;color:var(--ink-2);line-height:1.4}.shell{min-height:100%;display:flex;flex-direction:column;padding-bottom:calc(var(--nav-h) + var(--safe-b))}.page{flex:1;width:100%;max-width:640px;margin-inline:auto;padding:0 var(--s4) var(--s7)}.masthead{padding:var(--s5) var(--s4) var(--s3);max-width:640px;margin-inline:auto;width:100%}.masthead h1{font-family:var(--f-display);font-weight:900;font-size:var(--t-sub);letter-spacing:-.015em;line-height:1.15}.masthead .sub{font-size:var(--t-label);color:var(--ink-3);margin-top:2px}.masthead-row{display:flex;align-items:baseline;gap:var(--s3)}.masthead-row .grow{flex:1;min-width:0}.rule,.rule-2{border:0;height:0;margin:0 calc(var(--s4) * -1);border-top:1px solid var(--rule)}.rule-2{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);height:5px;background:transparent}.section{margin-top:var(--gap-over)}.section>h2{font-size:var(--t-label);font-weight:700;letter-spacing:.06em;color:var(--ink-2);padding-bottom:var(--s2);margin-bottom:0;border-bottom:1px solid var(--ink)}.section>h2 .count{color:var(--ink-3);font-weight:400;letter-spacing:0}.section>.rows{margin-top:0}.rows{display:flex;flex-direction:column}.row{display:flex;align-items:center;gap:var(--s3);width:100%;min-height:var(--row-h);padding:var(--s3) 0;border-bottom:1px solid var(--rule);background:none;text-align:start}.row:last-child{border-bottom:0}.row .grow{flex:1;min-width:0}.row .title{font-size:17px;line-height:1.35}.row .meta{font-size:13px;color:var(--ink-2);line-height:1.5}.margin-col{width:var(--margin-col);flex:0 0 var(--margin-col);text-align:center;color:var(--ink-3);font-size:var(--t-label)}.row:active,.btn:active{background:var(--paper-2)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);min-height:48px;padding:0 var(--s4);border:1px solid var(--ink);background:transparent;color:var(--ink);font-size:15px;font-weight:400;transition:background .1s linear,color .1s linear}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--ink);color:var(--paper);font-weight:700}.btn-primary:active{background:var(--ink-2)}.btn-red{border-color:var(--red);color:var(--red)}.btn-block{width:100%}.btn-quiet{border-color:transparent;color:var(--ink-2);min-height:44px;min-width:44px;padding:0 var(--s2)}.btn-sm{min-height:44px;min-width:44px;font-size:14px;padding:0 var(--s3)}.nav{position:fixed;inset-inline:0;bottom:0;z-index:30;display:grid;grid-template-columns:repeat(5,1fr);height:calc(var(--nav-h) + var(--safe-b));padding-bottom:var(--safe-b);background:var(--paper);border-top:1px solid var(--ink)}.nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-decoration:none;color:var(--ink-3);font-size:11px;letter-spacing:.02em;position:relative;border-inline-start:1px solid var(--rule)}.nav a:first-child{border-inline-start:0}.nav a[aria-current=page]{color:var(--ink);font-weight:700}.nav a[aria-current=page]:before{content:"";position:absolute;top:0;inset-inline:0;height:3px;background:var(--ink)}.nav .tally{font-family:var(--f-num);font-size:10px;color:var(--red);position:absolute;top:6px;inset-inline-end:12px}@media(min-width:860px){.shell{padding-bottom:0}.nav{position:sticky;top:0;bottom:auto;order:-1;height:auto;padding:0;border-top:0;border-bottom:1px solid var(--ink);grid-template-columns:repeat(5,minmax(0,140px));justify-content:center}.nav a{flex-direction:row;gap:var(--s2);padding:var(--s3) 0;font-size:14px}.page,.masthead{max-width:760px}}.field{display:block;margin-bottom:var(--s4)}.field>span{display:block;font-size:var(--t-label);font-weight:700;letter-spacing:.06em;color:var(--ink-2);margin-bottom:var(--s1)}.input,.select{width:100%;min-height:48px;padding:var(--s2) 0;border:0;border-bottom:1px solid var(--ink);background:transparent;color:var(--ink);font-size:var(--t-body)}.input:focus,.select:focus{outline:none;border-bottom-width:3px;padding-bottom:calc(var(--s2) - 2px)}.input[type=number],.input[type=date]{font-family:var(--f-num);font-variant-numeric:tabular-nums}.input::placeholder{color:var(--ink-3)}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-inline-end:var(--s5)}.row-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--s4)}.tabs{display:flex;gap:0;border-bottom:1px solid var(--rule)}.tab{padding:var(--s2) var(--s3);font-size:14px;color:var(--ink-2);border-bottom:3px solid transparent;margin-bottom:-1px;min-height:44px}.tab[aria-pressed=true]{color:var(--ink);font-weight:700;border-bottom-color:var(--ink)}.tab .n{font-size:.95em;color:var(--ink-3)}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#14120e8c;display:flex;align-items:flex-end;justify-content:center}.sheet{width:100%;max-width:560px;max-height:92dvh;overflow-y:auto;background:var(--paper);border-top:3px solid var(--ink);padding:var(--s5) var(--s4) calc(var(--s6) + var(--safe-b));animation:rise .16s cubic-bezier(.2,.7,.3,1)}.sheet h2{font-family:var(--f-display);font-weight:900;font-size:var(--t-sub);letter-spacing:-.015em;line-height:1.2;margin-bottom:var(--s5)}@media(min-width:640px){.sheet-backdrop{align-items:center}.sheet{border:3px solid var(--ink);max-height:86dvh}}@keyframes rise{0%{transform:translateY(14px)}}.hero{padding:var(--s5) 0 var(--s4);border-bottom:1px solid var(--ink)}.hero .figure{font-family:var(--f-num);font-variant-numeric:proportional-nums lining-nums;font-size:var(--t-head);font-weight:600;line-height:1;direction:ltr;unicode-bidi:isolate;letter-spacing:-.02em;margin-top:var(--s2)}.hero .figure.over{color:var(--red)}@media(min-width:420px){.hero .figure{font-size:var(--t-hero)}}.meter{display:block;height:4px;background:var(--rule);margin:var(--s2) 0 var(--s1)}.meter>i{display:block;height:100%;background:var(--ink)}.meter.over>i{background:var(--red)}.mark{font-size:var(--t-label);font-weight:700;letter-spacing:.04em}.mark-red{color:var(--red)}.mark-blue{color:var(--blue)}.by-system{border-inline-start:3px solid var(--blue);padding-inline-start:var(--s3)}.struck{text-decoration:line-through;text-decoration-color:var(--red);text-decoration-thickness:2px;color:var(--ink-3)}.note-error{border-top:1px solid var(--red);border-bottom:1px solid var(--red);background:var(--red-wash);padding:var(--s3) var(--s4);margin:var(--s4) calc(var(--s4) * -1);color:var(--red);font-size:15px}.empty{padding:var(--s6) 0;border-bottom:1px solid var(--rule);color:var(--ink-2)}.empty .headline{font-family:var(--f-display);font-weight:900;font-size:var(--t-sub);color:var(--ink);line-height:1.25}.empty p{margin-top:var(--s2);font-size:15px;max-width:34ch}.empty .btn{margin-top:var(--s4)}.toast{position:fixed;inset-inline:0;bottom:calc(var(--nav-h) + var(--safe-b));z-index:50;background:var(--ink);color:var(--paper);padding:var(--s3) var(--s4);font-size:15px;display:flex;align-items:center;gap:var(--s3)}.toast.bad{background:var(--red);color:#fff}.toast .undo{margin-inline-start:auto;font-weight:700;text-decoration:underline;white-space:nowrap}.loading{padding:var(--s5) 0}.loading i{display:block;height:1px;background:var(--rule);margin-bottom:var(--s5);animation:breathe 1.4s ease-in-out infinite}.loading i:nth-child(2){animation-delay:.18s}.loading i:nth-child(3){animation-delay:.36s}@keyframes breathe{50%{background:var(--ink-3)}}.gate{min-height:100dvh;display:flex;flex-direction:column;justify-content:center;max-width:380px;margin-inline:auto;padding:var(--s5)}.gate .wordmark{font-family:var(--f-display);font-weight:900;font-size:var(--t-head);letter-spacing:-.02em;line-height:1}.gate p{color:var(--ink-2);margin:var(--s3) 0 var(--s6);font-size:15px}
