/* ATLAS V6 Motion System — enterprise micro-interactions
 * Loads AFTER all v6 base/page sheets, BEFORE css/v6-lock.css (lock stays last).
 * Wired by js/motion.js. Every hiding class (.v6-card-animate / .v6-view-leaving)
 * is applied ONLY by motion.js, which guarantees a reveal — so this sheet alone
 * never leaves content hidden. Honors prefers-reduced-motion (block at bottom).
 */

/* View transitions — fade between sections */
.v6-view { opacity: 1; transition: opacity 0.15s ease; }
.v6-view.v6-view-leaving { opacity: 0; }
.v6-view.v6-view-entering { animation: v6-fadein 0.2s ease forwards; }
@keyframes v6-fadein { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: translateY(0); } }

/* CTA pulse — gold button heartbeat when idle */
@keyframes v6-pulse-gold { 0%,100% { box-shadow: 0 0 0 0 rgba(193,138,37,0.4); } 50% { box-shadow: 0 0 0 6px rgba(193,138,37,0); } }
.v6-btn-primary:not(:hover) { animation: v6-pulse-gold 2.5s ease-in-out infinite; }

/* Card entrance — staggered scroll-reveal */
@keyframes v6-rise { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
.v6-card-animate { opacity: 0; }
.v6-card-animate.v6-visible { animation: v6-rise 0.3s ease forwards; }

/* Skeleton shimmer — owned by css/v6-enterprise.css (.v6-skeleton, loaded just
   before this sheet). Intentionally NOT redefined here to avoid clobbering its
   richer implementation (child handling + reduced-motion). */

/* Nav item hover */
.v6-nav-item { transition: background 0.1s ease, border-color 0.1s ease; }
.v6-nav-item:hover:not(.active) { background: rgba(193,138,37,0.05); }

/* Notification bell shake */
@keyframes v6-bell-shake { 0%,100%{transform:rotate(0)} 20%{transform:rotate(15deg)} 40%{transform:rotate(-10deg)} 60%{transform:rotate(8deg)} 80%{transform:rotate(-5deg)} }
.v6-bell-new { animation: v6-bell-shake 0.5s ease; }

/* Status pill pulse for degraded */
@keyframes v6-degraded-pulse { 0%,100%{opacity:1} 50%{opacity:0.6} }
.v6-status-degraded { animation: v6-degraded-pulse 2s ease-in-out infinite; }

/* Ask Atlas border glow on focus */
@keyframes v6-atlas-glow { 0%,100%{box-shadow:0 0 0 1px rgba(193,138,37,0.3)} 50%{box-shadow:0 0 0 3px rgba(193,138,37,0.6)} }
.v6-ask-atlas-panel:focus-within { animation: v6-atlas-glow 1.5s ease infinite; }

/* Voice orb ring */
@keyframes v6-orb-ring { 0%{transform:scale(1);opacity:0.7} 100%{transform:scale(1.6);opacity:0} }
.v6-orb-listening .v6-orb-ring { animation: v6-orb-ring 1.2s ease-out infinite; }

/* Checkmark complete animation */
@keyframes v6-check-pop { 0%{transform:scale(0)} 60%{transform:scale(1.2)} 100%{transform:scale(1)} }
.v6-task-done .v6-check { animation: v6-check-pop 0.25s ease forwards; color: #22c55e; }

/* Accessibility + safety — never animate (and never hide) under reduced-motion */
@media (prefers-reduced-motion: reduce) {
  .v6-view, .v6-view.v6-view-entering { animation: none !important; transition: none !important; }
  .v6-card-animate, .v6-card-animate.v6-visible { opacity: 1 !important; animation: none !important; transform: none !important; }
  .v6-btn-primary:not(:hover), .v6-status-degraded,
  .v6-ask-atlas-panel:focus-within, .v6-orb-listening .v6-orb-ring,
  .v6-bell-new, .v6-task-done .v6-check { animation: none !important; }
}
