{"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-11-08T19:16:21","modified_gmt":"2026-11-08T17:16:21","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\/?htp=1\">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\/?htp=1':'https:\/\/vglesports.com\/greece-esports-tournaments\/?htp=1';})();\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:linear-gradient(180deg,#0c111a 0%,#121925 160px); 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\/* BG same as eNational Path to Success *\/\r\n#roc-join{background:#121925!important;}\r\n#roc-join::before{content:'';position:absolute;inset:0;pointer-events:none;z-index:0;background-image:linear-gradient(rgba(0,200,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(0,200,255,.05) 1px,transparent 1px);background-size:32px 32px;background-attachment:fixed;-webkit-mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.3) 50%,#000 100%);mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.3) 50%,#000 100%);}\r\n#roc-join .rj-inner{position:relative;z-index:1;max-width:1140px;}\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 #vglRk2{max-width:none;padding:0;margin:0}\r\n#roc-hub #vglRk2 .rk-card{background:transparent;border:none;border-radius:0}\r\n#roc-hub #vglRk2 .rk-head{display:none}\r\n@media(min-width:1000px){#roc-hub #vglRk2 .rk-body{grid-template-columns:minmax(0,400px) minmax(0,1fr)}}\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\" data-no-translation=\"\" data-trp-no-translate=\"\">\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 type=\"button\" class=\"hub-tab on\" data-g=\"eafc\" style=\"--c:#4ade80\">EA FC<\/button>\r\n      <button type=\"button\" class=\"hub-tab\" data-g=\"rl\" style=\"--c:#ff6b35\">ROCKET LEAGUE<\/button>\r\n      <button type=\"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 type=\"button\" class=\"hub-v on\" data-v=\"final\"><span class=\"hub-live\"><\/span>Final Stage<\/button>\r\n    <\/div>\r\n    <span class=\"hub-note\" id=\"hubNote\"><\/span>\r\n  <\/div>\r\n  <div class=\"hub-pane\" data-pane=\"rank\" style=\"display:none!important\">\r\n\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  #vglRk2 { --acc:#4ade80; --gold:#f0c040; --teal:#2dd4bf; --ch:#a78bfa; 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  #vglRk2 *, #vglRk2 *::before, #vglRk2 *::after { box-sizing:border-box; }\r\n  #vglRk2 button, #vglRk2 input { font-family:'Barlow',sans-serif; }\r\n  #vglRk2 .rk-card { background:#1a2332; border:1px solid rgba(255,255,255,0.15); border-radius:12px; overflow:hidden; }\r\n  #vglRk2 .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  #vglRk2 .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  #vglRk2 .rk-title small { display:block; font-family:'Barlow',sans-serif; font-size:11px; letter-spacing:3px; font-weight:700; color:rgba(255,255,255,0.45); margin-bottom:4px; }\r\n  #vglRk2 .rk-tabs { display:flex; gap:4px; flex-wrap:wrap; }\r\n  #vglRk2 .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  #vglRk2 .rk-tab:hover { color:#fff; }\r\n  #vglRk2 .rk-tab.on { color:var(--c); border-bottom-color:var(--c); background:rgba(255,255,255,0.05); }\r\n  #vglRk2 .rk-body { display:grid; grid-template-columns:minmax(0,340px) minmax(0,1fr); }\r\n  #vglRk2 .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  #vglRk2 .rk-side-h { display:flex; align-items:baseline; justify-content:space-between; gap:8px; }\r\n  #vglRk2 .rk-side-h b { font-family:'Bebas Neue',sans-serif; font-weight:400; font-size:26px; letter-spacing:1.5px; color:#fff; }\r\n  #vglRk2 .rk-side-h span { font-size:12px; font-weight:700; color:rgba(255,255,255,0.5); }\r\n  #vglRk2 .rk-grp { display:flex; flex-direction:column; gap:8px; }\r\n  #vglRk2 .rk-grp-h { display:flex; justify-content:space-between; font-size:11px; letter-spacing:2px; font-weight:700; }\r\n  #vglRk2 .rk-slots { display:grid; grid-template-columns:1fr 1fr; gap:6px; }\r\n  #vglRk2 .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  #vglRk2 .rk-slot:hover { transform:translateY(-2px); border-color:rgba(255,255,255,0.4); background:rgba(255,255,255,0.04); }\r\n  #vglRk2 .rk-slot span { font-size:9px; letter-spacing:2px; font-weight:700; color:rgba(255,255,255,0.35); }\r\n  #vglRk2 .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  #vglRk2 .rk-slot-n { display:flex; justify-content:space-between; align-items:baseline; gap:6px; min-width:0; }\r\n  #vglRk2 .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  #vglRk2 .rk-slot.w { border-style:solid; border-color:rgba(240,192,64,0.4); background:rgba(240,192,64,0.08); }\r\n  #vglRk2 .rk-slot.w span, #vglRk2 .rk-slot.w em { color:var(--gold); }\r\n  #vglRk2 .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  #vglRk2 .rk-slot.r { border-style:solid; border-color:rgba(45,212,191,0.4); background:rgba(45,212,191,0.08); }\r\n  #vglRk2 .rk-slot.r span, #vglRk2 .rk-slot.r em { color:var(--teal); }\r\n  #vglRk2 .rk-slot.r:hover, #vglRk2 .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  #vglRk2 .rk-slot.c { border-style:solid; border-color:rgba(167,139,250,0.4); background:rgba(167,139,250,0.08); }\r\n  #vglRk2 .rk-slot.c span, #vglRk2 .rk-slot.c em { color:var(--ch); }\r\n  #vglRk2 .rk-slot.c:hover, #vglRk2 .rk-slot.c.hl { transform:translateY(-2px); border-color:var(--ch); background:rgba(167,139,250,0.14); box-shadow:0 6px 18px -6px rgba(167,139,250,0.45); }\r\n  #vglRk2 .rk-slot.w b, #vglRk2 .rk-slot.r b, #vglRk2 .rk-slot.c b { color:#fff; }\r\n  #vglRk2 .rk-prov { font-size:11px; color:rgba(255,255,255,0.45); letter-spacing:.5px; }\r\n  #vglRk2 .rk-main { min-width:0; }\r\n  #vglRk2 .rk-search-row { display:flex; gap:8px; padding:12px 16px; border-bottom:1px solid rgba(255,255,255,0.06); }\r\n  #vglRk2 .rk-search { flex:1; min-width:0; 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  #vglRk2 .rk-search::placeholder { color:rgba(255,255,255,0.3); }\r\n  #vglRk2 .rk-search:focus { border-color:var(--acc); }\r\n  #vglRk2 .rk-views { display:flex; border:1px solid rgba(255,255,255,0.08); border-radius:3px; overflow:hidden; flex-shrink:0; }\r\n  #vglRk2 .rk-view { border:none; background:transparent; color:rgba(255,255,255,0.5); font-size:12px; font-weight:700; letter-spacing:1px; padding:0 12px; cursor:pointer; }\r\n  #vglRk2 .rk-view + .rk-view { border-left:1px solid rgba(255,255,255,0.08); }\r\n  #vglRk2 .rk-view.on { color:#fff; background:rgba(255,255,255,0.08); }\r\n  #vglRk2 .rk-view.on[data-view=\"ch\"] { color:var(--ch); }\r\n  #vglRk2 .rk-view.on[data-view=\"crew\"] { color:var(--gold); }\r\n  #vglRk2 .rk-cols, #vglRk2 .rk-row { display:grid; grid-template-columns:40px minmax(0,1fr) 64px 60px 60px; padding:9px 16px; align-items:center; }\r\n  #vglRk2 .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  #vglRk2 .rk-cols span:nth-child(n+3), #vglRk2 .rk-row > :nth-child(n+3) { text-align:right; }\r\n  #vglRk2 .rk-row { position:relative; border-bottom:1px solid rgba(255,255,255,0.04); transition:background .15s; }\r\n  #vglRk2 .rk-row:hover { background:rgba(255,255,255,0.05); }\r\n  #vglRk2 .rk-row.in { background:rgba(45,212,191,0.06); }\r\n  #vglRk2 .rk-row.inc { background:rgba(167,139,250,0.07); }\r\n  #vglRk2 .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  #vglRk2 .rk-row.inc.hl { background:rgba(167,139,250,0.2); box-shadow:inset 3px 0 0 var(--ch), 0 0 22px -4px rgba(167,139,250,0.55); }\r\n  #vglRk2 .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:rk2Shine .9s cubic-bezier(.2,.8,.2,1) forwards; pointer-events:none; }\r\n  @keyframes rk2Shine { to { left:110%; } }\r\n  #vglRk2 .rk-pos { font-family:'Bebas Neue',sans-serif; font-size:18px; color:rgba(255,255,255,0.35); }\r\n  #vglRk2 .rk-row.in .rk-pos, #vglRk2 .rk-row.inc .rk-pos { color:#fff; }\r\n  #vglRk2 .rk-name { display:flex; align-items:center; gap:6px; min-width:0; font-size:14px; font-weight:600; color:rgba(255,255,255,0.75); }\r\n  #vglRk2 .rk-row.in .rk-name, #vglRk2 .rk-row.inc .rk-name, #vglRk2 .rk-row.hl .rk-name { font-weight:700; color:#fff; }\r\n  #vglRk2 .rk-who { display:flex; flex-direction:column; min-width:0; line-height:1.25; }\r\n  #vglRk2 .rk-nl { display:flex; align-items:center; gap:6px; min-width:0; }\r\n  #vglRk2 .rk-chip { flex-shrink:0; font-style:normal; font-size:9px; line-height:1; letter-spacing:1.2px; font-weight:700; padding:4px 7px 3px; border-radius:20px; color:#ddd6fe; background:rgba(167,139,250,0.22); border:none; }\r\n  #vglRk2 .rk-chip.top { color:#121925; background:var(--gold); }\r\n  #vglRk2.crew .rk-pts { color:var(--gold); }\r\n  #vglRk2 .rk-view.on[data-view=\"final\"] { color:var(--acc); }\r\n  #vglRk2.fs .rk-cols { display:none; }\r\n  #vglRk2 .rk-search-row { flex-wrap:wrap; }\r\n  #vglRk2 .rk-search { min-width:180px; }\r\n  #vglRk2 .rk-views { min-height:38px; }\r\n  #vglRk2 .fs-p.dim { opacity:.3; }\r\n  #vglRk2 .fs-p.match { background:rgba(255,255,255,0.08); box-shadow:inset 3px 0 0 var(--acc); }\r\n  #vglRk2 .fs-head { display:flex; justify-content:space-between; align-items:center; gap:10px; flex-wrap:wrap; padding:14px 16px; border-bottom:1px solid rgba(255,255,255,0.06); }\r\n  #vglRk2 .fs-head b { font-family:'Bebas Neue',sans-serif; font-weight:400; font-size:24px; letter-spacing:1.5px; color:#fff; }\r\n  #vglRk2 .fs-head span { font-size:12px; font-weight:600; color:rgba(255,255,255,0.55); }\r\n  #vglRk2 .fs-grid { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:12px; padding:16px; }\r\n  #vglRk2 .fs-g { border:1px solid rgba(255,255,255,0.1); border-radius:8px; overflow:hidden; background:rgba(0,0,0,0.15); }\r\n  #vglRk2 .fs-gh { padding:9px 12px; font-family:'Bebas Neue',sans-serif; font-size:20px; letter-spacing:1.5px; color:var(--acc); background:rgba(255,255,255,0.04); border-bottom:1px solid rgba(255,255,255,0.08); }\r\n  #vglRk2 .fs-p { display:flex; align-items:center; gap:10px; padding:9px 12px; border-bottom:1px solid rgba(255,255,255,0.04); min-width:0; }\r\n  #vglRk2 .fs-p:last-child { border-bottom:none; }\r\n  #vglRk2 .fs-p { position:relative; transition:background .15s, box-shadow .15s; }\r\n  #vglRk2 .fs-p:hover, #vglRk2 .fs-p.hl { background:rgba(255,255,255,0.08); box-shadow:inset 3px 0 0 var(--acc); }\r\n  #vglRk2 .fs-p.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:rk2Shine .9s cubic-bezier(.2,.8,.2,1) forwards; pointer-events:none; }\r\n  #vglRk2 .fs-g { position:relative; }\r\n  #vglRk2 .rk-slot.w.hl { transform:translateY(-2px); 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  #vglRk2 .fs-s { flex-shrink:0; width:22px; font-family:'Bebas Neue',sans-serif; font-size:16px; color:rgba(255,255,255,0.35); }\r\n  #vglRk2 .fs-p .rk-who { flex:1; }\r\n  #vglRk2 .fs-p .rk-who b { font-size:14px; font-weight:700; color:#fff; }\r\n  #vglRk2 .fs-t { flex-shrink:0; font-size:9px; letter-spacing:1.2px; font-weight:700; padding:4px 7px 3px; border-radius:20px; line-height:1; }\r\n  #vglRk2 .fs-t.w { color:#121925; background:var(--gold); }\r\n  #vglRk2 .fs-t.r { color:#121925; background:var(--teal); }\r\n  #vglRk2 .fs-t.c { color:#ddd6fe; background:rgba(167,139,250,0.3); }\r\n  #vglRk2 .fs-lock { padding:40px 20px; text-align:center; }\r\n  #vglRk2 .fs-lock b { display:block; font-family:'Bebas Neue',sans-serif; font-weight:400; font-size:26px; letter-spacing:1.5px; color:#fff; margin-bottom:6px; }\r\n  #vglRk2 .fs-lock span { font-size:13px; color:rgba(255,255,255,0.5); }\r\n  #vglRk2 .fs-note { padding:0 16px 16px; font-size:11px; color:rgba(255,255,255,0.4); letter-spacing:.5px; }\r\n  #vglRk2 .rk-mem { font-size:22px; }\r\n  #vglRk2 .rk-new { font-style:normal; font-family:'Barlow',sans-serif; font-size:10px; font-weight:700; color:#4ade80; margin-left:4px; vertical-align:middle; }\r\n  #vglRk2.crew .rk-wr { font-size:14px; color:rgba(255,255,255,0.5); }\r\n  #vglRk2.crew .rk-cols, #vglRk2.crew .rk-row { grid-template-columns:40px minmax(0,1fr) 64px 80px 130px; }\r\n  #vglRk2.crew .rk-row.top { background:rgba(240,192,64,0.07); box-shadow:inset 3px 0 0 var(--gold); }\r\n  #vglRk2.crew .rk-row.top .rk-pos { color:var(--gold); }\r\n  #vglRk2 .rk-lvl { display:flex; flex-direction:column; align-items:flex-end; line-height:1.25; font-size:12px; font-weight:700; letter-spacing:1px; text-transform:uppercase; color:rgba(255,255,255,0.8); }\r\n  #vglRk2 .rk-top { display:flex; align-items:center; gap:14px; padding:14px 16px; background:linear-gradient(90deg, rgba(240,192,64,0.16), rgba(240,192,64,0.03)); border-bottom:1px solid rgba(240,192,64,0.3); box-shadow:inset 3px 0 0 var(--gold); }\r\n  #vglRk2 .rk-top-ic { flex-shrink:0; width:38px; height:38px; border-radius:50%; display:grid; place-items:center; background:var(--gold); color:#121925; font-size:18px; }\r\n  #vglRk2 .rk-top-t { min-width:0; flex:1; display:flex; flex-direction:column; gap:2px; }\r\n  #vglRk2 .rk-top-t span { font-size:10px; letter-spacing:2px; font-weight:700; color:var(--gold); }\r\n  #vglRk2 .rk-top-t b { font-family:'Bebas Neue',sans-serif; font-weight:400; font-size:24px; letter-spacing:1px; color:#fff; line-height:1; }\r\n  #vglRk2 .rk-top-t small { font-size:12px; color:rgba(255,255,255,0.6); }\r\n  #vglRk2 .rk-top-n { text-align:right; flex-shrink:0; }\r\n  #vglRk2 .rk-top-n b { display:block; font-family:'Bebas Neue',sans-serif; font-weight:400; font-size:28px; color:var(--gold); line-height:1; }\r\n  #vglRk2 .rk-top-n span { font-size:10px; letter-spacing:1.5px; font-weight:700; color:rgba(255,255,255,0.5); }\r\n  #vglRk2 .rk-lvl small { font-size:10px; font-weight:600; letter-spacing:.5px; text-transform:none; color:rgba(240,192,64,0.75); white-space:nowrap; }\r\n  #vglRk2 .rk-who > b { font-weight:inherit; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }\r\n  #vglRk2 .rk-sub { font-size:11px; font-weight:600; letter-spacing:.5px; color:rgba(240,192,64,0.75); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }\r\n  #vglRk2 .rk-pts { font-family:'Bebas Neue',sans-serif; font-size:18px; color:var(--acc); }\r\n  #vglRk2 .rk-wr { font-family:'Bebas Neue',sans-serif; font-size:16px; color:rgba(255,255,255,0.6); }\r\n  #vglRk2 .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  #vglRk2 .rk-cut > span:first-child { font-size:11px; letter-spacing:2px; font-weight:700; color:var(--teal); }\r\n  #vglRk2 .rk-cut > span:last-child { font-size:13px; font-weight:600; color:#fff; }\r\n  #vglRk2 .rk-cut b { color:var(--teal); }\r\n  #vglRk2 .rk-cut.c { background:rgba(167,139,250,0.08); border-top-color:var(--ch); border-bottom-color:rgba(167,139,250,0.25); }\r\n  #vglRk2 .rk-cut.c > span:first-child, #vglRk2 .rk-cut.c b { color:var(--ch); }\r\n  #vglRk2 .rk-msg { padding:28px; text-align:center; font-size:13px; color:rgba(255,255,255,0.35); letter-spacing:1px; }\r\n  #vglRk2 .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  #vglRk2 .rk-pager:empty { display:none; }\r\n  #vglRk2 .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  #vglRk2 .rk-pg.on { border-color:var(--acc); color:var(--acc); }\r\n  #vglRk2 .rk-pg:disabled { opacity:0.25; cursor:default; }\r\n  #vglRk2 .rv { animation:rk2Rv .5s cubic-bezier(.2,.8,.2,1) backwards; }\r\n  @keyframes rk2Rv { 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:760px) {\r\n    #vglRk2 { padding:24px 10px 40px; }\r\n    #vglRk2 .rk-head { padding:18px 14px 0; }\r\n    #vglRk2 .rk-title { font-size:38px; padding-bottom:6px; }\r\n    #vglRk2 .rk-tabs { width:100%; }\r\n    #vglRk2 .rk-tab { flex:1; padding:10px 6px; font-size:12px; }\r\n    #vglRk2 .rk-body { grid-template-columns:1fr; }\r\n    #vglRk2 .rk-side { border-right:none; border-bottom:1px solid rgba(255,255,255,0.1); padding:16px 12px; }\r\n    #vglRk2 .rk-search-row { padding-left:12px; padding-right:12px; }\r\n    #vglRk2 .rk-cols, #vglRk2 .rk-row { grid-template-columns:30px minmax(0,1fr) 48px 46px 46px; padding-left:12px; padding-right:12px; }\r\n    #vglRk2 .rk-cut { padding-left:12px; padding-right:12px; }\r\n    #vglRk2.crew .rk-cols, #vglRk2.crew .rk-row { grid-template-columns:30px minmax(0,1fr) 44px 36px 96px; }\r\n    #vglRk2 .rk-lvl { font-size:10px; letter-spacing:.5px; }\r\n    #vglRk2 .rk-lvl small { font-size:9px; }\r\n    #vglRk2 .fs-grid { grid-template-columns:1fr; padding:12px; }\r\n  }\r\n<\/style>\r\n\r\n<div id=\"vglRk2\" class=\"notranslate\" translate=\"no\" data-no-translation=\"\" data-trp-no-translate=\"\">\r\n  <div class=\"rk-card\">\r\n    <div class=\"rk-head\">\r\n      <h2 class=\"rk-title\"><small>RISE OF CHAMPIONS \u00b7 SEASON 1<\/small><span id=\"rk2Title\"><\/span><\/h2>\r\n      <div class=\"rk-tabs\" id=\"rk2Tabs\"><\/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=\"rk2Total\"><\/span><\/div>\r\n        <div class=\"rk-prov\" id=\"rk2Prov\"><\/div>\r\n        <div class=\"rk-grp\">\r\n          <div class=\"rk-grp-h\" style=\"color:var(--gold)\"><span>QUALIFIER WINNERS<\/span><span id=\"rk2WinCount\"><\/span><\/div>\r\n          <div class=\"rk-slots\" id=\"rk2Win\"><\/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=\"rk2RankCount\"><\/span><\/div>\r\n          <div class=\"rk-slots\" id=\"rk2Rank\"><\/div>\r\n        <\/div>\r\n      <\/div>\r\n      <div class=\"rk-main\">\r\n        <div class=\"rk-search-row\"><div style=\"position:relative;flex:1;min-width:180px;display:flex\"><input class=\"rk-search\" id=\"rk2Search\" type=\"text\" autocomplete=\"off\" style=\"padding-right:40px\"><button type=\"button\" id=\"rk2SX\" aria-label=\"Clear search\" style=\"display:none;position:absolute;right:4px;top:50%;transform:translateY(-50%);width:32px;height:32px;align-items:center;justify-content:center;background:transparent;border:none;color:rgba(255,255,255,0.6);font-size:20px;line-height:1;cursor:pointer;padding:0\">\u00d7<\/button><\/div><\/div>\r\n        <div class=\"rk-cols\"><span><\/span><span id=\"rk2Col\">Participant<\/span><span>Points<\/span><span>W%<\/span><span><\/span><\/div>\r\n        <div id=\"rk2Rows\"><\/div>\r\n        <div class=\"rk-cbar\" id=\"rk2CBar\"><\/div>\r\n        <div class=\"rk-pager\" id=\"rk2Pager\"><\/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 PAGE1 = 12, PAGE = 13; \/\/ players on page 1 \/ on every next page\r\n  var pageStart = function (p) { return p === 1 ? 0 : PAGE1 + (p - 2) * PAGE; };\r\n  var pageCount = function (n) { return n <= PAGE1 ? 1 : 1 + Math.ceil((n - PAGE1) \/ PAGE); };\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, cmp:[] }, DATA = {}, STATUS = {};\r\n  var root = document.getElementById('vglRk2');\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  var key = function (r) { return String(r.name).toLowerCase(); };\r\n\r\n  \/\/ Winners = points \"QF\". Risers = top N of the rest (locked once all Winners are in)\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(key);\r\n    rows.forEach(function (r) { if (String(r.points).toUpperCase() !== 'QF' && wn.indexOf(key(r)) === -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  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  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[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    $('rk2Tabs').innerHTML = ORDER.map(function (id) {\r\n      var g = GAMES[id];\r\n      return '<button type=\"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 slots(n, items, cls, label) {\r\n    var h = '';\r\n    for (var i = 0; i < n; i++) {\r\n      var r = items[i];\r\n      h += '<div class=\"rk-slot' + (r ? ' ' + cls : '') + '\"' + (r ? ' data-nm=\"' + esc(key(r)) + '\"' : '') + ' title=\"' + label + (i + 1) + '\"><span class=\"rk-slot-i\">' + (i + 1) + '<\/span><div class=\"rk-slot-n\"><b>' + (r ? esc(r.name) : 'Open') + '<\/b>' + (r && fmtWR(r.wr) !== '\u2014' ? '<em>' + esc(fmtWR(r.wr)) + '<\/em>' : '') + '<\/div><\/div>';\r\n    }\r\n    return h;\r\n  }\r\n\r\n  function renderSide() {\r\n    var g = GAMES[S.game], d = split(S.game), full = d.winners.length >= g.win, ri = full ? d.list.slice(0, g.rank) : [], left = g.win - d.winners.length;\r\n    $('rk2Win').innerHTML = slots(g.win, d.winners, 'w', 'QUALIFIER #');\r\n    $('rk2Rank').innerHTML = slots(g.rank, ri, 'r', 'RANK #');\r\n    $('rk2WinCount').textContent = Math.min(d.winners.length, g.win) + '\/' + g.win;\r\n    $('rk2RankCount').textContent = ri.length + '\/' + g.rank;\r\n    $('rk2Total').textContent = (g.win + g.rank) + ' spots';\r\n    $('rk2Prov').textContent = full || STATUS[S.game] !== 'ok' ? '' : left + ' qualifier' + (left > 1 ? 's' : '') + ' remaining \u00b7 Risers lock after the last one';\r\n  }\r\n\r\n  function renderTable() {\r\n    var g = GAMES[S.game], rowsEl = $('rk2Rows'), pager = $('rk2Pager');\r\n    pager.innerHTML = '';\r\n    if (STATUS[S.game] === 'loading' || !STATUS[S.game]) { rowsEl.innerHTML = '<div class=\"rk-msg\">Loading...<\/div>'; return; }\r\n    if (STATUS[S.game] === 'error') { rowsEl.innerHTML = '<div class=\"rk-msg\" style=\"color:#ff6b6b\">Could not load data. Please refresh the page.<\/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 key(r).indexOf(q) !== -1; }) : d.list;\r\n    if (!data.length) { rowsEl.innerHTML = '<div class=\"rk-msg\">' + (d.list.length ? 'No results found.' : 'No data found.') + '<\/div>'; return; }\r\n    var slice = data.slice(0, pageStart(2));\r\n    var cutA = d.list[g.rank - 1], cutB = d.list[g.rank], html = '';\r\n    slice.forEach(function (r) {\r\n      html += '<div class=\"rk-row' + (r.pos <= g.rank ? ' in' : '') + '\" data-nm=\"' + esc(key(r)) + '\"><span class=\"rk-pos\">' + r.pos + '<\/span><span class=\"rk-name\"><span class=\"rk-who\"><span class=\"rk-nl\"><b>' + esc(r.name) + '<\/b><\/span>' + (q && cutA ? (r.pos <= g.rank ? '<span style=\"font-size:12px;font-weight:700;letter-spacing:.3px;color:#2dd4bf\">\u25b2 In Risers zone<\/span>' : '<span style=\"font-size:12px;font-weight:600;letter-spacing:.3px;color:rgba(255,255,255,0.6)\">Needs <b style=\"color:#2dd4bf;font-weight:800\">' + (num(cutA.points) - num(r.points) + 1) + ' pts<\/b> to become a Riser<\/span>') : '') + '<\/span><\/span>' +\r\n        '<span class=\"rk-pts\">' + esc(r.points) + '<\/span><span class=\"rk-wr\">' + esc(fmtWR(r.wr)) + '<\/span>' + vsBtn(r) + '<\/div>';\r\n      if (!q && cutA && cutB && r.pos === g.rank)\r\n        html += '<div class=\"rk-cut\"><span>\u25b2 QUALIFY ZONE<\/span><span>' + ord(g.rank + 1) + ' place needs <b>' + (num(cutA.points) - num(cutB.points) + 1) + ' pts<\/b> to enter the Risers<\/span><\/div>';\r\n    });\r\n    rowsEl.innerHTML = html;\r\n    renderBar();\r\n    pager.innerHTML = '<button type=\"button\" data-find=\"1\" style=\"display:flex;align-items:center;gap:10px;margin:0 auto;background:transparent;border:1px solid rgba(0,200,255,.35);border-radius:8px;color:#fff;font:600 14px\/1.3 inherit;padding:10px 18px;cursor:pointer\"><svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#00c8ff\" stroke-width=\"2.4\" stroke-linecap=\"round\"><circle cx=\"11\" cy=\"11\" r=\"7\"\/><path d=\"M20 20l-3.5-3.5\"\/><\/svg><span>' + (q ? 'Try another name' : 'Can\\'t find your name? <b style=\"color:#00c8ff\">Search for it<\/b>') + '<\/span><\/button>';\r\n  }\r\n\r\n  var VS_ICO = '<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M7 4L3 8l4 4M3 8h13M17 12l4 4-4 4M21 16H8\"\/><\/svg>';\r\n  function vsBtn(r) {\r\n    var i = S.cmp.indexOf(key(r));\r\n    return '<span class=\"rk-vsc\"><button type=\"button\" class=\"rk-vs' + (i >= 0 ? ' on' : '') + '\" data-vs=\"' + esc(key(r)) + '\" title=\"Compare\" aria-label=\"Compare ' + esc(r.name) + '\">' + (i >= 0 ? (i ? 'B' : 'A') : VS_ICO) + '<\/button><\/span>';\r\n  }\r\n  function findP(k) { var l = split(S.game).list; for (var i = 0; i < l.length; i++) if (key(l[i]) === k) return l[i]; return null; }\r\n  function renderBar() {\r\n    var b = $('rk2CBar'), a = S.cmp[0] && findP(S.cmp[0]);\r\n    if (!a || S.cmp.length !== 1) { b.innerHTML = ''; return; }\r\n    b.innerHTML = '<i>COMPARE<\/i><span><b>' + esc(a.name) + '<\/b> vs \u2026 pick a second ' + (S.game === 'rl' ? 'team' : 'player') + ' (or search for one)<\/span><button type=\"button\" data-cclr=\"1\">CLEAR \u2715<\/button>';\r\n  }\r\n  function openCmp() {\r\n    var g = GAMES[S.game], d = split(S.game), A = findP(S.cmp[0]), B = findP(S.cmp[1]); if (!A || !B) return;\r\n    var cut = d.list[g.rank - 1];\r\n    var zone = function (r) { if (r.pos <= g.rank) return '<em class=\"in\">\u25b2 In Risers zone<\/em>'; return '<em>' + (cut ? (num(cut.points) - num(r.points) + 1) + ' pts from Risers zone' : '') + '<\/em>'; };\r\n    var wr = function (r) { var s = fmtWR(r.wr); return s === '\u2014' ? null : num(s); };\r\n    var stat = function (lbl, va, vb, ta, tb, lowWins) {\r\n      var w = va === null || vb === null || va === vb ? 0 : ((lowWins ? va < vb : va > vb) ? 1 : 2);\r\n      var fa = 0, fb = 0;\r\n      if (va !== null && vb !== null) {\r\n        if (lowWins) { var mx = Math.max(va, vb); fa = mx ? (mx - va + 1) \/ mx * 100 : 0; fb = mx ? (mx - vb + 1) \/ mx * 100 : 0; }\r\n        else { var m = Math.max(va, vb) || 1; fa = va \/ m * 100; fb = vb \/ m * 100; }\r\n      }\r\n      return '<div class=\"cm-s\"><span class=\"cm-v a' + (w === 1 ? ' w' : '') + '\">' + ta + '<\/span><div class=\"cm-m\"><span class=\"cm-l\">' + lbl + '<\/span><div class=\"cm-bar\"><span class=\"' + (w === 1 ? 'w' : '') + '\" style=\"--w:' + fa + '%\"><\/span><span class=\"' + (w === 2 ? 'w' : '') + '\" style=\"--w:' + fb + '%\"><\/span><\/div><\/div><span class=\"cm-v b' + (w === 2 ? ' w' : '') + '\">' + tb + '<\/span><\/div>';\r\n    };\r\n    var pa = num(A.points), pb = num(B.points), diff = Math.abs(pa - pb);\r\n    var sum = diff ? '<b>' + esc(pa > pb ? A.name : B.name) + '<\/b> leads by <b>' + diff + ' pts<\/b>' : 'Level on points';\r\n    var m = $('rk2Cmp'); if (!m) { m = document.createElement('div'); m.id = 'rk2Cmp'; m.className = 'notranslate'; m.setAttribute('translate', 'no'); document.body.appendChild(m); m.addEventListener('click', cmpClick); }\r\n    m.style.setProperty('--acc', g.acc);\r\n    m.innerHTML = '<div class=\"cm-bg\" data-cx=\"1\"><\/div><div class=\"cm-card\" role=\"dialog\" aria-label=\"Head to head\"><div class=\"cm-h\"><span>HEAD TO HEAD \u00b7 ' + esc(g.name.toUpperCase()) + '<\/span><button type=\"button\" class=\"cm-x\" data-cx=\"1\" aria-label=\"Close\">\u00d7<\/button><\/div>' +\r\n      '<div class=\"cm-top\"><div class=\"cm-p a\"><i>#' + A.pos + '<\/i><b>' + esc(A.name) + '<\/b>' + zone(A) + '<\/div><div class=\"cm-vs\">VS<\/div><div class=\"cm-p b\"><i>#' + B.pos + '<\/i><b>' + esc(B.name) + '<\/b>' + zone(B) + '<\/div><\/div>' +\r\n      stat('RANK', A.pos, B.pos, '#' + A.pos, '#' + B.pos, true) +\r\n      stat('POINTS', pa, pb, esc(A.points), esc(B.points)) +\r\n      stat('WIN %', wr(A), wr(B), esc(fmtWR(A.wr)), esc(fmtWR(B.wr))) +\r\n      '<div class=\"cm-sum\">' + sum + '<\/div><div class=\"cm-f\"><button type=\"button\" data-cnew=\"1\">NEW COMPARISON<\/button><\/div><\/div>';\r\n    m.style.display = 'flex';\r\n    document.addEventListener('keydown', cmpKey);\r\n  }\r\n  function closeCmp(clear) {\r\n    var m = $('rk2Cmp'); if (m) m.style.display = 'none';\r\n    document.removeEventListener('keydown', cmpKey);\r\n    S.cmp = clear ? [] : S.cmp.slice(0, 1); renderTable();\r\n  }\r\n  function cmpKey(e) { if (e.key === 'Escape') closeCmp(false); }\r\n  function cmpClick(e) {\r\n    var t = e.target.closest('[data-cx],[data-cnew]'); if (!t) return;\r\n    if (t.hasAttribute('data-cnew')) { closeCmp(true); var s = $('rk2Search'); s.value = ''; S.q = ''; $('rk2SX').style.display = 'none'; renderTable(); s.focus({ preventScroll:true }); }\r\n    else closeCmp(false);\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    $('rk2Title').textContent = g.name;\r\n    $('rk2Search').placeholder = g.ph;\r\n    $('rk2Col').textContent = g.col;\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 = ''; S.cmp = []; $('rk2Search').value = ''; syncX(); renderAll(true);\r\n    } else if (t.hasAttribute('data-vs')) {\r\n      var nk = t.getAttribute('data-vs'), ix = S.cmp.indexOf(nk);\r\n      if (ix >= 0) S.cmp.splice(ix, 1); else if (S.cmp.length < 2) S.cmp.push(nk); else S.cmp[1] = nk;\r\n      renderTable();\r\n      if (S.cmp.length === 2) openCmp();\r\n    } else if (t.hasAttribute('data-cclr')) {\r\n      S.cmp = []; renderTable();\r\n    } else if (t.hasAttribute('data-find')) {\r\n      var s = $('rk2Search'), y = s.getBoundingClientRect().top + window.pageYOffset - 120;\r\n      window.scrollTo({ top:y, behavior:'smooth' }); s.select(); s.focus({ preventScroll:true });\r\n    }\r\n  });\r\n  function syncX() { $('rk2SX').style.display = $('rk2Search').value ? 'flex' : 'none'; }\r\n  $('rk2Search').addEventListener('input', function (e) { S.q = e.target.value; S.page = 1; syncX(); renderTable(); });\r\n  $('rk2Search').addEventListener('keydown', function (e) { if (e.key === 'Enter') e.preventDefault(); if (e.key === 'Escape' && this.value) { this.value = ''; S.q = ''; syncX(); renderTable(); } });\r\n  $('rk2SX').addEventListener('click', function (e) { e.preventDefault(); e.stopPropagation(); var s = $('rk2Search'); s.value = ''; S.q = ''; syncX(); renderTable(); s.focus({ preventScroll:true }); });\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) { if (!r.ok) throw new Error(r.status); 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  \/\/ same height for all games so the page doesn't jump when switching\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.q = ''; S.page = 1; 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, _rw = window.innerWidth; window.addEventListener('resize', function () { if (window.innerWidth === _rw) return; _rw = window.innerWidth; clearTimeout(_rt); _rt = setTimeout(lockHeight, 250); });\r\n\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 on\" 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#vgl-finals-widget .fn-rm-date small{display:block;font-size:10px;font-weight:600;color:var(--fn-muted)}\r\n#vgl-finals-widget .fn-rnd{grid-column:1\/-1;font-family:'Bebas Neue',sans-serif;font-size:12px;letter-spacing:2.5px;color:var(--fn-dim);padding:12px 0 2px;border-bottom:1px solid rgba(255,255,255,0.08)}\r\n#vgl-finals-widget .fn-soon small{display:block;font-family:'Barlow',sans-serif;font-size:13px;letter-spacing:.5px;color:rgba(255,255,255,0.4);margin-top:8px}\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 type=\"button\" class=\"fn-tab\" data-g=\"eafc\" onclick=\"fnSwitch('eafc')\"><i><\/i>EA FC<\/button>\r\n      <button type=\"button\" class=\"fn-tab\" data-g=\"rl\" onclick=\"fnSwitch('rl')\"><i><\/i>Rocket League<\/button>\r\n      <button type=\"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\n\/\/ Season 1: one sheet per game (groups + group matches) + matches DB (knockout, event \"RoC 26\")\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={}, FN_BAR={}, FN_SUB={};\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\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().replace(\/\\s*\\d+$\/,''))).sort((a,b)=>fnParseVGLDate(a.date)-fnParseVGLDate(b.date));\r\n\r\n\/\/ \u2500\u2500 Knockout \u2500\u2500\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\nfunction fnRenderKO(ko,pm,g){\r\n  FN_BAR[g]='';\r\n  if(!ko.length) return '';\r\n  let qf=fnPhase(ko,['quarterfinal','quarterfinals','quarter-final']), sf=fnPhase(ko,['semifinal','semifinals','semi-final']);\r\n  const fnNum=m=>{ const x=String(m&&m.phase||'').match(\/(\\d+)\/); return x?+x[1]:99; }; qf.sort((a,b)=>fnNum(a)-fnNum(b)); sf.sort((a,b)=>fnNum(a)-fnNum(b));\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 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]='';\r\n  let sLx=null,sRx=null,qLx=[],qRx=[];\r\n  const fnSideTeams=(s,qs)=>[s,...qs].flatMap(m=>{ if(!m) return []; const rr=fnRes(m); return ['h','a'].map(x=>(fnSide(rr,x,pm)||{}).t).filter(Boolean); });\r\n  const vs=(m,cls)=>{\r\n    if(!m) return `<div class=\"fn-vs ${cls}\"><span class=\"fn-vs-t h tbd\"><b>TBD<\/b><\/span><span class=\"fn-vs-sc\">\u2013<\/span><span class=\"fn-vs-t a tbd\"><b>TBD<\/b><\/span><\/div>`;\r\n    const r=fnRes(m), sd=s=>{ const x=fnSide(r,s,pm); return `<span class=\"fn-vs-t ${s}${!r.done?' tbd':(r.w===s?' win':'')}\"${fnDT(x.t)}><b>${esc(x.t||'TBD')}<\/b>${x.p?`<i>${esc(x.p)}<\/i>`:''}<\/span>`; };\r\n    const h=r.done?fnSide(r,'h',pm).sc:'', a=r.done?fnSide(r,'a',pm).sc:'';\r\n    const nz=x=>String(x||'').trim().toLowerCase(), tL=new Set(fnSideTeams(sLx,qLx).map(nz)), tR=new Set(fnSideTeams(sRx,qRx).map(nz)), hT=nz((fnSide(r,'h',pm)||{}).t), aT=nz((fnSide(r,'a',pm)||{}).t), fl=!!(tR.has(hT)||tL.has(aT))&&!(tL.has(hT));\r\n    return `${m.date||(!r.s&&m.score)?`<span class=\"fn-m-lbl\">${esc(m.date||'')}${(!r.s&&m.score)?' \u00b7 '+esc(m.score):''}<\/span>`:''}<div class=\"fn-vs ${cls}\">${fl?sd('a'):sd('h')}<span class=\"fn-vs-sc\">${r.done?(fl?a+'\u2013'+h:h+'\u2013'+a):'vs'}<\/span>${fl?sd('h'):sd('a')}<\/div>`;\r\n  };\r\n  const col=(t,cells,c)=>`<div class=\"fn-mb-c${c?' '+c:''}\"><div class=\"fn-kr-h\">${t}<\/div><div class=\"fn-mb-m\">${cells.map(x=>`<div class=\"fn-mb-s\">${x}<\/div>`).join('')}<\/div><\/div>`;\r\n  const pair=(c)=>`<div class=\"fn-mb-x ${c}\"><span><\/span><div class=\"fn-mb-m\"><div class=\"fn-mb-s\"><i><\/i><\/div>${c.includes('one')?'':'<div class=\"fn-mb-s\"><i><\/i><\/div>'}<\/div><\/div>`;\r\n  const hasQF=qf.length>0;\r\n  const champ=`<div class=\"fn-mb-ch\"${ch?fnDT(ch.t):''}><span class=\"fn-eyebrow\">${esc(FN_GNAME[g]||'')} \u00b7 Champion<\/span><span class=\"fn-champ${ch?'':' tbd'}\">${esc(ch?ch.t:'TBD')}<\/span>${ch&&ch.p?`<span class=\"fn-champ-pl\">${esc(ch.p)}<\/span>`:''}<\/div>`;\r\n  const ctrF=()=>`<div class=\"fn-mb-c ctr\"><div class=\"fn-kr-h gold\">Final<\/div><div class=\"fn-mb-ctr\">${champ}${vs(fin,'final')}<div class=\"fn-mb-3\"><span class=\"fn-kr-h br\">3rd Place<\/span>${vs(th,'')}<\/div><\/div><\/div>`;\r\n  let html='';\r\n  const tms=m=>{ if(!m) return []; const r=fnRes(m); return ['h','a'].map(s=>String(fnSide(r,s,pm).t||'').trim().toLowerCase()).filter(Boolean); }, top=new Set([...tms(qf[0]),...tms(qf[1])]);\r\n  const sfTop=(sf[1]&&tms(sf[1]).some(x=>top.has(x))&&!(sf[0]&&tms(sf[0]).some(x=>top.has(x))))?1:0;\r\n  const sL=sf[sfTop], sR=sf[1-sfTop], nL='Semifinal '+(fnNum(sL)<99?fnNum(sL):sfTop+1), nR='Semifinal '+(fnNum(sR)<99?fnNum(sR):2-sfTop);\r\n  const qOrd=(a,b,s)=>{ const st=tms(s); if(!st[0]) return [a,b]; const inA=tms(qf[a]).includes(st[0]), inB=tms(qf[b]).includes(st[0]); return (inB&&!inA)?[b,a]:[a,b]; };\r\n  const qL=qOrd(0,1,sL), qR=qOrd(2,3,sR);\r\n  sLx=sL; sRx=sR; qLx=hasQF?qL.map(i=>qf[i]):[]; qRx=hasQF?qR.map(i=>qf[i]):[]; const ctr=ctrF();\r\n  if(hasQF) html+=col('Quarterfinals',qL.map(i=>fnCell(qf[i],'QF '+(fnNum(qf[i])<99?fnNum(qf[i]):i+1),'',pm)),'L')+pair('L');\r\n  html+=col(nL,[fnCell(sL,nL,'',pm)],'L')+pair('L one g')+ctr+pair('R one g')+col(nR,[fnCell(sR,nR,'',pm)],'R');\r\n  if(hasQF) html+=pair('R')+col('Quarterfinals',qR.map(i=>fnCell(qf[i],'QF '+(fnNum(qf[i])<99?fnNum(qf[i]):i+1),'',pm)),'R');\r\n  const extra=qf.slice(4).concat(other);\r\n  const ex=extra.length?`<div class=\"fn-br\" style=\"--n:${Math.min(extra.length,4)}\">${extra.map(m=>fnCell(m,esc(m.phase||'Match'),'',pm)).join('')}<\/div>`:'';\r\n  return `<div class=\"fn-card fn-kc\"><div class=\"fn-mb${hasQF?' qf':''}\">${html}<\/div>${ex}<\/div>`;\r\n}\r\n\r\n\/\/ \u2500\u2500 Groups \u2500\u2500\r\nfunction fnRenderGroups(groups){\r\n  const keys=Object.keys(groups); if(!keys.length) return '';\r\n  return `<div class=\"fn-groups\">${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\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 type=\"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('.fn-sp:not(.off) '+s));\r\n  fnAnim(q('.fn-sp:not(.off) .fn-eyebrow'),[{opacity:0,letterSpacing:'10px'},{opacity:1,letterSpacing:'3px'}],{duration:600,delay:150});\r\n  fnAnim(q('.fn-sp:not(.off) .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  qa('.fn-cb-m').forEach((el,i)=>fnAnim(el,FN_UP,{duration:450,delay:650+i*100}));\r\n  qa('.fn-m').forEach((el,i)=>fnAnim(el,FN_UP,{duration:420,delay:300+Math.min(i,8)*60}));\r\n  qa('.fn-group').forEach((el,i)=>fnAnim(el,FN_UP,{duration:450,delay:150+Math.min(i,4)*80}));\r\n  qa('.fn-rm').forEach((el,i)=>fnAnim(el,FN_UP,{duration:350,delay:400+Math.min(i,5)*40}));\r\n}\r\n\r\n\/\/ \u2500\u2500 Group Stage \/ Knockout switch \u2500\u2500\r\ndocument.addEventListener('click',function(e){ const b=e.target.closest&&e.target.closest('#vgl-finals-widget .fn-sub-b'); if(!b) return; const p=b.closest('.fn-panel'); if(!p) return; const v=b.getAttribute('data-sub'), g=p.id.slice(3); FN_SUB[g]=v;\r\n  p.querySelectorAll('.fn-sub-b').forEach(x=>x.classList.toggle('on',x===b)); p.querySelectorAll('.fn-sp').forEach(x=>x.classList.toggle('off',x.getAttribute('data-sp')!==v)); fnReveal(g); });\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  if(!FN_SUB[g]) FN_SUB[g]=d.knockout.some(m=>fnParseScore(m.score))?'ko':'gs';\r\n  const sub=FN_SUB[g];\r\n  const LEFT=`<div class=\"fn-card\"><span class=\"fn-h\">Standings<\/span>${GR||'<div class=\"fn-soon\">Groups \u00b7 Coming soon<\/div>'}<\/div>`;\r\n  const RIGHT=RS||'<div class=\"fn-card\"><span class=\"fn-h\">Group Stage Results<\/span><div class=\"fn-soon\" style=\"padding:40px 10px\">Results after Matchday 1<\/div><\/div>';\r\n  const KOH=(FN_BAR[g]||'')+(KO||'<div class=\"fn-card\"><div class=\"fn-soon\">Knockout \u00b7 Coming soon<\/div><\/div>');\r\n  body.innerHTML=`<div class=\"fn-sub\"><div class=\"fn-seg\"><button type=\"button\" class=\"fn-sub-b${sub==='gs'?' on':''}\" data-sub=\"gs\">Group Stage<\/button><button type=\"button\" class=\"fn-sub-b${sub==='ko'?' on':''}\" data-sub=\"ko\">Knockout<\/button><\/div><\/div>`\r\n   +`<div class=\"fn-sp${sub==='gs'?'':' off'}\" data-sp=\"gs\"><div class=\"fn-cols\"><div class=\"fn-colL\">${LEFT}<\/div><div class=\"fn-colR\">${RIGHT}<\/div><\/div><\/div>`\r\n   +`<div class=\"fn-sp${sub==='ko'?'':' off'}\" data-sp=\"ko\">${KOH}<\/div>`;\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), 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(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    root.querySelectorAll('.fn-mb .on-path,.fn-mb .p-top,.fn-mb .p-bot,.fn-mb .p-one,.fn-mb.tracing').forEach(e=>e.classList.remove('on-path','p-top','p-bot','p-one','tracing'));\r\n    if(!k) return;\r\n    root.querySelectorAll('.fn-mb').forEach(mb=>{\r\n      let any=false;\r\n      mb.querySelectorAll('.fn-m,.fn-vs,.fn-mb-ch').forEach(c=>{ if(c.querySelector('.hl')||c.classList.contains('hl')){ c.classList.add('on-path'); any=true; } });\r\n      if(!any) return; mb.classList.add('tracing');\r\n      mb.querySelectorAll('.fn-mb-x').forEach(x=>{\r\n        const L=x.classList.contains('L'), from=L?x.previousElementSibling:x.nextElementSibling, to=L?x.nextElementSibling:x.previousElementSibling;\r\n        if(!from||!to||!to.querySelector('.on-path')) return;\r\n        const s=[...from.querySelectorAll('.fn-mb-s')];\r\n        if(x.classList.contains('one')){ if(from.querySelector('.on-path')) x.classList.add('p-one'); return; }\r\n        if(s[0]&&s[0].querySelector('.on-path')) x.classList.add('p-top');\r\n        if(s[1]&&s[1].querySelector('.on-path')) x.classList.add('p-bot');\r\n      });\r\n    });\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,.fn-sub-b')) 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  <\/div>\r\n <\/div>\r\n<\/div>\r\n<style>\r\n\/* Scoreboard skin (1c) *\/\r\n#roc-hub{position:relative;max-width:none;background:#121925}\r\n#roc-hub::before{content:'';position:absolute;inset:0;pointer-events:none;z-index:0;background-image:linear-gradient(rgba(0,200,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(0,200,255,.05) 1px,transparent 1px);background-size:32px 32px;background-attachment:fixed;-webkit-mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.3) 50%,#000 100%);mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.3) 50%,#000 100%)}\r\n#roc-hub > .hub-card{position:relative;z-index:1;max-width:1408px;margin:0 auto}\r\n#roc-hub .hub-card{background:#121925;border:none;border-radius:0;clip-path:polygon(0 0,calc(100% - 24px) 0,100% 24px,100% 100%,24px 100%,0 calc(100% - 24px))}\r\n#roc-hub .hub-head{padding:0;gap:0;align-items:stretch;flex-wrap:nowrap;background:#0e141e;border-bottom:1px solid rgba(255,255,255,0.08)}\r\n#roc-hub .hub-brand{padding:20px 28px;flex:none;width:clamp(260px,30%,380px);background:linear-gradient(90deg,rgba(0,200,255,0.14),transparent);border-right:1px solid rgba(255,255,255,0.08)}\r\n#roc-hub .hub-kicker{font-family:'Barlow Condensed','Barlow',sans-serif;font-size:11px;letter-spacing:3px;color:#00c8ff}\r\n#roc-hub .hub-title{font-size:44px}\r\n#roc-hub .hub-tabs{flex:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}\r\n#roc-hub .hub-tab{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:4px;height:100%;min-width:0;overflow:hidden;white-space:nowrap;padding:0 clamp(12px,1.6vw,24px);border:none;border-right:1px solid rgba(255,255,255,0.06);font-family:'Bebas Neue',sans-serif;font-weight:400;font-size:clamp(20px,2.3vw,30px);line-height:1;letter-spacing:1.5px;color:rgba(255,255,255,0.75);text-align:left}\r\n#roc-hub .hub-tab::before{content:'GAME 01';font-family:'Barlow Condensed','Barlow',sans-serif;font-weight:700;font-size:11px;letter-spacing:2px;color:var(--c)}\r\n#roc-hub .hub-tab:nth-child(2)::before{content:'GAME 02'}\r\n#roc-hub .hub-tab:nth-child(3)::before{content:'GAME 03'}\r\n#roc-hub .hub-tab:hover{color:#fff;background:rgba(255,255,255,0.03)}\r\n#roc-hub .hub-tab.on{background:var(--c);color:#06121c;border-bottom:none}\r\n#roc-hub .hub-tab.on::before{color:#06121c}\r\n#roc-hub .hub-views{padding:0;gap:0}\r\n#roc-hub .hub-seg{padding:0;gap:0;border:none;border-radius:0;background:none}\r\n#roc-hub .hub-v{height:50px;padding:0 26px;border-radius:0;font-family:'Barlow Condensed','Barlow',sans-serif;font-weight:800;font-size:14px;letter-spacing:2px}\r\n#roc-hub .hub-note{margin-left:auto;padding:0 24px;font-family:'Barlow Condensed','Barlow',sans-serif;font-weight:700;font-size:12px;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,0.45)}\r\n#roc-hub .hub-note.done{color:#f0c040}\r\n\/* ranking *\/\r\n#roc-hub #vglRk2 .rk-side{padding:0;gap:0;background:#0e141e;border-right:none}\r\n#roc-hub #vglRk2 .rk-side-h{align-items:center;padding:20px 22px 6px}\r\n#roc-hub #vglRk2 .rk-side-h b{font-family:'Barlow Condensed','Barlow',sans-serif;font-weight:700;font-size:11px;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,0.45)}\r\n#roc-hub #vglRk2 .rk-side-h span{font-family:'Bebas Neue',sans-serif;font-size:22px;font-weight:400;letter-spacing:1px;color:#fff}\r\n#roc-hub #vglRk2 .rk-prov{padding:0 22px 14px}\r\n#roc-hub #vglRk2 .rk-grp{gap:10px;padding:16px 22px 18px;border-top:1px solid rgba(255,255,255,0.07)}\r\n#roc-hub #vglRk2 .rk-grp-h{align-items:center}\r\n#roc-hub #vglRk2 .rk-grp-h span:first-child{font-family:'Bebas Neue',sans-serif;font-weight:400;font-size:22px;letter-spacing:1.5px;opacity:.9}\r\n#roc-hub #vglRk2 .rk-grp-h span:last-child{padding:3px 8px;font-family:'Barlow Condensed','Barlow',sans-serif;font-weight:800;font-size:12px;letter-spacing:1px;border:1px solid currentColor;opacity:.75}\r\n#roc-hub #vglRk2 .rk-slots{gap:4px}\r\n#roc-hub #vglRk2 .rk-slot{flex-direction:row;align-items:stretch;justify-content:flex-start;gap:0;padding:0;min-height:40px;border-radius:0;border:1px dashed rgba(255,255,255,0.14)}\r\n#roc-hub #vglRk2 .rk-slot .rk-slot-i{flex:none;width:30px;display:flex;align-items:center;justify-content:center;font-family:'Bebas Neue',sans-serif;font-weight:400;font-size:19px;letter-spacing:0;color:rgba(255,255,255,0.3);background:rgba(255,255,255,0.03)}\r\n#roc-hub #vglRk2 .rk-slot-n{flex:1;align-items:center;padding:8px 10px}\r\n#roc-hub #vglRk2 .rk-slot b{font-size:12.5px}\r\n#roc-hub #vglRk2 .rk-slot em{font-size:14px;opacity:.8}\r\n#roc-hub #vglRk2 .rk-slot.w{border-color:rgba(240,192,64,0.22);background:rgba(240,192,64,0.05)}\r\n#roc-hub #vglRk2 .rk-slot.w .rk-slot-i{background:rgba(240,192,64,0.12);color:#e9c766}\r\n#roc-hub #vglRk2 .rk-slot.r{border-color:rgba(45,212,191,0.22);background:rgba(45,212,191,0.05)}\r\n#roc-hub #vglRk2 .rk-slot.r .rk-slot-i{background:rgba(45,212,191,0.12);color:#5fd9c8}\r\n#roc-hub #vglRk2 .rk-slot.c{border-color:rgba(167,139,250,0.22);background:rgba(167,139,250,0.05)}\r\n#roc-hub #vglRk2 .rk-slot.c .rk-slot-i{background:rgba(167,139,250,0.12);color:#b9a6f7}\r\n#roc-hub #vglRk2 .rk-search-row{padding:16px 24px;border-bottom:1px solid rgba(255,255,255,0.08)}\r\n#roc-hub #vglRk2 .rk-search{border-radius:0;border-color:rgba(255,255,255,0.12)}\r\n#roc-hub #vglRk2 .rk-views{border-radius:0}\r\n#roc-hub #vglRk2 .rk-view{font-family:'Barlow Condensed','Barlow',sans-serif;font-weight:800;font-size:12px;letter-spacing:1.5px;padding:0 16px}\r\n#roc-hub #vglRk2 .rk-view.on,#roc-hub #vglRk2 .rk-view.on[data-view]{background:#fff;color:#06121c}\r\n#roc-hub #vglRk2 .rk-cols,#roc-hub #vglRk2 .rk-row{grid-template-columns:64px minmax(0,1fr) 90px 72px 72px;padding:0 22px 0 0}\r\n#roc-hub #vglRk2 .rk-cols{padding:9px 22px 9px 0}\r\n#roc-hub #vglRk2 .rk-row{min-height:50px;align-items:stretch;border-bottom:1px solid rgba(255,255,255,0.05)}\r\n#roc-hub #vglRk2 .rk-row > *{display:flex;align-items:center}\r\n#roc-hub #vglRk2 .rk-row > :nth-child(n+3){justify-content:flex-end}\r\n#roc-hub #vglRk2 .rk-pos{justify-content:center;font-size:24px;color:rgba(255,255,255,0.4);background:rgba(255,255,255,0.03)}\r\n#roc-hub #vglRk2 .rk-name{padding:10px 18px;font-size:15px}\r\n#roc-hub #vglRk2 .rk-row.in,#roc-hub #vglRk2 .rk-row.inc{background:transparent}\r\n#roc-hub #vglRk2 .rk-row.in .rk-pos{background:rgba(45,212,191,0.14);color:#2dd4bf}\r\n#roc-hub #vglRk2 .rk-row.inc .rk-pos{background:rgba(167,139,250,0.14);color:#a78bfa}\r\n#roc-hub #vglRk2 .rk-pts{font-size:24px;color:#fff}\r\n#roc-hub #vglRk2 .rk-wr{font-family:'Barlow',sans-serif;font-size:13px;color:rgba(255,255,255,0.55)}\r\n#roc-hub #vglRk2 .rk-chip{border-radius:0;color:#121925;background:#a78bfa}\r\n#roc-hub #vglRk2 .rk-cut{padding:8px 22px;background:#2dd4bf;border:none}\r\n#roc-hub #vglRk2 .rk-cut > span:first-child,#roc-hub #vglRk2 .rk-cut > span:last-child,#roc-hub #vglRk2 .rk-cut b{font-family:'Barlow',sans-serif;font-weight:700;font-size:14px;letter-spacing:.3px;line-height:1.35;color:#03101a;-webkit-font-smoothing:antialiased}\r\n#roc-hub #vglRk2 .rk-cut > span:first-child{font-weight:800;font-size:13px;letter-spacing:1.5px}\r\n#roc-hub #vglRk2 .rk-cut b{font-weight:800}\r\n#roc-hub #vglRk2 .rk-cut.c{background:#a78bfa}\r\n#roc-hub #vglRk2 .rk-pg{border-radius:0}\r\n#roc-hub #vglRk2.crew .rk-cols,#roc-hub #vglRk2.crew .rk-row{grid-template-columns:64px minmax(0,1fr) 70px 80px 140px}\r\n\/* Final Stage: Group Stage \/ Knockout *\/\r\n#vgl-finals-widget .fn-sub{display:flex}\r\n#vgl-finals-widget .fn-sub .fn-seg{padding:0;gap:0;border-radius:0;background:none;border:1px solid rgba(255,255,255,0.1)}\r\n#vgl-finals-widget .fn-sub-b{font-family:'Barlow Condensed','Barlow',sans-serif;font-weight:800;font-size:13px;letter-spacing:2px;text-transform:uppercase;padding:11px 24px;border:none;background:transparent;color:rgba(255,255,255,0.6);cursor:pointer;transition:background .15s,color .15s}\r\n#vgl-finals-widget .fn-sub-b + .fn-sub-b{border-left:1px solid rgba(255,255,255,0.1)}\r\n#vgl-finals-widget .fn-sub-b:hover{color:#fff}\r\n#vgl-finals-widget .fn-sub-b.on{background:#00c8ff;color:#06121c}\r\n#vgl-finals-widget .fn-sp{display:flex;flex-direction:column;gap:16px}\r\n#vgl-finals-widget .fn-sp.off{display:none}\r\n#vgl-finals-widget .fn-br{display:grid;grid-template-columns:repeat(var(--n,3),minmax(0,1fr));gap:16px}\r\n#vgl-finals-widget .fn-br-c{display:flex;flex-direction:column;gap:10px;min-width:0}\r\n#vgl-finals-widget .fn-br-m{flex:1;display:flex;flex-direction:column;justify-content:space-around;gap:10px}\r\n\/* Knockout \u2014 mirrored bracket *\/\r\n#vgl-finals-widget .fn-mb{display:grid;grid-template-columns:minmax(0,1fr) 22px minmax(260px,1.3fr) 22px minmax(0,1fr);min-height:300px}\r\n#vgl-finals-widget .fn-mb.qf{grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr) 18px minmax(340px,1.6fr) 18px minmax(0,1fr) 18px minmax(0,1fr);min-height:440px}\r\n#vgl-finals-widget .fn-mb-c,#vgl-finals-widget .fn-mb-x{display:grid;grid-template-rows:26px minmax(0,1fr);min-width:0}\r\n#vgl-finals-widget .fn-mb-c.R .fn-kr-h{text-align:right}\r\n#vgl-finals-widget .fn-mb-c.ctr .fn-kr-h{text-align:center}\r\n#vgl-finals-widget .fn-kr-h.br{color:#e0a370;text-align:center}\r\n#vgl-finals-widget .fn-mb-m{display:flex;flex-direction:column;min-height:0}\r\n#vgl-finals-widget .fn-mb-s{flex:1;display:flex;flex-direction:column;justify-content:center;padding:6px 0;position:relative;min-width:0}\r\n#vgl-finals-widget .fn-kc .fn-mb .fn-m{min-height:0;gap:6px;padding:10px 12px}\r\n#vgl-finals-widget .fn-mb .fn-t-info{flex:1;min-width:0}\r\n#vgl-finals-widget .fn-mb{min-height:440px}\r\n\/* champion hover: gold effect instead of green *\/\r\n#vgl-finals-widget .fn-mb-ch{position:relative;overflow:hidden;transition:transform .25s}\r\n#vgl-finals-widget .fn-mb .fn-mb-ch[data-team].hl{background:none!important;box-shadow:none!important;opacity:1!important;transform:scale(1.06)!important}\r\n#vgl-finals-widget .fn-mb-ch.hl .fn-champ{color:#ffe08a!important;text-shadow:0 0 18px rgba(240,192,64,.85),0 0 42px rgba(240,192,64,.45)!important;animation:fnChampPulse 1.6s ease-in-out infinite}\r\n#vgl-finals-widget .fn-mb-ch.hl .fn-eyebrow{color:#f5d56a!important}\r\n#vgl-finals-widget .fn-mb-ch.hl::after{content:'';position:absolute;top:0;bottom:0;left:-60%;width:40%;background:linear-gradient(100deg,transparent,rgba(255,224,138,.28),transparent);animation:fnChampShine 1.8s ease-in-out infinite;pointer-events:none}\r\n@keyframes fnChampPulse{0%,100%{text-shadow:0 0 14px rgba(240,192,64,.7),0 0 30px rgba(240,192,64,.3)}50%{text-shadow:0 0 24px rgba(240,192,64,1),0 0 56px rgba(240,192,64,.55)}}\r\n@keyframes fnChampShine{0%{left:-60%}60%,100%{left:130%}}\r\n@media(prefers-reduced-motion:reduce){#vgl-finals-widget .fn-mb-ch.hl .fn-champ,#vgl-finals-widget .fn-mb-ch.hl::after{animation:none}}\r\n\/* hover: team path through the bracket *\/\r\n#vgl-finals-widget .fn-mb .fn-m,#vgl-finals-widget .fn-mb .fn-vs,#vgl-finals-widget .fn-mb-ch{transition:opacity .2s,transform .2s,box-shadow .2s,border-color .2s}\r\n#vgl-finals-widget .fn-mb-x .fn-mb-m::before,#vgl-finals-widget .fn-mb-x .fn-mb-m::after{transition:border-color .2s,opacity .2s}\r\n#vgl-finals-widget .fn-mb.tracing .fn-m:not(.on-path),#vgl-finals-widget .fn-mb.tracing .fn-vs:not(.on-path){opacity:.25}\r\n#vgl-finals-widget .fn-mb.tracing .fn-mb-ch:not(.on-path){opacity:.35}\r\n#vgl-finals-widget .fn-mb.tracing .fn-mb-x .fn-mb-m::before,#vgl-finals-widget .fn-mb.tracing .fn-mb-x .fn-mb-m::after{opacity:.35}\r\n#vgl-finals-widget .fn-mb .fn-m.on-path,#vgl-finals-widget .fn-mb .fn-vs.on-path{opacity:1;border-color:rgba(43,212,106,.55);box-shadow:0 0 0 1px rgba(43,212,106,.18),0 14px 30px -14px rgba(0,0,0,.85),0 0 18px -6px rgba(43,212,106,.45),inset 0 1px 0 rgba(43,212,106,.18);transform:translateY(-2px)}\r\n#vgl-finals-widget.fn-hovering .fn-mb .on-path .fn-t:not(.hl),#vgl-finals-widget.fn-hovering .fn-mb .on-path .fn-vs-t:not(.hl){opacity:.55}\r\n#vgl-finals-widget .fn-mb [data-team].hl:not(.fn-mb-ch){background:linear-gradient(90deg,rgba(43,212,106,.16),rgba(43,212,106,.04) 70%,transparent)!important;box-shadow:inset 0 0 0 1px rgba(43,212,106,.22),0 0 14px -6px rgba(43,212,106,.5)!important;opacity:1;border-radius:4px}\r\n#vgl-finals-widget .fn-mb .fn-t.hl .fn-t-name,#vgl-finals-widget .fn-mb .fn-vs-t.hl b{color:#fff!important;text-shadow:0 0 10px rgba(43,212,106,.45);font-weight:800}\r\n#vgl-finals-widget .fn-mb-ch.on-path .fn-champ{text-shadow:0 0 18px rgba(240,192,64,.7)}\r\n#vgl-finals-widget .fn-mb-x.p-one .fn-mb-m::after{border-color:#2bd46a!important;border-top-width:2px;opacity:1!important}\r\n#vgl-finals-widget .fn-mb-x.p-top .fn-mb-m::after,#vgl-finals-widget .fn-mb-x.p-bot .fn-mb-m::after{border-top:2px solid #2bd46a;filter:drop-shadow(0 0 4px rgba(43,212,106,.6));opacity:1!important}\r\n#vgl-finals-widget .fn-mb-x.p-top .fn-mb-m::before{border-top:2px solid #2bd46a;filter:drop-shadow(0 0 4px rgba(43,212,106,.6));border-color:#2bd46a;border-bottom-color:rgba(255,255,255,.18);opacity:1!important}\r\n#vgl-finals-widget .fn-mb-x.p-bot .fn-mb-m::before{border-bottom:2px solid #2bd46a;filter:drop-shadow(0 0 4px rgba(43,212,106,.6));border-color:#2bd46a;border-top-color:rgba(255,255,255,.18);opacity:1!important}\r\n#vgl-finals-widget .fn-mb .fn-t-info,#vgl-finals-widget .fn-mb .fn-vs-t{min-height:34px;justify-content:center}\r\n#vgl-finals-widget .fn-mb .fn-t-pl:empty::before,#vgl-finals-widget .fn-vs-t b:only-child::after{content:'\\00a0'}\r\n#vgl-finals-widget .fn-vs-t b:only-child::after{display:block;font-size:11px;line-height:1.3}\r\n@media(max-width:1150px){#vgl-finals-widget .fn-mb{min-height:0}}\r\n\/* group stage hover: same look as knockout path *\/\r\n#vgl-finals-widget .fn-group,#vgl-finals-widget .fn-rm{transition:opacity .2s,transform .2s,box-shadow .2s,border-color .2s,background .2s}\r\n#vgl-finals-widget .fn-srow[data-team].hl,#vgl-finals-widget .fn-rm-side[data-team].hl{background:linear-gradient(90deg,rgba(43,212,106,.16),rgba(43,212,106,.04) 70%,transparent)!important;box-shadow:inset 0 0 0 1px rgba(43,212,106,.22),0 0 14px -6px rgba(43,212,106,.5)!important;opacity:1;border-radius:4px}\r\n\r\n\r\n#vgl-finals-widget .fn-srow.hl .tm,#vgl-finals-widget .fn-rm-side.hl .fn-rm-team{color:#fff!important;text-shadow:0 0 10px rgba(43,212,106,.45);font-weight:800}\r\n#vgl-finals-widget.fn-hovering .fn-group:has(.hl){border-color:rgba(43,212,106,.55);box-shadow:0 0 0 1px rgba(43,212,106,.18),0 14px 30px -14px rgba(0,0,0,.85),0 0 18px -6px rgba(43,212,106,.45),inset 0 1px 0 rgba(43,212,106,.18);transform:translateY(-2px)}\r\n#vgl-finals-widget.fn-hovering .fn-groups:has(.hl) .fn-group:not(:has(.hl)){opacity:.35}\r\n#vgl-finals-widget.fn-hovering .fn-group:has(.hl) .fn-srow:not(.hl){opacity:.55}\r\n#vgl-finals-widget.fn-hovering .fn-res:has(.hl) .fn-rm:not(:has(.hl)){opacity:.25}\r\n#vgl-finals-widget.fn-hovering .fn-rm:has(.hl) .fn-rm-side:not(.hl){opacity:.55}\r\n\/* match rows: winner green, loser soft white *\/\r\n#vgl-finals-widget .fn-kc .fn-mb .fn-m{padding:0 0 4px;gap:2px;overflow:hidden}\r\n#vgl-finals-widget .fn-mb .fn-m .fn-m-lbl{padding:8px 12px 4px}\r\n#vgl-finals-widget .fn-mb-c.R .fn-m .fn-m-lbl{text-align:right}\r\n#vgl-finals-widget .fn-mb .fn-m .fn-t{padding:8px 12px 8px 16px;background:rgba(255,255,255,0.02);box-shadow:inset 6px 0 0 rgba(255,255,255,0.12)}\r\n#vgl-finals-widget .fn-mb-c.R .fn-m .fn-t{padding:8px 16px 8px 12px;box-shadow:inset -6px 0 0 rgba(255,255,255,0.12)}\r\n#vgl-finals-widget .fn-mb .fn-m .fn-t:not(.win):not(.tbd){background:rgba(255,255,255,0.03);box-shadow:inset 6px 0 0 rgba(230,237,245,0.35)}\r\n#vgl-finals-widget .fn-mb-c.R .fn-m .fn-t:not(.win):not(.tbd){box-shadow:inset -6px 0 0 rgba(230,237,245,0.35)}\r\n#vgl-finals-widget .fn-mb .fn-m .fn-t.win{background:rgba(43,212,106,0.07);box-shadow:inset 6px 0 0 #2bd46a}\r\n#vgl-finals-widget .fn-mb-c.R .fn-m .fn-t.win{box-shadow:inset -6px 0 0 #2bd46a}\r\n#vgl-finals-widget .fn-mb .fn-vs,#vgl-finals-widget .fn-mb .fn-vs.final{padding:0;gap:0;overflow:hidden}\r\n#vgl-finals-widget .fn-mb .fn-vs-t{padding:9px 12px;border-radius:0;background:rgba(255,255,255,0.02);box-shadow:inset 0 -4px 0 rgba(255,255,255,0.12);align-self:stretch;justify-content:center}\r\n#vgl-finals-widget .fn-mb .fn-vs-sc{padding:0 10px}\r\n#vgl-finals-widget .fn-mb .fn-vs-t:not(.win):not(.tbd){background:rgba(255,255,255,0.03);box-shadow:inset 0 -4px 0 rgba(230,237,245,0.35)}\r\n#vgl-finals-widget .fn-mb .fn-vs-t.win{background:rgba(43,212,106,0.08);box-shadow:inset 0 -4px 0 #2bd46a}\r\n@media(max-width:1150px){#vgl-finals-widget .fn-mb-c.R .fn-m .fn-t{padding:8px 12px 8px 16px;box-shadow:inset 6px 0 0 rgba(255,255,255,0.12)}#vgl-finals-widget .fn-mb-c.R .fn-m .fn-t:not(.win):not(.tbd){box-shadow:inset 6px 0 0 rgba(230,237,245,0.35)}#vgl-finals-widget .fn-mb-c.R .fn-m .fn-t.win{box-shadow:inset 6px 0 0 #2bd46a}#vgl-finals-widget .fn-mb-c.R .fn-m .fn-m-lbl{text-align:left}}\r\n@media(max-width:480px){#vgl-finals-widget .fn-mb .fn-vs-t{width:100%;box-sizing:border-box}#vgl-finals-widget .fn-mb .fn-vs-sc{padding:4px 0}}\r\n#vgl-finals-widget .fn-mb .fn-t-name,#vgl-finals-widget .fn-mb .fn-t-pl{overflow-wrap:normal;word-break:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}\r\n#vgl-finals-widget .fn-mb-c.R .fn-t{flex-direction:row-reverse}\r\n#vgl-finals-widget .fn-mb-c.R .fn-t-info{align-items:flex-end;text-align:right}\r\n#vgl-finals-widget .fn-mb-c.R .fn-m-lbl{text-align:right}\r\n#vgl-finals-widget .fn-mb-x .fn-mb-m{flex-direction:row}\r\n#vgl-finals-widget .fn-mb-x .fn-mb-m{position:relative}\r\n#vgl-finals-widget .fn-mb-x .fn-mb-s{display:none}\r\n#vgl-finals-widget .fn-mb-x .fn-mb-m::before{content:'';position:absolute;top:25%;bottom:25%;width:50%;border:1px solid rgba(255,255,255,0.18)}\r\n#vgl-finals-widget .fn-mb-x .fn-mb-m::after{content:'';position:absolute;top:50%;width:50%;border-top:1px solid rgba(255,255,255,0.18)}\r\n#vgl-finals-widget .fn-mb-x.L .fn-mb-m::before{left:0;border-left:none}\r\n#vgl-finals-widget .fn-mb-x.L .fn-mb-m::after{right:0}\r\n#vgl-finals-widget .fn-mb-x.R .fn-mb-m::before{right:0;border-right:none}\r\n#vgl-finals-widget .fn-mb-x.R .fn-mb-m::after{left:0}\r\n#vgl-finals-widget .fn-mb-x.one .fn-mb-m::before{display:none}\r\n#vgl-finals-widget .fn-mb-x.one .fn-mb-m::after{left:0;right:0;width:auto}\r\n#vgl-finals-widget .fn-mb-x.g .fn-mb-m::after{border-color:rgba(240,192,64,0.45)}\r\n#vgl-finals-widget .fn-mb-ctr{display:flex;flex-direction:column;justify-content:center;gap:12px;padding:6px 0;min-width:0}\r\n#vgl-finals-widget .fn-mb-ch{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;border-radius:6px;padding:4px}\r\n#vgl-finals-widget .fn-mb-ch .fn-champ{align-self:center;font-size:clamp(30px,3.2vw,42px);overflow-wrap:normal;word-break:normal}\r\n@media(max-width:480px){#vgl-finals-widget .fn-vs{grid-template-columns:1fr;justify-items:center;text-align:center;gap:4px}#vgl-finals-widget .fn-vs-t.h,#vgl-finals-widget .fn-vs-t{align-items:center;text-align:center}}\r\n#vgl-finals-widget .fn-mb-3{display:flex;flex-direction:column;gap:6px}\r\n#vgl-finals-widget .fn-mb-ctr .fn-m-lbl{text-align:center;margin-bottom:-6px}\r\n#vgl-finals-widget .fn-vs{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--fn-bd);border-radius:8px;background:rgba(255,255,255,0.03)}\r\n#vgl-finals-widget .fn-vs.final{padding:14px 12px;border-color:rgba(240,192,64,0.45);background:rgba(240,192,64,0.08)}\r\n#vgl-finals-widget .fn-vs-t{display:flex;flex-direction:column;min-width:0;border-radius:3px;padding:2px 4px}\r\n#vgl-finals-widget .fn-vs-t.h{align-items:flex-end;text-align:right}\r\n#vgl-finals-widget .fn-vs-t b{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:normal;word-break:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}\r\n#vgl-finals-widget .fn-vs.final .fn-vs-t b{font-weight:800;font-size:16px}\r\n#vgl-finals-widget .fn-vs-t i{font-style:normal;font-size:11px;font-weight:600;color:rgba(255,255,255,0.35);overflow-wrap:anywhere}\r\n#vgl-finals-widget .fn-vs-t.win b{color:#fff}\r\n#vgl-finals-widget .fn-vs-t.tbd b{color:rgba(255,255,255,0.6)}\r\n#vgl-finals-widget .fn-vs-sc{font-family:'Bebas Neue',sans-serif;font-size:22px;letter-spacing:1px;color:rgba(255,255,255,0.8);white-space:nowrap}\r\n#vgl-finals-widget .fn-vs.final .fn-vs-sc{font-size:30px;color:#fff}\r\n#vgl-finals-widget.fn-hovering .fn-vs-t:not(.hl),#vgl-finals-widget.fn-hovering .fn-mb-ch:not(.hl){opacity:.4}\r\n#vgl-finals-widget .fn-mb-ch.hl{background:none!important;box-shadow:none!important}\r\n@media(max-width:1150px){\r\n  #vgl-finals-widget .fn-mb,#vgl-finals-widget .fn-mb.qf{display:flex;flex-direction:column;gap:18px;min-height:0}\r\n  #vgl-finals-widget .fn-mb-x{display:none}\r\n  #vgl-finals-widget .fn-mb-c{display:flex;flex-direction:column;gap:8px}\r\n  #vgl-finals-widget .fn-mb-c.ctr{order:-1}\r\n  #vgl-finals-widget .fn-mb-c .fn-kr-h,#vgl-finals-widget .fn-mb-c.R .fn-kr-h{text-align:left}\r\n  #vgl-finals-widget .fn-mb-c.ctr .fn-kr-h{text-align:center}\r\n  #vgl-finals-widget .fn-mb-c.R .fn-t{flex-direction:row}\r\n  #vgl-finals-widget .fn-mb-c.R .fn-t-info{align-items:flex-start;text-align:left}\r\n  #vgl-finals-widget .fn-mb-c.R .fn-m-lbl{text-align:left}\r\n  #vgl-finals-widget .fn-mb-m{gap:8px}\r\n  #vgl-finals-widget .fn-mb-s{padding:0}\r\n}\r\n#vgl-finals-widget .fn-srow.fn-seedrow{grid-template-columns:22px minmax(0,1fr) auto}\r\n#vgl-finals-widget .fn-tag{font-style:normal;font-size:9px;font-weight:700;letter-spacing:1.2px;padding:4px 7px 3px;line-height:1;border-radius:2px}\r\n#vgl-finals-widget .fn-tag.w{color:#121925;background:#e9c766}\r\n#vgl-finals-widget .fn-tag.r{color:#121925;background:#5fd9c8}\r\n#vgl-finals-widget .fn-tag.c{color:#ddd6fe;background:rgba(167,139,250,0.3)}\r\n#vgl-finals-widget .fn-note{font-size:12px;font-weight:600;color:rgba(255,255,255,0.5)}\r\n@media(min-width:1000px){#vgl-finals-widget .fn-sp .fn-cols{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}#vgl-finals-widget .fn-sp .fn-cols.one{grid-template-columns:1fr}}\r\n@media(max-width:1199px){#vgl-finals-widget .fn-colL .fn-groups{grid-template-columns:1fr}}\r\n@media(max-width:760px){#vgl-finals-widget .fn-br{grid-template-columns:1fr}#vgl-finals-widget .fn-sub .fn-seg{width:100%}#vgl-finals-widget .fn-sub-b{flex:1;padding:11px 8px}}\r\n@media(min-width:761px){\r\n  #roc-hub #vglRk2 .rk-body{grid-template-columns:minmax(0,1fr) 380px}\r\n  #roc-hub #vglRk2 .rk-side{order:2;border-left:1px solid rgba(255,255,255,0.08)}\r\n}\r\n@media(max-width:760px){\r\n  #roc-hub .hub-card{clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,14px 100%,0 calc(100% - 14px))}\r\n  #roc-hub .hub-head{flex-wrap:wrap}\r\n  #roc-hub .hub-brand{min-width:0;width:100%;padding:16px 14px;border-right:none;border-bottom:1px solid rgba(255,255,255,0.08)}\r\n  #roc-hub .hub-tab{height:60px;padding:0 12px;font-size:19px}\r\n  #roc-hub .hub-tab::before{font-size:9px}\r\n  #roc-hub .hub-views{flex-wrap:wrap}\r\n  #roc-hub .hub-v{height:46px}\r\n  #roc-hub .hub-note{padding:10px 14px}\r\n  #roc-hub #vglRk2 .rk-side{border-bottom:1px solid rgba(255,255,255,0.08)}\r\n  #roc-hub #vglRk2 .rk-side-h{padding:16px 14px 6px}\r\n  #roc-hub #vglRk2 .rk-prov{padding:0 14px 12px}\r\n  #roc-hub #vglRk2 .rk-grp{padding:14px}\r\n  #roc-hub #vglRk2 .rk-search-row{padding:12px}\r\n  #roc-hub #vglRk2 .rk-cols,#roc-hub #vglRk2 .rk-row{grid-template-columns:44px minmax(0,1fr) 56px 46px 46px;padding:0 10px 0 0}\r\n  #roc-hub #vglRk2 .rk-cols{padding:8px 10px 8px 0}\r\n  #roc-hub #vglRk2 .rk-pos{font-size:20px}\r\n  #roc-hub #vglRk2 .rk-name{padding:9px 10px;font-size:14px}\r\n  #roc-hub #vglRk2 .rk-pts{font-size:20px}\r\n  #roc-hub #vglRk2 .rk-cut{padding:8px 12px}\r\n  #roc-hub #vglRk2.crew .rk-cols,#roc-hub #vglRk2.crew .rk-row{grid-template-columns:44px minmax(0,1fr) 44px 40px 96px}\r\n}\r\n<\/style>\r\n<style>\r\n\/* Season 1: 4 columns (no OW%) *\/\r\n#roc-hub #vglRk2 .rk-main{display:flex;flex-direction:column}\r\n#roc-hub #vglRk2 .rk-pager{margin-top:auto}\r\n#roc-hub #vglRk2 .rk-cols,#roc-hub #vglRk2 .rk-row{grid-template-columns:64px minmax(0,1fr) 100px 80px 56px}\r\n@media(max-width:760px){#roc-hub #vglRk2 .rk-cols,#roc-hub #vglRk2 .rk-row{grid-template-columns:44px minmax(0,1fr) 56px 48px 44px}}\r\n#vglRk2 .rk-row > .rk-vsc{display:flex;align-items:center;justify-content:flex-end}\r\n#vglRk2 .rk-vs{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid rgba(255,255,255,0.14);border-radius:0;color:rgba(255,255,255,0.5);cursor:pointer;padding:0;font:800 13px\/1 'Barlow Condensed','Barlow',sans-serif;letter-spacing:.5px;transition:border-color .15s,color .15s,background .15s}\r\n#vglRk2 .rk-vs:hover{border-color:var(--acc);color:var(--acc)}\r\n#vglRk2 .rk-vs.on{background:var(--acc);border-color:var(--acc);color:#06121c}\r\n#vglRk2 .rk-vs svg{width:15px;height:15px}\r\n#vglRk2 .rk-cbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 22px;background:rgba(255,255,255,0.04);border-top:1px solid rgba(255,255,255,0.08);font-size:14px;font-weight:600;color:rgba(255,255,255,0.75)}\r\n#vglRk2 .rk-cbar:empty{display:none}\r\n#vglRk2 .rk-cbar i{font-style:normal;font:800 12px\/1 'Barlow Condensed','Barlow',sans-serif;letter-spacing:1.5px;color:var(--acc)}\r\n#vglRk2 .rk-cbar b{color:#fff}\r\n#vglRk2 .rk-cbar button{margin-left:auto;background:transparent;border:none;color:rgba(255,255,255,0.5);font:700 12px\/1 'Barlow',sans-serif;letter-spacing:1px;cursor:pointer;padding:6px 0}\r\n#vglRk2 .rk-cbar button:hover{color:#fff}\r\n#rk2Cmp{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:16px;font-family:'Barlow',sans-serif;color:#fff}\r\n#rk2Cmp *{box-sizing:border-box;margin:0}\r\n#rk2Cmp .cm-bg{position:absolute;inset:0;background:rgba(6,10,18,0.78);backdrop-filter:blur(4px)}\r\n#rk2Cmp .cm-card{position:relative;width:100%;max-width:560px;max-height:calc(100vh - 32px);overflow:auto;background:#121925;border:1px solid rgba(255,255,255,0.12);border-top:3px solid var(--acc);animation:rk2CmIn .25s ease-out}\r\n@keyframes rk2CmIn{from{opacity:0;transform:translateY(12px)}}\r\n#rk2Cmp .cm-h{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;border-bottom:1px solid rgba(255,255,255,0.08);font:800 13px\/1 'Barlow Condensed','Barlow',sans-serif;letter-spacing:2px;color:var(--acc)}\r\n#rk2Cmp .cm-x{background:transparent;border:none;color:rgba(255,255,255,0.6);font-size:22px;line-height:1;cursor:pointer;padding:0 2px}\r\n#rk2Cmp .cm-x:hover{color:#fff}\r\n#rk2Cmp .cm-top{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:12px;padding:24px 20px 20px}\r\n#rk2Cmp .cm-p{display:flex;flex-direction:column;gap:6px;min-width:0}\r\n#rk2Cmp .cm-p.b{align-items:flex-end;text-align:right}\r\n#rk2Cmp .cm-p i{font-style:normal;font:400 34px\/0.9 'Bebas Neue',sans-serif;color:rgba(255,255,255,0.4)}\r\n#rk2Cmp .cm-p b{font-size:18px;font-weight:800;line-height:1.2;overflow-wrap:anywhere}\r\n#rk2Cmp .cm-p em{font-style:normal;font-size:12px;font-weight:700;letter-spacing:.5px;color:rgba(255,255,255,0.55)}\r\n#rk2Cmp .cm-p em.in{color:#2dd4bf}\r\n#rk2Cmp .cm-vs{font:400 30px\/1 'Bebas Neue',sans-serif;color:var(--acc);letter-spacing:1px}\r\n#rk2Cmp .cm-s{display:grid;grid-template-columns:72px minmax(0,1fr) 72px;align-items:center;gap:12px;padding:12px 20px;border-top:1px solid rgba(255,255,255,0.06)}\r\n#rk2Cmp .cm-v{font:400 26px\/1 'Bebas Neue',sans-serif;color:rgba(255,255,255,0.45)}\r\n#rk2Cmp .cm-v.b{text-align:right}\r\n#rk2Cmp .cm-v.w{color:var(--acc)}\r\n#rk2Cmp .cm-m{display:flex;flex-direction:column;gap:8px}\r\n#rk2Cmp .cm-l{text-align:center;font:800 12px\/1 'Barlow Condensed','Barlow',sans-serif;letter-spacing:2px;color:rgba(255,255,255,0.6)}\r\n#rk2Cmp .cm-bar{display:grid;grid-template-columns:1fr 1fr;gap:4px;height:6px}\r\n#rk2Cmp .cm-bar span{display:block;height:100%;background:rgba(255,255,255,0.08);position:relative;overflow:hidden}\r\n#rk2Cmp .cm-bar span::after{content:'';position:absolute;top:0;bottom:0;width:var(--w);background:rgba(255,255,255,0.35);transition:width .5s ease-out}\r\n#rk2Cmp .cm-bar span:first-child::after{right:0}\r\n#rk2Cmp .cm-bar span:last-child::after{left:0}\r\n#rk2Cmp .cm-bar span.w::after{background:var(--acc)}\r\n#rk2Cmp .cm-sum{padding:16px 20px;border-top:1px solid rgba(255,255,255,0.08);background:rgba(255,255,255,0.03);text-align:center;font-size:15px;font-weight:600;color:rgba(255,255,255,0.8)}\r\n#rk2Cmp .cm-sum b{color:var(--acc)}\r\n#rk2Cmp .cm-f{display:flex;justify-content:center;padding:0 20px 20px;background:rgba(255,255,255,0.03)}\r\n#rk2Cmp .cm-f button{background:transparent;border:1px solid rgba(255,255,255,0.2);color:#fff;font:800 13px\/1 'Barlow Condensed','Barlow',sans-serif;letter-spacing:1.5px;padding:11px 20px;cursor:pointer}\r\n#rk2Cmp .cm-f button:hover{border-color:var(--acc);color:var(--acc)}\r\n@media(max-width:520px){#rk2Cmp .cm-s{grid-template-columns:56px minmax(0,1fr) 56px;padding:12px 14px}#rk2Cmp .cm-top{padding:20px 14px 16px}#rk2Cmp .cm-p b{font-size:15px}#rk2Cmp .cm-v{font-size:22px}#vglRk2 .rk-cbar{padding:12px}}\r\n<\/style>\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='final', 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';\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?'\u2713 Final Stage completed': st?'Final Stage in progress':'Qualifiers in progress';\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('#vglRk2 .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\r\n\/* Knockout: keep the same box height across game tabs *\/\r\n(function(){\r\n  var W=document.getElementById('vgl-finals-widget'); if(!W||!window.ResizeObserver) return;\r\n  var max=0, w=window.innerWidth, seen=new WeakSet();\r\n  var ro=new ResizeObserver(function(es0){ cancelAnimationFrame(ro.__r); ro.__r=requestAnimationFrame(function(){ var es=es0;\r\n    if(window.innerWidth!==w){ w=window.innerWidth; max=0; W.querySelectorAll('.fn-kc').forEach(function(k){k.style.minHeight='';}); }\r\n    if(window.innerWidth<=1150){ if(max){ max=0; W.querySelectorAll('.fn-kc').forEach(function(k){k.style.minHeight='';}); } return; }\r\n    es.forEach(function(e){ var h=e.target.offsetHeight; if(h>max){ max=h; W.querySelectorAll('.fn-kc').forEach(function(k){k.style.minHeight=max+'px';}); } else if(h&&h<max){ e.target.style.minHeight=max+'px'; } });\r\n  }); });\r\n  function scan(){ W.querySelectorAll('.fn-kc').forEach(function(k){ if(!seen.has(k)){ seen.add(k); if(max&&window.innerWidth>1150) k.style.minHeight=max+'px'; ro.observe(k); } }); }\r\n  new MutationObserver(scan).observe(W,{childList:true,subtree:true}); scan();\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-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<!-- Unileague: reels \u03bc\u03b5 page = unileague \u03c3\u03c4\u03bf sheet \u00b7 \u03bd\u03ad\u03b1: \u03cc\u03bb\u03b1 \u03c4\u03b1 \u03ac\u03c1\u03b8\u03c1\u03b1 (\u03af\u03b4\u03b9\u03b1 \u03bc\u03b5 Home) -->\r\n<script>var PAGE_ID = 'unileague'; var NEWS_CAT_SEARCH = 'unileague'; var NEWS_CATS = [198,679,677,678,680];<\/script>\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&display=swap\" rel=\"stylesheet\">\r\n<style>\r\n:where(#vgl-fd-w) *{box-sizing:border-box;margin:0;padding:0}\r\n#vgl-fd-w{box-sizing:border-box;width:100%;font-family:'Barlow',sans-serif;background:#121925;padding:52px 24px;position:relative;overflow:hidden}\r\n#vgl-fd-w a{text-decoration:none}\r\n#vgl-fd-w::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.035)' stroke-width='1'\/%3E%3C\/pattern%3E%3C\/defs%3E%3Crect width='100%25' height='100%25' fill='url(%23h)'\/%3E%3C\/svg%3E\");background-attachment:scroll;background-repeat:repeat;transform:translateZ(0);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 140px);mask-image:linear-gradient(to bottom,transparent,#000 140px)}\r\n#vgl-fd-w{border:none}\r\n\r\n.vgl-fd-in{position:relative;max-width:1100px;margin:0 auto}\r\n.vgl-fd-eb{display:flex;align-items:center;gap:8px;font-family:'Barlow Condensed',sans-serif;font-size:11px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:#00c8ff;margin-bottom:6px}\r\n.vgl-fd-title{font-family:'Bebas Neue',sans-serif;font-size:36px;letter-spacing:2px;line-height:1;color:#fff}\r\n.vgl-fd-title em{font-style:normal;color:#00c8ff}\r\n.vgl-fd-all{display:inline-flex;align-items:center;gap:6px;font-family:'Barlow Condensed',sans-serif;font-size:12px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.65)!important;transition:color .2s}\r\n.vgl-fd-all:hover{color:#00c8ff!important}\r\n.vgl-fd-all svg{width:13px;height:13px;fill:currentColor}\r\n.vgl-fd-arr{width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.03);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;padding:0;flex-shrink:0}\r\n.vgl-fd-arr:hover:not(:disabled){border-color:#00c8ff;color:#00c8ff;background:rgba(0,200,255,.08)}\r\n.vgl-fd-arr:disabled{opacity:.25;cursor:default}\r\n.vgl-fd-arr svg{width:16px;height:16px}\r\n.vgl-fd-track{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}\r\n.vgl-fd-track::-webkit-scrollbar{display:none}\r\n.vgl-fd-track>*{scroll-snap-align:start;flex-shrink:0}\r\n.vgl-fd-nc{display:flex;flex-direction:column;background:#0d131d;border:1px solid rgba(255,255,255,.07);border-radius:10px;overflow:hidden;transition:border-color .25s,transform .25s}\r\n.vgl-fd-nc:hover{border-color:rgba(0,200,255,.45);transform:translateY(-3px)}\r\n.vgl-fd-nim{width:100%;aspect-ratio:16\/9;object-fit:cover;display:block}\r\n.vgl-fd-nb{padding:12px 14px 14px;display:flex;flex-direction:column;gap:6px}\r\n.vgl-fd-d{font-family:'Barlow Condensed',sans-serif;font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:#00c8ff}\r\n#vgl-fd-w .vgl-fd-t{font-family:'Barlow',sans-serif!important;text-transform:none!important;letter-spacing:0!important;font-size:14px!important;font-weight:700!important;line-height:1.4!important;color:rgba(255,255,255,.9)!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}\r\n.vgl-fd-rc{position:relative;display:block;aspect-ratio:9\/16;border-radius:10px;overflow:hidden;background:#0c111a;border:1px solid rgba(255,255,255,.08);transition:border-color .25s,transform .25s}\r\n.vgl-fd-rc:hover{border-color:#00c8ff;transform:translateY(-3px)}\r\n.vgl-fd-rc img{width:100%;height:100%;object-fit:cover;display:block}\r\n.vgl-fd-rc::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(8,12,20,.8),transparent 45%)}\r\n.vgl-fd-play{position:absolute;top:50%;left:50%;z-index:1;transform:translate(-50%,-50%);width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.16);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1.5px solid rgba(255,255,255,.45);display:flex;align-items:center;justify-content:center;transition:all .25s}\r\n.vgl-fd-rc:hover .vgl-fd-play{background:#00c8ff;border-color:#00c8ff}\r\n.vgl-fd-play svg{width:16px;height:16px;fill:#fff;margin-left:2px}\r\n.vgl-fd-rc:hover .vgl-fd-play svg{fill:#06121c}\r\n.vgl-fd-bdg{position:absolute;bottom:10px;left:12px;z-index:1;display: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;color:#fff}\r\n.vgl-fd-bdg svg{width:12px;height:12px;fill:#fff}\r\n\r\n.vgl-fd-in{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:40px}\r\n.vgl-fd-col{display:flex;flex-direction:column;gap:16px;min-width:0}\r\n.vgl-fd-ch{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;min-height:58px}\r\n.vgl-fd-rows{display:flex;flex-direction:column;gap:10px;height:318px;overflow-y:auto;scrollbar-width:none;overscroll-behavior:contain}\r\n.vgl-fd-rows::-webkit-scrollbar{display:none}\r\n.vgl-fd-row{flex:0 0 96px;height:96px;display:grid;grid-template-columns:130px minmax(0,1fr);gap:14px;align-items:center;padding:9px;border-radius:10px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.06);transition:background .2s,border-color .2s}\r\n.vgl-fd-row:hover{background:rgba(0,200,255,.05);border-color:rgba(0,200,255,.4)}\r\n.vgl-fd-ri{width:130px;height:78px;border-radius:7px;object-fit:cover;display:block}\r\n.vgl-fd-rb{display:flex;flex-direction:column;gap:5px;min-width:0}\r\n.vgl-fd-sep{border-left:1px solid rgba(255,255,255,.08);padding-left:40px}\r\n.vgl-fd-reels .vgl-fd-track>*{flex-basis:calc((100% - 14px)\/2)}\r\n.vgl-fd-soc{display:flex;align-items:center;flex-wrap:nowrap;gap:8px}\r\n@media(max-width:1199px){.vgl-fd-soc{flex-wrap:wrap;row-gap:10px}.vgl-fd-fl{flex-basis:100%}}\r\n.vgl-fd-fl{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:11px;letter-spacing:3px;color:rgba(255,255,255,.5);white-space:nowrap;margin-right:6px}\r\n#vgl-fd-w .vgl-fd-soc .vgl-fd-all{justify-content:center;width:34px;height:34px;gap:0;border-radius:50%;font-size:0!important;letter-spacing:0;color:#cfe3f2;background:rgba(255,255,255,.04);border:1px solid rgba(0,200,255,.22);text-decoration:none;transition:all .2s}\r\n#vgl-fd-w .vgl-fd-soc .vgl-fd-all:hover{color:#06121c!important;background:#00c8ff;border-color:#00c8ff;transform:translateY(-2px);box-shadow:0 6px 18px rgba(0,200,255,.35)}\r\n#vgl-fd-w .vgl-fd-soc .vgl-fd-all svg{width:15px;height:15px;fill:currentColor}\r\n@media(max-width:860px){.vgl-fd-in{grid-template-columns:1fr;gap:36px}.vgl-fd-sep{border-left:none;padding-left:0;border-top:1px solid rgba(255,255,255,.08);padding-top:28px}}\r\n@media(max-width:640px){#vgl-fd-w{padding:40px 16px}.vgl-fd-ch .vgl-fd-all{display:none}.vgl-fd-row{grid-template-columns:100px minmax(0,1fr)}.vgl-fd-ri{width:100px;height:62px}}\r\n\/* grid bg (same as RoC Hub) *\/\r\n#vgl-fd-w{background:#121925!important;}\r\n#vgl-fd-w::before{background-image:linear-gradient(rgba(0,200,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(0,200,255,.05) 1px,transparent 1px)!important;background-size:32px 32px!important;background-repeat:repeat!important;background-attachment:fixed!important;transform:none!important;-webkit-mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.3) 50%,#000 100%)!important;mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.3) 50%,#000 100%)!important}\r\n.vgl-fd-in{z-index:1}\r\n\/* news: scroll only with arrows (no finger\/wheel scroll) *\/\r\n.vgl-fd-rows{overflow-y:hidden!important;overscroll-behavior:auto!important;touch-action:pan-y;}\r\n<\/style>\r\n\r\n<div id=\"vgl-fd-w\">\r\n  <div class=\"vgl-fd-in\">\r\n    <div class=\"vgl-fd-col\">\r\n      <div class=\"vgl-fd-ch\"><div><div class=\"vgl-fd-eb\">Newsroom<\/div><h2 class=\"vgl-fd-title\">What's <em>New<\/em><\/h2><\/div><div style=\"display:flex;align-items:center;gap:8px\"><a class=\"vgl-fd-all\" style=\"margin-right:10px\" href=\"https:\/\/vglesports.com\/el\/news-page\/\" target=\"_blank\" rel=\"noopener\" data-t=\"all\"> <svg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M5 12h14M13 6l6 6-6 6\"\/><\/svg><\/a><button class=\"vgl-fd-arr\" id=\"vgl-fd-up\" aria-label=\"Previous news\"><svg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><polyline points=\"18 15 12 9 6 15\"\/><\/svg><\/button><button class=\"vgl-fd-arr\" id=\"vgl-fd-down\" aria-label=\"More news\"><svg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><polyline points=\"6 9 12 15 18 9\"\/><\/svg><\/button><\/div><\/div>\r\n      <div class=\"vgl-fd-rows\" id=\"vgl-fd-rows\"><\/div>\r\n    <\/div>\r\n    <div class=\"vgl-fd-col vgl-fd-sep vgl-fd-reels\">\r\n      <div class=\"vgl-fd-ch\"><div><div class=\"vgl-fd-eb\">Highlights<\/div><h2 class=\"vgl-fd-title\">Best <em>Moments<\/em><\/h2><\/div><div style=\"display:flex;gap:8px\"><button class=\"vgl-fd-arr\" id=\"vgl-fd-prev\" aria-label=\"Previous\"><svg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><polyline points=\"15 18 9 12 15 6\"\/><\/svg><\/button><button class=\"vgl-fd-arr\" id=\"vgl-fd-next\" aria-label=\"Next\"><svg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><polyline points=\"9 18 15 12 9 6\"\/><\/svg><\/button><\/div><\/div>\r\n      <div class=\"vgl-fd-track\" id=\"vgl-fd-track\"><\/div>\r\n      <div class=\"vgl-fd-soc\"><span class=\"vgl-fd-fl\">FOLLOW US<\/span><a class=\"vgl-fd-all\" data-ico=\"ig\" href=\"https:\/\/www.instagram.com\/vglesports\/\" target=\"_blank\" rel=\"noopener\" aria-label=\"Instagram\">Instagram<\/a><a class=\"vgl-fd-all\" data-ico=\"tt\" href=\"https:\/\/www.tiktok.com\/@vglesportsofficial\" target=\"_blank\" rel=\"noopener\" aria-label=\"TikTok\">TikTok<\/a><a class=\"vgl-fd-all\" href=\"https:\/\/www.facebook.com\/VGLeSports\" target=\"_blank\" rel=\"noopener\" aria-label=\"Facebook\"><svg viewbox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"currentColor\"><path d=\"M24 12.07C24 5.4 18.63 0 12 0S0 5.4 0 12.07C0 18.1 4.39 23.09 10.13 24v-8.44H7.08v-3.49h3.05V9.41c0-3.02 1.79-4.7 4.53-4.7 1.31 0 2.68.24 2.68.24v2.97h-1.51c-1.49 0-1.95.93-1.95 1.89v2.26h3.32l-.53 3.49h-2.79V24C19.61 23.09 24 18.1 24 12.07Z\"\/><\/svg><\/a><a class=\"vgl-fd-all\" href=\"https:\/\/www.youtube.com\/@VGLeSportsOfficial\" target=\"_blank\" rel=\"noopener\" aria-label=\"YouTube\"><svg viewbox=\"0 0 24 24\" width=\"17\" height=\"17\" fill=\"currentColor\"><path d=\"M23.5 6.19a3.02 3.02 0 0 0-2.12-2.14C19.5 3.55 12 3.55 12 3.55s-7.5 0-9.38.5A3.02 3.02 0 0 0 .5 6.19C0 8.07 0 12 0 12s0 3.93.5 5.81a3.02 3.02 0 0 0 2.12 2.14c1.88.5 9.38.5 9.38.5s7.5 0 9.38-.5a3.02 3.02 0 0 0 2.12-2.14C24 15.93 24 12 24 12s0-3.93-.5-5.81ZM9.55 15.57V8.43L15.82 12l-6.27 3.57Z\"\/><\/svg><\/a><a class=\"vgl-fd-all\" href=\"https:\/\/discord.gg\/kBfPkxcCzN\" target=\"_blank\" rel=\"noopener\" aria-label=\"Discord\"><svg viewbox=\"0 0 24 24\" width=\"17\" height=\"17\" fill=\"currentColor\"><path d=\"M20.32 4.37a19.8 19.8 0 0 0-4.89-1.52.07.07 0 0 0-.08.04c-.21.38-.44.87-.6 1.25a18.27 18.27 0 0 0-5.49 0 12.6 12.6 0 0 0-.61-1.25.08.08 0 0 0-.08-.04 19.74 19.74 0 0 0-4.88 1.52.07.07 0 0 0-.04.03C.53 9.05-.32 13.58.1 18.06a.08.08 0 0 0 .03.05 19.9 19.9 0 0 0 6 3.03.08.08 0 0 0 .08-.03c.46-.63.87-1.3 1.23-2a.08.08 0 0 0-.04-.1 13.1 13.1 0 0 1-1.87-.9.08.08 0 0 1-.01-.13c.13-.09.25-.19.37-.29a.07.07 0 0 1 .08-.01c3.93 1.8 8.18 1.8 12.06 0a.07.07 0 0 1 .08.01c.12.1.25.2.38.3a.08.08 0 0 1-.01.12c-.6.35-1.22.65-1.87.9a.08.08 0 0 0-.04.11c.36.7.78 1.36 1.23 1.99a.08.08 0 0 0 .08.03 19.84 19.84 0 0 0 6.02-3.03.08.08 0 0 0 .03-.05c.5-5.18-.84-9.68-3.55-13.66a.06.06 0 0 0-.03-.03ZM8.02 15.33c-1.18 0-2.16-1.08-2.16-2.42 0-1.33.96-2.42 2.16-2.42 1.21 0 2.18 1.1 2.16 2.42 0 1.34-.96 2.42-2.16 2.42Zm7.97 0c-1.18 0-2.15-1.08-2.15-2.42 0-1.33.95-2.42 2.15-2.42 1.22 0 2.18 1.1 2.16 2.42 0 1.34-.94 2.42-2.16 2.42Z\"\/><\/svg><\/a><\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/div>\r\n\r\n<script>\r\n(function(){\r\n  var isGreek=location.href.indexOf('\/el\/')!==-1;\r\n  var IG='<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>',TT='<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>',PLAY='<svg viewBox=\"0 0 24 24\"><path d=\"M8 5v14l11-7z\"\/><\/svg>',ARR='<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M5 12h14M13 6l6 6-6 6\"\/><\/svg>';\r\n  var pg=typeof PAGE_ID!=='undefined'?PAGE_ID:'home';\r\n  var T={all:isGreek?'\u038c\u03bb\u03b1 \u03c4\u03b1 \u03bd\u03ad\u03b1':'All news',read:isGreek?'\u0394\u03b9\u03ac\u03b2\u03b1\u03c3\u03b5':'Read more',news:isGreek?'\u039d\u03ad\u03b1':'News',reels:'Reels'};\r\n  function $(id){return document.getElementById(id);}\r\n  function fmt(s){var d=new Date(s);var M=isGreek?['\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']:['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'];return isGreek?d.getDate()+' '+M[d.getMonth()]+' '+d.getFullYear():M[d.getMonth()]+' '+d.getDate()+', '+d.getFullYear();}\r\n  function esc(s){return String(s).replace(\/&\/g,'&amp;').replace(\/\"\/g,'&quot;').replace(\/<\/g,'&lt;');}\r\n  function loadNews(cb){\r\n    var B='https:\/\/vglesports.com';\r\n    function withCats(done){\r\n      if(typeof NEWS_CATS!=='undefined'&&NEWS_CATS.length){done(NEWS_CATS);return;}\r\n      var q=String(NEWS_CAT_SEARCH).toLowerCase(),all=[];\r\n      (function page(n){\r\n        fetch(B+'\/wp-json\/wp\/v2\/categories?per_page=100&page='+n+'&_fields=id,name,slug').then(function(r){if(!r.ok)throw 0;return r.json();}).then(function(cs){\r\n          all=all.concat(cs||[]);\r\n          if(cs&&cs.length===100&&n<5){page(n+1);return;}\r\n          done(all.filter(function(c){return (String(c.slug||'')+' '+String(c.name||'')).toLowerCase().indexOf(q)!==-1;}).map(function(c){return c.id;}));\r\n        }).catch(function(){done(all.filter(function(c){return (String(c.slug||'')+' '+String(c.name||'')).toLowerCase().indexOf(q)!==-1;}).map(function(c){return c.id;}));});\r\n      })(1);\r\n    }\r\n    withCats(function(C){\r\n    if(!C.length){cb([]);return;}\r\n    fetch(B+'\/wp-json\/wp\/v2\/posts?per_page=9&categories='+C.join(',')+'&_fields=id,title,link,date,featured_media').then(function(r){if(!r.ok)throw 0;return r.json();}).then(function(ps){\r\n      var it=ps.map(function(p){return {id:p.featured_media,title:(p.title&&p.title.rendered)||'',link:p.link,date:fmt(p.date),img:null};});\r\n      var ids=it.map(function(p){return p.id;}).filter(function(i){return i>0;});\r\n      if(!ids.length){cb(it);return;}\r\n      fetch(B+'\/wp-json\/wp\/v2\/media?include='+ids.join(',')+'&per_page=9&_fields=id,source_url,media_details').then(function(r){return r.json();}).then(function(ml){var m={};(ml||[]).forEach(function(x){var u=x.source_url;try{var s=x.media_details.sizes;u=(s.medium_large||s.large||s.medium||s.full).source_url||u;}catch(e){}m[x.id]=u;});it.forEach(function(p){p.img=m[p.id]||null;});cb(it);}).catch(function(){cb(it);});\r\n    }).catch(function(e){console.warn('[VGL News]',e);cb([]);});\r\n    });\r\n  }\r\n  function loadReels(cb){\r\n    fetch('https:\/\/docs.google.com\/spreadsheets\/d\/e\/2PACX-1vRwYEJQQvu8A5aCzPtb_vlK-bUTSpKHNq1pGQo_IrScbTshZayVbwL1S6AMODASFA\/pub?gid=1215148930&single=true&output=csv').then(function(r){return r.text();}).then(function(t){\r\n      function row(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.trim());c='';}else c+=ch;}r.push(c.trim());return r;}\r\n      function cl(v){return (v||'').replace(\/\"\/g,'').trim();}\r\n      var out=[];t.trim().split('\\n').slice(1).forEach(function(l){var c=row(l),reel=cl(c[4]),img=cl(c[5]);var tt=reel.indexOf('tiktok.com')!==-1,id=(reel.match(\/video\\\/(\\d+)\/)||[])[1]||'';if(cl(c[3])===pg&&reel&&(img||id))out.push({reel:reel,img:img,tt:tt,id:id});});cb(out);\r\n    }).catch(function(e){console.error('Reels',e);cb([]);});\r\n  }\r\n  function nimg(p,c){return p.img?'<img decoding=\"async\" class=\"'+c+'\" src=\"'+p.img+'\" alt=\"\" loading=\"lazy\">':'<div class=\"'+c+'\" style=\"background:linear-gradient(135deg,#0d1118,#16202e)\"><\/div>';}\r\n  function glider(tr,stepFn,onEnd){var a=null;return function(dx){if(a)cancelAnimationFrame(a);var x0=tr.scrollLeft,max=tr.scrollWidth-tr.clientWidth,s=stepFn(),to=Math.max(0,Math.min(max,Math.round((x0+dx)\/s)*s)),d=to-x0,t0=null;if(Math.abs(d)<1){onEnd();return;}tr.style.scrollSnapType='none';function e(k){return k<.5?4*k*k*k:1-Math.pow(-2*k+2,3)\/2;}function f(ts){if(t0===null)t0=ts;var k=Math.min(1,(ts-t0)\/650);tr.scrollLeft=x0+d*e(k);if(k<1)a=requestAnimationFrame(f);else{a=null;tr.style.scrollSnapType='';onEnd();}}a=requestAnimationFrame(f);};}\r\n  document.querySelectorAll('[data-t]').forEach(function(el){el.insertAdjacentText('afterbegin',T[el.getAttribute('data-t')]);});\r\n  document.querySelectorAll('[data-ico]').forEach(function(el){el.insertAdjacentHTML('afterbegin',el.getAttribute('data-ico')==='tt'?TT:IG);});\r\n\r\n  loadNews(function(n){$('vgl-fd-rows').innerHTML=n.map(function(p){return '<a class=\"vgl-fd-row\" href=\"'+p.link+'\" target=\"_blank\" rel=\"noopener\">'+nimg(p,'vgl-fd-ri')+'<div class=\"vgl-fd-rb\"><span class=\"vgl-fd-d\">'+p.date+'<\/span><h3 class=\"vgl-fd-t\">'+p.title+'<\/h3><\/div><\/a>';}).join('');vupd();});\r\n  var rows=$('vgl-fd-rows'),up=$('vgl-fd-up'),dn=$('vgl-fd-down'),va=null;\r\n  function vupd(){var max=rows.scrollHeight-rows.clientHeight;up.disabled=rows.scrollTop<=4;dn.disabled=rows.scrollTop>=max-4;}\r\n  function vgo(dir){if(va)cancelAnimationFrame(va);var s=318+10,y0=rows.scrollTop,max=rows.scrollHeight-rows.clientHeight,to=Math.max(0,Math.min(max,Math.round((y0+dir*s)\/s)*s)),d=to-y0,t0=null;if(Math.abs(d)<1)return;function e(k){return k<.5?4*k*k*k:1-Math.pow(-2*k+2,3)\/2;}function f(ts){if(t0===null)t0=ts;var k=Math.min(1,(ts-t0)\/650);rows.scrollTop=y0+d*e(k);if(k<1)va=requestAnimationFrame(f);else{va=null;vupd();}}va=requestAnimationFrame(f);}\r\n  up.onclick=function(){vgo(-1);};dn.onclick=function(){vgo(1);};\r\n  rows.addEventListener('scroll',function(){clearTimeout(rows._t);rows._t=setTimeout(vupd,60);},{passive:true});\r\n  var tr=$('vgl-fd-track'),pv=$('vgl-fd-prev'),nx=$('vgl-fd-next');\r\n  function step(){var c=tr.children[0];return c?(c.getBoundingClientRect().width+14)*2:tr.clientWidth;}\r\n  function upd(){var max=tr.scrollWidth-tr.clientWidth;pv.disabled=tr.scrollLeft<=4;nx.disabled=tr.scrollLeft>=max-4;}\r\n  var go=glider(tr,step,upd);pv.onclick=function(){go(-step());};nx.onclick=function(){go(step());};\r\n  tr.addEventListener('scroll',function(){clearTimeout(tr._t);tr._t=setTimeout(upd,60);},{passive:true});window.addEventListener('resize',upd);\r\n  loadReels(function(R){tr.innerHTML=R.map(function(r){return '<a class=\"vgl-fd-rc\" href=\"'+esc(r.reel)+'\" target=\"_blank\" rel=\"noopener\">'+(r.img?'<img decoding=\"async\" src=\"'+esc(r.img)+'\" alt=\"\" loading=\"lazy\">':'<img data-tt=\"'+r.id+'\" alt=\"\" style=\"opacity:0;transition:opacity .4s\">')+'<span class=\"vgl-fd-play\">'+PLAY+'<\/span><span class=\"vgl-fd-bdg\">'+(r.tt?TT:IG)+(r.tt?'TikTok':'Reel')+'<\/span><\/a>';}).join('');upd();ttCovers();});\r\n  function ttCovers(){var C={};try{C=JSON.parse(localStorage.getItem('vglTTc')||'{}');}catch(e){}\r\n    var ids=[];[].forEach.call(tr.querySelectorAll('img[data-tt]'),function(im){var id=im.getAttribute('data-tt');if(ids.indexOf(id)<0)ids.push(id);});\r\n    function set(id,u){[].forEach.call(document.querySelectorAll('#vgl-fd-track img[data-tt=\"'+id+'\"]'),function(im){if(im.getAttribute('src')===u)return;im.referrerPolicy='no-referrer';im.onload=function(){im.style.opacity=1;};im.onerror=function(){console.warn('[VGL TikTok] cover failed',id);};im.src=u;});}\r\n    function next(){var id=ids.shift();if(!id)return;var c=C[id];if(c&&Date.now()-c.t<432e5){set(id,c.u);next();return;}\r\n      fetch('https:\/\/www.tikwm.com\/api\/?url='+encodeURIComponent('https:\/\/www.tiktok.com\/@vglesportsofficial\/video\/'+id)).then(function(r){return r.json();}).then(function(j){var u=j&&j.data&&(j.data.origin_cover||j.data.cover);if(u){set(id,u);C[id]={u:u,t:Date.now()};try{localStorage.setItem('vglTTc',JSON.stringify(C));}catch(e){}}else console.warn('[VGL TikTok]',id,j&&j.code,j&&j.msg);}).catch(function(e){console.warn('[VGL TikTok]',id,e);}).then(function(){setTimeout(next,1200);});}\r\n    next();}\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":0,"href":"https:\/\/vglesports.com\/el\/wp-json\/wp\/v2\/pages\/19699\/revisions"}],"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}]}}