
#g,#g *{box-sizing:border-box}#g{font-family:Arial,sans-serif;user-select:none;-webkit-user-select:none}
#g{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;touch-action:none;background:#07113a}
.layer{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none}.bg{z-index:0}.terrain{z-index:1}.banner{z-index:10}
.ui{position:absolute;z-index:30;width:10.5%;height:auto;filter:drop-shadow(0 3px 5px #0008);touch-action:none}.ui.sound{left:2.7%;top:3.9%}.ui.pause{right:2.7%;top:3.9%}
#a{position:absolute;left:50%;top:47%;width:34%;z-index:8;transform-origin:50% 52%;will-change:left,top,transform;pointer-events:none}#mascot{display:block;position:relative;z-index:2;width:100%;height:auto}#muzzleAnchor{position:absolute;left:13.7%;top:44.3%;width:2px;height:2px;opacity:0;pointer-events:none;z-index:4}
#bubble{position:absolute;left:50%;top:50%;width:155%;height:auto;transform:translate(-50%,-50%);opacity:0;pointer-events:none;transition:opacity .06s}#a.shield #bubble{opacity:1}
.asteroidTarget{position:absolute;width:17%;z-index:6;pointer-events:none;transform:translate(-50%,-50%)}.asteroidTarget.hit{filter:brightness(2)}
#plush{position:absolute;width:14%;z-index:7;display:none;pointer-events:none;transform:translate(-50%,-50%)}
#enemy{position:absolute;width:25%;z-index:7;pointer-events:none;transform:translate(-50%,-50%);transform-origin:50% 50%;filter:drop-shadow(0 4px 8px #0009);will-change:left,top,transform}#enemy.hit{filter:brightness(2.3) drop-shadow(0 4px 8px #0009)}
#enemyBullet{position:absolute;width:8.5%;z-index:9;display:none;pointer-events:none;transform:translate(-50%,-50%);filter:drop-shadow(0 0 9px #ffb000)}
#shieldBtn{position:absolute;left:39.2%;bottom:1.1%;width:21.6%;height:10%;z-index:50;border:0;padding:0;background:transparent;touch-action:none;pointer-events:auto;border-radius:50%}#shieldBtn img{width:100%;height:100%;object-fit:contain;pointer-events:none;filter:drop-shadow(0 3px 5px #0008)}

#range{position:absolute;z-index:5;border:2px dashed #8ff7ffbb;border-radius:50%;box-shadow:0 0 18px #25dfff44 inset,0 0 12px #25dfff33;display:none;pointer-events:none}
#reticle{position:absolute;z-index:12;width:8%;aspect-ratio:1;border:3px solid #c9ffff;border-radius:50%;box-shadow:0 0 10px #20eaff,0 0 18px #167cff inset;display:none;pointer-events:none;transform:translate(-50%,-50%)}#reticle:before,#reticle:after{content:"";position:absolute;background:#eaffff;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:99px}#reticle:before{width:140%;height:2px}#reticle:after{height:140%;width:2px}
.laser{position:absolute;width:1.1%;border-radius:99px;background:#d8ffff;box-shadow:0 0 8px cyan,0 0 18px #168cff;z-index:11;transform-origin:50% 100%;pointer-events:none}
.flash{position:absolute;z-index:15;width:12%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#fff 0 20%,#ffd25d 35%,#ff8a32 55%,transparent 72%);transform:translate(-50%,-50%);pointer-events:none;animation:flash .25s ease-out forwards}@keyframes flash{from{opacity:1;transform:translate(-50%,-50%) scale(.5)}to{opacity:0;transform:translate(-50%,-50%) scale(2.2)}}
.boomPiece{position:absolute;z-index:14;width:3.5%;aspect-ratio:1;border-radius:45%;background:#6b607d;box-shadow:0 0 8px #ffb35a;pointer-events:none}
#giftCounter{display:none}

.hudFull{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;z-index:25;pointer-events:none}
.shieldFull{z-index:27}
#shieldBtn{position:absolute;left:39%;right:39%;bottom:0;height:16%;z-index:35;border:0;background:transparent;padding:0;touch-action:none}
#leftCount,#rightCount{position:absolute;z-index:34;bottom:3.7%;display:flex;align-items:center;gap:.25em;color:#fff;font-weight:900;font-size:clamp(15px,4.4vw,28px);text-shadow:0 2px 4px #001a55;pointer-events:none}
#leftCount{left:13.5%}#rightCount{right:13.5%}
#leftCount img,#rightCount img{width:2.1em;height:2.1em;object-fit:contain}
#loot{position:absolute;width:15%;z-index:7;display:none;pointer-events:none;transform:translate(-50%,-50%)}

#topBanner{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;z-index:20;pointer-events:none}
.ui.sound{left:3.2037%!important;top:3.9%!important;width:10.5%!important}.ui.pause{left:86.2963%!important;right:auto!important;top:3.9%!important;width:10.5%!important}

#giftCounter{display:none!important}
#leftCount,#rightCount{position:absolute!important;top:94.25%!important;bottom:auto!important;height:4.2%!important;width:18%!important;transform:translateY(-50%)!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:.28em!important;font-size:clamp(14px,3.8vw,24px)!important;line-height:1!important}
#leftCount{left:20.7%!important}#rightCount{right:20.7%!important}
#leftCount img,#rightCount img{width:1.55em!important;height:1.55em!important;object-fit:contain!important}
#shieldBtn{position:absolute!important;left:40.1%!important;top:89.5%!important;width:19.8%!important;height:9.2%!important;right:auto!important;bottom:auto!important;z-index:60!important;border:0!important;background:transparent!important;padding:0!important;touch-action:none!important;pointer-events:auto!important}


#hint{position:absolute;left:27.1759%;top:4.625%;width:46.4444%;height:3.5375%;transform:none;z-index:31;color:#fff;background:transparent;padding:0;margin:0;text-align:center;font-family:"Orbitron","Audiowide","Trebuchet MS",sans-serif;font-weight:700;font-size:clamp(9px,1.75vw,13px);letter-spacing:.02em;line-height:1;white-space:nowrap;overflow:hidden;pointer-events:none;text-shadow:0 2px 4px #003b8f;display:flex;align-items:center;justify-content:center}
#hint span{display:block;width:100%;margin:0;padding:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}



#backOverlay{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none;z-index:68}#game-back{left:2.7037%;top:11.25%;width:10.5%;height:4.725%;z-index:69;border:none;border-radius:50%;background:transparent;color:transparent;box-shadow:none;font-size:0;display:block;padding:0;cursor:pointer;-webkit-tap-highlight-color:transparent}
#game-back[hidden]{display:none!important}
.gamePhotoMask{position:absolute;overflow:hidden;pointer-events:none;z-index:1}
.gamePhotoMask img{position:absolute;left:50%;top:50%;width:100%;height:100%;object-fit:cover;transform:translate(calc(-50% + var(--photo-x,0px)),calc(-50% + var(--photo-y,0px))) scale(var(--photo-zoom,1));transform-origin:center}

#gamePhotoMask{
  border-radius:0!important;
  -webkit-mask-image:url("assets/visor-mask.webp");
  mask-image:url("assets/visor-mask.webp");
  -webkit-mask-size:100% 100%;
  mask-size:100% 100%;
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
}

.gamePhotoMask canvas{display:block;width:100%;height:100%}

.photo-mask,.gamePhotoMask{-webkit-mask-image:none!important;mask-image:none!important}

#mascot{pointer-events:none}
.gamePhotoMask canvas{position:absolute;inset:0}

@keyframes shieldCoachPulse{
  0%,100%{box-shadow:0 0 0 0 rgba(90,235,255,0),0 0 0 rgba(90,235,255,0)}
  45%{box-shadow:0 0 0 8px rgba(90,235,255,.42),0 0 24px 10px rgba(45,210,255,.62)}
}
#shieldBtn.coachPulse{
  animation:shieldCoachPulse .9s ease-in-out infinite;
  border-radius:50%!important;
}
