/* ==========================================================================
   FX CATALOG — generated by tools/fx-catalog/gen.py. DO NOT EDIT BY HAND.
   Edit the spec in that script and re-run it.

   325 effects from 144 motion primitives.

   GATING: the catalog is OFF at the default level. Only the fxl-ge*
   classes (set on <html> by fx-level.js) switch effects on, so a visitor
   who never opens settings.html sees exactly the effects the site had
   before this file existed.

   WEIGHT: this file is not linked from the site head. fx-level.js injects
   it only once someone actually opts into a catalog level, and
   settings.html links it directly because the gallery needs it.

   Every keyframe below animates transform and opacity ONLY. That is what
   makes this many effects affordable: the compositor does the work and
   the page never reflows or repaints. tools/fx-selftest/catalog.test.js
   enforces it.
   ========================================================================== */
html:not(.fxl-ge1):not(.fxl-ge2):not(.fxl-ge3) [data-fx]{animation:none!important}
html.fx-off [data-fx]{animation:none!important}

/* ---- sample shapes. Each effect rule below just sets --fxc-h and
   friends, so 325 effects cost 325 short rules instead of 650 long ones. */
[data-fx]::before{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:var(--fxc-w,38%);height:var(--fxc-hh,38%);border-radius:var(--fxc-r,50%);background:var(--fxc-bg,hsl(var(--fxc-h,200) 92% 64%/.9));border:var(--fxc-bd,0)}
.fxcs-blob::before{--fxc-w:100%;--fxc-hh:100%;--fxc-r:22%;--fxc-bd:0;--fxc-bg:radial-gradient(circle at 30% 30%,hsl(var(--fxc-h) 92% 66%/.95),hsl(var(--fxc-h2) 88% 46%/.55) 60%,transparent 72%)}
.fxcs-bar::before{--fxc-w:78%;--fxc-hh:34%;--fxc-r:6px;--fxc-bd:0;--fxc-bg:linear-gradient(100deg,hsl(var(--fxc-h) 90% 60%/.15),hsl(var(--fxc-h) 92% 68%/.95),hsl(var(--fxc-h2) 90% 52%/.2))}
.fxcs-dot::before{--fxc-w:38%;--fxc-hh:38%;--fxc-r:50%;--fxc-bd:0;--fxc-bg:hsl(var(--fxc-h) 92% 64%/.9)}
.fxcs-ring::before{--fxc-w:56%;--fxc-hh:56%;--fxc-r:50%;--fxc-bd:3px solid hsl(var(--fxc-h) 92% 66%/.9);--fxc-bg:transparent}
.fxcs-card::before{--fxc-w:76%;--fxc-hh:56%;--fxc-r:12px;--fxc-bd:1px solid hsl(var(--fxc-h) 90% 70%/.5);--fxc-bg:linear-gradient(140deg,hsl(var(--fxc-h) 80% 60%/.28),hsl(var(--fxc-h2) 80% 50%/.14))}
.fxcs-line::before{--fxc-w:70%;--fxc-hh:4px;--fxc-r:2px;--fxc-bd:0;--fxc-bg:hsl(var(--fxc-h) 92% 64%/.9)}
.fxcs-grid::before{--fxc-w:88%;--fxc-hh:70%;--fxc-r:8px;--fxc-bd:0;--fxc-bg:repeating-linear-gradient(0deg,hsl(var(--fxc-h) 90% 60%/.28) 0 2px,transparent 2px 12px),repeating-linear-gradient(90deg,hsl(var(--fxc-h) 90% 60%/.28) 0 2px,transparent 2px 12px)}

/* ---- motion primitives ---------------------------------------------- */
@keyframes fxc-float-y{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,-14px,0)}}
@keyframes fxc-float-x{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(18px,0,0)}}
@keyframes fxc-bob{0%,100%{transform:translate3d(0,0,0)}33%{transform:translate3d(0,7px,0)}66%{transform:translate3d(0,-5px,0)}}
@keyframes fxc-sway{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}
@keyframes fxc-drift{0%{transform:translate3d(-6%,0,0)}100%{transform:translate3d(6%,0,0)}}
@keyframes fxc-orbit{0%{transform:rotate(0) translateX(16px) rotate(0)}100%{transform:rotate(360deg) translateX(16px) rotate(-360deg)}}
@keyframes fxc-spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}
@keyframes fxc-counter-spin{0%{transform:rotate(360deg)}100%{transform:rotate(0)}}
@keyframes fxc-swing{0%,100%{transform:rotate(-9deg)}50%{transform:rotate(9deg)}}
@keyframes fxc-pendulum{0%,100%{transform:rotate(-14deg)}50%{transform:rotate(14deg)}}
@keyframes fxc-seesaw{0%,100%{transform:rotate(-6deg) translateY(0)}50%{transform:rotate(6deg) translateY(-4px)}}
@keyframes fxc-cloud-drift{0%{transform:translate3d(-12%,0,0) scale(1)}100%{transform:translate3d(12%,0,0) scale(1.06)}}
@keyframes fxc-smoke-rise{0%{transform:translate3d(0,12px,0) scale(.8);opacity:.2}100%{transform:translate3d(6px,-40px,0) scale(1.5);opacity:0}}
@keyframes fxc-mist-drift{0%{transform:translate3d(0,0,0) scale(1);opacity:.15}50%{transform:translate3d(10px,-6px,0) scale(1.2);opacity:.3}100%{transform:translate3d(0,0,0) scale(1);opacity:.15}}
@keyframes fxc-dust-float{0%{transform:translate3d(0,0,0);opacity:0}20%{opacity:.8}100%{transform:translate3d(-22px,-30px,0);opacity:0}}
@keyframes fxc-pulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.07);opacity:.82}}
@keyframes fxc-throb{0%,100%{transform:scale(1)}40%{transform:scale(1.12)}}
@keyframes fxc-beat{0%,100%{transform:scale(1)}14%{transform:scale(1.14)}28%{transform:scale(1)}42%{transform:scale(1.1)}56%{transform:scale(1)}}
@keyframes fxc-breathe{0%,100%{transform:scale(1);opacity:.65}50%{transform:scale(1.09);opacity:1}}
@keyframes fxc-breathe-fast{0%,100%{transform:scale(1);opacity:.7}50%{transform:scale(1.06);opacity:1}}
@keyframes fxc-throb-slow{0%,100%{transform:scale(1)}50%{transform:scale(1.045)}}
@keyframes fxc-expand{0%{transform:scale(.86);opacity:0}100%{transform:scale(1);opacity:1}}
@keyframes fxc-contract{0%{transform:scale(1.14);opacity:0}100%{transform:scale(1);opacity:1}}
@keyframes fxc-pop{0%{transform:scale(.4);opacity:0}60%{transform:scale(1.12);opacity:1}100%{transform:scale(1)}}
@keyframes fxc-squash{0%,100%{transform:scale(1,1)}30%{transform:scale(1.16,.86)}60%{transform:scale(.9,1.14)}}
@keyframes fxc-stretch{0%,100%{transform:scale(1,1)}50%{transform:scale(.88,1.18)}}
@keyframes fxc-heartbeat{0%,100%{transform:scale(1)}10%{transform:scale(1.18)}20%{transform:scale(1)}30%{transform:scale(1.12)}45%{transform:scale(1)}}
@keyframes fxc-aura{0%,100%{transform:scale(1);opacity:.35}50%{transform:scale(1.3);opacity:.08}}
@keyframes fxc-halo{0%,100%{transform:scale(.9);opacity:.5}50%{transform:scale(1.18);opacity:.15}}
@keyframes fxc-halo-slow{0%,100%{transform:scale(.94);opacity:.42}50%{transform:scale(1.14);opacity:.12}}
@keyframes fxc-roll{0%{transform:rotate(0) translateX(-30px)}100%{transform:rotate(720deg) translateX(30px)}}
@keyframes fxc-tumble{0%{transform:rotate(0) scale(1)}50%{transform:rotate(180deg) scale(.9)}100%{transform:rotate(360deg) scale(1)}}
@keyframes fxc-cartwheel{0%{transform:rotate(0) translateY(0)}50%{transform:rotate(180deg) translateY(-16px)}100%{transform:rotate(360deg) translateY(0)}}
@keyframes fxc-flip-x{0%{transform:perspective(600px) rotateX(0)}100%{transform:perspective(600px) rotateX(360deg)}}
@keyframes fxc-flip-y{0%{transform:perspective(600px) rotateY(0)}100%{transform:perspective(600px) rotateY(360deg)}}
@keyframes fxc-flip-in-x{0%{transform:perspective(700px) rotateX(-92deg);opacity:0}100%{transform:perspective(700px) rotateX(0);opacity:1}}
@keyframes fxc-flip-in-y{0%{transform:perspective(700px) rotateY(92deg);opacity:0}100%{transform:perspective(700px) rotateY(0);opacity:1}}
@keyframes fxc-tilt-l{0%,100%{transform:rotate(0)}50%{transform:rotate(-7deg)}}
@keyframes fxc-tilt-r{0%,100%{transform:rotate(0)}50%{transform:rotate(7deg)}}
@keyframes fxc-rock{0%,100%{transform:rotate(-2deg)}25%{transform:rotate(2deg)}75%{transform:rotate(-1deg)}}
@keyframes fxc-wobble{0%,100%{transform:translateX(0) rotate(0)}25%{transform:translateX(-6px) rotate(-3deg)}75%{transform:translateX(6px) rotate(3deg)}}
@keyframes fxc-spin-pulse{0%{transform:rotate(0) scale(1)}50%{transform:rotate(180deg) scale(1.14)}100%{transform:rotate(360deg) scale(1)}}
@keyframes fxc-rotate-scale{0%{transform:rotate(0) scale(.7);opacity:0}100%{transform:rotate(360deg) scale(1);opacity:1}}
@keyframes fxc-dual-spin{0%{transform:rotate(0) scale(1)}50%{transform:rotate(180deg) scale(1.1)}100%{transform:rotate(0) scale(1)}}
@keyframes fxc-shake{0%,100%{transform:translate3d(0,0,0)}10%{transform:translate3d(-3px,1px,0)}30%{transform:translate3d(3px,-1px,0)}50%{transform:translate3d(-2px,-2px,0)}70%{transform:translate3d(2px,2px,0)}90%{transform:translate3d(-1px,1px,0)}}
@keyframes fxc-jitter{0%,100%{transform:translate3d(0,0,0)}20%{transform:translate3d(1px,-1px,0)}40%{transform:translate3d(-1px,1px,0)}60%{transform:translate3d(1px,1px,0)}80%{transform:translate3d(-1px,-1px,0)}}
@keyframes fxc-quiver{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,-1.5px,0)}}
@keyframes fxc-tremble{0%,100%{transform:translate3d(0,0,0) rotate(0)}33%{transform:translate3d(2px,0,0) rotate(.6deg)}66%{transform:translate3d(-2px,0,0) rotate(-.6deg)}}
@keyframes fxc-vibrate{0%,100%{transform:translate3d(0,0,0)}25%{transform:translate3d(0,2px,0)}75%{transform:translate3d(0,-2px,0)}}
@keyframes fxc-quake-soft{0%,100%{transform:translate3d(0,0,0)}20%{transform:translate3d(-4px,2px,0)}60%{transform:translate3d(4px,-2px,0)}}
@keyframes fxc-sweep-right{0%{transform:translate3d(-120%,0,0) skewX(-18deg)}100%{transform:translate3d(260%,0,0) skewX(-18deg)}}
@keyframes fxc-sweep-left{0%{transform:translate3d(260%,0,0) skewX(18deg)}100%{transform:translate3d(-120%,0,0) skewX(18deg)}}
@keyframes fxc-sweep-diag{0%{transform:translate3d(-120%,-120%,0) rotate(35deg)}100%{transform:translate3d(260%,260%,0) rotate(35deg)}}
@keyframes fxc-beam{0%{transform:translate3d(-100%,0,0) scaleX(.4);opacity:0}30%{opacity:1}100%{transform:translate3d(100%,0,0) scaleX(1.6);opacity:0}}
@keyframes fxc-sheen{0%{transform:translate3d(-140%,0,0) rotate(20deg);opacity:0}25%{opacity:.9}100%{transform:translate3d(140%,0,0) rotate(20deg);opacity:0}}
@keyframes fxc-gleam{0%,100%{transform:translate3d(0,0,0) scale(.9);opacity:.2}50%{transform:translate3d(0,0,0) scale(1.24);opacity:.85}}
@keyframes fxc-shimmer{0%{transform:translate3d(-30%,0,0)}100%{transform:translate3d(30%,0,0)}}
@keyframes fxc-streak{0%{transform:translate3d(-40px,0,0) scaleX(.2);opacity:0}40%{opacity:1}100%{transform:translate3d(40px,0,0) scaleX(1.4);opacity:0}}
@keyframes fxc-streak-fast{0%{transform:translate3d(-70px,0,0) scaleX(.1);opacity:0}30%{opacity:1}100%{transform:translate3d(70px,0,0) scaleX(1.8);opacity:0}}
@keyframes fxc-comet{0%{transform:translate3d(-60%,-20%,0) scale(.4);opacity:0}20%{opacity:1}100%{transform:translate3d(60%,20%,0) scale(1);opacity:0}}
@keyframes fxc-trail-right{0%{transform:translate3d(0,0,0) scaleX(1);opacity:.9}100%{transform:translate3d(160%,0,0) scaleX(2.4);opacity:0}}
@keyframes fxc-beacon{0%,100%{transform:scale(.6);opacity:.15}50%{transform:scale(1.6);opacity:.6}}
@keyframes fxc-radar{0%{transform:rotate(0) scale(.7);opacity:.8}100%{transform:rotate(360deg) scale(1.2);opacity:0}}
@keyframes fxc-sonar{0%{transform:scale(.5);opacity:.75}100%{transform:scale(2.6);opacity:0}}
@keyframes fxc-ping{0%{transform:scale(.7);opacity:.8}70%{transform:scale(1.7);opacity:0}100%{transform:scale(1.7);opacity:0}}
@keyframes fxc-fade-in{0%{opacity:0}100%{opacity:1}}
@keyframes fxc-fade-out{0%{opacity:1}100%{opacity:0}}
@keyframes fxc-fade-in-up{0%{transform:translate3d(0,18px,0);opacity:0}100%{transform:translate3d(0,0,0);opacity:1}}
@keyframes fxc-fade-in-down{0%{transform:translate3d(0,-18px,0);opacity:0}100%{transform:translate3d(0,0,0);opacity:1}}
@keyframes fxc-fade-in-left{0%{transform:translate3d(-22px,0,0);opacity:0}100%{transform:translate3d(0,0,0);opacity:1}}
@keyframes fxc-fade-in-right{0%{transform:translate3d(22px,0,0);opacity:0}100%{transform:translate3d(0,0,0);opacity:1}}
@keyframes fxc-cascade{0%{transform:translate3d(0,-26px,0) rotate(-6deg);opacity:0}60%{transform:translate3d(0,4px,0) rotate(2deg);opacity:1}100%{transform:translate3d(0,0,0) rotate(0);opacity:1}}
@keyframes fxc-fade-in-scale{0%{transform:scale(.86);opacity:0}100%{transform:scale(1);opacity:1}}
@keyframes fxc-fade-out-scale{0%{transform:scale(1);opacity:1}100%{transform:scale(.86);opacity:0}}
@keyframes fxc-slide-fade{0%{transform:translate3d(0,26px,0);opacity:0}60%{opacity:1}100%{transform:translate3d(0,0,0);opacity:1}}
@keyframes fxc-push-up{0%{transform:translate3d(0,46px,0)}100%{transform:translate3d(0,0,0)}}
@keyframes fxc-pull-down{0%{transform:translate3d(0,-46px,0)}100%{transform:translate3d(0,0,0)}}
@keyframes fxc-drop-in{0%{transform:translate3d(0,-70px,0);opacity:0}70%{transform:translate3d(0,6px,0);opacity:1}100%{transform:translate3d(0,0,0)}}
@keyframes fxc-rise-in{0%{transform:translate3d(0,60px,0) scale(.94);opacity:0}100%{transform:translate3d(0,0,0) scale(1);opacity:1}}
@keyframes fxc-sink-out{0%{transform:translate3d(0,0,0);opacity:1}100%{transform:translate3d(0,40px,0);opacity:0}}
@keyframes fxc-hop{0%,100%{transform:translate3d(0,0,0)}30%{transform:translate3d(0,-12px,0)}60%{transform:translate3d(0,0,0)}}
@keyframes fxc-skip{0%,100%{transform:translate3d(0,0,0) rotate(0)}25%{transform:translate3d(4px,-9px,0) rotate(4deg)}50%{transform:translate3d(0,0,0)}75%{transform:translate3d(4px,-9px,0) rotate(4deg)}}
@keyframes fxc-leap{0%{transform:translate3d(0,20px,0) scale(.94);opacity:.2}45%{transform:translate3d(0,-14px,0) scale(1.03);opacity:1}100%{transform:translate3d(0,0,0) scale(1);opacity:1}}
@keyframes fxc-dive{0%{transform:translate3d(0,-16px,0) rotate(-8deg);opacity:.25}100%{transform:translate3d(0,14px,0) rotate(8deg);opacity:1}}
@keyframes fxc-soar{0%{transform:translate3d(0,10px,0) rotate(6deg);opacity:.3}100%{transform:translate3d(0,-18px,0) rotate(-6deg);opacity:1}}
@keyframes fxc-arc-left{0%{transform:translate3d(28px,10px,0) rotate(-16deg);opacity:0}100%{transform:translate3d(0,0,0) rotate(0);opacity:1}}
@keyframes fxc-arc-right{0%{transform:translate3d(-28px,10px,0) rotate(16deg);opacity:0}100%{transform:translate3d(0,0,0) rotate(0);opacity:1}}
@keyframes fxc-arc-up{0%{transform:translate3d(0,24px,0) scale(.9);opacity:0}100%{transform:translate3d(0,0,0) scale(1);opacity:1}}
@keyframes fxc-arc-down{0%{transform:translate3d(0,-24px,0) scale(.9);opacity:0}100%{transform:translate3d(0,0,0) scale(1);opacity:1}}
@keyframes fxc-zigzag{0%{transform:translate3d(-14px,0,0)}25%{transform:translate3d(0,-10px,0)}50%{transform:translate3d(14px,0,0)}75%{transform:translate3d(0,10px,0)}100%{transform:translate3d(-14px,0,0)}}
@keyframes fxc-loop-de-loop{0%{transform:translate3d(0,0,0) rotate(0)}50%{transform:translate3d(0,-22px,0) rotate(180deg)}100%{transform:translate3d(0,0,0) rotate(360deg)}}
@keyframes fxc-infinity{0%{transform:translate3d(-18px,0,0)}25%{transform:translate3d(0,-12px,0)}50%{transform:translate3d(18px,0,0)}75%{transform:translate3d(0,12px,0)}100%{transform:translate3d(-18px,0,0)}}
@keyframes fxc-spiral-drift{0%{transform:rotate(0) translateX(4px) scale(.9);opacity:.3}50%{transform:rotate(180deg) translateX(18px) scale(1.1);opacity:1}100%{transform:rotate(360deg) translateX(4px) scale(.9);opacity:.3}}
@keyframes fxc-snake{0%{transform:translate3d(-20px,0,0)}20%{transform:translate3d(-8px,-8px,0)}40%{transform:translate3d(6px,0,0)}60%{transform:translate3d(16px,8px,0)}80%{transform:translate3d(4px,2px,0)}100%{transform:translate3d(-20px,0,0)}}
@keyframes fxc-crawl{0%{transform:translate3d(-30px,0,0)}100%{transform:translate3d(30px,0,0)}}
@keyframes fxc-bound{0%,100%{transform:translate3d(0,0,0) scale(1,1)}20%{transform:translate3d(0,-18px,0) scale(.94,1.08)}50%{transform:translate3d(0,0,0) scale(1.08,.92)}70%{transform:translate3d(0,-7px,0) scale(1,1)}}
@keyframes fxc-wipe-right{0%{clip-path:inset(0 100% 0 0);opacity:.2}100%{clip-path:inset(0 0 0 0);opacity:1}}
@keyframes fxc-wipe-left{0%{clip-path:inset(0 0 0 100%);opacity:.2}100%{clip-path:inset(0 0 0 0);opacity:1}}
@keyframes fxc-wipe-up{0%{clip-path:inset(100% 0 0 0);opacity:.2}100%{clip-path:inset(0 0 0 0);opacity:1}}
@keyframes fxc-wipe-down{0%{clip-path:inset(0 0 100% 0);opacity:.2}100%{clip-path:inset(0 0 0 0);opacity:1}}
@keyframes fxc-iris-open{0%{clip-path:circle(0% at 50% 50%)}100%{clip-path:circle(75% at 50% 50%)}}
@keyframes fxc-iris-close{0%{clip-path:circle(75% at 50% 50%)}100%{clip-path:circle(0% at 50% 50%)}}
@keyframes fxc-curtain-lr{0%{clip-path:inset(0 50% 0 50%)}100%{clip-path:inset(0 0 0 0)}}
@keyframes fxc-curtain-tb{0%{clip-path:inset(50% 0 50% 0)}100%{clip-path:inset(0 0 0 0)}}
@keyframes fxc-blinds{0%{clip-path:repeating-linear-gradient(0deg,#000 0 6px,transparent 6px 12px)}100%{clip-path:inset(0 0 0 0)}}
@keyframes fxc-morph-round{0%{border-radius:6px}100%{border-radius:50%}}
@keyframes fxc-mask-slide{0%{clip-path:inset(0 0 100% 0);opacity:.4}100%{clip-path:inset(0 0 0 0);opacity:1}}
@keyframes fxc-flash{0%,100%{opacity:1}50%{opacity:.25}}
@keyframes fxc-blink{0%,49%{opacity:1}50%,100%{opacity:0}}
@keyframes fxc-strobe{0%,100%{opacity:1}12%{opacity:.2}24%{opacity:1}36%{opacity:.35}48%{opacity:1}}
@keyframes fxc-flicker{0%,100%{opacity:1}8%{opacity:.45}16%{opacity:1}24%{opacity:.65}32%{opacity:1}55%{opacity:.5}70%{opacity:1}}
@keyframes fxc-twinkle{0%,100%{opacity:.25;transform:scale(.85)}50%{opacity:1;transform:scale(1.1)}}
@keyframes fxc-sparkle{0%,100%{opacity:0;transform:scale(.4) rotate(0)}50%{opacity:1;transform:scale(1) rotate(90deg)}}
@keyframes fxc-glow-pulse{0%,100%{opacity:.55}50%{opacity:1}}
@keyframes fxc-aura-slow{0%,100%{opacity:.3;transform:scale(1)}50%{opacity:.75;transform:scale(1.06)}}
@keyframes fxc-marquee-x{0%{transform:translate3d(0,0,0)}100%{transform:translate3d(-50%,0,0)}}
@keyframes fxc-marquee-y{0%{transform:translate3d(0,0,0)}100%{transform:translate3d(0,-50%,0)}}
@keyframes fxc-parallax-y{0%{transform:translate3d(0,0,0)}100%{transform:translate3d(0,-26px,0)}}
@keyframes fxc-parallax-x{0%{transform:translate3d(0,0,0)}100%{transform:translate3d(-26px,0,0)}}
@keyframes fxc-wave-x{0%,100%{transform:translate3d(0,0,0)}25%{transform:translate3d(6px,-6px,0)}50%{transform:translate3d(12px,0,0)}75%{transform:translate3d(6px,6px,0)}}
@keyframes fxc-wave-y{0%,100%{transform:translate3d(0,0,0)}25%{transform:translate3d(-5px,5px,0)}50%{transform:translate3d(0,10px,0)}75%{transform:translate3d(5px,5px,0)}}
@keyframes fxc-wave-diag{0%,100%{transform:translate3d(0,0,0)}33%{transform:translate3d(8px,-8px,0)}66%{transform:translate3d(-8px,8px,0)}}
@keyframes fxc-flag{0%,100%{transform:skewY(0)}50%{transform:skewY(-4deg)}}
@keyframes fxc-flutter{0%,100%{transform:scaleY(1) rotate(0)}30%{transform:scaleY(.86) rotate(-2deg)}70%{transform:scaleY(1.08) rotate(2deg)}}
@keyframes fxc-flutter-fast{0%,100%{transform:scaleY(1)}25%{transform:scaleY(.82)}75%{transform:scaleY(1.12)}}
@keyframes fxc-press{0%,100%{transform:scale(1)}50%{transform:scale(.94)}}
@keyframes fxc-release{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}
@keyframes fxc-glide{0%{transform:translate3d(-8px,0,0);opacity:.6}100%{transform:translate3d(8px,0,0);opacity:1}}
@keyframes fxc-hover-up{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,-8px,0)}}
@keyframes fxc-hover-down{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,8px,0)}}
@keyframes fxc-lift{0%{transform:translate3d(0,0,0) scale(1);opacity:.75}100%{transform:translate3d(0,-10px,0) scale(1.03);opacity:1}}
@keyframes fxc-sink{0%{transform:translate3d(0,0,0);opacity:1}100%{transform:translate3d(0,10px,0) scale(.97);opacity:.6}}
@keyframes fxc-rise{0%{transform:translate3d(0,10px,0);opacity:.4}100%{transform:translate3d(0,-14px,0);opacity:0}}
@keyframes fxc-bubble-up{0%{transform:translate3d(0,30px,0) scale(.5);opacity:0}25%{opacity:.85}100%{transform:translate3d(8px,-40px,0) scale(1.15);opacity:0}}
@keyframes fxc-rain-down{0%{transform:translate3d(0,-30px,0) scaleY(.7);opacity:0}20%{opacity:.9}100%{transform:translate3d(-4px,50px,0) scaleY(1.4);opacity:0}}
@keyframes fxc-leaf-fall{0%{transform:translate3d(0,-24px,0) rotate(0);opacity:0}20%{opacity:1}100%{transform:translate3d(-22px,44px,0) rotate(220deg);opacity:0}}
@keyframes fxc-snow-fall{0%{transform:translate3d(0,-26px,0) scale(.8);opacity:0}15%{opacity:.9}100%{transform:translate3d(10px,46px,0) scale(1);opacity:0}}
@keyframes fxc-ember-rise{0%{transform:translate3d(0,20px,0) scale(1);opacity:0}20%{opacity:1}100%{transform:translate3d(-10px,-46px,0) scale(.4);opacity:0}}
@keyframes fxc-ink-spread{0%{transform:scale(.3);opacity:.85}100%{transform:scale(2.2);opacity:0}}
@keyframes fxc-paint-splat{0%{transform:scale(.2) rotate(0);opacity:1}60%{transform:scale(1.1) rotate(20deg);opacity:.7}100%{transform:scale(1.5) rotate(35deg);opacity:0}}
@keyframes fxc-vortex{0%{transform:rotate(0) scale(.6);opacity:.9}100%{transform:rotate(-540deg) scale(1.9);opacity:0}}
@keyframes fxc-blackhole{0%{transform:scale(1.8);opacity:.15}100%{transform:scale(.05);opacity:1}}
@keyframes fxc-portal{0%{transform:scale(.2) rotate(0);opacity:.2}60%{transform:scale(1.15) rotate(180deg);opacity:1}100%{transform:scale(1) rotate(360deg);opacity:.9}}
@keyframes fxc-timewarp{0%{transform:scale(1) skewX(0);opacity:1}50%{transform:scale(1.06) skewX(4deg);opacity:.85}100%{transform:scale(1) skewX(0);opacity:1}}

/* ---- the catalog ---------------------------------------------------- */

/* ----- AMBIENT ----- */
html.fxl-ge1 [data-fx="C001"]{--fxc-h:180;--fxc-h2:222;animation:fxc-drift 9.0s ease-in-out infinite}
html.fxl-ge2 [data-fx="C002"]{--fxc-h:280;--fxc-h2:322;animation:fxc-breathe 6.82s ease-in-out infinite}
html.fxl-ge3 [data-fx="C003"]{--fxc-h:210;--fxc-h2:252;animation:fxc-mist-drift 15.6s ease-in-out infinite}
html.fxl-ge1 [data-fx="C004"]{--fxc-h:250;--fxc-h2:292;animation:fxc-drift 10.8s ease-in-out infinite}
html.fxl-ge2 [data-fx="C005"]{--fxc-h:200;--fxc-h2:242;animation:fxc-smoke-rise 5.4s ease-in-out infinite}
html.fxl-ge3 [data-fx="C006"]{--fxc-h:230;--fxc-h2:272;animation:fxc-sink 1.26s ease-in-out infinite}
html.fxl-ge1 [data-fx="C007"]{--fxc-h:48;--fxc-h2:90;animation:fxc-twinkle 1.52s ease-in-out infinite}
html.fxl-ge2 [data-fx="C008"]{--fxc-h:290;--fxc-h2:332;animation:fxc-spin 13.3s ease-in-out infinite}
html.fxl-ge3 [data-fx="C009"]{--fxc-h:265;--fxc-h2:307;animation:fxc-drift 13.5s ease-in-out infinite}
html.fxl-ge1 [data-fx="C010"]{--fxc-h:35;--fxc-h2:77;animation:fxc-wobble 2.64s ease-in-out infinite}
html.fxl-ge2 [data-fx="C011"]{--fxc-h:225;--fxc-h2:267;animation:fxc-halo 6.24s ease-in-out infinite}
html.fxl-ge3 [data-fx="C012"]{--fxc-h:270;--fxc-h2:312;animation:fxc-blackhole 1.6s ease-in-out infinite}
html.fxl-ge1 [data-fx="C013"]{--fxc-h:310;--fxc-h2:352;animation:fxc-dual-spin 11.52s ease-in-out infinite}
html.fxl-ge2 [data-fx="C014"]{--fxc-h:20;--fxc-h2:62;animation:fxc-comet 3.06s ease-in-out infinite}
html.fxl-ge3 [data-fx="C015"]{--fxc-h:195;--fxc-h2:237;animation:fxc-orbit 9.75s ease-in-out infinite}
html.fxl-ge1 [data-fx="C016"]{--fxc-h:170;--fxc-h2:212;animation:fxc-spiral-drift 11.2s ease-in-out infinite}
html.fxl-ge2 [data-fx="C017"]{--fxc-h:300;--fxc-h2:342;animation:fxc-beacon 2.56s ease-in-out infinite}
html.fxl-ge3 [data-fx="C018"]{--fxc-h:190;--fxc-h2:232;animation:fxc-beam 2.52s ease-in-out infinite}
html.fxl-ge1 [data-fx="C019"]{--fxc-h:165;--fxc-h2:207;animation:fxc-aura 4.8s ease-in-out infinite}
html.fxl-ge2 [data-fx="C020"]{--fxc-h:330;--fxc-h2:12;animation:fxc-vortex 3.52s ease-in-out infinite}
html.fxl-ge3 [data-fx="C021"]{--fxc-h:12;--fxc-h2:54;animation:fxc-sway 4.4s ease-in-out infinite}
html.fxl-ge1 [data-fx="C022"]{--fxc-h:150;--fxc-h2:192;animation:fxc-flag 2.86s ease-in-out infinite}
html.fxl-ge2 [data-fx="C023"]{--fxc-h:200;--fxc-h2:242;animation:fxc-wave-y 3.84s ease-in-out infinite}
html.fxl-ge3 [data-fx="C024"]{--fxc-h:40;--fxc-h2:82;animation:fxc-gleam 2.43s ease-in-out infinite}
html.fxl-ge1 [data-fx="C025"]{--fxc-h:210;--fxc-h2:252;animation:fxc-crawl 19.2s ease-in-out infinite}
html.fxl-ge2 [data-fx="C026"]{--fxc-h:185;--fxc-h2:227;animation:fxc-bubble-up 4.8s ease-in-out infinite}
html.fxl-ge3 [data-fx="C027"]{--fxc-h:195;--fxc-h2:237;animation:fxc-mist-drift 16.8s ease-in-out infinite}
html.fxl-ge1 [data-fx="C028"]{--fxc-h:170;--fxc-h2:212;animation:fxc-aura-slow 14.25s ease-in-out infinite}
html.fxl-ge2 [data-fx="C029"]{--fxc-h:190;--fxc-h2:232;animation:fxc-wave-x 3.52s ease-in-out infinite}
html.fxl-ge3 [data-fx="C030"]{--fxc-h:45;--fxc-h2:87;animation:fxc-beam 2.8s ease-in-out infinite}
html.fxl-ge1 [data-fx="C031"]{--fxc-h:40;--fxc-h2:82;animation:fxc-smoke-rise 5.94s ease-in-out infinite}
html.fxl-ge2 [data-fx="C032"]{--fxc-h:130;--fxc-h2:172;animation:fxc-breathe 7.44s ease-in-out infinite}
html.fxl-ge3 [data-fx="C033"]{--fxc-h:50;--fxc-h2:92;animation:fxc-dust-float 6.5s ease-in-out infinite}
html.fxl-ge1 [data-fx="C034"]{--fxc-h:95;--fxc-h2:137;animation:fxc-flutter 0.72s ease-in-out infinite}
html.fxl-ge2 [data-fx="C035"]{--fxc-h:75;--fxc-h2:117;animation:fxc-twinkle 1.71s ease-in-out infinite}
html.fxl-ge3 [data-fx="C036"]{--fxc-h:120;--fxc-h2:162;animation:fxc-crawl 20.4s ease-in-out infinite}
html.fxl-ge1 [data-fx="C037"]{--fxc-h:140;--fxc-h2:182;animation:fxc-expand 1.1s ease-in-out infinite}
html.fxl-ge2 [data-fx="C038"]{--fxc-h:100;--fxc-h2:142;animation:fxc-wave-x 3.84s ease-in-out infinite}
html.fxl-ge3 [data-fx="C039"]{--fxc-h:35;--fxc-h2:77;animation:fxc-bob 3.64s ease-in-out infinite}
html.fxl-ge1 [data-fx="C040"]{--fxc-h:25;--fxc-h2:67;animation:fxc-breathe 8.06s ease-in-out infinite}
html.fxl-ge2 [data-fx="C041"]{--fxc-h:38;--fxc-h2:80;animation:fxc-flicker 1.82s ease-in-out infinite}
html.fxl-ge3 [data-fx="C042"]{--fxc-h:28;--fxc-h2:70;animation:fxc-ember-rise 3.24s ease-in-out infinite}

/* ----- TEXT ----- */
html.fxl-ge1 [data-fx="C043"]{--fxc-h:280;--fxc-h2:322;animation:fxc-shimmer 1.92s ease-in-out infinite}
html.fxl-ge2 [data-fx="C044"]{--fxc-h:300;--fxc-h2:342;animation:fxc-sweep-right 2.7s ease-in-out infinite}
html.fxl-ge3 [data-fx="C045"]{--fxc-h:45;--fxc-h2:87;animation:fxc-sheen 3.6s ease-in-out infinite}
html.fxl-ge1 [data-fx="C046"]{--fxc-h:250;--fxc-h2:292;animation:fxc-fade-in 0.63s ease-in-out infinite}
html.fxl-ge2 [data-fx="C047"]{--fxc-h:260;--fxc-h2:302;animation:fxc-rise-in 0.72s ease-in-out infinite}
html.fxl-ge3 [data-fx="C048"]{--fxc-h:275;--fxc-h2:317;animation:fxc-drop-in 0.76s ease-in-out infinite}
html.fxl-ge1 [data-fx="C049"]{--fxc-h:290;--fxc-h2:332;animation:fxc-cascade 1.1s ease-in-out infinite}
html.fxl-ge2 [data-fx="C050"]{--fxc-h:285;--fxc-h2:327;animation:fxc-wipe-right 0.81s ease-in-out infinite}
html.fxl-ge3 [data-fx="C051"]{--fxc-h:270;--fxc-h2:312;animation:fxc-wipe-up 0.9s ease-in-out infinite}
html.fxl-ge1 [data-fx="C052"]{--fxc-h:240;--fxc-h2:282;animation:fxc-slide-fade 0.8s ease-in-out infinite}
html.fxl-ge2 [data-fx="C053"]{--fxc-h:255;--fxc-h2:297;animation:fxc-pull-down 0.68s ease-in-out infinite}
html.fxl-ge3 [data-fx="C054"]{--fxc-h:30;--fxc-h2:72;animation:fxc-rise-in 0.63s ease-in-out infinite}
html.fxl-ge1 [data-fx="C055"]{--fxc-h:330;--fxc-h2:12;animation:fxc-flicker 2.34s ease-in-out infinite}
html.fxl-ge2 [data-fx="C056"]{--fxc-h:320;--fxc-h2:2;animation:fxc-strobe 0.64s ease-in-out infinite}
html.fxl-ge3 [data-fx="C057"]{--fxc-h:310;--fxc-h2:352;animation:fxc-blink 0.66s ease-in-out infinite}
html.fxl-ge1 [data-fx="C058"]{--fxc-h:200;--fxc-h2:242;animation:fxc-marquee-x 24.0s ease-in-out infinite}
html.fxl-ge2 [data-fx="C059"]{--fxc-h:150;--fxc-h2:192;animation:fxc-marquee-x 19.8s ease-in-out infinite}
html.fxl-ge3 [data-fx="C060"]{--fxc-h:15;--fxc-h2:57;animation:fxc-sway 4.84s ease-in-out infinite}
html.fxl-ge1 [data-fx="C061"]{--fxc-h:190;--fxc-h2:232;animation:fxc-blink 0.77s ease-in-out infinite}
html.fxl-ge2 [data-fx="C062"]{--fxc-h:160;--fxc-h2:202;animation:fxc-wipe-right 0.54s ease-in-out infinite}
html.fxl-ge3 [data-fx="C063"]{--fxc-h:20;--fxc-h2:62;animation:fxc-pop 0.68s ease-in-out infinite}
html.fxl-ge1 [data-fx="C064"]{--fxc-h:210;--fxc-h2:252;animation:fxc-glide 2.7s ease-in-out infinite}
html.fxl-ge2 [data-fx="C065"]{--fxc-h:45;--fxc-h2:87;animation:fxc-bob 1.82s ease-in-out infinite}
html.fxl-ge3 [data-fx="C066"]{--fxc-h:55;--fxc-h2:97;animation:fxc-flash 0.36s ease-in-out infinite}
html.fxl-ge1 [data-fx="C067"]{--fxc-h:60;--fxc-h2:102;animation:fxc-twinkle 1.52s ease-in-out infinite}
html.fxl-ge2 [data-fx="C068"]{--fxc-h:220;--fxc-h2:262;animation:fxc-sheen 3.6s ease-in-out infinite}
html.fxl-ge3 [data-fx="C069"]{--fxc-h:45;--fxc-h2:87;animation:fxc-gleam 2.43s ease-in-out infinite}
html.fxl-ge1 [data-fx="C070"]{--fxc-h:210;--fxc-h2:252;animation:fxc-shimmer 1.92s ease-in-out infinite}
html.fxl-ge2 [data-fx="C071"]{--fxc-h:300;--fxc-h2:342;animation:fxc-sweep-diag 4.2s ease-in-out infinite}
html.fxl-ge3 [data-fx="C072"]{--fxc-h:310;--fxc-h2:352;animation:fxc-sweep-right 2.7s ease-in-out infinite}
html.fxl-ge1 [data-fx="C073"]{--fxc-h:200;--fxc-h2:242;animation:fxc-breathe 6.82s ease-in-out infinite}
html.fxl-ge2 [data-fx="C074"]{--fxc-h:25;--fxc-h2:67;animation:fxc-wobble 1.92s ease-in-out infinite}
html.fxl-ge3 [data-fx="C075"]{--fxc-h:180;--fxc-h2:222;animation:fxc-jitter 0.27s ease-in-out infinite}
html.fxl-ge1 [data-fx="C076"]{--fxc-h:290;--fxc-h2:332;animation:fxc-quake-soft 0.63s ease-in-out infinite}
html.fxl-ge2 [data-fx="C077"]{--fxc-h:160;--fxc-h2:202;animation:fxc-flicker 2.08s ease-in-out infinite}
html.fxl-ge3 [data-fx="C078"]{--fxc-h:190;--fxc-h2:232;animation:fxc-shimmer 1.68s ease-in-out infinite}
html.fxl-ge1 [data-fx="C079"]{--fxc-h:180;--fxc-h2:222;animation:fxc-sweep-right 2.4s ease-in-out infinite}
html.fxl-ge2 [data-fx="C080"]{--fxc-h:195;--fxc-h2:237;animation:fxc-glow-pulse 2.4s ease-in-out infinite}
html.fxl-ge3 [data-fx="C081"]{--fxc-h:50;--fxc-h2:92;animation:fxc-wipe-right 0.63s ease-in-out infinite}
html.fxl-ge1 [data-fx="C082"]{--fxc-h:48;--fxc-h2:90;animation:fxc-wipe-left 0.63s ease-in-out infinite}
html.fxl-ge2 [data-fx="C083"]{--fxc-h:40;--fxc-h2:82;animation:fxc-fade-in-scale 0.64s ease-in-out infinite}

/* ----- CARD ----- */
html.fxl-ge1 [data-fx="C084"]{--fxc-h:250;--fxc-h2:292;animation:fxc-lift 1.08s ease-in-out infinite}
html.fxl-ge2 [data-fx="C085"]{--fxc-h:260;--fxc-h2:302;animation:fxc-sink 1.4s ease-in-out infinite}
html.fxl-ge3 [data-fx="C086"]{--fxc-h:230;--fxc-h2:272;animation:fxc-hover-up 3.36s ease-in-out infinite}
html.fxl-ge1 [data-fx="C087"]{--fxc-h:220;--fxc-h2:262;animation:fxc-press 0.96s ease-in-out infinite}
html.fxl-ge2 [data-fx="C088"]{--fxc-h:230;--fxc-h2:272;animation:fxc-release 1.26s ease-in-out infinite}
html.fxl-ge3 [data-fx="C089"]{--fxc-h:210;--fxc-h2:252;animation:fxc-pulse 2.42s ease-in-out infinite}
html.fxl-ge1 [data-fx="C090"]{--fxc-h:200;--fxc-h2:242;animation:fxc-breathe 8.06s ease-in-out infinite}
html.fxl-ge2 [data-fx="C091"]{--fxc-h:240;--fxc-h2:282;animation:fxc-sway 4.84s ease-in-out infinite}
html.fxl-ge3 [data-fx="C092"]{--fxc-h:250;--fxc-h2:292;animation:fxc-rock 2.6s ease-in-out infinite}
html.fxl-ge1 [data-fx="C093"]{--fxc-h:45;--fxc-h2:87;animation:fxc-sheen 3.96s ease-in-out infinite}
html.fxl-ge2 [data-fx="C094"]{--fxc-h:190;--fxc-h2:232;animation:fxc-sweep-diag 4.2s ease-in-out infinite}
html.fxl-ge3 [data-fx="C095"]{--fxc-h:200;--fxc-h2:242;animation:fxc-beam 2.52s ease-in-out infinite}
html.fxl-ge1 [data-fx="C096"]{--fxc-h:50;--fxc-h2:92;animation:fxc-sweep-right 2.7s ease-in-out infinite}
html.fxl-ge2 [data-fx="C097"]{--fxc-h:195;--fxc-h2:237;animation:fxc-halo 5.72s ease-in-out infinite}
html.fxl-ge3 [data-fx="C098"]{--fxc-h:190;--fxc-h2:232;animation:fxc-aura 4.0s ease-in-out infinite}
html.fxl-ge1 [data-fx="C099"]{--fxc-h:210;--fxc-h2:252;animation:fxc-dual-spin 8.64s ease-in-out infinite}
html.fxl-ge2 [data-fx="C100"]{--fxc-h:220;--fxc-h2:262;animation:fxc-spin-pulse 8.45s ease-in-out infinite}
html.fxl-ge3 [data-fx="C101"]{--fxc-h:230;--fxc-h2:272;animation:fxc-flip-in-x 0.81s ease-in-out infinite}
html.fxl-ge1 [data-fx="C102"]{--fxc-h:230;--fxc-h2:272;animation:fxc-flip-in-y 0.81s ease-in-out infinite}
html.fxl-ge2 [data-fx="C103"]{--fxc-h:200;--fxc-h2:242;animation:fxc-flip-x 5.6s ease-in-out infinite}
html.fxl-ge3 [data-fx="C104"]{--fxc-h:30;--fxc-h2:72;animation:fxc-swing 2.9s ease-in-out infinite}
html.fxl-ge1 [data-fx="C105"]{--fxc-h:260;--fxc-h2:302;animation:fxc-dual-spin 7.92s ease-in-out infinite}
html.fxl-ge2 [data-fx="C106"]{--fxc-h:250;--fxc-h2:292;animation:fxc-slide-fade 0.9s ease-in-out infinite}
html.fxl-ge3 [data-fx="C107"]{--fxc-h:240;--fxc-h2:282;animation:fxc-drop-in 0.95s ease-in-out infinite}
html.fxl-ge1 [data-fx="C108"]{--fxc-h:190;--fxc-h2:232;animation:fxc-sonar 2.52s ease-in-out infinite}
html.fxl-ge2 [data-fx="C109"]{--fxc-h:190;--fxc-h2:232;animation:fxc-blackhole 1.44s ease-in-out infinite}
html.fxl-ge3 [data-fx="C110"]{--fxc-h:200;--fxc-h2:242;animation:fxc-iris-open 1.1s ease-in-out infinite}
html.fxl-ge1 [data-fx="C111"]{--fxc-h:200;--fxc-h2:242;animation:fxc-iris-close 1.1s ease-in-out infinite}
html.fxl-ge2 [data-fx="C112"]{--fxc-h:210;--fxc-h2:252;animation:fxc-curtain-lr 1.0s ease-in-out infinite}
html.fxl-ge3 [data-fx="C113"]{--fxc-h:210;--fxc-h2:252;animation:fxc-curtain-tb 1.0s ease-in-out infinite}
html.fxl-ge1 [data-fx="C114"]{--fxc-h:190;--fxc-h2:232;animation:fxc-blinds 1.2s ease-in-out infinite}
html.fxl-ge2 [data-fx="C115"]{--fxc-h:195;--fxc-h2:237;animation:fxc-mask-slide 0.9s ease-in-out infinite}
html.fxl-ge3 [data-fx="C116"]{--fxc-h:220;--fxc-h2:262;animation:fxc-pop 0.68s ease-in-out infinite}
html.fxl-ge1 [data-fx="C117"]{--fxc-h:230;--fxc-h2:272;animation:fxc-expand 0.88s ease-in-out infinite}
html.fxl-ge2 [data-fx="C118"]{--fxc-h:200;--fxc-h2:242;animation:fxc-breathe-fast 2.4s ease-in-out infinite}
html.fxl-ge3 [data-fx="C119"]{--fxc-h:240;--fxc-h2:282;animation:fxc-wobble 2.16s ease-in-out infinite}
html.fxl-ge1 [data-fx="C120"]{--fxc-h:180;--fxc-h2:222;animation:fxc-jitter 0.27s ease-in-out infinite}
html.fxl-ge2 [data-fx="C121"]{--fxc-h:190;--fxc-h2:232;animation:fxc-tremble 0.3s ease-in-out infinite}
html.fxl-ge3 [data-fx="C122"]{--fxc-h:200;--fxc-h2:242;animation:fxc-marquee-x 24.0s ease-in-out infinite}
html.fxl-ge1 [data-fx="C123"]{--fxc-h:210;--fxc-h2:252;animation:fxc-shimmer 1.92s ease-in-out infinite}
html.fxl-ge2 [data-fx="C124"]{--fxc-h:190;--fxc-h2:232;animation:fxc-glow-pulse 2.4s ease-in-out infinite}

/* ----- PARTICLE ----- */
html.fxl-ge1 [data-fx="C125"]{--fxc-h:330;--fxc-h2:12;animation:fxc-pop 0.59s ease-in-out infinite}
html.fxl-ge2 [data-fx="C126"]{--fxc-h:300;--fxc-h2:342;animation:fxc-sonar 2.24s ease-in-out infinite}
html.fxl-ge3 [data-fx="C127"]{--fxc-h:35;--fxc-h2:77;animation:fxc-ember-rise 2.52s ease-in-out infinite}
html.fxl-ge1 [data-fx="C128"]{--fxc-h:45;--fxc-h2:87;animation:fxc-arc-up 0.66s ease-in-out infinite}
html.fxl-ge2 [data-fx="C129"]{--fxc-h:340;--fxc-h2:22;animation:fxc-bubble-up 4.32s ease-in-out infinite}
html.fxl-ge3 [data-fx="C130"]{--fxc-h:50;--fxc-h2:92;animation:fxc-snow-fall 5.76s ease-in-out infinite}
html.fxl-ge1 [data-fx="C131"]{--fxc-h:110;--fxc-h2:152;animation:fxc-leaf-fall 4.6s ease-in-out infinite}
html.fxl-ge2 [data-fx="C132"]{--fxc-h:340;--fxc-h2:22;animation:fxc-bubble-up 5.28s ease-in-out infinite}
html.fxl-ge3 [data-fx="C133"]{--fxc-h:190;--fxc-h2:232;animation:fxc-bubble-up 4.8s ease-in-out infinite}
html.fxl-ge1 [data-fx="C134"]{--fxc-h:25;--fxc-h2:67;animation:fxc-ember-rise 2.88s ease-in-out infinite}
html.fxl-ge2 [data-fx="C135"]{--fxc-h:40;--fxc-h2:82;animation:fxc-dust-float 6.5s ease-in-out infinite}
html.fxl-ge3 [data-fx="C136"]{--fxc-h:52;--fxc-h2:94;animation:fxc-dust-float 7.15s ease-in-out infinite}
html.fxl-ge1 [data-fx="C137"]{--fxc-h:200;--fxc-h2:242;animation:fxc-snow-fall 7.68s ease-in-out infinite}
html.fxl-ge2 [data-fx="C138"]{--fxc-h:195;--fxc-h2:237;animation:fxc-rain-down 1.12s ease-in-out infinite}
html.fxl-ge3 [data-fx="C139"]{--fxc-h:180;--fxc-h2:222;animation:fxc-rain-down 0.8s ease-in-out infinite}
html.fxl-ge1 [data-fx="C140"]{--fxc-h:280;--fxc-h2:322;animation:fxc-paint-splat 1.44s ease-in-out infinite}
html.fxl-ge2 [data-fx="C141"]{--fxc-h:320;--fxc-h2:2;animation:fxc-paint-splat 1.62s ease-in-out infinite}
html.fxl-ge3 [data-fx="C142"]{--fxc-h:210;--fxc-h2:252;animation:fxc-smoke-rise 5.94s ease-in-out infinite}
html.fxl-ge1 [data-fx="C143"]{--fxc-h:190;--fxc-h2:232;animation:fxc-mist-drift 16.8s ease-in-out infinite}
html.fxl-ge2 [data-fx="C144"]{--fxc-h:200;--fxc-h2:242;animation:fxc-trail-right 1.2s ease-in-out infinite}
html.fxl-ge3 [data-fx="C145"]{--fxc-h:190;--fxc-h2:232;animation:fxc-jitter 0.24s ease-in-out infinite}
html.fxl-ge1 [data-fx="C146"]{--fxc-h:180;--fxc-h2:222;animation:fxc-strobe 0.48s ease-in-out infinite}
html.fxl-ge2 [data-fx="C147"]{--fxc-h:290;--fxc-h2:332;animation:fxc-aura 4.4s ease-in-out infinite}
html.fxl-ge3 [data-fx="C148"]{--fxc-h:210;--fxc-h2:252;animation:fxc-orbit 9.0s ease-in-out infinite}
html.fxl-ge1 [data-fx="C149"]{--fxc-h:200;--fxc-h2:242;animation:fxc-dual-spin 8.64s ease-in-out infinite}
html.fxl-ge2 [data-fx="C150"]{--fxc-h:190;--fxc-h2:232;animation:fxc-hop 0.77s ease-in-out infinite}
html.fxl-ge3 [data-fx="C151"]{--fxc-h:210;--fxc-h2:252;animation:fxc-comet 3.06s ease-in-out infinite}
html.fxl-ge1 [data-fx="C152"]{--fxc-h:230;--fxc-h2:272;animation:fxc-comet 3.4s ease-in-out infinite}
html.fxl-ge2 [data-fx="C153"]{--fxc-h:220;--fxc-h2:262;animation:fxc-streak-fast 0.63s ease-in-out infinite}
html.fxl-ge3 [data-fx="C154"]{--fxc-h:300;--fxc-h2:342;animation:fxc-sparkle 1.2s ease-in-out infinite}
html.fxl-ge1 [data-fx="C155"]{--fxc-h:50;--fxc-h2:92;animation:fxc-twinkle 1.71s ease-in-out infinite}
html.fxl-ge2 [data-fx="C156"]{--fxc-h:45;--fxc-h2:87;animation:fxc-snow-fall 5.12s ease-in-out infinite}
html.fxl-ge3 [data-fx="C157"]{--fxc-h:320;--fxc-h2:2;animation:fxc-float-y 6.72s ease-in-out infinite}
html.fxl-ge1 [data-fx="C158"]{--fxc-h:40;--fxc-h2:82;animation:fxc-gleam 2.7s ease-in-out infinite}
html.fxl-ge2 [data-fx="C159"]{--fxc-h:310;--fxc-h2:352;animation:fxc-dust-float 7.15s ease-in-out infinite}
html.fxl-ge3 [data-fx="C160"]{--fxc-h:195;--fxc-h2:237;animation:fxc-dive 0.8s ease-in-out infinite}
html.fxl-ge1 [data-fx="C161"]{--fxc-h:200;--fxc-h2:242;animation:fxc-expand 1.54s ease-in-out infinite}
html.fxl-ge2 [data-fx="C162"]{--fxc-h:190;--fxc-h2:232;animation:fxc-iris-open 1.32s ease-in-out infinite}
html.fxl-ge3 [data-fx="C163"]{--fxc-h:30;--fxc-h2:72;animation:fxc-leaf-fall 5.98s ease-in-out infinite}
html.fxl-ge1 [data-fx="C164"]{--fxc-h:120;--fxc-h2:162;animation:fxc-dust-float 7.8s ease-in-out infinite}
html.fxl-ge2 [data-fx="C165"]{--fxc-h:42;--fxc-h2:84;animation:fxc-gleam 3.51s ease-in-out infinite}

/* ----- OVERLAY ----- */
html.fxl-ge1 [data-fx="C166"]{--fxc-h:0;--fxc-h2:42;animation:fxc-flash 0.3s ease-in-out infinite}
html.fxl-ge2 [data-fx="C167"]{--fxc-h:0;--fxc-h2:42;animation:fxc-flash 0.42s ease-in-out infinite}
html.fxl-ge3 [data-fx="C168"]{--fxc-h:0;--fxc-h2:42;animation:fxc-fade-out 0.9s ease-in-out infinite}
html.fxl-ge1 [data-fx="C169"]{--fxc-h:270;--fxc-h2:312;animation:fxc-iris-close 0.99s ease-in-out infinite}
html.fxl-ge2 [data-fx="C170"]{--fxc-h:270;--fxc-h2:312;animation:fxc-iris-open 0.99s ease-in-out infinite}
html.fxl-ge3 [data-fx="C171"]{--fxc-h:270;--fxc-h2:312;animation:fxc-curtain-tb 1.0s ease-in-out infinite}
html.fxl-ge1 [data-fx="C172"]{--fxc-h:270;--fxc-h2:312;animation:fxc-curtain-lr 1.0s ease-in-out infinite}
html.fxl-ge2 [data-fx="C173"]{--fxc-h:270;--fxc-h2:312;animation:fxc-blinds 1.32s ease-in-out infinite}
html.fxl-ge3 [data-fx="C174"]{--fxc-h:0;--fxc-h2:42;animation:fxc-squash 0.8s ease-in-out infinite}
html.fxl-ge1 [data-fx="C175"]{--fxc-h:310;--fxc-h2:352;animation:fxc-sweep-right 2.4s ease-in-out infinite}
html.fxl-ge2 [data-fx="C176"]{--fxc-h:300;--fxc-h2:342;animation:fxc-quake-soft 0.54s ease-in-out infinite}
html.fxl-ge3 [data-fx="C177"]{--fxc-h:320;--fxc-h2:2;animation:fxc-drift 9.0s ease-in-out infinite}
html.fxl-ge1 [data-fx="C178"]{--fxc-h:180;--fxc-h2:222;animation:fxc-wobble 1.68s ease-in-out infinite}
html.fxl-ge2 [data-fx="C179"]{--fxc-h:190;--fxc-h2:232;animation:fxc-crawl 14.4s ease-in-out infinite}
html.fxl-ge3 [data-fx="C180"]{--fxc-h:200;--fxc-h2:242;animation:fxc-flag 1.98s ease-in-out infinite}
html.fxl-ge1 [data-fx="C181"]{--fxc-h:150;--fxc-h2:192;animation:fxc-marquee-y 19.8s ease-in-out infinite}
html.fxl-ge2 [data-fx="C182"]{--fxc-h:150;--fxc-h2:192;animation:fxc-flicker 2.08s ease-in-out infinite}
html.fxl-ge3 [data-fx="C183"]{--fxc-h:170;--fxc-h2:212;animation:fxc-parallax-y 8.0s ease-in-out infinite}
html.fxl-ge1 [data-fx="C184"]{--fxc-h:20;--fxc-h2:62;animation:fxc-glow-pulse 2.64s ease-in-out infinite}
html.fxl-ge2 [data-fx="C185"]{--fxc-h:120;--fxc-h2:162;animation:fxc-twinkle 2.28s ease-in-out infinite}
html.fxl-ge3 [data-fx="C186"]{--fxc-h:190;--fxc-h2:232;animation:fxc-flash 0.36s ease-in-out infinite}
html.fxl-ge1 [data-fx="C187"]{--fxc-h:205;--fxc-h2:247;animation:fxc-sweep-diag 4.2s ease-in-out infinite}
html.fxl-ge2 [data-fx="C188"]{--fxc-h:15;--fxc-h2:57;animation:fxc-breathe 6.82s ease-in-out infinite}
html.fxl-ge3 [data-fx="C189"]{--fxc-h:280;--fxc-h2:322;animation:fxc-aura 4.8s ease-in-out infinite}
html.fxl-ge1 [data-fx="C190"]{--fxc-h:200;--fxc-h2:242;animation:fxc-streak-fast 0.54s ease-in-out infinite}
html.fxl-ge2 [data-fx="C191"]{--fxc-h:210;--fxc-h2:252;animation:fxc-spiral-drift 8.0s ease-in-out infinite}
html.fxl-ge3 [data-fx="C192"]{--fxc-h:280;--fxc-h2:322;animation:fxc-blackhole 1.44s ease-in-out infinite}
html.fxl-ge1 [data-fx="C193"]{--fxc-h:290;--fxc-h2:332;animation:fxc-portal 2.4s ease-in-out infinite}
html.fxl-ge2 [data-fx="C194"]{--fxc-h:270;--fxc-h2:312;animation:fxc-vortex 3.52s ease-in-out infinite}
html.fxl-ge3 [data-fx="C195"]{--fxc-h:200;--fxc-h2:242;animation:fxc-timewarp 3.0s ease-in-out infinite}
html.fxl-ge1 [data-fx="C196"]{--fxc-h:195;--fxc-h2:237;animation:fxc-blink 0.55s ease-in-out infinite}
html.fxl-ge2 [data-fx="C197"]{--fxc-h:200;--fxc-h2:242;animation:fxc-sink 1.96s ease-in-out infinite}
html.fxl-ge3 [data-fx="C198"]{--fxc-h:250;--fxc-h2:292;animation:fxc-flip-in-x 0.81s ease-in-out infinite}
html.fxl-ge1 [data-fx="C199"]{--fxc-h:250;--fxc-h2:292;animation:fxc-flip-y 5.06s ease-in-out infinite}
html.fxl-ge2 [data-fx="C200"]{--fxc-h:0;--fxc-h2:42;animation:fxc-strobe 0.56s ease-in-out infinite}

/* ----- CURSOR ----- */
html.fxl-ge1 [data-fx="C201"]{--fxc-h:200;--fxc-h2:242;animation:fxc-glow-pulse 2.4s ease-in-out infinite}
html.fxl-ge2 [data-fx="C202"]{--fxc-h:210;--fxc-h2:252;animation:fxc-trail-right 1.05s ease-in-out infinite}
html.fxl-ge3 [data-fx="C203"]{--fxc-h:200;--fxc-h2:242;animation:fxc-halo 5.72s ease-in-out infinite}
html.fxl-ge1 [data-fx="C204"]{--fxc-h:195;--fxc-h2:237;animation:fxc-sonar 2.24s ease-in-out infinite}
html.fxl-ge2 [data-fx="C205"]{--fxc-h:195;--fxc-h2:237;animation:fxc-blackhole 1.28s ease-in-out infinite}
html.fxl-ge3 [data-fx="C206"]{--fxc-h:200;--fxc-h2:242;animation:fxc-ping 1.8s ease-in-out infinite}
html.fxl-ge1 [data-fx="C207"]{--fxc-h:300;--fxc-h2:342;animation:fxc-pop 0.51s ease-in-out infinite}
html.fxl-ge2 [data-fx="C208"]{--fxc-h:290;--fxc-h2:332;animation:fxc-sonar 1.68s ease-in-out infinite}
html.fxl-ge3 [data-fx="C209"]{--fxc-h:45;--fxc-h2:87;animation:fxc-sparkle 0.9s ease-in-out infinite}
html.fxl-ge1 [data-fx="C210"]{--fxc-h:230;--fxc-h2:272;animation:fxc-hover-up 2.8s ease-in-out infinite}
html.fxl-ge2 [data-fx="C211"]{--fxc-h:200;--fxc-h2:242;animation:fxc-glow-pulse 2.4s ease-in-out infinite}
html.fxl-ge3 [data-fx="C212"]{--fxc-h:45;--fxc-h2:87;animation:fxc-sheen 3.6s ease-in-out infinite}
html.fxl-ge1 [data-fx="C213"]{--fxc-h:210;--fxc-h2:252;animation:fxc-arc-left 0.8s ease-in-out infinite}
html.fxl-ge2 [data-fx="C214"]{--fxc-h:210;--fxc-h2:252;animation:fxc-arc-right 0.8s ease-in-out infinite}
html.fxl-ge3 [data-fx="C215"]{--fxc-h:200;--fxc-h2:242;animation:fxc-pop 0.51s ease-in-out infinite}
html.fxl-ge1 [data-fx="C216"]{--fxc-h:230;--fxc-h2:272;animation:fxc-comet 3.06s ease-in-out infinite}
html.fxl-ge2 [data-fx="C217"]{--fxc-h:28;--fxc-h2:70;animation:fxc-ember-rise 2.88s ease-in-out infinite}
html.fxl-ge3 [data-fx="C218"]{--fxc-h:195;--fxc-h2:237;animation:fxc-snow-fall 5.76s ease-in-out infinite}
html.fxl-ge1 [data-fx="C219"]{--fxc-h:190;--fxc-h2:232;animation:fxc-jitter 0.24s ease-in-out infinite}
html.fxl-ge2 [data-fx="C220"]{--fxc-h:200;--fxc-h2:242;animation:fxc-pulse 2.2s ease-in-out infinite}
html.fxl-ge3 [data-fx="C221"]{--fxc-h:190;--fxc-h2:232;animation:fxc-spin 11.4s ease-in-out infinite}
html.fxl-ge1 [data-fx="C222"]{--fxc-h:190;--fxc-h2:232;animation:fxc-press 0.72s ease-in-out infinite}
html.fxl-ge2 [data-fx="C223"]{--fxc-h:200;--fxc-h2:242;animation:fxc-radar 3.4s ease-in-out infinite}
html.fxl-ge3 [data-fx="C224"]{--fxc-h:200;--fxc-h2:242;animation:fxc-halo 6.24s ease-in-out infinite}
html.fxl-ge1 [data-fx="C225"]{--fxc-h:200;--fxc-h2:242;animation:fxc-beat 1.62s ease-in-out infinite}
html.fxl-ge2 [data-fx="C226"]{--fxc-h:210;--fxc-h2:252;animation:fxc-trail-right 1.35s ease-in-out infinite}
html.fxl-ge3 [data-fx="C227"]{--fxc-h:210;--fxc-h2:252;animation:fxc-bob 2.34s ease-in-out infinite}
html.fxl-ge1 [data-fx="C228"]{--fxc-h:210;--fxc-h2:252;animation:fxc-leap 1.04s ease-in-out infinite}
html.fxl-ge2 [data-fx="C229"]{--fxc-h:190;--fxc-h2:232;animation:fxc-hop 0.77s ease-in-out infinite}
html.fxl-ge3 [data-fx="C230"]{--fxc-h:195;--fxc-h2:237;animation:fxc-glide 3.0s ease-in-out infinite}

/* ----- TRANSITION ----- */
html.fxl-ge1 [data-fx="C231"]{--fxc-h:270;--fxc-h2:312;animation:fxc-fade-in 0.72s ease-in-out infinite}
html.fxl-ge2 [data-fx="C232"]{--fxc-h:270;--fxc-h2:312;animation:fxc-fade-out 0.72s ease-in-out infinite}
html.fxl-ge3 [data-fx="C233"]{--fxc-h:260;--fxc-h2:302;animation:fxc-rise-in 0.81s ease-in-out infinite}
html.fxl-ge1 [data-fx="C234"]{--fxc-h:260;--fxc-h2:302;animation:fxc-sink-out 0.81s ease-in-out infinite}
html.fxl-ge2 [data-fx="C235"]{--fxc-h:250;--fxc-h2:292;animation:fxc-push-up 0.6s ease-in-out infinite}
html.fxl-ge3 [data-fx="C236"]{--fxc-h:250;--fxc-h2:292;animation:fxc-pull-down 0.6s ease-in-out infinite}
html.fxl-ge1 [data-fx="C237"]{--fxc-h:250;--fxc-h2:292;animation:fxc-expand 0.88s ease-in-out infinite}
html.fxl-ge2 [data-fx="C238"]{--fxc-h:260;--fxc-h2:302;animation:fxc-pop 0.59s ease-in-out infinite}
html.fxl-ge3 [data-fx="C239"]{--fxc-h:255;--fxc-h2:297;animation:fxc-wipe-right 0.81s ease-in-out infinite}
html.fxl-ge1 [data-fx="C240"]{--fxc-h:260;--fxc-h2:302;animation:fxc-iris-open 0.99s ease-in-out infinite}
html.fxl-ge2 [data-fx="C241"]{--fxc-h:260;--fxc-h2:302;animation:fxc-curtain-lr 0.9s ease-in-out infinite}
html.fxl-ge3 [data-fx="C242"]{--fxc-h:255;--fxc-h2:297;animation:fxc-blinds 1.2s ease-in-out infinite}
html.fxl-ge1 [data-fx="C243"]{--fxc-h:250;--fxc-h2:292;animation:fxc-fade-in-up 0.68s ease-in-out infinite}
html.fxl-ge2 [data-fx="C244"]{--fxc-h:250;--fxc-h2:292;animation:fxc-drop-in 0.85s ease-in-out infinite}
html.fxl-ge3 [data-fx="C245"]{--fxc-h:250;--fxc-h2:292;animation:fxc-curtain-tb 1.0s ease-in-out infinite}
html.fxl-ge1 [data-fx="C246"]{--fxc-h:250;--fxc-h2:292;animation:fxc-fade-in 0.63s ease-in-out infinite}
html.fxl-ge2 [data-fx="C247"]{--fxc-h:260;--fxc-h2:302;animation:fxc-cascade 1.1s ease-in-out infinite}
html.fxl-ge3 [data-fx="C248"]{--fxc-h:250;--fxc-h2:292;animation:fxc-wave-x 3.2s ease-in-out infinite}
html.fxl-ge1 [data-fx="C249"]{--fxc-h:250;--fxc-h2:292;animation:fxc-flip-in-x 0.81s ease-in-out infinite}
html.fxl-ge2 [data-fx="C250"]{--fxc-h:250;--fxc-h2:292;animation:fxc-flip-in-y 0.81s ease-in-out infinite}
html.fxl-ge3 [data-fx="C251"]{--fxc-h:260;--fxc-h2:302;animation:fxc-pop 0.59s ease-in-out infinite}
html.fxl-ge1 [data-fx="C252"]{--fxc-h:260;--fxc-h2:302;animation:fxc-contract 0.77s ease-in-out infinite}
html.fxl-ge2 [data-fx="C253"]{--fxc-h:255;--fxc-h2:297;animation:fxc-push-up 0.68s ease-in-out infinite}
html.fxl-ge3 [data-fx="C254"]{--fxc-h:255;--fxc-h2:297;animation:fxc-pull-down 0.68s ease-in-out infinite}
html.fxl-ge1 [data-fx="C255"]{--fxc-h:250;--fxc-h2:292;animation:fxc-mask-slide 0.9s ease-in-out infinite}
html.fxl-ge2 [data-fx="C256"]{--fxc-h:250;--fxc-h2:292;animation:fxc-morph-round 2.88s ease-in-out infinite}
html.fxl-ge3 [data-fx="C257"]{--fxc-h:250;--fxc-h2:292;animation:fxc-squash 1.6s ease-in-out infinite}
html.fxl-ge1 [data-fx="C258"]{--fxc-h:250;--fxc-h2:292;animation:fxc-stretch 2.2s ease-in-out infinite}
html.fxl-ge2 [data-fx="C259"]{--fxc-h:250;--fxc-h2:292;animation:fxc-fade-in-scale 0.64s ease-in-out infinite}
html.fxl-ge3 [data-fx="C260"]{--fxc-h:250;--fxc-h2:292;animation:fxc-fade-in 1.08s ease-in-out infinite}

/* ----- UI ----- */
html.fxl-ge1 [data-fx="C261"]{--fxc-h:200;--fxc-h2:242;animation:fxc-sonar 1.96s ease-in-out infinite}
html.fxl-ge2 [data-fx="C262"]{--fxc-h:200;--fxc-h2:242;animation:fxc-glow-pulse 2.4s ease-in-out infinite}
html.fxl-ge3 [data-fx="C263"]{--fxc-h:220;--fxc-h2:262;animation:fxc-lift 0.96s ease-in-out infinite}
html.fxl-ge1 [data-fx="C264"]{--fxc-h:220;--fxc-h2:262;animation:fxc-press 0.72s ease-in-out infinite}
html.fxl-ge2 [data-fx="C265"]{--fxc-h:220;--fxc-h2:262;animation:fxc-hop 0.77s ease-in-out infinite}
html.fxl-ge3 [data-fx="C266"]{--fxc-h:45;--fxc-h2:87;animation:fxc-sheen 3.24s ease-in-out infinite}
html.fxl-ge1 [data-fx="C267"]{--fxc-h:200;--fxc-h2:242;animation:fxc-slide-fade 0.7s ease-in-out infinite}
html.fxl-ge2 [data-fx="C268"]{--fxc-h:200;--fxc-h2:242;animation:fxc-pop 0.51s ease-in-out infinite}
html.fxl-ge3 [data-fx="C269"]{--fxc-h:200;--fxc-h2:242;animation:fxc-flip-in-y 0.72s ease-in-out infinite}
html.fxl-ge1 [data-fx="C270"]{--fxc-h:140;--fxc-h2:182;animation:fxc-expand 0.66s ease-in-out infinite}
html.fxl-ge2 [data-fx="C271"]{--fxc-h:200;--fxc-h2:242;animation:fxc-iris-open 0.77s ease-in-out infinite}
html.fxl-ge3 [data-fx="C272"]{--fxc-h:200;--fxc-h2:242;animation:fxc-glide 2.7s ease-in-out infinite}
html.fxl-ge1 [data-fx="C273"]{--fxc-h:45;--fxc-h2:87;animation:fxc-beat 1.44s ease-in-out infinite}
html.fxl-ge2 [data-fx="C274"]{--fxc-h:50;--fxc-h2:92;animation:fxc-pulse 1.98s ease-in-out infinite}
html.fxl-ge3 [data-fx="C275"]{--fxc-h:45;--fxc-h2:87;animation:fxc-shimmer 1.92s ease-in-out infinite}
html.fxl-ge1 [data-fx="C276"]{--fxc-h:210;--fxc-h2:252;animation:fxc-fade-in-up 0.59s ease-in-out infinite}
html.fxl-ge2 [data-fx="C277"]{--fxc-h:210;--fxc-h2:252;animation:fxc-fade-in 0.63s ease-in-out infinite}
html.fxl-ge3 [data-fx="C278"]{--fxc-h:210;--fxc-h2:252;animation:fxc-fade-in-right 0.68s ease-in-out infinite}
html.fxl-ge1 [data-fx="C279"]{--fxc-h:210;--fxc-h2:252;animation:fxc-drop-in 0.76s ease-in-out infinite}
html.fxl-ge2 [data-fx="C280"]{--fxc-h:210;--fxc-h2:252;animation:fxc-slide-fade 0.8s ease-in-out infinite}
html.fxl-ge3 [data-fx="C281"]{--fxc-h:210;--fxc-h2:252;animation:fxc-fade-in-up 0.59s ease-in-out infinite}
html.fxl-ge1 [data-fx="C282"]{--fxc-h:210;--fxc-h2:252;animation:fxc-pop 0.59s ease-in-out infinite}
html.fxl-ge2 [data-fx="C283"]{--fxc-h:20;--fxc-h2:62;animation:fxc-shake 0.42s ease-in-out infinite}
html.fxl-ge3 [data-fx="C284"]{--fxc-h:35;--fxc-h2:77;animation:fxc-strobe 0.48s ease-in-out infinite}
html.fxl-ge1 [data-fx="C285"]{--fxc-h:200;--fxc-h2:242;animation:fxc-spin 9.5s ease-in-out infinite}
html.fxl-ge2 [data-fx="C286"]{--fxc-h:200;--fxc-h2:242;animation:fxc-spin-pulse 7.15s ease-in-out infinite}
html.fxl-ge3 [data-fx="C287"]{--fxc-h:190;--fxc-h2:232;animation:fxc-bob 2.08s ease-in-out infinite}
html.fxl-ge1 [data-fx="C288"]{--fxc-h:190;--fxc-h2:232;animation:fxc-wipe-right 0.9s ease-in-out infinite}
html.fxl-ge2 [data-fx="C289"]{--fxc-h:200;--fxc-h2:242;animation:fxc-shimmer 2.4s ease-in-out infinite}
html.fxl-ge3 [data-fx="C290"]{--fxc-h:200;--fxc-h2:242;animation:fxc-beat 1.62s ease-in-out infinite}
html.fxl-ge1 [data-fx="C291"]{--fxc-h:200;--fxc-h2:242;animation:fxc-halo 5.72s ease-in-out infinite}
html.fxl-ge2 [data-fx="C292"]{--fxc-h:140;--fxc-h2:182;animation:fxc-ping 1.8s ease-in-out infinite}
html.fxl-ge3 [data-fx="C293"]{--fxc-h:10;--fxc-h2:52;animation:fxc-beat 1.62s ease-in-out infinite}
html.fxl-ge1 [data-fx="C294"]{--fxc-h:230;--fxc-h2:272;animation:fxc-fade-in-down 0.68s ease-in-out infinite}
html.fxl-ge2 [data-fx="C295"]{--fxc-h:240;--fxc-h2:282;animation:fxc-fade-in-left 0.77s ease-in-out infinite}

/* ----- SCROLL ----- */
html.fxl-ge1 [data-fx="C296"]{--fxc-h:250;--fxc-h2:292;animation:fxc-fade-in-up 0.68s ease-in-out infinite}
html.fxl-ge2 [data-fx="C297"]{--fxc-h:250;--fxc-h2:292;animation:fxc-fade-in-down 0.68s ease-in-out infinite}
html.fxl-ge3 [data-fx="C298"]{--fxc-h:250;--fxc-h2:292;animation:fxc-fade-in-left 0.68s ease-in-out infinite}
html.fxl-ge1 [data-fx="C299"]{--fxc-h:250;--fxc-h2:292;animation:fxc-fade-in-right 0.68s ease-in-out infinite}
html.fxl-ge2 [data-fx="C300"]{--fxc-h:250;--fxc-h2:292;animation:fxc-fade-in-scale 0.64s ease-in-out infinite}
html.fxl-ge3 [data-fx="C301"]{--fxc-h:210;--fxc-h2:252;animation:fxc-parallax-y 16.0s ease-in-out infinite}
html.fxl-ge1 [data-fx="C302"]{--fxc-h:210;--fxc-h2:252;animation:fxc-parallax-y 7.0s ease-in-out infinite}
html.fxl-ge2 [data-fx="C303"]{--fxc-h:210;--fxc-h2:252;animation:fxc-parallax-x 15.4s ease-in-out infinite}
html.fxl-ge3 [data-fx="C304"]{--fxc-h:220;--fxc-h2:262;animation:fxc-crawl 21.6s ease-in-out infinite}
html.fxl-ge1 [data-fx="C305"]{--fxc-h:215;--fxc-h2:257;animation:fxc-float-y 6.3s ease-in-out infinite}
html.fxl-ge2 [data-fx="C306"]{--fxc-h:190;--fxc-h2:232;animation:fxc-wipe-right 0.9s ease-in-out infinite}
html.fxl-ge3 [data-fx="C307"]{--fxc-h:140;--fxc-h2:182;animation:fxc-ping 1.8s ease-in-out infinite}
html.fxl-ge1 [data-fx="C308"]{--fxc-h:195;--fxc-h2:237;animation:fxc-halo 5.72s ease-in-out infinite}
html.fxl-ge2 [data-fx="C309"]{--fxc-h:200;--fxc-h2:242;animation:fxc-press 1.44s ease-in-out infinite}
html.fxl-ge3 [data-fx="C310"]{--fxc-h:200;--fxc-h2:242;animation:fxc-pop 0.51s ease-in-out infinite}
html.fxl-ge1 [data-fx="C311"]{--fxc-h:200;--fxc-h2:242;animation:fxc-marquee-y 21.6s ease-in-out infinite}
html.fxl-ge2 [data-fx="C312"]{--fxc-h:200;--fxc-h2:242;animation:fxc-flip-in-x 0.63s ease-in-out infinite}
html.fxl-ge3 [data-fx="C313"]{--fxc-h:200;--fxc-h2:242;animation:fxc-pop 0.51s ease-in-out infinite}
html.fxl-ge1 [data-fx="C314"]{--fxc-h:190;--fxc-h2:232;animation:fxc-wipe-down 1.08s ease-in-out infinite}
html.fxl-ge2 [data-fx="C315"]{--fxc-h:150;--fxc-h2:192;animation:fxc-twinkle 1.71s ease-in-out infinite}
html.fxl-ge3 [data-fx="C316"]{--fxc-h:190;--fxc-h2:232;animation:fxc-stretch 2.0s ease-in-out infinite}
html.fxl-ge1 [data-fx="C317"]{--fxc-h:190;--fxc-h2:232;animation:fxc-contract 1.1s ease-in-out infinite}
html.fxl-ge2 [data-fx="C318"]{--fxc-h:190;--fxc-h2:232;animation:fxc-wipe-right 0.81s ease-in-out infinite}
html.fxl-ge3 [data-fx="C319"]{--fxc-h:200;--fxc-h2:242;animation:fxc-fade-in-down 0.59s ease-in-out infinite}
html.fxl-ge1 [data-fx="C320"]{--fxc-h:200;--fxc-h2:242;animation:fxc-rise-in 0.72s ease-in-out infinite}
html.fxl-ge2 [data-fx="C321"]{--fxc-h:230;--fxc-h2:272;animation:fxc-expand 0.99s ease-in-out infinite}
html.fxl-ge3 [data-fx="C322"]{--fxc-h:230;--fxc-h2:272;animation:fxc-contract 0.99s ease-in-out infinite}
html.fxl-ge1 [data-fx="C323"]{--fxc-h:230;--fxc-h2:272;animation:fxc-wobble 1.92s ease-in-out infinite}
html.fxl-ge2 [data-fx="C324"]{--fxc-h:230;--fxc-h2:272;animation:fxc-sway 3.96s ease-in-out infinite}
html.fxl-ge3 [data-fx="C325"]{--fxc-h:230;--fxc-h2:272;animation:fxc-roll 6.0s ease-in-out infinite}

/* one-shot variant: the same effects played once, for entrances */
html.fxl-ge1 [data-fx][data-once],html.fxl-ge2 [data-fx][data-once],html.fxl-ge3 [data-fx][data-once]{animation-iteration-count:1}
