:root{--background:oklch(0.7 0.1 22/0%)}@keyframes taxiDrive{0%{transform:translateX(-100%)}to{transform:translateX(calc(100% + 100px))}}@keyframes roadMove{0%{background-position:0}to{background-position:40px}}@keyframes pulse{0%,to{opacity:.3}50%{opacity:.6}}@keyframes slide{0%{transform:translateX(0)}to{transform:translateX(-50%)}}@keyframes bounce-subtle{0%,to{transform:translateY(0) rotate(0deg)}25%{transform:translateY(-2px) rotate(-2deg)}75%{transform:translateY(1px) rotate(2deg)}}.taxi-animation-container{position:relative;overflow:hidden;height:24px}.taxi-road{position:absolute;bottom:2px;left:0;right:0;height:2px;background-image:repeating-linear-gradient(90deg,#fff,#fff 10px,transparent 0,transparent 20px);animation:roadMove 1s linear infinite}.taxi-icon{animation:taxiDrive 2s ease-in-out infinite;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.loading-dot{animation:pulse 1.5s ease-in-out infinite}.loading-dot:nth-child(2){animation-delay:.2s}.loading-dot:nth-child(3){animation-delay:.4s}.animate-slide{animation:slide 2s linear infinite}.animate-bounce-subtle{animation:bounce-subtle 1s ease-in-out infinite}.shimmer-container{position:relative;overflow:hidden}.shimmer-container:before{content:"";position:absolute;top:0;left:-150%;width:50%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4) 30%,rgba(255,255,255,.7) 50%,rgba(255,255,255,.4) 70%,transparent);animation:shine 8s infinite;z-index:10;pointer-events:none}@keyframes shine{0%{left:-150%}37.5%{left:150%}to{left:150%}}