/* Animation timing is shared in card-motion.js; CSS supplies only the faces.
   Disable the old render-triggered reveal, including on unchanged room polls. */
:root { --motion-hover-duration: 180ms; --motion-ease: cubic-bezier(.18,.75,.25,1); }
.has-card-motion .phase-reveal .duel-card { animation: none; }
.card-motion-draw { will-change: translate, scale, opacity; }
.duel-card.card-motion-flip {
  transform-origin: 50% 50%;
  transition: none;
  will-change: transform;
}
.card-motion-back {
  position: absolute;
  inset: -2px;
  z-index: 100;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 15px;
  overflow: hidden;
  border: 2px solid #91a8ba;
  border-radius: inherit;
  background: repeating-linear-gradient(45deg, #ffffff04 0 1px, transparent 1px 11px), #172334;
  color: #cddbe3;
  transform: rotateY(180deg);
  pointer-events: none;
}
.card-motion-back::before {
  content: '';
  position: absolute;
  inset: 10px;
  border: 1px solid #91a8ba66;
  border-radius: 4px;
}
.card-motion-seal {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border: 1px solid #a9c2d1;
  outline: 1px solid #a9c2d13d;
  outline-offset: 5px;
  font: 700 28px/1 Georgia, serif;
}
.card-motion-wordmark { font-size: 10px; font-weight: 800; letter-spacing: .28em; }
/* JS also cancels WAAPI handles. These rules respond immediately to an OS
   preference change, including one occurring between two server snapshots. */
.reduced-motion .card-motion-draw { translate: none !important; scale: none !important; opacity: 1 !important; }
.reduced-motion .card-motion-flip { transform: none !important; }
.reduced-motion .card-motion-flip > :not(.card-motion-back) { opacity: 1 !important; }
.reduced-motion .card-motion-back { display: none; }
@media (prefers-reduced-motion: reduce) {
  .card-motion-draw { translate: none !important; scale: none !important; opacity: 1 !important; }
  .card-motion-flip { transform: none !important; }
  .card-motion-flip > :not(.card-motion-back) { opacity: 1 !important; }
  .card-motion-back { display: none; }
}
