:root{--font:"Baloo 2", "Fredoka", "Arial Rounded MT Bold", "Comic Sans MS", system-ui, sans-serif;--panel:#fffdf6;--panel-2:#fff;--ink:#2b2f45;--ink-dim:#6b7189;--shadow:0 10px 0 #0000001a, 0 18px 34px #00000057;--shadow-sm:0 5px 0 #0000001a, 0 8px 16px #0000004d;--bounce:.22s cubic-bezier(.34, 1.56, .64, 1)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{height:100%;color:var(--ink);font-family:var(--font);-webkit-user-select:none;user-select:none;background:#05060e;margin:0;overflow:hidden}#game-canvas{z-index:0;touch-action:none;width:100vw;height:100vh;display:block;position:fixed;inset:0}#ui-root{z-index:2;pointer-events:none;position:fixed;inset:0}.kid-panel,.kid-round,.kid-tool,.kid-blast,.kid-bubble,.kid-tab,.kid-card,.kid-bubble-rm{pointer-events:auto}.hidden{display:none!important}.kid-topbar{top:max(12px, env(safe-area-inset-top));align-items:center;gap:12px;display:flex;position:absolute;left:14px}.kid-logo{color:#fff;letter-spacing:.5px;text-shadow:0 3px #00000059,0 0 18px #78aaff80;font-size:clamp(20px,3vw,30px);font-weight:800}.kid-logo b{color:#ffd166}.kid-counter{background:var(--panel);box-shadow:var(--shadow-sm);border-radius:999px;align-items:center;gap:6px;padding:6px 14px 6px 10px;font-weight:800;display:flex}.kid-counter-star{filter:drop-shadow(0 2px 2px #0003);font-size:22px}.kid-counter-num{color:var(--ink);text-align:center;min-width:20px;transition:transform var(--bounce);font-size:22px}.kid-counter-num.pop{animation:pop .38s var(--bounce)}@keyframes pop{0%{transform:scale(1)}40%{color:#ef476f;transform:scale(1.6)}to{transform:scale(1)}}.kid-actions{top:max(12px, env(safe-area-inset-top));gap:10px;display:flex;position:absolute;right:14px}.kid-round{background:var(--panel);width:clamp(52px,8vw,66px);height:clamp(52px,8vw,66px);box-shadow:var(--shadow-sm);cursor:pointer;transition:transform var(--bounce), background .15s;border:none;border-radius:50%;place-items:center;font-size:clamp(24px,4vw,30px);display:grid}.kid-round:active{transform:scale(.9)}.kid-round.off{filter:grayscale(.6);background:#d7dae6}.kid-clear.armed{background:#ffd166;animation:.5s ease-in-out infinite wobble}@keyframes wobble{0%,to{transform:rotate(-6deg)}50%{transform:rotate(6deg)}}.kid-hint{color:#4a3b12;box-shadow:var(--shadow-sm);white-space:nowrap;background:#ffd166;border-radius:999px;padding:12px 22px;font-size:clamp(16px,2.6vw,22px);font-weight:800;transition:opacity .5s,transform .5s;animation:1.4s ease-in-out infinite bob;position:absolute;bottom:230px;left:50%;transform:translate(-50%)}.kid-hint.gone{opacity:0;transform:translate(-50%)translateY(20px)}@keyframes bob{0%,to{transform:translate(-50%)translateY(0)}50%{transform:translate(-50%)translateY(-8px)}}.kid-dock{left:0;right:0;bottom:max(10px, env(safe-area-inset-bottom));pointer-events:none;justify-content:center;align-items:flex-end;gap:12px;padding:0 12px;display:flex;position:absolute}.kid-tools{flex:none;gap:10px;display:flex}.kid-tool-wrap{flex-direction:column;align-items:center;gap:3px;display:flex}.kid-tool{background:var(--panel);width:clamp(56px,8.5vw,72px);height:clamp(56px,8.5vw,72px);box-shadow:var(--shadow-sm);cursor:pointer;transition:transform var(--bounce), border-color .15s, background .15s;border:4px solid #fff;border-radius:22px;place-items:center;font-size:clamp(26px,4.4vw,34px);display:grid}.kid-tool:active{transform:scale(.9)}.kid-tool.active{box-shadow:var(--shadow-sm), 0 0 0 4px #06d6a059;background:#eafff8;border-color:#06d6a0}.kid-tool .kid-tool-ic{line-height:1}.kid-tool-lbl{color:#fff;text-shadow:0 2px #0006;font-size:12px;font-weight:800}.kid-tool-wrap:nth-child(2) .kid-tool{opacity:.45}.kid-tool-wrap:nth-child(2) .kid-tool.show{opacity:1}.kid-panel{background:var(--panel);max-width:760px;box-shadow:var(--shadow);border-radius:26px;flex:auto;padding:10px 12px 12px;transition:transform .12s}.kid-panel.nope{animation:.32s shake}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-5px)}80%{transform:translate(5px)}}.kid-tabs{scrollbar-width:none;gap:6px;padding-bottom:8px;display:flex;overflow-x:auto}.kid-tabs::-webkit-scrollbar{display:none}.kid-tab{--cat:#4d96ff;color:var(--ink-dim);font-family:var(--font);cursor:pointer;transition:transform var(--bounce), background .15s, color .15s;background:#eef0f6;border:none;border-radius:999px;flex:none;align-items:center;gap:6px;padding:7px 14px;font-size:clamp(13px,2vw,16px);font-weight:800;display:flex}.kid-tab:active{transform:scale(.94)}.kid-tab-ic{font-size:18px;line-height:1}.kid-tab.active{background:var(--cat);color:#fff;box-shadow:0 4px #00000026}.kid-cards{scroll-behavior:smooth;scrollbar-width:thin;gap:10px;padding:4px 2px 6px;display:flex;overflow-x:auto}.kid-cards::-webkit-scrollbar{height:8px}.kid-cards::-webkit-scrollbar-thumb{background:#d3d7e4;border-radius:8px}.kid-card{--cat:#4d96ff;background:var(--panel-2);width:clamp(80px,12vw,98px);height:clamp(92px,14vw,108px);box-shadow:var(--shadow-sm);cursor:pointer;transition:transform var(--bounce), border-color .15s;border:4px solid #fff;border-radius:20px;flex-direction:column;flex:none;justify-content:center;align-items:center;gap:4px;padding:6px 4px;display:flex}.kid-card:active{transform:scale(.92)}.kid-card-ic{filter:drop-shadow(0 3px 3px #0000002e);font-size:clamp(34px,5.5vw,44px);line-height:1}.kid-card-nm{color:var(--ink);text-align:center;font-size:clamp(11px,1.7vw,13px);font-weight:800;line-height:1.05}.kid-card.active{border-color:var(--cat);box-shadow:var(--shadow), 0 0 0 5px color-mix(in srgb, var(--cat) 40%, transparent);transform:translateY(-8px)scale(1.04)}.kid-blast{width:clamp(78px,11vw,104px);height:clamp(78px,11vw,104px);box-shadow:var(--shadow);color:#fff;cursor:pointer;transition:transform var(--bounce);background:linear-gradient(160deg,#ff8c42,#ef476f);border:5px solid #fff;border-radius:28px;flex-direction:column;flex:none;justify-content:center;align-items:center;gap:2px;display:flex}.kid-blast:active{transform:scale(.92)}.kid-blast-ic{font-size:clamp(30px,5vw,42px);line-height:1}.kid-blast-tx{letter-spacing:.5px;white-space:pre-line;text-align:center;text-shadow:0 2px #00000040;font-size:clamp(11px,1.6vw,13px);font-weight:800;line-height:1}.kid-blast.go{animation:blastPulse .5s var(--bounce)}@keyframes blastPulse{0%{transform:scale(1)}40%{transform:scale(1.18)rotate(-4deg)}to{transform:scale(1)}}.kid-bubble{background:var(--panel);box-shadow:var(--shadow-sm);animation:pop .3s var(--bounce);border-radius:999px;align-items:center;gap:10px;padding:8px 10px 8px 16px;display:flex;position:absolute;bottom:236px;left:50%;transform:translate(-50%)}.kid-bubble-ic{font-size:28px}.kid-bubble-nm{color:var(--ink);font-size:18px;font-weight:800}.kid-bubble-rm{cursor:pointer;width:46px;height:46px;transition:transform var(--bounce);background:#ffe0e6;border:none;border-radius:50%;place-items:center;font-size:24px;display:grid}.kid-bubble-rm:active{transform:scale(.88)}.kid-tab-ic-img,.kid-tool-ic-img,.kid-counter-star-img,.kid-blast-ic-img,.boot-logo-rocket,#boot-moon{object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;display:block}.kid-counter-star-img{filter:drop-shadow(0 2px 2px #00000040);width:26px;height:26px}.kid-tab-ic-img{filter:drop-shadow(0 1px 1px #00000040);flex:none;width:26px;height:26px}.kid-tool-ic-img{filter:drop-shadow(0 2px 2px #00000047);width:clamp(34px,5.4vw,44px);height:clamp(34px,5.4vw,44px)}.kid-blast-ic-img{filter:drop-shadow(0 2px 3px #00000059);width:clamp(34px,5.6vw,46px);height:clamp(34px,5.6vw,46px)}#boot-screen{z-index:50;background:radial-gradient(120% 90% at 50% 10%,#1a2a5e,#0a0f24 60%,#05060e);place-items:center;transition:opacity .85s;display:grid;position:fixed;inset:0}#boot-screen.fade-out{opacity:0;pointer-events:none}.boot-inner{text-align:center;padding:24px}.boot-logo{color:#fff;text-shadow:0 6px #0000004d,0 0 40px #78aaff8c;font-size:clamp(44px,11vw,96px);font-weight:800;line-height:.95;animation:3s ease-in-out infinite floaty}.boot-logo span{color:#ffd166;display:block}.boot-logo-rocket{vertical-align:middle;filter:drop-shadow(0 6px 10px #0006);width:clamp(52px,11vw,104px);height:clamp(52px,11vw,104px);margin-right:.1em;animation:2.4s ease-in-out infinite floaty;display:inline-block}@keyframes floaty{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}#boot-moon{opacity:.9;filter:drop-shadow(0 10px 30px #5078dc66);z-index:0;width:clamp(120px,24vw,250px);height:clamp(120px,24vw,250px);animation:5s ease-in-out infinite floaty;position:absolute;top:6%;right:7%}.boot-inner{z-index:1;position:relative}.boot-sub{color:#aeb9e0;letter-spacing:1px;margin-top:14px;font-size:clamp(14px,2.4vw,20px);font-weight:700}.boot-bar{background:#ffffff1f;border-radius:999px;width:min(320px,70vw);height:14px;margin:30px auto 6px;overflow:hidden}#boot-progress{background:linear-gradient(90deg,#06d6a0,#4d96ff);border-radius:999px;width:0%;height:100%;transition:width .7s}.boot-btns{flex-wrap:wrap;justify-content:center;gap:16px;margin-top:26px;display:flex}#boot-start,#boot-continue{font-family:var(--font);cursor:pointer;transition:transform var(--bounce);box-shadow:var(--shadow);border:5px solid #fff;border-radius:26px;font-weight:800}#boot-start{color:#fff;background:linear-gradient(160deg,#06d6a0,#4d96ff);padding:16px 44px;font-size:clamp(26px,5vw,40px)}#boot-start:before{content:"▶ "}#boot-continue{background:var(--panel);color:var(--ink);padding:14px 26px;font-size:clamp(16px,3vw,22px)}#boot-start:active,#boot-continue:active{transform:scale(.94)}#boot-teacher{color:#b9c4e4;font-family:var(--font);background:#ffffff0f;border:1px solid #ffffff38;border-radius:999px;margin-top:34px;padding:8px 16px;font-size:clamp(12px,1.7vw,14px);font-weight:700;text-decoration:none;transition:color .15s,background .15s,border-color .15s;display:inline-block}#boot-teacher:hover{color:#fff;background:#ffffff21;border-color:#ffffff73}#boot-copyright{font-family:var(--font);color:#b9c4e4;opacity:.4;margin-top:12px;font-size:11px;font-weight:700}@media (height<=560px){.kid-hint,.kid-bubble{bottom:200px}}@media (width<=720px){.kid-tool-lbl{display:none}.kid-logo{font-size:20px}}
