/* Hold & Spin: a mechanical cabinet. Nothing in the artwork spins or pays. */
.v4-hold .hold-catches { position: absolute; inset: 0; overflow: clip; pointer-events: none; z-index: 1; }
.v4-hold .hold-catch { position: absolute; top: 30%; left: 0; width: 24px; height: 52px; border: 2px solid #ffe0a0; border-left: 0; border-radius: 0 5px 5px 0; background: linear-gradient(90deg,#70462d,#e9bb70,#82572f); box-shadow: 2px 2px 0 #230e32; }
.v4-hold .hold-catch:nth-child(2) { top: 66%; }
.v4-hold .hold-catch:nth-child(3),.v4-hold .hold-catch:nth-child(4) { left: auto; right: 0; border-left: 2px solid #ffe0a0; border-right: 0; border-radius: 5px 0 0 5px; }
.v4-hold .hold-catch:nth-child(4) { top: 66%; }
.v4-hold .hold-states li::before { box-shadow: none; }
.v4-hold .hold-stage-lock { position: absolute; left: -13px; top: 12px; width: 23px; height: 26px; pointer-events: none; }
.v4-hold .hold-stage-lock::before { content: ''; position: absolute; width: 20px; height: 14px; left: 1px; bottom: 0; border: 1px solid #ffdda0; background: #76512d; border-radius: 2px; }
.v4-hold .hold-lock-bolt { display: block; position: absolute; left: 5px; top: 0; width: 12px; height: 16px; border: 2px solid #ffd47b; border-radius: 5px 5px 0 0; }
.v4-hold .hold-controls .play-link { isolation: isolate; transition: transform 120ms cubic-bezier(.23,1,.32,1),box-shadow 120ms cubic-bezier(.23,1,.32,1); }
.v4-hold .hold-controls .play-link::after { content: ''; inset: 8px 10px; width: auto; border: 2px solid #744321; background: none; border-radius: inherit; transform: scaleX(1.06); opacity: 0; transition: transform 180ms cubic-bezier(.23,1,.32,1),opacity 150ms ease; z-index: -1; }
.v4-hold .hold-controls .play-link:hover { transform: none; box-shadow: 0 5px 0 var(--button-shadow); }
.v4-hold .hold-controls .play-link:hover::after { left: 10px; }
.v4-hold .hold-controls .play-link > span { transition: transform 180ms cubic-bezier(.23,1,.32,1); }
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  .v4-hold:not([data-motion-input="keyboard"]) .hold-controls .play-link:hover::after { opacity: .65; transform: scaleX(1); }
  .v4-hold:not([data-motion-input="keyboard"]) .hold-controls .play-link:hover > span { transform: translateX(3px); }
}
.v4-hold:not([data-motion-input="keyboard"]) .hold-controls .play-link:active { transform: translateY(3px); box-shadow: 0 1px 0 var(--button-shadow); }
@media (max-width:540px) {
  .v4-hold .hold-catch { width: 14px; height: 35px; }
}
@media (prefers-reduced-motion:reduce) {
  .v4-hold .hold-catches { display: none; }
  .v4-hold .hold-controls .play-link:active { transform: none; }
}
