/* ArenaPlus Halloween – decorations only. No theme colors are changed; nothing here blocks clicks. */
.aphw{position:fixed;inset:0;pointer-events:none;z-index:99990;overflow:hidden}
.aphw-web{position:absolute;bottom:0;width:150px;height:150px;opacity:.55;filter:drop-shadow(0 0 1px rgba(0,0,0,.55))}
.aphw-web svg{width:100%;height:100%;display:block}
.aphw-web--bl{left:0;transform:scaleY(-1)}
.aphw-web--br{right:0;transform:scale(-1,-1)}
.aphw-pk{position:absolute;bottom:10px;font-size:44px;line-height:1;filter:drop-shadow(0 4px 6px rgba(0,0,0,.3));animation:aphw-bob 3s ease-in-out infinite}
.aphw-pk--l{left:16px}
.aphw-pk--r{right:16px;animation-delay:-1.4s}
.aphw-gh{position:absolute;width:64px;opacity:.9;filter:drop-shadow(0 8px 10px rgba(0,0,0,.18));animation:aphw-float 6s ease-in-out infinite}
.aphw-gh svg{display:block;width:100%;height:auto}
.aphw-gh--1{left:calc(220px + (100vw - 220px - 940px) / 4 - 32px);top:24%}
.aphw-gh--2{right:calc((100vw - 220px - 940px) / 4 - 32px);top:15%;width:54px;animation-delay:-2s}
.aphw-gh--3{right:calc((100vw - 220px - 940px) / 4 - 24px);top:62%;width:46px;animation-delay:-4s;opacity:.8}
@keyframes aphw-float{0%,100%{transform:translate(0,0) rotate(-4deg)}50%{transform:translate(8px,-16px) rotate(4deg)}}
@media (max-width:1180px){.aphw-gh{display:none}}
.aphw-bat{position:absolute;left:-80px;width:46px;height:23px;opacity:.9;animation:aphw-fly 22s linear infinite}
.aphw-bat--1{top:14%;animation-duration:24s}
.aphw-bat--2{top:30%;width:34px;height:17px;animation-duration:30s;animation-delay:-9s}
.aphw-bat--3{top:52%;animation-duration:27s;animation-delay:-16s}
.aphw-bat--4{top:70%;width:30px;height:15px;animation-duration:34s;animation-delay:-4s}
.aphw-bat--5{top:84%;animation-duration:26s;animation-delay:-20s}
@keyframes aphw-fly{0%{transform:translate(0,0) scaleY(1)}25%{transform:translate(30vw,-26px) scaleY(.6)}50%{transform:translate(60vw,14px) scaleY(1)}75%{transform:translate(90vw,-20px) scaleY(.6)}100%{transform:translate(calc(100vw + 120px),0) scaleY(1)}}
@keyframes aphw-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
.aphw-banner{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);z-index:99991;display:flex;align-items:center;gap:10px;max-width:calc(100vw - 32px);padding:10px 12px 10px 18px;border-radius:999px;background:#17141d;color:#fff;font:600 14px/1.3 system-ui,-apple-system,"Segoe UI",sans-serif;box-shadow:0 10px 30px -10px rgba(0,0,0,.5)}
.aphw-banner[hidden]{display:none}
.aphw-banner .aphw-x{flex:none;display:inline-flex;align-items:center;justify-content:center;border:0;outline:0;background:rgba(255,255,255,.18);color:#fff;width:26px;height:26px;min-width:26px;border-radius:50%;font:400 16px/1 system-ui,sans-serif;cursor:pointer;padding:0;margin:0;box-shadow:none;text-transform:none}
.aphw-banner .aphw-x:hover,.aphw-banner .aphw-x:focus{background:rgba(255,255,255,.32);color:#fff;border:0;box-shadow:none}
@media (max-width:700px){
  .aphw--nomobile{display:none}
  .aphw-web{width:90px;height:90px}
  .aphw-pk{font-size:32px;bottom:60px}
  .aphw-bat{width:34px;height:17px}
}
@media (prefers-reduced-motion:reduce){.aphw-bat,.aphw-pk,.aphw-gh{animation:none}.aphw-bat{display:none}}
/* Flying ghosts (on scroll) and the witch */
.aphw-fly{position:absolute;left:0;top:0;will-change:transform;opacity:0}
.aphw-fly svg{display:block;width:100%;height:auto}
.aphw-fly.is-ghost{filter:drop-shadow(0 8px 10px rgba(0,0,0,.18));animation:aphw-ghost var(--d,6s) ease-in-out forwards}
.aphw-fly.is-witch{width:120px;filter:drop-shadow(0 8px 10px rgba(0,0,0,.2));animation:aphw-witch var(--d,10s) ease-in-out forwards}
@keyframes aphw-ghost{0%{opacity:0;transform:translate(var(--x0),var(--y)) rotate(-6deg)}10%{opacity:.92}30%{transform:translate(calc(var(--x0) + (var(--x1) - var(--x0)) * .3),calc(var(--y) - 40px)) rotate(6deg)}60%{transform:translate(calc(var(--x0) + (var(--x1) - var(--x0)) * .6),calc(var(--y) + 30px)) rotate(-6deg)}90%{opacity:.92}100%{opacity:0;transform:translate(var(--x1),calc(var(--y) - 20px)) rotate(6deg)}}
@keyframes aphw-witch{0%{opacity:0;transform:translate(var(--x0),var(--y)) rotate(-8deg)}6%{opacity:1}30%{transform:translate(calc(var(--x0) + (var(--x1) - var(--x0)) * .3),calc(var(--y) - 50px)) rotate(-14deg)}65%{transform:translate(calc(var(--x0) + (var(--x1) - var(--x0)) * .65),calc(var(--y) + 30px)) rotate(-3deg)}94%{opacity:1}100%{opacity:0;transform:translate(var(--x1),calc(var(--y) - 30px)) rotate(-10deg)}}
@media (max-width:700px){.aphw-fly.is-witch{width:84px}}
@media (prefers-reduced-motion:reduce){.aphw-fly{display:none}}

/* Creepy extras */
.aphw-spider{position:absolute;top:0;width:34px;transform-origin:50% 0;animation:aphw-drop 7s ease-in-out infinite}
.aphw-spider i{position:absolute;left:50%;bottom:100%;width:1px;height:100vh;background:rgba(40,36,48,.55)}
.aphw-spider svg{display:block;width:100%;height:auto;position:relative}
.aphw-spider--1{left:calc(220px + (100vw - 220px - 940px) / 4 + 40px)}
.aphw-spider--2{right:calc((100vw - 220px - 940px) / 4 + 30px);width:26px;animation-duration:9s;animation-delay:-3s}
@keyframes aphw-drop{0%,100%{transform:translateY(60px)}45%{transform:translateY(190px)}55%{transform:translateY(190px) rotate(4deg)}}
.aphw-eyes{position:absolute;display:flex;gap:9px;animation:aphw-blink 7s infinite}
.aphw-eyes b{display:block;width:11px;height:6px;border-radius:50%;background:#ff2a2a;box-shadow:0 0 8px 3px rgba(255,42,42,.65)}
.aphw-eyes--1{left:120px;bottom:130px}
.aphw-eyes--2{right:150px;bottom:210px;animation-delay:-3.5s;transform:scale(.8)}
@keyframes aphw-blink{0%,40%,100%{opacity:0}46%,70%{opacity:.95}74%,78%{opacity:0}82%,92%{opacity:.9}}
@media (max-width:1180px){.aphw-spider{display:none}}
@media (max-width:700px){.aphw-eyes--2{display:none}.aphw-eyes--1{left:70px;bottom:120px}}
@media (prefers-reduced-motion:reduce){.aphw-spider,.aphw-eyes{animation:none}}

/* Messages, candy and the jump scare */
.aphw-banner span{transition:opacity .3s}
.aphw-fly em{position:absolute;left:55%;bottom:92%;white-space:nowrap;padding:4px 10px;border-radius:12px;background:#17141d;color:#fff;font:700 12px/1.2 system-ui,sans-serif;font-style:normal}
.aphw-candy{position:absolute;top:-40px;opacity:.9;animation:aphw-fall var(--d,14s) linear forwards}
@keyframes aphw-fall{0%{transform:translate(0,0) rotate(0)}50%{transform:translate(24px,55vh) rotate(180deg)}100%{transform:translate(-10px,110vh) rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.aphw-candy{display:none}.aphw-jump{display:none}}

.aphw-snd,.aphw-snd:hover,.aphw-snd:focus{position:fixed;right:76px;bottom:16px;z-index:99991;width:36px;height:36px;min-width:36px;padding:0;margin:0;border:0;border-radius:50%;background:#17141d;color:#fff;font:400 16px/1 system-ui,sans-serif;cursor:pointer;box-shadow:0 8px 20px -8px rgba(0,0,0,.5);text-transform:none}
@media (max-width:700px){.aphw-snd{right:64px;bottom:14px}.aphw-banner{max-width:calc(100vw - 150px);font-size:13px}}
@media (max-width:700px){.aphw-banner{left:16px;transform:none}}

/* Jump scare */
.aphw-jump{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at center,rgba(40,0,0,.94) 0,rgba(0,0,0,.97) 70%);animation:aphw-jbg 3s ease forwards;cursor:pointer;overflow:hidden}
.aphw-jeyes{position:absolute;left:50%;top:44%;display:flex;gap:38px;transform:translate(-50%,-50%);animation:aphw-jeyes .6s ease-in forwards}
.aphw-jeyes b{display:block;width:16px;height:9px;border-radius:50%;background:#ff1a1a;box-shadow:0 0 18px 8px rgba(255,26,26,.7)}
.aphw-splat{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:0;animation:aphw-splat .15s ease-out .6s forwards}
.aphw-jump-in{position:relative;width:min(86vw,520px,calc((100vh - 120px) / 1.55));text-align:center;opacity:0;animation:aphw-jz .2s cubic-bezier(.1,1.6,.3,1) .6s forwards,aphw-shake .09s linear .8s 12}
.aphw-jump-in svg{display:block;width:100%;height:auto;filter:drop-shadow(0 0 40px rgba(255,26,26,.65))}
.aphw-jump-in strong{display:block;margin-top:6px;color:#e11;font-family:Impact,system-ui,sans-serif;font-weight:900;line-height:1;letter-spacing:.08em;text-shadow:0 0 22px rgba(255,26,26,.9),0 4px 0 #300}
@keyframes aphw-jeyes{0%{opacity:0;transform:translate(-50%,-50%) scale(.3)}30%{opacity:1}100%{opacity:1;transform:translate(-50%,-50%) scale(1.5)}}
@keyframes aphw-jz{0%{opacity:1;transform:scale(.08)}100%{opacity:1;transform:scale(1.12)}}
@keyframes aphw-splat{from{opacity:0;transform:scale(1.15)}to{opacity:1;transform:scale(1)}}
@keyframes aphw-shake{0%{transform:scale(1.12) translate(0,0)}25%{transform:scale(1.14) translate(-7px,4px)}50%{transform:scale(1.12) translate(6px,-5px)}75%{transform:scale(1.15) translate(-4px,-3px)}100%{transform:scale(1.12) translate(0,0)}}
@keyframes aphw-jbg{0%{opacity:0}10%{opacity:1}86%{opacity:1}100%{opacity:0}}
/* Blood drips, peeking creatures */
.aphw-blood{position:absolute;left:0;right:0;top:0;height:120px;pointer-events:none}
.aphw-blood i{position:absolute;top:0;width:7px;height:var(--h,60px);border-radius:0 0 7px 7px;background:linear-gradient(#6b0008,#b3121a);transform-origin:top;transform:scaleY(0);animation:aphw-dripy var(--d,9s) ease-in infinite var(--dl,0s);opacity:.9}
.aphw-blood i:after{content:"";position:absolute;left:-1px;bottom:-5px;width:9px;height:9px;border-radius:50%;background:#b3121a}
@keyframes aphw-dripy{0%{transform:scaleY(0);opacity:.9}55%{transform:scaleY(1);opacity:.9}85%{transform:scaleY(1);opacity:.9}100%{transform:scaleY(1);opacity:0}}
.aphw-peek{position:absolute;bottom:0;transform:translateY(105%);animation:aphw-peek 4.2s ease-in-out forwards;filter:drop-shadow(0 0 14px rgba(255,26,26,.35))}
.aphw-peek svg{display:block;width:100%;height:auto}
@keyframes aphw-peek{0%{transform:translateY(105%)}22%{transform:translateY(8%)}70%{transform:translateY(8%)}100%{transform:translateY(105%)}}
.aphw-fly.is-manan{filter:drop-shadow(0 8px 12px rgba(0,0,0,.35));animation:aphw-witch var(--d,12s) ease-in-out forwards}
@media (max-width:700px){.aphw-blood i:nth-child(n+5){display:none}}
@media (prefers-reduced-motion:reduce){.aphw-blood,.aphw-peek{display:none}}
.aphw-jump-in.is-wide{width:min(94vw,680px,calc((100vh - 120px) / 1.2))}
