html,body{margin:0;padding:0;width:100%;height:100%;overflow:hidden;background:#1a1a2e;font-family:Fredoka One,cursive,system-ui,-apple-system,sans-serif}#canvas{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}#canvas canvas{display:block;width:100%;height:100%}.install-button{position:fixed;bottom:20px;left:50%;transform:translate(-50%) translateY(80px);z-index:9999;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:28px;padding:10px 24px;font-family:Poppins,sans-serif;font-size:14px;font-weight:600;cursor:pointer;box-shadow:0 4px 15px #667eea66;opacity:0;transition:transform .3s ease,opacity .3s ease;white-space:nowrap}.install-button--visible{opacity:1;transform:translate(-50%) translateY(0)}.install-button:active{transform:translate(-50%) scale(.95)}#score-display{position:fixed;top:max(env(safe-area-inset-top,20px),20px);left:50%;transform:translate(-50%);font-size:clamp(28px,6vw,48px);font-weight:700;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.5);z-index:100;pointer-events:none;transition:transform .15s ease,opacity .15s ease}#score-display.bump{transform:translate(-50%) scale(1.15)}.upgrade-hud{position:fixed;top:max(env(safe-area-inset-top,20px),20px);left:16px;display:flex;flex-direction:column;gap:8px;z-index:100;pointer-events:none}.upgrade-hud.hidden{display:none}.upgrade-indicator{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:linear-gradient(135deg,#ffffff26,#ffffff0d);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:12px;border:2px solid rgba(255,255,255,.2);transition:all .2s ease;opacity:.4}.upgrade-indicator.active{opacity:1;border-color:#4caf50cc;box-shadow:0 0 12px #4caf5066;animation:pulse-glow 2s ease-in-out infinite}.upgrade-indicator.used{opacity:.3;border-color:#ffffff1a;animation:none}.upgrade-icon{font-size:22px;line-height:1}.upgrade-level{position:absolute;bottom:-4px;right:-4px;background:var(--primary, #5dade2);color:#fff;font-size:10px;font-weight:700;min-width:16px;height:16px;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:0 4px}@keyframes pulse-glow{0%,to{box-shadow:0 0 12px #4caf5066}50%{box-shadow:0 0 20px #4caf5099}}@media(max-width:479px){.upgrade-hud{left:10px;gap:6px}.upgrade-indicator{width:38px;height:38px}.upgrade-icon{font-size:18px}}.intro-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);display:flex;justify-content:center;align-items:center;z-index:10000;opacity:0;transition:opacity .5s ease-out}.intro-overlay.visible{opacity:1}.intro-content{text-align:center;color:#fff}.intro-logo{font-family:Fredoka One,cursive;font-size:4rem;color:#fff;text-shadow:0 4px 8px rgba(0,0,0,.3);margin-bottom:2rem;animation:logoBounce 2s ease-in-out infinite}@keyframes logoBounce{0%,to{transform:scale(1) translateY(0)}50%{transform:scale(1.05) translateY(-10px)}}.intro-progress-container{width:300px;height:8px;background:#fff3;border-radius:4px;overflow:hidden;margin:0 auto 2rem}.intro-progress-bar{height:100%;width:0%;background:linear-gradient(90deg,#ff6b6b,gold);border-radius:4px;transition:width .1s linear}.intro-tap-prompt{font-family:Fredoka One,cursive;font-size:1.5rem;color:#fffc;opacity:0;animation:tapPulse 1.5s ease-in-out infinite}@keyframes tapPulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}.loading-screen{position:fixed;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);display:flex;justify-content:center;align-items:center;z-index:10001}.loading-content{text-align:center;color:#fff}.loading-spinner{margin-bottom:1.5rem}.tp-spinner{font-size:4rem;animation:spin 2s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-text{font-family:Fredoka One,cursive;font-size:1.5rem;margin-bottom:1rem;color:#ffffffe6}.loading-progress{width:250px;height:6px;background:#fff3;border-radius:3px;overflow:hidden;margin:0 auto 1rem}.loading-progress-bar{height:100%;width:0%;background:linear-gradient(90deg,#4caf50,#8bc34a);border-radius:3px;transition:width .3s ease-out}.loading-tip{font-size:.9rem;color:#fff9;max-width:300px;line-height:1.5}.btn{font-family:Fredoka One,cursive;font-size:1.2rem;padding:12px 24px;border:none;border-radius:12px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.btn:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:#ffffff4d;border-radius:50%;transform:translate(-50%,-50%);transition:width .3s,height .3s}.btn:active:after{width:200px;height:200px}.btn-primary{background:linear-gradient(135deg,#ff6b6b,#ff8e53);color:#fff;box-shadow:0 4px 15px #ff6b6b66}.btn-primary:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 6px 20px #ff6b6b80}.btn-primary:active{transform:translateY(0) scale(.98)}.btn-secondary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 15px #667eea66}.btn-secondary:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 6px 20px #667eea80}.btn-secondary:active{transform:translateY(0) scale(.98)}#pause-btn{font-family:Fredoka One,cursive;font-size:1rem;padding:10px 18px;background:#0009;color:#fff;border:none;border-radius:10px;cursor:pointer;transition:all .2s ease;backdrop-filter:blur(10px)}#pause-btn:hover{background:#000c;transform:scale(1.05)}#pause-btn:active{transform:scale(.95)}.pause-text{margin-left:8px}.audio-controls{position:fixed;top:max(16px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right));z-index:1000;width:48px;height:48px;background:linear-gradient(135deg,var(--primary-dark) 0%,var(--primary) 100%);border-radius:var(--radius-sm);box-shadow:0 4px 12px #0000004d;color:#fff;font-size:1.4rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;border:none}.audio-controls:hover{transform:scale(1.1);background:#000000b3}@media(min-width:768px){#pause-button{top:max(20px,env(safe-area-inset-top));left:max(20px,env(safe-area-inset-left))}.audio-controls{top:max(20px,env(safe-area-inset-top));right:max(20px,env(safe-area-inset-right));font-size:1.6rem;padding:10px}}@media(max-width:768px){.intro-logo{font-size:2.5rem;padding:0 1rem}.intro-progress-container{width:80%;max-width:250px}.intro-tap-prompt{font-size:1.2rem}.btn{font-size:1rem;padding:14px 28px}#score{font-size:2.5rem}.tp-spinner{font-size:3rem}.start-logo{font-size:2.5rem}.start-subtitle{font-size:1.2rem}.start-prompt{font-size:1rem}}.start-screen{position:fixed;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);display:none;justify-content:center;align-items:center;z-index:9999}.start-screen:not(.hidden){display:flex}.start-screen:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 20% 20%,rgba(255,107,107,.15) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(255,215,0,.15) 0%,transparent 50%);animation:backgroundPulse 4s ease-in-out infinite}.start-content{text-align:center;color:#fff;position:relative;z-index:1}.start-logo{font-family:Fredoka One,cursive;font-size:4rem;color:#fff;text-shadow:0 4px 8px rgba(0,0,0,.3);margin-bottom:.5rem;animation:logoBounce 2s ease-in-out infinite}.start-subtitle{font-family:Fredoka One,cursive;font-size:1.5rem;color:#fffc;margin-bottom:2rem}.app-version{margin-top:1.5rem;font-size:.7rem;color:#ffffff4d;font-family:Poppins,sans-serif;letter-spacing:.5px}.start-prompt{display:none}@keyframes promptPulse{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.03)}}.pulse-dot{display:inline-block;width:10px;height:10px;background:#ff6b6b;border-radius:50%;margin-right:10px;animation:dotPulse 1.5s ease-in-out infinite}@keyframes dotPulse{0%,to{opacity:1;transform:scale(1);box-shadow:0 0 #ff6b6bb3}50%{opacity:.8;transform:scale(1.2);box-shadow:0 0 0 10px #ff6b6b00}}.play-button-container{margin-bottom:var(--spacing-xl)}.btn-play{min-height:72px;min-width:180px;padding:16px 48px;font-size:24px;font-weight:700;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);box-shadow:0 8px 24px #87ceeb80;animation:playButtonPulse 2s ease-in-out infinite}.btn-play:hover{transform:translateY(-4px) scale(1.05);box-shadow:0 12px 32px #87ceeb99}.btn-play:active{transform:translateY(0) scale(.95)}.btn-play .play-icon{font-size:28px}.btn-play .play-text{font-family:Fredoka One,cursive;letter-spacing:2px}@keyframes playButtonPulse{0%,to{box-shadow:0 8px 24px #87ceeb80}50%{box-shadow:0 8px 32px #87ceebcc}}@media(max-width:479px){.btn-play{min-height:64px;min-width:140px;padding:14px 32px;font-size:20px}.btn-play .play-icon{font-size:24px}}.loading-screen{position:fixed;inset:0;width:100%;height:100%;background:#000;display:none;justify-content:center;align-items:center;z-index:9999;color:#fff;font-family:Courier New,Courier,monospace;font-weight:700}.loading-screen:not(.hidden){display:flex}.loading-screen.hidden{display:none}.loading-screen:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 20% 20%,rgba(255,107,107,.1) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(255,215,0,.1) 0%,transparent 50%);animation:backgroundPulse 4s ease-in-out infinite}@keyframes backgroundPulse{0%,to{opacity:.5}50%{opacity:1}}.loading-content{text-align:center;color:#fff;z-index:1;position:relative}.loading-spinner{margin-bottom:2rem;position:relative}.tp-spinner{font-size:5rem;display:inline-block;animation:spin 2s linear infinite,wobble .5s ease-in-out infinite;filter:drop-shadow(0 0 20px rgba(255,215,0,.5))}@keyframes wobble{0%,to{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}.loading-ring{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100px;height:100px;border:3px solid rgba(255,255,255,.1);border-top:3px solid #FF6B6B;border-radius:50%;animation:spinRing 1s linear infinite}@keyframes spinRing{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}.loading-text{font-family:Fredoka One,cursive;font-size:1.8rem;margin-bottom:1.5rem;color:#fffffff2;text-shadow:0 2px 10px rgba(0,0,0,.3)}.loading-logo{font-family:Fredoka One,cursive;font-size:2.5rem;color:#fff;margin-bottom:1.5rem;text-shadow:0 4px 8px rgba(0,0,0,.3);animation:logoWobble .5s ease-in-out infinite alternate}@keyframes logoWobble{0%{transform:rotate(-3deg)}to{transform:rotate(3deg)}}.loading-message{font-size:1rem;color:#ffffffb3;margin-top:1rem;font-family:var(--font-family)}.loading-progress{width:280px;height:8px;background:#ffffff26;border-radius:4px;overflow:hidden;margin:0 auto 1.5rem;position:relative}.loading-progress-bar{height:100%;width:0%;background:linear-gradient(90deg,#4caf50,#8bc34a,#4caf50);background-size:200% 100%;border-radius:4px;transition:width .3s ease-out;animation:progressGradient 2s linear infinite}@keyframes progressGradient{0%{background-position:0% 0%}to{background-position:200% 0%}}.loading-percentage{font-family:Fredoka One,cursive;font-size:1rem;color:#ffffffb3;margin-top:.5rem}.loading-tip{font-size:.95rem;color:#fff9;max-width:320px;line-height:1.6;padding:1rem;background:#ffffff0d;border-radius:10px;margin-top:1rem;transition:opacity .3s ease}.loading-particles{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;overflow:hidden}.loading-particle{position:absolute;width:6px;height:6px;background:#ffffff4d;border-radius:50%;animation:floatUp 3s ease-in infinite}@keyframes floatUp{0%{transform:translateY(100vh) rotate(0);opacity:0}10%{opacity:1}90%{opacity:1}to{transform:translateY(-10vh) rotate(360deg);opacity:0}}@media(max-width:768px){.loading-text{font-size:1.4rem}.tp-spinner{font-size:3.5rem}.loading-progress{width:80%;max-width:220px}.loading-tip{font-size:.85rem;max-width:280px}.loading-logo{font-size:2rem}}.loading-screen.fade-out{animation:loadingFadeOut .8s ease-out forwards}.loading-screen.hidden{display:none!important}@keyframes loadingFadeOut{0%{opacity:1;visibility:visible;display:flex}to{opacity:0;visibility:hidden;display:none}}.transition-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);display:flex;justify-content:center;align-items:center;z-index:10002;opacity:0;pointer-events:none;transition:opacity .3s ease-out}.transition-overlay.active{opacity:1;pointer-events:all}.fade-transition{animation:fadeOut .3s ease-out forwards}@keyframes fadeOut{0%{opacity:1;filter:blur(0px)}to{opacity:0;filter:blur(5px)}}.fade-transition-in{animation:fadeIn .3s ease-in forwards}@keyframes fadeIn{0%{opacity:0;filter:blur(5px)}to{opacity:1;filter:blur(0px)}}.blur-background{filter:blur(8px);transition:filter .3s ease}.blur-background.active{filter:blur(0px)}.slide-up{animation:slideUp .4s cubic-bezier(.4,0,.2,1) forwards}@keyframes slideUp{0%{opacity:0;transform:translateY(50px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.slide-down{animation:slideDown .4s cubic-bezier(.4,0,.2,1) forwards}@keyframes slideDown{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(50px) scale(.95)}}.shake{animation:shake .5s cubic-bezier(.36,.07,.19,.97) forwards}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-10px)}20%,40%,60%,80%{transform:translate(10px)}}.score-pulse{animation:scorePulse .5s ease-out}@keyframes scorePulse{0%{transform:scale(1);color:#fff}50%{transform:scale(1.3);color:gold}to{transform:scale(1);color:#fff}}.glow{animation:glow 2s ease-in-out infinite alternate}@keyframes glow{0%{text-shadow:0 0 10px rgba(255,215,0,.5)}to{text-shadow:0 0 20px rgba(255,215,0,.8),0 0 30px rgba(255,215,0,.5)}}.modal-header h1{font-family:Fredoka One,cursive;font-size:2rem;margin-bottom:1rem;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.3)}.modal-body{font-size:1.2rem;color:#ffffffe6;margin-bottom:1.5rem;line-height:1.6}.modal-footer{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.game-over-body{font-size:1.5rem}#final-score{font-family:Fredoka One,cursive;font-size:3rem;color:gold;margin:1rem 0;text-shadow:0 4px 10px rgba(255,215,0,.5)}.leaderboard-body{max-height:300px;overflow-y:auto;padding-right:10px}.leaderboard-body::-webkit-scrollbar{width:6px}.leaderboard-body::-webkit-scrollbar-track{background:#ffffff1a;border-radius:3px}.leaderboard-body::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:3px}#leaderboard-list-full{list-style:none;padding:0;margin:0}#leaderboard-list-full li{padding:.8rem 1rem;margin:.3rem 0;background:#ffffff0d;border-radius:8px;display:flex;justify-content:space-between;align-items:center;font-family:Fredoka One,cursive;transition:all .2s ease}#leaderboard-list-full li:hover{background:#ffffff1a;transform:translate(5px)}#leaderboard-list-full li:nth-child(1){background:linear-gradient(135deg,#ffd70033,#ffd7001a);border:1px solid rgba(255,215,0,.3)}#leaderboard-list-full li:nth-child(2){background:linear-gradient(135deg,#c0c0c033,#c0c0c01a);border:1px solid rgba(192,192,192,.3)}#leaderboard-list-full li:nth-child(3){background:linear-gradient(135deg,#cd7f3233,#cd7f321a);border:1px solid rgba(205,127,50,.3)}h1,h2,h3{font-family:Fredoka One,cursive;letter-spacing:1px}.highlight{color:#ff6b6b;font-weight:700}.gold{color:gold}.btn{min-width:120px;min-height:48px;font-family:Fredoka One,cursive;font-size:1.1rem;padding:14px 28px;border:none;border-radius:12px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.btn:hover:before{left:100%}@media(max-width:768px){.modal-header h1{font-size:1.5rem}.modal-body{font-size:1rem}#final-score{font-size:2.5rem}.modal-footer{flex-direction:column;gap:.5rem}.btn{width:100%;min-width:unset}}:root{--primary: #87CEEB;--primary-dark: #5DADE2;--accent: #FFD700;--accent-hover: #FFC107;--text-primary: #333333;--text-secondary: #666666;--bg-modal: #FFFFFF;--bg-overlay: rgba(0, 0, 0, .75);--border-color: #E8E8E8;--success: #4CAF50;--danger: #FF5252;--spacing-xs: 6px;--spacing-sm: 10px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-xxl: 48px;--font-family: system-ui, -apple-system, "Segoe UI", sans-serif;--font-size-h1-mobile: 28px;--font-size-h1-desktop: 36px;--font-size-body-mobile: 16px;--font-size-body-desktop: 18px;--mobile-small: 320px;--mobile: 375px;--mobile-large: 414px;--tablet: 768px;--desktop: 1024px;--large-desktop: 1440px;--touch-target-min: 48px;--radius-sm: 10px;--radius-md: 16px;--radius-lg: 24px;--radius-xl: 32px}*{margin:0;padding:0;box-sizing:border-box}.modal-overlay{position:fixed;inset:0;width:100%;height:100%;background:var(--bg-overlay);backdrop-filter:blur(4px);display:none;justify-content:center;align-items:center;z-index:9998;animation:fadeIn .3s ease-out;padding-top:max(env(safe-area-inset-top),16px);padding-right:max(env(safe-area-inset-right),16px);padding-bottom:max(env(safe-area-inset-bottom),16px);padding-left:max(env(safe-area-inset-left),16px)}.modal-overlay.hidden{display:none}.modal-overlay:not(.hidden){display:flex}.modal-content:not(.hidden){display:block!important}#game-over-screen:not(.hidden){display:block!important}.modal{opacity:0;transform:translateY(-20px) scale(.95);transition:all .3s cubic-bezier(.4,0,.2,1);pointer-events:none}.modal.visible{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}.modal-content{background:var(--bg-modal);border-radius:var(--radius-lg);box-shadow:0 20px 60px #0000004d;text-align:center;max-height:85vh;overflow-y:auto;animation:slideUp .4s cubic-bezier(.34,1.56,.64,1);position:relative;border:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column}.menu-item{opacity:0;transform:translate(-20px);transition:all .3s cubic-bezier(.4,0,.2,1);transition-delay:var(--delay, 0ms)}.modal.visible .menu-item{opacity:1;transform:translate(0)}.modal.visible .menu-item:nth-child(1){--delay: 0ms}.modal.visible .menu-item:nth-child(2){--delay: 50ms}.modal.visible .menu-item:nth-child(3){--delay: .1s}.modal.visible .menu-item:nth-child(4){--delay: .15s}.modal.visible .menu-item:nth-child(5){--delay: .2s}.modal.visible .menu-item:nth-child(6){--delay: .25s}.modal.visible .menu-item:nth-child(7){--delay: .3s}.modal.visible .menu-item:nth-child(8){--delay: .35s}.modal-overlay{transition:opacity .3s cubic-bezier(.4,0,.2,1)}.modal-overlay.hidden{opacity:0;pointer-events:none}.modal-overlay:not(.hidden){opacity:1;pointer-events:auto}@media(max-width:359px){.modal-content{width:98%;margin:var(--spacing-xs)}}@media(min-width:360px)and (max-width:479px){.modal-content{width:94%;max-width:94%;margin:var(--spacing-sm)}}@media(min-width:480px)and (max-width:767px){.modal-content{width:80%;max-width:450px;margin:var(--spacing-md)}}@media(min-width:768px){.modal-content{max-width:480px;width:auto;margin:var(--spacing-lg)}}.modal-header{padding:var(--spacing-lg) var(--spacing-lg) var(--spacing-md);border-bottom:1px solid var(--border-color)}.modal-header h1{font-family:var(--font-family);font-size:var(--font-size-h1-mobile);color:var(--text-primary);margin:0;font-weight:700}@media(min-width:768px){.modal-header h1{font-size:var(--font-size-h1-desktop)}}.modal-body{padding:var(--spacing-lg);color:var(--text-secondary);font-family:var(--font-family);font-size:var(--font-size-body-mobile);line-height:1.6}@media(min-width:768px){.modal-body{font-size:var(--font-size-body-desktop);padding:var(--spacing-xl)}}.modal-footer{padding:var(--spacing-md) var(--spacing-lg) var(--spacing-lg);border-top:1px solid var(--border-color);display:flex;flex-direction:column;gap:var(--spacing-md)}@media(min-width:480px){.modal-footer{flex-direction:row;justify-content:center;padding:var(--spacing-lg) var(--spacing-xl) var(--spacing-xl)}}.btn{position:relative;overflow:hidden;min-height:var(--touch-target-min);min-width:var(--touch-target-min);padding:14px 28px;font-size:16px;font-weight:600;color:#fff;background:var(--primary);border:none;border-radius:var(--radius-md);cursor:pointer;font-family:var(--font-family);touch-action:manipulation;transition:transform .15s ease,box-shadow .15s ease;box-shadow:0 4px 14px #87ceeb59;display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);letter-spacing:.3px}.btn:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 8px 16px #0003;filter:brightness(1.1)}.btn:active{transform:scale(.95);box-shadow:0 0 #0003!important;filter:brightness(.95)}.btn:focus{outline:3px solid var(--accent);outline-offset:2px}.btn:after{content:"";position:absolute;width:100%;height:100%;background:#ffffff4d;border-radius:50%;transform:translate(-50%,-50%) scale(0);opacity:0;pointer-events:none;top:50%;left:50%}.btn:active:after{animation:ripple .6s ease-out}.btn-nav:after{content:"";position:absolute;width:100%;height:100%;background:#ffffff4d;border-radius:50%;transform:translate(-50%,-50%) scale(0);opacity:0;pointer-events:none;top:50%;left:50%}.btn-nav:active:after{animation:ripple .6s ease-out}#pause-btn:after{content:"";position:absolute;width:100%;height:100%;background:#ffffff4d;border-radius:50%;transform:translate(-50%,-50%) scale(0);opacity:0;pointer-events:none;top:50%;left:50%}#pause-btn:active:after{animation:ripple .6s ease-out}.audio-controls:after{content:"";position:absolute;width:100%;height:100%;background:#ffffff4d;border-radius:50%;transform:translate(-50%,-50%) scale(0);opacity:0;pointer-events:none;top:50%;left:50%}.audio-controls:active:after{animation:ripple .6s ease-out}@keyframes ripple{0%{transform:translate(-50%,-50%) scale(0);opacity:1}to{transform:translate(-50%,-50%) scale(4);opacity:0}}.btn-primary{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%)}.btn-secondary{background:linear-gradient(135deg,#9e9e9e,#757575)}.btn-secondary:hover{background:linear-gradient(135deg,#757575,#616161);box-shadow:0 8px 16px #0003;filter:brightness(1.1);transform:translateY(-2px) scale(1.02)}.btn-secondary:active{transform:scale(.95);box-shadow:0 0 #0003!important;filter:brightness(.95)}#pause-button{position:fixed;top:max(16px,env(safe-area-inset-top));left:max(16px,env(safe-area-inset-left));z-index:1000;display:none}#pause-btn{position:relative;overflow:hidden;min-height:48px;min-width:48px;padding:var(--spacing-sm) var(--spacing-md);font-size:16px;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--accent) 0%,var(--accent-hover) 100%);border:none;border-radius:12px;cursor:pointer;font-family:var(--font-family);box-shadow:0 4px 12px #ffd70066;touch-action:manipulation;transition:transform .15s ease,box-shadow .15s ease;display:flex;align-items:center;justify-content:center;gap:8px}#pause-btn:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 8px 16px #0003;filter:brightness(1.1)}#pause-btn:active{transform:scale(.95);box-shadow:0 0 #0003!important;filter:brightness(.95)}#pause-btn i{font-size:20px}@media(min-width:480px){#pause-btn span{display:inline}}@media(max-width:479px){#pause-btn .pause-text{display:none}#pause-btn{min-width:48px;min-height:48px}}.audio-controls{position:relative;overflow:hidden;position:fixed;top:max(16px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right));width:48px;height:48px;background:linear-gradient(135deg,var(--accent) 0%,var(--accent-hover) 100%);border-radius:12px;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 12px #ffd70066;touch-action:manipulation;transition:transform .15s ease,box-shadow .15s ease;z-index:1000}.audio-controls:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 8px 16px #0003;filter:brightness(1.1)}.audio-controls:active{transform:scale(.95);box-shadow:0 0 #0003!important;filter:brightness(.95)}.audio-icon{font-size:24px}#score,#score-display{position:fixed;top:max(80px,env(safe-area-inset-top) + 64px);right:unset;left:50%;transform:translate(-50%);font-family:Fredoka One,cursive;font-size:clamp(24px,5vw,32px);font-weight:700;color:#fff;text-shadow:2px 2px 4px rgba(0,0,0,.5);z-index:10;pointer-events:none;background:linear-gradient(135deg,var(--primary-dark) 0%,var(--primary) 100%);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);box-shadow:0 4px 12px #0000004d;transition:color .3s ease,transform .2s ease}#score.score-flash,#score-display.score-flash{animation:scoreFlash .5s ease-out}@keyframes scoreFlash{0%{transform:translate(-50%) scale(1);color:#fff}25%{transform:translate(-50%) scale(1.4);color:gold}50%{transform:translate(-50%) scale(1.2);color:#ffeb3b}to{transform:translate(-50%) scale(1);color:#fff}}#score.pulse,#score-display.pulse{animation:scorePulse .3s ease-out}@keyframes scorePulse{0%{transform:translate(-50%) scale(1);color:#fff}50%{transform:translate(-50%) scale(1.1);color:#4ecdc4;filter:brightness(1.2)}to{transform:translate(-50%) scale(1);color:#fff}}@media(max-width:480px){#score-display{top:max(70px,env(safe-area-inset-top) + 50px);font-size:clamp(20px,6vw,28px);padding:8px 16px}#pause-button{top:max(12px,env(safe-area-inset-top));left:max(12px,env(safe-area-inset-left))}.audio-controls{top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));font-size:1.2rem;padding:6px}}@media(max-width:320px){#score-display{top:max(60px,env(safe-area-inset-top) + 40px);font-size:clamp(18px,7vw,24px)}}#leaderboard{margin-top:var(--spacing-lg);text-align:left}#leaderboard h2{font-family:var(--font-family);font-size:20px;margin:0 0 var(--spacing-md);color:var(--text-secondary);text-align:center}#leaderboard-list{list-style:none;padding:0;max-height:200px;overflow-y:auto;border-radius:var(--radius-sm);background:var(--bg-modal)}.leaderboard-item{display:grid;grid-template-columns:40px 1fr auto auto;gap:12px;align-items:center;padding:14px 18px;border-bottom:1px solid var(--border-color);min-height:var(--touch-target-min);transition:all .2s ease}.leaderboard-item:last-child{border-bottom:none}.leaderboard-item:nth-child(1){background:linear-gradient(135deg,gold,#ffc107);color:var(--text-primary);font-weight:700;border-radius:var(--radius-sm) var(--radius-sm) 0 0}.leaderboard-item:nth-child(2){background:linear-gradient(135deg,#e8e8e8,#d0d0d0)}.leaderboard-item:nth-child(3){background:linear-gradient(135deg,#d4a574,#c4956a)}.leaderboard-item:nth-child(n+4){background:#87ceeb14}.leaderboard-item:nth-child(n+4):hover{background:#87ceeb26}.leaderboard-rank{font-weight:700;font-size:18px;min-width:36px;color:var(--text-primary)}.leaderboard-score{font-weight:700;font-size:18px;color:var(--text-primary)}.leaderboard-name{font-weight:600;font-size:16px;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.leaderboard-date{font-size:13px;color:var(--text-secondary);opacity:.8}.name-entry-section{margin-top:16px;padding:16px;background:linear-gradient(135deg,#ffd7001a,#ffc1070d);border-radius:var(--radius-md);border:2px solid var(--accent);animation:border-pulse-glow 2s ease-in-out infinite}@keyframes border-pulse-glow{0%,to{box-shadow:0 0 10px #ffd7004d}50%{box-shadow:0 0 20px #ffd70080}}.name-entry-prompt{font-weight:600;font-size:16px;color:var(--accent);margin-bottom:12px;text-align:center}.player-name-input{width:100%;padding:12px 16px;font-size:16px;border:2px solid var(--border-color);border-radius:var(--radius-md);background:#1e1e32cc;color:var(--text-primary);margin-bottom:12px;box-sizing:border-box}.player-name-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #ffd70033}#start-screen{padding:var(--spacing-xl) var(--spacing-lg)}#start-screen h1{font-size:clamp(36px,10vw,56px);margin-bottom:var(--spacing-md);background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}#start-screen p{font-size:clamp(16px,4vw,20px);margin-bottom:var(--spacing-xl);color:var(--text-secondary)}#pause-screen h1{font-size:clamp(28px,7vw,40px);margin-bottom:var(--spacing-md)}#pause-screen p{font-size:clamp(15px,3.5vw,18px);margin-bottom:var(--spacing-lg);color:var(--text-secondary)}#game-over-screen h1{font-size:clamp(32px,8vw,48px);margin-bottom:var(--spacing-md);color:var(--text-primary)}#final-score{font-family:var(--font-family);font-size:clamp(28px,7vw,40px);font-weight:800;color:var(--primary-dark);margin-bottom:var(--spacing-sm);text-shadow:2px 2px 0 rgba(135,206,235,.2)}.game-over-message{font-family:var(--font-family);font-size:clamp(16px,4vw,22px);color:var(--text-secondary);margin-top:var(--spacing-xs);font-weight:600}.game-over-message.new-best{color:var(--accent);text-shadow:0 0 12px rgba(255,215,0,.6);animation:newBestEntry .5s cubic-bezier(.34,1.56,.64,1) forwards,pulse-glow 1.5s ease-in-out .5s infinite}@keyframes newBestEntry{0%{transform:scale(0);opacity:0}60%{transform:scale(1.2);opacity:1}to{transform:scale(1);opacity:1}}@keyframes pulse-glow{0%,to{opacity:1;text-shadow:0 0 12px rgba(255,215,0,.6)}50%{opacity:.8;text-shadow:0 0 20px rgba(255,215,0,.8)}}#final-score.score-counted{animation:scoreBounce .3s cubic-bezier(.34,1.56,.64,1)}@keyframes scoreBounce{0%{transform:scale(1)}50%{transform:scale(1.15)}to{transform:scale(1)}}.near-miss-toast{position:fixed;top:15%;left:50%;transform:translate(-50%) translateY(-10px);background:#ffd700e6;color:#1a1a2e;font-family:Poppins,sans-serif;font-size:16px;font-weight:700;padding:6px 18px;border-radius:20px;pointer-events:none;opacity:0;transition:opacity .15s,transform .15s;z-index:5000}.near-miss-toast.visible{opacity:1;transform:translate(-50%) translateY(0)}.game-over-body{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-lg);padding:var(--spacing-lg) 0}.game-over-footer{display:flex;flex-direction:column;gap:var(--spacing-sm);width:100%}@media(min-width:480px){.game-over-footer{flex-direction:row;justify-content:center}}.leaderboard-body{padding:var(--spacing-md) 0}.leaderboard-footer{display:flex;justify-content:center}#leaderboard-list-full{list-style:none;padding:0;max-height:280px;overflow-y:auto;border-radius:var(--radius-sm);background:var(--bg-modal);margin:0}@media(min-width:480px){#leaderboard-list-full{max-height:350px}}#leaderboard-screen h1{font-size:clamp(28px,6vw,36px);margin-bottom:var(--spacing-md)}@media(max-width:479px){.game-over-body,.leaderboard-body{padding:var(--spacing-md) var(--spacing-sm)}#leaderboard-list-full{max-height:250px}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.btn-primary:active{animation:pulse .2s ease-out}#leaderboard-list::-webkit-scrollbar,#leaderboard-list-full::-webkit-scrollbar{width:8px}#leaderboard-list::-webkit-scrollbar-track,#leaderboard-list-full::-webkit-scrollbar-track{background:var(--border-color);border-radius:4px}#leaderboard-list::-webkit-scrollbar-thumb,#leaderboard-list-full::-webkit-scrollbar-thumb{background:var(--primary);border-radius:4px}#leaderboard-list::-webkit-scrollbar-thumb:hover,#leaderboard-list-full::-webkit-scrollbar-thumb:hover{background:var(--primary-dark)}button:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}@supports (-webkit-touch-callout: none){.modal-overlay{position:fixed;min-height:-webkit-fill-available}.modal-content{max-height:-webkit-fill-available}}@media(prefers-contrast:high){.modal-content{border:2px solid var(--text-primary)}.btn{border:2px solid white}}@media(prefers-reduced-motion:reduce){.modal-overlay,.modal-content,.btn{animation:none!important;transition:none!important}}.start-nav-buttons{display:flex;gap:var(--spacing-md);justify-content:center;flex-wrap:wrap;margin-top:var(--spacing-xl)}.btn-nav{position:relative;overflow:hidden;min-height:var(--touch-target-min);min-width:100px;padding:var(--spacing-md);background:linear-gradient(135deg,#87ceeb33,#5dade233);border:2px solid var(--primary);border-radius:var(--radius-md);cursor:pointer;font-family:var(--font-family);touch-action:manipulation;transition:transform .15s ease,box-shadow .15s ease;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs)}.btn-nav:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 8px 16px #0003;background:linear-gradient(135deg,#87ceeb4d,#5dade24d);filter:brightness(1.1)}.btn-nav:active{transform:scale(.95);box-shadow:0 0 #0003!important;filter:brightness(.95)}.btn-nav .btn-icon{font-size:24px}.btn-nav .btn-text{font-size:14px;font-weight:600;color:var(--primary-dark)}@media(max-width:479px){.start-nav-buttons{gap:var(--spacing-sm)}.btn-nav{min-width:80px;padding:var(--spacing-sm)}.btn-nav .btn-icon{font-size:20px}.btn-nav .btn-text{font-size:12px}.challenge-item{grid-template-columns:auto 1fr;grid-template-areas:"icon info" "reward reward";gap:var(--spacing-sm)}.challenge-reward{justify-self:flex-start;align-self:center}.challenge-info-btn{min-width:28px;min-height:28px;font-size:16px}}.skin-header-stats{display:flex;gap:var(--spacing-md);justify-content:center;margin-top:var(--spacing-sm);font-size:14px;color:var(--text-secondary)}.skin-body{padding:var(--spacing-md)}.skin-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-md);max-height:350px;overflow-y:auto;padding:var(--spacing-xs)}@media(min-width:480px){.skin-grid{grid-template-columns:repeat(4,1fr);gap:var(--spacing-md);max-height:400px}}.skin-card{display:flex;flex-direction:column;align-items:center;padding:16px;border-radius:12px;background:#ffffff1a;cursor:pointer;transition:transform .2s,box-shadow .2s,border-color .2s;border:2px solid transparent;position:relative;min-height:140px}.skin-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000004d}.skin-card.selected{border-color:#4caf50;background:#4caf5026}.skin-card.locked{opacity:.7;cursor:not-allowed}.skin-card.locked .skin-preview{filter:grayscale(100%)}.skin-preview{width:72px;height:72px;border-radius:12px;margin-bottom:12px;box-shadow:0 4px 12px #0000004d}.skin-card[data-skin-id=rainbow] .skin-preview,.skin-card[data-skin-id=neon] .skin-preview,.skin-card[data-skin-id=fire] .skin-preview,.skin-card[data-skin-id=ice] .skin-preview{background-size:200% 200%;animation:gradientShift 3s ease infinite}.skin-info{text-align:center;width:100%}.skin-name{font-weight:600;font-size:16px;margin-bottom:4px;text-align:center;color:var(--text-primary)}.skin-status{font-size:12px;opacity:.8;color:var(--text-secondary)}.lock-req{color:var(--danger);font-weight:600}.selected-badge{position:absolute;top:8px;right:8px;color:#4caf50;font-size:20px}.unlock-ready{position:absolute;top:-8px;right:-8px;background:gold;color:#000;padding:4px 8px;border-radius:12px;font-size:10px;font-weight:700;animation:pulse 1s ease-in-out infinite}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.skin-progress{width:100%;height:6px;background:#0000001a;border-radius:3px;overflow:hidden;margin-top:var(--spacing-xs)}.skin-progress-bar{height:100%;background:linear-gradient(90deg,var(--primary) 0%,var(--primary-dark) 100%);border-radius:3px;transition:width .3s ease}.skin-unlock-text{font-size:10px;color:var(--text-secondary);margin-top:var(--spacing-xs)}.skin-footer{display:flex;justify-content:center}.challenges-header-info{display:flex;justify-content:space-between;align-items:center;margin-top:var(--spacing-xs);gap:var(--spacing-md)}.coin-balance{display:flex;align-items:center;gap:var(--spacing-xs);font-size:14px;font-weight:600;color:var(--accent);background:#ffd70026;padding:6px 12px;border-radius:var(--radius-sm)}.coin-icon{font-size:16px}.coin-value{font-family:var(--font-family);font-weight:700}.challenges-timer{font-size:14px;color:var(--text-secondary);font-weight:500;flex-shrink:0}@media(max-width:479px){.challenges-header-info{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.challenges-timer{align-self:flex-end}}.challenges-body{padding:var(--spacing-md)}.challenges-list{display:flex;flex-direction:column;gap:var(--spacing-md);max-height:350px;overflow-y:auto}@media(min-width:480px){.challenges-list{max-height:400px}}.challenge-card{background:linear-gradient(135deg,#87ceeb1a,#5dade21a);border-radius:var(--radius-md);padding:var(--spacing-md);border:2px solid transparent;transition:all .25s cubic-bezier(.4,0,.2,1)}.challenge-card.completed{border-color:var(--success);background:linear-gradient(135deg,#4caf5026,#4caf501a)}.challenge-header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.challenge-icon{font-size:28px}.challenge-title{font-size:16px;font-weight:600;color:var(--text-primary);flex:1}.challenge-reward{font-size:12px;font-weight:600;color:var(--accent);background:#ffd70026;padding:4px 10px;border-radius:var(--radius-sm)}.challenge-description{font-size:13px;color:var(--text-secondary);margin-bottom:var(--spacing-sm)}.challenge-progress-container{display:flex;align-items:center;gap:var(--spacing-sm)}.challenge-progress{flex:1;height:10px;background:#0000001a;border-radius:5px;overflow:hidden}.challenge-progress-bar{height:100%;background:linear-gradient(90deg,var(--primary) 0%,var(--primary-dark) 100%);border-radius:5px;transition:width .3s ease}.challenge-card.completed .challenge-progress-bar{background:linear-gradient(90deg,var(--success) 0%,#66BB6A 100%)}.challenge-progress-text{font-size:12px;font-weight:600;color:var(--text-primary);min-width:50px;text-align:right}.challenge-status{font-size:12px;font-weight:600;color:var(--success);display:flex;align-items:center;gap:var(--spacing-xs)}.challenge-status:before{content:"✓"}.challenge-item{background:linear-gradient(135deg,#87ceeb1a,#5dade21a);border-radius:var(--radius-md);padding:var(--spacing-md);border:2px solid transparent;transition:all .25s cubic-bezier(.4,0,.2,1);display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"icon info reward";gap:var(--spacing-md);align-items:start}.challenge-item.completed{border-color:var(--success);background:linear-gradient(135deg,#4caf5026,#4caf501a)}.challenge-icon{font-size:28px;grid-area:icon}.challenge-info{grid-area:info;min-width:0}.challenge-title{font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-xs);display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm)}.challenge-info-btn{background:none;border:none;font-size:18px;cursor:pointer;padding:4px;border-radius:50%;min-width:32px;min-height:32px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}.challenge-info-btn:hover{background:#87ceeb33;transform:scale(1.1)}.challenge-info-btn:focus{outline:2px solid var(--accent);outline-offset:2px}.challenge-details{margin-bottom:var(--spacing-sm);max-height:0;overflow:hidden;transition:max-height .3s ease,padding .3s ease;background:#87ceeb0d;border-radius:var(--radius-sm)}.challenge-details.visible{max-height:100px;padding:var(--spacing-sm)}.challenge-details-content{display:flex;flex-direction:column;gap:var(--spacing-xs)}.challenge-detail-description{font-size:13px;color:var(--text-secondary);line-height:1.4}.challenge-detail-type{font-size:12px;color:var(--primary);font-weight:600;text-transform:capitalize}.challenge-progress{display:flex;align-items:center;gap:var(--spacing-sm)}.progress-bar{flex:1;height:10px;background:#0000001a;border-radius:5px;overflow:hidden}.progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--primary) 0%,var(--primary-dark) 100%);border-radius:5px;transition:width .3s ease}.challenge-item.completed .progress-bar-fill{background:linear-gradient(90deg,var(--success) 0%,#66BB6A 100%)}.progress-text{font-size:12px;font-weight:600;color:var(--text-primary);min-width:50px;text-align:right}.challenge-reward{grid-area:reward;font-size:12px;font-weight:600;color:var(--accent);background:#ffd70026;padding:6px 10px;border-radius:var(--radius-sm);align-self:flex-start;justify-self:flex-end}.challenges-footer{display:flex;justify-content:center}.stats-body{padding:var(--spacing-md)}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-md);max-height:400px;overflow-y:auto}@media(min-width:480px){.stats-grid{grid-template-columns:repeat(2,1fr);gap:var(--spacing-lg)}}.stat-card{background:linear-gradient(135deg,#87ceeb1a,#5dade21a);border-radius:var(--radius-md);padding:var(--spacing-md);display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);min-height:100px;transition:all .25s cubic-bezier(.4,0,.2,1)}.stat-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px #87ceeb40}.stat-icon{font-size:28px}.stat-value{font-size:24px;font-weight:700;color:var(--primary-dark);font-family:var(--font-family)}.stat-label{font-size:11px;color:var(--text-secondary);text-align:center;font-weight:500}.stats-footer{display:flex;justify-content:center}#skin-grid::-webkit-scrollbar,#challenges-list::-webkit-scrollbar,.stats-grid::-webkit-scrollbar{width:8px}#skin-grid::-webkit-scrollbar-track,#challenges-list::-webkit-scrollbar-track,.stats-grid::-webkit-scrollbar-track{background:var(--border-color);border-radius:4px}#skin-grid::-webkit-scrollbar-thumb,#challenges-list::-webkit-scrollbar-thumb,.stats-grid::-webkit-scrollbar-thumb{background:var(--primary);border-radius:4px}#skin-grid::-webkit-scrollbar-thumb:hover,#challenges-list::-webkit-scrollbar-thumb:hover,.stats-grid::-webkit-scrollbar-thumb:hover{background:var(--primary-dark)}.score-popup{position:fixed;top:30%;left:50%;transform:translate(-50%);font-family:"Fredoka One",cursive,var(--font-family);font-size:24px;font-weight:800;color:#fff;text-shadow:0 2px 6px rgba(0,0,0,.5);pointer-events:none;z-index:5000;animation:scorePopupRise .8s ease-out forwards}.score-popup.near-miss{font-size:30px;color:var(--accent);text-shadow:0 0 12px rgba(255,215,0,.6),0 2px 6px rgba(0,0,0,.5)}@keyframes scorePopupRise{0%{opacity:1;transform:translate(-50%) translateY(0)}to{opacity:0;transform:translate(-50%) translateY(-60px)}}.streak-notification{position:fixed;top:100px;left:50%;transform:translate(-50%) translateY(-20px);background:linear-gradient(135deg,#ff6b6b,#feca57);padding:16px 32px;border-radius:24px;display:flex;align-items:center;gap:12px;opacity:0;transition:opacity .3s,transform .3s;z-index:1000;box-shadow:0 8px 32px #0000004d}.streak-notification.visible{opacity:1;transform:translate(-50%) translateY(0)}.streak-fire{font-size:32px}.streak-text{font-size:20px;font-weight:700;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.3)}.shop-header-info{display:flex;justify-content:center;margin-top:var(--spacing-xs)}.shop-body{padding:var(--spacing-md)}.shop-list{display:flex;flex-direction:column;gap:var(--spacing-md);max-height:400px;overflow-y:auto}.shop-item{background:linear-gradient(135deg,#87ceeb1a,#5dade21a);border-radius:var(--radius-md);padding:var(--spacing-md);border:2px solid transparent;transition:all .25s cubic-bezier(.4,0,.2,1);display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"icon info action";gap:var(--spacing-md);align-items:center}.shop-item:hover{transform:translateY(-2px);box-shadow:0 6px 20px #87ceeb40}.shop-item.maxed{border-color:var(--success);background:linear-gradient(135deg,#4caf5026,#4caf501a)}.shop-icon{font-size:36px;grid-area:icon}.shop-info{grid-area:info;text-align:left}.shop-name{font-size:18px;font-weight:700;color:var(--text-primary);margin-bottom:var(--spacing-xs)}.shop-description{font-size:13px;color:var(--text-secondary);margin-bottom:var(--spacing-xs);line-height:1.4}.shop-effect{font-size:12px;color:var(--primary);font-weight:600}.shop-action{grid-area:action;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs)}.shop-buy-btn{background:linear-gradient(135deg,var(--accent) 0%,var(--accent-hover) 100%);color:var(--text-primary);border:none;border-radius:var(--radius-sm);padding:var(--spacing-sm) var(--spacing-md);font-size:14px;font-weight:700;cursor:pointer;transition:all .2s ease;min-width:80px}.shop-buy-btn:hover:not(:disabled){transform:scale(1.05);box-shadow:0 4px 12px #ffd70066}.shop-buy-btn:disabled{background:#ccc;cursor:not-allowed;opacity:.7}.shop-cost{font-size:12px;font-weight:600;color:var(--text-secondary)}.shop-level{font-size:11px;color:var(--success);font-weight:600}.shop-purchased{font-size:14px;color:var(--success);font-weight:700}.shop-footer{display:flex;justify-content:center}@media(max-width:479px){.shop-item{grid-template-columns:auto 1fr;grid-template-areas:"icon info" "action action";text-align:center}.shop-info{text-align:left}.shop-action{flex-direction:row;justify-content:center}}
