/*
 * www.pipedesk.de — strokes and fills of the inline illustrations (ADR 0026, TASK-1180).
 * Abstract on purpose: networks, contours, a map raster, a vehicle silhouette. Motion is
 * limited to the flow dashes and one halo; site.css switches both off for reduced motion.
 */

.ill-grid {
  stroke: var(--c-border);
  stroke-width: 1;
  fill: none;
}

.ill-contour {
  fill: none;
  stroke: var(--c-border);
  stroke-width: 1.2;
}

.ill-pipe {
  fill: none;
  stroke: var(--c-muted-a);
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.ill-route {
  fill: none;
  stroke: var(--c-primary);
  stroke-width: 4;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.ill-flow {
  fill: none;
  stroke: var(--c-text-soft);
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-dasharray: 1 15;
  animation: flow 2.4s linear infinite;
}

.ill-node {
  fill: var(--c-bg);
  stroke: var(--c-muted);
  stroke-width: 2;
}

.ill-node-hot {
  fill: var(--c-bg);
  stroke: var(--c-primary);
  stroke-width: 2.5;
}

.ill-dot {
  fill: var(--c-muted);
}

.ill-dot-hot {
  fill: var(--c-primary);
}

.ill-find-3 {
  fill: #eab308;
}

.ill-find-4 {
  fill: #f97316;
}

.ill-find-1 {
  fill: #22c55e;
}

.ill-halo {
  fill: var(--c-primary);
  opacity: 0.18;
  animation: pulse 3.2s ease-in-out infinite;
  transform-box: fill-box;
  transform-origin: center;
}

.ill-line {
  fill: none;
  stroke: var(--c-muted);
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.ill-soft {
  fill: none;
  stroke: var(--c-border);
  stroke-width: 2;
}

.ill-fill {
  fill: var(--c-elev);
  stroke: var(--c-muted);
  stroke-width: 2;
  stroke-linejoin: round;
}

.ill-ground {
  fill: var(--c-rail);
}

.ill-signal {
  fill: none;
  stroke: var(--c-primary);
  stroke-width: 2;
  stroke-linecap: round;
  stroke-dasharray: 4 10;
  animation: flow 1.8s linear infinite;
}

.ill-beam {
  fill: var(--c-primary);
  opacity: 0.16;
}

.ill-crawler,
.ill-lock {
  fill: var(--c-primary);
}

.ill-lens {
  fill: var(--c-bg);
}

.ill-cable {
  fill: none;
  stroke: var(--c-muted);
  stroke-width: 1.5;
  stroke-linejoin: round;
}

.ill-window {
  fill: var(--c-deep);
  stroke: var(--c-muted);
  stroke-width: 1.5;
  stroke-linejoin: round;
}

.ill-live {
  fill: #ef4444;
}

@keyframes flow {
  to {
    stroke-dashoffset: -32;
  }
}

@keyframes pulse {
  0%,
  100% {
    transform: scale(1);
    opacity: 0.18;
  }
  50% {
    transform: scale(1.6);
    opacity: 0.05;
  }
}
