.ea-modal-overlay {
  position: fixed;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px;
  background: rgba(3, 4, 15, .93);
  backdrop-filter: blur(14px);
  font-family: Inter, system-ui, sans-serif;
  color: #f5f7ff;
}
.ea-modal-dialog {
  display: flex;
  flex-direction: column;
  position: relative;
  width: min(980px, 100%);
  height: min(850px, calc(100dvh - 24px));
  min-height: 0;
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(0, 217, 255, .46);
  border-radius: 20px;
  background: #080c1d;
  box-shadow: 0 28px 90px rgba(0,0,0,.82), 0 0 40px rgba(0,217,255,.1);
}
.ea-modal-dialog * { box-sizing: border-box; }
.ea-modal-dialog button { font-family: inherit; }
.ea-modal-dialog button:focus-visible { outline: 2px solid #00d9ff; outline-offset: 2px; }
.ea-modal-close {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  flex: 0 0 auto;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 50%;
  background: rgba(255,255,255,.06);
  color: #edf4ff;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
}
.ea-club-dialog > .ea-modal-close { position: absolute; z-index: 2; top: 16px; right: 16px; }
.ea-club-header {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 20px;
  min-height: 124px;
  padding: 18px 64px 18px 28px;
  background: radial-gradient(circle at 10% 35%, rgba(0,217,255,.25), transparent 36%), linear-gradient(120deg,#0c1b38,#080c1d 80%);
  border-bottom: 1px solid rgba(0,217,255,.18);
}
.ea-club-mark {
  display: grid;
  place-items: center;
  width: 82px;
  height: 82px;
  flex: 0 0 82px;
  border: 2px solid #00d9ff;
  border-radius: 19px;
  background: linear-gradient(145deg,#174b79,#091433);
  box-shadow: 0 0 24px rgba(0,217,255,.24);
  color: #fff;
  font: 900 30px/1 'Barlow Condensed',system-ui,sans-serif;
}
.ea-club-identity { min-width: 0; }
.ea-club-name-line, .ea-club-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 7px 12px; }
.ea-club-name-line h2, .ea-player-header h2 { margin: 0; color: #fff; font: 800 clamp(26px,3vw,36px)/1 Inter,system-ui,sans-serif; letter-spacing: -.04em; overflow-wrap: anywhere; }
.ea-generation { padding: 6px 9px; border: 1px solid rgba(0,217,255,.5); border-radius: 6px; background: rgba(0,217,255,.13); color: #00d9ff; font-size: 11px; font-weight: 800; white-space: nowrap; }
.ea-club-meta { margin-top: 9px; color: #a1afc9; font-size: 12px; }
.ea-sync-label { flex: 0 0 auto; margin: 0; padding: 8px 24px 5px; color: #8290aa; font-size: 11px; }
.ea-club-tabs { display: flex; flex: 0 0 auto; gap: 5px; padding: 0 24px; border-bottom: 1px solid rgba(113,128,196,.25); overflow-x: auto; }
.ea-club-tabs button { padding: 12px 14px; border: 0; border-bottom: 3px solid transparent; background: transparent; color: #98a9c8; font-size: 13px; font-weight: 800; white-space: nowrap; cursor: pointer; }
.ea-club-tabs button.is-active { border-bottom-color: #00d9ff; color: #fff; background: linear-gradient(0deg,rgba(0,217,255,.14),transparent); }
.ea-club-tabs b { margin-left: 4px; padding: 2px 6px; border: 1px solid rgba(0,217,255,.42); border-radius: 999px; color: #00d9ff; font-size: 11px; }
.ea-modal-scroll { flex: 1 1 auto; min-height: 0; padding: 22px 24px 28px; overflow: auto; overscroll-behavior: contain; }
.ea-club-panel[hidden] { display: none; }
.ea-match-list { display: grid; gap: 10px; }
.ea-match-card { padding: 14px 16px; border: 1px solid rgba(113,128,196,.28); border-left: 3px solid #9ca9c4; border-radius: 10px; background: #10162e; }
.ea-match-trigger { display: block; width: 100%; padding: 0; border: 0; background: transparent; color: inherit; text-align: left; cursor: pointer; }
.ea-match-trigger:hover .ea-match-expand, .ea-match-trigger:focus-visible .ea-match-expand { color: #fff; }
.ea-match-trigger:focus-visible, .ea-match-athlete:focus-visible { outline: 2px solid #00d9ff; outline-offset: 3px; }
.ea-match-card.win { border-left-color: #00e699; }
.ea-match-card.draw { border-left-color: #facc15; }
.ea-match-card.loss { border-left-color: #ff1e56; }
.ea-match-meta { display: flex; justify-content: space-between; gap: 10px; color: #91a2c1; font-size: 11px; font-weight: 700; }
.ea-match-score { display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); align-items: center; gap: 12px; margin: 9px 0; }
.ea-match-score strong { min-width: 0; overflow-wrap: anywhere; font-size: 15px; }
.ea-match-score strong:last-child { text-align: right; }
.ea-match-score b { color: #fff; font-size: 24px; white-space: nowrap; }
.ea-match-score b span { color: #7890b3; font-size: 16px; }
.ea-match-result { color: #a8b8d5; font-size: 11px; font-weight: 800; text-transform: uppercase; }
.ea-match-card.win .ea-match-result { color: #00e699; }
.ea-match-card.draw .ea-match-result { color: #facc15; }
.ea-match-card.loss .ea-match-result { color: #ff587f; }
.ea-match-footer { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.ea-match-expand { color: #00d9ff; font-size: 11px; font-weight: 800; }
.ea-match-detail { margin-top: 14px; padding-top: 14px; border-top: 1px solid rgba(113,128,196,.28); }
.ea-match-detail[hidden] { display: none; }
.ea-match-detail > p { margin: 0 0 14px; color: #8fa1c0; font-size: 11px; }
.ea-match-squads { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.ea-match-squads > section { min-width: 0; padding: 0; }
.ea-match-squads h3 { display: flex; justify-content: space-between; gap: 10px; margin: 0 0 9px; color: #f3f7ff; font-size: 14px; }
.ea-match-squads h3 span { color: #00d9ff; }
.ea-match-athletes { display: grid; gap: 7px; }
.ea-match-athlete { display: grid; grid-template-columns: 38px minmax(0,1fr) auto; align-items: center; gap: 2px 8px; width: 100%; padding: 9px 10px; border: 1px solid rgba(113,128,196,.3); border-radius: 8px; background: #0b1126; color: #fff; text-align: left; cursor: pointer; }
.ea-match-athlete:hover { border-color: #00d9ff; background: #142447; }
.ea-match-athlete span { grid-row: 1 / 3; color: #00d9ff; font-size: 10px; font-weight: 800; }
.ea-match-athlete strong { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; }
.ea-match-athlete small { grid-column: 2; color: #96a8c9; font-size: 10px; }
.ea-match-athlete b { grid-column: 3; grid-row: 1 / 3; color: #00d9ff; }
.ea-match-squad-empty { margin: 0; padding: 13px; border: 1px dashed rgba(113,128,196,.3); border-radius: 8px; color: #96a8c9; font-size: 11px; }
.ea-match-empty { padding: 22px; border: 1px dashed rgba(0,217,255,.3); border-radius: 10px; color: #a8b8d5; line-height: 1.5; }
.ea-player-dialog.ea-match-player-dialog { width: min(920px,100%); height: min(740px,calc(100dvh - 24px)); }
.ea-match-player-context { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 14px; padding: 12px 28px; border-bottom: 1px solid rgba(113,128,196,.22); color: #a8b8d5; font-size: 12px; }
.ea-match-player-context strong { color: #00d9ff; }
.ea-match-player-context time { margin-left: auto; }
.ea-match-player-dialog .ea-player-layout { grid-template-columns: minmax(210px,250px) minmax(0,1fr); }
.ea-match-player-dialog .ea-athlete-stats > .ea-section-heading { justify-content: space-between; margin-top: 0; }
.ea-match-player-dialog .ea-player-stat-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.ea-match-player-flags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.ea-match-player-flags span { padding: 6px 9px; border: 1px solid rgba(0,217,255,.35); border-radius: 6px; color: #00d9ff; font-size: 11px; font-weight: 700; }
.ea-match-data-note { margin-top: 18px; color: #899ab8; font-size: 11px; line-height: 1.4; }
.ea-section-heading { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 6px 12px; margin: 2px 0 12px; }
.ea-section-heading strong, .ea-kicker { color: #00d9ff; font-size: 11px; font-weight: 900; letter-spacing: .08em; }
.ea-section-heading span { color: #71809e; font-size: 11px; }
.ea-club-stat-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; margin-bottom: 22px; }
.ea-stat-card { display: flex; flex-direction: column; justify-content: space-between; gap: 8px; min-width: 0; min-height: 74px; padding: 13px 15px; border: 1px solid rgba(113,128,196,.22); border-top: 3px solid #65718e; border-radius: 11px; background: linear-gradient(150deg,#101732,#090d20); }
.ea-stat-card span { color: #91a0bc; font-size: 11px; font-weight: 800; line-height: 1.25; text-transform: uppercase; overflow-wrap: anywhere; }
.ea-stat-card strong { color: #f6f7ff; font-size: clamp(20px,2vw,27px); font-weight: 900; line-height: 1; overflow-wrap: anywhere; }
.ea-stat-card.cyan { border-top-color: #00d9ff; }
.ea-stat-card.cyan strong { color: #00d9ff; }
.ea-stat-card.green { border-top-color: #00e699; }
.ea-stat-card.green strong { color: #00e699; }
.ea-stat-card.yellow { border-top-color: #facc15; }
.ea-stat-card.yellow strong { color: #facc15; }
.ea-stat-card.pink { border-top-color: #ff1e56; }
.ea-stat-card.pink strong { color: #ff1e56; }
.ea-stat-card.purple { border-top-color: #ad62f6; }
.ea-stat-card.purple strong { color: #ad62f6; }
.ea-position-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; margin-top: 12px; }
.ea-position-grid > div { display: flex; align-items: center; gap: 10px; min-width: 0; padding: 10px 12px; border: 1px solid rgba(113,128,196,.25); border-left: 3px solid #00d9ff; border-radius: 10px; background: #0e142c; }
.ea-position-grid span { padding: 3px 7px; border: 1px solid rgba(0,217,255,.5); border-radius: 5px; color: #00d9ff; font-size: 11px; font-weight: 800; }
.ea-position-grid b { flex: 1; min-width: 0; font-size: 12px; }
.ea-position-grid strong { font-size: 20px; }
.ea-club-member-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.ea-club-member-list button { display: grid; grid-template-columns: 48px minmax(0,1fr) auto; align-items: center; gap: 4px 10px; min-width: 0; padding: 12px; border: 1px solid rgba(113,128,196,.25); border-radius: 9px; background: #101732; color: #fff; text-align: left; cursor: pointer; }
.ea-club-member-list button:hover { border-color: #00d9ff; background: #142447; }
.ea-club-member-list button span { grid-row: 1/3; color: #00d9ff; font-size: 11px; font-weight: 800; }
.ea-club-member-list button strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 14px; }
.ea-club-member-list button small { grid-column: 2; color: #8e9db9; font-size: 11px; }
.ea-club-member-list button b { grid-column: 3; grid-row: 1/3; color: #00d9ff; }
.ea-player-dialog { width: min(1560px,100%); height: min(920px,calc(100dvh - 24px)); }
.ea-player-header { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex: 0 0 auto; padding: 16px 28px 12px; border-bottom: 1px solid rgba(113,128,196,.22); background: linear-gradient(120deg,rgba(0,217,255,.12),#080c1d 48%); }
.ea-player-header h2 { margin-top: 5px; font-size: clamp(24px,2.5vw,32px); }
.ea-player-navigation { display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); align-items: center; gap: 12px; flex: 0 0 auto; padding: 9px 28px; border-bottom: 1px solid rgba(113,128,196,.22); background: #0d1129; }
.ea-player-navigation button { min-width: 0; padding: 8px 12px; overflow: hidden; border: 1px solid rgba(0,217,255,.36); border-radius: 7px; background: rgba(0,217,255,.1); color: #00d9ff; font-size: 12px; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; cursor: pointer; }
.ea-player-navigation button:last-child { justify-self: end; }
.ea-player-navigation strong { color: #8e9bb6; font-size: 12px; white-space: nowrap; }
.ea-player-layout { display: grid; grid-template-columns: minmax(250px,300px) minmax(0,1fr); gap: 22px; }
.ea-athlete-sidebar { display: grid; align-content: start; gap: 12px; min-width: 0; }
.ea-athlete-card, .ea-radar-card { padding: 14px; border: 1px solid rgba(113,128,196,.25); border-radius: 12px; background: linear-gradient(145deg,#111d34,#070b19); }
.ea-athlete-heading { display: flex; align-items: start; gap: 10px; }
.ea-ovr { display: grid; place-items: center; flex: 0 0 49px; min-height: 54px; border: 1px solid rgba(113,128,196,.3); border-radius: 8px; background: #070c1c; }
.ea-ovr strong { font-size: 23px; line-height: 1; }
.ea-ovr span { color: #00d9ff; font-size: 10px; font-weight: 800; }
.ea-athlete-heading > div:last-child { min-width: 0; }
.ea-athlete-heading h3 { margin: 0 0 3px; font: 800 19px/1 Inter,system-ui,sans-serif; overflow-wrap: anywhere; }
.ea-athlete-heading small { display: block; color: #b4c0d4; font-size: 11px; }
.ea-position-tag { display: inline-block; margin-top: 6px; padding: 3px 7px; border: 1px solid rgba(255,30,86,.4); border-radius: 5px; color: #ff4d7c; font-size: 10px; font-weight: 800; }
.ea-athlete-club { display: flex; align-items: center; gap: 9px; margin-top: 13px; padding: 9px; border: 1px solid rgba(113,128,196,.25); border-radius: 8px; background: rgba(0,0,0,.22); }
.ea-athlete-club > span { font-size: 19px; }
.ea-athlete-club strong, .ea-athlete-club small { display: block; }
.ea-athlete-club strong { font-size: 12px; }
.ea-athlete-club small { color: #a1afc9; font-size: 10px; }
.ea-physical { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin-top: 13px; padding-top: 12px; border-top: 1px solid rgba(113,128,196,.2); }
.ea-physical span, .ea-physical strong { display: block; }
.ea-physical span { color: #7f8da9; font-size: 10px; text-transform: uppercase; }
.ea-physical strong { margin-top: 2px; color: #fff; font-size: 12px; overflow-wrap: anywhere; }
.ea-copy-button { width: 100%; margin-top: 14px; padding: 9px; border: 1px solid rgba(173,98,246,.6); border-radius: 7px; background: rgba(113,42,188,.18); color: #bf82ff; font-size: 11px; font-weight: 800; cursor: pointer; }
.ea-radar-card { text-align: center; }
.ea-radar-card .ea-kicker { display: block; text-align: left; }
.ea-radar-card svg { display: block; width: min(220px,100%); margin: 8px auto; }
.ea-radar-card svg text { fill: #99a8c2; font: 700 9px Inter,system-ui,sans-serif; }
.ea-radar-card small { display: inline-block; padding: 4px 10px; border: 1px solid rgba(0,217,255,.35); border-radius: 5px; color: #00d9ff; font-size: 11px; }
.ea-athlete-stats { min-width: 0; }
.ea-athlete-controls { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 8px 12px; border: 1px solid rgba(113,128,196,.25); border-radius: 9px; background: #070b19; }
.ea-athlete-controls > strong { font-size: 14px; }
.ea-athlete-controls > div { display: flex; gap: 4px; }
.ea-athlete-controls button { padding: 8px 10px; border: 1px solid rgba(113,128,196,.25); border-radius: 5px; background: transparent; color: #9faec8; font-size: 11px; font-weight: 800; cursor: pointer; }
.ea-athlete-controls button.is-active { background: #5730da; color: #fff; box-shadow: 0 0 16px rgba(106,53,255,.3); }
.ea-athlete-stats > .ea-section-heading { justify-content: center; margin-top: 24px; }
.ea-athlete-stats > .ea-technical-heading { margin-top: 22px; padding-top: 20px; border-top: 1px solid rgba(113,128,196,.24); }
.ea-player-stat-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 10px; }
.ea-player-stat-grid .ea-stat-card { border-top-width: 1px; background: #151a3b; }
@media (max-width: 1050px) { .ea-player-stat-grid { grid-template-columns: repeat(4,minmax(0,1fr)); } }
@media (max-width: 800px) { .ea-player-layout { grid-template-columns: 1fr; } .ea-athlete-sidebar { grid-template-columns: repeat(2,minmax(0,1fr)); } .ea-player-stat-grid { grid-template-columns: repeat(3,minmax(0,1fr)); } }
@media (max-width: 800px) { .ea-match-player-dialog .ea-player-layout { grid-template-columns: 1fr; } .ea-match-player-dialog .ea-athlete-sidebar { grid-template-columns: 1fr; } }
@media (max-width: 640px) {
  .ea-match-squads { grid-template-columns: 1fr; }
  .ea-match-player-dialog .ea-player-stat-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .ea-match-player-context { padding: 10px 14px; }
  .ea-match-player-context time { margin-left: 0; }
  .ea-match-score { gap: 5px; }
  .ea-match-score strong { font-size: 12px; }
  .ea-match-score b { font-size: 18px; }
  .ea-modal-overlay { padding: 0; }
  .ea-modal-dialog, .ea-player-dialog, .ea-player-dialog.ea-match-player-dialog { width: 100%; height: 100dvh; max-height: none; border-radius: 0; border-inline: 0; }
  .ea-club-header { min-height: 0; gap: 10px; padding: 16px 55px 16px 14px; }
  .ea-club-mark { width: 56px; height: 56px; flex-basis: 56px; border-radius: 12px; font-size: 22px; }
  .ea-club-name-line h2 { font-size: 22px; }
  .ea-club-meta { font-size: 10px; }
  .ea-sync-label { padding-inline: 14px; }
  .ea-club-tabs { padding-inline: 10px; }
  .ea-club-tabs button { padding: 10px 8px; font-size: 10px; }
  .ea-modal-scroll { padding: 14px; }
  .ea-club-stat-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
  .ea-position-grid, .ea-club-member-list { grid-template-columns: 1fr; }
  .ea-player-header { padding: 12px 14px; }
  .ea-player-navigation { gap: 6px; padding: 8px 10px; }
  .ea-player-navigation button { padding: 7px 8px; font-size: 11px; }
  .ea-athlete-sidebar { grid-template-columns: 1fr; }
  .ea-athlete-controls { flex-wrap: wrap; }
  .ea-player-stat-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
}
