.modal-bg { backdrop-filter: blur(2px); }
.hidden { display:none!important; }
.player-card.eliminated { background: #fef2f2!important; color:#b91c1c; }
.player-card .fa-user { color: #16a34a;}
.player-card .fa-times { color: #f87171;}
.player-card .player-nick { font-weight:600; margin-left:2px;}
.player-card .circle-icon {
  width:2rem;height:2rem;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:#e0e7ef; margin-right:0.4rem;
}
.copy-btn{
  font-size:.96rem; border-radius:.3rem; border:none; background:#f0f4f8;
  padding:0 .9rem; color:#2563eb; cursor:pointer; transition:background 0.2s, color 0.15s;
}
.copy-btn:hover{background:#dbebfa;color:#1e3a8a;}
.answer-btn-o.selected,.answer-btn-x.selected {
  box-shadow: 0 0 8px #2bcfff50;color:white!important;
}
.answer-btn-o.selected{background-color:#0284c7!important;border:2px solid #2563eb;}
.answer-btn-x.selected{background-color:#dc2626!important;border:2px solid #b91c1c;}
.answer-btn-o.grayed,.answer-btn-x.grayed {
  background:#eee!important;color:#bbb!important;border:1px solid #e5e7eb;opacity:.7;
}
footer {background:rgba(255,255,255,0.35);border-top:1px solid #e5e7eb;}
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {-webkit-appearance:auto;}
input[type=number]{-moz-appearance:auto;}
.player-list-grid {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 0.5rem;
  margin-bottom: 1.5rem;
}
@media (min-width: 480px) {
  .player-list-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 768px) {
  .player-list-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
  .player-list-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (min-width: 1280px) {
  .player-list-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}
.player-card { width:auto; }


/* lucky draw 標註與動畫 */
.lucky-draw-badge {
  display:inline-block;
  background:#fcd34d;
  color:#92400e;
  font-size:0.95rem;
  border-radius: 7px;
  padding: 0.07em .58em;
  margin-left: .65em;
  font-weight:700;
  border:1px solid #fbbf24;
  vertical-align:middle;
}
@keyframes luckyDrawBlink {
  0%   {box-shadow:0 0 0 0 #d97706, 0 0 0 4px #fde68a;}
  40%  {box-shadow:0 0 10px 2px #f59e42, 0 0 0 3.5px #fde68a;}
  80%,100% {box-shadow: 0 0 0 0 #fde68a;}
}
.player-card.highlight-draw {
  border:3px solid #fbbf24!important;
  background:#fefce8 !important;
  animation: luckyDrawBlink 0.36s linear infinite;
  transition: border 0.2s;
  position:relative;
  z-index:2;
}