/* The same 600ms gold light on deal/draw and once per ten-second cycle. */
.tile>.dora-pulse{
  position:absolute;inset:0;z-index:3;border-radius:inherit;overflow:hidden;
  pointer-events:none;opacity:0;
  background:linear-gradient(135deg,#fff0ab18,#ffd36d38);
  box-shadow:inset 0 0 0 2px #ffdb85,inset 0 0 12px #ffd36dbf;
  animation:dora-glow var(--dora-pulse-duration) ease-out var(--dora-pulse-delay) 1 both;
}
.dora-pulse::after{
  content:'';position:absolute;inset:-25% -50%;
  background:linear-gradient(110deg,transparent 32%,#fff7da55 43%,#fffbeaef 50%,#ffe9aa66 57%,transparent 68%);
  animation:dora-sweep var(--dora-pulse-duration) ease-out var(--dora-pulse-delay) 1 both;
}
@keyframes dora-glow{0%{opacity:0}18%,48%{opacity:1}100%{opacity:0}}
@keyframes dora-sweep{from{transform:translateX(-75%)}to{transform:translateX(75%)}}
.tile>.dora-repeat{
  animation:dora-repeat-glow var(--dora-repeat-period) ease-out var(--dora-repeat-delay) infinite both;
}
.dora-repeat::after{
  animation:dora-repeat-sweep var(--dora-repeat-period) ease-out var(--dora-repeat-delay) infinite both;
}
/* 6% of 10 seconds is the original 600ms pulse, followed by 9.4s of rest. */
@keyframes dora-repeat-glow{0%,6%,100%{opacity:0}1.08%,2.88%{opacity:1}}
@keyframes dora-repeat-sweep{0%{transform:translateX(-75%)}6%,100%{transform:translateX(75%)}}
@media(prefers-reduced-motion:reduce){
  .tile>.dora-pulse{background:transparent;animation-name:dora-glow-gentle}
  .tile>.dora-repeat{animation-name:dora-repeat-gentle}
  .dora-pulse::after{display:none}
  @keyframes dora-glow-gentle{0%,100%{opacity:0}35%,65%{opacity:.65}}
  @keyframes dora-repeat-gentle{0%,6%,100%{opacity:0}2.1%,3.9%{opacity:.65}}
}
