/* InkSight — mobile tilt sway (paired with /mobile-tilt.js).
   Gated to coarse-pointer / no-hover devices. Transform-only.
   Desktop is untouched. Reduced-motion fully disables. */
@media (hover:none), (pointer:coarse) {
  @keyframes mtilt-sway {
    0%   { transform: perspective(900px) rotateX(calc(var(--mt-ax,5deg) * -1)) rotateY(var(--mt-ay,5deg)); }
    50%  { transform: perspective(900px) rotateX(var(--mt-ax,5deg))           rotateY(calc(var(--mt-ay,5deg) * -1)); }
    100% { transform: perspective(900px) rotateX(calc(var(--mt-ax,5deg) * -1)) rotateY(var(--mt-ay,5deg)); }
  }
  .mtilt {
    animation: mtilt-sway var(--mt-dur, 7s) ease-in-out infinite;
    animation-delay: var(--mt-delay, 0s);
    will-change: transform;
    backface-visibility: hidden;
  }
  /* Pack rip path takes over transforms — pause sway during rip. */
  .pack.mtilt.ripping,
  .pack.mtilt.tear,
  .pack.mtilt.rip-fade { animation: none !important; transform: none !important; }
}

@media (prefers-reduced-motion: reduce) {
  .mtilt, .mtilt-gyro { animation: none !important; transform: none !important; }
}
