/* =====================================
   COINFLIP GAME
===================================== */

.coinflip-panel {
  margin-top: 24px;
  padding-inline: clamp(12px, 3vw, 20px);
}

.coinflip-shell {
  display: flex;
  flex-direction: column;
  gap: 20px;
  align-items: center;
}

.coinflip-summary {
  display: flex;
  flex-direction: column;
  gap: 18px;
  width: min(100%, 840px);
  align-items: center;
}

.coinflip-copy {
  text-align: center;
}

.coinflip-copy p {
  margin: 0;
  max-width: 34rem;
}

.coinflip-board {
  width: min(100%, 680px);
}

.coinflip-facebox {
  position: relative;
  overflow: hidden;
  min-height: 460px;
  background:
    radial-gradient(circle at top, rgba(255, 255, 255, 0.95), rgba(255, 244, 168, 0.92) 42%, rgba(255, 193, 71, 0.95) 100%);
  border: 4px solid #000;
  box-shadow: 10px 10px 0 #000;
  padding: 28px 24px 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 18px;
}

.coinflip-stage-glow {
  position: absolute;
  inset: auto 50% 78px;
  width: 320px;
  height: 320px;
  transform: translateX(-50%);
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.85) 0%, rgba(255, 255, 255, 0.35) 45%, rgba(255, 255, 255, 0) 72%);
  pointer-events: none;
}

.coinflip-face {
  position: relative;
  z-index: 1;
  width: 260px;
  height: 260px;
  object-fit: contain;
  filter: drop-shadow(0 18px 0 rgba(0, 0, 0, 0.15));
}

.coinflip-face.is-flipping {
  animation: coinflip-spin 0.52s ease-in-out;
}

.coinflip-result {
  position: relative;
  z-index: 1;
  min-width: 132px;
  padding: 8px 14px;
  background: #fff;
  border: 3px solid #000;
  text-align: center;
  font-size: 15px;
  font-weight: bold;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.coinflip-potline {
  position: relative;
  z-index: 1;
  min-width: 220px;
  background: rgba(255, 255, 255, 0.92);
  border: 3px solid #000;
  box-shadow: 5px 5px 0 #000;
  padding: 12px 16px;
  text-align: center;
}

.coinflip-potline .label {
  display: block;
  margin-bottom: 6px;
  font-size: 13px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.coinflip-potline .value {
  display: block;
  font-size: 30px;
  color: #000;
}

.coinflip-controls {
  width: min(100%, 480px);
  background: rgba(255, 255, 255, 0.65);
  border: 4px solid #000;
  box-shadow: 6px 6px 0 #000;
  padding: 18px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.coinflip-choice {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.coinflip-controls .coinflip-choice {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.choice-btn,
.coinflip-option {
  background: #ffff00;
  color: #000;
  border: 4px solid #000;
  box-shadow: 6px 6px 0 #000;
  padding: 8px 16px;
  font-weight: bold;
  cursor: pointer;
  transition: transform 0.08s ease, box-shadow 0.08s ease, background 0.12s ease;
}

.choice-btn:hover,
.coinflip-option:hover {
  transform: translate(-2px, -2px);
  box-shadow: 8px 8px 0 #000;
}

.choice-btn.active,
.coinflip-option.active {
  background: #00ff00;
}

.choice-btn:disabled,
.coinflip-option:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  transform: none;
  box-shadow: 6px 6px 0 #000;
}

.coinflip-actions {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}

.coinflip-actions button {
  min-width: 0;
}

.coinflip-notes {
  font-size: 14px;
  line-height: 1.4;
  color: #111;
}

@keyframes coinflip-spin {
  0% {
    transform: rotateY(0deg) scale(1);
  }

  35% {
    transform: rotateY(540deg) scale(1.06);
  }

  70% {
    transform: rotateY(1080deg) scale(0.98);
  }

  100% {
    transform: rotateY(1440deg) scale(1);
  }
}

@media (max-width: 900px) {
  .coinflip-summary {
    width: 100%;
  }

  .coinflip-board {
    width: 100%;
  }

  .coinflip-facebox {
    min-height: 400px;
  }

  .coinflip-controls {
    width: min(100%, 540px);
  }
}

@media (max-width: 720px) {
  .coinflip-panel {
    margin-top: 18px;
    padding-inline: 0;
  }

  .coinflip-shell {
    gap: 16px;
  }

  .coinflip-copy p {
    max-width: 28rem;
    font-size: 15px;
  }

  .coinflip-facebox {
    min-height: 340px;
    padding: 22px 18px 18px;
    box-shadow: 7px 7px 0 #000;
  }

  .coinflip-stage-glow {
    width: 240px;
    height: 240px;
    inset: auto 50% 64px;
  }

  .coinflip-face {
    width: 210px;
    height: 210px;
  }

  .coinflip-result {
    min-width: 0;
    width: min(100%, 180px);
    font-size: 14px;
  }

  .coinflip-potline {
    min-width: 0;
    width: 100%;
    box-shadow: 4px 4px 0 #000;
  }

  .coinflip-potline .value {
    font-size: 26px;
  }

  .coinflip-controls {
    width: 100%;
    padding: 16px;
    box-shadow: 5px 5px 0 #000;
  }

  .coinflip-controls .coinflip-choice {
    grid-template-columns: 1fr;
  }

  .coinflip-option,
  .coinflip-actions button {
    width: 100%;
    min-height: 48px;
  }

  .coinflip-notes,
  #coinflipStatus {
    font-size: 14px;
  }
}

@media (max-width: 420px) {
  .coinflip-copy h2 {
    margin-bottom: 8px;
  }

  .coinflip-facebox {
    min-height: 300px;
    padding: 18px 14px 16px;
    border-width: 3px;
    box-shadow: 5px 5px 0 #000;
  }

  .coinflip-stage-glow {
    width: 200px;
    height: 200px;
    inset: auto 50% 56px;
  }

  .coinflip-face {
    width: 176px;
    height: 176px;
  }

  .coinflip-result {
    padding: 7px 10px;
    border-width: 2px;
  }

  .coinflip-potline {
    padding: 10px 12px;
    border-width: 2px;
  }

  .coinflip-potline .label {
    font-size: 12px;
  }

  .coinflip-potline .value {
    font-size: 22px;
  }

  .coinflip-controls {
    padding: 14px;
    border-width: 3px;
    box-shadow: 4px 4px 0 #000;
    gap: 12px;
  }

  .coinflip-option,
  .coinflip-actions button,
  .coinflip-controls .input {
    border-width: 3px;
  }
}
