K
Plataforma deportiva · Cuenca, Ecuador · 2026

KOPA
FC®

El fútbol amateur de Cuenca, organizado en serio. Resultados en tiempo real.

0
Equipos
0
Partidos
$600
Premio
0
Goles
Ahora mismo
EN VIVO
No hay partido en curso.
Competencias 2026
TORNEOS KOPA

Todos los torneos del año. Inscríbete y compite.

ACTIVO
KOPA RELÁMPAGO #01
16 equipos · Fútbol 7 · Un día · $600 al campeón · Mayo 2026.
16
Equipos
$600
Premio
1
Día
PRÓXIMAMENTE
KOPA LIGA #01
Liga amateur de 8 semanas. Julio–Agosto 2026, Cuenca.
16
Equipos
8
Semanas
PRÓXIMAMENTE
GRAN KOPA 2026
El torneo premium anual. 32 equipos. Diciembre 2026.
32
Equipos
2
Días
NUEVA CATEGORÍA
KOPA FEMENINA #01
Primera edición del torneo femenino. Octubre 2026.
8
Equipos
1
Día
INSCRIBE TU EQUIPO

$60 por equipo. $600 al campeón. Un fin de semana en Cuenca.

Inscribirse por WhatsApp
Max. 15 jugadores·Confirmacion en 24h·Solo 16 cupos
LISTO PARA
JUGAR EN SERIO?

Inscribe tu equipo, compite por $600 y vive la experiencia KOPA.

Síguenos
REDES SOCIALES
Preguntas frecuentes
FAQ
Cuanto cuesta inscribir mi equipo?
+

$60 por equipo (max. 15 jugadores). Si son 12, son $5 por persona para competir por $600.

Como funciona el torneo relampago?
+

Un solo dia. 16 equipos en 4 grupos de 4. Los 2 primeros de cada grupo avanzan a cuartos, semis y final. Futbol 7, 20 minutos por tiempo.

Que incluye la inscripcion?
+

Arbitro profesional, fotografo el dia del torneo, ficha digital tipo FIFA por jugador, tabla en tiempo real, reel del torneo y ceremonia de premiacion.

Cuantos jugadores por equipo?
+

Minimo 7 y maximo 15. Recomendamos entre 10 y 12 para tener suplentes durante el dia.

Como se paga el premio?
+

$600 en efectivo al equipo campeon en la ceremonia de premiacion inmediatamente.

Como sigo los resultados en tiempo real?
+

Desde esta plataforma en tu celular. Tambien publicamos en Instagram y WhatsApp.

Lo que dicen
COMENTARIOS
Deja tu comentario
KOPA · Mayo 2026
TORNEO RELAMPAGO #01

16 equipos · Futbol 7 · Un dia · $600 al campeon

Torneo Relampago #01
EQUIPOS
K
Grupo A
Equipo
Alineacion
CAMPO DE JUEGO
Suplentes
Clasificacion
TABLA DE POSICIONES
Top 2 de cada grupo clasifican a cuartos · V=3pts · E=1pt · D=0pts
Estadisticas
GOLEADORES
ADMIN
Panel organizador KOPA FC 2026
Panel organizador · KOPA FC 2026
Control de partido en vivo
Estado
Local
Visitante
Marcador
-
Fase
Minuto
00'
Agregar equipo
Equipos (0/16)
Agregar jugador
Estadisticas
Agregar partido
vs
Registrar gol
Configuracion
Zona peligrosa
var PUB=['home','torneo','equipos','tabla','goleadores']; function goTo(id){ document.querySelectorAll('.page').forEach(function(p){p.classList.remove('act');}); document.querySelectorAll('.adm-page').forEach(function(p){p.classList.remove('act');}); var pg=document.getElementById('pg-'+id); if(pg){pg.classList.add('act');} document.querySelectorAll('.nl').forEach(function(b,i){b.classList.toggle('act',PUB[i]===id);}); window.scrollTo(0,0); S=gs(); if(id==='home') renderHome(); if(id==='torneo') renderFixture('todos'); if(id==='equipos') renderEquipos('todos'); if(id==='tabla') renderTabla('A'); if(id==='goleadores') renderGoles(); } function goToAdmin(){ document.querySelectorAll('.page').forEach(function(p){p.classList.remove('act');}); document.getElementById('pg-admin').classList.add('act'); S=gs(); if(S.loggedIn){showPanel();} else{document.getElementById('adm-login').style.display='flex';document.getElementById('adm-panel').style.display='none';} } function goToEqDet(nombre){ S=gs(); var eq=null; for(var i=0;i0){ var items=done.slice(-8); for(var i=0;i<2;i++){for(var j=0;j'+items[j].local+' '+items[j].gl+'-'+items[j].gv+' '+items[j].visita+'';}} } else { var def=['KOPA FC','Torneo Relampago #01','Mayo 2026 Cuenca','$600 Al Campeon','16 Equipos','@kopafutbol']; for(var i=0;i<2;i++){for(var j=0;j'+def[j]+'';}} } var t=document.getElementById('ticker-t');if(t)t.innerHTML=html; } function renderEV(){ S=gs(); var ev=S.envivo||{}; var block=document.getElementById('ev-block'); if(!block)return; var pill=document.getElementById('nav-live'); if(!ev||ev.est==='off'||!ev.local){ block.innerHTML='
No hay partido en curso.
'; if(pill)pill.style.display='none';return; } if(pill)pill.style.display='flex'; var lbl={live:'En Juego',medio:'Medio Tiempo',fin:'Finalizado'}[ev.est]||ev.est; var col=ev.est==='live'?'var(--orange)':ev.est==='fin'?'var(--lime)':'var(--muted)'; block.innerHTML='
'+lbl+' - '+ev.fase+'
'+String(ev.min||0).padStart(2,'0')+"'
"+ev.local+'
Local
'+ev.gl+'-'+ev.gv+'
'+ev.fase+'
'+ev.visita+'
Visitante
'; } /* COMENTARIOS */ var CM_BASE=[ {nombre:'Carlos R.',equipo:'Los Fenomenos',rating:5,texto:'El mejor torneo de Cuenca! Organizacion increible, arbitro profesional y las fotos quedaron epicas.',fecha:'Mayo 2026'}, {nombre:'Andres M.',equipo:'Barrio Norte FC',rating:5,texto:'KOPA FC es otro nivel. Todo online, el carnet digital esta buenazo.',fecha:'Mayo 2026'}, {nombre:'Diego V.',equipo:'La Garra',rating:4,texto:'Muy bien organizado, los resultados en vivo son un detalle genial.',fecha:'Mayo 2026'}, {nombre:'Luis P.',equipo:'El Combo',rating:5,texto:'$5 por jugador para tener una experiencia asi? Vale cada centavo.',fecha:'Mayo 2026'}, ]; var cmRating=5; function setStars(n){ cmRating=n; var stars=document.querySelectorAll('#stars-sel span'); for(var i=0;i
'+c.nombre+'
'+(c.equipo||'Jugador KOPA')+'
'+stars+'
'+c.texto+'
'+(c.fecha||'')+'
'; } cont.innerHTML=html; } function faqT(qEl){ var it=qEl.parentElement; var wasOpen=it.classList.contains('open'); document.querySelectorAll('.faq-it').forEach(function(x){x.classList.remove('open');}); if(!wasOpen)it.classList.add('open'); } /* FIXTURE */ function renderFixture(fase){ S=gs(); var pts=S.partidos; if(fase!=='todos'){var tmp=[];for(var i=0;i'; for(var i=0;i'+p.gl+'-'+p.gv+''):'
vs
'; var badge=p.est==='done'?'Finalizado':p.est==='live'?'EN VIVO':'Pendiente'; return '
'+p.local+'
'+sc+'
'+(p.hora||'')+'
'+p.visita+'
'+p.fase+'
'+badge+'
'; } /* EQUIPOS */ function renderEquipos(g){ S=gs(); var eqs=S.equipos; if(g!=='todos'){var tmp=[];for(var i=0;i'):e.nombre.charAt(0); var gcols={A:'rgba(200,241,53,.1)',B:'rgba(255,94,26,.1)',C:'rgba(74,158,255,.1)',D:'rgba(255,45,120,.1)'}; var gtcols={A:'var(--lime)',B:'var(--orange)',C:'var(--blue)',D:'var(--pink)'}; html+='
'; html+='
'+fotoHtml+'
'; html+='
'+e.nombre+'
'; html+='
Grupo '+e.grupo+'
'; html+='
PJ '+st.pj+'
V '+st.v+'
PTS '+st.pts+'
'; html+='
'; } grid.innerHTML=html; } function filtroEq(g,btn){ document.querySelectorAll('#pg-equipos .gtab').forEach(function(b){b.classList.remove('act');}); btn.classList.add('act');renderEquipos(g); } /* EQUIPO DETAIL */ var POS_COORDS={ 'Portero': [{x:50,y:88}], 'Defensa': [{x:25,y:72},{x:50,y:67},{x:75,y:72}], 'Lateral': [{x:9,y:58},{x:91,y:58}], 'Mediocampo':[{x:25,y:46},{x:50,y:42},{x:75,y:46}], 'Delantero':[{x:35,y:26},{x:65,y:26}] }; var POS_ORDER=['Portero','Defensa','Lateral','Mediocampo','Delantero']; function renderEqDet(eq){ S=gs(); var fd=document.getElementById('eqd-foto'); if(eq.foto){fd.innerHTML='';} else{fd.innerHTML=eq.nombre.charAt(0);} document.getElementById('eqd-nom').textContent=eq.nombre; document.getElementById('eqd-grupo').textContent='Grupo '+eq.grupo; var cap=document.getElementById('eqd-cap');if(cap)cap.textContent=eq.capitan?'Capitan: '+eq.capitan:''; var desc=document.getElementById('eqd-desc');if(desc)desc.textContent=eq.desc||''; var st=calcSt(eq.nombre); document.getElementById('eqd-stats').innerHTML='
'+st.pj+'
PJ
'+st.v+'
V
'+st.e+'
E
'+st.pts+'
PTS
'; renderCampo(eq.nombre); } function renderCampo(equipo){ S=gs(); var jugs=[];for(var i=0;i'+jug.numero+''):''; var avH=jug.foto?(''):jug.nombre.charAt(0); var nom=jug.nombre.split(' ')[0]; html+='
'+numH+'
'+avH+'
'+nom+'
'; } } campoEl.innerHTML=html; if(!suplentes.length&&!jugs.length){supsEl.innerHTML='
Sin jugadores registrados
';return;} var shtml=''; for(var i=0;i'):j.nombre.charAt(0); shtml+='
'+avH+'
'+j.nombre+'
'+(j.posicion||'JUG')+' #'+(j.numero||'-')+'
'; } supsEl.innerHTML=shtml||'
Sin suplentes
'; } /* TABLA */ function calcSt(nombre){ var pts=[];for(var i=0;img2)v++;else if(mg===mg2)e++;else d++;} return{pj:pts.length,v:v,e:e,d:d,gf:gf,gc:gc,pts:v*3+e}; } function renderTabla(g){ S=gs(); var eqs=[];for(var i=0;i0?'+':'')+dg; var dgcol=dg>0?'var(--lime)':dg<0?'var(--orange)':'var(--muted)'; html+='
'+(i+1)+'
'+r.nombre+'
'+r.pj+''+r.v+''+r.e+''+r.d+''+r.gf+''+r.gc+''+dgstr+'
'+r.pts+'
'; } html+=''; cont.innerHTML=html; } function showGrupo(g,btn){ document.querySelectorAll('#pg-tabla .gtab').forEach(function(b){b.classList.remove('act');}); btn.classList.add('act');renderTabla(g); } /* GOLEADORES */ function renderGoles(){ S=gs(); var gols=[].concat(S.goleadores); gols.sort(function(a,b){return b.goles-a.goles;}); var list=document.getElementById('gol-list'); if(!gols.length){list.innerHTML='
SIN GOLES REGISTRADOS
';return;} var html=''; for(var i=0;i'):g.jugador.charAt(0); html+='
'+(i+1)+'
'+avH+'
'+g.jugador+'
'+g.equipo+'
'+g.goles+'
goles
'; } list.innerHTML=html; } /* FIFA */ var STATS_POS={Portero:['REF','POS','SAQ','COR','MAN','FIS'],Defensa:['DEF','PAS','FIS','RIT','INT','COR'],Lateral:['RIT','PAS','DEF','CRU','FIS','INT'],Mediocampo:['PAS','REG','TIR','RIT','DEF','FIS'],Delantero:['RIT','TIR','PAS','REG','DEF','FIS'],dflt:['RIT','TIR','PAS','REG','DEF','FIS']}; var curJug=null; function abrirFifa(nombre,equipo){ S=gs(); var j=null;for(var i=0;i'):(''+j.nombre.charAt(0)+''); var statsH=''; for(var i=0;i
'+labels[i]+'
'+(stats[i]||0)+'
';} document.getElementById('fifa-render').innerHTML='
🇪🇨
'+overall+'
'+(j.posicion||'JUG').toUpperCase()+'
'+fotoH+'
'+j.nombre.toUpperCase()+'
'+j.equipo+' | KOPA FC 2026
'+statsH+'
'; document.getElementById('fifa-ov').classList.add('open'); document.body.style.overflow='hidden'; } function cerrarFifa(){document.getElementById('fifa-ov').classList.remove('open');document.body.style.overflow='';} function descargarFifa(){ var card=document.getElementById('fifa-card-el'); if(!card)return; var nom=curJug?curJug.nombre:'jugador'; if(typeof html2canvas!=='undefined'){ html2canvas(card,{backgroundColor:'#0d1800',scale:3,useCORS:true,logging:false}).then(function(canvas){ var a=document.createElement('a'); a.download='KOPA-FC-'+nom.replace(/\s+/g,'-')+'-2026.png'; a.href=canvas.toDataURL('image/png');a.click(); }); } else {alert('Para descargar, toma un screenshot de la ficha.');} } function compartirFifa(){ var nom=curJug?curJug.nombre:'jugador'; if(navigator.share){navigator.share({title:'Ficha KOPA FC 2026 - '+nom,text:'Mi ficha de jugador en KOPA FC 2026! @kopafutbol',url:window.location.href}).catch(function(){});} else{try{navigator.clipboard.writeText(window.location.href).then(function(){alert('Link copiado!');});}catch(e){alert('Comparte esta pagina: '+window.location.href);}} } /* ADMIN AUTH */ function tryLogin(){ S=gs(); var pw=document.getElementById('login-pw').value; if(pw===S.pw){S.loggedIn=true;ss(S);showPanel();} else{document.getElementById('login-al').innerHTML='
Contrasena incorrecta
';} } function doLogout(){S=gs();S.loggedIn=false;ss(S);document.getElementById('adm-panel').style.display='none';document.getElementById('adm-login').style.display='flex';document.getElementById('login-pw').value='';} function showPanel(){ document.getElementById('adm-login').style.display='none'; document.getElementById('adm-panel').style.display='block'; fillSelects();renderAdmEq();renderAdmJugs();renderAdmParts();renderAdmGols();syncEVform(); } function aTab(t,btn){ document.querySelectorAll('.atab').forEach(function(b){b.classList.remove('act');}); document.querySelectorAll('.asec').forEach(function(s){s.classList.remove('act');}); btn.classList.add('act');document.getElementById('asec-'+t).classList.add('act'); } /* EN VIVO ADMIN */ var cronoTimer=null,cronoSecs=0,cronoRunning=false; function cronoTick(){cronoSecs++;var m=Math.floor(cronoSecs/60);document.getElementById('crono-big').textContent=String(m).padStart(2,'0')+"'";document.getElementById('ev-min').value=m;} function cronoStart(){if(cronoRunning)return;cronoRunning=true;cronoTimer=setInterval(cronoTick,1000);} function cronoPause(){cronoRunning=false;clearInterval(cronoTimer);} function cronoReset(){cronoPause();cronoSecs=0;document.getElementById('crono-big').textContent="00'";document.getElementById('ev-min').value=0;} function cronoAdd(m){cronoSecs=m*60;document.getElementById('crono-big').textContent=String(m).padStart(2,'0')+"'";document.getElementById('ev-min').value=m;} function syncCrono(){var m=parseInt(document.getElementById('ev-min').value)||0;document.getElementById('crono-big').textContent=String(m).padStart(2,'0')+"'";} function syncPill(){var v=document.getElementById('ev-est').value;document.getElementById('nav-live').style.display=v!=='off'?'flex':'none';} function syncEVform(){S=gs();var ev=S.envivo||{};document.getElementById('ev-est').value=ev.est||'off';document.getElementById('ev-loc').value=ev.local||'';document.getElementById('ev-vis').value=ev.visita||'';document.getElementById('ev-gl').value=ev.gl||0;document.getElementById('ev-gv').value=ev.gv||0;document.getElementById('ev-min').value=ev.min||0;document.getElementById('ev-fase').value=ev.fase||'';document.getElementById('crono-big').textContent=String(ev.min||0).padStart(2,'0')+"'";} function guardarEV(){ S=gs(); S.envivo={est:document.getElementById('ev-est').value,local:document.getElementById('ev-loc').value,visita:document.getElementById('ev-vis').value,gl:parseInt(document.getElementById('ev-gl').value)||0,gv:parseInt(document.getElementById('ev-gv').value)||0,min:parseInt(document.getElementById('ev-min').value)||0,fase:document.getElementById('ev-fase').value}; ss(S);showAlert('gadm-al','Marcador publicado!','ok'); } /* EQUIPOS ADMIN */ function prevEqFoto(inp){var f=inp.files[0];if(!f)return;var r=new FileReader();r.onload=function(e){document.getElementById('eq-fp').style.display='block';document.getElementById('eq-fpimg').src=e.target.result;document.getElementById('eq-foto').value='';};r.readAsDataURL(f);} function guardarEq(){ S=gs();var nom=document.getElementById('eq-nom').value.trim(); if(!nom){showAlert('eqf-al','Nombre requerido','err');return;} var eid=document.getElementById('eq-eid').value; if(!eid&&S.equipos.length>=16){showAlert('eqf-al','Maximo 16 equipos','err');return;} var furl=document.getElementById('eq-foto').value.trim(); var fprev=document.getElementById('eq-fpimg').src; var foto=furl||(document.getElementById('eq-ffile').files[0]?fprev:''); var eq={nombre:nom,grupo:document.getElementById('eq-gru').value,capitan:document.getElementById('eq-cap').value.trim(),desc:document.getElementById('eq-desc').value.trim(),foto:foto||null}; if(eid){for(var i=0;iSin equipos';return;} var html=''; for(var i=0;i
'+(e.foto?'':e.nombre.charAt(0))+'
'+e.nombre+'
Grupo '+e.grupo+'
';} c.innerHTML=html; } /* JUGADORES ADMIN */ var STAT_LBL={Portero:['REF','POS','SAQ','COR','MAN','FIS'],Defensa:['DEF','PAS','FIS','RIT','INT','COR'],Lateral:['RIT','PAS','DEF','CRU','FIS','INT'],Mediocampo:['PAS','REG','TIR','RIT','DEF','FIS'],Delantero:['RIT','TIR','PAS','REG','DEF','FIS'],dflt:['RIT','TIR','PAS','REG','DEF','FIS']}; function adaptStats(){var pos=document.getElementById('jug-pos').value;var labs=STAT_LBL[pos]||STAT_LBL.dflt;for(var i=0;i
'+(j.foto?'':(j.nombre?j.nombre.charAt(0):'?'))+'
'+j.nombre+'
'+j.equipo+' | '+(j.posicion||'JUG')+' | #'+(j.numero||'-')+' | '+(j.rol||'titular')+'
';} c.innerHTML=html; } /* PARTIDOS ADMIN */ function addPartido(){ S=gs();var loc=document.getElementById('p-loc').value;var vis=document.getElementById('p-vis').value; if(!loc||!vis||loc===vis){showAlert('gadm-al','Selecciona equipos distintos','err');return;} S.partidos.push({id:Date.now(),local:loc,visita:vis,fase:document.getElementById('p-fas').value,hora:document.getElementById('p-hor').value,est:'pend',gl:null,gv:null}); ss(S);renderAdmParts();showAlert('gadm-al','Partido agregado','ok'); } function updatePartido(id){ S=gs();var idx=-1;for(var i=0;i
'+p.fase+' | '+(p.hora||'--:--')+'
'; html+='
-
'; html+=''; html+=''; } c.innerHTML=html; } /* GOLES ADMIN */ function addGol(){ S=gs();var jug=document.getElementById('gol-jug').value.trim();var eq=document.getElementById('gol-eq').value; if(!jug||!eq){showAlert('gadm-al','Completa jugador y equipo','err');return;} var idx=-1;for(var i=0;i=0)S.goleadores[idx].goles++;else S.goleadores.push({jugador:jug,equipo:eq,goles:1}); ss(S);renderAdmGols();showAlert('gadm-al','+1 gol para '+jug,'ok');document.getElementById('gol-jug').value=''; } function addGolD(jug,eq){ S=gs();for(var i=0;i
'+g.jugador+'
'+g.equipo+'
'+g.goles+'
';} c.innerHTML=html; } /* CONFIG */ function guardarCfg(){ S=gs(); var wa=document.getElementById('cfg-wa').value;if(wa)S.cfg.wa=wa; var nom=document.getElementById('cfg-nom').value;if(nom)S.cfg.nom=nom; var pre=document.getElementById('cfg-pre').value;if(pre)S.cfg.pre=pre; var pw=document.getElementById('cfg-pw').value;if(pw)S.pw=pw; ss(S);showAlert('gadm-al','Configuracion guardada','ok');updateWa(); } function resetTodo(){if(!confirm('BORRAR TODOS LOS DATOS?'))return;if(!confirm('Confirma: se borrara todo'))return;localStorage.removeItem('kopa26');location.reload();} function fillSelects(){ S=gs(); var opts='';for(var i=0;i'+S.equipos[i].nombre+'';} var def=opts||''; var ids=['ev-loc','ev-vis','p-loc','p-vis','gol-eq','jug-eq']; for(var i=0;iTodos'+opts; } function showAlert(id,msg,type){var el=document.getElementById(id);if(!el)return;el.innerHTML='
'+msg+'
';setTimeout(function(){el.innerHTML='';},3200);} setInterval(function(){if(document.getElementById('pg-home').classList.contains('act')){S=gs();renderEV();renderTicker();}},15000); renderHome();