body::after{content:"";position:fixed;inset:0;background:repeating-linear-gradient( to bottom,transparent 0,transparent 2px,rgba(0,0,0,8%) 2px,rgba(0,0,0,8%) 4px );pointer-events:none;z-index:var(--z-crt)}body::before{content:"";position:fixed;inset:0;background:radial-gradient( ellipse at center,transparent 60%,rgba(0,0,0,.35) 100% );pointer-events:none;z-index:calc(var(--z-crt) - 1)}#bat-layer{position:fixed;inset:0;pointer-events:none;z-index:calc(var(--z-crt) - 2);overflow:hidden}.bat{position:absolute;opacity:.6;animation:bat-fly linear infinite;transform-origin:center}.bat svg{animation:bat-flap ease-in-out infinite alternate}@keyframes bat-fly{0%{transform:translateX(-120px)}100%{transform:translateX(calc(100vw + 120px))}}@keyframes bat-flap{0%{transform:scaleY(1)}50%{transform:scaleY(.4)}100%{transform:scaleY(1)}}.drip-bar{display:flex;justify-content:center;gap:0;overflow:hidden;height:40px;pointer-events:none}.drip{width:3px;background:var(--accent-red);border-radius:0 0 3px 3px;animation:drip-fall ease-in infinite;transform-origin:top}@keyframes drip-fall{0%{transform:scaleY(0);opacity:0}20%{opacity:1}80%{opacity:.8}100%{transform:scaleY(1);opacity:0}}.particle{position:fixed;border-radius:50%;pointer-events:none;background:var(--accent-purple);animation:particle-drift linear infinite;z-index:calc(var(--z-crt) - 3)}@keyframes particle-drift{0%{transform:translateY(100vh)rotate(0);opacity:0}10%{opacity:.5}90%{opacity:.3}100%{transform:translateY(-10vh)rotate(720deg);opacity:0}}@keyframes flicker{0%,19%,21%,23%,25%,54%,56%,100%{opacity:1}20%,24%,55%{opacity:.4}}.flicker{animation:flicker 4s infinite}@keyframes glow-pulse{0%,100%{text-shadow:0 0 10px rgba(198,120,221,.3)}50%{text-shadow:0 0 25px rgba(198,120,221,.7),0 0 50px rgba(198,120,221,.3)}}.glow-purple{animation:glow-pulse 3s ease-in-out infinite}@keyframes fade-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fade-in .4s ease forwards}