/* v0.2.52 — native-feeling Apple/Google map picker */
.location-picker-v252{position:fixed;inset:0;min-height:100dvh;background:#09070b;overflow:hidden}.location-picker-v252 .location-map-wrap{position:absolute;inset:0;min-height:0;overflow:hidden}.location-picker-v252 .location-map{position:absolute;inset:0;background:radial-gradient(circle at 50% 45%,#261020 0,#0b080d 70%)}
.location-picker-floating-head{position:absolute;z-index:1000;left:max(14px,env(safe-area-inset-left));right:max(14px,env(safe-area-inset-right));top:max(14px,calc(env(safe-area-inset-top) + 8px));display:flex;align-items:center;gap:10px;pointer-events:none}.location-back,.location-title-card{pointer-events:auto;-webkit-backdrop-filter:blur(20px) saturate(140%);backdrop-filter:blur(20px) saturate(140%);background:rgba(14,10,15,.78);border:1px solid rgba(255,255,255,.10);box-shadow:0 10px 34px rgba(0,0,0,.24)}.location-back{width:46px;height:46px;display:grid;place-items:center;border-radius:50%;color:#fff;text-decoration:none;flex:0 0 auto}.location-back svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.location-title-card{min-width:0;padding:8px 15px 9px;border-radius:18px}.location-title-card h1{margin:0;color:#fff;font-size:16px;font-weight:800;line-height:1.2}.location-title-card small{display:block;margin-top:3px;color:rgba(255,255,255,.58);font-size:10px;line-height:1.2}
.location-center-target{position:absolute;z-index:900;left:50%;top:50%;width:58px;height:72px;transform:translate(-50%,-72%);pointer-events:none;transition:transform .18s cubic-bezier(.2,.8,.2,1)}.location-pin-halo{position:absolute;left:5px;top:3px;width:48px;height:48px;border-radius:50%;background:rgba(226,13,184,.18);box-shadow:0 0 0 10px rgba(226,13,184,.06),0 0 34px rgba(244,12,203,.50);animation:twinsMapPulse 2.3s ease-in-out infinite}.location-pin-body{position:absolute;left:13px;top:8px;width:32px;height:32px;border-radius:50% 50% 50% 8px;background:linear-gradient(135deg,#ff35d5 0%,#d80db8 56%,#a50ab5 100%);transform:rotate(-45deg);box-shadow:0 8px 22px rgba(118,0,96,.38)}.location-pin-body i{position:absolute;left:10px;top:10px;width:12px;height:12px;border-radius:50%;background:#fff;box-shadow:0 0 0 3px rgba(255,255,255,.20)}.location-pin-shadow{position:absolute;left:18px;top:59px;width:22px;height:6px;border-radius:50%;background:rgba(0,0,0,.32);filter:blur(2px);transition:transform .18s ease,opacity .18s ease}.map-is-moving .location-center-target{transform:translate(-50%,-83%)}.map-is-moving .location-pin-shadow{transform:scale(.72);opacity:.45}.map-is-moving .location-pin-halo{animation-duration:.9s}
.location-current-fab{position:absolute;z-index:1000;right:max(16px,env(safe-area-inset-right));bottom:calc(168px + env(safe-area-inset-bottom));width:48px;height:48px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(255,255,255,.12);background:rgba(14,10,15,.84);color:#fff;box-shadow:0 10px 28px rgba(0,0,0,.28);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);cursor:pointer}.location-current-fab svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.location-current-fab:disabled{opacity:.55}.location-current-loading svg{animation:twinsMapSpin 1s linear infinite}
.location-provider-pill{position:absolute;z-index:950;left:max(16px,env(safe-area-inset-left));bottom:calc(174px + env(safe-area-inset-bottom));padding:7px 10px;border-radius:999px;background:rgba(13,10,14,.70);border:1px solid rgba(255,255,255,.09);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:rgba(255,255,255,.68);font-size:9px;font-weight:700;letter-spacing:.02em}
.location-picker-sheet{position:absolute;z-index:1000;left:max(10px,env(safe-area-inset-left));right:max(10px,env(safe-area-inset-right));bottom:max(10px,env(safe-area-inset-bottom));padding:9px 12px 12px;border-radius:25px;background:rgba(15,10,16,.90);border:1px solid rgba(255,255,255,.11);box-shadow:0 18px 55px rgba(0,0,0,.34);-webkit-backdrop-filter:blur(26px) saturate(145%);backdrop-filter:blur(26px) saturate(145%)}.location-sheet-handle{width:34px;height:4px;border-radius:99px;background:rgba(255,255,255,.22);margin:0 auto 9px}.location-sheet-copy{padding:0 4px 10px}.location-sheet-copy small{display:block;color:rgba(255,255,255,.42);font-size:9px}.location-sheet-copy strong{display:block;margin-top:3px;color:#fff;font-size:14px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.location-picker-v252 .location-confirm{width:100%;min-height:50px;border:0;border-radius:17px;background:linear-gradient(100deg,#d70cb8 0%,#f12ecb 58%,#b20bc4 100%);color:#fff;font-size:15px;font-weight:850;box-shadow:0 8px 28px rgba(214,11,182,.30);cursor:pointer}.location-picker-v252 .location-confirm:disabled{opacity:.58}
.location-picker-v252 .leaflet-control-attribution{font-size:7px!important;background:rgba(12,9,13,.66)!important;color:rgba(255,255,255,.52)!important}.location-picker-v252 .leaflet-control-attribution a{color:rgba(255,255,255,.60)!important}
@keyframes twinsMapPulse{0%,100%{transform:scale(.92);opacity:.65}50%{transform:scale(1.10);opacity:1}}@keyframes twinsMapSpin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.location-pin-halo,.location-current-fab svg{animation:none!important}.location-center-target,.location-pin-shadow{transition:none!important}}
@media(min-width:760px){.location-picker-v252{inset:12px;border-radius:24px}.location-picker-sheet{left:50%;right:auto;width:min(560px,calc(100vw - 36px));transform:translateX(-50%)}.location-current-fab{right:calc(50% - 280px + 16px)}.location-provider-pill{left:calc(50% - 280px + 16px)}}
