.competition-section,.schedule-section,.prizes-section{border-bottom:1px solid var(--line)}
.stage-progress{margin:0 0 2rem;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));border:1px solid var(--line);background:var(--line);gap:1px}
.stage-progress li{position:relative;min-height:125px;padding:1.2rem;background:var(--surface);display:grid;align-content:space-between}
.stage-progress li.active{background:color-mix(in srgb,var(--event-accent) 10%,var(--surface));box-shadow:inset 0 3px var(--event-accent)}
.stage-progress li.completed{opacity:.72}.stage-progress span{color:var(--muted);font:.52rem/1 var(--mono);letter-spacing:.12em}.stage-progress strong{font:1.65rem/1 var(--display);text-transform:uppercase}.stage-progress b{color:var(--event-accent);font:.54rem/1 var(--mono)}
.champion-banner{margin-bottom:2rem;padding:clamp(1.5rem,4vw,3rem);border:1px solid var(--event-accent);background:linear-gradient(120deg,color-mix(in srgb,var(--event-accent) 16%,transparent),transparent);font:clamp(2.6rem,7vw,6rem)/.9 var(--display);text-transform:uppercase}.champion-banner span{display:block;margin-bottom:.8rem;color:var(--event-accent);font:.58rem/1 var(--mono);letter-spacing:.15em}
.finalists-panel{margin-bottom:2rem;padding:1.2rem;border:1px solid var(--line);background:color-mix(in srgb,var(--panel) 92%,transparent)}.finalists-panel>span{display:block;margin-bottom:1rem;color:var(--event-accent);font:.62rem/1 var(--mono);letter-spacing:.16em}.finalists-list{display:flex;flex-wrap:wrap;gap:.55rem}.finalists-list b{padding:.58rem .75rem;border:1px solid var(--line);font:700 .7rem/1 var(--mono);letter-spacing:.06em;text-transform:uppercase}
.stage-board{border:1px solid var(--line);background:rgba(8,11,13,.72)}.group-tabs{display:flex;gap:1px;overflow:auto;background:var(--line);border-bottom:1px solid var(--line)}.group-tabs button{min-width:150px;padding:1rem;border:0;background:var(--surface);color:var(--muted);font:.57rem/1 var(--mono);letter-spacing:.1em;cursor:pointer}.group-tabs button.active{background:var(--event-accent);color:var(--void)}
.competition-table{width:100%;border-collapse:collapse}.competition-table th,.competition-table td{padding:1rem;border-bottom:1px solid var(--line);text-align:left}.competition-table th{color:var(--muted);font:.49rem/1 var(--mono);letter-spacing:.1em}.competition-table td{font:.75rem/1 var(--mono)}.competition-table td.player{font:1.25rem/1 var(--display);text-transform:uppercase}.competition-table td.points{color:var(--event-accent);font:1.4rem/1 var(--display)}.competition-table tr.cut{border-bottom:2px solid var(--event-accent)}.competition-table .zone{color:var(--event-accent);font-size:.48rem}.competition-table .tie{color:var(--coral)}
.event-schedule{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}.event-schedule li{display:grid;grid-template-columns:95px minmax(160px,.7fr) 1fr;gap:1rem;padding:1.15rem 0;border-bottom:1px solid var(--line);align-items:baseline}.event-schedule time{color:var(--event-accent);font:1.35rem/1 var(--display)}.event-schedule strong{text-transform:uppercase;font:1.25rem/1 var(--display)}.event-schedule p{margin:0;color:var(--muted);line-height:1.5}
.event-prizes{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}.event-prizes article{min-height:190px;padding:1.3rem;background:var(--surface);display:flex;flex-direction:column}.event-prizes span{color:var(--event-accent);font:.52rem/1 var(--mono)}.event-prizes h3{margin:1.4rem 0 .7rem;font:1.8rem/1 var(--display);text-transform:uppercase}.event-prizes p{color:var(--muted);line-height:1.5}.event-prizes b{margin-top:auto;color:var(--paper);font:.62rem/1.4 var(--mono)}
@media(max-width:650px){.competition-section,.schedule-section,.prizes-section{padding-left:1rem;padding-right:1rem}.competition-table thead{display:none}.competition-table tr{display:grid;grid-template-columns:42px 1fr auto;align-items:center}.competition-table td{padding:.85rem .55rem}.competition-table td.optional{display:none}.competition-table td.player{font-size:1.05rem}.competition-table td.status{grid-column:2/-1;padding-top:0}.event-schedule li{grid-template-columns:72px 1fr}.event-schedule p{grid-column:2}.stage-progress{grid-template-columns:1fr 1fr}.stage-progress li{min-height:105px}.group-tabs button{flex:1}}

/* Un puesto compartido se dice. Estos tres deciden premios especiales, y
   dar el primero a uno de dos empatados sería inventar un ganador. */
.stat-leader.is-tied { border-color: var(--gold, #d7b23f); }
.stat-leader .tie-note {
  display: block; margin-top: .5rem;
  color: var(--gold, #d7b23f);
  font: .48rem/1.4 var(--mono); letter-spacing: .08em; text-transform: uppercase;
}
