Files
worldcup/data/1986/worldcup.json
T
valknar b141356247 refactor: replace hardcoded hex colors with theme tokens, move data/ to root
- Add --color-green-mid token (#4a7a55) to @theme for dimmer stat values
- Replace all text-[#hex]/bg-[#hex] arbitrary values with named tokens:
  text-green, text-green-light, text-green-sec, text-green-muted,
  text-green-dark, text-green-mid, text-text, bg-card, bg-bg, border-border
- Replace rgba(34,197,94,X) inline styles with bg-green/X opacity modifiers
- Convert single-prop style={{ borderColor/background }} to className
- Fix SVG stroke="#dff5e8" → stroke="currentColor"
- Use CSS variables in globals.css base styles (background-color, color)
- Move app/data/wikipedia/ → data/ (project root, not inside Next.js app dir)
- Update Dockerfile, seed.ts, scrape-wikipedia.ts paths accordingly
- Remove unused app/data/world_cup.csv

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-15 18:08:23 +02:00

1484 lines
27 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"matches": [
{
"round": "Round of 16",
"date": "1986-06-15",
"time": "12:00",
"team1": "Mexico",
"team2": "Bulgaria",
"score": {
"ft": [
2,
0
]
},
"goals1": [
{
"name": "Negrete",
"minute": 34
},
{
"name": "Servín",
"minute": 61
}
],
"ground": "Estadio Azteca, Mexico City"
},
{
"round": "Round of 16",
"date": "1986-06-15",
"time": "16:00",
"team1": "Soviet Union",
"team2": "Belgium",
"score": {
"ft": [
2,
2
],
"et": [
3,
4
]
},
"goals1": [
{
"name": "Belanov",
"minute": 27
},
{
"name": "Belanov",
"minute": 70
},
{
"name": "Belanov",
"minute": 111,
"penalty": true
}
],
"goals2": [
{
"name": "Scifo",
"minute": 56
},
{
"name": "Ceulemans",
"minute": 77
},
{
"name": "Demol",
"minute": 102
},
{
"name": "Claesen",
"minute": 110
}
],
"ground": "Estadio Nou Camp, León"
},
{
"round": "Round of 16",
"date": "1986-06-16",
"time": "12:00",
"team1": "Brazil",
"team2": "Poland",
"score": {
"ft": [
4,
0
]
},
"goals1": [
{
"name": "Sócrates",
"minute": 30,
"penalty": true
},
{
"name": "Josimar",
"minute": 55
},
{
"name": "Edinho",
"minute": 79
},
{
"name": "Careca",
"minute": 83,
"penalty": true
}
],
"ground": "Estadio Jalisco, Guadalajara"
},
{
"round": "Round of 16",
"date": "1986-06-16",
"time": "16:00",
"team1": "Argentina",
"team2": "Uruguay",
"score": {
"ft": [
1,
0
]
},
"goals1": [
{
"name": "Pasculli",
"minute": 42
}
],
"ground": "Estadio Cuauhtémoc, Puebla"
},
{
"round": "Round of 16",
"date": "1986-06-17",
"time": "12:00",
"team1": "Italy",
"team2": "France",
"score": {
"ft": [
0,
2
]
},
"goals2": [
{
"name": "Platini",
"minute": 15
},
{
"name": "Stopyra",
"minute": 57
}
],
"ground": "Estadio Olímpico Universitario, Mexico City"
},
{
"round": "Round of 16",
"date": "1986-06-17",
"time": "16:00",
"team1": "Morocco",
"team2": "West Germany",
"score": {
"ft": [
0,
1
]
},
"goals2": [
{
"name": "Matthäus",
"minute": 88
}
],
"ground": "Estadio Universitario, San Nicolás de los Garza"
},
{
"round": "Round of 16",
"date": "1986-06-18",
"time": "12:00",
"team1": "England",
"team2": "Paraguay",
"score": {
"ft": [
3,
0
]
},
"goals1": [
{
"name": "Lineker",
"minute": 31
},
{
"name": "Lineker",
"minute": 73
},
{
"name": "Beardsley",
"minute": 56
}
],
"ground": "Estadio Azteca, Mexico City"
},
{
"round": "Round of 16",
"date": "1986-06-18",
"time": "16:00",
"team1": "Denmark",
"team2": "Spain",
"score": {
"ft": [
1,
5
]
},
"goals1": [
{
"name": "J. Olsen",
"minute": 33,
"penalty": true
}
],
"goals2": [
{
"name": "Butragueño",
"minute": 43
},
{
"name": "Butragueño",
"minute": 56
},
{
"name": "Butragueño",
"minute": 80
},
{
"name": "Butragueño",
"minute": 88,
"penalty": true
},
{
"name": "Goikoetxea",
"minute": 68,
"penalty": true
}
],
"ground": "Estadio La Corregidora, Querétaro"
},
{
"round": "Quarter-finals",
"date": "1986-06-21",
"time": "12:00",
"team1": "Brazil",
"team2": "France",
"score": {
"ft": [
1,
1
],
"et": [
1,
1
],
"p": [
3,
4
]
},
"goals1": [
{
"name": "Careca",
"minute": 17
}
],
"goals2": [
{
"name": "Platini",
"minute": 40
}
],
"ground": "Estadio Jalisco, Guadalajara"
},
{
"round": "Quarter-finals",
"date": "1986-06-21",
"time": "16:00",
"team1": "West Germany",
"team2": "Mexico",
"score": {
"ft": [
0,
0
],
"et": [
0,
0
],
"p": [
4,
1
]
},
"ground": "Estadio Universitario, San Nicolás de los Garza"
},
{
"round": "Quarter-finals",
"date": "1986-06-22",
"time": "12:00",
"team1": "Argentina",
"team2": "England",
"score": {
"ft": [
2,
1
]
},
"goals1": [
{
"name": "Maradona",
"minute": 51
},
{
"name": "Maradona",
"minute": 55
}
],
"goals2": [
{
"name": "Lineker",
"minute": 81
}
],
"ground": "Estadio Azteca, Mexico City"
},
{
"round": "Quarter-finals",
"date": "1986-06-22",
"time": "16:00",
"team1": "Spain",
"team2": "Belgium",
"score": {
"ft": [
1,
1
],
"et": [
1,
1
],
"p": [
4,
5
]
},
"goals1": [
{
"name": "Señor",
"minute": 85
}
],
"goals2": [
{
"name": "Ceulemans",
"minute": 35
}
],
"ground": "Estadio Cuauhtémoc, Puebla"
},
{
"round": "Semi-finals",
"date": "1986-06-25",
"time": "12:00",
"team1": "France",
"team2": "West Germany",
"score": {
"ft": [
0,
2
]
},
"goals2": [
{
"name": "Brehme",
"minute": 9
},
{
"name": "Völler",
"minute": 90
}
],
"ground": "Estadio Jalisco, Guadalajara"
},
{
"round": "Semi-finals",
"date": "1986-06-25",
"time": "16:00",
"team1": "Argentina",
"team2": "Belgium",
"score": {
"ft": [
2,
0
]
},
"goals1": [
{
"name": "Maradona",
"minute": 51
},
{
"name": "Maradona",
"minute": 63
}
],
"ground": "Estadio Azteca, Mexico City"
},
{
"round": "Third-place match",
"date": "1986-06-28",
"time": "12:00",
"team1": "Belgium",
"team2": "France",
"score": {
"ft": [
2,
2
],
"et": [
2,
4
]
},
"goals1": [
{
"name": "Ceulemans",
"minute": 11
},
{
"name": "Claesen",
"minute": 73
}
],
"goals2": [
{
"name": "Ferreri",
"minute": 27
},
{
"name": "Papin",
"minute": 43
},
{
"name": "Genghini",
"minute": 104
},
{
"name": "Amoros",
"minute": 111,
"penalty": true
}
],
"ground": "Estadio Cuauhtémoc, Puebla"
},
{
"round": "Final",
"date": "1986-06-29",
"time": "12:00",
"team1": "Argentina",
"team2": "West Germany",
"score": {
"ft": [
3,
2
]
},
"goals1": [
{
"name": "Brown",
"minute": 23
},
{
"name": "Valdano",
"minute": 56
},
{
"name": "Burruchaga",
"minute": 84
}
],
"goals2": [
{
"name": "Rummenigge",
"minute": 74
},
{
"name": "Völler",
"minute": 81
}
],
"ground": "Estadio Azteca, Mexico City"
},
{
"round": "Group stage",
"group": "Group A",
"date": "1986-05-31",
"time": "12:00",
"team1": "Bulgaria",
"team2": "Italy",
"score": {
"ft": [
1,
1
]
},
"goals1": [
{
"name": "Sirakov",
"minute": 85
}
],
"goals2": [
{
"name": "Altobelli",
"minute": 44
}
],
"ground": "Estadio Azteca, Mexico City"
},
{
"round": "Group stage",
"group": "Group A",
"date": "1986-06-02",
"time": "12:00",
"team1": "Argentina",
"team2": "South Korea",
"score": {
"ft": [
3,
1
]
},
"goals1": [
{
"name": "Valdano",
"minute": 6
},
{
"name": "Valdano",
"minute": 46
},
{
"name": "Ruggeri",
"minute": 18
}
],
"goals2": [
{
"name": "Park Chang-Sun",
"minute": 73
}
],
"ground": "Estadio Olímpico Universitario, Mexico City"
},
{
"round": "Group stage",
"group": "Group A",
"date": "1986-06-05",
"time": "12:00",
"team1": "Italy",
"team2": "Argentina",
"score": {
"ft": [
1,
1
]
},
"goals1": [
{
"name": "Altobelli",
"minute": 6,
"penalty": true
}
],
"goals2": [
{
"name": "Maradona",
"minute": 34
}
],
"ground": "Estadio Cuauhtémoc, Puebla"
},
{
"round": "Group stage",
"group": "Group A",
"date": "1986-06-05",
"time": "16:00",
"team1": "South Korea",
"team2": "Bulgaria",
"score": {
"ft": [
1,
1
]
},
"goals1": [
{
"name": "Kim Jong-Boo",
"minute": 70
}
],
"goals2": [
{
"name": "Getov",
"minute": 11
}
],
"ground": "Estadio Olímpico Universitario, Mexico City"
},
{
"round": "Group stage",
"group": "Group A",
"date": "1986-06-10",
"time": "12:00",
"team1": "South Korea",
"team2": "Italy",
"score": {
"ft": [
2,
3
]
},
"goals1": [
{
"name": "Choi Soon-Ho",
"minute": 62
},
{
"name": "Huh Jung-Moo",
"minute": 89
}
],
"goals2": [
{
"name": "Altobelli",
"minute": 17
},
{
"name": "Altobelli",
"minute": 73
},
{
"name": "Cho Kwang-Rae",
"minute": 82,
"owngoal": true
}
],
"ground": "Estadio Cuauhtémoc, Puebla"
},
{
"round": "Group stage",
"group": "Group A",
"date": "1986-06-10",
"time": "12:00",
"team1": "Argentina",
"team2": "Bulgaria",
"score": {
"ft": [
2,
0
]
},
"goals1": [
{
"name": "Valdano",
"minute": 4
},
{
"name": "Burruchaga",
"minute": 77
}
],
"ground": "Estadio Olímpico Universitario, Mexico City"
},
{
"round": "Group stage",
"group": "Group B",
"date": "1986-06-03",
"time": "12:00",
"team1": "Belgium",
"team2": "Mexico",
"score": {
"ft": [
1,
2
]
},
"goals1": [
{
"name": "Vandenbergh",
"minute": 45
}
],
"goals2": [
{
"name": "Quirarte",
"minute": 23
},
{
"name": "Sánchez",
"minute": 39
}
],
"ground": "Estadio Azteca, Mexico City"
},
{
"round": "Group stage",
"group": "Group B",
"date": "1986-06-04",
"time": "12:00",
"team1": "Paraguay",
"team2": "Iraq",
"score": {
"ft": [
1,
0
]
},
"goals1": [
{
"name": "Romero",
"minute": 35
}
],
"ground": "Estadio Toluca 7086, Toluca"
},
{
"round": "Group stage",
"group": "Group B",
"date": "1986-06-07",
"time": "12:00",
"team1": "Mexico",
"team2": "Paraguay",
"score": {
"ft": [
1,
1
]
},
"goals1": [
{
"name": "Flores",
"minute": 3
}
],
"goals2": [
{
"name": "Romero",
"minute": 85
}
],
"ground": "Estadio Azteca, Mexico City"
},
{
"round": "Group stage",
"group": "Group B",
"date": "1986-06-08",
"time": "12:00",
"team1": "Iraq",
"team2": "Belgium",
"score": {
"ft": [
1,
2
]
},
"goals1": [
{
"name": "Radhi",
"minute": 59
}
],
"goals2": [
{
"name": "Scifo",
"minute": 16
},
{
"name": "Claesen",
"minute": 21,
"penalty": true
}
],
"ground": "Estadio Toluca 7086, Toluca"
},
{
"round": "Group stage",
"group": "Group B",
"date": "1986-06-11",
"time": "12:00",
"team1": "Paraguay",
"team2": "Belgium",
"score": {
"ft": [
2,
2
]
},
"goals1": [
{
"name": "Cabañas",
"minute": 50
},
{
"name": "Cabañas",
"minute": 76
}
],
"goals2": [
{
"name": "Vercauteren",
"minute": 30
},
{
"name": "Veyt",
"minute": 59
}
],
"ground": "Estadio Toluca 7086, Toluca"
},
{
"round": "Group stage",
"group": "Group B",
"date": "1986-06-11",
"time": "12:00",
"team1": "Iraq",
"team2": "Mexico",
"score": {
"ft": [
0,
1
]
},
"goals2": [
{
"name": "Quirarte",
"minute": 54
}
],
"ground": "Estadio Azteca, Mexico City"
},
{
"round": "Group stage",
"group": "Group C",
"date": "1986-06-01",
"time": "16:00",
"team1": "Canada",
"team2": "France",
"score": {
"ft": [
0,
1
]
},
"goals2": [
{
"name": "Papin",
"minute": 79
}
],
"ground": "Estadio Nou Camp, León"
},
{
"round": "Group stage",
"group": "Group C",
"date": "1986-06-02",
"time": "12:00",
"team1": "Soviet Union",
"team2": "Hungary",
"score": {
"ft": [
6,
0
]
},
"goals1": [
{
"name": "Yakovenko",
"minute": 2
},
{
"name": "Aleinikov",
"minute": 4
},
{
"name": "Belanov",
"minute": 24,
"penalty": true
},
{
"name": "Yaremchuk",
"minute": 66
},
{
"name": "Dajka",
"minute": 73,
"owngoal": true
},
{
"name": "Rodionov",
"minute": 80
}
],
"ground": "Estadio Sergio León Chavez, Irapuato"
},
{
"round": "Group stage",
"group": "Group C",
"date": "1986-06-05",
"time": "12:00",
"team1": "France",
"team2": "Soviet Union",
"score": {
"ft": [
1,
1
]
},
"goals1": [
{
"name": "Fernández",
"minute": 62
}
],
"goals2": [
{
"name": "Rats",
"minute": 53
}
],
"ground": "Estadio Nou Camp, León"
},
{
"round": "Group stage",
"group": "Group C",
"date": "1986-06-06",
"time": "12:00",
"team1": "Hungary",
"team2": "Canada",
"score": {
"ft": [
2,
0
]
},
"goals1": [
{
"name": "Esterházy",
"minute": 2
},
{
"name": "Détári",
"minute": 75
}
],
"ground": "Estadio Sergio León Chavez, Irapuato"
},
{
"round": "Group stage",
"group": "Group C",
"date": "1986-06-09",
"time": "12:00",
"team1": "Hungary",
"team2": "France",
"score": {
"ft": [
0,
3
]
},
"goals2": [
{
"name": "Stopyra",
"minute": 29
},
{
"name": "Tigana",
"minute": 62
},
{
"name": "Rocheteau",
"minute": 84
}
],
"ground": "Estadio Nou Camp, León"
},
{
"round": "Group stage",
"group": "Group C",
"date": "1986-06-09",
"time": "12:00",
"team1": "Soviet Union",
"team2": "Canada",
"score": {
"ft": [
2,
0
]
},
"goals1": [
{
"name": "Blokhin",
"minute": 58
},
{
"name": "Zavarov",
"minute": 74
}
],
"ground": "Estadio Sergio León Chavez, Irapuato"
},
{
"round": "Group stage",
"group": "Group D",
"date": "1986-06-01",
"time": "12:00",
"team1": "Spain",
"team2": "Brazil",
"score": {
"ft": [
0,
1
]
},
"goals2": [
{
"name": "Sócrates",
"minute": 62
}
],
"ground": "Estadio Jalisco, Guadalajara"
},
{
"round": "Group stage",
"group": "Group D",
"date": "1986-06-03",
"time": "12:00",
"team1": "Algeria",
"team2": "Northern Ireland",
"score": {
"ft": [
1,
1
]
},
"goals1": [
{
"name": "Zidane",
"minute": 59
}
],
"goals2": [
{
"name": "Whiteside",
"minute": 6
}
],
"ground": "Estadio Tres de Marzo, Zapopan"
},
{
"round": "Group stage",
"group": "Group D",
"date": "1986-06-06",
"time": "12:00",
"team1": "Brazil",
"team2": "Algeria",
"score": {
"ft": [
1,
0
]
},
"goals1": [
{
"name": "Careca",
"minute": 66
}
],
"ground": "Estadio Jalisco, Guadalajara"
},
{
"round": "Group stage",
"group": "Group D",
"date": "1986-06-07",
"time": "12:00",
"team1": "Northern Ireland",
"team2": "Spain",
"score": {
"ft": [
1,
2
]
},
"goals1": [
{
"name": "Clarke",
"minute": 46
}
],
"goals2": [
{
"name": "Butragueño",
"minute": 1
},
{
"name": "Salinas",
"minute": 18
}
],
"ground": "Estadio Tres de Marzo, Zapopan"
},
{
"round": "Group stage",
"group": "Group D",
"date": "1986-06-12",
"time": "12:00",
"team1": "Northern Ireland",
"team2": "Brazil",
"score": {
"ft": [
0,
3
]
},
"goals2": [
{
"name": "Careca",
"minute": 15
},
{
"name": "Careca",
"minute": 87
},
{
"name": "Josimar",
"minute": 42
}
],
"ground": "Estadio Jalisco, Guadalajara"
},
{
"round": "Group stage",
"group": "Group D",
"date": "1986-06-12",
"time": "12:00",
"team1": "Algeria",
"team2": "Spain",
"score": {
"ft": [
0,
3
]
},
"goals2": [
{
"name": "Calderé",
"minute": 15
},
{
"name": "Calderé",
"minute": 68
},
{
"name": "Eloy",
"minute": 70
}
],
"ground": "Estadio Tecnológico, Monterrey"
},
{
"round": "Group stage",
"group": "Group E",
"date": "1986-06-04",
"time": "12:00",
"team1": "Uruguay",
"team2": "West Germany",
"score": {
"ft": [
1,
1
]
},
"goals1": [
{
"name": "Alzamendi",
"minute": 4
}
],
"goals2": [
{
"name": "Allofs",
"minute": 84
}
],
"ground": "Estadio La Corregidora, Querétaro"
},
{
"round": "Group stage",
"group": "Group E",
"date": "1986-06-04",
"time": "16:00",
"team1": "Scotland",
"team2": "Denmark",
"score": {
"ft": [
0,
1
]
},
"goals2": [
{
"name": "Elkjær",
"minute": 57
}
],
"ground": "Estadio Neza 86, Nezahualcóyotl"
},
{
"round": "Group stage",
"group": "Group E",
"date": "1986-06-08",
"time": "12:00",
"team1": "West Germany",
"team2": "Scotland",
"score": {
"ft": [
2,
1
]
},
"goals1": [
{
"name": "Völler",
"minute": 23
},
{
"name": "Allofs",
"minute": 49
}
],
"goals2": [
{
"name": "Strachan",
"minute": 18
}
],
"ground": "Estadio La Corregidora, Querétaro"
},
{
"round": "Group stage",
"group": "Group E",
"date": "1986-06-08",
"time": "16:00",
"team1": "Denmark",
"team2": "Uruguay",
"score": {
"ft": [
6,
1
]
},
"goals1": [
{
"name": "Elkjær",
"minute": 11
},
{
"name": "Elkjær",
"minute": 67
},
{
"name": "Elkjær",
"minute": 80
},
{
"name": "Lerby",
"minute": 41
},
{
"name": "Laudrup",
"minute": 52
},
{
"name": "J. Olsen",
"minute": 88
}
],
"goals2": [
{
"name": "Francescoli",
"minute": 45,
"penalty": true
}
],
"ground": "Estadio Neza 86, Nezahualcóyotl"
},
{
"round": "Group stage",
"group": "Group E",
"date": "1986-06-13",
"time": "12:00",
"team1": "Denmark",
"team2": "West Germany",
"score": {
"ft": [
2,
0
]
},
"goals1": [
{
"name": "J. Olsen",
"minute": 43,
"penalty": true
},
{
"name": "Eriksen",
"minute": 62
}
],
"ground": "Estadio La Corregidora, Querétaro"
},
{
"round": "Group stage",
"group": "Group E",
"date": "1986-06-13",
"time": "12:00",
"team1": "Scotland",
"team2": "Uruguay",
"score": {
"ft": [
0,
0
]
},
"ground": "Estadio Neza 86, Nezahualcóyotl"
},
{
"round": "Group stage",
"group": "Group F",
"date": "1986-06-02",
"time": "16:00",
"team1": "Morocco",
"team2": "Poland",
"score": {
"ft": [
0,
0
]
},
"ground": "Estadio Universitario, San Nicolás de los Garza"
},
{
"round": "Group stage",
"group": "Group F",
"date": "1986-06-03",
"time": "16:00",
"team1": "Portugal",
"team2": "England",
"score": {
"ft": [
1,
0
]
},
"goals1": [
{
"name": "Carlos Manuel",
"minute": 75
}
],
"ground": "Estadio Tecnológico, Monterrey"
},
{
"round": "Group stage",
"group": "Group F",
"date": "1986-06-06",
"time": "16:00",
"team1": "England",
"team2": "Morocco",
"score": {
"ft": [
0,
0
]
},
"ground": "Estadio Tecnológico, Monterrey"
},
{
"round": "Group stage",
"group": "Group F",
"date": "1986-06-07",
"time": "16:00",
"team1": "Poland",
"team2": "Portugal",
"score": {
"ft": [
1,
0
]
},
"goals1": [
{
"name": "Smolarek",
"minute": 68
}
],
"ground": "Estadio Universitario, San Nicolás de los Garza"
},
{
"round": "Group stage",
"group": "Group F",
"date": "1986-06-11",
"time": "16:00",
"team1": "England",
"team2": "Poland",
"score": {
"ft": [
3,
0
]
},
"goals1": [
{
"name": "Lineker",
"minute": 8
},
{
"name": "Lineker",
"minute": 14
},
{
"name": "Lineker",
"minute": 36
}
],
"ground": "Estadio Universitario, San Nicolás de los Garza"
},
{
"round": "Group stage",
"group": "Group F",
"date": "1986-06-11",
"time": "16:00",
"team1": "Portugal",
"team2": "Morocco",
"score": {
"ft": [
1,
3
]
},
"goals1": [
{
"name": "Diamantino",
"minute": 80
}
],
"goals2": [
{
"name": "Khairi",
"minute": 19
},
{
"name": "Khairi",
"minute": 27
},
{
"name": "A. Merry",
"minute": 62
}
],
"ground": "Estadio Tres de Marzo, Zapopan"
}
]
}