/* Decorative only: every layer and descendant lets clicks pass through. */
#esdie-halloween-web, #esdie-halloween-bats, #esdie-halloween-ambient, .esdie-halloween-hat,
#esdie-halloween-web *, #esdie-halloween-bats *, #esdie-halloween-ambient *, .esdie-halloween-hat * {
 pointer-events:none !important; user-select:none !important;
}
#esdie-halloween-web {
 position:fixed; top:var(--esdie-halloween-header-bottom,120px); left:0; z-index:99998;
 width:min(19vw,76px); aspect-ratio:1; opacity:.68; --spider-drop:54px;
 color:#eff4ff; filter:drop-shadow(0 1px 1px #071525cc);
}
#esdie-halloween-web svg { display:block; width:100%; height:100%; }
#esdie-halloween-web .esdie-halloween-thread {
 position:absolute; left:32%; top:12%; width:1px; height:20px;
 background:#e8e1f3; transform-origin:top; animation:esdie-halloween-thread 8s ease-in-out infinite;
}
#esdie-halloween-web .esdie-halloween-spider {
 position:absolute; left:32%; top:12%; width:26px; height:26px; margin-left:-13px;
 transform:translateY(20px); animation:esdie-halloween-spider 8s ease-in-out infinite;
}
@media (min-width:768px) {
 #esdie-halloween-web { width:clamp(140px,12vw,190px); --spider-drop:100px; }
 #esdie-halloween-web .esdie-halloween-spider { width:34px; height:34px; margin-left:-17px; }
}
@keyframes esdie-halloween-thread {
 0%,100% { height:20px; }
 50% { height:calc(20px + var(--spider-drop)); }
}
@keyframes esdie-halloween-spider {
 0%,100% { transform:translateY(20px); }
 50% { transform:translateY(calc(20px + var(--spider-drop))); }
}
#esdie-halloween-ambient {
 position:fixed; top:var(--esdie-halloween-header-bottom,120px); left:0; right:0; bottom:0;
 z-index:90000; overflow:hidden; contain:strict;
}
#esdie-halloween-ambient .esdie-halloween-roaming-bat {
 position:absolute; left:0; top:16%; width:44px; height:22px;
 animation:esdie-halloween-roam 22s linear infinite; animation-delay:-5s;
 filter:drop-shadow(0 1px 1px #ede8ff99);
}
#esdie-halloween-ambient .esdie-halloween-roaming-bat:nth-child(2) {
 top:48%; width:36px; height:18px; animation-duration:27s; animation-delay:-18s; animation-direction:reverse;
}
#esdie-halloween-ambient .esdie-halloween-roaming-bat:nth-child(3) {
 top:78%; animation-duration:31s; animation-delay:-24s;
}
#esdie-halloween-ambient svg { display:block; width:100%; height:100%; }
#esdie-halloween-ambient .esdie-halloween-wing { transform-box:fill-box; transform-origin:center; animation:esdie-halloween-flap .28s ease-in-out infinite alternate; }
#esdie-halloween-ambient.is-paused { visibility:hidden; }
#esdie-halloween-ambient.is-paused * { animation-play-state:paused !important; }
@keyframes esdie-halloween-roam {
 0% { opacity:0; transform:translate3d(-12vw,0,0) rotate(-12deg); }
 15% { opacity:.6; }
 50% { opacity:.6; transform:translate3d(45vw,28px,0) rotate(9deg); }
 85% { opacity:.6; }
 100% { opacity:0; transform:translate3d(112vw,-20px,0) rotate(-9deg); }
}
@media (max-width:767px) {
 #esdie-halloween-ambient .esdie-halloween-roaming-bat { width:30px; height:15px; }
 #esdie-halloween-ambient .esdie-halloween-roaming-bat:nth-child(2) { width:26px; height:13px; }
 #esdie-halloween-ambient .esdie-halloween-roaming-bat:nth-child(3) { display:none; }
}
.esdie-halloween-hat {
 position:absolute; width:115%; height:auto; left:-5%; top:-47%;
 display:block; z-index:3; transform:rotate(-13deg);
 filter:drop-shadow(0 2px 2px #08152980);
}
.wa-circle.esdie-halloween-anchor { position:relative !important; overflow:visible !important; }
.wa-circle .esdie-halloween-hat.esdie-halloween-image {
 width:160%; height:160%; left:-30%; top:auto; bottom:-20%;
 transform:none; filter:none;
}
.wa-circle .esdie-halloween-image img {
 display:block !important; width:100% !important; height:100% !important;
 max-width:none !important; max-height:none !important; object-fit:contain !important;
 border:0 !important; background:none !important; box-shadow:none !important;
}
.wa-circle.esdie-halloween-image-ready {
 background:transparent !important; border-color:transparent !important; box-shadow:none !important;
}
.wa-circle.esdie-halloween-image-ready::before,
.wa-circle.esdie-halloween-image-ready::after { visibility:hidden !important; }
.wa-circle.esdie-halloween-image-ready .wa-circle-logo { visibility:hidden !important; }
.wa-circle.esdie-halloween-image-ready .wa-badge { z-index:4; }
#esdie-halloween-bats { position:fixed; inset:0; z-index:2147483000; overflow:hidden; contain:strict; }
#esdie-halloween-bats .esdie-halloween-bat {
 position:absolute; width:min(11vw,54px); height:auto;
 animation:esdie-halloween-flight 1.65s ease-out both;
 filter:drop-shadow(0 1px 1px #e6deff80);
}
#esdie-halloween-bats .esdie-halloween-bat svg { width:100%; height:auto; display:block; }
#esdie-halloween-bats .esdie-halloween-wing { transform-box:fill-box; transform-origin:50% 50%; animation:esdie-halloween-flap .22s ease-in-out infinite alternate; }
@keyframes esdie-halloween-flight {
 0% { opacity:0; transform:translate3d(0,0,0) rotate(-8deg) scale(.6); }
 15% { opacity:1; }
 65% { opacity:.95; }
 100% { opacity:0; transform:translate3d(var(--flight-x),var(--flight-y),0) rotate(var(--flight-tilt)) scale(1); }
}
@keyframes esdie-halloween-flap { to { transform:scaleY(.62); } }
@media (prefers-reduced-motion:reduce) {
 #esdie-halloween-bats, #esdie-halloween-ambient { display:none !important; }
 #esdie-halloween-web .esdie-halloween-thread, #esdie-halloween-web .esdie-halloween-spider { animation:none !important; }
}
