.app-header{position:sticky;top:0;z-index:50;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid rgba(30,41,59,.5);transition:all .3s ease}.app-header-shadow{box-shadow:0 4px 12px -2px rgba(0,0,0,.3)}.app-back-button{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:rgba(30,41,59,.5);color:white;transition:all .2s ease}.app-back-button:hover{background:rgba(59,130,246,.3);transform:translateX(-2px)}.app-back-button:active{transform:scale(.95) translateX(-2px)}.app-content{animation:slideInFromRight .3s ease-out}@keyframes slideInFromRight{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}@keyframes slideOutToRight{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(20px)}}.app-dialog-content{border-radius:16px;overflow:hidden;box-shadow:0 20px 25px -5px rgba(0,0,0,.5),0 10px 10px -5px rgba(0,0,0,.2);animation:slideUpIn .3s ease-out}@keyframes slideUpIn{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.ripple-effect{position:relative;overflow:hidden}.ripple-effect:after{content:"";display:block;position:absolute;width:100%;height:100%;top:0;left:0;pointer-events:none;background-image:radial-gradient(circle,rgba(255,255,255,.3) 10%,transparent 10.01%);background-repeat:no-repeat;background-position:50%;transform:scale(10);opacity:0;transition:transform .5s,opacity .8s}.ripple-effect:active:after{transform:scale(0);opacity:.3;transition:0s}.ride-page .app-header{transition:all .3s ease}.ride-page .app-back-button{position:relative;z-index:10}.ride-page .app-back-button:hover{background:rgba(59,130,246,.4);transform:translateX(-3px)}.ride-page .app-back-button:active{transform:scale(.92) translateX(-3px)}@keyframes pulseArrow{0%{transform:translateX(0)}50%{transform:translateX(-2px)}to{transform:translateX(0)}}.ride-page .app-back-button:hover svg{animation:pulseArrow 1s ease-in-out infinite}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes progress-indeterminate{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.animation-delay-300{animation-delay:.3s}.perspective-1000{perspective:1000px}.backface-hidden{backface-visibility:hidden}.rotate-y-0{transform:rotateY(0deg)}.rotate-y-180{transform:rotateY(180deg)}.rotate-y-minus-180{transform:rotateY(-180deg)}.transition-transform{transition:transform .6s}.duration-600{transition-duration:.6s}.success-animation{animation:pulse .5s ease-in-out}.checkmark__circle{stroke-dasharray:166;stroke-dashoffset:166;stroke-width:2;stroke-miterlimit:10;fill:none;animation:stroke .6s cubic-bezier(.65,0,.45,1) forwards}.checkmark__check{transform-origin:50% 50%;stroke-dasharray:48;stroke-dashoffset:48;animation:stroke .3s cubic-bezier(.65,0,.45,1) .8s forwards}@keyframes stroke{to{stroke-dashoffset:0}}@keyframes animate-pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-pulse{animation:animate-pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes animate-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.animate-slide-up{animation:animate-slide-up .3s ease-out forwards}.flex-center{display:flex;align-items:center;justify-content:center}.text-center-align{text-align:center}.grid-uniform{display:grid;gap:1rem}.card-uniform{border-radius:.75rem;overflow:hidden;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);transition:all .3s ease}.card-uniform:hover{transform:translateY(-2px);box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}