.ep-flow { stroke-linecap: round; pointer-events: stroke; }
.ep-flow.is-stale { opacity:.35; filter:grayscale(.55); }
.ep-flow-hit { stroke:transparent; stroke-width:18; pointer-events:stroke; }
.ep-plant-marker { filter: drop-shadow(0 0 10px rgba(46,163,255,.7)); }
.ep-popup { font-family:var(--ep-font); color:var(--ep-text); }
@keyframes ep-dash { to { stroke-dashoffset:-40; } }
.ep-flow-animated { stroke-dasharray:9 12; animation:ep-dash var(--ep-flow-duration,1.3s) linear infinite; }
@media (prefers-reduced-motion: reduce){ .ep-flow-animated{animation:none;} }
.destination-marker{background:none;border:0;pointer-events:auto}
.destination-bolt{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;font-size:12px;background:#132b35;border:1px solid #f3c75e;box-shadow:0 0 7px #ffc85766}
.destination-caption{position:absolute;top:50%;left:calc(100% + 5px);transform:translateY(-50%);display:flex;flex-direction:column;gap:2px;padding:5px 7px;border:1px solid #476475;border-radius:6px;background:#071a27eb;color:#edfaff;white-space:nowrap;line-height:1.15;box-shadow:0 2px 9px #0005}
.destination-marker-below .destination-caption{top:calc(100% + 5px);left:50%;transform:translateX(-50%)}
.destination-caption b{font-size:10px;letter-spacing:.04em;text-transform:uppercase}.destination-caption strong{font-size:11px}.destination-caption small{font-size:8px;color:#bad0df}
.destination-legend{color:#ffe08a;white-space:nowrap}
@media(max-width:650px){.destination-caption{padding:4px 5px}.destination-caption b,.destination-caption strong{font-size:9px}.destination-caption small{font-size:7px}.destination-legend{font-size:8px}.plant-label small{display:none}}
.destination-arrow{background:none;border:0;pointer-events:none}
.destination-arrow span{display:block;color:var(--arrow-color);font:700 12px/12px system-ui;text-shadow:0 0 4px var(--arrow-color);transform-origin:center}
.destination-flow-glow{filter:drop-shadow(0 0 5px #ffd54a);pointer-events:none}
.destination-flow-current{stroke-dasharray:7 11;animation:destination-current 1s linear infinite;filter:drop-shadow(0 0 4px #ffd54a);pointer-events:none}
@keyframes destination-current{to{stroke-dashoffset:-18}}

.bolt-path{border:0;background:none;pointer-events:none}
.bolt-path span{display:block;color:var(--bolt-color);font:700 15px/12px system-ui;text-shadow:0 0 5px var(--bolt-color),0 0 10px var(--bolt-color);animation:bolt-pulse 1.8s ease-in-out infinite alternate;animation-delay:var(--bolt-delay)}
.destination-route-bolt span{font-size:11px;line-height:10px;text-shadow:0 0 4px var(--bolt-color),0 0 8px var(--bolt-color)}
.grid-glow{stroke-linecap:round;stroke-linejoin:round}
@keyframes bolt-pulse{from{opacity:.55;transform:scale(.85)}to{opacity:1;transform:scale(1.15)}}
@media(prefers-reduced-motion:reduce){.bolt-path span,.destination-flow-current{animation:none}}
