/* MyMappi memory pins: one stable size, calm motion, and readable clusters. */
html body .app-shell .map-stage.map-focus .maplibregl-marker.mymappi-memory-pin-icon,
html body .app-shell .map-stage.map-focus .mymappi-memory-pin-icon,
html body main.app-shell section.map-stage.map-focus .maplibregl-marker.mymappi-memory-pin-icon,
html body main.app-shell section.map-stage.map-focus .mymappi-memory-pin-icon {
  width: 30px !important;
  height: 45px !important;
  min-width: 30px !important;
  min-height: 45px !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  filter: none !important;
  overflow: visible !important;
}

html body .app-shell .map-stage.map-focus .mymappi-pin-only,
html body main.app-shell section.map-stage.map-focus .mymappi-pin-only {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  transform: translateZ(0) scale(1) !important;
  transform-origin: 50% 91.67% !important;
  animation: none !important;
  filter: none !important;
  opacity: 1 !important;
  transition: transform 180ms cubic-bezier(0.2, 0.8, 0.2, 1), opacity 150ms ease !important;
}

html body .app-shell .map-stage.map-focus .mymappi-pin-only::before,
html body .app-shell .map-stage.map-focus .mymappi-pin-only::after,
html body main.app-shell section.map-stage.map-focus .mymappi-pin-only::before,
html body main.app-shell section.map-stage.map-focus .mymappi-pin-only::after {
  display: none !important;
  content: none !important;
}

html body .app-shell .map-stage.map-focus .mymappi-pin-only .memory-pin-svg,
html body main.app-shell section.map-stage.map-focus .mymappi-pin-only .memory-pin-svg {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  overflow: visible !important;
  filter: drop-shadow(0 2px 2px rgba(5, 52, 62, 0.14)) !important;
  transform: translateZ(0) !important;
}

html body .app-shell .map-stage.map-focus:not(.map-interacting):not(.map-zooming) .mymappi-pin-only:hover,
html body .app-shell .map-stage.map-focus:not(.map-interacting):not(.map-zooming) .mymappi-pin-only:focus-within,
html body main.app-shell section.map-stage.map-focus:not(.map-interacting):not(.map-zooming) .mymappi-pin-only:hover,
html body main.app-shell section.map-stage.map-focus:not(.map-interacting):not(.map-zooming) .mymappi-pin-only:focus-within {
  transform: translateY(-2px) translateZ(0) scale(1.06) !important;
}

html body .app-shell .map-stage.map-focus.map-interacting .mymappi-pin-only,
html body .app-shell .map-stage.map-focus.map-zooming .mymappi-pin-only,
html body main.app-shell section.map-stage.map-focus.map-interacting .mymappi-pin-only,
html body main.app-shell section.map-stage.map-focus.map-zooming .mymappi-pin-only {
  animation: none !important;
  filter: none !important;
  opacity: 0.9 !important;
  transform: translateZ(0) scale(1) !important;
  transition: none !important;
}

html body .app-shell .map-stage.map-focus.map-interacting .mymappi-pin-only .memory-pin-svg,
html body .app-shell .map-stage.map-focus.map-zooming .mymappi-pin-only .memory-pin-svg,
html body main.app-shell section.map-stage.map-focus.map-interacting .mymappi-pin-only .memory-pin-svg,
html body main.app-shell section.map-stage.map-focus.map-zooming .mymappi-pin-only .memory-pin-svg {
  filter: none !important;
}

html body .app-shell .map-stage.map-focus .maplibregl-marker:has(.memory-cluster-marker),
html body main.app-shell section.map-stage.map-focus .maplibregl-marker:has(.memory-cluster-marker) {
  width: 86px !important;
  height: 34px !important;
  min-width: 86px !important;
  min-height: 34px !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  filter: none !important;
  overflow: visible !important;
}

html body .app-shell .map-stage.map-focus .memory-cluster-marker,
html body .app-shell .map-stage.map-focus .memory-cluster-marker.constellation-cluster,
html body main.app-shell section.map-stage.map-focus .memory-cluster-marker,
html body main.app-shell section.map-stage.map-focus .memory-cluster-marker.constellation-cluster {
  display: inline-flex !important;
  width: 86px !important;
  height: 34px !important;
  min-width: 86px !important;
  min-height: 34px !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px !important;
  margin: 0 !important;
  padding: 0 11px !important;
  border: 1.5px solid rgba(255, 255, 255, 0.9) !important;
  border-radius: 999px !important;
  color: #ffffff !important;
  background:
    linear-gradient(145deg, color-mix(in srgb, var(--marker-color, #18a978) 86%, #0c4251 14%), var(--marker-color, #18a978)) !important;
  box-shadow: 0 5px 13px rgba(5, 48, 58, 0.17) !important;
  opacity: 1 !important;
  filter: none !important;
  transform: translateZ(0) scale(1) !important;
  animation: none !important;
  transition: transform 180ms ease, opacity 150ms ease, box-shadow 180ms ease !important;
}

html body .app-shell .map-stage.map-focus .memory-cluster-marker .cluster-count,
html body .app-shell .map-stage.map-focus .memory-cluster-marker.constellation-cluster .cluster-count,
html body main.app-shell section.map-stage.map-focus .memory-cluster-marker .cluster-count,
html body main.app-shell section.map-stage.map-focus .memory-cluster-marker.constellation-cluster .cluster-count {
  display: inline !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #ffffff !important;
  font-size: 0.84rem !important;
  font-weight: 950 !important;
  line-height: 1 !important;
  text-shadow: none !important;
}

html body .app-shell .map-stage.map-focus .memory-cluster-marker small,
html body .app-shell .map-stage.map-focus .memory-cluster-marker.constellation-cluster small,
html body main.app-shell section.map-stage.map-focus .memory-cluster-marker small,
html body main.app-shell section.map-stage.map-focus .memory-cluster-marker.constellation-cluster small {
  display: inline !important;
  margin: 0 !important;
  color: rgba(255, 255, 255, 0.9) !important;
  font-size: 0.62rem !important;
  font-weight: 820 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

html body .app-shell .map-stage.map-focus:not(.map-interacting):not(.map-zooming) .memory-cluster-marker:hover,
html body main.app-shell section.map-stage.map-focus:not(.map-interacting):not(.map-zooming) .memory-cluster-marker:hover {
  box-shadow: 0 7px 17px rgba(5, 48, 58, 0.2) !important;
  transform: translateY(-1px) translateZ(0) scale(1.025) !important;
}

html body .app-shell .map-stage.map-focus.map-interacting .memory-cluster-marker,
html body .app-shell .map-stage.map-focus.map-zooming .memory-cluster-marker,
html body main.app-shell section.map-stage.map-focus.map-interacting .memory-cluster-marker,
html body main.app-shell section.map-stage.map-focus.map-zooming .memory-cluster-marker {
  box-shadow: none !important;
  opacity: 0.92 !important;
  transform: translateZ(0) scale(1) !important;
  transition: none !important;
}

@media (max-width: 720px) {
  html body .app-shell .map-stage.map-focus .maplibregl-marker:has(.memory-cluster-marker),
  html body .app-shell .map-stage.map-focus .memory-cluster-marker,
  html body .app-shell .map-stage.map-focus .memory-cluster-marker.constellation-cluster,
  html body main.app-shell section.map-stage.map-focus .maplibregl-marker:has(.memory-cluster-marker),
  html body main.app-shell section.map-stage.map-focus .memory-cluster-marker,
  html body main.app-shell section.map-stage.map-focus .memory-cluster-marker.constellation-cluster {
    width: 80px !important;
    min-width: 80px !important;
  }
}

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