/* Lightweight motion primitives. Root and scene attributes scope every rule. */
[data-lp-motion-group] [data-lp-scene]{--lp-story:1}
[data-lp-motion-group][data-motion-state=running] [data-lp-scene]{--lp-story:0}
[data-lp-motion-group] .lp-vector-line,[data-lp-motion-group] .lp-energy-line{stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--lp-story,1))}
[data-lp-motion-group] .lp-particles{opacity:calc(.25 + var(--lp-story,1)*.75)}
[data-lp-motion-group] .lp-depth-layer{transform:translate3d(calc((1 - var(--lp-story,1))*var(--lp-depth-x,16px)),calc((1 - var(--lp-story,1))*var(--lp-depth-y,20px)),0) rotate(calc((1 - var(--lp-story,1))*var(--lp-depth-angle,3deg)))}
[data-lp-motion-group][data-motion-state=still] [data-lp-scene]{--lp-story:1!important}
@media(prefers-reduced-motion:reduce){[data-lp-motion-group] [data-lp-scene]{--lp-story:1!important}[data-lp-motion-group] .lp-depth-layer{transform:none!important}}
