{"id":19699,"date":"2023-05-23T11:58:12","date_gmt":"2023-05-23T08:58:12","guid":{"rendered":"https:\/\/vglesports.com\/?page_id=19699"},"modified":"2026-10-23T02:24:47","modified_gmt":"2026-10-22T23:24:47","slug":"allwyn-unileague-esports","status":"publish","type":"page","link":"https:\/\/vglesports.com\/el\/allwyn-unileague-esports\/","title":{"rendered":"allwyn Unileague"},"content":{"rendered":"<div data-elementor-type=\"wp-page\" data-elementor-id=\"19699\" class=\"elementor elementor-19699\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-8200a9b elementor-section-full_width elementor-section-height-default elementor-section-height-default\" data-id=\"8200a9b\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-217f0f4\" data-id=\"217f0f4\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-fc7fca7 elementor-widget__width-inherit elementor-widget elementor-widget-html\" data-id=\"fc7fca7\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\r\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\r\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Fira+Sans+Extra+Condensed:wght@600;700;800&family=Barlow+Condensed:wght@400;600;700;800;900&display=swap\" rel=\"stylesheet\">\r\n<style>\r\n#uni-hero,#uni-hero *{box-sizing:border-box !important;margin:0 !important;padding:0 !important;line-height:normal !important;}\r\n\r\n#uni-hero{\r\n  position:relative !important;\r\n  width:100% !important;\r\n  height:min(90vh,700px) !important;\r\n  min-height:540px !important;\r\n  overflow:hidden !important;\r\n  background:#0c111a !important;\r\n}\r\n\r\n#uni-bg{\r\n  position:absolute !important;inset:0 !important;\r\n  background-image:url('https:\/\/vglesports.com\/wp-content\/uploads\/2026\/08\/ROC-CHAMPION-1920-x-1200-px.webp') !important;\r\n  background-size:cover !important;background-position:center top !important;\r\n  background-repeat:no-repeat !important;\r\n  filter:brightness(0.55) saturate(0.65) hue-rotate(200deg) !important;\r\n  z-index:0 !important;\r\n}\r\n\r\n#uni-overlay{\r\n  position:absolute !important;inset:0 !important;z-index:1 !important;\r\n  background:linear-gradient(to top, rgba(12,17,26,1) 0%, rgba(12,17,26,0.78) 28%, rgba(12,17,26,0.3) 60%, rgba(12,17,26,0.08) 100%) !important;\r\n}\r\n\r\n#uni-glow-top{\r\n  position:absolute !important;top:0 !important;left:0 !important;right:0 !important;height:3px !important;\r\n  background:linear-gradient(90deg,transparent,#00c8ff 35%,#7ce8ff 50%,#00c8ff 65%,transparent) !important;\r\n  z-index:5 !important;\r\n}\r\n\r\n#uni-content{\r\n  position:absolute !important;inset:0 !important;\r\n  display:flex !important;flex-direction:column !important;\r\n  justify-content:flex-end !important;\r\n  padding:48px !important;\r\n  z-index:2 !important;\r\n}\r\n\r\n#uni-logos{display:flex !important;align-items:center !important;margin-bottom:18px !important;}\r\n#uni-logo{\r\n  height:104px !important;width:auto !important;\r\n  display:block !important;\r\n  filter:drop-shadow(0 2px 12px rgba(0,0,0,0.6)) !important;\r\n}\r\n\r\n#uni-pill{\r\n  font-family:'Barlow Condensed','Fira Sans Extra Condensed',sans-serif !important;\r\n  font-size:10px !important;font-weight:700 !important;letter-spacing:3px !important;\r\n  text-transform:uppercase !important;\r\n  padding:6px 16px !important;\r\n  border:1px solid rgba(255,255,255,0.5) !important;\r\n  border-radius:100px !important;\r\n  color:#fff !important;\r\n  background:rgba(0,0,0,0.35) !important;\r\n  margin-bottom:14px !important;\r\n  width:fit-content !important;\r\n  display:inline-block !important;\r\n}\r\n\r\n#uni-title{\r\n  font-family:'Barlow Condensed','Fira Sans Extra Condensed',sans-serif !important;\r\n  font-size:clamp(52px,8vw,100px) !important;\r\n  font-weight:900 !important;color:#fff !important;\r\n  line-height:0.88 !important;letter-spacing:2px !important;\r\n  text-transform:uppercase !important;\r\n  margin-bottom:28px !important;\r\n}\r\n#uni-title em{\r\n  font-style:italic !important;\r\n  color:#00c8ff !important;\r\n  font-size:0.72em !important;\r\n  text-transform:none !important;\r\n  margin-right:4px !important;\r\n}\r\n\r\n#uni-bottom-row{display:flex !important;flex-direction:column !important;align-items:flex-start !important;gap:16px !important;}\r\n\r\n#uni-cta-row{display:flex !important;align-items:center !important;gap:16px !important;flex-wrap:wrap !important;}\r\n\r\n#uni-badges{display:flex !important;gap:6px !important;flex-wrap:wrap !important;}\r\n.u-badge{\r\n  font-family:'Barlow Condensed','Fira Sans Extra Condensed',sans-serif !important;\r\n  font-size:10px !important;font-weight:700 !important;\r\n  letter-spacing:1px !important;text-transform:uppercase !important;\r\n  padding:4px 10px !important;border-radius:3px !important;\r\n  display:inline-block !important;\r\n}\r\n\r\n.u-vsep{width:1px !important;height:28px !important;background:rgba(255,255,255,0.15) !important;display:block !important;}\r\n\r\n#uni-cd-inline{\r\n  display:flex !important;align-items:baseline !important;gap:6px !important;\r\n  font-family:'Barlow Condensed','Fira Sans Extra Condensed',sans-serif !important;\r\n}\r\n.u-cd-val{font-size:28px !important;font-weight:900 !important;color:#fff !important;letter-spacing:1px !important;line-height:1 !important;}\r\n.u-cd-lbl{font-size:10px !important;font-weight:700 !important;letter-spacing:2px !important;text-transform:uppercase !important;color:rgba(255,255,255,0.3) !important;margin-right:8px !important;}\r\n.u-cd-sep-inline{font-size:22px !important;font-weight:400 !important;color:rgba(0,200,255,0.3) !important;line-height:1 !important;}\r\n\r\n#uni-cd-meta-inline{\r\n  font-family:'Barlow Condensed','Fira Sans Extra Condensed',sans-serif !important;\r\n  font-size:12px !important;font-weight:600 !important;letter-spacing:1px !important;\r\n  color:rgba(255,255,255,0.3) !important;\r\n}\r\n#uni-cd-meta-inline span{color:#00c8ff !important;}\r\n\r\n#uni-cta{\r\n  font-family:'Barlow Condensed','Fira Sans Extra Condensed',sans-serif !important;\r\n  font-size:13px !important;font-weight:700 !important;\r\n  letter-spacing:2px !important;text-transform:uppercase !important;\r\n  padding:12px 28px !important;\r\n  background:#fff !important;color:#000 !important;\r\n  text-decoration:none !important;border-radius:6px !important;\r\n  white-space:nowrap !important;display:inline-block !important;\r\n  transition:background 0.2s !important;\r\n}\r\n#uni-cta:hover{background:#d0f5ff !important;}\r\n\r\n\/* \u2500\u2500 Register button states (hidden when closed) \u2500\u2500 *\/\r\n#uni-cta.is-open{background:#1a7a3a !important;color:#fff !important;}\r\n#uni-cta.is-open:hover{background:#22a04c !important;}\r\n#uni-cta:not(.is-open){display:none !important;}\r\n\r\n\/* \u2500\u2500 No flash before CSV loads \u2500\u2500 *\/\r\n#uni-hero.uni-pending #uni-cd-inline,#uni-hero.uni-pending #uni-cd-meta-inline{visibility:hidden !important;}\r\n\r\n#uni-actions{display:flex !important;align-items:center !important;gap:10px !important;flex-wrap:wrap !important;}\r\n\r\n#uni-hero .vgl-htp-link{display:inline-flex !important;align-items:center !important;gap:6px !important;font-family:'Barlow Condensed',sans-serif !important;font-size:13px !important;font-weight:600 !important;letter-spacing:1px !important;text-transform:none !important;color:rgba(255,255,255,0.6) !important;text-decoration:none !important;width:fit-content !important;transition:color .2s !important;}\r\n#uni-hero .vgl-htp-link b{color:#00c8ff !important;font-weight:700 !important;border-bottom:1px solid rgba(0,200,255,0.35) !important;transition:border-color .2s,color .2s !important;}\r\n#uni-hero .vgl-htp-link:hover{color:#fff !important;}\r\n#uni-hero .vgl-htp-link:hover b{color:#7ce8ff !important;border-bottom-color:#7ce8ff !important;}\r\n\r\n@media(max-width:700px){\r\n  #uni-hero{height:78vh !important;min-height:480px !important;}\r\n  #uni-content{padding:24px 20px !important;}\r\n  #uni-logos{margin-bottom:14px !important;}\r\n  #uni-logo{height:112px !important;}\r\n  #uni-pill{\r\n    background:rgba(12,17,26,0.28) !important;\r\n    backdrop-filter:blur(4px) !important;\r\n    -webkit-backdrop-filter:blur(4px) !important;\r\n    border-color:rgba(255,255,255,0.4) !important;\r\n    font-size:9px !important;\r\n    letter-spacing:2px !important;\r\n    padding:5px 12px !important;\r\n  }\r\n  #uni-title{margin-bottom:20px !important;}\r\n  .u-vsep{display:none !important;}\r\n  #uni-bottom-row{gap:12px !important;}\r\n  #uni-badges{width:100% !important;flex-wrap:nowrap !important;gap:5px !important;justify-content:space-between !important;}\r\n  #uni-badges .u-badge{flex:1 1 0 !important;text-align:center !important;}\r\n  #uni-cta-row{flex-direction:column !important;align-items:stretch !important;width:100% !important;gap:12px !important;}\r\n  #uni-free-badge{text-align:center !important;order:1 !important;width:100% !important;}\r\n  #uni-cd-inline{order:2 !important;width:100% !important;justify-content:flex-start !important;gap:6px !important;}\r\n  .u-cd-val{font-size:24px !important;}\r\n  #uni-cd-meta-inline{display:block !important;order:3 !important;width:100% !important;}\r\n  #uni-actions{order:4 !important;width:100% !important;flex-direction:column !important;gap:10px !important;}\r\n  #uni-cta{width:100% !important;text-align:center !important;padding:14px 24px !important;}\r\n}\r\n<\/style>\r\n\r\n<div id=\"uni-hero\" class=\"uni-pending\">\r\n  <div id=\"uni-glow-top\"><\/div>\r\n  <div id=\"uni-bg\"><\/div>\r\n  <div id=\"uni-blue-tint\"><\/div>\r\n  <div id=\"uni-overlay\"><\/div>\r\n\r\n  <div id=\"uni-content\">\r\n\r\n    <div id=\"uni-logos\">\r\n      <img decoding=\"async\" id=\"uni-logo\" src=\"https:\/\/vglesports.com\/wp-content\/uploads\/2026\/01\/UNILEAGUE-e-SPORT-GR-coa-e1768771954274.webp\" alt=\"Allwyn Unileague eSports\" translate=\"no\">\r\n    <\/div>\r\n\r\n    <div id=\"uni-pill\" translate=\"no\"><\/div>\r\n\r\n    <div id=\"uni-title\" translate=\"no\">\r\n      <em>Allwyn<\/em><br>Unileague\r\n    <\/div>\r\n\r\n    <div id=\"uni-bottom-row\">\r\n      <div id=\"uni-badges\">\r\n        <span class=\"u-badge u-tab\" data-idx=\"0\" translate=\"no\">EA FC<\/span>\r\n        <span class=\"u-badge u-tab\" data-idx=\"1\" translate=\"no\">eFootball<\/span>\r\n        <span class=\"u-badge u-tab\" data-idx=\"2\" translate=\"no\">Rocket League<\/span>\r\n      <\/div>\r\n\r\n      <div id=\"uni-cta-row\">\r\n        <span id=\"uni-free-badge\" class=\"u-badge\" style=\"background:#1a7a3a !important;color:#fff !important;font-weight:800 !important;font-size:13px !important;padding:8px 18px !important;border-radius:6px !important;\" translate=\"no\">Free \u00b7 Online<\/span>\r\n\r\n        <div id=\"uni-cd-inline\" style=\"display:none !important;\">\r\n          <span class=\"u-cd-val\" id=\"ucd-d\">00<\/span><span class=\"u-cd-lbl\" id=\"ucd-unit-d\">D<\/span>\r\n          <span class=\"u-cd-sep-inline\">:<\/span>\r\n          <span class=\"u-cd-val\" id=\"ucd-h\">00<\/span><span class=\"u-cd-lbl\" id=\"ucd-unit-h\">H<\/span>\r\n          <span class=\"u-cd-sep-inline\">:<\/span>\r\n          <span class=\"u-cd-val\" id=\"ucd-m\">00<\/span><span class=\"u-cd-lbl\" id=\"ucd-unit-m\">M<\/span>\r\n          <span class=\"u-cd-sep-inline\">:<\/span>\r\n          <span class=\"u-cd-val\" id=\"ucd-s\">00<\/span><span class=\"u-cd-lbl\" id=\"ucd-unit-s\">S<\/span>\r\n        <\/div>\r\n\r\n        <div id=\"uni-cd-meta-inline\" aria-hidden=\"true\"><\/div>\r\n\r\n        <div id=\"uni-actions\">\r\n          <a id=\"uni-cta\" href=\"https:\/\/battlefy.com\/vgl-esports\" target=\"_blank\" translate=\"no\" rel=\"noopener\"><\/a>\r\n        <\/div>\r\n      <\/div>\r\n      <a id=\"uni-htp\" class=\"vgl-htp-link notranslate\" translate=\"no\" href=\"https:\/\/vglesports.com\/el\/greece-esports-tournaments\/#how-to-play\">First time? <b>See how to play \u2192<\/b><\/a>\r\n    <\/div>\r\n\r\n  <\/div>\r\n<\/div>\r\n\r\n<script>\r\n(function(){\r\n  var lang={\r\n    pill:'Student Esports Community \u00b7 Greece',\r\n    ctaOpen:'Registration Open \u2192',\r\n    live:'\u25cf LIVE NOW',\r\n    seasonDoneHTML:'<span style=\"font-size:20px !important;color:#fff !important;text-transform:uppercase !important;\">New season coming soon<\/span>'\r\n  };\r\n\r\n  function lockNoTranslate(el,html){\r\n    if(!el)return;\r\n    el.classList.add('notranslate');\r\n    el.setAttribute('translate','no');\r\n    el.setAttribute('data-no-tp-translate','1');\r\n    el.innerHTML=html;\r\n  }\r\n\r\n  var heroRoot=document.getElementById('uni-hero');\r\n  if(heroRoot){\r\n    heroRoot.classList.add('notranslate');\r\n    heroRoot.setAttribute('translate','no');\r\n    heroRoot.setAttribute('data-no-tp-translate','1');\r\n  }\r\n\r\n  document.getElementById('uni-blue-tint').setAttribute('style','position:absolute !important;inset:0 !important;z-index:1 !important;background:rgba(0,60,140,0.35) !important;mix-blend-mode:multiply !important;pointer-events:none !important;');\r\n\r\n  lockNoTranslate(document.getElementById('uni-pill'), lang.pill);\r\n\r\n  function applyBgPosition(){\r\n    var isMobile=window.matchMedia('(max-width:700px)').matches;\r\n    var isTablet=window.matchMedia('(min-width:701px) and (max-width:1100px)').matches;\r\n    var pos;\r\n    if(isMobile){\r\n      pos='72% top';        \/\/ \u2190 \u039a\u0399\u039d\u0397\u03a4\u039f\r\n    } else if(isTablet){\r\n      pos='80% top';        \/\/ \u2190 TABLET\r\n    } else {\r\n      pos='center 28%';     \/\/ \u2190 DESKTOP\r\n    }\r\n    document.getElementById('uni-bg').setAttribute('style','position:absolute !important;inset:0 !important;background-image:url(\\'https:\/\/vglesports.com\/wp-content\/uploads\/2026\/08\/ROC-CHAMPION-1920-x-1200-px.webp\\') !important;background-size:cover !important;background-repeat:no-repeat !important;background-position:'+pos+' !important;filter:brightness(0.8) saturate(0.7) !important;z-index:0 !important;');\r\n  }\r\n  applyBgPosition();\r\n  window.addEventListener('resize',applyBgPosition);\r\n\r\n  \/* \u2500\u2500 Game tabs auto-rotate \u2500\u2500 *\/\r\n  var GAMES=[\r\n    {label:'EA FC',        bg:'rgba(0,168,80,0.22)',   color:'#00a850'},\r\n    {label:'eFootball',    bg:'rgba(0,200,255,0.14)',  color:'#00c8ff'},\r\n    {label:'Rocket League',bg:'rgba(220,50,50,0.18)',  color:'#e03333'}\r\n  ];\r\n  var tabs=document.querySelectorAll('.u-tab');\r\n  var activeTab=0;\r\n\r\n  function tabSizing(){\r\n    var isMobile=window.matchMedia('(max-width:700px)').matches;\r\n    return isMobile ? {font:'10px',pad:'7px 9px'} : {font:'13px',pad:'8px 18px'};\r\n  }\r\n\r\n  function applyTabs(){\r\n    var sz=tabSizing();\r\n    var inactive='background:rgba(255,255,255,0.08) !important;color:rgba(255,255,255,0.35) !important;border:1px solid rgba(255,255,255,0.1) !important;transition:all 0.4s !important;font-size:'+sz.font+' !important;padding:'+sz.pad+' !important;border-radius:6px !important;white-space:nowrap !important;';\r\n    tabs.forEach(function(el,i){\r\n      if(i===activeTab){\r\n        var g=GAMES[i];\r\n        el.setAttribute('style','background:#fff !important;color:'+g.color+' !important;border:1px solid #fff !important;font-weight:800 !important;font-size:'+sz.font+' !important;padding:'+sz.pad+' !important;border-radius:6px !important;transition:all 0.4s !important;box-shadow:0 2px 14px rgba(255,255,255,0.15) !important;white-space:nowrap !important;');\r\n      } else {\r\n        el.setAttribute('style',inactive);\r\n      }\r\n    });\r\n  }\r\n\r\n  applyTabs();\r\n  window.addEventListener('resize',applyTabs);\r\n  setInterval(function(){activeTab=(activeTab+1)%GAMES.length;applyTabs();},2200);\r\n\r\n  \/* \u2500\u2500 CSV \u2500\u2500 Columns: GAME, ROUND, DATE, START, REG_OPEN (Greece time) *\/\r\n  var CSV_URL='https:\/\/docs.google.com\/spreadsheets\/d\/e\/2PACX-1vRwYEJQQvu8A5aCzPtb_vlK-bUTSpKHNq1pGQo_IrScbTshZayVbwL1S6AMODASFA\/pub?gid=1751640218&single=true&output=csv';\r\n  var MONTH_MAP={jan:1,feb:2,mar:3,apr:4,may:5,jun:6,jul:7,aug:8,sep:9,oct:10,nov:11,dec:12};\r\n  var DAYS=['Sun','Mon','Tue','Wed','Thu','Fri','Sat'];\r\n  var MONS=['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'];\r\n\r\n  function pad(n){return String(parseInt(n)).padStart(2,'0');}\r\n  function splitCSV(l){var r=[],c='',q=false;for(var i=0;i<l.length;i++){var ch=l[i];if(ch==='\"'){q=!q;}else if(ch===','&&!q){r.push(c);c='';}else c+=ch;}r.push(c);return r;}\r\n  function parseDate(s){if(!s)return null;s=s.trim();if(\/^\\d{4}-\\d{2}-\\d{2}$\/.test(s))return s;var m=s.match(\/^(\\d{1,2})\\\/(\\d{1,2})\\\/(\\d{4})$\/);if(m)return m[3]+'-'+pad(m[2])+'-'+pad(m[1]);var m2=s.match(\/([A-Za-z]+)\\s+(\\d{1,2})\/);if(m2){var mo=MONTH_MAP[m2[1].toLowerCase().substring(0,3)];if(mo)return new Date().getFullYear()+'-'+pad(mo)+'-'+pad(parseInt(m2[2]));}return null;}\r\n  function parseTime(s){if(!s)return null;s=s.trim();var m=s.match(\/(\\d{1,2}):(\\d{2})\/);if(m)return{h:parseInt(m[1]),min:parseInt(m[2])};var m2=s.match(\/^(\\d{1,2})$\/);if(m2)return{h:parseInt(m2[1]),min:0};return null;}\r\n\r\n  function parseRegOpen(s){\r\n    if(!s)return null;\r\n    var iso=parseDate(s.trim().split(\/[\\sT]+\/)[0]);\r\n    if(!iso)return null;\r\n    var t=parseTime(s)||{h:0,min:0};\r\n    return new Date(iso+'T'+pad(t.h)+':'+pad(t.min)+':00+03:00');\r\n  }\r\n\r\n  function parseCSV(text){\r\n    var lines=text.trim().replace(\/\\r\\n\/g,'\\n').replace(\/\\r\/g,'\\n').split('\\n');\r\n    if(lines.length<2)return[];\r\n    var headers=lines[0].split(',').map(function(h){return h.trim().replace(\/^\"|\"$\/g,'').toUpperCase();});\r\n    function findCol(){var names=Array.prototype.slice.call(arguments);for(var i=0;i<headers.length;i++){var hN=headers[i].replace(\/[\\s\\-_]\/g,'');for(var j=0;j<names.length;j++){if(hN===names[j].replace(\/[\\s\\-_]\/g,'').toUpperCase())return i;}}return -1;}\r\n    var iG=findCol('GAME'),iR=findCol('ROUND'),iD=findCol('DATE'),iS=findCol('START','START TIME','STARTTIME');\r\n    var iReg=findCol('REG_OPEN','REGISTRATION OPEN');\r\n    var ev=[];\r\n    for(var i=1;i<lines.length;i++){\r\n      if(!lines[i].trim())continue;\r\n      var cols=splitCSV(lines[i]);\r\n      function col(idx){return idx>=0&&idx<cols.length?cols[idx].trim().replace(\/^\"|\"$\/g,''):'';}\r\n      var game=col(iG),dateRaw=col(iD);\r\n      if(!dateRaw||!game)continue;\r\n      var iso=parseDate(dateRaw);if(!iso)continue;\r\n      ev.push({game:game,round:col(iR),date:iso,start:parseTime(col(iS)),regOpen:parseRegOpen(col(iReg))});\r\n    }\r\n    return ev;\r\n  }\r\n  function getNextEvent(events){\r\n    var now=new Date(),next=null,current=null;\r\n    for(var i=0;i<events.length;i++){\r\n      var ev=events[i],sH=ev.start?ev.start.h:19,sM=ev.start?ev.start.min:0;\r\n      var evStart=new Date(ev.date+'T'+pad(sH)+':'+pad(sM)+':00+03:00');\r\n      var evEnd=new Date(ev.date+'T23:00:00+03:00');\r\n      if(now>=evStart&&now<evEnd){current=ev;break;}\r\n      if(evEnd>now&&!next)next=ev;\r\n    }\r\n    return{current:current,next:next};\r\n  }\r\n\r\n  var allEvents=[],_lastD='',_lastH='',_lastM='',_metaKey='',_cdMode='';\r\n\r\n  function setReg(open){\r\n    var b=document.getElementById('uni-cta'); if(!b)return;\r\n    var key=open?'o':'c';\r\n    if(b.getAttribute('data-st')===key)return;\r\n    b.setAttribute('data-st',key);\r\n    b.classList.remove('is-open');\r\n    if(open){b.classList.add('is-open');lockNoTranslate(b,lang.ctaOpen);}\r\n  }\r\n\r\n  function setMeta(key,html){\r\n    var meta=document.getElementById('uni-cd-meta-inline');\r\n    if(!meta||_metaKey===key)return;\r\n    _metaKey=key;\r\n    meta.setAttribute('translate','no');\r\n    meta.className='notranslate';\r\n    meta.innerHTML=html;\r\n  }\r\n\r\n  function setCd(mode){\r\n    if(_cdMode===mode)return;\r\n    _cdMode=mode;\r\n    var wrap=document.getElementById('uni-cd-inline');\r\n    wrap.setAttribute('style', mode==='none'\r\n      ? 'display:none !important;'\r\n      : 'display:flex !important;align-items:baseline !important;gap:6px !important;');\r\n    document.querySelectorAll('.u-cd-val').forEach(function(el){\r\n      el.setAttribute('style','color:'+(mode==='live'?'#ff3c3c':'#fff')+' !important;');\r\n    });\r\n    if(mode==='live'){\r\n      ['ucd-d','ucd-h','ucd-m','ucd-s'].forEach(function(id){document.getElementById(id).textContent='00';});\r\n      _lastD='';_lastH='';_lastM='';\r\n    }\r\n  }\r\n\r\n  function tick(){\r\n    var result=getNextEvent(allEvents);\r\n\r\n    if(result.current){\r\n      setReg(false);\r\n      setCd('live');\r\n      setMeta('live','<span style=\"color:#ff3c3c !important;\">'+lang.live+'<\/span>');\r\n      return;\r\n    }\r\n\r\n    var ev=result.next;\r\n    if(!ev){\r\n      setReg(false);\r\n      setCd('none');\r\n      setMeta('soon',lang.seasonDoneHTML);\r\n      return;\r\n    }\r\n\r\n    var sH=ev.start?ev.start.h:19,sM=ev.start?ev.start.min:0;\r\n    var evStart=new Date(ev.date+'T'+pad(sH)+':'+pad(sM)+':00+03:00');\r\n    var diff=evStart-new Date();\r\n    if(diff<=0){setReg(false);setCd('none');return;}\r\n\r\n    setReg(!!(ev.regOpen&&new Date()>=ev.regOpen));\r\n    setCd('count');\r\n\r\n    var d=pad(Math.floor(diff\/86400000)),h=pad(Math.floor((diff%86400000)\/3600000)),m=pad(Math.floor((diff%3600000)\/60000)),sc=pad(Math.floor((diff%60000)\/1000));\r\n    if(d!==_lastD){document.getElementById('ucd-d').textContent=d;_lastD=d;}\r\n    if(h!==_lastH){document.getElementById('ucd-h').textContent=h;_lastH=h;}\r\n    if(m!==_lastM){document.getElementById('ucd-m').textContent=m;_lastM=m;}\r\n    document.getElementById('ucd-s').textContent=sc;\r\n\r\n    var label=DAYS[evStart.getDay()]+' '+evStart.getDate()+' '+MONS[evStart.getMonth()];\r\n    var nHTML='<span translate=\"no\" class=\"notranslate\" style=\"color:#00c8ff !important;\">'+ev.game+'<\/span>'+(ev.round?' \u00b7 '+ev.round:'')+' \u00b7 '+label;\r\n    setMeta('next:'+nHTML,nHTML);\r\n  }\r\n\r\n  function csvUrl(){return CSV_URL+'&_='+Date.now();}\r\n  function ready(){if(heroRoot)heroRoot.classList.remove('uni-pending');}\r\n\r\n  fetch(csvUrl()).then(function(r){return r.text();}).then(function(text){\r\n    allEvents=parseCSV(text);allEvents.sort(function(a,b){return a.date.localeCompare(b.date);});\r\n    tick();ready();setInterval(tick,1000);\r\n    setInterval(function(){fetch(csvUrl()).then(function(r){return r.text();}).then(function(t){allEvents=parseCSV(t);allEvents.sort(function(a,b){return a.date.localeCompare(b.date);});}).catch(function(){});},5*60*1000);\r\n  }).catch(function(){tick();ready();setInterval(tick,1000);});\r\n\r\n})();\r\n\r\n(function(){var a=document.getElementById('uni-htp');if(!a)return;var gr=location.pathname.indexOf('\/el\/')!==-1;a.href=gr?'https:\/\/vglesports.com\/el\/greece-esports-tournaments\/#how-to-play':'https:\/\/vglesports.com\/greece-esports-tournaments\/#how-to-play';})();\r\n<\/script>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-a13ffa0 elementor-section-full_width elementor-section-height-default elementor-section-height-default\" data-id=\"a13ffa0\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-7b5091b\" data-id=\"7b5091b\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-a7e3766 elementor-widget elementor-widget-html\" data-id=\"a7e3766\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\r\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\r\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Barlow:wght@400;500;600;700&family=Barlow+Condensed:wght@600;700;800&family=Bebas+Neue&family=Fira+Sans:wght@400;500;600;700&family=Fira+Sans+Extra+Condensed:wght@600;700;800&display=swap\" rel=\"stylesheet\">\r\n<style>\r\n#roc-join, #roc-join *, #roc-join *::before, #roc-join *::after { box-sizing:border-box; }\r\n#roc-join { width:100%; background:#121925; font-family:'Barlow',sans-serif; color:#e8eaf0; padding:52px 0 64px; position:relative; overflow:hidden; }\r\n#roc-join.is-el { font-family:'Fira Sans',sans-serif; }\r\n#roc-join .rj-inner { max-width:1240px; margin:0 auto; padding:0 32px; display:flex; flex-direction:column; gap:28px; }\r\n\r\n\/* Header *\/\r\n#roc-join .rj-head { display:flex; flex-direction:column; align-items:center; gap:10px; text-align:center; }\r\n#roc-join .rj-logo { width:76px; height:auto; display:block; margin-bottom:4px; filter:drop-shadow(0 6px 18px rgba(0,0,0,0.4)); }\r\n#roc-join .rj-label { font-family:'Fira Sans Extra Condensed',sans-serif; font-size:13px; font-weight:700; letter-spacing:3px; text-transform:uppercase; color:rgba(255,255,255,0.55); margin:0; }\r\n#roc-join .rj-title { font-family:'Fira Sans Extra Condensed',sans-serif; font-size:40px; font-weight:800; letter-spacing:1px; text-transform:uppercase; line-height:1; color:#fff; margin:0; }\r\n#roc-join .rj-sub { font-size:16px; line-height:1.55; color:rgba(255,255,255,0.72); max-width:640px; margin:0; }\r\n#roc-join .rj-sub strong { color:#fff; font-weight:600; }\r\n\r\n\/* 3 ways *\/\r\n#roc-join .rj-ways { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }\r\n#roc-join .rj-way { position:relative; display:flex; flex-direction:column; align-items:center; justify-content:flex-start; gap:8px; padding:24px 22px 22px; border-radius:14px; text-align:center; overflow:hidden; transition:transform .2s, border-color .2s; }\r\n#roc-join .rj-way:hover { transform:translateY(-3px); }\r\n#roc-join .rj-way > * { position:relative; z-index:1; }\r\n#roc-join .rj-ring { position:absolute; inset:0; width:100%; height:100%; overflow:visible; pointer-events:none; z-index:2; }\r\n#roc-join .rj-ring rect { fill:none; stroke:var(--c); stroke-width:3; stroke-linecap:round; stroke-dasharray:var(--len,2000px) var(--len,2000px); stroke-dashoffset:var(--len,2000px); opacity:0; filter:drop-shadow(0 0 3px var(--c)); transition:stroke-dashoffset .9s cubic-bezier(.4,0,.2,1), opacity .2s; }\r\n#roc-join .rj-way:hover .rj-ring rect { stroke-dashoffset:0; opacity:1; }\r\n#roc-join .rj-way-n { font-family:'Bebas Neue',sans-serif; font-size:52px; line-height:.9; color:var(--c); opacity:.35; transition:opacity .3s, transform .35s cubic-bezier(.2,.8,.2,1), text-shadow .3s; transform-origin:center; }\r\n#roc-join .rj-way:hover .rj-way-n { opacity:1; transform:scale(1.18); text-shadow:0 0 14px var(--c); }\r\n#roc-join .rj-way-t { display:block; font-family:'Fira Sans Extra Condensed',sans-serif; font-size:24px; font-weight:800; letter-spacing:1.5px; text-transform:uppercase; line-height:1; margin-bottom:8px; }\r\n#roc-join .rj-way-d { display:block; font-size:14px; line-height:1.6; color:rgba(255,255,255,0.75); max-width:260px; margin:0 auto; text-wrap:pretty; }\r\n\r\n\/* Tournaments heading + Swiss *\/\r\n#roc-join .rj-sec { display:flex; flex-direction:column; gap:6px; }\r\n#roc-join .rj-sec-row { display:flex; align-items:center; gap:14px; }\r\n#roc-join .rj-sec-t { font-family:'Fira Sans Extra Condensed',sans-serif; font-size:26px; font-weight:800; letter-spacing:1px; text-transform:uppercase; color:#fff; margin:0; white-space:nowrap; }\r\n#roc-join .rj-sec-line { flex:1; height:1px; background:rgba(255,255,255,0.1); }\r\n#roc-join .rj-swiss { display:flex; align-items:center; gap:10px; flex-wrap:wrap; font-size:14px; color:rgba(255,255,255,0.72); margin:0; }\r\n#roc-join .rj-swiss b { font-family:'Fira Sans Extra Condensed',sans-serif; font-weight:800; font-size:12px; letter-spacing:1px; text-transform:uppercase; color:#06121c; background:#00c8ff; border-radius:6px; padding:4px 9px; }\r\n\r\n\/* Ticket cards *\/\r\n#roc-join .rb-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; align-items:stretch; }\r\n#roc-join .rb-card { display:grid; grid-template-columns:88px minmax(0,1fr); background:#1a2332; border:1px solid rgba(255,255,255,0.08); border-radius:14px; position:relative; transition:transform .2s, border-color .2s; }\r\n#roc-join .rb-card:hover { transform:translateY(-3px); border-color:rgba(255,255,255,0.16); }\r\n#roc-join .rb-date { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; padding:18px 6px; border-right:2px dashed rgba(255,255,255,0.12); border-radius:14px 0 0 14px; position:relative; }\r\n#roc-join .rb-date::before, #roc-join .rb-date::after { content:''; position:absolute; right:-9px; width:16px; height:16px; border-radius:50%; background:#121925; }\r\n#roc-join .rb-date::before { top:-9px; } #roc-join .rb-date::after { bottom:-9px; }\r\n#roc-join .rb-day { font-family:'Bebas Neue',sans-serif; font-size:46px; line-height:.9; color:#fff; }\r\n#roc-join .rb-day.tba { font-size:30px; color:rgba(255,255,255,0.6); }\r\n#roc-join .rb-mon { font-family:'Barlow Condensed',sans-serif; font-size:13px; font-weight:700; letter-spacing:2.5px; text-transform:uppercase; color:rgba(255,255,255,0.6); }\r\n#roc-join .rb-dow { font-family:'Barlow Condensed',sans-serif; font-size:10px; font-weight:700; letter-spacing:2.5px; text-transform:uppercase; color:rgba(255,255,255,0.35); }\r\n#roc-join .rb-body { padding:18px 18px 16px; display:flex; flex-direction:column; gap:7px; min-width:0; }\r\n#roc-join .rb-card-game { display:flex; align-items:center; gap:8px; font-family:'Barlow Condensed',sans-serif; font-size:12px; font-weight:700; letter-spacing:2.5px; text-transform:uppercase; }\r\n#roc-join .rb-card-dot { width:8px; height:8px; border-radius:50%; flex-shrink:0; }\r\n#roc-join .rb-card-status { margin-left:auto; display:inline-flex; align-items:center; gap:6px; font-family:'Barlow Condensed',sans-serif; font-size:10px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; padding:4px 10px; border-radius:20px; white-space:nowrap; }\r\n#roc-join .rb-card-status-dot { width:5px; height:5px; border-radius:50%; flex-shrink:0; }\r\n#roc-join .rb-card-round { font-family:'Bebas Neue',sans-serif; font-size:30px; letter-spacing:1.5px; line-height:1; color:#fff; margin-top:2px; }\r\n#roc-join .rb-card-date { font-family:'Barlow Condensed',sans-serif; font-size:13px; font-weight:600; letter-spacing:1px; color:rgba(255,255,255,0.55); }\r\n#roc-join .rb-card-times { font-size:12px; font-weight:500; color:rgba(255,255,255,0.5); }\r\n#roc-join .rb-foot { margin-top:auto; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px; padding-top:12px; border-top:1px solid rgba(255,255,255,0.07); }\r\n#roc-join .rb-card-finals { font-family:'Barlow Condensed',sans-serif; font-size:10px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:#f0c040; white-space:nowrap; }\r\n#roc-join .rb-card-finals span { color:rgba(255,255,255,0.45); margin-left:4px; }\r\n#roc-join .rb-card-reg { font-family:'Bebas Neue',sans-serif; font-size:14px; letter-spacing:2px; text-transform:uppercase; text-decoration:none; color:#121925; background:#00c8ff; padding:9px 16px; border-radius:8px; white-space:nowrap; transition:background .2s, transform .2s; }\r\n#roc-join.is-el .rb-card-reg { font-family:'Fira Sans Extra Condensed',sans-serif; font-weight:800; letter-spacing:1px; }\r\n#roc-join .rb-card-reg:hover { background:#f0c040; color:#121925; transform:translateY(-2px); }\r\n#roc-join .rb-cd { display:flex; align-items:baseline; gap:2px; font-family:'Bebas Neue',sans-serif; font-size:21px; letter-spacing:1px; color:#fff; white-space:nowrap; }\r\n#roc-join .rb-cd small { font-family:'Barlow Condensed',sans-serif; font-size:10px; font-weight:700; letter-spacing:1px; color:rgba(255,255,255,0.35); margin-right:5px; }\r\n#roc-join .rb-loading { padding:24px 0; font-family:'Barlow Condensed',sans-serif; font-size:12px; letter-spacing:4px; text-transform:uppercase; color:rgba(255,255,255,0.3); grid-column:1\/-1; }\r\n\r\n#roc-join .rj-note { text-align:center; font-size:14px; line-height:1.6; color:rgba(255,255,255,0.72); margin:0; }\r\n#roc-join .rj-note a { color:#00c8ff; text-decoration:none; border-bottom:1px solid rgba(0,200,255,0.35); font-weight:600; }\r\n#roc-join .rj-note a:hover { color:#7ce8ff; border-bottom-color:#7ce8ff; }\r\n\r\n@media (max-width:1000px) {\r\n  #roc-join .rb-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }\r\n}\r\n@media (max-width:760px) {\r\n  #roc-join { padding:36px 0 44px; }\r\n  #roc-join .rj-inner { padding:0 16px; gap:20px; }\r\n  #roc-join .rj-logo { width:60px; }\r\n  #roc-join .rj-label { font-size:11px; letter-spacing:2.5px; }\r\n  #roc-join .rj-title { font-size:28px; }\r\n  #roc-join .rj-sub { font-size:14.5px; }\r\n  #roc-join .rj-ways { grid-template-columns:1fr; gap:8px; }\r\n  #roc-join .rj-way { flex-direction:row; align-items:center; text-align:left; gap:14px; padding:16px 16px; }\r\n  #roc-join .rj-way-n { font-size:38px; flex-shrink:0; }\r\n  #roc-join .rj-way-t { font-size:19px; margin-bottom:4px; }\r\n  #roc-join .rj-way-d { font-size:13px; max-width:none; margin:0; }\r\n  #roc-join .rj-sec-t { font-size:22px; }\r\n  #roc-join .rj-swiss { font-size:13px; gap:8px; }\r\n  #roc-join .rb-grid { grid-template-columns:1fr; gap:10px; }\r\n  #roc-join .rb-card { grid-template-columns:76px minmax(0,1fr); }\r\n  #roc-join .rb-day { font-size:38px; }\r\n  #roc-join .rb-body { padding:14px 14px 12px; }\r\n  #roc-join .rb-card-round { font-size:24px; }\r\n}\r\n<\/style>\r\n\r\n<div id=\"roc-join\" translate=\"no\">\r\n  <div class=\"rj-inner\">\r\n\r\n    <div class=\"rj-head\">\r\n      <img decoding=\"async\" class=\"rj-logo\" src=\"https:\/\/vglesports.com\/wp-content\/uploads\/2026\/08\/RoC-Logomain1-1.png\" alt=\"Rise of Champions\" loading=\"lazy\">\r\n      <p class=\"rj-label\">Rise of Champions<\/p>\r\n      <h2 class=\"rj-title\" id=\"rj-title\"><\/h2>\r\n      <p class=\"rj-sub\" id=\"rj-sub\"><\/p>\r\n    <\/div>\r\n\r\n    <div class=\"rj-ways\">\r\n      <div class=\"rj-way\" style=\"--c:#f0c040;background:rgba(240,192,64,0.1);border:1px solid rgba(240,192,64,0.25);\">\r\n        <svg class=\"rj-ring\" aria-hidden=\"true\"><rect><\/rect><\/svg>\r\n        <span class=\"rj-way-n\">01<\/span>\r\n        <span><span class=\"rj-way-t\" style=\"color:#f0c040;\">Winner<\/span><span class=\"rj-way-d\" id=\"rj-d1\"><\/span><\/span>\r\n      <\/div>\r\n      <div class=\"rj-way\" style=\"--c:#00c8ff;background:rgba(0,200,255,0.1);border:1px solid rgba(0,200,255,0.25);\">\r\n        <svg class=\"rj-ring\" aria-hidden=\"true\"><rect><\/rect><\/svg>\r\n        <span class=\"rj-way-n\">02<\/span>\r\n        <span><span class=\"rj-way-t\" style=\"color:#00c8ff;\">Riser<\/span><span class=\"rj-way-d\" id=\"rj-d2\"><\/span><\/span>\r\n      <\/div>\r\n      <div class=\"rj-way\" style=\"--c:#ff6b6b;background:rgba(255,90,90,0.1);border:1px solid rgba(255,90,90,0.25);\">\r\n        <svg class=\"rj-ring\" aria-hidden=\"true\"><rect><\/rect><\/svg>\r\n        <span class=\"rj-way-n\">03<\/span>\r\n        <span><span class=\"rj-way-t\" style=\"color:#ff6b6b;\">Challenger<\/span><span class=\"rj-way-d\" id=\"rj-d3\"><\/span><\/span>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <div class=\"rj-sec\">\r\n      <div class=\"rj-sec-row\"><h3 class=\"rj-sec-t\" id=\"rj-sec\"><\/h3><span class=\"rj-sec-line\"><\/span><\/div>\r\n      <p class=\"rj-swiss\"><b>Swiss Format<\/b><span id=\"rj-swiss\"><\/span><\/p>\r\n    <\/div>\r\n\r\n    <div id=\"rb-grid\" class=\"rb-grid\"><div class=\"rb-loading\">Loading\u2026<\/div><\/div>\r\n\r\n    <p class=\"rj-note\" id=\"rj-note\"><\/p>\r\n  <\/div>\r\n<\/div>\r\n\r\n<script>\r\n(function () {\r\n  var root = document.getElementById('roc-join'); if (!root) return;\r\n  var isGreek = window.location.href.indexOf('\/el\/') !== -1;\r\n  var DISCORD = 'https:\/\/discord.gg\/sUz2QbGAZT';\r\n  var T = {\r\n    el: {\r\n      title: '\u0394\u03b9\u03b5\u03ba\u03b4\u03af\u03ba\u03b7\u03c3\u03b5 \u03c4\u03b7 \u03b8\u03ad\u03c3\u03b7 \u03c3\u03bf\u03c5',\r\n      sub: '\u03a0\u03b1\u03af\u03be\u03b5 \u03c3\u03c4\u03b1 <strong>\u03c0\u03c1\u03bf\u03ba\u03c1\u03b9\u03bc\u03b1\u03c4\u03b9\u03ba\u03ac \u03c4\u03bf\u03c5\u03c1\u03bd\u03bf\u03c5\u03ac<\/strong> online, \u03c7\u03c9\u03c1\u03af\u03c2 \u03ba\u03cc\u03c3\u03c4\u03bf\u03c2, \u03ba\u03b1\u03b9 \u03ba\u03c5\u03bd\u03ae\u03b3\u03b1 \u03c4\u03b7\u03bd \u03c0\u03c1\u03cc\u03ba\u03c1\u03b9\u03c3\u03b7 \u03c3\u03c4\u03bf <strong>Final Stage<\/strong> \u03b3\u03b9\u03b1 \u03c4\u03bf \u03bc\u03b5\u03b3\u03ac\u03bb\u03bf \u03ad\u03c0\u03b1\u03b8\u03bb\u03bf \u03bc\u03b5 3 \u03c4\u03c1\u03cc\u03c0\u03bf\u03c5\u03c2.',\r\n      d1: '\u039a\u03ad\u03c1\u03b4\u03b9\u03c3\u03b5 \u03ad\u03bd\u03b1 \u03c0\u03c1\u03bf\u03ba\u03c1\u03b9\u03bc\u03b1\u03c4\u03b9\u03ba\u03cc \u03ba\u03b1\u03b9 \u03c0\u03ad\u03c1\u03bd\u03b1 \u03b1\u03c0\u03b5\u03c5\u03b8\u03b5\u03af\u03b1\u03c2.',\r\n      d2: '\u039c\u03ac\u03b6\u03b5\u03c8\u03b5 \u03c0\u03cc\u03bd\u03c4\u03bf\u03c5\u03c2, \u03bf\u03b9 \u03ba\u03bf\u03c1\u03c5\u03c6\u03b1\u03af\u03bf\u03b9 \u03c4\u03b7\u03c2 \u03ba\u03b1\u03c4\u03ac\u03c4\u03b1\u03be\u03b7\u03c2 \u03c0\u03b5\u03c1\u03bd\u03bf\u03cd\u03bd.',\r\n      d3: '\u0395\u03af\u03c3\u03b1\u03b9 \u03ba\u03b1\u03b9\u03bd\u03bf\u03cd\u03c1\u03b9\u03bf\u03c2 \u03ae outsider; \u0391\u03c5\u03c4\u03ae \u03b5\u03af\u03bd\u03b1\u03b9 \u03b7 \u03b4\u03b9\u03ba\u03ae \u03c3\u03bf\u03c5 \u03b4\u03b9\u03b1\u03b4\u03c1\u03bf\u03bc\u03ae.',\r\n      sec: '\u03a0\u03c1\u03bf\u03ba\u03c1\u03b9\u03bc\u03b1\u03c4\u03b9\u03ba\u03ac \u03c4\u03bf\u03c5\u03c1\u03bd\u03bf\u03c5\u03ac',\r\n      swiss: '\u03a3\u03c5\u03b3\u03ba\u03b5\u03ba\u03c1\u03b9\u03bc\u03ad\u03bd\u03bf\u03c2 \u03b1\u03c1\u03b9\u03b8\u03bc\u03cc\u03c2 \u03b1\u03b3\u03ce\u03bd\u03c9\u03bd \u03c7\u03c9\u03c1\u03af\u03c2 \u03b1\u03c0\u03bf\u03ba\u03bb\u03b5\u03b9\u03c3\u03bc\u03cc.',\r\n      reg: '\u0395\u03b3\u03b3\u03c1\u03b1\u03c6\u03ae \u2192', soonDate: '\u0397\u03bc\u03b5\u03c1\u03bf\u03bc\u03b7\u03bd\u03af\u03b1 \u03c3\u03cd\u03bd\u03c4\u03bf\u03bc\u03b1', complete: 'SEASON COMPLETE',\r\n      note: '\u0391\u03c0\u03bf\u03c1\u03af\u03b5\u03c2; \u0395\u03af\u03bc\u03b1\u03c3\u03c4\u03b5 \u03c3\u03c4\u03bf <a href=\"' + DISCORD + '\" target=\"_blank\" rel=\"noopener\">Discord \u03c4\u03bf\u03c5 Unileague<\/a>.',\r\n      err: '\u0391\u03b4\u03c5\u03bd\u03b1\u03bc\u03af\u03b1 \u03c6\u03cc\u03c1\u03c4\u03c9\u03c3\u03b7\u03c2.'\r\n    },\r\n    en: {\r\n      title: 'Claim your spot',\r\n      sub: 'Play the <strong>online qualifier tournaments<\/strong> for free and chase a spot in the <strong>Final Stage<\/strong> for the grand prize, in 3 ways.',\r\n      d1: 'Win a qualifier and go straight through.',\r\n      d2: 'Collect points, the top of the ranking qualify.',\r\n      d3: 'New here or an outsider? This is your own path.',\r\n      sec: 'Qualifier tournaments',\r\n      swiss: 'A set number of matches, no elimination.',\r\n      reg: 'Register \u2192', soonDate: 'Date coming soon', complete: 'SEASON COMPLETE',\r\n      note: 'Questions? We\\'re on the <a href=\"' + DISCORD + '\" target=\"_blank\" rel=\"noopener\">Unileague Discord<\/a>.',\r\n      err: 'Could not load.'\r\n    }\r\n  };\r\n  var t = isGreek ? T.el : T.en;\r\n  if (isGreek) { root.classList.add('is-el'); root.setAttribute('lang', 'el'); }\r\n  function set(id, s) { var el = document.getElementById(id); if (el) el.innerHTML = s; }\r\n  ['title','sub','d1','d2','d3','sec','swiss','note'].forEach(function (k) { set('rj-' + k, t[k]); });\r\n\r\n  function sizeOne(w) {\r\n    var svg = w.querySelector('.rj-ring'), r = svg && svg.querySelector('rect'); if (!r) return;\r\n    var W = w.clientWidth, H = w.clientHeight; if (!W || !H) return;\r\n    svg.setAttribute('viewBox', '0 0 ' + W + ' ' + H);\r\n    r.setAttribute('x', 1.5); r.setAttribute('y', 1.5);\r\n    r.setAttribute('width', W - 3); r.setAttribute('height', H - 3);\r\n    r.setAttribute('rx', 12); r.setAttribute('ry', 12);\r\n    var len = Math.ceil((r.getTotalLength && r.getTotalLength()) || (2 * (W + H))) + 4;\r\n    r.style.setProperty('--len', len + 'px');\r\n  }\r\n  function sizeRings() { document.querySelectorAll('#roc-join .rj-way').forEach(sizeOne); }\r\n  sizeRings();\r\n  window.addEventListener('resize', sizeRings);\r\n  window.addEventListener('load', sizeRings);\r\n  document.addEventListener('mouseover', function (ev) { var w = ev.target.closest && ev.target.closest('#roc-join .rj-way'); if (w) sizeOne(w); }, true);\r\n  document.addEventListener('touchstart', function (ev) { var w = ev.target.closest && ev.target.closest('#roc-join .rj-way'); if (w) sizeOne(w); }, { passive:true, capture:true });\r\n  if (document.fonts && document.fonts.ready) document.fonts.ready.then(sizeRings);\r\n\r\n  var CSV = 'https:\/\/docs.google.com\/spreadsheets\/d\/e\/2PACX-1vRwYEJQQvu8A5aCzPtb_vlK-bUTSpKHNq1pGQo_IrScbTshZayVbwL1S6AMODASFA\/pub?gid=1751640218&single=true&output=csv';\r\n  var GAME_KEYS   = {'EAFC26':'eafc','EAFC27':'eafc','eFootball':'ef','Rocket League':'rl'};\r\n  var GAME_COLORS = {eafc:'#3ddc84', rl:'#ff4d4d', ef:'#2e8fff'};\r\n  var GAME_LABELS = {eafc:'EA FC 27', rl:'Rocket League', ef:'eFOOTBALL'};\r\n  var MONTHS = ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'];\r\n  var DOW = ['Sun','Mon','Tue','Wed','Thu','Fri','Sat'];\r\n  var GAMES = ['eafc','rl','ef'];\r\n  var _data = {}, _cd = null;\r\n\r\n  function parseCSV(txt) {\r\n    return txt.trim().split('\\n').map(function (line) {\r\n      var cols = [], cur = '', q = false;\r\n      for (var j = 0; j < line.length; j++) { var c = line[j]; if (c === '\"') q = !q; else if (c === ',' && !q) { cols.push(cur.trim()); cur = ''; } else cur += c; }\r\n      cols.push(cur.trim()); return cols;\r\n    });\r\n  }\r\n  function parseDt(s) {\r\n    if (!s) return null;\r\n    var m = s.trim().match(\/^(\\d{1,2})\\\/(\\d{1,2})\\\/(\\d{2,4})$\/);\r\n    if (m) { var y = +m[3]; if (y < 100) y += 2000; return new Date(y, +m[2] - 1, +m[1]); }\r\n    var d = new Date(s); if (!isNaN(d)) return d;\r\n    d = new Date(s + ', 2026'); return isNaN(d) ? null : d;\r\n  }\r\n  function fmtDate(s) {\r\n    if (!s || s.toUpperCase() === 'TBA') return 'TBA';\r\n    return s.split(\/\u2192|->\/).map(function (p) { var d = parseDt(p.trim()); return d ? d.getDate() + ' ' + MONTHS[d.getMonth()] : p.trim(); }).join(' \u2192 ');\r\n  }\r\n  function isDone(s) { var v = (s || '').toLowerCase().trim(); return v === 'completed' || v === 'done'; }\r\n  function isOpen(s) { var v = (s || '').toLowerCase().trim(); return ['open regist','open reg','register','open'].some(function (p) { return v.indexOf(p) >= 0; }); }\r\n  function isSoon(s) { return (s || '').toLowerCase().trim() === 'soon'; }\r\n  function isFinal(r) { return (r || '').toUpperCase().indexOf('FINAL') >= 0; }\r\n  function getNextEv(g) { return (_data[g] || []).find(function (e) { return !isDone(e.status) && !isFinal(e.round); }) || null; }\r\n  function getFinalsEv(g) { return (_data[g] || []).find(function (e) { return isFinal(e.round) && !isDone(e.status); }) || null; }\r\n\r\n  function renderCard(game) {\r\n    var color = GAME_COLORS[game], label = GAME_LABELS[game];\r\n    var ev = getNextEv(game), fin = getFinalsEv(game);\r\n    var open = ev && isOpen(ev.status), soon = ev && isSoon(ev.status);\r\n    var dotColor = open ? '#3dff8f' : soon ? '#facc15' : 'rgba(255,255,255,0.55)';\r\n    var statusTxt = open ? 'Open' : soon ? 'Soon' : ev ? 'Upcoming' : '';\r\n    var times = ev ? [ev.checkin ? 'Check-in ' + ev.checkin : '', ev.start ? 'Starts ' + ev.start : ''].filter(Boolean).join(' \u00b7 ') : '';\r\n    var roundName = ev ? (ev.round || '').toUpperCase() : ((_data[game] || []).every(function (e) { return isDone(e.status); }) ? t.complete : 'TBA');\r\n    var cdId = 'rj-cd-' + game;\r\n    var showCd = ev && !open && !soon && ev.date && ev.date.toUpperCase() !== 'TBA';\r\n    var first = ev && ev.date && ev.date.toUpperCase() !== 'TBA' ? parseDt(ev.date.split(\/\u2192|->\/)[0].trim()) : null;\r\n    var isRange = ev && ev.date && \/\u2192|->\/.test(ev.date);\r\n    var dateCol = first\r\n      ? '<span class=\"rb-day\">' + first.getDate() + '<\/span><span class=\"rb-mon\">' + MONTHS[first.getMonth()] + '<\/span><span class=\"rb-dow\">' + DOW[first.getDay()] + '<\/span>'\r\n      : '<span class=\"rb-day tba\">TBA<\/span>';\r\n    var bg, border;\r\n    if (open) { bg = 'rgba(61,255,143,0.1)'; border = 'rgba(61,255,143,0.28)'; }\r\n    else if (soon) { bg = 'rgba(250,204,21,0.1)'; border = 'rgba(250,204,21,0.28)'; }\r\n    else { bg = 'rgba(255,255,255,0.05)'; border = 'rgba(255,255,255,0.1)'; }\r\n    var status = ev ? '<span class=\"rb-card-status\" style=\"background:' + bg + ';border:1px solid ' + border + ';color:' + dotColor + ';\"><span class=\"rb-card-status-dot\" style=\"background:' + dotColor + '\"><\/span>' + statusTxt + '<\/span>' : '';\r\n    var right = (open && ev && ev.link) ? '<a class=\"rb-card-reg\" href=\"' + ev.link + '\" target=\"_blank\" rel=\"noopener\">' + t.reg + '<\/a>'\r\n      : showCd ? '<span class=\"rb-cd\"><span id=\"' + cdId + '-d\">00<\/span><small>D<\/small><span id=\"' + cdId + '-h\">00<\/span><small>H<\/small><span id=\"' + cdId + '-m\">00<\/span><small>M<\/small><span id=\"' + cdId + '-s\">00<\/span><small>S<\/small><\/span>'\r\n      : '';\r\n    var finals = fin ? '<span class=\"rb-card-finals\">\u2605 Final Stage<span>' + fmtDate(fin.date) + '<\/span><\/span>' : '<span><\/span>';\r\n    return '<div class=\"rb-card\">'\r\n      + '<div class=\"rb-date\" style=\"background:' + color + '14;\">' + dateCol + '<\/div>'\r\n      + '<div class=\"rb-body\">'\r\n      + '<div class=\"rb-card-game\" style=\"color:' + color + ';\"><span class=\"rb-card-dot\" style=\"background:' + color + ';\"><\/span>' + label + status + '<\/div>'\r\n      + '<div class=\"rb-card-round\">' + roundName + '<\/div>'\r\n      + (isRange ? '<div class=\"rb-card-date\">' + fmtDate(ev.date) + '<\/div>' : '')\r\n      + (times ? '<div class=\"rb-card-times\">' + times + '<\/div>' : (ev && !first ? '<div class=\"rb-card-times\">' + t.soonDate + '<\/div>' : ''))\r\n      + ((fin || right) ? '<div class=\"rb-foot\">' + finals + right + '<\/div>' : '')\r\n      + '<\/div><\/div>';\r\n  }\r\n\r\n  var MONTH_MAP = {jan:1,feb:2,mar:3,apr:4,may:5,jun:6,jul:7,aug:8,sep:9,oct:10,nov:11,dec:12};\r\n  function parseISODate(s) {\r\n    if (!s) return null; s = s.trim();\r\n    if (\/^\\d{4}-\\d{2}-\\d{2}$\/.test(s)) return s;\r\n    var m = s.match(\/^(\\d{1,2})\\\/(\\d{1,2})\\\/(\\d{4})$\/);\r\n    if (m) return m[3] + '-' + ('0' + m[2]).slice(-2) + '-' + ('0' + m[1]).slice(-2);\r\n    var m2 = s.match(\/([A-Za-z]+)\\s+(\\d{1,2})\/);\r\n    if (m2) { var mo = MONTH_MAP[m2[1].toLowerCase().substring(0, 3)]; if (mo) return new Date().getFullYear() + '-' + ('0' + mo).slice(-2) + '-' + ('0' + parseInt(m2[2])).slice(-2); }\r\n    var m3 = s.match(\/^(\\d{1,2})\\s+([A-Za-z]+)\/);\r\n    if (m3) { var mo2 = MONTH_MAP[m3[2].toLowerCase().substring(0, 3)]; if (mo2) return new Date().getFullYear() + '-' + ('0' + mo2).slice(-2) + '-' + ('0' + parseInt(m3[1])).slice(-2); }\r\n    return null;\r\n  }\r\n  function parseStartTime(s) {\r\n    if (!s) return { h:19, min:0 };\r\n    var m = s.match(\/(\\d{1,2}):(\\d{2})\/); if (m) return { h:parseInt(m[1]), min:parseInt(m[2]) };\r\n    var m2 = s.match(\/^(\\d{1,2})$\/); if (m2) return { h:parseInt(m2[1]), min:0 };\r\n    return { h:19, min:0 };\r\n  }\r\n  function startCountdown() {\r\n    if (_cd) clearInterval(_cd);\r\n    function pad(n) { return String(Math.floor(n)).padStart(2, '0'); }\r\n    function tick() {\r\n      GAMES.forEach(function (g) {\r\n        var ev = getNextEv(g); if (!ev || isOpen(ev.status)) return;\r\n        var id = 'rj-cd-' + g; if (!document.getElementById(id + '-d')) return;\r\n        var iso = parseISODate(ev.date); if (!iso) return;\r\n        var st = parseStartTime(ev.start);\r\n        var diff = new Date(iso + 'T' + pad(st.h) + ':' + pad(st.min) + ':00+03:00') - new Date();\r\n        if (diff < 0) diff = 0;\r\n        document.getElementById(id + '-d').textContent = pad(diff \/ 86400000);\r\n        document.getElementById(id + '-h').textContent = pad((diff % 86400000) \/ 3600000);\r\n        document.getElementById(id + '-m').textContent = pad((diff % 3600000) \/ 60000);\r\n        document.getElementById(id + '-s').textContent = pad((diff % 60000) \/ 1000);\r\n      });\r\n    }\r\n    tick(); _cd = setInterval(tick, 1000);\r\n  }\r\n\r\n  (async function load() {\r\n    try {\r\n      var rows = parseCSV(await (await fetch(CSV)).text());\r\n      var hr = 0;\r\n      for (var r = 0; r < Math.min(rows.length, 5); r++) { if (rows[r].some(function (c) { return c.toUpperCase() === 'GAME'; })) { hr = r; break; } }\r\n      var h = rows[hr].map(function (x) { return x.toUpperCase().trim(); });\r\n      function ci(n, d) { var i = h.indexOf(n); return i >= 0 ? i : d; }\r\n      var iG = ci('GAME',3), iE = ci('EVENT',2), iR = ci('ROUND',4), iD = ci('DATE',5), iS = ci('STATUS',6), iC = ci('CHECK IN',9), iSt = ci('START',10), iL = ci('TOURNAMENT LINK',11);\r\n      var grp = { eafc:[], rl:[], ef:[] };\r\n      for (var row = hr + 1; row < rows.length; row++) {\r\n        var c = rows[row]; if (!c || c.length < 4) continue;\r\n        var gk = GAME_KEYS[(c[iG] || '').trim()]; if (!gk) continue;\r\n        if ((c[iE] || '').toLowerCase().indexOf('rise of champions') < 0) continue;\r\n        grp[gk].push({ round:(c[iR] || '').trim(), date:(c[iD] || '').trim(), status:(c[iS] || '').trim(), checkin:(c[iC] || '').trim(), start:(c[iSt] || '').trim(), link:(c[iL] || '').trim() });\r\n      }\r\n      _data = grp;\r\n      document.getElementById('rb-grid').innerHTML = GAMES.map(renderCard).join('');\r\n      startCountdown();\r\n    } catch (e) {\r\n      document.getElementById('rb-grid').innerHTML = '<div class=\"rb-loading\" style=\"color:#ff6060\">' + t.err + '<\/div>';\r\n    }\r\n  })();\r\n})();\r\n<\/script>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-c2edcc0 elementor-section-full_width elementor-section-height-default elementor-section-height-default\" data-id=\"c2edcc0\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-731a30c\" data-id=\"731a30c\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-2e2dcc2 elementor-widget elementor-widget-html\" data-id=\"2e2dcc2\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Barlow:wght@400;600;700&family=Barlow+Condensed:wght@600;700&family=Bebas+Neue&display=swap\" rel=\"stylesheet\">\r\n<style>\r\n#seo-uni * { box-sizing:border-box !important; }\r\n#seo-uni ul,#seo-uni li { margin:0 !important; padding:0 !important; }\r\n#seo-uni { width:100% !important; background:#121925 !important; padding:0 0 80px !important; position:relative !important; overflow:hidden !important; font-family:'Barlow',sans-serif !important; }\r\n#seo-uni::before{ content:'' !important; position:absolute !important; top:50% !important; left:50% !important; width:900px !important; height:420px !important; transform:translate(-50%,-50%) !important; background:radial-gradient(ellipse at center, rgba(0,200,255,0.07) 0%, rgba(0,200,255,0) 70%) !important; pointer-events:none !important; }\r\n#seo-uni-wrap { position:relative !important; width:100% !important; max-width:none !important; margin:0 !important; background:radial-gradient(ellipse 1100px 420px at 50% 0%, rgba(0,200,255,0.07), transparent 72%), linear-gradient(180deg,rgba(255,255,255,0.045),rgba(255,255,255,0.015)) !important; border-top:1px solid rgba(0,200,255,0.18) !important; border-bottom:1px solid rgba(0,200,255,0.18) !important; border-radius:0 !important; padding:0 !important; box-shadow:inset 0 1px 0 rgba(255,255,255,0.04) !important; overflow:hidden !important; }\r\n#seo-uni-wrap::before{ content:'' !important; position:absolute !important; top:0 !important; left:0 !important; right:0 !important; height:3px !important; background:linear-gradient(90deg, transparent, #00c8ff, transparent) !important; }\r\n#seo-uni .vu-container{ max-width:1180px !important; margin:0 auto !important; padding:0 24px !important; position:relative !important; z-index:1 !important; }\r\n#seo-uni .vu-layout{ display:grid !important; grid-template-columns:300px minmax(0,1fr) !important; grid-template-rows:auto !important; gap:0 !important; position:static !important; }\r\n#seo-uni .vu-layout > .vu-brand{ grid-column:1 !important; grid-row:1 !important; position:relative !important; }\r\n#seo-uni .vu-layout > .vu-content{ grid-column:2 !important; grid-row:1 !important; position:relative !important; }\r\n@media(max-width:900px){ #seo-uni .vu-layout > .vu-brand, #seo-uni .vu-layout > .vu-content{ grid-column:1 !important; grid-row:auto !important; } }\r\n@media(max-width:900px){ #seo-uni .vu-layout{ grid-template-columns:1fr !important; } }\r\n#seo-uni .vu-brand{ position:relative !important; padding:44px 36px !important; display:flex !important; flex-direction:column !important; align-items:flex-start !important; justify-content:center !important; border-right:1px solid rgba(255,255,255,0.07) !important; }\r\n@media(max-width:900px){ #seo-uni .vu-brand{ border-right:none !important; border-bottom:1px solid rgba(255,255,255,0.07) !important; align-items:center !important; text-align:center !important; } }\r\n#seo-uni .vu-logo-wrap{ position:relative !important; display:inline-flex !important; align-items:center !important; justify-content:center !important; margin-bottom:18px !important; }\r\n#seo-uni .vu-brand-glow{ position:absolute !important; top:50% !important; left:50% !important; transform:translate(-50%,-50%) !important; width:160px !important; height:160px !important; background:radial-gradient(circle, rgba(0,200,255,0.25) 0%, rgba(0,200,255,0) 70%) !important; pointer-events:none !important; z-index:0 !important; }\r\n#seo-uni .vu-logo{ position:relative !important; z-index:1 !important; width:96px !important; height:auto !important; margin-bottom:0 !important; filter:drop-shadow(0 6px 18px rgba(0,0,0,0.4)) !important; }\r\n#seo-uni .vu-eyebrow{ position:relative !important; display:inline-flex !important; align-items:flex-start !important; gap:10px !important; margin-bottom:14px !important; }\r\n#seo-uni .vu-eyebrow-dot{ width:7px !important; height:7px !important; margin-top:5px !important; background:#00c8ff !important; border-radius:50% !important; box-shadow:0 0 10px rgba(0,200,255,0.7) !important; flex-shrink:0 !important; }\r\n#seo-uni .vu-eyebrow-text{ font-family:'Barlow Condensed',sans-serif !important; font-size:11px !important; font-weight:700 !important; letter-spacing:3px !important; text-transform:uppercase !important; color:rgba(255,255,255,0.5) !important; line-height:1.5 !important; text-align:left !important; }\r\n#seo-uni .vu-h2 { position:relative !important; font-family:'Bebas Neue',sans-serif !important; font-size:32px !important; letter-spacing:2.5px !important; color:#ffffff !important; line-height:1.1 !important; margin:0 !important; }\r\n#seo-uni .vu-brand-sub{ position:relative !important; font-family:'Barlow Condensed',sans-serif !important; font-size:14.5px !important; color:rgba(255,255,255,0.45) !important; letter-spacing:0.5px !important; margin-top:10px !important; }\r\n#seo-uni .vu-chev{ display:none !important; }\r\n#seo-uni .vu-short{ display:none !important; }\r\n#seo-uni .vu-content{ padding:44px 40px !important; }\r\n#seo-uni .vu-content{ position:relative !important; min-width:0 !important; isolation:isolate !important; }\r\n#seo-uni .vu-content::before{ content:'' !important; position:absolute !important; top:0 !important; bottom:0 !important; left:0 !important; right:-100vw !important; background:rgba(0,0,0,0.28) !important; z-index:-1 !important; pointer-events:none !important; }\r\n#seo-uni .vu-brand{ min-width:0 !important; }\r\n@media(max-width:900px){ #seo-uni .vu-content::before{ display:none !important; } #seo-uni .vu-content{ background:rgba(0,0,0,0.28) !important; padding:36px 28px !important; } #seo-uni .vu-brand{ padding:36px 28px !important; } #seo-uni .vu-eyebrow-text{ text-align:center !important; } }\r\n#seo-uni .vu-h3 { font-family:'Barlow Condensed',sans-serif !important; font-size:13px !important; font-weight:700 !important; letter-spacing:3px !important; text-transform:uppercase !important; color:#00c8ff !important; line-height:1.4 !important; margin:0 0 12px 0 !important; padding-left:14px !important; border-left:2px solid rgba(0,200,255,0.5) !important; }\r\n#seo-uni .vu-h3.vu-h3-first{ margin-top:0 !important; }\r\n#seo-uni .vu-h3:not(.vu-h3-first){ margin-top:32px !important; }\r\n#seo-uni .vu-p { font-size:15.5px !important; line-height:1.85 !important; color:rgba(255,255,255,0.72) !important; max-width:760px !important; margin:0 0 18px 0 !important; }\r\n#seo-uni .vu-cards{ display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:12px !important; margin-top:14px !important; }\r\n#seo-uni .vu-card{ position:relative !important; background:rgba(255,255,255,0.03) !important; border:1px solid rgba(255,255,255,0.07) !important; border-radius:12px !important; padding:18px !important; overflow:hidden !important; transition:border-color .2s ease, background .2s ease !important; }\r\n#seo-uni .vu-card:hover{ border-color:rgba(0,200,255,0.35) !important; background:rgba(255,255,255,0.045) !important; }\r\n#seo-uni .vu-card-num{ font-family:'Bebas Neue',sans-serif !important; font-size:44px !important; line-height:1 !important; letter-spacing:1px !important; background:linear-gradient(180deg,#00c8ff,rgba(0,200,255,0.25)) !important; -webkit-background-clip:text !important; background-clip:text !important; -webkit-text-fill-color:transparent !important; color:#00c8ff !important; display:block !important; margin-bottom:2px !important; }\r\n#seo-uni .vu-card-title{ font-size:14.5px !important; font-weight:700 !important; color:#ffffff !important; margin-bottom:5px !important; display:block !important; }\r\n#seo-uni .vu-card-text{ font-size:14px !important; line-height:1.65 !important; color:rgba(255,255,255,0.65) !important; display:block !important; }\r\n#seo-uni .vu-cta{ margin-top:30px !important; padding-top:24px !important; border-top:1px solid rgba(255,255,255,0.08) !important; display:flex !important; flex-wrap:wrap !important; align-items:center !important; gap:18px !important; }\r\n#seo-uni .vu-cta-text{ font-size:15.5px !important; line-height:1.8 !important; color:rgba(255,255,255,0.72) !important; flex:1 1 320px !important; margin:0 !important; }\r\n#seo-uni .vu-link { color:#00c8ff !important; text-decoration:none !important; border-bottom:1px solid rgba(0,200,255,0.35) !important; }\r\n#seo-uni .vu-link:hover { color:#5dd8ff !important; border-bottom-color:#5dd8ff !important; }\r\n#seo-uni .vu-btn{ flex-shrink:0 !important; display:inline-flex !important; align-items:center !important; gap:8px !important; background:#00c8ff !important; color:#121925 !important; font-family:'Barlow Condensed',sans-serif !important; font-weight:700 !important; font-size:12.5px !important; letter-spacing:1.5px !important; text-transform:uppercase !important; text-decoration:none !important; padding:12px 22px !important; border-radius:8px !important; transition:background .2s ease, transform .2s ease !important; }\r\n#seo-uni .vu-btn:hover{ background:#5dd8ff !important; transform:translateY(-1px) !important; }\r\n@media(max-width:900px){ #seo-uni{ padding:0 0 56px !important; } #seo-uni .vu-container{ padding:0 !important; max-width:none !important; } }\r\n\r\n\/* MOBILE \u2014 collapsed: logo + title, tap to open *\/\r\n@media(max-width:640px){\r\n  #seo-uni{ padding:0 0 40px !important; }\r\n  #seo-uni .vu-eyebrow-text{ text-align:left !important; }\r\n  #seo-uni .vu-brand{ display:grid !important; grid-template-columns:52px minmax(0,1fr) 24px !important; column-gap:14px !important; row-gap:3px !important; align-items:center !important; text-align:left !important; padding:18px 20px !important; cursor:pointer !important; -webkit-tap-highlight-color:transparent !important; border-bottom:none !important; }\r\n  #seo-uni .vu-logo-wrap{ grid-row:1 \/ 3 !important; grid-column:1 !important; margin:0 !important; }\r\n  #seo-uni .vu-brand-glow{ width:90px !important; height:90px !important; }\r\n  #seo-uni .vu-logo{ width:52px !important; }\r\n  #seo-uni .vu-eyebrow{ grid-column:2 !important; grid-row:1 !important; margin:0 !important; align-self:end !important; }\r\n  #seo-uni .vu-eyebrow-dot{ display:none !important; }\r\n  #seo-uni .vu-eyebrow-text{ font-size:10px !important; letter-spacing:2px !important; }\r\n  #seo-uni .vu-h2{ grid-column:2 !important; grid-row:2 !important; font-size:22px !important; letter-spacing:1.5px !important; line-height:1 !important; align-self:start !important; }\r\n  #seo-uni .vu-brand-sub{ display:none !important; }\r\n  #seo-uni .vu-chev{ display:block !important; grid-column:3 !important; grid-row:1 \/ 3 !important; width:24px !important; height:24px !important; color:#00c8ff !important; transition:transform .25s ease !important; }\r\n  #seo-uni.open .vu-chev{ transform:rotate(180deg) !important; }\r\n  #seo-uni .vu-content{ display:none !important; padding:18px 20px 22px !important; border-top:1px solid rgba(255,255,255,0.07) !important; }\r\n  #seo-uni.open .vu-content{ display:block !important; animation:uniOpen .3s ease !important; }\r\n  #seo-uni .vu-content .vu-p, #seo-uni .vu-content .vu-h3{ display:none !important; }\r\n  #seo-uni .vu-short{ display:block !important; font-size:15px !important; line-height:1.75 !important; color:rgba(255,255,255,0.72) !important; margin:0 0 14px !important; }\r\n  #seo-uni .vu-cards{ grid-template-columns:1fr !important; gap:8px !important; margin-top:0 !important; }\r\n  #seo-uni .vu-card{ display:grid !important; grid-template-columns:auto minmax(0,1fr) !important; column-gap:12px !important; padding:12px 14px !important; border-radius:10px !important; }\r\n  #seo-uni .vu-card-num{ grid-row:1 \/ 3 !important; font-size:26px !important; margin:0 !important; }\r\n  #seo-uni .vu-card-title{ font-size:14px !important; margin-bottom:2px !important; }\r\n  #seo-uni .vu-card-text{ font-size:13px !important; line-height:1.5 !important; }\r\n  #seo-uni .vu-cta{ margin-top:16px !important; padding-top:16px !important; flex-direction:column !important; align-items:stretch !important; gap:12px !important; }\r\n  #seo-uni .vu-cta-text{ flex:none !important; width:100% !important; font-size:14px !important; line-height:1.65 !important; }\r\n  #seo-uni .vu-btn{ width:100% !important; justify-content:center !important; padding:13px !important; }\r\n}\r\n@keyframes uniOpen{ from{ opacity:0; transform:translateY(-6px); } to{ opacity:1; transform:none; } }\r\n@media(max-width:380px){ #seo-uni .vu-h2{ font-size:19px !important; } }\r\n<\/style>\r\n\r\n<div id=\"seo-uni\">\r\n  <div id=\"seo-uni-wrap\">\r\n    <div class=\"vu-container\">\r\n    <div class=\"vu-layout\">\r\n\r\n      <div class=\"vu-brand\" role=\"button\" aria-expanded=\"false\" aria-controls=\"uni-content\">\r\n        <div class=\"vu-logo-wrap\">\r\n          <div class=\"vu-brand-glow\"><\/div>\r\n          <img decoding=\"async\" class=\"vu-logo\" src=\"https:\/\/vglesports.com\/wp-content\/uploads\/2026\/01\/UNILEAGUE-e-SPORT-GR-coa-e1768771954274.webp\" alt=\"Allwyn Unileague eSports\" loading=\"lazy\" \/>\r\n        <\/div>\r\n        <div class=\"vu-eyebrow\">\r\n          <span class=\"vu-eyebrow-dot\"><\/span>\r\n          <span class=\"vu-eyebrow-text\">\r\n            <span class=\"vu-el\">\u03a6\u039f\u0399\u03a4\u0397\u03a4\u0399\u039a\u0397 GAMING \u039a\u039f\u0399\u039d\u039f\u03a4\u0397\u03a4\u0391<\/span>\r\n            <span class=\"vu-en\" style=\"display:none\">STUDENT GAMING COMMUNITY<\/span>\r\n          <\/span>\r\n        <\/div>\r\n        <h2 class=\"vu-h2\">Allwyn Unileague eSports<\/h2>\r\n        <p class=\"vu-brand-sub\">EA FC \u00b7 eFootball \u00b7 Rocket League<\/p>\r\n        <svg class=\"vu-chev\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M6 9l6 6 6-6\"\/><\/svg>\r\n      <\/div>\r\n\r\n      <div class=\"vu-content\" id=\"uni-content\">\r\n        <p class=\"vu-short\">\r\n          <span class=\"vu-el\">\u03a6\u03bf\u03b9\u03c4\u03b7\u03c4\u03b9\u03ba\u03ae gaming \u03ba\u03bf\u03b9\u03bd\u03cc\u03c4\u03b7\u03c4\u03b1 \u03c0\u03bf\u03c5 \u03c3\u03bf\u03c5 \u03c0\u03c1\u03bf\u03c4\u03b5\u03af\u03bd\u03b5\u03b9 esports \u03c4\u03bf\u03c5\u03c1\u03bd\u03bf\u03c5\u03ac \u03ba\u03b1\u03b9 \u03b4\u03c1\u03ac\u03c3\u03b5\u03b9\u03c2, \u03bc\u03b5 \u03b5\u03bd\u03b7\u03bc\u03ad\u03c1\u03c9\u03c3\u03b7, \u03c5\u03c0\u03bf\u03c3\u03c4\u03ae\u03c1\u03b9\u03be\u03b7 \u03ba\u03b1\u03b9 \u03c8\u03c5\u03c7\u03b1\u03b3\u03c9\u03b3\u03af\u03b1 \u03b3\u03b9\u03b1 \u03c6\u03bf\u03b9\u03c4\u03b7\u03c4\u03ad\u03c2 \u03ba\u03b1\u03b9 \u03c3\u03c0\u03bf\u03c5\u03b4\u03b1\u03c3\u03c4\u03ad\u03c2 \u03c3\u03b5 \u03cc\u03bb\u03b7 \u03c4\u03b7\u03bd \u0395\u03bb\u03bb\u03ac\u03b4\u03b1.<\/span>\r\n          <span class=\"vu-en\" style=\"display:none\">A student gaming community that recommends esports tournaments and activities, with news, support and entertainment for students across Greece.<\/span>\r\n        <\/p>\r\n\r\n        <p class=\"vu-p\">\r\n          <span class=\"vu-el\">\u03a4\u03bf Allwyn Unileague esports \u03b5\u03af\u03bd\u03b1\u03b9 \u03c6\u03bf\u03b9\u03c4\u03b7\u03c4\u03b9\u03ba\u03ae gaming \u03ba\u03bf\u03b9\u03bd\u03cc\u03c4\u03b7\u03c4\u03b1. \u03a3\u03c7\u03b5\u03b4\u03b9\u03b1\u03c3\u03bc\u03ad\u03bd\u03bf \u03b3\u03b9\u03b1 \u03c6\u03bf\u03b9\u03c4\u03b7\u03c4\u03ad\u03c2 \u03ba\u03b1\u03b9 \u03c3\u03c0\u03bf\u03c5\u03b4\u03b1\u03c3\u03c4\u03ad\u03c2, \u03c0\u03c1\u03bf\u03c4\u03b5\u03af\u03bd\u03b5\u03b9 \u03ba\u03b1\u03b9 \u03c0\u03c1\u03bf\u03c9\u03b8\u03b5\u03af esports \u03c4\u03bf\u03c5\u03c1\u03bd\u03bf\u03c5\u03ac \u03ba\u03b1\u03b9 \u03b4\u03c1\u03ac\u03c3\u03b5\u03b9\u03c2 \u03c3\u03b5 \u03bf\u03c1\u03b3\u03b1\u03bd\u03c9\u03bc\u03ad\u03bd\u03bf \u03b4\u03b9\u03b1\u03b4\u03b9\u03ba\u03c4\u03c5\u03b1\u03ba\u03cc \u03c0\u03b5\u03c1\u03b9\u03b2\u03ac\u03bb\u03bb\u03bf\u03bd \u03b3\u03b9\u03b1 \u03b5\u03bd\u03b7\u03bc\u03ad\u03c1\u03c9\u03c3\u03b7, \u03c5\u03c0\u03bf\u03c3\u03c4\u03ae\u03c1\u03b9\u03be\u03b7 \u03ba\u03b1\u03b9 \u03b4\u03b9\u03b1\u03c3\u03ba\u03ad\u03b4\u03b1\u03c3\u03b7.<\/span>\r\n          <span class=\"vu-en\" style=\"display:none\">The Allwyn Unileague esports is the student gaming community. Designed for university and college students, it recommends and promotes esports tournaments and activities in an organised online environment for information, support and entertainment.<\/span>\r\n        <\/p>\r\n\r\n        <h3 class=\"vu-h3 vu-h3-first\">\r\n          <span class=\"vu-el\">\u03a4\u03b9 \u03b5\u03af\u03bd\u03b1\u03b9 \u03c4\u03bf Allwyn Unileague<\/span>\r\n          <span class=\"vu-en\" style=\"display:none\">What is Allwyn Unileague<\/span>\r\n        <\/h3>\r\n        <p class=\"vu-p\">\r\n          <span class=\"vu-el\">\u03a4\u03bf Allwyn Unileague esports \u03b4\u03b7\u03bc\u03b9\u03bf\u03c5\u03c1\u03b3\u03ae\u03b8\u03b7\u03ba\u03b5 \u03b3\u03b9\u03b1 \u03bd\u03b1 \u03c6\u03ad\u03c1\u03b5\u03b9 \u03ba\u03bf\u03bd\u03c4\u03ac \u03c4\u03bf\u03c5\u03c2 \u03c6\u03bf\u03b9\u03c4\u03b7\u03c4\u03ad\u03c2 gamers \u03c4\u03b7\u03c2 \u0395\u03bb\u03bb\u03ac\u03b4\u03b1\u03c2. \u039c\u03ad\u03c3\u03b1 \u03b1\u03c0\u03cc \u03c0\u03c1\u03bf\u03c4\u03b5\u03b9\u03bd\u03cc\u03bc\u03b5\u03bd\u03b5\u03c2 \u03b4\u03b9\u03bf\u03c1\u03b3\u03b1\u03bd\u03ce\u03c3\u03b5\u03b9\u03c2 \u03ba\u03b1\u03b9 leaderboards, \u03bf\u03b9 \u03c6\u03bf\u03b9\u03c4\u03b7\u03c4\u03ad\u03c2 \u03bc\u03c0\u03bf\u03c1\u03bf\u03cd\u03bd \u03bd\u03b1 \u03b1\u03bd\u03c4\u03b1\u03b3\u03c9\u03bd\u03b9\u03c3\u03c4\u03bf\u03cd\u03bd, \u03bd\u03b1 \u03b5\u03be\u03b5\u03bb\u03b9\u03c7\u03b8\u03bf\u03cd\u03bd \u03ba\u03b1\u03b9 \u03bd\u03b1 \u03b3\u03bd\u03c9\u03c1\u03b9\u03c3\u03c4\u03bf\u03cd\u03bd \u03bc\u03b5 \u03ac\u03bb\u03bb\u03bf\u03c5\u03c2 \u03c0\u03b1\u03af\u03ba\u03c4\u03b5\u03c2 \u03b1\u03c0\u03cc \u03cc\u03bb\u03b7 \u03c4\u03b7\u03bd \u0395\u03bb\u03bb\u03ac\u03b4\u03b1.<\/span>\r\n          <span class=\"vu-en\" style=\"display:none\">The Allwyn Unileague esports was created to bring together student gamers across Greece. Through recommended competitions and leaderboards, students can compete, improve and connect with other players from across the country.<\/span>\r\n        <\/p>\r\n\r\n        <h3 class=\"vu-h3\">\r\n          <span class=\"vu-el\">\u03a4\u03b9 \u03c0\u03c1\u03bf\u03c3\u03c6\u03ad\u03c1\u03b5\u03b9<\/span>\r\n          <span class=\"vu-en\" style=\"display:none\">What it offers<\/span>\r\n        <\/h3>\r\n\r\n        <div class=\"vu-cards\">\r\n          <div class=\"vu-card\">\r\n            <span class=\"vu-card-num\">1<\/span>\r\n            <span class=\"vu-card-title\">\r\n              <span class=\"vu-el\">\u03a0\u03c1\u03bf\u03c4\u03b5\u03b9\u03bd\u03cc\u03bc\u03b5\u03bd\u03b1 \u03c4\u03bf\u03c5\u03c1\u03bd\u03bf\u03c5\u03ac<\/span>\r\n              <span class=\"vu-en\" style=\"display:none\">Recommended tournaments<\/span>\r\n            <\/span>\r\n            <span class=\"vu-card-text\">\r\n              <span class=\"vu-el\">\u0395\u03c0\u03b9\u03bb\u03b5\u03b3\u03bc\u03ad\u03bd\u03b1 \u03b4\u03c9\u03c1\u03b5\u03ac\u03bd online \u03c4\u03bf\u03c5\u03c1\u03bd\u03bf\u03c5\u03ac \u03ba\u03b1\u03b9 \u03c0\u03c1\u03c9\u03c4\u03b1\u03b8\u03bb\u03ae\u03bc\u03b1\u03c4\u03b1 \u03bc\u03b5 \u03bc\u03b5\u03b3\u03ac\u03bb\u03b1 \u03ad\u03c0\u03b1\u03b8\u03bb\u03b1, \u03c3\u03b5 \u03ad\u03bd\u03b1 \u03c3\u03b7\u03bc\u03b5\u03af\u03bf.<\/span>\r\n              <span class=\"vu-en\" style=\"display:none\">Hand-picked free online tournaments and leagues with big prize pools, all in one place.<\/span>\r\n            <\/span>\r\n          <\/div>\r\n          <div class=\"vu-card\">\r\n            <span class=\"vu-card-num\">2<\/span>\r\n            <span class=\"vu-card-title\">Consistency Leaderboard<\/span>\r\n            <span class=\"vu-card-text\">\r\n              <span class=\"vu-el\">\u039a\u03b1\u03c4\u03ac\u03c4\u03b1\u03be\u03b7 \u03b2\u03ac\u03c3\u03b5\u03b9 \u03c3\u03c5\u03bd\u03ad\u03c0\u03b5\u03b9\u03b1\u03c2 \u03ba\u03b1\u03b9 \u03b1\u03c0\u03cc\u03b4\u03bf\u03c3\u03b7\u03c2 \u03ba\u03b1\u03c4\u03ac \u03c4\u03b7 \u03b4\u03b9\u03ac\u03c1\u03ba\u03b5\u03b9\u03b1 \u03c4\u03b7\u03c2 \u03c3\u03b5\u03b6\u03cc\u03bd.<\/span>\r\n              <span class=\"vu-en\" style=\"display:none\">Ranking based on consistency and performance throughout the season.<\/span>\r\n            <\/span>\r\n          <\/div>\r\n          <div class=\"vu-card\">\r\n            <span class=\"vu-card-num\">3<\/span>\r\n            <span class=\"vu-card-title\">\r\n              <span class=\"vu-el\">\u0395\u03bd\u03b7\u03bc\u03ad\u03c1\u03c9\u03c3\u03b7 &amp; \u03c8\u03c5\u03c7\u03b1\u03b3\u03c9\u03b3\u03af\u03b1<\/span>\r\n              <span class=\"vu-en\" style=\"display:none\">News &amp; entertainment<\/span>\r\n            <\/span>\r\n            <span class=\"vu-card-text\">\r\n              <span class=\"vu-el\">\u039d\u03ad\u03b1 \u03b1\u03c0\u03cc \u03c4\u03b1 esports, \u03b4\u03c1\u03ac\u03c3\u03b5\u03b9\u03c2 \u03ba\u03b1\u03b9 giveaways \u03bc\u03b5 \u03b1\u03c0\u03bf\u03ba\u03bb\u03b5\u03b9\u03c3\u03c4\u03b9\u03ba\u03ac \u03b4\u03ce\u03c1\u03b1 \u03b3\u03b9\u03b1 \u03cc\u03c3\u03bf\u03c5\u03c2 \u03c3\u03c5\u03bc\u03bc\u03b5\u03c4\u03ad\u03c7\u03bf\u03c5\u03bd.<\/span>\r\n              <span class=\"vu-en\" style=\"display:none\">Esports news, activities and giveaways with exclusive prizes for everyone who takes part.<\/span>\r\n            <\/span>\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <div class=\"vu-cta\">\r\n          <p class=\"vu-cta-text\">\r\n            <span class=\"vu-el\">\u0395\u03b3\u03b3\u03c1\u03ac\u03c8\u03bf\u03c5 \u03bc\u03ad\u03c3\u03c9 \u03c4\u03c9\u03bd <a class=\"vu-link\" href=\"https:\/\/battlefy.com\/vgl-esports\" target=\"_blank\" rel=\"noopener\">\u03b1\u03bd\u03bf\u03b9\u03c7\u03c4\u03ce\u03bd \u03c4\u03bf\u03c5\u03c1\u03bd\u03bf\u03c5\u03ac \u03c4\u03b7\u03c2 VGL Esports<\/a> \u03ba\u03b1\u03b9 \u03ad\u03bd\u03c4\u03b1\u03be\u03bf\u03c5 \u03c3\u03c4\u03b7\u03bd \u03ba\u03bf\u03b9\u03bd\u03cc\u03c4\u03b7\u03c4\u03b1.<\/span>\r\n            <span class=\"vu-en\" style=\"display:none\">Register through <a class=\"vu-link\" href=\"https:\/\/battlefy.com\/vgl-esports\" target=\"_blank\" rel=\"noopener\">VGL Esports open tournaments<\/a> and join the community.<\/span>\r\n          <\/p>\r\n          <a class=\"vu-btn\" href=\"https:\/\/discord.gg\/n6PrKQesGn\" target=\"_blank\" rel=\"noopener\">Discord \u2192<\/a>\r\n        <\/div>\r\n      <\/div>\r\n\r\n    <\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/div>\r\n\r\n<script>\r\n(function(){\r\n  var root = document.getElementById('seo-uni'); if(!root) return;\r\n  var isGreek = window.location.pathname.indexOf('\/el\/') !== -1;\r\n  root.querySelectorAll('.vu-el').forEach(function(e){ e.style.display = isGreek ? '' : 'none'; });\r\n  root.querySelectorAll('.vu-en').forEach(function(e){ e.style.display = isGreek ? 'none' : ''; });\r\n  var brand = root.querySelector('.vu-brand');\r\n  brand.addEventListener('click', function(){\r\n    if (window.innerWidth > 640) return;\r\n    var open = root.classList.toggle('open');\r\n    brand.setAttribute('aria-expanded', open ? 'true' : 'false');\r\n  });\r\n})();\r\n<\/script>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-e1f7929 elementor-section-full_width elementor-section-height-default elementor-section-height-default\" data-id=\"e1f7929\" data-element_type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-f961b86\" data-id=\"f961b86\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-e98fcd8 elementor-widget elementor-widget-html\" data-id=\"e98fcd8\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\r\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Barlow:wght@400;600;700;800&family=Bebas+Neue&family=Fira+Sans+Extra+Condensed:wght@600;700;800&display=swap\" rel=\"stylesheet\">\r\n<style>\r\n#roc-hub{font-family:'Barlow',sans-serif;color:rgba(255,255,255,0.85);max-width:1440px;margin:0 auto;padding:40px 16px 60px;box-sizing:border-box}\r\n#roc-hub *{box-sizing:border-box}\r\n#roc-hub .hub-card{background:#1a2332;border:1px solid rgba(255,255,255,0.15);border-radius:12px;overflow:hidden}\r\n#roc-hub .hub-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;padding:22px 24px 0;border-bottom:1px solid rgba(255,255,255,0.1)}\r\n#roc-hub .hub-brand{display:flex;align-items:center;gap:14px;padding-bottom:14px}\r\n#roc-hub .hub-logo{width:56px;height:auto;display:block}\r\n#roc-hub .hub-kicker{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,0.4);font-weight:700;margin-bottom:2px}\r\n#roc-hub .hub-title{font-family:'Bebas Neue',sans-serif;font-size:48px;letter-spacing:2px;line-height:.9;color:var(--acc,#4ade80);margin:0;font-weight:400}\r\n#roc-hub .hub-tabs{display:flex;gap:4px;flex-wrap:wrap}\r\n#roc-hub .hub-tab{font-family:'Barlow',sans-serif;font-weight:700;font-size:15px;letter-spacing:1px;padding:12px 18px;border:none;border-bottom:3px solid transparent;background:transparent;color:rgba(255,255,255,0.5);cursor:pointer;transition:color .15s,background .15s;white-space:nowrap}\r\n#roc-hub .hub-tab:hover{color:#fff}\r\n#roc-hub .hub-tab.on{color:var(--c);border-bottom-color:var(--c);background:rgba(255,255,255,0.05)}\r\n#roc-hub .hub-views{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:14px 24px;border-bottom:1px solid rgba(255,255,255,0.08)}\r\n#roc-hub .hub-seg{display:flex;gap:2px;padding:3px;border-radius:10px;background:rgba(0,0,0,0.25);border:1px solid rgba(255,255,255,0.08)}\r\n#roc-hub .hub-v{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 18px;border-radius:8px;border:none;cursor:pointer;font-family:'Barlow',sans-serif;font-size:13px;font-weight:700;letter-spacing:1px;text-transform:uppercase;background:transparent;color:rgba(255,255,255,0.6);transition:background .15s,color .15s}\r\n#roc-hub .hub-v:hover{color:#fff}\r\n#roc-hub .hub-v.on{background:#00c8ff;color:#06121c}\r\n#roc-hub .hub-live{width:7px;height:7px;border-radius:50%;background:#ff3c3c;box-shadow:0 0 8px #ff3c3c;display:none;animation:hubP 1.6s ease-in-out infinite}\r\n#roc-hub .hub-v.live .hub-live{display:inline-block}\r\n@keyframes hubP{50%{opacity:.35}}\r\n#roc-hub .hub-note{font-size:13px;color:rgba(255,255,255,0.55)}\r\n#roc-hub .hub-note.done{color:#f0c040;font-weight:700;letter-spacing:.5px}\r\n#roc-hub .hub-v.done .hub-live{display:inline-block;background:#f0c040;box-shadow:0 0 8px rgba(240,192,64,.7);animation:none}\r\n#roc-hub .hub-pane{display:none}\r\n#roc-hub .hub-pane.on{display:block}\r\n@media(min-width:1000px){\r\n  #roc-hub .hub-card{display:grid;grid-template-columns:minmax(0,1fr)}\r\n  #roc-hub .hub-pane{grid-row:3;grid-column:1;display:block;visibility:hidden;pointer-events:none;min-width:0}\r\n  #roc-hub .hub-pane.on{visibility:visible;pointer-events:auto}\r\n}\r\n\/* embedded widgets: drop their own card\/header *\/\r\n#roc-hub #vglRk{max-width:none;padding:0;margin:0}\r\n#roc-hub #vglRk .rk-card{background:transparent;border:none;border-radius:0}\r\n#roc-hub #vglRk .rk-head{display:none}\r\n#roc-hub #vgl-finals-widget{max-width:none;padding:0;margin:0;min-height:0}\r\n#roc-hub #vgl-finals-widget .fn-shell{background:transparent;border:none;border-radius:0}\r\n#roc-hub #vgl-finals-widget .fn-top{display:none}\r\n@media(max-width:760px){\r\n  #roc-hub{padding:24px 10px 40px}\r\n  #roc-hub .hub-head{padding:18px 14px 0}\r\n  #roc-hub .hub-brand{padding-bottom:6px}\r\n  #roc-hub .hub-title{font-size:38px}\r\n  #roc-hub .hub-logo{width:44px}\r\n  #roc-hub .hub-tabs{width:100%}\r\n  #roc-hub .hub-tab{flex:1;padding:10px 6px;font-size:12px}\r\n  #roc-hub .hub-views{padding:12px 14px}\r\n  #roc-hub .hub-seg{width:100%}\r\n  #roc-hub .hub-v{flex:1;justify-content:center;padding:0 8px}\r\n}\r\n<\/style>\r\n<div id=\"roc-hub\" class=\"notranslate\" translate=\"no\">\r\n <div class=\"hub-card\">\r\n  <div class=\"hub-head\">\r\n    <div class=\"hub-brand\">\r\n      <img decoding=\"async\" class=\"hub-logo\" src=\"https:\/\/vglesports.com\/wp-content\/uploads\/2026\/08\/RoC-Logomain1-1.png\" alt=\"Rise of Champions\" loading=\"lazy\">\r\n      <div><div class=\"hub-kicker\">Rise of Champions \u00b7 Season 1<\/div><h2 class=\"hub-title\" id=\"hubTitle\">EA FC 26<\/h2><\/div>\r\n    <\/div>\r\n    <div class=\"hub-tabs\" id=\"hubTabs\">\r\n      <button class=\"hub-tab on\" data-g=\"eafc\" style=\"--c:#4ade80\">EA FC<\/button>\r\n      <button class=\"hub-tab\" data-g=\"rl\" style=\"--c:#ff6b35\">ROCKET LEAGUE<\/button>\r\n      <button class=\"hub-tab\" data-g=\"ef\" style=\"--c:#00d4ff\">eFOOTBALL<\/button>\r\n    <\/div>\r\n  <\/div>\r\n  <div class=\"hub-views\">\r\n    <div class=\"hub-seg\">\r\n      <button class=\"hub-v on\" data-v=\"rank\"><span class=\"hub-live\"><\/span>Ranking<\/button>\r\n      <button class=\"hub-v\" data-v=\"final\"><span class=\"hub-live\"><\/span>\u03a4\u03b5\u03bb\u03b9\u03ba\u03ae \u03a6\u03ac\u03c3\u03b7<\/button>\r\n    <\/div>\r\n    <span class=\"hub-note\" id=\"hubNote\"><\/span>\r\n  <\/div>\r\n  <div class=\"hub-pane on\" data-pane=\"rank\">\r\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\r\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\r\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Barlow:wght@400;600;700&family=Bebas+Neue&display=swap\" rel=\"stylesheet\">\r\n\r\n<style>\r\n  #vglRk { --acc:#4ade80; --gold:#f0c040; --teal:#2dd4bf; font-family:'Barlow',sans-serif; color:rgba(255,255,255,0.85); max-width:960px; margin:0 auto; padding:40px 16px 60px; box-sizing:border-box; }\r\n  #vglRk *, #vglRk *::before, #vglRk *::after { box-sizing:border-box; }\r\n  #vglRk button, #vglRk input { font-family:'Barlow',sans-serif; }\r\n  #vglRk .rk-card { background:#1a2332; border:1px solid rgba(255,255,255,0.15); border-radius:12px; overflow:hidden; }\r\n  #vglRk .rk-head { display:flex; justify-content:space-between; align-items:flex-end; gap:16px; flex-wrap:wrap; padding:22px 24px 0; border-bottom:1px solid rgba(255,255,255,0.1); }\r\n  #vglRk .rk-title { font-family:'Bebas Neue',sans-serif; font-weight:400; font-size:48px; letter-spacing:2px; line-height:0.9; color:var(--acc); padding-bottom:16px; margin:0; }\r\n  #vglRk .rk-tabs { display:flex; gap:4px; flex-wrap:wrap; }\r\n  #vglRk .rk-tab { font-weight:700; font-size:15px; letter-spacing:1px; padding:12px 18px; border:none; border-bottom:3px solid transparent; background:transparent; color:rgba(255,255,255,0.5); cursor:pointer; transition:color .15s, background .15s; }\r\n  #vglRk .rk-tab:hover { color:#fff; }\r\n  #vglRk .rk-tab.on { color:var(--c); border-bottom-color:var(--c); background:rgba(255,255,255,0.05); }\r\n  #vglRk .rk-body { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); }\r\n  #vglRk .rk-slots { grid-template-columns:repeat(4,minmax(0,1fr)) !important; }\r\n  #vglRk .rk-slots.big { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:10px; }\r\n  #vglRk .rk-slots.big .rk-slot { min-height:72px; padding:14px 16px; gap:4px; }\r\n  #vglRk .rk-slots.big .rk-slot span { font-size:10px; }\r\n  #vglRk .rk-slots.big .rk-slot b { font-size:16px; }\r\n  #vglRk .rk-slots.big .rk-slot em { font-size:19px; }\r\n  #vglRk .rk-zone { margin-top:auto; display:flex; flex-direction:column; gap:6px; padding:16px 18px; border-radius:8px; background:rgba(45,212,191,0.06); border:1px solid rgba(45,212,191,0.25); }\r\n  #vglRk .rk-zone-k { font-size:11px; letter-spacing:2px; font-weight:700; color:var(--teal); }\r\n  #vglRk .rk-zone-t { font-size:15px; font-weight:600; color:#fff; line-height:1.45; }\r\n  #vglRk .rk-zone-s { font-size:13px; color:rgba(255,255,255,0.65); }\r\n  #vglRk .rk-zone b { color:var(--teal); }\r\n  #vglRk .rk-split { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); column-gap:16px; padding:0 4px; }\r\n  #vglRk .rk-split.one { grid-template-columns:minmax(0,1fr); }\r\n  #vglRk .rk-col { min-width:0; }\r\n  #vglRk .rk-row.cut { box-shadow:inset 0 -2px 0 var(--teal); }\r\n  #vglRk .rk-side { padding:20px; background:rgba(0,0,0,0.2); border-right:1px solid rgba(255,255,255,0.1); display:flex; flex-direction:column; gap:18px; }\r\n  #vglRk .rk-side-h { display:flex; align-items:baseline; justify-content:space-between; gap:8px; }\r\n  #vglRk .rk-side-h b { font-family:'Bebas Neue',sans-serif; font-weight:400; font-size:26px; letter-spacing:1.5px; color:#fff; }\r\n  #vglRk .rk-side-h span { font-size:12px; font-weight:700; color:rgba(255,255,255,0.5); }\r\n  #vglRk .rk-grp { display:flex; flex-direction:column; gap:8px; }\r\n  #vglRk .rk-grp-h { display:flex; justify-content:space-between; font-size:11px; letter-spacing:2px; font-weight:700; }\r\n  #vglRk .rk-slots { display:grid; grid-template-columns:1fr 1fr; gap:6px; }\r\n  #vglRk .rk-slot { padding:9px 10px; border-radius:4px; border:1px dashed rgba(255,255,255,0.18); display:flex; flex-direction:column; gap:2px; min-height:48px; justify-content:center; min-width:0; transition:transform .2s cubic-bezier(.2,.8,.2,1), border-color .2s, background .2s, box-shadow .2s; cursor:default; }\r\n  #vglRk .rk-slot:hover { transform:translateY(-2px); border-color:rgba(255,255,255,0.4); background:rgba(255,255,255,0.04); }\r\n  #vglRk .rk-slot.w:hover { border-color:var(--gold); background:rgba(240,192,64,0.14); box-shadow:0 6px 18px -6px rgba(240,192,64,0.45); }\r\n  #vglRk .rk-slot.r:hover { border-color:var(--teal); background:rgba(45,212,191,0.14); box-shadow:0 6px 18px -6px rgba(45,212,191,0.45); }\r\n  #vglRk .rk-slot span { font-size:9px; letter-spacing:2px; font-weight:700; color:rgba(255,255,255,0.35); }\r\n  #vglRk .rk-slot b { font-size:13px; font-weight:700; color:rgba(255,255,255,0.35); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }\r\n  #vglRk .rk-slot.w { border-style:solid; border-color:rgba(240,192,64,0.4); background:rgba(240,192,64,0.08); }\r\n  #vglRk .rk-slot.w span { color:var(--gold); }\r\n  #vglRk .rk-slot.r { border-style:solid; border-color:rgba(45,212,191,0.4); background:rgba(45,212,191,0.08); }\r\n  #vglRk .rk-slot.r span { color:var(--teal); }\r\n  #vglRk .rk-slot.w b, #vglRk .rk-slot.r b { color:#fff; }\r\n  #vglRk .rk-slot-n { display:flex; justify-content:space-between; align-items:baseline; gap:6px; min-width:0; }\r\n  #vglRk .rk-slot em { font-style:normal; font-family:'Bebas Neue',sans-serif; font-size:15px; letter-spacing:.5px; color:rgba(255,255,255,0.6); flex-shrink:0; }\r\n  #vglRk .rk-slot.w em { color:var(--gold); }\r\n  #vglRk .rk-slot.r em { color:var(--teal); }\r\n  #vglRk .rk-slot.r.hl { transform:translateY(-2px); border-color:var(--teal); background:rgba(45,212,191,0.14); box-shadow:0 6px 18px -6px rgba(45,212,191,0.45); }\r\n  #vglRk .rk-row { position:relative; }\r\n  #vglRk .rk-row.hl { background:rgba(45,212,191,0.2); box-shadow:inset 3px 0 0 var(--teal), 0 0 22px -4px rgba(45,212,191,0.55); z-index:1; overflow:hidden; }\r\n  #vglRk .rk-row.hl::after { content:''; position:absolute; top:0; bottom:0; left:-40%; width:40%; background:linear-gradient(90deg, transparent, rgba(255,255,255,0.18), transparent); animation:rkShine .9s cubic-bezier(.2,.8,.2,1) forwards; pointer-events:none; }\r\n  @keyframes rkShine { to { left:110%; } }\r\n  #vglRk .rk-row.hl .rk-name { color:#fff; }\r\n  #vglRk .rk-main { min-width:0; }\r\n  #vglRk .rk-search-row { padding:12px 16px; border-bottom:1px solid rgba(255,255,255,0.06); }\r\n  #vglRk .rk-search { width:100%; background:rgba(255,255,255,0.03); border:1px solid rgba(255,255,255,0.08); border-radius:3px; color:rgba(255,255,255,0.85); font-size:14px; font-weight:600; padding:9px 12px; outline:none; }\r\n  #vglRk .rk-search::placeholder { color:rgba(255,255,255,0.3); }\r\n  #vglRk .rk-search:focus { border-color:var(--acc); }\r\n  #vglRk .rk-cols, #vglRk .rk-row { display:grid; grid-template-columns:40px minmax(0,1fr) 64px 56px; padding:9px 16px; align-items:center; }\r\n  #vglRk .rk-cols { padding:8px 16px; background:rgba(0,0,0,0.2); font-size:10px; letter-spacing:2px; text-transform:uppercase; font-weight:700; color:rgba(255,255,255,0.35); }\r\n  #vglRk .rk-cols span:nth-child(n+3), #vglRk .rk-row > :nth-child(n+3) { text-align:right; }\r\n  #vglRk .rk-row { border-bottom:1px solid rgba(255,255,255,0.04); transition:background .15s; }\r\n  #vglRk .rk-row:hover { background:rgba(255,255,255,0.05); }\r\n  #vglRk .rk-row.in { background:rgba(45,212,191,0.06); }\r\n  #vglRk .rk-pos { font-family:'Bebas Neue',sans-serif; font-size:18px; color:rgba(255,255,255,0.35); }\r\n  #vglRk .rk-row.in .rk-pos { color:#fff; }\r\n  #vglRk .rk-name { font-size:14px; font-weight:600; color:rgba(255,255,255,0.75); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }\r\n  #vglRk .rk-row.in .rk-name { font-weight:700; color:#fff; }\r\n  #vglRk .rk-pts { font-family:'Bebas Neue',sans-serif; font-size:18px; color:var(--acc); }\r\n  #vglRk .rk-wr { font-family:'Bebas Neue',sans-serif; font-size:16px; color:rgba(255,255,255,0.6); }\r\n  #vglRk .rk-cut { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; padding:10px 16px; background:rgba(45,212,191,0.08); border-top:2px solid var(--teal); border-bottom:1px solid rgba(45,212,191,0.25); }\r\n  #vglRk .rk-cut > span:first-child { font-size:11px; letter-spacing:2px; font-weight:700; color:var(--teal); }\r\n  #vglRk .rk-cut > span:last-child { font-size:13px; font-weight:600; color:#fff; }\r\n  #vglRk .rk-cut b { color:var(--teal); }\r\n  #vglRk .rk-msg { padding:28px; text-align:center; font-size:13px; color:rgba(255,255,255,0.35); letter-spacing:1px; }\r\n  #vglRk .rk-pager { display:flex; justify-content:center; flex-wrap:wrap; gap:6px; padding:14px; border-top:1px solid rgba(255,255,255,0.06); }\r\n  #vglRk .rk-pager:empty { display:none; }\r\n  #vglRk .rk-pg { min-width:32px; height:32px; padding:0 8px; border-radius:8px; border:1px solid rgba(255,255,255,0.1); background:rgba(255,255,255,0.04); color:rgba(255,255,255,0.5); font-size:12px; font-weight:700; cursor:pointer; }\r\n  #vglRk .rk-pg.on { border-color:var(--acc); color:var(--acc); }\r\n  #vglRk .rk-pg:disabled { opacity:0.25; cursor:default; }\r\n  #vglRk .rv { animation:rkRv .5s cubic-bezier(.2,.8,.2,1) backwards; }\r\n  @keyframes rkRv { from { opacity:0; transform:translateY(10px); clip-path:inset(0 100% 0 0); } to { opacity:1; transform:none; clip-path:inset(0 0 0 0); } }\r\n  @media (max-width:999px) { #vglRk .rk-body { grid-template-columns:1fr; } #vglRk .rk-side { border-right:none; border-bottom:1px solid rgba(255,255,255,0.1); } }\r\n  @media (max-width:760px) {\r\n    #vglRk { padding:24px 10px 40px; }\r\n    #vglRk .rk-head { padding:18px 14px 0; }\r\n    #vglRk .rk-title { font-size:38px; padding-bottom:6px; }\r\n    #vglRk .rk-tabs { width:100%; }\r\n    #vglRk .rk-tab { flex:1; padding:10px 6px; font-size:12px; }\r\n    #vglRk .rk-body { grid-template-columns:1fr; }\r\n    #vglRk .rk-split { grid-template-columns:1fr; }\r\n    #vglRk .rk-col.b .rk-cols { display:none; }\r\n    #vglRk .rk-slots { grid-template-columns:1fr 1fr !important; }\r\n    #vglRk .rk-side { border-right:none; border-bottom:1px solid rgba(255,255,255,0.1); padding:16px 12px; }\r\n    #vglRk .rk-cols, #vglRk .rk-row { grid-template-columns:34px minmax(0,1fr) 56px 48px; padding-left:12px; padding-right:12px; }\r\n    #vglRk .rk-cut { padding-left:12px; padding-right:12px; }\r\n  }\r\n<\/style>\r\n\r\n<div id=\"vglRk\">\r\n  <div class=\"rk-card\">\r\n    <div class=\"rk-head\">\r\n      <h2 class=\"rk-title\" id=\"rkTitle\"><\/h2>\r\n      <div class=\"rk-tabs\" id=\"rkTabs\"><\/div>\r\n    <\/div>\r\n    <div class=\"rk-body\">\r\n      <div class=\"rk-side\">\r\n        <div class=\"rk-side-h\"><b>Final Stage Line-up<\/b><span id=\"rkTotal\"><\/span><\/div>\r\n        <div class=\"rk-grp\">\r\n          <div class=\"rk-grp-h\" style=\"color:var(--gold)\"><span>QUALIFIER WINNERS<\/span><span id=\"rkWinCount\"><\/span><\/div>\r\n          <div class=\"rk-slots\" id=\"rkWin\"><\/div>\r\n        <\/div>\r\n        <div class=\"rk-grp\">\r\n          <div class=\"rk-grp-h\" style=\"color:var(--teal)\"><span>RANKING RISERS<\/span><span id=\"rkRankCount\"><\/span><\/div>\r\n          <div class=\"rk-slots\" id=\"rkRank\"><\/div>\r\n        <\/div>\r\n        <div class=\"rk-zone\" id=\"rkZone\" style=\"display:none\"><\/div>\r\n      <\/div>\r\n      <div class=\"rk-main\">\r\n        <div class=\"rk-search-row\"><input class=\"rk-search\" id=\"rkSearch\" type=\"text\"><\/div>\r\n                <div id=\"rkRows\"><\/div>\r\n        <div class=\"rk-pager\" id=\"rkPager\"><\/div>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/div>\r\n\r\n<script>\r\n(function () {\r\n  var SUPABASE_URL = 'https:\/\/yvzhzxhqbyebblqebxja.supabase.co';\r\n  var SUPABASE_KEY = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6Inl2emh6eGhxYnllYmJscWVieGphIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NzgyNzkzNjUsImV4cCI6MjA5Mzg1NTM2NX0.uhtM7kTsaJhcsD4ZdeggabcMn3wsrtgNLehB3taPhP4';\r\n  var PAGE = 20;\r\n  var GAMES = {\r\n    eafc: { name:'EA FC 26', tab:'EA FC', acc:'#4ade80', win:8, rank:8, col:'Participant', ph:'Search player...' },\r\n    rl: { name:'Rocket League', tab:'ROCKET LEAGUE', acc:'#ff6b35', win:4, rank:4, col:'Team', ph:'Search team...' },\r\n    efootball: { name:'eFootball', tab:'eFOOTBALL', acc:'#00d4ff', win:4, rank:4, col:'Participant', ph:'Search player...' }\r\n  };\r\n  var ORDER = ['eafc','rl','efootball'];\r\n  var S = { game:'eafc', q:'', page:1 }, DATA = {}, STATUS = {};\r\n  var root = document.getElementById('vglRk');\r\n  var $ = function (id) { return document.getElementById(id); };\r\n  var esc = function (s) { return String(s).replace(\/[&<>\"]\/g, function (c) { return { '&':'&amp;','<':'&lt;','>':'&gt;','\"':'&quot;' }[c]; }); };\r\n  var num = function (v) { var n = parseFloat(String(v).replace(',', '.')); return isNaN(n) ? 0 : n; };\r\n  var ord = function (n) { var s = ['th','st','nd','rd'], v = n % 100; return n + (s[(v - 20) % 10] || s[v] || s[0]); };\r\n  var fmtWR = function (w) { if (w === null || w === undefined || w === '' || w === 'null') return '\u2014'; var s = String(w).trim(); return s.slice(-1) === '%' ? s : s + '%'; };\r\n\r\n  function split(game) {\r\n    var rows = DATA[game] || [], winners = [], list = [];\r\n    rows.forEach(function (r) { if (String(r.points).toUpperCase() === 'QF') winners.push(r); });\r\n    var wn = winners.map(function (w) { return String(w.name).toLowerCase(); });\r\n    rows.forEach(function (r) { if (String(r.points).toUpperCase() !== 'QF' && wn.indexOf(String(r.name).toLowerCase()) === -1) list.push(r); });\r\n    list.forEach(function (r, i) { r.pos = i + 1; });\r\n    return { winners: winners, list: list };\r\n  }\r\n\r\n  function hl(nm) {\r\n    Array.prototype.forEach.call(root.querySelectorAll('.hl'), function (el) { el.classList.remove('hl'); });\r\n    if (!nm) return;\r\n    Array.prototype.forEach.call(root.querySelectorAll('[data-nm]'), function (el) { if (el.getAttribute('data-nm') === nm) el.classList.add('hl'); });\r\n  }\r\n\r\n  function reveal(els) {\r\n    Array.prototype.forEach.call(els, function (el, i) {\r\n      el.classList.remove('rv'); void el.offsetWidth;\r\n      el.style.animationDelay = (Math.min(i, 30) * 0.03) + 's';\r\n      el.classList.add('rv');\r\n    });\r\n  }\r\n\r\n  function bindHover() {\r\n    if (root.__hl) return; root.__hl = 1;\r\n    root.addEventListener('mouseover', function (e) {\r\n      var t = e.target.closest('.rk-slot.r[data-nm], .rk-row[data-nm]');\r\n      hl(t && root.contains(t) ? t.getAttribute('data-nm') : null);\r\n    });\r\n    root.addEventListener('mouseleave', function () { hl(null); });\r\n  }\r\n\r\n  function renderTabs() {\r\n    $('rkTabs').innerHTML = ORDER.map(function (id) {\r\n      var g = GAMES[id];\r\n      return '<button class=\"rk-tab' + (id === S.game ? ' on' : '') + '\" data-game=\"' + id + '\" style=\"--c:' + g.acc + '\">' + g.tab + '<\/button>';\r\n    }).join('');\r\n  }\r\n\r\n  function renderSide() {\r\n    var g = GAMES[S.game], d = split(S.game), h = '';\r\n    var full = d.winners.length >= g.win;\r\n    for (var i = 0; i < g.win; i++) {\r\n      var w = d.winners[i];\r\n      h += '<div class=\"rk-slot' + (w ? ' w' : '') + '\"><span>QUALIFIER #' + (i + 1) + '<\/span><div class=\"rk-slot-n\"><b>' + (w ? esc(w.name) : 'Open') + '<\/b>' + (w && fmtWR(w.wr) !== '\u2014' ? '<em>' + esc(fmtWR(w.wr)) + '<\/em>' : '') + '<\/div><\/div>';\r\n    }\r\n    $('rkWin').innerHTML = h; h = '';\r\n    $('rkWin').classList.toggle('big', g.win <= 4); $('rkRank').classList.toggle('big', g.rank <= 4);\r\n    var rf = 0;\r\n    for (var j = 0; j < g.rank; j++) {\r\n      var r = full ? d.list[j] : null; if (r) rf++;\r\n      h += '<div class=\"rk-slot' + (r ? ' r' : '') + '\"' + (r ? ' data-nm=\"' + esc(String(r.name).toLowerCase()) + '\"' : '') + '><span>RANK #' + (j + 1) + '<\/span><div class=\"rk-slot-n\"><b>' + (r ? esc(r.name) : 'Open') + '<\/b>' + (r ? '<em>' + esc(fmtWR(r.wr)) + '<\/em>' : '') + '<\/div><\/div>';\r\n    }\r\n    $('rkRank').innerHTML = h;\r\n    $('rkWinCount').textContent = Math.min(d.winners.length, g.win) + '\/' + g.win;\r\n    $('rkRankCount').textContent = rf + '\/' + g.rank;\r\n    $('rkTotal').textContent = (g.win + g.rank) + ' spots';\r\n  }\r\n\r\n  function renderTable() {\r\n    var g = GAMES[S.game], rowsEl = $('rkRows'), pager = $('rkPager');\r\n    pager.innerHTML = '';\r\n    if (STATUS[S.game] === 'loading' || !STATUS[S.game]) { rowsEl.innerHTML = '<div class=\"rk-msg\">\u03a6\u03cc\u03c1\u03c4\u03c9\u03c3\u03b7...<\/div>'; return; }\r\n    if (STATUS[S.game] === 'error') { rowsEl.innerHTML = '<div class=\"rk-msg\" style=\"color:#ff6b6b\">\u0391\u03b4\u03c5\u03bd\u03b1\u03bc\u03af\u03b1 \u03c6\u03cc\u03c1\u03c4\u03c9\u03c3\u03b7\u03c2. \u0391\u03bd\u03b1\u03bd\u03ad\u03c9\u03c3\u03b5 \u03c4\u03b7 \u03c3\u03b5\u03bb\u03af\u03b4\u03b1.<\/div>'; return; }\r\n    var d = split(S.game), q = S.q.toLowerCase().trim();\r\n    var data = q ? d.list.filter(function (r) { return String(r.name).toLowerCase().indexOf(q) !== -1; }) : d.list;\r\n    if (!data.length) { rowsEl.innerHTML = '<div class=\"rk-msg\">' + (d.list.length ? '\u0394\u03b5\u03bd \u03b2\u03c1\u03ad\u03b8\u03b7\u03ba\u03b1\u03bd \u03b1\u03c0\u03bf\u03c4\u03b5\u03bb\u03ad\u03c3\u03bc\u03b1\u03c4\u03b1.' : '\u0394\u03b5\u03bd \u03b2\u03c1\u03ad\u03b8\u03b7\u03ba\u03b1\u03bd \u03b4\u03b5\u03b4\u03bf\u03bc\u03ad\u03bd\u03b1.') + '<\/div>'; return; }\r\n    var total = Math.ceil(data.length \/ PAGE); S.page = Math.min(S.page, total);\r\n    var slice = data.slice((S.page - 1) * PAGE, S.page * PAGE);\r\n    var cutA = d.list[g.rank - 1], cutB = d.list[g.rank];\r\n    var hdr = '<div class=\"rk-cols\"><span><\/span><span>' + g.col + '<\/span><span>Points<\/span><span>Win %<\/span><\/div>';\r\n    var cols = [slice.slice(0, 10), slice.slice(10)].filter(function (c) { return c.length; });\r\n    var html = '<div class=\"rk-split' + (cols.length > 1 ? '' : ' one') + '\">' + cols.map(function (c, ci) {\r\n      return '<div class=\"rk-col' + (ci ? ' b' : '') + '\">' + hdr + c.map(function (r) {\r\n        var cls = 'rk-row' + (r.pos <= g.rank ? ' in' : '') + (!q && r.pos === g.rank ? ' cut' : '');\r\n        return '<div class=\"' + cls + '\" data-nm=\"' + esc(String(r.name).toLowerCase()) + '\"><span class=\"rk-pos\">' + r.pos + '<\/span><span class=\"rk-name\">' + esc(r.name) + '<\/span>' +\r\n          '<span class=\"rk-pts\">' + esc(r.points) + '<\/span><span class=\"rk-wr\">' + esc(fmtWR(r.wr)) + '<\/span><\/div>';\r\n      }).join('') + '<\/div>';\r\n    }).join('') + '<\/div>';\r\n    var zone = $('rkZone');\r\n    if (zone) {\r\n      if (cutA && cutB) { zone.style.display = ''; zone.innerHTML = '<span class=\"rk-zone-k\">\u25b2 QUALIFY ZONE<\/span><span class=\"rk-zone-t\">Top ' + g.rank + ' of the ranking (excluding qualifier winners) become <b>Risers<\/b>.<\/span><span class=\"rk-zone-s\">' + ord(g.rank + 1) + ' place needs <b>' + (num(cutA.points) - num(cutB.points) + 1) + ' pts<\/b> to get in.<\/span>'; }\r\n      else zone.style.display = 'none';\r\n    }\r\n    rowsEl.innerHTML = html;\r\n    if (total > 1) {\r\n      var ph = '<button class=\"rk-pg\" data-pg=\"prev\"' + (S.page === 1 ? ' disabled' : '') + '>\u2039<\/button>';\r\n      for (var i = 1; i <= total; i++) ph += '<button class=\"rk-pg' + (i === S.page ? ' on' : '') + '\" data-pg=\"' + i + '\">' + i + '<\/button>';\r\n      ph += '<button class=\"rk-pg\" data-pg=\"next\"' + (S.page === total ? ' disabled' : '') + '>\u203a<\/button>';\r\n      pager.innerHTML = ph; pager.setAttribute('data-total', total);\r\n    }\r\n  }\r\n\r\n  function renderAll(anim) {\r\n    var g = GAMES[S.game];\r\n    root.style.setProperty('--acc', g.acc);\r\n    $('rkTitle').textContent = g.name;\r\n    $('rkSearch').placeholder = g.ph;\r\n    bindHover(); renderTabs(); renderSide(); renderTable();\r\n    if (anim) reveal(root.querySelectorAll('.rk-title, .rk-slot, .rk-row, .rk-cut'));\r\n  }\r\n\r\n  root.addEventListener('click', function (e) {\r\n    var t = e.target.closest('button'); if (!t || !root.contains(t)) return;\r\n    if (t.hasAttribute('data-game')) {\r\n      var k = t.getAttribute('data-game'); if (k === S.game) return;\r\n      S.game = k; S.page = 1; S.q = ''; $('rkSearch').value = ''; renderAll(true);\r\n    } else if (t.hasAttribute('data-pg') && !t.disabled) {\r\n      var v = t.getAttribute('data-pg'), tot = +$('rkPager').getAttribute('data-total');\r\n      S.page = v === 'prev' ? Math.max(1, S.page - 1) : v === 'next' ? Math.min(tot, S.page + 1) : +v;\r\n      renderTable(); reveal(root.querySelectorAll('.rk-row, .rk-cut'));\r\n      var y = root.getBoundingClientRect().top + window.pageYOffset - 80;\r\n      if (window.pageYOffset > y) window.scrollTo({ top:y, behavior:'smooth' });\r\n    }\r\n  });\r\n  $('rkSearch').addEventListener('input', function (e) { S.q = e.target.value; S.page = 1; renderTable(); });\r\n\r\n  function loadGame(game) {\r\n    STATUS[game] = 'loading';\r\n    fetch(SUPABASE_URL + '\/rest\/v1\/rankings?game=eq.' + game + '&order=id.asc&select=rank_pos,player_name,points,win_rate', {\r\n      headers: { apikey:SUPABASE_KEY, Authorization:'Bearer ' + SUPABASE_KEY }\r\n    }).then(function (r) { return r.json(); }).then(function (rows) {\r\n      DATA[game] = (Array.isArray(rows) ? rows : []).map(function (r) { return { name:r.player_name, points:r.points, wr:r.win_rate }; });\r\n      STATUS[game] = 'ok';\r\n      if (game === S.game) renderAll(true);\r\n      lockHeight();\r\n    }).catch(function () { STATUS[game] = 'error'; if (game === S.game) renderAll(false); });\r\n  }\r\n\r\n  function lockHeight() {\r\n    if (!ORDER.every(function (k) { return STATUS[k] === 'ok' || STATUS[k] === 'error'; })) return;\r\n    var body = root.querySelector('.rk-body'); if (!body || !root.offsetParent) return;\r\n    var keep = { game:S.game, page:S.page, q:S.q }, max = 0;\r\n    body.style.minHeight = '';\r\n    ORDER.forEach(function (k) { S.game = k; S.page = 1; S.q = ''; renderAll(false); max = Math.max(max, body.offsetHeight); });\r\n    S.game = keep.game; S.page = keep.page; S.q = keep.q; renderAll(false);\r\n    if (max) body.style.minHeight = max + 'px';\r\n  }\r\n  window.__rkLock = lockHeight;\r\n  var _rt; window.addEventListener('resize', function () { clearTimeout(_rt); _rt = setTimeout(lockHeight, 200); });\r\n  renderAll(false);\r\n  ORDER.forEach(loadGame);\r\n})();\r\n<\/script>\r\n\r\n  <\/div>\r\n  <div class=\"hub-pane\" data-pane=\"final\">\r\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\r\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\r\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Barlow:wght@400;600;700;800&family=Bebas+Neue&family=Fira+Sans+Extra+Condensed:wght@600;700;800&display=swap\" rel=\"stylesheet\">\r\n<style>\r\n\/* Styled to sit next to the Ranking widget (#vglRk): same card, header, tabs, spacing *\/\r\n#vgl-finals-widget{\r\n  --fn-card:rgba(0,0,0,0.2);--fn-bd:rgba(255,255,255,0.08);--fn-bd2:rgba(255,255,255,0.04);\r\n  --fn-gold:#f0c040;--fn-silver:rgba(192,207,224,0.75);--fn-bronze:rgba(205,127,50,0.85);\r\n  --fn-text:rgba(255,255,255,0.85);--fn-muted:rgba(255,255,255,0.35);--fn-dim:rgba(255,255,255,0.45);\r\n  --fn-accent:#4ade80;\r\n  font-family:'Barlow',sans-serif;color:var(--fn-text);width:100%;min-height:100%;max-width:960px;margin:0 auto;padding:40px 16px 60px;box-sizing:border-box;display:flex;flex-direction:column;\r\n}\r\n#vgl-finals-widget *{box-sizing:border-box;margin:0;padding:0}\r\n#vgl-finals-widget .bb{font-family:'Bebas Neue',sans-serif;font-weight:400}\r\n#vgl-finals-widget .fn-shell{flex:1 0 auto;display:flex;flex-direction:column;background:#1a2332;border:1px solid rgba(255,255,255,0.15);border-radius:12px;overflow:hidden;min-width:0}\r\n\r\n#vgl-finals-widget .fn-top{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:22px 24px 0;border-bottom:1px solid rgba(255,255,255,0.1)}\r\n#vgl-finals-widget .fn-brand{display:flex;align-items:center;gap:14px;padding-bottom:14px}\r\n#vgl-finals-widget .fn-logo{display:block!important;width:56px!important;height:auto!important;margin:0!important;padding:0!important;float:none!important}\r\n#vgl-finals-widget .fn-kicker{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,0.4);font-weight:700;margin-bottom:2px}\r\n#vgl-finals-widget .fn-title{font-family:'Bebas Neue',sans-serif;font-size:48px;letter-spacing:2px;line-height:0.9;color:#fff;font-weight:400}\r\n#vgl-finals-widget .fn-title span{color:var(--fn-gold)}\r\n#vgl-finals-widget .fn-tabs{display:flex;gap:4px;flex-wrap:wrap}\r\n#vgl-finals-widget .fn-tab{font-family:'Barlow',sans-serif;font-size:15px;font-weight:700;letter-spacing:1px;text-transform:uppercase;padding:12px 18px;border:none;border-bottom:3px solid transparent;background:transparent;color:rgba(255,255,255,0.5);cursor:pointer;transition:color .15s,background .15s;white-space:nowrap}\r\n#vgl-finals-widget .fn-tab:hover{color:#fff}\r\n#vgl-finals-widget .fn-tab i{display:none}\r\n#vgl-finals-widget .fn-tab.on[data-g=\"eafc\"]{color:#4ade80;border-bottom-color:#4ade80;background:rgba(255,255,255,0.05)}\r\n#vgl-finals-widget .fn-tab.on[data-g=\"rl\"]{color:#ff6b35;border-bottom-color:#ff6b35;background:rgba(255,255,255,0.05)}\r\n#vgl-finals-widget .fn-tab.on[data-g=\"ef\"]{color:#00d4ff;border-bottom-color:#00d4ff;background:rgba(255,255,255,0.05)}\r\n#vgl-finals-widget .fn-rule{display:none}\r\n\r\n#vgl-finals-widget .fn-content{flex:1;padding:20px;display:flex;flex-direction:column}\r\n#vgl-finals-widget .fn-panel{display:none}\r\n#vgl-finals-widget .fn-panel.show{display:flex;flex-direction:column;gap:16px}\r\n\r\n\/* Cards *\/\r\n#vgl-finals-widget .fn-card{background:var(--fn-card);border:1px solid var(--fn-bd);border-radius:8px;padding:16px 18px 18px;display:flex;flex-direction:column;gap:14px}\r\n#vgl-finals-widget .fn-h{font-family:'Bebas Neue',sans-serif;font-weight:400;font-size:20px;letter-spacing:1.5px;color:#fff}\r\n\r\n\/* Knockout \u2014 hero + strip *\/\r\n#vgl-finals-widget .fn-ko{background:var(--fn-card);border:1px solid var(--fn-bd);border-radius:8px;overflow:hidden;position:relative}\r\n#vgl-finals-widget .fn-ko-h{font-family:'Bebas Neue',sans-serif;font-size:14px;letter-spacing:2px;color:var(--fn-gold);padding:12px 16px 10px;border-bottom:1px solid var(--fn-bd)}\r\n#vgl-finals-widget .fn-hero{padding:28px 24px 22px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:end;background:rgba(240,192,64,0.06);border-bottom:1px solid rgba(240,192,64,0.25)}\r\n#vgl-finals-widget .fn-hero-l{display:flex;flex-direction:column;gap:8px;min-width:0}\r\n#vgl-finals-widget .fn-eyebrow{font-family:'Bebas Neue',sans-serif;font-size:13px;letter-spacing:3px;color:var(--fn-gold)}\r\n#vgl-finals-widget .fn-champ{display:block;font-family:'Fira Sans Extra Condensed',sans-serif;font-weight:800;font-size:clamp(36px,6vw,64px);line-height:.9;letter-spacing:1px;text-transform:uppercase;color:#f5d56a;overflow-wrap:anywhere;align-self:flex-start}\r\n#vgl-finals-widget .fn-champ.tbd{color:rgba(255,255,255,0.3);font-size:clamp(28px,4.5vw,44px)}\r\n#vgl-finals-widget .fn-champ-pl{font-size:14px;font-weight:600;color:rgba(255,255,255,0.7)}\r\n#vgl-finals-widget .fn-hero-r{display:flex;flex-direction:column;align-items:flex-end;gap:6px;text-align:right}\r\n#vgl-finals-widget .fn-big{font-family:'Bebas Neue',sans-serif;font-size:clamp(36px,5vw,52px);line-height:.9;letter-spacing:2px;color:#fff}\r\n#vgl-finals-widget .fn-vs{font-family:'Bebas Neue',sans-serif;font-size:12px;letter-spacing:2px;color:rgba(255,255,255,0.5)}\r\n#vgl-finals-widget .fn-vs b{font-family:'Fira Sans Extra Condensed',sans-serif;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:rgba(255,255,255,0.75)}\r\n#vgl-finals-widget .fn-pod{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--fn-bd);border-bottom:1px solid var(--fn-bd)}\r\n#vgl-finals-widget .fn-pod-c{background:#1a2332;padding:14px 18px;display:flex;align-items:center;gap:14px}\r\n#vgl-finals-widget .fn-pod-n{font-family:'Bebas Neue',sans-serif;font-size:34px;line-height:1;width:22px;flex-shrink:0}\r\n#vgl-finals-widget .fn-pod-c.s .fn-pod-n,#vgl-finals-widget .fn-pod-c.s .fn-pod-l{color:var(--fn-silver)}\r\n#vgl-finals-widget .fn-pod-c.b .fn-pod-n,#vgl-finals-widget .fn-pod-c.b .fn-pod-l{color:var(--fn-bronze)}\r\n#vgl-finals-widget .fn-pod-l{font-family:'Bebas Neue',sans-serif;font-size:11px;letter-spacing:2px}\r\n#vgl-finals-widget .fn-pod-t{font-family:'Fira Sans Extra Condensed',sans-serif;font-weight:700;font-size:18px;line-height:1.1;text-transform:uppercase;color:#fff;overflow-wrap:anywhere}\r\n#vgl-finals-widget .fn-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--fn-bd)}\r\n#vgl-finals-widget .fn-m{background:#1a2332;padding:12px 16px;display:flex;flex-direction:column;gap:8px;min-width:0}\r\n#vgl-finals-widget .fn-m-lbl{font-family:'Bebas Neue',sans-serif;font-size:11px;letter-spacing:2px;color:var(--fn-dim)}\r\n#vgl-finals-widget .fn-m.final .fn-m-lbl{color:var(--fn-gold)}\r\n#vgl-finals-widget .fn-t{display:flex;justify-content:space-between;align-items:center;gap:8px;border-radius:3px;padding:2px 4px;margin:0 -4px}\r\n#vgl-finals-widget .fn-t-info{display:flex;flex-direction:column;min-width:0}\r\n#vgl-finals-widget .fn-t-name{font-family:'Fira Sans Extra Condensed',sans-serif;font-weight:700;font-size:15px;line-height:1.15;text-transform:uppercase;color:rgba(255,255,255,0.45);overflow-wrap:anywhere}\r\n#vgl-finals-widget .fn-t-pl{font-size:11px;font-weight:600;color:rgba(255,255,255,0.35);margin-top:1px;overflow-wrap:anywhere}\r\n#vgl-finals-widget .fn-t-sc{font-family:'Bebas Neue',sans-serif;font-size:19px;color:rgba(255,255,255,0.4);flex-shrink:0}\r\n#vgl-finals-widget .fn-t.win .fn-t-name{color:#fff}\r\n#vgl-finals-widget .fn-t.win .fn-t-pl{color:rgba(255,255,255,0.65)}\r\n#vgl-finals-widget .fn-t.win .fn-t-sc{color:var(--fn-gold)}\r\n#vgl-finals-widget .fn-t.tbd .fn-t-name{color:rgba(255,255,255,0.6)}\r\n#vgl-finals-widget .fn-t.tbd .fn-t-name:only-child{font-style:italic;color:rgba(255,255,255,0.3)}\r\n#vgl-finals-widget .fn-hero .fn-pod{grid-column:1\/-1;display:flex;flex-wrap:wrap;gap:16px 40px;background:none;border-bottom:none;border-top:1px solid rgba(240,192,64,0.18);padding-top:16px;margin-top:4px}\r\n#vgl-finals-widget .fn-hero .fn-pod-c{background:none;padding:0;gap:12px}\r\n#vgl-finals-widget .fn-hero .fn-pod-n{font-size:30px}\r\n\r\n\/* Standings *\/\r\n#vgl-finals-widget .fn-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}\r\n@media (max-width:600px){#vgl-finals-widget .fn-groups{grid-template-columns:1fr}}\r\n#vgl-finals-widget .fn-srow .n{text-align:center;color:rgba(255,255,255,0.55);font-weight:600;font-size:12.5px}\r\n#vgl-finals-widget .fn-srow .n.w{color:rgba(74,222,128,0.85)}\r\n#vgl-finals-widget .fn-srow .n.l{color:rgba(248,113,113,0.8)}\r\n#vgl-finals-widget .fn-srow.fn-shead{padding:6px 4px 4px;font-size:10px;letter-spacing:1px;font-weight:700}\r\n#vgl-finals-widget .fn-srow.fn-shead span,#vgl-finals-widget .fn-srow.fn-shead .n,#vgl-finals-widget .fn-srow.fn-shead .pts{color:rgba(255,255,255,0.35);font-family:'Barlow',sans-serif;font-size:10px}\r\n#vgl-finals-widget .fn-group{background:var(--fn-card);border:1px solid var(--fn-bd);border-radius:8px;padding:12px 14px}\r\n#vgl-finals-widget .fn-group-h{display:flex;justify-content:space-between;font-family:'Bebas Neue',sans-serif;letter-spacing:2px;font-size:16px;color:var(--fn-gold);padding-bottom:6px;border-bottom:1px solid rgba(240,192,64,0.2)}\r\n#vgl-finals-widget .fn-group-h span:last-child:not(:first-child){color:var(--fn-muted);font-size:13px}\r\n#vgl-finals-widget .fn-srow{position:relative;display:grid;grid-template-columns:16px minmax(0,1fr) 20px 20px 20px 20px 30px 28px;gap:6px;align-items:center;padding:7px 6px 7px 12px;margin:0 -6px;border-bottom:1px solid var(--fn-bd2);font-size:13px;border-radius:3px}\r\n#vgl-finals-widget .fn-srow:last-child{border-bottom:none}\r\n#vgl-finals-widget .fn-srow .pos{font-family:'Bebas Neue',sans-serif;font-size:15px;color:var(--fn-muted)}\r\n#vgl-finals-widget .fn-srow .tm{font-weight:700;color:rgba(255,255,255,0.6);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\r\n#vgl-finals-widget .fn-srow .gd{text-align:right;color:rgba(255,255,255,0.4);font-weight:600}\r\n#vgl-finals-widget .fn-srow .pts{text-align:right;font-family:'Bebas Neue',sans-serif;font-size:16px;color:var(--fn-gold)}\r\n#vgl-finals-widget .fn-srow.q1 .pos{color:var(--fn-gold)}\r\n#vgl-finals-widget .fn-srow.q2 .pos{color:var(--fn-silver)}\r\n#vgl-finals-widget .fn-srow.q1 .tm,#vgl-finals-widget .fn-srow.q2 .tm{color:#fff}\r\n#vgl-finals-widget .fn-srow.q1,#vgl-finals-widget .fn-srow.q2{background:rgba(74,222,128,0.05)}\r\n#vgl-finals-widget .fn-srow.q1::before,#vgl-finals-widget .fn-srow.q2::before{content:'';position:absolute;left:2px;top:6px;bottom:6px;width:3px;border-radius:2px;background:rgba(74,222,128,0.7)}\r\n#vgl-finals-widget .fn-srow.fn-shead{padding-left:12px}\r\n#vgl-finals-widget .fn-group{display:flex;flex-direction:column}\r\n#vgl-finals-widget .fn-gq{margin-top:auto;padding-top:10px;font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:rgba(74,222,128,0.8)}\r\n#vgl-finals-widget .fn-cols{display:flex;flex-direction:column;gap:16px}\r\n#vgl-finals-widget .fn-kc{gap:16px}\r\n#vgl-finals-widget .fn-kr{display:flex;flex-direction:column;gap:8px}\r\n#vgl-finals-widget .fn-kr-h{font-size:10.5px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,0.45)}\r\n#vgl-finals-widget .fn-kr-h.gold{color:var(--fn-gold)}\r\n#vgl-finals-widget .fn-kc .fn-strip{background:none;gap:8px}\r\n#vgl-finals-widget .fn-kc .fn-m{min-height:104px;justify-content:space-between;border:1px solid var(--fn-bd);border-radius:8px;background:rgba(255,255,255,0.03)}\r\n#vgl-finals-widget .fn-kc .fn-m.final{border-color:rgba(240,192,64,0.35);background:rgba(240,192,64,0.07)}\r\n@media (min-width:1000px){#vgl-finals-widget .fn-colL > .fn-kc{flex:1}}\r\n#vgl-finals-widget .fn-cbar{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:16px 22px;border-radius:10px;background:linear-gradient(90deg,rgba(240,192,64,0.14),rgba(240,192,64,0.03));border:1px solid rgba(240,192,64,0.3)}\r\n#vgl-finals-widget .fn-cbar-l{display:flex;align-items:center;gap:18px;min-width:0;flex-wrap:wrap}\r\n#vgl-finals-widget .fn-cbar .fn-champ{font-size:clamp(30px,3.4vw,44px)}\r\n#vgl-finals-widget .fn-cbar-r{display:flex;gap:26px;flex-wrap:wrap}\r\n#vgl-finals-widget .fn-cb-m{display:flex;align-items:center;gap:10px;border-radius:6px;padding:2px 4px}\r\n#vgl-finals-widget .fn-cb-n{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Bebas Neue',sans-serif;font-size:18px;color:#1a2332;flex-shrink:0}\r\n#vgl-finals-widget .fn-cb-m.s .fn-cb-n{background:linear-gradient(145deg,#f1f5f9,#94a3b8);box-shadow:0 0 0 3px rgba(203,213,225,0.15)}\r\n#vgl-finals-widget .fn-cb-m.b .fn-cb-n{background:linear-gradient(145deg,#f0b27a,#a0522d);box-shadow:0 0 0 3px rgba(205,127,50,0.15)}\r\n#vgl-finals-widget .fn-cb-i{display:flex;flex-direction:column;gap:1px}\r\n#vgl-finals-widget .fn-cb-l{font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase}\r\n#vgl-finals-widget .fn-cb-m.s .fn-cb-l{color:#cbd5e1}\r\n#vgl-finals-widget .fn-cb-m.b .fn-cb-l{color:#e0a370}\r\n#vgl-finals-widget .fn-cb-t{font-family:'Fira Sans Extra Condensed',sans-serif;font-weight:800;font-size:19px;line-height:1;text-transform:uppercase;color:#fff}\r\n#vgl-finals-widget .fn-gs-top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}\r\n#vgl-finals-widget .fn-seg{display:flex;gap:2px;padding:3px;border-radius:8px;background:rgba(0,0,0,0.25);border:1px solid rgba(255,255,255,0.08)}\r\n#vgl-finals-widget .fn-seg-b{font-family:'Barlow',sans-serif;font-size:11.5px;font-weight:700;letter-spacing:1px;text-transform:uppercase;padding:6px 14px;border:none;border-radius:6px;background:transparent;color:rgba(255,255,255,0.6);cursor:pointer;transition:background .15s,color .15s}\r\n#vgl-finals-widget .fn-seg-b:hover{color:#fff}\r\n#vgl-finals-widget .fn-seg-b.on{background:#00c8ff;color:#06121c}\r\n#vgl-finals-widget .fn-gs .fn-card{background:none;border:none;padding:0}\r\n#vgl-finals-widget .fn-gs .off{display:none}\r\n@media (min-width:1000px){\r\n  #vgl-finals-widget .fn-gs{display:grid;grid-template-columns:minmax(0,1fr);row-gap:14px;align-content:start}\r\n  #vgl-finals-widget .fn-gs-st,#vgl-finals-widget .fn-gs-rs{grid-row:2;grid-column:1;min-width:0}\r\n  #vgl-finals-widget .fn-gs .off{display:block;visibility:hidden!important;pointer-events:none!important}\r\n  #vgl-finals-widget .fn-gs-st:not(.off),#vgl-finals-widget .fn-gs-rs:not(.off){visibility:inherit;pointer-events:inherit}\r\n  #vgl-finals-widget .fn-content{display:grid!important;grid-template-columns:minmax(0,1fr)}\r\n  #vgl-finals-widget .fn-panel{grid-area:1\/1;display:flex!important;flex-direction:column;gap:16px;visibility:hidden;pointer-events:none;min-width:0}\r\n  #vgl-finals-widget .fn-panel.show{visibility:inherit;pointer-events:inherit}\r\n  #vgl-finals-widget .fn-panel .fn-cols{flex:1}\r\n  #vgl-finals-widget .fn-colR > .fn-gs{flex:1;grid-template-rows:auto 1fr}\r\n  #vgl-finals-widget .fn-gs-st{display:flex;flex-direction:column}\r\n  #vgl-finals-widget .fn-gs-st > .fn-groups.few{flex:1}\r\n  #vgl-finals-widget .fn-groups.few{grid-template-columns:minmax(0,1fr);grid-auto-rows:1fr;justify-items:center}\r\n  #vgl-finals-widget .fn-groups.few .fn-group{width:100%;max-width:480px}\r\n  #vgl-finals-widget .fn-groups.few .fn-srow:not(.fn-shead){flex:1 1 auto}\r\n}\r\n#vgl-finals-widget .fn-gs-rs .fn-res-top .fn-h{display:none}\r\n@media (max-width:600px){#vgl-finals-widget .fn-cbar{padding:14px 16px}#vgl-finals-widget .fn-cbar-r{gap:14px}}\r\n#vgl-finals-widget .fn-colL,#vgl-finals-widget .fn-colR{display:flex;flex-direction:column;gap:16px;min-width:0}\r\n@media (min-width:1000px){\r\n  #vgl-finals-widget .fn-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:stretch}\r\n  #vgl-finals-widget .fn-cols.one{grid-template-columns:1fr}\r\n  #vgl-finals-widget .fn-colR .fn-groups{align-content:start}\r\n  #vgl-finals-widget .fn-colR > .fn-card:last-child{flex:1}\r\n}\r\n\/* podium medals *\/\r\n#vgl-finals-widget .fn-hero .fn-pod{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:6px -24px -22px;padding:0;border-top:1px solid rgba(240,192,64,0.2)}\r\n#vgl-finals-widget .fn-hero .fn-pod-c{padding:12px 24px;gap:12px}\r\n#vgl-finals-widget .fn-hero .fn-pod-c.s{background:rgba(203,213,225,0.06);border-right:1px solid rgba(255,255,255,0.08)}\r\n#vgl-finals-widget .fn-hero .fn-pod-c.b{background:rgba(205,127,50,0.06)}\r\n#vgl-finals-widget .fn-hero .fn-pod-n{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;color:#1a2332!important}\r\n#vgl-finals-widget .fn-hero .fn-pod-c.s .fn-pod-n{background:linear-gradient(145deg,#f1f5f9,#94a3b8);box-shadow:0 0 0 3px rgba(203,213,225,0.15)}\r\n#vgl-finals-widget .fn-hero .fn-pod-c.b .fn-pod-n{background:linear-gradient(145deg,#f0b27a,#a0522d);box-shadow:0 0 0 3px rgba(205,127,50,0.15)}\r\n#vgl-finals-widget .fn-hero .fn-pod-c.b .fn-pod-l{color:#e0a370}\r\n#vgl-finals-widget .fn-hero .fn-pod-t{font-size:20px}\r\n@media (max-width:600px){#vgl-finals-widget .fn-hero .fn-pod{grid-template-columns:1fr;margin:6px -16px -18px}#vgl-finals-widget .fn-hero .fn-pod-c{padding:10px 16px}#vgl-finals-widget .fn-hero .fn-pod-c.s{border-right:none;border-bottom:1px solid rgba(255,255,255,0.08)}}\r\n#vgl-finals-widget .fn-seed{font-size:10px;color:var(--fn-muted);font-weight:400;margin-left:4px}\r\n\r\n\/* Group results *\/\r\n#vgl-finals-widget .fn-res-top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}\r\n#vgl-finals-widget .fn-gtabs{display:flex;gap:6px;flex-wrap:wrap}\r\n#vgl-finals-widget .fn-gtab{font-family:'Barlow',sans-serif;font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;padding:7px 12px;border-radius:8px;cursor:pointer;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.1);color:rgba(255,255,255,0.5);transition:all .18s}\r\n#vgl-finals-widget .fn-gtab:hover{color:#fff}\r\n#vgl-finals-widget .fn-gtab.on{border-color:var(--fn-gold);color:var(--fn-gold)}\r\n#vgl-finals-widget .fn-res{display:grid;grid-template-columns:1fr;gap:0}\r\n#vgl-finals-widget .fn-rm{display:grid;grid-template-columns:56px minmax(0,1fr) 52px minmax(0,1fr);gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid rgba(255,255,255,0.05)}\r\n#vgl-finals-widget .fn-rm-date{font-size:11px;font-weight:600;color:var(--fn-dim)}\r\n#vgl-finals-widget .fn-rm-side{min-width:0;padding:3px 6px;border-radius:3px}\r\n#vgl-finals-widget .fn-rm-side.h{text-align:right}\r\n#vgl-finals-widget .fn-rm-team{font-size:13.5px;font-weight:700;color:var(--fn-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\r\n#vgl-finals-widget .fn-rm-team.w{color:var(--fn-gold)}\r\n#vgl-finals-widget .fn-rm-pl{font-size:10.5px;font-style:italic;color:rgba(255,255,255,0.3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\r\n#vgl-finals-widget .fn-rm-sc{font-family:'Bebas Neue',sans-serif;font-size:17px;letter-spacing:1px;text-align:center;color:var(--fn-gold);background:rgba(240,192,64,0.08);border:1px solid rgba(240,192,64,0.25);border-radius:3px;padding:2px 0}\r\n#vgl-finals-widget .fn-rm-sc.t{color:rgba(255,255,255,0.35);background:rgba(255,255,255,0.04);border-color:var(--fn-bd)}\r\n\r\n#vgl-finals-widget .fn-loading{min-height:420px}\r\n#vgl-finals-widget .fn-soon{text-align:center;padding:60px 20px;font-family:'Bebas Neue',sans-serif;font-size:1.1rem;letter-spacing:3px;color:rgba(255,255,255,0.2)}\r\n#vgl-finals-widget .fn-updated{text-align:right;font-size:11px;font-style:italic;color:rgba(255,255,255,0.25);padding:0 20px 14px}\r\n\r\n\/* Hover highlight *\/\r\n#vgl-finals-widget [data-team]{transition:background .15s,opacity .15s,box-shadow .15s}\r\n#vgl-finals-widget.fn-hovering .fn-t:not(.hl),#vgl-finals-widget.fn-hovering .fn-pod-c:not(.hl),#vgl-finals-widget.fn-hovering .fn-srow:not(.hl),#vgl-finals-widget.fn-hovering .fn-rm-side:not(.hl){opacity:.4}\r\n#vgl-finals-widget [data-team].hl{background:rgba(240,192,64,0.12);box-shadow:inset 2px 0 0 var(--fn-gold)}\r\n#vgl-finals-widget .fn-pod-c.hl{background:none;box-shadow:none}\r\n#vgl-finals-widget .fn-pod-c.hl .fn-pod-t{color:var(--fn-gold)}\r\n#vgl-finals-widget .fn-pod-c .fn-pod-t,#vgl-finals-widget .fn-pod-c .fn-pod-n{transition:color .2s,text-shadow .2s,transform .25s cubic-bezier(.2,.8,.2,1);transform-origin:left center}\r\n#vgl-finals-widget .fn-pod-c.hl .fn-pod-t{transform:scale(1.06)}\r\n#vgl-finals-widget .fn-pod-c.hl .fn-pod-n{transform:scale(1.1);text-shadow:0 0 18px currentColor}\r\n#vgl-finals-widget .fn-champ-w{align-self:flex-start;display:flex;align-items:flex-start;gap:10px;cursor:default;min-width:0;max-width:100%}\r\n#vgl-finals-widget .fn-champ-w.hl{background:none!important;box-shadow:none!important}\r\n#vgl-finals-widget .fn-champ-c{display:flex;flex-direction:column;gap:6px;min-width:0}\r\n#vgl-finals-widget .fn-champ-ul{display:block;height:3px;width:0;background:var(--fn-gold);border-radius:2px;transition:width .4s cubic-bezier(.2,.8,.2,1)}\r\n#vgl-finals-widget .fn-champ-w.hl .fn-champ-ul{width:100%}\r\n#vgl-finals-widget .fn-champ-1{flex-shrink:0;font-family:'Bebas Neue',sans-serif;font-size:13px;letter-spacing:2px;line-height:1;color:#0d1520;background:var(--fn-gold);border-radius:3px;padding:4px 7px 3px;opacity:0;transform:translateY(6px);transition:opacity .3s,transform .3s cubic-bezier(.2,.8,.2,1)}\r\n#vgl-finals-widget .fn-champ-w.hl .fn-champ-1{opacity:1;transform:none;transition-delay:.2s}\r\n#vgl-finals-widget [data-team].hl .tm,#vgl-finals-widget [data-team].hl .fn-rm-team{color:#fff}\r\n\r\n@media (max-width:760px){\r\n  #vgl-finals-widget{padding:24px 10px 40px}\r\n  #vgl-finals-widget .fn-top{padding:18px 14px 0}\r\n  #vgl-finals-widget .fn-brand{padding-bottom:6px}\r\n  #vgl-finals-widget .fn-title{font-size:38px}\r\n  #vgl-finals-widget .fn-logo{width:44px!important}\r\n  #vgl-finals-widget .fn-tabs{width:100%}\r\n  #vgl-finals-widget .fn-tab{flex:1;padding:10px 6px;font-size:12px}\r\n  #vgl-finals-widget .fn-content{padding:14px 12px}\r\n  #vgl-finals-widget .fn-card{padding:14px}\r\n  #vgl-finals-widget .fn-rm{grid-template-columns:44px minmax(0,1fr) 48px minmax(0,1fr);gap:8px}\r\n  #vgl-finals-widget .fn-updated{padding:0 12px 12px}\r\n}\r\n@media (max-width:600px){\r\n  #vgl-finals-widget .fn-hero{grid-template-columns:1fr;padding:22px 16px 18px;gap:14px}\r\n  #vgl-finals-widget .fn-hero-r{align-items:flex-start;text-align:left}\r\n  #vgl-finals-widget .fn-strip,#vgl-finals-widget .fn-pod{grid-template-columns:1fr}\r\n}\r\n<\/style>\r\n<div id=\"vgl-finals-widget\" translate=\"no\" class=\"notranslate\">\r\n <div class=\"fn-shell\">\r\n  <div class=\"fn-top\">\r\n    <div class=\"fn-brand\">\r\n      <img decoding=\"async\" class=\"fn-logo\" src=\"https:\/\/vglesports.com\/wp-content\/uploads\/2026\/08\/RoC-Logomain1-1.png\" alt=\"Rise of Champions\" loading=\"lazy\">\r\n      <div>\r\n        <div class=\"fn-kicker\">Rise of Champions \u00b7 Season 1<\/div>\r\n        <div class=\"fn-title\">Final <span>Stage<\/span><\/div>\r\n      <\/div>\r\n    <\/div>\r\n    <div class=\"fn-tabs\">\r\n      <button class=\"fn-tab\" data-g=\"eafc\" onclick=\"fnSwitch('eafc')\"><i><\/i>EA FC<\/button>\r\n      <button class=\"fn-tab\" data-g=\"rl\" onclick=\"fnSwitch('rl')\"><i><\/i>Rocket League<\/button>\r\n      <button class=\"fn-tab\" data-g=\"ef\" onclick=\"fnSwitch('ef')\" style=\"text-transform:none\"><i><\/i>eFOOTBALL<\/button>\r\n    <\/div>\r\n  <\/div>\r\n  <div class=\"fn-rule\" id=\"fn-rule\"><\/div>\r\n\r\n  <div class=\"fn-content\">\r\n    <div class=\"fn-panel\" id=\"fn-eafc\"><div class=\"fn-loading\" id=\"fn-eafc-load\"><\/div><div id=\"fn-eafc-body\" style=\"display:contents\"><\/div><\/div>\r\n    <div class=\"fn-panel\" id=\"fn-rl\"><div class=\"fn-loading\" id=\"fn-rl-load\"><\/div><div id=\"fn-rl-body\" style=\"display:contents\"><\/div><\/div>\r\n    <div class=\"fn-panel\" id=\"fn-ef\"><div class=\"fn-loading\" id=\"fn-ef-load\"><\/div><div id=\"fn-ef-body\" style=\"display:contents\"><\/div><\/div>\r\n  <\/div>\r\n\r\n  <div class=\"fn-updated\" id=\"fn-ts\"><\/div>\r\n <\/div>\r\n<\/div>\r\n\r\n<script>\r\n(function(){\r\n  const root=document.getElementById('vgl-finals-widget'); if(!root) return;\r\n  const lockNode=n=>{ if(n.nodeType!==1) return; n.setAttribute('translate','no'); n.classList.add('notranslate'); n.setAttribute('data-no-translation',''); n.setAttribute('data-trp-no-translate',''); };\r\n  const lockTree=el=>{ lockNode(el); el.querySelectorAll('*').forEach(lockNode); };\r\n  lockTree(root);\r\n  new MutationObserver(ms=>ms.forEach(m=>{ m.addedNodes.forEach(n=>{ if(n.nodeType===1) lockTree(n); }); if(m.type==='characterData'&&m.target.parentElement) lockNode(m.target.parentElement); })).observe(root,{childList:true,subtree:true,characterData:true});\r\n  let t=0; const iv=setInterval(()=>{ lockTree(root); if(++t>=6) clearInterval(iv); },800);\r\n})();\r\n\r\nconst FN_SHEET = {\r\n  rl:   'https:\/\/docs.google.com\/spreadsheets\/d\/e\/2PACX-1vQ7XPmTERn8ypG2cKhJPybs2ztp8zh5PDqS1EmIl-XnroKRjn_sScbb7ke79QcHkn6Txmn9pS7bBgT6\/pub?gid=1286950606&single=true&output=csv',\r\n  eafc: 'https:\/\/docs.google.com\/spreadsheets\/d\/e\/2PACX-1vQ7XPmTERn8ypG2cKhJPybs2ztp8zh5PDqS1EmIl-XnroKRjn_sScbb7ke79QcHkn6Txmn9pS7bBgT6\/pub?gid=1193440293&single=true&output=csv',\r\n  ef:   'https:\/\/docs.google.com\/spreadsheets\/d\/e\/2PACX-1vQ7XPmTERn8ypG2cKhJPybs2ztp8zh5PDqS1EmIl-XnroKRjn_sScbb7ke79QcHkn6Txmn9pS7bBgT6\/pub?gid=1849168027&single=true&output=csv'\r\n};\r\nconst FN_MATCHES_CSV = 'https:\/\/docs.google.com\/spreadsheets\/d\/e\/2PACX-1vRwYEJQQvu8A5aCzPtb_vlK-bUTSpKHNq1pGQo_IrScbTshZayVbwL1S6AMODASFA\/pub?gid=2085879533&single=true&output=csv';\r\nconst FN_ACCENT = { eafc:'#4ade80', rl:'#ff6b35', ef:'#00d4ff' };\r\nconst FN_GAME_MATCH = { eafc:g=>\/eafc\/i.test(g), rl:g=>\/rocket\\s*league\/i.test(g), ef:g=>\/efootball\/i.test(g) };\r\nconst fnIsRoC26 = e=>\/roc\\s*26\/i.test(e||'');\r\nconst fnIsKnockoutPhase = p=>!!(p && !\/^group\/i.test(p.trim()));\r\nconst FN_LOADED={}, FN_GRP={}, FN_SHOWN={};\r\nlet FN_CUR='eafc', FN_MATCHES_DB=null;\r\n\r\nconst fnKey = t=>String(t||'').replace(\/\\s*\\(\\s*\\d+\\s*\\)\\s*$\/,'').trim().toLowerCase();\r\nconst fnDT = t=>{ const k=fnKey(t); return k&&k!=='tbd'?' data-team=\"'+esc(k)+'\"':''; };\r\nconst esc = s=>String(s==null?'':s).replace(\/[&<>\"]\/g,c=>({'&':'&amp;','<':'&lt;','>':'&gt;','\"':'&quot;'}[c]));\r\n\r\nfunction fnCSVLine(line){\r\n  const res=[]; let cur='', q=false;\r\n  for(let i=0;i<line.length;i++){ const c=line[i];\r\n    if(c==='\"'&&!q){q=true;continue} if(c==='\"'&&q){q=false;continue}\r\n    if(c===','&&!q){res.push(cur.trim());cur='';continue} cur+=c; }\r\n  res.push(cur.trim()); return res;\r\n}\r\nfunction fnParseVGLDate(s){\r\n  if(!s) return 0; const p=s.trim().split('\/'); if(p.length<3) return 0;\r\n  let d=+p[0], m=+p[1], y=+p[2]; if(isNaN(d)||isNaN(m)||isNaN(y)) return 0; if(y<100) y+=2000;\r\n  return new Date(y,m-1,d).getTime();\r\n}\r\nfunction fnParseScore(s){ const m=(s||'').match(\/(\\d+)\\s*[-\u2013]\\s*(\\d+)\/); return m?{h:+m[1],a:+m[2]}:null; }\r\nconst fnGroupLetter = s=>{ const m=(s||'').match(\/([A-Z])\\s*$\/i); return m?m[1].toUpperCase():''; };\r\n\r\nfunction fnParseMatchesDB(txt){\r\n  const rows=txt.split('\\n').map(l=>l.replace(\/\\r$\/,'')).map(fnCSVLine), out=[];\r\n  let hi=-1;\r\n  for(let i=0;i<rows.length;i++){ const r=rows[i]; if(r[0]&&r[0].trim().toLowerCase()==='event'&&r.some(c=>c&&c.trim().toLowerCase()==='phase')){hi=i;break;} }\r\n  if(hi===-1) return out;\r\n  const hdr=rows[hi].map(c=>(c||'').trim().toLowerCase()), ix=n=>hdr.indexOf(n);\r\n  const I={ev:ix('event'),gm:ix('game'),dt:ix('date'),ph:ix('phase'),h:ix('home'),a:ix('away'),rs:ix('result'),tm:ix('match time'),\r\n    h1:ix('h-player 1'),h2:ix('h-player 2'),h3:ix('h-player 3'),a1:ix('a-player 1'),a2:ix('a-player 2'),a3:ix('a-player 3')};\r\n  for(let i=hi+1;i<rows.length;i++){\r\n    const r=rows[i]; if(!r||r.every(c=>!c)) continue;\r\n    const ev=(r[I.ev]||'').trim(); if(!ev) continue;\r\n    out.push({ event:ev, game:(r[I.gm]||'').trim(), date:(r[I.dt]||'').trim(), phase:(r[I.ph]||'').trim(),\r\n      home:(r[I.h]||'').trim(), away:(r[I.a]||'').trim(), result:(r[I.rs]||'').trim(), time:(r[I.tm]||'').trim(),\r\n      hp:[r[I.h1],r[I.h2],r[I.h3]].filter(Boolean).map(s=>s.trim()).join(' \u00b7 '),\r\n      ap:[r[I.a1],r[I.a2],r[I.a3]].filter(Boolean).map(s=>s.trim()).join(' \u00b7 ') });\r\n  }\r\n  return out;\r\n}\r\nconst FN_LS='vglfn1_';\r\nconst fnCGet=k=>{ try{ return localStorage.getItem(FN_LS+k); }catch(e){ return null; } };\r\nconst fnCSet=(k,v)=>{ try{ localStorage.setItem(FN_LS+k,v); }catch(e){} };\r\nconst fnGet=url=>fetch(url+'&_='+Date.now(),{cache:'no-store'}).then(r=>{ if(!r.ok) throw 0; return r.text(); });\r\nlet FN_DB_P=null;\r\nfunction fnFetchMatchesDB(){\r\n  if(!FN_DB_P) FN_DB_P=fnGet(FN_MATCHES_CSV).then(t=>{ fnCSet('db',t); FN_MATCHES_DB=fnParseMatchesDB(t); return FN_MATCHES_DB; })\r\n    .catch(()=>{ FN_DB_P=null; return FN_MATCHES_DB||[]; });\r\n  return FN_DB_P;\r\n}\r\nfunction fnParse(txt){\r\n  const lines=txt.split('\\n').map(l=>l.replace(\/\\r$\/,''));\r\n  const d={updatedAt:'',groups:{},groupMatches:[],knockout:[]};\r\n  let sec=null, grp=null;\r\n  for(const line of lines){\r\n    const c=fnCSVLine(line), f=c[0]||'', rt=c.join(' ').toLowerCase();\r\n    if(f.startsWith('Updated:')){ d.updatedAt=f.replace('Updated:','').trim(); continue; }\r\n    if(c.every(x=>!x)) continue;\r\n    if(['#','Pos','\u0397\u03bc\/\u03bd\u03af\u03b1'].some(h=>f.startsWith(h))) continue;\r\n    if(rt.includes('knockout')){ sec='knockout'; continue; }\r\n    if(rt.includes('qualified')||rt.includes('\u03c0\u03c1\u03bf\u03ba\u03c1\u03b9\u03b8')){ sec='qualified'; continue; }\r\n    if(f.startsWith('\ud83d\udcc5')||f.includes('\u0391\u03b3\u03ce\u03bd\u03b5\u03c2')||f.includes('Group Stage')){ sec='matches'; grp=null; continue; }\r\n    const gm=f.match(\/^Group\\s+([A-Z])$\/i);\r\n    if(gm){ grp='Group '+gm[1].toUpperCase(); if(!d.groups[grp]) d.groups[grp]=[]; sec='standings'; continue; }\r\n    if(sec==='standings'&&grp){ const pos=parseInt(f); if(!isNaN(pos)&&c[1]) d.groups[grp].push({pos,team:c[1],p:c[2]||'',w:c[3]||'0',dr:c[4]||'0',l:c[5]||'0',gd:c[8]||'',pts:c[9]||'0'}); }\r\n    if(sec==='matches'){\r\n      if(f&&c[4]&&c[6]) d.groupMatches.push({date:f,group:c[2]||'',home:c[4],away:c[6],score:c[8]||'',hp:'',ap:''});\r\n      else if(!f&&c[4]&&d.groupMatches.length){ const l=d.groupMatches[d.groupMatches.length-1]; l.hp=c[4]; l.ap=c[6]||''; }\r\n    }\r\n    if(sec==='knockout'){\r\n      if(f&&c[4]&&c[6]) d.knockout.push({date:f,phase:c[2]||'Knockout',home:c[4],away:c[6],score:c[8]||'',hp:'',ap:''});\r\n      else if(!f&&c[4]&&d.knockout.length){ const l=d.knockout[d.knockout.length-1]; l.hp=c[4]; l.ap=c[6]||''; }\r\n    }\r\n  }\r\n  return d;\r\n}\r\n\r\nfunction fnPlayerMap(d){\r\n  const map={}, add=(t,p)=>{ if(t&&p&&!map[t]) map[t]=p; };\r\n  d.groupMatches.forEach(m=>{add(m.home,m.hp);add(m.away,m.ap);});\r\n  d.knockout.forEach(m=>{add(m.home,m.hp);add(m.away,m.ap);});\r\n  return map;\r\n}\r\nconst fnPhase = (ko,names)=>ko.filter(m=>names.includes((m.phase||'').trim().toLowerCase())).sort((a,b)=>fnParseVGLDate(a.date)-fnParseVGLDate(b.date));\r\n\r\nconst FN_GNAME={eafc:'EA FC 26',rl:'Rocket League',ef:'eFOOTBALL'};\r\nfunction fnRes(m){ if(!m) return null; const s=fnParseScore(m.score), done=!!(s&&s.h!==s.a); return {m,s,done,w:done?(s.h>s.a?'h':'a'):null}; }\r\nfunction fnSide(r,sd,pm){ const t=sd==='h'?r.m.home:r.m.away; return {t,p:(sd==='h'?r.m.hp:r.m.ap)||pm[t]||'',sc:r.s?(sd==='h'?r.s.h:r.s.a):'\u2013'}; }\r\nconst FN_TBD='<div class=\"fn-t tbd\"><div class=\"fn-t-info\"><span class=\"fn-t-name\">TBD<\/span><\/div><span class=\"fn-t-sc\">\u2013<\/span><\/div>';\r\nfunction fnTeam(r,sd,pm){\r\n  const x=fnSide(r,sd,pm), cls=!r.done?' tbd':(r.w===sd?' win':'');\r\n  return `<div class=\"fn-t${cls}\"${fnDT(x.t)}><div class=\"fn-t-info\"><span class=\"fn-t-name\">${esc(x.t||'TBD')}<\/span>${x.p?`<span class=\"fn-t-pl\">${esc(x.p)}<\/span>`:''}<\/div><span class=\"fn-t-sc\">${r.done?x.sc:'\u2013'}<\/span><\/div>`;\r\n}\r\nfunction fnCell(m,label,cls,pm){\r\n  if(!m) return `<div class=\"fn-m ${cls}\"><span class=\"fn-m-lbl\">${label}<\/span>${FN_TBD}${FN_TBD}<\/div>`;\r\n  const r=fnRes(m), extra=(!r.s&&m.score)?' \u00b7 '+esc(m.score):'';\r\n  return `<div class=\"fn-m ${cls}\"><span class=\"fn-m-lbl\">${label}${m.date?' \u00b7 '+esc(m.date):''}${extra}<\/span>${fnTeam(r,'h',pm)}${fnTeam(r,'a',pm)}<\/div>`;\r\n}\r\nconst FN_BAR={};\r\nfunction fnRenderKO(ko,pm,g){\r\n  FN_BAR[g]='';\r\n  if(!ko.length) return '';\r\n  const qf=fnPhase(ko,['quarterfinal','quarterfinals','quarter-final']), sf=fnPhase(ko,['semifinal','semifinals','semi-final']);\r\n  const fin=fnPhase(ko,['final'])[0], th=fnPhase(ko,['third place','3rd place'])[0];\r\n  const known=new Set([...qf,...sf,fin,th].filter(Boolean)), other=ko.filter(m=>!known.has(m));\r\n  const fr=fnRes(fin), tr=fnRes(th);\r\n  const ch=fr&&fr.done?fnSide(fr,fr.w,pm):null, ru=fr&&fr.done?fnSide(fr,fr.w==='h'?'a':'h',pm):null, br=tr&&tr.done?fnSide(tr,tr.w,pm):null;\r\n  const pod=(ru||br)?`<div class=\"fn-pod\">${[['2nd Place',ru,'s',2],['3rd Place',br,'b',3]].map(([l,x,c,n])=>\r\n    `<div class=\"fn-pod-c ${c}\"${fnDT(x&&x.t)}><span class=\"fn-pod-n\">${n}<\/span><div class=\"fn-t-info\"><span class=\"fn-pod-l\">${l}<\/span><span class=\"fn-pod-t\">${esc(x?x.t:'TBD')}<\/span>${x&&x.p?`<span class=\"fn-t-pl\">${esc(x.p)}<\/span>`:''}<\/div><\/div>`).join('')}<\/div>`:'';\r\n  const hero=`<div class=\"fn-hero\"><div class=\"fn-hero-l\"><span class=\"fn-eyebrow\">${esc(FN_GNAME[g]||'')} \u00b7 Champion<\/span>${\r\n    ch?`<div class=\"fn-champ-w\"${fnDT(ch.t)}><div class=\"fn-champ-c\"><span class=\"fn-champ\">${esc(ch.t)}<\/span><span class=\"fn-champ-ul\"><\/span><\/div><span class=\"fn-champ-1\">1st<\/span><\/div>${ch.p?`<span class=\"fn-champ-pl\">${esc(ch.p)}<\/span>`:''}`:'<span class=\"fn-champ tbd\">To be determined<\/span>'\r\n  }<\/div>${ch?`<div class=\"fn-hero-r\"><span class=\"fn-big\">${ch.sc}\u2013${ru.sc}<\/span><span class=\"fn-vs\">Final vs <b>${esc(ru.t)}<\/b><\/span><\/div>`:''}${pod}<\/div>`;\r\n  const strip=`<div class=\"fn-strip\">${fnCell(fin,'Final','final',pm)}${fnCell(th,'3rd Place','',pm)}${fnCell(sf[0],'Semifinal 1','',pm)}${fnCell(sf[1],'Semifinal 2','',pm)}<\/div>`;\r\n  const medal=(x,c,n,l)=>`<div class=\"fn-cb-m ${c}\"${fnDT(x&&x.t)}><span class=\"fn-cb-n\">${n}<\/span><span class=\"fn-cb-i\"><span class=\"fn-cb-l\">${l}<\/span><span class=\"fn-cb-t\">${esc(x?x.t:'TBD')}<\/span><\/span><\/div>`;\r\n  FN_BAR[g]=`<div class=\"fn-cbar\"><div class=\"fn-cbar-l\"><span class=\"fn-eyebrow\">${esc(FN_GNAME[g]||'')} \u00b7 Champion<\/span>${ch?`<div class=\"fn-champ-w\"${fnDT(ch.t)}><div class=\"fn-champ-c\"><span class=\"fn-champ\">${esc(ch.t)}<\/span><span class=\"fn-champ-ul\"><\/span><\/div><span class=\"fn-champ-1\">1st<\/span><\/div>`:`<span class=\"fn-champ tbd\">TBD<\/span>`}<\/div>${(ru||br)?`<div class=\"fn-cbar-r\">${medal(ru,'s',2,'2nd Place')}${medal(br,'b',3,'3rd Place')}<\/div>`:''}<\/div>`;\r\n  const sec=(t,cells,c)=>cells?`<div class=\"fn-kr\"><div class=\"fn-kr-h${c?' '+c:''}\">${t}<\/div><div class=\"fn-strip\">${cells}<\/div><\/div>`:'';\r\n  let out=`<div class=\"fn-card fn-kc\"><div class=\"fn-gs-top\"><span class=\"fn-h\">Knockout<\/span><\/div>`\r\n    +sec('Final \u00b7 3rd Place',fnCell(fin,'Final','final',pm)+fnCell(th,'3rd Place','',pm),'gold')\r\n    +sec('Semifinals',fnCell(sf[0],'Semifinal 1','',pm)+fnCell(sf[1],'Semifinal 2','',pm))\r\n    +(qf.length?sec('Quarterfinals',qf.map((m,i)=>fnCell(m,'QF '+(i+1),'',pm)).join('')):'')\r\n    +(other.length?sec('Other',other.map(m=>fnCell(m,esc(m.phase||'Match'),'',pm)).join('')):'')+`<\/div>`;\r\n  return out;\r\n}\r\n\r\nfunction fnRenderGroups(groups){\r\n  const keys=Object.keys(groups); if(!keys.length) return '';\r\n  return `<div class=\"fn-groups${keys.length<=2?' few':''}\">${keys.map(k=>`<div class=\"fn-group\"><div class=\"fn-group-h\"><span>${esc(k)}<\/span><\/div><div class=\"fn-srow fn-shead\"><span><\/span><span><\/span><span class=\"n\">P<\/span><span class=\"n\">W<\/span><span class=\"n\">D<\/span><span class=\"n\">L<\/span><span class=\"gd\">GD<\/span><span class=\"pts\">PTS<\/span><\/div>${\r\n    groups[k].map((t,i)=>{ const tp=t.team.match(\/^(.*?)\\s*(\\(\\s*\\d+\\s*\\))$\/), nm=tp?tp[1]:t.team, sd=tp?tp[2].replace(\/\\s\/g,''):'';\r\n      return `<div class=\"fn-srow${i===0?' q1':i===1?' q2':''}\"${fnDT(nm)}><span class=\"pos\">${esc(t.pos)}<\/span><span class=\"tm\">${esc(nm)}${sd?`<span class=\"fn-seed\">${sd}<\/span>`:''}<\/span><span class=\"n\">${(+t.w||0)+(+t.dr||0)+(+t.l||0)}<\/span><span class=\"n w\">${esc(t.w)}<\/span><span class=\"n\">${esc(t.dr)}<\/span><span class=\"n l\">${esc(t.l)}<\/span><span class=\"gd\">${esc(t.gd)}<\/span><span class=\"pts\">${esc(t.pts)}<\/span><\/div>`; }).join('')\r\n  }<div class=\"fn-gq\">\u25b2 Top 2 \u2192 Knockout<\/div><\/div>`).join('')}<\/div>`;\r\n}\r\n\r\nfunction fnRenderResultsShell(g,d){\r\n  if(!d.groupMatches.length) return '';\r\n  const letters=[...new Set([...Object.keys(d.groups).map(fnGroupLetter),...d.groupMatches.map(m=>fnGroupLetter(m.group))].filter(Boolean))].sort();\r\n  if(!FN_GRP[g]||!letters.includes(FN_GRP[g])) FN_GRP[g]=letters[0]||'';\r\n  const tabs=letters.map(L=>`<button class=\"fn-gtab${L===FN_GRP[g]?' on':''}\" data-l=\"${L}\" onclick=\"fnGroupTab('${g}','${L}')\">Group ${L}<\/button>`).join('');\r\n  return `<div class=\"fn-card\"><div class=\"fn-res-top\"><span class=\"fn-h\">Group Stage Results<\/span><div class=\"fn-gtabs\" id=\"fn-${g}-gtabs\">${tabs}<\/div><\/div><div class=\"fn-res\" id=\"fn-${g}-res\"><\/div><\/div>`;\r\n}\r\nfunction fnRenderResults(g){\r\n  const d=FN_LOADED[g], box=document.getElementById('fn-'+g+'-res'); if(!d||!box) return;\r\n  const L=FN_GRP[g], pm=d.playerMap;\r\n  let list=L?d.groupMatches.filter(m=>fnGroupLetter(m.group)===L):d.groupMatches;\r\n  if(!list.length) list=d.groupMatches;\r\n  box.innerHTML=list.map(m=>{\r\n    const s=fnParseScore(m.score), hw=s&&s.h>s.a, aw=s&&s.a>s.h, hp=m.hp||pm[m.home]||'', ap=m.ap||pm[m.away]||'';\r\n    return `<div class=\"fn-rm\"><span class=\"fn-rm-date\">${esc(m.date)}<\/span>\r\n      <div class=\"fn-rm-side h\"${fnDT(m.home)}><div class=\"fn-rm-team${hw?' w':''}\">${esc(m.home)}<\/div>${hp?`<div class=\"fn-rm-pl\">${esc(hp)}<\/div>`:''}<\/div>\r\n      <span class=\"fn-rm-sc${s?'':' t'}\">${esc(m.score||'\u2014')}<\/span>\r\n      <div class=\"fn-rm-side\"${fnDT(m.away)}><div class=\"fn-rm-team${aw?' w':''}\">${esc(m.away)}<\/div>${ap?`<div class=\"fn-rm-pl\">${esc(ap)}<\/div>`:''}<\/div><\/div>`;\r\n  }).join('');\r\n}\r\nfunction fnGroupTab(g,L){\r\n  FN_GRP[g]=L;\r\n  document.querySelectorAll('#fn-'+g+'-gtabs .fn-gtab').forEach(b=>b.classList.toggle('on',b.dataset.l===L));\r\n  fnRenderResults(g);\r\n  const box=document.getElementById('fn-'+g+'-res');\r\n  if(box) box.querySelectorAll('.fn-rm').forEach((el,i)=>fnAnim(el,FN_UP,{duration:350,delay:Math.min(i,5)*40}));\r\n}\r\nconst FN_UP=[{opacity:0,transform:'translateY(14px)'},{opacity:1,transform:'none'}];\r\nfunction fnAnim(el,kf,o){\r\n  if(!el||!el.animate) return;\r\n  try{ el.getAnimations&&el.getAnimations().forEach(x=>x.cancel()); el.animate(kf,Object.assign({fill:'backwards',easing:'cubic-bezier(.2,.8,.2,1)'},o)); }catch(e){}\r\n}\r\nfunction fnReveal(g){\r\n  const p=document.getElementById('fn-'+g); if(!p) return;\r\n  const q=s=>p.querySelector(s), qa=s=>Array.from(p.querySelectorAll(s));\r\n  qa('.fn-ko').forEach((el,i)=>fnAnim(el,FN_UP,{duration:450,delay:i*180}));\r\n  fnAnim(q('.fn-eyebrow'),[{opacity:0,letterSpacing:'10px'},{opacity:1,letterSpacing:'3px'}],{duration:600,delay:150});\r\n  fnAnim(q('.fn-champ'),[{opacity:0,clipPath:'inset(0 100% 0 0)',transform:'translateX(-14px)'},{opacity:1,clipPath:'inset(0 0% 0 0)',transform:'none'}],{duration:750,delay:250,easing:'cubic-bezier(.6,0,.2,1)'});\r\n  fnAnim(q('.fn-champ-pl'),FN_UP,{duration:400,delay:750});\r\n  fnAnim(q('.fn-big'),[{opacity:0,transform:'scale(.5)'},{opacity:1,transform:'scale(1.1)',offset:.7},{opacity:1,transform:'scale(1)'}],{duration:500,delay:600,easing:'ease-out'});\r\n  fnAnim(q('.fn-vs'),FN_UP,{duration:400,delay:800});\r\n  qa('.fn-pod-c').forEach((el,i)=>fnAnim(el,FN_UP,{duration:450,delay:850+i*100}));\r\n  qa('.fn-m').forEach((el,i)=>fnAnim(el,FN_UP,{duration:420,delay:950+Math.min(i,8)*70}));\r\n  qa('.fn-group').forEach((el,i)=>fnAnim(el,FN_UP,{duration:450,delay:1000+Math.min(i,4)*80}));\r\n  qa('.fn-card').forEach((el,i)=>fnAnim(el,FN_UP,{duration:500,delay:1200+i*150}));\r\n  qa('.fn-rm').forEach((el,i)=>fnAnim(el,FN_UP,{duration:350,delay:1350+Math.min(i,5)*40}));\r\n}\r\n\r\ndocument.addEventListener('click',function(e){ const b=e.target.closest&&e.target.closest('#vgl-finals-widget .fn-seg-b'); if(!b) return; const gs=b.closest('.fn-gs'); const v=b.getAttribute('data-gv');\r\n  gs.querySelectorAll('.fn-seg-b').forEach(x=>x.classList.toggle('on',x===b)); const st=gs.querySelector('.fn-gs-st'), rs=gs.querySelector('.fn-gs-rs'); if(st) st.classList.toggle('off',v!=='st'); if(rs) rs.classList.toggle('off',v!=='rs'); });\r\nfunction fnRender(g,d){\r\n  const load=document.getElementById('fn-'+g+'-load'), body=document.getElementById('fn-'+g+'-body');\r\n  if(load) load.style.display='none'; if(!body) return;\r\n  d.playerMap=fnPlayerMap(d);\r\n  const KO=fnRenderKO(d.knockout,d.playerMap,g), GR=fnRenderGroups(d.groups), RS=fnRenderResultsShell(g,d);\r\n  const GS=(GR||RS)?`<div class=\"fn-card fn-gs\" data-v=\"st\"><div class=\"fn-gs-top\"><span class=\"fn-h\">Group Stage<\/span><div class=\"fn-seg\">${GR?'<button class=\"fn-seg-b on\" data-gv=\"st\">Standings<\/button>':''}${RS?`<button class=\"fn-seg-b${GR?'':' on'}\" data-gv=\"rs\">Results<\/button>`:''}<\/div><\/div>${GR?`<div class=\"fn-gs-st\">${GR}<\/div>`:''}${RS?`<div class=\"fn-gs-rs${GR?' off':''}\">${RS}<\/div>`:''}<\/div>`:'';\r\n  const L=KO||'', R=GS;\r\n  let h=(L||R)?`${FN_BAR[g]||''}<div class=\"fn-cols${L&&R?'':' one'}\">${L?`<div class=\"fn-colL\">${L}<\/div>`:''}${R?`<div class=\"fn-colR\">${R}<\/div>`:''}<\/div>`:'';\r\n  if(!h) h='<div class=\"fn-card\"><div class=\"fn-soon\">No data found.<\/div><\/div>';\r\n  body.innerHTML=h;\r\n  fnRenderResults(g);\r\n  if(g===FN_CUR && !FN_SHOWN[g]){ FN_SHOWN[g]=true; fnReveal(g); }\r\n  if(g===FN_CUR) document.getElementById('fn-ts').textContent=d.updatedAt?'Last updated: '+d.updatedAt:'';\r\n}\r\n\r\nfunction fnBuild(g,sheetTxt,db){\r\n  const d=fnParse(sheetTxt);\r\n  const fromDB=(db||[]).filter(m=>fnIsRoC26(m.event)&&FN_GAME_MATCH[g](m.game)&&fnIsKnockoutPhase(m.phase))\r\n    .map(m=>({date:m.date,phase:m.phase,home:m.home,away:m.away,score:m.result||m.time||'',hp:m.hp,ap:m.ap}));\r\n  if(fromDB.length) d.knockout=fromDB;\r\n  return d;\r\n}\r\nasync function fnFetch(g){\r\n  try{\r\n    const [txt,db]=await Promise.all([fnGet(FN_SHEET[g]),fnFetchMatchesDB()]);\r\n    fnCSet(g,txt);\r\n    const d=fnBuild(g,txt,db);\r\n    const prev=FN_LOADED[g];\r\n    if(prev&&prev._sig===txt+JSON.stringify(d.knockout)) return;\r\n    d._sig=txt+JSON.stringify(d.knockout);\r\n    FN_LOADED[g]=d; fnRender(g,d);\r\n  }catch(e){}\r\n}\r\nfunction fnSwitch(g){\r\n  FN_CUR=g;\r\n  document.querySelectorAll('#vgl-finals-widget .fn-tab').forEach(b=>b.classList.toggle('on',b.dataset.g===g));\r\n  document.querySelectorAll('#vgl-finals-widget .fn-panel').forEach(p=>p.classList.toggle('show',p.id==='fn-'+g));\r\n  document.getElementById('fn-rule').style.background=FN_ACCENT[g];\r\n  const d=FN_LOADED[g];\r\n  document.getElementById('fn-ts').textContent=d&&d.updatedAt?'Last updated: '+d.updatedAt:'';\r\n  if(d){ FN_SHOWN[g]=true; fnReveal(g); }\r\n}\r\n\r\n(function fnHover(){\r\n  const root=document.getElementById('vgl-finals-widget'); let cur=null;\r\n  const set=k=>{ if(k===cur) return; cur=k;\r\n    root.querySelectorAll('[data-team].hl').forEach(e=>e.classList.remove('hl'));\r\n    root.classList.toggle('fn-hovering',!!k);\r\n    if(k) root.querySelectorAll('[data-team]').forEach(e=>{ if(e.getAttribute('data-team')===k) e.classList.add('hl'); });\r\n  };\r\n  root.addEventListener('mouseover',e=>{ const t=e.target.closest('[data-team]'); set(t&&root.contains(t)?t.getAttribute('data-team'):null); });\r\n  root.addEventListener('mouseleave',()=>set(null));\r\n  root.addEventListener('click',e=>{ if(e.target.closest('.fn-tab,.fn-gtab')) set(null); });\r\n})();\r\n(function fnBoot(){\r\n  const dbTxt=fnCGet('db');\r\n  if(dbTxt) FN_MATCHES_DB=fnParseMatchesDB(dbTxt);\r\n  Object.keys(FN_SHEET).forEach(g=>{\r\n    const t=fnCGet(g);\r\n    if(t){ const d=fnBuild(g,t,FN_MATCHES_DB); d._sig=t+JSON.stringify(d.knockout); FN_LOADED[g]=d; fnRender(g,d); }\r\n  });\r\n  fnSwitch('eafc');\r\n  fnFetchMatchesDB();\r\n  Object.keys(FN_SHEET).forEach(g=>fnFetch(g));\r\n})();\r\nsetInterval(()=>{ FN_DB_P=null; Object.keys(FN_SHEET).forEach(g=>fnFetch(g)); },2*60*1000);\r\n<\/script>\r\n\r\n  <\/div>\r\n <\/div>\r\n<\/div>\r\n<script>\r\n(function(){\r\n  var hub=document.getElementById('roc-hub'); if(!hub) return;\r\n  var G={eafc:{n:'EA FC 26',c:'#4ade80',rk:'eafc'},rl:{n:'Rocket League',c:'#ff6b35',rk:'rl'},ef:{n:'eFOOTBALL',c:'#00d4ff',rk:'efootball'}};\r\n  var cur='eafc', view='rank', userPicked=false;\r\n  function setView(v){ if(v===view) return; view=v;\r\n    hub.querySelectorAll('.hub-v').forEach(function(b){ b.classList.toggle('on',b.getAttribute('data-v')===v); });\r\n    hub.querySelectorAll('.hub-pane').forEach(function(p){ p.classList.toggle('on',p.getAttribute('data-pane')===v); });\r\n    if(v==='final' && typeof fnSwitch==='function') fnSwitch(cur);\r\n    if(v==='rank' && window.__rkLock) setTimeout(window.__rkLock,0);\r\n  }\r\n  var SC=\/\\d+\\s*[-\u2013]\\s*\\d+\/;\r\n  function finalsStarted(g){\r\n    try{ var d=(typeof FN_LOADED!=='undefined')&&FN_LOADED[g]; if(!d) return null;\r\n      var ko=d.knockout||[];\r\n      if(ko.length && ko.every(function(m){ return SC.test(m.score||''); })) return 'done';\r\n      if(ko.length) return true;\r\n      return (d.groupMatches||[]).some(function(m){ return SC.test(m.score||''); });\r\n    }catch(e){ return null; }\r\n  }\r\n  function phase(){\r\n    var st=finalsStarted(cur), done=st==='done', el=location.pathname.indexOf('\/el\/')!==-1;\r\n    hub.querySelectorAll('.hub-v').forEach(function(b){ var v=b.getAttribute('data-v');\r\n      b.classList.toggle('live', st===null||done?false:(v==='final'?!!st:!st));\r\n      b.classList.toggle('done', done && v==='final'); });\r\n    var note=document.getElementById('hubNote');\r\n    note.classList.toggle('done',done);\r\n    note.textContent= st===null?'': done?(el?'\u2713 \u03a4\u03bf Final Stage \u03bf\u03bb\u03bf\u03ba\u03bb\u03b7\u03c1\u03ce\u03b8\u03b7\u03ba\u03b5':'\u2713 Final Stage completed'): st?(el?'\u03a4\u03bf Final Stage \u03b5\u03af\u03bd\u03b1\u03b9 \u03c3\u03b5 \u03b5\u03be\u03ad\u03bb\u03b9\u03be\u03b7':'Final Stage in progress'):(el?'\u03a4\u03c1\u03ad\u03c7\u03bf\u03c5\u03bd \u03c4\u03b1 \u03c0\u03c1\u03bf\u03ba\u03c1\u03b9\u03bc\u03b1\u03c4\u03b9\u03ba\u03ac':'Qualifiers in progress');\r\n    if(st!==null && !userPicked){ userPicked=true; setView(st?'final':'rank'); }\r\n  }\r\n  function animH(el,fn){\r\n    var h0=el.offsetHeight; fn(); var h1=el.offsetHeight; if(!h0||h0===h1) return;\r\n    el.style.transition='none'; el.style.height=h0+'px'; el.style.overflow='hidden'; void el.offsetHeight;\r\n    el.style.transition='height .4s cubic-bezier(.2,.8,.2,1)'; el.style.height=h1+'px';\r\n    clearTimeout(el.__t); el.__t=setTimeout(function(){ el.style.height=''; el.style.overflow=''; el.style.transition=''; },450);\r\n  }\r\n  function setGame(g){ cur=g; var x=G[g];\r\n    hub.style.setProperty('--acc',x.c);\r\n    document.getElementById('hubTitle').textContent=x.n;\r\n    hub.querySelectorAll('.hub-tab').forEach(function(b){ b.classList.toggle('on',b.getAttribute('data-g')===g); });\r\n    var rb=document.querySelector('#vglRk .rk-tab[data-game=\"'+x.rk+'\"]'); if(rb) rb.click();\r\n    var fc=document.querySelector('#vgl-finals-widget .fn-content');\r\n    if(typeof fnSwitch==='function'){ if(view==='final'&&fc) animH(fc,function(){ fnSwitch(g); }); else fnSwitch(g); }\r\n    phase();\r\n  }\r\n  hub.addEventListener('click',function(e){\r\n    var t=e.target.closest('.hub-tab'); if(t){ setGame(t.getAttribute('data-g')); return; }\r\n    var v=e.target.closest('.hub-v'); if(v){ userPicked=true; setView(v.getAttribute('data-v')); }\r\n  });\r\n  var n=0, iv=setInterval(function(){ phase(); if(userPicked||++n>40) clearInterval(iv); },500);\r\n  setInterval(phase,60000);\r\n})();\r\n<\/script>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-3b29b8d elementor-section-full_width elementor-section-height-default elementor-section-height-default\" data-id=\"3b29b8d\" data-element_type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-ec7e24a\" data-id=\"ec7e24a\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap\">\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-6b68ecb elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"6b68ecb\" data-element_type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-0f6bd9b\" data-id=\"0f6bd9b\" data-element_type=\"column\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-e1b4554 elementor-widget elementor-widget-html\" data-id=\"e1b4554\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<!DOCTYPE html>\r\n<html lang=\"el\">\r\n<head>\r\n<meta charset=\"UTF-8\">\r\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\r\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\r\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\r\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Barlow:wght@400;600;700&family=Barlow+Condensed:wght@700;800&family=Bebas+Neue&display=swap\" rel=\"stylesheet\">\r\n<link rel=\"stylesheet\" href=\"https:\/\/cdn.jsdelivr.net\/npm\/@tabler\/icons-webfont@latest\/tabler-icons.min.css\">\r\n<style>\r\n* { box-sizing: border-box; margin: 0; padding: 0; }\r\n\r\n#vgl-video-widget {\r\n  width: 100%;\r\n  font-family: 'Barlow', sans-serif;\r\n  background: rgba(6, 8, 13, 0.45);\r\n  border-radius: 8px;\r\n  overflow: hidden;\r\n  position: relative;\r\n}\r\n\r\n#vgl-video-widget::before {\r\n  content: '';\r\n  position: absolute;\r\n  top: 0; left: 0; right: 0;\r\n  height: 2px;\r\n  background: linear-gradient(90deg, transparent, #ff5000 30%, #60a5fa 70%, transparent);\r\n}\r\n\r\n.vgl-vw-inner {\r\n  display: grid;\r\n  grid-template-columns: 1fr 1fr;\r\n  gap: 0;\r\n  min-height: 340px;\r\n}\r\n\r\n\/* LEFT: VIDEO *\/\r\n.vgl-vw-video-col {\r\n  position: relative;\r\n  background: #000;\r\n  display: flex;\r\n  align-items: stretch;\r\n}\r\n\r\n.vgl-vw-video-wrap {\r\n  position: relative;\r\n  width: 100%;\r\n}\r\n\r\n@media (min-width: 701px) {\r\n  .vgl-vw-video-wrap { height: 100%; }\r\n  .vgl-vw-video-wrap iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: none; display: block; }\r\n}\r\n@media (max-width: 700px) {\r\n  .vgl-vw-video-wrap { padding-top: 56.25%; }\r\n  .vgl-vw-video-wrap iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: none; display: block; }\r\n}\r\n\r\n\/* RIGHT: TEXT *\/\r\n.vgl-vw-text-col {\r\n  display: flex;\r\n  flex-direction: column;\r\n  justify-content: center;\r\n  padding: 2.5rem 2.2rem;\r\n  background: linear-gradient(135deg, rgba(13,17,24,0.72) 0%, rgba(10,12,16,0.45) 100%);\r\n  backdrop-filter: blur(8px);\r\n  -webkit-backdrop-filter: blur(8px);\r\n  border-left: 1px solid rgba(255,255,255,0.06);\r\n  position: relative;\r\n  overflow: hidden;\r\n}\r\n\r\n.vgl-vw-text-col::after {\r\n  content: '';\r\n  position: absolute;\r\n  top: -60px; right: -60px;\r\n  width: 220px; height: 220px;\r\n  border-radius: 50%;\r\n  background: radial-gradient(circle, rgba(96,165,250,0.07) 0%, transparent 70%);\r\n  pointer-events: none;\r\n}\r\n\r\n.vgl-vw-eyebrow {\r\n  font-size: 10px; font-weight: 700; letter-spacing: 3px;\r\n  text-transform: uppercase; color: #ff5000;\r\n  margin-bottom: 0.8rem;\r\n  display: flex; align-items: center; gap: 8px;\r\n}\r\n.vgl-vw-eyebrow::before {\r\n  content: '';\r\n  display: inline-block;\r\n  width: 20px; height: 2px;\r\n  background: #ff5000; border-radius: 2px;\r\n}\r\n\r\n.vgl-vw-title {\r\n  font-family: 'Bebas Neue', sans-serif;\r\n  font-size: clamp(28px, 3.5vw, 46px);\r\n  line-height: 0.95; letter-spacing: 1px;\r\n  color: #fff;\r\n  margin-bottom: 1.2rem;\r\n  text-shadow: 0 2px 20px rgba(0,0,0,0.6);\r\n}\r\n.vgl-vw-title span { color: #60a5fa; }\r\n\r\n.vgl-vw-desc {\r\n  font-size: 13px; line-height: 1.65;\r\n  color: rgba(255,255,255,0.58);\r\n  margin-bottom: 1.8rem; max-width: 360px;\r\n}\r\n\r\n.vgl-vw-tags {\r\n  display: flex; gap: 6px; flex-wrap: wrap;\r\n  margin-bottom: 1.8rem;\r\n}\r\n.vgl-vw-tag {\r\n  font-size: 10px; font-weight: 700; letter-spacing: 0.8px;\r\n  text-transform: uppercase;\r\n  padding: 4px 10px; border-radius: 2px; border: 0.5px solid;\r\n}\r\n.vgl-vw-tag.t-blue  { color:#60a5fa; border-color:rgba(96,165,250,0.35); background:rgba(96,165,250,0.07); }\r\n.vgl-vw-tag.t-orange{ color:#ff5000; border-color:rgba(255,80,0,0.35);   background:rgba(255,80,0,0.07); }\r\n.vgl-vw-tag.t-green { color:#4ade80; border-color:rgba(74,222,128,0.35); background:rgba(74,222,128,0.07); }\r\n\r\n.vgl-vw-actions { display: flex; gap: 10px; flex-wrap: wrap; }\r\n\r\n.vgl-vw-btn-p {\r\n  display: inline-flex; align-items: center; gap: 7px;\r\n  font-family: 'Barlow', sans-serif; font-size: 12px; font-weight: 700;\r\n  letter-spacing: 1.5px; text-transform: uppercase;\r\n  color: #06080d; background: #ff5000;\r\n  border: none; border-radius: 3px; padding: 11px 22px;\r\n  cursor: pointer; text-decoration: none;\r\n  transition: background 0.15s, transform 0.15s;\r\n}\r\n.vgl-vw-btn-p:hover { background: #ff6a1f; transform: translateY(-1px); }\r\n.vgl-vw-btn-p i { font-size: 15px; }\r\n\r\n.vgl-vw-btn-s {\r\n  display: inline-flex; align-items: center; gap: 7px;\r\n  font-family: 'Barlow', sans-serif; font-size: 12px; font-weight: 700;\r\n  letter-spacing: 1.5px; text-transform: uppercase;\r\n  color: rgba(255,255,255,0.65); background: transparent;\r\n  border: 0.5px solid rgba(255,255,255,0.2); border-radius: 3px; padding: 11px 20px;\r\n  cursor: pointer; text-decoration: none;\r\n  transition: border-color 0.15s, color 0.15s;\r\n}\r\n.vgl-vw-btn-s:hover { border-color: rgba(255,255,255,0.5); color: #fff; }\r\n.vgl-vw-btn-s i { font-size: 15px; }\r\n\r\n@media (max-width: 700px) {\r\n  .vgl-vw-inner { grid-template-columns: 1fr; }\r\n  .vgl-vw-text-col {\r\n    border-left: none;\r\n    border-top: 1px solid rgba(255,255,255,0.06);\r\n    padding: 1.8rem 1.4rem;\r\n  }\r\n  .vgl-vw-title { font-size: 32px; }\r\n}\r\n<\/style>\r\n<\/head>\r\n\r\n<body data-rsssl=1 style=\"background:#06080d;\">\r\n\r\n<div id=\"vgl-video-widget\">\r\n  <div class=\"vgl-vw-inner\">\r\n\r\n    <!-- LEFT: VIDEO -->\r\n    <div class=\"vgl-vw-video-col\">\r\n      <div class=\"vgl-vw-video-wrap\">\r\n        <iframe\r\n          src=\"https:\/\/www.youtube.com\/embed\/xUpyM4YsvcA?rel=0&modestbranding=1&color=white\"\r\n          title=\"allwyn Unileague \u2013 Highlights\"\r\n          allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\"\r\n          allowfullscreen>\r\n        <\/iframe>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <!-- RIGHT: TEXT -->\r\n    <div class=\"vgl-vw-text-col\">\r\n\r\n      <div class=\"vgl-vw-eyebrow notranslate\">allwyn Unileague<\/div>\r\n\r\n      <div class=\"vgl-vw-title notranslate\">\r\n        \u03a0\u03b1\u03b9\u03c7\u03bd\u03af\u03b4\u03b9<br><span>\u039a\u03bf\u03b9\u03bd\u03cc\u03c4\u03b7\u03c4\u03b1<\/span><br>for Students\r\n      <\/div>\r\n\r\n      <div class=\"vgl-vw-desc\" id=\"vgl-desc\"><\/div>\r\n\r\n      <div class=\"vgl-vw-tags notranslate\">\r\n        <span class=\"vgl-vw-tag t-blue\">EA FC<\/span>\r\n        <span class=\"vgl-vw-tag t-orange\">eFootball<\/span>\r\n        <span class=\"vgl-vw-tag t-green\">Rocket League<\/span>\r\n      <\/div>\r\n\r\n      <div class=\"vgl-vw-actions\">\r\n        <a href=\"https:\/\/battlefy.com\/vgl-esports\" target=\"_blank\" class=\"vgl-vw-btn-p notranslate\" rel=\"noopener\">\r\n          <i class=\"ti ti-trophy\"><\/i> REGISTER NOW\r\n        <\/a>\r\n        <a href=\"https:\/\/discord.gg\/n6PrKQesGn\" target=\"_blank\" class=\"vgl-vw-btn-s notranslate\" rel=\"noopener\">\r\n          <i class=\"ti ti-brand-discord\"><\/i> DISCORD\r\n        <\/a>\r\n      <\/div>\r\n\r\n    <\/div>\r\n  <\/div>\r\n<\/div>\r\n\r\n<script>\r\n(function () {\r\n  var isEl = window.location.pathname.indexOf('\/el\/') !== -1;\r\n  var desc = document.getElementById('vgl-desc');\r\n  if (isEl) {\r\n    desc.textContent = '\u0397 allwyn Unileague \u03ad\u03c7\u03b5\u03b9 \u03b4\u03b7\u03bc\u03b9\u03bf\u03c5\u03c1\u03b3\u03ae\u03c3\u03b5\u03b9 \u03c6\u03bf\u03b9\u03c4\u03b7\u03c4\u03b9\u03ba\u03ae gaming \u03ba\u03bf\u03b9\u03bd\u03cc\u03c4\u03b7\u03c4\u03b1 \u03bc\u03b5 \u03c3\u03c4\u03cc\u03c7\u03bf \u03c4\u03b7\u03bd \u03b5\u03bd\u03b7\u03bc\u03ad\u03c1\u03c9\u03c3\u03b7, \u03c4\u03b7\u03bd \u03c5\u03c0\u03bf\u03c3\u03c4\u03ae\u03c1\u03b9\u03be\u03b7 \u03ba\u03b1\u03b9 \u03c4\u03b7 \u03b4\u03b9\u03b1\u03c3\u03ba\u03ad\u03b4\u03b1\u03c3\u03b7 \u03c4\u03c9\u03bd gamers \u03c3\u03b5 \u03ad\u03bd\u03b1 \u03bf\u03c1\u03b3\u03b1\u03bd\u03c9\u03bc\u03ad\u03bd\u03bf \u03b4\u03b9\u03b1\u03b4\u03b9\u03ba\u03c4\u03c5\u03b1\u03ba\u03cc \u03c0\u03b5\u03c1\u03b9\u03b2\u03ac\u03bb\u03bb\u03bf\u03bd.';\r\n  } else {\r\n    desc.textContent = 'The allwyn Unileague has built a student gaming community focused on informing, supporting, and entertaining gamers in a structured online environment.';\r\n    desc.classList.add('notranslate');\r\n  }\r\n})();\r\n<\/script>\r\n\r\n<\/body>\r\n<\/html>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-1e68389 elementor-section-full_width elementor-section-height-default elementor-section-height-default\" data-id=\"1e68389\" data-element_type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-d9b63ae\" data-id=\"d9b63ae\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-8232473 elementor-widget elementor-widget-html\" data-id=\"8232473\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\r\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\r\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Barlow:wght@400;600;700&family=Bebas+Neue&display=swap\" rel=\"stylesheet\">\r\n<link rel=\"stylesheet\" href=\"https:\/\/cdn.jsdelivr.net\/npm\/@tabler\/icons-webfont@latest\/tabler-icons.min.css\">\r\n\r\n<style>\r\n#vgl-news-all * { box-sizing: border-box; margin: 0; padding: 0; }\r\n\r\n#vgl-news-all {\r\n  width: 100%;\r\n  font-family: 'Barlow', sans-serif;\r\n  background: rgba(6, 8, 13, 0.3);\r\n  border-radius: 8px;\r\n  padding: 2rem 2rem 1.6rem;\r\n  position: relative;\r\n  overflow: hidden;\r\n}\r\n#vgl-news-all::before {\r\n  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px;\r\n  background: linear-gradient(90deg, transparent, #ff5000 30%, #60a5fa 70%, transparent);\r\n}\r\n\r\n\/* full-width background, centered content *\/\r\n#vgl-news-all .vgl-n-header,\r\n#vgl-news-all .vgl-n-grid,\r\n#vgl-news-all .vgl-n-footer {\r\n  max-width: 960px;\r\n  margin-left: auto;\r\n  margin-right: auto;\r\n}\r\n\r\n#vgl-news-all .vgl-n-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1.4rem; }\r\n#vgl-news-all .vgl-n-title { font-family: 'Bebas Neue', sans-serif; font-size: 28px; letter-spacing: 2px; color: #fff; display: flex; align-items: center; gap: 10px; }\r\n#vgl-news-all .vgl-n-title span { color: #60a5fa; }\r\n#vgl-news-all .vgl-n-dot { width: 7px; height: 7px; border-radius: 50%; background: #ff5000; animation: npulseall 1.8s ease-in-out infinite; flex-shrink: 0; }\r\n@keyframes npulseall { 0%,100% { opacity: 1; transform: scale(1); } 50% { opacity: .35; transform: scale(.65); } }\r\n\r\n#vgl-news-all .vgl-n-all { font-size: 11px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; color: rgba(255,255,255,0.45); text-decoration: none; display: flex; align-items: center; gap: 5px; transition: color .15s; }\r\n#vgl-news-all .vgl-n-all:hover { color: #60a5fa; }\r\n#vgl-news-all .vgl-n-all i { font-size: 13px; }\r\n\r\n#vgl-news-all .vgl-n-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-bottom: 1.2rem; }\r\n\r\n#vgl-news-all .vgl-n-card { display: flex; flex-direction: column; background: #0d1118; border: 0.5px solid rgba(255,255,255,0.07); border-radius: 6px; overflow: hidden; text-decoration: none !important; transition: border-color .2s, transform .2s; cursor: pointer; }\r\n#vgl-news-all .vgl-n-card:hover { border-color: rgba(96,165,250,0.35); transform: translateY(-3px); }\r\n#vgl-news-all .vgl-n-card:hover .vgl-n-img img { transform: scale(1.05); }\r\n\r\n#vgl-news-all .vgl-n-img { width: 100%; aspect-ratio: 16\/9; overflow: hidden; position: relative; background: #111; flex-shrink: 0; }\r\n#vgl-news-all .vgl-n-img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s ease; }\r\n#vgl-news-all .vgl-n-img-placeholder { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, #0d1118, #111820); }\r\n#vgl-news-all .vgl-n-img-placeholder i { font-size: 28px; color: rgba(255,255,255,0.1); }\r\n\r\n#vgl-news-all .vgl-n-card-body { padding: 14px 18px 16px !important; display: flex; flex-direction: column; flex: 1; }\r\n#vgl-news-all .vgl-n-card-title { font-size: 13px !important; font-weight: 700 !important; line-height: 1.45 !important; color: rgba(255,255,255,0.88) !important; margin: 0 !important; padding: 0 !important; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; flex: 1; }\r\n#vgl-news-all .vgl-n-date { font-size: 10px; font-weight: 600; letter-spacing: 1.5px; text-transform: uppercase; color: rgba(255,255,255,0.28); margin-bottom: 8px !important; padding: 0 !important; }\r\n#vgl-news-all .vgl-n-read { margin-top: 12px !important; padding: 0 !important; font-size: 10px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: #60a5fa; display: flex; align-items: center; gap: 4px; }\r\n#vgl-news-all .vgl-n-read i { font-size: 12px; }\r\n\r\n#vgl-news-all .vgl-n-footer { display: flex; align-items: center; justify-content: center; gap: 10px; }\r\n#vgl-news-all .vgl-n-btn { display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 3px; background: rgba(255,255,255,0.05); border: 0.5px solid rgba(255,255,255,0.12); color: rgba(255,255,255,0.6); font-size: 17px; cursor: pointer; transition: background .15s, border-color .15s, color .15s; user-select: none; }\r\n#vgl-news-all .vgl-n-btn:hover:not(:disabled) { background: rgba(96,165,250,0.12); border-color: rgba(96,165,250,0.4); color: #fff; }\r\n#vgl-news-all .vgl-n-btn:disabled { opacity: .3; cursor: default; }\r\n\r\n#vgl-news-all .vgl-n-pages { display: flex; gap: 6px; }\r\n#vgl-news-all .vgl-n-page { width: 7px; height: 7px; border-radius: 50%; background: rgba(255,255,255,0.15); transition: background .2s, transform .2s; cursor: pointer; }\r\n#vgl-news-all .vgl-n-page.active { background: #60a5fa; transform: scale(1.3); }\r\n\r\n#vgl-news-all .vgl-n-loading { grid-column: 1 \/ -1; text-align: center; padding: 3rem 0; color: rgba(255,255,255,0.25); font-size: 13px; letter-spacing: 1px; }\r\n#vgl-news-all .vgl-n-spinner { width: 28px; height: 28px; border: 2px solid rgba(255,255,255,0.1); border-top-color: #60a5fa; border-radius: 50%; animation: nspinall .8s linear infinite; margin: 0 auto 10px; }\r\n@keyframes nspinall { to { transform: rotate(360deg); } }\r\n\r\n@media (max-width: 640px) {\r\n  #vgl-news-all .vgl-n-grid { grid-template-columns: 1fr 1fr; }\r\n  #vgl-news-all { padding: 1.4rem 1.2rem 1.2rem; }\r\n  #vgl-news-all .vgl-n-card-body { padding: 13px 15px 15px !important; }\r\n}\r\n@media (max-width: 400px) {\r\n  #vgl-news-all .vgl-n-grid { grid-template-columns: 1fr; }\r\n}\r\n<\/style>\r\n\r\n<div id=\"vgl-news-all\">\r\n  <div class=\"vgl-n-header\">\r\n    <div class=\"vgl-n-title\">\r\n      <div class=\"vgl-n-dot\"><\/div>\r\n      WHAT'S <span>&nbsp;NEW<\/span>\r\n    <\/div>\r\n    <a href=\"https:\/\/vglesports.com\/el\/news-page\/\" target=\"_blank\" class=\"vgl-n-all\">\r\n      <span id=\"vgl-nall-all-text\">\u039f\u03bb\u03b1 \u03c4\u03b1 \u03bd\u03b5\u03b1<\/span>\r\n      <i class=\"ti ti-arrow-right\"><\/i>\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <div id=\"vgl-nall-grid\" class=\"vgl-n-grid\">\r\n    <div class=\"vgl-n-loading\">\r\n      <div class=\"vgl-n-spinner\"><\/div>\r\n      \u03a6\u03cc\u03c1\u03c4\u03c9\u03c3\u03b7 \u03bd\u03ad\u03c9\u03bd\u2026\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <div class=\"vgl-n-footer\">\r\n    <button class=\"vgl-n-btn\" id=\"vgl-nall-prev\" disabled><i class=\"ti ti-chevron-left\"><\/i><\/button>\r\n    <div class=\"vgl-n-pages\" id=\"vgl-nall-pages\"><\/div>\r\n    <button class=\"vgl-n-btn\" id=\"vgl-nall-next\" disabled><i class=\"ti ti-chevron-right\"><\/i><\/button>\r\n  <\/div>\r\n<\/div>\r\n\r\n<script>\r\n(function () {\r\n  var isGreek = window.location.href.indexOf('\/el\/') !== -1;\r\n  var $ = function (id) { return document.getElementById(id); };\r\n\r\n  $('vgl-nall-all-text').textContent = isGreek ? '\u039f\u03bb\u03b1 \u03c4\u03b1 \u03bd\u03b5\u03b1' : 'All news';\r\n\r\n  var PER_PAGE = 3;\r\n  var allItems = [];\r\n  var page = 0;\r\n  var BASE = 'https:\/\/vglesports.com';\r\n  var EXCLUDE_SLUGS = ['tutorials', 'deep-dive'];\r\n\r\n  function formatDate(str) {\r\n    if (!str) return '';\r\n    var d = new Date(str);\r\n    if (isGreek) {\r\n      var G = ['\u0399\u03b1\u03bd','\u03a6\u03b5\u03b2','\u039c\u03b1\u03c1','\u0391\u03c0\u03c1','\u039c\u03b1\u0390','\u0399\u03bf\u03c5\u03bd','\u0399\u03bf\u03c5\u03bb','\u0391\u03c5\u03b3','\u03a3\u03b5\u03c0','\u039f\u03ba\u03c4','\u039d\u03bf\u03b5','\u0394\u03b5\u03ba'];\r\n      return d.getDate() + ' ' + G[d.getMonth()] + ' ' + d.getFullYear();\r\n    }\r\n    var E = ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'];\r\n    return E[d.getMonth()] + ' ' + d.getDate() + ', ' + d.getFullYear();\r\n  }\r\n\r\n  function render() {\r\n    var start = page * PER_PAGE;\r\n    var slice = allItems.slice(start, start + PER_PAGE);\r\n    var totalPages = Math.ceil(allItems.length \/ PER_PAGE);\r\n    var readLabel = isGreek ? '\u0394\u03b9\u03b1\u03b2\u03b1\u03c3\u03b5' : 'Read more';\r\n\r\n    $('vgl-nall-grid').innerHTML = slice.map(function (item) {\r\n      var img = item._imgUrl || null;\r\n      var title = (item.title && item.title.rendered) ? item.title.rendered : (item.title || '');\r\n      var imgHtml = img\r\n        ? '<img decoding=\"async\" src=\"' + img + '\" alt=\"\" loading=\"lazy\">'\r\n        : '<div class=\"vgl-n-img-placeholder\"><i class=\"ti ti-photo\"><\/i><\/div>';\r\n      return ''\r\n        + '<a class=\"vgl-n-card\" href=\"' + item.link + '\" target=\"_blank\" rel=\"noopener\">'\r\n        +   '<div class=\"vgl-n-img\">' + imgHtml + '<\/div>'\r\n        +   '<div class=\"vgl-n-card-body\">'\r\n        +     '<div class=\"vgl-n-date\">' + formatDate(item.date) + '<\/div>'\r\n        +     '<div class=\"vgl-n-card-title\">' + title + '<\/div>'\r\n        +     '<div class=\"vgl-n-read\">' + readLabel + ' <i class=\"ti ti-arrow-right\"><\/i><\/div>'\r\n        +   '<\/div>'\r\n        + '<\/a>';\r\n    }).join('');\r\n\r\n    var dotsEl = $('vgl-nall-pages');\r\n    dotsEl.innerHTML = '';\r\n    for (var i = 0; i < totalPages; i++) {\r\n      var dot = document.createElement('div');\r\n      dot.className = 'vgl-n-page' + (i === page ? ' active' : '');\r\n      dot.setAttribute('data-p', i);\r\n      dot.addEventListener('click', function () { goTo(parseInt(this.getAttribute('data-p'))); });\r\n      dotsEl.appendChild(dot);\r\n    }\r\n    $('vgl-nall-prev').disabled = (page === 0);\r\n    $('vgl-nall-next').disabled = (page >= totalPages - 1);\r\n  }\r\n\r\n  function goTo(p) { page = p; render(); }\r\n\r\n  $('vgl-nall-prev').addEventListener('click', function () { if (page > 0) goTo(page - 1); });\r\n  $('vgl-nall-next').addEventListener('click', function () {\r\n    if (page < Math.ceil(allItems.length \/ PER_PAGE) - 1) goTo(page + 1);\r\n  });\r\n\r\n  function showError() {\r\n    $('vgl-nall-grid').innerHTML =\r\n      '<div class=\"vgl-n-loading\" style=\"color:rgba(255,80,0,0.6);\">'\r\n      + '<i class=\"ti ti-alert-circle\" style=\"font-size:24px;display:block;margin:0 auto 8px;\"><\/i>'\r\n      + (isGreek ? '\u0394\u03b5\u03bd \u03c6\u03bf\u03c1\u03c4\u03c9\u03b8\u03b7\u03ba\u03b1\u03bd \u03c4\u03b1 \u03bd\u03b5\u03b1.' : 'Could not load news.')\r\n      + '<\/div>';\r\n  }\r\n\r\n  function fetchPosts(excludeIds) {\r\n    var ex = excludeIds.length ? '&categories_exclude=' + excludeIds.join(',') : '';\r\n    fetch(BASE + '\/wp-json\/wp\/v2\/posts?per_page=9&_fields=id,title,link,date,featured_media' + ex)\r\n      .then(function (r) { if (!r.ok) throw new Error(r.status); return r.json(); })\r\n      .then(function (posts) {\r\n        if (!posts || !posts.length) throw new Error('empty');\r\n        allItems = posts;\r\n        var ids = posts.map(function (p) { return p.featured_media; }).filter(function (id) { return id > 0; });\r\n        if (!ids.length) { render(); return; }\r\n        fetch(BASE + '\/wp-json\/wp\/v2\/media?include=' + ids.join(',') + '&per_page=9&_fields=id,source_url,media_details')\r\n          .then(function (r) { return r.json(); })\r\n          .then(function (mediaList) {\r\n            var imgMap = {};\r\n            (mediaList || []).forEach(function (m) {\r\n              var url = m.source_url;\r\n              try { var s = m.media_details.sizes; url = (s.medium_large || s.medium || s.large || s.full).source_url || url; } catch (e) {}\r\n              imgMap[m.id] = url;\r\n            });\r\n            allItems.forEach(function (p) { if (p.featured_media && imgMap[p.featured_media]) p._imgUrl = imgMap[p.featured_media]; });\r\n            render();\r\n          })\r\n          .catch(function () { render(); });\r\n      })\r\n      .catch(function (err) { console.warn('[VGL News All] failed:', err); showError(); });\r\n  }\r\n\r\n  fetch(BASE + '\/wp-json\/wp\/v2\/categories?slug=' + EXCLUDE_SLUGS.join(',') + '&per_page=20&_fields=id,slug')\r\n    .then(function (r) { return r.json(); })\r\n    .then(function (cats) { fetchPosts((cats || []).map(function (c) { return c.id; })); })\r\n    .catch(function () { fetchPosts([]); });\r\n})();\r\n<\/script>\r\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-4dd738f elementor-section-full_width elementor-section-height-default elementor-section-height-default\" data-id=\"4dd738f\" data-element_type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-03bd802\" data-id=\"03bd802\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-729add3 elementor-widget elementor-widget-html\" data-id=\"729add3\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<!-- \u0391\u039b\u039b\u0391\u039e\u0395 \u039c\u039f\u039d\u039f \u03a4\u0397\u039d \u03a0\u0391\u03a1\u0391\u039a\u0391\u03a4\u03a9 \u0393\u03a1\u0391\u039c\u039c\u0397 \u0391\u039d\u0391 PAGE -->\r\n<script>var PAGE_ID = 'unileague';<\/script>\r\n\r\n<style>\r\n@import url('https:\/\/fonts.googleapis.com\/css2?family=Barlow+Condensed:wght@700;800&family=Barlow:wght@400;500&display=swap');\r\n.rw{font-family:'Barlow',sans-serif;padding:60px 0}\r\n.rw-header{text-align:center;margin-bottom:40px}\r\n.rw-label{font-family:'Barlow Condensed',sans-serif;font-size:11px;font-weight:700;letter-spacing:3px;color:#888;text-transform:uppercase;margin-bottom:10px}\r\n.rw-title{font-family:'Barlow Condensed',sans-serif;font-size:36px;font-weight:800;color:#fff;text-transform:uppercase;letter-spacing:2px;margin:0 0 8px;white-space:nowrap}\r\n.rw-sub{font-size:14px;color:#888;margin:0}\r\n.rw{background:#121925;position:relative}\r\n.rw::before{content:'';position:absolute;inset:0;pointer-events:none;z-index:0;background-image:url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='120' height='120'%3E%3Cdefs%3E%3Cpattern id='h' x='0' y='0' width='120' height='104' patternUnits='userSpaceOnUse'%3E%3Cpolygon points='60,2 112,32 112,72 60,102 8,72 8,32' fill='none' stroke='rgba(255,255,255,0.04)' stroke-width='1'\/%3E%3C\/pattern%3E%3C\/defs%3E%3Crect width='100%25' height='100%25' fill='url(%23h)'\/%3E%3C\/svg%3E\")}\r\n.rw-grid{max-width:900px;margin:0 auto}\r\n.rw>*{position:relative;z-index:1}\r\n.rw-grid{\r\n  display:grid;\r\n  grid-template-columns:repeat(2, 1fr); \/* mobile & tablet: 2 \u03b1\u03bd\u03ac \u03b3\u03c1\u03b1\u03bc\u03bc\u03ae *\/\r\n  gap:12px;\r\n  margin:0 auto;\r\n  padding:0 16px;\r\n  box-sizing:border-box;\r\n  max-width:900px;\r\n}\r\n\/* Tablet: 4 \u03b1\u03bd\u03ac \u03b3\u03c1\u03b1\u03bc\u03bc\u03ae *\/\r\n@media(min-width:501px) and (max-width:900px){\r\n  .rw-grid{\r\n    grid-template-columns:repeat(4, 1fr);\r\n  }\r\n}\r\n\/* Desktop: 5 \u03b1\u03bd\u03ac \u03b3\u03c1\u03b1\u03bc\u03bc\u03ae *\/\r\n@media(min-width:901px){\r\n  .rw-grid{\r\n    display:flex;\r\n    flex-wrap:nowrap;\r\n    justify-content:center;\r\n    gap:12px;\r\n  }\r\n  .rw-grid .rw-item{\r\n    width:calc((1100px - 16px*2 - 12px*4) \/ 5);\r\n    flex-shrink:0;\r\n  }\r\n}\r\n.rw-item{\r\n  position:relative;\r\n  border-radius:12px;\r\n  overflow:hidden;\r\n  aspect-ratio:9\/16;\r\n  background:#0C111A;\r\n  border:0.5px solid rgba(255,255,255,0.08);\r\n  cursor:pointer;\r\n  display:block;\r\n  text-decoration:none;\r\n  width:100%; \/* \u03c0\u03b1\u03af\u03c1\u03bd\u03b5\u03b9 \u03c4\u03bf \u03c0\u03bb\u03ac\u03c4\u03bf\u03c2 \u03b1\u03c0\u03cc \u03c4\u03bf grid *\/\r\n}\r\n.rw-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 0.4s ease}\r\n.rw-item:hover img{transform:scale(1.05)}\r\n.rw-overlay{position:absolute;inset:0;background:rgba(0,0,0,0.35);transition:background 0.3s}\r\n.rw-item:hover .rw-overlay{background:rgba(0,0,0,0.2)}\r\n.rw-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:52px;height:52px;border-radius:50%;background:rgba(255,255,255,0.15);backdrop-filter:blur(4px);border:1.5px solid rgba(255,255,255,0.4);display:flex;align-items:center;justify-content:center;transition:all 0.3s}\r\n.rw-item:hover .rw-play{background:rgba(255,255,255,0.25);transform:translate(-50%,-50%) scale(1.1)}\r\n.rw-play svg{width:20px;height:20px;fill:#fff;margin-left:3px}\r\n.rw-badge{position:absolute;bottom:10px;left:10px;display:flex;align-items:center;gap:5px;background:rgba(0,0,0,0.6);border-radius:100px;padding:4px 10px}\r\n.rw-badge svg{width:12px;height:12px;fill:#fff}\r\n.rw-badge span{font-family:'Barlow Condensed',sans-serif;font-size:10px;font-weight:700;color:#fff;letter-spacing:1px;text-transform:uppercase}\r\n.rw-cta{text-align:center;margin-top:32px}\r\n.rw-toggle{display:inline-flex;align-items:center;border:1px solid rgba(255,255,255,0.2);border-radius:100px;overflow:hidden;position:relative;background:rgba(255,255,255,0.04)}\r\n.rw-toggle-btn{display:flex;align-items:center;gap:7px;font-family:'Barlow Condensed',sans-serif;font-size:13px;font-weight:700;letter-spacing:2px;text-transform:uppercase;padding:11px 22px;color:rgba(255,255,255,0.45);text-decoration:none;transition:color 0.25s;position:relative;z-index:1;white-space:nowrap}\r\n.rw-toggle-btn svg{width:14px;height:14px;fill:currentColor;flex-shrink:0;transition:fill 0.25s}\r\n.rw-toggle-divider{width:1px;background:rgba(255,255,255,0.15);align-self:stretch;flex-shrink:0}\r\n.rw-toggle-btn.active{color:#fff}\r\n.rw-toggle-btn:hover{color:rgba(255,255,255,0.8)}\r\n\r\n@media(max-width:500px){\r\n  .rw-title{font-size:24px;white-space:normal}\r\n}\r\n@media(min-width:501px) and (max-width:900px){\r\n  .rw-title{white-space:normal}\r\n}\r\n<\/style>\r\n\r\n<div class=\"rw\">\r\n  <div class=\"rw-header\">\r\n    <div class=\"rw-label\">Highlights<\/div>\r\n    <div class=\"rw-title\" id=\"rw-title\"><\/div>\r\n    <p class=\"rw-sub\" id=\"rw-sub\"><\/p>\r\n  <\/div>\r\n  <div class=\"rw-grid\" id=\"rw-grid\"><\/div>\r\n  <div class=\"rw-cta\">\r\n    <div class=\"rw-toggle\">\r\n      <a class=\"rw-toggle-btn active\" href=\"https:\/\/www.instagram.com\/vglesports\/\" target=\"_blank\" id=\"rw-cta-ig\" rel=\"noopener\">\r\n        <svg viewbox=\"0 0 24 24\"><path d=\"M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zm0-2.163c-3.259 0-3.667.014-4.947.072-4.358.2-6.78 2.618-6.98 6.98-.059 1.281-.073 1.689-.073 4.948 0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98 1.281.058 1.689.072 4.948.072 3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98-1.281-.059-1.69-.073-4.949-.073zm0 5.838c-3.403 0-6.162 2.759-6.162 6.162s2.759 6.163 6.162 6.163 6.162-2.759 6.162-6.163c0-3.403-2.759-6.162-6.162-6.162zm0 10.162c-2.209 0-4-1.79-4-4 0-2.209 1.791-4 4-4s4 1.791 4 4c0 2.21-1.791 4-4 4zm6.406-11.845c-.796 0-1.441.645-1.441 1.44s.645 1.44 1.441 1.44c.795 0 1.439-.645 1.439-1.44s-.644-1.44-1.439-1.44z\"\/><\/svg>\r\n        <span id=\"rw-cta-ig-text\"><\/span>\r\n      <\/a>\r\n      <div class=\"rw-toggle-divider\"><\/div>\r\n      <a class=\"rw-toggle-btn\" href=\"https:\/\/www.tiktok.com\/@vglesportsofficial\" target=\"_blank\" id=\"rw-cta-tt\" rel=\"noopener\">\r\n        <svg viewbox=\"0 0 24 24\"><path d=\"M19.59 6.69a4.83 4.83 0 0 1-3.77-4.25V2h-3.45v13.67a2.89 2.89 0 0 1-2.88 2.5 2.89 2.89 0 0 1-2.89-2.89 2.89 2.89 0 0 1 2.89-2.89c.28 0 .54.04.79.1V9.01a6.33 6.33 0 0 0-.79-.05 6.34 6.34 0 0 0-6.34 6.34 6.34 6.34 0 0 0 6.34 6.34 6.34 6.34 0 0 0 6.33-6.34V8.69a8.18 8.18 0 0 0 4.78 1.52V6.75a4.85 4.85 0 0 1-1.01-.06z\"\/><\/svg>\r\n        <span id=\"rw-cta-tt-text\"><\/span>\r\n      <\/a>\r\n    <\/div>\r\n  <\/div>\r\n<\/div>\r\n\r\n<script>\r\n(function(){\r\n  var CSV = 'https:\/\/docs.google.com\/spreadsheets\/d\/e\/2PACX-1vRwYEJQQvu8A5aCzPtb_vlK-bUTSpKHNq1pGQo_IrScbTshZayVbwL1S6AMODASFA\/pub?gid=1215148930&single=true&output=csv';\r\n  var igSVG = '<svg viewBox=\"0 0 24 24\"><path d=\"M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zm0-2.163c-3.259 0-3.667.014-4.947.072-4.358.2-6.78 2.618-6.98 6.98-.059 1.281-.073 1.689-.073 4.948 0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98 1.281.058 1.689.072 4.948.072 3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98-1.281-.059-1.69-.073-4.949-.073zm0 5.838c-3.403 0-6.162 2.759-6.162 6.162s2.759 6.163 6.162 6.163 6.162-2.759 6.162-6.163c0-3.403-2.759-6.162-6.162-6.162zm0 10.162c-2.209 0-4-1.79-4-4 0-2.209 1.791-4 4-4s4 1.791 4 4c0 2.21-1.791 4-4 4zm6.406-11.845c-.796 0-1.441.645-1.441 1.44s.645 1.44 1.441 1.44c.795 0 1.439-.645 1.439-1.44s-.644-1.44-1.439-1.44z\"\/><\/svg>';\r\n  var ttSVG  = '<svg viewBox=\"0 0 24 24\"><path d=\"M19.59 6.69a4.83 4.83 0 0 1-3.77-4.25V2h-3.45v13.67a2.89 2.89 0 0 1-2.88 2.5 2.89 2.89 0 0 1-2.89-2.89 2.89 2.89 0 0 1 2.89-2.89c.28 0 .54.04.79.1V9.01a6.33 6.33 0 0 0-.79-.05 6.34 6.34 0 0 0-6.34 6.34 6.34 6.34 0 0 0 6.34 6.34 6.34 6.34 0 0 0 6.33-6.34V8.69a8.18 8.18 0 0 0 4.78 1.52V6.75a4.85 4.85 0 0 1-1.01-.06z\"\/><\/svg>';\r\n  var playSVG = '<svg viewBox=\"0 0 24 24\"><path d=\"M8 5v14l11-7z\"\/><\/svg>';\r\n\r\n  function getPlatform(url) {\r\n    if (url.indexOf('tiktok.com') !== -1) return 'tiktok';\r\n    return 'instagram';\r\n  }\r\n\r\n  \/\/ Fixed English-only copy \u2014 no language switching, no TranslatePress interference\r\n  var labels = {\r\n    ethniki:   { title:'BEST MOMENTS', sub:'Highlights from the official eNational Team competitions' },\r\n    ekypello:  { title:'BEST MOMENTS', sub:'Highlights from the eKypello Elladas' },\r\n    unileague: { title:'BEST MOMENTS', sub:'Highlights from the Allwyn Unileague' },\r\n    home:      { title:'BEST MOMENTS', sub:'Highlights from our official competitions' }\r\n  };\r\n\r\n  var pg = typeof PAGE_ID !== 'undefined' ? PAGE_ID : 'home';\r\n  var lb = labels[pg] || labels['home'];\r\n  document.getElementById('rw-title').textContent = lb.title;\r\n  document.getElementById('rw-sub').textContent   = lb.sub;\r\n  document.getElementById('rw-cta-ig-text').textContent = 'Instagram \\u2192';\r\n  document.getElementById('rw-cta-tt-text').textContent = 'TikTok \\u2192';\r\n\r\n  var btns = document.querySelectorAll('.rw-toggle-btn');\r\n  for (var b = 0; b < btns.length; b++) {\r\n    btns[b].addEventListener('mouseenter', function(){ this.classList.add('active'); });\r\n    btns[b].addEventListener('mouseleave', function(){ this.classList.remove('active'); });\r\n  }\r\n\r\n  function parseCSVRow(row) {\r\n    var result = [], cur = '', inQ = false;\r\n    for (var i = 0; i < row.length; i++) {\r\n      var c = row[i];\r\n      if (c === '\"') { inQ = !inQ; }\r\n      else if (c === ',' && !inQ) { result.push(cur.trim()); cur = ''; }\r\n      else { cur += c; }\r\n    }\r\n    result.push(cur.trim());\r\n    return result;\r\n  }\r\n\r\n  fetch(CSV)\r\n    .then(function(r){ return r.text(); })\r\n    .then(function(text){\r\n      var rows = text.trim().split('\\n').slice(1);\r\n      var filtered = [];\r\n      for (var i = 0; i < rows.length; i++) {\r\n        var cols = parseCSVRow(rows[i]);\r\n        var pid  = (cols[3]||'').replace(\/\"\/g,'').trim();\r\n        var reel = (cols[4]||'').replace(\/\"\/g,'').trim();\r\n        var img  = (cols[5]||'').replace(\/\"\/g,'').trim();\r\n        if (pid === pg && reel && img) filtered.push({reel:reel, img:img});\r\n      }\r\n\r\n      var grid = document.getElementById('rw-grid');\r\n      if (!filtered.length) { grid.innerHTML = ''; return; }\r\n\r\n      grid.innerHTML = filtered.map(function(r){\r\n        var platform = getPlatform(r.reel);\r\n        var icon  = platform === 'tiktok' ? ttSVG : igSVG;\r\n        var label = platform === 'tiktok' ? 'TikTok' : 'Reel';\r\n        return '<a class=\"rw-item\" href=\"'+r.reel+'\" target=\"_blank\">'+\r\n          '<img decoding=\"async\" src=\"'+r.img+'\" alt=\"'+label+'\" loading=\"lazy\">'+\r\n          '<div class=\"rw-overlay\"><\/div>'+\r\n          '<div class=\"rw-play\">'+playSVG+'<\/div>'+\r\n          '<div class=\"rw-badge\">'+icon+'<span>'+label+'<\/span><\/div>'+\r\n        '<\/a>';\r\n      }).join('');\r\n    })\r\n    .catch(function(e){ console.error('Reels widget error:', e); });\r\n})();\r\n<\/script>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>","protected":false},"excerpt":{"rendered":"<p>AllwynUnileague EA FC eFootball Rocket League Free \u00b7 Online 00D : 00H : 00M : 00S First time? See how to play \u2192 Rise of Champions 01 Winner 02 Riser 03 Challenger Swiss Format Loading\u2026 \u03a6\u039f\u0399\u03a4\u0397\u03a4\u0399\u039a\u0397 GAMING \u039a\u039f\u0399\u039d\u039f\u03a4\u0397\u03a4\u0391 STUDENT GAMING COMMUNITY Allwyn Unileague eSports EA FC \u00b7 eFootball \u00b7 Rocket League \u03a6\u03bf\u03b9\u03c4\u03b7\u03c4\u03b9\u03ba\u03ae gaming \u03ba\u03bf\u03b9\u03bd\u03cc\u03c4\u03b7\u03c4\u03b1 \u03c0\u03bf\u03c5&#8230;<\/p>","protected":false},"author":1771,"featured_media":29596,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"_mi_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"_links":{"self":[{"href":"https:\/\/vglesports.com\/el\/wp-json\/wp\/v2\/pages\/19699"}],"collection":[{"href":"https:\/\/vglesports.com\/el\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/vglesports.com\/el\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/vglesports.com\/el\/wp-json\/wp\/v2\/users\/1771"}],"replies":[{"embeddable":true,"href":"https:\/\/vglesports.com\/el\/wp-json\/wp\/v2\/comments?post=19699"}],"version-history":[{"count":10,"href":"https:\/\/vglesports.com\/el\/wp-json\/wp\/v2\/pages\/19699\/revisions"}],"predecessor-version":[{"id":36401,"href":"https:\/\/vglesports.com\/el\/wp-json\/wp\/v2\/pages\/19699\/revisions\/36401"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/vglesports.com\/el\/wp-json\/wp\/v2\/media\/29596"}],"wp:attachment":[{"href":"https:\/\/vglesports.com\/el\/wp-json\/wp\/v2\/media?parent=19699"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}