.categories-section{position:relative;overflow:hidden}.categories-layout{position:relative;z-index:1}
.sport-decoration{position:absolute;left:35%;bottom:-30px;width:230px;color:white;opacity:.35;pointer-events:none;filter:drop-shadow(0 0 5px var(--blue))}.sport-decoration svg{display:block;width:100%;height:auto}
.line-player path{stroke-dasharray:1;stroke-dashoffset:0}
.sport-decoration[data-motion=animated] path{stroke-dashoffset:1}
.sport-decoration.is-visible[data-motion=animated] path{animation:player-draw 8s ease var(--draw-delay) infinite both!important}
.rally-bar{height:18px;width:min(600px,65%);margin:0 auto -18px;position:relative;z-index:2;border-radius:50px;background:var(--lime);overflow:hidden;pointer-events:none;box-shadow:0 0 18px #079fe233}
.rally-bar span{display:block;width:100%;height:100%;background:var(--blue);transform:scaleX(1);transform-origin:left;border-radius:inherit}
.rally-bar[data-motion=animated] span{transform:scaleX(0)}
.rally-bar.is-visible[data-motion=animated] span{animation:rally-fill 6s cubic-bezier(.2,.6,.3,1) infinite both!important}
.rally-bar span:after{content:'';position:absolute;right:0;top:0;width:25px;height:100%;background:white;box-shadow:0 0 18px 8px var(--blue);border-radius:50%;opacity:.7}
@keyframes player-draw{0%{stroke-dashoffset:1}40%,80%{stroke-dashoffset:0}100%{stroke-dashoffset:1}}
@keyframes rally-fill{0%,100%{transform:scaleX(0)}50%,72%{transform:scaleX(1)}}
@media(max-width:650px){.sport-decoration{left:auto;right:-35px;width:185px;opacity:.22}.rally-bar{height:12px;margin-bottom:-12px;width:72%}}
@media(hover:hover) and (pointer:fine){.bracket-scroll{cursor:grab}.bracket-scroll.is-dragging,.bracket-scroll.is-dragging *{cursor:grabbing!important;user-select:none!important}.bracket-scroll.is-dragging{scroll-behavior:auto}}
.sport-decoration.is-visible[data-motion=animated][data-gentle=true] path{animation-duration:12s!important}.rally-bar.is-visible[data-motion=animated][data-gentle=true] span{animation-duration:10s!important}

.tournament-podium{margin-top:32px;padding:30px 22px 20px;border:1px solid var(--line);border-radius:14px;background:#fff}.podium-heading{text-align:center;margin-bottom:22px}.podium-heading .eyebrow{font-size:9px;color:var(--blue);margin-bottom:6px}.podium-heading h3{font-size:25px}.podium-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:5px;max-width:780px;margin:auto}.podium-place{min-width:0;text-align:center;--medal:#ad7b32}.podium-silver{--medal:#718799}.podium-bronze{--medal:#b5764c}.podium-team{padding:12px 12px 22px;min-height:145px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:10px}.podium-team>svg{width:35px;height:35px;color:var(--medal)}.podium-team h4{font-size:12px;color:var(--medal);margin:0}.podium-team>div{font-size:12px;font-weight:650;line-height:1.7;overflow-wrap:anywhere;max-width:100%}.podium-team .player-pair{align-items:center}.podium-pending{color:#71828e;font-weight:400}.podium-step{display:flex;align-items:center;justify-content:center;height:110px;border-top:3px solid var(--medal);border-radius:8px 8px 0 0;font-size:43px;font-weight:800;color:var(--medal);background:linear-gradient(180deg,color-mix(in srgb,var(--medal) 15%,white),color-mix(in srgb,var(--medal) 3%,white))}.podium-gold .podium-step{height:155px}.podium-bronze .podium-step{height:75px}.podium-note{text-align:center;font-size:11px;color:#71828e;margin-top:18px}@media(max-width:600px){.tournament-podium{padding:24px 10px 16px}.podium-team{padding:10px 5px 16px;gap:7px}.podium-team>div{font-size:10px}.podium-team h4{font-size:10px}.podium-team>svg{width:28px;height:28px}.podium-step{height:80px;font-size:33px}.podium-gold .podium-step{height:115px}.podium-bronze .podium-step{height:55px}.podium-note{font-size:10px}.podium-heading .eyebrow{letter-spacing:1px}}
