/* Entrenador defensivo PatanRex — todo bajo #prx-entrenador (especificidad de ID: le gana al theme
   sin !important). Lecciones de Notas/trampas-web.md aplicadas:
   - La tipografía se declara (Poppins la sirve Elementor), nunca se hereda.
   - Todo <button> declara fondo Y color en :focus, :focus-visible, :hover y :active (reset.css del
     theme pinta #c36) y su propio padding.
   - Todo <a> declara color. Sin overflow-x:hidden: el ancho se resuelve con min-width:0. */
#prx-entrenador, .prx-ent-aviso {
  --pe-fondo: #000814; --pe-sup: #001D3D; --pe-paso: #003566; --pe-linea: #365674;
  --pe-texto: #ECF3FB; --pe-tenue: #B4C7DD; --pe-azul: #1D6BF3; --pe-oro: #FCD752; --pe-error: #FFB4A6; --pe-ok: #9FE3B5;
  font-family: Poppins, "Segoe UI", system-ui, sans-serif; color: var(--pe-texto); background: var(--pe-fondo);
  font-size: 16px; line-height: 1.55; box-sizing: border-box;
}
#prx-entrenador { max-width: 1280px; margin: 0 auto; padding: 24px clamp(16px, 3vw, 32px); border-radius: 8px; }
/* 0.10.0 (encargo de Astra): ocupa la ventana desde que abre, como un juego. Sin el título, la cabecera ni el pie del
   theme alrededor; el que se desplaza (ajustes largos, celular) es el entrenador, no la página. Solo en esta página. */
html.prx-ent-bloqueo, html.prx-ent-bloqueo body { overflow: hidden !important; }
/* 0.10.1 (A18): el contenedor toma el foco al cargar para que Tab empiece adentro; sin anillo en todo el juego. */
#prx-entrenador.prx-ent-inmersivo:focus { outline: none; }
#prx-entrenador.prx-ent-inmersivo { position: fixed; inset: 0; z-index: 100000; width: 100%; max-width: none; height: 100vh; height: 100dvh; margin: 0;
  border-radius: 0; border: 0; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; padding: 14px clamp(12px, 2.4vw, 28px); }
#prx-entrenador .prx-ent-nav .prx-ent-nav-extra { font: 600 13px Poppins, "Segoe UI", sans-serif; color: var(--pe-tenue, #9fb3c8); background: transparent; border: 1px solid rgba(236,243,251,.25); border-radius: 999px; padding: 6px 12px; text-decoration: none; }
#prx-entrenador .prx-ent-nav .prx-ent-nav-extra:hover, #prx-entrenador .prx-ent-nav .prx-ent-nav-extra:focus, #prx-entrenador .prx-ent-nav .prx-ent-nav-extra:focus-visible, #prx-entrenador .prx-ent-nav .prx-ent-nav-extra:active { color: #ECF3FB; border-color: #ECF3FB; background: transparent; }
#prx-entrenador *, #prx-entrenador *::before, #prx-entrenador *::after { box-sizing: border-box; }
/* hidden manda siempre: las reglas de display con ID de abajo no pueden reabrir algo oculto. */
#prx-entrenador [hidden] { display: none !important; }
.prx-ent-aviso { padding: 16px; border-radius: 6px; border: 1px solid var(--pe-linea); }
#prx-entrenador h1, #prx-entrenador h2, #prx-entrenador h3 { font-family: Poppins, "Segoe UI", system-ui, sans-serif; color: var(--pe-texto); margin: 0 0 12px; line-height: 1.2; }
#prx-entrenador h1.prx-ent-titulo { font-size: clamp(26px, 3vw, 34px); font-weight: 800; margin: 0; }
#prx-entrenador h2 { font-size: 22px; font-weight: 700; }
#prx-entrenador h3 { font-size: 17px; font-weight: 700; }
#prx-entrenador p { margin: 0 0 12px; max-width: 72ch; }
#prx-entrenador code { background: var(--pe-sup); padding: 1px 6px; border-radius: 4px; font-size: .9em; }
#prx-entrenador .prx-ent-eyebrow { font-size: 12px; letter-spacing: .14em; color: var(--pe-oro); font-weight: 700; margin: 0 0 6px; }
#prx-entrenador .prx-ent-intro { color: var(--pe-tenue); font-size: 17px; }
#prx-entrenador .prx-ent-tenue { color: var(--pe-tenue); font-size: 14px; }
#prx-entrenador .prx-ent-rotulo { display: inline-block; color: var(--pe-oro); font-weight: 700; font-size: 13px; letter-spacing: .04em; margin: 0 0 10px; }
#prx-entrenador .prx-ent-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
#prx-entrenador .prx-ent-cabecera { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-bottom: 20px; border-bottom: 1px solid var(--pe-linea); padding-bottom: 16px; }
#prx-entrenador .prx-ent-nav { display: flex; flex-wrap: wrap; gap: 6px; }
#prx-entrenador .prx-ent-fila { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
#prx-entrenador .prx-ent-fila h2 { margin: 0; font-size: 18px; }
#prx-entrenador .prx-ent-acciones { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 12px 0; }
#prx-entrenador .prx-ent-estado { background: var(--pe-sup); border-left: 4px solid var(--pe-azul); padding: 12px 16px; border-radius: 6px; margin: 12px 0; max-width: none; }
#prx-entrenador .prx-ent-estado[data-tipo="error"] { border-left-color: var(--pe-error); }
#prx-entrenador .prx-ent-estado[data-tipo="ok"] { border-left-color: var(--pe-ok); }
#prx-entrenador .prx-ent-estado[data-tipo="pendiente"] { border-left-color: var(--pe-oro); }
#prx-entrenador .prx-ent-tarjeta { background: var(--pe-sup); border: 1px solid var(--pe-linea); border-radius: 8px; padding: 20px; margin: 20px 0; }
#prx-entrenador .prx-ent-error { color: var(--pe-error); min-height: 1.5em; }
#prx-entrenador .prx-ent-cargando { color: var(--pe-tenue); padding: 24px 0; }
#prx-entrenador .prx-ent-pie { color: var(--pe-tenue); font-size: 12px; margin-top: 24px; border-top: 1px solid var(--pe-linea); padding-top: 12px; }

/* Botones y enlaces-botón: todos los estados declarados. :focus antes de :hover. */
#prx-entrenador button, #prx-entrenador a.prx-ent-boton {
  font-family: inherit; font-size: 15px; font-weight: 600; line-height: 1.2; cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px 16px;
  border: 1px solid var(--pe-linea); border-radius: 6px; background: var(--pe-sup); color: var(--pe-texto); text-decoration: none; text-transform: none; letter-spacing: 0;
}
#prx-entrenador button:focus, #prx-entrenador a.prx-ent-boton:focus { background: var(--pe-sup); color: var(--pe-texto); }
#prx-entrenador button:focus-visible, #prx-entrenador a:focus-visible, #prx-entrenador select:focus-visible, #prx-entrenador input:focus-visible, #prx-entrenador summary:focus-visible, #prx-entrenador [tabindex="-1"]:focus-visible { outline: 3px solid var(--pe-oro); outline-offset: 3px; }
#prx-entrenador button:hover, #prx-entrenador button:hover:focus, #prx-entrenador button:active, #prx-entrenador a.prx-ent-boton:hover, #prx-entrenador a.prx-ent-boton:active { background: var(--pe-paso); color: var(--pe-texto); }
#prx-entrenador button.prx-ent-primario, #prx-entrenador button.prx-ent-primario:focus { background: var(--pe-oro); color: var(--pe-sup); border-color: var(--pe-oro); }
#prx-entrenador button.prx-ent-primario:hover, #prx-entrenador button.prx-ent-primario:hover:focus, #prx-entrenador button.prx-ent-primario:active { background: #FFE78B; color: var(--pe-sup); }
#prx-entrenador button:disabled, #prx-entrenador button:disabled:hover { opacity: .5; cursor: default; background: var(--pe-sup); color: var(--pe-texto); }
#prx-entrenador button.prx-ent-primario:disabled { background: var(--pe-oro); color: var(--pe-sup); }
#prx-entrenador button.prx-ent-link, #prx-entrenador button.prx-ent-link:focus, #prx-entrenador button.prx-ent-link:hover, #prx-entrenador button.prx-ent-link:active { background: transparent; border-color: transparent; color: var(--pe-oro); min-height: 36px; padding: 6px 8px; text-decoration: underline; }
#prx-entrenador .prx-ent-nav button[aria-current="page"], #prx-entrenador .prx-ent-nav button[aria-current="page"]:focus, #prx-entrenador .prx-ent-nav button[aria-current="page"]:hover { background: var(--pe-azul); border-color: var(--pe-azul); color: #FFFFFF; }
#prx-entrenador a { color: var(--pe-oro); }

/* Formularios */
#prx-entrenador .prx-ent-campo { display: grid; gap: 6px; margin: 0 0 14px; font-size: 14px; color: var(--pe-tenue); }
#prx-entrenador select, #prx-entrenador input[type="text"], #prx-entrenador input:not([type]), #prx-entrenador input[name="alias"] {
  font-family: inherit; font-size: 15px; min-height: 44px; padding: 8px 12px; border-radius: 6px; border: 1px solid var(--pe-linea); background: var(--pe-fondo); color: var(--pe-texto); width: 100%; max-width: 420px;
}
#prx-entrenador fieldset { border: 1px solid var(--pe-linea); border-radius: 6px; padding: 8px 14px; margin: 0 0 12px; }
#prx-entrenador fieldset label, #prx-entrenador .prx-ent-placa-controles > label { display: inline-flex; gap: 8px; align-items: center; margin: 6px 16px 6px 0; min-height: 32px; }
#prx-entrenador details { margin: 16px 0; }
#prx-entrenador summary { cursor: pointer; color: var(--pe-oro); min-height: 32px; }
#prx-entrenador pre { white-space: pre-wrap; word-break: break-word; max-height: 240px; overflow: auto; background: var(--pe-sup); padding: 12px; border-radius: 6px; font-size: 12px; }

/* Motor */
#prx-entrenador .prx-ent-workspace { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 28px; align-items: start; }
#prx-entrenador .prx-ent-cancha, #prx-entrenador #prx-ent-setup { min-width: 0; }
#prx-entrenador #prx-ent-pitch { width: 100%; height: auto; display: block; background: var(--pe-sup); border: 1px solid var(--pe-linea); border-radius: 6px; }
#prx-entrenador #prx-ent-selected { color: var(--pe-oro); font-size: 19px; margin-left: 8px; }
#prx-entrenador .prx-ent-sticks { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 12px 0; }
#prx-entrenador .prx-ent-sticks canvas { width: 100%; max-width: 150px; height: auto; display: block; }
#prx-entrenador .prx-ent-sticks output { font-size: 12px; color: var(--pe-tenue); }
#prx-entrenador progress { width: 100%; height: 12px; accent-color: var(--pe-oro); }
#prx-entrenador.playing #prx-ent-setup { display: none; }
#prx-entrenador.playing .prx-ent-workspace { grid-template-columns: minmax(0, 1fr); }
/* t3t5-r3 (pedido de Patán del 1/10): jugando, la cancha entra entera en la pantalla y queda centrada.
   Se esconden la cabecera, el pie y el título repetido; el ancho se acota por la altura disponible (105:68). */
#prx-entrenador.playing .prx-ent-cabecera, #prx-entrenador.playing .prx-ent-pie, #prx-entrenador.playing #prx-ent-modo-motor, #prx-entrenador.playing #prx-ent-salir-motor, #prx-entrenador.playing #prx-ent-pitch-title, #prx-entrenador.playing #prx-ent-orientation { display: none; }
#prx-entrenador.playing #prx-ent-play-screen { max-width: max(480px, calc((100dvh - 230px) * 105 / 68)); margin: 0 auto; }
#prx-entrenador.playing #prx-ent-play-screen ~ .prx-ent-acciones { justify-content: center; }
/* t3t5-r5: entrenamientos como botones grandes, estilo juego (fondo y color declarados en todos los estados). */
#prx-entrenador .prx-ent-modos { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 10px; margin: 4px 0 16px; }
#prx-entrenador .prx-ent-modos button.modo, #prx-entrenador .prx-ent-modos button.modo:focus { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 4px; text-align: left; min-height: 76px; padding: 12px 14px; border-radius: 12px; border: 1px solid var(--pe-azul); background: linear-gradient(160deg, #003566, #001D3D); color: var(--pe-texto); box-shadow: 0 0 14px rgba(29,107,243,.25) inset; }
#prx-entrenador .prx-ent-modos button.modo:hover, #prx-entrenador .prx-ent-modos button.modo:hover:focus, #prx-entrenador .prx-ent-modos button.modo:active { background: linear-gradient(160deg, #0b4a8a, #002650); color: var(--pe-texto); border-color: var(--pe-oro); }
#prx-entrenador .prx-ent-modos button.modo[aria-pressed="true"], #prx-entrenador .prx-ent-modos button.modo[aria-pressed="true"]:focus, #prx-entrenador .prx-ent-modos button.modo[aria-pressed="true"]:hover { border: 2px solid var(--pe-oro); background: linear-gradient(160deg, var(--pe-azul), #003566); color: var(--pe-texto); box-shadow: 0 0 22px rgba(252,215,82,.35); }
#prx-entrenador .prx-ent-modos button.modo strong { font-size: 16px; font-weight: 800; color: inherit; }
#prx-entrenador .prx-ent-modos button.modo[aria-pressed="true"] strong { color: var(--pe-oro); }
#prx-entrenador .prx-ent-modos button.modo span { font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--pe-tenue); font-weight: 600; }
#prx-entrenador .prx-ent-ajustes { display: flex; flex-wrap: wrap; gap: 0 16px; align-items: end; }
#prx-entrenador .prx-ent-ajustes .prx-ent-campo { min-width: 180px; }

/* Tablas */
/* position: relative contiene a los rótulos ocultos (.prx-ent-sr, absolutos): sin esto se escapan del
   scroll de la tabla y en el celular estiran la página de costado (revisión del 2/10). */
#prx-entrenador .prx-ent-tabla { overflow-x: auto; margin: 12px 0; position: relative; }
#prx-entrenador table { width: 100%; border-collapse: collapse; font-size: 14px; }
#prx-entrenador th, #prx-entrenador td { text-align: left; padding: 8px 10px; border-bottom: 1px solid var(--pe-linea); color: var(--pe-texto); background: transparent; vertical-align: top; }
#prx-entrenador th { color: var(--pe-tenue); font-weight: 600; }
#prx-entrenador tr.prx-ent-yo td { background: rgba(252, 215, 82, .1); }
#prx-entrenador .prx-ent-lista li { margin: 8px 0; }

/* Diálogos */
#prx-entrenador dialog.prx-ent-dialogo { border: 1px solid var(--pe-linea); border-radius: 10px; background: var(--pe-sup); color: var(--pe-texto); padding: 24px; max-width: min(560px, calc(100vw - 32px)); font-family: inherit; }
#prx-entrenador dialog.prx-ent-dialogo::backdrop { background: rgba(0, 8, 20, .75); }

/* Placa */
#prx-entrenador .prx-ent-placa-vista { background: #000; border-radius: 8px; padding: 12px; display: flex; justify-content: center; }
#prx-entrenador #prx-ent-placa-canvas { width: auto; height: auto; max-width: 100%; max-height: 70vh; display: block; }

#prx-entrenador:fullscreen { max-width: none; width: 100%; height: 100%; overflow: auto; border-radius: 0; }
/* En pantalla completa la cancha entra entera: se acota el ancho por la altura disponible (proporción 105:68). */
#prx-entrenador:fullscreen .prx-ent-cancha { width: 100%; max-width: calc((100vh - 240px) * 105 / 68); margin: 0 auto; }
/* t3t5-r2: estilo videojuego con la marca (marcador, puntos, medallas). */
#prx-entrenador .prx-ent-hud { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin: 8px 0 10px; }
#prx-entrenador .prx-ent-hud > div { background: linear-gradient(180deg, #003566, #001D3D); border: 1px solid var(--pe-azul); border-radius: 10px; padding: 6px 10px; text-align: center; box-shadow: 0 0 18px rgba(29,107,243,.25) inset; }
#prx-entrenador .prx-ent-hud span { display: block; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--pe-tenue); }
#prx-entrenador .prx-ent-hud strong { display: block; font-size: clamp(20px, 2.4vw, 28px); font-weight: 800; color: var(--pe-oro); line-height: 1.15; font-variant-numeric: tabular-nums; }
#prx-entrenador .prx-ent-puntos { background: radial-gradient(circle at 20% 0, rgba(252,215,82,.18), transparent 60%), var(--pe-sup); border: 1px solid var(--pe-linea); border-radius: 12px; padding: 16px 20px; margin: 8px 0 14px; }
#prx-entrenador .prx-ent-puntos-valor { font-size: 20px; margin: 0 0 6px; }
#prx-entrenador .prx-ent-puntos-valor strong { font-size: clamp(44px, 6vw, 64px); font-weight: 800; color: var(--pe-oro); line-height: 1; text-shadow: 0 0 22px rgba(252,215,82,.35); }
#prx-entrenador .prx-ent-medalla { display: inline-block; font-weight: 800; padding: 4px 14px; border-radius: 999px; background: var(--pe-paso); color: var(--pe-texto); }
#prx-entrenador .prx-ent-medalla[data-medalla="oro"] { background: var(--pe-oro); color: var(--pe-sup); }
#prx-entrenador .prx-ent-medalla[data-medalla="plata"] { background: #C9D6E3; color: var(--pe-sup); }
#prx-entrenador .prx-ent-medalla[data-medalla="bronce"] { background: #CD8A4F; color: var(--pe-sup); }
#prx-entrenador .prx-ent-medalla:empty { display: none; }
#prx-entrenador .prx-ent-cabecera { background: linear-gradient(90deg, rgba(29,107,243,.22), transparent 70%); border-radius: 10px; padding: 14px 16px; border-bottom: 2px solid var(--pe-azul); }
#prx-entrenador .prx-ent-titulo { letter-spacing: .01em; text-transform: uppercase; }
#prx-entrenador .prx-ent-tarjeta { background: linear-gradient(135deg, #003566, #001D3D 60%); border-color: var(--pe-azul); box-shadow: 0 0 0 1px rgba(252,215,82,.15) inset; }
#prx-entrenador #prx-ent-pitch { border-color: var(--pe-azul); box-shadow: 0 0 24px rgba(29,107,243,.35); }
@media (max-width: 560px) { #prx-entrenador .prx-ent-hud { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 900px) {
  #prx-entrenador .prx-ent-workspace { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
  #prx-entrenador * { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}

/* =============================================================================================
   t3t5-r7 (pedido de Patán del 2/10): portada y pantalla de entrenar estilo juego, con la marca.
   Azul eléctrico + dorado sobre oscuro, poco texto, íconos y fichas. Todo bajo #prx-entrenador.
   ============================================================================================= */
#prx-entrenador { background: radial-gradient(1200px 500px at 85% -10%, rgba(29,107,243,.28), transparent 60%), radial-gradient(900px 420px at -10% 110%, rgba(252,215,82,.10), transparent 60%), var(--pe-fondo); border: 1px solid rgba(29,107,243,.35); box-shadow: 0 20px 60px rgba(0,8,20,.5); }
#prx-entrenador svg { display: inline-block; vertical-align: middle; }
#prx-entrenador .sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
/* Cabecera */
#prx-entrenador .prx-ent-cabecera { background: linear-gradient(90deg, rgba(0,53,102,.85), rgba(0,29,61,.4)); border: 1px solid rgba(29,107,243,.45); border-bottom: 2px solid var(--pe-azul); border-radius: 14px; padding: 10px 14px; margin-bottom: 18px; align-items: center; }
#prx-entrenador .prx-ent-marca { display: flex; align-items: center; gap: 12px; }
#prx-entrenador .prx-ent-logo { width: 126px; height: auto; flex: 0 0 126px; object-fit: contain; }
#prx-entrenador h1.prx-ent-titulo { font-size: clamp(20px, 2.2vw, 26px); letter-spacing: .04em; }
#prx-entrenador .prx-ent-cabecera .prx-ent-eyebrow { margin: 0 0 2px; font-size: 11px; }
#prx-entrenador .prx-ent-nav button, #prx-entrenador .prx-ent-nav button:focus { gap: 8px; min-height: 40px; padding: 8px 14px; border-radius: 999px; background: rgba(0,8,20,.45); border-color: rgba(29,107,243,.45); color: var(--pe-texto); }
#prx-entrenador .prx-ent-nav button svg { width: 18px; height: 18px; color: var(--pe-tenue); }
#prx-entrenador .prx-ent-nav button:hover, #prx-entrenador .prx-ent-nav button:hover:focus, #prx-entrenador .prx-ent-nav button:active { background: var(--pe-paso); color: var(--pe-texto); border-color: var(--pe-azul); }
#prx-entrenador .prx-ent-nav button[aria-current="page"], #prx-entrenador .prx-ent-nav button[aria-current="page"]:focus, #prx-entrenador .prx-ent-nav button[aria-current="page"]:hover { background: var(--pe-azul); border-color: #5b95ff; color: #fff; box-shadow: 0 0 16px rgba(29,107,243,.55); }
#prx-entrenador .prx-ent-nav button[aria-current="page"] svg { color: var(--pe-oro); }
/* Botones de juego */
#prx-entrenador button.prx-ent-jugar, #prx-entrenador button.prx-ent-jugar:focus { min-height: 58px; padding: 12px 30px; gap: 10px; font-size: 19px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; border-radius: 12px; background: linear-gradient(180deg, #FFE27A, var(--pe-oro) 55%, #E9B92A); color: #00142b; border: 0; box-shadow: 0 6px 0 #a87d0c, 0 0 28px rgba(252,215,82,.45); }
#prx-entrenador button.prx-ent-jugar:hover, #prx-entrenador button.prx-ent-jugar:hover:focus { background: linear-gradient(180deg, #FFF0B0, #FFE27A 55%, var(--pe-oro)); color: #00142b; }
#prx-entrenador button.prx-ent-jugar:active { transform: translateY(3px); box-shadow: 0 3px 0 #a87d0c, 0 0 20px rgba(252,215,82,.45); background: var(--pe-oro); color: #00142b; }
/* 0.10.6: demo sin cupo del día. Se ve apagado en todos los estados (el theme pinta los botones al pasar o enfocar). */
#prx-entrenador button.prx-ent-jugar:disabled, #prx-entrenador button.prx-ent-jugar:disabled:hover, #prx-entrenador button.prx-ent-jugar:disabled:focus, #prx-entrenador button.prx-ent-jugar:disabled:active { opacity: .45; cursor: not-allowed; transform: none; box-shadow: none; background: linear-gradient(180deg, #FFE27A, var(--pe-oro) 55%, #E9B92A); color: #00142b; }
#prx-entrenador button.prx-ent-jugar svg { width: 22px; height: 22px; fill: currentColor; }
#prx-entrenador .prx-ent-secundario, #prx-entrenador button.prx-ent-secundario:focus, #prx-entrenador a.prx-ent-secundario { min-height: 50px; border-radius: 12px; background: rgba(0,8,20,.4); border: 1px solid rgba(236,243,251,.35); color: var(--pe-texto); }
#prx-entrenador button.prx-ent-secundario:hover, #prx-entrenador a.prx-ent-secundario:hover, #prx-entrenador button.prx-ent-secundario:active { background: rgba(29,107,243,.25); border-color: var(--pe-azul); color: var(--pe-texto); }
/* Portada: héroe */
#prx-entrenador .prx-ent-hero { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 28px; align-items: center; padding: 18px 6px 8px; }
#prx-entrenador h2.prx-ent-hero-titulo { font-size: clamp(38px, 5.2vw, 64px); font-weight: 800; line-height: .98; letter-spacing: -.01em; text-transform: uppercase; margin: 2px 0 12px; }
#prx-entrenador h2.prx-ent-hero-titulo em { font-style: normal; color: var(--pe-oro); text-shadow: 0 0 30px rgba(252,215,82,.35); }
#prx-entrenador .prx-ent-hero-sub { font-size: 18px; color: var(--pe-tenue); margin: 0 0 20px; }
#prx-entrenador .prx-ent-hero-cta { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-bottom: 18px; }
#prx-entrenador .prx-ent-pase { display: flex; align-items: center; gap: 10px; margin: 0 0 8px; font-size: 13px; color: var(--pe-tenue); max-width: none; }
#prx-entrenador .prx-ent-pase b { flex: none; font-size: 11px; letter-spacing: .14em; padding: 4px 10px; border-radius: 999px; background: var(--pe-oro); color: #00142b; }
#prx-entrenador .prx-ent-pase[data-acceso="dependencia"] b, #prx-entrenador .prx-ent-pase-aviso b { background: var(--pe-azul); color: #fff; }
#prx-entrenador .prx-ent-hero-arte { position: relative; }
#prx-entrenador .prx-ent-arte { width: 100%; height: auto; display: block; border-radius: 16px; box-shadow: 0 0 0 1px rgba(29,107,243,.5), 0 18px 50px rgba(29,107,243,.25); }
#prx-entrenador .arte-j circle { fill: #1D6BF3; stroke: #ECF3FB; stroke-width: 2; }
#prx-entrenador .arte-meta circle { fill: #5b95ff; }
#prx-entrenador .arte-sel circle { fill: #FCD752; stroke: #fff; stroke-width: 2; }
#prx-entrenador .arte-sel .arte-halo { fill: none; stroke: #FCD752; stroke-width: 3; animation: prx-ent-halo 2.4s ease-in-out infinite; transform-box: fill-box; transform-origin: center; }
#prx-entrenador .arte-flecha { fill: none; stroke: #FCD752; stroke-width: 4; stroke-linecap: round; stroke-dasharray: 200; stroke-dashoffset: 200; animation: prx-ent-flecha 2.4s ease-in-out infinite; filter: drop-shadow(0 0 6px rgba(252,215,82,.7)); }
#prx-entrenador .arte-anillo { fill: none; stroke: #ECF3FB; stroke-width: 2.5; stroke-dasharray: 5 4; animation: prx-ent-anillo 2.4s ease-in-out infinite; transform-box: fill-box; transform-origin: center; }
@keyframes prx-ent-flecha { 0%, 15% { stroke-dashoffset: 200; opacity: 1; } 55% { stroke-dashoffset: 0; opacity: 1; } 85%, 100% { stroke-dashoffset: 0; opacity: 0; } }
@keyframes prx-ent-anillo { 0%, 50% { transform: scale(1); stroke: #ECF3FB; } 62% { transform: scale(1.25); stroke: #FCD752; } 100% { transform: scale(1); stroke: #ECF3FB; } }
@keyframes prx-ent-halo { 0%, 100% { transform: scale(1); opacity: .9; } 50% { transform: scale(1.18); opacity: .5; } }
/* Tu carta (estilo carta FUT) */
#prx-entrenador .prx-ent-carta { position: absolute; right: -8px; bottom: -18px; width: min(250px, 62%); padding: 12px 14px; border-radius: 14px; background: linear-gradient(160deg, #1b2a44, #001D3D 60%); border: 2px solid var(--pe-oro); box-shadow: 0 10px 30px rgba(0,0,0,.5), 0 0 22px rgba(252,215,82,.25); }
#prx-entrenador .prx-ent-carta .prx-ent-eyebrow { margin: 0 0 6px; }
#prx-entrenador .prx-ent-carta-num { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
#prx-entrenador .prx-ent-carta-num strong { display: block; font-size: 26px; font-weight: 800; color: var(--pe-oro); line-height: 1; font-variant-numeric: tabular-nums; }
#prx-entrenador .prx-ent-carta-num span { font-size: 11px; color: var(--pe-tenue); line-height: 1.2; display: block; margin-top: 2px; }
#prx-entrenador .prx-ent-carta .prx-ent-tenue { margin: 8px 0 0; font-size: 12px; }
/* Desafío */
#prx-entrenador .prx-ent-desafio { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 16px; align-items: center; margin: 30px 0 8px; padding: 16px 18px; border-radius: 14px; background: linear-gradient(90deg, rgba(252,215,82,.16), rgba(0,53,102,.55) 45%, rgba(0,29,61,.6)); border: 1px solid rgba(252,215,82,.45); }
#prx-entrenador .prx-ent-desafio > .modo-icono { width: 60px; height: 60px; }
#prx-entrenador .prx-ent-desafio > .modo-icono svg { width: 34px; height: 34px; color: var(--pe-oro); filter: drop-shadow(0 0 10px rgba(252,215,82,.5)); }
#prx-entrenador .prx-ent-desafio-txt { display: grid; gap: 2px; }
#prx-entrenador .prx-ent-desafio-txt .prx-ent-eyebrow { margin: 0; }
#prx-entrenador .prx-ent-desafio-txt strong { font-size: 18px; }
#prx-entrenador .prx-ent-reloj { justify-self: start; font-size: 12px; font-weight: 700; letter-spacing: .06em; color: var(--pe-oro); background: rgba(0,8,20,.55); padding: 3px 10px; border-radius: 999px; border: 1px solid rgba(252,215,82,.4); }
#prx-entrenador .prx-ent-desafio-cta { display: flex; gap: 10px; flex-wrap: wrap; }
#prx-entrenador .prx-ent-reglas { grid-column: 1 / -1; margin: 0; }
#prx-entrenador .prx-ent-reglas p { margin: 8px 0 0; font-size: 14px; }
/* Fichas de modo en la portada */
#prx-entrenador h3.prx-ent-seccion { font-size: 13px; letter-spacing: .16em; text-transform: uppercase; color: var(--pe-tenue); margin: 26px 0 12px; }
#prx-entrenador .prx-ent-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 12px; }
#prx-entrenador button.prx-ent-tile, #prx-entrenador button.prx-ent-tile:focus { position: relative; display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto auto; column-gap: 12px; align-items: center; justify-items: start; text-align: left; min-height: 84px; padding: 14px; border-radius: 14px; background: linear-gradient(160deg, #003566, #001D3D 70%); border: 1px solid rgba(29,107,243,.6); color: var(--pe-texto); box-shadow: 0 0 18px rgba(29,107,243,.18) inset; transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease; }
#prx-entrenador button.prx-ent-tile:hover, #prx-entrenador button.prx-ent-tile:hover:focus, #prx-entrenador button.prx-ent-tile:active { transform: translateY(-3px); border-color: var(--pe-oro); background: linear-gradient(160deg, #0b4a8a, #002650 70%); color: var(--pe-texto); box-shadow: 0 10px 24px rgba(0,0,0,.35), 0 0 20px rgba(252,215,82,.25); }
#prx-entrenador button.prx-ent-tile .modo-icono { grid-row: 1 / 3; }
#prx-entrenador button.prx-ent-tile strong { font-size: 17px; font-weight: 800; }
#prx-entrenador button.prx-ent-tile span { font-size: 12px; color: var(--pe-tenue); letter-spacing: .02em; }
#prx-entrenador button.prx-ent-tile[aria-disabled="true"], #prx-entrenador button.prx-ent-tile[aria-disabled="true"]:hover { cursor: default; transform: none; opacity: .72; border-color: rgba(29,107,243,.35); background: linear-gradient(160deg, #002a52, #001D3D 70%); box-shadow: none; }
#prx-entrenador .prx-ent-candado { position: absolute; top: 8px; right: 10px; display: inline-flex; align-items: center; gap: 4px; font-style: normal; font-size: 10px; font-weight: 800; letter-spacing: .12em; color: var(--pe-oro); }
#prx-entrenador .prx-ent-candado svg { width: 13px; height: 13px; }
/* Ícono de modo (círculo con color por modo) */
#prx-entrenador .modo-icono { display: inline-grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; background: radial-gradient(circle at 35% 30%, rgba(255,255,255,.18), rgba(0,8,20,.4)); border: 1px solid rgba(236,243,251,.25); color: var(--pe-oro); flex: none; font-style: normal; }
#prx-entrenador .modo-icono svg { width: 24px; height: 24px; }
#prx-entrenador [data-modo="spaces"] .modo-icono, #prx-entrenador .modo-icono[data-modo="spaces"] { color: #7fb0ff; }
#prx-entrenador [data-modo="reaction"] .modo-icono, #prx-entrenador .modo-icono[data-modo="reaction"] { color: #ffd166; }
#prx-entrenador [data-modo="chains"] .modo-icono, #prx-entrenador .modo-icono[data-modo="chains"] { color: #9fe3b5; }
#prx-entrenador [data-modo="speedrun"] .modo-icono, #prx-entrenador .modo-icono[data-modo="speedrun"] { color: #c3b5ff; }
#prx-entrenador [data-modo="pase"] .modo-icono, #prx-entrenador .modo-icono[data-modo="pase"] { color: #fa927c; }
#prx-entrenador [data-modo="desafio"] .modo-icono, #prx-entrenador .modo-icono[data-modo="desafio"] { color: var(--pe-oro); }
#prx-entrenador .prx-ent-detalles { margin: 22px 0 0; font-size: 14px; }
/* Entrenar: modos compactos, ficha del modo y fichas de ajustes */
#prx-entrenador #prx-ent-v-entrenar > .prx-ent-fila { margin-bottom: 10px; }
#prx-entrenador #prx-ent-modo-motor { margin: 0; font-size: 12px; letter-spacing: .06em; }
#prx-entrenador .prx-ent-modos { grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 8px; margin: 0 0 12px; }
#prx-entrenador .prx-ent-modos button.modo, #prx-entrenador .prx-ent-modos button.modo:focus { display: grid; grid-template-columns: 38px minmax(0, 1fr); grid-template-rows: auto auto; flex-direction: initial; gap: 2px 10px; align-items: center; min-width: 0; min-height: 62px; padding: 9px 11px; }
#prx-entrenador .prx-ent-modos button.modo .modo-icono { grid-row: 1 / 3; width: 38px; height: 38px; }
#prx-entrenador .prx-ent-modos button.modo .modo-icono svg { width: 20px; height: 20px; }
#prx-entrenador .prx-ent-modos button.modo strong { font-size: 15px; }
#prx-entrenador .prx-ent-modos button.modo span { font-size: 10px; letter-spacing: .08em; }
#prx-entrenador .prx-ent-ficha { background: linear-gradient(160deg, rgba(0,53,102,.75), rgba(0,29,61,.85)); border: 1px solid rgba(29,107,243,.5); border-radius: 16px; padding: 16px 18px; }
#prx-entrenador .prx-ent-ficha-cab { display: flex; gap: 14px; align-items: center; margin-bottom: 8px; }
#prx-entrenador .prx-ent-ficha-cab .modo-icono { width: 56px; height: 56px; border: 2px solid currentColor; box-shadow: 0 0 18px rgba(252,215,82,.18); }
#prx-entrenador .prx-ent-ficha-cab .modo-icono svg { width: 28px; height: 28px; }
#prx-entrenador .prx-ent-ficha h2#prx-ent-exercise-title { font-size: 26px; font-weight: 800; text-transform: uppercase; letter-spacing: .02em; margin: 0 0 2px; }
#prx-entrenador #prx-ent-exercise-description { margin: 0; color: var(--pe-tenue); font-size: 15px; }
#prx-entrenador .prx-ent-ficha .prx-ent-rotulo { margin: 4px 0 6px; font-size: 12px; }
#prx-entrenador .prx-ent-ficha .prx-ent-ajustes { gap: 4px 18px; }
#prx-entrenador .prx-ent-ficha .prx-ent-campo { margin: 6px 0 0; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--pe-tenue); font-weight: 700; min-width: 0; }
#prx-entrenador .chips { display: flex; flex-wrap: wrap; gap: 6px; }
#prx-entrenador .chips button.chip, #prx-entrenador .chips button.chip:focus { min-height: 34px; padding: 6px 12px; border-radius: 999px; font-size: 13px; font-weight: 700; letter-spacing: 0; text-transform: none; background: rgba(0,8,20,.5); border: 1px solid rgba(236,243,251,.25); color: var(--pe-texto); }
#prx-entrenador .chips button.chip:hover, #prx-entrenador .chips button.chip:hover:focus, #prx-entrenador .chips button.chip:active { background: rgba(29,107,243,.3); border-color: var(--pe-azul); color: var(--pe-texto); }
#prx-entrenador .chips button.chip[aria-pressed="true"], #prx-entrenador .chips button.chip[aria-pressed="true"]:focus, #prx-entrenador .chips button.chip[aria-pressed="true"]:hover { background: var(--pe-oro); border-color: var(--pe-oro); color: #00142b; }
#prx-entrenador .prx-ent-cancha > .prx-ent-estado#prx-ent-status { margin: 10px 0 0; padding: 8px 12px; font-size: 14px; }
#prx-entrenador .prx-ent-cancha > .prx-ent-acciones #prx-ent-start { min-height: 54px; padding: 10px 34px; font-size: 18px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; border-radius: 12px; box-shadow: 0 5px 0 #a87d0c, 0 0 22px rgba(252,215,82,.35); }
/* Píldora del mando */
#prx-entrenador .prx-ent-mando { margin: 0; background: linear-gradient(160deg, rgba(0,53,102,.7), rgba(0,29,61,.85)); border: 1px solid rgba(29,107,243,.5); border-radius: 14px; }
#prx-entrenador .prx-ent-mando > summary { display: flex; align-items: center; gap: 10px; padding: 10px 12px; color: var(--pe-texto); list-style: none; min-height: 60px; }
#prx-entrenador .prx-ent-mando > summary::-webkit-details-marker { display: none; }
#prx-entrenador .prx-ent-mando-txt { display: grid; flex: 1; min-width: 0; }
#prx-entrenador .prx-ent-mando-txt strong { font-size: 15px; }
#prx-entrenador #prx-ent-mando-estado { font-size: 12px; color: var(--pe-tenue); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#prx-entrenador .prx-ent-mando-luz { width: 12px; height: 12px; border-radius: 50%; background: var(--pe-oro); box-shadow: 0 0 10px var(--pe-oro); flex: none; }
#prx-entrenador .prx-ent-mando[data-listo="true"] .prx-ent-mando-luz { background: #4ade80; box-shadow: 0 0 10px #4ade80; }
#prx-entrenador .prx-ent-mando[data-listo="true"] #prx-ent-mando-estado { color: #9fe3b5; }
#prx-entrenador .prx-ent-mando-cuerpo { padding: 0 14px 14px; }
#prx-entrenador .prx-ent-pista { margin: 0 0 10px; font-size: 12px; }
#prx-entrenador .prx-ent-workspace { grid-template-columns: minmax(0, 1fr) 280px; gap: 22px; }
/* Jugando: los botones flotan arriba a la derecha; todo entra en la pantalla. */
#prx-entrenador.playing .prx-ent-cancha > .prx-ent-acciones { position: fixed; top: 46px; right: 18px; z-index: 50; margin: 0; padding: 6px; border-radius: 14px; background: rgba(0,8,20,.82); border: 1px solid rgba(29,107,243,.5); box-shadow: 0 8px 24px rgba(0,0,0,.45); }
#prx-entrenador.playing .prx-ent-cancha > .prx-ent-acciones button { min-height: 40px; }
#prx-entrenador.playing #prx-ent-play-screen[data-state="playing"] ~ .prx-ent-acciones #prx-ent-reset, #prx-entrenador.playing #prx-ent-play-screen[data-state="countdown"] ~ .prx-ent-acciones #prx-ent-reset { display: none; }
#prx-entrenador.playing #prx-ent-play-screen { max-width: max(480px, calc((100dvh - 200px) * 105 / 68)); }
#prx-entrenador.playing #prx-ent-task { margin: 6px 0 0; padding: 8px 12px; }
#prx-entrenador.playing #prx-ent-selection-line { margin: 4px 0 0; }
#prx-entrenador.playing #prx-ent-selection-line p { margin: 0; }
#prx-entrenador.playing #prx-ent-remaining { margin: 2px 0 0; font-size: 12px; }
@media (max-width: 900px) {
  #prx-entrenador .prx-ent-hero { grid-template-columns: minmax(0, 1fr); }
  #prx-entrenador .prx-ent-carta { position: static; width: auto; margin-top: 12px; }
  #prx-entrenador .prx-ent-desafio { grid-template-columns: auto minmax(0, 1fr); }
  #prx-entrenador .prx-ent-desafio-cta { grid-column: 1 / -1; }
  #prx-entrenador .prx-ent-workspace { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 560px) {
  #prx-entrenador .prx-ent-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #prx-entrenador button.prx-ent-tile, #prx-entrenador button.prx-ent-tile:focus { grid-template-columns: 1fr; min-height: 110px; }
  #prx-entrenador button.prx-ent-tile .modo-icono { grid-row: auto; margin-bottom: 6px; }
  #prx-entrenador .prx-ent-nav button span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  #prx-entrenador .prx-ent-modos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (prefers-reduced-motion: reduce) { #prx-entrenador .arte-flecha { stroke-dashoffset: 0; } }
/* Con el mando listo, el aviso genérico sobra (la píldora ya lo dice); los errores se siguen viendo. */
#prx-entrenador:has(.prx-ent-mando[data-listo="true"]) #prx-ent-instructions-screen:not([hidden]) ~ #prx-ent-status:not([data-tipo="error"]) { display: none; }
/* Los select ocultos detrás de las fichas son absolutos: su campo los contiene (si no, estiran la página en el celular). */
#prx-entrenador .prx-ent-campo { position: relative; }

/* ---------------------------------------------------------------------------------------------
   r8 (pedido de Patán, 2/10): resultado estilo juego, sistema táctico con vista previa, sin recuadro
   en los títulos al entrar a una sección, pantalla completa como ícono junto a Pausar.
   --------------------------------------------------------------------------------------------- */
#prx-entrenador h1:focus, #prx-entrenador h2:focus, #prx-entrenador [tabindex="-1"]:focus, #prx-entrenador [tabindex="-1"]:focus-visible { outline: none; box-shadow: none; }
#prx-entrenador .prx-ent-campo-sistema { position: relative; }
#prx-entrenador .prx-ent-campo-sistema .chips button.chip, #prx-entrenador .prx-ent-campo-sistema .chips button.chip:focus { font-variant-numeric: tabular-nums; }
#prx-entrenador .prx-ent-sistema-vista { display: block; width: 132px; margin-top: 4px; }
#prx-entrenador .prx-ent-sistema-vista svg { display: block; width: 100%; height: auto; filter: drop-shadow(0 0 8px rgba(29,107,243,.35)); }
#prx-entrenador .prx-ent-sistema-vista .campo { fill: #00264d; stroke: #3c7bd9; stroke-width: .9; }
#prx-entrenador .prx-ent-sistema-vista .lineas { fill: none; stroke: rgba(236,243,251,.32); stroke-width: .6; }
#prx-entrenador .prx-ent-sistema-vista .jugador { fill: var(--pe-oro); }
#prx-entrenador .prx-ent-sistema-vista .arquero { fill: #5b6f8c; }
#prx-entrenador button.prx-ent-icono-btn, #prx-entrenador button.prx-ent-icono-btn:focus { display: inline-grid; place-items: center; width: 40px; min-width: 40px; padding: 0; background: var(--pe-sup); color: var(--pe-texto); }
#prx-entrenador button.prx-ent-icono-btn:hover, #prx-entrenador button.prx-ent-icono-btn:hover:focus, #prx-entrenador button.prx-ent-icono-btn:active { background: var(--pe-paso); color: var(--pe-oro); }
#prx-entrenador:not(.playing) #prx-ent-pantalla { display: none; }
/* Resultado */
#prx-entrenador .prx-ent-resultado { max-width: 760px; margin: 0 auto; padding: 18px 18px 14px; text-align: center; border: 1px solid rgba(91,149,255,.35); border-radius: 20px;
  background: radial-gradient(ellipse at 50% -10%, rgba(29,107,243,.35), transparent 62%), radial-gradient(ellipse at 50% 120%, rgba(252,215,82,.12), transparent 60%), linear-gradient(180deg, #001633, #000a1a); box-shadow: 0 18px 50px rgba(0,0,0,.45); }
/* Sin el panel del mando (resultado), la tarjeta va centrada en todo el ancho. */
#prx-entrenador .prx-ent-workspace:has(#prx-ent-setup[hidden]) { grid-template-columns: minmax(0, 1fr); }
#prx-entrenador .prx-ent-res-cab { display: flex; align-items: center; justify-content: center; gap: 12px; }
/* 0.11.1: preparación central y selección de mando explícita, independiente de :focus-visible. */
#prx-entrenador #prx-ent-calibration { max-width: 760px; margin: 18px auto; padding: 20px 24px; border: 1px solid var(--pe-linea); border-radius: 14px; background: var(--pe-sup); }
#prx-entrenador.playing #prx-ent-calibration, #prx-entrenador #prx-ent-result-screen:not([hidden]) ~ #prx-ent-calibration { display: none; }
#prx-entrenador #prx-ent-calibration h3 { font-size: 24px; margin-bottom: 8px; }
#prx-entrenador #prx-ent-cal-status { font-size: 14px; color: var(--pe-tenue); }
#prx-entrenador.prx-ent-calibrando .prx-ent-workspace { grid-template-columns: minmax(0, 1fr); }
#prx-entrenador.prx-ent-calibrando #prx-ent-instructions-screen, #prx-entrenador.prx-ent-calibrando #prx-ent-setup,
#prx-entrenador.prx-ent-calibrando #prx-ent-status, #prx-entrenador.prx-ent-calibrando .prx-ent-cancha > .prx-ent-acciones { display: none; }
#prx-entrenador.prx-ent-calibrando #prx-ent-calibration { margin-top: 0; }
#prx-entrenador #prx-ent-wizard .prx-ent-sticks { max-width: 430px; margin: 12px auto; text-align: center; }
#prx-entrenador #prx-ent-wizard .prx-ent-sticks canvas { margin: auto; }
#prx-entrenador #prx-ent-cal-instruction { max-width: none; font-size: 20px; font-weight: 700; line-height: 1.4; margin: 12px 0; }
#prx-entrenador .prx-ent-mando-ayuda { max-width: none; font-size: 13px; color: var(--pe-tenue); text-align: center; margin: 16px 0 0; }
#prx-entrenador #prx-ent-result-screen .prx-ent-res-acciones { padding-top: 14px; border-top: 1px solid var(--pe-linea); margin-top: 16px; }
#prx-entrenador #prx-ent-result-screen .prx-ent-foco-mando:focus,
#prx-entrenador #prx-ent-v-placa .prx-ent-foco-mando:focus,
#prx-entrenador .prx-ent-foco-mando:focus { outline: 3px solid #fff; outline-offset: 4px; box-shadow: 0 0 0 7px #1D6BF3; }
#prx-entrenador .prx-ent-foco-mando { position: relative; }
#prx-entrenador button.prx-ent-foco-mando:focus::after, #prx-entrenador a.prx-ent-foco-mando:focus::after { content: '▸'; position: absolute; left: -20px; top: 50%; transform: translateY(-50%); color: #fff; font-size: 19px; }
@media (max-height: 800px) and (min-width: 901px) {
  #prx-entrenador.prx-ent-calibrando #prx-ent-calibration { padding: 16px 24px; }
  #prx-entrenador #prx-ent-wizard .prx-ent-sticks canvas { max-width: 120px; }
  #prx-entrenador.prx-ent-calibrando .prx-ent-pie { margin-top: 12px; }
  #prx-entrenador .prx-ent-res-marcador .prx-ent-puntos-valor strong { font-size: 76px; }
  #prx-entrenador .prx-ent-res-stats { margin: 10px 0; }
  #prx-entrenador .prx-ent-res-stats .stat { padding: 9px 6px; }
}
@media (max-width: 560px) {
  #prx-entrenador .prx-ent-modos { grid-template-columns: minmax(0, 1fr); }
  #prx-entrenador #prx-ent-calibration { padding: 16px; }
  #prx-entrenador #prx-ent-cal-instruction { font-size: 17px; }
}
#prx-entrenador .prx-ent-res-cab .modo-icono { width: 46px; height: 46px; }
#prx-entrenador .prx-ent-res-cab .modo-icono svg { width: 26px; height: 26px; }
#prx-entrenador .prx-ent-res-cab .prx-ent-eyebrow { margin: 0; text-align: left; }
#prx-entrenador .prx-ent-res-cab h2 { margin: 0; text-align: left; font-size: clamp(26px, 3.4vw, 36px); font-weight: 900; letter-spacing: .05em; text-transform: uppercase; line-height: 1.05; }
#prx-entrenador .prx-ent-res-marcador { display: flex; flex-direction: column; align-items: center; gap: 4px; margin: 12px 0 2px; }
#prx-entrenador .prx-ent-res-marcador .prx-ent-puntos-valor { display: flex; align-items: baseline; justify-content: center; gap: 10px; margin: 0; }
#prx-entrenador .prx-ent-res-marcador .prx-ent-puntos-valor strong { font-size: clamp(60px, 9vw, 104px); font-weight: 900; color: var(--pe-oro); line-height: .95; text-shadow: 0 0 28px rgba(252,215,82,.45); font-variant-numeric: tabular-nums; }
#prx-entrenador .prx-ent-res-marcador .prx-ent-puntos-valor span { font-size: 15px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--pe-tenue); }
#prx-entrenador .prx-ent-res-marcador .prx-ent-medalla { font-size: 13px; letter-spacing: .1em; text-transform: uppercase; padding: 5px 16px 5px 12px; }
#prx-entrenador .prx-ent-res-marcador .prx-ent-medalla::before { content: "★"; margin-right: 6px; }
#prx-entrenador .prx-ent-res-marcador .prx-ent-medalla[data-medalla="nada"]::before { content: "↻"; }
#prx-entrenador .prx-ent-res-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 14px 0 10px; }
#prx-entrenador .prx-ent-res-stats:empty { display: none; }
#prx-entrenador .prx-ent-res-stats .stat { display: flex; flex-direction: column; gap: 3px; padding: 12px 6px 10px; border-radius: 14px; background: linear-gradient(180deg, rgba(0,53,102,.75), rgba(0,29,61,.75)); border: 1px solid rgba(91,149,255,.32); }
#prx-entrenador .prx-ent-res-stats .stat strong { font-size: clamp(22px, 2.6vw, 30px); font-weight: 800; color: var(--pe-texto); line-height: 1.05; font-variant-numeric: tabular-nums; }
#prx-entrenador .prx-ent-res-stats .stat span { font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--pe-tenue); }
#prx-entrenador .prx-ent-res-consejo { margin: 4px auto 10px; max-width: 54ch; font-size: 15px; line-height: 1.45; color: #d5e4f6; }
#prx-entrenador .prx-ent-res-consejo:empty { display: none; }
#prx-entrenador .prx-ent-guardado { display: inline-flex; align-items: center; gap: 6px; margin: 0 0 10px; padding: 6px 14px; border-radius: 999px; font-size: 13px; font-weight: 700;
  background: rgba(159,227,181,.12); border: 1px solid rgba(159,227,181,.5); color: var(--pe-ok); }
#prx-entrenador #prx-ent-result-extra .prx-ent-estado { text-align: left; }
#prx-entrenador .prx-ent-res-acciones { justify-content: center; gap: 10px; flex-wrap: wrap; margin: 6px 0 0; }
#prx-entrenador .prx-ent-res-acciones button { display: inline-flex; align-items: center; gap: 8px; }
#prx-entrenador .prx-ent-res-acciones button svg { width: 20px; height: 20px; }
#prx-entrenador .prx-ent-res-acciones button.prx-ent-secundario, #prx-entrenador .prx-ent-res-acciones button.prx-ent-secundario:focus { min-height: 58px; padding: 10px 20px; font-weight: 800; }
#prx-entrenador .prx-ent-res-extra { justify-content: center; gap: 8px; margin: 0 0 6px; }
#prx-entrenador .prx-ent-res-extra button, #prx-entrenador .prx-ent-res-extra button:focus, #prx-entrenador .prx-ent-res-extra a.prx-ent-boton { min-height: 36px; padding: 6px 14px; font-size: 13px; border-radius: 999px; }
@media (max-width: 640px) {
  #prx-entrenador .prx-ent-res-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #prx-entrenador .prx-ent-res-acciones button { flex: 1 1 100%; justify-content: center; }
  #prx-entrenador .prx-ent-sistema-vista { width: 110px; }
}

/* ---------------------------------------------------------------------------------------------
   0.9.0 · Portada como vitrina de modos (idea de Patán, revisión de Astra en
   Academia/PROPUESTA-entrenador-vitrina-modos.md). Fichas arriba, pegadas al panel que explican.
   Elegido = borde dorado completo + marca «✓ Elegido»; hover = azul que se levanta; foco = contorno blanco.
   --------------------------------------------------------------------------------------------- */
#prx-entrenador .prx-ent-vitrina { margin: 4px 0 18px; }
#prx-entrenador h2.prx-ent-vitrina-cab { font-size: 22px; font-weight: 800; letter-spacing: .02em; text-transform: uppercase; margin: 0 0 12px; }
/* 0.10.3: Recorrido retirado. En pantalla ancha, todas las fichas en una fila y del mismo ancho, sin columna reservada
   (antes eran 6 fijas y con cinco quedaba un hueco a la derecha). */
@media (min-width: 1100px) { #prx-entrenador .prx-ent-vitrina .prx-ent-tiles { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); } }
#prx-entrenador .prx-ent-vitrina button.prx-ent-tile, #prx-entrenador .prx-ent-vitrina button.prx-ent-tile:focus { min-height: 84px; }
#prx-entrenador .prx-ent-vitrina button.prx-ent-tile:hover, #prx-entrenador .prx-ent-vitrina button.prx-ent-tile:hover:focus, #prx-entrenador .prx-ent-vitrina button.prx-ent-tile:active { border-color: #72a3ff; background: linear-gradient(160deg, #0b4a8a, #002650 70%); color: var(--pe-texto); box-shadow: 0 10px 24px rgba(0,0,0,.35), 0 0 18px rgba(29,107,243,.35); }
#prx-entrenador .prx-ent-vitrina button.prx-ent-tile:focus-visible { outline: 3px solid #ECF3FB; outline-offset: 3px; background: linear-gradient(160deg, #003566, #001D3D 70%); color: var(--pe-texto); }
#prx-entrenador .prx-ent-vitrina button.prx-ent-tile[aria-pressed="true"], #prx-entrenador .prx-ent-vitrina button.prx-ent-tile[aria-pressed="true"]:focus, #prx-entrenador .prx-ent-vitrina button.prx-ent-tile[aria-pressed="true"]:hover { border: 2px solid var(--pe-oro); background: linear-gradient(160deg, #0d4f94, #002a57 70%); color: var(--pe-texto); box-shadow: 0 0 0 1px rgba(252,215,82,.35), 0 0 22px rgba(252,215,82,.28); transform: none; }
#prx-entrenador .prx-ent-elegido { display: none; position: absolute; top: -10px; right: 10px; box-shadow: 0 0 0 2px #001D3D; font-size: 10px; font-weight: 800; letter-spacing: .08em; padding: 2px 8px; border-radius: 999px; background: var(--pe-oro); color: #00142b; }
#prx-entrenador button.prx-ent-tile[aria-pressed="true"] .prx-ent-elegido { display: inline-block; }
#prx-entrenador .prx-ent-vitrina button.prx-ent-tile .prx-ent-candado { position: absolute; bottom: 8px; right: 8px; }
#prx-entrenador .prx-ent-vitrina-panel { margin-top: 14px; padding: 18px 18px 14px; border-radius: 18px; background: linear-gradient(160deg, rgba(0,53,102,.55), rgba(0,8,20,.2) 70%); border: 1px solid rgba(29,107,243,.45); }
#prx-entrenador .prx-ent-vitrina-panel h3.prx-ent-hero-titulo { font-size: clamp(34px, 4.6vw, 58px); font-weight: 800; line-height: 1; letter-spacing: -.01em; text-transform: uppercase; color: var(--pe-oro); text-shadow: 0 0 30px rgba(252,215,82,.3); margin: 0 0 12px; min-height: 1em; }
#prx-entrenador .prx-ent-vitrina-panel .prx-ent-hero-sub { min-height: 3.2em; }
#prx-entrenador .prx-ent-vitrina-panel .prx-ent-hero-texto > *, #prx-entrenador .prx-ent-vitrina-escena { transition: opacity .18s ease; }
#prx-entrenador .prx-ent-cambiando h3, #prx-entrenador .prx-ent-cambiando .prx-ent-hero-sub, #prx-entrenador .prx-ent-cambiando .prx-ent-vitrina-escena { opacity: .15; }
#prx-entrenador .prx-ent-vitrina-nota { margin: -6px 0 14px; font-size: 13px; }
#prx-entrenador .prx-ent-vitrina-ayuda { margin: 6px 0 0; font-size: 13px; }
#prx-entrenador .prx-ent-vitrina-escena { aspect-ratio: 420 / 272; }
#prx-entrenador button.prx-ent-vitrina-pausa, #prx-entrenador button.prx-ent-vitrina-pausa:focus { margin-top: 10px; min-height: 44px; padding: 8px 14px; border-radius: 10px; border: 1px solid var(--pe-linea); background: rgba(0,8,20,.5); color: var(--pe-texto); font: 600 14px Poppins, "Segoe UI", system-ui, sans-serif; cursor: pointer; }
#prx-entrenador button.prx-ent-vitrina-pausa:hover, #prx-entrenador button.prx-ent-vitrina-pausa:active { background: rgba(29,107,243,.25); color: var(--pe-texto); border-color: #72a3ff; }
#prx-entrenador button.prx-ent-vitrina-pausa:focus-visible { outline: 3px solid #ECF3FB; outline-offset: 2px; background: rgba(0,8,20,.5); color: var(--pe-texto); }
#prx-entrenador .prx-ent-carta.prx-ent-carta-fila { position: static; width: auto; max-width: 420px; margin: 0 0 18px; }
/* Escena: seleccionado (círculo dorado con halo), objetivo (anillo punteado), pelota (blanca chica), rivales (triángulos). */
#prx-entrenador .prx-ent-vitrina-arte .v-cuerpo { fill: #1D6BF3; stroke: #ECF3FB; stroke-width: 2; }
#prx-entrenador .prx-ent-vitrina-arte .v-visitado .v-cuerpo { fill: #0f3f8f; stroke: #9FE3B5; }
#prx-entrenador .prx-ent-vitrina-arte .v-tilde { fill: none; stroke: #9FE3B5; stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; }
#prx-entrenador .prx-ent-vitrina-arte .v-arquero { fill: #365674; stroke: #ECF3FB; stroke-width: 1.5; }
#prx-entrenador .prx-ent-vitrina-arte .v-punto { fill: #FCD752; stroke: #fff; stroke-width: 2; }
#prx-entrenador .prx-ent-vitrina-arte .v-halo { fill: none; stroke: #FCD752; stroke-width: 3; }
#prx-entrenador .prx-ent-vitrina-arte .v-recien .v-halo { stroke-width: 5; }
#prx-entrenador .prx-ent-vitrina-arte .v-obj { fill: none; stroke: #ECF3FB; stroke-width: 2.5; stroke-dasharray: 5 4; }
#prx-entrenador .prx-ent-vitrina-arte .v-obj.v-senal { stroke: #FCD752; stroke-width: 4; stroke-dasharray: none; }
#prx-entrenador .prx-ent-vitrina-arte .v-cuenta { fill: none; stroke: #FCD752; stroke-width: 3; stroke-dasharray: 100; transform-box: fill-box; transform-origin: center; transform: rotate(-90deg); }
#prx-entrenador .prx-ent-vitrina-arte .v-flecha { fill: none; stroke: #FCD752; stroke-width: 4; stroke-linecap: round; filter: drop-shadow(0 0 6px rgba(252,215,82,.7)); }
#prx-entrenador .prx-ent-vitrina-arte .v-paso circle { fill: #FCD752; stroke: #000814; stroke-width: 1.5; }
#prx-entrenador .prx-ent-vitrina-arte .v-paso text { font: 800 11px Poppins, "Segoe UI", sans-serif; fill: #00142b; }
#prx-entrenador .prx-ent-vitrina-arte .v-hecho circle { fill: #9FE3B5; }
#prx-entrenador .prx-ent-vitrina-arte .v-rival { fill: #fa927c; stroke: #000814; stroke-width: 2; }
#prx-entrenador .prx-ent-vitrina-arte .v-pelota { fill: #fff; stroke: #000814; stroke-width: 2; }
#prx-entrenador .prx-ent-vitrina-arte .v-aviso { stroke: #FCD752; stroke-width: 5; stroke-linecap: round; stroke-dasharray: 10 7; opacity: .9; }
#prx-entrenador .prx-ent-vitrina-arte .v-corte rect { fill: #FCD752; }
#prx-entrenador .prx-ent-vitrina-arte .v-corte text { font: 800 10px Poppins, "Segoe UI", sans-serif; fill: #00142b; letter-spacing: .06em; }
#prx-entrenador .prx-ent-vitrina-arte .v-contador { font: 800 18px Poppins, "Segoe UI", sans-serif; fill: #FCD752; }
#prx-entrenador .prx-ent-vitrina-arte .v-rotulo { font: 700 14px Poppins, "Segoe UI", sans-serif; fill: #ECF3FB; }
@media (prefers-reduced-motion: reduce) { #prx-entrenador .prx-ent-vitrina-panel .prx-ent-hero-texto > *, #prx-entrenador .prx-ent-vitrina-escena { transition: none; } }

/* 0.11.0: una entrada gratis reconocible y continuidad a Pro después del feedback. */
#prx-entrenador .prx-ent-entrada-gratis { margin: -4px 0 20px; color: var(--pe-texto); font-size: 16px; line-height: 1.5; }
#prx-entrenador .prx-ent-demo-gratis { grid-column: 2; font-size: 11px; font-style: normal; font-weight: 800; color: var(--pe-oro); }
#prx-entrenador .prx-ent-puente-pc { margin: 0 0 20px; padding-bottom: 16px; border-bottom: 1px solid var(--pe-linea); }
#prx-entrenador .prx-ent-puente-pc p { font-size: 14px; line-height: 1.6; }
#prx-entrenador .prx-ent-puente-pc strong { color: var(--pe-oro); }
#prx-entrenador .prx-ent-puente-pc input { width: 100%; min-width: 0; box-sizing: border-box; }
#prx-entrenador .prx-ent-demo-pro { max-width: 62ch; margin: 16px auto 14px; padding-top: 16px; border-top: 1px solid var(--pe-linea); }
#prx-entrenador .prx-ent-demo-pro p { margin: 0 0 14px; color: var(--pe-texto); font-size: 15px; line-height: 1.6; }
#prx-entrenador .prx-ent-demo-pro a.prx-ent-primario,
#prx-entrenador .prx-ent-demo-pro a.prx-ent-primario:focus { display: inline-flex; min-height: 52px; align-items: center; padding: 12px 24px; font-weight: 800; background: var(--pe-oro); border-color: var(--pe-oro); color: var(--pe-fondo); }
#prx-entrenador .prx-ent-demo-pro a.prx-ent-primario:hover,
#prx-entrenador .prx-ent-demo-pro a.prx-ent-primario:active { background: #ffe784; border-color: #ffe784; color: var(--pe-fondo); }
#prx-entrenador .prx-ent-demo-pro a.prx-ent-primario:focus-visible { outline: 3px solid var(--pe-texto); outline-offset: 3px; background: var(--pe-oro); color: var(--pe-fondo); }
@media (min-width: 901px) and (max-height: 800px) {
  #prx-entrenador .prx-ent-resultado { padding: 14px 18px 12px; }
  #prx-entrenador .prx-ent-demo-pro { margin: 10px auto; padding-top: 10px; }
  #prx-entrenador .prx-ent-demo-pro p { font-size: 14px; line-height: 1.4; margin-bottom: 10px; }
  #prx-entrenador .prx-ent-demo-pro a.prx-ent-primario { min-height: 46px; padding: 10px 20px; }
  #prx-entrenador #prx-ent-result-screen .prx-ent-res-acciones { margin-top: 10px; padding-top: 12px; }
  #prx-entrenador .prx-ent-res-acciones button.prx-ent-secundario { min-height: 48px; }
  #prx-entrenador .prx-ent-mando-ayuda { margin-top: 10px; font-size: 12px; }
}
@media (max-width: 640px) {
  #prx-entrenador .prx-ent-marca { gap: 0; min-width: 0; }
  #prx-entrenador .prx-ent-logo { width: 110px; flex-basis: 110px; margin-left: -14px; }
  #prx-entrenador .prx-ent-marca > div { min-width: 0; }
  #prx-entrenador h1.prx-ent-titulo { font-size: 19px; }
  #prx-entrenador .prx-ent-cabecera .prx-ent-eyebrow { font-size: 9px; }
  #prx-entrenador .prx-ent-puente-pc .prx-ent-acciones { flex-direction: column; align-items: stretch; }
  #prx-entrenador .prx-ent-demo-pro a.prx-ent-primario { max-width: 100%; box-sizing: border-box; justify-content: center; }
}
@media (max-width: 560px) {
  #prx-entrenador .prx-ent-demo-gratis { grid-column: 1 / -1; }
}
/* Último en cascada: compacto de notebook y marcador conservan prioridad sobre los estilos de cada CTA. */
#prx-entrenador .prx-ent-foco-mando:focus { outline: 3px solid #fff; outline-offset: 4px; box-shadow: 0 0 0 7px #1D6BF3; }
@media (min-width: 901px) and (max-height: 800px) {
  #prx-entrenador .prx-ent-res-marcador .prx-ent-puntos-valor strong { font-size: 68px; }
  #prx-entrenador .prx-ent-res-marcador { margin: 8px 0 2px; }
  #prx-entrenador .prx-ent-res-stats { margin: 8px 0; }
  #prx-entrenador .prx-ent-res-stats .stat { padding: 8px 6px; }
  #prx-entrenador .prx-ent-res-cab h2 { font-size: 30px; }
  #prx-entrenador .prx-ent-res-acciones button.prx-ent-secundario,
  #prx-entrenador .prx-ent-res-acciones button.prx-ent-secundario:focus { min-height: 44px; }
}
