@tailwind base;@tailwind components;@tailwind utilities;:root{--pp-dur-micro: .12s;--pp-dur-small: .18s;--pp-dur-med: .24s;--pp-dur-emph: .42s;--pp-ease-out: cubic-bezier(.16, 1, .3, 1);--pp-ease-in: cubic-bezier(.32, 0, .67, 0);--pp-ease-io: cubic-bezier(.65, 0, .35, 1)}@media(prefers-reduced-motion:reduce){:root{--pp-dur-micro: 60ms;--pp-dur-small: 90ms;--pp-dur-med: .12s;--pp-dur-emph: .21s}}html,body,#root{height:100%;margin:0;padding:0;overflow:hidden;background-color:#f3f4f6;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%}body,#root{min-height:100dvh;min-height:-webkit-fill-available;display:flex;flex-direction:column}input,select,textarea{font-size:16px!important}.leaflet-container{height:100%!important;width:100%!important;z-index:1;background-color:#f3f4f6!important}.map-region{flex:1;height:100%;width:100%;position:relative;overflow:hidden;display:flex;flex-direction:column}.pp-route-wrapper{height:100%;width:100%;display:flex;flex-direction:column}.pp-fixed-controls{position:fixed;right:16px;top:calc(80px + env(safe-area-inset-top));z-index:999;pointer-events:none}.pp-fixed-controls>*{pointer-events:auto!important}.leaflet-popup-content-wrapper{padding:0!important;border-radius:1.5rem!important;overflow:hidden;box-shadow:0 10px 25px -5px #0000001a!important;border:1px solid rgba(0,0,0,.05)}.leaflet-popup-content{margin:0!important;width:auto!important}.pp-popup{min-width:220px;max-width:260px;padding:16px!important;display:flex;flex-direction:column}.custom-marker{width:32px;height:32px;border-radius:50%;border:2.5px solid white;box-shadow:0 4px 12px #0003;display:flex;align-items:center;justify-content:center}.pp-marker--enter{animation:marker-drop var(--pp-dur-emph) var(--pp-ease-out) forwards}@keyframes marker-drop{0%{transform:translateY(-30px) scale(.6);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.user-location-pulse{position:relative;width:20px;height:20px}.user-location-pulse .dot{position:absolute;top:4px;left:4px;width:12px;height:12px;background-color:#3b82f6;border:2px solid white;border-radius:50%;z-index:2}.user-location-pulse .pulse-ring{position:absolute;top:0;left:0;width:20px;height:20px;background-color:#3b82f666;border-radius:50%;animation:pulse-animation 2s infinite var(--pp-ease-out)}@keyframes pulse-animation{0%{transform:scale(.7);opacity:1}to{transform:scale(2.5);opacity:0}}.pb-safe{padding-bottom:max(1rem,env(safe-area-inset-bottom))}.pt-safe{padding-top:max(.5rem,env(safe-area-inset-top))}.animate-sheet-up{animation:sheet-up var(--pp-dur-med) var(--pp-ease-out) forwards}.animate-sheet-down{animation:sheet-down var(--pp-dur-med) var(--pp-ease-in) forwards}.animate-slide-up{animation:sheet-up var(--pp-dur-med) var(--pp-ease-out) forwards}@keyframes sheet-up{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes sheet-down{0%{transform:translateY(0);opacity:1}to{transform:translateY(100%);opacity:0}}.pp-confirm-box--shown{opacity:1;transform:translateY(0) scale(1);transition:all var(--pp-dur-small) var(--pp-ease-out)}.pp-confirm-box--hidden{opacity:0;transform:translateY(12px) scale(.96);transition:all var(--pp-dur-small) var(--pp-ease-in)}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.toast-animate-in{animation:toast-in var(--pp-dur-small) var(--pp-ease-out) forwards}.toast-animate-out{animation:toast-out var(--pp-dur-med) var(--pp-ease-in) forwards}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,-16px) scale(.92)}to{opacity:1;transform:translate(-50%) scale(1)}}@keyframes toast-out{0%{opacity:1;transform:translate(-50%) scale(1)}to{opacity:0;transform:translate(-50%,-10px) scale(.94)}}
