/* Final shared motion policy. Functional visibility/focus and status text stay intact. */
@media (prefers-reduced-motion: reduce) {
  html:root, html .chat-messages { scroll-behavior: auto; }
  html .chrome-top, html .floor-bar, html .ambient,
  html .hero-card, html .brand-mark::before, html .scroll-cue,
  html [data-modal-panel], html .gate-seal, html .upload-success-veil.is-open .upload-success-dialog,
  html .upload-toolbar .upload-start-attention,
  html .chat-bubble, html .chat-avatar, html .chat-avatar.avatar-pulse,
  html .chat-header-status::before,
  html .chat-typing-dot { animation: none; }
  html .scroll-cue { opacity: 1; }
  html .static-hero { transition: none; }
  html .nf-eyebrow, html .nf-number, html .nf-rule, html .nf-title,
  html .nf-sub, html .nf-actions, html .nf-footer {
    animation: none;
    opacity: 1;
    transform: none;
  }
  /* Keep transitionend-dependent existing components functional until T06. */
  html *, html *::before, html *::after {
    transition-duration: 0.01ms !important;
    transition-delay: 0s !important;
  }
}
