/* Entrenador (js/entrenador.js): ventana a pantalla completa en el teléfono, centrada en PC */
#mEntrenador.modal{padding:0;align-items:stretch;justify-content:center;z-index:60;background:rgba(5,8,14,.6)}
.ent-caja{width:100%;max-width:1180px;height:100vh;height:100dvh;display:flex;flex-direction:column;background:var(--bg);overflow:hidden;animation:entEntra .22s ease-out}
@media (min-width:900px){.ent-caja{margin:20px;height:calc(100vh - 40px);border:1px solid var(--linea);border-radius:14px;box-shadow:var(--sombra)}}
@keyframes entEntra{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.ent-cab{display:flex;align-items:center;gap:8px;min-height:52px;padding:env(safe-area-inset-top) 6px 0 14px;border-bottom:1px solid var(--linea);flex:none}
.ent-cab .ent-volver{margin-left:-8px}
.ent-tit{font-size:15px;font-weight:800;letter-spacing:.2px;margin-right:auto;white-space:nowrap}
.ent-nivel{display:flex;align-items:center;gap:6px}
.ent-nv{font-size:11px;font-weight:800;color:var(--acento);white-space:nowrap}
.ent-xp{width:64px;height:6px;border-radius:3px;background:var(--panel2);overflow:hidden}
.ent-xp i{display:block;height:100%;background:linear-gradient(90deg,var(--acento),var(--acento2));border-radius:3px;transition:width .9s cubic-bezier(.2,.8,.2,1)}
.ent-racha{display:flex;align-items:center;gap:2px;color:var(--tenue);font-weight:800;font-size:12px}
.ent-racha .ic{width:17px;height:17px}
.ent-racha.on{color:#ff9f1c}
.ent-racha.late{animation:entLate .5s ease-out}
@keyframes entLate{40%{transform:scale(1.3)}}
.ent-son.on{color:var(--acento)}
.ent-cuerpo{flex:1;min-height:0;overflow:auto;position:relative;overscroll-behavior:contain}

/* cargando */
.ent-cargando{display:flex;gap:6px;justify-content:center;align-items:center;padding:40px 0;position:absolute;inset:0;pointer-events:none}
.ent-cargando i{width:8px;height:8px;border-radius:50%;background:var(--acento);animation:iaPunto 1s infinite ease-in-out}
.ent-cargando i:nth-child(2){animation-delay:.15s}.ent-cargando i:nth-child(3){animation-delay:.3s}
.ent-error{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:16px;text-align:center;color:var(--suave)}

/* inicio */
.ent-inicio{max-width:720px;margin:0 auto;padding:16px 16px calc(24px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:10px}
.ent-tarjeta{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;padding:16px;border-radius:14px;background:var(--panel);border:1px solid var(--linea);transition:transform .12s,border-color .12s}
.ent-tarjeta:hover{border-color:var(--linea2)}
.ent-tarjeta:active,.ent-lec:active,.ent-mini:active,.ent-b:active{transform:scale(.98)}
.ent-tarjeta b{font-size:16px}
.ent-tarjeta small{color:var(--suave);line-height:1.4}
.ent-tarjeta.grande{padding:20px 18px;background:linear-gradient(135deg,var(--panel2),var(--panel));border-color:var(--linea2)}
.ent-tarjeta.grande b{font-size:22px}
.ent-tarjeta.pendiente{border-color:var(--acento)}
.ent-kicker{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:1px;color:var(--acento)}
.ent-cta{margin-top:8px;padding:8px 16px;border-radius:10px;background:var(--acento);color:var(--acentoTxt);font-weight:800}
.ent-h{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--tenue);margin:8px 2px 0}
.ent-lecs{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ent-lec{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:12px;border-radius:12px;background:var(--panel);border:1px solid var(--linea);text-align:left;min-width:0}
.ent-lec b{font-size:13px;line-height:1.25}
.ent-lec small{color:var(--tenue);font-size:11px}
.ent-lec.hecha small{color:var(--verde)}
.ent-barra{display:block;width:100%;height:4px;border-radius:2px;background:var(--panel2);overflow:hidden}
.ent-barra i{display:block;height:100%;background:var(--acento)}
.ent-lec.hecha .ent-barra i{background:var(--verde)}
.ent-fila{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ent-mini{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:12px;border-radius:12px;background:var(--panel);border:1px solid var(--linea);text-align:left}
.ent-mini small{color:var(--suave);font-size:11px}
.ent-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:4px}
.ent-stats span{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 2px;border-radius:10px;background:var(--bg2);color:var(--tenue);font-size:10px;text-align:center}
.ent-stats b{font-size:15px;color:var(--texto);font-variant-numeric:tabular-nums}
.ent-nota{color:var(--suave);font-size:12px;line-height:1.5;margin-top:4px}
.ent-link{color:var(--acento);font-weight:700;text-decoration:underline;text-underline-offset:2px}

/* juego */
.ent-juego{position:relative;display:flex;flex-direction:column;height:100%;min-height:0}
.ent-info{display:flex;align-items:center;gap:8px;padding:8px 12px 4px;flex:none;min-width:0}
.ent-modo{font-weight:800;font-size:12px;color:var(--acento);white-space:nowrap}
.ent-tf{color:var(--suave);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.ent-paso{font-size:11px;font-weight:700;color:var(--texto);background:var(--panel2);padding:2px 8px;border-radius:10px;white-space:nowrap}
.ent-rsi{margin-left:auto;font-size:11px;font-weight:700;padding:4px 10px;border-radius:8px;border:1px solid var(--linea2);color:var(--suave)}
.ent-rsi.on{color:#a78bfa;border-color:#a78bfa}
.ent-intro{margin:2px 12px 4px;padding:8px 10px;border-radius:10px;background:var(--bg2);color:var(--suave);font-size:12px;line-height:1.45;flex:none}
.ent-graf{position:relative;flex:1;min-height:220px;margin:0 4px}
.ent-lw{position:absolute;inset:0}
.ent-asa{position:absolute;top:0;display:flex;align-items:center;gap:6px;height:32px;padding:0 12px 0 8px;border-radius:16px;font-size:12px;font-weight:800;touch-action:none;user-select:none;-webkit-user-select:none;cursor:ns-resize;z-index:3;box-shadow:0 4px 14px rgba(0,0,0,.35);white-space:nowrap;transition:box-shadow .12s,scale .12s}
.ent-asa i{width:10px;height:10px;background:linear-gradient(currentColor,currentColor) 0 2px/100% 2px no-repeat,linear-gradient(currentColor,currentColor) 0 6px/100% 2px no-repeat;opacity:.7}
.ent-asa.obj{background:var(--verde);color:#03170d}
.ent-asa.stp{background:var(--rojo);color:#fff}
.ent-asa.on{scale:1.08;box-shadow:0 6px 20px rgba(0,0,0,.5)}
.ent-asa::before{content:"";position:absolute;inset:-8px -4px}
.ent-asa:focus-visible{outline:2px solid var(--texto);outline-offset:2px}
.ent-acciones{flex:none;padding:8px 12px calc(10px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:8px}
.ent-acciones:empty{display:none}
.ent-pregunta{text-align:center;color:var(--suave);font-size:12px}
.ent-revela{padding:14px 0;color:var(--acento);font-weight:700;animation:entLatido 1s infinite}
@keyframes entLatido{50%{opacity:.5}}
.ent-tres{display:grid;grid-template-columns:1fr .8fr 1fr;gap:8px}
.ent-dos{display:flex;align-items:center;gap:8px}
.ent-dos .ent-b{flex:1}
.ent-b{height:50px;border-radius:12px;font-weight:800;font-size:15px;padding:0 12px;transition:transform .1s,filter .12s;white-space:nowrap}
.ent-b:hover{filter:brightness(1.08)}
.ent-b.compra{background:var(--verde);color:#03170d}
.ent-b.venta{background:var(--rojo);color:#fff}
.ent-b.espera,.ent-b.sec{background:var(--panel2);color:var(--texto);border:1px solid var(--linea2)}
.ent-b.prim{background:var(--acento);color:var(--acentoTxt)}
.ent-dos .ent-b.sec{flex:0 0 auto;min-width:92px}
.ent-sinstop{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--suave);white-space:nowrap}
.ent-sinstop input{accent-color:var(--rojo);width:16px;height:16px}
.ent-riesgo{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;font-size:12px;color:var(--suave)}
.ent-riesgo b{color:var(--texto);font-variant-numeric:tabular-nums}
.ent-chips{display:flex;gap:6px;flex-wrap:wrap;width:100%}
.ent-chip{font-size:11px;font-weight:700;padding:3px 8px;border-radius:10px}
.ent-chip.ok{background:rgba(31,201,122,.14);color:var(--verde)}
.ent-chip.mal{background:rgba(240,67,79,.14);color:var(--rojo)}

/* resultado: hoja desde abajo en el teléfono, panel a la derecha en PC */
.ent-res{position:absolute;left:0;right:0;bottom:0;max-height:64%;overflow:auto;background:var(--panel);border-top:1px solid var(--linea2);border-radius:16px 16px 0 0;
  padding:4px 16px calc(14px + env(safe-area-inset-bottom));box-shadow:0 -14px 40px rgba(0,0,0,.35);transform:translateY(105%);transition:transform .35s cubic-bezier(.2,.8,.2,1),max-height .3s;z-index:5;overscroll-behavior:contain}
.ent-res.on{transform:none}
.ent-res.plegado{max-height:124px;overflow:hidden}
.ent-asa-res{display:flex;justify-content:center;width:100%;padding:6px 0 8px}
.ent-asa-res i{width:40px;height:4px;border-radius:2px;background:var(--linea2)}
.ent-res-cab{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.ent-r{font-size:30px;font-weight:900;letter-spacing:-.5px;animation:entPop .45s cubic-bezier(.2,1.4,.4,1)}
.ent-r.pos{color:var(--verde)}.ent-r.neg{color:var(--rojo)}
@keyframes entPop{from{transform:scale(.6);opacity:0}}
.ent-sub{color:var(--suave);font-size:12px;width:100%;order:3;margin-top:-6px}
.ent-pts{display:flex;flex-direction:column;align-items:flex-end}
.ent-pts b{font-size:26px;font-weight:900;color:var(--acento);font-variant-numeric:tabular-nums}
.ent-pts small{font-size:10px;color:var(--tenue);text-transform:uppercase;letter-spacing:1px}
.ent-subir{margin:10px 0 0;padding:10px;border-radius:10px;text-align:center;font-weight:900;color:var(--acentoTxt);background:linear-gradient(90deg,var(--acento),var(--acento2));animation:entPop .5s .3s both cubic-bezier(.2,1.4,.4,1)}
.ent-subir::before{content:"Subes a ";font-weight:700}
.ent-med-nueva{display:flex;align-items:center;gap:10px;margin-top:10px;padding:10px;border-radius:10px;background:var(--bg2);border:1px solid var(--acento);animation:entPop .5s .45s both cubic-bezier(.2,1.4,.4,1)}
.ent-med-nueva small{display:block;color:var(--suave);font-size:11px}
.ent-med-nueva i,.ent-med i{flex:none;width:34px;height:34px;border-radius:50%;background:radial-gradient(circle at 35% 30%,var(--acento2),var(--acento) 60%,#8a6a10);box-shadow:inset 0 0 0 3px rgba(255,255,255,.18)}
.ent-partes{list-style:none;margin:12px 0 0;display:flex;flex-direction:column;gap:5px}
.ent-partes li{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:var(--suave);animation:entSube .3s both}
.ent-partes li:nth-child(2){animation-delay:.08s}.ent-partes li:nth-child(3){animation-delay:.16s}.ent-partes li:nth-child(4){animation-delay:.24s}.ent-partes li:nth-child(5){animation-delay:.32s}.ent-partes li:nth-child(6){animation-delay:.4s}
@keyframes entSube{from{opacity:0;transform:translateY(6px)}}
.ent-partes b{font-variant-numeric:tabular-nums;color:var(--tenue)}
.ent-partes b.pos{color:var(--verde)}.ent-partes b.neg{color:var(--rojo)}
.ent-mejor,.ent-revelado,.ent-diario{margin-top:12px;font-size:12px;line-height:1.5;color:var(--suave)}
.ent-mejor b,.ent-revelado b,.ent-diario b{color:var(--texto)}
.ent-exp{margin-top:12px;padding:10px 12px;border-radius:10px;background:var(--bg2);border-left:3px solid var(--acento)}
.ent-exp b{font-size:12px}
.ent-exp p{font-size:12px;line-height:1.5;color:var(--suave);margin-top:4px}
.ent-lecfin{display:flex;flex-direction:column;gap:2px;margin-top:12px;padding:10px 12px;border-radius:10px;background:rgba(31,201,122,.1);color:var(--verde)}
.ent-lecfin span{color:var(--suave);font-size:12px}
.ent-dos.fin{margin-top:14px}
@media (min-width:900px){
  .ent-juego.res-on .ent-graf{margin-right:372px}
  .ent-juego.res-on .ent-intro,.ent-juego.res-on .ent-info{margin-right:372px}
  .ent-res{left:auto;top:0;width:360px;max-height:none;border-radius:0;border-top:0;border-left:1px solid var(--linea);transform:translateX(105%);box-shadow:none;padding-top:14px}
  .ent-res.plegado{max-height:none;overflow:auto}
  .ent-asa-res{display:none}
}

/* clasificación y medallas */
.ent-tablas,.ent-medallas{max-width:640px;margin:0 auto;padding:14px 16px calc(24px + env(safe-area-inset-bottom))}
.ent-pest{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border-radius:12px;background:var(--panel2);margin-bottom:12px}
.ent-pest button{height:36px;border-radius:9px;font-weight:700;color:var(--suave)}
.ent-pest button.on{background:var(--panel);color:var(--texto);box-shadow:0 2px 8px rgba(0,0,0,.2)}
.ent-tabla{position:relative;min-height:120px}
.ent-lista{list-style:none;display:flex;flex-direction:column;gap:4px}
.ent-lista li{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;background:var(--panel);font-variant-numeric:tabular-nums}
.ent-lista li.yo{outline:1px solid var(--acento)}
.ent-lista li:nth-child(-n+3) .ent-pos{color:var(--acentoTxt);background:var(--acento)}
.ent-pos{flex:none;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:800;background:var(--panel2);color:var(--suave)}
.ent-nom{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ent-nom em{font-style:normal;font-size:10px;color:var(--acento);font-weight:800;text-transform:uppercase}
.ent-tnota{font-size:12px;color:var(--suave);margin:4px 2px 10px;line-height:1.5}
.ent-tnota b{color:var(--texto)}
.ent-tnota.suave{color:var(--tenue);margin-top:12px}
.ent-vacio{padding:24px 8px;text-align:center;color:var(--suave);display:flex;flex-direction:column;align-items:center;gap:12px}
.ent-ligas{display:flex;gap:4px;margin-bottom:8px;overflow-x:auto;scrollbar-width:none}
.ent-ligas span{flex:1;text-align:center;font-size:10px;font-weight:800;padding:6px 4px;border-radius:8px;background:var(--bg2);color:var(--tenue);text-transform:uppercase;letter-spacing:.5px}
.ent-ligas span.on{background:var(--acento);color:var(--acentoTxt)}
.ent-mgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.ent-med{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:14px 10px;border-radius:12px;background:var(--panel);border:1px solid var(--linea);opacity:.55}
.ent-med i{filter:grayscale(1) brightness(.6)}
.ent-med.on{opacity:1;border-color:var(--linea2)}
.ent-med.on i{filter:none}
.ent-med b{font-size:12px}
.ent-med small{font-size:11px;color:var(--suave);line-height:1.35}
.ent-med em{font-style:normal;font-size:10px;color:var(--acento)}

/* recordatorio discreto y punto en el botón Más */
.ent-reto{position:fixed;left:calc(var(--izq) + 12px);bottom:40px;z-index:40;display:flex;align-items:center;border-radius:18px;background:var(--panel);border:1px solid var(--acento);box-shadow:var(--sombra);opacity:0;transform:translateY(8px);transition:opacity .25s,transform .25s;pointer-events:none}
.ent-reto.on{opacity:1;transform:none;pointer-events:auto}
.ent-reto-ir{height:34px;padding:0 4px 0 14px;font-weight:800;font-size:12px;color:var(--acento)}
.ent-reto-x{width:32px;height:34px;display:grid;place-items:center;color:var(--tenue)}
.ent-reto-x .ic{width:14px;height:14px}
.ent-punto{position:relative}
.ent-punto::after{content:"";position:absolute;top:6px;right:6px;width:7px;height:7px;border-radius:50%;background:var(--acento);box-shadow:0 0 0 2px var(--bg)}
@media (max-width:900px){.ent-reto{left:12px;bottom:calc(70px + env(safe-area-inset-bottom))}}
@media (max-width:599px){
  .ent-cab{gap:6px;padding-left:12px}
  .ent-xp{width:44px}
  .ent-tres .ent-b{font-size:14px}
  .ent-b{height:48px}
  .ent-lec{padding:10px}
}
@media (prefers-reduced-motion:reduce){.ent-caja,.ent-r,.ent-subir,.ent-med-nueva,.ent-partes li{animation:none}.ent-res{transition:none}}
.ent-pista{font-size:11px;color:var(--acento);width:100%}
