*{margin:0;padding:0;box-sizing:border-box}:root{--bg-color: rgba(10, 10, 30, .9);--panel-bg: rgba(20, 20, 50, .8);--border-color: rgba(0, 245, 255, .3);--glow-color: #00f5ff;--text-color: #fff;--text-muted: rgba(255, 255, 255, .7)}body{font-family:Segoe UI,Roboto,sans-serif;background:#091a2b;color:var(--text-color);min-height:100vh;display:flex;justify-content:center;align-items:center;overflow:hidden}.app-shell{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%}.hamburger-toggle{position:fixed;top:12px;left:12px;z-index:2000;width:44px;height:44px;border-radius:10px;background:var(--panel-bg);border:1px solid var(--border-color);color:var(--text-color);font-size:20px;cursor:pointer;box-shadow:0 0 15px #00f5ff33;transition:transform .2s ease,box-shadow .2s ease}.hamburger-toggle:hover{transform:translateY(-1px);box-shadow:0 0 20px #00f5ff66}.manipulation-drawer{position:fixed;top:0;left:0;width:0;height:100%;overflow:hidden;transition:width .3s ease;display:flex;align-items:stretch;flex-direction:column;gap:16px;padding:10px 0;z-index:1500}.app-shell.drawer-open .manipulation-drawer{width:360px}.app-shell.drawer-open:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:#050a1499;z-index:1200}.meta-drawer{display:none;padding:0 10px 10px;border-top:1px solid var(--border-color)}.hard-drop-btn{position:absolute;bottom:14px;left:14px;z-index:200;width:54px;height:54px;border-radius:12px;background:linear-gradient(180deg,#ff1744cc,#ff174466);border:1px solid rgba(255,23,68,.8);color:#fff;font-size:24px;font-weight:700;display:none;align-items:center;justify-content:center;box-shadow:0 0 15px #ff174466;cursor:pointer}.hard-drop-btn:active{transform:scale(.96)}#app{width:1080px;height:1920px;max-width:1080px;max-height:1920px;display:flex;flex-direction:column;overflow:hidden;background:var(--bg-color);position:relative}#app:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse at 20% 20%,rgba(0,245,255,.15) 0%,transparent 40%),radial-gradient(ellipse at 80% 80%,rgba(118,255,3,.12) 0%,transparent 40%),radial-gradient(ellipse at 50% 50%,rgba(224,64,251,.1) 0%,transparent 50%);animation:bgColorShift 12s ease-in-out infinite;pointer-events:none;z-index:0}#app:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:radial-gradient(circle,rgba(0,245,255,.5) 2px,transparent 2px),radial-gradient(circle,rgba(118,255,3,.4) 2px,transparent 2px),radial-gradient(circle,rgba(255,235,59,.4) 2px,transparent 2px),radial-gradient(circle,rgba(224,64,251,.5) 2px,transparent 2px);background-size:150px 200px,200px 250px,180px 220px,220px 180px;animation:floatParticles 20s linear infinite;pointer-events:none;z-index:0;opacity:.5}.bg-orb{position:absolute;border-radius:50%;filter:blur(40px);opacity:.4;pointer-events:none;z-index:0;animation:orbFloat 10s ease-in-out infinite}.bg-orb-1{width:200px;height:200px;background:radial-gradient(circle,rgba(0,245,255,.6),transparent 70%);top:10%;left:5%;animation-delay:0s;animation-duration:12s}.bg-orb-2{width:150px;height:150px;background:radial-gradient(circle,rgba(118,255,3,.5),transparent 70%);top:60%;right:10%;animation-delay:-3s;animation-duration:15s}.bg-orb-3{width:180px;height:180px;background:radial-gradient(circle,rgba(224,64,251,.5),transparent 70%);bottom:20%;left:15%;animation-delay:-6s;animation-duration:18s}.bg-orb-4{width:120px;height:120px;background:radial-gradient(circle,rgba(255,235,59,.5),transparent 70%);top:30%;right:20%;animation-delay:-2s;animation-duration:14s}@keyframes bgColorShift{0%,to{opacity:1;filter:hue-rotate(0deg)}33%{opacity:.8;filter:hue-rotate(30deg)}66%{opacity:.9;filter:hue-rotate(-20deg)}}@keyframes floatParticles{0%{background-position:0 0,50px 0,0 50px,100px 50px}to{background-position:150px 400px,-200px 500px,180px -440px,-220px 360px}}@keyframes orbFloat{0%,to{transform:translate(0) scale(1);opacity:.4}25%{transform:translate(30px,-40px) scale(1.1);opacity:.5}50%{transform:translate(-20px,-60px) scale(.9);opacity:.3}75%{transform:translate(-40px,-20px) scale(1.05);opacity:.45}}.game-area{flex:2;position:relative;min-height:0;overflow:hidden;z-index:1;touch-action:none}.game-area:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at 30% 40%,rgba(0,245,255,.08) 0%,transparent 30%),radial-gradient(circle at 70% 60%,rgba(118,255,3,.06) 0%,transparent 30%),radial-gradient(circle at 50% 80%,rgba(224,64,251,.05) 0%,transparent 25%);animation:gameAreaBg 20s linear infinite;pointer-events:none;z-index:0}@keyframes gameAreaBg{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.meta-area{flex:1;display:flex;justify-content:center;align-items:flex-start;gap:30px;padding:20px;background:var(--panel-bg);border-top:2px solid var(--border-color);z-index:1}#game-canvas{border:2px solid var(--border-color);border-radius:8px;box-shadow:0 0 20px #00f5ff4d,inset 0 0 40px #00000080;touch-action:none;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges;image-rendering:pixelated;animation:canvasGlow 4s ease-in-out infinite}@keyframes canvasGlow{0%,to{box-shadow:0 0 20px #00f5ff4d,0 0 40px #00f5ff1a,inset 0 0 40px #00000080}50%{box-shadow:0 0 30px #00f5ff80,0 0 60px #76ff0333,inset 0 0 40px #00000080}}#next-piece{position:absolute;top:20px;right:20px;background:var(--panel-bg);padding:15px;border-radius:12px;border:1px solid var(--border-color);text-align:center;z-index:100;box-shadow:0 0 20px #0ff3}#next-piece h3{font-size:12px;letter-spacing:3px;color:var(--text-muted);margin-bottom:10px;text-shadow:0 0 10px var(--glow-color)}#next-canvas{border-radius:4px}#round-timer{position:absolute;top:200px;right:20px;background:var(--panel-bg);padding:12px 20px;border-radius:12px;border:1px solid var(--border-color);display:flex;flex-direction:column;align-items:center;gap:4px;box-shadow:0 0 20px #0ff3;z-index:100}.timer-label{font-size:10px;letter-spacing:3px;color:var(--text-muted);text-shadow:0 0 10px var(--glow-color)}.timer-value{font-size:28px;font-weight:700;color:var(--glow-color);text-shadow:0 0 15px var(--glow-color);font-family:Courier New,monospace;animation:timerPulse 1s ease-in-out infinite}@keyframes timerPulse{0%,to{opacity:1;text-shadow:0 0 15px var(--glow-color)}50%{opacity:.8;text-shadow:0 0 25px var(--glow-color),0 0 35px var(--glow-color)}}.score-board{background:var(--panel-bg);padding:20px 30px;border-radius:12px;border:1px solid var(--border-color);display:flex;flex-direction:row;gap:30px}.score-item{display:flex;flex-direction:column;align-items:center;gap:4px}.score-label{font-size:10px;letter-spacing:2px;color:var(--text-muted);text-transform:uppercase}.score-value{font-size:24px;font-weight:700;color:var(--glow-color);text-shadow:0 0 15px var(--glow-color);transition:transform .2s,text-shadow .2s}.score-value.pulse{animation:pulse .3s ease-out}@keyframes pulse{0%{transform:scale(1);text-shadow:0 0 15px var(--glow-color)}50%{transform:scale(1.2);text-shadow:0 0 30px var(--glow-color),0 0 60px var(--glow-color)}to{transform:scale(1);text-shadow:0 0 15px var(--glow-color)}}.controls{background:var(--panel-bg);padding:15px;border-radius:12px;border:1px solid var(--border-color)}.controls-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.control-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:12px 8px;background:linear-gradient(180deg,#00f5ff33,#00f5ff1a);border:1px solid var(--border-color);border-radius:8px;color:var(--text-color);cursor:pointer;transition:all .2s;font-family:inherit}.control-btn:hover{background:linear-gradient(180deg,#00f5ff66,#00f5ff33);box-shadow:0 0 20px #00f5ff66;transform:translateY(-2px)}.control-btn:active{transform:translateY(0);box-shadow:0 0 10px #00f5ff4d}.control-btn .icon{font-size:20px}.control-btn .label{font-size:9px;letter-spacing:1px;text-transform:uppercase;opacity:.8}.control-btn.danger{background:linear-gradient(180deg,#ff17444d,#ff174426);border-color:#ff174480}.control-btn.danger:hover{background:linear-gradient(180deg,#ff174480,#ff174440);box-shadow:0 0 20px #ff174466}.control-btn.secondary{background:linear-gradient(180deg,#e040fb33,#e040fb1a);border-color:#e040fb66}.control-btn.secondary:hover{background:linear-gradient(180deg,#e040fb66,#e040fb33);box-shadow:0 0 20px #e040fb66}.control-btn.warning{background:linear-gradient(180deg,#ff910033,#ff91001a);border-color:#ff910066}.control-btn.warning:hover{background:linear-gradient(180deg,#ff910066,#ff910033);box-shadow:0 0 20px #ff910066}@keyframes glow{0%,to{box-shadow:0 0 20px #00f5ff33}50%{box-shadow:0 0 40px #00f5ff66}}.game-container{animation:glow 3s ease-in-out infinite}.game-wrapper{position:absolute;top:50%;left:50%;transition:transform .3s ease;will-change:transform;backface-visibility:hidden}.win-indicator{position:absolute;left:-50px;bottom:0;height:60px;width:45px;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:10}.win-indicator-line{position:absolute;top:0;left:0;right:0;height:4px;background:#76ff03;box-shadow:0 0 10px #76ff03,0 0 20px #76ff03,0 0 30px #76ff03;animation:winLineGlow 1.5s ease-in-out infinite}.win-indicator-line:after{content:"";position:absolute;top:0;right:-10px;width:0;height:0;border-top:8px solid transparent;border-bottom:8px solid transparent;border-left:12px solid #76ff03;transform:translateY(-6px);filter:drop-shadow(0 0 5px #76ff03)}.win-indicator-text{display:flex;flex-direction:column;align-items:center;gap:2px;padding-top:8px}.win-indicator-text .arrow{color:#76ff03;font-size:14px;text-shadow:0 0 10px #76ff03;animation:arrowPulse 1s ease-in-out infinite}.win-indicator-text .label{color:#76ff03;font-size:11px;font-weight:700;letter-spacing:2px;text-shadow:0 0 10px #76ff03,0 0 20px #76ff03;writing-mode:horizontal-tb}@keyframes winLineGlow{0%,to{box-shadow:0 0 10px #76ff03,0 0 20px #76ff03}50%{box-shadow:0 0 15px #76ff03,0 0 30px #76ff03,0 0 45px #76ff03}}@keyframes arrowPulse{0%,to{opacity:.5}50%{opacity:1}}.manipulation-controls{position:relative;top:0;left:0;background:var(--panel-bg);padding:10px;border-radius:12px;border:1px solid var(--border-color);max-width:360px;max-height:calc(100vh - 80px);overflow-y:auto;z-index:1000;font-size:10px}.manipulation-controls h3{font-size:14px;letter-spacing:3px;color:var(--glow-color);margin-bottom:15px;text-align:center;text-shadow:0 0 10px var(--glow-color)}.manipulation-controls h4{font-size:10px;letter-spacing:2px;color:var(--text-muted);margin-bottom:8px;text-transform:uppercase}.manipulation-section{margin-bottom:15px}.manipulation-section:last-child{margin-bottom:0}.manipulation-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.manipulation-grid.pieces-grid{grid-template-columns:repeat(7,1fr)}.manipulation-btn{padding:10px 12px;background:linear-gradient(180deg,#00f5ff33,#00f5ff1a);border:1px solid var(--border-color);border-radius:8px;color:var(--text-color);cursor:pointer;transition:all .2s;font-family:inherit;font-size:11px;font-weight:500;text-align:center}.manipulation-btn:hover{background:linear-gradient(180deg,#00f5ff66,#00f5ff33);box-shadow:0 0 15px #00f5ff66;transform:translateY(-2px)}.manipulation-btn:active{transform:translateY(0)}.manipulation-btn.danger{background:linear-gradient(180deg,#ff17444d,#ff174426);border-color:#ff174480}.manipulation-btn.danger:hover{background:linear-gradient(180deg,#ff174480,#ff174440);box-shadow:0 0 15px #ff174466}.manipulation-btn.success{background:linear-gradient(180deg,#76ff034d,#76ff0326);border-color:#76ff0380}.manipulation-btn.success:hover{background:linear-gradient(180deg,#76ff0380,#76ff0340);box-shadow:0 0 15px #76ff0366}.manipulation-btn.info{background:linear-gradient(180deg,#00f5ff4d,#2979ff33);border-color:#00f5ff80}.manipulation-btn.info:hover{background:linear-gradient(180deg,#00f5ff80,#2979ff4d);box-shadow:0 0 15px #00f5ff80}.manipulation-btn.warning{background:linear-gradient(180deg,#ff91004d,#ff572233);border-color:#ff910080}.manipulation-btn.warning:hover{background:linear-gradient(180deg,#ff910080,#ff57224d);box-shadow:0 0 15px #ff910080}.manipulation-btn.piece-btn{font-weight:700;font-size:14px}.manipulation-grid.chaos-pieces-grid{grid-template-columns:repeat(4,1fr)}.manipulation-btn.chaos-piece-btn{font-weight:700;font-size:11px;background:linear-gradient(180deg,#ff00ff4d,#80008033);border-color:#ff00ff80}.manipulation-btn.chaos-piece-btn:hover{background:linear-gradient(180deg,#ff00ff80,#8000804d);box-shadow:0 0 15px #ff00ff80}.manipulation-btn.random-chaos-btn{background:linear-gradient(180deg,#f0f6,#8000804d);border-color:#f0f9;margin-top:8px}.manipulation-btn.random-chaos-btn:hover{background:linear-gradient(180deg,#f0f9,#80008066);box-shadow:0 0 20px #f0f9}.manipulation-btn.piece-i{background:linear-gradient(180deg,#00f5ff66,#00f5ff33);border-color:#00f5ff}.manipulation-btn.piece-o{background:linear-gradient(180deg,#ffeb3b66,#ffeb3b33);border-color:#ffeb3b}.manipulation-btn.piece-t{background:linear-gradient(180deg,#e040fb66,#e040fb33);border-color:#e040fb}.manipulation-btn.piece-s{background:linear-gradient(180deg,#76ff0366,#76ff0333);border-color:#76ff03}.manipulation-btn.piece-z{background:linear-gradient(180deg,#ff174466,#ff174433);border-color:#ff1744}.manipulation-btn.piece-j{background:linear-gradient(180deg,#2979ff66,#2979ff33);border-color:#2979ff}.manipulation-btn.piece-l{background:linear-gradient(180deg,#ff910066,#ff910033);border-color:#ff9100}.manipulation-btn.piece-i:hover{box-shadow:0 0 15px #00f5ff99}.manipulation-btn.piece-o:hover{box-shadow:0 0 15px #ffeb3b99}.manipulation-btn.piece-t:hover{box-shadow:0 0 15px #e040fb99}.manipulation-btn.piece-s:hover{box-shadow:0 0 15px #76ff0399}.manipulation-btn.piece-z:hover{box-shadow:0 0 15px #ff174499}.manipulation-btn.piece-j:hover{box-shadow:0 0 15px #2979ff99}.manipulation-btn.piece-l:hover{box-shadow:0 0 15px #ff910099}.manipulation-btn.random-btn{width:100%;background:linear-gradient(180deg,#e040fb4d,#00f5ff33);border-color:#e040fb80;font-size:13px}.manipulation-btn.random-btn:hover{background:linear-gradient(180deg,#e040fb80,#00f5ff4d);box-shadow:0 0 20px #e040fb80}.animation-overlay{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1000;overflow:hidden}.screen-flash{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:999;opacity:0;transition:opacity .1s ease-out}.screen-flash.active{opacity:1}.flash-danger{background:radial-gradient(ellipse at center,rgba(255,23,68,.6) 0%,rgba(255,0,0,.3) 50%,transparent 80%)}.flash-success{background:radial-gradient(ellipse at center,rgba(118,255,3,.6) 0%,rgba(0,255,0,.3) 50%,transparent 80%)}.flash-gold{background:radial-gradient(ellipse at center,rgba(255,215,0,.7) 0%,rgba(255,165,0,.4) 50%,transparent 80%)}.flash-cyan{background:radial-gradient(ellipse at center,rgba(0,245,255,.4) 0%,transparent 70%)}.floating-text{position:absolute;top:35%;left:50%;transform:translate(-50%,-50%);font-size:56px;font-weight:900;letter-spacing:6px;text-transform:uppercase;text-shadow:0 0 30px currentColor,0 0 60px currentColor,0 4px 0 rgba(0,0,0,.5);animation-duration:2s;animation-fill-mode:forwards;z-index:1500;white-space:nowrap}.floating-danger{color:#ff1744;text-shadow:0 0 30px #ff1744,0 0 60px #ff1744,0 0 100px #ff0000,0 4px 0 rgba(0,0,0,.5)}.floating-success{color:#76ff03;text-shadow:0 0 30px #76ff03,0 0 60px #76ff03,0 0 100px #00ff00,0 4px 0 rgba(0,0,0,.5)}.floating-gold{color:gold}.floating-info{color:#00f5ff}.floating-purple{color:#e040fb}.floating-cyan{color:#00f5ff}.anim-shake{animation-name:floatShake}.anim-bounce{animation-name:floatBounce}.anim-zoom{animation-name:floatZoom}.anim-slide{animation-name:floatSlide}.anim-spin{animation-name:floatSpin}@keyframes floatShake{0%{opacity:1;transform:translate(-50%,-50%) scale(1.5)}10%{transform:translate(-45%,-50%) scale(1.3)}20%{transform:translate(-55%,-50%) scale(1.3)}30%{transform:translate(-48%,-50%) scale(1.2)}40%{transform:translate(-52%,-50%) scale(1.1)}50%{transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-100%) scale(.8)}}@keyframes floatBounce{0%{opacity:1;transform:translate(-50%,-50%) scale(.5)}30%{transform:translate(-50%,-70%) scale(1.2)}50%{transform:translate(-50%,-50%) scale(1)}70%{transform:translate(-50%,-60%) scale(1.1)}to{opacity:0;transform:translate(-50%,-120%) scale(.8)}}@keyframes floatZoom{0%{opacity:0;transform:translate(-50%,-50%) scale(0)}20%{opacity:1;transform:translate(-50%,-50%) scale(1.5)}50%{transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(2)}}@keyframes floatSlide{0%{opacity:0;transform:translate(-150%,-50%)}20%{opacity:1;transform:translate(-50%,-50%)}80%{opacity:1;transform:translate(-50%,-50%)}to{opacity:0;transform:translate(50%,-50%)}}@keyframes floatSpin{0%{opacity:1;transform:translate(-50%,-50%) rotate(0) scale(.5)}50%{transform:translate(-50%,-50%) rotate(360deg) scale(1.2)}to{opacity:0;transform:translate(-50%,-50%) rotate(720deg) scale(.5)}}.big-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:100px;font-weight:900;letter-spacing:12px;text-transform:uppercase;animation:bigTextAnim 3s ease-out forwards;z-index:2000}.big-text-gold{color:gold;text-shadow:0 0 30px #ffd700,0 0 60px #ffd700,0 0 100px #ff9100,0 0 150px #ff9100,0 6px 0 rgba(0,0,0,.5)}.big-text-danger{color:#ff1744;text-shadow:0 0 30px #ff1744,0 0 60px #ff1744,0 0 100px #d50000,0 6px 0 rgba(0,0,0,.5)}.screen-shake{animation:screenShake .5s ease-out}.screen-shake-light{animation:screenShakeLight .3s ease-out}.screen-shake-heavy{animation:screenShakeHeavy .6s ease-out}@keyframes screenShake{0%,to{transform:translate(0)}10%{transform:translate(-15px) rotate(-1deg)}20%{transform:translate(15px) rotate(1deg)}30%{transform:translate(-12px) rotate(-.5deg)}40%{transform:translate(12px) rotate(.5deg)}50%{transform:translate(-8px)}60%{transform:translate(8px)}70%{transform:translate(-4px)}80%{transform:translate(4px)}90%{transform:translate(-2px)}}@keyframes screenShakeLight{0%,to{transform:translate(0)}20%{transform:translate(-5px) rotate(-.3deg)}40%{transform:translate(5px) rotate(.3deg)}60%{transform:translate(-3px)}80%{transform:translate(3px)}}@keyframes screenShakeHeavy{0%,to{transform:translate(0) translateY(0)}8%{transform:translate(-20px) translateY(5px) rotate(-2deg)}16%{transform:translate(20px) translateY(-5px) rotate(2deg)}24%{transform:translate(-18px) translateY(4px) rotate(-1.5deg)}32%{transform:translate(18px) translateY(-4px) rotate(1.5deg)}40%{transform:translate(-15px) translateY(3px) rotate(-1deg)}48%{transform:translate(15px) translateY(-3px) rotate(1deg)}56%{transform:translate(-10px) translateY(2px)}64%{transform:translate(10px) translateY(-2px)}72%{transform:translate(-6px) translateY(1px)}80%{transform:translate(6px) translateY(-1px)}88%{transform:translate(-3px)}94%{transform:translate(3px)}}.field-tilt-left{animation:fieldTiltLeft .4s ease-out}.field-tilt-right{animation:fieldTiltRight .4s ease-out}@keyframes fieldTiltLeft{0%{transform:rotate(0)}30%{transform:rotate(-2.5deg) scale(1.02)}to{transform:rotate(0)}}@keyframes fieldTiltRight{0%{transform:rotate(0)}30%{transform:rotate(2.5deg) scale(1.02)}to{transform:rotate(0)}}.game-area{transform-style:preserve-3d;perspective:1000px}#game-canvas{transition:transform .1s ease-out;transform-origin:center center}.canvas-wrapper{position:relative;transform-style:preserve-3d}.parallax-bg{position:absolute;top:-20px;left:-20px;right:-20px;bottom:-20px;background:radial-gradient(ellipse at center,rgba(0,100,150,.1) 0%,transparent 70%);pointer-events:none;z-index:-1;animation:parallaxFloat 8s ease-in-out infinite}@keyframes parallaxFloat{0%,to{transform:translate(0) scale(1)}25%{transform:translate(5px,-3px) scale(1.01)}50%{transform:translate(-3px,5px) scale(1)}75%{transform:translate(-5px,-2px) scale(1.01)}}@keyframes bigTextAnim{0%{opacity:0;transform:translate(-50%,-50%) scale(.3);filter:blur(10px)}20%{opacity:1;transform:translate(-50%,-50%) scale(1.2);filter:blur(0)}40%{transform:translate(-50%,-50%) scale(1)}80%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(1.5);filter:blur(5px)}}.particle{position:absolute;border-radius:50%;pointer-events:none;animation:particleFloat 1.2s ease-out forwards}.particle-gold{background:gold;box-shadow:0 0 10px gold,0 0 20px #ff9100}@keyframes particleFloat{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(calc((var(--random-x, 0) - .5) * 200px),calc((var(--random-y, 0) - .5) * 200px - 100px)) scale(0)}}.particle{--random-x: .5;--random-y: .5;animation:particleExplode 1.2s ease-out forwards}@keyframes particleExplode{0%{opacity:1;transform:scale(1)}50%{opacity:1}to{opacity:0;transform:translateY(-80px) scale(.3)}}.audio-controls{position:fixed;bottom:20px;right:20px;display:flex;gap:10px;z-index:100}.audio-btn{width:40px;height:40px;border-radius:50%;border:2px solid var(--border-color);background:var(--panel-bg);color:var(--glow-color);font-size:18px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.audio-btn:hover{background:#00f5ff33;box-shadow:0 0 15px var(--glow-color)}.audio-btn.muted{color:#666;border-color:#444}.coinflip-container{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:30px;z-index:2000;animation:containerEnter .5s cubic-bezier(.34,1.56,.64,1)}.coin-wrapper{-webkit-perspective:1000px;perspective:1000px;display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 0 30px rgba(255,215,0,.8))}@keyframes containerEnter{0%{transform:translate(-50%,-50%) scale(0) rotate(-180deg);opacity:0}to{transform:translate(-50%,-50%) scale(1) rotate(0);opacity:1}}.coinflip-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at center,#ffd70026,#000000b3);z-index:1999;animation:backdropFade .3s ease-out}@keyframes backdropFade{0%{opacity:0}to{opacity:1}}.coinflip-label{font-size:48px;font-weight:700;color:gold;text-shadow:0 0 20px #ffd700,0 0 40px #ffd700,0 0 60px #ffd700;animation:coinLabelPulse .3s ease-in-out infinite,labelGlow 1s ease-in-out infinite;letter-spacing:4px}@keyframes coinLabelPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes labelGlow{0%,to{filter:brightness(1)}50%{filter:brightness(1.3)}}.coin{width:200px;height:200px;position:relative;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;transition:transform .1s}.coin.flipping{animation:coinFlip 2s cubic-bezier(.25,.46,.45,.94) forwards}@keyframes coinFlip{0%{transform:rotateY(0) translateY(0)}50%{transform:rotateY(calc(var(--final-rotation, 1800deg) / 2)) translateY(-80px)}to{transform:rotateY(var(--final-rotation, 1800deg)) translateY(0)}}.coin.landed{animation:coinLand .3s cubic-bezier(.34,1.56,.64,1)}@keyframes coinLand{0%{transform:rotateY(var(--landed-angle, 0deg)) scale(1)}50%{transform:rotateY(var(--landed-angle, 0deg)) scale(1.2)}to{transform:rotateY(var(--landed-angle, 0deg)) scale(1)}}.coin-side{position:absolute;width:100%;height:100%;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;-webkit-backface-visibility:hidden;backface-visibility:hidden;font-weight:700;border:6px solid;top:0;left:0}.coin-side span{font-size:52px;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.coin-side small{font-size:16px;letter-spacing:3px;text-shadow:1px 1px 2px rgba(0,0,0,.3)}.coin-front{background:linear-gradient(135deg,#4ade80,#22c55e 30%,#16a34a 70%,#15803d);border-color:#86efac;color:#fff;box-shadow:0 0 40px #4ade80cc,inset 0 0 30px #fff6,inset 0 -5px 20px #0003}.coin-back{background:linear-gradient(135deg,#f87171,#ef4444 30%,#dc2626 70%,#b91c1c);border-color:#fca5a5;color:#fff;transform:rotateY(180deg);box-shadow:0 0 40px #f87171cc,inset 0 0 30px #fff6,inset 0 -5px 20px #0003}.coinflip-result{font-size:64px;font-weight:700;animation:resultAppear .5s cubic-bezier(.34,1.56,.64,1),resultPulse .5s ease-in-out infinite .5s;letter-spacing:6px}.coinflip-result.positive{color:#4ade80;text-shadow:0 0 30px #4ade80,0 0 60px #4ade80,0 0 90px #22c55e}.coinflip-result.negative{color:#f87171;text-shadow:0 0 30px #f87171,0 0 60px #f87171,0 0 90px #ef4444}@keyframes resultAppear{0%{transform:scale(0) rotate(-20deg);opacity:0}60%{transform:scale(1.4) rotate(5deg)}to{transform:scale(1) rotate(0);opacity:1}}@keyframes resultPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.coinflip-sparkles{position:absolute;width:300px;height:300px;pointer-events:none}.coinflip-sparkle{position:absolute;width:8px;height:8px;background:gold;border-radius:50%;animation:sparkle 1s ease-out forwards}@keyframes sparkle{0%{transform:translate(0) scale(1);opacity:1}to{transform:translate(var(--x, 100px),var(--y, -100px)) scale(0);opacity:0}}.coinflip-btn{background:linear-gradient(180deg,#ffd7004d,#ffd70026)!important;border-color:#ffd70080!important}.coinflip-btn:hover{background:linear-gradient(180deg,#ffd70080,#ffd70040)!important;box-shadow:0 0 20px #ffd70066!important}.simulation-btn{width:100%;padding:15px!important;font-size:14px!important;background:linear-gradient(180deg,#ff00ff4d,#8000ff33)!important;border-color:#ff00ff80!important;animation:simulationPulse 2s ease-in-out infinite}.simulation-btn:hover{background:linear-gradient(180deg,#ff00ff80,#8000ff59)!important;box-shadow:0 0 25px #ff00ff80!important}.simulation-btn.active{background:linear-gradient(180deg,#ff323280,#c8000059)!important;border-color:#ff3232b3!important;animation:simulationActive .5s ease-in-out infinite}@keyframes simulationPulse{0%,to{box-shadow:0 0 10px #ff00ff4d}50%{box-shadow:0 0 20px #ff00ff80}}@keyframes simulationActive{0%,to{box-shadow:0 0 15px #ff323280}50%{box-shadow:0 0 30px #ff3232cc}}.combo-display{position:fixed;top:40%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:8px;z-index:1500;animation:comboAppear .3s ease-out;pointer-events:none}@keyframes comboAppear{0%{transform:translate(-50%,-50%) scale(0);opacity:0}50%{transform:translate(-50%,-50%) scale(1.2)}to{transform:translate(-50%,-50%) scale(1);opacity:1}}.combo-text{font-size:42px;font-weight:700;color:gold;text-shadow:0 0 20px #ffd700,0 0 40px #ffa500;animation:comboPulse .3s ease-in-out infinite}@keyframes comboPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.points-text{font-size:56px;font-weight:700;color:#4ade80;text-shadow:0 0 20px #4ade80,0 0 40px #22c55e;animation:pointsFloat 2s ease-out forwards}@keyframes pointsFloat{0%{transform:translateY(0);opacity:1}to{transform:translateY(-50px);opacity:0}}.tetris-text{font-size:64px;font-weight:700;color:#00f5ff;text-shadow:0 0 30px #00f5ff,0 0 60px #00f5ff;animation:tetrisFlash .2s ease-in-out infinite}@keyframes tetrisFlash{0%,to{opacity:1;filter:brightness(1)}50%{opacity:.8;filter:brightness(1.5)}}.triple-text{font-size:48px;font-weight:700;color:#e040fb;text-shadow:0 0 20px #e040fb,0 0 40px #e040fb}.double-text{font-size:40px;font-weight:700;color:#76ff03;text-shadow:0 0 20px #76ff03,0 0 40px #76ff03}.combo-meter{position:absolute;top:50%;left:calc(50% + 260px);transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;gap:6px;z-index:1600;pointer-events:none;transform-origin:bottom center;animation:comboMeterLive .15s ease-in-out infinite;filter:drop-shadow(0 0 20px rgba(255,215,0,.8))}@keyframes comboMeterLive{0%{transform:translateY(-50%) rotate(-1deg) scale(1);filter:drop-shadow(0 0 15px rgba(255,215,0,.7))}25%{transform:translateY(-50%) translate(1.5px) rotate(1.5deg) scale(1.01);filter:drop-shadow(0 0 20px rgba(255,165,0,.9))}50%{transform:translateY(-50%) translate(-1px) rotate(-.5deg) scale(1.03);filter:drop-shadow(0 0 30px rgba(255,100,0,1)) drop-shadow(0 0 50px rgba(255,50,0,.6))}75%{transform:translateY(-50%) translate(1px) rotate(1deg) scale(1.01);filter:drop-shadow(0 0 25px rgba(255,165,0,.9))}to{transform:translateY(-50%) rotate(-1deg) scale(1);filter:drop-shadow(0 0 15px rgba(255,215,0,.7))}}.combo-meter.active{animation:comboMeterIntense .12s ease-in-out infinite}@keyframes comboMeterIntense{0%{transform:translateY(-50%) rotate(-2deg) scale(1);filter:drop-shadow(0 0 25px rgba(255,215,0,1))}25%{transform:translateY(-50%) translate(2.5px) rotate(2.5deg) scale(1.03);filter:drop-shadow(0 0 35px rgba(255,100,0,1)) drop-shadow(0 0 60px rgba(255,50,0,.8))}50%{transform:translateY(-50%) translate(-2px) rotate(-1.5deg) scale(1.05);filter:drop-shadow(0 0 45px rgba(255,50,0,1)) drop-shadow(0 0 80px rgba(255,0,0,.7))}75%{transform:translateY(-50%) translate(2px) rotate(2deg) scale(1.03);filter:drop-shadow(0 0 35px rgba(255,100,0,1)) drop-shadow(0 0 60px rgba(255,50,0,.8))}to{transform:translateY(-50%) rotate(-2deg) scale(1);filter:drop-shadow(0 0 25px rgba(255,215,0,1))}}.combo-meter-label{font-size:14px;font-weight:900;color:gold;text-shadow:0 0 10px #ffd700,0 0 20px #ffa500;text-transform:uppercase;letter-spacing:2px}.combo-meter-bar-container{width:24px;height:120px;background:#000c;border:3px solid #ffd700;border-radius:12px;overflow:hidden;position:relative;box-shadow:0 0 20px #ffd70080,inset 0 0 10px #00000080;animation:barContainerGlow .8s ease-in-out infinite}@keyframes barContainerGlow{0%,to{box-shadow:0 0 20px #ffd70080,inset 0 0 10px #00000080}50%{box-shadow:0 0 30px #ffa500b3,0 0 50px #ff640066,inset 0 0 10px #00000080}}.combo-meter-bar{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(180deg,#f30,#ff6b00,gold);border-radius:0 0 9px 9px;transition:height .1s linear;box-shadow:0 0 25px #ffd700cc inset,0 -5px 15px #ff640099;animation:barPulse .5s ease-in-out infinite}@keyframes barPulse{0%,to{opacity:1}50%{opacity:.85}}.combo-meter-bar:after{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:60%;height:30%;background:linear-gradient(180deg,rgba(255,255,255,.6),transparent);border-radius:4px 4px 0 0}.combo-meter-countdown{font-size:18px;font-weight:700;color:#fff;text-shadow:0 0 8px #ffd700;animation:countdownPulse .5s ease-in-out infinite}@keyframes countdownPulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.combo-meter-count{font-size:32px;font-weight:900;color:gold;text-shadow:0 0 15px #ffd700,0 0 30px #ff6b00,0 0 50px #ff3300;animation:countPulse .4s ease-in-out infinite}@keyframes countPulse{0%,to{transform:scale(1);text-shadow:0 0 15px #ffd700,0 0 30px #ff6b00}50%{transform:scale(1.1);text-shadow:0 0 25px #ffd700,0 0 45px #ff6b00,0 0 60px #ff3300}}.combo-meter-fadeout{animation:comboMeterFadeOut .5s ease-out forwards}@keyframes comboMeterFadeOut{0%{transform:translateY(-50%) scale(1);opacity:1}50%{transform:translateY(-50%) scale(1.1) rotate(5deg)}to{transform:translateY(-50%) scale(0) rotate(-15deg);opacity:0}}.level-change{position:fixed;top:30%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:15px;z-index:1500;pointer-events:none}.level-up{animation:levelUpAnim 1.5s ease-out forwards}.level-down{animation:levelDownAnim 1.5s ease-out forwards}@keyframes levelUpAnim{0%{transform:translate(-50%,-50%) scale(0);opacity:0}20%{transform:translate(-50%,-50%) scale(1.3);opacity:1}80%{transform:translate(-50%,-70%) scale(1);opacity:1}to{transform:translate(-50%,-90%) scale(.8);opacity:0}}@keyframes levelDownAnim{0%{transform:translate(-50%,-50%) scale(0);opacity:0}20%{transform:translate(-50%,-50%) scale(1.3);opacity:1}80%{transform:translate(-50%,-30%) scale(1);opacity:1}to{transform:translate(-50%,-10%) scale(.8);opacity:0}}.level-arrow{font-size:48px}.level-up .level-arrow{color:#ff1744;text-shadow:0 0 20px #ff1744;animation:arrowUp .3s ease-in-out infinite}.level-down .level-arrow{color:#4ade80;text-shadow:0 0 20px #4ade80;animation:arrowDown .3s ease-in-out infinite}@keyframes arrowUp{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes arrowDown{0%,to{transform:translateY(0)}50%{transform:translateY(10px)}}.level-value{font-size:42px;font-weight:700;color:#fff;text-shadow:0 0 15px currentColor}.level-up .level-value{color:#ff1744}.level-down .level-value{color:#4ade80}.auto-restart-countdown{position:fixed;bottom:40%;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:10px;z-index:1600;pointer-events:none}.countdown-label{font-size:24px;font-weight:700;color:gold;text-shadow:0 0 15px #ffd700;letter-spacing:3px}.countdown-number{font-size:80px;font-weight:700;color:#fff;text-shadow:0 0 30px #00f5ff,0 0 60px #00f5ff;animation:countdownPulse 1s ease-in-out infinite}@keyframes countdownPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:.8}}.round-countdown{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2000;pointer-events:none}.round-countdown-number{font-size:180px;font-weight:700;color:#00f5ff;text-shadow:0 0 40px #00f5ff,0 0 80px #00f5ff,0 0 120px #00f5ff;animation:roundCountdownPop .5s ease-out}.round-countdown-go{font-size:140px;font-weight:700;color:#4ade80;text-shadow:0 0 40px #4ade80,0 0 80px #4ade80,0 0 120px #4ade80;animation:roundCountdownPop .5s ease-out}.round-countdown.pulse .round-countdown-number,.round-countdown.pulse .round-countdown-go{animation:roundCountdownPop .3s ease-out}@keyframes roundCountdownPop{0%{transform:scale(1.5);opacity:0}50%{transform:scale(1.1);opacity:1}to{transform:scale(1);opacity:1}}.effect-history{position:absolute;top:20px;left:20px;display:flex;flex-direction:column;gap:8px;z-index:100;pointer-events:none}.history-item{display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:8px;background:#000000b3;border:2px solid currentColor;animation:historySlideIn .4s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:0 0 15px #00000080;transition:opacity .5s ease-out,transform .5s ease-out}.history-item.fade-out{opacity:0;transform:translate(-20px)}.history-icon{font-size:24px;animation:historyIconPulse 1s ease-in-out}.history-text{font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:currentColor;text-shadow:0 0 10px currentColor}.history-danger{color:#ff1744;border-color:#ff1744;box-shadow:0 0 15px #ff17444d}.history-success{color:#76ff03;border-color:#76ff03;box-shadow:0 0 15px #76ff034d}.history-gold{color:gold;border-color:gold;box-shadow:0 0 15px #ffd7004d}.history-info{color:#00f5ff;border-color:#00f5ff;box-shadow:0 0 15px #00f5ff4d}.history-purple{color:#e040fb;border-color:#e040fb;box-shadow:0 0 15px #e040fb4d}.history-cyan{color:#00f5ff;border-color:#00f5ff;box-shadow:0 0 15px #00f5ff4d}@keyframes historySlideIn{0%{opacity:0;transform:translate(-50px) scale(.8)}50%{transform:translate(10px) scale(1.05)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes historyIconPulse{0%,to{transform:scale(1)}25%{transform:scale(1.3)}50%{transform:scale(1.1)}}.effect-warning{position:absolute;top:50%;left:80px;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px 30px;background:#0009;border-radius:16px;border:2px solid currentColor;z-index:2000;animation:warningAppear .3s ease-out;box-shadow:0 0 30px currentColor;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.warning-icon{font-size:60px;animation:warningIconBounce .5s ease-in-out infinite}.warning-text{font-size:28px;font-weight:900;text-transform:uppercase;letter-spacing:4px;text-shadow:0 0 20px currentColor}.warning-countdown{font-size:80px;font-weight:900;text-shadow:0 0 30px currentColor;transition:transform .2s ease-out}.warning-countdown.pulse{transform:scale(1.3)}.warning-danger{color:#ff1744}.warning-success{color:#76ff03}.warning-gold{color:gold}.warning-info{color:#00f5ff}.warning-purple{color:#e040fb}.warning-cyan{color:#00f5ff}.effect-warning.executing{animation:warningExecute .5s ease-out forwards}@keyframes warningAppear{0%{opacity:0;transform:translateY(-50%) scale(.5)}to{opacity:1;transform:translateY(-50%) scale(1)}}@keyframes warningIconBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes warningExecute{0%{opacity:1;transform:translateY(-50%) scale(1)}50%{transform:translateY(-50%) scale(1.2)}to{opacity:0;transform:translateY(-50%) scale(.8)}}.freeze-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse at center,#00c8ff4d,#0064c880,#003264b3);z-index:3000;display:flex;align-items:center;justify-content:center;animation:freezeAppear .2s ease-out;-webkit-backdrop-filter:blur(2px) saturate(.5);backdrop-filter:blur(2px) saturate(.5);border:4px solid rgba(100,200,255,.8);box-shadow:inset 0 0 100px #96dcff66,0 0 40px #00b4ff99}.freeze-overlay.thawing{animation:freezeThaw .5s ease-in forwards}.freeze-content{display:flex;flex-direction:column;align-items:center;gap:10px;animation:freezePulse .5s ease-in-out infinite alternate}.freeze-icon{font-size:100px;animation:freezeIconShake .1s ease-in-out infinite;text-shadow:0 0 30px rgba(100,200,255,.8),0 0 60px rgba(0,150,255,.6);filter:drop-shadow(0 0 20px rgba(100,200,255,1))}.freeze-text{font-size:60px;font-weight:900;color:#fff;text-transform:uppercase;letter-spacing:8px;text-shadow:0 0 20px rgba(100,200,255,1),0 0 40px rgba(0,150,255,.8),2px 2px 4px rgba(0,50,100,.8)}.freeze-timer{font-size:48px;font-weight:700;color:#80d8ff;font-family:monospace;text-shadow:0 0 15px rgba(100,200,255,.8)}.freeze-ice-particles{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;overflow:hidden}.ice-particle{position:absolute;width:8px;height:8px;background:radial-gradient(circle,rgba(200,240,255,1) 0%,rgba(100,200,255,.6) 50%,transparent 100%);border-radius:50%;animation:iceFloat 2s ease-out forwards;box-shadow:0 0 10px #64c8ffcc}@keyframes freezeAppear{0%{opacity:0;transform:scale(1.1)}to{opacity:1;transform:scale(1)}}@keyframes freezeThaw{0%{opacity:1;filter:blur(0)}to{opacity:0;filter:blur(10px);transform:scale(1.1)}}@keyframes freezePulse{0%{transform:scale(1)}to{transform:scale(1.05)}}@keyframes freezeIconShake{0%,to{transform:translate(0) rotate(0)}25%{transform:translate(-3px) rotate(-2deg)}75%{transform:translate(3px) rotate(2deg)}}@keyframes iceFloat{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-50px) scale(.5)}}.freeze-btn{background:linear-gradient(135deg,#00b4d8,#0096c7)!important;border-color:#48cae4!important}.freeze-btn:hover{background:linear-gradient(135deg,#48cae4,#00b4d8)!important;box-shadow:0 0 20px #48cae499!important}.like-meter{position:absolute;left:-30px;top:0;bottom:0;width:24px;display:flex;flex-direction:column;align-items:center;z-index:100}.like-meter-label{position:absolute;top:-24px;font-size:10px;font-weight:900;color:#00f5ff;text-transform:uppercase;letter-spacing:1px;text-shadow:0 0 8px rgba(0,245,255,.8);white-space:nowrap}.like-meter-bar{position:absolute;top:0;bottom:0;left:0;right:0;background:#0a1428e6;border:2px solid #00f5ff;border-right:none;border-radius:8px 0 0 8px;overflow:hidden;box-shadow:0 0 15px #00f5ff4d,inset 0 0 15px #0009}.like-meter-fill{position:absolute;bottom:0;left:2px;right:2px;height:0%;background:linear-gradient(to top,#ff1744,#ff5252,#ff8a80);border-radius:4px;transition:height .3s ease-out;box-shadow:0 0 10px #ff174499}.like-meter-fill.high{background:linear-gradient(to top,#ff1744,#ff9100,#ffd600);animation:fillPulse .5s ease-in-out infinite}.like-meter-fill.critical{background:linear-gradient(to top,#ff1744,#d500f9,#651fff);animation:fillCritical .3s ease-in-out infinite}@keyframes fillPulse{0%,to{box-shadow:0 0 10px #ff174499}50%{box-shadow:0 0 20px #ff9100e6}}@keyframes fillCritical{0%,to{box-shadow:0 0 15px #d500f9cc}50%{box-shadow:0 0 25px #651fff}}.like-meter-critical{animation:likeMeterShake .15s ease-in-out infinite}@keyframes likeMeterShake{0%,to{transform:translate(0)}25%{transform:translate(-2px)}75%{transform:translate(2px)}}.like-meter-glow{position:absolute;top:0;left:0;right:0;bottom:0;border-radius:6px 0 0 6px;pointer-events:none;opacity:0;transition:opacity .3s}.like-meter-glow.active{opacity:1;animation:glowPulse 1s ease-in-out infinite;box-shadow:inset 0 0 20px #ff910080,0 0 15px #ff910066}@keyframes glowPulse{0%,to{opacity:.6}50%{opacity:1}}.like-meter-count{position:absolute;bottom:-22px;font-size:11px;font-weight:900;color:#ff1744;text-shadow:0 0 8px rgba(255,23,68,.8);font-family:monospace;white-space:nowrap}.like-meter-target{position:absolute;bottom:-34px;font-size:9px;color:#ffffff80;white-space:nowrap}.like-meter-burst{animation:meterBurst .6s ease-out}@keyframes meterBurst{0%{transform:scale(1)}20%{transform:scale(1.15)}40%{transform:scale(.95)}60%{transform:scale(1.08)}to{transform:scale(1)}}.like-burst-text{position:absolute;top:50%;left:100%;transform:translateY(-50%);white-space:nowrap;font-size:24px;font-weight:900;color:#ff1744;text-shadow:0 0 10px rgba(255,23,68,1),0 0 20px rgba(255,23,68,.8),2px 2px 4px rgba(0,0,0,.8);animation:burstText 2s ease-out forwards;z-index:1000;padding-left:20px}@keyframes burstText{0%{opacity:0;transform:translateY(-50%) translate(-20px) scale(.5)}20%{opacity:1;transform:translateY(-50%) translate(0) scale(1.2)}80%{opacity:1;transform:translateY(-50%) translate(50px) scale(1)}to{opacity:0;transform:translateY(-50%) translate(100px) scale(.8)}}.chaos-glitch{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent 0%,rgba(255,0,100,.3) 10%,transparent 20%,rgba(0,255,200,.3) 40%,transparent 50%,rgba(255,255,0,.3) 70%,transparent 80%);animation:glitchFlash .15s steps(3) infinite;pointer-events:none;z-index:5000;mix-blend-mode:overlay}@keyframes glitchFlash{0%{transform:translate(-5px) skew(-2deg);opacity:.8}33%{transform:translate(5px) skew(2deg);opacity:.5}66%{transform:translate(-3px) skew(-1deg);opacity:.9}to{transform:translate(0) skew(0);opacity:.7}}.chaos-scanlines{position:absolute;top:0;left:0;right:0;bottom:0;background:repeating-linear-gradient(0deg,transparent 0px,transparent 2px,rgba(0,0,0,.3) 2px,rgba(0,0,0,.3) 4px);animation:scanlineMove .1s linear infinite;pointer-events:none;z-index:5000}@keyframes scanlineMove{0%{transform:translateY(0)}to{transform:translateY(4px)}}.chaos-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:36px;font-weight:900;text-transform:uppercase;letter-spacing:4px;z-index:5000;pointer-events:none;animation:chaosTextAppear .8s ease-out forwards}.chaos-override{color:#ff1744;text-shadow:0 0 10px #ff1744,0 0 20px #ff1744,3px 3px 0 #000,-3px -3px 0 #000}.chaos-interference{color:#00f5ff;text-shadow:0 0 10px #00f5ff,0 0 20px #00f5ff,3px 3px 0 #000,-3px -3px 0 #000}@keyframes chaosTextAppear{0%{opacity:0;transform:translate(-50%,-50%) scale(.5) rotate(-5deg);filter:blur(10px)}20%{opacity:1;transform:translate(-50%,-50%) scale(1.2) rotate(2deg);filter:blur(0)}80%{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(0)}to{opacity:0;transform:translate(-50%,-50%) scale(.8) rotate(-2deg);filter:blur(5px)}}.chaos-symbol{position:absolute;font-size:80px;z-index:5000;pointer-events:none;animation:chaosSymbolPop .5s ease-out forwards;filter:drop-shadow(0 0 10px currentColor)}@keyframes chaosSymbolPop{0%{opacity:0;transform:scale(0) rotate(-180deg)}50%{opacity:1;transform:scale(1.3) rotate(10deg)}to{opacity:0;transform:scale(.5) rotate(0)}}.chaos-frame{position:absolute;top:10%;left:10%;right:10%;bottom:10%;border:4px solid #ff1744;border-radius:10px;z-index:5000;pointer-events:none;animation:chaosFramePop .4s ease-out forwards;box-shadow:0 0 20px #ff1744,inset 0 0 20px #ff17444d}@keyframes chaosFramePop{0%{opacity:0;transform:scale(.8);border-color:#ff1744}30%{opacity:1;transform:scale(1.05);border-color:#00f5ff}60%{transform:scale(.98);border-color:#ffd600}to{opacity:0;transform:scale(1);border-color:#ff1744}}.chaos-btn{background:linear-gradient(135deg,#9c27b0,#673ab7)!important;border-color:#e040fb!important}.chaos-btn:hover{background:linear-gradient(135deg,#e040fb,#9c27b0)!important;box-shadow:0 0 20px #e040fb99!important}.chaos-btn.active{background:linear-gradient(135deg,#ff1744,#d500f9)!important;animation:chaosBtnPulse .5s ease-in-out infinite}@keyframes chaosBtnPulse{0%,to{box-shadow:0 0 10px #ff174499}50%{box-shadow:0 0 25px #d500f9e6}}.explosion-particle{position:absolute;width:15px;height:15px;border-radius:50%;pointer-events:none;z-index:6000;animation:explosionParticle 1s ease-out forwards;box-shadow:0 0 10px currentColor,0 0 20px currentColor,0 0 30px currentColor}@keyframes explosionParticle{0%{transform:scale(1) translate(0);opacity:1}to{transform:scale(0) translate(calc(var(--end-x) - var(--start-x, 0px)),calc(var(--end-y) - var(--start-y, 0px)));opacity:0}}.explosion-btn{background:linear-gradient(135deg,#ff6d00,#ff1744)!important;border-color:#ffab00!important}.explosion-btn:hover{background:linear-gradient(135deg,#ffab00,#ff6d00)!important;box-shadow:0 0 25px #ff6d00cc!important}.block-explosion-particle{position:absolute;width:8px;height:8px;border-radius:2px;pointer-events:none;z-index:6000;animation:blockExplosion .8s ease-out forwards}@keyframes blockExplosion{0%{transform:translate(0) scale(1.5) rotate(0);opacity:1}20%{transform:translate(calc(var(--end-x) * .3),calc(var(--end-y) * .3)) scale(1.8) rotate(calc(var(--rotation) * .2));opacity:1}to{transform:translate(var(--end-x),var(--end-y)) scale(0) rotate(var(--rotation));opacity:0}}.win-countdown-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle,#00c8644d,#00643299);display:flex;align-items:center;justify-content:center;z-index:5500;animation:winCountdownPulse 1s ease-in-out infinite;pointer-events:none}@keyframes winCountdownPulse{0%,to{background:radial-gradient(circle,#00c8644d,#00643299)}50%{background:radial-gradient(circle,#00ff8066,#00964bb3)}}.win-countdown-overlay.cancelled{animation:winCancelFlash .5s ease-out forwards}@keyframes winCancelFlash{0%{background:#f00c}to{background:transparent;opacity:0}}.win-countdown-content{text-align:center;animation:winCountdownBounce .5s ease-out}@keyframes winCountdownBounce{0%{transform:scale(.5);opacity:0}50%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}.win-countdown-title{font-size:32px;font-weight:900;color:#ffd600;text-shadow:0 0 20px #ffd600,0 0 40px #ff9100,3px 3px 0 #000;margin-bottom:20px;letter-spacing:4px}.win-countdown-timer{font-size:120px;font-weight:900;color:#0f8;text-shadow:0 0 30px #00ff88,0 0 60px #00ff88,0 0 90px #00cc66;animation:timerPulse 1s ease-in-out infinite}.win-countdown-timer.urgent{color:#ff1744;text-shadow:0 0 30px #ff1744,0 0 60px #ff1744,0 0 90px #d50000;animation:timerUrgent .3s ease-in-out infinite}@keyframes timerPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}@keyframes timerUrgent{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.win-countdown-hint{font-size:18px;color:#ff9100;text-shadow:0 0 10px #ff9100;margin-top:20px;letter-spacing:2px;animation:hintBlink .8s ease-in-out infinite}@keyframes hintBlink{0%,to{opacity:1}50%{opacity:.5}}.win-countdown-particles{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;overflow:hidden}.win-particle{position:absolute;bottom:-20px;width:10px;height:10px;background:#ffd600;border-radius:50%;animation:winParticleRise 3s ease-out infinite;box-shadow:0 0 10px #ffd600,0 0 20px #ff9100}@keyframes winParticleRise{0%{transform:translateY(0) scale(1);opacity:1}to{transform:translateY(-800px) scale(0);opacity:0}}.gravity-indicator{position:absolute;bottom:10px;left:10px;display:flex;flex-direction:row;align-items:center;gap:8px;padding:8px 16px;background:#9333eab3;border:2px solid #9333ea;border-radius:10px;z-index:100;animation:gravityPulse .5s ease-in-out infinite alternate;pointer-events:none}.gravity-icon{font-size:24px;animation:gravityBounce .3s ease-in-out infinite}.gravity-text{font-size:14px;font-weight:700;color:#fff;text-shadow:0 0 5px #9333ea;letter-spacing:2px}.gravity-countdown{font-size:20px;font-weight:700;color:#fff;text-shadow:0 0 10px #9333ea;min-width:35px;text-align:center}@keyframes gravityPulse{0%{box-shadow:0 0 20px #9333ea80,inset 0 0 20px #9333ea33;border-color:#9333ea}to{box-shadow:0 0 40px #9333eacc,inset 0 0 40px #9333ea66;border-color:#a855f7}}@keyframes gravityBounce{0%,to{transform:translateY(0)}50%{transform:translateY(5px)}}.gravity-btn{background:linear-gradient(180deg,#9333ea,#7c3aed)!important;border-color:#a855f7!important}.gravity-btn:hover{background:linear-gradient(180deg,#a855f7,#9333ea)!important;box-shadow:0 0 15px #9333ea!important}.piece-gravity-indicator{position:absolute;bottom:10px;left:10px;display:flex;flex-direction:row;align-items:center;gap:8px;padding:8px 16px;background:#06b6d4b3;border:2px solid #06b6d4;border-radius:10px;z-index:100;animation:pieceGravityPulse .5s ease-in-out infinite alternate;pointer-events:none}.piece-gravity-icon{font-size:24px;animation:pieceGravityBounce .3s ease-in-out infinite}.piece-gravity-text{font-size:14px;font-weight:700;color:#fff;text-shadow:0 0 5px #06b6d4;letter-spacing:2px}.piece-gravity-countdown{font-size:20px;font-weight:700;color:#fff;text-shadow:0 0 10px #06b6d4;min-width:35px;text-align:center}@keyframes pieceGravityPulse{0%{box-shadow:0 0 20px #06b6d480,inset 0 0 20px #06b6d433;border-color:#06b6d4}to{box-shadow:0 0 40px #06b6d4cc,inset 0 0 40px #06b6d466;border-color:#22d3ee}}@keyframes pieceGravityBounce{0%,to{transform:translateY(0)}50%{transform:translateY(5px)}}.piece-gravity-btn{background:linear-gradient(180deg,#06b6d4,#0891b2)!important;border-color:#22d3ee!important}.piece-gravity-btn:hover{background:linear-gradient(180deg,#22d3ee,#06b6d4)!important;box-shadow:0 0 15px #06b6d4!important}.gravity-shake{animation:gravityShake .3s ease-in-out infinite}@keyframes gravityShake{0%,to{transform:translate(0)}25%{transform:translate(-.3px,.2px)}50%{transform:translate(.3px,-.2px)}75%{transform:translate(-.2px,.3px)}}.rotation-reset-indicator{position:absolute;bottom:10px;right:10px;display:flex;flex-direction:row;align-items:center;gap:8px;padding:8px 16px;background:#f97316b3;border:2px solid #f97316;border-radius:10px;z-index:100;animation:rotationPulse .5s ease-in-out infinite alternate;pointer-events:none}.rotation-icon{font-size:24px;animation:rotationSpin 2s linear infinite}.rotation-text{font-size:14px;font-weight:700;color:#fff;text-shadow:0 0 5px #f97316;letter-spacing:2px}.rotation-countdown{font-size:20px;font-weight:700;color:#fff;text-shadow:0 0 10px #f97316;min-width:35px;text-align:center}@keyframes rotationPulse{0%{box-shadow:0 0 20px #f9731680,inset 0 0 20px #f9731633;border-color:#f97316}to{box-shadow:0 0 40px #f97316cc,inset 0 0 40px #f9731666;border-color:#fb923c}}@keyframes rotationSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.rotation-reset-complete{animation:rotationComplete .5s ease-out forwards}@keyframes rotationComplete{0%{transform:scale(1);opacity:1}50%{transform:scale(1.2)}to{transform:scale(0);opacity:0}}@media (max-width: 480px){body{align-items:stretch;justify-content:flex-start}.app-shell{height:100vh}#app{width:100vw;height:100vh;max-width:none;max-height:none}.app-shell.drawer-open .manipulation-drawer{width:80vw;max-width:320px}.meta-drawer{display:block}.meta-area #score-board,.meta-area #controls{display:none}.manipulation-controls{max-width:100%}.game-area{flex:1 1 auto}.meta-area{flex:0 0 auto;flex-direction:row;align-items:flex-start;justify-content:space-between;gap:8px;padding:10px 12px}#next-piece,#round-timer{position:static;width:auto}#next-piece{padding:8px}#next-piece h3{font-size:10px;letter-spacing:2px;margin-bottom:6px}#next-canvas{width:64px;height:64px}.score-board{justify-content:space-around;gap:16px}.controls{width:100%}.controls-grid{grid-template-columns:repeat(4,1fr)}.control-btn{padding:10px 6px}.like-meter{left:-27px}.hard-drop-btn{display:flex}.manipulation-grid,.manipulation-grid.pieces-grid{grid-template-columns:repeat(4,1fr)}.manipulation-grid.chaos-pieces-grid{grid-template-columns:repeat(3,1fr)}}
