:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#fbfaf6;--ink:#17160f;--ink-2:#5d5a4e;--muted:#8f8b7c;--rule:#17160f24;--rule-strong:#17160f6b;--wash:#17160f0b;--neg:#8c2f22;--pos:#3f5c33;--ink-1:#17160f;--ink-2s:#2e2b1f;--ink-3:#46422f;--ink-4:#6f6a52;--ink-5:#938d73;--ink-6:#b3ad93;--serif:"Iowan Old Style", Charter, Georgia, "Times New Roman", serif;--sans:"Helvetica Neue", Inter, system-ui, -apple-system, sans-serif;font-family:var(--sans);background:var(--paper);color:var(--ink)}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--paper:#14130f;--ink:#f2efe4;--ink-2:#a9a496;--muted:#78735f;--rule:#f2efe429;--rule-strong:#f2efe473;--wash:#f2efe40d;--neg:#d4705d;--pos:#8fae7f;--ink-1:#f2efe4;--ink-2s:#ded9c9;--ink-3:#c9c4b2;--ink-4:#a9a496;--ink-5:#8b866f;--ink-6:#736e59}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0}.app{max-width:640px;padding-bottom:calc(64px + env(safe-area-inset-bottom));min-height:100dvh;margin:0 auto}.topbar{z-index:10;background:var(--paper);border-bottom:1.5px solid var(--rule-strong);justify-content:space-between;align-items:baseline;gap:12px;padding:18px 20px 10px;display:flex;position:sticky;top:0}.topbar h1{font-family:var(--serif);letter-spacing:-.01em;margin:0;font-size:21px;font-weight:600}.topbar a{color:var(--muted);white-space:nowrap;font-size:12px;text-decoration:none}.content{padding:0 20px}.nav{z-index:20;padding:13px 20px calc(15px + env(safe-area-inset-bottom));background:var(--paper);border-top:1.5px solid var(--rule-strong);justify-content:center;gap:22px;display:flex;position:fixed;bottom:0;left:0;right:0}.nav a{font-family:var(--serif);color:var(--muted);font-size:14px;text-decoration:none}.nav a.active{color:var(--ink);font-weight:600}.nav .icon{display:none}.action-list{flex-direction:column;display:flex}.action{border:0;border-bottom:1px solid var(--rule);width:100%;color:var(--ink);font-family:var(--serif);text-align:left;cursor:pointer;background:0 0;padding:15px 0;font-size:16px}.action:last-child{border-bottom:0}.action.danger{color:var(--neg)}.terms-current{background:var(--wash);font-variant-numeric:tabular-nums;justify-content:space-between;align-items:baseline;gap:16px;padding:9px 10px;display:flex}.settings-section{border-bottom:1.5px solid var(--rule-strong);font-family:var(--serif);align-items:center;gap:8px;margin-top:26px;padding-bottom:10px;font-size:15px;font-weight:600;display:flex}.settings-section:first-child{margin-top:14px}.settings-section svg{flex:none;width:16px;height:16px}.settings-section+.card{border-top:0;padding-top:18px}.household-split{border-top:1px solid var(--rule);margin-top:18px;padding-top:16px}.household-split .field{margin-bottom:0}.household-balance{border-top:1px solid var(--rule);margin-top:18px;padding-top:16px}.household-balance h3{font-family:var(--serif);color:var(--ink-2);margin:0 0 2px;font-size:13px;font-weight:400}.account-footer{border-top:1px solid var(--rule-strong);flex-direction:column;align-items:flex-start;gap:14px;padding:22px 0 4px;display:flex}.topbar .cog{color:var(--muted);align-items:center;display:flex}.topbar .cog svg{width:20px;height:20px}.loading{min-height:100dvh;color:var(--ink);flex-direction:column;justify-content:center;align-items:center;gap:20px;display:flex}.loading-mark{width:76px;height:76px}.loading-line{stroke-dasharray:1;animation:1.9s ease-in-out infinite trace}.loading-dot{animation:1.9s ease-in-out infinite trace-dot}@keyframes trace{0%{stroke-dashoffset:1px}45%,62%{stroke-dashoffset:0}to{stroke-dashoffset:-1px}}@keyframes trace-dot{0%,42%{opacity:0}50%,60%{opacity:1}70%,to{opacity:0}}.loading-label{font-family:var(--serif);color:var(--muted);font-size:13px;font-style:italic}@media (prefers-reduced-motion:reduce){.loading-line,.loading-dot{animation:none}.loading-line{stroke-dashoffset:0}}.card{border-top:1px solid var(--rule-strong);padding:22px 0 18px}.card>:last-child,.card>:last-child>:last-child{margin-bottom:0}.card:first-of-type{border-top:0}.card>h2,.card-header h2{font-family:var(--serif);color:var(--ink-2);letter-spacing:.01em;margin:0 0 12px;font-size:14px;font-weight:600}.card-header{justify-content:space-between;align-items:baseline;gap:14px;display:flex}.card-header .btn,.card-header .card-actions{white-space:nowrap;flex:none}.card-actions{gap:8px;display:flex}.hero{padding:4px 0 2px;display:block}.hero .value{letter-spacing:-.035em;font-variant-numeric:tabular-nums;font-size:46px;font-weight:500;line-height:1;display:block}.hero .label{color:var(--ink-2);margin-top:8px;font-size:13px;display:block}.stat-grid{font-variant-numeric:tabular-nums;display:block}.stat{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:baseline;gap:16px;padding:7px 0;display:flex}.stat:last-child{border-bottom:0}.stat .label{color:var(--ink-2);font-size:14px}.stat .value{letter-spacing:-.012em;font-size:15px}.positive{color:var(--pos)}.negative{color:var(--neg)}.list{flex-direction:column;display:flex}.row{border:0;border-bottom:1px solid var(--rule);width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;align-items:baseline;gap:12px;padding:10px 0;display:flex}.row:last-child{border-bottom:0}.row-main{flex:1;min-width:0;display:block}.row-title{text-overflow:ellipsis;white-space:nowrap;font-size:15px;display:block;overflow:hidden}.row-sub{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:12.5px;display:block;overflow:hidden}.row-amount{font-variant-numeric:tabular-nums;letter-spacing:-.012em;white-space:nowrap;text-align:right;flex:none;font-size:15px}.row-amount span{color:var(--muted);letter-spacing:0;margin-top:2px;font-size:11px;display:block}.group-label{font-family:var(--serif);color:var(--muted);padding:12px 0 2px;font-size:12.5px;font-style:italic}.empty{color:var(--muted);font-size:13px;font-family:var(--serif);padding:16px 0;font-style:italic}.badge{font-family:var(--serif);color:var(--muted);margin-left:4px;font-size:12.5px;font-style:italic;display:inline}.transfer{border-top:1px solid var(--rule);padding:14px 0 4px}.transfer:first-of-type{border-top:0}.transfer-name{font-family:var(--serif);margin-bottom:8px;font-size:17px;font-weight:600}.transfer-line{color:var(--ink-2);font-variant-numeric:tabular-nums;justify-content:space-between;gap:16px;padding:5px 0;font-size:14px;display:flex}.transfer-line span:last-child{color:var(--ink);letter-spacing:-.012em}.transfer-headline{border-top:1px solid var(--rule-strong);justify-content:space-between;align-items:baseline;gap:12px;margin-top:9px;padding-top:9px;display:flex}.transfer-headline .label{color:var(--ink-2);font-size:13px}.transfer-headline .value{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:26px;font-weight:600}.field{flex-direction:column;gap:5px;margin-bottom:14px;display:flex}.field>label{font-family:var(--serif);color:var(--ink-2);font-size:13px}.hint{color:var(--muted);font-size:12px;line-height:1.45}.dropdown{position:relative}.dropdown-trigger{text-align:left;cursor:pointer;justify-content:space-between;align-items:baseline;gap:10px;display:flex}.dropdown-panel{z-index:30;background:var(--paper);border:1px solid var(--ink);max-height:260px;padding:4px 0;position:absolute;top:calc(100% + 2px);left:0;right:0;overflow-y:auto}.dropdown-option{cursor:pointer;align-items:center;gap:10px;padding:8px 12px;font-size:15px;display:flex}.dropdown-option:hover{background:var(--wash)}.dropdown-option input{width:auto;accent-color:var(--ink);margin:0}.toggle{cursor:pointer;align-items:center;gap:10px;padding:4px 0;font-size:15px;display:flex}.toggle input{width:auto;accent-color:var(--ink);margin:0}.toggle input:disabled{cursor:progress}input:not([type=checkbox]),select,.dropdown-trigger{font:inherit;font-variant-numeric:tabular-nums;color:var(--ink);background-color:var(--wash);border:0;border-radius:0;width:100%;padding:9px 10px;font-size:16px}select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.75 6 6.25 11 1.75' fill='none' stroke='%235d5a4e' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;background-size:12px 8px;padding-right:34px}:root[data-theme=dark] select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.75 6 6.25 11 1.75' fill='none' stroke='%23a9a496' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}.dropdown-trigger{align-items:center;padding-right:14px}.dropdown-trigger .chevron{width:12px;height:8px;color:var(--ink-2);flex:none}.dropdown-trigger[aria-expanded=true] .chevron{transform:rotate(180deg)}input:not([type=checkbox]):focus,select:focus,.dropdown-trigger:focus-visible{box-shadow:inset 0 0 0 1.5px var(--ink);outline:0}input:disabled{color:var(--muted)}.field-pair{grid-template-columns:1fr 1fr;gap:16px;display:grid}.btn{font-family:var(--serif);border:1.5px solid var(--ink);cursor:pointer;background:var(--ink);color:var(--paper);border-radius:0;padding:10px 18px;font-size:15px;font-weight:600}.btn:disabled{opacity:.35;cursor:default}.btn-secondary{color:var(--ink);background:0 0}.btn-danger{color:var(--neg);border-color:var(--neg);background:0 0}.btn-small{border-width:1px;padding:4px 11px;font-size:13px}.btn-row{gap:10px;margin-top:20px;display:flex}.btn-row .btn{flex:1}.overlay{z-index:50;background:#00000073;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--paper);border-top:2px solid var(--ink);width:100%;max-width:640px;max-height:92dvh;padding:20px 20px calc(20px + env(safe-area-inset-bottom));animation:.16s ease-out rise;overflow-y:auto}@keyframes rise{0%{opacity:0;transform:translateY(12px)}}.sheet h2{font-family:var(--serif);margin:0 0 16px;font-size:19px;font-weight:600}.chart{touch-action:pan-y;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;width:100%}.chart text{pointer-events:none}.chart .gridline{stroke:var(--rule);stroke-width:1px}.chart .zero-line{stroke:var(--rule-strong);stroke-width:1px;stroke-dasharray:2 3}.chart .line{fill:none;stroke:var(--ink);stroke-width:1.5px;stroke-linejoin:round;stroke-linecap:round}.chart .dot{fill:var(--paper);stroke:var(--ink);stroke-width:1.5px}.chart .dot.filled{fill:var(--ink)}.chart .dot.below{stroke:var(--neg);fill:var(--neg)}.chart .tick{fill:var(--muted);font-variant-numeric:tabular-nums;font-size:10px}.chart .series-label{fill:var(--ink-2);font-family:Iowan Old Style,Charter,Georgia,serif;font-size:10px}.chart .marker{fill:var(--ink);stroke:var(--paper);stroke-width:2px}.chart .marker.below{fill:var(--neg)}.chart .crosshair{stroke:var(--rule-strong);stroke-width:1px}.chart-detail{border-top:1px solid var(--rule);margin-top:10px;padding-top:10px;font-size:13px;display:grid}.chart-detail>*{grid-area:1/1}.detail-layer[data-hidden=true]{visibility:hidden;pointer-events:none}.tooltip-month{font-family:var(--serif);margin-bottom:5px;font-weight:600}.tooltip-row{min-height:19px;color:var(--ink-2);font-variant-numeric:tabular-nums;justify-content:space-between;gap:14px;display:flex}.tooltip-row.item{min-height:17px;padding-left:12px;font-size:12px}.tooltip-row span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tooltip-row.total{border-top:1px solid var(--rule-strong);color:var(--ink);margin-top:5px;padding-top:5px}.legend{flex-wrap:wrap;gap:2px 16px;margin-bottom:4px;display:flex}.legend-item{color:var(--ink-2);align-items:baseline;font-size:12px;display:inline-flex}.legend-item em{font-family:var(--serif);color:var(--muted);margin-left:5px;font-style:italic}.swatch{display:none}.chip-row{flex-wrap:wrap;gap:6px 14px;margin-bottom:14px;display:flex}.chip{font-family:var(--serif);color:var(--muted);cursor:pointer;text-decoration-line:line-through;-webkit-text-decoration-color:var(--rule-strong);text-decoration-color:var(--rule-strong);background:0 0;border:0;padding:2px 0;font-size:13px}.chip.on{color:var(--ink);box-shadow:inset 0 -1.5px 0 var(--ink);text-decoration-line:none}.scroll-x{overflow-x:auto}.table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:13.5px}.table th{font-family:var(--serif);text-align:right;color:var(--muted);white-space:nowrap;padding:0 0 7px 18px;font-size:12.5px;font-style:italic;font-weight:400}.table th:first-child,.table td:first-child{text-align:left;padding-left:0}.table td{text-align:right;border-top:1px solid var(--rule);white-space:nowrap;padding:6px 0 6px 18px}.estimate{color:var(--muted)}.banner{border-top:1.5px solid var(--ink);border-bottom:1px solid var(--rule);padding:14px 0}.banner-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.banner-title{font-family:var(--serif);font-size:14px;font-weight:600}.banner-close{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0 2px;font-size:20px;line-height:1}.ask{border-bottom:1px solid var(--rule);margin-bottom:4px;padding-bottom:16px}.ask-text{color:var(--ink-2);margin:4px 0 10px;font-size:14px}.ask-input{align-items:stretch;gap:12px;margin-bottom:6px;display:flex}.ask-input .btn{flex:none}.note{font-family:var(--serif);color:var(--ink-2);border-left:2px solid var(--rule-strong);padding:10px 0 10px 12px;font-size:13px;font-style:italic;line-height:1.5}.note.error{color:var(--neg);border-left-color:var(--neg);font-style:normal}.landing{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:18px;min-height:100dvh;padding:32px 24px;display:flex}.landing-mark{font-family:var(--serif);letter-spacing:-.045em;color:var(--ink);font-size:64px;font-weight:600;line-height:1}.landing-dot{color:var(--neg)}.landing-line{font-family:var(--serif);color:var(--ink-2);margin:0;font-size:15px;font-style:italic}.landing-link{appearance:none;color:var(--ink-2);cursor:pointer;border:0;border-bottom:1px solid var(--rule-strong);background:0 0;margin-top:6px;padding:6px 2px;font-family:inherit;font-size:15px}.landing-link:hover{color:var(--ink)}.landing-button{border-radius:4px;justify-content:center;width:280px;height:40px;min-height:40px;margin-top:6px;display:flex;overflow:hidden}.landing-error{margin-top:8px}.onboarding{max-width:460px;margin:0 auto;padding:56px 24px}.onboarding h1{font-family:var(--serif);letter-spacing:-.02em;margin:0 0 8px;font-size:30px;font-weight:600}.lead{color:var(--ink-2);margin:0 0 30px;font-size:14.5px;line-height:1.55}
