.drive-enter-active{transition:all 1.2s cubic-bezier(.25,1,.5,1)}.drive-enter-active .moto-container{animation:1.2s cubic-bezier(.1,.9,.2,1) forwards driveIn}.drive-enter-active .info-container{opacity:0;animation:.8s ease-out .6s forwards fadeInUp}.drive-enter-active .title-glow{animation:1.5s ease-out forwards fadeIn}.drive-leave-active{width:100%;transition:all .8s cubic-bezier(.5,0,.75,0);position:absolute}.drive-leave-active .moto-container{animation:.8s cubic-bezier(.8,0,1,1) forwards driveOut}.drive-leave-active .info-container,.drive-leave-active .title-glow{animation:.4s ease-in forwards fadeOut}@keyframes driveIn{0%{opacity:0;transform:translate(-150%)scale(.9)skew(-10deg)}60%{opacity:1;transform:translate(5%)scale(1.02)skew(2deg)}to{opacity:1;transform:translate(0)scale(1)skew(0)}}@keyframes driveOut{0%{opacity:1;transform:translate(0)skew(0)}30%{transform:translate(-5%)skew(5deg)}to{opacity:0;transform:translate(150%)skew(-15deg)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideBg{0%{background-position:0 0}to{background-position:-50px 0}}.animate-slide-bg{animation:1s linear infinite slideBg}@keyframes roadGridHorizontalAnim{0%{background-position-x:0}to{background-position-x:-40px}}.animate-road-grid-horizontal{animation:.25s linear infinite roadGridHorizontalAnim}@keyframes roadDashesHorizontalAnim{0%{background-position-x:0}to{background-position-x:-160px}}.animate-road-dashes-horizontal{animation:.4s linear infinite roadDashesHorizontalAnim}@keyframes curbHorizontalAnim{0%{background-position-x:0}to{background-position-x:-200px}}.animate-curb-horizontal{background-image:linear-gradient(90deg,#dc2626 30%,#fff 30% 60%,#dc2626 60% 100%);background-size:200px 100%;animation:.16s linear infinite curbHorizontalAnim}.speed-streak{opacity:0;will-change:transform;background:linear-gradient(90deg,#0000,#fff6,#0000);width:250px;height:1.5px;animation:1.2s linear infinite speedStreakAnim;position:absolute}.streak-1{animation-duration:.7s;animation-delay:0s;top:20%}.streak-2{animation-duration:1.1s;animation-delay:.3s;top:40%}.streak-3{animation-duration:.5s;animation-delay:.1s;top:60%}.streak-4{animation-duration:.9s;animation-delay:.5s;top:75%}@keyframes speedStreakAnim{0%{opacity:0;transform:translate(110vw)}10%{opacity:.7}90%{opacity:.7}to{opacity:0;transform:translate(-110vw)}}.smoke-puff{filter:blur(12px);opacity:0;will-change:transform, opacity, filter;background:#f0f0f040;border-radius:50%;width:25px;height:25px;animation:.9s cubic-bezier(.16,1,.3,1) infinite puffFlow;position:absolute;bottom:25%;left:20%}.puff-1{animation-delay:0s}.puff-2{animation-duration:.8s;animation-delay:.12s}.puff-3{animation-duration:1s;animation-delay:.24s}.puff-4{animation-duration:.7s;animation-delay:.36s}.puff-5{animation-duration:.9s;animation-delay:.48s}.puff-6{animation-duration:.85s;animation-delay:.6s}.puff-7{animation-duration:1.05s;animation-delay:.72s}.puff-8{animation-duration:.95s;animation-delay:.84s}@keyframes puffFlow{0%{opacity:0;background:#ffffff4d;transform:translate(0,0)scale(.6)}15%{opacity:.75;filter:blur(8px);background:#ffffff59}50%{background:#ef44441f}to{opacity:0;filter:blur(35px);transform:translate(-360px,-10px)scale(6.5)}}@keyframes motoVibrate{0%,to{transform:translate(0,0)rotate(0)}25%{transform:translate(-.5px,-.8px)rotate(.05deg)}50%{transform:translate(.5px,.5px)rotate(-.05deg)}75%{transform:translate(-.5px,.3px)rotate(0)}}.dynamic-moto-shake{will-change:transform;animation:.12s linear infinite motoVibrate}@keyframes shadowVibrate{0%,to{opacity:.55;transform:scale(1)}50%{opacity:.65;transform:scale(.97)translate(2px)}}.animate-shadow-vibrate{animation:.12s linear infinite shadowVibrate}@keyframes textBlink{0%,to{opacity:.08}50%{opacity:.38;text-shadow:0 0 30px #ffffff73}}.animate-text-blink{animation:2.2s ease-in-out infinite textBlink}@keyframes bounceHorizontal{0%,to{transform:translate(0)}50%{transform:translate(6px)}}.animate-bounce-horizontal{animation:1s ease-in-out infinite bounceHorizontal}.perspective-container{perspective:1500px}.flip-card-inner{transform-style:preserve-3d;transition:transform .8s cubic-bezier(.4,0,.2,1)}.flip-card-flipped{transform:rotateY(180deg)}.flip-card-front,.flip-card-back{backface-visibility:hidden}.flip-card-back{transform:rotateY(180deg)}
