/* OptiWake Race Lab Unified Renderer v2 */

.leaflet-marker-icon.ow-racelab-v2-icon {
  background: transparent !important;
  border: 0 !important;
  overflow: visible !important;
  pointer-events: none !important;
  transition: none !important;
}

.ow-racelab-v2-wrap {
  position: relative;
  width: 62px;
  height: 62px;
  overflow: visible;
  pointer-events: none;
}

.ow-racelab-v2-label {
  position: absolute;
  left: 50%;
  top: -15px;
  transform: translateX(-50%);
  padding: 2px 7px;
  border-radius: 999px;
  background: rgba(255,255,255,.97);
  border: 1px solid rgba(15,23,42,.18);
  color: #0f172a;
  font: 800 10px/1.1 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  white-space: nowrap;
  box-shadow: 0 2px 8px rgba(15,23,42,.16);
  z-index: 2;
}

.ow-racelab-v2-wrap .ow-rl2-boat-svg,
.ow-racelab-v2-wrap svg {
  width: 62px !important;
  height: 62px !important;
  display: block;
  overflow: visible !important;
  filter: drop-shadow(0 2px 4px rgba(15,23,42,.22));
}

.leaflet-overlay-pane path.ow-racelab-v2-wake,
.leaflet-overlay-pane .ow-racelab-v2-wake {
  pointer-events: none !important;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* Race Lab may stay initialized while Replay is active.  Its cleanup rule
   must not hide Replay's own Leaflet boat markers. */
html.ow-racelab-v2-active .leaflet-marker-icon:not(.course-div-icon):not(.ow-racelab-course-icon):not(.ow-racelab-v2-icon):not(.ow-rv4e-boat-icon) {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
}

/* Race Lab Renderer V2 — Replay/OptiWake label style */
.ow-racelab-v2-icon .ow-rl2-marker {
  position: relative;
  overflow: visible !important;
}

.ow-racelab-v2-icon .ow-rl2-label {
  position: absolute !important;
  left: 50% !important;
  top: -10px !important;
  transform: translateX(-50%) !important;
  padding: 2.5px 6px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.97) !important;
  border: 1px solid rgba(15,23,42,.16) !important;
  color: #0f172a !important;
  font: 700 10px/1.1 Arial, sans-serif !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
  box-shadow: 0 2px 7px rgba(15,23,42,.16) !important;
  z-index: 5 !important;
  pointer-events: none !important;
}

.ow-racelab-v2-icon .ow-rl2-start-penalty {
  position: absolute !important;
  left: 49px !important;
  top: -13px !important;
  z-index: 7 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 29px !important;
  padding: 2px 4px !important;
  border: 1px solid rgba(255,255,255,.94) !important;
  border-radius: 999px !important;
  color: #fff !important;
  background: #b45309 !important;
  font: 900 9px/1 Arial, sans-serif !important;
  letter-spacing: .02em !important;
  box-shadow: 0 2px 6px rgba(15,23,42,.28) !important;
  white-space: nowrap !important;
}

.ow-racelab-v2-icon .ow-rl2-start-penalty-ufd,
.ow-racelab-v2-icon .ow-rl2-start-penalty-bfd {
  background: #b91c1c !important;
}

.ow-racelab-v2-icon .ow-rl2-race-state {
  position: absolute !important;
  left: 50% !important;
  top: 49px !important;
  z-index: 7 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transform: translateX(-50%) !important;
  padding: 2px 4px !important;
  border: 1px solid rgba(255,255,255,.94) !important;
  border-radius: 999px !important;
  color: #fff !important;
  background: #475569 !important;
  font: 900 8px/1 Arial, sans-serif !important;
  letter-spacing: .02em !important;
  box-shadow: 0 2px 6px rgba(15,23,42,.28) !important;
  white-space: nowrap !important;
}

.ow-racelab-v2-icon .ow-rl2-race-state-capsize,
.ow-racelab-v2-icon .ow-rl2-race-state-dnf {
  background: #b91c1c !important;
}

.ow-racelab-v2-icon .ow-rl2-race-state-stalled,
.ow-racelab-v2-icon .ow-rl2-race-state-blocked {
  background: #b45309 !important;
}

.ow-racelab-v2-icon.ow-racelab-v2-capsized .ow-rl2-boat-svg {
  opacity: .72 !important;
}


/* Race Lab Renderer V2C — no spring / line-safe */
.leaflet-marker-icon.ow-racelab-v2-icon,
.ow-racelab-v2-icon,
.ow-racelab-v2-wrap,
.ow-racelab-v2-wrap *,
.ow-racelab-v2-icon .ow-rl2-marker,
.ow-racelab-v2-icon .ow-rl2-boat-svg {
  transition: none !important;
  animation: none !important;
}
