@import "https://fonts.googleapis.com/css2?family=Fredoka:wght@400;600;700&display=swap";:root{--font-kids:"Fredoka", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;--bg-app:linear-gradient(135deg, #fff9e6 0%, #e6f7ff 100%);--color-primary:#ff7b9c;--color-secondary:#4ecdc4;--color-accent:#ffb84d;--color-purple:#a78bfa;--color-green:#4ade80;--color-blue:#60a5fa;--color-dark:#374151;--shadow-kid:0 8px 0px #00000014, 0 15px 30px #0000000d;--shadow-btn:0 6px 0px #0000001f;--shadow-btn-active:0 2px 0px #0000001f}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;margin:0;padding:0}body,html,#root{width:100%;height:100%;font-family:var(--font-kids);background:var(--bg-app);color:var(--color-dark)}#root{flex-direction:column;height:100%;display:flex;position:relative}body{touch-action:pan-y;position:fixed;inset:0}.app-container{-webkit-overflow-scrolling:touch;flex-direction:column;width:100%;height:100%;padding:16px;display:flex;position:relative;overflow-y:auto}.btn-kid{font-family:var(--font-kids);border:3px solid var(--color-dark);cursor:pointer;border-radius:20px;justify-content:center;align-items:center;gap:8px;padding:12px 24px;font-size:1.2rem;font-weight:700;text-decoration:none;transition:transform .1s,box-shadow .1s;display:inline-flex;position:relative}.btn-kid-pink{background-color:var(--color-primary);color:#fff;box-shadow:var(--shadow-btn)}.btn-kid-pink:active{box-shadow:var(--shadow-btn-active);transform:translateY(4px)}.btn-kid-turquoise{background-color:var(--color-secondary);color:#fff;box-shadow:var(--shadow-btn)}.btn-kid-turquoise:active{box-shadow:var(--shadow-btn-active);transform:translateY(4px)}.btn-kid-orange{background-color:var(--color-accent);color:#fff;box-shadow:var(--shadow-btn)}.btn-kid-orange:active{box-shadow:var(--shadow-btn-active);transform:translateY(4px)}.btn-kid-purple{background-color:var(--color-purple);color:#fff;box-shadow:var(--shadow-btn)}.btn-kid-purple:active{box-shadow:var(--shadow-btn-active);transform:translateY(4px)}.btn-kid-gray{color:var(--color-dark);background-color:#e5e7eb;box-shadow:0 6px #9ca3af}.btn-kid-gray:active{transform:translateY(4px);box-shadow:0 2px #9ca3af}.screen-welcome{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:20px;width:100%;height:100%;display:flex}.title-welcome{color:var(--color-primary);text-shadow:3px 3px #fff,6px 6px #0000000d;font-size:2.2rem;animation:2s ease-in-out infinite wobble-animation}.input-name{font-family:var(--font-kids);border:3px solid var(--color-dark);text-align:center;width:80%;max-width:320px;box-shadow:var(--shadow-kid);background-color:#fff;border-radius:20px;outline:none;padding:12px 20px;font-size:1.5rem;font-weight:700}.avatar-grid{grid-template-columns:repeat(3,1fr);gap:15px;max-width:360px;margin:15px 0;display:grid}.avatar-item{cursor:pointer;width:80px;height:80px;box-shadow:var(--shadow-kid);background-color:#fff;border:4px solid #fff;border-radius:50%;justify-content:center;align-items:center;font-size:2.5rem;transition:transform .2s,border-color .2s;display:flex}.avatar-item.selected{border-color:var(--color-secondary);animation:.5s bounce;transform:scale(1.15)}.dashboard-header{justify-content:space-between;align-items:center;width:100%;margin-bottom:20px;padding:10px 0;display:flex}.user-badge{border:3px solid var(--color-dark);box-shadow:var(--shadow-kid);background:#fff;border-radius:30px;align-items:center;gap:10px;padding:8px 16px;display:flex}.stars-badge{border:3px solid var(--color-dark);box-shadow:var(--shadow-kid);color:var(--color-accent);background:#fff;border-radius:30px;align-items:center;gap:6px;padding:8px 16px;font-size:1.2rem;font-weight:700;display:flex}.dashboard-grid{flex:1;grid-template-columns:repeat(2,1fr);gap:20px;width:100%;padding-bottom:20px;display:grid}.game-card{border:4px solid var(--color-dark);cursor:pointer;color:#fff;box-shadow:var(--shadow-btn);text-align:center;border-radius:24px;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:20px;transition:transform .2s,box-shadow .2s;display:flex;position:relative}.game-card:active{box-shadow:var(--shadow-btn-active);transform:translateY(6px)}.game-card-coloring{background-color:var(--color-primary)}.game-card-sorting{background-color:var(--color-secondary)}.game-card-shapes{background-color:var(--color-accent)}.game-card-memory{background-color:var(--color-purple)}.game-card-pet{background-color:#60a5fa}.game-card-piano{background-color:#34d399}.game-card-shadow{background-color:#f59e0b}.game-card-counting{background-color:#ec4899}.game-card-icon{font-size:4rem;animation:3s ease-in-out infinite float}.game-card-title{text-shadow:2px 2px #0003;font-size:1.4rem;font-weight:700}@media (width<=600px){.dashboard-grid{gap:10px;padding-bottom:10px}.game-card{border-width:3px;border-radius:18px;gap:6px;padding:12px 8px}.game-card-icon{font-size:2.5rem}.game-card-title{font-size:1.1rem}}.game-header{justify-content:space-between;align-items:center;width:100%;margin-bottom:15px;display:flex}.game-body{flex-direction:column;flex:1;justify-content:center;align-items:center;width:100%;display:flex;position:relative;overflow:hidden}.coloring-container{flex-direction:column;align-items:center;gap:12px;width:100%;height:100%;display:flex}.canvas-wrapper{border:4px solid var(--color-dark);width:100%;max-height:55%;box-shadow:var(--shadow-kid);background:#fff;border-radius:20px;flex:1;justify-content:center;align-items:center;display:flex;position:relative}canvas{touch-action:none;max-width:100%;max-height:100%;display:block}.palette-container{flex-direction:column;gap:8px;width:100%;display:flex}.colors-scroll{scrollbar-width:none;gap:10px;width:100%;padding:6px 4px;display:flex;overflow-x:auto}.colors-scroll::-webkit-scrollbar{display:none}.color-dot{border:3px solid var(--color-dark);cursor:pointer;border-radius:50%;flex-shrink:0;width:44px;height:44px;transition:transform .1s}.color-dot.active{box-shadow:0 0 0 3px white, 0 0 0 6px var(--color-dark);transform:scale(1.25)}.tools-container{border:3px solid var(--color-dark);width:100%;box-shadow:var(--shadow-kid);scrollbar-width:none;background:#fff;border-radius:20px;justify-content:flex-start;padding:8px;display:flex;overflow-x:auto}.tools-container::-webkit-scrollbar{display:none}.tool-btn{cursor:pointer;background:0 0;border:3px solid #0000;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:50px;height:50px;font-size:1.5rem;transition:all .1s;display:flex}.tool-btn.active{border-color:var(--color-dark);background-color:#f3f4f6;transform:scale(1.1)}.templates-scroll{scrollbar-width:none;gap:12px;width:100%;padding:8px 4px;display:flex;overflow-x:auto}.templates-scroll::-webkit-scrollbar{display:none}.template-thumb{border:3px solid var(--color-dark);cursor:pointer;background:#fff;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:70px;height:70px;padding:4px;display:flex}.template-thumb.active{border-color:var(--color-primary);box-shadow:0 0 0 3px white, 0 0 0 6px var(--color-primary)}.template-thumb img{object-fit:contain;max-width:100%;max-height:100%}.sorting-container{flex-direction:column;justify-content:space-between;align-items:center;width:100%;height:100%;display:flex;position:relative}.tubes-area{flex:1;justify-content:space-around;align-items:flex-end;gap:10px;width:100%;padding-bottom:20px;display:flex}.tube-wrapper{flex-direction:column;align-items:center;width:76px;height:70%;max-height:240px;display:flex;position:relative}.tube{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#fff6;border:4px solid #cbd5e1;border-top:none;border-bottom-right-radius:30px;border-bottom-left-radius:30px;flex-direction:column-reverse;justify-content:flex-start;align-items:center;gap:8px;width:100%;height:100%;padding-bottom:12px;display:flex;position:relative;box-shadow:inset 0 0 15px #fff9}.tube.highlight{border-color:var(--highlight-color);background:#ffffffb3}.tube-rim{background:#f1f5f9;border:4px solid #cbd5e1;border-radius:8px;width:84px;height:14px;position:absolute;top:-10px;left:-8px}.tube-wrapper.correct .tube{border-color:var(--tube-color);box-shadow:0 0 15px var(--tube-color)}.tube-wrapper.correct .tube-rim{border-color:var(--tube-color);background-color:var(--tube-color)}.balls-basket{border:4px solid var(--color-dark);width:100%;min-height:90px;box-shadow:var(--shadow-kid);background:#fff;border-radius:24px;flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;padding:16px;display:flex}.ball{border:3px solid var(--color-dark);cursor:grab;touch-action:none;border-radius:50%;width:42px;height:42px;position:relative;box-shadow:inset -6px -6px #00000026}.ball:active{cursor:grabbing}.shapes-container{flex-direction:column;justify-content:space-between;align-items:center;width:100%;height:100%;display:flex;position:relative}.monsters-area{flex:1;justify-content:space-around;align-items:flex-end;width:100%;padding-bottom:20px;display:flex}.monster-box{flex-direction:column;align-items:center;gap:8px;width:100px;display:flex}.monster{justify-content:center;align-items:center;width:90px;height:100px;transition:transform .2s;display:flex;position:relative}.monster svg{width:100%;height:100%}.monster.eating{animation:.5s ease-in-out 2 chew}.monster-shape-badge{border:3px solid var(--color-dark);box-shadow:var(--shadow-kid);background:#fff;border-radius:12px;padding:4px 8px;font-size:.9rem;font-weight:700}.foods-basket{border:4px solid var(--color-dark);width:100%;min-height:90px;box-shadow:var(--shadow-kid);background:#fff;border-radius:24px;justify-content:center;align-items:center;gap:20px;padding:16px;display:flex}.food-item{cursor:grab;touch-action:none;justify-content:center;align-items:center;width:50px;height:50px;display:flex;position:relative}.food-item svg{filter:drop-shadow(2px 4px #0000001a);width:100%;height:100%}.memory-container{flex-direction:column;align-items:center;gap:16px;width:100%;height:100%;display:flex}.memory-grid{flex:1;grid-template-rows:repeat(4,1fr);grid-template-columns:repeat(3,1fr);gap:12px;width:100%;max-width:320px;max-height:420px;display:grid}.card-3d{perspective:1000px;aspect-ratio:1;width:100%;height:100%}.card-inner{text-align:center;width:100%;height:100%;transform-style:preserve-3d;cursor:pointer;transition:transform .6s cubic-bezier(.175,.885,.32,1.275);position:relative}.card-3d.flipped .card-inner{transform:rotateY(180deg)}.card-front,.card-back{backface-visibility:hidden;border:4px solid var(--color-dark);width:100%;height:100%;box-shadow:var(--shadow-kid);border-radius:16px;justify-content:center;align-items:center;display:flex;position:absolute}.card-front{background-color:var(--color-purple);color:#fff;background-image:radial-gradient(#fff3 20%,#0000 20%);background-size:16px 16px;font-size:2.2rem;font-weight:700}.card-back{background-color:#fff;padding:8px;transform:rotateY(180deg)}.card-back img{object-fit:contain;max-width:90%;max-height:90%;animation:.3s scale-up}.card-3d.matched .card-back{border-color:var(--color-green);background-color:#f0fdf4;animation:.5s success-pulse}@keyframes float{0%{transform:translateY(0)rotate(0)}50%{transform:translateY(-8px)rotate(3deg)}to{transform:translateY(0)rotate(0)}}@keyframes bounce{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}@keyframes chew{0%,to{transform:scaleY(1)}50%{transform:scaleY(.7)translateY(10px)}}@keyframes wobble-animation{0%,to{transform:rotate(-3deg)scale(1)}50%{transform:rotate(3deg)scale(1.05)}}@keyframes scale-up{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}@keyframes success-pulse{0%{transform:scale(1)rotateY(180deg);box-shadow:0 0 #4ade80b3}70%{transform:scale(1.1)rotateY(180deg);box-shadow:0 0 0 10px #4ade8000}to{transform:scale(1)rotateY(180deg);box-shadow:0 0 #4ade8000}}.victory-overlay{z-index:100;text-align:center;background:#fff9e6e6;flex-direction:column;justify-content:center;align-items:center;gap:20px;animation:.3s fade-in;display:flex;position:absolute;inset:0}.victory-title{color:var(--color-primary);font-size:3rem;animation:1.5s infinite wobble-animation}.victory-stars{color:var(--color-accent);gap:10px;font-size:4rem;animation:2s ease-in-out infinite float;display:flex}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.error-bounce{animation:.4s shake}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-8px)}75%{transform:translate(8px)}}canvas{touch-action:none}.buzz-shake{animation:.5s screen-buzz}@keyframes screen-buzz{0%,to{transform:translate(0)rotate(0)}10%{transform:translate(-4px,4px)rotate(-.5deg)}20%{transform:translate(4px,-4px)rotate(.5deg)}30%{transform:translate(-4px,-4px)rotate(0)}40%{transform:translate(4px,4px)rotate(.5deg)}50%{transform:translate(-4px,4px)rotate(-.5deg)}60%{transform:translate(4px,-4px)rotate(0)}70%{transform:translate(-4px,-4px)rotate(.5deg)}80%{transform:translate(4px,4px)rotate(-.5deg)}90%{transform:translate(-4px,4px)rotate(0)}}@keyframes slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}
