:root{--ink:#182033;--muted:#6d7589;--purple:#5546e5;--purple2:#a348ee;--card:rgba(255,255,255,.92);--line:rgba(30,40,66,.11);--shadow:0 24px 70px rgba(15,22,48,.2);--success:#20aa69;--warning:#ee9c19;--danger:#d94d62}
*{box-sizing:border-box}
html{font:16px/1.45 Manrope,system-ui,sans-serif;width:100%;max-width:100%;overflow-x:hidden}
body{margin:0;color:var(--ink);background:#10172d;width:100%;max-width:100%;overflow-x:hidden}
button,input,select{font:inherit}
button{cursor:pointer}
.hidden{display:none!important}
.boot{min-height:100vh;display:grid;place-content:center;text-align:center;background:radial-gradient(circle at 50% 35%,#6c5bea,#282061 50%,#0c1024);color:white}
.boot-coin{width:88px;height:88px;border-radius:50%;display:grid;place-items:center;margin:auto;background:linear-gradient(145deg,#ffe17b,#f2a20c);border:6px solid #fff1a8;color:#805000;font-size:2.7rem;font-weight:900;animation:pulse 1.3s infinite}
.boot p{font-weight:800;letter-spacing:.08em}
.entry{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr;background:#fff}
.entry-art{position:relative;overflow:hidden;padding:42px 5vw;color:white;background:linear-gradient(135deg,#35268fdd,#602dd4aa),url('./assets/block-world.png') center/cover}
.brand-light,.brand-dark{font-weight:800;font-size:1.15rem;display:flex;align-items:center;gap:10px}
.brand-light span,.brand-dark span,.brand-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(145deg,#ffe077,#f3aa17);color:#7a4800;box-shadow:inset 0 -4px 0 #9d5b1833}
.entry-copy{position:absolute;left:6vw;bottom:12vh;max-width:600px}
.entry-copy h1{font-size:clamp(2.8rem,5vw,5.4rem);line-height:.96;letter-spacing:-.065em;margin:12px 0 20px}
.entry-copy p{font-size:1.1rem;max-width:470px;color:#eeeaff}
.mini-stars{letter-spacing:.35em;color:#ffd85a}
.floating-card{position:absolute;background:#ffffffed;color:var(--ink);border-radius:18px;padding:14px 17px;box-shadow:var(--shadow)}
.fc-one{right:8%;top:20%;font-size:1.4rem;transform:rotate(5deg)}
.fc-two{right:10%;bottom:9%;transform:rotate(-3deg)}
.entry-panel{display:grid;place-items:center;padding:45px}
.entry-step{width:min(440px,100%)}
.eyebrow{font-size:.74rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#737b90}
.eyebrow.light{color:#ffffffc0}
.eyebrow.purple{color:var(--purple)}
.eyebrow.gold{color:#ffd75d}
.entry-step h2,.onboarding-card h2{font-size:clamp(2rem,4vw,3rem);line-height:1.08;letter-spacing:-.045em;margin:9px 0 25px}
.entry-step h2 span{color:#9298a8}
.language-cards{display:grid;gap:12px}
.language-cards button{border:1px solid var(--line);background:#f8f8fc;border-radius:19px;padding:19px;text-align:left}
.language-cards button:hover{border-color:#887df0;transform:translateY(-2px);box-shadow:0 13px 30px #5748d51f}
.language-cards b,.language-cards span{display:block}
.language-cards b{font-size:1.05rem}
.language-cards span{font-size:.8rem;color:var(--muted);margin-top:3px}
.back-link,.switch-auth{border:0;background:transparent;color:var(--muted);padding:8px 0}
.auth-tabs{display:grid;grid-template-columns:1fr 1fr;background:#f0f1f6;border-radius:15px;padding:4px;margin-bottom:16px}
.auth-tabs button{border:0;background:transparent;border-radius:12px;padding:11px;font-weight:800;color:#697187}
.auth-tabs button.active{background:white;color:var(--purple);box-shadow:0 4px 14px #1e25401a}
.google-button{width:100%;border:1px solid var(--line);background:white;border-radius:14px;padding:13px;font-weight:700;display:flex;justify-content:center;gap:10px}
.google-button span:first-child{color:#4285f4;font-weight:900}
.divider{display:flex;align-items:center;gap:12px;color:#9aa0ad;font-size:.75rem;margin:15px 0}
.divider:before,.divider:after{content:"";height:1px;background:#e5e7ed;flex:1}
.form-stack{display:grid;gap:13px}
.form-stack label,.settings-card label,.pin-label{display:grid;gap:6px;font-size:.77rem;font-weight:700;color:#596176}
.form-stack input,.form-stack select,.settings-card input,.settings-card select,.pin-label input{width:100%;border:1px solid #dde1eb;background:white;border-radius:13px;padding:12px;color:var(--ink);outline:0}
.form-stack input:focus,.form-stack select:focus,.settings-card input:focus,.settings-card select:focus{border-color:#8175ee;box-shadow:0 0 0 3px #eceaff}
.switch-auth{width:100%;margin-top:13px}
.switch-auth b{color:var(--purple)}
.form-message{min-height:20px;margin:12px 0 0;color:var(--danger);font-size:.8rem}
.child-login-hint,.info-card{background:#f3f2ff;border-radius:15px;padding:13px;font-size:.8rem;color:#5e6580}
.info-card b,.info-card p{display:block;margin:0}
.info-card p{margin-top:4px}
.primary-button,.secondary-button,.text-button{border:0;border-radius:13px;font-weight:800;padding:12px 16px}
.primary-button{background:linear-gradient(135deg,#6658eb,#4336c9);color:white;box-shadow:0 10px 25px #4336c933}
.secondary-button{background:#f0f1f6;color:#4b5368}
.text-button{background:transparent;color:var(--purple);padding:8px}
.full{width:100%}
.compact{padding:9px 12px;font-size:.78rem}
.onboarding{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#211954,#593dcc)}
.onboarding-card{width:min(780px,100%);background:white;border-radius:30px;padding:32px 40px;box-shadow:var(--shadow)}
.step-dots{display:flex;gap:7px;justify-content:center;margin-bottom:20px}
.step-dots i{width:38px;height:5px;border-radius:999px;background:#e5e6ed}
.step-dots i.active{background:var(--purple)}
.brand-dark{position:absolute}
.onboarding-step{display:none;padding-top:58px}
.onboarding-step.active{display:block}
.onboarding-step>p{color:var(--muted);margin-top:-16px}
.two-col{grid-template-columns:1fr 1fr}
.onboarding .primary-button{margin-top:18px}
.step-buttons{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}
.onboarding .step-buttons .secondary-button{flex:0 0 auto;min-width:108px}
.onboarding .step-buttons .primary-button{flex:1;max-width:260px;min-width:180px;margin-top:0;padding:14px 22px}
.theme-picker{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:18px 0}
.theme-option{border:2px solid transparent;background:#f1f2f6;border-radius:17px;padding:5px;text-align:left;position:relative}
.theme-option.active{border-color:var(--purple);background:#eeecff}
.theme-option .theme-preview{height:90px;border-radius:11px;background-size:cover;background-position:center;display:grid;place-items:center;font-size:2rem}
.theme-option b{display:block;font-size:.72rem;padding:7px 5px 4px}
.theme-block-preview{background-image:url('./assets/block-world.png')}
.theme-pop-preview{background-image:url('./assets/cool-girl-pop.png')}
.theme-space-preview{background-image:url('./assets/space-academy.jpg')}
.theme-ocean-preview{background-image:url('./assets/ocean-adventure.jpg')}
.theme-dino-preview{background-image:url('./assets/dino-expedition.jpg')}
.theme-race-preview{background-image:url('./assets/neon-race.jpg')}
.theme-magic-preview{background-image:url('./assets/magic-academy.jpg')}
.theme-capy-preview{background-image:url('./assets/cozy-capybaras.jpg')}
.app-shell{width:100%;min-width:0;min-height:100vh;padding:18px 34px 42px;background-size:cover;background-position:center;background-attachment:fixed;position:relative;isolation:isolate;transition:.35s;overflow-x:clip}
.app-shell:before{content:"";position:fixed;inset:0;z-index:-1;background:linear-gradient(120deg,#142649d9,#432a79a8,#132c49c9)}
.theme-block{background-image:url('./assets/block-world.png')}
.theme-pop{background-image:url('./assets/cool-girl-pop.png')}
.theme-pop:before{background:linear-gradient(120deg,#5e175fd1,#a62972a1,#311653bd)}
.theme-space{background-image:url('./assets/space-academy.jpg')}
.theme-ocean{background-image:url('./assets/ocean-adventure.jpg')}
.theme-dino{background-image:url('./assets/dino-expedition.jpg')}
.theme-race{background-image:url('./assets/neon-race.jpg')}
.theme-magic{background-image:url('./assets/magic-academy.jpg')}
.theme-capy{background-image:url('./assets/cozy-capybaras.jpg')}
.glass{background:var(--card);border:1px solid #ffffff7d;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}
.topbar{width:100%;height:72px;max-width:1440px;margin:0 auto 28px;border-radius:22px;padding:0 18px;display:flex;align-items:center;justify-content:space-between}
.brand{border:0;background:transparent;display:flex;align-items:center;gap:10px;font-size:1rem;color:var(--ink)}
.role-switch{display:flex;padding:4px;border-radius:14px;background:#edeef4}
.role-switch button{border:0;background:transparent;padding:10px 18px;border-radius:11px;font-weight:800;color:#687087}
.role-switch button.active{background:white;color:var(--purple);box-shadow:0 3px 13px #29304d1e}
.top-actions{display:flex;gap:9px}
.icon-button,.avatar-button{border:0;width:42px;height:42px;border-radius:14px;font-weight:900}
.icon-button{background:#edeef4;color:#495168}
.avatar-button{background:linear-gradient(145deg,#ffbe62,#ff765e);color:white}
.view{display:none;width:100%;max-width:1440px;min-width:0;margin:auto}
.view.active{display:block}
.child-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,.8fr);gap:27px;align-items:start}
.child-layout>*,.parent-dashboard>*,.parent-priority-grid>*,.disclosure-content>*,.hero-column,.goal-card>*,.quest-copy,.review-copy,.manager-row>*,.ledger-row>*{min-width:0}
.hero-column{padding:30px 8px 0;color:white}
.hero-column>h1,.parent-heading h1{font-size:clamp(2.1rem,4vw,3.5rem);letter-spacing:-.055em;line-height:1.06;margin:6px 0}
.lead,.parent-heading p{color:#ffffffc7;margin:0}
.goal-card{color:var(--ink);margin-top:27px;padding:20px;border-radius:27px;display:grid;grid-template-columns:180px 1fr;gap:25px;align-items:center}
.goal-visual{min-height:168px;border-radius:21px;display:grid;place-items:center;font-size:5rem;background:linear-gradient(145deg,#bdf4ff,#665bea);background-size:cover;background-position:center}
.goal-card h2{font-size:1.5rem;margin:5px 0 16px}
.goal-values{display:flex;gap:8px;align-items:baseline}
.goal-values strong{font-size:1.35rem}
.goal-values span,.goal-card small{color:var(--muted);font-size:.8rem}
.progress{height:9px;border-radius:999px;background:#e7e9f1;overflow:hidden;margin:9px 0}
.progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#6456e8,#ad48ef);width:0;transition:width .3s}
.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-top:15px}
.stat-card{color:var(--ink);border-radius:19px;padding:14px;display:flex;align-items:center;gap:10px}
.stat-card small,.stat-card b{display:block}
.stat-card small{color:var(--muted);font-size:.72rem}
.stat-symbol{width:38px;height:38px;border-radius:12px;display:grid;place-items:center}
.stat-symbol.money{background:#eae8ff;color:var(--purple)}
.stat-symbol.star{background:#fff1c6;color:#dd8a00}
.stat-symbol.fire{background:#ffe4e1}
.star-shop{color:var(--ink);border-radius:24px;padding:20px;margin-top:15px}
.section-title,.section-title>div{display:flex;align-items:center;justify-content:space-between;gap:10px}
.section-title h2{font-size:1.05rem;margin:0}
.section-title p{font-size:.72rem;color:var(--muted);margin:2px 0}
.soft-icon,.count-badge{width:34px;height:34px;border-radius:11px;background:#eceaff;color:var(--purple);display:grid;place-items:center;font-weight:900}
.reward-list{display:flex;gap:9px;overflow:auto;margin-top:14px;padding-bottom:2px}
.reward-card{min-width:150px;border:1px solid var(--line);border-radius:16px;background:#fff;padding:12px;text-align:left}
.reward-card span{font-size:1.45rem}
.reward-card b,.reward-card small{display:block}
.reward-card b{font-size:.76rem;margin-top:5px}
.reward-card small{font-size:.7rem;color:#d48700;margin-top:3px}
.reward-card:disabled{opacity:1}
.reward-card.not-enough{background:#fafaff}.reward-card.not-enough small{color:#8a789d}
.quest-panel{border-radius:27px;padding:24px;display:flex;flex-direction:column}
.quest-head{display:flex;align-items:center;justify-content:space-between}
.quest-head h2{font-size:1.9rem;margin:4px 0 7px}
.ring{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--purple) 0%,#e7e9f1 0);position:relative}
.ring:after{content:"";position:absolute;width:44px;height:44px;border-radius:50%;background:white}
.ring span{position:relative;z-index:1;font-size:.68rem;font-weight:900}
.quest-list{overflow:visible;margin:13px -4px 10px;padding:0 4px}
.quest-item{display:grid;grid-template-columns:44px 1fr auto;gap:11px;align-items:center;padding:10px 3px;border-bottom:1px solid var(--line)}
.quest-emoji{width:42px;height:42px;border-radius:13px;background:#f1f2f7;display:grid;place-items:center;font-size:1.25rem}
.quest-copy b,.quest-copy small{display:block}
.quest-copy b{font-size:.86rem}
.quest-copy small{font-size:.69rem;color:var(--muted)}
.reward-tag{display:inline!important;margin-top:3px;color:var(--purple)!important}
.quest-action{border:0;border-radius:11px;padding:8px 10px;min-width:82px;font-size:.68rem;font-weight:900}
.quest-action.todo{background:#eceaff;color:var(--purple)}
.quest-action.pending{background:#fff0c9;color:#9d6400}
.quest-action.approved{background:#dff7ec;color:#178351}
.bonus-banner{display:flex;align-items:center;gap:11px;padding:12px 13px;border-radius:16px;background:linear-gradient(110deg,#fff5c8,#ffe1a5)}
.bonus-banner>span{width:37px;height:37px;border-radius:50%;display:grid;place-items:center;background:#f3af1b;color:white}
.bonus-banner b,.bonus-banner small{display:block}
.bonus-banner b{font-size:.82rem}
.bonus-banner small{font-size:.7rem;color:#896019}
.parent-heading{display:flex;align-items:end;justify-content:space-between;color:white;margin:28px 4px 23px}
.parent-heading h1{font-size:2.7rem}
.parent-dashboard{display:grid;gap:18px}
.parent-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.parent-overview article{display:flex;align-items:center;gap:12px;min-width:0;padding:15px 17px;border-radius:19px;background:#fffffff0;border:1px solid #ffffff8a;box-shadow:0 12px 32px #1b184326}
.parent-overview article>span{flex:0 0 40px;width:40px;height:40px;border-radius:13px;display:grid;place-items:center;background:#eceaff;color:var(--purple);font-weight:900}
.parent-overview article.attention{background:#fff5e2;border-color:#ffd68b}.parent-overview article.attention>span{background:#ffdf9e;color:#9b6000}
.parent-overview small,.parent-overview b{display:block;overflow-wrap:anywhere}.parent-overview small{font-size:.7rem;color:var(--muted)}.parent-overview b{font-size:1.25rem;margin-top:2px}
.parent-priority-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr);gap:18px;align-items:start}
.parent-disclosure{border:1px solid #ffffff8a;border-radius:22px;background:#fffffff2;box-shadow:var(--shadow);overflow:hidden}
.parent-disclosure summary{list-style:none;display:grid;grid-template-columns:44px minmax(0,1fr) 28px;gap:12px;align-items:center;padding:17px 19px;cursor:pointer;user-select:none}
.parent-disclosure summary::-webkit-details-marker{display:none}
.parent-disclosure summary .disclosure-icon{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:#eceaff;color:var(--purple);font-size:1.1rem;font-weight:900}
.parent-disclosure summary b,.parent-disclosure summary small{display:block}.parent-disclosure summary b{font-size:.95rem}.parent-disclosure summary small{margin-top:3px;color:var(--muted);font-size:.7rem}
.parent-disclosure summary i{width:28px;height:28px;border-radius:10px;background:#f0f1f6;display:grid;place-items:center;font-style:normal;color:#687087;transition:transform .2s}
.parent-disclosure summary i:before{content:'›';font-size:1.35rem;line-height:1}
.parent-disclosure[open] summary i{transform:rotate(90deg)}
.disclosure-content{padding:0 18px 18px}.disclosure-content.two-panel{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:16px}.panel-card.flat{height:100%;background:#fff;border-color:var(--line);box-shadow:none}
.panel-card{background:#fffffff2;border:1px solid #ffffff8a;border-radius:25px;padding:22px;box-shadow:var(--shadow)}
.review-list{display:grid;gap:9px;margin-top:15px}
.review-row{display:grid;grid-template-columns:42px 1fr auto;gap:10px;align-items:center;border:1px solid var(--line);padding:10px;border-radius:16px}
.review-copy b,.review-copy small{display:block}
.review-copy b{font-size:.82rem}
.review-copy small{font-size:.7rem;color:var(--muted)}
.review-actions{display:flex;gap:6px}
.review-actions button{width:36px;height:36px;border:0;border-radius:11px;font-weight:900}
.reject{background:#ffe5e9;color:#bc3d53}
.approve{background:#def7ea;color:#168451}
.empty-state{text-align:center;padding:28px 10px}
.empty-state>span{width:50px;height:50px;display:grid;place-items:center;margin:auto;border-radius:50%;background:#def7ea;color:#168451}
.empty-state h3{margin:10px 0 3px}
.empty-state p{margin:0;font-size:.8rem;color:var(--muted)}
.wallet-summary{margin:15px 0;padding:17px;border-radius:18px;background:linear-gradient(125deg,#28215f,#5b4bd9);color:white}
.section-title>.wallet-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.wallet-actions .add-money{background:#def7ea;color:#168451}
.wallet-summary strong,.wallet-summary span{display:block}
.wallet-summary strong{font-size:2rem}
.wallet-summary span{font-size:.72rem;opacity:.72}
.wallet-jars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.child-wallet-jars{margin-top:14px}
.wallet-jar{display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:10px;padding:13px;border:1px solid #ffffff99;border-radius:19px;background:#ffffffeb;box-shadow:0 9px 28px #15203a17;min-width:0}
.wallet-jar>span{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;font-size:1.25rem}
.wallet-jar small,.wallet-jar b,.wallet-jar p{display:block;margin:0}
.wallet-jar small{font-size:.72rem;font-weight:900;color:#424b62}.wallet-jar b{font-size:1rem;margin-top:2px;color:#172033;text-shadow:none}.wallet-jar p{font-size:.64rem;color:var(--muted);line-height:1.25;margin-top:3px}
.wallet-jar.saving>span{background:#e6e1ff}.wallet-jar.spending>span{background:#dff5ff}.wallet-jar.sharing>span{background:#fff0c9}
.parent-wallet-jars{margin:-4px 0 14px}.parent-wallet-jars .wallet-jar{box-shadow:none;border-color:var(--line);padding:10px}.parent-wallet-jars .wallet-jar>span{width:36px;height:36px}
.wallet-split-settings{border:1px solid var(--line);border-radius:17px;padding:13px;margin:0}.wallet-split-settings legend{padding:0 7px;font-size:.78rem;font-weight:900}.wallet-split-settings .muted{margin-top:9px}.wallet-split-settings .muted b{color:var(--purple)}.wallet-split-settings .muted b.invalid{color:#c23850}
.ledger-row{display:grid;grid-template-columns:34px 1fr auto;gap:9px;align-items:center;padding:9px 2px;border-bottom:1px solid var(--line)}
.ledger-row:last-child{border:0}
.ledger-icon{width:32px;height:32px;border-radius:10px;background:#f0f1f6;display:grid;place-items:center}
.ledger-row b,.ledger-row small{display:block}
.ledger-row b{font-size:.78rem}
.ledger-row small{font-size:.67rem;color:var(--muted)}
.amount{font-size:.8rem;font-weight:900}
.amount.plus{color:#168451}
.amount.minus{color:#bf4056}
.settings-card{display:grid;gap:13px}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.three-col{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.access-code{border-radius:16px;background:#f4f3ff;padding:13px}
.access-code span,.access-code strong{display:block}
.access-code span{font-size:.7rem;color:var(--muted)}
.access-code strong{font-size:1.55rem;letter-spacing:.12em;color:var(--purple)}
.muted{font-size:.75rem;color:var(--muted);margin:0}
.mobile-nav{display:none}
.modal-backdrop{position:fixed;inset:0;z-index:30;background:#080d20aa;display:grid;place-items:center;padding:18px;overflow:hidden}
.modal{width:min(880px,100%);max-width:100%;max-height:91vh;overflow:auto;overscroll-behavior:contain;background:white;border-radius:28px;padding:29px;box-shadow:0 30px 100px #0007;position:relative}
.modal-close{position:absolute;right:16px;top:15px;width:40px;height:40px;border:0;border-radius:13px;background:#f0f1f6;font-size:1.4rem}
.modal h2{font-size:1.7rem;margin:7px 0 20px}
.install-offer{text-align:center;max-width:610px;margin:auto;padding:8px 8px 2px}.install-offer h2{font-size:clamp(1.7rem,4vw,2.35rem);line-height:1.08;margin:10px auto 14px;max-width:560px}.install-offer>.muted{max-width:540px;margin:0 auto 22px;line-height:1.55}.install-app-icon{width:92px;height:92px;margin:0 auto 16px;padding:7px;border-radius:25px;background:#eceaff;box-shadow:0 18px 40px #4938d233}.install-app-icon img{display:block;width:100%;height:100%;border-radius:20px}.install-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:20px 0}.install-benefits span{padding:12px 8px;border-radius:14px;background:#f3f2ff;color:#353052;font-size:.82rem;font-weight:800}.install-steps{counter-reset:install-step;display:grid;gap:10px;margin:20px 0;padding:0;text-align:left;list-style:none}.install-steps li{counter-increment:install-step;display:grid;grid-template-columns:34px 1fr;align-items:center;gap:11px;padding:12px 14px;border-radius:15px;background:#f5f6fa;color:#35384c;font-weight:700}.install-steps li:before{content:counter(install-step);display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#4938d2;color:white;font-weight:800}
.theme-modal-grid{grid-template-columns:repeat(4,1fr)}
.celebration{position:fixed;inset:0;z-index:50;display:grid;place-items:center;overflow:hidden;text-align:center;color:white;background:radial-gradient(circle,#6654e4,#21145e 50%,#09061d)}
.celebration canvas{position:absolute;inset:0;width:100%;height:100%}
.celebration-content{position:relative;z-index:2;width:min(920px,100%);max-height:100%;padding:20px;overflow:auto;overscroll-behavior:contain}
.mega-coin{width:180px;height:180px;border-radius:50%;margin:0 auto 22px;display:grid;place-items:center;background:radial-gradient(circle at 32% 25%,#fff2a5,#ffc327 45%,#d88600 75%);border:10px solid #ffe186;color:#8b5100;font-size:4.5rem;box-shadow:0 0 0 8px #b76d03,0 20px 70px #ffc02166;animation:coin 2.2s ease-in-out infinite}
.celebration h2{font-size:clamp(2.8rem,7vw,5.5rem);line-height:.95;letter-spacing:-.06em;margin:12px 0}
.celebration p{color:#ddd7ff}
.celebration-button{border:0;border-radius:16px;background:#ffd14a;color:#704100;padding:15px 23px;font-weight:900}
.celebration-close{position:absolute;z-index:3;right:22px;top:21px;width:44px;height:44px;border:1px solid #ffffff38;border-radius:14px;background:#ffffff16;color:white;font-size:1.5rem}
.toast{position:fixed;z-index:80;left:50%;bottom:24px;transform:translate(-50%,140%);background:#161b2c;color:white;padding:13px 18px;border-radius:13px;font-size:.8rem;font-weight:800;box-shadow:0 15px 40px #0005;transition:.25s}
.toast.show{transform:translate(-50%,0)}
.manager-list,.parents-list{display:grid;gap:9px;margin-top:14px}
.manager-row,.parent-chip{display:grid;grid-template-columns:42px 1fr auto;gap:10px;align-items:center;border:1px solid var(--line);padding:10px;border-radius:16px;background:#fff}
.manager-row b,.manager-row small,.parent-chip b,.parent-chip small{display:block}.manager-row small,.parent-chip small{font-size:.7rem;color:var(--muted)}
.edit-task{border:0;border-radius:11px;padding:8px 11px;background:#eceaff;color:var(--purple);font-weight:800}
.catalog-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}
.catalog-card{border:1px solid var(--line);border-radius:16px;background:#fff;padding:13px;text-align:left;position:relative}.catalog-card>span{font-size:1.6rem}.catalog-card b,.catalog-card small{display:block}.catalog-card b{font-size:.78rem;margin:5px 0}.catalog-card small{font-size:.68rem;color:var(--muted)}
.template-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0 20px}.template-card{border:2px solid transparent;border-radius:17px;background:#f5f5fa;padding:14px;text-align:left}.template-card:hover,.template-card.active{border-color:#7164eb;background:#efedff}.template-card span{font-size:1.8rem}.template-card b,.template-card small{display:block}.template-card b{font-size:.8rem;margin:6px 0}.template-card small{font-size:.68rem;color:var(--muted)}
.profile-hero{display:flex;gap:15px;align-items:center;margin-bottom:18px}.profile-avatar{width:74px;height:74px;border-radius:24px;display:grid;place-items:center;background:linear-gradient(145deg,#ffbe62,#ff765e);color:#fff;font-size:2rem;font-weight:900;background-size:cover;background-position:center}.avatar-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.avatar-choice{border:2px solid transparent;border-radius:16px;background:#f1f2f7;font-size:1.7rem;padding:9px}.avatar-choice.active{border-color:var(--purple);background:#eceaff}.invite-code{font-size:2rem;letter-spacing:.14em;font-weight:900;color:var(--purple);padding:16px;border-radius:16px;background:#f3f2ff;text-align:center}.danger-button{border:0;border-radius:13px;padding:12px 16px;background:#ffe5e9;color:#b83d53;font-weight:800}
.schedule-box{border:1px solid #e1e3ec;border-radius:18px;padding:16px;margin:0}.schedule-box legend{padding:0 8px;font-weight:900}.weekday-picker{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-top:14px}.weekday-picker label{cursor:pointer}.weekday-picker input{position:absolute;opacity:0}.weekday-picker span{display:grid;place-items:center;min-height:38px;border-radius:11px;background:#f2f3f8;font-size:.78rem;font-weight:800}.weekday-picker input:checked+span{background:var(--purple);color:#fff}.switch-line{display:flex!important;flex-direction:row!important;align-items:center;gap:10px;margin-top:14px}.switch-line input{width:20px;height:20px;flex:0 0 auto}.mail-invite{display:block;text-align:center;text-decoration:none;margin-top:10px}
.legal-consent{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:9px;margin-top:14px;padding:12px;border-radius:13px;background:#f5f4ff;color:#5d6477;font-size:.7rem;line-height:1.45}.legal-consent input{width:18px;height:18px;flex:0 0 auto;margin-top:1px}.legal-consent a{color:var(--purple);font-weight:800}.feedback-note{padding:12px 14px;border-radius:14px;background:#f5f4ff;color:var(--muted);font-size:.75rem;line-height:1.5}.form-stack textarea{width:100%;min-height:130px;resize:vertical;border:1px solid #dde0ea;border-radius:14px;padding:13px;font:inherit;color:var(--ink);background:#fff}.form-stack textarea:focus{outline:2px solid #6556eb44;border-color:var(--purple)}
.marketing-consent{margin-top:8px;background:#fafafa}
.profile-legal-links{display:flex;align-items:center;justify-content:center;gap:8px;padding:2px 0 0;color:#9aa0af;font-size:.72rem;line-height:1.4;text-align:center}.profile-legal-links a{color:inherit;text-decoration:none;font-weight:600}.profile-legal-links a:hover{text-decoration:underline;color:#757d90}
.feedback-entry{width:100%;border:1px solid #ffffff80;border-radius:20px;padding:15px 18px;background:#ffffffed;color:var(--ink);display:grid;grid-template-columns:42px 1fr auto;gap:12px;align-items:center;text-align:left;box-shadow:0 12px 34px #18204417}.feedback-entry>span:first-child{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:#eceaff;font-size:1.25rem}.feedback-entry b,.feedback-entry small{display:block}.feedback-entry b{font-size:.88rem}.feedback-entry small{margin-top:3px;color:var(--muted);font-size:.7rem}.feedback-entry i{font-style:normal;color:var(--purple);font-size:1.5rem}.feedback-entry:hover{transform:translateY(-1px);box-shadow:0 16px 38px #18204422}
.danger-button.full{width:100%;margin-top:8px}.danger-button:disabled{opacity:.45;cursor:not-allowed}
.child-switcher{border:0;background:#f0f1f6;border-radius:15px;padding:7px 11px;display:grid;grid-template-columns:36px auto auto auto;align-items:center;gap:8px;text-align:left;position:relative;color:var(--ink)}.child-switcher>span:first-child{width:36px;height:36px;border-radius:12px;background:#fff;display:grid;place-items:center;font-size:1.25rem}.child-switcher small,.child-switcher b{display:block}.child-switcher small{font-size:.58rem;color:var(--muted)}.child-switcher b{font-size:.78rem}.child-switcher em{font-style:normal;color:var(--muted)}.notification-badge{min-width:22px;height:22px;border-radius:999px;padding:0 6px;background:#ef405c;color:white;display:grid;place-items:center;font-style:normal;font-size:.68rem;font-weight:900;box-shadow:0 3px 10px #ef405c66}.children-list{display:grid;gap:8px}.child-chip{border:1px solid var(--line);border-radius:15px;background:white;padding:9px;display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:9px;text-align:left;position:relative}.child-chip.active{border-color:var(--purple);background:#f3f1ff}.child-chip>span:first-child{font-size:1.25rem}.child-chip b,.child-chip small{display:block}.child-chip small{font-size:.66rem;color:var(--muted)}.child-card-badge{min-width:24px;height:24px;border-radius:999px;padding:0 6px;background:#ef405c;color:white;display:grid;place-items:center;font-size:.68rem;font-weight:900}.child-picker-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.child-picker-card{border:2px solid transparent;border-radius:20px;background:#f5f5fa;padding:18px;text-align:left;display:grid;grid-template-columns:50px 1fr auto;align-items:center;gap:11px}.child-picker-card:hover,.child-picker-card.active{border-color:var(--purple);background:#efedff}.child-picker-card>span:first-child{font-size:2rem}.child-picker-card b,.child-picker-card small{display:block}.child-picker-card small{font-size:.7rem;color:var(--muted)}
@keyframes coin{0%,100%{transform:perspective(500px) rotateY(-16deg) translateY(0)}
50%{transform:perspective(500px) rotateY(24deg) translateY(-9px)}
}
@keyframes pulse{50%{transform:scale(1.06)}
}

@media(max-width:980px){.entry{grid-template-columns:1fr}
.entry-art{min-height:38vh}
.entry-copy{position:relative;left:auto;bottom:auto;margin-top:12vh}
.entry-copy h1{font-size:3.2rem}
.fc-one,.fc-two{display:none}
.entry-panel{padding:38px 22px}
.child-layout,.parent-priority-grid,.disclosure-content.two-panel{grid-template-columns:1fr}
.quest-panel{max-height:none}
.hero-column{padding-top:8px}
.parent-heading{align-items:flex-start}
.theme-picker,.theme-modal-grid{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:680px){.app-shell{padding:10px 10px 88px}
.app-shell{background-attachment:scroll}
.topbar{height:auto;min-height:62px;border-radius:18px;padding:8px 9px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:46px auto;gap:6px}
.role-switch{display:flex;grid-column:1/-1;grid-row:2;width:100%;padding:3px}.role-switch button{flex:1;padding:9px 10px}
.brand-mark{width:37px;height:37px}
.brand{min-width:0;gap:6px}.brand>span:last-child{font-size:.76rem;white-space:nowrap}
.top-actions{justify-self:end;gap:5px}.avatar-button{width:37px;height:37px;border-radius:12px}
.icon-button{display:none}
.hero-column{padding:12px 4px 0}
.hero-column>h1{font-size:2rem}
.lead{font-size:.88rem}
.goal-card{grid-template-columns:94px 1fr;gap:13px;padding:14px;margin-top:20px}
.goal-visual{min-height:114px;font-size:3rem}
.goal-card h2{font-size:1.05rem;margin-bottom:8px}
.goal-values strong{font-size:1rem}
.stat-grid{gap:7px;grid-template-columns:repeat(3,minmax(0,1fr))}
.stat-card{padding:10px 8px;min-width:0}
.stat-symbol{display:none}
.stat-card div{min-width:0}.stat-card small{line-height:1.15;overflow-wrap:anywhere}.stat-card b{font-size:.82rem;white-space:normal;overflow-wrap:anywhere}
.child-wallet-jars{grid-template-columns:1fr}.child-wallet-jars .wallet-jar{grid-template-columns:42px minmax(0,1fr);padding:10px 12px}.child-wallet-jars .wallet-jar p{font-size:.68rem}
.parent-wallet-jars{grid-template-columns:1fr}.parent-wallet-jars .wallet-jar{grid-template-columns:38px minmax(0,1fr)}
.star-shop,.quest-panel,.panel-card{padding:17px}
.section-title{align-items:flex-start;flex-wrap:wrap}.section-title>div{min-width:0;justify-content:flex-start}.section-title p{overflow-wrap:anywhere}
.reward-list{margin-right:-6px}.reward-card{min-width:min(150px,72vw)}
.quest-item{grid-template-columns:38px 1fr auto;gap:8px}
.quest-emoji{width:38px;height:38px}
.quest-action{min-width:69px;padding:8px 6px}
.parent-heading{display:block;margin:18px 4px}
.parent-heading h1{font-size:2rem}
.parent-heading .primary-button{margin-top:14px}
.parent-overview{grid-template-columns:1fr}.parent-overview article{padding:11px 13px}.parent-overview article>span{width:36px;height:36px;flex-basis:36px}.parent-priority-grid{gap:13px}.parent-dashboard{gap:13px}.parent-disclosure summary{grid-template-columns:38px minmax(0,1fr) 26px;padding:14px;gap:10px}.parent-disclosure summary .disclosure-icon{width:38px;height:38px}.disclosure-content{padding:0 10px 10px}.panel-card.flat{padding:14px}
.review-row{grid-template-columns:38px 1fr}
.review-actions{grid-column:2}
.mobile-nav{position:fixed;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));left:10px;right:10px;bottom:max(9px,env(safe-area-inset-bottom));z-index:20;border-radius:18px;padding:7px}
.mobile-nav button{border:0;background:transparent;color:#687187;font-weight:800;padding:4px}
.mobile-nav button.active{color:var(--purple)}
.mobile-nav span,.mobile-nav small{display:block}
.mobile-nav span{font-size:1.1rem}
.mobile-nav small{font-size:.64rem}
.entry-art{min-height:32vh;padding:25px}
.entry-copy{margin-top:8vh}
.entry-copy h1{font-size:2.35rem}
.entry-copy p{font-size:.9rem}
.entry-panel{padding:30px 18px}
.onboarding{padding:10px}
.onboarding-card{padding:25px 18px;border-radius:23px}
.brand-dark{position:relative}
.onboarding-step{padding-top:28px}
.two-col{grid-template-columns:1fr}
.three-col{grid-template-columns:1fr}
.step-buttons{display:grid;grid-template-columns:minmax(94px,.65fr) minmax(160px,1.35fr)}.onboarding .step-buttons .primary-button{width:100%;max-width:none;min-width:0}.onboarding .step-buttons .secondary-button{width:100%;min-width:0}
.theme-picker,.theme-modal-grid{grid-template-columns:repeat(2,1fr)}
.modal-backdrop{padding:10px;padding-top:max(10px,env(safe-area-inset-top));padding-bottom:max(10px,env(safe-area-inset-bottom))}.modal{padding:24px 17px;border-radius:22px;max-height:calc(100dvh - 20px)}
.install-offer{padding-top:2px}.install-app-icon{width:78px;height:78px;border-radius:22px;margin-bottom:12px}.install-app-icon img{border-radius:17px}.install-benefits{grid-template-columns:1fr;margin:16px 0}.install-benefits span{padding:10px}.install-steps li{font-size:.85rem}.install-offer .step-buttons{grid-template-columns:1fr 1.2fr}
.celebration-content{padding:50px 16px 24px}.celebration h2{font-size:clamp(2rem,11vw,3rem);line-height:1.02;letter-spacing:-.045em}.celebration p{margin:12px 0}.mega-coin{width:118px;height:118px;border-width:7px;font-size:3rem;margin-bottom:18px}.celebration-close{right:12px;top:max(12px,env(safe-area-inset-top));width:38px;height:38px}.celebration-button{width:100%;max-width:300px}
.catalog-strip,.template-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-card,.template-card{min-width:0;overflow-wrap:anywhere}.manager-row{grid-template-columns:38px 1fr}.manager-row .edit-task{grid-column:2}.avatar-grid{grid-template-columns:repeat(4,1fr)}.child-switcher{width:100%;max-width:150px;min-width:0;justify-self:center;grid-template-columns:34px minmax(0,1fr) auto;padding:5px 7px}.child-switcher small,.child-switcher em{display:none}.child-switcher>span:first-child{width:34px;height:34px}.child-switcher>span:nth-child(2){min-width:0}.child-switcher b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.child-picker-grid{grid-template-columns:1fr}
}

@media(max-width:390px){.app-shell{padding-left:7px;padding-right:7px}.topbar{padding:0 7px}.child-switcher{max-width:none}.goal-card{grid-template-columns:78px minmax(0,1fr)}.goal-visual{min-height:100px;font-size:2.6rem}.star-shop,.quest-panel,.panel-card{padding:14px}.quest-item{grid-template-columns:34px minmax(0,1fr) auto}.quest-emoji{width:34px;height:34px}.quest-action{min-width:58px;font-size:.62rem}.catalog-strip,.template-grid{grid-template-columns:1fr}.access-code strong{font-size:1.25rem}}

@media(max-width:350px){.brand>span:last-child{display:none}}

@media(max-height:700px) and (max-width:680px){.celebration-content{padding-top:44px}.mega-coin{width:92px;height:92px;font-size:2.3rem;margin-bottom:10px}.celebration h2{font-size:clamp(1.75rem,9vw,2.35rem);margin:8px 0}.celebration .eyebrow{font-size:.64rem}.celebration p{margin:8px 0}.celebration-button{padding:12px 18px}}

@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}
}
