.bw-live-ai-controls{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:12px}
.bw-live-ai-layer{position:absolute;inset:0;pointer-events:none;z-index:5}
.bw-live-ai-target{position:absolute;width:17px;height:17px;transform:translate(-50%,-50%) rotate(45deg);border:2px solid #fff;background:#999c;box-shadow:0 1px 6px #000;z-index:8}
.bw-live-ai-target-team1{background:#e34b4bd9}.bw-live-ai-target-team2{background:#3a8cffd9}.bw-live-ai-target-neutral{background:#d6b84fd9}
.bw-live-ai-target-planned{opacity:.55;background:transparent;border-style:dashed}
.bw-live-ai-label{position:absolute;transform:translate(12px,-50%);background:#111e;color:#fff3b0;border:1px solid #777;border-radius:4px;padding:3px 6px;font-size:.66rem;white-space:nowrap;z-index:9;pointer-events:none}
.bw-live-ai-label small{display:block;color:#c8c8bd;font-size:.59rem}
@media(max-width:768px){.bw-live-ai-label{display:none}}

/* Badewiese Live-Map bot route visualization v1.1.0 */

.bw-live-ai-route-line{
  position:absolute;
  height:2px;
  transform-origin:0 50%;
  pointer-events:none;
  z-index:4;
  opacity:.85;
}

.bw-live-ai-route-line-team1{
  background:#ff7474;
}

.bw-live-ai-route-line-team2{
  background:#6ba7ff;
}

.bw-live-ai-route-line-neutral{
  background:#ddd;
}

.bw-live-ai-route-line-planned{
  opacity:.4;
  border-top:2px dashed #ddd;
  height:0;
  background:none;
}

.bw-live-ai-bot-marker{
  position:absolute;
  width:12px;
  height:12px;
  border:2px solid #fff;
  border-radius:50%;
  transform:translate(-50%,-50%);
  box-shadow:0 1px 6px #000;
  z-index:7;
}

.bw-live-ai-bot-marker-team1{
  background:#e34b4b;
}

.bw-live-ai-bot-marker-team2{
  background:#3a8cff;
}

.bw-live-ai-bot-marker-neutral{
  background:#aaa;
}

.bw-live-ai-bot-marker-planned{
  opacity:.65;
}

/* Badewiese Live-Map full learned routes v1.2.0 */

.bw-live-ai-route-svg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  overflow:visible;
  pointer-events:none;
  z-index:4;
}

.bw-live-ai-route-polyline{
  stroke-width:2.5;
  stroke-linecap:round;
  stroke-linejoin:round;
  opacity:.9;
}

.bw-live-ai-route-polyline-team1{
  stroke:#ff7474;
}

.bw-live-ai-route-polyline-team2{
  stroke:#6ba7ff;
}

.bw-live-ai-route-polyline-neutral{
  stroke:#ddd;
}

.bw-live-ai-route-polyline-planned{
  stroke-dasharray:6 5;
  opacity:.55;
}

.bw-live-ai-route-polyline-passed{
  opacity:.20;
}

.bw-live-ai-bot-marker{
  z-index:7;
}

.bw-live-ai-target{
  z-index:7;
}

.bw-live-ai-label{
  z-index:8;
}

/* BW_UNIFIED_ROUTE_READABILITY_V1
 *
 * Ein gemeinsamer AI-Layer:
 *   ACTIVE = kräftig / oben
 *   PLAN   = gestrichelt / zurückhaltend
 */

.bw-live-ai-route-polyline{
  stroke-width:.42;
  filter:drop-shadow(0 0 .24px #000);
}

.bw-live-ai-route-polyline-planned{
  opacity:.48;
  stroke-width:.29;
  stroke-dasharray:1.25 1.05;
}

.bw-live-ai-route-polyline-passed{
  opacity:.28;
}

.bw-live-ai-target{
  box-shadow:
    0 0 0 1px #000,
    0 1px 7px #000;
}

.bw-live-ai-target-planned{
  opacity:.68;
  background:transparent;
  border-style:dashed;
}

.bw-live-ai-bot-marker-planned{
  opacity:.62;
}

.bw-live-ai-label{
  max-width:160px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  padding:2px 5px;
  border:1px solid #ffffff42;
  border-radius:4px;
  background:#10110ee6;
  box-shadow:0 2px 6px #0009;
  text-shadow:0 1px 2px #000;
  line-height:1.15;
}

