/* Dados Royal: siete (dos dados), cubilete (cinco dados) y Sic Bo Royal (tres dados). Móvil vertical primero (~390 px de ancho, ~664 de alto útil).
   Orden fijo: dados → botón Tirar → mesa de apuestas → fichas. Dados 3D de CSS; fieltro liso (sin ruido) con luz suave y marca de agua del sello Royal. */
.dr-pantalla{background:var(--rp-fondo,none) center/cover no-repeat,radial-gradient(520px 380px at 50% 0,#4a1a1066 0,#0000 70%),linear-gradient(180deg,#0b0605,#150b08 60%,#060302)}
.dr-sicbo{background:var(--rp-fondo,none) center/cover no-repeat,radial-gradient(520px 380px at 50% 0,#7a0f1c55 0,#0000 70%),linear-gradient(180deg,#0d0506,#1a0a0c 60%,#070304)}
.dr-cubilete{background:var(--rp-fondo,none) center/cover no-repeat,radial-gradient(520px 380px at 50% 0,#5a3a1466 0,#0000 70%),linear-gradient(180deg,#0a0705,#17100a 60%,#060403)}
.dr-escena{flex:1 1 auto;min-height:150px;display:flex;flex-direction:column;padding:.3rem .45rem 0;gap:.15rem;position:relative;z-index:2}
.dr-pista{--d:56px;position:relative;flex:1;min-height:100px;border-radius:22px;border:6px solid transparent;overflow:hidden;
  background:radial-gradient(120% 110% at 50% 30%,#1f7a46 0,#12532f 52%,#0a3a20 100%) padding-box,linear-gradient(145deg,#8a5a2b,#4a2a10 40%,#2a1608 70%,#6a4220) border-box;
  box-shadow:0 12px 28px #000c,inset 0 0 46px #000b,inset 0 0 0 2px #0006}
.dr-pantalla.con-mesa .dr-pista{background:var(--rp-mesa) center/cover padding-box,linear-gradient(145deg,#8a5a2b,#4a2a10 40%,#2a1608 70%,#6a4220) border-box}
.dr-sicbo .dr-pista{background:radial-gradient(120% 110% at 50% 30%,#1b6b3f 0,#0f4a2a 52%,#082e1a 100%) padding-box,linear-gradient(145deg,#d4a62a,#7a5510 40%,#3a2606 70%,#b88a1c) border-box}
.dr-cubilete .dr-pista{background:radial-gradient(120% 110% at 50% 30%,#2a2a2e 0,#18181b 52%,#0b0b0d 100%) padding-box,linear-gradient(145deg,#8a5a2b,#4a2a10 40%,#2a1608 70%,#6a4220) border-box}
.dr-pista::after{content:"";position:absolute;inset:5px;border-radius:16px;border:1px solid #e2b53a66;pointer-events:none}
.dr-marca{position:absolute;left:50%;top:50%;height:62%;aspect-ratio:1;transform:translate(-50%,-50%);opacity:.16;pointer-events:none;filter:saturate(.7)}
.dr-lectura{position:absolute;top:8px;left:50%;transform:translateX(-50%);z-index:6;display:flex;gap:.45rem;align-items:baseline;white-space:nowrap;background:#000c;border:1px solid #ffc62799;border-radius:999px;padding:.12rem .9rem;font:700 .86rem Georgia,serif;color:#ffe9a8;box-shadow:0 4px 14px #000a}
.dr-lectura b{font-size:1.15rem;color:#ffc627}
.dr-lectura.va{animation:dr-sale .45s cubic-bezier(.2,1.4,.4,1)}
@keyframes dr-sale{from{transform:translate(-50%,-14px) scale(.6);opacity:0}to{transform:translateX(-50%)}}
.dr-dato{flex:none;min-height:48px;display:flex;align-items:center;justify-content:center;flex-direction:column}
.dr-dato .rj-res{margin:0;width:100%;max-width:24rem}
.dr-dato .rj-c{padding:.18rem .2rem}
.dr-pista-txt{font:600 .78rem "Segoe UI",system-ui;text-align:center;color:#cdbf98;padding:0 .5rem}

/* dado 3D de marfil */
.dr-dado{position:absolute;width:var(--d);height:var(--d);margin:calc(var(--d)/-2) 0 0 calc(var(--d)/-2);perspective:calc(var(--d)*7);z-index:3}
.dr-cubo{position:absolute;inset:0;transform-style:preserve-3d}
.dr-sombra{position:absolute;left:4%;right:-14%;bottom:-18%;height:30%;border-radius:50%;background:radial-gradient(closest-side,#000b,#0000);filter:blur(2px)}
.dr-cara{--h:calc(var(--d)/2);position:absolute;inset:0;border-radius:16%;display:grid;grid-template:repeat(3,1fr)/repeat(3,1fr);padding:15%;
  background:radial-gradient(130% 130% at 28% 22%,#fffef7 0,#f5edd5 52%,#d8c99f 100%);box-shadow:inset 0 0 calc(var(--d)*.16) #7a6a3f99,inset 0 0 0 calc(var(--d)*.02) #fff9}
.dr-cara.f1{transform:translateZ(var(--h))}.dr-cara.f2{transform:rotateX(90deg) translateZ(var(--h));filter:brightness(1.06)}
.dr-cara.f3{transform:rotateY(90deg) translateZ(var(--h));filter:brightness(.8)}.dr-cara.f4{transform:rotateY(-90deg) translateZ(var(--h));filter:brightness(.86)}
.dr-cara.f5{transform:rotateX(-90deg) translateZ(var(--h));filter:brightness(.72)}.dr-cara.f6{transform:rotateY(180deg) translateZ(var(--h));filter:brightness(.78)}
.dr-cara b,.dr-mini b{position:relative;display:block}
.dr-cara b.on::after{content:"";position:absolute;inset:6%;border-radius:50%;background:radial-gradient(circle at 36% 30%,#5a5a5a,#0c0c0c 58%);box-shadow:inset 0 calc(var(--d)*.02) calc(var(--d)*.03) #000,0 1px 0 #fffc}
.dr-siete .dr-cara.f1 b.on::after,.dr-sicbo .dr-cara.f1 b.on::after,.dr-sicbo .dr-cara.f4 b.on::after{background:radial-gradient(circle at 36% 30%,#ff6a5e,#b3121a 60%,#600)}
.dr-siete .dr-cara.f1 b.on::after{inset:-6%}
.dr-sicbo .dr-cara{background:radial-gradient(130% 130% at 28% 22%,#fffbea 0,#f2e6c4 52%,#d0bb85 100%);box-shadow:inset 0 0 calc(var(--d)*.16) #7a6a3f99,inset 0 0 0 calc(var(--d)*.03) #d4a62acc}
.dr-cubilete .dr-cara{background:radial-gradient(130% 130% at 28% 22%,#f0524a 0,#b3141c 52%,#650609 100%);box-shadow:inset 0 0 calc(var(--d)*.18) #2a0003cc,inset 0 0 0 calc(var(--d)*.025) #ffd1a866}
.dr-cubilete .dr-cara b.on::after{background:radial-gradient(circle at 36% 30%,#fffdf0,#e9d9a6 60%,#a8914f);box-shadow:inset 0 calc(var(--d)*.02) calc(var(--d)*.03) #6b5a2a,0 1px 0 #0006}
.dr-mini{display:inline-grid;grid-template:repeat(3,1fr)/repeat(3,1fr);width:22px;height:22px;padding:3px;border-radius:5px;background:linear-gradient(145deg,#fffef4,#e4d7b0);box-shadow:inset 0 0 0 1px #fff9,0 1px 2px #000a}
.dr-mini b.on{background:radial-gradient(circle at 36% 30%,#555,#0c0c0c 60%);border-radius:50%;margin:.5px}
.dr-sicbo .dr-mini.f1 b.on,.dr-sicbo .dr-mini.f4 b.on{background:radial-gradient(circle at 36% 30%,#ff6a5e,#b3121a 60%)}
.dr-siete .dr-mini.f1 b.on{background:radial-gradient(circle at 36% 30%,#ff6a5e,#b3121a 60%)}

/* cubilete */
.dr-copa{position:absolute;left:50%;top:52%;width:calc(var(--d)*2);transform:translate(-50%,-50%);z-index:2;filter:drop-shadow(0 8px 8px #000a);transition:left .6s cubic-bezier(.3,.8,.3,1),top .6s cubic-bezier(.3,.8,.3,1),transform .6s cubic-bezier(.3,.8,.3,1)}
.dr-copa svg,.dr-copa img{display:block;width:100%;height:auto}
.dr-copa.lado{left:90%;top:17%;transform:translate(-50%,-50%) rotate(-105deg) scale(.5)}

/* botón entre los dados y la mesa */
.dr-mando{flex:none;display:flex;gap:.55rem;align-items:center;justify-content:center;padding:.3rem .6rem .45rem;position:relative;z-index:6}
.dr-tirar{flex:1;max-width:250px;font-size:1rem;padding:.5rem 1rem;letter-spacing:.06em;text-transform:uppercase;display:flex;gap:.5rem;justify-content:center;align-items:baseline}
.dr-tirar b{font-size:.9rem;letter-spacing:0}
.dr-lado{width:38px;height:38px;padding:0;border-radius:50%;font-size:1.15rem;line-height:1;display:grid;place-items:center}

/* mesa de apuestas */
.dr-mesa{flex:none;position:relative;z-index:3;margin:0 .45rem;padding:.35rem;border-radius:16px;display:flex;flex-direction:column;gap:4px;
  background:radial-gradient(120% 120% at 50% 0,#176a3c,#0e4a2a 60%,#093520);border:2px solid #b8860b99;box-shadow:inset 0 0 22px #000a,0 6px 16px #000a}
.dr-sicbo .dr-mesa{background:radial-gradient(120% 120% at 50% 0,#17603a,#0c4026 60%,#082c1a)}
.dr-fila{display:grid;gap:4px}.dr-fila.f3{grid-template-columns:repeat(3,1fr)}.dr-fila.f5{grid-template-columns:repeat(5,1fr)}.dr-fila.f6{grid-template-columns:repeat(6,1fr)}.dr-fila.f7{grid-template-columns:repeat(7,1fr)}
.dr-c{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;min-height:38px;padding:.12rem .1rem;border-radius:9px;color:#f5ecd2;
  background:linear-gradient(180deg,#ffffff14,#0000 55%),#0b3d24;border:1px solid #d4a62a88;font:700 .74rem Georgia,serif;line-height:1.1;text-align:center;touch-action:manipulation}
.dr-c:active{transform:translateY(1px);filter:brightness(1.2)}
.dr-c small{font:600 .6rem "Segoe UI",system-ui;color:#cdbf98}
.dr-c em{font:700 .66rem "Segoe UI",system-ui;font-style:normal;color:#ffc627}
.dr-c.oro{background:linear-gradient(180deg,#ffffff1c,#0000 55%),#5a1020;border-color:#ffc627}
.dr-c.num{min-height:34px}.dr-c.num .dr-ct{font-size:1rem}
.dr-c.mini{min-height:40px}.dr-c.mini2{min-height:40px}
.dr-c.mini2 .dr-ct{display:flex;gap:2px}
.dr-c.con{border-color:#ffc627;box-shadow:0 0 0 1px #ffc627aa,0 0 10px #ffc62766}
.dr-c.gana{border-color:#fff2a8;box-shadow:0 0 0 2px #ffc627,0 0 16px #ffc627;animation:dr-pulso .8s ease-in-out 3}
@keyframes dr-pulso{50%{filter:brightness(1.5)}}
.dr-ap{position:absolute;right:2px;top:2px;display:flex;align-items:center;pointer-events:none;z-index:2}
.dr-ap:empty{display:none}
.dr-ap .rp-ficha{display:none}
.dr-ap>b{font:700 .58rem Georgia,serif;background:linear-gradient(180deg,#ffe58a,#c99a2a);border-radius:999px;padding:0 6px;color:#1a1200;box-shadow:0 1px 3px #000a;white-space:nowrap}
.dr-tit{font:600 .56rem "Segoe UI",system-ui;letter-spacing:.04em;text-transform:uppercase;color:#cdbf98;padding:0 .2rem;line-height:1}
.dr-tabs{display:flex;gap:4px}
.dr-tabs button{flex:1;border:1px solid #d4a62a66;background:#00000055;color:#cdbf98;border-radius:999px;padding:.14rem .3rem;font:700 .7rem "Segoe UI",system-ui}
.dr-tabs button.sel{background:linear-gradient(180deg,#ffe58a,#c99a2a);color:#1a1200;border-color:#ffe08a}
.dr-tabc{display:flex;flex-direction:column;gap:4px;min-height:190px}
.dr-nota{font:600 .68rem "Segoe UI",system-ui;color:#cdbf98;text-align:center;margin-top:4px}
.dr-cubilete .dr-mesa{display:grid;grid-template-columns:1.35fr 1fr;gap:6px;align-items:stretch}
.dr-pago{display:flex;flex-direction:column;gap:2px}
.dr-mano{display:flex;justify-content:space-between;align-items:center;padding:.12rem .5rem;border-radius:7px;background:#0b3d24;border:1px solid #d4a62a55;font:600 .74rem Georgia,serif;color:#f5ecd2}
.dr-mano b{color:#ffc627}.dr-mano.nada{opacity:.7}
.dr-mano.gana{border-color:#fff2a8;box-shadow:0 0 0 2px #ffc627,0 0 14px #ffc627;animation:dr-pulso .8s ease-in-out 3}
.dr-caja{min-height:120px;gap:.3rem;border-style:dashed;border-width:2px;border-color:#ffc627aa}
.dr-caja .dr-ct{font:700 .8rem Georgia,serif;color:#ffe9a8}
.dr-caja .rp-pila{margin-top:.2rem}
.dr-caja .dr-ap{position:static;margin-top:.1rem}
.dr-caja .dr-ap .rp-ficha{display:none}
.dr-caja .dr-ap>b{font-size:.85rem}

/* fichas */
.dr-fichas{flex:none;padding:.15rem 0 calc(.3rem + env(safe-area-inset-bottom));position:relative;z-index:6;display:flex;gap:.3rem;justify-content:center}
.dr-fichas .rp-ficha{--t:36px!important}
.dr-modal{text-align:left}.dr-modal h2,.dr-modal>p:first-of-type{text-align:center}
.dr-reg{list-style:none;padding:0;margin:.5rem 0}.dr-reg li{display:flex;justify-content:space-between;gap:.5rem;padding:.2rem 0;border-bottom:1px solid #ffffff18;font-size:.88rem}.dr-reg b{color:var(--oro,#ffc627)}
.dr-pantalla .rp-titulo{flex:1 1 0;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.8rem;letter-spacing:0}
.dr-reglas{width:30px;height:30px;padding:0;border-radius:50%;font:700 .95rem Georgia,serif;display:grid;place-items:center}
.dr-pantalla .rp-barra{gap:.4rem;padding:.3rem .55rem}
.dr-pantalla .rp-casino{padding:.28rem .6rem;font-size:.78rem}
.dr-pantalla .rp-barra .saldo{font-size:.8rem!important;padding:.15rem .55rem!important}
.dr-mesa{padding:.45rem .35rem .3rem}
.dr-pantalla .rp-sub,.dr-pantalla .rp-barra>span[style*="flex:1"]{display:none}
.dr-caja .dr-ap{right:auto;top:auto}
.dr-fila.f3 .dr-ap{top:auto;bottom:2px}
