:root{--ink:#28253d;--muted:#706c82;--paper:#f8f7fc;--surface:#fff;--line:#e8e5ef;--purple:#5a48e8;--purple-dark:#4331c8;--purple-soft:#eeeaff;--yellow:#ffd76a;--mint:#3ebd97;--mint-soft:#e2f8f0;--coral:#ee705d;--coral-soft:#fff0ed;--blue:#438cd9;--blue-soft:#eaf4ff;--shadow:0 14px 36px #30276017;--radius:22px;--profile-accent:#5a48e8}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;color:var(--ink);background:radial-gradient(circle at 8% 2%, #ffd76a42, transparent 26rem), radial-gradient(circle at 95% 12%, #3ebd9729, transparent 30rem), var(--paper);margin:0;font-family:ui-rounded,Nunito,Avenir Next,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}body.modal-open{overflow:hidden}button,input,select,textarea{font:inherit}button{-webkit-tap-highlight-color:transparent}button,select{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #5a48e847}a{color:inherit}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.045em;margin-bottom:8px;font-size:clamp(29px,5vw,46px);line-height:1.08}h2{letter-spacing:-.025em;margin-bottom:5px;font-size:21px}h3{margin-bottom:5px;font-size:16px}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}[hidden]{display:none!important}.account-shell{min-height:100dvh;padding:max(24px,env(safe-area-inset-top)) 18px max(30px,env(safe-area-inset-bottom))}.account-shell:empty{display:none}.account-loading{min-height:calc(100dvh - 60px);color:var(--muted);text-align:center;align-content:center;place-items:center;display:grid}.account-loading strong{color:var(--ink);margin-top:10px;font-size:22px}.account-loading small{margin-top:3px}.account-sun{background:#fff2b9;border-radius:25px;place-items:center;width:76px;height:76px;font-size:39px;display:grid;box-shadow:0 15px 40px #b1800c29}.account-layout{background:#fff;border:1px solid #e2deedd1;border-radius:30px;grid-template-columns:minmax(0,1.05fr) minmax(300px,.72fr);width:min(980px,100%);min-height:min(680px,100dvh - 60px);margin:0 auto;display:grid;overflow:hidden;box-shadow:0 28px 80px #2b225921}.account-welcome{color:#fff;background:linear-gradient(145deg,#6b59ef,#4935cd 62%,#32238d);align-content:center;padding:clamp(34px,6vw,72px);display:grid;position:relative;overflow:hidden}.account-welcome:before,.account-welcome:after{content:"";background:#ffffff17;border-radius:50%;position:absolute}.account-welcome:before{width:280px;height:280px;top:-145px;right:-90px}.account-welcome:after{width:180px;height:180px;bottom:-90px;left:-60px}.account-brand{z-index:1;align-items:center;gap:12px;margin-bottom:42px;display:flex;position:relative}.account-brand .brand-mark{background:var(--yellow)}.account-brand strong{font-size:21px}.account-welcome h1{z-index:1;max-width:520px;margin-bottom:14px;font-size:clamp(38px,6vw,64px);position:relative}.account-welcome p{z-index:1;color:#ffffffd1;max-width:470px;margin:0;font-size:clamp(16px,2.5vw,20px);font-weight:700;position:relative}.account-panel{align-content:center;padding:clamp(28px,5vw,52px);display:grid}.account-panel h2{font-size:28px}.account-panel>p{color:var(--muted)}.account-actions{gap:10px;margin-top:20px;display:grid}.account-actions .primary-button,.account-actions .secondary-button{width:100%;min-height:50px}.account-link{color:var(--purple-dark);background:0 0;border:0;padding:5px;font-size:12px;font-weight:900}.account-form{gap:12px;margin-top:18px;display:grid}.account-form .primary-button{min-height:50px;margin-top:4px}.account-form-footer{color:var(--muted);justify-content:space-between;align-items:center;gap:10px;margin-top:5px;font-size:11px;display:flex}.account-message{color:#28765e;min-height:22px;margin:8px 0 0;font-size:12px;font-weight:800}.account-message.error{color:#b94839}.account-panel button:disabled{cursor:wait;opacity:.65}.family-shell{width:min(820px,100%);margin:0 auto;padding:clamp(10px,4vw,42px) 0}.family-header{justify-content:space-between;align-items:center;gap:14px;margin-bottom:28px;display:flex}.family-heading{text-align:center}.family-heading .account-sun{margin:0 auto 14px}.family-heading h1{margin-bottom:5px}.family-heading p{color:var(--muted)}.child-choice-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin:25px 0;display:grid}.child-choice{border:1px solid var(--line);min-height:190px;color:var(--ink);box-shadow:var(--shadow);background:#fff;border-radius:23px;justify-items:center;gap:4px;padding:22px 14px;display:grid}.child-choice:hover{border-color:#cfc6ff;transform:translateY(-2px)}.child-choice-avatar{background:color-mix(in srgb,var(--child-accent) 14%,white);border-radius:26px;place-items:center;width:82px;height:82px;margin-bottom:7px;font-size:43px;display:grid}.child-choice strong{font-size:18px}.child-choice small{color:var(--muted);font-weight:800}.family-parent-button{justify-content:center;align-items:center;gap:8px;width:min(320px,100%);margin:0 auto;display:flex}.import-card{background:#f8f6ff;border:1px solid #ded7ff;border-radius:17px;margin-top:18px;padding:17px}.import-card strong{display:block}.import-card small{color:var(--muted)}.onboarding-children{gap:8px;margin:12px 0;display:grid}.onboarding-child{background:var(--purple-soft);border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.sync-status{color:#257157;background:var(--mint-soft);border-radius:99px;min-width:max-content;padding:6px 9px;font-size:10px;font-weight:900}.sync-status[data-state=saving]{color:#73591c;background:#fff4cf}.sync-status[data-state=offline],.sync-status[data-state=error]{color:#9a4c41;background:var(--coral-soft)}.app-shell{width:min(1180px,100% - 32px);padding:24px 0 max(56px, env(safe-area-inset-bottom));margin:0 auto}.topbar{justify-content:space-between;align-items:center;gap:18px;margin-bottom:22px;display:flex}.brand{align-items:center;gap:11px;min-width:max-content;text-decoration:none;display:inline-flex}.brand-mark,.welcome-mark{color:#36269c;background:var(--yellow);place-items:center;display:grid;box-shadow:0 8px 18px #c5962033}.brand-mark{border-radius:15px;width:46px;height:46px;font-size:24px}.brand-copy strong,.brand-copy small{display:block}.brand-copy strong{letter-spacing:-.02em;font-size:19px}.brand-copy small{color:var(--muted);font-size:11px;font-weight:750}.top-actions{justify-content:flex-end;align-items:center;gap:10px;min-width:0;display:flex}.profile-picker{border:1px solid var(--line);background:#ffffffeb;border-radius:15px;align-items:center;gap:8px;min-height:46px;padding:5px 8px 5px 9px;display:flex;box-shadow:0 5px 18px #28234b0d}.profile-avatar{background:color-mix(in srgb, var(--profile-accent) 14%, white);border-radius:10px;flex:none;place-items:center;width:32px;height:32px;display:grid}.profile-picker select{max-width:145px;min-height:34px;color:var(--ink);background:0 0;border:0;font-weight:900}.header-balance{color:#fff;background:var(--profile-accent);text-align:center;border-radius:14px;min-width:85px;padding:5px 12px;display:grid}.header-balance span{font-size:18px;font-weight:950;line-height:1.1}.header-balance small{color:#fffc;text-transform:uppercase;font-size:9px;font-weight:850}.icon-button{border:1px solid var(--line);min-height:46px;color:var(--ink);background:#fff;border-radius:14px;justify-content:center;align-items:center;gap:7px;padding:0 14px;font-weight:900;display:inline-flex;box-shadow:0 5px 18px #28234b0d}.parent-button.unlocked{color:var(--purple-dark);background:var(--purple-soft);border-color:#cec6ff}.hero{color:#fff;background:linear-gradient(135deg, color-mix(in srgb, var(--profile-accent) 84%, #8878ff) 0%, var(--profile-accent) 52%, color-mix(in srgb, var(--profile-accent) 72%, #211473) 100%);box-shadow:0 20px 45px color-mix(in srgb, var(--profile-accent) 25%, transparent);border-radius:29px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;margin-bottom:18px;padding:34px 38px;display:grid;position:relative;overflow:hidden}.hero:before,.hero:after{content:"";background:#ffffff14;border-radius:50%;position:absolute}.hero:before{width:190px;height:190px;top:-120px;right:12%}.hero:after{width:120px;height:120px;bottom:-90px;left:48%}.hero-copy,.hero-balance{z-index:1;position:relative}.eyebrow,.section-kicker{letter-spacing:.11em;text-transform:uppercase;margin:0 0 6px;font-size:11px;font-weight:950}.eyebrow{color:#ffffffbf}.hero-copy>p:last-child{color:#ffffffd1;max-width:590px;margin:0;font-weight:650}.hero-balance{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);text-align:center;background:#ffffff21;border:1px solid #ffffff2e;border-radius:21px;min-width:196px;padding:21px 25px}.hero-balance span,.hero-balance small{display:block}.hero-balance span{color:#ffffffb8;letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:900}.hero-balance strong{letter-spacing:-.05em;margin:2px 0 0;font-size:48px;line-height:1.05;display:block}.hero-balance small{color:var(--yellow);font-weight:900}.progress-grid{grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px;display:grid}.progress-card{background:#fffffff0;border:1px solid #e2deedd1;border-radius:18px;align-items:center;gap:13px;min-width:0;padding:16px 17px;display:flex;box-shadow:0 8px 24px #2e25600f}.progress-icon{background:var(--purple-soft);border-radius:14px;flex:none;place-items:center;width:43px;height:43px;font-size:21px;display:grid}.daily-card .progress-icon{background:#fff5d8}.game-card .progress-icon{background:var(--blue-soft)}.progress-card-copy{flex:1;min-width:0}.progress-card-copy>span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:950;display:block}.progress-card-copy strong{text-overflow:ellipsis;white-space:nowrap;margin:1px 0 7px;font-size:16px;display:block;overflow:hidden}.progress-card-copy small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:5px;font-size:10px;font-weight:700;display:block;overflow:hidden}.meter{background:#eeecf4;border-radius:99px;height:7px;overflow:hidden}.meter span{border-radius:inherit;background:linear-gradient(90deg,var(--mint),#75dab9);width:0;height:100%;transition:width .25s;display:block}.weekly-card .meter span{background:linear-gradient(90deg,var(--purple),#927fff)}.game-card .meter span{background:linear-gradient(90deg,var(--blue),#76b7ef)}.dashboard-grid{grid-template-columns:minmax(0,1.5fr) minmax(300px,.8fr);align-items:start;gap:20px;display:grid}.panel{border-radius:var(--radius);min-width:0;box-shadow:var(--shadow);background:#fffffff0;border:1px solid #e2deedcc;padding:24px}.panel-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.panel-header.compact{margin-bottom:12px}.panel-header p:not(.section-kicker){color:var(--muted);margin:0;font-size:12px;font-weight:650}.section-kicker{color:var(--profile-accent)}.score-pill{color:#26765f;background:var(--mint-soft);border-radius:11px;flex:none;padding:7px 11px;font-size:12px;font-weight:950}.task-list,.reward-list,.activity-list{gap:10px;display:grid}.task-item{border:1px solid var(--line);background:var(--surface);border-radius:16px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;min-height:68px;padding:12px 14px;transition:transform .15s,border-color .15s,background .15s;display:grid}.task-item:hover{border-color:#d8d2ea;transform:translateY(-1px)}.task-item.done{background:#f5fffb;border-color:#bce9da}.task-item.done .task-name{color:#777386;text-decoration:line-through}.check-wrap{width:34px;height:34px;position:relative}.task-check{opacity:0;width:1px;height:1px;position:absolute}.custom-check{color:#fff;cursor:pointer;background:#fff;border:2px solid #cbc7d6;border-radius:11px;place-items:center;width:34px;height:34px;display:grid}.task-check:checked+.custom-check{border-color:var(--mint);background:var(--mint)}.task-check:checked+.custom-check:after{content:"✓";font-size:20px;font-weight:1000}.task-check:focus-visible+.custom-check{outline-offset:2px;outline:3px solid #5a48e847}.task-name{overflow-wrap:anywhere;font-weight:850}.task-meta{flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px;display:flex}.category-pill,.status-pill{letter-spacing:.05em;text-transform:uppercase;border-radius:99px;align-items:center;min-height:22px;padding:3px 8px;font-size:9px;font-weight:950;display:inline-flex}.category-study{color:#315f9c;background:var(--blue-soft)}.category-habit{color:#28765e;background:var(--mint-soft)}.category-help{color:#9a6a16;background:#fff5d8}.category-growth{color:#6b4ac8;background:var(--purple-soft)}.category-other{color:#a34e42;background:var(--coral-soft)}.points-chip{color:var(--purple-dark);white-space:nowrap;font-size:12px;font-weight:950}.completion-banner{color:#286d58;background:var(--mint-soft);border-radius:15px;align-items:center;gap:12px;margin-top:13px;padding:13px 15px;display:flex}.completion-banner>span{font-size:24px}.completion-banner strong,.completion-banner small{display:block}.completion-banner small{color:#4c826f}.week-chart{grid-template-columns:repeat(7,minmax(0,1fr));align-items:end;gap:7px;height:172px;padding-top:10px;display:grid}.day-bar{text-align:center;grid-template-rows:1fr auto auto;align-items:end;gap:4px;height:100%;display:grid}.bar-space{justify-content:center;align-items:flex-end;height:100%;display:flex}.bar{background:#ddd8f5;border-radius:9px 9px 5px 5px;width:min(29px,74%);min-height:5px;transition:height .25s}.day-bar.today .bar{background:var(--profile-accent)}.day-points{color:var(--purple-dark);font-size:10px;font-weight:950}.day-label{color:var(--muted);font-size:9px;font-weight:850}.week-total{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:10px;margin-top:12px;padding-top:11px;font-size:11px;display:flex}.week-total strong{color:var(--ink)}.rewards-panel{grid-column:1/-1}.reward-list{grid-template-columns:repeat(2,minmax(0,1fr))}.reward-card{border:1px solid var(--line);background:#fff;border-radius:17px;grid-template-columns:auto minmax(0,1fr);gap:12px;min-width:0;padding:15px;display:grid;position:relative}.reward-card.locked{background:#fbfafc}.reward-emoji{background:#fff4d5;border-radius:14px;place-items:center;width:44px;height:44px;font-size:23px;display:grid}.reward-card h3{overflow-wrap:anywhere;margin:0}.reward-description{color:var(--muted);margin:2px 0 8px;font-size:11px}.reward-meta{flex-wrap:wrap;gap:6px;display:flex}.reward-cost{color:var(--purple-dark);font-size:12px;font-weight:950}.reward-status{color:var(--muted);font-size:10px;font-weight:800}.reward-card .redeem-button{grid-column:1/-1;width:100%}.redeem-button,.primary-button,.secondary-button,.danger-button,.ghost-button{border:0;border-radius:12px;min-height:44px;padding:9px 14px;font-weight:900}.primary-button,.redeem-button{color:#fff;background:var(--purple)}.primary-button:hover,.redeem-button:hover{background:var(--purple-dark)}.redeem-button.locked{color:#716d7f;background:#eeecf2}.secondary-button{color:var(--purple-dark);background:var(--purple-soft)}.ghost-button{color:var(--ink);border:1px solid var(--line);background:#fff}.danger-button{color:#fff;background:#c94f3e}.inline-message,.modal-message{color:#26765f;min-height:22px;margin:11px 2px 0;font-size:12px;font-weight:850}.inline-message.error,.modal-message.error{color:#b94839}.activity-item{border-bottom:1px solid var(--line);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px 0;font-size:11px;display:grid}.activity-item:last-child{border-bottom:0}.activity-icon{background:var(--purple-soft);border-radius:10px;place-items:center;width:32px;height:32px;display:grid}.activity-item strong,.activity-item small{display:block}.activity-item small{color:var(--muted)}.activity-points{white-space:nowrap;font-weight:950}.activity-points.positive{color:#24745b}.activity-points.negative{color:#b54a3b}.empty-state{color:var(--muted);text-align:center;border:1px dashed #d8d3e7;border-radius:15px;padding:25px 16px;font-size:12px;font-weight:700}.modal{background:0 0;border:0;width:100%;max-width:none;height:100%;max-height:none;padding:18px}.modal::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#1f193885}.modal-card{background:#fff;border:1px solid #ffffff80;border-radius:23px;width:min(560px,100%);margin:min(8vh,70px) auto;padding:28px;position:relative;box-shadow:0 28px 80px #20184440}.small-modal{text-align:center;width:min(450px,100%)}.small-modal .field-label{text-align:left}.onboarding-card{text-align:center;width:min(600px,100%)}.welcome-mark{border-radius:19px;width:58px;height:58px;margin:0 auto 15px;font-size:29px}.modal-emoji{margin-bottom:9px;font-size:34px;display:block}.modal-close{width:42px;height:42px;color:var(--muted);background:#f2f0f6;border:0;border-radius:13px;place-items:center;padding:0;font-size:26px;line-height:1;display:grid;position:absolute;top:12px;right:12px}.modal-close.static{flex:none;position:static}.form-grid{text-align:left;grid-template-columns:1fr 1fr;gap:12px;display:grid}.field-label{min-width:0;color:var(--ink);gap:5px;font-size:11px;font-weight:900;display:grid}.field-label.wide,.wide{grid-column:1/-1}.field-label input,.field-label select,.field-label textarea,.control{width:100%;min-width:0;max-width:100%;min-height:45px;color:var(--ink);background:#fff;border:1px solid #d9d5e4;border-radius:11px;padding:9px 11px}.field-label textarea{resize:vertical;min-height:76px}.wide-button{width:100%;margin-top:14px}.form-note{color:var(--muted);margin:12px 0 0;font-size:11px}.button-row{justify-content:flex-end;gap:9px;margin-top:16px;display:flex}.parent-modal{padding:0}.parent-sheet{background:#f8f7fc;border-radius:24px;grid-template-rows:auto auto 1fr;width:min(1100px,100% - 24px);height:min(900px,100% - 24px);margin:12px auto;display:grid;overflow:hidden;box-shadow:0 30px 90px #20184447}.parent-header{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:14px;padding:18px 22px;display:flex}.parent-header h2{margin:0}.parent-header-actions{align-items:center;gap:8px;display:flex}.unlocked-badge{color:#257157;background:var(--mint-soft);border-radius:99px;padding:6px 10px;font-size:10px;font-weight:900}.settings-tabs{border-bottom:1px solid var(--line);scrollbar-width:none;background:#fff;gap:5px;padding:9px 14px;display:flex;overflow-x:auto}.settings-tabs::-webkit-scrollbar{display:none}.settings-tabs button{min-height:42px;color:var(--muted);white-space:nowrap;background:0 0;border:0;border-radius:11px;padding:8px 13px;font-size:12px;font-weight:900}.settings-tabs button.active{color:var(--purple-dark);background:var(--purple-soft)}.settings-body{min-width:0;padding:20px;overflow:hidden auto}.settings-section{width:min(900px,100%);min-width:0;max-width:100%;margin:0 auto}.settings-intro{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:16px;display:flex}.settings-intro p{color:var(--muted);margin:0;font-size:12px}.settings-list{gap:11px;min-width:0;max-width:100%;display:grid}.settings-card{border:1px solid var(--line);background:#fff;border-radius:16px;min-width:0;max-width:100%;padding:15px}.settings-card-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.profile-card-title{align-items:center;gap:9px;display:flex}.profile-card-title>span{background:var(--purple-soft);border-radius:12px;place-items:center;width:38px;height:38px;font-size:20px;display:grid}.settings-form{grid-template-columns:minmax(0,1.5fr) repeat(2,minmax(100px,.6fr)) auto;align-items:end;gap:9px;display:grid}.settings-form.reward-form{grid-template-columns:80px minmax(160px,1.2fr) minmax(190px,1.5fr) 90px 110px 110px}.settings-form .full-row{grid-column:1/-1}.days-field{flex-wrap:wrap;gap:5px;display:flex}.check-chip input{opacity:0;pointer-events:none;width:1px;min-width:0;height:1px;position:absolute}.check-chip span{border:1px solid var(--line);min-width:42px;min-height:38px;color:var(--muted);background:#fff;border-radius:10px;justify-content:center;align-items:center;padding:6px 9px;font-size:10px;font-weight:900;display:inline-flex}.check-chip input:checked+span{color:var(--purple-dark);background:var(--purple-soft);border-color:#cfc6ff}.toggle-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;min-height:50px;padding:9px 0;display:flex}.toggle-row:last-child{border-bottom:0}.toggle-copy strong,.toggle-copy small{display:block}.toggle-copy small{color:var(--muted);font-size:10px}.switch{flex:none;width:48px;height:28px;position:relative}.switch input{opacity:0;width:1px;min-width:0;height:1px;position:absolute}.switch span{background:#d8d5df;border-radius:99px;transition:background .15s;position:absolute;inset:0}.switch span:after{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .15s;position:absolute;top:4px;left:4px;box-shadow:0 2px 7px #0000002e}.switch input:checked+span{background:var(--mint)}.switch input:checked+span:after{transform:translate(20px)}.rule-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.rule-card{border:1px solid var(--line);background:#fff;border-radius:16px;padding:15px}.rule-card .field-label{margin-top:10px}.data-actions{grid-template-columns:repeat(3,1fr);gap:9px;display:grid}.local-note{color:#5d5870;background:#efedf7;border-radius:12px;margin-top:13px;padding:11px 13px;font-size:11px}.danger-zone{background:#fff7f5;border:1px solid #f0c9c2;border-radius:16px;margin-top:20px;padding:15px}.danger-zone p{color:#8e5148;font-size:11px}.adjust-row{grid-template-columns:110px minmax(0,1fr) auto;gap:8px;margin-top:12px;display:grid}.toast{z-index:1000;left:50%;bottom:max(22px,env(safe-area-inset-bottom));color:#fff;text-align:center;background:#28243d;border-radius:14px;width:min(430px,100% - 28px);padding:13px 16px;font-size:12px;font-weight:850;position:fixed;transform:translate(-50%);box-shadow:0 16px 40px #1f183a40}.toast.success{background:#24765b}.toast.error{background:#b94c3d}.celebration{z-index:900;pointer-events:none;color:var(--yellow);text-shadow:0 6px 18px #8c5f004d;justify-content:center;align-items:center;gap:35px;font-size:48px;animation:.7s both celebrate;display:flex;position:fixed;inset:0}.celebration span:first-child{transform:translateY(30px)rotate(-18deg)}.celebration span:nth-child(3){transform:translateY(30px)rotate(18deg)}@keyframes celebrate{0%{opacity:0;transform:scale(.45)}55%{opacity:1;transform:scale(1.15)}to{opacity:0;transform:scale(1.4)}}.hero-v3{grid-template-columns:minmax(0,1fr) auto;align-items:start;display:grid}.hero-profile{z-index:1;align-items:center;gap:18px;min-width:0;display:flex;position:relative}.hero-avatar{background:#ffffff26;border:1px solid #fff3;border-radius:24px;flex:none;place-items:center;width:76px;height:76px;font-size:40px;display:grid;box-shadow:inset 0 1px #fff3}.hero-stats{z-index:1;grid-template-columns:repeat(3,minmax(76px,1fr));gap:8px;display:grid;position:relative}.hero-stat{background:#ffffff1f;border:1px solid #ffffff2b;border-radius:17px;grid-template-columns:auto 1fr;align-items:center;column-gap:6px;min-height:72px;padding:10px 12px;display:grid}.hero-stat>span{grid-row:1/3;font-size:21px}.hero-stat strong{font-variant-numeric:tabular-nums;font-size:22px;line-height:1}.hero-stat small{color:#ffffffbf;text-transform:uppercase;font-size:9px;font-weight:850}.level-strip{z-index:1;background:#1e14602e;border:1px solid #ffffff2b;border-radius:18px;grid-column:1/-1;margin-top:22px;padding:16px 18px;position:relative}.level-heading{justify-content:space-between;align-items:end;gap:14px;margin-bottom:10px;display:flex}.level-heading>div{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.level-label{color:var(--yellow);font-size:16px;font-weight:950}.level-heading strong{color:#fff;font-size:13px}.level-heading>span{color:#ffffffdb;font-variant-numeric:tabular-nums;font-size:12px;font-weight:900}.level-meter{background:#fff3;border-radius:99px;height:12px;overflow:hidden}.level-meter span{border-radius:inherit;background:linear-gradient(90deg,var(--yellow),#fff0a8);width:0;height:100%;transition:width .3s ease-out;display:block;box-shadow:0 0 18px #ffd76a59}.level-strip>small{color:#ffffffbf;margin-top:7px;font-weight:750;display:block}.daily-goal-panel{background:linear-gradient(135deg,#fff 0%,#f8f5ff 100%);border-color:#d9d2ff;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:22px;margin-bottom:20px;display:grid}.goal-ring{--goal-progress:0%;background:conic-gradient(var(--profile-accent) var(--goal-progress),#e8e4f3 0);border-radius:50%;flex:none;place-items:center;width:108px;height:108px;display:grid;box-shadow:0 10px 28px #4031911f}.goal-ring:before{content:"";background:#fff;border-radius:50%;grid-area:1/1;width:82px;height:82px}.goal-ring span{z-index:1;font-variant-numeric:tabular-nums;grid-area:1/1;font-size:19px;font-weight:950}.goal-content{min-width:0}.goal-task-list{gap:5px;margin:10px 0;display:grid}.goal-task{color:var(--muted);grid-template-columns:22px minmax(0,1fr);align-items:center;font-size:12px;font-weight:750;display:grid}.goal-task>span:first-child{color:#aaa5b7;font-size:17px;font-weight:950}.goal-task.done{color:#266f59}.goal-task.done>span:first-child{color:var(--mint)}.goal-message{color:#544d72;margin:0;font-size:12px;font-weight:850}.goal-reward{color:#49378e;text-align:center;background:#eee9ff;border-radius:16px;min-width:150px;padding:15px}.goal-reward span,.goal-reward strong,.goal-reward small{display:block}.goal-reward span{letter-spacing:.07em;text-transform:uppercase;font-size:9px;font-weight:950}.goal-reward strong{margin:3px 0;font-size:21px}.goal-reward small{color:#6f6790;font-size:9px}.daily-goal-panel.goal-complete{background:linear-gradient(135deg,#f5fffb,#eafaf4);border-color:#aee2d1}.daily-goal-panel.goal-complete .goal-ring{background:conic-gradient(var(--mint) 100%,var(--mint) 0)}.daily-goal-panel.goal-disabled{opacity:.78}.child-priority-grid{margin-bottom:20px}.child-priority-grid .badges-panel{grid-column:1/-1}.secondary-progress{margin-top:0}.supporting-grid .rewards-panel{grid-column:1/-1}.reward-chips{white-space:nowrap;justify-items:end;gap:3px;display:grid}.xp-chip{color:#8b5b16;font-size:11px;font-weight:950}.category-responsibility{color:#765814;background:#fff5d8}.category-learning{color:#315f9c;background:var(--blue-soft)}.category-creativity{color:#774fba;background:var(--purple-soft)}.category-activity{color:#28765e;background:var(--mint-soft)}.challenge-list{gap:10px;display:grid}.challenge-card{background:linear-gradient(145deg,#fff,#faf8ff);border:1px solid #dfd9f2;border-radius:16px;padding:14px}.challenge-card.completed{background:#f5fffb;border-color:#b7e5d6}.challenge-card.locked{opacity:.7;background:#f8f7fa}.challenge-top,.challenge-rewards{justify-content:space-between;gap:10px;display:flex}.challenge-level,.challenge-state{color:#604bc0;background:var(--purple-soft);text-transform:uppercase;border-radius:8px;padding:4px 7px;font-size:9px;font-weight:950}.challenge-card.completed .challenge-state{color:#28765e;background:var(--mint-soft)}.challenge-card h3{margin:9px 0 3px}.challenge-card p{color:var(--muted);margin:0 0 10px;font-size:11px}.challenge-rewards{align-items:center;font-size:10px}.challenge-rewards strong{color:var(--purple-dark);text-align:right}.badge-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;display:grid}.badge-card{border:1px solid var(--line);text-align:center;background:#fff;border-radius:14px;justify-items:center;min-width:0;padding:12px 8px;display:grid}.badge-card.locked{color:#8c8797;background:#f8f7fa}.badge-icon{color:#a9a4b2;filter:grayscale();background:#e9e7ec;border-radius:14px;place-items:center;width:42px;height:42px;margin-bottom:6px;font-size:21px;display:grid}.badge-card.unlocked{background:#fffdf3;border-color:#e3d38e}.badge-card.unlocked .badge-icon{color:inherit;filter:none;background:#fff1ba}.badge-card strong{overflow-wrap:anywhere;font-size:11px}.badge-card small{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:3px;font-size:8px;display:-webkit-box;overflow:hidden}.parent-progress-summary{flex-wrap:wrap;gap:7px;margin:0 0 13px;display:flex}.parent-progress-summary span{color:#5d5676;background:#f0edf9;border-radius:9px;padding:6px 9px;font-size:10px}.goal-settings-form{background:#f8f6ff;border-radius:13px;grid-template-columns:minmax(220px,1fr) 110px 110px auto;align-items:end;gap:9px;margin-top:12px;padding:10px 12px;display:grid}.goal-settings-form .toggle-row{border-bottom:0}.challenge-form{grid-template-columns:80px minmax(170px,1fr) minmax(210px,1.4fr) 140px 100px 110px 160px}.challenge-form .description-field textarea{min-height:72px}.challenge-approval-grid{border-top:1px solid var(--line);gap:7px;margin-top:13px;padding-top:13px;display:grid}.challenge-approval-row{grid-template-columns:minmax(120px,1fr) minmax(120px,1fr) auto;align-items:center;gap:9px;font-size:11px;display:grid}.challenge-approval-row button:disabled{cursor:not-allowed;opacity:.55}.settings-card.archived{opacity:.72}.earned-feedback{z-index:1100;top:max(16px,env(safe-area-inset-top));color:#4934b8;background:#fff;border:1px solid #d9d0ff;border-radius:99px;gap:10px;padding:11px 16px;font-size:13px;animation:.22s ease-out both feedback-in;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 14px 35px #261c562e}.earned-feedback span{color:#25745a;font-weight:900}@keyframes feedback-in{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}.milestone{z-index:1050;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#221b3e6b;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.milestone-card{text-align:center;background:#fff;border:1px solid #fff;border-radius:24px;width:min(390px,100%);padding:26px;animation:.28s ease-out both milestone-in;box-shadow:0 25px 70px #1f183a4d}.milestone-icon{background:#fff0b7;border-radius:21px;place-items:center;width:66px;height:66px;margin:0 auto 12px;font-size:34px;display:grid}.milestone-card p:not(.section-kicker){color:var(--muted)}@keyframes milestone-in{0%{opacity:0;transform:translateY(12px)scale(.96)}to{opacity:1;transform:none}}@media (max-width:900px){.dashboard-grid{grid-template-columns:1fr}.rewards-panel,.child-priority-grid .badges-panel,.supporting-grid .rewards-panel{grid-column:auto}.activity-panel{order:4}.settings-form.reward-form{grid-template-columns:80px 1fr 1fr}.settings-form.reward-form .reward-description-field{grid-column:2/-1}.challenge-form{grid-template-columns:80px 1fr 1fr}.challenge-form .description-field{grid-column:2/-1}.badge-list{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:720px){.account-shell{padding:0}.account-layout{border:0;border-radius:0;grid-template-columns:1fr;min-height:100dvh}.account-welcome{min-height:270px;padding:35px 24px}.account-brand{margin-bottom:24px}.account-welcome h1{font-size:39px}.account-panel{padding:30px 22px max(34px,env(safe-area-inset-bottom))}.family-shell{padding:18px 4px}.family-header{align-items:flex-start}.child-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.child-choice{min-height:164px}.child-choice-avatar{width:68px;height:68px;font-size:35px}.app-shell{width:min(100% - 22px,620px);padding-top:13px}.topbar{align-items:flex-start;margin-bottom:14px}.brand-copy small,.header-balance,.sync-status{display:none}.top-actions{gap:6px}.profile-picker{min-width:0}.profile-picker select{max-width:118px}.parent-label{display:none}.parent-button{width:46px;padding:0}.hero{grid-template-columns:1fr;gap:17px;padding:25px 22px}.hero-v3{display:grid}.hero-profile{align-items:flex-start;gap:12px}.hero-avatar{border-radius:18px;width:58px;height:58px;font-size:31px}.hero-stats{grid-template-columns:repeat(3,1fr)}.hero-stat{text-align:center;grid-template-columns:1fr;justify-items:center;min-height:66px;padding:8px 5px}.hero-stat>span{grid-row:auto;font-size:18px}.hero-stat strong{font-size:19px}.level-strip{margin-top:0;padding:14px}.level-heading{align-items:flex-start}.level-heading>div{gap:1px;display:grid}.hero-balance{justify-content:center;align-items:baseline;gap:7px;min-width:0;padding:13px 15px;display:flex}.hero-balance strong{font-size:36px}.progress-grid{grid-template-columns:1fr;gap:8px}.progress-card{padding:12px 14px}.progress-card-copy small{white-space:normal}.panel{border-radius:19px;padding:18px 15px}.daily-goal-panel{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:15px}.goal-ring{width:82px;height:82px}.goal-ring:before{width:62px;height:62px}.goal-ring span{font-size:15px}.goal-reward{grid-column:1/-1;width:100%}.badge-list{grid-template-columns:repeat(2,minmax(0,1fr))}.reward-list{grid-template-columns:1fr}.parent-header{align-items:flex-start;padding:14px}.unlocked-badge{display:none}.parent-header-actions .secondary-button{font-size:10px}.settings-body{padding:14px}.settings-intro{display:block}.settings-intro .primary-button{width:100%;margin-top:10px}.settings-form,.settings-form.reward-form,.challenge-form{grid-template-columns:1fr 1fr}.settings-form .name-field,.settings-form.reward-form .name-field,.settings-form.reward-form .reward-description-field,.challenge-form .name-field,.challenge-form .description-field,.settings-form .full-row{grid-column:1/-1}.goal-settings-form{grid-template-columns:1fr 1fr}.goal-settings-form .toggle-row{grid-column:1/-1}.challenge-approval-row{grid-template-columns:1fr auto}.challenge-approval-row span:nth-child(2){grid-column:1}.challenge-approval-row button{grid-area:1/2/3}.rule-grid,.data-actions,.form-grid{grid-template-columns:1fr}.field-label.wide{grid-column:auto}.adjust-row{grid-template-columns:100px 1fr}.adjust-row button{grid-column:1/-1}.modal{padding:10px}.modal-card:not(.parent-sheet){max-height:94vh;margin:3vh auto;padding:24px 18px;overflow-y:auto}.parent-sheet{overflow:hidden}}@media (max-width:390px){.child-choice-grid{grid-template-columns:1fr}.child-choice{min-height:146px}.brand-mark{width:42px;height:42px}.brand-copy strong{font-size:16px}.profile-avatar{display:none}.profile-picker select{max-width:104px}.week-chart{gap:4px}.hero-avatar{width:50px;height:50px;font-size:27px}.hero-stat small{font-size:8px}.daily-goal-panel{grid-template-columns:1fr}.goal-ring{margin:0 auto}.goal-reward{grid-column:auto}.settings-form,.settings-form.reward-form,.challenge-form,.goal-settings-form{grid-template-columns:1fr}.settings-form .name-field,.settings-form.reward-form .name-field,.settings-form.reward-form .reward-description-field,.settings-form .full-row,.challenge-form .name-field,.challenge-form .description-field,.goal-settings-form .toggle-row{grid-column:auto}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
