:root{--paper: #f3ecdf;--card: #fffaf3;--ink: #1c1914;--muted: #5e574e;--line: rgba(28, 25, 20, .12);--forest: #1b3a2f;--forest-2: #24493a;--copper: #b8612e;--good: #176b42;--watch: #8a5a10;--alert: #8d2f28;--info: #234863;--shadow: 0 1px 0 rgba(255, 255, 255, .75) inset, 0 12px 32px rgba(70, 48, 22, .06);--sans: "Outfit", "Avenir Next", "Segoe UI", sans-serif;--serif: "Fraunces", "Iowan Old Style", Georgia, serif;--mono: "IBM Plex Mono", ui-monospace, monospace;color:var(--ink);background:var(--paper);font-family:var(--sans);font-size:16px;line-height:1.45}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(1100px 480px at 0% -10%,rgba(184,97,46,.1),transparent 55%),radial-gradient(900px 420px at 100% 0%,rgba(27,58,47,.08),transparent 50%),var(--paper)}button,input,select{font:inherit;color:inherit}button{cursor:pointer}h1,h2,p{margin:0;overflow-wrap:break-word}ul{margin:0;padding:0;list-style:none}:focus-visible{outline:2px solid var(--copper);outline-offset:2px}.skip{position:absolute;left:12px;top:-40px;background:#fff;padding:8px 12px;z-index:20}.skip:focus{top:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.topbar{background:var(--forest);color:#f6f1e7;padding:22px 28px 20px}.topbar-row,.brand-lockup,.toolbar,.section-head,.sheet-head,.sheet-actions,.footer,.pace-top,.hero-stats div{display:flex;gap:12px}.topbar-row{flex-wrap:wrap;align-items:flex-start}.topbar-row,.section-head,.sheet-head,.sheet-actions,.footer,.pace-top{justify-content:space-between;align-items:center}.brand-lockup{align-items:center;gap:14px}.brand-lockup p{color:#f6f1e7c7;max-width:46ch;margin-top:4px}h1{font-family:var(--serif);font-weight:560;font-size:clamp(28px,4vw,40px);letter-spacing:-.03em;line-height:.95}h1 em{font-style:italic;font-weight:520;color:#e7c4a4}.mark{width:34px;height:34px;flex:none;border-radius:9px;background:linear-gradient(135deg,transparent 46%,#e7c4a4 46% 54%,transparent 54%),var(--forest-2);box-shadow:inset 0 0 0 1.5px #f6f1e759}.toolbar{position:sticky;top:0;z-index:5;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:12px 28px;background:#f3ecdfeb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.month-switch{display:flex;align-items:center;gap:8px}.month-switch h2{font-family:var(--serif);font-size:22px;font-weight:560;min-width:11ch;text-align:center}.tabs{display:flex;flex-wrap:wrap;gap:4px}.tabs button,.chips button{border:0;background:transparent;color:var(--muted);border-radius:999px;padding:8px 12px}.tabs button[aria-current=page]{background:var(--forest);color:#f6f1e7}.wrap{width:min(1100px,calc(100% - 32px));margin:0 auto;padding:22px 0 48px}.sample-note,.footnote,.hint,.muted{color:var(--muted)}.sample-note{margin-bottom:14px}.footnote{font-size:14px}.stack{display:grid;gap:16px}.stack>*,.split>*,.insight,.card{min-width:0}.split{display:grid;grid-template-columns:1.3fr .9fr;gap:16px}.card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:var(--shadow)}.card h2,.insight h2{font-family:var(--serif);font-size:26px;font-weight:560;letter-spacing:-.03em}.kicker{font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:650;color:var(--muted)}.figure{font-family:var(--serif);font-size:clamp(44px,7vw,68px);letter-spacing:-.045em;line-height:.92;margin:8px 0 10px;font-variant-numeric:tabular-nums}.lede{max-width:42ch;color:var(--muted)}.lede.tight{margin:0 0 16px;max-width:68ch}.hero{display:grid;grid-template-columns:1.4fr .8fr;gap:18px;align-items:end}.hero-stats{flex-direction:column;gap:10px}.hero-stats div{justify-content:space-between;border-top:1px solid var(--line);padding-top:8px}.hero-stats dt{color:var(--muted)}.hero-stats dd{margin:0;font-variant-numeric:tabular-nums;font-weight:620}.good{color:var(--good)}.bad{color:var(--alert)}.bars{display:grid;gap:8px}.bar-btn,.recent-btn,.plain li{width:100%;display:grid;grid-template-columns:1fr auto;gap:8px 12px;align-items:center;text-align:left;background:transparent;border:0;padding:4px 0}.bar-btn{grid-template-columns:9.5rem 1fr auto}.bar-label,.budget-name,.brand-lockup{display:flex;align-items:center;gap:8px}.swatch{width:9px;height:9px;border-radius:99px;flex:none}.track{display:block;height:8px;border-radius:99px;background:#1c191414;overflow:hidden}.fill{display:block;height:100%;border-radius:inherit}.bar-amt,.amt,.col-amt{font-variant-numeric:tabular-nums;font-family:var(--mono);font-size:13px}.track.ok .fill{background:var(--forest)}.track.warm .fill{background:var(--copper)}.track.over .fill{background:var(--alert)}.pace-list{display:grid;gap:14px}.pace-top{font-size:14px}.recent{display:grid}.recent-btn{grid-template-columns:4.5rem 1fr auto;padding:10px 0;border-top:1px solid var(--line);border-radius:0}.recent-btn span,.plain li span{display:grid}.merchant-btn{background:none;border:0;padding:0;font-weight:640;text-align:left}.merchant-btn:hover,.text-btn:hover{color:var(--copper)}.chips{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.chips button{border:1px solid var(--line);background:#ffffff73}.chips button[aria-pressed=true]{background:var(--forest);color:#f6f1e7;border-color:var(--forest)}.search{min-width:0;flex:1 1 220px;max-width:100%}.search input,.sheet-card input,.sheet-card select,.ask input,.money-input input{width:100%;border:1px solid var(--line);background:#fff;border-radius:10px;padding:9px 10px}.tx-list{display:grid}.tx{display:grid;grid-template-columns:4.4rem minmax(0,1fr) auto;grid-template-areas:"date merchant amt" "cat cat cat";gap:4px 10px;align-items:start;padding:12px 0;border-top:1px solid var(--line)}.tx time{grid-area:date}.tx-main{grid-area:merchant;min-width:0}.tx .cat-select{grid-area:cat}.tx .amt{grid-area:amt;justify-self:end}.cat-select select{width:100%;border-radius:10px;border:1px solid var(--line);background:#fff;padding:8px}.budget-list{display:grid;gap:16px}.budget-row{display:grid;grid-template-columns:1fr;gap:8px;padding-top:12px;border-top:1px solid var(--line)}.money-input{display:flex;align-items:center;gap:6px;max-width:140px}.money-input input{font-variant-numeric:tabular-nums}input[type=number]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.insight-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.insight-grid .insight:last-child:nth-child(odd){grid-column:1 / -1}.insight{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--info);border-radius:18px;padding:16px 16px 18px;box-shadow:var(--shadow)}.insight h2{font-size:22px;margin:6px 0 8px}.tone-good{border-left-color:var(--good)}.tone-watch{border-left-color:var(--watch)}.tone-alert{border-left-color:var(--alert)}.tone-info{border-left-color:var(--info)}.ask form{display:flex;gap:8px;margin-top:10px}.ask form label{flex:1}.answer{margin-top:8px;padding:12px 14px;border-radius:12px;background:#f6f1e7}.chart{height:220px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;align-items:stretch;margin-top:18px;min-width:0}.col{display:grid;grid-template-rows:16px minmax(0,1fr) 18px;height:100%;align-items:stretch;justify-items:center;gap:6px;min-width:0}.col-amt{grid-row:1;align-self:end}.col-bar{grid-row:2;width:min(42px,78%);height:var(--h, 8%);align-self:end;justify-self:center;background:#c8b8a2;border-radius:5px 5px 0 0}.col-label{grid-row:3;align-self:start}.col.current .col-bar{background:var(--forest)}.col-label{font-size:13px;color:var(--muted)}.col-amt{font-size:11px;min-height:1.2em}.plain{display:grid}.plain li{grid-template-columns:1fr auto;padding:10px 0;border-top:1px solid var(--line);align-items:start}.footer{margin-top:22px;flex-wrap:wrap;align-items:center}.footer-actions{display:flex;flex-wrap:wrap;gap:8px 14px}.text-btn,.file-btn{background:none;border:0;padding:0;color:var(--forest);font-weight:600}.file-btn input{display:none}.pad{padding:8px 0 4px}.btn{border-radius:999px;border:1px solid transparent;padding:10px 16px;font-weight:620}.btn-primary,.btn-cream{background:var(--forest);color:#f6f1e7}.btn-cream{background:#f6f1e7;color:var(--forest)}.btn-ghost{background:transparent;border-color:var(--line)}.btn-danger{background:transparent;color:var(--alert);padding-left:0}.icon-btn{width:34px;height:34px;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--ink);display:inline-flex;align-items:center;justify-content:center;line-height:0;padding:0}.icon-btn:disabled{opacity:.35;cursor:not-allowed}.sheet{border:0;padding:0;background:transparent;width:min(520px,calc(100% - 24px))}.sheet::backdrop{background:#1c19147a}.sheet-card{background:var(--card);border-radius:18px;padding:16px;display:grid;gap:10px;box-shadow:var(--shadow);max-height:calc(100dvh - 24px);overflow:auto}.sheet-card label,.ask label{display:grid;gap:6px;font-size:14px;font-weight:600}.split-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.kind-toggle{display:grid;grid-template-columns:1fr 1fr;gap:6px}.kind-toggle button{border:1px solid var(--line);background:transparent;border-radius:999px;padding:8px}.kind-toggle button[aria-pressed=true]{background:var(--forest);color:#f6f1e7;border-color:var(--forest)}.sheet-actions-right{display:flex;gap:8px}.form-error{color:var(--alert);margin:0}.hint{font-size:13px}.empty{display:grid;gap:10px;justify-items:start}.toast{position:fixed;bottom:18px;left:50%;transform:translate(-50%);background:var(--ink);color:#f6f1e7;padding:10px 14px;border-radius:999px;z-index:30}@media(max-width:800px){.topbar,.toolbar{padding-left:16px;padding-right:16px}.section-head{flex-wrap:wrap;align-items:stretch}.search{flex-basis:100%}.col-amt{display:none}.col{grid-template-rows:minmax(96px,1fr) 18px}.col-bar{grid-row:1}.col-label{grid-row:2}.topbar-row,.hero,.split,.insight-grid{grid-template-columns:1fr;display:grid}.topbar-row{display:flex}.bar-btn{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"label amt" "track track"}.bar-label{grid-area:label}.bar-amt{grid-area:amt}.bar-btn .track{grid-area:track}.hero{align-items:stretch}.ask form,.split-fields{grid-template-columns:1fr;display:grid}.month-switch h2{min-width:0;font-size:18px}}@media(min-width:800px){.tx{grid-template-columns:5.5rem minmax(0,1fr) 11rem auto;grid-template-areas:"date merchant cat amt";align-items:center}.budget-row{grid-template-columns:11rem 9rem 1fr;align-items:center}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
