/* Motion CSS — generated by designlang (motionlang) * Source: https://coulomb.social * 2026-08-08T23:30:22.011Z * * *
*/ :root { --duration-sm: 250ms; --ease-standard: cubic-bezier(0.25, 0.1, 0.25, 1); } @keyframes fade-in { from { opacity: 0; } to { opacity: 1; } } @keyframes slide-up { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } } @keyframes scale-in { from { opacity: 0; transform: scale(0.96); } to { opacity: 1; transform: none; } } @keyframes pop { 0% { transform: scale(0.9); } 60% { transform: scale(1.03); } 100% { transform: scale(1); } } .mo-animate, [class^="mo-"], [class*=" mo-"] { animation-duration: var(--duration-sm, 250ms); animation-timing-function: var(--ease-standard); animation-fill-mode: both; } .mo-fade-in { animation-name: fade-in; } .mo-slide-up { animation-name: slide-up; } .mo-scale-in { animation-name: scale-in; } .mo-pop { animation-name: pop; animation-timing-function: var(--ease-standard); } @media (prefers-reduced-motion: reduce) { *, ::before, ::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; } }