.valve-fx{pointer-events:none;position:absolute;left:50%;transform:translate(-50%)}.valve-air{width:64px;height:100px;top:-18px}.air-streak{opacity:0;background:linear-gradient(#0000,#7dd3fc 70%,#e0f2fe);border-radius:3px;width:3px;height:26px;animation:.85s linear infinite air-flow;position:absolute;top:0;box-shadow:0 0 6px #7dd3fccc}.air-glow{filter:blur(3px);background:radial-gradient(#38bdf880,#0000 70%);border-radius:50%;width:80px;height:56px;animation:.85s ease-in-out infinite air-glow;position:absolute;top:58px;left:50%;transform:translate(-50%)}@keyframes air-flow{0%{opacity:0;transform:translateY(-4px)scaleY(.6)}20%{opacity:1}to{transform:translate(var(--dx,0), 82px) scaleY(1.2);opacity:0}}@keyframes air-glow{0%,to{opacity:.35}50%{opacity:1}}.valve-smoke{width:44px;height:10px;top:18px}.smoke-puff{filter:blur(2.5px);opacity:0;background:radial-gradient(circle,#e2e8f0e6,#94a3b88c 55%,#0000 75%);border-radius:50%;width:22px;height:22px;animation:1.7s ease-out infinite smoke-rise;position:absolute;top:0;left:50%}@keyframes smoke-rise{0%{opacity:0;transform:translate(0)scale(.4)}15%{opacity:.9}to{transform:translate(var(--dx,0), -90px) scale(2.2);opacity:0}}.injector-glow{transition:opacity 80ms ease-out}@media (prefers-reduced-motion:reduce){.air-streak,.air-glow,.smoke-puff{opacity:.6;animation:none}}
