/* Local hover detail: no global layout, loader or animation overrides. */
.v20-tilt-parent { perspective: 1100px; }
.card .v20-tilt {
  position: relative;
  rotate: var(--widget-rotate, 1 0 0 0deg);
  transition: rotate .22s cubic-bezier(.2,.8,.2,1), background .25s ease;
}
.card .v20-tilt.v20-hover { transition-duration: .1s, .25s; }
.v20-widget-sheen {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  z-index: 2;
  opacity: 0;
  background: radial-gradient(ellipse at var(--widget-light-x,50%) var(--widget-light-y,50%), rgba(255,255,255,.13), transparent 65%);
  transition: opacity .3s ease;
}
.v20-hover > .v20-widget-sheen { opacity: 1; }
.card :is(.join-btn,.gh-btn,.rbx-btn,.tag-btn):focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 4px;
}
@media (prefers-reduced-motion: reduce), (hover: none) {
  .card .v20-tilt { rotate: none; transition: none; }
  .v20-widget-sheen { display: none; }
}
