@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/baloo-2-latin-700-normal-CqTg7A15.woff2)format("woff2"),url(/assets/baloo-2-latin-700-normal-Ld3Zm3l2.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-latin-400-normal-r8SDr6Up.woff2)format("woff2"),url(/assets/nunito-latin-400-normal-DKg4f3fz.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-latin-700-normal-Dort48En.woff2)format("woff2"),url(/assets/nunito-latin-700-normal-OcDqTBcA.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-latin-800-normal-Dz8SOQK_.woff2)format("woff2"),url(/assets/nunito-latin-800-normal-D-J0wlBY.woff)format("woff")}:root{color:#0f172a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--navy:#0f172a;--slate:#475569;--line:#0f172a14;--card-shadow:0 18px 36px #0f172a24;background:linear-gradient(#dff4ff 0%,#fff4fa 48%,#fff8dc 100%);font-family:Nunito,Trebuchet MS,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html,body,#root{min-height:100dvh}body{min-width:320px;color:var(--navy);margin:0}body,button,input,textarea{font:inherit}button,input,textarea{border:0}button{cursor:pointer}img{max-width:100%;display:block}.app-shell{justify-content:center;min-height:100dvh;display:flex}.mobile-shell{background:#f8fafc;width:min(100%,412px);min-height:100dvh;position:relative;overflow:hidden}.mobile-shell__glow{display:none}.storage-banner{z-index:30;color:#8a5a00;box-shadow:var(--card-shadow);background:#fff3cd;border:2px solid #fde68a;border-radius:18px;margin:10px 12px 0;padding:12px 14px;font-size:.92rem;font-weight:800;position:sticky;top:10px}.screen,.setup-screen{min-height:100dvh;animation:.28s screen-in;position:relative}.screen{background:#f8fafc;padding-bottom:24px}.screen--home{background:#f8fafc}.home-stack,.subscreen-stack,.settings-stack{gap:18px;display:grid}.home-stack--mock{padding:0 0 24px}.subscreen-stack,.settings-stack{padding-top:16px}.subscreen__header,.screen__header{justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 16px 0;display:flex}.screen__eyebrow,.subscreen__eyebrow,.setup-card__eyebrow,.splash-screen__caption,.child-hero__eyebrow,.section-heading__eyebrow,.child-hero__total-label{letter-spacing:.22em;text-transform:uppercase;margin:0;font-size:.78rem;font-weight:900}.screen__title,.subscreen__title,.setup-card h1,.splash-screen h1{margin:6px 0 0;font-family:"Baloo 2",Trebuchet MS,sans-serif;font-size:clamp(2.2rem,9vw,3rem);line-height:.9}.subscreen__lead,.card__hint,.field__help,.activity-item__time,.reward-card__meta,.setup-card__copy{color:#64748b;margin:8px 0 0}.back-button,.icon-button,.child-hero__settings{background:#ffffffeb;border-radius:16px;justify-content:center;align-items:center;width:46px;height:46px;display:inline-flex;box-shadow:0 10px 24px #0f172a1f}.child-hero{color:#fff;background:linear-gradient(#38bdf8 0%,#67e8f9 45%,#99f6e4 100%);padding:54px 20px 20px;position:relative;overflow:hidden}.child-hero:after{content:"";background:#f8fafc;border-top-left-radius:100%;border-top-right-radius:100%;height:42px;position:absolute;bottom:-18px;left:-4%;right:-4%}.child-hero__decor{font-size:1.25rem;position:absolute;top:14px}.child-hero__decor--left{left:14px}.child-hero__decor--right{right:18px}.child-hero__settings{z-index:2;position:absolute;top:16px;right:16px}.child-hero__top{z-index:1;align-items:center;gap:14px;display:flex;position:relative}.child-hero__avatar{background:#ffffff57;border:4px solid #fff;border-radius:999px;flex-shrink:0;width:88px;height:88px;position:relative;overflow:hidden;box-shadow:0 16px 28px #0f172a33}.child-hero__avatar img,.setup-avatar img{object-fit:cover;width:100%;height:100%}.child-hero__avatar-placeholder,.setup-avatar{justify-content:center;align-items:center;display:flex;position:relative}.child-hero__avatar-placeholder{width:100%;height:100%;font-size:2.3rem}.child-hero__badge,.setup-avatar__badge{color:#854d0e;background:#fde047;border:2px solid #fff;border-radius:999px;justify-content:center;align-items:center;width:28px;height:28px;font-size:.9rem;display:inline-flex;position:absolute;bottom:-2px;right:-2px}.child-hero__copy{min-width:0}.child-hero__copy h2{margin:2px 0 0;font-family:"Baloo 2",Trebuchet MS,sans-serif;font-size:2rem;line-height:.94}.child-hero__copy p:last-child{color:#fffffff2;margin:6px 0 0;font-weight:700}.child-hero__total{z-index:1;color:var(--navy);background:#fff;border:4px solid #fef08a;border-radius:28px;justify-content:space-between;align-items:end;gap:12px;margin-top:18px;padding:16px 18px;display:flex;position:relative;box-shadow:0 18px 24px #0f172a24}.child-hero__total-value{color:#0284c7;margin-top:2px;font-family:"Baloo 2",Trebuchet MS,sans-serif;font-size:clamp(3.2rem,15vw,4.4rem);line-height:.86}.child-hero__pill{color:#b45309;text-align:center;background:#fef3c7;border:1px solid #fde68a;border-radius:999px;padding:10px 14px;font-size:.88rem;font-weight:900}.chip{color:#7c3aed;background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;align-items:center;gap:6px;padding:8px 12px;font-size:.78rem;font-weight:900;display:inline-flex}.action-panel,.surface-card,.info-card,.settings-card,.empty-state,.reward-card,.activity-item,.modal-sheet,.setup-card,.splash-screen__panel{box-shadow:var(--card-shadow);background:#fff;border-radius:26px}.action-panel,.surface-card,.info-card,.settings-card{margin:0 16px;padding:16px}.section-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.section-heading--mock{margin-bottom:14px}.section-heading h3{margin:4px 0 0;font-size:1.15rem;font-weight:900}.section-heading__tag{letter-spacing:.2em;text-transform:uppercase;text-align:right;font-size:.64rem;font-weight:900}.section-heading__tag--add{color:#059669}.section-heading__tag--remove{color:#e11d48}.preset-grid{gap:12px;display:grid}.preset-grid--add{grid-template-columns:repeat(2,minmax(0,1fr))}.preset-grid--remove{grid-template-columns:1fr}.preset-button{text-align:left;border-radius:24px;align-content:start;gap:10px;transition:transform .15s;display:grid}.preset-button:active,.type-points-button:active,.rewards-launch:active,.setup-button:active,.soft-button:active,.inline-button:active,.danger-button:active,.save-button:active,.quick-link:active,.sheet-button:active,.tab-button:active{transform:scale(.985)}.preset-button--add{background:linear-gradient(#d1fae5 0%,#f7fee7 100%);border:2px solid #a7f3d0;min-height:116px;padding:14px}.preset-button--remove{background:linear-gradient(#ffe4e6 0%,#fff1f2 100%);border:2px solid #fecdd3;grid-template-columns:auto 1fr auto;align-items:center;min-height:88px;padding:14px}.preset-button__icon{font-size:1.8rem}.preset-button--remove .preset-button__icon{background:#ffffffd1;border:1px solid #fecdd3;border-radius:18px;justify-content:center;align-items:center;width:48px;height:48px;display:inline-flex}.preset-button__label{color:var(--navy);font-size:.95rem;font-weight:900;line-height:1.18}.preset-button__points{color:#fff;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;width:fit-content;padding:8px 12px;font-size:.88rem;font-weight:900;display:inline-flex}.preset-button--add .preset-button__points{background:#10b981}.preset-button--remove .preset-button__points{background:#f43f5e}.type-points-button{color:#fff;background:linear-gradient(90deg,#8b5cf6 0%,#d946ef 48%,#ec4899 100%);border:4px solid #ddd6fe;border-radius:30px;align-items:center;gap:14px;margin:0 16px;padding:18px;display:flex;box-shadow:0 18px 28px #8b5cf642}.type-points-button__icon{background:#ffffff2e;border:2px solid #ffffff8f;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;font-size:1.6rem;display:inline-flex}.type-points-button__copy{text-align:left;gap:2px;display:grid}.type-points-button strong{letter-spacing:.06em;text-transform:uppercase;font-size:1.1rem;font-weight:900}.type-points-button span{color:#fffffff0;font-size:.9rem;font-weight:700}.surface-card--list{box-shadow:none;background:0 0;padding:0}.surface-card--list .section-heading{padding:0 16px}.soft-button,.inline-button,.quick-link,.sheet-button,.save-button,.setup-button,.tab-button{min-height:44px;padding:10px 14px;font-weight:900}.soft-button,.inline-button,.sheet-button--secondary{color:#7c3aed;background:#fff;border:1px solid #e2e8f0;border-radius:999px}.soft-button--violet{background:#f5f3ff;border-color:#ddd6fe}.activity-list{gap:10px;margin:0 16px;display:grid}.activity-item{border:2px solid #f1f5f9;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.activity-item__main{align-items:center;gap:12px;min-width:0;display:flex}.activity-item__icon{background:#f8fafc;border:1px solid #e2e8f0;border-radius:18px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.3rem;display:inline-flex}.activity-item__reason{margin:0;font-size:.95rem;font-weight:900}.activity-item__time{font-size:.78rem;font-weight:700}.activity-item__points{white-space:nowrap;border-radius:999px;padding:8px 12px;font-size:.86rem;font-weight:900}.activity-item__points--add{color:#15803d;background:#dcfce7;border:1px solid #bbf7d0}.activity-item__points--remove{color:#be123c;background:#ffe4e6;border:1px solid #fecdd3}.rewards-launch,.quick-link,.save-button,.setup-button--primary{color:#fff;background:linear-gradient(90deg,#8b5cf6 0%,#d946ef 50%,#ec4899 100%);border-radius:24px;width:calc(100% - 32px);margin:0 16px;box-shadow:0 16px 28px #8b5cf642}.rewards-launch{text-align:left;gap:4px;padding:16px 18px;display:grid}.rewards-launch span{font-size:1rem;font-weight:900}.rewards-launch small{color:#ffffffeb;font-size:.82rem;font-weight:700}.reward-stack{gap:12px;display:grid}.reward-card{border:2px solid #f1f5f9;padding:16px}.reward-card__top{justify-content:space-between;gap:12px;display:flex}.reward-card__title{margin:0;font-weight:900}.reward-card__badge{color:#a21caf;white-space:nowrap;background:#f5d0fe;border-radius:999px;padding:8px 12px;font-size:.84rem;font-weight:900}.progress-track{background:#e2e8f0;border-radius:999px;height:12px;margin-top:12px;overflow:hidden}.progress-track__fill{border-radius:inherit;background:linear-gradient(90deg,#8b5cf6 0%,#ec4899 100%);height:100%}.quick-link{text-align:left;display:block}.quick-link small{color:#ffffffeb;margin-top:4px;font-size:.82rem;display:block}.settings-stack{padding-bottom:24px}.settings-card{gap:14px;display:grid}.settings-card__header{justify-content:space-between;align-items:center;gap:12px;display:flex}.settings-card__header h3{margin:0;font-size:1.2rem;font-weight:900}.field{gap:8px;display:grid}.field-label{font-size:.92rem;font-weight:900}.text-input,.number-input,.textarea-input{width:100%;min-height:50px;color:var(--navy);background:#f8fafc;border:2px solid #e2e8f0;border-radius:18px;padding:14px 16px}.text-input--playful{background:#fff}.textarea-input{resize:vertical;min-height:92px}.editor-list{gap:12px;display:grid}.editor-row{background:#f8fafc;border:2px solid #e2e8f0;border-radius:18px;gap:10px;padding:12px;display:grid}.editor-row__top{justify-content:space-between;align-items:center;gap:10px;display:flex}.editor-row__fields{grid-template-columns:minmax(0,1fr) 98px;gap:10px;display:grid}.avatar-editor{align-items:center;gap:14px;display:flex}.avatar-editor .avatar,.setup-avatar{background:linear-gradient(#e0f2fe 0%,#fce7f3 100%);border:4px solid #fff;border-radius:999px;flex-shrink:0;width:88px;height:88px;font-size:2rem;overflow:hidden;box-shadow:0 10px 24px #0f172a1f}.avatar-editor__buttons{gap:10px;min-width:0;display:grid}.danger-button{color:#be123c;background:#ffe4e6;border-radius:16px;min-height:44px;padding:10px 14px;font-weight:900}.actions-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.setup-screen{background:linear-gradient(#38bdf8 0%,#67e8f9 44%,#c084fc 100%);justify-content:center;align-items:center;padding:20px 16px;display:flex}.setup-screen__sky{position:absolute;inset:0}.setup-screen__cloud{z-index:1;font-size:2rem;position:absolute}.setup-screen__cloud--left{top:20px;left:18px}.setup-screen__cloud--right{top:22px;right:18px}.setup-card{z-index:2;text-align:center;width:100%;padding:24px 18px;position:relative}.setup-card h1{font-size:clamp(2rem,8vw,2.7rem)}.setup-avatar{width:120px;height:120px;margin:16px auto}.setup-actions{gap:10px;margin-bottom:14px;display:grid}.setup-button{border-radius:22px}.setup-button--primary{padding:16px}.setup-button--secondary,.setup-button--ghost{color:#0f172a;background:#fff;border:2px solid #e2e8f0;width:100%;margin:0}.setup-button--ghost{color:#7c3aed;background:#f5f3ff;border-color:#ddd6fe}.modal-backdrop{z-index:40;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f172a59;justify-content:center;align-items:end;padding:10px;display:flex;position:fixed;inset:0}.modal-sheet{background:linear-gradient(#fff 0%,#fff7fb 100%);border-radius:30px;width:min(100%,412px);max-height:min(82dvh,720px);padding:18px;overflow:auto}.modal-sheet__top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.modal-sheet__top h3{margin:0;font-size:1.4rem;font-weight:900}.modal-sheet__top p{color:#64748b;margin:6px 0 0}.modal-sheet__body{gap:14px;margin-top:16px;display:grid}.toggle-group,.sheet-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.tab-button{color:var(--navy);background:#fff;border:2px solid #e2e8f0;border-radius:18px}.tab-button--active.tab-button--add{color:#15803d;background:#dcfce7;border-color:#86efac}.tab-button--active.tab-button--remove{color:#be123c;background:#ffe4e6;border-color:#fda4af}.sheet-button{border-radius:18px}.sheet-button--primary{color:#fff;background:linear-gradient(90deg,#8b5cf6 0%,#ec4899 100%)}.sheet-button--danger{color:#fff;background:linear-gradient(90deg,#fb7185 0%,#f97316 100%)}.empty-state{text-align:center;padding:24px 18px}.empty-state h3{margin:0;font-size:1.45rem;font-weight:900}.empty-state p{color:#64748b;margin:8px 0 0}.empty-state--soft{margin:0 16px}.error-text{color:#be123c;margin:0;font-size:.9rem;font-weight:900}.splash-screen{background:linear-gradient(#38bdf8 0%,#67e8f9 44%,#c084fc 100%);justify-content:center;align-items:center;min-height:100dvh;padding:18px;display:flex}.splash-screen__panel{color:#fff;text-align:center;width:100%;max-width:412px;min-height:88dvh;box-shadow:none;background:0 0;flex-direction:column;justify-content:center;align-items:center;padding:32px 28px 40px;display:flex;position:relative}.splash-screen__bubble{z-index:1;font-size:2rem;position:absolute}.splash-screen__bubble--one{top:26px;left:16px}.splash-screen__bubble--two{top:46px;right:18px}.splash-screen__bubble--three{bottom:120px;left:18px}.splash-screen__bubble--four{bottom:88px;right:18px}.splash-screen__sparkle{z-index:2;background:#ffffff47;border:4px solid #fff;border-radius:999px;justify-content:center;align-items:center;width:128px;height:128px;font-size:3.6rem;display:inline-flex;position:relative;box-shadow:0 18px 28px #0f172a2e}.splash-screen__caption{z-index:2;color:#ffffffeb;margin-top:24px;position:relative}.splash-screen h1{z-index:2;text-shadow:0 8px 16px #0f172a33;margin-top:12px;font-size:clamp(3rem,14vw,4.2rem);position:relative}.splash-screen p:last-of-type{z-index:2;color:#fffffff5;max-width:17rem;margin-top:10px;font-size:1rem;font-weight:700;position:relative}.splash-screen__start{z-index:2;width:100%;margin-top:28px;position:relative}.splash-screen__start .save-button,.splash-screen__start button{color:#0284c7;background:#fff;border:4px solid #fef08a;border-radius:24px;width:100%;margin:0;box-shadow:0 18px 24px #0f172a29}.splash-screen__dots{gap:8px;margin-top:28px;display:inline-flex}.splash-screen__dots span{background:#fff;border-radius:999px;width:10px;height:10px;animation:1s ease-in-out infinite bob}.splash-screen__dots span:nth-child(2){animation-delay:.12s}.splash-screen__dots span:nth-child(3){animation-delay:.24s}.hidden-input{display:none}@keyframes screen-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes bob{0%,80%,to{opacity:.55;transform:translateY(0)}40%{opacity:1;transform:translateY(-6px)}}@media (width>=480px){.app-shell{padding:24px 0}.mobile-shell{border:8px solid #0f172a;border-radius:42px;min-height:calc(100dvh - 48px);box-shadow:0 30px 56px #0f172a33}.mobile-shell:before{z-index:50;content:"";background:#0f172a;border-bottom-right-radius:24px;border-bottom-left-radius:24px;width:144px;height:28px;position:absolute;top:0;left:50%;transform:translate(-50%)}}
