/* Mesas Royal: dominó, buraco, póker y ruleta con aspecto de casino. Móvil vertical primero (~390 px). Todo se dibuja por código;
   la foto de Andrés (fondo.webp / mesa.webp en arte_casino/<clave>/) se pone encima sola cuando existe (variables --rp-fondo y --rp-mesa). */
.rp-pantalla{--cw:52px;position:fixed;inset:var(--ctl-top,28px) 0 0 0;z-index:70;display:flex;flex-direction:column;overflow:hidden;color:#f5ecd2;font-family:"Segoe UI",system-ui,sans-serif;
  background:var(--rp-fondo,none) center/cover no-repeat,radial-gradient(900px 600px at 50% 20%,#1b0f08 0,#0a0604 70%),#050302;-webkit-user-select:none;user-select:none;touch-action:manipulation}
.rp-barra{position:relative;z-index:6;display:flex;align-items:center;gap:.5rem;padding:.35rem .7rem;background:linear-gradient(180deg,#000d,#000a);border-bottom:1px solid #b8860b88;backdrop-filter:blur(4px)}
.rp-titulo{color:#ffc627;font:700 1rem Georgia,serif;letter-spacing:.04em}
.rp-sub{color:#cdbf98;font-size:.72rem}
.rp-cuerpo{position:relative;flex:1;min-height:0;display:flex;flex-direction:column}
.rp-luz{position:absolute;inset:0;pointer-events:none;z-index:5;background:radial-gradient(520px 380px at 50% 18%,#ffe7a533 0,#0000 70%),radial-gradient(130% 100% at 50% 50%,#0000 55%,#000b 100%)}
/* fieltro */
.rp-fieltro{position:relative;margin:.35rem .45rem;border-radius:24px;border:7px solid transparent;
  background:radial-gradient(120% 90% at 50% 25%,#1f7a46 0,#12532f 48%,#0a3a20 100%) padding-box,linear-gradient(145deg,#8a5a2b,#4a2a10 40%,#2a1608 70%,#6a4220) border-box;
  box-shadow:0 14px 34px #000c,inset 0 0 40px #000a,inset 0 0 0 2px #0006}
.rp-fieltro::before{content:"";position:absolute;inset:0;border-radius:17px;pointer-events:none;opacity:.5;mix-blend-mode:overlay;
  background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .5  0 0 0 0 .5  0 0 0 0 .5  0 0 0 .6 0'/></filter><rect width='160' height='160' filter='url(%23n)'/></svg>")}
.rp-con-mesa .rp-fieltro,.rp-pantalla.con-mesa .rp-fieltro{background:var(--rp-mesa) center/cover padding-box,linear-gradient(145deg,#8a5a2b,#4a2a10 40%,#2a1608 70%,#6a4220) border-box}
.rp-pantalla.con-mesa .rp-fieltro::before{opacity:.0}
.rp-msg{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:8;background:#000c;border:1px solid #ffc62799;border-radius:14px;padding:.5rem 1rem;font:600 .95rem Georgia,serif;color:#ffe9a8;text-align:center;max-width:86%;pointer-events:none;box-shadow:0 6px 24px #000a}
.rp-estado{min-height:1.5rem;text-align:center;font:600 .86rem Georgia,serif;color:#ffe9a8;text-shadow:0 1px 3px #000;padding:.15rem .4rem}
.rp-acciones{display:flex;gap:.45rem;justify-content:center;flex-wrap:wrap;padding:.4rem .5rem calc(.5rem + env(safe-area-inset-bottom));position:relative;z-index:6}
.rp-boton{border:0;border-radius:999px;padding:.62rem 1.05rem;font:700 .9rem "Segoe UI",system-ui;letter-spacing:.03em;color:#1a1200;background:linear-gradient(180deg,#ffe58a,#e0b230 55%,#a9780f);box-shadow:0 3px 0 #6b4a06,0 6px 14px #000a;transition:transform .08s,filter .15s}
.rp-boton:active{transform:translateY(2px);box-shadow:0 1px 0 #6b4a06,0 3px 8px #000a}
.rp-boton:disabled{opacity:.4;filter:grayscale(.6);box-shadow:none}
.rp-boton.rojo{color:#fff;background:linear-gradient(180deg,#f0655b,#c62828 60%,#7e1414);box-shadow:0 3px 0 #4a0c0c,0 6px 14px #000a}
.rp-boton.verde{color:#fff;background:linear-gradient(180deg,#58c46a,#2e8b3e 60%,#16571f);box-shadow:0 3px 0 #0b3a12,0 6px 14px #000a}
.rp-boton.oscuro{color:#ffe9a8;background:linear-gradient(180deg,#3a3326,#1b1710);box-shadow:0 3px 0 #000,0 6px 14px #000a;border:1px solid #b8860b88}
.rp-avatar{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:50%;font:700 1rem Georgia,serif;color:#2a1a00;background:radial-gradient(circle at 35% 30%,#fff2b8,#d4a62a 60%,#7a5510);box-shadow:0 2px 6px #000a,0 0 0 2px #0008 inset;border:2px solid #ffe08a}
.rp-avatar.javi{color:#fff;background:radial-gradient(circle at 35% 30%,#ff7a6e,#c62828 60%,#6e1010);border-color:#ffd5cf}
.rp-nombre{font:600 .72rem "Segoe UI";color:#f5ecd2;text-shadow:0 1px 2px #000}

/* ============ cartas de baraja ============ */
.rp-carta{position:relative;width:var(--cw);height:calc(var(--cw)*1.4);flex:none;border-radius:calc(var(--cw)*.075);background:#f7f2e4;box-shadow:0 2px 3px #0009,0 7px 14px #0006,inset 0 0 0 1px #0002;transform-style:preserve-3d}
.rp-carta svg{display:block;width:100%;height:100%;border-radius:inherit}
.rp-carta.dorso{background:center/cover no-repeat #4a0a16}
.rp-carta.dorso-arte{background-size:cover;background-position:center}
.rp-carta.dorso-arte svg{display:none}
.rp-carta .cara{position:absolute;inset:0;border-radius:inherit;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden}
.rp-carta .cara.atras{transform:rotateY(0deg);background:center/cover no-repeat #4a0a16}
.rp-carta.rp-giro{background:none;box-shadow:none}
.rp-carta.rp-giro .cara.frente{transform:rotateY(180deg);box-shadow:0 2px 3px #0009,0 7px 14px #0006}
.rp-carta.rp-giro .cara.atras{box-shadow:0 2px 3px #0009,0 7px 14px #0006}
.rp-carta.rp-giro{transition:transform .5s cubic-bezier(.3,.7,.3,1)}
.rp-carta.rp-giro.abierta{transform:rotateY(180deg)}
.rp-carta.sel{transform:translateY(-14px);box-shadow:0 0 0 2px #ffc627,0 10px 18px #000a}
.rp-carta.apagada{filter:brightness(.55)}
.rp-carta.brilla{box-shadow:0 0 0 2px #ffc627,0 0 18px #ffc627cc}

/* ============ fichas de casino ============ */
.rp-ficha{--t:44px;position:relative;display:inline-grid;place-items:center;width:var(--t);height:var(--t);border-radius:50%;flex:none;
  background:radial-gradient(circle at 50% 50%,var(--c2) 0 38%,#0000 39%),conic-gradient(from 0deg,#fff 0 10deg,var(--c1) 10deg 45deg,#fff 45deg 55deg,var(--c1) 55deg 90deg,#fff 90deg 100deg,var(--c1) 100deg 135deg,#fff 135deg 145deg,var(--c1) 145deg 180deg,#fff 180deg 190deg,var(--c1) 190deg 225deg,#fff 225deg 235deg,var(--c1) 235deg 270deg,#fff 270deg 280deg,var(--c1) 280deg 315deg,#fff 315deg 325deg,var(--c1) 325deg 360deg);
  box-shadow:0 calc(var(--t)*.06) 0 #0008,0 calc(var(--t)*.14) calc(var(--t)*.18) #000a,inset 0 0 0 calc(var(--t)*.035) #fff9,inset 0 2px 3px #fff5}
.rp-ficha::after{content:"";position:absolute;inset:16%;border-radius:50%;border:1.5px solid #ffffffaa;background:radial-gradient(circle at 35% 30%,#ffffff40,#0000 60%)}
.rp-ficha b{position:relative;z-index:1;font:700 calc(var(--t)*.3) Georgia,serif;color:#fff;text-shadow:0 1px 2px #000}
.rp-ficha.con-arte{background:center/contain no-repeat;box-shadow:none}.rp-ficha.con-arte::after{display:none}
.rp-pila{position:relative;display:inline-block;width:var(--t);height:calc(var(--t) + 32px)}
.rp-pila>span{position:absolute;left:0}
.rp-pila .rp-ficha b{display:none}
.rp-pila .rp-ficha::after{inset:20%}
.rp-bandeja{display:flex;gap:.35rem;justify-content:center;padding:.2rem}
.rp-bandeja button{background:none;border:0;padding:3px;border-radius:50%;transition:transform .12s}
.rp-bandeja button.sel{transform:translateY(-6px) scale(1.12);filter:drop-shadow(0 0 7px #ffc627)}

/* ============ dominó de marfil 3D ============ */
.rp-dom{--u:26px;position:relative;width:var(--u);height:calc(var(--u)*2);border-radius:calc(var(--u)*.2);display:flex;flex-direction:column;flex:none;
  background:linear-gradient(145deg,#fffdf4 0,#f3ead0 45%,#e3d7b5 100%);
  box-shadow:inset 0 0 0 1px #fff8,inset 0 -2px 3px #b9a97c88,0 1px 0 #d6c9a3,0 2px 0 #c9bb92,0 3px 0 #b7a87c,0 4px 0 #a39468,0 8px 10px #000a}
.rp-dom .mitad{flex:1;position:relative;display:grid;grid-template:repeat(3,1fr)/repeat(3,1fr);padding:calc(var(--u)*.14)}
.rp-dom .mitad i{display:block;width:70%;height:70%;margin:auto;border-radius:50%;visibility:hidden;background:radial-gradient(circle at 35% 30%,#555,#0c0c0c 55%);box-shadow:inset 0 1px 2px #000,0 1px 0 #fff9}
.rp-dom .mitad i.on{visibility:visible}
.rp-dom .mitad.rojo i.on{background:radial-gradient(circle at 35% 30%,#e45a50,#8a0f0f 60%)}
.rp-dom .linea{position:absolute;left:12%;right:12%;top:50%;height:2px;margin-top:-1px;background:linear-gradient(90deg,#9b8a5a,#5a4a22,#9b8a5a);border-radius:2px;box-shadow:0 1px 0 #fff9}
.rp-dom .linea::after{content:"";position:absolute;left:50%;top:50%;width:calc(var(--u)*.17);height:calc(var(--u)*.17);margin:calc(var(--u)*-.085) 0 0 calc(var(--u)*-.085);border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff1a8,#c99a2a 55%,#6b4a06)}
.rp-dom.dorso{background:linear-gradient(145deg,#2d2d33,#141418);box-shadow:inset 0 0 0 1px #fff2,0 1px 0 #0b0b0e,0 2px 0 #060608,0 3px 0 #000,0 7px 9px #000a}
.rp-dom.dorso .mitad,.rp-dom.dorso .linea{display:none}
.rp-dom.dorso::after{content:"";position:absolute;left:50%;top:50%;width:30%;aspect-ratio:1;transform:translate(-50%,-50%) rotate(45deg);background:linear-gradient(135deg,#f7e08a,#8a6212);border-radius:2px}
.rp-dom.jugable{cursor:pointer;box-shadow:inset 0 0 0 1px #fff8,inset 0 -2px 3px #b9a97c88,0 1px 0 #d6c9a3,0 2px 0 #c9bb92,0 3px 0 #b7a87c,0 4px 0 #a39468,0 0 0 2px #ffc627,0 0 16px #ffc627aa}
.rp-dom.apagada{filter:brightness(.62) saturate(.7)}
.rp-dom.sel{transform:translateY(-12px)}
.rp-dom.nuevo{box-shadow:inset 0 0 0 1px #fff8,0 0 0 2px #ffc627,0 0 14px #ffc627,0 8px 10px #000a}

/* ============ mesa de dominó ============ */
.rp-domino .rp-fieltro{flex:1;min-height:0}
.rp-dom-juego{position:absolute;inset:0;overflow:hidden}
.rp-dom-cadena{position:absolute;left:8px;right:8px;top:112px;bottom:10px}
.rp-dom-slot{position:absolute;transition:transform .5s cubic-bezier(.3,.8,.3,1),left .5s,top .5s}
.rp-dom-slot .rp-dom{position:absolute;left:0;top:0}
.rp-dom-asientos{position:absolute;left:0;right:0;top:4px;display:flex;justify-content:space-around;align-items:flex-start;z-index:3;padding:0 2px}
.rp-dom-asiento{display:flex;flex-direction:column;align-items:center;gap:4px;position:relative;min-width:30%}
.rp-dom-asiento .fichas{display:flex;gap:2px;min-height:26px;flex-wrap:wrap;justify-content:center}
.rp-dom-asiento .fichas .rp-dom{--u:11px}
.rp-dom-asiento .nombre{display:flex;align-items:center;gap:.3rem;background:#000a;border:1px solid #b8860b66;border-radius:999px;padding:2px 8px 2px 3px;font-size:.7rem;font-weight:600}
.rp-dom-asiento .nombre .rp-avatar{width:22px;height:22px;font-size:.75rem;border-width:1px}
.rp-dom-asiento.turno .nombre{box-shadow:0 0 0 2px #ffc627,0 0 12px #ffc627aa}
.rp-dom-asiento .pasa{position:absolute;bottom:-1.1rem;font:700 .65rem Georgia;color:#ffb4a8;white-space:nowrap}
.rp-dom-marcador{position:absolute;top:84px;left:50%;transform:translateX(-50%);z-index:4;white-space:nowrap;background:#000b;border:1px solid #b8860b88;border-radius:999px;padding:.12rem .8rem;font-size:.7rem;color:#f5ecd2}
.rp-dom-marcador b{color:#ffc627;font-family:Georgia,serif;font-size:.95rem}
.rp-dom-mano{display:flex;gap:5px;justify-content:center;align-items:flex-end;padding:.5rem .3rem .2rem;min-height:92px;position:relative;z-index:6}
.rp-dom-mano .rp-dom{--u:37px;transition:transform .15s}
.rp-dom-punta{position:absolute;z-index:7;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,#ffe27a,#d4a62a 60%,#7a5510);color:#2a1a00;font:700 1.4rem Georgia;border:2px solid #fff6c8;box-shadow:0 0 0 3px #ffc62755,0 4px 12px #000a;animation:rp-late .7s ease-in-out infinite alternate}
@keyframes rp-late{from{transform:scale(.92)}to{transform:scale(1.08)}}

/* ============ buraco ============ */
.rp-buraco .rp-fieltro{flex:1;min-height:0;display:flex;flex-direction:column;padding:.3rem .25rem;gap:.3rem;overflow:hidden}
.rp-bu-rivales{display:flex;justify-content:space-between;gap:.3rem;align-items:flex-start}
.rp-bu-rival{display:flex;align-items:center;gap:.3rem;background:#000a;border:1px solid #b8860b66;border-radius:12px;padding:3px 7px 3px 3px;font-size:.68rem}
.rp-bu-rival .rp-avatar{width:24px;height:24px;font-size:.8rem}
.rp-bu-rival.turno{box-shadow:0 0 0 2px #ffc627,0 0 12px #ffc627aa}
.rp-bu-rival small{color:#cdbf98;display:block}
.rp-bu-centro{display:flex;justify-content:center;align-items:center;gap:1.1rem;padding:.2rem 0}
.rp-bu-pila{position:relative;text-align:center;font-size:.64rem;color:#f5ecd2}
.rp-bu-pila .rp-carta{--cw:46px}
.rp-bu-pila .tapa{position:relative;display:block}
.rp-bu-pila .tapa::before,.rp-bu-pila .tapa::after{content:"";position:absolute;inset:0;border-radius:4px;background:#5a0f1c;box-shadow:0 1px 2px #000;z-index:-1}
.rp-bu-pila .tapa::before{transform:translate(2px,2px)}.rp-bu-pila .tapa::after{transform:translate(4px,4px)}
.rp-bu-pila.jugable .rp-carta{box-shadow:0 0 0 2px #ffc627,0 0 14px #ffc627aa}
.rp-bu-pila .cuenta{position:absolute;right:-8px;top:-6px;background:#000d;border:1px solid #ffc62799;border-radius:999px;padding:0 6px;font:700 .65rem Georgia}
.rp-bu-muertos{display:flex;gap:.45rem}
.rp-bu-muerto{position:relative}.rp-bu-muerto .rp-carta{--cw:30px}
.rp-bu-zona{background:#00000055;border-radius:12px;padding:.25rem .3rem;overflow-y:auto;overflow-x:hidden;min-height:0;flex:1}
.rp-bu-zona.ellos{flex:0 0 auto;max-height:84px}
.rp-bu-zona h4{margin:0 0 .15rem;font:600 .62rem "Segoe UI";letter-spacing:.1em;text-transform:uppercase;color:#cdbf98}
.rp-bu-combs{display:flex;flex-wrap:wrap;gap:.35rem .5rem}
.rp-bu-comb{display:flex;padding:3px 3px 3px 3px;border-radius:7px;background:#0003;border:1px solid transparent;position:relative}
.rp-bu-comb .rp-carta{--cw:38px;margin-left:-19px}
.rp-bu-comb .rp-carta:first-child{margin-left:0}
.rp-bu-comb.ellos .rp-carta{--cw:26px;margin-left:-13px}
.rp-bu-comb.cerrada{border-color:#ffc627;box-shadow:0 0 10px #ffc62766}
.rp-bu-comb.destino{border-color:#ffc627;background:#ffc62722;cursor:pointer}
.rp-bu-comb .rp-carta.nueva{animation:rp-aparece .5s ease-out}
@keyframes rp-aparece{from{transform:translateY(-30px) scale(1.2);opacity:0}to{transform:none;opacity:1}}
.rp-bu-mano{position:relative;z-index:6;padding:1rem .15rem 0;display:flex;flex-wrap:wrap;justify-content:center;row-gap:4px;min-height:110px}
.rp-bu-mano .rp-carta{--cw:54px;margin-left:-24px;transition:transform .15s,margin .15s}
.rp-bu-mano .rp-carta:first-child{margin-left:0}
.rp-bu-mano.ancha .rp-carta{--cw:48px;margin-left:-26px}
.rp-bu-mano .rp-carta.nueva{animation:rp-llega .5s ease-out}
@keyframes rp-llega{from{transform:translateY(-120px) scale(.6);opacity:0}to{transform:none;opacity:1}}
.rp-bu-ayuda{min-height:1.1rem;font-size:.72rem;text-align:center;color:#cdbf98;padding:0 .4rem}
.rp-bu-ayuda.ok{color:#8be29a}.rp-bu-ayuda.mal{color:#ffb4a8}

/* ============ póker ============ */
.rp-poker .rp-fieltro{flex:1;min-height:0;border-radius:46% / 20%;margin:.5rem .35rem}
.rp-pk-centro{position:absolute;left:50%;top:42%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:.5rem;width:100%}
.rp-pk-comunes{display:flex;gap:4px;justify-content:center;min-height:calc(var(--cw)*1.4)}
.rp-pk-comunes .rp-carta{--cw:52px}
.rp-pk-comunes .hueco{width:52px;height:73px;border-radius:5px;border:1px dashed #ffffff30;background:#0003}
.rp-pk-bote{display:flex;align-items:center;gap:.5rem;background:#000a;border:1px solid #ffc62766;border-radius:999px;padding:.2rem .8rem .2rem .4rem;font:700 .85rem Georgia;color:#ffe9a8}
.rp-pk-bote .rp-pila{--t:24px;height:34px}
.rp-pk-asiento{position:absolute;display:flex;flex-direction:column;align-items:center;gap:2px;z-index:3;width:104px}
.rp-pk-asiento.s0{left:50%;bottom:-4px;transform:translateX(-50%)}
.rp-pk-asiento.s1{left:50%;top:-4px;transform:translateX(-50%)}
.rp-pk-asiento.dos-a{left:2px;top:30%}.rp-pk-asiento.dos-b{right:2px;top:30%}
.rp-pk-cartas{display:flex;gap:2px;min-height:48px}
.rp-pk-cartas .rp-carta{--cw:34px}
.rp-pk-asiento.s0 .rp-pk-cartas .rp-carta{--cw:54px}
.rp-pk-asiento.s0 .rp-pk-cartas .rp-carta:first-child{transform:rotate(-5deg)}
.rp-pk-asiento.s0 .rp-pk-cartas .rp-carta:last-child{transform:rotate(5deg) translateY(2px)}
.rp-pk-placa{background:linear-gradient(180deg,#1a1510f2,#0b0905f2);border:1px solid #b8860b99;border-radius:12px;padding:3px 8px;text-align:center;min-width:92px;box-shadow:0 3px 8px #000a}
.rp-pk-placa .nom{font:600 .72rem "Segoe UI";display:flex;gap:.25rem;justify-content:center;align-items:center}
.rp-pk-placa .fich{font:700 .82rem Georgia;color:#ffc627}
.rp-pk-placa .acc{font-size:.62rem;color:#cdbf98;min-height:.8rem}
.rp-pk-asiento.turno .rp-pk-placa{box-shadow:0 0 0 2px #ffc627,0 0 14px #ffc627aa}
.rp-pk-asiento.retirado{opacity:.45}
.rp-pk-asiento.ganador .rp-pk-placa{box-shadow:0 0 0 2px #7dff9a,0 0 18px #7dff9a}
.rp-pk-apuesta{position:absolute;display:flex;align-items:center;gap:3px;z-index:2;font:700 .72rem Georgia;color:#ffe9a8;text-shadow:0 1px 2px #000;transition:left .4s,top .4s}
.rp-pk-apuesta .rp-pila{--t:22px;height:30px}
.rp-pk-boton{position:absolute;width:24px;height:24px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,#d8d2c0);color:#222;font:700 .75rem Georgia;display:grid;place-items:center;box-shadow:0 2px 5px #000a;z-index:4;border:1px solid #888;background-size:cover}
.rp-pk-mazo{position:absolute;right:12%;top:20%;z-index:1}
.rp-pk-mazo .rp-carta{--cw:30px}
.rp-pk-subir{display:flex;gap:.4rem;align-items:center;justify-content:center;padding:.2rem .6rem;position:relative;z-index:6}
.rp-pk-subir input[type=range]{flex:1;accent-color:#ffc627;padding:0;background:none;border:0}
.rp-pk-subir output{min-width:3.4rem;text-align:right;font:700 .95rem Georgia;color:#ffc627}
.rp-pk-subir .rp-boton{padding:.3rem .6rem;font-size:.72rem}
.rp-pk-ganancia{position:absolute;left:50%;top:58%;transform:translateX(-50%);z-index:8;font:700 1.05rem Georgia;color:#7dff9a;text-shadow:0 2px 8px #000;white-space:nowrap}

/* ============ ruleta ============ */
.rp-ruleta .rp-cuerpo{overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}
.rp-ru-rueda{position:relative;width:min(88vw,340px);aspect-ratio:1;margin:.3rem auto .1rem;flex:none;filter:drop-shadow(0 12px 18px #000c)}
.rp-ru-rueda canvas{position:absolute;inset:0;width:100%;height:100%}
.rp-ru-rueda .marco{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.rp-ru-hist{display:flex;gap:4px;justify-content:center;flex-wrap:wrap;padding:.2rem}
.rp-ru-hist span{display:inline-grid;place-items:center;min-width:26px;height:26px;border-radius:50%;font:700 .78rem Georgia;border:1.5px solid #ffe08a;box-shadow:0 2px 4px #000a}
.rp-ru-mesa{position:relative;margin:.3rem .5rem;padding:10px;border-radius:14px;border:6px solid transparent;
  background:radial-gradient(130% 80% at 50% 0,#1f7a46 0,#12532f 55%,#0a3a20 100%) padding-box,linear-gradient(145deg,#8a5a2b,#4a2a10 40%,#2a1608 70%,#6a4220) border-box;box-shadow:0 10px 24px #000b,inset 0 0 30px #000a}
.rp-pantalla.con-mesa .rp-ru-mesa{background:var(--rp-mesa) center/cover padding-box,linear-gradient(145deg,#8a5a2b,#4a2a10 40%,#2a1608 70%,#6a4220) border-box}
.rp-ru-paño{position:relative;display:grid;grid-template-columns:44px 44px repeat(3,1fr);grid-template-rows:38px repeat(12,34px) 34px;gap:2px;user-select:none}
.rp-ru-paño .c{display:grid;place-items:center;font:700 .95rem Georgia,serif;color:#fff;border:1.5px solid #e7cf8a;border-radius:3px;cursor:pointer;text-shadow:0 1px 2px #000;position:relative;
  background:linear-gradient(180deg,#ffffff1c,#0000 50%,#0003)}
.rp-ru-paño .c.rojo{background-color:#b3141c}.rp-ru-paño .c.negro{background-color:#101214}.rp-ru-paño .c.verde{background-color:#0c7a38}
.rp-ru-paño .c.fuera{background-color:#0f5a2c;font-size:.72rem}
.rp-ru-paño .c.fuera.f-rojo{background-color:#b3141c}.rp-ru-paño .c.fuera.f-negro{background-color:#101214}
.rp-ru-paño .c.vert span{writing-mode:vertical-rl;transform:rotate(180deg);letter-spacing:.1em}
.rp-ru-paño .c:active{filter:brightness(1.4)}
.rp-ru-paño .c.gana{box-shadow:0 0 0 3px #ffc627,0 0 16px #ffc627;z-index:2;animation:rp-late .5s infinite alternate}
.rp-ru-paño .pila{position:absolute;transform:translate(-50%,-50%);z-index:4;pointer-events:none}
.rp-ru-paño .pila .rp-ficha{--t:28px}
.rp-ru-paño .pila em{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font:700 .55rem Georgia;color:#fff;font-style:normal;text-shadow:0 1px 2px #000;z-index:2}
.rp-ru-acciones{display:flex;gap:.4rem;flex-wrap:wrap;justify-content:center;padding:.3rem .4rem}
.rp-ru-total{text-align:center;font-size:.8rem;color:#cdbf98;min-height:1.1rem}
.rp-ru-res{text-align:center;min-height:62px;padding:.2rem}
.rp-ru-res .bola{display:inline-grid;place-items:center;width:54px;height:54px;border-radius:50%;font:700 1.5rem Georgia;border:3px solid #ffe08a;box-shadow:0 0 22px #ffc62788}
.rp-ru-res .bola.rojo{background:#b3141c}.rp-ru-res .bola.negro{background:#101214}.rp-ru-res .bola.verde{background:#0c7a38}
.rp-ru-pie{padding:.4rem .8rem 1.5rem;font-size:.74rem;color:#cdbf98}
.rp-ru-pie summary{color:#ffc627;cursor:pointer}
.rp-ru-conf{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:9}
@media(min-width:700px){.rp-pantalla{--cw:60px}.rp-dom-mano .rp-dom{--u:44px}}
@media(max-height:700px){.rp-dom-mano .rp-dom{--u:32px}.rp-dom-mano{min-height:80px}}
/* pie de la ruleta más bajo */
.rp-ruleta .rp-bandeja .rp-ficha{--t:38px!important}
.rp-ruleta .rp-bandeja{padding:0}
.rp-ru-acciones{flex-wrap:nowrap;gap:.3rem;padding:.2rem .2rem 0}
.rp-ru-acciones .rp-boton{padding:.5rem .55rem;font-size:.74rem;flex:1 1 auto}
.rp-ru-acciones .rp-boton.verde{flex:1.4 1 auto;font-size:.85rem}
.rp-ru-acciones{display:grid;grid-template-columns:repeat(4,1fr) 1.35fr;gap:.25rem}
.rp-ru-acciones .rp-boton{min-width:0;padding:.5rem .1rem;font-size:.7rem;letter-spacing:0}
.rp-ru-acciones .rp-boton.verde{font-size:.82rem;min-width:0!important}
.rp-pantalla,.rp-cuerpo{max-width:100vw}

/* Sello de Summit Royale (emblema sin letras) en las mesas Royal */
.dorso-arte::after{content:"";position:absolute;left:50%;top:50%;width:52%;aspect-ratio:1;transform:translate(-50%,-50%);background:url(/static/img/emblema.png) center/contain no-repeat;filter:drop-shadow(0 1px 2px #000a);pointer-events:none}
.rp-ficha::before{content:"";position:absolute;inset:20%;border-radius:50%;background:url(/static/img/emblema_96.png) center/contain no-repeat;opacity:.9;z-index:0}
.rp-ficha.con-arte::before{inset:26%;opacity:.85}
.rp-dom .linea::after{width:calc(var(--u)*.7);height:calc(var(--u)*.7);margin:calc(var(--u)*-.35) 0 0 calc(var(--u)*-.35);border-radius:0;background:url(/static/img/emblema_96.png) center/contain no-repeat}
.rp-dom.dorso::after{width:62%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:0;background:url(/static/img/emblema.png) center/contain no-repeat}
.rp-barra .rp-sub{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.68rem}

/* GIRAR de la Ruleta Royal: entre la rueda y la mesa (Nerio, 06/10/2026) */
.rp-ru-acciones{grid-template-columns:repeat(4,1fr)}
.rp-ru-medio{display:flex;justify-content:center;padding:.1rem .6rem .3rem}
.rp-ru-medio .rp-boton{width:100%;max-width:340px;padding:.7rem 1rem;font-size:1.05rem;letter-spacing:.08em}
