/* Sweet Shift Saga v4.4.0.7 — Map Identity Restoration
   Restore the established illustrated Saga-map language and innovate only
   through small, in-language interactions. No replacement map structure. */

/* Never add a second map layout on top of the illustrated Episode map. */
#screen-map.active #level-grid.map4208-world-map,
#level-grid.map4208-world-map {
  display:block !important;
  grid-template-columns:none !important;
}

/* Current Level: a candy-like aura on the existing node — not another card. */
#screen-map.active .map4208-level-node.map-identity-current {
  z-index:34 !important;
}
#screen-map.active .map4208-level-node.map-identity-current .map4208-node-disc {
  position:relative;
  transform:scale(1.055);
  box-shadow:
    0 5px 0 hsl(var(--node-hue,326) 55% 34%),
    0 0 0 5px rgba(255,255,255,.9),
    0 0 0 9px hsl(var(--node-hue,326) 84% 62% / .22),
    0 10px 20px rgba(61,32,75,.2) !important;
  animation:map4406CurrentBreath 2.6s ease-in-out infinite;
}
#screen-map.active .map4208-level-node.map-identity-current .map4208-node-disc::after {
  content:"";
  position:absolute;
  inset:-11px;
  border-radius:50%;
  pointer-events:none;
  background:
    radial-gradient(circle at 14% 30%,#fff 0 2px,transparent 3px),
    radial-gradient(circle at 83% 20%,#fff7b8 0 2px,transparent 3px),
    radial-gradient(circle at 88% 77%,#fff 0 1.5px,transparent 2.5px);
  opacity:.5;
  animation:map4406Sparkle 2.6s ease-in-out infinite;
}

/* Keep established nodes playful; just improve tactile feedback. */
#screen-map.active .map4208-level-node:not(.locked) .map4208-node-disc {
  transition:transform .14s ease, filter .14s ease, box-shadow .14s ease !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:translateY(-2px) scale(1.045);
  filter:brightness(1.045) saturate(1.04);
}
#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:translateY(-2px) scale(1.075);
}

/* Episode navigation remains part of the candy-map frame, only with clearer interaction. */
#screen-map.active .map4208-page-arrow {
  transition:transform .14s ease, filter .14s ease, opacity .14s ease !important;
}
#screen-map.active .map4208-page-arrow:hover:not(:disabled) {
  transform:translateY(-2px) scale(1.03);
  filter:brightness(1.06);
}
#screen-map.active .map4208-episode-dot.active {
  box-shadow:0 0 0 3px rgba(255,255,255,.3),0 3px 7px rgba(55,32,68,.2) !important;
}

/* Preserve the original labelled tool buttons and full HUD layout. */
#screen-map.active .map-hud-tools .map-tool-copy {
  display:flex !important;
}
#screen-map.active .map-hud-pill.mastery-pill,
#screen-map.active .map-hud-pill.streak-pill,
#screen-map.active .map-hud-tools .map-tool-profile,
#screen-map.active .map-hud-tools .map-tool-settings,
#screen-map.active .map-hud-tools .map-tool-guide,
#screen-map.active .map-hud-tools .map-tool-maker {
  display:flex !important;
}

@keyframes map4406CurrentBreath {
  0%,100% { filter:brightness(1); }
  50% { filter:brightness(1.08) saturate(1.06); }
}
@keyframes map4406Sparkle {
  0%,100% { opacity:.34; transform:rotate(0deg) scale(.98); }
  50% { opacity:.82; transform:rotate(5deg) scale(1.03); }
}
@media(prefers-reduced-motion:reduce){
  #screen-map.active .map4208-level-node.map-identity-current .map4208-node-disc,
  #screen-map.active .map4208-level-node.map-identity-current .map4208-node-disc::after {
    animation:none !important;
  }
}
