/* Transparent map only: no point markers, floating panels or data cards. */
.vc-hubei-map {
  position: relative;
  --vc-map-deep: #00152e;
  --vc-map-surface: #00224c;
  --vc-map-medium: #146399;
  --vc-map-accent: #32b9ff;
  --vc-map-light: #a3e6ff;
  min-width: 0;
  min-height: 0;
  background: transparent;
  isolation: isolate;
}
.screen-canvas > .vc-hubei-map {
  position: absolute;
  top: calc(var(--screen-title-height, 40px) + 20px);
  bottom: 28px;
  left: calc(var(--screen-side-width, 20%) + 12px);
  right: calc(var(--screen-side-width, 20%) + 12px);
  z-index: 0;
}
.vc-hubei-map[hidden] { display: none; }
.vc-hubei-map__screen-grid {
  position: absolute;
  z-index: -1;
  left: var(--vc-grid-left, 0px);
  top: var(--vc-grid-top, 0px);
  width: var(--vc-grid-width, 100%);
  height: var(--vc-grid-height, 100%);
  max-width: none;
  overflow: hidden;
  pointer-events: none;
}
.vc-hubei-map__svg { display: block; width: 100%; height: 100%; overflow: visible; }
.vc-hubei-map__backdrop { pointer-events: none; }
.vc-hubei-map__terrain-context { opacity: .2; pointer-events: none; }
.vc-hubei-map__perspective-grid { fill: none; stroke: var(--vc-map-accent); stroke-width: .8; stroke-opacity: .18; }
.vc-hubei-map__radar-rings { fill: none; stroke: var(--vc-map-accent); stroke-width: 1.2; stroke-opacity: .48; }
.vc-hubei-map__segmented-ring { stroke-opacity: .68; stroke-width: 1.6; }
.vc-hubei-map__ticks { fill: none; stroke: var(--vc-map-light); stroke-width: 1.3; stroke-opacity: .6; }
.vc-hubei-map__terrain { opacity: .64; pointer-events: none; }
.vc-hubei-map__region.is-map-selected .vc-hubei-map__terrain { opacity: .96; filter: brightness(1.15) saturate(1.08); }
.vc-hubei-map__depth {
  fill: var(--vc-map-deep);
  stroke: var(--vc-map-accent);
  stroke-width: 1.5;
  stroke-opacity: .55;
  stroke-linejoin: round;
  pointer-events: none;
  filter: drop-shadow(0 10px 12px var(--vc-map-deep));
}
.vc-hubei-map__surfaces { filter: drop-shadow(0 0 8px var(--vc-map-medium)); }
.vc-hubei-map__region {
  cursor: pointer;
  outline: none;
  transition: transform .24s cubic-bezier(.2, .7, .3, 1);
}
.vc-hubei-map__shape { stroke: none; }
.vc-hubei-map__boundary {
  stroke: var(--vc-map-light);
  stroke-width: 1.35;
  stroke-opacity: .7;
  stroke-linejoin: round;
}
.vc-hubei-map__highlight {
  opacity: 0;
  stroke: var(--vc-map-light);
  stroke-width: 2.6;
  stroke-linejoin: round;
  pointer-events: none;
  transition: opacity .18s ease;
}
.vc-hubei-map__label {
  fill: #f0f8ff;
  font: 16px/1.2 var(--vc-font-body);
  paint-order: stroke fill;
  stroke: var(--vc-map-deep);
  stroke-width: 3px;
  stroke-linejoin: round;
  pointer-events: none;
  user-select: none;
}
/* Hover uses a clear lit wash; selection preserves relief and has its own
   soft spotlight, diffused halo and thin directional rim. */
.vc-hubei-map__region.is-map-active:not(.is-map-selected) .vc-hubei-map__highlight { opacity: .72; stroke-width: 2.2; filter: drop-shadow(0 0 3px var(--vc-map-accent)); }
.vc-hubei-map__region.is-map-active .vc-hubei-map__label { fill: #fff; }
.vc-hubei-map__selection-light, .vc-hubei-map__selection-halo, .vc-hubei-map__selection-edge { opacity: 0; pointer-events: none; transition: opacity .24s ease; }
.vc-hubei-map__selection-halo { stroke: var(--vc-map-accent); stroke-width: 9; stroke-linejoin: round; filter: blur(3.5px); }
.vc-hubei-map__selection-edge { stroke-width: 2.8; stroke-linejoin: round; }
.vc-hubei-map__region.is-map-selected { transform: translateY(-3px); }
.vc-hubei-map__region.is-map-selected .vc-hubei-map__highlight { opacity: 0; }
.vc-hubei-map__region.is-map-selected .vc-hubei-map__selection-light, .vc-hubei-map__region.is-map-selected .vc-hubei-map__selection-edge { opacity: 1; }
.vc-hubei-map__region.is-map-selected .vc-hubei-map__selection-halo { opacity: .85; }
.vc-hubei-map__region.is-map-selected .vc-hubei-map__label { fill: #fff; font-weight: 700; stroke-width: 2.5; filter: drop-shadow(0 0 4px var(--vc-map-light)); }
.vc-hubei-map__region:focus-visible .vc-hubei-map__highlight { stroke: #fff; stroke-width: 3.5; }
.vc-hubei-map__region:focus-visible .vc-hubei-map__selection-edge { stroke: #fff; stroke-width: 3.2; }
@media (prefers-reduced-motion: reduce) {
  .vc-hubei-map__region, .vc-hubei-map__highlight, .vc-hubei-map__selection-light, .vc-hubei-map__selection-halo, .vc-hubei-map__selection-edge { transition: none; }
}
