/* Ficha rápida del jugador (ficha-jugador.js, port de inhouse-pe): popover en escritorio, hoja inferior en mobile. */
.fj-pop{position:fixed;z-index:400;width:340px;max-width:calc(100vw - 20px);background:#14161b;border:1px solid #2f333c;border-radius:12px;box-shadow:0 16px 40px rgba(0,0,0,.6);color:#f5f5f7;font:400 .84rem/1.35 Inter,system-ui,sans-serif;text-align:left}
.fj-pop[hidden],.fj-fondo[hidden]{display:none}
.fj-popover{display:flex;max-height:calc(100vh - 20px);animation:fj-aparece .12s ease-out}
.fj-int{flex:1 1 auto;min-width:0;max-height:min(620px,100%);overflow-y:auto;padding:12px;overscroll-behavior:contain;border-radius:inherit}
/* Flecha: un cuadrado girado sobre el borde que da al jugador; --fj-flecha la deja a su altura. */
.fj-flecha{position:absolute;width:12px;height:12px;background:#14161b;border:1px solid #2f333c;border-width:0 0 1px 1px;pointer-events:none}
.fj-popover[data-lado="derecha"] .fj-flecha{left:-7px;top:calc(var(--fj-flecha,24px) - 6px);transform:rotate(45deg)}
.fj-popover[data-lado="izquierda"] .fj-flecha{right:-7px;top:calc(var(--fj-flecha,24px) - 6px);transform:rotate(225deg)}
.fj-popover[data-lado="arriba"] .fj-flecha{bottom:-7px;left:calc(var(--fj-flecha,24px) - 6px);transform:rotate(-45deg)}
.fj-popover[data-lado="abajo"] .fj-flecha{top:-7px;left:calc(var(--fj-flecha,24px) - 6px);transform:rotate(135deg)}
@keyframes fj-aparece{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce){.fj-popover,.fj-hoja{animation:none}}
.fj-fondo{position:fixed;inset:0;z-index:399;background:rgba(0,0,0,.55)}
.fj-hoja{left:0;right:0;bottom:0;top:auto;width:auto;max-width:none;max-height:88vh;display:flex;flex-direction:column;border-radius:16px 16px 0 0;border-width:1px 0 0;padding:6px 14px calc(12px + env(safe-area-inset-bottom));animation:fj-sube .18s ease-out}
@keyframes fj-sube{from{transform:translateY(40px);opacity:.4}to{transform:none;opacity:1}}
.fj-hoja .fj-scroll{overflow-y:auto;flex:1 1 auto;min-height:0;padding-bottom:6px}
.fj-tirador{display:block;width:44px;height:4px;margin:4px auto 10px;border-radius:2px;background:#3a3e47}
.fj-cerrar{position:absolute;top:8px;right:8px;width:40px;height:40px;background:none;border:0;color:#a0a0aa;font-size:1.1rem;cursor:pointer}
.fj-cab{display:flex;gap:10px;align-items:center}
.fj-foto{flex:none;width:58px;height:58px;border-radius:10px;overflow:hidden;background:#0c0e12;display:block}
.fj-foto img{width:100%;height:100%;object-fit:cover;object-position:50% 20%;display:block}
.fj-cab-txt{min-width:0;flex:1}
.fj-nombre{font:700 1.08rem/1.15 'Rajdhani',Inter,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:30px}
.fj-popover .fj-nombre{padding-right:0}
.fj-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin:10px 0 0}
.fj-stats-2{grid-template-columns:repeat(2,1fr);margin-top:6px}
.fj-stats div{background:#1c1f25;border-radius:7px;padding:5px 7px;min-width:0}
.fj-stats dt{color:#8b8e98;font-size:.66rem;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fj-stats dd{margin:1px 0 0;font:700 1rem/1.1 'Rajdhani',Inter,sans-serif}
.fj-stats dd small{font:400 .68rem Inter,sans-serif;color:#8b8e98}
.fj-stats dd.g{color:#7ed957}.fj-stats dd.p{color:#ef7d6b}
.fj-pop h4{margin:11px 0 5px;font:700 .72rem/1 Inter,sans-serif;letter-spacing:.09em;text-transform:uppercase;color:#8b8e98}
.fj-pop h4 small{font-weight:400;letter-spacing:0;text-transform:none}
.fj-partidas,.fj-heroes{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px}
.fj-partidas li{display:flex;align-items:center;gap:7px;font-size:.78rem}
.fj-partidas b{width:14px;text-align:center;font-size:.76rem}
.fj-partidas li.g b{color:#7ed957}.fj-partidas li.p b{color:#ef7d6b}
.fj-partidas span{font-variant-numeric:tabular-nums;color:#c3c7cf}
.fj-heroes{flex-direction:row;flex-wrap:wrap;gap:4px 12px}
.fj-heroes li{display:flex;align-items:center;gap:5px;font-size:.74rem;color:#c3c7cf}
.fj-heroe{width:34px;height:19px;object-fit:cover;border-radius:3px;background:#22252c;display:block;flex:none}
.fj-vacio{color:#8b8e98;font-size:.78rem;margin:2px 0}
.fj-ext-l{display:flex;justify-content:space-between;gap:8px;font-size:.8rem;color:#c3c7cf}
.fj-privado{color:#f3d69a;font-size:.72rem}
.fj-ext .fj-heroes{margin-top:7px}
.fj-links{display:flex;flex-wrap:wrap;gap:6px 12px;margin-top:11px;padding-top:9px;border-top:1px solid #23262d;font-size:.76rem}
.fj-links a{color:#9ccfff;text-decoration:none}
.fj-links a:hover{text-decoration:underline}
.fj-links .fj-perfil{font-weight:600;color:#f5f5f7}
.fj-hoja .fj-links a{padding:6px 0}
.fj-skel{display:flex;flex-direction:column;gap:6px}
.fj-skel i{display:block;height:14px;border-radius:5px;background:linear-gradient(90deg,#1c1f25 20%,#2a2d34 50%,#1c1f25 80%);background-size:200% 100%;animation:fj-brillo 1.2s linear infinite}
.fj-skel i:nth-child(2){width:80%}.fj-skel i:nth-child(3){width:60%}
@keyframes fj-brillo{to{background-position:-200% 0}}
@media (prefers-reduced-motion:reduce){.fj-skel i{animation:none}}
.fj-cargando{min-height:120px}
[data-ficha-id]{cursor:pointer}

/* Tarjeta flotante (05/11/2026): equipo, bloques por competencia e insignias. */
.fj-insignias{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}
.fj-insignia{font-size:.66rem;line-height:1;padding:3px 6px;border-radius:999px;background:#23262d;color:#c3c7cf}
.fj-insignia-socio{background:#3a2f12;color:#f3d69a;text-transform:capitalize}
.fj-equipo{display:flex;align-items:center;gap:8px;margin-top:10px;padding:6px 8px;background:#1c1f25;border-radius:8px}
.fj-equipo-logo{flex:none;width:30px;height:30px;object-fit:contain;display:block}
.fj-equipo-logo-vacio{display:grid;place-items:center;border-radius:6px;background:#2a2d34;font-weight:700;color:#c3c7cf}
.fj-equipo-txt{display:flex;flex-direction:column;min-width:0;font-size:.84rem;line-height:1.2}
.fj-equipo-txt b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fj-equipo-txt small{color:#8b8e98;font-size:.72rem}
.fj-stats-3{grid-template-columns:repeat(3,1fr);margin-top:0}
.fj-pop h4+.fj-stats{margin-top:0}
.fj-kda{font-size:.88rem!important;white-space:nowrap}
.fj-stats+.fj-heroes{margin-top:6px}
.fj-partidas{flex-direction:row;flex-wrap:wrap;gap:4px}
.fj-partidas li{gap:4px;padding:3px 6px;background:#1c1f25;border-radius:6px;font-size:.68rem}
.fj-partidas span{color:#8b8e98}
