*{touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none}button,input{touch-action:manipulation}body{color:#fff;overscroll-behavior:none;touch-action:none;-webkit-user-select:none;user-select:none;height:100vh;padding-top:env(safe-area-inset-top,10px);padding-bottom:env(safe-area-inset-bottom,10px);background-color:#0b0c10;flex-direction:column;justify-content:center;align-items:center;margin:0;font-family:Courier New,Courier,monospace;display:flex;overflow:hidden}.hud{text-align:center;width:95%;max-width:500px;margin-bottom:5px;margin-top:env(safe-area-inset-top,0px)}.stats-row{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.stats{color:#45a29e;text-shadow:0 0 10px #45a29e80;font-size:.95rem;font-weight:700}.quit-btn{color:#f36;cursor:pointer;letter-spacing:1px;background:#ff336626;border:1px solid #ff336680;border-radius:20px;padding:6px 14px;font-weight:700;transition:transform .1s,background .2s,box-shadow .2s;box-shadow:0 0 10px #f363}.quit-btn:active{background:#f366;transform:scale(.95)}.target-indicator{letter-spacing:2px;margin-bottom:5px;font-size:1.1rem;font-weight:700;transition:color .3s,text-shadow .3s}.timer-container{background:#1f2833;border:1px solid #45a29e;border-radius:4px;width:100%;height:8px;overflow:hidden}.timer-bar{background:#66fcf1;width:100%;height:100%;transition:background-color .2s;box-shadow:0 0 10px #66fcf1}.timer-bar.danger{background:#f36;box-shadow:0 0 10px #f36}.game-area{aspect-ratio:3/4;width:95vw;max-width:500px;position:relative}.grid{grid-template-rows:repeat(8,1fr);grid-template-columns:repeat(6,1fr);gap:6px;width:100%;height:100%;display:grid}.block{cursor:pointer;background:#1f2833;border-radius:12px;transition:transform .1s cubic-bezier(.175,.885,.32,1.275),box-shadow .1s}.block.color-red{background:#f36}.block.color-green{background:#3c6}.block.color-yellow{background:#fc0}.block.color-purple{background:#c3f}.block.color-blue{background:#3cf}.block.selected{transform:scale(.7);box-shadow:0 0 25px #fff,inset 0 0 15px #fff}.block.empty{box-shadow:none;pointer-events:none;background:0 0}@keyframes pulseTarget{0%{transform:scale(1);box-shadow:inset 0 0 5px #fff3}to{transform:scale(1.05);box-shadow:inset 0 0 20px #ffffffb3}}.block.is-current-target{animation:.8s infinite alternate pulseTarget}@keyframes fallBounce{0%{opacity:0;transform:translateY(-40px)}to{opacity:1;transform:translateY(0)}}.falling{animation:.3s cubic-bezier(.175,.885,.32,1.275) fallBounce}@keyframes comboPop{0%{transform:scale(1)}50%{color:#f1c40f;text-shadow:0 0 15px #f1c40f;transform:scale(1.3)}to{transform:scale(1)}}.combo-pulse{animation:.4s ease-out comboPop;display:inline-block}@keyframes casinoFlash{0%{filter:brightness();transform:scale(.7)}50%{filter:brightness(1.5);transform:scale(1.1);box-shadow:0 0 30px #fff}to{filter:brightness();transform:scale(.7)}}.casino-win{z-index:10;animation:.3s ease-out infinite casinoFlash;position:relative}@keyframes errorFlash{0%{transform:scale(1)}15%{transform:scale(1.15);background-color:red!important;box-shadow:0 0 30px red,inset 0 0 15px #fff!important}to{transform:scale(1)}}.error-flash{z-index:10;animation:.6s ease-out errorFlash;position:relative}@keyframes violentlyShake{0%{transform:translate(0)}10%{transform:translate(-8px,8px)}20%{transform:translate(8px,-8px)}30%{transform:translate(-8px,-8px)}40%{transform:translate(8px,8px)}50%{transform:translate(-4px,4px)}60%{transform:translate(4px,-4px)}to{transform:translate(0)}}.game-area.screen-error{animation:.6s ease-out violentlyShake}@keyframes screenErrorOverlay{0%{background-color:#f000;box-shadow:inset 0 0 #f000}15%{background-color:#f006;box-shadow:inset 0 0 80px 20px #f00c}to{background-color:#f000;box-shadow:inset 0 0 #f000}}.game-area.screen-error:after{content:"";pointer-events:none;z-index:5;border-radius:12px;animation:.6s ease-out screenErrorOverlay;position:absolute;inset:0}canvas{pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0}.hidden{display:none!important}.overlay-screen{z-index:20;background:#0b0c10f2;flex-direction:column;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:absolute;top:0;left:0}.overlay-screen h1{color:#66fcf1;text-shadow:0 0 20px #66fcf1;letter-spacing:5px;text-align:center;margin-bottom:40px;font-size:3.5rem}.overlay-screen h2{color:#f36;text-shadow:0 0 20px #f36;letter-spacing:5px;text-align:center;margin-bottom:20px;font-size:3rem}.menu-btn{color:#0b0c10;cursor:pointer;text-align:center;background:#45a29e;border:none;border-radius:8px;width:80%;max-width:300px;margin-bottom:15px;padding:15px 40px;font-size:1.2rem;font-weight:700;transition:transform .1s;box-shadow:0 0 15px #45a29e66}.menu-btn:active{transform:scale(.95)}.menu-btn.gold-btn{background:#f1c40f;box-shadow:0 0 20px #f1c40f99}.best-times-list{width:80%;max-width:400px;max-height:50vh;margin-bottom:30px;padding-right:10px;overflow-y:auto}.best-times-list::-webkit-scrollbar{width:8px}.best-times-list::-webkit-scrollbar-thumb{background-color:#45a29e;border-radius:4px}.best-time-item{color:#fff;border-bottom:1px solid #45a29e4d;justify-content:space-between;padding:12px 10px;font-size:1.2rem;font-weight:700;display:flex}.best-time-item:last-child{border-bottom:none}@media (orientation:landscape) and (width>=600px){body{flex-direction:row;justify-content:space-evenly}.hud{width:35%;max-width:none;margin-bottom:0}.game-area{width:auto;max-width:none;height:90vh}.stats-row{flex-direction:column}}@media (width<=480px){.stats{font-size:.85rem}.target-indicator{font-size:1rem}}@keyframes warningJitter{0%{transform:scale(.7)translate(0);box-shadow:0 0 25px #ff8c00,inset 0 0 15px #ff8c00}25%{transform:scale(.7)translate(-3px,3px);box-shadow:0 0 35px #ff8c00,inset 0 0 15px #ff8c00}50%{transform:scale(.7)translate(3px,-3px);box-shadow:0 0 25px #ff8c00,inset 0 0 15px #ff8c00}75%{transform:scale(.7)translate(-3px,-3px);box-shadow:0 0 35px #ff8c00,inset 0 0 15px #ff8c00}to{transform:scale(.7)translate(3px,3px);box-shadow:0 0 25px #ff8c00,inset 0 0 15px #ff8c00}}.block.warning-shake{animation:.2s infinite warningJitter!important}@keyframes glitchText{0%{text-shadow:0 0 20px #f36,2px 2px #0ff;transform:translate(0)}25%{text-shadow:0 0 20px #f36,-2px -1px #0ff;transform:translate(-3px,2px)}50%{text-shadow:0 0 20px #f36,1px 3px #0ff;transform:translate(3px,-1px)}75%{text-shadow:0 0 20px #f36,-1px -2px #0ff;transform:translate(-1px,3px)}to{text-shadow:0 0 20px #f36,0 0 #0ff;transform:translate(0)}}#gameOverScreen:not(.hidden) h2{animation:.15s ease-in-out infinite alternate glitchText}
