.surprise-bat{position:absolute;z-index:11;left:calc(50% - 73px);top:7%;width:146px;min-height:100px;padding:6px;border:0;background:none;box-shadow:none;cursor:pointer;touch-action:manipulation;animation:bat-drift 9s ease-in-out infinite;isolation:isolate}
.bat-figure{position:relative;display:block;width:100%;aspect-ratio:480/312;pointer-events:none;filter:drop-shadow(0 0 1px #efd59f) drop-shadow(0 0 4px #c39b5866) drop-shadow(0 4px 5px #100f27aa);animation:bat-bob 2.1s ease-in-out infinite}
.bat-wing,.surprise-bat .bat-torso,.bat-eyes{position:absolute;inset:0;display:block;width:100%;height:100%;pointer-events:none}
.bat-wing{background:url('art/surprise-bat.webp') center/100% 100% no-repeat;backface-visibility:visible;animation-duration:.72s;animation-timing-function:ease-in-out;animation-iteration-count:infinite}
.bat-wing-left{clip-path:polygon(0 8%,33% 8%,41% 41%,45% 57%,37% 77%,0 65%);transform-origin:42% 53%;animation-name:bat-wing-left}
.bat-wing-right{clip-path:polygon(76% 29%,100% 29%,100% 85%,59% 77%,54% 54%,63% 43%);transform-origin:58% 54%;animation-name:bat-wing-right}
.surprise-bat .bat-torso{object-fit:contain;clip-path:polygon(32% 0,79% 0,79% 30%,64% 43%,61% 58%,56% 70%,60% 100%,32% 100%,32% 73%,38% 61%,40% 48%,32% 32%)}
.bat-eyes{opacity:0;animation:bat-blink 11.7s 2.4s infinite}
.bat-eyes i{position:absolute;left:44.4%;top:31.8%;width:6.3%;height:8%;border-radius:50%;background:#241e2a;border-bottom:1px solid #c4a174;transform:rotate(10deg)}
.bat-eyes i+i{left:53.6%;top:36.8%;width:6.5%;transform:rotate(15deg)}
.surprise-bat:hover,.surprise-bat:focus-visible{background:none;animation-play-state:paused}
.surprise-bat:hover .bat-figure,.surprise-bat:focus-visible .bat-figure{filter:drop-shadow(0 0 1px #ffe2a5) drop-shadow(0 0 7px #d5ad6688) drop-shadow(0 4px 5px #100f27aa)}
.surprise-bat:focus-visible{outline:2px solid #efd59f;outline-offset:3px;border-radius:40%}
.surprise-bat:disabled{opacity:.45;cursor:default;pointer-events:none}
.scene-paused .surprise-bat,.scene-paused .surprise-bat *{animation-play-state:paused!important}
@keyframes bat-drift{0%,100%{transform:translate(-46px,0) rotate(-3deg)}25%{transform:translate(-8px,7px) rotate(0)}50%{transform:translate(46px,0) rotate(3deg)}75%{transform:translate(8px,-7px) rotate(0)}}
@keyframes bat-bob{0%,100%{transform:translateY(-2px)}50%{transform:translateY(3px)}}
@keyframes bat-wing-left{0%,100%{transform:perspective(300px) rotateY(0) rotate(0)}50%{transform:perspective(300px) rotateY(52deg) rotate(-12deg)}}
@keyframes bat-wing-right{0%,100%{transform:perspective(300px) rotateY(0) rotate(0)}50%{transform:perspective(300px) rotateY(-52deg) rotate(12deg)}}
@keyframes bat-blink{0%,87%,91%,100%{opacity:0}88%,90%{opacity:1}}
@media(max-width:700px){.surprise-bat{top:4%;left:calc(50% - 62px);width:124px;min-height:88px;animation-duration:10s}@keyframes bat-drift{0%,100%{transform:translate(-30px,0) rotate(-3deg)}25%{transform:translate(-5px,5px)}50%{transform:translate(30px,0) rotate(3deg)}75%{transform:translate(5px,-5px)}}}
@media(prefers-reduced-motion:reduce){.surprise-bat,.surprise-bat *{animation:none!important;transform:none!important}.bat-eyes{opacity:0}}
