/* Green Flask Science: animated Chemistry card art */
.ca{position:relative;aspect-ratio:16/8;overflow:hidden;background:#050d0b}
.ca svg{display:block;width:100%;height:100%}
.ca *{transform-box:fill-box;transform-origin:center}
.ca .ca-spin,.ca .ca-sweep,.ca .ca-tilt,.ca .ca-stir{transform-box:view-box}
.sim .ca{margin:-20px -20px 10px;width:calc(100% + 40px);border-radius:6px 6px 0 0}
.ca-dr{animation:ca-dr var(--t,5s) ease-in-out infinite alternate;animation-delay:var(--d,0s)}
@keyframes ca-dr{from{transform:translate(0,0)}to{transform:translate(var(--dx,30px),var(--dy,20px))}}
.ca-pis{animation:ca-pis 4s ease-in-out infinite alternate}
@keyframes ca-pis{from{transform:translateY(0)}to{transform:translateY(120px)}}
.ca-sweep{animation:ca-sweep 3.6s ease-in-out infinite alternate}
@keyframes ca-sweep{from{transform:rotate(-60deg)}to{transform:rotate(60deg)}}
.ca-spin{animation:ca-spin var(--t,6s) linear infinite}
@keyframes ca-spin{to{transform:rotate(360deg)}}
.ca-pw{animation:ca-pw 3.4s ease-in-out infinite alternate;animation-delay:var(--d,0s)}
@keyframes ca-pw{from{opacity:.4}to{opacity:1}}
.ca-pulse2{animation:ca-pulse 1.8s ease-in-out infinite alternate;animation-delay:var(--d,0s)}
@keyframes ca-pulse{from{transform:scale(1)}to{transform:scale(1.1)}}
.ca-draw{stroke-dasharray:1;stroke-dashoffset:1;animation:ca-draw 8s ease-in-out infinite;animation-delay:-3s}
@keyframes ca-draw{0%{stroke-dashoffset:1}30%,90%{stroke-dashoffset:0}100%{stroke-dashoffset:-1}}
rect.ca-draw{stroke:none}
.ca-fade{opacity:0;animation:ca-fade 4.5s ease-in-out infinite alternate}
@keyframes ca-fade{from{opacity:0}to{opacity:.55}}
.ca-wave{animation:ca-wave var(--t,3s) linear infinite}
@keyframes ca-wave{to{transform:translateX(calc(var(--wl,150px) * -1))}}
.ca-rise{animation:ca-rise var(--t,6s) linear infinite;animation-delay:var(--d,0s);opacity:0}
@keyframes ca-rise{0%{transform:translateY(0);opacity:0}15%{opacity:.8}100%{transform:translateY(-300px);opacity:0}}
.ca-sink{animation:ca-sink var(--t,4s) ease-in infinite;animation-delay:var(--d,0s);opacity:0}
@keyframes ca-sink{0%{transform:translateY(0) rotate(0);opacity:1}100%{transform:translateY(280px) rotate(120deg);opacity:0}}
.ca-stir{transform-origin:620px 80px;animation:ca-stir 1.4s ease-in-out infinite alternate}
@keyframes ca-stir{from{transform:rotate(-9deg)}to{transform:rotate(9deg)}}
.ca-drip{animation:ca-drip 2.2s ease-in infinite;opacity:0}
@keyframes ca-drip{0%{transform:translateY(0);opacity:1}85%{opacity:1}100%{transform:translateY(240px);opacity:0}}
.ca-bar{transform-origin:50% 100%;animation:ca-bar var(--t,3s) ease-in-out infinite alternate;animation-delay:var(--d,0s)}
@keyframes ca-bar{from{transform:scaleY(.35)}to{transform:scaleY(1)}}
.ca-hop{animation:ca-hop 2.8s ease-in-out infinite}
@keyframes ca-hop{0%{transform:translate(0,0)}50%{transform:translate(170px,-130px)}100%{transform:translate(340px,0)}}
.ca-sll{animation:ca-sll 6s ease-in-out infinite;animation-delay:var(--d,0s);opacity:0}
.ca-slr{animation:ca-slr 6s ease-in-out infinite;animation-delay:var(--d,0s);opacity:0}
@keyframes ca-sll{0%{transform:translate(0,0);opacity:0}12%{opacity:1}55%,85%{transform:translate(-295px,250px);opacity:1}100%{transform:translate(-295px,250px);opacity:0}}
@keyframes ca-slr{0%{transform:translate(0,0);opacity:0}12%{opacity:1}55%,85%{transform:translate(295px,250px);opacity:1}100%{transform:translate(295px,250px);opacity:0}}
.ca-tilt{animation:ca-tilt 4.5s ease-in-out infinite alternate}
@keyframes ca-tilt{from{transform:rotate(calc(var(--a,7deg) * -1))}to{transform:rotate(var(--a,7deg))}}
.ca-pop{animation:ca-pop 5s ease-in-out infinite;animation-delay:var(--d,0s)}
@keyframes ca-pop{0%,12%{transform:scale(0);opacity:0}22%{transform:scale(1.2);opacity:1}30%,88%{transform:scale(1);opacity:1}100%{transform:scale(0);opacity:0}}
.ca-flt{animation:ca-flt var(--t,5s) ease-in-out infinite alternate;animation-delay:var(--d,0s)}
@keyframes ca-flt{from{transform:translateY(0)}to{transform:translateY(-16px)}}
.ca-jump{animation:ca-jump 4s ease-in-out infinite alternate}
@keyframes ca-jump{0%,15%{transform:translateY(0)}85%,100%{transform:translateY(-320px)}}
.ca-ride{offset-rotate:0deg;animation:ca-ride 5s ease-in-out infinite alternate}
@keyframes ca-ride{from{offset-distance:0%}to{offset-distance:100%}}
.ca-hit1{animation:ca-hit1 3s ease-in infinite}
.ca-hit2{animation:ca-hit2 3s ease-in infinite}
@keyframes ca-hit1{0%{transform:translateX(-380px)}45%,55%{transform:translateX(-30px)}100%{transform:translateX(-380px)}}
@keyframes ca-hit2{0%{transform:translateX(380px)}45%,55%{transform:translateX(30px)}100%{transform:translateX(380px)}}
.ca-dec1{animation:ca-dec1 9s ease-in-out infinite}
.ca-dec2{animation:ca-dec2 9s ease-in-out infinite}
.ca-dec3{animation:ca-dec3 9s ease-in-out infinite}
@keyframes ca-dec1{0%,20%{opacity:1}30%,92%{opacity:.1}100%{opacity:1}}
@keyframes ca-dec2{0%,45%{opacity:1}55%,92%{opacity:.1}100%{opacity:1}}
@keyframes ca-dec3{0%,70%{opacity:1}80%,92%{opacity:.1}100%{opacity:1}}
.ca-bob{animation:ca-bob 2.6s ease-in-out infinite alternate;animation-delay:var(--d,0s)}
@keyframes ca-bob{from{transform:translateY(0)}to{transform:translateY(-18px)}}
.ca-grow{transform-origin:0 50%;animation:ca-grow 3.6s ease-in-out infinite alternate;animation-delay:var(--d,0s)}
@keyframes ca-grow{from{transform:scaleX(.35)}to{transform:scaleX(1)}}
.ca-alpha{animation:ca-alpha 3s ease-out infinite}
@keyframes ca-alpha{0%{transform:translateX(0);opacity:1}100%{transform:translateX(400px);opacity:0}}
.ca-inflate{animation:ca-inflate 3.2s ease-in-out infinite alternate}
@keyframes ca-inflate{from{transform:scale(.82)}to{transform:scale(1.08)}}
.ca-fly{animation:ca-fly 3s linear infinite;animation-delay:var(--d,0s)}
@keyframes ca-fly{from{transform:translateX(0)}to{transform:translateX(520px)}}
.ca-slide{animation:ca-slide 4.5s ease-in-out infinite alternate}
@keyframes ca-slide{from{transform:translateX(-420px)}to{transform:translateX(420px)}}
.ca-march-d{animation:ca-march 1.2s linear infinite}
@keyframes ca-march{to{stroke-dashoffset:-52}}
.ca-off *{animation-play-state:paused!important}
@media (prefers-reduced-motion:reduce){.ca *{animation:none!important}.ca-draw{stroke-dashoffset:0!important}.ca-pop,.ca-sll,.ca-slr,.ca-rise,.ca-sink,.ca-drip{opacity:1!important}.ca-fade{opacity:.4!important}}
