/* The same location outline as RutaIcon, rendered as a decorative neon trail.
   Background layers cannot cover controls or intercept pointer events. */
:root {
  --ruta-neon-motion: ruta-neon-slide;
  --ruta-neon-pin: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22480%22%20height%3D%22240%22%20viewBox%3D%220%200%20480%20240%22%3E%3Cdefs%3E%3Cfilter%20id%3D%22b%22%20x%3D%22-100%25%22%20y%3D%22-100%25%22%20width%3D%22300%25%22%20height%3D%22300%25%22%3E%3CfeGaussianBlur%20stdDeviation%3D%227%22%2F%3E%3C%2Ffilter%3E%3Cfilter%20id%3D%22s%22%20x%3D%22-100%25%22%20y%3D%22-100%25%22%20width%3D%22300%25%22%20height%3D%22300%25%22%3E%3CfeGaussianBlur%20stdDeviation%3D%222%22%2F%3E%3C%2Ffilter%3E%3ClinearGradient%20id%3D%22n%22%20x1%3D%220%22%20y1%3D%220%22%20x2%3D%221%22%20y2%3D%221%22%3E%3Cstop%20stop-color%3D%22%23fff4bd%22%2F%3E%3Cstop%20offset%3D%22.4%22%20stop-color%3D%22%23ffce28%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23ff3d24%22%2F%3E%3C%2FlinearGradient%3E%3ClinearGradient%20id%3D%22t%22%3E%3Cstop%20stop-color%3D%22%23ff261a%22%20stop-opacity%3D%220%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23ffb51b%22%20stop-opacity%3D%22.5%22%2F%3E%3C%2FlinearGradient%3E%3Cpath%20id%3D%22p%22%20d%3D%22M20%2010c0%206-8%2012-8%2012S4%2016%204%2010a8%208%200%201%201%2016%200ZM15%2010a3%203%200%201%201-6%200%203%203%200%200%201%206%200%22%2F%3E%3C%2Fdefs%3E%3Cg%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%3E%3Cpath%20d%3D%22M0%20158h112%22%20stroke%3D%22url(%23t)%22%20stroke-width%3D%222%22%2F%3E%3Cpath%20d%3D%22M50%20166h64%22%20stroke%3D%22url(%23t)%22%2F%3E%3Cg%20transform%3D%22translate(104%2086)%20rotate(-12%2028%2028)%20scale(2.7)%22%3E%3Cuse%20href%3D%22%23p%22%20stroke%3D%22%23ff4820%22%20stroke-width%3D%225%22%20filter%3D%22url(%23b)%22%20opacity%3D%22.5%22%2F%3E%3Cuse%20href%3D%22%23p%22%20stroke%3D%22%23ff9b21%22%20stroke-width%3D%222.6%22%20filter%3D%22url(%23s)%22%20opacity%3D%22.65%22%2F%3E%3Cuse%20href%3D%22%23p%22%20stroke%3D%22url(%23n)%22%20stroke-width%3D%221.15%22%20opacity%3D%22.85%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate(340%2012)%20rotate(14%2024%2024)%20scale(1.6)%22%20opacity%3D%22.45%22%3E%3Cuse%20href%3D%22%23p%22%20stroke%3D%22%23ff3b26%22%20stroke-width%3D%224%22%20filter%3D%22url(%23b)%22%2F%3E%3Cuse%20href%3D%22%23p%22%20stroke%3D%22url(%23n)%22%20stroke-width%3D%221%22%2F%3E%3C%2Fg%3E%3Cpath%20d%3D%22M288%2045h48%22%20stroke%3D%22url(%23t)%22%2F%3E%3Ccircle%20cx%3D%2288%22%20cy%3D%22123%22%20r%3D%221.5%22%20fill%3D%22%23ffc946%22%20opacity%3D%22.65%22%2F%3E%3Ccircle%20cx%3D%22314%22%20cy%3D%2232%22%20r%3D%221%22%20fill%3D%22%23ff5b28%22%20opacity%3D%22.7%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
}

:is(.site-header, .site-footer, .brand-mark--original, .brand-mark__copy,
  .entry-continue, .signup-money, .driver-earnings, .driver-cta,
  .plaza-cute-pin, .plaza-caption, .plaza-empty button,
  .plaza-scene-note, .plaza-entrance-label,
  .plaza-map-finish, .plaza-camera-hint, .plaza-zoom-controls button,
  .store-breadcrumb a, .ruta-options > button,
  .plaza-view-options button[aria-pressed="true"],
  .plaza-view-switch button[aria-pressed="true"],
  .plaza-map-controls button[aria-pressed="true"],
  .plaza-map > .plaza-map-categories button.selected,
  .plaza-destination-switch a[aria-current="page"],
  .map-store-pin:has(.store-building) strong,
  .map-store-pin:has(.store-building) small,
  [class*="continuous-delicias-preview-module"][class*="__store"] > span,
  [class*="continuous-delicias-preview-module"][class*="__options"] > button) {
  background-image: var(--ruta-neon-pin);
  background-size: 192px 96px;
  background-repeat: repeat;
  animation: var(--ruta-neon-motion) 18s linear infinite;
}

body:has(.route-entry) {
  background-image: var(--ruta-neon-pin);
  background-size: 480px 240px;
  --ruta-neon-step: 480px;
  animation: var(--ruta-neon-motion) 26s linear infinite;
}

@keyframes ruta-neon-slide {
  from { background-position: 0 50%; }
  to { background-position: var(--ruta-neon-step, 192px) 50%; }
}

@media (prefers-reduced-motion: reduce) {
  :root { --ruta-neon-motion: none; }
}
