:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}#root{max-width:1280px;margin:0 auto;text-align:center;width:100%;height:100%}body:has(.frozen){overflow:hidden}body:has(.bg-stage-1){background:linear-gradient(135deg,#667eea,#764ba2)}body:has(.bg-stage-2){background:linear-gradient(135deg,#f093fb,#f5576c)}body:has(.bg-stage-3){background:linear-gradient(135deg,#4facfe,#00f2fe)}body:has(.bg-stage-4){background:linear-gradient(135deg,#43e97b,#38f9d7)}body:has(.bg-stage-5){background:linear-gradient(135deg,#fa709a,#fee140)}body:has(.bg-stage-6){background:linear-gradient(135deg,#a8edea,#fed6e3)}body:has(.bg-stage-7){background:linear-gradient(135deg,#ff9a9e,#fecfef)}.loader{margin:10em auto;width:78px;height:31.382px;background:#fd135a;--c1: conic-gradient(from 150deg at top, #000 60deg, #0000 0);--c2: conic-gradient(from -30deg at bottom, #000 60deg, #0000 0);--s: 27px 23.382px ;clip-path:polygon(18.1px 0,calc(100% - 18.1px) 0,100% 100%,0 100%);-webkit-mask:var(--c1) left 8px top 50%,var(--c2) center,var(--c1) right 8px top 50%,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-repeat:no-repeat;animation:l3 1.5s infinite}@keyframes l3{0%{-webkit-mask-size:0 0,0 0,0 0,auto}16.67%{-webkit-mask-size:var(--s),0 0,0 0,auto}33.33%{-webkit-mask-size:var(--s),var(--s),0 0,auto}50%{-webkit-mask-size:var(--s),var(--s),var(--s),auto}66.67%{-webkit-mask-size:0 0,var(--s),var(--s),auto}83.33%{-webkit-mask-size:0 0,0 0,var(--s),auto}to{-webkit-mask-size:0 0,0 0,0 0,auto}}.score-container{position:relative;display:inline-block}.score{font-size:1.5em;margin:1em 0;font-weight:700;transition:all .3s ease}.score-popup{position:absolute;top:100%;left:50%;transform:translate(-50%);background:linear-gradient(45deg,#4caf50,#45a049);color:#fff;padding:.5em 1em;border-radius:20px;font-size:1.2em;font-weight:700;animation:score-popup 1.5s ease-out forwards;box-shadow:0 4px 15px #4caf504d}@keyframes score-popup{0%{opacity:0;transform:translate(-50%) translateY(-10px) scale(.8)}20%{opacity:1;transform:translate(-50%) translateY(-5px) scale(1.1)}to{opacity:0;transform:translate(-50%) translateY(-20px) scale(.9)}}.read-the-docs{color:#888}.grid{display:grid;gap:1em;justify-content:center;margin:2em auto;padding:1em;max-width:500px;background-color:#a69e9e80;-webkit-backdrop-filter:blur(200px);backdrop-filter:blur(200px);box-shadow:2px 2px #f8f9fa4d;border-radius:10px}.combo-indicator{position:absolute;top:-40px;left:50%;transform:translate(-50%);background:linear-gradient(45deg,#ff6b6b,#ffd93d);color:#fff;padding:8px 16px;border-radius:20px;font-weight:700;font-size:1.2em;text-shadow:2px 2px 4px rgba(0,0,0,.3);box-shadow:0 4px 15px #ff6b6b66;animation:combo-pulse .6s ease-in-out infinite alternate;z-index:10}@keyframes combo-pulse{0%{transform:translate(-50%) scale(1)}to{transform:translate(-50%) scale(1.05)}}.card{cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:2em;aspect-ratio:1;border-radius:8px;transition:all .3s ease}.card-inner{pointer-events:none}.selected{background-color:#ff0}span.delete{background-color:red;animation:bubble-pop calc(.8s / var(--animation-speed, 1)) ease-out forwards}@keyframes bubble-pop{0%{transform:scale(1);opacity:1}50%{transform:scale(1.3);background-color:#ff6b6b;box-shadow:0 0 20px #ff6b6b99}to{transform:scale(0);opacity:0;background-color:transparent}}.animated{animation-duration:calc(.5s / var(--animation-speed, 1));animation-timing-function:ease-in}.invalid-swap{animation-duration:calc(.5s / var(--animation-speed, 1));animation-timing-function:ease-out;animation-iteration-count:2;animation-direction:alternate}.animated.up{animation-name:up}.animated.up-right{animation-name:up-right}.animated.right{animation-name:right}.animated.down-right{animation-name:down-right}.animated.down{animation-name:down}.animated.down-left{animation-name:down-left}.animated.left{animation-name:left}.animated.up-left{animation-name:up-left}@keyframes up{0%{transform:translateY(0)}to{transform:translateY(-100%)}}@keyframes up-right{0%{transform:translate(0)}to{transform:translate(100%,-100%)}}@keyframes right{0%{transform:translate(0)}to{transform:translate(100%)}}@keyframes down-right{0%{transform:translate(0)}to{transform:translate(100%,100%)}}@keyframes down{0%{transform:translateY(0)}to{transform:translateY(100%)}}@keyframes down-left{0%{transform:translate(0)}to{transform:translate(-100%,100%)}}@keyframes left{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes up-left{0%{transform:translate(0)}to{transform:translate(-100%,-100%)}}.falling{animation:fall-in calc(.2s / var(--animation-speed, 1)) ease-in forwards}@keyframes fall-in{0%{transform:translateY(-10%);opacity:1}to{transform:translateY(calc(100% + .5em));opacity:1}}.wildcard{box-shadow:0 0 15px #ffd70080;animation:wildcard-glow 2s ease-in-out infinite alternate}@keyframes wildcard-glow{0%{box-shadow:0 0 15px #ffd70033;background-color:#ffa50000}to{box-shadow:0 0 25px #ffd700cc,0 0 35px #ffd7004d;background-color:gold}}.rocket{box-shadow:0 0 15px #ff450080;animation:rocket-glow 2s ease-in-out infinite alternate}@keyframes rocket-glow{0%{box-shadow:0 0 15px #ff450033;background-color:#ff450000}to{box-shadow:0 0 25px #ff4500cc,0 0 35px #ff45004d;background-color:#ff4500}}.rocket>.up{rotate:-45deg}.rocket>.down{rotate:135deg}.rocket>.left{rotate:-135deg}.rocket>.right{rotate:45deg}.rocket>.up-left{rotate:-90deg}.rocket>.up-right{rotate:0deg}.rocket>.down-left{rotate:-180deg}.rocket>.down-right{rotate:90deg}.rocket.delete>*{animation-duration:.5s;animation-timing-function:ease-in;animation-fill-mode:forwards}.rocket.delete>.up{animation-name:rocket-fly-up}.rocket.delete>.up-right{animation-name:rocket-fly-up-right}.rocket.delete>.right{animation-name:rocket-fly-right}.rocket.delete>.down-right{animation-name:rocket-fly-down-right}.rocket.delete>.down{animation-name:rocket-fly-down}.rocket.delete>.down-left{animation-name:rocket-fly-down-left}.rocket.delete>.left{animation-name:rocket-fly-left}.rocket.delete>.up-left{animation-name:rocket-fly-up-left}@keyframes rocket-fly-up{0%{translate:0 0}to{translate:0 100vw}}@keyframes rocket-fly-up-right{0%{translate:0 0}to{translate:100vw -100vw}}@keyframes rocket-fly-right{0%{translate:0 0}to{translate:100vw 0}}@keyframes rocket-fly-down-right{0%{translate:0 0}to{translate:100vw 100vw}}@keyframes rocket-fly-down{0%{translate:0 0}to{translate:0 100vw}}@keyframes rocket-fly-down-left{0%{translate:0 0}to{translate:-100vw 100vw}}@keyframes rocket-fly-left{0%{translate:0 0}to{translate:-100vw 0}}@keyframes rocket-fly-up-left{0%{translate:0 0}to{translate:-100vw -100vw}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.grid{outline:none}.grid:focus-visible{box-shadow:0 0 0 3px #4299e180}.card.focused{outline:2px solid #4299e1;outline-offset:2px;z-index:10}.card.rock{background-color:#8d8d8d;cursor:not-allowed;opacity:.8}.card.rock:hover{background-color:#8d8d8d}.card.rock.disabled{pointer-events:none}@media (prefers-contrast: high){.card.focused{outline:3px solid;outline-color:Highlight}.card.selected{background-color:Highlight;color:HighlightText}}@media (prefers-reduced-motion: reduce){.card{transition:none}.card.animated{animation:none}}.mute-toggle{position:fixed;top:20px;right:20px;background:#ffffffe6;border:2px solid #333;border-radius:8px;padding:8px 12px;font-size:18px;cursor:pointer;transition:all .2s ease;z-index:1000;box-shadow:0 2px 8px #0003}.mute-toggle:hover{background:#fff;transform:scale(1.05)}.mute-toggle:active{transform:scale(.95)}.mute-toggle.muted{background:#ffc8c8e6;border-color:#666}.mute-toggle.muted:hover{background:#ffc8c8}.score-container{position:fixed;left:5vw;bottom:10vh;width:10%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1rem;border-radius:12px;margin:1rem;box-shadow:0 4px 15px #0000001a}.progress-container{margin-top:1rem}.progress-bar{background:#fff3;border-radius:10px;height:8px;overflow:hidden;margin-bottom:.5rem}.progress-fill{background:linear-gradient(90deg,#4caf50,#45a049);height:100%;border-radius:10px;transition:width .5s ease}.progress-text{text-align:center;font-size:.9em;opacity:.9}.stage-display{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1rem;border-radius:12px;margin:1rem 10rem;box-shadow:0 4px 15px #0000001a}.stage-info h3{margin:0 0 .5rem;font-size:1.4em}.stage-info p{margin:0;opacity:.9;font-style:italic}.stats-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fade-in .3s ease}.stats-modal{background:#fff;padding:2rem;border-radius:16px;box-shadow:0 10px 30px #0000004d;max-width:400px;width:90%;text-align:center;animation:slide-up .4s ease}.stats-modal h2{color:#333;margin-bottom:1.5rem;font-size:1.8em}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:2rem}.stat-item{display:flex;flex-direction:column;align-items:center;padding:1rem;background:#f8f9fa;border-radius:8px}.stat-label{font-size:.9em;color:#666;margin-bottom:.5rem}.stat-value{font-size:1.4em;font-weight:700;color:#333}.continue-button{background:linear-gradient(45deg,#4caf50,#45a049);color:#fff;border:none;padding:1rem 2rem;border-radius:25px;font-size:1.1em;font-weight:700;cursor:pointer;transition:transform .2s ease}.continue-button:hover{transform:translateY(-2px)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-up{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.victory-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1000;background-color:#000c}.victory-banner{position:fixed;left:0;right:0;height:60%;top:20%;background:linear-gradient(45deg,#ff6b6b,#4ecdc4,#45b7d1,#96ceb4);background-size:400% 400%;animation:gradient-shift 2s ease infinite,grow .5s ease-in;display:flex;align-items:center;justify-content:center}@keyframes grow{0%{height:0;top:50%}to{height:60%;top:20%}}.victory-content{text-align:center;color:#fff;position:relative}.victory-title{font-size:4em;margin:0;opacity:0;text-shadow:2px 2px 4px rgba(0,0,0,.3);animation:bounce-in 1s ease .5s forwards}.victory-emoji{font-size:6em;margin:1rem 0;animation:spin-bounce 1.5s ease}.fireworks{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none}.firework{position:absolute;font-size:2em;animation:firework-burst 2s ease-out infinite}.firework-1{animation-delay:0s;top:-100px;left:-50px}.firework-2{animation-delay:.3s;top:-80px;left:50px}.firework-3{animation-delay:.6s;top:50px;left:-80px}.firework-4{animation-delay:.9s;top:60px;left:80px}.firework-5{animation-delay:1.2s;top:-50px;left:0}.firework-6{animation-delay:1.5s;top:20px;left:20px}@keyframes gradient-shift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes bounce-in{0%{opacity:0;transform:scale(.3) translateY(-100px)}50%{opacity:1;transform:scale(1.1) translateY(0)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes spin-bounce{0%{transform:scale(0) rotate(0)}50%{transform:scale(1.2) rotate(180deg)}to{transform:scale(1) rotate(360deg)}}@keyframes firework-burst{0%{opacity:1;transform:scale(0)}50%{opacity:1;transform:scale(1.5)}to{opacity:0;transform:scale(2)}}.streak{width:10em;height:1px;background-color:#f8f9fa;border-radius:20%;border:4px #f8f9fa solid;opacity:.3;z-index:-1;position:absolute;animation:1s pan ease-in-out infinite}.small-streak{width:4em;border:2px #f8f9fa solid;animation:.6s pan ease-in-out infinite}@keyframes pan{0%{right:-10em}to{right:100%}}.feature-tooltip-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000}.feature-tooltip{background:#fff;padding:2rem;border-radius:1rem;max-width:400px;text-align:center;box-shadow:0 10px 30px #0000004d}.feature-tooltip h2{margin:0 0 1rem;color:#333;font-size:1.5rem}.feature-tooltip p{margin:0 0 1.5rem;color:#666;line-height:1.5}.feature-tooltip button{background:#4facfe;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:.5rem;font-size:1rem;cursor:pointer;transition:background .2s}.feature-tooltip button:hover{background:#3d8bfe}.debug-panel{position:absolute;left:2.5em;top:40%;z-index:10;display:flex;flex-direction:column;gap:1em}.title-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);position:relative;overflow:hidden}.emoji-background{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1}.animated-emoji{position:absolute;font-size:2rem;-webkit-user-select:none;user-select:none;pointer-events:none;will-change:transform,opacity}.title-content{text-align:center;color:#fff;position:relative;z-index:2}.game-title{font-size:4rem;margin-bottom:3rem;text-shadow:2px 2px 4px rgba(0,0,0,.3);font-weight:700}.menu-options{display:flex;flex-direction:column;gap:1.5rem;align-items:center}.menu-button{padding:1rem 2rem;font-size:1.5rem;background:#fff3;color:#fff;border:2px solid rgba(255,255,255,.3);border-radius:10px;cursor:pointer;transition:all .3s ease;min-width:200px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.menu-button:hover{background:#ffffff4d;border-color:#ffffff80;transform:translateY(-2px)}.menu-button:active{transform:translateY(0)}@media (max-width: 768px){.game-title{font-size:2.5rem;margin-bottom:2rem}.menu-button{font-size:1.2rem;padding:.8rem 1.5rem;min-width:180px}.animated-emoji{font-size:1.5rem}}.game-over-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000}.game-over-content{background:#fff;padding:2rem;border-radius:15px;text-align:center;box-shadow:0 10px 30px #0000004d;max-width:400px;width:90%}.game-over-content h2{color:#e74c3c;font-size:2.5rem;margin-bottom:1.5rem;text-shadow:1px 1px 2px rgba(0,0,0,.1)}.game-over-content h3{color:#e74c3c;font-size:1.5rem;margin-bottom:1.5rem;text-shadow:1px 1px 2px rgba(0,0,0,.1)}.final-stats{margin:1.5rem 0}.stat-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid #eee}.stat-item:last-child{border-bottom:none}.stat-label{font-weight:600;color:#555}.stat-value{font-weight:700;color:#2c3e50;font-size:1.1rem}.continue{display:flex;gap:1rem;justify-content:space-between}.continue-button{flex:50%;background:linear-gradient(45deg,#3498db,#2980b9);color:#fff;border:none;padding:1rem 2rem;font-size:1.2rem;border-radius:8px;cursor:pointer;transition:all .3s ease;margin-top:1rem}.continue-button:hover{background:linear-gradient(45deg,#2980b9,#1f5f8b);transform:translateY(-2px)}.continue-button:active{transform:translateY(0)}.timer-container{position:fixed;right:20px;top:50%;transform:translateY(-50%);z-index:100;display:flex;flex-direction:column;align-items:center;gap:.5rem}.timer-label{color:#fff;font-weight:700;font-size:1.2rem;text-shadow:1px 1px 2px rgba(0,0,0,.5)}.timer-bar-background{height:300px;width:20px;background:#0000004d;border-radius:10px;overflow:hidden;border:2px solid rgba(255,255,255,.3);transform:rotate(180deg)}.timer-bar-fill{width:20px;background:#27ae60;transition:height 1s linear,background .3s ease;border-radius:8px}.timer-bar-fill.low{background:#f39c12}.timer-bar-fill.critical{background:#e74c3c;animation:pulse .5s infinite alternate}@keyframes pulse{0%{opacity:.8}to{opacity:1}}@media (max-width: 768px){.timer-container{top:10px}.timer-bar-background{width:250px;height:16px}.timer-label{font-size:1rem}}.high-scores-screen{width:100%;display:flex;align-items:center;flex-direction:column;gap:2em}.high-score-entry-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000}.high-score-entry-content{background:#fff;padding:2rem;border-radius:15px;text-align:center;box-shadow:0 10px 30px #0000004d;max-width:600px;width:90%;color:#000}.high-score-entry-content h2{color:#e74c3c;font-size:2.5rem;margin-bottom:1.5rem;text-shadow:1px 1px 2px rgba(0,0,0,.1)}.high-score-entry-content h3{color:#e74c3c;font-size:1.5rem;margin-bottom:1.5rem;text-shadow:1px 1px 2px rgba(0,0,0,.1)}.high-score-entry-content form{display:flex;flex-direction:column;gap:1em}.buttons{display:flex;justify-content:space-around}.buttons>button{flex-basis:40%}
