/* Season 06: public tournament surfaces. Data and native navigation stay visible. */
.page-heading { display:flex; align-items:center; justify-content:space-between; gap:32px; margin:8px 0 34px; padding:0; background:none; border:0; flex-wrap:nowrap; }
.page-heading>div { min-width:0; }
.page-heading h1 { margin:10px 0 16px; font-family:var(--display,Unbounded,sans-serif); font-size:clamp(30px,4.1vw,58px); line-height:1.17; letter-spacing:-.025em; overflow-wrap:anywhere; }
.page-heading p { margin:8px 0; max-width:66ch; color:var(--muted); }
.page-context { font-size:14px; }
.section-heading { margin:0 0 22px; }
.section-heading h2 { margin:10px 0; }
.section-heading>p:last-child { margin:8px 0; }
.back-link { margin:0 0 18px; gap:10px; color:var(--muted); }
.back-link:hover { color:var(--ink); }
.export-link { display:inline-flex; align-items:center; min-height:44px; flex-shrink:0; font-size:14px; text-decoration:none; border-bottom:1px solid var(--line); }
.export-link:hover { border-color:var(--accent); }

/* A single wide source artwork gives each discipline its own arrival. */
.arena-work.discipline-work { display:block; }
.discipline-scene { position:relative; width:100%; overflow:hidden; background:#100e10; border:1px solid var(--line); border-radius:14px; }
.discipline-scene .game-scene { display:block; margin:0; width:100%; }
.discipline-scene .game-scene img { display:block; width:100%; height:auto; max-height:320px; aspect-ratio:1107/343; object-fit:cover; object-position:center 45%; }
.discipline-identity { margin:24px 0 0; }
.discipline-identity .work-context { display:flex; align-items:center; justify-content:space-between; gap:24px; margin:0; }

.discipline-title { margin:10px 0 12px; font-family:var(--display,Unbounded,sans-serif); font-size:clamp(32px,3.5vw,48px); line-height:1.15; letter-spacing:-.025em; overflow-wrap:anywhere; }
.discipline-work .discipline-intro { color:var(--muted); margin:0 0 24px; font-size:14px; }
.discipline-work .quick-link { display:inline-flex; align-items:center; min-height:44px; flex-shrink:0; font-size:14px; }
.discipline-work .stage-context { display:flex; justify-content:space-between; align-items:center; gap:24px; border-top:1px solid var(--line); padding-top:8px; }
.discipline-work .stage-context .toolbar.tabs { display:flex; margin:0; gap:24px; border:0; }
.discipline-work .stage-context .tabs a { padding:12px 0; font-size:14px; color:var(--muted); border:0; border-radius:0; background:none; }
.discipline-work .stage-context .tabs a[aria-current=page] { color:var(--ink); box-shadow:inset 0 -2px var(--accent); }
.discipline-work .phase-note { margin:18px 0; }
.discipline-work .workspace-tabs { display:flex; gap:30px; overflow:auto; padding:0; margin:26px 0!important; border-bottom:1px solid var(--line); }
.discipline-work .workspace-tabs a { flex-shrink:0; padding:14px 2px; font-size:17px; text-decoration:none; color:var(--muted); border:0; border-radius:0; background:none; }
.discipline-work .workspace-tabs a[aria-current=page] { box-shadow:inset 0 -3px var(--accent); color:var(--ink); }
.discipline-work .team-finder { max-width:680px; margin:24px 0; }
.discipline-work .competition-pulse { grid-template-columns:repeat(3,minmax(0,1fr)); margin:28px 0 36px; padding:22px 0; }
.discipline-work .competition-pulse strong { font-family:var(--display,Unbounded,sans-serif); font-size:clamp(28px,3.2vw,42px); letter-spacing:-.025em; }
.discipline-work .competition-pulse span { font-size:13px; }
.discipline-work .overview-section { margin:36px 0 42px; }
.discipline-work .overview-section .catalog-heading h2 { font-family:var(--display,Unbounded,sans-serif); font-size:clamp(18px,2.1vw,26px); line-height:1.45; }
.discipline-resources { display:grid; grid-template-columns:minmax(0,1fr) minmax(260px,1fr); gap:30px; margin-top:48px; padding-top:28px; border-top:1px solid var(--line); }
.discipline-resources h2 { margin:0 0 12px; font-size:18px; }
.discipline-resources p { max-width:48ch; color:var(--muted); font-size:14px; }
.discipline-resources nav { display:flex; flex-direction:column; align-items:flex-start; gap:8px; }
.discipline-resources nav a { display:inline-flex; align-items:center; min-height:44px; font-size:14px; }
.standings-title { margin:32px 0 12px; font-size:22px; }
.standings-caption { color:var(--muted); }
.standings-table { width:100%; }
.standings-table th,.standings-table td { padding:18px 14px; }
.standings-table th:first-child,.standings-table td:first-child { min-width:58px; width:70px; }
.standings-table td:first-child { font-family:var(--display,Unbounded,sans-serif); font-size:18px; }
.standings-table td:nth-child(2) { min-width:210px; }
.standings-table td:nth-child(3) { font-size:20px; font-weight:700; }
.standings-table td:nth-child(n+3),.standings-table th:nth-child(n+3) { text-align:center; }
.standings-table td:last-child,.standings-table th:last-child { text-align:left; }
.standings-table tr:focus-within { background:var(--soft); }
.mobile-row-details { display:none; }
.team-directory li { padding:20px 0; }
.team-directory li>a { color:var(--ink); font-size:18px; }

/* Compact tickets: scores are readable before any secondary action. */
.match-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.match-card,.bracket article.match-card { position:relative; min-width:0; margin:0; padding:20px; background:var(--surface); border:1px solid var(--line); border-radius:12px; overflow-wrap:anywhere; box-shadow:none; transition:border-color 180ms,background-color 180ms; }
.match-card:hover { background:var(--raised); border-color:color-mix(in srgb,var(--ink) 34%,var(--line)); box-shadow:none; }
.match-card:focus-within,.match-card.is-selected { border-color:var(--accent); background:var(--soft); }
.match-card.status-in_progress { border-color:var(--accent); }
.match-card.status-decision { border-color:var(--control); }
.card-meta { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:12px; font-size:12px; }
.card-meta>a { color:var(--ink); font-weight:650; min-height:32px; text-decoration:none; }
.card-number { color:var(--muted); font-weight:400; }
.card-status { color:var(--muted); font-size:11px; line-height:1.4; text-align:right; }
.status-in_progress .card-status { color:var(--accent); }
.pair-side { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:12px 0; border-bottom:1px solid var(--line); }
.pair-side>div { min-width:0; }
.pair-side>div>a { display:inline-block; color:var(--ink); font-size:16px; font-weight:650; text-decoration:none; }
.pair-side>div>a:hover { text-decoration:underline; }
.pair-side small { display:block; margin-top:3px; font-size:11px; line-height:1.45; }
.pair-side small a { color:var(--muted); text-decoration:none; }
.pair-side small a:hover { text-decoration:underline; }
.pair-side>strong { flex-shrink:0; color:var(--ink); font-family:var(--display,Unbounded,sans-serif); font-size:24px; font-weight:600; min-width:30px; text-align:center; }
.pair-side.winner>strong { color:var(--accent); }
.card-result { display:block; color:var(--muted); margin-top:10px; }
.card-bottom { margin-top:10px; }
.card-time { margin:0; font-size:12px; color:var(--muted); }
.card-bottom .match-open { margin-top:6px; min-height:40px; font-size:13px; color:var(--ink); }
.card-actions { display:flex; flex-wrap:wrap; margin-top:10px; gap:8px; }
.card-actions>a { min-height:40px; padding:6px 10px; font-size:12px; }
.match-list-table th,.match-list-table td { padding:18px 14px; }
.match-list-table td:first-child>a { color:var(--ink); font-weight:650; white-space:nowrap; }
.match-list-table .match-reference { display:block; margin:3px 0; font-size:10px; }
.match-list-table td>small { display:block; font-size:11px; margin-top:4px; line-height:1.45; }
.match-list-table td:nth-child(2)>a,.match-list-table td:nth-child(3)>a { color:var(--ink); font-weight:600; }
.bracket-links path { stroke:var(--muted); fill:none; }
.bracket-links path.is-path { stroke:var(--accent); stroke-width:3; }
.bracket article.match-card { margin:14px 0; }
.round-column { min-width:0; }

/* The match board has a real score, real status and two equal sides. */
.match-heading { margin-bottom:28px; }
.match-heading h1 { font-size:clamp(28px,3.4vw,46px); }
.match-heading .match-reference { display:inline-block; margin-left:10px; }
.match-discipline-art,.team-discipline-art { display:block; flex:0 0 230px; }
.match-discipline-art .game-preview,.team-discipline-art .game-preview { display:block; width:100%; height:auto; }
.match-arena { position:relative; padding:24px 32px 0; background:var(--surface); border:1px solid var(--line); border-radius:14px; overflow:hidden; }
.match-arena::before { content:''; position:absolute; inset:0 auto auto 32px; width:66px; height:3px; background:var(--accent); }
.match-state { display:flex; align-items:center; justify-content:center; gap:9px; flex-wrap:wrap; color:var(--muted); font-size:13px; }
.match-arena .match-score { display:grid; grid-template-columns:minmax(0,1fr) minmax(150px,.65fr) minmax(0,1fr); gap:30px; align-items:center; padding:46px 0 50px; margin:0; background:none; border:0; border-radius:0; outline:0; }
.match-contender { display:flex; flex-direction:column; align-items:flex-start; text-align:left; min-width:0; gap:12px; }
.match-contender:last-child { align-items:flex-end; text-align:right; }
.contender-label { color:var(--muted); font-size:11px; text-transform:uppercase; letter-spacing:.12em; }
.contender-name { font-family:var(--display,Unbounded,sans-serif); font-size:clamp(19px,2.1vw,29px); line-height:1.45; color:var(--ink); text-decoration:none; overflow-wrap:anywhere; }
a.contender-name:hover { text-decoration:underline; }
.contender-institution { max-width:32ch; font-size:12px; line-height:1.5; color:var(--muted); text-decoration:none; }
.contender-institution:hover { text-decoration:underline; }
.winner-label { display:inline-block; padding:5px 10px; color:var(--ink); background:var(--soft); border:1px solid var(--line); font-size:11px; letter-spacing:.03em; }
.match-total { text-align:center; }
.match-total>strong { display:flex; justify-content:center; gap:12px; font-family:var(--display,Unbounded,sans-serif); font-size:clamp(38px,5.7vw,76px); line-height:1.2; font-weight:600; letter-spacing:-.025em; font-variant-numeric:tabular-nums; color:var(--ink); }
.score-divider { color:var(--muted); font-weight:400; }
.result-label { display:block; margin-top:12px; font-size:12px; line-height:1.5; color:var(--muted); }
.match-arena-footer { display:flex; align-items:center; justify-content:space-between; gap:16px; border-top:1px solid var(--line); padding:14px 0; font-size:12px; }
.match-arena-footer a { min-height:36px; display:inline-flex; align-items:center; color:var(--ink); }
.match-arena-footer>span { color:var(--muted); font-size:10px; letter-spacing:.08em; }
.match-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; max-width:none; margin:0 0 32px; padding:28px 0; border-bottom:1px solid var(--line); }
.match-facts>div { min-width:0; }
.match-facts dt { color:var(--muted); font-size:12px; margin-bottom:8px; }
.match-facts dd { margin:0; font-size:15px; line-height:1.5; }
.match-sources { display:flex; align-items:center; gap:20px; flex-wrap:wrap; margin:24px 0; }
.match-sources a { min-height:44px; display:inline-flex; align-items:center; font-size:13px; }
.match-judge-tools,.team-judge-tools { padding:24px; background:var(--raised); border:1px solid var(--line); border-radius:5px; margin:28px 0; }
.match-judge-tools h2 { margin-top:0; font-size:18px; }
.match-judge-tools .toolbar>a,.team-judge-tools .toolbar>a { display:inline-flex; align-items:center; min-height:44px; }
.match-judge-tools>p,.team-judge-tools>p { margin-bottom:0; font-size:12px; color:var(--muted); }
.match-rosters,.team-roster,.team-matches { margin-top:52px; }
.roster-block { margin:28px 0 36px; }
.roster-block>h3 { margin-bottom:8px; font-family:var(--display,Unbounded,sans-serif); font-size:18px; }
.roster-block>p { margin:0 0 18px; font-size:13px; }
.roster-table { min-width:640px; }
.roster-table td:nth-child(2) { font-weight:650; color:var(--ink); }
.roster-table td small { display:block; margin-top:4px; font-size:12px; font-weight:400; }

/* Team identity and next match lead; supporting tournament details follow. */
.team-heading { padding-bottom:30px; border-bottom:1px solid var(--line); }
.team-heading h1 { max-width:21ch; }
.team-heading .team-discipline-art { flex-basis:280px; }
.team-status { display:inline-flex; align-items:center; gap:8px; min-height:32px; margin-top:12px; font-size:12px; color:var(--muted); }
.entry-summary { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); gap:36px; margin:38px 0; }
.entry-summary>section { min-width:0; }
.entry-summary h2 { margin:10px 0 22px; font-size:24px; line-height:1.4; }

.entry-summary>section.entry-standing { padding:0 0 0 32px; border:0; border-left:1px solid var(--line); border-radius:0; background:none; outline:0; }
.team-numbers { display:grid; grid-template-columns:1fr 1fr; gap:24px; max-width:none; margin:20px 0; }
.team-numbers>div:last-child { grid-column:1/-1; }
.team-numbers dt { color:var(--muted); font-size:12px; }
.team-numbers dd { margin:8px 0 0; font-family:var(--display,Unbounded,sans-serif); font-size:28px; letter-spacing:-.025em; }
.standing-pending { max-width:32ch; color:var(--muted); font-size:17px; line-height:1.65; }
.entry-shortcuts { display:flex; flex-direction:column; align-items:flex-start; gap:6px; margin-top:24px; font-size:13px; }
.entry-shortcuts a { display:inline-flex; align-items:center; min-height:44px; }

.schedule-context { display:flex; flex-wrap:wrap; justify-content:space-between; gap:16px; padding:18px 0; border-block:1px solid var(--line); color:var(--muted); font-size:13px; }
.schedule-context strong { color:var(--ink); }
.schedule-note { font-size:13px; margin-top:24px; }
.scoreboard-notice { margin:22px 0; }
.scoreboard-explainer { border:0; padding:0; margin:20px 0 30px; }
.scoreboard-explainer summary { min-height:44px; align-content:center; color:var(--ink); font-size:14px; }
.scoreboard-explainer p { max-width:78ch; color:var(--muted); font-size:14px; }
.scoreboard-table th,.scoreboard-table td { padding:20px 16px; }
.scoreboard-table th:first-child,.scoreboard-table td:first-child { width:68px; min-width:56px; text-align:center; }
.scoreboard-table td:nth-child(2)>a { font-size:16px; font-weight:650; color:var(--ink); }
.scoreboard-rank { font-family:var(--display,Unbounded,sans-serif); font-size:18px; color:var(--muted); }
.scoreboard-total { font-family:var(--display,Unbounded,sans-serif); font-size:23px; color:var(--ink); }
.scoreboard-mobile-details { display:none; }
.scoreboard-table td>small { display:block; margin-top:4px; font-size:11px; }

@media(min-width:1500px) { .discipline-work .overview-section .match-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:1000px) {
  .page-heading { gap:24px; }.match-discipline-art { flex-basis:180px; }.team-heading .team-discipline-art { flex-basis:220px; }
  .match-arena { padding-inline:24px; }.match-arena .match-score { gap:20px; grid-template-columns:minmax(0,1fr) minmax(130px,.6fr) minmax(0,1fr); }
  .contender-name { font-size:20px; }.match-total>strong { font-size:46px; }
  .entry-summary { gap:24px; }.entry-summary>section.entry-standing { padding-left:24px; }
}
@media(max-width:767px) {
  .page-heading { align-items:flex-start; gap:18px; margin-bottom:24px; }.page-heading h1 { font-size:clamp(27px,7.4vw,42px); letter-spacing:-.025em; }.page-heading p { font-size:14px; }
  .page-heading:has(.export-link) { display:block; }.export-link { margin-top:12px; font-size:12px; }.back-link { font-size:12px; margin-bottom:12px; }
  .discipline-scene { border-radius:12px; }.discipline-scene .game-scene img { aspect-ratio:700/370; }
  .discipline-identity { margin-top:24px; }.discipline-identity .work-context { display:block; }.discipline-title { margin-top:8px; font-size:clamp(28px,8vw,46px); }.discipline-work .quick-link { font-size:12px; min-height:40px; }
  .discipline-work .discipline-intro { font-size:12px; margin-bottom:16px; }.discipline-work .stage-context { align-items:start; gap:16px; }.discipline-work .stage-context .toolbar.tabs { flex-wrap:nowrap; gap:14px; min-width:0; }.discipline-work .stage-context .toolbar.tabs:last-child { overflow:auto; }.discipline-work .stage-context .tabs a { font-size:12px; white-space:nowrap; flex-shrink:0; min-height:44px; }
  .discipline-work .phase-note { align-items:flex-start; font-size:11px; line-height:1.6; }.phase-note .status-dot { margin-top:5px; }
  .discipline-work .master>.workspace-tabs { justify-content:space-between; gap:18px; margin:20px 0!important; }.discipline-work .master>.workspace-tabs a { padding:12px 0; font-size:13px; }
  .discipline-work .competition-pulse { margin:22px 0 28px; gap:12px; padding:18px 0; }.discipline-work .competition-pulse span { font-size:10px; }.discipline-work .competition-pulse strong { font-size:26px; }.competition-pulse small { font-size:12px; }
  .discipline-work .overview-section { margin:28px 0; }.discipline-work .overview-section .catalog-heading h2 { font-size:19px; }.discipline-work .overview-section .catalog-heading { align-items:start; }
  .discipline-resources { display:block; margin-top:32px; padding-top:20px; }.discipline-resources nav { margin-top:20px; gap:2px; }
  .match-grid { grid-template-columns:1fr; gap:12px; }.match-card,.bracket article.match-card { padding:16px; }.pair-side>div>a { font-size:15px; }.pair-side>strong { font-size:23px; }.card-bottom { display:flex; justify-content:space-between; align-items:center; gap:8px 16px; flex-wrap:wrap; }.card-time { font-size:11px; }.card-bottom .match-open { font-size:12px; margin-top:0; }.card-actions { width:100%; }
  .match-list-table th,.match-list-table td { padding:10px 12px; }.match-list-table td:first-child { padding-bottom:14px; }.match-list-table td:first-child>a { font-size:15px; }.match-list-table td[colspan]::before { content:none; }.match-list-table tr { padding:16px 0; }.match-list-table tr:last-child { border-bottom:0; }.match-list-table td:nth-child(2)>a,.match-list-table td:nth-child(3)>a { font-size:14px; }
  .standings-table { table-layout:fixed; min-width:0; }.standings-table th,.standings-table td { padding:14px 6px; min-width:0; }.standings-table th:first-child,.standings-table td:first-child { width:46px; min-width:0; font-size:14px; }.standings-table th:nth-child(2),.standings-table td:nth-child(2) { width:auto; min-width:0; overflow-wrap:anywhere; }.standings-table th:nth-child(3),.standings-table td:nth-child(3) { width:48px; min-width:0; text-align:center; }.standings-table th:nth-child(4),.standings-table td:nth-child(4) { width:56px; min-width:0; text-align:center; }.standings-table th:nth-child(n+5),.standings-table td:nth-child(n+5) { display:none; }.standings-table td:nth-child(3) { font-size:19px; }.standings-table th { font-size:10px; }.standings-table td:first-child small { font-family:inherit; font-size:10px; }.mobile-row-details { display:block; padding:0; margin:6px 0 0; border:0; }.mobile-row-details summary { font-size:12px; min-height:44px; }.mobile-row-details dl { display:block; margin:8px 0; font-size:12px; }.mobile-row-details dd { margin:3px 0 10px; }
  .match-heading .match-discipline-art { display:none; }.match-heading .match-reference { display:block; margin:6px 0 0; font-size:11px; }.match-arena { padding:20px 16px 0; border-radius:12px; }.match-state { font-size:11px; }.match-arena .match-score { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:24px 18px; padding:26px 0 30px; }.match-total { grid-column:1/-1; grid-row:1; }.match-total>strong { font-size:60px; gap:22px; }.result-label { margin-top:8px; font-size:11px; }.match-contender,.match-contender:last-child { align-items:flex-start; text-align:left; gap:9px; }.contender-name { font-size:clamp(14px,3.9vw,22px); line-height:1.5; }.contender-institution { font-size:11px; }.contender-label { font-size:9px; }.winner-label { font-size:10px; }.match-arena-footer { gap:12px; }.match-arena-footer a { font-size:11px; }.match-arena-footer>span { font-size:8px; }
  .match-facts { grid-template-columns:1fr; gap:20px; padding:24px 0; margin-bottom:24px; }.match-facts>div { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.35fr); gap:16px; }.match-facts dt { font-size:11px; margin:0; }.match-facts dd { font-size:13px; }.match-sources { display:block; }.match-sources .context-label { display:block; }.match-sources a { display:flex; font-size:12px; }
  .match-judge-tools,.team-judge-tools { padding:18px; }.match-judge-tools .toolbar { gap:12px; }.match-judge-tools .toolbar>a { font-size:13px; }.match-rosters,.team-roster,.team-matches { margin-top:36px; }.roster-block>h3 { font-size:16px; }.roster-block>p { font-size:12px; }
  .team-heading { display:block; padding-bottom:24px; }.team-heading .team-discipline-art { width:160px; margin-top:20px; }.team-heading h1 { max-width:none; }.entry-summary { display:block; margin:28px 0; }.entry-summary h2 { font-size:22px; }.entry-summary>section.entry-standing { margin-top:28px; padding:26px 0 0; border:0; border-top:1px solid var(--line); }.team-numbers { grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }.team-numbers>div:last-child { grid-column:auto; }.team-numbers dt { font-size:10px; }.team-numbers dd { font-size:24px; }.standing-pending { font-size:15px; max-width:none; }
  .schedule-context { display:block; font-size:12px; padding:14px 0; }.schedule-context>span { display:block; margin:6px 0; }
  .scoreboard-table { table-layout:fixed; width:100%; }.scoreboard-table th,.scoreboard-table td { min-width:0; padding:16px 8px; }.scoreboard-table th:first-child,.scoreboard-table td:first-child { width:44px; min-width:0; padding-left:3px; font-size:13px; }.scoreboard-table th:nth-child(2),.scoreboard-table td:nth-child(2) { width:auto; overflow-wrap:anywhere; }.scoreboard-table td:nth-child(2)>a { font-size:14px; }.scoreboard-table th:nth-child(3),.scoreboard-table td:nth-child(3) { width:62px; text-align:center; }.scoreboard-total { font-size:20px; }.scoreboard-table th:nth-child(n+4),.scoreboard-table td:nth-child(n+4) { display:none; }.scoreboard-table th { font-size:10px; }.scoreboard-mobile-details { display:block; padding:0; border:0; margin:6px 0 0; font-size:12px; }.scoreboard-mobile-details summary { min-height:44px; font-size:11px; align-content:center; }.scoreboard-mobile-details dl { display:block; margin:8px 0; }.scoreboard-mobile-details dd { margin:3px 0 10px; }.scoreboard-mobile-details>a { display:inline-flex; align-items:center; min-height:44px; }
}
@media(prefers-reduced-motion:reduce) { .match-card { transition:none; } }
html[data-motion=reduce] .match-card { transition:none; }
@media print { .discipline-scene,.match-discipline-art,.team-discipline-art,.match-judge-tools,.team-judge-tools,.export-link { display:none; }.match-arena { break-inside:avoid; }.match-score { color:black; }.discipline-resources { display:none; }.roster-table { min-width:0; } }
