@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes highlightBlue{0%,to{background-color:#eff6ff}50%{background-color:#dbeafe}}@keyframes highlightGray{0%,to{background-color:#f9fafb}50%{background-color:#f3f4f6}}.animate-fadeIn{animation:fadeIn .5s ease-out}.animate-slideInLeft{animation:slideInLeft .5s ease-out}.animate-slideInRight{animation:slideInRight .5s ease-out}.animate-slideInUp{animation:slideInUp .5s ease-out}.animate-float{animation:float 3s ease-in-out infinite}.animate-highlightBlue{animation:highlightBlue 2s ease-in-out infinite}.animate-highlightGray{animation:highlightGray 2s ease-in-out infinite}.animation-delay-100{animation-delay:.1s}.animation-delay-200{animation-delay:.2s}.animation-delay-300{animation-delay:.3s}.tutorial-transition{transition:all .3s ease-out}.tutorial-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}
