/* Original Tennisin60 bracket styles, preserved from c3e1e07. */
.tennis-bracket-board {
  margin: 0 0 0.85rem;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  overflow-x: hidden;
}

.tennis-bracket-scroll {
  display: flex;
  flex-direction: column;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  overflow-x: hidden;
}

.tennis-bracket-qualifying {
  margin: 1rem 0 0;
  border-top: 1px solid color-mix(in srgb, var(--line) 70%, transparent);
  padding-top: 0.65rem;
}

.tennis-bracket-qualifying__summary {
  cursor: pointer;
  list-style: none;
  color: var(--muted);
  font-family: var(--font-display);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.tennis-bracket-qualifying__summary::-webkit-details-marker {
  display: none;
}

.tennis-bracket-qualifying[open] .tennis-bracket-qualifying__summary {
  margin-bottom: 0.55rem;
  color: var(--ink);
}

.tennis-bracket-board__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.65rem 1rem;
  flex-wrap: wrap;
  margin: 0 0 0.4rem;
}

.tennis-bracket-board__title {
  margin: 0;
  color: var(--muted);
  font-family: var(--font-display);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.tennis-bracket-board__hint {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  margin: 0;
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 600;
  line-height: 1.3;
}

.draw-play--mark {
  width: 14px;
  height: 14px;
  cursor: default;
}

.tennis-bracket-hscroll {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  min-height: 0.95rem;
  margin: 0 0 0.4rem;
}

.tennis-bracket-hscroll__run {
  height: 1px;
  pointer-events: none;
}

.tennis-bracket-pane {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-x pan-y;
  overscroll-behavior-x: contain;
  scrollbar-width: thin;
  scrollbar-color: var(--line) transparent;
}

.tennis-bracket-pane::-webkit-scrollbar {
  height: 8px;
  display: block;
}

@media (max-width: 800px) {
  .tennis-bracket {
    --draw-gap: 0.7rem;
  }
  .tennis-bracket__round {
    flex-basis: 10.25rem;
    min-width: 10.25rem;
  }
  .tennis-bracket__stack {
    min-height: calc(var(--match-count, 1) * 2.95rem);
    grid-template-rows: repeat(var(--match-count, 1), minmax(2.95rem, 1fr));
  }
  .tennis-bracket__name,
  .tennis-bracket__player,
  .tennis-bracket__round-title {
    font-size: 0.78rem;
  }
}

.tennis-bracket {
  --draw-stroke: color-mix(in srgb, var(--link) 78%, var(--ink));
  --draw-width: 2px;
  --draw-gap: 1.4rem;
  display: flex;
  align-items: stretch;
  gap: 0;
  width: max-content;
  min-width: 100%;
  padding: 0 var(--draw-gap) 0.65rem 0;
}

.tennis-bracket__round {
  display: flex;
  flex-direction: column;
  flex: 0 0 14.4rem;
  min-width: 14.4rem;
  padding-right: var(--draw-gap);
}

.tennis-bracket__round-title {
  display: flex;
  flex: 0 0 1.55rem;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.5rem;
  height: 1.55rem;
  margin: 0 0 0.4rem;
  padding-right: 0;
  overflow: hidden;
  color: var(--link);
  font-family: var(--font-display);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  white-space: nowrap;
}

.tennis-bracket__round-title span {
  color: var(--muted);
  font-variant-numeric: tabular-nums;
}

.tennis-bracket__stack {
  display: grid;
  flex: 1 1 auto;
  grid-template-rows: repeat(var(--match-count, 1), minmax(0, 1fr));
  min-height: calc(var(--match-count, 1) * 3.7rem);
}

.tennis-bracket__match {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 0;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}

.tennis-bracket__pair {
  position: relative;
  flex: 1 1 0;
  display: flex;
  flex-direction: column;
  min-height: 0;
}

.tennis-bracket__round.is-feed .tennis-bracket__match.feeds-top {
  justify-content: flex-start;
}

.tennis-bracket__round.is-feed .tennis-bracket__match.feeds-bottom {
  justify-content: flex-end;
}

.tennis-bracket__round.is-feed .tennis-bracket__pair {
  flex: 0 0 50%;
  max-height: 50%;
}

.tennis-bracket__player {
  position: relative;
  flex: 1 1 0;
  min-height: 0;
  margin: 0;
  color: var(--muted);
  font-size: 0.82rem;
  line-height: 1.25;
  font-weight: 500;
}

.tennis-bracket__player::after {
  content: "";
  position: absolute;
  left: 0;
  right: var(--draw-width);
  top: 50%;
  height: var(--draw-width);
  margin-top: calc(var(--draw-width) / -2);
  background: var(--draw-stroke);
}

.tennis-bracket__name {
  position: absolute;
  left: 0.1rem;
  right: 0.4rem;
  bottom: 50%;
  display: flex;
  align-items: center;
  gap: 0.28rem;
  min-width: 0;
  padding: 0 0.12rem 0.14rem 0;
}

.schedule-play-note {
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
  gap: 0.28rem;
}

.schedule-play {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 0.85em;
  height: 1em;
  color: #ff3b30;
}

.schedule-play svg {
  display: block;
  width: 12px;
  height: 12px;
}

.draw-play {
  position: relative;
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: #ff3b30;
  cursor: pointer;
  text-decoration: none;
}
.draw-play[data-tip]:hover::after,
.draw-play[data-tip]:focus-visible::after {
  content: attr(data-tip);
  position: absolute;
  right: calc(100% + 0.4rem);
  bottom: 50%;
  z-index: 20;
  width: max-content;
  max-width: 18rem;
  padding: 0.32rem 0.5rem;
  border-radius: 4px;
  background: #111;
  color: #fff;
  font-size: 0.72rem;
  font-weight: 600;
  line-height: 1.25;
  text-align: left;
  white-space: normal;
  transform: translateY(50%);
  pointer-events: none;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.35);
}
.draw-play[data-tip].is-tip-end:hover::after,
.draw-play[data-tip].is-tip-end:focus-visible::after {
  right: auto;
  left: calc(100% + 0.4rem);
}
a.draw-play {
  color: #ff3b30;
}

.draw-play svg {
  display: block;
  width: 12px;
  height: 12px;
}

.tennis-bracket__score .draw-play {
  pointer-events: auto;
  margin: 0 0.28rem 0 0;
  align-self: center;
}

.tennis-bracket__score:has(.draw-play) {
  align-items: center;
  overflow: visible;
}

.tennis-bracket__score.is-end:has(.draw-play) {
  overflow: visible;
}

.schedule__draw-result.has-highlight {
  display: flex;
  align-items: center;
  gap: 0.35rem;
}

.draw-highlight {
  position: fixed;
  inset: 0;
  width: min(880px, calc(100vw - 1.5rem));
  height: fit-content;
  max-height: calc(100vh - 2rem);
  margin: auto;
  padding: 2rem 0.75rem 0.75rem;
  border: 0;
  border-radius: 12px;
  background: #0b1220;
  color: #f8fafc;
}

.draw-highlight::backdrop {
  background: rgba(2, 6, 23, 0.72);
}

.draw-highlight__close {
  position: absolute;
  top: 0.35rem;
  right: 0.45rem;
  width: 1.6rem;
  height: 1.6rem;
  border: 0;
  border-radius: 999px;
  background: rgba(15, 23, 42, 0.72);
  color: #fff;
  font-size: 1.1rem;
  line-height: 1;
  cursor: pointer;
}

.draw-highlight__video {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  border: 0;
  border-radius: 8px;
  background: #000;
}

.draw-highlight__copy {
  margin: 0.75rem 0.15rem 0.2rem;
  color: #e2e8f0;
  font-size: 1rem;
  line-height: 1.45;
}

.tennis-bracket__name-text {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tennis-bracket__name-link {
  color: inherit;
  text-decoration: none;
}

.tennis-bracket__name-link:hover {
  text-decoration: underline;
}

.tennis-bracket__match.has-end-score .tennis-bracket__name {
  right: 0.12rem;
}

.tennis-bracket__pair::before {
  content: "";
  position: absolute;
  z-index: 2;
  top: calc(25% - (var(--draw-width) / 2));
  right: 0;
  width: var(--draw-width);
  height: calc(50% + var(--draw-width));
  background: var(--draw-stroke);
}

.tennis-bracket__round.is-funnel .tennis-bracket__pair::after,
.tennis-bracket__round.is-feed .tennis-bracket__pair::after {
  content: "";
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 100%;
  width: var(--draw-gap);
  height: var(--draw-width);
  margin-top: calc(var(--draw-width) / -2);
  background: var(--draw-stroke);
}

.tennis-bracket__player.is-winner {
  color: var(--link);
}

.tennis-bracket__player.is-leading {
  color: var(--ink);
}

.tennis-bracket__player.is-leading .tennis-bracket__name-text,
.tennis-bracket__player.is-winner .tennis-bracket__name-text {
  font-weight: 650;
}

.tennis-bracket__player.is-winner.is-leading {
  color: var(--link);
}

.tennis-bracket__player.is-winner::after {
  background: var(--link);
}

.tennis-bracket__match.is-live .tennis-bracket__player::after,
.tennis-bracket__match.is-live .tennis-bracket__pair::before {
  background: rgba(255, 138, 61, 0.9);
}

.tennis-bracket__serve {
  flex: 0 0 auto;
  width: 0.48rem;
  height: 0.48rem;
  margin: 0 0 0.05rem;
  border-radius: 50%;
  background: #ff8a3d;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.35);
}

.tennis-bracket__match.is-live .tennis-bracket__score,
.tennis-bracket__match.is-live .tennis-bracket__meta {
  color: rgba(255, 196, 140, 0.95);
}

.tennis-bracket__round.is-funnel .tennis-bracket__match.is-live .tennis-bracket__pair::after,
.tennis-bracket__round.is-feed .tennis-bracket__match.is-live .tennis-bracket__pair::after {
  background: rgba(255, 138, 61, 0.9);
}

.tennis-bracket__match.is-empty .tennis-bracket__player::after,
.tennis-bracket__match.is-empty .tennis-bracket__pair::before {
  background: color-mix(in srgb, var(--draw-stroke) 42%, transparent);
}

.tennis-bracket__meta {
  position: absolute;
  z-index: 2;
  left: auto;
  right: 0.35rem;
  top: auto;
  bottom: 50%;
  max-width: 44%;
  margin: 0;
  padding: 0 0 0.14rem 0;
  color: var(--muted);
  font-size: 0.68rem;
  line-height: 1.2;
  text-align: right;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  pointer-events: none;
}

.tennis-bracket__score {
  position: absolute;
  z-index: 2;
  left: 50%;
  top: 50%;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: baseline;
  justify-content: center;
  margin: 0;
  padding: 0.12rem 0 0;
  transform: translate(-50%, -50%);
  color: var(--muted);
  font-family: var(--font-display);
  font-size: 0.72rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  line-height: 1.55;
  text-align: center;
  white-space: nowrap;
  pointer-events: none;
}

.tennis-bracket__score.is-end {
  position: static;
  left: auto;
  top: auto;
  flex: 0 0 auto;
  max-width: none;
  margin: 0 0 0 auto;
  padding: 0;
  transform: none;
  color: inherit;
  font-size: 0.62rem;
  font-weight: 700;
  line-height: 1.2;
  text-align: right;
  white-space: nowrap;
  overflow: visible;
}

.tennis-bracket__player.is-winner .tennis-bracket__score.is-end,
.tennis-bracket__player.is-leading .tennis-bracket__score.is-end {
  color: inherit;
}

.tennis-bracket__set-pair {
  font-variant-numeric: tabular-nums;
}

.tennis-bracket__tb {
  margin-left: 0.02rem;
  font-size: 0.58em;
  font-weight: 700;
  line-height: 0;
  vertical-align: super;
}

.tennis-bracket__check {
  display: inline;
  margin-left: 0.28rem;
  color: var(--link);
  font-weight: 700;
}


.featured-draw-grid{grid-template-columns:minmax(0,1fr)}
.featured-draw-panel{padding:0;border:0;border-radius:0;--link:#1d6fbf;--ink:#122033;--muted:#5c6b7a;--font-display:inherit;--sheet:#fff}
.featured-draw-panel+.featured-draw-panel{margin-top:16px}
.featured-draw-panel>h3{font-size:20px}
.featured-draw-scroll{max-height:36rem;overflow-y:auto;overflow-x:hidden;background:#fff;border:1px solid #e2e8ef;border-radius:0.85rem;padding:12px}
.featured-draw-scroll .tennis-bracket-hscroll{position:sticky;top:0;z-index:5;background:#fff}
.featured-draw-scroll .tennis-bracket__match.is-live{background:#fff1e4}
.featured-draw-scroll .tennis-bracket__match.is-live .tennis-bracket__score,.featured-draw-scroll .tennis-bracket__match.is-live .tennis-bracket__meta{color:#a84605}.featured-draw-panel .featured-live{color:#d65e0b}
.legacy-draw-full{max-height:none}


.legacy-draw-archive{--link:#1d6fbf;--ink:#122033;--muted:#5c6b7a;--font-display:inherit;--sheet:#fff}.legacy-qualifying{margin-top:24px}.legacy-qualifying h3{font-size:18px}.legacy-draw-archive .draw-bracket-scroll{background:#fff}.legacy-draw-archive .tennis-bracket__match:target{outline:2px solid #e1a52f;scroll-margin:100px}.draw-bracket-scroll[data-view=list] .tennis-bracket{display:block;min-width:0;width:100%}.draw-bracket-scroll[data-view=list] .tennis-bracket-hscroll{display:none}.draw-bracket-scroll[data-view=list] .tennis-bracket__round{width:auto;margin-bottom:24px}.draw-bracket-scroll[data-view=list] .tennis-bracket__stack{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));grid-template-rows:none;gap:14px;min-height:0}.draw-bracket-scroll[data-view=list] .tennis-bracket__pair{min-height:90px;max-height:none;flex:1}.draw-bracket-scroll[data-view=list] .tennis-bracket__pair:before,.draw-bracket-scroll[data-view=list] .tennis-bracket__pair:after,.draw-bracket-scroll[data-view=list] .tennis-bracket__player:after{display:none}.draw-bracket-scroll[data-view=list] .tennis-bracket__match{border:1px solid var(--line);padding:10px;border-radius:5px}.draw-bracket-scroll[data-view=list] .tennis-bracket__match.is-empty{display:none}

.tennis-bracket__score .draw-play{z-index:4;pointer-events:auto;min-width:18px;min-height:18px;width:18px;height:18px;padding:0}
