@import "https://fonts.googleapis.com/css2?family=Fredoka:wght@400;600;700&display=swap";:root{--bubble-pink:#ff6b8b;--bubble-pink-hover:#ff4770;--sky-blue:#4ec5f1;--sunny-yellow:#ffd93d;--playful-green:#6bcb77;--energetic-orange:#ff9f43;--soft-purple:#9b5de5;--soft-teal:#00f5d4;--background-safari:linear-gradient(135deg, #e0f2fe 0%, #f0fdf4 100%);--text-primary:#2c3e50;--text-secondary:#5a738e}*{box-sizing:border-box;-webkit-user-select:none;user-select:none;margin:0;padding:0;font-family:Fredoka,system-ui,sans-serif}html,body,#root{background:var(--background-safari);width:100%;min-height:100dvh;color:var(--text-primary);margin:0;padding:0;overflow-x:hidden}.app-container{width:100%;max-width:100vw;min-height:100dvh;padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px);-webkit-overflow-scrolling:touch;flex-direction:column;margin:0;display:flex;position:relative;overflow:hidden auto}@media (width<=768px){.app-container{padding-left:6px;padding-right:6px}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-15px)}}@keyframes rotatePhone{0%,to{transform:rotate(0)}50%{transform:rotate(90deg)}}@keyframes wiggle{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}@keyframes popIn{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.game-btn{color:#fff;cursor:pointer;border:4px solid #fff;border-radius:24px;justify-content:center;align-items:center;gap:10px;padding:14px 28px;font-size:1.25rem;font-weight:700;transition:all .15s cubic-bezier(.175,.885,.32,1.275);display:inline-flex;box-shadow:0 10px #0000001a}.game-btn:active{transform:translateY(6px);box-shadow:0 4px #0000001a}.game-btn:hover{transform:translateY(-2px);box-shadow:0 12px #0000001a}.game-btn:hover:active{transform:translateY(6px);box-shadow:0 4px #0000001a}.btn-pink{background-color:var(--bubble-pink)}.btn-pink:hover{background-color:var(--bubble-pink-hover)}.btn-blue{background-color:var(--sky-blue)}.btn-yellow{background-color:var(--sunny-yellow);color:#8f6b00}.btn-green{background-color:var(--playful-green)}.btn-purple{background-color:var(--soft-purple)}.btn-teal{background-color:var(--soft-teal);color:#007765}.bubble-panel{background:#ffffffe6;border:6px solid #fff;border-radius:32px;padding:24px;animation:.4s cubic-bezier(.175,.885,.32,1.275) popIn;box-shadow:0 16px 32px #2c3e5014}.grid-cell{aspect-ratio:1;cursor:pointer;background:#fff;border:3px solid #e2e8f0;border-radius:16px;justify-content:center;align-items:center;font-size:2.2rem;font-weight:700;transition:all .1s;display:flex;box-shadow:inset 0 -4px #e2e8f0cc}.grid-cell:active{transform:scale(.92)}.grid-cell.selected{border-color:var(--soft-purple);background:#9b5de51a;box-shadow:0 0 12px #9b5de566}.grid-cell.error{color:var(--bubble-pink);border-color:var(--bubble-pink);background:#fff5f5;animation:.3s ease-in-out wiggle}.grid-cell.initial{cursor:not-allowed;box-shadow:none;background:#f1f5f9}.cloud-bg{pointer-events:none;z-index:0;opacity:.4;width:100vw;height:100dvh;position:fixed;inset:0;overflow:hidden}.memory-card-wrap{perspective:1000px;width:100%;height:100%}.memory-card-inner{text-align:center;width:100%;height:100%;transform-style:preserve-3d;cursor:pointer;border-radius:24px;transition:transform .45s cubic-bezier(.34,1.56,.64,1);position:relative}.memory-card-inner.is-flipped{transform:rotateY(180deg)scale(1.02)}.memory-card-inner.is-matched{animation:.6s matchCelebration;transform:rotateY(180deg)scale(1.04)}.memory-card-front,.memory-card-back{backface-visibility:hidden;border:4px solid #fff;border-radius:24px;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute;box-shadow:0 10px 20px #00000014}.memory-card-front{color:#fff;background:linear-gradient(135deg,#a78bfa,#f472b6);transition:transform .15s,box-shadow .15s}.memory-card-front:hover{transform:translateY(-3px);box-shadow:0 14px 24px #a78bfa59}.memory-card-front:active{transform:translateY(2px)}.memory-card-back{background:#fff;transform:rotateY(180deg)}@keyframes matchCelebration{0%{transform:rotateY(180deg)scale(1)}40%{filter:drop-shadow(0 0 12px #6bcb77cc);transform:rotateY(180deg)scale(1.18)}70%{transform:rotateY(180deg)scale(.96)}to{transform:rotateY(180deg)scale(1.04)}}@keyframes trainPuff{0%{opacity:.8;transform:scale(.6)translateY(0)}50%{opacity:.5;transform:scale(1.1)translateY(-14px)translate(-6px)}to{opacity:0;transform:scale(1.5)translateY(-26px)translate(-12px)}}@keyframes gentleTrainChug{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.train-smoke-puff{animation:1.8s ease-out infinite trainPuff}.train-chug{animation:1.2s ease-in-out infinite gentleTrainChug}@keyframes pulseGlow{0%,to{box-shadow:0 0 #ff6b8b66,0 8px 16px #00000014}50%{box-shadow:0 0 0 8px #ff6b8b26,0 12px 24px #ff6b8b59}}.pulse-target{animation:1.5s ease-in-out infinite pulseGlow}@keyframes kidButtonBouncePulse{0%,to{transform:scale(1);box-shadow:0 0 #22c55eb3,0 8px #15803d,0 16px 28px #22c55e73}50%{transform:scale(1.08);box-shadow:0 0 0 14px #22c55e00,0 12px #15803d,0 24px 38px #22c55ea6}}.kid-next-btn{cursor:pointer!important;text-shadow:0 2px 4px #0003!important;border:4px solid #fff!important;font-weight:900!important;animation:1.35s ease-in-out infinite kidButtonBouncePulse!important}@keyframes bounceArrow{0%,to{transform:translate(0)}50%{transform:translate(8px)}}.bounce-arrow{animation:.8s ease-in-out infinite bounceArrow;display:inline-block}@keyframes starSpin{0%,to{transform:rotate(-5deg)scale(1)}50%{transform:rotate(5deg)scale(1.1)}}.star-celebrate{animation:1.2s ease-in-out infinite starSpin;display:inline-block}@keyframes chestWobble{0%,to{transform:rotate(0)scale(1)}20%{transform:rotate(-8deg)scale(1.08)}40%{transform:rotate(8deg)scale(1.08)}60%{transform:rotate(-5deg)scale(1.12)}80%{transform:rotate(5deg)scale(1.12)}}.chest-wobble{cursor:pointer;filter:drop-shadow(0 12px 20px #f59e0b66);animation:1.6s ease-in-out infinite chestWobble;display:inline-block}@keyframes holoShimmer{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.holo-card{background:linear-gradient(135deg,#ffffffe6,#f472b640,#60a5fa40,#fbbf2440,#ffffffe6) 0 0/300% 300%!important;animation:3s infinite holoShimmer!important}@keyframes stickerPeel{0%{opacity:0;transform:scale(.6)rotate(-12deg)}60%{opacity:1;transform:scale(1.15)rotate(4deg)}to{opacity:1;transform:scale(1)rotate(0)}}.sticker-reveal{animation:.65s cubic-bezier(.34,1.56,.64,1) forwards stickerPeel}@keyframes floatSlow{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.float-slow{animation:2.5s ease-in-out infinite floatSlow}.main-menu-container{z-index:2;-webkit-user-select:none;user-select:none;flex-direction:column;justify-content:space-between;gap:12px;min-height:100%;padding:16px 20px;display:flex;position:relative}.main-menu-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.main-menu-title-group{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.main-menu-title{color:var(--soft-purple);text-shadow:3px 3px #fff;margin:0;font-size:clamp(1.4rem,4.5vw,2.5rem);font-weight:900}.main-menu-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.main-menu-center{flex:1;justify-content:center;align-items:center;gap:20px;width:100%;margin:10px 0;display:flex}.safari-map-card{background:linear-gradient(135deg, var(--bubble-pink), var(--energetic-orange));cursor:pointer;color:#fff;border:6px solid #fff;border-radius:28px;flex-direction:column;justify-content:space-between;width:270px;min-height:225px;padding:20px;transition:transform .15s;display:flex;box-shadow:0 16px 30px #ff6b8b59}.safari-map-card:active{transform:translateY(3px)}.game-matrix-grid{grid-template-columns:repeat(3,148px);gap:12px;display:grid}.game-matrix-btn{border-radius:24px;flex-direction:column;justify-content:center;align-items:center;gap:2px;width:100%;height:100px;font-size:1.15rem;display:flex}@media (width<=820px),(height<=520px) and (orientation:portrait){.main-menu-container{gap:10px;padding:10px 8px}.main-menu-center{flex-direction:column;gap:12px}.safari-map-card{flex-direction:row;align-items:center;width:100%;max-width:480px;height:auto;min-height:96px;padding:12px 16px}.safari-map-card h2{font-size:1.4rem!important}.game-matrix-grid{grid-template-columns:repeat(2,1fr);gap:8px;width:100%;max-width:480px}.game-matrix-btn{border-radius:18px;height:78px;font-size:.95rem}}@media (width<=480px){.main-menu-header{flex-direction:column;align-items:flex-start;gap:8px}.main-menu-actions{justify-content:flex-start;gap:6px;width:100%}.main-menu-title{font-size:1.35rem}}.responsive-game-workspace{flex:1;justify-content:center;align-items:center;gap:28px;width:100%;margin:10px 0;display:flex}@media (width<=768px),(orientation:portrait){.responsive-game-workspace{flex-direction:column;gap:14px}}.game-top-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;width:100%;display:flex}
