*{margin:0;padding:0;box-sizing:border-box}body{font-family:Arial,sans-serif;background:#142036;overflow:hidden;height:100vh;width:100vw}.container{position:relative;width:100%;height:100%;display:flex;flex-direction:column}#gameCanvas{width:100%;height:100%;display:block;background:#142036 url(../assets/img/bg_snow.webp) center/cover no-repeat}#gameCanvas.bg-level-3{background-image:url(../assets/img/bg2.webp)}.game-header{position:absolute;top:20px;left:20px;right:20px;z-index:100;display:flex;justify-content:space-between;align-items:center;pointer-events:none}h1{color:#fff;font-size:2em;text-shadow:2px 2px 4px rgba(0,0,0,.5);margin:0}.score-board{display:flex;gap:30px;font-size:1.2em;font-weight:700;color:#fff;text-shadow:2px 2px 4px rgba(0,0,0,.5)}.score span,.lives span,.level span{color:#ff7f1f}.high-score,.high-score span{color:#ffb21e}.controls-hint-wrapper{position:absolute;bottom:20px;left:50%;transform:translate(-50%);z-index:100;text-align:center;pointer-events:none}.controls-hint{color:#fff;font-size:.9em;text-shadow:2px 2px 4px rgba(0,0,0,.5);margin:0}.start-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:500;text-align:center}.controls{position:absolute;bottom:70px;left:50%;transform:translate(-50%);z-index:100;text-align:center;pointer-events:none}button{background:linear-gradient(135deg,#ff7f1f,#ff5b22);color:#fff;border:none;padding:12px 30px;font-size:1em;border-radius:25px;cursor:pointer;margin:5px;transition:transform .2s,box-shadow .2s;font-weight:700;pointer-events:auto}button:hover{transform:translateY(-2px);box-shadow:0 5px 15px #ff7f1f66}button:active{transform:translateY(0)}.game-over{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#fffffffa;padding:40px;border-radius:20px;box-shadow:0 20px 60px #00000080;z-index:1000;text-align:center}.game-over h2{margin-bottom:15px;color:#142036;font-size:2em}.final-score{font-size:1.3em;color:#142036;margin-bottom:10px}.final-score span{color:#ff7f1f;font-weight:700}.new-record{font-size:1.4em;color:#f3153f;font-weight:700;margin-bottom:15px;animation:pulse .8s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}}.hidden{display:none!important}.sound-btn{position:fixed;top:50px;right:20px;width:50px;height:50px;padding:0;font-size:1.5em;border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:1000}.level-notification{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#142036b3;padding:30px 60px;border-radius:20px;z-index:1000;text-align:center;pointer-events:none}.level-notification h2{color:#ff7f1f;font-size:2.5em;text-shadow:2px 2px 4px rgba(0,0,0,.5);margin:0}.mobile-controls{position:fixed;bottom:20px;left:0;right:0;z-index:100;display:flex;justify-content:space-between;align-items:center;padding:0 20px;pointer-events:none}.mobile-btn{width:90px;height:90px;border-radius:50%;font-size:1.8em;display:flex;align-items:center;justify-content:center;background:#ff7f1fcc;border:3px solid rgba(255,255,255,.3);color:#fff;pointer-events:auto;touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.mobile-btn:active{background:#ff5a23;transform:scale(.95)}.mobile-shoot{width:80px;height:80px;font-size:2em;background:#f3153fcc;margin-left:20px;margin-bottom:20px}.mobile-shoot:active{background:#f3153f}.joystick-container{pointer-events:auto;touch-action:none;margin-right:20px;margin-bottom:20px}.joystick-base{width:180px;height:180px;border-radius:50%;background:#ff7f1f4d;border:3px solid rgba(255,255,255,.4);position:relative;display:flex;align-items:center;justify-content:center;box-shadow:0 0 20px #ff7f1f33}.joystick-handle{width:75px;height:75px;border-radius:50%;background:linear-gradient(135deg,#ff7f1f,#ff5b22);border:3px solid rgba(255,255,255,.5);position:absolute;box-shadow:0 4px 15px #0000004d;transition:transform .05s ease-out}.rotate-notice{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:#142036;z-index:9999;flex-direction:column;align-items:center;justify-content:center;color:#fff;text-align:center;padding:20px}.rotate-icon{font-size:80px;margin-bottom:20px;animation:rotate-phone 2s ease-in-out infinite}@keyframes rotate-phone{0%,to{transform:rotate(0)}25%{transform:rotate(-15deg)}75%{transform:rotate(90deg)}}.rotate-notice p{font-size:1.3em;max-width:300px}@media screen and (max-width:900px)and (orientation:portrait){.rotate-notice{display:flex}.container>*:not(.rotate-notice){visibility:hidden}}@media screen and (max-height:500px)and (orientation:landscape){.mobile-controls{display:flex!important}.mobile-controls.hidden{display:none!important}.controls-hint-wrapper{display:none}.game-header{top:10px;left:10px;right:10px;flex-wrap:wrap;gap:5px}h1{font-size:1.2em;width:100%;text-align:center;display:none}.score-board{gap:15px;font-size:.9em;width:100%;justify-content:center}.controls{bottom:60px}.controls button:not(.sound-btn){padding:10px 20px;font-size:.9em}.start-overlay button{padding:10px 20px;font-size:.9em}.sound-btn{top:10px;right:auto;left:10px;width:40px;height:40px;font-size:1.2em}.game-over{padding:20px;width:80%;max-width:350px}.game-over h2{font-size:1.5em;margin-bottom:10px}.final-score{font-size:1.1em;margin-bottom:8px}.new-record{font-size:1.1em;margin-bottom:10px}.level-notification{padding:15px 30px}.level-notification h2{font-size:1.8em}.mobile-btn{width:60px;height:60px;font-size:1.5em}.mobile-shoot{width:70px;height:70px;font-size:1.8em}.mobile-controls{bottom:10px;padding:0 15px}.joystick-base{width:150px;height:150px}.joystick-handle{width:65px;height:65px}}@media screen and (max-height:400px)and (orientation:landscape){.score-board{gap:10px;font-size:.8em}.mobile-btn{width:50px;height:50px;font-size:1.3em}.mobile-shoot{width:60px;height:60px;font-size:1.5em}.mobile-controls{bottom:5px;padding:0 10px}.joystick-base{width:120px;height:120px}.joystick-handle{width:50px;height:50px}}@media screen and (min-height:501px){.mobile-controls{display:none!important}}.promo-offer{position:fixed;top:0;left:0;right:0;bottom:0;background:transparent;z-index:2000;display:flex;align-items:center;justify-content:center;padding:20px}.promo-content{position:relative;max-width:500px;width:100%;text-align:center}.promo-image{width:100%;height:auto;border-radius:20px}.promo-text{position:absolute;top:13%;right:19%;width:39%;padding:20px;text-align:left;font-size:14px;color:#fff;font-weight:700}.promo-months{color:#fff;margin-bottom:10px;line-height:1.3}.promo-code{margin-bottom:5px}.promo-code span{font-weight:700;font-size:1.2em;display:inline-block;margin-top:5px;text-shadow:0 0 3px rgb(255,255,255);color:#397a05}.promo-close-btn{margin-top:25px;background:linear-gradient(135deg,#ff7f1f,#f3153f);padding:15px 40px;font-size:1.1em}.promo-close-btn:hover{box-shadow:0 5px 20px #f3153f80}@media screen and (max-height:500px)and (orientation:landscape){.promo-content{max-width:350px}.promo-image{max-width:280px}.promo-text{font-size:10px;padding:10px}.promo-months{font-size:1.1em;margin-bottom:5px}.promo-code{font-size:.9em;margin-bottom:3px}.promo-code span{font-size:1.1em;margin-top:3px}.promo-close-btn{margin-top:15px;padding:10px 25px;font-size:.9em}}@media screen and (max-height:400px)and (orientation:landscape){.promo-content{max-width:300px}.promo-image{max-width:240px}.promo-text{font-size:8px;padding:8px;top:12%;right:18%;width:40%}.promo-months{font-size:1em;margin-bottom:3px}.promo-code{font-size:.85em;margin-bottom:2px}.promo-code span{font-size:1em;margin-top:2px}.promo-close-btn{margin-top:10px;padding:8px 20px;font-size:.8em}}@media screen and (max-width:500px)and (orientation:portrait){.promo-content{max-width:90vw}.promo-image{width:100%;max-width:none}.promo-text{font-size:clamp(8px,2.5vw,14px);padding:clamp(8px,2vw,20px)}.promo-months{font-size:1.1em;margin-bottom:5px;line-height:1.2}.promo-code{font-size:.9em;margin-bottom:3px}.promo-code span{font-size:1.1em;margin-top:3px}.promo-close-btn{margin-top:15px;padding:12px 30px;font-size:1em}}@media screen and (min-width:501px)and (max-width:768px){.promo-content{max-width:400px}.promo-text{font-size:12px;padding:15px}}
