/* Motion layer for the individual Gold article page.
   All animation is decorative and can be paused or reduced. */

@keyframes gold-orb-drift-a {
  0%, 100% { transform: translate3d(0, 0, 0) scale(1); }
  50% { transform: translate3d(34px, 18px, 0) scale(1.08); }
}

@keyframes gold-orb-drift-b {
  0%, 100% { transform: translate3d(0, 0, 0) scale(1); }
  50% { transform: translate3d(-28px, 22px, 0) scale(.94); }
}

@keyframes gold-grid-travel {
  0% { transform: perspective(760px) rotateX(61deg) translate3d(0, -17%, 0); }
  100% { transform: perspective(760px) rotateX(61deg) translate3d(0, -9%, 0); }
}

@keyframes gold-live-pulse {
  0%, 100% { opacity: 1; box-shadow: 0 0 0 5px rgba(65, 211, 158, .08); }
  50% { opacity: .62; box-shadow: 0 0 0 9px rgba(65, 211, 158, 0); }
}

@keyframes gold-chart-draw {
  0% { stroke-dashoffset: 680; opacity: .32; }
  18%, 72% { opacity: 1; }
  88%, 100% { stroke-dashoffset: 0; opacity: .45; }
}

@keyframes gold-area-breathe {
  0%, 100% { opacity: .12; }
  45% { opacity: .28; }
}

@keyframes gold-candle-breathe {
  0%, 100% { transform: translateY(var(--candle-y, 0)) scaleY(.88); opacity: .45; }
  50% { transform: translateY(calc(var(--candle-y, 0) - 3px)) scaleY(1.08); opacity: .86; }
}

@keyframes gold-card-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-4px); }
}

@keyframes gold-card-signal-glow {
  0%, 22%, 100% { border-color: rgba(148, 169, 194, .16); box-shadow: 0 18px 44px rgba(0, 0, 0, .22); }
  8%, 15% { border-color: rgba(102, 227, 255, .36); box-shadow: 0 18px 50px rgba(46, 167, 255, .16); }
}

@keyframes gold-card-parser-glow {
  0%, 31%, 60%, 100% { border-color: rgba(148, 169, 194, .16); box-shadow: 0 18px 44px rgba(0, 0, 0, .22); }
  38%, 51% { border-color: rgba(102, 227, 255, .36); box-shadow: 0 18px 50px rgba(46, 167, 255, .17); }
}

@keyframes gold-card-order-glow {
  0%, 61%, 100% { border-color: rgba(148, 169, 194, .16); box-shadow: 0 18px 44px rgba(0, 0, 0, .22); }
  70%, 84% { border-color: rgba(230, 184, 88, .42); box-shadow: 0 18px 52px rgba(230, 184, 88, .15); }
}

@keyframes gold-route-particle {
  0%, 12% { left: 0; opacity: 0; }
  20% { opacity: 1; }
  43% { left: 100%; opacity: 1; }
  48%, 100% { left: 100%; opacity: 0; }
}

@keyframes gold-route-particle-late {
  0%, 51% { left: 0; opacity: 0; }
  59% { opacity: 1; }
  83% { left: 100%; opacity: 1; }
  88%, 100% { left: 100%; opacity: 0; }
}

@keyframes gold-field-scan {
  0%, 34%, 100% { background: rgba(15, 32, 53, .5); border-color: rgba(148, 169, 194, .09); }
  42%, 50% { background: rgba(46, 167, 255, .08); border-color: rgba(102, 227, 255, .18); }
}

@keyframes gold-status-confirm {
  0%, 62%, 100% { opacity: .45; transform: translateY(3px); }
  72%, 88% { opacity: 1; transform: translateY(0); }
}

@keyframes gold-price-shimmer {
  0%, 100% { color: var(--article-gold-light); text-shadow: none; }
  50% { color: #fff4c6; text-shadow: 0 0 16px rgba(230, 184, 88, .34); }
}

@keyframes gold-mini-pulse {
  0%, 100% { opacity: .5; transform: scaleX(.6); }
  50% { opacity: 1; transform: scaleX(1); }
}

.gold-article-orb--blue {
  animation: gold-orb-drift-a 14s ease-in-out infinite;
}

.gold-article-orb--gold {
  animation: gold-orb-drift-b 16s ease-in-out infinite;
}

.gold-article-atmosphere::before {
  animation: gold-grid-travel 18s linear infinite alternate;
}

.gold-live-pill::before,
.gold-window-status .status-ready::before,
.gold-context-status::before {
  animation: gold-live-pulse 2.2s ease-in-out infinite;
}

.gold-chart-path {
  stroke-dasharray: 680;
  stroke-dashoffset: 680;
  animation: gold-chart-draw 9s ease-in-out infinite;
}

.gold-chart-area {
  animation: gold-area-breathe 5s ease-in-out infinite;
}

.gold-candle {
  transform-origin: 50% 50%;
  animation: gold-candle-breathe 3.5s ease-in-out infinite;
  animation-delay: var(--candle-delay, 0s);
}

.gold-flow-card--signal {
  animation: gold-card-float 5.6s ease-in-out infinite, gold-card-signal-glow 8.4s ease-in-out infinite;
}

.gold-flow-card--parser {
  animation: gold-card-float 6.2s ease-in-out -.8s infinite, gold-card-parser-glow 8.4s ease-in-out infinite;
}

.gold-flow-card--order {
  animation: gold-card-float 5.8s ease-in-out -1.6s infinite, gold-card-order-glow 8.4s ease-in-out infinite;
}

.gold-flow-route:not(.gold-flow-route--gold) i {
  animation: gold-route-particle 8.4s ease-in-out infinite;
}

.gold-flow-route--gold i {
  animation: gold-route-particle-late 8.4s ease-in-out infinite;
}

.gold-parser-field {
  animation: gold-field-scan 8.4s ease-in-out infinite;
}

.gold-parser-field:nth-child(2) { animation-delay: .1s; }
.gold-parser-field:nth-child(3) { animation-delay: .2s; }
.gold-parser-field:nth-child(4) { animation-delay: .3s; }

.gold-order-status {
  animation: gold-status-confirm 8.4s ease-in-out infinite;
}

.gold-price strong {
  animation: gold-price-shimmer 4.2s ease-in-out infinite;
}

.reader-cta-mini-flow i {
  transform-origin: 50% 50%;
  animation: gold-mini-pulse 2.2s ease-in-out infinite;
}

.reader-cta-mini-flow i:last-of-type {
  animation-delay: 1.05s;
}

[data-motion-paused="true"] *,
[data-motion-paused="true"] *::before,
[data-motion-paused="true"] *::after {
  animation-play-state: paused !important;
}

@media (prefers-reduced-motion: reduce) {
  .gold-article-orb,
  .gold-article-atmosphere::before,
  .gold-live-pill::before,
  .gold-window-status .status-ready::before,
  .gold-context-status::before,
  .gold-chart-path,
  .gold-chart-area,
  .gold-candle,
  .gold-flow-card,
  .gold-flow-route i,
  .gold-parser-field,
  .gold-order-status,
  .gold-price strong,
  .reader-cta-mini-flow i {
    animation: none !important;
  }

  .gold-chart-path {
    stroke-dashoffset: 0;
    opacity: 1;
  }

  .gold-order-status {
    opacity: 1;
    transform: none;
  }

  .gold-flow-route i {
    left: 50%;
    opacity: .8;
  }
}
