/* Canvas particle layer: replaces many DOM/CSS keyframe particles with one cheap draw pass. */
.map-particle-canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 14;
  pointer-events: none;
  contain: strict;
  opacity: .95;
  mix-blend-mode: screen;
}

/* Hide old DOM particles. Canvas owns the particle effect now, so perf guards cannot make it vanish. */
.premium-map .packet {
  display: none !important;
}

body.is-low-power .map-particle-canvas,
body.performance-critical .map-particle-canvas {
  opacity: .82;
  mix-blend-mode: normal;
}

@media (max-width: 760px) {
  .map-particle-canvas { opacity: .78; }
}

/* Use one canonical route layer: dynamic node-to-node SVG lines.
   Static premium-links were decorative and do not match current node coordinates. */
.premium-map .premium-links {
  display: none !important;
}

.premium-map .dynamic-link-layer {
  display: block !important;
  visibility: visible !important;
}

/* Keep the particle layer above route lines but below HUD/status panels. */
.map-particle-canvas {
  z-index: 13;
}
