/* Everything is scoped: removing zero-halloween restores the official design. */
.zero-halloween .particles{visibility:hidden}.zero-halloween .particles span{animation-play-state:paused!important}
#zero-ghost-layer{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;contain:layout paint;background:radial-gradient(ellipse at 0 90%,#d8791809,transparent 45%),radial-gradient(ellipse at 100% 10%,#fd942006,transparent 40%)}
.season-ghost{position:absolute;left:var(--x);top:var(--y);width:var(--size);height:calc(var(--size)*1.125);opacity:var(--alpha);filter:drop-shadow(0 0 7px #b5f0db19);animation:season-ghost-drift var(--duration) ease-in-out var(--delay) infinite alternate;will-change:transform}.season-ghost svg{display:block;width:100%;height:100%;overflow:visible;animation:season-ghost-bob 4.8s ease-in-out var(--delay) infinite}.ghost-face{transform-origin:32px 33px;animation:season-ghost-blink 8s var(--delay) infinite}
@keyframes season-ghost-drift{from{transform:translate3d(0,30px,0) rotate(var(--tilt))}to{transform:translate3d(var(--drift),-55px,0) rotate(calc(var(--tilt)*-1))}}
@keyframes season-ghost-bob{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-7px) scale(1.02,.98)}}
@keyframes season-ghost-blink{0%,43%,47%,100%{transform:scaleY(1)}45%{transform:scaleY(.15)}}
.zero-season-paused .season-ghost,.zero-season-paused .season-ghost svg,.zero-season-paused .ghost-face{animation-play-state:paused!important}
.zero-halloween .offer-ribbon span{display:flex;align-items:center;justify-content:center;gap:6px;background:linear-gradient(100deg,#c65b14,#ffae46 48%,#ec7b22);color:#251708;border-color:#ffd392aa;text-shadow:0 1px #ffdf9c66;box-shadow:0 5px 20px #e879242d}
.zero-halloween .offer-ribbon span::before,.zero-halloween .offer-ribbon span::after{content:'';display:block;flex:none;width:17px;height:17px;background:url('/assets/halloween/pumpkin.svg?v=night-20261031') center/contain no-repeat}
.zero-halloween .hero{position:relative;border-color:#745132}.season-halloween-badge{position:absolute;right:22px;top:22px;display:flex;align-items:center;gap:7px;padding:8px 11px;border:1px solid #c1834566;border-radius:30px;background:#17130de6;color:#ffca87;font:800 9px/1.4 Manrope,Arial,sans-serif;letter-spacing:.12em;pointer-events:none}.season-halloween-badge::before{content:'';width:19px;height:19px;background:url('/assets/halloween/pumpkin.svg?v=night-20261031') center/contain no-repeat}
.zero-halloween .collections .collection{border-color:#594431}.zero-halloween .collections .collection:hover{border-color:#e99850}.zero-halloween .collection .outline{border-color:#8b623e}.zero-halloween .collection .outline:hover{background:#261b11}.zero-halloween .footer{border-color:#604832}
@media(max-width:650px){.season-ghost{--alpha:.3!important}.season-halloween-badge{right:14px;top:14px;font-size:8px;padding:6px 9px}.zero-halloween .offer-ribbon span::before,.zero-halloween .offer-ribbon span::after{width:14px;height:14px}.zero-halloween .offer-ribbon span{gap:4px}}
@media(prefers-reduced-motion:reduce){.season-ghost,.season-ghost svg,.ghost-face{animation:none!important;will-change:auto}.season-ghost{opacity:.2}}
/* The scarier edition remains entirely seasonal and decorative. */
.zero-halloween .season-ghost{filter:drop-shadow(0 0 5px #afc9b929)}
.season-skeleton{position:absolute;left:var(--x);top:var(--y);width:var(--bone-size);height:calc(var(--bone-size)*2.07);opacity:.34;animation:season-bones 11s ease-in-out var(--delay) infinite alternate;filter:drop-shadow(0 0 4px #a5815922)}.season-skeleton svg{width:100%;height:100%;display:block}
@keyframes season-bones{from{transform:translateY(8px) rotate(-5deg)}to{transform:translateY(-16px) rotate(6deg)}}
.season-witch{position:absolute;top:19%;left:0;width:132px;height:76px;opacity:0;animation:season-witch-flight 76s linear -4s infinite;will-change:transform;filter:drop-shadow(0 0 4px #ff912922)}.season-witch svg{width:100%;height:100%}.season-witch.reverse{top:68%;animation-name:season-witch-return;animation-duration:93s;animation-delay:-51s}.season-witch.reverse svg{transform:scaleX(-1)}
@keyframes season-witch-flight{0%{transform:translate3d(-180px,10px,0) rotate(-4deg);opacity:0}3%{opacity:.65}20%{transform:translate3d(calc(100vw + 180px),-40px,0) rotate(4deg);opacity:.65}22%,100%{transform:translate3d(calc(100vw + 180px),-40px,0);opacity:0}}
@keyframes season-witch-return{0%{transform:translate3d(calc(100vw + 180px),0,0) rotate(3deg);opacity:0}3%{opacity:.6}23%{transform:translate3d(-180px,-55px,0) rotate(-3deg);opacity:.6}25%,100%{transform:translate3d(-180px,-55px,0);opacity:0}}
.zero-season-paused .season-skeleton,.zero-season-paused .season-witch{animation-play-state:paused!important}
.zero-halloween :is(.button,.nav-button,.top-discord,.footer-discord,.site-account.discord,.category-navigation nav a[aria-current=page],.primary){background:#ffa24a!important;color:#241508!important;border-color:#d57c31!important;box-shadow:0 2px 12px #e47f1712}
.zero-halloween :is(.button,.nav-button,.top-discord,.footer-discord,.site-account.discord,.category-navigation nav a[aria-current=page],.primary):hover{background:#ffba70!important;color:#241508!important}
.zero-halloween :is(.site-account:not(.discord),.site-signout,.site-admin-link,.category-navigation nav a:not([aria-current]),.coupon-entry,.discord-connect){background:#241b12!important;border-color:#815631!important;color:#ffd0a0!important}
@media(max-width:650px){.season-witch{width:95px;height:56px}.season-skeleton{opacity:.26}}
@media(prefers-reduced-motion:reduce){.season-skeleton{animation:none!important}.season-witch{display:none!important;animation:none!important;will-change:auto}}


/* Refined curved illustration; existing flight schedule is retained. */
.season-witch{width:148px;height:93px}@media(max-width:650px){.season-witch{width:106px;height:67px}}

/* Original illustrated sprite with independently animated wind and riding motion. */
.season-witch{width:210px;height:140px;filter:drop-shadow(0 4px 8px #0005)}.witch-illustration{overflow:visible}.witch-rider{transform-origin:65% 58%;animation:witch-riding-motion 3.4s ease-in-out infinite}.zero-season-paused .witch-rider{animation-play-state:paused!important}
@keyframes witch-riding-motion{0%,100%{transform:translateY(0) rotate(-1.5deg)}50%{transform:translateY(-14px) rotate(1.5deg)}}
@keyframes season-witch-flight{0%{transform:translate3d(-230px,10px,0) rotate(-4deg);opacity:0}3%{opacity:.9}20%{transform:translate3d(calc(100vw + 230px),-40px,0) rotate(4deg);opacity:.9}22%,100%{transform:translate3d(calc(100vw + 230px),-40px,0);opacity:0}}
@keyframes season-witch-return{0%{transform:translate3d(calc(100vw + 230px),0,0) rotate(3deg);opacity:0}3%{opacity:.85}23%{transform:translate3d(-230px,-55px,0) rotate(-3deg);opacity:.85}25%,100%{transform:translate3d(-230px,-55px,0);opacity:0}}
@media(max-width:650px){.season-witch{width:155px;height:104px}}@media(prefers-reduced-motion:reduce){.witch-rider{animation:none!important}}

.witch-wind-cloak{transform-box:view-box;transform-origin:65% 45%;animation:witch-cloak-wind 2.3s ease-in-out infinite;will-change:transform}@keyframes witch-cloak-wind{0%,100%{transform:rotate(-1.2deg) skewY(-.4deg) translateY(-3px)}50%{transform:rotate(1.2deg) skewY(.4deg) translateY(6px)}}.zero-season-paused .witch-wind-cloak{animation-play-state:paused!important}.season-witch{animation-duration:58s;animation-delay:0s}.season-witch.reverse{animation-duration:79s;animation-delay:-36s}@media(prefers-reduced-motion:reduce){.witch-wind-cloak{animation:none!important;will-change:auto}}
