:root{--bg: #f0f7ff;--bg2: #e8f1fc;--card: #ffffff;--text: #2d3748;--text2: #718096;--accent: #6c63ff;--accent2: #ff6b9d;--green: #48bb78;--yellow: #f6c343;--orange: #ed8936;--red: #fc5c65;--blue: #4299e1;--purple: #9f7aea;--pink: #ed64a6;--shadow: 0 4px 20px rgba(0,0,0,.08);--shadow-lg: 0 10px 40px rgba(0,0,0,.12);--radius: 16px;--radius-sm: 10px;--radius-xs: 6px;--font: "Nunito", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px}body{font-family:var(--font);background:var(--bg);color:var(--text);min-height:100vh;overflow-x:hidden}#root{min-height:100vh}.screen{min-height:100vh;display:flex;flex-direction:column;position:relative;overflow:hidden}.menu-screen{background:linear-gradient(135deg,#667eea,#764ba2,#f093fb);align-items:center;justify-content:center}.menu-bg{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.float-emoji{position:absolute;font-size:1.5rem;opacity:.4;animation:floatUp 6s infinite ease-in-out}@keyframes floatUp{0%,to{transform:translateY(0) rotate(0);opacity:.2}50%{transform:translateY(-60px) rotate(15deg);opacity:.6}}.menu-center{position:relative;z-index:1;text-align:center;padding:24px;max-width:420px;width:100%}.menu-title-area{margin-bottom:28px}.menu-big-icon{font-size:4rem;display:block;margin-bottom:8px;animation:bounce 2s infinite ease-in-out}@keyframes bounce{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-10px) scale(1.05)}}.menu-title{font-size:3rem;font-weight:900;letter-spacing:-1px;line-height:1.1;display:flex;flex-direction:column;align-items:center}.title-happy{color:#fff;text-shadow:0 3px 10px rgba(0,0,0,.2)}.title-quest{color:#ffd93d;text-shadow:0 3px 10px rgba(0,0,0,.2)}.menu-subtitle{color:#ffffffd9;font-size:1rem;margin-top:6px;font-weight:600}.menu-stats-bar{display:flex;justify-content:center;gap:16px;margin-bottom:24px}.stat-pill{background:#fff3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:6px 16px;border-radius:20px;color:#fff;font-weight:700;font-size:.95rem}.menu-buttons{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 28px;border:none;border-radius:var(--radius);font-family:var(--font);font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .2s ease}.btn:active{transform:scale(.96)}.btn-play{background:linear-gradient(135deg,#ffd93d,#ff6b6b);color:#fff;box-shadow:0 4px 15px #ff6b6b66;font-size:1.3rem;padding:16px 32px}.btn-play:hover{box-shadow:0 6px 25px #ff6b6b80;transform:translateY(-2px)}.btn-settings{background:#ffffff26;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;border:2px solid rgba(255,255,255,.3)}.btn-settings:hover{background:#ffffff40}.menu-footer{color:#fff9;font-size:.85rem;font-weight:600}.levels-screen{background:var(--bg);padding:16px}.levels-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.levels-header h2{font-size:1.4rem;font-weight:800}.header-coins{font-weight:700;font-size:1rem}.btn-back{background:var(--card);border:2px solid #e2e8f0;border-radius:var(--radius-sm);padding:8px 16px;font-family:var(--font);font-size:.9rem;font-weight:700;color:var(--text);cursor:pointer;transition:all .15s}.btn-back:hover{border-color:var(--accent);color:var(--accent)}.progress-bar{height:8px;background:#e2e8f0;border-radius:4px;overflow:hidden;margin-bottom:16px}.progress-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent2));border-radius:4px;transition:width .5s ease}.level-categories{display:flex;flex-direction:column;gap:20px;overflow-y:auto;padding-bottom:20px}.category-title{font-size:1.1rem;font-weight:800;margin-bottom:10px;color:var(--text2)}.level-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.level-btn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 10px;background:var(--card);border:2px solid #e2e8f0;border-radius:var(--radius-sm);cursor:pointer;transition:all .2s ease;position:relative;font-family:var(--font)}.level-btn:hover:not(:disabled){border-color:var(--accent);transform:translateY(-2px);box-shadow:var(--shadow)}.level-btn.completed{border-color:var(--green);background:#f0fff4}.level-btn.locked{opacity:.5;cursor:not-allowed}.level-icon{font-size:1.8rem}.level-name{font-size:.8rem;font-weight:700;color:var(--text2)}.level-diff{font-size:.7rem}.lock-icon{position:absolute;top:4px;right:4px;font-size:.8rem}.stars{display:flex;gap:2px}.star{font-size:1rem}.star.earned{color:var(--yellow);text-shadow:0 1px 3px rgba(246,195,67,.4)}.star.empty{color:#e2e8f0}.play-screen{background:var(--bg)}.play-header{padding:12px 16px;background:var(--card);border-bottom:2px solid #e2e8f0;display:flex;align-items:center;gap:12px}.play-header h2{font-size:1.1rem;font-weight:800;flex:1}.play-desc{font-size:.8rem;color:var(--text2);font-weight:600}.mini-game{flex:1;display:flex;flex-direction:column;padding:12px 16px;overflow:hidden}.game-hud{display:flex;gap:16px;justify-content:center;margin-bottom:12px}.gh-item{background:var(--card);padding:6px 14px;border-radius:20px;font-weight:700;font-size:.9rem;box-shadow:var(--shadow)}.card-grid{display:grid;gap:8px;flex:1;align-content:center;max-width:500px;margin:0 auto;width:100%}.match-card{aspect-ratio:1;border:3px solid #e2e8f0;border-radius:var(--radius-sm);background:var(--card);cursor:pointer;font-size:2rem;display:flex;align-items:center;justify-content:center;transition:all .3s ease;position:relative;min-height:60px}.match-card:hover:not(:disabled){border-color:var(--accent);transform:scale(1.05)}.match-card .card-back{display:none}.match-card .card-front{display:block}.match-card.flipped{background:linear-gradient(135deg,#667eea,#764ba2);border-color:var(--accent);transform:scale(1.05)}.match-card.flipped .card-front{display:none}.match-card.flipped .card-back{display:block;font-size:2rem}.match-card.matched{background:#f0fff4;border-color:var(--green);animation:matchPop .4s ease}@keyframes matchPop{0%{transform:scale(1)}50%{transform:scale(1.15)}to{transform:scale(1)}}.match-card.matched .card-front{display:none}.match-card.matched .card-back{display:block;font-size:2rem}.tap-area{flex:1;position:relative;background:linear-gradient(180deg,#e8f4fd,#f0f7ff);border-radius:var(--radius);border:2px solid #e2e8f0;overflow:hidden}.tap-target{position:absolute;border:none;background:none;cursor:pointer;animation:floatTarget 2s ease-in-out;transition:transform .1s;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.tap-target:active{transform:scale(1.3)}@keyframes floatTarget{0%{opacity:0;transform:scale(0) translateY(20px)}20%{opacity:1;transform:scale(1.2) translateY(0)}40%{transform:scale(1) translateY(-5px)}to{opacity:1;transform:scale(1) translateY(0)}}.tap-hint{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:1.2rem;font-weight:700;color:var(--text2);animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}.collect-area{flex:1;position:relative;background:linear-gradient(180deg,#fff5f5,#fff);border-radius:var(--radius);border:2px solid #e2e8f0;overflow:hidden}.collect-item{position:absolute;font-size:2.5rem;border:none;background:none;cursor:pointer;animation:collectFloat 1.5s ease-in-out;filter:drop-shadow(0 2px 6px rgba(0,0,0,.15));transition:transform .1s}.collect-item:active{transform:scale(1.4) rotate(10deg)}@keyframes collectFloat{0%{opacity:0;transform:scale(0)}30%{opacity:1;transform:scale(1.3)}50%{transform:scale(1)}70%{transform:scale(1.05)}to{transform:scale(1)}}.sort-bins{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:16px}.sort-bin{background:var(--card);border:2px dashed #e2e8f0;border-radius:var(--radius-sm);padding:10px 6px;text-align:center;min-height:70px}.bin-label{font-size:1.5rem;display:block;margin-bottom:4px}.bin-items{display:flex;flex-wrap:wrap;justify-content:center;gap:2px;font-size:.9rem}.sort-items{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.sort-item{font-size:2.5rem;padding:8px;background:var(--card);border:2px solid #e2e8f0;border-radius:var(--radius-sm);cursor:pointer;transition:all .2s}.sort-item:hover{border-color:var(--accent);transform:scale(1.1);box-shadow:var(--shadow)}.memory-show{display:flex;gap:8px;justify-content:center;margin:16px 0;flex-wrap:wrap}.memory-cell{width:60px;height:60px;display:flex;align-items:center;justify-content:center;font-size:2rem;background:var(--card);border:3px solid #e2e8f0;border-radius:var(--radius-sm);transition:all .3s}.memory-cell.highlight{border-color:var(--accent);background:linear-gradient(135deg,#667eea20,#764ba220);transform:scale(1.15);box-shadow:0 0 20px #6c63ff4d}.memory-instruction{text-align:center;font-size:1.1rem;font-weight:700;color:var(--accent);margin:12px 0;animation:pulse 1.5s infinite}.memory-input{text-align:center}.memory-buttons{display:flex;gap:12px;justify-content:center;margin:16px 0}.memory-btn{width:64px;height:64px;font-size:2rem;border:3px solid #e2e8f0;border-radius:var(--radius);background:var(--card);cursor:pointer;transition:all .15s}.memory-btn:hover{border-color:var(--accent);transform:scale(1.1)}.memory-btn:active{transform:scale(.95);background:#f0f0ff}.memory-progress{display:flex;gap:6px;justify-content:center;margin-top:12px}.memory-pip{font-size:1.3rem;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--card);border:2px solid #e2e8f0;border-radius:50%}.memory-pip.empty{color:#cbd5e0}.complete-screen{align-items:center;justify-content:center;text-align:center}.complete-screen.win{background:linear-gradient(135deg,#667eea,#764ba2,#f093fb)}.complete-screen.lose{background:linear-gradient(135deg,#a8b5c8,#89a)}.complete-particles{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.confetti{position:absolute;width:8px;height:8px;border-radius:2px;bottom:-10px;animation:confettiFall 3s infinite ease-in}@keyframes confettiFall{0%{opacity:1;transform:translateY(0) rotate(0)}to{opacity:0;transform:translateY(-100vh) rotate(720deg)}}.complete-content{position:relative;z-index:1;max-width:400px;width:100%;padding:24px}.complete-icon{font-size:4rem;display:block;margin-bottom:12px;animation:bounce 1.5s infinite ease-in-out}.complete-title{font-size:2.2rem;font-weight:900;color:#fff;margin-bottom:6px;text-shadow:0 2px 8px rgba(0,0,0,.2)}.complete-level{color:#fffc;font-size:1rem;font-weight:600;margin-bottom:16px}.complete-stars{margin-bottom:16px}.complete-stars .star{font-size:2.5rem}.complete-stars .star.earned{animation:starPop .5s ease;color:#ffd93d;text-shadow:0 0 20px rgba(255,217,61,.6)}@keyframes starPop{0%{transform:scale(0)}60%{transform:scale(1.3)}to{transform:scale(1)}}.complete-reward{margin-bottom:20px}.reward-coins{background:#fff3;padding:8px 20px;border-radius:20px;font-size:1.3rem;font-weight:800;color:#ffd93d;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.complete-buttons{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.btn-retry{background:#fff3;color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:2px solid rgba(255,255,255,.3)}.btn-retry:hover{background:#ffffff4d}.btn-next{background:#ffffff26;color:#fff;border:2px solid rgba(255,255,255,.2)}.btn-next:hover{background:#ffffff40}.settings-screen{background:var(--bg);padding:16px}.settings-header{display:flex;align-items:center;gap:12px;margin-bottom:20px}.settings-header h2{font-size:1.4rem;font-weight:800}.settings-body{background:var(--card);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}.setting-row{display:flex;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:1px solid #f0f0f0;font-weight:700}.setting-row:last-of-type{border-bottom:none}.toggle{padding:8px 20px;border-radius:20px;border:2px solid #e2e8f0;font-family:var(--font);font-weight:700;font-size:.9rem;cursor:pointer;transition:all .2s}.toggle.on{background:var(--green);color:#fff;border-color:var(--green)}.toggle.off{background:#e2e8f0;color:var(--text2)}.btn-danger{background:var(--red);color:#fff;padding:8px 20px;border-radius:var(--radius-xs);font-size:.9rem}.btn-danger:hover{opacity:.9}.settings-info{margin-top:20px;padding:16px;background:#f7fafc;border-radius:var(--radius-sm);font-size:.9rem;color:var(--text2);display:flex;flex-direction:column;gap:6px}@media(max-width:480px){.menu-title{font-size:2.4rem}.menu-big-icon{font-size:3rem}.level-grid{grid-template-columns:repeat(3,1fr)}.level-btn{padding:10px 6px}.level-icon{font-size:1.5rem}.level-name{font-size:.7rem}.match-card{font-size:1.5rem;min-height:50px}.memory-cell{width:48px;height:48px;font-size:1.5rem}.memory-btn{width:52px;height:52px;font-size:1.6rem}.complete-title{font-size:1.8rem}.sort-item{font-size:2rem}.btn{padding:12px 20px;font-size:1rem}.btn-play{font-size:1.2rem;padding:14px 24px}}@media(min-width:768px){.level-grid{grid-template-columns:repeat(5,1fr)}.card-grid,.complete-content{max-width:500px}}::selection{background:var(--accent);color:#fff}
