#lm-map-guides {
  position: absolute;
  inset: 0;
  z-index: 7;
  overflow: hidden;
  pointer-events: none;
  font-family: "Microsoft YaHei", "PingFang SC", system-ui, sans-serif;
}
#lm-map-guides[hidden],
body.immersive-map-open #lm-map-guides,
body.lm-onboarding-active #lm-map-guides,
html.history-preview-open #lm-map-guides { display: none !important; }
.lm-map-guide {
  --guide-blue: #55e5e9;
  --guide-circle-size: 44px;
  position: absolute;
  display: none;
  width: 60px;
  height: 60px;
  transform: translate(-50%, -50%);
  color: var(--guide-blue);
  background: none;
  border: 0;
  padding: 0;
  text-decoration: none;
  pointer-events: auto;
  cursor: pointer;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}
.lm-map-guide__circle {
  position: absolute;
  left: 50%;
  top: 50%;
  width: var(--guide-circle-size);
  height: var(--guide-circle-size);
  box-sizing: border-box;
  border: 3px solid var(--guide-blue);
  border-radius: 50%;
  background: rgba(8, 72, 85, .12);
  box-shadow: 0 0 12px rgba(85, 229, 233, .75), inset 0 0 12px rgba(85, 229, 233, .25);
  transform: translate(-50%, -50%);
  animation: lm-guide-circle-flash 1.8s ease-in-out infinite;
  pointer-events: none;
}
.lm-map-guide__halo {
  position: absolute;
  left: 50%;
  top: 50%;
  box-sizing: border-box;
  border-radius: 50%;
  border: 2px solid var(--guide-blue);
  box-shadow: 0 0 9px rgba(85, 229, 233, .5);
  transform: translate(-50%, -50%);
  animation: lm-guide-halo-breathe 2.8s ease-in-out infinite;
}
.lm-map-guide__halo--one { width: calc(var(--guide-circle-size) + 16px); height: calc(var(--guide-circle-size) + 16px); }
.lm-map-guide__halo--two { width: calc(var(--guide-circle-size) + 30px); height: calc(var(--guide-circle-size) + 30px); animation-delay: -1.4s; }
.lm-map-guide__arrow {
  position: absolute;
  left: calc(50% + var(--guide-circle-size) * .3);
  top: calc(50% - var(--guide-circle-size) * .3 - 48px);
  width: 52px;
  height: 52px;
  fill: var(--guide-blue);
  stroke: none;
  filter: drop-shadow(0 0 3px rgba(85, 229, 233, .6));
  pointer-events: none;
}
.lm-map-guide__verse {
  position: absolute;
  left: 50%;
  top: calc(50% + var(--guide-circle-size) / 2 + 10px);
  transform: translate(calc(-50% + var(--guide-verse-shift-x, 0px)), var(--guide-verse-shift-y, 0px));
  color: #e4bd73;
  font-family: "KaiTi", "STKaiti", "Songti SC", "SimSun", serif;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: .06em;
  white-space: nowrap;
  text-shadow: 0 2px 3px #020b10, 0 0 6px #020b10, 0 0 12px rgba(228, 189, 115, .22);
}
.lm-map-guide:hover .lm-map-guide__circle,
.lm-map-guide:focus-visible .lm-map-guide__circle { border-color: #c0ffff; }
.lm-map-guide:focus-visible { outline: 2px solid #eaffff; outline-offset: 5px; border-radius: 50%; }
html[data-lm-mobile="true"] .lm-map-guide { --guide-circle-size: 40px; width: 54px; height: 54px; }
html[data-lm-mobile="true"] .lm-map-guide__verse { font-size: 15px; }
#lm-map-guides.is-compact .lm-map-guide { --guide-circle-size: 38px; }
#lm-map-guides.is-compact .lm-map-guide__verse { font-size: 14px; top: calc(50% + var(--guide-circle-size) / 2 + 6px); }
@keyframes lm-guide-circle-flash { 0%, 100% { opacity: .55; } 50% { opacity: 1; } }
@keyframes lm-guide-halo-breathe {
  0%, 100% { opacity: .16; transform: translate(-50%, -50%) scale(.94); }
  50% { opacity: .65; transform: translate(-50%, -50%) scale(1.08); }
}
@media (prefers-reduced-motion: reduce) {
  .lm-map-guide__circle, .lm-map-guide__halo { animation: none; }
  .lm-map-guide__circle { opacity: 1; }
  .lm-map-guide__halo--one { opacity: .55; }
  .lm-map-guide__halo--two { opacity: .3; }
}

.lm-map-guide__circle::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #77f4f6;
  box-shadow: 0 0 6px rgba(85, 229, 233, .8);
  transform: translate(-50%, -50%);
}
.lm-map-guide__arrow-highlight {
  fill: none;
  stroke: rgba(234, 255, 255, .65);
  stroke-width: 1.5;
  stroke-linecap: round;
}
html[data-lm-mobile="true"] .lm-map-guide__circle::after { width: 7px; height: 7px; }
