:root{--ink:#3b2a5a;--ink-soft:#5d4a82;--sky:#dff1ff;--lilac:#efe3ff;--pink:#d63f8c;--blue:#2f86d9;--violet:#7c4ddb;--mint:#1f9d6b;--gold:#ffc233;--gold-edge:#e39a00;--bg-end:#ffe3f1;--card:#fffe;--ease-out:cubic-bezier(.23, 1, .32, 1);--font:"Varela Round", "Arial Rounded MT Bold", system-ui, sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{height:100%;margin:0}body{font-family:var(--font);color:var(--ink);background:linear-gradient(180deg, var(--sky) 0%, var(--lilac) 70%, var(--bg-end) 100%) fixed;overscroll-behavior:none;-webkit-user-select:none;user-select:none;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}::selection{background:#ffd0ea}:focus-visible{outline:4px solid var(--violet);outline-offset:3px;border-radius:16px}#app{justify-content:center;min-height:100dvh;margin-inline:auto;padding:16px}.screen{text-align:center;flex-direction:column;align-items:center;gap:18px;width:min(100%,720px);min-width:0;display:flex}h1{text-wrap:balance;margin:0;font-size:clamp(2rem,7vw,3.2rem);font-weight:400}.say{color:var(--ink-soft);text-wrap:balance;margin:0;font-size:clamp(1.25rem,4.4vw,1.7rem)}#app>*{animation:enter .22s var(--ease-out) both}@keyframes enter{0%{opacity:0;transform:translateY(8px)}}button{font:inherit;cursor:pointer;color:inherit;touch-action:manipulation;border:0}button:disabled{opacity:.5}.cta{color:#fff;background:var(--pink);min-height:72px;transition:transform .16s var(--ease-out), box-shadow .16s var(--ease-out);border-radius:36px;padding:0 44px;font-size:1.8rem;box-shadow:0 8px 18px #d63f8c59}.cta:active{transform:scale(.97)}.ghost{min-height:56px;color:var(--ink);transition:transform .16s var(--ease-out);background:#ffffffb0;border-radius:28px;padding:0 28px;font-size:1.2rem}.ghost:active{transform:scale(.97)}:root[data-theme=princess]{--sky:#ffeaf6;--lilac:#f1e4ff;--bg-end:#ffd9ec;--pink:#b83fc9;--violet:#6a4bd6}:root[data-theme=explorer]{--sky:#e2f6e6;--lilac:#fff3d6;--bg-end:#ffe5b8;--pink:#e8742a;--violet:#1f8a78;--blue:#2a78c9}:root[data-theme=kitty]{--sky:#ffe6ef;--lilac:#e6eeff;--bg-end:#fff0d9;--pink:#e0457f;--violet:#8b5fd6}.fairy{flex:none;width:96px;height:112px}.fairy.big{width:180px;height:210px}.fairy-svg{width:100%;height:100%;overflow:visible}.fairy .wing{fill:#fffc;stroke:#b9a4ee;stroke-width:2px;transform-origin:60px 60px;transform-box:fill-box}.fairy .dress{fill:var(--pink)}.fairy .leg,.fairy .head{fill:#ffd9c2}.fairy .eye{fill:var(--ink)}.fairy .mouth{stroke:var(--ink);stroke-width:2.4px;stroke-linecap:round}.fairy .cheek{fill:#ff9fc4;opacity:.7}.fairy .wand line{stroke:#8a6a3a;stroke-width:3px}.fairy .wand-ring{fill:#e0f4ff99;stroke:var(--gold-edge);stroke-width:3px}.fairy .wand-star{fill:var(--gold);stroke:var(--gold-edge);stroke-width:1.2px;stroke-linejoin:round}.fairy-body{transform-origin:60px 90px;animation:3.2s ease-in-out infinite bob}.fairy .wing-l{animation:.9s ease-in-out infinite flap-l}.fairy .wing-r{animation:.9s ease-in-out infinite flap-r}.fairy[data-mood=cheer] .fairy-body{animation:jump .7s var(--ease-out) 2}.fairy[data-mood=comfort] .fairy-body{animation:1.2s ease-in-out infinite tilt}.fairy[data-mood=count] .wand{transform-origin:84px 80px;animation:.9s ease-in-out infinite point}@keyframes bob{50%{transform:translateY(-7px)}}@keyframes flap-l{50%{transform:rotate(10deg)scaleX(.88)}}@keyframes flap-r{50%{transform:rotate(-10deg)scaleX(.88)}}@keyframes jump{40%{transform:translateY(-26px)rotate(-4deg)}to{transform:translateY(0)}}@keyframes tilt{50%{transform:rotate(6deg)}}@keyframes point{50%{transform:rotate(-14deg)}}.star{width:28px;height:28px;fill:var(--gold);stroke:var(--gold-edge);stroke-width:1.2px;transition:fill .2s ease, transform .2s var(--ease-out)}.star.dim{fill:#ece5f8;stroke:#b9a4ee}.star.counted{animation:pop .38s var(--ease-out)}.star-row{max-width:5 * 30px;flex-wrap:wrap;justify-content:center;gap:2px;min-height:30px;display:flex}@keyframes pop{0%{transform:scale(.8)}55%{transform:scale(1.35)rotate(-8deg)}to{transform:scale(1)}}.exercise .stage{flex-direction:column;align-items:center;gap:18px;width:100%;display:flex;position:relative}.top{justify-content:space-between;align-items:center;gap:12px;width:100%;max-width:560px;display:flex}.progress{flex-wrap:nowrap;gap:1px;display:flex}.progress .star{width:18px;height:18px}.progress .star.now{transform:scale(1.25)}.say-row{align-items:center;gap:12px;display:flex}.replay{background:var(--card);width:56px;height:56px;transition:transform .16s var(--ease-out);border-radius:50%;flex:none;place-items:center;display:grid;box-shadow:0 4px 12px #3b2a5a29}.replay:active{transform:scale(.95)}.replay svg{width:28px;height:28px;fill:var(--violet);stroke:var(--violet);stroke-width:2px;stroke-linecap:round}.sum{direction:ltr;flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(6px,2vw,18px);display:flex}.group{background:var(--card);border-radius:28px;flex-direction:column;align-items:center;gap:4px;min-width:112px;padding:10px 14px 12px;display:flex;box-shadow:0 8px 20px #3b2a5a24}.group .num{font-size:clamp(3.6rem,16vw,5.4rem);line-height:1.05}.group-a .num{color:var(--pink)}.group-b .num{color:var(--blue)}.answer{border:4px dashed #c3a5f4}.answer .num{color:var(--violet)}.answer.solved{border-style:solid;border-color:var(--mint);animation:settle .42s var(--ease-out)}.answer.solved .num{color:var(--mint)}@keyframes settle{0%{transform:scale(.94)}to{transform:scale(1)}}.sign{color:var(--violet);font-size:clamp(2.6rem,10vw,4rem)}.answer .star.dim{visibility:hidden}.is-explaining .answer .star.dim,.is-explaining .answer .star:not(.dim){visibility:visible}.choices{direction:ltr;flex-wrap:wrap;justify-content:center;gap:14px;display:flex}.choice{color:#fff;width:clamp(64px,20vw,80px);height:clamp(64px,20vw,80px);transition:transform .16s var(--ease-out);border-radius:50%;font-size:2.6rem;box-shadow:0 8px 16px #3b2a5a38}.choice.pink{background:var(--pink)}.choice.sky{background:var(--blue)}.choice.violet{background:var(--violet)}.choice.mint{background:var(--mint)}.choice:active{transform:scale(.94)}.choice.tried{opacity:.3;box-shadow:none;transition:opacity .2s var(--ease-out), transform .2s var(--ease-out);transform:scale(.9)}.spark{pointer-events:none;width:26px;height:26px;animation:spark .9s var(--ease-out) var(--d) both;margin:-13px;position:absolute;inset-block-start:38%;inset-inline-start:50%}@keyframes spark{0%{opacity:1;transform:translate(0)scale(.6)}to{transform:translate(var(--dx), var(--dy)) scale(1.1) rotate(160deg);opacity:0}}.round-end .prize{background:var(--card);animation:reveal .6s var(--ease-out) .3s both;border-radius:32px;justify-items:center;gap:6px;padding:18px 34px;font-size:1.5rem;display:grid;box-shadow:0 10px 24px #3b2a5a29}.item-art{width:84px;height:84px;fill:var(--violet);stroke:var(--violet);stroke-width:.6px}@keyframes reveal{0%{opacity:0;transform:translateY(14px)scale(.92)}}.item-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:12px;width:100%;display:grid}.item{background:var(--card);border-radius:24px;align-content:center;justify-items:center;gap:6px;min-height:130px;padding:14px 8px;display:grid}.item:not(.owned){background:#fff6}.item-empty{border:3px dashed #cdbfe8;border-radius:50%;width:60px;height:60px}.item.fresh{animation:reveal .6s var(--ease-out) both}@media (prefers-reduced-motion:reduce){#app>*,.fairy-body,.fairy .wing,.fairy .wand,.spark,.star.counted,.answer.solved,.prize,.item.fresh{animation:none!important}*{transition-duration:.01ms!important}}@media (hover:hover) and (pointer:fine){.cta:hover{transform:translateY(-2px)}.choice:hover{transform:scale(1.06)}}@media (width<=480px){.sum{flex-wrap:nowrap;gap:4px}.group{border-radius:22px;width:26vw;min-width:0;padding:8px 2px 10px}.group .num{font-size:3.4rem}.group .star{width:20px;height:20px}.star-row{max-width:none}.sign{text-align:center;width:6vw;font-size:2rem}.answer{border-width:3px}}.theme-picker{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.theme-btn{background:var(--card);width:72px;height:84px;transition:transform .16s var(--ease-out), border-color .16s ease;border:3px solid #0000;border-radius:22px;padding:6px;box-shadow:0 4px 12px #3b2a5a24}.theme-btn:active{transform:scale(.95)}.theme-btn[aria-pressed=true]{border-color:var(--violet)}.theme-btn .fairy{width:100%;height:100%}.theme-btn .fairy-body,.theme-btn .wing{animation:none}@media (width>=900px) and (height>=700px){#app{zoom:1.4;min-height:71.4286dvh}}.lang-picker{justify-content:center;gap:8px;display:flex}.lang-btn{min-width:88px;height:44px;color:var(--ink-soft);transition:transform .16s var(--ease-out), background-color .16s ease;background:0 0;border:2px solid #cdbfe8;border-radius:22px;padding:0 16px;font-size:1.05rem}.lang-btn:active{transform:scale(.97)}.lang-btn[aria-pressed=true]{background:var(--card);border-color:var(--violet);color:var(--ink)}
