*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{--g:#0A0E18;--g2:#0F1525;--g3:#16202E;--border:#1E2D42;--lime:#C8F000;--lime-dim:#8AAA00;--white:#F0F4FF;--muted:#5A6A85;--mid:#8899BB}
html{scroll-behavior:smooth}
body{font-family:'Barlow',sans-serif;background:var(--g);color:var(--white);min-height:100vh;overflow-x:hidden}
body::before{content:'';position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.035'/%3E%3C/svg%3E");pointer-events:none;z-index:0}

/* LOADER */
#loader{position:fixed;inset:0;z-index:999;background:var(--g);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;transition:opacity .5s ease}
#loader.done{opacity:0;pointer-events:none}
.loader-logo{font-family:'Bebas Neue',sans-serif;font-size:36px;letter-spacing:6px;color:var(--white)}
.loader-bar{width:120px;height:2px;background:var(--border);border-radius:100px;overflow:hidden}
.loader-fill{height:100%;background:var(--lime);animation:barload 1.4s ease forwards}
@keyframes barload{from{width:0}to{width:100%}}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:90;display:flex;align-items:center;justify-content:space-between;padding:0 32px;height:60px;background:rgba(10,14,24,.88);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}
.nav-logo{font-family:'Bebas Neue',sans-serif;font-size:22px;letter-spacing:3px;color:var(--white);display:flex;align-items:center;gap:10px;text-decoration:none}
.nav-dot{width:8px;height:8px;background:var(--lime);border-radius:50%;animation:pulse 2s ease infinite;flex-shrink:0}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}
.nav-links{display:flex;gap:24px}
.nav-links a{font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);text-decoration:none;transition:color .2s}
.nav-links a:hover{color:var(--lime)}

/* HERO */
.hero-det{position:relative;z-index:1;padding:110px 32px 56px;overflow:hidden}
.hero-det-bg{position:absolute;inset:0;background:radial-gradient(ellipse 70% 60% at 80% 50%,rgba(200,240,0,.06) 0%,transparent 60%),radial-gradient(ellipse 50% 40% at 10% 80%,rgba(59,130,246,.05) 0%,transparent 60%)}
.hero-det-inner{max-width:1100px;margin:0 auto;display:flex;align-items:flex-end;justify-content:space-between;gap:40px;flex-wrap:wrap}
.hd-eye{font-size:11px;letter-spacing:4px;text-transform:uppercase;color:var(--lime);margin-bottom:14px;animation:fadeUp .5s ease both}
.hd-title{font-family:'Bebas Neue',sans-serif;font-size:clamp(52px,8vw,96px);line-height:.9;letter-spacing:2px;animation:fadeUp .5s .06s ease both}
.hd-title em{font-style:normal;color:transparent;-webkit-text-stroke:1px rgba(200,240,0,.5)}
.hd-meta{display:flex;align-items:center;gap:14px;margin-top:18px;flex-wrap:wrap;animation:fadeUp .5s .12s ease both}
.hd-badge{font-size:10px;letter-spacing:2px;text-transform:uppercase;padding:5px 12px;border-radius:100px;border:1px solid}
.hd-badge.on{background:rgba(34,197,94,.1);border-color:rgba(34,197,94,.25);color:#4ade80}
.hd-badge.off{background:rgba(248,113,113,.1);border-color:rgba(248,113,113,.25);color:#f87171}
.hd-info{font-size:12px;color:var(--muted)}
.hd-stats-row{display:flex;gap:28px;animation:fadeUp .5s .18s ease both;align-items:flex-end;padding-bottom:6px;flex-shrink:0}
.hd-stat{text-align:center}
.hd-stat-num{font-family:'Bebas Neue',sans-serif;font-size:42px;line-height:1;color:var(--white)}
.hd-stat-lbl{font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);margin-top:3px}
.hd-vsep{width:1px;height:50px;background:var(--border)}

/* TABS */
.tabs-wrap{position:sticky;top:60px;z-index:80;background:rgba(10,14,24,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}
.tabs{max-width:1100px;margin:0 auto;padding:0 32px;display:flex}
.tab-btn{font-size:12px;letter-spacing:1.5px;text-transform:uppercase;padding:16px 22px;color:var(--muted);cursor:pointer;border:none;border-bottom:2px solid transparent;background:none;font-family:'Barlow',sans-serif;transition:color .2s,border-color .2s}
.tab-btn:hover{color:var(--white)}
.tab-btn.active{color:var(--lime);border-bottom-color:var(--lime)}

/* SECTIONS */
.sec{display:none;position:relative;z-index:1;padding:48px 0 80px}
.sec.active{display:block}
.inner{max-width:1100px;margin:0 auto;padding:0 32px}
.sec-hd{margin-bottom:28px;padding-bottom:16px;border-bottom:1px solid var(--border)}
.sec-label{font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--lime);margin-bottom:6px}
.sec-title{font-family:'Bebas Neue',sans-serif;font-size:32px;letter-spacing:2px;color:var(--white)}

/* CLASIFICACION */
.clas-wrap{overflow-x:auto}
.clas-table{width:100%;border-collapse:collapse;min-width:500px}
.clas-table thead th{font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);padding:10px 14px;text-align:center;font-weight:400;border-bottom:1px solid var(--border)}
.clas-table thead th.left{text-align:left}
.clas-table tbody td{padding:13px 14px;text-align:center;font-size:14px;color:var(--mid);border-bottom:1px solid rgba(30,45,66,.4)}
.clas-table tbody td.left{text-align:left}
.clas-table tbody tr:hover{background:rgba(200,240,0,.02)}
.clas-table tbody tr:last-child td{border-bottom:none}
.clas-table tbody tr{animation:fadeUp .4s ease both}
.team-cell{display:flex;align-items:center;gap:12px}
.pos-num{font-family:'Bebas Neue',sans-serif;font-size:18px;color:var(--muted);min-width:22px;text-align:center}
.pos-1{color:var(--lime)}.pos-2{color:#C0C0C0}.pos-3{color:#CD7F32}
.escudo{width:30px;height:30px;border-radius:6px;object-fit:contain;background:var(--g3);flex-shrink:0}
.escudo-ph{width:30px;height:30px;border-radius:6px;background:var(--g3);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.escudo-ph svg{width:15px;height:15px;color:var(--border)}
.team-nm{font-size:14px;font-weight:500;color:var(--white)}
.pts-big{font-family:'Bebas Neue',sans-serif;font-size:22px;color:var(--white)}
.dif-p{color:#4ade80}.dif-n{color:#f87171}.dif-z{color:var(--muted)}

/* GOLEADORES */
.gol-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}
.gol-card{background:var(--g2);border:1px solid var(--border);border-radius:14px;padding:18px 20px;display:flex;align-items:center;gap:14px;position:relative;overflow:hidden;animation:fadeUp .4s ease both;transition:border-color .2s,transform .2s}
.gol-card:hover{border-color:var(--lime-dim);transform:translateY(-2px)}
.gol-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--lime),transparent)}
.gol-rank{font-family:'Bebas Neue',sans-serif;font-size:26px;min-width:26px;text-align:center;flex-shrink:0;color:var(--border)}
.r1{color:var(--lime)}.r2{color:#C0C0C0}.r3{color:#CD7F32}
.player-foto{width:44px;height:44px;border-radius:50%;object-fit:cover;background:var(--g3);flex-shrink:0;border:2px solid var(--border)}
.player-foto-ph{width:44px;height:44px;border-radius:50%;background:var(--g3);display:flex;align-items:center;justify-content:center;flex-shrink:0;border:2px solid var(--border)}
.player-foto-ph svg{width:20px;height:20px;color:var(--border)}
.gol-info{flex:1;min-width:0}
.gol-name{font-size:15px;font-weight:500;color:var(--white);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gol-team{font-size:11px;color:var(--muted);margin-top:2px}
.gol-nums{display:flex;gap:14px;margin-top:8px}
.gol-num{display:flex;flex-direction:column;align-items:center}
.gol-num-val{font-family:'Bebas Neue',sans-serif;font-size:22px;line-height:1;color:var(--white)}
.gol-num-val.lime{color:var(--lime)}
.gol-num-lbl{font-size:9px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin-top:2px}

/* LIDERES */
.lider-tabs{display:flex;gap:8px;margin-bottom:22px;flex-wrap:wrap}
.ltab{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;padding:7px 16px;border-radius:100px;border:1px solid var(--border);color:var(--muted);cursor:pointer;background:transparent;font-family:'Barlow',sans-serif;transition:all .2s}
.ltab:hover{color:var(--white);border-color:var(--mid)}
.ltab.active{background:rgba(200,240,0,.1);border-color:rgba(200,240,0,.3);color:var(--lime)}
.lid-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.lid-card{background:var(--g2);border:1px solid var(--border);border-radius:12px;padding:16px 18px;display:flex;align-items:center;gap:12px;animation:fadeUp .4s ease both;transition:border-color .15s}
.lid-card:hover{border-color:#2a3d57}
.lid-rank{font-family:'Bebas Neue',sans-serif;font-size:22px;min-width:22px;text-align:center;flex-shrink:0;color:var(--border)}
.lid-foto{width:38px;height:38px;border-radius:50%;object-fit:cover;background:var(--g3);flex-shrink:0;border:2px solid var(--border)}
.lid-foto-ph{width:38px;height:38px;border-radius:50%;background:var(--g3);display:flex;align-items:center;justify-content:center;flex-shrink:0;border:2px solid var(--border)}
.lid-foto-ph svg{width:17px;height:17px;color:var(--border)}
.lid-info{flex:1;min-width:0}
.lid-name{font-size:14px;font-weight:500;color:var(--white);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lid-team{font-size:11px;color:var(--muted);margin-top:1px}
.lid-val{font-family:'Bebas Neue',sans-serif;font-size:30px;line-height:1;color:var(--lime);flex-shrink:0}

/* CALENDARIO */
.jornada-tabs{display:flex;gap:8px;margin-bottom:24px;flex-wrap:wrap}
.jtab{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;padding:7px 16px;border-radius:100px;border:1px solid var(--border);color:var(--muted);cursor:pointer;background:transparent;font-family:'Barlow',sans-serif;transition:all .2s}
.jtab:hover{color:var(--white);border-color:var(--mid)}
.jtab.active{background:rgba(200,240,0,.1);border-color:rgba(200,240,0,.3);color:var(--lime)}
.partido-card{background:var(--g2);border:1px solid var(--border);border-radius:14px;padding:18px 24px;margin-bottom:12px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;animation:fadeUp .4s ease both;transition:border-color .15s}
.partido-card:hover{border-color:#2a3d57}
.partido-equipo{display:flex;align-items:center;gap:12px}
.partido-equipo.visitante{flex-direction:row-reverse;text-align:right}
.partido-eq-name{font-size:15px;font-weight:500;color:var(--white)}
.partido-escudo{width:36px;height:36px;border-radius:8px;object-fit:contain;background:var(--g3);flex-shrink:0}
.partido-escudo-ph{width:36px;height:36px;border-radius:8px;background:var(--g3);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.partido-escudo-ph svg{width:18px;height:18px;color:var(--border)}
.partido-center{display:flex;flex-direction:column;align-items:center;gap:6px;flex-shrink:0;min-width:120px}
.partido-marcador{display:flex;align-items:center;gap:8px}
.partido-gol{font-family:'Bebas Neue',sans-serif;font-size:36px;line-height:1;color:var(--white)}
.partido-vs{font-family:'Bebas Neue',sans-serif;font-size:18px;color:var(--muted)}
.partido-sep{font-family:'Bebas Neue',sans-serif;font-size:28px;color:var(--border)}
.partido-estado{font-size:10px;letter-spacing:1.5px;text-transform:uppercase;padding:4px 12px;border-radius:100px;border:1px solid}
.estado-finalizado{background:rgba(34,197,94,.08);border-color:rgba(34,197,94,.2);color:#4ade80}
.estado-pendiente{background:rgba(234,179,8,.08);border-color:rgba(234,179,8,.2);color:#fbbf24}
.estado-en-curso{background:rgba(59,130,246,.08);border-color:rgba(59,130,246,.2);color:#60a5fa}
.partido-meta{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--muted)}
.partido-meta svg{width:12px;height:12px;flex-shrink:0}
.partido-card.partido-clickable:hover{border-color:var(--lime-dim);transform:translateY(-2px)}
@media(max-width:600px){
  .partido-card{grid-template-columns:1fr;gap:12px}
  .partido-equipo.visitante{flex-direction:row;text-align:left}
  .partido-center{flex-direction:row;justify-content:center;min-width:unset}
  .res-cols{grid-template-columns:1fr}
}

.sk{background:linear-gradient(90deg,var(--g2) 25%,var(--g3) 50%,var(--g2) 75%);background-size:200% 100%;animation:shimmer 1.4s infinite;border-radius:6px}
@keyframes shimmer{from{background-position:200% 0}to{background-position:-200% 0}}

/* EQUIPOS */
.equipos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}
.eq-card{background:var(--g2);border:1px solid var(--border);border-radius:16px;overflow:hidden;animation:fadeUp .4s ease both}
.eq-card::before{content:'';display:block;height:2px;background:linear-gradient(90deg,transparent,var(--lime),transparent)}
.eq-header{display:flex;align-items:center;gap:16px;padding:20px 22px}
.eq-escudo{width:48px;height:48px;border-radius:10px;object-fit:contain;background:var(--g3);flex-shrink:0}
.eq-escudo-ph{width:48px;height:48px;border-radius:10px;background:var(--g3);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.eq-escudo-ph svg{width:22px;height:22px;color:var(--border)}
.eq-name{font-family:'Bebas Neue',sans-serif;font-size:22px;letter-spacing:1px;color:var(--white)}
.eq-pais{font-size:11px;color:var(--muted);margin-top:2px}
.eq-stats-row{display:flex;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.eq-stat{flex:1;text-align:center;padding:10px 8px;border-right:1px solid var(--border)}
.eq-stat:last-child{border-right:none}
.eq-stat-val{font-family:'Bebas Neue',sans-serif;font-size:20px;line-height:1;color:var(--white)}
.eq-stat-val.lime{color:var(--lime)}
.eq-stat-val.am{color:#fbbf24}
.eq-stat-val.roj{color:#f87171}
.eq-stat-lbl{font-size:9px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin-top:3px}
.eq-accordion{padding:0 0 8px}
.acc-item{border-bottom:1px solid rgba(30,45,66,.5)}
.acc-item:last-child{border-bottom:none}
.acc-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;padding:12px 22px;background:none;border:none;cursor:pointer;font-family:'Barlow',sans-serif;font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);transition:color .2s}
.acc-trigger:hover{color:var(--white)}
.acc-trigger.open{color:var(--lime)}
.acc-arrow{width:14px;height:14px;flex-shrink:0;transition:transform .25s;color:inherit}
.acc-trigger.open .acc-arrow{transform:rotate(90deg)}
.acc-body{display:none;padding:0 22px 16px}
.acc-body.open{display:block}
.eq-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.eq-info-block h6{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--lime);margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid var(--border)}
.eq-info-row{font-size:12px;color:var(--mid);margin-bottom:5px}
.eq-info-row b{color:var(--white);font-weight:500}
.eq-info-row a{color:var(--lime);text-decoration:none}
.jugador-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid rgba(30,45,66,.4)}
.jugador-row:last-child{border-bottom:none}
.jugador-foto{width:32px;height:32px;border-radius:50%;object-fit:cover;background:var(--g3);flex-shrink:0;border:2px solid var(--border)}
.jugador-foto-ph{width:32px;height:32px;border-radius:50%;background:var(--g3);display:flex;align-items:center;justify-content:center;flex-shrink:0;border:2px solid var(--border)}
.jugador-foto-ph svg{width:14px;height:14px;color:var(--border)}
.jugador-num{font-family:'Bebas Neue',sans-serif;font-size:16px;color:var(--lime);min-width:22px;text-align:center;flex-shrink:0}
.jugador-name{font-size:13px;color:var(--white);font-weight:500}
.jugador-apodo{font-size:11px;color:var(--muted);margin-top:1px}
.eq-empty-small{font-size:12px;color:var(--muted);font-style:italic;padding:8px 0}
.proximo-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid rgba(30,45,66,.4);font-size:12px}
.proximo-row:last-child{border-bottom:none}
.proximo-vs{font-weight:500;color:var(--white)}
.proximo-meta{color:var(--muted);text-align:right}
.proximo-jornada{font-size:10px;letter-spacing:1px;color:var(--lime)}
.estadio-foto{width:100%;height:140px;object-fit:cover;border-radius:10px;display:block;background:var(--g3)}
.estadio-foto-ph{width:100%;height:140px;border-radius:10px;background:var(--g3);display:flex;align-items:center;justify-content:center}
.estadio-foto-ph svg{width:32px;height:32px;color:var(--border)}

.res-scoreboard{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--border)}
.res-team{display:flex;flex-direction:column;align-items:center;gap:8px}
.res-team-escudo{width:48px;height:48px;border-radius:10px;object-fit:contain;background:var(--g3)}
.res-team-escudo-ph{width:48px;height:48px;border-radius:10px;background:var(--g3);display:flex;align-items:center;justify-content:center}
.res-team-escudo-ph svg{width:22px;height:22px;color:var(--border)}
.res-team-name{font-size:13px;font-weight:500;color:var(--white);text-align:center}
.res-team-label{font-size:9px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted)}
.res-score{display:flex;flex-direction:column;align-items:center;gap:6px}
.res-score-num{font-family:'Bebas Neue',sans-serif;font-size:56px;line-height:1;color:var(--white);display:flex;align-items:center;gap:10px}
.res-score-sep{font-family:'Bebas Neue',sans-serif;font-size:32px;color:var(--border)}
.res-score-estado{font-size:10px;letter-spacing:2px;text-transform:uppercase;padding:4px 12px;border-radius:100px;background:rgba(34,197,94,.08);border:1px solid rgba(34,197,94,.2);color:#4ade80}
.res-cols{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.res-col-title{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid var(--border)}
.res-event{display:flex;align-items:flex-start;gap:8px;padding:7px 0;border-bottom:1px solid rgba(30,45,66,.4)}
.res-event:last-child{border-bottom:none}
.res-event-min{font-family:'Bebas Neue',sans-serif;font-size:15px;color:var(--lime);min-width:28px;flex-shrink:0;padding-top:1px}
.res-event-icon{width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:11px;margin-top:1px}
.ev-gol{background:rgba(200,240,0,.15)}
.ev-am{background:rgba(234,179,8,.2)}
.ev-roj{background:rgba(248,113,113,.2)}
.ev-auto{background:rgba(139,92,246,.15)}
.res-event-info{flex:1;min-width:0}
.res-event-name{font-size:13px;color:var(--white);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.res-event-accion{font-size:10px;color:var(--muted);margin-top:2px}
.res-col-empty{text-align:center;padding:18px 0;color:var(--muted);font-size:12px;font-style:italic}

/* EMPTY */
.empty-box{text-align:center;padding:56px 0;border:1px dashed var(--border);border-radius:14px}
.empty-icon{width:42px;height:42px;margin:0 auto 12px;color:var(--border)}
.empty-txt{font-size:13px;color:var(--muted)}

/* FOOTER */
footer{position:relative;z-index:1;border-top:1px solid var(--border);padding:28px 32px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}
.ft-logo{font-family:'Bebas Neue',sans-serif;font-size:18px;letter-spacing:3px;color:var(--white)}
.ft-txt{font-size:12px;color:var(--muted)}

@keyframes fadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@keyframes spin{to{transform:rotate(360deg)}}

@media(max-width:600px){
  nav,footer{padding-left:16px;padding-right:16px}
  .hero-det{padding:100px 16px 48px}
  .inner,.tabs{padding-left:16px;padding-right:16px}
  .nav-links{display:none}
  .hd-stats-row{display:none}
}
/* ── MODAL JUGADOR ── */
.jugador-modal-overlay {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 300;
    background: rgba(4, 8, 18, 0.92);
    backdrop-filter: blur(8px);
    align-items: center;
    justify-content: center;
    padding: 24px;
}

.jugador-modal-overlay.open {
    display: flex;
}

.jugador-modal {
    background: var(--g2);
    border: 1px solid var(--border);
    border-radius: 20px;
    width: 100%;
    max-width: 680px;
    max-height: 85vh;
    display: flex;
    flex-direction: column;
    position: relative;
    animation: fadeUp 0.25s ease both;
}

.jugador-modal::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    border-radius: 20px 20px 0 0;
    background: linear-gradient(90deg, transparent, var(--lime), transparent);
}

.jugador-modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 22px 28px 18px;
    border-bottom: 1px solid var(--border);
    flex-shrink: 0;
}

.jugador-modal-header-left {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.jugador-modal-title {
    font-family: 'Bebas Neue', sans-serif;
    font-size: 22px;
    letter-spacing: 2px;
    color: var(--white);
}

.jugador-modal-subtitle {
    font-size: 12px;
    color: var(--muted);
    letter-spacing: 0.5px;
}

.jugador-modal-close {
    width: 32px;
    height: 32px;
    background: var(--g3);
    border: 1px solid var(--border);
    border-radius: 8px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: background 0.15s, border-color 0.15s;
}

.jugador-modal-close:hover {
    background: #1f2d45;
    border-color: #3a4f70;
}

.jugador-modal-close svg {
    width: 14px;
    height: 14px;
    color: var(--muted);
}

.jugador-modal-body {
    overflow-y: auto;
    padding: 24px 28px 28px;
    flex: 1;
}

.jugador-modal-body::-webkit-scrollbar {
    width: 4px;
}
.jugador-modal-body::-webkit-scrollbar-track {
    background: transparent;
}
.jugador-modal-body::-webkit-scrollbar-thumb {
    background: var(--border);
    border-radius: 4px;
}

/* Perfil del jugador */
.jugador-perfil {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 24px;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--border);
}

.jugador-perfil-foto {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    object-fit: cover;
    background: var(--g3);
    border: 3px solid var(--lime);
    flex-shrink: 0;
}

.jugador-perfil-foto-ph {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: var(--g3);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border: 3px solid var(--lime);
}

.jugador-perfil-foto-ph svg {
    width: 32px;
    height: 32px;
    color: var(--border);
}

.jugador-perfil-info {
    flex: 1;
}

.jugador-perfil-nombre {
    font-size: 20px;
    font-weight: 600;
    color: var(--white);
    font-family: 'Bebas Neue', sans-serif;
    letter-spacing: 1px;
}

.jugador-perfil-equipo {
    font-size: 13px;
    color: var(--lime);
    margin-top: 2px;
}

.jugador-perfil-apodo {
    font-size: 13px;
    color: var(--muted);
    margin-top: 2px;
}

/* Stats Grid */
.jugador-stats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: 12px;
    margin-bottom: 24px;
}

.jugador-stat-card {
    background: var(--g3);
    border: 1px solid var(--border);
    border-radius: 12px;
    padding: 14px 16px;
    text-align: center;
}

.jugador-stat-val {
    font-family: 'Bebas Neue', sans-serif;
    font-size: 28px;
    line-height: 1;
    color: var(--lime);
}

.jugador-stat-lbl {
    font-size: 9px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: var(--muted);
    margin-top: 4px;
}

/* Detalle adicional */
.jugador-detalle-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-bottom: 20px;
}

.jugador-detalle-item {
    background: var(--g3);
    border: 1px solid var(--border);
    border-radius: 10px;
    padding: 12px 16px;
}

.jugador-detalle-item label {
    font-size: 9px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: var(--muted);
    display: block;
    margin-bottom: 4px;
}

.jugador-detalle-item span {
    font-size: 14px;
    color: var(--white);
    font-weight: 500;
}

.jugador-modal-loading {
    text-align: center;
    padding: 40px 0;
    color: var(--muted);
    font-size: 14px;
}

.jugador-modal-loading::before {
    content: '';
    display: block;
    width: 28px;
    height: 28px;
    border: 2px solid var(--border);
    border-top-color: var(--lime);
    border-radius: 50%;
    margin: 0 auto 12px;
    animation: spin 0.7s linear infinite;
}

@media (max-width: 600px) {
    .jugador-perfil {
        flex-direction: column;
        text-align: center;
    }
    .jugador-detalle-grid {
        grid-template-columns: 1fr;
    }
    .jugador-stats-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* ── MODAL JUGADOR - ESCUDO ── */
.jugador-equipo-escudo {
    width: 48px;
    height: 48px;
    border-radius: 8px;
    object-fit: contain;
    background: var(--g3);
    flex-shrink: 0;
    border: 2px solid var(--border);
}

.jugador-equipo-escudo-ph {
    width: 48px;
    height: 48px;
    border-radius: 8px;
    background: var(--g3);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border: 2px solid var(--border);
}

/* ── AUTOGOL ── */
.res-event-icon.ev-auto {
    background: rgba(139, 92, 246, 0.15);
    color: #a78bfa;
}