/* Animate the supplied artwork itself; prices and controls stay still. */
[data-artifact-theme="ask-the-dealer"], [data-artifact="ask-the-dealer"], [data-room-target="artifacts"] {
  --artifact-idle:artifact-phone-ring; --artifact-cycle:6.4s;
}
[data-artifact-theme="the-eye"], [data-artifact="the-eye"] {
  --artifact-idle:artifact-eye-peek; --artifact-cycle:7.6s;
}
[data-artifact-theme="max-multiplier"], [data-artifact="max-multiplier"] {
  --artifact-idle:artifact-potion-sway; --artifact-cycle:6s;
}
[data-artifact-theme="reverse-grenade"], [data-artifact="reverse-grenade"] {
  --artifact-idle:artifact-grenade-wobble; --artifact-cycle:7.2s;
}
[data-room-target="predict"] { --artifact-idle:artifact-orb-hover; --artifact-cycle:6s; }
.artifact-motion-toggle {
  position:absolute; right:20px; top:18px; z-index:3;
  min-height:36px; padding:7px 12px; border:1px solid var(--ui-border);
  border-radius:999px; background:#111113b8; color:var(--ui-muted);
  font:inherit; font-size:12px; cursor:pointer;
}
.artifact-motion-toggle[hidden] { display:none; }
.artifact-motion-toggle:hover { color:var(--ui-text); border-color:var(--ui-muted); }
.artifact-motion-toggle:focus-visible { outline:2px solid var(--ui-link); outline-offset:3px; }

.shop-artifact-thumbnail img, .pt-artifact-image,
.hud-dock-action[data-room-target] .hud-dock-icon img { --artifact-step:.35px; }

@media(prefers-reduced-motion:no-preference) {
  .shop-artifact-showcase .shop-product-image.is-render {
    animation:var(--artifact-idle,artifact-orb-hover) var(--artifact-cycle,7s) ease-in-out infinite;
    animation-delay:var(--float-delay,0s); animation-play-state:paused;
    transform-origin:50% 58%;
  }
  .shop-artifact-showcase .shop-art-stage::before {
    animation:artifact-shadow var(--artifact-cycle,7s) ease-in-out infinite;
    animation-delay:var(--float-delay,0s); animation-play-state:paused;
  }
  .shop-artifact-showcase .shop-asset-halo {
    animation:artifact-aura var(--artifact-cycle,7s) ease-in-out infinite;
    animation-delay:var(--float-delay,0s); animation-play-state:paused;
  }
  .shop-artifact-showcase.is-visible .shop-product-image.is-render,
  .shop-artifact-showcase.is-visible .shop-art-stage::before,
  .shop-artifact-showcase.is-visible .shop-asset-halo { animation-play-state:running; }
  /* A deliberate preview response, with no activation or purchase attached. */
  .shop-artifact-choice:is(:hover,:focus-visible) .shop-artifact-thumbnail img {
    animation:var(--artifact-idle,artifact-orb-hover) var(--artifact-cycle,7s) ease-in-out infinite;
  }
  .pt-artifact:not(:disabled):is(:hover,:focus-visible) .pt-artifact-image,
  .hud-dock-action:is([data-room-target="artifacts"],[data-room-target="predict"]):is(:hover,:focus-visible) .hud-dock-icon img {
    animation:var(--artifact-idle,artifact-orb-hover) 2.8s ease-in-out infinite;
  }
  .shop-motion-paused .shop-artifact-showcase .shop-product-image.is-render,
  .shop-motion-paused .shop-artifact-showcase .shop-art-stage::before,
  .shop-motion-paused .shop-artifact-showcase .shop-asset-halo,
  .shop-motion-paused .shop-artifact-choice .shop-artifact-thumbnail img { animation-play-state:paused; }
  .shop-motion-paused .shop-artifact-choice .shop-artifact-thumbnail img { transition:none; transform:none; }
}

@keyframes artifact-phone-ring {
  0%,100% { transform:translateY(0) rotate(-2deg); }
  32% { transform:translateY(calc(var(--artifact-step,1px) * -12)) rotate(2deg); }
  48%,64% { transform:translateY(calc(var(--artifact-step,1px) * -9)) rotate(-2deg); }
  50%,56%,62% { transform:translateY(calc(var(--artifact-step,1px) * -9)) rotate(-6deg); }
  53%,59% { transform:translateY(calc(var(--artifact-step,1px) * -9)) rotate(6deg); }
  78% { transform:translateY(calc(var(--artifact-step,1px) * -4)) rotate(1deg); }
}
@keyframes artifact-eye-peek {
  0%,100% { transform:translate(0,0) rotate(0); }
  22% { transform:translate(calc(var(--artifact-step,1px) * -8),calc(var(--artifact-step,1px) * -8)) rotate(-7deg); }
  40% { transform:translate(calc(var(--artifact-step,1px) * -8),calc(var(--artifact-step,1px) * -11)) rotate(-7deg); }
  65% { transform:translate(calc(var(--artifact-step,1px) * 8),calc(var(--artifact-step,1px) * -7)) rotate(7deg); }
  80% { transform:translate(calc(var(--artifact-step,1px) * 7),calc(var(--artifact-step,1px) * -4)) rotate(5deg); }
}
@keyframes artifact-potion-sway {
  0%,100% { transform:translateY(0) rotate(-4deg); }
  30% { transform:translateY(calc(var(--artifact-step,1px) * -9)) rotate(5deg); }
  55% { transform:translateY(calc(var(--artifact-step,1px) * -13)) rotate(-3deg); }
  80% { transform:translateY(calc(var(--artifact-step,1px) * -5)) rotate(3deg); }
}
@keyframes artifact-grenade-wobble {
  0%,100% { transform:translateY(0) rotate(-4deg); }
  35% { transform:translateY(calc(var(--artifact-step,1px) * -13)) rotate(6deg); }
  60% { transform:translateY(calc(var(--artifact-step,1px) * -6)) rotate(-5deg); }
  70% { transform:translateY(calc(var(--artifact-step,1px) * -7)) rotate(3deg); }
  80% { transform:translateY(calc(var(--artifact-step,1px) * -3)) rotate(-2deg); }
}
@keyframes artifact-orb-hover {
  0%,100% { transform:translateY(0) rotate(-2deg); }
  50% { transform:translateY(calc(var(--artifact-step,1px) * -9)) rotate(3deg); }
}
@keyframes artifact-shadow {
  0%,100% { transform:scaleX(1); opacity:.7; }
  45% { transform:scaleX(.78); opacity:.38; }
}
@keyframes artifact-aura {
  0%,100% { transform:scale(.92); opacity:.5; }
  45% { transform:scale(1.08); opacity:.9; }
  70% { transform:scale(1.02); opacity:.68; }
}
@media(prefers-reduced-motion:reduce) {
  .shop-artifact-showcase .shop-product-image.is-render,
  .shop-artifact-showcase .shop-art-stage::before,
  .shop-artifact-showcase .shop-asset-halo,
  .shop-artifact-thumbnail img, .pt-artifact-image, .hud-dock-icon img {
    animation:none!important; transition:none!important;
  }
}
