.player-card {
  width: min(100% - 24px, 720px);
  margin: 0 auto 24px;
  padding: clamp(20px, 4vw, 30px);
  color: #f4f7fa;
  background: linear-gradient(145deg, #131d27, #090e13);
  border: 1px solid rgba(226, 185, 63, .42);
  border-radius: 20px;
}

.player-card h2 { margin: 0 0 8px; font-size: 1.45rem; }
.player-card > p { margin: 0 0 18px; color: #aeb9c4; line-height: 1.55; }
.player-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.player-grid label { color: #dfe6ec; font-size: .9rem; font-weight: 800; }
.player-grid input[type="text"],
.player-grid input[type="email"],
.player-grid input[type="tel"] {
  width: 100%;
  min-height: 48px;
  margin-top: 6px;
  padding: 10px 12px;
  color: #fff;
  background: #070b10;
  border: 1px solid #566675;
  border-radius: 9px;
}

.player-consent { display: grid; grid-template-columns: 22px 1fr; gap: 10px; align-items: start; margin: 16px 0; color: #b8c4cf; line-height: 1.45; }
.player-consent input { width: 20px; height: 20px; margin: 1px 0 0; accent-color: #e2b93f; }
.player-consent a { color: #f4d66e; }
.player-start,
.game-primary {
  min-height: 50px;
  padding: 11px 18px;
  color: #081018;
  background: linear-gradient(180deg, #f4d66e, #e2b93f);
  border: 0;
  border-radius: 10px;
  cursor: pointer;
  font-weight: 950;
}
.player-error { min-height: 24px; margin: 10px 0 0; color: #ff9d9d; font-weight: 800; }
.player-profile-summary { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 14px; align-items: center; margin: 0 0 16px; padding: 15px; color: #e8eef3; background: #0a151e; border: 1px solid #3f667f; border-radius: 12px; }
.player-profile-summary span { overflow-wrap: anywhere; font-weight: 850; }
.player-profile-summary small { color: #9fb1bf; font-size: .82rem; }
.change-player { grid-column: 2; grid-row: 1 / 3; min-height: 42px; padding: 8px 12px; color: #f4d66e; background: #17232d; border: 1px solid #526170; border-radius: 8px; cursor: pointer; font-weight: 850; }
.has-player-profile .player-grid,
.has-player-profile .player-consent { display: none; }
.honeypot { position: absolute !important; left: -9999px !important; }
.game-locked[hidden], .player-card[hidden] { display: none; }

.level-strip {
  display: grid;
  grid-template-columns: auto minmax(100px, 1fr) auto auto;
  align-items: center;
  gap: 12px;
  width: min(100% - 24px, 720px);
  margin: 0 auto 18px;
  color: #f4f7fa;
}
.level-strip strong { color: #f4d66e; }
.level-track { height: 10px; overflow: hidden; background: #26333f; border-radius: 999px; }
.level-track span { display: block; width: 10%; height: 100%; background: linear-gradient(90deg, #0873bd, #f4d66e); border-radius: inherit; transition: width .25s ease; }
.sound-toggle { min-height: 42px; padding: 7px 12px; color: #fff; background: #26333f; border: 1px solid #526170; border-radius: 8px; cursor: pointer; font-weight: 850; }
.odds-label { color: #aeb9c4; font-size: .88rem; white-space: nowrap; }

.prize-result {
  margin-top: 18px;
  padding: 18px;
  color: #e8eef3;
  background: rgba(226, 185, 63, .09);
  border: 1px solid rgba(226, 185, 63, .46);
  border-radius: 12px;
  line-height: 1.55;
}
.prize-result[hidden] { display: none; }
.prize-result strong { display: block; color: #f4d66e; font-size: 1.2rem; }
.prize-code { display: block; margin-top: 10px; padding: 11px; color: #fff; background: #05080b; border: 1px dashed #f4d66e; border-radius: 7px; font-family: ui-monospace, monospace; font-weight: 900; user-select: all; }

@media (max-width: 680px) {
  .player-grid { grid-template-columns: 1fr; }
  .player-profile-summary { grid-template-columns: 1fr; }
  .change-player { grid-column: 1; grid-row: auto; margin-top: 7px; }
  .level-strip { grid-template-columns: auto 1fr auto; }
  .odds-label { grid-column: 1 / -1; text-align: center; }
}
