.schedule-root{--bg: #F5F5F5;--spine: #0A1F3F;--spine-light: #1A3F6F;--gold: #C8962E;--gold-light: #E8C468;--pitch: #2D7D46;--text: #1A1A1A;--text-light: #4A4A4A;--meta: #7A7A7A;--rule: #D4D4D4;--card: #FFFFFF;--fs-small: clamp(.7rem, .68rem + .1vw, .8rem);--fs-body: clamp(.875rem, .85rem + .13vw, 1rem);--fs-h4: clamp(1rem, .93rem + .35vw, 1.25rem);--fs-h2: clamp(1.5rem, 1.25rem + 1.25vw, 2.5rem);--fs-jumbo: clamp(2.5rem, 1.75rem + 3.75vw, 5rem);--radius: 2px;--slot-h: 112px;--gap-w: 14px;--sf-w: 14px;--final-w: 144px;--round-label-h: 32px;color-scheme:light}html[data-skin=dim] .schedule-root{--bg: #07110D;--spine: #C8DBD0;--spine-light: #9AB4C0;--gold: #D4B27A;--gold-light: #E4CE9C;--text: #D8DEDA;--text-light: #AAB2AA;--meta: #8A948A;--rule: #2A3830;--card: #142420;--pitch: #6AAA7E;color-scheme:dark}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}.schedule-root{font-family:"Source Serif 4",Georgia,serif;font-size:var(--fs-body);line-height:1.7;color:var(--text);background:var(--bg);min-height:100vh}.schedule-root h1,.schedule-root h2,.schedule-root h3,.schedule-root h4,.schedule-root h5{font-family:Oswald,Impact,sans-serif;font-weight:600;line-height:1.2;text-transform:uppercase;letter-spacing:.02em}.schedule-root .mono{font-family:JetBrains Mono,Courier New,monospace;letter-spacing:.05em}.schedule-root .journal-header{max-width:1200px;margin:0 auto;padding:3rem 1.5rem 1.5rem;position:relative}.schedule-root .masthead-badge{display:inline-block;font-family:Oswald,sans-serif;font-size:var(--fs-small);font-weight:500;letter-spacing:.15em;color:var(--gold);border:1px solid var(--gold);padding:.15rem .75rem;margin-bottom:.75rem}.schedule-root .journal-title{font-size:var(--fs-jumbo);font-weight:700;color:var(--spine);line-height:1;margin-bottom:.25rem;letter-spacing:-.02em}.schedule-root .journal-subtitle{font-family:"Source Serif 4",serif;font-size:var(--fs-small);color:var(--meta);font-style:italic;margin-bottom:1.5rem}.schedule-root .masthead-rule{height:2px;background:linear-gradient(90deg,var(--spine) 0%,var(--gold) 50%,transparent 100%);margin:1rem 0 0;border:none}.schedule-root .page-tabs{max-width:1200px;margin:0 auto;padding:1.25rem 1.5rem 0;display:flex;gap:.5rem;border-bottom:1px solid var(--rule)}.schedule-root .tab-btn{font-family:Oswald,sans-serif;font-size:var(--fs-body);font-weight:500;text-transform:uppercase;letter-spacing:.08em;padding:.5rem 1.5rem;border:1px solid transparent;border-bottom:none;background:transparent;color:var(--meta);cursor:pointer;transition:all .2s;position:relative;bottom:-1px}.schedule-root .tab-btn:hover{color:var(--spine)}.schedule-root .tab-btn.is-active{background:var(--card);border-color:var(--rule);color:var(--spine);border-bottom-color:var(--card)}.schedule-root .page-section{max-width:1200px;margin:0 auto;padding:2rem 1.5rem 3rem}.hidden{display:none!important}.schedule-root .groups-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(255px,1fr));gap:1.25rem}.schedule-root .group-card{background:var(--card);border:1px solid var(--rule)}.schedule-root .group-card-head{display:flex;align-items:center;justify-content:space-between;padding:.6rem 1rem;background:var(--spine);color:var(--card)}html[data-skin=dim] .schedule-root .group-card-head{background:#20382a;color:var(--text)}.schedule-root .group-label{font-family:Oswald,sans-serif;font-size:var(--fs-h4);font-weight:700;letter-spacing:.05em}.schedule-root .group-table{width:100%;border-collapse:collapse;font-size:var(--fs-small);table-layout:auto}.schedule-root .group-table th{font-family:Oswald,sans-serif;font-weight:500;letter-spacing:.08em;color:var(--meta);padding:.3rem;border-bottom:1px solid var(--rule);text-align:center}.schedule-root .group-table th:first-child{text-align:left;padding-left:.6rem}.schedule-root .group-table td{font-family:JetBrains Mono,monospace;padding:.3rem;text-align:center;border-bottom:1px solid color-mix(in srgb,var(--rule) 50%,transparent)}.schedule-root .group-table td:first-child{text-align:left;padding-left:.6rem;font-family:Oswald,sans-serif;font-weight:500;color:var(--spine);letter-spacing:.04em;white-space:nowrap}.schedule-root .group-table tr:last-child td{border-bottom:none}.schedule-root .group-table tr.is-qualified td:first-child{border-left:3px solid var(--pitch)}.schedule-root .group-table tr.is-third td:first-child{border-left:3px solid var(--gold)}.schedule-root .pts-col{font-weight:600;color:var(--spine)}.schedule-root .team-flag-sm{width:18px;height:13px;object-fit:cover;border:1px solid var(--rule);vertical-align:middle;margin-right:.35rem}.schedule-root .group-legend{padding:.4rem 1rem;display:flex;gap:1rem;border-top:1px solid var(--rule)}.schedule-root .legend-item{display:flex;align-items:center;gap:.3rem;font-size:.7rem;color:var(--meta);font-family:Oswald,sans-serif;letter-spacing:.06em}.schedule-root .legend-dot{width:8px;height:8px;border-radius:50%}.schedule-root .legend-dot--q{background:var(--pitch)}.schedule-root .legend-dot--t{background:var(--gold)}.schedule-root .leaderboard-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.schedule-root .leaderboard-card{background:var(--card);border:1px solid var(--rule);min-width:0}.schedule-root .leaderboard-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:.85rem 1rem;border-bottom:1px solid var(--rule)}.schedule-root .leaderboard-title{font-family:Oswald,sans-serif;font-size:var(--fs-h4);color:var(--spine);letter-spacing:.06em}.schedule-root .leaderboard-meta{font-family:JetBrains Mono,monospace;font-size:.68rem;color:var(--meta);letter-spacing:.02em;text-transform:uppercase}.schedule-root .leaderboard-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:var(--fs-small)}.schedule-root .leaderboard-table col.leaderboard-rank-col{width:40px}.schedule-root .leaderboard-table col.leaderboard-player-col{width:auto}.schedule-root .leaderboard-table col.leaderboard-stat-col{width:52px}.schedule-root .leaderboard-table th{font-family:Oswald,sans-serif;font-weight:500;letter-spacing:.08em;color:var(--meta);padding:.38rem .45rem;border-bottom:1px solid var(--rule);text-align:right}.schedule-root .leaderboard-table th:first-child,.schedule-root .leaderboard-table th:nth-child(2){text-align:left}.schedule-root .leaderboard-table td{font-family:JetBrains Mono,monospace;padding:.44rem .45rem;text-align:right;border-bottom:1px solid color-mix(in srgb,var(--rule) 50%,transparent);font-variant-numeric:tabular-nums}.schedule-root .leaderboard-table tr:last-child td{border-bottom:none}.schedule-root .leaderboard-table td:first-child{color:var(--gold);font-weight:700;text-align:left}.schedule-root .leaderboard-player{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:.4rem;text-align:left}.schedule-root .leaderboard-name{min-width:0;white-space:normal;overflow-wrap:anywhere;font-family:Oswald,sans-serif;font-weight:600;color:var(--spine);letter-spacing:.03em;line-height:1.28}.schedule-root .leaderboard-flag{width:18px;height:13px;object-fit:cover;border:1px solid var(--rule);background:var(--bg)}.schedule-root .leaderboard-placeholder{width:18px;height:13px;border:1px dashed color-mix(in srgb,var(--rule) 70%,transparent)}.schedule-root .leaderboard-note{margin-top:1rem;color:var(--meta);font-size:var(--fs-small);font-style:italic;border-top:1px solid var(--rule);padding-top:.8rem}.schedule-root .leaderboard-empty{padding:1.25rem 1rem;color:var(--meta);font-size:var(--fs-small);font-style:italic}.schedule-root .bracket-section{overflow-x:hidden;padding-bottom:1.5rem}.schedule-root .bracket-outer{display:flex;align-items:center;justify-content:stretch;gap:0;width:100%;min-width:0;padding:1.5rem 0}.schedule-root .bracket-half{display:flex;align-items:stretch;flex:1 1 0;min-width:0}.schedule-root .bracket-half--left,.schedule-root .bracket-half--right{flex-direction:row}.schedule-root .bracket-round{display:flex;flex-direction:column;flex:1 1 0;min-width:0}.schedule-root .bracket-round-label{font-family:Oswald,sans-serif;font-size:var(--fs-small);font-weight:600;letter-spacing:.12em;color:var(--meta);text-align:center;height:var(--round-label-h);display:flex;align-items:flex-start;justify-content:center;padding-bottom:.5rem;border-bottom:1px solid var(--rule);margin-bottom:0;white-space:nowrap}.schedule-root .bracket-round-body{display:flex;flex-direction:column;flex:0 0 auto}.schedule-root .match-slot{display:flex;align-items:center;justify-content:center;flex:0 0 auto;min-height:var(--slot-h)}.schedule-root .match-card{width:100%;background:var(--card);border:1px solid var(--rule);padding:.38rem .42rem;transition:border-color .2s,box-shadow .2s;cursor:default;overflow:hidden}.schedule-root .match-card:hover{border-color:var(--gold);box-shadow:0 2px 8px color-mix(in srgb,var(--gold) 20%,transparent)}.schedule-root .match-date{font-family:Oswald,sans-serif;font-size:.65rem;letter-spacing:.1em;color:var(--gold);margin-bottom:.25rem}.schedule-root .match-team{position:relative;display:grid;grid-template-columns:15px minmax(0,1fr);align-items:center;column-gap:.22rem;min-height:24px;padding:.1rem 1.3rem .1rem 0;color:var(--spine)}.schedule-root .match-team-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:Oswald,sans-serif;font-size:.72rem;font-weight:600;letter-spacing:0}.schedule-root .match-flag{display:block;width:15px;height:11px;object-fit:cover;border:1px solid var(--rule);background:var(--bg);align-self:center}.schedule-root .match-flag-placeholder{width:15px;height:11px;border:1px dashed color-mix(in srgb,var(--rule) 70%,transparent);background:color-mix(in srgb,var(--rule) 16%,transparent)}.schedule-root .match-rank{position:absolute;top:50%;right:0;transform:translateY(-50%);display:inline-grid;grid-template-rows:7px 10px;align-items:center;justify-items:center;width:18px;height:18px;overflow:hidden;border:1px solid color-mix(in srgb,var(--gold) 35%,var(--rule));background:color-mix(in srgb,var(--gold) 12%,var(--card));border-radius:3px;line-height:1;box-shadow:inset 0 1px color-mix(in srgb,var(--card) 52%,transparent)}.schedule-root .match-rank-label{display:flex;align-items:center;justify-content:center;width:100%;height:7px;font-family:JetBrains Mono,monospace;font-size:.31rem;font-weight:700;letter-spacing:0;color:color-mix(in srgb,var(--gold) 78%,var(--meta));text-transform:uppercase;border-bottom:1px solid color-mix(in srgb,var(--gold) 22%,transparent)}.schedule-root .match-rank-num{display:flex;align-items:center;justify-content:center;width:100%;height:10px;font-family:JetBrains Mono,monospace;font-size:.55rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--spine)}.schedule-root .match-vs{font-family:JetBrains Mono,monospace;font-size:.65rem;color:var(--meta);padding:.05rem 0}.schedule-root .match-vs--score{color:var(--spine);font-size:.72rem;font-weight:700;letter-spacing:.08em;font-variant-numeric:tabular-nums}.schedule-root .match-penalty-score{color:var(--gold);font-size:.64rem;letter-spacing:.03em;white-space:nowrap}.schedule-root .match-tbd{font-family:"Source Serif 4",serif;font-size:.7rem;color:var(--meta);font-style:italic;text-align:center;padding:.25rem 0}.schedule-root .bracket-gap{flex-shrink:0;width:var(--gap-w);position:relative}.schedule-root .bracket-gap svg{position:absolute;top:0;left:0;overflow:visible}.schedule-root .bracket-final-col{display:flex;flex-direction:column;align-items:center;justify-content:center;width:var(--final-w);gap:.75rem;padding:0 .75rem;flex-shrink:0}.schedule-root .trophy-svg{flex-shrink:0}.schedule-root .final-card{width:100%;background:var(--spine);border:2px solid var(--gold);padding:.75rem;text-align:center}html[data-skin=dim] .schedule-root .final-card{background:#20382a}.schedule-root .final-label{font-family:Oswald,sans-serif;font-size:var(--fs-small);letter-spacing:.15em;color:var(--gold);margin-bottom:.4rem}.schedule-root .final-team{display:grid;grid-template-columns:19px minmax(0,1fr) auto;align-items:center;gap:.35rem;font-family:Oswald,sans-serif;font-size:.85rem;font-weight:600;color:var(--card);padding:.2rem 0;text-align:left}html[data-skin=dim] .schedule-root .final-team{color:var(--text)}.schedule-root .final-vs{font-family:JetBrains Mono,monospace;font-size:.65rem;color:var(--gold-light)}.schedule-root .final-date{font-family:Oswald,sans-serif;font-size:var(--fs-small);letter-spacing:.08em;color:var(--gold);margin-top:.4rem}.schedule-root .sf-to-final{width:var(--sf-w);flex-shrink:0;position:relative}.schedule-root .sf-to-final svg{position:absolute;top:0;left:0;overflow:visible}.schedule-root .bracket-legend{max-width:1200px;margin:0 auto;padding:0 1.5rem 1rem;display:flex;gap:1.5rem;flex-wrap:wrap}.schedule-root .b-legend-item{display:flex;align-items:center;gap:.4rem;font-family:Oswald,sans-serif;font-size:var(--fs-small);color:var(--meta);letter-spacing:.08em}.schedule-root .b-legend-swatch{width:24px;height:3px}.schedule-root+footer,.schedule-root~footer,body>footer{font-family:inherit}@media(max-width:600px){.schedule-root .groups-grid,.schedule-root .leaderboard-layout{grid-template-columns:1fr}.schedule-root .journal-header{padding:2rem 1rem 1rem}.schedule-root .page-section{padding:1.5rem 1rem 2rem}.schedule-root .bracket-outer{flex-direction:column;align-items:stretch;padding:1rem 0;gap:1rem}.schedule-root .bracket-half{width:100%;flex:0 0 auto;flex-direction:column;gap:1rem}.schedule-root .bracket-round{width:100%;flex:0 0 auto;min-width:0;height:auto!important}.schedule-root .bracket-round-label{justify-content:flex-start;padding-bottom:.35rem}.schedule-root .bracket-round-body{height:auto!important;gap:.5rem}.schedule-root .match-slot{height:auto!important;min-height:0!important}.schedule-root .match-card{padding:.45rem .55rem}.schedule-root .match-team{grid-template-columns:18px minmax(4.3em,1fr);gap:.3rem}.schedule-root .match-flag,.schedule-root .match-flag-placeholder{width:18px;height:13px}.schedule-root .bracket-gap,.schedule-root .sf-to-final{display:none}.schedule-root .bracket-final-col{width:100%;height:auto!important;padding:.75rem 0!important;gap:.5rem}.schedule-root .trophy-svg{width:54px;height:74px}.schedule-root .final-card{width:min(100%,230px)}}
