/* /test2 detail identity lock.
   Uses data attributes that survive React/Framer phase rerenders, so all eight
   machines keep the same 2.5D footprint as machine 1 throughout a draw. */
body.gm-test2-motion [data-gm25-detail="locked"] {
  position: relative !important;
  display: block !important;
  flex: 0 0 auto !important;
  align-self: center !important;
  width: min(460px, 78vw) !important;
  min-width: 0 !important;
  max-width: min(460px, 78vw) !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: 972 / 1617 !important;
  isolation: isolate !important;
  overflow: visible !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  contain: none !important;
  transform: none !important;
  translate: none !important;
  rotate: none !important;
  scale: none !important;
  animation: none !important;
  transition: none !important;
}

/* The native React machine remains available for phase/state semantics, but
   never paints over or changes the geometry of the stable 2.5D rig. */
body.gm-test2-motion [data-gm25-detail="locked"] > .gm-prototype-frame,
body.gm-test2-motion [data-gm25-detail="locked"] > .gm2-effects,
body.gm-test2-motion [data-gm25-detail="locked"] > .gm-prototype-effects,
body.gm-test2-motion [data-gm25-detail="locked"] > .machine-visual__glass,
body.gm-test2-motion [data-gm25-detail="locked"] > .gm-proto-coin,
body.gm-test2-motion [data-gm25-detail="locked"] > .gm-proto-lever,
body.gm-test2-motion [data-gm25-detail="locked"] > .gm-proto-capsule-drop,
body.gm-test2-motion [data-gm25-detail="locked"] > .gm-proto-chute-glow {
  visibility: hidden !important;
  opacity: 0 !important;
  animation: none !important;
  transition: none !important;
  pointer-events: none !important;
}

body.gm-test2-motion [data-gm25-detail="locked"] > .capsule-flight-ball,
body.gm-test2-motion [data-gm25-detail="locked"] > .capsule-ready-ball {
  z-index: 90 !important;
  display: block !important;
  opacity: 0 !important;
  animation: none !important;
  transition: none !important;
  pointer-events: none !important;
}

body.gm-test2-motion [data-gm25-detail="locked"] > .gm25-rig {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  transform: translateZ(0) !important;
}

@media (max-width: 720px) {
  body.gm-test2-motion [data-gm25-detail="locked"] {
    width: min(390px, 84vw) !important;
    max-width: min(390px, 84vw) !important;
  }
}
