/* Limbo Royal, Hi-Lo Royal y Dice Royal. Móvil vertical primero (~390 px de ancho, ~664 de alto útil): datos → escenario → resultado → mando → fichas.
   Reaprovecha las clases del mando de Mines Royal (.mn-*) y suma las suyas (.rr-* comunes, .lm-* Limbo, .dc-* Dice, .hl-* Hi-Lo). */
.rr-pantalla{background:var(--rp-fondo,none) center/cover no-repeat,radial-gradient(560px 420px at 50% 18%,#3b2a0e66 0,#0000 70%),linear-gradient(180deg,#0a0806,#120d08 55%,#050403)}
.rr-dice{background:var(--rp-fondo,none) center/cover no-repeat,radial-gradient(520px 380px at 50% 20%,#4a1a1666 0,#0000 70%),linear-gradient(180deg,#0b0706,#160b09 55%,#050303)}
.rr-hilo{background:var(--rp-fondo,none) center/cover no-repeat,radial-gradient(560px 420px at 50% 20%,#0d4a3166 0,#0000 70%),linear-gradient(180deg,#06100c,#0a1a13 55%,#030806)}
.rr-pantalla .rp-cuerpo{padding:.25rem .45rem calc(.2rem + env(safe-area-inset-bottom));gap:.25rem}
.rr-pantalla .rp-titulo{white-space:nowrap;font-size:.95rem}
.rr-info{flex:none;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:4px;position:relative;z-index:3}
.rr-c{border:1px solid #b8860b88;border-radius:10px;padding:.12rem .25rem;text-align:center;background:linear-gradient(180deg,#1c150a,#0b0804);box-shadow:inset 0 1px 0 #ffffff14,0 3px 8px #000a;min-width:0}
.rr-c small{display:block;font:600 .54rem "Segoe UI",system-ui;letter-spacing:.03em;text-transform:uppercase;color:#bfae7e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rr-c b{display:block;font:700 .98rem Georgia,serif;color:#ffe9a8;line-height:1.15;white-space:nowrap}
.rr-c:first-child b{color:#ffc627}
.rr-escena{flex:1 1 0;min-height:110px;position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.45rem}
.rr-dato{flex:none;height:56px;overflow:hidden;display:flex;align-items:center;justify-content:center;flex-direction:column;position:relative;z-index:3}
.rr-dato .rj-res{margin:0;width:100%;max-width:24rem}.rr-dato .rj-c{padding:.15rem .2rem}
.rr-dato .rj-nota:not(.mn-verif){display:none}
.rr-mando{flex:none;display:flex;flex-direction:column;gap:5px;position:relative;z-index:6}
.rr-fila{display:flex;align-items:center;gap:5px;justify-content:center}
.rr-p{width:38px;height:34px;padding:0;border-radius:11px;font-size:1.05rem;line-height:1;display:grid;place-items:center;flex:none}
.rr-valor,.rr-entrada{flex:1;max-width:130px;text-align:center;border:1px solid #b8860b88;border-radius:11px;background:#0b0804;padding:.04rem .3rem;box-shadow:inset 0 2px 5px #000;min-width:0}
.rr-valor small,.rr-entrada small{display:block;font:600 .52rem "Segoe UI";letter-spacing:.08em;text-transform:uppercase;color:#bfae7e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rr-valor b{font:700 1rem Georgia,serif;color:#ffe9a8}
.rr-entrada{display:block;max-width:104px}
.rr-entrada input{width:100%;box-sizing:border-box;background:none;border:0;outline:0;text-align:center;font:700 1rem Georgia,serif;color:#ffe9a8;padding:0;-webkit-user-select:text;user-select:text}
.rr-entrada:focus-within{border-color:#ffc627;box-shadow:inset 0 2px 5px #000,0 0 8px #ffc62766}
.rr-rapidas{display:flex;gap:3px;margin-left:2px}
.rr-rapidas button{min-width:29px;height:30px;padding:0 3px;border-radius:15px;border:1px solid #b8860b88;background:linear-gradient(180deg,#2c2415,#120e07);color:#ffe9a8;font:700 .7rem Georgia,serif}
.rr-rapidas button.sel{background:linear-gradient(180deg,#ffe58a,#c8921a);color:#1a1200;border-color:#fff3b0}
.rr-nm{min-width:3.4rem;text-align:center;font:700 1.05rem Georgia,serif;color:#ffc627}
.rr-seg{display:flex;border:1px solid #b8860b88;border-radius:11px;overflow:hidden;flex:none}
.rr-seg button{padding:.38rem .6rem;font:700 .74rem "Segoe UI";letter-spacing:.05em;text-transform:uppercase;color:#cdbf98;background:#0b0804;border:0}
.rr-seg button.sel{background:linear-gradient(180deg,#ffe58a,#c8921a);color:#1a1200}
.rr-fichas{flex:none;position:relative;z-index:6}
.rr-fichas .rp-ficha{--t:34px!important}
.rr-fichas.rp-bandeja{padding:0 0 2px}
.rr-pantalla .mn-gran{width:100%;padding:.5rem 1rem;font-size:1rem;letter-spacing:.06em;text-transform:uppercase;display:flex;gap:.5rem;justify-content:center;align-items:baseline}
.rr-pantalla .mn-gran b{font-size:.92rem;letter-spacing:0}

/* ---------- placa de mármol negro con marco de oro (Limbo y Dice) ---------- */
.lm-placa{position:relative;width:min(100%,330px);flex:1 1 auto;min-height:92px;max-height:210px;box-sizing:border-box;padding:calc(.4rem + 3px) .5rem .4rem;display:flex;flex-direction:column;align-items:center;justify-content:center;
  border-radius:18px;border:3px solid transparent;background:radial-gradient(90% 90% at 50% 38%,#ffd86a14,#0000 70%) padding-box,var(--rr-marmol) center/cover padding-box,linear-gradient(145deg,#fff0a8,#e2b53a 28%,#7a5510 52%,#d9a53a 78%,#6b4a06) border-box;
  box-shadow:0 12px 26px #000c,inset 0 0 18px #000,inset 0 1px 0 #ffffff22;overflow:hidden}
.lm-dial{justify-content:flex-end;padding-bottom:calc(8% + 2px)}
.lm-cuadrante{position:absolute;left:0;right:0;bottom:0;width:100%;height:100%;pointer-events:none}
.lm-dial .lm-estado{display:none}
.lm-dial .lm-gran{z-index:1;margin-bottom:11%;font-size:clamp(1.9rem,9.5vw,2.8rem)}
.lm-dial .lm-sello{top:58%;width:34%;opacity:.06}
.lm-dial.lm-gano .lm-cuadrante{filter:drop-shadow(0 0 5px #2ee86a88)}
.lm-sello{position:absolute;left:50%;top:50%;width:46%;transform:translate(-50%,-50%);opacity:.07;pointer-events:none}
.lm-estado{position:relative;font:600 .62rem "Segoe UI",system-ui;letter-spacing:.1em;text-transform:uppercase;color:#bfae7e;min-height:.8rem;text-align:center}
.lm-gran{position:relative;font:700 clamp(2.5rem,15vw,4.3rem)/1.05 Georgia,serif;font-variant-numeric:tabular-nums;letter-spacing:.01em;color:#ffe9a8;text-shadow:0 2px 0 #7a5510,0 0 22px #ffc62755;transition:color .25s,text-shadow .25s}
.lm-gran.girando{color:#fff3c4;text-shadow:0 0 14px #ffe58acc,0 0 30px #ffc62788}
.lm-gran.gano{color:#7dffa8;text-shadow:0 2px 0 #0b5a2a,0 0 26px #2ee86a99;animation:rr-late .5s ease-out}
.lm-gran.pierde{color:#ff8f84;text-shadow:0 2px 0 #6b1410,0 0 22px #ff4a3a66;animation:rr-sacude .45s ease-out}
@keyframes rr-late{0%{transform:scale(.92)}55%{transform:scale(1.07)}100%{transform:none}}
@keyframes rr-sacude{20%{transform:translateX(-5px)}45%{transform:translateX(4px)}70%{transform:translateX(-2px)}100%{transform:none}}
.lm-meta{position:relative;font:600 .68rem "Segoe UI",system-ui;color:#a99a72;letter-spacing:.04em;min-height:.9rem}
.lm-meta b{font:700 .8rem Georgia,serif;color:#e8dcb5}
.lm-hist{flex:none;display:flex;gap:4px;justify-content:center;flex-wrap:nowrap;min-height:22px;max-width:100%;overflow:hidden}
.lm-hist span{font:700 .64rem Georgia,serif;padding:.14rem .42rem;border-radius:999px;border:1px solid;white-space:nowrap}
.lm-hist .ok{color:#7dffa8;border-color:#2e8b5a;background:#0b2a1a}.lm-hist .no{color:#ff9a90;border-color:#8b2e2e;background:#2a0f0d}

/* ---------- Dice: dado de marfil y riel de ébano ---------- */
.dc-fila-sup{flex:1 1 auto;min-height:92px;max-height:170px;width:min(100%,360px);display:flex;align-items:center;gap:.7rem}
.dc-fila-sup .lm-placa{flex:1;min-height:0;height:100%;max-height:none}
.dc-sombra{flex:none;filter:drop-shadow(0 12px 8px #000b);margin:0 .6rem 0 .3rem;perspective:600px}
.dc-dado{--d:56px;width:var(--d);height:var(--d);position:relative;transform-style:preserve-3d;transform:rotateX(-26deg) rotateY(34deg)}
.dc-dado i{position:absolute;inset:0;border-radius:calc(var(--d)*.16);background-color:#f6efdc;box-shadow:inset 0 0 calc(var(--d)*.22) #b9a97a,inset 0 0 0 1px #d8c9a0;backface-visibility:hidden}
.dc-dado .f1{transform:translateZ(calc(var(--d)/2));background-image:radial-gradient(circle at 50% 50%,#a30f16 0 13%,#0000 14%)}
.dc-dado .f6{transform:rotateY(180deg) translateZ(calc(var(--d)/2));background-image:radial-gradient(circle at 30% 22%,#14110d 0 9%,#0000 10%),radial-gradient(circle at 70% 22%,#14110d 0 9%,#0000 10%),radial-gradient(circle at 30% 50%,#14110d 0 9%,#0000 10%),radial-gradient(circle at 70% 50%,#14110d 0 9%,#0000 10%),radial-gradient(circle at 30% 78%,#14110d 0 9%,#0000 10%),radial-gradient(circle at 70% 78%,#14110d 0 9%,#0000 10%)}
.dc-dado .f2{transform:rotateY(90deg) translateZ(calc(var(--d)/2));background-image:radial-gradient(circle at 28% 28%,#14110d 0 11%,#0000 12%),radial-gradient(circle at 72% 72%,#14110d 0 11%,#0000 12%)}
.dc-dado .f5{transform:rotateY(-90deg) translateZ(calc(var(--d)/2));background-image:radial-gradient(circle at 25% 25%,#14110d 0 9%,#0000 10%),radial-gradient(circle at 75% 25%,#14110d 0 9%,#0000 10%),radial-gradient(circle at 50% 50%,#14110d 0 9%,#0000 10%),radial-gradient(circle at 25% 75%,#14110d 0 9%,#0000 10%),radial-gradient(circle at 75% 75%,#14110d 0 9%,#0000 10%)}
.dc-dado .f3{transform:rotateX(90deg) translateZ(calc(var(--d)/2));background-image:radial-gradient(circle at 25% 25%,#14110d 0 10%,#0000 11%),radial-gradient(circle at 50% 50%,#14110d 0 10%,#0000 11%),radial-gradient(circle at 75% 75%,#14110d 0 10%,#0000 11%)}
.dc-dado .f4{transform:rotateX(-90deg) translateZ(calc(var(--d)/2));background-image:radial-gradient(circle at 27% 27%,#a30f16 0 11%,#0000 12%),radial-gradient(circle at 73% 27%,#a30f16 0 11%,#0000 12%),radial-gradient(circle at 27% 73%,#a30f16 0 11%,#0000 12%),radial-gradient(circle at 73% 73%,#a30f16 0 11%,#0000 12%)}
.dc-dado.rueda{animation:dc-rueda 1.15s cubic-bezier(.2,.7,.3,1) both}
@keyframes dc-rueda{0%{transform:translateY(-26px) rotateX(-26deg) rotateY(34deg)}25%{transform:translateY(6px) rotateX(300deg) rotateY(200deg)}40%{transform:translateY(-14px) rotateX(520deg) rotateY(330deg)}60%{transform:translateY(3px) rotateX(760deg) rotateY(520deg)}78%{transform:translateY(-4px) rotateX(930deg) rotateY(660deg)}100%{transform:translateY(0) rotateX(1054deg) rotateY(754deg)}}
.dc-riel-zona{flex:none;width:min(100%,360px);position:relative;padding:0 2px}
.dc-riel{--u:50%;position:relative;height:40px;border-radius:20px;border:3px solid transparent;box-sizing:border-box;
  background:linear-gradient(180deg,#1a1410,#050403) padding-box,linear-gradient(145deg,#fff0a8,#e2b53a 28%,#7a5510 52%,#d9a53a 78%,#6b4a06) border-box;box-shadow:0 8px 16px #000b,inset 0 2px 6px #000}
.dc-pista{position:absolute;left:15px;right:15px;top:0;bottom:0}
.dc-gana,.dc-pierde{position:absolute;top:8px;bottom:8px;border-radius:7px}
.dc-gana{background:linear-gradient(180deg,#34c27a,#0e6a3e 60%,#0a4a2c);box-shadow:inset 0 1px 0 #ffffff55,0 0 10px #2ee86a44}
.dc-pierde{background:linear-gradient(180deg,#c4343a,#7a1218 60%,#4a0a0e);box-shadow:inset 0 1px 0 #ffffff33}
.dc-riel.bajo .dc-gana{left:-12px;width:calc(var(--u) + 12px);border-radius:12px 7px 7px 12px}
.dc-riel.bajo .dc-pierde{left:var(--u);right:-12px;border-radius:7px 12px 12px 7px}
.dc-riel.sobre .dc-pierde{left:-12px;width:calc(var(--u) + 12px);border-radius:12px 7px 7px 12px}
.dc-riel.sobre .dc-gana{left:var(--u);right:-12px;border-radius:7px 12px 12px 7px}
.dc-riel::after{content:"";position:absolute;left:15px;right:15px;top:8px;bottom:8px;pointer-events:none;background:repeating-linear-gradient(90deg,#ffffff33 0 1px,#0000 1px 10%);opacity:.55}
.dc-marca{position:absolute;top:50%;left:50%;width:22px;height:22px;margin:-11px 0 0 -11px;border-radius:50%;opacity:0;z-index:3;pointer-events:none;
  background:radial-gradient(circle at 34% 30%,#fff 0 12%,#f6efdc 14%,#cdbd8e 60%,#6e5a28);box-shadow:0 3px 6px #000c,0 0 0 2px #fff3b0aa}
.dc-marca.gano{box-shadow:0 3px 6px #000c,0 0 0 2px #7dffa8,0 0 14px #2ee86a}.dc-marca.pierde{box-shadow:0 3px 6px #000c,0 0 0 2px #ff8f84,0 0 12px #ff4a3a}
.dc-marca s{position:absolute;left:50%;top:-9px;width:0;height:0;border:5px solid transparent;border-top:7px solid #ffe58a;border-bottom:0;transform:translateX(-50%)}
.dc-riel input[type=range]{position:absolute;left:0;right:0;top:0;bottom:0;width:100%;height:100%;margin:0;background:none;-webkit-appearance:none;appearance:none;z-index:4;touch-action:pan-y;cursor:pointer}
.dc-riel input[type=range]::-webkit-slider-runnable-track{background:none;height:100%}
.dc-riel input[type=range]::-moz-range-track{background:none;height:100%}
.dc-riel input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:30px;height:46px;margin-top:-3px;border-radius:9px;border:2px solid #fff3b0;box-shadow:0 4px 8px #000c,inset 0 1px 0 #fff8;
  background:linear-gradient(180deg,#fff0a8,#e2b53a 45%,#7a5510 55%,#d9a53a)}
.dc-riel input[type=range]::-moz-range-thumb{width:26px;height:42px;border-radius:9px;border:2px solid #fff3b0;box-shadow:0 4px 8px #000c;background:linear-gradient(180deg,#fff0a8,#e2b53a 45%,#7a5510 55%,#d9a53a)}
.dc-rap{margin:0;justify-content:center}.dc-rap button{min-width:48px}
.dc-escala{display:flex;justify-content:space-between;padding:2px 15px 0;font:600 .6rem Georgia,serif;color:#a99a72}
.dc-placa .lm-gran{font-size:clamp(2.1rem,11vw,3rem)}

/* ---------- Hi-Lo: fieltro esmeralda, zapato y cartas ---------- */
.hl-fieltro{--hl-cw:84px;position:absolute;inset:0;border-radius:22px;border:6px solid transparent;box-sizing:border-box;display:flex;flex-direction:column;justify-content:space-between;padding:.35rem .5rem .3rem;overflow:hidden;
  background:var(--rp-mesa,none) center/cover padding-box,radial-gradient(120% 90% at 50% 28%,#1f7a46 0,#12532f 48%,#0a3a20 100%) padding-box,linear-gradient(145deg,#8a5a2b,#4a2a10 40%,#2a1608 70%,#6a4220) border-box;
  box-shadow:0 12px 24px #000c,inset 0 0 26px #0009}
.hl-fieltro::after{content:"";position:absolute;inset:5px;border-radius:16px;border:1px solid #e2b53a77;pointer-events:none}
.hl-sello{position:absolute;left:50%;top:52%;width:44%;transform:translate(-50%,-50%);opacity:.1;pointer-events:none}
.hl-alto{position:relative;display:flex;justify-content:space-between;align-items:flex-start;min-height:58px;gap:.4rem}
.hl-rastro{display:flex;align-items:flex-start;min-width:0;padding-left:2px}
.hl-mini{position:relative;margin-right:2px;--cw:32px}
.hl-mini .rp-carta{--cw:32px;box-shadow:0 2px 3px #000a}
.hl-mini i{position:absolute;left:50%;bottom:-11px;transform:translateX(-50%);font:700 .62rem Georgia,serif;font-style:normal;color:#ffe58a;text-shadow:0 1px 2px #000}
.hl-mini i.menor{color:#ff9a90}.hl-mini i.mayor{color:#7dffa8}
.hl-zapato{flex:none;width:64px}.hl-zapato svg,.hl-zapato img{display:block;width:100%;height:auto}
.hl-cartas{position:relative;flex:1;display:flex;align-items:center;justify-content:center;gap:calc(var(--hl-cw)*.28);min-height:0;--cw:var(--hl-cw)}
.hl-hueco{position:relative;width:var(--hl-cw);height:calc(var(--hl-cw)*1.4);flex:none}
.hl-hueco .rp-carta{--cw:var(--hl-cw);position:absolute;inset:0}
.hl-hueco.vacio{display:none}
.hl-sig::before{content:"";position:absolute;inset:-4px;border-radius:calc(var(--hl-cw)*.1);border:1.5px dashed #e2b53a66;pointer-events:none}
.hl-sig .rp-carta{opacity:.96;transform:translateX(4px) rotate(2deg)}
.hl-hueco .rp-carta.rp-giro{transform:none}.hl-hueco .rp-carta.rp-giro.abierta{transform:rotateY(180deg)}
.hl-hueco .rp-carta.quieta{opacity:.85}
.hl-hueco.gano .rp-carta,.hl-sig .gano{box-shadow:0 0 0 2px #7dffa8,0 0 20px #2ee86acc}
.hl-hueco.pierde .rp-carta,.hl-sig .pierde{box-shadow:0 0 0 2px #ff8f84,0 0 18px #ff4a3a99}
.hl-pista{position:relative;text-align:center;font:600 .72rem "Segoe UI",system-ui;color:#e8dcb5;min-height:.9rem;letter-spacing:.03em}
.hl-dir{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.hl-op{border:1px solid #fff3b0aa;border-radius:14px;padding:.3rem .2rem;display:flex;flex-direction:column;align-items:center;gap:1px;color:#fff;box-shadow:0 3px 0 #000,0 6px 14px #000a;min-width:0}
.hl-op.mayor{background:linear-gradient(180deg,#3fb67a,#14804a 60%,#0b5a32)}
.hl-op.menor{background:linear-gradient(180deg,#d4474d,#a0222a 60%,#6a1218)}
.hl-op .hl-t{font:700 .86rem "Segoe UI",system-ui;letter-spacing:.02em;white-space:nowrap}
.hl-op .hl-t i{font-style:normal;color:#ffe58a}
.hl-op small{font:600 .68rem Georgia,serif;color:#fff3c4;white-space:nowrap}
.hl-op:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px 0 #000,0 3px 8px #000a}
.hl-op:disabled{opacity:.38;filter:grayscale(.5);box-shadow:none}
.rr-saltar{flex:1.2 1 0;min-width:0;padding:.5rem .3rem;font-size:clamp(.66rem,3.1vw,.78rem);white-space:normal;line-height:1.1;display:flex;gap:.25rem;justify-content:center;align-items:center}
.rr-cobrar{flex:1.3 1 0;min-width:0;padding:.5rem .3rem;font-size:clamp(.7rem,3.4vw,.86rem);display:flex;gap:.35rem;justify-content:center;align-items:baseline;flex-wrap:wrap;line-height:1.1}
.rr-cobrar b{font-size:.84rem}
@media(max-height:700px){.lm-gran{font-size:clamp(2.2rem,11vw,3.2rem)}.dc-dado{--d:46px}.hl-op{padding:.2rem .2rem}}
@media(prefers-reduced-motion:reduce){.dc-dado.rueda,.lm-gran.gano,.lm-gran.pierde{animation:none}}
