.geometric-art {
  fill: none;
  stroke: var(--color-line);
  stroke-width: var(--line-art);
  stroke-linecap: round;
  stroke-linejoin: round;
  overflow: visible;
}

.geometric-art text,
.tech-label {
  fill: var(--color-text-muted);
  stroke: none;
}

.geometric-art [vector-effect] {
  vector-effect: non-scaling-stroke;
}

.geo-line {
  stroke: var(--color-line);
  fill: none;
}

.geo-line-muted {
  stroke: var(--color-line-muted);
  fill: none;
}

.geo-accent {
  stroke: var(--color-accent);
  fill: none;
}

.geo-fill-bg {
  fill: var(--color-bg);
  stroke: var(--color-line);
}

.node {
  fill: var(--color-bg);
  stroke: var(--color-line);
}

.node--accent {
  fill: var(--color-bg);
  stroke: var(--color-accent);
}

.token {
  fill: var(--color-bg);
  stroke: var(--color-accent);
}

@media (prefers-reduced-motion: reduce) {
  .idle-sway,
  .idle-vibrate,
  .pulse-route {
    animation: none !important;
  }
}
