@keyframes scene-fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes scene-slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes phone-vibrate{0%,to{transform:rotate(0)}10%{transform:rotate(-10deg)}20%{transform:rotate(10deg)}30%{transform:rotate(-10deg)}40%{transform:rotate(10deg)}50%{transform:rotate(0)}}.scene-fade-in{animation:.6s ease-out forwards scene-fade-in}.scene-slide-up{animation:.5s ease-out forwards scene-slide-up}.phone-vibrate{animation:.6s ease-in-out infinite phone-vibrate}@keyframes scene-slide-in-left{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes scene-slide-in-right{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes shield-glow{0%,to{box-shadow:0 0 10px color-mix(in srgb,var(--primary)30%,transparent)}50%{box-shadow:0 0 25px color-mix(in srgb,var(--primary)60%,transparent)}}@keyframes spin-slow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.scene-slide-in-left{animation:.6s ease-out forwards scene-slide-in-left}.scene-slide-in-right{animation:.6s ease-out forwards scene-slide-in-right}.shield-glow{animation:2s ease-in-out infinite shield-glow}.spin-slow{animation:3s linear infinite spin-slow}@keyframes answer-scroll{0%{transform:translateY(0)}to{transform:translateY(var(--scroll-distance))}}.answer-scroll{animation:6s ease-in-out forwards answer-scroll}@media (prefers-reduced-motion:reduce){.scene-fade-in,.scene-slide-up,.scene-slide-in-left,.scene-slide-in-right,.phone-vibrate,.shield-glow,.spin-slow,.answer-scroll{opacity:1!important;animation:none!important;transform:none!important}.answer-scroll-container{max-height:none!important}}
@keyframes step-pulse{0%,to{box-shadow:0 0 0 0 var(--pulse-color,transparent)}50%{box-shadow:0 0 0 6px var(--pulse-color,transparent)}}.step-pulse{--pulse-color:color-mix(in srgb,var(--primary)20%,transparent);animation:2s ease-in-out infinite step-pulse}@keyframes connector-flow{0%{opacity:.3}50%{opacity:1}to{opacity:.3}}.connector-flow{animation:1.5s ease-in-out infinite connector-flow}@media (prefers-reduced-motion:reduce){.step-pulse,.connector-flow{animation:none}}
