.masters-event-nav { display: flex; flex-wrap: wrap; gap: 9px; margin: 0 0 54px; }
.masters-event-nav a { display: inline-flex; align-items: center; min-height: 44px; padding: 10px 16px; border: 1px solid #785337; border-radius: 3px; background: #211316; color: #efd3a7; font: 800 .78rem/1.2 var(--font-display); letter-spacing: .075em; text-decoration: none; text-transform: uppercase; }
.masters-event-nav a:hover, .masters-event-nav a:focus-visible { border-color: #e7bb76; color: #fff3db; }
.masters-bracket, .masters-teams { scroll-margin-top: 34px; }
.masters-event-heading { max-width: 850px; margin-bottom: 27px; }
.masters-event-heading h2 { margin: 8px 0 13px; color: #fff0d4; font: 800 clamp(2.5rem, 5.3vw, 4.8rem)/.95 var(--font-display); letter-spacing: -.025em; }
.masters-event-heading p { max-width: 760px; margin: 0; color: #dcc9b4; font-size: clamp(1rem, 1.5vw, 1.15rem); line-height: 1.55; }
.masters-bracket__content { padding: clamp(20px, 3vw, 35px); border: 1px solid #a57542; background-image: linear-gradient(135deg, rgba(23, 11, 14, .95), rgba(18, 10, 12, .96)), var(--brocade); background-size: auto, 600px 600px; box-shadow: inset 0 0 0 5px rgba(8, 4, 6, .4), 0 22px 45px rgba(0, 0, 0, .2); }
.masters-bracket__map { position: relative; isolation: isolate; display: grid; grid-template-columns: minmax(0, 2.12fr) minmax(0, 1fr); grid-template-areas: "upper decision" "drops decision" "lower decision"; align-items: stretch; gap: 16px 48px; }
.masters-bracket__connectors { position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; }
.masters-bracket__connectors > path { fill: none; stroke: #e2b976; stroke-width: 2; stroke-linejoin: round; marker-end: url(#masters-bracket-arrow); }
.masters-bracket__lane, .masters-bracket__decision { position: relative; z-index: 1; min-width: 0; padding: clamp(13px, 1.6vw, 19px); border: 1px solid rgba(213, 168, 106, .39); background: rgba(21, 12, 15, .66); }
.masters-bracket__lane--upper { grid-area: upper; --lane-accent: #e2b976; }
.masters-bracket__lane--lower { grid-area: lower; --lane-accent: #e2b976; }
.masters-bracket__decision { grid-area: decision; --lane-accent: #f0c884; display: flex; flex-direction: column; justify-content: center; align-self: center; border-color: #b88b52; background: linear-gradient(160deg, rgba(61, 31, 30, .94), rgba(28, 15, 17, .9)); }
.masters-bracket__lane-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 3px 12px; margin: 0 0 13px; padding: 0 0 9px; border-bottom: 1px solid rgba(229, 181, 119, .27); }
.masters-bracket__lane-head h3 { margin: 0; color: var(--lane-accent); font: 800 .94rem/1.2 var(--font-display); letter-spacing: .11em; text-transform: uppercase; }
.masters-bracket__lane-head span { color: #c9ae8f; font: 800 .68rem/1.2 var(--font-display); letter-spacing: .06em; white-space: nowrap; }
.masters-bracket__track { display: grid; grid-template-columns: minmax(0, 1fr) 30px minmax(0, 1fr); align-items: center; gap: 4px; }
.masters-bracket__stage { display: grid; gap: 12px; min-width: 0; }
.masters-bracket__advance { color: #e2b976; font: 700 2.1rem/1 Georgia, serif; text-align: center; }
.masters-bracket__drops { grid-area: drops; display: flex; flex-wrap: wrap; align-items: center; gap: 5px 12px; padding: 9px 12px; border-left: 3px dashed #d57476; background: rgba(68, 30, 35, .48); color: #e7c2b6; font-size: .84rem; line-height: 1.4; }
.masters-bracket__drops strong { color: #f4b1aa; font: 800 .72rem/1.2 var(--font-display); letter-spacing: .075em; text-transform: uppercase; }
.masters-match { min-width: 0; padding: 18px 18px 17px; border: 1px solid #8d6843; border-top: 4px solid var(--match-accent, #d9aa67); border-radius: 4px; background: rgba(47, 26, 29, .93); }
.masters-match__top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 7px 12px; }
.masters-match__id { margin: 0; color: #fff0d4; font: 800 1.18rem/1.2 var(--font-display); }
.masters-match__series { padding: 3px 8px; border-radius: 3px; background: #5a3a2b; color: #ffe3ad; font: 800 .76rem/1.1 var(--font-display); white-space: nowrap; }
.masters-match__label { margin: 6px 0 15px; color: var(--match-accent, #e2b976); font: 800 .72rem/1.2 var(--font-display); letter-spacing: .09em; text-transform: uppercase; }
.masters-match__participants { display: grid; gap: 4px; margin: 0; padding: 0; list-style: none; }
.masters-match__participants li { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-width: 0; min-height: 44px; padding: 7px 9px 7px 10px; border: 1px solid rgba(234, 198, 149, .14); background: rgba(13, 8, 10, .37); color: #fff0d6; font: 700 clamp(.96rem, 1.3vw, 1.08rem)/1.25 Georgia, serif; overflow-wrap: anywhere; }
.masters-match__participants li[data-team] { border-left: 4px solid var(--participant-accent, #e4bd84); }
.masters-match__participants li[data-winner] { border-color: rgba(236, 199, 136, .58); background: rgba(109, 71, 43, .28); }
.masters-match__team-name { min-width: 0; }
.masters-match__score { display: grid; flex: none; place-items: center; width: 29px; height: 29px; border: 1px solid rgba(225, 185, 118, .35); border-radius: 3px; background: rgba(24, 13, 15, .8); color: #f6dfb6; font: 800 .92rem/1 var(--font-display); }
.masters-match__participants li[data-winner] .masters-match__score { border-color: #eac282; background: #a9773c; color: #170e10; }
.masters-match__status { min-height: 18px; margin: 10px 0 0; color: #bfa995; font: 800 .71rem/1.35 var(--font-display); letter-spacing: .035em; }
.masters-match__status[data-complete] { color: #f0cb87; }
.masters-match__evidence { margin: 8px 0 0; border-top: 1px solid rgba(225, 185, 118, .23); }
.masters-match__evidence summary { display: flex; align-items: center; min-height: 44px; color: #f4d59d; font: 800 .76rem/1.3 var(--font-display); cursor: pointer; }
.masters-match__evidence summary:hover { color: #fff1d8; }
.masters-match__evidence summary:focus-visible { outline: 3px solid #ffe2a7; outline-offset: 2px; }
.masters-match__evidence ol { display: grid; gap: 5px; margin: 0 0 4px; padding: 0; list-style: none; }
.masters-match__evidence a { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 3px 10px; min-height: 44px; padding: 8px; border: 1px solid rgba(225, 185, 118, .22); color: #ead3b6; font: 700 .78rem/1.3 var(--font-display); text-decoration: none; }
.masters-match__evidence a:hover, .masters-match__evidence a:focus-visible { border-color: #eac282; color: #fff3da; }
.masters-match__substitution { display: block; margin: 5px 2px 7px; color: #d9c0a2; font-size: .76rem; line-height: 1.4; }
.masters-match__schedule { margin: 15px 0 0; color: #d9c0a2; font-size: .88rem; line-height: 1.4; }
.masters-match__route { margin: 11px 0 0; color: #f0d1a6; font-size: .85rem; line-height: 1.35; }
.masters-match--final { border-color: #c89a58; background: linear-gradient(155deg, rgba(70, 37, 34, .96), rgba(37, 19, 22, .96)); }
.masters-bracket__note { display: flex; flex-wrap: wrap; gap: 12px 28px; margin: 23px 0 0; padding-top: 17px; border-top: 1px solid rgba(225, 177, 111, .35); color: #cbb197; font-size: .87rem; line-height: 1.45; }
.masters-bracket__note strong { color: #f0d19f; }
.masters-bracket__update { min-height: 1.45em; margin: 9px 0 0; color: #e9c98e; font: 800 .77rem/1.45 var(--font-display); letter-spacing: .025em; }
.masters-teams { margin-top: clamp(66px, 8vw, 110px); }
.masters-teams__controls { display: flex; align-items: stretch; gap: 10px; }
.masters-teams__switcher { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; flex: 1; min-width: 0; }
.masters-teams__switcher button { min-width: 0; min-height: 58px; padding: 10px 13px; border: 1px solid #805c40; border-bottom: 3px solid var(--team-accent); border-radius: 4px; background: #25171a; color: #e6d0b8; font: 800 clamp(.75rem, 1.1vw, .98rem)/1.25 var(--font-display); cursor: pointer; }
.masters-teams__switcher button:hover { border-color: var(--team-accent); color: #fff3df; }
.masters-teams__switcher button[aria-pressed="true"] { border-color: var(--team-accent); background: color-mix(in srgb, var(--team-accent) 17%, #241417); color: #fff7e9; box-shadow: inset 0 -3px 0 var(--team-accent); }
.masters-teams__arrow { flex: none; display: grid; place-items: center; width: 54px; min-height: 58px; padding: 0; border: 1px solid #a87646; border-radius: 4px; background: #38211f; color: #f4d4a1; font: 700 2rem/1 Georgia, serif; cursor: pointer; }
.masters-teams__arrow:hover { background: #57322a; color: #fff2d8; }
.masters-teams__position { margin: 12px 0 19px; color: #c7a787; font: 800 .77rem/1.2 var(--font-display); letter-spacing: .12em; text-align: right; text-transform: uppercase; }
.masters-teams__stage { --team-accent: #d97ba7; padding: clamp(20px, 3.3vw, 40px); border: 1px solid #916a47; border-top: 5px solid var(--team-accent); border-radius: 5px; background-image: linear-gradient(145deg, rgba(45, 23, 27, .97), rgba(20, 12, 15, .96)), var(--brocade); background-size: auto, 660px 660px; box-shadow: inset 0 0 0 5px rgba(7, 4, 6, .35); }
.masters-team__header { display: flex; justify-content: space-between; align-items: flex-start; gap: 22px; margin-bottom: 25px; }
.masters-team__eyebrow { color: var(--team-accent); font: 800 .78rem/1.25 var(--font-display); letter-spacing: .11em; text-transform: uppercase; }
.masters-team__name { margin: 7px 0 9px; color: #fff0d5; font: 700 clamp(2.3rem, 4vw, 4rem)/.98 Georgia, serif; letter-spacing: -.025em; }
.masters-team__intro { max-width: 760px; margin: 0; color: #dcc9b4; font-size: 1.02rem; line-height: 1.5; }
.masters-team__mmr { flex: none; min-width: 170px; padding: 11px 0 11px 19px; border-left: 1px solid #976b48; text-align: right; }
.masters-team__mmr strong { display: block; color: #ffe6b6; font: 700 clamp(1.65rem, 2.7vw, 2.6rem)/1 Georgia, serif; white-space: nowrap; }
.masters-team__mmr span { display: block; margin-top: 8px; color: #cbb49a; font: 800 .73rem/1.2 var(--font-display); letter-spacing: .09em; text-transform: uppercase; }
.masters-team__players { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: clamp(7px, 1.2vw, 15px); }
.masters-player { display: flex; flex-direction: column; min-width: 0; min-height: 254px; padding: 0; border: 1px solid #775241; border-top: 3px solid var(--team-accent); border-radius: 4px; background: #2b1b20; color: #f8e9d2; text-align: left; cursor: pointer; overflow: hidden; }
.masters-player:hover, .masters-player[aria-pressed="true"] { border-color: var(--team-accent); background: #38232a; }
.masters-player[aria-pressed="true"] { box-shadow: 0 0 0 2px var(--team-accent); }
.masters-player__photo { display: grid; place-items: end center; width: 100%; height: clamp(143px, 15vw, 197px); background: radial-gradient(ellipse at center 95%, color-mix(in srgb, var(--team-accent) 18%, #342126), #2a1b20 72%); overflow: hidden; }
.masters-player__photo img { display: block; width: 100%; height: 100%; object-fit: contain; object-position: center bottom; }
.masters-player__copy { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; width: 100%; padding: 13px 12px 16px; }
.masters-player__name { font: 700 clamp(.93rem, 1.3vw, 1.15rem)/1.15 Georgia, serif; overflow-wrap: anywhere; }
.masters-captain { display: inline-flex; align-items: center; gap: 6px; color: #e6bb76; font: 800 .67rem/1.15 var(--font-display); letter-spacing: .065em; text-transform: uppercase; }
.masters-captain svg { display: block; width: 17px; height: 14px; fill: currentColor; }
.masters-player-detail { margin-top: 26px; padding: clamp(18px, 2.6vw, 30px); border: 1px solid #8b6545; border-left: 4px solid var(--team-accent); border-radius: 4px; background: rgba(17, 10, 13, .65); }
.masters-player-detail__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 9px 20px; margin-bottom: 20px; }
.masters-player-detail__head h4 { margin: 0; color: #fff0d8; font: 700 clamp(2rem, 3vw, 3rem)/1 Georgia, serif; }
.masters-player-detail__head .masters-captain { font-size: .8rem; }
.masters-player-detail__body { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: clamp(19px, 3vw, 37px); }
.masters-player-detail__media { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: end; gap: 12px; min-width: 0; }
.masters-player-detail__media figure { min-width: 0; margin: 0; }
.masters-player-detail__media .media-box { display: grid; place-items: end center; height: clamp(210px, 25vw, 310px); border: 1px solid #704b3d; border-radius: 4px; background: #38242b; overflow: hidden; }
.masters-player-detail__media img { display: block; width: 100%; height: 100%; object-fit: contain; object-position: center bottom; }
.masters-player-detail__media figcaption { margin-top: 8px; color: #e9c990; font: 700 1rem/1.2 Georgia, serif; text-align: center; }
.masters-player-detail__facts { min-width: 0; }
.masters-player-detail__rank { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; }
.masters-player-detail__rank img { width: 55px; height: 55px; object-fit: contain; }
.masters-player-detail__rank strong { display: block; color: #f7dfba; font: 800 1.25rem/1.2 var(--font-display); }
.masters-player-detail__rank span { display: block; margin-top: 3px; color: #d7bda2; font-size: 1.05rem; }
.masters-player-detail__source { display: block; margin-bottom: 10px; color: var(--team-accent); font: 800 .75rem/1.25 var(--font-display); letter-spacing: .08em; text-transform: uppercase; }
.masters-player-detail__stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 0 0 19px; }
.masters-player-detail__stats > div { min-width: 0; padding: 11px 9px; background: #301d23; }
.masters-player-detail__stats dt { color: #cfae8a; font: 800 .68rem/1.2 var(--font-display); text-transform: uppercase; }
.masters-player-detail__stats dd { margin: 4px 0 0; color: #fff0d7; font: 700 clamp(1.15rem, 1.7vw, 1.55rem)/1 Georgia, serif; }
.masters-player-detail__summary { margin: 0 0 17px; color: #ead7c0; font-size: 1rem; line-height: 1.55; }
.masters-player-detail__note { margin: -7px 0 18px; color: #c7b19e; font-size: .85rem; line-height: 1.45; }
.masters-player-detail__link { display: inline-flex; align-items: center; min-height: 44px; padding: 9px 0; border-bottom: 1px solid #d7a769; color: #ffe0ac; font: 800 .82rem/1.2 var(--font-display); letter-spacing: .05em; text-decoration: none; text-transform: uppercase; }
.masters-player-detail__link:hover { color: #fff; border-color: #fff; }
.masters-team__footnote { margin: 18px 0 0; color: #baa590; font-size: .82rem; line-height: 1.45; }
.masters-bracket :is(button, a):focus-visible, .masters-teams :is(button, a):focus-visible, .masters-event-nav a:focus-visible { outline: 3px solid #ffe2a7; outline-offset: 3px; }
@media (max-width: 980px) {
  .masters-bracket__map { grid-template-columns: minmax(0, 1fr); grid-template-areas: "upper" "drops" "lower" "decision"; }
  .masters-bracket__connectors { display: none; }
  .masters-bracket__track { grid-template-columns: minmax(0, 1fr) 36px minmax(0, 1fr); }
  .masters-bracket__decision { display: block; align-self: stretch; }
  .masters-team__players { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .masters-player__photo { height: 180px; }
}
@media (max-width: 700px) {
  .masters-event-nav { margin-bottom: 48px; }
  .masters-bracket__content { padding: 13px; }
  .masters-bracket__lane, .masters-bracket__decision { padding: 12px; }
  .masters-bracket__track { grid-template-columns: minmax(0, 1fr); gap: 7px; }
  .masters-bracket__advance { transform: rotate(90deg); font-size: 1.7rem; }
  .masters-bracket__stage { gap: 10px; }
  .masters-teams__controls { display: grid; grid-template-columns: 48px minmax(0, 1fr) 48px; gap: 7px; }
  .masters-teams__switcher { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
  .masters-teams__switcher button { min-height: 48px; padding: 7px; font-size: .79rem; }
  .masters-teams__arrow { width: 48px; min-height: 103px; }
  .masters-team__header { flex-direction: column; gap: 12px; }
  .masters-team__mmr { padding: 0; border: 0; text-align: left; }
  .masters-team__players { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .masters-player { min-height: 205px; }
  .masters-player__photo { height: clamp(135px, 39vw, 210px); }
  .masters-player-detail__body { grid-template-columns: 1fr; }
  .masters-player-detail__media .media-box { height: clamp(150px, 43vw, 250px); }
}
@media (max-width: 370px) {
  .masters-teams__controls { grid-template-columns: 40px minmax(0, 1fr) 40px; }
  .masters-teams__arrow { width: 40px; }
  .masters-teams__switcher button { font-size: .72rem; }
  .masters-player-detail__stats { gap: 5px; }
  .masters-player-detail__stats > div { padding: 9px 6px; }
}
@media (prefers-reduced-motion: reduce) { .masters-teams *, .masters-bracket * { scroll-behavior: auto !important; transition: none !important; } }
