:root{color-scheme:light;--bg: #fff4cf;--bg-2: #ffd08a;--card: #ffffff;--ink: #1f1a17;--ink-soft: #6b5a4f;--accent: #ff8a3d;--accent-2: #3a7bd5;--success: #2e7d32;--danger: #c62828;--shadow: 0 10px 25px rgba(31, 26, 23, .12);--radius: 20px}*{box-sizing:border-box}body{margin:0;font-family:Comic Sans MS,Trebuchet MS,Segoe UI,sans-serif;color:var(--ink);background:radial-gradient(circle at top,#fffdf3 0%,var(--bg) 55%,var(--bg-2) 100%);min-height:100vh}h1,h2,h3{margin:0 0 12px}h1{font-size:2.1rem}h2{font-size:1.5rem}h3{font-size:1.2rem}button{font-family:inherit}.app{max-width:560px;margin:0 auto;padding:16px 16px 48px}.app-header{display:flex;flex-direction:column;gap:14px;animation:dropIn .45s ease-out}.total-card{background:var(--card);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow);text-align:center}.total-label{color:var(--ink-soft);font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:.8rem}.total-value{font-size:3.2rem;font-weight:900;color:var(--accent-2);margin-top:6px}.tabs{display:flex;gap:12px}.tab{flex:1;border:2px solid transparent;border-radius:999px;padding:12px 16px;font-size:1rem;font-weight:700;background:#ffffffb3;color:var(--ink)}.tab.active{border-color:var(--accent);background:#fff1d6}.app-main{margin-top:20px;display:flex;flex-direction:column;gap:22px;animation:fadeUp .5s ease-out}.task-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.task-card{background:var(--card);border-radius:18px;border:2px solid #ffe0b3;padding:16px;font-size:1.05rem;font-weight:700;display:flex;flex-direction:column;gap:8px;text-align:left;box-shadow:var(--shadow)}.task-label{font-size:1rem}.task-value{font-size:1.6rem;color:var(--accent)}.actions{display:flex;justify-content:center}.spend-button{width:100%;padding:16px 20px;font-size:1.2rem;font-weight:800;border:none;border-radius:999px;background:var(--accent);color:#fff;box-shadow:var(--shadow)}.history{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.history-item{background:var(--card);border-radius:14px;padding:12px 14px;display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow)}.history-item.earn{border-left:6px solid var(--success)}.history-item.spend{border-left:6px solid var(--danger)}.history-label{font-weight:700}.history-date{color:var(--ink-soft);font-size:.85rem}.history-amount{font-size:1.2rem;font-weight:800}.empty{color:var(--ink-soft);font-size:1rem}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#1f1a1780;display:grid;place-items:center;padding:20px;z-index:10}.modal{width:min(420px,100%);background:var(--card);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:14px;animation:popIn .24s ease-out}.field{display:flex;flex-direction:column;gap:6px;font-weight:700}.field input{padding:12px;border-radius:12px;border:2px solid #f1d4ad;font-size:1rem}.amount-grid{display:grid;grid-template-columns:repeat(5,minmax(44px,1fr));gap:8px}.pill{border-radius:999px;padding:10px;border:2px solid #f1d4ad;background:#fff7e7;font-weight:800}.pill.active{background:var(--accent-2);border-color:var(--accent-2);color:#fff}.modal-actions{display:flex;gap:10px}.primary,.secondary,.danger{border:none;border-radius:14px;padding:12px;font-weight:800;font-size:1rem;flex:1}.primary{background:var(--accent-2);color:#fff}.secondary{background:#ffe9c2;color:var(--ink)}.danger{background:var(--danger);color:#fff}.error{color:var(--danger);font-weight:700}.hint{color:var(--ink-soft);font-weight:700}.settings{display:flex;flex-direction:column;gap:18px}.settings-block{background:var(--card);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:12px}.settings-block.danger-block{border:2px dashed var(--danger)}.task-editor{display:flex;flex-direction:column;gap:10px}.task-row{display:grid;grid-template-columns:1fr 90px 110px;gap:8px}.task-row input{padding:10px;border-radius:10px;border:2px solid #f1d4ad}@media (max-width: 480px){.task-row{grid-template-columns:1fr}}@keyframes dropIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes popIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}
