.motion-base{will-change:transform,opacity;transition-property:transform,opacity;transition-timing-function:cubic-bezier(.22,1,.36,1)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes scaleOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.9)}}@keyframes slideUp{0%{opacity:0;transform:translateY(100px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(100px)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(8px)}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes blobRotate1{0%,to{transform:scale(1) rotate(0deg)}50%{transform:scale(1.2) rotate(90deg)}}@keyframes blobRotate2{0%,to{transform:scale(1.2) rotate(90deg)}50%{transform:scale(1) rotate(0deg)}}.motion-fade-in{animation:fadeIn .3s ease forwards}.motion-fade-up{animation:fadeUp .4s ease forwards}.motion-fade-down{animation:fadeDown .4s ease forwards}.motion-scale-in{animation:scaleIn .3s ease forwards}.motion-slide-up{animation:slideUp .4s ease forwards}.motion-bounce{animation:bounce 1.5s ease-in-out infinite}.motion-blob-1{animation:blobRotate1 20s linear infinite}.motion-blob-2{animation:blobRotate2 20s linear infinite}.motion-hover-scale{transition:transform .2s ease}.motion-hover-scale:hover{transform:scale(1.05)}.motion-hover-scale:active{transform:scale(.95)}.motion-hover-lift{transition:transform .2s ease,box-shadow .2s ease}.motion-hover-lift:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.15)}.motion-hidden{opacity:0;transform:translateY(20px)}.motion-visible{animation:fadeUp .4s ease forwards}.motion-collapse{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s ease,opacity .3s ease;opacity:0}.motion-collapse-open{grid-template-rows:1fr;opacity:1}.motion-collapse>*{overflow:hidden}.motion-backdrop{animation:fadeIn .2s ease forwards}.motion-backdrop-exit{animation:fadeOut .2s ease forwards}