.league-master {
  --master-ink: #120d10;
  --master-signal: #ff7c80;
  --master-muted: #d9cac8;
  --master-rule: #eed6d037;
  --master-gold: #e7c582;
  --master-panel: linear-gradient(145deg, #2b1c1f, #191517 88%);
  --master-control: linear-gradient(135deg, #3b2428, #24191b);
  --master-paper-action: linear-gradient(135deg, #fff5e4, #e6d4bf);
  --data-label: .6875rem;
  --data-text: .8125rem;
  --data-number: .9375rem;
  --data-feature: clamp(1.25rem, 1.9vw, 1.625rem);
  --data-inset: clamp(7px, 1.4vw, 14px);
  --league-surface-text: var(--paper);
  --league-surface-label: var(--master-muted);
  --league-surface-accent: var(--master-signal);
  --league-surface-line: var(--master-rule);
  --surface-card: var(--master-panel);
  --muted: var(--master-muted);
  --red: var(--master-signal);
  --gold: #bd505e;
  --gold-light: var(--master-signal);
  --focus: var(--master-signal);
  --line: var(--master-rule);
  position: relative;
  isolation: isolate;
  background:
    radial-gradient(ellipse 75rem 44rem at 94% 24rem, #7c202e65, transparent 76%),
    radial-gradient(ellipse 52rem 70rem at 7% 70%, #551b2464, transparent 78%),
    linear-gradient(148deg, #181316, #211417 54%, #120f11);
  padding-bottom: clamp(26px, 5vw, 60px);
}
.league-master::before {
  content: '';
  position: absolute;
  z-index: -1;
  inset: 0;
  background: url('/assets/grain.svg');
  opacity: .095;
  pointer-events: none;
}
.league-master :where(.wrap) { max-width: 1260px; }
.league-master :is(.league-keyfigures strong, .master-keyfigures dd, .master-performance dd) {
  font-family: inherit;
  font-size: var(--data-feature);
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  line-height: 1.15;
}

/* Surface roles share typography and spacing while separating the content types. */
.league-master [data-surface] {
  --line: var(--league-surface-line);
  --muted: var(--league-surface-label);
  --red: var(--league-surface-accent);
  --gold-light: var(--league-surface-accent);
  --focus: var(--league-surface-accent);
  color: var(--league-surface-text);
  border-color: var(--league-surface-line);
  border-radius: var(--league-panel-radius, 16px);
}
.league-master [data-surface="season"] {
  --league-panel-radius: 10px;
  background:
    radial-gradient(ellipse at 8% 0, var(--season-wash, #922f3935), transparent 75%),
    var(--master-panel);
  box-shadow: inset 0 1px 0 #f9d6ce18, 0 8px 22px #100a0b38;
}
.league-master [data-surface="calendar"] {
  background:
    radial-gradient(ellipse at 96% 0, #8b273b46, transparent 69%),
    var(--master-panel);
}

html:has(.league-subnav) {
  --league-nav-height: 59px;
  scroll-padding-top: calc(115px + var(--league-nav-height));
}
.site-header .league-subnav {
  --gold-light: #ff7c80;
  --focus: #ff7c80;
  --line: #eed6d037;
  border-top: 1px solid var(--line);
  border-bottom: 0;
  background: linear-gradient(100deg, #30191f, #1b1518 57%, #25171b);
}
.site-header .league-subnav > .wrap {
  max-width: 1260px;
  gap: clamp(8px, 2.8vw, 30px);
  scrollbar-color: var(--gold-light) transparent;
}
.site-header .league-subnav a[aria-current] {
  color: var(--paper);
  border-color: var(--gold-light);
}
.site-header .league-subnav a:focus-visible { outline-offset: -3px; }
@media (max-width: 800px) {
  html:has(.league-subnav) { --league-nav-height: 53px; scroll-padding-top: calc(90px + var(--league-nav-height)); }
  .site-header:has(.league-subnav) .main-nav.is-open {
    top: 100%;
    max-height: calc(100dvh - 76px - var(--league-nav-height));
    overflow-y: auto;
  }
}
.league-master .breadcrumbs {
  gap: 9px;
  padding: 0;
  margin-bottom: clamp(18px, 2.6vw, 36px);
  color: var(--master-muted);
  font-size: 11px;
}
.league-master .breadcrumbs [aria-current] { color: var(--paper); }
.league-master .breadcrumbs a:hover { color: var(--master-signal); }

.league-stage {
  position: relative;
  isolation: isolate;
  overflow: clip;
  border-bottom: 1px solid #cb768b50;
  background:
    radial-gradient(ellipse at 81% 46%, #98233383, transparent 52%),
    radial-gradient(ellipse at 3% 99%, #4b172a9c, transparent 60%),
    linear-gradient(116deg, var(--master-ink) 24%, #211016 75%, #110b0d);
}
.league-stage::before,
.league-stage::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
}
.league-stage::before { background: url('/assets/grain.svg') repeat; opacity: .20; }
.league-stage::after {
  clip-path: polygon(77% 0, 100% 0, 100% 100%, 56% 100%);
  background: linear-gradient(142deg, #82263222, #45152555 55%, #d44a4b20);
}
.league-overview-stage::before {
  opacity: 1;
  background:
    linear-gradient(0deg, #100c10 1%, #100c106e 39%, transparent 77%),
    linear-gradient(106deg, #160d14 10%, #29101ad9 39%, #3a17255c 73%, #100c1080),
    url('/assets/league-cerchio.webp') center 45% / cover no-repeat;
}
.league-overview-stage::after { background: linear-gradient(142deg, #be243746, #46162140 62%, #dc4e4919); }
.league-master :is(.league-intro, .league-overview-stage) { margin-bottom: clamp(26px, 4vw, 53px); }
.league-master .league-page-heading { padding-block: clamp(25px, 4vw, 50px); }
.league-master .league-page-heading h1 { font-size: clamp(54px, 9.4vw, 122px); line-height: .87; }
.league-master .league-page-heading .page-heading-bottom > p {
  color: var(--master-muted);
  font-size: clamp(16px, 2.2vw, 21px);
}
.league-master .eyebrow { color: var(--league-surface-accent); }
.league-master .outline { -webkit-text-stroke-color: #ead8d4; }
.league-master .league-hub-hero { padding-block: clamp(24px, 4vw, 48px) clamp(28px, 4.8vw, 62px); }
.league-master .league-hub-hero > .eyebrow { margin-bottom: clamp(18px, 3vw, 39px); }
.league-master .league-hub-hero h1 { font-size: clamp(72px, 12.6vw, 173px); }
.league-master .league-hub-hero .lead {
  max-width: 38ch;
  margin-top: clamp(18px, 2.6vw, 28px);
  color: var(--master-muted);
  font-size: clamp(17px, 2.3vw, 23px);
}
.league-master .hub-hero-actions {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 184px), 1fr));
  width: min(100%, 448px);
  gap: 9px;
}
.league-master .hub-hero-actions .button {
  min-width: 0;
  min-height: 50px;
  padding: 10px 15px;
  gap: 10px;
}
.league-master .league-roster-poster {
  isolation: isolate;
  position: relative;
  width: min(93%, 360px);
  border: 1px solid var(--master-rule);
  border-radius: 9px;
  background: var(--master-panel);
  color: var(--paper);
  box-shadow: 10px 12px 0 #a9354f4f, var(--shadow-depth);
}
.league-master .league-roster-poster .poster-button { overflow: hidden; border-radius: 7px; }
.league-master .league-roster-poster figcaption strong { color: var(--master-signal); }
.league-master .league-keyfigures {
  overflow: hidden;
  max-width: 56rem;
  margin-top: clamp(24px, 4.5vw, 55px);
  border: 1px solid var(--master-rule);
  border-radius: 16px;
  background: var(--master-panel);
}
.league-master .league-keyfigures > div:first-child { background: linear-gradient(145deg, #60283869, #2f1c24); }
.league-master .league-keyfigures > div {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: clamp(6px, 1.2vw, 12px);
  min-width: 0;
  padding: 11px var(--data-inset);
}
.league-master .league-keyfigures span {
  margin: 0;
  color: var(--master-muted);
  font-size: var(--data-label);
  letter-spacing: .025em;
  line-height: 1.3;
  overflow-wrap: anywhere;
}
.league-master :is(.league-module, .calendar-surface, .empty-state) { border-radius: var(--league-panel-radius, 16px); }
.league-master .league-dashboard {
  --preview-head: 35px;
  --preview-row: 40px;
  --preview-window: calc(var(--preview-head) + 5 * var(--preview-row) + 2px);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  gap: clamp(15px, 2vw, 26px);
  margin-bottom: clamp(32px, 5.8vw, 72px);
}
.league-master .league-dashboard .league-module { padding: clamp(14px, 2.3vw, 28px); }
.league-dashboard-panel { display: flex; flex-direction: column; }
.league-module[data-linked-panel] {
  position: relative;
  isolation: isolate;
  background: radial-gradient(ellipse at 90% 3%, var(--module-wash), transparent 68%), var(--master-panel);
  transition: border-color .22s, box-shadow .25s;
}
.league-ranking-panel { --module-wash: #9460312c; --module-edge: #e7c5828f; }
.league-recent-panel { --module-wash: #8b283c45; --module-edge: #ff7c8099; }
.league-module[data-linked-panel] > :is(.standings-scroll, .league-carousel, .upcoming-dates) {
  position: relative;
  z-index: 2;
}
.league-master .league-dashboard .module-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas: 'kicker action' 'title title';
  align-items: center;
  gap: 4px 9px;
  margin-bottom: 5px;
}
.league-master .league-dashboard .module-heading .eyebrow { grid-area: kicker; gap: 8px; margin: 0; }
.league-master .league-dashboard .module-heading h2 { font-size: clamp(31px, 4.1vw, 56px); }
.teaser-title { grid-area: title; display: flex; align-items: center; gap: clamp(7px, 1.4vw, 16px); }
.teaser-art {
  flex: 0 0 auto;
  width: clamp(40px, 6vw, 75px);
  aspect-ratio: 1;
  object-fit: contain;
  filter: drop-shadow(0 5px 9px #080407bd);
  pointer-events: none;
}
.league-panel-link {
  grid-area: action;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 6px 9px;
  border: 1px solid var(--master-rule);
  border-radius: 8px;
  background: var(--master-control);
  color: var(--paper);
  font-size: 12px;
  line-height: 1.2;
  font-weight: 700;
  transition: border-color .2s, box-shadow .2s;
}
.league-panel-link::after,
.upcoming-date h3 a::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  border-radius: 10px;
  cursor: pointer;
}
.league-panel-link > span, .upcoming-date h3 a > span { color: var(--master-signal); transition: transform .2s var(--ease); }
.league-module[data-linked-panel]:is(:hover, :focus-within) {
  border-color: var(--module-edge);
  box-shadow: 0 12px 32px #0e080a80, inset 0 1px 0 #f6ccd327;
}
.league-module[data-linked-panel]:is(:hover, :focus-within) .league-panel-link {
  border-color: var(--module-edge);
  box-shadow: inset 0 -2px 0 var(--module-edge);
}
.league-module[data-linked-panel]:is(:hover, :focus-within) .league-panel-link > span,
.upcoming-date:is(:hover, :focus-within) h3 a > span { transform: translate(2px, -2px); }
.league-module-note { margin: 0 0 13px; color: var(--master-muted); font-size: var(--data-text); line-height: 1.45; }
.league-upcoming {
  grid-column: 1 / -1;
  --module-wash: #8a293847;
  --module-edge: #e7c58275;
}
.upcoming-badge {
  display: inline-block;
  margin-inline-end: 5px;
  padding: 3px 7px;
  border: 1px solid #e7c5826e;
  border-radius: 999px;
  background: #e7c58214;
  color: var(--master-gold);
  font-size: 11px;
}
.upcoming-dates { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.upcoming-date {
  position: relative;
  isolation: isolate;
  padding: 12px 14px;
  border: 1px solid var(--master-rule);
  border-radius: 10px;
  background: linear-gradient(125deg, #49252a, #22171a);
  transition: border-color .2s, box-shadow .2s;
}
.upcoming-date:is(:hover, :focus-within) { border-color: #e7c5828c; box-shadow: inset 3px 0 0 #e7c582, 0 8px 24px #15090d64; }
.upcoming-date h3 {
  margin: 0 0 8px;
  color: var(--paper);
  font-family: inherit;
  font-size: 14px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  line-height: 1.3;
}
.upcoming-date h3 a { display: flex; justify-content: space-between; gap: 8px; }
.upcoming-edition { margin-bottom: 6px; color: var(--master-muted); font-size: var(--data-label); }
.upcoming-pairings { list-style: none; padding: 0; margin: 0; }
.upcoming-pairings li {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 7px;
  padding-block: 6px;
  border-top: 1px solid var(--master-rule);
  font-size: var(--data-text);
  font-weight: 600;
}
.upcoming-pairings li > span { color: var(--master-muted); font-size: var(--data-label); font-weight: 400; }
.upcoming-date .upcoming-pairings a { position: relative; z-index: 2; }
.upcoming-pairings a:hover { color: #ffd0d5; }
.league-master .league-official-archive { padding-top: clamp(30px, 5vw, 60px); }
.league-master .button.button-paper {
  border-radius: 999px;
  background: var(--master-paper-action);
  color: var(--bordeaux);
}
.league-master .button.button-paper:hover { background: linear-gradient(135deg, #fff9ef, #f0b9b6); }
.league-master .button.button-paper[data-league-glow]::after {
  inset: 0;
  background: radial-gradient(ellipse 96px 55px at var(--pointer-x, 50%) var(--pointer-y, 50%), #e76970c4, #f69c9e66 56%, transparent 100%);
  transform: none;
  opacity: 0;
  transition: opacity .22s var(--ease);
}
.league-master .button.button-paper[data-league-glow]:is(:hover, :focus-visible) {
  border-color: #ffa2a4;
  background: var(--master-paper-action);
  box-shadow: 0 7px 23px #11050970, 0 0 0 2px #ff868643;
}
.league-master .button.button-paper[data-league-glow]:is(:hover, :focus-visible)::after { opacity: 1; }

/* Roster and compact reading surfaces */
.league-master .artist-avatar {
  --monogram-light: #73313a;
  --monogram-shade: #28191c;
  background:
    radial-gradient(ellipse at 74% 9%, #f4eddf22, transparent 65%),
    linear-gradient(150deg, var(--monogram-light), var(--monogram-shade) 84%);
}
.league-master .artist-avatar[data-tone="1"] { --monogram-light: #4b4544; --monogram-shade: #212021; }
.league-master .artist-avatar[data-tone="2"] { --monogram-light: #6c503d; --monogram-shade: #292019; }
.league-master .artist-avatar[data-tone="3"] { --monogram-light: #563532; --monogram-shade: #211717; }
.league-master .participant-card { border-radius: 15px; }
.league-master .participant-card-art {
  overflow: hidden;
  border-radius: 9px;
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 14px), calc(100% - 14px) 100%, 0 100%);
}
.league-master .participant-card-art::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, transparent 59%, #f4eddf15 60%, #f4eddf03);
  pointer-events: none;
}
.league-master .participant-card-art > .artist-avatar { aspect-ratio: 1.36; font-size: clamp(45px, 6.6vw, 91px); }
.league-master .participant-portrait { width: 100%; aspect-ratio: 1.36; object-fit: cover; object-position: center 40%; }
.league-master .participant-card h2 { font-size: clamp(27px, 3.6vw, 45px); overflow-wrap: anywhere; }
.league-master .participant-open {
  bottom: 10px;
  z-index: 1;
  background: var(--master-paper-action);
  transition: transform .2s var(--ease);
}
.league-master .participant-card-bottom {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 0;
  padding-top: 9px;
}
.participant-card-bottom > div { display: flex; align-items: baseline; gap: 5px; }
.participant-card-bottom > div:last-child { justify-self: end; }
.participant-card-bottom dt { font-size: var(--data-label); }
.participant-card-bottom abbr { text-decoration: none; }
.participant-card-bottom dd {
  margin: 0;
  color: var(--paper);
  font-size: var(--data-number);
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
.participant-card-bottom > div:last-child dd { color: var(--master-signal); }
.league-master .participant-card.depth-card::after {
  background: radial-gradient(ellipse 130px 90px at var(--pointer-x, 50%) var(--pointer-y, 50%), #ff8b8842, transparent 90%);
  box-shadow: inset 0 0 0 1px #ff8b8860;
  mix-blend-mode: screen;
}
.league-master .participants-grid { gap: clamp(9px, 1.45vw, 17px); }
.league-master .participants-grid .participant-card {
  display: grid;
  grid-template-columns: clamp(58px, 6vw, 82px) minmax(0, 1fr);
}
.league-master .participants-grid .participant-card-art { margin: 7px 0 7px 7px; }
.league-master .participants-grid .participant-card-art > :is(.artist-avatar, .participant-portrait) {
  position: absolute;
  inset: 0;
  height: 100%;
  font-size: clamp(26px, 3.5vw, 46px);
}
.league-master .participants-grid .participant-open { width: 22px; height: 22px; right: 6px; bottom: 7px; font-size: 14px; }
.league-master .participants-grid .participant-card-body { padding: 10px clamp(8px, 1vw, 13px); }
.league-master .participants-grid .participant-card h2 { font-size: clamp(20px, 2.4vw, 32px); margin-bottom: 7px; }
.league-master .participants-grid .participant-facts { gap: 4px 6px; margin-bottom: 9px; font-size: .6875rem; }
.league-master .participants-grid .koty-badge { padding: 4px 6px; font-size: 9px; }
.league-master .participants-grid .participant-card-bottom { padding-top: 6px; }
.league-carousel { min-width: 0; }
.carousel-track {
  position: relative;
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 100%;
  gap: 12px;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-snap-type: x mandatory;
  scrollbar-width: thin;
  scrollbar-color: #e5a0a477 #19171c;
  padding-block: 3px 6px;
}
.carousel-track > * { scroll-snap-align: start; min-width: 0; }
.carousel-track:focus-visible, .carousel-track > a:focus-visible { outline-offset: -2px; }
.league-carousel--roster .carousel-track { grid-auto-columns: calc((100% - 48px) / 4.2); }
.league-carousel--matches .match-card {
  display: flex;
  flex-direction: column;
  align-self: start;
  min-height: calc(var(--preview-window) - 59px);
}
.league-carousel--matches .match-duel { flex: 1; }
.carousel-controls { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 6px; }
.carousel-count { margin: 0; color: var(--master-muted); font-size: var(--data-label); font-variant-numeric: tabular-nums; }
.carousel-buttons { display: flex; gap: 5px; }
.carousel-buttons button {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border: 1px solid var(--master-rule);
  border-radius: 9px;
  background: var(--master-control);
  font-size: 20px;
  transition: border-color .18s var(--ease);
}
.carousel-buttons button:disabled { opacity: .43; cursor: default; }
.league-master :is(.roster-controls, .match-filter-controls) {
  gap: clamp(12px, 1.7vw, 22px);
  padding: clamp(12px, 1.8vw, 21px);
  border: 1px solid var(--master-rule);
  border-radius: 16px;
  background: var(--master-panel);
}
.league-master :is(.search-field, .select-field) > span { color: var(--league-surface-label); }
.league-master :is(.search-field input, .select-field select, .league-filter-toggle, .calendar-arrow) {
  border: 1px solid var(--league-surface-line);
  border-radius: 9px;
  background: var(--master-control);
}
.league-master :is(.search-field input, .select-field select):focus-visible { outline-color: var(--league-surface-accent); }
.league-master .match-status-filters {
  gap: 2px;
  padding: 3px;
  border-radius: 12px;
  background: linear-gradient(125deg, #332326, #1c1618);
}
.league-master .match-status-filters button {
  min-height: 44px;
  padding-block: 9px;
  border-radius: 8px;
}
.league-master :is(.league-filter-toggle, .match-status-filters button)[aria-pressed="true"] {
  background: var(--master-paper-action);
  color: var(--bordeaux);
}
.league-master .league-standings-section { max-width: 54rem; }
.standings-panel {
  --table-inset: clamp(12px, 2vw, 22px);
  border: 1px solid var(--master-rule);
  border-radius: 14px;
  background: radial-gradient(ellipse at 94% 0, #7826323e, transparent 70%), var(--master-panel);
  box-shadow: var(--shadow-depth);
}
.league-master .table-toolbar { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; margin: 0; padding: var(--table-inset); }
.table-overview { display: flex; justify-content: space-between; flex-wrap: wrap; align-items: end; gap: 12px 16px; }
.table-overview .eyebrow { gap: 8px; margin-bottom: 5px; }
.table-overview h2 { font-size: clamp(26px, 3.7vw, 43px); text-transform: uppercase; }
.table-season-facts { display: flex; flex-wrap: wrap; gap: 8px 14px; margin: 0; }
.table-season-facts > div { display: grid; gap: 4px; padding-inline-start: 8px; border-inline-start: 1px solid var(--master-rule); }
.table-season-facts dt { grid-row: 2; color: var(--master-muted); font-size: var(--data-label); }
.table-season-facts dd { margin: 0; color: var(--master-gold); font-size: 17px; font-weight: 700; font-variant-numeric: tabular-nums; }
.league-master .table-tools {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(9rem, .7fr);
  gap: 9px;
}
.league-master .table-tools :is(.search-field, .select-field) { min-width: 0; max-width: none; gap: 6px; }
.league-master .table-tools :is(input, select) { min-height: 44px; padding-block: 8px; }
.table-caption {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 3px 10px;
  padding: 8px var(--table-inset);
  border-block: 1px solid var(--master-rule);
  background: #120d0f4a;
  color: var(--master-muted);
  font-size: var(--data-label);
}
.table-caption .results-count { padding: 0; }
.standings-scroll-note { display: none; padding: 5px var(--table-inset); color: var(--master-muted); font-size: var(--data-label); }
.standings-scroll-note > span { color: var(--master-signal); }
.league-master .standings-scroll {
  position: relative;
  scrollbar-color: #db818799 #24191c;
}
.league-master .standings-scroll:focus-visible { outline: 2px solid var(--master-signal); outline-offset: -2px; }
.standings-panel .standings-scroll { border-radius: 0 0 14px 14px; }
.standings-panel .league-data-note { margin: 0; padding: 12px var(--table-inset); }
.metric-incomplete sup { margin-left: 2px; color: var(--master-signal); font-size: .62em; }
.metric-partial-note { display: block; margin-top: 7px; color: var(--master-muted); font-size: 12px; line-height: 1.35; }
.league-master .standings-scroll--preview {
  height: var(--preview-window);
  overflow: hidden auto;
  border: 1px solid var(--master-rule);
  border-radius: 9px;
  background: #1c1517;
  scrollbar-gutter: stable;
}
.league-master .league-ranking-panel .standings-scroll--preview {
  flex: 1 1 auto;
  height: auto;
  min-height: var(--preview-window);
  contain: size;
}
.league-ambient-photos {
  position: absolute;
  z-index: -2;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}
.league-ambient-photos img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 52% 46%; }
.league-stage:has(.league-ambient-photos)::before {
  background: linear-gradient(100deg, #160e15fa 12%, #27131ad9 62%, #35121bba),
    radial-gradient(ellipse at 82% 22%, #81263766, transparent 72%);
}
@media (max-width: 900px) {
  .league-master .league-ranking-panel .standings-scroll--preview {
    flex: 0 0 auto;
    height: clamp(256px, 44vh, 360px);
  }
}
.league-master .standings-table {
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0;
  font-size: 14px;
}
.league-master .standings-table :is(th, td) {
  padding: 5px var(--data-inset);
  border-color: #ead5ce24;
  vertical-align: middle;
}
.league-master .standings-table thead th {
  height: 41px;
  padding-block: 0;
  color: var(--league-surface-label);
  background: #2e1f22;
  font-size: 12px;
  font-weight: 600;
}
.league-master .standings-table :is(th, td):first-child { padding-inline: 5px; }
.league-master .standings-table thead th:first-child { width: clamp(3rem, 13%, 4.25rem); }
.league-master .standings-table thead [data-column="points"] { width: clamp(3.25rem, 20%, 6rem); }
.league-master .standings-table[data-mode="full"] { min-width: 38.5rem; }
.league-master .standings-table[data-mode="full"] thead th:first-child { width: 7.5%; }
.league-master .standings-table[data-mode="full"] thead th:nth-child(2) { width: 22%; }
.league-master .standings-table[data-mode="full"] thead [data-column="points"] { width: 10%; }
.league-master .standings-table[data-mode="full"] thead [data-column="played"] { width: 8%; }
.league-master .standings-table[data-mode="full"] thead :is([data-column="wins"], [data-column="draws"], [data-column="losses"]) { width: 7%; }
.league-master .standings-table thead [data-column="points"] { color: var(--master-gold); background: #3a2823; }
.league-master .standings-table[data-mode="preview"] [data-column="points"] { text-align: end; }
.league-master .standings-table td[data-result] { color: var(--master-outcome-color); }
.league-master .standings-table :is(.standing-rank, .standing-points) {
  font-family: inherit;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
.league-master .standings-table .standing-rank { color: var(--master-muted); font-size: var(--data-text); }
.league-master .standings-table .standing-points {
  color: var(--master-gold);
  font-size: 16px;
  background: #f3cf8911;
}
.league-master .standing-leader .standing-rank { color: var(--master-gold); }
.league-master .standings-table[data-mode="preview"] :is(th, td) { padding-block: 0; }
.league-master .standings-table[data-mode="preview"] thead th {
  position: sticky;
  z-index: 1;
  top: 0;
  height: var(--preview-head);
}
.league-master .standings-table[data-mode="preview"] tbody tr { height: var(--preview-row); }
.league-master .standings-table thead button { justify-content: center; width: 100%; min-height: 41px; margin: 0; padding: 0; gap: 4px; }
.league-master .standings-table thead [data-column="name"] button { justify-content: start; }
.league-master .standings-table thead button:is(:hover, :focus-visible) { color: var(--master-signal); }
.league-master .standings-table thead button:focus-visible { outline-offset: -2px; }
.league-master .standings-table thead button > span { font-size: 12px; }
.league-master .standings-table th[aria-sort] button > span::after { font-size: 12px; }
.league-master .standings-table th[aria-sort] button > span { color: var(--league-surface-accent); font-size: 0; }
.league-master .standings-table th[scope="row"] { white-space: normal; }
.league-master .standings-table th[scope="row"] > a { min-height: 28px; gap: 8px; }
.league-master .standings-table th[scope="row"] strong { font-size: 14px; overflow-wrap: anywhere; }
.standing-art {
  display: grid;
  place-items: center;
  flex: 0 0 27px;
  height: 27px;
  overflow: hidden;
  border: 1px solid #ebbaa33a;
  border-radius: 50%;
  background: #3a2426;
}
.standing-portrait { width: 100%; height: 100%; object-fit: cover; }
.standing-mic { width: 18px; height: 18px; object-fit: contain; }
.league-master .standings-table tbody tr { --standing-row: #1d1618; background: var(--standing-row); }
.league-master .standings-table tbody tr.standing-leader { --standing-row: #32231e; }
.league-master .standings-table tbody tr:is(:hover, :focus-within) { --standing-row: #392127; }
.league-master .standings-table tbody tr:target { --standing-row: #52242c; scroll-margin-top: 7rem; }
.league-master .standings-table tbody tr:focus-within th[scope="row"] strong,
.league-master .standings-table th[scope="row"] a:hover strong { text-decoration: underline; text-underline-offset: 3px; }
.league-master .league-stat-key { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px 12px; }
.league-master .league-stat-key > div {
  display: grid;
  grid-template-columns: 2.6ch minmax(0, 1fr);
  gap: 7px;
  font-size: var(--data-text);
}
.league-master .league-stat-key dt { min-width: 0; font-size: var(--data-label); }
.league-master .league-standings-section .league-explainer { margin-top: 16px; }
.league-master .league-matches-section { max-width: 1040px; }
.league-master .match-session {
  margin-top: clamp(27px, 4vw, 46px);
  padding-top: clamp(18px, 3vw, 29px);
}
.league-master .match-session-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  justify-items: start;
  align-items: start;
  gap: 9px;
  margin-bottom: 12px;
}
.league-master .match-session .all-matches-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 23rem), 1fr));
  gap: clamp(10px, 1.5vw, 17px);
}
.league-master .match-session .all-matches-grid > .match-card { max-width: 36rem; }
.league-master .match-session-header h2 { font-size: clamp(34px, 4.6vw, 53px); }
.league-master .session-meta { gap: 6px 16px; font-size: var(--data-text); }
.league-master .session-meta dt { font-size: var(--data-label); font-weight: 600; }
.league-master .session-meta > div {
  align-items: baseline;
  padding: 4px 8px;
  border: 1px solid var(--master-rule);
  border-radius: 6px;
  background: #150d1090;
}
.league-master .match-session-header .eyebrow { color: var(--master-muted); }
.league-master .match-session-header .eyebrow > span {
  padding: 4px 7px;
  border: 1px solid var(--master-rule);
  border-radius: 5px;
  background: var(--master-control);
  color: var(--master-signal);
}
.league-master .match-card {
  padding: 13px 14px 11px;
  border-radius: 12px;
  border-inline-start: 2px solid var(--master-outcome-rule);
  background: var(--master-panel);
}
.league-master .match-status {
  padding: 3px 8px;
  border: 1px solid var(--master-outcome-rule);
  border-radius: 999px;
  color: var(--master-outcome-color);
  background: var(--master-outcome-tint);
  font-size: var(--data-label);
}
.league-master .match-card time { color: var(--master-signal); font-variant-numeric: tabular-nums; }
.league-master .match-duel {
  position: relative;
  isolation: isolate;
  gap: clamp(7px, 1.4vw, 14px);
  padding-block: 11px;
}
.match-duel-art {
  position: absolute;
  z-index: -1;
  inset-inline-end: 1%;
  top: 50%;
  width: clamp(55px, 9vw, 93px);
  aspect-ratio: 1;
  object-fit: contain;
  opacity: .33;
  transform: translateY(-50%) rotate(-9deg);
  pointer-events: none;
  transition: opacity .22s var(--ease);
}
.league-master .match-card:is(:hover, :focus-within) .match-duel-art { opacity: .51; }
.league-master .match-duel > a {
  justify-self: end;
  align-items: flex-end;
  gap: 5px;
  text-align: end;
}
.league-master .match-duel > a:last-child {
  justify-self: start;
  align-items: flex-start;
  text-align: start;
}
.league-master .match-duel strong { font-size: clamp(19px, 2vw, 24px); overflow-wrap: anywhere; }
.league-master .match-score {
  display: grid;
  justify-items: center;
  gap: 3px;
  padding: 7px 8px;
  border: 1px solid #ded7de25;
  border-radius: 7px;
  background: #130f1566;
  font-family: inherit;
  font-size: var(--data-feature);
  font-weight: 700;
  line-height: 1.1;
}
.league-master .match-score small { color: var(--master-muted); font-size: .625rem; font-weight: 500; }
.league-master .match-card-compact .match-duel strong { font-size: clamp(19px, 2vw, 24px); }
.league-master .match-card > footer { justify-content: flex-end; border-top: 0; padding-top: 6px; }
.league-master .match-scorecard summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 9px;
  width: 100%;
  min-height: 44px;
  padding: 8px 10px;
  border: 1px solid var(--master-rule);
  border-radius: 8px;
  background: var(--master-control);
  color: var(--paper);
  font-size: var(--data-text);
  list-style: none;
  transition: border-color .2s var(--ease);
}
.league-master .match-scorecard summary::-webkit-details-marker { display: none; }
.league-master .match-scorecard summary::after {
  content: '';
  width: 6px;
  height: 6px;
  margin-inline: 4px;
  border: solid currentColor;
  border-width: 0 1.5px 1.5px 0;
  transform: rotate(45deg) translateY(-2px);
  transition: transform .2s var(--ease);
}
.league-master .match-scorecard[open] summary { background: linear-gradient(100deg, var(--master-outcome-tint), #23181b); }
.league-master .match-scorecard[open] summary::after { transform: rotate(225deg) translateY(-2px); }
.match-detail { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; padding-top: 10px; }
.match-rounds-group { container: match-rounds / inline-size; }
.match-detail-label {
  margin: 0 0 6px;
  color: var(--master-muted);
  font-size: var(--data-label);
  font-weight: 600;
  letter-spacing: .045em;
  text-transform: uppercase;
}
.match-rounds {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.match-rounds li {
  flex: 1 1 0;
  display: grid;
  align-content: start;
  gap: 3px;
  min-width: 0;
  padding: 7px 5px;
  border: 1px solid var(--master-outcome-rule);
  border-radius: 6px;
  background: linear-gradient(140deg, var(--master-outcome-tint), #211719);
  overflow-wrap: anywhere;
}
.match-rounds li[data-round-review] {
  --master-outcome-color: #ffc0c2;
  --master-outcome-rule: #ffc0c260;
  --master-outcome-tint: #c877821c;
}
.match-rounds li > span { color: var(--master-muted); font-size: .625rem; font-variant-numeric: tabular-nums; }
.match-rounds li > strong { color: var(--master-outcome-color); font-size: var(--data-label); line-height: 1.25; }
.match-score-table {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  font-size: var(--data-text);
  font-variant-numeric: tabular-nums;
}
.match-score-table :is(th, td) {
  padding: 6px 5px;
  border-bottom: 1px solid var(--master-rule);
  text-align: end;
  vertical-align: middle;
}
.match-score-table thead th { color: var(--master-muted); font-size: var(--data-label); font-weight: 600; }
.match-score-table thead th:first-child { width: 51%; }
.match-score-table th:first-child { text-align: start; }
.match-score-table th { overflow-wrap: anywhere; }
.match-score-table th[scope="row"] { color: var(--master-muted); font-size: .75rem; font-weight: 500; }
.match-score-table td { font-weight: 600; }
.match-score-table tbody tr:last-child { background: #f3cf8909; }
.match-score-table tbody tr:last-child :is(th, td) { color: var(--master-gold); font-weight: 700; }
.metric-term {
  display: inline-grid;
  grid-template-columns: 1.5rem minmax(0, 1fr);
  align-items: baseline;
  gap: 4px;
}
.metric-code {
  width: 1.5rem;
  padding: 2px;
  border-radius: 3px;
  background: #8d7a801e;
  color: var(--league-surface-label);
  font-size: var(--data-label);
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
}
.league-master .match-detail .match-review { margin: 7px 0 0; color: #ffc0c2; }
@container match-rounds (max-width: 272px) {
  .match-rounds li { flex-basis: 30%; }
}

/* Calendar */
.league-master .league-calendar-section { max-width: 64rem; }
.league-master .calendar-layout {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.03fr);
  align-items: stretch;
  gap: clamp(13px, 2vw, 22px);
}
.league-master .calendar-surface { padding: clamp(12px, 2vw, 24px); }
.league-master .calendar-toolbar {
  grid-template-columns: 44px minmax(0, 1fr) 44px;
  align-items: stretch;
  gap: 7px;
  margin-bottom: 16px;
}
.league-master .calendar-arrow { width: 44px; height: 46px; font-size: 20px; }
.league-master .calendar-arrow:not(:disabled):is(:hover, :focus-visible, :active) {
  border-color: var(--master-signal);
  color: var(--master-signal);
  background: linear-gradient(135deg, #54232e, #2a1a20);
}
.league-master .calendar-month-field { position: relative; min-width: 0; }
.league-master .calendar-month-field select {
  appearance: none;
  min-height: 46px;
  padding: 8px 29px 8px 13px;
  color: var(--paper);
  font: 900 clamp(17px, 2.7vw, 28px)/1 var(--display);
  text-transform: capitalize;
  cursor: pointer;
}
.calendar-month-field::after {
  content: '';
  position: absolute;
  top: 18px;
  inset-inline-end: 13px;
  width: 7px;
  height: 7px;
  border: solid var(--master-signal);
  border-width: 0 1.5px 1.5px 0;
  transform: rotate(45deg);
  pointer-events: none;
}
.league-master .calendar-weekdays { margin-bottom: 7px; }
.league-master .calendar-weekdays > span { color: var(--master-muted); font-size: .625rem; }
.league-master .calendar-day {
  min-height: clamp(44px, 4.5vw, 51px);
  gap: 3px;
  border-radius: 7px;
  padding-inline: 0;
  font-size: 14px;
}
.league-master .calendar-day > strong { font-weight: 500; }
.league-master .calendar-day:not(.is-blank) { background: linear-gradient(145deg, #362127, #1b1519); border-color: #e4b9b638; }
.league-master .calendar-day.has-matches {
  border-color: #ff91917d;
  background: linear-gradient(140deg, #57252e, #301b20);
}
.league-master .calendar-day.has-scheduled {
  border-color: #e7c58274;
  background: linear-gradient(140deg, #4d3728, #2e2220);
}
.league-master .calendar-day:is(.has-matches, .has-scheduled) > strong { font-size: 16px; font-weight: 700; }
.league-master .calendar-day > span { font-size: .625rem; font-weight: 600; color: var(--league-surface-accent); }
.league-master .calendar-day.has-scheduled > span { color: var(--master-gold); }
.league-master .calendar-day[aria-pressed="true"] {
  border-color: var(--league-surface-accent);
  background: var(--master-paper-action);
  color: var(--bordeaux);
}
.league-master .calendar-day[aria-pressed="true"] > span { color: var(--bordeaux); }
.league-master .calendar-day:focus-visible { outline-offset: -2px; }
.league-master .calendar-day[aria-pressed="true"]:focus-visible { outline-color: var(--bordeaux); }
.league-master button.calendar-day:not([aria-pressed="true"]):is(:hover, :focus-visible, :active) {
  border-color: #ef9b97;
  background: linear-gradient(145deg, #64313b, #2c1c23);
}
.league-master .calendar-legend i { background: var(--league-surface-accent); }
.league-master .calendar-legend .calendar-scheduled-dot { background: var(--master-gold); }
.league-master .calendar-legend { justify-content: flex-start; flex-wrap: wrap; gap: 6px 14px; margin-top: 13px; font-size: var(--data-label); }
.calendar-utilities { display: flex; align-items: center; flex-wrap: wrap; gap: 2px 14px; margin-top: 8px; }
.league-master .calendar-utilities > .text-link { min-height: 38px; width: fit-content; margin: 0; padding-block: 5px; gap: 7px; font-size: var(--data-label); }
.league-master .calendar-utilities > .text-link span { font-size: 15px; }
.league-master .calendar-result-jump { display: none; }
.league-master .calendar-round-details { position: relative; min-width: 0; padding-top: 0; }
.league-master .calendar-round-details > section {
  display: flex;
  flex-direction: column;
  padding: clamp(13px, 1.7vw, 21px);
  border: 1px solid var(--league-surface-line);
}
.calendar-day-heading { position: relative; isolation: isolate; margin-bottom: 7px; }
.calendar-day-heading > :is(.eyebrow, h2, .round-date) { position: relative; padding-inline-end: clamp(41px, 6vw, 76px); }
.calendar-date-art {
  position: absolute;
  z-index: -1;
  inset-inline-end: 0;
  top: 0;
  width: clamp(40px, 6.6vw, 76px);
  aspect-ratio: 1;
  object-fit: contain;
  filter: drop-shadow(0 4px 9px #0d0809b8);
  pointer-events: none;
}
.league-master .calendar-round-details h2 { margin-block: 7px 5px; font-size: clamp(28px, 3.4vw, 40px); }
.league-master .calendar-round-details .round-date { margin-bottom: 7px; color: var(--master-muted); font-size: var(--data-text); }
.league-master .calendar-round-details .session-meta { margin: 0; gap: 4px 6px; }
.league-master .calendar-round-details .session-meta > div { padding: 3px 6px; }
.calendar-results-scroll { display: grid; align-content: start; gap: 6px; min-width: 0; }
.calendar-results-scroll:focus-visible { outline: 2px solid var(--master-signal); outline-offset: 2px; }
.league-master .calendar-match { margin: 0; }
.league-master .calendar-match > summary {
  display: grid;
  grid-template-columns: 26px minmax(0, 1fr) auto 11px;
  min-height: 44px;
  gap: 7px;
  padding: 5px 8px;
  border-inline-start: 2px solid var(--master-outcome-rule);
  background: #1b1517e0;
  cursor: pointer;
}
.league-master .calendar-match > summary:focus-visible { outline-offset: -3px; }
.calendar-pair { display: flex; flex-wrap: wrap; align-items: baseline; gap: 1px 5px; line-height: 1.2; }
.calendar-pair > strong { font-size: .8125rem; overflow-wrap: anywhere; }
.calendar-pair > [data-result] { color: var(--master-outcome-color); }
.calendar-versus { color: var(--master-muted); font-size: var(--data-label); }
.calendar-round-score { font-size: 16px; font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; }
.calendar-match[open] { border-radius: 8px; background: #150f1194; }
.calendar-match > .match-detail { padding: 9px 8px; }
.calendar-match-links { display: flex; flex-wrap: wrap; gap: 0 12px; padding-inline: 8px; }
.league-master :is(.calendar-results-footer, .calendar-match-links) .text-link { min-height: 34px; margin: 0; padding: 5px 0; gap: 7px; font-size: var(--data-label); }
.league-master :is(.calendar-results-footer, .calendar-match-links) .text-link > span { font-size: 16px; }
.calendar-results-footer { padding-top: 4px; }

@media (min-width: 901px) {
  .league-master .calendar-grid { grid-template-rows: repeat(6, clamp(44px, 4.5vw, 51px)); }
  .league-master .calendar-round-details > section { position: absolute; inset: 0; }
  .calendar-results-scroll {
    flex: 1 1 auto;
    min-height: 0;
    padding-inline-end: 4px;
    overflow: auto;
    overscroll-behavior-y: contain;
    scrollbar-gutter: stable;
    scrollbar-color: #d77e82a6 #25191b;
    scrollbar-width: thin;
  }
}

@media (hover: hover) {
  .league-master .participant-card:hover { border-color: #ff7c8091; }
  .league-master .match-card:hover { border-color: var(--master-outcome-rule); }
  .league-master .participant-card:hover .participant-open { transform: translate(2px, -2px); }
  .league-master .calendar-day:not([aria-pressed="true"]):not(.is-blank):hover { border-color: var(--league-surface-accent); }
  .carousel-buttons button:not(:disabled):hover, .league-master .match-scorecard summary:hover { border-color: var(--master-signal); }
}
@media (max-width: 900px) {
  .league-master .league-dashboard { grid-template-columns: minmax(0, 1fr); }
  .league-carousel--roster .carousel-track { grid-auto-columns: calc((100% - 36px) / 3.2); }
  .league-master .calendar-layout { grid-template-columns: minmax(0, 1fr); max-width: 42rem; margin-inline: auto; }
  .league-master .calendar-surface { max-width: none; }
  .league-master .calendar-utilities .calendar-result-jump { display: inline-flex; }
}
@media (max-width: 672px) {
  .standings-scroll-note { display: block; }
  .league-master .standings-table[data-mode="full"] [data-column="name"] { position: sticky; left: 0; z-index: 1; }
  .league-master .standings-table[data-mode="full"] tbody [data-column="name"] { background: var(--standing-row); }
}
@media (max-width: 510px) {
  .league-master .table-tools { grid-template-columns: minmax(0, 1fr); }
  .league-master .participants-grid .participant-card { grid-template-columns: minmax(0, 1fr); }
  .league-master .participants-grid .participant-card-art { aspect-ratio: 2.4; margin: 6px 6px 0; }
}
@media (max-width: 650px) {
  .league-overview-stage::before {
    background-image:
      linear-gradient(0deg, #120d13 1%, #1e1118a8 44%, #1a0e15cb 78%),
      url('/assets/league-cerchio.webp');
    background-position: center, 57% center;
    background-size: cover;
  }
  .league-carousel--roster .carousel-track { grid-auto-columns: calc((100% - 24px) / 2.15); }
  .upcoming-dates { grid-template-columns: minmax(0, 1fr); }
  html:has(.league-subnav) { --league-nav-height: 47px; }
  .site-header .league-subnav a { min-height: 46px; padding-block: 14px 12px; }
  .league-master .league-hub-hero-grid { gap: 26px; }
  .league-master .league-hub-hero h1 { font-size: clamp(72px, 22vw, 134px); }
  .league-master .league-roster-poster { width: min(86%, 330px); }
  .league-master .calendar-surface { padding-inline: 10px; }
  .league-master .calendar-weekdays, .league-master .calendar-grid { gap: 3px; }
  .league-master :is(.search-field input, .table-tools select, .match-filter-controls select) { font-size: 16px; }
}
@media (max-width: 400px) {
  .league-carousel--roster .carousel-track { grid-auto-columns: 83%; }
  .site-header .league-subnav > .wrap { gap: 8px; }
  .site-header .league-subnav a { font-size: 10.5px; }
  .league-master .league-page-heading h1 { font-size: clamp(50px, 15.4vw, 59px); }
  .league-master .match-status-filters button { padding-inline: 7px; }
}
@media (prefers-reduced-motion: reduce) {
  .league-master .participant-open, .carousel-buttons button,
  .league-master .match-scorecard summary, .league-master .match-scorecard summary::after { transition: none; }
  .league-master .participant-card:hover .participant-open { transform: none; }
  .league-module[data-linked-panel], .league-panel-link, .league-panel-link > span, .upcoming-date, .upcoming-date h3 a > span { transition: none; }
  .league-module[data-linked-panel]:is(:hover, :focus-within) .league-panel-link > span,
  .upcoming-date:is(:hover, :focus-within) h3 a > span { transform: none; }
}

/* Personal profiles */
.master-masthead { padding-block: clamp(18px, 2.4vw, 34px) clamp(32px, 5vw, 70px); }
.master-body { max-width: 54rem; }
.master-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, .72fr);
  grid-template-areas: "identity poster" "actions poster" "figures poster";
  align-items: center;
  gap: clamp(18px, 2.1vw, 30px) clamp(24px, 5vw, 74px);
}
.master-identity { grid-area: identity; align-self: end; }
.master-kicker {
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 0;
  color: var(--master-signal);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .14em;
  line-height: 1.4;
}
.master-kicker span {
  color: var(--master-muted);
  border-left: 1px solid var(--master-rule);
  padding-left: 9px;
}
.master-identity h1 {
  margin: 8px 0 clamp(14px, 2vw, 23px);
  color: var(--paper);
  font: 900 clamp(76px, 12.9vw, 184px)/.82 var(--display);
  letter-spacing: -.025em;
  overflow-wrap: anywhere;
  text-wrap: balance;
}
.master-identity h1 > span, .master-section-heading h2 > span { color: var(--master-signal); }
.master-identity-panel {
  margin-top: 16px;
  padding: 14px 16px;
  border: 1px solid var(--master-rule);
  border-radius: 15px;
  background: linear-gradient(130deg, #35252ac2, #191517ec);
}
.master-identity-facts {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 32px;
  margin: 0;
}
.master-identity-facts dt,
.master-release dt,
.master-keyfigures dt,
.master-performance dt {
  color: var(--league-surface-label);
  font-size: var(--data-label);
  letter-spacing: .06em;
  line-height: 1.35;
  text-transform: uppercase;
}
.master-identity-facts dd {
  margin: 3px 0 0;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.25;
}
.master-media-strip {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 11px 16px;
  flex-wrap: wrap;
  padding-top: 11px;
  margin-top: 11px;
  border-top: 1px solid var(--master-rule);
}
.master-release { margin: 0; }
.master-release dd {
  display: flex;
  align-items: baseline;
  gap: 4px 8px;
  flex-wrap: wrap;
  margin: 3px 0 0;
}
.master-release dd strong { font-size: 14px; }
.master-release dd > span { color: var(--master-muted); font-size: 11px; }
.master-socials { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; }
.master-socials > a {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 36px;
  padding: 7px 10px;
  border: 1px solid var(--master-rule);
  border-radius: 999px;
  font-size: 12px;
  line-height: 1.15;
}
.master-socials > a {
  background: var(--master-control);
  color: var(--paper);
  transition: border-color .2s, background-color .2s;
}
.master-socials > a span { color: var(--master-signal); }
.master-socials > a:hover { border-color: var(--master-signal); }
.league-master .koty-badge {
  gap: 7px;
  max-width: 100%;
  padding: 7px 10px;
  border-color: #e7c58299;
  border-radius: 999px;
  background: linear-gradient(125deg, #65492e78, #2d1a1973);
  color: var(--master-gold);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .065em;
  line-height: 1.2;
  text-transform: uppercase;
}
.league-master .koty-badge svg { width: 14px; height: 11px; }
.master-poster {
  grid-area: poster;
  position: relative;
  isolation: isolate;
  width: min(100%, 376px);
  justify-self: center;
  margin: 0;
}
.master-poster::before {
  content: '';
  position: absolute;
  inset: 4% -3% 8% 4%;
  transform: rotate(3deg);
  z-index: -1;
  border: 1px solid #f95b6b6b;
  background:
    repeating-linear-gradient(132deg, transparent 0 13px, #e9536a19 13px 14px),
    linear-gradient(158deg, #8a2234, #220d19);
}
.master-poster > a {
  position: relative;
  display: block;
  border: 1px solid #ff7e865e;
  border-radius: 8px;
  overflow: hidden;
  background: linear-gradient(145deg, #3a141c, #150d11);
  box-shadow: 0 18px 48px #080307b3;
  transition: transform .25s var(--ease);
}
.master-poster img { display: block; width: 100%; height: auto; }
.master-monogram-art {
  position: relative;
  isolation: isolate;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  overflow: hidden;
  aspect-ratio: 5 / 4;
  padding: clamp(14px, 2vw, 22px);
  border: 1px solid #ff7e865e;
  border-radius: 8px;
  box-shadow: 0 18px 48px #080307a0;
}
.master-monogram-art > span:not(.artist-avatar) {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.master-monogram-art .artist-avatar {
  position: absolute;
  inset: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
  font-size: clamp(94px, 15vw, 196px);
}
.master-poster-open {
  position: absolute;
  right: 10px;
  bottom: 10px;
  display: grid;
  place-items: center;
  width: 33px;
  height: 33px;
  border: 1px solid var(--master-rule);
  background: #190e14d9;
  color: var(--paper);
  font-size: 20px;
}
.master-poster figcaption {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 10px;
  color: var(--master-muted);
  font-size: 10px;
  letter-spacing: .12em;
}
.master-poster figcaption span { color: var(--master-signal); }
.master-keyfigures {
  grid-area: figures;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-self: start;
  width: min(100%, 34rem);
  gap: 6px;
  margin: 0;
}
.master-keyfigure {
  position: relative;
  min-width: 0;
  padding: 7px 9px;
  border: 1px solid var(--master-outcome-rule, var(--master-rule));
  border-radius: 8px;
  background: linear-gradient(142deg, var(--master-outcome-tint, #9a404339), #24191be0);
  transition: border-color .22s, box-shadow .22s, transform .22s var(--ease);
}
.master-keyfigure dt {
  font-size: 11.5px;
  letter-spacing: .015em;
  text-transform: none;
}
.master-keyfigure dd { margin: 3px 0 0; color: var(--master-outcome-color, var(--paper)); }
.master-keyfigure:first-child dd { color: var(--master-signal); }
.master-keyfigure dd > a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 4px;
}
.master-keyfigure dd > a::after { content: ''; position: absolute; inset: 0; border-radius: 8px; }
.master-keyfigure dd > a > span {
  color: var(--master-muted);
  font-size: 12px;
  transition: transform .22s var(--ease);
}
.master-keyfigure:is(:hover, :focus-within) {
  border-color: var(--master-outcome-color, #efb6c6);
  box-shadow: 0 5px 16px #1c0e2077, inset 0 1px 0 #ebc0d431;
  transform: translateY(-2px);
}
.master-keyfigure:is(:hover, :focus-within) dd > a > span { color: var(--paper); transform: translateY(2px); }
.master-keyfigure a:focus-visible { outline: 0; }
.master-keyfigure a:focus-visible::after {
  outline: 2px solid var(--master-gold);
  outline-offset: -2px;
}
.master-actions {
  grid-area: actions;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  width: min(100%, 26rem);
  align-self: start;
  gap: 8px;
}
.master-watch.button {
  min-height: 46px;
  padding: 8px 13px;
  gap: 8px;
  font-size: 13px;
  line-height: 1.2;
  transition: border-color .22s, box-shadow .22s, transform .22s var(--ease);
}
.master-actions .master-watch.button:is(:hover, :focus-visible) {
  transform: translateY(-2px);
}
.master-actions .master-watch.button:is(:hover, :focus-visible) > span {
  transform: translateY(3px);
}
.master-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  width: fit-content;
  color: var(--paper);
  font-size: 13px;
  text-decoration: underline;
  text-decoration-color: #e7b5bc70;
  text-underline-offset: 4px;
}
.master-link > span { color: var(--master-signal); }
.master-link:hover { text-decoration-color: var(--master-signal); }

.master-section {
  padding-block: clamp(23px, 3.5vw, 43px);
}
.master-section + .master-section { border-top: 1px solid var(--master-rule); }
.master-archive { max-width: 860px; margin-inline: auto; }
.master-section-heading { margin-bottom: clamp(13px, 1.9vw, 22px); }
.master-section-heading h2 {
  margin: 8px 0 0;
  font: 900 clamp(42px, 5.5vw, 74px)/.9 var(--display);
  letter-spacing: -.01em;
  text-transform: uppercase;
  text-wrap: balance;
}
.master-videos-empty .master-section-heading { margin-bottom: 12px; }
.master-videos-empty .master-section-heading h2 { font-size: clamp(35px, 4.6vw, 59px); }
.master-videos-empty > p { color: var(--master-muted); font-size: 14px; }
.master-video-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(12px, 2vw, 22px);
  list-style: none;
  margin: 0;
  padding: 0;
}
.master-video-grid > li { display: flex; min-width: 0; }
.master-video {
  display: flex;
  flex: 1;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--master-rule);
  border-radius: 16px;
  background: var(--master-panel);
  box-shadow: 0 13px 26px #09050a38;
  transition: transform .24s var(--ease), border-color .24s, box-shadow .24s;
}
.master-video-cover {
  --master-cover-accent: var(--master-signal);
  position: relative;
  display: grid;
  place-items: center;
  isolation: isolate;
  container-type: inline-size;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-bottom: 1px solid var(--master-rule);
  background:
    repeating-linear-gradient(140deg, transparent 0 18px, #ff829311 18px 19px),
    linear-gradient(142deg, #642135, #190f16 72%);
}
.master-video-cover img {
  position: absolute;
  inset: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .3s var(--ease);
}
.master-video-cover[data-round="finale"] { --master-cover-accent: var(--master-gold); }
.master-video-cover[data-round]:not([data-round=""])::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, #10070bd9 0%, #10070b80 46%, transparent 73%);
  pointer-events: none;
}
.master-cover-lockup {
  position: absolute;
  z-index: 1;
  inset: 12% auto 12% 6%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 6px;
  gap: clamp(5px, 1.4cqi, 9px);
  width: 57%;
  padding-left: 12px;
  padding-left: clamp(9px, 2.6cqi, 16px);
  border-left: 2px solid var(--master-cover-accent);
  text-transform: uppercase;
}
.master-cover-series {
  color: var(--master-cover-accent);
  font-size: 9px;
  font-size: clamp(8px, 2.15cqi, 12px);
  font-weight: 700;
  letter-spacing: .12em;
  line-height: 1.2;
}
.master-cover-round {
  color: var(--paper);
  font: 900 clamp(26px, 3.1vw, 48px)/.85 var(--display);
  font-size: clamp(26px, 9.2cqi, 51px);
  letter-spacing: -.01em;
}
.master-cover-match {
  color: var(--paper);
  font: 900 clamp(13px, 1.75vw, 23px)/1.04 var(--display);
  font-size: clamp(13px, 4.1cqi, 24px);
  text-wrap: balance;
}
.master-video-index {
  position: absolute;
  top: 12px;
  left: 12px;
  padding: 5px 9px;
  border: 1px solid #f0bfc46b;
  border-radius: 999px;
  background: #160b13e8;
  color: var(--paper);
  font: 900 19px/1 var(--display);
}
.master-play {
  display: grid;
  place-items: center;
  width: clamp(44px, 5vw, 62px);
  aspect-ratio: 1;
  border: 1px solid #ff939a8c;
  border-radius: 50%;
  color: #170a10;
  background: linear-gradient(135deg, #ffa1a2, #ee545d);
  box-shadow: 0 0 0 5px #10091472, 0 8px 26px #09050c94;
  transition: transform .24s var(--ease);
}
.master-cover-lockup ~ .master-play {
  position: absolute;
  z-index: 1;
  right: 5%;
  bottom: 9%;
  width: 36px;
  width: clamp(34px, 10cqi, 53px);
  border-color: var(--master-cover-accent);
  background: var(--master-cover-accent);
}
.master-video-info {
  display: flex;
  flex: 1;
  justify-content: space-between;
  align-items: center;
  gap: 15px;
  padding: clamp(13px, 1.8vw, 21px);
}
.master-video-copy { display: grid; gap: 6px; min-width: 0; }
.master-video-copy strong {
  color: var(--paper);
  font: 900 clamp(26px, 3.1vw, 41px)/.98 var(--display);
  overflow-wrap: anywhere;
}
.master-video-copy > span { color: var(--master-muted); font-size: 12px; line-height: 1.3; }
.master-video-copy > .master-video-cta { color: var(--master-signal); font-weight: 600; }
.master-video-arrow {
  align-self: start;
  color: var(--master-signal);
  font-size: 23px;
  line-height: 1;
  transition: transform .24s var(--ease);
}

.master-season-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(225px, 1fr);
  gap: clamp(9px, 1.5vw, 15px);
}
.master-performance {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-template-rows: auto auto;
  margin: 0;
  border: 1px solid var(--league-surface-line);
  overflow: hidden;
}
.master-performance > div {
  display: grid;
  grid-row: span 2;
  grid-template-rows: subgrid;
  min-width: 0;
  row-gap: 4px;
  padding: 8px var(--data-inset);
}
.master-performance dt { align-self: end; font-size: 12px; letter-spacing: 0; text-transform: none; overflow-wrap: anywhere; }
.master-performance .metric-term { display: flex; flex-wrap: wrap; gap: 3px 5px; }
.master-performance .metric-code { flex: none; }
.master-performance > div + div { border-left: 1px solid var(--league-surface-line); }
.master-performance dd {
  margin: 0;
  color: var(--league-surface-text);
}
.master-recent {
  --season-wash: #7c51413e;
  padding: 8px var(--data-inset);
  border: 1px solid var(--league-surface-line);
}
.master-recent h3 {
  margin: 0;
  font-family: inherit;
  font-size: var(--data-number);
  font-weight: 700;
  letter-spacing: 0;
}
.master-recent .profile-form { margin: 4px 0 0; padding: 0; border: 0; }
.master-recent .profile-form p { color: var(--league-surface-label); font-size: 12px; }
.master-recent .profile-form-list { margin-top: 7px; gap: 6px; }
.league-master [data-result="V"] {
  --master-outcome-color: #f1cd88;
  --master-outcome-tint: #cfa34c25;
  --master-outcome-rule: #f1cd8873;
}
.league-master [data-result="X"] {
  --master-outcome-color: #fff;
  --master-outcome-tint: #fff4ec1e;
  --master-outcome-rule: #f7eee76b;
}
.league-master [data-result="P"] {
  --master-outcome-color: #ff9297;
  --master-outcome-tint: #dc4c6725;
  --master-outcome-rule: #ff929773;
}
.master-recent .form-result[data-result] {
  width: 34px;
  height: 34px;
  color: var(--master-outcome-color);
  background: linear-gradient(140deg, var(--master-outcome-tint), #271b1e);
  border: 1px solid var(--master-outcome-rule);
  border-radius: 50%;
  transition: border-color .2s, box-shadow .2s;
}
.master-recent .form-result:is(:hover, :focus-visible) {
  border-color: var(--master-outcome-color);
  box-shadow: 0 0 0 2px var(--master-outcome-tint);
}
.master-related { display: flex; flex-wrap: wrap; gap: 0 22px; margin-top: 10px; }
.master-body .profile-sources { margin-top: 8px; }
.master-body .profile-sources summary { color: var(--master-muted); }

.master-coverage {
  margin: 11px 0 0;
  color: var(--master-muted);
  font-size: 13px;
  line-height: 1.5;
}
.master-result-controls {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 12px;
  margin-bottom: 10px;
}
.master-result-controls .results-count { padding: 0; font-size: 12px; }
.master-result-legend, .master-result > summary {
  display: grid;
  grid-template-columns: 4.5rem minmax(0, 1fr) minmax(5.25rem, .57fr) 3.5rem 26px;
  align-items: center;
  gap: 10px;
  padding-inline: var(--data-inset);
}
.master-result-legend {
  color: var(--master-muted);
  font-size: 12px;
  letter-spacing: .07em;
  text-transform: uppercase;
  padding-block: 5px 7px;
  padding-inline: calc(var(--data-inset) + 2px) calc(var(--data-inset) + 1px);
}
.master-result-legend span:nth-child(n+3) { text-align: center; }
.master-results { display: grid; gap: 7px; }
.master-result {
  border: 1px solid var(--master-rule);
  border-inline-start: 2px solid var(--master-outcome-rule);
  border-radius: 11px;
  background: var(--master-panel);
  transition: border-color .22s, box-shadow .22s, transform .22s var(--ease);
}
.master-result > summary {
  min-height: 46px;
  padding-block: 6px;
  border-radius: 12px;
  cursor: pointer;
  list-style: none;
}
.master-result > summary::-webkit-details-marker { display: none; }
.master-result[open] {
  border-color: var(--master-outcome-rule);
  box-shadow: 0 7px 22px #08050b44;
}
.master-result[open] > summary, .master-result > summary:active {
  background: linear-gradient(90deg, var(--master-outcome-tint), #1a131580 80%);
}
.master-result > summary:focus-visible {
  position: relative;
  z-index: 1;
  outline-offset: -2px;
}
.master-result time { color: var(--master-muted); font-size: 13px; font-variant-numeric: tabular-nums; }
.master-opponent { font-size: 16px; font-weight: 700; line-height: 1.2; overflow-wrap: anywhere; }
.master-opponent span { color: var(--master-muted); font-size: 12px; font-weight: 400; }
.master-outcome {
  justify-self: center;
  width: fit-content;
  padding: 3px 8px;
  border: 1px solid var(--master-outcome-rule);
  border-radius: 999px;
  color: var(--master-outcome-color);
  background: var(--master-outcome-tint);
  font-size: 12px;
  line-height: 1.3;
}
.master-round-score {
  justify-self: center;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.2;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.master-result-toggle {
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  border: 1px solid var(--master-rule);
  border-radius: 50%;
  color: var(--master-outcome-color);
  background: #120a1280;
}
.master-result-toggle svg { transition: transform .2s var(--ease); }
.master-result[open] .master-result-toggle svg { transform: rotate(180deg); }
.master-result-content { padding: 0 var(--data-inset) 9px; border-top: 1px solid var(--master-rule); }
.master-result[open] > .master-result-content { animation: master-result-in .2s var(--ease) both; }
@keyframes master-result-in {
  from { opacity: 0; transform: translateY(-3px); }
  to { opacity: 1; transform: translateY(0); }
}
.master-result-links { display: flex; flex-wrap: wrap; gap: 0 17px; margin-top: 5px; }

@media (min-width: 720px) {
  .master-result-content .match-detail { grid-template-columns: minmax(0, .8fr) minmax(0, 1fr); gap: 16px; }
  .master-result-content .match-rounds { display: grid; }
  .master-result-content .match-rounds li {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    padding: 5px 8px;
  }
}
@media (min-width: 1050px) {
  .master-keyfigures { grid-template-columns: repeat(6, minmax(0, 1fr)); }
}

@media (hover: hover) {
  .master-poster > a:hover { transform: translate(-2px, -3px); }
  .master-video:hover { transform: translateY(-3px); border-color: #ff767ba1; box-shadow: 0 15px 35px #09050a80; }
  .master-video:hover img, .master-video:hover .master-play { transform: scale(1.04); }
  .master-video:hover .master-video-arrow { transform: translate(2px, -2px); }
  .master-result:hover {
    border-color: var(--master-outcome-rule);
    box-shadow: 0 5px 18px #08050b55;
    transform: translateY(-1px);
  }
}

@media (max-width: 900px) {
  .master-hero-grid { gap: 16px 28px; }
  .master-identity h1 { font-size: clamp(72px, 12.8vw, 121px); }
}

@media (max-width: 680px) {
  .master-season-grid { grid-template-columns: 1fr; }
}

@media (max-width: 650px) {
  .master-masthead { padding-block: 24px 32px; }
  .league-master .breadcrumbs { font-size: 9px; gap: 8px; margin-bottom: 28px; }
  .master-hero-grid {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "identity" "actions" "figures" "poster";
    gap: 17px;
  }
  .master-identity h1 { font-size: clamp(74px, 22vw, 118px); margin-block: 12px 17px; }
  .master-kicker { font-size: 10px; gap: 6px; letter-spacing: .08em; }
  .master-kicker span { padding-left: 6px; }
  .master-identity-panel { padding: 12px 13px; }
  .master-identity-facts { display: grid; grid-template-columns: 1.4fr 1fr; gap: 8px 12px; }
  .master-identity-facts dt, .master-release dt, .master-keyfigures dt { letter-spacing: .03em; }
  .master-identity-facts dd { font-size: 15px; margin-top: 2px; }
  .master-socials > a { min-height: 40px; }
  .master-poster { width: min(88%, 330px); margin-top: 6px; }
  .master-poster figcaption { padding-top: 7px; font-size: 9px; }
  .master-watch.button { padding-inline: 9px; gap: 6px; font-size: 12px; }
  .master-video-grid { grid-template-columns: 1fr; }
  .master-result-legend { display: none; }
  .master-result > summary {
    grid-template-columns: 42px minmax(0, 1fr) 34px 26px;
    grid-template-areas: "date opponent score toggle" "date outcome score toggle";
    gap: 4px 7px;
    padding: 8px 10px;
  }
  .master-result time { grid-area: date; }
  .master-opponent { grid-area: opponent; }
  .master-outcome { grid-area: outcome; justify-self: start; padding: 2px 7px; }
  .master-round-score { grid-area: score; }
  .master-result-toggle { grid-area: toggle; }
}

@media (prefers-reduced-motion: reduce) {
  .master-poster > a, .master-video, .master-video-cover img, .master-play,
  .master-video-arrow, .master-result, .master-result-toggle svg, .master-socials > a { transition: none; }
  .master-poster > a:hover, .master-video:hover, .master-video:hover img, .master-video:hover .master-play,
  .master-video:hover .master-video-arrow, .master-result:hover { transform: none; }
  .master-result[open] > .master-result-content { animation: none; }
  .master-keyfigure, .master-keyfigure dd > a > span, .master-watch.button,
  .master-watch.button > span, .master-recent .form-result[data-result] { transition: none; }
  .master-keyfigure:is(:hover, :focus-within), .master-keyfigure:is(:hover, :focus-within) dd > a > span,
  .master-actions .master-watch.button:is(:hover, :focus-visible),
  .master-actions .master-watch.button:is(:hover, :focus-visible) > span { transform: none; }
}
.league-master { --match-pair-thumb: clamp(64px, 8vw, 83px); }
.match-visual {
  position: relative;
  display: block;
  overflow: hidden;
  isolation: isolate;
  background: radial-gradient(ellipse at 50% 24%, #5d292f, #171115 85%);
  border: 1px solid #ecb4b43b;
  border-radius: 9px;
}
.match-faces {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(0, 1fr);
  height: 100%;
}
.match-face {
  display: grid;
  justify-items: center;
  align-items: center;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
}
.match-face img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: var(--face-focus, center 34%);
  transform-origin: var(--face-origin, center 38%);
  transform: scale(var(--face-scale, 1));
  transition: transform .3s var(--ease), filter .2s;
}
.match-face[data-mc="casco"] { --face-focus: 53% 30%; --face-origin: 53% 30%; --face-scale: 1.46; }
.match-face[data-mc="sal-draven"] { --face-focus: 47% 34%; --face-origin: 47% 35%; --face-scale: 1.52; }
.match-art-layer {
  position: absolute;
  z-index: -1;
  inset: 0;
  overflow: hidden;
  border-radius: inherit;
  opacity: .42;
  pointer-events: none;
  transition: opacity .24s var(--ease);
}
.match-art-layer img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 9%;
}
.match-art-layer::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(95deg, #1b1119de, #1b1119b8 54%, #30141ec7);
}
.match-cover-link { position: relative; display: block; border-radius: 9px; }
.match-cover {
  --match-cover-height: clamp(118px, 12vw, 165px);
  height: var(--match-cover-height);
  margin-block: 9px 0;
  box-shadow: inset 0 1px #ffe2d829;
}
.match-cover .match-face:first-child { border-inline-end: 1px solid #f7a2a32e; }
.match-cover .match-face img {
  width: min(100%, calc(var(--match-cover-height) * 1.15));
  mask-image: radial-gradient(ellipse at 50% 42%, #000 48%, #000c 68%, transparent 96%);
}
.match-cover .match-art-layer { opacity: .82; }
.match-cover .match-art-layer::after { background: linear-gradient(0deg, #1b1014a8, #29101654); }
.match-cover::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, #160d1496, transparent 46%),
    radial-gradient(ellipse 145px 96px at var(--pointer-x, 50%) var(--pointer-y, 50%), #ef6e6d24, transparent);
  pointer-events: none;
}
.match-face-divider {
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  padding: 5px 7px;
  border: 1px solid #ffada480;
  border-radius: 6px;
  background: linear-gradient(150deg, #5a242c, #27161c);
  color: #ffdfd5;
  font-size: .6875rem;
  font-weight: 800;
  letter-spacing: .07em;
}
.match-cover-link > .ui-arrow, .match-poster-button {
  position: absolute;
  bottom: 5px;
  right: 5px;
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  background: linear-gradient(145deg, #522630, #26151d);
  border: 1px solid #ffaba873;
  border-radius: 8px;
  color: #ffe3dc;
  transition: color .2s, background .2s, border-color .2s;
}
.match-poster-button { position: relative; inset: auto; width: 44px; height: 44px; }
.match-cover-link:is(:hover, :focus-visible, :active) > .ui-arrow,
.match-poster-button:is(:hover, :focus-visible, :active) { color: #291219; background: linear-gradient(135deg, #ffcdba, #f39a99); }
.match-cover-link:focus-visible { outline: 2px solid #ffa5a2; outline-offset: 3px; }
.match-mini { width: var(--match-pair-thumb); height: 42px; border-radius: 6px; flex: none; }
.match-mini--single { width: 38px; height: 38px; }
.match-mini .match-face + .match-face { border-inline-start: 1px solid #e48b904d; }
.league-master .calendar-match > summary {
  grid-template-columns: var(--match-pair-thumb) minmax(0, 1fr) auto 12px;
  min-height: 56px;
  gap: 7px;
  padding: 6px 8px;
}
.league-master :is(.calendar-match > summary, .upcoming-pairing, .master-result > summary) {
  position: relative;
  isolation: isolate;
  background: radial-gradient(ellipse at var(--pointer-x, 96%) var(--pointer-y, 0%), #57263161, transparent 75%),
    linear-gradient(120deg, #2a191e, #191418 82%);
}
.league-master :is(.calendar-match[open] > summary, .master-result[open] > summary) {
  background: radial-gradient(ellipse at 0 18%, var(--master-outcome-tint), transparent 80%),
    linear-gradient(120deg, #372125, #1e171a);
}
.league-master .upcoming-pairings .upcoming-pairing {
  display: grid;
  grid-template-columns: var(--match-pair-thumb) minmax(0, 1fr) auto;
  align-items: center;
  min-height: 54px;
  margin-bottom: 5px;
  padding: 4px 6px;
  border: 1px solid var(--master-rule);
  border-radius: 8px;
}
.upcoming-date .upcoming-pairing { z-index: 2; }
.upcoming-pairing > .upcoming-names { display: flex; align-items: baseline; flex-wrap: wrap; gap: 1px 5px; }
.upcoming-names a { color: var(--paper); font-size: var(--data-text); font-weight: 650; overflow-wrap: anywhere; }
.master-opponent { display: flex; align-items: center; gap: 7px; min-width: 0; }
.master-opponent .master-opponent-name { font: inherit; color: var(--paper); }
.league-master .master-result-links > .match-poster-link {
  min-height: 40px;
  padding-block: 5px;
  margin: 0;
  font-size: .8125rem;
}
.league-master .match-card {
  position: relative;
  isolation: isolate;
  transition: border-color .22s var(--ease), box-shadow .26s var(--ease);
}
.league-master .match-card::before {
  content: '';
  position: absolute;
  z-index: -1;
  inset: 0;
  border-radius: inherit;
  background: radial-gradient(ellipse 215px 140px at var(--pointer-x, 50%) var(--pointer-y, 8%), #a5434e35, transparent 85%);
  pointer-events: none;
  opacity: 0;
  transition: opacity .25s var(--ease);
}
.league-master .match-card:is(:hover, :focus-within) { box-shadow: 0 11px 29px #07030866, inset 0 0 0 1px #ff998641; }
.league-master .match-card:is(:hover, :focus-within)::before { opacity: 1; }
.league-master :is(.upcoming-pairing, .calendar-match > summary):is(:hover, :focus-within, :focus-visible) {
  border-color: #e69a90a3;
  box-shadow: inset 0 1px #ffd5c52d;
}
.league-featured-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: clamp(12px, 2vw, 24px);
}
.league-featured-entry {
  min-width: 0;
  padding: clamp(12px, 2vw, 20px);
  border: 1px solid var(--master-rule);
  border-radius: 14px;
  background: radial-gradient(ellipse at 12% 0%, #7e303b50, transparent 68%), linear-gradient(145deg, #352027, #1d151b);
}
.league-featured-heading { margin-bottom: 12px; }
.league-featured-heading h3 { margin-bottom: 5px; font-size: clamp(24px, 3.8vw, 41px); line-height: .96; }
.league-featured-heading p { color: var(--master-muted); font-size: .875rem; line-height: 1.45; }
.league-official-archive .section-heading { margin-block: 0 clamp(14px, 2.5vw, 25px); }
.league-official-archive .section-heading h2 { font-size: clamp(39px, 5.8vw, 78px); }
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .league-master .match-card:hover .match-cover .match-face img { transform: scale(calc(var(--face-scale, 1) * 1.045)); filter: brightness(1.1); }
  :is(.calendar-match > summary, .master-result > summary, .upcoming-pairing):hover .match-face img { filter: brightness(1.16); }
  .match-cover-link:hover .match-art-layer { opacity: 1; }
}
@media (max-width: 640px) {
  .league-featured-grid { grid-template-columns: minmax(0, 1fr); }
  .match-mini { height: 38px; }
  .match-mini--single { width: 34px; height: 34px; }
  .league-master .calendar-match > summary { min-height: 52px; }
}
