@import"https://fonts.googleapis.com/css2?family=Fredoka+One&family=Nunito:wght@400;600;700;800&display=swap";:root{--pink: #ff6b9d;--purple: #c44dff;--blue: #4dc9ff;--yellow: #ffd93d;--green: #6bcb77;--orange: #ff8c42;--red: #ff6b6b;--dark: #1a0a2e;--darker: #0f0620;--gold: #ffd700}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-height:100vh;font-family:Nunito,sans-serif;background:var(--darker);color:#fff;overflow-x:hidden}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes shimmer{0%{background-position:-200% center}to{background-position:200% center}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes bounceIn{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}@keyframes pop{0%{transform:scale(1);opacity:1}to{transform:scale(2);opacity:0}}@keyframes horseBob{0%,to{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-12px) rotate(3deg)}}@keyframes coinPop{0%{transform:scale(0);opacity:0}60%{transform:scale(1.3);opacity:1}to{transform:scale(1);opacity:1}}.game-container{min-height:100vh;display:flex;flex-direction:column}.home-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#1a0a2e,#2d1b69 40%,#1a0a2e 70%,#0f0620);position:relative;padding:2rem;text-align:center;gap:1rem}.home-bg-lights{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.light-orb{position:absolute;border-radius:50%;filter:blur(60px);opacity:.25;animation:float 6s ease-in-out infinite}.home-title{font-family:Fredoka One,cursive;font-size:clamp(2.5rem,8vw,5rem);background:linear-gradient(135deg,var(--pink),var(--purple),var(--blue),var(--yellow));background-size:300% 300%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:shimmer 4s ease-in-out infinite;line-height:1.1;position:relative;z-index:2}.home-subtitle{font-size:clamp(1rem,3vw,1.3rem);color:#fff9;font-weight:600;position:relative;z-index:2}.home-carousel-anim{position:relative;width:260px;height:260px;margin:1rem 0;z-index:2}.carousel-top-cap{position:absolute;top:0;left:50%;transform:translate(-50%);width:180px;height:50px;background:linear-gradient(135deg,var(--pink),var(--purple));border-radius:100px 100px 0 0;box-shadow:0 -4px 20px #ff6b9d4d}.carousel-top-cap:after{content:"";position:absolute;top:-15px;left:50%;transform:translate(-50%);width:24px;height:24px;background:var(--gold);border-radius:50%;box-shadow:0 0 15px #ffd70099}.carousel-pole-center{position:absolute;left:50%;transform:translate(-50%);width:6px;height:170px;background:linear-gradient(to bottom,var(--gold),#b8860b);top:40px;border-radius:3px}.carousel-platform-base{position:absolute;bottom:0;left:50%;transform:translate(-50%);width:240px;height:35px;background:linear-gradient(135deg,#8b5cf6,#6d28d9);border-radius:50%;box-shadow:0 8px 25px #8b5cf666}.carousel-horses-orbit{position:absolute;top:55px;left:50%;width:200px;height:170px;transform:translate(-50%);animation:spin 6s linear infinite}.orbit-horse{position:absolute;font-size:2.2rem;animation:horseBob 1.5s ease-in-out infinite;filter:drop-shadow(0 3px 8px rgba(0,0,0,.4))}.orbit-horse:nth-child(1){top:0;left:50%;transform:translate(-50%)}.orbit-horse:nth-child(2){bottom:0;left:0;animation-delay:.4s}.orbit-horse:nth-child(3){bottom:0;right:0;animation-delay:.8s}.orbit-horse:nth-child(4){top:50%;right:-10px;animation-delay:1.2s}.home-buttons{display:flex;flex-direction:column;gap:.8rem;width:100%;max-width:300px;z-index:2;animation:slideUp .8s ease-out}.btn{padding:.9rem 2rem;border:none;border-radius:50px;font-family:Fredoka One,cursive;font-size:1.1rem;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:.04em}.btn:hover{transform:translateY(-3px);box-shadow:0 10px 30px #0000004d}.btn:active{transform:translateY(0)}.btn-play{background:linear-gradient(135deg,var(--pink),var(--purple));color:#fff;box-shadow:0 5px 20px #ff6b9d66}.btn-secondary{background:linear-gradient(135deg,var(--blue),#3b82f6);color:#fff;box-shadow:0 5px 20px #4dc9ff4d}.btn-gold{background:linear-gradient(135deg,var(--yellow),var(--orange));color:#1a0a2e;box-shadow:0 5px 20px #ffd93d66}.btn-green{background:linear-gradient(135deg,var(--green),#22c55e);color:#fff;box-shadow:0 5px 20px #6bcb774d}.btn-small{padding:.6rem 1.5rem;font-size:.85rem}.btn-back{background:#ffffff1a;border:none;color:#fff;width:42px;height:42px;border-radius:50%;cursor:pointer;font-size:1.2rem;display:flex;align-items:center;justify-content:center;transition:all .2s}.btn-back:hover{background:#fff3}.top-bar{display:flex;align-items:center;justify-content:space-between;padding:.8rem 1.2rem;background:#0f0620f2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:2px solid rgba(139,92,246,.25);position:sticky;top:0;z-index:100}.top-bar-left,.top-bar-right{display:flex;align-items:center;gap:.75rem}.screen-title{font-family:Fredoka One,cursive;font-size:1.2rem;color:var(--purple)}.stat-badge{display:flex;align-items:center;gap:.3rem;padding:.35rem .7rem;border-radius:50px;font-weight:700;font-size:.85rem}.stat-badge.coins{color:var(--yellow);background:#ffd93d1f}.stat-badge.stars{color:var(--gold);background:#ffd7001f}.level-screen{min-height:100vh;background:linear-gradient(180deg,#1a0a2e,#0f0620);padding-bottom:2rem}.levels-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.2rem;padding:1.2rem;max-width:1100px;margin:0 auto}.level-card{background:linear-gradient(135deg,#ffffff0f,#ffffff05);border:2px solid rgba(255,255,255,.08);border-radius:18px;padding:1.4rem;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden;animation:slideUp .5s ease-out backwards}.level-card:nth-child(1){animation-delay:.05s}.level-card:nth-child(2){animation-delay:.1s}.level-card:nth-child(3){animation-delay:.15s}.level-card:nth-child(4){animation-delay:.2s}.level-card:nth-child(5){animation-delay:.25s}.level-card:nth-child(6){animation-delay:.3s}.level-card:hover{transform:translateY(-4px);border-color:var(--purple);box-shadow:0 8px 35px #8b5cf633}.level-card.locked{opacity:.45;cursor:not-allowed}.level-card.locked:hover{transform:none;border-color:#ffffff14;box-shadow:none}.level-card-icon{font-size:2.8rem;margin-bottom:.6rem;display:block}.level-card-name{font-family:Fredoka One,cursive;font-size:1.2rem;margin-bottom:.25rem}.level-card-desc{font-size:.8rem;color:#ffffff8c;margin-bottom:.8rem;line-height:1.4}.level-card-footer{display:flex;justify-content:space-between;align-items:center}.level-stars{color:var(--gold);font-size:.9rem;letter-spacing:2px}.level-reward-badge{color:var(--yellow);font-weight:700;font-size:.85rem;display:flex;align-items:center;gap:.25rem}.lock-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#0f0620bf;border-radius:18px}.lock-emoji{font-size:2.2rem;margin-bottom:.4rem}.lock-label{font-size:.8rem;color:#ffffff73}.gameplay-screen{min-height:100vh;display:flex;flex-direction:column;background:linear-gradient(180deg,#1a0a2e,#2d1b69 50%,#1a0a2e)}.game-area{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;padding:2rem;overflow:hidden}.game-status-bar{display:flex;gap:2rem;margin-bottom:1.5rem;z-index:10}.game-stat{text-align:center}.game-stat-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:#ffffff80;margin-bottom:.2rem}.game-stat-value{font-family:Fredoka One,cursive;font-size:1.8rem}.game-stat-value.timer{color:var(--yellow)}.game-stat-value.score{color:var(--pink)}.game-stat-value.combo{color:var(--green)}.game-carousel-container{position:relative;width:320px;height:320px;margin-bottom:1.5rem}.game-ring-outer{position:absolute;top:0;right:0;bottom:0;left:0;border:3px dashed rgba(139,92,246,.25);border-radius:50%;animation:spin 10s linear infinite}.game-ring-inner{position:absolute;top:40px;right:40px;bottom:40px;left:40px;border:2px solid rgba(255,107,157,.15);border-radius:50%;animation:spin 10s linear infinite reverse}.game-center-hub{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:70px;height:70px;background:linear-gradient(135deg,var(--purple),var(--pink));border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.8rem;box-shadow:0 0 30px #c44dff66;z-index:5}.game-target{position:absolute;font-size:2.8rem;cursor:pointer;transition:transform .1s ease;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 4px 12px rgba(0,0,0,.5));z-index:10}.game-target:hover{transform:scale(1.15)}.game-target:active{transform:scale(.85)}.game-instruction{text-align:center;color:#ffffff80;font-size:.9rem;z-index:10}.game-buttons{display:flex;gap:1rem;padding:1.5rem;justify-content:center;z-index:10}.particle{position:absolute;border-radius:50%;pointer-events:none;animation:float 4s ease-in-out infinite}.coin-float{position:fixed;font-size:1.5rem;pointer-events:none;z-index:999;animation:coinPop .6s ease forwards}.minigame-select{min-height:100vh;background:linear-gradient(180deg,#0f2027,#203a43,#2c5364);padding-bottom:2rem}.minigames-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.2rem;padding:1.2rem;max-width:900px;margin:0 auto}.minigame-card{background:linear-gradient(135deg,#ffffff12,#ffffff05);border:2px solid rgba(255,255,255,.08);border-radius:18px;padding:1.8rem 1.2rem;text-align:center;cursor:pointer;transition:all .3s ease;animation:slideUp .5s ease-out backwards}.minigame-card:nth-child(1){animation-delay:.05s}.minigame-card:nth-child(2){animation-delay:.1s}.minigame-card:nth-child(3){animation-delay:.15s}.minigame-card:hover{transform:translateY(-4px);border-color:var(--blue);box-shadow:0 8px 35px #4dc9ff26}.minigame-card-icon{font-size:3rem;margin-bottom:.8rem;display:block}.minigame-card-name{font-family:Fredoka One,cursive;font-size:1.15rem;margin-bottom:.3rem}.minigame-card-desc{font-size:.8rem;color:#ffffff80}.memory-board{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem;max-width:380px;margin:1.5rem auto;padding:0 1rem}.memory-tile{aspect-ratio:1;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.8rem;cursor:pointer;transition:all .25s ease;border:2px solid rgba(255,255,255,.08);-webkit-user-select:none;user-select:none}.memory-tile.hidden{background:linear-gradient(135deg,var(--purple),var(--pink))}.memory-tile.hidden:hover{transform:scale(1.05);box-shadow:0 4px 15px #c44dff4d}.memory-tile.revealed{background:#ffffff14;border-color:var(--blue)}.memory-tile.matched{background:#6bcb7726;border-color:var(--green);animation:bounceIn .35s ease}.whack-board{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;max-width:340px;margin:1.5rem auto;padding:0 1rem}.whack-hole{aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#8b5cf626,#0f0620cc);border:3px solid rgba(139,92,246,.2);display:flex;align-items:center;justify-content:center;font-size:2.2rem;cursor:pointer;transition:all .12s ease;-webkit-user-select:none;user-select:none}.whack-hole.active{background:radial-gradient(circle,#ff6b9d40,#8b5cf626);border-color:var(--pink);animation:pulse .4s ease-in-out infinite}.whack-hole:active{transform:scale(.9)}.tap-target{width:120px;height:120px;border-radius:50%;background:linear-gradient(135deg,var(--pink),var(--purple));display:flex;align-items:center;justify-content:center;font-size:3rem;cursor:pointer;margin:2rem auto;transition:transform .1s ease;box-shadow:0 0 40px #c44dff4d;-webkit-user-select:none;user-select:none}.tap-target:active{transform:scale(.9)}.rewards-screen{min-height:100vh;background:linear-gradient(180deg,#1a0a2e,#0f0620);padding-bottom:2rem}.rewards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;padding:1.2rem;max-width:900px;margin:0 auto}.reward-card{background:linear-gradient(135deg,#ffffff0f,#ffffff05);border:2px solid rgba(255,255,255,.08);border-radius:16px;padding:1.2rem;text-align:center;transition:all .3s ease;animation:slideUp .5s ease-out backwards}.reward-card:hover{border-color:var(--gold)}.reward-card.owned{border-color:var(--green);background:#6bcb770f}.reward-emoji{font-size:2.5rem;margin-bottom:.5rem;display:block}.reward-name{font-family:Fredoka One,cursive;font-size:1rem;margin-bottom:.2rem}.reward-desc{font-size:.75rem;color:#ffffff80;margin-bottom:.8rem}.reward-price{display:inline-flex;align-items:center;gap:.25rem;color:var(--yellow);font-weight:700;font-size:.9rem}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:200;padding:1rem}.modal{background:linear-gradient(135deg,#2d1b69,#1a0a2e);border:2px solid rgba(139,92,246,.3);border-radius:24px;padding:2rem;max-width:360px;width:100%;text-align:center;animation:bounceIn .4s ease}.modal-icon{font-size:3.5rem;margin-bottom:.8rem;display:block}.modal-title{font-family:Fredoka One,cursive;font-size:1.8rem;margin-bottom:.5rem}.modal-subtitle{color:#fff9;font-size:.95rem;margin-bottom:1.5rem}.modal-stats{display:flex;justify-content:center;gap:1.5rem;margin-bottom:1.5rem}.modal-stat{text-align:center}.modal-stat-value{font-family:Fredoka One,cursive;font-size:1.6rem;color:var(--yellow)}.modal-stat-label{font-size:.7rem;text-transform:uppercase;color:#ffffff80;letter-spacing:.05em}.modal-buttons{display:flex;gap:.8rem;justify-content:center}.confetti-piece{position:fixed;top:-10px;width:10px;height:10px;z-index:300;pointer-events:none;animation:confetti-fall linear forwards}@keyframes confetti-fall{to{transform:translateY(110vh) rotate(720deg);opacity:0}}.progress-bar-bg{width:100%;height:8px;background:#ffffff1a;border-radius:4px;overflow:hidden;margin:.5rem 0}.progress-bar-fill{height:100%;border-radius:4px;transition:width .5s ease;background:linear-gradient(90deg,var(--pink),var(--purple))}@media(max-width:600px){.levels-grid{grid-template-columns:1fr}.memory-board{grid-template-columns:repeat(4,1fr);gap:.4rem}.game-carousel-container{width:260px;height:260px}.modal-stats{gap:1rem}}
