/* Póker Royal Élite: mesa en perspectiva con riel acolchado y sello Royal en el paño. Móvil vertical (390x664 y 390x844), sin desplazamiento.
   Todo por código; la foto de Andrés (fondo.webp, mesa.webp en arte_casino/poker_elite/) se pone encima sola si aparece. */
.pe-pantalla{--cw:44px;background:var(--rp-fondo,none) center/cover no-repeat,
  radial-gradient(70% 38% at 50% 14%,#ffd98a40 0,#0000 70%),radial-gradient(120% 90% at 50% 40%,#2a1a10 0,#0d0705 60%,#030201 100%)}
.pe-sala{position:relative;flex:1;min-height:0;margin:0 auto;width:100%;max-width:460px;overflow:hidden}
/* ----- mesa ----- */
.pe-mesa{position:absolute;left:2%;right:2%;top:7%;bottom:15%;perspective:820px;perspective-origin:50% 120%}
.pe-riel{position:absolute;inset:0;border-radius:50% / 40%;transform:rotateX(16deg);transform-origin:50% 100%;padding:15px;
  background:radial-gradient(120% 120% at 50% 0,#4a4a52 0,#1c1c22 38%,#0a0a0e 100%);
  box-shadow:0 26px 34px #000d,0 3px 0 #6b4a1a,0 6px 0 #2a1608,inset 0 2px 3px #fff5,inset 0 -5px 8px #000c,inset 0 0 0 2px #0009,0 0 0 3px #8a5a2b,0 0 0 5px #3a200c}
.pe-riel::before{content:"";position:absolute;inset:6px;border-radius:inherit;border:1.5px dashed #d4a62aaa;pointer-events:none;opacity:.8}
.pe-pano{position:absolute;inset:15px;border-radius:inherit;overflow:hidden;
  background:var(--rp-mesa,none) center/cover,radial-gradient(75% 65% at 50% 38%,#238a50 0,#146036 45%,#0a3b21 100%);
  box-shadow:inset 0 0 36px #000b,inset 0 0 0 2px #0007,inset 0 6px 10px #0008}
.pe-pano::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(45deg,#ffffff06 0 1px,#0000 1px 3px),repeating-linear-gradient(-45deg,#00000010 0 1px,#0000 1px 3px);opacity:.55}
.pe-sello{position:absolute;left:50%;top:48%;width:46%;aspect-ratio:1;transform:translate(-50%,-50%);background:url(/static/img/emblema.png) center/contain no-repeat;opacity:.3;filter:drop-shadow(0 1px 0 #0008)}
.pe-linea{position:absolute;inset:13% 9%;border-radius:50%;border:1.5px solid #e7cf8a55;box-shadow:0 0 0 1px #0004}
.pe-pantalla.con-mesa .pe-pano{background:var(--rp-mesa) center/cover}
/* ----- capa de juego (sin perspectiva) ----- */
.pe-capa{position:absolute;inset:0;pointer-events:none}
.pe-capa>*{pointer-events:none}
.pe-mazo{position:absolute;left:73%;top:14%;width:34px;height:48px;z-index:2;filter:drop-shadow(0 4px 4px #000a)}
.pe-mazo .rp-carta,.pe-quemadas .rp-carta{--cw:34px}
.pe-quemadas{position:absolute;left:64%;top:15.5%;width:34px;height:48px;z-index:1}
.pe-comunes{position:absolute;left:50%;top:34%;transform:translate(-50%,-50%);display:flex;gap:3px;z-index:3}
.pe-comunes .rp-carta{--cw:46px}
.pe-comunes .hueco{width:46px;height:64px;border-radius:5px;border:1px dashed #e7cf8a40;background:#0002}
.pe-bote{position:absolute;left:50%;top:47%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:.4rem;z-index:3;
  background:#000b;border:1px solid #d4a62a88;border-radius:999px;padding:.12rem .7rem .12rem .35rem;font:700 .82rem Georgia,serif;color:#ffe9a8;box-shadow:0 3px 8px #000a;white-space:nowrap}
.pe-bote .rp-pila{--t:22px;height:30px}
.pe-bote .suave{color:#cdbf98;font-weight:600;padding-left:.3rem}
/* ----- asientos ----- */
.pe-asiento{position:absolute;display:flex;flex-direction:column;align-items:center;gap:2px;z-index:4;width:108px;transition:opacity .3s}
.pe-asiento.pos-hero{left:50%;bottom:0;transform:translateX(-50%);width:200px}
.pe-asiento.pos-top{left:50%;top:0;transform:translateX(-50%)}
.pe-asiento.pos-left{left:0;top:41%}
.pe-asiento.pos-right{right:0;top:41%}
.pe-cartas{display:flex;gap:2px;min-height:40px;justify-content:center}
.pe-cartas .rp-carta{--cw:32px}
.pos-hero .pe-cartas{gap:0;min-height:90px;margin-bottom:-2px}
.pos-hero .pe-cartas .rp-carta{--cw:62px}
.pos-hero .pe-cartas .rp-carta:first-child{transform:rotate(-6deg) translateX(5px)}
.pos-hero .pe-cartas .rp-carta:last-child{transform:rotate(6deg) translateX(-5px) translateY(2px)}
.pos-hero .pe-cartas .rp-carta.abierta{transform:rotateY(180deg)}
.pos-hero .pe-cartas .rp-carta.rp-giro{transform:none}
.pos-hero .pe-cartas .rp-carta.rp-giro.abierta{transform:rotateY(180deg)}
.pos-hero .pe-cartas .rp-carta:first-child.rp-giro{margin-right:-4px}
.pe-asiento .pe-cartas .rp-carta{filter:drop-shadow(0 3px 3px #000a)}
.pe-placa{position:relative;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:.35rem;align-items:center;min-width:96px;
  background:linear-gradient(180deg,#221a12f5,#0a0704f5);border:1px solid #d4a62a99;border-radius:14px;padding:3px 9px 3px 4px;box-shadow:0 4px 10px #000b,inset 0 1px 0 #ffffff1c}
.pe-placa .rp-avatar{width:30px;height:30px;font-size:.95rem;grid-row:1/3}
.pe-placa .datos{line-height:1.05}
.pe-placa .nom{font:600 .72rem "Segoe UI",system-ui;color:#f5ecd2;max-width:64px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pe-placa .fich{font:700 .8rem Georgia,serif;color:#ffc627}
.pe-placa .acc{grid-column:1/3;font-size:.6rem;color:#cdbf98;min-height:.78rem;text-align:center;line-height:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:104px}
.pe-placa .acc.pensando i{display:inline-block;width:5px;height:5px;margin:0 2px;border-radius:50%;background:#ffc627;animation:pe-puntos 1s infinite}
.pe-placa .acc.pensando i:nth-child(2){animation-delay:.18s}.pe-placa .acc.pensando i:nth-child(3){animation-delay:.36s}
@keyframes pe-puntos{0%,100%{opacity:.25;transform:translateY(0)}50%{opacity:1;transform:translateY(-2px)}}
.pos-hero .pe-placa{min-width:150px;grid-template-columns:auto 1fr auto}
.pos-hero .pe-placa .acc{grid-column:2/4;text-align:left;max-width:none}
.pe-asiento.turno .pe-placa{box-shadow:0 0 0 2px #ffc627,0 0 16px #ffc627aa,0 4px 10px #000b}
.pe-asiento.retirado{opacity:.5}.pe-asiento.eliminado{opacity:.35}
.pe-asiento.ganador .pe-placa{box-shadow:0 0 0 2px #7dff9a,0 0 20px #7dff9a,0 4px 10px #000b}
.pe-pila-jug{position:absolute;right:3px;bottom:44px;z-index:1}
.pos-left .pe-pila-jug,.pos-right .pe-pila-jug{right:auto;left:50%;bottom:auto;top:100%;margin:-6px 0 0 -7px;z-index:0}
.pos-hero .pe-pila-jug{display:none}
.pe-pila-jug .rp-pila{--t:15px;height:22px}
.pe-boton-d{position:absolute;right:-9px;top:-9px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font:700 .72rem Georgia,serif;color:#1a1200;z-index:5;
  background:radial-gradient(circle at 35% 30%,#fffdf0,#d8cfae 70%);border:1.5px solid #b8860b;box-shadow:0 2px 5px #000b,inset 0 0 0 2px #fff8}
/* ----- apuestas sobre el paño ----- */
.pe-apuesta{position:absolute;display:flex;align-items:center;gap:3px;z-index:3;font:700 .72rem Georgia,serif;color:#ffe9a8;text-shadow:0 1px 2px #000;transform:translate(-50%,-50%)}
.pe-apuesta .rp-pila{--t:20px;height:28px}
.pe-apuesta.ap-hero{left:50%;top:67%}.pe-apuesta.ap-top{left:50%;top:21%}.pe-apuesta.ap-left{left:30%;top:56%}.pe-apuesta.ap-right{left:70%;top:56%}
.pe-ganancia{position:absolute;left:50%;top:43%;transform:translateX(-50%);z-index:8;font:700 1.15rem Georgia,serif;color:#7dff9a;text-shadow:0 2px 10px #000,0 0 14px #1d8a3a;white-space:nowrap;animation:pe-sube 1.2s ease-out both}
@keyframes pe-sube{from{opacity:0;transform:translate(-50%,16px) scale(.8)}to{opacity:1;transform:translate(-50%,0) scale(1)}}
.pe-msg{position:absolute;transform:translate(-50%,-50%);z-index:9;background:#000d;border:1px solid #ffc62799;border-radius:12px;padding:.18rem .6rem;font:600 .74rem Georgia,serif;color:#ffe9a8;white-space:nowrap;box-shadow:0 5px 16px #000a}
/* ----- cartas ganadoras ----- */
.pe-capa .rp-carta.brilla{box-shadow:0 0 0 2px #ffc627,0 0 18px #ffc627cc;z-index:2}
.pe-capa .rp-carta.apagada,.pe-capa .rp-carta.apagada .cara{filter:brightness(.5)}
.pe-capa .rp-carta.rp-giro.brilla .cara.frente{box-shadow:0 0 0 2px #ffc627,0 0 18px #ffc627cc}
/* ----- estado y botones ----- */
.pe-estado{min-height:1.3rem;text-align:center;font:600 .82rem Georgia,serif;color:#ffe9a8;text-shadow:0 1px 3px #000;padding:.1rem .4rem;line-height:1.3rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pe-subir{display:flex;gap:.4rem;align-items:center;justify-content:center;padding:.1rem .6rem;position:relative;z-index:6}
.pe-subir input[type=range]{flex:1;accent-color:#ffc627;padding:0;background:none;border:0}
.pe-subir output{min-width:3.4rem;text-align:right;font:700 .95rem Georgia,serif;color:#ffc627}
.pe-subir .rp-boton{padding:.3rem .6rem;font-size:.72rem}
.pe-acciones{flex-wrap:nowrap;gap:.35rem;padding:.25rem .45rem calc(.45rem + env(safe-area-inset-bottom))}
.pe-acciones .rp-boton{flex:1 1 0;min-width:0;padding:.6rem .2rem;font-size:.82rem;letter-spacing:0;white-space:nowrap}
@media(max-height:700px){
  .pe-mesa{top:5%;bottom:17%}
  .pe-comunes .rp-carta{--cw:42px}.pe-comunes .hueco{width:42px;height:59px}
  .pos-hero .pe-cartas .rp-carta{--cw:54px}.pos-hero .pe-cartas{min-height:78px}
  .pe-asiento.pos-left,.pe-asiento.pos-right{top:38%}
}
@media(min-width:700px){.pe-sala{max-width:520px}}

.pe-pantalla .rp-sub{display:none}
.pe-pantalla .rp-titulo{white-space:nowrap;font-size:.95rem}
.pe-pantalla .rp-barra{padding:.3rem .6rem;gap:.4rem}
.pe-pantalla .rp-barra .btn{padding:.38rem .65rem;font-size:.78rem;white-space:nowrap}
.pe-pantalla .rp-titulo{min-width:0;overflow:hidden;text-overflow:ellipsis;font-size:.9rem}
@media(min-height:760px){
  .pe-mesa{top:9%;bottom:13%}
  .pe-comunes{top:35.5%}.pe-comunes .rp-carta{--cw:52px}.pe-comunes .hueco{width:52px;height:73px}
  .pos-hero .pe-cartas .rp-carta{--cw:70px}.pos-hero .pe-cartas{min-height:100px}
  .pe-asiento.pos-left,.pe-asiento.pos-right{top:42.5%}
  .pe-cartas .rp-carta{--cw:36px}.pe-cartas{min-height:46px}
  .pe-bote{top:48.5%}.pe-apuesta.ap-left,.pe-apuesta.ap-right{top:58%}.pe-apuesta.ap-top{top:25.5%}.pe-apuesta.ap-hero{top:68%}
  .pe-mazo{top:13%}.pe-quemadas{top:14.5%}
}
