/* Full passive image remains available without JavaScript. */
figure[data-diagram-motion] { scroll-margin-top: 5.5rem; }
figure[data-diagram-motion] .diagram-motion-display > [hidden],
figure[data-diagram-motion] .diagram-motion-controls[hidden] { display: none !important; }
figure[data-diagram-motion] .diagram-motion-display { min-width: 0; }
figure[data-diagram-motion] .diagram-motion-vector { width: 100%; min-width: 0; }
figure[data-diagram-motion] .diagram-motion-svg { display: block; width: 100%; height: auto; max-width: 100%; }
figure[data-diagram-motion] .diagram-motion-controls {
  display: flex; align-items: center; justify-content: flex-start;
  flex-wrap: wrap; gap: .45rem .8rem; margin-bottom: .6rem; text-align: left;
}
figure[data-diagram-motion] .diagram-motion-button {
  flex: 0 1 auto; min-height: 44px; max-width: 100%; padding: .45rem .8rem;
  border: 1px solid currentColor; border-radius: .35rem; color: #25343a;
  background: #fff; font: inherit; font-size: .875rem; line-height: 1.3;
  white-space: normal; cursor: pointer;
}
figure[data-diagram-motion] .diagram-motion-button:hover { background: #fcfaf5; }
figure[data-diagram-motion] .diagram-motion-button:focus-visible { outline: 3px solid #25343a; outline-offset: 3px; }
figure[data-diagram-motion] .diagram-motion-status { flex: 1 1 14rem; min-width: 0; font-size: .875rem; line-height: 1.45; overflow-wrap: anywhere; color: #25343a; }
/* Every fact stays visible; the current semantic group receives quiet emphasis. */
figure[data-diagram-motion].is-explaining g[data-phase] { opacity: .86; transition: opacity .25s ease; }
figure[data-diagram-motion].is-explaining g[data-phase].is-current-phase { opacity: 1; }
@media (prefers-reduced-motion: reduce) {
  figure[data-diagram-motion] g[data-phase] { transition: none !important; }
}
@media print {
  figure[data-diagram-motion] .diagram-motion-controls { display: none !important; }
  figure[data-diagram-motion] g[data-phase] { opacity: 1 !important; transition: none !important; }
}
figure[data-diagram-motion] .diagram-motion-trace { pointer-events: none; }
