/* Ludo */
#players-bar { display: flex; gap: 8px; padding: 10px; flex-wrap: wrap; justify-content: center; }
.pchip {
  background: var(--card-bg); border: 2px solid; border-radius: 999px;
  padding: 6px 14px; font-size: 14px; font-weight: 700;
}
.pchip.active { animation: urgentPulse .8s ease-in-out infinite; box-shadow: 0 0 12px rgba(255,176,32,.5); }
@keyframes urgentPulse { 0%,100% { transform: scale(1); } 50% { transform: scale(1.06); } }

#board-wrap { display: flex; flex-direction: column; align-items: center; width: 100%; }
#ludo-board {
  width: min(94vw, 520px, 52dvh); height: auto;
  border-radius: 16px;
  box-shadow: 0 8px 32px rgba(120,80,20,.18);
  border: 3px solid var(--gold);
}
.token { filter: drop-shadow(0 2px 4px rgba(60,40,10,.4)); transition: all .3s; }
.token.movable { animation: urgentPulse .8s ease-in-out infinite; filter: drop-shadow(0 0 7px rgba(255,200,60,.95)) drop-shadow(0 2px 4px rgba(60,40,10,.4)); }

#dice-area { display: flex; flex-direction: column; align-items: center; gap: 10px; margin-top: 12px; }
.dice { font-size: 64px; animation: none; }
.dice.rolling { animation: diceRoll .6s ease; }
@keyframes diceRoll {
  0% { transform: rotate(0) scale(1); }
  25% { transform: rotate(180deg) scale(1.3); }
  50% { transform: rotate(360deg) scale(1); }
  75% { transform: rotate(540deg) scale(1.3); }
  100% { transform: rotate(720deg) scale(1); }
}

#over-ranks { display: flex; flex-direction: column; gap: 8px; margin: 16px 0; }
#over-ranks .seat-row { justify-content: space-between; }

/* === Ludo signature theme: classic R/G/Y/B, tumbling dice motif === */
body[data-bgfx="ludo"] {
  --ludo-red: #d1342c;
  --ludo-green: #1f9d55;
  --ludo-yellow: #f2b705;
  --ludo-blue: #2d6cdf;
}
body[data-bgfx="ludo"] #ludo-board {
  border: 4px solid transparent;
  background:
    linear-gradient(#fffdf8, #fffdf8) padding-box,
    conic-gradient(var(--ludo-red), var(--ludo-yellow), var(--ludo-green), var(--ludo-blue), var(--ludo-red)) border-box;
}
body[data-bgfx="ludo"] #screen-lobby .lobby-card { position: relative; }
body[data-bgfx="ludo"] #screen-lobby .lobby-card::after {
  content: '🎲';
  position: absolute; top: 10px; right: 12px;
  font-size: 34px; opacity: .55; pointer-events: none;
  animation: ludoTumble 3.2s ease-in-out infinite;
}
@keyframes ludoTumble {
  0%,100% { transform: rotate(0deg) translateY(0); }
  12% { transform: rotate(360deg) translateY(-10px); }
  24% { transform: rotate(720deg) translateY(0); }
}
body[data-bgfx="ludo"] #screen-lobby .lobby-card { border-color: rgba(242,183,5,.55); }
body[data-bgfx="ludo"] .dice { filter: drop-shadow(0 4px 10px rgba(120,80,20,.25)); }
body[data-bgfx="ludo"] .pchip.active { box-shadow: 0 0 14px rgba(242,183,5,.6); }
@media (prefers-reduced-motion: reduce) {
  body[data-bgfx="ludo"] #screen-lobby .lobby-card::after { animation: none; }
}
