.ucl-simulator-screen,
.ucl-draw-stage,
.ucl-moment-overlay,
.ucl-champion-overlay,
.ucl-addon-dialog {
  --ucl-navy-950: #04091a;
  --ucl-navy-900: #07112c;
  --ucl-navy-850: #0a1738;
  --ucl-navy-800: #0d1e4a;
  --ucl-blue: #315ee7;
  --ucl-blue-bright: #6f91ff;
  --ucl-gold: #8fb2ff;
  --ucl-ink: #f7f9ff;
  --ucl-muted: #93a2c8;
  --ucl-line: rgba(153, 176, 239, 0.16);
  --ucl-soft: rgba(120, 151, 234, 0.1);
  --ucl-ease-out: cubic-bezier(0.23, 1, 0.32, 1);
  --ucl-ease-in-out: cubic-bezier(0.77, 0, 0.175, 1);
  color: var(--ucl-ink);
  font-family: "Manrope", system-ui, sans-serif;
}

.ucl-simulator-screen[hidden],
.ucl-simulator-screen [hidden],
.ucl-draw-stage[hidden],
.ucl-draw-stage [hidden],
.ucl-moment-overlay[hidden],
.ucl-champion-overlay[hidden] {
  display: none !important;
}

html.route-ucl-loading,
html.route-ucl-loading body {
  min-height: 100%;
  background: var(--ucl-navy-950, #04091a);
}

html.route-uecl-loading,
html.route-uecl-loading body {
  background: #030605;
}

html.route-ucl-loading #appShell {
  display: none !important;
}

html.route-ucl-loading #uclSimulatorScreen {
  display: none !important;
}

body.ucl-simulator-open {
  min-height: 100vh;
  overflow-x: hidden;
  background: #04091a;
}

body.ucl-simulator-open #appShell {
  display: none !important;
}

.ucl-simulator-screen {
  min-height: 100vh;
  color-scheme: dark;
  background:
    radial-gradient(circle at 82% -8%, rgba(61, 94, 206, 0.28), transparent 34rem),
    radial-gradient(circle at -8% 55%, rgba(29, 61, 147, 0.16), transparent 28rem),
    var(--ucl-navy-950);
}

.ucl-simulator-header {
  position: sticky;
  z-index: 40;
  top: 0;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  min-height: 72px;
  align-items: center;
  padding: 0 28px;
  border-bottom: 1px solid rgba(152, 178, 249, 0.12);
  background: rgba(10, 23, 56, 0.94);
  box-shadow: 0 12px 34px rgba(1, 5, 18, 0.25);
  backdrop-filter: blur(16px);
}

.ucl-header-left,
.ucl-header-actions {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 7px;
}

.ucl-header-left {
  justify-self: start;
}

.ucl-header-actions {
  justify-self: end;
}

.ucl-site-brand {
  justify-self: center;
}

.ucl-icon-button,
.ucl-header-button {
  display: inline-flex;
  min-width: 40px;
  min-height: 40px;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 0 11px;
  border: 1px solid transparent;
  border-radius: 8px;
  color: #b8c8f4;
  background: transparent;
  font: 800 11px "Manrope", system-ui, sans-serif;
  cursor: pointer;
  transition: color 160ms ease, background-color 160ms ease, transform 140ms var(--ucl-ease-out);
}

.ucl-icon-button {
  padding: 0;
  font-size: 20px;
}

.ucl-icon-button:active,
.ucl-header-button:active,
.ucl-simulator-header .utility-button:active,
.ucl-simulator-header .ucl-restart-button:active,
.ucl-primary-action:active,
.ucl-secondary-action:active,
.ucl-view-tabs button:active,
.ucl-skip-button:active,
.ucl-skip-reveals:active {
  transform: scale(0.97);
}

.ucl-header-button[aria-pressed="true"] {
  color: #fff;
  background: rgba(67, 99, 190, 0.28);
}

.ucl-music-pulse {
  position: relative;
  display: grid;
  width: 18px;
  height: 18px;
  place-items: center;
  color: currentColor;
}

.ucl-fast-icon {
  color: #8fb2ff;
  font: 900 17px/1 "DM Mono", monospace;
  letter-spacing: -0.16em;
  transform: translateX(-1px);
}

.ucl-music-pulse::before {
  content: "\266B";
  font-size: 15px;
}

.ucl-music-pulse::after {
  position: absolute;
  right: -1px;
  bottom: 1px;
  width: 6px;
  height: 6px;
  border: 1px solid #08112b;
  border-radius: 50%;
  background: #7787aa;
  content: "";
}

.ucl-header-button.is-installed .ucl-music-pulse::after {
  background: #82a0ff;
  box-shadow: 0 0 14px rgba(114, 146, 255, 0.8);
}

.ucl-header-button.needs-gesture .ucl-music-pulse::after {
  background: var(--ucl-gold);
  box-shadow: 0 0 14px rgba(143, 178, 255, 0.72);
}

@media (hover: hover) and (pointer: fine) {
  .ucl-icon-button:hover,
  .ucl-header-button:hover {
    color: #fff;
    background: rgba(67, 99, 190, 0.28);
  }
}

/* Keep the UCL utility bar aligned with the season-mode shell while staying navy. */
.ucl-simulator-header {
  background: #0d1e4a;
}

.ucl-header-actions {
  grid-column: 3;
}

.ucl-simulator-header .ucl-restart-button,
.ucl-simulator-header .utility-button {
  display: inline-flex;
  min-width: 38px;
  min-height: 38px;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 0 10px;
  border: 1px solid transparent;
  border-radius: 8px;
  color: #aec5ff;
  background: transparent;
  font: 800 11px "Manrope", system-ui, sans-serif;
  cursor: pointer;
  transition: color 160ms ease, background-color 160ms ease, transform 140ms var(--ucl-ease-out);
}

.ucl-simulator-header .ucl-restart-button {
  padding: 0;
  font-size: 20px;
}

.ucl-simulator-header .main-account-button {
  color: #eef3ff;
  background: #17336f;
}

.ucl-simulator-header .header-donate-link {
  border-color: rgba(105, 141, 226, 0.26);
  color: #dce7ff;
  background: #142d63;
}

.ucl-simulator-header .account-avatar-icon {
  display: inline-flex;
  width: 18px;
  height: 18px;
}

.ucl-simulator-header .account-avatar-icon svg {
  width: 100%;
  height: 100%;
  fill: none;
  stroke: #a8c1ff;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.ucl-legacy-tool-button {
  display: none !important;
}

.ucl-tool-actions {
  display: flex;
  align-items: center;
  gap: 3px;
}

.ucl-tool-actions .ucl-header-button {
  min-height: 38px;
  padding-inline: 9px;
}

.ucl-stage-heading {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 12px;
}

.ucl-back-button {
  display: inline-flex;
  min-height: 38px;
  align-items: center;
  gap: 8px;
  padding: 0;
  border: 0;
  color: #aec5ff;
  background: transparent;
  font: 800 11px "Manrope", system-ui, sans-serif;
  cursor: pointer;
  transition: color 160ms ease, transform 140ms var(--ucl-ease-out);
}

.ucl-back-button > span:first-child {
  font-size: 19px;
  line-height: 1;
}

.ucl-back-button:active {
  transform: scale(0.97);
}

@media (hover: hover) and (pointer: fine) {
  .ucl-simulator-header .ucl-restart-button:hover,
  .ucl-simulator-header .utility-button:hover,
  .ucl-back-button:hover {
    color: #fff;
    background: rgba(59, 102, 202, 0.32);
  }

  .ucl-back-button:hover {
    background: transparent;
  }
}

.ucl-simulator-main {
  width: min(1240px, calc(100% - 40px));
  margin: 0 auto;
  padding: 30px 0 80px;
}

.ucl-action-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  min-height: 48px;
  align-items: center;
  gap: 18px;
  margin-bottom: 18px;
}

.ucl-action-row.is-league-phase .ucl-stage-copy {
  display: contents;
}

.ucl-action-row.is-league-phase .ucl-back-button {
  grid-column: 1;
  justify-self: start;
}

.ucl-action-row.is-league-phase .ucl-stage-heading {
  display: flex;
  grid-column: 2;
  grid-row: 1;
  justify-self: start;
  pointer-events: none;
}

.ucl-action-row.is-league-phase .ucl-stage-heading > span {
  display: none;
}

.ucl-action-row.is-league-phase .ucl-matchday-date {
  grid-column: 2;
  grid-row: 1;
  padding-left: 54px;
}

.ucl-action-row.is-league-phase .ucl-primary-actions {
  grid-column: 3;
  justify-self: end;
}

.ucl-action-row.is-fixed-knockout .ucl-stage-copy {
  display: contents;
}

.ucl-action-row.is-fixed-knockout .ucl-back-button {
  grid-column: 1;
  justify-self: start;
}

.ucl-action-row.is-fixed-knockout .ucl-stage-heading {
  grid-column: 2;
  justify-self: center;
}

.ucl-action-row.is-fixed-knockout .ucl-stage-heading > span {
  display: block;
}

.ucl-action-row.is-fixed-knockout .ucl-stage-heading small,
.ucl-action-row.is-fixed-knockout .ucl-matchday-date {
  display: none;
}

.ucl-stage-copy,
.ucl-matchday-date,
.ucl-primary-actions {
  display: flex;
  align-items: center;
}

.ucl-stage-copy {
  gap: 12px;
}

.ucl-stage-copy img {
  width: 42px;
  height: 42px;
  object-fit: contain;
}

.ucl-stage-heading > span,
.ucl-matchday-date {
  display: grid;
  gap: 3px;
}

.ucl-stage-copy small,
.ucl-matchday-date span,
.ucl-panel-kicker,
.ucl-bracket-stage > header span,
.ucl-fixtures-date {
  color: var(--ucl-blue-bright);
  font: 800 9px/1.2 "DM Mono", monospace;
  letter-spacing: 0.12em;
}

.ucl-stage-copy strong {
  font-size: 17px;
}

.ucl-matchday-date {
  justify-items: center;
  text-align: center;
}

.ucl-matchday-date strong {
  color: #fff;
  font-size: 16px;
  letter-spacing: -0.35px;
}

.ucl-primary-actions {
  justify-content: flex-end;
  gap: 9px;
}

.ucl-primary-action,
.ucl-secondary-action {
  min-height: 42px;
  padding: 0 17px;
  border-radius: 10px;
  font: 800 12px "Manrope", system-ui, sans-serif;
  cursor: pointer;
  transition: transform 140ms var(--ucl-ease-out), border-color 160ms ease, background-color 160ms ease, opacity 160ms ease;
}

.ucl-primary-action {
  border: 1px solid #698aff;
  color: #fff;
  background: linear-gradient(135deg, #3e67e5, #2748b3);
  box-shadow: 0 9px 28px rgba(39, 75, 185, 0.28);
}

.ucl-secondary-action {
  border: 1px solid rgba(132, 157, 229, 0.25);
  color: #c6d1ee;
  background: rgba(15, 33, 76, 0.78);
}

.ucl-primary-action:disabled,
.ucl-secondary-action:disabled {
  cursor: default;
  opacity: 0.44;
  transform: none;
}

@media (hover: hover) and (pointer: fine) {
  .ucl-primary-action:hover:not(:disabled) {
    background: linear-gradient(135deg, #5178ec, #3154c9);
  }

  .ucl-secondary-action:hover:not(:disabled) {
    color: #fff;
    border-color: rgba(143, 170, 248, 0.44);
    background: rgba(23, 49, 108, 0.86);
  }
}

.ucl-view-tabs {
  display: flex;
  min-width: 0;
  overflow-x: auto;
  border-top: 1px solid var(--ucl-line);
  border-bottom: 1px solid var(--ucl-line);
  scrollbar-width: none;
}

.ucl-view-tabs::-webkit-scrollbar {
  display: none;
}

.ucl-view-tabs button {
  position: relative;
  flex: 1 0 auto;
  min-width: 125px;
  min-height: 54px;
  padding: 0 20px;
  border: 0;
  color: #7f8fb7;
  background: transparent;
  font: 800 11px "Manrope", system-ui, sans-serif;
  cursor: pointer;
  transition: color 160ms ease, transform 140ms var(--ucl-ease-out);
}

.ucl-view-tabs button::after {
  position: absolute;
  right: 22%;
  bottom: -1px;
  left: 22%;
  height: 2px;
  content: "";
  background: var(--ucl-gold);
  transform: scaleX(0.45);
  opacity: 0;
  transition: transform 220ms var(--ucl-ease-out), opacity 160ms ease;
}

.ucl-view-tabs button.active {
  color: #fff;
}

.ucl-view-tabs button.active::after {
  transform: scaleX(1);
  opacity: 1;
}

.ucl-simulator-content {
  min-height: 480px;
  padding-top: 22px;
}

.ucl-overview-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.94fr) minmax(360px, 1.06fr);
  align-items: start;
  gap: 18px;
}

.ucl-overview-grid.has-golden-boot {
  grid-template-columns: minmax(0, 0.94fr) minmax(320px, 1.06fr) minmax(220px, 0.58fr);
}

.ucl-overview-grid.is-knockout-overview {
  grid-template-columns: minmax(280px, 0.82fr) minmax(320px, 1.06fr) minmax(220px, 0.58fr);
}

.ucl-overview-knockout-list {
  display: grid;
  gap: 9px;
  padding: 12px;
}

.ucl-overview-knockout-list .ucl-bracket-tie.is-revealed .ucl-bracket-team b {
  animation: none;
}

.ucl-overview-knockout-empty {
  display: grid;
  min-height: 230px;
  place-items: center;
  align-content: center;
  gap: 9px;
  color: #8fa6dc;
  text-align: center;
}

.ucl-overview-knockout-empty img {
  width: 54px;
  height: 54px;
  margin-bottom: 4px;
  opacity: 0.66;
}

.ucl-overview-knockout-empty strong {
  color: #fff;
  font-size: 14px;
}

.ucl-overview-knockout-empty span {
  font-size: 11px;
}

.ucl-complete-overview-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(230px, 0.3fr);
  align-items: start;
  gap: 18px;
}

.ucl-complete-overview-grid > .ucl-golden-boot.is-overview {
  align-self: start;
  overflow: hidden;
  border: 1px solid var(--ucl-line);
  border-radius: 13px;
  box-shadow: 0 18px 55px rgba(1, 5, 17, 0.18);
}

.ucl-panel {
  overflow: hidden;
  border: 1px solid var(--ucl-line);
  border-radius: 13px;
  background: rgba(10, 23, 55, 0.86);
  box-shadow: 0 18px 55px rgba(1, 5, 17, 0.18);
}

.ucl-panel > header,
.ucl-panel-heading {
  display: flex;
  min-height: 62px;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 13px 17px;
  border-bottom: 1px solid var(--ucl-line);
  background: rgba(20, 42, 96, 0.48);
}

.ucl-panel > header > div,
.ucl-panel-heading > div {
  display: grid;
  gap: 4px;
}

.ucl-panel h2,
.ucl-panel h3 {
  margin: 0;
  font-size: 16px;
}

.ucl-panel header button,
.ucl-panel-footer button,
.ucl-matchday-nav button {
  min-height: 34px;
  padding: 0 10px;
  border: 1px solid rgba(132, 157, 229, 0.2);
  border-radius: 6px;
  color: #adbee9;
  background: rgba(9, 22, 54, 0.58);
  font: 800 10px "Manrope", sans-serif;
  cursor: pointer;
}

.ucl-panel-footer {
  padding: 12px 16px;
  border-top: 1px solid var(--ucl-line);
  text-align: right;
}

.ucl-panel-footer button {
  border: 0;
  background: transparent;
}

.ucl-fixture-list,
.ucl-opponent-list,
.ucl-result-list {
  display: grid;
}

.ucl-fixture-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 12px;
}

.ucl-fixture-grid .ucl-fixture-row:nth-last-child(-n + 2) {
  border-bottom: 0;
}

.ucl-fixture-row {
  display: grid;
  grid-template-columns: 78px minmax(0, 1fr) 54px minmax(0, 1fr) 54px;
  min-height: 60px;
  align-items: center;
  gap: 9px;
  padding: 8px 15px;
  border-bottom: 1px solid rgba(149, 174, 239, 0.09);
  transition: background-color 160ms ease, transform 220ms var(--ucl-ease-out), opacity 220ms ease;
}

.ucl-fixture-row.is-no-matchday {
  grid-template-columns: minmax(0, 1fr) 60px minmax(0, 1fr);
  gap: 14px;
  padding-inline: 22px;
}

.ucl-fixture-row:last-child {
  border-bottom: 0;
}

.ucl-fixture-row.is-managed {
  background: linear-gradient(90deg, rgba(56, 91, 201, 0.22), rgba(56, 91, 201, 0.04));
  box-shadow: inset 3px 0 var(--ucl-gold);
}

.ucl-fixture-row.is-viewable {
  cursor: pointer;
}

.ucl-fixture-row.is-viewable:focus-visible {
  outline: 2px solid #8eb0ff;
  outline-offset: -2px;
}

@media (hover: hover) and (pointer: fine) {
  .ucl-fixture-row.is-viewable:hover {
    background: rgba(42, 79, 174, 0.18);
  }
}

.ucl-fixture-md {
  display: grid;
  gap: 2px;
  color: #8090b8;
  font: 700 9px "DM Mono", monospace;
  text-transform: uppercase;
}

.ucl-fixture-team {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 9px;
}

.ucl-fixture-team.is-away {
  flex-direction: row-reverse;
  text-align: right;
}

.ucl-fixture-team strong {
  overflow: hidden;
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ucl-score,
.ucl-kickoff {
  justify-self: center;
  font: 800 14px "DM Mono", monospace;
}

.ucl-score {
  display: inline-flex;
  min-width: 46px;
  min-height: 30px;
  align-items: center;
  justify-content: center;
  border-radius: 5px;
  color: #fff;
  background: #203c8f;
}

.ucl-kickoff {
  color: #6f7f9f;
  font-size: 11px;
}

.ucl-kickoff.is-watch-action {
  min-width: 74px;
  padding: 7px 9px;
  border: 1px solid rgba(142, 176, 255, 0.42);
  border-radius: 5px;
  color: #eef3ff;
  background: rgba(42, 79, 174, 0.32);
  font-family: "Manrope", sans-serif;
  font-size: 9px;
  text-align: center;
}

.ucl-fixture-row.is-watchable:hover .ucl-kickoff.is-watch-action,
.ucl-fixture-row.is-watchable:focus-visible .ucl-kickoff.is-watch-action {
  border-color: rgba(182, 202, 255, 0.72);
  background: rgba(52, 94, 205, 0.58);
}

.ucl-zone-chip {
  justify-self: end;
  padding: 4px 6px;
  border: 1px solid rgba(132, 157, 229, 0.2);
  border-radius: 4px;
  color: #91a4d4;
  font: 800 8px "DM Mono", monospace;
  letter-spacing: 0.08em;
}

.ucl-team-mark-small,
.ucl-team-mark-medium,
.ucl-team-mark-large {
  position: relative;
  display: inline-grid;
  flex: 0 0 auto;
  place-items: center;
  overflow: visible;
}

.ucl-team-mark-small {
  width: 28px;
  height: 28px;
}

.ucl-team-mark-medium {
  width: 38px;
  height: 38px;
}

.ucl-team-mark-large {
  width: 74px;
  height: 74px;
}

.ucl-team-mark-small img,
.ucl-team-mark-medium img,
.ucl-team-mark-large img {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100% !important;
  max-height: 100%;
  box-sizing: border-box;
  object-fit: contain;
}

.ucl-team-monogram {
  display: grid;
  width: 100%;
  height: 100%;
  place-items: center;
  border: 1px solid rgba(132, 157, 229, 0.26);
  border-radius: 50%;
  color: #dae3ff;
  background:
    url("./assets/ucl-starball-white.png") center/74% no-repeat,
    #162b67;
  font: 900 8px "DM Mono", monospace;
}

.ucl-team-mark-medium .ucl-team-monogram {
  font-size: 9px;
}

.ucl-team-mark-large .ucl-team-monogram {
  font-size: 12px;
}

/* Keep every crest inside a consistent layout slot without clipping crowns, stars or wide marks. */
.ucl-team-mark-small[data-team-id],
.ucl-team-mark-medium[data-team-id],
.ucl-team-mark-large[data-team-id] {
  --ucl-badge-scale: 1.03;
  --ucl-badge-y: 0px;
  box-sizing: border-box;
  overflow: visible !important;
  padding: 0;
  border-radius: 0;
}

.ucl-team-mark-small[data-team-id] img,
.ucl-team-mark-medium[data-team-id] img,
.ucl-team-mark-large[data-team-id] img {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  padding: 0 !important;
  display: block;
  object-fit: contain;
  transform: translateY(var(--ucl-badge-y)) scale(var(--ucl-badge-scale));
  transform-origin: center;
}

.ucl-club-flag[data-team-id="union-saint-gilloise"],
.ucl-team-mark-small[data-team-id="union-saint-gilloise"],
.ucl-team-mark-medium[data-team-id="union-saint-gilloise"],
.ucl-team-mark-large[data-team-id="union-saint-gilloise"] {
  --ucl-badge-scale: 2.2;
}

.ucl-club-flag[data-team-id="napoli"],
.ucl-team-mark-small[data-team-id="napoli"],
.ucl-team-mark-medium[data-team-id="napoli"],
.ucl-team-mark-large[data-team-id="napoli"] {
  --ucl-badge-scale: 1.7;
}

.ucl-club-flag[data-team-id="levski-sofia"],
.ucl-team-mark-small[data-team-id="levski-sofia"],
.ucl-team-mark-medium[data-team-id="levski-sofia"],
.ucl-team-mark-large[data-team-id="levski-sofia"] {
  --ucl-badge-scale: 2.4;
}

.ucl-club-flag[data-team-id="manchester-city"],
.ucl-team-mark-small[data-team-id="manchester-city"],
.ucl-team-mark-medium[data-team-id="manchester-city"],
.ucl-team-mark-large[data-team-id="manchester-city"] {
  --ucl-badge-scale: 1.03;
}

.ucl-club-flag[data-team-id="club-brugge"],
.ucl-team-mark-small[data-team-id="club-brugge"],
.ucl-team-mark-medium[data-team-id="club-brugge"],
.ucl-team-mark-large[data-team-id="club-brugge"] {
  --ucl-badge-scale: 0.9;
  --ucl-badge-y: -2px;
}

.ucl-club-flag[data-team-id="agf-aarhus"],
.ucl-team-mark-small[data-team-id="agf-aarhus"],
.ucl-team-mark-medium[data-team-id="agf-aarhus"],
.ucl-team-mark-large[data-team-id="agf-aarhus"] {
  --ucl-badge-scale: 0.91;
}

.ucl-club-flag[data-team-id="crvena-zvezda"],
.ucl-team-mark-small[data-team-id="crvena-zvezda"],
.ucl-team-mark-medium[data-team-id="crvena-zvezda"],
.ucl-team-mark-large[data-team-id="crvena-zvezda"] {
  --ucl-badge-scale: 0.72;
}

.ucl-club-flag[data-team-id="olympiacos"],
.ucl-team-mark-small[data-team-id="olympiacos"],
.ucl-team-mark-medium[data-team-id="olympiacos"],
.ucl-team-mark-large[data-team-id="olympiacos"] {
  --ucl-badge-scale: 0.9;
  --ucl-badge-y: -4px;
}

.ucl-club-flag[data-team-id="shakhtar-donetsk"],
.ucl-team-mark-small[data-team-id="shakhtar-donetsk"],
.ucl-team-mark-medium[data-team-id="shakhtar-donetsk"],
.ucl-team-mark-large[data-team-id="shakhtar-donetsk"] {
  --ucl-badge-scale: 0.9;
  --ucl-badge-y: -6px;
}

.ucl-club-flag[data-team-id="porto"],
.ucl-team-mark-small[data-team-id="porto"],
.ucl-team-mark-medium[data-team-id="porto"],
.ucl-team-mark-large[data-team-id="porto"] {
  --ucl-badge-scale: 0.95;
  --ucl-badge-y: -5px;
}

.ucl-club-flag[data-team-id="slovan-bratislava"],
.ucl-team-mark-small[data-team-id="slovan-bratislava"],
.ucl-team-mark-medium[data-team-id="slovan-bratislava"],
.ucl-team-mark-large[data-team-id="slovan-bratislava"] {
  --ucl-badge-y: -4px;
}

.ucl-club-flag[data-team-id="crvena-zvezda"],
.ucl-team-mark-small[data-team-id="crvena-zvezda"],
.ucl-team-mark-medium[data-team-id="crvena-zvezda"],
.ucl-team-mark-large[data-team-id="crvena-zvezda"] {
  --ucl-badge-y: -9px;
}

.ucl-club-flag:is(
  [data-team-id="feyenoord"],
  [data-team-id="galatasaray"],
  [data-team-id="gnk-dinamo-zagreb"],
  [data-team-id="nk-celje"],
  [data-team-id="olympique-lyonnais"],
  [data-team-id="psv-eindhoven"],
  [data-team-id="rb-leipzig"],
  [data-team-id="sporting-cp"]
),
.ucl-team-mark-small:is(
  [data-team-id="feyenoord"],
  [data-team-id="galatasaray"],
  [data-team-id="gnk-dinamo-zagreb"],
  [data-team-id="nk-celje"],
  [data-team-id="olympique-lyonnais"],
  [data-team-id="psv-eindhoven"],
  [data-team-id="rb-leipzig"],
  [data-team-id="sporting-cp"]
),
.ucl-team-mark-medium:is(
  [data-team-id="feyenoord"],
  [data-team-id="galatasaray"],
  [data-team-id="gnk-dinamo-zagreb"],
  [data-team-id="nk-celje"],
  [data-team-id="olympique-lyonnais"],
  [data-team-id="psv-eindhoven"],
  [data-team-id="rb-leipzig"],
  [data-team-id="sporting-cp"]
),
.ucl-team-mark-large:is(
  [data-team-id="feyenoord"],
  [data-team-id="galatasaray"],
  [data-team-id="gnk-dinamo-zagreb"],
  [data-team-id="nk-celje"],
  [data-team-id="olympique-lyonnais"],
  [data-team-id="psv-eindhoven"],
  [data-team-id="rb-leipzig"],
  [data-team-id="sporting-cp"]
) {
  --ucl-badge-scale: 0.9;
}

.ucl-club-flag[data-team-id="gnk-dinamo-zagreb"],
.ucl-team-mark-small[data-team-id="gnk-dinamo-zagreb"],
.ucl-team-mark-medium[data-team-id="gnk-dinamo-zagreb"],
.ucl-team-mark-large[data-team-id="gnk-dinamo-zagreb"] {
  --ucl-badge-y: -2px;
}

/* Historical crests are generated onto identical transparent 256px canvases.
   Keep their DOM boxes identical too: period artwork must never inherit the
   current-season per-file scale and vertical-offset corrections above. */
body.ucl-historical-groups :is(
  .ucl-club-flag,
  .ucl-team-mark-small,
  .ucl-team-mark-medium,
  .ucl-team-mark-large,
  .ucl-club-badge
)[data-team-id] {
  --ucl-badge-scale: 1;
  --ucl-badge-y: 0px;
}

body.ucl-historical-groups :is(
  .ucl-club-flag,
  .ucl-team-mark-small,
  .ucl-team-mark-medium,
  .ucl-team-mark-large
)[data-team-id] {
  overflow: visible !important;
}

body.ucl-historical-groups .ucl-club-badge[data-team-id] {
  scale: none;
  transform-origin: center;
}

body.ucl-historical-groups :is(
  .ucl-club-flag,
  .ucl-team-mark-small,
  .ucl-team-mark-medium,
  .ucl-team-mark-large
)[data-team-id] img,
body.ucl-historical-groups .ucl-club-badge[data-team-id] {
  filter:
    drop-shadow(0 1px 1px rgba(0, 0, 0, 0.5))
    drop-shadow(0 0 1px rgba(232, 239, 255, 0.46));
}

/* Tottenham's official navy marks disappear against the UCL navy surfaces.
   Use their standard reversed treatment without changing their dimensions. */
body:is(
  [data-club-competition-edition="ucl-2018-19"],
  [data-club-competition-edition="ucl-2010-11"]
) :is(
  .ucl-club-flag,
  .ucl-team-mark-small,
  .ucl-team-mark-medium,
  .ucl-team-mark-large
)[data-team-id="tottenham-hotspur"] img,
body:is(
  [data-club-competition-edition="ucl-2018-19"],
  [data-club-competition-edition="ucl-2010-11"]
) .ucl-club-badge[data-team-id="tottenham-hotspur"] {
  filter:
    brightness(0)
    invert(1)
    drop-shadow(0 1px 1px rgba(0, 0, 0, 0.42));
}

/* Ajax's period report crest is predominantly navy and needs the same
   broadcast-style reversed treatment on the 2012/13 navy surfaces. */
body[data-club-competition-edition="ucl-2012-13"] :is(
  .ucl-club-flag,
  .ucl-team-mark-small,
  .ucl-team-mark-medium,
  .ucl-team-mark-large
)[data-team-id="ajax"] img,
body[data-club-competition-edition="ucl-2012-13"] .ucl-club-badge[data-team-id="ajax"] {
  filter:
    brightness(0)
    invert(1)
    drop-shadow(0 1px 1px rgba(0, 0, 0, 0.42));
}

/* Managed league-phase fixtures use the shared live engine with a UCL broadcast skin. */
body.ucl-match-mode-active {
  background:
    radial-gradient(circle at 50% -15%, rgba(35, 78, 190, 0.36), transparent 46%),
    #02091b;
}

body.ucl-match-mode-active .sidebar {
  background: linear-gradient(90deg, #07132f, #0c2355) !important;
  border-bottom-color: rgba(122, 159, 255, 0.24) !important;
}

body.ucl-match-mode-active .content {
  grid-template-areas: "next stage table" !important;
}

body.ucl-match-mode-active #roundBoard,
body.ucl-match-mode-active #storyStrip,
body.ucl-match-mode-active .plot-panel,
body.ucl-match-mode-active #plLiveBackButton,
body.ucl-match-mode-active #plEngineTablePanel {
  display: none !important;
}

body.ucl-match-mode-active #uclEngineTablePanel {
  display: block !important;
  grid-area: table;
  align-self: start;
  width: 100%;
  border-color: rgba(104, 145, 255, 0.24);
  background: linear-gradient(180deg, rgba(13, 32, 76, 0.98), rgba(5, 16, 42, 0.98));
}

body.ucl-match-mode-active .insight-left {
  display: grid !important;
  grid-area: boot;
  align-content: start;
}

body.ucl-match-mode-active.club-competition-match-mode-active #uclLiveBackButton:not([hidden]) {
  display: inline-flex !important;
  border-color: rgba(105, 145, 255, 0.35);
  color: #edf3ff;
  background: #0b2355;
}

body.ucl-match-mode-active #uclLiveBackButton[hidden],
body.club-competition-match-mode-active #plLiveBackButton {
  display: none !important;
}

body.ucl-match-mode-active .match-stage {
  border-color: rgba(113, 151, 255, 0.3) !important;
  background:
    radial-gradient(circle at 50% 36%, rgba(38, 92, 217, 0.24), transparent 46%),
    linear-gradient(155deg, #061431, #020817 72%) !important;
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.38);
}

body.ucl-match-mode-active .match-stage::after {
  background: linear-gradient(90deg, #386dff, #8fb2ff, #386dff) !important;
}

body.ucl-match-mode-active .primary-button,
body.ucl-match-mode-active .play-button,
body.ucl-match-mode-active .standard-tactic-buttons button.active,
body.ucl-match-mode-active .pl-engine-table-row.is-selected {
  color: #ffffff !important;
  background: #315ee7 !important;
}

body.ucl-match-mode-active .ucl-club-flag img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transform: scale(var(--ucl-badge-scale, 1.03));
  transform-origin: center;
}

body.ucl-match-mode-active:not(.ucl-historical-groups) .fixture .ucl-club-flag[data-team-id="shakhtar-donetsk"] img {
  transform: translateY(-6px) scale(0.8);
}

body.ucl-match-mode-active:not(.ucl-historical-groups) .fixture .ucl-club-flag[data-team-id="crvena-zvezda"] img {
  transform: translateY(-11px) scale(0.68);
}

body.ucl-match-mode-active .pl-engine-table-row span .ucl-team-mark-small {
  width: 24px;
  height: 24px;
}

@media (min-width: 1181px) {
  body.ucl-match-mode-active #uclEngineTablePanel {
    margin-top: 70px;
  }
}

@media (min-width: 851px) and (max-width: 1180px) {
  body.ucl-match-mode-active #uclEngineTablePanel {
    margin-top: 70px;
  }
}

/* UEFA Conference League 2026/27. Structural .ucl-* hooks remain shared;
   every visual override is competition-scoped to keep UCL and UEL isolated. */
body.club-competition-uecl :is(
  .ucl-simulator-screen,
  .ucl-draw-stage,
  .ucl-moment-overlay,
  .ucl-champion-overlay,
  .ucl-addon-dialog
) {
  --ucl-navy-950: #030605;
  --ucl-navy-900: #060b08;
  --ucl-navy-850: #0a110d;
  --ucl-navy-800: #101914;
  --ucl-blue: #00f169;
  --ucl-blue-bright: #72f4a8;
  --ucl-gold: #00f169;
  --ucl-ink: #f7fff9;
  --ucl-muted: #9fb2a6;
  --ucl-line: rgba(226, 244, 233, 0.12);
  --ucl-soft: rgba(0, 241, 105, 0.08);
  color: #f7fff9;
}

body.club-competition-uecl.ucl-simulator-open,
body.club-competition-uecl .ucl-simulator-screen {
  background:
    radial-gradient(ellipse at 76% -8%, rgba(0, 241, 105, 0.12), transparent 33rem),
    linear-gradient(180deg, #060b08 0%, #030605 62%, #020403 100%);
}

body.club-competition-uecl .ucl-simulator-header {
  border-color: rgba(226, 244, 233, 0.1);
  background: rgba(3, 7, 5, 0.97);
  box-shadow: 0 12px 34px rgba(0, 0, 0, 0.42);
}

body.club-competition-uecl .ucl-simulator-header :is(
  .ucl-icon-button,
  .ucl-header-button,
  .utility-button,
  .ucl-restart-button,
  .header-donate-link,
  .main-account-button
) {
  border-color: rgba(226, 244, 233, 0.1);
  color: #cbd9d0;
  background: #0c130f;
}

body.club-competition-uecl .ucl-simulator-header .brand-mark {
  border: 1px solid rgba(0, 241, 105, 0.4);
  color: #f7fff9;
  background: #092116;
}

body.club-competition-uecl :is(
  #clubCompetitionLogo,
  [data-club-competition-logo],
  .ucl-trophy.is-competition-logo img,
  #clubCompetitionChampionTrophyImage
) {
  filter: drop-shadow(0 10px 20px rgba(0, 241, 105, 0.18));
}

body.club-competition-uecl :is(
  .ucl-stage-heading small,
  .ucl-panel-kicker,
  .ucl-bracket-stage > header span,
  .ucl-champion-kicker,
  .ucl-addon-shell > header span,
  .ucl-matchday-heading small,
  .ucl-golden-boot > header > small
) {
  display: none !important;
}

body.club-competition-uecl .ucl-action-row {
  background: transparent;
}

body.club-competition-uecl .ucl-view-tabs {
  border-color: rgba(226, 244, 233, 0.11);
  border-radius: 10px;
  background: rgba(5, 11, 8, 0.88);
}

body.club-competition-uecl .ucl-view-tabs button {
  color: #91a499;
  background: transparent;
}

body.club-competition-uecl .ucl-view-tabs button.active {
  color: #f7fff9;
  background: rgba(0, 241, 105, 0.09);
}

body.club-competition-uecl .ucl-view-tabs button.active::after {
  background: #00f169;
}

body.club-competition-uecl :is(
  .ucl-panel,
  .ucl-golden-boot,
  .ucl-bracket-tie,
  .ucl-empty-state,
  .ucl-leg-switcher,
  .ucl-opponent-card,
  .ucl-fixture-row
) {
  border-color: rgba(226, 244, 233, 0.11);
  color: #f1f8f3;
  background: rgba(10, 16, 12, 0.95);
  box-shadow: 0 18px 52px rgba(0, 0, 0, 0.24);
}

body.club-competition-uecl :is(.ucl-panel > header, .ucl-panel-heading, .ucl-golden-boot > header) {
  border-color: rgba(226, 244, 233, 0.1);
  background: #0d1510;
}

body.club-competition-uecl :is(.ucl-panel header button, .ucl-panel-footer button, .ucl-matchday-nav button, .ucl-leg-switcher button) {
  border-color: rgba(226, 244, 233, 0.14);
  color: #d4e0d8;
  background: #111b15;
}

body.club-competition-uecl :is(
  .ucl-panel h2,
  .ucl-panel h3,
  .ucl-stage-copy strong,
  .ucl-matchday-date strong,
  .ucl-table-club strong,
  .ucl-fixture-team strong,
  .ucl-golden-boot-row > span strong
) {
  color: #f7fff9;
}

body.club-competition-uecl :is(
  .ucl-stage-copy small,
  .ucl-matchday-date span,
  .ucl-fixtures-date,
  .ucl-opponent-venue-label,
  .ucl-fixture-md
) {
  color: #72ce96 !important;
}

body.club-competition-uecl :is(
  .ucl-opponent-copy small,
  .ucl-golden-boot-row > b,
  .ucl-golden-boot-row > span small,
  .ucl-golden-boot-empty,
  .ucl-table-legend,
  .ucl-table th,
  .ucl-table td:not(:first-child)
) {
  color: #91a499;
}

body.club-competition-uecl :is(.ucl-opponent-card, .ucl-fixture-row, .ucl-golden-boot-row, .ucl-table td) {
  border-color: rgba(226, 244, 233, 0.075);
}

body.club-competition-uecl :is(.ucl-fixture-row.is-managed, .ucl-table tr.is-managed) {
  background: rgba(0, 241, 105, 0.075);
  box-shadow: inset 2px 0 rgba(0, 241, 105, 0.6);
}

body.club-competition-uecl .ucl-table tr.is-managed {
  box-shadow: none;
}

body.club-competition-uecl :is(.ucl-score, .ucl-bracket-team.is-winner) {
  color: #8ff2b6;
  background: rgba(0, 241, 105, 0.09);
}

body.club-competition-uecl :is(.ucl-kickoff.is-watch-action, .ucl-primary-action, .ucl-skip-button, .ucl-import-addon, .ucl-launch-button) {
  border-color: #00f169;
  color: #031008;
  background: #00f169;
  box-shadow: 0 10px 24px rgba(0, 180, 78, 0.2);
  clip-path: none;
}

body.club-competition-uecl :is(.ucl-secondary-action, .ucl-pause-button) {
  border-color: rgba(0, 241, 105, 0.35);
  color: #e7f2eb;
  background: #0d1c13;
}

body.club-competition-uecl .ucl-table tbody tr[data-zone] td:first-child {
  background: transparent !important;
  box-shadow: none !important;
}

body.club-competition-uecl .ucl-table tbody tr[data-zone="direct"] td:first-child { color: #00f169; }
body.club-competition-uecl .ucl-table tbody tr[data-zone="playoff"] td:first-child { color: #8dd5a9; }
body.club-competition-uecl .ucl-table tbody tr[data-zone="out"] td:first-child { color: #69776e; }
body.club-competition-uecl .ucl-table tr.zone-divider td { border-top-color: rgba(0, 241, 105, 0.27); }
body.club-competition-uecl .ucl-table-legend span:nth-child(1) { --legend-color: #00f169; }
body.club-competition-uecl .ucl-table-legend span:nth-child(2) { --legend-color: #8dd5a9; }
body.club-competition-uecl .ucl-table-legend span:nth-child(3) { --legend-color: #69776e; }

body.club-competition-uecl .ucl-draw-stage {
  background:
    radial-gradient(ellipse at 50% 30%, rgba(0, 241, 105, 0.12), transparent 32rem),
    linear-gradient(180deg, #060c08 0%, #030605 72%, #020403 100%);
}

body.club-competition-uecl .ucl-draw-stage::before,
body.club-competition-uecl .ucl-stage-beam {
  display: none;
}

body.club-competition-uecl .ucl-draw-header {
  border-bottom-color: rgba(226, 244, 233, 0.1);
  background: rgba(3, 7, 5, 0.96);
}

body.club-competition-uecl :is(.ucl-draw-progress span, .ucl-draw-progress strong, .ucl-pot-base span) {
  color: #72ce96;
}

body.club-competition-uecl .ucl-ceremony-scene {
  border-color: rgba(226, 244, 233, 0.11);
  background:
    radial-gradient(ellipse at 50% 100%, rgba(0, 241, 105, 0.09), transparent 52%),
    linear-gradient(180deg, rgba(11, 20, 14, 0.92), rgba(3, 7, 5, 0.97));
}

body.club-competition-uecl .ucl-draw-pot {
  border-color: rgba(214, 239, 224, 0.34);
  background: rgba(26, 43, 33, 0.2);
  box-shadow: inset 18px 0 30px rgba(255, 255, 255, 0.03), inset -20px -20px 36px rgba(0, 0, 0, 0.32), 0 22px 50px rgba(0, 0, 0, 0.35);
}

body.club-competition-uecl .ucl-team-monogram {
  overflow: hidden;
  border-color: rgba(0, 241, 105, 0.45);
  color: #f7fff9;
  background-color: #092116;
  background-image: none;
}

body.club-competition-uecl .ucl-team-monogram::before { display: none; }

body.club-competition-uecl .ucl-mini-ball,
body.club-competition-uecl .ucl-feature-ball-half {
  border-color: rgba(163, 255, 202, 0.68);
  background: radial-gradient(circle at 34% 28%, #d9ffe8, #00f169 52%, #062113 100%);
  box-shadow: inset 0 0 18px rgba(232, 255, 241, 0.22), 0 12px 32px rgba(0, 180, 78, 0.24);
}

body.club-competition-uecl :is(.ucl-draw-pot-base, .ucl-pot-base) {
  border-color: rgba(0, 241, 105, 0.55);
  background: linear-gradient(180deg, #0d3420, #07110b);
}

body.club-competition-uecl .ucl-reveal-copy {
  border-color: rgba(226, 244, 233, 0.13);
  border-left-color: #00f169;
  color: #f7fff9;
  background: #0c1510;
}

body.club-competition-uecl .ucl-drawn-team {
  border-color: rgba(226, 244, 233, 0.12);
  background: #0d1711;
}

body.club-competition-uecl :is(.ucl-moment-overlay, .ucl-champion-overlay) {
  background:
    radial-gradient(circle at 50% 30%, rgba(0, 241, 105, 0.15), transparent 34rem),
    rgba(2, 5, 3, 0.97);
}

body.club-competition-uecl :is(.ucl-moment-card, .ucl-champion-card, .ucl-champion-overview) {
  border-color: rgba(226, 244, 233, 0.13);
  background:
    radial-gradient(circle at 50% 0%, rgba(0, 241, 105, 0.08), transparent 24rem),
    #08100b;
  box-shadow: 0 34px 90px rgba(0, 0, 0, 0.62);
}

.ucl-champion-awards {
  display: grid;
  width: min(100%, 720px);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 18px auto 4px;
}

.ucl-champion-awards > div {
  min-width: 0;
  padding: 12px;
  border: 1px solid rgba(132, 157, 229, 0.22);
  border-radius: 12px;
  background: rgba(10, 24, 58, 0.56);
}

.ucl-champion-awards :is(dt, dd) { margin: 0; }
.ucl-champion-awards dt { color: #aabbe6; font: 700 10px/1.3 "DM Mono", monospace; }
.ucl-champion-awards dd { display: grid; gap: 4px; margin-top: 6px; }
.ucl-champion-awards strong { overflow-wrap: anywhere; color: #fff; font-size: 13px; }
.ucl-champion-awards small { color: #aabbe6; font-size: 10px; }

body.club-competition-uecl .ucl-champion-awards > div {
  border-color: rgba(0, 241, 105, 0.22);
  background: rgba(3, 12, 7, 0.84);
}

body.club-competition-uecl .ucl-champion-awards :is(dt, small) { color: #9eb0a5; }
body.club-competition-uecl .ucl-champion-awards strong { color: #f7fff9; }

body.club-competition-uecl .ucl-trophy.is-competition-logo,
body.club-competition-uecl .ucl-trophy:has(#clubCompetitionChampionTrophyImage:not([hidden])) {
  width: 128px;
  height: 128px;
}

body.club-competition-uecl .ucl-trophy.is-competition-logo img,
body.club-competition-uecl #clubCompetitionChampionTrophyImage {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

body.club-competition-uecl .ucl-champion-badge {
  margin-top: 10px;
}

body.club-competition-uecl.uecl-route-setup-active .mode-route-setup-panel {
  border-color: rgba(0, 241, 105, 0.18);
  background: rgba(7, 14, 9, 0.97);
  box-shadow: 0 26px 70px rgba(0, 0, 0, 0.52);
}

.club-competition-setup-intro {
  display: grid;
  gap: 8px;
  margin: 0 0 24px;
}

.club-competition-setup-intro h1 {
  margin: 0;
  color: #fff;
  font: 800 clamp(23px, 3vw, 34px)/1.08 "Manrope", sans-serif;
  letter-spacing: -0.035em;
}

.club-competition-setup-intro p {
  max-width: 58ch;
  margin: 0;
  color: #aabbe6;
  font-size: 13px;
  line-height: 1.55;
}

body.club-competition-uecl .club-competition-setup-intro h1 { color: #f7fff9; }
body.club-competition-uecl .club-competition-setup-intro p { color: #9eb0a5; }
body.club-competition-uel .club-competition-setup-intro p { color: #c8bdb3; }

body.club-competition-uecl.uecl-route-setup-active .mode-route-setup-panel .spectate-picker {
  border-color: rgba(0, 241, 105, 0.28) !important;
  background: rgba(0, 241, 105, 0.055) !important;
}

#spectateModal[data-club-competition="uecl"] {
  border: 1px solid rgba(0, 241, 105, 0.18);
  color: #f7fff9;
  background: #08100b;
  box-shadow: 0 24px 72px rgba(0, 0, 0, 0.64);
}

#spectateModal[data-club-competition="uecl"]::backdrop {
  background: rgba(1, 5, 3, 0.86);
  backdrop-filter: blur(5px);
}

#spectateModal[data-club-competition="uecl"] :is(#spectateModalTitle, .prediction-option strong) { color: #f7fff9; }
#spectateModal[data-club-competition="uecl"] .prediction-search { border-color: rgba(0, 241, 105, 0.18); background: #030705; }
#spectateModal[data-club-competition="uecl"] .prediction-search input { color: #f7fff9; }
#spectateModal[data-club-competition="uecl"] .prediction-search input::placeholder { color: #829489; }
#spectateModal[data-club-competition="uecl"] .prediction-search:focus-within { border-color: #00f169; background: #071009; box-shadow: inset 0 0 0 1px #00f169; }
#spectateModal[data-club-competition="uecl"] .close-modal { border: 1px solid rgba(0, 241, 105, 0.22); color: #dce9e0; background: #0d1c13; }
#spectateModal[data-club-competition="uecl"] .prediction-option { color: #e5efe8; background: #0d1711; }
#spectateModal[data-club-competition="uecl"] .prediction-option small { color: #93a79a; }
#spectateModal[data-club-competition="uecl"] .prediction-option i { color: #72ce96; }
#spectateModal[data-club-competition="uecl"] .prediction-option:is(.selected, :focus-visible) { background: #10291b; box-shadow: inset 3px 0 #00f169; outline-color: #00f169; }
#spectateModal[data-club-competition="uecl"] .ucl-club-code { border-color: rgba(0, 241, 105, 0.3); color: #f7fff9; background: #164d2d; }
#spectateModal[data-club-competition="uecl"] .ucl-neutral-mark img { filter: none; }
body.club-competition-uecl #uclMusicDialog .ucl-addon-shell > header > div > span { display: none; }

@media (hover: hover) and (pointer: fine) {
  #spectateModal[data-club-competition="uecl"] :is(.close-modal, .prediction-option):hover {
    border-color: rgba(0, 241, 105, 0.46);
    color: #f7fff9;
    background: #153522;
  }
}

/* Conference Match Centre */
body.pl-match-mode-active.uecl-match-mode-active {
  --bg: #030605 !important;
  --surface: #08100b !important;
  --surface-2: #0d1711 !important;
  --text: #f7fff9 !important;
  --line: rgba(226, 244, 233, 0.1) !important;
  --line-strong: rgba(226, 244, 233, 0.17) !important;
  --muted: rgba(203, 219, 209, 0.64) !important;
  --soft: rgba(230, 242, 234, 0.8) !important;
  --pl-accent: #00f169;
  --pl-purple: #00f169;
  color: #f7fff9 !important;
  background: #030605 !important;
}

body.pl-match-mode-active.uecl-match-mode-active :is(#appShell, .main, .content) {
  color: #f7fff9 !important;
  background:
    radial-gradient(ellipse at 62% -12%, rgba(0, 241, 105, 0.1), transparent 36rem),
    linear-gradient(180deg, #060b08 0%, #030605 72%) !important;
}

body.pl-match-mode-active.uecl-match-mode-active :is(.sidebar, .topbar) {
  border-color: rgba(226, 244, 233, 0.1) !important;
  color: #f7fff9 !important;
  background: rgba(3, 7, 5, 0.98) !important;
}

body.pl-match-mode-active.uecl-match-mode-active :is(
  .match-stage,
  .panel,
  .match-analysis,
  .standard-match-tactics,
  .golden-boot-panel,
  .pl-engine-table-panel,
  #uclEngineTablePanel,
  #roundBoard
) {
  border-color: rgba(226, 244, 233, 0.11) !important;
  color: #f7fff9 !important;
  background: #08100b !important;
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.24) !important;
}

body.pl-match-mode-active.uecl-match-mode-active #matchStage.match-stage {
  background:
    radial-gradient(circle at 50% 34%, rgba(0, 241, 105, 0.1), transparent 22rem),
    linear-gradient(180deg, #0c1710, #060b08 78%) !important;
}

body.pl-match-mode-active.uecl-match-mode-active .match-stage::before,
body.pl-match-mode-active.uecl-match-mode-active .match-stage::after,
body.pl-match-mode-active.uecl-match-mode-active #roundBoard .fixture.selected::before {
  display: none !important;
}

body.pl-match-mode-active.uecl-match-mode-active :is(
  .panel-heading > span,
  .match-analysis-heading > span,
  .page-kicker,
  .section-kicker,
  #roundBoard .fixture-card-head small
) {
  display: none !important;
}

body.pl-match-mode-active.uecl-match-mode-active :is(
  .team,
  .team h2,
  .score-zone,
  .score span,
  .match-score,
  .panel-heading strong,
  .match-analysis-heading strong,
  #roundBoard .section-heading h3,
  #roundBoard .fixture .fixture-team .name
) {
  color: #f7fff9 !important;
}

body.pl-match-mode-active.uecl-match-mode-active #matchStage .matchup > .team {
  border: 0 !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

body.pl-match-mode-active.uecl-match-mode-active :is(.team .seed, .venue, .score small, .result-note, .stage-action p, .match-stat-row span) {
  color: #93a79a !important;
}

body.pl-match-mode-active.uecl-match-mode-active :is(.match-commentary-feed, .live-sim, .match-events, .standard-tactic-buttons, .pl-watch-tactics) {
  border-color: rgba(226, 244, 233, 0.1) !important;
  color: #e5efe8 !important;
  background: #050a07 !important;
}

body.pl-match-mode-active.uecl-match-mode-active :is(.primary-button, .play-button, #snapshotButton, .stage-action button) {
  border-color: #00f169 !important;
  color: #031008 !important;
  background: #00f169 !important;
  box-shadow: 0 10px 24px rgba(0, 180, 78, 0.2) !important;
}

body.pl-match-mode-active.uecl-match-mode-active :is(.secondary-button, .live-control, .skip-control, #roundBoard #simulateRoundButton, #roundBoard .history-round-button) {
  border-color: rgba(226, 244, 233, 0.13) !important;
  color: #dbe7df !important;
  background: #0d1711 !important;
  box-shadow: none !important;
}

body.pl-match-mode-active.uecl-match-mode-active .standard-tactic-buttons button.active {
  border-color: rgba(0, 241, 105, 0.54) !important;
  color: #031008 !important;
  background: #00d65d !important;
}

body.pl-match-mode-active.uecl-match-mode-active #roundBoard .fixture {
  border-color: rgba(226, 244, 233, 0.085) !important;
  color: #c9d8ce !important;
  background: #0d1711 !important;
  box-shadow: none !important;
}

body.pl-match-mode-active.uecl-match-mode-active :is(.pl-engine-full-table, .golden-boot-rank, .golden-boot-row > b, #livePhase, #resultNote) {
  color: #72ce96 !important;
}

@media (max-width: 720px) {
  body.club-competition-uecl .ucl-simulator-main { width: min(100% - 20px, 760px); }
  body.club-competition-uecl .ucl-action-row { border-left: 0; background: transparent; }
  body.club-competition-uecl .ucl-bracket-shell { scroll-snap-type: x proximity; }
  body.club-competition-uecl .ucl-bracket-stage { scroll-snap-align: start; }
  body.club-competition-uecl :is(
    .ucl-simulator-header button,
    .ucl-back-button,
    .ucl-action-row button,
    .ucl-panel > header button,
    .mode-route-setup-panel .mode-card-actions button,
    .ucl-champion-actions button,
    .ucl-addon-actions button,
    .ucl-addon-actions label
  ),
  body.pl-match-mode-active.uecl-match-mode-active :is(
    #uclLiveBackButton,
    .live-control,
    .standard-tactic-buttons button,
    #snapshotButton,
    .stage-action button
  ) {
    min-width: 44px;
    min-height: 44px;
  }
  .ucl-champion-awards { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  body.club-competition-uecl :is(button, .ucl-fixture-row, .ucl-bracket-tie, .ucl-table tr),
  body.pl-match-mode-active.uecl-match-mode-active :is(button, .fixture, .pl-engine-table-row, .round-link) {
    transition: color 120ms ease, background-color 120ms ease, border-color 120ms ease, opacity 120ms ease !important;
  }
}

/* Shared UEFA club setup parity. The setup and playable views deliberately use
   the same competition banner; only the edition identity variables change. */
body.club-competition-ucl {
  --uefa-setup-accent: #6e96ff;
  --uefa-setup-accent-strong: #416ee7;
  --uefa-setup-header: #0d1e4a;
  --uefa-setup-header-soft: #17336f;
  --uefa-setup-panel: #101f48;
  --uefa-setup-card: #142a60;
  --uefa-setup-border: rgba(146, 177, 255, .3);
  --uefa-setup-muted: #b9c8eb;
}

body.club-competition-uel {
  --uefa-setup-accent: #ff8a47;
  --uefa-setup-accent-strong: #e75c16;
  --uefa-setup-header: #100e0c;
  --uefa-setup-header-soft: #2b1c14;
  --uefa-setup-panel: #17120f;
  --uefa-setup-card: #241811;
  --uefa-setup-border: rgba(255, 151, 87, .3);
  --uefa-setup-muted: #d6c5bb;
}

body.club-competition-uecl {
  --uefa-setup-accent: #72f4a8;
  --uefa-setup-accent-strong: #00c968;
  --uefa-setup-header: #050a07;
  --uefa-setup-header-soft: #10291b;
  --uefa-setup-panel: #09140d;
  --uefa-setup-card: #10291b;
  --uefa-setup-border: rgba(79, 224, 143, .3);
  --uefa-setup-muted: #bad5c5;
}

body:is(.club-competition-ucl, .club-competition-uel, .club-competition-uecl) .ucl-simulator-header {
  position: sticky;
  top: 0;
  z-index: 90;
  display: flex;
  min-height: 68px;
  align-items: center;
  gap: 8px;
  padding: 0 clamp(14px, 2.4vw, 38px);
  border-bottom: 1px solid var(--uefa-setup-border);
  color: #f7f9ff;
  background: var(--uefa-setup-header);
  box-shadow: 0 10px 28px rgba(0, 0, 0, .28);
}

body:is(.club-competition-ucl, .club-competition-uel, .club-competition-uecl) :is(.ucl-site-brand, .ucl-header-left, .ucl-header-actions) {
  position: relative;
  z-index: 2;
}

body:is(.club-competition-ucl, .club-competition-uel, .club-competition-uecl) .ucl-site-brand {
  order: 1;
  flex: 0 0 auto;
}

body:is(.club-competition-ucl, .club-competition-uel, .club-competition-uecl) .ucl-site-brand .brand-mark {
  width: 44px;
  height: 44px;
  border-color: var(--uefa-setup-border);
  color: #fff;
  background: var(--uefa-setup-header-soft);
}

body:is(.club-competition-ucl, .club-competition-uel, .club-competition-uecl) :is(.ucl-header-left, .ucl-header-actions) {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 6px;
}

body:is(.club-competition-ucl, .club-competition-uel, .club-competition-uecl) .ucl-header-left {
  order: 2;
}

body:is(.club-competition-ucl, .club-competition-uel, .club-competition-uecl) .ucl-header-actions {
  order: 4;
  margin-left: auto;
}

body:is(.club-competition-ucl, .club-competition-uel, .club-competition-uecl) .ucl-main-section-switch {
  position: absolute;
  left: 50%;
  z-index: 1;
  order: 3;
  display: flex;
  width: min(350px, 31vw);
  min-width: 310px;
  padding: 3px;
  border: 1px solid var(--uefa-setup-border);
  border-radius: 999px;
  background: color-mix(in srgb, var(--uefa-setup-header-soft) 76%, transparent);
  transform: translateX(-50%);
}

body:is(.club-competition-ucl, .club-competition-uel, .club-competition-uecl) .ucl-main-section-switch a {
  min-height: 38px;
  flex: 1 1 0;
  padding: 9px 12px;
  border-radius: 999px;
  color: var(--uefa-setup-muted);
  font: 800 12px/20px "Manrope", sans-serif;
  text-align: center;
  text-decoration: none;
}

body:is(.club-competition-ucl, .club-competition-uel, .club-competition-uecl) .ucl-main-section-switch a.is-active {
  color: #071018;
  background: var(--uefa-setup-accent);
  box-shadow: inset 0 1px rgba(255, 255, 255, .32), 0 2px 7px rgba(0, 0, 0, .22);
}

body:is(.club-competition-ucl, .club-competition-uel, .club-competition-uecl) .ucl-simulator-header :is(.utility-button, .ucl-restart-button) {
  width: 42px;
  min-width: 42px;
  height: 42px;
  min-height: 42px;
  padding: 0;
  border: 1px solid var(--uefa-setup-border);
  border-radius: 50%;
  color: #f7f9ff;
  background: var(--uefa-setup-header-soft);
  box-shadow: inset 0 1px rgba(255, 255, 255, .09);
}

body:is(.club-competition-ucl, .club-competition-uel, .club-competition-uecl) .ucl-simulator-header .utility-button:not(.main-account-button) > span:last-child {
  display: none;
}

body:is(.club-competition-ucl, .club-competition-uel, .club-competition-uecl) .ucl-simulator-header .main-account-button {
  width: auto;
  padding: 0 14px;
  border-radius: 999px;
}

body:is(.club-competition-ucl, .club-competition-uel, .club-competition-uecl) .ucl-simulator-header .news-icon {
  width: 20px;
  height: 17px;
}

body.club-route-setup-active #uclRestartButton {
  display: none !important;
}

body:is(.ucl-route-setup-active, .uel-route-setup-active, .uecl-route-setup-active) .mode-route-setup-ucl {
  display: block;
  min-height: calc(100dvh - 68px);
  padding: 72px 18px 44px;
  background:
    radial-gradient(circle at 50% -14%, color-mix(in srgb, var(--uefa-setup-accent) 18%, transparent), transparent 39rem),
    transparent;
}

body:is(.ucl-route-setup-active, .uel-route-setup-active, .uecl-route-setup-active) .mode-route-setup-ucl .mode-route-setup-back {
  top: 14px;
  left: clamp(14px, 2.4vw, 38px);
  min-height: 42px;
  padding: 0 15px;
  border: 1px solid var(--uefa-setup-border);
  border-radius: 999px;
  color: #f7f9ff;
  background: var(--uefa-setup-header-soft);
}

body:is(.ucl-route-setup-active, .uel-route-setup-active, .uecl-route-setup-active) .mode-route-setup-ucl .mode-route-setup-panel {
  width: min(1080px, calc(100% - clamp(96px, 18vw, 300px)));
  max-width: none;
  padding: 24px;
  border: 1px solid var(--uefa-setup-border);
  border-radius: 20px;
  color: #f7f9ff;
  background: color-mix(in srgb, var(--uefa-setup-panel) 94%, transparent);
  box-shadow: 0 22px 56px rgba(0, 0, 0, .3), inset 0 1px rgba(255, 255, 255, .06);
}

body:is(.ucl-route-setup-active, .uel-route-setup-active, .uecl-route-setup-active) .club-competition-setup-intro {
  display: block;
  margin-bottom: 18px;
  text-align: left;
}

body:is(.ucl-route-setup-active, .uel-route-setup-active, .uecl-route-setup-active) .club-competition-setup-intro h1 {
  margin: 0;
  color: #fff;
  font-size: clamp(25px, 3vw, 38px);
  line-height: 1.08;
}

body:is(.ucl-route-setup-active, .uel-route-setup-active, .uecl-route-setup-active) .club-competition-setup-intro p {
  max-width: 760px;
  margin: 8px 0 0;
  color: var(--uefa-setup-muted);
}

body:is(.ucl-route-setup-active, .uel-route-setup-active, .uecl-route-setup-active) #uclLandingSettings {
  display: none !important;
}

body:is(.ucl-route-setup-active, .uel-route-setup-active, .uecl-route-setup-active) .uefa-inline-team-toolbar {
  display: flex;
  min-height: 40px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

body:is(.ucl-route-setup-active, .uel-route-setup-active, .uecl-route-setup-active) .retro-inline-achievement-filter {
  min-height: 38px;
  padding: 8px 13px;
  border: 1px solid var(--uefa-setup-border);
  border-radius: 999px;
  color: #f7f9ff;
  background: var(--uefa-setup-card);
  font: 800 11px/1.2 "Manrope", sans-serif;
}

body:is(.ucl-route-setup-active, .uel-route-setup-active, .uecl-route-setup-active) .retro-inline-achievement-filter[aria-pressed="true"] {
  border-color: var(--uefa-setup-accent);
  color: #071018;
  background: var(--uefa-setup-accent);
}

body:is(.ucl-route-setup-active, .uel-route-setup-active, .uecl-route-setup-active) .retro-inline-team-count {
  color: var(--uefa-setup-muted);
  font: 800 11px/1.3 "Manrope", sans-serif;
}

body:is(.ucl-route-setup-active, .uel-route-setup-active, .uecl-route-setup-active) .uefa-inline-team-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 8px;
}

body:is(.ucl-route-setup-active, .uel-route-setup-active, .uecl-route-setup-active) .uefa-inline-team-option {
  position: relative;
  display: grid;
  min-width: 0;
  min-height: 78px;
  grid-template-columns: 40px minmax(0, 1fr) 13px;
  align-items: center;
  gap: 8px;
  padding: 9px;
  border: 1px solid var(--uefa-setup-border);
  border-radius: 12px;
  color: #f7f9ff;
  background: var(--uefa-setup-card);
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: border-color 150ms ease, background-color 150ms ease, transform 120ms ease;
}

body:is(.ucl-route-setup-active, .uel-route-setup-active, .uecl-route-setup-active) .uefa-inline-team-option.is-selected {
  border-color: var(--uefa-setup-accent);
  background: color-mix(in srgb, var(--uefa-setup-accent-strong) 42%, var(--uefa-setup-card));
  box-shadow: inset 0 1px rgba(255, 255, 255, .12), 0 0 0 1px color-mix(in srgb, var(--uefa-setup-accent) 35%, transparent);
}

body:is(.ucl-route-setup-active, .uel-route-setup-active, .uecl-route-setup-active) :is(.uefa-inline-team-mark, .uefa-inline-team-copy) {
  min-width: 0;
}

body:is(.ucl-route-setup-active, .uel-route-setup-active, .uecl-route-setup-active) .uefa-inline-team-mark {
  display: grid;
  width: 40px;
  height: 40px;
  place-items: center;
}

body:is(.ucl-route-setup-active, .uel-route-setup-active, .uecl-route-setup-active) .uefa-inline-team-badge {
  width: 36px;
  height: 36px;
  object-fit: contain;
}

body:is(.ucl-route-setup-active, .uel-route-setup-active, .uecl-route-setup-active) .uefa-inline-team-copy {
  display: grid;
  gap: 3px;
}

body:is(.ucl-route-setup-active, .uel-route-setup-active, .uecl-route-setup-active) .uefa-inline-team-copy strong {
  overflow: visible;
  font-size: 10px;
  line-height: 1.25;
  overflow-wrap: anywhere;
  text-overflow: clip;
  white-space: normal;
}

body:is(.ucl-route-setup-active, .uel-route-setup-active, .uecl-route-setup-active) .uefa-inline-team-copy small {
  color: var(--uefa-setup-muted);
  font-size: 8px;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

body:is(.ucl-route-setup-active, .uel-route-setup-active, .uecl-route-setup-active) .uefa-inline-team-check {
  color: var(--uefa-setup-accent);
  font-weight: 900;
  text-align: right;
}

body:is(.ucl-route-setup-active, .uel-route-setup-active, .uecl-route-setup-active) .uefa-inline-team-empty {
  grid-column: 1 / -1;
  margin: 0;
  padding: 22px;
  border: 1px dashed var(--uefa-setup-border);
  border-radius: 12px;
  color: var(--uefa-setup-muted);
  text-align: center;
}

body:is(.ucl-route-setup-active, .uel-route-setup-active, .uecl-route-setup-active) #uclModeActions {
  display: flex;
  align-items: stretch;
  gap: 10px;
  margin-top: 16px;
}

body:is(.ucl-route-setup-active, .uel-route-setup-active, .uecl-route-setup-active) #uclModeActions .ucl-launch-button {
  min-height: 48px;
  flex: 1 1 auto;
  border-color: var(--uefa-setup-accent);
  color: #071018;
  background: var(--uefa-setup-accent);
}

body:is(.ucl-route-setup-active, .uel-route-setup-active, .uecl-route-setup-active) #uclModeActions .ucl-install-button {
  min-height: 48px;
  border-color: var(--uefa-setup-border);
  color: #f7f9ff;
  background: var(--uefa-setup-card);
  box-shadow: inset 0 1px rgba(255, 255, 255, .08);
}

body:is(.ucl-route-setup-active, .uel-route-setup-active, .uecl-route-setup-active) #uclModeActions .ucl-install-button.is-installed {
  border-color: var(--uefa-setup-accent) !important;
  color: #071018 !important;
  background: var(--uefa-setup-accent) !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, .32), 0 3px 0 var(--uefa-setup-accent-strong) !important;
}

body:is(.ucl-route-setup-active, .uel-route-setup-active, .uecl-route-setup-active) #restartUclSimulatorButton {
  min-height: 48px;
  border: 1px solid var(--uefa-setup-border);
  color: #fff;
  background: var(--uefa-setup-card);
}

body:is(.club-competition-ucl, .club-competition-uel, .club-competition-uecl) .is-confirming-restart {
  width: auto !important;
  min-width: 72px !important;
  border-color: #ffb4b4 !important;
  color: #fff !important;
  background: #c8212d !important;
  font-weight: 900 !important;
}

@media (hover: hover) and (pointer: fine) {
  body:is(.ucl-route-setup-active, .uel-route-setup-active, .uecl-route-setup-active) .uefa-inline-team-option:hover {
    border-color: var(--uefa-setup-accent);
    transform: translateY(-1px);
  }

  body:is(.ucl-route-setup-active, .uel-route-setup-active, .uecl-route-setup-active) #uclModeActions .ucl-install-button:hover {
    border-color: var(--uefa-setup-accent);
    background: color-mix(in srgb, var(--uefa-setup-accent) 14%, var(--uefa-setup-card));
  }

  body:is(.ucl-route-setup-active, .uel-route-setup-active, .uecl-route-setup-active) #uclModeActions .ucl-install-button.is-installed:hover {
    color: #071018 !important;
    background: color-mix(in srgb, var(--uefa-setup-accent) 88%, white) !important;
  }
}

@media (max-width: 1100px) {
  body:is(.ucl-route-setup-active, .uel-route-setup-active, .uecl-route-setup-active) .uefa-inline-team-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  body:is(.club-competition-ucl, .club-competition-uel, .club-competition-uecl) .ucl-main-section-switch {
    min-width: 286px;
  }
}

@media (max-width: 900px) {
  body:is(.club-competition-ucl, .club-competition-uel, .club-competition-uecl) .ucl-simulator-header {
    min-height: 116px;
    flex-wrap: wrap;
    align-content: center;
    padding: 8px 11px;
  }

  body:is(.club-competition-ucl, .club-competition-uel, .club-competition-uecl) .ucl-main-section-switch {
    position: static;
    order: 5;
    width: 100%;
    min-width: 0;
    transform: none;
  }

  body:is(.club-competition-ucl, .club-competition-uel, .club-competition-uecl) .ucl-simulator-header .main-account-button {
    width: 42px;
    padding: 0;
  }

  body:is(.club-competition-ucl, .club-competition-uel, .club-competition-uecl) .ucl-simulator-header .main-account-button > span:last-child {
    display: none;
  }

  body:is(.ucl-route-setup-active, .uel-route-setup-active, .uecl-route-setup-active) .mode-route-setup-ucl {
    min-height: calc(100dvh - 116px);
    padding: 70px 12px 38px;
  }

  body:is(.ucl-route-setup-active, .uel-route-setup-active, .uecl-route-setup-active) .mode-route-setup-ucl .mode-route-setup-panel {
    width: 100%;
  }
}

@media (max-width: 700px) {
  body:is(.ucl-route-setup-active, .uel-route-setup-active, .uecl-route-setup-active) .uefa-inline-team-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 480px) {
  body:is(.club-competition-ucl, .club-competition-uel, .club-competition-uecl) .ucl-simulator-header {
    gap: 5px;
  }

  body:is(.club-competition-ucl, .club-competition-uel, .club-competition-uecl) .ucl-site-brand .brand-mark,
  body:is(.club-competition-ucl, .club-competition-uel, .club-competition-uecl) .ucl-simulator-header :is(.utility-button, .ucl-restart-button) {
    width: 38px;
    min-width: 38px;
    height: 38px;
    min-height: 38px;
  }

  body:is(.club-competition-ucl, .club-competition-uel, .club-competition-uecl) :is(.ucl-header-left, .ucl-header-actions) {
    gap: 3px;
  }

  body:is(.club-competition-ucl, .club-competition-uel, .club-competition-uecl) .ucl-main-section-switch a {
    min-height: 34px;
    padding: 7px 5px;
    font-size: 10px;
  }

  body:is(.ucl-route-setup-active, .uel-route-setup-active, .uecl-route-setup-active) .mode-route-setup-ucl {
    padding-right: 11px;
    padding-left: 11px;
  }

  body:is(.ucl-route-setup-active, .uel-route-setup-active, .uecl-route-setup-active) .mode-route-setup-ucl .mode-route-setup-panel {
    padding: 14px;
    border-radius: 15px;
  }

  body:is(.ucl-route-setup-active, .uel-route-setup-active, .uecl-route-setup-active) .uefa-inline-team-toolbar {
    align-items: flex-start;
    flex-direction: column;
    gap: 7px;
  }

  body:is(.ucl-route-setup-active, .uel-route-setup-active, .uecl-route-setup-active) .uefa-inline-team-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body:is(.ucl-route-setup-active, .uel-route-setup-active, .uecl-route-setup-active) .uefa-inline-team-option {
    min-height: 82px;
    grid-template-columns: 34px minmax(0, 1fr) 10px;
    gap: 6px;
    padding: 8px 6px;
  }

  body:is(.ucl-route-setup-active, .uel-route-setup-active, .uecl-route-setup-active) .uefa-inline-team-mark {
    width: 34px;
    height: 34px;
  }

  body:is(.ucl-route-setup-active, .uel-route-setup-active, .uecl-route-setup-active) .uefa-inline-team-badge {
    width: 31px;
    height: 31px;
  }
}

/* Conference identity completeness sweep. These states live in shared UCL
   components but must never fall back to the blue Champions League palette. */
dialog.conference-asset-pack-modal {
  border: 1px solid rgba(0, 241, 105, 0.34) !important;
  color: #f7fff9 !important;
  background: #08100b !important;
  box-shadow: 0 28px 90px rgba(0, 0, 0, 0.68) !important;
}

dialog.conference-asset-pack-modal::backdrop {
  background: rgba(1, 5, 3, 0.84) !important;
}

.conference-asset-pack-modal .pl-asset-pack-shell {
  color: #f7fff9;
  background: #08100b;
}

.conference-asset-pack-modal .modal-head h2 {
  color: #f7fff9;
}

.conference-asset-pack-modal .close-modal {
  border: 1px solid rgba(0, 241, 105, 0.24);
  color: #dce9e0;
  background: #0d1c13;
}

.conference-asset-pack-modal .pl-asset-pack-intro {
  border-color: rgba(0, 241, 105, 0.24);
  color: #f7fff9;
  background: linear-gradient(135deg, #07140d, #07512b) !important;
}

.conference-asset-pack-modal .pl-asset-pack-intro p {
  color: #c1d4c7;
}

.conference-asset-pack-modal .pl-asset-pack-badge {
  border: 1px solid rgba(0, 241, 105, 0.12);
  background: rgba(0, 241, 105, 0.075) !important;
}

.conference-asset-pack-modal .pl-asset-pack-status,
.conference-asset-pack-modal .pl-asset-pack-credit {
  color: #91a499 !important;
}

.conference-asset-pack-modal .pl-asset-pack-status.is-success {
  color: #72f4a8 !important;
}

.conference-asset-pack-modal .pl-asset-pack-actions .text-button {
  border-color: rgba(0, 241, 105, 0.24);
  color: #dce9e0;
  background: #0d1c13;
}

.conference-asset-pack-modal .pl-asset-pack-actions .primary-button {
  border-color: #00f169;
  color: #031008 !important;
  background: #00f169;
}

.conference-asset-pack-modal :is(button, [role="button"]):focus-visible {
  outline: 2px solid #72f4a8;
  outline-offset: 3px;
}

body.club-competition-uecl.uecl-route-setup-active .mode-route-setup-panel .spectate-picker {
  border-color: rgba(0, 241, 105, 0.32) !important;
  color: #f7fff9 !important;
  background: #0d1c13 !important;
}

body.club-competition-uecl.uecl-route-setup-active .mode-route-setup-panel .spectate-picker.has-team {
  background: #10291b !important;
}

body.club-competition-uecl.uecl-route-setup-active .mode-route-setup-panel .spectate-picker-mark.ucl-team-mark {
  border-color: rgba(0, 241, 105, 0.3) !important;
  color: #f7fff9 !important;
  background: #071009 !important;
}

body.club-competition-uecl.uecl-route-setup-active .mode-route-setup-panel .spectate-picker-copy strong {
  color: #f7fff9 !important;
}

body.club-competition-uecl.uecl-route-setup-active .mode-route-setup-panel .spectate-picker-copy small {
  color: #91a499 !important;
}

body.club-competition-uecl.uecl-route-setup-active .mode-route-setup-panel .spectate-picker-arrow {
  color: #72ce96 !important;
}

body.club-competition-uecl .ucl-site-brand {
  border-color: transparent;
  color: #f7fff9;
  outline-color: #72f4a8;
  text-decoration: none;
}

#spectateModal[data-club-competition="uecl"] .spectate-neutral-mark.ucl-neutral-mark,
#spectateModal[data-club-competition="uecl"] .spectate-neutral-mark.ucl-neutral-mark img {
  border-color: rgba(0, 241, 105, 0.22);
  color: #72ce96;
  outline-color: #72f4a8;
}

.mode-card-ucl.is-conference-mode #conferenceInstallButton {
  border-color: rgba(0, 241, 105, 0.46) !important;
  color: #dff7e8 !important;
  background: rgba(3, 16, 8, 0.76) !important;
}

.mode-card-ucl.is-conference-mode #conferenceInstallButton.is-installed {
  border-color: #00f169 !important;
  color: #031008 !important;
  background: #00d65d !important;
}

body.club-competition-uecl .ucl-restart-modal {
  border-color: rgba(0, 241, 105, 0.26);
  color: #f7fff9;
  background: #08100b;
  box-shadow: 0 28px 90px rgba(0, 0, 0, 0.68);
}

body.club-competition-uecl .ucl-restart-modal::backdrop,
body.club-competition-uecl .ucl-addon-dialog::backdrop {
  background: rgba(1, 5, 3, 0.84);
}

body.club-competition-uecl .ucl-restart-modal :is(h2, strong),
body.club-competition-uecl .ucl-addon-dialog :is(h2, strong) {
  color: #f7fff9;
}

body.club-competition-uecl .ucl-restart-modal p {
  color: #a9bbb0;
}

body.club-competition-uecl .ucl-restart-modal .confirm-icon {
  border-color: rgba(0, 241, 105, 0.34);
  color: #72f4a8;
  background: rgba(0, 241, 105, 0.11);
}

body.club-competition-uecl .ucl-restart-modal .secondary-button,
body.club-competition-uecl .ucl-addon-dialog .ucl-remove-addon {
  border-color: rgba(0, 241, 105, 0.24);
  color: #dce9e0;
  background: #0d1c13;
}

body.club-competition-uecl .ucl-restart-modal .danger-button,
body.club-competition-uecl .ucl-addon-dialog .ucl-import-addon {
  border-color: #00f169;
  color: #031008;
  background: #00f169;
}

body.club-competition-uecl .ucl-addon-shell > header,
body.club-competition-uecl .ucl-addon-file,
body.club-competition-uecl .ucl-addon-actions {
  border-color: rgba(0, 241, 105, 0.14);
}

body.club-competition-uecl .ucl-addon-disc {
  box-shadow: 0 0 22px rgba(0, 241, 105, 0.2);
}

body.club-competition-uecl :is(.ucl-overview-knockout-empty, .ucl-empty-state p) {
  color: #91a499;
}

body.club-competition-uecl .ucl-overview-knockout-empty strong {
  color: #f7fff9;
}

body.club-competition-uecl :is(
  .ucl-team-mark-small,
  .ucl-team-mark-medium,
  .ucl-team-mark-large
).has-generic.has-code .ucl-team-monogram {
  border-color: rgba(0, 241, 105, 0.45);
  color: #f7fff9;
  background: radial-gradient(circle at 35% 28%, #17683c, #092116 72%);
}

body.club-competition-uecl :is(
  .ucl-opponent-number,
  .ucl-opponent-copy small,
  .ucl-opponent-venue,
  .ucl-opponent-venue-label
) {
  color: #91a499 !important;
}

body.club-competition-uecl :is(
  .ucl-fixture-row,
  .ucl-opponent-card,
  .ucl-golden-boot > header,
  .ucl-golden-boot-row,
  .ucl-bracket-team
) {
  border-color: rgba(0, 241, 105, 0.11);
}

body.club-competition-uecl .ucl-bracket-decider {
  border-top: 1px solid rgba(0, 241, 105, 0.1);
  color: #91a499;
  background: #071009;
}

body.club-competition-uecl :is(
  .ucl-draw-header small,
  .ucl-draw-progress span,
  .ucl-draw-stage.is-paused .ucl-draw-progress span,
  .ucl-reveal-copy small,
  .ucl-drawn-team small,
  .ucl-champion-card p
) {
  color: #91a499;
}

body.club-competition-uecl .ucl-draw-pot-rim {
  border-color: rgba(214, 239, 224, 0.5);
  background: rgba(20, 77, 45, 0.24);
}

body.club-competition-uecl .ucl-pot-glass {
  background:
    linear-gradient(100deg, rgba(255, 255, 255, 0.1), transparent 18%, transparent 72%, rgba(255, 255, 255, 0.035)),
    radial-gradient(circle at 50% 115%, rgba(0, 241, 105, 0.1), transparent 62%);
}

body.club-competition-uecl .ucl-drawn-strip {
  scrollbar-color: #137641 transparent;
}

body.club-competition-uecl .ucl-ceremony-scene[data-phase="revealed"] .ucl-reveal-badge,
body.club-competition-uecl .ucl-moment-card .ucl-team-mark-large {
  filter: drop-shadow(0 0 22px rgba(0, 241, 105, 0.34));
}

body.club-competition-uecl .ucl-champion-card h1 {
  text-shadow: 0 0 34px rgba(0, 241, 105, 0.3);
}

body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active .eyebrow-row span:last-child,
body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active :is(.event-live-clock, .score-live-clock) > span {
  color: #72f4a8 !important;
}

body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active .progress-track {
  background: #122019 !important;
}

body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active .progress-track span {
  background: #00f169 !important;
}

body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active :is(.event-live-clock, .score-live-clock) > span i {
  background: #00f169 !important;
  box-shadow: 0 0 10px rgba(0, 241, 105, 0.58);
}

body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active .round-link.active .round-index {
  color: #031008 !important;
}

body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active .round-nav {
  scrollbar-color: #137641 transparent !important;
}

@media (hover: hover) and (pointer: fine) {
  .conference-asset-pack-modal :is(.close-modal, .pl-asset-pack-actions .text-button):hover:not(:disabled) {
    border-color: rgba(0, 241, 105, 0.46);
    color: #f7fff9;
    background: #153522;
  }

  .conference-asset-pack-modal .pl-asset-pack-actions .primary-button:hover:not(:disabled),
  body.club-competition-uecl :is(.ucl-kickoff.is-watch-action, .ucl-import-addon):hover:not(:disabled) {
    border-color: #72f4a8;
    color: #031008;
    background: #72f4a8;
  }

  body.club-competition-uecl.uecl-route-setup-active .mode-route-setup-panel .spectate-picker:hover:not(:disabled) {
    border-color: rgba(0, 241, 105, 0.52) !important;
    background: #153522 !important;
  }

  .mode-card-ucl.is-conference-mode #conferenceInstallButton:hover:not(:disabled) {
    border-color: #72f4a8 !important;
    color: #f7fff9 !important;
    background: #153522 !important;
  }

  .mode-card-ucl.is-conference-mode #conferenceInstallButton.is-installed:hover:not(:disabled) {
    color: #031008 !important;
    background: #72f4a8 !important;
  }
}

@media (max-width: 900px) {
  body.club-competition-uecl .ucl-fixture-grid .ucl-fixture-row:nth-last-child(-n + 2) {
    border-bottom-color: rgba(0, 241, 105, 0.11);
  }
}

@media (min-width: 1181px) and (max-width: 1360px) {
  body.pl-match-mode-active.ucl-match-mode-active .content {
    grid-template-columns: minmax(150px, 175px) minmax(640px, 1fr) minmax(175px, 205px) !important;
    gap: 14px !important;
    padding-inline: 14px !important;
  }
}

@media (max-width: 850px) {
  body.ucl-match-mode-active .content {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-areas:
      "stage stage"
      "next table"
      "boot boot"
      "board board" !important;
  }

  body.ucl-match-mode-active #uclEngineTablePanel {
    margin-top: 0;
  }
}

/* The live match reuses the domestic layout, but every visible colour stays
   inside the UCL broadcast palette. This also covers shared snapshot controls. */
body.pl-match-mode-active.ucl-match-mode-active {
  --bg: #02091b !important;
  --surface: #061431 !important;
  --surface-2: #0b2c72 !important;
  --text: #f4f7ff !important;
  --line: rgba(143, 178, 255, 0.18) !important;
  --line-strong: rgba(143, 178, 255, 0.30) !important;
  --muted: rgba(216, 228, 255, 0.62) !important;
  --soft: rgba(232, 239, 255, 0.78) !important;
  color: #f4f7ff !important;
  background: #02091b !important;
}

body.pl-match-mode-active.ucl-match-mode-active #appShell,
body.pl-match-mode-active.ucl-match-mode-active .main,
body.pl-match-mode-active.ucl-match-mode-active .content {
  background: linear-gradient(180deg, #06132f, #02091b 58%) !important;
}

body.pl-match-mode-active.ucl-match-mode-active .topbar {
  border-bottom-color: rgba(143, 178, 255, 0.20) !important;
  background: linear-gradient(90deg, #06132f, #0b2c72) !important;
}

body.pl-match-mode-active.ucl-match-mode-active .brand-mark {
  background: #315ee7 !important;
  box-shadow: 0 8px 22px rgba(5, 20, 65, 0.40) !important;
}

body.pl-match-mode-active.ucl-match-mode-active .top-actions .utility-button,
body.pl-match-mode-active.ucl-match-mode-active .top-actions .header-donate-link {
  border-color: rgba(143, 178, 255, 0.26) !important;
  color: #d9e5ff !important;
  background: #0b2355 !important;
}

body.pl-match-mode-active.ucl-match-mode-active .top-actions .account-avatar-icon svg {
  stroke: #9dbbff !important;
}

body.pl-match-mode-active.ucl-match-mode-active .match-stage {
  border-color: rgba(143, 178, 255, 0.30) !important;
  background:
    radial-gradient(circle at 50% 32%, rgba(49, 94, 231, 0.28), transparent 20rem),
    linear-gradient(155deg, #061431, #020817 72%) !important;
}

body.pl-match-mode-active.ucl-match-mode-active .match-stage::after {
  background: linear-gradient(90deg, #315ee7, #8fb2ff, #315ee7) !important;
}

body.pl-match-mode-active.ucl-match-mode-active .stage-topline,
body.pl-match-mode-active.ucl-match-mode-active .match-stage.pl-full-time .result-note:not([hidden]) {
  color: #9dbbff !important;
}

body.pl-match-mode-active.ucl-match-mode-active .match-commentary-feed,
body.pl-match-mode-active.ucl-match-mode-active #matchAnalysis,
body.pl-match-mode-active.ucl-match-mode-active .standard-match-tactics,
body.pl-match-mode-active.ucl-match-mode-active .golden-boot-panel,
body.pl-match-mode-active.ucl-match-mode-active .round-board {
  border-color: rgba(143, 178, 255, 0.18) !important;
  background: #061431 !important;
}

body.pl-match-mode-active.ucl-match-mode-active .team-match-events .timeline-event {
  color: rgba(226, 235, 255, 0.78) !important;
}

body.pl-match-mode-active.ucl-match-mode-active .team-match-events .timeline-event b {
  color: #b9ceff !important;
}

body.pl-match-mode-active.ucl-match-mode-active .primary-button,
body.pl-match-mode-active.ucl-match-mode-active .play-button,
body.pl-match-mode-active.ucl-match-mode-active .round-link.active,
body.pl-match-mode-active.ucl-match-mode-active .secondary-button:hover,
body.pl-match-mode-active.ucl-match-mode-active .standard-tactic-buttons button.active,
body.pl-match-mode-active.ucl-match-mode-active .pl-engine-table-row.is-selected {
  border-color: rgba(169, 194, 255, 0.38) !important;
  color: #ffffff !important;
  background: #315ee7 !important;
  box-shadow: 0 8px 22px rgba(15, 46, 143, 0.28) !important;
}

body.pl-match-mode-active.ucl-match-mode-active .live-control,
body.pl-match-mode-active.ucl-match-mode-active .skip-control {
  border-color: rgba(143, 178, 255, 0.28) !important;
  color: #e5edff !important;
  background: #0b2355 !important;
}

body.pl-match-mode-active.ucl-match-mode-active .standard-tactic-buttons {
  border-color: rgba(143, 178, 255, 0.18) !important;
  background: #040d22 !important;
}

body.pl-match-mode-active.ucl-match-mode-active .standard-tactic-buttons button {
  color: rgba(218, 229, 255, 0.68) !important;
}

body.pl-match-mode-active.ucl-match-mode-active #snapshotButton {
  border-color: rgba(143, 178, 255, 0.38) !important;
  color: #ffffff !important;
  background: #315ee7 !important;
  box-shadow: 0 10px 24px rgba(5, 20, 65, 0.42) !important;
}

body.pl-match-mode-active.ucl-match-mode-active #snapshotButton:focus-visible {
  outline: 2px solid #8fb2ff !important;
  outline-offset: 3px;
}

body.pl-match-mode-active.ucl-match-mode-active .snapshot-modal form {
  border-color: rgba(143, 178, 255, 0.24) !important;
  color: #ffffff !important;
  background: #061431 !important;
}

body.pl-match-mode-active.ucl-match-mode-active .snapshot-modal .section-kicker {
  color: #9dbbff !important;
}

body.pl-match-mode-active.ucl-match-mode-active .snapshot-modal-head h2 {
  color: #f4f7ff !important;
}

body.pl-match-mode-active.ucl-match-mode-active .snapshot-preview {
  border-color: rgba(143, 178, 255, 0.24) !important;
  background: #02091b !important;
  box-shadow: 0 18px 50px rgba(5, 20, 65, 0.46) !important;
}

body.pl-match-mode-active.ucl-match-mode-active .snapshot-actions button {
  border-color: rgba(143, 178, 255, 0.28) !important;
  color: #ffffff !important;
  background: #0b2355 !important;
}

body.pl-match-mode-active.ucl-match-mode-active .snapshot-actions button.primary-button {
  background: #315ee7 !important;
}

@media (hover: hover) and (pointer: fine) {
  body.pl-match-mode-active.ucl-match-mode-active .top-actions .utility-button:hover,
  body.pl-match-mode-active.ucl-match-mode-active .top-actions .header-donate-link:hover,
  body.pl-match-mode-active.ucl-match-mode-active .live-control:hover,
  body.pl-match-mode-active.ucl-match-mode-active .skip-control:hover,
  body.pl-match-mode-active.ucl-match-mode-active #snapshotButton:hover,
  body.pl-match-mode-active.ucl-match-mode-active .snapshot-actions button:hover {
    border-color: rgba(176, 198, 255, 0.52) !important;
    color: #ffffff !important;
    background: #4774ee !important;
  }
}

.ucl-team-mark-small.has-generic .ucl-team-monogram,
.ucl-team-mark-medium.has-generic .ucl-team-monogram,
.ucl-team-mark-large.has-generic .ucl-team-monogram {
  color: transparent;
}

.ucl-team-mark-small.has-generic.has-code .ucl-team-monogram,
.ucl-team-mark-medium.has-generic.has-code .ucl-team-monogram,
.ucl-team-mark-large.has-generic.has-code .ucl-team-monogram {
  color: #f4f7ff;
  background: radial-gradient(circle at 35% 28%, #284c9b, #10275e 72%);
  letter-spacing: -0.04em;
}

.ucl-table-wrap {
  overflow-x: auto;
}

.ucl-groups-grid,
.ucl-group-fixtures-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  padding: 14px;
}

.ucl-group-table {
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(149, 174, 239, 0.12);
  border-radius: 10px;
  background: rgba(5, 14, 38, 0.42);
}

.ucl-group-table > h3 {
  min-height: 42px;
  margin: 0;
  padding: 12px 14px;
  border-bottom: 1px solid rgba(149, 174, 239, 0.1);
  color: #f4f7ff;
  background: rgba(20, 42, 96, 0.34);
  font: 800 13px "Manrope", sans-serif;
}

.ucl-group-table .ucl-table {
  min-width: 470px;
}

.ucl-groups-grid.is-compact {
  grid-template-columns: 1fr;
  padding: 0;
}

.ucl-groups-grid.is-compact .ucl-group-table {
  border: 0;
  border-radius: 0;
  background: transparent;
}

.ucl-groups-grid.is-compact .ucl-group-table > h3 {
  min-height: 36px;
  padding: 10px 12px;
  font-size: 11px;
}

.ucl-group-fixtures-grid {
  padding: 0;
}

.ucl-group-fixtures .ucl-fixture-row {
  grid-template-columns: minmax(0, 1fr) 60px minmax(0, 1fr);
  padding-inline: 16px;
}

.ucl-table {
  width: 100%;
  min-width: 560px;
  border-collapse: collapse;
  table-layout: fixed;
}

/* The three-column overview must fit inside the desktop canvas; the full Table tab may still scroll when needed. */
.ucl-overview-grid.has-golden-boot > .ucl-panel,
.ucl-overview-grid.has-golden-boot > .ucl-golden-boot {
  min-width: 0;
}

.ucl-overview-grid.has-golden-boot > .ucl-overview-table .ucl-table-wrap {
  overflow: hidden;
}

.ucl-overview-grid.has-golden-boot .ucl-table.is-compact {
  min-width: 0;
  width: 100%;
}

.ucl-overview-grid.has-golden-boot .ucl-table.is-compact th,
.ucl-overview-grid.has-golden-boot .ucl-table.is-compact td {
  padding-inline: 4px;
  white-space: nowrap;
}

.ucl-overview-grid.has-golden-boot .ucl-table.is-compact th {
  font-size: 11px;
}

.ucl-overview-grid.has-golden-boot .ucl-table.is-compact th:first-child {
  width: 29px;
}

.ucl-overview-grid.has-golden-boot .ucl-table.is-compact th:nth-child(2) {
  width: 38%;
}

.ucl-overview-grid.has-golden-boot .ucl-table.is-compact td {
  font-size: 10px;
}

.ucl-overview-grid.has-golden-boot .ucl-table.is-compact .ucl-table-club {
  gap: 5px;
}

.ucl-overview-grid.has-golden-boot .ucl-table.is-compact .ucl-table-club strong {
  font-size: 10px;
}

.ucl-overview-grid.has-golden-boot .ucl-table.is-compact .ucl-team-mark-small {
  width: 22px;
  height: 22px;
}

.ucl-table th {
  height: 36px;
  padding: 0 7px;
  color: #6f80a8;
  font: 800 11px "DM Mono", monospace;
  letter-spacing: 0.08em;
  text-align: center;
  text-transform: uppercase;
}

.ucl-table th:nth-child(2) {
  width: 44%;
  text-align: left;
}

.ucl-table th:first-child {
  width: 42px;
}

.ucl-table td {
  height: 47px;
  padding: 0 7px;
  border-top: 1px solid rgba(149, 174, 239, 0.08);
  color: #c6d1ec;
  font: 700 10px "DM Mono", monospace;
  text-align: center;
}

.ucl-table tr {
  transition: transform 560ms var(--ucl-ease-in-out), opacity 260ms ease, background-color 220ms ease;
}

.ucl-table tr.is-managed {
  background: rgba(57, 91, 195, 0.2);
}

.ucl-table tr[data-zone="direct"] td:first-child {
  box-shadow: inset 3px 0 #4f82ff;
}

.ucl-table tr[data-zone="playoff"] td:first-child {
  box-shadow: inset 3px 0 #d2af62;
}

.ucl-table tr[data-zone="out"] td:first-child {
  box-shadow: inset 3px 0 #5f6980;
}

.ucl-table tr.zone-divider td {
  border-top-color: rgba(229, 194, 113, 0.48);
}

.ucl-table-club {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 9px;
  text-align: left;
}

.ucl-table-club strong {
  overflow: hidden;
  color: #fff;
  font: 750 11px "Manrope", sans-serif;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ucl-table-points {
  color: #fff !important;
  font-size: 12px !important;
}

.ucl-table-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 15px;
  padding: 12px 15px;
  border-top: 1px solid var(--ucl-line);
  color: #8291b4;
  font-size: 9px;
}

.ucl-table-legend span::before {
  display: inline-block;
  width: 7px;
  height: 7px;
  margin-right: 6px;
  border-radius: 50%;
  content: "";
  background: var(--legend-color);
}

.ucl-table-legend span:nth-child(1) { --legend-color: #4f82ff; }
.ucl-table-legend span:nth-child(2) { --legend-color: #d2af62; }
.ucl-table-legend span:nth-child(3) { --legend-color: #5f6980; }

.ucl-opponent-card {
  display: grid;
  grid-template-columns: 48px 36px minmax(0, 1fr) auto;
  min-height: 62px;
  align-items: center;
  gap: 10px;
  padding: 8px 15px;
  border-bottom: 1px solid rgba(149, 174, 239, 0.09);
}

.ucl-opponent-card:last-child {
  border-bottom: 0;
}

.ucl-opponent-card > .ucl-team-mark-medium {
  width: 34px;
  height: 34px;
  transform: translateY(-1px);
}

.ucl-opponent-card > .ucl-team-mark-medium:is(
  [data-team-id="porto"],
  [data-team-id="shakhtar-donetsk"],
  [data-team-id="gnk-dinamo-zagreb"],
  [data-team-id="crvena-zvezda"]
) {
  --ucl-badge-scale: 0.8;
  transform: translateY(-3px);
}

.ucl-opponent-number {
  color: #7182aa;
  font: 800 9px "DM Mono", monospace;
}

.ucl-opponent-copy {
  display: grid;
  gap: 3px;
}

.ucl-opponent-copy strong {
  font-size: 13px;
}

.ucl-opponent-copy small {
  color: #7f90b9;
  font-size: 9px;
}

.ucl-opponent-venue {
  justify-self: end;
  color: #c9d5f6;
  font: 800 10px "DM Mono", monospace;
  text-align: right;
}

.ucl-opponent-venue-label {
  color: #9eb8f3 !important;
  font: 800 10px "DM Mono", monospace;
  letter-spacing: 0.05em;
}

.ucl-opponent-score {
  justify-self: end;
  color: #59d986;
  font: 800 16px "DM Mono", monospace;
  letter-spacing: 0.02em;
  line-height: 1;
  text-align: right;
}

.ucl-opponent-score.is-draw {
  color: #f2b84b;
}

.ucl-opponent-score.is-loss {
  color: #ff6f7f;
}

.ucl-opponent-score.is-win {
  color: #59d986;
}

.ucl-golden-boot {
  border-top: 1px solid var(--ucl-line);
  background: rgba(5, 15, 39, 0.34);
}

.ucl-overview-grid > .ucl-golden-boot.is-overview {
  align-self: start;
  overflow: hidden;
  border: 1px solid var(--ucl-line);
  border-radius: 13px;
  box-shadow: 0 18px 55px rgba(1, 5, 17, 0.18);
}

.ucl-golden-boot > header {
  display: flex;
  min-height: 49px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 9px 15px;
  border-bottom: 1px solid rgba(149, 174, 239, 0.09);
}

.ucl-golden-boot > header > div {
  display: grid;
  gap: 3px;
}

.ucl-golden-boot h3 {
  font-size: 14px;
}

.ucl-golden-boot > header > small {
  color: #8fa6dc;
  font: 800 8px "DM Mono", monospace;
  letter-spacing: 0.08em;
}

.ucl-golden-boot-list {
  display: grid;
}

.ucl-golden-boot-row {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr) auto;
  min-height: 39px;
  align-items: center;
  gap: 7px;
  padding: 4px 15px;
  border-bottom: 1px solid rgba(149, 174, 239, 0.07);
}

.ucl-golden-boot-row:last-child {
  border-bottom: 0;
}

.ucl-golden-boot-row > b {
  color: #7184b3;
  font: 800 9px "DM Mono", monospace;
}

.ucl-golden-boot-row > span {
  display: grid;
  min-width: 0;
  grid-template-columns: 24px minmax(0, 1fr);
  align-items: center;
  column-gap: 7px;
}

.ucl-golden-boot-row > span strong,
.ucl-golden-boot-row > span small {
  grid-column: 2;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ucl-golden-boot-row > span strong {
  color: #f4f7ff;
  font-size: 10px;
}

.ucl-golden-boot-row > span small {
  color: #8295c1;
  font-size: 8px;
}

.ucl-golden-boot-row > span .ucl-team-mark-small {
  grid-row: 1 / span 2;
  grid-column: 1;
  width: 24px;
  height: 24px;
}

.ucl-golden-boot-row > i {
  color: #f1d178;
  font: 900 15px "DM Mono", monospace;
  font-style: normal;
}

.ucl-golden-boot-empty {
  margin: 0;
  padding: 14px 15px;
  color: #8295c1;
  font-size: 10px;
}

.ucl-golden-boot.is-live {
  margin-top: 12px;
  border: 1px solid rgba(143, 178, 255, 0.14);
  border-radius: 8px;
  background: rgba(4, 13, 34, 0.45);
}

.ucl-golden-boot.is-live > header,
.ucl-golden-boot.is-live .ucl-golden-boot-row {
  padding-right: 11px;
  padding-left: 11px;
}

.ucl-matchday-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}

.ucl-matchday-toolbar.is-controls-only {
  justify-content: flex-end;
}

.ucl-matchday-heading {
  display: grid;
  gap: 3px;
}

.ucl-matchday-heading strong {
  font-size: 18px;
}

.ucl-matchday-heading small {
  color: #7e8fb8;
  font-size: 10px;
}

.ucl-matchday-nav {
  display: flex;
  gap: 7px;
}

.ucl-matchday-nav button:disabled {
  opacity: 0.32;
}

.ucl-empty-state {
  display: grid;
  min-height: 360px;
  place-items: center;
  padding: 36px 20px;
  border: 1px solid var(--ucl-line);
  border-radius: 13px;
  background: rgba(10, 23, 55, 0.66);
  text-align: center;
}

.ucl-empty-state > div {
  display: grid;
  max-width: 470px;
  justify-items: center;
  gap: 12px;
}

.ucl-empty-state img {
  width: 64px;
  height: 64px;
  opacity: 0.68;
}

.ucl-empty-state h2,
.ucl-empty-state p {
  margin: 0;
}

.ucl-empty-state p {
  color: #8293bb;
  font-size: 12px;
  line-height: 1.65;
}

.ucl-bracket-shell {
  overflow-x: auto;
  padding-bottom: 8px;
}

.ucl-bracket {
  display: grid;
  grid-template-columns: repeat(5, minmax(210px, 1fr));
  min-width: 1120px;
  align-items: stretch;
  gap: 12px;
}

.ucl-bracket-stage {
  display: grid;
  align-content: start;
  gap: 9px;
}

.ucl-bracket-stage > header {
  display: grid;
  min-height: 51px;
  align-content: center;
  padding: 0 11px;
  border-bottom: 1px solid var(--ucl-line);
}

.ucl-bracket-stage > header strong {
  font-size: 12px;
}

.ucl-bracket-ties {
  display: grid;
  align-content: space-around;
  gap: 9px;
  min-height: 520px;
}

.ucl-bracket-tie {
  overflow: hidden;
  border: 1px solid var(--ucl-line);
  border-radius: 8px;
  background: rgba(10, 24, 58, 0.9);
  transition: border-color 180ms ease, background-color 180ms ease, transform 180ms var(--ucl-ease-out), box-shadow 180ms ease;
}

.ucl-bracket-tie.is-playable,
.ucl-bracket-tie.is-watchable,
.ucl-bracket-tie.is-viewable {
  cursor: pointer;
  border-color: rgba(111, 145, 255, 0.56);
  box-shadow: 0 8px 24px rgba(18, 49, 135, 0.2);
}

.ucl-bracket-tie.is-playable:hover,
.ucl-bracket-tie.is-playable:focus-visible,
.ucl-bracket-tie.is-watchable:hover,
.ucl-bracket-tie.is-watchable:focus-visible,
.ucl-bracket-tie.is-viewable:hover,
.ucl-bracket-tie.is-viewable:focus-visible {
  outline: 0;
  border-color: #8eacff;
  background: rgba(30, 62, 139, 0.92);
  transform: translateY(-2px);
}

.ucl-leg-switcher {
  position: relative;
  z-index: 3;
  display: flex;
  width: max-content;
  align-items: center;
  gap: 10px;
  margin: -14px auto 2px;
  padding: 5px;
  border: 1px solid rgba(143, 178, 255, 0.24);
  border-radius: 999px;
  color: #dce7ff;
  background: rgba(6, 20, 49, 0.92);
}

.ucl-leg-switcher[hidden] {
  display: none !important;
}

.ucl-leg-switcher button {
  display: grid;
  width: 32px;
  height: 32px;
  place-items: center;
  border: 1px solid rgba(143, 178, 255, 0.25);
  border-radius: 50%;
  color: #f4f7ff;
  background: #0b2c72;
  cursor: pointer;
  transition: border-color 160ms ease, background-color 160ms ease, transform 160ms cubic-bezier(0.23, 1, 0.32, 1);
}

.ucl-leg-switcher button:hover:not(:disabled),
.ucl-leg-switcher button:focus-visible {
  outline: 0;
  border-color: #9dbbff;
  background: #17449d;
}

.ucl-leg-switcher button:active:not(:disabled) {
  transform: scale(0.96);
}

.ucl-leg-switcher button:disabled {
  opacity: 0.32;
  cursor: default;
}

.ucl-leg-switcher span {
  min-width: 82px;
  text-align: center;
  font: 800 10px "DM Mono", monospace;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.ucl-bracket-tie.is-partial {
  border-color: rgba(101, 219, 139, 0.5);
}

@keyframes ucl-knockout-score-reveal {
  0% {
    filter: blur(5px);
    opacity: 0;
    transform: scale(0.58);
  }
  65% {
    filter: blur(0);
    opacity: 1;
    transform: scale(1.16);
  }
  100% {
    filter: blur(0);
    opacity: 1;
    transform: scale(1);
  }
}

.ucl-bracket-tie.is-revealed .ucl-bracket-team b {
  animation: ucl-knockout-score-reveal 520ms var(--ucl-ease-out) both;
}

.ucl-bracket-team {
  display: grid;
  grid-template-columns: 25px minmax(0, 1fr) auto;
  min-height: 39px;
  align-items: center;
  gap: 7px;
  padding: 5px 8px;
  border-bottom: 1px solid rgba(149, 174, 239, 0.08);
}

.ucl-bracket-team .ucl-team-mark-small {
  width: 20px;
  height: 20px;
}

body.ucl-match-mode-active .golden-boot-flag.ucl-club-flag {
  display: inline-grid !important;
  width: 34px !important;
  height: 34px !important;
  flex: 0 0 34px !important;
  place-items: center;
  overflow: visible !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.ucl-match-mode-active .golden-boot-flag.ucl-club-flag img {
  position: static !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  opacity: 1 !important;
}

.ucl-bracket-team:last-child {
  border-bottom: 0;
}

.ucl-bracket-team.is-winner {
  color: #fff;
  background: rgba(57, 93, 205, 0.24);
}

.ucl-bracket-team strong {
  overflow: hidden;
  font-size: 10px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ucl-bracket-team b {
  font: 800 11px "DM Mono", monospace;
}

.ucl-bracket-decider {
  padding: 5px 8px;
  color: #8da0ca;
  background: rgba(6, 15, 39, 0.65);
  font: 700 8px "DM Mono", monospace;
  text-align: right;
  text-transform: uppercase;
}

.ucl-broadcast-layer {
  position: fixed;
  z-index: 110;
  top: 92px;
  right: 22px;
  display: grid;
  width: min(420px, calc(100vw - 34px));
  pointer-events: none;
}

.ucl-tv-scorebar {
  overflow: hidden;
  border: 1px solid rgba(159, 184, 255, 0.38);
  border-radius: 7px;
  background: #f7f9ff;
  box-shadow: 0 18px 64px rgba(0, 0, 0, 0.48);
  transform: translate3d(calc(100% + 30px), 0, 0);
  opacity: 0;
  transition: transform 430ms var(--ucl-ease-out), opacity 220ms ease;
}

.ucl-tv-scorebar.is-visible {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

.ucl-tv-scorebar.is-leaving {
  transform: translate3d(calc(100% + 30px), 0, 0);
  opacity: 0;
  transition-duration: 260ms, 180ms;
}

.ucl-tv-topline {
  display: flex;
  min-height: 23px;
  align-items: center;
  justify-content: space-between;
  padding: 0 10px;
  color: #dfe7ff;
  background: linear-gradient(90deg, #071a55, #244cae);
  font: 800 7px "DM Mono", monospace;
  letter-spacing: 0.11em;
}

.ucl-tv-score {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  min-height: 70px;
  align-items: center;
  gap: 10px;
  padding: 10px 13px;
  color: #09132f;
}

.ucl-tv-team {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 8px;
}

.ucl-tv-team.is-away {
  flex-direction: row-reverse;
  text-align: right;
}

.ucl-tv-team strong {
  overflow: hidden;
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ucl-tv-numbers {
  min-width: 68px;
  color: #fff;
  border-radius: 4px;
  background: #153b99;
  font: 900 22px "DM Mono", monospace;
  text-align: center;
}

.ucl-tv-note {
  padding: 5px 10px 6px;
  color: #53617f;
  border-top: 1px solid #dfe5f3;
  background: #edf1f9;
  font: 800 8px "DM Mono", monospace;
  text-align: center;
  text-transform: uppercase;
}

.ucl-skip-reveals {
  position: fixed;
  z-index: 112;
  right: 24px;
  bottom: 24px;
  min-height: 40px;
  padding: 0 14px;
  border: 1px solid rgba(158, 180, 241, 0.26);
  border-radius: 7px;
  color: #e8edff;
  background: rgba(8, 18, 45, 0.93);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.32);
  font: 800 10px "Manrope", sans-serif;
  cursor: pointer;
  transition: transform 140ms var(--ucl-ease-out), background-color 160ms ease;
}

/* Draw ceremony */
.ucl-draw-stage {
  position: fixed;
  z-index: 200;
  inset: 0;
  min-height: 100vh;
  overflow: hidden auto;
  color-scheme: dark;
  background:
    radial-gradient(ellipse at 50% 35%, rgba(45, 78, 177, 0.34), transparent 38%),
    linear-gradient(180deg, #06102d 0%, #030817 68%, #01030b 100%);
  isolation: isolate;
}

.ucl-draw-stage::before {
  position: fixed;
  z-index: -2;
  inset: 0;
  content: "";
  background:
    linear-gradient(120deg, transparent 38%, rgba(95, 125, 214, 0.06) 39%, transparent 42%),
    linear-gradient(60deg, transparent 58%, rgba(95, 125, 214, 0.05) 59%, transparent 62%);
}

.ucl-draw-header {
  display: flex;
  min-height: 74px;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 0 28px;
  border-bottom: 1px solid rgba(151, 176, 239, 0.15);
  background: rgba(4, 10, 28, 0.78);
}

.ucl-draw-header > div {
  display: flex;
  align-items: center;
  gap: 12px;
}

.ucl-draw-header img {
  width: 42px;
  height: 42px;
  object-fit: contain;
}

.ucl-draw-header span {
  display: grid;
  gap: 3px;
}

.ucl-draw-header small,
.ucl-draw-progress span {
  color: #7f9cff;
  font: 800 9px "DM Mono", monospace;
  letter-spacing: 0.12em;
}

.ucl-draw-header strong {
  font-size: 17px;
}

.ucl-skip-button {
  min-height: 40px;
  padding: 0 14px;
  border: 1px solid rgba(156, 180, 246, 0.24);
  border-radius: 7px;
  color: #d9e2ff;
  background: rgba(18, 38, 88, 0.68);
  font: 800 10px "Manrope", sans-serif;
  cursor: pointer;
  transition: transform 140ms var(--ucl-ease-out), background-color 160ms ease;
}

.ucl-draw-actions {
  display: flex;
  align-items: center;
  gap: 8px !important;
}

.ucl-pause-button {
  display: inline-flex;
  min-height: 40px;
  align-items: center;
  gap: 8px;
  padding: 0 12px;
  border: 1px solid rgba(156, 180, 246, 0.24);
  border-radius: 7px;
  color: #d9e2ff;
  background: rgba(12, 28, 67, 0.7);
  font: 800 10px "Manrope", sans-serif;
  cursor: pointer;
  transition: transform 140ms var(--ucl-ease-out), background-color 160ms ease, border-color 160ms ease;
}

.ucl-pause-button kbd {
  padding: 3px 5px;
  border: 1px solid rgba(169, 190, 246, 0.25);
  border-radius: 4px;
  color: #9eb4e8;
  background: rgba(3, 10, 28, 0.48);
  font: 800 8px "DM Mono", monospace;
  letter-spacing: 0.04em;
}

.ucl-pause-button[aria-pressed="true"] {
  border-color: rgba(158, 185, 255, 0.52);
  color: #fff;
  background: rgba(39, 76, 170, 0.78);
}

.ucl-pause-button:hover,
.ucl-skip-button:hover {
  border-color: rgba(170, 193, 255, 0.48);
  background: rgba(30, 58, 128, 0.86);
}

.ucl-pause-button:active,
.ucl-skip-button:active {
  transform: scale(0.97);
}

.ucl-draw-progress {
  display: flex;
  width: min(1100px, calc(100% - 40px));
  min-height: 42px;
  align-items: center;
  justify-content: space-between;
  margin: 0 auto;
}

.ucl-draw-progress strong {
  color: #8fa3d3;
  font: 700 10px "DM Mono", monospace;
}

.ucl-draw-progress b {
  color: #fff;
  font-size: 14px;
}

.ucl-ceremony-scene {
  position: relative;
  width: min(1100px, calc(100% - 40px));
  height: clamp(430px, 66vh, 650px);
  min-height: 430px;
  margin: 0 auto;
  overflow: hidden;
  border: 1px solid rgba(143, 169, 239, 0.12);
  border-radius: 16px;
  background:
    radial-gradient(ellipse at 50% 100%, rgba(42, 71, 154, 0.22), transparent 55%),
    linear-gradient(180deg, rgba(9, 21, 57, 0.72), rgba(2, 7, 20, 0.8));
  box-shadow: inset 0 -80px 120px rgba(0, 0, 0, 0.25), 0 25px 80px rgba(0, 0, 0, 0.28);
  contain: layout paint;
  perspective: 1000px;
}

.ucl-draw-stage.is-paused .ucl-pot-balls,
.ucl-draw-stage.is-paused .ucl-mini-ball,
.ucl-draw-stage.is-paused .ucl-feature-ball,
.ucl-draw-stage.is-paused .ucl-drawn-team {
  animation-play-state: paused !important;
}

.ucl-draw-stage.is-paused .ucl-ceremony-scene {
  border-color: rgba(158, 185, 255, 0.28);
}

.ucl-draw-stage.is-paused .ucl-draw-progress span {
  color: #c4d3ff;
}

.ucl-stage-beam {
  position: absolute;
  top: -30%;
  width: 26%;
  height: 140%;
  background: linear-gradient(180deg, rgba(115, 142, 229, 0.16), transparent 72%);
  filter: blur(12px);
  transform-origin: top;
  opacity: 0.6;
}

.ucl-stage-beam-left {
  left: 5%;
  transform: rotate(-15deg);
}

.ucl-stage-beam-right {
  right: 5%;
  transform: rotate(15deg);
}

.ucl-draw-pot-wrap {
  position: absolute;
  z-index: 5;
  bottom: 32px;
  left: 24%;
  width: min(350px, 38vw);
  min-width: 260px;
  transform: translateX(-50%) rotateX(-2deg);
  transform-style: preserve-3d;
}

.ucl-draw-pot {
  position: relative;
  width: 100%;
  aspect-ratio: 1.22 / 1;
  overflow: hidden;
  border: 2px solid rgba(206, 221, 255, 0.34);
  border-top: 0;
  border-radius: 10% 10% 48% 48% / 8% 8% 32% 32%;
  background:
    linear-gradient(110deg, rgba(255, 255, 255, 0.13), transparent 21%, transparent 70%, rgba(177, 201, 255, 0.1)),
    rgba(38, 70, 144, 0.08);
  box-shadow: inset 18px 0 30px rgba(186, 208, 255, 0.06), inset -20px -20px 36px rgba(0, 5, 26, 0.28), 0 22px 50px rgba(0, 0, 0, 0.35);
  transform-style: preserve-3d;
}

.ucl-draw-pot-rim {
  position: absolute;
  z-index: 5;
  top: -13px;
  left: -2%;
  width: 104%;
  height: 32px;
  border: 2px solid rgba(221, 231, 255, 0.55);
  border-radius: 50%;
  background: rgba(61, 91, 157, 0.18);
  box-shadow: inset 0 4px 10px rgba(255, 255, 255, 0.1), 0 6px 18px rgba(0, 0, 0, 0.22);
}

.ucl-pot-glass {
  position: absolute;
  z-index: 4;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(100deg, rgba(255, 255, 255, 0.15), transparent 18%, transparent 72%, rgba(255, 255, 255, 0.06)),
    radial-gradient(circle at 50% 115%, rgba(48, 78, 155, 0.2), transparent 62%);
}

.ucl-pot-balls {
  position: absolute;
  z-index: 2;
  inset: 13% 6% 4%;
  contain: layout paint;
}

.ucl-mini-ball {
  position: absolute;
  top: 50%;
  left: 50%;
  width: clamp(22px, 2.8vw, 33px);
  height: clamp(22px, 2.8vw, 33px);
  border: 1px solid rgba(255, 255, 255, 0.86);
  border-radius: 50%;
  background: radial-gradient(circle at 31% 24%, #fff 0 20%, #f7f9ff 32%, #d8deeb 66%, #9da9c0 100%);
  box-shadow: inset -5px -6px 9px rgba(31, 43, 72, 0.28), 0 5px 10px rgba(0, 3, 16, 0.34), 0 0 9px rgba(224, 232, 255, 0.28);
  transform: translate3d(var(--ball-x), var(--ball-y), var(--ball-z)) scale(var(--ball-scale));
  opacity: var(--ball-opacity, 1);
  animation: ucl-pot-ball-bounce var(--ball-duration) var(--ball-delay) cubic-bezier(0.34, 0, 0.18, 1) infinite;
  transition: opacity 260ms ease;
  will-change: transform;
}

.ucl-mini-ball.is-drawn {
  opacity: 0;
  animation-play-state: paused;
}

@keyframes ucl-pot-ball-bounce {
  0%, 12%, 34%, 50%, 100% { transform: translate3d(var(--ball-x), var(--ball-y), var(--ball-z)) scale(var(--ball-scale)); }
  22% { transform: translate3d(calc(var(--ball-x) + var(--ball-drift)), calc(var(--ball-y) - var(--ball-lift)), var(--ball-z)) scale(var(--ball-scale)); }
  42% { transform: translate3d(calc(var(--ball-x) - var(--ball-drift)), calc(var(--ball-y) - 4px), var(--ball-z)) scale(var(--ball-scale)); }
  68% { transform: translate3d(calc(var(--ball-x) + var(--ball-drift)), var(--ball-y), var(--ball-z)) scale(var(--ball-scale)); }
  84% { transform: translate3d(calc(var(--ball-x) - var(--ball-drift)), var(--ball-y), var(--ball-z)) scale(var(--ball-scale)); }
}

.ucl-pot-base {
  width: 72%;
  height: 54px;
  margin: -4px auto 0;
  display: grid;
  place-items: center;
  border: 1px solid rgba(166, 187, 243, 0.16);
  clip-path: polygon(9% 0, 91% 0, 100% 100%, 0 100%);
  background: linear-gradient(180deg, #12275b, #07132f);
  box-shadow: 0 20px 34px rgba(0, 0, 0, 0.36);
}

.ucl-pot-base span {
  color: #8fa5e3;
  font: 800 7px "DM Mono", monospace;
  letter-spacing: 0.12em;
}

.ucl-feature-ball {
  position: absolute;
  z-index: 14;
  top: 62%;
  left: 24%;
  width: clamp(68px, 7vw, 92px);
  height: clamp(68px, 7vw, 92px);
  border-radius: 50%;
  transform: translate3d(-50%, -15%, 0) scale(0.82);
  opacity: 0;
  transition: opacity 180ms ease, transform 520ms cubic-bezier(0.16, 1, 0.3, 1);
  will-change: transform;
}

.ucl-feature-ball-half {
  position: absolute;
  inset: 0;
  border: 1px solid rgba(255, 255, 255, 0.94);
  border-radius: 50%;
  background: radial-gradient(circle at 30% 23%, #fff 0 19%, #f9faff 32%, #dce2ef 67%, #9da9bf 100%);
  box-shadow: inset -12px -14px 20px rgba(31, 43, 72, 0.3), 0 20px 30px rgba(0, 4, 22, 0.42), 0 0 28px rgba(226, 233, 255, 0.35);
  transition: transform 360ms cubic-bezier(0.77, 0, 0.175, 1), filter 220ms ease;
  will-change: transform;
}

.ucl-feature-ball-half.is-top {
  clip-path: polygon(0 0, 100% 0, 100% 45%, 78% 53%, 62% 45%, 43% 55%, 25% 46%, 0 54%);
}

.ucl-feature-ball-half.is-bottom {
  clip-path: polygon(0 54%, 25% 46%, 43% 55%, 62% 45%, 78% 53%, 100% 45%, 100% 100%, 0 100%);
}

.ucl-feature-ball-crack {
  position: absolute;
  z-index: 2;
  top: 49%;
  left: 13%;
  width: 74%;
  height: 3px;
  clip-path: polygon(0 30%, 18% 0, 35% 70%, 52% 10%, 70% 85%, 100% 25%, 100% 100%, 0 100%);
  background: #142552;
  filter: drop-shadow(0 0 3px rgba(143, 178, 255, 0.72));
  transform: scaleX(0.12);
  opacity: 0;
  transition: transform 180ms cubic-bezier(0.23, 1, 0.32, 1), opacity 120ms ease;
}

.ucl-ceremony-scene[data-phase="selecting"] .ucl-feature-ball {
  opacity: 1;
}

.ucl-ceremony-scene[data-phase="launching"] .ucl-feature-ball,
.ucl-ceremony-scene[data-phase="bouncing"] .ucl-feature-ball,
.ucl-ceremony-scene[data-phase="revealed"] .ucl-feature-ball {
  transform: translate3d(clamp(170px, 31vw, 350px), -225px, 0) scale(1);
  opacity: 1;
}

.ucl-ceremony-scene[data-phase="bouncing"] .ucl-feature-ball-crack,
.ucl-ceremony-scene[data-phase="revealed"] .ucl-feature-ball-crack {
  transform: scaleX(1);
  opacity: 1;
}

.ucl-ceremony-scene[data-phase="revealed"] .ucl-feature-ball-half.is-top {
  transform: translate3d(-10px, -9px, 0) rotate(-9deg);
  filter: brightness(1.04);
}

.ucl-ceremony-scene[data-phase="revealed"] .ucl-feature-ball-half.is-bottom {
  transform: translate3d(11px, 10px, 0) rotate(8deg);
  filter: brightness(0.92);
}

.ucl-ceremony-scene[data-phase="revealed"] .ucl-feature-ball-crack {
  opacity: 0;
}

.ucl-ceremony-scene[data-phase="bouncing"] .ucl-feature-ball,
.ucl-ceremony-scene[data-phase="revealed"] .ucl-feature-ball {
  animation: ucl-feature-ball-bounce 430ms cubic-bezier(0.22, 0.8, 0.32, 1) both;
}

@keyframes ucl-feature-ball-bounce {
  0% { transform: translate3d(clamp(170px, 31vw, 350px), -225px, 0) scale(1); }
  34% { transform: translate3d(clamp(170px, 31vw, 350px), -258px, 0) scale(1); }
  70% { transform: translate3d(clamp(170px, 31vw, 350px), -225px, 0) scale(1); }
  84% { transform: translate3d(clamp(170px, 31vw, 350px), -236px, 0) scale(1); }
  100% { transform: translate3d(clamp(170px, 31vw, 350px), -225px, 0) scale(1); }
}

.ucl-draw-reveal {
  position: absolute;
  z-index: 11;
  top: 50%;
  right: 5%;
  display: grid;
  width: min(430px, 42%);
  grid-template-columns: minmax(0, 1fr) 92px;
  align-items: center;
  gap: 19px;
  transform: translate3d(22px, -35%, 0);
  opacity: 0;
  transition: transform 580ms var(--ucl-ease-out), opacity 320ms ease, filter 300ms ease;
  filter: blur(2px);
}

.ucl-ceremony-scene[data-phase="revealed"] .ucl-draw-reveal {
  transform: translate3d(0, -35%, 0);
  opacity: 1;
  filter: blur(0);
}

.ucl-reveal-copy {
  display: grid;
  min-width: 0;
  min-height: 92px;
  align-content: center;
  gap: 8px;
  padding: 16px 18px;
  border: 1px solid rgba(142, 168, 235, 0.24);
  border-left: 3px solid #d8b968;
  border-radius: 8px;
  color: #fff;
  background: linear-gradient(110deg, rgba(18, 38, 88, 0.94), rgba(7, 17, 45, 0.92));
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.34), inset 0 1px rgba(255, 255, 255, 0.05);
}

.ucl-reveal-copy small {
  overflow: hidden;
  color: #9ab0ec;
  font: 800 8px "DM Mono", monospace;
  letter-spacing: 0.12em;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ucl-reveal-copy strong {
  overflow: hidden;
  font: 800 clamp(17px, 2vw, 25px) "Manrope", sans-serif;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ucl-reveal-badge {
  display: grid;
  width: 90px;
  height: 90px;
  place-items: center;
  transform: translate3d(0, 8px, 0) scale(0.94);
  opacity: 0;
  filter: drop-shadow(0 0 0 rgba(224, 194, 119, 0));
  transition: transform 520ms 300ms var(--ucl-ease-out), opacity 320ms 300ms ease, filter 520ms 300ms ease;
}

.ucl-ceremony-scene[data-phase="revealed"] .ucl-reveal-badge {
  transform: translate3d(0, 0, 0) scale(1);
  opacity: 1;
  filter: drop-shadow(0 0 20px rgba(224, 194, 119, 0.48));
}

.ucl-reveal-badge img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.ucl-drawn-strip {
  display: flex;
  width: min(1100px, calc(100% - 40px));
  min-height: 69px;
  align-items: center;
  gap: 8px;
  margin: 10px auto 18px;
  overflow-x: auto;
  scrollbar-width: thin;
  scrollbar-color: #1f3d8f transparent;
}

.ucl-drawn-team {
  display: grid;
  min-width: 126px;
  grid-template-columns: 28px minmax(0, 1fr);
  align-items: center;
  gap: 7px;
  padding: 7px 9px;
  border: 1px solid rgba(142, 168, 235, 0.14);
  border-radius: 7px;
  background: rgba(12, 28, 67, 0.72);
  animation: ucl-drawn-enter 320ms var(--ucl-ease-out) both;
}

.ucl-drawn-team span:last-child {
  display: grid;
  min-width: 0;
  gap: 2px;
}

.ucl-drawn-team strong {
  overflow: hidden;
  font-size: 9px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ucl-drawn-team small {
  color: #7285b3;
  font: 700 7px "DM Mono", monospace;
}

@keyframes ucl-drawn-enter {
  from { transform: translate3d(0, 6px, 0); opacity: 0; }
  to { transform: translate3d(0, 0, 0); opacity: 1; }
}

.ucl-draw-stage.is-knockout .ucl-ceremony-scene {
  height: clamp(390px, 58vh, 540px);
}

.ucl-draw-stage.is-knockout .ucl-draw-pot-wrap {
  width: min(290px, 34vw);
}

.ucl-draw-stage.is-knockout .ucl-mini-ball:nth-child(n + 17) {
  display: none;
}

/* Qualification, elimination and champion moments */
.ucl-moment-overlay,
.ucl-champion-overlay {
  position: fixed;
  z-index: 240;
  inset: 0;
  display: grid;
  place-items: center;
  overflow: hidden auto;
  padding: 20px;
  background: rgba(1, 4, 14, 0.88);
  backdrop-filter: blur(10px);
}

.ucl-moment-card {
  display: grid;
  width: min(540px, 100%);
  justify-items: center;
  gap: 13px;
  padding: 34px;
  overflow: hidden;
  border: 1px solid rgba(145, 172, 247, 0.26);
  border-radius: 17px;
  background:
    radial-gradient(circle at 50% 0%, rgba(62, 99, 213, 0.3), transparent 50%),
    #0a1738;
  box-shadow: 0 36px 100px rgba(0, 0, 0, 0.58);
  text-align: center;
  animation: ucl-moment-enter 680ms var(--ucl-ease-out) both;
}

.ucl-moment-card.is-eliminated {
  border-color: rgba(155, 166, 192, 0.2);
  background:
    radial-gradient(circle at 50% 0%, rgba(112, 126, 158, 0.18), transparent 48%),
    #111827;
}

.ucl-moment-card .ucl-team-mark-large {
  width: 92px;
  height: 92px;
  filter: drop-shadow(0 0 25px rgba(92, 132, 255, 0.5));
}

.ucl-moment-card.is-eliminated .ucl-team-mark-large {
  filter: grayscale(0.75) drop-shadow(0 0 18px rgba(116, 126, 149, 0.22));
}

.ucl-moment-card > span {
  color: var(--ucl-gold);
  font: 800 9px "DM Mono", monospace;
  letter-spacing: 0.14em;
}

.ucl-moment-card h1,
.ucl-moment-card p {
  margin: 0;
}

.ucl-moment-card h1 {
  font-size: clamp(28px, 7vw, 45px);
  line-height: 1;
  letter-spacing: -0.04em;
}

.ucl-moment-card p {
  max-width: 390px;
  color: #9bacca;
  font-size: 12px;
  line-height: 1.65;
}

.ucl-moment-position {
  display: inline-flex;
  min-height: 36px;
  align-items: center;
  gap: 7px;
  padding: 0 11px;
  border: 1px solid rgba(143, 178, 255, 0.26);
  border-radius: 18px;
  color: #bfd0f3;
  background: rgba(143, 178, 255, 0.08);
  font: 800 10px "DM Mono", monospace;
}

@keyframes ucl-moment-enter {
  from { transform: translate3d(0, 18px, 0) scale(0.96); opacity: 0; filter: blur(3px); }
  to { transform: translate3d(0, 0, 0) scale(1); opacity: 1; filter: blur(0); }
}

.ucl-champion-overlay {
  background:
    radial-gradient(circle at 50% 30%, rgba(80, 119, 238, 0.32), transparent 36%),
    rgba(1, 4, 14, 0.96);
}

.ucl-champion-card {
  position: relative;
  z-index: 2;
  display: grid;
  width: min(620px, 100%);
  justify-items: center;
  padding: 36px 26px 30px;
  text-align: center;
  animation: ucl-champion-enter 900ms var(--ucl-ease-out) both;
}

.ucl-champion-overview {
  display: grid;
  min-height: 640px;
  place-items: center;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 30%, rgba(80, 119, 238, 0.26), transparent 40%),
    linear-gradient(180deg, #0d1e47 0%, #07142f 100%);
}

.ucl-champion-card.is-embedded {
  animation: none;
}

.ucl-champion-card.is-embedded .ucl-trophy {
  animation: none;
}

.ucl-champion-card.is-embedded .ucl-champion-badge > [class^="ucl-team-mark-"] {
  width: 100%;
  height: 100%;
}

.ucl-champion-kicker {
  color: var(--ucl-gold);
  font: 800 10px "DM Mono", monospace;
  letter-spacing: 0.16em;
}

.ucl-trophy {
  width: 122px;
  height: 170px;
  margin: 18px 0 8px;
  color: #e6edf9;
  filter: drop-shadow(0 0 24px rgba(193, 211, 255, 0.38));
  animation: ucl-trophy-rise 1.35s 150ms var(--ucl-ease-out) both;
}

.ucl-trophy svg {
  width: 100%;
  height: 100%;
  overflow: visible;
  fill: rgba(205, 217, 242, 0.1);
  stroke: currentColor;
  stroke-width: 6;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.ucl-trophy > [hidden] {
  display: none !important;
}

.ucl-champion-badge {
  width: 90px;
  height: 90px;
  margin-top: -40px;
  filter: drop-shadow(0 0 28px rgba(229, 194, 113, 0.58));
}

.ucl-champion-badge img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.ucl-champion-card h1 {
  margin: 13px 0 5px;
  font-size: clamp(36px, 8vw, 64px);
  line-height: 0.96;
  letter-spacing: -0.055em;
  text-shadow: 0 0 34px rgba(103, 139, 255, 0.38);
}

.ucl-champion-card p {
  margin: 0;
  color: #a1b0d2;
  font-size: 12px;
}

.ucl-champion-actions {
  display: flex;
  gap: 9px;
  margin-top: 23px;
}

@keyframes ucl-champion-enter {
  from { transform: translate3d(0, 22px, 0); opacity: 0; filter: blur(4px); }
  to { transform: translate3d(0, 0, 0); opacity: 1; filter: blur(0); }
}

@keyframes ucl-trophy-rise {
  0% { transform: translate3d(0, 48px, 0) scale(0.94); opacity: 0; }
  64% { transform: translate3d(0, -5px, 0) scale(1.02); opacity: 1; }
  100% { transform: translate3d(0, 0, 0) scale(1); opacity: 1; }
}

.ucl-confetti {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}

.ucl-confetti span {
  position: absolute;
  top: -9vh;
  left: var(--confetti-left);
  width: var(--confetti-width);
  height: var(--confetti-height);
  border-radius: 1px;
  background: var(--confetti-color);
  transform: translate3d(0, -12vh, 0) rotate(var(--confetti-rotation));
  animation: ucl-confetti-fall var(--confetti-duration) var(--confetti-delay) linear infinite;
}

@keyframes ucl-confetti-fall {
  to { transform: translate3d(var(--confetti-drift), 122vh, 0) rotate(calc(var(--confetti-rotation) + 760deg)); }
}

/* Optional music addon */
.ucl-addon-dialog {
  width: min(560px, calc(100vw - 24px));
  max-height: min(760px, calc(100vh - 24px));
  padding: 0;
  overflow: auto;
  border: 1px solid rgba(145, 170, 240, 0.24);
  border-radius: 16px;
  background: #07132f;
  box-shadow: 0 32px 100px rgba(0, 0, 0, 0.72);
}

.ucl-addon-dialog::backdrop {
  background: rgba(1, 4, 13, 0.82);
  backdrop-filter: blur(8px);
}

.ucl-addon-shell > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding: 22px 23px 18px;
  border-bottom: 1px solid var(--ucl-line);
}

.ucl-addon-shell > header span {
  color: #7f9cff;
  font: 800 8px "DM Mono", monospace;
  letter-spacing: 0.14em;
}

.ucl-addon-shell > header h2 {
  margin: 5px 0 0;
  font-size: 25px;
}

.ucl-dialog-close {
  padding: 0 5px;
  border: 0;
  color: #8fa0c5;
  background: transparent;
  font-size: 28px;
  cursor: pointer;
}

.ucl-addon-intro {
  display: grid;
  grid-template-columns: 62px minmax(0, 1fr);
  align-items: center;
  gap: 16px;
  margin: 20px 22px 12px;
  padding: 17px;
  border: 1px solid rgba(132, 159, 231, 0.18);
  border-radius: 11px;
  background: rgba(24, 52, 119, 0.38);
}

.ucl-addon-intro > div {
  display: grid;
  gap: 5px;
}

.ucl-addon-intro strong {
  font-size: 13px;
}

.ucl-addon-intro p {
  margin: 0;
  color: #8d9fc5;
  font-size: 10px;
  line-height: 1.55;
}

.ucl-addon-disc {
  position: relative;
  display: grid;
  width: 56px;
  height: 56px;
  place-items: center;
  border: 1px solid rgba(152, 180, 255, 0.34);
  border-radius: 50%;
  background:
    repeating-radial-gradient(circle, transparent 0 5px, rgba(122, 150, 230, 0.15) 6px 7px),
    #0d245c;
  box-shadow: 0 0 22px rgba(73, 109, 216, 0.26);
}

.ucl-addon-disc i {
  width: 12px;
  height: 12px;
  border: 3px solid #b8c7f2;
  border-radius: 50%;
}

.ucl-addon-dialog.has-music .ucl-addon-disc {
  animation: ucl-disc-spin 4s linear infinite;
}

@keyframes ucl-disc-spin { to { transform: rotate(360deg); } }

.ucl-addon-file {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  margin: 0 22px;
  padding: 12px 0;
  border-bottom: 1px solid var(--ucl-line);
}

.ucl-addon-file > span {
  display: grid;
  width: 42px;
  height: 34px;
  place-items: center;
  border: 1px solid rgba(132, 159, 231, 0.2);
  border-radius: 5px;
  color: #8ea4de;
  background: rgba(38, 68, 140, 0.28);
  font: 800 8px "DM Mono", monospace;
}

.ucl-addon-file > div {
  display: grid;
  min-width: 0;
  gap: 3px;
}

.ucl-addon-file strong,
.ucl-addon-file small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ucl-addon-file strong {
  font-size: 11px;
}

.ucl-addon-file small {
  color: #7b8db4;
  font-size: 9px;
}

.ucl-volume-control {
  display: grid;
  gap: 13px;
  margin: 0 22px;
  padding: 15px 0 8px;
}

.ucl-volume-control > span {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.ucl-volume-control strong {
  font-size: 11px;
}

.ucl-volume-control small {
  color: #91a4d2;
  font: 700 9px "DM Mono", monospace;
}

.ucl-volume-control input {
  width: 100%;
  accent-color: #5278ed;
}

.ucl-addon-note,
.ucl-addon-message {
  margin: 8px 22px 0;
  color: #7486ae;
  font-size: 9px;
  line-height: 1.55;
}

.ucl-addon-message {
  min-height: 16px;
  color: #9fb2e7;
}

.ucl-addon-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 9px;
  margin-top: 12px;
  padding: 16px 22px 20px;
  border-top: 1px solid var(--ucl-line);
}

.ucl-import-addon,
.ucl-remove-addon {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  padding: 0 15px;
  border-radius: 7px;
  font: 800 10px "Manrope", sans-serif;
  cursor: pointer;
}

.ucl-import-addon {
  color: #fff;
  border: 1px solid #6f91ff;
  background: #3158cb;
}

.ucl-remove-addon {
  border: 0;
  color: #a7b5d5;
  background: transparent;
}

.ucl-restart-modal {
  color: #eef3ff;
  background: #0b1734;
}

body.ucl-fast-mode .ucl-drawn-team,
body.ucl-fast-mode .ucl-moment-card,
body.ucl-fast-mode .ucl-champion-card,
body.ucl-fast-mode .ucl-trophy {
  animation-duration: 120ms !important;
}

@media (max-width: 900px) {
  .ucl-simulator-header {
    padding: 0 16px;
  }

  .ucl-header-button span:last-child {
    display: none;
  }

  .ucl-simulator-header .utility-button > span:last-child {
    display: none;
  }

  .ucl-simulator-header .utility-button {
    padding: 0;
  }

  .ucl-header-button {
    padding: 0;
  }

  .ucl-simulator-main {
    width: min(100% - 28px, 760px);
    padding-top: 20px;
  }

  .ucl-action-row {
    grid-template-columns: 1fr auto;
  }

  .ucl-action-row.is-fixed-knockout .ucl-stage-copy {
    display: flex;
  }

  .ucl-action-row.is-fixed-knockout .ucl-back-button,
  .ucl-action-row.is-fixed-knockout .ucl-stage-heading {
    grid-column: auto;
    justify-self: auto;
  }

  .ucl-action-row:not(.is-league-phase) .ucl-matchday-date {
    display: none;
  }

  .ucl-action-row.is-league-phase {
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  }

  .ucl-overview-grid {
    grid-template-columns: 1fr;
  }

  .ucl-overview-grid.has-golden-boot {
    grid-template-columns: 1fr;
  }

  .ucl-overview-grid.is-knockout-overview,
  .ucl-complete-overview-grid {
    grid-template-columns: 1fr;
  }

  .ucl-draw-reveal {
    right: 3%;
    width: 48%;
    grid-template-columns: minmax(0, 1fr) 76px;
  }

  .ucl-reveal-badge {
    width: 74px;
    height: 74px;
  }
}

@media (max-width: 640px) {
  .ucl-simulator-header {
    min-height: 60px;
    grid-template-columns: 1fr auto 1fr;
    padding: 0 10px;
  }

  .ucl-site-brand .brand-mark {
    transform: scale(0.86);
  }

  .ucl-header-left,
  .ucl-header-actions {
    gap: 1px;
  }

  .ucl-icon-button,
  .ucl-header-button,
  .ucl-simulator-header .ucl-restart-button,
  .ucl-simulator-header .utility-button {
    min-width: 36px;
    min-height: 36px;
  }

  .ucl-header-actions .ucl-header-button:nth-child(1) {
    display: none;
  }

  .ucl-fixture-row.is-no-matchday {
    grid-template-columns: minmax(0, 1fr) 42px minmax(0, 1fr);
    gap: 6px;
    padding-inline: 9px;
  }

  .ucl-simulator-main {
    width: 100%;
    padding: 13px 0 64px;
  }

  .ucl-action-row {
    position: relative;
    min-height: 58px;
    margin: 0 13px 10px;
  }

  .ucl-stage-copy {
    gap: 8px;
  }

  .ucl-back-button > span:last-child {
    display: none;
  }

  .ucl-stage-copy img {
    width: 36px;
    height: 36px;
  }

  .ucl-stage-copy strong {
    font-size: 14px;
  }

  .ucl-primary-actions {
    position: static;
    z-index: auto;
    grid-column: 3;
    grid-row: 1;
    justify-self: end;
    gap: 7px;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
  }

  .ucl-primary-actions > button {
    flex: 0 1 auto;
    min-width: 0;
    min-height: 38px;
    padding-inline: 8px;
    font-size: 9px;
    white-space: nowrap;
  }

  body.ucl-historical-groups .ucl-action-row.is-league-phase {
    grid-template-columns: 36px minmax(0, 1fr);
    grid-template-rows: 48px auto;
    min-height: 98px;
    column-gap: 8px;
    row-gap: 7px;
  }

  body.ucl-historical-groups .ucl-action-row.is-league-phase .ucl-back-button {
    grid-column: 1;
    grid-row: 1;
  }

  body.ucl-historical-groups .ucl-action-row.is-league-phase :is(.ucl-stage-heading, .ucl-matchday-date) {
    grid-column: 2;
    grid-row: 1;
    justify-self: start;
  }

  body.ucl-historical-groups .ucl-action-row.is-league-phase .ucl-primary-actions {
    display: grid;
    width: 100%;
    grid-column: 1 / -1;
    grid-row: 2;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    justify-self: stretch;
  }

  body.ucl-historical-groups .ucl-action-row.is-league-phase .ucl-primary-actions > button {
    width: 100%;
  }

  .ucl-tool-actions {
    gap: 2px;
  }

  .ucl-tool-actions .ucl-header-button {
    min-width: 32px;
    min-height: 36px;
    padding-inline: 6px;
  }

  .ucl-view-tabs {
    padding: 0 5px;
  }

  .ucl-view-tabs button {
    min-width: 103px;
    min-height: 49px;
    padding: 0 12px;
    font-size: 10px;
  }

  .ucl-simulator-content {
    padding: 13px 10px 0;
  }

  .ucl-panel {
    border-radius: 10px;
  }

  .ucl-panel > header,
  .ucl-panel-heading {
    min-height: 57px;
    padding-inline: 12px;
  }

  .ucl-fixture-row {
    grid-template-columns: 26px minmax(0, 1fr) 38px minmax(0, 1fr) 43px;
    min-height: 58px;
    gap: 4px;
    padding: 7px 6px;
  }

  .ucl-fixture-md {
    font-size: 7px;
  }

  .ucl-fixture-team {
    gap: 5px;
  }

  .ucl-fixture-team strong {
    font-size: 9px;
  }

  .ucl-fixture-grid {
    grid-template-columns: 1fr;
  }

  .ucl-groups-grid,
  .ucl-group-fixtures-grid {
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 10px;
  }

  .ucl-group-fixtures-grid {
    padding: 0;
  }

  .ucl-group-table .ucl-table {
    min-width: 440px;
  }

  .ucl-group-fixtures .ucl-fixture-row {
    grid-template-columns: minmax(0, 1fr) 42px minmax(0, 1fr);
    padding-inline: 7px;
  }

  .ucl-fixture-grid .ucl-fixture-row:nth-last-child(-n + 2) {
    border-bottom: 1px solid rgba(149, 174, 239, 0.09);
  }

  .ucl-fixture-grid .ucl-fixture-row:last-child {
    border-bottom: 0;
  }

  .ucl-team-mark-small {
    width: 23px;
    height: 23px;
  }

  .ucl-opponent-card {
    grid-template-columns: 37px 31px minmax(0, 1fr) auto;
    padding-inline: 10px;
  }

  .ucl-opponent-card > .ucl-team-mark-medium {
    width: 30px;
    height: 30px;
  }

  .ucl-table {
    min-width: 480px;
  }

  .ucl-table th:nth-child(2) {
    width: 41%;
  }

  .ucl-broadcast-layer {
    top: auto;
    right: 10px;
    bottom: calc(74px + env(safe-area-inset-bottom));
    width: calc(100vw - 20px);
  }

  .ucl-tv-scorebar {
    transform: translate3d(0, calc(100% + 20px), 0);
  }

  .ucl-tv-scorebar.is-visible {
    transform: translate3d(0, 0, 0);
  }

  .ucl-tv-scorebar.is-leaving {
    transform: translate3d(0, calc(100% + 20px), 0);
  }

  .ucl-skip-reveals {
    right: 12px;
    bottom: calc(148px + env(safe-area-inset-bottom));
  }

  .ucl-draw-header {
    min-height: 62px;
    padding: 0 14px;
  }

  .ucl-draw-header img {
    width: 34px;
    height: 34px;
  }

  .ucl-draw-header strong {
    font-size: 14px;
  }

  .ucl-draw-actions {
    gap: 5px !important;
  }

  .ucl-pause-button,
  .ucl-skip-button {
    min-height: 36px;
    padding-inline: 9px;
  }

  .ucl-pause-button kbd {
    display: none;
  }

  .ucl-draw-progress,
  .ucl-ceremony-scene,
  .ucl-drawn-strip {
    width: calc(100% - 20px);
  }

  .ucl-ceremony-scene {
    height: calc(100vh - 190px);
    min-height: 460px;
    max-height: 600px;
    border-radius: 12px;
  }

  .ucl-draw-pot-wrap {
    bottom: 28px;
    left: 50%;
    width: min(270px, 76vw);
  }

  .ucl-feature-ball {
    top: 65%;
    left: 50%;
    width: 68px;
    height: 68px;
  }

  .ucl-ceremony-scene[data-phase="launching"] .ucl-feature-ball,
  .ucl-ceremony-scene[data-phase="bouncing"] .ucl-feature-ball,
  .ucl-ceremony-scene[data-phase="revealed"] .ucl-feature-ball {
    transform: translate3d(-50%, -238px, 0) scale(1);
  }

  @keyframes ucl-feature-ball-bounce {
    0% { transform: translate3d(-50%, -238px, 0) scale(1); }
    34% { transform: translate3d(-50%, -268px, 0) scale(1); }
    70% { transform: translate3d(-50%, -238px, 0) scale(1); }
    84% { transform: translate3d(-50%, -248px, 0) scale(1); }
    100% { transform: translate3d(-50%, -238px, 0) scale(1); }
  }

  .ucl-draw-reveal {
    top: 36%;
    right: 5%;
    left: 5%;
    width: auto;
    grid-template-columns: minmax(0, 1fr) 64px;
    gap: 11px;
    transform: translate3d(0, 18px, 0);
  }

  .ucl-ceremony-scene[data-phase="revealed"] .ucl-draw-reveal {
    transform: translate3d(0, 0, 0);
  }

  .ucl-reveal-copy {
    min-height: 74px;
    padding: 11px 12px;
  }

  .ucl-reveal-copy strong {
    font-size: 16px;
  }

  .ucl-reveal-badge {
    width: 62px;
    height: 62px;
  }

  .ucl-drawn-strip {
    min-height: 59px;
    margin-top: 6px;
  }

  .ucl-drawn-team {
    min-width: 109px;
  }

  .ucl-moment-card {
    padding: 28px 20px;
  }

  .ucl-champion-card {
    padding-inline: 10px;
  }

  .ucl-champion-overview {
    min-height: 560px;
  }

  .ucl-trophy {
    width: 102px;
    height: 145px;
  }

  .ucl-champion-actions {
    width: 100%;
    flex-direction: column;
  }

  .ucl-addon-shell > header,
  .ucl-addon-actions {
    padding-inline: 17px;
  }

  .ucl-addon-intro,
  .ucl-addon-file,
  .ucl-volume-control,
  .ucl-addon-note,
  .ucl-addon-message {
    margin-right: 17px;
    margin-left: 17px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ucl-pot-balls,
  .ucl-mini-ball,
  .ucl-feature-ball,
  .ucl-drawn-team,
  .ucl-moment-card,
  .ucl-champion-card,
  .ucl-trophy,
  .ucl-confetti span,
  .ucl-addon-dialog.has-music .ucl-addon-disc {
    animation: none !important;
  }

  .ucl-feature-ball,
  .ucl-feature-ball-half,
  .ucl-feature-ball-crack,
  .ucl-draw-reveal,
  .ucl-reveal-copy,
  .ucl-reveal-badge,
  .ucl-tv-scorebar,
  .ucl-table tr {
    transition-duration: 120ms !important;
  }

  .ucl-ceremony-scene[data-phase="launching"] .ucl-feature-ball,
  .ucl-ceremony-scene[data-phase="bouncing"] .ucl-feature-ball,
  .ucl-ceremony-scene[data-phase="revealed"] .ucl-feature-ball {
    transform: translate3d(-50%, -50%, 0) scale(1);
  }
}

/* Keep the shared PL placement while removing every domestic-league colour. */
body.pl-match-mode-active.ucl-match-mode-active,
body.pl-match-mode-active.ucl-match-mode-active #appShell,
body.pl-match-mode-active.ucl-match-mode-active .main,
body.pl-match-mode-active.ucl-match-mode-active .content {
  color: #f4f7ff !important;
  background: linear-gradient(180deg, #06132f, #02091b 58%) !important;
}

body.pl-match-mode-active.ucl-match-mode-active .sidebar {
  background: linear-gradient(90deg, #06132f, #0b255a) !important;
  border-bottom-color: rgba(105, 148, 255, 0.24) !important;
}

body.pl-match-mode-active.ucl-match-mode-active .site-footer {
  display: none !important;
}

body.pl-match-mode-active.ucl-match-mode-active #matchAnalysis,
body.pl-match-mode-active.ucl-match-mode-active .standard-match-tactics,
body.pl-match-mode-active.ucl-match-mode-active .pl-watch-tactics {
  border-color: rgba(105, 148, 255, 0.22) !important;
  background: linear-gradient(180deg, #0a1d46, #06132f) !important;
}

body.pl-match-mode-active.ucl-match-mode-active .standard-tactic-buttons {
  border-color: rgba(105, 148, 255, 0.18) !important;
  background: #040d22 !important;
}

body.pl-match-mode-active.ucl-match-mode-active .standard-match-tactics > span {
  color: #8eb0ff !important;
}

body.pl-match-mode-active.ucl-match-mode-active .top-actions .utility-button {
  border-color: rgba(105, 148, 255, 0.22) !important;
  background: #0c285e !important;
}

@media (max-width: 850px) {
  body.pl-match-mode-active.ucl-match-mode-active .insight-right,
  body.pl-match-mode-active.ucl-match-mode-active .insight-right.tactics-hidden,
  body.pl-match-mode-active.ucl-match-mode-active.pl-match-detail-active .insight-right {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.pl-match-mode-active.ucl-match-mode-active #matchAnalysis,
  body.pl-match-mode-active.ucl-match-mode-active .standard-match-tactics,
  body.pl-match-mode-active.ucl-match-mode-active .pl-watch-tactics {
    grid-column: 1 !important;
    width: auto !important;
  }

  body.pl-match-mode-active.ucl-match-mode-active .standard-match-tactics,
  body.pl-match-mode-active.ucl-match-mode-active .pl-watch-tactics {
    grid-row: 1 !important;
  }

  body.pl-match-mode-active.ucl-match-mode-active #matchAnalysis {
    grid-row: 2 !important;
  }

  body.pl-match-mode-active.ucl-match-mode-active .standard-tactic-buttons {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

}

/* Keep the full UCL matchday browser beneath the live match. */
body.pl-match-mode-active.ucl-match-mode-active .content {
  grid-template-areas:
    "next stage table"
    "board board boot" !important;
}

body.pl-match-mode-active.ucl-match-mode-active .insight-left {
  display: grid !important;
  grid-area: boot;
  align-content: start;
}

.ucl-tool-actions[hidden],
.ucl-legacy-tool-button[hidden] {
  display: none !important;
}

body.pl-match-mode-active.ucl-match-mode-active #roundBoard {
  display: block !important;
  grid-area: board;
  border-color: rgba(105, 145, 255, 0.22) !important;
  background: linear-gradient(180deg, #0a1d46, #06132f) !important;
}

body.pl-match-mode-active.ucl-match-mode-active #roundBoard .section-heading {
  border-bottom-color: rgba(105, 145, 255, 0.16) !important;
}

body.pl-match-mode-active.ucl-match-mode-active #roundBoard .section-heading h3 {
  color: #f4f7ff !important;
}

body.pl-match-mode-active.ucl-match-mode-active #roundBoard .fixture-grid:not(.bracket-mode) {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

body.pl-match-mode-active.ucl-match-mode-active #roundBoard .fixture {
  border-color: rgba(105, 145, 255, 0.18) !important;
  color: #c9d7f8 !important;
  background: #071a3d !important;
  box-shadow: none !important;
}

body.pl-match-mode-active.ucl-match-mode-active #roundBoard .fixture:hover,
body.pl-match-mode-active.ucl-match-mode-active #roundBoard .fixture.selected {
  border-color: #7fa6ff !important;
  background: #102b67 !important;
}

body.pl-match-mode-active.ucl-match-mode-active #roundBoard .fixture .fixture-card-head,
body.pl-match-mode-active.ucl-match-mode-active #roundBoard .fixture .fixture-card-head small {
  color: #8eb0ff !important;
}

body.pl-match-mode-active.ucl-match-mode-active #roundBoard .fixture .fixture-team .name {
  color: #f4f7ff !important;
}

body.pl-match-mode-active.ucl-match-mode-active #roundBoard .fixture .fixture-team b {
  color: #9eb8f3 !important;
}

body.pl-match-mode-active.ucl-match-mode-active #roundBoard .fixture .fixture-team.winner b {
  color: #65db8b !important;
}

body.pl-match-mode-active.ucl-match-mode-active #roundBoard #simulateRoundButton {
  border-color: rgba(143, 178, 255, 0.28) !important;
  color: #e5edff !important;
  background: #0b2355 !important;
}

body.pl-match-mode-active.ucl-match-mode-active #roundBoard #teamFilterControl,
body.pl-match-mode-active.ucl-match-mode-active #roundBoard #unresolvedFilter,
body.pl-match-mode-active.ucl-match-mode-active #roundBoard #loadMoreButton,
body.pl-match-mode-active.ucl-match-mode-active #roundBoard #goToTopButton {
  display: none !important;
}

body.pl-match-mode-active.ucl-match-mode-active #roundBoard .history-round-button:not([hidden]) {
  display: inline-flex !important;
  min-height: 32px;
  align-items: center;
  justify-content: center;
  border-color: rgba(143, 178, 255, 0.28) !important;
  color: #dce7ff !important;
  background: #0b2355 !important;
}

body.pl-match-mode-active.ucl-match-mode-active #roundBoard .history-round-button:hover {
  border-color: #8eacff !important;
  background: #173a87 !important;
}

/* UCL shootouts keep the same deep-blue broadcast surface as the live match. */
body.pl-match-mode-active.ucl-match-mode-active :is(
  .penalty-stage,
  .match-penalty-overlay,
  .standard-penalty-stage
) {
  border-color: rgba(143, 178, 255, 0.34) !important;
  color: #f4f7ff !important;
  background: linear-gradient(145deg, #0b2c72, #061431) !important;
  box-shadow: 0 18px 52px rgba(2, 9, 27, 0.46) !important;
}

body.pl-match-mode-active.ucl-match-mode-active :is(
  .match-penalty-scene,
  .standard-penalty-scene,
  .penalty-scene
) {
  border-color: rgba(143, 178, 255, 0.28) !important;
  background:
    linear-gradient(180deg, rgba(18, 61, 145, 0.2), rgba(3, 13, 35, 0.62)),
    repeating-linear-gradient(90deg, rgba(143, 178, 255, 0.05) 0 42px, transparent 42px 84px),
    #0b2c72 !important;
  box-shadow: inset 0 0 46px rgba(2, 9, 27, 0.42) !important;
}

body.pl-match-mode-active.ucl-match-mode-active .penalty-stage-head,
body.pl-match-mode-active.ucl-match-mode-active .penalty-call span,
body.pl-match-mode-active.ucl-match-mode-active .penalty-ledgers span {
  color: #9eb8f3 !important;
}

body.pl-match-mode-active.ucl-match-mode-active :is(
  .penalty-stage-head strong,
  .penalty-call strong,
  .match-penalty-decision small
) {
  color: #f4f7ff !important;
}

body.pl-match-mode-active.ucl-match-mode-active :is(
  .penalty-stage-head strong i,
  .penalty-stage-head strong b.score-pop,
  .match-penalty-decision strong
) {
  color: #65db8b !important;
}

body.pl-match-mode-active.ucl-match-mode-active :is(
  .match-penalty-scene,
  .standard-penalty-scene,
  .penalty-scene
) .penalty-mark {
  border-color: rgba(143, 178, 255, 0.42) !important;
  background: #173f91 !important;
}

body.pl-match-mode-active.ucl-match-mode-active :is(
  .match-penalty-scene,
  .standard-penalty-scene,
  .penalty-scene
) .penalty-mark.goal {
  border-color: #8eeab0 !important;
  background: #208b58 !important;
}

body.pl-match-mode-active.ucl-match-mode-active :is(
  .match-penalty-scene,
  .standard-penalty-scene,
  .penalty-scene
) .penalty-mark.miss {
  border-color: #ee8b9c !important;
  background: #8f314b !important;
}

body.pl-match-mode-active.ucl-match-mode-active .match-stage.pl-full-time .stage-action {
  margin-top: var(--pl-result-event-clearance, 0px);
}

@media (max-width: 1180px) {
  body.pl-match-mode-active.ucl-match-mode-active #roundBoard .fixture-grid:not(.bracket-mode) {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 850px) {
  body.pl-match-mode-active.ucl-match-mode-active {
    overflow-x: hidden;
  }

  body.pl-match-mode-active.ucl-match-mode-active :is(#appShell, .main) {
    box-sizing: border-box;
    width: 100% !important;
    max-width: none !important;
  }

  body.pl-match-mode-active.ucl-match-mode-active #appShell,
  body.pl-match-mode-active.ucl-match-mode-active .main,
  body.pl-match-mode-active.ucl-match-mode-active .content,
  body.pl-match-mode-active.ucl-match-mode-active .stage-column,
  body.pl-match-mode-active.ucl-match-mode-active .insight-right,
  body.pl-match-mode-active.ucl-match-mode-active .insight-left,
  body.pl-match-mode-active.ucl-match-mode-active #roundBoard {
    min-width: 0;
    max-width: 100%;
  }

  body.pl-match-mode-active.ucl-match-mode-active .content {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-areas:
      "stage stage"
      "tactics stats"
      "boot table"
      "board board" !important;
    box-sizing: border-box;
    width: calc(100% - 24px) !important;
    max-width: 760px !important;
    margin-inline: auto;
  }

  body.pl-match-mode-active.ucl-match-mode-active .insight-right {
    display: contents !important;
  }

  body.pl-match-mode-active.ucl-match-mode-active #matchAnalysis {
    grid-area: stats !important;
    width: 100% !important;
  }

  body.pl-match-mode-active.ucl-match-mode-active .standard-match-tactics,
  body.pl-match-mode-active.ucl-match-mode-active .pl-watch-tactics {
    grid-area: tactics !important;
    width: 100% !important;
  }

  body.pl-match-mode-active.ucl-match-mode-active :is(
    #matchAnalysis,
    .standard-match-tactics,
    .pl-watch-tactics
  ) {
    box-sizing: border-box;
    height: 100% !important;
    align-self: stretch !important;
  }

  body.pl-match-mode-active.ucl-match-mode-active .standard-match-tactics {
    display: grid !important;
    grid-template-rows: auto minmax(0, 1fr) auto;
  }

  body.pl-match-mode-active.ucl-match-mode-active :is(
    .standard-match-tactics,
    .pl-watch-tactics
  )[hidden] {
    display: none !important;
  }

  body.pl-match-mode-active.ucl-match-mode-active .standard-tactic-buttons {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: repeat(5, minmax(32px, 1fr));
    gap: 4px;
  }

  body.pl-match-mode-active.ucl-match-mode-active .standard-tactic-buttons button {
    min-height: 32px;
    padding: 6px 8px;
    font-size: 8px;
  }

  body.pl-match-mode-active.ucl-match-mode-active #uclEngineTablePanel {
    grid-area: table !important;
    width: 100% !important;
  }

  body.pl-match-mode-active.ucl-match-mode-active .insight-left {
    grid-area: boot !important;
    height: 100%;
    align-self: stretch;
  }

  body.pl-match-mode-active.ucl-match-mode-active .insight-left .golden-boot-panel {
    box-sizing: border-box;
    height: 100%;
  }

  body.pl-match-mode-active.ucl-match-mode-active:has(.insight-right.tactics-hidden) .content {
    grid-template-areas:
      "stage stage"
      "stats table"
      "boot boot"
      "board board" !important;
  }

  body.pl-match-mode-active.ucl-match-mode-active #uclEngineTablePanel .pl-engine-table-row {
    grid-template-columns: 18px minmax(0, 1fr) 22px 22px;
    gap: 3px;
    min-height: 39px;
    padding: 5px 6px;
  }

  body.pl-match-mode-active.ucl-match-mode-active #uclEngineTablePanel .pl-engine-table-head {
    grid-template-columns: 18px minmax(0, 1fr) 22px 22px;
    gap: 3px;
    padding: 8px 6px;
    font-size: 7px;
  }

  body.pl-match-mode-active.ucl-match-mode-active #uclEngineTablePanel .pl-engine-table-row > span {
    min-width: 0;
  }

  body.pl-match-mode-active.ucl-match-mode-active #uclEngineTablePanel .pl-engine-table-row > span strong {
    overflow: hidden;
    font-size: 8px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  body.pl-match-mode-active.ucl-match-mode-active #matchAnalysis .match-stat-row {
    grid-template-columns: minmax(30px, 0.8fr) minmax(68px, 1.4fr) minmax(30px, 0.8fr);
    gap: 3px;
    padding-inline: 6px;
    font-size: 8px;
  }

  body.pl-match-mode-active.ucl-match-mode-active #matchAnalysis .match-stat-row > * {
    min-width: 0;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  body.pl-match-mode-active.ucl-match-mode-active #matchAnalysis .match-stat-row b {
    font-size: 9px;
  }

  body.pl-match-mode-active.ucl-match-mode-active #uclEngineTablePanel .pl-engine-table-row :is(i, b) {
    font-size: 8px;
  }

  body.pl-match-mode-active.ucl-match-mode-active #uclEngineTablePanel .pl-engine-table-row :is(img, .ucl-team-mark-small) {
    width: 18px !important;
    height: 18px !important;
    flex-basis: 18px !important;
  }

  body.pl-match-mode-active.ucl-match-mode-active :is(
    #uclEngineTablePanel,
    .golden-boot-panel
  ) .panel-heading {
    min-width: 0;
    gap: 5px;
    padding-inline: 7px;
  }

  body.pl-match-mode-active.ucl-match-mode-active :is(
    #uclEngineTablePanel,
    .golden-boot-panel
  ) .panel-heading :is(strong, span) {
    min-width: 0;
    font-size: 8px;
    letter-spacing: 0.08em;
    white-space: nowrap;
  }

  body.pl-match-mode-active.ucl-match-mode-active #uclEngineTablePanel .panel-heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    justify-items: center;
    gap: 2px;
    text-align: center;
  }

  body.pl-match-mode-active.ucl-match-mode-active .golden-boot-row {
    grid-template-columns: 18px minmax(0, 1fr) 20px;
    gap: 5px;
    min-height: 43px;
    padding: 7px 6px;
  }

  body.pl-match-mode-active.ucl-match-mode-active .golden-boot-rank,
  body.pl-match-mode-active.ucl-match-mode-active .golden-boot-player small {
    font-size: 7px;
  }

  body.pl-match-mode-active.ucl-match-mode-active .golden-boot-player strong {
    font-size: 8px;
  }

  body.pl-match-mode-active.ucl-match-mode-active .golden-boot-row > b {
    font-size: 11px;
  }

  body.pl-match-mode-active.ucl-match-mode-active .golden-boot-empty {
    grid-template-columns: 18px minmax(0, 1fr);
    gap: 5px;
    padding: 14px 8px;
  }

  body.pl-match-mode-active.ucl-match-mode-active .golden-boot-empty span {
    font-size: 8px;
    line-height: 1.35;
  }

  body.pl-match-mode-active.ucl-match-mode-active .stage-column,
  body.pl-match-mode-active.ucl-match-mode-active .match-stage {
    width: 100%;
  }

  body.pl-match-mode-active.ucl-match-mode-active .team h2.team-name > span,
  body.pl-match-mode-active.ucl-match-mode-active .team h2.team-name.is-overflowing > span {
    display: block;
    width: auto;
    max-width: 100%;
    overflow: hidden;
    animation: none !important;
    text-overflow: ellipsis;
    transform: none !important;
    white-space: nowrap !important;
  }

  body.pl-match-mode-active.ucl-match-mode-active #roundBoard .fixture-grid:not(.bracket-mode) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  body.pl-match-mode-active.ucl-match-mode-active #roundBoard .fixture-grid:not(.bracket-mode) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }
}

/* UEFA Europa League identity. The existing .ucl-* names are shared structural
   hooks; all visual changes below remain competition-qualified so UCL is intact. */
body.club-competition-uel :is(
  .ucl-simulator-screen,
  .ucl-draw-stage,
  .ucl-moment-overlay,
  .ucl-champion-overlay,
  .ucl-addon-dialog
) {
  --ucl-navy-950: #070706;
  --ucl-navy-900: #0d0c0b;
  --ucl-navy-850: #13110f;
  --ucl-navy-800: #1a1714;
  --ucl-blue: #ef6a2c;
  --ucl-blue-bright: #f28a50;
  --ucl-gold: #ef6a2c;
  --ucl-ink: #f6f1eb;
  --ucl-muted: #a89f96;
  --ucl-line: rgba(246, 241, 235, 0.11);
  --ucl-soft: rgba(239, 106, 44, 0.09);
  color: #f6f1eb;
}

body.club-competition-uel.ucl-simulator-open,
body.club-competition-uel .ucl-simulator-screen {
  background:
    radial-gradient(ellipse at 76% -8%, rgba(213, 84, 30, 0.12), transparent 34rem),
    radial-gradient(ellipse at -8% 52%, rgba(239, 106, 44, 0.035), transparent 28rem),
    linear-gradient(180deg, #0a0908 0%, #070706 58%, #050505 100%);
}

/* Site chrome */
body.club-competition-uel .ucl-simulator-header {
  border-color: rgba(246, 241, 235, 0.09);
  background: rgba(10, 9, 8, 0.96);
  box-shadow: 0 12px 34px rgba(0, 0, 0, 0.38);
}

body.club-competition-uel .ucl-simulator-header :is(
  .ucl-icon-button,
  .ucl-header-button,
  .utility-button,
  .ucl-restart-button,
  .header-donate-link,
  .main-account-button
) {
  border-color: rgba(246, 241, 235, 0.09);
  color: #cfc6bd;
  background: #151310;
}

body.club-competition-uel .ucl-simulator-header .brand-mark {
  border: 1px solid rgba(239, 106, 44, 0.42);
  color: #fff8f1;
  background: #211812;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.3);
}

body.club-competition-uel .ucl-site-brand {
  border-color: transparent;
  color: #f6f1eb;
  outline-color: #ef6a2c;
  text-decoration: none;
}

body.club-competition-uel .feature-announcement-modal:not(.feature-announcement-league-launch) {
  border: 1px solid rgba(246, 241, 235, 0.12);
  color: #f6f1eb;
  background: #12100e;
  box-shadow: 0 30px 90px rgba(0, 0, 0, 0.58);
}

body.club-competition-uel .feature-announcement-modal:not(.feature-announcement-league-launch)::backdrop {
  background: rgba(5, 5, 5, 0.82);
}

body.club-competition-uel .feature-announcement-modal:not(.feature-announcement-league-launch) .feature-announcement-accent {
  background:
    radial-gradient(circle at 50% 42%, rgba(239, 106, 44, 0.17), transparent 42%),
    linear-gradient(180deg, #211711, #0d0c0a) !important;
}

body.club-competition-uel .feature-announcement-modal:not(.feature-announcement-league-launch) :is(.feature-announcement-label, h2) {
  color: #f6f1eb;
}

body.club-competition-uel .feature-announcement-modal:not(.feature-announcement-league-launch) .feature-announcement-label {
  color: #e48651;
}

body.club-competition-uel .feature-announcement-modal:not(.feature-announcement-league-launch) p,
body.club-competition-uel .feature-announcement-modal:not(.feature-announcement-league-launch) .feature-announcement-dismiss {
  color: #a89f96;
}

body.club-competition-uel .feature-announcement-modal:not(.feature-announcement-league-launch) .feature-announcement-button {
  border: 1px solid #ef6a2c;
  color: #170d08;
  background: #ef6a2c;
}

body.club-competition-uel .ucl-simulator-header .account-avatar-icon svg {
  stroke: #d8cfc6;
}

body.club-competition-uel .ucl-simulator-header .utility-button > span:first-child {
  color: #d49a78 !important;
}

body.club-competition-uel :is(.ucl-back-button, .ucl-fast-icon) {
  color: #d0c6bd;
}

body.club-competition-uel :is(
  #clubCompetitionLogo,
  [data-club-competition-logo],
  .ucl-trophy.is-competition-logo img,
  #clubCompetitionChampionTrophyImage
) {
  filter: brightness(0) invert(1) drop-shadow(0 10px 20px rgba(239, 106, 44, 0.2));
}

/* Juventus use a black single-colour glyph; lift only that UEL crest to white. */
body.club-competition-uel [data-team-id="juventus"] img,
body.club-competition-uel img[data-team-id="juventus"],
body.pl-match-mode-active.uel-match-mode-active [data-team-id="juventus"] img,
body.pl-match-mode-active.uel-match-mode-active img[data-team-id="juventus"] {
  filter: brightness(0) invert(1) !important;
  opacity: 1 !important;
}

/* League dashboard */
body.club-competition-uel .ucl-action-row {
  background: transparent;
}

body.club-competition-uel .ucl-view-tabs {
  border-color: rgba(246, 241, 235, 0.1);
  border-radius: 10px;
  background: rgba(14, 13, 11, 0.84);
}

body.club-competition-uel .ucl-view-tabs button {
  color: #958c84;
  background: transparent;
}

body.club-competition-uel .ucl-view-tabs button.active {
  color: #f7f2ec;
  background: rgba(239, 106, 44, 0.09);
}

body.club-competition-uel .ucl-view-tabs button.active::after {
  background: #ef6a2c;
}

body.club-competition-uel :is(
  .ucl-panel,
  .ucl-golden-boot,
  .ucl-bracket-tie,
  .ucl-empty-state,
  .ucl-leg-switcher,
  .ucl-opponent-card,
  .ucl-fixture-row
) {
  border-color: rgba(246, 241, 235, 0.11);
  color: #f1ebe5;
  background: rgba(18, 16, 14, 0.94);
  box-shadow: 0 18px 52px rgba(0, 0, 0, 0.22);
}

body.club-competition-uel :is(.ucl-panel > header, .ucl-panel-heading, .ucl-golden-boot > header) {
  border-color: rgba(246, 241, 235, 0.1);
  background: #171411;
}

body.club-competition-uel :is(.ucl-panel header button, .ucl-panel-footer button, .ucl-matchday-nav button) {
  border-color: rgba(246, 241, 235, 0.13);
  color: #d2c9c0;
  background: #1c1916;
}

body.club-competition-uel :is(
  .ucl-stage-copy small,
  .ucl-matchday-date span,
  .ucl-panel-kicker,
  .ucl-bracket-stage > header span,
  .ucl-fixtures-date,
  .ucl-matchday-heading small,
  .ucl-golden-boot > header > small
) {
  color: #c98660;
}

body.club-competition-uel :is(
  .ucl-panel h2,
  .ucl-panel h3,
  .ucl-stage-copy strong,
  .ucl-matchday-date strong,
  .ucl-table-club strong,
  .ucl-fixture-team strong,
  .ucl-golden-boot-row > span strong
) {
  color: #f7f2ec;
}

body.club-competition-uel :is(
  .ucl-fixture-md,
  .ucl-kickoff,
  .ucl-opponent-number,
  .ucl-opponent-copy small,
  .ucl-golden-boot-row > b,
  .ucl-golden-boot-row > span small,
  .ucl-golden-boot-empty,
  .ucl-table-legend,
  .ucl-table th
) {
  color: #918880;
}

body.club-competition-uel :is(.ucl-opponent-venue-label, .ucl-fixture-md) {
  color: #b98d72 !important;
}

body.club-competition-uel .ucl-table td:not(:first-child) {
  color: #b8afa7;
}

body.club-competition-uel :is(.ucl-opponent-card, .ucl-fixture-row, .ucl-golden-boot-row, .ucl-table td) {
  border-color: rgba(246, 241, 235, 0.075);
}

body.club-competition-uel :is(.ucl-fixture-row.is-managed, .ucl-table tr.is-managed) {
  background: rgba(239, 106, 44, 0.085);
  box-shadow: inset 2px 0 rgba(239, 106, 44, 0.58);
}

body.club-competition-uel .ucl-table tr.is-managed {
  box-shadow: none;
}

body.club-competition-uel .ucl-score {
  color: #f5b08a;
  background: #241810;
}

body.club-competition-uel .ucl-kickoff.is-watch-action {
  border-color: #ef6a2c;
  color: #170d08;
  background: #ef6a2c;
  box-shadow: 0 8px 20px rgba(196, 72, 21, 0.2);
}

body.club-competition-uel .ucl-fixture-row.is-watchable:hover .ucl-kickoff.is-watch-action,
body.club-competition-uel .ucl-fixture-row.is-watchable:focus-visible .ucl-kickoff.is-watch-action {
  border-color: #f5864d;
  background: #f5864d;
}

body.club-competition-uel .ucl-zone-chip {
  border-color: rgba(239, 106, 44, 0.22);
  color: #bfaa9c;
}

/* Position numbers remain part of the row instead of becoming a solid rail. */
body.club-competition-uel .ucl-table tbody tr[data-zone] td:first-child {
  background: transparent !important;
  box-shadow: none !important;
}

body.club-competition-uel .ucl-table tbody tr[data-zone="direct"] td:first-child {
  color: #f2a274;
}

body.club-competition-uel .ucl-table tbody tr[data-zone="playoff"] td:first-child {
  color: #c9b18f;
}

body.club-competition-uel .ucl-table tbody tr[data-zone="out"] td:first-child {
  color: #77716b;
}

body.club-competition-uel .ucl-table tr.zone-divider td {
  border-top-color: rgba(239, 106, 44, 0.28);
}

body.club-competition-uel .ucl-table-legend span:nth-child(1) { --legend-color: #ef6a2c; }
body.club-competition-uel .ucl-table-legend span:nth-child(2) { --legend-color: #bba47f; }
body.club-competition-uel .ucl-table-legend span:nth-child(3) { --legend-color: #68635d; }

body.club-competition-uel .ucl-golden-boot-row > i,
body.club-competition-uel :is(.ucl-table-points, .ucl-panel-kicker, .ucl-bracket-team.is-winner) {
  color: #f19a67;
}

body.club-competition-uel .ucl-bracket-team.is-winner {
  background: rgba(239, 106, 44, 0.1);
}

body.club-competition-uel .ucl-bracket-decider {
  border-top: 1px solid rgba(246, 241, 235, 0.07);
  color: #a89f96;
  background: #090908;
  box-shadow: none;
}

body.club-competition-uel :is(.ucl-bracket-tie.is-playable, .ucl-bracket-tie.is-watchable, .ucl-bracket-tie.is-viewable) {
  border-color: rgba(239, 106, 44, 0.38);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.24);
}

body.club-competition-uel .ucl-leg-switcher button {
  border-color: rgba(246, 241, 235, 0.13);
  color: #f1ebe5;
  background: #211d19;
}

body.club-competition-uel :is(.ucl-primary-action, .ucl-skip-button, .ucl-import-addon, .ucl-launch-button) {
  border-color: #ef6a2c;
  color: #170d08;
  background: #ef6a2c;
  box-shadow: 0 10px 24px rgba(196, 72, 21, 0.2);
  clip-path: none;
}

body.club-competition-uel :is(.ucl-secondary-action, .ucl-pause-button) {
  border-color: rgba(239, 106, 44, 0.36);
  color: #eee6de;
  background: #201914;
}

body.club-competition-uel :is(
  .ucl-primary-action,
  .ucl-secondary-action,
  .ucl-launch-button,
  .ucl-panel header button,
  .ucl-panel-footer button,
  .ucl-matchday-nav button,
  .ucl-bracket-tie,
  .ucl-fixture-row,
  .ucl-view-tabs button
) {
  transition: transform 140ms var(--ucl-ease-out), color 160ms ease, background-color 160ms ease, border-color 160ms ease, opacity 160ms ease;
}

body.club-competition-uel .ucl-table tr {
  transition: color 160ms ease, background-color 160ms ease, opacity 160ms ease;
}

/* Draw and result overlays use glow rather than angular beams. */
body.club-competition-uel .ucl-draw-stage {
  background:
    radial-gradient(ellipse at 50% 30%, rgba(203, 77, 26, 0.13), transparent 32rem),
    linear-gradient(180deg, #0b0a09 0%, #070706 70%, #050505 100%);
}

body.club-competition-uel .ucl-draw-stage::before {
  background: none;
}

body.club-competition-uel .ucl-stage-beam {
  display: none;
}

body.club-competition-uel .ucl-draw-header {
  border-bottom-color: rgba(246, 241, 235, 0.1);
  background: rgba(10, 9, 8, 0.94);
}

body.club-competition-uel :is(
  .ucl-draw-header small,
  .ucl-draw-progress span,
  .ucl-draw-progress strong,
  .ucl-pot-base span
) {
  color: #c98660;
}

body.club-competition-uel .ucl-ceremony-scene {
  border-color: rgba(246, 241, 235, 0.11);
  background:
    radial-gradient(ellipse at 50% 100%, rgba(219, 89, 34, 0.1), transparent 52%),
    linear-gradient(180deg, rgba(24, 20, 16, 0.9), rgba(9, 8, 7, 0.96));
}

body.club-competition-uel .ucl-draw-pot {
  border-color: rgba(232, 220, 210, 0.34);
  background:
    linear-gradient(110deg, rgba(255, 255, 255, 0.1), transparent 21%, transparent 70%, rgba(239, 106, 44, 0.045)),
    rgba(40, 35, 31, 0.18);
  box-shadow: inset 18px 0 30px rgba(255, 255, 255, 0.035), inset -20px -20px 36px rgba(0, 0, 0, 0.3), 0 22px 50px rgba(0, 0, 0, 0.32);
}

body.club-competition-uel .ucl-draw-pot-rim {
  border-color: rgba(232, 220, 210, 0.5);
  background: rgba(55, 45, 38, 0.24);
}

body.club-competition-uel .ucl-pot-glass {
  background:
    linear-gradient(100deg, rgba(255, 255, 255, 0.11), transparent 18%, transparent 72%, rgba(255, 255, 255, 0.04)),
    radial-gradient(circle at 50% 115%, rgba(203, 77, 26, 0.09), transparent 62%);
}

body.club-competition-uel .ucl-team-monogram {
  position: relative;
  overflow: hidden;
  border-color: rgba(239, 106, 44, 0.46);
  color: #fff4ea;
  background-color: #25170f;
  background-image: none;
  box-shadow: inset 0 0 0 2px rgba(239, 106, 44, 0.07);
}

body.club-competition-uel .ucl-team-monogram::before {
  display: none;
}

body.club-competition-uel .ucl-mini-ball,
body.club-competition-uel .ucl-feature-ball-half {
  border-color: rgba(255, 190, 151, 0.66);
  background: radial-gradient(circle at 34% 28%, #f8d0b8, #ef6a2c 52%, #24130b 100%);
  box-shadow: inset 0 0 18px rgba(255, 235, 221, 0.22), 0 12px 32px rgba(196, 72, 21, 0.22);
}

body.club-competition-uel .ucl-feature-ball {
  background: transparent;
  box-shadow: none;
}

body.club-competition-uel .ucl-draw-pot-base,
body.club-competition-uel .ucl-pot-base {
  border-color: rgba(239, 106, 44, 0.55);
  background: linear-gradient(180deg, #342016, #140f0c);
}

body.club-competition-uel .ucl-feature-ball-crack {
  background: #2a1710;
  filter: drop-shadow(0 0 3px rgba(239, 106, 44, 0.6));
}

body.club-competition-uel .ucl-reveal-copy {
  border-color: rgba(246, 241, 235, 0.13);
  border-left-color: #ef6a2c;
  color: #f6f1eb;
  background: #181411;
}

body.club-competition-uel .ucl-reveal-copy small,
body.club-competition-uel .ucl-drawn-team small {
  color: #a89080;
}

body.club-competition-uel .ucl-drawn-strip {
  scrollbar-color: #8e4827 transparent;
}

body.club-competition-uel .ucl-drawn-team {
  border-color: rgba(246, 241, 235, 0.12);
  background: #1b1714;
}

body.club-competition-uel .ucl-bracket-stage > header {
  padding-left: 10px;
  border-left: 2px solid rgba(239, 106, 44, 0.58);
  transform: none;
}

body.club-competition-uel .ucl-moment-overlay,
body.club-competition-uel .ucl-champion-overlay {
  background:
    radial-gradient(circle at 50% 30%, rgba(203, 77, 26, 0.16), transparent 34rem),
    rgba(5, 5, 5, 0.96);
}

body.club-competition-uel :is(.ucl-moment-card, .ucl-champion-card, .ucl-champion-overview) {
  border-color: rgba(246, 241, 235, 0.13);
  background:
    radial-gradient(circle at 50% 0%, rgba(203, 77, 26, 0.09), transparent 24rem),
    #12100e;
  box-shadow: 0 34px 90px rgba(0, 0, 0, 0.58);
}

body.club-competition-uel .ucl-trophy.is-competition-logo,
body.club-competition-uel .ucl-trophy:has(#clubCompetitionChampionTrophyImage:not([hidden])) {
  width: 118px;
  height: 118px;
}

body.club-competition-uel .ucl-trophy.is-competition-logo img,
body.club-competition-uel #clubCompetitionChampionTrophyImage {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

body.club-competition-uel .ucl-champion-kicker {
  color: #f19a67;
}

body.club-competition-uel.uel-route-setup-active .mode-route-setup-panel {
  border-color: rgba(246, 241, 235, 0.13);
  background: rgba(18, 16, 14, 0.96);
  box-shadow: 0 26px 70px rgba(0, 0, 0, 0.48);
}

body.club-competition-uel.uel-route-setup-active .mode-route-setup-panel .spectate-picker {
  border-color: rgba(239, 106, 44, 0.28) !important;
  background: rgba(239, 106, 44, 0.055) !important;
}

body.club-competition-uel.uel-route-setup-active .mode-route-setup-panel .spectate-picker-mark.ucl-team-mark {
  border-color: rgba(239, 106, 44, 0.28) !important;
  color: #f4ece4 !important;
  background: #251a14 !important;
}

body.club-competition-uel.uel-route-setup-active .mode-route-setup-panel .spectate-picker-arrow {
  color: #d97945 !important;
}

/* The team chooser is shared with UCL, so its competition identity lives on
   the dialog itself. This prevents the Europa skin leaking into other pickers. */
#spectateModal[data-club-competition="uel"] {
  border: 1px solid rgba(246, 241, 235, 0.13);
  color: #f6f1eb;
  background: #12100e;
  box-shadow: 0 24px 72px rgba(0, 0, 0, 0.58);
}

#spectateModal[data-club-competition="uel"]::backdrop {
  background: rgba(5, 5, 5, 0.82);
  backdrop-filter: blur(5px);
}

#spectateModal[data-club-competition="uel"] #spectateModalTitle,
#spectateModal[data-club-competition="uel"] .prediction-option strong {
  color: #f6f1eb;
}

#spectateModal[data-club-competition="uel"] .close-modal {
  border: 1px solid rgba(246, 241, 235, 0.12);
  color: #d9d0c8;
  background: #211d19;
}

#spectateModal[data-club-competition="uel"] .prediction-search {
  border: 1px solid rgba(246, 241, 235, 0.1);
  color: #c6bdb5;
  background: #090908;
}

#spectateModal[data-club-competition="uel"] .prediction-search input {
  color: #f6f1eb;
}

#spectateModal[data-club-competition="uel"] .prediction-search input::placeholder {
  color: #817970;
}

#spectateModal[data-club-competition="uel"] .prediction-search:focus-within {
  border-color: rgba(239, 106, 44, 0.72);
  background: #090908;
  box-shadow: inset 0 0 0 1px #ef6a2c;
}

#spectateModal[data-club-competition="uel"] .prediction-option {
  color: #eee7e0;
  background: #1b1714;
}

#spectateModal[data-club-competition="uel"] .prediction-option small {
  color: #9e958d;
}

#spectateModal[data-club-competition="uel"] .prediction-option i {
  color: #f19a67;
}

#spectateModal[data-club-competition="uel"] .prediction-option:is(.selected, :focus-visible) {
  background: #2b2019;
  box-shadow: inset 3px 0 #ef6a2c;
  outline-color: #ef6a2c;
}

#spectateModal[data-club-competition="uel"] .ucl-club-code {
  border-color: rgba(239, 106, 44, 0.3);
  color: #f6f1eb;
  background: #2a1b13;
}

#spectateModal[data-club-competition="uel"] .ucl-neutral-mark img {
  filter: brightness(0) invert(1);
}

@media (hover: hover) and (pointer: fine) {
  #spectateModal[data-club-competition="uel"] .close-modal:hover,
  #spectateModal[data-club-competition="uel"] .prediction-option:hover {
    border-color: rgba(239, 106, 44, 0.4);
    background: #251b15;
  }

  #spectateModal[data-club-competition="uel"] .prediction-option.selected:hover {
    background: #30231b;
  }
}

/* Europa Match Centre. These selectors intentionally outrank the shared UCL
   broadcast skin while leaving the Champions League branch untouched. */
body.pl-match-mode-active.uel-match-mode-active {
  --bg: #070706 !important;
  --surface: #12100e !important;
  --surface-2: #1b1713 !important;
  --text: #f6f1eb !important;
  --line: rgba(246, 241, 235, 0.1) !important;
  --line-strong: rgba(246, 241, 235, 0.17) !important;
  --muted: rgba(213, 204, 195, 0.62) !important;
  --soft: rgba(239, 232, 224, 0.78) !important;
  --pl-accent: #ef6a2c;
  --pl-purple: #ef6a2c;
  color: #f6f1eb !important;
  background: #070706 !important;
}

body.pl-match-mode-active.uel-match-mode-active #appShell,
body.pl-match-mode-active.uel-match-mode-active .main,
body.pl-match-mode-active.uel-match-mode-active .content {
  color: #f6f1eb !important;
  background:
    radial-gradient(ellipse at 62% -12%, rgba(203, 77, 26, 0.1), transparent 36rem),
    linear-gradient(180deg, #0a0908 0%, #070706 70%) !important;
}

body.pl-match-mode-active.uel-match-mode-active :is(.sidebar, .topbar) {
  border-color: rgba(246, 241, 235, 0.1) !important;
  color: #f6f1eb !important;
  background: rgba(10, 9, 8, 0.97) !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.26) !important;
}

body.pl-match-mode-active.uel-match-mode-active .brand-mark {
  border: 1px solid rgba(239, 106, 44, 0.42) !important;
  color: #fff8f1 !important;
  background: #211812 !important;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.3) !important;
}

body.pl-match-mode-active.uel-match-mode-active .top-actions :is(.utility-button, .header-donate-link),
body.pl-match-mode-active.uel-match-mode-active .ucl-live-back-button {
  border-color: rgba(246, 241, 235, 0.12) !important;
  color: #d8cfc6 !important;
  background: #171411 !important;
}

body.pl-match-mode-active.uel-match-mode-active .top-actions .utility-button > span:first-child,
body.pl-match-mode-active.uel-match-mode-active .top-actions .account-avatar-icon svg {
  color: #d49a78 !important;
  stroke: #d49a78 !important;
}

body.pl-match-mode-active.uel-match-mode-active :is(
  .match-stage,
  .panel,
  .match-analysis,
  .standard-match-tactics,
  .golden-boot-panel,
  .pl-engine-table-panel,
  #uclEngineTablePanel,
  #roundBoard
) {
  border-color: rgba(246, 241, 235, 0.11) !important;
  color: #f6f1eb !important;
  background: #12100e !important;
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.2) !important;
}

body.pl-match-mode-active.uel-match-mode-active #matchStage.match-stage {
  background:
    radial-gradient(circle at 50% 34%, rgba(203, 77, 26, 0.1), transparent 22rem),
    linear-gradient(180deg, #15120f, #0e0d0b 78%) !important;
}

body.pl-match-mode-active.uel-match-mode-active .match-stage::before,
body.pl-match-mode-active.uel-match-mode-active .match-stage::after,
body.pl-match-mode-active.uel-match-mode-active #roundBoard .fixture.selected::before {
  display: none !important;
}

body.pl-match-mode-active.uel-match-mode-active :is(
  .stage-topline,
  .panel-heading,
  .match-analysis-heading,
  #roundBoard .section-heading
) {
  border-color: rgba(246, 241, 235, 0.09) !important;
  color: #b9aea4 !important;
  background: transparent !important;
}

body.pl-match-mode-active.uel-match-mode-active :is(
  .stage-topline,
  .panel-heading span,
  .match-analysis-heading span,
  .standard-match-tactics > span,
  .page-kicker,
  .section-kicker,
  #roundBoard .fixture-card-head,
  #roundBoard .fixture-card-head small
) {
  color: #c98660 !important;
}

body.pl-match-mode-active.uel-match-mode-active #stageRoundLabel {
  color: #c98660 !important;
}

body.pl-match-mode-active.uel-match-mode-active :is(
  .team,
  .team h2,
  .team h2.team-name,
  .team h2.team-name > span,
  .score-zone,
  .score span,
  .match-score,
  .panel-heading strong,
  .match-analysis-heading strong,
  #roundBoard .section-heading h3,
  #roundBoard .fixture .fixture-team .name
) {
  color: #f6f1eb !important;
}

body.pl-match-mode-active.uel-match-mode-active #matchStage .matchup > .team {
  border: 0 !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

body.pl-match-mode-active.uel-match-mode-active :is(.team .seed, .venue, .score small, .result-note, .stage-action p) {
  color: #9c9289 !important;
}

body.pl-match-mode-active.uel-match-mode-active .team-match-events .event span,
body.pl-match-mode-active.uel-match-mode-active .match-stat-row b {
  color: #f6f1eb !important;
}

body.pl-match-mode-active.uel-match-mode-active .team-match-events .event b,
body.pl-match-mode-active.uel-match-mode-active #resultNote {
  color: #e48651 !important;
}

body.pl-match-mode-active.uel-match-mode-active .match-stat-row span {
  color: #9f958c !important;
}

body.pl-match-mode-active.uel-match-mode-active .score-separator {
  color: #756d66 !important;
}

body.pl-match-mode-active.uel-match-mode-active :is(.match-commentary-feed, .live-sim, .match-events) {
  border-color: rgba(246, 241, 235, 0.1) !important;
  color: #e8e0d8 !important;
  background: #0e0d0b !important;
}

body.pl-match-mode-active.uel-match-mode-active #matchAnalysis .match-stats-grid {
  border-color: rgba(246, 241, 235, 0.08) !important;
  color: #ddd4cb !important;
  background: #12100e !important;
}

body.pl-match-mode-active.uel-match-mode-active #matchAnalysis :is(.match-stat-row, .match-stats-empty) {
  border-color: rgba(246, 241, 235, 0.075) !important;
  color: #d8cfc6 !important;
  background: #171411 !important;
}

body.pl-match-mode-active.uel-match-mode-active #matchAnalysis :is(.match-stat-row, .match-stats-empty) span {
  color: #9f958c !important;
}

body.pl-match-mode-active.uel-match-mode-active :is(.primary-button, .play-button, #snapshotButton, .stage-action button) {
  border-color: #ef6a2c !important;
  color: #170d08 !important;
  background: #ef6a2c !important;
  box-shadow: 0 10px 24px rgba(196, 72, 21, 0.2) !important;
}

body.pl-match-mode-active.uel-match-mode-active :is(
  .secondary-button,
  .live-control,
  .skip-control,
  #roundBoard #simulateRoundButton,
  #roundBoard .history-round-button
) {
  border-color: rgba(246, 241, 235, 0.13) !important;
  color: #ded5cc !important;
  background: #1b1815 !important;
  box-shadow: none !important;
}

body.pl-match-mode-active.uel-match-mode-active :is(.standard-tactic-buttons, .pl-watch-tactics) {
  border-color: rgba(246, 241, 235, 0.1) !important;
  background: #0e0d0b !important;
}

body.pl-match-mode-active.uel-match-mode-active .standard-tactic-buttons button {
  color: #aaa097 !important;
  background: transparent !important;
}

body.pl-match-mode-active.uel-match-mode-active .standard-tactic-buttons button.active {
  border-color: rgba(239, 106, 44, 0.54) !important;
  color: #fff8f1 !important;
  background: #b94f22 !important;
  box-shadow: 0 6px 18px rgba(137, 49, 14, 0.2) !important;
}

body.pl-match-mode-active.uel-match-mode-active #uclEngineTablePanel :is(.pl-engine-table-head, .pl-engine-table-row),
body.pl-match-mode-active.uel-match-mode-active .golden-boot-row {
  border-color: rgba(246, 241, 235, 0.075) !important;
  color: #d8d0c8 !important;
  background: transparent !important;
}

body.pl-match-mode-active.uel-match-mode-active #uclEngineTablePanel .pl-engine-table-row.is-selected {
  color: #fff8f1 !important;
  background: #2c211a !important;
  box-shadow: none !important;
}

body.pl-match-mode-active.uel-match-mode-active :is(
  .pl-engine-full-table,
  .golden-boot-rank,
  .golden-boot-row > b,
  .golden-boot-panel .panel-heading span
) {
  color: #e48651 !important;
}

body.pl-match-mode-active.uel-match-mode-active :is(.golden-boot-player strong, .golden-boot-row strong) {
  color: #f4ede6 !important;
}

body.pl-match-mode-active.uel-match-mode-active :is(.golden-boot-player small, .golden-boot-empty, .pl-engine-table-head) {
  color: #928980 !important;
}

body.pl-match-mode-active.uel-match-mode-active :is(
  .round-index,
  #livePhase,
  #roundBoard .fixture-team,
  #roundBoard .fixture-team .flag,
  #roundBoard .fixture-team b
) {
  color: #8f857d !important;
}

body.pl-match-mode-active.uel-match-mode-active :is(
  .round-link.active .round-index,
  .event-live-clock > span,
  .score-live-clock > span
) {
  color: #e48651 !important;
}

body.pl-match-mode-active.uel-match-mode-active #roundBoard .fixture-winner-marker {
  border-left-color: #8f857d !important;
}

body.pl-match-mode-active.uel-match-mode-active #roundBoard .fixture {
  border-color: rgba(246, 241, 235, 0.085) !important;
  color: #c8beb5 !important;
  background: #171411 !important;
  box-shadow: none !important;
}

body.pl-match-mode-active.uel-match-mode-active #roundBoard .fixture .fixture-card-head,
body.pl-match-mode-active.uel-match-mode-active #roundBoard .fixture .fixture-card-head small {
  color: #c98660 !important;
}

body.pl-match-mode-active.uel-match-mode-active #roundBoard .fixture.selected {
  border-color: rgba(239, 106, 44, 0.42) !important;
  background: #261b15 !important;
}

body.pl-match-mode-active.uel-match-mode-active #roundBoard .fixture .fixture-team b {
  color: #b3a89f !important;
}

body.pl-match-mode-active.uel-match-mode-active #roundBoard .fixture .fixture-team.winner b {
  color: #f5eee7 !important;
}

body.pl-match-mode-active.uel-match-mode-active :is(
  .match-pitch-shell,
  .match-2d-viewer,
  .match-2d-toolbar,
  .match-2d-footer,
  .match-pitch-playback,
  .snapshot-modal form,
  .snapshot-preview
) {
  border-color: rgba(246, 241, 235, 0.11) !important;
  color: #eee7df !important;
  background: #100f0d !important;
}

body.pl-match-mode-active.uel-match-mode-active :is(
  .match-highlight-mode button[aria-pressed="true"],
  .match-pitch-speed button[aria-pressed="true"],
  .snapshot-actions button.primary-button,
  .round-link.active
) {
  border-color: rgba(239, 106, 44, 0.5) !important;
  color: #fff8f1 !important;
  background: #a9471f !important;
}

body.pl-match-mode-active.uel-match-mode-active :is(
  .penalty-stage,
  .match-penalty-overlay,
  .standard-penalty-stage,
  .match-penalty-scene,
  .standard-penalty-scene,
  .penalty-scene
) {
  border-color: rgba(246, 241, 235, 0.14) !important;
  color: #f6f1eb !important;
  background: #171411 !important;
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.34) !important;
}

body.pl-match-mode-active.uel-match-mode-active :is(
  button,
  .fixture,
  .pl-engine-table-row,
  .round-link
) {
  transition: transform 140ms cubic-bezier(0.23, 1, 0.32, 1), color 160ms ease, background-color 160ms ease, border-color 160ms ease, opacity 160ms ease;
}

body.pl-match-mode-active.uel-match-mode-active :is(
  button,
  .fixture[role="button"],
  .round-link
):active {
  transform: scale(0.97);
}

@media (hover: hover) and (pointer: fine) {
  body.club-competition-uel .ucl-simulator-header :is(.ucl-icon-button, .ucl-header-button, .utility-button, .ucl-restart-button):hover,
  body.club-competition-uel :is(.ucl-panel header button, .ucl-panel-footer button, .ucl-matchday-nav button, .ucl-secondary-action):hover:not(:disabled) {
    border-color: rgba(239, 106, 44, 0.35);
    color: #fff8f1;
    background: #241a14;
  }

  body.club-competition-uel :is(.ucl-primary-action, .ucl-launch-button, .ucl-skip-button):hover:not(:disabled) {
    border-color: #f5864d;
    background: #f5864d;
  }

  body.club-competition-uel .ucl-fixture-row.is-viewable:hover,
  body.club-competition-uel :is(.ucl-bracket-tie.is-playable, .ucl-bracket-tie.is-watchable, .ucl-bracket-tie.is-viewable):hover {
    border-color: rgba(239, 106, 44, 0.46);
    background: #211812;
    transform: translateY(-1px);
  }

  body.pl-match-mode-active.uel-match-mode-active :is(
    .top-actions .utility-button,
    .top-actions .header-donate-link,
    .ucl-live-back-button,
    .secondary-button,
    .live-control,
    .skip-control,
    #roundBoard #simulateRoundButton,
    #roundBoard .history-round-button
  ):hover {
    border-color: rgba(239, 106, 44, 0.4) !important;
    color: #fff8f1 !important;
    background: #251a14 !important;
  }

  body.pl-match-mode-active.uel-match-mode-active #roundBoard .fixture:hover {
    border-color: rgba(239, 106, 44, 0.34) !important;
    background: #201914 !important;
  }
}

@media (max-width: 720px) {
  body.club-competition-uel .ucl-simulator-main {
    width: min(100% - 20px, 760px);
  }

  body.club-competition-uel .ucl-action-row {
    border-left: 0;
    background: transparent;
  }

  body.club-competition-uel .ucl-draw-header,
  body.club-competition-uel .ucl-champion-actions {
    gap: 10px;
  }

  body.club-competition-uel .ucl-bracket-shell {
    scroll-snap-type: x proximity;
  }

  body.club-competition-uel .ucl-bracket-stage {
    scroll-snap-align: start;
  }
}

@media (max-width: 560px) {
  body.pl-match-mode-active.uel-match-mode-active :is(.sidebar, .topbar) {
    background: #0a0908 !important;
  }

  body.pl-match-mode-active.uel-match-mode-active .match-stage {
    border-radius: 12px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.club-competition-uel :is(button, .ucl-fixture-row, .ucl-bracket-tie, .ucl-table tr),
  body.pl-match-mode-active.uel-match-mode-active :is(button, .fixture, .pl-engine-table-row, .round-link) {
    transition: color 120ms ease, background-color 120ms ease, border-color 120ms ease, opacity 120ms ease !important;
  }

  body.club-competition-uel :is(button, .ucl-fixture-row, .ucl-bracket-tie):active,
  body.pl-match-mode-active.uel-match-mode-active :is(button, .fixture, .round-link):active {
    transform: none !important;
  }
}

/* Tablet and compact-desktop match centre. Three fixed columns leave the live
   scorecard too narrow around iPad landscape widths, so the match owns the
   first row and supporting information moves into a balanced second row. */
@media (min-width: 851px) and (max-width: 1180px) {
  body.pl-match-mode-active.ucl-match-mode-active .content {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-template-areas:
      "stage stage stage"
      "support table boot"
      "board board board" !important;
    width: min(100% - 32px, 1040px) !important;
    gap: 18px !important;
    padding-inline: 0 !important;
  }

  body.pl-match-mode-active.ucl-match-mode-active .stage-column {
    grid-area: stage !important;
    width: min(100%, 820px) !important;
    justify-self: center;
  }

  body.pl-match-mode-active.ucl-match-mode-active .insight-right,
  body.pl-match-mode-active.ucl-match-mode-active .insight-right.tactics-hidden,
  body.pl-match-mode-active.ucl-match-mode-active.pl-match-detail-active .insight-right {
    display: grid !important;
    grid-area: support !important;
    align-content: start;
    gap: 12px;
    margin-top: 0 !important;
  }

  body.pl-match-mode-active.ucl-match-mode-active #matchAnalysis {
    width: 100% !important;
    margin-top: 0 !important;
  }

  body.pl-match-mode-active.ucl-match-mode-active :is(.standard-match-tactics, .pl-watch-tactics) {
    width: 100% !important;
    margin-top: 0 !important;
  }

  body.pl-match-mode-active.ucl-match-mode-active #uclEngineTablePanel {
    grid-area: table !important;
    width: 100% !important;
    margin-top: 0 !important;
  }

  body.pl-match-mode-active.ucl-match-mode-active #roundBoard {
    grid-area: board !important;
    min-width: 0;
  }

  body.pl-match-mode-active.ucl-match-mode-active .insight-left {
    grid-area: boot !important;
    min-width: 0;
  }

  body.pl-match-mode-active.ucl-match-mode-active .pl-live-back-button {
    margin-left: 0 !important;
  }

  body.pl-match-mode-active.ucl-match-mode-active .matchup,
  body.pl-match-mode-active.ucl-match-mode-active .match-stage.is-live .matchup {
    grid-template-columns: minmax(0, 1fr) minmax(116px, 0.34fr) minmax(0, 1fr) !important;
  }

  body.pl-match-mode-active.ucl-match-mode-active .team h2.team-name > span,
  body.pl-match-mode-active.ucl-match-mode-active .team h2.team-name.is-overflowing > span {
    max-width: 100%;
  }
}

/* Conference Match Centre colour firewall. The live view intentionally keeps
   the shared UCL layout hooks, so this final competition-qualified layer must
   sit after that blue broadcast skin and every Europa override. */
body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active {
  --bg: #030605 !important;
  --surface: #08100b !important;
  --surface-2: #0d1711 !important;
  --text: #f7fff9 !important;
  --line: rgba(226, 244, 233, 0.1) !important;
  --line-strong: rgba(226, 244, 233, 0.17) !important;
  --muted: rgba(203, 219, 209, 0.64) !important;
  --soft: rgba(230, 242, 234, 0.8) !important;
  --pl-accent: #00f169;
  --pl-purple: #00f169;
  color: #f7fff9 !important;
  background: #030605 !important;
}

body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active :is(
  #appShell,
  .main,
  .content
) {
  color: #f7fff9 !important;
  background:
    radial-gradient(ellipse at 62% -12%, rgba(0, 241, 105, 0.1), transparent 36rem),
    linear-gradient(180deg, #060b08 0%, #030605 72%) !important;
}

body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active :is(.sidebar, .topbar) {
  border-color: rgba(226, 244, 233, 0.1) !important;
  color: #f7fff9 !important;
  background: linear-gradient(90deg, #050c08, #0a2115) !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3) !important;
}

body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active .brand-mark {
  border: 1px solid rgba(0, 241, 105, 0.42) !important;
  color: #f7fff9 !important;
  background: #092116 !important;
  box-shadow: 0 8px 22px rgba(0, 92, 40, 0.28) !important;
}

body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active :is(
  .top-actions .utility-button,
  .top-actions .header-donate-link,
  .top-actions .main-account-button,
  .ucl-live-back-button
) {
  border-color: rgba(0, 241, 105, 0.2) !important;
  color: #dce9e0 !important;
  background: #0d1c13 !important;
  box-shadow: none !important;
}

body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active .top-actions .utility-button > span:first-child {
  color: #72f4a8 !important;
}

body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active .top-actions :is(.account-avatar-icon, .account-avatar-icon svg) {
  color: #72f4a8 !important;
  stroke: #72f4a8 !important;
}

body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active :is(
  .match-stage,
  .panel,
  .match-analysis,
  .standard-match-tactics,
  .pl-watch-tactics,
  .golden-boot-panel,
  .pl-engine-table-panel,
  #uclEngineTablePanel,
  #roundBoard
) {
  border-color: rgba(226, 244, 233, 0.12) !important;
  color: #f7fff9 !important;
  background: #08100b !important;
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.25) !important;
}

body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active #matchStage.match-stage {
  background:
    radial-gradient(circle at 50% 34%, rgba(0, 241, 105, 0.11), transparent 22rem),
    linear-gradient(180deg, #0c1710, #060b08 78%) !important;
}

body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active :is(
  #matchAnalysis,
  .standard-match-tactics,
  .pl-watch-tactics,
  #roundBoard
) {
  background: linear-gradient(180deg, #0c1810, #071009) !important;
}

body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active .match-stage::before,
body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active .match-stage::after,
body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active #roundBoard .fixture.selected::before {
  display: none !important;
}

body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active :is(
  .stage-topline,
  .panel-heading,
  .match-analysis-heading,
  #roundBoard .section-heading
) {
  border-color: rgba(0, 241, 105, 0.14) !important;
  color: #8ff2b6 !important;
  background: transparent !important;
}

body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active :is(
  .stage-topline,
  #stageRoundLabel,
  .panel-heading span,
  .match-analysis-heading span,
  .standard-match-tactics > span,
  .page-kicker,
  .section-kicker,
  #roundBoard .fixture-card-head,
  #roundBoard .fixture-card-head small
) {
  color: #72ce96 !important;
}

body.uecl-match-mode-active #standardTacticOpponent {
  display: block !important;
}

body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active :is(
  .team,
  .team h2,
  .team h2.team-name,
  .team h2.team-name > span,
  .score-zone,
  .score span,
  .match-score,
  .panel-heading strong,
  .match-analysis-heading strong,
  #roundBoard .section-heading h3,
  #roundBoard .fixture .fixture-team .name
) {
  color: #f7fff9 !important;
}

body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active #matchStage .matchup > .team {
  border: 0 !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active :is(
  .team .seed,
  .venue,
  .score small,
  .result-note,
  .stage-action p,
  .match-stat-row span
) {
  color: #93a79a !important;
}

body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active .score-separator {
  color: #6f8376 !important;
}

body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active .team-match-events :is(.event span, .timeline-event) {
  color: #dce8e0 !important;
}

body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active .team-match-events :is(.event b, .timeline-event b),
body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active #resultNote {
  color: #72f4a8 !important;
}

body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active #matchAnalysis .match-stats-grid {
  border-color: rgba(226, 244, 233, 0.09) !important;
  color: #dce8e0 !important;
  background: #08100b !important;
}

body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active #matchAnalysis :is(.match-stat-row, .match-stats-empty) {
  border-color: rgba(226, 244, 233, 0.08) !important;
  color: #dce8e0 !important;
  background: #0d1711 !important;
}

body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active :is(
  .match-commentary-feed,
  .live-sim,
  .match-events
) {
  border-color: rgba(0, 241, 105, 0.2) !important;
  color: #e8f2eb !important;
  background: #06100a !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.025) !important;
}

body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active .match-commentary-feed :is(
  .commentary-line,
  .commentary-line span,
  strong,
  b
) {
  color: #e8f2eb !important;
}

body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active .match-commentary-feed.is-major {
  border-color: rgba(0, 241, 105, 0.42) !important;
  background: #10291b !important;
}

body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active .match-commentary-feed.is-goal-flashing {
  border-color: #72f4a8 !important;
  color: #031008 !important;
  background: #00f169 !important;
}

body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active .match-commentary-feed.is-goal-flashing :is(
  .commentary-line,
  .commentary-line span,
  strong,
  b
) {
  color: #031008 !important;
}

body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active :is(
  .primary-button,
  .play-button,
  #snapshotButton,
  .stage-action button
) {
  border-color: #00f169 !important;
  color: #031008 !important;
  background: #00f169 !important;
  box-shadow: 0 10px 24px rgba(0, 180, 78, 0.22) !important;
}

body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active :is(
  .secondary-button,
  .live-control,
  .skip-control,
  #roundBoard #simulateRoundButton,
  #roundBoard .history-round-button,
  #roundBoard #unresolvedFilter,
  #roundBoard .team-filter-search,
  #roundBoard .team-filter-chip
) {
  border-color: rgba(0, 241, 105, 0.24) !important;
  color: #dce9e0 !important;
  background: #0d1c13 !important;
  box-shadow: none !important;
}

body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active :is(.standard-tactic-buttons, .pl-watch-tactics) {
  border-color: rgba(0, 241, 105, 0.14) !important;
  background: #06100a !important;
}

body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active .standard-tactic-buttons button {
  border-color: transparent !important;
  color: #9eb0a5 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active .standard-tactic-buttons button.active {
  border-color: rgba(0, 241, 105, 0.58) !important;
  color: #031008 !important;
  background: #00d65d !important;
  box-shadow: 0 6px 18px rgba(0, 155, 67, 0.2) !important;
}

body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active #uclEngineTablePanel :is(
  .pl-engine-table-head,
  .pl-engine-table-row
),
body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active .golden-boot-row {
  border-color: rgba(226, 244, 233, 0.08) !important;
  color: #d8e4dc !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active #uclEngineTablePanel .pl-engine-table-row.is-selected {
  border-color: rgba(0, 241, 105, 0.28) !important;
  color: #f7fff9 !important;
  background: #10291b !important;
  box-shadow: inset 3px 0 #00f169 !important;
}

body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active :is(
  .pl-engine-full-table,
  .golden-boot-rank,
  .golden-boot-row > b,
  .golden-boot-panel .panel-heading span,
  #livePhase
) {
  color: #72ce96 !important;
}

body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active :is(
  .golden-boot-player strong,
  .golden-boot-row strong
) {
  color: #f7fff9 !important;
}

body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active :is(
  .golden-boot-player small,
  .golden-boot-empty,
  .pl-engine-table-head,
  .round-index,
  #roundBoard .fixture-team,
  #roundBoard .fixture-team .flag,
  #roundBoard .fixture-team b
) {
  color: #91a499 !important;
}

body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active #roundBoard {
  border-color: rgba(0, 241, 105, 0.16) !important;
  background: linear-gradient(180deg, #0d1b12, #071009) !important;
}

body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active #roundBoard #teamFilterControl:not([hidden]) {
  display: block !important;
}

body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active #roundBoard #unresolvedFilter:not([hidden]) {
  display: inline-flex !important;
}

body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active #roundBoard #unresolvedFilter[aria-pressed="true"] {
  border-color: #00f169 !important;
  color: #031008 !important;
  background: #00d65d !important;
  box-shadow: 0 7px 18px rgba(0, 180, 78, 0.18) !important;
}

body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active #roundBoard .section-heading {
  border-bottom-color: rgba(0, 241, 105, 0.14) !important;
}

body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active #roundBoard .fixture {
  border-color: rgba(0, 241, 105, 0.13) !important;
  color: #d0ddd4 !important;
  background: #0a1710 !important;
  box-shadow: none !important;
}

body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active #roundBoard .fixture :is(
  .fixture-card-head,
  .fixture-card-head small
) {
  color: #72ce96 !important;
}

body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active #roundBoard .fixture .fixture-team b {
  color: #9eb0a5 !important;
}

body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active #roundBoard .fixture .fixture-team.winner b {
  color: #72f4a8 !important;
}

body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active #roundBoard .fixture.selected {
  border-color: rgba(0, 241, 105, 0.54) !important;
  color: #f7fff9 !important;
  background: #10291b !important;
  box-shadow: inset 3px 0 #00f169 !important;
}

body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active #roundBoard .fixture:disabled {
  border-color: rgba(226, 244, 233, 0.08) !important;
  color: #819187 !important;
  background: #08100b !important;
  box-shadow: none !important;
  cursor: not-allowed;
  opacity: 0.52;
  transform: none !important;
}

body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active #roundBoard .fixture-winner-marker {
  border-left-color: #72ce96 !important;
}

body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active #roundBoard .team-filter-search {
  color: #72ce96 !important;
}

body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active #roundBoard .team-filter-search input {
  color: #f7fff9 !important;
  caret-color: #00f169;
}

body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active #roundBoard .team-filter-search input::placeholder {
  color: rgba(203, 219, 209, 0.58) !important;
}

body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active #roundBoard .team-filter-search:focus-within {
  border-color: #00f169 !important;
  background: #10291b !important;
  box-shadow: 0 0 0 3px rgba(0, 241, 105, 0.12) !important;
}

body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active #roundBoard #teamFilterControl .search-result-popover {
  border-color: rgba(0, 241, 105, 0.3) !important;
  color: #f7fff9 !important;
  background: #071009 !important;
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.54) !important;
}

body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active #roundBoard #teamFilterControl .search-result {
  border-bottom-color: rgba(0, 241, 105, 0.12) !important;
  color: #f7fff9 !important;
  background: transparent !important;
}

body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active #roundBoard #teamFilterControl .search-result strong {
  color: #f7fff9 !important;
}

body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active #roundBoard #teamFilterControl .search-result small {
  color: #93a79a !important;
}

body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active #roundBoard #teamFilterControl .search-result-popover .empty-story {
  color: #a9bbb0 !important;
  background: #071009 !important;
}

body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active #roundBoard #teamFilterControl .team-filter-check {
  color: #031008 !important;
  background: #00f169 !important;
}

body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active #roundBoard #teamFilterControl .team-filter-clear {
  color: #93a79a !important;
}

body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active :is(
  .match-pitch-shell,
  .match-2d-viewer,
  .match-2d-toolbar,
  .match-2d-footer,
  .match-pitch-playback,
  .snapshot-modal form,
  .snapshot-preview
) {
  border-color: rgba(0, 241, 105, 0.16) !important;
  color: #e8f2eb !important;
  background: #06100a !important;
}

body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active :is(
  .match-highlight-mode button[aria-pressed="true"],
  .match-pitch-speed button[aria-pressed="true"],
  .snapshot-actions button.primary-button,
  .round-link.active
) {
  border-color: rgba(0, 241, 105, 0.58) !important;
  color: #031008 !important;
  background: #00d65d !important;
}

body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active .snapshot-actions button:not(.primary-button) {
  border-color: rgba(0, 241, 105, 0.22) !important;
  color: #dce9e0 !important;
  background: #0d1c13 !important;
}

body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active :is(
  .penalty-stage,
  .match-penalty-overlay,
  .standard-penalty-stage,
  .match-penalty-scene,
  .standard-penalty-scene,
  .penalty-scene
) {
  border-color: rgba(0, 241, 105, 0.2) !important;
  color: #f7fff9 !important;
  background: #0b1b12 !important;
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.38) !important;
}

body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active :is(
  .penalty-stage-head,
  .penalty-call span,
  .penalty-ledgers span
) {
  color: #72ce96 !important;
}

body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active :is(
  .match-penalty-scene,
  .standard-penalty-scene,
  .penalty-scene
) .penalty-mark {
  border-color: rgba(0, 241, 105, 0.36) !important;
  background: #164d2d !important;
}

body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active :is(
  .match-penalty-scene,
  .standard-penalty-scene,
  .penalty-scene
) .penalty-mark.goal {
  border-color: #72f4a8 !important;
  background: #16874c !important;
}

body.club-competition-uecl :is(.ucl-back-button, .ucl-fast-icon) {
  color: #72ce96;
}

body.club-competition-uecl .ucl-simulator-header :is(.account-avatar-icon, .account-avatar-icon svg) {
  color: #72ce96;
  stroke: #72ce96;
}

body.club-competition-uecl .ucl-simulator-header .utility-button > span:first-child {
  color: #72ce96;
}

body.club-competition-uecl .ucl-header-button:is(.is-installed, .needs-gesture) .ucl-music-pulse::after {
  background: #00f169;
  box-shadow: 0 0 14px rgba(0, 241, 105, 0.58);
}

body.club-competition-uecl :is(.ucl-kickoff, .ucl-drawn-team small, .ucl-bracket-decider, .ucl-moment-card p) {
  color: #91a499;
}

body.club-competition-uecl .ucl-zone-chip {
  border-color: rgba(0, 241, 105, 0.2);
  color: #72ce96;
}

body.club-competition-uecl .ucl-skip-reveals {
  border-color: rgba(0, 241, 105, 0.32);
  color: #e7f2eb;
  background: rgba(7, 21, 13, 0.95);
}

body.club-competition-uecl .ucl-pause-button kbd {
  border-color: rgba(0, 241, 105, 0.24);
  color: #72ce96;
  background: rgba(3, 16, 8, 0.62);
}

body.club-competition-uecl .ucl-pause-button[aria-pressed="true"] {
  border-color: rgba(0, 241, 105, 0.52);
  color: #f7fff9;
  background: #164d2d;
}

body.club-competition-uecl .ucl-feature-ball-crack {
  background: #082d19;
  filter: drop-shadow(0 0 3px rgba(0, 241, 105, 0.66));
}

body.club-competition-uecl .ucl-moment-position {
  border-color: rgba(0, 241, 105, 0.3);
  color: #c6e7d2;
  background: rgba(0, 241, 105, 0.08);
}

body.club-competition-uecl .ucl-fixture-row.is-viewable:focus-visible {
  outline: 2px solid #72f4a8;
  outline-offset: 2px;
  border-color: rgba(0, 241, 105, 0.5);
  background: #10291b;
}

body.club-competition-uecl :is(
  .ucl-bracket-tie.is-playable,
  .ucl-bracket-tie.is-watchable,
  .ucl-bracket-tie.is-viewable
):focus-visible {
  outline: 2px solid #72f4a8;
  outline-offset: 2px;
  border-color: rgba(0, 241, 105, 0.5);
  background: #10291b;
  transform: none;
}

body.club-competition-uecl .ucl-leg-switcher button:focus-visible {
  outline: 2px solid #72f4a8;
  outline-offset: 2px;
  border-color: #72f4a8;
  background: #164d2d;
}

body.club-competition-uecl .ucl-fixture-row.is-watchable:focus-visible .ucl-kickoff.is-watch-action {
  border-color: #72f4a8;
  color: #031008;
  background: #72f4a8;
  box-shadow: 0 8px 20px rgba(0, 180, 78, 0.24);
}

body.club-competition-uecl .ucl-tv-scorebar {
  border-color: rgba(0, 241, 105, 0.4);
  color: #f7fff9;
  background: #08100b;
  box-shadow: 0 18px 64px rgba(0, 0, 0, 0.58);
}

body.club-competition-uecl .ucl-tv-topline {
  color: #031008;
  background: linear-gradient(90deg, #00d65d, #72f4a8);
}

body.club-competition-uecl .ucl-tv-score {
  color: #f7fff9;
  background: #08100b;
}

body.club-competition-uecl .ucl-tv-numbers {
  color: #031008;
  background: #00f169;
}

body.club-competition-uecl .ucl-tv-note {
  border-top-color: rgba(0, 241, 105, 0.18);
  color: #a9bbb0;
  background: #0d1711;
}

body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active #snapshotButton:focus-visible {
  outline: 2px solid #72f4a8 !important;
  outline-offset: 3px;
}

body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active .snapshot-modal .close-modal {
  border-color: rgba(0, 241, 105, 0.24) !important;
  color: #dce9e0 !important;
  background: #0d1c13 !important;
}

body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active #simulateRoundModal {
  border-color: rgba(0, 241, 105, 0.24) !important;
  color: #f7fff9 !important;
  background: #08100b !important;
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.58) !important;
}

body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active #simulateRoundModal::backdrop {
  background: rgba(1, 5, 3, 0.82);
}

body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active #simulateRoundModal .simulate-confirm-icon {
  color: #72f4a8;
  background: rgba(0, 241, 105, 0.12);
}

body.club-competition-uecl :is(.ucl-dialog-close, .ucl-addon-intro p, .ucl-volume-control small, .ucl-addon-message) {
  color: #9eb0a5;
}

body.club-competition-uecl .ucl-addon-dialog {
  border-color: rgba(0, 241, 105, 0.22);
  background: #08100b;
}

body.club-competition-uecl .ucl-addon-intro {
  border-color: rgba(0, 241, 105, 0.18);
  background: rgba(0, 241, 105, 0.065);
}

body.club-competition-uecl .ucl-addon-disc {
  border-color: rgba(0, 241, 105, 0.38);
  color: #72f4a8;
  background: #164d2d;
}

body.club-competition-uecl .ucl-addon-disc i {
  border-color: #c6e7d2;
}

body.club-competition-uecl .ucl-addon-file > span {
  border-color: rgba(0, 241, 105, 0.22);
  color: #72ce96;
  background: rgba(0, 241, 105, 0.08);
}

body.club-competition-uecl :is(.ucl-addon-file small, .ucl-addon-note) {
  color: #91a499;
}

body.club-competition-uecl .ucl-volume-control input {
  accent-color: #00f169;
}

body.club-competition-uecl :is(
  .ucl-simulator-screen,
  .ucl-draw-stage,
  .ucl-moment-overlay,
  .ucl-champion-overlay,
  .ucl-addon-dialog
) :is(a, button, [role="button"], input):focus-visible {
  outline: 2px solid #72f4a8;
  outline-offset: 3px;
}

body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active :is(
  button,
  .fixture,
  .pl-engine-table-row,
  .round-link
) {
  transition: transform 140ms cubic-bezier(0.23, 1, 0.32, 1), color 160ms ease, background-color 160ms ease, border-color 160ms ease, opacity 160ms ease;
}

body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active :is(
  button,
  .fixture[role="button"],
  .round-link
):active {
  transform: scale(0.97);
}

body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active :is(
  button,
  .fixture[role="button"],
  .round-link,
  input
):focus-visible {
  outline: 2px solid #72f4a8 !important;
  outline-offset: 3px;
}

@media (hover: hover) and (pointer: fine) {
  body.club-competition-uecl .ucl-simulator-header :is(
    .ucl-icon-button,
    .ucl-header-button,
    .utility-button,
    .ucl-restart-button
  ):hover:not(:disabled),
  body.club-competition-uecl :is(
    .ucl-panel header button,
    .ucl-panel-footer button,
    .ucl-matchday-nav button,
    .ucl-secondary-action,
    .ucl-pause-button,
    .ucl-skip-reveals
  ):hover:not(:disabled) {
    border-color: rgba(0, 241, 105, 0.4);
    color: #f7fff9;
    background: #10291b;
  }

  body.club-competition-uecl :is(
    .ucl-primary-action,
    .ucl-launch-button,
    .ucl-skip-button
  ):hover:not(:disabled) {
    border-color: #72f4a8;
    background: #72f4a8;
  }

  body.club-competition-uecl .ucl-fixture-row.is-viewable:hover,
  body.club-competition-uecl :is(
    .ucl-bracket-tie.is-playable,
    .ucl-bracket-tie.is-watchable,
    .ucl-bracket-tie.is-viewable
  ):hover:not(:disabled) {
    border-color: rgba(0, 241, 105, 0.46);
    background: #10291b;
    transform: translateY(-1px);
  }

  body.club-competition-uecl .ucl-leg-switcher button:hover:not(:disabled) {
    border-color: #72f4a8;
    background: #164d2d;
  }

  body.club-competition-uecl .ucl-fixture-row.is-watchable:hover .ucl-kickoff.is-watch-action,
  body.club-competition-uecl .ucl-fixture-row.is-watchable:focus-visible .ucl-kickoff.is-watch-action {
    border-color: #72f4a8;
    color: #031008;
    background: #72f4a8;
    box-shadow: 0 8px 20px rgba(0, 180, 78, 0.24);
  }

  body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active :is(
    .top-actions .utility-button,
    .top-actions .header-donate-link,
    .top-actions .main-account-button,
    .ucl-live-back-button,
    .secondary-button,
    .live-control,
    .skip-control,
    #roundBoard #simulateRoundButton,
    #roundBoard .history-round-button,
    #roundBoard #unresolvedFilter,
    #roundBoard .team-filter-search,
    #roundBoard .team-filter-chip,
    .snapshot-actions button:not(.primary-button)
  ):hover:not(:disabled) {
    border-color: rgba(0, 241, 105, 0.46) !important;
    color: #f7fff9 !important;
    background: #153522 !important;
  }

  body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active :is(
    .primary-button,
    .play-button,
    #snapshotButton,
    .stage-action button
  ):hover:not(:disabled) {
    border-color: #72f4a8 !important;
    color: #031008 !important;
    background: #72f4a8 !important;
  }

  body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active #roundBoard .fixture:hover:not(:disabled) {
    border-color: rgba(0, 241, 105, 0.4) !important;
    color: #f7fff9 !important;
    background: #153522 !important;
  }

  body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active #roundBoard .fixture.selected:hover:not(:disabled) {
    border-color: #00f169 !important;
    background: #19442a !important;
  }

  body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active #roundBoard #teamFilterControl .search-result:hover,
  body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active #roundBoard #teamFilterControl .search-result:focus-visible {
    color: #f7fff9 !important;
    background: #10291b !important;
  }
}

@media (max-width: 560px) {
  body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active :is(.sidebar, .topbar) {
    background: #071009 !important;
  }
}

@media (min-width: 1181px) and (max-width: 1360px) {
  body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active .pl-live-back-button {
    margin-left: -189px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.club-competition-uecl :is(button, .ucl-fixture-row, .ucl-bracket-tie, .ucl-table tr),
  body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active :is(
    button,
    .fixture,
    .pl-engine-table-row,
    .round-link
  ) {
    transition: color 120ms ease, background-color 120ms ease, border-color 120ms ease, opacity 120ms ease !important;
  }

  body.club-competition-uecl :is(button, .ucl-fixture-row, .ucl-bracket-tie):active,
  body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active :is(button, .fixture, .round-link):active {
    transform: none !important;
  }

  body.club-competition-uecl :is(.ucl-fixture-row, .ucl-bracket-tie):is(:hover, :focus-visible) {
    transform: none !important;
  }

  body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active .match-commentary-feed.is-goal-flashing,
  body.pl-match-mode-active.ucl-match-mode-active.uecl-match-mode-active .match-commentary-feed.is-goal-flashing .commentary-line span {
    animation: none !important;
  }
}

/* Cascade guard: legacy competition skins are declared above this point. Keep
   their colours while locking the shared setup/header geometry for every view. */
body:is(.club-competition-ucl, .club-competition-uel, .club-competition-uecl) .ucl-simulator-header {
  display: flex !important;
  min-height: 68px !important;
  grid-template-columns: none !important;
}

body:is(.ucl-route-setup-active, .uel-route-setup-active, .uecl-route-setup-active) .mode-route-setup-ucl .mode-route-setup-panel {
  width: min(1080px, calc(100% - clamp(96px, 18vw, 300px))) !important;
  max-width: none !important;
}

body:is(.ucl-route-setup-active, .uel-route-setup-active, .uecl-route-setup-active) .uefa-inline-team-grid {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
}

@media (max-width: 1100px) {
  body:is(.ucl-route-setup-active, .uel-route-setup-active, .uecl-route-setup-active) .uefa-inline-team-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 900px) {
  body:is(.club-competition-ucl, .club-competition-uel, .club-competition-uecl) .ucl-simulator-header {
    min-height: 116px !important;
  }

  body:is(.ucl-route-setup-active, .uel-route-setup-active, .uecl-route-setup-active) .mode-route-setup-ucl .mode-route-setup-panel {
    width: 100% !important;
  }
}

@media (max-width: 700px) {
  body:is(.ucl-route-setup-active, .uel-route-setup-active, .uecl-route-setup-active) .uefa-inline-team-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 480px) {
  body:is(.ucl-route-setup-active, .uel-route-setup-active, .uecl-route-setup-active) .uefa-inline-team-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
