.all-in-effect-picker {
  display: flex;
  align-items: center;
  gap: .45rem;
  margin: 0;
  color: #91a59d;
  font-size: .67rem;
  white-space: nowrap;
}
.all-in-effect-picker select {
  width: auto;
  min-width: 104px;
  padding: .38rem 1.65rem .38rem .55rem;
  color: #f2dfb7;
  background: #102a22;
  border: 1px solid #355044;
  border-radius: 8px;
  outline: none;
  font-size: .7rem;
}
.all-in-effect-picker select:focus {
  border-color: #e8b968;
  box-shadow: 0 0 0 2px rgba(232,185,104,.14);
}

.seat.seat-all-in-active {
  z-index: 7;
  isolation: isolate;
  border-color: var(--vfx-mid, #ff9d35);
  box-shadow:
    0 0 0 1px color-mix(in srgb, var(--vfx-hot, #fff1bd) 45%, transparent),
    0 0 18px color-mix(in srgb, var(--vfx-mid, #ff9d35) 65%, transparent),
    0 0 48px color-mix(in srgb, var(--vfx-low, #bd2b18) 52%, transparent),
    0 14px 30px rgba(0,0,0,.58);
}
.seat.seat-all-in-active.turn { z-index: 8; }
.seat.seat-all-in-active.winner { z-index: 9; }
.seat.seat-all-in-active > :not(.all-in-seat-vfx) {
  position: relative;
  z-index: 3;
}
.seat.seat-all-in-active > .cards,
.seat.seat-all-in-active > .turn-indicator,
.seat.seat-all-in-active > .action-bubble,
.seat.seat-all-in-active > .own-stats {
  position: absolute;
}

.all-in-seat-vfx {
  --vfx-hot: #fff1bd;
  --vfx-mid: #ff9d35;
  --vfx-low: #bd2b18;
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 1;
  width: 320px;
  height: 260px;
  overflow: visible;
  opacity: 1;
  pointer-events: none;
  transform: translate(-50%, -50%);
  transition: opacity .5s ease, filter .5s ease;
  contain: layout style;
}
.all-in-seat-vfx[data-effect="lightning"] {
  --vfx-hot: #eefcff;
  --vfx-mid: #66d8ff;
  --vfx-low: #354ac4;
}
.all-in-seat-vfx[data-effect="galaxy"] {
  --vfx-hot: #fff2ff;
  --vfx-mid: #c77cff;
  --vfx-low: #5933b8;
}
.all-in-seat-vfx.is-extinguishing {
  opacity: 0;
  filter: brightness(.45) saturate(.5);
}
.all-in-particle-canvas,
.all-in-cracks,
.all-in-lightning-arcs,
.all-in-galaxy-orbits,
.all-in-energy-shell,
.all-in-heat-field,
.all-in-edge-light,
.all-in-vignette,
.all-in-shockwave {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.all-in-particle-canvas {
  z-index: 5;
  overflow: visible;
  mix-blend-mode: screen;
  filter: saturate(1.22) contrast(1.08) drop-shadow(0 0 4px var(--vfx-mid));
}
.all-in-energy-shell {
  z-index: 2;
  inset: 72px 69px;
  width: auto;
  height: auto;
  padding: 2px;
  border-radius: 24px;
  opacity: .78;
  background:
    conic-gradient(from var(--vfx-angle), transparent 0 8%, var(--vfx-hot) 13%, var(--vfx-mid) 18%, transparent 27% 47%, var(--vfx-low) 56%, var(--vfx-hot) 62%, transparent 72% 100%);
  filter: blur(.35px) drop-shadow(0 0 7px var(--vfx-mid)) drop-shadow(0 0 18px var(--vfx-low));
  animation: all-in-energy-flow 4.8s linear infinite;
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
}
@property --vfx-angle {
  syntax: "<angle>";
  inherits: false;
  initial-value: 0deg;
}
@keyframes all-in-energy-flow {
  to { --vfx-angle: 360deg; }
}

.all-in-edge-light {
  z-index: 2;
  inset: 76px 74px;
  width: auto;
  height: auto;
  border-radius: 20px;
  opacity: .66;
  box-shadow:
    inset 0 0 8px color-mix(in srgb, var(--vfx-hot) 58%, transparent),
    inset 0 -9px 16px color-mix(in srgb, var(--vfx-low) 45%, transparent),
    0 0 11px color-mix(in srgb, var(--vfx-mid) 65%, transparent);
  animation: all-in-edge-breathe 2.25s ease-in-out infinite alternate;
}
@keyframes all-in-edge-breathe {
  from { opacity: .42; filter: brightness(.85); }
  to { opacity: .94; filter: brightness(1.4); }
}

.all-in-heat-field {
  z-index: 4;
  inset: 45px 48px;
  width: auto;
  height: auto;
  opacity: .18;
  border-radius: 38%;
  background:
    repeating-radial-gradient(ellipse at 50% 58%, transparent 0 8px, color-mix(in srgb, var(--vfx-mid) 13%, transparent) 10px, transparent 15px);
  filter: blur(3px);
  mix-blend-mode: screen;
  animation: all-in-heat-shimmer 2.8s ease-in-out infinite alternate;
}
@keyframes all-in-heat-shimmer {
  from { transform: translate3d(-2px, 1px, 0) scale(.98) skewX(-1deg); opacity: .1; }
  to { transform: translate3d(3px, -3px, 0) scale(1.04) skewX(1.3deg); opacity: .26; }
}

.all-in-cracks {
  z-index: 3;
  overflow: visible;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
  filter: drop-shadow(0 0 2px var(--vfx-hot)) drop-shadow(0 0 7px var(--vfx-mid)) drop-shadow(0 0 13px var(--vfx-low));
}
.all-in-cracks .crack-major {
  stroke: var(--vfx-hot);
  stroke-width: 1.8;
  stroke-dasharray: 240;
  stroke-dashoffset: 0;
  opacity: .8;
  animation: all-in-crack-pulse 2.7s ease-in-out infinite alternate;
}
.all-in-cracks .crack-minor {
  stroke: var(--vfx-mid);
  stroke-width: 1.05;
  stroke-dasharray: 150;
  stroke-dashoffset: 0;
  opacity: .48;
  animation: all-in-crack-pulse 3.4s .35s ease-in-out infinite alternate-reverse;
}
.is-igniting .all-in-cracks .crack-major,
.is-igniting .all-in-cracks .crack-minor {
  animation: all-in-crack-spread 1.05s cubic-bezier(.12,.68,.18,1) both;
}
@keyframes all-in-crack-spread {
  from { stroke-dashoffset: 240; opacity: 0; }
  32% { opacity: 1; }
  to { stroke-dashoffset: 0; }
}
@keyframes all-in-crack-pulse {
  from { opacity: .34; filter: brightness(.75); }
  to { opacity: .92; filter: brightness(1.55); }
}

.all-in-lightning-arcs {
  z-index: 4;
  overflow: visible;
  fill: none;
  stroke: var(--vfx-hot);
  stroke-width: 1.65;
  stroke-linecap: square;
  stroke-linejoin: bevel;
  stroke-dasharray: 18 9 4 7;
  filter: drop-shadow(0 0 2px #fff) drop-shadow(0 0 7px var(--vfx-mid)) drop-shadow(0 0 16px var(--vfx-low));
  animation: lightning-field-flicker 1.45s steps(2, jump-none) infinite;
}
.all-in-lightning-arcs path:nth-child(2n) { animation-delay: -.48s; animation-duration: 1.1s; }
.all-in-lightning-arcs path:nth-child(3n) { animation-delay: -.9s; animation-duration: 1.8s; }
.all-in-lightning-arcs path {
  animation: lightning-arc-run 1.45s linear infinite;
}
.is-igniting .all-in-lightning-arcs path {
  animation: lightning-arc-ignite .72s cubic-bezier(.08,.7,.18,1) both;
}
@keyframes lightning-arc-run {
  from { stroke-dashoffset: 0; opacity: .28; }
  48% { opacity: 1; }
  to { stroke-dashoffset: -76; opacity: .38; }
}
@keyframes lightning-arc-ignite {
  from { stroke-dashoffset: 190; opacity: 0; }
  35% { opacity: 1; }
  to { stroke-dashoffset: 0; }
}
@keyframes lightning-field-flicker {
  0%, 32%, 100% { opacity: .52; }
  36%, 44% { opacity: 1; }
  48%, 72% { opacity: .68; }
}
.all-in-ion-core {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 3;
  width: 134px;
  height: 94px;
  border: 1px solid rgba(215,248,255,.72);
  border-radius: 50%;
  box-shadow: 0 0 9px var(--vfx-hot), inset 0 0 14px var(--vfx-mid), 0 0 32px var(--vfx-low);
  transform: translate(-50%, -50%);
  animation: ion-core-pulse 1.7s steps(3, jump-none) infinite;
}
.all-in-ion-core i {
  position: absolute;
  inset: -9px;
  border: 1px solid color-mix(in srgb, var(--vfx-mid) 72%, transparent);
  border-radius: 50%;
}
.all-in-ion-core i:nth-child(1) { clip-path: inset(0 0 48% 0); transform: rotate(60deg); }
.all-in-ion-core i:nth-child(2) { inset: -18px; clip-path: inset(52% 0 0 0); transform: rotate(120deg); }
.all-in-ion-core i:nth-child(3) { inset: -27px; clip-path: polygon(0 0, 38% 0, 64% 100%, 0 100%); transform: rotate(180deg); }
@keyframes ion-core-pulse {
  0%, 100% { opacity: .6; filter: brightness(.9); }
  45% { opacity: 1; filter: brightness(1.8); }
}
.all-in-ion-scan {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 2;
  width: 236px;
  height: 2px;
  opacity: .7;
  background: linear-gradient(90deg, transparent, var(--vfx-mid), #fff, var(--vfx-mid), transparent);
  box-shadow: 0 0 10px var(--vfx-mid);
  transform-origin: center;
  animation: ion-scan 3.2s linear infinite;
}
@keyframes ion-scan {
  from { transform: translate(-50%, -50%) rotate(0); opacity: .18; }
  45% { opacity: .9; }
  to { transform: translate(-50%, -50%) rotate(360deg); opacity: .18; }
}

.all-in-gravity-well {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 3;
  width: 228px;
  height: 132px;
  border-radius: 50%;
  opacity: .92;
  background: radial-gradient(ellipse, #020108 0 13%, #140a27 22%, rgba(89,51,184,.28) 38%, transparent 67%);
  filter: drop-shadow(0 0 13px var(--vfx-mid)) drop-shadow(0 0 28px var(--vfx-low));
  transform: translate(-50%, -50%) rotate(-7deg);
  animation: gravity-well-breathe 3.8s ease-in-out infinite alternate;
}
.gravity-lens {
  position: absolute;
  left: 50%;
  top: 50%;
  border-radius: 50%;
  mix-blend-mode: screen;
  transform: translate(-50%, -50%);
}
.lens-one {
  width: 210px;
  height: 72px;
  border: 5px solid transparent;
  border-top-color: var(--vfx-hot);
  border-bottom-color: var(--vfx-low);
  box-shadow: 0 -5px 12px var(--vfx-mid), 0 7px 16px var(--vfx-low);
  animation: accretion-spin 2.8s linear infinite;
}
.lens-two {
  width: 174px;
  height: 52px;
  border: 2px solid transparent;
  border-left-color: var(--vfx-mid);
  border-right-color: #fff;
  filter: blur(.4px);
  animation: accretion-spin 1.9s linear infinite reverse;
}
.lens-three {
  width: 132px;
  height: 38px;
  border: 1px solid rgba(255,255,255,.8);
  box-shadow: 0 0 12px var(--vfx-hot);
  animation: accretion-spin 4.4s linear infinite;
}
.gravity-core {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 35px;
  height: 24px;
  border-radius: 50%;
  background: #000;
  box-shadow: 0 0 0 2px rgba(255,255,255,.82), 0 0 12px 5px var(--vfx-mid), 0 0 30px 10px var(--vfx-low);
  transform: translate(-50%, -50%);
}
@keyframes accretion-spin {
  to { transform: translate(-50%, -50%) rotate(360deg); }
}
@keyframes gravity-well-breathe {
  from { transform: translate(-50%, -50%) rotate(-7deg) scale(.94); filter: brightness(.82) drop-shadow(0 0 10px var(--vfx-mid)); }
  to { transform: translate(-50%, -50%) rotate(-7deg) scale(1.06); filter: brightness(1.28) drop-shadow(0 0 19px var(--vfx-mid)) drop-shadow(0 0 34px var(--vfx-low)); }
}
.all-in-galaxy-orbits {
  z-index: 2;
  overflow: visible;
  fill: none;
  stroke: color-mix(in srgb, var(--vfx-mid) 58%, transparent);
  stroke-width: .8;
  stroke-dasharray: 3 12 32 18;
  filter: drop-shadow(0 0 5px var(--vfx-mid));
  animation: galaxy-orbits 9s linear infinite;
}
.all-in-galaxy-orbits ellipse:nth-child(2) { stroke: var(--vfx-hot); stroke-dasharray: 2 18; }
.all-in-galaxy-orbits ellipse:nth-child(3) { stroke-width: 1.25; animation: galaxy-orbit-flicker 2.3s ease-in-out infinite alternate; }
@keyframes galaxy-orbits {
  to { stroke-dashoffset: -180; transform: rotate(360deg); transform-origin: center; }
}
@keyframes galaxy-orbit-flicker {
  from { opacity: .28; }
  to { opacity: .95; }
}

.all-in-shockwave {
  z-index: 1;
  left: 50%;
  top: 50%;
  right: auto;
  bottom: auto;
  width: 120px;
  height: 88px;
  border: 2px solid var(--vfx-hot);
  border-radius: 50%;
  opacity: 0;
  box-shadow: 0 0 15px var(--vfx-mid), inset 0 0 15px var(--vfx-low);
  transform: translate(-50%, -50%) scale(.2);
}
.is-igniting .shockwave-one { animation: all-in-shockwave 1.05s cubic-bezier(.08,.68,.2,1) both; }
.is-igniting .shockwave-two { animation: all-in-shockwave 1.4s .16s cubic-bezier(.08,.68,.2,1) both; }
@keyframes all-in-shockwave {
  0% { opacity: 0; transform: translate(-50%, -50%) scale(.15); }
  18% { opacity: .95; }
  100% { opacity: 0; transform: translate(-50%, -50%) scale(2.6); }
}

.all-in-vignette {
  z-index: 0;
  inset: 35px 34px;
  width: auto;
  height: auto;
  border-radius: 50%;
  opacity: .38;
  background: radial-gradient(ellipse, color-mix(in srgb, var(--vfx-low) 23%, transparent), transparent 66%);
  filter: blur(10px);
  animation: all-in-vignette 3.1s ease-in-out infinite alternate;
}
@keyframes all-in-vignette {
  from { opacity: .22; transform: scale(.92); }
  to { opacity: .55; transform: scale(1.08); }
}

.all-in-seat-vfx[data-effect="lightning"] .all-in-energy-shell {
  animation-duration: 2.4s;
  border-radius: 8px;
}
.all-in-seat-vfx[data-effect="lightning"] .all-in-heat-field {
  background: repeating-linear-gradient(112deg, transparent 0 12px, rgba(112,218,255,.16) 13px, transparent 15px 28px);
}
.all-in-seat-vfx[data-effect="galaxy"] .all-in-vignette {
  background: radial-gradient(circle, rgba(197,121,255,.3), rgba(55,34,126,.18) 42%, transparent 72%);
}
.all-in-seat-vfx[data-effect="galaxy"] .all-in-energy-shell {
  display: none;
}
.all-in-seat-vfx[data-effect="galaxy"] .all-in-heat-field {
  display: none;
}
.all-in-seat-vfx[data-effect="galaxy"] .all-in-edge-light {
  opacity: .42;
  border-radius: 50%;
}

@media (max-width: 700px) {
  .all-in-effect-picker span { display: none; }
  .all-in-effect-picker select { min-width: 92px; padding: .34rem 1.35rem .34rem .45rem; font-size: .62rem; }
  .all-in-seat-vfx { width: 245px; height: 200px; }
  .all-in-energy-shell { inset: 54px 53px; }
  .all-in-edge-light { inset: 58px 57px; }
}

@media (prefers-reduced-motion: reduce) {
  .all-in-seat-vfx * { animation-duration: .001ms !important; animation-iteration-count: 1 !important; }
  .all-in-particle-canvas, .all-in-shockwave { display: none; }
}
