.tennis-detail-back{margin:0 0 18px}.tennis-detail-back a{color:#176b45;font-weight:750}
.tournament-navigator{display:grid;grid-template-columns:auto minmax(0,1fr);gap:18px;align-items:center;margin:0 0 18px}.tournament-nav-all{color:#176b45;font-weight:800;text-decoration:none;white-space:nowrap}.tournament-nav-controls{display:grid;grid-template-columns:auto minmax(220px,380px) auto;gap:8px;align-items:center;justify-content:end}.tournament-nav-step{display:flex;min-height:42px;align-items:center;justify-content:center;gap:7px;padding:0 13px;border:1px solid #d7ded7;border-radius:12px;background:white;color:#176b45;font-size:13px;font-weight:800;text-decoration:none;white-space:nowrap}.tournament-nav-step:hover{border-color:#176b45;background:#f3f8f2}.tournament-nav-step.is-disabled{color:#9aa49d;background:#f2f4f1;cursor:not-allowed}.tournament-nav-select{position:relative;display:block;min-width:0}.tournament-nav-select:after{content:'⌄';position:absolute;top:46%;right:18px;transform:translateY(-50%);color:#18281f;font-size:18px;font-weight:900;line-height:1;pointer-events:none}.tournament-nav-select select{width:100%;min-width:0;height:42px;padding:0 50px 0 12px;border:1px solid #d7ded7;border-radius:12px;appearance:none;background:white;color:#18281f;font:inherit;font-size:13px;font-weight:700}.tournament-navigator a:focus-visible,.tournament-nav-select select:focus-visible{outline:3px solid #176b45;outline-offset:3px}.tennis-section:has(.tournament-navigator){padding-top:10px}
.event-detail-hero{position:relative;min-height:500px;overflow:hidden;border-radius:18px;background:#10251f;color:white;isolation:isolate}
.event-detail-hero>.event-detail-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.event-detail-hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(5,22,18,.95),rgba(5,22,18,.66) 45%,rgba(5,22,18,.08) 78%),linear-gradient(0deg,rgba(5,22,18,.55),transparent 55%)}
.event-detail-copy{position:relative;z-index:1;display:flex;min-height:500px;flex-direction:column;align-items:flex-start;justify-content:center;padding:50px;text-shadow:0 2px 18px #0005}
.event-detail-location{margin:0;color:#dff27d;font-size:14px;font-weight:850}.event-detail-copy h1{max-width:620px;margin:24px 0 0;color:white;font-size:clamp(38px,5vw,72px);line-height:.94;letter-spacing:-.055em}.event-detail-meta{display:flex;flex-wrap:wrap;gap:6px 13px;margin:14px 0 0;color:#ffffffd6;font-size:12px;font-weight:650}.event-detail-meta span+span{position:relative}.event-detail-meta span+span:before{content:"";position:absolute;left:-7px;top:50%;width:3px;height:3px;border-radius:50%;background:currentColor;transform:translateY(-50%);opacity:.55}.event-detail-status{display:inline-flex;align-items:center;gap:11px;width:max-content;max-width:100%;margin-top:40px;padding:10px 13px;border:1px solid #ffffff30;border-radius:14px;background:#071d18d9;color:white;font-size:12px;font-weight:850;box-shadow:0 18px 38px #0004;backdrop-filter:blur(14px)}.event-detail-status-upcoming i{width:11px;height:11px;border:3px solid currentColor;border-radius:50%;box-shadow:0 0 0 5px #ffffff20}
.event-detail-honours.champion-pair{position:static;display:flex;width:max-content;max-width:100%;align-items:center;gap:11px;margin:40px 0 0;padding:8px 10px;border:1px solid #ffffff30;border-radius:16px;background:#071d18d9;box-shadow:0 18px 38px #0004;backdrop-filter:blur(14px)}
.event-detail-honours.champion-identity{border-top-color:#ffffff30}.event-detail-honours .champion-half{display:grid;grid-template-columns:58px minmax(0,max-content);grid-template-rows:auto auto;align-items:center;min-width:0;column-gap:11px;text-align:left}.event-detail-honours .champion-art{grid-row:1/3;width:58px;height:58px;margin:0}.event-detail-honours .champion-art img,.event-detail-honours .champion-art img.champion-trophy,.event-detail-honours .champion-art svg{width:58px;height:58px;object-fit:contain}.event-detail-honours .champion-person{max-width:410px}.event-detail-honours .champion-person .champion-art{overflow:hidden;border:0;border-radius:12px;box-shadow:none}.event-detail-honours .champion-person .champion-art img{object-fit:cover;border:0;border-radius:12px}.event-detail-honours .tennis-meta{align-self:end;color:#ffffffb8;font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.event-detail-honours strong{align-self:start;min-width:0;max-width:300px;margin:3px 0 0;color:white;font-size:14px;line-height:1.1;overflow-wrap:anywhere;text-wrap:balance}.event-detail-honours .champion-trophy-only{display:grid;grid-template-columns:1fr;flex:0 0 auto;place-items:center;padding-left:11px;border-left:1px solid #ffffff2e}.event-detail-honours .champion-trophy-only .champion-art{grid-row:auto;filter:drop-shadow(0 6px 6px #0005)}
.public-bracket{margin:26px 0}.public-draw-tools{display:grid;grid-template-columns:minmax(260px,1fr) 220px;gap:12px;align-items:end;margin:18px 0 14px}.public-draw-search,.public-draw-section{position:relative;display:grid;gap:6px;color:#667169;font-size:11px;font-weight:800}.public-draw-search>div:first-of-type{position:relative}.public-draw-search input,.public-draw-section select{width:100%;min-height:42px;border:1px solid #dce2d8;border-radius:12px;background:white;color:#18281f;font:inherit;font-size:13px;font-weight:700}.public-draw-search input{padding:0 42px 0 13px}.public-draw-section select{padding:0 36px 0 13px}.public-draw-search input:focus,.public-draw-section select:focus{border-color:#176b45;outline:3px solid #176b451f}.public-draw-search [data-public-draw-clear]{position:absolute;top:50%;right:8px;width:28px;height:28px;transform:translateY(-50%);border:0;border-radius:50%;background:#edf1ed;color:#18281f;font-size:18px}.public-draw-results{position:absolute;z-index:40;top:calc(100% + 5px);left:0;right:0;overflow:hidden;border:1px solid #dce2d8;border-radius:12px;background:white;box-shadow:0 12px 28px #18231d24}.public-draw-results button{display:flex;align-items:center;gap:9px;width:100%;min-height:40px;padding:7px 11px;border:0;border-bottom:1px solid #edf0ec;background:white;color:#18281f;text-align:left}.public-draw-results button:last-child{border-bottom:0}.public-draw-results img{width:18px;height:14px;object-fit:cover}
.public-bracket .bracket-controls{position:sticky;top:0;z-index:8;display:grid;grid-template-columns:52px 1fr 52px;height:48px;margin:0;border:1px solid #dce2d8;border-bottom:0;border-radius:18px 18px 0 0;background:#f7f9f4}.public-bracket .bracket-controls button{display:grid;place-items:center;border:0;border-radius:0;background:#176b45;color:white;padding:0;font-size:30px;font-weight:900}.public-bracket .bracket-controls button:first-child{border-radius:17px 0 0}.public-bracket .bracket-controls button:last-child{border-radius:0 17px 0 0}.public-bracket .bracket-controls button:disabled{background:#e2e7e1;color:#879189}.public-bracket .bracket-controls span{display:grid;place-items:center;color:#18281f;font-size:12px;font-weight:850}.public-bracket .bracket-scroll{overflow-x:auto;overflow-y:hidden;border:1px solid #dce2d8;border-radius:0 0 18px 18px;background:linear-gradient(90deg,#fbfcf8,#f5f7f2)}.public-bracket .bracket-stage{position:relative}.public-bracket .draw-round{position:absolute;top:0;height:100%}.public-bracket .draw-round h3{height:48px;margin:0;padding:17px 8px 0;color:#18281f;font-size:13px;font-weight:900}.public-bracket .draw-match{position:absolute;display:grid;width:240px;height:56px;margin:0;padding:0;overflow:hidden;border:1px solid #cfd6d0;border-radius:8px;background:white;box-shadow:0 2px 6px #18231d0a}.public-bracket .draw-match.search-path{border:2px solid #2f6fb3;box-shadow:0 4px 12px #2f6fb31f}.public-bracket .draw-match.future-path{border-style:dashed;background:#f7faff}
.public-bracket .draw-player{display:grid;grid-template-columns:18px 20px minmax(0,1fr) max-content;gap:4px;align-items:center;min-height:27px;padding:3px 6px;border-top:1px solid #edf0ec;color:#18281f;font-size:10px}.public-bracket .draw-player:first-child{border-top:0}.public-bracket .draw-player.winner{border-radius:0;background:#e8f4eb;color:#176b45}.public-bracket .draw-player.search-player{background:#eaf3ff;color:#174f8b}.public-bracket .draw-country{display:grid;width:18px;height:18px;place-items:center}.public-bracket .draw-country img{width:18px;height:14px;object-fit:cover}.public-bracket .draw-portrait,.public-bracket .draw-portrait img,.public-bracket .draw-portrait-placeholder{display:block;width:20px;height:20px}.public-bracket .draw-portrait img{object-fit:cover;border-radius:50%;background:#f7f8f7}.public-bracket .draw-portrait-placeholder{position:relative;overflow:hidden;border:1px solid #cfd5d2;border-radius:50%;background:#f7f8f7}.public-bracket .draw-portrait-placeholder:before,.public-bracket .draw-portrait-placeholder:after{content:"";position:absolute;left:50%;background:#b4bcb8;transform:translateX(-50%)}.public-bracket .draw-portrait-placeholder:before{top:2px;width:7px;height:10px;border-radius:45%}.public-bracket .draw-portrait-placeholder:after{bottom:0;width:15px;height:7px;border-radius:9px 9px 4px 4px}.public-bracket .draw-name{min-width:0;overflow:hidden;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.public-bracket .winner .draw-name{font-weight:850}.public-bracket .draw-name small{font-size:8px}.public-bracket .draw-result{display:grid;justify-items:end;min-width:0;color:#667169;font-size:9px;font-weight:750;line-height:.9;white-space:nowrap}.public-bracket .draw-sets{display:grid;grid-auto-flow:column;grid-auto-columns:11px;justify-content:end;gap:4px}.public-bracket .draw-sets>span{position:relative;width:11px;text-align:center}.public-bracket .draw-sets sup{position:absolute;top:-.08em;left:calc(50% + 4px);font-size:6px}.public-bracket .bye{grid-template-columns:38px minmax(0,1fr)}.public-bracket .bye .draw-name{grid-column:2}.public-bracket .unresolved{min-height:27px}.public-bracket .muted-path{opacity:.1}.public-bracket .bracket-lines path{fill:none;stroke:#aebbb1;stroke-width:1.25;opacity:.56;vector-effect:non-scaling-stroke}.public-bracket .bracket-lines path.search-route{stroke:#2f6fb3;stroke-width:2.3;opacity:.95}.public-bracket .bracket-lines path.future-route{stroke-dasharray:5 4;opacity:.55}
@media(max-width:700px){.event-detail-hero{display:grid;grid-template-rows:260px auto;min-height:0;background:#eef2ec;color:var(--ink)}.event-detail-hero>.event-detail-image{position:relative;inset:auto;z-index:0;height:260px;object-fit:cover;object-position:center}.event-detail-hero:after{display:none}.event-detail-copy{display:flex;min-height:0;flex-direction:column;align-items:stretch;justify-content:flex-start;padding:20px 18px 18px;border-top:5px solid var(--green);background:#fffefa;text-shadow:none}.event-detail-copy h1{order:1;margin:7px 0 0;color:var(--ink);font-size:40px}.event-detail-location{order:0;color:var(--green);font-size:14px}.event-detail-meta{order:2;margin:8px 0 0;color:var(--muted);font-size:12px}.event-detail-status{order:3;width:100%;margin-top:20px;padding:12px 0 0;border:0;border-top:1px solid var(--line);border-radius:0;background:transparent;color:var(--ink);box-shadow:none;backdrop-filter:none}.event-detail-status-upcoming i{color:var(--green);box-shadow:0 0 0 5px #176b4514}.event-detail-honours.champion-pair{order:3;width:100%;max-width:none;gap:10px;margin:20px 0 0;padding:12px 0 0;border:0;border-top:1px solid var(--line);border-radius:0;background:transparent;color:var(--ink);box-shadow:none;backdrop-filter:none}.event-detail-honours .champion-half{grid-template-columns:52px minmax(0,1fr);column-gap:10px}.event-detail-honours .champion-art,.event-detail-honours .champion-art img,.event-detail-honours .champion-art img.champion-trophy,.event-detail-honours .champion-art svg{width:52px;height:52px}.event-detail-honours .champion-person{flex:1 1 auto;max-width:none}.event-detail-honours .champion-person .champion-art{border-color:var(--line);box-shadow:none}.event-detail-honours .tennis-meta{color:var(--green)}.event-detail-honours strong{max-width:none;color:var(--ink);font-size:14px}.event-detail-honours .champion-trophy-only{padding-left:10px;border-left-color:var(--line)}.public-draw-tools{grid-template-columns:1fr;gap:10px}.public-draw-results{position:static;margin-top:5px}.public-bracket .bracket-controls{position:relative}.public-bracket .draw-round h3{font-size:10px}.tennis-section{overflow-x:clip}}
@media(max-width:700px){.tournament-navigator{grid-template-columns:1fr;gap:12px}.tournament-nav-controls{grid-template-columns:42px minmax(0,1fr) 42px}.tournament-nav-step{min-width:42px;padding:0;font-size:18px}.tournament-nav-step span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.tournament-nav-select select{height:44px}.tournament-nav-all{width:max-content}}
.public-bracket .bracket-stage .draw-player .draw-result{max-width:none;font-size:9px;text-align:initial;white-space:nowrap}

@media(max-width:700px){.event-detail-hero>.event-detail-image{object-position:80% center}}

/* Exact Passing Shot draw component styles. */
.draw-search-field input::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none;display:none}
.draw-browse-tools{display:grid;grid-template-columns:minmax(260px,1fr) 220px;gap:12px;align-items:end;margin:14px 0}.draw-player-search,.draw-section-select{position:relative;display:grid;gap:6px;min-width:0;color:var(--muted);font-size:11px;font-weight:800}.draw-search-field{position:relative}.draw-search-field input,.draw-section-select select{width:100%;min-height:42px;border:1px solid var(--line);border-radius:12px;background:white;color:var(--ink);font:inherit;font-size:13px;font-weight:700}.draw-search-field input{padding:0 42px 0 13px}.draw-section-select select{padding:0 36px 0 13px}.draw-search-field input:focus,.draw-section-select select:focus{border-color:var(--green);outline:3px solid rgba(23,107,69,.12)}.draw-search-clear{position:absolute;top:50%;right:8px;width:28px;height:28px;transform:translateY(-50%);border:0;border-radius:50%;background:#edf1ed;color:var(--ink);font-size:18px;line-height:1}.draw-search-results{position:absolute;z-index:14;top:calc(100% + 5px);left:0;right:0;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:white;box-shadow:0 12px 28px rgba(24,35,29,.14)}.draw-search-results button{display:flex;align-items:center;gap:9px;width:100%;min-height:40px;padding:7px 11px;border:0;border-bottom:1px solid #edf0ec;background:white;color:var(--ink);text-align:left;font-size:13px;font-weight:750}.draw-search-results button:last-child{border-bottom:0}.draw-search-results button:hover,.draw-search-results button:focus-visible{background:#eef5ea;outline:0}.draw-search-results .country-flag img{width:18px;height:14px}
.draw-sticky-head{position:sticky;top:0;z-index:8;display:grid;grid-template-columns:52px minmax(0,1fr) 52px;width:100%;height:48px;overflow:hidden;border:1px solid var(--line);border-bottom:0;border-radius:20px 20px 0 0;background:rgba(247,249,244,.96);box-shadow:0 4px 12px rgba(24,35,29,.04);backdrop-filter:blur(10px)}.draw-heading-scroll{min-width:0;overflow:hidden}.draw-window-arrow{position:relative;z-index:2;border:0;border-radius:0;background:var(--green);color:white;font-size:30px;font-weight:900;line-height:1}.draw-window-arrow:not(:disabled):hover{background:#0d4f32}.draw-window-arrow:focus-visible{outline:3px solid var(--lime);outline-offset:-4px}.draw-window-arrow:disabled{background:#e2e7e1;color:#879189}.draw-viewport{overflow-x:auto;overflow-y:hidden;border:1px solid var(--line);border-radius:0 0 20px 20px;background:linear-gradient(90deg,#fbfcf8,#f5f7f2);scroll-snap-type:x proximity;scrollbar-color:#aeb8af transparent}.bracket-stage{position:relative;width:var(--stage-width,800px);height:var(--stage-height,930px)}.bracket-headings{position:relative;width:var(--stage-width,800px);height:48px;background:rgba(247,249,244,.95);border-bottom:1px solid var(--line)}.bracket-heading{position:absolute;left:var(--x);top:0;display:flex;align-items:center;justify-content:flex-start;width:min(240px,calc(var(--column-width,200px) - 20px));height:48px;padding:0 8px;color:var(--ink);font-size:13px;font-weight:900;text-align:left;scroll-snap-align:start}.bracket-heading.is-quarterfinal{justify-content:flex-start;gap:.28em}.bracket-lines{position:absolute;inset:0;width:var(--stage-width,800px);height:var(--stage-height,930px);pointer-events:none}.bracket-lines path{fill:none;stroke:#aebbb1;stroke-width:1.25;opacity:.56;vector-effect:non-scaling-stroke;transition:opacity .2s ease}.bracket-lines path.search-route{stroke:#2f6fb3;stroke-width:2.3;opacity:.95}.bracket-lines path.search-route.future-route{stroke-dasharray:5 4;opacity:.55}
.bracket-card{position:absolute;left:var(--x);top:var(--layout-top,calc(var(--y) - 28px));z-index:2;width:min(240px,calc(var(--column-width,200px) - 20px));min-height:56px;overflow:hidden;border:1px solid #cfd6d0;border-radius:8px;background:white;box-shadow:0 2px 6px rgba(24,35,29,.04);transition:opacity .2s ease}.bracket-card.search-path{border:2px solid #2f6fb3;box-shadow:0 4px 12px rgba(47,111,179,.12)}.bracket-card.search-path-future{border-style:dashed;background:#f7faff}.bracket-player{position:relative;display:grid;grid-template-columns:18px 20px minmax(0,1fr) max-content;gap:4px;align-items:center;min-height:27px;padding:3px 6px;border-top:1px solid #edf0ec;font-size:10px}.bracket-player:first-child{border-top:0}.bracket-bye-player{display:grid;grid-template-columns:18px 20px minmax(0,1fr) max-content}.bracket-bye-player .bracket-name{grid-column:3}.bracket-unresolved-player{min-height:27px}.bracket-name{display:flex;min-width:0;overflow:hidden;gap:.3em;align-items:baseline;color:var(--ink);font-weight:600;white-space:nowrap}.bracket-initial{flex:0 0 auto}.bracket-surname{min-width:0}.bracket-designation{flex:0 0 auto}.bracket-name.drop-initial .bracket-initial{display:none}.bracket-name.wrap-designation{display:grid;grid-template-columns:minmax(0,1fr);gap:0;line-height:1;white-space:normal}.bracket-name.wrap-designation .bracket-designation{grid-row:2;font-size:8px}.bracket-name.truncate-surname .bracket-surname{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bracket-portrait-placeholder{position:relative;display:block;width:20px;height:20px;overflow:hidden;border:1px solid #cfd5d2;border-radius:50%;background:#f7f8f7}.bracket-portrait-placeholder:before,.bracket-portrait-placeholder:after{content:"";position:absolute;left:50%;background:#b4bcb8;transform:translateX(-50%)}.bracket-portrait-placeholder:after{bottom:0;width:15px;height:7px;border-radius:9px 9px 4px 4px}.bracket-portrait-placeholder.male:before{top:2px;width:6px;height:10px;border-radius:45% 45% 38% 38%}.bracket-portrait-placeholder.female:before{top:2px;width:10px;height:11px;clip-path:polygon(30% 0,70% 0,88% 18%,100% 78%,72% 70%,68% 100%,32% 100%,28% 70%,0 78%,12% 18%)}.bracket-player.search-player{background:#eaf3ff}.bracket-player.winner{background:#e8f4eb}.bracket-player.winner .bracket-name{color:#0d4f32;font-weight:850}.bracket-player.winner.search-player{background:#eaf3ff}.bracket-player.winner.search-player .bracket-name{color:#174f8b}.bracket-country,.bracket-result{color:var(--muted);font-size:9px}.bracket-country{display:grid;place-items:center;align-self:center;width:18px;min-width:18px;height:18px}.bracket-country .country-flag{display:grid;place-items:center}.bracket-country .country-flag img{width:18px;height:14px}.bracket-country.is-empty{color:#aeb6af}.bracket-result{display:grid;justify-items:end;min-width:0;font-weight:750;line-height:.9;white-space:nowrap}.bracket-result small{margin-top:2px;font-size:7px;font-weight:900}.bracket-sets{display:grid;grid-auto-flow:column;grid-auto-columns:11px;justify-content:end;gap:4px}.bracket-sets>span{position:relative;width:11px;text-align:center}.bracket-sets sup{position:absolute;top:-.08em;left:calc(50% + 4px);font-size:6px;font-weight:850;line-height:1}.player-portrait{display:block;object-fit:cover;object-position:center;border:1px solid #d8ddd8;background:#e9eee9}.player-portrait.portrait-20{width:20px;height:20px;border-radius:6px}.muted-path{opacity:.1!important}.draw-footnote{margin:10px 2px 0;color:var(--muted);font-size:11px}.draw-scroll-preserver{width:1px;pointer-events:none}@media(min-width:700px){.windowed-headings,.windowed-bracket{margin-inline:auto}}
@media(max-width:779px){.draw-sticky-head{top:0;z-index:30;display:block;background:#f7f9f4;backdrop-filter:none}.draw-browse-tools{grid-template-columns:1fr;gap:10px}.draw-search-results{position:static;margin-top:5px}.draw-heading-scroll{width:100%;height:100%}.draw-window-arrow{position:absolute;top:0;bottom:0;z-index:3;width:44px}.draw-window-arrow:first-child{left:0}.draw-window-arrow:last-child{right:0}.bracket-headings{background:#f7f9f4}.bracket-heading{left:calc(var(--x) + 6px);justify-content:flex-start;width:188px;padding:0 6px;font-size:10px;line-height:1.05;text-align:left}.bracket-heading:first-child{padding-left:44px}}
