/*
 * Safety principle: content is NEVER hidden by CSS before JavaScript runs.
 * Motion is progressive enhancement only. If JavaScript or browser animation
 * support fails, every heading, paragraph, tab panel and CTA remains readable/selectable.
 */

@keyframes lucid-line-flow {
  to { stroke-dashoffset: -48; }
}

@keyframes lucid-core-pulse {
  0%, 100% { box-shadow: 0 0 0 8px rgba(88,8,253,.06), 0 20px 60px rgba(0,0,0,.27); }
  50% { box-shadow: 0 0 0 13px rgba(88,8,253,.025), 0 20px 60px rgba(0,0,0,.27), 0 0 38px rgba(252,0,255,.12); }
}

.lucid-exposure-core {
  animation: lucid-core-pulse 4.2s ease-in-out infinite;
}

@media (prefers-reduced-motion: no-preference) {
  .lucid-button,
  .lucid-tab,
  .lucid-problem-card,
  .lucid-engine,
  .lucid-result-item,
  .lucid-panel-visual {
    will-change: transform;
  }
}

@media (prefers-reduced-motion: reduce) {
  .lucid-landing *,
  .lucid-landing *::before,
  .lucid-landing *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }

  .lucid-orchestration-lines path,
  .lucid-command-lines path,
  .lucid-exposure-lines path {
    animation: none !important;
    stroke-dashoffset: 0 !important;
  }
}

/* v3.1 agent cards use the same safe progressive-enhancement policy. */
@media (prefers-reduced-motion: no-preference) {
  .lucid-agent-card,
  .lucid-stack-item {
    will-change: transform;
  }
}
