:root{--bg:#f0eee6;--surface:#faf9f5;--ink:#1a1915;--ink-soft:#6e6a60;--accent:#d97757;--accent-soft:#f3e0d8;--radius:14px;--ease:cubic-bezier(.22, 1, .36, 1)}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}main{max-width:34rem;padding:max(1.25rem, env(safe-area-inset-top)) 1.25rem 4rem;margin:0 auto}header{justify-content:space-between;align-items:baseline;margin-bottom:1rem;display:flex}h1{letter-spacing:-.01em;margin:0;font-family:ui-serif,Georgia,serif;font-size:1.35rem;font-weight:500}.ghost{color:var(--ink-soft);cursor:pointer;background:0 0;border:0;min-width:44px;min-height:44px;padding:.5rem;font-size:1rem}.settings{margin-bottom:1rem}.settings label{color:var(--ink-soft);font-size:.8rem;display:block}.settings input{border-radius:var(--radius);background:var(--surface);width:100%;font:inherit;border:1px solid #ddd8cc;margin-top:.35rem;padding:.65rem .8rem;display:block}form{align-items:stretch;gap:.5rem;display:flex}textarea{resize:none;border-radius:var(--radius);background:var(--surface);font:inherit;transition:border-color .2s var(--ease), box-shadow .2s var(--ease);border:1px solid #ddd8cc;flex:1;padding:.9rem 1rem;font-size:1.05rem;line-height:1.45}textarea::placeholder{color:var(--ink-soft);font-family:ui-serif,Georgia,serif;font-style:italic}textarea:focus{border-color:var(--ink-soft);outline:none;box-shadow:0 0 0 3px #1a191512}form button[type=submit]{border-radius:var(--radius);background:var(--ink);color:var(--surface);font:inherit;cursor:pointer;min-height:44px;transition:transform .15s var(--ease), opacity .15s var(--ease);border:0;padding:0 1.1rem;font-size:.95rem}form button[type=submit]:active{transform:scale(.96)}.confirm{border-radius:var(--radius);background:var(--accent-soft);color:var(--ink);animation:pop .3s var(--ease);margin:.9rem 0 0;padding:.7rem 1rem;font-size:.95rem}.confirm .ghost{color:var(--accent);align-items:center;min-height:44px;padding:0 .25rem;font-size:.9rem;display:inline-flex}.entries{flex-direction:column;gap:.5rem;margin:1.25rem 0 0;padding:0;list-style:none;display:flex}.row{background:var(--surface);border-radius:var(--radius);min-height:44px;animation:slide-in .25s var(--ease);flex-wrap:wrap;align-items:center;gap:.6rem;padding:.8rem 1rem;display:flex}.row .text{flex:1;min-width:8rem}.row .emoji{font-size:1.1rem}.row .amount{font-variant-numeric:tabular-nums;color:var(--ink-soft)}.editable{cursor:pointer;transition:border-color .15s var(--ease);border-bottom:1px dashed #0000}.editable:hover{border-bottom-color:var(--ink-soft)}.row input{font:inherit;border:1px solid var(--accent);background:var(--surface);border-radius:8px;max-width:10rem;padding:.2rem .5rem}.row input.amount-input{max-width:6rem}.unfiled{cursor:pointer;background:0 0;border:1px dashed #cfc9ba}.unfiled .hint{color:var(--accent);font-family:ui-serif,Georgia,serif;font-size:.8rem;font-style:italic;animation:2.4s ease-in-out infinite breathe}.flagged{box-shadow:inset 3px 0 0 var(--accent)}.chip{background:var(--bg);font:inherit;cursor:pointer;min-width:44px;min-height:44px;transition:transform .15s var(--ease), background .15s var(--ease), border-color .15s var(--ease), color .15s var(--ease);border:1px solid #ddd8cc;border-radius:999px;padding:.5rem .9rem;font-size:.85rem}.chip:active{transform:scale(.94)}.chip.active{background:var(--accent-soft);border-color:var(--accent)}.chip.danger{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.picker{animation:pop .2s var(--ease);flex-wrap:wrap;flex-basis:100%;gap:.4rem;padding-top:.5rem;display:flex}@keyframes slide-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}@keyframes pop{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}@keyframes breathe{0%,to{opacity:.55}50%{opacity:1}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
