.card-motion-layer{position:fixed;inset:0;z-index:45;pointer-events:none;overflow:hidden}
.dealt-card,.dealer-deck{position:absolute;left:0;top:0;border:2px solid #eee6ce;border-radius:4px;background:repeating-linear-gradient(45deg,#263f60 0 3px,#355273 3px 4px);box-shadow:0 3px 7px #07111c55;pointer-events:none}
.dealt-card{will-change:transform,opacity}
.dealer-deck{width:28px;height:40px;box-shadow:2px 2px 0 #c8c2b3,4px 4px 0 #263f60,0 5px 8px #07111c55}
.card-awaiting-deal{visibility:hidden!important}
/* Keep both opponents' cards visible, including short phone/landscape tables. */
body[data-screen=table] #table .seat:not(.seat-0):not(.folded) .hole{display:flex}
.dealing-actions .idle-icon{color:#e8c77f}
/* A neutral decision cue: all available actions, not a recommendation to raise. */
body[data-screen=table]:not(.menu-open) #action-panel[data-turn=you] .actions{
  outline:2px solid #e8c77f;outline-offset:-2px;border-radius:6px;
  animation:your-move-pulse 1.8s ease-in-out infinite;
}
body[data-screen=table] #action-panel[data-turn=you] .turn-copy>strong{color:#e8c77f}
body[data-screen=table] #action-panel[data-turn=you] .turn-copy>strong::before{
  content:"";display:inline-block;width:7px;height:7px;margin-right:7px;border-radius:50%;background:currentColor;
}
body:has(dialog[open]) #action-panel[data-turn=you] .actions{animation:none!important;outline-color:transparent!important;box-shadow:none!important}
@keyframes your-move-pulse{
  0%,100%{outline-color:#e8c77f66;box-shadow:inset 0 0 0 2px #e8c77f00}
  50%{outline-color:#e8c77f;box-shadow:inset 0 0 0 2px #e8c77f24}
}
@media(prefers-reduced-motion:reduce){
  body[data-screen=table] #action-panel[data-turn=you] .actions{animation:none;outline-color:#e8c77f;box-shadow:none}
}
@media(max-width:350px) and (max-height:700px){
  body[data-screen=table] .stage[data-phase=playing]{min-height:236px}
}
