/* Mesas en línea, apuesta relámpago y cofre de casino */

/* ───────── lobby de mesas ───────── */
.ol-warn{border-style:solid;border-color:rgba(242,193,78,.55);background:rgba(242,193,78,.1);color:var(--fg);font-weight:600}
.ol-hk{margin-bottom:12px}
.ol-t.play{opacity:.78}
.ol-t.cd{border-color:rgba(22,192,138,.55);box-shadow:0 0 0 1px rgba(22,192,138,.25),0 18px 40px -24px rgba(22,192,138,.6)}
.ol-st{color:var(--muted);min-height:2.6em}
.ol-st b{color:var(--win-t,#16C08A);font-family:var(--mono)}
.ol-lv{display:grid;gap:10px;padding:14px}
.ol-lv.compact{padding:10px;background:#0b1c3ab3}
.ol-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:12px;background:rgba(111,162,255,.07);border:1px solid var(--line)}
.ol-row .grow{display:grid;min-width:0}
.ol-row .grow b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ol-row small{color:var(--muted);font-size:12px}
.ol-code{font-family:var(--mono);font-size:clamp(30px,8vw,40px);font-weight:700;letter-spacing:.18em;color:#FFE08A;padding:6px 0;text-shadow:0 0 18px rgba(242,193,78,.5)}
.ol-seated{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.ol-seated>span{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;padding:4px 10px 4px 4px;border-radius:99px;background:rgba(255,255,255,.07)}
.ol-left{position:absolute;left:50%;top:8px;transform:translateX(-50%);z-index:40;font-size:11px;font-weight:700;padding:4px 10px;border-radius:99px;background:rgba(0,0,0,.55);color:#F3E6C4;white-space:nowrap;max-width:90%;overflow:hidden;text-overflow:ellipsis}

/* ───────── apuesta relámpago ───────── */
.fl-box{padding:16px;display:grid;gap:14px;color:#F4F2ED;background:radial-gradient(500px 220px at 100% 0,rgba(181,108,255,.35),transparent 60%),radial-gradient(400px 220px at 0 100%,rgba(242,193,78,.22),transparent 60%),linear-gradient(135deg,#2A1458,#120A33 60%,#0A0A24);border:1px solid rgba(242,193,78,.45);box-shadow:0 20px 50px -30px rgba(181,108,255,.8)}
.fl-head{display:flex;align-items:center;gap:12px}
.fl-bolt{width:46px;height:46px;flex:none;border-radius:14px;display:grid;place-items:center;color:#2A1458;background:linear-gradient(135deg,#FFF1B8,#F2C14E 55%,#E39A1C);box-shadow:0 0 22px rgba(242,193,78,.55);animation:flPulse 1.8s ease-in-out infinite}
.fl-bolt svg{width:26px;height:26px}
@keyframes flPulse{50%{box-shadow:0 0 34px rgba(242,193,78,.9);transform:scale(1.05)}}
.fl-pool{display:grid;gap:10px}
.fl-bar{height:10px;border-radius:99px;background:rgba(255,255,255,.1);overflow:hidden}
.fl-bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#B56CFF,#F2C14E);box-shadow:0 0 12px rgba(242,193,78,.6);transition:width .6s}
.fl-pool .kv{background:rgba(0,0,0,.25)}
.fl-buy{height:50px;font-size:15px;gap:8px}
.fl-buy svg{width:18px;height:18px}
.fl-envs{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px}
.fl-env{position:relative;display:grid;place-items:center;gap:4px;min-height:112px;padding:10px 6px;border-radius:14px;text-align:center;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12)}
.fl-env small{font-size:11px;color:#CFC3E8}
.fl-env.sealed{cursor:pointer;background:linear-gradient(160deg,#B5462A,#6E2210);border:2px solid #F2C14E;box-shadow:0 0 18px rgba(242,193,78,.35);animation:flPulse 2s ease-in-out infinite;color:#FFF1B8}
.fl-env.sealed b{font-family:var(--display);font-style:italic;text-transform:uppercase;font-size:14px}
.fl-q{font-family:var(--display);font-weight:900;font-size:34px;line-height:1;color:#FFE08A;text-shadow:0 2px 0 #6E2210,0 0 14px rgba(255,224,138,.8)}
.fl-env.win{border-color:#16C08A;box-shadow:0 0 18px rgba(22,192,138,.5)}
.fl-logo{display:grid;justify-items:center;gap:4px}
.fl-logo img{width:56px;height:56px;object-fit:contain}
.fl-logo.big img{width:120px;height:120px}
.fl-logo small{font-size:11px;font-weight:700;color:#F4F2ED;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.fl-name{font-family:var(--display);font-weight:900;font-style:italic;font-size:15px;line-height:1.1;word-break:break-word}
.fl-hist{display:grid;gap:6px}
.fl-h{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px}
.fl-warn{font-size:12.5px;padding:10px 12px;border-radius:12px;background:rgba(239,91,91,.12);border:1px solid rgba(239,91,91,.4);color:#FFD9D9}
.fl-tag{position:absolute;top:10px;right:10px;display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 8px;border-radius:99px;font-size:11px;font-weight:800;color:#2A1458;background:linear-gradient(135deg,#FFF1B8,#F2C14E);box-shadow:0 0 12px rgba(242,193,78,.6)}
.fl-tag svg{width:12px;height:12px}
.card.tour{position:relative}
.fl-mini{width:34px;height:34px;flex:none;border-radius:10px;display:grid;place-items:center;font-weight:800;font-size:12px;background:rgba(111,162,255,.12);overflow:hidden}
.fl-mini img{width:100%;height:100%;object-fit:contain}

/* ───────── cofre estilo máquina de casino ───────── */
#flfx{position:fixed;inset:0;z-index:300;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 50% 45%,#3A1A6B,#120630 55%,#05020F);animation:fade .3s both;color:#fff;padding:16px}
#flfx.out{opacity:0;transition:opacity .3s}
#flfx.flash::after{content:"";position:absolute;inset:0;background:#FFF7D6;pointer-events:none;animation:fxFlash .6s ease-out forwards}
@keyframes fxFlash{0%{opacity:.95}100%{opacity:0}}
.fx-rays{position:absolute;left:50%;top:46%;width:180vmax;height:180vmax;margin:-90vmax 0 0 -90vmax;background:repeating-conic-gradient(from 0deg,rgba(242,193,78,.16) 0 9deg,transparent 9deg 18deg);animation:fxSpin 14s linear infinite;pointer-events:none}
@keyframes fxSpin{to{transform:rotate(360deg)}}
.fx-bulbs{position:absolute;left:0;right:0;display:flex;justify-content:space-around;padding:0 6px;pointer-events:none}
.fx-bulbs.top{top:calc(10px + env(safe-area-inset-top))}
.fx-bulbs.bot{bottom:calc(10px + env(safe-area-inset-bottom))}
.fx-bulbs i{width:12px;height:12px;border-radius:50%;background:#FFE08A;box-shadow:0 0 10px #FFC93C,0 0 22px #FF8A00;animation:fxBulb .9s steps(1) infinite;animation-delay:calc(var(--i) * -.15s)}
.fx-bulbs i:nth-child(3n){background:#FF5C8A;box-shadow:0 0 10px #FF5C8A,0 0 22px #E8325A}
.fx-bulbs i:nth-child(3n+1){background:#7FE3FF;box-shadow:0 0 10px #7FE3FF,0 0 22px #3BA7FF}
@keyframes fxBulb{50%{opacity:.18;box-shadow:none}}
.fx-stage{position:relative;z-index:2;display:grid;justify-items:center;gap:14px;width:min(420px,100%);text-align:center}
.fx-title{display:flex;align-items:center;gap:8px;font-family:var(--display);font-weight:900;font-style:italic;font-size:clamp(20px,6vw,30px);letter-spacing:.04em;color:#FFE08A;text-shadow:0 0 10px #FF8A00,0 0 28px #FF5C00,0 3px 0 #7A2E00;animation:fxNeon 1.2s ease-in-out infinite}
.fx-title span{width:24px;height:24px;color:#FFE08A;filter:drop-shadow(0 0 8px #FF8A00)}
.fx-title svg{width:100%;height:100%}
@keyframes fxNeon{50%{text-shadow:0 0 4px #FF8A00,0 0 12px #FF5C00,0 3px 0 #7A2E00;opacity:.9}}
.fx-sub{font-size:13px;color:#D8CBF2;margin-top:-8px}
.fx-chest{width:min(240px,62vw);transition:width .5s cubic-bezier(.2,1.2,.4,1),margin .5s;filter:drop-shadow(0 0 30px rgba(242,193,78,.45))}
.fx-chest.small{width:min(120px,30vw);margin-bottom:-6px}
.chest-svg{display:block;width:100%;height:auto;overflow:visible}
.chest-lid{transform-origin:22px 94px;transition:transform .55s cubic-bezier(.2,1.6,.4,1)}
.chest-glow{opacity:0;transition:opacity .3s}
.fx-chest.shake{animation:fxShake .12s linear infinite}
.fx-chest.shake .chest-glow{opacity:.8}
.fx-chest.shake .chest-lid{transform:rotate(-4deg)}
@keyframes fxShake{0%{transform:translate(0,0) rotate(0)}25%{transform:translate(-4px,1px) rotate(-3deg)}50%{transform:translate(3px,-2px) rotate(2deg)}75%{transform:translate(-2px,2px) rotate(-1deg)}100%{transform:translate(0,0) rotate(0)}}
.fx-chest.open .chest-lid{transform:rotate(-118deg) translate(-8px,-6px)}
.fx-chest.open .chest-glow{opacity:1}
.fx-reel{position:relative;width:min(300px,82vw);padding:10px;border-radius:22px;background:linear-gradient(180deg,#FFF1B8,#F2C14E 40%,#A8741A);box-shadow:0 0 0 4px #5B3A08,0 0 40px rgba(242,193,78,.6),inset 0 2px 0 #fff;animation:sheetIn .4s cubic-bezier(.2,1.3,.4,1) both}
.fx-win{position:relative;height:150px;overflow:hidden;border-radius:14px;background:linear-gradient(180deg,#0A0A24,#1E0F45 50%,#0A0A24);box-shadow:inset 0 0 24px #000}
.fx-win::before,.fx-win::after{content:"";position:absolute;left:0;right:0;height:40px;z-index:2;pointer-events:none}
.fx-win::before{top:0;background:linear-gradient(#0A0A24,transparent)}
.fx-win::after{bottom:0;background:linear-gradient(transparent,#0A0A24)}
.fx-strip{will-change:transform}
.fx-it{height:150px;display:grid;place-content:center;justify-items:center;gap:6px;padding:0 10px}
.fx-it b{font-family:var(--display);font-weight:900;font-style:italic;font-size:clamp(22px,7vw,30px);line-height:1.05;color:#fff;text-shadow:0 0 12px rgba(181,108,255,.8);word-break:break-word}
.fx-it img{width:96px;height:96px;object-fit:contain;filter:drop-shadow(0 0 10px rgba(255,255,255,.35))}
.fx-it small{font-size:12px;font-weight:700;color:#E6DCF7}
.fx-arrow{position:absolute;top:50%;width:0;height:0;margin-top:-12px;border:12px solid transparent;z-index:3}
.fx-arrow.l{left:-6px;border-left:16px solid #E8325A;filter:drop-shadow(0 0 6px #E8325A)}
.fx-arrow.r{right:-6px;border-right:16px solid #E8325A;filter:drop-shadow(0 0 6px #E8325A)}
.fx-reel.land{animation:fxLand .7s cubic-bezier(.2,1.6,.4,1) both}
.fx-reel.land .fx-win{box-shadow:inset 0 0 24px #000,0 0 0 3px #16C08A,0 0 30px rgba(22,192,138,.8)}
@keyframes fxLand{0%{transform:scale(1)}40%{transform:scale(1.08)}100%{transform:scale(1)}}
.fx-res{display:grid;justify-items:center;gap:8px;animation:sheetIn .5s cubic-bezier(.2,1.4,.4,1) both}
.fx-got{font-family:var(--display);font-weight:900;font-style:italic;font-size:clamp(34px,11vw,52px);line-height:1;color:#FFE08A;text-shadow:0 0 14px #FF8A00,0 0 34px #FF5C00,0 4px 0 #7A2E00;animation:fxNeon 1s ease-in-out infinite}
.fx-team{display:none}
.fx-btns{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.fx-btns .btn{min-width:150px;height:50px;font-size:16px}
.fx-open{animation:flPulse 1.4s ease-in-out infinite}
.fx-conf{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:3}
@media (prefers-reduced-motion:reduce){.fx-rays,.fx-bulbs i,.fl-bolt,.fl-env.sealed,.fx-title,.fx-got,.fx-open{animation:none}}
#flfx.reeling .fx-sub{display:none}
#flfx.reeling .fx-stage{gap:10px}
@media (max-height:720px){
  .fx-title{font-size:clamp(18px,5vw,24px)}
  .fx-chest{width:min(200px,50vw)}
  .fx-chest.small{width:84px;margin-bottom:-10px}
  .fx-win,.fx-it{height:120px}
  .fx-it img{width:76px;height:76px}
  .fx-got{font-size:clamp(30px,9vw,42px)}
}

/* ───────── turno, revancha y efectos de mesa ───────── */
.tbl.ol-tbl.myturn{animation:olAura 2.6s ease-in-out infinite}
@keyframes olAura{0%,100%{box-shadow:0 0 0 2px #2be0a64d,0 0 22px #2be0a633}50%{box-shadow:0 0 0 2px #2be0a699,0 0 46px #2be0a666}}
.ol-myarea{border-radius:14px;background:rgba(43,224,166,.05);box-shadow:0 0 0 1px rgba(43,224,166,.3),0 0 28px rgba(43,224,166,.18)}
.m-mid>.pc.ol-aura{box-shadow:0 0 0 2px #2BE0A6,0 0 24px rgba(43,224,166,.55)}
.ol-tbl .m-col.valid{animation:none}
/* la mano perdedora se cierra sobre su primera carta */
.m-col.mc-closed{outline-color:transparent}
.m-col.mc-closed .pc{transform:translateY(calc(var(--k) * var(--cw) * -.44));filter:brightness(.55) grayscale(.4)}
.m-col.mc-anim .pc{animation:mcClose .6s cubic-bezier(.55,0,.3,1) both}
@keyframes mcClose{from{transform:translateY(0);filter:none}}
.ol-score{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px 10px;padding:8px 10px;border-radius:12px;background:rgba(0,0,0,.28);font-size:13px}
.ol-score>span{font-size:11px;font-weight:800;letter-spacing:.1em;color:#F2C14E;text-transform:uppercase}
.ol-score b{font-family:var(--mono)}
.ol-score i{font-style:normal;opacity:.6}
.ol-score small{color:var(--muted);font-size:11px}
.ol-score.top{position:absolute;left:50%;top:6px;transform:translateX(-50%);z-index:20;padding:4px 10px;white-space:nowrap}
.ol-vote{display:flex;align-items:center;gap:12px;text-align:left}
.ol-peek{position:absolute;right:8px;bottom:6px;z-index:25;height:30px;padding:0 14px;border-radius:99px;font-size:12px;font-weight:800;color:#06204A;background:#F2C14E;box-shadow:0 4px 14px rgba(0,0,0,.4)}
.ol-fly{position:absolute;left:0;top:0;z-index:30;pointer-events:none;margin:calc(var(--cw) * -.7) 0 0 calc(var(--cw) * -.5)}
.ol-fly .pc{box-shadow:0 10px 24px rgba(0,0,0,.55),0 0 18px rgba(242,193,78,.45)}

/* avisos de las mesas en línea sin animación (se redibujan cada segundo) */
.ol-tbl .g-over,.ol-tbl .g-card{animation:none!important}
/* baraja a todo color: pica negra, corazón rojo, diamante azul, trébol verde */
.inv .pc.su2:not(.back){--sc:#1F5FD1}
.inv .pc.su3:not(.back){--sc:#138A3E}
/* marcador al centro de la mesa, escala con el tamaño de la carta */
.ol-mscore{display:inline-flex;align-items:center;gap:calc(var(--cw)*.08);padding:calc(var(--cw)*.05) calc(var(--cw)*.14);border-radius:99px;background:rgba(0,0,0,.35);font-size:clamp(9px,calc(var(--cw)*.22),13px);font-weight:800;line-height:1.2;white-space:nowrap;color:#F3E6C4;max-width:100%;overflow:hidden}
.ol-mscore b{font-family:var(--mono);color:#FFE08A}
.ol-mscore small{font-size:.85em;opacity:.7;font-weight:700}
.ol-tbl .m-mid{gap:calc(var(--cw)*.22)}

/* ───────── buscar evento y last longer privado ───────── */
.pl-find{display:flex;align-items:center;gap:8px;padding:6px 6px 6px 12px;border-radius:14px;background:var(--card,rgba(255,255,255,.04));border:1px solid rgba(217,182,111,.4)}
.pl-find .inp{flex:1;min-width:0;height:38px;border:0;background:transparent;padding:0;text-transform:uppercase;letter-spacing:.06em}
.pl-find .inp::placeholder{text-transform:none;letter-spacing:0}
.pl-find .pl-ic{width:18px;height:18px;display:block;flex:none;color:var(--gold-t)}
.pl-find .pl-ic svg{width:100%;height:100%}
.pl-find.compact{max-width:520px}
.pl-code{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12px;color:var(--muted);margin-top:6px}
.pl-code b{font-family:var(--mono);font-size:15px;letter-spacing:.14em;color:var(--gold-t)}
.pl-win{display:flex;align-items:center;gap:14px;border-color:rgba(242,193,78,.5);background:linear-gradient(135deg,rgba(242,193,78,.14),transparent)}
.li.pl-out{opacity:.6}
.pl-pay{cursor:pointer;border:0}

/* ───────── celular: que nada se aplaste ni se esconda ─────────
   Las filas con desplazamiento horizontal (pestañas, chips) pueden encogerse a 0
   dentro de ventanas o columnas con altura limitada. Se fija su alto natural. */
.sheet{grid-auto-rows:max-content;align-content:start;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.sheet>*,.stack>*,.g-card>*{min-height:min-content;flex-shrink:0}
.tabs,.chips{flex-shrink:0;min-height:max-content}
.scrim{padding:max(10px,env(safe-area-inset-top)) 0 0}
@media (max-width:560px){
  .scrim{align-items:end}
  .sheet{max-height:calc(100dvh - max(10px,env(safe-area-inset-top)));border-radius:22px 22px 0 0;border-bottom:0}
}

/* reto a un amigo: moneda como pestañas de color */
.ol-cur{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.ol-cur label{position:relative;display:grid;gap:2px;justify-items:center;text-align:center;padding:12px 6px;border-radius:14px;cursor:pointer;border:2px solid var(--line);background:rgba(255,255,255,.03);transition:transform .15s,border-color .2s,background .2s}
.ol-cur input{position:absolute;opacity:0;pointer-events:none}
.ol-cur b{font-size:15px;font-weight:900}
.ol-cur small{font-size:11px;color:var(--muted)}
.ol-cur-f b{color:#F2C14E}.ol-cur-cc b{color:#6FA2FF}.ol-cur-free b{color:#2BE0A6}
.ol-cur-f:has(input:checked){border-color:#F2C14E;background:rgba(242,193,78,.16);box-shadow:0 0 18px rgba(242,193,78,.25)}
.ol-cur-cc:has(input:checked){border-color:#6FA2FF;background:rgba(111,162,255,.16);box-shadow:0 0 18px rgba(111,162,255,.25)}
.ol-cur-free:has(input:checked){border-color:#2BE0A6;background:rgba(43,224,166,.14);box-shadow:0 0 18px rgba(43,224,166,.25)}
.ol-cur label:has(input:checked) small{color:var(--fg)}
.ol-cur label:has(input:focus-visible){outline:2px solid var(--fg);outline-offset:2px}
.ol-amt{display:grid;gap:6px}
.ol-amt button{height:40px;min-width:46px;padding:0 10px;border-radius:12px;font-weight:800;border:1px solid var(--line);background:rgba(255,255,255,.04)}
.ol-amt button.on{border-color:var(--gold);background:rgba(242,193,78,.16);color:#FFE08A}
.ol-amt .inp{width:96px;height:40px}
/* encabezado en celulares angostos: que quepa el botón de sesión */
@media (max-width:380px){
  .top{gap:6px}
  .top .brand img{max-width:96px;height:auto}
  .top .iconbtn{width:34px;height:34px}
  .top .btn-sm{padding:0 10px;font-size:12px;white-space:nowrap}
}
.ol-cur b{white-space:nowrap;font-size:clamp(13px,4.2vw,15px)}.ol-cur small{line-height:1.2}

/* ───────── ojo para ver la contraseña ───────── */
.pw-wrap{position:relative;display:block}
.pw-wrap>input{width:100%;padding-right:46px}
.pw-eye{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:38px;height:38px;display:grid;place-items:center;border-radius:10px;color:var(--muted,#9FB0CF);background:transparent;border:0;cursor:pointer}
.pw-eye svg{width:20px;height:20px}
.pw-eye:hover{color:var(--fg,#fff)}

/* ───────── tienda ───────── */
.sh-car{position:relative;aspect-ratio:4/3;overflow:hidden;background:#0a1a38;border-radius:inherit}
.sh-car.wide{aspect-ratio:16/9}
.sh-car img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .6s}
.sh-car img.on{opacity:1}
.sh-car.empty{display:grid;place-items:center}
.sh-car.empty span{width:64px;height:64px;display:block;opacity:.6}
.sh-dots{position:absolute;left:0;right:0;bottom:8px;display:flex;justify-content:center;gap:6px}
.sh-dots i{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.45)}
.sh-dots i.on{background:#fff;width:18px;border-radius:9px;transition:width .3s}
.sh-aff,.sh-item{display:flex;flex-direction:column;overflow:hidden;padding:0;text-decoration:none;color:inherit;width:100%}
.sh-aff>.sh-car,.sh-item>.sh-car{border-radius:0}
.sh-price{font-family:var(--mono);font-weight:800;font-size:18px;color:var(--gold-t,#D9B66F)}
.sh-price.big{font-size:24px;margin-top:4px}
.sh-desc{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sheet .sh-car{border-radius:16px}
.sh-opts{display:flex;flex-wrap:wrap;gap:8px}
.sh-opts label{cursor:pointer}
.sh-opts input{position:absolute;opacity:0;pointer-events:none}
.sh-opts span{display:inline-grid;place-items:center;min-width:46px;height:40px;padding:0 14px;border-radius:12px;font-weight:700;border:1px solid var(--line);background:rgba(255,255,255,.04)}
.sh-opts input:checked+span{border-color:var(--gold,#D9B66F);background:rgba(242,193,78,.16);color:#FFE08A}
.sh-opts input:focus-visible+span{outline:2px solid var(--fg);outline-offset:2px}
.sh-qty{display:flex;align-items:center;gap:8px}
.sh-qty button{width:44px;height:44px;border-radius:12px;font-size:22px;font-weight:800;border:1px solid var(--line);background:rgba(255,255,255,.04)}
.sh-qty .inp{width:80px;text-align:center}
.sh-thumbs{display:flex;flex-wrap:wrap;gap:8px}
.sh-thumbs>span{position:relative;width:78px;height:78px;border-radius:12px;overflow:hidden;border:1px solid var(--line)}
.sh-thumbs img{width:100%;height:100%;object-fit:cover}
.sh-thumbs button{position:absolute;top:3px;right:3px;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:rgba(0,0,0,.65);color:#fff}
.sh-thumbs button svg{width:14px;height:14px}
.sh-add{width:78px;height:78px;border-radius:12px;border:1.5px dashed var(--line2,rgba(255,255,255,.3));display:grid;place-content:center;justify-items:center;gap:2px;font-size:11px;color:var(--muted);cursor:pointer;position:relative}
.sh-add svg{width:20px;height:20px}
.sh-add input{position:absolute;width:1px;height:1px;opacity:0}
.sh-optadm{display:grid;gap:8px}
.sh-optrow{display:grid;grid-template-columns:minmax(150px,auto) 1fr;gap:10px;align-items:center}
@media (max-width:560px){.sh-optrow{grid-template-columns:1fr}}

/* last longer privado: aviso superior, botón de crear e invitación */
.pl-bar{position:relative;z-index:5;display:flex;align-items:center;gap:10px;width:100%;padding:9px 16px;border:0;border-bottom:1px solid rgba(242,193,78,.35);background:linear-gradient(90deg,rgba(242,193,78,.18),rgba(181,108,255,.14));color:var(--fg);font-size:13px;text-align:left;cursor:pointer}
.pl-bar b{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pl-bar-go{display:inline-flex;align-items:center;gap:2px;font-weight:800;color:var(--gold-t);flex:none}
.pl-cta{display:flex;align-items:center;gap:14px;width:100%;border-color:rgba(242,193,78,.5);background:linear-gradient(135deg,rgba(242,193,78,.16),rgba(181,108,255,.1))}
.pl-cta .grow{display:grid;gap:2px}
.pl-cta b{font-size:16px}
.pl-cta small{font-size:12px;color:var(--muted)}
.pl-cta>svg{width:20px;height:20px;flex:none}
.pl-cta-ic{width:44px;height:44px;flex:none;border-radius:12px;display:grid;place-items:center;color:#2A1458;background:linear-gradient(135deg,#FFF1B8,#F2C14E)}
.pl-cta-ic svg{width:22px;height:22px}
.pl-invite{border-color:rgba(43,224,166,.45)}
.pl-bigcode{font-family:var(--mono);font-size:clamp(28px,8vw,38px);font-weight:700;letter-spacing:.2em;text-align:center;color:#FFE08A;padding:4px 0}
.adm-frame{width:100%;height:min(82vh,900px);border:1px solid var(--line);border-radius:18px;background:#06122B}
/* campos de fecha y hora: que no se encimen en formularios angostos */
input[type=datetime-local].inp,input[type=date].inp{min-width:0;max-width:100%;width:100%}
.formgrid>.field{min-width:0}

/* Calcuta: eliminados en gris, en juego a color */
.li.is-out,.lotrow.is-out{filter:grayscale(1);opacity:.45}
.li.is-out .t,.lotrow.is-out .t{text-decoration:line-through;text-decoration-thickness:1px}
.li.is-in .ava,.lotrow.is-in .n{background:linear-gradient(135deg,#16C08A,#0B7A57);color:#fff;border-color:transparent}
.li.is-in .t,.lotrow.is-in .t{color:var(--fg)}

/* ───────── Blackjack ───────── */
body.bj-open{overflow:hidden}
.bj-room{position:fixed;inset:0;z-index:80;display:flex;flex-direction:column;background:#04140b;color:#F4F2ED}
.bj-top{display:flex;align-items:center;gap:10px;padding:calc(8px + env(safe-area-inset-top)) 12px 8px;background:linear-gradient(#020a06,#04140bcc);border-bottom:1px solid rgba(242,193,78,.25)}
.bj-top b{display:block;font-size:15px}.bj-top small{color:#c9b98f;font-size:12px}
.bjx{width:38px;height:38px;border-radius:12px;background:rgba(255,255,255,.08);color:#fff;font-size:20px;font-weight:800}
.bjbal{font-weight:800;color:#FFD54A;font-size:13px;white-space:nowrap;font-variant-numeric:tabular-nums}
.bj-body{flex:1;overflow:auto;padding:10px 10px calc(20px + env(safe-area-inset-bottom));display:grid;gap:12px;align-content:start;max-width:980px;width:100%;margin:0 auto}
.bjtable{border-radius:22px 22px 50% 50%/22px 22px 26% 26%;padding:10px;background:linear-gradient(160deg,#6b3f1a,#3a210c);box-shadow:0 18px 40px rgba(0,0,0,.6),inset 0 2px 0 rgba(255,255,255,.12)}
.bjfelt{position:relative;border-radius:16px 16px 50% 50%/16px 16px 26% 26%;min-height:420px;padding:14px 8px 34px;overflow:hidden;background:radial-gradient(ellipse 80% 60% at 50% 30%,#178a49 0%,#0d6334 45%,#073f20 100%);box-shadow:inset 0 0 0 2px rgba(242,193,78,.55),inset 0 0 60px rgba(0,0,0,.55)}
.bjfelt::before{content:"";position:absolute;left:50%;top:58%;width:78%;aspect-ratio:2/1;transform:translateX(-50%);border:1.5px solid rgba(242,193,78,.28);border-top:0;border-radius:0 0 50% 50%/0 0 100% 100%;pointer-events:none}
.bjarc{position:absolute;left:50%;top:118px;width:min(92%,520px);transform:translateX(-50%);pointer-events:none;opacity:.9}
.bjarc text{font:900 19px/1 "Archivo Black",system-ui,sans-serif;letter-spacing:.14em;fill:#F2C14E;paint-order:stroke;stroke:rgba(0,0,0,.35);stroke-width:2px}
.bjsub{position:absolute;left:0;right:0;top:186px;text-align:center;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,236,170,.7);pointer-events:none}
.bjshoe{position:absolute;right:12px;top:12px;width:44px;height:56px;border-radius:6px;background:repeating-linear-gradient(45deg,#b3202a 0 5px,#8e1720 5px 10px);border:3px solid #f4efe2;box-shadow:4px 4px 0 #2a1608,0 6px 14px rgba(0,0,0,.5);transform:rotate(8deg)}
.bjstack{position:absolute;left:14px;top:16px;display:grid}
.bjstack i{display:block;width:40px;height:10px;margin-top:-4px;border-radius:50%;background:#1f8a4c;border:2px dashed #fff;box-shadow:0 2px 0 #0b3d22}
.bjstack i:nth-child(2){background:#1f5fd1}.bjstack i:nth-child(3){background:#c62828}.bjstack i:nth-child(4){background:#111}
.bjdealer{display:flex;flex-direction:column;align-items:center;gap:6px;min-height:96px;position:relative;z-index:1}
.bjcs{display:flex;justify-content:center}
.bjc{--w:46px;width:var(--w);height:calc(var(--w)*1.42);border-radius:6px;background:#fff;color:#111;position:relative;flex:none;margin-left:calc(var(--w)*-.42);box-shadow:0 2px 6px rgba(0,0,0,.45);display:grid;place-items:center}
.bjc:first-child{margin-left:0}
.bjc b{position:absolute;top:2px;left:4px;font:800 calc(var(--w)*.32)/1 system-ui,sans-serif}
.bjc i{font-style:normal;font-size:calc(var(--w)*.5);line-height:1}
.bjc.sH{color:#d21f2b}.bjc.sD{color:#1F5FD1}.bjc.sC{color:#138A3E}.bjc.sS{color:#111}
.bjc.back{background:repeating-linear-gradient(45deg,#b3202a 0 5px,#8e1720 5px 10px);border:3px solid #f4efe2}
.bjc.ghost{background:transparent;box-shadow:inset 0 0 0 1.5px rgba(242,193,78,.35)}
.bjc.deal{animation:bjdeal .38s cubic-bezier(.2,.9,.3,1.2) both}
@keyframes bjdeal{from{transform:translate(60px,-80px) rotate(18deg) scale(.7);opacity:0}to{transform:none;opacity:1}}
.bj-room .tot{font-size:12px;font-weight:800;background:rgba(0,0,0,.55);padding:2px 9px;border-radius:99px;font-variant-numeric:tabular-nums}
.bj-room .tot.bust{background:#c62828}
.bjphase{position:relative;z-index:1;margin:118px auto 0;width:min(240px,70%);text-align:center;font-size:12px;font-weight:800;letter-spacing:.06em;color:#FFE08A}
.bjtimer{height:4px;border-radius:2px;background:rgba(0,0,0,.35);margin-top:5px;overflow:hidden}
.bjtimer i{display:block;height:100%;background:#2BE0A6;transition:width .25s linear}
.bjtimer i.y{background:#F2C14E}.bjtimer i.r{background:#ff5a5a}
.bjseats{position:relative;z-index:1;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));direction:rtl;gap:4px;margin-top:12px}
.bjseats>*{direction:ltr}
.bjseats>:nth-child(2),.bjseats>:nth-child(5){margin-top:30px}
.bjseats>:nth-child(3),.bjseats>:nth-child(4){margin-top:48px}
.bjs{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px;min-height:110px;padding:4px 2px;border-radius:12px;min-width:0}
.bjs.empty{justify-content:center;border:1.5px dashed rgba(242,193,78,.3);color:rgba(255,236,170,.55);font-size:11px;font-weight:700}
.bjs.turn{background:rgba(43,224,166,.14);box-shadow:0 0 0 2px #2BE0A6}
.bjs.me .bjn{background:#F2C14E;color:#1a1205}
.bjn{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:800;background:rgba(0,0,0,.5);padding:2px 7px;border-radius:99px}
.bjh{display:flex;flex-direction:column;align-items:center;gap:3px;padding:3px;border-radius:10px}
.bjh .bjc{--w:30px}
.bjh.act{box-shadow:0 0 0 2px #F2C14E}
.bjv{display:flex;gap:3px;align-items:center}
.bjv .chip,.bjbet{display:inline-grid;place-items:center;min-width:24px;height:24px;padding:0 4px;border-radius:50%;font-size:10.5px;font-weight:900;background:#F2C14E;color:#1a1205;border:2px dashed rgba(255,255,255,.75)}
.bjbet{width:32px;height:32px;font-size:12px}
.bjr{font-size:10px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;padding:2px 6px;border-radius:99px;white-space:nowrap}
.bjr.win{background:#16C08A;color:#03140d}.bjr.push{background:#9FB0CF;color:#06122B}.bjr.lose{background:#ef5b5b;color:#fff}
.bjctl{display:grid;gap:10px;justify-items:center;padding:12px;border-radius:18px;background:linear-gradient(180deg,#0b2316,#071a10);border:1px solid rgba(242,193,78,.2)}
.bjmsg{text-align:center;font-size:14px;color:#e8e2cf}
.bjmsg.big{font-size:20px;font-weight:900}.bjmsg.win{color:#2BE0A6}.bjmsg.lose{color:#ff8a8a}
.bjmine{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.bjh.big{background:rgba(255,255,255,.04)}.bjh.big .bjc{--w:54px}.bjh.big .tot{font-size:15px}
.bjrow{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;width:100%}
.bjbtn{min-height:48px;padding:0 18px;border-radius:12px;font-weight:900;font-size:15px;letter-spacing:.02em;background:transparent;color:#fff;box-shadow:inset 0 0 0 2px rgba(255,255,255,.75);flex:1 1 120px;max-width:220px}
.bjbtn.sm{min-height:34px;font-size:13px;padding:0 12px;flex:none}
.bjbtn.y{background:#FFC72C;color:#1a1205;box-shadow:0 4px 0 #b98a07}
.bjbtn.r{background:#e2483f;box-shadow:0 4px 0 #9b2a24}
.bjbtn.g{background:#16C08A;color:#03140d;box-shadow:0 4px 0 #0b7a57}
.bjbtn.w{background:#f4efe2;color:#1a1205;box-shadow:0 4px 0 #b9b1a0}
.bjbtn:active:not(:disabled){transform:translateY(2px)}
.bjbtn:disabled{opacity:.45}
.bjchips{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.bjchip{width:52px;height:52px;border-radius:50%;font-weight:900;font-size:15px;color:#fff;border:4px dashed rgba(255,255,255,.85);box-shadow:0 3px 0 rgba(0,0,0,.45),inset 0 0 0 3px rgba(0,0,0,.18)}
.bjchip.c1{background:#e9e4d6;color:#1a1205;border-color:#1F5FD1}.bjchip.c2{background:#1F5FD1}.bjchip.c5{background:#c62828}.bjchip.c10{background:#138A3E}
.bjchip.c25{background:#111}.bjchip.c50{background:#7b2fbf}.bjchip.c100{background:#F2C14E;color:#1a1205}
.bjchip:disabled{opacity:.35}
.bjd{background:#0b1f15;border:1px solid rgba(242,193,78,.18);border-radius:14px;padding:10px 14px}
.bjd summary{cursor:pointer;font-weight:800;color:#F2C14E}
.bjd ul{margin:8px 0 0;padding-left:18px;line-height:1.7;color:#cfc8b2;font-size:13px}
.bjfair{display:grid;gap:8px;margin-top:8px;font-size:12.5px}
.bjfair span{display:block;color:#a99f84;font-size:11.5px}
.bjfair code{word-break:break-all;color:#f4efe2;font-size:11.5px}
.vmsg{font-weight:700;line-height:1.5}.vmsg.ok{color:#2BE0A6}.vmsg.bad{color:#ff8a8a}
@media (max-width:520px){
  .bjfelt{min-height:380px;padding-top:10px}
  .bjarc{top:96px}.bjsub{top:150px;font-size:9.5px}
  .bjphase{margin-top:84px}
  .bjc{--w:40px}.bjh .bjc{--w:24px}.bjh.big .bjc{--w:50px}
  .bjseats>:nth-child(2),.bjseats>:nth-child(5){margin-top:20px}
  .bjseats>:nth-child(3),.bjseats>:nth-child(4){margin-top:32px}
  .bjstack,.bjshoe{transform:scale(.8);transform-origin:top}
  .bjchip{width:46px;height:46px;font-size:14px}
  .bjfelt{border-radius:16px 16px 40% 40%/16px 16px 12% 12%;padding-left:4px;padding-right:4px}
  .bjtable{border-radius:20px 20px 40% 40%/20px 20px 12% 12%;padding:7px}
  .bjseats{gap:2px;padding:0 2px}
  .bjh{padding:2px}
  .bjh .bjc{--w:22px;margin-left:calc(var(--w)*-.5)}.bjh .bjc:first-child{margin-left:0}
  .bjh.big .bjc:not(:first-child){margin-left:calc(var(--w)*-.42)}
  .bjh:not(.big) .bjv{flex-direction:column;gap:2px}
  .bjh:not(.big) .tot{font-size:10.5px;padding:1px 6px}
  .bjv .chip{min-width:20px;height:20px;font-size:9.5px}
  .bjn{font-size:10px;padding:2px 5px}
  .bjr{font-size:9px;padding:2px 4px}
}

/* Blackjack · fichas en la mesa, asientos, animaciones */
.bj-room .bjc.deal{animation:none}
.bj-room .bjdealer .bjcs{perspective:600px}
.bjx.sm{width:34px;height:34px;font-size:16px}
.bjs.empty.can{cursor:pointer;color:#FFE08A;border-color:rgba(242,193,78,.7);background:rgba(242,193,78,.08);gap:2px;animation:bjseat 2.4s ease-in-out infinite}
.bjs.empty.can span{font-size:11.5px;font-weight:900}.bjs.empty.can small{font-size:9.5px;opacity:.8}
.bjs.empty.can:hover,.bjs.empty.can:focus-visible{background:rgba(242,193,78,.18)}
@keyframes bjseat{50%{box-shadow:0 0 0 3px rgba(242,193,78,.18)}}
.bjstk{display:inline-flex;align-items:center;gap:4px;font-size:10.5px;font-weight:900;color:#FFE08A;font-variant-numeric:tabular-nums;background:rgba(0,0,0,.45);padding:2px 7px;border-radius:99px;white-space:nowrap}
.bjstk::before{content:"";width:10px;height:10px;border-radius:50%;background:#F2C14E;border:2px dashed #fff;box-sizing:border-box;flex:none}
.bjpile{position:relative;display:inline-grid;place-items:center;width:30px;height:30px;flex:none}
.bjpile i{position:absolute;left:3px;bottom:calc(4px + var(--i)*3px);width:24px;height:10px;border-radius:50%;background:#F2C14E;border:2px dashed rgba(255,255,255,.85);box-shadow:0 2px 0 rgba(0,0,0,.35)}
.bjpile i:nth-child(2n){background:#c62828}.bjpile i:nth-child(3n){background:#1F5FD1}
.bjpile b{position:absolute;top:-8px;right:-10px;font-size:10px;font-weight:900;background:#111;color:#FFE08A;padding:1px 5px;border-radius:99px;font-variant-numeric:tabular-nums}
.bjpile.paid{filter:drop-shadow(0 0 6px rgba(43,224,166,.9))}
#bjFx{position:fixed;inset:0;pointer-events:none;z-index:90}
.bjfly{position:fixed;width:24px;height:24px;border-radius:50%;background:#F2C14E;border:3px dashed #fff;box-shadow:0 3px 8px rgba(0,0,0,.5);pointer-events:none}
.bjfly.lose{background:#c62828}.bjfly.pay{background:#16C08A}
.bjc.bjglow{animation:bjglow 1.2s ease-in-out infinite alternate;z-index:1}
@keyframes bjglow{from{box-shadow:0 0 6px 1px rgba(255,215,90,.6),0 2px 6px rgba(0,0,0,.45)}to{box-shadow:0 0 18px 6px rgba(255,215,90,.95),0 0 32px 10px rgba(255,180,40,.45)}}
.bjh:has(.bjglow){position:relative}
.bjh:has(.bjglow)::after{content:"✦";position:absolute;top:-10px;right:-6px;color:#FFE08A;font-size:16px;text-shadow:0 0 8px #ffd54a;animation:bjspark 1s ease-in-out infinite alternate}
@keyframes bjspark{from{transform:scale(.7) rotate(0);opacity:.6}to{transform:scale(1.2) rotate(30deg);opacity:1}}
.bjrow.foot{margin-top:2px}
.bjmine-stk{font-size:12.5px;color:#cfc8b2}.bjmine-stk b{color:#FFE08A}
#bjSheet .bjsheet{position:fixed;inset:0;z-index:95;background:rgba(0,0,0,.6);display:flex;align-items:flex-end;justify-content:center}
.bjsheet-c{width:100%;max-width:520px;display:grid;gap:12px;padding:18px 18px calc(22px + env(safe-area-inset-bottom));background:linear-gradient(180deg,#0f2a1b,#071a10);border:1px solid rgba(242,193,78,.3);border-bottom:0;border-radius:22px 22px 0 0;color:#F4F2ED}
.bjamt{text-align:center;font:900 44px/1 system-ui,sans-serif;color:#FFE08A;font-variant-numeric:tabular-nums}
.bjamt small{display:block;font-size:12px;font-weight:700;color:#cfc8b2;margin-top:4px}
.bjrange{width:100%;height:36px;accent-color:#F2C14E;cursor:pointer}
.bjquick{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}
.bjquick button{height:34px;padding:0 12px;border-radius:17px;box-shadow:inset 0 0 0 1px rgba(242,193,78,.45);color:#FFE08A;font-weight:800;font-size:13px}
.bjs.empty.can .plus{font-size:24px;line-height:1;font-weight:900}
.bjs.empty.can small{font-size:9.5px;opacity:.85;white-space:nowrap}

/* Secciones desplegables de Juegos */
details.gdd>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 14px;margin-bottom:10px;border-radius:16px;background:var(--card,#0c1f45);border:1px solid var(--line,rgba(140,170,230,.18))}
details.gdd>summary::-webkit-details-marker{display:none}
details.gdd>summary .h2{margin:0}
details.gdd>summary .gdd-meta{font-size:12.5px;color:var(--muted,#9FB0CF);flex:1}
details.gdd>summary::after{content:"▾";font-size:16px;color:var(--gold-t,#F2C14E);transition:transform .2s}
details.gdd[open]>summary::after{transform:rotate(180deg)}
details.gdd[open]>summary{border-color:rgba(242,193,78,.45)}

/* Blackjack · repetir apuesta y botones con detalle */
.bjrep{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:800;color:#e8e2cf;cursor:pointer;user-select:none}
.bjrep input{position:absolute;opacity:0;width:1px;height:1px}
.bjrep .sw{width:40px;height:24px;border-radius:12px;background:#2a3b30;position:relative;flex:none;transition:background .2s}
.bjrep .sw::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .2s}
.bjrep input:checked+.sw{background:#16C08A}.bjrep input:checked+.sw::after{transform:translateX(16px)}
.bjrep input:focus-visible+.sw{outline:2px solid #F2C14E;outline-offset:2px}
.bjbtn small{display:block;font-size:10.5px;font-weight:700;opacity:.8;margin-top:-2px}
.bjbtn.ghost{background:transparent;color:#fff;box-shadow:inset 0 0 0 2px rgba(255,255,255,.6)}
.bjins{font-size:9.5px;font-weight:900;padding:2px 6px;border-radius:99px;background:#1F5FD1;color:#fff;white-space:nowrap}
.bjins.won{background:#16C08A;color:#03140d}.bjins.lost{background:#555;color:#ddd;text-decoration:line-through}

/* Blackjack · diseño compacto: letrero en el flujo (no se encima), sin línea curva, menos espacios */
.bjfelt{min-height:0;padding:12px 8px 18px}
.bjfelt::before{display:none}
.bjdealer{min-height:0;gap:4px}
.bjlegend{position:relative;z-index:1;text-align:center;margin:8px auto 0;max-width:460px;pointer-events:none}
.bjarc{position:static;display:block;width:min(86%,380px);height:auto;margin:0 auto;transform:none;opacity:.95}
.bjarc text{font-size:22px;letter-spacing:.12em}
.bjsub{position:static;margin:2px 8px 0;font-size:10.5px;line-height:1.4;letter-spacing:.06em;text-transform:none;color:rgba(255,236,170,.8)}
.bjsub b{color:#FFE08A}
.bjphase{margin:10px auto 0;font-size:12.5px}
.bjseats{margin-top:10px}
.bjseats>:nth-child(2),.bjseats>:nth-child(5){margin-top:18px}
.bjseats>:nth-child(3),.bjseats>:nth-child(4){margin-top:28px}
.bjs{min-height:96px}
.bjs.empty.can.second{border-style:dotted;background:rgba(43,224,166,.08);border-color:rgba(43,224,166,.6);color:#9ff5d6;animation:none}
.bjstk.dim{color:#cfc8b2;font-weight:700;opacity:.75}.bjstk.dim::before{display:none}
.bj-body{gap:10px}
.bjctl{gap:8px;padding:10px}
.bjmsg{font-size:14.5px;line-height:1.35}
.bjmsg.turn{font-size:15px;font-weight:800;color:#FFE08A}
.bjmsg.turn b{font-size:18px;color:#fff}
.bjfoot{display:flex;align-items:center;justify-content:space-between;gap:8px 12px;flex-wrap:wrap;width:100%}
.bjhint{font-size:12px;color:#9ff5d6;text-align:center}
.bjbets{display:flex;gap:6px 14px;flex-wrap:wrap;justify-content:center;font-size:14px;color:#e8e2cf}
.bjbets b{color:#FFE08A}.bjbets .link{color:#F2C14E;text-decoration:underline;font-size:12.5px;padding:0 2px}
.bjseg{display:flex;gap:6px;width:100%;max-width:360px}
.bjseg button{flex:1;height:36px;border-radius:10px;box-shadow:inset 0 0 0 1.5px rgba(242,193,78,.5);color:#FFE08A;font-weight:800;font-size:13px}
.bjseg button.on{background:#F2C14E;color:#1a1205;box-shadow:none}
.bjseg button:disabled{opacity:.55}
.bjrow.acts .bjbtn{min-height:52px}
@media (max-width:520px){
  .bjfelt{padding:10px 4px 14px}
  .bjarc{width:min(92%,330px)}
  .bjarc text{font-size:24px}
  .bjsub{font-size:9.8px}
  .bjphase{margin-top:8px}
  .bjseats{margin-top:8px}
  .bjseats>:nth-child(2),.bjseats>:nth-child(5){margin-top:12px}
  .bjseats>:nth-child(3),.bjseats>:nth-child(4){margin-top:20px}
  .bjs{min-height:84px}
  .bjrow.acts .bjbtn{flex:1 1 calc(50% - 8px);max-width:none;min-height:50px;font-size:14.5px;padding:0 8px}
  .bjchip{width:44px;height:44px;font-size:13px}
  .bjchips{gap:6px}
}

/* ───────── Campana de notificaciones ───────── */
.iconbtn[data-act="notif"].hide-sm{display:grid!important}
.iconbtn[data-act="notif"] .dot{top:4px;right:4px;width:auto;min-width:8px;height:8px;padding:0;border-radius:99px;font-size:0}
.iconbtn[data-act="notif"] .dot.nb{min-width:18px;height:18px;padding:0 5px;font-size:10.5px;font-weight:900;line-height:18px;color:#fff;text-align:center;top:-4px;right:-4px}
#ntPanel{position:fixed;inset:0;z-index:120}
.nt-scrim{position:absolute;inset:0;background:rgba(0,0,0,.45)}
.nt-box{position:absolute;top:calc(64px + env(safe-area-inset-top));right:12px;width:min(400px,calc(100vw - 24px));max-height:min(70vh,560px);display:flex;flex-direction:column;background:var(--card,#0c1f45);color:var(--ink-t,#F4F2ED);border:1px solid var(--line2,rgba(140,170,230,.3));border-radius:18px;box-shadow:0 20px 50px rgba(0,0,0,.5);overflow:hidden;animation:ntIn .18s ease-out}
@keyframes ntIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.nt-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--line,rgba(140,170,230,.18));font-size:15px}
.nt-x{width:32px;height:32px;border-radius:10px;font-weight:800}
.nt-perm{margin:10px 12px 0;height:38px;border-radius:12px;background:var(--gold,#D9B66F);color:#1a1205;font-weight:800;font-size:13px}
.nt-list{overflow:auto;padding:6px}
.nt-i{display:flex;gap:10px;width:100%;text-align:left;padding:10px;border-radius:12px;align-items:flex-start}
.nt-i:hover,.nt-i:focus-visible{background:rgba(255,255,255,.05)}
.nt-i.new{background:rgba(217,182,111,.1)}
.nt-ic{width:30px;height:30px;flex:none;border-radius:50%;display:grid;place-items:center;font-size:14px;font-weight:900;background:rgba(255,255,255,.08)}
.k-in .nt-ic,.k-win .nt-ic{background:rgba(22,192,138,.2);color:#2BE0A6}
.k-out .nt-ic,.k-outbid .nt-ic{background:rgba(239,91,91,.18);color:#FF9A9A}
.k-live .nt-ic,.k-soon .nt-ic{background:rgba(242,193,78,.2);color:#F2C14E}
.nt-t{display:grid;gap:2px;min-width:0}
.nt-t b{font-size:14px;line-height:1.3}
.nt-t small{font-size:12.5px;color:var(--muted,#9FB0CF);line-height:1.35}
.nt-t em{font-style:normal;font-size:11px;color:var(--muted,#9FB0CF)}
.nt-empty{padding:28px 18px;text-align:center;color:var(--muted,#9FB0CF);font-size:13.5px;line-height:1.5}
[data-act="remind"].on{background:transparent;color:var(--gold-t,#F2C14E);box-shadow:inset 0 0 0 1.5px currentColor}
@media (max-width:520px){.nt-box{left:8px;right:8px;width:auto;top:calc(58px + env(safe-area-inset-top))}}
.nt-box{background:var(--sheet);color:var(--fg)}
.nt-t small,.nt-t em,.nt-empty{color:var(--muted)}
.nt-i.new{background:var(--ghost2)}

/* Referidos */
.ref-code{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-radius:14px;background:var(--well);border:1px dashed var(--gold)}
.ref-code span{font-size:12px;color:var(--muted);font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.ref-code b{font-size:22px;letter-spacing:.06em;color:var(--gold-t);font-variant-numeric:tabular-nums}

/* Arma tu reta (pádel) */
.rt-has-cta{position:relative}
.rt-cta{position:absolute;top:-8px;right:0;z-index:2;height:30px}
.rt-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.rt-top span{display:block;font-size:11px;letter-spacing:.06em;text-transform:uppercase;font-weight:700}
.rt-top b{font-size:22px;font-variant-numeric:tabular-nums}
.rt-code .inp{flex:1;min-width:0}
.rt-card{display:grid;gap:8px;padding:14px;text-align:left;width:100%}
.rt-name{font-size:15px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}
.rt-mini{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:4px}
.rt-mini span{font-size:11px;padding:4px 6px;border-radius:8px;background:var(--well);border:1px dashed var(--line2);color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}
.rt-mini span.in{border-style:solid;color:var(--fg);font-weight:700}
.rt-mini span.inv{border-color:var(--gold);color:var(--gold-t)}
.rt-mini span:nth-child(2){margin-right:6px}
.rt-chips{display:flex;gap:6px;flex-wrap:wrap}
.rt-chips button{height:32px;padding:0 12px;border-radius:999px;border:1px solid var(--line2);background:var(--well);font-size:12.5px;font-weight:700;color:var(--muted)}
.rt-chips button.on{background:var(--gold);color:#1a1205;border-color:var(--gold)}
.rt-hist summary{cursor:pointer;list-style:none}
.rt-hrow{display:flex;align-items:center;gap:10px;text-align:left;width:100%;padding:8px 0;border-bottom:1px solid var(--line)}
.rt-hrow small{display:block;color:var(--muted);font-size:12px}
.rt-hrow .num.in{color:var(--win-t)}.rt-hrow .num.out{color:var(--red-t)}
.rt-form label{display:grid;gap:6px;font-size:12px;font-weight:700;color:var(--muted);letter-spacing:.03em}
.rt-form label.chk{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--fg);font-weight:600;letter-spacing:0}
.rt-form .lbl,.rt-page .lbl{margin:4px 0 0}
.rt-form .grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.rt-modes,.rt-slots-pick{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.rt-modes label,.rt-slots-pick label{display:block;cursor:pointer}
.rt-modes input,.rt-slots-pick input{position:absolute;opacity:0;pointer-events:none}
.rt-modes span,.rt-slots-pick span{display:grid;place-items:center;text-align:center;min-height:44px;padding:8px;border-radius:12px;border:1.5px solid var(--line2);background:var(--well);color:var(--fg);font-size:13.5px;font-weight:700}
.rt-slots-pick small{font-size:11px;color:var(--muted);font-weight:600}
.rt-modes input:checked+span,.rt-slots-pick input:checked+span{border-color:var(--gold);background:rgba(217,182,111,.16);color:var(--gold-t)}
.rt-form .m-sets,.rt-form .m-time,.rt-form .m-quick,.rt-form .m-americana,.rt-form .m-points{display:none}
.rt-form[data-mode=sets] .m-sets,.rt-form[data-mode=time] .m-time,.rt-form[data-mode=quick] .m-quick,.rt-form[data-mode=americana] .m-americana{display:grid}
.rt-form[data-mode=sets] label.chk.m-sets,.rt-form .m-sets .chk{display:flex}
.rt-form[data-mode=quick]:not(.is-points) .m-points{display:none}
.rt-form[data-mode=americana] .m-golden,.rt-form.is-points[data-mode=quick] .m-golden{display:none}
.rt-form.best1 [name=final_stb]{pointer-events:none}.rt-form.best1 .chk:has([name=final_stb]){opacity:.45}
.rt-preview{display:grid;gap:10px;border-color:var(--gold)}
.btn-lg{height:52px;font-size:16px}
.rt-head{align-items:flex-start;flex-wrap:nowrap}
.rt-h{font-size:24px;margin:2px 0 0;word-break:break-word}
.rt-slot{display:flex;align-items:center;gap:10px;padding:10px;border-radius:12px;background:var(--well);border:1px solid var(--line);min-height:56px}
.rt-slot.empty{border-style:dashed}
.rt-slot.invited{border-color:var(--gold)}
.rt-slot .av{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--navy,#0b2a5c);color:#fff;font-size:12px;font-weight:800;flex:none}
.rt-slot b{display:block;font-size:14px;overflow:hidden;text-overflow:ellipsis}
.rt-slot small{display:block;font-size:12px;color:var(--muted)}
.rt-slot .grow{flex:1;min-width:0}
.rt-slot .inp{flex:1;min-width:0;height:38px}
.rt-vs{text-align:center;font-weight:900;letter-spacing:.2em;color:var(--gold-t);margin:-8px 0}
.rt-invite{border-color:var(--gold)}
.rt-sync{display:inline-flex;align-items:center;gap:6px;justify-self:center;font-size:11.5px;color:var(--muted)}
.rt-sync i{width:8px;height:8px;border-radius:50%;background:#e0a530}
.rt-sync.on i{background:#22c58b;box-shadow:0 0 0 3px rgba(34,197,139,.2)}
.rt-timer{text-align:center;font-size:30px;font-weight:900;font-variant-numeric:tabular-nums;padding:6px;border-radius:14px;background:var(--well);border:1px solid var(--line)}
.rt-timer.warn{color:var(--red-t)}
.rt-timer.up{font-size:17px;color:#1a1205;background:var(--gold);border-color:var(--gold)}
.rt-board{display:grid;grid-template-columns:1fr auto 1fr;align-items:stretch;padding:14px 10px;gap:6px}
.rt-team{display:grid;justify-items:center;gap:4px;text-align:center;min-width:0}
.rt-tn{font-size:12px;font-weight:700;color:var(--muted);overflow:hidden;text-overflow:ellipsis;max-width:100%;white-space:nowrap}
.rt-big{font-size:clamp(46px,16vw,72px);font-weight:900;line-height:1;font-variant-numeric:tabular-nums}
.rt-team.t1 .rt-big{color:#5FF0BE}.rt-team.t2 .rt-big{color:#8DB8FF}
.rt-games{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}
.rt-games b{font-size:20px;color:var(--fg)}
.rt-mid{align-self:center;font-weight:900;color:var(--dim);font-size:12px;letter-spacing:.2em}
.rt-sets,.rt-note,.rt-round{text-align:center;font-weight:700;font-size:14px}
.rt-note{color:var(--gold-t)}
.rt-tot{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.rt-tot span{display:grid;text-align:center;font-size:11px;color:var(--muted);padding:6px 4px;border-radius:10px;background:var(--well);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rt-tot b{font-size:18px;color:var(--fg)}
.rt-pts{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.rt-pt{display:grid;place-items:center;gap:4px;min-height:110px;border-radius:18px;font-size:20px;font-weight:900;color:#04211f;touch-action:manipulation;transition:transform .1s}
.rt-pt small{font-size:11.5px;font-weight:700;opacity:.8;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 6px}
.rt-pt.t1{background:linear-gradient(135deg,#5FF0BE,#16C08A)}
.rt-pt.t2{background:linear-gradient(135deg,#B9D3FF,#5E93F0);color:#06204a}
.rt-pt:active{transform:scale(.97)}
.rt-pt:disabled{opacity:.5}
.rt-tools{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:8px}
.rt-log summary{cursor:pointer}
.rt-ev{display:flex;justify-content:space-between;gap:8px;font-size:13px;padding:6px 0;border-bottom:1px solid var(--line)}
.rt-ev small{color:var(--muted)}
.rt-ev.undone span{text-decoration:line-through;opacity:.55}
.rt-final{display:grid;gap:8px}
.rt-fteam{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px;border-radius:12px;background:var(--well)}
.rt-fteam span{font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis}
.rt-fteam b{font-size:22px;letter-spacing:.2em;font-variant-numeric:tabular-nums}
.rt-fteam.win{border:1.5px solid var(--gold);background:rgba(217,182,111,.14)}
.rt-amrow{padding:8px 10px;border-radius:10px;background:var(--well)}
.rt-amrow.win{border:1.5px solid var(--gold)}
@media (max-width:360px){.rt-form .grid2{grid-template-columns:1fr}.rt-cta{position:static;justify-self:end}}
.rt-code .inp::placeholder{text-transform:none}

/* Mesas en celular: sin zoom accidental, barra superior en una sola línea y reloj de turno */
#game,#game *{touch-action:manipulation}
#game{-webkit-text-size-adjust:100%}
@media (max-width:899px){
  #game .r-top{flex-wrap:nowrap;gap:6px;padding:6px 10px;min-height:46px}
  #game .r-top .back2{height:34px;padding:0 9px;flex:none}
  #game .r-tabs{display:flex;order:0;flex:1 1 auto;gap:6px;padding:0;justify-content:flex-end;overflow-x:auto;min-width:0}
  #game .r-tabs .mini{width:34px;height:34px;padding:0;border-radius:10px;display:grid;place-items:center;align-content:center;overflow:visible}
  #game .r-tabs .mini:before{display:none}
  #game .r-tabs .mini>span:not(.mi):not(.tdot){display:none}
  #game .r-tabs .mini .mi{width:20px;height:20px}
  #game .r-tabs .mini.add>span{display:none}
  #game .r-tabs .mini.add svg{width:16px;height:16px}
  #game .r-tabs .mini.turn{animation:miniPulse 1s infinite}
  #game .r-tabs .mini .tdot{display:block;position:absolute;top:-3px;right:-3px;width:9px;height:9px;border-radius:50%;background:#2be0a6;box-shadow:0 0 8px #2be0a6}
  #game .r-set{flex:none;gap:6px;padding-left:6px;border-left:1px solid var(--line)}
  #game .r-set .iconbtn{width:34px;height:34px}
  #game .felt.rect{inset:1% 1.5%}
  #game .m-wrap{padding:6px 4px}
  #game .m-swp{font-size:12px;padding:7px 8px;min-height:32px;margin-top:5px;border-radius:9px}
  #game .t-chat{left:6px;bottom:4px}
  #game .chatbtn{width:32px;height:32px}
  #game .chatbtn svg{width:15px;height:15px}
}
.tr-host{position:relative;overflow:visible!important}
.tring{position:absolute;inset:-7px;pointer-events:none;z-index:3}
.tring svg{width:100%;height:100%;transform:rotate(-90deg)}
.tring circle{fill:none;stroke-width:3.5}
.tring .bg{stroke:rgba(255,255,255,.12)}
.tring .fg{stroke:rgba(43,224,166,.75);stroke-linecap:round;transition:stroke-dasharray .2s linear,stroke .2s}
.tring b{position:absolute;right:-8px;bottom:-6px;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:rgba(3,9,22,.7);border:1px solid rgba(43,224,166,.6);color:#fff;font-size:10.5px;font-weight:900;line-height:16px;text-align:center;font-variant-numeric:tabular-nums}
.tring.red .fg{stroke:rgba(255,77,77,.85)}
.tring.red b{border-color:#ff4d4d;color:#ffb3b3;animation:pulse .6s infinite}

/* Invitado (sin cuenta) */
#guestBar{position:fixed;right:12px;bottom:calc(88px + env(safe-area-inset-bottom,0px));z-index:120}
#guestBar[hidden]{display:none}
#guestBar button{display:flex;align-items:center;gap:6px;height:34px;padding:0 12px 0 10px;border-radius:17px;background:#D9B66F;color:#1a1205;font-weight:800;font-size:12px;box-shadow:0 8px 20px -8px #000}
#guestBar svg{width:16px;height:16px}
.g-signup{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#D9B66F;color:#1a1205;flex:none}
.g-signup svg{width:14px;height:14px}

/* ronda de cambios: el botón «Cambiar» nunca es más ancho que la carta (antes ensanchaba tu fila) */
#game .m-swp{width:var(--cw);max-width:var(--cw);box-sizing:border-box;padding-left:2px;padding-right:2px;overflow:hidden;text-overflow:ellipsis}
#game .t-head .ttl{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Encabezado sin sesión: Ingresar + Crear cuenta */
.auth-btns{display:flex;align-items:center;gap:6px;flex:none}
.auth-btns .btn{height:36px;border-radius:12px;font-weight:800;white-space:nowrap}
.auth-btns .auth-in{padding:0 12px}
.auth-btns .auth-reg{padding:0 14px;position:relative;overflow:hidden;box-shadow:0 0 0 1px #f1d39480,0 6px 20px -6px #d9b66fcc}
.auth-btns .auth-reg:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.55) 50%,transparent 70%);transform:translateX(-120%);animation:authShine 3.2s ease-in-out infinite}
@keyframes authShine{0%,60%{transform:translateX(-120%)}85%,100%{transform:translateX(120%)}}
@media (prefers-reduced-motion:reduce){.auth-btns .auth-reg:after{animation:none}}
@media (max-width:380px){.auth-btns .auth-in{padding:0 9px;font-size:12.5px}.auth-btns .auth-reg{padding:0 10px;font-size:12.5px}}

/* Calcutas: encabezado «Torneos» con el estado al lado */
.sec-h-sel{display:flex;align-items:center;justify-content:space-between;gap:10px}
.sec-h-sel .sec-sel{width:auto;max-width:55%;height:40px;font-size:14px;font-weight:700}
/* Inicio sin sesión: invitación a crear cuenta */
.join-cta{display:grid;gap:14px;border-color:#d9b66f66;background:linear-gradient(180deg,rgba(217,182,111,.12),rgba(217,182,111,.03))}
.join-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.join-steps>div{display:grid;justify-items:center;gap:6px;text-align:center;font-size:12.5px;font-weight:700;line-height:1.25}
.join-steps b{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#D9B66F;color:#1a1205;font-size:14px}
.join-cta .btn-block{height:48px;font-size:16px}
.join-cta .link{font-weight:800;color:var(--gold-t,#D9B66F)}
/* Registro más corto */
.ref-dd summary{cursor:pointer;font-size:13px;font-weight:700;color:var(--gold-t,#D9B66F);list-style:none;padding:4px 0}
.ref-dd summary::-webkit-details-marker{display:none}
.ref-dd[open] summary{margin-bottom:8px}
.reg-age{display:flex;align-items:center;gap:10px;font-size:13.5px;min-height:44px;cursor:pointer}
.reg-age input{width:22px;height:22px;flex:none;accent-color:#D9B66F}

/* Toques más cómodos: botones de al menos 40–44 px de alto */
header.top .iconbtn,header.top .iconbtn.hide-sm{width:40px;height:40px}
#main .inp{min-height:44px}
.auth-btns .btn{height:40px}
#main .btn-sm{min-height:40px}
#main .btn{min-height:44px}
#main .btn.btn-sm{min-height:40px}
#main .tabs button{min-height:44px}
#main .sec-h a,#main .sec-h .link,#main .link{min-height:40px;display:inline-flex;align-items:center}
/* Juegos: sin huecos grandes entre las secciones plegadas */
#main .stack:has(> details.gdd) > .sec{margin-top:4px}
#main details.gdd:not([open]) > summary{margin-bottom:0}
/* Cajero: «Solicitar fichas» a todo lo ancho y las otras dos acciones a la mitad (ya no se corta el texto) */
#main .row:has(> [data-act="reqfichas"]){display:grid;grid-template-columns:1fr 1fr;gap:8px}
#main .row:has(> [data-act="reqfichas"]) > [data-act="reqfichas"]{grid-column:1/-1;height:48px;font-size:15.5px}
#main .row:has(> [data-act="reqfichas"]) > .btn{min-width:0;white-space:nowrap;padding:0 10px;font-size:13.5px}

/* Baraja «Jumbo»: color por palo, letra grande al centro, palo de marca de agua */
body.deck-jumbo .pc:not(.back){--jc:#4B4B52;background:var(--jc)!important;color:#fff!important;box-shadow:0 6px 14px -5px #0009,inset 0 0 0 1.5px rgba(255,255,255,.28)!important;position:relative;overflow:hidden}
body.deck-jumbo .pc.su1:not(.back){--jc:#EE6464}
body.deck-jumbo .pc.su2:not(.back){--jc:#2C3FC8}
body.deck-jumbo .pc.su3:not(.back){--jc:#45973A}
body.deck-jumbo .pc:not(.back) .md{position:absolute;inset:0;display:grid;place-items:center;font-size:calc(var(--cw,60px)*1.05);line-height:1;color:rgba(0,0,0,.28)!important;opacity:1;transform:translateY(6%)}
body.deck-jumbo .pc:not(.back) .rk{position:absolute;inset:0;display:grid;place-items:center;font-size:calc(var(--cw,60px)*.6);font-weight:900;color:#fff!important;letter-spacing:-.02em;z-index:1;text-shadow:0 1px 0 rgba(0,0,0,.18)}
body.deck-jumbo .pc:not(.back) .st{position:absolute;top:4%;left:7%;font-size:calc(var(--cw,60px)*.2);color:#fff!important;z-index:2;line-height:1}
body.deck-jumbo .pc:not(.back)::before{content:attr(data-r);position:absolute;top:4%;left:calc(7% + var(--cw,60px)*.2);font-size:calc(var(--cw,60px)*.2);font-weight:900;color:#fff;z-index:2;line-height:1}
.jumbo-ic{display:flex;gap:2px}
.jumbo-ic i{font-style:normal;width:10px;height:14px;border-radius:2px;display:grid;place-items:center;font-size:9px;font-weight:900;color:#fff}
.jumbo-ic .c{background:#45973A}.jumbo-ic .d{background:#2C3FC8}

/* Turno: el avatar da una vuelta como moneda; el reloj de los demás es más discreto que el tuyo */
.coinflip{animation:coinFlip .7s cubic-bezier(.45,.05,.25,1) both;transform-style:preserve-3d;backface-visibility:visible}
@keyframes coinFlip{0%{transform:perspective(300px) rotateY(0) scale(1)}50%{transform:perspective(300px) rotateY(180deg) scale(1.12)}100%{transform:perspective(300px) rotateY(360deg) scale(1)}}
@media (prefers-reduced-motion:reduce){.coinflip{animation:none}}
.tring:not(.mine) .fg{stroke:rgba(217,182,111,.7)}
.tring:not(.mine) b{display:none}
.tring.red:not(.mine) .fg{stroke:rgba(255,77,77,.75)}
/* Jumbo en columnas encimadas (MONTANA): las cartas tapadas solo muestran su esquina */
body.deck-jumbo .m-col .pc:not(.back):not(:last-child) .rk,body.deck-jumbo .m-col .pc:not(.back):not(:last-child) .md{visibility:hidden}
body.deck-jumbo .m-col .pc:not(.back) .st,body.deck-jumbo .m-col .pc:not(.back)::before{font-size:calc(var(--cw,60px)*.26)}
body.deck-jumbo .m-col .pc:not(.back)::before{left:calc(7% + var(--cw,60px)*.26)}

/* ───────── Póker en línea: mesa vertical ───────── */
#pk{position:fixed;inset:0;z-index:95;display:flex;flex-direction:column;background:radial-gradient(ellipse at 50% 40%,#2a2e36,#16181d 60%,#0d0e11);color:#F4F2ED;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);touch-action:manipulation;user-select:none;-webkit-user-select:none}
#pk[hidden]{display:none}
.pk-loading{margin:auto;display:grid;gap:12px;justify-items:center;color:#A9B5CB}
.pk-top{display:flex;align-items:center;gap:10px;padding:8px 12px;height:54px;flex:none}
.pk-ib{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);color:#E8ECF4}
.pk-ib svg{width:20px;height:20px}
.pk-title{flex:1;min-width:0;text-align:center;line-height:1.15}
.pk-title b{display:block;font-size:14.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pk-title small{font-size:11.5px;color:#A9B5CB}
.pk-felt-wrap{flex:1;min-height:0;display:grid;place-items:center;padding:4px 8px}
.pk-felt-wrap{container-type:size}
.pk-felt{position:relative;width:min(100cqw,60cqh);height:min(100cqh,166.6cqw);--cw:44px}
.pk-rail{position:absolute;inset:6% 9%;border-radius:999px;background:radial-gradient(ellipse at 50% 42%,#3fb26f,#22894c 55%,#14653a);box-shadow:0 0 0 10px #2b2f36,0 0 0 12px #474c55,0 18px 40px -10px #000,inset 0 0 40px rgba(0,0,0,.35)}
.pk-rail:after{content:"";position:absolute;inset:7%;border-radius:999px;border:1.5px solid rgba(255,255,255,.13)}
.pk-center{position:absolute;left:50%;top:45%;transform:translate(-50%,-50%);display:grid;justify-items:center;gap:8px;width:76%;z-index:2}
.pk-pot{min-height:24px;display:flex;align-items:center;gap:6px;padding:3px 10px;border-radius:12px;background:rgba(0,0,0,.35);font-weight:800;font-size:13.5px}
.pk-pot:empty{background:none}
.pk-pot i,.pk-bet i{width:13px;height:13px;border-radius:50%;background:radial-gradient(circle,#ffd27a 30%,#e0661a 32%,#e0661a 55%,#fff 57%,#fff 66%,#e0661a 68%);flex:none}
.pk-board{display:flex;gap:4px;min-height:calc(var(--cw)*1.4)}
.pk-board .pc.deal{animation:pkDeal .35s cubic-bezier(.3,1.3,.5,1) both}
.pk-info{font-size:11.5px;color:rgba(255,255,255,.55);text-align:center;font-weight:700}
.pk-info small{opacity:.8}
.pk-seat{position:absolute;transform:translate(-50%,-50%);width:84px;display:grid;justify-items:center;z-index:3}
.pk-seat.out{opacity:.5}
.pk-av{position:relative;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;font-weight:900;font-size:16px;background:linear-gradient(135deg,#55607a,#2a3142);border:2px solid rgba(255,255,255,.28);box-shadow:0 6px 14px -6px #000}
.pk-seat.me .pk-av{background:linear-gradient(135deg,#d9b66f,#8e6a2c);color:#1a1205}
.pk-seat.turn .pk-av{box-shadow:0 0 0 3px #f2c14e,0 0 18px #f2c14e99}
.pk-seat.won .pk-av{box-shadow:0 0 0 3px #2BE0A6,0 0 22px #2BE0A6aa}
.pk-plate{margin-top:-6px;min-width:76px;padding:3px 6px 4px;border-radius:7px;background:rgba(0,0,0,.72);text-align:center;line-height:1.15;position:relative;z-index:1}
.pk-plate b{display:block;font-size:10.5px;color:#C8D0DE;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:84px}
.pk-plate span{font-size:13px;font-weight:900}
.pk-plate em{font-style:normal;font-size:10px;color:#9fe6c3}
.pk-tag{position:absolute;top:-12px;z-index:4;padding:1px 7px;border-radius:6px;font-size:10.5px;font-weight:900;background:#3a404c;color:#fff;white-space:nowrap}
.pk-tag.t-fold{background:#5d6270}.pk-tag.t-call{background:#1f9d55}.pk-tag.t-check{background:#2f6fd1}.pk-tag.t-raise,.pk-tag.t-bet{background:#e07b1a}.pk-tag.t-allin{background:#d4322c}.pk-tag.t-fuera,.pk-tag.t-espera{background:#2b2f36;color:#A9B5CB}
.pk-ct{font-size:10px;color:#A9B5CB;margin-top:2px;font-variant-numeric:tabular-nums;min-height:12px}
.pk-oc{position:absolute;right:-10px;top:4px;display:flex;--cw:17px;z-index:2}
.pk-oc .pc+.pc{margin-left:-9px;transform:rotate(8deg)}
.pk-oc.show{--cw:26px;right:-26px;top:-2px}
.pk-oc.show .pc+.pc{margin-left:-8px}
.pk-seat.pk-up .pk-oc{top:auto;bottom:18px}
.pk-win{position:absolute;bottom:-30px;padding:2px 8px;border-radius:8px;background:#f2c14e;color:#1a1205;font-weight:900;font-size:12px;white-space:nowrap;text-align:center;line-height:1.1;z-index:5;animation:pkPop2 .4s both}
.pk-win small{display:block;font-size:9.5px;font-weight:800}
.pk-bet{position:absolute;transform:translate(-50%,-50%);z-index:2;display:flex;align-items:center;gap:4px;padding:2px 7px 2px 3px;border-radius:10px;background:rgba(0,0,0,.45);font-size:12px;font-weight:900;white-space:nowrap;animation:pkPop .25s both}
.pk-dealer{position:absolute;transform:translate(-50%,-50%);z-index:2;padding:2px 5px;border-radius:7px;background:#F4F2ED;color:#14161c;font-size:8.5px;font-weight:900;letter-spacing:.06em;box-shadow:0 2px 6px rgba(0,0,0,.5)}
.pk-empty{position:absolute;transform:translate(-50%,-50%);width:56px;height:56px;border-radius:50%;border:2px dashed rgba(255,255,255,.35);background:rgba(0,0,0,.25);color:#fff;font-size:20px;font-weight:900;display:grid;place-items:center;line-height:.9;z-index:3}
.pk-empty small{font-size:8.5px;font-weight:800;color:#C8D0DE}
.pk-my{position:absolute;left:calc(50% + 34px);top:calc(87% - 30px);display:flex;z-index:4;--cw:48px;transform:translate(0,-50%)}
.pk-my .pc{box-shadow:0 8px 16px -6px #000}
.pk-my .pc:first-child{transform:rotate(-6deg)}
.pk-my .pc+.pc{margin-left:-14px;transform:rotate(7deg)}
.pk-my.out{opacity:.45}
.pk-my .back{cursor:pointer}
.pk-tap{position:absolute;left:0;right:0;bottom:-18px;text-align:center;font-size:10px;font-weight:800;color:#f2c14e;white-space:nowrap}
.pk-my .flipin{animation:pkFlip .35s ease both}
.pk-bar{flex:none;display:flex;gap:8px;padding:10px 10px 12px;min-height:76px;align-items:center;background:rgba(0,0,0,.35);border-top:1px solid rgba(255,255,255,.07)}
.pk-msg{flex:1;text-align:center;color:#C8D0DE;font-size:13.5px;font-weight:700}
.pk-btn{flex:1;height:54px;border-radius:12px;font-size:16.5px;font-weight:900;color:#fff;background:#3a404c;box-shadow:inset 0 -3px 0 rgba(0,0,0,.25);display:grid;place-items:center;line-height:1.05}
.pk-btn b{font-size:14px}
.pk-btn.red{background:linear-gradient(180deg,#e04b3a,#b8291c)}
.pk-btn.green{background:linear-gradient(180deg,#2bb468,#16834a)}
.pk-btn.orange{background:linear-gradient(180deg,#f29a2e,#d26c10)}
.pk-btn.wide{width:100%;flex:none}
.pk-pre{flex:1;height:50px;border-radius:12px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:14px;font-weight:900;color:#e8ffef;background:linear-gradient(180deg,#1f7a46,#145a33);box-shadow:inset 0 -3px 0 rgba(0,0,0,.25)}
.pk-pre i{width:16px;height:16px;border-radius:50%;border:2px solid #9fe6c3;flex:none}
.pk-pre.on i{background:#2BE0A6;border-color:#2BE0A6;box-shadow:0 0 8px #2BE0A6}
.pk-raise{flex:1;display:grid;gap:8px}
.pk-rq{display:flex;gap:6px}
.pk-rq button{flex:1;height:34px;border-radius:9px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);font-size:12.5px;font-weight:800}
.pk-rrow{display:flex;gap:10px;align-items:center}
.pk-rrow input{flex:1;accent-color:#f29a2e;height:30px}
.pk-rrow .pk-btn{flex:none;min-width:130px}
.pk-x{justify-self:center;font-size:12.5px;font-weight:800;color:#A9B5CB;padding:4px 10px}
.pk-sheet{position:absolute;inset:0;z-index:20;background:rgba(0,0,0,.55);display:flex;align-items:flex-end}
.pk-card{width:100%;max-width:520px;margin:0 auto;max-height:86vh;overflow:auto;background:#1c1f26;border-radius:20px 20px 0 0;padding:18px 16px calc(16px + env(safe-area-inset-bottom,0px));display:grid;gap:12px;border-top:1px solid rgba(255,255,255,.1)}
.pk-card input[type=range]{width:100%;accent-color:#2bb468;height:30px}
.pk-big{font-size:30px;font-weight:900;text-align:center}
.pk-big small{display:block;font-size:12px;color:#A9B5CB;font-weight:700}
.pk-chk{display:flex;gap:10px;align-items:center;font-size:13px;min-height:44px}
.pk-chk input{width:22px;height:22px;accent-color:#2bb468;flex:none}
.pk-sec{display:grid;gap:8px;padding:10px 0;border-top:1px solid rgba(255,255,255,.08)}
.pk-sec .pk-btn{height:46px;font-size:14.5px}
.pk-seg{display:flex;gap:6px}
.pk-seg button{flex:1;height:40px;border-radius:10px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);font-weight:800;font-size:13px}
.pk-seg button.on{background:#f2c14e;color:#1a1205;border-color:#f2c14e}
@keyframes pkDeal{from{opacity:0;transform:translateY(-14px) scale(.8)}to{opacity:1;transform:none}}
@keyframes pkPop{from{opacity:0;transform:translate(-50%,-50%) scale(.6)}to{opacity:1;transform:translate(-50%,-50%)}}
@keyframes pkPop2{from{opacity:0;transform:scale(.6)}to{opacity:1;transform:none}}
@keyframes pkFlip{from{transform:rotateY(90deg)}to{transform:none}}
.pk-lrow{display:flex;align-items:center;gap:10px;padding:10px;border-radius:12px;background:var(--well,rgba(4,9,26,.45));border:1px solid var(--line,rgba(255,255,255,.1))}
.pk-lrow .grow{flex:1;min-width:0}
.pk-lrow b{display:block;font-size:14.5px}
.pk-lrow small{font-size:12px;color:var(--muted)}
.pk-lic{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#1f7a46;color:#fff;font-size:20px;flex:none}
.pk-lcnt{font-size:12.5px;font-weight:800;color:var(--muted)}
.pk-seat.pk-r .pk-oc{right:auto;left:-10px}
.pk-seat.pk-r .pk-oc.show{left:-30px}

/* Freeroll «All in o Fold» en vertical, como la mesa de póker */
.tx-wrap{aspect-ratio:.62!important;max-width:min(100%,430px)!important;max-height:none!important;border:0!important;border-radius:22px!important;background:radial-gradient(ellipse at 50% 40%,#2a2e36,#16181d 60%,#0d0e11)!important;--cw:40px!important}
.tx-felt{inset:7% 11%!important;border-radius:999px!important;background:radial-gradient(ellipse at 50% 42%,#3fb26f,#22894c 55%,#14653a)!important;box-shadow:0 0 0 9px #2b2f36,0 0 0 11px #474c55,0 18px 40px -10px #000,inset 0 0 40px rgba(0,0,0,.35)!important}
.tx-center{top:46%!important;width:72%!important}
.tx-seat{width:80px!important}
.tx-seat .nm{font-size:10.5px!important;padding:3px 8px!important;border-radius:7px!important;background:rgba(0,0,0,.72)!important;border:0!important;color:#C8D0DE}
.tx-seat .st{font-size:13px!important;color:#fff!important;margin-top:-2px}
.tx-seat.me{--tcw:46px!important}
.tx-seat.me .nm{background:#d9b66f!important;color:#1a1205!important}
.tx-seat.turn .nm{box-shadow:0 0 0 2px #f2c14e,0 0 16px #f2c14e99!important}
.tx-seat .act.allin{background:#d4322c!important}
.tx-seat .btnd{width:auto!important;height:auto!important;padding:2px 5px!important;border-radius:7px!important;font-size:8px!important;letter-spacing:.05em}
.tx-seat .btnd{font-size:0!important}.tx-seat .btnd:after{content:"DEALER";font-size:8px;font-weight:900}
.tx-actions .gbig{height:56px!important;max-width:none!important;border-radius:12px!important;font-style:normal!important;font-size:18px!important;box-shadow:inset 0 -3px 0 rgba(0,0,0,.25)!important}
.tx-actions .gbig.blue{background:linear-gradient(180deg,#e04b3a,#b8291c)!important}
.tx-actions .gbig.red{background:linear-gradient(180deg,#f29a2e,#d26c10)!important}
.tx-seat:not(.me){--tcw:24px!important}
.tx-seat .btnd{top:-16px!important;right:auto!important;left:50%;transform:translateX(-50%)}

/* la mesa usa solo el espacio libre: los botones nunca quedan encima de la mesa */
.pk-main{flex:1;min-height:0;display:flex;flex-direction:column;position:relative}
.pk-bar{position:relative;z-index:6;background:#111317;box-shadow:0 -12px 26px rgba(0,0,0,.55);border-top:1px solid rgba(255,255,255,.08)}
.pk-btn{height:56px;font-size:17px;letter-spacing:.01em;text-shadow:0 1px 0 rgba(0,0,0,.25)}
.pk-btn.red{box-shadow:0 8px 20px -8px #e04b3a,inset 0 -3px 0 rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.25)}
.pk-btn.green{box-shadow:0 8px 20px -8px #2bb468,inset 0 -3px 0 rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.25)}
.pk-btn.orange{box-shadow:0 8px 20px -8px #f29a2e,inset 0 -3px 0 rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.25)}
.pk-pre{box-shadow:0 6px 16px -8px #2bb468,inset 0 -3px 0 rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.18)}
.pk-raise{gap:10px}
.pk-rq button{height:38px;background:#262a33;border-color:#3a404c;color:#fff}
.pk-rrow .pk-btn{min-width:140px}
.pk-side{display:none}
@media (min-width:900px){
  #pk{flex-direction:row;justify-content:center;align-items:stretch;gap:16px;padding:14px}
  .pk-main{flex:0 1 auto;width:min(480px,100%);border-radius:20px;overflow:hidden;background:radial-gradient(ellipse at 50% 40%,#2a2e36,#16181d 60%,#0d0e11);box-shadow:0 30px 60px -30px #000,0 0 0 1px rgba(255,255,255,.08)}
  .pk-side{display:flex;flex-direction:column;gap:8px;width:270px;flex:none;padding:14px;border-radius:20px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);overflow:auto}
}
.pk-sh{font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:900;color:#A9B5CB;margin-top:8px}
.pk-sr{display:grid;text-align:left;gap:2px;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1)}
.pk-sr b{font-size:14px}
.pk-sr small{font-size:12px;color:#A9B5CB}
.pk-sr.on{border-color:#f2c14e;background:rgba(242,193,78,.12)}
.pk-sn{font-size:12px;color:#8f9bb3;padding:4px 2px}

/* Blackjack: botones siempre a la vista (fijos abajo) y reglas/juego justo en el botón «?» */
.bj-body .bjctl{position:sticky;bottom:0;z-index:8;box-shadow:0 -14px 28px rgba(0,0,0,.6)}
.bjq{font-weight:900;font-size:16px;color:#f2c14e}
.bjhelp{position:fixed;inset:0;z-index:120;background:rgba(0,0,0,.6);display:flex;align-items:flex-end;justify-content:center}
.bjhelp-card{width:100%;max-width:560px;max-height:86vh;overflow:auto;background:#06180e;border:1px solid rgba(242,193,78,.3);border-radius:20px 20px 0 0;padding:16px 14px calc(16px + env(safe-area-inset-bottom,0px));display:grid;gap:10px}
.bjhelp-card>.row b{font-size:16px;color:#f2c14e}
/* póker: historial de manos y repetición */
#pkh{position:fixed;inset:0;z-index:120;background:#121418;color:#F4F2ED;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
#pkh .pk-loading{display:grid;place-items:center;height:100%;color:#A9B5CB}
.pkh-wrap{height:100%;display:flex;flex-direction:column;max-width:640px;margin:0 auto}
.pkh-top{display:flex;align-items:center;gap:10px;padding:8px 12px;height:54px;flex:none}
.pkh-top>b{flex:1;font-size:16px;font-weight:900}
.pkh-hid{font-size:12px;color:#7d889c;font-weight:700}
.pkh-nav{display:flex;align-items:center;gap:10px;padding:4px 12px 10px;flex:none;border-bottom:1px solid rgba(255,255,255,.08)}
.pkh-nav .pk-ib[disabled],.pkh-rp .pk-ib[disabled]{opacity:.3}
.pkh-sl{flex:1;display:grid;gap:2px;text-align:center;min-width:0}
.pkh-sl small{font-size:12px;color:#A9B5CB;font-weight:800}
#pkh input[type=range]{width:100%;accent-color:#f2c14e;height:28px}
.pkh-body{flex:1;overflow:auto;padding:12px 12px 20px;display:grid;gap:12px;align-content:start;-webkit-overflow-scrolling:touch}
.pkh-empty{padding:40px 20px;text-align:center;color:#A9B5CB}
.pkh-sum{display:flex;justify-content:space-between;align-items:center;gap:10px}
.pkh-sum b{font-size:15px}.pkh-sum small{display:block;font-size:12px;color:#A9B5CB}
.pkh-pot{text-align:right}.pkh-pot b{font-size:18px;color:#f2c14e}
.pkh-board{display:flex;justify-content:center;gap:6px;--cw:52px;padding:12px;border-radius:16px;background:radial-gradient(ellipse at 50% 40%,#1f7a4c,#0f4b2d);box-shadow:inset 0 0 0 3px #2b1d10,inset 0 0 0 5px #6b4a22}
.pkh-slot{width:var(--cw);aspect-ratio:5/7;border-radius:6px;border:1.5px dashed rgba(255,255,255,.18)}
.pkh-rp{display:flex;align-items:center;gap:6px}
.pkh-rp input{flex:1;min-width:0}
.pkh-rp small{font-size:12px;color:#A9B5CB;font-weight:800;min-width:38px;text-align:right}
.pkh-play{background:#2bb468!important;border-color:#2bb468!important;color:#fff}
.pkh-ps{display:grid;gap:6px}
.pkh-p{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:12px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);--cw:34px}
.pkh-p.me{border-color:rgba(242,193,78,.5)}
.pkh-p.won{background:rgba(43,180,104,.14);border-color:rgba(43,180,104,.5)}
.pkh-p.out{opacity:.45}
.pkh-pc{display:flex;gap:3px;flex:none}
.pkh-pn{flex:1;min-width:0}.pkh-pn b{display:block;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pkh-pn i{font-style:normal;font-size:10.5px;font-weight:900;background:#f2c14e;color:#1a1205;border-radius:5px;padding:1px 5px;vertical-align:1px}
.pkh-pn small,.pkh-pa small{display:block;font-size:12px;color:#A9B5CB}
.pkh-pa{text-align:right;flex:none}.pkh-pa b{font-size:15px}
.pkh-pa .pos{color:#4fd98d}.pkh-pa .neg{color:#ff7b6b}
.pkh-log{display:grid;gap:2px;border-radius:12px;background:rgba(255,255,255,.03);padding:6px}
.pkh-st{display:flex;align-items:center;gap:8px;padding:8px 6px 4px;--cw:26px;cursor:pointer}
.pkh-st b{font-size:12.5px;text-transform:uppercase;letter-spacing:.06em;color:#f2c14e}
.pkh-cs{display:flex;gap:3px}.pkh-st small{margin-left:auto;font-size:12px;color:#A9B5CB}
.pkh-a{display:flex;justify-content:space-between;gap:10px;padding:7px 8px;border-radius:8px;font-size:14px;cursor:pointer}
.pkh-a span{color:#DDE3EE;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pkh-a b{flex:none}
.pkh-a.t-fold b{color:#ff8a7a}.pkh-a.t-raise b,.pkh-a.t-bet b,.pkh-a.t-allin b{color:#ffb347}.pkh-a.t-call b{color:#6fd3a0}.pkh-a.t-devuelto b{color:#A9B5CB}
.pkh-a.now,.pkh-st.now{background:rgba(242,193,78,.16)}
.pkh-a.later,.pkh-st.later{opacity:.35}
.pkh-share{display:flex;gap:8px}.pkh-share .pk-btn{height:48px;font-size:15px;display:flex;gap:8px;align-items:center;justify-content:center}
.pkh-share .pk-btn svg{width:18px;height:18px}
.pkh-note{font-size:12.5px;color:#A9B5CB;line-height:1.4}

/* botón «Descargar app» */
.dl-app svg{width:20px;height:20px}
.dl-app span{display:none}
#top .iconbtn.dl-app{flex:none}
@media (min-width:900px){#top .iconbtn.dl-app{width:auto;height:40px;padding:0 14px 0 12px;gap:7px;display:inline-flex;align-items:center;white-space:nowrap;font-weight:800;font-size:13.5px;line-height:1;color:var(--gold-t);border-color:rgba(217,182,111,.45)}#top .iconbtn.dl-app span{display:inline}#top .iconbtn.dl-app svg{width:18px;height:18px;flex:none}}
@media (max-width:420px){#top .iconbtn.dl-app{display:none}}
#side .side-dl{color:var(--gold-t)}
.dl-card{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:14px 16px;border-radius:var(--r2);background:linear-gradient(135deg,rgba(217,182,111,.16),rgba(217,182,111,.05));border:1px solid rgba(217,182,111,.4);color:var(--fg);cursor:pointer}
.dl-card .dl-ic{width:44px;height:44px;flex:none;border-radius:12px;display:grid;place-items:center;background:var(--gold);color:#1a1205}
.dl-card .dl-ic svg{width:22px;height:22px}
.dl-card b{display:block;font-size:15.5px;font-weight:900}
.dl-card small{display:block;font-size:12.5px;color:var(--muted)}
.dl-card .dl-go{flex:none;font-weight:900;font-size:13.5px;color:#1a1205;background:var(--gold);border-radius:10px;padding:9px 12px}

/* ventanas de mesas (app de escritorio) */
.vmesa #top,.vmesa #bnav,.vmesa #side,.vmesa #main,.vmesa #tablesPill,.vmesa .glow-bg,.vmesa #haze{display:none!important}
.vmesa #game .back2,.vmesa #game .r-tabs{display:none!important}
.vmesa #game .r-top{justify-content:flex-end}
#side [data-vent] svg{width:20px;height:20px}
.vent-on{display:flex;gap:12px;align-items:flex-start;padding:12px;border-radius:14px;background:var(--ghost);border:1px solid var(--line);cursor:pointer}
.vent-on input{width:20px;height:20px;margin-top:2px;accent-color:var(--gold);flex:none}
.vent-on small{display:block;color:var(--muted);font-size:12.5px;margin-top:2px}
.vent-row{display:grid;gap:8px}
.vent-sizes{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.vent-sizes button{padding:8px 4px;border-radius:10px;background:var(--ghost);border:1px solid var(--line2);font-weight:800;font-size:13px;display:grid;gap:2px}
.vent-sizes button small{font-weight:600;font-size:11px;color:var(--muted)}
.vent-sizes button.on{border-color:var(--gold);background:#d9b66f24;color:var(--gold-t)}
.vent-custom{display:flex;align-items:center;gap:6px;font-size:13px;flex-wrap:wrap}
.vent-custom .inp{width:84px;height:36px}

/* ───────── Póker: tapete azul CALCUTA, variantes (Omaha, Bompot, Mata AA) y hoja compacta ───────── */
.pk-rail{background:radial-gradient(ellipse at 50% 40%,#2f63b8 0%,#1b4790 45%,#0f2f66 78%,#0a2350 100%);box-shadow:0 0 0 10px #1a2131,0 0 0 12px #a9823f,0 0 0 13px #3a2f1c,0 18px 40px -10px #000,inset 0 0 50px rgba(2,10,30,.55)}
.pk-rail:after{border-color:rgba(217,182,111,.28)}
.tx-felt{background:radial-gradient(ellipse at 50% 40%,#2f63b8 0%,#1b4790 45%,#0f2f66 78%,#0a2350 100%)!important;box-shadow:0 0 0 9px #1a2131,0 0 0 11px #a9823f,0 18px 40px -10px #000,inset 0 0 50px rgba(2,10,30,.55)!important}
.pk-lic.g-plo4,.pk-lic.g-plo5{background:#1b4790;font-size:19px;font-weight:900}
.pk-lic.g-mata{background:#8e2a2a;font-weight:900;font-size:17px}
.pk-lic.g-bomb{background:#2a2f3a;font-size:18px}
/* Omaha: 4 o 5 cartas propias en abanico */
.pk-my.n4,.pk-my.n5{--cw:40px;left:calc(50% + 28px)}
.pk-my.n4 .pc+.pc,.pk-my.n5 .pc+.pc{margin-left:-18px;transform:none}
.pk-my.n4 .pc:first-child,.pk-my.n5 .pc:first-child{transform:none}
.pk-my.n4 .pc:nth-child(1){transform:rotate(-9deg) translateY(3px)}.pk-my.n4 .pc:nth-child(2){transform:rotate(-3deg)}.pk-my.n4 .pc:nth-child(3){transform:rotate(3deg)}.pk-my.n4 .pc:nth-child(4){transform:rotate(9deg) translateY(3px)}
.pk-my.n5 .pc:nth-child(1){transform:rotate(-12deg) translateY(5px)}.pk-my.n5 .pc:nth-child(2){transform:rotate(-6deg) translateY(1px)}.pk-my.n5 .pc:nth-child(4){transform:rotate(6deg) translateY(1px)}.pk-my.n5 .pc:nth-child(5){transform:rotate(12deg) translateY(5px)}
.pk-oc.show.many{--cw:20px;right:-22px}
.pk-oc.show.many .pc+.pc{margin-left:-9px}
.pk-seat.pk-r .pk-oc.show.many{left:-26px}
/* Mata AA: tus cartas (la cerrada marcada) y las abiertas de los demás bajo su nombre */
.pk-my.mt{--cw:38px;left:calc(50% + 28px)}
.pk-my.mt .pc{transform:none!important}
.pk-my.mt .pc+.pc{margin-left:-10px}
.pk-my.mt .hid{filter:brightness(.78);outline:2px dashed #f2c14e;outline-offset:-3px}
.pk-my.mt .hid:after{content:"cerrada";position:absolute;left:50%;bottom:-14px;transform:translateX(-50%);font-size:8.5px;font-weight:900;color:#f2c14e;white-space:nowrap}
.pk-my.mt .nw{box-shadow:0 0 0 2px #2BE0A6,0 0 14px #2BE0A6aa;transform:translateY(-6px)!important}
.pk-mt{display:flex;--cw:21px;margin-top:3px;justify-content:center}
.pk-mt .pc+.pc{margin-left:-6px}
.pk-mt .was{outline:1.5px dashed #f2c14e;outline-offset:-2px}
.pk-seat.pk-up .pk-mt{order:-1;margin:0 0 3px}
.pk-carry{padding:2px 10px;border-radius:10px;background:linear-gradient(180deg,#f2c14e,#c9952c);color:#1a1205;font-weight:900;font-size:12px;box-shadow:0 4px 12px -4px #000}
/* Bompot: dos boards */
.pk-center.dbl{gap:5px}
.pk-center.dbl .pk-board{--cw:36px;min-height:calc(var(--cw)*1.4);position:relative}
.pk-center.dbl .pk-board:before{content:"▲";position:absolute;left:-16px;top:50%;transform:translateY(-50%);font-size:10px;color:#f2c14e}
.pk-center.dbl .pk-board.b2:before{content:"▼"}
.pk-bombtag{color:#ffb347}
.pk-bombin{white-space:nowrap}
/* Mata AA: elegir la carta nueva */
.pk-choose{flex:1;display:grid;grid-template-columns:auto 1fr 1fr;gap:8px;align-items:center}
.pk-chq{display:grid;justify-items:center;gap:3px;--cw:34px;font-size:10px;font-weight:800;color:#A9B5CB;text-align:center;max-width:86px}
.pk-chq small{font-size:10px}
.pk-choose .pk-btn{height:58px;font-size:14.5px;gap:2px}
.pk-choose .pk-btn small{display:flex;align-items:center;gap:4px;font-size:10.5px;font-weight:800;opacity:.9;--cw:14px}
.pk-cd{color:#f2c14e;font-variant-numeric:tabular-nums}
/* hoja de ajustes compacta y con jaladera (se cierra deslizando hacia abajo) */
.pk-card{max-height:74vh;gap:8px;padding:8px 14px calc(12px + env(safe-area-inset-bottom,0px));touch-action:pan-y;will-change:transform}
.pk-grab{width:44px;height:5px;border-radius:3px;background:rgba(255,255,255,.28);justify-self:center;margin:2px 0 4px}
.pk-card .h3{font-size:16px}
.pk-card .pk-big{font-size:22px}
.pk-card .pk-big small{font-size:11px}
.pk-card input[type=range]{height:24px}
.pk-card .pk-btn{height:42px;font-size:14px;border-radius:10px}
.pk-card .pk-sec{gap:6px;padding:7px 0}
.pk-card .pk-sec b{font-size:13px}
.pk-card .pk-sec .pk-btn{height:38px;font-size:13.5px}
.pk-card .pk-seg button{height:32px;font-size:12px;border-radius:9px}
.pk-card .pk-chk{min-height:34px;font-size:12px}
.pk-card .pk-x{padding:2px 10px}
/* explosión del Bompot */
.pk-boom{position:fixed;inset:0;z-index:200;display:grid;place-items:center;pointer-events:none;overflow:hidden}
.pk-boom>*{grid-area:1/1}
.bm-bomb{position:relative;width:150px;height:150px;animation:bmIn .25s cubic-bezier(.3,1.4,.5,1) both,bmShake .1s linear .25s 6,bmGone .15s ease-in .88s both}
.bm-bomb svg{width:100%;height:100%;filter:drop-shadow(0 10px 20px #000)}
.bm-spark{position:absolute;left:84%;top:13%;width:16px;height:16px;border-radius:50%;background:radial-gradient(circle,#fff,#ffd23f 40%,#ff7a00 70%,transparent 72%);box-shadow:0 0 14px 6px #ff9d2e;animation:bmSpark .9s linear both}
.bm-flash{width:40px;height:40px;border-radius:50%;background:radial-gradient(circle,#fff 0,#ffe27a 25%,#ff8a1f 50%,#d4322c 70%,transparent 72%);opacity:0;animation:bmFlash .9s cubic-bezier(.1,.7,.3,1) .9s both}
.bm-ring{width:60px;height:60px;border-radius:50%;border:6px solid #ffd27a;opacity:0;animation:bmRing .8s ease-out .92s both}
.bm-bits{position:relative;width:0;height:0}
.bm-bits i{position:absolute;width:12px;height:12px;margin:-6px;border-radius:3px;background:linear-gradient(135deg,#ffd27a,#ff5a1f);opacity:0;animation:bmBit .9s cubic-bezier(.15,.7,.3,1) calc(.92s + var(--d)) both}
.bm-bits i:nth-child(3n){background:#3a404c;border-radius:50%}
.bm-txt{margin-top:190px;text-align:center;font-family:var(--display);font-weight:900;font-size:44px;letter-spacing:.04em;color:#ffd27a;text-shadow:0 0 18px #ff6a00,0 4px 0 #8a2a0a,0 8px 20px #000;opacity:0;animation:bmTxt 1.6s ease 1s both}
.bm-txt small{display:block;font-size:14px;letter-spacing:.06em;color:#fff;text-shadow:0 2px 8px #000}
@keyframes bmIn{from{transform:scale(.2) rotate(-30deg);opacity:0}to{transform:none;opacity:1}}
@keyframes bmShake{0%,100%{transform:translate(0) rotate(0)}25%{transform:translate(-3px,1px) rotate(-3deg)}75%{transform:translate(3px,-1px) rotate(3deg)}}
@keyframes bmGone{to{transform:scale(1.6);opacity:0}}
@keyframes bmSpark{0%{transform:scale(.8)}20%{transform:scale(1.3)}40%{transform:scale(.9)}60%{transform:scale(1.4)}100%{transform:scale(1.1) translate(-10px,8px)}}
@keyframes bmFlash{0%{opacity:1;transform:scale(.4)}40%{opacity:1}100%{opacity:0;transform:scale(14)}}
@keyframes bmRing{0%{opacity:.9;transform:scale(.5)}100%{opacity:0;transform:scale(9);border-width:1px}}
@keyframes bmBit{0%{opacity:1;transform:translate(0,0) rotate(0)}100%{opacity:0;transform:translate(var(--x),var(--y)) rotate(400deg)}}
@keyframes bmTxt{0%{opacity:0;transform:scale(.4)}15%{opacity:1;transform:scale(1.15)}25%{transform:scale(1)}80%{opacity:1}100%{opacity:0;transform:translateY(-20px)}}
@media (prefers-reduced-motion:reduce){.bm-bomb,.bm-flash,.bm-ring,.bm-bits i{animation-duration:.01s!important}}
/* tu jugada del momento (discreta) y Rabit */
.pk-hn{position:absolute;left:0;right:0;bottom:-17px;text-align:center;font-size:10.5px;font-weight:700;color:rgba(255,255,255,.62);white-space:nowrap;letter-spacing:.02em;pointer-events:none}
.pk-my.mt .pk-hn{bottom:-30px}
.pk-rabw{position:relative;display:inline-flex;gap:4px}
.pk-rabw.in{animation:pkDeal .35s cubic-bezier(.3,1.3,.5,1) both}
.pk-rabtag{position:absolute;left:50%;top:-15px;transform:translateX(-50%);font-size:9.5px;font-weight:900;letter-spacing:.16em;color:#f2c14e;text-shadow:0 1px 3px #000;white-space:nowrap}
.pk-rab{cursor:pointer;animation:pkPalp 1.1s ease-in-out infinite;box-shadow:0 0 0 1.5px rgba(242,193,78,.7),0 0 12px rgba(242,193,78,.45)}
.pk-rabo{opacity:.92;box-shadow:0 0 0 1.5px rgba(242,193,78,.7)}
@keyframes pkPalp{0%,100%{transform:scale(1)}50%{transform:scale(1.07)}}
@media (prefers-reduced-motion:reduce){.pk-rab{animation:none}}

/* reparto animado: cada carta vuela del centro a su jugador */
.pk-deal{position:fixed;inset:0;pointer-events:none;z-index:60}
.pk-fly{position:fixed;--cw:30px;margin:-21px 0 0 -15px;opacity:0;animation:pkFly .38s cubic-bezier(.2,.8,.2,1) both}
@keyframes pkFly{0%{opacity:0;transform:translate(0,0) rotate(-30deg) scale(.6)}15%{opacity:1}100%{opacity:1;transform:translate(var(--dx),var(--dy)) rotate(0) scale(1)}}
#pk.dealing .pk-oc,#pk.dealing .pk-my,#pk.dealing .pk-mt{visibility:hidden}
@media (prefers-reduced-motion:reduce){.pk-fly{animation-duration:.01s}}

/* Mata AA: la carta de ayuda de en medio va ladeada (no es un flop) */
.pk-board.help .pc:nth-child(2){rotate:35deg;margin:0 8px}
/* tu cerrada: boca abajo hasta que la tocas, y se voltea despacio */
.pk-my.mt .pk-mpeek{cursor:pointer;animation:pkPalpS 1.4s ease-in-out infinite;box-shadow:0 0 0 2px #f2c14e,0 0 14px #f2c14eaa,inset 0 0 0 3px #f6f1e6,inset 0 0 0 5px #0b3b7e;z-index:2}
@keyframes pkPalpS{0%,100%{scale:1}50%{scale:1.07}}
.pk-my.mt .mflip{animation:pkMFlip .55s ease both}
@keyframes pkMFlip{0%{scale:0 1;filter:brightness(1.4)}55%{scale:1.08 1}100%{scale:1 1}}
.pk-vq{font-size:13px;color:#f2c14e;font-weight:900}
.pk-choose .pk-chq{max-width:110px}

/* pots en el centro: montoncitos de fichas con la cantidad chiquita arriba */
.pk-pots{display:flex;gap:14px;justify-content:center;align-items:flex-end;min-height:30px}
.pk-pile{display:grid;justify-items:center;gap:2px}
.pk-pile small{font-size:10.5px;font-weight:700;color:rgba(255,255,255,.72);white-space:nowrap;letter-spacing:.01em}
.pk-chips{display:flex;flex-direction:column-reverse;align-items:center}
.pk-chips i{width:18px;height:6px;border-radius:50%;background:#e0661a;box-shadow:inset 0 -1.5px 0 #9c3f0b,0 0 0 1px #fff3 inset;margin-top:-2px}
.pk-chips i:nth-child(2n){background:#2a6fd6;box-shadow:inset 0 -1.5px 0 #163f80,0 0 0 1px #fff3 inset}
.pk-chips i:nth-child(3n){background:#e9e4d6;box-shadow:inset 0 -1.5px 0 #9a937f}
.pk-chips i:last-child{height:8px;background:radial-gradient(ellipse at 50% 45%,#ffd27a 25%,#e0661a 28%,#e0661a 55%,#fff 57%,#fff 66%,#e0661a 68%)}

/* cartas de los rivales más grandes (pueden salirse un poco de la mesa) */
.pk-mt{--cw:30px;margin-top:4px;z-index:4}
.pk-mt .pc+.pc{margin-left:-12px}
.pk-seat.pk-l .pk-mt{translate:22px 0}
.pk-seat.pk-r .pk-mt{translate:-22px 0}
.pk-oc{--cw:24px}
.pk-oc .pc+.pc{margin-left:-13px}
.pk-oc.show{--cw:34px;right:-34px}
.pk-oc.show .pc+.pc{margin-left:-12px}
.pk-seat.pk-r .pk-oc.show{left:-38px}
.pk-oc.show.many{--cw:30px;right:-30px}
.pk-oc.show.many .pc+.pc{margin-left:-15px}
.pk-seat.pk-r .pk-oc.show.many{left:-34px}
/* las apuestas siempre encima de las cartas, con su ficha visible */
.pk-bet{z-index:6;background:rgba(0,0,0,.62);padding:2px 8px 2px 3px;font-size:12.5px}
.pk-bet i{width:15px;height:15px}
/* Mata AA: las cartas de ayuda más chicas */
.pk-board.help{--cw:36px}
@media (max-width:520px){.pk-board.help{--cw:30px}.pk-board.help .pc:nth-child(2){margin:0 5px}}
.pk-my [data-pk]{cursor:pointer}

/* tu cerrada queda por debajo de las demás (no tapa tus cartas abiertas) */
.pk-my.mt .pc{position:relative;z-index:1}
.pk-my.mt .pk-mpeek,.pk-my.mt .hid{z-index:0}
/* elegir la carta que viene: botones chicos, solo texto */
.pk-choose.sm .pk-btn{height:40px;font-size:14px;padding:0 10px}
.pk-choose.sm{grid-template-columns:auto 110px 110px;justify-content:center;gap:10px}
.pk-choose.sm .pk-chq{max-width:120px}
/* en PC: cartas de los rivales todavía más grandes */
@media (min-width:900px){
  .pk-mt{--cw:38px}
  .pk-mt .pc+.pc{margin-left:-15px}
  .pk-seat.pk-l .pk-mt{translate:34px 0}
  .pk-seat.pk-r .pk-mt{translate:-34px 0}
  .pk-oc{--cw:28px}
  .pk-oc.show{--cw:40px;right:-40px}
  .pk-seat.pk-r .pk-oc.show{left:-44px}
  .pk-oc.show.many{--cw:34px;right:-34px}
  .pk-seat.pk-r .pk-oc.show.many{left:-38px}
}

/* tu cerrada ya volteada: mismo color que las demás, con un brillo dorado en el contorno */
.pk-my.mt .hid{filter:none;outline:none;box-shadow:0 0 0 2px #f2c14e,0 0 12px 2px rgba(242,193,78,.55),0 6px 16px -4px #0009}

/* Mata AA: todas tus cartas visibles siempre (cada una deja ver su esquina) */
.pk-my.mt{--cw:36px}
.pk-my.mt .pc,.pk-my.mt .pk-mpeek,.pk-my.mt .hid{z-index:auto}
.pk-my.mt .pc+.pc{margin-left:-8px}
/* ganador: sus cartas con contorno de luz */
.pk-seat.won .pk-mt .pc,.pk-seat.won .pk-oc .pc,.pk-my.won .pc{box-shadow:0 0 0 2px #2BE0A6,0 0 14px 3px rgba(43,224,166,.6),0 6px 16px -4px #0009}
/* fichas que viajan del pot al ganador */
.pk-chipfly{position:fixed;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:radial-gradient(circle,#ffd27a 30%,#e0661a 32%,#e0661a 55%,#fff 57%,#fff 66%,#e0661a 68%);box-shadow:0 2px 5px #0009;opacity:0;animation:pkChip .42s cubic-bezier(.45,0,.2,1) both}
@keyframes pkChip{0%{opacity:0;transform:translate(0,0) scale(.85)}12%{opacity:1}85%{opacity:1}100%{opacity:0;transform:translate(var(--dx),var(--dy)) scale(.9)}}
@media (prefers-reduced-motion:reduce){.pk-chipfly{animation-duration:.01s}}
/* lo que ganó, junto a su ficha; aparece cuando llegan las fichas */
.pk-win{animation-delay:var(--wd,0ms)}
.pk-win span{display:inline-flex;align-items:center;gap:4px}
.pk-win i{width:12px;height:12px;border-radius:50%;flex:none;background:radial-gradient(circle,#ffd27a 30%,#e0661a 32%,#e0661a 55%,#fff 57%,#fff 66%,#e0661a 68%)}
.pk-win{bottom:auto;top:-26px}
.pk-seat.pk-up .pk-win{top:auto;bottom:-26px}

/* Blackjack compacto: la mesa y las cartas mandan; Recargar y Levantarse arriba a la derecha */
.bj-top{gap:6px;padding-left:10px;padding-right:10px}
.bj-top .grow{min-width:0}
.bj-top .grow b,.bj-top .grow small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bjtb{flex:none;height:32px;padding:0 10px;border-radius:10px;font-size:12px;font-weight:900;color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.6);white-space:nowrap}
.bjtb.y{background:#FFC72C;color:#1a1205;box-shadow:none}
.bjtb:active{transform:translateY(1px)}
.bj-body .bjctl{gap:6px;padding:8px 10px calc(8px + env(safe-area-inset-bottom,0px))}
.bjmsg{font-size:13.5px}
.bjmsg.turn{font-size:13.5px}
.bjmsg.turn b{font-size:16px}
.bjmsg.big{font-size:17px}
.bjrow.acts{display:grid;grid-template-columns:repeat(auto-fit,minmax(68px,1fr));gap:6px}
.bjrow.acts .bjbtn,.bjbtn{min-height:40px;font-size:13.5px;padding:0 8px;border-radius:10px;max-width:none}
.bjrow.acts .bjbtn{min-height:42px}
.bjbtn.y,.bjbtn.r,.bjbtn.g,.bjbtn.w{box-shadow:0 3px 0 rgba(0,0,0,.35)}
.bjbtn small{font-size:9.5px;margin-top:0}
.bjfoot{flex-wrap:nowrap}
.bjrep{font-size:12px;gap:6px}
.bjrep .sw{width:34px;height:20px}
.bjrep .sw::after{width:14px;height:14px}
.bjrep input:checked+.sw::after{transform:translateX(14px)}
.bjwal{display:flex;gap:6px;flex:none}
.bjwal span{display:grid;justify-items:end;padding:3px 9px;border-radius:9px;background:rgba(255,255,255,.06);line-height:1.15}
.bjwal span.on{background:rgba(242,193,78,.14);box-shadow:inset 0 0 0 1px rgba(242,193,78,.35)}
.bjwal small{font-size:9.5px;color:#cfc8b2;font-weight:700;text-transform:uppercase;letter-spacing:.03em}
.bjwal b{font-size:15px;color:#fff;font-variant-numeric:tabular-nums}
.bjwal span.on b{color:#FFE08A}
.bjhint{font-size:11px}
@media (max-width:520px){
  .bjrow.acts .bjbtn{flex:none;min-height:42px;font-size:13px;padding:0 4px}
  .bjchip{width:40px;height:40px;font-size:12.5px}
  .bjtb{padding:0 8px;font-size:11.5px}
  .bj-top .bjx.sm{width:30px;height:30px;font-size:14px}
}
.bjrow.acts .bjbtn small{white-space:nowrap;font-size:9px;letter-spacing:0}
.bj-top .grow small{font-size:11px}

/* Inicio: Arma tu reta */
.rq-card{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:12px 14px;border-radius:var(--r2);background:linear-gradient(135deg,#0E5A4A,#073A33 60%,#04211F);border:1px solid rgba(95,240,190,.35);color:#fff;box-shadow:0 8px 24px rgba(0,0,0,.25)}
.rq-card .rq-art{width:52px;height:52px;flex:none;display:block}
.rq-card b{display:block;font-size:18px;font-weight:900}
.rq-card small{display:block;font-size:12.5px;color:#bfeee0;margin-top:2px}
.rq-card .rq-go{flex:none;padding:8px 14px;border-radius:99px;background:#5FF0BE;color:#04211F;font-weight:900;font-size:13px}
.rq-card:active{transform:scale(.99)}
.rq-sports{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px}
.rq-sports button{flex:none;display:flex;align-items:center;gap:8px;padding:8px 14px 8px 8px;border-radius:14px;background:var(--ghost2);border:1px solid var(--line2);color:var(--fg)}
.rq-sports button span{width:30px;height:30px;display:block}
.rq-sports button.on{border-color:#5FF0BE;background:rgba(95,240,190,.14)}
.rq-modes{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.rq-modes button{display:grid;gap:3px;text-align:left;padding:12px;border-radius:14px;background:var(--card);border:1px solid var(--line2);color:var(--fg);min-height:74px;align-content:start}
.rq-modes button b{font-size:15px;font-weight:900}
.rq-modes button small{font-size:12px;color:var(--muted);line-height:1.3}
.rq-modes button:active{border-color:#5FF0BE}

/* Juegos: íconos arriba y mesas que se deslizan a los lados */
.gx-pick{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.gx-tile{display:grid;justify-items:center;gap:5px;padding:10px 4px 9px;border-radius:16px;background:var(--card);border:1px solid var(--line2);color:var(--fg);min-width:0}
.gx-tile .gx-ic{width:40px;height:40px;display:block}
.gx-tile .gx-ic svg{width:100%;height:100%}
.gx-tile b{font-size:11.5px;font-weight:800;line-height:1.15;text-align:center}
.gx-tile.on{border-color:var(--gold);background:linear-gradient(180deg,rgba(217,182,111,.22),rgba(217,182,111,.06));box-shadow:0 0 0 1px var(--gold) inset}
.gx-tile.on b{color:var(--gold-t)}
.gx-pane>summary{pointer-events:none;list-style:none}
.gx-pane>summary::-webkit-details-marker{display:none}
.gx-pane>summary::after{display:none!important}
.gx-pane{animation:gxIn .25s var(--ease)}
@keyframes gxIn{from{opacity:0;transform:translateY(6px)}}
@media (max-width:899px){
  .gx-car{display:flex!important;grid-template-columns:none!important;overflow-x:auto;scroll-snap-type:x mandatory;gap:10px;padding:2px 2px 8px;margin:0 -2px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .gx-car::-webkit-scrollbar{display:none}
  .gx-car>*{flex:0 0 82%;scroll-snap-align:start;min-width:0}
}
@media (min-width:600px){.gx-pick{grid-template-columns:repeat(6,1fr)}}
.gx-pick,.gx-pane,.gx-pane>*{min-width:0;max-width:100%}
.gx-car{min-width:0;max-width:100%}
.gx-pane{grid-template-columns:minmax(0,1fr)}
.gx-pane[hidden]{display:none!important}

/* Blackjack: tira de fichas deslizable, Repartir y palomita de listo */
.bjstrip{display:flex;align-items:center;gap:4px;width:100%;max-width:520px}
.bjstrip .bjchips{flex:1;min-width:0;flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;padding:4px 2px 6px;-webkit-overflow-scrolling:touch}
.bjstrip .bjchips::-webkit-scrollbar{display:none}
.bjstrip .bjchip{flex:none;scroll-snap-align:start}
.bjstrip .bjchips:not(:has(> :nth-child(7))){justify-content:center}
.bjarw{flex:none;width:26px;height:40px;border-radius:9px;background:rgba(255,255,255,.08);color:#FFE08A;font-size:22px;font-weight:900;line-height:1}
.bjchip.c250{background:#e86a10}
.bjchip.c500{background:#5d2a8a}
.bjchip.c1000{background:#d9b66f;color:#1a1205;border-color:#1a1205}
.bjchip.c2500{background:#0d7f8a}
.bjchip.c5000{background:#a3123a}
.bjchip.c10000{background:#222;color:#FFE08A;border-color:#FFE08A}
.bjchip:disabled{opacity:.35}
.bjok{display:inline-grid;place-items:center;width:16px;height:16px;border-radius:50%;background:#16C08A;color:#03140d;font-size:11px;font-weight:900;margin-right:3px;vertical-align:-2px}
.bjmsg .bjok{width:18px;height:18px;font-size:12px}
.bjlim{font-size:11.5px;color:#a9a28c;white-space:nowrap}
.bjpend{color:#FFE08A;font-size:16px}
.bjpile.pend{opacity:.75;filter:saturate(.8)}
.bjctl{grid-template-columns:minmax(0,1fr)}.bjctl>*{min-width:0;max-width:100%}.bjstrip{justify-self:stretch;margin:0 auto}

/* Blackjack: carta tapada al doblar, cuenta y apuesta sin encimarse */
.bjc.dbl{rotate:90deg;margin:0 calc(var(--w,30px)*.18) 0 calc(var(--w,30px)*.12)!important}
.bjh .bjv{flex-direction:column;gap:5px!important;align-items:center}
.bj-room .bjh .tot{background:#fff;color:#0b1a12;font-size:13px;font-weight:900;padding:2px 9px;box-shadow:0 1px 0 rgba(0,0,0,.4)}
.bj-room .bjh .tot.bust{background:#c62828;color:#fff}
.bjpile.spot{width:34px;height:30px}
.bjpile.spot b{top:auto;bottom:2px;left:50%;right:auto;transform:translateX(-50%);background:rgba(0,0,0,.78);color:#FFE08A;font-size:10.5px;padding:1px 6px;box-shadow:0 0 0 1px rgba(255,224,138,.5);z-index:2}
.bjtg{display:grid;gap:4px}
.bjask{display:grid;gap:6px;width:100%;text-align:center}
.bjask>b{font-size:13.5px;color:#FFE08A}
@media (max-width:520px){
  .bj-room .bjh:not(.big) .tot{font-size:11.5px;padding:1px 7px}
  .bjpile.spot b{font-size:9.5px;padding:1px 5px}
}

/* ───────── Toques visuales (js/estilo.js) ───────── */
@property --fxa{syntax:"<angle>";initial-value:0deg;inherits:false}
/* tarjetas que entran en cascada */
.fx-in{animation:fxUp .5s var(--ease,cubic-bezier(.2,.8,.2,1)) var(--fxd,0ms) both}
@keyframes fxUp{from{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}
.fx-count{font-variant-numeric:tabular-nums}
/* brillo que sigue al dedo / mouse */
:where(.card.hover,.card.table,.gx-tile,.rq-card,.dl-card,.r-opt){position:relative;isolation:isolate}
:where(.card.hover,.card.table,.gx-tile,.rq-card,.dl-card,.r-opt)::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:1;opacity:0;transition:opacity .3s;background:radial-gradient(240px circle at var(--mx,50%) var(--my,50%),rgba(255,231,176,.16),transparent 62%)}
.fx-lit::after{opacity:1}
.fx-tilt{transform:perspective(800px) rotateX(var(--rx,0)) rotateY(var(--ry,0)) translateY(-3px)!important;transition:transform .12s ease-out,border-color .25s,box-shadow .25s}
/* borde con luz que corre: lo más importante de la pantalla */
.rq-card{border:1.5px solid transparent;background:linear-gradient(135deg,#0E5A4A,#073A33 60%,#04211F) padding-box,conic-gradient(from var(--fxa),rgba(95,240,190,.15) 0deg,rgba(95,240,190,.15) 250deg,#5FF0BE 320deg,#fff 340deg,rgba(95,240,190,.15) 360deg) border-box;animation:fxSpin 4.5s linear infinite}
.gx-tile.on{border:1.5px solid transparent;background:linear-gradient(180deg,#2a2412,#14130f) padding-box,conic-gradient(from var(--fxa),rgba(217,182,111,.25) 0deg,rgba(217,182,111,.25) 250deg,#FFE7B0 320deg,#fff 340deg,rgba(217,182,111,.25) 360deg) border-box;animation:fxSpin 4s linear infinite;box-shadow:0 8px 24px -10px rgba(217,182,111,.45)}
:root[data-mode=day] .gx-tile.on{background:linear-gradient(180deg,#fff7e6,#fff) padding-box,conic-gradient(from var(--fxa),rgba(154,116,48,.25) 0deg,rgba(154,116,48,.25) 250deg,#C9A256 320deg,#8a6420 340deg,rgba(154,116,48,.25) 360deg) border-box}
@keyframes fxSpin{to{--fxa:360deg}}
.gx-tile .gx-ic{transition:transform .35s cubic-bezier(.3,1.6,.5,1)}
.gx-tile.on .gx-ic,.gx-tile:active .gx-ic{transform:scale(1.12) rotate(-4deg)}
.gx-tile:active,.rq-card:active,.rq-modes button:active{transform:scale(.97)}
/* chispas al tocar */
.fx-spark{position:fixed;width:0;height:0;pointer-events:none;z-index:9999}
.fx-spark i{position:absolute;left:-1px;top:-6px;width:2.5px;height:12px;border-radius:2px;background:linear-gradient(#fff,#F2C14E);transform-origin:50% 6px;rotate:var(--a);animation:fxSpark .5s cubic-bezier(.2,.8,.2,1) forwards}
@keyframes fxSpark{0%{translate:0 0;scale:1 1;opacity:1}100%{translate:calc(sin(var(--a))*26px) calc(cos(var(--a))*-26px);scale:1 .2;opacity:0}}
@media (prefers-reduced-motion:reduce){.fx-in,.rq-card,.gx-tile.on{animation:none}.fx-spark{display:none}.fx-tilt{transform:none!important}}
