@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;600;700;800;900&display=swap');
    
    body {
      font-family: 'Poppins', sans-serif;
      user-select: none;
      touch-action: pan-x pan-y;
    }

    /* Animación continua de la línea de ruta (marching dots) */
    @keyframes marchRoute {
      to {
        stroke-dashoffset: -28;
      }
    }

    .animated-route {
      stroke-dasharray: 8 6;
      animation: marchRoute 0.65s linear infinite;
    }

    /* Efecto pulsante y resplandor para el Stand K y el indicador */
    @keyframes pulseTarget {
      0%, 100% {
        transform: scale(1);
        filter: drop-shadow(0 0 4px rgba(168, 85, 247, 0.7));
      }
      50% {
        transform: scale(1.12);
        filter: drop-shadow(0 0 16px rgba(168, 85, 247, 1)) drop-shadow(0 0 25px rgba(239, 68, 68, 0.9));
      }
    }

    .target-beacon {
      transform-origin: 345px 145px;
      animation: pulseTarget 1.4s ease-in-out infinite;
    }

    /* Animación de balanceo corporal al caminar */
    @keyframes personWalk {
      0%, 100% {
        transform: translateY(0px) rotate(-3deg);
      }
      50% {
        transform: translateY(-4px) rotate(3deg);
      }
    }

    .walker-bob {
      animation: personWalk 0.38s ease-in-out infinite alternate;
    }

    /* Ondas de radar en Stand K */
    @keyframes radarWave {
      0% {
        r: 16;
        opacity: 0.9;
        stroke-width: 3;
      }
      100% {
        r: 44;
        opacity: 0;
        stroke-width: 1;
      }
    }

    .radar-ring {
      animation: radarWave 1.8s cubic-bezier(0.2, 0.8, 0.2, 1) infinite;
    }
    .radar-ring-2 {
      animation: radarWave 1.8s cubic-bezier(0.2, 0.8, 0.2, 1) infinite;
      animation-delay: 0.6s;
    }

    /* Estilo del contenedor de mapa para zoom/pan */
    #mapViewport {
      cursor: grab;
      transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1);
      transform-origin: center center;
    }
    #mapViewport.panning {
      cursor: grabbing;
    }

    /* Stands estéticos */
    .stand-box {
      stroke: #334155;
      stroke-width: 1.2;
      transition: all 0.2s;
    }
    .stand-box:hover {
      filter: brightness(1.15);
      stroke-width: 2;
    }
