/* Rider motion keeps the map lively without forcing layout or paint. */
.sidebar{animation:rider-side-in .45s ease-out both}.rider-app>header{animation:rider-rise .42s .08s both}.map-shell{animation:rider-rise .48s .16s both}.job-panel{animation:rider-rise .48s .24s both}.summary article{animation:rider-rise .42s both}.summary article:nth-child(1){animation-delay:.32s}.summary article:nth-child(2){animation-delay:.38s}.summary article:nth-child(3){animation-delay:.44s}.map-chip{animation:rider-chip 4s ease-in-out infinite;will-change:transform}.dropoff{animation-delay:.7s}.route{animation:rider-route-in .65s .3s both;transform-origin:left top}.rider-marker{animation:rider-marker-pulse 2.3s ease-in-out infinite;will-change:transform,opacity}.availability,.map-controls button{transition:transform .18s ease,filter .18s ease}.availability:hover,.map-controls button:hover{transform:translateY(-2px);filter:brightness(1.04)}.job-panel{transition:transform .2s ease}.job-panel:hover{transform:translateY(-2px)}@keyframes rider-side-in{from{opacity:0;transform:translateX(-14px)}to{opacity:1;transform:translateX(0)}}@keyframes rider-rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes rider-chip{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes rider-route-in{from{opacity:0;transform:scaleX(.25) rotate(-5deg)}to{opacity:1;transform:scaleX(1) rotate(-5deg)}}@keyframes rider-marker-pulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.08);opacity:.84}}@media(prefers-reduced-motion:reduce){.sidebar,.rider-app>header,.map-shell,.job-panel,.summary article,.map-chip,.route,.rider-marker{animation:none}.availability,.map-controls button,.job-panel{transition:none}}
