.ao-map-wrap {
  width: 100%;
  display: flex;
  justify-content: center;
  background: rgba(255, 255, 255, 0.62);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1.5px solid rgba(255, 255, 255, 0.8);
  border-radius: 20px;
  padding: 8px;
  box-shadow: 0 4px 20px rgba(255, 123, 172, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.8);
}
.ao-map-svg {
  width: 100%;
  max-width: 400px;
  height: auto;
  display: block;
  touch-action: manipulation;
}
.ao-shape {
  stroke: rgba(92, 61, 110, 0.5);
  stroke-width: calc(0.25px / var(--z, 1));
  stroke-linejoin: round;
  transition: fill 0.2s;
}
.ao-pref:active .ao-shape {
  stroke-width: calc(0.7px / var(--z, 1));
}
.ao-shape.is-target {
  stroke: #FF3D7F;
  stroke-width: calc(0.9px / var(--z, 1));
  animation: ao-target-blink 0.9s ease-in-out infinite;
}
@keyframes ao-target-blink {
  0%, 100% {
    stroke-opacity: 1;
  }
  50% {
    stroke-opacity: 0.35;
  }
}
.ao-hit {
  fill: none;
  stroke: transparent;
  stroke-linejoin: round;
  pointer-events: stroke;
}
.ao-label {
  font-family:
    "Zen Maru Gothic",
    "Hiragino Maru Gothic ProN",
    "BIZ UDPGothic",
    "Yu Gothic UI",
    "Meiryo",
    sans-serif;
  font-weight: 900;
  fill: #4A2D5C;
  paint-order: stroke;
  stroke: rgba(255, 255, 255, 0.95);
  stroke-width: calc(0.9px / var(--z, 1));
  stroke-linejoin: round;
  pointer-events: none;
}
.ao-shape-svg {
  width: 100%;
  max-width: 280px;
  height: auto;
  max-height: 230px;
  display: block;
}
