/* Site13c/d : signaux natifs qui se déplacent sur les chemins de flux.
   Plaques, lettres et liens de base fixes ; activation par le runtime partagé.
   Aucun bouton de pause, retrait demandé par Arnaud. */
.motion-diagram[data-diagram-ambient] .motion-diagram__ambient-flow {
  stroke: var(--blanc-forge, #F2F0EB);
  stroke-width: 2.8px;
  stroke-dasharray: 12 100;
  stroke-dashoffset: 12;
  opacity: 0;
  pointer-events: none;
}
.motion-diagram[data-diagram-ambient][data-diagram-ready='true'] .motion-diagram__ambient-flow {
  animation: deltea-reading-flow 6s linear infinite;
  animation-delay: var(--ambient-delay, 0s);
  animation-play-state: paused;
}
/* Agent/Système : pas de moitié de cycle invisible, signal dès l'entrée.
   Phases négatives = visibles immédiatement, sans délai d'attente. */
.motion-diagram[data-diagram-ambient][data-diagram-ready='true'] .motion-diagram__ambient-flow--continuous {
  animation-name: deltea-flow-continuous;
  animation-duration: 3.6s;
  animation-delay: calc(0s - var(--ambient-delay, 0s));
  stroke-dasharray: var(--ambient-packet, 12) calc(100 - var(--ambient-packet, 12));
}
.motion-diagram[data-diagram-ambient][data-diagram-ready='true'] .motion-diagram__ambient-flow--return {
  animation-direction: reverse;
}
.motion-diagram[data-diagram-ambient][data-diagram-ready='true'] .motion-diagram__ambient-trace {
  animation: deltea-reading-link 8s ease-in-out infinite;
  animation-delay: var(--ambient-delay, 0s);
  animation-play-state: paused;
}
.motion-diagram[data-diagram-ambient][data-diagram-ready='true'] .motion-diagram__ambient-rim {
  animation: deltea-reading-category 8s ease-in-out infinite;
  animation-delay: var(--ambient-delay, 0s);
  animation-play-state: paused;
}
.motion-diagram[data-diagram-ambient][data-diagram-state='active'] :is(.motion-diagram__ambient-flow,.motion-diagram__ambient-trace,.motion-diagram__ambient-rim) {
  animation-play-state: running;
}
.motion-diagram[data-diagram-ambient][data-diagram-state='static'] :is(.motion-diagram__ambient-flow,.motion-diagram__ambient-trace,.motion-diagram__ambient-rim),
[data-diagram-motion='off'] .motion-diagram[data-diagram-ambient] :is(.motion-diagram__ambient-flow,.motion-diagram__ambient-trace,.motion-diagram__ambient-rim) {
  animation: none !important;
}
@keyframes deltea-reading-flow {
  0% { stroke-dashoffset: 12; opacity: 0; }
  4% { opacity: .95; }
  44% { stroke-dashoffset: -100; opacity: .95; }
  48%, 100% { stroke-dashoffset: -100; opacity: 0; }
}
@keyframes deltea-flow-continuous {
  from { stroke-dashoffset: 0; opacity: .95; }
  to { stroke-dashoffset: -100; opacity: .95; }
}
@keyframes deltea-reading-link {
  0%, 8%, 52%, 100% { stroke-opacity: .6; stroke-width: 1px; }
  24%, 30% { stroke-opacity: 1; stroke-width: 1.6px; }
}
@keyframes deltea-reading-category {
  0%, 8%, 52%, 100% { stroke-opacity: .48; stroke-width: .75px; }
  24%, 30% { stroke-opacity: .95; stroke-width: 1.35px; }
}
@media (prefers-reduced-motion: reduce) {
  .motion-diagram[data-diagram-ambient] * { animation: none !important; transition: none !important; }
}
