/* All animation rules are scoped so they do not change the theme. */
#hmbats-stop[hidden] {
    display: none !important;
}

#hmbats-layer {
    all: initial !important;
    position: fixed !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    overflow: hidden !important;
    pointer-events: none !important;
    z-index: 2147483000 !important;
    contain: strict !important;
}

#hmbats-layer .hmbats-bat {
    all: initial;
    display: block !important;
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    pointer-events: none !important;
    transform-origin: 50% 50% !important;
    will-change: transform, opacity;
}

#hmbats-layer svg {
    display: block !important;
    position: static !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    overflow: visible !important;
    pointer-events: none !important;
}

#hmbats-layer path {
    fill: #08080a !important;
    stroke: none !important;
}

#hmbats-layer .hmbats-wing {
    transform-box: view-box;
    transform-origin: 48px 27px;
    animation: hmbats-flap 0.17s ease-in-out infinite alternate;
}

#hmbats-layer.hmbats-paused .hmbats-wing {
    animation-play-state: paused;
}

@keyframes hmbats-flap {
    from { transform: scale(1, 1) rotate(-3deg); }
    to { transform: scale(0.46, 0.82) rotate(9deg); }
}

@media (prefers-reduced-motion: reduce) {
    #hmbats-layer { display: none !important; }
    #hmbats-layer .hmbats-wing { animation: none !important; }
}

@media print {
    #hmbats-layer { display: none !important; }
}
