/* Mines Royal: tablero de mármol y oro, gemas y minas dibujadas por código. Móvil vertical primero (~390 px de ancho, ~664 de alto útil):
   datos → tablero → resumen → mando → fichas. El tamaño del tablero lo mide el JS (--lado) para que todo quepa sin desplazar. */
.mn-pantalla{background:var(--rp-fondo,none) center/cover no-repeat,radial-gradient(560px 420px at 50% 22%,#3b2a0e66 0,#0000 70%),linear-gradient(180deg,#0a0806,#120d08 55%,#050403)}
.mn-pantalla .rp-cuerpo{padding:.25rem .45rem calc(.2rem + env(safe-area-inset-bottom));gap:.25rem}
.mn-info{flex:none;display:grid;grid-template-columns:1.25fr 1.1fr 1fr .8fr;gap:4px;position:relative;z-index:3}
.mn-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}
.mn-c small{display:block;font:600 .56rem "Segoe UI",system-ui;letter-spacing:.07em;text-transform:uppercase;color:#bfae7e}
.mn-c b{display:block;font:700 .98rem Georgia,serif;color:#ffe9a8;line-height:1.15;white-space:nowrap}
.mn-c:first-child b{color:#ffc627}
.mn-zona{flex:1 1 0;min-height:120px;display:flex;align-items:center;justify-content:center;position:relative;z-index:2}
.mn-marco{--lado:300px;position:relative;width:var(--lado);height:var(--lado);box-sizing:border-box;padding:calc(var(--lado)*.032);border-radius:calc(var(--lado)*.05);
  background:linear-gradient(145deg,#fff0a8,#e2b53a 28%,#7a5510 52%,#d9a53a 78%,#6b4a06);box-shadow:0 14px 30px #000c,inset 0 0 0 1px #fff3b066,inset 0 2px 3px #fff8}
.mn-marco::before{content:"";position:absolute;inset:calc(var(--lado)*.02);border-radius:calc(var(--lado)*.04);background:#0c0905;box-shadow:inset 0 0 14px #000}
.mn-sello{position:absolute;left:50%;top:50%;width:46%;transform:translate(-50%,-50%);opacity:.0;pointer-events:none}
.mn-tablero{position:relative;z-index:1;width:100%;height:100%;display:grid;grid-template:repeat(5,1fr)/repeat(5,1fr);gap:calc(var(--lado)*.014);perspective:900px;
  padding:calc(var(--lado)*.01);box-sizing:border-box}
.mn-cas{position:relative;display:block;padding:0;border:0;background:none;min-width:0;min-height:0;transform-style:preserve-3d;transition:transform .5s cubic-bezier(.3,.7,.3,1);touch-action:manipulation;cursor:pointer;-webkit-tap-highlight-color:transparent}
.mn-cas.volteada{transform:rotateY(180deg)}
.mn-cara{position:absolute;inset:0;border-radius:calc(var(--lado)*.022);backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden}
.mn-frente{background:var(--mn-losa) 0 0/500% 500%,#ece6d8;
  box-shadow:inset 0 1px 0 #fff,inset 0 -3px 5px #5a4a3044,inset 0 0 0 1px #c9a75a99,0 2px 3px #000a}
.mn-frente::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#ffffff88 0,#ffffff00 38%,#0000 62%,#0000001c 100%);pointer-events:none}
.mn-cas:not(.volteada):not(:disabled):active .mn-frente{filter:brightness(.92);transform:translateY(1px)}
.mn-cas:not(.volteada):hover .mn-frente{box-shadow:inset 0 1px 0 #fff,inset 0 -3px 5px #5a4a3044,inset 0 0 0 1.5px #e2b53a,0 0 10px #ffc62755,0 2px 3px #000a}
.mn-dorso{transform:rotateY(180deg);display:grid;place-items:center;background:radial-gradient(90% 90% at 50% 40%,#1d1d22 0,#08080a 100%),var(--mn-onix) 0 0/300% 300%;
  box-shadow:inset 0 0 0 1px #d4a62acc,inset 0 0 12px #000,0 1px 3px #000}
.mn-dorso::before{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(70% 60% at 50% 38%,#ffd86a22,#0000 70%)}
.gema-svg,.mina-svg{position:relative;display:block;width:86%;height:86%;filter:drop-shadow(0 2px 3px #000c)}
.mn-cas.volteada .gema-svg{animation:mn-pop .45s cubic-bezier(.2,1.5,.4,1) both .12s}
.mn-cas.volteada .mina-svg{animation:mn-pop .35s cubic-bezier(.2,1.5,.4,1) both .1s}
@keyframes mn-pop{from{transform:scale(.3) rotate(-20deg);opacity:0}to{transform:none;opacity:1}}
.gema-chispa{transform-origin:50% 50%;animation:mn-brilla 1.9s ease-in-out infinite}.gema-chispa .c2{animation:mn-brilla 1.9s ease-in-out infinite .8s}
@keyframes mn-brilla{0%,100%{opacity:.15}45%{opacity:1}}
.mina-chispa{animation:mn-mecha .22s steps(2) infinite alternate}
@keyframes mn-mecha{from{opacity:.75}to{opacity:1}}
.mn-cas.fantasma .mn-dorso{filter:saturate(.55) brightness(.62)}
.mn-cas.fantasma.es-mina .mn-dorso{filter:brightness(.8)}
.mn-cas.espera .mn-frente{animation:mn-espera .7s ease-in-out infinite}
@keyframes mn-espera{50%{box-shadow:inset 0 1px 0 #fff,inset 0 0 0 2px #ffc627,0 0 14px #ffc627aa}}
.mn-cas.estalla .mn-dorso{background:radial-gradient(90% 90% at 50% 40%,#7a0e0e 0,#1a0404 100%);box-shadow:inset 0 0 0 2px #ff5a3c,inset 0 0 18px #ff2a00aa,0 0 16px #ff4a1caa}
.mn-tablero.sacude{animation:mn-sacude .55s cubic-bezier(.3,.1,.3,1)}
@keyframes mn-sacude{10%{transform:translate(-5px,2px)}25%{transform:translate(5px,-3px)}40%{transform:translate(-4px,-2px)}55%{transform:translate(3px,3px)}70%{transform:translate(-2px,1px)}100%{transform:none}}
.mn-flash{position:absolute;z-index:4;width:12px;height:12px;border-radius:50%;pointer-events:none;opacity:0;transform:translate(-50%,-50%) scale(0);
  background:radial-gradient(closest-side,#fff 0,#ffe08a 25%,#ff7a1a 55%,#ff3a0033 80%,#0000 100%)}
.mn-flash.va{animation:mn-flash .75s ease-out forwards}
@keyframes mn-flash{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}60%{opacity:.85}100%{opacity:0;transform:translate(-50%,-50%) scale(20)}}
.mn-esq{position:absolute;z-index:5;width:var(--w);height:var(--w);pointer-events:none;background:linear-gradient(135deg,#f7e08a,#7a5510);clip-path:polygon(0 30%,60% 0,100% 55%,40% 100%)}
.mn-esq:nth-child(3n){background:linear-gradient(135deg,#444,#050505)}
.mn-dato{flex:none;height:56px;overflow:hidden;display:flex;align-items:center;justify-content:center;flex-direction:column;position:relative;z-index:3}
.mn-dato .rj-res{margin:0;width:100%;max-width:24rem}.mn-dato .rj-c{padding:.15rem .2rem}
.mn-pista{font:600 .76rem "Segoe UI",system-ui;text-align:center;color:#cdbf98;padding:0 .4rem}
.mn-verif{display:flex;gap:.5rem;align-items:center;justify-content:center;font-size:.64rem;color:#a99a72;margin-top:1px}
.mn-vbtn{border:1px solid #b8860b88;background:#1b1710;color:#ffe9a8;border-radius:999px;padding:.02rem .55rem;font:600 .64rem "Segoe UI"}
.mn-mando{flex:none;display:flex;flex-direction:column;gap:5px;position:relative;z-index:6}
.mn-fila{display:flex;align-items:center;gap:5px;justify-content:center}
.mn-p{width:38px;height:34px;padding:0;border-radius:11px;font-size:1.05rem;line-height:1;display:grid;place-items:center}
.mn-valor{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}
.mn-valor small{display:block;font:600 .52rem "Segoe UI";letter-spacing:.08em;text-transform:uppercase;color:#bfae7e}
.mn-valor b{font:700 1rem Georgia,serif;color:#ffe9a8}
.mn-etq{font:700 .74rem "Segoe UI";letter-spacing:.06em;text-transform:uppercase;color:#cdbf98;min-width:2.9rem}
.mn-nm{min-width:1.7rem;text-align:center;font:700 1.15rem Georgia,serif;color:#ffc627}
.mn-rapidas{display:flex;gap:4px;margin-left:4px}
.mn-rapidas button{width:30px;height:30px;border-radius:50%;border:1px solid #b8860b88;background:linear-gradient(180deg,#2c2415,#120e07);color:#ffe9a8;font:700 .74rem Georgia,serif;padding:0}
.mn-rapidas button.sel{background:linear-gradient(180deg,#ffe58a,#c8921a);color:#1a1200;border-color:#fff3b0}
.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}
.mn-gran b{font-size:.92rem;letter-spacing:0}
.mn-azar{padding:.4rem 1rem;font-size:.8rem}
.mn-fichas{flex:none;position:relative;z-index:6}
.mn-fichas .rp-ficha,.pk-fichas .rp-ficha{--t:34px!important}
.mn-fichas.rp-bandeja,.pk-fichas.rp-bandeja{padding:0 0 2px}
.mn-reglas{width:30px;height:30px;padding:0;border-radius:50%;font-size:.95rem}
.mn-modal .mn-hash{word-break:break-all;font:600 .66rem ui-monospace,Consolas,monospace;color:#e8dcb5;margin:.3rem 0}
.mn-hash small{display:block;font:600 .56rem "Segoe UI";color:#a99a72;letter-spacing:.06em;text-transform:uppercase}
.mn-ok{color:#4cd37a;font-weight:700}.mn-mal{color:#ff6a5e;font-weight:700}
@media(prefers-reduced-motion:reduce){.mn-cas,.mn-tablero.sacude{transition:none;animation:none}}
.mn-pantalla .rp-titulo,.pk-pantalla .rp-titulo{white-space:nowrap;font-size:.95rem}
.mn-dato .rj-nota:not(.mn-verif){display:none}
.mn-cod{font:600 .62rem ui-monospace,Consolas,monospace;color:#cdbf98}
.pk-rr{color:#ffc627;font-family:Georgia,serif}
