/* Sweet Shift Saga v4.5.1.5 — map hover stability hotfix
   Preserve the positioning transforms used by map controls while hovering. */

/* Level discs are positioned with left:50% + translateX(-50%).
   Never replace that transform during hover/focus. */
#screen-map.active .map4208-level-node .map4208-node-disc {
  transform: translateX(-50%) !important;
  transform-origin: 50% 50% !important;
  transition: transform .12s ease, filter .12s ease, box-shadow .12s ease !important;
}

#screen-map.active .map4208-level-node.map-identity-current .map4208-node-disc {
  transform: translateX(-50%) scale(1.055) !important;
}

#screen-map.active .map4208-level-node:not(.locked):hover .map4208-node-disc,
#screen-map.active .map4208-level-node:not(.locked):focus-visible .map4208-node-disc {
  transform: translateX(-50%) scale(1.035) !important;
  filter: brightness(1.045) saturate(1.03) !important;
}

#screen-map.active .map4208-level-node.map-identity-current:hover .map4208-node-disc,
#screen-map.active .map4208-level-node.map-identity-current:focus-visible .map4208-node-disc {
  transform: translateX(-50%) scale(1.07) !important;
}

/* Episode arrows are vertically centered with translateY(-50%).
   Hover feedback must keep that centering transform intact. */
#screen-map.active .map4208-page-arrow {
  transform: translateY(-50%) !important;
  transform-origin: 50% 50% !important;
  transition: transform .12s ease, filter .12s ease, opacity .12s ease !important;
}

#screen-map.active .map4208-page-arrow:hover:not(:disabled),
#screen-map.active .map4208-page-arrow:focus-visible:not(:disabled) {
  transform: translateY(-50%) scale(1.018) !important;
  filter: brightness(1.055) !important;
}

#screen-map.active .map4208-page-arrow:active:not(:disabled) {
  transform: translateY(-50%) scale(.985) !important;
}

/* Episode dots should only scale around their own centre and never translate. */
#screen-map.active .map4208-episode-dot {
  transform-origin: 50% 50% !important;
  transition: transform .1s ease, filter .1s ease !important;
}
#screen-map.active .map4208-episode-dot:not(.active):hover,
#screen-map.active .map4208-episode-dot:not(.active):focus-visible {
  transform: scale(1.08) !important;
  filter: brightness(1.08) !important;
}
#screen-map.active .map4208-episode-dot.active,
#screen-map.active .map4208-episode-dot.active:hover,
#screen-map.active .map4208-episode-dot.active:focus-visible {
  transform: scale(1.18) !important;
}

@media (prefers-reduced-motion: reduce) {
  #screen-map.active .map4208-level-node .map4208-node-disc,
  #screen-map.active .map4208-page-arrow,
  #screen-map.active .map4208-episode-dot {
    transition: none !important;
  }
}
