.card-protocol-table-reveal {
  position: absolute;
  z-index: 52;
  inset: 94px 1% 52px;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  gap: 12px;
  min-width: 0;
  min-height: 0;
  padding: 18px clamp(16px, 3vw, 42px);
  overflow: hidden;
  border: 1px solid rgba(66, 218, 232, 0.42);
  background:
    radial-gradient(circle at 50% 44%, rgba(28, 127, 145, 0.14), transparent 48%),
    linear-gradient(180deg, rgba(1, 13, 20, 0.58), rgba(1, 8, 13, 0.78));
  box-shadow: inset 0 0 72px rgba(66, 218, 232, 0.05), 0 26px 60px rgba(0, 0, 0, 0.52);
}

.card-protocol-table-reveal > header {
  position: relative;
  z-index: 3;
  display: grid;
  justify-items: center;
  gap: 3px;
  text-align: center;
}

.card-protocol-table-reveal > header span {
  color: rgba(66, 218, 232, 0.76);
  font-family: var(--font-label);
  font-size: 8px;
  letter-spacing: 0.16em;
}

.card-protocol-table-reveal > header strong {
  color: var(--card-protocol-ivory);
  font-family: var(--font-heading);
  font-size: clamp(20px, 2.7vw, 34px);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.card-protocol-table-reveal__cards {
  display: grid;
  grid-template-columns: repeat(var(--plays), minmax(0, 190px));
  align-items: center;
  justify-content: center;
  gap: clamp(12px, 2.6vw, 38px);
  min-width: 0;
  min-height: 0;
  perspective: 1400px;
}

.card-protocol-table-play {
  position: relative;
  display: grid;
  justify-items: center;
  gap: 7px;
  min-width: 0;
  transform-origin: center;
}

.card-protocol-table-play > span {
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  width: 100%;
  min-height: 30px;
  padding: 4px 7px;
  border: 1px solid rgba(224, 194, 114, 0.32);
  border-radius: 3px;
  color: rgba(255, 239, 194, 0.98);
  background: linear-gradient(180deg, rgba(7, 29, 36, 0.92), rgba(2, 15, 21, 0.96));
  box-shadow: inset 0 0 14px rgba(69, 211, 220, 0.06), 0 2px 8px rgba(0, 0, 0, 0.34);
  font-family: var(--font-copy);
  font-size: clamp(12px, 0.95vw, 14px);
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: 0.07em;
  overflow-wrap: anywhere;
  text-align: center;
  text-shadow: 0 1px 2px #000;
  text-transform: uppercase;
  white-space: normal;
}

.card-protocol-table-play .card-protocol-card-wrap {
  width: min(14vw, 190px);
  min-width: 120px;
  height: auto;
  aspect-ratio: 112 / 164;
}

.card-protocol--deal .card-protocol-table-play.is-player {
  animation: card-protocol-table-deal-player 2465ms cubic-bezier(0.16, 0.82, 0.2, 1) calc(var(--play-index) * 119ms) both;
}

.card-protocol--deal .card-protocol-table-play.is-cpu {
  animation: card-protocol-table-deal-cpu 2465ms cubic-bezier(0.16, 0.82, 0.2, 1) calc(var(--play-index) * 119ms) both;
}

.card-protocol--reveal .card-protocol-table-play .card-protocol-card__inner {
  animation: card-protocol-table-card-flip 680ms cubic-bezier(0.18, 0.76, 0.18, 1) 80ms both;
}

.card-protocol--reveal .card-protocol-table-play.is-loser .card-protocol-card-wrap {
  opacity: 0.62;
  filter: saturate(0.55) brightness(0.68);
  transform: scale(0.96);
}

.card-protocol--reveal .card-protocol-table-play.is-winner .card-protocol-card-wrap {
  z-index: 2;
  filter: drop-shadow(0 0 20px rgba(87, 244, 170, 0.58));
  transform: translateY(-5px) scale(1.035);
}

.card-protocol-table-play__outcome {
  position: absolute;
  z-index: 6;
  top: 42%;
  left: 50%;
  display: grid;
  grid-template-columns: auto auto;
  place-items: center;
  gap: 7px;
  min-width: 76%;
  padding: 7px 11px;
  border: 3px solid #6ff0a8;
  color: #07150d;
  background: rgba(111, 240, 168, 0.94);
  box-shadow: 0 0 0 3px rgba(3, 18, 12, 0.78), 0 0 28px rgba(87, 244, 170, 0.62);
  font-family: var(--font-heading);
  transform: translate(-50%, -50%) rotate(-7deg);
  animation: card-protocol-table-winner-stamp 520ms cubic-bezier(0.16, 0.9, 0.24, 1.2) 820ms both;
}

.card-protocol-table-play__outcome span {
  font-size: 21px;
  line-height: 1;
}

.card-protocol-table-play__outcome b {
  font-size: 11px;
  letter-spacing: 0.08em;
}

.card-protocol-table-play.is-tie .card-protocol-table-play__outcome {
  border-color: var(--card-protocol-gold);
  color: #1a1205;
  background: rgba(242, 202, 112, 0.96);
  box-shadow: 0 0 0 3px rgba(22, 15, 4, 0.8), 0 0 26px rgba(226, 185, 93, 0.5);
}

.card-protocol-table-reveal__announcement {
  position: relative;
  z-index: 3;
  min-height: 16px;
  margin: 0;
  color: rgba(226, 216, 180, 0.7);
  font-size: 11px;
  line-height: 1.35;
  text-align: center;
}

@keyframes card-protocol-table-deal-player {
  from { opacity: 0; transform: translate3d(0, 54vh, 0) rotate(7deg) scale(0.72); }
  to { opacity: 1; transform: translate3d(0, 0, 0) rotate(0) scale(1); }
}

@keyframes card-protocol-table-deal-cpu {
  from { opacity: 0; transform: translate3d(0, -46vh, 0) rotate(-7deg) scale(0.72); }
  to { opacity: 1; transform: translate3d(0, 0, 0) rotate(0) scale(1); }
}

@keyframes card-protocol-table-card-flip {
  from { transform: rotateY(180deg); }
  to { transform: rotateY(0); }
}

@keyframes card-protocol-table-winner-stamp {
  from { opacity: 0; transform: translate(-50%, -50%) rotate(-7deg) scale(1.8); }
  to { opacity: 1; transform: translate(-50%, -50%) rotate(-7deg) scale(1); }
}

@media (max-width: 760px) and (orientation: portrait) {
  .card-protocol-table-reveal {
    inset: 122px 0 0;
    gap: 7px;
    padding: calc(10px + env(safe-area-inset-top)) 8px max(9px, env(safe-area-inset-bottom));
    border: 0;
    background:
      radial-gradient(circle at 50% 42%, rgba(28, 127, 145, 0.17), transparent 52%),
      linear-gradient(180deg, rgba(2, 21, 31, 0.9), rgba(1, 8, 13, 0.97));
  }

  .card-protocol-table-reveal > header {
    min-height: 45px;
    padding-left: 0;
  }

  .card-protocol-table-reveal > header span {
    font-size: 9px;
  }

  .card-protocol-table-reveal > header strong {
    font-size: clamp(20px, 6vw, 27px);
  }

  .card-protocol-table-reveal__cards {
    grid-template-columns: repeat(2, minmax(0, auto));
    align-content: center;
    gap: 9px 12px;
  }

  .card-protocol-table-play {
    gap: 4px;
  }

  .card-protocol-table-play > span {
    min-height: 30px;
    padding: 3px 5px;
    font-size: 12px;
    letter-spacing: 0.045em;
  }

  .card-protocol-table-play .card-protocol-card-wrap {
    width: min(36vw, 154px);
    min-width: 0;
  }

  .card-protocol-table-reveal__cards:not(:has(.card-protocol-table-play:nth-child(3))) .card-protocol-card-wrap {
    width: min(43vw, 180px);
  }

  .card-protocol-table-play__outcome {
    min-width: 82%;
    padding: 5px 7px;
    border-width: 2px;
  }

  .card-protocol-table-play__outcome span {
    font-size: 17px;
  }

  .card-protocol-table-play__outcome b {
    font-size: 9px;
  }

  .card-protocol-table-reveal__announcement {
    min-height: 30px;
    padding-inline: 12px;
    font-size: 11px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .card-protocol--deal .card-protocol-table-play,
  .card-protocol--reveal .card-protocol-table-play .card-protocol-card__inner,
  .card-protocol-table-play__outcome {
    animation-duration: 1ms;
    animation-delay: 0ms;
  }
}
