/* =============================================================
   NEW META · ESPORTS HUB — SHARED THEME  (dense / competitive)
   Built on the main-site tokens; tightened for a VLR/Liquipedia
   data-dense feel. Restrained colour: neutral dark base, purple
   as the single action colour, game accents as thin bars/dots.
   ============================================================= */
noscript{display:none !important}
:root{
  --bg:#0f0f12; --bg-2:#141417; --panel:#17171c; --panel-2:#1c1c22; --panel-3:#232329;
  --line:rgba(255,255,255,.08); --line-2:rgba(255,255,255,.14); --line-3:rgba(255,255,255,.22);
  --txt:#f3f3f6; --muted:#9b9ba6; --muted-2:#6f6f7a; --muted-3:#565660;
  --purple:#5d5cf0; --purple-2:#8584f8;
  --purple-grad:linear-gradient(135deg,#7a78f8 0%,#5249e6 60%,#4338cf 100%);
  --gold:#e9a83a; --green:#5fce86; --red:#f0556b; --blue:#1e9de3;
  --val:#ff4655; --cs:#f0a431;
  --r:14px; --r-sm:9px; --r-xs:6px;
  --ff:'Outfit', system-ui, sans-serif;
  --mono:'JetBrains Mono','DM Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
  --maxw:1240px;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;scroll-behavior:smooth;}
body{font-family:var(--ff);background:var(--bg);color:var(--txt);-webkit-font-smoothing:antialiased;line-height:1.55;}
::selection{background:var(--purple);color:#fff;}
a{color:inherit;text-decoration:none;}
a.link{color:var(--purple-2);}
a.link:hover{color:#fff;}
img{display:block;max-width:100%;}
h1,h2,h3,h4{margin:0;letter-spacing:-.02em;line-height:1.15;}
.mono{font-family:var(--mono);font-feature-settings:"tnum" 1;}
.num{font-family:var(--mono);font-variant-numeric:tabular-nums;}

/* ---------------- LAYOUT ---------------- */
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 26px;}
.wrap.narrow{max-width:960px;}
main{min-height:60vh;}
section{padding:44px 0;}
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px;flex-wrap:wrap;}
.eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--purple-2);margin-bottom:11px;}
.eyebrow::before{content:"";width:22px;height:2px;background:var(--purple);border-radius:2px;}
h2.sec{font-size:clamp(23px,2.7vw,34px);font-weight:700;}
.sec-sub{color:var(--muted);font-size:15px;max-width:600px;margin:8px 0 0;}
.see-all{font-size:13px;font-weight:600;color:var(--muted);display:inline-flex;align-items:center;gap:6px;white-space:nowrap;}
.see-all:hover{color:#fff;}
.grid{display:grid;gap:14px;}
.divider{height:1px;background:var(--line);border:0;margin:0;}
.spacer{flex:1;}

/* ---------------- SUB-SITE NAV ---------------- */
.hubnav{position:sticky;top:0;z-index:80;background:rgba(12,12,15,.82);backdrop-filter:blur(16px);border-bottom:1px solid var(--line);}
.hubnav-in{max-width:var(--maxw);margin:0 auto;display:flex;align-items:center;gap:8px;padding:0 26px;height:60px;}
.hubnav .brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:16px;letter-spacing:-.01em;margin-right:8px;white-space:nowrap;}
.hubnav .brand img{width:28px;height:28px;object-fit:contain;}
.hubnav .brand .esub{font-size:10px;font-weight:700;letter-spacing:.2em;color:var(--purple-2);text-transform:uppercase;padding:2px 7px;border:1px solid var(--line-2);border-radius:20px;}
.hubnav .navlinks{display:flex;align-items:center;gap:2px;margin-left:6px;}
.hubnav .navlinks a{font-size:13.5px;font-weight:600;color:var(--muted);padding:8px 12px;border-radius:8px;transition:.13s;white-space:nowrap;}
.hubnav .navlinks a:hover{color:#fff;background:rgba(255,255,255,.05);}
.hubnav .navlinks a.on{color:#fff;background:rgba(93,92,240,.16);}
.hubnav .right{margin-left:auto;display:flex;align-items:center;gap:9px;}
.hubnav .back{font-size:12.5px;color:var(--muted-2);display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:8px;}
.hubnav .back:hover{color:#fff;}
/* brand dropdown (mirrors the community nav) */
.hubnav .branddrop{position:relative;}
.hubnav .branddrop .bcaret{font-size:11px;color:var(--muted-2);margin-left:2px;}
.hubnav .branddrop .brandmenu{position:absolute;left:0;top:calc(100% + 10px);min-width:180px;background:#15151a;border:1px solid rgba(255,255,255,.14);box-shadow:0 22px 44px -22px rgba(0,0,0,.8);display:none;flex-direction:column;border-radius:6px;overflow:hidden;z-index:120;}
.hubnav .branddrop.open .brandmenu{display:flex;}
.hubnav .branddrop .brandmenu a{padding:12px 16px;color:#e8e8ee;font-weight:700;font-size:13.5px;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.08);}
.hubnav .branddrop .brandmenu a:last-child{border-bottom:0;}
.hubnav .branddrop .brandmenu a:hover{background:#22222a;}
.hubnav .btn-sm{font-size:13px;}
/* nav ticket link — restrained, letterspaced, hairline border; fills on hover */
.hubnav .tixbtn{display:inline-flex;align-items:center;gap:9px;font-size:11.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:#e8e8ef;background:transparent;border:1px solid var(--line-3);border-radius:2px;padding:9px 15px;white-space:nowrap;transition:background .16s,border-color .16s,color .16s;}
.hubnav .tixbtn .tb-ic{display:flex;color:var(--muted);transition:color .16s;}
.hubnav .tixbtn:hover{background:#f4f4f7;border-color:#f4f4f7;color:#111116;}
.hubnav .tixbtn:hover .tb-ic{color:#111116;}
@media(max-width:640px){ .hubnav .tixbtn{padding:8px 12px;letter-spacing:.1em;} .hubnav .tixbtn .tb-ic{display:none;} }
.hubnav .acct{display:inline-flex;align-items:center;gap:9px;padding:6px 13px 6px 6px;border:1px solid var(--line-2);border-radius:30px;background:var(--panel);transition:.13s;}
.hubnav .acct:hover{border-color:var(--purple);background:var(--panel-2);}
.hubnav .acct .ai{width:28px;height:28px;flex:none;border-radius:50%;background:var(--purple-grad);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;font-family:var(--mono);}
.hubnav .acct .an{font-size:13.5px;font-weight:600;color:#fff;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.hubnav .burger{display:none;width:40px;height:40px;border:1px solid var(--line-2);border-radius:9px;background:var(--panel);color:#fff;font-size:17px;cursor:pointer;margin-left:auto;}
.mobmenu{display:none;flex-direction:column;padding:8px 26px 16px;border-bottom:1px solid var(--line);background:var(--bg-2);}
.mobmenu a{padding:11px 8px;font-size:15px;font-weight:600;color:#d6d6dd;border-bottom:1px solid var(--line);}
.mobmenu a:last-child{border-bottom:0;}
@media(max-width:960px){
  .hubnav .navlinks,.hubnav .right{display:none;}
  .hubnav .burger{display:block;}
  .mobmenu.open{display:flex;}
}

/* ---------------- BUTTONS ---------------- */
.btn{font-family:var(--ff);font-weight:700;font-size:14px;cursor:pointer;border:0;border-radius:30px;padding:12px 22px;color:#fff;background:var(--purple-grad);box-shadow:0 8px 20px -14px rgba(93,92,240,.7);transition:transform .12s,box-shadow .12s;display:inline-flex;align-items:center;gap:9px;white-space:nowrap;}
.btn:hover{transform:translateY(-2px);box-shadow:0 14px 28px -16px rgba(93,92,240,.8);}
.btn .arr{width:24px;height:24px;border-radius:50%;background:rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;font-size:12px;margin:-3px -8px -3px 0;}
.btn.ghost{background:transparent;border:1px solid var(--line-2);color:#fff;box-shadow:none;}
.btn.ghost:hover{border-color:var(--purple);transform:none;box-shadow:none;background:rgba(93,92,240,.08);}
.btn.dark{background:var(--panel-2);border:1px solid var(--line-2);box-shadow:none;}
.btn.dark:hover{background:var(--panel-3);}
.btn-sm{padding:9px 16px;border-radius:26px;font-size:13px;}
.btn.block{width:100%;justify-content:center;}

/* ---------------- BADGES / PILLS ---------------- */
.gbadge{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:3px 9px;border-radius:20px;border:1px solid var(--line-2);color:#fff;}
.gbadge .gd{width:7px;height:7px;border-radius:50%;flex:none;}
.gbadge.val .gd{background:var(--val);} .gbadge.cs .gd{background:var(--cs);}
.pill{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;padding:3px 9px;border-radius:20px;}
.pill.live{color:#fff;background:rgba(240,85,107,.16);border:1px solid rgba(240,85,107,.4);}
.pill.live .d{width:6px;height:6px;border-radius:50%;background:var(--red);box-shadow:0 0 0 0 rgba(240,85,107,.6);animation:pulse 1.6s infinite;}
.pill.open{color:var(--green);background:rgba(95,206,134,.13);border:1px solid rgba(95,206,134,.35);}
.pill.soon{color:var(--gold);background:rgba(233,168,58,.13);border:1px solid rgba(233,168,58,.34);}
.pill.done{color:var(--muted);background:rgba(255,255,255,.05);border:1px solid var(--line-2);}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(240,85,107,.5);}70%{box-shadow:0 0 0 6px rgba(240,85,107,0);}100%{box-shadow:0 0 0 0 rgba(240,85,107,0);}}
.tag{display:inline-flex;align-items:center;font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.05em;color:var(--muted);border:1px solid var(--line-2);border-radius:5px;padding:2px 6px;}

/* team/player crest fallbacks (no photo needed) */
.crest{display:flex;align-items:center;justify-content:center;font-weight:800;color:#fff;flex:none;border-radius:10px;letter-spacing:.02em;}
.avatar{display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff;flex:none;border-radius:50%;}
.flag{font-family:var(--mono);font-size:10px;font-weight:700;color:var(--muted);border:1px solid var(--line-2);border-radius:4px;padding:1px 4px;letter-spacing:.04em;}

/* ---------------- PANELS / CARDS ---------------- */
.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:18px;transition:.14s;}
a.card:hover,.card.hover:hover{border-color:var(--line-3);background:var(--panel-2);transform:translateY(-2px);}
.card .accent{height:3px;border-radius:3px;margin:-18px -18px 14px;border-top-left-radius:var(--r);border-top-right-radius:var(--r);}

/* stat tiles */
.stats-row{display:flex;gap:10px;flex-wrap:wrap;}
.stat{flex:1;min-width:90px;background:var(--panel-2);border:1px solid var(--line);border-radius:var(--r-sm);padding:12px 14px;}
.stat b{display:block;font-family:var(--mono);font-size:22px;font-weight:700;letter-spacing:-.02em;}
.stat small{display:block;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-top:2px;}

/* ---------------- TABS ---------------- */
.tabbar{display:inline-flex;gap:3px;padding:4px;background:var(--panel);border:1px solid var(--line);border-radius:30px;}
.tabbar button{font-family:var(--ff);font-weight:600;font-size:13px;color:var(--muted);background:transparent;border:0;padding:8px 16px;border-radius:24px;cursor:pointer;transition:.13s;}
.tabbar button:hover{color:#fff;}
.tabbar button.on{background:var(--purple-grad);color:#fff;}
.segbar{display:inline-flex;border:1px solid var(--line-2);border-radius:9px;overflow:hidden;}
.segbar button{font-family:var(--ff);font-weight:600;font-size:13px;color:var(--muted);background:var(--panel);border:0;border-right:1px solid var(--line-2);padding:9px 16px;cursor:pointer;transition:.13s;}
.segbar button:last-child{border-right:0;}
.segbar button:hover{color:#fff;background:var(--panel-2);}
.segbar button.on{color:#fff;background:rgba(93,92,240,.2);}

/* ---------------- DENSE TABLE ---------------- */
.tbl{width:100%;border-collapse:collapse;font-size:13.5px;}
.tbl thead th{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted-2);font-weight:700;text-align:left;padding:10px 12px;border-bottom:1px solid var(--line-2);white-space:nowrap;}
.tbl thead th.r,.tbl td.r{text-align:right;}
.tbl thead th.c,.tbl td.c{text-align:center;}
.tbl tbody td{padding:11px 12px;border-bottom:1px solid var(--line);vertical-align:middle;}
.tbl tbody tr{transition:.1s;}
.tbl tbody tr:hover{background:rgba(255,255,255,.03);}
.tbl tbody tr:last-child td{border-bottom:0;}
.tbl .rankn{font-family:var(--mono);font-weight:700;color:var(--muted);width:34px;}
.tbl .rankn.top{color:var(--gold);}
.tbl .stat-n{font-family:var(--mono);font-variant-numeric:tabular-nums;}
.tbl .teamcell{display:flex;align-items:center;gap:11px;}
.tbl .win{color:var(--green);font-family:var(--mono);} .tbl .loss{color:var(--red);font-family:var(--mono);}
.tbl-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);background:var(--panel);}
.tbl-wrap .tbl thead th{background:var(--panel-2);position:sticky;top:0;}

/* form dots (last-5) */
.form{display:inline-flex;gap:3px;}
.form span{width:16px;height:16px;border-radius:4px;font-family:var(--mono);font-size:9px;font-weight:700;display:flex;align-items:center;justify-content:center;color:#fff;}
.form .W{background:rgba(95,206,134,.85);} .form .L{background:rgba(240,85,107,.8);} .form .D{background:var(--muted-3);}

/* progress bar */
.bar{display:flex;flex-direction:column;gap:5px;margin-bottom:11px;}
.bar .bl{display:flex;justify-content:space-between;font-size:12.5px;color:var(--muted);}
.bar .bl b{color:#fff;font-family:var(--mono);}
.bar .track{height:7px;border-radius:6px;background:rgba(255,255,255,.07);overflow:hidden;}
.bar .fill{height:100%;border-radius:6px;}

/* ---------------- PAGE HEADER ---------------- */
.phead{border-bottom:1px solid var(--line);background:radial-gradient(1200px 300px at 20% -40%,rgba(93,92,240,.14),transparent 70%);}
.phead-in{max-width:var(--maxw);margin:0 auto;padding:34px 26px 28px;}
.phead h1{font-size:clamp(28px,4vw,44px);font-weight:800;}
.phead p{color:var(--muted);font-size:15px;margin:10px 0 0;max-width:640px;}
.crumbs{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--muted-2);margin-bottom:12px;}
.crumbs a:hover{color:#fff;} .crumbs .sep{opacity:.5;}

/* ---------------- SPONSOR RAIL ---------------- */
.sponsors{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bg-2);overflow:hidden;}
.sponsors .track{display:flex;gap:64px;align-items:center;padding:20px 0;width:max-content;animation:scroll-left 26s linear infinite;}
.sponsors .track:hover{animation-play-state:paused;}
.sponsors .sp{display:flex;align-items:center;justify-content:center;height:34px;opacity:.62;transition:.15s;filter:grayscale(1);}
.sponsors .sp:hover{opacity:1;filter:none;}
.sponsors .sp img{height:100%;width:auto;object-fit:contain;}
.sponsors .sp .mk{font-weight:800;font-size:17px;letter-spacing:.02em;color:#fff;}
@keyframes scroll-left{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* ---------------- FOOTER ---------------- */
.hubfoot{border-top:1px solid var(--line);background:var(--bg-2);padding:40px 0 30px;margin-top:40px;}
.hubfoot-in{max-width:var(--maxw);margin:0 auto;padding:0 26px;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px;}
.hubfoot h5{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted-2);margin:0 0 14px;font-weight:700;}
.hubfoot a{display:block;color:var(--muted);font-size:13.5px;padding:4px 0;}
.hubfoot a:hover{color:#fff;}
.hubfoot .fbrand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:18px;margin-bottom:12px;}
.hubfoot .fbrand img{width:30px;height:30px;object-fit:contain;}
.hubfoot .fdesc{color:var(--muted);font-size:13.5px;max-width:280px;}
.hubfoot-bottom{max-width:var(--maxw);margin:26px auto 0;padding:18px 26px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;color:var(--muted-2);font-size:12.5px;}
@media(max-width:820px){ .hubfoot-in{grid-template-columns:1fr 1fr;} }
@media(max-width:520px){ .hubfoot-in{grid-template-columns:1fr;} }

/* ---------------- MODAL ---------------- */
.scrim{position:fixed;inset:0;background:rgba(6,6,9,.72);backdrop-filter:blur(4px);z-index:200;display:none;align-items:center;justify-content:center;padding:24px;}
.scrim.open{display:flex;}
.modal{background:var(--panel);border:1px solid var(--line-2);border-radius:var(--r);max-width:520px;width:100%;max-height:88vh;overflow:auto;position:relative;box-shadow:0 40px 80px -30px rgba(0,0,0,.9);}
.modal .mclose{position:absolute;top:14px;right:14px;width:34px;height:34px;border-radius:50%;background:rgba(0,0,0,.4);border:1px solid var(--line-2);color:#fff;font-size:17px;cursor:pointer;z-index:3;}
.modal .mclose:hover{background:rgba(0,0,0,.7);}

/* ---------------- FIELDS ---------------- */
.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;}
.field label{font-size:12.5px;font-weight:600;color:#d8d8df;}
.field label .req{color:var(--purple-2);}
.field input,.field select,.field textarea{font-family:var(--ff);font-size:14.5px;color:var(--txt);background:var(--bg);border:1px solid var(--line-2);border-radius:9px;padding:11px 13px;outline:none;transition:.13s;width:100%;}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--purple);box-shadow:0 0 0 3px rgba(93,92,240,.18);}
.field.err input{border-color:var(--red);}

/* reveal on scroll */
.rv{opacity:0;transform:translateY(16px);transition:opacity .5s ease,transform .5s ease;}
.rv.in{opacity:1;transform:none;}

/* utility */
.muted{color:var(--muted);} .muted-2{color:var(--muted-2);}
.center{text-align:center;} .flex{display:flex;} .aic{align-items:center;} .gap{gap:12px;}
.mt6{margin-top:6px;} .mt12{margin-top:12px;} .mt20{margin-top:20px;} .mt30{margin-top:30px;}

/* ---------------- MOBILE REFINEMENTS ---------------- */
@media(max-width:640px){
  .wrap{padding:0 16px;}
  section{padding:30px 0;}
  .phead-in{padding:22px 16px 20px;}
  .phead p{font-size:14px;}
  .sec-head{margin-bottom:16px;gap:10px;}
  h2.sec{font-size:22px;}
  /* button rows: stack and go full-width so they're easy to tap */
  .cta-row{flex-direction:column;align-items:stretch!important;}
  .cta-row .btn{width:100%;justify-content:center;}
  .btn{padding:13px 20px;}
  /* tab / segment bars: let them span and scroll instead of overflowing */
  .tabbar{display:flex;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
  .tabbar::-webkit-scrollbar{display:none;}
  .tabbar button{flex:1 0 auto;white-space:nowrap;}
  .segbar{display:flex;width:100%;}
  .segbar button{flex:1;}
  .stat b{font-size:19px;}
  .stat{min-width:74px;padding:10px 12px;}
  .tbl thead th,.tbl tbody td{padding:9px 10px;}
  .sponsors .track{gap:40px;}
}
@media(max-width:400px){
  .wrap{padding:0 13px;}
  .hubnav-in{padding:0 14px;gap:6px;}
  h2.sec{font-size:20px;}
}
