@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@500;700;800;900&display=swap');
:root{--ink:#332b4b;--purple:#6b52e8;--lav:#eeeaff;--sun:#ffcd5d;--coral:#fa7e6c;--mint:#73d6c1;--paper:#fff9f1;--line:#eae3d9;--shadow:0 10px 28px #4a39701c}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 4% 3%,#ffe4b8 0 9%,transparent 10%),radial-gradient(circle at 94% 8%,#d9f6ee 0 8%,transparent 9%),var(--paper);color:var(--ink);font-family:Nunito,system-ui,sans-serif;min-height:100vh}.app-shell{max-width:1120px;margin:auto;padding:22px 18px 44px}.welcome-card,.card{background:#fff;border:1px solid #fff;border-radius:28px;box-shadow:var(--shadow)}.welcome-card{max-width:400px;text-align:center;margin:15vh auto;padding:48px;font-weight:800}.spark{font-size:54px;color:var(--sun)}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.brand{display:flex;align-items:center;gap:11px;font-weight:900;font-size:22px}.brand-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:15px;background:var(--purple);color:var(--sun);font-size:25px}.hello{font-size:14px;color:#796f91}.hello strong{display:block;color:var(--ink);font-size:18px}.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}.card{padding:22px}.balance{grid-column:span 4;background:linear-gradient(135deg,var(--purple),#8975f4);color:white}.balance h1{font-size:52px;line-height:1;margin:9px 0}.balance p,.balance small{margin:0;color:#eeebff}.summary{grid-column:span 8;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.stat{border-radius:20px;padding:17px;background:var(--lav);font-weight:900}.stat:nth-child(2){background:#fff1d8}.stat:nth-child(3){background:#dcf7f0}.stat span{display:block;font-size:25px}.section{grid-column:span 8}.side{grid-column:span 4}h2{font-size:20px;margin:0 0 17px}h3{margin:0;font-size:16px}.task,.reward,.history-item{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}.task:last-child,.reward:last-child,.history-item:last-child{border-bottom:0}.emoji{width:43px;height:43px;display:grid;place-items:center;flex:none;border-radius:15px;background:#fff1d8;font-size:23px}.reward .emoji{background:#e6f7f3}.task-copy{flex:1}.task-copy small,.muted{display:block;color:#817994;font-size:13px}.points{font-weight:900;color:var(--purple);white-space:nowrap}.button{border:0;border-radius:15px;padding:11px 15px;background:var(--purple);color:#fff;font:800 14px Nunito;cursor:pointer}.button:hover{filter:brightness(1.08)}.button.secondary{background:var(--lav);color:var(--purple)}.button.sun{background:var(--sun);color:#5b4210}.button.danger{background:#ffe6e2;color:#ba4138}.button.small{padding:8px 10px;font-size:12px}.login{max-width:420px;margin:8vh auto;padding:34px}.login h1{font-size:34px;margin:12px 0 4px}.login p{color:#726981}.login .brand-mark{width:58px;height:58px;font-size:33px}.field{margin:15px 0}.field label{display:block;font-size:13px;font-weight:900;margin-bottom:6px}.field input,.field select{width:100%;border:2px solid #e9e4f7;border-radius:14px;padding:12px;font:600 16px Nunito;color:var(--ink);outline:0}.field input:focus{border-color:var(--purple)}.notice{padding:12px;border-radius:14px;background:#fff1d8;font-size:13px;color:#6e5215}.error{color:#b52f42;font-size:13px;font-weight:800}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}.tabs{display:flex;gap:8px;overflow:auto;padding-bottom:4px;margin-bottom:18px}.tab{border:0;background:transparent;padding:9px 13px;border-radius:14px;color:#736a89;font:800 14px Nunito;white-space:nowrap;cursor:pointer}.tab.active{background:#fff;color:var(--purple);box-shadow:var(--shadow)}.panel{display:none}.panel.active{display:block}.form-grid{display:grid;grid-template-columns:1fr 110px;gap:10px}.empty{padding:24px 6px;text-align:center;color:#817994}.tag{font-size:11px;padding:4px 8px;border-radius:99px;background:#fff1d8;color:#825e10;font-weight:900}.history-item .value{font-weight:900;margin-left:auto}.value.plus{color:#389b7c}.value.minus{color:#d55654}@media(max-width:720px){.app-shell{padding:16px 13px 32px}.grid{gap:13px}.balance,.summary,.section,.side{grid-column:span 12}.summary{grid-template-columns:repeat(3,1fr)}.card{padding:18px;border-radius:23px}.balance h1{font-size:44px}.stat{padding:13px;font-size:12px}.stat span{font-size:21px}.topbar{margin-bottom:17px}.form-grid{grid-template-columns:1fr}.hide-mobile{display:none}}
/* Tap-to-add chore library */
.chore-library{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.chore-choice{display:flex;align-items:center;gap:9px;width:100%;border:2px solid #eeeaff;border-radius:16px;padding:9px;background:#fff;text-align:left;font:800 13px Nunito;color:var(--ink);cursor:pointer}.chore-choice:hover{border-color:var(--purple);background:#faf9ff}.chore-choice:disabled{opacity:.55;cursor:default;background:#f7f4ee}.choice-emoji{font-size:21px}.choice-copy{flex:1;line-height:1.1}.choice-copy small{display:block;margin-top:3px;color:var(--purple);font-size:11px}.add-mark{color:var(--purple);font-size:18px}@media(max-width:420px){.chore-library{grid-template-columns:1fr}}
/* Display the family-facing product name consistently in the app header. */
.brand{font-size:0}.brand:after{content:'Chore Points';font-size:22px}
.quick-scroll{max-height:430px;overflow-y:auto;padding-right:4px}.current-total{margin:-3px 0 17px;padding:13px 16px;border-radius:17px;background:var(--lav);font-weight:900;color:var(--purple);font-size:18px}.current-total span{font-size:27px}
