*{box-sizing:border-box}html,body{background:var(--page);color:var(--text);margin:0}body{-webkit-text-size-adjust:100%;font:17px/1.35 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}button,input,select{font:inherit;color:inherit}.screen{max-width:480px;min-height:100dvh;padding:0 16px calc(49px + 24px + env(safe-area-inset-bottom));margin:0 auto}.bar{min-height:44px;padding-top:env(safe-area-inset-top);grid-template-columns:1fr auto 1fr;align-items:center;margin-bottom:8px;display:grid}.bar h1{text-align:center;margin:0;font-size:17px;font-weight:600}.bar-side{min-width:0;display:flex}.bar-side .link{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.bar-side.end{justify-content:flex-end}main{flex-direction:column;gap:16px;display:flex}section{flex-direction:column;gap:8px;display:flex}h2{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:8px 0;font-size:13px;font-weight:600}.lede,.empty{color:var(--muted);margin:0}.problem{color:var(--danger);margin:0}.card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px}.stack{flex-direction:column;gap:8px;display:flex}label{color:var(--muted);font-size:15px}input,select{background:var(--page);border:1px solid var(--line);border-radius:8px;min-height:44px;padding:8px 12px;font-size:17px}input.code{letter-spacing:.3em;text-align:center;font-variant-numeric:tabular-nums;font-size:28px}.fixed{align-items:center;min-height:44px;margin:0;display:flex}.btn{cursor:pointer;border:1px solid #0000;border-radius:12px;width:100%;min-height:48px;padding:0 16px;font-weight:600}.btn.primary{background:var(--accent);color:var(--onAccent)}.btn.secondary{background:var(--surface);color:var(--accent);border-color:var(--line)}.btn.danger{background:var(--surface);color:var(--danger);border-color:var(--line)}.btn:disabled{opacity:.5;cursor:default}a.btn{justify-content:center;align-items:center;text-decoration:none;display:flex}.link{color:var(--accent);cursor:pointer;background:0 0;border:0;min-height:44px;padding:0}.link.danger{color:var(--danger)}.list{background:var(--surface);border:1px solid var(--line);border-radius:12px;margin:0;padding:0;list-style:none}.list>li+li{border-top:1px solid var(--line)}.row{text-align:left;background:0 0;border:0;grid-template-rows:auto auto;grid-template-columns:1fr auto;align-items:center;column-gap:8px;width:100%;min-height:44px;padding:12px 16px;display:grid}button.row{cursor:pointer}button.row:after{content:"";border-top:2px solid var(--muted);border-right:2px solid var(--muted);grid-area:1/2/span 2;place-self:center end;width:8px;height:8px;margin-right:3px;transform:rotate(45deg)}button.row.txn:after{content:none}.row.single{grid-template-rows:auto}.row.single .row-main,.row.single:after{grid-row:1}.row.edit{grid-template-rows:auto}.row.edit .row-actions{grid-row:1}.row-main{grid-column:1}.row-sub{color:var(--muted);grid-column:1;font-size:15px}.row>.link{grid-area:1/2/span 2}.tag{color:var(--accent);margin-left:8px;font-size:13px;font-weight:600}.closed summary{color:var(--muted);cursor:pointer;align-items:center;min-height:44px;display:flex}.amount{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;grid-area:1/2/span 2}.amount.in{color:var(--accent)}.txn .row-main{overflow-wrap:anywhere}.sample{background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow-x:auto}.sample table{border-collapse:collapse;font-variant-numeric:tabular-nums;font-size:13px}.sample td{border-bottom:1px solid var(--line);white-space:nowrap;text-overflow:ellipsis;max-width:220px;padding:6px 8px;overflow:hidden}.sample tr.head td{font-weight:600}.sample th{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;padding:6px 8px;font-size:11px;font-weight:600}.sample th.used{color:var(--accent)}.sample td.used{background:color-mix(in srgb, var(--accent) 9%, transparent)}.hint{color:var(--muted);margin:-8px 0 0;font-size:15px}.sample tr.skipped td{color:var(--muted);text-decoration:line-through}.check{min-height:44px;color:var(--text);align-items:center;gap:8px;font-size:17px;display:flex}.check input{width:22px;height:22px;min-height:0;accent-color:var(--accent);margin:0}fieldset{border:0;margin:0;padding:0}legend{color:var(--muted);padding:0;font-size:15px}.facts{grid-template-columns:auto 1fr;gap:4px 16px;margin:0;display:grid}.facts dt{color:var(--muted)}.facts dd{text-align:right;font-variant-numeric:tabular-nums;margin:0}.tabs{background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);justify-content:center;display:flex;position:fixed;bottom:0;left:0;right:0}.tab{height:49px;color:var(--muted);cursor:pointer;background:0 0;border:0;flex-direction:column;flex:0 160px;justify-content:center;align-items:center;gap:2px;font-size:11px;display:flex;position:relative}.tab.on{color:var(--accent)}.badge{background:var(--danger);min-width:18px;height:18px;color:var(--surface);text-align:center;border-radius:9px;padding:0 5px;font-size:11px;font-weight:600;line-height:18px;position:absolute;top:3px;left:calc(50% + 11px)}.banner{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--danger);width:100%;min-height:44px;color:var(--text);text-align:left;cursor:pointer;border-radius:12px;justify-content:space-between;align-items:center;padding:8px 16px;display:flex}.flag{color:var(--danger);font-weight:600}.txn-item{list-style:none}.row.child .row-main{padding-left:16px}.row-actions{grid-area:1/2/span 2;gap:16px;display:flex}.row input{grid-column:1}.big{margin:0;font-size:28px;font-weight:600}.big .amount{text-align:left}.part{grid-template-columns:1fr 110px;gap:8px;display:grid}.part input{text-align:right;font-variant-numeric:tabular-nums}.month-nav{grid-template-columns:44px 1fr 44px;align-items:center;display:grid}.month-nav .link{min-width:44px;font-size:28px;line-height:1}.month{text-align:center;text-transform:none;letter-spacing:0;color:var(--text);margin:0;font-size:20px;font-weight:600}.row.budget{grid-template-rows:auto auto auto;grid-template-columns:1fr auto;row-gap:6px}.row.budget:after{content:none}.budget-figures{font-variant-numeric:tabular-nums;white-space:nowrap;grid-area:1/2}.meter{background:var(--line);border-radius:4px;grid-area:2/1/auto/span 2;height:8px;display:block;position:relative}.fill{background:var(--accent);border-radius:4px;position:absolute;top:0;bottom:0;left:0}.fill.over{background:var(--danger)}.pace{background:var(--text);border-radius:1px;width:2px;margin-left:-1px;position:absolute;top:-4px;bottom:-4px}.row.budget .row-sub{grid-area:3/1/auto/span 2}.row-sub.problem{color:var(--danger)}.hero{flex-direction:column;gap:4px;display:flex}.hero p{margin:0}.hero-label{color:var(--muted)}.hero-figure{letter-spacing:-.01em;font-size:48px;font-weight:600;line-height:1.1}.up{color:var(--accent)}.down{color:var(--danger)}.chart{position:relative}.chart svg{touch-action:pan-y;display:block;overflow:visible}.chart svg:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:4px}.chart .grid{stroke:var(--line);stroke-width:1px}.chart .zero{stroke:var(--muted);stroke-width:1px}.chart .tick{fill:var(--muted);font-variant-numeric:tabular-nums;font-size:11px}.chart .line{fill:none;stroke:var(--chart);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.chart .wash{fill:var(--chart);opacity:.1}.chart .end{fill:var(--chart);stroke:var(--page);stroke-width:2px}.chart .carried{fill:var(--page);stroke:var(--chart);stroke-width:2px}.chart .end.carried{fill:var(--page)}.chart .cross{stroke:var(--muted);stroke-width:1px}.readout{pointer-events:none;background:var(--surface);border:1px solid var(--line);border-radius:8px;flex-direction:column;width:140px;padding:6px 10px;font-size:13px;display:flex;position:absolute;top:-8px}.readout b{font-variant-numeric:tabular-nums;font-size:15px}.readout span{color:var(--muted)}.table-view summary{color:var(--accent);cursor:pointer;align-items:center;min-height:44px;display:flex}.table-view table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:15px}.table-view th,.table-view td{text-align:right;border-bottom:1px solid var(--line);padding:6px 4px}.table-view th:first-child,.table-view td:first-child{text-align:left}.table-view th{color:var(--muted);font-size:13px;font-weight:600}.stack.tight{gap:4px}.balance-row{border-bottom:1px solid var(--line);padding:12px 0}.balance-row:first-child{padding-top:0}.balance-row:last-child{border-bottom:0;padding-bottom:0}.newtag{color:var(--accent);font-weight:600}.note{margin:0}
