import{r as e}from"./rolldown-runtime-S-ySWqyJ.js";import{Br as t,Ci as n,Cr as r,Fr as i,Ht as a,Ir as o,Or as s,Rr as c,Rt as l,Xt as u,Yn as d,Yt as f,Zn as p,_i as m,cn as h,cr as g,dr as _,in as v,oi as y,on as b,qt as x,ri as S,ui as C,un as w,vi as ee,xr as T,yi as E,zr as D}from"./vendor-DlcENO3s.js";import{n as te,r as O}from"./api-D_CxJQU5.js";import{i as k,t as ne}from"./match-status-utils-CVVsjoBS.js";import{M as re,T as ie,a as ae,b as oe,i as se,j as A,k as ce,p as le,v as ue,y as de,yt as j}from"./index-CgkkL22i.js";import{t as M}from"./status-pill-CKzGGTPC.js";import{t as fe}from"./flags-B3Juk3B9.js";import{t as pe}from"./SparkLine-Q1OgFo2P.js";import{r as me,t as he}from"./TournamentHero-MMzNdcCq.js";import{t as ge}from"./MatchRow-BeMgZZbX.js";import{t as _e}from"./AgentIcon-lhiw_nl7.js";import{t as ve}from"./delta-pill-KtjNzp8w.js";import{n as ye,t as be}from"./seo-helpers-BPEHfU_C.js";import{t as xe}from"./WatchButton-Bis93j9S.js";import{t as Se}from"./useTournament-ma-d7IyJ.js";import{t as Ce}from"./EntityNotFound-Q2qLjiXV.js";import{t as we}from"./FormDots-NxY6argi.js";import{t as Te}from"./UpcomingSeedRow-CeVLVM5Z.js";import{a as Ee,c as De,i as Oe,l as ke,n as Ae,o as je,r as Me,s as Ne,t as Pe}from"./BracketView-C6nIhKQX.js";var N=e(n(),1);function P(e,t){let n=e.team1?.id===t,r=e.team1Maps??e.stats?.team1Maps??null,i=e.team2Maps??e.stats?.team2Maps??null,a=n?r:i,o=n?i:r;if((a==null||a===0&&o===0)&&e.stats?.seriesScore){let[t,r]=Array.isArray(e.stats.seriesScore)?e.stats.seriesScore:e.stats.seriesScore.split(`-`).map(Number);!isNaN(t)&&!isNaN(r)&&(a=n?t:r,o=n?r:t)}return{teamMaps:a,oppMaps:o}}function Fe(e,t){for(let n of e){if(n.team1?.slug===t)return n.team1;if(n.team2?.slug===t)return n.team2}return null}function Ie(e,t){let[n,r]=E(),i=n.get(`team`),a=e=>{r(t=>{let n=new URLSearchParams(t);return n.get(`team`)===e?n.delete(`team`):n.set(`team`,e),n},{replace:!0})},o=()=>{r(e=>{let t=new URLSearchParams(e);return t.delete(`team`),t},{replace:!0})},s=(0,N.useMemo)(()=>{if(!i)return null;let n=Fe(e,i);if(!n)return null;let r=n.id,a=e.filter(e=>e.team1?.id===r||e.team2?.id===r).sort((e,t)=>{let n=e.playedAt??e.scheduledAt??``,r=t.playedAt??t.scheduledAt??``;return n.localeCompare(r)});if(a.length===0)return null;let o=0,s=0,c=0,l=0;for(let e of a){if(!e.winner)continue;e.winner.id===r?o++:s++;let{teamMaps:t,oppMaps:n}=P(e,r);c+=t??0,l+=n??0}let u=a.filter(e=>e.winner?.id===r&&e.stats),d=u.length>0?u.reduce((e,t)=>{let{teamMaps:n,oppMaps:i}=P(t,r),a=(n??0)-(i??0),{teamMaps:o,oppMaps:s}=P(e,r);return a>(o??0)-(s??0)?t:e}):null,f=a.filter(e=>e.winner&&e.stats),p=f.length>0?f.reduce((e,t)=>{let{teamMaps:n,oppMaps:i}=P(t,r),a=Math.abs((n??0)-(i??0)),{teamMaps:o,oppMaps:s}=P(e,r);return a<Math.abs((o??0)-(s??0))?t:e}):null,m=[...a].reverse().filter(e=>e.winner),h=m[0]?.winner?.id===r?`W`:`L`,g=0;for(let e of m){let t=e.winner?.id===r;if(t&&h===`W`||!t&&h===`L`)g++;else break}let _=[...a].reverse().find(e=>e.winner),v=_?.winner?.id===r,y=t===`completed`&&v,b=t!==`upcoming`&&!v&&!!_;return{teamId:r,teamName:n.name,teamSlug:i,teamLogoUrl:n.logoUrl??null,matches:a,wins:o,losses:s,mapsWon:c,mapsLost:l,biggestWin:d,closestMatch:p,currentStreak:{type:h,count:g},status:y?`champion`:b?`eliminated`:`active`}},[i,e,t]);return{teamSlug:i,journey:s,teamMatchIds:(0,N.useMemo)(()=>s?new Set(s.matches.map(e=>e.id)):new Set,[s]),selectTeam:a,clearTeam:o}}var F=y();function Le({value:e}){return(0,F.jsx)(`span`,{className:j(`glk-tabular`,e>0&&`text-emerald-500`,e<0&&`text-red-500`,e===0&&`text-zinc-400`),children:e>0?`+${e}`:e})}function Re({entry:e,advanced:t,expanded:n,onToggle:r,gameSlug:i,compact:a}){let o=e.team;return a?(0,F.jsxs)(`tr`,{className:j(t&&`border-l-[3px] border-l-emerald-500`),children:[(0,F.jsx)(`td`,{className:`py-2 pl-3 pr-2 text-center glk-metric-sm text-zinc-400`,children:e.rank}),(0,F.jsx)(`td`,{className:`py-2 pr-2`,children:(0,F.jsxs)(C,{to:`/${i}/teams/${o.slug}`,className:`flex items-center gap-2 hover:text-zinc-700 dark:hover:text-zinc-300`,children:[(0,F.jsx)(A,{name:o.name,abbreviation:o.abbreviation,logoUrl:o.logoUrl,size:`xs`}),(0,F.jsx)(`span`,{className:`max-w-[120px] truncate text-sm font-medium text-zinc-900 dark:text-zinc-100`,children:o.name}),t&&(0,F.jsx)(D,{size:13,className:`shrink-0 text-emerald-500`,"aria-label":`Advanced to playoffs`})]})}),(0,F.jsxs)(`td`,{className:`py-2 pr-3 text-right text-sm glk-tabular text-zinc-600 dark:text-zinc-300`,children:[(0,F.jsx)(`span`,{className:`font-semibold`,children:e.matchesWon}),(0,F.jsx)(`span`,{className:`text-zinc-400`,children:`-`}),(0,F.jsx)(`span`,{children:e.matchesLost})]})]}):(0,F.jsxs)(F.Fragment,{children:[(0,F.jsxs)(`tr`,{onClick:r,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&!e.target.closest(`a, button`)&&(e.preventDefault(),r())},tabIndex:0,"aria-expanded":n,className:j(`cursor-pointer transition-colors hover:bg-zinc-50 dark:hover:bg-zinc-800/50`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-[var(--glk-brand)]`,t&&`border-l-[3px] border-l-emerald-500`),children:[(0,F.jsx)(`td`,{className:`py-2.5 pl-3 pr-2 text-center glk-metric-sm text-zinc-400`,children:e.rank}),(0,F.jsx)(`td`,{className:`py-2.5 pr-2`,children:(0,F.jsxs)(C,{to:`/${i}/teams/${o.slug}`,onClick:e=>e.stopPropagation(),className:`flex items-center gap-2 hover:text-zinc-700 dark:hover:text-zinc-300`,children:[(0,F.jsx)(A,{name:o.name,abbreviation:o.abbreviation,logoUrl:o.logoUrl,size:`xs`}),(0,F.jsx)(`span`,{className:`max-w-[160px] truncate text-sm font-medium text-zinc-900 dark:text-zinc-100`,children:o.name}),t&&(0,F.jsxs)(`span`,{className:`inline-flex shrink-0 items-center gap-1 rounded-full bg-emerald-500/10 px-1.5 py-0.5 text-[10px] font-medium uppercase tracking-wide text-emerald-600 dark:text-emerald-400`,"aria-label":`Advanced to playoffs`,children:[(0,F.jsx)(D,{size:11}),`Playoffs`]})]})}),(0,F.jsxs)(`td`,{className:`py-2.5 pr-2 text-center text-sm glk-tabular text-zinc-600 dark:text-zinc-300`,children:[(0,F.jsx)(`span`,{className:`font-semibold`,children:e.matchesWon}),(0,F.jsx)(`span`,{className:`text-zinc-400`,children:`-`}),(0,F.jsx)(`span`,{children:e.matchesLost})]}),(0,F.jsx)(`td`,{className:`py-2.5 pr-2 text-center text-sm glk-tabular text-zinc-600 dark:text-zinc-300`,children:e.mapsWon+e.mapsLost>0?(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(`span`,{children:e.mapsWon}),(0,F.jsx)(`span`,{className:`text-zinc-400`,children:`-`}),(0,F.jsx)(`span`,{children:e.mapsLost})]}):(0,F.jsx)(`span`,{className:`text-zinc-400`,children:`–`})}),(0,F.jsx)(`td`,{className:`py-2.5 pr-2 text-center text-sm`,children:e.mapsWon+e.mapsLost>0?(0,F.jsx)(Le,{value:e.mapDiff}):(0,F.jsx)(`span`,{className:`text-zinc-400`,children:`–`})}),(0,F.jsx)(`td`,{className:`hidden py-2.5 pr-2 text-center text-sm md:table-cell`,children:e.roundsWon+e.roundsLost>0?(0,F.jsx)(Le,{value:e.roundDiff}):(0,F.jsx)(`span`,{className:`text-zinc-400`,children:`–`})}),(0,F.jsx)(`td`,{className:`hidden py-2.5 pr-2 text-center md:table-cell`,children:(0,F.jsx)(we,{form:e.recentForm})}),(0,F.jsx)(`td`,{className:`py-2.5 pr-3 text-center`,children:(0,F.jsx)(c,{size:14,className:j(`inline-block text-zinc-400 transition-transform`,n&&`rotate-180`)})})]}),n&&e.tiedWith.length>0&&(0,F.jsx)(`tr`,{className:`bg-zinc-50 dark:bg-zinc-900/50`,children:(0,F.jsx)(`td`,{colSpan:8,className:`border-l-2 border-emerald-500/30 px-4 py-2`,children:(0,F.jsxs)(`p`,{className:`text-xs text-zinc-400`,children:[`Tied with `,e.tiedWith.length,` team`,e.tiedWith.length>1?`s`:``,` — resolved by head-to-head`]})})})]})}function ze(e){let t=e.filter(e=>e.advanced).length;if(t===0||t>=e.length)return null;let n=e.slice(0,t).every(e=>e.advanced),r=e.slice(t).every(e=>!e.advanced);return n&&r?t:null}function Be({showAdvancement:e}){return(0,F.jsxs)(`div`,{className:`border-t border-zinc-200 px-4 py-3 dark:border-zinc-800`,children:[(0,F.jsx)(`p`,{className:`glk-eyebrow mb-1.5`,children:`How to read this table`}),(0,F.jsxs)(`ul`,{className:`flex flex-wrap gap-x-4 gap-y-1 text-xs text-zinc-500 dark:text-zinc-400`,children:[(0,F.jsxs)(`li`,{children:[(0,F.jsx)(`span`,{className:`font-medium text-zinc-600 dark:text-zinc-300`,children:`W–L`}),` match record`]}),(0,F.jsxs)(`li`,{children:[(0,F.jsx)(`span`,{className:`font-medium text-zinc-600 dark:text-zinc-300`,children:`Maps`}),` maps won–lost`]}),(0,F.jsxs)(`li`,{children:[(0,F.jsx)(`span`,{className:`font-medium text-zinc-600 dark:text-zinc-300`,children:`Map +/−`}),` map differential (first tiebreak)`]}),(0,F.jsxs)(`li`,{children:[(0,F.jsx)(`span`,{className:`font-medium text-zinc-600 dark:text-zinc-300`,children:`Rd +/−`}),` round differential (next tiebreak)`]}),(0,F.jsxs)(`li`,{children:[(0,F.jsx)(`span`,{className:`font-medium text-zinc-600 dark:text-zinc-300`,children:`Form`}),` last 5 results, newest first`]}),e&&(0,F.jsxs)(`li`,{className:`inline-flex items-center gap-1`,children:[(0,F.jsx)(D,{size:12,className:`text-emerald-500`}),(0,F.jsx)(`span`,{children:`in the playoff bracket (advanced)`})]})]})]})}function I({standings:e,stageName:t,matchesPlayed:n,matchesTotal:r,advancementKnown:i,compact:a,gameSlug:o}){let[s,c]=(0,N.useState)(null),l=i===!0&&e.some(e=>e.advanced),u=l?ze(e):null,d=e=>{c(t=>t===e?null:e)};return a?(0,F.jsxs)(`div`,{className:`glk-card !p-0`,children:[(0,F.jsxs)(`div`,{className:`flex items-center justify-between px-4 py-3`,children:[(0,F.jsx)(`h3`,{className:`glk-eyebrow`,children:t}),(0,F.jsxs)(M,{tone:`neutral`,size:`xs`,uppercase:!1,className:`tabular-nums`,children:[n,`/`,r,` in stage`]})]}),(0,F.jsx)(`table`,{className:`w-full`,children:(0,F.jsx)(`tbody`,{children:e.map(e=>(0,F.jsx)(Re,{entry:e,advanced:l&&e.advanced,expanded:!1,onToggle:()=>{},gameSlug:o,compact:!0},e.team.id))})})]}):(0,F.jsxs)(`div`,{className:`glk-card !p-0 overflow-hidden`,children:[(0,F.jsxs)(`div`,{className:`flex items-center justify-between bg-zinc-100 px-4 py-2.5 dark:bg-zinc-800/50`,children:[(0,F.jsx)(`span`,{className:`glk-eyebrow`,children:t}),(0,F.jsxs)(`span`,{className:`text-xs tabular-nums text-zinc-400`,children:[n,`/`,r,` stage matches played`]})]}),(0,F.jsx)(`div`,{className:`overflow-x-auto`,children:(0,F.jsxs)(`table`,{className:`w-full min-w-[500px]`,children:[(0,F.jsx)(`thead`,{children:(0,F.jsxs)(`tr`,{className:`glk-eyebrow border-b border-zinc-200 dark:border-zinc-800`,children:[(0,F.jsx)(`th`,{scope:`col`,className:`py-2 pl-3 pr-2 text-center font-medium`,children:`#`}),(0,F.jsx)(`th`,{scope:`col`,className:`py-2 pr-2 text-left font-medium`,children:`Team`}),(0,F.jsx)(`th`,{scope:`col`,className:`py-2 pr-2 text-center font-medium`,children:`W–L`}),(0,F.jsx)(`th`,{scope:`col`,className:`py-2 pr-2 text-center font-medium`,children:`Maps`}),(0,F.jsx)(`th`,{scope:`col`,className:`py-2 pr-2 text-center font-medium`,children:`Map +/−`}),(0,F.jsx)(`th`,{scope:`col`,className:`hidden py-2 pr-2 text-center font-medium md:table-cell`,children:`Rd +/−`}),(0,F.jsx)(`th`,{scope:`col`,className:`hidden py-2 pr-2 text-center font-medium md:table-cell`,children:`Form`}),(0,F.jsx)(`th`,{scope:`col`,className:`w-8 py-2 pr-3`})]})}),(0,F.jsx)(`tbody`,{className:`divide-y divide-zinc-100 dark:divide-zinc-800/50`,children:e.map(e=>(0,F.jsxs)(N.Fragment,{children:[(0,F.jsx)(Re,{entry:e,advanced:l&&e.advanced,expanded:s===e.team.id,onToggle:()=>d(e.team.id),gameSlug:o}),u!==null&&e.rank===u&&(0,F.jsx)(`tr`,{"aria-hidden":`true`,children:(0,F.jsx)(`td`,{colSpan:8,className:`p-0`,children:(0,F.jsxs)(`div`,{className:`flex items-center gap-2 border-y border-dashed border-emerald-500/40 bg-emerald-500/[0.04] px-3 py-1`,children:[(0,F.jsx)(`span`,{className:`glk-eyebrow text-emerald-600 dark:text-emerald-400`,children:`Advances â–²`}),(0,F.jsx)(`span`,{className:`h-px flex-1 bg-emerald-500/20`}),(0,F.jsx)(`span`,{className:`glk-eyebrow text-zinc-400`,children:`Eliminated â–¼`})]})})})]},e.team.id))})]})}),e.length===0&&(0,F.jsx)(`div`,{className:`py-8 text-center text-sm text-zinc-400`,children:`No standings data available yet.`}),e.length>0&&(0,F.jsx)(Be,{showAdvancement:l})]})}function L(e,t,n){return se(ae.standings,{gameSlug:e,tournamentSlug:t,groupId:n??null},{enabled:!!t})}function R({gameSlug:e,tournamentSlug:t,stage:n,compact:r}){let i=n.groups??[];return i.length<=1?(0,F.jsx)(Ve,{gameSlug:e,tournamentSlug:t,stageName:n.name,compact:r}):(0,F.jsx)(`div`,{className:`grid grid-cols-1 gap-4 lg:grid-cols-2`,children:i.map(n=>(0,F.jsx)(He,{gameSlug:e,tournamentSlug:t,groupId:n.id,groupName:n.name,compact:r},n.id))})}function Ve({gameSlug:e,tournamentSlug:t,stageName:n,compact:r}){let{data:i,isLoading:a}=L(e,t);if(a)return(0,F.jsx)(z,{});let o=i?.stages??[];return o.length===0?(0,F.jsx)(B,{label:n}):(0,F.jsx)(`div`,{className:`space-y-4`,children:o.map(t=>(0,F.jsx)(I,{standings:t.standings,stageName:t.stageName,matchesPlayed:t.matchesPlayed,matchesTotal:t.matchesTotal,advancementKnown:t.advancementKnown,gameSlug:e,compact:r},t.stageId))})}function He({gameSlug:e,tournamentSlug:t,groupId:n,groupName:r,compact:i}){let{data:a,isLoading:o}=L(e,t,n);if(o)return(0,F.jsx)(z,{});let s=a?.stages?.[0];return s?(0,F.jsx)(I,{standings:s.standings,stageName:s.groupName??r,matchesPlayed:s.matchesPlayed,matchesTotal:s.matchesTotal,advancementKnown:s.advancementKnown,gameSlug:e,compact:i}):(0,F.jsx)(B,{label:r})}function z(){return(0,F.jsxs)(`div`,{className:`glk-card`,children:[(0,F.jsx)(`div`,{className:`mb-3 h-4 w-32 animate-pulse rounded bg-zinc-100 dark:bg-zinc-800`}),(0,F.jsx)(`div`,{className:`space-y-2`,children:Array.from({length:4}).map((e,t)=>(0,F.jsx)(`div`,{className:`h-8 w-full animate-pulse rounded bg-zinc-100 dark:bg-zinc-800`},t))})]})}function B({label:e}){return(0,F.jsxs)(`div`,{className:`rounded-xl border border-dashed border-zinc-200 p-6 text-center text-xs text-zinc-500 dark:border-zinc-800 dark:text-zinc-400`,children:[`No standings yet for `,(0,F.jsx)(`span`,{className:`font-medium`,children:e}),`.`]})}function Ue(e,t){return S({queryKey:[`streaks`,e,t],queryFn:()=>O(`/games/${e}/tournaments/${t}/streaks`),enabled:!!t,staleTime:300*1e3})}function We(e,t){return S({queryKey:[`mapMeta`,e,t],queryFn:()=>O(`/games/${e}/tournaments/${t}/map-meta`),enabled:!!t,staleTime:300*1e3})}function Ge(e,t){return se(ae.ratingMovers,{gameSlug:e,tournamentSlug:t},{enabled:!!t})}function Ke({streaks:e,gameSlug:t}){if(e.length===0)return null;let n=e.filter(e=>e.streak>0),r=e.filter(e=>e.streak<0);return(0,F.jsxs)(`div`,{className:`glk-card`,children:[(0,F.jsx)(`h3`,{className:`glk-eyebrow mb-3`,children:`Streaks`}),(0,F.jsxs)(`div`,{className:`grid grid-cols-1 gap-4 sm:grid-cols-2`,children:[n.length>0&&(0,F.jsxs)(`div`,{children:[(0,F.jsxs)(`div`,{className:`mb-2 flex items-center gap-1.5 text-xs font-semibold text-emerald-500`,children:[(0,F.jsx)(_,{size:12}),`Hot`]}),(0,F.jsx)(`div`,{className:`space-y-1.5`,children:n.map(e=>(0,F.jsx)(V,{entry:e},e.team.id))})]}),r.length>0&&(0,F.jsxs)(`div`,{children:[(0,F.jsxs)(`div`,{className:`mb-2 flex items-center gap-1.5 text-xs font-semibold text-red-500`,children:[(0,F.jsx)(u,{size:12}),`Cold`]}),(0,F.jsx)(`div`,{className:`space-y-1.5`,children:r.map(e=>(0,F.jsx)(V,{entry:e},e.team.id))})]})]})]})}function V({entry:e}){let t=e.streak>0;return(0,F.jsxs)(`div`,{className:`flex items-center gap-2 rounded-md px-2 py-1.5`,children:[(0,F.jsx)(A,{name:e.team.name,abbreviation:e.team.abbreviation,logoUrl:e.team.logoUrl,size:`xs`}),(0,F.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-sm font-medium text-zinc-900 dark:text-zinc-100`,children:e.team.abbreviation??e.team.name}),(0,F.jsx)(ve,{tone:t?`up`:`down`,icon:!1,children:t?`${e.streak}W`:`${Math.abs(e.streak)}L`}),(0,F.jsx)(`div`,{className:`flex gap-0.5`,children:e.matches.map((e,t)=>(0,F.jsx)(`div`,{title:`${e.won?`W`:`L`} vs ${e.opponentAbbr}`,className:j(`h-2 w-2 rounded-full`,e.won?`bg-emerald-500`:`bg-red-500`)},t))})]})}function qe({data:e}){let[t,n]=(0,N.useState)(`play`);return e.maps.length===0?null:(0,F.jsxs)(`div`,{className:`glk-card`,children:[(0,F.jsxs)(`div`,{className:`mb-3 flex items-center justify-between`,children:[(0,F.jsx)(`h3`,{className:`glk-eyebrow`,children:`Map Meta`}),(0,F.jsxs)(`div`,{className:`flex gap-1 rounded-full bg-zinc-200/80 p-0.5 dark:bg-zinc-800`,children:[(0,F.jsx)(`button`,{onClick:()=>n(`play`),className:j(`rounded-full px-2.5 py-0.5 text-2xs font-medium transition-colors`,t===`play`?`bg-zinc-50 text-zinc-900 shadow-sm dark:bg-zinc-700 dark:text-zinc-100`:`text-zinc-500 hover:text-zinc-700 dark:text-zinc-400`),children:`Play Rates`}),(0,F.jsx)(`button`,{onClick:()=>n(`vetoes`),className:j(`rounded-full px-2.5 py-0.5 text-2xs font-medium transition-colors`,t===`vetoes`?`bg-zinc-50 text-zinc-900 shadow-sm dark:bg-zinc-700 dark:text-zinc-100`:`text-zinc-500 hover:text-zinc-700 dark:text-zinc-400`),children:`Vetoes`})]})]}),t===`play`?(0,F.jsxs)(`div`,{className:`space-y-2`,children:[e.maps.filter(e=>e.playCount>0).map(e=>(0,F.jsxs)(`div`,{children:[(0,F.jsxs)(`div`,{className:`mb-0.5 flex items-center justify-between text-xs`,children:[(0,F.jsx)(`span`,{className:`font-medium text-zinc-900 dark:text-zinc-100`,children:e.mapName}),(0,F.jsxs)(`span`,{className:`tabular-nums text-zinc-400`,children:[e.playCount,`×`]})]}),(0,F.jsxs)(`div`,{className:`flex h-2 overflow-hidden rounded-full bg-zinc-200 dark:bg-zinc-700`,children:[(0,F.jsx)(`div`,{className:`bg-amber-500/80`,style:{width:`${e.attackWinRate*100}%`},title:`Attack: ${Math.round(e.attackWinRate*100)}%`}),(0,F.jsx)(`div`,{className:`bg-sky-500/80`,style:{width:`${e.defenseWinRate*100}%`},title:`Defense: ${Math.round(e.defenseWinRate*100)}%`})]})]},e.mapName)),(0,F.jsxs)(`div`,{className:`flex items-center gap-3 pt-1 text-2xs text-zinc-400`,children:[(0,F.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,F.jsx)(`span`,{className:`h-1.5 w-1.5 rounded-full bg-amber-500/80`}),` ATK`]}),(0,F.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,F.jsx)(`span`,{className:`h-1.5 w-1.5 rounded-full bg-sky-500/80`}),` DEF`]})]})]}):(0,F.jsxs)(`div`,{className:`space-y-2`,children:[e.maps.filter(e=>e.pickCount+e.banCount+e.deciderCount>0).map(e=>{let t=e.pickCount+e.banCount+e.deciderCount;return(0,F.jsxs)(`div`,{children:[(0,F.jsxs)(`div`,{className:`mb-0.5 flex items-center justify-between text-xs`,children:[(0,F.jsx)(`span`,{className:`font-medium text-zinc-900 dark:text-zinc-100`,children:e.mapName}),(0,F.jsxs)(`div`,{className:`flex gap-2 tabular-nums text-zinc-400`,children:[e.pickCount>0&&(0,F.jsxs)(`span`,{className:`text-emerald-500`,children:[e.pickCount,`P`]}),e.banCount>0&&(0,F.jsxs)(`span`,{className:`text-red-500`,children:[e.banCount,`B`]}),e.deciderCount>0&&(0,F.jsxs)(`span`,{className:`text-amber-500`,children:[e.deciderCount,`D`]})]})]}),(0,F.jsxs)(`div`,{className:`flex h-2 overflow-hidden rounded-full bg-zinc-200 dark:bg-zinc-700`,children:[e.pickCount>0&&(0,F.jsx)(`div`,{className:`bg-emerald-500`,style:{width:`${e.pickCount/t*100}%`}}),e.banCount>0&&(0,F.jsx)(`div`,{className:`bg-red-500`,style:{width:`${e.banCount/t*100}%`}}),e.deciderCount>0&&(0,F.jsx)(`div`,{className:`bg-amber-500`,style:{width:`${e.deciderCount/t*100}%`}})]})]},e.mapName)}),e.totalVetoes===0&&(0,F.jsx)(`p`,{className:`py-2 text-center text-xs text-zinc-400`,children:`No veto data yet`})]})]})}function Je({data:e,gameSlug:t}){return e.risers.length===0&&e.fallers.length===0?null:(0,F.jsxs)(`div`,{className:`glk-card`,children:[(0,F.jsxs)(`h3`,{className:`glk-eyebrow mb-3 flex items-center gap-1.5`,children:[(0,F.jsx)(f,{size:12,className:`text-emerald-500`}),(0,F.jsx)(u,{size:12,className:`text-red-500`}),`Rating Movers`]}),(0,F.jsxs)(`div`,{className:`space-y-1`,children:[e.risers.map(e=>(0,F.jsx)(H,{mover:e,direction:`up`},e.team.id)),e.risers.length>0&&e.fallers.length>0&&(0,F.jsx)(`div`,{className:`my-1 border-t border-zinc-200 dark:border-zinc-800`}),e.fallers.map(e=>(0,F.jsx)(H,{mover:e,direction:`down`},e.team.id))]})]})}function H({mover:e,direction:t}){let n=t===`up`;return(0,F.jsxs)(`div`,{className:`flex items-center gap-2 rounded-md px-2 py-1.5`,children:[(0,F.jsx)(A,{name:e.team.name,abbreviation:e.team.abbreviation,logoUrl:e.team.logoUrl,size:`xs`}),(0,F.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-sm font-medium text-zinc-900 dark:text-zinc-100`,children:e.team.abbreviation??e.team.name}),(0,F.jsx)(`span`,{className:`text-xs tabular-nums text-zinc-400`,children:e.ratingCurrent}),(0,F.jsxs)(ve,{tone:n?`up`:`down`,children:[n?`+`:``,e.delta]}),e.history.length>=2&&(0,F.jsx)(pe,{data:e.history.map(e=>e.rating),width:40,height:16,color:n?`var(--glk-win)`:`var(--glk-loss)`})]})}function U(e,t){let n=e.team1?.id===t,r=e.team1Maps??e.stats?.team1Maps??null,i=e.team2Maps??e.stats?.team2Maps??null,a=n?r:i,o=n?i:r;if((a==null||a===0&&o===0)&&e.stats?.seriesScore){let[t,r]=Array.isArray(e.stats.seriesScore)?e.stats.seriesScore:e.stats.seriesScore.split(`-`).map(Number);!isNaN(t)&&!isNaN(r)&&(a=n?t:r,o=n?r:t)}return{teamMaps:a,oppMaps:o}}function W(e,t){return e.team1?.id===t?e.team2:e.team1}function Ye({journey:e,onClear:t}){let{status:n,currentStreak:r}=e;return(0,F.jsx)(`div`,{className:`glk-card animate-in slide-in-from-top-2 fade-in mb-6 overflow-hidden duration-300 !p-0`,children:(0,F.jsxs)(`div`,{className:`p-4 md:p-5`,children:[(0,F.jsxs)(`div`,{className:`mb-4 flex items-center justify-between`,children:[(0,F.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,F.jsx)(A,{name:e.teamName,logoUrl:e.teamLogoUrl,abbreviation:null,size:`md`}),(0,F.jsxs)(`div`,{children:[(0,F.jsxs)(`h2`,{className:`glk-eyebrow text-zinc-900 dark:text-zinc-100`,children:[e.teamName,`'s Tournament`]}),(0,F.jsx)(`p`,{className:`text-xs text-zinc-400`,children:`Team Journey`})]})]}),(0,F.jsx)(`button`,{onClick:t,className:`rounded-md p-1.5 text-zinc-400 transition-colors hover:bg-zinc-200 hover:text-zinc-600 dark:hover:bg-zinc-800 dark:hover:text-zinc-300`,"aria-label":`Clear team selection`,children:(0,F.jsx)(l,{size:16})})]}),(0,F.jsxs)(`div`,{className:`grid grid-cols-2 gap-2 sm:grid-cols-4`,children:[(0,F.jsxs)(`div`,{className:`glk-card !p-3 text-center`,children:[(0,F.jsx)(`div`,{className:`glk-eyebrow`,children:`Record`}),(0,F.jsxs)(`div`,{className:`mt-1 glk-metric glk-metric-lg text-zinc-900 dark:text-zinc-100`,children:[(0,F.jsx)(`span`,{className:`text-emerald-500`,children:e.wins}),(0,F.jsx)(`span`,{className:`mx-0.5 text-zinc-300 dark:text-zinc-600`,children:`-`}),(0,F.jsx)(`span`,{className:`text-red-500`,children:e.losses})]})]}),(0,F.jsxs)(`div`,{className:`glk-card !p-3 text-center`,children:[(0,F.jsx)(`div`,{className:`glk-eyebrow`,children:`Maps`}),(0,F.jsxs)(`div`,{className:`mt-1 glk-metric glk-metric-lg text-zinc-900 dark:text-zinc-100`,children:[(0,F.jsx)(`span`,{className:`text-emerald-500`,children:e.mapsWon}),(0,F.jsx)(`span`,{className:`mx-0.5 text-zinc-300 dark:text-zinc-600`,children:`-`}),(0,F.jsx)(`span`,{className:`text-red-500`,children:e.mapsLost})]})]}),(0,F.jsxs)(`div`,{className:`glk-card !p-3 text-center`,children:[(0,F.jsx)(`div`,{className:`glk-eyebrow`,children:`Streak`}),(0,F.jsxs)(`div`,{className:j(`mt-1 flex items-center justify-center gap-1 glk-metric glk-metric-lg`,r.type===`W`?`text-emerald-500`:`text-red-500`),children:[r.type,r.count,r.type===`W`&&r.count>=3&&(0,F.jsx)(_,{size:18,className:`text-amber-500`})]})]}),(0,F.jsxs)(`div`,{className:`glk-card !p-3 text-center`,children:[(0,F.jsx)(`div`,{className:`glk-eyebrow`,children:`Status`}),(0,F.jsxs)(`div`,{className:`mt-1`,children:[n===`active`&&(0,F.jsx)(M,{tone:`success`,pulse:!0,children:`Active`}),n===`eliminated`&&(0,F.jsx)(M,{tone:`danger`,icon:(0,F.jsx)(w,{size:12}),children:`Eliminated`}),n===`champion`&&(0,F.jsx)(M,{tone:`warning`,icon:(0,F.jsx)(x,{size:12}),children:`Champion`})]})]})]}),(e.biggestWin||e.closestMatch)&&(0,F.jsxs)(`div`,{className:`mt-4 border-t border-zinc-200 pt-3 dark:border-zinc-700`,children:[(0,F.jsx)(`div`,{className:`glk-eyebrow`,children:`Notable`}),(0,F.jsxs)(`div`,{className:`mt-1.5 space-y-1`,children:[e.biggestWin&&(()=>{let t=W(e.biggestWin,e.teamId),{teamMaps:n,oppMaps:r}=U(e.biggestWin,e.teamId);return(0,F.jsxs)(`div`,{className:`flex items-center gap-2 text-sm text-zinc-500 dark:text-zinc-400`,children:[(0,F.jsx)(`span`,{className:`text-xs font-medium text-zinc-400`,children:`Biggest Win`}),(0,F.jsxs)(`span`,{className:`text-zinc-900 dark:text-zinc-100`,children:[`vs `,t?.abbreviation??t?.name??`TBD`]}),n!=null&&r!=null&&(0,F.jsxs)(`span`,{className:`font-bold tabular-nums text-emerald-500`,children:[`(`,n,`-`,r,`)`]})]})})(),e.closestMatch&&e.closestMatch.id!==e.biggestWin?.id&&(()=>{let t=W(e.closestMatch,e.teamId),{teamMaps:n,oppMaps:r}=U(e.closestMatch,e.teamId),i=e.closestMatch.winner?.id===e.teamId;return(0,F.jsxs)(`div`,{className:`flex items-center gap-2 text-sm text-zinc-500 dark:text-zinc-400`,children:[(0,F.jsx)(`span`,{className:`text-xs font-medium text-zinc-400`,children:`Closest Match`}),(0,F.jsxs)(`span`,{className:`text-zinc-900 dark:text-zinc-100`,children:[`vs `,t?.abbreviation??t?.name??`TBD`]}),n!=null&&r!=null&&(0,F.jsxs)(`span`,{className:j(`font-bold tabular-nums`,i?`text-emerald-500`:`text-red-500`),children:[`(`,n,`-`,r,`)`]})]})})()]})]})]})})}function Xe(e,t){return e.team1?.id===t?e.team2:e.team1}function Ze(e,t){let n=e.team1?.id===t,r=e.team1Maps??e.stats?.team1Maps??null,i=e.team2Maps??e.stats?.team2Maps??null,a=n?r:i,o=n?i:r;if((a==null||a===0&&o===0)&&e.stats?.seriesScore){let[t,r]=Array.isArray(e.stats.seriesScore)?e.stats.seriesScore:e.stats.seriesScore.split(`-`).map(Number);!isNaN(t)&&!isNaN(r)&&(a=n?t:r,o=n?r:t)}return a!=null&&o!=null?`${a}-${o}`:null}function Qe(e){let t=e.playedAt??e.scheduledAt;return t?new Date(t).toLocaleDateString(`en-US`,{month:`short`,day:`numeric`}):``}function $e(e){return!e.mapResults||e.mapResults.length===0?null:e.mapResults.map(e=>e.mapName).join(`, `)}function et({journey:e,gameSlug:t}){let{matches:n,teamId:r}=e;return n.length===0?null:(0,F.jsxs)(`div`,{className:`mb-6`,children:[(0,F.jsx)(`h3`,{className:`glk-eyebrow mb-3`,children:`Match Timeline`}),(0,F.jsx)(`div`,{className:`relative`,children:n.map((i,a)=>{let o=i.winner?.id===r,s=i.winner&&i.winner.id!==r,c=!i.winner,l=a===n.length-1,u=l&&e.status===`champion`&&o,d=Xe(i,r),f=Ze(i,r),p=Qe(i),m=$e(i);return(0,F.jsxs)(`div`,{className:`relative flex gap-4`,style:{animationDelay:`${a*50}ms`},children:[(0,F.jsxs)(`div`,{className:`flex flex-col items-center`,children:[u?(0,F.jsx)(`div`,{className:`relative z-10 flex h-5 w-5 items-center justify-center`,children:(0,F.jsx)(`div`,{className:`h-4 w-4 rotate-45 rounded-sm bg-amber-500 shadow-[0_0_8px_rgba(245,158,11,0.5)]`})}):(0,F.jsx)(`div`,{className:j(`relative z-10 h-3 w-3 flex-shrink-0 rounded-full mt-1`,o&&`bg-emerald-500 shadow-[0_0_6px_rgba(16,185,129,0.4)]`,s&&`bg-red-500 shadow-[0_0_6px_rgba(239,68,68,0.4)]`,c&&`border-2 border-zinc-500 bg-transparent`)}),!l&&(0,F.jsx)(`div`,{className:j(`w-0.5 flex-1 min-h-[24px]`,o&&`bg-emerald-500/20`,s&&`bg-red-500/20`,c&&`bg-zinc-700`)})]}),(0,F.jsxs)(C,{to:`/${t}/matches/${i.id}`,className:j(`group mb-3 flex-1 rounded-lg border px-3 py-2.5 transition-colors`,`border-zinc-200 bg-zinc-50 hover:border-zinc-300 dark:border-zinc-800 dark:bg-zinc-900 dark:hover:border-zinc-700`,c&&`opacity-60`),children:[(0,F.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,F.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,F.jsx)(`span`,{className:j(`text-xs font-bold`,o&&`text-emerald-500`,s&&`text-red-500`,c&&`text-zinc-500`),children:o?`Win`:s?`Loss`:`Upcoming`}),(0,F.jsx)(`span`,{className:`text-zinc-300 dark:text-zinc-600`,children:`vs`}),d&&(0,F.jsxs)(`div`,{className:`flex items-center gap-1.5 min-w-0`,children:[(0,F.jsx)(A,{name:d.name,abbreviation:d.abbreviation,logoUrl:d.logoUrl,size:`xs`}),(0,F.jsx)(`span`,{className:`truncate text-sm font-semibold text-zinc-900 dark:text-zinc-100`,children:d.abbreviation??d.name})]}),f&&(0,F.jsx)(`span`,{className:j(`rounded-md px-1.5 py-0.5 text-xs font-bold tabular-nums`,o&&`bg-emerald-500/10 text-emerald-500`,s&&`bg-red-500/10 text-red-500`),children:f}),u&&(0,F.jsx)(x,{size:14,className:`flex-shrink-0 text-amber-500`})]}),(0,F.jsx)(`span`,{className:`flex-shrink-0 text-xs text-zinc-400`,children:i.stage&&i.stage!==`other`?i.stage:``})]}),(p||m)&&(0,F.jsxs)(`div`,{className:`mt-1 flex items-center gap-2 text-xs text-zinc-400`,children:[p&&(0,F.jsx)(`span`,{children:p}),p&&m&&(0,F.jsx)(`span`,{className:`text-zinc-300 dark:text-zinc-600`,children:`·`}),m&&(0,F.jsx)(`span`,{className:`truncate`,children:m})]})]})]},i.id)})})]})}function G({participants:e,gameSlug:t,formByTeam:n}){if(e.length===0)return null;let i=e.some(e=>e.seedRank!=null),a=[...e].sort((e,t)=>{if(i){let n=e.seedRank??null,r=t.seedRank??null;if(n!=null&&r!=null&&n!==r)return n-r;if(n!=null&&r==null)return-1;if(n==null&&r!=null)return 1}let n=e.rating,r=t.rating;if(n!=null&&r!=null){if(r!==n)return r-n}else if(n!=null)return-1;else if(r!=null)return 1;return e.name.localeCompare(t.name)});return(0,F.jsxs)(`div`,{className:`glk-card !p-0`,children:[(0,F.jsxs)(`div`,{className:`flex items-center justify-between px-4 py-3`,children:[(0,F.jsx)(`h3`,{className:`glk-eyebrow`,children:`Field`}),(0,F.jsxs)(`span`,{className:`glk-tabular text-xs text-zinc-500 dark:text-zinc-400`,children:[e.length,` `,e.length===1?`team`:`teams`]})]}),(0,F.jsx)(`ul`,{className:`glk-stagger grid grid-cols-2 gap-1 px-2 pb-2 sm:grid-cols-3`,children:a.map(e=>{let i=n?.[e.id];return(0,F.jsx)(`li`,{children:(0,F.jsxs)(C,{to:`/${t}/teams/${e.slug}`,className:`group flex items-center gap-2.5 rounded-md px-2 py-1.5 transition-colors hover:bg-zinc-100 dark:hover:bg-zinc-800/50`,children:[e.seedRank!=null&&(0,F.jsx)(`span`,{className:`glk-tabular w-5 flex-shrink-0 text-center text-xs font-bold text-zinc-400 dark:text-zinc-500`,title:`Seed ${e.seedRank}`,children:e.seedRank}),(0,F.jsx)(A,{name:e.name,slug:e.slug,abbreviation:e.abbreviation,logoUrl:e.logoUrl,size:`sm`}),(0,F.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-sm font-semibold text-zinc-900 transition-colors group-hover:text-zinc-900 dark:text-zinc-100 dark:group-hover:text-zinc-100`,children:e.name}),e.isDefendingChampion&&(0,F.jsxs)(`span`,{className:`inline-flex flex-shrink-0 items-center gap-1 text-amber-500`,title:`Defending champion — auto-qualified`,children:[(0,F.jsx)(r,{size:13,strokeWidth:2.25,"aria-hidden":!0}),(0,F.jsx)(`span`,{className:`glk-eyebrow hidden text-2xs text-amber-600 sm:inline dark:text-amber-400`,children:`Defending champ`})]}),i&&i.length>0&&(0,F.jsx)(we,{form:i,showEmptyDash:!1}),e.rating!=null&&(0,F.jsx)(`span`,{className:`glk-tabular flex-shrink-0 text-xs font-bold text-zinc-500 dark:text-zinc-400`,children:e.rating})]})},e.id)})})]})}function tt({mvp:e,gameSlug:t}){if(!e)return null;let n=e.playerName.charAt(0).toUpperCase(),r=Number.isFinite(e.kdr)?e.kdr.toFixed(2):null;return(0,F.jsxs)(C,{to:`/${t}/players/${e.playerSlug}`,className:`glk-card group flex items-center gap-4 !p-4`,children:[(0,F.jsx)(`div`,{"aria-hidden":`true`,className:`flex h-12 w-12 flex-shrink-0 select-none items-center justify-center rounded-lg bg-gradient-to-br from-zinc-200 to-zinc-300 text-lg font-bold text-zinc-600 dark:from-zinc-700 dark:to-zinc-800 dark:text-zinc-400`,children:n}),(0,F.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,F.jsxs)(`div`,{className:`glk-eyebrow flex items-center gap-1.5 text-amber-600 dark:text-amber-400`,children:[(0,F.jsx)(b,{size:11,className:`text-amber-500`}),`MVP`]}),(0,F.jsx)(`div`,{className:`mt-0.5 truncate text-sm font-bold text-zinc-900 transition-colors group-hover:text-zinc-900 dark:text-zinc-100 dark:group-hover:text-zinc-100`,children:e.playerName}),(0,F.jsxs)(`div`,{className:`glk-tabular mt-0.5 text-xs text-zinc-500 dark:text-zinc-400`,children:[e.matches,` playoff `,e.matches===1?`match`:`matches`]})]}),r!=null&&(0,F.jsxs)(`div`,{className:`flex-shrink-0 text-right`,children:[(0,F.jsx)(`div`,{className:`glk-metric glk-metric-md text-zinc-900 dark:text-zinc-100`,children:r}),(0,F.jsx)(`div`,{className:`glk-eyebrow text-zinc-500 dark:text-zinc-400`,children:`KD/R`})]})]})}var K={primary:`border-l-[var(--glk-brand)]`,info:`border-l-blue-500/70 dark:border-l-blue-400/70`,warning:`border-l-amber-500/70 dark:border-l-amber-400/70`,neutral:`border-l-zinc-400/70 dark:border-l-zinc-500/70`,danger:`border-l-red-500/70 dark:border-l-red-400/70`};function nt({storylines:e}){return e.length===0?null:(0,F.jsxs)(`div`,{className:`glk-card !p-0`,children:[(0,F.jsxs)(`div`,{className:`flex items-center gap-2 px-4 py-3`,children:[(0,F.jsx)(h,{size:14,className:`text-amber-500`,"aria-hidden":`true`}),(0,F.jsx)(`h3`,{className:`glk-eyebrow`,children:`Storylines`})]}),(0,F.jsx)(`ul`,{className:`space-y-1.5 px-3 pb-3`,children:e.map((e,t)=>(0,F.jsx)(`li`,{className:j(`rounded-md border-l-2 bg-zinc-50 px-3 py-2 text-sm leading-snug text-zinc-700 dark:bg-zinc-900/40 dark:text-zinc-200`,K[e.tone]??K.info),children:e.text},t))})]})}function rt(e){return e.isChampion?`text-amber-500`:e.rank<=4?`text-zinc-700 dark:text-zinc-200`:`text-zinc-400`}function it({placements:e,gameSlug:t}){return e.length===0?null:(0,F.jsxs)(`div`,{className:`glk-card !p-0`,children:[(0,F.jsxs)(`div`,{className:`flex items-center justify-between px-4 py-3`,children:[(0,F.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,F.jsx)(x,{size:14,className:`text-amber-500`,"aria-hidden":`true`}),(0,F.jsx)(`h3`,{className:`glk-eyebrow`,children:`Final Placements`})]}),(0,F.jsxs)(`span`,{className:`glk-tabular text-xs text-zinc-500 dark:text-zinc-400`,children:[e.length,` `,e.length===1?`team`:`teams`]})]}),(0,F.jsx)(`ol`,{className:`space-y-0.5 px-2 pb-2`,children:e.map(e=>(0,F.jsx)(`li`,{children:(0,F.jsxs)(C,{to:`/${t}/teams/${e.team.slug}`,className:j(`group flex items-center gap-2.5 rounded-md px-2 py-1.5 text-sm transition-colors hover:bg-zinc-100 dark:hover:bg-zinc-800/50`,e.isChampion&&`bg-amber-500/5`),children:[(0,F.jsx)(`span`,{className:j(`glk-tabular w-12 text-center text-xs font-bold`,rt(e)),"aria-label":`Rank ${e.rankLabel}`,children:e.rankLabel}),(0,F.jsx)(A,{name:e.team.name,slug:e.team.slug,abbreviation:e.team.abbreviation,logoUrl:e.team.logoUrl,size:`sm`}),(0,F.jsx)(`span`,{className:`min-w-0 flex-1 truncate font-semibold text-zinc-900 transition-colors group-hover:text-zinc-900 dark:text-zinc-100 dark:group-hover:text-zinc-100`,children:e.team.name}),e.isChampion&&(0,F.jsx)(`span`,{className:`glk-eyebrow text-amber-600 dark:text-amber-400`,children:`Champion`})]})},e.team.id))})]})}function at(e,t){let n=e.team1Maps??e.stats?.team1Maps??null,r=e.team2Maps??e.stats?.team2Maps??null,i=t?n:r,a=t?r:n;if((i==null||i===0&&a===0)&&e.stats?.seriesScore){let[n,r]=Array.isArray(e.stats.seriesScore)?e.stats.seriesScore:e.stats.seriesScore.split(`-`).map(Number);!isNaN(n)&&!isNaN(r)&&(i=t?n:r,a=t?r:n)}return{mine:i,theirs:a}}function ot(e){if(!e)return``;let t=e.replace(/^Playoffs:\s*/i,``).replace(/^Group Stage:\s*/i,``).trim(),n=t.toLowerCase();if(n.includes(`grand final`))return`Grand Final`;if(n.includes(`upper final`))return`Upper Final`;if(n.includes(`lower final`))return`Lower Final`;let r=t.match(/upper\s*round\s*(\d+)/i);if(r)return`UR${r[1]}`;let i=t.match(/lower\s*round\s*(\d+)/i);return i?`LR${i[1]}`:t}function st({champion:e,matches:t,gameSlug:n}){let r=(0,N.useMemo)(()=>{let n=t.filter(t=>t.playedAt&&t.winner&&(t.team1?.id===e.id||t.team2?.id===e.id)).sort((e,t)=>new Date(e.playedAt).getTime()-new Date(t.playedAt).getTime()).filter(t=>t.winner?.id===e.id);return n.map((t,r)=>{let i=t.team1?.id===e.id,a=i?t.team2:t.team1;if(!a)return null;let{mine:o,theirs:s}=at(t,i);if(o==null||s==null)return null;let c=o,l=s,u=(i?t.team1?.rating:t.team2?.rating)??null,d=(i?t.team2?.rating:t.team1?.rating)??null,f=u!=null&&d!=null&&d-u>=75,p=Math.abs(c-l)===1&&Math.max(c,l)>=2,m=r===n.length-1,h=ot(t.stage);return h||=m?`Final`:r<Math.ceil(n.length/2)?`Group`:`Playoffs`,m&&/^playoffs?$/i.test(h)&&(h=`Grand Final`),{match:t,opponent:a,opponentRating:d,championMaps:c,opponentMaps:l,isFinal:m,isClutch:p,isUpset:f,stageLabel:h}}).filter(e=>e!==null)},[t,e.id]);return r.length===0?null:(0,F.jsxs)(`section`,{"aria-label":`Champion's path`,className:`glk-card relative overflow-hidden !p-0`,children:[(0,F.jsx)(`div`,{"aria-hidden":!0,className:j(`pointer-events-none absolute inset-0`,`bg-[linear-gradient(115deg,transparent_0%,transparent_45%,color-mix(in_srgb,var(--glk-brand)_4%,transparent)_75%,color-mix(in_srgb,var(--glk-brand)_8%,transparent)_100%)]`)}),(0,F.jsxs)(`header`,{className:`relative flex items-center justify-between gap-3 px-4 py-3`,children:[(0,F.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,F.jsx)(x,{size:14,className:`text-amber-500`,"aria-hidden":!0}),(0,F.jsx)(`h3`,{className:`glk-eyebrow`,children:`Champion's Path`})]}),(0,F.jsxs)(`div`,{className:`flex items-center gap-2 text-xs text-zinc-500 dark:text-zinc-400`,children:[(0,F.jsx)(A,{name:e.name,abbreviation:e.abbreviation,logoUrl:e.logoUrl,size:`xs`}),(0,F.jsx)(`span`,{className:`font-semibold text-zinc-900 dark:text-zinc-100`,children:e.name}),(0,F.jsx)(`span`,{"aria-hidden":!0,className:`text-zinc-300 dark:text-zinc-600`,children:`·`}),(0,F.jsxs)(`span`,{className:`tabular-nums`,children:[r.length,`-0 to the trophy`]})]})]}),(0,F.jsx)(`div`,{className:`relative`,children:(0,F.jsx)(`ol`,{className:`glk-stagger flex snap-x snap-mandatory gap-2 overflow-x-auto px-4 pb-4 pt-1 [scrollbar-width:thin]`,"aria-label":`Match-by-match path to the championship`,children:r.map((e,t)=>(0,F.jsxs)(`li`,{className:`flex shrink-0 items-stretch snap-start`,style:{"--glk-stagger-i":t},children:[(0,F.jsx)(ct,{step:e,gameSlug:n}),t<r.length-1&&(0,F.jsx)(`div`,{"aria-hidden":!0,className:`flex w-6 shrink-0 items-center justify-center self-stretch text-zinc-300 dark:text-zinc-700`,children:(0,F.jsx)(o,{size:18})})]},e.match.id))})})]})}function ct({step:e,gameSlug:t}){let{match:n,opponent:r,championMaps:i,opponentMaps:a,isFinal:o,isClutch:s,isUpset:c,stageLabel:l}=e;return(0,F.jsxs)(C,{to:`/${t}/matches/${n.id}`,className:j(`group relative flex w-[156px] flex-col gap-2 rounded-lg border px-3 py-2.5 transition-colors sm:w-[172px]`,`border-zinc-200 bg-white hover:border-[var(--glk-brand)]/40 hover:bg-zinc-50`,`dark:border-zinc-800 dark:bg-zinc-900/60 dark:hover:border-[var(--glk-brand)]/50 dark:hover:bg-zinc-900`,o&&[`border-amber-400/70 bg-gradient-to-br from-amber-50 to-white`,`shadow-[0_0_0_1px_rgba(245,158,11,0.15),0_8px_24px_-12px_rgba(245,158,11,0.35)]`,`dark:border-amber-400/40 dark:from-amber-500/10 dark:to-zinc-900`,`dark:shadow-[0_0_0_1px_rgba(245,158,11,0.18),0_8px_24px_-10px_rgba(245,158,11,0.4)]`]),children:[(0,F.jsxs)(`div`,{className:`flex items-center justify-between gap-1`,children:[(0,F.jsx)(`span`,{className:j(`truncate text-[10px] font-bold uppercase tracking-wider`,o?`text-amber-600 dark:text-amber-400`:`text-zinc-400`),children:l}),o&&(0,F.jsx)(x,{size:12,className:`shrink-0 text-amber-500`,"aria-label":`Championship match`}),!o&&c&&(0,F.jsx)(`span`,{className:`shrink-0 rounded-full border border-[var(--glk-brand)]/40 bg-[var(--glk-brand)]/8 px-1.5 py-px text-[9px] font-bold uppercase tracking-wider text-[var(--glk-brand)]`,title:`Champion was lower-rated entering this match`,children:`Upset`}),!o&&!c&&s&&(0,F.jsx)(`span`,{className:`shrink-0 rounded-full border border-amber-500/30 bg-amber-500/8 px-1.5 py-px text-[9px] font-bold uppercase tracking-wider text-amber-600 dark:text-amber-400`,title:`Decided by a single map`,children:`Clutch`})]}),(0,F.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,F.jsx)(A,{name:r.name,abbreviation:r.abbreviation,logoUrl:r.logoUrl,size:`xs`}),(0,F.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,F.jsx)(`div`,{className:`truncate text-sm font-semibold text-zinc-900 dark:text-zinc-100`,children:r.abbreviation??r.name}),e.opponentRating!=null&&(0,F.jsxs)(`div`,{className:`text-[10px] tabular-nums text-zinc-400`,children:[`Glicko `,Math.round(e.opponentRating)]})]})]}),(0,F.jsxs)(`div`,{className:`flex items-baseline gap-1`,children:[(0,F.jsx)(`span`,{className:j(`glk-metric glk-metric-xl tabular-nums leading-none`,o?`text-amber-500 dark:text-amber-400`:`text-emerald-500 dark:text-emerald-400`),children:i}),(0,F.jsx)(`span`,{className:`text-sm font-bold tabular-nums text-zinc-300 dark:text-zinc-600`,children:`–`}),(0,F.jsx)(`span`,{className:`text-sm font-bold tabular-nums text-zinc-400 dark:text-zinc-500`,children:a}),n.format&&(0,F.jsx)(`span`,{className:`ml-auto self-end text-[10px] uppercase tracking-wider text-zinc-400`,children:n.format})]})]})}function lt({distribution:e,prizePool:t}){let n=(e?.entries.length??0)>0,r=!!t&&!t.includes(`TBD`)&&t!==`$0 USD`;if(!n&&!r)return null;if(!n)return(0,F.jsxs)(`div`,{className:`glk-card !p-0`,"data-testid":`prize-distribution-fallback`,children:[(0,F.jsxs)(`div`,{className:`flex items-center justify-between px-4 py-3`,children:[(0,F.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,F.jsx)(T,{size:14,className:`text-emerald-500`,"aria-hidden":`true`}),(0,F.jsx)(`h3`,{className:`glk-eyebrow`,children:`Prize Distribution`})]}),(0,F.jsx)(`span`,{className:`glk-tabular text-xs font-semibold text-zinc-900 dark:text-zinc-100`,children:t})]}),(0,F.jsx)(`p`,{className:`px-4 pb-3 text-xs text-zinc-500 dark:text-zinc-400`,children:`Per-place breakdown not published yet.`})]});let i=e.entries;return(0,F.jsxs)(`div`,{className:`glk-card !p-0`,"data-testid":`prize-distribution-table`,children:[(0,F.jsxs)(`div`,{className:`flex items-center justify-between px-4 py-3`,children:[(0,F.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,F.jsx)(T,{size:14,className:`text-emerald-500`,"aria-hidden":`true`}),(0,F.jsx)(`h3`,{className:`glk-eyebrow`,children:`Prize Distribution`})]}),r&&(0,F.jsx)(`span`,{className:`glk-tabular text-xs font-semibold text-zinc-900 dark:text-zinc-100`,children:t})]}),(0,F.jsx)(`ol`,{className:`space-y-0.5 px-2 pb-2`,children:i.map((e,t)=>(0,F.jsxs)(`li`,{className:j(`flex items-center gap-2.5 rounded-md px-2 py-1.5 text-sm`,t===0&&`bg-amber-500/5`),children:[(0,F.jsx)(`span`,{className:j(`glk-tabular w-16 text-center text-xs font-bold`,t===0?`text-amber-500`:t<=2?`text-zinc-700 dark:text-zinc-200`:`text-zinc-400`),"aria-label":`Place ${e.place}`,children:e.place}),(0,F.jsx)(`span`,{className:`glk-tabular min-w-0 flex-1 font-semibold text-zinc-900 dark:text-zinc-100`,children:e.amount}),e.teamId&&(0,F.jsx)(`span`,{className:`glk-tabular hidden text-xs text-zinc-400 sm:inline`,children:e.teamId})]},`${e.place}-${t}`))})]})}function ut({participants:e,matches:t,championId:n,championAmbiguous:r}){let i=new Map;for(let t of e)i.set(t.id,{team:t,lastLossAt:null,lastMatchAt:null,anyLoss:!1});for(let e of t){if(!e.team1||!e.team2||!e.playedAt)continue;let t=new Date(e.playedAt).getTime(),n=e.winner?.id??null;for(let r of[e.team1,e.team2]){let e=i.get(r.id);e&&((e.lastMatchAt==null||t>e.lastMatchAt)&&(e.lastMatchAt=t),n&&n!==r.id&&(e.anyLoss=!0,(e.lastLossAt==null||t>e.lastLossAt)&&(e.lastLossAt=t)))}}let a=null;n&&!r&&i.has(n)&&(a=n);let o=e=>{if(e==null)return-1/0;let t=new Date(e);return Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate())},s=[...i.values()].sort((e,t)=>{let n=e.team.id===a;if(n!==(t.team.id===a))return n?-1:1;let r=o(e.lastLossAt),i=o(t.lastLossAt);return r===i?e.team.name.localeCompare(t.team.name):i-r}),c=e=>{if(e==null)return null;let t=new Date(e);return`${t.getUTCFullYear()}-${t.getUTCMonth()}-${t.getUTCDate()}`},l=[],u=0,d=1,f=!1;for(;u<s.length;){let e=s[u];if(!f&&a!=null&&e.team.id===a){f=!0,l.push({rank:1,rankLabel:`1`,team:e.team,lastMatchAt:e.lastMatchAt==null?null:new Date(e.lastMatchAt).toISOString(),isChampion:!0}),d=2,u+=1;continue}let t=c(e.lastLossAt),n=u;for(;n<s.length&&c(s[n].lastLossAt)===t&&s[n].team.id!==a;)n+=1;let r=n-u,i=d,o=d+r-1,p=r>1?`${i}–${o}`:`${i}`;for(let e=u;e<n;e+=1){let t=s[e];l.push({rank:i,rankLabel:p,team:t.team,lastMatchAt:t.lastMatchAt==null?null:new Date(t.lastMatchAt).toISOString(),isChampion:!1})}d=o+1,u=n}return l}function dt(e){let t=e.team1?.rating,n=e.team2?.rating;return t==null||n==null?0:t+n}function ft(e,t){if(t===`completed`)return[...e].filter(e=>e.playedAt).sort((e,t)=>new Date(t.playedAt).getTime()-new Date(e.playedAt).getTime())[0]??null;let n=new Date,r=e.filter(e=>!e.playedAt&&e.scheduledAt&&new Date(e.scheduledAt)>n&&e.team1&&e.team2).sort((e,t)=>new Date(e.scheduledAt).getTime()-new Date(t.scheduledAt).getTime());if(r.length>0){let e=new Date(r[0].scheduledAt),t=new Date(e.getTime()+10080*60*1e3);return r.filter(e=>new Date(e.scheduledAt)<=t).reduce((e,t)=>e?dt(t)>dt(e)?t:e:t,null)||r[0]}return e.filter(e=>e.playedAt).sort((e,t)=>new Date(t.playedAt).getTime()-new Date(e.playedAt).getTime())[0]??null}function pt(e){let t=new Map;for(let n of e){if(!n.winner||!n.team1||!n.team2)continue;let e=n.winner.id,r=e===n.team1.id?n.team2.id:n.team1.id,i=e===n.team1.id?n.team1:n.team2,a=r===n.team1.id?n.team1:n.team2;t.has(e)||t.set(e,{team:i,wins:0,losses:0}),t.has(r)||t.set(r,{team:a,wins:0,losses:0}),t.get(e).wins++,t.get(r).losses++}return Array.from(t.values()).sort((e,t)=>t.wins-e.wins||e.losses-t.losses).slice(0,6)}function mt(e,t=5){let n=e.filter(e=>e.winner&&e.team1&&e.team2&&e.playedAt).sort((e,t)=>new Date(t.playedAt).getTime()-new Date(e.playedAt).getTime()),r={};for(let e of n){let t=e.winner.id;for(let n of[e.team1,e.team2])(r[n.id]??=[]).push(n.id===t?`W`:`L`)}for(let e of Object.keys(r))r[e]=r[e].slice(0,t);return r}function ht(e){let t=e.playedAt??e.scheduledAt;return t?new Date(t).toLocaleDateString(`en-US`,{month:`short`,day:`numeric`,year:`numeric`}):``}function gt(e){let t=e.team1Maps??null,n=e.team2Maps??null;if(t==null&&n==null&&(t=e.stats?.team1Maps??null,n=e.stats?.team2Maps??null),(t===0&&n===0||t==null)&&e.stats?.seriesScore){let[r,i]=Array.isArray(e.stats.seriesScore)?e.stats.seriesScore:e.stats.seriesScore.split(`-`).map(Number);!isNaN(r)&&!isNaN(i)&&(t=r,n=i)}return t!=null&&n!=null?{t1:t,t2:n}:null}function _t({match:e,gameSlug:t}){let n=e.team1??{id:``,name:`TBD`,abbreviation:null,logoUrl:null},r=e.team2??{id:``,name:`TBD`,abbreviation:null,logoUrl:null},i=!!e.playedAt||e.status===`completed`,a=e.status===`live`,o=!i&&!a,c=gt(e),l=e.winner?.id===n.id,u=e.winner?.id===r.id,d=e.winProbabilityA,f=e.winProbabilityB,p=!i&&typeof d==`number`&&Number.isFinite(d)&&typeof f==`number`&&Number.isFinite(f);return(0,F.jsx)(C,{to:`/${t}/matches/${e.id}`,className:`glk-card group block overflow-hidden !p-0`,children:(0,F.jsxs)(`div`,{className:`px-5 py-4`,children:[(0,F.jsxs)(`div`,{className:`mb-4 flex items-center gap-2 text-xs text-zinc-400`,children:[(0,F.jsx)(b,{size:12,className:`text-amber-500`}),(0,F.jsx)(`span`,{className:`glk-eyebrow`,children:`Featured Match`}),e.stage&&e.stage!==`other`&&(0,F.jsx)(M,{tone:`neutral`,size:`xs`,uppercase:!1,children:e.stage}),e.format&&(0,F.jsx)(M,{tone:`neutral`,size:`xs`,children:e.format}),a&&(0,F.jsx)(`span`,{className:`ml-auto`,children:(0,F.jsx)(M,{tone:`live`,size:`xs`,pulse:!0,children:`Live`})})]}),(0,F.jsxs)(`div`,{className:`flex items-center justify-center gap-4 sm:gap-8`,children:[(0,F.jsxs)(`div`,{className:`flex flex-col items-center gap-2 text-center`,children:[(0,F.jsx)(A,{name:n.name,abbreviation:n.abbreviation,logoUrl:n.logoUrl,size:`lg`}),(0,F.jsx)(`span`,{className:j(`text-sm font-bold`,i&&l&&`text-zinc-900 dark:text-zinc-50`,i&&!l&&`text-zinc-400 dark:text-zinc-500`,!i&&`text-zinc-900 dark:text-zinc-100`),children:n.abbreviation??n.name})]}),(0,F.jsx)(`div`,{className:`flex-shrink-0 text-center`,children:i&&c?(0,F.jsxs)(`div`,{className:`glk-metric glk-metric-xl text-zinc-900 dark:text-zinc-100`,children:[c.t1,(0,F.jsx)(`span`,{className:`mx-1 text-zinc-300 dark:text-zinc-600`,children:`-`}),c.t2]}):a?(0,F.jsx)(`div`,{className:`text-lg font-bold text-[var(--glk-brand)]`,children:`LIVE`}):(0,F.jsx)(`div`,{className:`text-lg font-bold text-zinc-400`,children:`vs`})}),(0,F.jsxs)(`div`,{className:`flex flex-col items-center gap-2 text-center`,children:[(0,F.jsx)(A,{name:r.name,abbreviation:r.abbreviation,logoUrl:r.logoUrl,size:`lg`}),(0,F.jsx)(`span`,{className:j(`text-sm font-bold`,i&&u&&`text-zinc-900 dark:text-zinc-50`,i&&!u&&`text-zinc-400 dark:text-zinc-500`,!i&&`text-zinc-900 dark:text-zinc-100`),children:r.abbreviation??r.name})]})]}),p&&(0,F.jsxs)(`div`,{className:`mx-auto mt-4 max-w-xs`,"data-testid":`featured-win-prob`,children:[(0,F.jsxs)(`div`,{className:`mb-1 flex items-center justify-between glk-tabular text-2xs font-semibold text-zinc-500 dark:text-zinc-400`,children:[(0,F.jsxs)(`span`,{children:[d,`%`]}),(0,F.jsx)(`span`,{className:`glk-eyebrow text-zinc-400 dark:text-zinc-500`,children:`Win Prob`}),(0,F.jsxs)(`span`,{children:[f,`%`]})]}),(0,F.jsxs)(`div`,{className:`flex h-2 overflow-hidden rounded-full bg-zinc-200 dark:bg-zinc-700`,children:[(0,F.jsx)(`div`,{className:`rounded-l-full bg-sky-500 transition-all`,style:{width:`${d}%`}}),(0,F.jsx)(`div`,{className:`flex-1 rounded-r-full bg-zinc-400/60 dark:bg-zinc-500/50`})]})]}),(0,F.jsxs)(`div`,{className:`mt-4 flex items-center justify-center gap-2 text-xs text-zinc-400`,children:[o&&e.scheduledAt&&(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(s,{size:12}),(0,F.jsxs)(`span`,{children:[new Date(e.scheduledAt).toLocaleDateString(`en-US`,{weekday:`short`,month:`short`,day:`numeric`}),` at `,new Date(e.scheduledAt).toLocaleTimeString(`en-US`,{hour:`numeric`,minute:`2-digit`})]})]}),i&&(0,F.jsx)(`span`,{children:ht(e)}),(0,F.jsx)(`span`,{className:`text-zinc-300 dark:text-zinc-600`,children:`·`}),(0,F.jsx)(`span`,{className:`font-medium text-zinc-500 transition-colors group-hover:text-zinc-900 dark:group-hover:text-zinc-100`,children:`View details →`})]})]})})}function vt({match:e,gameSlug:t}){let n=e.team1??{id:``,name:`TBD`,abbreviation:null,logoUrl:null},r=e.team2??{id:``,name:`TBD`,abbreviation:null,logoUrl:null},i=e.winner?.id===n.id,a=e.winner?.id===r.id,o=gt(e);return(0,F.jsxs)(C,{to:`/${t}/matches/${e.id}`,className:`flex items-center gap-2 rounded-md px-2.5 py-2 text-sm transition-colors hover:bg-zinc-100 dark:hover:bg-zinc-800/50`,children:[(0,F.jsxs)(`div`,{className:j(`flex min-w-0 flex-1 items-center justify-end gap-1.5`,i?`text-zinc-900 dark:text-zinc-100`:`text-zinc-400 dark:text-zinc-500`),children:[(0,F.jsx)(`span`,{className:`hidden truncate text-right font-semibold md:inline`,children:n.name}),(0,F.jsx)(`span`,{className:`truncate text-right font-semibold md:hidden`,children:n.abbreviation??n.name}),(0,F.jsx)(A,{name:n.name,abbreviation:n.abbreviation,logoUrl:n.logoUrl,size:`xs`})]}),o&&(0,F.jsxs)(`span`,{className:`flex-shrink-0 text-center font-bold tabular-nums text-zinc-500 dark:text-zinc-400`,children:[o.t1,`-`,o.t2]}),(0,F.jsxs)(`div`,{className:j(`flex min-w-0 flex-1 items-center gap-1.5`,a?`text-zinc-900 dark:text-zinc-100`:`text-zinc-400 dark:text-zinc-500`),children:[(0,F.jsx)(A,{name:r.name,abbreviation:r.abbreviation,logoUrl:r.logoUrl,size:`xs`}),(0,F.jsx)(`span`,{className:`hidden truncate font-semibold md:inline`,children:r.name}),(0,F.jsx)(`span`,{className:`truncate font-semibold md:hidden`,children:r.abbreviation??r.name})]}),(0,F.jsxs)(`span`,{className:`hidden flex-shrink-0 items-center gap-1.5 text-xs text-zinc-400 lg:flex`,children:[e.stage&&e.stage!==`other`&&(0,F.jsx)(`span`,{children:e.stage}),e.format&&(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(`span`,{className:`text-zinc-300 dark:text-zinc-600`,children:`·`}),(0,F.jsx)(`span`,{children:e.format.toUpperCase()})]})]})]})}function yt({tournament:e,gameSlug:t,journey:n,onSelectTeam:r,onClearTeam:i,activeStageId:a}){let o=e.matches??[],{data:s}=L(t,e.slug),{data:c}=Ue(t,e.slug),{data:l}=We(t,e.slug),{data:u}=Ge(t,e.slug),d=a?e.stages?.find(e=>e.id===a):e.stages?.[0],f=(d?.groups?.length??0)>1,p=(0,N.useMemo)(()=>ft(o,e.status),[o,e.status]),m=(0,N.useMemo)(()=>o.filter(e=>e.playedAt).sort((e,t)=>new Date(t.playedAt).getTime()-new Date(e.playedAt).getTime()).slice(0,5),[o]),h=(0,N.useMemo)(()=>pt(o.filter(e=>e.winner)),[o]),g=(s?.stages.length??0)>0,_=e.storylines??[],y=(0,N.useMemo)(()=>me(e.participants??[],o),[e.participants,o]),b=(0,N.useMemo)(()=>e.status===`completed`?ut({participants:y,matches:o,championId:e.champion?.id??null,championAmbiguous:e.championAmbiguous??!1}):[],[e.status,y,o,e.champion?.id,e.championAmbiguous]),x=(0,N.useMemo)(()=>mt(o),[o]),S=e.status===`completed`?e.mvp??null:null,C=e.topSeeds??[];return o.length===0?y.length>0||C.length>0?(0,F.jsxs)(`div`,{className:`page-enter space-y-6`,children:[C.length>0&&(0,F.jsxs)(`div`,{className:`widget-card glk-card flex flex-wrap items-center gap-x-3 gap-y-2`,children:[(0,F.jsx)(`h3`,{className:`glk-eyebrow`,children:`Top Seeds`}),(0,F.jsx)(Te,{seeds:C})]}),y.length>0&&(0,F.jsx)(G,{participants:y,gameSlug:t,formByTeam:x}),(0,F.jsx)(`p`,{className:`text-center text-xs text-zinc-400`,children:`Match schedule appears here once it’s set.`})]}):(0,F.jsxs)(`div`,{className:`flex flex-col items-center gap-3 py-16 text-zinc-400`,children:[(0,F.jsx)(v,{size:40,strokeWidth:1.5}),(0,F.jsxs)(`div`,{className:`text-center`,children:[(0,F.jsx)(`p`,{className:`text-sm font-medium`,children:`Tournament schedule coming soon`}),(0,F.jsx)(`p`,{className:`mt-1 text-xs`,children:`Matches will appear here once the schedule is set.`})]})]}):(0,F.jsxs)(`div`,{className:`page-enter space-y-6`,children:[n&&(0,F.jsxs)(`div`,{children:[(0,F.jsx)(Ye,{journey:n,onClear:i}),(0,F.jsx)(et,{journey:n,gameSlug:t})]}),p&&(0,F.jsx)(_t,{match:p,gameSlug:t}),(0,F.jsx)(nt,{storylines:_}),e.status===`completed`&&e.champion&&(0,F.jsx)(st,{champion:e.champion,matches:o,gameSlug:t}),S&&(0,F.jsx)(tt,{mvp:S,gameSlug:t}),(b.length>0||y.length>0)&&(0,F.jsxs)(`div`,{className:`grid grid-cols-1 gap-4 md:grid-cols-2`,children:[b.length>0&&(0,F.jsx)(it,{placements:b,gameSlug:t}),y.length>0&&(0,F.jsx)(G,{participants:y,gameSlug:t,formByTeam:x})]}),(0,F.jsx)(lt,{distribution:e.prizeDistribution,prizePool:e.prizePool}),(0,F.jsxs)(`div`,{className:`grid grid-cols-1 gap-4 md:grid-cols-2`,children:[(0,F.jsxs)(`div`,{className:`space-y-4`,children:[m.length>0&&(0,F.jsxs)(`div`,{className:`glk-card`,children:[(0,F.jsx)(`h3`,{className:`glk-eyebrow mb-3`,children:`Recent Results`}),(0,F.jsx)(`div`,{className:`glk-stagger space-y-0.5`,children:m.map(e=>(0,F.jsx)(vt,{match:e,gameSlug:t},e.id))})]}),l&&l.maps.length>0&&(0,F.jsx)(qe,{data:l})]}),(0,F.jsxs)(`div`,{className:`space-y-4`,children:[f&&d?(0,F.jsx)(R,{gameSlug:t,tournamentSlug:e.slug,stage:d,compact:!0}):g?(0,F.jsx)(`div`,{className:`space-y-4`,children:s.stages.map(e=>(0,F.jsx)(I,{standings:e.standings,stageName:e.stageName,matchesPlayed:e.matchesPlayed,matchesTotal:e.matchesTotal,advancementKnown:e.advancementKnown,compact:!0,gameSlug:t},e.stageId))}):h.length>0?(0,F.jsxs)(`div`,{className:`glk-card bg-zinc-50 dark:bg-zinc-900`,children:[(0,F.jsx)(`h3`,{className:`glk-eyebrow mb-3`,children:`Standings Snapshot`}),(0,F.jsx)(`div`,{className:`space-y-1`,children:h.map((e,t)=>(0,F.jsxs)(`div`,{className:j(`flex items-center gap-2.5 rounded-md px-2.5 py-1.5 text-sm`,t===0&&`bg-amber-500/5`),children:[(0,F.jsx)(`span`,{className:j(`w-5 text-center text-xs font-bold tabular-nums`,t===0?`text-amber-500`:`text-zinc-400`),children:t+1}),(0,F.jsx)(A,{name:e.team.name,abbreviation:e.team.abbreviation,logoUrl:e.team.logoUrl,size:`xs`}),(0,F.jsx)(`button`,{onClick:()=>e.team.slug&&r(e.team.slug),className:`min-w-0 flex-1 truncate text-left font-medium text-zinc-900 transition-colors hover:text-zinc-900 dark:text-zinc-100 dark:hover:text-zinc-100`,children:e.team.name}),(0,F.jsxs)(`span`,{className:`flex-shrink-0 text-xs tabular-nums text-zinc-500 dark:text-zinc-400`,children:[(0,F.jsxs)(`span`,{className:`font-semibold text-emerald-600 dark:text-emerald-400`,children:[e.wins,`W`]}),` - `,(0,F.jsxs)(`span`,{className:`text-zinc-400`,children:[e.losses,`L`]})]})]},e.team.id))})]}):null,u&&(u.risers.length>0||u.fallers.length>0)&&(0,F.jsx)(Je,{data:u,gameSlug:t})]})]}),c&&c.length>0&&(0,F.jsx)(Ke,{streaks:c,gameSlug:t})]})}var bt={LIVE_NOW:`LIVE NOW`,TODAY:`TODAY`,TOMORROW:`TOMORROW`,THIS_WEEK:`THIS WEEK`,UPCOMING:`UPCOMING`,EARLIER_THIS_WEEK:`EARLIER THIS WEEK`,EARLIER:`EARLIER`,TBD:`DATE TBD`},xt=[`LIVE_NOW`,`TODAY`,`TOMORROW`,`THIS_WEEK`,`UPCOMING`,`EARLIER_THIS_WEEK`,`EARLIER`,`TBD`],St=new Set([`LIVE_NOW`,`TODAY`,`TOMORROW`,`THIS_WEEK`,`UPCOMING`,`TBD`]);function q(e){let t=e.scheduledAt??e.playedAt;if(!t)return null;let n=new Date(t);return Number.isNaN(n.getTime())?null:n}function J(e){return new Date(e.getFullYear(),e.getMonth(),e.getDate())}function Ct(e,t){let n=J(e).getTime(),r=J(t).getTime();return Math.round((n-r)/864e5)}function wt(e,t){let n=Ct(e,t);return n===0?`TODAY`:n===1?`TOMORROW`:n>1&&n<=7?`THIS_WEEK`:n>7?`UPCOMING`:n<0&&n>=-7?`EARLIER_THIS_WEEK`:`EARLIER`}function Tt(e,t=new Date){let n=new Map,r=J(t).toISOString();for(let i of e){let e,a;if(ne(i))e=`LIVE_NOW`,a=r;else{let n=q(i);n?(e=wt(n,t),a=J(n).toISOString()):(e=`TBD`,a=`tbd`)}n.has(e)||n.set(e,new Map);let o=n.get(e);o.has(a)||o.set(a,[]),o.get(a).push(i)}let i=[];for(let e of xt){let t=n.get(e);if(!t||t.size===0)continue;let r=[];for(let[e,n]of t.entries()){let t=[...n].sort((e,t)=>(q(e)?.getTime()??0)-(q(t)?.getTime()??0));r.push({date:e===`tbd`?null:new Date(e),matches:t})}let a=St.has(e);r.sort((e,t)=>{let n=e.date?.getTime()??0,r=t.date?.getTime()??0;return a?n-r:r-n}),i.push({bucket:e,label:bt[e],days:r})}return i}function Et(e){return e.toLocaleDateString(void 0,{weekday:`long`})}function Dt(e){return e.toLocaleDateString(void 0,{month:`short`,day:`numeric`})}function Ot({day:e,gameSlug:t,teamSlug:n,teamMatchIds:r,stageNameById:i,onSelectTeam:a}){let o=e.matches.filter(k).length,s=e.matches.length;return(0,F.jsxs)(`section`,{className:j(`border-t border-zinc-200/60 pt-3 dark:border-white/[0.06]`),"aria-label":e.date?Et(e.date):`Date TBD`,children:[(0,F.jsxs)(`header`,{className:`mb-2 px-1`,children:[(0,F.jsx)(`div`,{className:`text-base font-semibold leading-tight text-zinc-900 dark:text-zinc-100 sm:text-lg`,style:{fontFamily:`var(--font-display)`,letterSpacing:`-0.01em`},children:e.date?Et(e.date):`Date TBD`}),e.date&&(0,F.jsxs)(`div`,{className:`glk-eyebrow mt-0.5 text-2xs text-zinc-500 dark:text-zinc-500`,children:[Dt(e.date),` · `,s,` `,s===1?`match`:`matches`,o>0&&` · ${o} completed`]}),!e.date&&s>0&&(0,F.jsxs)(`div`,{className:`glk-eyebrow mt-0.5 text-2xs text-zinc-500 dark:text-zinc-500`,children:[s,` `,s===1?`match`:`matches`]})]}),(0,F.jsx)(le,{className:`gap-0 divide-y divide-zinc-100 py-0 dark:divide-white/[0.04]`,children:e.matches.map(e=>{let o=n&&r&&!r.has(e.id),s=e.stage??(e.stageId?i.get(e.stageId):void 0),c=s===e.stage?e:{...e,stage:s??null};return(0,F.jsx)(`div`,{className:j(`transition-opacity duration-300`,e.status===`tbd`&&!o&&`opacity-40`,o&&`opacity-20`),children:(0,F.jsx)(ge,{match:c,gameSlug:t,variant:`schedule`,onTeamClick:a})},e.id)})})]})}function kt({bucket:e,gameSlug:t,teamSlug:n,teamMatchIds:r,stageNameById:i,onSelectTeam:a}){return(0,F.jsxs)(`section`,{"aria-label":e.label,"data-bucket":e.bucket,children:[(0,F.jsx)(`h3`,{className:`glk-eyebrow mb-3 text-2xs uppercase tracking-wider text-zinc-500 dark:text-zinc-400`,children:e.label}),(0,F.jsx)(`div`,{className:`space-y-4`,children:e.days.map((e,o)=>(0,F.jsx)(Ot,{day:e,gameSlug:t,teamSlug:n,teamMatchIds:r,stageNameById:i,onSelectTeam:a},e.date?e.date.toISOString():`tbd-${o}`))})]})}function At({stages:e,allStages:t,gameSlug:n,teamSlug:r,teamMatchIds:i,onSelectTeam:a}){let o=(0,N.useMemo)(()=>{let t=new Set,n=[];for(let r of e)for(let e of r.matches)t.has(e.id)||(t.add(e.id),n.push(e));return n},[e]),s=(0,N.useMemo)(()=>Tt(o),[o]),c=(0,N.useMemo)(()=>{let n=new Map;for(let e of t??[])n.set(e.id,e.name);for(let t of e)t.stageId&&!n.has(t.stageId)&&n.set(t.stageId,t.stage);return n},[t,e]);return o.length===0?(0,F.jsxs)(`div`,{className:`flex flex-col items-center gap-3 py-16 text-zinc-400`,children:[(0,F.jsx)(v,{size:40,strokeWidth:1.5}),(0,F.jsxs)(`div`,{className:`text-center`,children:[(0,F.jsx)(`p`,{className:`text-sm font-medium`,children:`No matches yet`}),(0,F.jsx)(`p`,{className:`mt-1 text-xs`,children:`Matches will appear here once the tournament schedule is set.`})]})]}):(0,F.jsx)(`div`,{className:`space-y-8`,children:s.map(e=>(0,F.jsx)(kt,{bucket:e,gameSlug:n,teamSlug:r,teamMatchIds:i,stageNameById:c,onSelectTeam:a},e.bucket))})}var jt=`Playoffs:`,Mt=/^Stage\s+\d+\s*[:-]\s*/i,Nt=/\b(upper(?:\s+bracket)?|lower(?:\s+bracket)?|winner'?s?\s+bracket|loser'?s?\s+bracket|grand\s+final|semifinal|quarter\s*final|elimination|playoff)/i;function Y(e){if(e.name.startsWith(jt))return!0;if(Mt.test(e.name)){let t=e.name.replace(Mt,``);return Nt.test(t)}return!1}function X(e){return Nt.test(e)}function Pt(e){return e.type===`swiss`}function Z(e){let t=/round\s+(\d+)\s*(?:\((\d+)-(\d+)\))?/i.exec(e);if(!t)return null;let n=parseInt(t[1],10);if(t[2]===void 0)return n;let r=parseInt(t[2],10);return n+Math.max(0,9-r)/10}function Ft(e,t){let n=[],r=[],i=[],a=[],o=e.some(Y),s=e.some(e=>e.type===`other`&&X(e.name)),c=e.some(e=>e.type===`other`&&!X(e.name)),l=e.some(Pt);for(let u of e){if(Pt(u)){i.push(u);continue}if(u.type===`other`){X(u.name)&&r.push(u);continue}if(Y(u)){r.push(u);continue}if(u.name===`Playoffs`&&u.type===`playoff`&&(o||s)){a.push(u.id);continue}u.name===`Group Stage`&&u.type===`group`&&(c||l||o)&&t.filter(e=>e.stageId===u.id).length===0||n.push({id:u.id,name:u.name,type:u.type,order:u.order,childStageIds:[u.id],source:u})}if(r.length>0){let t=[...r].sort((t,n)=>t.order===n.order?e.indexOf(t)-e.indexOf(n):t.order-n.order),i=t[0]?.order??99;n.push({id:`playoffs-fold`,name:`Playoffs`,type:`playoff`,order:i,childStageIds:[...t.map(e=>e.id),...a]})}if(i.length>0){let t=[...i].sort((t,n)=>{let r=Z(t.name),i=Z(n.name);return r!=null&&i!=null&&r!==i?r-i:r!=null&&i==null?-1:r==null&&i!=null?1:e.indexOf(t)-e.indexOf(n)}),r=Math.min(...t.map(e=>e.order));n.push({id:`swiss-fold`,name:`Swiss`,type:`swiss`,order:r,childStageIds:t.map(e=>e.id)})}let u=n.sort((e,t)=>e.order-t.order),d=/^(?:Group Stage:?\s+)?Week\s+(\d+)/i,f=[];if(u.forEach((e,t)=>{let n=d.exec(e.name);n&&f.push({idx:t,entry:e,week:parseInt(n[1],10)})}),f.length>1){let e=[...f].sort((e,t)=>e.week-t.week);f.forEach((t,n)=>{u[t.idx]=e[n].entry})}return u}var It=2,Lt=2;function Rt(e){let t=e.match(/\((\d+)-(\d+)\)/);return t?`${t[1]}-${t[2]}`:null}function zt(e){let t=e.match(/round\s+(\d+)/i);return t?`ROUND ${t[1]}`:e.replace(/^Swiss Stage:\s*/i,``).toUpperCase()}function Bt(e,t){let n=e.filter(e=>e.type===`swiss`);if(n.length===0)return[];let r=new Map;for(let e of t){if(!e.stageId)continue;let t=r.get(e.stageId)??[];t.push(e),r.set(e.stageId,t)}let i=e=>(r.get(e.id)??[]).map((e,t)=>ke(e,0,t,`upper`)),a=[...n].sort((t,n)=>{let r=Z(t.name),i=Z(n.name);return r!=null&&i!=null&&r!==i?r-i:r!=null&&i==null?-1:r==null&&i!=null?1:e.indexOf(t)-e.indexOf(n)}),o=[],s=new Map,c=[];for(let e of a){let t=Z(e.name),n=t==null?o.length+1:Math.floor(t);s.has(n)||(s.set(n,[]),c.push(n)),s.get(n).push(e)}for(let e of c){let t=s.get(e),n=zt(t[0].name);t.length===1?o.push({label:n,matches:i(t[0])}):o.push({label:n,subGroups:t.map(e=>({label:Rt(e.name)??zt(e.name),matches:i(e)}))})}return o}function Vt(e){let t=e.team1Maps??e.stats?.team1Maps??null,n=e.team2Maps??e.stats?.team2Maps??null;return t==null||n==null?null:{t1:t,t2:n}}function Ht(e){return{id:e.id,name:e.name,slug:e.slug??null,abbreviation:e.abbreviation,logoUrl:e.logoUrl??null}}function Ut(e){let t=new Map,n=new Map,r=new Map,i=(e,t)=>e.set(t,(e.get(t)??0)+1);for(let a of e){if(a.status!==`completed`&&!a.playedAt||!a.team1||!a.team2)continue;r.set(a.team1.id,Ht(a.team1)),r.set(a.team2.id,Ht(a.team2));let e=a.winner?.id??null;if(!e){let t=Vt(a);t&&t.t1!==t.t2&&(e=t.t1>t.t2?a.team1.id:a.team2.id)}if(!e)continue;let o=e===a.team1.id?a.team2.id:a.team1.id;i(t,e),i(n,o)}let a=[],o=[],s=0;for(let[e,i]of r){let r=t.get(e)??0,c=n.get(e)??0;r>=It?a.push(i):c>=Lt?o.push(i):s+=1}return{advanced:a,eliminated:o,undecidedCount:s}}var Wt=48,Gt=20;function Kt(e,t){let n=[],r=[],i=0;e.forEach((e,a)=>{let o=a*(t+80),s=Gt;if(e.subGroups)for(let i of e.subGroups){r.push({x:o,y:s-14,label:i.label});for(let e of i.matches)n.push({...e,x:o,y:s,width:t,height:72}),s+=88;s+=Wt}else for(let r of e.matches??[])n.push({...r,x:o,y:s,width:t,height:72}),s+=88;i=Math.max(i,s)});let a=e.length*(t+80);return{nodes:n,subLabels:r,outcomeX:a,width:e.length>0?a+t:0,height:i}}function qt({matches:e,stages:t,gameSlug:n,highlightedTeamId:r,onTeamClick:i}){let a=m(),[o,s]=(0,N.useState)(!1);(0,N.useEffect)(()=>{let e=window.matchMedia(`(max-width: 640px)`);s(e.matches);let t=e=>s(e.matches);return e.addEventListener(`change`,t),()=>e.removeEventListener(`change`,t)},[]);let c=o?200:280,l=(0,N.useMemo)(()=>Bt(t,e),[t,e]),u=(0,N.useMemo)(()=>Ut(e),[e]),d=(0,N.useMemo)(()=>Kt(l,c),[l,c]),f=(0,N.useCallback)((e,t)=>{t||a(`/${n}/matches/${e}`)},[a,n]),p=(0,N.useCallback)(e=>{if(i)for(let t of d.nodes){if(t.team1?.id===e&&t.team1.slug)return i(t.team1.slug);if(t.team2?.id===e&&t.team2.slug)return i(t.team2.slug)}},[i,d.nodes]);return l.length===0||d.nodes.length===0?(0,F.jsxs)(`div`,{className:`flex flex-col items-center gap-3 py-16 text-zinc-400`,children:[(0,F.jsx)(g,{size:40,strokeWidth:1.5}),(0,F.jsxs)(`div`,{className:`text-center`,children:[(0,F.jsx)(`p`,{className:`text-sm font-medium`,children:`Swiss bracket not available`}),(0,F.jsx)(`p`,{className:`mt-1 text-xs`,children:`Round columns will appear once the Swiss stage is set.`})]})]}):(0,F.jsx)(Ae,{contentWidth:d.width+64,contentHeight:d.height+80,padX:32,padY:40,layoutWidth:d.width,layoutHeight:d.height,ariaLabel:`Swiss bracket — drag to pan, scroll to zoom`,children:({isDragging:e})=>(0,F.jsxs)(F.Fragment,{children:[l.map((e,t)=>(0,F.jsx)(`div`,{className:`glk-eyebrow absolute text-center`,style:{left:t*(c+80),top:-20,width:c},children:e.label},`col-${t}-${e.label}`)),d.subLabels.map((e,t)=>(0,F.jsx)(`div`,{className:`glk-eyebrow absolute text-zinc-500`,style:{left:e.x,top:e.y,width:c},children:e.label},`sub-${t}-${e.label}`)),d.nodes.map(t=>(0,F.jsx)(Ne,{match:t,highlightedTeamId:r??null,onMatchClick:t=>f(t,e),onTeamClick:p},t.id)),(0,F.jsxs)(`div`,{className:`absolute flex flex-col gap-3`,style:{left:d.outcomeX,top:Gt,width:c},children:[(0,F.jsx)(Jt,{title:`Advances`,teams:u.advanced,gameSlug:n,emptyHint:`TBD until clinched`}),(0,F.jsx)(Jt,{title:`Eliminated`,teams:u.eliminated,gameSlug:n,emptyHint:`TBD until eliminated`})]})]})})}function Jt({title:e,teams:t,gameSlug:n,emptyHint:r}){return(0,F.jsxs)(`div`,{className:`glk-card !p-0`,children:[(0,F.jsxs)(`div`,{className:`flex items-center justify-between px-4 py-3`,children:[(0,F.jsx)(`h3`,{className:`glk-eyebrow`,children:e}),t.length>0&&(0,F.jsx)(`span`,{className:`glk-tabular text-xs text-zinc-500 dark:text-zinc-400`,children:t.length})]}),(0,F.jsx)(`ul`,{className:`space-y-0.5 px-2 pb-2`,children:t.length===0?(0,F.jsx)(`li`,{className:`px-2 py-1.5 text-xs italic text-zinc-500 dark:text-zinc-500`,children:r}):t.map(e=>{let t=(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(A,{name:e.name,slug:e.slug,abbreviation:e.abbreviation,logoUrl:e.logoUrl,size:`sm`}),(0,F.jsx)(`span`,{className:`min-w-0 flex-1 truncate font-semibold text-zinc-900 transition-colors group-hover:text-zinc-900 dark:text-zinc-100 dark:group-hover:text-zinc-100`,children:e.name})]});return(0,F.jsx)(`li`,{children:e.slug?(0,F.jsx)(C,{to:`/${n}/teams/${e.slug}`,className:`group flex items-center gap-2.5 rounded-md px-2 py-1.5 text-sm transition-colors hover:bg-zinc-100 dark:hover:bg-zinc-800/50`,children:t}):(0,F.jsx)(`div`,{className:`group flex items-center gap-2.5 rounded-md px-2 py-1.5 text-sm`,children:t})},e.id)})})]})}function Yt(e,t){return S({queryKey:[`tournamentAgents`,e,t],queryFn:()=>O(`/games/${e}/tournaments/${t}/agents`),enabled:!!t,staleTime:300*1e3})}function Xt({gameSlug:e,tournamentSlug:t}){let{data:n,isLoading:r,isError:i}=Yt(e,t);return r?(0,F.jsx)(`div`,{className:`py-20 text-center text-sm text-zinc-400`,children:`Loading agent data…`}):i||!n||n.agents.length===0?(0,F.jsxs)(`div`,{className:`flex flex-col items-center gap-4 py-20 text-zinc-400`,children:[(0,F.jsx)(`div`,{className:`rounded-xl bg-zinc-100 p-4 dark:bg-zinc-800`,children:(0,F.jsx)(a,{size:32,strokeWidth:1.5})}),(0,F.jsxs)(`div`,{className:`text-center`,children:[(0,F.jsx)(`p`,{className:`text-sm font-medium text-zinc-500 dark:text-zinc-400`,children:`No Agent Data`}),(0,F.jsx)(`p`,{className:`mt-1 text-xs`,children:`This tournament doesn't have map-level player stats yet.`})]})]}):(0,F.jsx)(Zt,{agents:n.agents,maps:n.maps,totalMaps:n.totals.maps})}function Zt({agents:e,maps:t,totalMaps:n}){let r=(0,N.useMemo)(()=>e.slice(0,20),[e]);return(0,F.jsxs)(`div`,{className:`space-y-6`,children:[(0,F.jsxs)(`div`,{className:`rounded-lg border border-zinc-200 bg-white p-4 dark:border-zinc-800 dark:bg-zinc-900/60`,children:[(0,F.jsxs)(`div`,{className:`flex flex-wrap items-baseline justify-between gap-3`,children:[(0,F.jsx)(`h2`,{className:`text-base font-semibold text-zinc-900 dark:text-zinc-100`,children:`Agent Pick Matrix`}),(0,F.jsxs)(`p`,{className:`text-xs text-zinc-500`,children:[r.length,` `,r.length===1?`agent`:`agents`,` ·`,` `,n,` `,n===1?`map`:`maps`,` played`]})]}),(0,F.jsx)(`p`,{className:`mt-1 text-xs text-zinc-500 dark:text-zinc-400`,children:`Per-cell value = share of distinct maps with that name where the agent appeared at least once.`})]}),(0,F.jsx)(`div`,{className:`overflow-x-auto rounded-lg border border-zinc-200 dark:border-zinc-800`,children:(0,F.jsxs)(`table`,{className:`w-full border-collapse text-sm`,children:[(0,F.jsx)(`thead`,{className:`bg-zinc-50 text-xs text-zinc-500 dark:bg-zinc-900 dark:text-zinc-400`,children:(0,F.jsxs)(`tr`,{children:[(0,F.jsx)(`th`,{scope:`col`,className:`sticky left-0 z-10 bg-zinc-50 px-3 py-2 text-left font-medium dark:bg-zinc-900`,children:`Agent`}),(0,F.jsx)(`th`,{scope:`col`,className:`px-3 py-2 text-right font-medium`,children:`Maps`}),(0,F.jsx)(`th`,{scope:`col`,className:`px-3 py-2 text-right font-medium`,title:`Share of distinct maps where this agent appeared at least once.`,children:`Presence`}),(0,F.jsx)(`th`,{scope:`col`,className:`px-3 py-2 text-right font-medium`,children:`Win %`}),t.map(e=>(0,F.jsx)(`th`,{scope:`col`,className:`px-2 py-2 text-center font-medium`,title:`${e} pick rate`,children:e},e))]})}),(0,F.jsx)(`tbody`,{children:r.map(e=>(0,F.jsxs)(`tr`,{className:`border-t border-zinc-200 hover:bg-zinc-50 dark:border-zinc-800 dark:hover:bg-zinc-900/40`,children:[(0,F.jsx)(`td`,{className:`sticky left-0 z-10 bg-white px-3 py-2 dark:bg-zinc-950`,children:(0,F.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,F.jsx)(_e,{name:e.agent,size:`sm`}),(0,F.jsx)(`span`,{className:`font-medium text-zinc-900 dark:text-zinc-100`,children:e.agent})]})}),(0,F.jsx)(`td`,{className:`px-3 py-2 text-right tabular-nums text-zinc-700 dark:text-zinc-300`,children:e.mapsPlayed}),(0,F.jsxs)(`td`,{className:`px-3 py-2 text-right tabular-nums text-zinc-700 dark:text-zinc-300`,children:[(e.presenceRate*100).toFixed(0),`%`]}),(0,F.jsx)(`td`,{className:`px-3 py-2 text-right tabular-nums text-zinc-700 dark:text-zinc-300`,children:e.mapsPlayed>0?`${(e.winRate*100).toFixed(0)}%`:`—`}),t.map(t=>{let n=e.byMap[t];return(0,F.jsx)(Qt,{cell:n??null},t)})]},e.agent))})]})})]})}function Qt({cell:e}){if(!e||e.mapsPlayed===0)return(0,F.jsx)(`td`,{className:`px-2 py-2 text-center text-zinc-300 dark:text-zinc-700`,children:`·`});let t=Math.min(1,e.pickRate),n=(e.pickRate*100).toFixed(0);return(0,F.jsxs)(`td`,{className:j(`px-2 py-2 text-center tabular-nums`,`text-xs`,t>=.7?`text-zinc-900 dark:text-zinc-50`:t>=.3?`text-zinc-700 dark:text-zinc-200`:`text-zinc-500 dark:text-zinc-400`),style:{backgroundColor:`color-mix(in srgb, var(--color-violet-500, #8b5cf6) ${(t*32).toFixed(1)}%, transparent)`},title:`${e.mapsPlayed} ${e.mapsPlayed===1?`pick`:`picks`}`,children:[n,`%`]})}function $t(e,t,n){return S({queryKey:[`tournamentStats`,e,t,n??null],queryFn:()=>O(`/games/${e}/tournaments/${t}/stats${n?`?stageId=${encodeURIComponent(n)}`:``}`),enabled:!!t,staleTime:300*1e3})}function en({gameSlug:e,tournamentSlug:t,stageId:n}){let{data:r,isLoading:i,isError:a}=$t(e,t,n);return i?(0,F.jsx)(`div`,{className:`py-20 text-center text-sm text-zinc-400`,children:`Loading player stats…`}):a||!r||r.players.length===0?(0,F.jsxs)(`div`,{className:`flex flex-col items-center gap-4 py-20 text-zinc-400`,children:[(0,F.jsx)(`div`,{className:`rounded-xl bg-zinc-100 p-4 dark:bg-zinc-800`,children:(0,F.jsx)(d,{size:32,strokeWidth:1.5})}),(0,F.jsxs)(`div`,{className:`text-center`,children:[(0,F.jsx)(`p`,{className:`text-sm font-medium text-zinc-500 dark:text-zinc-400`,children:`No Player Stats`}),(0,F.jsx)(`p`,{className:`mt-1 text-xs`,children:`This tournament doesn't have map-level player stats yet.`})]})]}):(0,F.jsx)(tn,{gameSlug:e,players:r.players,coverage:r.coverage})}function tn({gameSlug:e,players:t,coverage:n}){let[r,a]=(0,N.useState)(`acs`),[o,s]=(0,N.useState)(`desc`);function l(e){r===e?s(e=>e===`asc`?`desc`:`asc`):(a(e),s(`desc`))}let u=(0,N.useMemo)(()=>{let e=o===`asc`?1:-1;return[...t].sort((t,n)=>{let i=t[r],a=n[r];return i==null&&a==null?0:i==null?1:a==null?-1:(i-a)*e})},[t,r,o]);function d({col:e}){return r===e?o===`asc`?(0,F.jsx)(i,{size:12,className:`text-[var(--glk-brand)]`}):(0,F.jsx)(c,{size:12,className:`text-[var(--glk-brand)]`}):(0,F.jsx)(c,{size:12,className:`opacity-25`})}let f=n.totalMatches>0?Math.round(n.matchesWithStats/n.totalMatches*100):0,p=n.matchesWithStats<n.totalMatches;return(0,F.jsxs)(`div`,{className:`space-y-6`,children:[(0,F.jsxs)(`div`,{className:`rounded-lg border border-zinc-200 bg-white p-4 dark:border-zinc-800 dark:bg-zinc-900/60`,children:[(0,F.jsxs)(`div`,{className:`flex flex-wrap items-baseline justify-between gap-3`,children:[(0,F.jsx)(`h2`,{className:`glk-eyebrow text-zinc-500 dark:text-zinc-400`,children:`Player Leaderboard`}),(0,F.jsxs)(`p`,{className:`text-xs text-zinc-500 dark:text-zinc-400`,children:[(0,F.jsx)(`span`,{className:`tabular-nums font-medium text-zinc-700 dark:text-zinc-300`,children:n.matchesWithStats}),` of `,(0,F.jsx)(`span`,{className:`tabular-nums font-medium text-zinc-700 dark:text-zinc-300`,children:n.totalMatches}),` matches have player stats`,n.totalMatches>0&&(0,F.jsxs)(`span`,{className:`ml-1 text-zinc-400`,children:[`(`,f,`%)`]})]})]}),p&&(0,F.jsx)(`p`,{className:`mt-1 text-xs text-zinc-500 dark:text-zinc-400`,children:`Some matches are community-sourced and don't report map-level stats — those rows show “—â€.`})]}),(0,F.jsx)(`div`,{className:`overflow-x-auto rounded-lg border border-zinc-200 dark:border-zinc-800`,children:(0,F.jsxs)(`table`,{className:`w-full border-collapse text-sm`,children:[(0,F.jsx)(`thead`,{className:`bg-zinc-50 text-xs text-zinc-500 dark:bg-zinc-900 dark:text-zinc-400`,children:(0,F.jsxs)(`tr`,{children:[(0,F.jsx)(`th`,{scope:`col`,className:`sticky left-0 z-10 w-[8.5rem] min-w-[8.5rem] max-w-[8.5rem] bg-zinc-50 px-3 py-2 text-left font-medium dark:bg-zinc-900`,children:`Player`}),(0,F.jsx)(`th`,{scope:`col`,className:`sticky left-[8.5rem] z-10 bg-zinc-50 px-3 py-2 text-left font-medium dark:bg-zinc-900`,children:`Team`}),(0,F.jsx)(Q,{col:`glickoRating`,label:`Glicko`,leading:!0,onSort:l,SortIcon:d}),(0,F.jsx)(Q,{col:`mapsPlayed`,label:`Maps`,onSort:l,SortIcon:d}),(0,F.jsx)(Q,{col:`acs`,label:`ACS`,onSort:l,SortIcon:d}),(0,F.jsx)(Q,{col:`kd`,label:`K/D`,onSort:l,SortIcon:d}),(0,F.jsx)(Q,{col:`kast`,label:`KAST%`,onSort:l,SortIcon:d}),(0,F.jsx)(Q,{col:`adr`,label:`ADR`,onSort:l,SortIcon:d}),(0,F.jsx)(Q,{col:`hsPct`,label:`HS%`,onSort:l,SortIcon:d}),(0,F.jsx)(`th`,{scope:`col`,className:`px-3 py-2 text-right font-medium`,title:`First kills / first deaths`,children:`FK/FD`}),(0,F.jsx)(`th`,{scope:`col`,className:`px-3 py-2 text-left font-medium`,children:`Agents`})]})}),(0,F.jsx)(`tbody`,{children:u.map(t=>(0,F.jsxs)(`tr`,{className:`border-t border-zinc-200 hover:bg-zinc-50 dark:border-zinc-800 dark:hover:bg-zinc-900/40`,children:[(0,F.jsx)(`td`,{className:`sticky left-0 z-10 w-[8.5rem] min-w-[8.5rem] max-w-[8.5rem] bg-white px-3 py-2 dark:bg-zinc-950`,children:(0,F.jsxs)(C,{to:`/${e}/players/${t.player.slug}`,className:`flex items-center font-medium text-zinc-900 hover:text-zinc-900 dark:text-zinc-100 dark:hover:text-zinc-100`,children:[t.player.country&&(0,F.jsx)(`span`,{className:`mr-1.5 flex-shrink-0`,title:t.player.country,children:fe(t.player.country)}),(0,F.jsx)(`span`,{className:`truncate`,children:t.player.ign})]})}),(0,F.jsx)(`td`,{className:`sticky left-[8.5rem] z-10 bg-white px-3 py-2 dark:bg-zinc-950`,children:t.player.team.slug?(0,F.jsxs)(C,{to:`/${e}/teams/${t.player.team.slug}`,className:`inline-flex items-center gap-1.5 text-zinc-600 hover:text-zinc-900 dark:text-zinc-300 dark:hover:text-zinc-100`,children:[t.player.team.logoUrl&&(0,F.jsx)(`img`,{src:t.player.team.logoUrl,alt:``,loading:`lazy`,className:`h-4 w-4 flex-shrink-0 object-contain`}),(0,F.jsx)(`span`,{className:`rounded bg-zinc-100 px-1.5 py-0.5 text-xs font-bold text-zinc-500 dark:bg-zinc-800 dark:text-zinc-400`,children:t.player.team.abbreviation??`—`})]}):(0,F.jsx)(`span`,{className:`rounded bg-zinc-100 px-1.5 py-0.5 text-xs font-bold text-zinc-500 dark:bg-zinc-800 dark:text-zinc-400`,children:t.player.team.abbreviation??`—`})}),(0,F.jsx)(`td`,{className:`px-3 py-2 text-right`,children:(0,F.jsx)(`span`,{className:j(`glk-metric tabular-nums`,t.glickoRating==null?`text-zinc-400 dark:text-zinc-600`:`font-semibold text-zinc-900 dark:text-zinc-100`),children:t.glickoRating??`—`})}),(0,F.jsx)($,{value:t.mapsPlayed}),(0,F.jsx)($,{value:t.acs}),(0,F.jsx)($,{value:t.kd,format:e=>e.toFixed(2)}),(0,F.jsx)($,{value:t.kast,format:e=>`${e.toFixed(0)}%`}),(0,F.jsx)($,{value:t.adr,format:e=>e.toFixed(0)}),(0,F.jsx)($,{value:t.hsPct,format:e=>`${e.toFixed(0)}%`}),(0,F.jsx)(`td`,{className:`px-3 py-2 text-right tabular-nums text-zinc-700 dark:text-zinc-300`,children:t.fk!=null&&t.fd!=null?`${t.fk}/${t.fd}`:`—`}),(0,F.jsx)(`td`,{className:`px-3 py-2`,children:t.agents.length>0?(0,F.jsxs)(`div`,{className:`flex items-center gap-1`,children:[t.agents.slice(0,3).map(e=>(0,F.jsx)(_e,{name:e,size:`sm`},e)),t.agents.length>3&&(0,F.jsxs)(`span`,{className:`text-xs text-zinc-400`,children:[`+`,t.agents.length-3]})]}):(0,F.jsx)(`span`,{className:`text-zinc-400 dark:text-zinc-600`,children:`—`})})]},t.player.id))})]})})]})}function Q({col:e,label:t,leading:n,onSort:r,SortIcon:i}){return(0,F.jsx)(`th`,{scope:`col`,className:j(`cursor-pointer select-none px-3 py-2 text-right font-medium transition-colors hover:text-zinc-700 dark:hover:text-zinc-200`,n&&`text-zinc-700 dark:text-zinc-200`),onClick:()=>r(e),children:(0,F.jsxs)(`span`,{className:`inline-flex items-center justify-end gap-1`,children:[(0,F.jsx)(i,{col:e}),` `,t]})})}function $({value:e,format:t}){return(0,F.jsx)(`td`,{className:`px-3 py-2 text-right tabular-nums text-zinc-700 dark:text-zinc-300`,children:e==null?(0,F.jsx)(`span`,{className:`text-zinc-400 dark:text-zinc-600`,children:`—`}):t?t(e):e})}var nn=[{id:`overview`,label:`Overview`,icon:p},{id:`bracket`,label:`Bracket`,icon:g},{id:`matches`,label:`Matches`,icon:v},{id:`standings`,label:`Standings`,icon:t},{id:`stats`,label:`Stats`,icon:d},{id:`agents`,label:`Agents`,icon:a}];function rn(e,t=`overview`){let n=Oe(),[r,i]=(0,N.useState)(()=>{let{tab:n}=je(window.location.hash);return e.has(n)?n:t}),a=(0,N.useRef)(r);return a.current=r,[r,(0,N.useCallback)(e=>{let t=a.current;if(t===e)return;n.snapshotLeaving(t),i(e),a.current=e;let{tab:r,value:o}=je(window.location.hash);if(e===`overview`){history.replaceState(null,``,window.location.pathname+window.location.search);return}let s=Ee(e,r===e?o:null);history.replaceState(null,``,window.location.pathname+window.location.search+s)},[n])]}function an({tournament:e,gameSlug:n,activeStageId:r,activeChildStageIds:i}){let a=(()=>{if(i&&i.size>0){let t=[...i][0];return e.stages?.find(e=>e.id===t)}return r?e.stages?.find(e=>e.id===r):e.stages?.find(e=>(e.groups?.length??0)>0)??e.stages?.[0]})();return a?(0,F.jsx)(R,{gameSlug:n,tournamentSlug:e.slug,stage:a}):(0,F.jsxs)(`div`,{className:`flex flex-col items-center gap-4 py-20 text-zinc-400`,children:[(0,F.jsx)(`div`,{className:`rounded-xl bg-zinc-100 p-4 dark:bg-zinc-800`,children:(0,F.jsx)(t,{size:32,strokeWidth:1.5})}),(0,F.jsxs)(`div`,{className:`text-center`,children:[(0,F.jsx)(`p`,{className:`text-sm font-medium text-zinc-500 dark:text-zinc-400`,children:`No Standings`}),(0,F.jsx)(`p`,{className:`mt-1 text-xs`,children:`This tournament doesn't have standings data yet.`})]})]})}function on(e){return(0,F.jsx)(Me,{children:(0,F.jsx)(sn,{...e})})}function sn({tournament:e,stages:t,gameSlug:n,journey:r,teamSlug:i,teamMatchIds:a,onSelectTeam:o,onClearTeam:s,activeStageId:c,activeChildStageIds:l}){let u=(0,N.useMemo)(()=>l&&l.size>0?(e.matches??[]).filter(e=>e.stageId&&l.has(e.stageId)):c?(e.matches??[]).filter(e=>e.stageId===c):e.matches??[],[e.matches,c,l]),d=(0,N.useMemo)(()=>l&&l.size>0?t.filter(e=>e.stageId&&l.has(e.stageId)):c?t.filter(e=>e.stageId===c):t,[t,c,l]),f=(0,N.useMemo)(()=>l&&l.size>0?(e.stages??[]).filter(e=>l.has(e.id)):c?(e.stages??[]).filter(e=>e.id===c):e.stages??[],[e.stages,c,l]),p=(0,N.useMemo)(()=>f.length>0&&f.every(e=>e.type===`swiss`),[f]),m=(0,N.useMemo)(()=>{if(p)return u.length>0;let t=l&&l.size>0;return De(t?u:e.matches??[],t?f:e.stages??[])!==null},[e.matches,e.stages,u,f,l,p]),h=(0,N.useMemo)(()=>nn.filter(e=>e.id!==`bracket`||m),[m]),[g,_]=rn((0,N.useMemo)(()=>new Set(h.map(e=>e.id)),[h]));return(0,F.jsxs)(`div`,{children:[(0,F.jsx)(`div`,{className:`sticky top-0 z-10 -mx-4 border-b border-zinc-200 bg-white/80 backdrop-blur-sm md:-mx-6 dark:border-zinc-800 dark:bg-zinc-950/80`,children:(0,F.jsx)(`div`,{role:`tablist`,"aria-label":`Tournament sections`,onKeyDown:(0,N.useCallback)(e=>{let t=h.findIndex(e=>e.id===g);if(e.key===`ArrowRight`){e.preventDefault();let n=h[(t+1)%h.length];n&&_(n.id)}else if(e.key===`ArrowLeft`){e.preventDefault();let n=h[(t-1+h.length)%h.length];n&&_(n.id)}else if(e.key===`Home`){e.preventDefault();let t=h[0];t&&_(t.id)}else if(e.key===`End`){e.preventDefault();let t=h[h.length-1];t&&_(t.id)}},[h,g,_]),className:`flex overflow-x-auto px-4 md:px-6`,children:h.map(({id:e,label:t,icon:n})=>(0,F.jsxs)(`button`,{role:`tab`,"aria-selected":g===e,"aria-controls":`tournament-tabpanel-${e}`,id:`tournament-tab-${e}`,tabIndex:g===e?0:-1,onClick:()=>_(e),className:j(`flex flex-shrink-0 items-center gap-1.5 border-b-2 px-3 pb-2 pt-1.5 transition-colors`,`glk-eyebrow`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-[var(--glk-brand)]`,g===e?`border-[var(--glk-brand)] text-[var(--glk-brand)]`:`border-transparent text-zinc-500 hover:text-zinc-700 dark:text-zinc-400 dark:hover:text-zinc-200`),children:[(0,F.jsx)(n,{size:14}),t]},e))})}),(0,F.jsxs)(`div`,{className:`pt-6`,children:[(0,F.jsx)(`div`,{role:`tabpanel`,id:`tournament-tabpanel-overview`,"aria-labelledby":`tournament-tab-overview`,hidden:g!==`overview`,children:g===`overview`&&(0,F.jsx)(yt,{tournament:e,stages:t,gameSlug:n,journey:r,onSelectTeam:o,onClearTeam:s,activeStageId:c})}),(0,F.jsx)(`div`,{role:`tabpanel`,id:`tournament-tabpanel-bracket`,"aria-labelledby":`tournament-tab-bracket`,hidden:g!==`bracket`,children:g===`bracket`&&(p?(0,F.jsx)(qt,{matches:u,stages:f,gameSlug:n,highlightedTeamId:r?.teamId??null,onTeamClick:o}):(0,F.jsx)(Pe,{matches:u,stages:f,gameSlug:n,highlightedTeamId:r?.teamId??null,onTeamClick:o,champion:e.champion,tournamentStatus:e.status}))}),(0,F.jsx)(`div`,{role:`tabpanel`,id:`tournament-tabpanel-matches`,"aria-labelledby":`tournament-tab-matches`,hidden:g!==`matches`,children:g===`matches`&&(0,F.jsx)(At,{stages:d,allStages:e.stages,gameSlug:n,teamSlug:i,teamMatchIds:a,onSelectTeam:o})}),(0,F.jsx)(`div`,{role:`tabpanel`,id:`tournament-tabpanel-standings`,"aria-labelledby":`tournament-tab-standings`,hidden:g!==`standings`,children:g===`standings`&&(0,F.jsx)(an,{tournament:e,gameSlug:n,activeStageId:c,activeChildStageIds:l})}),(0,F.jsx)(`div`,{role:`tabpanel`,id:`tournament-tabpanel-stats`,"aria-labelledby":`tournament-tab-stats`,hidden:g!==`stats`,children:g===`stats`&&(0,F.jsx)(en,{gameSlug:n,tournamentSlug:e.slug})}),(0,F.jsx)(`div`,{role:`tabpanel`,id:`tournament-tabpanel-agents`,"aria-labelledby":`tournament-tab-agents`,hidden:g!==`agents`,children:g===`agents`&&(0,F.jsx)(Xt,{gameSlug:n,tournamentSlug:e.slug})})]})]})}function cn({phases:e}){return e.length?(0,F.jsx)(`div`,{className:`glk-stagger mb-4 grid gap-2 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4`,children:e.map(e=>{let t=e.total>0?Math.round(e.completed/e.total*100):0,n=e.total>0&&e.completed===e.total,r=e.completed>0&&e.completed<e.total,i=e.completed===0&&e.total>0,a=n?`done`:r?`current`:`upcoming`;return(0,F.jsxs)(`div`,{className:j(`glk-card relative flex flex-col gap-2 !p-3`,r&&`ring-1 ring-[var(--glk-brand)]/60 dark:ring-[var(--glk-brand)]/30`),children:[(0,F.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,F.jsx)(`span`,{className:`glk-eyebrow truncate`,title:e.name,children:e.name}),(0,F.jsx)(ln,{status:a})]}),(0,F.jsxs)(`div`,{className:`flex items-baseline gap-1.5`,children:[(0,F.jsx)(`span`,{className:`glk-metric glk-metric-md text-zinc-900 dark:text-zinc-100`,children:e.completed}),(0,F.jsxs)(`span`,{className:`glk-tabular text-xs text-zinc-500 dark:text-zinc-400`,children:[`/ `,e.total]}),(0,F.jsxs)(`span`,{className:`ml-auto glk-tabular text-xs font-semibold text-zinc-600 dark:text-zinc-300`,children:[t,`%`]})]}),e.roundsTotal!=null&&e.roundsTotal>1&&(0,F.jsxs)(`div`,{className:`glk-tabular text-[10px] font-semibold uppercase tracking-wider text-zinc-500 dark:text-zinc-400`,"data-testid":`phase-rounds-${e.id}`,children:[e.roundsComplete??0,` / `,e.roundsTotal,` rounds complete`]}),(0,F.jsx)(`div`,{className:`relative h-1.5 overflow-hidden rounded-full bg-zinc-200/80 dark:bg-zinc-800`,role:`progressbar`,"aria-label":`${e.name} progress`,"aria-valuenow":e.completed,"aria-valuemin":0,"aria-valuemax":e.total,children:(0,F.jsx)(`div`,{className:j(`absolute inset-y-0 left-0 rounded-full bg-[var(--glk-brand)] transition-[width]`,r&&`animate-pulse`,n&&`bg-emerald-500/90 dark:bg-emerald-400/80`,i&&`bg-zinc-300 dark:bg-zinc-700`),style:{width:`${t}%`,transitionDuration:`var(--duration-normal)`}})})]},e.id)})}):null}function ln({status:e}){return e===`current`?(0,F.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-full bg-[var(--glk-brand)]/10 px-1.5 py-0.5 text-[10px] font-bold uppercase tracking-wider text-[var(--glk-brand)]`,children:[(0,F.jsx)(`span`,{className:`glk-live-dot`,"aria-hidden":`true`}),`Live`]}):e===`done`?(0,F.jsx)(`span`,{className:`inline-flex items-center gap-1 rounded-full bg-emerald-500/10 px-1.5 py-0.5 text-[10px] font-bold uppercase tracking-wider text-emerald-700 dark:text-emerald-400`,children:`Done`}):(0,F.jsx)(`span`,{className:`inline-flex items-center gap-1 rounded-full bg-zinc-200/70 px-1.5 py-0.5 text-[10px] font-bold uppercase tracking-wider text-zinc-600 dark:bg-zinc-800/60 dark:text-zinc-300`,children:`Soon`})}function un({stages:e,activeStageId:t,onChange:n}){let r=(0,N.useRef)({}),i=e=>{n(e);let t=r.current[e];typeof t?.scrollIntoView==`function`&&t.scrollIntoView({inline:`nearest`,block:`nearest`})};return(0,F.jsx)(`div`,{role:`tablist`,"aria-label":`Tournament stages`,onKeyDown:n=>{let r=e.findIndex(e=>e.id===t);if(n.key===`ArrowRight`){n.preventDefault();let t=e[(r+1)%e.length];t&&i(t.id)}else if(n.key===`ArrowLeft`){n.preventDefault();let t=e[(r-1+e.length)%e.length];t&&i(t.id)}},className:`scrollbar-none inline-flex max-w-full overflow-x-auto rounded-lg border border-zinc-200 bg-zinc-50 p-0.5 dark:border-zinc-800 dark:bg-zinc-900`,children:e.map(e=>{let n=e.id===t;return(0,F.jsx)(`button`,{ref:t=>{r.current[e.id]=t},type:`button`,role:`tab`,"aria-selected":n,tabIndex:n?0:-1,onClick:()=>i(e.id),className:j(`flex-shrink-0 whitespace-nowrap rounded-md px-3 py-1.5 text-sm font-medium transition-colors`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--glk-brand)] focus-visible:ring-offset-1`,n?`bg-white text-zinc-900 shadow-sm dark:bg-zinc-800 dark:text-zinc-100`:`text-zinc-500 hover:text-zinc-700 dark:text-zinc-400 dark:hover:text-zinc-200`),style:{transitionDuration:`var(--duration-fast)`},children:e.name},e.id)})})}function dn(e,t){if(t&&t.length>0){let n=new Map(t.map(e=>[e.id,e])),r=new Map;for(let t of e){let e=t.stageId,i=e?n.get(e):null,a=i?.name??t.stage??`Other`;r.has(a)||r.set(a,{stage:a,stageId:e??``,order:i?.order??99,type:i?.type,format:i?.format,matches:[]}),r.get(a).matches.push(t)}return Array.from(r.values()).sort((e,t)=>e.order-t.order)}let n=new Map;for(let t of e){let e=t.stage??`Other`;n.has(e)||n.set(e,[]),n.get(e).push(t)}return Array.from(n.entries()).map(([e,t])=>({stage:e,order:0,matches:t}))}function fn(){let{gameSlug:e,tournamentSlug:t}=ee(),{data:n,isLoading:r,isError:i,error:a,refetch:o}=Se(e,t),{isWatching:s,addToWatchlist:c,removeFromWatchlist:l}=re();ce(n?.name);let u=(0,N.useMemo)(()=>dn(n?.matches??[],n?.stages),[n?.matches,n?.stages]),{teamSlug:d,journey:f,teamMatchIds:p,selectTeam:m,clearTeam:h}=Ie(n?.matches??[],n?.status),{matchCount:g,completedCount:_,stripData:v}=(0,N.useMemo)(()=>{let e=(n?.matches??[]).filter(e=>e.status!==`cancelled`),t=e.filter(k).length,r=e=>{let t=e.filter(e=>e.status!==`cancelled`);return{completed:t.filter(k).length,total:t.length}},i=n?.stages??[],a=new Map;for(let e of i){if(e.type===`other`||Y(e))continue;let t=e.name.match(/^([^:]+):\s*(.+)$/);if(!t)continue;let n=t[1].trim(),r=a.get(n)??[];r.push(e),a.set(n,r)}let o=new Set;for(let[e,t]of a)t.length>=3&&o.add(e);let s=e=>{let t=e.name.match(/^([^:]+):/);return!!t&&o.has(t[1].trim())},c=new Set(i.map(e=>e.parentStageId).filter(e=>e!=null)),l=e=>e.parentStageId!=null,d=e=>c.has(e.id),f=i.filter(e=>e.type!==`other`&&!Y(e)&&!s(e)&&!l(e)&&!d(e)),p=i.filter(e=>l(e)&&/^playoffs/i.test(e.name)||Y(e)),m=i.filter(e=>e.type===`other`&&!l(e)),h=f.map(e=>{let t=r(u.find(t=>t.stageId===e.id||t.stage===e.name)?.matches??[]),n=t.total,i=t.completed,a=e.blocks??[];return a.length>0?{id:e.id,name:e.name,type:e.type,blocks:a.map(e=>({id:e.id,name:e.name,completed:e.matchesCompleted,total:e.matchesTotal,startDate:e.startDate,endDate:e.endDate}))}:{id:e.id,name:e.name,type:e.type,blocks:[{id:`${e.id}-all`,name:`All Matches`,completed:i,total:n}]}}).filter(e=>e.blocks.reduce((e,t)=>e+t.total,0)>0);if(p.length>0){let e=e=>{let t=(n?.matches??[]).filter(t=>t.stageId===e&&t.scheduledAt).map(e=>new Date(e.scheduledAt).getTime());return t.length>0?Math.min(...t):1/0},t=e=>{let t=e.toLowerCase();if(t.includes(`grand final`)||t.includes(`grand-final`))return 100;let n=t.includes(`upper`),r=t.includes(`lower`),i=n?0:r?20:40;return t.includes(`round 1`)||t.includes(`r1`)?i+1:t.includes(`round 2`)||t.includes(`r2`)?i+2:t.includes(`round 3`)||t.includes(`r3`)?i+3:t.includes(`round 4`)||t.includes(`r4`)?i+4:t.includes(`quarterfinal`)||t.includes(`quarter final`)||t.includes(`qf`)?i+5:t.includes(`semifinal`)||t.includes(`semi final`)||t.includes(`sf`)?i+6:t.includes(`final`)?i+7:i+10},a=[...p].sort((n,r)=>{let a=t(n.name),o=t(r.name);if(a!==o)return a-o;let s=e(n.id),c=e(r.id);return s===c?n.order===r.order?i.indexOf(n)-i.indexOf(r):n.order-r.order:s-c}).map(e=>{let{completed:t,total:n}=r(u.find(t=>t.stageId===e.id||t.stage===e.name)?.matches??[]),i=e.name.replace(/^Playoffs:\s*/,``).trim()||e.name;return{id:e.id,name:i,completed:t,total:n}}).filter(e=>e.total>0);if(a.length>0){let e=a.filter(e=>e.total>0&&e.completed===e.total).length;h.push({id:`synthetic-playoffs`,name:`Playoffs`,type:`playoff`,blocks:a,roundsTotal:a.length,roundsComplete:e})}}if(o.size>0){let e=e=>{let t=(n?.matches??[]).filter(t=>t.stageId===e&&(t.scheduledAt||t.playedAt)).map(e=>new Date(e.scheduledAt??e.playedAt).getTime());return t.length>0?Math.min(...t):1/0},t=e=>{let t=e.match(/round\s*(\d+)/i);return t?parseInt(t[1],10):1/0};for(let n of o){let o=(a.get(n)??[]).slice();o.sort((n,r)=>{let a=t(n.name),o=t(r.name);if(a!==o)return a-o;let s=e(n.id),c=e(r.id);return s===c?n.order===r.order?i.indexOf(n)-i.indexOf(r):n.order-r.order:s-c});let s=o.map(e=>{let{completed:t,total:i}=r(u.find(t=>t.stageId===e.id||t.stage===e.name)?.matches??[]),a=e.name.slice(n.length+1).trim()||e.name;return{id:e.id,name:a,completed:t,total:i}}).filter(e=>e.total>0);if(s.length===0)continue;let c=s.length,l=s.reduce((e,t)=>e+t.total,0),d=s.reduce((e,t)=>e+t.completed,0),f=s.length>6?[{id:`synthetic-${n.toLowerCase().replace(/\s+/g,`-`)}-aggregate`,name:`${c} rounds`,completed:d,total:l}]:s,p=s.filter(e=>e.total>0&&e.completed===e.total).length;h.push({id:`synthetic-${n.toLowerCase().replace(/\s+/g,`-`)}`,name:n,type:`group`,blocks:f,roundsTotal:c,roundsComplete:p})}}if(m.length>0){let e=e=>{let t=(n?.matches??[]).filter(t=>t.stageId===e&&(t.scheduledAt||t.playedAt)).map(e=>new Date(e.scheduledAt??e.playedAt).getTime());return t.length>0?Math.min(...t):1/0},t=e=>{let t=e.match(/week\s*(\d+)/i);return t?parseInt(t[1],10):1/0},i=[...m].sort((n,r)=>{let i=t(n.name),a=t(r.name);if(i!==a)return i-a;let o=e(n.id),s=e(r.id);return o===s?n.name.localeCompare(r.name):o-s}).map(e=>{let{completed:t,total:n}=r(u.find(t=>t.stageId===e.id||t.stage===e.name)?.matches??[]);return{id:e.id,name:e.name,completed:t,total:n}}).filter(e=>e.total>0);if(i.length>0){let e=h.findIndex(e=>e.id===`synthetic-playoffs`),t={id:`synthetic-regular-season`,name:`Regular Season`,type:`group`,blocks:i};e>=0?h.splice(e,0,t):h.push(t)}}return{matchCount:e.length,completedCount:t,stripData:h}},[n,u]),y=(0,N.useMemo)(()=>{let e={"synthetic-regular-season":1,"synthetic-playoffs":4,qualifier:0,group:2,round_robin:2,swiss:2,upper_bracket:3,lower_bracket:3,playoff:4,grand_final:5},t=t=>t.id in e?e[t.id]:t.type in e?e[t.type]:3,n=[...v].sort((e,n)=>t(e)-t(n)).map(e=>({id:e.id,name:e.name,type:e.type,completed:e.blocks.reduce((e,t)=>e+t.completed,0),total:e.blocks.reduce((e,t)=>e+t.total,0),roundsComplete:e.roundsComplete,roundsTotal:e.roundsTotal})).filter(e=>e.total>0),r=n.reduce((e,t)=>e+t.total,0);return n.filter(e=>{if(e.id!==`synthetic-regular-season`)return!0;let t=r>0?e.total/r:1;return e.total>=3&&t>=.05})},[v]),b=(0,N.useMemo)(()=>Ft(n?.stages??[],n?.matches??[]),[n?.stages,n?.matches]),[x,S]=(0,N.useState)(``),C=(0,N.useMemo)(()=>{if(!x)return null;let e=b.find(e=>e.id===x);return e?new Set(e.childStageIds):null},[x,b]);if((0,N.useEffect)(()=>{let e=n?.matches??[],t=new Set(e.map(e=>e.stageId).filter(Boolean)),r=b.find(e=>e.childStageIds.some(e=>t.has(e)));if(r){S(r.id);return}S(``)},[n?.id,b,n?.matches]),i&&a instanceof te)return(0,F.jsx)(Ce,{entityType:`tournament`,gameSlug:e});if(r||n?.redirect||i||!n)return(0,F.jsx)(de,{title:`Tournament`,breadcrumbs:[{label:`Tournaments`,href:`/${e}/tournaments`}],className:`flex h-full flex-col overflow-hidden`,loadingKind:`detail`,emptyMessage:`Tournament not found.`,status:{isLoading:r||!!n?.redirect,isError:i,error:i?Error(`Failed to load tournament`):null,isEmpty:!r&&!i&&!n,retry:()=>void o()},children:(0,F.jsx)(`div`,{})});let w=b,T=w.length>1,E=be(e),D=[`${n.name} — ${E} tournament${n.region?` in ${n.region}`:``}.`,n.prizePool?`Prize pool ${n.prizePool}.`:null,g>0?`${g} matches${_>0?`, ${_} completed`:``}.`:null,`Schedule, standings, brackets, and stats on Glicko.`].filter(Boolean).join(` `),O=ie({name:n.name,url:typeof window<`u`?window.location.href:`https://glicko.app/${e}/tournaments/${n.slug}`,startDate:n.startDate??new Date().toISOString(),endDate:n.endDate??void 0,location:n.region??void 0});return(0,F.jsxs)(de,{title:n.name,breadcrumbs:[{label:`Tournaments`,href:`/${e}/tournaments`}],actions:(0,F.jsx)(xe,{entry:{type:`tournament`,slug:n.slug,name:n.name},isWatching:s(n.slug),onAdd:c,onRemove:l}),className:`flex h-full flex-col overflow-hidden`,seo:{title:`${n.name} — ${E}`,description:D,image:ye(e??`valorant`,`tournament`,n.slug),type:`article`},children:[(0,F.jsx)(oe,{data:O}),(0,F.jsx)(`div`,{className:`flex-1 overflow-y-auto`,children:(0,F.jsxs)(ue,{className:`mx-auto max-w-5xl`,children:[(0,F.jsx)(he,{tournament:n,matchCount:g,completedCount:_,gameSlug:e}),y.length>0&&(0,F.jsx)(cn,{phases:y}),T&&(0,F.jsx)(`div`,{className:`mb-4`,children:(0,F.jsx)(un,{stages:w.map(e=>({id:e.id,name:e.name})),activeStageId:x,onChange:S})}),(0,F.jsx)(on,{tournament:n,stages:u,gameSlug:e,journey:f,teamSlug:d,teamMatchIds:p,onSelectTeam:m,onClearTeam:h,activeStageId:x,activeChildStageIds:C})]})})]})}export{fn as default};