@import "https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,600;12..96,700;12..96,800&family=IBM+Plex+Mono:wght@400;500;600&family=Inter:wght@400;500;600;700&display=swap";:root{--paper:#0a0a0a;--card:#171717;--card2:#232323;--rule:#232323;--soft:#ffffff14;--hair:#ffffff1a;--ink:#eae5d7;--ink2:#a3a097;--ink3:#706e68;--mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--display:"Bricolage Grotesque", ui-sans-serif, system-ui, sans-serif;--a:#2dd4a7;--b:#ff7a6b;--warn:#e8b04b;--beam:#22d3ee;--sun:linear-gradient(105deg, #9ad9f0 0%, #b9c4f2 38%, #d9b6ea 68%, #f6b4d2 100%);--r:16px;--r-sm:8px;--ts-chart-1:#2dd4a7;--ts-chart-2:#ff7a6b;--ts-chart-3:#e8b04b;--ts-chart-4:#60a5fa;--ts-chart-5:#c084fc;--ts-chart-6:#22d3ee}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;background:var(--paper)}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,system-ui,sans-serif;font-size:15px;line-height:1.55}.wrap{max-width:1040px;margin:0 auto;padding:20px 18px 80px}.mast{background:var(--sun);border-radius:var(--r);color:#0a0a0a;margin-bottom:16px;padding:26px 26px 24px}.mast h1{font-family:var(--display);letter-spacing:-.035em;color:#0a0a0a;margin:8px 0 0;font-size:clamp(28px,6vw,46px);font-weight:800;line-height:1.02}.mast .eyebrow{color:#0a0a0a;opacity:.62}.eyebrow{font-family:var(--mono);letter-spacing:.11em;text-transform:uppercase;color:var(--ink3);font-size:11px}h3.section{font-family:var(--display);letter-spacing:-.02em;margin:30px 0 10px;font-size:17px;font-weight:700}.tabs{background:var(--card);border:1px solid var(--rule);border-radius:999px;gap:4px;margin-bottom:22px;padding:5px;display:flex}.tabs a{text-align:center;min-width:0;font-family:var(--display);color:var(--ink2);white-space:nowrap;border-radius:999px;flex:1;padding:9px 12px;font-size:13.5px;font-weight:600;text-decoration:none;transition:background .15s,color .15s}.tabs a:hover{background:var(--card2);color:var(--ink)}.tabs a.on{background:var(--ink);color:#0a0a0a}select,input[type=text],input[type=number]{font-family:var(--mono);border:1px solid var(--rule);background:var(--card2);color:var(--ink);border-radius:var(--r-sm);max-width:100%;padding:8px 10px;font-size:13px}select:focus-visible,input:focus-visible,button:focus-visible,.tabs a:focus-visible{outline:2px solid var(--beam);outline-offset:2px}input[type=number]{text-align:right;width:104px}button.act{font-family:var(--display);background:var(--ink);color:#0a0a0a;cursor:pointer;border:1px solid #0000;border-radius:999px;padding:9px 18px;font-size:13.5px;font-weight:600}button.act.ghost{color:var(--ink);border-color:var(--rule);background:0 0}button.act.ghost:hover{background:var(--card2)}button.act:disabled{opacity:.35;cursor:not-allowed}button.mini{border:1px solid var(--rule);background:var(--card2);color:var(--ink2);cursor:pointer;font-size:11px;font-family:var(--mono);border-radius:999px;padding:4px 10px}button.mini:hover{color:var(--ink);border-color:var(--ink3)}.monthbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:18px;display:flex}.cards{grid-template-columns:repeat(auto-fit,minmax(168px,1fr));gap:12px;margin-bottom:22px;display:grid}.c{background:var(--card);border:1px solid var(--rule);border-radius:var(--r);padding:16px 18px}.c .k{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink3);font-size:10px}.c .v{font-family:var(--display);letter-spacing:-.03em;font-variant-numeric:tabular-nums;margin-top:4px;font-size:30px;font-weight:800}.c.pos .v{color:var(--a)}.c.neg .v{color:var(--b)}.c .s{color:var(--ink2);margin-top:2px;font-size:12px}.acct{background:var(--card);border:1px solid var(--rule);border-radius:var(--r);margin-bottom:12px;overflow:hidden}.acct>h3{font-family:var(--display);letter-spacing:-.01em;border-bottom:1px solid var(--hair);justify-content:space-between;align-items:baseline;gap:12px;margin:0;padding:14px 18px;font-size:15px;font-weight:700;display:flex}.acct>h3>span:last-child{font-family:var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:14px;font-weight:600}.acct .wk{font-family:var(--mono);letter-spacing:.04em;color:var(--ink3);text-align:right;margin-top:3px;font-size:10.5px;font-weight:400;display:block}.acct .bsb{font-family:var(--mono);color:var(--ink3);letter-spacing:.04em;margin-top:3px;font-size:10.5px;font-weight:400;display:block}table{border-collapse:collapse;width:100%}th{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink3);text-align:right;border-bottom:1px solid var(--hair);padding:9px 18px 6px;font-size:10px;font-weight:500}th:first-child{text-align:left}td{border-bottom:1px solid var(--hair);padding:8px 18px;font-size:14px}td:not(:first-child){text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums}tr:last-child td{border-bottom:0}td.figs{display:none}.var-ok{color:var(--a)}.var-bad{color:var(--b)}.muted{color:var(--ink3)}.nowrap{white-space:nowrap}input[type=text].match{width:100%;min-width:210px;padding:6px 8px;font-size:12.5px}.acct select{max-width:200px}.acct td .mini+.mini{margin-left:4px}.match+.eyebrow{text-align:left;margin-top:4px;display:block}.pbar{background:var(--soft);border-radius:999px;height:4px;margin-top:6px;overflow:hidden}.pbar i{background:var(--a);border-radius:999px;height:100%;display:block}.pbar i.over{background:var(--b)}tr.vline{cursor:pointer}tr.vline:hover{background:#ffffff08}tr.vline.open td{border-bottom:0}.vline-btn{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;margin:0;padding:0;display:flex}.vline-btn:focus-visible{outline:2px solid var(--beam);outline-offset:3px;border-radius:4px}.chev{border-right:1.6px solid var(--ink3);border-bottom:1.6px solid var(--ink3);flex:none;width:.42em;height:.42em;margin-right:2px;transition:transform .15s;transform:rotate(-45deg)}.vline.open .chev{margin-top:-2px;transform:rotate(45deg)}tr.vdetail td{background:#ffffff06;padding-top:2px;padding-bottom:12px}.rollup{margin:0;padding:2px 0 0;list-style:none}.rollup-row{border-bottom:1px solid var(--hair);grid-template-columns:96px 1fr auto;align-items:baseline;gap:12px;padding:7px 0;font-size:13px;display:grid}.rollup-row:last-child{border-bottom:0}.rollup-row .d{white-space:nowrap;color:var(--ink3);font-family:var(--mono);font-size:11.5px}.rollup-row .desc{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rollup-row .amt{font-family:var(--mono);font-variant-numeric:tabular-nums;text-align:right}.rollup-row .acct-tag{font-family:var(--mono);letter-spacing:.03em;color:var(--ink3);margin-left:8px;font-size:10px;display:inline-block}.rollup-empty{color:var(--ink3);margin:0;padding:6px 0 2px;font-size:13px}.drop{border:1.5px dashed var(--rule);background:var(--card);border-radius:var(--r);text-align:center;cursor:pointer;font-family:var(--display);letter-spacing:-.02em;margin-bottom:16px;padding:34px 20px;font-size:17px;font-weight:700;transition:border-color .15s,background .15s;display:block}.drop:hover,.drop.over{border-color:var(--beam);background:var(--card2)}.drop p{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);margin:6px 0 0;font-size:11px;font-weight:400}.drop input{display:none}.note{background:var(--card);border:1px solid var(--rule);border-left:3px solid var(--warn);border-radius:var(--r-sm);color:var(--ink2);margin-bottom:16px;padding:13px 16px;font-size:13.5px}.note b,.note strong{color:var(--ink);font-weight:600}.note p{margin:0}.note p+p{margin-top:8px}.note code{font-family:var(--mono);font-size:12.5px}.err{border-left-color:var(--b)}.ok{border-left-color:var(--a)}.spin{font-family:var(--mono);color:var(--ink3);padding:14px 0;font-size:12px}.txnwrap{background:var(--card);border:1px solid var(--rule);border-radius:var(--r);height:460px;overflow:auto}.txnrow{box-sizing:border-box;border-bottom:1px solid var(--hair);grid-template-columns:5.75rem minmax(0,1.25fr) 6.75rem minmax(11rem,1fr) 2rem;align-items:center;gap:4px 16px;width:100%;min-height:44px;padding:8px 16px;font-size:13px;display:grid;position:absolute;top:0;left:0}.txnrow .d{white-space:nowrap;color:var(--ink3);font-family:var(--mono);font-size:11.5px}.txnrow .desc{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.txnrow .amt{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--b)}.txnrow .amt.credit{color:var(--a)}.txnrow .catwrap{min-width:0}.txnrow .acct-tag{font-family:var(--mono);letter-spacing:.03em;color:var(--ink3);margin-left:8px;font-size:10px;display:inline-block}select.cat{width:100%;max-width:100%;padding:5px 8px;font-size:11.5px}.txnrow.flagged{box-shadow:inset 3px 0 0 var(--warn);background:#e8b04b0f}button.dupflag{vertical-align:1px;font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--warn);border:1px solid var(--warn);cursor:pointer;white-space:nowrap;background:0 0;border-radius:999px;margin-left:8px;padding:1px 7px;font-size:9.5px}button.dupflag:hover{background:var(--warn);color:#0a0a0a}button.del{color:var(--ink3);cursor:pointer;border-radius:var(--r-sm);background:0 0;border:0;padding:4px 6px;font-size:17px;line-height:1}button.del:hover{color:var(--b);background:var(--card2)}.chartcard{background:var(--card);border:1px solid var(--rule);border-radius:var(--r);color:var(--ink);margin-bottom:12px;padding:18px 18px 20px}.chartcard h3{font-family:var(--display);letter-spacing:-.02em;margin:0 0 3px;font-size:16px;font-weight:700}.chartcard .sub{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink3);margin:0 0 16px;font-size:10.5px}.codebox{background:var(--card);border:1px solid var(--rule);border-radius:var(--r);max-height:360px;font-family:var(--mono);margin-bottom:12px;padding:14px 16px;font-size:12px;line-height:1.6;overflow:auto}.codebox pre,.codebox code{font-family:var(--mono);margin:0}footer{border-top:1px solid var(--rule);font-family:var(--mono);letter-spacing:.06em;color:var(--ink3);flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:36px;padding-top:16px;font-size:11px;display:flex}.kbd{font-family:var(--mono);border:1px solid var(--rule);background:var(--card2);color:var(--ink2);border-radius:5px;padding:2px 6px;font-size:10px}@media (width<=720px){.wrap{padding:12px 12px 72px}.mast{padding:20px 18px 18px}.tabs{scrollbar-width:none;z-index:5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:sticky;top:8px;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tabs a{flex:none;padding:10px 18px}th,td{padding-left:14px;padding-right:14px}.hide-s,table.vtable thead{display:none}table.vtable,table.vtable tbody,table.vtable tr,table.vtable td{width:100%;display:block}table.vtable tr{border-bottom:1px solid var(--hair);padding:12px 14px}table.vtable tr:last-child{border-bottom:0}table.vtable td{text-align:left;border:0;padding:0}table.vtable td.figs{font-family:var(--mono);font-variant-numeric:tabular-nums;justify-content:space-between;gap:8px;margin-top:8px;font-size:12px;display:flex}table.vtable td.figs span:before{content:attr(data-k) " ";color:var(--ink3);letter-spacing:.12em;text-transform:uppercase;font-size:9.5px}table.vtable td.hide-s{display:none}input[type=number]{width:96px}.txnwrap{height:62vh}.txnrow{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"date amt""desc desc""cat del";align-items:start;gap:8px 14px;min-height:0;padding:12px 16px}.txnrow .d{grid-area:date}.txnrow .desc{white-space:normal;text-overflow:unset;grid-area:desc;overflow:visible}.txnrow .acct-tag{margin:4px 0 0;display:block}.txnrow .amt{grid-area:amt;place-self:start end;font-size:14px}.txnrow .catwrap{grid-area:cat;min-width:0;margin-top:0}.txnrow .delwrap{grid-area:del;align-self:center;margin-top:0;padding-left:10px}.txnrow select.cat{padding:7px 8px;font-size:12.5px}table.vtable tr.vline.open{border-bottom:0;padding-bottom:4px}table.vtable tr.vdetail{background:#ffffff06;padding-top:0;padding-bottom:10px}table.vtable tr.vdetail td{background:0 0;padding:0}.vline-btn{min-height:28px}.rollup-row{grid-template-columns:1fr auto;grid-template-areas:"date amt""desc amt";align-items:start;row-gap:2px;padding:8px 0}.rollup-row .d{grid-area:date}.rollup-row .desc{white-space:normal;grid-area:desc}.rollup-row .amt{grid-area:amt;align-self:center;font-size:13.5px}.rollup-row .acct-tag{margin:2px 0 0;display:block}footer{background:var(--paper);padding-bottom:8px;position:sticky;bottom:0}}@media (width<=420px){.cards{grid-template-columns:1fr 1fr}.c{padding:13px 14px}.c .v{font-size:23px}.acct>h3{padding:12px 14px;font-size:14px}}
