@import"https://fonts.googleapis.com/css2?family=Fredoka+One&family=Nunito:wght@400;600;700;800&display=swap";:root{--primary: #ff6b35;--primary-dark: #cc4400;--secondary: #4ecdc4;--accent: #ffd700;--danger: #e74c3c;--bg-dark: #1a0f2e;--bg-medium: #2d1b4e;--text: #fafafa;--text-muted: rgba(255, 255, 255, .7);--card-bg: rgba(255, 255, 255, .08);--card-border: rgba(255, 255, 255, .12);--shadow: 0 8px 32px rgba(0, 0, 0, .3)}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;overflow:hidden}body{font-family:Nunito,sans-serif;background:var(--bg-dark);color:var(--text);-webkit-font-smoothing:antialiased}.game-container{width:100vw;height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#1a0f2e,#2d1b4e,#1a0f2e);position:relative;overflow:hidden}.game-container:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 80%,rgba(255,107,53,.1) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(78,205,196,.1) 0%,transparent 50%);pointer-events:none}.menu-screen{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.menu-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#87ceeb,#e0f0ff 60%,#5a8f3c 60%,#4a7a30);opacity:.3}.menu-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:2rem;padding:2rem;text-align:center}.title-container{position:relative}.game-title{font-family:Fredoka One,cursive;font-size:clamp(2.5rem,8vw,5rem);color:var(--primary);text-shadow:0 4px 0 var(--primary-dark),0 8px 20px rgba(0,0,0,.4);letter-spacing:-.02em;line-height:1.1;animation:titleBounce 2s ease-in-out infinite}@keyframes titleBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.game-subtitle{font-size:1.2rem;color:var(--text-muted);font-weight:600;margin-top:.5rem}.menu-critters{display:flex;gap:1rem;margin:1rem 0}.menu-critter{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #0000004d,inset 0 -4px #0003;animation:critterFloat 3s ease-in-out infinite;border:3px solid rgba(255,255,255,.3)}.menu-critter:nth-child(1){animation-delay:0s}.menu-critter:nth-child(2){animation-delay:.3s}.menu-critter:nth-child(3){animation-delay:.6s}.menu-critter:nth-child(4){animation-delay:.9s}.menu-critter:nth-child(5){animation-delay:1.2s}@keyframes critterFloat{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-10px) rotate(-5deg)}75%{transform:translateY(-5px) rotate(5deg)}}.critter-eyes{font-size:1.2rem;filter:drop-shadow(0 1px 2px rgba(0,0,0,.3))}.btn{font-family:Nunito,sans-serif;font-weight:700;border:none;border-radius:12px;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;text-decoration:none;position:relative;overflow:hidden}.btn:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,rgba(255,255,255,.1) 0%,transparent 50%);pointer-events:none}.btn-primary{background:linear-gradient(180deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;box-shadow:0 4px #930,0 6px 20px #ff6b354d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px #930,0 8px 25px #ff6b3566}.btn-primary:active{transform:translateY(2px);box-shadow:0 2px #930,0 3px 10px #ff6b3533}.btn-secondary{background:var(--card-bg);color:var(--text);border:2px solid var(--card-border);box-shadow:0 4px #0003}.btn-secondary:hover{background:#ffffff1f;transform:translateY(-2px)}.btn-large{font-size:1.5rem;padding:1rem 3rem;min-width:200px}.btn-small{font-size:.9rem;padding:.5rem 1rem}.btn-icon{width:40px;height:40px;padding:0;font-size:1.2rem}.menu-stats{display:flex;gap:2rem}.stat{display:flex;flex-direction:column;align-items:center;gap:.25rem}.stat-icon{font-size:1.5rem}.stat-value{font-family:Fredoka One,cursive;font-size:1.8rem;color:var(--accent)}.stat-label{font-size:.8rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em}.menu-instructions{margin-top:1rem;color:var(--text-muted);font-size:.9rem;line-height:1.6}.select-screen{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:1.5rem;padding:2rem;max-width:900px;width:100%;max-height:100vh;overflow-y:auto}.screen-title{font-family:Fredoka One,cursive;font-size:2rem;color:var(--primary);text-shadow:0 2px 0 var(--primary-dark)}.world-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem;width:100%}.world-card{position:relative;border-radius:16px;padding:1.5rem;cursor:pointer;border:3px solid rgba(255,255,255,.2);transition:all .3s ease;min-height:140px;display:flex;align-items:flex-end;overflow:hidden}.world-card:not(.locked):hover{transform:translateY(-4px);border-color:var(--primary);box-shadow:0 8px 24px #0000004d}.world-card.locked{opacity:.5;cursor:not-allowed;filter:grayscale(.5)}.world-info{position:relative;z-index:1;background:#00000080;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:10px;padding:.75rem 1rem;width:100%}.world-info h3{font-family:Fredoka One,cursive;font-size:1.1rem;margin-bottom:.25rem}.world-stars{font-size:1.1rem;letter-spacing:2px}.star-filled{color:var(--accent);text-shadow:0 0 8px rgba(255,215,0,.5)}.star-empty{color:#fff3}.world-levels{font-size:.8rem;color:var(--text-muted)}.lock-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:3rem;z-index:2;background:#0006;border-radius:16px}.level-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.75rem;width:100%}.level-card{position:relative;background:var(--card-bg);border:2px solid var(--card-border);border-radius:12px;padding:1rem .75rem;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:.25rem;transition:all .2s ease}.level-card:not(.locked):hover{transform:translateY(-3px);border-color:var(--primary);box-shadow:0 6px 20px #0003}.level-card.completed{border-color:var(--secondary);background:#4ecdc41a}.level-card.locked{opacity:.4;cursor:not-allowed}.level-number{font-family:Fredoka One,cursive;font-size:1.5rem;color:var(--primary)}.level-name{font-size:.75rem;color:var(--text-muted);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.level-stars{font-size:1rem;letter-spacing:2px}.level-best{font-size:.65rem;color:var(--text-muted)}.game-hud{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:linear-gradient(180deg,rgba(0,0,0,.7) 0%,transparent 100%);z-index:10}.hud-left,.hud-center,.hud-right{display:flex;align-items:center;gap:.75rem}.hud-level{font-weight:700;font-size:.9rem;color:var(--text-muted)}.hud-score{font-family:Fredoka One,cursive;font-size:1.8rem;color:var(--accent);text-shadow:0 2px 4px rgba(0,0,0,.3)}.hud-critters{font-weight:700;font-size:.9rem;color:var(--text-muted)}.game-canvas-wrapper{position:relative;width:100%;max-width:1200px;display:flex;flex-direction:column;align-items:center}.ability-hint{position:absolute;bottom:10px;left:50%;transform:translate(-50%);background:#0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:.4rem 1rem;border-radius:20px;font-size:.8rem;color:var(--text-muted);pointer-events:none;animation:fadeInOut 3s ease-in-out infinite}@keyframes fadeInOut{0%,to{opacity:.5}50%{opacity:1}}.results-screen{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;width:100%;height:100%}.results-card{background:var(--card-bg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:2px solid var(--card-border);border-radius:24px;padding:2.5rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:1.5rem;min-width:320px;box-shadow:var(--shadow);animation:slideUp .5s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.results-title{font-family:Fredoka One,cursive;font-size:2rem;color:var(--primary);text-shadow:0 2px 0 var(--primary-dark)}.results-stars{display:flex;gap:.75rem}.result-star{font-size:3rem;color:#ffffff26;transition:all .3s ease;animation:starPop .5s ease-out both}.result-star.earned{color:var(--accent);text-shadow:0 0 20px rgba(255,215,0,.6);animation:starEarn .6s ease-out both}@keyframes starPop{0%{transform:scale(0) rotate(-180deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}@keyframes starEarn{0%{transform:scale(0) rotate(-180deg);opacity:0}50%{transform:scale(1.3) rotate(10deg)}to{transform:scale(1) rotate(0);opacity:1}}.results-score{display:flex;flex-direction:column;gap:.25rem}.results-score-label{font-size:.9rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em}.results-score-value{font-family:Fredoka One,cursive;font-size:2.5rem;color:var(--accent)}.results-thresholds{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem}.threshold{color:#ffffff4d}.threshold-met{color:var(--accent)}.results-buttons{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:center}@media(max-width:768px){.game-title{font-size:2.5rem}.menu-critters{gap:.5rem}.menu-critter{width:36px;height:36px}.world-grid{grid-template-columns:1fr}.level-grid{grid-template-columns:repeat(auto-fill,minmax(90px,1fr))}.btn-large{font-size:1.2rem;padding:.8rem 2rem}.results-card{padding:1.5rem;min-width:280px}.hud-score{font-size:1.4rem}}@media(max-width:480px){.menu-stats{gap:1.5rem}.stat-value{font-size:1.4rem}.level-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr))}}
