/* BIG3 competition surfaces: compact broadcast layout and responsive interaction polish */

.page-matches,
.page-tournament{
  --competition-rail:rgba(255,255,255,.085);
  --competition-soft:rgba(255,255,255,.025);
  --competition-gold-soft:rgba(212,175,55,.065);
}

.page-matches :is(button,a,input,select,summary):focus-visible,
.page-tournament :is(button,a,input,select,summary):focus-visible{
  outline:2px solid var(--gold);
  outline-offset:3px;
}

/* Matches overview */
.page-matches .mp-header{padding:36px 0 30px}
.page-matches .mp-header-bg{opacity:.72;mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.7) 58%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.7) 58%,transparent 100%)}
.page-matches .mp-header-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:42px}
.page-matches .mp-header-main{display:grid;grid-template-columns:auto minmax(300px,520px);align-items:end;gap:14px 28px;min-width:0}
.page-matches .mp-header-main .eyebrow{display:none}
.page-matches .mp-header-title{grid-column:1/-1;font-size:clamp(50px,5vw,72px);line-height:.92;letter-spacing:0}
.page-matches .mp-header-title .outlined{-webkit-text-stroke:0;-webkit-text-fill-color:currentColor;color:var(--text)}
.page-matches .platform-pills{margin:0}
.page-matches .war-search{margin:0;min-width:0}
.page-matches .war-search-box{min-height:46px;background:rgba(0,0,0,.18)}
.page-matches .mp-header-stats{display:grid;grid-template-columns:repeat(3,minmax(76px,1fr));gap:0;align-items:end}
.page-matches .mp-header-stats>div{padding:0 22px;border-left:1px solid var(--competition-rail);text-align:center}
.page-matches .mp-header-stats>div:first-child{border-left:0}
.page-matches .mp-stat-n{font-size:34px}
.page-matches .mp-stat-l{letter-spacing:.12em}

.page-matches .mp-layout{display:block;min-height:0}
.page-matches .mp-sidebar{position:sticky;top:74px;z-index:24;width:100%;padding:0;border:0;border-bottom:1px solid var(--line);background:rgba(8,7,10,.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
:root[data-theme="light"] .page-matches .mp-sidebar{background:rgba(250,248,243,.95)}
.page-matches .mp-sidebar-title,.page-matches .mp-side-divider{display:none}
.page-matches .mp-sidebar-list{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;padding:0}
.page-matches .mp-side-item{min-width:0;display:grid;grid-template-columns:auto 1fr auto;justify-content:start;gap:9px;padding:14px 16px;border:0;border-left:1px solid var(--line);border-bottom:2px solid transparent;background:transparent;white-space:nowrap}
.page-matches .mp-side-item:first-child{border-left:0}
.page-matches .mp-side-item.active{border-left-color:var(--line);border-bottom-color:var(--gold);background:var(--competition-gold-soft)}
.page-matches .mp-content{padding:26px 0 74px}
.page-matches .admin-banner{padding:14px 16px;margin-bottom:22px;background:var(--competition-soft)}
.page-matches .admin-banner-text{min-width:0}
.page-matches .admin-banner-text span{font-size:12.5px;line-height:1.55}
.page-matches .tab-head{padding-bottom:16px;margin-bottom:18px}
.page-matches .tab-head-l{font-size:34px}
.page-matches .tab-head-sub{margin-top:5px}

.page-matches #overview-tournaments{display:flex;flex-direction:column;gap:0;border:1px solid var(--line);background:var(--surface)}
.page-matches .t-compact-row{display:grid;grid-template-columns:72px minmax(210px,1.25fr) minmax(150px,.8fr) minmax(140px,.75fr) minmax(110px,.55fr) 132px;align-items:center;gap:0;min-height:84px;border-bottom:1px solid var(--line);background:var(--surface);transition:background .18s ease,border-color .18s ease;position:relative}
.page-matches .t-compact-row:last-child{border-bottom:0}
.page-matches .t-compact-row:hover{background:var(--competition-gold-soft)}
.page-matches .t-compact-row.has-viewer{box-shadow:inset 3px 0 0 var(--gold)}
.page-matches .t-row-index{height:100%;display:grid;place-items:center;border-right:1px solid var(--line);font-family:var(--font-display);font-size:28px;font-weight:900;color:var(--gold);font-variant-numeric:tabular-nums}
.page-matches .t-row-main,.page-matches .t-row-fact,.page-matches .t-row-action{min-width:0;padding:14px 18px}
.page-matches .t-row-main{display:grid;gap:5px}
.page-matches .t-row-kicker{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-family:var(--font-mono);font-size:9.5px;letter-spacing:.09em;color:var(--text-3);text-transform:uppercase}
.page-matches .t-row-status{display:inline-flex;align-items:center;gap:6px;color:var(--text-2)}
.page-matches .t-row-status::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.page-matches .t-row-status.live,.page-matches .t-row-status.signup{color:var(--gold-light)}
.page-matches .t-row-status.live::before,.page-matches .t-row-status.signup::before{box-shadow:0 0 0 3px rgba(212,175,55,.16)}
.page-matches .t-row-status.ongoing{color:var(--cyan)}
.page-matches .t-row-status.ongoing::before{box-shadow:0 0 0 3px var(--cyan-dim)}
.page-matches .t-row-title{font-family:var(--font-display);font-size:22px;font-weight:900;line-height:1.12;color:var(--text);overflow-wrap:anywhere}
.page-matches .t-row-chip{display:inline-flex;width:max-content;max-width:100%;border:1px solid var(--gold-line);padding:2px 6px;color:var(--gold-light);font-size:9px;line-height:1.4}
.page-matches .t-row-fact{height:100%;display:flex;flex-direction:column;justify-content:center;border-left:1px solid var(--line)}
.page-matches .t-row-fact span{font-family:var(--font-mono);font-size:9px;letter-spacing:.1em;color:var(--text-3);text-transform:uppercase}
.page-matches .t-row-fact strong{display:block;margin-top:4px;font-size:12.5px;line-height:1.35;color:var(--text);font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.page-matches .t-row-fact strong.gold{color:var(--gold-light)}
.page-matches .t-row-action{height:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;border-left:1px solid var(--line);color:var(--gold-light);font-weight:800;font-size:12px}
.page-matches .t-row-action svg{width:18px;height:18px;flex:0 0 auto;transition:transform .18s ease}
.page-matches .t-compact-row:hover .t-row-action svg{transform:translateX(3px)}
.page-matches #sessions-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.page-matches #sessions-grid .t-card-title{font-size:28px;line-height:1.05}

/* Tournament detail */
.page-tournament .t-hero{padding:34px 0 28px}
.page-tournament .t-hero-bg{opacity:.7;mask-image:linear-gradient(90deg,rgba(0,0,0,.85),rgba(0,0,0,.42) 60%,transparent);-webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,.85),rgba(0,0,0,.42) 60%,transparent)}
.page-tournament .t-crumb{margin-bottom:16px}
.page-tournament .t-hero-row{display:block}
.page-tournament .t-hero-copy{max-width:100%}
.page-tournament .t-hero-meta{margin-bottom:13px}
.page-tournament .t-hero-title{font-size:clamp(38px,4.8vw,66px);line-height:1.02;letter-spacing:0;max-width:1120px;margin-bottom:12px}
.page-tournament .t-title-main{display:block;color:var(--text);overflow-wrap:anywhere}
.page-tournament .t-hero-summary{font-size:13.5px;line-height:1.65;max-width:920px;color:var(--text-2)}
.page-tournament .t-load-state{display:flex;align-items:center;gap:8px;margin-top:12px;color:var(--text-3);font-family:var(--font-mono);font-size:10px;letter-spacing:.08em}
.page-tournament .t-load-state::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 3px rgba(212,175,55,.14)}
.page-tournament.t-hydrated .t-load-state{display:none}
.page-tournament .t-info-grid{margin-top:22px;padding-top:18px;border-top:1px solid var(--line);gap:0}
.page-tournament .t-info{padding:0 22px;border-left:1px solid var(--line);min-width:0}
.page-tournament .t-info:first-child{padding-left:0;border-left:0}
.page-tournament .t-info-l{letter-spacing:.1em}
.page-tournament .t-info-v{font-size:21px;overflow-wrap:anywhere}
.page-tournament .p-tabs-wrap{position:sticky;top:74px;z-index:22;background:rgba(8,7,10,.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
:root[data-theme="light"] .page-tournament .p-tabs-wrap{background:rgba(250,248,243,.95)}
.page-tournament .p-tab{min-height:70px;padding-top:12px;padding-bottom:10px}
.page-tournament .t-panel{padding:26px 0 60px}
.page-tournament .t-panel{scroll-margin-top:160px}
.page-tournament .t-rules-block{border-color:var(--line-2);background:var(--competition-soft)}
.page-tournament .t-rules-head{padding:17px 20px}
.page-tournament .t-rules-title{font-size:24px}
.page-tournament .t-overview-grid{gap:14px}
.page-tournament .t-card-panel,.page-tournament .t-team-card,.page-tournament .t-game-row{border-radius:0;background:var(--surface);box-shadow:none}
.page-tournament .t-card-panel{padding:18px 20px}
.page-tournament .t-team-grid{gap:12px}
.page-tournament .t-team-card{padding:18px}
.page-tournament .t-game-row{transition:border-color .18s ease,background .18s ease}
.page-tournament .t-game-row:hover{background:var(--competition-gold-soft);border-color:var(--gold-line)}
.page-tournament[data-tournament-status="ongoing"] .t-info-grid{border-top-color:var(--cyan-line)}
.page-tournament[data-tournament-status="ongoing"] .p-tab.active{color:var(--cyan)}
.page-tournament[data-tournament-status="ongoing"] .p-tab.active::after{background:var(--cyan)}

/* Keep signup dense but un-nested: sections use dividers, repeated people remain cards. */
.page-tournament .signup-public-summary{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:10px 0}
.page-tournament .signup-public-count,
.page-tournament .signup-public-meta,
.page-tournament .signup-public-roster,
.page-tournament .signup-rules-card{border:0;background:transparent}
.page-tournament .signup-public-count{border-right:1px solid var(--line)}
.page-tournament .signup-public-roster{padding:13px 0;border-bottom:1px solid var(--line)}
.page-tournament .signup-rules-card{padding:13px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.page-tournament .signup-rule-kpi{background:var(--competition-soft)}

@media (max-width:1100px){
  .page-matches #sessions-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .page-matches .t-compact-row{grid-template-columns:64px minmax(220px,1.2fr) minmax(140px,.8fr) minmax(120px,.65fr) 122px}
  .page-matches .t-compact-row .t-row-fact.sponsor{display:none}
}

@media (max-width:920px){
  .page-matches .mp-header-inner{grid-template-columns:1fr;gap:22px}
  .page-matches .mp-header-stats{width:100%}
  .page-matches .mp-header-stats>div{padding:0 14px}
  .page-matches .mp-sidebar{top:108px}
  .page-matches .mp-sidebar-list{display:flex;min-width:max-content;padding:8px 14px;gap:7px}
  .page-matches .mp-side-item{display:grid;grid-template-columns:auto auto;min-width:auto;border:1px solid var(--line-2);padding:9px 11px}
  .page-matches .mp-side-item.active{border-color:var(--gold-line)}
  .page-matches .mp-side-item-count{display:none}
  .page-matches .mp-content{padding:22px 14px 60px}
  .page-matches .t-compact-row{grid-template-columns:60px minmax(220px,1fr) minmax(130px,.7fr) 120px}
  .page-matches .t-compact-row .t-row-fact.sponsor,.page-matches .t-compact-row .t-row-fact.prize{display:none}
}

@media (max-width:640px){
  .page-matches .mp-header{padding:24px 0 20px}
  .page-matches .mp-header-inner{gap:18px}
  .page-matches .mp-header-main{grid-template-columns:1fr;gap:12px}
  .page-matches .mp-header-title{font-size:46px;line-height:.94}
  .page-matches .platform-pills,.page-matches .war-search{width:100%}
  .page-matches .platform-pill{flex:1;padding:11px 12px}
  .page-matches .war-search-box{min-height:44px}
  .page-matches .mp-header-stats>div{padding:0 9px}
  .page-matches .mp-stat-n{font-size:27px}
  .page-matches .mp-stat-l{font-size:9px;letter-spacing:.08em}
  .page-matches .mp-sidebar{top:104px}
  .page-matches .mp-content{padding:18px 14px 48px}
  .page-matches .admin-banner{display:grid;gap:12px;padding:12px;margin-bottom:18px}
  .page-matches .admin-banner-text{align-items:flex-start}
  .page-matches .admin-banner-actions{justify-content:flex-start}
  .page-matches .tab-head{margin-bottom:12px;padding-bottom:12px}
  .page-matches .tab-head-l{font-size:28px}
  .page-matches .t-compact-row{grid-template-columns:48px minmax(0,1fr) 42px;min-height:78px}
  .page-matches .t-row-index{font-size:22px}
  .page-matches .t-row-main{padding:12px 11px}
  .page-matches .t-row-title{font-size:18px}
  .page-matches .t-row-kicker{font-size:8.5px;gap:6px}
  .page-matches .t-compact-row .t-row-fact{display:none}
  .page-matches .t-row-action{padding:0;justify-content:center}
  .page-matches .t-row-action span{display:none}
  .page-matches #sessions-grid{grid-template-columns:1fr}
  .page-matches #sessions-grid .t-card-title{font-size:25px}

  .page-tournament .t-hero{padding:22px 0 20px}
  .page-tournament .t-crumb{margin-bottom:12px;font-size:9px;letter-spacing:.08em}
  .page-tournament .t-hero-meta{gap:6px;margin-bottom:11px}
  .page-tournament .t-hero-meta .p-tag{font-size:9px;padding:5px 7px}
  .page-tournament .t-hero-title{font-size:36px;line-height:1.04;margin-bottom:10px}
  .page-tournament .t-hero-summary{font-size:12.5px;line-height:1.55}
  .page-tournament .t-load-state{font-size:9px;line-height:1.45}
  .page-tournament .t-info-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:17px;padding-top:0;border-top:1px solid var(--line)}
  .page-tournament .t-info{padding:12px 10px;border-left:0;border-bottom:1px solid var(--line)}
  .page-tournament .t-info:nth-child(odd){padding-left:0;border-right:1px solid var(--line)}
  .page-tournament .t-info:nth-child(even){padding-right:0}
  .page-tournament .t-info-v{font-size:17px;line-height:1.15}
  .page-tournament .p-tabs-wrap{top:104px;overflow-x:auto}
  .page-tournament .p-tabs{min-width:520px}
  .page-tournament .p-tab{min-height:58px;padding:9px 12px;font-size:13px}
  .page-tournament .p-tab-en{font-size:8.5px;letter-spacing:.04em}
  .page-tournament .t-panel{padding:18px 0 44px}
  .page-tournament .t-panel{scroll-margin-top:176px}
  .page-tournament .t-rules-head{padding:14px}
  .page-tournament .t-rules-title{font-size:21px}
  .page-tournament .t-rules-sub{font-size:8.5px;letter-spacing:.08em}
  .page-tournament .t-rules-edit-hint{font-size:9px}
  .page-tournament .t-card-panel,.page-tournament .t-team-card{padding:14px}
  .page-tournament .signup-public-summary{padding:8px 0}
  .page-tournament .signup-public-count{border-right:0;border-bottom:1px solid var(--line)}
}

@media (prefers-reduced-motion:reduce){
  .page-matches *,
  .page-tournament *{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
