/* Stable grouped memories: exact sizing, crisp counts, and no zoom-time blur. */
html body main.app-shell section.map-stage.map-focus .maplibregl-marker:has(.memory-cluster-marker) {
  width: 58px !important;
  min-width: 58px !important;
  height: 34px !important;
  min-height: 34px !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  filter: none !important;
  opacity: 1 !important;
  overflow: visible !important;
  contain: layout size !important;
}

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: grid !important;
  grid-template-columns: 19px minmax(18px, auto) !important;
  width: 58px !important;
  min-width: 58px !important;
  height: 34px !important;
  min-height: 34px !important;
  place-content: center !important;
  align-items: center !important;
  gap: 5px !important;
  margin: 0 !important;
  padding: 0 7px !important;
  border: 1px solid rgba(255, 255, 255, 0.92) !important;
  border-radius: 999px !important;
  background: linear-gradient(
    145deg,
    color-mix(in srgb, var(--marker-color, #18a978) 80%, #0a5962 20%),
    color-mix(in srgb, var(--marker-color, #18a978) 88%, #073f4c 12%)
  ) !important;
  box-shadow: 0 3px 8px rgba(4, 45, 55, 0.14) !important;
  filter: none !important;
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
  transition: background-color 150ms ease, border-color 150ms ease, box-shadow 150ms ease !important;
  cursor: zoom-in !important;
  isolation: isolate !important;
  -webkit-font-smoothing: antialiased !important;
  text-rendering: geometricPrecision !important;
}

html body main.app-shell section.map-stage.map-focus .memory-cluster-marker .cluster-pin-mark,
html body main.app-shell section.map-stage.map-focus .memory-cluster-marker .cluster-pin-mark svg,
html body main.app-shell section.map-stage.map-focus .memory-cluster-marker .cluster-count {
  filter: none !important;
  transform: none !important;
  text-shadow: none !important;
}

html body main.app-shell section.map-stage.map-focus .memory-cluster-marker .cluster-count {
  min-width: 18px !important;
  font-size: 13px !important;
  font-weight: 850 !important;
  font-variant-numeric: tabular-nums !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
}

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,
html body main.app-shell section.map-stage.map-focus.memory-cluster-expanding .memory-cluster-marker {
  box-shadow: none !important;
  filter: none !important;
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
}

html body main.app-shell section.map-stage.map-focus .memory-cluster-marker:focus-visible {
  outline: 3px solid rgba(255, 255, 255, 0.98) !important;
  outline-offset: 3px !important;
}

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