@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:500;src:url(./baloo-2-latin-500-normal-CmLZ27r7.woff2)format("woff2"),url(./baloo-2-latin-500-normal-BSdEhq8m.woff)format("woff")}@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:700;src:url(./baloo-2-latin-700-normal-CqTg7A15.woff2)format("woff2"),url(./baloo-2-latin-700-normal-Ld3Zm3l2.woff)format("woff")}@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:800;src:url(./baloo-2-latin-800-normal-BbF3Etk1.woff2)format("woff2"),url(./baloo-2-latin-800-normal-B8BXfZF7.woff)format("woff")}@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:500;src:url(./baloo-2-latin-ext-500-normal-Ba7mhTsk.woff2)format("woff2"),url(./baloo-2-latin-ext-500-normal-D1XZow3C.woff)format("woff")}@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:700;src:url(./baloo-2-latin-ext-700-normal-Mlh7kdab.woff2)format("woff2"),url(./baloo-2-latin-ext-700-normal-D6LeXASg.woff)format("woff")}@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:800;src:url(./baloo-2-latin-ext-800-normal-C_Iwmf1s.woff2)format("woff2"),url(./baloo-2-latin-ext-800-normal-D-iCxxqE.woff)format("woff")}@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:500;src:url(./baloo-2-vietnamese-500-normal-Cj5RGu3k.woff2)format("woff2"),url(./baloo-2-vietnamese-500-normal-ClyrcyJC.woff)format("woff")}@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:700;src:url(./baloo-2-vietnamese-700-normal-h4tlcePq.woff2)format("woff2"),url(./baloo-2-vietnamese-700-normal-DoF59Mjc.woff)format("woff")}@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:800;src:url(./baloo-2-vietnamese-800-normal-ConLnEgt.woff2)format("woff2"),url(./baloo-2-vietnamese-800-normal-GQACmpuv.woff)format("woff")}:root{--purple:#7c4ddb;--purple-d:#5b34b0;--purple-l:#efe4ff;--pink:#f472b6;--pink-l:#ffe4f1;--yellow:#ffe38a;--yellow-d:#f2c14e;--mint:#c4f1dc;--mint-d:#6fcf9f;--peach:#ffe0d2;--cream:#fffaf3;--ink:#3f2a66;--ink-soft:#7a6a99;--shadow:0 8px 24px #5b34b02e;--radius:28px;color:var(--ink);font-family:"Baloo 2",Arial Rounded MT Bold,system-ui,sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:manipulation;background:linear-gradient(160deg,#fde9f3,#efe4ff 55%,#fff1e6);height:100%;margin:0;overflow:hidden}img{-webkit-touch-callout:none;-webkit-user-drag:none}#app,.viewport{position:fixed;inset:0}.frame{transform-origin:50%;border-radius:0;width:1180px;height:820px;position:absolute;top:50%;left:50%;overflow:hidden;box-shadow:0 0 48px 8px #461e6447}.outer-backdrop{pointer-events:none;position:absolute;inset:0;overflow:hidden}.outer-backdrop>img,.outer-backdrop>.backdrop{object-fit:cover;filter:blur(12px)brightness(.9)saturate(1.05);width:calc(100% + 48px);height:calc(100% + 48px);position:absolute;inset:-24px}.rotate-hint{display:none}@media (orientation:portrait) and (width<=1100px){.rotate-hint{z-index:100;background:linear-gradient(160deg,#fde9f3,#efe4ff);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.rotate-card{color:var(--purple);text-align:center;font:800 34px "Baloo 2",sans-serif}.rotate-icon{font-size:110px;animation:1.6s ease-in-out infinite tilt}}@keyframes tilt{0%,30%{transform:rotate(0)}70%,to{transform:rotate(-90deg)}}.backdrop{z-index:0;position:absolute;inset:0;overflow:hidden}.backdrop img{object-fit:cover;width:100%;height:100%}.backdrop.bg-room{background:radial-gradient(circle at 15% 20%,#fff7 0 90px,#0000 91px),radial-gradient(circle at 85% 12%,#fff6 0 60px,#0000 61px),linear-gradient(#f3e8ff 0%,#fde2ef 62%,#f6d7c8 62%,#f9e2d5 100%)}.backdrop.bg-dress{background:radial-gradient(at 22% 55%,#fff9 0 260px,#0000 262px),linear-gradient(#fbe7f2 0%,#efe0ff 70%,#e9d3f7 70%,#f1e2fb 100%)}.backdrop.bg-study{background:radial-gradient(circle at 80% 18%,#fff8 0 80px,#0000 82px),linear-gradient(#fff3de 0%,#fde8f1 64%,#e7cdb5 64%,#eed8c4 100%)}.backdrop.bg-stage{background:radial-gradient(at 50% 88%,#fff 0 260px,#fde2ef 262px,#0000 300px),linear-gradient(90deg,#e9a8c9 0 90px,#0000 90px calc(100% - 90px),#e9a8c9 calc(100% - 90px)),linear-gradient(#ead9ff,#fde2ef)}.floaties span{opacity:.55;font-size:34px;animation:7s ease-in-out infinite float;position:absolute}@keyframes float{50%{transform:translateY(-18px)rotate(8deg)}}.screen{z-index:1;position:absolute;inset:0}.btn{color:#fff;background:linear-gradient(180deg, #9468f0, var(--purple));min-width:72px;min-height:72px;box-shadow:0 6px 0 var(--purple-d), var(--shadow);cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;gap:12px;padding:6px 34px;font:800 30px "Baloo 2",sans-serif;transition:transform 80ms;display:inline-flex}.btn:active:not(:disabled){box-shadow:0 1px 0 var(--purple-d);transform:translateY(5px)}.btn:disabled{filter:grayscale(.7)opacity(.55)}.btn.yellow{color:var(--ink);background:linear-gradient(180deg, #fff0b3, var(--yellow));box-shadow:0 6px 0 var(--yellow-d), var(--shadow)}.btn.ghost{color:var(--purple);box-shadow:0 6px 0 #d9c9f7, var(--shadow);background:#fff}.btn.mint{color:#1d5b3e;background:linear-gradient(180deg, #dcfbe9, var(--mint));box-shadow:0 6px 0 var(--mint-d), var(--shadow)}.btn.big{min-height:96px;padding:8px 56px;font-size:40px}.btn.glow{animation:1.4s ease-in-out infinite glow}@keyframes glow{50%{box-shadow:0 6px 0 var(--yellow-d), 0 0 0 10px #ffe38a88, var(--shadow)}}.icon-btn{width:76px;height:76px;color:var(--purple);box-shadow:0 5px 0 #d9c9f7, var(--shadow);background:#fff;border-radius:50%;padding:0;font-size:36px}.ribbon{color:var(--ink);box-shadow:var(--shadow);background:#fff;border-radius:999px;align-items:center;gap:12px;padding:6px 40px;font:800 38px "Baloo 2",sans-serif;display:inline-flex}.ribbon.yellow{background:var(--yellow)}.topbar{z-index:5;pointer-events:none;justify-content:space-between;align-items:center;display:flex;position:absolute;top:22px;left:24px;right:24px}.topbar>*{pointer-events:auto}.topbar .center{position:absolute;left:50%;transform:translate(-50%)}.topbar .right{align-items:center;gap:14px;display:flex}.stars{min-height:64px;box-shadow:var(--shadow);background:#fff;border-radius:999px;align-items:center;gap:8px;padding:4px 22px;font:800 32px "Baloo 2",sans-serif;display:flex}.stars.bump{animation:.5s bump}@keyframes bump{40%{transform:scale(1.25)}}.card{background:var(--cream);border-radius:var(--radius);box-shadow:var(--shadow)}.setup{flex-direction:column;align-items:center;padding-top:34px;display:flex}.logo{color:var(--purple);text-shadow:0 5px #fff,0 10px 24px #7c4ddb44;letter-spacing:-1px;font:800 96px/1 "Baloo 2",sans-serif}.logo b{color:var(--pink)}.setup .ribbon{margin-top:8px}.age-row{align-items:center;gap:14px;margin-top:40px;font:800 28px "Baloo 2",sans-serif;display:flex}.age-row .age{width:70px;height:70px;color:var(--ink);box-shadow:var(--shadow);background:#fff;border:0;border-radius:50%;font:800 32px "Baloo 2",sans-serif}.age-row .age.on{background:var(--purple);color:#fff}.setup .start{margin-top:44px}.tab{min-height:92px;color:var(--ink);background:#fff;border:0;border-radius:22px;flex-direction:column;flex:1;justify-content:center;align-items:center;font:800 22px "Baloo 2",sans-serif;display:flex;box-shadow:0 3px #eadff8}.tab.on{background:var(--purple-l);box-shadow:inset 0 0 0 4px var(--purple)}.grid{-webkit-overflow-scrolling:touch;flex:1;grid-template-columns:repeat(3,1fr);grid-auto-rows:176px;gap:14px;padding:4px;display:grid;overflow-y:auto}.tile{background:#fff;border:0;border-radius:24px;justify-content:center;align-items:center;padding:8px;display:flex;position:relative;box-shadow:0 3px #eadff8}.tile img{pointer-events:none;max-width:100%;max-height:100%}.badge.lock{color:var(--ink);border:3px solid var(--ink-soft);background:#fff}.wobble .badge.lock{animation:.45s ease-in-out wobble}@keyframes wobble{20%{transform:rotate(-16deg)}40%{transform:rotate(13deg)}60%{transform:rotate(-9deg)}80%{transform:rotate(5deg)}}@media (prefers-reduced-motion:reduce){.wobble .badge.lock{box-shadow:0 0 0 5px var(--yellow-d);animation:none}}.badge{background:#fff;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:24px;display:flex;position:absolute;bottom:8px;right:8px;box-shadow:0 2px 8px #0002}.badge.check{background:var(--purple);color:#fff}@keyframes pulse{50%{opacity:.5;transform:scale(1.18)}}.quiz{align-items:center;gap:18px;padding:108px 30px 20px;display:flex}.quiz-side{flex-direction:column;align-items:center;gap:10px;width:250px;display:flex}.quiz-card{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:16px;min-height:560px;padding:24px 30px;display:flex}.listen{background:var(--purple-l);min-height:64px;color:var(--purple);padding:4px 28px;font-size:26px;box-shadow:0 4px #d9c9f7}.prompt{text-align:center;margin:0;font:800 38px/1.25 "Baloo 2",sans-serif}.visual{flex-wrap:wrap;justify-content:center;align-items:center;gap:18px;max-width:640px;font-size:58px;line-height:1.1;display:flex}.visual .group{flex-wrap:wrap;justify-content:center;max-width:300px;display:flex}.visual .op{color:var(--purple);font:800 60px "Baloo 2",sans-serif}.answers{gap:18px;width:100%;display:flex}.answer{min-height:118px;color:var(--ink);border:0;border-radius:28px;flex:1;padding:8px 12px;font:800 42px/1.1 "Baloo 2",sans-serif;transition:transform .1s,opacity .3s;box-shadow:0 6px #0002}.answer:first-child{background:#e6dbff}.answer:nth-child(2){background:#fff0b3}.answer:nth-child(3){background:#cdf3df}.answer.small{font-size:30px}.answer.wrong{opacity:.35;animation:.4s shake}.answer.right{box-shadow:0 0 0 8px var(--mint-d), 0 6px 0 #0002;animation:.4s pop}.answer.hint{box-shadow:0 0 0 8px var(--yellow-d), 0 6px 0 #0002;animation:1s infinite pulse-btn}@keyframes shake{20%,60%{transform:translate(-12px)}40%,80%{transform:translate(12px)}}@keyframes pop{50%{transform:scale(1.08)}}@keyframes pulse-btn{50%{transform:scale(1.04)}}.gift{background:#fff;border:6px dashed #f5c6dd;border-radius:50%;justify-content:center;align-items:center;width:200px;height:200px;font-size:110px;display:flex;overflow:hidden}.gift img{max-width:82%;max-height:82%}.gift-label{font:800 26px "Baloo 2",sans-serif}.cheer{box-shadow:var(--shadow);text-align:center;background:#fff;border-radius:999px;padding:6px 28px;font:800 30px "Baloo 2",sans-serif}.overlay{z-index:20;background:#3f2a6699;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.challenge{text-align:center;flex-direction:column;align-items:center;gap:18px;width:1040px;min-height:680px;padding:30px 40px;animation:.4s pop;display:flex}.challenge h2{color:var(--purple);margin:0;font:800 48px "Baloo 2",sans-serif}.challenge p{margin:0;font:700 30px/1.3 "Baloo 2",sans-serif}.song{color:var(--pink);font:800 44px "Baloo 2",sans-serif}.bar{background:#f1eaf9;border-radius:999px;width:720px;height:56px;overflow:hidden;box-shadow:inset 0 3px 8px #0001}.bar>div{background:linear-gradient(90deg, #fbb6d6, var(--pink), var(--purple));border-radius:999px;height:100%;transition:width .15s}.big-count{color:var(--purple);font:800 120px/1 "Baloo 2",sans-serif}.progress-dots{gap:12px;display:flex}.progress-dots span{background:#eadff8;border-radius:50%;width:26px;height:26px}.progress-dots span.on{background:var(--mint-d)}.row{justify-content:center;align-items:center;gap:18px;display:flex}.anim-jump{animation:a-jump var(--beat,1.2s) ease-in-out infinite}.anim-hop{animation:a-hop var(--beat,1.6s) ease-in-out infinite}.anim-spin{animation:a-spin var(--beat,2.2s) linear infinite}.anim-bend{animation:a-bend var(--beat,1.8s) ease-in-out infinite;transform-origin:50% 70%}.anim-squat{animation:a-squat var(--beat,2s) ease-in-out infinite;transform-origin:50% 100%}.anim-crawl{transform-origin:50% 100%;animation:1.2s ease-in-out infinite a-crawl}.anim-dance{animation:.8s ease-in-out infinite a-dance}.anim-balance{transform-origin:50% 100%;animation:2s ease-in-out infinite a-balance}.anim-clap{animation:a-clap var(--beat,.9s) ease-in-out infinite;transform-origin:50% 60%}.anim-reach{animation:a-reach var(--beat,2s) ease-in-out infinite;transform-origin:50% 100%}.anim-sway{animation:a-sway var(--beat,1.5s) ease-in-out infinite;transform-origin:50% 100%}@keyframes a-clap{50%{transform:scale(1.08)}}@keyframes a-reach{50%{transform:translateY(-40px)scaleY(1.06)}}@keyframes a-sway{25%{transform:rotate(-6deg)}75%{transform:rotate(6deg)}}@keyframes a-jump{0%,to{transform:translateY(0)scaleX(1)}50%{transform:translateY(-70px)scaleX(1.12)}}@keyframes a-hop{0%,to{transform:translateY(0)scaleY(.85)}45%{transform:translateY(-90px)scaleY(1.05)}}@keyframes a-spin{to{transform:rotateY(360deg)}}@keyframes a-bend{50%{transform:rotate(-35deg)translateY(30px)}}@keyframes a-squat{50%{transform:scaleY(.72)}}@keyframes a-crawl{0%,to{transform:rotate(-60deg)translate(-10px)}50%{transform:rotate(-60deg)translate(10px)}}@keyframes a-dance{25%{transform:rotate(-8deg)translateY(-12px)}75%{transform:rotate(8deg)translateY(-12px)}}@keyframes a-balance{25%{transform:rotate(-5deg)}75%{transform:rotate(5deg)}}@keyframes rise{to{opacity:0;transform:translateY(-900px)rotate(40deg)}}.celebrate{z-index:30;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.celebrate .burst{color:#fff;text-shadow:0 5px 0 var(--purple), 0 10px 30px #0004;font:800 72px "Baloo 2",sans-serif;animation:1.8s ease-out forwards burst}@keyframes burst{0%{opacity:0;transform:scale(.3)}20%{opacity:1;transform:scale(1.15)}80%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.05)}}.confetti span{font-size:40px;animation:1.8s ease-in forwards fall;position:absolute;top:-60px}@keyframes fall{to{transform:translateY(940px)rotate(300deg)}}.modal{text-align:center;flex-direction:column;align-items:center;gap:20px;min-width:520px;max-width:900px;padding:34px 44px;display:flex}.modal h2{margin:0;font:800 40px "Baloo 2",sans-serif}.modal p{margin:0;font:600 26px/1.35 "Baloo 2",sans-serif}.toast{z-index:50;background:var(--ink);color:#fff;box-shadow:var(--shadow);border-radius:999px;padding:12px 34px;font:700 28px "Baloo 2",sans-serif;animation:.3s pop;position:absolute;top:110px;left:50%;transform:translate(-50%)}.keypad{grid-template-columns:repeat(3,90px);gap:12px;display:grid}.keypad button:disabled{opacity:.4}.keypad button{background:var(--purple-l);height:76px;color:var(--ink);border:0;border-radius:20px;font:800 34px "Baloo 2",sans-serif}.entry{border-bottom:4px solid var(--purple);min-width:200px;min-height:70px;font:800 48px "Baloo 2",sans-serif}.gate{flex-direction:column;align-items:center;gap:16px;width:620px;display:flex}.gate-question{letter-spacing:1px;font-size:44px!important;font-weight:800!important}.gate-note{color:var(--purple-d);min-height:1.35em}.pin-dots{align-items:center;gap:22px;min-height:70px;display:flex}.pin-dots span{border:3px solid var(--ink-soft);border-radius:50%;width:26px;height:26px}.pin-dots span.on{background:var(--ink);border-color:var(--ink)}.btn-parent{background:var(--purple);color:#fff;border:0;border-radius:999px;min-height:56px;padding:8px 28px;font:700 24px "Baloo 2",sans-serif}.btn-parent.secondary{color:var(--ink);border:3px solid var(--ink-soft);background:#fff}.btn-parent:disabled{opacity:.5}.parent-btn-wrap{display:inline-flex;position:relative}.parent-btn{width:64px;height:64px;box-shadow:var(--shadow);touch-action:none;background:#fff;border:0;border-radius:50%;font-size:30px;position:relative}.parent-label{color:var(--ink);white-space:nowrap;pointer-events:none;background:#fff;border-radius:999px;padding:0 10px;font:800 16px/1.5 "Baloo 2",sans-serif;position:absolute;top:66px;left:50%;transform:translate(-50%)}.parent-hint{z-index:30;background:var(--ink);color:#fff;white-space:nowrap;pointer-events:none;border-radius:14px;padding:8px 14px;font:700 18px "Baloo 2",sans-serif;position:absolute;top:96px;right:0}.parent-btn.pulse svg circle{stroke-dasharray:176 176;animation:.9s ease-out gear-pulse}@keyframes gear-pulse{0%{opacity:1}to{opacity:0}}.parent-btn.spotlight{box-shadow:0 0 0 6px var(--yellow), 0 0 0 12px #ffe38a80}.parent-btn svg{position:absolute;inset:0;transform:rotate(-90deg)}.lock-tip{color:var(--ink-soft);margin:0;padding-left:26px;font:500 22px/1.4 "Baloo 2",sans-serif}.parent .license{grid-column:span 2}.code-input{letter-spacing:3px;text-transform:uppercase;border:3px solid var(--ink-soft);min-height:64px;color:var(--ink);-webkit-user-select:text;user-select:text;background:#fff;border-radius:16px;padding:8px 16px;font:800 30px "Baloo 2",sans-serif}.code-input:focus{border:4px solid var(--purple);outline:none}.license-error{color:var(--purple-d);font-weight:700}.family-code b{letter-spacing:2px}.device-row{background:#fff;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;min-height:64px;margin-top:6px;padding:4px 12px;font:600 20px "Baloo 2",sans-serif;display:flex}.toggle-row{align-items:center;gap:12px;min-height:56px;font:600 20px/1.3 "Baloo 2",sans-serif;display:flex}.toggle-row input{width:32px;height:32px;accent-color:var(--purple);flex:none}.parent{grid-template-columns:repeat(3,1fr);align-content:start;gap:16px;padding:100px 28px 20px;display:grid;overflow-y:auto}.parent .card{flex-direction:column;gap:12px;padding:16px 24px;display:flex}.parent h3{margin:0;font:800 30px "Baloo 2",sans-serif}.parent p{color:var(--ink-soft);margin:0;font:500 22px/1.35 "Baloo 2",sans-serif}.parent .btn{min-height:60px;font-size:24px}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{min-height:48px;color:var(--ink);background:#fff;border:0;border-radius:999px;padding:6px 16px;font:700 20px "Baloo 2",sans-serif;box-shadow:0 2px #eadff8}.chip.on{background:var(--purple);color:#fff}.chip.dim{opacity:.6}.visual .taken{opacity:.25;text-decoration:line-through}.fly-star{z-index:40;pointer-events:none;font-size:90px;animation:.9s ease-in forwards fly;position:absolute;top:250px;right:110px}@keyframes fly{to{opacity:.2;transform:translate(-90px,-230px)scale(.3)}}.quiz-card.answered{justify-content:flex-start;gap:12px;padding-top:20px}.quiz-card.answered .prompt{font-size:30px}.quiz-card.answered .answer{min-height:84px}.answer.faded{opacity:.4}.answer:disabled{color:var(--ink)}.explain{text-align:left;background:#fff3f3;border:4px solid #ffc9c9;border-radius:24px;width:100%;padding:12px 70px 14px 22px;animation:.35s pop;position:relative}.explain.good{background:#effcf4;border-color:#a7e8c2}.explain-head{margin-bottom:4px;font:800 28px/1.2 "Baloo 2",sans-serif}.explain-body{color:var(--ink);font:600 25px/1.35 "Baloo 2",sans-serif}.explain-listen{background:#fff;border:0;border-radius:50%;width:50px;height:50px;font-size:24px;position:absolute;top:12px;right:12px;box-shadow:0 2px 8px #0002}.quiz-card .row .btn{min-height:64px;padding:4px 22px;font-size:24px}.parent .row .btn{white-space:nowrap;padding:4px 16px;font-size:19px}.purchase-overlay{z-index:40}.parent-sheet{background:var(--cream);width:900px;max-height:790px;color:var(--ink);box-shadow:var(--shadow);border-radius:28px;padding:26px 36px 30px;font:500 21px/1.45 "Baloo 2",sans-serif;overflow-y:auto}.purchase-head{align-items:center;gap:16px;margin-bottom:12px;display:flex}.purchase-head h2{flex:1;margin:0;font-size:36px}.step-mark{color:var(--ink-soft);font-size:17px;font-weight:700}.purchase-body p{margin:0 0 10px}.price-line b{font-size:34px}.purchase-list{margin:0 0 12px;padding-left:26px}.purchase-list li{margin-bottom:6px}.seller{color:var(--ink-soft);font-size:18px}.links{gap:18px;display:flex}.link{color:var(--purple-d);font:inherit;cursor:pointer;background:0 0;border:0;padding:10px 0;font-size:18px;text-decoration:underline}.btn-parent.small{min-height:44px;padding:4px 16px;font-size:17px}.btn-parent.not-ready{color:var(--ink);background:#d9c8f5}.btn-parent.buy{align-self:flex-start}.fields{grid-template-columns:1fr 1fr;gap:16px;display:grid}.field{flex-direction:column;gap:4px;font-weight:700;display:flex}.field input{border:3px solid var(--ink-soft);min-height:60px;color:var(--ink);-webkit-user-select:text;user-select:text;background:#fff;border-radius:16px;padding:0 14px;font:600 22px "Baloo 2",sans-serif}.field input:focus{border:4px solid var(--purple);outline:none}.field-error{color:#b42318;margin:2px 0 6px;font-size:17px;font-style:normal;font-weight:700;display:block}.hint{color:var(--ink-soft);font-size:18px}.ages{flex-wrap:wrap;align-items:center;gap:10px;margin:12px 0;display:flex}.choice-chip{border:3px solid var(--ink-soft);min-width:56px;min-height:56px;color:var(--ink);background:#fff;border-radius:999px;font:800 22px "Baloo 2",sans-serif}.choice-chip.on{background:var(--purple);border-color:var(--purple);color:#fff}.consent{cursor:pointer;align-items:center;gap:12px;min-height:56px;font-weight:700;display:flex}.consent input{width:32px;height:32px;accent-color:var(--purple);flex:none}.purchase-actions{justify-content:flex-start;margin-top:10px}.purchase-note{background:#fff7d6;border-radius:14px;padding:10px 14px;font-weight:700}.pay{align-items:flex-start;gap:26px;display:flex}.qr-panel{width:320px;height:320px;box-shadow:var(--shadow);background:#fff;border-radius:20px;flex:none;padding:12px}.qr-panel svg{width:100%;height:100%}.qr-panel.empty{background:repeating-linear-gradient(45deg,#fff,#fff 12px,#f1eaf9 12px 24px)}.pay-info{flex:1}.pay-status{color:var(--purple-d);font-weight:800}.done{text-align:center;flex-direction:column;align-items:center;gap:8px;display:flex}.unlock-code{letter-spacing:6px;-webkit-user-select:all;user-select:all;font:800 54px/1.1 "Baloo 2",sans-serif}.install-invite{z-index:15;width:390px;padding:12px 18px 14px;position:absolute;bottom:16px;right:16px}.install-invite h3{margin:0 0 2px;font:800 22px "Baloo 2",sans-serif}.install-invite p{margin:0 0 8px;font:600 18px/1.25 "Baloo 2",sans-serif}.install-pill{z-index:15;border:3px solid var(--purple);background:var(--cream);min-height:48px;color:var(--ink);box-shadow:var(--shadow);border-radius:999px;padding:6px 16px;font:800 20px "Baloo 2",sans-serif;position:absolute;top:132px;left:44px}.install-invite-modal{max-width:560px}.install-invite-modal .row{justify-content:center;gap:12px}.install-invite .btn-parent{min-height:48px;padding:6px 20px;font-size:20px}.install-invite .row{justify-content:flex-start;gap:12px}.taste-note{max-width:330px;color:var(--ink);background:#fffaf3eb;border-radius:16px;margin:0;padding:8px 14px;font:600 17px/1.3 "Baloo 2",sans-serif;position:absolute;bottom:16px;left:16px}.install-guide{text-align:left;flex-direction:column;align-items:stretch;gap:16px;max-width:680px;display:flex}.guide-head{justify-content:center;align-items:center;gap:16px;display:flex}.guide-icon{width:72px;height:72px;box-shadow:var(--shadow);border-radius:18px}.install-guide .guide-head h2{font-size:34px}.guide-steps{flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.guide-steps li{align-items:flex-start;gap:14px;display:flex}.guide-num{background:var(--ink);color:#fff;border-radius:50%;flex:none;place-items:center;width:40px;height:40px;margin-top:2px;font:800 22px "Baloo 2",sans-serif;display:grid}.install-guide .guide-text{color:var(--ink);margin:0;font:600 25px/1.55 "Baloo 2",sans-serif}.install-guide .guide-note{color:var(--ink);margin:2px 0 0;font:800 22px/1.35 "Baloo 2",sans-serif}.install-guide .guide-foot{color:var(--ink-soft);margin:0;font:500 20px/1.4 "Baloo 2",sans-serif}.chip-ui{color:#1c63d6;vertical-align:middle;white-space:nowrap;background:#fff;border:2px solid #cfc3e6;border-radius:10px;align-items:center;gap:6px;min-height:38px;margin:0 2px;padding:0 10px;font:700 21px "Baloo 2",sans-serif;display:inline-flex;box-shadow:0 2px #e6def5}.chip-ui svg{width:24px;height:24px}.chip-ui.chip-sign{justify-content:center;min-width:42px;font-size:26px;line-height:1}.chip-plus{border:2px solid;border-radius:6px;place-items:center;width:22px;height:22px;font-size:18px;line-height:1;display:inline-grid}.install-guide .row{flex-wrap:wrap;justify-content:center}.guide-clip{flex-direction:column;align-items:center;gap:8px;display:flex}.guide-clip video{background:#f1eaf9;border-radius:18px;max-width:600px;max-height:400px}.guide-url{word-break:break-all;-webkit-user-select:all;user-select:all;font:700 22px "Baloo 2",sans-serif}.guide-arrow{z-index:40;color:var(--purple);filter:drop-shadow(0 4px 8px #5b34b059);pointer-events:none;font-size:56px;animation:1s ease-in-out infinite guide-bob;position:fixed}.guide-arrow.top-right{top:4px;right:95px}@keyframes guide-bob{50%{transform:translateY(-12px)}}.inapp-banner{z-index:30;background:var(--ink);color:#fff;justify-content:center;align-items:center;gap:12px;padding:0 12px;font:600 16px/1.2 "Baloo 2",sans-serif;display:flex;position:fixed;top:0;left:0;right:0}.inapp-btn{background:var(--yellow);min-height:40px;color:var(--ink);font:inherit;border:0;border-radius:999px;flex:none;align-items:center;padding:6px 14px;font-weight:800;text-decoration:none;display:inline-flex}.inapp-btn.secondary{background:#fff}@media (prefers-reduced-motion:reduce){.guide-arrow{animation:none}}.frame.welcome-open .topbar{z-index:25}.welcome-arrow{z-index:24;color:var(--yellow);filter:drop-shadow(0 4px 8px #3f2a6680);pointer-events:none;font-size:56px;animation:1s ease-in-out infinite guide-bob;position:absolute;top:118px;right:50px}.welcome{flex-direction:column;align-items:center;gap:12px;max-width:640px;display:flex}.welcome ul{text-align:left;margin:0;padding-left:26px;font:600 22px/1.4 "Baloo 2",sans-serif}.welcome ul.welcome-perks{padding-left:0;font-size:24px;list-style:none}.taste-note.taste-cta{border:3px solid var(--purple);text-align:left;cursor:pointer;min-height:56px}.taste-note.taste-cta b{color:var(--purple);white-space:nowrap}.modal .welcome-note{color:var(--ink-soft);font-size:20px}@media (prefers-reduced-motion:reduce){.welcome-arrow,.parent-btn.pulse svg circle{animation:none}}.lock-chip{z-index:16;border:3px solid var(--purple);background:var(--cream);color:var(--ink);box-shadow:var(--shadow);white-space:nowrap;border-radius:999px;font:800 20px "Baloo 2",sans-serif;position:absolute;transform:translate(-50%)}.wanted{background:var(--purple-l);border-radius:18px;align-items:center;gap:12px;margin:0 0 10px;padding:8px 14px;font:600 22px "Baloo 2",sans-serif;display:flex}.wanted img{object-fit:contain;background:#fff;border-radius:14px;width:72px;height:72px}#safe-probe{visibility:hidden;pointer-events:none;width:0;height:0;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);position:fixed}.frame.compact .topbar{top:10px;left:16px;right:16px}.frame.compact .tab{border-radius:18px;min-height:76px;font-size:22px}.frame.compact .grid{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));grid-auto-rows:132px;gap:14px}.frame.compact .parent-btn{width:76px;height:76px;font-size:34px}.frame.compact .parent-label{font-size:22px;top:76px}.frame.compact .parent-hint{font-size:24px;top:118px}.frame.compact .setup{grid-template-areas:"logo logo""ribbon ribbon""chars chars""age start""taste taste";place-content:center;place-items:center;column-gap:48px;padding:8px 16px;display:grid}.frame.compact .setup .logo{grid-area:logo;font-size:58px}.frame.compact .setup .ribbon{grid-area:ribbon;margin-top:4px;padding:4px 32px;font-size:28px}.frame.compact .age-row{grid-area:age;margin-top:20px;font-size:26px}.frame.compact .age-row .age{width:76px;height:76px}.frame.compact .setup .start{grid-area:start;min-height:84px;margin-top:20px;padding:6px 44px;font-size:36px}.frame.compact .install-pill{min-height:70px;padding:6px 22px;font-size:24px}.frame.compact .install-pill.on-setup{top:14px;left:16px}.frame.compact .install-invite.on-setup{inset:14px auto auto 16px}.frame.compact .install-invite h3,.frame.compact .install-invite-modal h3{font-size:26px}.frame.compact .install-invite p{font-size:22px}.frame.compact .install-invite .btn-parent,.frame.compact .install-invite-modal .btn-parent{min-height:70px;font-size:24px}.frame.compact .quiz{gap:14px;padding:94px 16px 10px}.frame.compact .quiz-side{width:180px}.frame.compact .quiz>.quiz-side:first-child{display:none}.frame.compact .quiz-card{grid-template-columns:auto 1fr;grid-auto-flow:dense;align-content:safe center;place-items:center;gap:12px 16px;min-height:0;max-height:100%;padding:12px 20px;display:grid}.frame.compact .quiz-card>*{grid-column:1/-1}.frame.compact .quiz-card>.listen{grid-column:1}.frame.compact .quiz-card>.listen~.prompt{text-align:left;grid-column:2;justify-self:start}.frame.compact .listen{min-height:76px;padding:4px 20px;font-size:24px}.frame.compact .prompt{font-size:34px}.frame.compact .prompt.long{font-size:28px}.frame.compact .visual{font-size:44px}.frame.compact .visual .op{font-size:46px}.frame.compact .answers{flex-wrap:wrap;gap:14px}.frame.compact .answer{min-height:92px;font-size:38px}.frame.compact .answer.small{font-size:28px}.frame.compact .answers:has(.answer:nth-child(4)) .answer{flex:40%}.frame.compact .quiz-card.answered{gap:8px 16px;padding-top:10px;padding-bottom:10px}.frame.compact .quiz-card.answered .prompt{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:24px;display:-webkit-box;overflow:hidden}.frame.compact .quiz-card.answered .answers,.frame.compact .quiz-card.answered .row{width:100%}.frame.compact .quiz-card.answered .answer{flex:1 1 0;min-height:76px}.frame.compact .quiz-card.answered .answer.faded{display:none}.frame.compact .explain{padding:10px 96px 12px 18px}.frame.compact .explain-head{font-size:26px}.frame.compact .explain-body{font-size:24px}.frame.compact .explain-body.long{font-size:22px;line-height:1.3}.frame.compact .explain-listen{width:76px;height:76px;font-size:32px;top:8px;right:8px}.frame.compact .quiz-card .row{gap:14px}.frame.compact .quiz-card .row .btn{min-height:76px;font-size:26px}.frame.compact .gift{width:150px;height:150px;font-size:84px}.frame.compact .jar{width:170px;height:48px}.frame.compact .jar-label{font-size:24px}.frame.compact .cheer{padding:6px 20px;font-size:26px}.frame.compact .modal .welcome-note,.frame.compact .lock-chip{font-size:22px}.frame.compact .lock-chip{padding:4px 18px}.frame.compact .install-guide{gap:12px;max-width:900px}.frame.compact .guide-icon{border-radius:14px;width:56px;height:56px}.frame.compact .install-guide .guide-head h2{font-size:30px}.frame.compact .install-guide .guide-text{font-size:24px;line-height:1.5}.frame.compact .install-guide .guide-note,.frame.compact .install-guide .guide-foot,.frame.compact .chip-ui{font-size:22px}.frame.compact .guide-clip video{max-width:560px;max-height:300px}.frame.compact .challenge{gap:10px;width:calc(100% - 32px);min-height:0;max-height:calc(100% - 20px);padding:14px 24px;position:relative}.frame.compact .challenge h2{font-size:36px}.frame.compact .challenge p{font-size:24px}.frame.compact .song{font-size:32px}.frame.compact .big-count{font-size:72px}.frame.compact .bar{width:min(720px,100%);height:44px}.frame.compact .challenge .btn.big{min-height:84px;font-size:34px}.frame.compact .challenge .btn:not(.big){min-height:76px}.frame.compact .challenge{gap:14px}.frame.compact .challenge .visual{flex-wrap:nowrap;max-width:none;font-size:36px}.frame.compact .challenge .visual .group{max-width:280px!important}.frame.compact .challenge .answer{min-height:80px}.frame.compact .challenge>.listen{position:absolute;top:14px;right:20px}.frame.compact .challenge:has(.move-figure){grid-template-columns:auto 1fr;grid-auto-flow:dense;align-content:center;justify-items:center;column-gap:32px;display:grid}.frame.compact .challenge:has(.move-figure)>*{grid-column:2}.frame.compact .challenge:has(.move-figure)>.row{display:contents}.frame.compact .move-figure{grid-area:1/1/span 6;align-self:center}.frame.compact .move-count{text-align:center;grid-column:2}.frame.compact .btn-parent,.frame.compact .btn-parent.small{min-height:70px;font-size:24px}.frame.compact .modal{gap:14px;padding:18px 28px}.frame.compact .gate{grid-template-columns:minmax(360px,auto) auto;grid-auto-flow:dense;place-items:center;gap:12px 36px;width:auto;display:grid}.frame.compact .gate>*{grid-column:1}.frame.compact .gate>.keypad{grid-area:1/2/span 6}.frame.compact .gate h2{font-size:34px}.frame.compact .keypad{grid-template-columns:repeat(3,96px);gap:12px}.frame.compact .keypad button{height:76px}.frame.compact .gate .row{flex-wrap:wrap;gap:12px}.frame.compact .parent{grid-template-columns:repeat(2,1fr);gap:14px;padding:94px 16px 16px}.frame.compact .parent .license{grid-column:1/-1}.frame.compact .parent .card{padding:14px 20px}.frame.compact .parent h3{font-size:28px}.frame.compact .parent .btn,.frame.compact .parent .row .btn{min-height:70px;font-size:24px}.frame.compact .toggle-row,.frame.compact .device-row{font-size:22px}.frame.compact .toggle-row{min-height:70px}.frame.compact .toggle-row input,.frame.compact .consent input{width:40px;height:40px}.frame.compact .device-row{min-height:70px}.frame.compact .chip{min-height:70px;padding:6px 20px;font-size:22px}.frame.compact .code-input,.frame.compact .field input{min-height:70px}.frame.compact .purchase-overlay{padding:92px 16px 10px}.frame.compact .parent-sheet{width:min(900px,100%);max-height:100%;padding:16px 24px 20px;font-size:22px}.frame.compact .purchase-head h2{font-size:32px}.frame.compact .step-mark,.frame.compact .seller,.frame.compact .link,.frame.compact .hint,.frame.compact .field-error{font-size:22px}.frame.compact .link{min-height:70px;padding:0}.frame.compact .choice-chip,.frame.compact .consent{min-width:70px;min-height:70px}.save-qr{flex-wrap:wrap;align-items:center;gap:4px 14px;margin:0 0 10px;display:flex}.save-qr .hint{margin:0}.frame.compact .qr-panel{width:280px;height:280px}.frame.compact .setup .taste-note{text-align:center;grid-area:taste;max-width:900px;margin-top:12px;font-size:22px;position:static}.frame.compact .setup .taste-note.taste-cta{min-height:70px;margin-top:10px}.license .trial-running{background:#fff7d6;border-radius:14px;padding:8px 14px}.tile.tier-1{box-shadow:inset 0 0 0 4px #efe7fb,0 3px #eadff8}.tile.tier-2{box-shadow:inset 0 0 0 5px #c3cad6,0 3px #b4bccb}.tile.tier-3{box-shadow:inset 0 0 0 5px #f2c14e,0 3px #d9a52e}.tile.tier-4{background:linear-gradient(#fff,#fff) padding-box padding-box,linear-gradient(135deg,#f87171,#fbbf24,#34d399,#60a5fa,#a78bfa,#f472b6) border-box;border:6px solid #0000;box-shadow:0 3px #d8c7f5}.goal-thumb{object-fit:contain;background:#fff;border-radius:50%;flex:none;width:42px;height:42px}.confirm-gift{background:#fff;border-radius:50%;justify-content:center;align-items:center;width:260px;height:260px;display:flex;box-shadow:inset 0 0 0 8px #efe7fb}.confirm-gift img{max-width:80%;max-height:80%}.confirm-gift.tier-2{box-shadow:inset 0 0 0 8px #c3cad6}.confirm-gift.tier-3{box-shadow:inset 0 0 0 8px #f2c14e}.confirm-gift.tier-4{box-shadow:none;background:linear-gradient(#fff,#fff) padding-box padding-box,linear-gradient(135deg,#f87171,#fbbf24,#34d399,#60a5fa,#a78bfa,#f472b6) border-box;border:8px solid #0000}.confirm-actions{gap:28px;display:flex}.confirm-actions .btn{min-width:140px;font-size:48px}.gift.tier-2{border:6px solid #c3cad6}.gift.tier-3{border:6px solid #f2c14e}.gift.tier-4{background:linear-gradient(#fff,#fff) padding-box padding-box,linear-gradient(135deg,#f87171,#fbbf24,#34d399,#60a5fa,#a78bfa,#f472b6) border-box;border:6px solid #0000}.gift.opened{animation:.6s ease-in-out 2 pop}.jar{border:4px solid var(--yellow-d);width:210px;height:52px;box-shadow:var(--shadow);background:#fff;border-radius:999px;position:relative;overflow:hidden}.jar-fill{background:linear-gradient(90deg, #fff0b3, var(--yellow-d));transition:width .6s ease-out;position:absolute;inset:0 auto 0 0}.jar-label{height:100%;color:var(--ink);justify-content:center;align-items:center;font:800 28px "Baloo 2",sans-serif;display:flex;position:relative}.fly-star.to-jar{animation-name:fly-jar}@keyframes fly-jar{to{opacity:.2;transform:translateY(150px)scale(.35)}}@media (prefers-reduced-motion:reduce){.jar-fill{transition:none}.gift.opened{animation:none}.fly-star.to-jar{display:none}}.screen.garage{--gap:14px}.car-row{gap:10px;height:92px;display:flex;position:absolute;top:108px;left:24px;right:24px}.car-tile{min-width:60px;min-height:60px;box-shadow:var(--shadow);cursor:pointer;background:#fff;border:0;border-radius:20px;flex:1;padding:4px;position:relative}.car-tile.selected{box-shadow:inset 0 0 0 5px var(--purple), var(--shadow);background:var(--purple-l)}.car-tile.goal,.item-tile.goal{box-shadow:inset 0 0 0 5px var(--yellow-d), var(--shadow)}.car-tile .thumb,.item-tile img.thumb{object-fit:contain;pointer-events:none;width:100%;height:100%}.car-tile.locked .thumb,.item-tile.locked img.thumb{filter:grayscale(.85);opacity:.55}.item-tile.locked .swatch{opacity:.8}.car-tile .badge.lock,.item-tile .badge.lock{border-radius:22px;gap:4px;width:auto;min-width:44px;padding:0 10px;font-size:20px;bottom:6px;right:6px}.car-tile .badge.lock svg,.item-tile .badge.lock svg{width:22px;height:22px}.garage-main{gap:var(--gap);grid-template-columns:1fr 430px;display:grid;position:absolute;inset:214px 24px 20px}.garage-stage{border-radius:var(--radius);box-shadow:var(--shadow);background:radial-gradient(at 50% 70%,#fff 0%,#e9e4f7 55%,#d4cbee 100%);position:relative;overflow:hidden}.garage-canvas{touch-action:none;width:100%;height:100%;display:block;position:absolute;inset:0}.garage-panel{flex-direction:column;gap:12px;min-height:0;display:flex}.slot-tabs{grid-template-columns:repeat(6,1fr);gap:6px;display:grid}.slot-tab{min-width:60px;min-height:72px;color:var(--ink);box-shadow:var(--shadow);cursor:pointer;background:#fff;border:0;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;font:700 18px/1.1 "Baloo 2",sans-serif;display:flex}.slot-tab .icon{font-size:26px}.slot-tab.on{background:var(--purple);color:#fff}.item-grid{background:var(--cream);border-radius:var(--radius);min-height:0;box-shadow:var(--shadow);-webkit-overflow-scrolling:touch;flex:1;padding:12px;overflow-y:auto}.item-group h3{margin:4px 6px 8px;font-size:20px}.item-group+.item-group{margin-top:10px}.tiles{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.item-tile{aspect-ratio:1;cursor:pointer;background:#fff;border:0;border-radius:22px;justify-content:center;align-items:center;min-width:60px;min-height:60px;padding:8px;display:flex;position:relative;box-shadow:0 3px 10px #3f2a6622}.item-tile.on{box-shadow:inset 0 0 0 5px var(--purple);background:var(--purple-l)}.thumb.swatch{aspect-ratio:1;border-radius:50%;width:100%;height:100%;display:inline-block}.gift .thumb.swatch{width:70%;height:70%}.item-tile .swatch{border:4px solid #fff;border-radius:50%;width:72%;height:72%;box-shadow:0 2px 8px #0003}.item-tile .check{background:var(--purple);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-size:18px;display:flex;position:absolute;top:6px;right:6px}.btn.garage-quiz{min-height:84px;font-size:28px}.btn.garage-quiz.goal-btn{gap:10px}.btn.garage-quiz .goal-thumb{justify-content:center;align-items:center;width:56px;height:56px;display:inline-flex;overflow:hidden}.goal-thumb .thumb{max-width:100%;max-height:100%}.confirm-gift .thumb{max-width:82%;max-height:82%}.confirm-gift .swatch{border-radius:50%;width:60%;height:60%}.wanted .thumb{object-fit:contain;width:72px;height:48px}.wanted .swatch{border-radius:50%;width:40px;height:40px;display:inline-block}.setup-car{object-fit:contain;width:420px;height:280px;margin:0 auto;display:block}.quiz-car,.challenge-car{object-fit:contain;width:100%;max-height:260px}.perf-overlay{z-index:2;color:#fff;pointer-events:none;background:#000b;border-radius:12px;flex-direction:column;gap:2px;padding:8px 12px;font:600 16px ui-monospace,Menlo,monospace;display:flex;position:absolute;top:10px;left:10px}.perf-overlay .bad{color:#ff8a80}.frame.compact .car-row{height:72px;top:96px}.frame.compact .garage-main{grid-template-columns:1fr 380px;top:176px;bottom:12px}.frame.compact .slot-tab{min-height:62px;font-size:15px}.frame.compact .btn.garage-quiz{min-height:70px;font-size:24px}.car-row.hidden{visibility:hidden}.perf-panel{justify-content:space-between}.perf-panel .card p{font-size:22px}
