@keyframes alert-progress-ff39e7b4{0%{width:100%}to{width:0}}.animate-alert-progress[data-v-ff39e7b4]{animation:5s linear forwards alert-progress-ff39e7b4}.checkpoint-marker-wrapper{cursor:default;position:relative}.checkpoint-bubble{flex-direction:column;align-items:center;display:flex;position:relative}.checkpoint-icon{background:var(--color-primary-500,#3b82f6);color:#fff;white-space:nowrap;border-radius:6px;justify-content:center;align-items:center;min-height:28px;padding:6px 8px;font-size:12px;font-weight:700;display:flex;box-shadow:0 2px 4px #00000040}.checkpoint-icon svg{width:16px;height:16px}.checkpoint-tail{background:var(--color-primary-500,#3b82f6);width:8px;height:8px;margin-top:-5px;transform:rotate(45deg);box-shadow:2px 2px 2px #00000026}.checkpoint-finish .checkpoint-icon,.checkpoint-finish .checkpoint-tail,.checkpoint-start .checkpoint-icon,.checkpoint-start .checkpoint-tail{background:#f97316}.checkpoint-text{font-size:11px;font-weight:700;line-height:1}.checkpoint-text small{margin-left:1px;font-size:8px;font-weight:600}.checkpoint-label{white-space:nowrap;color:#fff;pointer-events:none;background:#000000d9;border-radius:6px;flex-direction:column;align-items:center;gap:2px;margin-bottom:4px;padding:4px 8px;font-size:11px;display:none;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.checkpoint-marker-wrapper:hover .checkpoint-label{display:flex}.checkpoint-name{font-weight:600}.checkpoint-distance{opacity:.7;font-size:10px}.dark .maplibregl-canvas-container .maplibregl-canvas{filter:invert()hue-rotate(180deg)brightness(.95)contrast(.9)}.maplibregl-ctrl-group{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);overflow:hidden;background:color-mix(in srgb,var(--ui-bg-elevated) 80%,transparent)!important;box-shadow:0 0 0 1px var(--ui-border)!important;border:none!important;border-radius:0!important}.maplibregl-ctrl-group button{width:40px!important;height:40px!important;color:var(--ui-text-highlighted)!important;background:0 0!important;border:none!important}.dark .maplibregl-ctrl-attrib .maplibregl-ctrl-attrib-button,.dark .maplibregl-ctrl-group button .maplibregl-ctrl-icon{filter:invert()}.maplibregl-ctrl-group button+button{border-top:1px solid var(--ui-border)!important}.maplibregl-ctrl-group button:hover{background:color-mix(in srgb,var(--ui-bg-accented) 80%,transparent)!important}.maplibregl-ctrl-scale{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--ui-border)!important;color:var(--ui-text-highlighted)!important;padding:2px 8px!important;font-size:11px!important;line-height:1.5!important}.maplibregl-ctrl-attrib,.maplibregl-ctrl-scale{background:color-mix(in srgb,var(--ui-bg-elevated) 80%,transparent)!important;border-radius:0!important}.maplibregl-ctrl-attrib{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);align-items:center!important;gap:4px!important;padding:0!important;font-size:10px!important;display:flex!important}.maplibregl-ctrl-attrib.maplibregl-compact{border-radius:0!important;min-height:24px!important}.maplibregl-ctrl-attrib .maplibregl-ctrl-attrib-button{background-color:#0000!important;flex-shrink:0!important;justify-content:center!important;align-items:center!important;display:flex!important;position:relative!important}.maplibregl-ctrl-attrib .maplibregl-ctrl-attrib-inner{color:#000!important;padding:4px 8px!important}.dark .maplibregl-ctrl-attrib .maplibregl-ctrl-attrib-inner{color:#fff!important}.maplibregl-ctrl-attrib a{color:#000!important}.dark .maplibregl-ctrl-attrib a{color:#fff!important}.follow-pulse{border-radius:inherit;animation:.7s ease-out follow-pulse}@keyframes follow-pulse{0%{filter:drop-shadow(0 0 #22c55e80)}40%{filter:drop-shadow(0 0 12px #22c55e59)}to{filter:drop-shadow(0 0 #22c55e00)}}
