/* RiverX Poker V168 — exact outer-bezel targets and constant-size effects. */

/* V167 followed the inner illuminated ring. V168 measures the complete round
   seat bezel instead, including the artwork's per-position perspective. */
body.rx-v157 #view-table .poker-table.has-spade-seat-art {
  --rx-seat-circle-top: 9.10%;
  --rx-seat-circle-upper: 8.60%;
  --rx-seat-circle-lower: 8.80%;
  --rx-seat-circle-bottom: 9.20%;

  --rx-seat-top-x: 49.94%;
  --rx-seat-top-y: 10.41%;
  --rx-seat-upper-right-x: 88.06%;
  --rx-seat-upper-right-y: 26.44%;
  --rx-seat-lower-right-x: 88.48%;
  --rx-seat-lower-right-y: 67.60%;
  --rx-seat-lower-left-x: 11.22%;
  --rx-seat-lower-left-y: 67.18%;
  --rx-seat-upper-left-x: 11.94%;
  --rx-seat-upper-left-y: 26.66%;
  --rx-seat-bottom-x: 49.94%;
  --rx-seat-bottom-y: 83.23%;
}

body.rx-v157 #view-table .poker-table.has-spade-seat-art[data-table^="micro-nlh-table-"] {
  --rx-seat-circle-top: 8.40%;
  --rx-seat-circle-upper: 8.00%;
  --rx-seat-circle-lower: 8.40%;
  --rx-seat-circle-bottom: 8.60%;

  --rx-seat-top-x: 50.06%;
  --rx-seat-top-y: 10.20%;
  --rx-seat-upper-right-x: 87.86%;
  --rx-seat-upper-right-y: 25.24%;
  --rx-seat-lower-right-x: 89.18%;
  --rx-seat-lower-right-y: 64.87%;
  --rx-seat-lower-left-x: 10.68%;
  --rx-seat-lower-left-y: 64.87%;
  --rx-seat-upper-left-x: 12.00%;
  --rx-seat-upper-left-y: 25.13%;
  --rx-seat-bottom-x: 50.00%;
  --rx-seat-bottom-y: 81.14%;
}

body.rx-v157 #view-table .poker-table.has-spade-seat-art[data-table^="low-limit-nlh-table-"] {
  --rx-seat-circle-top: 9.30%;
  --rx-seat-circle-upper: 8.55%;
  --rx-seat-circle-lower: 8.55%;
  --rx-seat-circle-bottom: 9.30%;

  --rx-seat-top-x: 49.94%;
  --rx-seat-top-y: 10.31%;
  --rx-seat-upper-right-x: 87.82%;
  --rx-seat-upper-right-y: 26.55%;
  --rx-seat-lower-right-x: 88.48%;
  --rx-seat-lower-right-y: 67.49%;
  --rx-seat-lower-left-x: 11.22%;
  --rx-seat-lower-left-y: 67.49%;
  --rx-seat-upper-left-x: 11.88%;
  --rx-seat-upper-left-y: 26.55%;
  --rx-seat-bottom-x: 49.94%;
  --rx-seat-bottom-y: 83.13%;
}

body.rx-v157 #view-table .poker-table.has-spade-seat-art[data-table^="standard-nlh-table-"] {
  --rx-seat-circle-top: 9.10%;
  --rx-seat-circle-upper: 8.60%;
  --rx-seat-circle-lower: 8.80%;
  --rx-seat-circle-bottom: 9.20%;
}

body.rx-v157 #view-table .poker-table.has-spade-seat-art[data-table^="high-limit-nlh-table-"] {
  --rx-seat-circle-top: 10.00%;
  --rx-seat-circle-upper: 9.20%;
  --rx-seat-circle-lower: 9.40%;
  --rx-seat-circle-bottom: 9.80%;

  --rx-seat-top-x: 49.94%;
  --rx-seat-top-y: 10.30%;
  --rx-seat-upper-right-x: 87.88%;
  --rx-seat-upper-right-y: 26.66%;
  --rx-seat-lower-right-x: 88.48%;
  --rx-seat-lower-right-y: 67.18%;
  --rx-seat-lower-left-x: 11.16%;
  --rx-seat-lower-left-y: 67.18%;
  --rx-seat-upper-left-x: 11.70%;
  --rx-seat-upper-left-y: 26.34%;
  --rx-seat-bottom-x: 49.94%;
  --rx-seat-bottom-y: 82.81%;
}

body.rx-v157 #view-table .poker-table.has-spade-seat-art[data-table^="high-roller-nlh-table-"] {
  --rx-seat-circle-top: 8.30%;
  --rx-seat-circle-upper: 8.00%;
  --rx-seat-circle-lower: 8.10%;
  --rx-seat-circle-bottom: 8.40%;

  --rx-seat-top-x: 49.88%;
  --rx-seat-top-y: 10.90%;
  --rx-seat-upper-right-x: 89.00%;
  --rx-seat-upper-right-y: 23.33%;
  --rx-seat-lower-right-x: 89.96%;
  --rx-seat-lower-right-y: 65.13%;
  --rx-seat-lower-left-x: 9.85%;
  --rx-seat-lower-left-y: 65.13%;
  --rx-seat-upper-left-x: 10.80%;
  --rx-seat-upper-left-y: 23.54%;
  --rx-seat-bottom-x: 49.70%;
  --rx-seat-bottom-y: 79.65%;
}

/* Open-seat centers now follow each actual artwork medallion. Occupied player
   panels keep their existing coordinates because every rule requires the
   is-open-seat state. */
body.rx-v157 #view-table .poker-table.has-spade-seat-art .seat.is-open-seat.seat-0 {
  --seat-left: var(--rx-seat-top-x) !important;
  --seat-top: var(--rx-seat-top-y) !important;
}

body.rx-v157 #view-table .poker-table.has-spade-seat-art .seat.is-open-seat.seat-1 {
  --seat-left: var(--rx-seat-upper-right-x) !important;
  --seat-top: var(--rx-seat-upper-right-y) !important;
}

body.rx-v157 #view-table .poker-table.has-spade-seat-art .seat.is-open-seat.seat-2 {
  --seat-left: var(--rx-seat-lower-right-x) !important;
  --seat-top: var(--rx-seat-lower-right-y) !important;
}

body.rx-v157 #view-table .poker-table.has-spade-seat-art .seat.is-open-seat.seat-3 {
  --seat-left: var(--rx-seat-lower-left-x) !important;
  --seat-top: var(--rx-seat-lower-left-y) !important;
}

body.rx-v157 #view-table .poker-table.has-spade-seat-art .seat.is-open-seat.seat-4 {
  --seat-left: var(--rx-seat-upper-left-x) !important;
  --seat-top: var(--rx-seat-upper-left-y) !important;
}

body.rx-v157 #view-table .poker-table.has-spade-seat-art .seat.is-open-seat.seat-5 {
  --seat-left: var(--rx-seat-bottom-x) !important;
  --seat-top: var(--rx-seat-bottom-y) !important;
}

/* The seat, button, and every visual layer continue to share one box. V168's
   larger measured variables make that box equal the complete outer bezel. */
body.rx-v157 #view-table .poker-table.has-spade-seat-art .seat.is-open-seat,
body.rx-v157 #view-table .poker-table.has-spade-seat-art .seat.is-open-seat .seat-ripple-target,
body.rx-v157 #view-table .poker-table.has-spade-seat-art .seat.is-open-seat .seat-ripple-core,
body.rx-v157 #view-table .poker-table.has-spade-seat-art .seat.is-open-seat .seat-ripple-wave {
  box-sizing: border-box !important;
  border-radius: 50% !important;
}

body.rx-v157 #view-table .poker-table.has-spade-seat-art .seat.is-open-seat .seat-ripple-target,
body.rx-v157 #view-table .poker-table.has-spade-seat-art .seat.is-open-seat .seat-ripple-core,
body.rx-v157 #view-table .poker-table.has-spade-seat-art .seat.is-open-seat .seat-ripple-wave {
  width: 100% !important;
  height: 100% !important;
}

body.rx-v157 #view-table .poker-table.has-spade-seat-art .seat.is-open-seat .seat-ripple-wave {
  inset: 0 !important;
  background: transparent !important;
  -webkit-mask: none !important;
  mask: none !important;
}

body.rx-v157 #view-table .poker-table.has-spade-seat-art .seat.is-open-seat .seat-ripple-core {
  background: transparent !important;
  transform: scale(1) !important;
}

/* Micro: twin violet rim breaths. */
body.rx-v157 #view-table .poker-table.has-spade-seat-art[data-table^="micro-nlh-table-"] .seat.is-open-seat .seat-ripple-wave {
  border: 1.5px solid rgba(196, 132, 255, 0.88) !important;
  box-shadow: 0 0 8px rgba(146, 65, 255, 0.56), inset 0 0 6px rgba(176, 102, 255, 0.22) !important;
  animation: rxMicroBezelPulseV168 var(--rx-seat-motion-duration) ease-in-out infinite !important;
}

body.rx-v157 #view-table .poker-table.has-spade-seat-art[data-table^="micro-nlh-table-"] .seat.is-open-seat .seat-ripple-wave-two {
  border-color: rgba(226, 188, 255, 0.7) !important;
  animation-delay: 1.4s !important;
}

/* Low Limit: alternating violet and emerald full-rim pulses. */
body.rx-v157 #view-table .poker-table.has-spade-seat-art[data-table^="low-limit-nlh-table-"] .seat.is-open-seat .seat-ripple-wave {
  border: 1.5px solid rgba(188, 124, 255, 0.9) !important;
  box-shadow: 0 0 9px rgba(144, 70, 255, 0.62), inset 0 0 7px rgba(132, 68, 255, 0.24) !important;
  animation: rxLowLimitBezelPulseV168 var(--rx-seat-motion-duration) ease-in-out infinite !important;
}

body.rx-v157 #view-table .poker-table.has-spade-seat-art[data-table^="low-limit-nlh-table-"] .seat.is-open-seat .seat-ripple-wave-two {
  border-color: rgba(129, 255, 204, 0.62) !important;
  box-shadow: 0 0 9px rgba(92, 230, 176, 0.48), inset 0 0 7px rgba(73, 213, 160, 0.2) !important;
  animation-delay: 1.575s !important;
}

/* Standard: precise electric arcs travel on the outside edge of the bezel. */
body.rx-v157 #view-table .poker-table.has-spade-seat-art[data-table^="standard-nlh-table-"] .seat.is-open-seat .seat-ripple-wave {
  border: 0 !important;
  background: conic-gradient(from 0deg, transparent 0 54%, rgba(142, 78, 255, 0.16) 60%, rgba(215, 165, 255, 0.98) 70%, rgba(103, 133, 255, 0.82) 78%, transparent 88% 100%) !important;
  -webkit-mask: radial-gradient(circle closest-side, transparent calc(100% - 3px), #000 calc(100% - 2px) 100%) !important;
  mask: radial-gradient(circle closest-side, transparent calc(100% - 3px), #000 calc(100% - 2px) 100%) !important;
  filter: drop-shadow(0 0 6px rgba(159, 95, 255, 0.82)) !important;
  animation: rxStandardBezelOrbitV168 var(--rx-seat-motion-duration) linear infinite !important;
}

body.rx-v157 #view-table .poker-table.has-spade-seat-art[data-table^="standard-nlh-table-"] .seat.is-open-seat .seat-ripple-wave-two {
  background: conic-gradient(from 180deg, transparent 0 60%, rgba(95, 225, 255, 0.18) 66%, rgba(128, 109, 255, 0.92) 75%, rgba(225, 188, 255, 0.9) 82%, transparent 91% 100%) !important;
  animation: rxStandardBezelOrbitV168 5.6s linear infinite reverse !important;
}

/* High Limit: alternating gold and violet prestige rims. */
body.rx-v157 #view-table .poker-table.has-spade-seat-art[data-table^="high-limit-nlh-table-"] .seat.is-open-seat .seat-ripple-wave {
  border: 2px solid rgba(255, 212, 112, 0.88) !important;
  box-shadow: 0 0 10px rgba(255, 191, 70, 0.56), inset 0 0 7px rgba(255, 220, 143, 0.22) !important;
  animation: rxHighLimitBezelPulseV168 var(--rx-seat-motion-duration) ease-in-out infinite !important;
}

body.rx-v157 #view-table .poker-table.has-spade-seat-art[data-table^="high-limit-nlh-table-"] .seat.is-open-seat .seat-ripple-wave-two {
  border-color: rgba(190, 111, 255, 0.92) !important;
  box-shadow: 0 0 11px rgba(145, 61, 255, 0.7), inset 0 0 7px rgba(185, 105, 255, 0.25) !important;
  animation-delay: 1.45s !important;
}

/* High Roller: a fixed ruby rim beneath a segmented orbit at the exact same
   outer diameter. */
body.rx-v157 #view-table .poker-table.has-spade-seat-art[data-table^="high-roller-nlh-table-"] .seat.is-open-seat .seat-ripple-wave-one {
  border: 2px solid rgba(255, 68, 88, 0.9) !important;
  box-shadow: 0 0 11px rgba(229, 32, 65, 0.72), inset 0 0 7px rgba(255, 89, 108, 0.25) !important;
  animation: rxHighRollerBezelPulseV168 var(--rx-seat-motion-duration) ease-in-out infinite !important;
}

body.rx-v157 #view-table .poker-table.has-spade-seat-art[data-table^="high-roller-nlh-table-"] .seat.is-open-seat .seat-ripple-wave-two {
  border: 0 !important;
  background: conic-gradient(from 0deg, transparent 0 9%, rgba(255, 204, 111, 0.98) 13% 20%, transparent 24% 47%, rgba(181, 92, 255, 0.9) 52% 59%, transparent 64% 82%, rgba(255, 75, 96, 0.92) 87% 94%, transparent 98% 100%) !important;
  -webkit-mask: radial-gradient(circle closest-side, transparent calc(100% - 3px), #000 calc(100% - 2px) 100%) !important;
  mask: radial-gradient(circle closest-side, transparent calc(100% - 3px), #000 calc(100% - 2px) 100%) !important;
  filter: drop-shadow(0 0 7px rgba(255, 157, 80, 0.64)) !important;
  animation: rxHighRollerBezelOrbitV168 3.35s linear infinite !important;
}

/* Interaction changes intensity only. Hit area and effect diameter remain
   fixed on the artwork bezel. */
body.rx-v157 #view-table .poker-table.has-spade-seat-art .seat.is-open-seat .seat-ripple-target:hover .seat-ripple-wave,
body.rx-v157 #view-table .poker-table.has-spade-seat-art .seat.is-open-seat .seat-ripple-target:focus-visible .seat-ripple-wave,
body.rx-v157 #view-table .poker-table.has-spade-seat-art .seat.is-open-seat .seat-ripple-target:active .seat-ripple-wave,
body.rx-v157 #view-table .poker-table.has-spade-seat-art .seat.is-open-seat.is-seat-joining .seat-ripple-wave {
  filter: brightness(1.3) saturate(1.2) drop-shadow(0 0 10px var(--rx-seat-core-hot)) !important;
  animation-duration: var(--rx-seat-interaction-duration) !important;
}

body.rx-v157 #view-table .poker-table.has-spade-seat-art .seat.is-open-seat .seat-ripple-target:hover .seat-ripple-core,
body.rx-v157 #view-table .poker-table.has-spade-seat-art .seat.is-open-seat .seat-ripple-target:focus-visible .seat-ripple-core,
body.rx-v157 #view-table .poker-table.has-spade-seat-art .seat.is-open-seat .seat-ripple-target:active .seat-ripple-core {
  transform: scale(1) !important;
}

body.rx-v157 #view-table .poker-table.has-spade-seat-art .seat.is-open-seat.is-seat-joining .seat-ripple-core {
  animation: rxSeatJoinBezelV168 0.58s ease-in-out infinite alternate !important;
}

@keyframes rxMicroBezelPulseV168 {
  0%, 100% { opacity: 0.28; transform: scale(1); }
  50% { opacity: 0.9; transform: scale(1); }
}

@keyframes rxLowLimitBezelPulseV168 {
  0%, 100% { opacity: 0.24; transform: scale(1); }
  50% { opacity: 0.86; transform: scale(1); }
}

@keyframes rxStandardBezelOrbitV168 {
  0% { opacity: 0.62; transform: rotate(0deg) scale(1); }
  50% { opacity: 1; transform: rotate(180deg) scale(1); }
  100% { opacity: 0.62; transform: rotate(360deg) scale(1); }
}

@keyframes rxHighLimitBezelPulseV168 {
  0%, 100% { opacity: 0.3; transform: scale(1); }
  50% { opacity: 0.94; transform: scale(1); }
}

@keyframes rxHighRollerBezelPulseV168 {
  0%, 100% { opacity: 0.34; transform: scale(1); }
  50% { opacity: 0.96; transform: scale(1); }
}

@keyframes rxHighRollerBezelOrbitV168 {
  0% { opacity: 0.68; transform: rotate(0deg) scale(1); }
  50% { opacity: 1; transform: rotate(180deg) scale(1); }
  100% { opacity: 0.68; transform: rotate(360deg) scale(1); }
}

@keyframes rxSeatJoinBezelV168 {
  from { opacity: 0.78; filter: brightness(1.12) saturate(1.1); transform: scale(1); }
  to { opacity: 1; filter: brightness(1.42) saturate(1.3); transform: scale(1); }
}

@media (prefers-reduced-motion: reduce) {
  body.rx-v157 #view-table .poker-table.has-spade-seat-art .seat.is-open-seat .seat-ripple-wave {
    animation-duration: 6s !important;
    transform: scale(1) !important;
  }
}

/* A claimed seat never retains a bezel animation. */
body.rx-v157 #view-table .poker-table.has-spade-seat-art .seat:not(.is-open-seat) .seat-ripple-wave,
body.rx-v157 #view-table .poker-table.has-spade-seat-art .seat:not(.is-open-seat) .seat-ripple-core {
  display: none !important;
  opacity: 0 !important;
  animation: none !important;
}
