.fade-in{animation:.6s ease-out forwards fadeIn}.slide-up{animation:.8s ease-out forwards slideUp}.slide-down{animation:.6s ease-out forwards slideDown}.slide-left{animation:.6s ease-out forwards slideLeft}.slide-right{animation:.6s ease-out forwards slideRight}.pop{animation:.4s ease-out forwards pop}.tada{animation:.6s ease-out forwards tada}.bounce{animation:.8s ease-out forwards bounce}.wiggle{animation:.5s ease-in-out forwards wiggle}.pulse{animation:2s ease-in-out infinite pulse}.float{animation:3s ease-in-out infinite float}.glow{animation:2s ease-in-out infinite alternate glow}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes slideUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{from{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideLeft{from{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}@keyframes slideRight{from{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}@keyframes pop{0%{opacity:0;transform:scale(.8)}50%{transform:scale(1.05)}100%{opacity:1;transform:scale(1)}}@keyframes tada{0%{transform:scale(1)}10%,20%{transform:scale(.9) rotate(-3deg)}30%,50%,70%,90%{transform:scale(1.1) rotate(3deg)}40%,60%,80%{transform:scale(1.1) rotate(-3deg)}100%{transform:scale(1) rotate(0)}}@keyframes bounce{0%,100%,20%,53%,80%{transform:translate3d(0,0,0)}40%,43%{transform:translate3d(0,-15px,0)}70%{transform:translate3d(0,-7px,0)}90%{transform:translate3d(0,-2px,0)}}@keyframes wiggle{0%,100%,40%,7%{transform:rotateZ(0)}15%{transform:rotateZ(-15deg)}20%{transform:rotateZ(10deg)}25%{transform:rotateZ(-10deg)}30%{transform:rotateZ(6deg)}35%{transform:rotateZ(-4deg)}}@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes glow{from{box-shadow:0 0 5px var(--c4),0 0 10px var(--c4),0 0 15px var(--c4)}to{box-shadow:0 0 10px var(--c5),0 0 20px var(--c5),0 0 30px var(--c5)}}@keyframes spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}@keyframes timer-countdown{from{stroke-dashoffset:0}to{stroke-dashoffset:377}}@keyframes buzzer-press{0%,100%{transform:scale(1);box-shadow:0 8px 20px rgba(255,107,107,.4)}50%{transform:scale(.95);box-shadow:0 4px 10px rgba(255,107,107,.6)}}@keyframes score-update{0%,100%{transform:scale(1)}50%{transform:scale(1.2);color:var(--c6)}}@keyframes toast-slide-in{from{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}@keyframes toast-slide-out{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(100%)}}@keyframes modal-backdrop-fade-in{from{opacity:0}to{opacity:1}}@keyframes modal-content-scale-in{from{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes emoji-float-up{0%{opacity:1;transform:translateY(0) scale(1)}100%{opacity:0;transform:translateY(-50px) scale(1.5)}}@keyframes power-up-activate{0%,100%{background-color:var(--c2);transform:scale(1)}50%{background-color:var(--c5);transform:scale(1.1)}}@keyframes team-highlight{0%,100%{border-color:var(--c3)}50%{border-color:var(--c6);box-shadow:0 0 15px rgba(118,200,147,.5)}}@keyframes answer-reveal{0%{opacity:0;transform:rotateY(90deg)}100%{opacity:1;transform:rotateY(0)}}@keyframes progress-fill{from{width:0%}to{width:var(--progress-width,100%)}}@keyframes confetti-fall{0%{transform:translateY(-100vh) rotateZ(0);opacity:1}100%{transform:translateY(100vh) rotateZ(360deg);opacity:0}}.animate-on-load{opacity:0;animation:.6s ease-out .2s forwards fadeIn}.animate-on-load:nth-child(2){animation-delay:.4s}.animate-on-load:nth-child(3){animation-delay:.6s}.animate-on-load:nth-child(4){animation-delay:.8s}.stagger-children>*{opacity:0;animation:.6s ease-out forwards slideUp}.stagger-children>:first-child{animation-delay:.1s}.stagger-children>:nth-child(2){animation-delay:.2s}.stagger-children>:nth-child(3){animation-delay:.3s}.stagger-children>:nth-child(4){animation-delay:.4s}.stagger-children>:nth-child(5){animation-delay:.5s}.stagger-children>:nth-child(6){animation-delay:.6s}.hover-lift{transition:transform .2s,box-shadow .2s}.hover-lift:hover{transform:translateY(-4px);box-shadow:var(--shadow-heavy)}.hover-scale{transition:transform .2s}.hover-scale:hover{transform:scale(1.03)}.hover-glow{transition:box-shadow .3s}.hover-glow:hover{box-shadow:0 0 20px rgba(118,200,147,.4)}.focus-ring{transition:box-shadow .2s}.focus-ring:focus{box-shadow:0 0 0 3px rgba(118,200,147,.3)}.loading-dots::after{content:'';animation:1.5s ease-in-out infinite loading-dots}@keyframes loading-dots{0%,20%{content:'.'}40%{content:'..'}100%,60%{content:'...'}}.page-enter{animation:.4s ease-out forwards slideRight}.page-exit{animation:.4s ease-out forwards slideLeft}.success-bounce{animation:.8s ease-out forwards bounce}.error-shake{animation:.5s ease-in-out forwards wiggle}.timer-urgent{animation:.5s ease-in-out infinite pulse;color:#e53e3e}.timer-critical{animation:.3s ease-in-out infinite wiggle;color:#e53e3e}.interactive{transition:.2s}.interactive:hover{transform:translateY(-2px)}.interactive:active{transform:translateY(0)}@media (max-width:768px){.hover-lift:hover,.hover-scale:hover{transform:none}.bounce,.tada,.wiggle{animation-duration:.4s}}@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:0s!important;animation-iteration-count:1!important;transition-duration:0s!important;scroll-behavior:auto!important}.float,.glow,.loading-dots::after,.pulse{animation:none}.loading-spinner{border:4px solid var(--c4);border-radius:50%;position:relative}.loading-spinner::after{content:'⏳';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:1.5rem}}@media print{*{animation:none!important;transition:none!important}}@media (prefers-contrast:high){.glow{animation:none;box-shadow:0 0 0 2px currentColor}.pulse{animation:none;border:2px solid currentColor}}