/* Memory pins stay anchored while their color and ground ring quietly breathe. */
html body main.app-shell section.map-stage.map-focus .mymappi-pin-only .memory-pin-presence {
  pointer-events: none !important;
  transform-box: fill-box !important;
  transform-origin: center !important;
  animation-delay: var(--pin-presence-delay, 0ms) !important;
}

html body main.app-shell section.map-stage.map-focus .mymappi-pin-only .memory-pin-presence-outer {
  fill: color-mix(in srgb, var(--marker-color, #18a978) 30%, transparent) !important;
  stroke: color-mix(in srgb, var(--marker-color, #18a978) 54%, transparent) !important;
  stroke-width: 0.8px !important;
  opacity: 0.46 !important;
  animation: mymappi-pin-presence 3.8s ease-in-out infinite !important;
}

html body main.app-shell section.map-stage.map-focus .mymappi-pin-only .memory-pin-presence-inner {
  fill: color-mix(in srgb, var(--marker-color, #18a978) 74%, #082f3c 26%) !important;
  opacity: 0.62 !important;
  animation: mymappi-pin-presence-core 3.8s ease-in-out infinite !important;
}

html body main.app-shell section.map-stage.map-focus .mymappi-pin-only .memory-pin-shine {
  animation: mymappi-pin-shine 4.6s ease-in-out infinite !important;
  animation-delay: var(--pin-presence-delay, 0ms) !important;
}

html body main.app-shell section.map-stage.map-focus .mymappi-pin-only.is-favorite-memory .memory-pin-presence-outer,
html body main.app-shell section.map-stage.map-focus .mymappi-pin-only.is-recent-memory .memory-pin-presence-outer,
html body main.app-shell section.map-stage.map-focus .mymappi-pin-only.is-living-awake .memory-pin-presence-outer {
  opacity: 0.68 !important;
}

html body main.app-shell section.map-stage.map-focus .mymappi-pin-only.is-reliving-memory .memory-pin-svg {
  transform: scale(1.075) !important;
  transform-box: fill-box !important;
  transform-origin: center bottom !important;
  transition: transform 260ms cubic-bezier(0.2, 0.8, 0.2, 1) !important;
}

html body main.app-shell section.map-stage.map-focus .mymappi-pin-only.is-reliving-memory .memory-pin-presence-outer {
  fill: color-mix(in srgb, var(--marker-color, #18a978) 42%, transparent) !important;
  stroke: color-mix(in srgb, var(--marker-color, #18a978) 76%, #ffffff 24%) !important;
  opacity: 0.88 !important;
}

html body main.app-shell section.map-stage.map-focus.map-interacting .mymappi-pin-only .memory-pin-presence,
html body main.app-shell section.map-stage.map-focus.map-zooming .mymappi-pin-only .memory-pin-presence,
html body main.app-shell section.map-stage.map-focus.map-interacting .mymappi-pin-only .memory-pin-shine,
html body main.app-shell section.map-stage.map-focus.map-zooming .mymappi-pin-only .memory-pin-shine {
  animation-play-state: paused !important;
}

@keyframes mymappi-pin-presence {
  0%, 100% { opacity: 0.34; transform: scale(0.84); }
  48% { opacity: 0.62; transform: scale(1.08); }
  62% { opacity: 0.46; transform: scale(1); }
}

@keyframes mymappi-pin-presence-core {
  0%, 100% { opacity: 0.52; transform: scale(0.94); }
  50% { opacity: 0.78; transform: scale(1.05); }
}

@keyframes mymappi-pin-shine {
  0%, 100% { opacity: 0.22; }
  48% { opacity: 0.48; }
  62% { opacity: 0.3; }
}

@media (prefers-reduced-motion: reduce) {
  html body main.app-shell section.map-stage.map-focus .mymappi-pin-only .memory-pin-presence,
  html body main.app-shell section.map-stage.map-focus .mymappi-pin-only .memory-pin-shine {
    animation: none !important;
  }

  html body main.app-shell section.map-stage.map-focus .mymappi-pin-only .memory-pin-presence-outer {
    opacity: 0.48 !important;
  }
}
