.map-control-button{-webkit-backdrop-filter:blur(16px);background:#000000a6;border:1px solid #ffffff1f;border-radius:12px;justify-content:center;align-items:center;width:40px;height:40px;transition:background-color .15s;display:flex;box-shadow:0 2px 8px #00000040}.map-control-button svg,.map-control-button>span:not(.notification-badge-tiny){color:#ffffffd9;width:20px!important;height:20px!important}.map-control-button.map-control-button-tiny{border-radius:0;width:24px;height:24px}.map-control-button.map-control-button-tiny svg,.map-control-button.map-control-button-tiny>span{width:14px!important;height:14px!important}.map-control-button:hover{background:#000000bf}.map-control-button:hover svg,.map-control-button:hover>span{color:#fff}.map-control-button:active{opacity:1;background:#000000d9}.map-control-button:focus-visible{outline:none;box-shadow:0 2px 8px #00000040,0 0 0 2px #ffffff40,0 0 0 4px #fff9}.map-control-button.pixel-corners{border-radius:0}@media (max-width:849px){.map-control-button{background:hsl(var(--secondary));-webkit-backdrop-filter:none;box-shadow:none;border:none}.map-control-button svg,.map-control-button>span{color:hsl(var(--secondary-foreground))}.map-control-button:hover{background:hsl(var(--muted))}.map-control-button:active{background:hsl(var(--secondary));box-shadow:inset 0 0 0 1px hsl(var(--border))}.map-control-button:hover svg,.map-control-button:hover>span{color:hsl(var(--foreground))}[data-theme=mono] .map-control-button{background:#f0f0f0}[data-theme=mono] .map-control-button:hover{background:#e6e6e6}[data-theme=mono] .map-control-button svg,[data-theme=mono] .map-control-button>span{color:#404040}[data-theme=mono] .map-control-button:hover svg,[data-theme=mono] .map-control-button:hover>span{color:#262626}[data-theme=flux] .map-control-button{background:#eee8dd}[data-theme=flux] .map-control-button:hover{background:#e4dccd}}.map-control-button.map-control-bar{justify-content:flex-start;gap:8px;width:clamp(160px,20vw,280px);padding:0 12px}@media (min-width:850px){.map-control-button{background:hsl(var(--secondary));-webkit-backdrop-filter:none;box-shadow:none;border:none;border-radius:12px}.map-control-button svg,.map-control-button>span{color:hsl(var(--secondary-foreground))}.map-control-button.map-control-bar svg,.map-control-button.map-control-bar>span{color:hsl(var(--foreground)/.85)}.map-control-button:hover{background:hsl(var(--muted))}.map-control-button:active{background:hsl(var(--secondary));box-shadow:inset 0 0 0 1px hsl(var(--border))}.map-control-button:hover svg,.map-control-button:hover>span{color:hsl(var(--foreground))}.map-control-button:focus-visible{box-shadow:0 0 0 2px hsl(var(--background)),0 0 0 4px hsl(var(--ring));outline:none}[data-theme=mono] .map-control-button{background:#f0f0f0}[data-theme=mono] .map-control-button:hover{background:#e6e6e6}[data-theme=mono] .map-control-button svg,[data-theme=mono] .map-control-button>span{color:#404040}[data-theme=mono] .map-control-button:hover svg,[data-theme=mono] .map-control-button:hover>span{color:#262626}[data-theme=flux] .map-control-button{background:#eee8dd}[data-theme=flux] .map-control-button:hover{background:#e4dccd}[data-floating-ui=true] .map-control-button{background:hsl(var(--card)/.92);border:1px solid hsl(var(--border)/.35);box-shadow:0 6px 18px hsl(var(--shadow-color)/.16)}[data-floating-ui=true] .map-control-button:hover{background:hsl(var(--card)/.98)}[data-floating-ui=true] .map-control-button svg,[data-floating-ui=true] .map-control-button>span{color:hsl(var(--foreground)/.85)}[data-floating-ui=true] .map-control-button.map-control-bar svg,[data-floating-ui=true] .map-control-button.map-control-bar>span{color:hsl(var(--foreground)/.9)}}[data-map-brightness=light] .map-control-button{-webkit-backdrop-filter:blur(16px);background:#000000b3;border:1px solid #ffffff2e;box-shadow:0 2px 8px #0000004d}[data-map-brightness=light] .map-control-button svg,[data-map-brightness=light] .map-control-button>span{color:#fffffff2}[data-map-brightness=light] .map-control-button:hover{background:#000c}[data-map-brightness=light] .map-control-button:hover svg,[data-map-brightness=light] .map-control-button:hover>span{color:#fff}.map-control-button.map-control-primary{background:hsl(var(--foreground));box-shadow:0 6px 16px hsl(var(--shadow-color)/.2);border:none}.map-control-button.map-control-primary:hover{background:hsl(var(--foreground)/.92)}.map-control-button.map-control-primary svg,.map-control-button.map-control-primary>span{color:hsl(var(--background))}.map-header-pill{-webkit-backdrop-filter:blur(20px);background:linear-gradient(145deg,#14141cf2 0%,#1e1e2aeb 100%);border:1px solid #ffffff1a;border-radius:16px;padding:10px 18px;box-shadow:inset 0 0 0 1px #ffffff0d,0 4px 20px -4px #00000080,0 2px 8px -2px #0000004d}.map-sidebar{background:linear-gradient(180deg,hsl(var(--popover)/.98)0%,hsl(var(--card)/.96)100%);-webkit-backdrop-filter:blur(32px);border-left:1px solid hsl(var(--border)/.5)}.map-friend-card{background:hsl(var(--muted)/.3);border:1px solid hsl(var(--border)/.5);border-radius:16px;transition:all .2s}.map-friend-card:hover{background:hsl(var(--muted)/.5);border-color:hsl(var(--border)/.7)}.map-info-card{background:linear-gradient(145deg,hsl(var(--popover)/.97)0%,hsl(var(--card)/.95)100%);-webkit-backdrop-filter:blur(24px);border:1px solid hsl(var(--border)/.5);box-shadow:0 0 0 1px hsl(var(--border)/.15)inset,0 12px 40px -8px hsl(var(--shadow-color)/.35)}[data-ui=app-shell] .mapboxgl-map{font-family:var(--font-satoshi),system-ui,sans-serif!important}[data-ui=app-shell] .map-canvas-moving .mapboxgl-marker{pointer-events:none}[data-ui=app-shell] .map-canvas-moving .mapboxgl-popup{opacity:0;pointer-events:none}[data-ui=app-shell] .mapboxgl-ctrl-group{-webkit-backdrop-filter:blur(12px);overflow:hidden;background:hsl(var(--card)/.9)!important;border:1px solid hsl(var(--border)/.5)!important;box-shadow:0 4px 12px hsl(var(--shadow-color)/.15)!important;border-radius:12px!important}[data-ui=app-shell] .mapboxgl-ctrl-bottom-right{bottom:6px;right:6px}[data-ui=app-shell] .mapboxgl-ctrl-bottom-right .mapboxgl-ctrl{margin:0!important}[data-ui=app-shell] .mapboxgl-ctrl-group button{background:0 0!important;border:none!important;width:36px!important;height:36px!important}[data-ui=app-shell] .mapboxgl-ctrl-group button:hover{background:hsl(var(--secondary))!important}[data-ui=app-shell] .mapboxgl-ctrl-group button+button{border-top:1px solid hsl(var(--border)/.3)!important}[data-ui=app-shell] .mapboxgl-ctrl-icon{filter:brightness(0)saturate(100%)invert(var(--map-icon-invert,.3))}[data-theme=dark] [data-ui=app-shell] .mapboxgl-ctrl-icon{--map-icon-invert:.85}[data-ui=app-shell] .mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2'%3E%3Cpath d='M12 2L12 22M2 12L22 12'/%3E%3Cpath d='M12 2L15 5M12 2L9 5' fill='%23888'/%3E%3C/svg%3E")!important}.map-marker-pulse{animation:2s cubic-bezier(0,0,.2,1) infinite map-pulse}.arc-glow{animation:3s ease-in-out infinite arc-glow}.timeline-thumb{transition:transform .15s}.timeline-thumb:active{transform:scale(1.3)}.map-loading-overlay{background:linear-gradient(180deg,hsl(var(--background))0%,hsl(var(--background)/.8)50%,hsl(var(--background))100%)}.friend-marker-hover{filter:drop-shadow(0 0 8px hsl(var(--primary)/.5))}.cluster-marker{background:linear-gradient(135deg,hsl(var(--primary)),hsl(var(--accent)));box-shadow:0 2px 8px hsl(var(--primary)/.3),0 0 20px hsl(var(--primary)/.2)}.map-avatar-convex{position:relative;overflow:hidden}.map-avatar-convex:before,.map-avatar-convex:after{content:"";border-radius:inherit;pointer-events:none;position:absolute;inset:0}.map-avatar-convex:before{opacity:.55;box-shadow:inset 0 1px 2px #ffffff59,inset 0 -4px 6px #00000040}.map-avatar-convex:after{opacity:.85;background:radial-gradient(circle at 28% 22%,#ffffff52,#fff0 52%),radial-gradient(circle at 70% 78%,#00000038,#0000 60%)}[data-ui=app-shell] .mapboxgl-canvas-container{width:100%!important;height:100%!important}[data-ui=app-shell] .mapboxgl-ctrl-logo,[data-ui=app-shell] .mapboxgl-ctrl-attrib{display:none!important}@keyframes longPressGrow{0%{opacity:.3;transform:scale(.5)}50%{opacity:.7}to{opacity:.9;transform:scale(1.4)}}@keyframes longPressPulse{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.5;transform:scale(1.1)}}.center-note-pin{z-index:40;pointer-events:none;position:fixed;top:35%;left:50%;transform:translate(-50%,-100%)}
