:root{--deep:#0a3323;--teal:#105666;--moss:#839958;--beige:#f7f4d5;--rose:#d3968c;--over:#c4606a;--card:#10566661;--line:#f7f4d524;--muted:#b4c0a0;--serif:ui-serif, "New York", Georgia, "Times New Roman", serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{background:var(--deep)}body{color:var(--beige);background:radial-gradient(circle at 12% 8%, #d3968c38, transparent 38%), radial-gradient(circle at 92% 30%, #83995833, transparent 40%), radial-gradient(circle at 20% 95%, #105666b3, transparent 50%), var(--deep);background-attachment:fixed;min-height:100dvh;margin:0;font:16px/1.4 system-ui,-apple-system,sans-serif}body:before{content:"";pointer-events:none;opacity:.5;background-image:radial-gradient(1.5px 1.5px at 18% 22%, var(--beige), transparent), radial-gradient(1px 1px at 72% 12%, var(--beige), transparent), radial-gradient(1.5px 1.5px at 88% 64%, var(--rose), transparent), radial-gradient(1px 1px at 34% 78%, var(--beige), transparent), radial-gradient(1.5px 1.5px at 60% 46%, var(--moss), transparent), radial-gradient(1px 1px at 8% 56%, var(--rose), transparent);position:fixed;inset:0}button,input{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0}.app{max-width:560px;min-height:100dvh;padding:env(safe-area-inset-top) 14px calc(104px + env(safe-area-inset-bottom));margin:0 auto;position:relative}.topbar{justify-content:space-between;align-items:center;padding:14px 0 10px;display:flex}.topbar h1{font:italic 400 1.6rem var(--serif);letter-spacing:.01em;margin:0}.topbar h1:before{content:"🪷 ";font-style:normal}.topbar button{background:var(--card);border:1px solid var(--line);width:40px;height:40px;color:var(--rose);border-radius:50%;font-size:1.6rem}.card{background:var(--card);border:1px solid var(--line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:26px;margin-bottom:14px;padding:18px}.card h2{font:italic 400 1.1rem var(--serif);color:var(--rose);margin:0 0 12px}.card h2:first-letter{text-transform:uppercase}.empty{color:var(--muted);text-align:center;font-family:var(--serif);padding:32px 0;font-style:italic}.pos{color:var(--moss);filter:brightness(1.25)}.neg{color:var(--rose)}small{color:var(--muted)}.balance{text-align:center;background:linear-gradient(160deg, #d3968c38, var(--card));flex-direction:column;align-items:center;gap:4px;display:flex}.balance>span{color:var(--muted);font:italic 1rem var(--serif)}.balance>strong{font:400 2.6rem var(--serif)}.split{text-align:center;gap:32px;margin-top:8px;display:flex}.split small{display:block}.bar-head{justify-content:space-between;align-items:baseline;margin-bottom:8px;display:flex}.bar-row{margin-bottom:16px}.bar-row:last-child{margin-bottom:0}.bar{background:#0a3323b3;border-radius:6px;height:10px;overflow:hidden}.bar i{background:linear-gradient(90deg, var(--moss), #a9bf72);border-radius:6px;height:100%;display:block}.bar i.warn{background:linear-gradient(90deg, var(--rose), #e6b3a8)}.bar i.over{background:var(--over)}.row{text-align:left;border-top:1px dashed var(--line);align-items:center;gap:12px;width:100%;padding:11px 0;display:flex}.row:first-of-type{border-top:0}.row .emoji{font-size:1.5rem}.row .grow{flex:1}.row small{display:block}.budget{align-items:center;gap:12px;display:flex}.budget-main{text-align:left;flex:1;min-width:0}.budget .left{font:400 1.35rem var(--serif);margin-bottom:8px}.add-chip{background:var(--rose);color:var(--deep);white-space:nowrap;border-radius:18px;align-self:flex-start;padding:6px 12px;font-size:.85rem;font-weight:600}.dashed{border:1.5px dashed var(--rose);width:100%;color:var(--rose);font:italic 1.05rem var(--serif);border-radius:24px;padding:16px}.todo{border-top:1px dashed var(--line);align-items:center;gap:12px;padding:10px 0;display:flex}.todo:first-child{border-top:0}.todo .grow{text-align:left;flex:1}.todo .grow small{display:block}.todo.done .grow span,.todo.done b{opacity:.55;text-decoration:line-through}.check{border:2px solid var(--rose);background:#0a332380;border-radius:50%;flex:none;place-items:center;width:34px;height:34px;font-size:1.2rem;display:grid}.todo.done .check{background:var(--rose);border-color:var(--rose)}.tabs{left:14px;right:14px;bottom:calc(12px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--line);background:#0a3323e0;border-radius:30px;max-width:532px;margin:0 auto;padding:6px;display:flex;position:fixed}.tabs button{color:var(--muted);border-radius:24px;flex-direction:column;flex:1;align-items:center;gap:1px;padding:7px 0;font-size:.68rem;display:flex}.tabs button span{font-size:1.3rem}.tabs button.active{color:var(--beige);background:var(--teal)}.fab{right:max(20px,50% - 266px);bottom:calc(96px + env(safe-area-inset-bottom));background:linear-gradient(145deg, #e6b3a8, var(--rose));width:58px;height:58px;color:var(--deep);border-radius:50%;font-size:2rem;position:fixed;box-shadow:0 0 0 5px #d3968c38,0 8px 22px #00000059}.sheet-backdrop{z-index:10;background:#051911b3;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:linear-gradient(180deg, #11493f, var(--deep));border:1px solid var(--line);width:100%;max-width:560px;padding:18px 18px calc(18px + env(safe-area-inset-bottom));border-radius:30px 30px 0 0;flex-direction:column;gap:12px;max-height:92dvh;display:flex;overflow-y:auto}.sheet h3{text-align:center;font:italic 400 1.25rem var(--serif);color:var(--rose);margin:0}.sheet input{border:1px solid var(--line);background:#0a3323b3;border-radius:16px;width:100%;padding:12px 14px}.sheet input:focus{outline:2px solid var(--rose);outline-offset:1px}.sheet .amount{font:400 2rem var(--serif);text-align:center}.hint{text-align:center;color:var(--muted);margin:-6px 0 0}.field{color:var(--muted);flex-direction:column;gap:6px;font-size:.85rem;display:flex}.segmented{background:#0a3323b3;border-radius:18px;padding:4px;display:flex}.segmented button{border-radius:14px;flex:1;padding:8px}.segmented .active{background:var(--rose);color:var(--deep);font-weight:600}.chips{flex-wrap:wrap;gap:8px;display:flex}.chips button{border:1px solid var(--line);background:#0a3323b3;border-radius:20px;padding:6px 12px}.chips .active{background:var(--moss);border-color:var(--moss);color:var(--deep);font-weight:600}.actions{justify-content:flex-end;gap:8px;display:flex}.actions button{border-radius:16px;padding:10px 18px}.actions .primary{background:var(--rose);color:var(--deep);font-weight:600}.actions .primary:disabled{opacity:.35}.actions .danger{color:var(--rose);margin-right:auto}.topbar h1:first-letter{text-transform:uppercase}
