{
  "_meta": {
    "wc22_source": "EA Sports FIFA 23 (released 30 Sep 2022, immediately before the World Cup). Team overall is the in-game national team rating; ATT/MID/DEF are the position group ratings. Tournament result is the stage the team reached.",
    "wc26_source": "EA Sports FIFA 26 (released 26 Sep 2025). Same rating structure. Tournament result column is left blank — WC26 hasn't happened yet. Treat this as a paper-talent ranking, not a prediction.",
    "caveat": "FIFA's team rating is a deterministic function of the top-N players' Overall ratings, weighted by position. It is a 'paper talent' measure: it knows nothing about chemistry, form, tactical fit, or which 11 a manager actually picks. The 'France basketball-team' line — most talent on paper does not mean most likely to win — is *exactly* what FIFA ratings systematically fail to predict.",
    "note_top11": "FIFA 'team overall' is calibrated against the best 11 lineups. Depth (player 12-23) barely moves it. That's why we surface a depth_gap column: top-11 average minus 12-23 average. France in WC22 has the largest such gap of any major nation."
  },
  "wc_2022": [
    {"team": "France",      "flag": "fr",    "overall": 84, "att": 85, "mid": 84, "def": 84, "depth_gap": 7.8, "stars": ["Mbappé", "Griezmann", "Hernandez"], "result": "Final", "result_rank": 2, "stage_int": 7, "notes": "Most talented attacking front in the field; finalists."},
    {"team": "Brazil",      "flag": "br",    "overall": 84, "att": 87, "mid": 84, "def": 82, "depth_gap": 6.5, "stars": ["Neymar", "Vinicius Jr", "Casemiro"], "result": "QF", "result_rank": 7, "stage_int": 5, "notes": "Pre-tournament favourite by paper rating; lost on PKs to Croatia in QF."},
    {"team": "Spain",       "flag": "es",    "overall": 83, "att": 83, "mid": 84, "def": 82, "depth_gap": 5.4, "stars": ["Pedri", "Gavi", "Morata"], "result": "R16", "result_rank": 13, "stage_int": 4, "notes": "Knocked out by Morocco on penalties."},
    {"team": "England",     "flag": "gb-eng","overall": 83, "att": 83, "mid": 83, "def": 82, "depth_gap": 5.9, "stars": ["Kane", "Bellingham", "Foden"], "result": "QF", "result_rank": 6, "stage_int": 5, "notes": "Eliminated by eventual finalists France; Kane missed late penalty."},
    {"team": "Argentina",   "flag": "ar",    "overall": 83, "att": 84, "mid": 84, "def": 82, "depth_gap": 5.1, "stars": ["Messi", "Di María", "Otamendi"], "result": "Winner", "result_rank": 1, "stage_int": 8, "notes": "Won the tournament from outside the top-3 paper rating."},
    {"team": "Belgium",     "flag": "be",    "overall": 83, "att": 84, "mid": 84, "def": 82, "depth_gap": 6.3, "stars": ["De Bruyne", "Hazard", "Courtois"], "result": "Group", "result_rank": 18, "stage_int": 2, "notes": "Pre-tournament dark horse; aging core, eliminated in groups."},
    {"team": "Germany",     "flag": "de",    "overall": 83, "att": 82, "mid": 84, "def": 81, "depth_gap": 5.5, "stars": ["Müller", "Gnabry", "Kimmich"], "result": "Group", "result_rank": 19, "stage_int": 2, "notes": "Second consecutive group-stage exit."},
    {"team": "Portugal",    "flag": "pt",    "overall": 83, "att": 83, "mid": 83, "def": 82, "depth_gap": 6.0, "stars": ["Ronaldo", "Bruno Fernandes", "Bernardo Silva"], "result": "QF", "result_rank": 8, "stage_int": 5, "notes": "Out to Morocco in QF."},
    {"team": "Netherlands", "flag": "nl",    "overall": 82, "att": 81, "mid": 82, "def": 83, "depth_gap": 4.8, "stars": ["Memphis", "Gakpo", "Van Dijk"], "result": "QF", "result_rank": 5, "stage_int": 5, "notes": "Lost to Argentina on penalties in QF."},
    {"team": "Croatia",     "flag": "hr",    "overall": 79, "att": 78, "mid": 84, "def": 78, "depth_gap": 4.0, "stars": ["Modrić", "Kovačić", "Brozović"], "result": "3rd",     "result_rank": 3, "stage_int": 6, "notes": "Massive overperformance — 3rd place from a top-15 paper rating."},
    {"team": "Denmark",     "flag": "dk",    "overall": 80, "att": 78, "mid": 81, "def": 81, "depth_gap": 4.2, "stars": ["Eriksen", "Hojbjerg", "Schmeichel"], "result": "Group", "result_rank": 25, "stage_int": 2, "notes": "Pre-tournament dark horse; one goal scored, eliminated in groups."},
    {"team": "Switzerland", "flag": "ch",    "overall": 79, "att": 77, "mid": 79, "def": 80, "depth_gap": 3.6, "stars": ["Xhaka", "Shaqiri", "Sommer"], "result": "R16", "result_rank": 14, "stage_int": 4, "notes": "Out to Portugal in R16."},
    {"team": "Uruguay",     "flag": "uy",    "overall": 79, "att": 79, "mid": 80, "def": 79, "depth_gap": 4.5, "stars": ["Valverde", "Suárez", "Cavani"], "result": "Group", "result_rank": 17, "stage_int": 2, "notes": "Out on goal difference."},
    {"team": "Mexico",      "flag": "mx",    "overall": 78, "att": 78, "mid": 78, "def": 79, "depth_gap": 3.1, "stars": ["Lozano", "Jiménez", "Ochoa"], "result": "Group", "result_rank": 22, "stage_int": 2, "notes": "First group exit since 1978."},
    {"team": "Senegal",     "flag": "sn",    "overall": 76, "att": 75, "mid": 77, "def": 77, "depth_gap": 3.5, "stars": ["Mané (injured)", "Mendy", "Koulibaly"], "result": "R16", "result_rank": 11, "stage_int": 4, "notes": "Lost top star to injury pre-tournament; R16 exit to England."},
    {"team": "Morocco",     "flag": "ma",    "overall": 75, "att": 74, "mid": 75, "def": 76, "depth_gap": 3.0, "stars": ["Hakimi", "Ziyech", "Bono"], "result": "4th",     "result_rank": 4, "stage_int": 6, "notes": "Largest paper-rating overperformance of any team — semi-finals from #15 talent."},
    {"team": "USA",         "flag": "us",    "overall": 75, "att": 74, "mid": 76, "def": 75, "depth_gap": 3.3, "stars": ["Pulisic", "McKennie", "Adams"], "result": "R16", "result_rank": 12, "stage_int": 4, "notes": "Out to Netherlands in R16."},
    {"team": "Poland",      "flag": "pl",    "overall": 76, "att": 76, "mid": 75, "def": 77, "depth_gap": 3.4, "stars": ["Lewandowski", "Zieliński", "Szczęsny"], "result": "R16", "result_rank": 16, "stage_int": 4, "notes": "Out to France."},
    {"team": "Japan",       "flag": "jp",    "overall": 73, "att": 72, "mid": 73, "def": 74, "depth_gap": 2.8, "stars": ["Mitoma", "Kubo", "Endo"], "result": "R16", "result_rank": 9, "stage_int": 4, "notes": "Beat Spain and Germany in groups; lost R16 on penalties to Croatia."},
    {"team": "Australia",   "flag": "au",    "overall": 71, "att": 69, "mid": 71, "def": 72, "depth_gap": 2.6, "stars": ["Mooy", "Duke", "Ryan"], "result": "R16", "result_rank": 15, "stage_int": 4, "notes": "First R16 since 2006."},
    {"team": "South Korea", "flag": "kr",    "overall": 75, "att": 75, "mid": 75, "def": 75, "depth_gap": 3.2, "stars": ["Son Heung-min", "Hwang Hee-chan", "Kim Min-jae"], "result": "R16", "result_rank": 10, "stage_int": 4, "notes": "Out to Brazil in R16."},
    {"team": "Wales",       "flag": "gb-wls","overall": 74, "att": 72, "mid": 74, "def": 75, "depth_gap": 3.0, "stars": ["Bale", "Ramsey", "Allen"], "result": "Group", "result_rank": 30, "stage_int": 2, "notes": "First WC since 1958; 1 pt and out."},
    {"team": "Ecuador",     "flag": "ec",    "overall": 73, "att": 71, "mid": 73, "def": 74, "depth_gap": 2.5, "stars": ["Valencia", "Caicedo", "Estupiñán"], "result": "Group", "result_rank": 20, "stage_int": 2, "notes": "Out on H2H tiebreaker with Netherlands."},
    {"team": "Tunisia",     "flag": "tn",    "overall": 72, "att": 70, "mid": 72, "def": 73, "depth_gap": 2.4, "stars": ["Khazri", "Hannibal", "Msakni"], "result": "Group", "result_rank": 24, "stage_int": 2, "notes": "Beat reigning champs France in dead rubber."},
    {"team": "Serbia",      "flag": "rs",    "overall": 75, "att": 76, "mid": 75, "def": 74, "depth_gap": 3.6, "stars": ["Mitrović", "Vlahović", "Tadić"], "result": "Group", "result_rank": 29, "stage_int": 2, "notes": "Group of Death exit."},
    {"team": "Cameroon",    "flag": "cm",    "overall": 72, "att": 71, "mid": 72, "def": 72, "depth_gap": 2.5, "stars": ["Onana (sent home)", "Choupo-Moting", "Aboubakar"], "result": "Group", "result_rank": 23, "stage_int": 2, "notes": "Beat Brazil 1-0 in dead rubber."},
    {"team": "Iran",        "flag": "ir",    "overall": 70, "att": 70, "mid": 70, "def": 71, "depth_gap": 2.1, "stars": ["Taremi", "Azmoun", "Beiranvand"], "result": "Group", "result_rank": 27, "stage_int": 2, "notes": "Lost to USA in must-win."},
    {"team": "Saudi Arabia","flag": "sa",    "overall": 68, "att": 67, "mid": 68, "def": 69, "depth_gap": 2.0, "stars": ["Al-Owais", "Saleh Al-Shehri", "Salem Al-Dawsari"], "result": "Group", "result_rank": 26, "stage_int": 2, "notes": "Beat Argentina in the opener; biggest paper-rating upset of the tournament."},
    {"team": "Costa Rica",  "flag": "cr",    "overall": 71, "att": 70, "mid": 71, "def": 72, "depth_gap": 2.3, "stars": ["Navas", "Tejeda", "Borges"], "result": "Group", "result_rank": 28, "stage_int": 2, "notes": "Group exit."},
    {"team": "Ghana",       "flag": "gh",    "overall": 72, "att": 71, "mid": 72, "def": 72, "depth_gap": 2.4, "stars": ["Kudus", "Partey", "Williams"], "result": "Group", "result_rank": 21, "stage_int": 2, "notes": "Out on goal difference."},
    {"team": "Qatar",       "flag": "qa",    "overall": 68, "att": 66, "mid": 68, "def": 70, "depth_gap": 1.8, "stars": ["Almoez Ali", "Afif", "Khoukhi"], "result": "Group", "result_rank": 32, "stage_int": 2, "notes": "First host to fail to win a match."},
    {"team": "Canada",      "flag": "ca",    "overall": 73, "att": 72, "mid": 73, "def": 74, "depth_gap": 2.9, "stars": ["Davies", "David", "Larin"], "result": "Group", "result_rank": 31, "stage_int": 2, "notes": "First WC since 1986; 0 pts."}
  ],
  "wc_2026_predicted": [
    {"team": "France",      "flag": "fr",    "overall": 85, "att": 86, "mid": 85, "def": 84, "depth_gap": 8.4, "stars": ["Mbappé", "Tchouaméni", "Saliba"], "qualification": "auto (UEFA)", "notes": "Same 'France-in-basketball' profile — by far the deepest attacking pool, but only 11 play."},
    {"team": "Spain",       "flag": "es",    "overall": 85, "att": 85, "mid": 86, "def": 84, "depth_gap": 6.8, "stars": ["Yamal", "Rodri", "Pedri"], "qualification": "auto (Euro 2024 champions)", "notes": "Reigning Euro champs; midfield rated #1 in the world."},
    {"team": "Brazil",      "flag": "br",    "overall": 84, "att": 86, "mid": 83, "def": 82, "depth_gap": 6.0, "stars": ["Vinicius Jr", "Rodrygo", "Casemiro"], "qualification": "qualified", "notes": "Pre-tournament favourite by paper rating for the third cycle running."},
    {"team": "Argentina",   "flag": "ar",    "overall": 83, "att": 83, "mid": 84, "def": 83, "depth_gap": 5.6, "stars": ["Lautaro", "Mac Allister", "Enzo"], "qualification": "auto (Copa champion 2024)", "notes": "Defending WC champions; Messi probable but not certain."},
    {"team": "England",     "flag": "gb-eng","overall": 84, "att": 84, "mid": 85, "def": 83, "depth_gap": 6.5, "stars": ["Bellingham", "Saka", "Foden"], "qualification": "auto (UEFA)", "notes": "Squad still hasn't won a knockout final."},
    {"team": "Portugal",    "flag": "pt",    "overall": 84, "att": 85, "mid": 84, "def": 83, "depth_gap": 6.2, "stars": ["Ronaldo (37)", "Bruno Fernandes", "B. Silva"], "qualification": "auto (UEFA)", "notes": "Ronaldo's last World Cup."},
    {"team": "Germany",     "flag": "de",    "overall": 83, "att": 83, "mid": 84, "def": 81, "depth_gap": 5.4, "stars": ["Wirtz", "Musiala", "Kimmich"], "qualification": "auto (UEFA)", "notes": "Generational midfield of Wirtz + Musiala."},
    {"team": "Netherlands", "flag": "nl",    "overall": 82, "att": 81, "mid": 82, "def": 83, "depth_gap": 4.4, "stars": ["Reijnders", "Gakpo", "Van Dijk"], "qualification": "auto (UEFA)", "notes": "Ageing core; new attacking ID under coach."},
    {"team": "Belgium",     "flag": "be",    "overall": 80, "att": 80, "mid": 81, "def": 80, "depth_gap": 4.0, "stars": ["Doku", "Onana A.", "Tielemans"], "qualification": "auto (UEFA)", "notes": "Generational reset complete."},
    {"team": "Italy",       "flag": "it",    "overall": 82, "att": 80, "mid": 83, "def": 84, "depth_gap": 5.0, "stars": ["Donnarumma", "Barella", "Bastoni"], "qualification": "playoff (UEFA)", "notes": "Could MISS a third straight WC."},
    {"team": "Croatia",     "flag": "hr",    "overall": 78, "att": 76, "mid": 82, "def": 78, "depth_gap": 3.4, "stars": ["Modrić (39)", "Kovačić", "Sosa"], "qualification": "playoff (UEFA)", "notes": "Modrić's last dance if they qualify."},
    {"team": "Morocco",     "flag": "ma",    "overall": 78, "att": 77, "mid": 78, "def": 79, "depth_gap": 3.5, "stars": ["Hakimi", "Diaz", "En-Nesyri"], "qualification": "auto (CAF)", "notes": "Their 2022 surge was no fluke — same core."},
    {"team": "Senegal",     "flag": "sn",    "overall": 77, "att": 77, "mid": 77, "def": 77, "depth_gap": 3.6, "stars": ["Mané", "Sarr I.", "Koulibaly"], "qualification": "auto (CAF)", "notes": "Sarr Inter-Milan emergence has lifted ceiling."},
    {"team": "Uruguay",     "flag": "uy",    "overall": 80, "att": 81, "mid": 80, "def": 79, "depth_gap": 4.2, "stars": ["Núñez", "Valverde", "Pellistri"], "qualification": "auto (CONMEBOL)", "notes": "Bielsa effect — best squad since 2018."},
    {"team": "Colombia",    "flag": "co",    "overall": 80, "att": 80, "mid": 80, "def": 80, "depth_gap": 4.1, "stars": ["James", "Díaz", "Lerma"], "qualification": "auto (CONMEBOL)", "notes": "Copa 2024 finalists; back at WC after missing 2022."},
    {"team": "Japan",       "flag": "jp",    "overall": 76, "att": 75, "mid": 76, "def": 76, "depth_gap": 3.0, "stars": ["Kubo", "Mitoma", "Endo"], "qualification": "auto (AFC)", "notes": "AFC's most consistent qualifier; aiming for first QF."},
    {"team": "South Korea", "flag": "kr",    "overall": 77, "att": 77, "mid": 76, "def": 76, "depth_gap": 3.4, "stars": ["Son", "Lee Kang-in", "Kim Min-jae"], "qualification": "auto (AFC)", "notes": "Son's last realistic shot."},
    {"team": "USA",         "flag": "us",    "overall": 77, "att": 76, "mid": 77, "def": 77, "depth_gap": 3.6, "stars": ["Pulisic", "Reyna", "McKennie"], "qualification": "auto (host)", "notes": "Hosting expectations; squad has matured but hasn't peaked."},
    {"team": "Canada",      "flag": "ca",    "overall": 75, "att": 75, "mid": 74, "def": 74, "depth_gap": 3.0, "stars": ["David", "Davies", "Bombito"], "qualification": "auto (host)", "notes": "Co-host; Davies-David tandem is the best Canada attack ever."},
    {"team": "Mexico",      "flag": "mx",    "overall": 77, "att": 76, "mid": 77, "def": 77, "depth_gap": 3.3, "stars": ["Lainez", "Álvarez E.", "Vega"], "qualification": "auto (host)", "notes": "Co-host; rebuild ongoing after 2022 disaster."},
    {"team": "Switzerland", "flag": "ch",    "overall": 78, "att": 76, "mid": 78, "def": 80, "depth_gap": 3.4, "stars": ["Xhaka", "Embolo", "Sommer"], "qualification": "auto (UEFA)", "notes": "Steady — never wins, never embarrasses themselves."},
    {"team": "Denmark",     "flag": "dk",    "overall": 80, "att": 78, "mid": 81, "def": 80, "depth_gap": 4.0, "stars": ["Højlund", "Eriksen", "Schmeichel"], "qualification": "auto (UEFA)", "notes": "Reset after 2022 group exit."},
    {"team": "Australia",   "flag": "au",    "overall": 70, "att": 68, "mid": 70, "def": 72, "depth_gap": 2.4, "stars": ["Irvine", "Souttar", "Ryan"], "qualification": "auto (AFC)", "notes": "Same core as 2022; veteran-heavy."},
    {"team": "Saudi Arabia","flag": "sa",    "overall": 69, "att": 68, "mid": 69, "def": 70, "depth_gap": 2.0, "stars": ["Al-Dawsari", "Al-Owais", "Al-Shehri"], "qualification": "auto (AFC)", "notes": "Pro League imports yet to lift national side."},
    {"team": "Iran",        "flag": "ir",    "overall": 71, "att": 71, "mid": 71, "def": 71, "depth_gap": 2.2, "stars": ["Taremi", "Azmoun", "Beiranvand"], "qualification": "auto (AFC)", "notes": "Same core as 2022; one more cycle for Taremi/Azmoun."}
  ]
}
