UNPKG

@hellouxpavel/cssanimation

Version:

A Powerful CSS Animation Library for Advanced Motion Design.

17 lines 149 kB
@charset "UTF-8"; /*!* @preserve * cssanimation.css – Core animation styles and keyframes * Part of: https://cssanimation.io/ * Version: 6.10.1 * Built: 2025-07-18 18:25:31 UTC * * Author: Shafayetul Islam Pavel * LinkedIn: https://www.linkedin.com/in/shafayetul/ * Email: hello@cssanimation.io * GitHub: https://github.com/yesiamrocks/cssanimation * * Title: Core Animation Styles and Keyframe Definitions for cssanimation. * Description: Contains the fundamental CSS animation classes, keyframe definitions, * and essential styling that form the base of the cssanimation.io library. * * © 2025 Shafayetul Islam Pavel – All rights reserved.*/:root{--cssanimation-duration:1s;--cssanimation-fill-mode:both;--cssanimation-infinite:infinite;--cssanimation-backface-visibility:hidden;--cssanimation-transform-style:preserve-3d;--cssanimation-will-change:transform,opacity;--cssanimation-display:inline-block;--move-distance:-800px}.cssanimation{animation-duration:var(--cssanimation-duration,1s);animation-fill-mode:var(--cssanimation-fill-mode,both)}.cssanimation span{display:var(--cssanimation-display,inline-block)}.infinite{animation-iteration-count:var(--cssanimation-infinite,infinite)!important}@media (prefers-reduced-motion:reduce){.cssanimation,.cssanimation span{animation:none!important;transition:none!important}}.ca__fx-blurIn{animation-name:blurIn}@keyframes blurIn{0%{filter:blur(20px);opacity:0}}.ca__fx-blurInfromLeft{animation-name:blurInLeft}@keyframes blurInLeft{0%{filter:blur(20px);opacity:0;transform:translateX(-100%)}}.ca__fx-blurInFromRight{animation-name:blurInRight}@keyframes blurInRight{0%{filter:blur(20px);opacity:0;transform:translateX(100%)}}.ca__fx-blurInFromTop{animation-name:blurInTop}@keyframes blurInTop{0%{filter:blur(20px);opacity:0;transform:translateY(-100%)}}.ca__fx-blurInFromBottom{animation-name:blurInBottom}@keyframes blurInBottom{0%{filter:blur(20px);opacity:0;transform:translateY(100%)}}.ca__fx-blurOut{animation-name:blurOut}@keyframes blurOut{85%,to{filter:blur(20px)}to{opacity:0}}.ca__fx-blurOutToLeft{animation-name:blurOutLeft}@keyframes blurOutLeft{85%,to{filter:blur(20px);transform:translateX(-100%)}to{opacity:0}}.ca__fx-blurOutToRight{animation-name:blurOutRight}@keyframes blurOutRight{85%,to{filter:blur(20px);transform:translateX(100%)}to{opacity:0}}.ca__fx-blurOutToTop{animation-name:blurOutTop}@keyframes blurOutTop{85%,to{filter:blur(20px);transform:translateY(-100%)}to{opacity:0}}.ca__fx-blurOutToBottom{animation-name:blurOutBottom}@keyframes blurOutBottom{85%,to{filter:blur(20px);transform:translateY(100%)}to{opacity:0}}.ca__fx-bounceX{animation-name:bounceX}@keyframes bounceX{0%,25%,55%,85%,to{animation-timing-function:ease-out;transform:scaleX(1)}41%,44%{animation-timing-function:ease-in;transform:scaleX(1.8)}70%{animation-timing-function:ease-in;transform:scaleX(1.5)}90%{transform:scaleX(1.1)}}.ca__fx-bounceY{animation-name:bounceY}@keyframes bounceY{0%,25%,55%,85%,to{animation-timing-function:ease-out;transform:scaleX(1)}41%,44%{animation-timing-function:ease-in;transform:scaleY(2)}70%{animation-timing-function:ease-in;transform:scaleY(1.5)}90%{transform:scaleY(1.1)}}.ca__fx-bounceZoomOut{animation-name:bounceZoomOut}@keyframes bounceZoomOut{0%,25%,55%,85%,to{animation-timing-function:ease-out;transform:scale(1)}41%,44%{animation-timing-function:ease-in;transform:scale(.3)}70%{animation-timing-function:ease-in;transform:scale(.5)}90%{transform:scale(.9)}}.ca__fx-spring{animation:spring var(--spring-duration,.6s) cubic-bezier(.34,1.56,.64,1) infinite}@keyframes spring{0%,to{transform:translateY(0)}50%{transform:translateY(calc(var(--spring-height, 1rem)*-1))}}.ca__fx-boing{animation:boing var(--boing-duration,.9s) cubic-bezier(.28,1.5,.68,1) infinite}@keyframes boing{0%,to{transform:translateY(0)}30%{transform:translateY(calc(var(--boing-height, 1rem)*-1.1))}50%{transform:translateY(calc(var(--boing-height, 1rem)*.3))}70%{transform:translateY(calc(var(--boing-height, 1rem)*-.5))}90%{transform:translateY(calc(var(--boing-height, 1rem)*.15))}}.ca__fx-hop{animation:hop var(--hop-duration,.5s) ease-out infinite}@keyframes hop{0%,to{transform:translateY(0)}40%{transform:translateY(calc(var(--hop-height, .8rem)*-1))}}.ca__fx-lift{animation:lift var(--lift-duration,1.2s) ease-in-out infinite}@keyframes lift{0%,to{transform:translateY(0)}50%{transform:translateY(calc(var(--lift-height, 10px)*-1))}}.ca__fx-popUp{animation:popUp var(--popUp-duration,.5s) ease-out both}@keyframes popUp{0%{opacity:0;transform:scale(.95) translateY(0)}60%{opacity:1;transform:scale(1.05) translateY(calc(var(--popUp-height, 8px)*-1))}80%{transform:scale(.98) translateY(calc(var(--popUp-height, 8px)*-.3))}to{transform:scale(1) translateY(0)}}.ca__fx-rebound{animation:rebound var(--rebound-duration,.7s) ease-in-out infinite}@keyframes rebound{0%,to{transform:translateY(0)}20%{transform:translateY(calc(var(--rebound-height, 1rem)*-1))}40%{transform:translateY(calc(var(--rebound-height, 1rem)*.5))}60%{transform:translateY(calc(var(--rebound-height, 1rem)*-.3))}}.ca__fx-jump{animation:jump var(--jump-duration,.6s) ease-in-out infinite}@keyframes jump{0%,to{transform:translateY(0)}30%{transform:translateY(calc(var(--jump-height, 1.2rem)*-1))}}.ca__fx-jumping{animation:jumping 1.2s ease-in-out infinite;transform-origin:bottom center}@keyframes jumping{0%,to{opacity:.7;transform:translateY(0) scale(1)}25%{opacity:1;transform:translateY(-20%) scale(1.1)}50%{opacity:.8;transform:translateY(0) scale(.95)}75%{opacity:.9;transform:translateY(-10%) scale(1.05)}}.ca__fx-launch{animation:launch var(--launch-duration,.8s) ease-out infinite}@keyframes launch{0%{transform:translateY(0)}20%{transform:translateY(calc(var(--launch-height, 2rem)*-1.2))}40%{transform:translateY(calc(var(--launch-height, 2rem)*.5))}60%{transform:translateY(calc(var(--launch-height, 2rem)*-.3))}80%{transform:translateY(calc(var(--launch-height, 2rem)*.15))}to{transform:translateY(0)}}.ca__fx-levitate{animation:levitate var(--levitate-duration,2s) ease-in-out infinite}@keyframes levitate{0%,to{transform:translateY(0)}50%{transform:translateY(calc(var(--levitate-height, .6rem)*-1))}}.ca__fx-jitterJump{animation:jitterJump 1.3s cubic-bezier(.68,-.55,.265,1.55) infinite}@keyframes jitterJump{0%{transform:translateY(0) scale(1)}20%{transform:translateY(-40px) scale(1.1,.9)}40%{transform:translateY(0) scale(.9,1.1)}60%{transform:translateY(-20px) scale(1.05,.95)}80%{transform:translateY(0) scale(.98,1.02)}to{transform:translateY(0) scale(1)}}.ca__fx-elasticJump{animation:elasticJump 1.2s cubic-bezier(.2,.8,.3,1.2) infinite;display:inline-block;transform-origin:bottom center}@keyframes elasticJump{0%,to{transform:translateY(0) scaleY(1)}30%{transform:translateY(-40%) scaleY(1.2)}50%{transform:translateY(0) scaleY(.9)}70%{transform:translateY(-20%) scaleY(1.05)}}.ca__fx-squishyBounce{animation:squishyBounce 1.4s ease-in-out infinite;display:inline-block;transform-origin:bottom center}@keyframes squishyBounce{0%,to{transform:translateY(0) scale(1)}25%{transform:translateY(-30%) scale(1.1,.9)}50%{transform:translateY(0) scale(.95,1.05)}75%{transform:translateY(-15%) scale(1.05,.95)}}.ca__fx-bouncyDrop{animation:bouncyDrop 1.5s ease-in-out infinite;display:inline-block;transform-origin:top center}@keyframes bouncyDrop{0%{opacity:0;transform:translateY(-100%) scaleY(1.2)}30%{opacity:1;transform:translateY(10%) scaleY(.8)}60%{transform:translateY(-5%) scaleY(1.1)}to{transform:translateY(0) scaleY(1)}}.ca__fx-bounceInTop{animation-name:bounceInTop}@keyframes bounceInTop{0%{transform:translate3d(0,-300%,0)}58%{transform:translate3d(0,27px,0)}73%{transform:translate3d(0,-12px,0)}88%{transform:translate3d(0,7px,0)}}.ca__fx-bounceInBottom{animation-name:bounceInBottom}@keyframes bounceInBottom{0%{transform:translate3d(0,300%,0)}58%{transform:translate3d(0,-27px,0)}73%{transform:translate3d(0,12px,0)}88%{transform:translate3d(0,-8px,0)}}.ca__fx-bounceInLeft{animation-name:bounceInLeft}@keyframes bounceInLeft{0%{transform:translate3d(-300%,0,0)}58%{transform:translate3d(27px,0,0)}73%{transform:translate3d(-12px,0,0)}88%{transform:translate3d(8px,0,0)}}.ca__fx-bounceInRight{animation-name:bounceInRight}@keyframes bounceInRight{0%{transform:translate3d(300%,0,0)}58%{transform:translate3d(-27px,0,0)}73%{transform:translate3d(12px,0,0)}88%{transform:translate3d(-8px,0,0)}}.ca__fx-bounceFromTop{animation-name:bounceFromTop}@keyframes bounceFromTop{0%,25%,55%,85%,to{animation-timing-function:ease-out;transform:translateZ(0)}41%,44%{animation-timing-function:ease-in;transform:translate3d(0,-80px,0) scaleY(1.6)}70%{animation-timing-function:ease-in;transform:translate3d(0,-20px,0)}90%{transform:translate3d(0,-4px,0)}}.ca__fx-bounceFromDown{animation-name:bounceFromDown}@keyframes bounceFromDown{0%,25%,55%,85%,to{animation-timing-function:ease-out;transform:translateZ(0)}41%,44%{animation-timing-function:ease-in;transform:translate3d(0,80px,0) scaleY(1.2)}70%{animation-timing-function:ease-in;transform:translate3d(0,20px,0)}90%{transform:translate3d(0,4px,0)}}.ca__fx-bounceOutTop{animation-name:bounceOutTop}@keyframes bounceOutTop{18%,33%,48%{opacity:1}18%{transform:translate3d(0,27px,0)}33%{transform:translate3d(0,-12px,0)}48%{transform:translate3d(0,8px,0)}to{opacity:0;transform:translate3d(0,-300%,0)}}.ca__fx-bounceOutBottom{animation-name:bounceOutBottom}@keyframes bounceOutBottom{18%,33%,48%{opacity:1}18%{transform:translate3d(0,-27px,0)}33%{transform:translate3d(0,12px,0)}48%{transform:translate3d(0,-8px,0)}to{opacity:0;transform:translate3d(0,300%,0)}}.ca__fx-bounceOutLeft{animation-name:bounceOutLeft}@keyframes bounceOutLeft{18%,33%,48%{opacity:1}18%{transform:translate3d(27px,0,0)}33%{transform:translate3d(-12px,0,0)}48%{transform:translate3d(8px,0,0)}to{opacity:0;transform:translate3d(-300%,0,0)}}.ca__fx-bounceOutRight{animation-name:bounceOutRight}@keyframes bounceOutRight{18%,33%,48%{opacity:1}18%{transform:translate3d(-27px,0,0)}33%{transform:translate3d(12px,0,0)}48%{transform:translate3d(-8px,0,0)}to{opacity:0;transform:translate3d(300%,0,0)}}.ca__fx-clipCircleExpandIn{animation:clipCircleExpandIn 3s ease-out;clip-path:circle(0 at 50% 50%)}@keyframes clipCircleExpandIn{0%{clip-path:circle(0 at 50% 50%)}to{clip-path:circle(150% at 50% 50%)}}.ca__fx-clipCircleCollapseOut{animation:clipCircleCollapseOut 3s ease-in both;clip-path:circle(150% at 50% 50%);will-change:clip-path}@keyframes clipCircleCollapseOut{0%{clip-path:circle(150% at 50% 50%)}to{clip-path:circle(0 at 50% 50%)}}.ca__fx-clipDiagonalWipeIn{animation-name:clipDiagonalWipeIn}@keyframes clipDiagonalWipeIn{0%{clip-path:polygon(0 0,0 0,0 0,0 0);opacity:0}to{clip-path:polygon(0 0,100% 0,100% 100%,0 100%);opacity:1}}.ca__fx-clipDiagonalWipeOut{animation-name:clipDiagonalWipeOut;animation-timing-function:ease-in-out}@keyframes clipDiagonalWipeOut{0%{clip-path:polygon(0 0,100% 0,100% 100%,0 100%);opacity:1}to{clip-path:polygon(100% 100%,100% 100%,100% 100%,100% 100%);opacity:0}}.ca__fx-clipGridReveal{animation-name:clipGridReveal}@keyframes clipGridReveal{0%{clip-path:polygon(0 0,0 0,0 0,0 0);opacity:0}40%{clip-path:polygon(0 0,100% 0,0 100%,0 0);opacity:.5}70%{clip-path:polygon(0 0,100% 0,100% 100%,0 100%);opacity:.8}to{clip-path:inset(0);opacity:1}}.ca__fx-clipGridCollapse{animation-name:clipGridCollapse}@keyframes clipGridCollapse{0%{clip-path:inset(0);opacity:1}40%{clip-path:polygon(0 0,100% 0,100% 100%,0 100%);opacity:.5}to{clip-path:polygon(0 0,0 0,0 0,0 0);opacity:0}}.ca__fx-clipVerticalSplitIn{animation-name:clipVerticalSplitIn}@keyframes clipVerticalSplitIn{0%{clip-path:polygon(50% 0,50% 0,50% 100%,50% 100%);opacity:0}to{clip-path:polygon(0 0,100% 0,100% 100%,0 100%);opacity:1}}.ca__fx-clipVerticalSplitOut{animation:clipVerticalSplitOut .9s ease-in forwards}@keyframes clipVerticalSplitOut{0%{clip-path:polygon(0 0,100% 0,100% 100%,0 100%);opacity:1}to{clip-path:polygon(50% 0,50% 0,50% 100%,50% 100%);opacity:0}}.ca__fx-clipCrossSweepOut{animation:clipCrossSweepOut 1.1s ease-in forwards}@keyframes clipCrossSweepOut{0%{clip-path:inset(0);opacity:1}60%{clip-path:polygon(25% 25%,75% 25%,75% 75%,25% 75%);opacity:.6}to{clip-path:polygon(50% 50%,50% 50%,50% 50%,50% 50%);opacity:0}}.ca__fx-clipBurstCircle{animation:clipBurstCircle .9s cubic-bezier(.45,0,.55,1.5) both;clip-path:circle(0 at 50% 50%)}@keyframes clipBurstCircle{0%{clip-path:circle(0 at 50% 50%);opacity:0}60%{clip-path:circle(60% at 50% 50%);opacity:1}to{clip-path:circle(120% at 50% 50%)}}.ca__fx-clipDiamondIn{animation:clipDiamondIn .8s ease-out both}@keyframes clipDiamondIn{0%{clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);opacity:0;transform:scale(.6)}to{clip-path:inset(0);opacity:1;transform:scale(1)}}.ca__fx-clipDiagonalSliceIn{animation:clipDiagonalSliceIn 1s ease-out both}@keyframes clipDiagonalSliceIn{0%{clip-path:polygon(0 0,0 0,0 100%,0 100%);opacity:0}to{clip-path:polygon(0 0,100% 0,100% 100%,0 100%);opacity:1}}.ca__fx-clipMultiStepReveal{animation:clipMultiStepReveal 1.1s ease-in-out both}@keyframes clipMultiStepReveal{0%{clip-path:polygon(0 0,0 0,0 100%,0 100%);opacity:0}50%{clip-path:polygon(0 0,80% 0,80% 100%,0 100%);opacity:.6}to{clip-path:polygon(0 0,100% 0,100% 100%,0 100%);opacity:1}}.ca__fx-clipMultiStepCollapse{animation:clipMultiStepCollapse 1.1s ease-in-out forwards}@keyframes clipMultiStepCollapse{0%{clip-path:polygon(0 0,100% 0,100% 100%,0 100%);opacity:1}50%{clip-path:polygon(0 0,80% 0,80% 100%,0 100%);opacity:.5}to{clip-path:polygon(0 0,0 0,0 100%,0 100%);opacity:0}}.ca__fx-clipAnimate{animation:morph 8s ease-in-out infinite alternate}@keyframes morph{0%{clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}50%{clip-path:polygon(20% 0,80% 0,100% 100%,0 100%)}to{clip-path:polygon(0 15%,15% 0,100% 0,85% 15%,100% 100%,0 100%)}}.ca__fx-clipAnimateWave{animation:wave-morph 7s ease-in-out infinite alternate}@keyframes wave-morph{0%{clip-path:polygon(0 20%,10% 25%,20% 20%,30% 25%,40% 20%,50% 25%,60% 20%,70% 25%,80% 20%,90% 25%,100% 20%,100% 80%,90% 75%,80% 80%,70% 75%,60% 80%,50% 75%,40% 80%,30% 75%,20% 80%,10% 75%,0 80%)}25%{clip-path:polygon(0 0,15% 10%,30% 0,45% 10%,60% 0,75% 10%,90% 0,100% 10%,100% 90%,90% 100%,75% 90%,60% 100%,45% 90%,30% 100%,15% 90%,0 100%)}50%{clip-path:polygon(0 30%,100% 30%,100% 70%,0 70%)}75%{clip-path:polygon(0 10%,10% 0,20% 10%,30% 0,40% 10%,50% 0,60% 10%,70% 0,80% 10%,90% 0,100% 10%,100% 90%,90% 100%,80% 90%,70% 100%,60% 90%,50% 100%,40% 90%,30% 100%,20% 90%,10% 100%,0 90%)}to{clip-path:polygon(0 20%,10% 25%,20% 20%,30% 25%,40% 20%,50% 25%,60% 20%,70% 25%,80% 20%,90% 25%,100% 20%,100% 80%,90% 75%,80% 80%,70% 75%,60% 80%,50% 75%,40% 80%,30% 75%,20% 80%,10% 75%,0 80%)}}.ca__fx-danceTop{animation-name:danceTop;transform-origin:top}@keyframes danceTop{16%{transform:skew(-14deg)}33%{transform:skew(12deg)}49%{transform:skew(-8deg)}66%{transform:skew(6deg)}83%{transform:skew(-4deg)}}.ca__fx-danceMiddle{animation-name:danceMiddle}@keyframes danceMiddle{16%{transform:skew(-14deg)}33%{transform:skew(12deg)}49%{transform:skew(-8deg)}66%{transform:skew(6deg)}83%{transform:skew(-4deg)}}.ca__fx-danceBottom{animation-name:danceBottom;transform-origin:bottom}@keyframes danceBottom{16%{transform:skew(-14deg)}33%{transform:skew(12deg)}49%{transform:skew(-8deg)}66%{transform:skew(6deg)}83%{transform:skew(-4deg)}}.ca__fx-doorCloseFromLeft{animation-name:doorCloseFromLeft}@keyframes doorCloseFromLeft{0%{opacity:0;transform:perspective(400px) rotateY(90deg);transform-origin:left}50%,to{opacity:1;transform:perspective(400px) rotateY(0deg);transform-origin:left}}.ca__fx-doorOpenFromRight{animation-name:doorOpenFromRight}@keyframes doorOpenFromRight{0%{opacity:1;transform:perspective(400px) rotateY(0deg);transform-origin:left}50%,to{opacity:0;transform:perspective(400px) rotateY(90deg);transform-origin:left}}.ca__fx-doorCloseFromRight{animation-name:doorCloseFromRight}@keyframes doorCloseFromRight{0%{opacity:0;transform:perspective(400px) rotateY(-90deg);transform-origin:right}50%,to{opacity:1;transform:perspective(400px) rotateY(0deg);transform-origin:right}}.ca__fx-doorOpenFromLeft{animation-name:doorOpenFromLeft}@keyframes doorOpenFromLeft{0%{opacity:1;transform:perspective(400px) rotateY(0deg);transform-origin:right}50%,to{opacity:0;transform:perspective(400px) rotateY(-90deg);transform-origin:right}}.ca__fx-curtainReveal{animation-name:curtainReveal;animation-timing-function:ease-out;overflow:hidden;transform-origin:top center}@keyframes curtainReveal{0%{clip-path:inset(0 0 100% 0);opacity:0}50%,to{clip-path:inset(0 0 0 0);opacity:1}}.ca__fx-curtainClose{animation-name:curtainClose;animation-timing-function:ease-in;transform-origin:top center}@keyframes curtainClose{0%{clip-path:inset(0 0 0 0);opacity:1}50%,to{clip-path:inset(0 0 100% 0);opacity:0}}.ca__fx-spiralTwistIn{animation-name:spiralTwistIn;animation-timing-function:ease-out;transform-origin:center;will-change:transform,opacity}@keyframes spiralTwistIn{0%{opacity:0;transform:scale(0) rotate(2turn)}60%{opacity:1;transform:scale(1.05) rotate(-30deg)}to{transform:scale(1) rotate(0deg)}}.ca__fx-spiralTwistOut{animation-name:spiralTwistOut;animation-timing-function:ease-in;transform-origin:center;will-change:transform,opacity}@keyframes spiralTwistOut{0%{opacity:1;transform:scale(1) rotate(0deg)}to{opacity:0;transform:scale(.3) rotate(-1turn)}}.ca__fx-spotlightFocus{animation-name:spotlightFocus;animation-timing-function:ease-in-out;transform-origin:center;will-change:transform,opacity}@keyframes spotlightFocus{0%{filter:brightness(.2) blur(4px);opacity:0;transform:scale(1.2)}to{filter:brightness(1) blur(0);opacity:1;transform:scale(1)}}.ca__fx-spotlightFade{animation-name:spotlightFade;animation-timing-function:ease-out;transform-origin:center;will-change:transform,opacity}@keyframes spotlightFade{0%{filter:brightness(1) blur(0);opacity:1;transform:scale(1)}to{filter:brightness(.3) blur(6px);opacity:0;transform:scale(.9)}}.ca__fx-elevateLeft{animation-name:elevateLeft}@keyframes elevateLeft{0%{transform:translateY(100%) rotate(-20deg);transform-origin:right}40%{transform:rotate(20deg);transform-origin:right}65%{transform:rotate(0deg);transform-origin:right}}.ca__fx-elevateRight{animation-name:elevateRight}@keyframes elevateRight{0%{transform:translateY(100%) rotate(20deg);transform-origin:left}40%{transform:rotate(-20deg);transform-origin:left}65%{transform:rotate(0deg);transform-origin:left}}.ca__fx-bobble{animation-name:bobble;transform-origin:center}@keyframes bobble{0%,to{transform:translateX(0)}15%{transform:translateX(-25%) rotate(-5deg)}30%{transform:translateX(20%) rotate(3deg)}45%{transform:translateX(-15%) rotate(-3deg)}60%{transform:translateX(10%) rotate(2deg)}75%{transform:translateX(-5%) rotate(-1deg)}90%{transform:translateX(2%) rotate(.5deg)}}.ca__fx-jelly{animation-name:jelly}@keyframes jelly{0%{transform:scale(1)}25%{transform:scale(.9,1.1)}50%{transform:scale(1.1,.9)}75%{transform:scale(.95,1.05)}to{transform:scale(1)}}.ca__fx-perspectiveTilt{animation-name:perspectiveTilt}@keyframes perspectiveTilt{50%{transform:perspective(400px) rotateY(10deg)}}.ca__fx-jello{animation:jello var(--jello-duration,.9s) both}@keyframes jello{0%,to{transform:none}30%{transform:skewX(-12.5deg) skewY(-12.5deg)}40%{transform:skewX(6.25deg) skewY(6.25deg)}50%{transform:skewX(-3.125deg) skewY(-3.125deg)}65%{transform:skewX(1.5625deg) skewY(1.5625deg)}75%{transform:skewX(-.78125deg) skewY(-.78125deg)}}.ca__fx-waveBand{animation-name:waveBand;transform-origin:center center}@keyframes waveBand{0%,to{transform:scaleY(1) translateY(0)}25%{transform:scaleY(1.1) translateY(-5px)}50%{transform:scaleY(.9) translateY(5px)}75%{transform:scaleY(1.05) translateY(-2px)}}.ca__fx-fadeIn{animation-name:fadeIn}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.ca__fx-fadeInLeft{animation-name:fadeInLeft}@keyframes fadeInLeft{0%{opacity:0;transform:translateX(-100%)}to{opacity:1}}.ca__fx-fadeInRight{animation-name:fadeInRight}@keyframes fadeInRight{0%{opacity:0;transform:translateX(100%)}to{opacity:1}}.ca__fx-fadeInTop{animation-name:fadeInTop}@keyframes fadeInTop{0%{opacity:0;transform:translateY(-100%)}to{opacity:1}}.ca__fx-fadeInBottom{animation-name:fadeInBottom}@keyframes fadeInBottom{0%{opacity:0;transform:translateY(100%)}to{opacity:1}}.ca__fx-fadeOut{animation-name:fadeOut}@keyframes fadeOut{to{opacity:0}}.ca__fx-fadeOutLeft{animation-name:fadeOutLeft}@keyframes fadeOutLeft{0%{opacity:1}to{opacity:0;transform:translateX(-100%)}}.ca__fx-fadeOutRight{animation-name:fadeOutRight}@keyframes fadeOutRight{0%{opacity:1}to{opacity:0;transform:translateX(100%)}}.ca__fx-fadeOutTop{animation-name:fadeOutTop}@keyframes fadeOutTop{0%{opacity:1}to{opacity:0;transform:translateY(-100%)}}.ca__fx-fadeOutBottom{animation-name:fadeOutBottom}@keyframes fadeOutBottom{0%{opacity:1}to{opacity:0;transform:translateY(100%)}}.ca__fx-tiltFadeBack{animation:tiltFadeBack 1s cubic-bezier(.45,0,.55,1) forwards;backface-visibility:hidden;transform-style:preserve-3d;will-change:transform,opacity}@keyframes tiltFadeBack{0%{opacity:1;transform:perspective(800px) rotateX(0deg) translateZ(0)}to{opacity:0;transform:perspective(800px) rotateX(40deg) translateZ(-100px)}}.ca__fx-flipTwistRight{animation-name:flipTwistRight;animation-timing-function:ease-out;transform-origin:center right;will-change:transform,opacity}@keyframes flipTwistRight{0%{opacity:0;transform:perspective(1000px) rotateY(90deg) rotate(-25deg)}60%{opacity:1;transform:perspective(1000px) rotateY(-10deg) rotate(5deg)}to{transform:perspective(1000px) rotateY(0deg) rotate(0deg)}}.ca__fx-flipTwistLeft{animation-name:flipTwistLeft;animation-timing-function:ease-out;transform-origin:center left;will-change:transform,opacity}@keyframes flipTwistLeft{0%{opacity:0;transform:perspective(1000px) rotateY(-90deg) rotate(25deg)}60%{opacity:1;transform:perspective(1000px) rotateY(10deg) rotate(-5deg)}to{transform:perspective(1000px) rotateY(0deg) rotate(0deg)}}.ca__fx-flipTwistTop{animation-name:flipTwistTop;transform-origin:top center;will-change:transform,opacity}@keyframes flipTwistTop{0%{opacity:0;transform:perspective(800px) rotateX(90deg) rotate(20deg) translateY(-80%)}50%{opacity:1;transform:perspective(800px) rotateX(-10deg) rotate(-10deg)}to{transform:perspective(800px) rotateX(0deg) rotate(0deg)}}.ca__fx-flipTwistBottom{animation-name:flipTwistBottom;transform-origin:bottom center;will-change:transform,opacity}@keyframes flipTwistBottom{0%{opacity:0;transform:perspective(800px) rotateX(-90deg) rotate(-20deg) translateY(80%)}50%{opacity:1;transform:perspective(800px) rotateX(10deg) rotate(10deg)}to{transform:perspective(800px) rotateX(0deg) rotate(0deg)}}.ca__fx-flipTwistPop{animation-name:flipTwistPop;transform-origin:center;will-change:transform,opacity}@keyframes flipTwistPop{0%{opacity:0;transform:perspective(600px) rotateY(60deg) rotate(-10deg) scale(.8)}60%{opacity:1;transform:perspective(600px) rotateY(-10deg) rotate(5deg) scale(1.05)}to{transform:perspective(600px) rotateY(0deg) rotate(0deg) scale(1)}}.ca__fx-flipTwistCombo{animation-duration:1.5s;animation-name:flipTwistCombo;animation-timing-function:cubic-bezier(.3,1.4,.5,1);transform-origin:top right;will-change:transform,opacity}@keyframes flipTwistCombo{0%{opacity:0;transform:perspective(1000px) rotateX(90deg) rotateY(60deg) rotate(-30deg) translate(50%,-100%)}50%{opacity:1;transform:perspective(1000px) rotateX(-10deg) rotateY(-10deg) rotate(5deg)}to{transform:perspective(1000px) rotateX(0deg) rotateY(0deg) rotate(0deg) translate(0)}}.ca__fx-flipTwistVertical{animation-name:flipTwistVertical;transform-origin:center top;will-change:transform,opacity}@keyframes flipTwistVertical{0%{opacity:0;transform:perspective(900px) rotateX(-90deg) rotate(15deg)}50%{opacity:1;transform:perspective(900px) rotateX(15deg) rotate(-5deg)}to{transform:perspective(900px) rotateX(0deg) rotate(0deg)}}.ca__fx-flipTwistDiagonal{animation-name:flipTwistDiagonal;transform-origin:top right;will-change:transform,opacity}@keyframes flipTwistDiagonal{0%{opacity:0;transform:perspective(1000px) rotateX(-60deg) rotateY(60deg) rotate(25deg)}50%{opacity:1;transform:rotateX(10deg) rotateY(-10deg) rotate(-5deg)}to{transform:rotateX(0deg) rotateY(0deg) rotate(0deg)}}.ca__fx-flipTwistSlam{animation-name:flipTwistSlam;animation-timing-function:cubic-bezier(.3,1.5,.4,1);transform-origin:center left;will-change:transform,opacity}@keyframes flipTwistSlam{0%{opacity:0;transform:perspective(800px) rotateY(-120deg) rotate(20deg)}70%{opacity:1;transform:rotateY(15deg) rotate(-10deg)}to{transform:rotateY(0deg) rotate(0deg)}}.ca__fx-flipTwistZoom{animation-name:flipTwistZoom;transform-origin:center;will-change:transform,opacity}@keyframes flipTwistZoom{0%{opacity:0;transform:perspective(1000px) rotateY(75deg) scale(1.3)}60%{opacity:1;transform:rotateY(-15deg) scale(.95)}to{transform:rotateY(0deg) scale(1)}}.ca__fx-flipTwistDrop{animation-name:flipTwistDrop;transform-origin:top center;will-change:transform,opacity}@keyframes flipTwistDrop{0%{opacity:0;transform:perspective(800px) rotateX(80deg) translateY(-80%)}50%{opacity:1;transform:rotateX(-15deg) translateY(5%)}to{transform:rotateX(0deg) translateY(0)}}.ca__fx-flipTwistTiltIn{animation-name:flipTwistTiltIn;transform-origin:center;will-change:transform,opacity}@keyframes flipTwistTiltIn{0%{opacity:0;transform:perspective(900px) rotateY(90deg) rotate(-30deg)}40%{opacity:1;transform:rotateY(-20deg) rotate(10deg)}to{transform:rotateY(0deg) rotate(0deg)}}.ca__fx-flipTwistHover{display:inline-block;transform-origin:center;transition:transform .5s ease,opacity .5s ease}.ca__fx-flipTwistHover:hover{opacity:.95;transform:perspective(800px) rotateY(15deg) rotate(-5deg) scale(1.05)}.ca__fx-flipTwistTiltHover{display:inline-block;transform-origin:center;transition:transform .4s ease-in-out}.ca__fx-flipTwistTiltHover:hover{transform:perspective(900px) rotate(10deg) rotateY(20deg)}.ca__fx-flipTwistZoomHover{display:inline-block;transform-origin:center;transition:transform .6s ease-out}.ca__fx-flipTwistZoomHover:hover{transform:perspective(1000px) rotateY(-15deg) scale(1.1)}.ca__fx-flipTwistOutRight{animation-name:flipTwistOutRight;transform-origin:center right;will-change:transform,opacity}@keyframes flipTwistOutRight{0%{opacity:1;transform:rotateY(0deg) rotate(0deg)}60%{opacity:.7;transform:rotateY(-20deg) rotate(10deg)}to{opacity:0;transform:rotateY(90deg) rotate(-15deg)}}.ca__fx-flipTwistOutLeft{animation-name:flipTwistOutLeft;transform-origin:center left;will-change:transform,opacity}@keyframes flipTwistOutLeft{0%{opacity:1;transform:rotateY(0deg)}60%{opacity:.6;transform:rotateY(20deg) rotate(-10deg)}to{opacity:0;transform:rotateY(-90deg) rotate(10deg)}}.ca__fx-flipTwistOutTop{animation-name:flipTwistOutTop;transform-origin:top center;will-change:transform,opacity}@keyframes flipTwistOutTop{0%{opacity:1;transform:rotateX(0deg)}50%{opacity:.6;transform:rotateX(20deg)}to{opacity:0;transform:rotateX(-90deg) translateY(-60%)}}.ca__fx-flipTwistOutZoom{animation-name:flipTwistOutZoom;transform-origin:center;will-change:transform,opacity}@keyframes flipTwistOutZoom{0%{opacity:1;transform:rotateY(0deg) scale(1)}60%{opacity:.6;transform:rotateY(-15deg) scale(.9)}to{opacity:0;transform:rotateY(75deg) scale(.5)}}.ca__fx-flipX{animation-name:flipX;backface-visibility:var(--cssanimation-backface-visibility);transform-style:var(--cssanimation-transform-style);will-change:var(--cssanimation-will-change)}@keyframes flipX{0%{opacity:0;transform:perspective(600px) rotateX(-180deg)}to{transform:perspective(600px) rotateX(-1turn)}}.ca__fx-flipXZoomIn{animation-name:flipXZoomIn;backface-visibility:var(--cssanimation-backface-visibility);transform-style:var(--cssanimation-transform-style);will-change:var(--cssanimation-will-change)}@keyframes flipXZoomIn{0%{animation-timing-function:ease-out;transform:perspective(600px) rotateX(0deg) scale(1)}40%{animation-timing-function:ease-out;transform:perspective(600px) rotateX(-180deg) scale(1.8)}80%{animation-timing-function:ease-in;transform:perspective(600px) rotateX(-1turn) scale(.7)}to{transform:scale(1)}}.ca__fx-flipXZoomOut{animation-name:flipXZoomOut;backface-visibility:var(--cssanimation-backface-visibility);transform-style:var(--cssanimation-transform-style);will-change:var(--cssanimation-will-change)}@keyframes flipXZoomOut{0%{animation-timing-function:ease-out;transform:perspective(600px) rotateX(0deg) scale(1)}40%{animation-timing-function:ease-out;transform:perspective(600px) rotateX(180deg) scale(1.8)}80%{animation-timing-function:ease-in;transform:perspective(600px) rotateX(1turn) scale(.7)}to{transform:scale(1)}}.ca__fx-flipOutLeft{animation-name:flipOutLeft;backface-visibility:var(--cssanimation-backface-visibility);transform-style:var(--cssanimation-transform-style);will-change:var(--cssanimation-will-change)}@keyframes flipOutLeft{0%{opacity:1;transform:perspective(600px) rotateY(0deg)}to{opacity:0;transform:perspective(600px) rotateY(-90deg) translateX(-60px)}}.ca__fx-flipOutRight{animation-name:flipOutRight;backface-visibility:var(--cssanimation-backface-visibility);transform-style:var(--cssanimation-transform-style);will-change:var(--cssanimation-will-change)}@keyframes flipOutRight{0%{opacity:1;transform:perspective(600px) rotateY(0deg)}to{opacity:0;transform:perspective(600px) rotateY(90deg) translateX(60px)}}.ca__fx-flipOutXLeft{animation-name:flipOutXLeft;backface-visibility:var(--cssanimation-backface-visibility);transform-style:var(--cssanimation-transform-style);will-change:var(--cssanimation-will-change)}@keyframes flipOutXLeft{0%{opacity:1;transform:perspective(600px) rotateX(0deg)}to{opacity:0;transform:perspective(600px) rotateX(-90deg) translateX(-60px)}}.ca__fx-flipOutXRight{animation-name:flipOutXRight;backface-visibility:var(--cssanimation-backface-visibility);transform-style:var(--cssanimation-transform-style);will-change:var(--cssanimation-will-change)}@keyframes flipOutXRight{0%{opacity:1;transform:perspective(600px) rotateX(0deg)}to{opacity:0;transform:perspective(600px) rotateX(90deg) translateX(60px)}}.ca__fx-flipY{animation-name:flipY;backface-visibility:var(--cssanimation-backface-visibility);transform-style:var(--cssanimation-transform-style);will-change:var(--cssanimation-will-change)}@keyframes flipY{0%{opacity:0;transform:perspective(600px) rotateY(180deg)}to{transform:perspective(600px) rotateY(1turn)}}.ca__fx-flipYZoomIn{animation-name:flipYZoomIn;backface-visibility:var(--cssanimation-backface-visibility);transform-style:var(--cssanimation-transform-style);will-change:var(--cssanimation-will-change)}@keyframes flipYZoomIn{0%{animation-timing-function:ease-out;transform:perspective(600px) rotateY(0deg) scale(1)}40%{animation-timing-function:ease-out;transform:perspective(600px) rotateY(180deg) scale(1.6)}80%{animation-timing-function:ease-in;transform:perspective(600px) rotateY(1turn) scale(.7)}to{transform:scale(1)}}.ca__fx-flipYZoomOut{animation-name:flipYZoomOut;backface-visibility:var(--cssanimation-backface-visibility);transform-style:var(--cssanimation-transform-style);will-change:var(--cssanimation-will-change)}@keyframes flipYZoomOut{0%{animation-timing-function:ease-out;transform:perspective(600px) rotateY(0deg) scale(1)}40%{animation-timing-function:ease-out;transform:perspective(600px) rotateY(180deg) scale(.6)}80%{animation-timing-function:ease-in;transform:perspective(600px) rotateY(1turn) scale(1.8)}to{transform:scale(1)}}.ca__fx-flyInTop{animation-name:flyInTop}@keyframes flyInTop{0%{opacity:0;transform:translateY(80px)}50%{animation-timing-function:ease-out;transform:translateY(-50px)}}.ca__fx-flyInBottom{animation-name:flyInBottom}@keyframes flyInBottom{0%{opacity:0;transform:translateY(-80px)}50%{animation-timing-function:ease-out;transform:translateY(50px)}}.ca__fx-flyOutTop{animation-name:flyOutTop}@keyframes flyOutTop{30%{animation-timing-function:ease-out;transform:translateY(80px)}80%{animation-timing-function:ease-out;transform:translateY(-50px)}to{opacity:0}}.ca__fx-flyOutBottom{animation-name:flyOutBottom}@keyframes flyOutBottom{30%{animation-timing-function:ease-out;transform:translateY(-80px)}80%{animation-timing-function:ease-out;transform:translateY(50px)}to{opacity:0}}.ca__fx-microGlitch{animation-name:microGlitch;animation-timing-function:steps(1);will-change:transform,opacity}@keyframes microGlitch{0%,to{opacity:1;transform:translate(0)}20%{transform:translate(-2px,1px)}40%{transform:translate(3px,-1px)}60%{transform:translate(-1px,2px)}80%{transform:translate(1px,-2px)}}.ca__fx-glitchPopIn{animation-direction:normal;animation-iteration-count:1;animation-name:glitchPopIn;animation-timing-function:ease-out;will-change:transform,opacity}@keyframes glitchPopIn{0%{filter:contrast(2) brightness(.5);opacity:0;transform:scale(.8)}30%{filter:contrast(1.5) brightness(1.5);opacity:1;transform:scale(1.2)}50%{transform:scale(.95) translate(-2px,2px)}70%{transform:translate(2px,-2px)}to{filter:none;transform:scale(1)}}.ca__fx-glitchExit{animation-direction:normal;animation-iteration-count:1;animation-name:glitchExit;animation-timing-function:steps(2);will-change:transform,opacity}@keyframes glitchExit{0%{opacity:1;transform:translate(0)}30%{transform:translate(4px,-2px)}60%{transform:translate(-4px,2px)}to{opacity:0;transform:translate(-10px,10px) scale(.9)}}.ca__fx-glitchJitter{animation:glitchJitter .6s steps(2) infinite}@keyframes glitchJitter{0%{transform:translate(0)}20%{transform:translate(-2px,2px)}40%{transform:translate(2px,-2px)}60%{transform:translate(-1px,1px)}80%{transform:translate(1px,-1px)}to{transform:translate(0)}}.ca__fx-glitchSlice{animation:glitchSlice 1s linear infinite alternate}@keyframes glitchSlice{0%{clip-path:inset(0 0 0 0);transform:translate(0)}20%{clip-path:inset(10% 0 85% 0);transform:translate(-5px)}40%{clip-path:inset(60% 0 15% 0);transform:translate(5px)}60%{clip-path:inset(30% 0 40% 0);transform:translate(-3px)}80%{clip-path:inset(45% 0 30% 0);transform:translate(3px)}to{clip-path:inset(0 0 0 0);transform:translate(0)}}.ca__fx-glitchFlash{animation:glitchFlash .15s steps(2) infinite}@keyframes glitchFlash{0%,to{opacity:1}50%{opacity:0}}.ca__fx-glitchSliceInCollapse{animation-name:glitchSliceInCollapse;animation-timing-function:steps(5)}@keyframes glitchSliceInCollapse{0%{clip-path:inset(100% 0 0 0);opacity:0;transform:scaleY(0)}40%{clip-path:inset(60% 0 10% 0);transform:scaleY(.6)}70%{clip-path:inset(20% 0 20% 0);transform:scaleY(.9)}to{clip-path:inset(0 0 0 0);opacity:1;transform:scaleY(1)}}.ca__fx-typewriterCorrupt{animation:typewriterCorrupt 1.5s steps(2) infinite}@keyframes typewriterCorrupt{0%{filter:none;opacity:1;transform:translate(0)}25%{filter:blur(1px) hue-rotate(30deg);transform:translate(-1px)}50%{filter:grayscale(.5);transform:translate(1px)}75%{opacity:.9;transform:translate(-.5px)}to{filter:none;opacity:1;transform:translate(0)}}.ca__fx-glitchSliceYank{animation:glitchSliceYank 1s steps(2) infinite}@keyframes glitchSliceYank{0%{clip-path:inset(0 0 0 0);transform:translate(0)}15%{clip-path:inset(10% 0 80% 0);transform:translateX(-5px)}30%{clip-path:inset(60% 0 25% 0);transform:translateX(4px)}45%{clip-path:inset(40% 0 50% 0);transform:translateX(-3px)}60%{clip-path:inset(20% 0 70% 0);transform:translateX(3px)}75%{clip-path:inset(50% 0 30% 0);transform:translateX(-2px)}to{clip-path:inset(0 0 0 0);transform:translate(0)}}.ca__fx-glitchSliceInSharp{animation-name:glitchSliceInSharp;animation-timing-function:ease-out}@keyframes glitchSliceInSharp{0%{clip-path:inset(100% 0 0 0);opacity:0;transform:translateX(-10px)}40%{clip-path:inset(60% 0 10% 0);transform:translateX(6px)}70%{clip-path:inset(30% 0 30% 0);transform:translateX(-4px)}to{clip-path:inset(0 0 0 0);opacity:1;transform:translateX(0)}}.ca__fx-glitchSliceExitSharp{animation:glitchSliceExitSharp .8s ease-in forwards}@keyframes glitchSliceExitSharp{0%{clip-path:inset(0 0 0 0);opacity:1;transform:translateX(0)}30%{clip-path:inset(30% 0 30% 0);transform:translateX(-4px)}60%{clip-path:inset(60% 0 10% 0);transform:translateX(6px)}to{clip-path:inset(0 0 100% 0);opacity:0;transform:translateX(-12px)}}.ca__fx-glitchSliceTilt{animation:glitchSliceTilt 1.2s linear infinite}@keyframes glitchSliceTilt{0%{clip-path:inset(0 0 0 0);transform:skew(0deg,0deg)}25%{clip-path:inset(10% 0 80% 0);transform:skew(2deg,0)}50%{clip-path:inset(30% 0 40% 0);transform:skew(-2deg,1deg)}75%{clip-path:inset(5% 0 70% 0);transform:skew(1.5deg,-.5deg)}to{clip-path:inset(0 0 0 0);transform:skew(0deg,0deg)}}.ca__fx-glitchSliceInTilt{animation-name:glitchSliceInTilt}@keyframes glitchSliceInTilt{0%{clip-path:inset(100% 0 0 0);opacity:0;transform:skew(8deg,-2deg) scaleY(.8)}50%{clip-path:inset(60% 0 10% 0);transform:skew(-5deg,1deg)}to{clip-path:inset(0 0 0 0);opacity:1;transform:skew(0,0) scaleY(1)}}.ca__fx-glitchSliceExitTilt{animation:glitchSliceExitTilt 1s ease-in forwards}@keyframes glitchSliceExitTilt{0%{clip-path:inset(0 0 0 0);opacity:1;transform:skew(0deg,0deg)}40%{clip-path:inset(40% 0 40% 0);transform:skew(-5deg,1deg)}70%{clip-path:inset(60% 0 10% 0);transform:skew(8deg,-2deg)}to{clip-path:inset(100% 0 0 0);opacity:0;transform:skew(0deg,0deg) scaleY(.8)}}.ca__fx-glitchSliceCrack{animation:glitchSliceCrack 1.4s infinite}@keyframes glitchSliceCrack{0%,to{clip-path:inset(0 0 0 0);transform:translate(0)}20%{clip-path:inset(45% 0 45% 0);transform:translateX(5px)}50%{clip-path:inset(50% 0 40% 0);transform:translateX(-5px)}70%{clip-path:inset(48% 0 42% 0);transform:translateX(3px)}}.ca__fx-glitchSliceStagger{animation:glitchSliceStagger 3s step-end infinite}@keyframes glitchSliceStagger{0%{clip-path:inset(0 0 0 0);transform:none}10%{clip-path:inset(10% 0 70% 0);transform:translateX(4px)}20%{clip-path:inset(60% 0 20% 0);transform:translateX(-3px)}30%{clip-path:inset(35% 0 50% 0);transform:translateX(2px)}40%,to{clip-path:inset(0 0 0 0);transform:none}}.ca__fx-glitchScanBurst{animation:glitchScanBurst 1.4s ease-out both}@keyframes glitchScanBurst{0%{clip-path:polygon(0 100%,100% 100%,100% 100%,0 100%);filter:brightness(.1);opacity:0;transform:scaleY(1.1)}30%{clip-path:polygon(0 0,100% 0,100% 20%,0 20%);filter:hue-rotate(60deg)}60%{clip-path:polygon(0 0,100% 0,100% 100%,0 100%);filter:brightness(1.2)}to{filter:none;opacity:1;transform:scaleY(1)}}.ca__fx-hudAlertGlitch{animation:hudAlertGlitch .6s steps(2) infinite;color:#f44}@keyframes hudAlertGlitch{0%,to{opacity:1;transform:translate(0)}50%{opacity:0;transform:translate(-2px,2px)}}.ca__fx-glitchSequence{animation:initiateSequence 1.2s steps(3) forwards;color:#00f9ff;text-shadow:0 0 4px #00f9ff}@keyframes initiateSequence{0%{opacity:0;transform:scale(.95)}50%{opacity:1;transform:scale(1.02)}to{opacity:1;transform:scale(1)}}.ca__fx-corruptTextScramble{animation:corruptTextScramble 1.2s steps(2) infinite;color:#ff0059;text-shadow:0 0 4px #ff0059}@keyframes corruptTextScramble{0%{filter:hue-rotate(0deg);opacity:1;transform:skewX(0)}50%{filter:hue-rotate(180deg);opacity:.6;transform:skewX(15deg)}to{filter:hue-rotate(0deg);opacity:1;transform:skewX(0)}}.ca__fx-corruptTextOffset{animation:corruptTextOffset .5s steps(3) infinite;text-shadow:2px 0 #f0f,-2px 0 #0ff}@keyframes corruptTextOffset{0%{transform:translateX(0)}50%{transform:translateX(1px)}to{transform:translateX(-1px)}}.ca__fx-criticalBreach{animation:criticalBreach 1.2s steps(2) infinite;background:#000;color:#ff1a1a;text-shadow:0 0 4px red}@keyframes criticalBreach{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(1.05)}}.ca__fx-glitchCompressIn{animation-name:glitchCompressIn;animation-timing-function:steps(3);will-change:transform,opacity}@keyframes glitchCompressIn{0%{filter:blur(6px) brightness(.2);opacity:0;transform:scale(2,.6)}40%{filter:blur(2px);opacity:.8;transform:scale(1.5,.95)}to{filter:none;opacity:1;transform:scale(1)}}.ca__fx-glitchCompressOut{animation-name:glitchCompressOut;animation-timing-function:steps(3);will-change:transform,opacity}@keyframes glitchCompressOut{0%{filter:none;opacity:1;transform:scale(1)}60%{filter:blur(2px);opacity:.8;transform:scale(1.5,.95)}to{filter:blur(6px) brightness(.2);opacity:0;transform:scale(2,.6)}}.ca__fx-hangAndDropLeft{animation-name:hangAndDropLeft;backface-visibility:var(--cssanimation-backface-visibility);transform-origin:left;transform-style:var(--cssanimation-transform-style);will-change:var(--cssanimation-will-change)}@keyframes hangAndDropLeft{0%{transform:rotate(0deg)}50%{transform:rotate(100deg)}60%{opacity:1;transform:rotate(90deg)}90%{filter:blur(2px);opacity:.4}to{opacity:0;transform:translateY(600%) rotate(120deg) scale(.95)}}.ca__fx-hangAndDropRight{animation-name:hangAndDropRight;backface-visibility:var(--cssanimation-backface-visibility);transform-origin:right;transform-style:var(--cssanimation-transform-style);will-change:var(--cssanimation-will-change)}@keyframes hangAndDropRight{0%{transform:rotate(0)}50%{transform:rotate(-100deg)}60%{opacity:1;transform:rotate(-90deg)}90%{filter:blur(2px);opacity:.4}to{opacity:0;transform:translateY(600%) rotate(-120deg) scale(.95)}}.ca__fx-hangOnLeft{animation-name:hangOnLeft;backface-visibility:var(--cssanimation-backface-visibility);transform-origin:left;transform-style:var(--cssanimation-transform-style);will-change:var(--cssanimation-will-change)}@keyframes hangOnLeft{0%{transform:rotate(0)}40%{transform:rotate(100deg)}55%{transform:rotate(80deg)}70%{transform:rotate(95deg)}85%{transform:rotate(85deg)}to{transform:rotate(90deg)}}.ca__fx-hangOnRight{animation-name:hangOnRight;backface-visibility:var(--cssanimation-backface-visibility);transform-origin:right;transform-style:var(--cssanimation-transform-style);will-change:var(--cssanimation-will-change)}@keyframes hangOnRight{0%{transform:rotate(0)}40%{transform:rotate(-100deg)}55%{transform:rotate(-80deg)}70%{transform:rotate(-95deg)}85%{transform:rotate(-85deg)}to{transform:rotate(-90deg)}}.ca__fx-heartbeatSlow{animation-duration:.5s;animation-iteration-count:var(--cssanimation-infinite);animation-name:heartbeatSlow}@keyframes heartbeatSlow{0%,to{transform:scale(1)}35%,65%{transform:scale(1.2)}}.ca__fx-heartbeatFast{animation-iteration-count:var(--cssanimation-infinite);animation-name:heartbeatFast}@keyframes heartbeatFast{0%,28%,70%,to{transform:scale(1)}14%,42%{transform:scale(1.3)}}.ca__fx-elasticPulse{animation:elasticPulse var(--duration,1.2s) ease-in-out infinite}@keyframes elasticPulse{0%,to{transform:scale(1)}30%{transform:scale(1.1)}60%{transform:scale(.95)}}.ca__fx-pulseShake{animation-iteration-count:infinite;animation-name:pulseShake}@keyframes pulseShake{90%{transform:scale(1)}92%{transform:scale(1.2)}96%{transform:scale(1)}98%{transform:scale(1.1)}}.ca__fx-kickOutBehind{animation-name:kickOutBehind;animation-timing-function:cubic-bezier(0,.9,.7,1.45);backface-visibility:var(--cssanimation-backface-visibility);transform-origin:top;transform-style:var(--cssanimation-transform-style);will-change:var(--cssanimation-will-change)}@keyframes kickOutBehind{0%{transform:rotate(0deg)}40%{transform:rotate(45deg)}to{transform:rotate(0deg)}}.ca__fx-kickOutFront{animation-name:kickOutFront;animation-timing-function:cubic-bezier(0,.9,.7,1.45);backface-visibility:var(--cssanimation-backface-visibility);transform-origin:top;transform-style:var(--cssanimation-transform-style);will-change:var(--cssanimation-will-change)}@keyframes kickOutFront{0%{transform:rotate(0deg)}40%{transform:rotate(-45deg)}to{transform:rotate(0deg)}}.ca__fx-kiteFloatInRight{animation-name:kiteFloatInRight;transform-origin:top left;will-change:transform,opacity}@keyframes kiteFloatInRight{0%{opacity:0;transform:translate(80%,-100%) rotate(15deg)}30%{opacity:1;transform:translate(-10%,20%) rotate(-10deg)}60%{transform:translate(5%,-10%) rotate(6deg)}80%{transform:translate(-2%,5%) rotate(-3deg)}to{transform:translate(0) rotate(0deg)}}.ca__fx-kiteFloatInLeft{animation-name:kiteFloatInLeft;transform-origin:top right;will-change:transform,opacity}@keyframes kiteFloatInLeft{0%{opacity:0;transform:translate(-80%,-100%) rotate(-15deg)}30%{opacity:1;transform:translate(10%,20%) rotate(10deg)}60%{transform:translate(-5%,-10%) rotate(-6deg)}80%{transform:translate(2%,5%) rotate(3deg)}to{transform:translate(0) rotate(0deg)}}.ca__fx-kiteHoverLoop{animation-iteration-count:infinite;animation-name:kiteHoverLoop;animation-timing-function:ease-in-out;transform-origin:center;will-change:transform}@keyframes kiteHoverLoop{0%{transform:translateY(0) rotate(0deg)}25%{transform:translateY(-4%) rotate(2deg)}50%{transform:translateY(2%) rotate(-3deg)}75%{transform:translateY(-3%) rotate(1.5deg)}to{transform:translateY(0) rotate(0deg)}}.ca__fx-kiteEntrySnap{animation-name:kiteEntrySnap;animation-timing-function:cubic-bezier(.25,.9,.4,1.4);transform-origin:center top;will-change:transform,opacity}@keyframes kiteEntrySnap{0%{opacity:0;transform:translateY(-100%) rotate(20deg)}50%{opacity:1;transform:translateY(10%) rotate(-10deg)}to{transform:translateY(0) rotate(0deg)}}.ca__fx-kiteWaveExit{animation-name:kiteWaveExit;animation-timing-function:ease-in;transform-origin:bottom left;will-change:transform,opacity}@keyframes kiteWaveExit{0%{opacity:1;transform:translate(0) rotate(0deg)}30%{transform:translate(-10%,-10%) rotate(-10deg)}70%{opacity:.5;transform:translate(20%,-80%) rotate(25deg)}to{opacity:0;transform:translate(50%,-120%) rotate(40deg)}}.ca__fx-kiteWhipIn{animation-name:kiteWhipIn;animation-timing-function:cubic-bezier(.4,-.3,.7,1.8);transform-origin:top left;will-change:transform,opacity}@keyframes kiteWhipIn{0%{opacity:0;transform:translate(-150%,-80%) rotate(-35deg)}60%{opacity:1;transform:translate(10%,10%) rotate(15deg)}85%{transform:translate(-5%,-5%) rotate(-7deg)}to{transform:translate(0) rotate(0deg)}}.ca__fx-kiteSwingEntry{animation-name:kiteSwingEntry;transform-origin:center;will-change:transform,opacity}@keyframes kiteSwingEntry{0%{opacity:0;transform:translate(-60%,-100%) rotate(-80deg) scale(.6)}40%{opacity:1;transform:translate(10%,10%) rotate(30deg) scale(1.05)}70%{transform:rotate(-15deg)}to{transform:translate(0) rotate(0deg) scale(1)}}.ca__fx-kiteExitLift{animation-name:kiteExitLift;animation-timing-function:ease-in;transform-origin:bottom right;will-change:transform,opacity}@keyframes kiteExitLift{0%{opacity:1;transform:translate(0) rotate(0deg)}40%{opacity:.8;transform:translate(10%,-30%) rotate(15deg)}80%{opacity:.4;transform:translate(-20%,-90%) rotate(-25deg)}to{opacity:0;transform:translate(40%,-150%) rotate(45deg)}}.ca__fx-kiteSnapBounceIn{animation-name:kiteSnapBounceIn;animation-timing-function:cubic-bezier(.45,1.5,.55,1);transform-origin:center top;will-change:transform,opacity}@keyframes kiteSnapBounceIn{0%{opacity:0;transform:translateY(-150%) rotate(25deg)}60%{opacity:1;transform:translateY(10%) rotate(-10deg)}80%{transform:translateY(-5%) rotate(5deg)}to{transform:translateY(0) rotate(0deg)}}.ca__fx-kiteFlipTwist{animation-name:kiteFlipTwist;animation-timing-function:ease-out;transform-origin:center;will-change:transform,opacity}@keyframes kiteFlipTwist{0%{opacity:0;transform:perspective(800px) rotateX(90deg) rotate(-45deg) translateY(-100%)}50%{opacity:1;transform:perspective(800px) rotateX(-30deg) rotate(10deg) translateY(10%)}to{transform:perspective(800px) rotateX(0deg) rotate(0deg) translateY(0)}}.ca__fx-kiteTetheredFloat{animation-duration:5s;animation-iteration-count:infinite;animation-name:kiteTetheredFloat;animation-timing-function:ease-in-out;transform-origin:center;will-change:transform,opacity}@keyframes kiteTetheredFloat{0%{transform:translateY(0) rotate(0deg)}25%{transform:translateY(-5%) rotate(2deg)}50%{transform:translateY(3%) rotate(-2deg)}75%{transform:translateY(-3%) rotate(1.5deg)}to{transform:translateY(0) rotate(0deg)}}.ca__fx-kiteCollapse{animation-name:kiteCollapse;animation-timing-function:ease-in;transform-origin:top center;will-change:transform,opacity}@keyframes kiteCollapse{0%{opacity:1;transform:rotate(0deg) translateY(0)}30%{opacity:1;transform:rotate(20deg) translateY(20%)}60%{opacity:.5;transform:rotate(-60deg) translateY(60%) scale(.8)}to{opacity:0;transform:rotate(90deg) translateY(120%) scale(.5)}}.ca__fx-kiteDragDrop{animation-name:kiteDragDrop;animation-timing-function:cubic-bezier(.3,1.5,.6,1);transform-origin:top center;will-change:transform,opacity}@keyframes kiteDragDrop{0%{opacity:0;transform:translateY(-80%) rotate(15deg) scale(1.05)}60%{opacity:1;transform:translateY(5%) rotate(-8deg)}80%{transform:translateY(-3%) rotate(4deg)}to{transform:translateY(0) rotate(0deg) scale(1)}}.ca__fx-sparklePopIn{animation-name:sparklePopIn;animation-timing-function:ease-out;filter:brightness(1.5);transform-origin:center;will-change:transform,opacity}@keyframes sparklePopIn{0%{filter:brightness(3) blur(4px);opacity:0;transform:scale(.3) rotate(-15deg)}60%{filter:brightness(1.8);transform:scale(1.1) rotate(5deg)}to{filter:none;opacity:1;transform:scale(1) rotate(0)}}.ca__fx-wandReveal{animation-name:wandReveal;animation-timing-function:ease-out;transform-origin:left center;will-change:transform,opacity}@keyframes wandReveal{0%{filter:drop-shadow(0 0 8px gold);opacity:0;transform:translateX(-60%) rotate(-15deg)}80%{filter:drop-shadow(0 0 4px rgba(255,255,255,.6))}to{filter:none;opacity:1;transform:translateX(0) rotate(0)}}.ca__fx-magicDustExit{animation-name:magicDustExit;animation-timing-function:ease-in;transform-origin:center;will-change:transform,opacity}@keyframes magicDustExit{0%{filter:blur(0);opacity:1;transform:scale(1)}60%{filter:blur(4px);opacity:.5;transform:scale(1.1) translateY(-10%)}to{filter:blur(10px);opacity:0;transform:scale(1.2) translateY(-40%)}}.ca__fx-scanReveal{animation-name:scanReveal;animation-timing-function:ease-out;transform-origin:center;will-change:transform,opacity}@keyframes scanReveal{0%{opacity:0;transform:scaleY(0) skewY(-20deg)}60%{opacity:1;transform:scaleY(1.1) skewY(5deg)}to{transform:scaleY(1) skewY(0deg)}}.ca__fx-systemBootIn{animation:systemBootIn 1.4s ease-out both;filter:grayscale(1);transform-origin:top;will-change:transform,opacity}@