/* ─── Reduced-motion overrides ───────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  .hero-icon,
  .form-glow::before,
  .space-aurora,
  .star {
    animation: none;
  }

  .result-panel-reveal {
    transition-duration: 0.01ms;
    transition-timing-function: step-end;
  }

  .generate-workspace,
  .gen-left-col,
  .hero-collapse {
    transition-duration: 0.01ms;
  }

  .preview-mode #pdf-preview-pane,
  body.preview-mode-active #pdf-tab-bar-wrap:not([hidden]) {
    transition-duration: 0.01ms;
    opacity: 1;
    transform: none;
  }

  .site-header::before {
    transition-duration: 0.01ms;
  }

  .dl-hero:hover,
  .dl-hero:active,
  .dl-icon-btn:hover,
  .dl-icon-btn:active {
    transform: none;
  }

  /* Page-load entrance: fade only, no translate */
  body:not(.page-entered) #generate-workspace:not(.preview-mode)
    #gen-left-col > .hero-collapse:first-child p.uppercase,
  body:not(.page-entered) #generate-workspace:not(.preview-mode)
    #gen-left-col > .hero-collapse:first-child h1,
  body:not(.page-entered) #generate-workspace:not(.preview-mode)
    #gen-left-col > .hero-collapse:first-child > p.text-slate-400,
  body:not(.page-entered) #generate-workspace:not(.preview-mode) #gen-form.glass-panel,
  body:not(.page-entered) #generate-workspace:not(.preview-mode)
    .hero-collapse.mt-14 .feature-card:nth-child(1),
  body:not(.page-entered) #generate-workspace:not(.preview-mode)
    .hero-collapse.mt-14 .feature-card:nth-child(2),
  body:not(.page-entered) #generate-workspace:not(.preview-mode)
    .hero-collapse.mt-14 .feature-card:nth-child(3) {
    animation-name: hero-in-fade;
  }

  /* Title shimmer: disable */
  #generate-workspace:not(.preview-mode) #gen-left-col > .hero-collapse:first-child h1.font-display {
    animation: none;
  }

  /* Library entrance: fade only, no translate */
  body:not(.page-entered) #lib-hero > div:first-child,
  body:not(.page-entered) #lib-hero > div:last-child,
  body:not(.page-entered) #lib-controls,
  body:not(.page-entered) #grid-physics {
    animation-name: hero-in-fade;
  }

  /* Library h1 shimmer: disable */
  #lib-hero h1.font-display { animation: none; }

  /* Icon settle: disable spring overshoot, keep icon at final scale */
  body:not(.page-entered) #generate-workspace:not(.preview-mode)
    .hero-collapse.mt-14 .feature-card > div:first-child,
  body:not(.page-entered) #grade-page .mt-10 .feature-card > div:first-child {
    animation: none;
  }

  /* PDF tab panel switch: jump instantly instead of fading */
  .pdf-tab-panel,
  .pdf-tab-panel.is-active {
    transition-duration: 0.01ms;
  }
}
