
/* v0.69: alerta roja en el nombre del DECISOR durante el último 25%.
   Sin ticker ni temporizadores extra: usa duración y desfase del mismo reloj.
   La insignia dorada de propietario del turno no cambia. */
#stage .seat.timer-active .seat-name {
 animation:dmTimerNameAlert var(--timer-duration,30000ms) linear var(--timer-elapsed,0ms) both;
}
@keyframes dmTimerNameAlert {
 0%,74.99% {color:#f1e7d8;border-color:#d4a75d;text-shadow:none;filter:none}
 75% {color:#ffd4d4;border-color:#ff6666;text-shadow:0 0 5px rgba(255,90,90,.35);filter:drop-shadow(0 0 3px rgba(255,70,70,.16))}
 79% {color:#fff5f2;border-color:#ff8787;text-shadow:0 0 12px rgba(255,90,90,.95);filter:drop-shadow(0 0 9px rgba(255,55,55,.7))}
 84% {color:#ffd4d4;border-color:#ff6666;text-shadow:0 0 5px rgba(255,90,90,.35);filter:drop-shadow(0 0 3px rgba(255,70,70,.16))}
 89% {color:#fff5f2;border-color:#ff8787;text-shadow:0 0 12px rgba(255,90,90,.95);filter:drop-shadow(0 0 9px rgba(255,55,55,.7))}
 94% {color:#ffd4d4;border-color:#ff6666;text-shadow:0 0 5px rgba(255,90,90,.35);filter:drop-shadow(0 0 3px rgba(255,70,70,.16))}
 99%,100% {color:#fff5f2;border-color:#ff8787;text-shadow:0 0 13px rgba(255,90,90,.95);filter:drop-shadow(0 0 9px rgba(255,55,55,.7))}
}
@media (prefers-reduced-motion:reduce){
 #stage .seat.timer-active .seat-name{animation:none}
}
/* Marca del propietario del turno de robo; permanece fija durante decisiones y pagos derivados. */
#stage .seat .seat-name{position:relative;transition:border-color .22s,box-shadow .22s,background .22s}
#stage .seat.active .seat-name{border-color:#f6d487;background:linear-gradient(180deg,#31554e,#102836);box-shadow:0 0 0 2px #0c372d,0 0 17px #48efa36b,0 5px 10px #0008}
#stage .seat.active .seat-name::after{content:'▶';position:absolute;right:-8px;top:-11px;display:grid;place-items:center;width:25px;height:25px;border-radius:50%;color:#10291d;background:linear-gradient(155deg,#fbdf91,#e2a648);border:2px solid #fff0b2;box-shadow:0 2px 9px #000a,0 0 15px #eecb6f88;font:900 13px system-ui,sans-serif;animation:dmTurnMarkPulse 2s ease-in-out infinite;pointer-events:none}
@keyframes dmTurnMarkPulse{50%{box-shadow:0 2px 9px #000a,0 0 22px #eecb6fcc;transform:scale(1.1)}}
@media(prefers-reduced-motion:reduce){#stage .seat.active .seat-name::after{animation:none}}
