/* PIANO ARMY · THE NODES' PULSE (10-23; docs/notes/control-levels.md, "The nodes' pulse"): at each pulse of his nodes a
   soft ring out from each active node's button, in its action's colour (the button's own); two names in turn so each
   pulse plays it again. The ground's ring and the small map's are drawn (army-bases-ui.js, army-node-clicks.js) */
.bases-node-layer button.pulse-a::after, .bases-node-layer button.pulse-b::after {
  content: ""; position: absolute; inset: -3px; border-radius: inherit; border: 2px solid currentColor; pointer-events: none; opacity: 0;
}
/* (its length TUNING.orders.nodePulseShow's, set on the button as --pulse-show) */
.bases-node-layer button.pulse-a::after { animation: node-pulse-a var(--pulse-show, .7s) ease-out; }
.bases-node-layer button.pulse-b::after { animation: node-pulse-b var(--pulse-show, .7s) ease-out; }
@keyframes node-pulse-a { from { opacity: .85; transform: scale(1); } to { opacity: 0; transform: scale(1.6, 2.2); } }
@keyframes node-pulse-b { from { opacity: .85; transform: scale(1); } to { opacity: 0; transform: scale(1.6, 2.2); } }
@media (prefers-reduced-motion: reduce) { .bases-node-layer button.pulse-a::after, .bases-node-layer button.pulse-b::after { animation-duration: .01s; } }
