@keyframes shake{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-10px)}20%,40%,60%,80%{transform:translateX(10px)}}.shake{animation:shake .5s}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-20px)}60%{transform:translateY(-10px)}}.bounce{animation:bounce .6s}@keyframes slideInRight{0%{opacity:0;transform:translateX(100px)}to{opacity:1;transform:translateX(0)}}.slide-in-right{animation:slideInRight .4s ease-out}@keyframes slideOutLeft{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(-100px)}}.slide-out-left{animation:slideOutLeft .4s ease-out}@keyframes progressFill{0%{width:0}}.progress-fill{animation:progressFill .5s ease-out}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}.pulse{animation:pulse 2s infinite}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.fade-in{animation:fadeIn .3s ease-in}@keyframes glow{0%,to{box-shadow:0 0 5px rgba(34,197,94,.5)}50%{box-shadow:0 0 20px rgba(34,197,94,.8)}}.glow-green{animation:glow 1s ease-in-out}@keyframes confetti{0%{transform:translateY(0) rotate(0deg);opacity:1}to{transform:translateY(-100vh) rotate(2turn);opacity:0}}.confetti{animation:confetti 3s ease-out}.quiz-option{transition:all .2s ease-in-out}.quiz-option:hover{transform:translateY(-2px)}.quiz-option:active{transform:translateY(0)}.quiz-container::-webkit-scrollbar{width:8px}.quiz-container::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px}.quiz-container::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#3b82f6,#8b5cf6);border-radius:10px}.quiz-container::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#2563eb,#7c3aed)}@keyframes spin{to{transform:rotate(1turn)}}.spinner{animation:spin 1s linear infinite}@keyframes gradientShift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.gradient-text{background-size:200% 200%;animation:gradientShift 3s ease infinite}