/* Generated from deferred tournament and mode chunks. Edit src/web/styles, then run npm run build:styles. */
/* Asian Cup 2027 final UI guards. */
:root { --ac27-silver:#d5dcda }
body.retro-asian-cup-2027-setup-active.retro-asian-cup-2027-setup-active .retro-screen-header,
body.retro-mode-active.retro-asian-cup-2027-active.retro-asian-cup-2027-active .retro-screen-header { position:sticky;z-index:30;display:flex!important;min-height:72px;align-items:center;gap:8px;padding:0 clamp(20px,3vw,52px) }
body.retro-asian-cup-2027-setup-active.retro-asian-cup-2027-setup-active .retro-screen-brand,
body.retro-mode-active.retro-asian-cup-2027-active.retro-asian-cup-2027-active .retro-screen-brand { order:1;grid-column:auto;margin:0 2px 0 0 }
body.retro-asian-cup-2027-setup-active.retro-asian-cup-2027-setup-active .retro-screen-left,
body.retro-mode-active.retro-asian-cup-2027-active.retro-asian-cup-2027-active .retro-screen-left { order:2 }
body.retro-asian-cup-2027-setup-active.retro-asian-cup-2027-setup-active .retro-screen-actions,
body.retro-mode-active.retro-asian-cup-2027-active.retro-asian-cup-2027-active .retro-screen-actions { order:4;margin-left:auto }
body.retro-mode-active.retro-asian-cup-2027-active.retro-asian-cup-2027-active .retro-tournament-heading { display:none!important }
body.retro-asian-cup-2027-setup-active.retro-asian-cup-2027-setup-active .retro-route-setup-identity { display:none!important }
body.retro-asian-cup-2027-setup-active.retro-asian-cup-2027-setup-active .retro-tournament-main > :not(.retro-route-setup) { display:none!important }
body.retro-asian-cup-2027-setup-active.retro-asian-cup-2027-setup-active #restartRetroWorldCupButton,
body.retro-mode-active.retro-asian-cup-2027-active.retro-asian-cup-2027-active #retroWorldCupRestartButton { display:inline-flex;min-width:104px;min-height:44px;align-items:center;justify-content:center;padding:0 18px;border:1px solid var(--ac27-line)!important;border-radius:4px!important;color:var(--ac27-text)!important;background:var(--ac27-surface)!important;box-shadow:none!important;font:900 11px "Manrope",sans-serif }
body.retro-mode-active.retro-asian-cup-2027-active.retro-asian-cup-2027-active #retroWorldCupRestartButton { width:44px!important;min-width:44px!important;height:44px!important;min-height:44px!important;flex:0 0 44px;padding:0!important }
body.retro-mode-active.retro-asian-cup-2027-active.retro-asian-cup-2027-active #retroWorldCupRestartButton>span { font-size:20px;line-height:1 }
@media(max-width:560px){body.retro-mode-active.retro-asian-cup-2027-active.retro-asian-cup-2027-active #retroWorldCupRestartButton{width:34px!important;min-width:34px!important;height:34px!important;min-height:34px!important;flex-basis:34px}}
body.retro-asian-cup-2027-setup-active.retro-asian-cup-2027-setup-active #restartRetroWorldCupButton.is-confirming-restart,
body.retro-mode-active.retro-asian-cup-2027-active.retro-asian-cup-2027-active #retroWorldCupRestartButton.is-confirming-restart { border-color:var(--ac27-silver)!important;color:var(--ac27-deep)!important;background:var(--ac27-silver)!important;box-shadow:none!important }
body.retro-asian-cup-2027-setup-active.retro-asian-cup-2027-setup-active .retro-route-setup-controls :is(button.active,button[aria-pressed="true"],.retro-inline-team-option.is-selected),
body.retro-asian-cup-2027-setup-active.retro-asian-cup-2027-setup-active .retro-route-setup-controls :is(button.active,button[aria-pressed="true"],.retro-inline-team-option.is-selected) * { color:#050806!important;text-shadow:none!important }
body.retro-asian-cup-2027-setup-active.retro-asian-cup-2027-setup-active .retro-route-setup-back>span:first-child,
body.retro-mode-active.retro-asian-cup-2027-active.retro-asian-cup-2027-active #mainContent :is(.stage-round,.panel-heading h2,.match-analysis-heading,.section-heading h2,.event-live-clock strong,.live-clock,.fixture-team.winner .name,.fixture-team.winner b,.penalty-stage-head strong i,.penalty-stage-head strong b.score-pop,.match-penalty-decision strong,.bracket-heads,.golden-boot-rank,.golden-boot-row>b,.champion-stage .trophy,.champion-stage p,.champion-section-label,.champion-place>b,.retro-third-place-playoff,.fixture-card-head small,.retro-fixture-details,.inline-elimination h3,.result-note,.team-match-events .timeline-event b),
body.retro-mode-active.retro-asian-cup-2027-active.retro-asian-cup-2027-active :is(.retro-match-lineups-panel summary,.retro-match-lineups-panel .retro-lineup-side li>b,.retro-match-lineups-panel .retro-lineup-side li em) { color:#d5dcda!important;text-shadow:none!important }
body.retro-mode-active.retro-asian-cup-2027-active.retro-asian-cup-2027-active :is(.retro-back-to-modes>span:first-child,#mainContent .retro-standard-fixture-meta,#mainContent .retro-group-table em,#mainContent .search,#mainContent .search span) { color:#d5dcda!important;text-shadow:none!important }
body.retro-mode-active.retro-asian-cup-2027-active.retro-asian-cup-2027-active :is(.retro-back-to-modes,.retro-back-to-modes>span,#mainContent .golden-boot-player small,#mainContent .champion-award-mark,#mainContent .champion-award-copy>span,#mainContent .champion-award-copy small,#mainContent .champion-award-copy small b,#mainContent .snapshot-trigger) { color:#d5dcda!important;text-shadow:none!important }
body.retro-mode-active.retro-asian-cup-2027-active.retro-asian-cup-2027-active .retro-groups-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem }
body.retro-mode-active.retro-asian-cup-2027-active.retro-asian-cup-2027-active .asian-cup-2027-group-table :is(.retro-table-head,.retro-table-row) { grid-template-columns:minmax(128px,1fr) repeat(8,26px) minmax(78px,.7fr)!important;gap:5px!important;min-width:470px;min-height:46px;padding:7px 12px!important }
body.retro-mode-active.retro-asian-cup-2027-active.retro-asian-cup-2027-active .asian-cup-2027-group-table .retro-table-head { min-height:36px;font-size:9px }
body.retro-mode-active.retro-asian-cup-2027-active.retro-asian-cup-2027-active .asian-cup-2027-group-table .retro-table-row { font-size:11px }
body.retro-mode-active.retro-asian-cup-2027-active.retro-asian-cup-2027-active .asian-cup-2027-group-table .retro-table-row>span strong { overflow:hidden;text-overflow:ellipsis;white-space:nowrap }
body.retro-mode-active.retro-asian-cup-2027-active.retro-asian-cup-2027-active .asian-cup-2027-group-table .afcon-table-status { overflow:hidden;color:#d5dcda!important;font-size:9px;font-weight:800;line-height:1.15;text-align:left;text-overflow:ellipsis;white-space:nowrap }
body.retro-mode-active.retro-asian-cup-2027-active.retro-asian-cup-2027-active :is(.asian-cup-2027-best-thirds-head,.asian-cup-2027-best-thirds-row) { display:grid;grid-template-columns:minmax(170px,1fr) repeat(8,38px) minmax(118px,.7fr);align-items:center;gap:6px;min-width:700px;min-height:46px;padding:8px 14px }
body.retro-mode-active.retro-asian-cup-2027-active.retro-asian-cup-2027-active #mainContent :is(#simulateRoundButton,[data-retro-action="simulate-stage"]) { border-color:#d5dcda!important;color:#002b19!important;background:#d5dcda!important;box-shadow:none!important }
@media(hover:hover) and (pointer:fine){body.retro-mode-active.retro-asian-cup-2027-active.retro-asian-cup-2027-active #mainContent :is(#simulateRoundButton,[data-retro-action="simulate-stage"]):hover{border-color:#f6fff9!important;color:#050806!important;background:#f6fff9!important}}
@media(max-width:1700px){body.retro-mode-active.retro-asian-cup-2027-active.retro-asian-cup-2027-active .retro-groups-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
body.retro-asian-cup-2027-setup-active.retro-asian-cup-2027-setup-active .retro-route-setup-back:is(:hover,:focus-visible),body.retro-mode-active.retro-asian-cup-2027-active.retro-asian-cup-2027-active .retro-back-to-modes:is(:hover,:focus-visible){border-color:var(--ac27-line)!important;color:var(--ac27-silver)!important;background:var(--ac27-card)!important;box-shadow:none!important;transform:none!important}body.retro-asian-cup-2027-setup-active.retro-asian-cup-2027-setup-active .retro-route-setup-back:is(:hover,:focus-visible)>span,body.retro-mode-active.retro-asian-cup-2027-active.retro-asian-cup-2027-active .retro-back-to-modes:is(:hover,:focus-visible)>span{color:inherit!important}body.retro-mode-active.retro-asian-cup-2027-active.retro-asian-cup-2027-active .retro-saved-tournament-actions{min-height:42px;margin-bottom:20px}body.retro-asian-cup-2027-setup-active.retro-asian-cup-2027-setup-active .retro-route-setup-controls{backdrop-filter:none!important}@media(min-width:1281px) and (max-width:1368px){body.retro-asian-cup-2027-setup-active.retro-asian-cup-2027-setup-active .retro-route-setup{padding-bottom:calc(84px + env(safe-area-inset-bottom))!important}body.retro-asian-cup-2027-setup-active.retro-asian-cup-2027-setup-active .retro-route-setup-controls{backdrop-filter:none!important}body.retro-asian-cup-2027-setup-active.retro-asian-cup-2027-setup-active #retroModeActions{position:fixed!important;right:auto!important;bottom:max(8px,env(safe-area-inset-bottom))!important;left:50%!important;z-index:80;box-sizing:border-box;display:flex!important;width:min(720px,calc(100% - 24px))!important;align-items:stretch;flex-direction:row!important;flex-wrap:nowrap!important;gap:7px!important;margin:0!important;padding:7px!important;border:1px solid var(--retro-setup-border);border-radius:11px;background:var(--retro-setup-panel);box-shadow:0 12px 34px rgba(0,0,0,.38),inset 0 1px rgba(255,255,255,.1);transform:translateX(-50%)!important;backdrop-filter:blur(14px)}body.retro-asian-cup-2027-setup-active.retro-asian-cup-2027-setup-active #retroModeActions>.start-tournament{width:auto!important;min-width:0!important;min-height:42px!important;flex:1 1 auto!important}body.retro-asian-cup-2027-setup-active.retro-asian-cup-2027-setup-active #retroModeActions>:not(.start-tournament){width:auto!important;min-height:42px!important;flex:0 0 auto}}
@media(max-width:820px){body.retro-mode-active.retro-asian-cup-2027-active.retro-asian-cup-2027-active .retro-groups-grid{grid-template-columns:1fr}}
@media(max-width:560px){body.retro-asian-cup-2027-setup-active.retro-asian-cup-2027-setup-active .retro-screen-header,body.retro-mode-active.retro-asian-cup-2027-active.retro-asian-cup-2027-active .retro-screen-header{gap:5px;padding-inline:10px}}
/* Russia 2018 Retro edition: original folk-pattern treatment over the shared simulator. */
body.retro-mode-active.retro-2018-active {
  --retro-2018-red: #a51a16;
  --retro-2018-deep: #671018;
  --retro-2018-blue: #075f9f;
  --retro-2018-navy: #07345f;
  --retro-2018-cream: #fff4d6;
  --retro-2018-gold: #e9c477;
  color: var(--retro-2018-cream);
  background-color: var(--retro-2018-red);
  background-image:
    radial-gradient(circle at 10% 18%, transparent 0 28px, rgba(255, 221, 159, 0.11) 29px 31px, transparent 32px),
    radial-gradient(circle at 82% 22%, transparent 0 17px, rgba(255, 221, 159, 0.09) 18px 20px, transparent 21px),
    repeating-conic-gradient(from 45deg at 75% 72%, rgba(255, 236, 195, 0.055) 0 12deg, transparent 12deg 30deg),
    linear-gradient(135deg, rgba(111, 9, 19, 0.18), rgba(165, 26, 22, 0.92));
  background-size: 180px 180px, 128px 128px, 260px 260px, auto;
  background-attachment: fixed;
}

.retro-2018-active .retro-tournament-screen {
  color: var(--retro-2018-cream);
  font-family: "Neucha", "Manrope", sans-serif;
  background:
    linear-gradient(180deg, rgba(112, 8, 20, 0.18), rgba(73, 7, 20, 0.42)),
    transparent;
}

.retro-2018-active .retro-screen-header {
  border-bottom: 5px solid var(--retro-2018-gold);
  background: rgba(105, 12, 25, 0.96);
  box-shadow: 0 7px 0 rgba(7, 95, 159, 0.72), 0 16px 34px rgba(55, 3, 13, 0.35);
}

.retro-2018-active .retro-screen-back,
.retro-2018-active .retro-screen-restart {
  color: var(--retro-2018-cream);
  background: #831520;
  box-shadow: 0 4px 0 #4d0b16;
}

.retro-2018-active .retro-screen-action {
  color: var(--retro-2018-cream);
  background: #0969aa;
  box-shadow: 0 4px 0 #07345f;
}

.retro-2018-active .retro-screen-back:hover,
.retro-2018-active .retro-screen-restart:hover,
.retro-2018-active .retro-screen-action:hover {
  color: #53101a;
  background: var(--retro-2018-gold);
}

body.retro-mode-active.retro-2018-active .modal {
  border: 1px solid rgba(233, 196, 119, 0.62);
  border-radius: 6px;
  color: #fff4d6;
  background: #073d70;
  box-shadow: 12px 12px 0 rgba(82, 9, 21, 0.52);
}

body.retro-mode-active.retro-2018-active .modal .icon-button {
  border-color: rgba(233, 196, 119, 0.5);
  color: #fff4d6;
  background: #a51a16;
}

body.retro-mode-active.retro-2018-active .modal .primary-button {
  border: 2px solid #fff4d6;
  color: #fff;
  background: #a51a16;
  box-shadow: 0 5px 0 #671018;
}

/* Retro tournament header mirrors the Default mode header structure. */
.retro-screen-header {
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  min-height: 72px;
  padding: 0 clamp(20px, 3vw, 44px);
}

.retro-screen-left,
.retro-screen-actions {
  gap: 6px;
}

.retro-screen-restart {
  display: grid;
  width: 42px;
  min-width: 42px;
  height: 42px;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 10px;
  font-size: 20px;
}

.retro-screen-action {
  display: inline-flex;
  width: auto;
  min-width: 0;
  height: 38px;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 0 10px;
  border-radius: 8px;
  background: transparent;
  box-shadow: none;
  font-size: 9px;
  font-weight: 700;
  white-space: nowrap;
}

.retro-screen-action > span:first-child,
.retro-screen-action .news-icon,
.retro-screen-action .account-avatar-icon {
  flex: 0 0 auto;
}

.retro-screen-brand {
  align-items: center;
  color: #fff;
}

.retro-screen-brand .brand-mark {
  width: 38px;
  height: 38px;
}

.retro-back-to-modes {
  position: absolute;
  top: 16px;
  left: 0;
  display: inline-flex;
  min-height: 40px;
  align-items: center;
  gap: 9px;
  margin: 0;
  padding: 0 13px;
  border: 1px solid rgba(246, 211, 38, 0.35);
  border-radius: 8px;
  color: #fff9d4;
  background: rgba(0, 63, 42, 0.42);
  cursor: pointer;
  font: 800 10px "Manrope", sans-serif;
}

.retro-back-to-modes > span:first-child {
  color: #f6d326;
  font-size: 19px;
  line-height: 1;
}

.retro-back-to-modes:hover {
  color: #073e2c;
  background: #f6d326;
}

.retro-back-to-modes:hover > span:first-child {
  color: inherit;
}

.retro-2018-active .retro-back-to-modes {
  border-color: rgba(233, 196, 119, 0.48);
  color: var(--retro-2018-cream);
  background: rgba(105, 12, 25, 0.7);
}

.retro-2018-active .retro-back-to-modes > span:first-child {
  color: var(--retro-2018-gold);
}

.retro-2018-active .retro-back-to-modes:hover {
  color: #53101a;
  background: var(--retro-2018-gold);
}

.retro-mode-active .retro-screen-action {
  color: #fff9d4;
  background: transparent;
  box-shadow: none;
}

.retro-mode-active .retro-screen-action:hover {
  color: #f6d326;
  background: rgba(255, 255, 255, 0.07);
}

.retro-mode-active #retroDonateButton {
  padding-inline: 10px;
  color: #073e2c;
  background: #f6d326;
  box-shadow: none;
}

.retro-2018-active .retro-screen-action {
  color: var(--retro-2018-cream);
  background: transparent;
  box-shadow: none;
}

.retro-2018-active .retro-screen-action:hover {
  color: var(--retro-2018-gold);
  background: rgba(255, 255, 255, 0.07);
}

.retro-2018-active #retroDonateButton {
  color: #fff;
  background: #0969aa;
  box-shadow: 0 4px 0 #07345f;
}

@media (max-width: 900px) {
  .retro-screen-header {
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    gap: 10px;
    padding-inline: 14px;
  }

  .retro-screen-back {
    width: 42px;
    min-width: 42px;
    padding: 0;
    justify-content: center;
  }

  .retro-screen-back > span:last-child {
    display: none;
  }

  .retro-screen-left,
  .retro-screen-actions {
    max-width: 100%;
    padding-bottom: 4px;
    overflow-x: auto;
    scrollbar-width: none;
  }

  .retro-screen-left::-webkit-scrollbar,
  .retro-screen-actions::-webkit-scrollbar {
    display: none;
  }

  .retro-screen-action,
  .retro-screen-restart {
    width: 38px;
    min-width: 38px;
    height: 38px;
    padding: 0;
  }

  .retro-screen-restart {
    overflow: hidden;
    color: transparent;
  }

  .retro-screen-restart::before {
    color: currentColor;
    content: "\21BB";
  }

  .retro-mode-active .retro-screen-restart::before {
    color: #fff9d4;
  }

  .retro-2018-active .retro-screen-restart::before {
    color: var(--retro-2018-cream);
  }
}

@media (max-width: 900px) {
  .retro-screen-header {
    min-height: 64px;
    padding-inline: 10px;
  }

  .retro-screen-left,
  .retro-screen-actions {
    gap: 4px;
  }

  .retro-screen-action,
  .retro-screen-restart {
    width: 36px;
    min-width: 36px;
    height: 36px;
    padding: 0;
  }

  .retro-screen-action > span:last-child,
  .retro-screen-brand .brand-copy {
    display: none;
  }

  .retro-screen-restart {
    overflow: visible;
    color: #fff9d4;
    font-size: 20px;
  }

  .retro-screen-restart::before {
    display: none;
  }

  .retro-screen-brand .brand-mark {
    width: 38px;
    height: 38px;
  }

  .retro-back-to-modes {
    top: 12px;
  }

  .retro-mode-active #retroDonateButton,
  .retro-2018-active #retroDonateButton {
    padding: 0;
  }
}

.retro-2018-active .retro-tournament-heading > div:first-child > span,
.retro-2018-active .retro-tournament-progress span {
  color: var(--retro-2018-gold);
}

.retro-2018-active .retro-tournament-heading h1,
.retro-2018-active .retro-tournament-progress strong {
  color: var(--retro-2018-cream);
  font-family: "Neucha", "Manrope", sans-serif;
  text-shadow: 0 3px 0 rgba(69, 5, 18, 0.48);
}

.retro-2018-active .retro-view-tabs {
  border-radius: 4px;
  background: #68101a;
  box-shadow: 8px 8px 0 rgba(7, 74, 125, 0.52);
}

.retro-2018-active .retro-view-tabs::before {
  background: var(--retro-2018-gold);
  clip-path: polygon(0 38%, 11% 12%, 28% 34%, 45% 6%, 66% 34%, 83% 13%, 100% 38%, 96% 74%, 73% 54%, 51% 91%, 27% 61%, 5% 82%);
}

.retro-2018-active .retro-view-tabs button {
  border-radius: 2px;
  color: #f3d9b4;
}

.retro-2018-active .retro-view-tabs button:hover {
  color: #fff;
  background: #8c1820;
}

.retro-2018-active .retro-view-tabs button.active {
  color: #fff;
  background: var(--retro-2018-blue);
  box-shadow: inset 0 -4px #063b69;
}

.retro-2018-active #mainContent {
  --surface: rgba(7, 52, 95, 0.95);
  --surface-raised: rgba(7, 95, 159, 0.96);
  --line: rgba(233, 196, 119, 0.38);
  color: var(--retro-2018-cream);
  font-family: "Neucha", "Manrope", sans-serif;
}

.retro-2018-active #mainContent .match-stage,
.retro-2018-active #mainContent .round-board,
.retro-2018-active #mainContent .panel,
.retro-2018-active #mainContent .match-analysis,
.retro-2018-active #mainContent .standard-match-tactics,
.retro-2018-active #mainContent .story-card,
.retro-2018-active .retro-group-table,
.retro-2018-active .retro-squad-view,
.retro-2018-active .retro-lineups-view {
  border-color: rgba(233, 196, 119, 0.44);
  border-radius: 4px;
  color: var(--retro-2018-cream);
  background:
    radial-gradient(circle at 85% 14%, rgba(255, 244, 214, 0.08) 0 3px, transparent 4px),
    linear-gradient(135deg, rgba(7, 95, 159, 0.97), rgba(5, 48, 89, 0.98));
  background-size: 36px 36px, auto;
  box-shadow: 9px 9px 0 rgba(95, 8, 22, 0.48), 0 20px 45px rgba(53, 3, 13, 0.28);
}

.retro-2018-active #mainContent .match-commentary-feed {
  border-color: rgba(233, 196, 119, 0.72);
  color: var(--retro-2018-cream);
  background: #741321;
}

.retro-2018-active #mainContent .match-commentary-feed .commentary-line span,
.retro-2018-active #mainContent .match-commentary-feed.is-major .commentary-line span {
  color: var(--retro-2018-cream);
}

.retro-2018-active #mainContent .match-stage::before,
.retro-2018-active #mainContent .round-board::before,
.retro-2018-active #mainContent .match-analysis::before {
  background: var(--retro-2018-gold);
  clip-path: polygon(0 44%, 12% 12%, 30% 36%, 48% 4%, 68% 34%, 85% 12%, 100% 42%, 97% 76%, 73% 56%, 50% 92%, 27% 62%, 5% 82%);
}

.retro-2018-active #mainContent .stage-round,
.retro-2018-active #mainContent .panel-heading h2,
.retro-2018-active #mainContent .match-analysis-heading,
.retro-2018-active #mainContent .section-heading h2,
.retro-2018-active #mainContent .live-clock,
.retro-2018-active #mainContent .event-live-clock strong {
  color: var(--retro-2018-gold);
  font-family: "Neucha", "Manrope", sans-serif;
  text-shadow: 0 2px rgba(61, 5, 18, 0.7);
}

.retro-2018-active #mainContent .team-name,
.retro-2018-active #mainContent .match-score,
.retro-2018-active #mainContent .score-separator,
.retro-2018-active #mainContent .champion-stage h2,
.retro-2018-active #mainContent .golden-boot-player strong,
.retro-2018-active #mainContent .match-analysis-heading strong,
.retro-2018-active #mainContent .match-stat-row b {
  color: var(--retro-2018-cream);
}

.retro-2018-active #mainContent .primary-button,
.retro-2018-active #mainContent .play-button,
.retro-2018-active #mainContent .secondary-button,
.retro-2018-active #mainContent .live-control,
.retro-2018-active #mainContent .standard-tactic-buttons button.active {
  border: 2px solid #fff3d3;
  border-radius: 3px;
  color: #fff;
  background: var(--retro-2018-red);
  box-shadow: 0 5px 0 #671018;
}

.retro-2018-active #mainContent .standard-tactic-buttons button:not(.active),
.retro-2018-active #mainContent .text-button,
.retro-2018-active #mainContent .history-round-button {
  border-radius: 2px;
  color: var(--retro-2018-cream);
  background: #07345f;
}

.retro-2018-active #mainContent .standard-tactic-buttons,
.retro-2018-active #mainContent .match-penalty-scene,
.retro-2018-active #mainContent .standard-penalty-scene {
  border-color: rgba(233, 196, 119, 0.42);
  border-radius: 3px;
  background:
    repeating-linear-gradient(90deg, rgba(255, 244, 214, 0.04) 0 42px, transparent 42px 84px),
    linear-gradient(145deg, #075f9f, #06365f);
}

.retro-2018-active #mainContent .golden-boot-panel {
  border-color: rgba(233, 196, 119, 0.5);
  color: var(--retro-2018-cream);
  background: linear-gradient(145deg, #075f9f, #06365f);
  box-shadow: 7px 7px 0 rgba(103, 16, 24, 0.48);
}

.retro-2018-active #mainContent .golden-boot-panel .panel-heading {
  border-bottom-color: rgba(233, 196, 119, 0.42);
  background: #671018;
}

.retro-2018-active #mainContent .golden-boot-row {
  border-bottom-color: rgba(233, 196, 119, 0.24);
  background: rgba(7, 52, 95, 0.72);
}

.retro-2018-active #mainContent .golden-boot-row:nth-child(even) {
  background: rgba(116, 19, 33, 0.42);
}

.retro-2018-active #mainContent .champion-award {
  border: 1px solid rgba(233, 196, 119, 0.52);
  color: var(--retro-2018-cream);
  background: linear-gradient(145deg, #075f9f, #671018);
  box-shadow: 6px 6px 0 rgba(82, 9, 21, 0.52);
}

.retro-2018-active #mainContent .champion-award-mark {
  color: var(--retro-2018-gold);
  background: rgba(233, 196, 119, 0.14);
}

.retro-2018-active #mainContent .champion-award-copy > span,
.retro-2018-active #mainContent .champion-award-copy small,
.retro-2018-active #mainContent .champion-award-copy small b {
  color: var(--retro-2018-gold);
}

.retro-2018-active #mainContent .champion-section-label,
.retro-2018-active #mainContent .champion-place > b {
  color: var(--retro-2018-gold);
  font-family: "Neucha", "Manrope", sans-serif;
}

.retro-2018-active #mainContent .champion-place {
  border: 1px solid rgba(233, 196, 119, 0.52);
  border-radius: 2px;
  color: var(--retro-2018-cream);
  background: linear-gradient(145deg, #075f9f, #671018);
}

.retro-2018-active #mainContent .champion-place.place-1 {
  border-color: var(--retro-2018-gold);
  background: linear-gradient(145deg, #0a6fb3, #741321);
  box-shadow: inset 0 4px var(--retro-2018-gold);
}

.retro-2018-active #mainContent .champion-place strong {
  color: var(--retro-2018-cream);
}

.retro-2018-active #mainContent .champion-place small {
  color: #f3dcc0;
}

.retro-2018-active #mainContent .penalty-stage,
.retro-2018-active #mainContent .match-penalty-overlay {
  border-color: rgba(233, 196, 119, 0.5);
  border-radius: 4px;
  color: var(--retro-2018-cream);
  background: linear-gradient(145deg, rgba(7, 95, 159, 0.98), rgba(83, 12, 29, 0.98));
  box-shadow: 8px 8px 0 rgba(92, 7, 20, 0.52);
}

.retro-2018-active #mainContent .penalty-stage-head strong i,
.retro-2018-active #mainContent .match-penalty-decision strong,
.retro-2018-active #mainContent .penalty-mark.goal,
.retro-2018-active #mainContent .golden-boot-rank,
.retro-2018-active #mainContent .golden-boot-row > b {
  color: var(--retro-2018-gold);
}

.retro-2018-active #mainContent .fixture {
  border: 1px solid rgba(233, 196, 119, 0.34);
  border-radius: 3px;
  color: var(--retro-2018-cream);
  background: rgba(6, 56, 99, 0.94);
  box-shadow: none;
}

.retro-2018-active #mainContent .fixture:hover,
.retro-2018-active #mainContent .fixture.selected {
  background: rgba(8, 103, 170, 0.98);
  box-shadow: inset 6px 0 var(--retro-2018-gold);
}

.retro-2018-active #mainContent .bracket-heads {
  color: var(--retro-2018-gold);
  background: #63111d;
}

.retro-2018-active #mainContent .bracket-connector::before,
.retro-2018-active #mainContent .bracket-connector::after,
.retro-2018-active #mainContent .bracket-fixture[data-connects="true"]::after {
  border-color: rgba(233, 196, 119, 0.62);
}

.retro-2018-active #mainContent .country-flag,
.retro-2018-active .retro-table-flag,
.retro-2018-active .retro-squad-flag,
.retro-2018-active .retro-lineup-flag {
  border: 3px solid var(--retro-2018-gold);
  border-radius: 0;
  clip-path: polygon(9% 0, 91% 0, 100% 50%, 91% 100%, 9% 100%, 0 50%);
  background: var(--retro-2018-cream);
  filter: drop-shadow(0 4px 0 rgba(77, 7, 19, 0.48));
}

.retro-2018-active #mainContent .fixture-card-head,
.retro-2018-active #mainContent .match-stats-grid span,
.retro-2018-active #mainContent .golden-boot-player small,
.retro-2018-active #mainContent .plot-list p,
.retro-2018-active #mainContent .story-card p {
  color: #f3dcc0;
}

.retro-2018-active #mainContent .champion-stage {
  border-radius: 4px;
  color: var(--retro-2018-cream);
  background:
    radial-gradient(circle at 50% 20%, rgba(233, 196, 119, 0.2), transparent 32%),
    linear-gradient(145deg, #075f9f, #69101d);
}

.retro-2018-active .retro-squad-position-group,
.retro-2018-active .retro-lineup-side {
  border: 0;
  border-radius: 0;
  background: rgba(6, 48, 87, 0.62);
  box-shadow: inset 5px 0 var(--retro-2018-gold);
}

.retro-2018-active .retro-squad-position-group h2,
.retro-2018-active .retro-lineup-side header {
  color: var(--retro-2018-gold);
  background: rgba(99, 12, 29, 0.76);
}

@media (max-width: 760px) {
  body.retro-mode-active.retro-2018-active {
    background-position: 20% top;
    background-size: 130px 130px, 94px 94px, 190px 190px, auto;
  }

  .retro-2018-active #mainContent .match-stage,
  .retro-2018-active #mainContent .panel,
  .retro-2018-active #mainContent .match-analysis,
  .retro-2018-active #mainContent .round-board {
    box-shadow: 5px 6px 0 rgba(73, 7, 18, 0.42);
  }
}

/* Russia 2018 readability pass: calm panels, normal flags, and sturdy type. */
.retro-2018-active .retro-tournament-screen,
.retro-2018-active #mainContent {
  font-family: "Manrope", sans-serif;
}

.retro-2018-active .retro-tournament-heading h1,
.retro-2018-active .retro-tournament-progress strong,
.retro-2018-active #mainContent .stage-round,
.retro-2018-active #mainContent .panel-heading h2,
.retro-2018-active #mainContent .match-analysis-heading,
.retro-2018-active #mainContent .section-heading h2 {
  font-family: "Manrope", sans-serif;
  font-weight: 800;
  letter-spacing: 0;
}

.retro-2018-active #mainContent .match-stage,
.retro-2018-active #mainContent .round-board,
.retro-2018-active #mainContent .panel,
.retro-2018-active #mainContent .match-analysis,
.retro-2018-active #mainContent .standard-match-tactics,
.retro-2018-active #mainContent .story-card,
.retro-2018-active .retro-group-table,
.retro-2018-active .retro-squad-view,
.retro-2018-active .retro-lineups-view {
  background: linear-gradient(145deg, #0969aa, #073d70);
  background-size: auto;
}

.retro-2018-active #mainContent .team-name {
  font-size: clamp(24px, 2.25vw, 42px);
  font-weight: 800;
  line-height: 1.08;
}

.retro-2018-active #mainContent .match-score,
.retro-2018-active #mainContent .score-separator {
  font-weight: 800;
}

.retro-2018-active #mainContent .stage-round {
  font-size: clamp(15px, 1.35vw, 22px);
}

.retro-2018-active #mainContent .fixture-card-head,
.retro-2018-active #mainContent .fixture-team .name,
.retro-2018-active #mainContent .retro-fixture-details,
.retro-2018-active #mainContent .match-stat-row,
.retro-2018-active #mainContent .golden-boot-player,
.retro-2018-active .retro-table-row {
  font-family: "Manrope", sans-serif;
  font-size: max(12px, 0.78vw);
  line-height: 1.35;
}

.retro-2018-active #mainContent .match-stat-row b,
.retro-2018-active #mainContent .match-analysis-heading strong {
  font-size: max(13px, 0.82vw);
}

.retro-2018-active #mainContent .fixture {
  background: #064679;
}

.retro-2018-active #mainContent .fixture:hover,
.retro-2018-active #mainContent .fixture.selected {
  background: #0874ba;
}

.retro-2018-active #mainContent .country-flag,
.retro-2018-active .retro-table-flag,
.retro-2018-active .retro-squad-flag,
.retro-2018-active .retro-lineup-flag {
  overflow: hidden;
  border: 0;
  border-radius: 5px;
  clip-path: none;
  background: transparent;
  filter: drop-shadow(0 4px 0 rgba(77, 7, 19, 0.34));
}

.retro-2018-active #mainContent .country-flag img,
.retro-2018-active .retro-table-flag img,
.retro-2018-active .retro-squad-flag img,
.retro-2018-active .retro-lineup-flag img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (max-width: 1100px) {
  .retro-2018-active #mainContent .fixture-card-head,
  .retro-2018-active #mainContent .fixture-team .name,
  .retro-2018-active #mainContent .retro-fixture-details,
  .retro-2018-active #mainContent .match-stat-row,
  .retro-2018-active #mainContent .golden-boot-player,
  .retro-2018-active .retro-table-row {
    font-size: 12px;
  }
}

/* Keep shootout takers attached to their marks on every tournament skin. */
#homeEventSide .shootout-summary-row {
  grid-template-columns: 9px minmax(0, 1fr);
}

#homeEventSide .shootout-summary-row span {
  width: 100%;
  justify-self: stretch;
  text-align: left;
}

.team-match-events.away .shootout-summary-row span {
  width: 100%;
  justify-self: end;
  text-align: right;
}

/* Russia 2018 component colours. Keep the Brazil 2014 green skin untouched. */
.retro-2018-active .retro-table-head,
.retro-2018-active .retro-table-head b {
  color: #ffffff;
}

.retro-2018-active .retro-match-lineups-panel {
  border-color: rgba(233, 196, 119, 0.4);
  background: #075f9f;
  box-shadow: 7px 7px 0 rgba(99, 17, 29, 0.38);
}

.retro-2018-active .retro-match-lineups-panel summary,
.retro-2018-active .retro-match-lineups-panel[open] summary {
  color: #ffffff;
  background: #075f9f;
}

.retro-2018-active .retro-match-lineups-panel .retro-lineup-side {
  background: #073d70;
  box-shadow: inset 5px 0 var(--retro-2018-gold);
}

.retro-2018-active .retro-match-lineups-panel .retro-lineup-side header,
.retro-2018-active .retro-match-lineups-panel .retro-lineup-side:nth-child(2) header {
  background: #095f9f;
}

.retro-2018-active #mainContent .fixture.bracket-fixture,
.retro-2018-active #mainContent .fixture.bracket-fixture.placeholder {
  border-color: rgba(233, 196, 119, 0.48);
  background: #741321;
}

.retro-2018-active #mainContent .fixture.bracket-fixture:hover,
.retro-2018-active #mainContent .fixture.bracket-fixture.selected {
  background: #9f1b28;
  box-shadow: inset 6px 0 var(--retro-2018-gold);
}

.retro-mode-active .retro-screen-brand .brand-mark {
  color: #ffffff;
  background: #5f8cff;
  box-shadow: 0 5px 14px rgba(49, 91, 196, 0.3);
}

/* Russia 2018 squad sheet. Deliberately year-scoped so Brazil 2014 is unchanged. */
.retro-2018-active .retro-squad-view {
  overflow: hidden;
  border: 0;
  border-radius: 6px;
  background: #0969aa;
  box-shadow: 10px 10px 0 rgba(82, 9, 21, 0.4);
}

.retro-2018-active .retro-squad-heading {
  padding: 24px 28px;
  border-bottom: 4px solid #e9c477;
  background: #671018;
}

.retro-2018-active .retro-squad-heading > div > span {
  gap: 5px;
}

.retro-2018-active .retro-squad-heading small,
.retro-2018-active .retro-squad-heading label > span {
  color: #e9c477;
  font-size: 11px;
  letter-spacing: 0.04em;
}

.retro-2018-active .retro-squad-heading strong {
  color: #fff4d6;
  font-size: clamp(20px, 1.5vw, 28px);
}

.retro-2018-active .retro-squad-heading select {
  min-width: min(280px, 42vw);
  border: 1px solid rgba(233, 196, 119, 0.55);
  color: #fff4d6;
  background: #073d70;
}

.retro-2018-active .retro-squad-groups {
  align-items: start;
  grid-auto-rows: max-content;
  gap: 20px;
  padding: 28px;
}

.retro-2018-active .retro-squad-position-group {
  align-self: start;
  overflow: hidden;
  border: 0;
  border-top: 4px solid #e9c477;
  border-radius: 5px;
  background: #073d70;
  box-shadow: none;
}

.retro-2018-active .retro-squad-position-group > h2 {
  min-height: 44px;
  margin: 0;
  padding: 0 14px;
  border: 0;
  color: #fff4d6;
  background: #671018;
  font-size: 13px;
  letter-spacing: 0.04em;
}

.retro-2018-active .retro-squad-position-group > h2 b {
  color: #e9c477;
  font-family: "Manrope", sans-serif;
  font-size: 12px;
}

.retro-2018-active .retro-squad-list {
  padding: 4px 14px 8px;
}

.retro-2018-active .retro-squad-position-group .retro-squad-row {
  box-sizing: border-box;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 10px;
  min-height: 58px;
  padding: 10px 0;
  border-bottom-color: rgba(233, 196, 119, 0.2);
  background: transparent;
}

.retro-2018-active .retro-squad-row .retro-squad-number {
  align-self: center;
  padding: 0;
  color: #e9c477;
  font-family: "Manrope", sans-serif;
  font-size: 13px;
  font-weight: 800;
  text-align: center;
}

.retro-2018-active .retro-squad-row strong {
  color: #fff4d6;
  font-size: 14px;
  line-height: 1.2;
}

.retro-2018-active .retro-squad-row small {
  color: #c9d9e8;
  font-size: 11px;
}

/* Russia 2018 dialogs and share controls. */
body.retro-mode-active.retro-2018-active .confirm-modal form,
body.retro-mode-active.retro-2018-active .snapshot-modal form {
  border: 1px solid rgba(233, 196, 119, 0.62);
  border-radius: 6px;
  color: #fff4d6;
  background: #073d70;
  box-shadow: 12px 12px 0 rgba(82, 9, 21, 0.52);
}

body.retro-mode-active.retro-2018-active .confirm-modal h2,
body.retro-mode-active.retro-2018-active .snapshot-modal h2 {
  color: #fff4d6;
  text-shadow: none;
}

body.retro-mode-active.retro-2018-active .confirm-modal .confirm-icon {
  color: #671018;
  background: #e9c477;
  box-shadow: 0 5px 0 #b98335;
}

body.retro-mode-active.retro-2018-active .confirm-modal .primary-button,
body.retro-mode-active.retro-2018-active .confirm-modal .danger-button {
  border: 2px solid #fff4d6;
  color: #fff;
  background: #a51a16;
  box-shadow: 0 5px 0 #671018;
}

body.retro-mode-active.retro-2018-active .confirm-modal .secondary-button {
  border: 1px solid rgba(233, 196, 119, 0.5);
  color: #fff4d6;
  background: #0969aa;
}

body.retro-mode-active.retro-2018-active .snapshot-preview {
  border-color: rgba(233, 196, 119, 0.54);
  background: #671018;
  box-shadow: 0 14px 36px rgba(55, 3, 13, 0.4);
}

body.retro-mode-active.retro-2018-active .snapshot-actions button {
  border: 1px solid rgba(233, 196, 119, 0.58);
  color: #fff4d6;
  background: #0969aa;
  box-shadow: 0 4px 0 #073d70;
}

body.retro-mode-active.retro-2018-active .snapshot-actions button:hover {
  background: #0b78bd;
}

@media (max-width: 700px) {
  .retro-2018-active .retro-squad-heading {
    align-items: stretch;
    padding: 18px;
  }

  .retro-2018-active .retro-squad-heading select {
    width: 100%;
    min-width: 0;
  }

  .retro-2018-active .retro-squad-groups {
    gap: 16px;
    padding: 18px;
  }
}

/* Final stacking override: later retro panel rules must not cover the filter menu. */
.retro-mode-active #mainContent .round-board {
  overflow: visible;
}

.retro-mode-active #mainContent .round-board > .section-heading {
  position: relative;
  z-index: 80;
  overflow: visible;
}

.retro-mode-active #mainContent .round-board .board-actions,
.retro-mode-active #mainContent .round-board .team-filter-control {
  position: relative;
  z-index: 90;
  overflow: visible;
}

.retro-mode-active #mainContent .round-board .search-result-popover {
  z-index: 100;
}

.retro-mode-active #mainContent .round-board .fixture-grid {
  position: relative;
  z-index: 1;
}

/* Selected Retro team filter: a compact, clearly removable tag. */
.retro-mode-active:not(.retro-2022-active) #mainContent .team-filter-chip {
  min-height: 42px;
  padding: 0 12px;
  border: 1px solid rgba(246, 209, 42, 0.58);
  border-radius: 8px;
  color: #fffce5;
  background: #087348;
  box-shadow: 0 4px 0 #034d36;
}

.retro-mode-active:not(.retro-2022-active) #mainContent .team-filter-chip .team-filter-check {
  color: #06412e;
  background: #f6d12a;
}

.retro-mode-active #mainContent .team-filter-chip .team-filter-clear {
  display: grid;
  width: 22px;
  height: 22px;
  margin-left: 5px;
  place-items: center;
  border-radius: 50%;
  color: #06412e;
  background: #f6d12a;
  font-size: 17px;
  font-weight: 900;
}

/* Russia 2018 controls use its blue/red identity; Brazil 2014 remains unchanged. */
.retro-2018-active #mainContent #teamFilterControl .team-filter-search {
  border-color: #e9c477;
  color: #fff4d6;
  background: #073d70;
  box-shadow: 0 4px 0 #671018;
}

.retro-2018-active #mainContent #teamFilterControl .team-filter-chip {
  border-color: #e9c477;
  color: #fff4d6;
  background: #a51a16;
  box-shadow: 0 4px 0 #671018;
}

.retro-2018-active #mainContent #teamFilterControl .team-filter-check,
.retro-2018-active #mainContent #teamFilterControl .team-filter-clear {
  color: #fff4d6;
  background: #073d70;
}

.retro-2018-active #mainContent #historyRoundButton {
  border: 1px solid #e9c477;
  color: #fff4d6;
  background: #a51a16;
  box-shadow: 0 4px 0 #671018;
}

.retro-2018-active #mainContent #newerRoundButton {
  border: 1px solid #e9c477;
  color: #fff4d6;
  background: #073d70;
  box-shadow: 0 4px 0 #052947;
}

.retro-2018-active #mainContent #snapshotButton {
  border-color: #e9c477;
  color: #fff4d6;
  background: #a51a16;
  box-shadow: 0 4px 0 #671018;
}

@media (hover: hover) and (pointer: fine) {
  .retro-2018-active #mainContent #historyRoundButton:hover,
  .retro-2018-active #mainContent #snapshotButton:hover,
  .retro-2018-active #mainContent #teamFilterControl .team-filter-chip:hover {
    background: #bd211c;
  }

  .retro-2018-active #mainContent #newerRoundButton:hover,
  .retro-2018-active #mainContent #teamFilterControl .team-filter-search:hover {
    background: #084c84;
  }
}

/* Keep the Retro fixture controls usable on tablet and phone layouts. */
@media (max-width: 1100px) {
  .retro-mode-active #mainContent .round-board > .section-heading {
    gap: 18px;
  }

  .retro-mode-active #mainContent .round-board .board-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    width: 100%;
  }

  .retro-mode-active #mainContent .round-board .team-filter-control:not([hidden]) {
    display: block;
    grid-column: 1 / -1;
    width: 100%;
  }

  .retro-mode-active #mainContent .team-filter-control:not(.active):not([hidden]) .team-filter-search {
    display: flex !important;
    width: 100%;
    height: 52px;
  }

  .retro-mode-active #mainContent .team-filter-control.active:not([hidden]) .team-filter-chip {
    width: 100%;
    min-height: 52px;
    justify-content: flex-start;
  }

  .retro-mode-active #mainContent .round-board .board-actions > button {
    width: 100%;
    min-width: 0;
    min-height: 52px;
    margin: 0;
  }

  .retro-mode-active #mainContent .round-board #simulateRoundButton {
    grid-column: 1 / -1;
  }

  .retro-mode-active #mainContent .team-filter-control .search-result-popover {
    right: 0;
    left: 0;
    width: 100%;
    max-width: none;
  }
}

@media (max-width: 640px) {
  .retro-mode-active #mainContent .round-board {
    padding-inline: 18px;
  }

  .retro-mode-active #mainContent .round-board .board-actions {
    gap: 10px;
  }
}

/* South Africa 2010: original sunburst treatment over the shared Retro simulator. */
body.retro-mode-active.retro-2010-active {
  --retro-2010-orange: #eb950e;
  --retro-2010-burnt: #a9440c;
  --retro-2010-deep: #51240f;
  --retro-2010-brown: #342016;
  --retro-2010-charcoal: #211c19;
  --retro-2010-gold: #ffd34f;
  --retro-2010-cream: #fff5db;
  --retro-2010-muted: #e9c991;
  color: var(--retro-2010-cream);
  background: #b6530c url("./assets/retro-2010/south-africa-sunburst-desktop.webp") center top / cover fixed no-repeat;
}

.retro-2010-active .retro-tournament-screen {
  min-height: 100vh;
  color: var(--retro-2010-cream);
  background: rgba(83, 34, 10, 0.28);
  font-family: "Manrope", sans-serif;
}

.retro-2010-active .retro-screen-header {
  border-bottom: 4px solid var(--retro-2010-gold);
  color: var(--retro-2010-cream);
  background: rgba(55, 29, 18, 0.96);
  box-shadow: 0 6px 0 rgba(169, 68, 12, 0.9), 0 16px 32px rgba(45, 20, 8, 0.28);
  backdrop-filter: blur(12px);
}

.retro-2010-active .retro-screen-back,
.retro-2010-active .retro-screen-restart {
  border: 1px solid rgba(255, 211, 79, 0.38);
  border-radius: 5px;
  color: var(--retro-2010-cream);
  background: #6a3016;
  box-shadow: 0 4px 0 #3e2115;
}

.retro-2010-active .retro-screen-action {
  border-radius: 5px;
  color: var(--retro-2010-cream);
  background: transparent;
  box-shadow: none;
}

.retro-2010-active .retro-screen-brand .brand-mark {
  color: #2f1b13;
  background: var(--retro-2010-gold);
  box-shadow: 0 4px 0 var(--retro-2010-burnt);
}

.retro-2010-active #retroDonateButton {
  color: #302016;
  background: var(--retro-2010-gold);
  box-shadow: 0 4px 0 var(--retro-2010-burnt);
}

.retro-2010-active .retro-back-to-modes {
  border-color: rgba(255, 211, 79, 0.58);
  border-radius: 5px;
  color: var(--retro-2010-cream);
  background: rgba(69, 34, 18, 0.9);
}

.retro-2010-active .retro-back-to-modes > span:first-child,
.retro-2010-active .retro-tournament-heading > div:first-child > span,
.retro-2010-active .retro-tournament-progress span {
  color: var(--retro-2010-gold);
}

.retro-2010-active .retro-tournament-heading h1,
.retro-2010-active .retro-tournament-progress strong {
  color: var(--retro-2010-cream);
  font-family: "Manrope", sans-serif;
  font-weight: 900;
  text-shadow: 0 3px 0 rgba(91, 39, 12, 0.42);
}

.retro-2010-active .retro-view-tabs {
  gap: 4px;
  border: 1px solid rgba(255, 211, 79, 0.36);
  border-radius: 6px;
  background: rgba(65, 34, 20, 0.94);
  box-shadow: 6px 6px 0 rgba(116, 48, 11, 0.52);
  backdrop-filter: none;
}

.retro-2010-active .retro-view-tabs::before {
  display: none;
}

.retro-2010-active .retro-view-tabs button {
  border-radius: 4px;
  color: var(--retro-2010-muted);
  background: #653019;
}

.retro-2010-active .retro-view-tabs button:hover:not(.active) {
  color: var(--retro-2010-cream);
  background: #8b3b15;
}

.retro-2010-active .retro-view-tabs button.active {
  color: #342016;
  background: var(--retro-2010-gold);
  box-shadow: inset 0 -4px #d37b0c;
}

.retro-2010-active #mainContent {
  --surface: rgba(72, 37, 22, 0.97);
  --surface-raised: rgba(119, 52, 18, 0.97);
  --line: rgba(255, 211, 79, 0.31);
  color: var(--retro-2010-cream);
  font-family: "Manrope", sans-serif;
}

.retro-2010-active #mainContent .match-stage,
.retro-2010-active #mainContent .round-board,
.retro-2010-active #mainContent .panel,
.retro-2010-active #mainContent .match-analysis,
.retro-2010-active #mainContent .standard-match-tactics,
.retro-2010-active #mainContent .story-card,
.retro-2010-active .retro-group-table,
.retro-2010-active .retro-squad-view,
.retro-2010-active .retro-lineups-view {
  border: 1px solid rgba(255, 211, 79, 0.32);
  border-radius: 6px;
  color: var(--retro-2010-cream);
  background: rgba(65, 34, 20, 0.97);
  box-shadow: 8px 8px 0 rgba(115, 46, 10, 0.46), 0 18px 40px rgba(54, 24, 10, 0.22);
  backdrop-filter: none;
}

.retro-2010-active #mainContent .match-stage::before,
.retro-2010-active #mainContent .round-board::before,
.retro-2010-active #mainContent .match-analysis::before {
  height: 6px;
  background: linear-gradient(90deg, #0d7046 0 17%, #ffd34f 17% 46%, #d64a24 46% 68%, #2374a6 68% 84%, #eb950e 84%);
  clip-path: none;
}

.retro-2010-active #mainContent .stage-round,
.retro-2010-active #mainContent .panel-heading h2,
.retro-2010-active #mainContent .match-analysis-heading,
.retro-2010-active #mainContent .section-heading h2,
.retro-2010-active #mainContent .live-clock,
.retro-2010-active #mainContent .event-live-clock strong {
  color: var(--retro-2010-gold);
  font-family: "Manrope", sans-serif;
  font-weight: 900;
  letter-spacing: 0;
  text-shadow: none;
}

.retro-2010-active #mainContent .team-name,
.retro-2010-active #mainContent .match-score,
.retro-2010-active #mainContent .score-separator,
.retro-2010-active #mainContent .champion-stage h2,
.retro-2010-active #mainContent .golden-boot-player strong,
.retro-2010-active #mainContent .match-analysis-heading strong,
.retro-2010-active #mainContent .match-stat-row b {
  color: var(--retro-2010-cream);
}

.retro-2010-active #mainContent .match-commentary-feed {
  border-color: rgba(255, 211, 79, 0.5);
  color: var(--retro-2010-cream);
  background: #7d3516;
}

.retro-2010-active #mainContent .match-commentary-feed .commentary-line span,
.retro-2010-active #mainContent .match-commentary-feed.is-major .commentary-line span {
  color: var(--retro-2010-cream);
}

.retro-2010-active #mainContent .primary-button,
.retro-2010-active #mainContent .play-button,
.retro-2010-active #mainContent .secondary-button,
.retro-2010-active #mainContent .live-control,
.retro-2010-active #mainContent .standard-tactic-buttons button.active {
  border: 1px solid #ffe49a;
  border-radius: 5px;
  color: #352117;
  background: var(--retro-2010-gold);
  box-shadow: 0 5px 0 #b85a0b;
}

.retro-2010-active #mainContent .standard-tactic-buttons button:not(.active),
.retro-2010-active #mainContent .text-button,
.retro-2010-active #mainContent .history-round-button {
  border: 1px solid rgba(255, 211, 79, 0.28);
  border-radius: 5px;
  color: var(--retro-2010-cream);
  background: #653019;
}

.retro-2010-active #mainContent .standard-tactic-buttons,
.retro-2010-active #mainContent .match-penalty-scene,
.retro-2010-active #mainContent .standard-penalty-scene {
  border-color: rgba(255, 211, 79, 0.34);
  border-radius: 5px;
  background: #6b341b;
}

.retro-2010-active #mainContent .golden-boot-panel {
  border-color: rgba(255, 211, 79, 0.42);
  color: var(--retro-2010-cream);
  background: #4a291d;
  box-shadow: 7px 7px 0 rgba(115, 46, 10, 0.44);
}

.retro-2010-active #mainContent .golden-boot-panel .panel-heading {
  border-bottom-color: rgba(255, 211, 79, 0.34);
  background: #773518;
}

.retro-2010-active #mainContent .golden-boot-row {
  border-bottom-color: rgba(255, 211, 79, 0.22);
  background: #5b2e1b;
}

.retro-2010-active #mainContent .golden-boot-row:nth-child(even) {
  background: #63331e;
}

.retro-2010-active #mainContent .champion-award {
  border: 1px solid rgba(255, 211, 79, 0.5);
  color: var(--retro-2010-cream);
  background: #7d3516;
  box-shadow: 6px 6px 0 rgba(115, 46, 10, 0.5);
}

.retro-2010-active #mainContent .champion-award-mark {
  color: var(--retro-2010-gold);
  background: rgba(255, 211, 79, 0.13);
}

.retro-2010-active #mainContent .champion-award-copy > span,
.retro-2010-active #mainContent .champion-award-copy small,
.retro-2010-active #mainContent .champion-award-copy small b {
  color: var(--retro-2010-gold);
}

.retro-2010-active #mainContent .penalty-stage,
.retro-2010-active #mainContent .match-penalty-overlay {
  border-color: rgba(255, 211, 79, 0.46);
  border-radius: 6px;
  color: var(--retro-2010-cream);
  background: #70351a;
  box-shadow: 7px 7px 0 rgba(83, 31, 9, 0.48);
}

.retro-2010-active #mainContent .penalty-stage-head strong i,
.retro-2010-active #mainContent .match-penalty-decision strong,
.retro-2010-active #mainContent .penalty-mark.goal,
.retro-2010-active #mainContent .golden-boot-rank,
.retro-2010-active #mainContent .golden-boot-row > b {
  color: var(--retro-2010-gold);
}

.retro-2010-active #mainContent .fixture {
  border: 1px solid rgba(255, 211, 79, 0.26);
  border-radius: 5px;
  color: var(--retro-2010-cream);
  background: #5d2d19;
  box-shadow: none;
}

.retro-2010-active #mainContent .fixture:hover,
.retro-2010-active #mainContent .fixture.selected {
  color: #fff;
  background: #8b3b15;
  box-shadow: inset 6px 0 var(--retro-2010-gold);
}

.retro-2010-active #mainContent .fixture.bracket-fixture,
.retro-2010-active #mainContent .fixture.bracket-fixture.placeholder {
  background: #54291a;
}

.retro-2010-active #mainContent .bracket-heads {
  color: var(--retro-2010-gold);
  background: #3b251b;
}

.retro-2010-active #mainContent .bracket-connector::before,
.retro-2010-active #mainContent .bracket-connector::after,
.retro-2010-active #mainContent .bracket-fixture[data-connects="true"]::after {
  border-color: rgba(255, 211, 79, 0.48);
}

.retro-2010-active #mainContent .fixture-card-head,
.retro-2010-active #mainContent .match-stats-grid span,
.retro-2010-active #mainContent .golden-boot-player small,
.retro-2010-active #mainContent .plot-list p,
.retro-2010-active #mainContent .story-card p,
.retro-2010-active #mainContent .retro-standard-fixture-meta {
  color: var(--retro-2010-muted);
}

.retro-2010-active #mainContent .country-flag,
.retro-2010-active .retro-table-flag,
.retro-2010-active .retro-squad-flag,
.retro-2010-active .retro-lineup-flag {
  overflow: hidden;
  border: 2px solid var(--retro-2010-gold);
  border-radius: 4px;
  clip-path: none;
  background: #fff4dc;
  filter: drop-shadow(0 4px 0 rgba(73, 30, 10, 0.4));
}

.retro-2010-active #mainContent .country-flag img,
.retro-2010-active .retro-table-flag img,
.retro-2010-active .retro-squad-flag img,
.retro-2010-active .retro-lineup-flag img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.retro-2010-active #mainContent .champion-stage {
  border: 1px solid rgba(255, 211, 79, 0.5);
  border-radius: 6px;
  color: var(--retro-2010-cream);
  background: rgba(67, 34, 20, 0.96);
  box-shadow: 10px 10px 0 rgba(139, 57, 12, 0.44);
}

.retro-2010-active #mainContent .champion-stage .trophy,
.retro-2010-active #mainContent .champion-stage p {
  color: var(--retro-2010-gold);
  text-shadow: none;
}

.retro-2010-active #mainContent .champion-stage {
  min-height: 0;
  padding: 30px clamp(18px, 4vw, 48px) 28px;
}

.retro-2010-active #mainContent .champion-content {
  width: min(720px, 100%);
}

.retro-2010-active #mainContent .champion-stage .flag-orb {
  margin-block: 14px;
  border: 0;
  box-shadow: 0 6px 0 var(--retro-2010-burnt), 0 14px 28px rgba(54, 24, 10, 0.24);
}

.retro-2010-active #mainContent .champion-stage .country-flag {
  border: 0;
}

.retro-2010-active #mainContent .champion-podium {
  display: block;
  margin: 18px 0 12px;
}

.retro-2010-active #mainContent .champion-podium[hidden],
.retro-2010-active #mainContent .champion-extra-awards[hidden] {
  display: none;
}

.retro-2010-active #mainContent .champion-section-label {
  display: block;
  margin-bottom: 8px;
  color: var(--retro-2010-gold);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: 1.4px;
}

.retro-2010-active #mainContent .champion-podium-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
}

.retro-2010-active #mainContent .champion-place {
  display: grid;
  grid-template-columns: 24px 34px minmax(0, 1fr);
  align-items: center;
  gap: 7px;
  min-width: 0;
  padding: 10px;
  border: 1px solid rgba(255, 211, 79, 0.28);
  border-radius: 5px;
  color: var(--retro-2010-cream);
  background: #5b2e1b;
  text-align: left;
}

.retro-2010-active #mainContent .champion-place.place-1 {
  border-color: rgba(255, 211, 79, 0.68);
  background: #7d3516;
  box-shadow: inset 0 4px var(--retro-2010-gold);
}

.retro-2010-active #mainContent .champion-place > b {
  color: var(--retro-2010-gold);
  font-size: 20px;
  font-weight: 950;
}

.retro-2010-active #mainContent .champion-place-flag,
.retro-2010-active #mainContent .champion-place-flag img {
  display: block;
  width: 34px;
  height: 22px;
  object-fit: cover;
}

.retro-2010-active #mainContent .champion-place span,
.retro-2010-active #mainContent .champion-place strong,
.retro-2010-active #mainContent .champion-place small {
  display: block;
  min-width: 0;
}

.retro-2010-active #mainContent .champion-place strong {
  overflow: hidden;
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.retro-2010-active #mainContent .champion-place small {
  margin-top: 2px;
  color: var(--retro-2010-muted);
  font-size: 8px;
}

.retro-2010-active #mainContent .champion-awards-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
  margin: 12px 0 18px;
}

.retro-2010-active #mainContent .champion-awards-grid > .champion-award,
.retro-2010-active #mainContent .champion-extra-awards .champion-award {
  width: 100%;
  min-width: 0;
  margin: 0;
  box-sizing: border-box;
}

.retro-2010-active #mainContent .champion-extra-awards {
  display: contents;
}

.retro-2010-active #mainContent .champion-glove-award .champion-award-copy strong {
  font-size: 12px;
}

.retro-2010-active #mainContent .champion-award-copy small {
  min-width: 0;
}

.retro-2010-active #mainContent .champion-award-flag {
  display: flex;
  flex: 0 0 22px;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 14px;
  margin: 0;
}

.retro-2010-active #mainContent .champion-award-flag .award-flag,
.retro-2010-active #mainContent .champion-award-flag .award-flag img {
  display: block;
  width: 22px;
  height: 14px;
  margin: 0;
  object-fit: cover;
}

@media (min-width: 701px) and (max-width: 1367px) {
  body.retro-mode-active.retro-2010-active #mainContent:has(#championStage:not([hidden])) {
    grid-template-columns: minmax(0, 1080px);
    grid-template-areas:
      "stage"
      "board";
    justify-content: center;
    padding-inline: 20px;
  }

  body.retro-mode-active.retro-2010-active #mainContent:has(#championStage:not([hidden])) .insight-left,
  body.retro-mode-active.retro-2010-active #mainContent:has(#championStage:not([hidden])) .insight-right {
    display: none;
  }

  body.retro-mode-active.retro-2010-active #mainContent:has(#championStage:not([hidden])) .stage-column {
    width: 100%;
    max-width: 1080px;
  }

  .retro-2010-active #mainContent .champion-place strong {
    overflow: visible;
    line-height: 1.15;
    text-overflow: clip;
    white-space: normal;
  }
}

@media (max-width: 700px) {
  .retro-2010-active #mainContent .champion-podium-grid,
  .retro-2010-active #mainContent .champion-awards-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .retro-2010-active #mainContent .champion-stage {
    padding-inline: 14px;
  }
}

.retro-2010-active .retro-squad-heading {
  border-bottom: 4px solid var(--retro-2010-gold);
  background: #47271b;
}

.retro-2010-active .retro-squad-heading small,
.retro-2010-active .retro-squad-heading label > span,
.retro-2010-active .retro-squad-position-group > h2,
.retro-2010-active .retro-squad-row .retro-squad-number {
  color: var(--retro-2010-gold);
}

.retro-2010-active .retro-squad-heading select {
  border: 1px solid rgba(255, 211, 79, 0.46);
  color: var(--retro-2010-cream);
  background: #342117;
}

.retro-2010-active .retro-squad-position-group,
.retro-2010-active .retro-lineup-side {
  border: 0;
  border-top: 4px solid var(--retro-2010-gold);
  border-radius: 5px;
  background: #4f2a1b;
  box-shadow: none;
}

.retro-2010-active .retro-squad-position-group > h2,
.retro-2010-active .retro-lineup-side header {
  color: var(--retro-2010-cream);
  background: #773518;
}

.retro-2010-active .retro-squad-row strong,
.retro-2010-active .retro-lineup-side strong {
  color: var(--retro-2010-cream);
}

.retro-2010-active .retro-squad-row small,
.retro-2010-active .retro-lineup-side small {
  color: var(--retro-2010-muted);
}

.retro-2010-active .retro-table-head,
.retro-2010-active .retro-table-head b {
  color: var(--retro-2010-gold);
}

.retro-2010-active #mainContent #teamFilterControl .team-filter-search,
.retro-2010-active #mainContent #newerRoundButton {
  border-color: rgba(255, 211, 79, 0.46);
  color: var(--retro-2010-cream);
  background: #4a291d;
  box-shadow: 0 4px 0 #2d1d16;
}

.retro-2010-active #mainContent #teamFilterControl .team-filter-chip,
.retro-2010-active #mainContent #historyRoundButton,
.retro-2010-active #mainContent #snapshotButton {
  border-color: var(--retro-2010-gold);
  color: #352117;
  background: var(--retro-2010-gold);
  box-shadow: 0 4px 0 #b85a0b;
}

body.retro-mode-active.retro-2010-active .modal,
body.retro-mode-active.retro-2010-active .confirm-modal form,
body.retro-mode-active.retro-2010-active .snapshot-modal form,
body.retro-mode-active.retro-2010-active .retro-achievements-modal,
body.retro-mode-active.retro-2010-active .achievement-unlock-modal {
  border: 1px solid rgba(255, 211, 79, 0.54);
  border-radius: 6px;
  color: var(--retro-2010-cream);
  background: #4c291b;
  box-shadow: 10px 10px 0 rgba(126, 51, 10, 0.48), 0 28px 70px rgba(49, 22, 10, 0.52);
}

body.retro-mode-active.retro-2010-active .confirm-modal {
  border: 0;
  background: transparent;
  box-shadow: none;
}

body.retro-mode-active.retro-2010-active .modal::backdrop,
body.retro-mode-active.retro-2010-active .confirm-modal::backdrop,
body.retro-mode-active.retro-2010-active .retro-achievements-modal::backdrop,
body.retro-mode-active.retro-2010-active .achievement-unlock-modal::backdrop {
  background: rgba(39, 22, 15, 0.78);
  backdrop-filter: blur(4px);
}

body.retro-mode-active.retro-2010-active .modal h2,
body.retro-mode-active.retro-2010-active .confirm-modal h2,
body.retro-mode-active.retro-2010-active .achievement-unlock-modal h2 {
  color: var(--retro-2010-cream);
  text-shadow: none;
}

body.retro-mode-active.retro-2010-active .modal p,
body.retro-mode-active.retro-2010-active .confirm-modal p,
body.retro-mode-active.retro-2010-active .achievement-unlock-modal p {
  color: var(--retro-2010-muted);
}

body.retro-mode-active.retro-2010-active .confirm-modal .confirm-icon,
body.retro-mode-active.retro-2010-active .achievement-unlock-mark {
  color: #4c291b;
  background: var(--retro-2010-gold);
  box-shadow: 0 5px 0 #b85a0b;
}

body.retro-mode-active.retro-2010-active .modal .primary-button,
body.retro-mode-active.retro-2010-active .confirm-modal .primary-button,
body.retro-mode-active.retro-2010-active .confirm-modal .danger-button,
body.retro-mode-active.retro-2010-active .achievement-unlock-action,
body.retro-mode-active.retro-2010-active .retro-achievements-modal .achievement-year-tabs button[aria-selected="true"] {
  color: #342016;
  background: var(--retro-2010-gold);
  box-shadow: 0 4px 0 #b85a0b;
}

body.retro-mode-active.retro-2010-active .settings-option,
body.retro-mode-active.retro-2010-active .bug-report-message,
body.retro-mode-active.retro-2010-active .retro-achievements-modal .achievement-country {
  border-color: rgba(255, 211, 79, 0.28);
  color: var(--retro-2010-cream);
  background: #5b2e1b;
}

body.retro-mode-active.retro-2010-active .settings-option-copy strong,
body.retro-mode-active.retro-2010-active .bug-report-message,
body.retro-mode-active.retro-2010-active .retro-achievements-modal header p {
  color: var(--retro-2010-cream);
}

body.retro-mode-active.retro-2010-active .settings-option-copy small,
body.retro-mode-active.retro-2010-active .settings-note,
body.retro-mode-active.retro-2010-active .bug-report-status {
  color: var(--retro-2010-muted);
}

body.retro-mode-active.retro-2010-active .retro-achievements-modal .achievement-progress-track span {
  background: var(--retro-2010-gold);
}

/* Keep Brazil 2014's shared green surfaces from leaking into the 2010 edition. */
body.retro-mode-active.retro-2010-active .retro-group-table {
  color: var(--retro-2010-cream);
  background: #4a291d;
  box-shadow: 8px 8px 0 rgba(115, 46, 10, 0.46);
}

body.retro-mode-active.retro-2010-active .retro-group-table h2,
body.retro-mode-active.retro-2010-active .retro-table-head {
  color: var(--retro-2010-gold);
  background: #43271c;
}

body.retro-mode-active.retro-2010-active .retro-table-head,
body.retro-mode-active.retro-2010-active .retro-table-row {
  border-color: rgba(255, 211, 79, 0.2);
}

body.retro-mode-active.retro-2010-active .retro-table-row,
body.retro-mode-active.retro-2010-active .retro-table-row.qualified {
  color: var(--retro-2010-cream);
  background: #5b2e1b;
}

body.retro-mode-active.retro-2010-active .retro-table-row:nth-child(even),
body.retro-mode-active.retro-2010-active .retro-table-row.qualified:nth-child(even) {
  background: #63331e;
}

body.retro-mode-active.retro-2010-active .retro-table-row.qualified::before {
  background: var(--retro-2010-gold);
}

body.retro-mode-active.retro-2010-active .retro-match-lineups-panel {
  border: 1px solid rgba(255, 211, 79, 0.38);
  border-radius: 6px;
  color: var(--retro-2010-cream);
  background: rgba(74, 41, 29, 0.96);
  box-shadow: 7px 7px 0 rgba(115, 46, 10, 0.42);
}

body.retro-mode-active.retro-2010-active .retro-match-lineups-panel summary,
body.retro-mode-active.retro-2010-active .retro-match-lineups-panel[open] summary {
  border-color: rgba(255, 211, 79, 0.24);
  color: var(--retro-2010-gold);
  background: #4a291d;
}

body.retro-mode-active.retro-2010-active .retro-match-lineups-panel .retro-lineup-side {
  color: var(--retro-2010-cream);
  background: #4f2a1b;
}

body.retro-mode-active.retro-2010-active .retro-match-lineups-panel .retro-lineup-side header,
body.retro-mode-active.retro-2010-active .retro-match-lineups-panel .retro-lineup-side:nth-child(2) header {
  color: var(--retro-2010-cream);
  background: #773518;
}

body.retro-mode-active.retro-2010-active .retro-match-lineups-panel .retro-lineup-side:nth-child(2) header {
  background: #8b3b15;
}

body.retro-mode-active.retro-2010-active .retro-match-lineups-panel .retro-lineup-side li {
  color: var(--retro-2010-cream);
  background: transparent;
}

body.retro-mode-active.retro-2010-active .retro-match-lineups-panel .retro-lineup-side li:nth-child(even) {
  background: rgba(255, 211, 79, 0.055);
}

body.retro-mode-active.retro-2010-active .retro-match-lineups-panel .retro-lineup-side li > b,
body.retro-mode-active.retro-2010-active .retro-match-lineups-panel .retro-lineup-side li em {
  color: var(--retro-2010-gold);
}

body.retro-mode-active.retro-2010-active .modal .icon-button,
body.retro-mode-active.retro-2010-active .retro-achievements-close,
body.retro-mode-active.retro-2010-active .achievement-unlock-close {
  border: 1px solid rgba(255, 211, 79, 0.45);
  color: var(--retro-2010-cream);
  background: #773518;
  box-shadow: 0 4px 0 #3e2115;
}

body.retro-mode-active.retro-2010-active .confirm-modal .secondary-button,
body.retro-mode-active.retro-2010-active .snapshot-actions .secondary-button {
  border: 1px solid rgba(255, 211, 79, 0.46);
  color: var(--retro-2010-cream);
  background: #773518;
  box-shadow: 0 4px 0 #3e2115;
}

body.retro-mode-active.retro-2010-active .snapshot-preview {
  border-color: rgba(255, 211, 79, 0.5);
  background: #342117;
  box-shadow: 0 14px 36px rgba(54, 24, 10, 0.4);
}

body.retro-mode-active.retro-2010-active .snapshot-actions .primary-button,
body.retro-mode-active.retro-2010-active #saveSnapshotButton {
  border: 1px solid #ffe49a;
  color: #342016;
  background: var(--retro-2010-gold);
  box-shadow: 0 4px 0 #b85a0b;
}

body.retro-mode-active.retro-2010-active .settings-option:hover {
  background: #6a341d;
}

body.retro-mode-active.retro-2010-active .settings-keybind-list {
  border-color: rgba(255, 211, 79, 0.38);
  background: #3e2115;
  box-shadow: inset 0 0 0 1px rgba(255, 244, 220, 0.045);
}

body.retro-mode-active.retro-2010-active .settings-keybind-row strong {
  color: var(--retro-2010-cream);
}

body.retro-mode-active.retro-2010-active .settings-keybind-row small {
  color: var(--retro-2010-muted);
}

body.retro-mode-active.retro-2010-active .settings-keybind-button {
  border-color: #ffe49a;
  color: #342016;
  background: var(--retro-2010-gold);
  box-shadow: 0 3px 0 #b85a0b;
}

body.retro-mode-active.retro-2010-active .settings-keybind-button.is-listening {
  border-color: rgba(255, 231, 156, 0.72);
  color: var(--retro-2010-cream);
  background: #8b3b15;
  box-shadow: 0 3px 0 #3e2115;
}

body.retro-mode-active.retro-2010-active .settings-switch {
  background: #3e2115;
}

body.retro-mode-active.retro-2010-active .settings-option[aria-pressed="true"] .settings-switch {
  background: var(--retro-2010-gold);
}

body.retro-mode-active.retro-2010-active .settings-option-icon {
  color: var(--retro-2010-gold);
  background: #773518;
}

body.retro-mode-active.retro-2010-active .bug-report-message {
  border-color: rgba(255, 211, 79, 0.42);
  color: var(--retro-2010-cream);
  background: #653019;
}

body.retro-mode-active.retro-2010-active .bug-report-message::placeholder {
  color: var(--retro-2010-muted);
}

body.retro-mode-active.retro-2010-active .bug-report-message:focus {
  border-color: var(--retro-2010-gold);
  outline: 3px solid rgba(255, 211, 79, 0.18);
}

body.retro-mode-active.retro-2010-active .bug-report-submit,
body.retro-mode-active.retro-2010-active .discord-join-button,
body.retro-mode-active.retro-2010-active .donate-modal-link,
body.retro-mode-active.retro-2010-active .achievement-login-button {
  color: #342016;
  background: var(--retro-2010-gold);
  box-shadow: 0 4px 0 #b85a0b;
}

body.retro-mode-active.retro-2010-active .retro-achievements-modal .achievement-year-tabs {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 4px;
  background: #342117;
}

body.retro-mode-active.retro-2010-active .retro-achievements-modal .achievement-year-tabs button {
  min-width: 0;
  color: var(--retro-2010-muted);
  background: #43271c;
}

body.retro-mode-active.retro-2010-active .retro-achievements-modal .achievement-year-tabs button[aria-selected="true"] {
  color: #342016;
  background: var(--retro-2010-gold);
}

body.retro-mode-active.retro-2010-active .retro-achievements-modal .achievement-progress-track {
  background: #342117;
}

body.retro-mode-active.retro-2010-active .retro-achievements-modal .achievement-country.is-complete {
  background: #773518;
  box-shadow: inset 4px 0 var(--retro-2010-gold);
}

body.retro-mode-active.retro-2010-active #mainContent .go-to-top {
  border-color: rgba(255, 211, 79, 0.45);
  color: var(--retro-2010-cream);
  background: #653019;
  box-shadow: 0 4px 0 #3e2115;
}

@media (hover: hover) and (pointer: fine) {
  .retro-2018-active #mainContent .standard-tactic-buttons button:hover:not(:disabled):not(.active) {
    color: var(--retro-2018-cream);
    background: #8c1820;
  }

  .retro-2010-active #mainContent .standard-tactic-buttons button:hover:not(:disabled):not(.active) {
    color: var(--retro-2010-cream);
    background: #8b3b15;
  }

  .retro-2010-active .retro-screen-back:hover,
  .retro-2010-active .retro-screen-restart:hover,
  .retro-2010-active .retro-screen-action:hover,
  .retro-2010-active .retro-back-to-modes:hover {
    color: #342016;
    background: var(--retro-2010-gold);
  }

  .retro-2010-active #mainContent button:hover {
    filter: brightness(1.06);
  }

  body.retro-mode-active.retro-2010-active .modal .icon-button:hover,
  body.retro-mode-active.retro-2010-active .retro-achievements-close:hover,
  body.retro-mode-active.retro-2010-active .achievement-unlock-close:hover,
  body.retro-mode-active.retro-2010-active .confirm-modal .secondary-button:hover,
  body.retro-mode-active.retro-2010-active .snapshot-actions .secondary-button:hover,
  body.retro-mode-active.retro-2010-active #mainContent .go-to-top:hover {
    color: #342016;
    background: var(--retro-2010-gold);
  }

  body.retro-mode-active.retro-2010-active .snapshot-actions .primary-button:hover,
  body.retro-mode-active.retro-2010-active #saveSnapshotButton:hover,
  body.retro-mode-active.retro-2010-active .bug-report-submit:hover,
  body.retro-mode-active.retro-2010-active .achievement-login-button:hover {
    background: #ffe083;
  }

  body.retro-mode-active.retro-2010-active .retro-achievements-modal .achievement-year-tabs button:not([aria-selected="true"]):hover {
    color: var(--retro-2010-cream);
    background: #653019;
  }
}

.retro-2010-active button {
  transition: transform 150ms cubic-bezier(0.23, 1, 0.32, 1), filter 160ms ease, background-color 160ms ease;
}

.retro-2010-active button:active {
  transform: scale(0.97);
}

@media (max-width: 900px) {
  body.retro-mode-active.retro-2010-active {
    background-image: url("./assets/retro-2010/south-africa-sunburst-portrait.webp");
    background-position: center top;
    background-size: cover;
  }

  .retro-2010-active .retro-tournament-screen {
    background: rgba(81, 35, 12, 0.2);
  }
}

@media (min-width: 701px) and (max-width: 900px) {
  .retro-2010-active #mainContent .stage-round {
    font-size: 14px;
    white-space: nowrap;
  }
}

@media (max-width: 700px) {
  body.retro-mode-active.retro-2010-active {
    background-attachment: scroll;
  }

  .retro-2010-active .retro-tournament-main {
    width: calc(100% - 24px);
  }

  .retro-2010-active #mainContent .match-stage,
  .retro-2010-active #mainContent .round-board,
  .retro-2010-active #mainContent .panel,
  .retro-2010-active #mainContent .match-analysis {
    box-shadow: 5px 5px 0 rgba(112, 44, 9, 0.4);
  }

  .retro-2010-active .retro-squad-groups {
    grid-template-columns: 1fr;
    gap: 16px;
    padding: 18px;
  }

  .retro-2010-active #mainContent .team h2.team-name,
  .retro-2010-active #mainContent .team h2.team-name.is-long {
    overflow: visible;
    font-size: 15px;
    line-height: 1.15;
    white-space: normal;
  }

  .retro-2010-active #mainContent .team-name > span,
  .retro-2010-active #mainContent .team-name.is-overflowing > span {
    width: auto;
    min-width: 0;
    overflow: visible;
    text-align: center;
    overflow-wrap: anywhere;
    animation: none;
    transform: none;
  }
}

/* Retro mobile match panels mirror the standard simulator's two-column rail. */
@media (max-width: 700px) {
  body.retro-mode-active #mainContent.content {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-areas:
      "stage stage"
      "next next"
      "boot boot"
      "board board";
    gap: 10px;
  }

  body.retro-mode-active #mainContent .insight-right {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    width: 100%;
    max-width: 100%;
  }

  body.retro-mode-active #mainContent .insight-right .standard-match-tactics {
    grid-column: 1;
    order: 1;
  }

  body.retro-mode-active #mainContent .insight-right .match-analysis {
    grid-column: 2;
    order: 2;
  }

  body.retro-mode-active #mainContent .insight-right .standard-match-tactics,
  body.retro-mode-active #mainContent .insight-right .match-analysis {
    width: 100%;
    min-width: 0;
    margin: 0;
  }

  body.retro-mode-active #mainContent:has(.insight-right.tactics-hidden) {
    grid-template-areas:
      "stage stage"
      "next boot"
      "board board";
  }

  body.retro-mode-active #mainContent .insight-right.tactics-hidden {
    grid-template-columns: minmax(0, 1fr);
  }

  body.retro-mode-active #mainContent .insight-right.tactics-hidden .match-analysis {
    grid-column: 1;
  }

  body.retro-mode-active #mainContent:has(.insight-right.tactics-hidden) .insight-left,
  body.retro-mode-active #mainContent:has(.insight-right.tactics-hidden) .insight-right {
    min-width: 0;
  }

  body.retro-mode-active #mainContent .match-stats-grid {
    min-width: 0;
    padding-inline: 7px;
  }

  body.retro-mode-active #mainContent .match-stat-row {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr) minmax(0, 1fr);
    gap: 3px;
    min-width: 0;
    font-size: 8px;
  }

  body.retro-mode-active #mainContent .match-stat-row > * {
    min-width: 0;
    overflow-wrap: anywhere;
  }

  body.retro-mode-active #mainContent .match-stat-row.match-stats-empty {
    grid-template-columns: minmax(0, 1fr);
  }

  body.retro-mode-active #mainContent .match-stat-row.match-stats-empty span {
    grid-column: 1;
    overflow-wrap: normal;
  }

  body.retro-mode-active #mainContent .match-stat-row b {
    font-size: 9px;
  }

  body.retro-mode-active #mainContent:has(.insight-right.tactics-hidden) .retro-live-table-head,
  body.retro-mode-active #mainContent:has(.insight-right.tactics-hidden) .retro-live-table-row {
    grid-template-columns: minmax(0, 1fr) 18px 21px 21px;
    gap: 2px;
    padding-inline: 6px;
  }

  body.retro-mode-active #mainContent:has(.insight-right.tactics-hidden) .retro-live-table-row > span {
    gap: 3px;
  }

  body.retro-mode-active #mainContent:has(.insight-right.tactics-hidden) .retro-live-table-row > span > em {
    width: 9px;
    flex-basis: 9px;
    font-size: 8px;
  }

  body.retro-mode-active #mainContent:has(.insight-right.tactics-hidden) .retro-live-table-flag,
  body.retro-mode-active #mainContent:has(.insight-right.tactics-hidden) .retro-live-table-flag img {
    width: 18px;
    height: 12px;
    flex-basis: 18px;
  }

  body.retro-mode-active #mainContent:has(.insight-right.tactics-hidden) .retro-live-table-row strong,
  body.retro-mode-active #mainContent:has(.insight-right.tactics-hidden) .retro-live-table-head,
  body.retro-mode-active #mainContent:has(.insight-right.tactics-hidden) .retro-live-table-head b,
  body.retro-mode-active #mainContent:has(.insight-right.tactics-hidden) .retro-live-table-row > b {
    font-size: 7px;
  }

  body.retro-mode-active #mainContent:has(.insight-right.tactics-hidden) .golden-boot-row {
    grid-template-columns: 17px minmax(0, 1fr) 20px;
    gap: 4px;
    min-height: 52px;
    padding: 8px 6px;
  }

  body.retro-mode-active #mainContent:has(.insight-right.tactics-hidden) .golden-boot-player strong {
    font-size: 9px;
  }

  body.retro-mode-active #mainContent:has(.insight-right.tactics-hidden) .golden-boot-player small {
    gap: 3px;
    font-size: 7px;
  }

  body.retro-mode-active #mainContent:has(.insight-right.tactics-hidden) .golden-boot-row > b {
    font-size: 13px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .retro-2010-active button {
    transition: color 120ms ease, background-color 120ms ease;
  }

  .retro-2010-active button:active {
    transform: none;
  }
}

/* Qatar 2022 Retro edition: original burgundy architectural treatment. */
html.route-retro-2022-loading body {
  background: #16070d url("./assets/retro-2022/qatar-night-landscape.png") center / cover fixed no-repeat;
}

body.retro-mode-active.retro-2022-active {
  --q22-ink: #13070c;
  --q22-ink-soft: #1e0a12;
  --q22-panel: rgba(27, 8, 16, 0.94);
  --q22-panel-soft: rgba(52, 12, 29, 0.9);
  --q22-wine: #77153b;
  --q22-wine-bright: #98204d;
  --q22-line: #70404f;
  --q22-line-soft: rgba(201, 169, 106, 0.28);
  --q22-cream: #f4ead8;
  --q22-white: #fffdfa;
  --q22-gold: #c9a96a;
  --q22-gold-soft: #e0c995;
  --q22-turquoise: #54c2b0;
  --q22-coral: #d66069;
  color: var(--q22-cream);
  background: #16070d url("./assets/retro-2022/qatar-night-landscape.png") center top / cover fixed no-repeat;
  scrollbar-color: var(--q22-gold) var(--q22-ink);
}

body.retro-mode-active.retro-2022-active,
.retro-2022-active .retro-tournament-screen,
.retro-2022-active #mainContent {
  font-family: "Manrope", system-ui, sans-serif;
}

.retro-2022-active * {
  scrollbar-color: var(--q22-gold) var(--q22-ink);
}

.retro-2022-active *::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}

.retro-2022-active *::-webkit-scrollbar-track {
  background: var(--q22-ink);
}

.retro-2022-active *::-webkit-scrollbar-thumb {
  border: 2px solid var(--q22-ink);
  border-radius: 0;
  background: var(--q22-gold);
}

.retro-2022-active .retro-tournament-screen {
  min-height: 100vh;
  color: var(--q22-cream);
  background: rgba(13, 3, 8, 0.34);
}

.retro-2022-active .retro-screen-header {
  border: 0;
  border-bottom: 1px solid var(--q22-line-soft);
  color: var(--q22-cream);
  background: rgba(15, 4, 9, 0.94);
  box-shadow: 0 14px 36px rgba(5, 0, 3, 0.28);
  backdrop-filter: blur(16px);
}

.retro-2022-active .retro-screen-brand .brand-mark {
  border: 1px solid var(--q22-gold);
  border-radius: 2px;
  color: var(--q22-ink);
  background: var(--q22-cream);
  box-shadow: none;
}

.retro-2022-active .retro-screen-restart,
.retro-2022-active .retro-screen-action,
.retro-2022-active .retro-back-to-modes {
  border: 1px solid transparent;
  border-radius: 2px;
  color: var(--q22-cream);
  background: transparent;
  box-shadow: none;
}

.retro-2022-active .retro-screen-restart:hover,
.retro-2022-active .retro-screen-action:hover,
.retro-2022-active .retro-back-to-modes:hover {
  border-color: var(--q22-gold);
  color: var(--q22-ink);
  background: var(--q22-gold-soft);
  transform: none;
}

.retro-2022-active #retroDonateButton {
  border-color: var(--q22-line);
  color: var(--q22-gold-soft);
  background: rgba(119, 21, 59, 0.26);
}

.retro-2022-active .retro-tournament-main {
  width: min(1540px, calc(100% - 42px));
}

.retro-2022-active .retro-tournament-heading {
  border-bottom: 1px solid var(--q22-line-soft);
  padding-bottom: 22px;
}

.retro-2022-active .retro-tournament-heading > div:first-child > span,
.retro-2022-active .retro-tournament-progress span {
  color: var(--q22-gold);
  font-family: "DM Mono", monospace;
  letter-spacing: 0;
}

.retro-2022-active .retro-tournament-heading h1,
.retro-2022-active .retro-tournament-progress strong {
  color: var(--q22-white);
  font-family: "Arial Narrow", "Manrope", sans-serif;
  font-stretch: condensed;
  letter-spacing: 0;
  text-shadow: 0 2px 18px rgba(0, 0, 0, 0.38);
}

.retro-2022-active .retro-view-tabs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  padding: 0;
  border: 1px solid var(--q22-line);
  border-radius: 0;
  background: rgba(17, 5, 10, 0.9);
  box-shadow: none;
}

.retro-2022-active .retro-view-tabs::before {
  display: none;
}

.retro-2022-active .retro-view-tabs button {
  min-height: 54px;
  border: 0;
  border-right: 1px solid var(--q22-line);
  border-radius: 0;
  color: #c9b9b3;
  background: transparent;
  font-weight: 800;
}

.retro-2022-active .retro-view-tabs button:last-child {
  border-right: 0;
}

.retro-2022-active .retro-view-tabs button:hover {
  color: var(--q22-white);
  background: rgba(119, 21, 59, 0.52);
}

.retro-2022-active .retro-view-tabs button.active {
  color: var(--q22-ink);
  background: var(--q22-cream);
  box-shadow: inset 0 -4px var(--q22-gold);
}

.retro-2022-active #mainContent {
  color: var(--q22-cream);
}

.retro-2022-active #mainContent .match-stage,
.retro-2022-active #mainContent .round-board,
.retro-2022-active #mainContent .panel,
.retro-2022-active #mainContent .match-analysis,
.retro-2022-active #mainContent .standard-match-tactics,
.retro-2022-active #mainContent .story-card,
.retro-2022-active .retro-group-table,
.retro-2022-active .retro-squad-view,
.retro-2022-active .retro-lineups-view,
.retro-2022-active .retro-match-lineups-panel,
.retro-2022-active .retro-lineup-side,
.retro-2022-active .retro-squad-position-group {
  border: 1px solid var(--q22-line);
  border-radius: 3px;
  color: var(--q22-cream);
  background: var(--q22-panel) !important;
  box-shadow: 10px 12px 0 rgba(16, 3, 8, 0.46);
}

.retro-2022-active #mainContent .match-stage::before,
.retro-2022-active #mainContent .round-board::before,
.retro-2022-active #mainContent .match-analysis::before {
  height: 2px;
  border-radius: 0;
  background: var(--q22-gold);
}

.retro-2022-active #mainContent .stage-round,
.retro-2022-active #mainContent .panel-heading h2,
.retro-2022-active #mainContent .panel-heading span,
.retro-2022-active #mainContent .match-analysis-heading,
.retro-2022-active #mainContent .section-heading h2,
.retro-2022-active #mainContent .live-clock,
.retro-2022-active #mainContent .event-live-clock strong {
  color: var(--q22-gold-soft);
  font-family: "DM Mono", monospace;
  letter-spacing: 0;
}

.retro-2022-active #mainContent .team-name,
.retro-2022-active #mainContent .match-score,
.retro-2022-active #mainContent .score-separator,
.retro-2022-active #mainContent .champion-stage h2,
.retro-2022-active #mainContent .golden-boot-player strong,
.retro-2022-active #mainContent .match-analysis-heading strong,
.retro-2022-active #mainContent .match-stat-row b {
  color: var(--q22-white);
  letter-spacing: 0;
}

.retro-2022-active #mainContent .primary-button,
.retro-2022-active #mainContent .play-button,
.retro-2022-active #mainContent .secondary-button,
.retro-2022-active #mainContent .live-control,
.retro-2022-active #mainContent .standard-tactic-buttons button.active,
.retro-2022-active #mainContent .snapshot-trigger {
  border: 1px solid var(--q22-gold);
  border-radius: 2px;
  color: var(--q22-white);
  background: var(--q22-wine);
  box-shadow: none;
}

.retro-2022-active #mainContent .primary-button:hover,
.retro-2022-active #mainContent .play-button:hover,
.retro-2022-active #mainContent .secondary-button:hover,
.retro-2022-active #mainContent .live-control:hover,
.retro-2022-active #mainContent .snapshot-trigger:hover {
  color: var(--q22-ink);
  background: var(--q22-gold-soft);
  transform: none;
}

.retro-2022-active #mainContent .standard-tactic-buttons {
  gap: 0;
  border: 1px solid var(--q22-line);
  border-radius: 2px;
  background: rgba(13, 4, 8, 0.7);
}

.retro-2022-active #mainContent .standard-tactic-buttons button {
  border: 0;
  border-bottom: 1px solid var(--q22-line-soft);
  border-radius: 0;
  color: #c9b9b3;
  background: transparent;
}

.retro-2022-active #mainContent .standard-tactic-buttons button:last-child {
  border-bottom: 0;
}

.retro-2022-active #mainContent .standard-tactic-buttons button:hover:not(:disabled):not(.active) {
  color: var(--q22-white);
  background: rgba(119, 21, 59, 0.62);
}

.retro-2022-active #mainContent .standard-tactic-buttons button.active {
  color: var(--q22-ink);
  background: var(--q22-gold-soft);
  box-shadow: inset 4px 0 var(--q22-wine);
}

.retro-2022-active #mainContent .text-button,
.retro-2022-active #mainContent .history-round-button,
.retro-2022-active #mainContent #newerRoundButton,
.retro-2022-active #mainContent .team-filter-chip,
.retro-2022-active #mainContent .team-filter-search {
  border: 1px solid var(--q22-line);
  border-radius: 2px;
  color: var(--q22-cream);
  background: rgba(28, 7, 15, 0.92);
  box-shadow: none;
}

.retro-2022-active #mainContent .text-button:hover,
.retro-2022-active #mainContent .history-round-button:hover,
.retro-2022-active #mainContent #newerRoundButton:hover,
.retro-2022-active #mainContent .team-filter-chip:hover,
.retro-2022-active #mainContent .team-filter-search:hover {
  border-color: var(--q22-gold);
  color: var(--q22-white);
  background: var(--q22-wine);
}

.retro-2022-active #mainContent .fixture {
  border: 1px solid var(--q22-line);
  border-radius: 2px;
  color: var(--q22-cream);
  background: rgba(32, 8, 17, 0.94);
  box-shadow: none;
}

.retro-2022-active #mainContent .fixture:nth-child(even) {
  background: rgba(52, 12, 29, 0.92);
}

.retro-2022-active #mainContent .fixture:hover,
.retro-2022-active #mainContent .fixture.selected {
  border-color: var(--q22-gold);
  background: rgba(119, 21, 59, 0.94);
  box-shadow: inset 5px 0 var(--q22-gold);
  transform: none;
}

.retro-2022-active #mainContent .fixture-card-head,
.retro-2022-active #mainContent .fixture-team .name,
.retro-2022-active #mainContent .retro-fixture-details,
.retro-2022-active #mainContent .match-stat-row,
.retro-2022-active #mainContent .golden-boot-player,
.retro-2022-active .retro-table-row {
  color: var(--q22-cream);
}

.retro-2022-active #mainContent .fixture-card-head,
.retro-2022-active #mainContent .retro-fixture-details,
.retro-2022-active #mainContent .match-stats-grid span,
.retro-2022-active #mainContent .golden-boot-player small,
.retro-2022-active #mainContent .plot-list p,
.retro-2022-active #mainContent .story-card p,
.retro-2022-active .retro-squad-row small {
  color: #c3aaa7;
}

.retro-2022-active #mainContent .bracket-heads,
.retro-2022-active .retro-table-head,
.retro-2022-active .retro-table-head b {
  color: var(--q22-gold);
}

.retro-2022-active #mainContent .bracket-connector::before,
.retro-2022-active #mainContent .bracket-connector::after,
.retro-2022-active #mainContent .bracket-fixture[data-connects="true"]::after {
  border-color: rgba(201, 169, 106, 0.58);
  background: transparent;
}

.retro-2022-active #mainContent .country-flag,
.retro-2022-active .retro-table-flag,
.retro-2022-active .retro-squad-flag,
.retro-2022-active .retro-lineup-flag,
.retro-2022-active .golden-boot-flag {
  overflow: hidden;
  border: 0;
  border-radius: 2px;
  background: transparent;
  box-shadow: none;
}

.retro-2022-active #mainContent .match-commentary-feed {
  border: 1px solid var(--q22-line);
  border-radius: 2px;
  color: var(--q22-cream);
  background: rgba(12, 3, 7, 0.94);
}

.retro-2022-active #mainContent .match-commentary-feed .commentary-line {
  border-color: var(--q22-line-soft);
}

.retro-2022-active #mainContent .match-commentary-feed .commentary-line span,
.retro-2022-active #mainContent .match-commentary-feed.is-major .commentary-line span {
  color: var(--q22-cream);
}

.retro-2022-active #mainContent .match-2d-pitch,
.retro-2022-active #mainContent .match-penalty-scene,
.retro-2022-active #mainContent .standard-penalty-scene {
  border: 1px solid var(--q22-gold);
  border-radius: 2px;
  background:
    linear-gradient(180deg, rgba(15, 4, 9, 0.08), rgba(15, 4, 9, 0.52)),
    repeating-linear-gradient(90deg, rgba(244, 234, 216, 0.03) 0 42px, transparent 42px 84px),
    #1e0d16;
  box-shadow: inset 0 0 0 1px rgba(244, 234, 216, 0.18);
}

.retro-2022-active #mainContent .match-2d-pitch::before,
.retro-2022-active #mainContent .match-2d-halfway,
.retro-2022-active #mainContent .match-2d-circle,
.retro-2022-active #mainContent .match-2d-box {
  border-color: rgba(244, 234, 216, 0.72);
}

.retro-2022-active #mainContent .match-highlight-mode {
  border: 1px solid var(--q22-line);
  border-radius: 2px;
  background: var(--q22-ink);
}

.retro-2022-active #mainContent .match-highlight-mode button {
  border-radius: 0;
  color: #c3aaa7;
  background: transparent;
}

.retro-2022-active #mainContent .match-highlight-mode button[aria-pressed="true"] {
  color: var(--q22-ink);
  background: var(--q22-gold-soft);
}

.retro-2022-active #mainContent .golden-boot-panel {
  border-color: var(--q22-gold);
  background: rgba(25, 6, 14, 0.96);
}

.retro-2022-active #mainContent .golden-boot-panel .panel-heading {
  border-bottom: 1px solid var(--q22-gold);
  color: var(--q22-gold);
  background: #4a0d27;
}

.retro-2022-active #mainContent .golden-boot-row {
  border-color: var(--q22-line-soft);
  color: var(--q22-cream);
  background: rgba(31, 8, 17, 0.96);
}

.retro-2022-active #mainContent .golden-boot-row:nth-child(even) {
  background: rgba(62, 14, 34, 0.88);
}

.retro-2022-active #mainContent .golden-boot-rank,
.retro-2022-active #mainContent .golden-boot-row > b,
.retro-2022-active #mainContent .penalty-stage-head strong i,
.retro-2022-active #mainContent .match-penalty-decision strong,
.retro-2022-active #mainContent .penalty-mark.goal {
  color: var(--q22-gold);
}

.retro-2022-active #mainContent .match-analysis-heading,
.retro-2022-active #mainContent .panel-heading,
.retro-2022-active #mainContent .standard-match-tactics > span {
  border-color: var(--q22-line);
  background: rgba(62, 14, 34, 0.82);
}

.retro-2022-active #mainContent .match-stat-row {
  border-color: var(--q22-line-soft);
}

.retro-2022-active .retro-group-table h2,
.retro-2022-active .retro-lineups-heading h2,
.retro-2022-active .retro-squad-heading strong,
.retro-2022-active .retro-squad-position-group > h2,
.retro-2022-active .retro-lineup-side header {
  color: var(--q22-gold-soft);
}

.retro-2022-active .retro-table-head,
.retro-2022-active .retro-squad-heading,
.retro-2022-active .retro-squad-position-group > h2,
.retro-2022-active .retro-lineup-side header {
  border-color: var(--q22-line);
  background: #4a0d27;
}

.retro-2022-active .retro-table-row,
.retro-2022-active .retro-squad-row,
.retro-2022-active .retro-lineup-side li {
  border-color: var(--q22-line-soft);
  color: var(--q22-cream);
  background: rgba(31, 8, 17, 0.94);
}

.retro-2022-active .retro-table-row:nth-child(even),
.retro-2022-active .retro-squad-row:nth-child(even),
.retro-2022-active .retro-lineup-side li:nth-child(even) {
  background: rgba(62, 14, 34, 0.82);
}

.retro-2022-active .retro-table-row.is-qualified,
.retro-2022-active .retro-table-row.qualified {
  box-shadow: inset 4px 0 var(--q22-turquoise);
}

.retro-2022-active .retro-squad-heading select,
.retro-2022-active #mainContent input,
.retro-2022-active #mainContent select {
  border: 1px solid var(--q22-line);
  border-radius: 2px;
  color: var(--q22-cream);
  background: var(--q22-ink);
}

.retro-2022-active .retro-squad-heading select:focus,
.retro-2022-active #mainContent input:focus,
.retro-2022-active #mainContent select:focus {
  border-color: var(--q22-gold);
  outline: 2px solid rgba(201, 169, 106, 0.25);
}

.retro-2022-active .retro-squad-number {
  color: var(--q22-gold);
}

.retro-2022-active #mainContent .penalty-stage,
.retro-2022-active #mainContent .match-penalty-overlay {
  border: 1px solid var(--q22-gold);
  border-radius: 3px;
  color: var(--q22-cream);
  background: rgba(20, 5, 11, 0.98);
}

.retro-2022-active #mainContent .match-penalty-targets button,
.retro-2022-active #mainContent .standard-penalty-targets button {
  width: 32px;
  height: 32px;
  border: 1px solid rgba(244, 234, 216, 0.72);
  border-radius: 50%;
  background: rgba(84, 194, 176, 0.08);
}

.retro-2022-active #mainContent .match-penalty-targets button:hover,
.retro-2022-active #mainContent .standard-penalty-targets button:hover {
  border-color: var(--q22-gold);
  background: rgba(201, 169, 106, 0.32);
}

.retro-2022-active #mainContent .penalty-mark {
  border-color: var(--q22-line);
  background: var(--q22-ink);
}

.retro-2022-active #mainContent .penalty-mark.goal {
  border-color: var(--q22-turquoise);
  color: var(--q22-turquoise);
  background: var(--q22-turquoise);
  box-shadow: 0 0 0 3px rgba(84, 194, 176, 0.16);
}

.retro-2022-active #mainContent .penalty-mark.miss {
  border-color: var(--q22-coral);
  color: var(--q22-coral);
}

.retro-2022-active #mainContent .champion-stage {
  border: 1px solid var(--q22-gold);
  border-radius: 3px;
  color: var(--q22-cream);
  background: rgba(23, 5, 13, 0.95);
  box-shadow: 12px 14px 0 rgba(11, 2, 6, 0.54);
}

.retro-2022-active #mainContent .champion-stage .trophy,
.retro-2022-active #mainContent .champion-stage p,
.retro-2022-active #mainContent .champion-award-copy > span,
.retro-2022-active #mainContent .champion-award-copy small,
.retro-2022-active #mainContent .champion-award-copy small b {
  color: var(--q22-gold-soft);
}

.retro-2022-active #mainContent .champion-award {
  border: 1px solid var(--q22-gold);
  border-radius: 2px;
  color: var(--q22-cream);
  background: #3f0c23;
}

.retro-2022-active #mainContent .champion-award-mark {
  color: var(--q22-turquoise);
  background: rgba(84, 194, 176, 0.12);
}

.retro-2022-active #mainContent .champion-section-label,
.retro-2022-active #mainContent .champion-place > b {
  color: var(--q22-gold-soft);
}

.retro-2022-active #mainContent .champion-place {
  border: 1px solid var(--q22-gold);
  border-radius: 2px;
  color: var(--q22-cream);
  background: #3f0c23;
}

.retro-2022-active #mainContent .champion-place.place-1 {
  border-color: var(--q22-gold);
  background: var(--q22-wine);
  box-shadow: none;
}

.retro-2022-active #mainContent .champion-place strong {
  color: var(--q22-white);
}

.retro-2022-active #mainContent .champion-place small {
  color: var(--q22-gold-soft);
}

body.retro-mode-active.retro-2022-active .modal,
body.retro-mode-active.retro-2022-active .confirm-modal,
body.retro-mode-active.retro-2022-active .snapshot-modal,
body.retro-mode-active.retro-2022-active .retro-achievements-modal,
body.retro-mode-active.retro-2022-active .achievement-unlock-modal {
  border: 1px solid var(--q22-gold);
  border-top: 5px solid var(--q22-gold-soft);
  border-radius: 3px;
  color: var(--q22-cream);
  background: linear-gradient(145deg, rgba(67, 12, 39, 0.99), rgba(24, 6, 13, 0.99));
  box-shadow: 14px 16px 0 rgba(11, 2, 6, 0.58), inset 0 1px rgba(255, 255, 255, 0.05);
}

body.retro-mode-active.retro-2022-active .modal::backdrop,
body.retro-mode-active.retro-2022-active .confirm-modal::backdrop,
body.retro-mode-active.retro-2022-active .snapshot-modal::backdrop,
body.retro-mode-active.retro-2022-active .retro-achievements-modal::backdrop,
body.retro-mode-active.retro-2022-active .achievement-unlock-modal::backdrop {
  background: rgba(5, 1, 3, 0.82);
  backdrop-filter: blur(8px);
}

body.retro-mode-active.retro-2022-active .modal h2,
body.retro-mode-active.retro-2022-active .confirm-modal h2,
body.retro-mode-active.retro-2022-active .snapshot-modal h2,
body.retro-mode-active.retro-2022-active .retro-achievements-modal h2 {
  color: var(--q22-white);
  letter-spacing: 0;
}

body.retro-mode-active.retro-2022-active .achievement-unlock-modal h2 {
  color: var(--q22-white);
  letter-spacing: 0;
}

body.retro-mode-active.retro-2022-active .modal p,
body.retro-mode-active.retro-2022-active .confirm-modal p,
body.retro-mode-active.retro-2022-active .snapshot-modal p,
body.retro-mode-active.retro-2022-active .retro-achievements-modal p {
  color: #c9b9b3;
}

body.retro-mode-active.retro-2022-active .achievement-unlock-modal p {
  color: #d4c2bb;
}

body.retro-mode-active.retro-2022-active .achievement-unlock-kicker {
  color: var(--q22-gold-soft);
}

body.retro-mode-active.retro-2022-active .achievement-unlock-mark {
  border: 1px solid var(--q22-gold);
  color: var(--q22-ink);
  background: var(--q22-turquoise);
  box-shadow: 0 5px 0 rgba(11, 2, 6, 0.52);
}

body.retro-mode-active.retro-2022-active .achievement-unlock-close {
  border: 1px solid var(--q22-line);
  border-radius: 2px;
  color: var(--q22-cream);
  background: var(--q22-ink);
}

body.retro-mode-active.retro-2022-active .achievement-unlock-close:hover {
  border-color: var(--q22-gold);
  color: var(--q22-ink);
  background: var(--q22-gold-soft);
}

body.retro-mode-active.retro-2022-active .modal .icon-button,
body.retro-mode-active.retro-2022-active .retro-achievements-close,
body.retro-mode-active.retro-2022-active .confirm-modal .secondary-button {
  border: 1px solid var(--q22-line);
  border-radius: 2px;
  color: var(--q22-cream);
  background: var(--q22-ink);
}

body.retro-mode-active.retro-2022-active .modal .icon-button:hover,
body.retro-mode-active.retro-2022-active .retro-achievements-close:hover,
body.retro-mode-active.retro-2022-active .confirm-modal .secondary-button:hover {
  border-color: var(--q22-gold);
  color: var(--q22-ink);
  background: var(--q22-gold-soft);
}

body.retro-mode-active.retro-2022-active .modal .primary-button,
body.retro-mode-active.retro-2022-active .confirm-modal .primary-button,
body.retro-mode-active.retro-2022-active .confirm-modal .danger-button,
body.retro-mode-active.retro-2022-active .snapshot-actions button,
body.retro-mode-active.retro-2022-active .achievement-unlock-action {
  border: 1px solid var(--q22-gold);
  border-radius: 2px;
  color: var(--q22-white);
  background: var(--q22-wine);
  box-shadow: none;
}

body.retro-mode-active.retro-2022-active .modal .primary-button:hover,
body.retro-mode-active.retro-2022-active .confirm-modal .primary-button:hover,
body.retro-mode-active.retro-2022-active .confirm-modal .danger-button:hover,
body.retro-mode-active.retro-2022-active .snapshot-actions button:hover,
body.retro-mode-active.retro-2022-active .achievement-unlock-action:hover {
  color: var(--q22-ink);
  background: var(--q22-gold-soft);
}

body.retro-mode-active.retro-2022-active .settings-option,
body.retro-mode-active.retro-2022-active .bug-report-message,
body.retro-mode-active.retro-2022-active .settings-keybind-list,
body.retro-mode-active.retro-2022-active .snapshot-preview {
  border: 1px solid var(--q22-line);
  border-radius: 2px;
  color: var(--q22-cream);
  background: rgba(17, 4, 9, 0.92);
}

body.retro-mode-active.retro-2022-active .settings-option:hover {
  border-color: var(--q22-gold);
  background: rgba(119, 21, 59, 0.42);
}

body.retro-mode-active.retro-2022-active .settings-switch {
  border-color: var(--q22-line);
  background: var(--q22-ink);
}

body.retro-mode-active.retro-2022-active .settings-option[aria-pressed="true"] .settings-switch {
  border-color: var(--q22-gold);
  background: var(--q22-wine);
}

body.retro-mode-active.retro-2022-active .retro-achievements-modal .achievement-year-tabs {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0;
  border: 1px solid var(--q22-line);
  border-radius: 0;
  background: var(--q22-ink);
}

body.retro-mode-active.retro-2022-active .retro-achievements-modal .achievement-year-tabs button {
  min-width: 0;
  border: 0;
  border-right: 1px solid var(--q22-line);
  border-radius: 0;
  color: #c3aaa7;
  background: transparent;
}

body.retro-mode-active.retro-2022-active .retro-achievements-modal .achievement-year-tabs button:last-child {
  border-right: 0;
}

body.retro-mode-active.retro-2022-active .retro-achievements-modal .achievement-year-tabs button:hover {
  color: var(--q22-white);
  background: rgba(119, 21, 59, 0.54);
}

body.retro-mode-active.retro-2022-active .retro-achievements-modal .achievement-year-tabs button[aria-selected="true"] {
  color: var(--q22-ink);
  background: var(--q22-gold-soft);
  box-shadow: inset 0 -4px var(--q22-wine);
}

body.retro-mode-active.retro-2022-active .achievement-progress-track {
  border-radius: 0;
  background: var(--q22-ink);
}

body.retro-mode-active.retro-2022-active .achievement-progress-track span {
  border-radius: 0;
  background: var(--q22-turquoise);
}

body.retro-mode-active.retro-2022-active .achievement-country {
  border: 1px solid var(--q22-line);
  border-radius: 2px;
  color: var(--q22-cream);
  background: rgba(38, 9, 20, 0.92);
}

body.retro-mode-active.retro-2022-active .achievement-country.is-complete {
  border-color: var(--q22-gold);
  background: var(--q22-wine);
  box-shadow: inset 4px 0 var(--q22-turquoise);
}

body.retro-mode-active.retro-2022-active .achievement-unlock-banner {
  border: 1px solid var(--q22-gold);
  border-radius: 2px;
  color: var(--q22-cream);
  background: var(--q22-wine);
}

body.retro-mode-active.retro-2022-active .achievement-unlock-banner-mark,
body.retro-mode-active.retro-2022-active .achievement-unlock-banner-arrow {
  color: var(--q22-gold-soft);
}

body.retro-mode-active.retro-2022-active .achievement-unlock-banner-mark {
  border: 1px solid var(--q22-gold);
  color: var(--q22-ink);
  background: var(--q22-turquoise);
}

body.retro-mode-active.retro-2022-active .achievement-unlock-banner small {
  color: var(--q22-gold-soft);
}

body.retro-mode-active.retro-2022-active .toast {
  border: 1px solid var(--q22-gold);
  border-radius: 2px;
  color: var(--q22-cream);
  background: var(--q22-ink);
}

@media (max-width: 900px) {
  body.retro-mode-active.retro-2022-active {
    background-image: url("./assets/retro-2022/qatar-night-portrait.png");
    background-position: center top;
    background-size: cover;
    background-attachment: fixed;
  }

  .retro-2022-active .retro-tournament-main {
    width: min(100% - 22px, 760px);
  }

  .retro-2022-active .retro-screen-header {
    background: rgba(15, 4, 9, 0.97);
  }
}

@media (max-width: 520px) {
  .retro-2022-active .retro-view-tabs button {
    min-height: 48px;
  }

  body.retro-mode-active.retro-2022-active .retro-achievements-modal .achievement-year-tabs button {
    min-height: 44px;
    padding-inline: 4px;
    font-size: 12px;
  }

  .retro-2022-active #mainContent .match-stage,
  .retro-2022-active #mainContent .round-board,
  .retro-2022-active #mainContent .panel,
  .retro-2022-active #mainContent .match-analysis,
  .retro-2022-active #mainContent .standard-match-tactics,
  .retro-2022-active .retro-group-table,
  .retro-2022-active .retro-squad-view,
  .retro-2022-active .retro-lineups-view {
    box-shadow: 5px 6px 0 rgba(11, 2, 6, 0.48);
  }
}

@media (prefers-reduced-motion: reduce) {
  .retro-2022-active button {
    transition: color 120ms ease, background-color 120ms ease, border-color 120ms ease;
  }

  .retro-2022-active button:active {
    transform: none;
  }
}

/* 2022 reinforcement: ensure tactical + group controls never inherit 2014 green tones. */
body.retro-mode-active.retro-2022-active .retro-view-tabs {
  border: 1px solid var(--q22-line) !important;
  border-radius: 0 !important;
  background: rgba(17, 5, 10, 0.9) !important;
}

body.retro-mode-active.retro-2022-active .retro-view-tabs button {
  color: #c9b9b3 !important;
  background: transparent !important;
}

body.retro-mode-active.retro-2022-active .retro-view-tabs button:hover:not(.active) {
  color: var(--q22-white) !important;
  background: rgba(119, 21, 59, 0.52) !important;
}

body.retro-mode-active.retro-2022-active .retro-view-tabs button.active {
  color: var(--q22-ink) !important;
  background: var(--q22-cream) !important;
}

body.retro-mode-active.retro-2022-active #mainContent .standard-match-tactics .standard-tactic-buttons,
body.retro-mode-active.retro-2022-active .insight-column .standard-match-tactics .standard-tactic-buttons {
  border: 1px solid var(--q22-line) !important;
  background: rgba(13, 4, 8, 0.7) !important;
}

body.retro-mode-active.retro-2022-active #mainContent .standard-match-tactics .standard-tactic-buttons button,
body.retro-mode-active.retro-2022-active .insight-column .standard-match-tactics .standard-tactic-buttons button {
  color: #c9b9b3 !important;
  background: transparent !important;
}

body.retro-mode-active.retro-2022-active #mainContent .standard-tactic-buttons button.active,
body.retro-mode-active.retro-2022-active .insight-column .standard-match-tactics .standard-tactic-buttons button.active {
  color: var(--q22-ink) !important;
  background: var(--q22-gold-soft) !important;
  box-shadow: inset 4px 0 var(--q22-wine) !important;
}

body.retro-mode-active.retro-2022-active #mainContent .standard-tactic-buttons button:hover:not(:disabled):not(.active),
body.retro-mode-active.retro-2022-active .insight-column .standard-match-tactics .standard-tactic-buttons button:hover:not(:disabled):not(.active) {
  color: var(--q22-white) !important;
  background: rgba(119, 21, 59, 0.62) !important;
}

body.retro-mode-active.retro-2022-active #mainContent .standard-match-tactics,
body.retro-mode-active.retro-2022-active .insight-column .standard-match-tactics {
  background: var(--q22-panel) !important;
  border-color: var(--q22-line) !important;
}

body.retro-mode-active.retro-2022-active #mainContent .standard-match-tactics > span {
  color: var(--q22-white) !important;
}

body.retro-mode-active.retro-2022-active #mainContent .board-actions .history-round-button,
body.retro-mode-active.retro-2022-active #mainContent .board-actions #historyRoundButton,
body.retro-mode-active.retro-2022-active #mainContent .board-actions #newerRoundButton {
  color: var(--q22-cream) !important;
  background: rgba(28, 7, 15, 0.92) !important;
  border: 1px solid var(--q22-line) !important;
}

body.retro-mode-active.retro-2022-active #mainContent .board-actions .history-round-button:hover,
body.retro-mode-active.retro-2022-active #mainContent .board-actions #historyRoundButton:hover,
body.retro-mode-active.retro-2022-active #mainContent .board-actions #newerRoundButton:hover {
  color: var(--q22-white) !important;
  border-color: var(--q22-gold) !important;
  background: var(--q22-wine) !important;
}

body.retro-mode-active.retro-2022-active #mainContent .history-round-button,
body.retro-mode-active.retro-2022-active #newerRoundButton {
  color: var(--q22-cream) !important;
  background: rgba(28, 7, 15, 0.92) !important;
  border: 1px solid var(--q22-line) !important;
}

body.retro-mode-active.retro-2022-active #mainContent .history-round-button:hover,
body.retro-mode-active.retro-2022-active #mainContent #newerRoundButton:hover {
  border-color: var(--q22-gold) !important;
  color: var(--q22-white) !important;
  background: var(--q22-wine) !important;
}

body.retro-mode-active.retro-2022-active #mainContent .team-filter-control,
body.retro-mode-active.retro-2022-active #mainContent .team-filter-search,
body.retro-mode-active.retro-2022-active #mainContent .team-filter-chip,
body.retro-mode-active.retro-2022-active #mainContent .team-filter-check,
body.retro-mode-active.retro-2022-active #mainContent .team-filter-clear,
body.retro-mode-active.retro-2022-active #mainContent .team-filter-flag,
body.retro-mode-active.retro-2022-active #mainContent .team-filter-control .search-result-popover,
body.retro-mode-active.retro-2022-active #mainContent .team-filter-control .search-result {
  border: 1px solid var(--q22-line) !important;
  border-radius: 2px !important;
  color: var(--q22-cream) !important;
  background: rgba(28, 7, 15, 0.92) !important;
  box-shadow: none !important;
}

body.retro-mode-active.retro-2022-active #mainContent .team-filter-control .search,
body.retro-mode-active.retro-2022-active #mainContent .team-filter-search {
  border-color: var(--q22-line) !important;
  color: var(--q22-cream) !important;
  background: rgba(28, 7, 15, 0.92) !important;
  box-shadow: none !important;
}

body.retro-mode-active.retro-2022-active #mainContent .team-filter-control .search:focus-within,
body.retro-mode-active.retro-2022-active #mainContent .team-filter-search:focus-within {
  border-color: var(--q22-gold) !important;
  color: var(--q22-white) !important;
  background: var(--q22-wine) !important;
  box-shadow: 0 0 0 3px rgba(244, 234, 216, 0.14) !important;
}

body.retro-mode-active.retro-2022-active #mainContent .team-filter-control:not(.active) .team-filter-search {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.retro-mode-active.retro-2022-active #mainContent .team-filter-control:focus-within {
  border-color: var(--q22-gold) !important;
  background: var(--q22-wine) !important;
  box-shadow: 0 0 0 3px rgba(244, 234, 216, 0.14) !important;
}

body.retro-mode-active.retro-2022-active #mainContent .team-filter-control .search input,
body.retro-mode-active.retro-2022-active #mainContent .team-filter-search input {
  border: 0 !important;
  border-radius: 0 !important;
  color: var(--q22-cream) !important;
  background: transparent !important;
  outline: 0 !important;
  box-shadow: none !important;
}

body.retro-mode-active.retro-2022-active #mainContent .team-filter-control .search input::placeholder,
body.retro-mode-active.retro-2022-active #mainContent .team-filter-search input::placeholder {
  color: rgba(244, 234, 216, 0.72) !important;
}

body.retro-mode-active.retro-2022-active #mainContent .team-filter-control .search-result {
  border-bottom-color: rgba(244, 234, 216, 0.24) !important;
  color: var(--q22-white) !important;
  background: #2f0d2b !important;
}

body.retro-mode-active.retro-2022-active #mainContent .team-filter-control .search-result small {
  color: var(--q22-cream) !important;
}

body.retro-mode-active.retro-2022-active #mainContent .team-filter-control .search-result:hover {
  color: var(--q22-white) !important;
  background: var(--q22-wine) !important;
}

body.retro-mode-active.retro-2022-active #mainContent .fixture.bracket-fixture,
body.retro-mode-active.retro-2022-active #mainContent .fixture.bracket-fixture.placeholder,
body.retro-mode-active.retro-2022-active #mainContent .fixture.bracket-fixture:hover,
body.retro-mode-active.retro-2022-active #mainContent .fixture.bracket-fixture.selected {
  border-color: var(--q22-line) !important;
  background: rgba(32, 8, 17, 0.94) !important;
  box-shadow: none !important;
}

.retro-2022-active #mainContent .bracket-heads {
  background: #3f0c23;
}

.retro-2022-active #mainContent .bracket-connector::before,
.retro-2022-active #mainContent .bracket-connector::after,
.retro-2022-active #mainContent .bracket-fixture[data-connects="true"]::after {
  border-color: rgba(201, 169, 106, 0.58);
  background: transparent;
}

.retro-2022-active #mainContent .penalty-scene::before {
  border-color: rgba(244, 234, 216, 0.32);
}

.retro-2022-active #mainContent .match-penalty-scene .penalty-goal,
.retro-2022-active #mainContent .standard-penalty-scene .penalty-goal {
  border-color: var(--q22-cream);
  filter: none;
}

.retro-2022-active #mainContent .match-penalty-scene .penalty-net,
.retro-2022-active #mainContent .standard-penalty-scene .penalty-net {
  opacity: 0.24;
  background:
    repeating-linear-gradient(0deg, transparent 0 13px, rgba(244, 234, 216, 0.24) 13px 14px),
    repeating-linear-gradient(90deg, transparent 0 18px, rgba(244, 234, 216, 0.24) 18px 19px);
}

.retro-2022-active #mainContent .match-penalty-scene .penalty-keeper,
.retro-2022-active #mainContent .standard-penalty-scene .penalty-keeper {
  color: var(--q22-gold);
}

.retro-2022-active #mainContent .match-penalty-scene .penalty-taker,
.retro-2022-active #mainContent .standard-penalty-scene .penalty-taker {
  color: var(--q22-cream);
}

.retro-2022-active #mainContent .penalty-stage-head {
  color: var(--q22-gold);
}

.retro-2022-active #mainContent .penalty-stage-head strong {
  color: var(--q22-white);
  text-shadow: none;
}

.retro-2022-active #mainContent .penalty-stage-head strong b.score-pop {
  color: var(--q22-turquoise);
}

.retro-2022-active #mainContent .penalty-call strong {
  color: var(--q22-white);
  text-shadow: none;
}

.retro-2022-active #mainContent .penalty-call span {
  color: var(--q22-gold);
}

.retro-2022-active #mainContent .penalty-ledgers span {
  color: var(--q22-cream);
}

.retro-2022-active #mainContent .match-penalty-scene[data-result="goal"],
.retro-2022-active #mainContent .standard-penalty-scene[data-result="goal"] {
  box-shadow: inset 0 0 0 999px rgba(201, 169, 106, 0.065);
}

.retro-2022-active .retro-match-lineups-panel .retro-lineup-side {
  background: rgba(20, 5, 11, 0.46);
}

.retro-2022-active .retro-match-lineups-panel .retro-lineup-side header,
.retro-2022-active .retro-match-lineups-panel .retro-lineup-side:nth-child(2) header {
  background: #4a0d27;
}
/* Custom tournament builder */
.custom-tournament-screen {
  width: min(1440px, calc(100% - 48px));
  max-width: 100%;
  margin: 0 auto 80px;
  padding: 18px 0 0;
  overflow-x: clip;
}

.custom-tournament-screen[hidden] {
  display: none;
}

.custom-tournament-header {
  display: grid;
  gap: 10px;
  padding: 0 0 12px;
  border-bottom: 1px solid #273448;
}

.custom-tournament-header h1 {
  margin: 5px 0 5px;
  color: #f4f7fb;
  font-size: 42px;
  line-height: 1.05;
}

.custom-tournament-header p:last-child {
  max-width: 720px;
  margin: 0;
  color: #9eacc2;
  line-height: 1.5;
}

.custom-back-button {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 8px;
  min-height: 36px;
  padding: 0 11px;
  border: 1px solid #34445d;
  border-radius: 6px;
  color: #d7dfeb;
  background: #101925;
  font: inherit;
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
}

.custom-header-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.custom-header-copy {
  max-width: 760px;
}

.custom-preset-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.custom-preset-actions button {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 36px;
  padding: 0 12px;
  border: 1px solid #34445d;
  border-radius: 5px;
  color: #c8d3e3;
  background: #101925;
  font: inherit;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
}

.custom-preset-actions button:hover {
  border-color: #79a1ff;
  color: #fff;
  background: #15233a;
}

.custom-header-team-count {
  color: #8d9db3;
  font-size: 11px;
  font-weight: 850;
  white-space: nowrap;
}

.custom-preset-actions .custom-header-start {
  min-width: 176px;
  border-color: transparent;
  color: #08101c;
  background: #79a1ff;
}

.custom-preset-actions .custom-header-start:hover {
  color: #08101c;
  background: #8daeff;
}

.custom-preset-actions .custom-header-start:disabled {
  color: #60718a;
  background: #172130;
  cursor: not-allowed;
}

body.custom-tournament-mode-active:has(#customTournamentScreen:not([hidden])) .topbar {
  display: none;
}

.custom-back-button:hover {
  border-color: #79a1ff;
  color: #fff;
}

.custom-config-bar {
  position: static;
  z-index: 20;
  display: grid;
  grid-template-columns: minmax(340px, 2fr) minmax(220px, 1fr) minmax(220px, 1fr);
  justify-content: space-between;
  align-items: end;
  gap: 18px;
  padding: 18px 0;
  border-bottom: 1px solid #273448;
  background: #090f18;
}

.custom-config-group {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.custom-config-group > span,
.custom-panel-heading span,
.custom-script-pickers label > span,
.custom-score-script label > span,
.custom-winner-select > span {
  color: #8090a8;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.custom-segmented {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(44px, 1fr);
  gap: 3px;
  padding: 3px;
  border: 0;
  border-radius: 6px;
  background: #111a27;
}

.custom-team-count-control {
  width: min(720px, 100%);
}

.custom-third-place-toggle {
  display: flex;
  align-items: center;
  gap: 8px;
  width: max-content;
  min-height: 30px;
  padding: 0;
  border: 0;
  color: #8f9eb4;
  background: transparent;
  font: inherit;
  font-size: 11px;
  font-weight: 850;
  cursor: pointer;
}

.custom-third-place-toggle i {
  position: relative;
  width: 28px;
  height: 16px;
  border-radius: 8px;
  background: #26344a;
  transition: background 140ms ease;
}

.custom-third-place-toggle i::after {
  position: absolute;
  top: 3px;
  left: 3px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #9aabc2;
  content: "";
  transition: transform 140ms ease, background 140ms ease;
}

.custom-third-place-toggle:hover {
  color: #fff;
}

.custom-third-place-toggle.active {
  color: #dfe7f2;
}

.custom-third-place-toggle.active i {
  background: #79a1ff;
}

.custom-third-place-toggle.active i::after {
  background: #08101c;
  transform: translateX(12px);
}

.custom-segmented button,
.custom-builder-tabs button {
  min-height: 38px;
  padding: 0 11px;
  border: 0;
  border-radius: 4px;
  color: #8f9eb4;
  background: transparent;
  font: inherit;
  font-size: 13px;
  font-weight: 850;
  cursor: pointer;
}

.custom-segmented button:hover,
.custom-builder-tabs button:hover {
  color: #fff;
  background: #172338;
}

.custom-segmented button.active,
.custom-builder-tabs button.active {
  color: #08101c;
  background: #79a1ff;
}

.custom-segmented button:disabled,
.custom-segmented button:disabled:hover {
  color: #536178;
  background: transparent;
  cursor: not-allowed;
  opacity: .55;
}

.custom-manager-control select {
  width: 100%;
  min-width: 0;
  height: 46px;
  padding: 0 34px 0 12px;
  border: 0;
  border-radius: 6px;
  outline: 0;
  color: #dfe7f2;
  background: #0d1622;
  font: inherit;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
}

.custom-manager-control select:hover,
.custom-manager-control select:focus {
  border-color: #79a1ff;
}

.custom-manager-control > button {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr) 18px;
  align-items: center;
  gap: 9px;
  min-height: 44px;
  padding: 5px 9px;
  border: 0;
  border-radius: 4px;
  color: #dce5f1;
  background: #172333;
  font: inherit;
  text-align: left;
  cursor: pointer;
}
.custom-manager-control > button:disabled {
  color: #75849a;
  background: #111a27;
  cursor: not-allowed;
  opacity: .7;
}

.custom-manager-control > button span {
  min-width: 0;
}

.custom-manager-control > button strong,
.custom-manager-control > button small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.custom-manager-control > button strong {
  font-size: 11px;
}

.custom-manager-control > button small {
  margin-top: 2px;
  color: #75869f;
  font-size: 8px;
}

.custom-manager-control > button i {
  color: #8ca3c4;
  font-size: 18px;
  font-style: normal;
  text-align: center;
}

.custom-manager-button-flag,
.custom-manager-button-flag img,
.custom-manager-neutral {
  width: 30px;
  height: 21px;
}

.custom-manager-button-flag img {
  object-fit: cover;
}

.custom-manager-neutral {
  display: grid;
  place-items: center;
  color: #b9caf2;
  background: #243650;
  font-size: 10px;
  font-weight: 900;
}

.custom-start-summary {
  display: flex;
  align-items: center;
  gap: 14px;
}

.custom-start-summary > span {
  color: #9eacc2;
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
}

.custom-start-summary .primary-button {
  min-width: 190px;
}

.custom-setup-more {
  grid-column: 1 / -1;
  color: #aab8cb;
}

.custom-setup-more > summary {
  width: fit-content;
  padding: 4px 0;
  color: #8495ad;
  font-size: 11px;
  font-weight: 850;
  cursor: pointer;
}

.custom-setup-more > div {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  max-width: none;
  padding-top: 12px;
}

.custom-builder-tabs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  max-width: 520px;
  margin: 22px 0;
  padding: 0;
  border: 0;
  border-bottom: 1px solid #243247;
  border-radius: 0;
  background: transparent;
}

.custom-builder-tabs button {
  border-radius: 0;
  border-bottom: 3px solid transparent;
}

.custom-builder-tabs button.active {
  color: #fff;
  border-bottom-color: #79a1ff;
  background: transparent;
}

.custom-workspace-panel {
  border-top: 0;
}

.custom-panel-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 22px 0 18px;
}

.custom-draw-toolbar,
.custom-ratings-toolbar {
  display: flex;
  justify-content: flex-end;
  gap: 6px;
  min-height: 40px;
  margin-bottom: 12px;
}

.custom-ratings-toolbar button {
  min-height: 34px;
  padding: 0 12px;
  border: 0;
  border-radius: 4px;
  color: #c2cede;
  background: #172333;
  font: inherit;
  font-size: 11px;
  font-weight: 800;
  cursor: pointer;
}

.custom-ratings-toolbar button:last-child {
  width: 34px;
  padding: 0;
  font-size: 19px;
}

.custom-panel-heading h2 {
  margin: 4px 0 0;
  color: #f3f6fb;
  font-size: 22px;
}

.custom-panel-heading > button,
.custom-inline-actions button,
.custom-goal-script-heading button,
.custom-script-count {
  min-height: 34px;
  padding: 0 11px;
  border: 1px solid #34465f;
  border-radius: 5px;
  color: #cad5e5;
  background: #111c2b;
  font: inherit;
  font-size: 12px;
  font-weight: 800;
}

.custom-panel-heading > button,
.custom-inline-actions button,
.custom-goal-script-heading button {
  cursor: pointer;
}

.custom-panel-heading > button:hover,
.custom-inline-actions button:hover,
.custom-goal-script-heading button:hover {
  border-color: #79a1ff;
  color: #fff;
}

.custom-inline-actions {
  display: flex;
  align-items: end;
  gap: 7px;
}

.custom-inline-actions .custom-randomise-groups {
  border-color: #4d6fa6;
  color: #a9c0fa;
  transition: transform 140ms cubic-bezier(0.23, 1, 0.32, 1);
}

.custom-inline-actions .custom-randomise-groups:active:not(:disabled) {
  transform: scale(0.97);
}

.custom-inline-actions button:disabled {
  color: #65738a;
  border-color: #29364a;
  background: #111925;
  cursor: not-allowed;
  opacity: 0.68;
}

.custom-quick-fill {
  display: grid;
  gap: 4px;
}

.custom-quick-fill > span,
.custom-source-select > span {
  color: #71839d;
  font-size: 9px;
  font-weight: 900;
  text-transform: uppercase;
}

.custom-quick-fill select,
.custom-source-select select {
  min-width: 150px;
  height: 34px;
  padding: 0 28px 0 9px;
  border: 0;
  border-radius: 4px;
  color: #dbe4f0;
  background: #172333;
  font: inherit;
  font-size: 11px;
  font-weight: 800;
}

.custom-source-select {
  display: grid;
  gap: 5px;
  padding: 12px;
  border-bottom: 1px solid #202d40;
}

.custom-source-select select {
  width: 100%;
}

.custom-draw-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 330px;
  gap: 22px;
  align-items: start;
}

.custom-draw-main {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 16px;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
}

.custom-builder-view,
.custom-workspace-panel,
.custom-groups-builder,
.custom-builder-group,
.custom-group-fixture-editor {
  min-width: 0;
  max-width: 100%;
}

.custom-builder-view,
.custom-workspace-panel,
.custom-groups-builder {
  width: 100%;
}

.custom-knockout-preview {
  overflow: hidden;
  border: 1px solid #2b3d56;
  border-radius: 6px;
  background: #0a131f;
}

.custom-preview-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 14px;
  border-bottom: 1px solid #25344a;
  color: #dfe6f1;
  font-size: 13px;
}

.custom-preview-heading span {
  color: #7f90a8;
  font-size: 11px;
}

.custom-preview-matches {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-height: 340px;
  overflow: auto;
}

.custom-preview-match {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 18px minmax(0, 1fr);
  align-items: center;
  gap: 7px;
  min-height: 64px;
  padding: 18px 12px 7px;
  border-right: 1px solid #1f2e42;
  border-bottom: 1px solid #1f2e42;
  position: relative;
}

.custom-preview-match > small {
  position: absolute;
  top: 5px;
  left: 11px;
  color: #63758f;
  font-size: 9px;
  font-weight: 850;
  text-transform: uppercase;
}

.custom-preview-match > span {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  align-items: center;
  gap: 7px;
  min-width: 0;
}

.custom-preview-match strong {
  overflow: hidden;
  color: #dce4ef;
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.custom-preview-match > i {
  color: #60718a;
  font-size: 10px;
  font-style: normal;
  text-align: center;
}

.custom-preview-flag {
  display: inline-flex;
  width: 28px;
  height: 19px;
  overflow: hidden;
  border-radius: 2px;
}

.custom-preview-flag img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.custom-groups-builder {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.custom-builder-group {
  min-width: 0;
  overflow: hidden;
  border: 0;
  border-radius: 4px;
  background: #111b29;
}

.custom-builder-group > header {
  display: flex;
  justify-content: space-between;
  padding: 9px 11px;
  border-bottom: 1px solid #25344a;
  color: #e0e7f1;
  font-size: 12px;
}

.custom-builder-group .custom-seed-slot {
  min-height: 42px;
}

.custom-builder-group .custom-slot-main {
  grid-template-columns: 20px 28px minmax(0, 1fr);
  gap: 7px;
  padding: 4px 7px;
}

.custom-builder-group .custom-team-flag {
  width: 28px;
  height: 19px;
}

.custom-builder-group .custom-slot-copy strong {
  font-size: 11px;
}

.custom-builder-group .custom-slot-copy small {
  display: none;
}

.custom-builder-group > header span {
  color: #789ef8;
  font-size: 10px;
}

.custom-source-filter {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 3px;
  padding: 10px 10px 0;
}

.custom-source-filter button {
  min-height: 30px;
  padding: 0 5px;
  border: 0;
  border-radius: 4px;
  color: #8494aa;
  background: #101a28;
  font: inherit;
  font-size: 10px;
  font-weight: 800;
  cursor: pointer;
}

.custom-source-filter button:hover,
.custom-source-filter button.active {
  color: #08101c;
  background: #79a1ff;
}

.custom-bracket-sides {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.custom-bracket-sides > section {
  min-width: 0;
  border: 1px solid #28384f;
  border-radius: 6px;
  background: #0d1622;
}

.custom-bracket-sides > section > header {
  display: flex;
  justify-content: space-between;
  padding: 12px 14px;
  border-bottom: 1px solid #25344a;
  color: #dfe6f1;
  font-size: 13px;
}

.custom-bracket-sides > section > header span {
  color: #79a1ff;
}

.custom-slot-list {
  display: grid;
  max-height: 660px;
  overflow: auto;
}

.custom-seed-slot {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  min-height: 54px;
  border-bottom: 1px solid #1d2a3c;
}

.custom-seed-slot:last-child {
  border-bottom: 0;
}

.custom-seed-slot.is-target {
  box-shadow: inset 3px 0 #79a1ff;
  background: #14223a;
}

.custom-slot-main {
  display: grid;
  grid-template-columns: 25px 34px minmax(0, 1fr);
  align-items: center;
  gap: 9px;
  min-width: 0;
  padding: 7px 8px;
  border: 0;
  color: #e9eef6;
  background: transparent;
  text-align: left;
  cursor: pointer;
}

.custom-slot-main:hover {
  background: #131f31;
}

.custom-seed-number {
  color: #62738d;
  font-size: 11px;
  font-weight: 900;
  text-align: center;
}

.custom-team-flag,
.custom-rating-flag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 24px;
  overflow: hidden;
  border-radius: 2px;
}

.custom-team-flag img,
.custom-rating-flag img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.custom-empty-mark {
  display: grid;
  place-items: center;
  width: 32px;
  height: 24px;
  border: 1px dashed #43536a;
  color: #8292aa;
}

.custom-slot-copy {
  min-width: 0;
}

.custom-slot-copy strong,
.custom-slot-copy small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.custom-slot-copy strong {
  font-size: 12px;
}

.custom-slot-copy small {
  margin-top: 2px;
  color: #71829b;
  font-size: 10px;
}

.custom-slot-actions {
  display: flex;
  align-items: center;
  padding-right: 6px;
}

.custom-slot-actions button,
.custom-library-team > button,
.custom-goal-row > button {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  padding: 0;
  border: 0;
  border-radius: 4px;
  color: #8293ab;
  background: transparent;
  font: inherit;
  font-weight: 900;
  cursor: pointer;
}

.custom-slot-actions button:hover,
.custom-goal-row > button:hover {
  color: #fff;
  background: #26364d;
}

.custom-team-library {
  position: sticky;
  top: 102px;
  border: 0;
  border-radius: 0;
  background: #0d1520;
}

.custom-library-heading {
  display: flex;
  justify-content: space-between;
  padding: 13px 14px;
  border-bottom: 1px solid #202d40;
  color: #dfe6f1;
  font-size: 13px;
}

.custom-library-heading span {
  color: #8292aa;
}

.custom-search {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  align-items: center;
  margin: 12px;
  padding: 0 9px;
  border: 1px solid #33455e;
  border-radius: 5px;
  color: #8495ad;
  background: #09111c;
}

.custom-search input {
  min-width: 0;
  height: 40px;
  border: 0;
  outline: 0;
  color: #edf2f8;
  background: transparent;
  font: inherit;
}

.custom-target-note {
  margin: 0 12px 10px;
  color: #9ab7ff;
  font-size: 11px;
  font-weight: 750;
}

.custom-team-library-list {
  max-height: 570px;
  overflow: auto;
  border-top: 1px solid #1e2c40;
}

.custom-library-team {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) 30px 30px;
  align-items: center;
  gap: 9px;
  min-height: 52px;
  padding: 5px 10px;
  border-bottom: 1px solid #1d2a3c;
}

.custom-live-groups {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.custom-live-groups-shell {
  grid-column: 1 / -1;
  margin-bottom: 18px;
}

.custom-live-groups-shell.is-collapsed {
  min-height: 0;
  margin-bottom: 0;
}

.custom-live-groups-shell.is-collapsed .custom-live-groups {
  display: none;
}

.custom-live-group {
  overflow: hidden;
  border: 1px solid #2a3b53;
  border-radius: 5px;
  background: #0d1622;
}

.custom-live-group > header,
.custom-live-group > div {
  display: grid;
  grid-template-columns: 22px 30px minmax(0, 1fr) 28px 34px 34px;
  align-items: center;
  gap: 7px;
  min-height: 40px;
  padding: 0 10px;
}

.custom-live-group > header {
  grid-template-columns: minmax(0, 1fr) 28px 34px 34px;
  border-bottom: 1px solid #2a3a50;
  color: #8394ab;
  font-size: 9px;
  font-weight: 900;
  text-align: center;
}

.custom-live-group > header strong {
  color: #dbe3ee;
  font-size: 12px;
  text-align: left;
}

.custom-live-group > div {
  border-bottom: 1px solid #1c293a;
  color: #b9c5d5;
  font-size: 11px;
}

.custom-live-group > div:last-child {
  border-bottom: 0;
}

.custom-live-group > div.qualified {
  box-shadow: inset 3px 0 #79a1ff;
  background: #142139;
}

.custom-live-group > div > b {
  color: #71829a;
  text-align: center;
}

.custom-live-group > div > span {
  overflow: hidden;
  color: #e0e7f0;
  font-weight: 750;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.custom-live-group > div > i,
.custom-live-group > div > strong {
  font-style: normal;
  text-align: center;
}

.custom-group-flag {
  display: inline-flex;
  width: 28px;
  height: 19px;
  overflow: hidden;
  border-radius: 2px;
}

.custom-group-flag img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.custom-group-fixture-heading {
  display: flex;
  grid-column: 1 / -1;
  align-items: center;
  justify-content: space-between;
  margin: 6px 0 10px;
  padding-top: 15px;
  border-top: 1px solid #2a3a50;
  color: #dfe6ef;
  font-size: 13px;
}

.custom-group-fixture-heading span {
  color: #8090a7;
  font-size: 11px;
}

.custom-group-fixtures {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.custom-group-stage-mode {
  display: block;
}

@media (max-width: 700px) {
  body.custom-tournament-mode-active .custom-group-fixtures {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
  }

  body.custom-tournament-mode-active .custom-group-fixtures .fixture {
    min-width: 0;
  }
}

@media (min-width: 701px) and (max-width: 1366px) {
  body.custom-tournament-mode-active .custom-header-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
  }

  body.custom-tournament-mode-active .custom-preset-actions {
    display: flex;
    align-items: center;
    gap: 7px;
  }

  body.custom-tournament-mode-active .custom-preset-actions > button,
  body.custom-tournament-mode-active .custom-header-team-count {
    grid-column: auto;
    grid-row: auto;
  }

  body.custom-tournament-mode-active .custom-preset-actions .custom-header-start {
    min-width: 150px;
  }

  body.custom-tournament-mode-active .custom-config-bar {
    grid-template-columns: minmax(0, 2fr) minmax(220px, 1fr) minmax(220px, 1fr);
    gap: 18px;
  }

  body.custom-tournament-mode-active .custom-config-group:first-child,
  body.custom-tournament-mode-active .custom-config-bar > .custom-config-group:nth-child(2) {
    grid-column: auto;
  }

  body.custom-tournament-mode-active .custom-setup-more > div {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    max-width: none;
    gap: 10px;
  }

  body.custom-tournament-mode-active .custom-groups-builder {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  body.custom-tournament-mode-active .custom-builder-group,
  body.custom-tournament-mode-active .custom-group-fixture-editor,
  body.custom-tournament-mode-active .custom-group-fixture-row {
    min-width: 0;
    max-width: 100%;
  }
}

.custom-live-back-button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 38px;
  margin: 0 0 18px;
  padding: 0 12px;
  border: 1px solid #30425d;
  border-radius: 5px;
  color: #d7e1ee;
  background: #101925;
  font: 850 11px "Manrope", sans-serif;
  cursor: pointer;
}

.custom-live-back-button:hover {
  border-color: #79a1ff;
  color: #fff;
  background: #17243a;
}

.custom-live-back-button[hidden] {
  display: none;
}

@media (min-width: 641px) {
  body.custom-tournament-mode-active .custom-live-back-button {
    display: none;
  }
}

body.custom-tournament-mode-active #mainContent {
  padding-top: 24px;
}

@media (max-width: 700px) {
  .custom-live-groups {
    grid-template-columns: minmax(0, 1fr);
  }

  body.custom-tournament-mode-active #mainContent {
    padding-top: 18px;
  }
}


.custom-library-team span strong,
.custom-library-team span small {
  display: block;
}

.custom-library-team span strong {
  overflow: hidden;
  color: #e8edf5;
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.custom-library-team span small {
  margin-top: 2px;
  color: #71829b;
  font-size: 10px;
}

.custom-library-team > button {
  border: 1px solid #33455e;
  color: #a9b9cf;
  background: #121e2f;
}

.custom-library-team > button:hover {
  border-color: #79a1ff;
  color: #07101d;
  background: #79a1ff;
}

.custom-ratings-layout,
.custom-script-layout {
  display: grid;
  grid-template-columns: 330px minmax(0, 1fr);
  gap: 22px;
}

.custom-rating-team-list,
.custom-saved-scripts {
  display: grid;
  align-content: start;
  max-height: 650px;
  overflow: auto;
  border: 1px solid #28384f;
  border-radius: 6px;
  background: #0d1622;
}

.custom-rating-team-list button,
.custom-saved-scripts button {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  min-height: 50px;
  padding: 7px 12px;
  border: 0;
  border-bottom: 1px solid #1e2c40;
  color: #dbe3ef;
  background: transparent;
  text-align: left;
  cursor: pointer;
}

.custom-rating-team-list button:hover,
.custom-rating-team-list button.active,
.custom-saved-scripts button:hover {
  background: #16243a;
}

.custom-rating-team-list button.active {
  box-shadow: inset 3px 0 #79a1ff;
}

.custom-rating-team-list button span {
  overflow: hidden;
  font-size: 12px;
  font-weight: 750;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.custom-rating-team-list button > strong {
  color: #9ab7ff;
  font-size: 12px;
}

.custom-rating-editor,
.custom-script-editor {
  padding: 22px;
  border: 1px solid #28384f;
  border-radius: 6px;
  background: #101a28;
}

.custom-rating-editor > header {
  display: flex;
  align-items: center;
  gap: 14px;
  padding-bottom: 18px;
  border-bottom: 1px solid #29384e;
}

.custom-rating-flag {
  width: 58px;
  height: 40px;
}

.custom-rating-editor h3 {
  margin: 0;
  color: #f0f4fa;
  font-size: 20px;
}

.custom-rating-editor p {
  margin: 4px 0 0;
  color: #8090a7;
  font-size: 12px;
}

.custom-rating-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 13px;
  margin-top: 18px;
}

.custom-rating-grid label,
.custom-script-pickers label,
.custom-score-script label,
.custom-winner-select {
  display: grid;
  gap: 7px;
}

.custom-rating-grid label span {
  color: #9caac0;
  font-size: 12px;
  font-weight: 750;
}

.custom-rating-grid input,
.custom-script-editor input,
.custom-script-editor select {
  min-width: 0;
  height: 42px;
  padding: 0 11px;
  border: 1px solid #354861;
  border-radius: 5px;
  outline: 0;
  color: #edf2f8;
  background: #0a131f;
  font: inherit;
}

.custom-rating-grid input:focus,
.custom-script-editor input:focus,
.custom-script-editor select:focus {
  border-color: #79a1ff;
  box-shadow: 0 0 0 2px rgba(121, 161, 255, .16);
}

.custom-script-layout {
  grid-template-columns: minmax(0, 1fr) 340px;
}

.custom-script-pickers {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.custom-score-script {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: end;
  gap: 12px;
  margin-top: 16px;
}

.custom-score-script > span {
  padding-bottom: 10px;
  color: #75869f;
  font-weight: 900;
}

.custom-winner-select {
  margin-top: 16px;
}

.custom-goal-script-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid #29384e;
  color: #e5ebf4;
  font-size: 13px;
}

.custom-goal-rows {
  display: grid;
  gap: 8px;
  margin-top: 11px;
}

.custom-goal-row {
  display: grid;
  grid-template-columns: 100px 78px minmax(140px, 1fr) 30px;
  gap: 8px;
  align-items: start;
}

.custom-goal-row input,
.custom-goal-row select {
  height: 38px;
}

.custom-match-teams {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  margin-bottom: 16px;
  padding: 10px;
  background: #101b2a;
}

.custom-match-teams article {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  align-items: center;
  gap: 9px;
  min-width: 0;
}

.custom-match-teams article:last-child {
  grid-template-columns: minmax(0, 1fr) 38px;
  text-align: right;
}

.custom-match-teams article:last-child > :first-child {
  grid-column: 2;
  grid-row: 1;
}

.custom-match-teams article:last-child > :last-child {
  grid-column: 1;
  grid-row: 1;
}

.custom-match-team-flag,
.custom-match-team-flag img,
.custom-match-team-placeholder {
  width: 38px;
  height: 26px;
}

.custom-match-team-flag img {
  object-fit: cover;
}

.custom-match-team-placeholder {
  display: grid;
  place-items: center;
  color: #6f819a;
  background: #1a283b;
}

.custom-match-teams small,
.custom-match-teams strong {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.custom-match-teams small {
  color: #71839d;
  font-size: 8px;
  font-weight: 900;
  text-transform: uppercase;
}

.custom-match-teams strong {
  margin-top: 2px;
  color: #edf2f8;
  font-size: 12px;
}

.custom-match-teams > b {
  color: #71839d;
  font-size: 9px;
}

.custom-scorer-picker {
  position: relative;
  min-width: 0;
}

.custom-scorer-picker > button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
  height: 38px;
  padding: 0 10px;
  border: 0;
  border-radius: 4px;
  color: #dbe4f0;
  background: #172333;
  font: inherit;
  font-size: 11px;
  text-align: left;
  cursor: pointer;
}

.custom-scorer-picker > button span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.custom-scorer-picker > button i {
  color: #8094b0;
  font-style: normal;
}

.custom-scorer-menu {
  position: absolute;
  z-index: 8;
  top: calc(100% + 5px);
  right: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(170px, 1fr));
  width: min(460px, calc(100vw - 40px));
  max-height: 280px;
  overflow: auto;
  border: 1px solid #30425d;
  border-radius: 5px;
  background: #0c1522;
  box-shadow: 0 16px 38px rgba(0, 0, 0, .45);
}

.custom-scorer-menu[hidden] {
  display: none;
}

.custom-scorer-menu section + section {
  border-left: 1px solid #26364d;
}

.custom-scorer-menu header {
  position: sticky;
  top: 0;
  display: flex;
  align-items: center;
  gap: 7px;
  min-height: 38px;
  padding: 7px 9px;
  color: #dce5f2;
  background: #142033;
}

.custom-scorer-team-flag,
.custom-scorer-team-flag img {
  width: 24px;
  height: 16px;
  object-fit: cover;
}

.custom-scorer-menu section > div {
  display: grid;
}

.custom-scorer-menu section > div button {
  min-height: 32px;
  padding: 0 10px;
  border: 0;
  border-top: 1px solid #1e2c40;
  color: #bfcbdc;
  background: transparent;
  font: inherit;
  font-size: 10px;
  text-align: left;
  cursor: pointer;
}

.custom-scorer-menu section > div button:hover {
  color: #fff;
  background: #1b2a40;
}

.custom-scorer-menu section > div small {
  padding: 12px;
  color: #74869f;
  font-size: 10px;
  line-height: 1.4;
}

.custom-goal-empty,
.custom-empty-state {
  margin: 0;
  padding: 18px;
  color: #7f90a7;
  font-size: 12px;
  line-height: 1.5;
}

.custom-script-actions {
  display: flex;
  justify-content: flex-end;
  gap: 9px;
  margin-top: 20px;
}

.custom-form-message {
  min-height: 18px;
  margin: 8px 0 0;
  color: #9cb6e8;
  font-size: 12px;
  text-align: right;
}

.custom-form-message.is-error {
  color: #ff8f9b;
}

.custom-saved-scripts > strong {
  padding: 14px;
  border-bottom: 1px solid #25344a;
  color: #dfe6f1;
  font-size: 13px;
}

.custom-saved-scripts button {
  grid-template-columns: minmax(0, 1fr) auto;
}

.custom-saved-scripts button span {
  color: #bdc9d9;
  font-size: 12px;
}

.custom-saved-scripts button strong {
  color: #9ab7ff;
}

.custom-pool-presets {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5px;
  padding: 12px;
  border-bottom: 1px solid #202d40;
}

.custom-pool-presets > span {
  grid-column: 1 / -1;
  margin-bottom: 2px;
  color: #71839d;
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

.custom-pool-presets button {
  min-height: 32px;
  padding: 0 7px;
  border: 0;
  border-radius: 4px;
  color: #aebbd0;
  background: #162131;
  font: inherit;
  font-size: 10px;
  font-weight: 800;
  cursor: pointer;
}

.custom-pool-presets button:hover {
  color: #07101d;
  background: #79a1ff;
}

.custom-bracket-editor {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(245px, 290px);
  align-items: start;
  gap: 18px;
  padding: 4px 2px 14px;
  overflow-x: auto;
  overflow-y: visible;
  scrollbar-color: #344866 transparent;
}

.custom-third-place-preview {
  width: min(290px, 100%);
  margin-top: 14px;
  border-radius: 5px;
  background: #111b29;
}

.custom-third-place-preview > header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  min-height: 38px;
  padding: 0 10px;
  border-bottom: 1px solid #202d40;
}

.custom-third-place-preview > header strong {
  color: #e8edf5;
  font-size: 11px;
  text-transform: uppercase;
}

.custom-third-place-preview > header span,
.custom-third-place-preview > div span {
  color: #71829a;
  font-size: 10px;
}

.custom-third-place-preview > div {
  display: grid;
}

.custom-third-place-preview > div span {
  min-height: 42px;
  padding: 14px 10px;
  border-bottom: 1px solid #202d40;
}

.custom-third-place-preview > div span:last-child {
  border-bottom: 0;
}

.custom-bracket-edit-round {
  min-width: 0;
}

.custom-bracket-edit-round > header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  padding: 8px 2px 12px;
  border-bottom: 2px solid #293a52;
}

.custom-bracket-edit-round > header strong {
  color: #e8edf5;
  font-size: 12px;
  text-transform: uppercase;
}

.custom-bracket-edit-round > header span {
  color: #71829a;
  font-size: 10px;
}

.custom-bracket-edit-round > div {
  display: grid;
  gap: 10px;
  padding-top: 10px;
}

.custom-bracket-edit-match {
  overflow: hidden;
  border: 0;
  border-radius: 5px;
  background: #111b29;
}

.custom-bracket-edit-match > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 34px;
  padding: 0 9px;
  border-bottom: 1px solid #202d40;
}

.custom-bracket-edit-match > header span,
.custom-bracket-edit-match > header small {
  color: #70829b;
  font-size: 9px;
  font-weight: 900;
  text-transform: uppercase;
}

.custom-bracket-edit-match > header button {
  min-width: 42px;
  min-height: 24px;
  padding: 0 8px;
  border: 0;
  border-radius: 3px;
  color: #c5d2e5;
  background: #24344c;
  font: inherit;
  font-size: 9px;
  font-weight: 900;
  cursor: pointer;
}

.custom-bracket-edit-match > header button:hover {
  color: #07101d;
  background: #79a1ff;
}

.custom-direct-match-slot {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  min-height: 52px;
  border-bottom: 1px solid #1f2c3f;
}

.custom-direct-match-slot.is-target {
  box-shadow: inset 3px 0 #79a1ff;
  background: #17253a;
}

.custom-direct-match-slot > button:first-child {
  display: grid;
  grid-template-columns: 31px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  min-width: 0;
  padding: 7px 9px;
  border: 0;
  color: #edf2f8;
  background: transparent;
  text-align: left;
  cursor: pointer;
}

.custom-direct-match-slot > button:first-child:hover {
  background: #172335;
}

.custom-direct-match-slot > button:first-child > span:last-child {
  min-width: 0;
}

.custom-direct-match-slot strong,
.custom-direct-match-slot small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.custom-direct-match-slot strong {
  font-size: 11px;
}

.custom-direct-match-slot small {
  margin-top: 2px;
  color: #6f8199;
  font-size: 8px;
}

.custom-direct-plus {
  display: grid;
  place-items: center;
  width: 28px;
  height: 22px;
  color: #91a5c1;
  background: #202e42;
  font-size: 16px;
}

.custom-direct-remove {
  width: 30px;
  border: 0;
  color: #7f90a8;
  background: transparent;
  font: inherit;
  cursor: pointer;
}

.custom-direct-remove:hover {
  color: #fff;
  background: #29384d;
}

.custom-direct-actions {
  display: flex;
  align-items: center;
  padding-right: 5px;
}

.custom-direct-actions button {
  display: grid;
  place-items: center;
  width: 27px;
  height: 30px;
  padding: 0;
  border: 0;
  border-radius: 4px;
  color: #7f90a8;
  background: transparent;
  font: inherit;
  font-size: 12px;
  font-weight: 900;
  cursor: pointer;
}

.custom-direct-actions button:hover {
  color: #fff;
  background: #29384d;
}

.custom-future-team {
  min-height: 43px;
  padding: 14px 10px;
  border-bottom: 1px solid #1f2c3f;
  color: #5f7189;
  font-size: 9px;
}

.custom-bracket-edit-match > footer {
  padding: 7px 9px;
  color: #86a7f7;
  font-size: 9px;
  font-weight: 800;
}

.custom-group-match-edits {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  background: #202d40;
}

.custom-group-match-settings {
  border-top: 1px solid #202d40;
}

.custom-group-match-settings > summary {
  padding: 10px 12px;
  color: #8092aa;
  font-size: 10px;
  font-weight: 850;
  cursor: pointer;
}

.custom-group-match-edits button {
  display: grid;
  gap: 2px;
  min-height: 42px;
  padding: 6px;
  border: 0;
  color: #aab8cc;
  background: #111b29;
  font: inherit;
  font-size: 9px;
  font-weight: 800;
  cursor: pointer;
}

.custom-group-match-edits button:hover {
  color: #fff;
  background: #1b2a40;
}

.custom-group-match-edits small {
  overflow: hidden;
  color: #6f83a0;
  font-size: 7px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.custom-group-fixture-editor {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  width: 100%;
  overflow: hidden;
  gap: 1px;
  border-top: 1px solid #202d40;
  background: #202d40;
}

.custom-group-fixture-row {
  display: contents;
}

.custom-group-fixture-editor article {
  min-width: 0;
  width: auto;
  inline-size: auto;
  max-width: 100%;
  overflow: hidden;
  padding: 7px 8px;
  background: #101a28;
}

.custom-team-picker-panel {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr);
  overflow: hidden;
  width: min(760px, 100%);
  max-height: min(720px, calc(100dvh - 40px));
  border: 1px solid #30425d;
  border-radius: 6px;
  background: #0c1522;
  box-shadow: 0 24px 70px rgba(0, 0, 0, .5);
}

.custom-team-picker-panel > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 18px;
  border-bottom: 1px solid #27384f;
}

.custom-team-picker-panel > header span {
  color: #789ef8;
  font-size: 9px;
  font-weight: 900;
}

.custom-team-picker-panel > header h3 {
  margin: 3px 0 0;
  color: #f1f5fa;
  font-size: 20px;
}

.custom-team-picker-panel > header button {
  width: 34px;
  height: 34px;
  border: 0;
  color: #9cacbf;
  background: #172333;
  font: inherit;
  font-size: 20px;
  cursor: pointer;
}

.custom-team-picker-tools {
  display: grid;
  grid-template-columns: 210px minmax(0, 1fr);
  gap: 10px;
  padding: 12px 14px;
  border-bottom: 1px solid #27384f;
}

.custom-team-picker-tools label {
  display: grid;
  gap: 5px;
}

.custom-team-picker-tools label > span {
  color: #71839d;
  font-size: 8px;
  font-weight: 900;
  text-transform: uppercase;
}

.custom-team-picker-tools select,
.custom-team-picker-tools input {
  width: 100%;
  height: 38px;
  padding: 0 10px;
  border: 0;
  border-radius: 4px;
  color: #dce5f1;
  background: #172333;
  font: inherit;
  font-size: 11px;
}

.custom-picker-search {
  align-self: end;
  position: relative;
}

.custom-picker-search > span {
  display: none;
}

.custom-team-picker-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  overflow-y: auto;
}

.custom-team-picker-list > button {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) 28px;
  align-items: center;
  gap: 9px;
  min-width: 0;
  min-height: 54px;
  padding: 7px 10px;
  border: 0;
  border-right: 1px solid #213047;
  border-bottom: 1px solid #213047;
  color: #dce5f1;
  background: transparent;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.custom-team-picker-list > button:hover {
  background: #17263a;
}

.custom-team-picker-list > button span {
  min-width: 0;
}

.custom-team-picker-list strong,
.custom-team-picker-list small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.custom-team-picker-list strong {
  font-size: 11px;
}

.custom-team-picker-list small {
  margin-top: 2px;
  color: #71839d;
  font-size: 8px;
}

.custom-team-picker-list i {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  color: #a9bdf1;
  background: #1c2a3f;
  font-style: normal;
}

.custom-manager-picker-panel {
  position: relative;
  z-index: 1;
  overflow: hidden;
  width: min(460px, 100%);
  max-height: min(620px, calc(100dvh - 48px));
  border: 1px solid #30425d;
  border-radius: 6px;
  background: #0c1522;
  box-shadow: 0 24px 70px rgba(0, 0, 0, .5);
}

.custom-manager-picker-panel > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 15px 16px;
  border-bottom: 1px solid #27384f;
}

.custom-manager-picker-panel > header span {
  color: #789ef8;
  font-size: 9px;
  font-weight: 900;
}

.custom-manager-picker-panel > header h3 {
  margin: 3px 0 0;
  color: #f1f5fa;
  font-size: 19px;
}

.custom-manager-picker-panel > header button {
  width: 32px;
  height: 32px;
  border: 0;
  color: #9cacbf;
  background: #172333;
  font: inherit;
  font-size: 19px;
}

.custom-manager-picker-panel > div {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-height: 500px;
  overflow-y: auto;
}

.custom-manager-picker-panel > div > button {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  align-items: center;
  gap: 9px;
  min-width: 0;
  min-height: 52px;
  padding: 7px 10px;
  border: 0;
  border-right: 1px solid #223148;
  border-bottom: 1px solid #223148;
  color: #dce5f1;
  background: transparent;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.custom-manager-picker-panel > div > button.active,
.custom-manager-picker-panel > div > button:hover {
  background: #192a42;
}

.custom-manager-picker-panel strong,
.custom-manager-picker-panel small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.custom-manager-picker-panel strong {
  font-size: 10px;
}

.custom-manager-picker-panel small {
  margin-top: 2px;
  color: #74869f;
  font-size: 8px;
}

.custom-group-fixture-editor article > header,
.custom-group-fixture-editor article > div {
  display: flex;
  align-items: center;
}

.custom-group-fixture-editor article > header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  justify-content: stretch;
  gap: 6px;
  width: 100%;
  margin-bottom: 5px;
  color: #8da0ba;
  font-size: 8px;
  font-weight: 900;
  text-transform: uppercase;
}

.custom-group-fixture-editor article > header button {
  min-height: 22px;
  padding: 0 6px;
  border: 0;
  border-radius: 3px;
  color: #9bb5f5;
  background: #1b2a40;
  font: inherit;
  font-size: 8px;
  font-weight: 900;
  cursor: pointer;
}

.custom-group-fixture-editor article > header button:hover {
  color: #07101d;
  background: #79a1ff;
}

.custom-group-fixture-editor article > div {
  gap: 6px;
  min-width: 0;
  min-height: 20px;
  color: #e6ecf4;
  font-size: 9px;
  font-weight: 750;
}

.custom-group-fixture-editor article > div span:last-child {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.custom-fixture-flag,
.custom-fixture-flag img {
  width: 18px;
  height: 12px;
  flex: 0 0 18px;
  object-fit: cover;
}

.custom-fixture-flag {
  display: inline-grid;
  place-items: center;
  overflow: hidden;
  color: #6e819b;
  background: #1c293b;
  font-size: 9px;
}

.custom-group-fixture-editor article > footer {
  overflow: hidden;
  margin-top: 4px;
  color: #7597e9;
  font-size: 7px;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.custom-group-knockout-stage {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  margin-top: 24px;
  padding-top: 18px;
  overflow: hidden;
  border-top: 2px solid #30425d;
}

.custom-editor-modal {
  position: fixed;
  z-index: 1200;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 20px;
}

.custom-editor-backdrop {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  background: rgba(3, 8, 15, .78);
  cursor: default;
}

.custom-editor-modal .custom-ratings-panel,
.custom-editor-modal .custom-match-rule-editor {
  position: relative;
  z-index: 1;
  overflow-y: auto;
  width: min(680px, 100%);
  max-height: calc(100vh - 40px);
  margin: 0;
  padding: 20px;
  border: 1px solid #30425d;
  border-radius: 6px;
  background: #0c1522;
  box-shadow: 0 24px 70px rgba(0, 0, 0, .5);
}

.custom-editor-modal .custom-match-rule-editor {
  width: min(560px, 100%);
  padding: 18px;
}

.custom-match-rule-editor {
  margin-top: 24px;
  padding: 20px 0;
  border-top: 2px solid #30425d;
  border-bottom: 1px solid #243247;
}

.custom-match-rule-editor > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 14px;
}

.custom-match-rule-editor > header span {
  color: #789ef8;
  font-size: 10px;
  font-weight: 900;
}

.custom-match-rule-editor > header h3 {
  margin: 3px 0 0;
  color: #f0f4fa;
  font-size: 20px;
}

.custom-match-rule-editor > header button {
  width: 34px;
  height: 34px;
  border: 0;
  color: #9cacbf;
  background: #172333;
  font-size: 21px;
  cursor: pointer;
}

.custom-match-rule-editor form {
  display: grid;
  gap: 14px;
}

.custom-rule-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.custom-rule-fields label {
  display: grid;
  gap: 8px;
}

.custom-rule-fields label > span {
  display: flex;
  justify-content: space-between;
  color: #93a4ba;
  font-size: 11px;
  font-weight: 850;
}

.custom-rule-fields input[type="number"] {
  height: 42px;
  padding: 0 10px;
  border: 0;
  border-radius: 4px;
  color: #fff;
  background: #172333;
  font: inherit;
}

.custom-rule-fields input[type="range"] {
  width: 100%;
  accent-color: #79a1ff;
}

.custom-rule-fields .is-disabled {
  opacity: .45;
}

.custom-fixed-toggle {
  display: flex;
  align-items: center;
  gap: 9px;
  color: #c4cfdd;
  font-size: 12px;
  font-weight: 800;
}

.custom-fixed-toggle input {
  width: 18px;
  height: 18px;
  accent-color: #79a1ff;
}

.custom-fixed-result-fields {
  display: grid;
  gap: 14px;
  padding: 13px;
  background: #101925;
}

.custom-match-rule-editor .custom-script-actions {
  margin-top: 2px;
}

.custom-fixed-result-fields[hidden] {
  display: none;
}

@media (max-width: 1050px) {
  .custom-config-bar {
    grid-template-columns: 1fr 1fr;
  }

  .custom-start-summary {
    grid-column: 1 / -1;
    justify-content: flex-end;
  }

  .custom-setup-more {
    grid-column: 1 / -1;
  }

  .custom-draw-layout,
  .custom-script-layout {
    grid-template-columns: 1fr;
  }

  .custom-groups-builder {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .custom-team-library {
    position: static;
  }

  .custom-team-library-list {
    max-height: 360px;
  }
}

@media (max-width: 1500px) {
  .custom-draw-layout {
    grid-template-columns: 1fr;
  }

  .custom-team-library {
    position: static;
  }

  .custom-team-library-list {
    max-height: 330px;
  }

  .custom-groups-builder {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 1280px) {
  .custom-groups-builder {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 1100px), (max-width: 1366px) and (pointer: coarse) {
  .custom-tournament-screen {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    padding: 8px 12px 0;
    overflow-x: hidden;
  }

  body.custom-tournament-mode-active {
    overflow-x: hidden;
  }

  .custom-tournament-body,
  .custom-builder-view,
  .custom-workspace-panel,
  .custom-draw-layout,
  .custom-draw-main,
  .custom-groups-builder,
  .custom-builder-group {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    overflow-x: hidden;
  }

  .custom-draw-layout,
  .custom-draw-main,
  .custom-groups-builder {
    grid-template-columns: minmax(0, 1fr);
  }

  .custom-tournament-header {
    display: grid;
    gap: 16px;
  }

  .custom-tournament-header h1 {
    font-size: 32px;
  }

  .custom-header-toolbar {
    display: grid;
    grid-template-columns: auto minmax(64px, 1fr) auto;
    align-items: center;
    gap: 8px;
  }

  .custom-back-button {
    grid-column: 1;
    grid-row: 1;
    min-height: 38px;
    padding: 0 8px;
    font-size: 10px;
  }

  .custom-preset-actions {
    display: contents;
  }

  .custom-preset-actions > button {
    justify-content: center;
  }

  .custom-header-team-count {
    grid-column: 2;
    grid-row: 1;
    justify-self: center;
    font-size: 9px;
    white-space: nowrap;
  }

  .custom-preset-actions .custom-header-start {
    grid-column: 3;
    grid-row: 1;
    min-width: 0;
    min-height: 38px;
    padding: 0 8px;
    font-size: 9px;
    white-space: nowrap;
  }

  .custom-preset-actions > button:nth-child(1) {
    grid-column: 1 / 3;
    grid-row: 2;
  }

  .custom-preset-actions > button:nth-child(2) {
    grid-column: 3;
    grid-row: 2;
  }

  .custom-config-bar {
    position: static;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px 10px;
    padding: 14px 0;
  }

  .custom-config-group:first-child,
  .custom-config-bar > .custom-config-group:nth-child(2),
  .custom-config-bar > .custom-manager-control,
  .custom-setup-more,
  .custom-start-summary {
    grid-column: 1 / -1;
  }

  .custom-start-summary {
    grid-column: 1 / -1;
    justify-content: space-between;
  }

  .custom-start-summary .primary-button {
    min-width: 0;
  }

  .custom-setup-more > div {
    grid-template-columns: 1fr;
    max-width: none;
  }

  .custom-segmented {
    grid-auto-flow: column;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .custom-segmented button {
    min-height: 40px;
    padding: 0 5px;
    font-size: 11px;
    line-height: 1.1;
  }

  .custom-team-count-control {
    grid-auto-flow: column;
    grid-template-columns: repeat(9, minmax(0, 1fr));
    width: 100%;
  }

  .custom-team-count-control button {
    min-width: 0;
    min-height: 36px;
    padding: 0 2px;
    font-size: 9px;
  }

  .custom-config-group:nth-child(2) .custom-segmented,
  .custom-config-group:nth-child(3) .custom-segmented {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .custom-builder-tabs {
    max-width: none;
  }

  .custom-bracket-editor {
    grid-auto-columns: minmax(230px, 82vw);
    gap: 12px;
    scroll-snap-type: x proximity;
  }

  .custom-bracket-edit-round {
    scroll-snap-align: start;
  }

  .custom-ratings-layout,
  .custom-groups-builder,
  .custom-live-groups,
  .custom-group-fixtures,
  .custom-preview-matches {
    grid-template-columns: minmax(0, 1fr);
  }

  .custom-group-fixture-editor {
    display: block;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
  }

  .custom-group-fixture-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    background: #202d40;
  }

  .custom-bracket-sides {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .custom-bracket-sides > section > header {
    padding: 10px 8px;
    font-size: 11px;
  }

  .custom-slot-main {
    grid-template-columns: 15px 24px minmax(0, 1fr);
    gap: 4px;
    width: 100%;
    padding: 6px 58px 6px 4px;
  }

  .custom-seed-slot,
  .custom-builder-group .custom-seed-slot {
    position: relative;
    display: block;
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }

  .custom-team-flag {
    width: 24px;
    height: 17px;
  }

  .custom-seed-number {
    font-size: 9px;
  }

  .custom-slot-copy strong {
    font-size: 10px;
  }

  .custom-slot-copy small {
    font-size: 8px;
  }

  .custom-slot-actions {
    position: absolute;
    z-index: 3;
    top: 50%;
    right: 3px;
    transform: translateY(-50%);
    display: grid;
    grid-template-columns: repeat(2, 24px);
    align-content: center;
    justify-content: center;
    width: 52px;
    padding: 0;
    background: transparent;
  }

  .custom-slot-actions button {
    width: 24px;
    height: 28px;
    font-size: 13px;
  }

  .custom-slot-list,
  .custom-rating-team-list {
    max-height: 430px;
  }

  .custom-panel-heading {
    align-items: flex-start;
    flex-direction: column;
  }

  .custom-inline-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    width: 100%;
  }

  .custom-inline-actions button {
    min-width: 62px;
  }

  .custom-inline-actions .custom-randomise-groups {
    grid-column: 1 / -1;
    width: 100%;
  }

  .custom-quick-fill select {
    width: 100%;
    min-width: 0;
  }

  .custom-rating-grid,
  .custom-script-pickers,
  .custom-rule-fields {
    grid-template-columns: 1fr;
  }

  .custom-editor-modal {
    align-items: end;
    padding: 10px;
  }

  .custom-editor-modal .custom-ratings-panel,
  .custom-editor-modal .custom-match-rule-editor {
    width: 100%;
    max-height: calc(100dvh - 20px);
    padding: 15px;
  }

  .custom-match-rule-editor > header {
    gap: 10px;
    margin-bottom: 12px;
  }

  .custom-match-rule-editor .custom-script-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr);
  }

  .custom-match-rule-editor .custom-script-actions button {
    min-width: 0;
    padding-inline: 8px;
  }

  .custom-match-rule-editor > header h3 {
    font-size: 19px;
  }

  .custom-rating-editor,
  .custom-script-editor {
    padding: 15px;
  }

  .custom-goal-row {
    grid-template-columns: 72px 58px minmax(0, 1fr) 28px;
    gap: 5px;
  }

  .custom-team-picker-modal {
    align-items: center;
    padding: 8px;
  }

  .custom-team-picker-panel {
    width: min(94vw, 620px);
    max-height: 72dvh;
  }

  .custom-team-picker-tools {
    grid-template-columns: 1fr;
  }

  .custom-team-picker-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .custom-team-picker-panel > header {
    padding: 10px 12px;
  }

  .custom-team-picker-tools {
    gap: 7px;
    padding: 8px 10px;
  }

  .custom-team-picker-list > button {
    grid-template-columns: 26px minmax(0, 1fr) 22px;
    gap: 6px;
    min-height: 46px;
    padding: 5px 7px;
  }

  .custom-group-fixture-editor article > header button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    grid-column: 2;
    grid-row: 1;
    width: auto;
    max-width: 68px;
    min-height: 24px;
    padding: 0 5px;
    font-size: 7px;
    white-space: nowrap;
  }

  .custom-group-fixture-editor article > header span {
    grid-column: 1;
    grid-row: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .custom-group-fixture-editor article {
    box-sizing: border-box;
    min-height: 112px;
    min-width: 0;
    width: auto;
    max-width: 100%;
    padding: 6px;
    overflow: hidden;
  }

  .custom-group-fixture-editor article > header {
    grid-template-columns: minmax(0, 1fr) auto;
    align-content: start;
    min-width: 0;
  }

  .custom-manager-picker-modal {
    align-items: center;
    padding: 10px;
  }

  .custom-manager-picker-panel {
    width: min(92vw, 460px);
    max-height: 72dvh;
  }

  .custom-manager-picker-panel > div {
    max-height: calc(72dvh - 66px);
  }

  .custom-scorer-menu {
    position: fixed;
    z-index: 3;
    inset: auto 10px 10px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: auto;
    max-height: min(52dvh, 360px);
  }

  .custom-match-teams {
    gap: 6px;
    padding: 8px;
  }

  .custom-match-teams article {
    grid-template-columns: 30px minmax(0, 1fr);
    gap: 6px;
  }

  .custom-match-teams article:last-child {
    grid-template-columns: minmax(0, 1fr) 30px;
  }

  .custom-match-team-flag,
  .custom-match-team-flag img,
  .custom-match-team-placeholder {
    width: 30px;
    height: 20px;
  }
}

/* Keep the custom builder on the simulator's blue canvas without changing its layout or motion. */
body.custom-tournament-mode-active:has(#customTournamentScreen:not([hidden])) {
  --custom-blue-panel: #0b6f8f;
  --custom-blue-panel-raised: #0e7c9e;
  --custom-blue-panel-soft: #0a6381;
  --custom-blue-panel-deep: #095570;
  --custom-blue-border: rgba(139, 220, 244, .24);
  --custom-blue-border-strong: rgba(155, 228, 249, .38);
  --custom-blue-accent: #66cef0;
  --custom-blue-accent-strong: #45bfe8;
  --custom-blue-accent-ink: #053348;
  --custom-blue-text: #f4fbff;
  --custom-blue-muted: #c0dfeb;
  --custom-blue-faint: #88bed2;
}

body.custom-tournament-mode-active:has(#customTournamentScreen:not([hidden])) :is(
  .custom-tournament-header,
  .custom-config-bar,
  .custom-source-select,
  .custom-library-heading,
  .custom-team-library-list,
  .custom-library-team,
  .custom-builder-group > header,
  .custom-seed-slot,
  .custom-preview-heading,
  .custom-preview-match,
  .custom-bracket-sides > section > header,
  .custom-group-match-settings,
  .custom-team-picker-panel > header,
  .custom-team-picker-tools,
  .custom-team-picker-list > button,
  .custom-manager-picker-panel > header,
  .custom-manager-picker-panel > div > button,
  .custom-match-rule-editor,
  .custom-group-knockout-stage
) {
  border-color: var(--custom-blue-border);
}

body.custom-tournament-mode-active:has(#customTournamentScreen:not([hidden])) .custom-config-bar {
  background: linear-gradient(180deg, #0c7798, #0a6a89);
}

body.custom-tournament-mode-active:has(#customTournamentScreen:not([hidden])) :is(
  .custom-back-button,
  .custom-preset-actions button,
  .custom-panel-heading > button,
  .custom-inline-actions button,
  .custom-goal-script-heading button,
  .custom-script-count,
  .custom-ratings-toolbar button
) {
  border-color: var(--custom-blue-border);
  color: var(--custom-blue-text);
  background: var(--custom-blue-panel-soft);
}

body.custom-tournament-mode-active:has(#customTournamentScreen:not([hidden])) :is(
  .custom-back-button,
  .custom-preset-actions button,
  .custom-panel-heading > button,
  .custom-inline-actions button,
  .custom-goal-script-heading button,
  .custom-ratings-toolbar button
):hover {
  border-color: var(--custom-blue-border-strong);
  color: #fff;
  background: var(--custom-blue-panel-raised);
}

body.custom-tournament-mode-active:has(#customTournamentScreen:not([hidden])) .custom-preset-actions .custom-header-start {
  border-color: transparent;
  color: var(--custom-blue-accent-ink);
  background: var(--custom-blue-accent);
}

body.custom-tournament-mode-active:has(#customTournamentScreen:not([hidden])) .custom-preset-actions .custom-header-start:hover {
  color: var(--custom-blue-accent-ink);
  background: #81daf4;
}

body.custom-tournament-mode-active:has(#customTournamentScreen:not([hidden])) .custom-preset-actions .custom-header-start:disabled,
body.custom-tournament-mode-active:has(#customTournamentScreen:not([hidden])) .custom-inline-actions button:disabled {
  border-color: rgba(126, 197, 219, .16);
  color: #79acc0;
  background: #0a5b76;
}

body.custom-tournament-mode-active:has(#customTournamentScreen:not([hidden])) :is(
  .custom-segmented,
  .custom-team-count-control
) {
  background: var(--custom-blue-panel-deep);
}

body.custom-tournament-mode-active:has(#customTournamentScreen:not([hidden])) :is(
  .custom-segmented button,
  .custom-builder-tabs button
) {
  color: var(--custom-blue-muted);
}

body.custom-tournament-mode-active:has(#customTournamentScreen:not([hidden])) :is(
  .custom-segmented button,
  .custom-builder-tabs button
):hover {
  color: #fff;
  background: var(--custom-blue-panel-raised);
}

body.custom-tournament-mode-active:has(#customTournamentScreen:not([hidden])) :is(
  .custom-segmented button.active,
  .custom-builder-tabs button.active
) {
  color: var(--custom-blue-accent-ink);
  background: var(--custom-blue-accent);
}

body.custom-tournament-mode-active:has(#customTournamentScreen:not([hidden])) .custom-builder-tabs {
  border-color: var(--custom-blue-border);
}

body.custom-tournament-mode-active:has(#customTournamentScreen:not([hidden])) .custom-builder-tabs button.active {
  color: #fff;
  border-bottom-color: var(--custom-blue-accent);
  background: transparent;
}

body.custom-tournament-mode-active:has(#customTournamentScreen:not([hidden])) :is(
  .custom-manager-control select,
  .custom-manager-control > button,
  .custom-quick-fill select,
  .custom-source-select select,
  .custom-team-picker-tools select,
  .custom-team-picker-tools input,
  .custom-rule-fields input[type="number"]
) {
  color: var(--custom-blue-text);
  background: var(--custom-blue-panel-soft);
}

body.custom-tournament-mode-active:has(#customTournamentScreen:not([hidden])) .custom-manager-control > button:disabled {
  color: #83afc1;
  background: #0a5b76;
}

body.custom-tournament-mode-active:has(#customTournamentScreen:not([hidden])) .custom-manager-neutral {
  color: #e6f8ff;
  background: #167f9f;
}

body.custom-tournament-mode-active:has(#customTournamentScreen:not([hidden])) .custom-third-place-toggle {
  color: var(--custom-blue-muted);
}

body.custom-tournament-mode-active:has(#customTournamentScreen:not([hidden])) .custom-third-place-toggle i {
  background: #177d9c;
}

body.custom-tournament-mode-active:has(#customTournamentScreen:not([hidden])) .custom-third-place-toggle i::after {
  background: #b8dce9;
}

body.custom-tournament-mode-active:has(#customTournamentScreen:not([hidden])) .custom-third-place-toggle.active i {
  background: var(--custom-blue-accent);
}

body.custom-tournament-mode-active:has(#customTournamentScreen:not([hidden])) :is(
  .custom-config-group > span,
  .custom-panel-heading span,
  .custom-quick-fill > span,
  .custom-source-select > span,
  .custom-team-picker-tools label > span,
  .custom-header-team-count,
  .custom-seed-number
) {
  color: var(--custom-blue-faint);
}

body.custom-tournament-mode-active:has(#customTournamentScreen:not([hidden])) :is(
  .custom-knockout-preview,
  .custom-bracket-sides > section,
  .custom-builder-group,
  .custom-team-library,
  .custom-team-picker-panel,
  .custom-manager-picker-panel,
  .custom-editor-modal .custom-ratings-panel,
  .custom-editor-modal .custom-match-rule-editor
) {
  border-color: var(--custom-blue-border);
  background: var(--custom-blue-panel);
}

body.custom-tournament-mode-active:has(#customTournamentScreen:not([hidden])) :is(
  .custom-preview-heading,
  .custom-builder-group > header,
  .custom-library-heading,
  .custom-team-picker-panel > header,
  .custom-manager-picker-panel > header
) {
  color: var(--custom-blue-text);
  background: rgba(6, 82, 108, .24);
}

body.custom-tournament-mode-active:has(#customTournamentScreen:not([hidden])) :is(
  .custom-preview-match,
  .custom-seed-slot,
  .custom-library-team,
  .custom-team-picker-list > button,
  .custom-manager-picker-panel > div > button
) {
  background: rgba(5, 80, 105, .34);
}

body.custom-tournament-mode-active:has(#customTournamentScreen:not([hidden])) :is(
  .custom-slot-main:hover,
  .custom-team-picker-list > button:hover,
  .custom-manager-picker-panel > div > button:hover,
  .custom-manager-picker-panel > div > button.active
) {
  background: var(--custom-blue-panel-raised);
}

body.custom-tournament-mode-active:has(#customTournamentScreen:not([hidden])) .custom-seed-slot.is-target {
  background: #0e779a;
  box-shadow: inset 3px 0 var(--custom-blue-accent);
}

body.custom-tournament-mode-active:has(#customTournamentScreen:not([hidden])) :is(
  .custom-source-filter button,
  .custom-slot-actions button:hover,
  .custom-direct-actions button:hover,
  .custom-goal-row > button:hover,
  .custom-team-picker-panel > header button,
  .custom-manager-picker-panel > header button,
  .custom-team-picker-list i,
  .custom-match-rule-editor > header button
) {
  color: var(--custom-blue-muted);
  background: var(--custom-blue-panel-deep);
}

body.custom-tournament-mode-active:has(#customTournamentScreen:not([hidden])) :is(
  .custom-source-filter button:hover,
  .custom-source-filter button.active,
  .custom-group-fixture-editor article > header button:hover
) {
  color: var(--custom-blue-accent-ink);
  background: var(--custom-blue-accent);
}

body.custom-tournament-mode-active:has(#customTournamentScreen:not([hidden])) .custom-search {
  border-color: var(--custom-blue-border-strong);
  color: var(--custom-blue-muted);
  background: var(--custom-blue-panel-deep);
}

body.custom-tournament-mode-active:has(#customTournamentScreen:not([hidden])) .custom-search input {
  color: var(--custom-blue-text);
}

body.custom-tournament-mode-active:has(#customTournamentScreen:not([hidden])) :is(
  .custom-group-match-edits,
  .custom-group-fixture-editor,
  .custom-group-fixture-row
) {
  border-color: var(--custom-blue-border);
  background: var(--custom-blue-border);
}

body.custom-tournament-mode-active:has(#customTournamentScreen:not([hidden])) :is(
  .custom-group-match-edits button,
  .custom-group-fixture-editor article,
  .custom-fixed-result-fields
) {
  color: var(--custom-blue-muted);
  background: var(--custom-blue-panel-deep);
}

body.custom-tournament-mode-active:has(#customTournamentScreen:not([hidden])) .custom-group-match-edits button:hover {
  color: #fff;
  background: var(--custom-blue-panel-raised);
}

body.custom-tournament-mode-active:has(#customTournamentScreen:not([hidden])) .custom-group-fixture-editor article > header button {
  color: #cceefa;
  background: #0e7898;
}

body.custom-tournament-mode-active:has(#customTournamentScreen:not([hidden])) .custom-fixture-flag {
  color: var(--custom-blue-muted);
  background: #147d9d;
}

body.custom-tournament-mode-active:has(#customTournamentScreen:not([hidden])) .custom-editor-backdrop {
  background: rgba(3, 54, 72, .78);
}

body.custom-tournament-mode-active:has(#customTournamentScreen:not([hidden])) .custom-editor-modal :is(
  .custom-ratings-panel,
  .custom-match-rule-editor
) {
  box-shadow: 0 24px 70px rgba(1, 42, 57, .38);
}

body.custom-tournament-mode-active:has(#customTournamentScreen:not([hidden])) :is(
  .custom-panel-heading h2,
  .custom-library-heading,
  .custom-builder-group > header,
  .custom-slot-copy strong,
  .custom-preview-match strong,
  .custom-team-picker-list strong,
  .custom-manager-picker-panel strong
) {
  color: var(--custom-blue-text);
}

body.custom-tournament-mode-active:has(#customTournamentScreen:not([hidden])) :is(
  .custom-library-heading span,
  .custom-slot-copy small,
  .custom-preview-heading span,
  .custom-preview-match > small,
  .custom-team-picker-list small,
  .custom-manager-picker-panel small
) {
  color: var(--custom-blue-faint);
}

/* Completion screens get the full tablet canvas in every tournament theme. */
@media (min-width: 701px) and (max-width: 1366px) {
  body #mainContent:has(#championStage:not([hidden])) {
    grid-template-columns: minmax(0, 1080px);
    grid-template-areas:
      "stage"
      "board";
    justify-content: center;
    padding-inline: 20px;
  }

  body #mainContent:has(#championStage:not([hidden])) .insight-left,
  body #mainContent:has(#championStage:not([hidden])) .insight-right {
    display: none;
  }

  body #mainContent:has(#championStage:not([hidden])) .stage-column {
    width: 100%;
    max-width: 1080px;
  }

  #mainContent .champion-place strong {
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
  }
}

@media (max-width: 700px) {
  #mainContent .champion-podium-grid,
  #mainContent .champion-awards-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

body.standard-mode-active .retro-third-place-playoff {
  color: #78a0ff;
}

/* Achievement rewards stay in the same row across every retro theme. */
.achievement-country,
.retro-achievements-modal .achievement-country {
  grid-template-columns: 48px minmax(0, 1fr) auto;
}

@media (min-width: 821px) {
  .retro-achievements-modal .achievement-country {
    grid-template-columns: 38px minmax(0, 1fr) auto;
  }
}

@media (max-width: 520px) {
  .achievement-country,
  .retro-achievements-modal .achievement-country {
    grid-template-columns: 38px minmax(0, 1fr) auto;
    gap: 7px;
  }

  .achievement-country > b {
    font-size: 9px;
  }
}

/* One responsive achievement system, themed by the selected competition. */
#achievementsScreen[data-achievement-theme],
#retroAchievementsModal[data-achievement-theme] {
  --achievement-accent: #f6d12a;
  --achievement-accent-text: #073f2e;
  --achievement-surface: #075038;
  --achievement-surface-deep: #043b2b;
  --achievement-tab-surface: rgba(1, 39, 28, .74);
  --achievement-card: rgba(7, 78, 56, .72);
  --achievement-card-complete: #096347;
  --achievement-copy: #dcebbf;
  --achievement-muted: #a9bea9;
  --achievement-points: #f6d12a;
  --achievement-shadow: rgba(0, 32, 23, .38);
}

#achievementsScreen[data-achievement-theme="256"],
#retroAchievementsModal[data-achievement-theme="256"] {
  --achievement-accent: #6f96ff;
  --achievement-accent-text: #081425;
  --achievement-surface: #15243a;
  --achievement-surface-deep: #0d1726;
  --achievement-tab-surface: rgba(7, 15, 28, .76);
  --achievement-card: rgba(28, 46, 72, .84);
  --achievement-card-complete: #174c3d;
  --achievement-copy: #dbe5f6;
  --achievement-muted: #91a2ba;
  --achievement-points: #8eafff;
  --achievement-shadow: rgba(2, 8, 18, .42);
}

#achievementsScreen[data-achievement-theme="2006"],
#retroAchievementsModal[data-achievement-theme="2006"] {
  --achievement-accent: #f3d566;
  --achievement-accent-text: #071b2a;
  --achievement-surface: #0b5274;
  --achievement-surface-deep: #031b2b;
  --achievement-tab-surface: rgba(2, 25, 40, .82);
  --achievement-card: rgba(8, 69, 98, .84);
  --achievement-card-complete: #0e6285;
  --achievement-copy: #eaf8fd;
  --achievement-muted: #b9d4df;
  --achievement-points: #f3d566;
  --achievement-shadow: rgba(2, 22, 35, .46);
}

#achievementsScreen[data-achievement-theme="2010"],
#retroAchievementsModal[data-achievement-theme="2010"] {
  --achievement-accent: #f2c94c;
  --achievement-accent-text: #17251d;
  --achievement-surface: #1c3b2c;
  --achievement-surface-deep: #11271d;
  --achievement-tab-surface: rgba(8, 31, 21, .76);
  --achievement-card: rgba(31, 72, 51, .8);
  --achievement-card-complete: #236843;
  --achievement-copy: #e0ead8;
  --achievement-muted: #aebca8;
  --achievement-points: #f2c94c;
  --achievement-shadow: rgba(3, 22, 13, .42);
}

#achievementsScreen[data-achievement-theme="2016"],
#retroAchievementsModal[data-achievement-theme="2016"] {
  --achievement-accent: #ffdc38;
  --achievement-accent-text: #02143e;
  --achievement-surface: #0756aa;
  --achievement-surface-deep: #021d58;
  --achievement-tab-surface: rgba(2, 20, 62, .82);
  --achievement-card: rgba(4, 53, 125, .88);
  --achievement-card-complete: #086fb5;
  --achievement-copy: #effbff;
  --achievement-muted: #9edcf0;
  --achievement-points: #ffdc38;
  --achievement-shadow: rgba(1, 15, 54, .5);
}

#achievementsScreen[data-achievement-theme="2016"] .achievement-progress-panel,
#retroAchievementsModal[data-achievement-theme="2016"] {
  border-radius: 0;
  background:
    radial-gradient(circle at 88% 10%, rgba(111, 225, 255, .2), transparent 30%),
    repeating-radial-gradient(circle at 92% 6%, transparent 0 19px, rgba(151, 235, 255, .055) 20px 21px, transparent 22px 38px),
    linear-gradient(145deg, var(--achievement-surface), var(--achievement-surface-deep));
}

#achievementsScreen[data-achievement-theme="2020"],
#retroAchievementsModal[data-achievement-theme="2020"] {
  --achievement-accent: #b9dc18;
  --achievement-accent-text: #073f49;
  --achievement-surface: #087f8e;
  --achievement-surface-deep: #023743;
  --achievement-tab-surface: rgba(2, 55, 67, .86);
  --achievement-card: rgba(5, 102, 117, .9);
  --achievement-card-complete: #0a8996;
  --achievement-copy: #effdff;
  --achievement-muted: #b9e5e9;
  --achievement-points: #dff25c;
  --achievement-shadow: rgba(2, 55, 67, .5);
}

#achievementsScreen[data-achievement-theme="2020"] .achievement-progress-panel,
#retroAchievementsModal[data-achievement-theme="2020"] {
  border-radius: 2px;
  background:
    radial-gradient(circle at 88% 10%, rgba(185, 220, 24, .14), transparent 30%),
    linear-gradient(145deg, var(--achievement-surface), var(--achievement-surface-deep));
}

#achievementsScreen[data-achievement-theme="2018"],
#retroAchievementsModal[data-achievement-theme="2018"] {
  --achievement-accent: #c9343c;
  --achievement-accent-text: #fff8e7;
  --achievement-surface: #0b558d;
  --achievement-surface-deep: #07375f;
  --achievement-tab-surface: rgba(4, 43, 76, .78);
  --achievement-card: rgba(8, 77, 127, .84);
  --achievement-card-complete: #861f2a;
  --achievement-copy: #e1ecf8;
  --achievement-muted: #b4cbe0;
  --achievement-points: #e4c98f;
  --achievement-shadow: rgba(32, 4, 12, .42);
}

#achievementsScreen[data-achievement-theme="2022"],
#retroAchievementsModal[data-achievement-theme="2022"] {
  --achievement-accent: #d6b36d;
  --achievement-accent-text: #32101f;
  --achievement-surface: #6f173e;
  --achievement-surface-deep: #421028;
  --achievement-tab-surface: rgba(49, 8, 28, .78);
  --achievement-card: rgba(118, 27, 67, .82);
  --achievement-card-complete: #8f2857;
  --achievement-copy: #f0dfe7;
  --achievement-muted: #d0abbc;
  --achievement-points: #e2c483;
  --achievement-shadow: rgba(31, 4, 17, .46);
}

#achievementsScreen[data-achievement-theme="2026"],
#retroAchievementsModal[data-achievement-theme="2026"] {
  --achievement-accent: #ff9e2f;
  --achievement-accent-text: #07143d;
  --achievement-surface: #10286f;
  --achievement-surface-deep: #06164f;
  --achievement-tab-surface: rgba(3, 13, 52, .86);
  --achievement-card: rgba(18, 42, 112, .9);
  --achievement-card-complete: #1852bb;
  --achievement-copy: #f4f7ff;
  --achievement-muted: #c9d7ff;
  --achievement-points: #ffb45e;
  --achievement-shadow: rgba(0, 10, 52, .5);
}

.achievement-unlock-banner[data-achievement-theme="2026"] {
  border-top-color: #ff9e2f;
  color: #f4f7ff;
  background:
    radial-gradient(circle at 92% 0%, rgba(55, 104, 255, .38), transparent 40%),
    linear-gradient(135deg, #10286f, #06164f);
  box-shadow: 0 14px 34px rgba(0, 10, 52, .48);
}

.achievement-unlock-banner[data-achievement-theme="2026"] .achievement-unlock-banner-mark {
  color: #07143d;
  background: #ff9e2f;
}

.achievement-unlock-banner[data-achievement-theme="2026"] :is(
  small,
  .achievement-unlock-banner-arrow
) {
  color: #ffb45e;
}

.achievement-unlock-modal[data-achievement-theme="2026"] {
  border: 1px solid rgba(255, 255, 255, .22);
  border-top: 5px solid #ff9e2f;
  color: #f4f7ff;
  background:
    radial-gradient(circle at 92% 0%, rgba(55, 104, 255, .34), transparent 38%),
    linear-gradient(145deg, #10286f, #06164f);
  box-shadow: 0 28px 72px rgba(0, 10, 52, .56);
}

.achievement-unlock-modal[data-achievement-theme="2026"]::backdrop {
  background: rgba(1, 7, 30, .8);
  backdrop-filter: blur(5px);
}

.achievement-unlock-modal[data-achievement-theme="2026"] .achievement-unlock-mark {
  color: #07143d;
  background: #ff9e2f;
}

.achievement-unlock-modal[data-achievement-theme="2026"] :is(
  .achievement-unlock-kicker,
  .achievement-unlock-close
) {
  color: #ffb45e;
}

.achievement-unlock-modal[data-achievement-theme="2026"] p {
  color: #c9d7ff;
}

.achievement-unlock-modal[data-achievement-theme="2026"] .achievement-unlock-action {
  border-color: #ff9e2f;
  color: #07143d;
  background: #ff9e2f;
  box-shadow: 0 5px 0 #d47a12;
  transition: transform 140ms cubic-bezier(.23, 1, .32, 1), box-shadow 140ms ease;
}

.achievement-unlock-modal[data-achievement-theme="2026"] .achievement-unlock-action:active {
  transform: translateY(2px) scale(.98);
  box-shadow: 0 2px 0 #d47a12;
}

.achievement-unlock-banner[data-achievement-theme="la-liga-2026-27"] {
  border-top-color: #ff963f;
  color: #fff6f2;
  background:
    radial-gradient(circle at 92% 0%, rgba(242, 59, 135, .42), transparent 43%),
    linear-gradient(135deg, #5e1949, #21071b);
  box-shadow: 0 14px 34px rgba(33, 7, 27, .54);
}

.achievement-unlock-banner[data-achievement-theme="la-liga-2026-27"] .achievement-unlock-banner-mark {
  color: #240719;
  background: #ff963f;
}

.achievement-unlock-banner[data-achievement-theme="la-liga-2026-27"] :is(
  small,
  .achievement-unlock-banner-arrow
) {
  color: #ffb388;
}

.achievement-unlock-modal[data-achievement-theme="la-liga-2026-27"] {
  border: 1px solid rgba(255, 255, 255, .16);
  border-top: 5px solid #ff963f;
  color: #fff6f2;
  background:
    radial-gradient(circle at 92% 0%, rgba(242, 59, 135, .34), transparent 41%),
    linear-gradient(145deg, #5e1949, #21071b);
  box-shadow: 0 28px 72px rgba(33, 7, 27, .62);
}

.achievement-unlock-modal[data-achievement-theme="la-liga-2026-27"]::backdrop {
  background: rgba(25, 4, 20, .84);
  backdrop-filter: blur(5px);
}

.achievement-unlock-modal[data-achievement-theme="la-liga-2026-27"] .achievement-unlock-mark {
  color: #240719;
  background: #ff963f;
}

.achievement-unlock-modal[data-achievement-theme="la-liga-2026-27"] :is(
  .achievement-unlock-kicker,
  .achievement-unlock-close
) {
  color: #ffb388;
}

.achievement-unlock-modal[data-achievement-theme="la-liga-2026-27"] p {
  color: #e0b1c4;
}

.achievement-unlock-modal[data-achievement-theme="la-liga-2026-27"] .achievement-unlock-action {
  border-color: #ff963f;
  color: #240719;
  background: #ff963f;
  box-shadow: 0 5px 0 #c65338;
}

.achievement-unlock-modal[data-achievement-theme="la-liga-2026-27"] .achievement-unlock-action:active {
  transform: translateY(2px) scale(.98);
  box-shadow: 0 2px 0 #c65338;
}

.achievement-unlock-banner[data-achievement-theme="ligue-1-2026-27"] {
  border-top-color: #c9ff08;
  color: #f7fbff;
  background:
    radial-gradient(circle at 92% 0%, rgba(55, 201, 223, .36), transparent 43%),
    linear-gradient(135deg, #0a214a, #03102f);
  box-shadow: 0 14px 34px rgba(3, 16, 47, .58);
}

.achievement-unlock-banner[data-achievement-theme="ligue-1-2026-27"] .achievement-unlock-banner-mark {
  color: #03102f;
  background: #c9ff08;
}

.achievement-unlock-banner[data-achievement-theme="ligue-1-2026-27"] :is(
  small,
  .achievement-unlock-banner-arrow
) {
  color: #37c9df;
}

.achievement-unlock-modal[data-achievement-theme="ligue-1-2026-27"] {
  border: 1px solid rgba(55, 201, 223, .28);
  border-top: 5px solid #c9ff08;
  color: #f7fbff;
  background:
    radial-gradient(circle at 92% 0%, rgba(55, 201, 223, .3), transparent 41%),
    linear-gradient(145deg, #0a214a, #03102f);
  box-shadow: 0 28px 72px rgba(3, 16, 47, .7);
}

.achievement-unlock-modal[data-achievement-theme="ligue-1-2026-27"]::backdrop {
  background: rgba(2, 10, 31, .86);
  backdrop-filter: blur(5px);
}

.achievement-unlock-modal[data-achievement-theme="ligue-1-2026-27"] .achievement-unlock-mark {
  color: #03102f;
  background: #c9ff08;
}

.achievement-unlock-modal[data-achievement-theme="ligue-1-2026-27"] :is(
  .achievement-unlock-kicker,
  .achievement-unlock-close
) {
  color: #37c9df;
}

.achievement-unlock-modal[data-achievement-theme="ligue-1-2026-27"] p {
  color: #9db4d7;
}

.achievement-unlock-modal[data-achievement-theme="ligue-1-2026-27"] .achievement-unlock-action {
  border-color: #c9ff08;
  color: #03102f;
  background: #c9ff08;
  box-shadow: 0 5px 0 #729500;
}

.achievement-unlock-modal[data-achievement-theme="ligue-1-2026-27"] .achievement-unlock-action:active {
  transform: translateY(2px) scale(.98);
  box-shadow: 0 2px 0 #729500;
}

.achievement-unlock-banner[data-achievement-theme="bundesliga-2026-27"] {
  border-top-color: #e30613;
  color: #fff;
  background:
    radial-gradient(circle at 92% 0%, rgba(227, 6, 19, .38), transparent 42%),
    linear-gradient(135deg, #2b2b2b, #080808);
  box-shadow: 0 14px 34px rgba(0, 0, 0, .62);
}

.achievement-unlock-banner[data-achievement-theme="bundesliga-2026-27"] .achievement-unlock-banner-mark {
  color: #fff;
  background: #e30613;
}

.achievement-unlock-banner[data-achievement-theme="bundesliga-2026-27"] :is(
  small,
  .achievement-unlock-banner-arrow
) {
  color: #ff7b84;
}

.achievement-unlock-modal[data-achievement-theme="bundesliga-2026-27"] {
  border: 1px solid rgba(255, 255, 255, .16);
  border-top: 5px solid #e30613;
  color: #fff;
  background:
    radial-gradient(circle at 92% 0%, rgba(227, 6, 19, .3), transparent 40%),
    linear-gradient(145deg, #2b2b2b, #080808);
  box-shadow: 0 28px 72px rgba(0, 0, 0, .72);
}

.achievement-unlock-modal[data-achievement-theme="bundesliga-2026-27"]::backdrop {
  background: rgba(0, 0, 0, .86);
  backdrop-filter: blur(5px);
}

.achievement-unlock-modal[data-achievement-theme="bundesliga-2026-27"] .achievement-unlock-mark {
  color: #fff;
  background: #e30613;
}

.achievement-unlock-modal[data-achievement-theme="bundesliga-2026-27"] :is(
  .achievement-unlock-kicker,
  .achievement-unlock-close
) {
  color: #ff7b84;
}

.achievement-unlock-modal[data-achievement-theme="bundesliga-2026-27"] p {
  color: #d8d8d8;
}

.achievement-unlock-modal[data-achievement-theme="bundesliga-2026-27"] .achievement-unlock-action {
  border-color: #e30613;
  color: #fff;
  background: #e30613;
  box-shadow: 0 5px 0 #870008;
}

.achievement-unlock-modal[data-achievement-theme="bundesliga-2026-27"] .achievement-unlock-action:active {
  transform: translateY(2px) scale(.98);
  box-shadow: 0 2px 0 #870008;
}

.achievement-unlock-banner[data-achievement-theme="super-lig-2026-27"] {
  border-top-color: #e21937;
  color: #f8faff;
  background:
    radial-gradient(circle at 8% 0%, rgba(226, 25, 55, .4), transparent 45%),
    linear-gradient(135deg, #25182f, #06172b);
  box-shadow: 0 14px 34px rgba(2, 9, 19, .64);
}

.achievement-unlock-banner[data-achievement-theme="super-lig-2026-27"] .achievement-unlock-banner-mark {
  color: #fff;
  background: #e21937;
}

.achievement-unlock-banner[data-achievement-theme="super-lig-2026-27"] :is(
  small,
  .achievement-unlock-banner-arrow
) {
  color: #b7c4d8;
}

.achievement-unlock-modal[data-achievement-theme="super-lig-2026-27"] {
  border: 1px solid rgba(226, 25, 55, .55);
  border-top: 5px solid #e21937;
  color: #f8faff;
  background:
    radial-gradient(circle at 8% 0%, rgba(226, 25, 55, .3), transparent 43%),
    linear-gradient(145deg, #25182f, #06172b);
  box-shadow: 0 28px 72px rgba(2, 9, 19, .76);
}

.achievement-unlock-modal[data-achievement-theme="super-lig-2026-27"]::backdrop {
  background: rgba(2, 9, 19, .88);
  backdrop-filter: blur(5px);
}

.achievement-unlock-modal[data-achievement-theme="super-lig-2026-27"] .achievement-unlock-mark {
  color: #fff;
  background: #e21937;
}

.achievement-unlock-modal[data-achievement-theme="super-lig-2026-27"] :is(
  .achievement-unlock-kicker,
  .achievement-unlock-close
) {
  color: #ff8495;
}

.achievement-unlock-modal[data-achievement-theme="super-lig-2026-27"] p {
  color: #b7c4d8;
}

.achievement-unlock-modal[data-achievement-theme="super-lig-2026-27"] .achievement-unlock-action {
  border-color: #e21937;
  color: #fff;
  background: #e21937;
  box-shadow: 0 5px 0 #8d1435;
}

.achievement-unlock-modal[data-achievement-theme="super-lig-2026-27"] .achievement-unlock-action:active {
  transform: translateY(2px) scale(.98);
  box-shadow: 0 2px 0 #8d1435;
}

.achievement-unlock-banner[data-achievement-theme="eredivisie-2026-27"] {
  border-top-color: #ff315f;
  color: #fff7fc;
  background:
    radial-gradient(circle at 92% 0%, rgba(255, 49, 95, .36), transparent 43%),
    linear-gradient(135deg, #2b2373, #120c4a);
  box-shadow: 0 14px 34px rgba(5, 2, 34, .6);
}

.achievement-unlock-banner[data-achievement-theme="eredivisie-2026-27"] .achievement-unlock-banner-mark {
  color: #120c4a;
  background: #ff315f;
}

.achievement-unlock-banner[data-achievement-theme="eredivisie-2026-27"] :is(
  small,
  .achievement-unlock-banner-arrow
) {
  color: #9b86ff;
}

.achievement-unlock-modal[data-achievement-theme="eredivisie-2026-27"] {
  border: 1px solid rgba(255, 49, 95, .58);
  border-top: 5px solid #ff315f;
  color: #fff7fc;
  background:
    radial-gradient(circle at 92% 0%, rgba(255, 49, 95, .28), transparent 41%),
    linear-gradient(145deg, #2b2373, #120c4a);
  box-shadow: 0 28px 72px rgba(5, 2, 34, .72);
}

.achievement-unlock-modal[data-achievement-theme="eredivisie-2026-27"]::backdrop {
  background: rgba(7, 3, 42, .87);
  backdrop-filter: blur(5px);
}

.achievement-unlock-modal[data-achievement-theme="eredivisie-2026-27"] .achievement-unlock-mark {
  color: #120c4a;
  background: #ff315f;
}

.achievement-unlock-modal[data-achievement-theme="eredivisie-2026-27"] :is(
  .achievement-unlock-kicker,
  .achievement-unlock-close
) {
  color: #9b86ff;
}

.achievement-unlock-modal[data-achievement-theme="eredivisie-2026-27"] p {
  color: #c7bde4;
}

.achievement-unlock-modal[data-achievement-theme="eredivisie-2026-27"] .achievement-unlock-action {
  border-color: #ff315f;
  color: #120c4a;
  background: #ff315f;
  box-shadow: 0 5px 0 #9e1539;
}

.achievement-unlock-modal[data-achievement-theme="eredivisie-2026-27"] .achievement-unlock-action:active {
  transform: translateY(2px) scale(.98);
  box-shadow: 0 2px 0 #9e1539;
}

.achievement-unlock-banner[data-achievement-theme="liga-portugal-2026-27"] {
  border-top-color: #7fb0ff;
  color: #f7f9ff;
  background:
    radial-gradient(circle at 92% 0%, rgba(127, 176, 255, .32), transparent 42%),
    linear-gradient(135deg, #082e68, #02132f);
  box-shadow: 0 14px 34px rgba(0, 10, 30, .62);
}

.achievement-unlock-banner[data-achievement-theme="liga-portugal-2026-27"] .achievement-unlock-banner-mark {
  color: #031b40;
  background: #9ac2ff;
}

.achievement-unlock-banner[data-achievement-theme="liga-portugal-2026-27"] :is(
  small,
  .achievement-unlock-banner-arrow
) {
  color: #b9c9e5;
}

.achievement-unlock-modal[data-achievement-theme="liga-portugal-2026-27"] {
  border: 1px solid rgba(127, 176, 255, .5);
  border-top: 5px solid #7fb0ff;
  color: #f7f9ff;
  background:
    radial-gradient(circle at 92% 0%, rgba(127, 176, 255, .24), transparent 40%),
    linear-gradient(145deg, #082e68, #02132f);
  box-shadow: 0 28px 72px rgba(0, 10, 30, .76);
}

.achievement-unlock-modal[data-achievement-theme="liga-portugal-2026-27"]::backdrop {
  background: rgba(0, 9, 25, .88);
  backdrop-filter: blur(5px);
}

.achievement-unlock-modal[data-achievement-theme="liga-portugal-2026-27"] .achievement-unlock-mark {
  color: #031b40;
  background: #9ac2ff;
}

.achievement-unlock-modal[data-achievement-theme="liga-portugal-2026-27"] :is(
  .achievement-unlock-kicker,
  .achievement-unlock-close
) {
  color: #9ac2ff;
}

.achievement-unlock-modal[data-achievement-theme="liga-portugal-2026-27"] p {
  color: #b9c9e5;
}

.achievement-unlock-modal[data-achievement-theme="liga-portugal-2026-27"] .achievement-unlock-action {
  border-color: #9ac2ff;
  color: #031b40;
  background: #9ac2ff;
  box-shadow: 0 5px 0 #356eaf;
}

.achievement-unlock-modal[data-achievement-theme="liga-portugal-2026-27"] .achievement-unlock-action:active {
  transform: translateY(2px) scale(.98);
  box-shadow: 0 2px 0 #356eaf;
}

.achievement-unlock-banner[data-achievement-theme="saudi-pro-league-2026-27"] {
  border-top-color: #94e9b9;
  color: #f6fff9;
  background:
    radial-gradient(circle at 92% 0%, rgba(148, 233, 185, .3), transparent 42%),
    linear-gradient(135deg, #005430, #001d12);
  box-shadow: 0 14px 34px rgba(0, 24, 14, .64);
}

.achievement-unlock-banner[data-achievement-theme="saudi-pro-league-2026-27"] .achievement-unlock-banner-mark {
  color: #002b19;
  background: #94e9b9;
}

.achievement-unlock-banner[data-achievement-theme="saudi-pro-league-2026-27"] :is(
  small,
  .achievement-unlock-banner-arrow
) {
  color: #b8ddca;
}

.achievement-unlock-modal[data-achievement-theme="saudi-pro-league-2026-27"] {
  border: 1px solid rgba(201, 246, 220, .5);
  border-top: 5px solid #94e9b9;
  color: #f6fff9;
  background:
    radial-gradient(circle at 92% 0%, rgba(148, 233, 185, .22), transparent 40%),
    linear-gradient(145deg, #005430, #001d12);
  box-shadow: 0 28px 72px rgba(0, 24, 14, .78);
}

.achievement-unlock-modal[data-achievement-theme="saudi-pro-league-2026-27"]::backdrop {
  background: rgba(0, 22, 13, .88);
  backdrop-filter: blur(5px);
}

.achievement-unlock-modal[data-achievement-theme="saudi-pro-league-2026-27"] .achievement-unlock-mark {
  color: #002b19;
  background: #94e9b9;
}

.achievement-unlock-modal[data-achievement-theme="saudi-pro-league-2026-27"] :is(
  .achievement-unlock-kicker,
  .achievement-unlock-close
) {
  color: #c9f6dc;
}

.achievement-unlock-modal[data-achievement-theme="saudi-pro-league-2026-27"] p {
  color: #b8ddca;
}

.achievement-unlock-modal[data-achievement-theme="saudi-pro-league-2026-27"] .achievement-unlock-action {
  border-color: #94e9b9;
  color: #002b19;
  background: #94e9b9;
  box-shadow: 0 5px 0 #005430;
}

.achievement-unlock-modal[data-achievement-theme="saudi-pro-league-2026-27"] .achievement-unlock-action:active {
  transform: translateY(2px) scale(.98);
  box-shadow: 0 2px 0 #005430;
}

.achievement-unlock-banner[data-achievement-theme="major-league-soccer-2026"] {
  border-top-color: #ff4a51;
  color: #fff8f8;
  background:
    radial-gradient(circle at 92% 0%, rgba(255, 116, 121, .3), transparent 42%),
    linear-gradient(135deg, #a81019, #0b0305);
  box-shadow: 0 14px 34px rgba(35, 1, 5, .68);
}

.achievement-unlock-banner[data-achievement-theme="major-league-soccer-2026"] .achievement-unlock-banner-mark {
  color: #fff;
  background: #e2232a;
}

.achievement-unlock-banner[data-achievement-theme="major-league-soccer-2026"] :is(
  small,
  .achievement-unlock-banner-arrow
) {
  color: #e0b9bd;
}

.achievement-unlock-modal[data-achievement-theme="major-league-soccer-2026"] {
  border: 1px solid rgba(255, 220, 222, .5);
  border-top: 5px solid #ff4a51;
  color: #fff8f8;
  background:
    radial-gradient(circle at 92% 0%, rgba(255, 116, 121, .22), transparent 40%),
    linear-gradient(145deg, #a81019, #0b0305);
  box-shadow: 0 28px 72px rgba(35, 1, 5, .78);
}

.achievement-unlock-modal[data-achievement-theme="major-league-soccer-2026"]::backdrop {
  background: rgba(15, 1, 4, .9);
  backdrop-filter: blur(5px);
}

.achievement-unlock-modal[data-achievement-theme="major-league-soccer-2026"] .achievement-unlock-mark {
  color: #fff;
  background: #e2232a;
}

.achievement-unlock-modal[data-achievement-theme="major-league-soccer-2026"] :is(
  .achievement-unlock-kicker,
  .achievement-unlock-close
) {
  color: #ff969a;
}

.achievement-unlock-modal[data-achievement-theme="major-league-soccer-2026"] p {
  color: #e0b9bd;
}

.achievement-unlock-modal[data-achievement-theme="major-league-soccer-2026"] .achievement-unlock-action {
  border-color: #ff4a51;
  color: #fff;
  background: #e2232a;
  box-shadow: 0 5px 0 #7c141e;
}

.achievement-unlock-modal[data-achievement-theme="major-league-soccer-2026"] .achievement-unlock-action:active {
  transform: translateY(2px) scale(.98);
  box-shadow: 0 2px 0 #7c141e;
}

.achievement-unlock-banner[data-achievement-theme="championship-2026-27"] {
  border-top-color: #d1ae46;
  color: #fffdf4;
  background:
    radial-gradient(circle at 92% 0%, rgba(209, 174, 70, .3), transparent 42%),
    linear-gradient(135deg, #122a87, #06165f);
  box-shadow: 0 14px 34px rgba(2, 12, 55, .58);
}

.achievement-unlock-banner[data-achievement-theme="championship-2026-27"] .achievement-unlock-banner-mark {
  color: #06165f;
  background: #d1ae46;
}

.achievement-unlock-banner[data-achievement-theme="championship-2026-27"] :is(
  small,
  .achievement-unlock-banner-arrow
) {
  color: #f1d879;
}

.achievement-unlock-modal[data-achievement-theme="championship-2026-27"] {
  border: 1px solid rgba(209, 174, 70, .42);
  border-top: 5px solid #d1ae46;
  color: #fffdf4;
  background:
    radial-gradient(circle at 92% 0%, rgba(209, 174, 70, .24), transparent 40%),
    linear-gradient(145deg, #122a87, #06165f);
  box-shadow: 0 28px 72px rgba(2, 12, 55, .7);
}

.achievement-unlock-modal[data-achievement-theme="championship-2026-27"]::backdrop {
  background: rgba(1, 7, 31, .86);
  backdrop-filter: blur(5px);
}

.achievement-unlock-modal[data-achievement-theme="championship-2026-27"] .achievement-unlock-mark {
  color: #06165f;
  background: #d1ae46;
}

.achievement-unlock-modal[data-achievement-theme="championship-2026-27"] :is(
  .achievement-unlock-kicker,
  .achievement-unlock-close
) {
  color: #f1d879;
}

.achievement-unlock-modal[data-achievement-theme="championship-2026-27"] p {
  color: #d6defb;
}

.achievement-unlock-modal[data-achievement-theme="championship-2026-27"] .achievement-unlock-action {
  border-color: #d1ae46;
  color: #06165f;
  background: #d1ae46;
  box-shadow: 0 5px 0 #927426;
}

.achievement-unlock-modal[data-achievement-theme="championship-2026-27"] .achievement-unlock-action:active {
  transform: translateY(2px) scale(.98);
  box-shadow: 0 2px 0 #927426;
}

.achievement-unlock-banner[data-achievement-theme="uel"] {
  border-top-color: #f36b2b;
  color: #fffaf5;
  background:
    radial-gradient(circle at 92% 0%, rgba(243, 107, 43, .3), transparent 42%),
    linear-gradient(135deg, #211a16, #080706);
  box-shadow: 0 14px 34px rgba(0, 0, 0, .58);
}

.achievement-unlock-banner[data-achievement-theme="uel"] .achievement-unlock-banner-mark {
  color: #090807;
  background: #f36b2b;
}

.achievement-unlock-banner[data-achievement-theme="uel"] :is(
  small,
  .achievement-unlock-banner-arrow
) {
  color: #f6a071;
}

.achievement-unlock-modal[data-achievement-theme="uel"] {
  border: 1px solid rgba(255, 255, 255, .12);
  border-top: 5px solid #f36b2b;
  color: #fffaf5;
  background:
    radial-gradient(circle at 92% 0%, rgba(243, 107, 43, .25), transparent 40%),
    linear-gradient(145deg, #211a16, #080706);
  box-shadow: 0 28px 72px rgba(0, 0, 0, .7);
}

.achievement-unlock-modal[data-achievement-theme="uel"]::backdrop {
  background: rgba(3, 3, 3, .86);
  backdrop-filter: blur(5px);
}

.achievement-unlock-modal[data-achievement-theme="uel"] .achievement-unlock-mark {
  color: #090807;
  background: #f36b2b;
}

.achievement-unlock-modal[data-achievement-theme="uel"] :is(
  .achievement-unlock-kicker,
  .achievement-unlock-close
) {
  color: #f6a071;
}

.achievement-unlock-modal[data-achievement-theme="uel"] p {
  color: #bdb4ad;
}

.achievement-unlock-modal[data-achievement-theme="uel"] .achievement-unlock-action {
  border-color: #f36b2b;
  color: #090807;
  background: #f36b2b;
  box-shadow: 0 5px 0 #9f3c16;
}

.achievement-unlock-modal[data-achievement-theme="uel"] .achievement-unlock-action:active {
  transform: translateY(2px) scale(.98);
  box-shadow: 0 2px 0 #9f3c16;
}

.achievement-unlock-banner[data-achievement-theme="uecl"] {
  border-top-color: #00f169;
  color: #f7fff9;
  background:
    radial-gradient(circle at 92% 0%, rgba(0, 241, 105, .26), transparent 42%),
    linear-gradient(135deg, #082519, #030806);
  box-shadow: 0 14px 34px rgba(0, 0, 0, .62);
}

.achievement-unlock-banner[data-achievement-theme="uecl"] .achievement-unlock-banner-mark {
  color: #031008;
  background: #00f169;
}

.achievement-unlock-banner[data-achievement-theme="uecl"] :is(small, .achievement-unlock-banner-arrow) {
  color: #8ff2b6;
}

.achievement-unlock-modal[data-achievement-theme="uecl"] {
  border: 1px solid rgba(0, 241, 105, .3);
  border-top: 5px solid #00f169;
  color: #f7fff9;
  background:
    radial-gradient(circle at 92% 0%, rgba(0, 241, 105, .2), transparent 40%),
    linear-gradient(145deg, #082519, #030806);
  box-shadow: 0 28px 72px rgba(0, 0, 0, .74);
}

.achievement-unlock-modal[data-achievement-theme="uecl"]::backdrop {
  background: rgba(1, 5, 3, .88);
  backdrop-filter: blur(5px);
}

.achievement-unlock-modal[data-achievement-theme="uecl"] .achievement-unlock-mark {
  color: #031008;
  background: #00f169;
}

.achievement-unlock-modal[data-achievement-theme="uecl"] .achievement-unlock-kicker {
  display: none;
}

.achievement-unlock-modal[data-achievement-theme="uecl"] .achievement-unlock-close {
  color: #8ff2b6;
}

.achievement-unlock-modal[data-achievement-theme="uecl"] p {
  color: #b4d5c0;
}

.achievement-unlock-modal[data-achievement-theme="uecl"] .achievement-unlock-action {
  border-color: #00f169;
  color: #031008;
  background: #00f169;
  box-shadow: 0 5px 0 #008b3c;
}

.achievement-unlock-modal[data-achievement-theme="uecl"] .achievement-unlock-action:active {
  transform: translateY(2px) scale(.98);
  box-shadow: 0 2px 0 #008b3c;
}

#achievementsScreen[data-achievement-theme="pl"],
#retroAchievementsModal[data-achievement-theme="pl"] {
  --achievement-accent: #c98cf0;
  --achievement-accent-text: #21082f;
  --achievement-surface: #48205f;
  --achievement-surface-deep: #21082e;
  --achievement-tab-surface: rgba(25, 5, 35, .8);
  --achievement-card: rgba(80, 35, 103, .84);
  --achievement-card-complete: #75409a;
  --achievement-copy: #f2e7f8;
  --achievement-muted: #cfb4dd;
  --achievement-points: #e2b6fb;
  --achievement-shadow: rgba(20, 3, 30, .48);
}

#achievementsScreen[data-achievement-theme="la-liga-2026-27"],
#retroAchievementsModal[data-achievement-theme="la-liga-2026-27"] {
  --achievement-accent: #ff963f;
  --achievement-accent-text: #240719;
  --achievement-surface: #5e1949;
  --achievement-surface-deep: #21071b;
  --achievement-tab-surface: rgba(35, 6, 27, .84);
  --achievement-card: rgba(111, 29, 82, .8);
  --achievement-card-complete: #a32f69;
  --achievement-copy: #fff6f2;
  --achievement-muted: #e0b1c4;
  --achievement-points: #ffb36d;
  --achievement-shadow: rgba(33, 7, 27, .54);
}

#achievementsScreen[data-achievement-theme="ligue-1-2026-27"],
#retroAchievementsModal[data-achievement-theme="ligue-1-2026-27"] {
  --achievement-accent: #c9ff08;
  --achievement-accent-text: #03102f;
  --achievement-surface: #0a214a;
  --achievement-surface-deep: #03102f;
  --achievement-tab-surface: rgba(3, 16, 47, .86);
  --achievement-card: rgba(10, 33, 74, .88);
  --achievement-card-complete: #123d58;
  --achievement-copy: #f7fbff;
  --achievement-muted: #9db4d7;
  --achievement-points: #c9ff08;
  --achievement-shadow: rgba(3, 16, 47, .58);
}

#achievementsScreen[data-achievement-theme="bundesliga-2026-27"],
#retroAchievementsModal[data-achievement-theme="bundesliga-2026-27"] {
  --achievement-accent: #e30613;
  --achievement-accent-text: #fff;
  --achievement-surface: #2b2b2b;
  --achievement-surface-deep: #080808;
  --achievement-tab-surface: rgba(0, 0, 0, .78);
  --achievement-card: rgba(38, 38, 38, .92);
  --achievement-card-complete: #4a0b10;
  --achievement-copy: #f5f5f5;
  --achievement-muted: #b9b9b9;
  --achievement-points: #ff7b84;
  --achievement-shadow: rgba(0, 0, 0, .64);
}

#achievementsScreen[data-achievement-theme="super-lig-2026-27"],
#retroAchievementsModal[data-achievement-theme="super-lig-2026-27"] {
  --achievement-accent: #e21937;
  --achievement-accent-text: #fff;
  --achievement-surface: #25182f;
  --achievement-surface-deep: #06172b;
  --achievement-tab-surface: rgba(6, 23, 43, .9);
  --achievement-card: rgba(12, 29, 52, .92);
  --achievement-card-complete: #441a2e;
  --achievement-copy: #f8faff;
  --achievement-muted: #b7c4d8;
  --achievement-points: #459cff;
  --achievement-shadow: rgba(2, 9, 19, .66);
}

#achievementsScreen[data-achievement-theme="eredivisie-2026-27"],
#retroAchievementsModal[data-achievement-theme="eredivisie-2026-27"] {
  --achievement-accent: #ff315f;
  --achievement-accent-text: #120c4a;
  --achievement-surface: #2b2373;
  --achievement-surface-deep: #120c4a;
  --achievement-tab-surface: rgba(18, 12, 74, .9);
  --achievement-card: rgba(33, 26, 99, .9);
  --achievement-card-complete: #512463;
  --achievement-copy: #fff7fc;
  --achievement-muted: #c7bde4;
  --achievement-points: #ff5a7d;
  --achievement-shadow: rgba(5, 2, 34, .62);
}

#achievementsScreen[data-achievement-theme="liga-portugal-2026-27"],
#retroAchievementsModal[data-achievement-theme="liga-portugal-2026-27"] {
  --achievement-accent: #7fb0ff;
  --achievement-accent-text: #031b40;
  --achievement-surface: #082e68;
  --achievement-surface-deep: #02132f;
  --achievement-tab-surface: rgba(2, 19, 47, .86);
  --achievement-card: rgba(11, 55, 119, .9);
  --achievement-card-complete: #0c4d91;
  --achievement-copy: #f7f9ff;
  --achievement-muted: #b9c9e5;
  --achievement-points: #9ac2ff;
  --achievement-shadow: rgba(0, 10, 30, .62);
}

#achievementsScreen[data-achievement-theme="saudi-pro-league-2026-27"],
#retroAchievementsModal[data-achievement-theme="saudi-pro-league-2026-27"] {
  --achievement-accent: #94e9b9;
  --achievement-accent-text: #002b19;
  --achievement-surface: #00462a;
  --achievement-surface-deep: #001d12;
  --achievement-tab-surface: rgba(0, 29, 18, .88);
  --achievement-card: rgba(0, 70, 42, .92);
  --achievement-card-complete: #0a754b;
  --achievement-copy: #f6fff9;
  --achievement-muted: #b8ddca;
  --achievement-points: #c9f6dc;
  --achievement-shadow: rgba(0, 24, 14, .64);
}

#achievementsScreen[data-achievement-theme="major-league-soccer-2026"],
#retroAchievementsModal[data-achievement-theme="major-league-soccer-2026"] {
  --achievement-accent: #ff4a51;
  --achievement-accent-text: #fff;
  --achievement-surface: #2b0b10;
  --achievement-surface-deep: #0b0305;
  --achievement-tab-surface: rgba(11, 3, 5, .9);
  --achievement-card: rgba(70, 16, 24, .92);
  --achievement-card-complete: #7c141e;
  --achievement-copy: #fff8f8;
  --achievement-muted: #e0b9bd;
  --achievement-points: #ff969a;
  --achievement-shadow: rgba(35, 1, 5, .68);
}

#achievementsScreen[data-achievement-theme="championship-2026-27"],
#retroAchievementsModal[data-achievement-theme="championship-2026-27"] {
  --achievement-accent: #d1ae46;
  --achievement-accent-text: #06165f;
  --achievement-surface: #122a87;
  --achievement-surface-deep: #06165f;
  --achievement-tab-surface: rgba(2, 12, 55, .82);
  --achievement-card: rgba(17, 40, 127, .9);
  --achievement-card-complete: #263f91;
  --achievement-copy: #fffdf4;
  --achievement-muted: #d6defb;
  --achievement-points: #f1d879;
  --achievement-shadow: rgba(2, 12, 55, .62);
}

#achievementsScreen[data-achievement-theme="ucl"],
#retroAchievementsModal[data-achievement-theme="ucl"] {
  --achievement-accent: #f2c94c;
  --achievement-accent-text: #07152f;
  --achievement-surface: #123a83;
  --achievement-surface-deep: #061a4a;
  --achievement-tab-surface: rgba(3, 15, 49, .82);
  --achievement-card: rgba(17, 55, 122, .86);
  --achievement-card-complete: #1858a3;
  --achievement-copy: #e6efff;
  --achievement-muted: #b6c9ed;
  --achievement-points: #f5d46d;
  --achievement-shadow: rgba(1, 9, 35, .52);
}

#achievementsScreen[data-achievement-theme="uel"],
#retroAchievementsModal[data-achievement-theme="uel"] {
  --achievement-accent: #f36b2b;
  --achievement-accent-text: #090807;
  --achievement-surface: #211a16;
  --achievement-surface-deep: #080706;
  --achievement-tab-surface: rgba(5, 5, 4, .88);
  --achievement-card: rgba(37, 30, 26, .9);
  --achievement-card-complete: #4a2b1d;
  --achievement-copy: #fffaf5;
  --achievement-muted: #bdb4ad;
  --achievement-points: #f6a071;
  --achievement-shadow: rgba(0, 0, 0, .62);
}

#achievementsScreen[data-achievement-theme="uecl"],
#retroAchievementsModal[data-achievement-theme="uecl"] {
  --achievement-accent: #00f169;
  --achievement-accent-text: #031008;
  --achievement-surface: #082519;
  --achievement-surface-deep: #030806;
  --achievement-tab-surface: rgba(1, 10, 6, .9);
  --achievement-card: rgba(8, 48, 29, .9);
  --achievement-card-complete: #09663a;
  --achievement-copy: #f7fff9;
  --achievement-muted: #b4d5c0;
  --achievement-points: #8ff2b6;
  --achievement-shadow: rgba(0, 0, 0, .68);
}

#achievementsScreen[data-achievement-theme="uecl"] .achievements-mode-label,
#retroAchievementsModal[data-achievement-theme="uecl"] .achievements-mode-label {
  display: none;
}

#achievementsScreen[data-achievement-theme] .achievements-intro {
  max-width: 720px;
}

.achievements-mode-label {
  display: block;
  margin-bottom: 8px;
  color: var(--achievement-accent);
  font: 800 11px/1 "DM Mono", monospace;
  letter-spacing: .12em;
}

#achievementsScreen[data-achievement-theme] .achievements-intro p {
  color: var(--achievement-muted);
}

#achievementsScreen[data-achievement-theme] .achievement-progress-panel {
  overflow: hidden;
  border-top: 4px solid var(--achievement-accent);
  border-radius: 8px;
  color: #f7f9fc;
  background:
    radial-gradient(circle at 94% -20%, color-mix(in srgb, var(--achievement-accent) 20%, transparent), transparent 38%),
    linear-gradient(145deg, var(--achievement-surface), var(--achievement-surface-deep));
  box-shadow: 0 24px 58px var(--achievement-shadow);
}

.achievement-year-tabs,
#retroAchievementsModal[data-achievement-theme] .achievement-year-tabs {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  gap: 4px;
  padding: 4px;
  border-radius: 6px;
  background: var(--achievement-tab-surface);
}

.achievement-year-tabs button,
#retroAchievementsModal[data-achievement-theme] .achievement-year-tabs button {
  min-width: max-content;
  min-height: 42px;
  flex: 0 0 auto;
  padding: 0 14px;
  border-radius: 4px;
  color: var(--achievement-muted);
  white-space: nowrap;
  transition: color 160ms ease, background-color 160ms ease, transform 120ms cubic-bezier(.23, 1, .32, 1);
}

.achievement-year-tabs button[aria-selected="true"],
#retroAchievementsModal[data-achievement-theme] .achievement-year-tabs button[aria-selected="true"] {
  color: var(--achievement-accent-text);
  background: var(--achievement-accent);
}

.achievement-year-tabs button:active {
  transform: scale(.97);
}

#achievementsScreen[data-achievement-theme] .achievement-challenge-heading h2,
#achievementsScreen[data-achievement-theme] .achievement-progress-copy strong,
#retroAchievementsModal[data-achievement-theme] h2,
#retroAchievementsModal[data-achievement-theme] .retro-achievements-progress strong {
  color: #f7f9fc;
}

#achievementsScreen[data-achievement-theme] .achievement-progress-copy span,
#retroAchievementsModal[data-achievement-theme] .retro-achievements-progress span {
  color: var(--achievement-accent);
}

#achievementsScreen[data-achievement-theme] .achievement-login-button,
#retroAchievementsModal[data-achievement-theme] .achievement-login-button {
  color: var(--achievement-accent-text);
  background: var(--achievement-accent);
}

#achievementsScreen[data-achievement-theme] .achievement-progress-track,
#retroAchievementsModal[data-achievement-theme] .achievement-progress-track {
  background: var(--achievement-tab-surface);
}

#achievementsScreen[data-achievement-theme] .achievement-progress-track span,
#retroAchievementsModal[data-achievement-theme] .achievement-progress-track span {
  background: var(--achievement-accent);
  transition: width 240ms cubic-bezier(.23, 1, .32, 1);
}

#achievementsScreen[data-achievement-theme] .achievement-country,
#retroAchievementsModal[data-achievement-theme] .achievement-country {
  background: var(--achievement-card);
  opacity: .78;
}

#achievementsScreen[data-achievement-theme] .achievement-country.is-complete,
#retroAchievementsModal[data-achievement-theme] .achievement-country.is-complete {
  background: var(--achievement-card-complete);
  box-shadow: inset 4px 0 var(--achievement-accent);
  opacity: 1;
}

#achievementsScreen[data-achievement-theme] .achievement-country small,
#retroAchievementsModal[data-achievement-theme] .achievement-country small {
  color: var(--achievement-muted);
}

#achievementsScreen[data-achievement-theme] .achievement-country.is-complete small,
#retroAchievementsModal[data-achievement-theme] .achievement-country.is-complete small,
#achievementsScreen[data-achievement-theme] .achievement-country > b,
#retroAchievementsModal[data-achievement-theme] .achievement-country > b {
  color: var(--achievement-points);
}

#retroAchievementsModal[data-achievement-theme] {
  border: 0;
  border-top: 5px solid var(--achievement-accent);
  border-radius: 8px;
  color: #f7f9fc;
  background:
    radial-gradient(circle at 92% -12%, color-mix(in srgb, var(--achievement-accent) 22%, transparent), transparent 38%),
    linear-gradient(145deg, var(--achievement-surface), var(--achievement-surface-deep));
  box-shadow: 0 28px 72px var(--achievement-shadow);
}

#retroAchievementsModal[data-achievement-theme]::backdrop {
  background: rgba(3, 8, 15, .78);
  backdrop-filter: blur(5px);
}

#retroAchievementsModal[data-achievement-theme] header p {
  color: var(--achievement-copy);
}

#retroAchievementsModal[data-achievement-theme] .retro-achievements-close {
  color: #f7f9fc;
  background: var(--achievement-tab-surface);
  transition: transform 120ms cubic-bezier(.23, 1, .32, 1), background-color 160ms ease;
}

#retroAchievementsModal[data-achievement-theme] .retro-achievements-close:active {
  transform: scale(.96);
}

#achievementsScreen[data-achievement-theme="2016"] .achievement-progress-panel,
#retroAchievementsModal[data-achievement-theme="2016"] {
  border-radius: 0;
  background:
    radial-gradient(circle at 88% 10%, rgba(111, 225, 255, .2), transparent 30%),
    repeating-radial-gradient(circle at 92% 6%, transparent 0 19px, rgba(151, 235, 255, .055) 20px 21px, transparent 22px 38px),
    linear-gradient(145deg, #0756aa, #021d58);
}

#achievementsScreen[data-achievement-theme="2016"] .achievement-year-tabs,
#retroAchievementsModal[data-achievement-theme="2016"] .achievement-year-tabs,
#achievementsScreen[data-achievement-theme="2016"] .achievement-year-tabs button,
#retroAchievementsModal[data-achievement-theme="2016"] .achievement-year-tabs button,
#achievementsScreen[data-achievement-theme="2016"] .achievement-country,
#retroAchievementsModal[data-achievement-theme="2016"] .achievement-country {
  border-radius: 0;
}

@media (max-width: 720px) {
  .achievement-year-tabs,
  #retroAchievementsModal[data-achievement-theme] .achievement-year-tabs {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-padding-inline: 40%;
    scroll-snap-type: x proximity;
    scrollbar-width: thin;
  }

  .achievement-year-tabs button,
  #retroAchievementsModal[data-achievement-theme] .achievement-year-tabs button {
    flex: 0 0 auto;
    width: max-content;
    min-width: 72px;
    scroll-snap-align: center;
  }
}

@media (max-width: 520px) {
  .achievement-year-tabs,
  #retroAchievementsModal[data-achievement-theme] .achievement-year-tabs {
    gap: 2px;
    padding: 3px;
  }

  .achievement-year-tabs button,
  #retroAchievementsModal[data-achievement-theme] .achievement-year-tabs button {
    min-height: 38px;
    padding-inline: 2px;
    font-size: 10px;
  }

  #achievementsScreen[data-achievement-theme] .achievement-progress-panel {
    padding: 14px 10px;
  }

  .achievements-mode-label {
    font-size: 10px;
  }

  #achievementsScreen[data-achievement-theme="uecl"] :is(.achievement-year-tabs button, .achievement-login-button),
  #retroAchievementsModal[data-achievement-theme="uecl"] :is(.achievement-year-tabs button, .achievement-login-button, .retro-achievements-close) {
    min-height: 44px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .achievement-year-tabs button,
  #retroAchievementsModal[data-achievement-theme] .retro-achievements-close {
    transition: color 120ms ease, background-color 120ms ease;
  }
}

/* Saved tournament history */
.champion-save-button {
  display: inline-flex;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 0 18px;
  border: 1px solid #85a7ff;
  border-radius: 6px;
  color: #eff4ff;
  background: #315fcf;
  box-shadow: 0 5px 0 #153478;
  cursor: pointer;
  font: 800 12px/1 Manrope, sans-serif;
  transition: transform 140ms cubic-bezier(.23, 1, .32, 1), background-color 160ms ease, box-shadow 160ms ease;
}

.champion-save-button:active {
  transform: translateY(2px) scale(.98);
  box-shadow: 0 2px 0 #153478;
}

.champion-save-button.is-saved {
  border-color: #5ed9a4;
  color: #dbfff0;
  background: #176347;
  box-shadow: 0 5px 0 #0a3827;
}

.champion-save-mark {
  display: grid;
  width: 20px;
  height: 20px;
  place-items: center;
  border: 1px solid currentColor;
  border-radius: 4px;
  font-size: 11px;
}

#championSaveTournament[hidden] {
  display: none !important;
}

#championSaveTournament[data-history-theme="2010"] {
  border: 1px solid #ffe49a;
  border-radius: 5px;
  color: #352117;
  background: #ffd34f;
  box-shadow: 0 5px 0 #b85a0b;
}

#championSaveTournament[data-history-theme="2010"].is-saved {
  color: #fff4dc;
  background: #0d7046;
  box-shadow: 0 5px 0 #07472d;
}

#championSaveTournament[data-history-theme="2014"] {
  border: 2px solid #ffe96a;
  border-radius: 16px 5px 18px 6px;
  color: #063d29;
  background: #f6d12a;
  box-shadow: 0 5px 0 #b39405;
}

#championSaveTournament[data-history-theme="2014"].is-saved {
  color: #fffce5;
  background: #006b45;
  box-shadow: 0 5px 0 #00422b;
}

#championSaveTournament[data-history-theme="2018"] {
  border: 2px solid #fff3d3;
  border-radius: 3px;
  color: #fff;
  background: #a51a16;
  box-shadow: 0 5px 0 #671018;
}

#championSaveTournament[data-history-theme="2018"].is-saved {
  color: #fff3d3;
  background: #07345f;
  box-shadow: 0 5px 0 #031d36;
}

#championSaveTournament[data-history-theme="2022"] {
  border: 1px solid #c9a96a;
  border-radius: 2px;
  color: #fff8e7;
  background: #751238;
  box-shadow: 0 5px 0 #2b0717;
}

#championSaveTournament[data-history-theme="2022"].is-saved {
  color: #18060e;
  background: #54c2b0;
  box-shadow: 0 5px 0 #246d62;
}

#championSaveTournament[data-history-theme="custom"] {
  border-color: #d7bdff;
  color: #f7f0ff;
  background: #7546bd;
  box-shadow: 0 5px 0 #39205f;
}

#championSaveTournament[data-history-theme="legacy"] {
  border-color: #efcf85;
  color: #22180b;
  background: #d5a647;
  box-shadow: 0 5px 0 #75521a;
}

.profile-history-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 8px;
}

.profile-history-heading > div > span {
  display: block;
  margin-bottom: 5px;
  color: #7197f5;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .08em;
}

.profile-history-heading h2 {
  margin: 0;
}

.profile-history-heading > strong {
  color: #91a3ba;
  font-size: 10px;
  white-space: nowrap;
}

.profile-tournament-history {
  display: grid;
  max-height: 432px;
  gap: 8px;
  margin-top: 18px;
  overflow-y: auto;
  scrollbar-color: #314158 #0b1119;
}

.profile-tournament-history .profile-empty-state {
  padding: 18px 0 4px;
  background: transparent;
  font-size: 12px;
  line-height: 1.55;
}

.profile-tournament-history-card {
  --profile-history-accent: #78a0ff;
  --profile-history-surface: #151d29;
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) 40px;
  align-items: center;
  width: 100%;
  min-width: 0;
  gap: 11px;
  padding: 11px;
  border: 1px solid transparent;
  border-radius: 5px;
  color: #eef3fa;
  background: var(--profile-history-surface);
  cursor: pointer;
  text-align: left;
  transition: transform 140ms cubic-bezier(.23, 1, .32, 1), border-color 160ms ease, background-color 160ms ease;
}

@media (hover: hover) and (pointer: fine) {
  .profile-tournament-history-card:hover {
    border-color: color-mix(in srgb, var(--profile-history-accent) 55%, transparent);
    background: color-mix(in srgb, var(--profile-history-surface) 86%, var(--profile-history-accent));
  }
}

.profile-tournament-history-card:active {
  transform: scale(.98);
}

.profile-tournament-history-card[data-history-theme="2010"] {
  --profile-history-accent: #ffd34f;
  --profile-history-surface: #4b291d;
}

.profile-tournament-history-card[data-history-theme="2014"] {
  --profile-history-accent: #f6d12a;
  --profile-history-surface: #07523a;
}

.profile-tournament-history-card[data-history-theme="2018"] {
  --profile-history-accent: #e9c477;
  --profile-history-surface: #641522;
}

.profile-tournament-history-card[data-history-theme="2022"] {
  --profile-history-accent: #54c2b0;
  --profile-history-surface: #491027;
}

.profile-tournament-history-card[data-history-theme="custom"] {
  --profile-history-accent: #cba8ff;
  --profile-history-surface: #2d2141;
}

.profile-tournament-history-card[data-history-theme="legacy"] {
  --profile-history-accent: #d9b96d;
  --profile-history-surface: #33281a;
}

.profile-tournament-history-card[data-history-theme="premier-league"] {
  --profile-history-accent: #d7a4ed;
  --profile-history-surface: #32123f;
  min-height: 0;
  aspect-ratio: auto;
  border-color: rgba(215, 164, 237, .22);
  box-shadow: inset 3px 0 #8d4cac;
}

.profile-tournament-history-card[data-history-theme="premier-league"] .profile-history-edition {
  background: #21092c;
}

.profile-tournament-history-card:is(
  [data-history-theme="la-liga"],
  [data-history-theme="la-liga-2026-27"]
) {
  --profile-history-accent: #ff963f;
  --profile-history-surface: #48153a;
  min-height: 0;
  aspect-ratio: auto;
  border-color: rgba(255, 150, 63, .34);
  box-shadow: inset 3px 0 #f23b87;
}

.profile-tournament-history-card:is(
  [data-history-theme="la-liga"],
  [data-history-theme="la-liga-2026-27"]
) .profile-history-edition {
  background: #21071b;
}

.profile-history-league-trophy {
  font-size: 24px;
  line-height: 1;
}

.profile-history-edition {
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  overflow: hidden;
  border-radius: 4px;
  color: var(--profile-history-accent);
  background: rgba(0, 0, 0, .18);
}

.profile-history-edition img {
  display: block;
  width: 38px;
  height: 38px;
  object-fit: contain;
}

.profile-history-edition b {
  font: 900 14px/1 "DM Mono", monospace;
}

.profile-history-card-copy,
.profile-history-card-copy small,
.profile-history-card-copy strong,
.profile-history-card-copy em,
.profile-history-card-copy time {
  display: block;
  min-width: 0;
}

.profile-history-card-copy small {
  overflow: hidden;
  color: var(--profile-history-accent);
  font: 900 8px/1.2 "DM Mono", monospace;
  letter-spacing: .04em;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

.profile-history-card-copy strong {
  margin-top: 4px;
  overflow: hidden;
  color: #fff;
  font-size: 13px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.profile-history-card-copy em {
  margin-top: 3px;
  overflow: hidden;
  color: #b8c2cf;
  font-size: 9px;
  font-style: normal;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.profile-history-card-copy time {
  margin-top: 4px;
  color: #7f8c9e;
  font: 700 8px/1.2 "DM Mono", monospace;
}

.profile-history-champion-flag {
  display: grid;
  justify-items: end;
  gap: 6px;
}

.profile-tournament-flag.country-flag,
.profile-tournament-flag.country-flag img,
.profile-tournament-flag.achievement-club-badge {
  display: block;
  width: 36px;
  height: 24px;
  object-fit: contain;
}

.profile-tournament-flag.achievement-club-badge {
  height: 36px;
}

.profile-history-champion-flag i {
  color: var(--profile-history-accent);
  font-size: 12px;
  font-style: normal;
}

@media (max-width: 640px) {
  .profile-tournament-history-card:is(
    [data-history-theme="premier-league"],
    [data-history-theme="la-liga"],
    [data-history-theme="la-liga-2026-27"],
    [data-history-theme="serie-a"],
    [data-history-theme="serie-a-2026-27"],
    [data-history-theme="bundesliga"],
    [data-history-theme="bundesliga-2026-27"],
    [data-history-theme="super-lig"],
    [data-history-theme="super-lig-2026-27"],
    [data-history-theme="eredivisie"],
    [data-history-theme="eredivisie-2026-27"],
    [data-history-theme="belgian-pro-league"],
    [data-history-theme="belgian-pro-league-2026-27"]
  ) {
    grid-template-columns: 48px minmax(0, 1fr) 40px;
    min-height: 74px;
    padding: 11px;
  }
}

.pl-season-screen.is-saved-history #plRestartSeasonButton,
.pl-season-screen.is-saved-history #plSimulateMatchweekButton {
  display: none;
}

.tournament-history-screen[hidden] {
  display: none !important;
}

body.tournament-history-open {
  min-height: 100vh;
  overflow: hidden;
  background: #071019;
}

body.tournament-history-open > .ambient {
  display: none;
}

body.tournament-history-open #appShell,
body.tournament-history-open #profileScreen,
body.tournament-history-open #palestineChallengeScreen,
body.tournament-history-open #retroWorldCupScreen,
body.tournament-history-open #onlineRoomScreen,
body.tournament-history-open #legacyDraftScreen,
body.tournament-history-open #customTournamentScreen,
body.tournament-history-open #achievementsScreen {
  display: none !important;
}

.tournament-history-screen {
  --history-accent: #7ea2ff;
  --history-accent-strong: #4877ee;
  --history-accent-ink: #071120;
  --history-bg: #071019;
  --history-bg-deep: #03070c;
  --history-surface: rgba(15, 25, 38, .94);
  --history-surface-soft: rgba(21, 34, 51, .8);
  --history-line: rgba(145, 169, 204, .2);
  --history-text: #f5f8fc;
  --history-muted: #93a5bb;
  position: fixed;
  inset: 0;
  z-index: 200;
  min-height: 100vh;
  overflow-x: hidden;
  overflow-y: auto;
  color: var(--history-text);
  background:
    radial-gradient(circle at 82% 0, color-mix(in srgb, var(--history-accent) 18%, transparent), transparent 34%),
    linear-gradient(145deg, var(--history-bg), var(--history-bg-deep));
  font-family: Manrope, sans-serif;
}

.tournament-history-screen[data-history-theme="2010"] {
  --history-accent: #ffd34f;
  --history-accent-strong: #eb950e;
  --history-accent-ink: #352117;
  --history-bg: #4b291d;
  --history-bg-deep: #22150f;
  --history-surface: rgba(89, 45, 25, .95);
  --history-surface-soft: rgba(112, 53, 26, .78);
  --history-line: rgba(255, 211, 79, .3);
  --history-text: #fff4dc;
  --history-muted: #e9ba89;
  background:
    linear-gradient(rgba(48, 25, 17, .86), rgba(30, 17, 12, .96)),
    url("./assets/retro-2010/south-africa-sunburst-desktop.webp") center top / cover fixed;
}

.tournament-history-screen[data-history-theme="2014"] {
  --history-accent: #f6d12a;
  --history-accent-strong: #008456;
  --history-accent-ink: #053c29;
  --history-bg: #f5e8bb;
  --history-bg-deep: #004d35;
  --history-surface: rgba(0, 77, 51, .94);
  --history-surface-soft: rgba(0, 103, 66, .82);
  --history-line: rgba(246, 209, 42, .34);
  --history-text: #fffce5;
  --history-muted: #e6edc8;
  background:
    linear-gradient(rgba(255, 249, 220, .1), rgba(0, 69, 45, .32)),
    url("./assets/retro-2014/brazil-watercolor-bg.webp") center top / cover fixed;
}

.tournament-history-screen[data-history-theme="2018"] {
  --history-accent: #e9c477;
  --history-accent-strong: #a51a16;
  --history-accent-ink: #3c0711;
  --history-bg: #06365f;
  --history-bg-deep: #3f0714;
  --history-surface: rgba(6, 52, 95, .95);
  --history-surface-soft: rgba(105, 16, 29, .78);
  --history-line: rgba(233, 196, 119, .34);
  --history-text: #fff3d3;
  --history-muted: #f0d7b9;
  background:
    repeating-linear-gradient(135deg, rgba(255, 244, 214, .025) 0 48px, transparent 48px 96px),
    radial-gradient(circle at 12% 4%, #0b75ba, transparent 36%),
    linear-gradient(145deg, #06365f, #4e0917);
}

.tournament-history-screen[data-history-theme="2022"] {
  --history-accent: #c9a96a;
  --history-accent-strong: #751238;
  --history-accent-ink: #19060e;
  --history-bg: #310817;
  --history-bg-deep: #10030a;
  --history-surface: rgba(62, 11, 34, .95);
  --history-surface-soft: rgba(117, 18, 56, .7);
  --history-line: rgba(201, 169, 106, .34);
  --history-text: #fff8e7;
  --history-muted: #d9c5ae;
  background:
    linear-gradient(rgba(24, 5, 13, .76), rgba(12, 2, 7, .93)),
    url("./assets/retro-2022/qatar-night-landscape.png") center top / cover fixed;
}

.tournament-history-screen[data-history-theme="custom"] {
  --history-accent: #cba8ff;
  --history-accent-strong: #7444bb;
  --history-accent-ink: #1d102f;
  --history-bg: #231a35;
  --history-bg-deep: #0f0a18;
  --history-surface: rgba(43, 31, 64, .95);
  --history-surface-soft: rgba(72, 47, 108, .74);
  --history-line: rgba(203, 168, 255, .25);
}

.tournament-history-screen[data-history-theme="legacy"] {
  --history-accent: #ddbd72;
  --history-accent-strong: #9c712b;
  --history-accent-ink: #261b0b;
  --history-bg: #282116;
  --history-bg-deep: #0f0c08;
  --history-surface: rgba(52, 41, 24, .95);
  --history-surface-soft: rgba(91, 69, 34, .72);
  --history-line: rgba(221, 189, 114, .26);
  --history-text: #fbf0d8;
  --history-muted: #caba98;
}

.tournament-history-header {
  position: sticky;
  top: 0;
  z-index: 10;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  min-height: 76px;
  align-items: center;
  padding: 10px max(22px, calc((100vw - 1280px) / 2));
  border-bottom: 1px solid var(--history-line);
  background: color-mix(in srgb, var(--history-bg-deep) 88%, transparent);
  backdrop-filter: blur(14px);
}

.tournament-history-back {
  display: inline-flex;
  width: max-content;
  min-height: 42px;
  align-items: center;
  gap: 9px;
  padding: 0 14px;
  border: 1px solid var(--history-line);
  border-radius: 5px;
  color: var(--history-text);
  background: var(--history-surface);
  cursor: pointer;
  font: 800 11px Manrope, sans-serif;
  transition: transform 140ms cubic-bezier(.23, 1, .32, 1), background-color 160ms ease;
}

.tournament-history-back:active {
  transform: scale(.97);
}

.tournament-history-brand {
  display: flex;
  grid-column: 2;
  align-items: center;
  gap: 12px;
}

.tournament-history-brand-mark {
  display: grid;
  width: 43px;
  height: 43px;
  place-items: center;
  border-radius: 5px;
  color: var(--history-accent-ink);
  background: var(--history-accent);
  font: 950 12px/1 "DM Mono", monospace;
}

.tournament-history-brand small,
.tournament-history-brand strong {
  display: block;
}

.tournament-history-brand small {
  color: var(--history-accent);
  font: 800 8px/1.2 "DM Mono", monospace;
  letter-spacing: .08em;
}

.tournament-history-brand strong {
  margin-top: 4px;
  color: var(--history-text);
  font-size: 13px;
}

.tournament-history-status {
  display: grid;
  grid-column: 3;
  justify-self: end;
  justify-items: end;
  gap: 4px;
}

.tournament-history-status span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--history-accent);
  font-size: 9px;
  font-weight: 900;
  text-transform: uppercase;
}

.tournament-history-status i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: currentColor;
}

.tournament-history-status time {
  color: var(--history-muted);
  font: 700 9px/1.2 "DM Mono", monospace;
}

.tournament-history-main {
  width: min(1280px, calc(100% - 44px));
  margin: 0 auto;
  padding: 36px 0 80px;
}

.tournament-history-hero {
  display: grid;
  grid-template-columns: minmax(220px, .72fr) minmax(0, 1.4fr);
  min-height: 230px;
  overflow: hidden;
  border: 1px solid var(--history-line);
  border-radius: 8px;
  background: var(--history-surface);
  box-shadow: 0 28px 70px rgba(0, 0, 0, .22);
}

.tournament-history-screen[data-history-theme="2014"] .tournament-history-hero {
  border-radius: 24px 8px 28px 10px;
  box-shadow: 12px 12px 0 rgba(0, 68, 169, .26);
}

.tournament-history-screen[data-history-theme="2018"] .tournament-history-hero,
.tournament-history-screen[data-history-theme="2022"] .tournament-history-hero {
  border-radius: 3px;
}

.tournament-history-edition {
  display: grid;
  place-items: center;
  align-content: center;
  gap: 14px;
  padding: 24px;
  border-right: 1px solid var(--history-line);
  background:
    radial-gradient(circle, color-mix(in srgb, var(--history-accent) 18%, transparent), transparent 60%),
    var(--history-surface-soft);
  text-align: center;
}

.tournament-history-edition-logo {
  display: block;
  width: min(130px, 70%);
  height: 116px;
  object-fit: contain;
}

.tournament-history-edition-fallback {
  display: grid;
  width: 110px;
  height: 110px;
  place-items: center;
  border: 2px solid var(--history-accent);
  border-radius: 50%;
  color: var(--history-accent);
  font: 950 28px/1 "DM Mono", monospace;
}

.tournament-history-edition span,
.tournament-history-edition small,
.tournament-history-edition strong {
  display: block;
}

.tournament-history-edition small {
  color: var(--history-accent);
  font: 900 9px/1.2 "DM Mono", monospace;
  text-transform: uppercase;
}

.tournament-history-edition strong {
  margin-top: 5px;
  color: var(--history-text);
  font-size: 14px;
}

.tournament-history-champion {
  display: grid;
  grid-template-columns: auto 130px minmax(0, 1fr);
  align-items: center;
  gap: clamp(20px, 4vw, 52px);
  padding: clamp(28px, 5vw, 64px);
  background:
    radial-gradient(circle at 42% 50%, color-mix(in srgb, var(--history-accent) 16%, transparent), transparent 34%);
}

.tournament-history-crown {
  color: var(--history-accent);
  font-size: 32px;
}

.tournament-history-champion-flag.country-flag,
.tournament-history-champion-flag.country-flag img {
  display: block;
  width: 130px;
  height: 86px;
  object-fit: cover;
}

.tournament-history-champion-flag.country-flag {
  overflow: hidden;
  border: 3px solid var(--history-accent);
  border-radius: 7px;
  box-shadow: 0 14px 28px rgba(0, 0, 0, .24);
}

.tournament-history-champion span:last-child small,
.tournament-history-champion span:last-child strong,
.tournament-history-champion span:last-child em {
  display: block;
}

.tournament-history-champion span:last-child small {
  color: var(--history-accent);
  font: 900 10px/1.2 "DM Mono", monospace;
  letter-spacing: .12em;
}

.tournament-history-champion span:last-child strong {
  margin-top: 7px;
  color: var(--history-text);
  font-size: clamp(32px, 5vw, 62px);
  line-height: .98;
}

.tournament-history-champion span:last-child em {
  margin-top: 13px;
  color: var(--history-muted);
  font-size: 11px;
  font-style: normal;
}

.tournament-history-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}

.tournament-history-summary article {
  min-width: 0;
  min-height: 108px;
  padding: 18px;
  border: 1px solid var(--history-line);
  border-radius: 6px;
  background: var(--history-surface);
}

.tournament-history-summary article > span {
  display: block;
  color: var(--history-accent);
  font: 900 8px/1.2 "DM Mono", monospace;
  letter-spacing: .08em;
}

.tournament-history-summary article > strong {
  display: block;
  margin-top: 9px;
  overflow: hidden;
  color: var(--history-text);
  font-size: 23px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tournament-history-summary article > small {
  display: block;
  margin-top: 6px;
  overflow: hidden;
  color: var(--history-muted);
  font-size: 10px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tournament-history-managed > div {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 9px;
  margin-top: 9px;
}

.tournament-history-managed > div strong {
  overflow: hidden;
  color: var(--history-text);
  font-size: 16px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tournament-history-summary-flag.country-flag,
.tournament-history-summary-flag.country-flag img {
  display: block;
  width: 34px;
  height: 23px;
  flex: 0 0 auto;
  object-fit: cover;
}

.tournament-history-browser {
  display: grid;
  grid-template-columns: 240px minmax(0, 1fr);
  gap: 22px;
  margin-top: 34px;
}

.tournament-history-rounds {
  display: grid;
  align-self: start;
  overflow: hidden;
  border: 1px solid var(--history-line);
  border-radius: 6px;
  background: var(--history-surface);
}

.tournament-history-rounds button {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  align-items: center;
  min-height: 64px;
  gap: 3px 9px;
  padding: 10px 12px;
  border: 0;
  border-bottom: 1px solid var(--history-line);
  color: var(--history-muted);
  background: transparent;
  cursor: pointer;
  text-align: left;
  transition: color 160ms ease, background-color 160ms ease;
}

.tournament-history-rounds button:last-child {
  border-bottom: 0;
}

.tournament-history-rounds button > span {
  grid-row: 1 / span 2;
  color: var(--history-accent);
  font: 900 10px "DM Mono", monospace;
}

.tournament-history-rounds button > strong {
  overflow: hidden;
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tournament-history-rounds button > small {
  color: var(--history-muted);
  font-size: 8px;
}

.tournament-history-rounds button.is-active {
  color: var(--history-text);
  background: var(--history-surface-soft);
  box-shadow: inset 4px 0 var(--history-accent);
}

.tournament-history-results {
  min-width: 0;
}

.tournament-history-results-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 12px;
}

.tournament-history-results-heading span {
  color: var(--history-accent);
  font: 900 8px/1.2 "DM Mono", monospace;
  letter-spacing: .08em;
}

.tournament-history-results-heading h2 {
  margin: 4px 0 0;
  color: var(--history-text);
  font-size: 25px;
}

.tournament-history-results-heading > strong {
  color: var(--history-muted);
  font-size: 10px;
}

.tournament-history-match {
  overflow: hidden;
  border: 1px solid var(--history-line);
  border-radius: 7px;
  background: var(--history-surface);
  box-shadow: 0 22px 50px rgba(0, 0, 0, .16);
}

.tournament-history-match > header,
.tournament-history-match > footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 42px;
  padding: 9px 16px;
  border-bottom: 1px solid var(--history-line);
  color: var(--history-muted);
  font: 800 9px/1.2 "DM Mono", monospace;
}

.tournament-history-match > header > span {
  color: var(--history-accent);
}

.tournament-history-match > footer {
  border-top: 1px solid var(--history-line);
  border-bottom: 0;
}

.tournament-history-scoreboard {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 170px minmax(0, 1fr);
  align-items: center;
  gap: 22px;
  padding: 30px clamp(20px, 5vw, 58px) 22px;
}

.tournament-history-match-team {
  display: grid;
  min-width: 0;
  justify-items: center;
  gap: 12px;
  text-align: center;
}

.tournament-history-match-team strong {
  overflow: hidden;
  max-width: 100%;
  color: var(--history-text);
  font-size: clamp(14px, 2.2vw, 22px);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tournament-history-match-flag.country-flag,
.tournament-history-match-flag.country-flag img {
  display: block;
  width: 92px;
  height: 60px;
  object-fit: cover;
}

.tournament-history-match-flag.country-flag {
  overflow: hidden;
  border: 2px solid var(--history-accent);
  border-radius: 5px;
}

.tournament-history-score {
  text-align: center;
}

.tournament-history-score > span {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 9px;
  color: var(--history-text);
}

.tournament-history-score b {
  font-size: clamp(32px, 5vw, 54px);
  line-height: 1;
}

.tournament-history-score i {
  color: var(--history-muted);
  font-size: 18px;
  font-style: normal;
}

.tournament-history-score small {
  display: block;
  margin-top: 9px;
  color: var(--history-accent);
  font: 900 8px/1.2 "DM Mono", monospace;
  text-transform: uppercase;
}

.tournament-history-event-grid {
  display: grid;
  grid-template-columns: 1fr 1px 1fr;
  gap: 18px;
  padding: 0 clamp(20px, 5vw, 58px) 26px;
}

.tournament-history-event-grid > span {
  background: var(--history-line);
}

.tournament-history-event-grid > div {
  display: grid;
  align-content: start;
  gap: 5px;
}

.tournament-history-event-grid > div > span:not(.tournament-history-no-events) {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  color: var(--history-muted);
  font-size: 10px;
}

.tournament-history-event-grid b {
  overflow: hidden;
  color: var(--history-text);
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tournament-history-event-grid i {
  color: var(--history-accent);
  font: 800 9px "DM Mono", monospace;
  font-style: normal;
}

.tournament-history-no-events {
  color: var(--history-muted);
  font-size: 9px;
}

.tournament-history-incidents {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 6px;
  padding: 0 16px 18px;
}

.tournament-history-incidents span {
  padding: 5px 8px;
  border-radius: 3px;
  color: #ffb7b7;
  background: rgba(177, 36, 45, .18);
  font-size: 8px;
}

.tournament-history-fixtures {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
  margin-top: 12px;
}

.tournament-history-fixture {
  display: grid;
  min-width: 0;
  gap: 7px;
  padding: 12px;
  border: 1px solid var(--history-line);
  border-radius: 5px;
  color: var(--history-text);
  background: var(--history-surface);
  cursor: pointer;
  text-align: left;
  transition: transform 140ms cubic-bezier(.23, 1, .32, 1), border-color 160ms ease, background-color 160ms ease;
}

@media (hover: hover) and (pointer: fine) {
  .tournament-history-fixture:hover {
    border-color: color-mix(in srgb, var(--history-accent) 60%, transparent);
    background: var(--history-surface-soft);
  }
}

.tournament-history-fixture:active {
  transform: scale(.98);
}

.tournament-history-fixture.is-selected {
  border-color: var(--history-accent);
  background: var(--history-surface-soft);
  box-shadow: inset 4px 0 var(--history-accent);
}

.tournament-history-fixture-meta {
  overflow: hidden;
  color: var(--history-accent);
  font: 900 7px/1.2 "DM Mono", monospace;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

.tournament-history-fixture-team {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
}

.tournament-history-fixture-team strong {
  overflow: hidden;
  font-size: 10px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tournament-history-fixture-team b {
  font-size: 13px;
}

.tournament-history-fixture-flag.country-flag,
.tournament-history-fixture-flag.country-flag img {
  display: block;
  width: 28px;
  height: 19px;
  object-fit: cover;
}

.tournament-history-fixture > small {
  color: var(--history-muted);
  font-size: 7px;
  text-align: right;
  text-transform: uppercase;
}

.tournament-history-empty {
  margin: 0;
  padding: 50px 20px;
  color: var(--history-muted);
  text-align: center;
}

@media (max-width: 900px) {
  .champion-actions {
    flex-wrap: wrap;
  }

  .tournament-history-header {
    grid-template-columns: auto minmax(0, 1fr) auto;
  }

  .tournament-history-brand {
    grid-column: 2;
    justify-self: center;
  }

  .tournament-history-hero {
    grid-template-columns: 190px minmax(0, 1fr);
  }

  .tournament-history-champion {
    grid-template-columns: 92px minmax(0, 1fr);
  }

  .tournament-history-crown {
    display: none;
  }

  .tournament-history-champion-flag.country-flag,
  .tournament-history-champion-flag.country-flag img {
    width: 92px;
    height: 61px;
  }

  .tournament-history-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tournament-history-browser {
    grid-template-columns: 1fr;
  }

  .tournament-history-rounds {
    display: flex;
    overflow-x: auto;
  }

  .tournament-history-rounds button {
    min-width: 180px;
    border-right: 1px solid var(--history-line);
    border-bottom: 0;
  }
}

@media (max-width: 640px) {
  .champion-actions > button {
    width: 100%;
  }

  .profile-tournament-history {
    max-height: none;
  }

  .tournament-history-header {
    min-height: 68px;
    padding-inline: 12px;
  }

  .tournament-history-back {
    width: 42px;
    min-height: 42px;
    justify-content: center;
    padding: 0;
  }

  .tournament-history-back span:last-child,
  .tournament-history-status time,
  .tournament-history-brand > span:last-child {
    display: none;
  }

  .tournament-history-brand-mark {
    width: 40px;
    height: 40px;
  }

  .tournament-history-main {
    width: min(100% - 24px, 600px);
    padding-top: 18px;
  }

  .tournament-history-hero {
    grid-template-columns: 1fr;
  }

  .tournament-history-edition {
    display: flex;
    min-height: 86px;
    justify-content: center;
    padding: 14px;
    border-right: 0;
    border-bottom: 1px solid var(--history-line);
    text-align: left;
  }

  .tournament-history-edition-logo {
    width: 60px;
    height: 58px;
  }

  .tournament-history-edition-fallback {
    width: 54px;
    height: 54px;
    font-size: 15px;
  }

  .tournament-history-champion {
    grid-template-columns: 78px minmax(0, 1fr);
    gap: 18px;
    padding: 28px 20px;
  }

  .tournament-history-champion-flag.country-flag,
  .tournament-history-champion-flag.country-flag img {
    width: 78px;
    height: 52px;
  }

  .tournament-history-champion span:last-child strong {
    font-size: 29px;
  }

  .tournament-history-summary {
    grid-template-columns: 1fr 1fr;
    gap: 7px;
  }

  .tournament-history-summary article {
    min-height: 98px;
    padding: 14px;
  }

  .tournament-history-browser {
    margin-top: 26px;
  }

  .tournament-history-rounds button {
    min-width: 156px;
  }

  .tournament-history-scoreboard {
    grid-template-columns: minmax(0, 1fr) 92px minmax(0, 1fr);
    gap: 10px;
    padding: 24px 12px 20px;
  }

  .tournament-history-match-flag.country-flag,
  .tournament-history-match-flag.country-flag img {
    width: 58px;
    height: 38px;
  }

  .tournament-history-match-team strong {
    font-size: 11px;
  }

  .tournament-history-score b {
    font-size: 33px;
  }

  .tournament-history-event-grid {
    gap: 10px;
    padding: 0 14px 20px;
  }

  .tournament-history-fixtures {
    grid-template-columns: 1fr;
  }

  .tournament-history-match > footer {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .champion-save-button,
  .profile-tournament-history-card,
  .tournament-history-back,
  .tournament-history-fixture {
    transition: color 120ms ease, background-color 120ms ease, border-color 120ms ease;
  }

  .champion-save-button:active,
  .profile-tournament-history-card:active,
  .tournament-history-back:active,
  .tournament-history-fixture:active {
    transform: none;
  }
}

/* Euro 2016 cascade lock: this edition must not inherit the Brazil fallback skin. */
body.retro-mode-active.retro-euro-2016-active {
  --q22-ink: #020d32;
  --q22-ink-soft: #031b53;
  --q22-panel: rgba(3, 31, 88, 0.96);
  --q22-panel-soft: rgba(5, 58, 125, 0.94);
  --q22-wine: #0756aa;
  --q22-wine-bright: #078ad0;
  --q22-line: rgba(111, 220, 249, 0.42);
  --q22-line-soft: rgba(159, 228, 250, 0.2);
  --q22-cream: #dff8ff;
  --q22-white: #f8fdff;
  --q22-gold: #1cc7ee;
  --q22-gold-soft: #92ebff;
  color: #f8fdff;
  background:
    radial-gradient(circle at 84% 8%, rgba(98, 219, 255, 0.35), transparent 28%),
    radial-gradient(circle at 14% 88%, rgba(0, 91, 196, 0.45), transparent 34%),
    repeating-radial-gradient(circle at 72% 28%, rgba(255, 255, 255, 0.035) 0 2px, transparent 2px 22px),
    linear-gradient(135deg, #020c2d 0%, #043878 48%, #078fc4 100%) fixed;
}

body.retro-mode-active.retro-euro-2016-active .retro-tournament-screen {
  color: #f8fdff;
  background:
    linear-gradient(rgba(2, 19, 64, 0.24), rgba(1, 10, 38, 0.55)),
    radial-gradient(circle at 12% 22%, rgba(38, 201, 239, 0.16) 0 4px, transparent 5px),
    radial-gradient(circle at 88% 72%, rgba(255, 220, 56, 0.12) 0 5px, transparent 6px);
  background-size: auto, 72px 72px, 94px 94px;
}

body.retro-mode-active.retro-euro-2016-active .retro-screen-header {
  border: 0;
  border-bottom: 1px solid rgba(111, 220, 249, 0.38);
  color: #f8fdff;
  background: rgba(2, 17, 58, 0.92);
  box-shadow: 0 16px 38px rgba(0, 8, 37, 0.34);
}

body.retro-mode-active.retro-euro-2016-active .retro-tournament-heading {
  border-color: rgba(111, 220, 249, 0.38);
}

body.retro-mode-active.retro-euro-2016-active .retro-tournament-heading > div:first-child > span,
body.retro-mode-active.retro-euro-2016-active .retro-tournament-progress span {
  color: #ffdc38;
}

body.retro-mode-active.retro-euro-2016-active .retro-tournament-heading h1,
body.retro-mode-active.retro-euro-2016-active .retro-tournament-progress strong {
  color: #f8fdff;
}

body.retro-mode-active.retro-euro-2016-active .retro-view-tabs {
  border: 1px solid rgba(111, 220, 249, 0.38);
  border-radius: 16px;
  background: rgba(2, 19, 64, 0.76);
}

body.retro-mode-active.retro-euro-2016-active .retro-view-tabs button {
  border: 0;
  border-radius: 11px;
  color: #a9d7ea;
  background: transparent;
}

body.retro-mode-active.retro-euro-2016-active .retro-view-tabs button.active {
  color: #031b53;
  background: linear-gradient(135deg, #b9f3ff, #45d0ef);
  box-shadow: inset 0 -3px #0874bc, 0 5px 14px rgba(0, 14, 62, 0.22);
}

body.retro-mode-active.retro-euro-2016-active #mainContent :is(
  .match-stage,
  .round-board,
  .panel,
  .match-analysis,
  .standard-match-tactics,
  .story-card
),
body.retro-mode-active.retro-euro-2016-active :is(
  .retro-group-table,
  .retro-squad-view,
  .retro-lineups-view,
  .retro-match-lineups-panel,
  .retro-lineup-side,
  .retro-squad-position-group,
  .retro-lineup-tabs,
  .retro-manager-lineup,
  .retro-live-ratings-side
) {
  border: 1px solid rgba(111, 220, 249, 0.38);
  border-radius: 16px;
  color: #f8fdff;
  background:
    linear-gradient(145deg, rgba(8, 75, 151, 0.36), transparent 44%),
    rgba(3, 31, 88, 0.94);
  box-shadow: 0 16px 34px rgba(0, 9, 43, 0.3), inset 0 1px rgba(255, 255, 255, 0.045);
}

body.retro-mode-active.retro-euro-2016-active #mainContent .fixture {
  border: 1px solid rgba(159, 228, 250, 0.2);
  border-radius: 12px;
  color: #e6faff;
  background: rgba(4, 43, 104, 0.9);
  box-shadow: none;
}

body.retro-mode-active.retro-euro-2016-active #mainContent .fixture:nth-child(even) {
  background: rgba(5, 61, 128, 0.88);
}

body.retro-mode-active.retro-euro-2016-active #mainContent .fixture:hover,
body.retro-mode-active.retro-euro-2016-active #mainContent .fixture.selected {
  border-color: #1cc7ee;
  background: rgba(7, 96, 177, 0.96);
  box-shadow: inset 5px 0 #ffdc38, 0 10px 22px rgba(0, 13, 55, 0.22);
}

body.retro-mode-active.retro-euro-2016-active :is(
  .retro-table-head,
  .retro-squad-heading,
  .retro-squad-position-group > h2,
  .retro-lineup-side header
),
body.retro-mode-active.retro-euro-2016-active #mainContent :is(
  .panel-heading,
  .match-analysis-heading,
  .standard-match-tactics > span
) {
  border-color: rgba(111, 220, 249, 0.38);
  color: #92ebff;
  background: linear-gradient(90deg, rgba(7, 88, 167, 0.94), rgba(4, 50, 116, 0.94));
}

body.retro-mode-active.retro-euro-2016-active :is(
  .retro-table-row,
  .retro-squad-row,
  .retro-lineup-side li,
  .retro-manager-player
) {
  border-color: rgba(159, 228, 250, 0.2);
  color: #e7faff;
  background: rgba(3, 37, 94, 0.94);
}

body.retro-mode-active.retro-euro-2016-active :is(
  .retro-table-row,
  .retro-squad-row,
  .retro-lineup-side li
):nth-child(even) {
  background: rgba(5, 61, 128, 0.84);
}

body.retro-mode-active.retro-euro-2016-active .retro-table-row.qualified {
  box-shadow: inset 4px 0 #1cc7ee;
}

body.retro-mode-active.retro-euro-2016-active .retro-table-row.best-third {
  box-shadow: inset 4px 0 #ffdc38;
}

body.retro-mode-active.retro-euro-2016-active .retro-manager-lineup > header,
body.retro-mode-active.retro-euro-2016-active .retro-live-ratings-side > header {
  border-color: rgba(111, 220, 249, 0.38);
  background: linear-gradient(90deg, #0757a9, #087fc0);
}

body.retro-mode-active.retro-euro-2016-active .retro-manager-pitch {
  border-color: rgba(192, 247, 255, 0.72);
  border-radius: 12px;
  background:
    linear-gradient(180deg, rgba(0, 41, 91, 0.14), rgba(0, 20, 54, 0.28)),
    repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.035) 0 12.5%, rgba(0, 0, 0, 0.035) 12.5% 25%),
    #168675;
}

body.retro-mode-active.retro-euro-2016-active .retro-pitch-player b {
  border-color: #d8f8ff;
  color: #f8fdff;
  background: #0756aa;
}

body.retro-mode-active.retro-euro-2016-active .retro-pitch-player i {
  color: #031b53;
  background: #ffdc38;
}

body.retro-mode-active.retro-euro-2016-active .retro-manager-player.is-selected {
  border-color: #ffdc38;
  background: #0756aa;
  box-shadow: inset 4px 0 #ffdc38;
}

body.retro-mode-active.retro-euro-2016-active :is(
  .modal,
  .confirm-modal,
  .snapshot-modal,
  .achievement-unlock-modal
) {
  border: 1px solid #1cc7ee;
  border-top: 5px solid #ffdc38;
  border-radius: 16px;
  color: #f8fdff;
  background: linear-gradient(145deg, rgba(6, 74, 146, 0.99), rgba(2, 17, 58, 0.99));
}

body.retro-mode-active.retro-euro-2016-active .toast {
  border: 1px solid #1cc7ee;
  color: #f8fdff;
  background: #020d32;
}

/* Euro 2016 control and completion-state lock. */
body.retro-mode-active.retro-euro-2016-active .retro-screen-restart {
  border: 1px solid rgba(146, 235, 255, 0.62);
  color: #f8fdff;
  background: linear-gradient(145deg, #087bc0, #0756aa);
  box-shadow: 0 4px 0 #032a6a, 0 10px 22px rgba(0, 10, 48, 0.28);
}

body.retro-mode-active.retro-euro-2016-active .retro-screen-restart:hover {
  border-color: #ffdc38;
  color: #020d32;
  background: #ffdc38;
  box-shadow: 0 4px 0 #b88c00, 0 10px 22px rgba(0, 10, 48, 0.24);
}

body.retro-mode-active.retro-euro-2016-active .retro-screen-restart::before {
  color: inherit;
}

body.retro-mode-active.retro-euro-2016-active #mainContent #teamFilterControl {
  border: 0;
  border-radius: 0;
  color: #d8f7ff;
  background: transparent;
  box-shadow: none;
}

body.retro-mode-active.retro-euro-2016-active #mainContent #teamFilterControl .team-filter-search {
  border: 1px solid rgba(111, 220, 249, 0.68);
  border-radius: 11px;
  color: #d8f7ff;
  background: rgba(3, 29, 81, 0.92);
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.05), 0 5px 14px rgba(0, 11, 48, 0.2);
}

body.retro-mode-active.retro-euro-2016-active #mainContent #teamFilterControl .team-filter-search:focus-within {
  border-color: #1cc7ee;
  background: rgba(5, 57, 127, 0.98);
  box-shadow: 0 0 0 3px rgba(28, 199, 238, 0.16);
}

body.retro-mode-active.retro-euro-2016-active #mainContent #teamFilterControl #teamSearch {
  border: 0;
  border-radius: 0;
  outline: 0;
  color: #f8fdff;
  background: transparent;
  box-shadow: none;
}

body.retro-mode-active.retro-euro-2016-active #mainContent #teamFilterControl #teamSearch::placeholder {
  color: rgba(216, 247, 255, 0.74);
}

body.retro-mode-active.retro-euro-2016-active #mainContent #teamFilterControl .team-filter-chip {
  border: 1px solid rgba(111, 220, 249, 0.68);
  color: #f8fdff;
  background: linear-gradient(145deg, #087bc0, #0756aa);
  box-shadow: 0 4px 0 #032a6a;
}

body.retro-mode-active.retro-euro-2016-active #mainContent #teamFilterControl :is(
  .team-filter-check,
  .team-filter-clear
) {
  color: #020d32;
  background: #ffdc38;
}

body.retro-mode-active.retro-euro-2016-active #mainContent #teamFilterControl .search-result-popover {
  border: 1px solid #1cc7ee;
  border-radius: 11px;
  color: #f8fdff;
  background: #042763;
  box-shadow: 7px 8px 0 rgba(2, 13, 50, 0.58), 0 18px 38px rgba(0, 9, 43, 0.34);
}

body.retro-mode-active.retro-euro-2016-active #mainContent #teamFilterControl .search-result {
  border-bottom-color: rgba(111, 220, 249, 0.22);
  color: #f8fdff;
  background: #042763;
}

body.retro-mode-active.retro-euro-2016-active #mainContent #teamFilterControl .search-result small {
  color: #a9d7ea;
}

body.retro-mode-active.retro-euro-2016-active #mainContent #teamFilterControl .search-result:hover {
  background: #0756aa;
}

body.retro-mode-active.retro-euro-2016-active #mainContent #matchCommentaryFeed {
  border: 1px solid rgba(111, 220, 249, 0.58);
  color: #e8fbff;
  background: linear-gradient(90deg, rgba(3, 29, 81, 0.97), rgba(5, 72, 143, 0.94));
  box-shadow: inset 4px 0 #1cc7ee;
}

body.retro-mode-active.retro-euro-2016-active #mainContent #matchCommentaryFeed :is(
  .commentary-line span,
  .commentary-line.heading span
) {
  color: #e8fbff;
}

body.retro-mode-active.retro-euro-2016-active #mainContent #matchCommentaryFeed:is(
  .is-goal,
  .is-goal-flash,
  .is-goal-flashing,
  .is-major
) {
  border-color: #ffdc38;
  color: #f8fdff;
  background: linear-gradient(90deg, #0756aa, #087fc0);
  box-shadow: inset 5px 0 #ffdc38;
}

body.retro-mode-active.retro-euro-2016-active #mainContent #standardTacticButtons button {
  border: 1px solid rgba(111, 220, 249, 0.28);
  color: #d8f7ff;
  background: linear-gradient(145deg, rgba(5, 72, 143, 0.96), rgba(3, 42, 106, 0.96));
  box-shadow: none;
}

body.retro-mode-active.retro-euro-2016-active #mainContent #standardTacticButtons button:hover {
  border-color: #92ebff;
  color: #f8fdff;
  background: #0756aa;
}

body.retro-mode-active.retro-euro-2016-active #mainContent #standardTacticButtons button.active {
  border-color: #ffdc38;
  color: #020d32;
  background: #ffdc38;
  box-shadow: inset 4px 0 #1cc7ee;
}

body.retro-mode-active.retro-euro-2016-active #mainContent #snapshotButton {
  border: 1px solid #ffdc38;
  color: #f8fdff;
  background: linear-gradient(145deg, #087bc0, #0756aa);
  box-shadow: 0 5px 0 #032a6a, 0 12px 24px rgba(0, 10, 48, 0.24);
}

body.retro-mode-active.retro-euro-2016-active #mainContent #snapshotButton:hover {
  border-color: #92ebff;
  color: #020d32;
  background: #92ebff;
}

body.retro-mode-active.retro-euro-2016-active #mainContent .bracket-heads {
  border: 1px solid rgba(111, 220, 249, 0.48);
  border-radius: 10px;
  color: #ffdc38;
  background: linear-gradient(90deg, #0756aa, #087fc0 54%, #0756aa);
  box-shadow: 0 8px 20px rgba(0, 10, 48, 0.22);
}

body.retro-mode-active.retro-euro-2016-active #mainContent #championStage {
  border: 1px solid rgba(111, 220, 249, 0.58);
  border-radius: 22px;
  color: #f8fdff;
  background:
    radial-gradient(circle at 14% 18%, rgba(28, 199, 238, 0.22), transparent 28%),
    radial-gradient(circle at 86% 78%, rgba(255, 220, 56, 0.12), transparent 24%),
    linear-gradient(145deg, rgba(5, 86, 170, 0.98), rgba(2, 25, 78, 0.99));
  box-shadow: 12px 12px 0 rgba(28, 199, 238, 0.16), 0 24px 54px rgba(0, 9, 43, 0.34);
}

body.retro-mode-active.retro-euro-2016-active #mainContent #championStage :is(
  .champion-award,
  .champion-place
) {
  border: 1px solid rgba(111, 220, 249, 0.38);
  color: #f8fdff;
  background: rgba(3, 35, 92, 0.88);
  box-shadow: none;
}

body.retro-mode-active.retro-euro-2016-active #mainContent #championStage .champion-place.place-1 {
  border-color: #ffdc38;
  background: rgba(5, 72, 143, 0.96);
  box-shadow: inset 0 4px #ffdc38;
}

body.retro-mode-active.retro-euro-2016-active #mainContent #championStage :is(
  .champion-award-copy small,
  .champion-award-copy small b,
  .champion-place small
) {
  color: #bfeeff;
}

body.retro-mode-active.retro-euro-2016-active #mainContent #championStage :is(
  .champion-section-label,
  .champion-place > b,
  .champion-award-copy > span,
  .trophy,
  p
) {
  color: #ffdc38;
  text-shadow: none;
}

body.retro-mode-active.retro-euro-2016-active #mainContent #championStage :is(
  h2,
  .champion-place strong,
  .champion-award-copy strong
) {
  color: #f8fdff;
}

body.retro-mode-active.retro-euro-2016-active .snapshot-modal form {
  border: 1px solid rgba(111, 220, 249, 0.52);
  color: #f8fdff;
  background: linear-gradient(145deg, rgba(6, 74, 146, 0.99), rgba(2, 17, 58, 0.99));
}

body.retro-mode-active.retro-euro-2016-active .snapshot-preview {
  border: 1px solid rgba(111, 220, 249, 0.58);
  background: #031d55;
  box-shadow: 0 16px 42px rgba(0, 7, 35, 0.42);
}

body.retro-mode-active.retro-euro-2016-active .snapshot-preview img {
  background: #031d55;
}

body.retro-mode-active.retro-euro-2016-active .snapshot-actions button {
  border: 1px solid rgba(111, 220, 249, 0.58);
  color: #f8fdff;
  background: linear-gradient(145deg, #087bc0, #0756aa);
  box-shadow: 0 4px 0 #032a6a;
}

body.retro-mode-active.retro-euro-2016-active .snapshot-actions button:hover {
  border-color: #ffdc38;
  color: #020d32;
  background: #ffdc38;
}

/* Euro 2016 squads: keep this view as focused as the other retro squad lists. */
body.retro-mode-active.retro-euro-2016-active #mainContent .retro-squad-view.is-compact-squad {
  overflow: hidden;
  border: 1px solid rgba(111, 220, 249, 0.42);
  border-radius: 16px;
  background: rgba(3, 31, 88, 0.96);
  box-shadow: 0 16px 34px rgba(0, 9, 43, 0.3);
}

body.retro-mode-active.retro-euro-2016-active #mainContent .is-compact-squad .retro-squad-heading {
  min-height: 102px;
  padding: 20px 24px;
  border: 0;
  border-bottom: 1px solid rgba(111, 220, 249, 0.38);
  color: #f8fdff;
  background: linear-gradient(112deg, rgba(7, 92, 174, 0.98), rgba(4, 46, 111, 0.98));
}

body.retro-mode-active.retro-euro-2016-active #mainContent .is-compact-squad .retro-squad-heading small {
  color: #bfeeff;
  font: 800 9px "DM Mono", monospace;
  letter-spacing: 0.08em;
}

body.retro-mode-active.retro-euro-2016-active #mainContent .is-compact-squad .retro-squad-heading strong {
  color: #f8fdff;
  font-size: clamp(20px, 2vw, 28px);
  line-height: 1.08;
}

body.retro-mode-active.retro-euro-2016-active #mainContent .is-compact-squad .retro-squad-heading em {
  color: #92ebff;
  font: 700 10px "DM Mono", monospace;
}

body.retro-mode-active.retro-euro-2016-active #mainContent .is-compact-squad .retro-squad-heading select {
  min-width: 210px;
  min-height: 42px;
  border: 1px solid rgba(146, 235, 255, 0.52);
  border-radius: 9px;
  color: #f8fdff;
  background: #031d55;
  box-shadow: none;
}

body.retro-mode-active.retro-euro-2016-active #mainContent .is-compact-squad .retro-squad-groups {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
  padding: 24px;
}

body.retro-mode-active.retro-euro-2016-active #mainContent .is-compact-squad .retro-squad-position-group {
  overflow: visible;
  border: 0;
  border-radius: 0;
  color: #f8fdff;
  background: transparent;
  box-shadow: none;
}

body.retro-mode-active.retro-euro-2016-active #mainContent .is-compact-squad .retro-squad-position-group > h2 {
  min-height: 32px;
  margin: 0 0 6px;
  padding: 0 2px 8px;
  border: 0;
  border-bottom: 2px solid #1cc7ee;
  color: #ffdc38;
  background: transparent;
  font: 800 11px "DM Mono", monospace;
  letter-spacing: 0.08em;
}

body.retro-mode-active.retro-euro-2016-active #mainContent .is-compact-squad .retro-squad-position-group > h2 b {
  color: #92ebff;
  font-size: 9px;
}

body.retro-mode-active.retro-euro-2016-active #mainContent .is-compact-squad .retro-squad-row,
body.retro-mode-active.retro-euro-2016-active #mainContent .is-compact-squad .retro-squad-row:nth-child(even) {
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 8px;
  min-height: 52px;
  padding: 8px 2px;
  border: 0;
  border-bottom: 1px solid rgba(159, 228, 250, 0.18);
  color: #f8fdff;
  background: transparent;
  box-shadow: none;
}

body.retro-mode-active.retro-euro-2016-active #mainContent .is-compact-squad .retro-squad-row:last-child {
  border-bottom: 0;
}

body.retro-mode-active.retro-euro-2016-active #mainContent .is-compact-squad .retro-squad-number {
  padding-top: 2px;
  color: #ffdc38;
  font: 800 10px "DM Mono", monospace;
}

body.retro-mode-active.retro-euro-2016-active #mainContent .is-compact-squad .retro-squad-row strong {
  color: #f8fdff;
  font-size: 12px;
  line-height: 1.15;
}

body.retro-mode-active.retro-euro-2016-active #mainContent .is-compact-squad .retro-squad-row small {
  color: #9fd9ed;
  font-size: 9px;
  font-weight: 700;
  line-height: 1.2;
}

@media (max-width: 1180px) {
  body.retro-mode-active.retro-euro-2016-active #mainContent .is-compact-squad .retro-squad-groups {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  body.retro-mode-active.retro-euro-2016-active #mainContent .is-compact-squad .retro-squad-heading {
    align-items: stretch;
    padding: 18px;
  }

  body.retro-mode-active.retro-euro-2016-active #mainContent .is-compact-squad .retro-squad-heading select {
    width: 100%;
    min-width: 0;
  }

  body.retro-mode-active.retro-euro-2016-active #mainContent .is-compact-squad .retro-squad-groups {
    grid-template-columns: minmax(0, 1fr);
    gap: 22px;
    padding: 20px 18px 26px;
  }
}

/* Euro 2016 squad and archive final cascade lock. */
body.retro-mode-active.retro-euro-2016-active {
  --e16-section-art:
    radial-gradient(circle at 88% 10%, rgba(111, 225, 255, 0.18), transparent 30%),
    radial-gradient(circle at 10% 96%, rgba(0, 116, 218, 0.22), transparent 34%),
    repeating-radial-gradient(circle at 92% 6%, transparent 0 19px, rgba(151, 235, 255, 0.055) 20px 21px, transparent 22px 38px),
    linear-gradient(145deg, rgba(8, 75, 151, 0.44), rgba(3, 31, 88, 0.96) 56%, rgba(2, 18, 61, 0.98));
  --e16-section-art-strong:
    radial-gradient(circle at 84% 14%, rgba(146, 235, 255, 0.25), transparent 27%),
    repeating-radial-gradient(circle at 88% 10%, transparent 0 25px, rgba(176, 242, 255, 0.07) 26px 27px, transparent 28px 48px),
    linear-gradient(128deg, rgba(7, 104, 188, 0.98), rgba(3, 42, 106, 0.98) 52%, rgba(2, 19, 64, 0.99));
}

body.retro-mode-active.retro-euro-2016-active #mainContent :is(
  .match-stage,
  .round-board,
  .panel,
  .match-analysis
),
body.retro-mode-active.retro-euro-2016-active :is(
  .retro-group-table,
  .retro-squad-view,
  .retro-lineups-view,
  .retro-manager-lineup
) {
  background: var(--e16-section-art);
  background-color: #031f58;
}

.tournament-history-screen[data-history-theme="2016"] :is(
  .tournament-history-hero,
  .tournament-history-summary article,
  .tournament-history-rounds,
  .tournament-history-match,
  .tournament-history-fixture
) {
  background-image:
    radial-gradient(circle at 90% 12%, rgba(111, 225, 255, 0.13), transparent 28%),
    repeating-radial-gradient(circle at 92% 8%, transparent 0 22px, rgba(151, 235, 255, 0.04) 23px 24px, transparent 25px 42px);
}

body.retro-mode-active.retro-euro-2016-active #mainContent .retro-squad-view.is-compact-squad .retro-squad-groups {
  align-items: start;
}

body.retro-mode-active.retro-euro-2016-active #mainContent .retro-squad-view.is-compact-squad .retro-squad-position-group {
  align-self: start;
  height: auto;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

body.retro-mode-active.retro-euro-2016-active #mainContent .retro-squad-view.is-compact-squad .retro-squad-position-group > h2 {
  min-height: 38px;
  margin: 0 0 4px;
  padding: 0 0 8px;
  border: 0;
  border-bottom: 2px solid #1cc7ee;
  border-radius: 0;
  color: #f8fdff;
  background: transparent;
  box-shadow: none;
}

body.retro-mode-active.retro-euro-2016-active #mainContent .retro-squad-view.is-compact-squad .retro-squad-position-group > h2 b {
  display: grid;
  width: 24px;
  height: 24px;
  place-items: center;
  flex: 0 0 24px;
  border: 1px solid #ffed82;
  border-radius: 0;
  color: #020d32;
  background: #ffdc38;
  font: 900 11px/1 "DM Mono", monospace;
}

body.retro-mode-active.retro-euro-2016-active #mainContent .retro-squad-view.is-compact-squad .retro-squad-row,
body.retro-mode-active.retro-euro-2016-active #mainContent .retro-squad-view.is-compact-squad .retro-squad-row:nth-child(even) {
  border-right: 0;
  border-left: 0;
  border-radius: 0;
}

.profile-tournament-history-card[data-history-theme="2016"] {
  --profile-history-accent: #ffdc38;
  --profile-history-surface: #063f91;
  border-color: rgba(111, 220, 249, 0.48);
  border-radius: 0;
  box-shadow: inset 4px 0 #1cc7ee;
}

.profile-tournament-history-card[data-history-theme="2016"] .profile-history-edition {
  border-radius: 0;
  background: #032b70;
}

#championSaveTournament[data-history-theme="2016"] {
  border: 1px solid #92ebff;
  border-radius: 0;
  color: #f8fdff;
  background: #0756aa;
  box-shadow: 0 5px 0 #032a6a;
}

#championSaveTournament[data-history-theme="2016"].is-saved {
  border-color: #ffdc38;
  color: #020d32;
  background: #ffdc38;
  box-shadow: 0 5px 0 #a98700;
}

.tournament-history-screen[data-history-theme="2016"] {
  --history-accent: #ffdc38;
  --history-accent-strong: #1cc7ee;
  --history-accent-ink: #020d32;
  --history-bg: #043878;
  --history-bg-deep: #020d32;
  --history-surface: rgba(3, 31, 88, 0.97);
  --history-surface-soft: rgba(7, 86, 170, 0.9);
  --history-line: rgba(111, 220, 249, 0.46);
  --history-text: #f8fdff;
  --history-muted: #bfeeff;
  background:
    radial-gradient(circle at 86% 8%, rgba(98, 219, 255, 0.28), transparent 27%),
    radial-gradient(circle at 12% 90%, rgba(0, 91, 196, 0.4), transparent 32%),
    repeating-radial-gradient(circle at 74% 28%, rgba(255, 255, 255, 0.035) 0 2px, transparent 2px 22px),
    linear-gradient(135deg, #020c2d 0%, #043878 52%, #078fc4 100%);
}

.tournament-history-screen[data-history-theme="2016"] .tournament-history-header {
  border-color: rgba(111, 220, 249, 0.5);
  background: rgba(2, 13, 50, 0.96);
  backdrop-filter: none;
}

.tournament-history-screen[data-history-theme="2016"] :is(
  .tournament-history-back,
  .tournament-history-brand-mark,
  .tournament-history-hero,
  .tournament-history-summary article,
  .tournament-history-rounds,
  .tournament-history-match,
  .tournament-history-fixture,
  .tournament-history-champion-flag.country-flag,
  .tournament-history-match-flag.country-flag
) {
  border-radius: 0;
}

.tournament-history-screen[data-history-theme="2016"] .tournament-history-back {
  border-color: rgba(146, 235, 255, 0.58);
  background: #032b70;
}

.tournament-history-screen[data-history-theme="2016"] .tournament-history-brand-mark {
  border: 1px solid #92ebff;
  color: #020d32;
  background: #ffdc38;
  box-shadow: inset 0 -5px #1cc7ee;
}

.tournament-history-screen[data-history-theme="2016"] .tournament-history-hero {
  border: 2px solid #1cc7ee;
  background: #031f58;
  box-shadow: 10px 10px 0 rgba(255, 220, 56, 0.28);
}

.tournament-history-screen[data-history-theme="2016"] .tournament-history-edition {
  background:
    linear-gradient(145deg, rgba(28, 199, 238, 0.18), transparent 58%),
    #043f91;
}

.tournament-history-screen[data-history-theme="2016"] .tournament-history-champion {
  background:
    radial-gradient(circle at 42% 50%, rgba(28, 199, 238, 0.2), transparent 34%),
    linear-gradient(115deg, #052c72, #0756aa);
}

.tournament-history-screen[data-history-theme="2016"] .tournament-history-summary article {
  border-color: rgba(111, 220, 249, 0.48);
  background: #032b70;
  box-shadow: inset 0 3px #1cc7ee;
}

.tournament-history-screen[data-history-theme="2016"] .tournament-history-summary article:nth-child(even) {
  background: #06458f;
}

.tournament-history-screen[data-history-theme="2016"] .tournament-history-rounds,
.tournament-history-screen[data-history-theme="2016"] .tournament-history-match,
.tournament-history-screen[data-history-theme="2016"] .tournament-history-fixture {
  border-color: rgba(111, 220, 249, 0.48);
  background: #031f58;
  box-shadow: none;
}

.tournament-history-screen[data-history-theme="2016"] .tournament-history-rounds button {
  border-color: rgba(111, 220, 249, 0.28);
}

.tournament-history-screen[data-history-theme="2016"] .tournament-history-rounds button.is-active,
.tournament-history-screen[data-history-theme="2016"] .tournament-history-fixture.is-selected {
  color: #f8fdff;
  background: #0756aa;
  box-shadow: inset 5px 0 #ffdc38;
}

@media (width < 0px) {
/* Euro 2016 artwork must remain the final theme layer. */
body.retro-mode-active.retro-euro-2016-active {
  --e16-section-art:
    radial-gradient(circle at 88% 10%, rgba(111, 225, 255, 0.18), transparent 30%),
    radial-gradient(circle at 10% 96%, rgba(0, 116, 218, 0.22), transparent 34%),
    repeating-radial-gradient(circle at 92% 6%, transparent 0 19px, rgba(151, 235, 255, 0.055) 20px 21px, transparent 22px 38px),
    linear-gradient(145deg, rgba(8, 75, 151, 0.44), rgba(3, 31, 88, 0.96) 56%, rgba(2, 18, 61, 0.98));
  --e16-section-art-strong:
    radial-gradient(circle at 84% 14%, rgba(146, 235, 255, 0.25), transparent 27%),
    repeating-radial-gradient(circle at 88% 10%, transparent 0 25px, rgba(176, 242, 255, 0.07) 26px 27px, transparent 28px 48px),
    linear-gradient(128deg, rgba(7, 104, 188, 0.98), rgba(3, 42, 106, 0.98) 52%, rgba(2, 19, 64, 0.99));
}

body.retro-mode-active.retro-euro-2016-active .retro-tournament-heading,
body.retro-mode-active.retro-euro-2016-active .retro-view-tabs,
body.retro-mode-active.retro-euro-2016-active #mainContent :is(
  .match-stage,
  .round-board,
  .panel,
  .match-analysis,
  .standard-match-tactics,
  .story-card
),
body.retro-mode-active.retro-euro-2016-active :is(
  .retro-group-table,
  .retro-squad-view,
  .retro-lineups-view,
  .retro-match-lineups-panel,
  .retro-lineup-side,
  .retro-lineup-tabs,
  .retro-manager-lineup,
  .retro-live-ratings-side
) {
  background: var(--e16-section-art);
  background-color: #031f58;
}

body.retro-mode-active.retro-euro-2016-active #mainContent :is(
  .panel-heading,
  .match-analysis-heading,
  .retro-table-head,
  .retro-squad-heading,
  .retro-manager-lineup > header,
  .retro-live-ratings-side > header
),
body.retro-mode-active.retro-euro-2016-active :is(
  .retro-squad-position-group > h2,
  .retro-lineup-side header
) {
  background:
    radial-gradient(circle at 90% 20%, rgba(146, 235, 255, 0.18), transparent 34%),
    repeating-linear-gradient(118deg, transparent 0 24px, rgba(193, 247, 255, 0.045) 25px 26px),
    linear-gradient(90deg, rgba(7, 88, 167, 0.98), rgba(4, 50, 116, 0.98));
}

body.retro-mode-active.retro-euro-2016-active #mainContent :is(
  .fixture,
  .retro-table-row,
  .retro-squad-row,
  .retro-lineup-side li,
  .retro-manager-player,
  .golden-boot-player
) {
  background-image:
    radial-gradient(circle at 96% 0%, rgba(146, 235, 255, 0.09), transparent 38%),
    linear-gradient(110deg, rgba(7, 91, 167, 0.14), transparent 48%);
}

body.retro-mode-active.retro-euro-2016-active #mainContent :is(
  #championStage,
  .penalty-stage,
  .match-penalty-overlay
) {
  background: var(--e16-section-art-strong);
  background-color: #031f58;
}

body.retro-mode-active.retro-euro-2016-active :is(
  .modal,
  .confirm-modal,
  .snapshot-modal,
  .achievement-unlock-modal
) {
  background:
    radial-gradient(circle at 94% 4%, rgba(146, 235, 255, 0.17), transparent 30%),
    repeating-radial-gradient(circle at 100% 0%, transparent 0 22px, rgba(176, 242, 255, 0.05) 23px 24px, transparent 25px 42px),
    linear-gradient(145deg, rgba(6, 74, 146, 0.99), rgba(2, 17, 58, 0.99));
}

.tournament-history-screen[data-history-theme="2016"] :is(
  .tournament-history-hero,
  .tournament-history-summary article,
  .tournament-history-rounds,
  .tournament-history-match,
  .tournament-history-fixture
) {
  background-image:
    radial-gradient(circle at 90% 8%, rgba(146, 235, 255, 0.13), transparent 32%),
    repeating-radial-gradient(circle at 96% 2%, transparent 0 20px, rgba(176, 242, 255, 0.04) 21px 22px, transparent 23px 38px),
    linear-gradient(145deg, rgba(7, 78, 154, 0.28), rgba(3, 31, 88, 0.96));
}

@media (max-width: 700px) {
  body.retro-mode-active.retro-euro-2016-active .retro-tournament-heading {
    padding-left: 18px;
    background-size: auto, auto, 260px 260px, auto;
  }

  body.retro-mode-active.retro-euro-2016-active #mainContent :is(
    .match-stage,
    .round-board,
    .panel,
    .match-analysis,
    .standard-match-tactics,
    .story-card
  ),
  body.retro-mode-active.retro-euro-2016-active :is(
    .retro-group-table,
    .retro-squad-view,
    .retro-lineups-view,
    .retro-match-lineups-panel,
    .retro-manager-lineup,
    .retro-live-ratings-side
  ) {
    background-size: auto, auto, 260px 260px, auto;
  }
}
}

/* World Cup simulator menu: give every edition a full-card tournament identity. */
.mode-card-retro[data-retro-competition="wc"] {
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.15);
  color: #ffffff;
  background-color: #101a28;
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.09), 0 22px 56px rgba(0, 0, 0, 0.28);
}

.mode-card-retro[data-retro-competition="wc"][data-retro-edition="1998"] {
  isolation: isolate;
  border-color: rgba(226, 229, 191, 0.42);
  background:
    linear-gradient(132deg, transparent 0 18%, rgba(237, 235, 199, 0.14) 18.5% 19.2%, transparent 19.7% 70%, rgba(229, 209, 215, 0.2) 70.5% 71.2%, transparent 71.7%),
    radial-gradient(circle at 86% 18%, rgba(218, 55, 96, 0.8), transparent 20%),
    radial-gradient(circle at 14% 88%, rgba(45, 83, 58, 0.7), transparent 34%),
    linear-gradient(145deg, #a4b9a0 0%, #526d56 42%, #314637 72%, #5f334c 100%);
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.25), 0 22px 56px rgba(20, 28, 21, 0.34);
}

.mode-card-retro[data-retro-competition="wc"][data-retro-edition="1998"]::after {
  position: absolute;
  z-index: -1;
  right: -64px;
  bottom: -104px;
  width: 240px;
  height: 240px;
  border: 22px solid rgba(226, 226, 188, 0.12);
  border-radius: 50%;
  content: "";
}

.mode-card-retro[data-retro-competition="wc"][data-retro-edition="1998"] > * {
  position: relative;
  z-index: 1;
}

.mode-card-retro[data-retro-competition="wc"][data-retro-edition="1998"] .retro-mode-heading > img {
  object-fit: contain;
  filter: drop-shadow(0 8px 12px rgba(30, 35, 24, 0.42));
}

.mode-card-retro[data-retro-competition="wc"][data-retro-edition="1998"] :is(
  h3,
  .landing-setting-heading > span,
  .landing-team-setting > span
) {
  color: #f4f4df;
}

.mode-card-retro[data-retro-competition="wc"][data-retro-edition="1998"] :is(
  .retro-competition-switch,
  .retro-year-switch,
  .landing-segmented
) {
  border-color: rgba(228, 236, 207, 0.3);
  background: rgba(32, 55, 38, 0.72);
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.12);
}

.mode-card-retro[data-retro-competition="wc"][data-retro-edition="1998"] .retro-start-button:disabled {
  border-color: #e8e9c7;
  color: #2a4934;
  background: #e8e9c7;
  box-shadow: 0 6px 0 #91506a;
  cursor: not-allowed;
  opacity: 1;
}

.mode-card-retro[data-retro-competition="wc"][data-retro-edition="2002"] {
  background:
    radial-gradient(circle at 86% 19%, rgba(255, 210, 31, 0.95) 0 7px, transparent 8px),
    radial-gradient(circle at 86% 19%, transparent 0 46px, rgba(243, 19, 43, 0.86) 47px 58px, transparent 59px),
    radial-gradient(circle at 12% 91%, transparent 0 54px, rgba(0, 166, 106, 0.72) 55px 65px, transparent 66px),
    linear-gradient(118deg, transparent 0 59%, rgba(255, 210, 31, 0.88) 59.5% 61%, transparent 61.5%),
    repeating-linear-gradient(132deg, transparent 0 38px, rgba(255, 255, 255, 0.035) 39px 41px),
    linear-gradient(138deg, #062c58 0%, #075891 54%, #082d5e 100%);
}

.mode-card-retro[data-retro-competition="wc"][data-retro-edition="2002"]::after {
  position: absolute;
  z-index: 0;
  right: -92px;
  bottom: -126px;
  width: 260px;
  height: 260px;
  border: 24px solid rgba(243, 19, 43, 0.22);
  border-radius: 50%;
  content: "";
  pointer-events: none;
}

.mode-card-retro[data-retro-competition="wc"][data-retro-edition="2002"] > * {
  position: relative;
  z-index: 1;
}

.mode-card-retro[data-retro-competition="wc"][data-retro-edition="2002"] .retro-mode-heading > img {
  filter: drop-shadow(0 10px 16px rgba(0, 15, 43, 0.46));
}

.mode-card-retro[data-retro-competition="wc"][data-retro-edition="2002"] .retro-start-button:disabled {
  border-color: #ef233c;
  color: #ffffff;
  background: #ef233c;
  box-shadow: 0 6px 0 #a80f24;
  cursor: not-allowed;
  opacity: 1;
}

/* Keep the 1998/2002 menu artwork from escaping its card while an information
   panel is open, without clipping the panel itself. */
.mode-card-retro[data-retro-competition="wc"]:is(
  [data-retro-edition="1998"],
  [data-retro-edition="2002"]
):has(.landing-setting-info[open])::after {
  opacity: 0;
}

.mode-card-retro[data-retro-competition="wc"]:is(
  [data-retro-edition="1998"],
  [data-retro-edition="2002"]
) .retro-landing-settings:has(.landing-setting-info[open]) {
  z-index: 20;
}

.mode-card-retro[data-retro-competition="wc"]:is(
  [data-retro-edition="1998"],
  [data-retro-edition="2002"]
) .landing-setting:has(.landing-setting-info[open]) {
  position: relative;
  z-index: 21;
}

.mode-card-retro[data-retro-competition="wc"]:is(
  [data-retro-edition="1998"],
  [data-retro-edition="2002"]
) .landing-setting-info,
.mode-card-retro[data-retro-competition="wc"]:is(
  [data-retro-edition="1998"],
  [data-retro-edition="2002"]
) .landing-setting-info[open] {
  position: static;
}

.mode-card-retro[data-retro-competition="wc"][data-retro-edition="2006"] {
  background:
    linear-gradient(132deg, transparent 0 34%, rgba(3, 26, 42, 0.86) 34.5% 40%, rgba(135, 194, 218, 0.18) 40.5% 42%, transparent 42.5%),
    repeating-radial-gradient(circle at 90% 88%, transparent 0 32px, rgba(188, 229, 244, 0.09) 33px 35px, transparent 36px 58px),
    radial-gradient(circle at 16% 9%, rgba(223, 244, 252, 0.55), transparent 29%),
    radial-gradient(circle at 86% 80%, rgba(0, 55, 88, 0.62), transparent 42%),
    linear-gradient(142deg, #b6d5e1 0%, #6aa3bd 37%, #1d6e96 65%, #063c63 100%);
}

.mode-card-retro[data-retro-competition="wc"][data-retro-edition="2010"] {
  background:
    linear-gradient(135deg, rgba(55, 24, 8, 0.58), rgba(79, 33, 5, 0.36)),
    url("./assets/retro-2010/south-africa-sunburst-desktop.webp") center / cover no-repeat;
}

.mode-card-retro[data-retro-competition="wc"][data-retro-edition="2014"] {
  background:
    linear-gradient(140deg, rgba(0, 55, 42, 0.88), rgba(0, 87, 62, 0.76) 55%, rgba(9, 71, 104, 0.78)),
    url("./assets/retro-2014/brazil-watercolor-stadium.webp") center / cover no-repeat;
}

.mode-card-retro[data-retro-competition="wc"][data-retro-edition="2018"] {
  background:
    radial-gradient(circle at 84% 18%, rgba(247, 207, 126, 0.2), transparent 22%),
    repeating-conic-gradient(from 18deg at 84% 18%, rgba(255, 255, 255, 0.055) 0deg 4deg, transparent 4deg 18deg),
    linear-gradient(138deg, #291132 0%, #761b2c 54%, #b62828 100%);
}

.mode-card-retro[data-retro-competition="wc"][data-retro-edition="2022"] {
  background:
    linear-gradient(135deg, rgba(26, 6, 20, 0.48), rgba(72, 4, 38, 0.36)),
    url("./assets/retro-2022/qatar-night-landscape.png") center / cover no-repeat;
}

.mode-card-retro[data-retro-competition="wc"][data-retro-edition="2026"] {
  background:
    radial-gradient(circle at 88% 13%, rgba(88, 255, 180, 0.25), transparent 25%),
    radial-gradient(circle at 12% 90%, rgba(255, 75, 101, 0.22), transparent 29%),
    repeating-linear-gradient(120deg, transparent 0 36px, rgba(255, 255, 255, 0.045) 37px 39px),
    linear-gradient(138deg, #071947 0%, #1749a9 52%, #077f97 100%);
}

.mode-card-retro[data-retro-competition="wc"] :is(
  h3,
  .landing-setting-heading > span,
  .landing-team-setting > span
) {
  color: #ffffff;
}

.mode-card-retro[data-retro-competition="wc"] :is(
  .retro-competition-switch,
  .retro-year-switch,
  .landing-segmented
) {
  border-color: rgba(255, 255, 255, 0.2);
  background: rgba(5, 12, 24, 0.68);
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.035);
}

.mode-card-retro[data-retro-competition="wc"] :is(
  .retro-competition-switch button,
  .retro-year-switch button,
  .landing-segmented button
) {
  color: rgba(255, 255, 255, 0.72);
}

.mode-card-retro[data-retro-competition="wc"] :is(
  .retro-competition-switch button.active,
  .retro-year-switch button.active,
  .landing-segmented button.active
) {
  color: var(--retro-accent-text);
  background: var(--retro-accent);
}

.mode-card-retro[data-retro-competition="wc"] .retro-team-picker {
  border-color: rgba(255, 255, 255, 0.22);
  background: rgba(5, 15, 32, 0.72);
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.035);
}

.mode-card-retro[data-retro-competition="wc"] .retro-team-picker :is(strong, small) {
  color: #ffffff;
}

.mode-card-retro[data-retro-competition="wc"] .retro-team-picker small {
  opacity: 0.7;
}

@media (max-width: 700px) {
  .mode-card-retro[data-retro-competition="wc"][data-retro-edition="2010"] {
    background-image:
      linear-gradient(135deg, rgba(55, 24, 8, 0.58), rgba(79, 33, 5, 0.36)),
      url("./assets/retro-2010/south-africa-sunburst-portrait.webp");
  }

  .mode-card-retro[data-retro-competition="wc"][data-retro-edition="2022"] {
    background-image:
      linear-gradient(135deg, rgba(26, 6, 20, 0.48), rgba(72, 4, 38, 0.36)),
      url("./assets/retro-2022/qatar-night-portrait.png");
  }
}

/* Euro 2016 penalty shootout final theme lock. */
body.retro-mode-active.retro-euro-2016-active #mainContent :is(
  .penalty-stage,
  .match-penalty-overlay
) {
  border: 1px solid rgba(111, 225, 255, 0.72);
  border-radius: 0;
  color: #f8fdff;
  background:
    radial-gradient(circle at 86% 8%, rgba(111, 225, 255, 0.2), transparent 30%),
    repeating-radial-gradient(circle at 92% 6%, transparent 0 19px, rgba(176, 242, 255, 0.055) 20px 21px, transparent 22px 38px),
    linear-gradient(145deg, #0756aa, #021d58);
  box-shadow: inset 0 4px #1cc7ee, 8px 8px 0 rgba(2, 20, 62, 0.68);
}

body.retro-mode-active.retro-euro-2016-active #mainContent :is(
  .match-penalty-scene,
  .standard-penalty-scene
) {
  border: 1px solid rgba(146, 235, 255, 0.64);
  border-radius: 0;
  background:
    linear-gradient(180deg, rgba(3, 58, 132, 0.12), rgba(2, 17, 58, 0.64)),
    repeating-linear-gradient(90deg, rgba(146, 235, 255, 0.055) 0 42px, transparent 42px 84px),
    linear-gradient(135deg, #0867b5, #032d75);
  box-shadow: inset 0 0 46px rgba(1, 14, 51, 0.38);
}

body.retro-mode-active.retro-euro-2016-active #mainContent .penalty-stage-head {
  color: #9edcf0;
}

body.retro-mode-active.retro-euro-2016-active #mainContent :is(
  .penalty-stage-head strong,
  .penalty-call strong,
  .match-penalty-decision small
) {
  color: #f8fdff;
  text-shadow: none;
}

body.retro-mode-active.retro-euro-2016-active #mainContent :is(
  .penalty-stage-head strong i,
  .penalty-stage-head strong b.score-pop,
  .match-penalty-decision strong
) {
  color: #ffdc38;
}

body.retro-mode-active.retro-euro-2016-active #mainContent :is(
  .penalty-call span,
  .penalty-ledgers span
) {
  color: #9edcf0;
}

body.retro-mode-active.retro-euro-2016-active #mainContent .penalty-mark {
  border-color: rgba(146, 235, 255, 0.58);
  border-radius: 0;
  color: #f8fdff;
  background: #0756aa;
}

body.retro-mode-active.retro-euro-2016-active #mainContent .penalty-mark.goal {
  border-color: #ffdc38;
  color: #ffdc38;
  background: #ffdc38;
  box-shadow: 0 0 0 3px rgba(255, 220, 56, 0.16);
}

body.retro-mode-active.retro-euro-2016-active #mainContent .penalty-mark.miss {
  border-color: #f05b64;
  color: #f05b64;
  background: rgba(240, 91, 100, 0.18);
}

body.retro-mode-active.retro-euro-2016-active #mainContent :is(
  .match-penalty-targets,
  .standard-penalty-targets
) button {
  border-color: rgba(146, 235, 255, 0.78);
  color: #f8fdff;
  background: rgba(28, 199, 238, 0.12);
  box-shadow: inset 0 0 0 1px rgba(3, 45, 117, 0.3);
}

body.retro-mode-active.retro-euro-2016-active #mainContent :is(
  .match-penalty-targets,
  .standard-penalty-targets
) button:hover {
  border-color: #ffdc38;
  color: #02143e;
  background: #ffdc38;
}

body.retro-mode-active.retro-euro-2016-active #mainContent :is(
  .match-penalty-scene,
  .standard-penalty-scene
) .penalty-goal {
  border-color: #effbff;
  filter: drop-shadow(0 2px 0 #0756aa);
}

body.retro-mode-active.retro-euro-2016-active #mainContent :is(
  .match-penalty-scene,
  .standard-penalty-scene
) .penalty-net {
  opacity: 0.34;
  background:
    repeating-linear-gradient(0deg, transparent 0 13px, rgba(239, 251, 255, 0.72) 13px 14px),
    repeating-linear-gradient(90deg, transparent 0 18px, rgba(239, 251, 255, 0.72) 18px 19px);
}

body.retro-mode-active.retro-euro-2016-active #mainContent :is(
  .match-penalty-scene,
  .standard-penalty-scene
) .penalty-keeper {
  color: #ffdc38;
}

body.retro-mode-active.retro-euro-2016-active #mainContent :is(
  .match-penalty-scene,
  .standard-penalty-scene
) .penalty-taker {
  color: #f8fdff;
}

body.retro-mode-active.retro-euro-2016-active #mainContent :is(
  .match-penalty-scene,
  .standard-penalty-scene
) .penalty-ball {
  border-color: rgba(2, 20, 62, 0.72);
  background: radial-gradient(circle at 35% 30%, #f8fdff 0 36%, #9edcf0 37% 67%, #0756aa 68% 100%);
}

body.retro-mode-active.retro-euro-2016-active #mainContent :is(
  .match-penalty-scene,
  .standard-penalty-scene
)[data-result="goal"] {
  box-shadow: inset 0 0 0 999px rgba(255, 220, 56, 0.055);
}

body.retro-mode-active.retro-euro-2016-active #mainContent :is(
  .match-penalty-scene,
  .standard-penalty-scene
)[data-result="save"] {
  box-shadow: inset 0 0 0 999px rgba(240, 91, 100, 0.065);
}

body.retro-mode-active.retro-euro-2016-active #mainContent :is(
  #skipShootoutButton
) {
  width: auto;
  min-width: 118px;
  min-height: 32px;
  padding: 0 14px;
  border: 1px solid rgba(255, 220, 56, 0.92);
  border-radius: 0;
  color: #02143e;
  background: #ffdc38;
  font-size: 10px;
  line-height: 1;
  box-shadow: 0 4px 0 #d4a900;
  transition: transform 140ms cubic-bezier(0.23, 1, 0.32, 1);
}

body.retro-mode-active.retro-euro-2016-active #mainContent #skipShootoutButton:active {
  transform: scale(0.97);
}

body.retro-mode-active.retro-euro-2016-active #mainContent #shootoutSkipControl {
  border: 0;
  color: inherit;
  background: transparent;
  box-shadow: none;
}

/* Premier League menu picker: keep the club row purple and let crests stand alone. */
.mode-card-premier-league .premier-league-team-picker,
.mode-card-premier-league .premier-league-team-picker.has-team {
  border: 1px solid rgba(175, 111, 204, 0.38);
  background: rgba(62, 25, 82, 0.82);
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.035);
}

.mode-card-premier-league .premier-league-team-mark {
  width: 46px;
  height: 46px;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.mode-card-premier-league .premier-league-team-mark .premier-league-club-badge {
  width: 46px;
  height: 46px;
  object-fit: contain;
}

.mode-card-premier-league .premier-league-team-picker .spectate-picker-arrow {
  color: #c78fe0;
}

/* Compact mobile mode browser: show the catalogue first, then one setup at a time. */
.mode-card-mobile-toggle {
  display: none;
}

@media (max-width: 720px) {
  .mode-select {
    padding-top: 10px;
  }

  .mode-grid {
    gap: 10px;
  }

  .mode-grid > .mode-card {
    min-height: 76px;
    max-height: 76px;
    padding: 0;
    border: 1px solid rgba(139, 158, 198, 0.18);
    border-radius: 12px;
    overflow: hidden;
    box-shadow: inset 0 1px rgba(255, 255, 255, 0.055);
  }

  .mode-card-ucl {
    order: 3;
  }

  .mode-card-default {
    order: 4;
  }

  .mode-grid > .mode-card > :not(.mode-card-mobile-toggle) {
    visibility: hidden;
    pointer-events: none;
  }

  .mode-grid > .mode-card.is-mobile-expanded {
    max-height: none;
    padding: 0 16px 16px;
  }

  .mode-grid > .mode-card.is-mobile-expanded > :not(.mode-card-mobile-toggle) {
    visibility: visible;
    pointer-events: auto;
  }

  .mode-card-mobile-toggle {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) 22px;
    align-items: center;
    gap: 14px;
    width: 100%;
    min-height: 76px;
    padding: 12px 14px;
    border: 0 !important;
    color: #f4f7ff;
    background: transparent !important;
    box-shadow: none !important;
    text-align: left;
    cursor: pointer;
    transition: transform 140ms cubic-bezier(0.23, 1, 0.32, 1), background-color 160ms ease;
  }

  .mode-card-mobile-toggle:active {
    transform: scale(0.985);
  }

  .is-mobile-expanded > .mode-card-mobile-toggle {
    margin-bottom: 14px;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .mode-card-mobile-artwork {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
  }

  .mode-card-mobile-artwork img {
    display: block;
    width: 40px;
    height: 40px;
    object-fit: contain;
  }

  .mode-card-mobile-artwork img[hidden] {
    display: none;
  }

  :is(.mode-card-domestic-league, .mode-card-premier-league) .mode-card-mobile-artwork img {
    width: 38px;
    height: 38px;
  }

  .mode-card-ucl .mode-card-mobile-artwork img {
    width: 36px;
    height: 36px;
  }

  .mode-card-retro[data-retro-competition="euros"] .mode-card-mobile-artwork img {
    object-fit: cover;
    object-position: center top;
    transform: none;
  }

  .mode-card.is-mobile-expanded > .mode-card-mobile-toggle {
    grid-template-columns: 60px minmax(0, 1fr) 22px;
    min-height: 88px;
  }

  .mode-card.is-mobile-expanded .mode-card-mobile-artwork {
    width: 60px;
    height: 60px;
  }

  .mode-card:is(
    .mode-card-retro,
    .mode-card-domestic-league,
    .mode-card-premier-league,
    .mode-card-ucl,
    .mode-card-default
  ).is-mobile-expanded .mode-card-mobile-artwork img {
    width: 58px;
    height: 58px;
  }

  .mode-card-mobile-copy {
    display: grid;
    min-width: 0;
    gap: 3px;
  }

  .mode-card-mobile-copy strong,
  .mode-card-mobile-copy small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .mode-card-mobile-copy strong {
    color: #ffffff;
    font-size: 15px;
    line-height: 1.15;
  }

  .mode-card-mobile-copy small {
    color: rgba(225, 233, 249, 0.67);
    font-size: 10px;
  }

  .mode-card-mobile-chevron {
    color: rgba(221, 231, 255, 0.72);
    font-size: 25px;
    line-height: 1;
    transform: rotate(0deg);
    transition: transform 180ms cubic-bezier(0.77, 0, 0.175, 1);
  }

  .is-mobile-expanded .mode-card-mobile-chevron {
    transform: rotate(90deg);
  }

  .mode-grid > .mode-card.is-mobile-expanded > .mode-card-copy {
    margin: 0 0 12px;
  }

  .mode-grid > .mode-card.is-mobile-expanded > .mode-card-copy h3,
  .mode-grid > .mode-card.is-mobile-expanded .retro-mode-heading > img,
  .mode-grid > .mode-card.is-mobile-expanded .premier-league-brand-mark,
  .mode-grid > .mode-card.is-mobile-expanded .championship-brand-mark,
  .mode-grid > .mode-card.is-mobile-expanded .ligue-1-brand-mark,
  .mode-grid > .mode-card.is-mobile-expanded .bundesliga-brand-mark,
  .mode-grid > .mode-card.is-mobile-expanded .super-lig-brand-mark,
  .mode-grid > .mode-card.is-mobile-expanded .eredivisie-brand-mark,
  .mode-grid > .mode-card.is-mobile-expanded .belgian-pro-league-brand-mark,
  .mode-grid > .mode-card.is-mobile-expanded .ucl-mode-logo {
    display: none;
  }

  .mode-card-default.is-mobile-expanded > .mode-card-copy {
    display: none;
  }

  .mode-card-retro.is-mobile-expanded .retro-mode-heading {
    display: block;
  }

  .mode-card-retro.is-mobile-expanded .retro-mode-title {
    display: grid;
    gap: 8px;
  }

  .mode-card-domestic-league.is-mobile-expanded .premier-league-heading,
  .mode-card-domestic-league.is-mobile-expanded .championship-heading,
  .mode-card-premier-league.is-mobile-expanded .premier-league-heading,
  .mode-card-ucl.is-mobile-expanded .ucl-mode-heading {
    display: block;
  }

  .mode-card-ucl.is-mobile-expanded .ucl-mode-heading p {
    display: none;
  }

  .mode-card-domestic-league.is-mobile-expanded .premier-league-install-button,
  .mode-card-premier-league.is-mobile-expanded .premier-league-install-button,
  .mode-card-ucl.is-mobile-expanded .ucl-install-button {
    min-height: 44px;
    margin-top: 0;
  }

  .mode-card-domestic-league.is-mobile-expanded
  .domestic-league-panel:not([hidden]) > .premier-league-install-button {
    position: relative;
    z-index: 2;
    width: auto;
    min-height: 44px;
    align-self: flex-end;
    margin: 8px 0 0;
  }

  .mode-card-domestic-league.is-mobile-expanded .domestic-league-switch {
    position: relative;
    top: auto;
    right: auto;
    z-index: 3;
    width: 230px;
    max-width: 100%;
    min-height: 42px;
    margin: 0 0 14px;
  }

  .mode-card-domestic-league.is-mobile-expanded .domestic-league-selectors {
    width: 230px;
    max-width: 100%;
    margin: 0 0 14px;
  }

  .mode-card-domestic-league.is-mobile-expanded .domestic-league-selectors .domestic-league-switch {
    margin: 0;
  }

  .mode-card-domestic-league.is-mobile-expanded .domestic-english-league-switch {
    width: 112px;
  }

  .mode-card-domestic-league.is-mobile-expanded .domestic-english-league-switch button {
    min-height: 38px;
  }

  .mode-card-domestic-league.is-mobile-expanded .domestic-league-switch button {
    min-height: 44px;
    font-size: 10px;
  }

  .mode-card-domestic-league.is-mobile-expanded .domestic-league-panel:not([hidden]) > .mode-card-copy {
    padding-right: 0;
  }

  .mode-card-domestic-league.is-mobile-expanded .domestic-league-panel:not([hidden]) > .mode-card-copy :is(
    h3,
    p,
    .premier-league-brand-mark,
    .championship-brand-mark,
    .la-liga-brand-mark,
    .ligue-1-brand-mark,
    .serie-a-brand-mark,
    .bundesliga-brand-mark,
    .super-lig-brand-mark,
    .eredivisie-brand-mark,
    .belgian-pro-league-brand-mark
  ) {
    display: none;
  }

  .mode-card-retro.is-mobile-expanded :is(.retro-competition-switch, .retro-year-switch) {
    gap: 2px;
    padding: 2px;
  }

  .mode-card-retro.is-mobile-expanded :is(.retro-competition-switch button, .retro-year-switch button) {
    min-height: 34px;
  }

  .mode-grid > .mode-card.is-mobile-expanded .landing-settings,
  .mode-grid > .mode-card.is-mobile-expanded .retro-landing-settings {
    grid-template-columns: 1fr;
    gap: 9px;
    margin: 0 0 12px;
  }

  .mode-grid > .mode-card.is-mobile-expanded .landing-setting:not(.landing-team-setting) {
    grid-template-columns: minmax(88px, 0.42fr) minmax(0, 1fr);
    align-items: center;
    gap: 8px;
  }

  .mode-grid > .mode-card.is-mobile-expanded .landing-setting-heading {
    min-width: 0;
  }

  .mode-grid > .mode-card.is-mobile-expanded .landing-setting .segmented {
    min-width: 0;
  }

  .mode-grid > .mode-card.is-mobile-expanded .landing-setting .segmented button {
    min-height: 36px;
    padding: 7px 3px;
    font-size: 8px;
  }

  .mode-grid > .mode-card.is-mobile-expanded .landing-team-setting {
    gap: 6px;
  }

  .mode-grid > .mode-card.is-mobile-expanded .spectate-picker {
    min-height: 56px;
    padding-block: 7px;
  }

  .mode-grid > .mode-card.is-mobile-expanded .mode-card-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: stretch;
    gap: 8px;
  }

  .mode-grid > .mode-card.is-mobile-expanded .mode-card-actions .start-tournament {
    width: 100%;
    min-width: 0;
    min-height: 46px;
  }

  .mode-grid > .mode-card.is-mobile-expanded .mode-card-actions :is(
    .legacy-restart-button,
    .premier-league-menu-restart
  ) {
    min-width: 74px;
    min-height: 46px;
    padding-inline: 12px;
  }

  .mode-card-custom.is-mobile-expanded .mode-card-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Saved tournament viewer: a continuous editorial archive instead of card stacks. */
.tournament-history-screen {
  --history-rule: color-mix(in srgb, var(--history-accent) 34%, transparent);
}

.tournament-history-screen[data-history-theme="2006"] {
  --history-accent: #bce8f6;
  --history-accent-strong: #2f91bb;
  --history-accent-ink: #05263c;
  --history-bg: #0a4f74;
  --history-bg-deep: #031722;
  --history-surface: rgba(3, 36, 56, .72);
  --history-surface-soft: rgba(84, 151, 179, .18);
  --history-line: rgba(188, 232, 246, .26);
  --history-text: #f3fbff;
  --history-muted: #b4d4df;
  background:
    linear-gradient(132deg, transparent 0 34%, rgba(3, 26, 42, .8) 34.5% 40%, rgba(135, 194, 218, .16) 40.5% 42%, transparent 42.5%),
    repeating-radial-gradient(circle at 90% 88%, transparent 0 42px, rgba(188, 229, 244, .08) 43px 45px, transparent 46px 72px),
    linear-gradient(142deg, #7baec2 0%, #216f94 42%, #063c63 70%, #031722 100%);
}

.tournament-history-screen[data-history-theme="2026"] {
  --history-accent: #72ffc2;
  --history-accent-strong: #1e9ec0;
  --history-accent-ink: #061a2e;
  --history-bg: #071947;
  --history-bg-deep: #020816;
  --history-surface: rgba(6, 22, 63, .78);
  --history-surface-soft: rgba(21, 91, 149, .24);
  --history-line: rgba(114, 255, 194, .25);
  --history-text: #f5fffb;
  --history-muted: #a9cddd;
  background:
    radial-gradient(circle at 88% 13%, rgba(88, 255, 180, .22), transparent 25%),
    radial-gradient(circle at 12% 90%, rgba(255, 75, 101, .16), transparent 29%),
    repeating-linear-gradient(120deg, transparent 0 50px, rgba(255, 255, 255, .035) 51px 53px),
    linear-gradient(138deg, #071947 0%, #123d91 52%, #066d84 100%);
}

.tournament-history-header {
  min-height: 68px;
  border-bottom-color: var(--history-rule);
  background: color-mix(in srgb, var(--history-bg-deep) 78%, transparent);
}

.tournament-history-back {
  border: 0;
  border-radius: 0;
  background: transparent;
}

@media (hover: hover) and (pointer: fine) {
  .tournament-history-back:hover {
    color: var(--history-accent);
    background: color-mix(in srgb, var(--history-accent) 8%, transparent);
  }
}

.tournament-history-brand-mark {
  width: auto;
  height: auto;
  padding-right: 12px;
  border-right: 2px solid var(--history-accent);
  border-radius: 0;
  color: var(--history-accent);
  background: transparent;
  font-size: 15px;
}

.tournament-history-main {
  width: min(1180px, calc(100% - 44px));
  padding-top: 48px;
}

.tournament-history-hero {
  min-height: 210px;
  overflow: visible;
  border: 0;
  border-top: 1px solid var(--history-rule);
  border-bottom: 1px solid var(--history-rule);
  border-radius: 0 !important;
  background: transparent;
  box-shadow: none !important;
}

.tournament-history-edition {
  justify-items: start;
  padding-inline: 8px 32px;
  border-right-color: var(--history-rule);
  background: transparent;
  text-align: left;
}

.tournament-history-edition-logo {
  width: min(112px, 70%);
  height: 96px;
}

.tournament-history-edition-fallback {
  width: 86px;
  height: 86px;
  border-width: 1px;
  border-radius: 50%;
  font-size: 22px;
}

.tournament-history-champion {
  grid-template-columns: 28px 116px minmax(0, 1fr);
  gap: clamp(18px, 3vw, 40px);
  padding-block: 34px;
  background: transparent;
}

.tournament-history-crown {
  font-size: 22px;
}

.tournament-history-champion-flag.country-flag,
.tournament-history-champion-flag.country-flag img {
  width: 116px;
  height: 76px;
}

.tournament-history-champion-flag.country-flag {
  border-width: 1px;
  border-radius: 2px;
  box-shadow: none;
}

.tournament-history-champion span:last-child strong {
  font-size: clamp(34px, 5vw, 58px);
}

.tournament-history-summary {
  gap: 0;
  margin-top: 0;
  border-bottom: 1px solid var(--history-rule);
}

.tournament-history-summary article {
  min-height: 96px;
  padding: 20px 18px 18px;
  border: 0;
  border-right: 1px solid var(--history-rule);
  border-radius: 0 !important;
  background: transparent !important;
}

.tournament-history-summary article > strong,
.tournament-history-managed > div {
  margin-top: 0;
}

.tournament-history-summary article:last-child {
  border-right: 0;
}

.tournament-history-browser {
  grid-template-columns: 210px minmax(0, 1fr);
  gap: 34px;
  margin-top: 46px;
}

.tournament-history-rounds {
  border: 0;
  border-top: 1px solid var(--history-rule);
  border-radius: 0 !important;
  background: transparent;
}

.tournament-history-rounds button {
  min-height: 58px;
  padding-inline: 7px;
  border-bottom-color: var(--history-rule);
}

.tournament-history-rounds button.is-active {
  background: color-mix(in srgb, var(--history-accent) 10%, transparent);
  box-shadow: inset 2px 0 var(--history-accent);
}

.tournament-history-match {
  border: 0;
  border-top: 1px solid var(--history-rule);
  border-bottom: 1px solid var(--history-rule);
  border-radius: 0 !important;
  background: transparent;
  box-shadow: none;
}

.tournament-history-match > header,
.tournament-history-match > footer {
  padding-inline: 0;
  border-color: var(--history-rule);
}

.tournament-history-scoreboard {
  padding-inline: clamp(8px, 4vw, 42px);
}

.tournament-history-match-flag.country-flag {
  border-width: 1px;
  border-radius: 2px;
}

.tournament-history-fixtures {
  grid-template-columns: 1fr;
  gap: 0;
  margin-top: 20px;
  border-top: 1px solid var(--history-rule);
}

.tournament-history-fixture {
  grid-template-columns: minmax(116px, .62fr) minmax(0, 1fr) minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
  padding: 11px 4px;
  border: 0;
  border-bottom: 1px solid var(--history-rule);
  border-radius: 0 !important;
  background: transparent;
}

@media (hover: hover) and (pointer: fine) {
  .tournament-history-fixture:hover {
    border-color: var(--history-rule);
    background: color-mix(in srgb, var(--history-accent) 7%, transparent);
  }
}

.tournament-history-fixture.is-selected {
  border-color: var(--history-rule);
  background: color-mix(in srgb, var(--history-accent) 10%, transparent);
  box-shadow: inset 2px 0 var(--history-accent);
}

.tournament-history-fixture > small {
  min-width: 72px;
  text-align: right;
}

@media (max-width: 900px) {
  .tournament-history-browser {
    grid-template-columns: 1fr;
  }

  .tournament-history-rounds {
    border-bottom: 1px solid var(--history-rule);
  }

  .tournament-history-fixture {
    grid-template-columns: minmax(94px, .5fr) minmax(0, 1fr) minmax(0, 1fr);
  }

  .tournament-history-fixture > small {
    display: none;
  }
}

@media (max-width: 640px) {
  .tournament-history-main {
    padding-top: 24px;
  }

  .tournament-history-hero {
    grid-template-columns: 1fr;
  }

  .tournament-history-edition {
    justify-items: center;
    padding: 16px;
    border-right: 0;
    border-bottom: 1px solid var(--history-rule);
    text-align: center;
  }

  .tournament-history-champion {
    grid-template-columns: 72px minmax(0, 1fr);
    padding-inline: 8px;
  }

  .tournament-history-champion-flag.country-flag,
  .tournament-history-champion-flag.country-flag img {
    width: 72px;
    height: 48px;
  }

  .tournament-history-summary {
    grid-template-columns: 1fr 1fr;
  }

  .tournament-history-summary article:nth-child(2) {
    border-right: 0;
  }

  .tournament-history-summary article:nth-child(-n + 2) {
    border-bottom: 1px solid var(--history-rule);
  }

  .tournament-history-fixture {
    grid-template-columns: 1fr;
    gap: 7px;
  }
}

.mode-card-retro[data-retro-competition="euros"] .retro-start-button {
  border-color: #92ebff;
  color: #02143e;
  background: #92ebff;
  box-shadow: 0 6px 0 #0874bc;
}

body.retro-mode-active.retro-euro-2016-active {
  --e16-yellow: #1cc7ee;
}

body.retro-mode-active.retro-euro-2016-active .retro-tournament-screen {
  background:
    linear-gradient(rgba(2, 19, 64, 0.24), rgba(1, 10, 38, 0.55)),
    radial-gradient(circle at 12% 22%, rgba(38, 201, 239, 0.16) 0 4px, transparent 5px),
    radial-gradient(circle at 88% 72%, rgba(146, 235, 255, 0.12) 0 5px, transparent 6px);
  background-size: auto, 72px 72px, 94px 94px;
}

body.retro-mode-active.retro-euro-2016-active #retroDonateButton,
body.retro-mode-active.retro-euro-2016-active #mainContent :is(
  button.primary-button,
  button.secondary-button,
  button.live-control,
  button.snapshot-trigger
) {
  border-color: #92ebff !important;
  color: #02143e !important;
  background: #92ebff !important;
  box-shadow: 0 5px 0 #0874bc !important;
}

body.retro-mode-active.retro-euro-2016-active :is(
  .retro-back-to-modes > span:first-child,
  .retro-table-row > em,
  .retro-match-lineups-panel > summary,
  .retro-standard-fixture-meta
),
body.retro-mode-active.retro-euro-2016-active #mainContent :is(
  #liveClock,
  .fixture-card-head > small
) {
  color: #92ebff !important;
}

body.retro-mode-active.retro-euro-2016-active :is(
  .retro-screen-restart,
  .retro-view-tabs,
  .retro-view-tabs button,
  .retro-group-table,
  .retro-squad-view,
  .retro-lineups-view,
  .retro-match-lineups-panel,
  .retro-lineup-tabs,
  .retro-lineup-tabs button,
  .retro-manager-lineup,
  .retro-live-ratings-side,
  .retro-manager-player,
  .modal,
  .confirm-modal,
  .snapshot-modal,
  .achievement-unlock-modal,
  .snapshot-actions button
),
body.retro-mode-active.retro-euro-2016-active #mainContent :is(
  .match-stage,
  .round-board,
  .panel,
  .match-analysis,
  .standard-match-tactics,
  .story-card,
  .fixture,
  .primary-button,
  .secondary-button,
  .play-button,
  .live-control,
  .bracket-heads,
  #championStage,
  #snapshotButton,
  #standardTacticButtons button,
  #skipShootoutButton,
  #teamFilterControl .team-filter-search,
  #teamFilterControl .team-filter-chip,
  #teamFilterControl .search-result-popover
) {
  border-radius: 2px;
}

/* Copa América 2024 menu preview: USA red, white and blue broadcast identity. */
.retro-competition-switch {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.retro-year-switch[data-competition="copa"] {
  grid-template-columns: minmax(0, 1fr);
}

.copa-coming-soon-panel {
  display: none;
}

.mode-card-retro[data-retro-competition="copa"] {
  isolation: isolate;
  border: 1px solid rgba(255, 255, 255, 0.24);
  color: #ffffff;
  background:
    radial-gradient(circle at 91% 14%, #ffffff 0 4px, transparent 5px),
    radial-gradient(circle at 84% 22%, #ff2835 0 7px, transparent 8px),
    radial-gradient(circle at 9% 84%, #1474e8 0 9px, transparent 10px),
    linear-gradient(156deg, transparent 0 64%, rgba(255, 255, 255, 0.96) 64.4% 71%, transparent 71.4%),
    linear-gradient(150deg, transparent 0 70%, rgba(255, 40, 53, 0.94) 70.4% 77%, transparent 77.4%),
    repeating-linear-gradient(118deg, transparent 0 46px, rgba(255, 255, 255, 0.035) 47px 49px),
    radial-gradient(circle at 82% 18%, rgba(25, 126, 244, 0.58), transparent 35%),
    linear-gradient(138deg, #021541 0%, #063886 50%, #061d50 100%);
  box-shadow:
    inset 0 1px rgba(255, 255, 255, 0.12),
    0 22px 56px rgba(0, 12, 54, 0.34);
}

.mode-card-retro[data-retro-competition="copa"]::after {
  position: absolute;
  z-index: -1;
  top: -72px;
  right: -66px;
  width: 220px;
  height: 220px;
  border: 22px solid rgba(255, 255, 255, 0.08);
  border-radius: 50%;
  content: "";
}

.mode-card-retro[data-retro-competition="copa"] .retro-mode-heading > img {
  width: 56px;
  height: 58px;
  object-fit: contain;
  object-position: center;
  transform: translateY(0);
  filter: drop-shadow(0 9px 14px rgba(0, 9, 45, 0.36));
}

.mode-card-retro[data-retro-competition="copa"] :is(
  h3,
  .landing-setting-heading > span,
  .landing-team-setting > span,
  .copa-coming-soon-panel strong,
  .copa-coming-soon-panel p
) {
  color: #ffffff;
}

.mode-card-retro[data-retro-competition="copa"] :is(
  .retro-competition-switch,
  .retro-year-switch,
  .landing-segmented
) {
  border-color: rgba(255, 255, 255, 0.24);
  background: rgba(0, 15, 55, 0.58);
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.06);
  backdrop-filter: blur(10px);
}

.mode-card-retro[data-retro-competition="copa"] :is(
  .retro-competition-switch button,
  .retro-year-switch button,
  .landing-segmented button
) {
  color: rgba(255, 255, 255, 0.76);
}

.mode-card-retro[data-retro-competition="copa"] :is(
  .retro-competition-switch button.active,
  .retro-year-switch button.active,
  .landing-segmented button.active
) {
  color: #ffffff;
  background: #ff2835;
  box-shadow: 0 4px 14px rgba(255, 40, 53, 0.28);
}

.mode-card-retro[data-retro-competition="copa"] .copa-coming-soon-panel {
  display: none;
}

.mode-card-retro[data-retro-competition="copa"] .retro-landing-settings {
  display: grid;
}

.mode-card-retro[data-retro-competition="copa"] .retro-start-button:disabled {
  border-color: #ffffff;
  color: #06347d;
  background: #ffffff;
  box-shadow: 0 6px 0 #ff2835;
  cursor: not-allowed;
  opacity: 1;
}

.mode-card-retro[data-retro-competition="copa"] .retro-team-mark {
  border-color: rgba(255, 255, 255, 0.28);
  color: #ffffff;
  background: rgba(8, 75, 167, 0.72);
}

.mode-card-retro[data-retro-competition="copa"] .retro-team-picker {
  border-color: rgba(255, 255, 255, 0.22);
  background: rgba(0, 15, 55, 0.62);
}

.mode-card-retro[data-retro-competition="copa"] .retro-team-picker :is(strong, small) {
  color: #ffffff;
}

.mode-card-retro[data-retro-competition="copa"] .retro-team-picker small {
  opacity: 0.7;
}

.mode-card-retro[data-retro-competition="copa"] .landing-segmented button:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.mode-card-retro[data-retro-competition="copa"] .landing-segmented button.active:disabled {
  opacity: 1;
}

body.retro-mode-active.retro-euro-2016-active :is(
  .retro-tournament-heading > div:first-child > span,
  .retro-tournament-progress span
),
body.retro-mode-active.retro-euro-2016-active #mainContent :is(
  .bracket-heads,
  #championStage .champion-section-label,
  #championStage .champion-place > b,
  #championStage .champion-award-copy > span,
  #championStage .trophy,
  #championStage p,
  .penalty-keeper
) {
  color: #92ebff;
}

body.retro-mode-active.retro-euro-2016-active #mainContent :is(
  .fixture:hover,
  .fixture.selected,
  #matchCommentaryFeed.is-goal,
  #matchCommentaryFeed.is-goal-flash,
  #matchCommentaryFeed.is-goal-flashing,
  #matchCommentaryFeed.is-major
) {
  border-color: #1cc7ee;
  box-shadow: inset 5px 0 #1cc7ee, 0 10px 22px rgba(0, 13, 55, 0.22);
}

body.retro-mode-active.retro-euro-2016-active :is(
  .retro-table-row.best-third,
  .retro-manager-player.is-selected
) {
  border-color: #1cc7ee;
  box-shadow: inset 4px 0 #1cc7ee;
}

body.retro-mode-active.retro-euro-2016-active .retro-pitch-player i,
body.retro-mode-active.retro-euro-2016-active #mainContent #standardTacticButtons button.active,
body.retro-mode-active.retro-euro-2016-active #mainContent #teamFilterControl :is(
  .team-filter-check,
  .team-filter-clear
),
body.retro-mode-active.retro-euro-2016-active #mainContent #skipShootoutButton {
  border-color: #92ebff;
  color: #02143e;
  background: #92ebff;
  box-shadow: none;
}

body.retro-mode-active.retro-euro-2016-active :is(
  .modal,
  .confirm-modal,
  .snapshot-modal,
  .achievement-unlock-modal
) {
  border-top-color: #1cc7ee;
}

body.retro-mode-active.retro-euro-2016-active .retro-screen-restart:hover,
body.retro-mode-active.retro-euro-2016-active .snapshot-actions button:hover,
body.retro-mode-active.retro-euro-2016-active #mainContent #snapshotButton:hover {
  border-color: #92ebff;
  color: #02143e;
  background: #92ebff;
  box-shadow: 0 4px 0 #0874bc;
}

body.retro-mode-active.retro-euro-2016-active #mainContent #snapshotButton,
body.retro-mode-active.retro-euro-2016-active #mainContent #championStage .champion-place.place-1 {
  border-color: #1cc7ee;
  box-shadow: inset 0 4px #1cc7ee;
}

.tournament-history-screen[data-history-theme="2016"] {
  --history-accent: #1cc7ee;
  --history-accent-strong: #92ebff;
}

.tournament-history-screen[data-history-theme="2016"] :is(
  .tournament-history-back,
  .tournament-history-brand-mark,
  .tournament-history-hero,
  .tournament-history-summary article,
  .tournament-history-rounds,
  .tournament-history-match,
  .tournament-history-fixture
) {
  border-radius: 2px;
}
/* Germany 2006 Retro edition: ice-blue glass, diagonal motion and championship gold.
   This block stays year-scoped and follows every shared retro skin so Brazil cannot leak through. */
:root.route-retro-2006-loading,
body.retro-mode-active.retro-2006-active {
  --wc06-ice: #d8eff7;
  --wc06-sky: #78b0c7;
  --wc06-blue: #0b5274;
  --wc06-deep: #073550;
  --wc06-navy: #031b2b;
  --wc06-gold: #d6aa21;
  --wc06-gold-light: #f3d566;
  --wc06-text: #f4fbff;
  --wc06-muted: #b9d4df;
  --wc06-line: rgba(194, 225, 237, 0.28);
  background:
    linear-gradient(135deg, rgba(222, 244, 251, 0.1), rgba(3, 27, 43, 0.36)),
    #062f47 url("./assets/retro-2006/germany-2006-bg.png") center top / cover fixed no-repeat;
  color: var(--wc06-text);
}

body.retro-2006-menu-theme,
.mode-card-retro[data-retro-edition="2006"] {
  --wc06-ice: #d8eff7;
  --wc06-sky: #78b0c7;
  --wc06-blue: #0b5274;
  --wc06-deep: #073550;
  --wc06-navy: #031b2b;
  --wc06-gold: #d6aa21;
  --wc06-gold-light: #f3d566;
  --wc06-text: #f4fbff;
  --wc06-muted: #b9d4df;
  --wc06-line: rgba(194, 225, 237, 0.28);
}

.mode-card-retro[data-retro-edition="2006"] {
  --retro-accent: #d6aa21;
  --retro-accent-text: #071b2a;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border-color: rgba(182, 218, 232, 0.46);
  background:
    linear-gradient(118deg, rgba(216, 239, 247, 0.92) 0 31%, rgba(9, 67, 96, 0.9) 31.5% 100%),
    url("./assets/retro-2006/germany-2006-bg.png") center / cover;
  box-shadow: 0 22px 55px rgba(3, 27, 43, 0.26);
}

.mode-card-retro[data-retro-edition="2006"]::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background:
    linear-gradient(132deg, transparent 0 38%, rgba(255, 255, 255, 0.18) 38.2% 38.8%, transparent 39%),
    linear-gradient(90deg, transparent, rgba(8, 45, 66, 0.1));
  pointer-events: none;
}

.mode-card-retro[data-retro-edition="2006"] .retro-mode-heading > img {
  filter: drop-shadow(0 8px 14px rgba(3, 27, 43, 0.2));
}

.mode-card-retro[data-retro-edition="2006"] :is(
  .retro-mode-title h3,
  .landing-setting-heading > span,
  .landing-team-setting > span,
  .spectate-picker-copy strong
) {
  color: #f6fbff;
  text-shadow: 0 1px 1px rgba(3, 27, 43, 0.65);
}

.mode-card-retro[data-retro-edition="2006"] :is(
  .retro-competition-switch,
  .retro-year-switch,
  .landing-segmented,
  .retro-team-picker,
  .landing-setting-info-panel
) {
  border-color: rgba(202, 230, 241, 0.32);
  background: rgba(3, 34, 53, 0.62);
  color: #eaf8fd;
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.08);
}

.mode-card-retro[data-retro-edition="2006"] :is(
  .retro-competition-switch button,
  .retro-year-switch button,
  .landing-segmented button
) {
  color: #c6deea;
}

.mode-card-retro[data-retro-edition="2006"] :is(
  .retro-competition-switch button.active,
  .retro-year-switch button.active,
  .landing-segmented button.active
) {
  background: linear-gradient(135deg, var(--wc06-gold-light), var(--wc06-gold));
  color: #071b2a;
  box-shadow: 0 5px 14px rgba(4, 31, 47, 0.24);
}

.mode-card-retro[data-retro-edition="2006"] .retro-team-mark {
  background: var(--wc06-gold);
  color: #071b2a;
}

.mode-card-retro[data-retro-edition="2006"] .retro-start-button {
  border-color: #f2d35d;
  background: linear-gradient(135deg, #f0ce4f, #c99a13);
  color: #071b2a;
  box-shadow: 0 8px 20px rgba(3, 27, 43, 0.3);
}

body.retro-mode-active.retro-2006-active .retro-tournament-screen {
  min-height: 100vh;
  background: linear-gradient(180deg, rgba(4, 38, 57, 0.05), rgba(2, 25, 40, 0.45));
}

body.retro-mode-active.retro-2006-active .retro-screen-header {
  border-bottom: 1px solid rgba(203, 231, 241, 0.25);
  background: linear-gradient(90deg, rgba(216, 239, 247, 0.94) 0 23%, rgba(7, 58, 84, 0.86) 38% 100%);
  box-shadow: 0 10px 28px rgba(2, 23, 36, 0.24);
  color: #f4fbff;
  backdrop-filter: blur(14px);
}

body.retro-mode-active.retro-2006-active :is(
  .retro-screen-back,
  .retro-screen-restart,
  .retro-screen-action,
  .retro-back-to-modes
) {
  border: 1px solid rgba(205, 232, 242, 0.34);
  background: rgba(3, 34, 53, 0.68);
  color: #eefaff;
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.08);
  transition: transform 160ms cubic-bezier(0.23, 1, 0.32, 1), background-color 160ms ease, border-color 160ms ease;
}

@media (hover: hover) and (pointer: fine) {
  body.retro-mode-active.retro-2006-active :is(
    .retro-screen-back,
    .retro-screen-restart,
    .retro-screen-action,
    .retro-back-to-modes
  ):hover {
    border-color: var(--wc06-gold-light);
    background: rgba(9, 74, 105, 0.94);
  }
}

/* Germany 2006 component lock. The retro tournament shell is mounted beside
   #mainContent, so these rules target the active edition directly. */
body.retro-mode-active.retro-2006-active {
  --q22-ink: var(--wc06-navy);
  --q22-ink-soft: #052b42;
  --q22-panel: rgba(3, 37, 57, 0.96);
  --q22-panel-soft: rgba(6, 55, 80, 0.94);
  --q22-wine: #0b5274;
  --q22-wine-bright: #0d6483;
  --q22-gold: var(--wc06-gold);
  --q22-gold-soft: var(--wc06-gold-light);
  --q22-white: var(--wc06-text);
  --q22-cream: #eaf8fd;
  --q22-line: rgba(194, 225, 237, 0.32);
  --q22-line-soft: rgba(194, 225, 237, 0.18);
}

body.retro-mode-active.retro-2006-active .retro-view-tabs button:not(.active) {
  background: rgba(5, 48, 71, 0.78);
}

@media (hover: hover) and (pointer: fine) {
  body.retro-mode-active.retro-2006-active .retro-view-tabs button:hover:not(.active) {
    color: #f7fcff;
    background: rgba(13, 100, 131, 0.92);
  }
}

body.retro-mode-active.retro-2006-active .retro-tournament-body :is(
  .retro-group-table,
  .retro-squad-view,
  .retro-lineups-view,
  .retro-champion
) {
  border: 1px solid var(--wc06-line);
  color: var(--wc06-text);
  background:
    linear-gradient(135deg, rgba(12, 78, 108, 0.94), rgba(3, 31, 49, 0.96)),
    url("./assets/retro-2006/germany-2006-bg.png") center / cover;
  box-shadow: 0 16px 38px rgba(2, 22, 35, 0.25), inset 0 1px rgba(255, 255, 255, 0.07);
}

body.retro-mode-active.retro-2006-active .retro-squad-heading {
  border-color: var(--wc06-line);
  background: rgba(3, 37, 57, 0.56);
}

body.retro-mode-active.retro-2006-active .retro-squad-heading :is(small, label > span) {
  color: var(--wc06-muted);
}

body.retro-mode-active.retro-2006-active .retro-squad-heading strong,
body.retro-mode-active.retro-2006-active .retro-squad-position-group > h2 {
  color: var(--wc06-gold-light);
}

body.retro-mode-active.retro-2006-active .retro-squad-heading em {
  color: #d7eaf2;
}

body.retro-mode-active.retro-2006-active .retro-squad-heading select {
  border: 1px solid rgba(196, 226, 238, 0.34);
  color: #f5fbff;
  background: #052c43;
  box-shadow: none;
}

body.retro-mode-active.retro-2006-active .retro-squad-groups {
  padding-top: 28px;
}

body.retro-mode-active.retro-2006-active .retro-squad-position-group .retro-squad-row {
  grid-template-columns: 30px minmax(0, 1fr) 34px 32px;
  gap: 8px;
  border-color: var(--q22-line-soft);
  color: var(--wc06-text);
  background: transparent;
}

body.retro-mode-active.retro-2006-active .retro-squad-row :is(em, i) {
  color: var(--wc06-muted);
  font: 800 9px "DM Mono", monospace;
  text-align: center;
}

body.retro-mode-active.retro-2006-active .standard-tactic-buttons {
  border-color: var(--wc06-line);
  background: rgba(3, 37, 57, 0.88);
}

body.retro-mode-active.retro-2006-active .retro-lineup-tabs {
  overflow: hidden;
  border: 1px solid var(--wc06-line);
  background: rgba(3, 37, 57, 0.94);
}

body.retro-mode-active.retro-2006-active .retro-lineup-tabs button {
  color: var(--wc06-muted);
  background: rgba(5, 48, 71, 0.82);
}

body.retro-mode-active.retro-2006-active .retro-lineup-tabs button.active {
  color: var(--wc06-navy);
  background: linear-gradient(135deg, var(--wc06-gold-light), var(--wc06-gold));
  box-shadow: inset 0 -3px #0b5274;
}

@media (hover: hover) and (pointer: fine) {
  body.retro-mode-active.retro-2006-active .retro-lineup-tabs button:hover:not(.active) {
    color: #fff;
    background: #0d6483;
  }
}

body.retro-mode-active.retro-2006-active .retro-manager-lineup > header {
  border-color: var(--wc06-line);
  background: linear-gradient(90deg, #0b5274, #073550);
}

body.retro-mode-active.retro-2006-active .retro-manager-hint {
  border-color: var(--q22-line-soft);
  color: var(--wc06-muted);
  background: rgba(3, 37, 57, 0.72);
}

body.retro-mode-active.retro-2006-active .retro-manager-section.is-bench {
  border-color: var(--wc06-line);
}

body.retro-mode-active.retro-2006-active .retro-manager-player {
  border-color: var(--q22-line-soft);
  color: var(--wc06-text);
  background: rgba(5, 48, 71, 0.92);
}

body.retro-mode-active.retro-2006-active .retro-manager-player :is(b, i),
body.retro-mode-active.retro-2006-active .retro-manager-section-title span {
  color: var(--wc06-gold-light);
}

body.retro-mode-active.retro-2006-active .retro-manager-player small,
body.retro-mode-active.retro-2006-active .retro-manager-player em {
  color: var(--wc06-muted);
}

@media (hover: hover) and (pointer: fine) {
  body.retro-mode-active.retro-2006-active .retro-manager-player:hover:not(:disabled) {
    border-color: var(--wc06-gold-light);
    background: rgba(13, 100, 131, 0.9);
  }
}

body.retro-mode-active.retro-2006-active .retro-pitch-player {
  border: 0 !important;
  color: #f7fcff !important;
  background: transparent !important;
  box-shadow: none !important;
  text-shadow: 0 1px 3px #021623, 0 0 8px #021623;
}

body.retro-mode-active.retro-2006-active .retro-pitch-player b {
  border: 2px solid var(--wc06-gold-light);
  color: #fff;
  background: #0b5274;
  box-shadow: 0 3px 8px rgba(2, 22, 35, 0.52);
}

body.retro-mode-active.retro-2006-active .retro-pitch-player i {
  color: var(--wc06-navy);
  background: var(--wc06-gold-light);
}

body.retro-mode-active.retro-2006-active .team-filter-control :is(
  .team-filter-search,
  .team-filter-chip,
  .search-result-popover,
  .search-result
) {
  border-color: var(--wc06-line) !important;
  color: var(--wc06-text) !important;
  background: #052f47 !important;
  box-shadow: none;
}

body.retro-mode-active.retro-2006-active .team-filter-control .search-result small {
  color: var(--wc06-muted);
}

body.retro-mode-active.retro-2006-active .team-filter-control :is(
  .team-filter-check,
  .team-filter-clear
) {
  color: var(--wc06-navy);
  background: var(--wc06-gold-light);
}

@media (hover: hover) and (pointer: fine) {
  body.retro-mode-active.retro-2006-active .team-filter-control .search-result:hover {
    color: #fff !important;
    background: #0d6483 !important;
  }
}

body.retro-mode-active.retro-2006-active .snapshot-preview {
  border-color: var(--wc06-line);
  background: #031b2b;
  box-shadow: 0 16px 42px rgba(2, 19, 31, 0.38);
}

body.retro-mode-active.retro-2006-active .snapshot-actions button {
  border-color: var(--wc06-line);
  color: var(--wc06-text);
  background: #0b5274;
  box-shadow: 0 4px 0 #073550;
}

body.retro-mode-active.retro-2006-active .snapshot-actions .primary-button {
  border-color: var(--wc06-gold-light);
  color: var(--wc06-navy);
  background: linear-gradient(135deg, var(--wc06-gold-light), var(--wc06-gold));
  box-shadow: 0 4px 0 #9c7712;
}

@media (hover: hover) and (pointer: fine) {
  body.retro-mode-active.retro-2006-active .snapshot-actions button:hover {
    background: #0d6483;
  }

  body.retro-mode-active.retro-2006-active .snapshot-actions .primary-button:hover {
    background: linear-gradient(135deg, #ffe78a, var(--wc06-gold-light));
  }
}

body.retro-mode-active.retro-2006-active :is(
  .retro-screen-back,
  .retro-screen-restart,
  .retro-screen-action,
  .retro-back-to-modes,
  button
):active {
  transform: scale(0.97);
}

body.retro-mode-active.retro-2006-active .retro-tournament-heading > div:first-child > span {
  color: var(--wc06-gold-light);
  letter-spacing: 0.14em;
  text-shadow: 0 2px 8px rgba(3, 27, 43, 0.35);
}

body.retro-mode-active.retro-2006-active :is(
  .retro-tournament-heading h1,
  .retro-tournament-progress strong
) {
  color: #f7fcff;
  text-shadow: 0 2px 10px rgba(3, 27, 43, 0.4);
}

body.retro-mode-active.retro-2006-active .retro-tournament-progress span {
  color: var(--wc06-muted);
}

body.retro-mode-active.retro-2006-active .retro-view-tabs {
  border: 1px solid rgba(196, 226, 238, 0.32);
  background: rgba(3, 35, 54, 0.72);
  box-shadow: 0 12px 28px rgba(2, 23, 36, 0.22), inset 0 1px rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(14px);
}

body.retro-mode-active.retro-2006-active .retro-view-tabs::before {
  background: linear-gradient(90deg, var(--wc06-gold), var(--wc06-gold-light));
}

body.retro-mode-active.retro-2006-active .retro-view-tabs button {
  color: var(--wc06-muted);
  transition: color 160ms ease, background-color 160ms ease, transform 160ms cubic-bezier(0.23, 1, 0.32, 1);
}

body.retro-mode-active.retro-2006-active .retro-view-tabs button.active {
  background: linear-gradient(135deg, rgba(243, 213, 102, 0.98), rgba(214, 170, 33, 0.98));
  color: #071b2a;
  box-shadow: 0 6px 16px rgba(2, 23, 36, 0.28);
}

body.retro-mode-active.retro-2006-active #mainContent {
  color: var(--wc06-text);
}

body.retro-mode-active.retro-2006-active #mainContent :is(
  .match-stage,
  .round-board,
  .panel,
  .match-analysis,
  .standard-match-tactics,
  .story-card,
  .retro-group-table,
  .retro-squad-view,
  .retro-lineups-view,
  .retro-champion,
  .golden-boot-panel,
  .retro-manager-lineup,
  .retro-live-ratings-side,
  .retro-match-lineups-panel
) {
  border: 1px solid var(--wc06-line);
  background:
    linear-gradient(135deg, rgba(12, 78, 108, 0.86), rgba(3, 31, 49, 0.9)),
    url("./assets/retro-2006/germany-2006-bg.png") center / cover;
  color: var(--wc06-text);
  box-shadow: 0 16px 38px rgba(2, 22, 35, 0.25), inset 0 1px rgba(255, 255, 255, 0.07);
  backdrop-filter: blur(13px);
}

body.retro-mode-active.retro-2006-active #mainContent :is(
  .match-stage,
  .round-board,
  .match-analysis,
  .standard-match-tactics,
  .story-card
)::before {
  background: linear-gradient(118deg, rgba(217, 240, 248, 0.08), transparent 42%);
}

body.retro-mode-active.retro-2006-active #mainContent :is(
  .stage-round,
  .panel-heading h2,
  .match-analysis-heading,
  .section-heading h2,
  .retro-group-table h2,
  .retro-lineups-heading h2,
  .retro-squad-heading strong,
  .golden-boot-panel h2
) {
  color: var(--wc06-gold-light);
  text-shadow: 0 2px 8px rgba(2, 22, 35, 0.35);
}

body.retro-mode-active.retro-2006-active #mainContent :is(
  .team-name,
  .match-score,
  .score-separator,
  .champion-stage h2,
  .fixture-team .name,
  .fixture-team b,
  .retro-table-row strong,
  .retro-squad-row strong,
  .retro-lineup-side strong,
  .golden-boot-player strong
) {
  color: #f7fcff;
}

body.retro-mode-active.retro-2006-active #mainContent :is(
  .primary-button,
  .play-button,
  .secondary-button,
  .live-control,
  .standard-tactic-buttons button.active,
  .history-round-button.active,
  .snapshot-trigger
) {
  border-color: #efcf54;
  background: linear-gradient(135deg, var(--wc06-gold-light), var(--wc06-gold));
  color: #071b2a;
  box-shadow: 0 7px 18px rgba(2, 22, 35, 0.25);
}

body.retro-mode-active.retro-2006-active #mainContent :is(
  .standard-tactic-buttons button:not(.active),
  .text-button,
  .history-round-button:not(.active),
  .board-actions button,
  select
) {
  border-color: rgba(196, 226, 238, 0.3);
  background: rgba(3, 36, 55, 0.72);
  color: #dceff6;
}

body.retro-mode-active.retro-2006-active #mainContent :is(
  .fixture,
  .retro-table-row,
  .retro-squad-row,
  .retro-lineup-side,
  .match-stat-row,
  .golden-boot-row,
  .retro-team-rating-card,
  .retro-squad-xi-card
) {
  border-color: rgba(190, 222, 235, 0.2);
  background: rgba(5, 45, 67, 0.7);
  color: #eaf8fd;
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.04);
}

body.retro-mode-active.retro-2006-active #mainContent .fixture:nth-child(even),
body.retro-mode-active.retro-2006-active #mainContent .retro-squad-row:nth-child(even) {
  background: rgba(13, 72, 98, 0.62);
}

@media (hover: hover) and (pointer: fine) {
  body.retro-mode-active.retro-2006-active #mainContent .fixture:hover,
  body.retro-mode-active.retro-2006-active #mainContent .fixture.selected {
    border-color: var(--wc06-gold-light);
    background: rgba(14, 83, 113, 0.84);
    transform: translateY(-1px);
  }
}

body.retro-mode-active.retro-2006-active #mainContent :is(
  .fixture-card-head,
  .fixture-card-head small,
  .retro-standard-fixture-meta,
  .match-stat-row span,
  .retro-squad-row small,
  .retro-squad-row em,
  .golden-boot-player small,
  .plot-list p,
  .story-card p,
  .result-note,
  .retro-manager-hint
) {
  color: var(--wc06-muted);
}

body.retro-mode-active.retro-2006-active #mainContent :is(
  .event-live-clock strong,
  .live-clock,
  .fixture-team.winner .name,
  .fixture-team.winner b,
  .retro-squad-row i,
  .golden-boot-row > b,
  .retro-team-rating-card b
) {
  color: var(--wc06-gold-light);
}

body.retro-mode-active.retro-2006-active #mainContent :is(
  .bracket-connector::before,
  .bracket-connector::after,
  .bracket-fixture[data-connects="true"]::after
) {
  border-color: rgba(189, 221, 234, 0.34);
  background: rgba(189, 221, 234, 0.34);
}

body.retro-mode-active.retro-2006-active #mainContent .bracket-heads {
  border-top: 1px solid rgba(243, 213, 102, 0.42);
  border-bottom: 1px solid rgba(194, 225, 237, 0.28);
  border-radius: 2px;
  color: var(--wc06-gold-light);
  background:
    linear-gradient(112deg, rgba(14, 92, 126, 0.94), rgba(3, 35, 54, 0.98) 62%),
    #073550;
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.07);
}

body.retro-mode-active.retro-2006-active #mainContent :is(
  .search,
  .team-filter-control,
  .team-filter-chip,
  .search-result-popover
) {
  border-color: rgba(196, 226, 238, 0.3);
  background: rgba(3, 34, 53, 0.9);
  color: #eaf8fd;
}

body.retro-mode-active.retro-2006-active #mainContent :is(
  .search input,
  .team-filter-search input
) {
  color: #f5fbff;
}

body.retro-mode-active.retro-2006-active #mainContent :is(
  .search input,
  .team-filter-search input
)::placeholder {
  color: #9ebfcc;
}

body.retro-mode-active.retro-2006-active #mainContent .search:focus-within {
  border-color: var(--wc06-gold-light);
  box-shadow: 0 0 0 3px rgba(214, 170, 33, 0.15);
}

body.retro-mode-active.retro-2006-active #mainContent .match-2d-pitch,
body.retro-mode-active.retro-2006-active #mainContent .retro-manager-pitch {
  border-color: rgba(213, 237, 246, 0.34);
  background:
    linear-gradient(rgba(216, 239, 247, 0.09) 1px, transparent 1px),
    linear-gradient(90deg, rgba(216, 239, 247, 0.09) 1px, transparent 1px),
    linear-gradient(135deg, #0d6483, #073d5b);
  box-shadow: inset 0 0 42px rgba(2, 22, 35, 0.34);
}

body.retro-mode-active.retro-2006-active #mainContent :is(
  .retro-pitch-player,
  .retro-manager-player,
  .match-player-marker
) {
  border-color: #e5c448;
  background: linear-gradient(145deg, #f2d565, #c79916);
  color: #061b29;
  box-shadow: 0 5px 13px rgba(2, 22, 35, 0.34);
}

body.retro-mode-active.retro-2006-active #mainContent .match-commentary-feed {
  border-color: rgba(190, 222, 235, 0.24);
  background: rgba(2, 28, 44, 0.72);
}

body.retro-mode-active.retro-2006-active #mainContent .commentary-line span {
  color: #d7eaf2;
}

body.retro-mode-active.retro-2006-active #mainContent :is(
  .penalty-stage,
  .match-penalty-overlay,
  .standard-penalty-stage
) {
  border-color: rgba(196, 226, 238, 0.3);
  background:
    linear-gradient(135deg, rgba(8, 73, 102, 0.92), rgba(2, 28, 44, 0.94)),
    url("./assets/retro-2006/germany-2006-bg.png") center / cover;
  color: var(--wc06-text);
}

body.retro-mode-active.retro-2006-active #mainContent :is(
  .match-penalty-targets button,
  .standard-penalty-targets button
) {
  border-color: rgba(226, 242, 248, 0.72);
  background: rgba(219, 240, 247, 0.13);
  color: #fff;
}

body.retro-mode-active.retro-2006-active #mainContent :is(
  .match-penalty-targets button,
  .standard-penalty-targets button
):hover {
  border-color: var(--wc06-gold-light);
  background: rgba(214, 170, 33, 0.28);
}

body.retro-mode-active.retro-2006-active #mainContent .penalty-mark.goal {
  background: var(--wc06-gold);
  color: #061b29;
}

body.retro-mode-active.retro-2006-active #mainContent .penalty-mark.miss {
  background: #7f9cab;
  color: #061b29;
}

body.retro-mode-active.retro-2006-active #mainContent .champion-stage {
  border-color: rgba(241, 211, 93, 0.52);
  background:
    radial-gradient(circle at 50% 14%, rgba(243, 213, 102, 0.24), transparent 34%),
    linear-gradient(145deg, rgba(10, 79, 108, 0.94), rgba(2, 27, 43, 0.96)),
    url("./assets/retro-2006/germany-2006-bg.png") center / cover;
  color: #f6fcff;
  box-shadow: 0 20px 55px rgba(2, 22, 35, 0.34);
}

body.retro-mode-active.retro-2006-active #mainContent :is(
  .champion-stage .trophy,
  .champion-award,
  .champion-place.place-1,
  .champion-section-label
) {
  color: var(--wc06-gold-light);
}

body.retro-mode-active.retro-2006-active :is(
  .modal,
  .confirm-modal,
  .snapshot-modal,
  .retro-achievements-modal,
  .achievement-unlock-modal
),
body.retro-2006-menu-theme .spectate-modal {
  border: 1px solid rgba(198, 228, 239, 0.34);
  background:
    linear-gradient(135deg, rgba(10, 76, 104, 0.98), rgba(3, 29, 46, 0.98)),
    url("./assets/retro-2006/germany-2006-bg.png") center / cover;
  color: #f4fbff;
  box-shadow: 0 28px 80px rgba(2, 19, 31, 0.5), inset 0 1px rgba(255, 255, 255, 0.08);
}

body.retro-mode-active.retro-2006-active :is(
  .modal,
  .confirm-modal,
  .snapshot-modal,
  .retro-achievements-modal,
  .achievement-unlock-modal
)::backdrop,
body.retro-2006-menu-theme .spectate-modal::backdrop {
  background: rgba(2, 20, 32, 0.72);
  backdrop-filter: blur(8px);
}

body.retro-mode-active.retro-2006-active :is(
  .modal,
  .confirm-modal,
  .snapshot-modal,
  .retro-achievements-modal,
  .achievement-unlock-modal
) :is(h2, h3, strong),
body.retro-2006-menu-theme .spectate-modal :is(h2, h3, strong) {
  color: #f7fcff;
}

body.retro-mode-active.retro-2006-active :is(
  .modal,
  .confirm-modal,
  .snapshot-modal,
  .retro-achievements-modal,
  .achievement-unlock-modal
) :is(p, small, label),
body.retro-2006-menu-theme .spectate-modal :is(p, small, label) {
  color: var(--wc06-muted);
}

body.retro-mode-active.retro-2006-active :is(
  .modal .primary-button,
  .confirm-modal .primary-button,
  .confirm-modal .danger-button,
  .snapshot-actions button,
  .achievement-login-button,
  .achievement-unlock-action
) {
  border-color: #f2d35d;
  background: linear-gradient(135deg, var(--wc06-gold-light), var(--wc06-gold));
  color: #071b2a;
}

body.retro-mode-active.retro-2006-active :is(
  .modal .icon-button,
  .confirm-modal .secondary-button,
  .settings-option,
  .settings-keybind-list,
  .settings-keybind-button,
  .bug-report-message,
  .snapshot-preview,
  .achievement-year-tabs,
  .achievement-country-card
),
body.retro-2006-menu-theme .spectate-modal :is(
  .icon-button,
  .search,
  .prediction-option
) {
  border-color: rgba(194, 225, 237, 0.25);
  background: rgba(3, 37, 57, 0.72);
  color: #eaf8fd;
}

body.retro-2006-menu-theme .spectate-modal .prediction-option.selected,
body.retro-mode-active.retro-2006-active .achievement-year-tabs button[aria-selected="true"] {
  border-color: var(--wc06-gold-light);
  background: linear-gradient(135deg, rgba(243, 213, 102, 0.98), rgba(214, 170, 33, 0.98));
  color: #071b2a;
}

body.retro-mode-active.retro-2006-active .achievement-progress-track {
  background: rgba(2, 25, 40, 0.62);
}

body.retro-mode-active.retro-2006-active .achievement-progress-track span {
  background: linear-gradient(90deg, var(--wc06-gold), var(--wc06-gold-light));
}

body.retro-mode-active.retro-2006-active .toast {
  border: 1px solid rgba(198, 228, 239, 0.34);
  background: rgba(3, 35, 54, 0.94);
  color: #f4fbff;
  box-shadow: 0 12px 32px rgba(2, 20, 32, 0.32);
}

body.retro-mode-active.retro-2006-active ::selection {
  background: var(--wc06-gold);
  color: #071b2a;
}

body.retro-mode-active.retro-2006-active * {
  scrollbar-color: var(--wc06-gold) rgba(3, 34, 53, 0.7);
}

body.retro-mode-active.retro-2006-active *::-webkit-scrollbar-thumb {
  border: 2px solid rgba(3, 34, 53, 0.8);
  background: var(--wc06-gold);
}

@media (max-width: 900px) {
  :root.route-retro-2006-loading,
  body.retro-mode-active.retro-2006-active {
    background-position: 43% top;
  }

  body.retro-mode-active.retro-2006-active .retro-screen-header {
    background: linear-gradient(145deg, rgba(199, 230, 241, 0.92), rgba(8, 64, 91, 0.94) 45%);
  }

  body.retro-mode-active.retro-2006-active .retro-tournament-heading {
    border-color: rgba(194, 225, 237, 0.22);
    background: rgba(3, 35, 54, 0.58);
    backdrop-filter: blur(12px);
  }
}

@media (max-width: 600px) {
  body.retro-mode-active.retro-2006-active {
    background-position: 36% top;
    background-attachment: scroll;
  }

  .mode-card-retro[data-retro-edition="2006"] {
    background:
      linear-gradient(155deg, rgba(205, 233, 243, 0.92) 0 21%, rgba(8, 61, 88, 0.94) 36% 100%),
      url("./assets/retro-2006/germany-2006-bg.png") 40% center / cover;
  }
}

/* 2026 modal and utility controls must not inherit the 2014 green theme. */
body.retro-mode-active.retro-2026-active :is(
  .settings-modal,
  .news-modal,
  .bug-report-modal,
  #retroRestartModal
) {
  border-color: rgba(255, 255, 255, 0.24) !important;
  color: var(--wc26-white) !important;
  background: var(--wc26-navy) !important;
  box-shadow: 0 24px 70px rgba(0, 8, 45, 0.56) !important;
}

body.retro-mode-active.retro-2026-active :is(
  .settings-option,
  .settings-keybind-list,
  .settings-keybind-row,
  .settings-keybind-button,
  .bug-report-message,
  .news-entry
) {
  border-color: rgba(255, 255, 255, 0.18) !important;
  color: var(--wc26-white) !important;
  background: #10286f !important;
  box-shadow: none !important;
}

body.retro-mode-active.retro-2026-active :is(
  .settings-option-copy strong,
  .settings-keybind-row strong,
  .news-modal h2,
  .news-modal p
) {
  color: var(--wc26-white) !important;
}

body.retro-mode-active.retro-2026-active :is(
  .settings-option-copy small,
  .settings-note,
  .settings-keybind-row small,
  .bug-report-message::placeholder,
  .bug-report-status
) {
  color: var(--wc26-muted) !important;
}

body.retro-mode-active.retro-2026-active .settings-switch {
  background: #183783 !important;
}

body.retro-mode-active.retro-2026-active .settings-option:is(.is-enabled, [aria-pressed="true"]) .settings-switch {
  background: var(--wc26-orange) !important;
}

body.retro-mode-active.retro-2026-active :is(
  .settings-keybind-button,
  .bug-report-submit,
  #retroRestartModal .danger-button
) {
  border-color: var(--wc26-orange) !important;
  color: var(--wc26-ink) !important;
  background: var(--wc26-orange) !important;
  box-shadow: none !important;
}

body.retro-mode-active.retro-2026-active :is(
  .settings-modal .icon-button,
  .news-modal-close,
  .bug-report-close,
  #retroRestartModal .secondary-button
) {
  border-color: rgba(255, 255, 255, 0.24) !important;
  color: var(--wc26-white) !important;
  background: #183783 !important;
}

body.retro-mode-active.retro-2026-active #retroRestartModal .confirm-icon {
  color: var(--wc26-orange) !important;
  background: #183783 !important;
}

body.retro-mode-active.retro-2026-active .retro-screen-restart,
body.retro-mode-active.retro-2026-active .retro-screen-restart::before {
  border-color: rgba(255, 255, 255, 0.24) !important;
  color: var(--wc26-white) !important;
  background: transparent !important;
}

@media (prefers-reduced-motion: reduce) {
  body.retro-mode-active.retro-2006-active *,
  .mode-card-retro[data-retro-edition="2006"] * {
    scroll-behavior: auto;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}

/* Germany 2006 cascade lock.
   Shared retro components default to Brazil 2014's soft cards, green states and rounded
   controls. Keep every 2006 surface angular, blue/steel and championship-gold instead. */
body.retro-mode-active.retro-2006-active {
  --achievement-accent: var(--wc06-gold-light);
  --achievement-accent-strong: var(--wc06-gold);
  --achievement-accent-text: #071b2a;
  --achievement-surface: #073550;
  --achievement-surface-deep: #031b2b;
  --achievement-card-complete: #0b5274;
  accent-color: var(--wc06-gold);
}

body.retro-mode-active.retro-2006-active button,
body.retro-mode-active.retro-2006-active select,
body.retro-mode-active.retro-2006-active input,
body.retro-mode-active.retro-2006-active textarea,
body.retro-2006-menu-theme .spectate-modal button,
body.retro-2006-menu-theme .spectate-modal select,
body.retro-2006-menu-theme .spectate-modal input,
.mode-card-retro[data-retro-edition="2006"] button,
.mode-card-retro[data-retro-edition="2006"] select,
.mode-card-retro[data-retro-edition="2006"] input {
  border-radius: 2px !important;
}

body.retro-mode-active.retro-2006-active :is(
  .retro-view-tabs,
  .match-stage,
  .round-board,
  .panel,
  .match-analysis,
  .standard-match-tactics,
  .story-card,
  .retro-group-table,
  .retro-squad-view,
  .retro-lineups-view,
  .retro-champion,
  .golden-boot-panel,
  .retro-manager-lineup,
  .retro-live-ratings-side,
  .retro-match-lineups-panel,
  .fixture,
  .retro-table-row,
  .retro-squad-row,
  .retro-lineup-side,
  .match-stat-row,
  .golden-boot-row,
  .retro-team-rating-card,
  .retro-squad-xi-card,
  .search,
  .team-filter-control,
  .team-filter-chip,
  .search-result-popover,
  .match-commentary-feed,
  .penalty-stage,
  .match-penalty-overlay,
  .standard-penalty-stage,
  .champion-stage,
  .modal,
  .confirm-modal,
  .snapshot-modal,
  .retro-achievements-modal,
  .achievement-unlock-modal,
  .settings-option,
  .settings-keybind-list,
  .settings-keybind-button,
  .bug-report-message,
  .snapshot-preview,
  .achievement-year-tabs,
  .achievement-country-card,
  .achievement-progress-track,
  .toast
),
body.retro-2006-menu-theme .spectate-modal,
body.retro-2006-menu-theme .spectate-modal :is(
  .search,
  .prediction-option
),
.mode-card-retro[data-retro-edition="2006"] :is(
  .retro-competition-switch,
  .retro-year-switch,
  .landing-segmented,
  .retro-team-picker,
  .landing-setting-info-panel
) {
  border-radius: 2px !important;
}

body.retro-mode-active.retro-2006-active :is(
  .retro-screen-back,
  .retro-screen-restart,
  .retro-screen-action,
  .retro-back-to-modes,
  .primary-button,
  .play-button,
  .secondary-button,
  .live-control,
  .text-button,
  .history-round-button,
  .board-actions button,
  .standard-tactic-buttons button,
  .snapshot-trigger,
  .go-to-top,
  .modal button,
  .confirm-modal button,
  .snapshot-modal button,
  .retro-achievements-modal button,
  .achievement-unlock-modal button
),
body.retro-2006-menu-theme .spectate-modal button,
.mode-card-retro[data-retro-edition="2006"] :is(
  .retro-start-button,
  .retro-team-picker,
  .legacy-restart-button
) {
  clip-path: polygon(
    7px 0,
    100% 0,
    100% calc(100% - 7px),
    calc(100% - 7px) 100%,
    0 100%,
    0 7px
  );
}

.mode-card-retro[data-retro-edition="2006"] .legacy-restart-button {
  border-color: rgba(196, 226, 238, 0.4) !important;
  background: rgba(3, 34, 53, 0.86) !important;
  color: #eaf8fd !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.08);
}

body.retro-mode-active.retro-2006-active :is(
  .fixture,
  .retro-table-row,
  .retro-squad-row,
  .retro-lineup-side,
  .retro-team-rating-card,
  .retro-squad-xi-card,
  .achievement-country-card
) {
  clip-path: polygon(
    6px 0,
    100% 0,
    100% calc(100% - 6px),
    calc(100% - 6px) 100%,
    0 100%,
    0 6px
  );
}

body.retro-mode-active.retro-2006-active .retro-view-tabs button {
  border-radius: 0 !important;
}

body.retro-mode-active.retro-2006-active :is(
  .settings-switch,
  .progress-track,
  .retro-tournament-progress,
  .match-progress-track,
  .rating-progress,
  .achievement-progress-track
) {
  border-radius: 2px !important;
  background-color: rgba(2, 25, 40, 0.76) !important;
}

body.retro-mode-active.retro-2006-active .settings-switch i {
  border-radius: 1px !important;
}

body.retro-mode-active.retro-2006-active :is(
  .settings-option.is-enabled,
  .settings-option[aria-pressed="true"]
) .settings-switch,
body.retro-mode-active.retro-2006-active :is(
  .progress-track,
  .retro-tournament-progress,
  .match-progress-track,
  .rating-progress,
  .achievement-progress-track
) > span,
body.retro-mode-active.retro-2006-active :is(
  .team-filter-chip.active,
  .team-filter-chip[aria-pressed="true"],
  .standard-tactic-buttons button.active,
  .history-round-button.active,
  .achievement-year-tabs button[aria-selected="true"]
) {
  border-color: var(--wc06-gold-light) !important;
  background: linear-gradient(90deg, var(--wc06-gold), var(--wc06-gold-light)) !important;
  color: #071b2a !important;
}

body.retro-mode-active.retro-2006-active :is(
  .fixture-status,
  .live-label,
  .retro-squad-row i,
  .retro-team-rating-card b,
  .achievement-country-card.is-complete
) {
  border-color: rgba(243, 213, 102, 0.58) !important;
  background-color: rgba(11, 82, 116, 0.94) !important;
  color: var(--wc06-gold-light) !important;
}

body.retro-mode-active.retro-2006-active #mainContent .event-live-clock {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.retro-mode-active.retro-2006-active #retroDonateButton {
  border-color: #f3d566 !important;
  background: linear-gradient(135deg, #f3d566, #d6aa21) !important;
  color: #071b2a !important;
}

body.retro-mode-active.retro-2006-active :is(button, select, input, textarea):focus-visible,
body.retro-2006-menu-theme .spectate-modal :is(button, select, input):focus-visible,
.mode-card-retro[data-retro-edition="2006"] :is(button, select, input):focus-visible {
  outline: 2px solid var(--wc06-gold-light);
  outline-offset: 3px;
}

@media (hover: hover) and (pointer: fine) {
  body.retro-mode-active.retro-2006-active :is(
    .settings-option,
    .settings-keybind-button,
    .text-button,
    .history-round-button:not(.active),
    .board-actions button,
    .standard-tactic-buttons button:not(.active)
  ):hover {
    border-color: var(--wc06-gold-light) !important;
    background: rgba(9, 74, 105, 0.94) !important;
    color: #f5fbff !important;
  }
}

body.retro-mode-active.retro-2006-active #mainContent #championStage :is(
  .champion-place,
  .champion-award
) {
  border: 1px solid rgba(194, 225, 237, 0.3);
  border-radius: 2px;
  color: #f4fbff;
  background: linear-gradient(112deg, rgba(11, 82, 116, 0.92), rgba(3, 35, 54, 0.96));
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.07);
}

body.retro-mode-active.retro-2006-active #mainContent #championStage .champion-place.place-1 {
  border-color: rgba(243, 213, 102, 0.72);
  background: linear-gradient(112deg, rgba(16, 99, 133, 0.96), rgba(4, 48, 70, 0.98));
  box-shadow: inset 0 4px var(--wc06-gold), inset 0 1px rgba(255, 255, 255, 0.08);
}

body.retro-mode-active.retro-2006-active #mainContent #championStage :is(
  .champion-place strong,
  .champion-award-copy strong
) {
  color: #f7fcff;
}

body.retro-mode-active.retro-2006-active #mainContent #championStage :is(
  .champion-place small,
  .champion-award-copy small,
  .champion-award-copy small b
) {
  color: var(--wc06-muted);
}

body.retro-mode-active.retro-2006-active #mainContent #championStage :is(
  .champion-place > b,
  .champion-award-copy > span,
  .champion-section-label
) {
  color: var(--wc06-gold-light);
}

body.retro-mode-active.retro-2006-active #mainContent #championStage .champion-award-mark {
  border: 1px solid rgba(243, 213, 102, 0.38);
  border-radius: 2px;
  color: #071b2a;
  background: linear-gradient(135deg, var(--wc06-gold-light), var(--wc06-gold));
}

body.retro-mode-active.retro-2006-active #mainContent #championSaveTournament {
  border: 1px solid rgba(194, 225, 237, 0.38);
  border-radius: 2px;
  color: #f4fbff;
  background: linear-gradient(112deg, #0b5274, #073550);
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.08);
  clip-path: polygon(
    7px 0,
    100% 0,
    100% calc(100% - 7px),
    calc(100% - 7px) 100%,
    0 100%,
    0 7px
  );
}

/* Final 2006 interaction guard: keep the newer lineup pieces out of the
   shared 2014 gold-card/green-control defaults. */
body.retro-mode-active.retro-2006-active #mainContent .retro-pitch-player {
  border: 0 !important;
  color: #f7fcff !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.retro-mode-active.retro-2006-active #mainContent .retro-pitch-player b {
  border: 2px solid var(--wc06-gold-light) !important;
  color: #fff !important;
  background: #0b5274 !important;
}

body.retro-mode-active.retro-2006-active #mainContent .retro-pitch-player i {
  color: var(--wc06-navy) !important;
  background: var(--wc06-gold-light) !important;
}

body.retro-mode-active.retro-2006-active #mainContent .retro-manager-player {
  border-color: var(--q22-line-soft) !important;
  color: var(--wc06-text) !important;
  background: rgba(5, 48, 71, 0.94) !important;
  box-shadow: none !important;
}

body.retro-mode-active.retro-2006-active #mainContent .standard-match-tactics .standard-tactic-buttons {
  border-color: var(--wc06-line) !important;
  background: rgba(3, 37, 57, 0.9) !important;
}

@media (hover: hover) and (pointer: fine) {
  body.retro-mode-active.retro-2006-active #mainContent .retro-manager-player:hover:not(:disabled) {
    border-color: var(--wc06-gold-light) !important;
    background: #0d6483 !important;
  }
}

/* FIFA World Cup 2026 mode */
body.retro-mode-active.retro-2026-active {
  --wc26-blue: #0a45ff;
  --wc26-blue-light: #3768ff;
  --wc26-navy: #06164f;
  --wc26-navy-soft: #10286f;
  --wc26-white: #ffffff;
  --wc26-ink: #07143d;
  --wc26-muted: #c9d7ff;
  --wc26-orange: #ff9e2f;
  --wc26-success: #2768d8;
  --wc26-red: #f0442f;
  --wc26-line: rgba(255, 255, 255, 0.28);
  color: var(--wc26-white);
  background:
    radial-gradient(circle at 82% 12%, rgba(73, 116, 255, 0.95) 0 18%, transparent 18.2%),
    linear-gradient(132deg, var(--wc26-blue-light) 0 31%, var(--wc26-blue) 31% 100%);
}

body.retro-mode-active.retro-2026-active,
body.retro-mode-active.retro-2026-active button,
body.retro-mode-active.retro-2026-active select,
body.retro-mode-active.retro-2026-active input {
  font-family: Manrope, Arial, sans-serif;
}

body.retro-mode-active.retro-2026-active .retro-tournament-screen {
  min-height: 100vh;
  color: var(--wc26-white);
  background:
    linear-gradient(116deg, rgba(54, 103, 255, 0.96) 0 28%, transparent 28.1%),
    radial-gradient(circle at 87% 46%, rgba(5, 42, 206, 0.9) 0 30%, transparent 30.2%),
    var(--wc26-blue);
}

body.retro-mode-active.retro-2026-active .retro-screen-header {
  border-bottom: 1px solid rgba(255, 255, 255, 0.13);
  color: var(--wc26-white);
  background: #030b28;
  box-shadow: 0 10px 30px rgba(0, 10, 45, 0.22);
}

body.retro-mode-active.retro-2026-active :is(
  .retro-screen-brand,
  .retro-screen-action,
  .retro-back-to-modes,
  .retro-screen-restart
) {
  border-color: rgba(255, 255, 255, 0.24);
  color: var(--wc26-white);
  background: transparent;
}

body.retro-mode-active.retro-2026-active #retroDonateButton,
body.retro-mode-active.retro-2026-active :is(.primary-button, .simulate-button, .retro-start-button) {
  border-color: var(--wc26-orange) !important;
  color: var(--wc26-ink) !important;
  background: var(--wc26-orange) !important;
  box-shadow: 0 8px 20px rgba(88, 43, 0, 0.2) !important;
}

body.retro-mode-active.retro-2026-active .retro-tournament-main {
  width: min(1500px, calc(100% - 40px));
}

body.retro-mode-active.retro-2026-active .retro-tournament-heading {
  position: relative;
  align-items: end;
  margin-top: 22px;
  padding: 28px 30px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 14px 14px 0 0;
  color: var(--wc26-white);
  background: linear-gradient(112deg, rgba(6, 22, 79, 0.98), rgba(10, 69, 255, 0.74));
  box-shadow: 0 18px 40px rgba(0, 15, 72, 0.24);
}

body.retro-mode-active.retro-2026-active .retro-tournament-heading::after {
  content: "26";
  position: absolute;
  right: 24px;
  bottom: -34px;
  color: rgba(255, 255, 255, 0.13);
  font: 900 clamp(7rem, 14vw, 14rem)/1 Impact, "Arial Narrow", sans-serif;
  letter-spacing: -0.07em;
  pointer-events: none;
}

body.retro-mode-active.retro-2026-active .retro-tournament-heading > div,
body.retro-mode-active.retro-2026-active .retro-tournament-progress {
  position: relative;
  z-index: 1;
}

body.retro-mode-active.retro-2026-active .retro-tournament-heading > div:first-child > span {
  color: var(--wc26-muted);
  font-weight: 800;
  letter-spacing: 0.12em;
}

body.retro-mode-active.retro-2026-active .retro-tournament-heading h1,
body.retro-mode-active.retro-2026-active :is(
  .retro-section-heading h2,
  .retro-lineups-heading h2,
  .retro-squad-heading strong,
  .panel-title,
  .board-title
) {
  color: var(--wc26-white);
  font-family: Impact, "Arial Narrow", Manrope, sans-serif;
  font-weight: 800;
  letter-spacing: 0.015em;
  text-transform: uppercase;
}

body.retro-mode-active.retro-2026-active .retro-tournament-progress span {
  border-color: rgba(255, 255, 255, 0.24);
  color: var(--wc26-white);
  background: rgba(5, 18, 65, 0.76);
}

body.retro-mode-active.retro-2026-active .retro-view-tabs {
  gap: 0;
  padding: 0 18px;
  border: 0;
  border-radius: 0 0 12px 12px;
  background: var(--wc26-white);
  box-shadow: 0 16px 34px rgba(0, 16, 74, 0.2);
}

body.retro-mode-active.retro-2026-active .retro-view-tabs button {
  min-height: 58px;
  padding: 0 22px;
  border: 0;
  border-bottom: 4px solid transparent;
  border-radius: 0;
  color: #26365f;
  background: transparent;
  font-weight: 850;
}

body.retro-mode-active.retro-2026-active .retro-view-tabs button.active {
  border-bottom-color: var(--wc26-navy);
  color: var(--wc26-navy);
  background: transparent;
}

body.retro-mode-active.retro-2026-active .retro-tournament-body {
  margin-top: 24px;
}

body.retro-mode-active.retro-2026-active #mainContent {
  color: var(--wc26-white);
  background: transparent;
}

body.retro-mode-active.retro-2026-active #mainContent :is(
  .topbar,
  .round-nav,
  .bracket-heads
) {
  border: 0;
  color: var(--wc26-white);
  background: var(--wc26-navy);
  box-shadow: 0 12px 28px rgba(0, 12, 60, 0.18);
}

body.retro-mode-active.retro-2026-active #mainContent .round-nav {
  padding: 8px;
  border-radius: 12px;
}

body.retro-mode-active.retro-2026-active #mainContent .round-nav button {
  min-height: 48px;
  border: 0;
  border-radius: 8px;
  color: var(--wc26-muted);
  background: transparent;
  font-weight: 800;
}

body.retro-mode-active.retro-2026-active #mainContent .round-nav button.active {
  color: var(--wc26-navy);
  background: var(--wc26-white);
}

body.retro-mode-active.retro-2026-active :is(
  .retro-group-table,
  .retro-match-layout,
  .retro-lineup-side,
  .retro-squad-position-group,
  .retro-manager-lineup,
  .retro-manager-pitch-box,
  .retro-golden-boot,
  .retro-fixture,
  .panel,
  .fixture-panel,
  .match-panel
) {
  border: 0 !important;
  border-radius: 14px !important;
  color: var(--wc26-white) !important;
  background: var(--wc26-navy) !important;
  box-shadow: 0 14px 30px rgba(0, 13, 66, 0.22) !important;
}

body.retro-mode-active.retro-2026-active #mainContent .fixture {
  border-radius: 12px !important;
}

body.retro-mode-active.retro-2026-active #mainContent .retro-standard-fixture-meta {
  border-color: rgba(255, 255, 255, 0.14) !important;
  color: var(--wc26-orange) !important;
  font-size: 0.62rem;
  line-height: 1.35;
}

body.retro-mode-active.retro-2026-active :is(
  .retro-section-heading,
  .retro-lineups-heading,
  .retro-squad-heading,
  .retro-manager-lineup > header,
  .retro-group-table > header
) {
  border-color: rgba(255, 255, 255, 0.14) !important;
  color: var(--wc26-white) !important;
  background: var(--wc26-navy) !important;
}

body.retro-mode-active.retro-2026-active .retro-groups-grid {
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 18px;
}

body.retro-mode-active.retro-2026-active :is(
  .retro-table-head,
  .retro-live-table-head,
  .retro-squad-position-group > h2,
  .retro-manager-section-title
) {
  border-color: rgba(255, 255, 255, 0.14) !important;
  color: var(--wc26-muted) !important;
  background: #0c2468 !important;
}

body.retro-mode-active.retro-2026-active :is(
  .retro-table-row,
  .retro-live-table-row,
  .retro-squad-row,
  .retro-manager-player,
  .retro-fixture-details,
  .retro-lineup-player,
  .fixture
) {
  border-color: rgba(255, 255, 255, 0.13) !important;
  color: var(--wc26-white) !important;
  background: #122a70 !important;
}

body.retro-mode-active.retro-2026-active :is(
  .retro-table-row:nth-child(even),
  .retro-squad-row:nth-child(even),
  .fixture:nth-child(even)
) {
  background: #0d2365 !important;
}

body.retro-mode-active.retro-2026-active :is(
  .retro-table-row small,
  .retro-squad-row small,
  .retro-manager-player small,
  .retro-fixture-details small,
  .retro-lineups-heading p,
  .retro-squad-heading small,
  .muted
) {
  color: var(--wc26-muted) !important;
}

body.retro-mode-active.retro-2026-active :is(
  .retro-squad-heading select,
  .retro-lineup-tabs button,
  .retro-formation-badge,
  .retro-match-stage,
  .retro-match-schedule,
  .retro-manager-formation select,
  .team-filter-control input,
  .search input
) {
  border-color: rgba(255, 255, 255, 0.22) !important;
  color: var(--wc26-white) !important;
  background: #10286f !important;
}

body.retro-mode-active.retro-2026-active .retro-rating-method {
  display: grid;
  grid-template-columns: repeat(4, minmax(110px, 1fr));
  gap: 1px;
  margin: 14px 0 18px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 12px;
  color: var(--wc26-white);
  background: rgba(255, 255, 255, 0.15);
  box-shadow: 0 12px 28px rgba(0, 12, 60, 0.18);
}

body.retro-mode-active.retro-2026-active .retro-rating-method > div {
  display: grid;
  gap: 4px;
  min-height: 82px;
  padding: 15px 18px;
  background: var(--wc26-navy);
}

body.retro-mode-active.retro-2026-active .retro-rating-method span {
  color: var(--wc26-muted);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

body.retro-mode-active.retro-2026-active .retro-rating-method strong {
  color: var(--wc26-white);
  font: 800 1.45rem/1 Manrope, sans-serif;
}

body.retro-mode-active.retro-2026-active .retro-rating-method p {
  grid-column: 1 / -1;
  margin: 0;
  padding: 11px 18px;
  color: var(--wc26-ink);
  background: var(--wc26-orange);
  font-size: 0.78rem;
  font-weight: 800;
}

body.retro-mode-active.retro-2026-active .retro-lineup-tabs button.active {
  border-color: var(--wc26-white) !important;
  color: var(--wc26-navy) !important;
  background: var(--wc26-white) !important;
}

body.retro-mode-active.retro-2026-active :is(
  .retro-match-primary,
  .match-detail,
  .fixture.is-selected,
  .fixture.active
) {
  border-color: rgba(255, 255, 255, 0.2) !important;
  color: var(--wc26-ink) !important;
  background: var(--wc26-white) !important;
}

body.retro-mode-active.retro-2026-active :is(
  .retro-match-primary *,
  .match-detail h2,
  .match-detail h3
) {
  color: var(--wc26-ink);
}

body.retro-mode-active.retro-2026-active .retro-match-score {
  color: var(--wc26-white);
  background: var(--wc26-navy-soft);
}

body.retro-mode-active.retro-2026-active :is(
  .retro-manager-pitch,
  .retro-formation-pitch,
  .match-2d-pitch
) {
  border-color: rgba(255, 255, 255, 0.5) !important;
  background:
    linear-gradient(rgba(255, 255, 255, 0.24) 2px, transparent 2px) 0 50% / 100% 50%,
    linear-gradient(90deg, rgba(255, 255, 255, 0.11) 50%, transparent 50%) 0 0 / 22% 100%,
    #1769d8 !important;
}

body.retro-mode-active.retro-2026-active .retro-pitch-player {
  border-color: var(--wc26-white) !important;
  color: var(--wc26-white) !important;
  background: var(--wc26-navy) !important;
  box-shadow: 0 5px 12px rgba(0, 8, 42, 0.3) !important;
}

body.retro-mode-active.retro-2026-active .retro-pitch-player i {
  color: var(--wc26-ink) !important;
  background: var(--wc26-orange) !important;
}

body.retro-mode-active.retro-2026-active :is(
  .retro-stage-actions button,
  .retro-sub-action,
  .secondary-button,
  .ghost-button
) {
  border-color: rgba(255, 255, 255, 0.3) !important;
  color: var(--wc26-white) !important;
  background: #10286f !important;
}

body.retro-mode-active.retro-2026-active :is(
  .status-won,
  .winner,
  .is-winner,
  .penalty-mark.goal
) {
  color: #eaffef !important;
  background: var(--wc26-success) !important;
}

body.retro-mode-active.retro-2026-active :is(
  .status-lost,
  .is-loser,
  .penalty-mark.miss
) {
  color: #fff !important;
  background: var(--wc26-red) !important;
}

body.retro-mode-active.retro-2026-active :is(
  dialog form,
  .settings-modal form,
  .snapshot-modal form,
  .elimination-confirmation-card,
  .champion-stage
) {
  border-color: rgba(255, 255, 255, 0.18) !important;
  color: var(--wc26-white) !important;
  background: var(--wc26-navy) !important;
}

body.retro-mode-active.retro-2026-active .toast {
  border: 1px solid rgba(255, 255, 255, 0.22);
  color: var(--wc26-white);
  background: var(--wc26-navy);
}

body.retro-mode-active.retro-2026-active :is(button, select, input):focus-visible {
  outline: 3px solid var(--wc26-orange) !important;
  outline-offset: 3px;
}

body.retro-mode-active.retro-2026-active :is(button, .fixture, .retro-manager-player) {
  transition: transform 140ms ease, border-color 140ms ease, background-color 140ms ease, color 140ms ease;
}

body.retro-mode-active.retro-2026-active button:active {
  transform: scale(0.97);
}

body.retro-mode-active.retro-2026-active ::selection {
  color: var(--wc26-navy);
  background: var(--wc26-orange);
}

@media (hover: hover) and (pointer: fine) {
  body.retro-mode-active.retro-2026-active :is(
    .retro-screen-action,
    .retro-back-to-modes,
    .retro-screen-restart,
    .retro-stage-actions button,
    .secondary-button
  ):hover {
    border-color: var(--wc26-white) !important;
    background: #183783 !important;
  }

  body.retro-mode-active.retro-2026-active :is(.fixture, .retro-manager-player):hover {
    border-color: rgba(255, 255, 255, 0.52) !important;
    transform: translateY(-2px);
  }
}

@media (max-width: 900px) {
  body.retro-mode-active.retro-2026-active .retro-tournament-main {
    width: min(100% - 24px, 1500px);
  }

  body.retro-mode-active.retro-2026-active .retro-view-tabs {
    padding: 0 8px;
    overflow-x: auto;
  }

  body.retro-mode-active.retro-2026-active .retro-view-tabs button {
    flex: 0 0 auto;
    min-height: 52px;
    padding-inline: 16px;
  }

  body.retro-mode-active.retro-2026-active .retro-tournament-heading {
    align-items: start;
    padding: 22px;
  }
}

@media (max-width: 600px) {
  body.retro-mode-active.retro-2026-active .retro-tournament-main {
    width: min(100% - 16px, 1500px);
  }

  body.retro-mode-active.retro-2026-active .retro-tournament-heading {
    margin-top: 12px;
    padding: 18px;
  }

  body.retro-mode-active.retro-2026-active .retro-tournament-heading::after {
    right: 12px;
    font-size: 7rem;
  }

  body.retro-mode-active.retro-2026-active .retro-view-tabs {
    justify-content: start;
  }

  body.retro-mode-active.retro-2026-active .retro-groups-grid {
    grid-template-columns: 1fr;
  }

  body.retro-mode-active.retro-2026-active #mainContent .fixture-grid {
    grid-template-columns: 1fr !important;
  }

  body.retro-mode-active.retro-2026-active .retro-rating-method {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (prefers-reduced-motion: reduce) {
  body.retro-mode-active.retro-2026-active :is(button, .fixture, .retro-manager-player) {
    transition: none !important;
  }
}

/* 2026 shared match-centre reset: prevent Brazil 2014 surfaces leaking through. */
body.retro-mode-active.retro-2026-active .retro-tournament-heading {
  min-height: 24px;
  height: 24px;
  margin-top: 0;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

body.retro-mode-active.retro-2026-active .retro-tournament-heading > * {
  visibility: hidden;
  pointer-events: none;
}

body.retro-mode-active.retro-2026-active .retro-tournament-heading::after {
  content: none;
}

body.retro-mode-active.retro-2026-active .retro-view-tabs::before,
body.retro-mode-active.retro-2026-active .retro-view-tabs::after {
  content: none !important;
}

/* Keep the 2026 squad directory deliberately simple: names and shirt numbers only. */
body.retro-mode-active.retro-2026-active .retro-tournament-body .retro-squad-view,
body.retro-mode-active.retro-2026-active .retro-tournament-body .retro-squad-groups {
  border: 0 !important;
  color: var(--wc26-white) !important;
  background: var(--wc26-navy) !important;
  box-shadow: none !important;
}

body.retro-mode-active.retro-2026-active .retro-tournament-body .retro-squad-view {
  overflow: hidden;
  border-radius: 14px !important;
}

body.retro-mode-active.retro-2026-active .retro-tournament-body .retro-squad-groups {
  margin: 0;
}

body.retro-mode-active.retro-2026-active .retro-tournament-body .retro-squad-heading label > span {
  color: var(--wc26-muted) !important;
}

body.retro-mode-active.retro-2026-active .retro-tournament-body .retro-squad-position-group {
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.13) !important;
  border-radius: 10px !important;
  background: #0c2468 !important;
  box-shadow: none !important;
}

body.retro-mode-active.retro-2026-active .retro-tournament-body .retro-squad-position-group > h2 {
  margin: 0;
  padding: 0 14px;
}

body.retro-mode-active.retro-2026-active .retro-tournament-body .retro-squad-position-group .retro-squad-row,
body.retro-mode-active.retro-2026-active .retro-tournament-body .retro-squad-position-group .retro-squad-row:nth-child(even) {
  min-height: 52px;
  grid-template-columns: 34px minmax(0, 1fr);
  padding: 8px 14px;
  background: #10286f !important;
}

body.retro-mode-active.retro-2026-active .retro-tournament-body .retro-squad-row strong {
  color: var(--wc26-white) !important;
}

/* Replace the inherited Brazil-green fixture controls and team popover. */
body.retro-mode-active.retro-2026-active #mainContent :is(
  #unresolvedFilter,
  #historyRoundButton,
  #newerRoundButton,
  .team-filter-chip
) {
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
  color: var(--wc26-white) !important;
  background: #10286f !important;
  box-shadow: none !important;
}

body.retro-mode-active.retro-2026-active #mainContent :is(
  #unresolvedFilter,
  #historyRoundButton,
  #newerRoundButton
).active {
  border-color: var(--wc26-orange) !important;
  color: var(--wc26-ink) !important;
  background: var(--wc26-orange) !important;
}

body.retro-mode-active.retro-2026-active #mainContent .team-filter-control .search-result-popover {
  overflow: hidden;
  border: 2px solid var(--wc26-orange) !important;
  border-radius: 10px;
  color: var(--wc26-white) !important;
  background: var(--wc26-navy) !important;
  box-shadow: 8px 10px 0 rgba(4, 28, 89, 0.66), 0 18px 38px rgba(0, 10, 45, 0.34) !important;
}

body.retro-mode-active.retro-2026-active #mainContent .team-filter-control .search-result {
  border-bottom-color: rgba(255, 255, 255, 0.14) !important;
  color: var(--wc26-white) !important;
  background: #10286f !important;
}

body.retro-mode-active.retro-2026-active #mainContent .team-filter-control .search-result small {
  color: var(--wc26-muted) !important;
}

@media (hover: hover) and (pointer: fine) {
  body.retro-mode-active.retro-2026-active #mainContent :is(
    #unresolvedFilter,
    #historyRoundButton,
    #newerRoundButton,
    .team-filter-chip
  ):hover {
    border-color: rgba(255, 255, 255, 0.42) !important;
    background: #183783 !important;
  }

  body.retro-mode-active.retro-2026-active #mainContent .team-filter-control .search-result:hover {
    background: #183783 !important;
  }
}

body.retro-mode-active.retro-2026-active #mainContent .board-actions :is(
  #historyRoundButton,
  #newerRoundButton
) {
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
  color: var(--wc26-white) !important;
  background: #10286f !important;
  box-shadow: none !important;
}

body.retro-mode-active.retro-2026-active #mainContent :is(
  #snapshotButton,
  .snapshot-trigger
) {
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  color: var(--wc26-white) !important;
  background: #10286f !important;
  box-shadow: none !important;
}

body.retro-mode-active.retro-2026-active .snapshot-modal form {
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
  color: var(--wc26-white) !important;
  background: var(--wc26-navy) !important;
  box-shadow: 10px 12px 0 rgba(4, 28, 89, 0.55) !important;
}

body.retro-mode-active.retro-2026-active .snapshot-modal :is(
  .icon-button,
  .close-modal
) {
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  color: var(--wc26-white) !important;
  background: #10286f !important;
  box-shadow: none !important;
}

body.retro-mode-active.retro-2026-active #mainContent .retro-match-lineups-panel {
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
  color: var(--wc26-white) !important;
  background: var(--wc26-navy) !important;
  box-shadow: 0 14px 30px rgba(0, 13, 66, 0.24) !important;
}

body.retro-mode-active.retro-2026-active #mainContent .retro-match-lineups-panel > summary,
body.retro-mode-active.retro-2026-active #mainContent .retro-match-lineups-panel[open] > summary {
  border-bottom: 1px solid rgba(255, 255, 255, 0.14) !important;
  color: var(--wc26-white) !important;
  background: #10286f !important;
}

body.retro-mode-active.retro-2026-active #mainContent :is(
  .retro-live-ratings-side,
  .retro-live-rating-list
) {
  border-color: rgba(255, 255, 255, 0.14) !important;
  color: var(--wc26-white) !important;
  background: #081c59 !important;
}

body.retro-mode-active.retro-2026-active #mainContent .retro-live-ratings-side > header {
  border-bottom-color: rgba(255, 255, 255, 0.14) !important;
  background: #10286f !important;
}

body.retro-mode-active.retro-2026-active #mainContent .retro-live-ratings-side header small {
  color: var(--wc26-orange) !important;
}

body.retro-mode-active.retro-2026-active #mainContent .retro-live-rating-row {
  border-bottom-color: rgba(255, 255, 255, 0.14) !important;
  background: #0c2468 !important;
}

body.retro-mode-active.retro-2026-active #mainContent .retro-live-rating-row small {
  color: var(--wc26-muted) !important;
}

body.retro-mode-active.retro-2026-active #mainContent .retro-live-rating-row > b {
  border-color: var(--wc26-orange) !important;
  color: var(--wc26-orange) !important;
  background: #10286f !important;
}

body.retro-mode-active.retro-2026-active #mainContent .retro-live-rating-row > b.is-excellent {
  border-color: #63d8ff !important;
  color: #9ae8ff !important;
  background: #0c315f !important;
}

body.retro-mode-active.retro-2026-active #mainContent .retro-live-rating-row > b.is-good {
  border-color: var(--wc26-white) !important;
  color: var(--wc26-white) !important;
  background: #10286f !important;
}

body.retro-mode-active.retro-2026-active #mainContent .retro-live-rating-row > b.is-poor {
  border-color: #ff8794 !important;
  color: #ffb1ba !important;
  background: #48142a !important;
}

@media (hover: hover) and (pointer: fine) {
  body.retro-mode-active.retro-2026-active #mainContent :is(
    #snapshotButton,
    .snapshot-trigger
  ):hover,
  body.retro-mode-active.retro-2026-active .snapshot-modal :is(
    .icon-button,
    .close-modal
  ):hover {
    border-color: rgba(255, 255, 255, 0.42) !important;
    background: #183783 !important;
  }
}

body.retro-mode-active.retro-2026-active #mainContent :is(
  .match-stage,
  .round-board,
  .match-analysis,
  .standard-match-tactics,
  .story-card
) {
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  border-radius: 14px !important;
  color: var(--wc26-white) !important;
  background: linear-gradient(138deg, #0b246d 0%, var(--wc26-navy) 78%) !important;
  box-shadow: 0 14px 30px rgba(0, 13, 66, 0.24) !important;
}

body.retro-mode-active.retro-2026-active #mainContent :is(
  .match-stage,
  .round-board,
  .match-analysis
)::before {
  content: none !important;
}

body.retro-mode-active.retro-2026-active #mainContent .match-stage {
  background:
    radial-gradient(circle at 50% 120%, rgba(55, 104, 255, 0.42), transparent 46%),
    linear-gradient(138deg, #0d2b82 0%, var(--wc26-navy) 78%) !important;
}

body.retro-mode-active.retro-2026-active #mainContent :is(
  .matchup,
  .team-name,
  .scoreline,
  .match-score,
  .score-separator,
  .match-analysis-heading,
  .match-analysis-heading strong,
  .standard-match-tactics > span,
  .story-card strong,
  .story-card small
) {
  color: var(--wc26-white) !important;
  text-shadow: none !important;
}

body.retro-mode-active.retro-2026-active #mainContent :is(
  .stage-round,
  .match-analysis-heading span,
  .standard-match-tactics > span,
  .story-card span
) {
  color: var(--wc26-orange) !important;
}

body.retro-mode-active.retro-2026-active #mainContent .match-analysis-heading {
  min-height: 58px;
  padding: 0 18px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.13);
  background: #0c2468 !important;
}

body.retro-mode-active.retro-2026-active #mainContent :is(
  .match-stat-row,
  .match-stats-empty,
  .story-card p
) {
  color: var(--wc26-muted) !important;
}

body.retro-mode-active.retro-2026-active #mainContent .standard-tactic-buttons {
  gap: 7px;
  padding: 7px !important;
  border: 1px solid rgba(255, 255, 255, 0.13) !important;
  border-radius: 10px !important;
  background: #081c59 !important;
}

body.retro-mode-active.retro-2026-active #mainContent .standard-tactic-buttons button {
  min-height: 46px;
  border: 1px solid transparent !important;
  border-radius: 8px !important;
  color: var(--wc26-muted) !important;
  background: #10286f !important;
}

body.retro-mode-active.retro-2026-active #mainContent .standard-tactic-buttons button.active {
  border-color: var(--wc26-orange) !important;
  color: var(--wc26-ink) !important;
  background: var(--wc26-orange) !important;
  box-shadow: none !important;
}

body.retro-mode-active.retro-2026-active #mainContent :is(
  .match-commentary-feed,
  .search.team-filter-search
) {
  border-color: rgba(255, 255, 255, 0.14) !important;
  color: var(--wc26-white) !important;
  background: #091d5b !important;
}

body.retro-mode-active.retro-2026-active #mainContent :is(
  .penalty-scene,
  .match-penalty-scene,
  .standard-penalty-scene
) {
  background:
    linear-gradient(rgba(6, 22, 79, 0.08), rgba(6, 22, 79, 0.34)),
    repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.035) 0 42px, transparent 42px 84px),
    #1769d8 !important;
}

body.retro-mode-active.retro-2026-active #mainContent :is(
  .champion-award,
  .champion-extra-awards > *
) {
  border-color: rgba(255, 255, 255, 0.14) !important;
  color: var(--wc26-white) !important;
  background: #0c2468 !important;
}

body.retro-mode-active.retro-2026-active #mainContent #championStage .champion-place {
  border-color: rgba(255, 255, 255, 0.2) !important;
  border-radius: 10px !important;
  color: var(--wc26-white) !important;
  background: #0c2468 !important;
  box-shadow: none !important;
}

body.retro-mode-active.retro-2026-active #mainContent #championStage .champion-place.place-1 {
  border-color: var(--wc26-orange) !important;
  background: #12317f !important;
  box-shadow: inset 0 4px var(--wc26-orange) !important;
}

body.retro-mode-active.retro-2026-active #mainContent #championStage .champion-place :is(strong, small) {
  color: var(--wc26-white) !important;
}

body.retro-mode-active.retro-2026-active #mainContent #championStage .champion-place small {
  color: var(--wc26-muted) !important;
}

body.retro-mode-active.retro-2026-active #mainContent #championStage .champion-place > b {
  color: var(--wc26-orange) !important;
}

/* Cleaner, compact starting-XI workspace. */
body.retro-mode-active.retro-2026-active #mainContent .retro-match-lineups-panel {
  margin-top: 16px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
  border-radius: 14px !important;
  color: var(--wc26-white) !important;
  background: var(--wc26-navy) !important;
  box-shadow: 0 14px 30px rgba(0, 13, 66, 0.22) !important;
}

body.retro-mode-active.retro-2026-active #mainContent .retro-match-lineups-panel > summary,
body.retro-mode-active.retro-2026-active #mainContent .retro-match-lineups-panel[open] > summary {
  position: relative;
  display: flex;
  min-height: 58px;
  align-items: center;
  padding: 0 50px 0 20px;
  border: 0 !important;
  border-bottom: 1px solid transparent !important;
  color: var(--wc26-white) !important;
  background: #0c2468 !important;
  font-size: 0.86rem;
  font-weight: 850;
  list-style: none;
}

body.retro-mode-active.retro-2026-active #mainContent .retro-match-lineups-panel[open] > summary {
  border-bottom-color: rgba(255, 255, 255, 0.13) !important;
}

body.retro-mode-active.retro-2026-active #mainContent .retro-match-lineups-panel > summary::-webkit-details-marker {
  display: none;
}

body.retro-mode-active.retro-2026-active #mainContent .retro-match-lineups-panel > summary::before {
  content: "XI";
  display: grid;
  width: 28px;
  height: 28px;
  margin-right: 10px;
  place-items: center;
  border-radius: 7px;
  color: var(--wc26-ink);
  background: var(--wc26-orange);
  font: 900 0.68rem/1 Manrope, sans-serif;
}

body.retro-mode-active.retro-2026-active #mainContent .retro-match-lineups-panel > summary::after {
  content: "+";
  position: absolute;
  right: 20px;
  color: var(--wc26-muted);
  font: 500 1.35rem/1 Manrope, sans-serif;
}

body.retro-mode-active.retro-2026-active #mainContent .retro-match-lineups-panel[open] > summary::after {
  content: "−";
}

body.retro-mode-active.retro-2026-active #mainContent .retro-match-lineups-panel > .retro-lineups-grid {
  gap: 0;
  padding: 0 !important;
}

body.retro-mode-active.retro-2026-active #mainContent .retro-lineup-workspace {
  gap: 0;
  border: 0;
  background: var(--wc26-navy);
}

body.retro-mode-active.retro-2026-active #mainContent .retro-lineup-tabs {
  gap: 6px;
  padding: 8px;
  border: 0 !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.13) !important;
  background: #081c59 !important;
}

body.retro-mode-active.retro-2026-active #mainContent .retro-lineup-tabs button {
  min-height: 46px;
  border: 1px solid transparent !important;
  border-radius: 8px !important;
  color: var(--wc26-muted) !important;
  background: #10286f !important;
  box-shadow: none !important;
  font-size: 0.75rem;
}

body.retro-mode-active.retro-2026-active #mainContent .retro-lineup-tabs button.active {
  border-color: var(--wc26-white) !important;
  color: var(--wc26-navy) !important;
  background: var(--wc26-white) !important;
  box-shadow: none !important;
}

body.retro-mode-active.retro-2026-active #mainContent .retro-manager-lineup {
  overflow: hidden;
  border: 0 !important;
  border-radius: 0 !important;
  background: var(--wc26-navy) !important;
  box-shadow: none !important;
}

body.retro-mode-active.retro-2026-active #mainContent .retro-manager-hint {
  margin: 0;
  padding: 12px 16px;
  border-color: rgba(255, 255, 255, 0.12);
  color: var(--wc26-muted);
  background: #0c2468;
  font-size: 0.76rem;
}

body.retro-mode-active.retro-2026-active #mainContent .retro-manager-layout {
  gap: 14px;
  padding: 14px;
  background: var(--wc26-navy);
}

body.retro-mode-active.retro-2026-active #mainContent .retro-manager-pitch-box {
  overflow: hidden;
  padding: 10px;
  border: 1px solid rgba(255, 255, 255, 0.13) !important;
  border-radius: 12px !important;
  background: #0c2468 !important;
  box-shadow: none !important;
}

body.retro-mode-active.retro-2026-active #mainContent .retro-manager-pitch {
  border-radius: 9px;
  box-shadow: inset 0 0 28px rgba(4, 17, 65, 0.3) !important;
}

body.retro-mode-active.retro-2026-active #mainContent .retro-pitch-corner-control {
  top: 8px;
  left: 8px;
}

body.retro-mode-active.retro-2026-active #mainContent .retro-pitch-corner-control [data-retro-manager-formation] {
  width: 96px !important;
  min-width: 96px !important;
  min-height: 32px !important;
  height: 32px;
  padding: 0 26px 0 10px !important;
  border: 1px solid var(--wc26-orange) !important;
  border-radius: 6px !important;
  color: var(--wc26-white) !important;
  background: #10286f !important;
  box-shadow: none !important;
  font: 800 0.66rem/1 Manrope, sans-serif !important;
}

body.retro-mode-active.retro-2026-active #mainContent .retro-pitch-sub-counter {
  top: 8px;
  right: 8px;
  gap: 7px;
  min-height: 32px;
  padding: 0 9px;
  border: 1px solid rgba(255, 255, 255, 0.24) !important;
  border-radius: 6px !important;
  color: var(--wc26-white) !important;
  background: #10286f !important;
  box-shadow: none !important;
  font: 800 0.62rem/1 Manrope, sans-serif !important;
}

body.retro-mode-active.retro-2026-active #mainContent .retro-pitch-sub-counter span {
  color: var(--wc26-white) !important;
  white-space: nowrap;
}

body.retro-mode-active.retro-2026-active #mainContent .retro-pitch-player {
  width: clamp(62px, 16%, 82px);
  min-height: 52px;
  gap: 2px;
  padding: 0;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  touch-action: manipulation;
}

body.retro-mode-active.retro-2026-active #mainContent .retro-pitch-player b {
  width: 31px;
  height: 31px;
  border: 2px solid var(--wc26-white);
  border-radius: 50%;
  color: var(--wc26-white);
  background: #2768d8;
  box-shadow: 0 3px 10px rgba(0, 8, 42, 0.4);
}

body.retro-mode-active.retro-2026-active #mainContent .retro-pitch-player span {
  padding: 1px 3px;
  color: var(--wc26-white);
  background: rgba(6, 22, 79, 0.72);
  font-size: 0.58rem;
  text-shadow: none;
}

body.retro-mode-active.retro-2026-active #mainContent .retro-pitch-player i {
  min-width: 27px;
  padding: 2px 5px;
  border-radius: 999px;
  font-size: 0.55rem;
}

body.retro-mode-active.retro-2026-active #mainContent .retro-manager-section.is-bench {
  padding: 0 0 0 14px;
  border-left-color: rgba(255, 255, 255, 0.13);
  background: transparent;
}

body.retro-mode-active.retro-2026-active #mainContent .retro-manager-player {
  min-height: 46px;
  border-width: 0 0 1px !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.retro-mode-active.retro-2026-active #mainContent .retro-manager-player.is-selected {
  border-color: var(--wc26-orange) !important;
  background: rgba(255, 158, 47, 0.1) !important;
  box-shadow: inset 3px 0 var(--wc26-orange) !important;
}

body.retro-mode-active.retro-2026-active #mainContent .retro-pitch-player.is-drop-target b {
  border-color: var(--wc26-orange) !important;
  color: var(--wc26-ink) !important;
  background: var(--wc26-orange) !important;
  box-shadow: 0 0 0 5px rgba(255, 158, 47, 0.28) !important;
}

body.retro-mode-active.retro-2026-active #mainContent .retro-manager-player.is-drop-target {
  border-color: var(--wc26-orange) !important;
  background: rgba(255, 158, 47, 0.14) !important;
  box-shadow: inset 4px 0 var(--wc26-orange) !important;
}

body.retro-mode-active.retro-2026-active #mainContent :is(
  .retro-pitch-player,
  .retro-manager-player
):not(:disabled) {
  cursor: grab;
}

body.retro-mode-active.retro-2026-active #mainContent :is(
  .retro-pitch-player,
  .retro-manager-player
).is-dragging {
  cursor: grabbing;
  opacity: 0.36;
}

body.retro-mode-active.retro-2026-active #mainContent .retro-manager-player :is(b, i),
body.retro-mode-active.retro-2026-active #mainContent .retro-manager-section-title span {
  color: var(--wc26-orange) !important;
}

body.retro-mode-active.retro-2026-active #mainContent .retro-manager-player small {
  display: none;
}

/* Completed bracket rows stay neutral; the score already communicates who advanced. */
body.retro-mode-active.retro-2026-active #mainContent .bracket-fixture .fixture-team.winner {
  color: var(--wc26-white) !important;
  background: transparent !important;
}

body.retro-mode-active.retro-2026-active #mainContent .bracket-fixture .fixture-team.winner .fixture-winner-marker {
  display: none !important;
  border-right-color: transparent !important;
}

body.retro-mode-active.retro-2026-active #mainContent .retro-manager-section.is-bench .retro-manager-player {
  grid-template-columns: 28px minmax(0, 1fr) 30px 34px;
}

body.retro-mode-active.retro-2026-active #mainContent .standard-tactic-buttons {
  gap: 4px;
  padding: 5px !important;
  border-radius: 9px !important;
}

body.retro-mode-active.retro-2026-active #mainContent .standard-tactic-buttons button {
  min-height: 36px !important;
  padding: 5px 8px !important;
  border-radius: 6px !important;
  font-size: 0.68rem !important;
}

body.retro-mode-active.retro-2026-active #mainContent .retro-lineup-side,
body.retro-mode-active.retro-2026-active #mainContent .retro-lineup-side:nth-child(2) {
  border-color: rgba(255, 255, 255, 0.13) !important;
  background: var(--wc26-navy) !important;
}

body.retro-mode-active.retro-2026-active #mainContent .retro-lineup-side header,
body.retro-mode-active.retro-2026-active #mainContent .retro-lineup-side:nth-child(2) header {
  border-bottom-color: rgba(255, 255, 255, 0.13) !important;
  background: #0c2468 !important;
}

body.retro-mode-active.retro-2026-active #mainContent .retro-lineup-side li:nth-child(even) {
  background: rgba(255, 255, 255, 0.035) !important;
}

@media (hover: hover) and (pointer: fine) {
  body.retro-mode-active.retro-2026-active #mainContent .retro-manager-player:hover:not(:disabled) {
    border-color: rgba(255, 255, 255, 0.36) !important;
    background: rgba(255, 255, 255, 0.06) !important;
  }
}

@media (max-width: 760px) {
  body.retro-mode-active.retro-2026-active #mainContent .retro-manager-layout {
    grid-template-columns: 1fr;
  }

  body.retro-mode-active.retro-2026-active #mainContent .retro-manager-section.is-bench {
    height: auto;
    min-height: 0;
    padding: 14px 0 0;
    border-top: 1px solid rgba(255, 255, 255, 0.13);
    border-left: 0;
  }
}
/* Custom squad creator and one-off custom matches */
.custom-library-heading > div { display: grid; gap: 2px; }
.custom-library-heading > div span { color: var(--muted, #8290a8); font-size: 11px; }
.custom-library-heading > button { border: 1px solid rgba(111, 142, 255, .45); border-radius: 9px; background: rgba(79, 112, 230, .12); color: #b9c9ff; padding: 8px 11px; font-weight: 800; cursor: pointer; }
.custom-library-team .custom-library-edit { width: auto; padding: 5px 7px; border-radius: 7px; font-size: 10px; color: #aebeff; background: rgba(85, 113, 210, .12); }
.custom-uploaded-flag img { width: 100%; height: 100%; padding: 0; box-sizing: border-box; object-fit: cover; }

.custom-team-creator-modal {
  z-index: 1400;
  padding: clamp(12px, 3vh, 28px);
}
.custom-team-creator-modal .custom-editor-backdrop {
  background: rgba(2, 7, 14, .86);
  backdrop-filter: blur(5px);
}
.custom-team-creator {
  position: relative;
  z-index: 1;
  width: min(920px, calc(100vw - 34px));
  max-height: min(880px, calc(100dvh - 40px));
  margin: 0;
  padding: 0;
  overflow-x: hidden;
  overflow-y: auto;
  border: 1px solid #34445e;
  border-radius: 14px;
  color: #eef3ff;
  background: #0d1521;
  box-shadow: 0 30px 100px rgba(0, 0, 0, .72);
  isolation: isolate;
}
.custom-team-creator-header,
.custom-team-creator-actions { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 22px 24px; border-bottom: 1px solid rgba(135, 151, 184, .16); }
.custom-team-creator-header { position: sticky; top: 0; z-index: 3; background: #0d1521; }
.custom-team-creator-header span,
.custom-section-title > div > span { color: #789cff; font-size: 10px; font-weight: 900; letter-spacing: .16em; }
.custom-team-creator-header h2,
.custom-section-title h3 { margin: 3px 0; }
.custom-team-creator-header p { margin: 0; color: #8f9bb1; }
.custom-team-creator-header > button { border: 0; background: transparent; color: #aeb7c9; font-size: 28px; cursor: pointer; }
.custom-team-identity { display: grid; grid-template-columns: 92px minmax(220px, 1fr) minmax(260px, 1fr); align-items: center; gap: 18px; padding: 22px 24px; }
.custom-team-flag-preview { width: 92px; aspect-ratio: 3 / 2; display: grid; place-items: center; overflow: hidden; border: 1px solid rgba(143, 161, 196, .25); border-radius: 10px; background: #151c29; font-size: 26px; }
.custom-team-flag-preview img { width: 100%; height: 100%; padding: 0; box-sizing: border-box; object-fit: cover; }
.custom-team-identity label { display: grid; gap: 7px; color: #aeb7c9; font-size: 11px; font-weight: 800; }
.custom-team-identity input,
.custom-player-row input,
.custom-player-row select { min-width: 0; border: 1px solid rgba(143, 161, 196, .24); border-radius: 8px; background: #111824; color: #eef3ff; padding: 10px; }
.custom-flag-upload small { color: #737f94; font-weight: 500; line-height: 1.35; }
.custom-team-ratings-section,
.custom-player-builder { padding: 20px 24px; border-top: 1px solid rgba(135, 151, 184, .14); }
.custom-account-save-option { display: flex; align-items: center; gap: 11px; padding: 16px 24px; border-top: 1px solid rgba(135, 151, 184, .14); color: #dce5f1; cursor: pointer; }
.custom-account-save-option input { width: 18px; height: 18px; accent-color: #79a1ff; }
.custom-account-save-option span { display: grid; gap: 3px; }
.custom-account-save-option strong { font-size: 12px; }
.custom-account-save-option small { color: #7f8ba1; font-size: 10px; }
.custom-account-save-option:has(input:disabled) { cursor: not-allowed; opacity: .65; }
.custom-section-title { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 14px; }
.custom-section-title button { border: 1px solid rgba(111, 142, 255, .4); border-radius: 8px; background: rgba(79, 112, 230, .12); color: #b9c9ff; padding: 8px 11px; font-weight: 800; }
.custom-player-help { color: #7f8ba1; font-size: 12px; }
.custom-player-rows { display: grid; gap: 8px; }
.custom-player-row { border: 1px solid rgba(135, 151, 184, .14); border-radius: 10px; background: rgba(10, 15, 24, .5); overflow: hidden; }
.custom-player-main-fields { display: grid; grid-template-columns: 28px minmax(180px, 1fr) 84px 86px 34px; align-items: center; gap: 9px; padding: 10px; }
.custom-player-number { color: #68758b; text-align: center; font: 700 11px/1 monospace; }
.custom-player-main-fields label,
.custom-player-attributes label { display: grid; grid-template-columns: auto 52px; align-items: center; gap: 6px; color: #7f8ba1; font-size: 9px; font-weight: 900; }
.custom-player-main-fields label input,
.custom-player-attributes label input { padding: 8px 6px; text-align: center; }
.custom-player-main-fields > button { border: 0; background: transparent; color: #9ba7ba; font-size: 20px; cursor: pointer; }
.custom-player-row details { border-top: 1px solid rgba(135, 151, 184, .1); }
.custom-player-row summary { padding: 8px 12px; color: #7f8ba1; font-size: 10px; font-weight: 800; cursor: pointer; }
.custom-player-attributes { display: grid; grid-template-columns: repeat(5, minmax(90px, 1fr)); gap: 9px; padding: 4px 12px 12px; }
.custom-player-attributes .custom-penalty-taker { grid-template-columns: auto 1fr; justify-self: start; }
.custom-player-attributes .custom-penalty-taker input { width: 16px; }
.custom-team-creator-actions { z-index: 3; justify-content: flex-end; border-top: 1px solid rgba(135, 151, 184, .16); border-bottom: 0; position: sticky; bottom: 0; background: #121b29; box-shadow: 0 -12px 28px rgba(2, 7, 14, .5); }
.custom-team-creator-actions p { margin-right: auto; color: #ff9a9a; }
.custom-team-delete-button { padding: 10px 14px; color: #ff9f9f; font: inherit; font-weight: 800; border: 1px solid rgba(255, 96, 96, .42); border-radius: 9px; background: rgba(160, 30, 45, .14); cursor: pointer; }
.custom-team-delete-button:hover { color: #fff; border-color: rgba(255, 96, 96, .7); background: rgba(190, 38, 54, .28); }
.mode-card-custom .custom-match-card-button { display: flex; align-items: center; justify-content: space-between; width: 100%; }

.custom-match-builder { width: min(1100px, calc(100% - 32px)); margin: 28px auto; padding: 26px; }
.custom-match-teams { display: grid; grid-template-columns: minmax(0, 1fr) 56px minmax(0, 1fr); align-items: center; gap: 16px; }
.custom-match-team-card { padding: 20px; border: 1px solid rgba(135, 151, 184, .16); border-radius: 14px; background: rgba(10, 15, 24, .54); }
.custom-match-team-card header { display: flex; align-items: center; justify-content: space-between; color: #7f8ba1; font-size: 10px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.custom-match-team-flag,
.custom-match-team-flag img {
  width: 56px;
  height: 38px;
}
.custom-match-team-flag {
  flex: 0 0 56px;
  border-radius: 5px;
}
.custom-match-team-flag.pl-club-flag,
.custom-team-flag.pl-club-flag,
.custom-rating-flag.pl-club-flag {
  border-color: transparent;
  background: transparent;
}
.custom-match-team-flag.pl-club-flag img,
.custom-team-flag.pl-club-flag img,
.custom-rating-flag.pl-club-flag img {
  box-sizing: border-box;
  padding: 2px;
  object-fit: contain;
}
.pl-club-flag {
  border-color: transparent;
  background: transparent;
}
.pl-club-flag img {
  box-sizing: border-box;
  padding: 6px;
  object-fit: contain;
}

/* Compact custom-tournament slots cannot afford the generic club-badge inset:
   six pixels on a 19px row reduced the visible crest to a tiny speck. */
body.custom-tournament-mode-active:not(.before-start) #mainContent :is(
  .custom-group-flag,
  .fixture-flag,
  .custom-fixture-flag,
  .custom-preview-flag,
  .custom-team-flag,
  .custom-rating-flag
).pl-club-flag img {
  padding: 1px;
  object-fit: contain;
}
.flag-orb:has(.pl-club-flag) {
  overflow: visible;
  border-color: transparent;
  background: transparent;
  box-shadow: none;
}
body.custom-match-mode-active:not(.before-start) #mainContent .hero-flag.pl-club-flag img {
  padding: 0;
  object-fit: contain;
}
body.custom-match-mode-active:not(.before-start) #mainContent .team h2.team-name {
  min-height: 2.2em;
  margin-block: 12px 8px;
  line-height: 1.1;
  word-spacing: .08em;
}
@media (min-width: 701px) {
  body.custom-match-mode-active:not(.before-start) .site-footer {
    margin-top: clamp(96px, 12vh, 150px);
    margin-bottom: clamp(42px, 6vh, 72px);
  }
}
body.custom-match-mode-active #roundNav,
body.custom-match-mode-active .golden-boot-panel,
body.custom-match-mode-active #roundBoard {
  display: none !important;
}
.custom-match-team-selectors { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 10px; margin: 14px 0; }
.custom-match-team-selectors label { display: grid; gap: 6px; color: #7f8ba1; font-size: 10px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.custom-match-team-selectors select { width: 100%; min-width: 0; border: 1px solid rgba(143, 161, 196, .24); border-radius: 9px; background: #111824; color: #eef3ff; padding: 11px; font-weight: 700; text-transform: none; }
.custom-match-team-name { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 10px; margin-bottom: 16px; }
.custom-match-team-name strong { font-size: 20px; }
.custom-match-team-actions { display: flex; gap: 6px; }
.custom-match-team-actions button { min-height: 32px; padding: 0 9px; border: 1px solid rgba(111, 142, 255, .38); border-radius: 7px; color: #b9c9ff; background: rgba(79, 112, 230, .1); font: inherit; font-size: 10px; font-weight: 850; cursor: pointer; }
.custom-match-team-actions button:hover { border-color: rgba(132, 159, 255, .68); color: #fff; background: rgba(79, 112, 230, .2); }
.custom-match-team-actions button.is-danger { border-color: rgba(255, 96, 96, .34); color: #ffaaaa; background: rgba(160, 30, 45, .1); }
.custom-match-team-actions button.is-danger:hover { border-color: rgba(255, 96, 96, .65); color: #fff; background: rgba(190, 38, 54, .24); }
.custom-match-team-card .custom-rating-grid { grid-template-columns: repeat(5, minmax(54px, 1fr)); }
.custom-match-team-card .custom-rating-grid label { min-width: 0; }
.custom-match-team-card .custom-rating-grid input { width: 100%; }
.custom-match-reset-ratings { margin-top: 13px; border: 0; background: transparent; color: #849cff; font-size: 11px; font-weight: 800; cursor: pointer; }
.custom-match-versus { color: #789cff; font-size: 18px; font-weight: 950; text-align: center; }
.custom-match-error { color: #ff9a9a; text-align: center; font-weight: 700; }
.custom-match-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 20px; padding-top: 20px; border-top: 1px solid rgba(135, 151, 184, .14); }

@media (max-width: 760px) {
  .custom-match-screen .custom-tournament-header { gap: 0; padding-bottom: 8px; }
  .custom-match-screen .custom-header-toolbar { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 6px; }
  .custom-match-screen .custom-back-button,
  .custom-match-screen .custom-preset-actions > button:nth-child(1),
  .custom-match-screen .custom-preset-actions > button:nth-child(2),
  .custom-match-screen .custom-preset-actions .custom-header-start { grid-row: 1; min-height: 42px; padding: 0 9px; font-size: 10px; white-space: nowrap; }
  .custom-match-screen .custom-back-button { grid-column: 1; }
  .custom-match-screen .custom-preset-actions > button:nth-child(1) { grid-column: 2; }
  .custom-match-screen .custom-preset-actions > button:nth-child(2),
  .custom-match-screen .custom-preset-actions .custom-header-start { grid-column: 3; }
  .custom-match-back-label-full,
  .custom-match-create-label-full { display: none; }
  .custom-match-back-label-short,
  .custom-match-create-label-short { display: inline; }
  .custom-team-creator-modal { align-items: end; padding: 0; }
  .custom-team-creator { width: 100%; max-height: 94dvh; border-radius: 16px 16px 0 0; }
  .custom-team-creator-header { padding: 17px 16px; }
  .custom-team-ratings-section,
  .custom-player-builder { padding-inline: 16px; }
  .custom-team-identity { grid-template-columns: 72px 1fr; }
  .custom-flag-upload { grid-column: 1 / -1; }
  .custom-player-main-fields { grid-template-columns: 24px minmax(120px, 1fr) 70px 76px 28px; gap: 5px; }
  .custom-player-attributes { grid-template-columns: repeat(2, minmax(90px, 1fr)); }
  .custom-match-teams { grid-template-columns: 1fr; }
  .custom-match-versus { padding: 0; }
  .custom-match-options { grid-template-columns: 1fr; }
  .custom-match-team-card .custom-rating-grid { grid-template-columns: repeat(3, minmax(60px, 1fr)); }
  .custom-match-team-selectors { grid-template-columns: 1fr; }
}

@media (min-width: 761px) {
  .custom-match-back-label-short,
  .custom-match-create-label-short { display: none; }
}

/* Custom flags use a single cropped 3:2 presentation everywhere. */
.custom-uploaded-flag {
  box-sizing: border-box;
  overflow: hidden;
  border: 0;
  border-radius: 5px;
  background: transparent;
  box-shadow: none;
}

.custom-uploaded-flag.custom-uploaded-badge {
  width: auto;
  aspect-ratio: 1;
  border-radius: 7px;
}

.custom-uploaded-flag img,
.custom-team-flag-preview img {
  width: 100%;
  height: 100%;
  padding: 0;
  object-fit: cover;
}

.custom-team-flag-preview.is-square {
  aspect-ratio: 1;
}

.custom-team-flag-preview:has(img) {
  border-color: transparent;
  background: transparent;
  box-shadow: none;
}

.custom-flag-crop-editor {
  position: fixed;
  z-index: 2200;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 18px;
}

.custom-flag-crop-backdrop {
  position: absolute;
  inset: 0;
  border: 0;
  background: rgba(2, 7, 14, .9);
  backdrop-filter: blur(7px);
}

.custom-flag-crop-panel {
  position: relative;
  z-index: 1;
  width: min(560px, calc(100vw - 32px));
  overflow: hidden;
  border: 1px solid #3a4c69;
  border-radius: 16px;
  color: #eef3ff;
  background: #0d1521;
  box-shadow: 0 30px 100px rgba(0, 0, 0, .72);
}

.custom-flag-crop-panel > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding: 20px 22px 16px;
}

.custom-flag-crop-panel > header span {
  color: #789cff;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .16em;
}

.custom-flag-crop-panel > header h3 {
  margin: 4px 0 3px;
  font-size: 22px;
}

.custom-flag-crop-panel > header p {
  margin: 0;
  color: #8f9bb1;
  font-size: 12px;
}

.custom-flag-crop-panel > header > button {
  border: 0;
  color: #aeb7c9;
  background: transparent;
  font-size: 27px;
  cursor: pointer;
}

.custom-flag-crop-shapes {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
  padding: 0 22px 16px;
}

.custom-flag-crop-shapes button {
  display: grid;
  grid-template-columns: 36px auto 1fr;
  align-items: center;
  gap: 9px;
  min-height: 48px;
  padding: 8px 11px;
  border: 1px solid rgba(143, 161, 196, .22);
  border-radius: 10px;
  color: #aeb9cc;
  background: #121c2a;
  text-align: left;
  cursor: pointer;
}

.custom-flag-crop-shapes button > span {
  display: block;
  width: 32px;
  aspect-ratio: 3 / 2;
  border: 1px solid currentColor;
  border-radius: 4px;
  background: rgba(120, 156, 255, .12);
}

.custom-flag-crop-shapes button[data-crop-shape="square"] > span {
  width: 25px;
  aspect-ratio: 1;
  justify-self: center;
  border-radius: 6px;
}

.custom-flag-crop-shapes button strong { font-size: 12px; }
.custom-flag-crop-shapes button small { justify-self: end; color: #6f7e96; font-size: 10px; }
.custom-flag-crop-shapes button.active {
  border-color: #789cff;
  color: #eef3ff;
  background: rgba(84, 117, 226, .2);
  box-shadow: inset 0 0 0 1px rgba(120, 156, 255, .18);
}

.custom-flag-crop-shapes button.active small { color: #9fb5ff; }

.custom-flag-crop-canvas-wrap {
  position: relative;
  width: calc(100% - 44px);
  aspect-ratio: 3 / 2;
  margin: 0 22px;
  overflow: hidden;
  border: 1px solid rgba(196, 211, 239, .4);
  border-radius: 12px;
  background-color: #202a39;
  background-image: linear-gradient(45deg, rgba(255, 255, 255, .055) 25%, transparent 25%), linear-gradient(-45deg, rgba(255, 255, 255, .055) 25%, transparent 25%), linear-gradient(45deg, transparent 75%, rgba(255, 255, 255, .055) 75%), linear-gradient(-45deg, transparent 75%, rgba(255, 255, 255, .055) 75%);
  background-position: 0 0, 0 8px, 8px -8px, -8px 0;
  background-size: 16px 16px;
  box-shadow: 0 12px 30px rgba(0, 0, 0, .3);
}

.custom-flag-crop-canvas-wrap.is-square {
  width: min(380px, calc(100% - 44px));
  aspect-ratio: 1;
  margin-inline: auto;
}

.custom-flag-crop-canvas-wrap canvas {
  display: block;
  width: 100%;
  height: 100%;
  cursor: grab;
  touch-action: none;
}

.custom-flag-crop-canvas-wrap canvas.is-dragging { cursor: grabbing; }

.custom-flag-crop-canvas-wrap > span {
  position: absolute;
  pointer-events: none;
  inset: 0;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: inherit;
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .2);
}

.custom-flag-crop-zoom {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 14px;
  padding: 18px 22px;
  color: #b7c2d6;
  font-size: 11px;
  font-weight: 850;
}

.custom-flag-crop-zoom input {
  width: 100%;
  accent-color: #789cff;
}

.custom-flag-crop-panel > footer {
  display: flex;
  justify-content: flex-end;
  gap: 9px;
  padding: 15px 22px 20px;
  border-top: 1px solid rgba(135, 151, 184, .14);
}

@media (max-width: 560px) {
  .custom-flag-crop-editor { align-items: end; padding: 0; }
  .custom-flag-crop-panel { width: 100%; border-radius: 16px 16px 0 0; }
  .custom-flag-crop-panel > header { padding: 18px 16px 14px; }
  .custom-flag-crop-shapes { padding-inline: 16px; }
  .custom-flag-crop-canvas-wrap { width: calc(100% - 32px); margin-inline: 16px; }
  .custom-flag-crop-canvas-wrap.is-square { width: min(340px, calc(100% - 32px)); margin-inline: auto; }
  .custom-flag-crop-zoom { padding-inline: 16px; }
  .custom-flag-crop-panel > footer { padding-inline: 16px; }
}

/* Complete light theme for the custom tournament builder and its editors. */
html.light-mode body.custom-tournament-mode-active {
  color: #172033;
}

html.light-mode body.custom-tournament-mode-active :is(
  .custom-workspace-panel,
  .custom-team-library,
  .custom-builder-group,
  .custom-third-place-preview,
  .custom-live-group,
  .custom-rating-team-list,
  .custom-rating-editor,
  .custom-team-creator
) {
  border-color: #d8e0ea;
  color: #172033;
  background: #ffffff;
}

html.light-mode body.custom-tournament-mode-active :is(
  .custom-panel-heading h2,
  .custom-library-heading strong,
  .custom-builder-group > header strong,
  .custom-slot-copy strong,
  .custom-library-team strong,
  .custom-third-place-preview > header strong,
  .custom-rating-team-list button,
  .custom-rating-editor h3,
  .custom-team-picker-list strong,
  .custom-manager-picker-panel strong,
  .custom-match-teams strong,
  .custom-team-creator h2,
  .custom-team-creator h3,
  .custom-account-save-option strong,
  .custom-live-group > header strong
) {
  color: #172033;
  font-weight: 800;
}

html.light-mode body.custom-tournament-mode-active :is(
  .custom-config-group > span,
  .custom-quick-fill > span,
  .custom-source-select > span,
  .custom-library-heading span,
  .custom-builder-group > header span,
  .custom-slot-copy small,
  .custom-seed-number,
  .custom-third-place-preview > header span,
  .custom-third-place-preview > div span,
  .custom-rating-editor p,
  .custom-rating-grid label span,
  .custom-team-picker-tools label > span,
  .custom-team-picker-list small,
  .custom-manager-picker-panel small,
  .custom-match-teams small,
  .custom-rule-fields label > span,
  .custom-team-creator-header p,
  .custom-team-identity label,
  .custom-flag-upload small,
  .custom-player-help,
  .custom-player-main-fields label,
  .custom-player-attributes label,
  .custom-player-row summary,
  .custom-account-save-option small,
  .custom-live-group > header,
  .custom-live-group > div
) {
  color: #526178;
  font-weight: 700;
}

html.light-mode body.custom-tournament-mode-active :is(
  .custom-draw-toolbar,
  .custom-library-heading,
  .custom-builder-group > header,
  .custom-team-picker-tools,
  .custom-team-creator-header,
  .custom-team-creator-actions
) {
  border-color: #dfe5ed;
  background: #f7f9fc;
}

html.light-mode body.custom-tournament-mode-active :is(
  .custom-inline-actions button,
  .custom-panel-heading > button,
  .custom-ratings-toolbar button,
  .custom-goal-script-heading button,
  .custom-library-heading > button,
  .custom-library-team > button,
  .custom-library-team .custom-library-edit,
  .custom-group-fixture-editor article > header button,
  .custom-team-picker-panel > header button,
  .custom-manager-picker-panel > header button,
  .custom-match-rule-editor > header button,
  .custom-section-title button
) {
  border: 1px solid #c8d3e1;
  color: #31558f;
  background: #ffffff;
  font-weight: 800;
}

html.light-mode body.custom-tournament-mode-active :is(
  .custom-inline-actions button,
  .custom-panel-heading > button,
  .custom-ratings-toolbar button,
  .custom-goal-script-heading button,
  .custom-library-heading > button,
  .custom-library-team > button,
  .custom-group-fixture-editor article > header button,
  .custom-team-picker-list > button,
  .custom-manager-picker-panel > div > button,
  .custom-section-title button
):hover {
  border-color: #7f9fdf;
  color: #244f9d;
  background: #edf3ff;
}

html.light-mode body.custom-tournament-mode-active :is(
  .custom-quick-fill select,
  .custom-source-select select,
  .custom-team-picker-tools select,
  .custom-team-picker-tools input,
  .custom-rating-grid input,
  .custom-rule-fields input[type="number"],
  .custom-score-script input,
  .custom-score-script select,
  .custom-winner-select select,
  .custom-goal-row input,
  .custom-goal-row select,
  .custom-team-identity input,
  .custom-player-row input,
  .custom-player-row select
) {
  border: 1px solid #c8d3e1;
  color: #172033;
  background: #ffffff;
  font-weight: 700;
}

html.light-mode body.custom-tournament-mode-active :is(
  .custom-search,
  .custom-picker-search
) {
  border-color: #c8d3e1;
  color: #315fbd;
  background: #f7f9fc;
}

html.light-mode body.custom-tournament-mode-active :is(
  .custom-search input,
  .custom-picker-search input
) {
  color: #172033;
  background: transparent;
  font-weight: 700;
}

html.light-mode body.custom-tournament-mode-active :is(
  .custom-search input,
  .custom-picker-search input
)::placeholder {
  color: #68768a;
  opacity: 1;
}

html.light-mode body.custom-tournament-mode-active :is(
  .custom-source-select,
  .custom-team-library-list,
  .custom-library-team,
  .custom-seed-slot,
  .custom-third-place-preview > header,
  .custom-third-place-preview > div span,
  .custom-rating-team-list button,
  .custom-rating-editor > header,
  .custom-team-picker-panel > header,
  .custom-team-picker-tools,
  .custom-team-picker-list > button,
  .custom-manager-picker-panel > header,
  .custom-manager-picker-panel > div > button,
  .custom-team-ratings-section,
  .custom-player-builder,
  .custom-player-row,
  .custom-player-row details,
  .custom-account-save-option,
  .custom-live-group > header,
  .custom-live-group > div,
  .custom-group-knockout-stage
) {
  border-color: #dfe5ed;
}

html.light-mode body.custom-tournament-mode-active .custom-slot-main {
  color: #172033;
}

html.light-mode body.custom-tournament-mode-active .custom-slot-main:hover,
html.light-mode body.custom-tournament-mode-active .custom-seed-slot.is-target {
  background: #edf3ff;
}

html.light-mode body.custom-tournament-mode-active .custom-slot-actions button {
  color: #526178;
}

html.light-mode body.custom-tournament-mode-active .custom-direct-actions button {
  color: #31558f;
  font-weight: 800;
}

html.light-mode body.custom-tournament-mode-active .custom-slot-actions button:hover {
  color: #244f9d;
  background: #edf3ff;
}

html.light-mode body.custom-tournament-mode-active .custom-direct-actions button:hover {
  color: #244f9d;
  background: #edf3ff;
}

html.light-mode body.custom-tournament-mode-active .custom-bracket-edit-round > header span {
  color: #526178;
  font-weight: 700;
}

html.light-mode body.custom-tournament-mode-active .custom-third-place-toggle {
  border-color: #c8d3e1;
  color: #344158;
  background: #ffffff;
  font-weight: 750;
}

html.light-mode body.custom-tournament-mode-active .custom-third-place-toggle:hover {
  color: #244f9d;
  background: #edf3ff;
}

html.light-mode body.custom-tournament-mode-active .custom-third-place-toggle.active {
  border-color: #426fda;
  color: #ffffff;
  background: #426fda;
}

html.light-mode body.custom-tournament-mode-active .custom-third-place-toggle.active i {
  background: #ffffff;
}

html.light-mode body.custom-tournament-mode-active .custom-third-place-toggle.active i::after {
  background: #315fbd;
}

html.light-mode body.custom-tournament-mode-active :is(
  .custom-manager-control > button small,
  .custom-manager-control > button > i,
  .custom-setup-more summary
) {
  color: #526178;
  font-weight: 700;
}

html.light-mode body.custom-tournament-mode-active .custom-group-fixture-editor {
  border-color: #dfe5ed;
  background: #dfe5ed;
}

html.light-mode body.custom-tournament-mode-active .custom-group-fixture-editor article {
  color: #172033;
  background: #ffffff;
}

html.light-mode body.custom-tournament-mode-active .custom-group-fixture-editor article > header {
  color: #526178;
}

html.light-mode body.custom-tournament-mode-active .custom-group-fixture-editor article > div {
  color: #172033;
  font-weight: 750;
}

html.light-mode body.custom-tournament-mode-active :is(
  .custom-group-fixture-editor article > footer,
  .custom-bracket-edit-match > footer,
  .custom-target-note,
  .custom-rating-team-list button > strong
) {
  color: #315fbd;
  font-weight: 800;
}

html.light-mode body.custom-tournament-mode-active :is(
  .custom-team-picker-list > button,
  .custom-manager-picker-panel > div > button
) {
  color: #172033;
  background: #ffffff;
}

html.light-mode body.custom-tournament-mode-active .custom-manager-picker-panel > div > button.active,
html.light-mode body.custom-tournament-mode-active .custom-rating-team-list button.active {
  color: #172033;
  background: #e8f0ff;
  box-shadow: inset 3px 0 #426fda;
}

html.light-mode body.custom-tournament-mode-active .custom-team-picker-list i {
  color: #244f9d;
  background: #e8f0ff;
}

html.light-mode body.custom-tournament-mode-active .custom-rating-editor {
  background: #f8fafc;
}

html.light-mode body.custom-tournament-mode-active .custom-match-teams {
  border-color: #dfe5ed;
  color: #172033;
  background: #f7f9fc;
}

html.light-mode body.custom-tournament-mode-active .custom-match-teams article {
  color: #172033;
}

html.light-mode body.custom-tournament-mode-active .custom-match-teams > b {
  color: #526178;
}

html.light-mode body.custom-tournament-mode-active .custom-fixed-toggle {
  color: #344158;
  font-weight: 750;
}

html.light-mode body.custom-tournament-mode-active .custom-fixed-result-fields {
  border: 1px solid #dfe5ed;
  background: #f7f9fc;
}

html.light-mode body.custom-tournament-mode-active .custom-match-rule-editor .secondary-button,
html.light-mode body.custom-tournament-mode-active .custom-team-creator .secondary-button {
  border-color: #c8d3e1;
  color: #31558f;
  background: #ffffff;
}

html.light-mode body.custom-tournament-mode-active .custom-team-flag-preview {
  border-color: #c8d3e1;
  background: #f1f4f8;
}

html.light-mode body.custom-tournament-mode-active .custom-player-row {
  color: #172033;
  background: #ffffff;
}

html.light-mode body.custom-tournament-mode-active .custom-player-main-fields > button {
  color: #526178;
}

html.light-mode body.custom-tournament-mode-active .custom-account-save-option {
  color: #172033;
}

html.light-mode body.custom-tournament-mode-active :is(
  .custom-team-flag,
  .custom-rating-flag,
  .custom-fixture-flag,
  .custom-manager-button-flag,
  .custom-preview-flag,
  .custom-match-team-flag
) {
  border-color: transparent;
  background: transparent;
  box-shadow: none;
}

html.light-mode body.custom-tournament-mode-active .custom-live-group > div.qualified {
  color: #172033;
  background: #edf3ff;
  box-shadow: inset 3px 0 #426fda;
}

html.light-mode body.custom-tournament-mode-active .custom-live-group > div > b {
  color: #526178;
  background: #f1f4f8;
}

html.light-mode body.custom-tournament-mode-active :is(
  .custom-team-picker-panel > header h3,
  .custom-manager-picker-panel > header h3
) {
  color: #172033;
  font-weight: 800;
}

html.light-mode body.custom-tournament-mode-active :is(
  .custom-team-picker-panel > header span,
  .custom-manager-picker-panel > header span,
  .custom-match-rule-editor > header span,
  .custom-team-creator-header span,
  .custom-section-title > div > span
) {
  color: #315fbd;
}

html.light-mode body.custom-tournament-mode-active :is(.header-donate-link, .header-donate-link span) {
  color: #ffffff !important;
}

/* Running custom tournaments reuse the standard match UI. Keep every shared
   match, table and fixture surface in the same complete light palette. */
html.light-mode body.custom-tournament-mode-active:not(.before-start) :is(
  .match-stage,
  .round-board,
  .panel,
  .match-analysis,
  .standard-match-tactics,
  .story-card
) {
  border-color: #d8e0ea;
  color: #172033;
  background: #ffffff;
  box-shadow: 0 12px 34px rgba(29, 45, 70, 0.09);
}

html.light-mode body.custom-tournament-mode-active:not(.before-start) :is(
  .team,
  .fixture,
  .live-feed-item,
  .queue-item,
  .plot-item,
  .match-stat-row
) {
  border-color: #dfe5ed;
  color: #344158;
  background: #f8f9fc;
}

html.light-mode body.custom-tournament-mode-active:not(.before-start) :is(
  .fixture.complete,
  .live-feed-item:nth-child(n + 3)
) {
  background: #f2f5f9;
}

html.light-mode body.custom-tournament-mode-active:not(.before-start) :is(
  .fixture.selected,
  .queue-item.current,
  .spoiler-panel
) {
  border-color: #8ca9eb;
  background: #eaf1ff;
  box-shadow: 0 0 0 2px rgba(49, 95, 189, 0.08);
}

html.light-mode body.custom-tournament-mode-active:not(.before-start) :is(
  .match-events,
  .live-sim,
  .standard-tactic-buttons,
  .match-highlight-mode
) {
  border-color: #d8e0ea;
  color: #172033;
  background: #f5f7fa;
}

html.light-mode body.custom-tournament-mode-active:not(.before-start) :is(
  .fixture-team,
  .fixture-team .name,
  .queue-team,
  .event,
  .live-label,
  .text-button
) {
  color: #46556b;
  font-weight: 700;
}

html.light-mode body.custom-tournament-mode-active:not(.before-start) :is(
  .team-name,
  .match-score,
  .fixture-team b,
  .fixture-team.winner .name,
  .fixture-team.winner b,
  .match-analysis-heading strong,
  .panel-heading strong,
  #stageRoundLabel,
  #boardTitle
) {
  color: #172033;
  font-weight: 800;
}

html.light-mode body.custom-tournament-mode-active:not(.before-start) :is(
  .legacy-topbar-back,
  .search,
  .overview-search,
  .live-control,
  .load-more,
  .ghost-button,
  .standard-tactic-buttons button:not(.active),
  .match-highlight-mode button:not(.active),
  .snapshot-trigger,
  .go-to-top
) {
  border-color: #cbd5e3;
  color: #344158;
  background: #ffffff;
  font-weight: 700;
}

html.light-mode body.custom-tournament-mode-active:not(.before-start) .legacy-topbar-back > span:first-child {
  color: #315fbd;
}

html.light-mode body.custom-tournament-mode-active:not(.before-start) .matchup > .team {
  border-color: transparent;
  background: transparent;
  box-shadow: none;
}

html.light-mode body.custom-tournament-mode-active:not(.before-start) .team-filter-search {
  border: 1px solid #cbd5e3;
  color: #315fbd;
  background: #ffffff;
}

html.light-mode body.custom-tournament-mode-active:not(.before-start) .team-filter-search:focus-within {
  border-color: #6f95ed;
  background: #ffffff;
  box-shadow: 0 0 0 3px rgba(49, 95, 189, 0.12);
}

html.light-mode body.custom-tournament-mode-active:not(.before-start) .team-filter-search input {
  color: #172033;
  font-weight: 700;
}

html.light-mode body.custom-tournament-mode-active:not(.before-start) .team-filter-search input::placeholder {
  color: #637188;
  opacity: 1;
}

html.light-mode body.custom-tournament-mode-active:not(.before-start) .team-filter-control .search-result-popover {
  border: 1px solid #d7dee8;
  color: #172033;
  background: #ffffff;
  box-shadow: 0 18px 46px rgba(29, 45, 70, 0.16);
}

html.light-mode body.custom-tournament-mode-active:not(.before-start) .team-filter-control .search-result {
  border-bottom-color: #e3e8ef;
  color: #172033;
  background: #ffffff;
  font-weight: 700;
}

html.light-mode body.custom-tournament-mode-active:not(.before-start) .team-filter-control .search-result small {
  color: #526178;
  font-weight: 700;
}

html.light-mode body.custom-tournament-mode-active:not(.before-start) .history-round-button {
  border: 1px solid #cbd5e3;
  color: #29466f;
  background: #ffffff;
}

html.light-mode body.custom-tournament-mode-active:not(.before-start) #simulateRoundButton {
  border: 1px solid #315fbd;
  color: #ffffff;
  background: #315fbd;
}

html.light-mode body.custom-tournament-mode-active:not(.before-start) #unresolvedFilter {
  min-height: 34px;
  padding-inline: 11px;
  border: 1px solid #d8dee8;
  border-radius: 8px;
  color: #46556b;
  background: #f5f7fa;
}

html.light-mode body.custom-tournament-mode-active:not(.before-start) #unresolvedFilter.active {
  border-color: #b8c9ef;
  color: #244f9d;
  background: #edf3ff;
}

html.light-mode body.custom-tournament-mode-active:not(.before-start) #goldenBootTitle {
  color: #8a5a00;
  font-weight: 800;
}

html.light-mode body.custom-tournament-mode-active:not(.before-start) :is(
  .fixture-meta,
  .fixture-card-head,
  .fixture-card-head small,
  .team .seed,
  .venue,
  .result-note,
  .match-stat-row span,
  .plot-item p,
  .empty-story p,
  .golden-boot-empty,
  .golden-boot-empty p,
  .stage-topline,
  #standardTacticOpponent,
  #standardTacticFeedback
) {
  color: #526178;
  font-weight: 700;
}

html.light-mode body.custom-tournament-mode-active:not(.before-start) .match-stats-grid {
  border-bottom-color: #e2e7ee;
  background: #ffffff;
}

html.light-mode body.custom-tournament-mode-active:not(.before-start) .match-stat-row {
  color: #344158;
  background: #f7f9fc;
}

html.light-mode body.custom-tournament-mode-active:not(.before-start) .match-stat-row b {
  color: #1f2b40;
  font-weight: 800;
}

html.light-mode body.custom-tournament-mode-active:not(.before-start) .golden-boot-row {
  border-bottom-color: #e2e7ee;
  background: #ffffff;
}

html.light-mode body.custom-tournament-mode-active:not(.before-start) .golden-boot-rank {
  color: #526178;
  font-weight: 700;
}

html.light-mode body.custom-tournament-mode-active:not(.before-start) .golden-boot-player strong {
  color: #172033;
  font-weight: 800;
}

html.light-mode body.custom-tournament-mode-active:not(.before-start) .golden-boot-player small {
  color: #536078;
  font-weight: 700;
}

html.light-mode body.custom-tournament-mode-active:not(.before-start) :is(
  .golden-boot-row > b,
  .golden-boot-row.leader > b,
  .golden-boot-row.leader .golden-boot-rank
) {
  color: #315fbd;
  font-weight: 800;
}

html.light-mode body.custom-tournament-mode-active:not(.before-start) .custom-live-group > div > span {
  color: #172033;
  font-weight: 800;
}

html.light-mode body.custom-tournament-mode-active:not(.before-start) .custom-group-fixture-heading {
  border-color: #d8e0ea;
  color: #172033;
}

html.light-mode body.custom-tournament-mode-active:not(.before-start) .custom-group-fixture-heading strong {
  color: #172033;
  font-weight: 800;
}

html.light-mode body.custom-tournament-mode-active:not(.before-start) .custom-group-fixture-heading span {
  color: #526178;
  font-weight: 700;
}

html.light-mode body.custom-tournament-mode-active:not(.before-start) :is(
  .hero-flag,
  .fixture-flag,
  .custom-group-flag,
  .live-feed-flag,
  .queue-flag,
  .search-flag
) {
  border-color: transparent;
  background: transparent;
  box-shadow: none;
}

@media (hover: hover) and (pointer: fine) {
  html.light-mode body.custom-tournament-mode-active:not(.before-start) :is(
    .fixture,
    .legacy-topbar-back,
    .live-control,
    .standard-tactic-buttons button:not(.active),
    .team-filter-control .search-result,
    .history-round-button,
    #unresolvedFilter,
    .snapshot-trigger,
    .go-to-top
  ):hover {
    border-color: #9bb5f5;
    color: #244f9d;
    background: #edf3ff;
  }

  html.light-mode body.custom-tournament-mode-active:not(.before-start) #simulateRoundButton:hover {
    color: #ffffff;
    background: #244f9d;
  }
}

/* Shared light dialogs and settings controls outside branded competitions. */
html.light-mode body:not(.retro-mode-active):not(.pl-match-mode-active):not(.ucl-match-mode-active) :is(
  .modal,
  .confirm-modal,
  .snapshot-modal,
  .settings-modal
) .secondary-button {
  border: 1px solid #c8d3e1;
  color: #31558f;
  background: #ffffff;
  font-weight: 800;
}

html.light-mode body:not(.retro-mode-active):not(.pl-match-mode-active):not(.ucl-match-mode-active) :is(
  .modal,
  .confirm-modal,
  .snapshot-modal,
  .settings-modal
) .danger-button {
  border: 1px solid #d8a7ad;
  color: #a32638;
  background: #fff3f4;
  font-weight: 800;
}

html.light-mode body:not(.retro-mode-active):not(.pl-match-mode-active):not(.ucl-match-mode-active) .settings-keybind-button {
  border: 1px solid #c8d3e1;
  color: #344158;
  background: #ffffff;
  font-weight: 800;
}

@media (hover: hover) and (pointer: fine) {
  html.light-mode body:not(.retro-mode-active):not(.pl-match-mode-active):not(.ucl-match-mode-active) :is(
    .modal,
    .confirm-modal,
    .snapshot-modal,
    .settings-modal
  ) .secondary-button:hover,
  html.light-mode body:not(.retro-mode-active):not(.pl-match-mode-active):not(.ucl-match-mode-active) .settings-keybind-button:hover {
    border-color: #9bb5f5;
    color: #244f9d;
    background: #edf3ff;
  }
}

/* Live custom-tournament presentation needs its own light treatment. The clock
   and commentary are rendered only while a match is playing, so they are not
   covered by the static match-card selectors above. */
html.light-mode body.custom-tournament-mode-active:not(.before-start) .event-live-clock {
  min-width: 86px;
  padding: 6px 10px;
  border: 1px solid #d8e0ea;
  border-radius: 10px;
  color: #172033;
  background: #f7f9fc;
}

html.light-mode body.custom-tournament-mode-active:not(.before-start) .event-live-clock > span {
  color: #315fbd;
  font-weight: 900;
}

html.light-mode body.custom-tournament-mode-active:not(.before-start) .event-live-clock strong,
html.light-mode body.custom-tournament-mode-active:not(.before-start) .live-clock {
  color: #101a2e;
  font-weight: 800;
  text-shadow: none;
}

html.light-mode body.custom-tournament-mode-active:not(.before-start) .event-live-clock small {
  color: #526178;
  font-weight: 800;
}

html.light-mode body.custom-tournament-mode-active:not(.before-start) .match-commentary-feed {
  border-color: #cbd5e3;
  color: #172033;
  background: #f7f9fc;
  box-shadow: inset 4px 0 #426fda;
}

html.light-mode body.custom-tournament-mode-active:not(.before-start) .match-commentary-feed :is(
  .commentary-line,
  .commentary-line span,
  .commentary-line.heading span
) {
  color: #1f2b40;
  font-weight: 750;
}

html.light-mode body.custom-tournament-mode-active:not(.before-start) .match-commentary-feed.is-major {
  border-color: #8ca9eb;
  background: #eaf1ff;
}

html.light-mode body.custom-tournament-mode-active:not(.before-start) .match-commentary-feed.is-major .commentary-line span {
  color: #172033;
  font-weight: 850;
}

@keyframes customLightGoalFlashBg {
  0% { background: var(--goal-flash-color, #426fda); }
  100% { background: #f7f9fc; }
}

html.light-mode body.custom-tournament-mode-active:not(.before-start) .match-commentary-feed.is-goal-flash {
  animation: goalPulse 0.5s ease-in-out 2, customLightGoalFlashBg 0.9s ease-out forwards !important;
}

/* Brazil 2014 keeps its watercolor stadium artwork in both appearances. Other
   retro editions have their own explicit year classes and remain untouched. */
html.light-mode body.retro-mode-active:not(.retro-2002-active):not(.retro-2006-active):not(.retro-2010-active):not(.retro-euro-2016-active):not(.retro-2018-active):not(.retro-2022-active):not(.retro-2026-active) {
  color: #f7f4cf;
  background:
    linear-gradient(rgba(3, 73, 42, 0.22), rgba(0, 49, 38, 0.48)),
    url("./assets/retro-2014/brazil-watercolor-stadium.webp") center top / cover fixed no-repeat;
}

html.light-mode body.retro-mode-active:not(.retro-2002-active):not(.retro-2006-active):not(.retro-2010-active):not(.retro-euro-2016-active):not(.retro-2018-active):not(.retro-2022-active):not(.retro-2026-active) .retro-tournament-screen {
  color: #f7f4cf;
  background:
    linear-gradient(180deg, rgba(2, 60, 35, 0.16), rgba(0, 43, 34, 0.54)),
    transparent;
}

/* The regular 256-team tournament uses standard-mode-active rather than the
   custom tournament body class. Mirror the complete live light treatment. */
html.light-mode body.standard-mode-active:not(.before-start) .event-live-clock {
  min-width: 86px;
  padding: 6px 10px;
  border: 1px solid #d8e0ea;
  border-radius: 10px;
  color: #172033;
  background: #f7f9fc;
}

html.light-mode body.standard-mode-active:not(.before-start) .event-live-clock > span {
  color: #315fbd;
  font-weight: 900;
}

html.light-mode body.standard-mode-active:not(.before-start) .event-live-clock strong,
html.light-mode body.standard-mode-active:not(.before-start) .live-clock {
  color: #101a2e;
  font-weight: 800;
  text-shadow: none;
}

html.light-mode body.standard-mode-active:not(.before-start) .event-live-clock small {
  color: #526178;
  font-weight: 800;
}

html.light-mode body.standard-mode-active:not(.before-start) .match-commentary-feed {
  border-color: #cbd5e3;
  color: #172033;
  background: #f7f9fc;
  box-shadow: inset 4px 0 #426fda;
}

html.light-mode body.standard-mode-active:not(.before-start) .match-commentary-feed :is(
  .commentary-line,
  .commentary-line span,
  .commentary-line.heading span
) {
  color: #1f2b40;
  font-weight: 750;
}

html.light-mode body.standard-mode-active:not(.before-start) .match-commentary-feed.is-major {
  border-color: #8ca9eb;
  background: #eaf1ff;
}

html.light-mode body.standard-mode-active:not(.before-start) .match-commentary-feed.is-major .commentary-line span {
  color: #172033;
  font-weight: 850;
}

html.light-mode body.standard-mode-active:not(.before-start) .match-commentary-feed.is-goal-flash {
  animation: goalPulse 0.5s ease-in-out 2, customLightGoalFlashBg 0.9s ease-out forwards !important;
}

/* Goalscorers are primary match information: keep player names substantially
   heavier than the supporting minute and event metadata in light mode. */
html.light-mode body:is(.standard-mode-active, .custom-tournament-mode-active):not(.before-start) :is(
  .team-match-events .goal-event span,
  .golden-boot-player strong
) {
  color: #172033;
  font-weight: 850;
}

html.light-mode body:is(.standard-mode-active, .custom-tournament-mode-active):not(.before-start) .team-match-events .goal-event b {
  color: #315fbd;
  font-weight: 800;
}

/* One-off custom matches add a second, route-specific body class. Lock the
   scorer name to near-black after that route's component cascade. */
html.light-mode body.custom-match-mode-active:not(.before-start) :is(
  .team-match-events .timeline-event.goal-event span,
  .team-match-events .event.goal-event span
) {
  color: #101010 !important;
  font-weight: 900 !important;
  opacity: 1 !important;
}

/* Penalty takers use a separate shootout summary rather than goal-event rows. */
html.light-mode body:is(.standard-mode-active, .custom-tournament-mode-active):not(.before-start) .shootout-summary-row,
html.light-mode body:is(.standard-mode-active, .custom-tournament-mode-active):not(.before-start) .shootout-summary-row span {
  color: #101010 !important;
  font-weight: 900 !important;
  opacity: 1 !important;
}

/* Shared selector and custom-builder access for the persistent match-screen
   edition themes. The real competition skins load last in match-themes.css. */
.tournament-theme-setting {
  display: grid;
  gap: 12px;
  margin-top: 12px;
  padding: 16px;
  border: 1px solid #253244;
  border-radius: 10px;
  background: #0d141f;
}

.tournament-theme-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.tournament-theme-heading > div {
  display: grid;
  gap: 4px;
}

.tournament-theme-heading strong {
  color: #f1f4f9;
  font-size: 15px;
}

.tournament-theme-heading small {
  color: #8792a5;
  font-size: 10px;
}

.tournament-theme-heading > span {
  padding: 5px 8px;
  border: 1px solid #34445d;
  border-radius: 999px;
  color: #b9c9e4;
  background: #151e2c;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
  white-space: nowrap;
}

.tournament-theme-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}

.tournament-theme-options > button {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) 20px;
  align-items: center;
  gap: 10px;
  min-width: 0;
  padding: 10px;
  border: 1px solid #2b3749;
  border-radius: 8px;
  color: #dce4ef;
  text-align: left;
  background: #121a26;
  cursor: pointer;
  transition: border-color 160ms ease, background-color 160ms ease, transform 140ms var(--ease-out);
}

.tournament-theme-options > button:active {
  transform: scale(.98);
}

.tournament-theme-options > button.is-selected {
  border-color: #789cff;
  background: #17243b;
  box-shadow: inset 0 0 0 1px rgba(120, 156, 255, .2);
}

.tournament-theme-options > button > span:nth-child(2) {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.tournament-theme-options strong {
  color: #f3f6fb;
  font-size: 12px;
}

.tournament-theme-options small {
  overflow: hidden;
  color: #8290a5;
  font-size: 9px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tournament-theme-preview {
  position: relative;
  display: block;
  width: 38px;
  height: 38px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 7px;
}

.tournament-theme-preview::before,
.tournament-theme-preview::after,
.tournament-theme-preview i {
  position: absolute;
  content: "";
  border-radius: 999px;
}

.tournament-theme-preview-wc {
  background: linear-gradient(145deg, #0b1424, #1b3a78);
}

.tournament-theme-preview-wc::before {
  inset: 7px 8px 17px 8px;
  background: #79a1ff;
}

.tournament-theme-preview-wc::after {
  right: -5px;
  bottom: -7px;
  width: 26px;
  height: 26px;
  border: 5px solid rgba(244, 163, 64, .85);
}

.tournament-theme-preview-euros {
  background: linear-gradient(145deg, #07162c, #241454 70%, #3b176c);
}

.tournament-theme-preview-euros::before {
  top: -7px;
  right: -6px;
  width: 27px;
  height: 27px;
  border: 5px solid #53e6ff;
}

.tournament-theme-preview-euros::after {
  bottom: 6px;
  left: 6px;
  width: 17px;
  height: 5px;
  background: #a884ff;
  transform: rotate(-28deg);
}

.tournament-theme-check {
  display: grid;
  width: 19px;
  height: 19px;
  place-items: center;
  border: 1px solid #46536a;
  border-radius: 50%;
  color: transparent;
  font-size: 10px;
  font-style: normal;
}

.tournament-theme-options > button.is-selected .tournament-theme-check {
  border-color: #789cff;
  color: #07101d;
  background: #789cff;
}

.custom-header-navigation {
  display: flex;
  align-items: center;
  gap: 7px;
}

.custom-theme-settings-button {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 36px;
  padding: 0 10px;
  border: 1px solid #34445d;
  border-radius: 6px;
  color: #b9c7da;
  background: #101925;
  font: inherit;
  font-size: 10px;
  font-weight: 850;
  cursor: pointer;
  transition: border-color 160ms ease, color 160ms ease, background-color 160ms ease, transform 140ms var(--ease-out);
}

.custom-theme-settings-button:active {
  transform: scale(.97);
}

.custom-theme-settings-icon {
  width: 11px;
  height: 11px;
  border: 3px solid #79a1ff;
  border-radius: 50%;
  box-shadow: 6px -4px 0 -4px #f4a340;
}

html.light-mode .tournament-theme-setting {
  border-color: #d8e0ea;
  background: #f7f9fc;
}

html.light-mode .tournament-theme-heading strong,
html.light-mode .tournament-theme-options strong {
  color: #172033;
}

html.light-mode .tournament-theme-heading small,
html.light-mode .tournament-theme-options small {
  color: #627088;
}

html.light-mode .tournament-theme-options > button {
  border-color: #d4dce8;
  color: #172033;
  background: #fff;
}

html.light-mode .tournament-theme-options > button.is-selected {
  border-color: #426fda;
  background: #edf3ff;
}

html[data-tournament-theme="euros"] {
  --bg: #07162c;
  --panel: #0b1c36;
  --panel-2: #102442;
  --panel-3: #172c50;
  --line: #243b5c;
  --line-strong: #36557e;
  --lime: #53e6ff;
  --lime-dark: #27bdd9;
  --orange: #a884ff;
}

html[data-tournament-theme="euros"].light-mode {
  --panel-3: #e8f9ff;
  --lime: #087f9b;
  --lime-dark: #05677e;
  --orange: #7045c2;
}

html[data-tournament-theme="euros"] body:not(.retro-mode-active):not(.pl-match-mode-active):not(.ucl-match-mode-active) {
  background:
    radial-gradient(circle at 82% 2%, rgba(101, 67, 210, .2), transparent 30rem),
    radial-gradient(circle at 26% 18%, rgba(38, 201, 231, .12), transparent 27rem),
    var(--bg);
}

html[data-tournament-theme="euros"] body::before {
  position: fixed;
  z-index: 9998;
  top: 0;
  right: 0;
  left: 0;
  height: 3px;
  pointer-events: none;
  content: "";
  background: linear-gradient(90deg, #53e6ff, #7662e8 52%, #c15be7);
}

html[data-tournament-theme="euros"] :is(
  .progress-track span,
  .settings-option.is-enabled .settings-switch,
  .custom-preset-actions .custom-header-start,
  .custom-segmented button.active,
  .custom-builder-tabs button.active
) {
  background: #53e6ff;
}

html[data-tournament-theme="euros"] :is(
  .primary-button,
  .play-button,
  .simulate-button
) {
  border-color: transparent;
  color: #061327;
  background: linear-gradient(135deg, #53e6ff, #93eeff);
}

html[data-tournament-theme="euros"] :is(
  .segmented button.active,
  .round-nav button.active,
  .custom-segmented button.active,
  .custom-builder-tabs button.active
) {
  border-color: rgba(83, 230, 255, .55);
  color: #061327;
}

html[data-tournament-theme="euros"] .brand-mark {
  border-color: rgba(83, 230, 255, .55);
  background: linear-gradient(145deg, #102947, #241454);
  box-shadow: inset 0 0 24px rgba(83, 230, 255, .1);
}

html[data-tournament-theme="euros"] .custom-theme-settings-icon {
  border-color: #53e6ff;
  box-shadow: 6px -4px 0 -4px #a884ff;
}

html[data-tournament-theme="euros"] .tournament-theme-options > button.is-selected {
  border-color: #53e6ff;
  background: #122945;
  box-shadow: inset 0 0 0 1px rgba(83, 230, 255, .16);
}

html[data-tournament-theme="euros"] .tournament-theme-options > button.is-selected .tournament-theme-check {
  border-color: #53e6ff;
  color: #061327;
  background: #53e6ff;
}

html[data-tournament-theme="euros"] .tournament-theme-heading > span {
  border-color: rgba(83, 230, 255, .35);
  color: #8cefff;
  background: rgba(83, 230, 255, .08);
}

html[data-tournament-theme="euros"].light-mode .tournament-theme-options > button.is-selected {
  border-color: #078aa7;
  background: #e8f9ff;
}

html[data-tournament-theme="euros"].light-mode .tournament-theme-heading > span {
  color: #08758d;
  background: #e8f9ff;
}

html[data-tournament-theme="euros"].light-mode body:not(.retro-mode-active):not(.pl-match-mode-active):not(.ucl-match-mode-active) :is(
  .segmented button.active,
  .custom-segmented button.active,
  .custom-builder-tabs button.active,
  .round-nav button.active
) {
  border-color: #087f9b !important;
  color: #fff !important;
  background: #087f9b !important;
  box-shadow: none !important;
}

html[data-tournament-theme="euros"].light-mode body:not(.retro-mode-active):not(.pl-match-mode-active):not(.ucl-match-mode-active) :is(
  .primary-button:not(:disabled),
  .play-button:not(:disabled),
  .simulate-button:not(:disabled)
) {
  border-color: transparent !important;
  color: #061327 !important;
  background: linear-gradient(135deg, #35cce8, #82e9fb) !important;
}

html[data-tournament-theme="euros"].light-mode body.custom-tournament-mode-active .custom-preset-actions .custom-header-start:disabled {
  border-color: #c7d4df;
  color: #6e7c8f;
  background: #e5ebf1;
}

@media (hover: hover) and (pointer: fine) {
  .tournament-theme-options > button:hover {
    border-color: #64799a;
    background: #172131;
  }

  .custom-theme-settings-button:hover {
    border-color: #79a1ff;
    color: #fff;
    background: #15233a;
  }

  html[data-tournament-theme="euros"] .tournament-theme-options > button:hover,
  html[data-tournament-theme="euros"] .custom-theme-settings-button:hover {
    border-color: #53e6ff;
  }

  html.light-mode .tournament-theme-options > button:hover {
    border-color: #9eb0c9;
    background: #f7f9fc;
  }
}

@media (max-width: 700px) {
  .custom-header-navigation {
    grid-column: 1;
    grid-row: 1;
  }

  .custom-header-navigation .custom-back-button {
    min-height: 38px;
  }

  .custom-theme-settings-button {
    width: 38px;
    min-height: 38px;
    justify-content: center;
    padding: 0;
  }

  .custom-theme-settings-button [data-tournament-theme-label] {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
  }
}

@media (max-width: 480px) {
  .tournament-theme-options {
    grid-template-columns: 1fr;
  }
}

/* Korea/Japan 2002 — isolated early-2000s broadcast treatment. */
body.retro-mode-active.retro-2002-active {
  --r02-navy: #03152f;
  --r02-blue: #075891;
  --r02-blue-bright: #0872b8;
  --r02-red: #ef233c;
  --r02-red-deep: #a80f24;
  --r02-green: #00a66a;
  --r02-gold: #ffd21f;
  --r02-cream: #fff8e7;
  --r02-line: rgba(255, 210, 31, .44);
  --q22-ink: #03152f;
  --q22-ink-soft: #05274d;
  --q22-panel: rgba(3, 31, 65, .96);
  --q22-panel-soft: rgba(5, 63, 112, .94);
  --q22-wine: #ef233c;
  --q22-wine-bright: #ff4055;
  --q22-line: rgba(255, 210, 31, .48);
  --q22-line-soft: rgba(199, 220, 239, .24);
  --q22-cream: #eaf4fb;
  --q22-white: #fff8e7;
  --q22-gold: #ffd21f;
  --q22-gold-soft: #ffe169;
  color: var(--r02-cream);
  background: #03152f url("./assets/retro-2002/korea-japan-2002-bg-desktop.png") center top / cover fixed no-repeat;
}

body.retro-mode-active.retro-2002-active::before {
  position: fixed;
  z-index: -1;
  inset: 0;
  background: linear-gradient(180deg, rgba(2, 13, 31, .1), rgba(2, 13, 31, .56));
  content: "";
  pointer-events: none;
}

.retro-2002-active .retro-tournament-screen,
.retro-2002-active #mainContent {
  color: var(--r02-cream);
  background: transparent;
}

.retro-2002-active .retro-screen-header {
  border-bottom: 3px solid var(--r02-gold);
  color: #fff;
  background:
    linear-gradient(100deg, rgba(0, 166, 106, .96) 0 8px, transparent 8px),
    linear-gradient(105deg, #062f5b 0 48%, #075891 48% 75%, #062c58 75%);
  box-shadow: 0 8px 26px rgba(0, 7, 22, .48), inset 0 -1px rgba(255, 255, 255, .2);
}

.retro-2002-active .retro-screen-header::after {
  position: absolute;
  right: 0;
  bottom: -3px;
  width: min(34vw, 420px);
  height: 7px;
  background: var(--r02-red);
  content: "";
  clip-path: polygon(5% 0, 100% 0, 100% 100%, 0 100%);
}

.retro-2002-active :is(.retro-screen-action, .retro-screen-restart, .retro-back-to-modes, .saved-tournament-delete-button) {
  border: 1px solid rgba(255, 255, 255, .32);
  border-radius: 2px;
  color: #fff;
  background: linear-gradient(180deg, #0a69a8, #064373);
  box-shadow: inset 0 1px rgba(255, 255, 255, .2), 0 3px 0 #021a36;
  transition: transform 150ms cubic-bezier(.23, 1, .32, 1), background-color 150ms ease, box-shadow 150ms ease;
}

.retro-2002-active :is(.retro-screen-action, .retro-screen-restart, .retro-back-to-modes, .saved-tournament-delete-button):active {
  transform: translateY(2px) scale(.97);
  box-shadow: inset 0 1px rgba(255, 255, 255, .16), 0 1px 0 #021a36;
}

.retro-2002-active #retroAchievementsButton,
.retro-2002-active .saved-tournament-delete-button {
  border-color: rgba(255, 255, 255, .5);
  background: linear-gradient(180deg, #ff4055, var(--r02-red-deep));
}

.retro-2002-active .retro-screen-brand .brand-mark {
  border-color: var(--r02-gold);
  color: var(--r02-navy);
  background: var(--r02-gold);
  box-shadow: 4px 4px 0 var(--r02-red-deep);
}

.retro-2002-active .retro-tournament-main {
  width: min(1460px, calc(100% - 28px));
  padding-top: 40px;
}

.retro-2002-active .retro-tournament-heading {
  display: none;
}

.retro-2002-active .retro-tournament-heading > * {
  visibility: hidden;
  pointer-events: none;
}

.retro-2002-active .retro-tournament-heading::after {
  position: absolute;
  right: -35px;
  bottom: -36px;
  width: 180px;
  height: 100px;
  border: 14px solid rgba(255, 210, 31, .2);
  border-radius: 50%;
  content: "";
  transform: rotate(-12deg);
}

.retro-2002-active .retro-tournament-heading > div:first-child > span,
.retro-2002-active .retro-section-heading span,
.retro-2002-active .section-kicker {
  color: var(--r02-gold);
  font-family: "DM Mono", monospace;
  letter-spacing: .12em;
}

.retro-2002-active .retro-tournament-heading h1,
.retro-2002-active .retro-section-heading h2,
.retro-2002-active #mainContent :is(.stage-round, .panel-heading h2, .match-analysis-heading) {
  color: #fff;
  text-shadow: 2px 2px 0 #052444;
}

.retro-2002-active .retro-tournament-progress {
  border: 1px solid rgba(255, 255, 255, .28);
  border-radius: 2px;
  background: rgba(2, 22, 47, .7);
}

.retro-2002-active .retro-tournament-progress::before,
.retro-2002-active .retro-tournament-progress span,
.retro-2002-active #progressBar {
  background: linear-gradient(90deg, var(--r02-red), #ff4458 72%, var(--r02-gold));
  box-shadow: 0 0 14px rgba(239, 35, 60, .42);
}

.retro-2002-active .retro-view-tabs {
  gap: 5px;
  padding: 5px;
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: 2px;
  background: rgba(2, 24, 51, .86);
}

.retro-2002-active .retro-view-tabs button {
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 1px;
  color: #d7e8f5;
  background: linear-gradient(180deg, #0a639f, #053c69);
  transition: transform 150ms cubic-bezier(.23, 1, .32, 1), color 150ms ease, background-color 150ms ease;
}

.retro-2002-active .retro-view-tabs button.active,
.retro-2002-active .retro-view-tabs button[aria-selected="true"] {
  border-color: #ff6677;
  color: #fff;
  background: linear-gradient(180deg, #ff3e54, #b41027);
  box-shadow: inset 0 -3px var(--r02-gold);
}

.retro-2002-active .retro-view-tabs button:active {
  transform: scale(.97);
}

.retro-2002-active :is(
  .retro-group-table,
  .retro-fixture,
  .retro-match-stage,
  .retro-golden-boot,
  .retro-third-place-card,
  .retro-squad-view,
  .retro-squad-position-group,
  .retro-lineups-view,
  .retro-lineup-side,
  .retro-manager-lineup,
  .retro-live-ratings-side,
  #mainContent .match-stage,
  #mainContent .round-board,
  #mainContent .panel,
  #mainContent .match-analysis,
  #mainContent .standard-match-tactics,
  #mainContent .story-card
) {
  border: 1px solid rgba(255, 210, 31, .36);
  border-radius: 3px;
  color: #edf7ff;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, .04), transparent 38%),
    linear-gradient(145deg, rgba(5, 78, 130, .97), rgba(2, 29, 62, .98));
  box-shadow: 6px 7px 0 rgba(1, 13, 31, .5), 0 18px 42px rgba(0, 5, 18, .22);
}

.retro-2002-active :is(.retro-group-table h2, .retro-lineup-side header, .retro-manager-lineup > header, .retro-live-ratings-side > header, .retro-golden-boot header, #mainContent .panel-heading) {
  border-bottom: 2px solid var(--r02-gold);
  color: #fff;
  background: linear-gradient(100deg, var(--r02-red) 0 9px, #064b82 9px 76%, #05335e 76%);
}

.retro-2002-active :is(.retro-table-head, .retro-live-table-head) {
  color: var(--r02-gold);
  background: #031f43;
}

.retro-2002-active :is(.retro-table-row, .retro-fixture, .retro-squad-row, .retro-live-table-row, .retro-live-rating-row) {
  border-color: rgba(195, 220, 240, .2);
  color: #e9f4fb;
  background: rgba(4, 47, 88, .75);
}

.retro-2002-active :is(.retro-table-row, .retro-fixture, .retro-squad-row, .retro-live-table-row):nth-child(even) {
  background: rgba(5, 84, 137, .5);
}

.retro-2002-active .retro-table-row.qualified {
  box-shadow: inset 4px 0 var(--r02-green);
}

.retro-2002-active .retro-table-row.qualified::before {
  background: var(--r02-green);
}

.retro-2002-active :is(.retro-fixture.is-selected, .retro-fixture.active) {
  border-color: var(--r02-red);
  background: linear-gradient(100deg, rgba(239, 35, 60, .88), rgba(5, 70, 119, .95) 54%);
  box-shadow: inset 0 -3px var(--r02-gold), 6px 7px 0 rgba(1, 13, 31, .5);
}

.retro-2002-active :is(
  #mainContent .primary-button,
  #mainContent .play-button,
  #mainContent .secondary-button,
  #mainContent .live-control,
  #mainContent .standard-tactic-buttons button.active,
  .retro-stage-actions button,
  .retro-screen-action,
  .retro-match-stage button
) {
  border: 1px solid #ff7080;
  border-radius: 2px;
  color: #fff;
  background: linear-gradient(180deg, #ff4055, #b41027);
  box-shadow: 0 4px 0 #6d0718, inset 0 1px rgba(255, 255, 255, .22);
  transition: transform 150ms cubic-bezier(.23, 1, .32, 1), box-shadow 150ms ease, filter 150ms ease;
}

.retro-2002-active :is(
  #mainContent .primary-button,
  #mainContent .play-button,
  #mainContent .secondary-button,
  #mainContent .live-control,
  #mainContent .standard-tactic-buttons button,
  .retro-stage-actions button,
  .retro-match-stage button
):active {
  transform: translateY(2px) scale(.97);
  box-shadow: 0 1px 0 #6d0718;
}

.retro-2002-active :is(select, .team-filter-search, #teamFilterControl .team-filter-chip, [data-retro-manager-formation]) {
  border: 1px solid rgba(255, 210, 31, .58);
  border-radius: 2px;
  color: #fff;
  background-color: #053f70;
  box-shadow: inset 0 1px rgba(255, 255, 255, .12);
}

.retro-2002-active select:focus,
.retro-2002-active .team-filter-search:focus-within {
  outline: 2px solid var(--r02-red);
  outline-offset: 2px;
}

.retro-2002-active select option {
  color: #fff;
  background: #042f59;
}

.retro-2002-active #teamFilterControl .team-filter-chip.active {
  border-color: #ff7080;
  background: var(--r02-red);
  box-shadow: inset 0 -3px var(--r02-gold);
}

.retro-2002-active .fixture-grid.bracket-mode,
.retro-2002-active .retro-third-place-playoff {
  border-color: rgba(255, 210, 31, .38);
  background: rgba(2, 20, 44, .72);
}

.retro-2002-active .fixture-grid.bracket-mode::before {
  background: linear-gradient(90deg, transparent, var(--r02-gold), transparent);
}

.retro-2002-active :is(.bracket-line, .bracket-connector, .knockout-bar, .round-progress-bar) {
  border-color: var(--r02-gold);
}

.retro-2002-active :is(.bracket-line, .knockout-bar, .round-progress-bar) {
  background-color: var(--r02-gold);
}

.retro-2002-active .retro-manager-pitch {
  border-color: rgba(255, 248, 231, .64);
  background:
    linear-gradient(90deg, transparent 49.75%, rgba(255, 255, 255, .48) 49.75% 50.25%, transparent 50.25%),
    repeating-linear-gradient(90deg, rgba(255, 255, 255, .035) 0 12.5%, rgba(0, 0, 0, .035) 12.5% 25%),
    #087153;
}

.retro-2002-active :is(.retro-lineup-workspace, .retro-match-lineups-panel, .retro-manager-layout) {
  color: #edf7ff;
  background: rgba(2, 27, 57, .78);
}

.retro-2002-active .retro-pitch-player b {
  border-color: #fff8e7;
  background: var(--r02-red);
}

.retro-2002-active .retro-pitch-player i,
.retro-2002-active .retro-formation-badge {
  color: #03152f;
  background: var(--r02-gold);
}

.retro-2002-active #mainContent #snapshotButton,
.retro-2002-active #mainContent .snapshot-trigger {
  border: 2px solid var(--r02-gold);
  color: #fff;
  background: linear-gradient(145deg, var(--r02-red), var(--r02-red-deep));
  box-shadow: 0 4px 0 #6d0718, 0 0 0 3px rgba(7, 88, 145, .7);
}

.retro-2002-active #mainContent #snapshotButton svg circle {
  fill: var(--r02-gold);
  stroke: var(--r02-navy);
}

body.retro-mode-active.retro-2002-active :is(.modal, .confirm-modal form, .snapshot-modal form, .retro-achievements-modal, .achievement-unlock-modal) {
  border: 1px solid rgba(255, 210, 31, .48);
  border-top: 5px solid var(--r02-red);
  border-radius: 3px;
  color: #fff;
  background:
    radial-gradient(circle at 92% 4%, rgba(0, 166, 106, .18), transparent 30%),
    linear-gradient(145deg, #075891, #031b3b 72%);
  box-shadow: 0 28px 72px rgba(0, 7, 24, .62);
}

body.retro-mode-active.retro-2002-active :is(.modal, .confirm-modal, .snapshot-modal, .retro-achievements-modal, .achievement-unlock-modal)::backdrop {
  background: rgba(1, 10, 25, .8);
  backdrop-filter: blur(5px);
}

body.retro-mode-active.retro-2002-active .snapshot-preview {
  border: 2px solid var(--r02-gold);
  border-radius: 2px;
  background: #02152f;
  box-shadow: 6px 6px 0 rgba(168, 15, 36, .54);
}

body.retro-mode-active.retro-2002-active .snapshot-actions button,
body.retro-mode-active.retro-2002-active .modal button {
  border-radius: 2px;
}

#achievementsScreen[data-achievement-theme="2002"],
#retroAchievementsModal[data-achievement-theme="2002"] {
  --achievement-accent: #ef233c;
  --achievement-accent-text: #fff;
  --achievement-surface: #075891;
  --achievement-surface-deep: #031b3b;
  --achievement-tab-surface: rgba(2, 24, 52, .84);
  --achievement-card: rgba(5, 70, 119, .88);
  --achievement-card-complete: #a80f24;
  --achievement-copy: #edf7ff;
  --achievement-muted: #bfd4e5;
  --achievement-points: #ffd21f;
  --achievement-shadow: rgba(0, 11, 31, .5);
}

#retroAchievementsModal[data-achievement-theme="2002"] {
  background:
    radial-gradient(circle at 100% 0, rgba(239, 35, 60, .32), transparent 34%),
    radial-gradient(circle at 0 100%, rgba(255, 210, 31, .12), transparent 36%),
    linear-gradient(145deg, var(--achievement-surface), var(--achievement-surface-deep));
}

.achievement-unlock-banner[data-achievement-theme="2002"],
.achievement-unlock-modal[data-achievement-theme="2002"] {
  border-top-color: #ef233c;
  color: #fff;
  background:
    radial-gradient(circle at 96% 0, rgba(239, 35, 60, .24), transparent 36%),
    linear-gradient(135deg, #075891, #031b3b);
}

/* Korea/Japan 2002: keep shared Brazil 2014 surfaces out of this mode. */
body.retro-mode-active.retro-2002-active #mainContent {
  --surface: rgba(3, 31, 67, .96);
  --surface-raised: rgba(5, 70, 119, .96);
  --line: rgba(255, 210, 31, .34);
}

body.retro-mode-active.retro-2002-active #mainContent :is(
  .match-stage,
  .round-board,
  .panel,
  .match-analysis,
  .standard-match-tactics,
  .story-card
) {
  border-color: rgba(255, 210, 31, .42);
  border-radius: 0;
  color: #edf7ff;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, .035), transparent 38%),
    linear-gradient(145deg, rgba(5, 78, 130, .98), rgba(2, 29, 62, .99));
  box-shadow: 7px 7px 0 rgba(1, 13, 31, .52), 0 18px 42px rgba(0, 5, 18, .24);
}

body.retro-mode-active.retro-2002-active #mainContent :is(.match-stage, .round-board, .match-analysis)::before {
  inset: -4px 0 auto;
  height: 4px;
  background: var(--r02-gold);
  clip-path: none;
}

body.retro-mode-active.retro-2002-active #mainContent .fixture,
body.retro-mode-active.retro-2002-active #mainContent .fixture.bracket-fixture,
body.retro-mode-active.retro-2002-active #mainContent .fixture.bracket-fixture.placeholder {
  border: 1px solid rgba(190, 218, 240, .22);
  border-radius: 0;
  color: #edf7ff;
  background: linear-gradient(135deg, #064c82, #032b58);
  box-shadow: inset 4px 0 #075891;
}

body.retro-mode-active.retro-2002-active #mainContent .fixture:hover,
body.retro-mode-active.retro-2002-active #mainContent .fixture.selected,
body.retro-mode-active.retro-2002-active #mainContent .fixture.bracket-fixture:hover,
body.retro-mode-active.retro-2002-active #mainContent .fixture.bracket-fixture.selected {
  border-color: rgba(255, 210, 31, .58);
  background: linear-gradient(105deg, #075891, #043765 62%, #071f42);
  box-shadow: inset 6px 0 var(--r02-red), 6px 6px 0 rgba(1, 13, 31, .48);
}

body.retro-mode-active.retro-2002-active #mainContent .fixture-card-head,
body.retro-mode-active.retro-2002-active #mainContent .fixture :is(small, .retro-standard-fixture-meta) {
  color: #d7e8f5;
}

body.retro-mode-active.retro-2002-active #mainContent .bracket-heads {
  border-radius: 0;
  color: var(--r02-gold);
  background: #042f59;
}

body.retro-mode-active.retro-2002-active #mainContent #teamFilterControl :is(
  .team-filter-search,
  .team-filter-chip,
  .search-result-popover
) {
  border: 1px solid rgba(255, 210, 31, .62);
  border-radius: 0;
  color: #fff;
  background: #042f59;
  box-shadow: 4px 4px 0 rgba(1, 13, 31, .48);
}

body.retro-mode-active.retro-2002-active #mainContent #teamFilterControl .team-filter-search:focus-within {
  border-color: #ff7080;
  background: #053f70;
  box-shadow: 0 0 0 2px var(--r02-red), 4px 4px 0 rgba(1, 13, 31, .48);
}

body.retro-mode-active.retro-2002-active #mainContent #teamFilterControl .team-filter-search input,
body.retro-mode-active.retro-2002-active #mainContent #teamFilterControl .search-result {
  color: #fff;
  background: transparent;
}

body.retro-mode-active.retro-2002-active #mainContent #teamFilterControl .search-result {
  border-bottom-color: rgba(190, 218, 240, .2);
  border-radius: 0;
}

body.retro-mode-active.retro-2002-active #mainContent #teamFilterControl .search-result:hover {
  color: #fff;
  background: #075891;
  box-shadow: inset 5px 0 var(--r02-red);
}

body.retro-mode-active.retro-2002-active #mainContent #teamFilterControl :is(.team-filter-check, .team-filter-clear) {
  border-radius: 0;
  color: #fff;
  background: var(--r02-red);
}

body.retro-mode-active.retro-2002-active #mainContent .round-board .board-actions > button {
  border: 1px solid rgba(255, 210, 31, .46);
  border-radius: 0;
  color: #fff;
  background: linear-gradient(180deg, #0a639f, #053c69);
  box-shadow: 0 4px 0 #021a36;
}

body.retro-mode-active.retro-2002-active #mainContent .round-board .board-actions > #simulateRoundButton {
  border-color: #ff7080;
  background: linear-gradient(180deg, #ff4055, #b41027);
  box-shadow: 0 4px 0 #6d0718;
}

body.retro-mode-active.retro-2002-active #mainContent .match-commentary-feed {
  border-color: rgba(255, 210, 31, .44);
  border-radius: 0;
  color: #edf7ff;
  background: #031f43;
  box-shadow: inset 5px 0 var(--r02-red);
}

body.retro-mode-active.retro-2002-active #mainContent .match-commentary-feed .commentary-line span,
body.retro-mode-active.retro-2002-active #mainContent .match-commentary-feed.is-major .commentary-line span {
  color: #edf7ff;
}

body.retro-mode-active.retro-2002-active .retro-saved-tournament-actions {
  min-height: 42px;
  margin-bottom: 20px;
}

body.retro-mode-active.retro-2002-active .retro-back-to-modes {
  position: static;
  border-color: rgba(255, 210, 31, .52);
  border-radius: 0;
  color: #fff;
  background: linear-gradient(180deg, #0a639f, #053c69);
  box-shadow: 0 4px 0 #021a36;
}

body.retro-mode-active.retro-2002-active .retro-back-to-modes:hover {
  border-color: #ff7080;
  color: #fff;
  background: linear-gradient(180deg, #ff4055, #b41027);
  box-shadow: 0 4px 0 #6d0718;
}

body.retro-mode-active.retro-2002-active .retro-view-tabs button:not(.active),
body.retro-mode-active.retro-2002-active .retro-view-tabs button:not(.active):hover {
  border-color: rgba(255, 210, 31, .35);
  border-radius: 0;
  color: #edf7ff;
  background: linear-gradient(180deg, #0a639f, #053c69);
  box-shadow: 0 4px 0 #021a36;
}

body.retro-mode-active.retro-2002-active .retro-view-tabs button.active,
body.retro-mode-active.retro-2002-active .retro-view-tabs button.active:hover {
  border-color: #ff7080;
  border-radius: 0;
  color: #fff;
  background: linear-gradient(180deg, #ff4055, #b41027);
  box-shadow: inset 0 -3px var(--r02-gold), 0 4px 0 #6d0718;
}

body.retro-mode-active.retro-2002-active #mainContent .standard-match-tactics {
  border-radius: 0;
  background: linear-gradient(145deg, #064c82, #031f43);
}

body.retro-mode-active.retro-2002-active #mainContent .standard-tactic-buttons {
  border-color: rgba(255, 210, 31, .34);
  border-radius: 0;
  background: #021d3e;
}

body.retro-mode-active.retro-2002-active #mainContent .standard-tactic-buttons button:not(.active),
body.retro-mode-active.retro-2002-active #mainContent .standard-tactic-buttons button:not(.active):hover {
  border: 1px solid rgba(190, 218, 240, .22);
  border-radius: 0;
  color: #edf7ff;
  background: linear-gradient(180deg, #0a639f, #053c69);
  box-shadow: none;
}

body.retro-mode-active.retro-2002-active #mainContent .standard-tactic-buttons button.active,
body.retro-mode-active.retro-2002-active #mainContent .standard-tactic-buttons button.active:hover {
  border: 1px solid #ff7080;
  border-radius: 0;
  color: #fff;
  background: linear-gradient(180deg, #ff4055, #b41027);
  box-shadow: 0 4px 0 #6d0718;
}

body.retro-mode-active.retro-2002-active #mainContent .bracket-connector {
  background: transparent;
}

body.retro-mode-active.retro-2002-active #mainContent .bracket-connector::before,
body.retro-mode-active.retro-2002-active #mainContent .bracket-connector::after,
body.retro-mode-active.retro-2002-active #mainContent .bracket-fixture[data-connects="true"]::after {
  border-color: rgba(255, 210, 31, .78);
  border-width: 1px;
  background: transparent;
}

body.retro-mode-active.retro-2002-active #mainContent .champion-stage {
  border: 1px solid rgba(255, 210, 31, .54);
  border-top: 6px solid var(--r02-red);
  border-radius: 0;
  color: #edf7ff;
  background:
    radial-gradient(circle at 92% 8%, rgba(239, 35, 60, .2), transparent 30%),
    linear-gradient(145deg, rgba(7, 88, 145, .98), rgba(3, 21, 47, .99) 72%);
  box-shadow: 10px 10px 0 rgba(168, 15, 36, .42), 0 24px 54px rgba(0, 7, 24, .42);
}

body.retro-mode-active.retro-2002-active #mainContent .champion-stage .trophy,
body.retro-mode-active.retro-2002-active #mainContent .champion-section-label,
body.retro-mode-active.retro-2002-active #mainContent .champion-place > b,
body.retro-mode-active.retro-2002-active #mainContent .champion-award-copy > span {
  color: var(--r02-gold);
  text-shadow: none;
}

body.retro-mode-active.retro-2002-active #mainContent .champion-stage h2 {
  color: #fff;
  text-shadow: 3px 3px 0 #03152f;
}

body.retro-mode-active.retro-2002-active #mainContent .champion-stage p {
  color: #d7e8f5;
  text-shadow: none;
}

body.retro-mode-active.retro-2002-active #mainContent .champion-stage .flag-orb {
  border: 2px solid var(--r02-gold);
  border-radius: 0;
  background: #031f43;
  box-shadow: 7px 7px 0 var(--r02-red-deep);
}

body.retro-mode-active.retro-2002-active #mainContent :is(.champion-place, .champion-award) {
  border: 1px solid rgba(190, 218, 240, .24);
  border-radius: 0;
  color: #edf7ff;
  background: linear-gradient(135deg, #064c82, #032b58);
  box-shadow: inset 4px 0 #075891;
}

body.retro-mode-active.retro-2002-active #mainContent .champion-place.place-1 {
  border-color: rgba(255, 210, 31, .7);
  background: linear-gradient(105deg, rgba(239, 35, 60, .92), #073f70 72%);
  box-shadow: inset 0 4px var(--r02-gold);
}

body.retro-mode-active.retro-2002-active #mainContent :is(.champion-place strong, .champion-award-copy strong) {
  color: #fff;
}

body.retro-mode-active.retro-2002-active #mainContent :is(
  .champion-place small,
  .champion-award-copy small,
  .champion-award-copy small b
) {
  color: #d7e8f5;
}

body.retro-mode-active.retro-2002-active #mainContent .champion-award-mark {
  border-radius: 0;
  color: var(--r02-gold);
  background: #031f43;
  box-shadow: inset 0 0 0 1px rgba(255, 210, 31, .38);
}

body.retro-mode-active.retro-2002-active #mainContent .champion-actions button {
  border-radius: 0;
}

body.retro-mode-active.retro-2002-active #mainContent #championSaveTournament {
  border: 1px solid rgba(255, 210, 31, .48);
  color: #fff;
  background: linear-gradient(180deg, #0a639f, #053c69);
  box-shadow: 0 4px 0 #021a36;
}

body.retro-mode-active.retro-2002-active #mainContent :is(#championTeamJourney, #championReset) {
  border: 1px solid #ff7080;
  color: #fff;
  background: linear-gradient(180deg, #ff4055, #b41027);
  box-shadow: 0 4px 0 #6d0718;
}

/* Korea/Japan 2002 penalty shootout: rectangular broadcast panels, circular targets. */
body.retro-mode-active.retro-2002-active #mainContent .penalty-stage {
  border: 1px solid rgba(255, 210, 31, .52);
  border-top: 5px solid var(--r02-red);
  border-radius: 0;
  color: #edf7ff;
  background:
    radial-gradient(circle at 92% 4%, rgba(239, 35, 60, .16), transparent 30%),
    linear-gradient(145deg, #075891, #031b3b 74%);
  box-shadow: 8px 8px 0 rgba(168, 15, 36, .38), 0 22px 44px rgba(0, 7, 24, .42);
}

body.retro-mode-active.retro-2002-active #mainContent .penalty-stage-head {
  color: var(--r02-gold);
}

body.retro-mode-active.retro-2002-active #mainContent .penalty-stage-head strong {
  color: #fff;
  text-shadow: 2px 2px 0 #03152f;
}

body.retro-mode-active.retro-2002-active #mainContent .penalty-stage-head strong i,
body.retro-mode-active.retro-2002-active #mainContent .penalty-stage-head strong b.score-pop {
  color: var(--r02-red);
}

body.retro-mode-active.retro-2002-active #mainContent .match-penalty-overlay {
  border-radius: 0;
  color: #edf7ff;
  background:
    radial-gradient(circle at 50% 110%, rgba(7, 114, 184, .35), transparent 48%),
    linear-gradient(145deg, rgba(7, 88, 145, .98), rgba(3, 21, 47, .99));
  box-shadow: inset 0 4px 0 var(--r02-red), inset 0 -3px 0 var(--r02-gold);
}

body.retro-mode-active.retro-2002-active #mainContent .match-penalty-decision strong {
  color: var(--r02-gold);
  text-shadow: 2px 2px 0 #03152f;
}

body.retro-mode-active.retro-2002-active #mainContent .match-penalty-decision small {
  color: #edf7ff;
}

body.retro-mode-active.retro-2002-active #mainContent :is(
  .match-penalty-scene,
  .standard-penalty-scene
) {
  border: 1px solid rgba(190, 218, 240, .38);
  border-radius: 0;
  background:
    linear-gradient(180deg, rgba(3, 21, 47, .08), rgba(3, 21, 47, .52)),
    repeating-linear-gradient(90deg, rgba(255, 255, 255, .035) 0 42px, transparent 42px 84px),
    linear-gradient(135deg, #0872b8, #04315f);
  box-shadow: inset 0 0 46px rgba(1, 13, 31, .32);
}

body.retro-mode-active.retro-2002-active #mainContent :is(
  .match-penalty-scene,
  .standard-penalty-scene
)::before {
  border-color: rgba(255, 248, 231, .34);
}

body.retro-mode-active.retro-2002-active #mainContent :is(
  .match-penalty-scene,
  .standard-penalty-scene
) .penalty-goal {
  border-color: #fff8e7;
  filter: drop-shadow(0 2px 0 rgba(3, 21, 47, .7));
}

body.retro-mode-active.retro-2002-active #mainContent :is(
  .match-penalty-scene,
  .standard-penalty-scene
) .penalty-net {
  opacity: .38;
  background:
    repeating-linear-gradient(0deg, transparent 0 13px, #fff8e7 13px 14px),
    repeating-linear-gradient(90deg, transparent 0 18px, #fff8e7 18px 19px);
}

body.retro-mode-active.retro-2002-active #mainContent :is(
  .match-penalty-scene,
  .standard-penalty-scene
) .penalty-keeper {
  color: var(--r02-gold);
}

body.retro-mode-active.retro-2002-active #mainContent :is(
  .match-penalty-scene,
  .standard-penalty-scene
) .penalty-taker {
  color: #edf7ff;
}

body.retro-mode-active.retro-2002-active #mainContent :is(
  .match-penalty-targets,
  .standard-penalty-targets
) button {
  border: 2px solid #ff7080;
  border-radius: 50%;
  background: rgba(239, 35, 60, .2);
  box-shadow: 0 0 0 5px rgba(255, 210, 31, .1);
}

body.retro-mode-active.retro-2002-active #mainContent :is(
  .match-penalty-targets,
  .standard-penalty-targets
) button:hover {
  border-color: var(--r02-gold);
  border-radius: 50%;
  background: rgba(255, 210, 31, .3);
}

body.retro-mode-active.retro-2002-active #mainContent :is(
  .match-penalty-scene,
  .standard-penalty-scene
)[data-result="goal"] {
  box-shadow: inset 0 0 0 999px rgba(255, 210, 31, .07);
}

body.retro-mode-active.retro-2002-active #mainContent :is(
  .match-penalty-scene,
  .standard-penalty-scene
)[data-result="save"],
body.retro-mode-active.retro-2002-active #mainContent :is(
  .match-penalty-scene,
  .standard-penalty-scene
)[data-result="wide"] {
  box-shadow: inset 0 0 0 999px rgba(239, 35, 60, .08);
}

body.retro-mode-active.retro-2002-active #mainContent .penalty-call strong,
body.retro-mode-active.retro-2002-active #mainContent .penalty-ledgers span {
  color: #fff;
  text-shadow: none;
}

body.retro-mode-active.retro-2002-active #mainContent .penalty-call span {
  color: #bfd4e5;
}

body.retro-mode-active.retro-2002-active #mainContent .penalty-mark {
  width: 12px;
  height: 12px;
  border: 2px solid rgba(190, 218, 240, .58);
  border-radius: 50%;
  background: #031f43;
  box-shadow: none;
}

body.retro-mode-active.retro-2002-active #mainContent .penalty-mark.goal {
  border-color: var(--r02-gold);
  border-radius: 50%;
  background: var(--r02-gold);
  box-shadow: 0 0 0 3px rgba(255, 210, 31, .14);
}

body.retro-mode-active.retro-2002-active #mainContent .penalty-mark.miss {
  border-color: #ff7080;
  border-radius: 50%;
  background: var(--r02-red);
  box-shadow: 0 0 0 3px rgba(239, 35, 60, .12);
}

body.retro-mode-active.retro-2002-active :is(.modal, .confirm-modal, .confirm-modal form, .snapshot-modal, .snapshot-modal form) {
  border: 1px solid rgba(255, 210, 31, .5);
  border-top: 5px solid var(--r02-red);
  border-radius: 0;
  color: #fff;
  background: linear-gradient(145deg, #075891, #031b3b 72%);
  box-shadow: 9px 9px 0 rgba(168, 15, 36, .42), 0 28px 72px rgba(0, 7, 24, .62);
}

body.retro-mode-active.retro-2002-active :is(.modal, .confirm-modal, .snapshot-modal) :is(button, .icon-button),
body.retro-mode-active.retro-2002-active .snapshot-actions button {
  border: 1px solid #ff7080;
  border-radius: 0;
  color: #fff;
  background: linear-gradient(180deg, #ff4055, #b41027);
  box-shadow: 0 4px 0 #6d0718;
}

body.retro-mode-active.retro-2002-active .confirm-modal .secondary-button {
  border-color: rgba(255, 210, 31, .52);
  color: #fff;
  background: linear-gradient(180deg, #0a639f, #053c69);
  box-shadow: 0 4px 0 #021a36;
}

body.retro-mode-active.retro-2002-active .snapshot-preview {
  border-radius: 0;
  background: #02152f;
}

body.retro-mode-active.retro-2002-active .retro-table-row.qualified {
  box-shadow: inset 4px 0 var(--r02-red);
}

body.retro-mode-active.retro-2002-active .retro-table-row.qualified::before {
  background: var(--r02-red);
}

.achievement-unlock-banner[data-achievement-theme="2002"] .achievement-unlock-banner-mark,
.achievement-unlock-modal[data-achievement-theme="2002"] .achievement-unlock-mark,
.achievement-unlock-modal[data-achievement-theme="2002"] .achievement-unlock-action {
  color: #03152f;
  background: #ffd21f;
}

@media (hover: hover) and (pointer: fine) {
  .retro-2002-active :is(.retro-screen-action, .retro-screen-restart, .retro-view-tabs button, .retro-stage-actions button, #mainContent button):hover:not(:disabled) {
    filter: brightness(1.1);
  }
}

@media (max-width: 760px) {
  body.retro-mode-active.retro-2002-active {
    background-image: url("./assets/retro-2002/korea-japan-2002-bg-portrait.png");
    background-position: center top;
    background-size: cover;
    background-attachment: scroll;
  }

  .retro-2002-active .retro-screen-header {
    background: linear-gradient(105deg, #062f5b 0 60%, #075891 60%);
  }

  .retro-2002-active .retro-tournament-main {
    width: min(100% - 16px, 1460px);
    padding-top: 24px;
  }

  .retro-2002-active .retro-tournament-heading {
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
    box-shadow: 5px 6px 0 rgba(1, 14, 34, .48);
  }

  .retro-2002-active .retro-tournament-heading > div {
    width: 100%;
    min-width: 0;
  }

  .retro-2002-active .retro-tournament-heading h1 {
    max-width: 100%;
    font-size: clamp(28px, 10vw, 40px);
    line-height: 1.02;
    white-space: normal;
  }

  .retro-2002-active .retro-tournament-progress {
    justify-items: start;
    text-align: left;
  }

  .retro-2002-active :is(.retro-group-table, .retro-fixture, .retro-squad-position-group, .retro-lineup-side) {
    box-shadow: 4px 5px 0 rgba(1, 13, 31, .46);
  }

  .retro-2002-active .retro-view-tabs button {
    min-height: 42px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .retro-2002-active :is(button, .retro-fixture, .retro-pitch-player) {
    scroll-behavior: auto;
    transition: color 120ms ease, background-color 120ms ease, opacity 120ms ease;
  }

  .retro-2002-active :is(button, .retro-fixture, .retro-pitch-player):active {
    transform: none;
  }
}

/* Korea/Japan 2002 setup: match the shared homepage shell while retaining the
   edition's blue, red, green and gold broadcast identity. */
body.retro-mode-active.retro-2002-active .retro-screen-header {
  position: sticky;
  display: flex !important;
  min-height: 68px;
  align-items: center;
  gap: 8px;
  padding: 0 clamp(20px, 3vw, 52px);
  border-bottom: 1px solid rgba(255, 210, 31, .52) !important;
  background:
    linear-gradient(90deg, rgba(0, 166, 106, .95) 0 6px, transparent 6px),
    linear-gradient(180deg, rgba(8, 114, 184, .99), rgba(6, 67, 115, .99) 36%, rgba(3, 30, 64, .99) 38%) !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, .26), 0 8px 22px rgba(1, 13, 34, .3) !important;
}

body.retro-mode-active.retro-2002-active .retro-screen-header::after {
  right: 0;
  bottom: -1px;
  width: min(30vw, 360px);
  height: 3px;
}

body.retro-mode-active.retro-2002-active .retro-screen-brand {
  order: 1;
  grid-column: auto;
  margin-right: 0;
}

body.retro-mode-active.retro-2002-active .retro-screen-brand .brand-mark {
  width: 44px;
  height: 44px;
  border: 1px solid rgba(255, 255, 255, .52);
  border-radius: 12px;
  color: #fff;
  background: linear-gradient(145deg, #0872b8, #075891) !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, .28), 0 3px 0 var(--r02-red-deep) !important;
}

body.retro-mode-active.retro-2002-active .retro-main-section-switch {
  position: absolute;
  left: 50%;
  order: 2;
  display: flex;
  min-width: 350px;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 4px;
  border: 1px solid rgba(199, 220, 239, .36);
  border-radius: 999px;
  background: rgba(3, 21, 47, .68);
  box-shadow: inset 0 1px rgba(255, 255, 255, .12);
  transform: translateX(-50%);
}

body.retro-mode-active.retro-2002-active .retro-main-section-switch a {
  min-height: 38px;
  flex: 1 1 0;
  padding: 9px 15px;
  border-radius: 999px;
  color: rgba(234, 244, 251, .7);
  font: 800 11px/20px "Manrope", sans-serif;
  text-align: center;
  text-decoration: none;
  transition: color 160ms ease-out, background-color 160ms ease-out, transform 120ms ease-out;
}

body.retro-mode-active.retro-2002-active .retro-main-section-switch a.is-active {
  color: #fff;
  background: linear-gradient(180deg, #0b82c9, var(--r02-blue-bright) 54%, #075287 56%);
  box-shadow: inset 0 1px rgba(255, 255, 255, .3), 0 2px 0 rgba(1, 23, 49, .78);
}

body.retro-mode-active.retro-2002-active .retro-screen-left {
  order: 2;
  margin-left: 2px;
}

body.retro-mode-active.retro-2002-active .retro-screen-actions {
  order: 4;
  margin-left: auto;
}

body.retro-mode-active.retro-2002-active :is(.retro-screen-left, .retro-screen-actions) {
  gap: 6px;
}

body.retro-mode-active.retro-2002-active .retro-screen-header :is(.retro-screen-action, .retro-screen-restart) {
  width: 42px;
  min-width: 42px;
  height: 42px;
  min-height: 42px;
  padding: 0;
  border: 1px solid rgba(199, 220, 239, .4) !important;
  border-radius: 999px;
  color: #fff !important;
  background: rgba(5, 63, 112, .58) !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, .12) !important;
  transition: color 160ms ease-out, border-color 160ms ease-out, background-color 160ms ease-out, transform 120ms ease-out;
}

body.retro-mode-active.retro-2002-active .retro-screen-header .retro-screen-restart,
body.retro-mode-active.retro-2002-active .retro-screen-header .retro-screen-action > span:first-child {
  font-size: 20px;
  line-height: 1;
}

body.retro-mode-active.retro-2002-active .retro-screen-header .news-icon {
  width: 20px;
  height: 17px;
  border-width: 2px;
}

body.retro-mode-active.retro-2002-active .retro-screen-header .news-icon::before,
body.retro-mode-active.retro-2002-active .retro-screen-header .news-icon::after {
  left: 4px;
  right: 4px;
  height: 2px;
}

body.retro-mode-active.retro-2002-active .retro-screen-header .news-icon::before {
  top: 4px;
}

body.retro-mode-active.retro-2002-active .retro-screen-header .news-icon::after {
  top: 9px;
}

body.retro-mode-active.retro-2002-active .retro-screen-header .account-avatar-icon {
  width: 22px;
  height: 22px;
}

body.retro-mode-active.retro-2002-active .retro-screen-header .retro-screen-action:not(.retro-account-button) > span:last-child {
  display: none;
}

body.retro-mode-active.retro-2002-active .retro-screen-header .retro-account-button {
  width: auto;
  min-width: 42px;
  gap: 8px;
  padding: 0 14px;
}

body.retro-mode-active.retro-2002-active .retro-screen-header :is(.retro-screen-restart, .retro-screen-action):active,
body.retro-mode-active.retro-2002-active .retro-main-section-switch a:active {
  transform: scale(.97);
}

body.retro-2002-setup-active .retro-tournament-main {
  width: min(1180px, calc(100% - 48px)) !important;
  min-height: calc(100vh - 68px);
  padding-top: 0 !important;
}

body.retro-2002-setup-active .retro-route-setup {
  grid-template-columns: minmax(0, 1fr) !important;
  align-items: start !important;
  min-height: calc(100vh - 68px) !important;
  padding: 82px 0 56px !important;
}

body.retro-2002-setup-active .retro-route-setup-back {
  top: 18px !important;
}

body.retro-2002-setup-active .retro-route-setup-controls {
  width: 100%;
  padding: 24px !important;
  border: 1px solid rgba(255, 210, 31, .48) !important;
  border-radius: 12px !important;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, .08), transparent 26%),
    linear-gradient(145deg, rgba(8, 114, 184, .95), rgba(4, 58, 104, .97) 58%, rgba(3, 27, 60, .98)) !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, .22), inset 0 -1px rgba(1, 19, 43, .8), 0 22px 50px rgba(0, 12, 31, .3) !important;
  backdrop-filter: none !important;
}

body.retro-2002-setup-active .retro-route-setup-controls .retro-landing-settings {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
  margin-bottom: 18px !important;
}

body.retro-2002-setup-active .retro-route-setup-controls .landing-setting {
  min-width: 0;
  padding: 16px;
  border: 1px solid rgba(199, 220, 239, .3);
  border-radius: 9px;
  background: linear-gradient(180deg, rgba(5, 83, 141, .76), rgba(3, 37, 78, .88));
  box-shadow: inset 0 1px rgba(255, 255, 255, .1);
}

body.retro-2002-setup-active .retro-route-setup-controls .landing-team-setting {
  grid-column: 1 / -1;
}

body.retro-2002-setup-active .retro-route-setup-controls :is(.landing-setting-heading > span, .landing-team-setting > span) {
  color: var(--r02-cream) !important;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

body.retro-2002-setup-active .retro-route-setup-controls .landing-setting-info summary {
  border-color: rgba(199, 220, 239, .4);
  color: rgba(234, 244, 251, .72) !important;
  background: rgba(3, 31, 65, .7);
}

body.retro-2002-setup-active .retro-route-setup-controls .segmented {
  min-height: 46px;
  margin-top: 10px;
  border: 1px solid rgba(199, 220, 239, .26) !important;
  border-radius: 7px;
  background: rgba(2, 24, 53, .66) !important;
  box-shadow: inset 0 2px 4px rgba(0, 12, 31, .3);
}

body.retro-2002-setup-active .retro-route-setup-controls .segmented button {
  border-radius: 5px;
  color: rgba(234, 244, 251, .68) !important;
}

body.retro-2002-setup-active .retro-route-setup-controls .segmented button.active {
  color: #fff !important;
  background: linear-gradient(180deg, #ff4055, var(--r02-red) 54%, var(--r02-red-deep) 56%) !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, .28), 0 2px 0 #620b1a;
}

body.retro-2002-setup-active .retro-inline-team-grid {
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: 8px;
  margin-top: 10px;
}

body.retro-2002-setup-active .retro-inline-team-toolbar {
  display: flex;
  min-height: 38px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 10px;
}

body.retro-2002-setup-active .retro-inline-achievement-filter {
  display: inline-flex;
  min-height: 36px;
  align-items: center;
  gap: 8px;
  padding: 0 13px;
  border: 1px solid rgba(199, 220, 239, .42) !important;
  border-radius: 999px !important;
  color: var(--r02-cream) !important;
  background: rgba(3, 31, 65, .54) !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, .1) !important;
  font: 800 10px/1 "Manrope", sans-serif;
  cursor: pointer;
  transition: color 150ms ease, border-color 150ms ease, background-color 150ms ease, transform 120ms ease-out;
}

body.retro-2002-setup-active .retro-inline-achievement-filter[aria-pressed="true"] {
  border-color: rgba(255, 210, 31, .78) !important;
  color: #fff !important;
  background: linear-gradient(180deg, #ff4055, var(--r02-red) 54%, var(--r02-red-deep) 56%) !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, .28), 0 2px 0 #620b1a !important;
}

body.retro-2002-setup-active .retro-inline-achievement-filter:active {
  transform: scale(.97);
}

body.retro-2002-setup-active .retro-inline-achievement-filter:disabled {
  cursor: progress;
  opacity: .68;
}

body.retro-2002-setup-active .retro-inline-filter-check {
  display: grid;
  width: 18px;
  height: 18px;
  place-items: center;
  border: 1px solid rgba(199, 220, 239, .5);
  border-radius: 50%;
  color: transparent;
  font-size: 11px;
}

body.retro-2002-setup-active .retro-inline-achievement-filter[aria-pressed="true"] .retro-inline-filter-check {
  border-color: rgba(255, 255, 255, .72);
  color: #fff;
  background: rgba(255, 255, 255, .14);
}

body.retro-2002-setup-active .retro-inline-team-count {
  color: rgba(234, 244, 251, .72);
  font: 800 10px/1 "Manrope", sans-serif;
  white-space: nowrap;
}

body.retro-2002-setup-active .retro-inline-team-empty {
  grid-column: 1 / -1;
  margin: 0;
  padding: 22px 16px;
  border: 1px dashed rgba(199, 220, 239, .34);
  border-radius: 7px;
  color: var(--r02-cream);
  background: rgba(3, 31, 65, .44);
  font: 800 11px/1.4 "Manrope", sans-serif;
  text-align: center;
}

body.retro-2002-setup-active .retro-inline-team-option {
  display: flex;
  min-width: 0;
  min-height: 70px;
  align-items: center;
  gap: 9px;
  padding: 9px;
  border: 1px solid rgba(199, 220, 239, .24);
  border-radius: 7px;
  color: var(--r02-cream);
  background: linear-gradient(180deg, rgba(7, 101, 164, .68), rgba(3, 47, 91, .86));
  box-shadow: inset 0 1px rgba(255, 255, 255, .1);
  cursor: pointer;
  font: inherit;
  text-align: left;
  transition: border-color 160ms ease-out, background-color 160ms ease-out, box-shadow 160ms ease-out, transform 140ms ease-out;
}

body.retro-2002-setup-active .retro-inline-team-option > span:last-child {
  display: grid;
  min-width: 0;
  gap: 2px;
}

body.retro-2002-setup-active .retro-inline-team-option strong {
  overflow: hidden;
  font-size: 10px;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.retro-2002-setup-active .retro-inline-team-option small {
  color: rgba(234, 244, 251, .66) !important;
  font-size: 8px;
}

body.retro-2002-setup-active .retro-inline-team-option.is-selected {
  border-color: rgba(255, 225, 105, .92);
  background: linear-gradient(145deg, rgba(239, 35, 60, .98), rgba(115, 11, 33, .96));
  box-shadow: inset 0 1px rgba(255, 255, 255, .28), 0 3px 0 rgba(65, 5, 19, .76);
}

body.retro-2002-setup-active .retro-inline-team-option:disabled {
  cursor: not-allowed;
  opacity: .58;
}

body.retro-2002-setup-active .retro-inline-team-flag,
body.retro-2002-setup-active .retro-inline-team-flag img {
  width: 34px;
  height: 23px;
  flex: 0 0 34px;
  border-radius: 3px;
  object-fit: cover;
}

body.retro-2002-setup-active .retro-route-setup-controls .mode-card-actions {
  justify-content: flex-start;
}

body.retro-2002-setup-active .retro-route-setup-controls .retro-start-button {
  min-width: 220px;
}

@media (hover: hover) and (pointer: fine) {
  body.retro-2002-setup-active .retro-inline-achievement-filter:hover:not(:disabled) {
    border-color: rgba(255, 210, 31, .68) !important;
    background: rgba(5, 83, 141, .76) !important;
  }

  body.retro-2002-setup-active .retro-inline-achievement-filter[aria-pressed="true"]:hover:not(:disabled) {
    background: linear-gradient(180deg, #ff5367, #f12d45 54%, #b8132a 56%) !important;
  }

  body.retro-mode-active.retro-2002-active .retro-main-section-switch a:not(.is-active):hover {
    color: #fff;
    background: rgba(199, 220, 239, .1);
  }

  body.retro-mode-active.retro-2002-active .retro-screen-header :is(.retro-screen-restart, .retro-screen-action):hover {
    border-color: rgba(255, 210, 31, .74) !important;
    color: #fff !important;
    background: rgba(239, 35, 60, .72) !important;
  }

  body.retro-2002-setup-active .retro-inline-team-option:not(:disabled):hover {
    border-color: rgba(255, 210, 31, .7);
    background: linear-gradient(180deg, rgba(9, 124, 194, .82), rgba(4, 65, 116, .96));
    box-shadow: inset 0 1px rgba(255, 255, 255, .15), 0 8px 18px rgba(0, 18, 43, .24);
    transform: translateY(-2px);
  }
}

@media (max-width: 1100px) {
  body.retro-mode-active.retro-2002-active .retro-main-section-switch {
    min-width: 300px;
  }

  body.retro-mode-active.retro-2002-active .retro-screen-header :is(.retro-screen-left, .retro-screen-actions) {
    gap: 4px;
  }

  body.retro-mode-active.retro-2002-active .retro-screen-header :is(.retro-screen-action, .retro-screen-restart) {
    width: 38px;
    min-width: 38px;
    height: 38px;
    min-height: 38px;
  }

  body.retro-mode-active.retro-2002-active .retro-screen-header .retro-account-button {
    padding: 0;
  }

  body.retro-mode-active.retro-2002-active .retro-screen-header .retro-account-button > span:last-child {
    display: none;
  }

  body.retro-2002-setup-active .retro-inline-team-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  body.retro-mode-active.retro-2002-active .retro-screen-header {
    min-height: 116px;
    flex-wrap: wrap;
    align-content: center;
    padding: 9px 14px;
    background:
      linear-gradient(90deg, rgba(0, 166, 106, .95) 0 5px, transparent 5px),
      linear-gradient(180deg, rgba(8, 114, 184, .99), rgba(6, 67, 115, .99) 36%, rgba(3, 30, 64, .99) 38%) !important;
  }

  body.retro-mode-active.retro-2002-active .retro-screen-brand .brand-mark {
    width: 40px;
    height: 40px;
  }

  body.retro-mode-active.retro-2002-active .retro-main-section-switch {
    position: static;
    order: 5;
    width: 100%;
    min-width: 0;
    transform: none;
  }

  body.retro-mode-active.retro-2002-active .retro-main-section-switch a {
    min-height: 34px;
    padding: 7px 8px;
    font-size: 10px;
  }

  body.retro-mode-active.retro-2002-active .retro-screen-left {
    margin-left: 0;
  }

  body.retro-2002-setup-active .retro-tournament-main {
    width: calc(100% - 24px) !important;
  }

  body.retro-2002-setup-active .retro-route-setup {
    padding-top: 70px !important;
  }

  body.retro-2002-setup-active .retro-route-setup-controls {
    padding: 14px !important;
  }

  body.retro-2002-setup-active .retro-route-setup-controls .retro-landing-settings {
    grid-template-columns: 1fr !important;
  }

  body.retro-2002-setup-active .retro-inline-team-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 480px) {
  body.retro-mode-active.retro-2002-active .retro-screen-header {
    gap: 3px;
    padding-inline: 10px;
  }

  body.retro-mode-active.retro-2002-active .retro-screen-brand .brand-mark {
    width: 36px;
    height: 36px;
  }

  body.retro-mode-active.retro-2002-active .retro-screen-header :is(.retro-screen-action, .retro-screen-restart) {
    width: 34px;
    min-width: 34px;
    height: 34px;
    min-height: 34px;
  }

  body.retro-mode-active.retro-2002-active .retro-screen-header .retro-screen-restart,
  body.retro-mode-active.retro-2002-active .retro-screen-header .retro-screen-action > span:first-child {
    font-size: 18px;
  }

  body.retro-mode-active.retro-2002-active .retro-screen-header .news-icon {
    width: 18px;
    height: 15px;
  }

  body.retro-2002-setup-active .retro-inline-team-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (prefers-reduced-motion: reduce) {
  body.retro-mode-active.retro-2002-active .retro-main-section-switch a,
  body.retro-mode-active.retro-2002-active .retro-screen-header :is(.retro-screen-restart, .retro-screen-action),
  body.retro-2002-setup-active :is(.retro-inline-team-option, .retro-inline-achievement-filter) {
    transition: none;
  }
}

/* France 1998 absolute final palette guard. */
body.retro-mode-active.retro-1998-active {
  color: #f7faff;
  background: #020d29 url("./assets/retro-1998/france-98-bg-desktop.png") center top / cover fixed no-repeat !important;
}

.mode-coming-soon-button {
  min-width: 104px;
  min-height: 32px;
  padding: 0 14px;
  border: 1px solid rgba(130, 153, 188, .28);
  border-radius: 7px;
  color: #aab7ca;
  background: #1b2738;
  font: 800 10px "Manrope", sans-serif;
  cursor: not-allowed;
  opacity: 1;
}

.standard-route-back,
.setup-panel-back {
  display: none;
}

.custom-match-card-copy {
  display: none;
}

/* The 256 mode uses a real desktop setup surface instead of re-expanding its home card. */
@media (min-width: 721px) {
  body[data-desktop-mode-setup="standard"] #appShell {
    display: block !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: auto minmax(0, 1fr) !important;
    grid-template-areas: "standard-setup-header" "standard-setup-main" !important;
  }

  body[data-desktop-mode-setup="standard"] .sidebar {
    grid-area: standard-setup-header;
    width: 100% !important;
    max-width: none !important;
    height: 72px;
    flex-direction: row;
    border-right: 0;
    border-bottom: 1px solid rgba(116, 143, 184, .2);
    background: rgba(9, 18, 33, .96);
    transform: none;
  }

  body[data-desktop-mode-setup="standard"] .main {
    grid-area: standard-setup-main;
    width: 100% !important;
    min-width: 0;
    min-height: calc(100vh - 72px);
    background:
      radial-gradient(circle at 14% 18%, rgba(63, 105, 213, .12), transparent 31%),
      radial-gradient(circle at 88% 82%, rgba(48, 87, 178, .08), transparent 32%),
      linear-gradient(180deg, #0b111a 0%, #090f17 100%);
  }

  body[data-desktop-mode-setup="standard"] .topbar {
    display: none !important;
  }

  body[data-desktop-mode-setup="standard"] .field-overview {
    display: block !important;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
  }

  body[data-desktop-mode-setup="standard"] .mode-select {
    display: grid;
    min-height: calc(100vh - 72px);
    place-items: center;
    padding: 42px 24px;
  }

  body[data-desktop-mode-setup="standard"] .mode-grid {
    width: min(680px, 100%);
  }

  body[data-desktop-mode-setup="standard"] .mode-card-default {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 30px;
    overflow: visible;
    border: 1px solid rgba(139, 161, 197, .2);
    border-radius: 16px;
    background: rgba(16, 24, 36, .94);
    box-shadow: 0 24px 70px rgba(0, 0, 0, .34);
  }

  body[data-desktop-mode-setup="standard"] .standard-route-back {
    display: inline-flex;
    position: fixed;
    top: 96px;
    left: clamp(24px, 3vw, 48px);
    z-index: 20;
    margin: 0;
  }

  body[data-desktop-mode-setup="standard"] .standard-route-back:hover {
    color: #f4f7fb;
  }

  body[data-desktop-mode-setup="standard"] .standard-route-back:active {
    transform: scale(.97);
  }

  body[data-desktop-mode-setup="standard"] .mode-card-copy {
    margin: 0 0 26px !important;
  }

  body[data-desktop-mode-setup="standard"] .mode-card-copy h3 {
    margin: 0;
    color: #f5f7fb;
    font-size: clamp(25px, 3vw, 34px);
    font-weight: 800;
    letter-spacing: -.04em;
    line-height: 1.05;
  }

  body[data-desktop-mode-setup="standard"] .landing-settings {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin: 0 0 24px;
  }

  body[data-desktop-mode-setup="standard"] .landing-team-setting {
    grid-column: 1 / -1;
  }

  body[data-desktop-mode-setup="standard"] .landing-setting-heading,
  body[data-desktop-mode-setup="standard"] .landing-team-setting > span {
    color: #9daabd;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
  }

  body[data-desktop-mode-setup="standard"] .landing-setting .segmented {
    min-height: 44px;
    margin-top: 8px;
    padding: 3px;
    border: 1px solid rgba(128, 151, 186, .15);
    border-radius: 9px;
    background: #0a111a;
  }

  body[data-desktop-mode-setup="standard"] .landing-setting .segmented button {
    min-height: 36px;
    border-radius: 7px;
    font-size: 11px;
  }

  body[data-desktop-mode-setup="standard"] .landing-setting .segmented button.active {
    color: #fff;
    background: #315fca;
    box-shadow: 0 5px 14px rgba(26, 70, 169, .25);
  }

  body[data-desktop-mode-setup="standard"] .spectate-picker {
    min-height: 58px;
    margin-top: 8px;
    border-color: rgba(128, 151, 186, .18);
    border-radius: 10px;
    background: #0a111a;
  }

  body[data-desktop-mode-setup="standard"] .mode-card-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
  }

  body[data-desktop-mode-setup="standard"] .mode-card-actions .start-tournament {
    width: auto;
    min-width: 176px;
    min-height: 44px;
    justify-content: center;
    padding: 0 18px;
    border-radius: 9px;
    font-size: 12px;
    box-shadow: none;
  }

  body[data-desktop-mode-setup="standard"] .legacy-restart-button {
    min-height: 44px;
    padding: 0 16px;
    border-radius: 9px;
  }
}

/* Desktop mode library: compact, consistent launch cards with one clear hierarchy. */
@media (min-width: 721px) {
  body.before-start:not([data-desktop-mode-setup]) .mode-coming-soon-button {
    position: absolute;
    left: 18px;
    bottom: 14px;
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-card-online.mode-card-coming-soon #joinOnlineRoomButton {
    width: auto;
    min-width: 104px;
    min-height: 32px;
    justify-content: center;
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-card-ucl .ucl-mode-heading {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    align-items: center;
    gap: 10px;
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-card-ucl .ucl-mode-logo {
    display: block !important;
    width: 34px;
    height: 34px;
    object-fit: contain;
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-select {
    padding-top: 18px;
  }

  body.before-start:not([data-desktop-mode-setup]) .home-achievement-leaderboard {
    min-height: 176px;
    height: auto;
    margin-top: 18px;
    padding: 18px;
  }

  body.before-start:not([data-desktop-mode-setup]) .home-achievement-leaderboard > header {
    margin-bottom: 10px;
  }

  body.before-start:not([data-desktop-mode-setup]) .home-achievement-empty {
    padding: 18px 6px;
    font-size: 12px;
    line-height: 1.45;
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-grid {
    gap: 12px;
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-grid > .mode-card {
    min-height: 112px !important;
    height: 112px;
    padding: 16px 18px;
    border: 1px solid rgba(129, 151, 184, .14);
    border-radius: 12px;
    box-shadow: 0 1px 0 rgba(255, 255, 255, .035), 0 12px 28px rgba(3, 8, 16, .12);
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-card-copy {
    margin: 0 !important;
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-card-copy h3 {
    margin: 0;
    font-size: clamp(16px, 1.35vw, 19px);
    font-weight: 780;
    letter-spacing: -.025em;
    line-height: 1.1;
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-card-actions {
    position: absolute;
    left: 18px;
    bottom: 14px;
    width: auto;
    margin: 0;
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-card-actions > .start-tournament:first-child {
    min-width: 84px;
    min-height: 32px;
    justify-content: center;
    padding: 0 13px;
    gap: 10px;
    border-radius: 7px;
    box-shadow: none;
    transition: transform 140ms cubic-bezier(.23, 1, .32, 1), filter 160ms ease;
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-card-actions > .start-tournament:first-child::after {
    margin-left: 10px;
    font-size: 12px;
  }

  body.before-start:not([data-desktop-mode-setup]) :is(.premier-league-install-button, .serie-a-install-button, .bundesliga-install-button, .super-lig-install-button, .eredivisie-install-button, .belgian-pro-league-install-button, .liga-portugal-install-button, .saudi-pro-league-install-button, .mls-install-button, .ucl-install-button) {
    top: auto;
    right: 16px;
    bottom: 14px;
    min-height: 28px;
    padding: 0 10px;
    border-color: rgba(255, 255, 255, .22);
    border-radius: 7px;
    color: rgba(255, 255, 255, .82);
    background: rgba(7, 12, 24, .18);
    box-shadow: none;
    font-size: 9px;
    transition: transform 140ms cubic-bezier(.23, 1, .32, 1), background-color 160ms ease, border-color 160ms ease;
  }

  body.before-start:not([data-desktop-mode-setup]) :is(.premier-league-install-button, .serie-a-install-button, .bundesliga-install-button, .super-lig-install-button, .eredivisie-install-button, .belgian-pro-league-install-button, .liga-portugal-install-button, .saudi-pro-league-install-button, .mls-install-button, .ucl-install-button):active {
    transform: scale(.97);
  }

  body.before-start:not([data-desktop-mode-setup]) :is(.mode-card-domestic-league[data-domestic-league-preview="premierLeague"], .mode-card-premier-league) {
    background: linear-gradient(135deg, #3a1952 0%, #44205b 58%, #3a1d4a 100%);
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-card-domestic-league[data-domestic-league-preview="serieA"] {
    background:
      radial-gradient(circle at 88% 0, rgba(57, 198, 255, .28), transparent 34%),
      radial-gradient(circle at 0 100%, rgba(18, 109, 255, .24), transparent 40%),
      linear-gradient(145deg, rgba(13, 52, 117, .9), rgba(8, 38, 90, .92) 52%, rgba(3, 20, 47, .96)),
      url("./assets/serie-a-2026-27/serie-a-background.png") center / cover no-repeat,
      #03142f;
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-card-domestic-league[data-domestic-league-preview="bundesliga"] {
    background:
      radial-gradient(circle at 88% 0, rgba(239, 35, 52, .26), transparent 34%),
      radial-gradient(circle at 0 100%, rgba(210, 5, 21, .22), transparent 40%),
      linear-gradient(145deg, #2b2b2b, #1d1d1d 52%, #121212);
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-card-domestic-league[data-domestic-league-preview="eredivisie"] {
    background:
      radial-gradient(circle at 88% 0, rgba(255, 49, 95, .28), transparent 36%),
      radial-gradient(circle at 2% 100%, rgba(155, 134, 255, .24), transparent 42%),
      linear-gradient(145deg, #2b2373, #211a63 54%, #120c4a);
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-card-domestic-league[data-domestic-league-preview="superLig"] {
    background:
      radial-gradient(circle at 8% 0, rgba(226, 25, 55, .3), transparent 38%),
      radial-gradient(circle at 94% 100%, rgba(69, 156, 255, .18), transparent 42%),
      linear-gradient(145deg, #25182f, #0c1d34 54%, #06172b);
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-card-domestic-league[data-domestic-league-preview="belgianProLeague"] {
    background:
      radial-gradient(circle at 88% 0, rgba(254, 25, 64, .3), transparent 36%),
      radial-gradient(circle at 2% 100%, rgba(255, 90, 54, .22), transparent 42%),
      linear-gradient(145deg, #2f0a49, #21043a 54%, #15012a);
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-card-premier-league .premier-league-heading {
    grid-template-columns: 34px minmax(0, 1fr);
    align-items: center;
    gap: 12px;
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-card-premier-league .premier-league-brand-mark {
    width: 34px;
    height: 34px;
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-card-ucl {
    background: radial-gradient(circle at 92% 8%, rgba(82, 112, 210, .18), transparent 38%), #0d1426;
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-card-ucl .ucl-mode-heading {
    padding-right: 0;
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-card-retro {
    display: flex;
    grid-column: 1 / -1 !important;
    min-height: 150px !important;
    height: 150px;
    align-items: stretch;
    gap: 0;
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-card-retro .retro-mode-heading {
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr);
    align-items: center;
    gap: 11px;
    margin: 0 !important;
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-card-retro .retro-mode-heading > img {
    width: 40px;
    height: 42px;
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-card-retro .retro-mode-heading h3 {
    grid-column: 2;
    font-size: clamp(19px, 1.7vw, 23px);
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-card-retro .retro-competition-switch {
    top: 16px;
    right: 20px;
    width: 220px;
    height: 28px;
    padding: 2px;
    gap: 2px;
    border-color: rgba(255, 255, 255, .22);
    border-radius: 7px;
    background: rgba(4, 17, 28, .48);
    box-shadow: none;
    backdrop-filter: blur(8px);
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-card-retro .retro-competition-switch button {
    min-height: 22px;
    padding: 0 5px;
    border-radius: 5px;
    font-size: 9px;
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-card-retro .retro-year-switch,
  body.before-start:not([data-desktop-mode-setup]) .mode-card-retro .retro-year-switch[data-competition="euros"],
  body.before-start:not([data-desktop-mode-setup]) .mode-card-retro .retro-year-switch[data-competition="copa"],
  body.before-start:not([data-desktop-mode-setup]) .mode-card-retro .retro-year-switch[data-competition="afcon"] {
    position: absolute;
    top: 62px;
    left: 18px;
    right: 18px;
    width: auto;
    min-height: 30px;
    gap: 2px;
    padding: 2px;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 7px;
    background: rgba(4, 17, 28, .45);
    box-shadow: none;
    backdrop-filter: blur(8px);
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-card-retro .retro-year-switch {
    grid-template-columns: repeat(8, minmax(0, 1fr)) !important;
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-card-retro .retro-year-switch[data-competition="euros"] {
    grid-template-columns: repeat(8, minmax(0, 1fr)) !important;
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-card-retro .retro-year-switch[data-competition="copa"] {
    grid-template-columns: repeat(8, minmax(0, 1fr)) !important;
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-card-retro .retro-year-switch button {
    min-height: 24px !important;
    padding: 0 4px;
    border-radius: 5px !important;
    font-size: 10px;
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-card-retro .mode-card-actions {
    left: 18px;
    bottom: 12px;
  }

  body.before-start:not([data-desktop-mode-setup]) :is(.mode-card-domestic-league, .mode-card-premier-league) { order: 1; }
  body.before-start:not([data-desktop-mode-setup]) .mode-card-default { order: 2; }
  body.before-start:not([data-desktop-mode-setup]) .mode-card-ucl { order: 3; }
  body.before-start:not([data-desktop-mode-setup]) .mode-card-retro { order: 4; }

  body.before-start:not([data-desktop-mode-setup]) .career-coming-soon-copy {
    height: auto;
    justify-content: flex-start;
  }

  body.before-start:not([data-desktop-mode-setup]) .career-coming-soon-title {
    align-items: center;
  }

  body.before-start:not([data-desktop-mode-setup]) :is(.mode-status, .mode-card-status) {
    padding: 5px 8px;
    border: 1px solid rgba(129, 151, 184, .2);
    border-radius: 999px;
    color: #7f8da1;
    background: rgba(83, 104, 135, .06);
    font: 700 8px/1 "DM Mono", monospace;
    letter-spacing: .08em;
    text-transform: uppercase;
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-card-online h3 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
  }

  html:not(.light-mode) body.before-start:not([data-desktop-mode-setup]) :is(
    .mode-card-default,
    .mode-card-custom,
    .mode-card-legacy,
    .mode-card-online,
    .mode-card-career
  ) {
    background: #0f1722;
  }

  html:not(.light-mode) body.before-start:not([data-desktop-mode-setup]) .mode-card-copy h3 {
    color: #f4f7fb;
  }

  html.light-mode body.before-start:not([data-desktop-mode-setup]) :is(
    .mode-card-default,
    .mode-card-custom,
    .mode-card-legacy,
    .mode-card-online,
    .mode-card-career
  ) {
    border-color: #dfe5ed;
    background: #ffffff;
    box-shadow: 0 1px 0 rgba(255, 255, 255, .8), 0 10px 26px rgba(31, 49, 72, .07);
  }

  html.light-mode body.before-start:not([data-desktop-mode-setup]) :is(
    .mode-card-premier-league,
    .mode-card-ucl,
    .mode-card-retro
  ) .mode-card-copy h3 {
    color: #ffffff;
  }

  @media (hover: hover) and (pointer: fine) {
    body.before-start:not([data-desktop-mode-setup]) .mode-grid > .mode-card:not(.mode-card-coming-soon):hover {
      border-color: rgba(129, 151, 184, .3);
      transform: translateY(-1px);
    }

    body.before-start:not([data-desktop-mode-setup]) :is(.premier-league-install-button, .super-lig-install-button, .eredivisie-install-button, .belgian-pro-league-install-button, .liga-portugal-install-button, .saudi-pro-league-install-button, .mls-install-button, .ucl-install-button):hover {
      border-color: rgba(255, 255, 255, .38);
      background: rgba(7, 12, 24, .3);
    }
  }
}

@media (max-width: 720px) {
  .mode-card-retro.is-mobile-expanded .retro-competition-switch {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .mode-card-retro.is-mobile-expanded .retro-year-switch[data-competition="euros"] {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .mode-card-retro.is-mobile-expanded :is(
    .retro-year-switch[data-competition="copa"],
    .retro-year-switch[data-competition="afcon"]
  ) {
    grid-template-columns: minmax(0, 1fr);
  }

  .mode-grid > .mode-card.is-mobile-expanded .mode-coming-soon-button {
    width: 100%;
    min-height: 46px;
    margin-top: 10px;
  }
}
body.retro-mode-active.retro-1998-active .retro-tournament-screen {
  color: #f7faff !important;
  background: linear-gradient(180deg, rgba(2,13,41,.12), rgba(2,13,41,.7)) !important;
}
body.retro-mode-active.retro-1998-active .retro-screen-header {
  border-color: rgba(220,229,239,.62) !important;
  background: linear-gradient(180deg, rgba(45,91,157,.94), rgba(4,28,75,.97)) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.5), 0 8px 22px rgba(0,5,22,.34) !important;
}
body.retro-mode-active.retro-1998-active .retro-tournament-heading {
  min-height: 0;
  padding: 16px 22px;
  border: 1px solid rgba(220,229,239,.58) !important;
  border-radius: 8px;
  color: #f7faff !important;
  background: linear-gradient(180deg, rgba(255,255,255,.18), rgba(31,69,126,.86) 32%, rgba(4,25,67,.94) 34%) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.52), 0 10px 25px rgba(0,5,22,.3) !important;
}
body.retro-mode-active.retro-1998-active .retro-tournament-heading > * {
  visibility: visible !important;
  pointer-events: auto !important;
}
body.retro-mode-active.retro-1998-active .retro-tournament-heading :is(h1, strong) { color: #f7faff !important; }
body.retro-mode-active.retro-1998-active .retro-tournament-heading :is(span, #retroTournamentKicker) { color: #dce5ef !important; }
body.retro-mode-active.retro-1998-active :is(.retro-screen-back, .retro-screen-restart, .retro-screen-action, .retro-back-to-modes, .utility-button) {
  border: 1px solid rgba(220,229,239,.68) !important;
  border-radius: 7px !important;
  color: #f7faff !important;
  background: linear-gradient(180deg, rgba(75,119,180,.96), rgba(8,47,115,.98)) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.5), 0 4px 10px rgba(0,5,22,.28) !important;
}
body.retro-mode-active.retro-1998-active #mainContent .retro-view-tabs {
  border: 1px solid rgba(220,229,239,.58) !important;
  background: linear-gradient(180deg, rgba(58,99,158,.9), rgba(4,28,75,.94)) !important;
}
body.retro-mode-active.retro-1998-active .retro-view-tabs {
  border: 1px solid rgba(220,229,239,.58) !important;
  background: linear-gradient(180deg, rgba(58,99,158,.9), rgba(4,28,75,.94)) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.4), 0 9px 20px rgba(0,5,22,.3) !important;
}
body.retro-mode-active.retro-1998-active #mainContent .retro-view-tabs button {
  border-color: rgba(220,229,239,.38) !important;
  color: #bdcce0 !important;
  background: rgba(2,20,57,.82) !important;
}
body.retro-mode-active.retro-1998-active #mainContent .retro-view-tabs button.active {
  color: #fff !important;
  background: linear-gradient(180deg, #326ec5, #0b3f96 52%, #06275f 54%) !important;
}
body.retro-mode-active.retro-1998-active .retro-view-tabs button {
  border-color: rgba(220,229,239,.38) !important;
  color: #bdcce0 !important;
  background: rgba(2,20,57,.82) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.18) !important;
}
body.retro-mode-active.retro-1998-active .retro-view-tabs button.active {
  border-color: #dce5ef !important;
  color: #fff !important;
  background: linear-gradient(180deg, #326ec5, #0b3f96 52%, #06275f 54%) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.48), 0 4px 0 #021a43 !important;
}
body.retro-mode-active.retro-1998-active #mainContent :is(.stage-column, .match-stage, .match-analysis, .retro-match-lineups-panel, .retro-lineup-side, .fixture-grid, .fixture) {
  border-color: rgba(220,229,239,.58) !important;
  color: #f7faff !important;
  background-color: #041c4b !important;
  background-image: linear-gradient(145deg, rgba(255,255,255,.12), transparent 23%), linear-gradient(180deg, rgba(31,69,126,.94), rgba(4,25,67,.97)) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.36), 0 10px 25px rgba(0,5,22,.28) !important;
}
body.retro-mode-active.retro-1998-active #mainContent .retro-lineup-side header {
  color: #f7faff !important;
  background: linear-gradient(90deg, #082f73, #0b3f96, #722344) !important;
}
body.retro-mode-active.retro-1998-active #mainContent :is(.live-control, .secondary-button, .text-button, .history-round-button, .stage-action) {
  border-color: rgba(220,229,239,.62) !important;
  color: #fff !important;
  background: linear-gradient(180deg, #2c69c3, #0b3f96 50%, #052964 52%) !important;
}
body.retro-mode-active.retro-1998-active #mainContent :is(.search, .team-filter-search, .team-filter-control, input, select) {
  border-color: rgba(220,229,239,.58) !important;
  color: #f7faff !important;
  background: rgba(2,17,49,.9) !important;
}
body.retro-mode-active.retro-1998-active #mainContent :is(.stage-round, .match-analysis-heading, .retro-standard-fixture-meta, summary, small, em) {
  color: #bdcce0 !important;
  border-color: rgba(220,229,239,.3) !important;
}
body.retro-mode-active.retro-1998-active #mainContent .retro-live-table-row.qualification-place {
  border-color: rgba(220,229,239,.42) !important;
  background: linear-gradient(90deg, rgba(44,105,195,.34), rgba(4,28,75,.28)) !important;
}
body.retro-mode-active.retro-1998-active .retro-tournament-screen :is(.primary-button, .secondary-button, .live-control, .stage-action, .text-button, .history-round-button) {
  border-color: rgba(220,229,239,.64) !important;
  color: #fff !important;
  background: linear-gradient(180deg, #2c69c3, #0b3f96 50%, #052964 52%) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.5), 0 5px 0 #021a43 !important;
}
body.retro-mode-active.retro-1998-active .retro-tournament-screen :is(.stage-round, .match-analysis-heading, .retro-standard-fixture-meta, .stage-topline span, summary, small, em, b) {
  color: #bdcce0 !important;
  border-color: rgba(220,229,239,.3) !important;
}
body.retro-mode-active.retro-1998-active .retro-tournament-screen :is(.team-filter-search, .search) {
  box-shadow: inset 0 1px 5px rgba(0,4,20,.56), 0 3px 0 #021a43 !important;
}
body.retro-mode-active.retro-1998-active .retro-tournament-screen :is(.retro-lineup-side, .country-flag, .retro-lineup-flag) {
  box-shadow: inset 0 1px rgba(255,255,255,.25), 0 7px 18px rgba(0,5,22,.26) !important;
}
body.retro-mode-active.retro-1998-active .retro-tournament-screen :is(.stage-column, .match-stage, .fixture-grid)::before,
body.retro-mode-active.retro-1998-active .retro-tournament-screen :is(.stage-column, .match-stage, .fixture-grid)::after {
  border-color: rgba(220,229,239,.58) !important;
  background: linear-gradient(90deg, #0b3f96, #c92f4f) !important;
}
body.retro-mode-active.retro-1998-active .retro-tournament-screen :is(.retro-view-tabs, .match-analysis, .round-board)::before,
body.retro-mode-active.retro-1998-active .retro-tournament-screen :is(.retro-view-tabs, .match-analysis, .round-board)::after {
  border-color: rgba(220,229,239,.58) !important;
  background: linear-gradient(90deg, #0b3f96, #c92f4f) !important;
}
body.retro-mode-active.retro-1998-active .retro-back-to-modes span { color: #f7faff !important; }
body.retro-mode-active.retro-1998-active #retroAchievementsModal[data-achievement-theme="1998"],
#retroAchievementsModal[data-achievement-theme="1998"] {
  border: 1px solid rgba(220,229,239,.68) !important;
  border-top: 5px solid #c92f4f !important;
  border-radius: 10px !important;
  color: #f7faff !important;
  background: linear-gradient(145deg, rgba(35,78,141,.99), rgba(3,20,57,.99) 66%, rgba(105,27,57,.98)) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.52), 0 28px 70px rgba(0,4,20,.6) !important;
}
#retroAchievementsModal[data-achievement-theme="1998"] :is(h2, strong, b) { color: #f7faff !important; }
#retroAchievementsModal[data-achievement-theme="1998"] :is(p, small, .achievements-mode-label) { color: #bdcce0 !important; }
#retroAchievementsModal[data-achievement-theme="1998"] #retroAchievementProgressLabel { color: #dce5ef !important; }
#retroAchievementsModal[data-achievement-theme="1998"] :is(.achievement-year-tabs, .retro-achievements-progress) {
  border-color: rgba(220,229,239,.42) !important;
  background: rgba(2,18,53,.78) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.16) !important;
}
#retroAchievementsModal[data-achievement-theme="1998"] .achievement-year-tabs button {
  border-radius: 4px !important;
  color: #bdcce0 !important;
  background: rgba(7,35,80,.72) !important;
}
#retroAchievementsModal[data-achievement-theme="1998"] .achievement-year-tabs button[aria-selected="true"] {
  color: #fff !important;
  background: linear-gradient(180deg, #326ec5, #0b3f96 54%, #06275f 56%) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.46) !important;
}
#retroAchievementsModal[data-achievement-theme="1998"] .achievement-country {
  border: 1px solid rgba(220,229,239,.32) !important;
  border-radius: 7px !important;
  color: #f7faff !important;
  background: linear-gradient(155deg, rgba(58,99,158,.78), rgba(4,28,75,.92)) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.24) !important;
}
#retroAchievementsModal[data-achievement-theme="1998"] .achievement-country small { color: #bdcce0 !important; }
#retroAchievementsModal[data-achievement-theme="1998"] .achievement-country b { color: #dce5ef !important; }
#retroAchievementsModal[data-achievement-theme="1998"] .achievement-progress-track {
  border-color: rgba(220,229,239,.42) !important;
  background: #021531 !important;
}
#retroAchievementsModal[data-achievement-theme="1998"] .achievement-progress-track span { background: linear-gradient(90deg, #2f71d0, #c92f4f) !important; }
#retroAchievementsModal[data-achievement-theme="1998"] :is(.retro-achievements-close, .achievement-login-button) {
  border-color: #dce5ef !important;
  color: #fff !important;
  background: linear-gradient(180deg, #2f71d0, #0b3f96 54%, #052863 56%) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.48), 0 4px 0 #021a43 !important;
}
body.retro-mode-active.retro-1998-active :is(.retro-group-table, .retro-fixture, .retro-squad-view, .retro-lineups-view, .retro-manager-lineup, #mainContent .panel, #mainContent .match-stage, #mainContent .round-board, #mainContent .penalty-stage, #mainContent .match-penalty-overlay, #mainContent .champion-stage, .retro-champion, .modal, .confirm-modal, .snapshot-modal) {
  border-color: rgba(220, 229, 239, .58);
  color: #f7faff;
  background-color: #041c4b;
  background-image: linear-gradient(145deg, rgba(255,255,255,.15), transparent 24%), linear-gradient(180deg, rgba(31,69,126,.92), rgba(4,25,67,.96));
}
body.retro-mode-active.retro-1998-active :is(.primary-button, #mainContent .primary-button, .snapshot-actions button) {
  border-color: #dce5ef;
  color: #fff;
  background: linear-gradient(180deg, #2c69c3, #0b3f96 48%, #052964 51%, #082f73);
}
body.retro-mode-active.retro-1998-active #mainContent :is(.match-penalty-targets, .standard-penalty-targets) button,
body.retro-mode-active.retro-1998-active #mainContent :is(.shootout-summary-row i, .penalty-score-dot, .kick-result-marker) { border-radius: 50% !important; }
body.retro-mode-active.retro-1998-active #mainContent :is(.bracket-connector::before, .bracket-connector::after, .bracket-line) { border-color: rgba(220,229,239,.68); background: rgba(220,229,239,.68); }
body.retro-mode-active.retro-1998-active #mainContent :is(.bracket-card, .bracket-match, .third-place-card) { border-color: rgba(220,229,239,.58); background: linear-gradient(160deg, rgba(52,96,158,.94), rgba(4,28,75,.97)); }
@media (max-width: 720px) {
  body.retro-mode-active.retro-1998-active {
    background-image: url("./assets/retro-1998/france-98-bg-portrait.png") !important;
    background-attachment: scroll !important;
  }
  body.retro-mode-active.retro-1998-active .retro-tournament-heading { margin-top: 36px; }
}

/* Copa América USA 2024: isolated broadcast package. Keep this edition's
   palette at the highest shared cascade layer so older retro skins cannot
   leak into the match centre, manager, bracket, shootout or champions view. */
body.retro-mode-active.retro-copa-2024-active {
  --copa-navy: #061d54;
  --copa-blue: #0b3f96;
  --copa-blue-bright: #176fe4;
  --copa-red: #a9233a;
  --copa-red-dark: #74172a;
  --copa-white: #ffffff;
  --copa-silver: #cfd6e6;
  --copa-ink: #071938;
  --copa-muted: #aebbd4;
  --copa-panel: #f7f9fd;
  --copa-line: rgba(207, 214, 230, .46);
  color: var(--copa-white) !important;
  background: #041536 url("./assets/copa-america-2024-bg-desktop.svg") center top / cover fixed no-repeat !important;
  isolation: isolate;
}

body.retro-mode-active.retro-copa-2024-active::before {
  position: fixed;
  z-index: -1;
  inset: 0;
  pointer-events: none;
  content: "";
  background: radial-gradient(circle at 12% 14%, rgba(255,255,255,.08) 0 1px, transparent 2px),
    radial-gradient(circle at 84% 20%, rgba(229,27,43,.24) 0 2px, transparent 3px),
    repeating-linear-gradient(118deg, transparent 0 80px, rgba(255,255,255,.018) 81px 83px);
}

body.retro-mode-active.retro-copa-2024-active .retro-tournament-screen {
  color: var(--copa-white) !important;
  background: linear-gradient(180deg, rgba(3, 17, 52, .15), rgba(3, 16, 49, .76)) !important;
}

body.retro-mode-active.retro-copa-2024-active :is(.retro-screen-header, .retro-saved-tournament-actions, .retro-tournament-heading, .retro-view-tabs, .retro-tournament-body) {
  position: relative;
  z-index: 1;
}

body.retro-mode-active.retro-copa-2024-active .retro-screen-header {
  border-bottom: 1px solid rgba(255,255,255,.24) !important;
  color: var(--copa-white) !important;
  background: rgba(3, 18, 57, .94) !important;
  box-shadow: 0 8px 24px rgba(0, 9, 39, .28) !important;
}

body.retro-mode-active.retro-copa-2024-active :is(.retro-screen-back, .retro-screen-restart, .retro-screen-action, .retro-back-to-modes, .utility-button) {
  border: 1px solid var(--copa-line) !important;
  border-radius: 5px !important;
  color: var(--copa-white) !important;
  background: #092b70 !important;
  box-shadow: none !important;
}

body.retro-mode-active.retro-copa-2024-active :is(.retro-screen-back, .retro-screen-restart, .retro-screen-action, .retro-back-to-modes, .utility-button):is(:hover, :focus-visible):not(:disabled) {
  border-color: var(--copa-white) !important;
  color: var(--copa-white) !important;
  background: var(--copa-red) !important;
}

body.retro-mode-active.retro-copa-2024-active :is(.retro-screen-back, .retro-screen-restart, .retro-screen-action, .retro-back-to-modes, .utility-button):disabled {
  color: rgba(255,255,255,.48) !important;
  background: rgba(6,29,84,.62) !important;
}

body.retro-mode-active.retro-copa-2024-active .retro-saved-tournament-actions {
  border-color: transparent !important;
}

body.retro-mode-active.retro-copa-2024-active .retro-back-to-modes {
  border-color: var(--copa-white) !important;
  color: var(--copa-ink) !important;
  background: var(--copa-white) !important;
}

body.retro-mode-active.retro-copa-2024-active .retro-tournament-heading {
  min-height: 0 !important;
  padding: 18px 22px !important;
  border: 1px solid var(--copa-line) !important;
  border-left: 6px solid var(--copa-red) !important;
  border-radius: 6px !important;
  color: var(--copa-white) !important;
  background: linear-gradient(105deg, rgba(7,43,112,.96), rgba(6,29,84,.96) 68%, rgba(229,27,43,.72)) !important;
  box-shadow: 0 12px 28px rgba(0, 9, 39, .22) !important;
}

body.retro-mode-active.retro-copa-2024-active .retro-tournament-heading::after {
  position: absolute;
  right: 20px;
  bottom: 12px;
  width: 86px;
  height: 1px;
  content: "";
  background: var(--copa-silver);
  opacity: .74;
}

body.retro-mode-active.retro-copa-2024-active .retro-tournament-heading :is(h1, strong) { color: var(--copa-white) !important; }
body.retro-mode-active.retro-copa-2024-active .retro-tournament-heading :is(span, #retroTournamentKicker) { color: var(--copa-silver) !important; }

body.retro-mode-active.retro-copa-2024-active .retro-view-tabs {
  border: 1px solid var(--copa-line) !important;
  border-radius: 5px !important;
  background: rgba(4, 22, 62, .92) !important;
  box-shadow: none !important;
}

body.retro-mode-active.retro-copa-2024-active .retro-view-tabs button {
  border-color: transparent !important;
  border-radius: 3px !important;
  color: var(--copa-muted) !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.retro-mode-active.retro-copa-2024-active .retro-view-tabs button:is(:hover, :focus-visible):not(.active) {
  color: var(--copa-white) !important;
  background: rgba(23,111,228,.24) !important;
}

body.retro-mode-active.retro-copa-2024-active .retro-view-tabs button.active,
body.retro-mode-active.retro-copa-2024-active .retro-view-tabs button[aria-selected="true"] {
  border-color: var(--copa-red) !important;
  color: var(--copa-white) !important;
  background: var(--copa-red) !important;
}

body.retro-mode-active.retro-copa-2024-active #mainContent :is(
  .retro-group-table,
  .retro-fixture,
  .retro-squad-view,
  .retro-lineups-view,
  .retro-manager-lineup,
  .retro-match-lineups-panel,
  .retro-lineup-side,
  .panel,
  .match-stage,
  .match-analysis,
  .round-board,
  .fixture-grid,
  .fixture,
  .stage-column,
  .retro-live-ratings-side,
  .retro-golden-boot,
  .retro-golden-glove,
  .retro-champion,
  .champion-stage,
  .modal,
  .confirm-modal,
  .snapshot-modal,
  .achievement-unlock-modal
) {
  border: 1px solid rgba(7,25,56,.18) !important;
  border-radius: 6px !important;
  color: var(--copa-ink) !important;
  background: var(--copa-panel) !important;
  box-shadow: 0 10px 26px rgba(0, 12, 54, .18) !important;
}

body.retro-mode-active.retro-copa-2024-active #mainContent :is(
  .retro-group-table h2,
  .retro-lineup-side > header,
  .retro-manager-lineup > header,
  .retro-live-ratings-side > header,
  .retro-golden-boot > header,
  .retro-golden-glove > header,
  .panel-heading,
  .match-analysis-heading,
  .round-heading,
  .round-title,
  .bracket-round-heading,
  .bracket-round-title,
  .bracket-round-header,
  .bracket-header,
  .bracket-column > h3
) {
  border-color: rgba(7,25,56,.12) !important;
  color: var(--copa-white) !important;
  background: var(--copa-navy) !important;
}

body.retro-mode-active.retro-copa-2024-active #mainContent :is(
  .retro-table-head,
  .retro-live-table-head,
  .retro-fixture header,
  .retro-standard-fixture-meta,
  .stage-topline,
  .match-meta,
  .match-header
) {
  color: var(--copa-navy) !important;
  background: #e9edf5 !important;
}

body.retro-mode-active.retro-copa-2024-active #mainContent :is(
  .retro-table-row,
  .retro-live-table-row,
  .retro-fixture,
  .retro-squad-row,
  .retro-live-rating-row,
  .fixture,
  .fixture.bracket-fixture,
  .bracket-card,
  .bracket-match,
  .third-place-card
) {
  border-color: rgba(7,25,56,.14) !important;
  color: var(--copa-ink) !important;
  background: #ffffff !important;
}

body.retro-mode-active.retro-copa-2024-active #mainContent :is(
  .retro-table-row:nth-child(even),
  .retro-live-table-row:nth-child(even),
  .retro-squad-row:nth-child(even)
) { background: #eef2f8 !important; }

body.retro-mode-active.retro-copa-2024-active #mainContent :is(.retro-table-row.qualified, .retro-live-table-row.qualification-place, .retro-manager-player.is-selected) {
  border-left: 4px solid var(--copa-red) !important;
  background: #e8eefb !important;
  box-shadow: none !important;
}

body.retro-mode-active.retro-copa-2024-active #mainContent :is(
  h1, h2, h3, h4, strong, b, .fixture-team, .retro-lineup-player-name,
  .retro-squad-player-name, .retro-table-row > *, .retro-fixture > *
) { color: var(--copa-ink) !important; }

body.retro-mode-active.retro-copa-2024-active #mainContent :is(
  small, em, .stage-round, .stage-topline span, .retro-standard-fixture-meta,
  .retro-table-row small, .retro-fixture small, .fixture-meta, .match-meta
) { color: #53627c !important; }

body.retro-mode-active.retro-copa-2024-active #mainContent :is(
  .primary-button,
  .play-button,
  .stage-action,
  .live-control,
  .secondary-button,
  .text-button,
  .history-round-button,
  .snapshot-actions button,
  .champion-actions button,
  .achievement-unlock-action
) {
  border: 1px solid rgba(7,25,56,.22) !important;
  border-radius: 5px !important;
  color: var(--copa-white) !important;
  background: var(--copa-blue) !important;
  box-shadow: none !important;
}

body.retro-mode-active.retro-copa-2024-active #mainContent :is(
  .primary-button,
  .play-button,
  .stage-action,
  .live-control,
  .secondary-button,
  .text-button,
  .history-round-button,
  .snapshot-actions button,
  .champion-actions button
):is(:hover, :focus-visible):not(:disabled) {
  border-color: var(--copa-red) !important;
  color: var(--copa-white) !important;
  background: var(--copa-red) !important;
}

body.retro-mode-active.retro-copa-2024-active #mainContent :is(button, input, select, textarea):disabled {
  color: #8592a9 !important;
  background: #dfe5ef !important;
  border-color: #c4cddd !important;
}

body.retro-mode-active.retro-copa-2024-active #mainContent :is(input, select, textarea, .search, .team-filter-search, .team-filter-control, .formation-dropdown, .search-result-popover) {
  border: 1px solid #aeb9cb !important;
  border-radius: 4px !important;
  color: var(--copa-ink) !important;
  background: #ffffff !important;
  box-shadow: none !important;
}

body.retro-mode-active.retro-copa-2024-active #mainContent :is(input, select, textarea, .search, .team-filter-search):focus,
body.retro-mode-active.retro-copa-2024-active #mainContent :is(input, select, textarea, .search, .team-filter-search):focus-visible {
  outline: 2px solid rgba(229,27,43,.35) !important;
  border-color: var(--copa-red) !important;
}

body.retro-mode-active.retro-copa-2024-active #mainContent :is(.retro-fixture, .fixture, .fixture.bracket-fixture):is(:hover, .selected) {
  border-color: var(--copa-red) !important;
  box-shadow: inset 4px 0 var(--copa-red), 0 10px 22px rgba(0, 12, 54, .18) !important;
}

body.retro-mode-active.retro-copa-2024-active #mainContent :is(.standard-match-tactics, .standard-tactic-buttons, .tactic-button, .lineup-tab, .formation-option) {
  border-color: rgba(7,25,56,.18) !important;
  color: var(--copa-ink) !important;
  background: #eef2f8 !important;
}

body.retro-mode-active.retro-copa-2024-active #mainContent :is(.standard-tactic-buttons button, .tactic-button, .lineup-tab, .formation-option):is(:hover, :focus-visible):not(.active) {
  border-color: var(--copa-blue-bright) !important;
  color: var(--copa-navy) !important;
  background: #dfe9fb !important;
}

body.retro-mode-active.retro-copa-2024-active #mainContent :is(.standard-tactic-buttons button.active, .tactic-button.active, .lineup-tab.active, .formation-option.active) {
  border-color: var(--copa-red) !important;
  color: var(--copa-white) !important;
  background: var(--copa-red) !important;
}

body.retro-mode-active.retro-copa-2024-active #mainContent :is(.lineup-pitch, .retro-manager-pitch, .match-2d-pitch) {
  border: 1px solid rgba(7,25,56,.24) !important;
  border-radius: 5px !important;
  background: linear-gradient(135deg, #0b3f96, #092a6c) !important;
  box-shadow: inset 0 0 0 2px rgba(255,255,255,.14) !important;
}

body.retro-mode-active.retro-copa-2024-active #mainContent :is(.retro-pitch-player, .bench-player, .retro-manager-player, .player-card, .lineup-player-card) {
  border-color: rgba(7,25,56,.18) !important;
  border-radius: 5px !important;
  color: var(--copa-ink) !important;
  background: #ffffff !important;
  box-shadow: 0 4px 12px rgba(0,12,54,.12) !important;
}

body.retro-mode-active.retro-copa-2024-active #mainContent :is(.retro-pitch-player i, .player-number, .bench-player-number, .lineup-player-number) {
  border-radius: 50% !important;
  color: var(--copa-white) !important;
  background: var(--copa-red) !important;
}

body.retro-mode-active.retro-copa-2024-active #mainContent :is(.match-commentary-view, .match-commentary-feed, .commentary-bar, .commentary-feed, .live-commentary, .match-commentary) {
  border-color: rgba(207,214,230,.42) !important;
  border-radius: 5px !important;
  color: var(--copa-white) !important;
  background: var(--copa-navy) !important;
}

body.retro-mode-active.retro-copa-2024-active #mainContent .match-commentary-feed .commentary-line span { color: #edf2fb !important; }
body.retro-mode-active.retro-copa-2024-active #mainContent .match-commentary-feed:is(.is-major, .is-goal, .is-goal-flash) {
  border-color: var(--copa-red) !important;
  box-shadow: inset 5px 0 var(--copa-red) !important;
}

body.retro-mode-active.retro-copa-2024-active #mainContent :is(.bracket-heads, .bracket-round-heading, .bracket-round-title, .bracket-round-header) {
  color: var(--copa-white) !important;
  background: var(--copa-navy) !important;
}

body.retro-mode-active.retro-copa-2024-active #mainContent .bracket-heads span { color: var(--copa-silver) !important; }
body.retro-mode-active.retro-copa-2024-active #mainContent :is(.bracket-connector::before, .bracket-connector::after, .bracket-line) {
  border-color: var(--copa-silver) !important;
  background: var(--copa-silver) !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent :is(.bracket-connector, .bracket-line) { background: transparent !important; }
body.retro-mode-active.retro-copa-2024-active #mainContent .fixture.bracket-fixture :is(.fixture-team.winner, .is-winner) { color: var(--copa-red) !important; }

body.retro-mode-active.retro-copa-2024-active #mainContent :is(.penalty-stage, .match-penalty-overlay, .match-penalty-decision) {
  border-color: rgba(207,214,230,.42) !important;
  border-radius: 6px !important;
  color: var(--copa-white) !important;
  background: var(--copa-navy) !important;
}

body.retro-mode-active.retro-copa-2024-active #mainContent :is(.penalty-scene, .match-penalty-scene, .standard-penalty-scene, .penalty-pitch, .match-penalty-pitch, .online-penalty-pitch) {
  border-color: rgba(255,255,255,.62) !important;
  border-radius: 5px !important;
  background: linear-gradient(135deg, #0b3f96, #061d54) !important;
}

body.retro-mode-active.retro-copa-2024-active #mainContent :is(.penalty-goal, .penalty-net, .retro-pitch-halfway, .retro-pitch-circle, .match-2d-halfway, .match-2d-circle, .match-2d-box) { border-color: rgba(255,255,255,.72) !important; }

body.retro-mode-active.retro-copa-2024-active #mainContent :is(.match-penalty-targets, .standard-penalty-targets) button {
  border: 2px solid rgba(255,255,255,.72) !important;
  border-radius: 50% !important;
  background: rgba(23,111,228,.9) !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent :is(.match-penalty-targets, .standard-penalty-targets) button:is(:hover, :focus-visible, .selected) {
  border-color: var(--copa-red) !important;
  background: var(--copa-red) !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent :is(.penalty-marks i, .shootout-summary-row i, .penalty-score-dot, .kick-result-marker, .penalty-mark) {
  border-radius: 50% !important;
  color: var(--copa-white) !important;
  background: var(--copa-red) !important;
}

body.retro-mode-active.retro-copa-2024-active #mainContent :is(.snapshot-modal, .snapshot-modal form) {
  border-top: 5px solid var(--copa-red) !important;
  color: var(--copa-ink) !important;
  background: var(--copa-panel) !important;
}
body.retro-mode-active.retro-copa-2024-active .snapshot-modal :is(.snapshot-modal-head, .snapshot-preview) {
  border-color: rgba(7,25,56,.16) !important;
  color: var(--copa-white) !important;
  background: linear-gradient(130deg, #061d54, #0b3f96 62%, #e51b2b) !important;
}

body.retro-mode-active.retro-copa-2024-active #mainContent .champion-stage {
  border-top: 6px solid var(--copa-red) !important;
  color: var(--copa-ink) !important;
  background: #f7f9fd !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent .champion-stage :is(.champion-content, .champion-podium, .champion-award, .champion-extra-awards > *, .prediction-result) {
  border-color: rgba(7,25,56,.16) !important;
  color: var(--copa-ink) !important;
  background: #ffffff !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent .champion-stage :is(h2, .trophy, .champion-award strong, .champion-award span) { color: var(--copa-navy) !important; }
body.retro-mode-active.retro-copa-2024-active #mainContent .champion-stage :is(p, small, .champion-section-label, .champion-place > b) { color: #53627c !important; }
body.retro-mode-active.retro-copa-2024-active #mainContent .champion-stage .champion-award-mark { color: var(--copa-red) !important; background: #e9edf5 !important; }
body.retro-mode-active.retro-copa-2024-active #mainContent .champion-stage .place-1 { border-top: 4px solid var(--copa-red) !important; }

body.retro-mode-active.retro-copa-2024-active :is(.modal, .confirm-modal, .snapshot-modal, .retro-achievements-modal, .achievement-unlock-modal)::backdrop,
body.retro-mode-active.retro-copa-2024-active + dialog::backdrop { background: rgba(1, 9, 30, .72) !important; }

.feature-announcement-copa-2024 {
  border: 1px solid rgba(207,214,230,.62) !important;
  border-top: 6px solid #e51b2b !important;
  border-radius: 7px !important;
  color: #071938 !important;
  background: #f7f9fd !important;
  box-shadow: 0 24px 70px rgba(0, 12, 54, .35) !important;
}
.feature-announcement-copa-2024::backdrop { background: rgba(1, 9, 30, .72) !important; }
.feature-announcement-copa-2024 :is(.feature-announcement-mark, .feature-announcement-art) {
  border-color: rgba(7,25,56,.16) !important;
  background: linear-gradient(135deg, #061d54, #0b3f96 60%, #e51b2b) !important;
}
.feature-announcement-copa-2024 img { max-width: 160px; filter: drop-shadow(0 8px 12px rgba(0,9,45,.28)); }
.feature-announcement-copa-2024 h2 { color: #061d54 !important; }
.feature-announcement-copa-2024 p { color: #53627c !important; }
.feature-announcement-copa-2024 .feature-announcement-button { border-color: #e51b2b !important; background: #e51b2b !important; }
.feature-announcement-copa-2024 .feature-announcement-button:hover,
.feature-announcement-copa-2024 .feature-announcement-button:focus-visible { background: #a70f20 !important; }

#achievementsScreen[data-achievement-theme="2024"],
#retroAchievementsModal[data-achievement-theme="2024"] {
  --achievement-accent: #e51b2b;
  --achievement-accent-text: #ffffff;
  --achievement-surface: #0b3f96;
  --achievement-surface-deep: #061d54;
  --achievement-tab-surface: #e9edf5;
  --achievement-card: #ffffff;
  --achievement-card-complete: #dce8ff;
  --achievement-copy: #071938;
  --achievement-muted: #53627c;
  --achievement-points: #a70f20;
  --achievement-shadow: rgba(0,12,54,.2);
  color: var(--achievement-copy) !important;
  border-top: 6px solid var(--achievement-accent) !important;
  background: #f7f9fd url("./assets/copa-america-2024-bg-portrait.svg") center / cover fixed no-repeat !important;
}
#achievementsScreen[data-achievement-theme="2024"] :is(.achievement-year-tabs, .retro-achievements-progress),
#retroAchievementsModal[data-achievement-theme="2024"] :is(.achievement-year-tabs, .retro-achievements-progress) { border-color: rgba(7,25,56,.16) !important; background: #e9edf5 !important; }
#achievementsScreen[data-achievement-theme="2024"] .achievement-year-tabs button,
#retroAchievementsModal[data-achievement-theme="2024"] .achievement-year-tabs button { color: #53627c !important; background: transparent !important; }
#achievementsScreen[data-achievement-theme="2024"] .achievement-year-tabs button[aria-selected="true"],
#retroAchievementsModal[data-achievement-theme="2024"] .achievement-year-tabs button[aria-selected="true"] { color: #fff !important; background: #e51b2b !important; }
#achievementsScreen[data-achievement-theme="2024"] .achievement-country,
#retroAchievementsModal[data-achievement-theme="2024"] .achievement-country { border-color: rgba(7,25,56,.15) !important; color: #071938 !important; background: #fff !important; }
#achievementsScreen[data-achievement-theme="2024"] .achievement-country.is-complete,
#retroAchievementsModal[data-achievement-theme="2024"] .achievement-country.is-complete { border-left: 4px solid #e51b2b !important; background: #dce8ff !important; }
#achievementsScreen[data-achievement-theme="2024"] :is(h1, h2, h3, strong),
#retroAchievementsModal[data-achievement-theme="2024"] :is(h1, h2, h3, strong) { color: #061d54 !important; }
#achievementsScreen[data-achievement-theme="2024"] :is(p, small, b, #achievementProgressLabel, #retroAchievementProgressLabel),
#retroAchievementsModal[data-achievement-theme="2024"] :is(p, small, b, #achievementProgressLabel, #retroAchievementProgressLabel) { color: #53627c !important; }
#achievementsScreen[data-achievement-theme="2024"] .achievement-progress-track,
#retroAchievementsModal[data-achievement-theme="2024"] .achievement-progress-track { background: #cbd5e6 !important; }
#achievementsScreen[data-achievement-theme="2024"] .achievement-progress-track span,
#retroAchievementsModal[data-achievement-theme="2024"] .achievement-progress-track span { background: linear-gradient(90deg, #0b3f96, #e51b2b) !important; }

.achievement-unlock-banner[data-achievement-theme="2024"],
.achievement-unlock-modal[data-achievement-theme="2024"] { border-top-color: #e51b2b !important; color: #071938 !important; background: #f7f9fd !important; }
.achievement-unlock-banner[data-achievement-theme="2024"] .achievement-unlock-banner-mark,
.achievement-unlock-modal[data-achievement-theme="2024"] .achievement-unlock-mark,
.achievement-unlock-modal[data-achievement-theme="2024"] .achievement-unlock-action { color: #fff !important; background: #e51b2b !important; }

.tournament-history-screen[data-history-theme="2024"] {
  --history-accent: #e51b2b;
  --history-accent-strong: #0b3f96;
  --history-surface: #f7f9fd;
  --history-ink: #071938;
  color: var(--history-ink) !important;
  background: #f7f9fd url("./assets/copa-america-2024-bg-portrait.svg") center / cover fixed no-repeat !important;
}
.tournament-history-screen[data-history-theme="2024"] :is(.tournament-history-back, .tournament-history-brand-mark, .tournament-history-hero, .tournament-history-summary article, .tournament-history-rounds, .tournament-history-match, .tournament-history-fixture) {
  border-color: rgba(7,25,56,.16) !important;
  border-radius: 6px !important;
  color: #071938 !important;
  background: #ffffff !important;
}
.tournament-history-screen[data-history-theme="2024"] .tournament-history-hero { border-top: 6px solid #e51b2b !important; }

@media (max-width: 720px) {
  body.retro-mode-active.retro-copa-2024-active { background-image: url("./assets/copa-america-2024-bg-portrait.svg") !important; background-attachment: scroll !important; }
  body.retro-mode-active.retro-copa-2024-active .retro-tournament-heading { padding: 14px 15px !important; border-left-width: 4px !important; }
  body.retro-mode-active.retro-copa-2024-active .retro-tournament-heading::after { right: 12px; bottom: 9px; width: 48px; }
  body.retro-mode-active.retro-copa-2024-active #mainContent .fixture-grid.bracket-mode,
  body.retro-mode-active.retro-copa-2024-active #mainContent .retro-bracket,
  body.retro-mode-active.retro-copa-2024-active #mainContent .bracket-board { overflow-x: auto !important; overscroll-behavior-x: contain; }
  body.retro-mode-active.retro-copa-2024-active #mainContent .bracket-column { min-width: 170px; }
  body.retro-mode-active.retro-copa-2024-active #mainContent .champion-stage { padding: 9px !important; }
  body.retro-mode-active.retro-copa-2024-active #mainContent .champion-stage .champion-content { padding: 18px 10px 20px !important; }
  body.retro-mode-active.retro-copa-2024-active #mainContent .champion-stage #championName { font-size: 38px !important; }
  #achievementsScreen[data-achievement-theme="2024"], #retroAchievementsModal[data-achievement-theme="2024"] { background-attachment: scroll !important; }
}

/* France 1998 menu-parity visual lock: the playable mode extends the sage,
   burgundy and cream presentation used by its selector card. */
body.retro-mode-active.retro-1998-active {
  --r98-sage-light: #a4b9a0;
  --r98-sage: #526d56;
  --r98-forest: #314637;
  --r98-forest-deep: #182d20;
  --r98-burgundy: #5f334c;
  --r98-pink: #d93763;
  --r98-cream: #f4f4df;
  --r98-muted: #d4dcc8;
  --r98-chrome: #e2e5bf;
  color: var(--r98-cream) !important;
  background-color: var(--r98-forest-deep) !important;
  background-image:
    linear-gradient(132deg, transparent 0 18%, rgba(237,235,199,.14) 18.5% 19.2%, transparent 19.7% 70%, rgba(229,209,215,.2) 70.5% 71.2%, transparent 71.7%),
    radial-gradient(circle at 86% 18%, rgba(217,55,99,.7), transparent 20%),
    radial-gradient(circle at 14% 88%, rgba(45,83,58,.72), transparent 34%),
    linear-gradient(145deg, #a4b9a0 0%, #526d56 42%, #314637 72%, #5f334c 100%) !important;
  background-attachment: fixed !important;
  background-position: center top !important;
  background-size: cover !important;
}
body.retro-mode-active.retro-1998-active .retro-tournament-screen {
  color: var(--r98-cream) !important;
  background: linear-gradient(180deg, rgba(24,45,32,.08), rgba(19,41,29,.56)) !important;
}
body.retro-mode-active.retro-1998-active :is(.retro-screen-header, .retro-tournament-heading, .retro-view-tabs) {
  border-color: rgba(226,229,191,.58) !important;
  color: var(--r98-cream) !important;
  background: linear-gradient(180deg, rgba(255,255,255,.16), rgba(76,105,79,.82) 34%, rgba(32,55,38,.9) 36%) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.45), inset 0 -1px rgba(17,35,23,.75), 0 10px 26px rgba(20,28,21,.3) !important;
}
body.retro-mode-active.retro-1998-active .retro-tournament-heading :is(h1, strong) { color: var(--r98-cream) !important; }
body.retro-mode-active.retro-1998-active .retro-tournament-heading :is(span, #retroTournamentKicker) { color: var(--r98-muted) !important; }
body.retro-mode-active.retro-1998-active :is(.retro-screen-back, .retro-screen-restart, .retro-screen-action, .retro-back-to-modes, .utility-button) {
  border-color: rgba(226,229,191,.64) !important;
  color: var(--r98-cream) !important;
  background: linear-gradient(180deg, rgba(139,164,134,.88), rgba(45,68,52,.96)) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.42), 0 4px 0 rgba(22,39,27,.7) !important;
}
body.retro-mode-active.retro-1998-active .retro-view-tabs button {
  border-color: rgba(226,229,191,.28) !important;
  color: var(--r98-muted) !important;
  background: rgba(32,55,38,.74) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.1) !important;
}
body.retro-mode-active.retro-1998-active .retro-view-tabs button.active,
body.retro-mode-active.retro-1998-active .retro-tournament-screen :is(.tactic-button.active, .lineup-tab.active, .formation-option.active) {
  border-color: rgba(255,236,225,.76) !important;
  color: #fff !important;
  background: linear-gradient(180deg, #e24872, var(--r98-pink) 52%, #a92b50 54%) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.42), 0 4px 0 #713047 !important;
}
body.retro-mode-active.retro-1998-active :is(
  .retro-group-table, .retro-fixture, .retro-squad-view, .retro-lineups-view,
  .retro-manager-lineup, .stage-column, .match-stage, .match-analysis,
  .retro-match-lineups-panel, .retro-lineup-side, .fixture-grid, .fixture,
  .round-board, .retro-champion, .modal, .confirm-modal, .snapshot-modal,
  #mainContent .panel, #mainContent .penalty-stage, #mainContent .match-penalty-overlay,
  #mainContent .champion-stage, #mainContent .bracket-card, #mainContent .bracket-match
) {
  border-color: rgba(226,229,191,.48) !important;
  color: var(--r98-cream) !important;
  background-color: rgba(32,55,38,.9) !important;
  background-image: linear-gradient(145deg, rgba(255,255,255,.13), transparent 23%), linear-gradient(180deg, rgba(82,109,86,.88), rgba(24,45,32,.95)) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.3), 0 12px 28px rgba(20,28,21,.3) !important;
}
body.retro-mode-active.retro-1998-active .retro-tournament-screen :is(.primary-button, .play-button) {
  border-color: var(--r98-chrome) !important;
  color: #fff !important;
  background: linear-gradient(180deg, #4168ad, #173f87 50%, #102f69 52%) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.48), 0 5px 0 #0b234f !important;
}
body.retro-mode-active.retro-1998-active .retro-tournament-screen :is(.secondary-button, .live-control, .stage-action, .text-button, .history-round-button) {
  border-color: rgba(226,229,191,.58) !important;
  color: var(--r98-cream) !important;
  background: linear-gradient(180deg, #708d6a, #314f3a 52%, #243c2b 54%) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.32), 0 4px 0 #182d20 !important;
}
body.retro-mode-active.retro-1998-active :is(.team-filter-search, .search, .team-filter-control, input, select) {
  border-color: rgba(226,229,191,.52) !important;
  color: var(--r98-cream) !important;
  background: rgba(18,36,25,.88) !important;
  box-shadow: inset 0 2px 5px rgba(7,18,10,.4), 0 3px 0 rgba(26,46,31,.7) !important;
}
body.retro-mode-active.retro-1998-active :is(.stage-round, .match-analysis-heading, .retro-standard-fixture-meta, .stage-topline span, summary, small, em, b) {
  color: var(--r98-muted) !important;
  border-color: rgba(226,229,191,.24) !important;
}
body.retro-mode-active.retro-1998-active .retro-live-table-row.qualification-place {
  border-color: rgba(226,229,191,.38) !important;
  background: linear-gradient(90deg, rgba(217,55,99,.24), rgba(49,70,55,.26)) !important;
}
body.retro-mode-active.retro-1998-active #mainContent .retro-live-table-row.qualification-place {
  border-color: rgba(226,229,191,.38) !important;
  background: linear-gradient(90deg, rgba(217,55,99,.24), rgba(49,70,55,.26)) !important;
}
body.retro-mode-active.retro-1998-active :is(.retro-live-table-head, .retro-live-table-row) {
  border-color: rgba(226,229,191,.3) !important;
  color: var(--r98-cream) !important;
  background: rgba(24,45,32,.72) !important;
}
body.retro-mode-active.retro-1998-active .retro-live-table-head {
  background: linear-gradient(90deg, rgba(49,79,58,.94), rgba(95,51,76,.82)) !important;
}
body.retro-mode-active.retro-1998-active :is(.retro-live-table-row em, .retro-live-table-row strong, .retro-live-table-head span) { color: var(--r98-cream) !important; }
body.retro-mode-active.retro-1998-active .stage-column .panel-heading {
  border-color: rgba(226,229,191,.3) !important;
  color: var(--r98-cream) !important;
  background: linear-gradient(90deg, rgba(49,79,58,.94), rgba(95,51,76,.78)) !important;
}
body.retro-mode-active.retro-1998-active .stage-column .panel-heading span { color: var(--r98-cream) !important; }
body.retro-mode-active.retro-1998-active #mainContent :is(.secondary-button, .live-control, .stage-action, .text-button, .history-round-button) {
  border-color: rgba(226,229,191,.58) !important;
  color: var(--r98-cream) !important;
  background: linear-gradient(180deg, #708d6a, #314f3a 52%, #243c2b 54%) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.32), 0 4px 0 #182d20 !important;
}
body.retro-mode-active.retro-1998-active #mainContent :is(.team-filter-search, .search, .team-filter-control, input, select) {
  border-color: rgba(226,229,191,.52) !important;
  color: var(--r98-cream) !important;
  background: rgba(18,36,25,.88) !important;
}
body.retro-mode-active.retro-1998-active #mainContent :is(.round-board h3, .fixture-grid-heading, .stage-round, .match-analysis-heading) { color: var(--r98-cream) !important; }
body.retro-mode-active.retro-1998-active .retro-lineup-side header,
body.retro-mode-active.retro-1998-active :is(.retro-group-table h2, .round-heading, .round-title) {
  color: var(--r98-cream) !important;
  background: linear-gradient(90deg, #314f3a, #5f334c 72%, #d93763) !important;
}
body.retro-mode-active.retro-1998-active #mainContent :is(.lineup-pitch, .penalty-pitch, .match-penalty-pitch, .online-penalty-pitch) {
  border-color: rgba(244,244,223,.7) !important;
  background: repeating-linear-gradient(90deg, #375b40 0 12.5%, #42684a 12.5% 25%) !important;
}
body.retro-mode-active.retro-1998-active :is(.retro-view-tabs, .match-analysis, .round-board, .stage-column, .match-stage, .fixture-grid)::before,
body.retro-mode-active.retro-1998-active :is(.retro-view-tabs, .match-analysis, .round-board, .stage-column, .match-stage, .fixture-grid)::after {
  border-color: rgba(226,229,191,.5) !important;
  background: linear-gradient(90deg, var(--r98-pink), var(--r98-burgundy)) !important;
}
body.retro-mode-active.retro-1998-active #mainContent :is(.bracket-connector::before, .bracket-connector::after, .bracket-line) {
  border-color: rgba(226,229,191,.68) !important;
  background: rgba(226,229,191,.68) !important;
}
#retroAchievementsModal[data-achievement-theme="1998"] {
  border-color: rgba(226,229,191,.68) !important;
  border-top-color: var(--r98-pink) !important;
  color: var(--r98-cream) !important;
  background: linear-gradient(145deg, rgba(92,119,91,.99), rgba(24,45,32,.99) 66%, rgba(95,51,76,.98)) !important;
}
#retroAchievementsModal[data-achievement-theme="1998"] :is(.achievement-year-tabs, .retro-achievements-progress) { background: rgba(24,45,32,.78) !important; }
#retroAchievementsModal[data-achievement-theme="1998"] .achievement-year-tabs button { color: var(--r98-muted) !important; background: rgba(32,55,38,.76) !important; }
#retroAchievementsModal[data-achievement-theme="1998"] .achievement-year-tabs button[aria-selected="true"] { color: #fff !important; background: linear-gradient(180deg, #e24872, #d93763 54%, #a92b50 56%) !important; }
#retroAchievementsModal[data-achievement-theme="1998"] .achievement-country { border-color: rgba(226,229,191,.34) !important; background: linear-gradient(155deg, rgba(91,120,85,.78), rgba(32,55,38,.92)) !important; }
#retroAchievementsModal[data-achievement-theme="1998"] :is(h2, strong) { color: var(--r98-cream) !important; }
#retroAchievementsModal[data-achievement-theme="1998"] :is(p, small, b, #retroAchievementProgressLabel) { color: var(--r98-muted) !important; }
#retroAchievementsModal[data-achievement-theme="1998"] .achievement-progress-track { background: #182d20 !important; }
#retroAchievementsModal[data-achievement-theme="1998"] .achievement-progress-track span { background: linear-gradient(90deg, var(--r98-pink), var(--r98-burgundy)) !important; }
.feature-announcement-1998 {
  border-color: rgba(226,229,191,.68) !important;
  color: var(--r98-cream, #f4f4df) !important;
  background: linear-gradient(145deg, rgba(112,141,106,.98), rgba(24,45,32,.99) 62%, rgba(95,51,76,.98)) !important;
}
.feature-announcement-1998 .feature-announcement-accent {
  background:
    linear-gradient(132deg, transparent 0 30%, rgba(237,235,199,.17) 30.5% 31.5%, transparent 32%),
    radial-gradient(circle at 84% 16%, rgba(217,55,99,.64), transparent 32%),
    linear-gradient(145deg, #a4b9a0, #526d56 54%, #5f334c) !important;
}
.feature-announcement-1998 .feature-announcement-button { border-color: #f4f4df !important; background: linear-gradient(180deg, #4168ad, #173f87 52%, #102f69 54%) !important; }
@media (max-width: 720px) {
  body.retro-mode-active.retro-1998-active {
    background-image:
      linear-gradient(128deg, transparent 0 22%, rgba(237,235,199,.13) 22.5% 23.4%, transparent 24% 68%, rgba(229,209,215,.18) 68.5% 69.4%, transparent 70%),
      radial-gradient(circle at 84% 12%, rgba(217,55,99,.62), transparent 24%),
      linear-gradient(155deg, #a4b9a0 0%, #526d56 35%, #314637 68%, #5f334c 100%) !important;
    background-attachment: scroll !important;
  }
}

/* Copa America 2024 dark broadcast surfaces. Group tables stay white. */
body.retro-mode-active.retro-copa-2024-active #mainContent .retro-squad-view {
  border: 1px solid #31528d !important; border-top: 5px solid var(--copa-red) !important;
  border-radius: 6px !important; color: var(--copa-white) !important;
  background: linear-gradient(145deg, #0a2b70, #061d54 58%, #04153e) !important;
  box-shadow: 0 18px 38px rgba(0,8,38,.26) !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent .retro-squad-heading {
  border: 0 !important; border-bottom: 1px solid rgba(255,255,255,.22) !important;
  color: var(--copa-white) !important; background: transparent !important; box-shadow: none !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent .retro-squad-heading :is(strong, small, em, label, span) {
  color: var(--copa-white) !important; text-shadow: none !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent .retro-squad-heading select {
  border: 1px solid #8fa5ca !important; border-radius: 4px !important;
  color: var(--copa-navy) !important; background: var(--copa-white) !important; box-shadow: none !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent .retro-squad-position-group {
  overflow: hidden !important; border: 1px solid #49679a !important; border-radius: 5px !important;
  color: var(--copa-white) !important; background: #0a2b70 !important; box-shadow: none !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent .retro-squad-position-group > h2 {
  border: 0 !important; border-bottom: 3px solid var(--copa-red) !important;
  color: var(--copa-white) !important; background: #041b4d !important; box-shadow: none !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent .retro-squad-position-group > h2 b,
body.retro-mode-active.retro-copa-2024-active #mainContent .retro-squad-number {
  border: 1px solid rgba(255,255,255,.48) !important; color: var(--copa-white) !important;
  background: var(--copa-red) !important; box-shadow: none !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent .retro-squad-row,
body.retro-mode-active.retro-copa-2024-active #mainContent .retro-squad-row:nth-child(even) {
  border: 0 !important; border-bottom: 1px solid rgba(255,255,255,.14) !important;
  color: var(--copa-white) !important; background: #0a2b70 !important; box-shadow: none !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent .retro-squad-row:nth-child(even) { background: #0d347f !important; }
body.retro-mode-active.retro-copa-2024-active #mainContent .retro-squad-row:is(:hover, :focus-within),
body.retro-mode-active.retro-copa-2024-active #mainContent .retro-squad-row.is-likely-starter {
  background: #164ca4 !important; box-shadow: inset 4px 0 var(--copa-red) !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent .retro-squad-row :is(strong, em, i) {
  color: var(--copa-white) !important; text-shadow: none !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent .retro-squad-row small {
  color: #c8d4e8 !important; text-shadow: none !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent .round-board {
  border: 1px solid #31528d !important; border-top: 5px solid var(--copa-red) !important;
  border-radius: 6px !important; color: var(--copa-white) !important;
  background: linear-gradient(145deg, #0a2b70, #061d54 62%, #04153e) !important;
  box-shadow: 0 18px 38px rgba(0,8,38,.24) !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent .round-board > :is(h2, h3),
body.retro-mode-active.retro-copa-2024-active #mainContent .round-board :is(.round-title, .board-title) {
  color: var(--copa-white) !important; text-shadow: none !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent .fixture-grid:not(.bracket-mode) .fixture {
  border: 1px solid #49679a !important; border-left: 5px solid var(--copa-red) !important;
  border-radius: 5px !important; color: var(--copa-white) !important; background: #0a2b70 !important;
  box-shadow: 0 8px 18px rgba(0,8,38,.22) !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent .fixture-grid:not(.bracket-mode) .fixture:is(:hover, .selected) {
  border-color: #ff6671 !important; background: #123f92 !important;
  box-shadow: 0 10px 22px rgba(0,8,38,.3) !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent .fixture-grid:not(.bracket-mode) .fixture :is(strong, b, span, small, .fixture-team, .fixture-score) {
  color: var(--copa-white) !important; text-shadow: none !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent .fixture-grid:not(.bracket-mode) .fixture :is(.fixture-meta, .fixture-details, footer) {
  border-color: rgba(255,255,255,.16) !important; color: #d8e1f0 !important; background: #041b4d !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent :is(.fixture-grid.bracket-mode, .bracket-shell, .bracket-canvas, .bracket-board) {
  border-color: #31528d !important; color: var(--copa-white) !important;
  background: linear-gradient(145deg, #0a2b70, #061d54 64%, #04153e) !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent :is(.fixture.bracket-fixture, .bracket-card, .bracket-match, .third-place-card) {
  border: 1px solid #5b78aa !important; border-left: 5px solid var(--copa-red) !important;
  color: var(--copa-white) !important; background: #0b2d70 !important;
  box-shadow: 0 8px 18px rgba(0,8,38,.24) !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent :is(.fixture.bracket-fixture, .bracket-card, .bracket-match, .third-place-card) :is(strong, b, span, small, .fixture-team, .fixture-score) {
  color: var(--copa-white) !important; text-shadow: none !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent .fixture.bracket-fixture:is(:hover, .selected) {
  border-color: #ff6671 !important; background: #123f92 !important;
}

/* France 1998 final component guard. */
body.retro-mode-active.retro-1998-active .retro-tournament-screen .retro-tournament-heading {
  display: block !important; height: 112px !important; min-height: 112px !important;
  margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important;
  background: transparent !important; background-image: none !important; box-shadow: none !important;
  backdrop-filter: none !important; pointer-events: none !important;
}
body.retro-mode-active.retro-1998-active .retro-tournament-screen .retro-tournament-heading > * { display: none !important; }
body.retro-mode-active.retro-1998-active .retro-tournament-screen .retro-tournament-heading::before,
body.retro-mode-active.retro-1998-active .retro-tournament-screen .retro-tournament-heading::after { content: none !important; display: none !important; }

body.retro-mode-active.retro-1998-active #mainContent .retro-scorers,
body.retro-mode-active.retro-1998-active #mainContent .retro-scorers :is(span, b),
body.retro-mode-active.retro-1998-active #mainContent .retro-no-scorers,
body.retro-mode-active.retro-1998-active #mainContent :is(.team-match-events, .event-side) {
  border: 0 !important; border-radius: 0 !important; color: var(--r98-cream) !important;
  background: transparent !important; background-image: none !important; box-shadow: none !important;
}
body.retro-mode-active.retro-1998-active #mainContent .retro-scorers { padding: 0 !important; }

body.retro-mode-active.retro-1998-active #mainContent :is(.team-filter-control, .round-board) .search-result-popover {
  border: 1px solid rgba(226,229,191,.62) !important; border-radius: 4px !important;
  color: var(--r98-cream) !important;
  background: linear-gradient(180deg, rgba(70,94,72,.98), rgba(24,45,32,.99)) !important;
  box-shadow: 0 14px 30px rgba(18,29,20,.44) !important;
}
body.retro-mode-active.retro-1998-active #mainContent .search-result-popover :is(button, .search-result) {
  border-color: rgba(226,229,191,.24) !important; border-radius: 2px !important;
  color: var(--r98-cream) !important; background: rgba(32,55,38,.92) !important; box-shadow: none !important;
}
body.retro-mode-active.retro-1998-active #mainContent .search-result-popover :is(button, .search-result):is(:hover, :focus-visible, .selected) {
  color: #fff !important; background: linear-gradient(90deg, var(--r98-burgundy), var(--r98-pink)) !important;
}

body.retro-mode-active.retro-1998-active #mainContent .standard-match-tactics {
  border: 1px solid rgba(226,229,191,.58) !important; border-radius: 5px !important;
  color: var(--r98-cream) !important;
  background: linear-gradient(150deg, rgba(104,129,99,.96), rgba(31,56,39,.98) 64%, rgba(95,51,76,.82)) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.3), 8px 10px 0 rgba(31,63,105,.22) !important;
}
body.retro-mode-active.retro-1998-active #mainContent .standard-match-tactics > span {
  border-color: rgba(226,229,191,.38) !important; color: var(--r98-cream) !important; background: rgba(24,45,32,.8) !important;
}
body.retro-mode-active.retro-1998-active #mainContent .standard-tactic-buttons {
  border: 1px solid rgba(226,229,191,.34) !important; border-radius: 3px !important;
  background: rgba(24,45,32,.68) !important; box-shadow: none !important;
}
body.retro-mode-active.retro-1998-active #mainContent .standard-tactic-buttons button {
  border: 1px solid rgba(226,229,191,.28) !important; border-radius: 2px !important;
  color: var(--r98-cream) !important; background: linear-gradient(180deg, #668268, #314f3a) !important;
  box-shadow: none !important; clip-path: none !important;
}
body.retro-mode-active.retro-1998-active #mainContent .standard-tactic-buttons button:is(:hover, :focus-visible) { background: linear-gradient(180deg, #7f987b, #48634d) !important; }
body.retro-mode-active.retro-1998-active #mainContent .standard-tactic-buttons button.active {
  border-color: rgba(255,236,225,.8) !important; color: #fff !important;
  background: linear-gradient(180deg, #e24872, var(--r98-pink)) !important;
}
body.retro-mode-active.retro-1998-active #mainContent .standard-match-tactics > small {
  border-color: rgba(226,229,191,.3) !important; color: var(--r98-muted) !important; background: rgba(95,51,76,.44) !important;
}

body.retro-mode-active.retro-1998-active #mainContent :is(.match-commentary-view, .match-commentary-feed, .commentary-bar, .commentary-feed, .live-commentary, .match-commentary) {
  border-color: rgba(226,229,191,.48) !important; border-radius: 4px !important; color: var(--r98-cream) !important;
  background: linear-gradient(90deg, rgba(24,45,32,.97), rgba(95,51,76,.86)) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.18) !important;
}
body.retro-mode-active.retro-1998-active #mainContent .match-commentary-feed .commentary-line {
  border-color: rgba(226,229,191,.22) !important; color: var(--r98-cream) !important; background: rgba(32,55,38,.76) !important;
}
body.retro-mode-active.retro-1998-active #mainContent .match-commentary-feed .commentary-line span { color: var(--r98-cream) !important; }
body.retro-mode-active.retro-1998-active #mainContent .match-commentary-feed:is(.is-major, .is-goal) {
  border-color: rgba(244,244,223,.72) !important; background: linear-gradient(90deg, var(--r98-burgundy), #8c3556) !important;
}

body.retro-mode-active.retro-1998-active #mainContent :is(.penalty-stage, .match-penalty-overlay) {
  border: 1px solid rgba(226,229,191,.62) !important; border-radius: 6px !important; color: var(--r98-cream) !important;
  background: linear-gradient(150deg, rgba(101,128,99,.96), rgba(24,45,32,.98) 68%, rgba(95,51,76,.72)) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.3), 0 15px 34px rgba(18,29,20,.35) !important;
}
body.retro-mode-active.retro-1998-active #mainContent :is(.penalty-scene, .match-penalty-scene, .standard-penalty-scene, .retro-manager-pitch, .lineup-pitch, .match-2d-pitch) {
  border-color: rgba(244,244,223,.72) !important; border-radius: 4px !important; background-color: #31583e !important;
  background-image: linear-gradient(rgba(244,244,223,.11), rgba(244,244,223,.03)), repeating-linear-gradient(90deg, #31583e 0 12.5%, #3f6949 12.5% 25%) !important;
  box-shadow: inset 0 0 0 1px rgba(244,244,223,.12), inset 0 18px 28px rgba(255,255,255,.06) !important;
}
body.retro-mode-active.retro-1998-active #mainContent :is(.penalty-goal, .penalty-net, .retro-pitch-halfway, .retro-pitch-circle, .match-2d-halfway, .match-2d-circle, .match-2d-box) { border-color: rgba(244,244,223,.72) !important; }
body.retro-mode-active.retro-1998-active #mainContent :is(.match-penalty-targets, .standard-penalty-targets) button {
  width: 30px !important; height: 30px !important; min-width: 30px !important; min-height: 30px !important; padding: 0 !important;
  border: 2px solid var(--r98-cream) !important; border-radius: 50% !important;
  background: rgba(217,55,99,.18) !important; box-shadow: 0 0 0 4px rgba(244,244,223,.08) !important; clip-path: none !important;
}
body.retro-mode-active.retro-1998-active #mainContent :is(.penalty-marks i, .shootout-summary-row i, .penalty-score-dot, .kick-result-marker) {
  width: 18px !important; height: 18px !important; min-width: 18px !important; min-height: 18px !important; border-radius: 50% !important;
}

body.retro-mode-active.retro-1998-active .snapshot-modal,
body.retro-mode-active.retro-1998-active .snapshot-modal form {
  border-color: rgba(226,229,191,.66) !important; border-radius: 6px !important; color: var(--r98-cream) !important;
  background: linear-gradient(145deg, rgba(112,141,106,.98), rgba(24,45,32,.99) 66%, rgba(95,51,76,.94)) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.34), 0 28px 68px rgba(18,29,20,.58) !important;
}
body.retro-mode-active.retro-1998-active .snapshot-modal :is(.snapshot-modal-head, .snapshot-preview) {
  border-color: rgba(226,229,191,.48) !important; border-radius: 4px !important; color: var(--r98-cream) !important;
  background: rgba(24,45,32,.84) !important; box-shadow: inset 0 1px rgba(255,255,255,.14) !important;
}
body.retro-mode-active.retro-1998-active .snapshot-modal :is(h2, .section-kicker) { color: var(--r98-cream) !important; }

body.retro-mode-active.retro-1998-active #mainContent .champion-stage {
  border: 1px solid rgba(226,229,191,.68) !important; border-radius: 6px !important; color: var(--r98-cream) !important;
  background: linear-gradient(145deg, rgba(122,148,116,.97), rgba(35,61,42,.98) 54%, rgba(95,51,76,.94)) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.38), 0 18px 44px rgba(18,29,20,.42) !important;
}
body.retro-mode-active.retro-1998-active #mainContent .champion-stage :is(.champion-content, .champion-podium, .champion-award, .champion-extra-awards > *, .prediction-result) {
  border-color: rgba(226,229,191,.44) !important; border-radius: 4px !important; color: var(--r98-cream) !important;
  background: linear-gradient(150deg, rgba(76,106,79,.88), rgba(24,45,32,.94)) !important; box-shadow: inset 0 1px rgba(255,255,255,.2) !important;
}
body.retro-mode-active.retro-1998-active #mainContent .champion-stage :is(h2, .trophy, .champion-award strong, .champion-award span) { color: var(--r98-cream) !important; }
body.retro-mode-active.retro-1998-active #mainContent .champion-stage :is(p, small) { color: var(--r98-muted) !important; }
body.retro-mode-active.retro-1998-active #mainContent .champion-stage .champion-award-mark { color: var(--r98-pink) !important; }

body.retro-mode-active.retro-1998-active #mainContent :is(.round-heading, .round-title, .bracket-round-heading, .bracket-round-title, .bracket-round-header, .bracket-header, .bracket-column > h3) {
  border-color: rgba(226,229,191,.48) !important; border-radius: 0 !important; color: var(--r98-cream) !important;
  background: linear-gradient(90deg, #314f3a, var(--r98-burgundy) 78%) !important; box-shadow: inset 0 1px rgba(255,255,255,.18) !important;
}
body.retro-mode-active.retro-1998-active #mainContent :is(.bracket-card, .bracket-match, .third-place-card) {
  border-radius: 4px !important; color: var(--r98-cream) !important; background: linear-gradient(150deg, rgba(92,119,91,.94), rgba(24,45,32,.98)) !important;
}

body.retro-mode-active.retro-1998-active :is(.retro-screen-back, .retro-screen-restart, .retro-screen-action, .retro-back-to-modes, .utility-button, .retro-view-tabs button, #mainContent button, .snapshot-modal button, .confirm-modal button, .champion-actions button) {
  border-radius: 3px !important; clip-path: none !important;
}
body.retro-mode-active.retro-1998-active .retro-view-tabs {
  border-radius: 6px !important;
  clip-path: none !important;
}
body.retro-mode-active.retro-1998-active #mainContent :is(.retro-view-tabs, .match-analysis, .round-board, .stage-column, .match-stage, .fixture-grid, .retro-manager-lineup, .retro-match-lineups-panel) { border-radius: 6px !important; }
body.retro-mode-active.retro-1998-active #mainContent :is(.retro-view-tabs, .match-analysis, .round-board, .stage-column, .match-stage, .fixture-grid, .standard-match-tactics)::before,
body.retro-mode-active.retro-1998-active #mainContent :is(.retro-view-tabs, .match-analysis, .round-board, .stage-column, .match-stage, .fixture-grid, .standard-match-tactics)::after { content: none !important; display: none !important; }
body.retro-mode-active.retro-1998-active #mainContent :is(.match-penalty-targets, .standard-penalty-targets) button,
body.retro-mode-active.retro-1998-active #mainContent :is(.penalty-marks i, .shootout-summary-row i, .penalty-score-dot, .kick-result-marker) { border-radius: 50% !important; }

@media (max-width: 720px) {
  body.retro-mode-active.retro-1998-active .retro-tournament-screen .retro-tournament-heading { height: 84px !important; min-height: 84px !important; margin: 0 !important; }
  body.retro-mode-active.retro-1998-active #mainContent :is(.match-penalty-targets, .standard-penalty-targets) button {
    width: 26px !important; height: 26px !important; min-width: 26px !important; min-height: 26px !important;
  }
}

/* France 1998 finals, bracket and share-card correction pass. */
body.retro-mode-active.retro-1998-active #mainContent .team-match-events {
  overflow: visible !important;
}
body.retro-mode-active.retro-1998-active #mainContent .team-match-events.away .shootout-summary {
  width: calc(100% - 8px) !important;
  margin-right: 8px !important;
  overflow: visible !important;
}
body.retro-mode-active.retro-1998-active #mainContent .team-match-events.away .shootout-summary-row {
  grid-template-columns: minmax(0, 1fr) 18px !important;
  padding-right: 2px !important;
  overflow: visible !important;
}
body.retro-mode-active.retro-1998-active #mainContent .team-match-events.away .shootout-summary-row i {
  justify-self: center !important;
}

body.retro-mode-active.retro-1998-active #mainContent .bracket-heads {
  min-height: 42px !important;
  border: 1px solid rgba(226,229,191,.56) !important;
  border-radius: 3px 3px 0 0 !important;
  color: var(--r98-cream) !important;
  background:
    linear-gradient(105deg, rgba(255,255,255,.11), transparent 28%),
    linear-gradient(90deg, #314f3a 0%, #526d56 46%, #5f334c 100%) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.3), 0 5px 14px rgba(18,29,20,.24) !important;
}
body.retro-mode-active.retro-1998-active #mainContent .bracket-heads span {
  color: var(--r98-cream) !important;
  text-shadow: 0 1px rgba(18,29,20,.7) !important;
}
body.retro-mode-active.retro-1998-active #mainContent .fixture.bracket-fixture,
body.retro-mode-active.retro-1998-active #mainContent .retro-third-place-card .fixture {
  border: 1px solid rgba(226,229,191,.48) !important;
  border-radius: 3px !important;
  color: var(--r98-cream) !important;
  background: linear-gradient(155deg, rgba(103,132,100,.96), rgba(24,45,32,.98)) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.24), 0 5px 12px rgba(18,29,20,.28) !important;
}
body.retro-mode-active.retro-1998-active #mainContent .bracket-fixture .fixture-team {
  box-shadow: none !important;
}
body.retro-mode-active.retro-1998-active #mainContent .bracket-connector::before,
body.retro-mode-active.retro-1998-active #mainContent .bracket-connector::after {
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}
body.retro-mode-active.retro-1998-active #mainContent .bracket-connector::before {
  border: 0 !important;
  border-top: 1px solid rgba(244,244,223,.58) !important;
  border-right: 1px solid rgba(244,244,223,.58) !important;
  border-bottom: 1px solid rgba(244,244,223,.58) !important;
}
body.retro-mode-active.retro-1998-active #mainContent .bracket-connector::after,
body.retro-mode-active.retro-1998-active #mainContent .bracket-fixture[data-connects="true"]::after {
  border: 0 !important;
  border-top: 1px solid rgba(244,244,223,.58) !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

body.retro-mode-active.retro-1998-active #mainContent .champion-stage {
  min-height: 0 !important;
  padding: 18px !important;
  overflow: hidden !important;
  border: 1px solid rgba(226,229,191,.66) !important;
  border-radius: 6px !important;
  background:
    linear-gradient(126deg, transparent 0 23%, rgba(244,244,223,.1) 23.5% 24.2%, transparent 24.8%),
    radial-gradient(circle at 86% 14%, rgba(217,55,99,.3), transparent 28%),
    linear-gradient(145deg, rgba(126,151,120,.96), rgba(49,70,55,.98) 58%, rgba(95,51,76,.96)) !important;
}
body.retro-mode-active.retro-1998-active #mainContent .champion-stage .champion-content {
  display: block !important;
  width: min(1040px, 100%) !important;
  margin: 0 auto !important;
  padding: 24px clamp(18px, 4vw, 42px) 28px !important;
  box-sizing: border-box !important;
  border: 1px solid rgba(244,244,223,.58) !important;
  border-radius: 5px !important;
  color: var(--r98-cream) !important;
  text-align: center !important;
  background:
    linear-gradient(145deg, rgba(255,255,255,.13), transparent 25%),
    linear-gradient(180deg, rgba(67,94,70,.94), rgba(24,45,32,.96)) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.3), 0 16px 35px rgba(18,29,20,.36) !important;
}
body.retro-mode-active.retro-1998-active #mainContent .champion-stage .trophy {
  display: block !important;
  margin: -24px calc(clamp(18px, 4vw, 42px) * -1) 20px !important;
  padding: 13px 18px !important;
  border-bottom: 1px solid rgba(244,244,223,.48) !important;
  border-radius: 4px 4px 0 0 !important;
  color: var(--r98-cream) !important;
  background: linear-gradient(90deg, #314f3a, #5f334c 72%, #a83258) !important;
  letter-spacing: 3px !important;
}
body.retro-mode-active.retro-1998-active #mainContent .champion-stage .flag-orb {
  width: 190px !important;
  height: 124px !important;
  margin: 8px auto 14px !important;
  padding: 0 !important;
  border: 1px solid rgba(244,244,223,.62) !important;
  border-radius: 4px !important;
  background: rgba(24,45,32,.72) !important;
  box-shadow: 7px 7px 0 rgba(95,51,76,.44), 0 13px 28px rgba(18,29,20,.28) !important;
}
body.retro-mode-active.retro-1998-active #mainContent .champion-stage .flag-orb :is(.country-flag, img) {
  width: 100% !important;
  height: 100% !important;
  border-radius: 3px !important;
  object-fit: cover !important;
}
body.retro-mode-active.retro-1998-active #mainContent .champion-stage #championName {
  margin: 0 !important;
  color: var(--r98-cream) !important;
  font-size: clamp(44px, 6vw, 72px) !important;
  line-height: 1 !important;
  text-shadow: 0 3px rgba(18,29,20,.52) !important;
}
body.retro-mode-active.retro-1998-active #mainContent .champion-stage .champion-content > p {
  margin: 13px 0 22px !important;
  color: var(--r98-muted) !important;
  font-size: 15px !important;
}
body.retro-mode-active.retro-1998-active #mainContent .champion-stage .champion-podium {
  margin: 0 0 13px !important;
  padding: 14px !important;
  border: 1px solid rgba(226,229,191,.4) !important;
  border-radius: 4px !important;
  background: rgba(24,45,32,.58) !important;
  box-shadow: none !important;
}
body.retro-mode-active.retro-1998-active #mainContent .champion-stage .champion-section-label {
  color: var(--r98-cream) !important;
}
body.retro-mode-active.retro-1998-active #mainContent .champion-stage .champion-place {
  border: 1px solid rgba(226,229,191,.4) !important;
  border-radius: 3px !important;
  color: var(--r98-cream) !important;
  background: linear-gradient(180deg, rgba(94,124,91,.9), rgba(31,56,39,.96)) !important;
  box-shadow: none !important;
}
body.retro-mode-active.retro-1998-active #mainContent .champion-stage .champion-place.place-1 {
  border-color: rgba(244,244,223,.78) !important;
  background: linear-gradient(180deg, rgba(119,146,112,.94), rgba(49,79,58,.98)) !important;
  box-shadow: inset 0 3px var(--r98-pink) !important;
}
body.retro-mode-active.retro-1998-active #mainContent .champion-stage .champion-place > b {
  color: var(--r98-cream) !important;
}
body.retro-mode-active.retro-1998-active #mainContent .champion-stage .champion-awards-grid {
  gap: 9px !important;
  margin: 10px 0 16px !important;
}
body.retro-mode-active.retro-1998-active #mainContent .champion-stage .champion-award {
  grid-template-columns: 34px minmax(0, 1fr) !important;
  gap: 10px !important;
  min-height: 72px !important;
  padding: 10px 12px !important;
  border: 1px solid rgba(226,229,191,.42) !important;
  border-radius: 4px !important;
  background: linear-gradient(145deg, rgba(95,51,76,.72), rgba(24,45,32,.95)) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.18) !important;
}
body.retro-mode-active.retro-1998-active #mainContent .champion-stage .champion-award-mark {
  width: 34px !important;
  height: 34px !important;
  border-radius: 50% !important;
  color: var(--r98-cream) !important;
  background: rgba(217,55,99,.32) !important;
}
body.retro-mode-active.retro-1998-active #mainContent .champion-stage .champion-award-copy > span {
  color: var(--r98-cream) !important;
}
body.retro-mode-active.retro-1998-active #mainContent .champion-stage .champion-award-copy strong {
  font-size: 12px !important;
}
body.retro-mode-active.retro-1998-active #mainContent .champion-stage .champion-award-copy small {
  margin-top: 3px !important;
  font-size: 8px !important;
}
body.retro-mode-active.retro-1998-active #mainContent .champion-stage .champion-actions {
  padding-top: 4px !important;
}
body.retro-mode-active.retro-1998-active #mainContent .champion-stage .champion-actions button {
  min-height: 48px !important;
  border-radius: 3px !important;
}
body.retro-mode-active.retro-1998-active #mainContent .champion-stage .champion-save-button {
  border-color: rgba(244,244,223,.68) !important;
  color: var(--r98-cream) !important;
  background: linear-gradient(180deg, #78506a, #5f334c) !important;
  box-shadow: 0 4px 0 #3f2233 !important;
}

body.retro-mode-active.retro-1998-active .snapshot-modal .snapshot-modal-head {
  border: 1px solid rgba(226,229,191,.42) !important;
  background: linear-gradient(90deg, #314f3a, #5f334c) !important;
}
body.retro-mode-active.retro-1998-active .snapshot-modal .snapshot-preview {
  border: 1px solid rgba(226,229,191,.56) !important;
  background:
    linear-gradient(132deg, transparent 0 30%, rgba(244,244,223,.11) 30.5% 31.4%, transparent 32%),
    linear-gradient(145deg, #7d9878, #526d56 54%, #5f334c) !important;
}
body.retro-mode-active.retro-1998-active .snapshot-modal .snapshot-actions .secondary-button {
  border-color: rgba(226,229,191,.58) !important;
  color: var(--r98-cream) !important;
  background: linear-gradient(180deg, #708d6a, #314f3a) !important;
  box-shadow: 0 4px 0 #182d20 !important;
}

@media (max-width: 720px) {
  body.retro-mode-active.retro-1998-active #mainContent .team-match-events.away .shootout-summary-row {
    grid-template-columns: minmax(0, 1fr) 14px !important;
  }
  body.retro-mode-active.retro-1998-active #mainContent .champion-stage { padding: 8px !important; }
  body.retro-mode-active.retro-1998-active #mainContent .champion-stage .champion-content { padding: 18px 10px 20px !important; }
  body.retro-mode-active.retro-1998-active #mainContent .champion-stage .trophy {
    margin: -18px -10px 16px !important;
    letter-spacing: 1.5px !important;
  }
  body.retro-mode-active.retro-1998-active #mainContent .champion-stage .flag-orb {
    width: 142px !important;
    height: 92px !important;
  }
  body.retro-mode-active.retro-1998-active #mainContent .champion-stage #championName { font-size: 42px !important; }
}

/* Final cascade guard: the legacy 1998 rules below the shared retro skin
   must not reintroduce cream, yellow or metallic decoration into Copa 2024. */
body.retro-mode-active.retro-copa-2024-active #mainContent {
  color: var(--copa-ink) !important;
  border-color: var(--copa-line) !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent :is(.match-stage, .round-board)::before {
  background: linear-gradient(90deg, transparent 0%, var(--copa-red) 18%, var(--copa-white) 50%, var(--copa-blue-bright) 82%, transparent 100%) !important;
  opacity: .86 !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent :is(.match-stage, .round-board, .fixture-grid) {
  border-color: var(--copa-line) !important;
  box-shadow: 0 10px 26px rgba(0, 12, 54, .18) !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent .fixture::before {
  background: linear-gradient(90deg, var(--copa-red), var(--copa-white), var(--copa-blue-bright)) !important;
}
body.retro-mode-active.retro-copa-2024-active .retro-view-tabs::before,
body.retro-mode-active.retro-copa-2024-active #mainContent .match-analysis::before {
  background: linear-gradient(90deg, transparent 0%, var(--copa-red) 18%, var(--copa-white) 50%, var(--copa-blue-bright) 82%, transparent 100%) !important;
  opacity: .86 !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent :is(.team-name, .match-score, .score-separator) {
  color: var(--copa-navy) !important;
  text-shadow: none !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent :is(.stage-round, .match-analysis-heading, .section-heading h2) {
  text-shadow: none !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent :is(.stage-round, .section-heading h2) {
  color: var(--copa-navy) !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent .match-analysis-heading {
  color: var(--copa-white) !important;
  background: var(--copa-navy) !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent .match-analysis-heading > * {
  color: var(--copa-white) !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent :is(.event-live-clock strong, .live-clock, .fixture-team.winner .name, .fixture-team.winner b) {
  color: var(--copa-red) !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent :is(.fixture-card-head, .fixture-card-head > span, .fixture-card-head .name) {
  border-color: rgba(7,25,56,.14) !important;
  color: var(--copa-navy) !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent :is(.fixture .name, .match-stats-empty span) {
  color: var(--copa-ink) !important;
  text-shadow: none !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent .retro-standard-fixture-meta {
  border-color: rgba(7,25,56,.12) !important;
  color: #53627c !important;
  background: #e9edf5 !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent .panel-heading #goldenBootTitle {
  color: var(--copa-white) !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent summary {
  color: var(--copa-red) !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent summary::marker {
  color: var(--copa-red) !important;
}
body.retro-mode-active.retro-copa-2024-active .retro-saved-tournament-actions {
  position: relative !important;
  z-index: 4 !important;
}
body.retro-mode-active.retro-copa-2024-active .retro-saved-tournament-actions .retro-back-to-modes {
  position: absolute !important;
  z-index: 5 !important;
}
body.retro-mode-active.retro-copa-2024-active .retro-tournament-heading > * {
  visibility: visible !important;
}
body.retro-mode-active.retro-copa-2024-active .retro-tournament-heading > div:first-child {
  margin-left: 150px !important;
}
@media (max-width: 720px) {
  body.retro-mode-active.retro-copa-2024-active .retro-tournament-heading > div:first-child {
    margin-left: 0 !important;
    padding-top: 50px !important;
  }
}

.feature-announcement-copa-2024 :is(.feature-announcement-button, .feature-announcement-dismiss) {
  border-radius: 5px !important;
  box-shadow: none !important;
  text-shadow: none !important;
}
.feature-announcement-copa-2024 .feature-announcement-button {
  border: 1px solid #e51b2b !important;
  color: #ffffff !important;
  background: #e51b2b !important;
  outline-color: #e51b2b !important;
}
.feature-announcement-copa-2024 .feature-announcement-button:is(:hover, :focus-visible) {
  border-color: #061d54 !important;
  background: #a70f20 !important;
}
.feature-announcement-copa-2024 .feature-announcement-dismiss {
  border: 1px solid transparent !important;
  color: #53627c !important;
  background: transparent !important;
}
.feature-announcement-copa-2024 .feature-announcement-dismiss:is(:hover, :focus-visible) {
  border-color: #cfd6e6 !important;
  color: #061d54 !important;
  background: #eef2f8 !important;
}

/* Copa América 2024 final UI lock. These selectors intentionally sit last so
   the shared Brazil 2014 skin cannot restyle dialogs, popovers or brackets. */
body.retro-mode-active.retro-copa-2024-active .retro-tournament-heading {
  border-color: transparent !important;
  border-left-color: transparent !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  pointer-events: none !important;
}
body.retro-mode-active.retro-copa-2024-active .retro-tournament-heading > * {
  visibility: hidden !important;
}
body.retro-mode-active.retro-copa-2024-active .retro-tournament-heading::before,
body.retro-mode-active.retro-copa-2024-active .retro-tournament-heading::after {
  display: none !important;
  content: none !important;
}

body.retro-mode-active.retro-copa-2024-active #mainContent .match-stage {
  border: 1px solid #ff6470 !important;
  border-radius: 6px !important;
  color: var(--copa-white) !important;
  background: var(--copa-red) !important;
  background-image: none !important;
  box-shadow: 0 14px 30px rgba(0, 8, 38, .28) !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent .match-stage::before,
body.retro-mode-active.retro-copa-2024-active #mainContent .match-stage::after {
  display: none !important;
  content: none !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent .match-stage :is(
  .team,
  .score-zone,
  .matchup,
  #matchContent
) {
  border-color: rgba(255,255,255,.28) !important;
  color: var(--copa-white) !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent .match-stage :is(
  .team-name,
  .team-name span,
  .match-score,
  .score-separator,
  .seed,
  .result-note,
  .discipline,
  .event-side,
  .event-side strong,
  .event-side span,
  .retro-scorers,
  .retro-scorers span,
  .retro-scorers b,
  .retro-no-scorers
) {
  color: var(--copa-white) !important;
  text-shadow: none !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent .match-stage .stage-action {
  border-top: 0 !important;
  color: var(--copa-white) !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent .match-stage .play-button {
  border-color: rgba(255,255,255,.62) !important;
  color: var(--copa-white) !important;
  background: var(--copa-navy) !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent .match-stage .play-button:is(:hover, :focus-visible) {
  border-color: var(--copa-white) !important;
  background: var(--copa-blue) !important;
}

body.retro-mode-active.retro-copa-2024-active #mainContent .team-filter-control .search-result-popover {
  overflow: hidden !important;
  border: 1px solid #9eabc1 !important;
  border-top: 4px solid var(--copa-red) !important;
  border-radius: 5px !important;
  color: var(--copa-ink) !important;
  background: var(--copa-white) !important;
  background-image: none !important;
  box-shadow: 0 14px 32px rgba(0, 12, 54, .24) !important;
  transform-origin: top right !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent .search-result-popover :is(.search-result, button) {
  border: 0 !important;
  border-bottom: 1px solid #dce2ec !important;
  border-radius: 0 !important;
  color: var(--copa-ink) !important;
  background: var(--copa-white) !important;
  box-shadow: none !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent .search-result-popover :is(.search-result, button):is(:hover, :focus-visible) {
  color: var(--copa-navy) !important;
  background: #eef2f8 !important;
  box-shadow: inset 4px 0 var(--copa-red) !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent .search-result-popover :is(strong, small, span) {
  color: inherit !important;
  text-shadow: none !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent .team-filter-chip {
  border: 1px solid var(--copa-red) !important;
  border-radius: 4px !important;
  color: var(--copa-white) !important;
  background: var(--copa-red) !important;
  box-shadow: none !important;
}

body.retro-mode-active.retro-copa-2024-active #mainContent .standard-match-tactics {
  overflow: hidden !important;
  border: 1px solid rgba(7,25,56,.18) !important;
  border-top: 5px solid var(--copa-red) !important;
  border-radius: 6px !important;
  color: var(--copa-ink) !important;
  background: var(--copa-white) !important;
  background-image: none !important;
  box-shadow: 0 10px 24px rgba(0,12,54,.16) !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent .standard-match-tactics::before,
body.retro-mode-active.retro-copa-2024-active #mainContent .standard-match-tactics::after {
  display: none !important;
  content: none !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent .standard-match-tactics > span {
  color: var(--copa-navy) !important;
  text-shadow: none !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent .standard-match-tactics > small {
  color: #53627c !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent .standard-tactic-buttons {
  border: 0 !important;
  background: transparent !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent .standard-tactic-buttons button {
  border: 1px solid #b6c0d1 !important;
  border-radius: 4px !important;
  color: var(--copa-navy) !important;
  background: #f2f5fa !important;
  box-shadow: none !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent .standard-tactic-buttons button:is(:hover, :focus-visible):not(.active) {
  border-color: var(--copa-blue) !important;
  background: #e1eafa !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent .standard-tactic-buttons button.active {
  border-color: var(--copa-red) !important;
  color: var(--copa-white) !important;
  background: var(--copa-red) !important;
}

body.retro-mode-active.retro-copa-2024-active #mainContent :is(.fixture-grid.bracket-mode, .bracket-shell, .bracket-canvas, .bracket-board) {
  border-color: rgba(7,25,56,.16) !important;
  border-radius: 6px !important;
  color: var(--copa-ink) !important;
  background: var(--copa-white) !important;
  background-image: none !important;
  box-shadow: none !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent .bracket-heads {
  overflow: hidden !important;
  border: 1px solid var(--copa-line) !important;
  border-top: 5px solid var(--copa-red) !important;
  border-radius: 5px !important;
  color: var(--copa-white) !important;
  background: var(--copa-navy) !important;
  background-image: none !important;
  box-shadow: none !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent :is(.fixture.bracket-fixture, .bracket-card, .bracket-match, .third-place-card) {
  border: 1px solid #c9d1df !important;
  border-radius: 4px !important;
  color: var(--copa-ink) !important;
  background: var(--copa-white) !important;
  background-image: none !important;
  box-shadow: none !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent :is(.bracket-connector::before, .bracket-connector::after, .bracket-line) {
  border-width: 1px !important;
  border-color: #aeb8c9 !important;
  background: #aeb8c9 !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent .bracket-connector::before,
body.retro-mode-active.retro-copa-2024-active #mainContent .bracket-connector::after,
body.retro-mode-active.retro-copa-2024-active #mainContent .bracket-fixture[data-connects="true"]::after {
  border-color: #aeb8c9 !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

body.retro-mode-active.retro-copa-2024-active :is(.confirm-modal, .snapshot-modal) {
  border: 1px solid #9eabc1 !important;
  border-top: 6px solid var(--copa-red) !important;
  border-radius: 7px !important;
  clip-path: none !important;
  color: var(--copa-ink) !important;
  background: var(--copa-panel) !important;
  background-image: none !important;
  box-shadow: 0 26px 70px rgba(0, 12, 54, .36) !important;
}
body.retro-mode-active.retro-copa-2024-active :is(.confirm-modal, .snapshot-modal)::before,
body.retro-mode-active.retro-copa-2024-active :is(.confirm-modal, .snapshot-modal)::after {
  display: none !important;
  content: none !important;
}
body.retro-mode-active.retro-copa-2024-active :is(.confirm-modal, .snapshot-modal) form {
  border: 0 !important;
  border-radius: 0 !important;
  color: var(--copa-ink) !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}
body.retro-mode-active.retro-copa-2024-active :is(.confirm-modal, .snapshot-modal) :is(h2, h3, strong, .section-kicker) {
  color: var(--copa-navy) !important;
  text-shadow: none !important;
}
body.retro-mode-active.retro-copa-2024-active :is(.confirm-modal, .snapshot-modal) :is(p, small, label) {
  color: #53627c !important;
  text-shadow: none !important;
}
body.retro-mode-active.retro-copa-2024-active .confirm-modal .confirm-icon {
  border: 1px solid var(--copa-red) !important;
  border-radius: 50% !important;
  color: var(--copa-white) !important;
  background: var(--copa-red) !important;
  box-shadow: none !important;
}
body.retro-mode-active.retro-copa-2024-active .confirm-modal :is(.primary-button, .danger-button),
body.retro-mode-active.retro-copa-2024-active .snapshot-modal .snapshot-actions .primary-button {
  border: 1px solid var(--copa-red) !important;
  border-radius: 5px !important;
  color: var(--copa-white) !important;
  background: var(--copa-red) !important;
  box-shadow: none !important;
}
body.retro-mode-active.retro-copa-2024-active .confirm-modal .secondary-button,
body.retro-mode-active.retro-copa-2024-active .snapshot-modal .snapshot-actions .secondary-button {
  border: 1px solid var(--copa-blue) !important;
  border-radius: 5px !important;
  color: var(--copa-white) !important;
  background: var(--copa-blue) !important;
  box-shadow: none !important;
}
body.retro-mode-active.retro-copa-2024-active .snapshot-modal .snapshot-modal-head {
  border: 0 !important;
  border-bottom: 1px solid #c9d1df !important;
  border-radius: 0 !important;
  color: var(--copa-ink) !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}
body.retro-mode-active.retro-copa-2024-active .snapshot-modal .snapshot-preview {
  border: 1px solid #9eabc1 !important;
  border-radius: 5px !important;
  background: var(--copa-navy) !important;
  background-image: none !important;
  box-shadow: none !important;
}
body.retro-mode-active.retro-copa-2024-active .snapshot-modal .close-modal {
  border: 1px solid #b6c0d1 !important;
  border-radius: 4px !important;
  color: var(--copa-navy) !important;
  background: var(--copa-white) !important;
  box-shadow: none !important;
}
body.retro-mode-active.retro-copa-2024-active :is(.confirm-modal, .snapshot-modal) button:focus-visible {
  outline: 2px solid var(--copa-red) !important;
  outline-offset: 2px !important;
  border-color: var(--copa-red) !important;
  box-shadow: none !important;
}
body.retro-mode-active.retro-copa-2024-active :is(.confirm-modal, .snapshot-modal)::backdrop {
  background: rgba(1, 9, 30, .78) !important;
  backdrop-filter: blur(4px) !important;
}

body.retro-mode-active.retro-copa-2024-active :is(button, .search-result):active:not(:disabled) {
  transform: scale(.97);
}

@media (max-width: 720px) {
  body.retro-mode-active.retro-copa-2024-active .retro-tournament-heading {
    padding: 14px 15px !important;
  }
  body.retro-mode-active.retro-copa-2024-active #mainContent .match-stage .matchup {
    padding-inline: 12px !important;
  }
}

/* Final Copa 2024 colour lock: keep late shared guards from restoring white. */
body.retro-mode-active.retro-copa-2024-active #mainContent .round-board {
  border-color: #31528d !important;
  border-top-color: var(--copa-red) !important;
  color: var(--copa-white) !important;
  background: linear-gradient(145deg, #0a2b70, #061d54 62%, #04153e) !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent .round-board > :is(h2, h3) {
  color: var(--copa-white) !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent .fixture-grid:not(.bracket-mode) .fixture {
  border-color: #49679a !important;
  border-left: 5px solid var(--copa-red) !important;
  color: var(--copa-white) !important;
  background: #0a2b70 !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent .fixture-grid:not(.bracket-mode) .fixture :is(strong, b, span, small) {
  color: var(--copa-white) !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent .fixture-grid:not(.bracket-mode) .fixture :is(.fixture-meta, .fixture-details, footer) {
  color: #d8e1f0 !important;
  background: #041b4d !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent :is(.fixture-grid.bracket-mode, .bracket-shell, .bracket-canvas, .bracket-board) {
  border-color: #31528d !important;
  color: var(--copa-white) !important;
  background: linear-gradient(145deg, #0a2b70, #061d54 64%, #04153e) !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent :is(.fixture.bracket-fixture, .bracket-card, .bracket-match, .third-place-card) {
  border-color: #5b78aa !important;
  border-left: 5px solid var(--copa-red) !important;
  color: var(--copa-white) !important;
  background: #0b2d70 !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent :is(.fixture.bracket-fixture, .bracket-card, .bracket-match, .third-place-card) :is(strong, b, span, small) {
  color: var(--copa-white) !important;
}

body.retro-mode-active.retro-copa-2024-active #mainContent .retro-squad-view {
  border-color: #31528d !important;
  border-top: 5px solid var(--copa-red) !important;
  color: var(--copa-white) !important;
  background: linear-gradient(145deg, #0a2b70, #061d54 58%, #04153e) !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent .retro-squad-heading {
  border-color: rgba(255,255,255,.22) !important;
  color: var(--copa-white) !important;
  background: #061d54 !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent .retro-squad-position-group {
  border: 1px solid #49679a !important;
  background: #0a2b70 !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent .retro-squad-position-group > h2 {
  border-bottom: 3px solid var(--copa-red) !important;
  color: var(--copa-white) !important;
  background: #041b4d !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent .retro-squad-position-group .retro-squad-row,
body.retro-mode-active.retro-copa-2024-active #mainContent .retro-squad-position-group .retro-squad-row:nth-child(even) {
  border-bottom: 1px solid rgba(255,255,255,.14) !important;
  color: var(--copa-white) !important;
  background: #0a2b70 !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent .retro-squad-position-group .retro-squad-row:nth-child(even) {
  background: #0d347f !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent .retro-squad-position-group .retro-squad-row.is-likely-starter {
  background: #164ca4 !important;
  box-shadow: inset 4px 0 var(--copa-red) !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent .retro-squad-row :is(strong, small) {
  color: var(--copa-white) !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent .retro-squad-row > :is(em, i) {
  display: none !important;
}

/* Squad view is rendered beside #mainContent inside the historical screen. */
body.retro-mode-active.retro-copa-2024-active .retro-tournament-body .retro-squad-view {
  border: 1px solid #31528d !important; border-top: 5px solid var(--copa-red) !important;
  color: var(--copa-white) !important;
  background: linear-gradient(145deg, #0a2b70, #061d54 58%, #04153e) !important;
}
body.retro-mode-active.retro-copa-2024-active .retro-tournament-body .retro-squad-heading {
  border-color: rgba(255,255,255,.22) !important; color: var(--copa-white) !important; background: #061d54 !important;
}
body.retro-mode-active.retro-copa-2024-active .retro-tournament-body .retro-squad-heading :is(strong, small, em, label, span) { color: var(--copa-white) !important; }
body.retro-mode-active.retro-copa-2024-active .retro-tournament-body .retro-squad-position-group {
  border: 1px solid #49679a !important; background: #0a2b70 !important;
}
body.retro-mode-active.retro-copa-2024-active .retro-tournament-body .retro-squad-position-group > h2 {
  border-bottom: 3px solid var(--copa-red) !important; color: var(--copa-white) !important; background: #041b4d !important;
}
body.retro-mode-active.retro-copa-2024-active .retro-tournament-body .retro-squad-position-group > h2 b,
body.retro-mode-active.retro-copa-2024-active .retro-tournament-body .retro-squad-number {
  border-color: rgba(255,255,255,.48) !important; color: var(--copa-white) !important; background: var(--copa-red) !important;
}
body.retro-mode-active.retro-copa-2024-active .retro-tournament-body .retro-squad-row,
body.retro-mode-active.retro-copa-2024-active .retro-tournament-body .retro-squad-row:nth-child(even) {
  border-bottom: 1px solid rgba(255,255,255,.14) !important; color: var(--copa-white) !important; background: #0a2b70 !important;
}
body.retro-mode-active.retro-copa-2024-active .retro-tournament-body .retro-squad-row:nth-child(even) { background: #0d347f !important; }
body.retro-mode-active.retro-copa-2024-active .retro-tournament-body .retro-squad-row.is-likely-starter {
  background: #164ca4 !important; box-shadow: inset 4px 0 var(--copa-red) !important;
}
body.retro-mode-active.retro-copa-2024-active .retro-tournament-body .retro-squad-row :is(strong, small) { color: var(--copa-white) !important; }
body.retro-mode-active.retro-copa-2024-active .retro-tournament-body .retro-squad-row > :is(em, i) { display: none !important; }

/* Final Copa 2024 contrast and interaction polish. */
body.retro-mode-active.retro-copa-2024-active #mainContent .retro-match-lineups-panel {
  overflow: hidden !important;
  border: 1px solid #e26878 !important;
  border-radius: 5px !important;
  color: var(--copa-white) !important;
  background: var(--copa-red) !important;
  box-shadow: none !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent .retro-match-lineups-panel > summary {
  border: 0 !important;
  color: var(--copa-white) !important;
  background: var(--copa-red) !important;
  text-shadow: none !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent .retro-match-lineups-panel > summary::marker,
body.retro-mode-active.retro-copa-2024-active #mainContent .retro-match-lineups-panel > summary::before {
  color: var(--copa-white) !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent .retro-match-lineups-panel[open] > :not(summary) {
  color: var(--copa-white) !important;
  background: var(--copa-navy) !important;
}

body.retro-mode-active.retro-copa-2024-active #mainContent .round-board .section-heading :is(h2, h3),
body.retro-mode-active.retro-copa-2024-active #mainContent .round-board > :is(h2, h3),
body.retro-mode-active.retro-copa-2024-active #mainContent .round-board :is(.round-title, .board-title) {
  color: var(--copa-white) !important;
  text-shadow: none !important;
}
body.retro-mode-active.retro-copa-2024-active .retro-golden-boot > div > b {
  color: var(--copa-white) !important;
  text-shadow: none !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent .golden-boot-rank {
  color: var(--copa-white) !important;
  text-shadow: none !important;
}

body.retro-mode-active.retro-copa-2024-active #mainContent #teamFilterControl.team-filter-control {
  overflow: visible !important;
  padding: 0 !important;
  border: 0 !important;
  color: var(--copa-white) !important;
  background: transparent !important;
  box-shadow: none !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent #teamFilterControl .team-filter-search {
  overflow: hidden !important;
  border: 1px solid #6f88b5 !important;
  border-radius: 4px !important;
  color: var(--copa-white) !important;
  background: #08245f !important;
  box-shadow: none !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent #teamFilterControl .team-filter-search :is(input, .search-input) {
  padding-inline: 8px !important;
  border: 0 !important;
  outline: 0 !important;
  color: var(--copa-white) !important;
  background: transparent !important;
  box-shadow: none !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent #teamFilterControl .team-filter-search :is(input, .search-input)::placeholder {
  color: #b7c5dd !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent #teamFilterControl .team-filter-search :is(svg, .search-icon, span) {
  color: var(--copa-white) !important;
}

body.retro-mode-active.retro-copa-2024-active #mainContent .penalty-stage {
  width: min(760px, calc(100% - 48px)) !important;
  margin-inline: auto !important;
  padding: 18px 20px !important;
  border: 1px solid #6982ad !important;
  border-top: 5px solid var(--copa-red) !important;
  border-radius: 6px !important;
  color: var(--copa-white) !important;
  background: #061d54 !important;
  background-image: linear-gradient(145deg, #0a2b70, #061d54 68%, #04153e) !important;
  box-shadow: 0 14px 30px rgba(0,8,38,.3) !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent .penalty-stage-head {
  color: #dce5f3 !important;
  text-shadow: none !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent .penalty-stage-head strong,
body.retro-mode-active.retro-copa-2024-active #mainContent .penalty-stage-head strong b {
  color: var(--copa-white) !important;
  text-shadow: 0 2px 8px rgba(0,0,0,.42) !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent .penalty-stage-head strong i {
  color: #d9e2f1 !important;
  text-shadow: none !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent .penalty-stage-head strong b.score-pop {
  color: #ffffff !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent .penalty-scene {
  border: 1px solid #9bb0d1 !important;
  border-radius: 5px !important;
  background: linear-gradient(180deg, rgba(4,21,62,.06), rgba(4,21,62,.38)), #163f80 !important;
  box-shadow: inset 0 0 32px rgba(0,8,38,.24) !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent .penalty-call strong,
body.retro-mode-active.retro-copa-2024-active #mainContent .penalty-ledgers span {
  color: var(--copa-white) !important;
  text-shadow: none !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent .penalty-mark {
  width: 13px !important;
  height: 13px !important;
  border: 2px solid #9aabc7 !important;
  border-radius: 50% !important;
  background: #243f70 !important;
  box-shadow: none !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent .penalty-mark.goal,
body.retro-mode-active.retro-copa-2024-active #mainContent .shootout-summary-row.scored i,
body.retro-mode-active.retro-copa-2024-active #mainContent :is(.penalty-score-dot, .kick-result-marker).goal {
  border-color: #74d89b !important;
  background: #159447 !important;
  box-shadow: 0 0 0 3px rgba(21,148,71,.16) !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent .penalty-mark.miss,
body.retro-mode-active.retro-copa-2024-active #mainContent .shootout-summary-row.missed i,
body.retro-mode-active.retro-copa-2024-active #mainContent :is(.penalty-score-dot, .kick-result-marker).miss {
  border-color: #f28a96 !important;
  background: #c7243b !important;
  box-shadow: 0 0 0 3px rgba(199,36,59,.15) !important;
}

/* Copa 2024 final readability lock. */
body.retro-mode-active.retro-copa-2024-active #mainContent .match-stat-row span,
body.retro-mode-active.retro-copa-2024-active #mainContent .golden-boot-rank {
  color: #071938 !important;
  text-shadow: none !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent .penalty-mark {
  border-color: #ffffff !important;
  background: #ffffff !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent .penalty-mark.goal,
body.retro-mode-active.retro-copa-2024-active #mainContent .shootout-summary-row.scored i {
  border: 3px solid #8be0aa !important;
  background: #138a43 !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent .penalty-mark.miss,
body.retro-mode-active.retro-copa-2024-active #mainContent .shootout-summary-row.missed i {
  border: 3px solid #ffffff !important;
  background: #cf263f !important;
  box-shadow: 0 0 0 3px rgba(207,38,63,.28) !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent .penalty-keeper i,
body.retro-mode-active.retro-copa-2024-active #mainContent .penalty-taker i {
  background: #c98d64 !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent .penalty-keeper b {
  color: #55a7df !important;
  background: #55a7df !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent .penalty-taker b {
  color: #f1f4fa !important;
  background: #f1f4fa !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent .match-stage .team-match-events :is(span, b, strong, small),
body.retro-mode-active.retro-copa-2024-active #mainContent .match-stage .shootout-summary-row {
  color: #ffffff !important;
  text-shadow: none !important;
}

body.retro-mode-active.retro-copa-2024-active #mainContent .retro-match-lineups-panel[open] {
  border-color: #d06b7c !important;
  background: #071f59 !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent .retro-lineup-workspace,
body.retro-mode-active.retro-copa-2024-active #mainContent .retro-manager-lineup.is-live-ratings {
  color: #ffffff !important;
  background: #071f59 !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent .retro-live-ratings-side,
body.retro-mode-active.retro-copa-2024-active #mainContent .retro-live-ratings-side > header {
  border-color: #8ca3c8 !important;
  color: #ffffff !important;
  background: #092b70 !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent .retro-live-ratings-side > header :is(span, small, strong, b),
body.retro-mode-active.retro-copa-2024-active #mainContent .retro-live-ratings-side > header * {
  color: #ffffff !important;
  text-shadow: none !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent .retro-live-rating-row {
  border-color: #ccd5e4 !important;
  color: #071938 !important;
  background: #ffffff !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent .retro-live-rating-row :is(strong, small, span) {
  color: #071938 !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent .retro-live-rating-row > b {
  color: #ffffff !important;
  background: #153d78 !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent .retro-live-rating-row > b.is-excellent,
body.retro-mode-active.retro-copa-2024-active #mainContent .retro-live-rating-row > b.is-good { background: #087642 !important; }
body.retro-mode-active.retro-copa-2024-active #mainContent .retro-live-rating-row > b.is-average { background: #8a6410 !important; }
body.retro-mode-active.retro-copa-2024-active #mainContent .retro-live-rating-row > b.is-poor { background: #9b1d35 !important; }

body.retro-mode-active.retro-copa-2024-active #mainContent :is(#snapshotButton, .snapshot-button, .match-snapshot-button) {
  border: 1px solid #ffffff !important;
  border-radius: 5px !important;
  color: #ffffff !important;
  background: #092b70 !important;
  box-shadow: none !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent .champion-stage {
  overflow: hidden !important;
  border: 1px solid #d06b7c !important;
  border-top: 7px solid #ffffff !important;
  border-radius: 6px !important;
  color: #ffffff !important;
  background: linear-gradient(145deg, #a9233a, #74172a) !important;
  box-shadow: 0 18px 40px rgba(0,8,38,.34) !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent .champion-stage::before,
body.retro-mode-active.retro-copa-2024-active #mainContent .champion-stage::after {
  display: none !important;
  content: none !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent .champion-stage :is(.champion-content, .champion-podium) {
  border: 0 !important;
  color: #ffffff !important;
  background: transparent !important;
  box-shadow: none !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent .champion-stage :is(h1, h2, h3, p, strong, span, small, b) {
  color: #ffffff !important;
  text-shadow: none !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent .champion-stage :is(.champion-place, .champion-award, .champion-extra-awards > *) {
  border: 1px solid #7890b8 !important;
  border-radius: 4px !important;
  color: #ffffff !important;
  background: #092b70 !important;
  box-shadow: none !important;
}

/* Components moved outside #mainContent by the shared historical renderer. */
body.retro-mode-active.retro-copa-2024-active .champion-stage {
  border: 1px solid #d06b7c !important; border-top: 7px solid #ffffff !important;
  color: #ffffff !important; background: linear-gradient(145deg, #a9233a, #74172a) !important;
  background-image: linear-gradient(145deg, #a9233a, #74172a) !important; box-shadow: none !important;
}
body.retro-mode-active.retro-copa-2024-active .champion-stage::before,
body.retro-mode-active.retro-copa-2024-active .champion-stage::after { display: none !important; content: none !important; }
body.retro-mode-active.retro-copa-2024-active .champion-stage :is(.champion-content, .champion-podium) {
  border: 0 !important; color: #ffffff !important; background: transparent !important; box-shadow: none !important;
}
body.retro-mode-active.retro-copa-2024-active .champion-stage :is(h1, h2, h3, p, strong, span, small, b) {
  color: #ffffff !important; text-shadow: none !important;
}
body.retro-mode-active.retro-copa-2024-active .champion-stage :is(.champion-place, .champion-award, .champion-extra-awards > *) {
  border: 1px solid #7890b8 !important; color: #ffffff !important; background: #092b70 !important; box-shadow: none !important;
}

body.retro-mode-active.retro-copa-2024-active .retro-lineup-side > header,
body.retro-mode-active.retro-copa-2024-active .retro-lineup-side > header :is(strong, small, span, b, em),
body.retro-mode-active.retro-copa-2024-active .retro-lineups-heading :is(h2, p) {
  color: #ffffff !important; text-shadow: none !important;
}
body.retro-mode-active.retro-copa-2024-active .retro-lineup-side > header { background: #092b70 !important; }
body.retro-mode-active.retro-copa-2024-active .retro-lineup-side li small,
body.retro-mode-active.retro-copa-2024-active .retro-manager-player small { color: #52627e !important; }

body.retro-mode-active.retro-copa-2024-active .retro-lineup-tabs {
  overflow: hidden !important; border: 1px solid #7890b8 !important; border-radius: 5px !important;
  background: #061d54 !important; box-shadow: none !important;
}
body.retro-mode-active.retro-copa-2024-active .retro-lineup-tabs button,
body.retro-mode-active.retro-copa-2024-active .retro-lineup-tabs button:last-child {
  border: 0 !important; border-radius: 0 !important; color: #ffffff !important;
  background: #092b70 !important; box-shadow: none !important;
}
body.retro-mode-active.retro-copa-2024-active .retro-lineup-tabs button.active,
body.retro-mode-active.retro-copa-2024-active .retro-lineup-tabs button[aria-selected="true"] {
  color: #ffffff !important; background: var(--copa-red) !important;
}
body.retro-mode-active.retro-copa-2024-active .retro-lineup-workspace,
body.retro-mode-active.retro-copa-2024-active .retro-manager-layout {
  border-color: #7890b8 !important; color: #071938 !important; background: #eef2f8 !important;
}
body.retro-mode-active.retro-copa-2024-active .retro-lineup-workspace > p { color: #52627e !important; }
body.retro-mode-active.retro-copa-2024-active .retro-manager-player,
body.retro-mode-active.retro-copa-2024-active .retro-manager-player.is-bench {
  border-color: #bdc8da !important; color: #071938 !important; background: #ffffff !important; box-shadow: none !important;
}
body.retro-mode-active.retro-copa-2024-active .retro-manager-player :is(strong, em) { color: #071938 !important; }
body.retro-mode-active.retro-copa-2024-active .retro-manager-player > b,
body.retro-mode-active.retro-copa-2024-active .retro-pitch-player i {
  border-color: #ffffff !important; color: #ffffff !important; background: var(--copa-red) !important;
}
body.retro-mode-active.retro-copa-2024-active .retro-manager-player > i {
  border-color: #7890b8 !important; color: #071938 !important; background: #e8edf6 !important;
}
body.retro-mode-active.retro-copa-2024-active .retro-manager-player.is-selected {
  border-color: var(--copa-red) !important; background: #f8e9ed !important; box-shadow: inset 4px 0 var(--copa-red) !important;
}

body.retro-mode-active.retro-copa-2024-active #mainContent .retro-standard-fixture-meta {
  margin-top: 12px !important; padding: 10px 0 0 !important;
  border: 0 !important; border-top: 1px solid rgba(255,255,255,.22) !important;
  color: #dce5f3 !important; background: transparent !important; box-shadow: none !important;
}

/* High-specificity corrections for the shared manager and fixture widgets. */
body.retro-mode-active.retro-copa-2024-active .retro-lineup-tabs button *,
body.retro-mode-active.retro-copa-2024-active .retro-lineup-tabs button.active * {
  color: #ffffff !important;
}
body.retro-mode-active.retro-copa-2024-active .retro-pitch-player > b,
body.retro-mode-active.retro-copa-2024-active .retro-pitch-player.is-selected > b,
body.retro-mode-active.retro-copa-2024-active .retro-pitch-player.is-drop-target > b {
  border: 2px solid #ffffff !important;
  color: #ffffff !important;
  background: var(--copa-red) !important;
  box-shadow: 0 3px 8px rgba(0,8,38,.24) !important;
}
body.retro-mode-active.retro-copa-2024-active .retro-pitch-player > i {
  border: 1px solid #ffffff !important;
  color: #ffffff !important;
  background: #092b70 !important;
}
body.retro-mode-active.retro-copa-2024-active .retro-pitch-player > span {
  color: #071938 !important;
  background: rgba(255,255,255,.9) !important;
  text-shadow: none !important;
}
body.retro-mode-active.retro-copa-2024-active .retro-manager-section,
body.retro-mode-active.retro-copa-2024-active .retro-manager-pitch-box {
  border-color: #9aabc7 !important;
  color: #071938 !important;
  background: #eef2f8 !important;
}
body.retro-mode-active.retro-copa-2024-active .retro-manager-section-title :is(strong, span),
body.retro-mode-active.retro-copa-2024-active .retro-manager-section :is(h3, h4) {
  color: #071938 !important;
}
body.retro-mode-active.retro-copa-2024-active .retro-manager-player small {
  color: #52627e !important;
  opacity: 1 !important;
}
body.retro-mode-active.retro-copa-2024-active .retro-manager-player-list {
  scrollbar-color: var(--copa-red) #d7deea !important;
}
body.retro-mode-active.retro-copa-2024-active .retro-manager-player-list::-webkit-scrollbar-track { background: #d7deea !important; }
body.retro-mode-active.retro-copa-2024-active .retro-manager-player-list::-webkit-scrollbar-thumb { background: var(--copa-red) !important; }

body.retro-mode-active.retro-copa-2024-active #mainContent .fixture-grid:not(.bracket-mode) .fixture .retro-standard-fixture-meta {
  display: block !important;
  margin: 12px 0 0 !important;
  padding: 10px 0 0 !important;
  border: 0 !important;
  border-top: 1px solid rgba(255,255,255,.25) !important;
  color: #ffffff !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

body.retro-mode-active.retro-copa-2024-active .champion-stage .champion-content > *,
body.retro-mode-active.retro-copa-2024-active .champion-stage .champion-award-copy > *,
body.retro-mode-active.retro-copa-2024-active .champion-stage .champion-place > * {
  color: #ffffff !important;
  opacity: 1 !important;
  text-shadow: none !important;
}

body.retro-mode-active.retro-copa-2024-active #mainContent :is(.event-live-clock, .event-live-clock strong, .live-clock, .score-live-clock, .score-live-clock strong) {
  color: #ffffff !important;
  text-shadow: 0 2px 6px rgba(0,8,38,.35) !important;
}
body.retro-mode-active.retro-copa-2024-active .retro-formation-badge,
body.retro-mode-active.retro-copa-2024-active .retro-pitch-corner-control .retro-formation-badge {
  border: 1px solid #8fa5ca !important;
  border-radius: 4px !important;
  color: #ffffff !important;
  background: #092b70 !important;
  box-shadow: none !important;
}
body.retro-mode-active.retro-copa-2024-active .retro-pitch-sub-counter {
  gap: 6px !important;
  padding: 5px 7px !important;
  border: 1px solid #8fa5ca !important;
  border-radius: 4px !important;
  color: #ffffff !important;
  background: #092b70 !important;
  box-shadow: none !important;
}
body.retro-mode-active.retro-copa-2024-active .retro-pitch-sub-counter span {
  color: #ffffff !important;
}
body.retro-mode-active.retro-copa-2024-active .retro-pitch-sub-counter.is-pending {
  gap: 4px !important;
  padding: 4px 5px !important;
  background: #061d54 !important;
}
body.retro-mode-active.retro-copa-2024-active .retro-pitch-sub-counter.is-pending button,
body.retro-mode-active.retro-copa-2024-active .retro-pitch-sub-counter.is-pending button:last-child {
  min-height: 26px !important;
  padding: 0 7px !important;
  border: 1px solid #8fa5ca !important;
  border-radius: 3px !important;
  color: #ffffff !important;
  background: #092b70 !important;
  box-shadow: none !important;
}
body.retro-mode-active.retro-copa-2024-active .retro-pitch-sub-counter.is-pending button:last-child {
  border-color: #d06b7c !important;
  background: var(--copa-red) !important;
}
body.retro-mode-active.retro-copa-2024-active .retro-pitch-player {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
body.retro-mode-active.retro-copa-2024-active .retro-pitch-player > span {
  padding: 2px 5px !important;
  border-radius: 2px !important;
  color: #071938 !important;
  background: #ffffff !important;
  box-shadow: 0 2px 5px rgba(0,8,38,.18) !important;
}

/* Live clock and clean pitch-player lock (disabled buttons inherit a white fill). */
body.retro-mode-active.retro-copa-2024-active :is(.event-live-clock, .event-live-clock > span, .event-live-clock strong, .event-live-clock small, .live-clock, .score-live-clock, .score-live-clock strong),
body.retro-mode-active.retro-copa-2024-active :is(.event-live-clock, .score-live-clock) * {
  color: #ffffff !important;
  opacity: 1 !important;
  text-shadow: 0 2px 6px rgba(0,8,38,.4) !important;
}
body.retro-mode-active.retro-copa-2024-active .retro-manager-pitch button.retro-pitch-player,
body.retro-mode-active.retro-copa-2024-active .retro-manager-pitch button.retro-pitch-player:disabled,
body.retro-mode-active.retro-copa-2024-active #mainContent .retro-manager-pitch button.retro-pitch-player:disabled {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: #ffffff !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  opacity: 1 !important;
}
body.retro-mode-active.retro-copa-2024-active .retro-manager-pitch button.retro-pitch-player > span {
  padding: 1px 3px !important;
  border: 0 !important;
  color: #ffffff !important;
  background: rgba(6,29,84,.78) !important;
  box-shadow: none !important;
  text-shadow: 0 2px 4px rgba(0,8,38,.9) !important;
}

body.retro-mode-active.retro-copa-2024-active #eventLiveClock,
body.retro-mode-active.retro-copa-2024-active #eventLiveClock > span,
body.retro-mode-active.retro-copa-2024-active #eventLiveClock > span *,
body.retro-mode-active.retro-copa-2024-active #liveClock,
body.retro-mode-active.retro-copa-2024-active #livePhase {
  color: #ffffff !important;
  opacity: 1 !important;
  -webkit-text-fill-color: #ffffff !important;
  text-shadow: 0 2px 6px rgba(0,8,38,.5) !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent .retro-manager-pitch button.retro-pitch-player,
body.retro-mode-active.retro-copa-2024-active #mainContent .retro-manager-pitch button.retro-pitch-player:not(:disabled) {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}
body.retro-mode-active.retro-copa-2024-active .retro-manager-hint,
body.retro-mode-active.retro-copa-2024-active #mainContent .retro-manager-hint {
  color: #071938 !important;
  opacity: 1 !important;
  text-shadow: none !important;
}

body.retro-mode-active.retro-copa-2024-active #mainContent .retro-manager-pitch .retro-pitch-player > b,
body.retro-mode-active.retro-copa-2024-active .retro-manager-pitch .retro-pitch-player > b {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent .retro-manager-player > b,
body.retro-mode-active.retro-copa-2024-active .retro-manager-player > b {
  padding: 0 !important;
  border: 0 !important;
  color: #071938 !important;
  background: transparent !important;
  box-shadow: none !important;
}
body.retro-mode-active.retro-copa-2024-active #mainContent .retro-formation-badge,
body.retro-mode-active.retro-copa-2024-active .retro-pitch-corner-control .retro-formation-badge {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

body.retro-mode-active.retro-copa-2024-active #championStage,
body.retro-mode-active.retro-copa-2024-active #championStage * {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
  text-shadow: none !important;
}
/* Euro 2020 menu preview: teal host-city map shapes and festival colour. */
.retro-year-switch[data-competition="euros"] {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.mode-card-retro[data-retro-competition="euros"][data-retro-edition="2020"] {
  isolation: isolate;
  overflow: hidden;
  border-color: rgba(198, 237, 235, 0.4);
  color: #ffffff;
  background:
    radial-gradient(ellipse at -4% 94%, rgba(196, 219, 52, 0.95) 0 8%, transparent 8.4%),
    radial-gradient(ellipse at 104% 17%, rgba(101, 204, 213, 0.72) 0 12%, transparent 12.5%),
    radial-gradient(ellipse at 8% -8%, rgba(126, 211, 218, 0.28) 0 20%, transparent 20.5%),
    linear-gradient(142deg, transparent 0 68%, rgba(4, 91, 101, 0.26) 68.4% 82%, transparent 82.4%),
    linear-gradient(26deg, transparent 0 71%, rgba(150, 222, 220, 0.18) 71.4% 82%, transparent 82.4%),
    radial-gradient(circle at 48% 12%, rgba(53, 188, 202, 0.35), transparent 38%),
    linear-gradient(135deg, #0d98a9 0%, #087d8d 48%, #056573 100%);
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.16), 0 22px 58px rgba(0, 69, 79, 0.3);
}

.mode-card-retro[data-retro-competition="euros"][data-retro-edition="2020"]::after {
  position: absolute;
  z-index: -1;
  right: -54px;
  bottom: -76px;
  width: 210px;
  height: 210px;
  border: 20px solid rgba(169, 224, 224, 0.22);
  border-radius: 48% 52% 44% 56%;
  content: "";
  transform: rotate(-18deg);
}

.mode-card-retro[data-retro-competition="euros"][data-retro-edition="2020"] .retro-mode-heading > img {
  width: 56px;
  height: 58px;
  object-fit: contain;
  filter: drop-shadow(0 9px 15px rgba(0, 55, 64, 0.35));
}

.mode-card-retro[data-retro-competition="euros"][data-retro-edition="2020"] h3 {
  color: #ffffff;
}

.mode-card-retro[data-retro-competition="euros"][data-retro-edition="2020"] :is(
  .retro-competition-switch,
  .retro-year-switch
) {
  border-color: rgba(255, 255, 255, 0.28);
  background: rgba(2, 83, 94, 0.58);
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(10px);
}

.mode-card-retro[data-retro-competition="euros"][data-retro-edition="2020"] :is(
  .retro-competition-switch button,
  .retro-year-switch button
) {
  color: rgba(255, 255, 255, 0.78);
}

.mode-card-retro[data-retro-competition="euros"][data-retro-edition="2020"] :is(
  .retro-competition-switch button.active,
  .retro-year-switch button.active
) {
  color: #073f49;
  background: #c7da3a;
  box-shadow: 0 4px 14px rgba(98, 113, 0, 0.24);
}

.mode-card-retro[data-retro-competition="euros"][data-retro-edition="2020"] :is(
  .landing-setting-heading > span,
  .landing-team-setting > span,
  .retro-team-picker strong,
  .retro-team-picker small
) {
  color: #ffffff;
}

.mode-card-retro[data-retro-competition="euros"][data-retro-edition="2020"] :is(
  .landing-segmented,
  .retro-team-picker
) {
  border-color: rgba(255, 255, 255, 0.24);
  background: rgba(2, 83, 94, 0.55);
}

.mode-card-retro[data-retro-competition="euros"][data-retro-edition="2020"] .landing-segmented button {
  color: rgba(255, 255, 255, 0.76);
}

.mode-card-retro[data-retro-competition="euros"][data-retro-edition="2020"] .landing-segmented button.active {
  color: #073f49;
  background: #c7da3a;
}

@media (max-width: 760px) {
  .mode-card-retro[data-retro-competition="euros"][data-retro-edition="2020"] .mode-card-mobile-artwork img {
    width: 36px;
    height: 36px;
    object-fit: contain;
  }
}

.mode-card-retro[data-retro-competition="euros"][data-retro-edition="2020"] .retro-start-button:disabled {
  border-color: #e4ef71;
  color: #073f49;
  background: #c7da3a;
  box-shadow: 0 6px 0 #708314;
  cursor: not-allowed;
  opacity: 1;
}

/* UEFA EURO 2020 mode ---------------------------------------------------- */
body.retro-mode-active.retro-euro-2020-active {
  --euro20-teal: #0794a6;
  --euro20-deep: #047786;
  --euro20-ink: #075d68;
  --euro20-lime: #b9dc18;
  --euro20-orange: #f48a08;
  color: #fff;
  background: #078c9e;
}

body.retro-euro-2020-active .retro-tournament-screen {
  min-height: 100vh;
  background:
    linear-gradient(132deg, transparent 0 38%, rgba(255,255,255,.035) 38% 58%, transparent 58%),
    radial-gradient(circle at 18% 22%, rgba(97,219,222,.24), transparent 33%),
    radial-gradient(circle at 83% 76%, rgba(0,92,105,.28), transparent 38%),
    #098fa0;
}

body.retro-euro-2020-active .retro-screen-header {
  border-bottom: 1px solid rgba(255,255,255,.22);
  background: rgba(3,102,116,.84);
  backdrop-filter: blur(16px);
}

body.retro-mode-active.retro-euro-2020-active .retro-tournament-main {
  background:
    linear-gradient(132deg, transparent 0 38%, rgba(255,255,255,.035) 38% 58%, transparent 58%),
    radial-gradient(circle at 18% 22%, rgba(97,219,222,.22), transparent 33%),
    radial-gradient(circle at 83% 76%, rgba(0,92,105,.26), transparent 38%),
    #078c9e !important;
}

body.retro-euro-2020-active .retro-tournament-heading h1,
body.retro-euro-2020-active .retro-tournament-heading span,
body.retro-euro-2020-active .retro-tournament-progress,
body.retro-euro-2020-active .retro-view-tabs button { color: #fff; }

body.retro-euro-2020-active .retro-view-tabs {
  padding: 5px;
  border: 1px solid rgba(255,255,255,.25);
  border-radius: 15px;
  background: rgba(1,97,111,.55);
}

body.retro-euro-2020-active .retro-view-tabs button {
  border-radius: 11px;
}

body.retro-euro-2020-active .retro-view-tabs button.active {
  color: #064c56;
  background: var(--euro20-lime);
  box-shadow: 0 5px 16px rgba(41,87,0,.22);
}

.euro-2020-section-title { margin: 4px 0 24px; text-align: center; }
.euro-2020-section-title span { color: var(--euro20-lime); font-size: 11px; font-weight: 900; letter-spacing: .22em; }
.euro-2020-section-title h2 { margin: 6px 0 4px; color: #fff; font-size: clamp(28px, 5vw, 48px); text-transform: uppercase; }
.euro-2020-section-title p { margin: 0; color: rgba(255,255,255,.76); }
body.retro-euro-2020-active .retro-groups-grid { grid-template-columns: repeat(3, minmax(230px, 1fr)); gap: 12px; }
body.retro-euro-2020-active .retro-group-table { overflow: hidden; padding: 7px; border: 1px solid rgba(255,255,255,.55); border-radius: 10px; background: rgba(14,153,170,.4); box-shadow: none; }
body.retro-euro-2020-active .retro-group-table h2 { margin: 0 0 5px; padding: 9px 12px; border-radius: 7px; color: #fff; background: rgba(4,101,116,.72); text-transform: uppercase; }
body.retro-euro-2020-active .retro-table-head { color: rgba(255,255,255,.7); }
body.retro-euro-2020-active .retro-table-row { border-color: rgba(255,255,255,.15); color: #fff; background: transparent; }
body.retro-euro-2020-active .retro-table-row.qualified { box-shadow: inset 3px 0 var(--euro20-lime); }
.euro-2020-city-ribbon { height: 84px; margin: 24px -4vw -2vw; display: flex; align-items: end; justify-content: space-around; border-bottom: 8px solid var(--euro20-lime); background: linear-gradient(to top, rgba(2,105,119,.5), transparent); }
.euro-2020-city-ribbon i { display: block; width: 8%; height: 35%; border-radius: 8px 8px 0 0; background: var(--euro20-orange); box-shadow: 30px 0 #e02a55, 58px 0 #35c5d6; transform: skew(-8deg); }

.euro-2020-road { overflow: hidden; border-radius: 22px; border-bottom: 7px solid var(--euro20-lime); background: rgba(0,117,132,.7); box-shadow: 0 24px 60px rgba(0,64,72,.3); }
.euro-2020-road > header { position: relative; height: 88px; display: grid; place-items: center; background: linear-gradient(#ffae00, #eb5a07 55%, transparent); }
.euro-2020-road > header span { font-size: clamp(22px, 3vw, 38px); font-weight: 950; text-transform: uppercase; }
.euro-2020-road > header img { position: absolute; right: 18px; width: 65px; height: 65px; object-fit: contain; }
.euro-2020-bracket-scroll { overflow-x: auto; padding: 18px; scrollbar-color: var(--euro20-lime) transparent; }
.euro-2020-bracket { min-width: 960px; min-height: 610px; display: grid; grid-template-columns: 1.35fr 1fr .92fr .92fr; gap: 28px; align-items: stretch; }
.euro-2020-bracket-round { display: flex; min-width: 0; flex-direction: column; }
.euro-2020-bracket-round h3 { height: 30px; margin: 0 0 12px; color: #fff; text-align: center; text-transform: uppercase; font-size: 13px; letter-spacing: .08em; }
.euro-2020-bracket-round > div { display: flex; min-height: 540px; flex: 1; flex-direction: column; justify-content: space-around; }
.euro-2020-bracket-match { position: relative; border-bottom: 3px solid var(--euro20-lime); background: rgba(3,91,104,.65); }
.euro-2020-bracket-match::after { position: absolute; content: ""; left: 100%; top: 50%; width: 28px; border-top: 3px solid var(--euro20-lime); }
.euro-2020-bracket-round-4 .euro-2020-bracket-match::after { display: none; }
.euro-2020-bracket-team { min-height: 31px; display: grid; grid-template-columns: 1fr 34px; align-items: center; }
.euro-2020-bracket-team + .euro-2020-bracket-team { border-top: 1px solid rgba(255,255,255,.12); }
.euro-2020-bracket-team > span { min-width: 0; display: flex; align-items: center; gap: 8px; padding: 4px 8px; }
.euro-2020-bracket-team strong { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-size: 13px; }
.euro-2020-bracket-team b { align-self: stretch; display: grid; place-items: center; background: rgba(67,178,194,.65); font-size: 18px; }
.euro-2020-bracket-team.is-winner strong { color: #eafa79; }
.euro-2020-road > footer { padding: 16px 22px; display: flex; justify-content: space-between; align-items: baseline; background: rgba(2,151,171,.75); text-transform: uppercase; }
.euro-2020-road > footer strong { font-size: clamp(22px, 4vw, 42px); }
.euro-2020-road > footer span { color: rgba(255,255,255,.72); font-weight: 700; }

.mode-card-retro[data-retro-competition="euros"][data-retro-edition="2020"] .retro-start-button:not(:disabled) { border-color: #e4ef71; color: #073f49; background: #c7da3a; box-shadow: 0 6px 0 #708314; }

@media (max-width: 900px) {
  body.retro-euro-2020-active .retro-groups-grid { grid-template-columns: repeat(2, minmax(220px, 1fr)); }
}
@media (max-width: 600px) {
  body.retro-euro-2020-active .retro-tournament-main { padding-inline: 12px; }
  body.retro-euro-2020-active .retro-groups-grid { grid-template-columns: 1fr; }
  body.retro-euro-2020-active .retro-view-tabs { overflow-x: auto; display: flex; }
  body.retro-euro-2020-active .retro-view-tabs button { flex: 0 0 auto; }
  .euro-2020-road > header img { width: 50px; height: 50px; }
  .euro-2020-road > footer { align-items: flex-start; flex-direction: column; gap: 4px; }
}

/* Euro 2020 uses the sharper Euro 2016 broadcast geometry, not Brazil 2014. */
body.retro-mode-active.retro-euro-2020-active {
  background:
    linear-gradient(135deg, rgba(11, 169, 184, .18), transparent 46%),
    radial-gradient(circle at 86% 12%, rgba(104, 218, 222, .14), transparent 30%),
    #078c9e !important;
}

body.retro-mode-active.retro-euro-2020-active .retro-tournament-screen {
  background:
    linear-gradient(132deg, transparent 0 38%, rgba(255,255,255,.035) 38% 58%, transparent 58%),
    radial-gradient(circle at 83% 76%, rgba(0,92,105,.24), transparent 38%),
    #078c9e !important;
}

body.retro-mode-active.retro-euro-2020-active .retro-tournament-main {
  padding-top: 58px !important;
}

body.retro-mode-active.retro-euro-2020-active .retro-tournament-heading {
  display: flex !important;
}

body.retro-mode-active.retro-euro-2020-active .retro-view-tabs {
  gap: 1px;
  padding: 3px;
  border: 1px solid rgba(198, 238, 245, .42);
  border-radius: 2px !important;
  background: #056b79;
  box-shadow: 6px 6px 0 rgba(2, 72, 91, .42);
}

body.retro-mode-active.retro-euro-2020-active .retro-view-tabs::before,
body.retro-mode-active.retro-euro-2020-active #mainContent :is(.match-stage, .round-board, .match-analysis)::before {
  display: none !important;
}

body.retro-mode-active.retro-euro-2020-active .retro-view-tabs button {
  min-height: 44px;
  border-radius: 0 !important;
}

body.retro-mode-active.retro-euro-2020-active .retro-view-tabs button.active {
  color: #063f48;
  background: var(--euro20-lime);
  box-shadow: inset 0 -3px #7e9c00;
}

body.retro-mode-active.retro-euro-2020-active #mainContent {
  --surface: #075f6d;
  --surface-raised: #087887;
  --line: rgba(190, 235, 241, .32);
  color: #f4fdff;
}

body.retro-mode-active.retro-euro-2020-active #mainContent :is(
  .match-stage,
  .round-board,
  .panel,
  .match-analysis,
  .standard-match-tactics,
  .story-card
),
body.retro-mode-active.retro-euro-2020-active :is(
  .retro-match-lineups-panel,
  .retro-lineup-tabs,
  .retro-manager-lineup,
  .retro-manager-section,
  .retro-manager-pitch-box,
  .retro-squad-view,
  .retro-squad-position-group
) {
  border: 1px solid rgba(190, 235, 241, .32) !important;
  border-radius: 2px !important;
  color: #f4fdff;
  background:
    linear-gradient(135deg, rgba(10, 132, 146, .98), rgba(4, 83, 98, .98)) !important;
  box-shadow: 6px 6px 0 rgba(2, 72, 91, .38) !important;
}

body.retro-mode-active.retro-euro-2020-active #mainContent :is(.team, .fixture, .standard-tactic-buttons, .standard-tactic-buttons button),
body.retro-mode-active.retro-euro-2020-active :is(.retro-lineup-tabs button, .retro-manager-player, .retro-back-to-modes) {
  border-radius: 2px !important;
}

body.retro-mode-active.retro-euro-2020-active #mainContent :is(
  .primary-button,
  .play-button,
  .secondary-button,
  .live-control,
  .standard-tactic-buttons button.active
) {
  border-radius: 2px !important;
  color: #063f48;
  background: var(--euro20-lime) !important;
  box-shadow: 0 4px 0 #718c00 !important;
}

body.retro-mode-active.retro-euro-2020-active #mainContent :is(.panel-heading, .match-analysis-heading),
body.retro-mode-active.retro-euro-2020-active :is(.retro-manager-lineup > header, .retro-squad-heading, .retro-squad-position-group > h2) {
  border-radius: 0 !important;
  color: #fff;
  background: #046372 !important;
}

body.retro-mode-active.retro-euro-2020-active #mainContent :is(.stage-round, .panel-heading h2, .match-analysis-heading, .section-heading h2) {
  color: #d9ef57 !important;
  text-shadow: none !important;
}

body.retro-mode-active.retro-euro-2020-active .retro-view-tabs button:hover:not(.active) {
  color: #fff !important;
  background: #087f8e !important;
}

body.retro-mode-active.retro-euro-2020-active #mainContent :is(
  .match-commentary-feed,
  .match-highlight-mode,
  .standard-tactic-buttons,
  .retro-manager-player,
  .fixture,
  .fixture.bracket-fixture,
  .bracket-heads,
  .team-filter-search,
  .team-filter-chip,
  .search-result-popover,
  .search-result,
  .history-round-button,
  .text-button,
  .snapshot-trigger
) {
  border-color: rgba(190, 235, 241, .34) !important;
  border-radius: 2px !important;
  color: #f4fdff !important;
  background: #056675 !important;
  background-image: none !important;
  box-shadow: none !important;
}

body.retro-mode-active.retro-euro-2020-active #mainContent :is(
  .standard-tactic-buttons button:not(.active),
  .history-round-button,
  .text-button,
  .team-filter-chip,
  .snapshot-trigger
) {
  color: #e8fbfd !important;
  background: #056675 !important;
}

body.retro-mode-active.retro-euro-2020-active #mainContent :is(
  .standard-tactic-buttons button:hover:not(:disabled),
  .history-round-button:hover,
  .text-button:hover,
  .team-filter-chip:hover,
  .snapshot-trigger:hover,
  .search-result:hover
) {
  color: #073f49 !important;
  background: var(--euro20-lime) !important;
}

body.retro-mode-active.retro-euro-2020-active #mainContent :is(.fixture:hover, .fixture.selected) {
  color: #fff !important;
  background: #087f8e !important;
  box-shadow: inset 4px 0 var(--euro20-lime) !important;
}

body.retro-mode-active.retro-euro-2020-active #mainContent .bracket-heads {
  color: #e9f872 !important;
  background: #034f5c !important;
}

body.retro-mode-active.retro-euro-2020-active #mainContent :is(
  .bracket-connector::before,
  .bracket-connector::after,
  .bracket-fixture[data-connects="true"]::after
) {
  border-color: rgba(185, 220, 24, .62) !important;
}

body.retro-mode-active.retro-euro-2020-active #mainContent .match-commentary-feed,
body.retro-mode-active.retro-euro-2020-active #mainContent .match-commentary-feed .commentary-line span {
  color: #effdff !important;
  background: #034f5c !important;
}

body.retro-mode-active.retro-euro-2020-active #mainContent #teamFilterControl :is(
  .team-filter-search,
  .team-filter-chip,
  #teamSearch
) {
  border-radius: 2px !important;
  color: #f4fdff !important;
  background: #056675 !important;
}

body.retro-mode-active.retro-euro-2020-active #mainContent #teamFilterControl :is(
  .team-filter-search:focus-within,
  .team-filter-chip:hover
) {
  border-color: var(--euro20-lime) !important;
  background: #087f8e !important;
  box-shadow: 0 0 0 2px rgba(185, 220, 24, .18) !important;
}

body.retro-mode-active.retro-euro-2020-active #mainContent #teamFilterControl .search-result-popover {
  border: 1px solid rgba(190, 235, 241, .4) !important;
  border-radius: 2px !important;
  background: #034f5c !important;
  box-shadow: 6px 6px 0 rgba(2, 55, 67, .38) !important;
}

body.retro-mode-active.retro-euro-2020-active #mainContent #teamFilterControl .search-result {
  color: #effdff !important;
  background: #056675 !important;
}

body.retro-mode-active.retro-euro-2020-active #mainContent #teamFilterControl .search-result:hover {
  color: #073f49 !important;
  background: var(--euro20-lime) !important;
}

body.retro-mode-active.retro-euro-2020-active .snapshot-modal {
  border: 1px solid rgba(190, 235, 241, .42) !important;
  border-radius: 2px !important;
  color: #effdff !important;
  background: #034f5c !important;
}

body.retro-mode-active.retro-euro-2020-active .snapshot-preview {
  border-color: rgba(190, 235, 241, .42) !important;
  border-radius: 2px !important;
  background: #056675 !important;
  box-shadow: 6px 6px 0 rgba(2, 55, 67, .38) !important;
}

body.retro-mode-active.retro-euro-2020-active .snapshot-actions button {
  border-color: rgba(190, 235, 241, .38) !important;
  border-radius: 2px !important;
  color: #effdff !important;
  background: #056675 !important;
  box-shadow: none !important;
}

body.retro-mode-active.retro-euro-2020-active .snapshot-actions button:hover {
  color: #073f49 !important;
  background: var(--euro20-lime) !important;
}

/* Euro 2020 global controls and portalled dialogs live outside #mainContent,
 * so they need an explicit edition skin instead of inheriting Brazil 2014. */
body.retro-mode-active.retro-euro-2020-active .retro-screen-header :is(
  .retro-screen-restart,
  .retro-screen-action
) {
  border: 1px solid rgba(190, 235, 241, .42) !important;
  border-radius: 2px !important;
  color: #effdff !important;
  background: #056675 !important;
  box-shadow: none !important;
}

body.retro-mode-active.retro-euro-2020-active .retro-screen-header :is(
  .retro-screen-restart,
  .retro-screen-action
):is(:hover, :focus-visible):not(:disabled) {
  border-color: var(--euro20-lime) !important;
  color: #073f49 !important;
  background: var(--euro20-lime) !important;
  transform: translateY(-1px) !important;
}

body.retro-mode-active.retro-euro-2020-active :is(
  #settingsModal,
  #bugReportModal,
  #discordModal,
  #retroRestartModal
) {
  border: 1px solid rgba(190, 235, 241, .48) !important;
  border-top: 5px solid var(--euro20-lime) !important;
  border-radius: 2px !important;
  color: #effdff !important;
  background:
    linear-gradient(145deg, rgba(8, 127, 142, .98), rgba(2, 55, 67, .99)) !important;
  box-shadow: 8px 8px 0 rgba(2, 55, 67, .36), 0 24px 64px rgba(1, 31, 38, .56) !important;
}

body.retro-mode-active.retro-euro-2020-active :is(
  #settingsModal,
  #bugReportModal,
  #discordModal,
  #retroRestartModal
)::backdrop {
  background: rgba(1, 31, 38, .78) !important;
  backdrop-filter: blur(4px);
}

body.retro-mode-active.retro-euro-2020-active :is(
  #settingsModal,
  #bugReportModal,
  #discordModal,
  #retroRestartModal
) :is(h2, strong, p, label) {
  color: #effdff !important;
}

body.retro-mode-active.retro-euro-2020-active #settingsModal .modal-head {
  border-bottom: 1px solid rgba(190, 235, 241, .3) !important;
}

body.retro-mode-active.retro-euro-2020-active #settingsModal :is(
  .settings-option,
  .settings-keybind-list,
  .settings-keybind-row,
  .settings-keybind-button,
  [data-tournament-theme-option]
),
body.retro-mode-active.retro-euro-2020-active #bugReportModal .bug-report-message {
  border: 1px solid rgba(190, 235, 241, .3) !important;
  border-radius: 2px !important;
  color: #effdff !important;
  background: #034f5c !important;
  box-shadow: none !important;
}

body.retro-mode-active.retro-euro-2020-active #settingsModal :is(
  .settings-option,
  .settings-keybind-button,
  [data-tournament-theme-option]
):is(:hover, :focus-visible) {
  border-color: var(--euro20-lime) !important;
  color: #effdff !important;
  background: #087f8e !important;
}

body.retro-mode-active.retro-euro-2020-active #settingsModal :is(
  .settings-option-copy small,
  .settings-note,
  .settings-keybind-row small
),
body.retro-mode-active.retro-euro-2020-active #bugReportModal :is(
  .bug-report-message::placeholder,
  .bug-report-status
) {
  color: #b9e5e9 !important;
}

body.retro-mode-active.retro-euro-2020-active #settingsModal .settings-switch {
  border-color: rgba(190, 235, 241, .35) !important;
  background: #023743 !important;
}

body.retro-mode-active.retro-euro-2020-active #settingsModal .settings-option:is(
  .is-enabled,
  [aria-pressed="true"]
) .settings-switch,
body.retro-mode-active.retro-euro-2020-active #settingsModal [data-tournament-theme-option][aria-pressed="true"] {
  border-color: var(--euro20-lime) !important;
  color: #073f49 !important;
  background: var(--euro20-lime) !important;
}

body.retro-mode-active.retro-euro-2020-active :is(
  #settingsModal .icon-button,
  #bugReportModal .bug-report-close,
  #discordModal .discord-modal-close,
  #retroRestartModal .secondary-button
) {
  border: 1px solid rgba(190, 235, 241, .35) !important;
  border-radius: 2px !important;
  color: #effdff !important;
  background: #056675 !important;
  box-shadow: none !important;
}

body.retro-mode-active.retro-euro-2020-active :is(
  #bugReportModal .bug-report-submit,
  #discordModal .discord-join-button,
  #retroRestartModal .danger-button
) {
  border: 1px solid var(--euro20-lime) !important;
  border-radius: 2px !important;
  color: #073f49 !important;
  background: var(--euro20-lime) !important;
  box-shadow: none !important;
}

body.retro-mode-active.retro-euro-2020-active #retroRestartModal .confirm-icon {
  border: 1px solid rgba(185, 220, 24, .55) !important;
  border-radius: 2px !important;
  color: var(--euro20-lime) !important;
  background: #034f5c !important;
}

/* Only the selected achievement year receives the lime active treatment.
 * Keyboard focus and pointer hover remain visibly interactive but distinct. */
body.retro-mode-active.retro-euro-2020-active #retroAchievementsModal[data-achievement-theme="2020"]
  .achievement-year-tabs button[aria-selected="false"] {
  color: #b9e5e9 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.retro-mode-active.retro-euro-2020-active #retroAchievementsModal[data-achievement-theme="2020"]
  .achievement-year-tabs button[aria-selected="false"]:is(:hover, :focus-visible) {
  color: #effdff !important;
  background: #087f8e !important;
  outline: 1px solid rgba(190, 235, 241, .52) !important;
  outline-offset: -1px;
}

body.retro-mode-active.retro-euro-2020-active #retroAchievementsModal[data-achievement-theme="2020"]
  .achievement-year-tabs button:is(.is-selected, [aria-selected="true"]) {
  color: #073f49 !important;
  background: var(--euro20-lime) !important;
  outline: 0 !important;
  box-shadow: none !important;
}

/* Euro 2020 launch announcement */
.feature-announcement-euro-2020 {
  border: 1px solid rgba(151, 232, 236, .58) !important;
  border-top: 5px solid #d9f20f !important;
  border-radius: 2px !important;
  color: #f5ffff !important;
  background: #063f48 !important;
  box-shadow: 0 26px 80px rgba(0, 35, 45, .52) !important;
}

.feature-announcement-euro-2020::backdrop {
  background: rgba(0, 37, 48, .8) !important;
  backdrop-filter: blur(6px) saturate(.86);
}

.feature-announcement-euro-2020 .feature-announcement-accent {
  min-height: 190px;
  background:
    linear-gradient(142deg, transparent 0 29%, rgba(95, 202, 211, .2) 29.3% 48%, transparent 48.3%),
    radial-gradient(circle at 50% 52%, rgba(102, 222, 231, .28), transparent 31%),
    linear-gradient(135deg, #0da5b2 0%, #087c89 46%, #045662 100%) !important;
}

.feature-announcement-euro-2020 .feature-announcement-accent::before,
.feature-announcement-euro-2020 .feature-announcement-accent::after {
  position: absolute;
  content: "";
  pointer-events: none;
}

.feature-announcement-euro-2020 .feature-announcement-accent::before {
  inset: auto -8% -62px;
  height: 108px;
  border-radius: 50% 50% 0 0;
  background: #d9f20f;
  transform: rotate(-2deg);
}

.feature-announcement-euro-2020 .feature-announcement-accent::after {
  inset: 18px 20px;
  height: auto;
  border: 1px solid rgba(225, 255, 255, .18);
  border-radius: 50%;
  background: transparent;
  transform: none;
}

.feature-announcement-euro-2020-visual {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  padding-bottom: 18px;
}

.feature-announcement-euro-2020-visual img {
  position: relative;
  z-index: 2;
  width: 126px;
  height: 126px;
  object-fit: contain;
  filter: drop-shadow(0 12px 18px rgba(0, 37, 46, .36));
}

.feature-announcement-euro-2020-orbit {
  position: absolute;
  width: 150px;
  height: 150px;
  border: 1px solid rgba(220, 255, 255, .4);
  border-radius: 50%;
  box-shadow: 0 0 0 12px rgba(147, 231, 237, .08);
}

.feature-announcement-euro-2020-wordmark {
  margin-top: -6px;
  color: #fff;
  font: 900 12px "DM Mono", monospace;
  letter-spacing: .24em;
  text-shadow: 0 2px 10px rgba(0, 41, 49, .6);
}

.feature-announcement-euro-2020 .feature-announcement-content {
  padding: 28px 30px 26px;
}

.feature-announcement-euro-2020 .feature-announcement-label {
  color: #d9f20f !important;
  font-family: "DM Mono", monospace;
}

.feature-announcement-euro-2020 h2 {
  color: #fff !important;
  letter-spacing: -.025em;
}

.feature-announcement-euro-2020 p {
  color: #bce2e5 !important;
}

.feature-announcement-euro-2020 :is(.feature-announcement-button, .feature-announcement-dismiss) {
  border-radius: 1px !important;
}

.feature-announcement-euro-2020 .feature-announcement-button {
  border: 1px solid #d9f20f !important;
  color: #07383f !important;
  background: #d9f20f !important;
  box-shadow: 0 5px 0 #809900 !important;
}

@media (hover: hover) and (pointer: fine) {
  .feature-announcement-euro-2020 .feature-announcement-button:hover {
    border-color: #f0ff76 !important;
    background: #f0ff76 !important;
  }

  .feature-announcement-euro-2020 .feature-announcement-dismiss:hover {
    color: #fff !important;
  }
}

.feature-announcement-euro-2020 .feature-announcement-button:active {
  transform: translateY(2px) scale(.98);
  box-shadow: 0 3px 0 #809900 !important;
}

.feature-announcement-euro-2020 .feature-announcement-dismiss {
  color: #9bcbd0 !important;
}

@media (max-width: 520px) {
  .feature-announcement-euro-2020 .feature-announcement-accent { min-height: 164px; }
  .feature-announcement-euro-2020-visual img { width: 108px; height: 108px; }
  .feature-announcement-euro-2020-orbit { width: 132px; height: 132px; }
  .feature-announcement-euro-2020 .feature-announcement-content { padding: 24px 22px 22px; }
}

/* Euro 2020 shootout presentation */
body.retro-mode-active.retro-euro-2020-active #mainContent .penalty-stage {
  width: min(760px, calc(100% - 32px));
  margin-top: 2px;
  padding: 20px 22px 22px;
  border: 1px solid rgba(197, 240, 245, .58) !important;
  border-top: 5px solid var(--euro20-lime) !important;
  border-radius: 2px !important;
  color: #effdff !important;
  background:
    linear-gradient(134deg, transparent 0 34%, rgba(70, 202, 213, .12) 34.2% 56%, transparent 56.2%),
    linear-gradient(145deg, #087f8e 0%, #056675 56%, #034f5c 100%) !important;
  box-shadow: 7px 7px 0 rgba(2, 55, 67, .42) !important;
}

body.retro-mode-active.retro-euro-2020-active #mainContent .penalty-stage-head {
  color: #dff676 !important;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .16em;
}

body.retro-mode-active.retro-euro-2020-active #mainContent .penalty-stage-head strong {
  color: #fff !important;
  font-size: 25px;
}

body.retro-mode-active.retro-euro-2020-active #mainContent .penalty-stage-head strong i {
  color: #f6a01a !important;
}

body.retro-mode-active.retro-euro-2020-active #mainContent .penalty-stage-head strong b.score-pop {
  color: var(--euro20-lime) !important;
}

body.retro-mode-active.retro-euro-2020-active #mainContent .penalty-scene {
  height: 210px;
  margin-top: 15px;
  border: 1px solid rgba(216, 249, 252, .38) !important;
  border-radius: 1px !important;
  background:
    linear-gradient(180deg, rgba(6, 104, 119, .08), rgba(2, 57, 71, .46)),
    repeating-linear-gradient(90deg, rgba(132, 223, 229, .13) 0 54px, rgba(5, 102, 117, .08) 54px 108px),
    #087f8e !important;
  box-shadow: inset 0 -48px 70px rgba(1, 45, 57, .26) !important;
}

body.retro-mode-active.retro-euro-2020-active #mainContent .penalty-scene::before {
  border-color: rgba(217, 242, 15, .38) !important;
}

body.retro-mode-active.retro-euro-2020-active #mainContent .penalty-goal {
  border-color: #effdff !important;
  filter: drop-shadow(0 5px 10px rgba(1, 41, 51, .26));
}

body.retro-mode-active.retro-euro-2020-active #mainContent .penalty-net {
  opacity: .32;
  background:
    repeating-linear-gradient(0deg, transparent 0 13px, #bde8eb 13px 14px),
    repeating-linear-gradient(90deg, transparent 0 18px, #bde8eb 18px 19px) !important;
}

body.retro-mode-active.retro-euro-2020-active #mainContent .penalty-keeper {
  color: #f6a01a !important;
}

body.retro-mode-active.retro-euro-2020-active #mainContent .penalty-taker {
  color: #effdff !important;
}

body.retro-mode-active.retro-euro-2020-active #mainContent .penalty-call strong,
body.retro-mode-active.retro-euro-2020-active #mainContent .penalty-ledgers span {
  color: #effdff !important;
}

body.retro-mode-active.retro-euro-2020-active #mainContent .penalty-call span {
  color: #dff676 !important;
}

body.retro-mode-active.retro-euro-2020-active #mainContent .penalty-mark {
  width: 13px;
  height: 13px;
  flex: 0 0 13px;
  border: 1px solid rgba(203, 239, 244, .5);
  border-radius: 50% !important;
  background: #034f5c !important;
}

body.retro-mode-active.retro-euro-2020-active #mainContent .penalty-mark.goal {
  border-color: var(--euro20-lime) !important;
  background: var(--euro20-lime) !important;
}

body.retro-mode-active.retro-euro-2020-active #mainContent .penalty-mark.miss {
  border-color: #f05b62 !important;
  background: #f05b62 !important;
}

body.retro-mode-active.retro-euro-2020-active #mainContent .standard-penalty-targets button {
  border-color: rgba(217, 242, 15, .42) !important;
  border-radius: 50% !important;
  background: rgba(185, 220, 24, .08) !important;
}

body.retro-mode-active.retro-euro-2020-active #mainContent .standard-penalty-targets button:is(:hover, :focus-visible):not(:disabled) {
  border-color: var(--euro20-lime) !important;
  background: rgba(185, 220, 24, .24) !important;
}

/* Euro 2020 champions presentation */
body.retro-mode-active.retro-euro-2020-active #mainContent .champion-stage {
  min-height: 680px;
  border: 1px solid rgba(197, 240, 245, .58) !important;
  border-top: 5px solid var(--euro20-lime) !important;
  border-radius: 2px !important;
  color: #effdff !important;
  background:
    linear-gradient(139deg, transparent 0 23%, rgba(81, 209, 216, .11) 23.2% 43%, transparent 43.2%),
    radial-gradient(circle at 50% 24%, rgba(71, 208, 218, .3), transparent 27%),
    radial-gradient(circle at 10% 90%, rgba(244, 138, 8, .12), transparent 27%),
    linear-gradient(145deg, #098a99 0%, #056675 52%, #034f5c 100%) !important;
  box-shadow: 8px 8px 0 rgba(2, 55, 67, .42) !important;
}

body.retro-mode-active.retro-euro-2020-active #mainContent .champion-content {
  width: min(980px, 100%);
}

body.retro-mode-active.retro-euro-2020-active #mainContent .champion-stage .trophy {
  color: #dff676 !important;
  font-family: "DM Mono", monospace;
  font-weight: 900;
  letter-spacing: .2em;
  text-shadow: none !important;
}

body.retro-mode-active.retro-euro-2020-active #mainContent .champion-stage .flag-orb {
  width: clamp(150px, 20vw, 210px);
  height: clamp(96px, 13vw, 132px);
  margin: 20px auto 16px;
  border: 1px solid rgba(231, 253, 255, .78) !important;
  border-radius: 2px !important;
  background: rgba(3, 79, 92, .52) !important;
  box-shadow: 6px 6px 0 rgba(2, 55, 67, .38) !important;
}

body.retro-mode-active.retro-euro-2020-active #mainContent .champion-stage .flag-orb :is(.hero-flag, img) {
  width: 100% !important;
  height: 100% !important;
  border-radius: 1px !important;
  object-fit: cover;
}

body.retro-mode-active.retro-euro-2020-active #mainContent .champion-stage h2 {
  color: #fff !important;
  font-size: clamp(48px, 8vw, 92px);
  line-height: .98;
  letter-spacing: -.04em;
  text-shadow: 0 4px 0 rgba(2, 55, 67, .36) !important;
}

body.retro-mode-active.retro-euro-2020-active #mainContent .champion-stage .champion-content > p {
  color: #dff676 !important;
  text-shadow: none !important;
}

body.retro-mode-active.retro-euro-2020-active #mainContent .champion-section-label {
  color: #dff676 !important;
  letter-spacing: .18em;
}

body.retro-mode-active.retro-euro-2020-active #mainContent :is(.champion-place, .champion-award) {
  border: 1px solid rgba(190, 235, 241, .38) !important;
  border-radius: 2px !important;
  color: #effdff !important;
  background: #034f5c !important;
  box-shadow: none !important;
}

body.retro-mode-active.retro-euro-2020-active #mainContent .champion-place.place-1 {
  border-color: var(--euro20-lime) !important;
  background: #056675 !important;
  box-shadow: inset 0 4px var(--euro20-lime) !important;
}

body.retro-mode-active.retro-euro-2020-active #mainContent .champion-place > b,
body.retro-mode-active.retro-euro-2020-active #mainContent .champion-award-copy > span {
  color: #dff676 !important;
}

body.retro-mode-active.retro-euro-2020-active #mainContent .champion-place strong,
body.retro-mode-active.retro-euro-2020-active #mainContent .champion-award-copy strong,
body.retro-mode-active.retro-euro-2020-active #mainContent .champion-award-copy small b {
  color: #effdff !important;
}

body.retro-mode-active.retro-euro-2020-active #mainContent .champion-place small,
body.retro-mode-active.retro-euro-2020-active #mainContent .champion-award-copy small {
  color: #b9e5e9 !important;
}

body.retro-mode-active.retro-euro-2020-active #mainContent .champion-award-mark {
  border: 1px solid rgba(185, 220, 24, .44);
  border-radius: 2px !important;
  color: #073f49 !important;
  background: var(--euro20-lime) !important;
}

body.retro-mode-active.retro-euro-2020-active #mainContent :is(
  .champion-save-button,
  #championTeamJourney,
  #championReset,
  #snapshotButton
) {
  border: 1px solid var(--euro20-lime) !important;
  border-radius: 2px !important;
  color: #073f49 !important;
  background: var(--euro20-lime) !important;
  box-shadow: 0 4px 0 #718c00 !important;
  transition: background-color 150ms ease, transform 140ms cubic-bezier(.23, 1, .32, 1) !important;
}

@media (hover: hover) and (pointer: fine) {
  body.retro-mode-active.retro-euro-2020-active #mainContent :is(
    .champion-save-button,
    #championTeamJourney,
    #championReset,
    #snapshotButton
  ):hover {
    border-color: #effdff !important;
    background: #e8f86f !important;
  }
}

body.retro-mode-active.retro-euro-2020-active #mainContent :is(
  .champion-save-button,
  #championTeamJourney,
  #championReset,
  #snapshotButton
):active {
  transform: translateY(2px) scale(.98) !important;
  box-shadow: 0 2px 0 #718c00 !important;
}

@media (max-width: 640px) {
  body.retro-mode-active.retro-euro-2020-active #mainContent .penalty-stage {
    width: calc(100% - 16px);
    padding: 14px 12px 16px;
  }

  body.retro-mode-active.retro-euro-2020-active #mainContent .penalty-scene { height: 154px; }
  body.retro-mode-active.retro-euro-2020-active #mainContent .champion-stage { min-height: 0; padding-inline: 14px; }
  body.retro-mode-active.retro-euro-2020-active #mainContent .champion-stage h2 { font-size: clamp(42px, 16vw, 68px); }
}

/* Desktop tournament setup lives inside the selected edition's real themed screen. */
@media (min-width: 721px) {
  body.before-start:not([data-desktop-mode-setup]) .mode-grid > .mode-card {
    grid-column: span 2 !important;
    min-height: 112px !important;
    height: 112px;
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-card-retro {
    display: flex;
    grid-column: 1 / -1 !important;
    min-height: 150px !important;
    height: 150px;
    grid-template-columns: none;
    align-items: stretch;
    gap: 0;
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-card-retro .retro-mode-heading {
    margin: 0 !important;
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-card-retro .mode-card-actions {
    width: auto;
    margin: 0;
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-card-retro .retro-competition-switch {
    position: absolute;
    top: 16px;
    right: 20px;
    width: 220px;
    padding: 2px;
    gap: 2px;
    border-radius: 5px;
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-card-retro .retro-competition-switch button {
    min-height: 22px;
    padding: 0 5px;
    border-radius: 3px;
    font-size: 8px;
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-card-retro .retro-year-switch {
    gap: 2px;
    padding: 2px;
  }

  body.before-start:not([data-desktop-mode-setup]) :is(.premier-league-install-button, .super-lig-install-button, .eredivisie-install-button, .belgian-pro-league-install-button, .liga-portugal-install-button, .saudi-pro-league-install-button, .mls-install-button, .ucl-install-button) {
    position: absolute;
    top: auto;
    right: 16px;
    bottom: 14px;
    z-index: 2;
    display: inline-flex !important;
    min-height: 28px;
    align-items: center;
    margin: 0;
    padding: 0 10px;
    border-radius: 5px;
    font-size: 9px;
  }

  body.retro-route-setup-active #appShell {
    display: none !important;
  }

  body.retro-route-setup-active #retroWorldCupScreen {
    display: block !important;
  }

  body.retro-route-setup-active .retro-tournament-main {
    position: relative;
    width: min(1180px, calc(100% - 48px)) !important;
    min-height: calc(100vh - 78px);
    margin: 0 auto !important;
    padding: 0 0 64px !important;
  }

  body.retro-route-setup-active .retro-tournament-main > :not(.retro-route-setup):not(.retro-saved-tournament-actions) {
    display: none !important;
  }

  body.retro-route-setup-active .retro-saved-tournament-actions {
    display: none !important;
  }

  body.retro-route-setup-active .retro-route-setup {
    display: grid !important;
    grid-template-columns: minmax(440px, 620px);
    justify-content: center;
    align-items: center;
    min-height: calc(100vh - 78px);
    padding: 72px 0;
  }

  body.retro-route-setup-active .retro-route-setup-intro {
    display: flex;
    align-items: flex-start;
    gap: 22px;
    color: #fff;
  }

  body.retro-route-setup-active .retro-route-setup-intro > img {
    width: clamp(82px, 8vw, 112px);
    height: 120px;
    flex: 0 0 auto;
    object-fit: contain;
    filter: drop-shadow(0 16px 22px rgba(0, 0, 0, .3));
  }

  body.retro-route-setup-active .retro-route-setup-intro span {
    display: block;
    margin: 8px 0 10px;
    color: var(--retro-accent);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 1.8px;
  }

  body.retro-route-setup-active .retro-route-setup-intro h1 {
    margin: 0;
    color: #fff;
    font-size: clamp(38px, 5vw, 68px);
    line-height: .96;
    text-wrap: balance;
  }

  body.retro-route-setup-active .retro-route-setup-intro p {
    max-width: 430px;
    margin: 20px 0 0;
    color: rgba(255, 255, 255, .76);
    font-size: 14px;
    line-height: 1.65;
  }

  body.retro-route-setup-active .retro-route-setup-controls {
    padding: clamp(24px, 3vw, 36px);
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 16px;
    background: rgba(5, 12, 24, .8);
    box-shadow: 0 30px 90px rgba(0, 0, 0, .38);
    backdrop-filter: blur(18px);
  }

  body.retro-route-setup-active .retro-route-setup-back {
    display: inline-flex;
    position: absolute;
    top: 24px;
    left: 0;
    z-index: 4;
  }

  body.retro-route-setup-active .retro-route-setup-controls .retro-landing-settings {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 20px;
    margin: 0 0 26px !important;
  }

  body.retro-route-setup-active .retro-route-setup-controls .landing-setting {
    min-width: 0;
  }

  body.retro-route-setup-active .retro-route-setup-controls :is(.landing-setting-heading > span, .landing-team-setting > span) {
    color: rgba(255, 255, 255, .76) !important;
  }

  body.retro-route-setup-active .retro-route-setup-controls :is(.segmented, .retro-team-picker) {
    border-color: rgba(255, 255, 255, .14) !important;
    background: rgba(255, 255, 255, .07) !important;
  }

  body.retro-route-setup-active .retro-route-setup-controls .segmented button {
    color: rgba(255, 255, 255, .72) !important;
  }

  body.retro-route-setup-active .retro-route-setup-controls .segmented button.active {
    color: var(--retro-accent-text) !important;
    background: var(--retro-accent) !important;
  }

  body.retro-route-setup-active .retro-route-setup-controls .retro-team-picker :is(strong, small) {
    color: #fff !important;
  }

  body.retro-route-setup-active .retro-route-setup-controls .mode-card-actions {
    display: flex;
    gap: 10px;
    margin: 0;
  }

  body.retro-route-setup-active .retro-route-setup-controls .retro-start-button {
    color: var(--retro-accent-text) !important;
    background: var(--retro-accent) !important;
  }

  body.retro-route-setup-active .retro-route-setup-controls button:active {
    transform: scale(.98);
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-card-retro .retro-competition-switch {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-card-retro .retro-year-switch {
    grid-template-columns: repeat(8, minmax(0, 1fr)) !important;
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-card-retro .retro-year-switch[data-competition="euros"] {
    grid-template-columns: repeat(8, minmax(0, 1fr)) !important;
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-card-retro .retro-year-switch[data-competition="copa"] {
    grid-template-columns: repeat(8, minmax(0, 1fr)) !important;
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-card-retro .retro-year-switch button {
    min-height: 24px !important;
    border: 0 !important;
    border-radius: 4px !important;
    color: rgba(255, 255, 255, .72) !important;
    background: transparent !important;
    box-shadow: none !important;
    text-shadow: none !important;
    font-size: 9px;
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-card-retro .retro-year-switch button.active {
    color: var(--retro-accent-text) !important;
    background: var(--retro-accent) !important;
  }

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

  body.club-route-setup-active #premierLeagueSeasonScreen,
  body.club-route-setup-active #uclSimulatorScreen {
    min-height: 100vh;
  }

  body.pl-route-setup-active #premierLeagueSeasonScreen,
  body.ligue-1-route-setup-active #premierLeagueSeasonScreen,
  body.bundesliga-route-setup-active #premierLeagueSeasonScreen,
  body.super-lig-route-setup-active #premierLeagueSeasonScreen,
  body.eredivisie-route-setup-active #premierLeagueSeasonScreen,
  body.belgian-pro-league-route-setup-active #premierLeagueSeasonScreen,
  body.ucl-route-setup-active #uclSimulatorScreen,
  body.uel-route-setup-active #uclSimulatorScreen {
    display: block !important;
  }

  body.club-route-setup-active :is(.pl-season-main, .ucl-simulator-main)[hidden] {
    display: none !important;
  }

  .mode-route-setup {
    position: relative;
    display: grid;
    min-height: calc(100vh - 76px);
    place-items: center;
    padding: 76px 24px 64px;
  }

  .mode-route-setup[hidden] {
    display: none !important;
  }

  .mode-route-setup-back {
    position: absolute;
    top: 24px;
    left: clamp(24px, 4vw, 64px);
    z-index: 4;
  }

  .mode-route-setup-back:active {
    transform: scale(.97);
  }

  .mode-route-setup-panel {
    width: min(620px, 100%);
    padding: 32px;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 16px;
    color: #fff;
    background: rgba(5, 10, 24, .82);
    box-shadow: 0 30px 90px rgba(0, 0, 0, .38);
    backdrop-filter: blur(18px);
  }

  body:is(.retro-route-setup-active, .club-route-setup-active) .setup-panel-back,
  body[data-desktop-mode-setup="standard"] .setup-panel-back {
    display: inline-flex;
    margin: 0;
  }

  .setup-panel-back:active {
    transform: scale(.97);
  }

  .mode-route-setup-panel .landing-settings {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 20px;
    margin: 0 0 26px !important;
  }

  .mode-route-setup-panel .mode-card-actions {
    display: flex;
    gap: 10px;
    margin: 0;
  }

  .mode-route-setup-panel :is(.landing-setting-heading > span, .landing-team-setting > span) {
    color: rgba(255, 255, 255, .76) !important;
  }

  .mode-route-setup-panel :is(.segmented, .spectate-picker) {
    border-color: rgba(255, 255, 255, .14) !important;
    background: rgba(255, 255, 255, .07) !important;
  }

  .mode-route-setup-panel button:active {
    transform: scale(.98);
  }

  body.legacy-route-setup-active #legacySetupModal {
    position: fixed;
    inset: 72px 0 0;
    z-index: 20;
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    height: calc(100dvh - 72px);
    max-height: none;
    margin: 0;
    padding: 72px 24px 56px;
    overflow: auto;
    border: 0;
    border-radius: 0;
    background:
      radial-gradient(circle at 18% 14%, rgba(79, 113, 190, .24), transparent 34%),
      radial-gradient(circle at 84% 82%, rgba(160, 60, 83, .2), transparent 36%),
      linear-gradient(145deg, #101827, #080d16 72%);
  }

  body.legacy-route-setup-active #legacySetupModal[open] {
    display: grid;
    place-items: center;
  }

  body.legacy-route-setup-active #legacySetupModal::backdrop {
    background: #080d16;
  }

  body.legacy-route-setup-active #legacySetupModal .legacy-setup-modal-card {
    box-sizing: border-box;
    width: min(680px, 100%);
    max-height: calc(100dvh - 200px);
    margin: 0;
    overflow: auto;
    justify-self: center;
    align-self: center;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 16px;
    background: rgba(10, 16, 28, .88);
    box-shadow: 0 30px 90px rgba(0, 0, 0, .42);
    backdrop-filter: blur(18px);
  }

  body.legacy-route-setup-active .legacy-setup-back {
    position: fixed;
    top: 96px;
    left: clamp(24px, 4vw, 64px);
    z-index: 24;
    display: inline-flex;
    margin: 0;
  }

  body.legacy-route-setup-active .legacy-setup-modal-close {
    display: none;
  }
}

/* The standard knockout setup is a real route on phones too. */
@media (max-width: 720px) {
  body[data-desktop-mode-setup="standard"] #appShell {
    display: block !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: auto minmax(0, 1fr) !important;
  }

  body[data-desktop-mode-setup="standard"] .sidebar,
  body[data-desktop-mode-setup="standard"] .sidebar.open {
    position: sticky;
    top: 0;
    display: flex !important;
    width: 100% !important;
    height: 64px;
    align-items: center;
    flex-direction: row;
    padding: 0 12px;
    border: 0;
    border-bottom: 1px solid rgba(116, 143, 184, .2);
    background: rgba(9, 18, 33, .96);
    transform: none;
  }

  body[data-desktop-mode-setup="standard"] .topbar,
  body[data-desktop-mode-setup="standard"] .field-overview > :is(
    .home-achievement-leaderboard,
    .home-editorial,
    .overview-intro,
    .overview-toolbar,
    .participant-sections
  ) {
    display: none !important;
  }

  body[data-desktop-mode-setup="standard"] .field-overview {
    width: 100%;
    margin: 0;
    padding: 0;
  }

  body[data-desktop-mode-setup="standard"] .mode-select {
    display: grid;
    min-height: calc(100dvh - 64px);
    place-items: center;
    padding: 76px 14px 28px;
  }

  body[data-desktop-mode-setup="standard"] .mode-grid {
    display: block;
    width: 100%;
  }

  body[data-desktop-mode-setup="standard"] .mode-grid > :not(.mode-card-default) {
    display: none !important;
  }

  body[data-desktop-mode-setup="standard"] .mode-card-default {
    position: relative;
    width: 100%;
    height: auto;
    min-height: 0;
    max-height: none;
    margin: 0;
    padding: 20px;
    overflow: visible;
    border: 1px solid rgba(139, 161, 197, .2);
    border-radius: 14px;
    background: #101824;
    box-shadow: 0 20px 54px rgba(0, 0, 0, .3);
  }

  body[data-desktop-mode-setup="standard"] .mode-card-default > :not(.mode-card-mobile-toggle) {
    visibility: visible;
    pointer-events: auto;
  }

  body[data-desktop-mode-setup="standard"] .mode-card-mobile-toggle {
    display: none !important;
  }

  body[data-desktop-mode-setup="standard"] .standard-route-back {
    position: fixed;
    top: 80px;
    left: 14px;
    z-index: 40;
    display: inline-flex;
    margin: 0;
  }

  body[data-desktop-mode-setup="standard"] .mode-card-copy {
    margin: 0 0 20px !important;
  }

  body[data-desktop-mode-setup="standard"] .mode-card-copy h3 {
    margin: 0;
    font-size: 25px;
    line-height: 1.05;
    letter-spacing: -.035em;
  }

  body[data-desktop-mode-setup="standard"] .landing-settings {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
    margin: 0 0 18px;
  }

  body[data-desktop-mode-setup="standard"] .landing-setting {
    display: block;
  }

  body[data-desktop-mode-setup="standard"] .landing-setting .segmented {
    min-height: 42px;
    margin-top: 7px;
  }

  body[data-desktop-mode-setup="standard"] .landing-setting .segmented button {
    min-width: 0;
    min-height: 38px;
    padding-inline: 3px;
    font-size: 9px;
  }

  body[data-desktop-mode-setup="standard"] .spectate-picker {
    min-height: 58px;
    margin-top: 7px;
  }

  body[data-desktop-mode-setup="standard"] .mode-card-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    margin: 0;
  }

  body[data-desktop-mode-setup="standard"] .mode-card-actions .start-tournament {
    width: 100%;
    min-width: 0;
    min-height: 44px;
  }
}

@media (min-width: 721px) and (max-width: 899px) {
  body.before-start:not([data-desktop-mode-setup]) .mode-grid > .mode-card:not(.mode-card-retro) {
    grid-column: span 3 !important;
  }
}

@media (min-width: 900px) {
  body.before-start:not([data-desktop-mode-setup]) .mode-grid > :is(
    .mode-card-domestic-league,
    .mode-card-premier-league,
    .mode-card-ucl
  ) {
    min-height: 162px !important;
    height: 162px;
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-grid > .mode-card.mode-card-retro {
    grid-column: span 2 !important;
    min-height: 162px !important;
    height: 162px;
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-card-custom {
    order: 4;
    align-self: center;
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-card-retro {
    order: 2;
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-card-default {
    order: 5;
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-card-legacy {
    order: 6;
    align-self: center;
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-card-career-manager {
    order: 7;
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-card-career-player {
    order: 8;
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-card-online {
    order: 9;
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-card-retro .retro-mode-heading {
    grid-template-columns: 32px minmax(0, 1fr);
    gap: 9px;
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-card-retro .retro-mode-heading > img {
    width: 32px;
    height: 34px;
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-card-retro .retro-mode-heading h3 {
    font-size: 18px;
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-card-retro .retro-competition-switch {
    top: 52px;
    left: 18px;
    right: 18px;
    width: auto;
    height: 26px;
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-card-retro .retro-competition-switch button {
    min-height: 20px;
    font-size: 8px;
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-card-retro .retro-year-switch,
  body.before-start:not([data-desktop-mode-setup]) .mode-card-retro .retro-year-switch[data-competition="euros"],
  body.before-start:not([data-desktop-mode-setup]) .mode-card-retro .retro-year-switch[data-competition="copa"],
  body.before-start:not([data-desktop-mode-setup]) .mode-card-retro .retro-year-switch[data-competition="afcon"] {
    top: 80px;
    left: 18px;
    right: 18px;
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-card-retro .retro-year-switch button {
    font-size: 8px;
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-card-retro .mode-card-actions {
    bottom: 10px;
  }
}

/* Custom builders share one compact desktop slot without changing the mobile launcher. */
@media (min-width: 721px) {
  body.before-start:not([data-desktop-mode-setup]) .mode-card-custom {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: minmax(0, 1fr) auto;
    gap: 0;
    padding: 0 !important;
    overflow: hidden;
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-card-custom::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    width: 1px;
    background: rgba(129, 151, 184, .16);
    pointer-events: none;
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-card-custom > .mode-card-copy,
  body.before-start:not([data-desktop-mode-setup]) .mode-card-custom > .custom-match-card-copy {
    display: block;
    min-width: 0;
    margin: 0 !important;
    padding: 16px 18px 6px;
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-card-custom > .mode-card-copy {
    grid-column: 1;
    grid-row: 1;
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-card-custom > .custom-match-card-copy {
    grid-column: 2;
    grid-row: 1;
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-card-custom :is(.mode-card-copy, .custom-match-card-copy) h3 {
    margin: 0;
    color: #f4f7fb;
    font-size: clamp(15px, 1.25vw, 18px);
    font-weight: 780;
    letter-spacing: -.025em;
    line-height: 1.1;
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-card-custom > .mode-card-actions {
    display: contents !important;
    position: static !important;
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-card-custom :is(#openCustomTournamentButton, #openCustomMatchButton) {
    position: static;
    z-index: 1;
    display: inline-flex !important;
    grid-row: 2;
    width: max-content;
    min-width: 84px;
    min-height: 32px;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin: 0 18px 14px;
    padding: 0 13px;
    border: 1px solid rgba(126, 161, 255, .7);
    border-radius: 7px;
    color: #fff;
    background: #5e89ff;
    box-shadow: none;
    font-size: 11px;
    font-weight: 800;
    transition: transform 140ms cubic-bezier(.23, 1, .32, 1), filter 160ms ease;
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-card-custom #openCustomTournamentButton {
    grid-column: 1;
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-card-custom #openCustomMatchButton {
    grid-column: 2;
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-card-custom :is(#openCustomTournamentButton, #openCustomMatchButton):active {
    transform: scale(.97);
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-card-retro :is(
    .retro-competition-switch button,
    .retro-year-switch button
  ) {
    font-size: 10px !important;
    font-weight: 800;
  }
}

/* Edition artwork may change colour, but it must never change launcher geometry. */
@media (min-width: 721px) {
  body.before-start:not([data-desktop-mode-setup]) .mode-grid > .mode-card.mode-card-retro .retro-mode-heading {
    position: static !important;
    align-items: center !important;
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-grid > .mode-card.mode-card-retro :is(
    .retro-mode-heading > img,
    .retro-mode-heading h3,
    .retro-competition-switch,
    .retro-year-switch
  ) {
    z-index: 2 !important;
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-grid > .mode-card.mode-card-retro .retro-mode-heading > img {
    display: block !important;
    width: 32px !important;
    height: 34px !important;
    margin: 0 !important;
    align-self: center !important;
    object-fit: contain !important;
    object-position: center !important;
    transform: none !important;
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-grid > .mode-card.mode-card-retro .mode-card-actions {
    position: absolute !important;
    left: 18px !important;
    bottom: 10px !important;
    width: auto !important;
    margin: 0 !important;
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-grid > .mode-card.mode-card-retro .retro-start-button {
    width: auto !important;
    min-width: 84px !important;
    min-height: 32px !important;
    height: 32px !important;
    padding: 0 13px !important;
    border-radius: 7px !important;
    clip-path: none !important;
    font-size: 0 !important;
    line-height: 1 !important;
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-grid > .mode-card.mode-card-retro .retro-start-button::before {
    content: "Play" !important;
    font-size: 12px !important;
    font-weight: 850 !important;
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-grid > .mode-card.mode-card-retro .retro-start-button::after {
    content: "\2192" !important;
    margin-left: 10px !important;
    font-size: 12px !important;
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-grid > .mode-card.mode-card-retro .retro-start-button > span {
    display: none !important;
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-grid > .mode-card.mode-card-retro[data-retro-competition="euros"][data-retro-edition="2020"] .retro-mode-heading > img {
    transform: translateY(-2px) !important;
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-grid > .mode-card.mode-card-retro[data-retro-competition="euros"][data-retro-edition="2016"] .retro-mode-heading > img {
    transform: translateY(7px) scale(1.5) !important;
    transform-origin: center !important;
  }
}

/* Final menu-card alignment: keep tall crests contained and shared modes balanced. */
@media (min-width: 721px) {
  body.before-start:not([data-desktop-mode-setup]) .mode-card-domestic-league :is(
    .premier-league-heading,
    .championship-heading,
    .la-liga-heading,
    .ligue-1-heading,
    .serie-a-heading,
    .bundesliga-heading,
    .super-lig-heading,
    .eredivisie-heading,
    .belgian-pro-league-heading,
    .liga-portugal-heading,
    .saudi-pro-league-heading,
    .mls-heading
  ) {
    display: grid !important;
    grid-template-columns: 38px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 11px !important;
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-card-domestic-league :is(
    .premier-league-heading,
    .championship-heading,
    .la-liga-heading,
    .ligue-1-heading,
    .serie-a-heading,
    .bundesliga-heading,
    .super-lig-heading,
    .eredivisie-heading,
    .belgian-pro-league-heading,
    .liga-portugal-heading,
    .saudi-pro-league-heading,
    .mls-heading
  ) > div:last-child {
    width: 100%;
    min-width: 0;
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-card-domestic-league :is(
    .premier-league-brand-mark,
    .championship-brand-mark,
    .belgian-pro-league-brand-mark,
    .liga-portugal-brand-mark,
    .saudi-pro-league-brand-mark,
    .mls-brand-mark
  ) {
    width: 38px !important;
    height: 42px !important;
    align-self: start !important;
    margin-top: 10px !important;
    transform: none !important;
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-card-domestic-league :is(
    #premierLeagueLogo,
    #championshipLogo,
    #belgianProLeagueLogo,
    #ligaPortugalLogo,
    #saudiProLeagueLogo,
    #mlsLogo
  ) {
    display: block;
    width: 34px !important;
    height: 40px !important;
    margin: 0 auto !important;
    object-fit: contain !important;
    object-position: center !important;
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-card-domestic-league :is(
    .premier-league-heading,
    .championship-heading
  ) {
    min-height: 95px;
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-card-custom :is(.mode-card-copy, .custom-match-card-copy) h3 {
    display: flex;
    flex-direction: column;
    gap: 2px;
    font-size: 16px !important;
    line-height: 1 !important;
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-card-custom .custom-mode-prefix {
    color: #c9d6ea;
    font: 900 11px/1 "DM Mono", monospace;
    letter-spacing: .09em;
    text-transform: uppercase;
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-card-custom :is(#openCustomTournamentButton, #openCustomMatchButton) {
    width: 104px !important;
    min-width: 104px !important;
    font-size: 11px;
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-card-custom #openCustomTournamentButton::before,
  body.before-start:not([data-desktop-mode-setup]) .mode-card-custom #openCustomTournamentButton::after {
    display: none !important;
    content: none !important;
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-card-custom #openCustomTournamentButton > span {
    display: inline !important;
  }
}

/* A routed full-screen mode must never remain in document flow after navigation. */
:is(#retroWorldCupScreen, #premierLeagueSeasonScreen, #uclSimulatorScreen, #playerCareerScreen)[hidden] {
  display: none !important;
}

body[data-desktop-mode-setup] .mode-select > .home-editorial {
  display: none !important;
}

/* Tablet home: preserve the desktop composition without squeezing three launchers together. */
@media (min-width: 721px) and (max-width: 1159px) {
  body.before-start:not([data-desktop-mode-setup]) .mode-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-grid > .mode-card:not(.mode-card-retro, .mode-card-custom) {
    grid-column: span 3 !important;
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-grid > .mode-card.mode-card-retro,
  body.before-start:not([data-desktop-mode-setup]) .mode-grid > .mode-card.mode-card-custom {
    grid-column: 1 / -1 !important;
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-card-domestic-league,
  body.before-start:not([data-desktop-mode-setup]) .mode-card-premier-league,
  body.before-start:not([data-desktop-mode-setup]) .mode-card-ucl { order: 1; }
  body.before-start:not([data-desktop-mode-setup]) .mode-card-retro { order: 2; }
  body.before-start:not([data-desktop-mode-setup]) .mode-card-custom { order: 3; }
  body.before-start:not([data-desktop-mode-setup]) .mode-card-default,
  body.before-start:not([data-desktop-mode-setup]) .mode-card-legacy { order: 4; }
  body.before-start:not([data-desktop-mode-setup]) .mode-card-career { order: 5; }
  body.before-start:not([data-desktop-mode-setup]) .mode-card-online { order: 6; }

  body.before-start:not([data-desktop-mode-setup]) .mode-card-retro .retro-year-switch {
    grid-template-columns: repeat(8, minmax(42px, 1fr)) !important;
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-grid > .mode-card.mode-card-retro {
    min-height: 162px !important;
    height: 162px;
  }
}

/* Medium desktop: keep the WC launcher aligned with the two-column card rhythm. */
@media (min-width: 900px) and (max-width: 1159px) {
  body.before-start:not([data-desktop-mode-setup]) .mode-grid > :is(
    .mode-card.mode-card-retro,
    .mode-card.mode-card-custom
  ) {
    grid-column: span 3 !important;
    min-height: 162px !important;
    height: 162px;
    align-self: stretch;
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-card-retro .retro-year-switch {
    grid-template-columns: repeat(8, minmax(0, 1fr)) !important;
  }
}

/* Europa League menu identity sits above the general light/dark card guards. */
body.before-start .mode-card-ucl.is-europa-mode {
  background:
    radial-gradient(circle at 84% 16%, rgba(255, 109, 0, .32), transparent 31%),
    linear-gradient(122deg, transparent 64%, rgba(255, 102, 0, .17) 64% 67%, transparent 67%),
    linear-gradient(145deg, #17120f, #080908 72%) !important;
}

body.before-start .mode-card-ucl.is-conference-mode {
  background:
    radial-gradient(circle at 84% 14%, rgba(0, 241, 105, .23), transparent 32%),
    linear-gradient(145deg, #07150d, #030705 72%) !important;
}

body.before-start .mode-card-ucl.is-europa-mode #uclInstallButton,
body.before-start .mode-card-ucl.is-conference-mode #uclInstallButton,
body.before-start .mode-card-ucl:not(.is-europa-mode) #europaInstallButton,
body.before-start .mode-card-ucl:not(.is-conference-mode) #conferenceInstallButton,
body.before-start .mode-card-ucl.is-europa-mode #conferenceInstallButton,
body.before-start .mode-card-ucl.is-conference-mode #europaInstallButton {
  display: none !important;
}

body.before-start .mode-card-ucl.is-europa-mode #europaInstallButton {
  display: inline-flex !important;
}

body.before-start .mode-card-ucl.is-conference-mode #conferenceInstallButton {
  display: inline-flex !important;
}

@media (min-width: 721px) {
  body.before-start:not([data-desktop-mode-setup]) .mode-card-ucl .club-competition-switch {
    grid-template-columns: repeat(3, 68px);
    width: 210px;
    gap: 2px;
    margin: 6px 0 0;
    padding: 2px;
    border-radius: 5px;
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-card-ucl .club-competition-switch button {
    min-height: 22px;
    padding: 0 5px;
    border-radius: 3px;
    font-size: 8px;
  }

}

/* Simulator hub: shared navigation, restrained desktop width and a dedicated leaderboard. */
.main-section-switch {
  display: none;
}

body.before-start:not([data-desktop-mode-setup]) .main-section-switch {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 4px;
  border: 1px solid rgba(129, 151, 184, .2);
  border-radius: 999px;
  background: rgba(14, 22, 34, .78);
}

.main-section-switch a {
  min-height: 38px;
  padding: 9px 15px;
  border-radius: 999px;
  color: #8f9db2;
  font: 800 11px/20px "Manrope", sans-serif;
  text-decoration: none;
  transition: color 160ms ease, background-color 160ms ease, transform 140ms cubic-bezier(.23, 1, .32, 1);
}

.main-section-switch a.is-active {
  color: #fff;
  background: #1f5eff;
}

.main-section-switch a:active {
  transform: scale(.97);
}

body.before-start:not([data-desktop-mode-setup]) .topbar {
  display: none;
}

body.before-start:not([data-desktop-mode-setup]) .field-overview {
  display: block;
  width: min(1080px, calc(100% - clamp(48px, 12vw, 160px)));
  max-width: 1080px;
  margin: 0 auto;
  padding: 0 0 72px;
}

body.before-start #fieldOverview[hidden] {
  display: none !important;
}

body.before-start:not([data-desktop-mode-setup]) .mode-select {
  padding: 32px 0 10px;
}

body.before-start:not([data-desktop-mode-setup]) .mode-grid {
  gap: 15px;
}

body.before-start:not([data-desktop-mode-setup]) .mode-grid > .mode-card {
  border-color: rgba(129, 151, 184, .18);
  border-radius: 16px;
  box-shadow: 0 1px 0 rgba(255, 255, 255, .035), 0 16px 34px rgba(2, 7, 14, .16);
  transition: transform 160ms cubic-bezier(.23, 1, .32, 1), border-color 160ms ease, box-shadow 160ms ease;
}

body.before-start:not([data-desktop-mode-setup]) .home-editorial {
  border-color: rgba(129, 151, 184, .16);
  border-radius: 14px;
  background: rgba(15, 23, 35, .76);
}

.leaderboard-screen[hidden] {
  display: none !important;
}

.leaderboard-screen {
  width: min(920px, calc(100% - 64px));
  margin: 0 auto;
  padding: 42px 0 80px;
}

.leaderboard-intro {
  margin-bottom: 20px;
}

.leaderboard-intro h1 {
  margin: 0;
  color: #f4f7fb;
  font-size: clamp(28px, 4vw, 38px);
  line-height: 1.05;
  letter-spacing: -1.4px;
}

.leaderboard-intro p {
  max-width: 620px;
  margin: 9px 0 0;
  color: #8e9db1;
  font-size: 13px;
  line-height: 1.6;
}

.leaderboard-screen .home-achievement-leaderboard {
  position: static;
  width: 100%;
  min-height: 0;
  margin: 0;
  padding: 24px 26px 20px;
  border: 1px solid rgba(129, 151, 184, .18);
  border-radius: 16px;
  background: #101722;
  box-shadow: 0 18px 48px rgba(2, 7, 14, .2);
}

.leaderboard-screen .home-leaderboard-tabs {
  width: fit-content;
  margin: 0 0 18px;
  padding: 4px;
  border-radius: 999px;
}

.leaderboard-screen .home-leaderboard-tabs button {
  min-height: 34px;
  padding-inline: 14px;
  border-radius: 999px;
  font-size: 10px;
}

.leaderboard-screen .home-achievement-table {
  overflow: hidden;
  border: 1px solid #202c3d;
  border-radius: 10px;
}

.leaderboard-screen .home-achievement-row {
  padding-inline: 16px;
}

.leaderboard-screen .home-achievement-row.is-heading {
  background: #131d2b;
}

.leaderboard-screen .home-achievement-own {
  margin-top: 16px;
  padding: 16px;
  border: 1px solid #26364c;
  border-radius: 10px;
  background: #141f2f;
}

@media (hover: hover) and (pointer: fine) {
  .main-section-switch a:not(.is-active):hover {
    color: #dce6f6;
    background: #172235;
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-grid > .mode-card:not(.mode-card-coming-soon):hover {
    border-color: rgba(129, 151, 184, .36);
    box-shadow: 0 1px 0 rgba(255, 255, 255, .05), 0 20px 42px rgba(2, 7, 14, .22);
    transform: translateY(-2px);
  }
}

@media (min-width: 851px) {
  body.before-start:not([data-desktop-mode-setup]) .sidebar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    gap: 16px;
  }

  body.before-start:not([data-desktop-mode-setup]) .sidebar .brand {
    position: static;
    grid-column: 1;
    justify-self: start;
    margin: 0;
    transform: none;
  }

  body.before-start:not([data-desktop-mode-setup]) .main-section-switch {
    grid-column: 2;
  }

  body.before-start:not([data-desktop-mode-setup]) .sidebar .header-actions {
    position: static;
    grid-column: 3;
    justify-self: end;
    margin: 0;
    pointer-events: auto;
  }

  body.before-start:not([data-desktop-mode-setup]) .sidebar .header-actions #newsButton {
    margin-right: 0;
  }
}

@media (max-width: 1700px) {
  body.before-start:not([data-desktop-mode-setup]) .sidebar .header-actions .utility-button {
    width: 38px;
    min-width: 38px;
    padding: 0;
  }

  body.before-start:not([data-desktop-mode-setup]) .sidebar .header-actions .utility-button > span:last-child {
    display: none;
  }
}

@media (max-width: 850px) {
  body.before-start:not([data-desktop-mode-setup]) .sidebar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    grid-template-rows: 56px auto;
    width: 100%;
    height: auto;
    min-height: 104px;
    gap: 0;
    padding: 0 10px 8px;
  }

  body.before-start:not([data-desktop-mode-setup]) .sidebar .mobile-menu {
    display: none;
  }

  body.before-start:not([data-desktop-mode-setup]) .sidebar .brand {
    position: static;
    grid-column: 1;
    grid-row: 1;
    justify-self: start;
    transform: none;
  }

  body.before-start:not([data-desktop-mode-setup]) .main-section-switch {
    grid-column: 2;
    grid-row: 1;
    justify-self: center;
  }

  body.before-start:not([data-desktop-mode-setup]) .sidebar .header-actions {
    position: static;
    inset: auto;
    grid-column: 1 / -1;
    grid-row: 2;
    justify-self: center;
    margin: 0;
    pointer-events: auto;
  }

  body.before-start:not([data-desktop-mode-setup]) .sidebar .header-actions #newsButton {
    margin-right: 0;
  }

  body.before-start:not([data-desktop-mode-setup]) .field-overview {
    width: calc(100% - 48px);
  }

  .leaderboard-screen {
    width: calc(100% - 48px);
    padding-top: 30px;
  }
}

@media (max-width: 640px) {
  body.before-start:not([data-desktop-mode-setup]) .main-section-switch a {
    min-height: 34px;
    padding: 7px 11px;
    font-size: 10px;
  }

  body.before-start:not([data-desktop-mode-setup]) .field-overview,
  .leaderboard-screen {
    width: calc(100% - 28px);
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-select {
    padding-top: 18px;
  }

  .leaderboard-screen {
    padding: 22px 0 48px;
  }

  .leaderboard-screen .home-achievement-leaderboard {
    padding: 14px 10px 12px;
    border-radius: 13px;
  }

  .leaderboard-screen .home-achievement-row {
    padding-inline: 8px;
  }
}

@media (max-width: 380px) {
  body.before-start:not([data-desktop-mode-setup]) .main-section-switch a {
    min-height: 32px;
    padding: 6px;
    font-size: 9px;
  }
}

/* Keep primary navigation centred while site tools sit at opposite edges. */
@media (min-width: 851px) {
  body.before-start:not([data-desktop-mode-setup]) .sidebar .header-actions {
    position: absolute;
    left: calc(clamp(24px, 3vw, 48px) + 54px);
    right: clamp(24px, 3vw, 48px);
    display: flex;
    grid-column: auto;
    justify-self: auto;
    margin: 0;
    pointer-events: none;
  }

  body.before-start:not([data-desktop-mode-setup]) .sidebar .header-actions > * {
    pointer-events: auto;
  }

  body.before-start:not([data-desktop-mode-setup]) .sidebar .header-actions #newsButton {
    margin-right: auto;
  }

  body.before-start:not([data-desktop-mode-setup]) .sidebar .header-actions #settingsButton,
  body.before-start:not([data-desktop-mode-setup]) .sidebar .header-actions #newsButton {
    width: auto;
    min-width: 0;
    padding-inline: 10px;
  }

  body.before-start:not([data-desktop-mode-setup]) .sidebar .header-actions #settingsButton > span:last-child,
  body.before-start:not([data-desktop-mode-setup]) .sidebar .header-actions #newsButton > span:last-child {
    display: inline;
  }

  body.before-start:not([data-desktop-mode-setup]) .main-account-button {
    width: auto;
    min-width: 0;
    padding: 5px 10px 5px 7px;
  }
}

.main-account-button .main-account-flag {
  width: 30px;
  height: 20px;
  overflow: hidden;
  flex: 0 0 auto;
  border-radius: 4px;
}

.main-account-button .main-account-flag.has-profile-flag {
  border: 1px solid rgba(255, 255, 255, .34);
  background: rgba(255, 255, 255, .08);
  box-shadow: 0 3px 9px rgba(2, 7, 14, .2);
}

.main-account-button .main-account-flag > .country-flag,
.main-account-button .main-account-flag > img,
.main-account-button .main-account-flag .main-account-flag-image,
.main-account-button .main-account-flag .main-account-flag-image > img {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  border: 0;
  border-radius: 0;
  object-fit: cover;
}

@media (min-width: 1181px) {
  body.before-start:not([data-desktop-mode-setup]) .sidebar .header-actions .main-account-button {
    width: auto;
    min-width: 0;
    padding: 5px 10px 5px 7px;
  }

  body.before-start:not([data-desktop-mode-setup]) .main-account-button > #mainAccountLabel {
    display: inline;
  }
}

/* Simulator hub v2: one blue system with deliberate ad-safe gutters. */
body.before-start:not([data-desktop-mode-setup]) {
  --hub-bg: #045d80;
  --hub-surface: #0784b5;
  --hub-surface-strong: #06739e;
  --hub-accent: #006e98;
  --hub-line: rgba(190, 237, 255, .24);
  --hub-muted: rgba(226, 247, 255, .74);
  background: var(--hub-bg);
}

body.before-start:not([data-desktop-mode-setup]) .app-shell,
body.before-start:not([data-desktop-mode-setup]) .main {
  background:
    radial-gradient(circle at 12% 8%, rgba(70, 198, 239, .2), transparent 26%),
    radial-gradient(circle at 88% 34%, rgba(0, 77, 109, .22), transparent 30%),
    linear-gradient(155deg, #056b91 0%, var(--hub-bg) 52%, #045572 100%);
}

body.before-start:not([data-desktop-mode-setup]) .sidebar {
  border-bottom: 1px solid var(--hub-line);
  background: rgba(4, 83, 113, .94);
  box-shadow: 0 12px 30px rgba(1, 40, 57, .15);
  backdrop-filter: blur(18px);
}

body.before-start:not([data-desktop-mode-setup]) .main-section-switch {
  border-color: var(--hub-line);
  background: rgba(2, 70, 98, .52);
}

body.before-start:not([data-desktop-mode-setup]) .main-section-switch a {
  color: var(--hub-muted);
}

body.before-start:not([data-desktop-mode-setup]) .main-section-switch a.is-active {
  color: #fff;
  background: var(--hub-accent);
  box-shadow: 0 6px 18px rgba(1, 40, 57, .2);
}

body.before-start:not([data-desktop-mode-setup]) .sidebar .header-actions :is(
  .utility-button,
  .header-donate-link
) {
  border-color: transparent;
  color: #eaf9ff;
  background: transparent;
}

body.before-start:not([data-desktop-mode-setup]) .sidebar .header-actions :is(
  .utility-button,
  .header-donate-link
):active {
  transform: scale(.97);
}

body.before-start:not([data-desktop-mode-setup]) .main-account-button {
  border-color: var(--hub-line) !important;
  background: rgba(2, 70, 98, .54) !important;
}

body.before-start:not([data-desktop-mode-setup]) .mode-select {
  padding-top: 28px;
}

body.before-start:not([data-desktop-mode-setup]) .mode-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

body.before-start:not([data-desktop-mode-setup]) .mode-grid > .mode-card {
  grid-column: auto !important;
  min-height: 138px !important;
  height: 138px;
  padding: 18px 20px;
  border: 1px solid var(--hub-line);
  border-radius: 15px;
  color: #fff;
  background:
    linear-gradient(145deg, rgba(9, 151, 202, .92), rgba(7, 132, 181, .94) 56%, rgba(6, 111, 153, .98)) !important;
  box-shadow: 0 1px 0 rgba(255, 255, 255, .08), 0 16px 34px rgba(1, 40, 57, .18);
}

body.before-start:not([data-desktop-mode-setup]) .mode-grid > .mode-card:nth-child(3n + 2) {
  background:
    linear-gradient(145deg, rgba(8, 143, 193, .94), rgba(7, 122, 168, .96) 58%, rgba(6, 103, 143, .98)) !important;
}

body.before-start:not([data-desktop-mode-setup]) .mode-grid > .mode-card:nth-child(3n + 3) {
  background:
    linear-gradient(145deg, rgba(11, 158, 207, .9), rgba(6, 119, 164, .96) 58%, rgba(5, 98, 136, .98)) !important;
}

body.before-start:not([data-desktop-mode-setup]) .mode-grid > .mode-card::before,
body.before-start:not([data-desktop-mode-setup]) .mode-grid > .mode-card::after {
  opacity: .12;
}

body.before-start:not([data-desktop-mode-setup]) .mode-grid > .mode-card.mode-card-retro {
  display: flex;
}

body.before-start:not([data-desktop-mode-setup]) .mode-card-copy h3,
body.before-start:not([data-desktop-mode-setup]) .mode-card-copy :is(strong, span) {
  color: #fff;
}

body.before-start:not([data-desktop-mode-setup]) .mode-card-copy h3 {
  font-size: clamp(17px, 1.35vw, 20px);
  letter-spacing: -.025em;
}

body.before-start:not([data-desktop-mode-setup]) .mode-card-copy p,
body.before-start:not([data-desktop-mode-setup]) .mode-card :is(small, .mode-availability) {
  color: var(--hub-muted);
}

body.before-start:not([data-desktop-mode-setup]) .mode-card .mode-card-actions,
body.before-start:not([data-desktop-mode-setup]) .mode-card-retro .mode-card-actions {
  left: 20px;
  bottom: 16px;
}

body.before-start:not([data-desktop-mode-setup]) .mode-card-actions > .start-tournament:first-child,
body.before-start:not([data-desktop-mode-setup]) .mode-card .mode-coming-soon-button,
body.before-start:not([data-desktop-mode-setup]) .mode-card-online #joinOnlineRoomButton {
  min-height: 34px;
  border: 1px solid rgba(190, 237, 255, .28);
  border-radius: 8px;
  color: #fff;
  background: var(--hub-accent);
  box-shadow: 0 8px 18px rgba(1, 40, 57, .18);
}

body.before-start:not([data-desktop-mode-setup]) .mode-card :is(
  .primary-button,
  .start-tournament,
  .custom-match-card-button
) {
  border-color: rgba(190, 237, 255, .28) !important;
  color: #fff !important;
  background: var(--hub-accent) !important;
  box-shadow: 0 8px 18px rgba(1, 40, 57, .18) !important;
}

body.before-start:not([data-desktop-mode-setup]) .mode-card .mode-coming-soon-button,
body.before-start:not([data-desktop-mode-setup]) .mode-card-online #joinOnlineRoomButton {
  color: rgba(226, 247, 255, .68);
  background: rgba(2, 70, 98, .4);
  box-shadow: none;
}

body.before-start:not([data-desktop-mode-setup]) :is(
  .premier-league-install-button,
  .serie-a-install-button,
  .bundesliga-install-button,
  .super-lig-install-button,
  .eredivisie-install-button,
  .belgian-pro-league-install-button,
  .liga-portugal-install-button,
  .saudi-pro-league-install-button,
  .mls-install-button,
  .ucl-install-button
) {
  border-color: var(--hub-line);
  color: #eaf9ff;
  background: rgba(2, 70, 98, .48);
}

body.before-start:not([data-desktop-mode-setup]) :is(
  .domestic-league-panel,
  .mode-card-premier-league,
  .mode-card-ucl .ucl-mode-heading
) {
  background: transparent !important;
}

body.before-start:not([data-desktop-mode-setup]) :is(
  .domestic-league-switch,
  .domestic-english-league-switch,
  .retro-competition-switch,
  .retro-year-switch,
  .club-competition-switch
) {
  border-color: var(--hub-line) !important;
  background: rgba(2, 70, 98, .4) !important;
  box-shadow: none !important;
}

body.before-start:not([data-desktop-mode-setup]) .mode-grid > .mode-card-coming-soon,
body.before-start:not([data-desktop-mode-setup]) .mode-grid > .mode-card-community-workshop {
  min-height: 106px !important;
  height: 106px;
  border-style: dashed;
  background: rgba(7, 119, 162, .72) !important;
  box-shadow: none;
}

body.before-start:not([data-desktop-mode-setup]) .mode-card-domestic-league { order: 1; }
body.before-start:not([data-desktop-mode-setup]) .mode-card-retro { order: 2; }
body.before-start:not([data-desktop-mode-setup]) .mode-card-ucl { order: 3; }
body.before-start:not([data-desktop-mode-setup]) .mode-card-default { order: 4; }
body.before-start:not([data-desktop-mode-setup]) .mode-card-custom { order: 5; }
body.before-start:not([data-desktop-mode-setup]) .mode-card-legacy { order: 6; }
body.before-start:not([data-desktop-mode-setup]) .mode-card-community-workshop { order: 7; }
body.before-start:not([data-desktop-mode-setup]) .mode-card-career-player { order: 8; }
body.before-start:not([data-desktop-mode-setup]) .mode-card-career-manager { order: 9; }
body.before-start:not([data-desktop-mode-setup]) .mode-card-online { order: 10; }

body.before-start:not([data-desktop-mode-setup]) .home-editorial {
  margin-top: 16px;
  border-color: var(--hub-line);
  background: rgba(2, 70, 98, .44);
  box-shadow: 0 12px 28px rgba(1, 40, 57, .12);
}

body.before-start:not([data-desktop-mode-setup]) .home-editorial :is(h2, a) {
  color: #eaf9ff;
}

body.before-start:not([data-desktop-mode-setup]) .home-editorial-links a {
  border-color: var(--hub-line);
  background: rgba(2, 70, 98, .42);
}

@media (hover: hover) and (pointer: fine) {
  body.before-start:not([data-desktop-mode-setup]) .sidebar .header-actions :is(
    .utility-button,
    .header-donate-link
  ):hover {
    border-color: var(--hub-line);
    color: #fff;
    background: rgba(2, 70, 98, .5);
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-grid > .mode-card:not(.mode-card-coming-soon):hover {
    border-color: rgba(190, 237, 255, .46);
    box-shadow: 0 1px 0 rgba(255, 255, 255, .1), 0 20px 42px rgba(1, 40, 57, .23);
    transform: translateY(-2px);
  }
}

@media (min-width: 1181px) {
  body.before-start:not([data-desktop-mode-setup]) .field-overview,
  body.before-start:not([data-desktop-mode-setup]) .leaderboard-screen {
    width: min(1080px, calc(100% - clamp(300px, 25vw, 420px)));
    max-width: 1080px;
    padding-bottom: 156px;
  }
}

@media (min-width: 851px) and (max-width: 1180px) {
  body.before-start:not([data-desktop-mode-setup]) .field-overview,
  body.before-start:not([data-desktop-mode-setup]) .leaderboard-screen {
    width: min(720px, calc(100% - 320px));
    padding-bottom: 150px;
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-grid > .mode-card,
  body.before-start:not([data-desktop-mode-setup]) .mode-grid > .mode-card.mode-card-retro,
  body.before-start:not([data-desktop-mode-setup]) .mode-grid > .mode-card.mode-card-custom {
    grid-column: auto !important;
    min-height: 138px !important;
    height: 138px;
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-grid > .mode-card-coming-soon,
  body.before-start:not([data-desktop-mode-setup]) .mode-grid > .mode-card-community-workshop {
    min-height: 106px !important;
    height: 106px;
  }
}

@media (max-width: 850px) {
  body.before-start:not([data-desktop-mode-setup]) .field-overview,
  body.before-start:not([data-desktop-mode-setup]) .leaderboard-screen {
    width: calc(100% - 28px);
    padding-bottom: 118px;
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-select {
    padding-top: 16px;
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-grid > .mode-card,
  body.before-start:not([data-desktop-mode-setup]) .mode-grid > .mode-card.mode-card-retro,
  body.before-start:not([data-desktop-mode-setup]) .mode-grid > .mode-card.mode-card-custom {
    grid-column: auto !important;
    min-height: 142px !important;
    height: auto;
    padding: 18px;
  }

  body.before-start:not([data-desktop-mode-setup]) .mode-grid > .mode-card-coming-soon,
  body.before-start:not([data-desktop-mode-setup]) .mode-grid > .mode-card-community-workshop {
    min-height: 106px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.before-start:not([data-desktop-mode-setup]) .mode-grid > .mode-card {
    transition: border-color 160ms ease, box-shadow 160ms ease;
  }
}

/* France 1998 setup: the shared homepage shell and controls, reskinned in the
   tournament's sage, burgundy, cream and blue identity. */
body.retro-mode-active.retro-1998-active .retro-screen-header {
  position: sticky;
  display: flex !important;
  min-height: 68px;
  align-items: center;
  gap: 8px;
  padding: 0 clamp(20px, 3vw, 52px);
  border-bottom: 1px solid rgba(226, 229, 191, .46) !important;
  background: linear-gradient(180deg, rgba(121, 149, 119, .98), rgba(38, 68, 46, .98) 36%, rgba(24, 45, 32, .99) 38%) !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, .34), 0 8px 22px rgba(16, 31, 21, .22) !important;
}

body.retro-mode-active.retro-1998-active .retro-screen-brand {
  order: 1;
  grid-column: auto;
  margin-right: 0;
}

body.retro-mode-active.retro-1998-active .retro-screen-brand .brand-mark {
  width: 44px;
  height: 44px;
}

body.retro-mode-active.retro-1998-active .retro-main-section-switch {
  position: absolute;
  left: 50%;
  order: 2;
  display: flex;
  min-width: 350px;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 4px;
  border: 1px solid rgba(226, 229, 191, .42);
  border-radius: 999px;
  background: rgba(24, 45, 32, .72);
  box-shadow: inset 0 1px rgba(255, 255, 255, .13);
  transform: translateX(-50%);
}

body.retro-mode-active.retro-1998-active .retro-main-section-switch a {
  min-height: 38px;
  flex: 1 1 0;
  padding: 9px 15px;
  border-radius: 999px;
  color: var(--r98-muted);
  font: 800 11px/20px "Manrope", sans-serif;
  text-align: center;
  text-decoration: none;
  transition: color 160ms ease-out, background-color 160ms ease-out, transform 120ms ease-out;
}

body.retro-mode-active.retro-1998-active .retro-main-section-switch a.is-active {
  color: #fff;
  background: linear-gradient(180deg, #e24872, var(--r98-pink) 54%, #a92b50 56%);
  box-shadow: inset 0 1px rgba(255, 255, 255, .35), 0 2px 0 rgba(73, 31, 51, .72);
}

body.retro-mode-active.retro-1998-active .retro-screen-left {
  order: 2;
  margin-left: 2px;
}

body.retro-mode-active.retro-1998-active .retro-screen-actions {
  order: 4;
  margin-left: auto;
}

body.retro-mode-active.retro-1998-active :is(.retro-screen-left, .retro-screen-actions) {
  gap: 6px;
}

body.retro-mode-active.retro-1998-active .retro-screen-header :is(.retro-screen-action, .retro-screen-restart) {
  width: 42px;
  min-width: 42px;
  height: 42px;
  min-height: 42px;
  padding: 0;
  border: 1px solid rgba(226, 229, 191, .44) !important;
  border-radius: 999px;
  color: var(--r98-cream) !important;
  background: rgba(36, 68, 44, .58) !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, .12) !important;
  transition: color 160ms ease-out, border-color 160ms ease-out, background-color 160ms ease-out, transform 120ms ease-out;
}

body.retro-mode-active.retro-1998-active .retro-screen-header .retro-screen-restart,
body.retro-mode-active.retro-1998-active .retro-screen-header .retro-screen-action > span:first-child {
  font-size: 20px;
  line-height: 1;
}

body.retro-mode-active.retro-1998-active .retro-screen-header .news-icon {
  width: 20px;
  height: 17px;
  border-width: 2px;
}

body.retro-mode-active.retro-1998-active .retro-screen-header .news-icon::before,
body.retro-mode-active.retro-1998-active .retro-screen-header .news-icon::after {
  left: 4px;
  right: 4px;
  height: 2px;
}

body.retro-mode-active.retro-1998-active .retro-screen-header .news-icon::before {
  top: 4px;
}

body.retro-mode-active.retro-1998-active .retro-screen-header .news-icon::after {
  top: 9px;
}

body.retro-mode-active.retro-1998-active .retro-screen-header .account-avatar-icon {
  width: 22px;
  height: 22px;
}

body.retro-mode-active.retro-1998-active .retro-screen-header .retro-screen-action:not(.retro-account-button) > span:last-child {
  display: none;
}

body.retro-mode-active.retro-1998-active .retro-screen-header .retro-account-button {
  width: auto;
  min-width: 42px;
  gap: 8px;
  padding: 0 14px;
}

body.retro-mode-active.retro-1998-active .retro-screen-header :is(.retro-screen-restart, .retro-screen-action):active,
body.retro-mode-active.retro-1998-active .retro-main-section-switch a:active {
  transform: scale(.97);
}

body.retro-1998-setup-active .retro-tournament-main {
  width: min(1180px, calc(100% - 48px)) !important;
  min-height: calc(100vh - 68px);
}

body.retro-1998-setup-active .retro-route-setup {
  grid-template-columns: minmax(0, 1fr) !important;
  align-items: start !important;
  min-height: calc(100vh - 68px) !important;
  padding: 82px 0 56px !important;
}

body.retro-1998-setup-active .retro-route-setup-back {
  top: 18px !important;
}

body.retro-1998-setup-active .retro-route-setup-controls {
  width: 100%;
  padding: 24px !important;
  border: 1px solid rgba(226, 229, 191, .48) !important;
  border-radius: 12px !important;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, .08), transparent 26%),
    linear-gradient(145deg, rgba(82, 109, 86, .95), rgba(35, 64, 43, .97) 64%, rgba(95, 51, 76, .92)) !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, .28), inset 0 -1px rgba(19, 39, 25, .72), 0 22px 50px rgba(15, 28, 19, .25) !important;
  backdrop-filter: none !important;
}

body.retro-1998-setup-active .retro-route-setup-controls .retro-landing-settings {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
  margin-bottom: 18px !important;
}

body.retro-1998-setup-active .retro-route-setup-controls .landing-setting {
  min-width: 0;
  padding: 16px;
  border: 1px solid rgba(226, 229, 191, .34);
  border-radius: 9px;
  background: linear-gradient(180deg, rgba(28, 57, 37, .72), rgba(23, 45, 31, .88));
  box-shadow: inset 0 1px rgba(255, 255, 255, .1);
}

body.retro-1998-setup-active .retro-route-setup-controls .landing-team-setting {
  grid-column: 1 / -1;
}

body.retro-1998-setup-active .retro-route-setup-controls :is(.landing-setting-heading > span, .landing-team-setting > span) {
  color: var(--r98-cream) !important;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

body.retro-1998-setup-active .retro-route-setup-controls .landing-setting-info summary {
  border-color: rgba(226, 229, 191, .42);
  color: var(--r98-muted) !important;
  background: rgba(20, 44, 29, .74);
}

body.retro-1998-setup-active .retro-route-setup-controls .segmented {
  min-height: 46px;
  margin-top: 10px;
  border: 1px solid rgba(226, 229, 191, .3) !important;
  border-radius: 7px;
  background: rgba(16, 37, 24, .66) !important;
  box-shadow: inset 0 2px 4px rgba(8, 22, 12, .28);
}

body.retro-1998-setup-active .retro-route-setup-controls .segmented button {
  border-radius: 5px;
  color: var(--r98-muted) !important;
}

body.retro-1998-setup-active .retro-route-setup-controls .segmented button.active {
  color: #fff !important;
  background: linear-gradient(180deg, #e24872, var(--r98-pink) 54%, #a92b50 56%) !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, .28), 0 2px 0 #713047;
}

.retro-inline-team-grid[hidden] {
  display: none !important;
}

.retro-inline-team-toolbar[hidden] {
  display: none !important;
}

.retro-team-picker[hidden] {
  display: none !important;
}

body.retro-1998-setup-active .retro-inline-team-grid {
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: 8px;
  margin-top: 10px;
}

body.retro-1998-setup-active .retro-inline-team-toolbar {
  display: flex;
  min-height: 38px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 10px;
}

body.retro-1998-setup-active .retro-inline-achievement-filter {
  display: inline-flex;
  min-height: 36px;
  align-items: center;
  gap: 8px;
  padding: 0 13px;
  border: 1px solid rgba(226, 229, 191, .42) !important;
  border-radius: 999px !important;
  color: var(--r98-cream) !important;
  background: rgba(24, 45, 32, .58) !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, .1) !important;
  font: 800 10px/1 "Manrope", sans-serif;
  cursor: pointer;
  transition: color 150ms ease, border-color 150ms ease, background-color 150ms ease, transform 120ms ease-out;
}

body.retro-1998-setup-active .retro-inline-achievement-filter[aria-pressed="true"] {
  border-color: rgba(255, 218, 230, .76) !important;
  color: #fff !important;
  background: linear-gradient(180deg, #e24872, var(--r98-pink) 54%, #a92b50 56%) !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, .28), 0 2px 0 #713047 !important;
}

body.retro-1998-setup-active .retro-inline-achievement-filter:active {
  transform: scale(.97);
}

body.retro-1998-setup-active .retro-inline-achievement-filter:disabled {
  cursor: progress;
  opacity: .68;
}

body.retro-1998-setup-active .retro-inline-filter-check {
  display: grid;
  width: 18px;
  height: 18px;
  place-items: center;
  border: 1px solid rgba(226, 229, 191, .5);
  border-radius: 50%;
  color: transparent;
  font-size: 11px;
}

body.retro-1998-setup-active .retro-inline-achievement-filter[aria-pressed="true"] .retro-inline-filter-check {
  border-color: rgba(255, 255, 255, .7);
  color: #fff;
  background: rgba(255, 255, 255, .14);
}

body.retro-1998-setup-active .retro-inline-team-count {
  color: var(--r98-muted);
  font: 800 10px/1 "Manrope", sans-serif;
  white-space: nowrap;
}

body.retro-1998-setup-active .retro-inline-team-empty {
  grid-column: 1 / -1;
  margin: 0;
  padding: 22px 16px;
  border: 1px dashed rgba(226, 229, 191, .36);
  border-radius: 7px;
  color: var(--r98-cream);
  background: rgba(24, 45, 32, .42);
  font: 800 11px/1.4 "Manrope", sans-serif;
  text-align: center;
}

body.retro-1998-setup-active .retro-inline-team-option {
  display: flex;
  min-width: 0;
  min-height: 70px;
  align-items: center;
  gap: 9px;
  padding: 9px;
  border: 1px solid rgba(226, 229, 191, .24);
  border-radius: 7px;
  color: var(--r98-cream);
  background: linear-gradient(180deg, rgba(83, 112, 85, .64), rgba(32, 62, 41, .82));
  box-shadow: inset 0 1px rgba(255, 255, 255, .1);
  cursor: pointer;
  font: inherit;
  text-align: left;
  transition: border-color 160ms ease-out, background-color 160ms ease-out, box-shadow 160ms ease-out, transform 140ms ease-out;
}

body.retro-1998-setup-active .retro-inline-team-option > span:last-child {
  display: grid;
  min-width: 0;
  gap: 2px;
}

body.retro-1998-setup-active .retro-inline-team-option strong {
  overflow: hidden;
  font-size: 10px;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.retro-1998-setup-active .retro-inline-team-option small {
  color: var(--r98-muted) !important;
  font-size: 8px;
}

body.retro-1998-setup-active .retro-inline-team-option.is-selected {
  border-color: rgba(255, 238, 229, .86);
  background: linear-gradient(145deg, rgba(217, 55, 99, .98), rgba(95, 51, 76, .96));
  box-shadow: inset 0 1px rgba(255, 255, 255, .28), 0 3px 0 rgba(69, 30, 48, .72);
}

body.retro-1998-setup-active .retro-inline-team-option:disabled {
  cursor: not-allowed;
  opacity: .58;
}

body.retro-1998-setup-active .retro-inline-team-flag,
body.retro-1998-setup-active .retro-inline-team-flag img {
  width: 34px;
  height: 23px;
  flex: 0 0 34px;
  border-radius: 3px;
  object-fit: cover;
}

body.retro-1998-setup-active .retro-route-setup-controls .mode-card-actions {
  justify-content: flex-start;
}

body.retro-1998-setup-active .retro-route-setup-controls .retro-start-button {
  min-width: 220px;
}

.retro-screen-restart.is-confirming-restart,
.legacy-restart-button.is-confirming-restart,
body.retro-mode-active.retro-1998-active .retro-screen-header .retro-screen-restart.is-confirming-restart,
body.retro-1998-setup-active .legacy-restart-button.is-confirming-restart {
  width: auto !important;
  min-width: 72px !important;
  border-color: #ffb7b7 !important;
  color: #fff !important;
  background: linear-gradient(180deg, #ef4444, #b91c1c) !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, .3), 0 3px 0 #6f1010 !important;
}

@media (hover: hover) and (pointer: fine) {
  body.retro-1998-setup-active .retro-inline-achievement-filter:hover:not(:disabled) {
    border-color: rgba(226, 229, 191, .72) !important;
    background: rgba(52, 91, 60, .72) !important;
  }

  body.retro-1998-setup-active .retro-inline-achievement-filter[aria-pressed="true"]:hover:not(:disabled) {
    background: linear-gradient(180deg, #ed557d, #cf3d66 54%, #b53257 56%) !important;
  }

  body.retro-mode-active.retro-1998-active .retro-main-section-switch a:not(.is-active):hover {
    color: #fff;
    background: rgba(226, 229, 191, .1);
  }

  body.retro-mode-active.retro-1998-active .retro-screen-header :is(.retro-screen-restart, .retro-screen-action):hover {
    border-color: rgba(244, 244, 223, .75) !important;
    color: #fff !important;
    background: rgba(95, 51, 76, .72) !important;
  }

  body.retro-1998-setup-active .retro-inline-team-option:not(:disabled):hover {
    border-color: rgba(244, 244, 223, .7);
    background: linear-gradient(180deg, rgba(108, 137, 105, .78), rgba(44, 76, 51, .94));
    box-shadow: inset 0 1px rgba(255, 255, 255, .15), 0 8px 18px rgba(15, 31, 20, .2);
    transform: translateY(-2px);
  }
}

@media (max-width: 1100px) {
  body.retro-mode-active.retro-1998-active .retro-main-section-switch {
    min-width: 300px;
  }

  body.retro-mode-active.retro-1998-active .retro-screen-header :is(.retro-screen-left, .retro-screen-actions) {
    gap: 4px;
  }

  body.retro-mode-active.retro-1998-active .retro-screen-header :is(.retro-screen-action, .retro-screen-restart) {
    width: 38px;
    min-width: 38px;
    height: 38px;
    min-height: 38px;
  }

  body.retro-mode-active.retro-1998-active .retro-screen-header .retro-account-button {
    padding: 0;
  }

  body.retro-mode-active.retro-1998-active .retro-screen-header .retro-account-button > span:last-child {
    display: none;
  }

  body.retro-1998-setup-active .retro-inline-team-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  body.retro-mode-active.retro-1998-active .retro-screen-header {
    min-height: 116px;
    flex-wrap: wrap;
    align-content: center;
    padding: 9px 14px;
  }

  body.retro-mode-active.retro-1998-active .retro-screen-brand .brand-mark {
    width: 40px;
    height: 40px;
  }

  body.retro-mode-active.retro-1998-active .retro-main-section-switch {
    position: static;
    order: 5;
    width: 100%;
    min-width: 0;
    transform: none;
  }

  body.retro-mode-active.retro-1998-active .retro-main-section-switch a {
    min-height: 34px;
    padding: 7px 8px;
    font-size: 10px;
  }

  body.retro-mode-active.retro-1998-active .retro-screen-left {
    margin-left: 0;
  }

  body.retro-1998-setup-active .retro-tournament-main {
    width: calc(100% - 24px) !important;
  }

  body.retro-1998-setup-active .retro-route-setup {
    padding-top: 70px !important;
  }

  body.retro-1998-setup-active .retro-route-setup-controls {
    padding: 14px !important;
  }

  body.retro-1998-setup-active .retro-route-setup-controls .retro-landing-settings {
    grid-template-columns: 1fr !important;
  }

  body.retro-1998-setup-active .retro-inline-team-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 480px) {
  body.retro-mode-active.retro-1998-active .retro-screen-header {
    gap: 3px;
    padding-inline: 10px;
  }

  body.retro-mode-active.retro-1998-active .retro-screen-brand .brand-mark {
    width: 36px;
    height: 36px;
  }

  body.retro-mode-active.retro-1998-active .retro-screen-header :is(.retro-screen-action, .retro-screen-restart) {
    width: 34px;
    min-width: 34px;
    height: 34px;
    min-height: 34px;
  }

  body.retro-mode-active.retro-1998-active .retro-screen-header .retro-screen-restart,
  body.retro-mode-active.retro-1998-active .retro-screen-header .retro-screen-action > span:first-child {
    font-size: 18px;
  }

  body.retro-mode-active.retro-1998-active .retro-screen-header .news-icon {
    width: 18px;
    height: 15px;
  }

  body.retro-1998-setup-active .retro-inline-team-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (prefers-reduced-motion: reduce) {
  body.retro-mode-active.retro-1998-active .retro-main-section-switch a,
  body.retro-mode-active.retro-1998-active .retro-screen-header :is(.retro-screen-restart, .retro-screen-action),
  body.retro-1998-setup-active :is(.retro-inline-team-option, .retro-inline-achievement-filter) {
    transition: none;
  }
}

/* Korea/Japan 2002 final setup parity. These guards intentionally sit after
   the shared desktop setup rules so the control sizing matches France 1998. */
body.retro-2002-setup-active .retro-route-setup-controls .retro-landing-settings {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
  margin: 0 0 18px !important;
}

body.retro-2002-setup-active .retro-route-setup-controls .landing-setting {
  min-width: 0;
  padding: 16px !important;
}

body.retro-2002-setup-active .retro-route-setup-controls .landing-team-setting {
  grid-column: 1 / -1;
}

body.retro-2002-setup-active .retro-route-setup-controls .segmented {
  min-height: 46px !important;
  margin: 10px 0 0 !important;
  padding: 3px;
}

body.retro-2002-setup-active .retro-route-setup-controls .segmented button {
  min-width: 0;
  min-height: 38px;
  padding: 7px 9px;
}

body.retro-2002-setup-active .retro-route-setup-back {
  position: absolute !important;
  top: 18px !important;
  left: 0 !important;
  display: inline-flex !important;
  width: max-content !important;
  min-width: 0 !important;
  min-height: 40px;
  align-items: center;
  justify-self: start;
  gap: 9px;
  padding: 0 13px;
  border: 1px solid rgba(255, 210, 31, .58) !important;
  border-radius: 3px !important;
  color: #fff !important;
  background: linear-gradient(180deg, #0a69a8, #064373) !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, .2), 0 3px 0 #021a36 !important;
  font: 800 10px "Manrope", sans-serif;
  transition: border-color 150ms ease, background-color 150ms ease, transform 140ms cubic-bezier(.23, 1, .32, 1);
}

body.retro-2002-setup-active .retro-route-setup-back > span:first-child {
  color: var(--r02-gold) !important;
  font-size: 19px;
  line-height: 1;
}

body.retro-2002-setup-active #restartRetroWorldCupButton {
  display: inline-flex;
  min-width: 104px;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  padding: 0 18px;
  border: 1px solid rgba(255, 210, 31, .66) !important;
  border-radius: 3px !important;
  color: var(--r02-cream) !important;
  background: linear-gradient(180deg, #0a69a8, #064373) !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, .2), 0 3px 0 #021a36 !important;
  font: 900 11px "Manrope", sans-serif;
  transition: border-color 150ms ease, background-color 150ms ease, transform 140ms cubic-bezier(.23, 1, .32, 1);
}

body.retro-mode-active.retro-2002-active #retroWorldCupRestartButton {
  border-color: rgba(255, 210, 31, .62) !important;
  border-radius: 3px !important;
  color: var(--r02-gold) !important;
  background: linear-gradient(180deg, #0a69a8, #064373) !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, .2), 0 3px 0 #021a36 !important;
}

body.retro-2002-setup-active #restartRetroWorldCupButton.is-confirming-restart,
body.retro-mode-active.retro-2002-active #retroWorldCupRestartButton.is-confirming-restart {
  width: auto !important;
  min-width: 76px !important;
  border-color: var(--r02-gold) !important;
  color: #fff !important;
  background: linear-gradient(180deg, #ff4055, var(--r02-red) 54%, var(--r02-red-deep) 56%) !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, .26), 0 3px 0 #620b1a !important;
}

body.retro-2002-setup-active :is(.retro-route-setup-back, #restartRetroWorldCupButton):active,
body.retro-mode-active.retro-2002-active #retroWorldCupRestartButton:active {
  transform: scale(.97);
}

@media (hover: hover) and (pointer: fine) {
  body.retro-2002-setup-active .retro-route-setup-back:hover,
  body.retro-2002-setup-active #restartRetroWorldCupButton:hover:not(:disabled):not(.is-confirming-restart) {
    border-color: var(--r02-gold) !important;
    color: #fff !important;
    background: linear-gradient(180deg, #0b7bbc, #075087) !important;
  }

  body.retro-2002-setup-active #restartRetroWorldCupButton.is-confirming-restart:hover:not(:disabled) {
    border-color: var(--r02-gold) !important;
    background: linear-gradient(180deg, #ff5367, var(--r02-red) 54%, var(--r02-red-deep) 56%) !important;
  }

  body.retro-mode-active.retro-2002-active #retroWorldCupRestartButton:hover:not(:disabled) {
    border-color: var(--r02-gold) !important;
    color: #fff !important;
    background: linear-gradient(180deg, #ff4055, var(--r02-red-deep)) !important;
  }
}

@media (max-width: 760px) {
  body.retro-2002-setup-active .retro-route-setup-controls .retro-landing-settings {
    grid-template-columns: 1fr !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.retro-2002-setup-active :is(.retro-route-setup-back, #restartRetroWorldCupButton),
  body.retro-mode-active.retro-2002-active #retroWorldCupRestartButton {
    transition: color 120ms ease, border-color 120ms ease, background-color 120ms ease;
  }
}

/* Germany 2006, South Africa 2010 and Brazil 2014 setup parity. Keep the shared
   setup geometry from 1998/2002 while each archive retains its own artwork. */
body.retro-2006-setup-active,
body.retro-mode-active.retro-2006-active {
  --retro-setup-border: rgba(194, 225, 237, .46);
  --retro-setup-panel: linear-gradient(135deg, rgba(255, 255, 255, .1), transparent 28%), linear-gradient(145deg, rgba(16, 101, 137, .95), rgba(5, 57, 82, .98) 60%, rgba(3, 27, 43, .99));
  --retro-setup-card: linear-gradient(180deg, rgba(11, 82, 116, .78), rgba(3, 43, 65, .92));
  --retro-setup-surface: rgba(3, 34, 53, .72);
  --retro-setup-text: #f4fbff;
  --retro-setup-muted: #b9d4df;
  --retro-setup-accent: #f3d566;
  --retro-setup-accent-deep: #c99a13;
  --retro-setup-accent-text: #071b2a;
  --retro-setup-selected: linear-gradient(145deg, #f3d566, #c99a13);
  --retro-setup-shadow: #021724;
  --retro-setup-hover: linear-gradient(180deg, rgba(17, 116, 152, .9), rgba(5, 62, 88, .98));
}

body.retro-2010-setup-active,
body.retro-mode-active.retro-2010-active {
  --retro-setup-border: rgba(255, 211, 79, .48);
  --retro-setup-panel: linear-gradient(135deg, rgba(255, 245, 219, .1), transparent 28%), linear-gradient(145deg, rgba(190, 83, 12, .96), rgba(113, 48, 15, .98) 58%, rgba(52, 32, 22, .99));
  --retro-setup-card: linear-gradient(180deg, rgba(151, 65, 16, .84), rgba(65, 33, 20, .94));
  --retro-setup-surface: rgba(55, 29, 18, .78);
  --retro-setup-text: #fff5db;
  --retro-setup-muted: #e9c991;
  --retro-setup-accent: #ffd34f;
  --retro-setup-accent-deep: #d37b0c;
  --retro-setup-accent-text: #342016;
  --retro-setup-selected: linear-gradient(145deg, #ffd34f, #d37b0c);
  --retro-setup-shadow: #3e2115;
  --retro-setup-hover: linear-gradient(180deg, rgba(180, 75, 15, .94), rgba(82, 39, 20, .99));
}

body.retro-2014-setup-active {
  --retro-setup-border: rgba(244, 206, 34, .5);
  --retro-setup-panel: linear-gradient(135deg, rgba(255, 249, 213, .12), transparent 28%), linear-gradient(145deg, rgba(8, 122, 73, .96), rgba(0, 83, 53, .98) 58%, rgba(0, 49, 38, .99));
  --retro-setup-card: linear-gradient(180deg, rgba(10, 111, 69, .86), rgba(0, 65, 46, .95));
  --retro-setup-surface: rgba(0, 63, 42, .78);
  --retro-setup-text: #fff9d5;
  --retro-setup-muted: #bde99b;
  --retro-setup-accent: #f4ce22;
  --retro-setup-accent-deep: #d99a0d;
  --retro-setup-accent-text: #06412e;
  --retro-setup-selected: linear-gradient(145deg, #f6d326, #e0aa12);
  --retro-setup-shadow: #034d36;
  --retro-setup-hover: linear-gradient(180deg, rgba(20, 137, 82, .94), rgba(0, 76, 51, .99));
}

body.retro-2018-setup-active {
  --retro-setup-border: rgba(233, 196, 119, .52);
  --retro-setup-panel: linear-gradient(135deg, rgba(255, 244, 214, .1), transparent 28%), linear-gradient(145deg, rgba(165, 26, 22, .97), rgba(103, 16, 24, .98) 58%, rgba(7, 52, 95, .99));
  --retro-setup-card: linear-gradient(180deg, rgba(9, 105, 170, .86), rgba(7, 52, 95, .96));
  --retro-setup-surface: rgba(7, 52, 95, .8);
  --retro-setup-text: #fff4d6;
  --retro-setup-muted: #f3dcc0;
  --retro-setup-accent: #e9c477;
  --retro-setup-accent-deep: #b98335;
  --retro-setup-accent-text: #53101a;
  --retro-setup-selected: linear-gradient(145deg, #f4d898, #e9c477);
  --retro-setup-shadow: #4d0b16;
  --retro-setup-hover: linear-gradient(180deg, rgba(11, 120, 189, .96), rgba(7, 61, 112, .99));
}

body.retro-2022-setup-active {
  --retro-setup-border: rgba(201, 169, 106, .5);
  --retro-setup-panel: linear-gradient(135deg, rgba(255, 253, 250, .1), transparent 28%), linear-gradient(145deg, rgba(119, 21, 59, .97), rgba(52, 12, 29, .98) 58%, rgba(22, 7, 13, .99));
  --retro-setup-card: linear-gradient(180deg, rgba(86, 17, 45, .88), rgba(30, 10, 18, .96));
  --retro-setup-surface: rgba(27, 8, 16, .82);
  --retro-setup-text: #fffdfa;
  --retro-setup-muted: #e0c995;
  --retro-setup-accent: #c9a96a;
  --retro-setup-accent-deep: #98204d;
  --retro-setup-accent-text: #13070c;
  --retro-setup-selected: linear-gradient(145deg, #e0c995, #c9a96a);
  --retro-setup-shadow: #16070d;
  --retro-setup-hover: linear-gradient(180deg, rgba(152, 32, 77, .96), rgba(52, 12, 29, .99));
}

body.retro-2026-setup-active {
  --retro-setup-border: rgba(255, 158, 47, .54);
  --retro-setup-panel: linear-gradient(135deg, rgba(255, 255, 255, .12), transparent 30%), linear-gradient(145deg, rgba(26, 77, 211, .97), rgba(10, 69, 255, .96) 48%, rgba(6, 22, 79, .99));
  --retro-setup-card: linear-gradient(180deg, rgba(21, 66, 180, .9), rgba(7, 31, 105, .97));
  --retro-setup-surface: rgba(6, 22, 79, .84);
  --retro-setup-text: #ffffff;
  --retro-setup-muted: #dce7ff;
  --retro-setup-accent: #ff9e2f;
  --retro-setup-accent-deep: #df681b;
  --retro-setup-accent-text: #06164f;
  --retro-setup-selected: linear-gradient(145deg, #ffc562, #ff9e2f);
  --retro-setup-shadow: #06164f;
  --retro-setup-hover: linear-gradient(180deg, rgba(36, 92, 235, .98), rgba(10, 69, 255, .98));
}

body.retro-afcon-2025-setup-active {
  --retro-setup-border: rgba(0, 210, 119, .62);
  --retro-setup-panel: radial-gradient(circle at 102% -8%, transparent 0 42px, rgba(0, 210, 119, .8) 43px 57px, transparent 58px 76px, rgba(180, 17, 41, .9) 77px 93px, transparent 94px), linear-gradient(145deg, #a00018, #70000e 58%, #420009);
  --retro-setup-card: linear-gradient(180deg, rgba(173, 18, 40, .9), rgba(101, 0, 14, .97));
  --retro-setup-surface: rgba(73, 0, 11, .84);
  --retro-setup-text: #fffaf6;
  --retro-setup-muted: #e9bdc4;
  --retro-setup-accent: #00d277;
  --retro-setup-accent-deep: #007a46;
  --retro-setup-accent-text: #052e20;
  --retro-setup-selected: linear-gradient(145deg, #32e696, #00d277);
  --retro-setup-shadow: #360008;
  --retro-setup-hover: linear-gradient(180deg, rgba(190, 20, 47, .98), rgba(118, 0, 18, .99));
}

body.retro-copa-2024-setup-active {
  --retro-setup-border: rgba(207, 214, 230, .52);
  --retro-setup-panel: linear-gradient(128deg, rgba(255, 255, 255, .08) 0 30%, transparent 30.2%), linear-gradient(145deg, #0b3f96, #061d54 62%, #041536);
  --retro-setup-card: linear-gradient(180deg, rgba(11, 63, 150, .9), rgba(6, 29, 84, .97));
  --retro-setup-surface: rgba(4, 21, 54, .86);
  --retro-setup-text: #ffffff;
  --retro-setup-muted: #cfd6e6;
  --retro-setup-accent: #e51b2b;
  --retro-setup-accent-deep: #a9233a;
  --retro-setup-accent-text: #ffffff;
  --retro-setup-selected: linear-gradient(145deg, #f03b49, #e51b2b);
  --retro-setup-shadow: #041536;
  --retro-setup-hover: linear-gradient(180deg, #176fe4, #0b3f96);
}

body.retro-euro-2016-setup-active {
  --retro-setup-border: rgba(111, 220, 249, .52);
  --retro-setup-panel: radial-gradient(circle at 88% 8%, rgba(111, 225, 255, .2), transparent 30%), linear-gradient(145deg, rgba(7, 86, 170, .98), rgba(3, 31, 88, .99) 58%, rgba(2, 13, 50, .99));
  --retro-setup-card: linear-gradient(180deg, rgba(7, 86, 170, .88), rgba(3, 31, 88, .97));
  --retro-setup-surface: rgba(2, 19, 64, .84);
  --retro-setup-text: #f8fdff;
  --retro-setup-muted: #bfeeff;
  --retro-setup-accent: #ffdc38;
  --retro-setup-accent-deep: #1cc7ee;
  --retro-setup-accent-text: #020d32;
  --retro-setup-selected: linear-gradient(145deg, #ffed82, #ffdc38);
  --retro-setup-shadow: #020d32;
  --retro-setup-hover: linear-gradient(180deg, rgba(9, 105, 190, .98), rgba(3, 42, 106, .99));
}

body.retro-euro-2020-setup-active {
  --retro-setup-border: rgba(198, 238, 242, .5);
  --retro-setup-panel: radial-gradient(circle at 86% 10%, rgba(185, 220, 24, .18), transparent 30%), linear-gradient(145deg, rgba(7, 148, 166, .98), rgba(4, 101, 116, .99) 58%, rgba(3, 54, 64, .99));
  --retro-setup-card: linear-gradient(180deg, rgba(8, 137, 153, .88), rgba(4, 79, 92, .97));
  --retro-setup-surface: rgba(3, 69, 81, .84);
  --retro-setup-text: #f4fdff;
  --retro-setup-muted: #c6eef2;
  --retro-setup-accent: #b9dc18;
  --retro-setup-accent-deep: #7fa10a;
  --retro-setup-accent-text: #173107;
  --retro-setup-selected: linear-gradient(145deg, #d8f14f, #b9dc18);
  --retro-setup-shadow: #034f5c;
  --retro-setup-hover: linear-gradient(180deg, rgba(11, 169, 184, .98), rgba(5, 102, 117, .99));
}

body.retro-euro-2024-setup-active {
  --retro-setup-border: rgba(214, 225, 255, .44);
  --retro-setup-panel: linear-gradient(124deg, rgba(255, 255, 255, .06) 0 28%, transparent 28.2%), linear-gradient(145deg, #0754ef, #07349e 58%, #061a50);
  --retro-setup-card: linear-gradient(180deg, rgba(11, 67, 191, .9), rgba(6, 31, 103, .97));
  --retro-setup-surface: rgba(6, 31, 103, .86);
  --retro-setup-text: #f8fbff;
  --retro-setup-muted: #b9c9f1;
  --retro-setup-accent: #ffd400;
  --retro-setup-accent-deep: #b78e00;
  --retro-setup-accent-text: #061a50;
  --retro-setup-selected: linear-gradient(145deg, #ffe55c, #ffd400);
  --retro-setup-shadow: #04123a;
  --retro-setup-hover: linear-gradient(180deg, #0b43bf, #06266f);
}

body[data-retro-edition-banner="2018"] {
  --retro-setup-border: rgba(233, 196, 119, .52);
  --retro-setup-surface: rgba(7, 52, 95, .8);
  --retro-setup-text: #fff4d6;
  --retro-setup-muted: #f3dcc0;
  --retro-setup-accent-text: #53101a;
  --retro-setup-selected: linear-gradient(145deg, #f4d898, #e9c477);
  --retro-setup-shadow: #4d0b16;
  --retro-setup-hover: linear-gradient(180deg, rgba(11, 120, 189, .96), rgba(7, 61, 112, .99));
}

body[data-retro-edition-banner="2016"] {
  --retro-setup-border: rgba(111, 220, 249, .52);
  --retro-setup-surface: rgba(2, 19, 64, .84);
  --retro-setup-text: #f8fdff;
  --retro-setup-muted: #bfeeff;
  --retro-setup-accent-text: #020d32;
  --retro-setup-selected: linear-gradient(145deg, #ffed82, #ffdc38);
  --retro-setup-shadow: #020d32;
  --retro-setup-hover: linear-gradient(180deg, rgba(9, 105, 190, .98), rgba(3, 42, 106, .99));
}

body[data-retro-edition-banner="2020"] {
  --retro-setup-border: rgba(198, 238, 242, .5);
  --retro-setup-surface: rgba(3, 69, 81, .84);
  --retro-setup-text: #f4fdff;
  --retro-setup-muted: #c6eef2;
  --retro-setup-accent-text: #173107;
  --retro-setup-selected: linear-gradient(145deg, #d8f14f, #b9dc18);
  --retro-setup-shadow: #034f5c;
  --retro-setup-hover: linear-gradient(180deg, rgba(11, 169, 184, .98), rgba(5, 102, 117, .99));
}

body[data-retro-edition-banner="euro-2024"] {
  --retro-setup-border: rgba(214, 225, 255, .44);
  --retro-setup-surface: rgba(6, 31, 103, .86);
  --retro-setup-text: #f8fbff;
  --retro-setup-muted: #b9c9f1;
  --retro-setup-accent-text: #061a50;
  --retro-setup-selected: linear-gradient(145deg, #ffe55c, #ffd400);
  --retro-setup-shadow: #04123a;
  --retro-setup-hover: linear-gradient(180deg, #0b43bf, #06266f);
}

body:is(.retro-mode-active.retro-2006-active, .retro-mode-active.retro-2010-active, .retro-2014-setup-active, .retro-2018-setup-active, .retro-2022-setup-active, .retro-2026-setup-active, .retro-euro-setup-active, .retro-afcon-2025-setup-active, .retro-copa-2024-setup-active, .retro-edition-banner-active) .retro-screen-header {
  position: sticky;
  display: flex !important;
  min-height: 68px;
  align-items: center;
  gap: 8px;
  padding: 0 clamp(20px, 3vw, 52px);
  backdrop-filter: none !important;
}

body.retro-mode-active.retro-2006-active .retro-screen-header {
  border-bottom: 1px solid rgba(194, 225, 237, .48) !important;
  background: linear-gradient(180deg, rgba(123, 179, 201, .99), rgba(10, 77, 108, .99) 36%, rgba(3, 38, 58, .99) 38%) !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, .32), 0 8px 22px rgba(2, 23, 36, .28) !important;
}

body.retro-mode-active.retro-2010-active .retro-screen-header {
  border-bottom: 1px solid rgba(255, 211, 79, .52) !important;
  background: linear-gradient(180deg, rgba(235, 149, 14, .99), rgba(169, 68, 12, .99) 36%, rgba(55, 29, 18, .99) 38%) !important;
  box-shadow: inset 0 1px rgba(255, 245, 219, .28), 0 8px 22px rgba(45, 20, 8, .3) !important;
}

body.retro-2018-setup-active .retro-screen-header,
body.retro-edition-banner-active[data-retro-edition-banner="2018"] .retro-screen-header {
  border-bottom: 1px solid rgba(233, 196, 119, .58) !important;
  background: rgba(7, 52, 95, .99) !important;
  box-shadow: inset 0 1px rgba(255, 244, 214, .28), 0 8px 22px rgba(55, 3, 13, .32) !important;
}

body:is(.retro-mode-active.retro-2006-active, .retro-mode-active.retro-2010-active, .retro-2014-setup-active, .retro-2018-setup-active, .retro-2022-setup-active, .retro-2026-setup-active, .retro-euro-setup-active, .retro-afcon-2025-setup-active, .retro-copa-2024-setup-active, .retro-edition-banner-active) .retro-screen-brand {
  order: 1;
  grid-column: auto;
  margin-right: 0;
}

body:is(.retro-mode-active.retro-2006-active, .retro-mode-active.retro-2010-active, .retro-2014-setup-active, .retro-2018-setup-active, .retro-2022-setup-active, .retro-2026-setup-active, .retro-euro-setup-active, .retro-afcon-2025-setup-active, .retro-copa-2024-setup-active, .retro-edition-banner-active) .retro-screen-brand .brand-mark {
  width: 44px;
  height: 44px;
  border-radius: 12px;
}

body.retro-mode-active.retro-2006-active .retro-screen-brand .brand-mark {
  border: 1px solid rgba(244, 251, 255, .54);
  color: #071b2a;
  background: linear-gradient(145deg, #f3d566, #d6aa21) !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, .38), 0 3px 0 #073550 !important;
}

body.retro-mode-active.retro-2010-active .retro-screen-brand .brand-mark {
  border: 1px solid rgba(255, 245, 219, .58);
  color: #342016;
  background: linear-gradient(145deg, #ffe078, #ffd34f) !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, .36), 0 3px 0 #a9440c !important;
}

body.retro-2014-setup-active .retro-screen-brand .brand-mark {
  border: 1px solid rgba(255, 249, 213, .68);
  color: #06412e;
  background: linear-gradient(145deg, #ffea68, #f4ce22) !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, .42), 0 3px 0 #006bb5 !important;
}

body.retro-2018-setup-active .retro-screen-brand .brand-mark,
body.retro-edition-banner-active[data-retro-edition-banner="2018"] .retro-screen-brand .brand-mark {
  border: 1px solid rgba(255, 244, 214, .62);
  color: #53101a;
  background: linear-gradient(145deg, #f4d898, #e9c477) !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, .38), 0 3px 0 #671018 !important;
}

body.retro-euro-setup-active .retro-screen-brand .brand-mark,
body.retro-edition-banner-active[data-retro-edition-banner="2016"] .retro-screen-brand .brand-mark,
body.retro-edition-banner-active[data-retro-edition-banner="2020"] .retro-screen-brand .brand-mark,
body.retro-edition-banner-active[data-retro-edition-banner="euro-2024"] .retro-screen-brand .brand-mark {
  border: 1px solid var(--retro-setup-border);
  color: var(--retro-setup-accent-text);
  background: var(--retro-setup-selected) !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, .4), 0 3px 0 var(--retro-setup-shadow) !important;
}

body.retro-edition-banner-active[data-retro-edition-banner="2016"] .retro-screen-header {
  border: 0 !important;
  border-bottom: 1px solid rgba(111, 220, 249, .38) !important;
  color: #f8fdff !important;
  background: rgba(2, 17, 58, .92) !important;
  box-shadow: 0 16px 38px rgba(0, 8, 37, .34) !important;
}

body.retro-edition-banner-active[data-retro-edition-banner="2020"] .retro-screen-header {
  border-bottom: 1px solid rgba(255, 255, 255, .22) !important;
  color: #f4fdff !important;
  background: rgba(3, 102, 116, .84) !important;
  box-shadow: 0 10px 28px rgba(3, 54, 64, .25) !important;
}

body.retro-edition-banner-active[data-retro-edition-banner="euro-2024"] .retro-screen-header {
  z-index: 30;
  border-bottom: 4px solid #ffd400 !important;
  color: #f8fbff !important;
  background: #04184c !important;
  box-shadow: 0 10px 28px rgba(1, 10, 40, .25) !important;
}

body.retro-edition-banner-active .retro-screen-header::after {
  display: none !important;
}

body:is(.retro-mode-active.retro-2006-active, .retro-mode-active.retro-2010-active, .retro-2014-setup-active, .retro-2018-setup-active, .retro-2022-setup-active, .retro-2026-setup-active, .retro-euro-setup-active, .retro-afcon-2025-setup-active, .retro-copa-2024-setup-active, .retro-edition-banner-active) .retro-main-section-switch {
  position: absolute;
  left: 50%;
  order: 2;
  display: flex;
  min-width: 350px;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 4px;
  border: 1px solid var(--retro-setup-border, rgba(255, 255, 255, .34));
  border-radius: 999px;
  background: var(--retro-setup-surface, rgba(3, 27, 43, .72));
  box-shadow: inset 0 1px rgba(255, 255, 255, .12);
  transform: translateX(-50%);
}

body:is(.retro-mode-active.retro-2006-active, .retro-mode-active.retro-2010-active, .retro-2014-setup-active, .retro-2018-setup-active, .retro-2022-setup-active, .retro-2026-setup-active, .retro-euro-setup-active, .retro-afcon-2025-setup-active, .retro-copa-2024-setup-active, .retro-edition-banner-active) .retro-main-section-switch a {
  min-height: 38px;
  flex: 1 1 0;
  padding: 9px 15px;
  border-radius: 999px;
  color: var(--retro-setup-muted, rgba(255, 255, 255, .7));
  font: 800 11px/20px "Manrope", sans-serif;
  text-align: center;
  text-decoration: none;
  transition: color 160ms ease-out, background-color 160ms ease-out, transform 120ms cubic-bezier(.23, 1, .32, 1);
}

body:is(.retro-mode-active.retro-2006-active, .retro-mode-active.retro-2010-active, .retro-2014-setup-active, .retro-2018-setup-active, .retro-2022-setup-active, .retro-2026-setup-active, .retro-euro-setup-active, .retro-afcon-2025-setup-active, .retro-copa-2024-setup-active, .retro-edition-banner-active) .retro-main-section-switch a.is-active {
  color: var(--retro-setup-accent-text, #071b2a);
  background: var(--retro-setup-selected, linear-gradient(145deg, #f3d566, #c99a13));
  box-shadow: inset 0 1px rgba(255, 255, 255, .34), 0 2px 0 var(--retro-setup-shadow, #021724);
}

body:is(.retro-mode-active.retro-2006-active, .retro-mode-active.retro-2010-active, .retro-2014-setup-active, .retro-2018-setup-active, .retro-2022-setup-active, .retro-2026-setup-active, .retro-euro-setup-active, .retro-afcon-2025-setup-active, .retro-copa-2024-setup-active, .retro-edition-banner-active) .retro-screen-left {
  order: 2;
  margin-left: 2px;
}

body:is(.retro-mode-active.retro-2006-active, .retro-mode-active.retro-2010-active, .retro-2014-setup-active, .retro-2018-setup-active, .retro-2022-setup-active, .retro-2026-setup-active, .retro-euro-setup-active, .retro-afcon-2025-setup-active, .retro-copa-2024-setup-active, .retro-edition-banner-active) .retro-screen-actions {
  order: 4;
  margin-left: auto;
}

body:is(.retro-mode-active.retro-2006-active, .retro-mode-active.retro-2010-active, .retro-2014-setup-active, .retro-2018-setup-active, .retro-2022-setup-active, .retro-2026-setup-active, .retro-euro-setup-active, .retro-afcon-2025-setup-active, .retro-copa-2024-setup-active, .retro-edition-banner-active) :is(.retro-screen-left, .retro-screen-actions) {
  gap: 6px;
}

body:is(.retro-mode-active.retro-2006-active, .retro-mode-active.retro-2010-active, .retro-2014-setup-active, .retro-2018-setup-active, .retro-2022-setup-active, .retro-2026-setup-active, .retro-euro-setup-active, .retro-afcon-2025-setup-active, .retro-copa-2024-setup-active, .retro-edition-banner-active) .retro-screen-header :is(.retro-screen-action, .retro-screen-restart) {
  width: 42px;
  min-width: 42px;
  height: 42px;
  min-height: 42px;
  padding: 0;
  border: 1px solid var(--retro-setup-border, rgba(255, 255, 255, .36)) !important;
  border-radius: 999px;
  color: var(--retro-setup-text, #fff) !important;
  background: var(--retro-setup-surface, rgba(3, 27, 43, .58)) !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, .12) !important;
  transition: color 160ms ease-out, border-color 160ms ease-out, background-color 160ms ease-out, transform 120ms cubic-bezier(.23, 1, .32, 1);
}

body:is(.retro-mode-active.retro-2006-active, .retro-mode-active.retro-2010-active, .retro-2014-setup-active, .retro-2018-setup-active, .retro-2022-setup-active, .retro-2026-setup-active, .retro-euro-setup-active, .retro-afcon-2025-setup-active, .retro-copa-2024-setup-active, .retro-edition-banner-active) .retro-screen-header .retro-screen-restart,
body:is(.retro-mode-active.retro-2006-active, .retro-mode-active.retro-2010-active, .retro-2014-setup-active, .retro-2018-setup-active, .retro-2022-setup-active, .retro-2026-setup-active, .retro-euro-setup-active, .retro-afcon-2025-setup-active, .retro-copa-2024-setup-active, .retro-edition-banner-active) .retro-screen-header .retro-screen-action > span:first-child {
  font-size: 20px;
  line-height: 1;
}

body:is(.retro-mode-active.retro-2006-active, .retro-mode-active.retro-2010-active, .retro-2014-setup-active, .retro-2018-setup-active, .retro-2022-setup-active, .retro-2026-setup-active, .retro-euro-setup-active, .retro-afcon-2025-setup-active, .retro-copa-2024-setup-active, .retro-edition-banner-active) .retro-screen-header .news-icon {
  width: 20px;
  height: 17px;
  border-width: 2px;
}

body:is(.retro-mode-active.retro-2006-active, .retro-mode-active.retro-2010-active, .retro-2014-setup-active, .retro-2018-setup-active, .retro-2022-setup-active, .retro-2026-setup-active, .retro-euro-setup-active, .retro-afcon-2025-setup-active, .retro-copa-2024-setup-active, .retro-edition-banner-active) .retro-screen-header .account-avatar-icon {
  width: 22px;
  height: 22px;
}

body:is(.retro-mode-active.retro-2006-active, .retro-mode-active.retro-2010-active, .retro-2014-setup-active, .retro-2018-setup-active, .retro-2022-setup-active, .retro-2026-setup-active, .retro-euro-setup-active, .retro-afcon-2025-setup-active, .retro-copa-2024-setup-active, .retro-edition-banner-active) .retro-screen-header .retro-screen-action:not(.retro-account-button) > span:last-child {
  display: none;
}

body:is(.retro-mode-active.retro-2006-active, .retro-mode-active.retro-2010-active, .retro-2014-setup-active, .retro-2018-setup-active, .retro-2022-setup-active, .retro-2026-setup-active, .retro-euro-setup-active, .retro-afcon-2025-setup-active, .retro-copa-2024-setup-active, .retro-edition-banner-active) .retro-screen-header .retro-account-button {
  width: auto;
  min-width: 42px;
  gap: 8px;
  padding: 0 14px;
}

body:is(.retro-2006-setup-active, .retro-2010-setup-active, .retro-2014-setup-active, .retro-2018-setup-active, .retro-2022-setup-active, .retro-2026-setup-active, .retro-euro-setup-active, .retro-afcon-2025-setup-active, .retro-copa-2024-setup-active) .retro-tournament-main {
  width: min(1180px, calc(100% - 48px)) !important;
  min-height: calc(100vh - 68px);
  padding-top: 0 !important;
}

body:is(.retro-2006-setup-active, .retro-2010-setup-active, .retro-2014-setup-active, .retro-2018-setup-active, .retro-2022-setup-active, .retro-2026-setup-active, .retro-euro-setup-active, .retro-afcon-2025-setup-active, .retro-copa-2024-setup-active) .retro-route-setup {
  grid-template-columns: minmax(0, 1fr) !important;
  align-items: start !important;
  min-height: calc(100vh - 68px) !important;
  padding: 82px 0 56px !important;
}

body:is(.retro-2006-setup-active, .retro-2010-setup-active, .retro-2014-setup-active, .retro-2018-setup-active, .retro-2022-setup-active, .retro-2026-setup-active, .retro-euro-setup-active, .retro-afcon-2025-setup-active, .retro-copa-2024-setup-active) .retro-route-setup-back {
  position: absolute !important;
  top: 18px !important;
  left: 0 !important;
  display: inline-flex !important;
  width: max-content !important;
  min-width: 0 !important;
  min-height: 40px;
  align-items: center;
  gap: 9px;
  padding: 0 13px;
  border: 1px solid var(--retro-setup-border) !important;
  border-radius: 5px !important;
  color: var(--retro-setup-text) !important;
  background: var(--retro-setup-surface) !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, .16), 0 3px 0 var(--retro-setup-shadow) !important;
  font: 800 10px "Manrope", sans-serif;
  transition: border-color 150ms ease, background-color 150ms ease, transform 140ms cubic-bezier(.23, 1, .32, 1);
}

body:is(.retro-2006-setup-active, .retro-2010-setup-active, .retro-2014-setup-active, .retro-2018-setup-active, .retro-2022-setup-active, .retro-2026-setup-active, .retro-euro-setup-active, .retro-afcon-2025-setup-active, .retro-copa-2024-setup-active) .retro-route-setup-back > span:first-child {
  color: var(--retro-setup-accent) !important;
  font-size: 19px;
  line-height: 1;
}

body:is(.retro-2006-setup-active, .retro-2010-setup-active, .retro-2014-setup-active, .retro-2018-setup-active, .retro-2022-setup-active, .retro-2026-setup-active, .retro-euro-setup-active, .retro-afcon-2025-setup-active, .retro-copa-2024-setup-active) .retro-route-setup-controls {
  width: 100%;
  padding: 24px !important;
  border: 1px solid var(--retro-setup-border) !important;
  border-radius: 12px !important;
  background: var(--retro-setup-panel) !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, .2), inset 0 -1px rgba(0, 0, 0, .34), 0 22px 50px rgba(0, 0, 0, .25) !important;
  backdrop-filter: none !important;
}

body:is(.retro-2006-setup-active, .retro-2010-setup-active, .retro-2014-setup-active, .retro-2018-setup-active, .retro-2022-setup-active, .retro-2026-setup-active, .retro-euro-setup-active, .retro-afcon-2025-setup-active, .retro-copa-2024-setup-active) .retro-route-setup-controls .retro-landing-settings {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
  margin: 0 0 18px !important;
}

body:is(.retro-2006-setup-active, .retro-2010-setup-active, .retro-2014-setup-active, .retro-2018-setup-active, .retro-2022-setup-active, .retro-2026-setup-active, .retro-euro-setup-active, .retro-afcon-2025-setup-active, .retro-copa-2024-setup-active) .retro-route-setup-controls .landing-setting {
  min-width: 0;
  padding: 16px !important;
  border: 1px solid color-mix(in srgb, var(--retro-setup-border) 76%, transparent);
  border-radius: 9px;
  background: var(--retro-setup-card);
  box-shadow: inset 0 1px rgba(255, 255, 255, .1);
}

body:is(.retro-2006-setup-active, .retro-2010-setup-active, .retro-2014-setup-active, .retro-2018-setup-active, .retro-2022-setup-active, .retro-2026-setup-active, .retro-euro-setup-active, .retro-afcon-2025-setup-active, .retro-copa-2024-setup-active) .retro-route-setup-controls .landing-team-setting {
  grid-column: 1 / -1;
}

body:is(.retro-2006-setup-active, .retro-2010-setup-active, .retro-2014-setup-active, .retro-2018-setup-active, .retro-2022-setup-active, .retro-2026-setup-active, .retro-euro-setup-active, .retro-afcon-2025-setup-active, .retro-copa-2024-setup-active) .retro-route-setup-controls :is(.landing-setting-heading > span, .landing-team-setting > span) {
  color: var(--retro-setup-text) !important;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

body:is(.retro-2006-setup-active, .retro-2010-setup-active, .retro-2014-setup-active, .retro-2018-setup-active, .retro-2022-setup-active, .retro-2026-setup-active, .retro-euro-setup-active, .retro-afcon-2025-setup-active, .retro-copa-2024-setup-active) .retro-route-setup-controls .landing-setting-info summary {
  border-color: var(--retro-setup-border);
  color: var(--retro-setup-muted) !important;
  background: var(--retro-setup-surface);
}

body:is(.retro-2006-setup-active, .retro-2010-setup-active, .retro-2014-setup-active, .retro-2018-setup-active, .retro-2022-setup-active, .retro-2026-setup-active, .retro-euro-setup-active, .retro-afcon-2025-setup-active, .retro-copa-2024-setup-active) .retro-route-setup-controls .segmented {
  min-height: 46px !important;
  margin: 10px 0 0 !important;
  padding: 3px;
  border: 1px solid color-mix(in srgb, var(--retro-setup-border) 68%, transparent) !important;
  border-radius: 7px;
  background: color-mix(in srgb, var(--retro-setup-surface) 84%, #000) !important;
  box-shadow: inset 0 2px 4px rgba(0, 0, 0, .26);
}

body:is(.retro-2006-setup-active, .retro-2010-setup-active, .retro-2014-setup-active, .retro-2018-setup-active, .retro-2022-setup-active, .retro-2026-setup-active, .retro-euro-setup-active, .retro-afcon-2025-setup-active, .retro-copa-2024-setup-active) .retro-route-setup-controls .segmented button {
  min-width: 0;
  min-height: 38px;
  padding: 7px 9px;
  border-radius: 5px;
  color: var(--retro-setup-muted) !important;
}

body:is(.retro-2006-setup-active, .retro-2010-setup-active, .retro-2014-setup-active, .retro-2018-setup-active, .retro-2022-setup-active, .retro-2026-setup-active, .retro-euro-setup-active, .retro-afcon-2025-setup-active, .retro-copa-2024-setup-active) .retro-route-setup-controls .segmented button.active {
  color: var(--retro-setup-accent-text) !important;
  background: var(--retro-setup-selected) !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, .32), 0 2px 0 var(--retro-setup-shadow);
}

body:is(.retro-2006-setup-active, .retro-2010-setup-active, .retro-2014-setup-active, .retro-2018-setup-active, .retro-2022-setup-active, .retro-2026-setup-active, .retro-euro-setup-active, .retro-afcon-2025-setup-active, .retro-copa-2024-setup-active) .retro-inline-team-toolbar {
  display: flex;
  min-height: 38px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 10px;
}

body:is(.retro-2006-setup-active, .retro-2010-setup-active, .retro-2014-setup-active, .retro-2018-setup-active, .retro-2022-setup-active, .retro-2026-setup-active, .retro-euro-setup-active, .retro-afcon-2025-setup-active, .retro-copa-2024-setup-active) .retro-inline-achievement-filter {
  display: inline-flex;
  min-height: 36px;
  align-items: center;
  gap: 8px;
  padding: 0 13px;
  border: 1px solid var(--retro-setup-border) !important;
  border-radius: 999px !important;
  color: var(--retro-setup-text) !important;
  background: var(--retro-setup-surface) !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, .1) !important;
  font: 800 10px/1 "Manrope", sans-serif;
  cursor: pointer;
  transition: color 150ms ease, border-color 150ms ease, background-color 150ms ease, transform 120ms cubic-bezier(.23, 1, .32, 1);
}

body:is(.retro-2006-setup-active, .retro-2010-setup-active, .retro-2014-setup-active, .retro-2018-setup-active, .retro-2022-setup-active, .retro-2026-setup-active, .retro-euro-setup-active, .retro-afcon-2025-setup-active, .retro-copa-2024-setup-active) .retro-inline-achievement-filter[aria-pressed="true"] {
  color: var(--retro-setup-accent-text) !important;
  background: var(--retro-setup-selected) !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, .3), 0 2px 0 var(--retro-setup-shadow) !important;
}

body:is(.retro-2006-setup-active, .retro-2010-setup-active, .retro-2014-setup-active, .retro-2018-setup-active, .retro-2022-setup-active, .retro-2026-setup-active, .retro-euro-setup-active, .retro-afcon-2025-setup-active, .retro-copa-2024-setup-active) .retro-inline-filter-check {
  display: grid;
  width: 18px;
  height: 18px;
  place-items: center;
  border: 1px solid var(--retro-setup-border);
  border-radius: 50%;
  color: transparent;
  font-size: 11px;
}

body:is(.retro-2006-setup-active, .retro-2010-setup-active, .retro-2014-setup-active, .retro-2018-setup-active, .retro-2022-setup-active, .retro-2026-setup-active, .retro-euro-setup-active, .retro-afcon-2025-setup-active, .retro-copa-2024-setup-active) .retro-inline-achievement-filter[aria-pressed="true"] .retro-inline-filter-check {
  border-color: currentColor;
  color: inherit;
  background: rgba(255, 255, 255, .18);
}

body:is(.retro-2006-setup-active, .retro-2010-setup-active, .retro-2014-setup-active, .retro-2018-setup-active, .retro-2022-setup-active, .retro-2026-setup-active, .retro-euro-setup-active, .retro-afcon-2025-setup-active, .retro-copa-2024-setup-active) .retro-inline-team-count {
  color: var(--retro-setup-muted);
  font: 800 10px/1 "Manrope", sans-serif;
  white-space: nowrap;
}

body:is(.retro-2006-setup-active, .retro-2010-setup-active, .retro-2014-setup-active, .retro-2018-setup-active, .retro-2022-setup-active, .retro-2026-setup-active, .retro-euro-setup-active, .retro-afcon-2025-setup-active, .retro-copa-2024-setup-active) .retro-inline-team-grid {
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: 8px;
  margin-top: 10px;
}

body:is(.retro-2006-setup-active, .retro-2010-setup-active, .retro-2014-setup-active, .retro-2018-setup-active, .retro-2022-setup-active, .retro-2026-setup-active, .retro-euro-setup-active, .retro-afcon-2025-setup-active, .retro-copa-2024-setup-active) .retro-inline-team-empty {
  grid-column: 1 / -1;
  margin: 0;
  padding: 22px 16px;
  border: 1px dashed var(--retro-setup-border);
  border-radius: 7px;
  color: var(--retro-setup-text);
  background: var(--retro-setup-surface);
  font: 800 11px/1.4 "Manrope", sans-serif;
  text-align: center;
}

body:is(.retro-2006-setup-active, .retro-2010-setup-active, .retro-2014-setup-active, .retro-2018-setup-active, .retro-2022-setup-active, .retro-2026-setup-active, .retro-euro-setup-active, .retro-afcon-2025-setup-active, .retro-copa-2024-setup-active) .retro-inline-team-option {
  display: flex;
  min-width: 0;
  min-height: 70px;
  align-items: center;
  gap: 9px;
  padding: 9px;
  border: 1px solid color-mix(in srgb, var(--retro-setup-border) 72%, transparent);
  border-radius: 7px;
  color: var(--retro-setup-text);
  background: var(--retro-setup-card);
  box-shadow: inset 0 1px rgba(255, 255, 255, .1);
  cursor: pointer;
  font: inherit;
  text-align: left;
  transition: border-color 160ms ease-out, background-color 160ms ease-out, box-shadow 160ms ease-out, transform 140ms cubic-bezier(.23, 1, .32, 1);
}

body:is(.retro-2006-setup-active, .retro-2010-setup-active, .retro-2014-setup-active, .retro-2018-setup-active, .retro-2022-setup-active, .retro-2026-setup-active, .retro-euro-setup-active, .retro-afcon-2025-setup-active, .retro-copa-2024-setup-active) .retro-inline-team-option > span:last-child {
  display: grid;
  min-width: 0;
  gap: 2px;
}

body:is(.retro-2006-setup-active, .retro-2010-setup-active, .retro-2014-setup-active, .retro-2018-setup-active, .retro-2022-setup-active, .retro-2026-setup-active, .retro-euro-setup-active, .retro-afcon-2025-setup-active, .retro-copa-2024-setup-active) .retro-inline-team-option strong {
  overflow: hidden;
  font-size: 10px;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body:is(.retro-2006-setup-active, .retro-2010-setup-active, .retro-2014-setup-active, .retro-2018-setup-active, .retro-2022-setup-active, .retro-2026-setup-active, .retro-euro-setup-active, .retro-afcon-2025-setup-active, .retro-copa-2024-setup-active) .retro-inline-team-option small {
  color: var(--retro-setup-muted) !important;
  font-size: 8px;
}

body:is(.retro-2006-setup-active, .retro-2010-setup-active, .retro-2014-setup-active, .retro-2018-setup-active, .retro-2022-setup-active, .retro-2026-setup-active, .retro-euro-setup-active, .retro-afcon-2025-setup-active, .retro-copa-2024-setup-active) .retro-inline-team-option.is-selected {
  border-color: var(--retro-setup-accent);
  color: var(--retro-setup-accent-text);
  background: var(--retro-setup-selected);
  box-shadow: inset 0 1px rgba(255, 255, 255, .32), 0 3px 0 var(--retro-setup-shadow);
}

body:is(.retro-2006-setup-active, .retro-2010-setup-active, .retro-2014-setup-active, .retro-2018-setup-active, .retro-2022-setup-active, .retro-2026-setup-active, .retro-euro-setup-active, .retro-afcon-2025-setup-active, .retro-copa-2024-setup-active) .retro-inline-team-option.is-selected small {
  color: color-mix(in srgb, var(--retro-setup-accent-text) 76%, transparent) !important;
}

body:is(.retro-2006-setup-active, .retro-2010-setup-active, .retro-2014-setup-active, .retro-2018-setup-active, .retro-2022-setup-active, .retro-2026-setup-active, .retro-euro-setup-active, .retro-afcon-2025-setup-active, .retro-copa-2024-setup-active) .retro-inline-team-option:disabled {
  cursor: not-allowed;
  opacity: .58;
}

body:is(.retro-2006-setup-active, .retro-2010-setup-active, .retro-2014-setup-active, .retro-2018-setup-active, .retro-2022-setup-active, .retro-2026-setup-active, .retro-euro-setup-active, .retro-afcon-2025-setup-active, .retro-copa-2024-setup-active) :is(.retro-inline-team-flag, .retro-inline-team-flag img) {
  width: 34px;
  height: 23px;
  flex: 0 0 34px;
  border-radius: 3px;
  object-fit: cover;
}

body:is(.retro-2006-setup-active, .retro-2010-setup-active, .retro-2014-setup-active, .retro-2018-setup-active, .retro-2022-setup-active, .retro-2026-setup-active, .retro-euro-setup-active, .retro-afcon-2025-setup-active, .retro-copa-2024-setup-active, .retro-asian-cup-2027-setup-active) .retro-route-setup-controls .mode-card-actions {
  justify-content: flex-start;
}

body:is(.retro-2006-setup-active, .retro-2010-setup-active, .retro-2014-setup-active, .retro-2018-setup-active, .retro-2022-setup-active, .retro-2026-setup-active, .retro-euro-setup-active, .retro-afcon-2025-setup-active, .retro-copa-2024-setup-active, .retro-asian-cup-2027-setup-active) .retro-route-setup-controls .retro-start-button {
  min-width: 220px;
}

body.retro-euro-setup-active .retro-route-setup-controls .retro-start-button:not(:disabled) {
  border: 1px solid color-mix(in srgb, var(--retro-setup-accent) 78%, #fff) !important;
  border-radius: 5px !important;
  color: var(--retro-setup-accent-text) !important;
  background: var(--retro-setup-selected) !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, .38), 0 4px 0 var(--retro-setup-accent-deep) !important;
}

body:is(.retro-2006-setup-active, .retro-2010-setup-active, .retro-2014-setup-active, .retro-2018-setup-active, .retro-2022-setup-active, .retro-2026-setup-active, .retro-euro-setup-active, .retro-afcon-2025-setup-active, .retro-copa-2024-setup-active) #restartRetroWorldCupButton {
  display: inline-flex;
  min-width: 104px;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  padding: 0 18px;
  border: 1px solid var(--retro-setup-border) !important;
  border-radius: 5px !important;
  color: var(--retro-setup-text) !important;
  background: var(--retro-setup-surface) !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, .16), 0 3px 0 var(--retro-setup-shadow) !important;
  font: 900 11px "Manrope", sans-serif;
  transition: border-color 150ms ease, background-color 150ms ease, transform 140ms cubic-bezier(.23, 1, .32, 1);
}

body:is(.retro-mode-active.retro-2006-active, .retro-mode-active.retro-2010-active, .retro-2014-setup-active, .retro-2018-setup-active, .retro-2022-setup-active, .retro-2026-setup-active, .retro-euro-setup-active, .retro-afcon-2025-setup-active, .retro-copa-2024-setup-active, .retro-edition-banner-active) #retroWorldCupRestartButton.is-confirming-restart,
body:is(.retro-2006-setup-active, .retro-2010-setup-active, .retro-2014-setup-active, .retro-2018-setup-active, .retro-2022-setup-active, .retro-2026-setup-active, .retro-euro-setup-active, .retro-afcon-2025-setup-active, .retro-copa-2024-setup-active) #restartRetroWorldCupButton.is-confirming-restart {
  width: auto !important;
  min-width: 76px !important;
  border-color: #ffb7b7 !important;
  color: #fff !important;
  background: linear-gradient(180deg, #ef4444, #b91c1c) !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, .3), 0 3px 0 #6f1010 !important;
}

body:is(.retro-mode-active.retro-2006-active, .retro-mode-active.retro-2010-active, .retro-2014-setup-active, .retro-2018-setup-active, .retro-2022-setup-active, .retro-2026-setup-active, .retro-euro-setup-active, .retro-afcon-2025-setup-active, .retro-copa-2024-setup-active, .retro-edition-banner-active) :is(.retro-screen-restart, .retro-screen-action):active,
body:is(.retro-mode-active.retro-2006-active, .retro-mode-active.retro-2010-active, .retro-2014-setup-active, .retro-2018-setup-active, .retro-2022-setup-active, .retro-2026-setup-active, .retro-euro-setup-active, .retro-afcon-2025-setup-active, .retro-copa-2024-setup-active, .retro-edition-banner-active) .retro-main-section-switch a:active,
body:is(.retro-2006-setup-active, .retro-2010-setup-active, .retro-2014-setup-active, .retro-2018-setup-active, .retro-2022-setup-active, .retro-2026-setup-active, .retro-euro-setup-active, .retro-afcon-2025-setup-active, .retro-copa-2024-setup-active) :is(.retro-route-setup-back, #restartRetroWorldCupButton, .retro-inline-team-option, .retro-inline-achievement-filter):active {
  transform: scale(.97);
}

@media (hover: hover) and (pointer: fine) {
  body:is(.retro-mode-active.retro-2006-active, .retro-mode-active.retro-2010-active, .retro-2014-setup-active, .retro-2018-setup-active, .retro-2022-setup-active, .retro-2026-setup-active, .retro-euro-setup-active, .retro-afcon-2025-setup-active, .retro-copa-2024-setup-active, .retro-edition-banner-active) .retro-main-section-switch a:not(.is-active):hover {
    color: #fff;
    background: rgba(255, 255, 255, .08);
  }

  body:is(.retro-mode-active.retro-2006-active, .retro-mode-active.retro-2010-active, .retro-2014-setup-active, .retro-2018-setup-active, .retro-2022-setup-active, .retro-2026-setup-active, .retro-euro-setup-active, .retro-afcon-2025-setup-active, .retro-copa-2024-setup-active, .retro-edition-banner-active) .retro-screen-header :is(.retro-screen-restart, .retro-screen-action):hover,
  body:is(.retro-2006-setup-active, .retro-2010-setup-active, .retro-2014-setup-active, .retro-2018-setup-active, .retro-2022-setup-active, .retro-2026-setup-active, .retro-euro-setup-active, .retro-afcon-2025-setup-active, .retro-copa-2024-setup-active) :is(.retro-route-setup-back, #restartRetroWorldCupButton):hover:not(:disabled):not(.is-confirming-restart) {
    border-color: var(--retro-setup-accent) !important;
    color: var(--retro-setup-text) !important;
    background: var(--retro-setup-hover) !important;
  }

  body:is(.retro-2006-setup-active, .retro-2010-setup-active, .retro-2014-setup-active, .retro-2018-setup-active, .retro-2022-setup-active, .retro-2026-setup-active, .retro-euro-setup-active, .retro-afcon-2025-setup-active, .retro-copa-2024-setup-active) .retro-inline-team-option:not(:disabled):hover {
    border-color: var(--retro-setup-accent);
    background: var(--retro-setup-hover);
    box-shadow: inset 0 1px rgba(255, 255, 255, .15), 0 8px 18px rgba(0, 0, 0, .2);
    transform: translateY(-2px);
  }
}

@media (max-width: 1100px) {
  body:is(.retro-mode-active.retro-2006-active, .retro-mode-active.retro-2010-active, .retro-2014-setup-active, .retro-2018-setup-active, .retro-2022-setup-active, .retro-2026-setup-active, .retro-euro-setup-active, .retro-afcon-2025-setup-active, .retro-copa-2024-setup-active, .retro-edition-banner-active) .retro-main-section-switch {
    min-width: 300px;
  }

  body:is(.retro-mode-active.retro-2006-active, .retro-mode-active.retro-2010-active, .retro-2014-setup-active, .retro-2018-setup-active, .retro-2022-setup-active, .retro-2026-setup-active, .retro-euro-setup-active, .retro-afcon-2025-setup-active, .retro-copa-2024-setup-active, .retro-edition-banner-active) .retro-screen-header :is(.retro-screen-action, .retro-screen-restart) {
    width: 38px;
    min-width: 38px;
    height: 38px;
    min-height: 38px;
  }

  body:is(.retro-mode-active.retro-2006-active, .retro-mode-active.retro-2010-active, .retro-2014-setup-active, .retro-2018-setup-active, .retro-2022-setup-active, .retro-2026-setup-active, .retro-euro-setup-active, .retro-afcon-2025-setup-active, .retro-copa-2024-setup-active, .retro-edition-banner-active) .retro-screen-header .retro-account-button {
    padding: 0;
  }

  body:is(.retro-mode-active.retro-2006-active, .retro-mode-active.retro-2010-active, .retro-2014-setup-active, .retro-2018-setup-active, .retro-2022-setup-active, .retro-2026-setup-active, .retro-euro-setup-active, .retro-afcon-2025-setup-active, .retro-copa-2024-setup-active, .retro-edition-banner-active) .retro-screen-header .retro-account-button > span:last-child {
    display: none;
  }

  body:is(.retro-2006-setup-active, .retro-2010-setup-active, .retro-2014-setup-active, .retro-2018-setup-active, .retro-2022-setup-active, .retro-2026-setup-active, .retro-euro-setup-active, .retro-afcon-2025-setup-active, .retro-copa-2024-setup-active) .retro-inline-team-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  body:is(.retro-mode-active.retro-2006-active, .retro-mode-active.retro-2010-active, .retro-2014-setup-active, .retro-2018-setup-active, .retro-2022-setup-active, .retro-2026-setup-active, .retro-euro-setup-active, .retro-afcon-2025-setup-active, .retro-copa-2024-setup-active, .retro-edition-banner-active) .retro-screen-header {
    min-height: 116px;
    flex-wrap: wrap;
    align-content: center;
    padding: 9px 14px;
  }

  body:is(.retro-mode-active.retro-2006-active, .retro-mode-active.retro-2010-active, .retro-2014-setup-active, .retro-2018-setup-active, .retro-2022-setup-active, .retro-2026-setup-active, .retro-euro-setup-active, .retro-afcon-2025-setup-active, .retro-copa-2024-setup-active, .retro-edition-banner-active) .retro-screen-brand .brand-mark {
    width: 40px;
    height: 40px;
  }

  body:is(.retro-mode-active.retro-2006-active, .retro-mode-active.retro-2010-active, .retro-2018-setup-active, .retro-2022-setup-active, .retro-2026-setup-active, .retro-euro-setup-active, .retro-afcon-2025-setup-active, .retro-copa-2024-setup-active, .retro-edition-banner-active) .retro-main-section-switch {
    position: static;
    order: 5;
    width: 100%;
    min-width: 0;
    transform: none;
  }

  body:is(.retro-mode-active.retro-2006-active, .retro-mode-active.retro-2010-active, .retro-2014-setup-active, .retro-2018-setup-active, .retro-2022-setup-active, .retro-2026-setup-active, .retro-euro-setup-active, .retro-afcon-2025-setup-active, .retro-copa-2024-setup-active, .retro-edition-banner-active) .retro-main-section-switch a {
    min-height: 34px;
    padding: 7px 8px;
    font-size: 10px;
  }

  body:is(.retro-2006-setup-active, .retro-2010-setup-active, .retro-2014-setup-active, .retro-2018-setup-active, .retro-2022-setup-active, .retro-2026-setup-active, .retro-euro-setup-active, .retro-afcon-2025-setup-active, .retro-copa-2024-setup-active) .retro-tournament-main {
    width: calc(100% - 24px) !important;
  }

  body.retro-euro-2020-setup-active .retro-tournament-main {
    padding-inline: 0 !important;
  }

  body:is(.retro-2006-setup-active, .retro-2010-setup-active, .retro-2014-setup-active, .retro-2018-setup-active, .retro-2022-setup-active, .retro-2026-setup-active, .retro-euro-setup-active, .retro-afcon-2025-setup-active, .retro-copa-2024-setup-active) .retro-route-setup {
    padding-top: 70px !important;
  }

  body:is(.retro-2006-setup-active, .retro-2010-setup-active, .retro-2014-setup-active, .retro-2018-setup-active, .retro-2022-setup-active, .retro-2026-setup-active, .retro-euro-setup-active, .retro-afcon-2025-setup-active, .retro-copa-2024-setup-active) .retro-route-setup-controls {
    padding: 14px !important;
  }

  body:is(.retro-2006-setup-active, .retro-2010-setup-active, .retro-2014-setup-active, .retro-2018-setup-active, .retro-2022-setup-active, .retro-2026-setup-active, .retro-euro-setup-active, .retro-afcon-2025-setup-active, .retro-copa-2024-setup-active) .retro-route-setup-controls .retro-landing-settings {
    grid-template-columns: 1fr !important;
  }

  body:is(.retro-2006-setup-active, .retro-2010-setup-active, .retro-2014-setup-active, .retro-2018-setup-active, .retro-2022-setup-active, .retro-2026-setup-active, .retro-euro-setup-active, .retro-afcon-2025-setup-active, .retro-copa-2024-setup-active) .retro-inline-team-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 480px) {
  body:is(.retro-mode-active.retro-2006-active, .retro-mode-active.retro-2010-active, .retro-2014-setup-active, .retro-2018-setup-active, .retro-2022-setup-active, .retro-2026-setup-active, .retro-euro-setup-active, .retro-afcon-2025-setup-active, .retro-copa-2024-setup-active, .retro-edition-banner-active) .retro-screen-header {
    gap: 3px;
    padding-inline: 10px;
  }

  body:is(.retro-2006-setup-active, .retro-2010-setup-active, .retro-2014-setup-active, .retro-2018-setup-active, .retro-2022-setup-active, .retro-2026-setup-active, .retro-euro-setup-active, .retro-afcon-2025-setup-active, .retro-copa-2024-setup-active) .retro-inline-team-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (prefers-reduced-motion: reduce) {
  body:is(.retro-mode-active.retro-2006-active, .retro-mode-active.retro-2010-active, .retro-2014-setup-active, .retro-2018-setup-active, .retro-2022-setup-active, .retro-2026-setup-active, .retro-euro-setup-active, .retro-afcon-2025-setup-active, .retro-copa-2024-setup-active, .retro-edition-banner-active) :is(.retro-main-section-switch a, .retro-screen-restart, .retro-screen-action),
  body:is(.retro-2006-setup-active, .retro-2010-setup-active, .retro-2014-setup-active, .retro-2018-setup-active, .retro-2022-setup-active, .retro-2026-setup-active, .retro-euro-setup-active, .retro-afcon-2025-setup-active, .retro-copa-2024-setup-active) :is(.retro-route-setup-back, #restartRetroWorldCupButton, .retro-inline-team-option, .retro-inline-achievement-filter) {
    transition: none;
  }
}

/* Keep the refreshed tournament setup panels compact enough to preserve the
   desktop advertising gutters. Tablets get a wider touch layout below. */
@media (min-width: 721px) {
  body:is(
    .retro-1998-setup-active,
    .retro-2002-setup-active,
    .retro-2006-setup-active,
    .retro-2010-setup-active,
    .retro-2014-setup-active,
    .retro-2018-setup-active,
    .retro-2022-setup-active,
    .retro-2026-setup-active,
    .retro-euro-setup-active,
    .retro-afcon-2025-setup-active,
    .retro-copa-2024-setup-active
  ) .retro-tournament-main {
    width: min(1080px, calc(100% - clamp(96px, 18vw, 300px))) !important;
  }
}

/* Tablet setup should use the available touch width instead of inheriting the
   narrow desktop advertising slot. Keep a modest outer gutter and widen the
   shared setup column so segmented controls and country cards stay balanced. */
@media (min-width: 761px) and (max-width: 1100px) {
  body:is(
    .retro-1998-setup-active,
    .retro-2002-setup-active,
    .retro-2006-setup-active,
    .retro-2010-setup-active,
    .retro-2014-setup-active,
    .retro-2018-setup-active,
    .retro-2022-setup-active,
    .retro-2026-setup-active,
    .retro-euro-setup-active,
    .retro-afcon-2025-setup-active,
    .retro-copa-2024-setup-active
  ) .retro-tournament-main {
    width: min(100% - 32px, 960px) !important;
  }

  body.retro-route-setup-active:is(
    .retro-1998-setup-active,
    .retro-2002-setup-active,
    .retro-2006-setup-active,
    .retro-2010-setup-active,
    .retro-2014-setup-active,
    .retro-2018-setup-active,
    .retro-2022-setup-active,
    .retro-2026-setup-active,
    .retro-euro-setup-active,
    .retro-afcon-2025-setup-active,
    .retro-copa-2024-setup-active
  ) .retro-route-setup {
    grid-template-columns: minmax(0, 760px);
  }
}

/* Let longer country names use the card's available vertical space instead of
   truncating them. The fixed flag and group line stay aligned across the grid. */
body:is(
  .retro-1998-setup-active,
  .retro-2002-setup-active,
  .retro-2006-setup-active,
  .retro-2010-setup-active,
  .retro-2014-setup-active,
  .retro-2018-setup-active,
  .retro-2022-setup-active,
  .retro-2026-setup-active,
  .retro-euro-setup-active,
  .retro-afcon-2025-setup-active,
  .retro-copa-2024-setup-active
) .retro-inline-team-option > span:last-child {
  width: 100%;
  align-content: center;
}

body:is(
  .retro-1998-setup-active,
  .retro-2002-setup-active,
  .retro-2006-setup-active,
  .retro-2010-setup-active,
  .retro-2014-setup-active,
  .retro-2018-setup-active,
  .retro-2022-setup-active,
  .retro-2026-setup-active,
  .retro-euro-setup-active,
  .retro-afcon-2025-setup-active,
  .retro-copa-2024-setup-active
) .retro-inline-team-option strong {
  display: block;
  overflow: visible;
  line-height: 1.15;
  text-overflow: clip;
  text-wrap: balance;
  white-space: normal;
}

@media (max-width: 760px) {
  body:is(
    .retro-1998-setup-active,
    .retro-2002-setup-active,
    .retro-2006-setup-active,
    .retro-2010-setup-active,
    .retro-2014-setup-active,
    .retro-2018-setup-active,
    .retro-2022-setup-active,
    .retro-2026-setup-active,
    .retro-euro-setup-active,
    .retro-afcon-2025-setup-active,
    .retro-copa-2024-setup-active
  ) .retro-tournament-main {
    width: min(100% - 22px, 760px) !important;
  }
}

/* Setup owns the entire tournament body at every breakpoint. The playable
   screen's saved actions remain in the DOM for Resume, but never compete with
   setup navigation or expose the retired menu route. */
body:is(.retro-1998-setup-active, .retro-2002-setup-active, .retro-2006-setup-active, .retro-2010-setup-active, .retro-2014-setup-active, .retro-2018-setup-active, .retro-2022-setup-active, .retro-2026-setup-active, .retro-euro-setup-active, .retro-afcon-2025-setup-active, .retro-copa-2024-setup-active) .retro-tournament-main > :not(.retro-route-setup):not(.retro-saved-tournament-actions),
body:is(.retro-1998-setup-active, .retro-2002-setup-active, .retro-2006-setup-active, .retro-2010-setup-active, .retro-2014-setup-active, .retro-2018-setup-active, .retro-2022-setup-active, .retro-2026-setup-active, .retro-euro-setup-active, .retro-afcon-2025-setup-active, .retro-copa-2024-setup-active) .retro-saved-tournament-actions {
  display: none !important;
}
/* UEFA EURO 2024 -------------------------------------------------------- */
:root {
  --euro24-blue: #0646d7;
  --euro24-blue-bright: #0754ef;
  --euro24-blue-deep: #082f9d;
  --euro24-navy: #061a50;
  --euro24-navy-strong: #04123a;
  --euro24-yellow: #ffd400;
  --euro24-yellow-hover: #ffe55c;
  --euro24-white: #f8fbff;
  --euro24-muted: #b9c9f1;
  --euro24-line: rgba(214, 225, 255, .32);
  --euro24-hover: #0b43bf;
  --euro24-focus: #ffd400;
  --euro24-selected: #ffd400;
  --euro24-disabled: #687cad;
  --euro24-success: #ffe36b;
  --euro24-error: #ff5278;
  --euro24-panel: #082f91;
  --euro24-header: #061f67;
  --euro24-table: #052a84;
  --euro24-modal: #061a50;
  --euro24-shadow: rgba(1, 9, 36, .38);
  --euro24-connector: rgba(255, 212, 0, .7);
}

.mode-card-retro[data-retro-competition="euros"][data-retro-edition="2024"] {
  isolation: isolate;
  overflow: hidden;
  --retro-accent: var(--euro24-yellow);
  --retro-accent-text: var(--euro24-navy);
  border-color: #376cfa;
  background:
    linear-gradient(122deg, rgba(255, 212, 0, .08) 0 18%, transparent 18.2% 62%, rgba(255, 255, 255, .06) 62.2%),
    linear-gradient(150deg, #0754ef, #082f9d 58%, #061a50);
  box-shadow: 0 16px 38px rgba(4, 25, 83, .24);
}

.mode-card-retro[data-retro-competition="euros"][data-retro-edition="2024"]::after {
  position: absolute;
  z-index: -1;
  right: -58px;
  bottom: -84px;
  width: 220px;
  height: 220px;
  border: 22px solid rgba(255, 212, 0, .15);
  border-radius: 50%;
  content: "";
}

.mode-card-retro[data-retro-competition="euros"][data-retro-edition="2024"] .retro-mode-heading > img {
  width: 58px;
  height: 60px;
  object-fit: contain;
}

.mode-card-retro[data-retro-competition="euros"][data-retro-edition="2024"] .retro-mode-heading img {
  filter: drop-shadow(0 8px 16px rgba(1, 12, 53, .38));
}

.mode-card-retro[data-retro-competition="euros"][data-retro-edition="2024"] :is(h3, .landing-settings-label, .landing-settings-summary) {
  color: var(--euro24-white);
}

.mode-card-retro[data-retro-competition="euros"][data-retro-edition="2024"] :is(
  .retro-competition-switch,
  .retro-year-switch,
  .landing-segmented,
  .retro-team-picker
) {
  border-color: rgba(214, 225, 255, .34);
  border-radius: 2px;
  background: rgba(4, 27, 85, .68);
  box-shadow: inset 0 1px rgba(255, 255, 255, .08);
}

.mode-card-retro[data-retro-competition="euros"][data-retro-edition="2024"] :is(
  .retro-competition-switch button,
  .retro-year-switch button,
  .landing-segmented button
) {
  border-radius: 1px;
  color: var(--euro24-muted);
}

.mode-card-retro[data-retro-competition="euros"][data-retro-edition="2024"] :is(
  .retro-competition-switch button.active,
  .retro-year-switch button.active,
  .landing-segmented button.active
) {
  color: var(--euro24-navy);
  background: var(--euro24-yellow);
  box-shadow: inset 0 -3px #b78e00;
}

.mode-card-retro[data-retro-competition="euros"][data-retro-edition="2024"] :is(
  .landing-setting-heading > span,
  .landing-team-setting > span,
  .retro-team-picker strong
) {
  color: var(--euro24-white);
}

.mode-card-retro[data-retro-competition="euros"][data-retro-edition="2024"] .retro-team-picker small {
  color: var(--euro24-muted);
}

.mode-card-retro[data-retro-competition="euros"][data-retro-edition="2024"] .retro-team-mark {
  border-radius: 1px;
  color: var(--euro24-navy);
  background: var(--euro24-yellow);
}

.mode-card-retro[data-retro-competition="euros"][data-retro-edition="2024"] .retro-start-button:not(:disabled) {
  border: 1px solid #fff16d;
  border-radius: 2px;
  color: var(--euro24-navy);
  background: var(--euro24-yellow);
  box-shadow: 0 5px 0 #b78e00;
}

.mode-card-retro[data-retro-competition="euros"][data-retro-edition="2024"] .retro-start-button:disabled {
  border: 1px solid rgba(214, 225, 255, .3);
  border-radius: 2px;
  color: #8fa5d9;
  background: #173473;
  box-shadow: none;
}

.mode-card-retro[data-retro-competition="euros"][data-retro-edition="2024"] .retro-start-button:not(:disabled):is(:hover, :focus-visible) {
  background: var(--euro24-yellow-hover);
}

#retroWorldCupYearSwitch button[data-euro-year="2024"] {
  border-radius: 1px;
}

#retroWorldCupYearSwitch button[data-euro-year="2024"]:is(.active, [aria-pressed="true"]) {
  border-color: var(--euro24-yellow);
  color: var(--euro24-navy);
  background: var(--euro24-yellow);
  box-shadow: inset 0 -3px #b78e00;
}

body.retro-euro-2024-setup-active :is(.mode-route-setup-panel, .retro-route-setup-controls) {
  color: var(--euro24-white);
  background:
    linear-gradient(124deg, rgba(255, 255, 255, .05) 0 28%, transparent 28.2%),
    linear-gradient(145deg, #0754ef, #07349e 58%, #061a50) !important;
}

body.retro-euro-2024-setup-active .retro-route-setup-controls :is(
  .segmented,
  .retro-team-picker,
  .landing-segmented
) {
  border-color: var(--euro24-line) !important;
  border-radius: 7px !important;
  color: var(--euro24-white) !important;
  background: #061f67 !important;
}

body.retro-euro-2024-setup-active .retro-route-setup-controls :is(button.active, button[aria-pressed="true"]) {
  color: var(--euro24-navy) !important;
  background: var(--euro24-yellow) !important;
}

body.retro-euro-2024-setup-active #spectateModal {
  border: 1px solid var(--euro24-line) !important;
  border-top: 5px solid var(--euro24-yellow) !important;
  border-radius: 2px !important;
  color: var(--euro24-white) !important;
  background: linear-gradient(145deg, #0a43bd, #061a50) !important;
  box-shadow: 8px 8px 0 var(--euro24-shadow), 0 24px 64px rgba(1, 9, 36, .58) !important;
}

body.retro-euro-2024-setup-active #spectateModal::backdrop {
  background: rgba(1, 9, 36, .82) !important;
  backdrop-filter: blur(5px);
}

body.retro-euro-2024-setup-active #spectateModal :is(h2, strong) {
  color: var(--euro24-white) !important;
}

body.retro-euro-2024-setup-active #spectateModal :is(small, .overview-empty) {
  color: var(--euro24-muted) !important;
}

body.retro-euro-2024-setup-active #spectateModal :is(.prediction-option, input, .prediction-modal-search) {
  border-color: var(--euro24-line) !important;
  border-radius: 2px !important;
  color: var(--euro24-white) !important;
  background: #061f67 !important;
}

body.retro-euro-2024-setup-active #spectateModal .prediction-option:is(:hover, :focus-visible, .selected) {
  border-color: var(--euro24-yellow) !important;
  background: #0b43bf !important;
  box-shadow: inset 4px 0 var(--euro24-yellow) !important;
}

body.retro-euro-2024-setup-active #spectateModal .prediction-option.selected > i {
  color: var(--euro24-navy) !important;
  background: var(--euro24-yellow) !important;
}

body.retro-euro-2024-setup-active #spectateModal .close-modal {
  border: 1px solid var(--euro24-line) !important;
  border-radius: 2px !important;
  color: var(--euro24-white) !important;
  background: #061f67 !important;
  box-shadow: none !important;
  clip-path: none !important;
}

body.retro-euro-2024-setup-active #spectateModal .close-modal:is(:hover, :focus-visible) {
  border-color: var(--euro24-yellow) !important;
  color: var(--euro24-navy) !important;
  background: var(--euro24-yellow) !important;
}

body.retro-mode-active.retro-euro-2024-active {
  color: var(--euro24-white);
  background: var(--euro24-navy-strong) !important;
}

body.retro-mode-active.retro-euro-2024-active .retro-tournament-screen {
  min-height: 100vh;
  color: var(--euro24-white);
  background:
    linear-gradient(116deg, transparent 0 31%, rgba(255, 255, 255, .045) 31.2% 49%, transparent 49.2%),
    radial-gradient(circle at 86% 11%, rgba(52, 117, 255, .48), transparent 29%),
    radial-gradient(circle at 10% 86%, rgba(0, 49, 170, .55), transparent 35%),
    linear-gradient(145deg, #0754ef 0%, #073aac 56%, #061a50 100%) !important;
}

body.retro-mode-active.retro-euro-2024-active .retro-tournament-screen::before {
  position: fixed;
  z-index: 0;
  inset: 0;
  content: "";
  pointer-events: none;
  opacity: .22;
  background:
    repeating-linear-gradient(62deg, transparent 0 76px, rgba(255, 255, 255, .09) 77px 78px, transparent 79px 155px),
    linear-gradient(8deg, transparent 0 88%, var(--euro24-yellow) 88.2% 89%, transparent 89.2%);
}

body.retro-mode-active.retro-euro-2024-active:not(.retro-euro-2024-setup-active) .retro-screen-header,
body.retro-mode-active.retro-euro-2024-active:not(.retro-euro-2024-setup-active) .retro-tournament-main {
  position: relative;
  z-index: 1;
}

body.retro-mode-active.retro-euro-2024-active .retro-screen-header {
  z-index: 30;
  border-bottom: 4px solid var(--euro24-yellow);
  color: var(--euro24-white);
  background: #04184c;
  box-shadow: 0 10px 28px rgba(1, 10, 40, .25);
  backdrop-filter: blur(14px);
}

body.retro-mode-active.retro-euro-2024-active .retro-screen-brand,
body.retro-mode-active.retro-euro-2024-active .retro-tournament-heading :is(h1, span),
body.retro-mode-active.retro-euro-2024-active .retro-tournament-progress {
  color: var(--euro24-white) !important;
}

body.retro-mode-active.retro-euro-2024-active .retro-tournament-heading > div:first-child {
  border-left: 5px solid var(--euro24-yellow);
  padding-left: 14px;
}

body.retro-mode-active.retro-euro-2024-active .retro-tournament-heading span {
  color: var(--euro24-yellow) !important;
  letter-spacing: .16em;
}

body.retro-mode-active.retro-euro-2024-active:not(.retro-euro-2024-setup-active) .retro-tournament-main {
  padding-top: 56px !important;
  background: transparent !important;
}

body.retro-mode-active.retro-euro-2024-active .retro-view-tabs {
  gap: 1px;
  padding: 3px;
  border: 1px solid var(--euro24-line);
  border-radius: 2px;
  background: #06266f;
  box-shadow: 6px 6px 0 rgba(2, 12, 52, .34);
}

body.retro-mode-active.retro-euro-2024-active .retro-view-tabs::before {
  display: none !important;
}

body.retro-mode-active.retro-euro-2024-active .retro-view-tabs button {
  min-height: 44px;
  border-radius: 0 !important;
  color: var(--euro24-muted);
  background: transparent;
}

body.retro-mode-active.retro-euro-2024-active .retro-view-tabs button:is(:hover, :focus-visible):not(.active) {
  color: var(--euro24-white);
  background: #0b43bf;
}

body.retro-mode-active.retro-euro-2024-active .retro-view-tabs button.active {
  color: var(--euro24-navy);
  background: var(--euro24-yellow);
  box-shadow: inset 0 -3px #b78e00;
}

.euro-2024-section-title {
  margin: 4px 0 24px;
  text-align: center;
}

.euro-2024-section-title span {
  color: var(--euro24-yellow);
  font: 900 11px "DM Mono", monospace;
  letter-spacing: .22em;
  text-transform: uppercase;
}

.euro-2024-section-title h2 {
  margin: 7px 0 4px;
  color: var(--euro24-white);
  font-size: clamp(30px, 5vw, 52px);
  line-height: 1;
  text-transform: uppercase;
}

.euro-2024-section-title p {
  max-width: 720px;
  margin: 0 auto;
  color: var(--euro24-muted);
}

body.retro-mode-active.retro-euro-2024-active #mainContent {
  --surface: #082f91;
  --surface-raised: #0a42ba;
  --line: var(--euro24-line);
  color: var(--euro24-white);
}

body.retro-mode-active.retro-euro-2024-active #mainContent :is(
  .match-stage,
  .round-board,
  .panel,
  .match-analysis,
  .standard-match-tactics,
  .story-card
),
body.retro-mode-active.retro-euro-2024-active :is(
  .retro-match-lineups-panel,
  .retro-lineup-tabs,
  .retro-manager-lineup,
  .retro-manager-section,
  .retro-manager-pitch-box,
  .retro-squad-view,
  .retro-squad-position-group
) {
  border: 1px solid var(--euro24-line) !important;
  border-radius: 2px !important;
  color: var(--euro24-white);
  background:
    linear-gradient(132deg, rgba(29, 90, 231, .98), rgba(6, 39, 117, .98)) !important;
  box-shadow: 6px 6px 0 rgba(2, 13, 53, .32) !important;
}

body.retro-mode-active.retro-euro-2024-active #mainContent :is(.match-stage, .round-board, .match-analysis)::before {
  display: none !important;
}

body.retro-mode-active.retro-euro-2024-active #mainContent :is(.panel-heading, .match-analysis-heading),
body.retro-mode-active.retro-euro-2024-active :is(.retro-manager-lineup > header, .retro-squad-heading, .retro-squad-position-group > h2) {
  border-radius: 0 !important;
  color: var(--euro24-white) !important;
  background: #061f67 !important;
}

body.retro-mode-active.retro-euro-2024-active #mainContent :is(.stage-round, .panel-heading h2, .match-analysis-heading, .section-heading h2),
body.retro-mode-active.retro-euro-2024-active :is(.retro-squad-heading span, .retro-manager-section-title span) {
  color: var(--euro24-yellow) !important;
  text-shadow: none !important;
}

body.retro-mode-active.retro-euro-2024-active #mainContent :is(.team, .fixture, .standard-tactic-buttons, .standard-tactic-buttons button),
body.retro-mode-active.retro-euro-2024-active :is(.retro-lineup-tabs button, .retro-manager-player, .retro-back-to-modes) {
  border-radius: 2px !important;
}

body.retro-mode-active.retro-euro-2024-active #mainContent :is(
  .match-commentary-feed,
  .match-highlight-mode,
  .standard-tactic-buttons,
  .retro-manager-player,
  .fixture,
  .fixture.bracket-fixture,
  .bracket-heads,
  .team-filter-search,
  .team-filter-chip,
  .search-result-popover,
  .search-result,
  .history-round-button,
  .text-button,
  .snapshot-trigger,
  select,
  input
) {
  border-color: var(--euro24-line) !important;
  border-radius: 2px !important;
  color: var(--euro24-white) !important;
  background: #07276f !important;
  background-image: none !important;
  box-shadow: none !important;
}

body.retro-mode-active.retro-euro-2024-active #mainContent :is(
  .primary-button,
  .play-button,
  .secondary-button,
  .live-control,
  .standard-tactic-buttons button.active
) {
  border: 1px solid #fff16d !important;
  border-radius: 2px !important;
  color: var(--euro24-navy) !important;
  background: var(--euro24-yellow) !important;
  box-shadow: 0 4px 0 #b78e00 !important;
}

body.retro-mode-active.retro-euro-2024-active #mainContent :is(
  .standard-tactic-buttons button:not(.active),
  .history-round-button,
  .text-button,
  .team-filter-chip,
  .snapshot-trigger
) {
  color: var(--euro24-muted) !important;
  background: #07276f !important;
}

body.retro-mode-active.retro-euro-2024-active #mainContent :is(
  .standard-tactic-buttons button:hover:not(:disabled),
  .history-round-button:hover,
  .text-button:hover,
  .team-filter-chip:hover,
  .snapshot-trigger:hover,
  .search-result:hover
) {
  color: var(--euro24-navy) !important;
  background: var(--euro24-yellow) !important;
}

body.retro-mode-active.retro-euro-2024-active #mainContent .fixture:is(:hover, .selected) {
  color: var(--euro24-white) !important;
  background: #0b43bf !important;
  box-shadow: inset 4px 0 var(--euro24-yellow) !important;
}

body.retro-mode-active.retro-euro-2024-active #mainContent .bracket-heads {
  color: var(--euro24-yellow) !important;
  background: #061f67 !important;
}

body.retro-mode-active.retro-euro-2024-active #mainContent :is(
  .bracket-connector::before,
  .bracket-connector::after,
  .bracket-fixture[data-connects="true"]::after
) {
  border-color: rgba(255, 212, 0, .7) !important;
}

body.retro-mode-active.retro-euro-2024-active #mainContent .match-commentary-feed,
body.retro-mode-active.retro-euro-2024-active #mainContent .match-commentary-feed .commentary-line span {
  color: var(--euro24-white) !important;
  background: #061f67 !important;
}

body.retro-mode-active.retro-euro-2024-active #mainContent :is(.event-live-clock, .score-live-clock, #eventLiveClock) {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: var(--euro24-white) !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.retro-mode-active.retro-euro-2024-active #mainContent :is(
  #eventLiveClock > span,
  #eventLiveClock > small,
  #eventLiveClock > strong,
  #liveClock,
  #livePhase
) {
  color: var(--euro24-white) !important;
  background: transparent !important;
  opacity: 1 !important;
  -webkit-text-fill-color: var(--euro24-white) !important;
  text-shadow: none !important;
}

body.retro-mode-active.retro-euro-2024-active .retro-groups-grid {
  grid-template-columns: repeat(3, minmax(230px, 1fr));
  gap: 12px;
}

body.retro-mode-active.retro-euro-2024-active .retro-group-table,
body.retro-mode-active.retro-euro-2024-active :is(.retro-best-third-table, .euro-2024-best-thirds) {
  overflow: hidden;
  padding: 7px;
  border: 1px solid var(--euro24-line);
  border-radius: 2px;
  color: var(--euro24-white);
  background: rgba(5, 42, 132, .86);
  box-shadow: 5px 5px 0 rgba(2, 13, 53, .24);
}

body.retro-mode-active.retro-euro-2024-active .retro-group-table h2,
body.retro-mode-active.retro-euro-2024-active :is(.retro-best-third-table, .euro-2024-best-thirds) h2 {
  margin: 0 0 5px;
  padding: 10px 12px;
  border-radius: 0;
  color: var(--euro24-navy);
  background: var(--euro24-yellow);
  text-transform: uppercase;
}

body.retro-mode-active.retro-euro-2024-active .retro-table-head {
  color: var(--euro24-muted);
}

body.retro-mode-active.retro-euro-2024-active .retro-table-row {
  border-color: rgba(214, 225, 255, .18);
  color: var(--euro24-white);
  background: transparent;
}

body.retro-mode-active.retro-euro-2024-active .retro-table-row:is(.qualified, .best-third-qualified) {
  color: #fff;
  background: rgba(12, 73, 204, .68);
  box-shadow: inset 4px 0 var(--euro24-yellow);
}

body.retro-mode-active.retro-euro-2024-active .retro-table-row.is-eliminated {
  color: #8fa5d9;
  opacity: .72;
}

body.retro-mode-active.retro-euro-2024-active .euro-2024-best-thirds > p {
  margin: 7px 10px 11px;
  color: var(--euro24-muted);
  font-size: 12px;
}

body.retro-mode-active.retro-euro-2024-active .euro-2024-best-thirds-table {
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scrollbar-color: var(--euro24-yellow) var(--euro24-navy);
  scrollbar-width: thin;
}

body.retro-mode-active.retro-euro-2024-active :is(.euro-2024-best-thirds-head, .euro-2024-best-thirds-row) {
  display: grid;
  min-width: 930px;
  grid-template-columns: minmax(190px, 1.7fr) repeat(8, minmax(42px, .42fr)) minmax(122px, .9fr);
  align-items: center;
  gap: 5px;
  padding: 9px 10px;
}

body.retro-mode-active.retro-euro-2024-active .euro-2024-best-thirds-head {
  color: var(--euro24-navy);
  background: var(--euro24-yellow);
  font: 900 10px/1 "DM Mono", monospace;
  letter-spacing: .04em;
  text-transform: uppercase;
}

body.retro-mode-active.retro-euro-2024-active .euro-2024-best-thirds-head :is(b, span),
body.retro-mode-active.retro-euro-2024-active .euro-2024-best-thirds-row > b {
  text-align: center;
}

body.retro-mode-active.retro-euro-2024-active .euro-2024-best-thirds-row {
  min-height: 54px;
  border-bottom: 1px solid rgba(214, 225, 255, .18);
  color: var(--euro24-white);
  background: rgba(2, 23, 78, .32);
}

body.retro-mode-active.retro-euro-2024-active .euro-2024-best-thirds-row:nth-child(odd) {
  background: rgba(10, 68, 190, .26);
}

body.retro-mode-active.retro-euro-2024-active .euro-2024-best-thirds-row > span {
  display: grid;
  grid-template-columns: 24px 30px minmax(0, 1fr);
  align-items: center;
  gap: 7px;
}

body.retro-mode-active.retro-euro-2024-active .euro-2024-best-thirds-row > span em {
  color: var(--euro24-muted);
  font: 900 11px "DM Mono", monospace;
  text-align: center;
}

body.retro-mode-active.retro-euro-2024-active .euro-2024-best-thirds-row > span small {
  grid-column: 3;
  color: var(--euro24-muted);
  font-size: 9px;
  text-transform: uppercase;
}

body.retro-mode-active.retro-euro-2024-active .euro-2024-best-thirds-row.qualification-place {
  box-shadow: inset 4px 0 var(--euro24-yellow);
}

body.retro-mode-active.retro-euro-2024-active .euro-2024-best-thirds-row.qualified {
  background: rgba(12, 73, 204, .76);
}

body.retro-mode-active.retro-euro-2024-active .euro-2024-best-thirds-row.eliminated {
  color: #aab8dc;
  opacity: .74;
}

body.retro-mode-active.retro-euro-2024-active .euro-2024-best-thirds-status {
  justify-self: stretch;
  padding: 6px 8px;
  border: 1px solid rgba(255, 255, 255, .22);
  color: var(--euro24-muted);
  font: 900 9px/1.2 "DM Mono", monospace;
  text-align: center;
  text-transform: uppercase;
}

body.retro-mode-active.retro-euro-2024-active .qualification-place .euro-2024-best-thirds-status {
  border-color: var(--euro24-yellow);
  color: var(--euro24-navy);
  background: var(--euro24-yellow);
}

.euro-2024-road {
  overflow: hidden;
  border: 1px solid var(--euro24-line);
  border-bottom: 7px solid var(--euro24-yellow);
  border-radius: 2px;
  background: rgba(5, 37, 112, .92);
  box-shadow: 8px 8px 0 rgba(2, 13, 53, .32);
}

.euro-2024-road > header {
  position: relative;
  min-height: 92px;
  display: grid;
  place-items: center;
  border-bottom: 1px solid rgba(255, 255, 255, .2);
  background:
    linear-gradient(118deg, transparent 0 29%, rgba(255, 255, 255, .08) 29.2% 50%, transparent 50.2%),
    #0750e2;
}

.euro-2024-road > header span {
  color: var(--euro24-white);
  font-size: clamp(22px, 3vw, 38px);
  font-weight: 950;
  text-transform: uppercase;
}

.euro-2024-road > header img {
  position: absolute;
  right: 18px;
  width: 72px;
  height: 72px;
  object-fit: contain;
}

.euro-2024-bracket-scroll {
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  padding: 18px;
  scrollbar-color: var(--euro24-yellow) #061f67;
}

.euro-2024-bracket {
  min-width: 980px;
  min-height: 610px;
  display: grid;
  grid-template-columns: 1.35fr 1fr .92fr .92fr;
  gap: 28px;
  align-items: stretch;
}

.euro-2024-bracket-round {
  min-width: 0;
  display: flex;
  flex-direction: column;
}

.euro-2024-bracket-round h3 {
  height: 30px;
  margin: 0 0 12px;
  color: var(--euro24-yellow);
  font: 900 13px "DM Mono", monospace;
  letter-spacing: .08em;
  text-align: center;
  text-transform: uppercase;
}

.euro-2024-bracket-round > div {
  min-height: 540px;
  display: flex;
  flex: 1;
  flex-direction: column;
  justify-content: space-around;
}

.euro-2024-bracket-match {
  position: relative;
  border: 1px solid rgba(214, 225, 255, .24);
  border-bottom: 4px solid var(--euro24-yellow);
  background: #06266f;
}

.euro-2024-bracket-match::after {
  position: absolute;
  left: 100%;
  top: 50%;
  width: 28px;
  border-top: 3px solid var(--euro24-yellow);
  content: "";
}

.euro-2024-bracket-round-4 .euro-2024-bracket-match::after,
.euro-2024-bracket-round:last-child .euro-2024-bracket-match::after {
  display: none;
}

.euro-2024-bracket-team {
  min-height: 32px;
  display: grid;
  grid-template-columns: 1fr 36px;
  align-items: center;
}

.euro-2024-bracket-team + .euro-2024-bracket-team {
  border-top: 1px solid rgba(214, 225, 255, .18);
}

.euro-2024-bracket-team > span {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 5px 8px;
}

.euro-2024-bracket-team strong {
  overflow: hidden;
  color: var(--euro24-white);
  font-size: 13px;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.euro-2024-bracket-team b {
  align-self: stretch;
  display: grid;
  place-items: center;
  color: var(--euro24-white);
  background: #0b43bf;
  font-size: 18px;
}

.euro-2024-bracket-team.is-winner strong {
  color: var(--euro24-yellow);
}

.euro-2024-road > footer {
  padding: 16px 22px;
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  color: var(--euro24-white);
  background: #061f67;
  text-transform: uppercase;
}

.euro-2024-road > footer strong {
  color: var(--euro24-yellow);
  font-size: clamp(22px, 4vw, 42px);
}

.euro-2024-road > footer span {
  color: var(--euro24-muted);
  font-weight: 700;
}

body.retro-mode-active.retro-euro-2024-active .retro-lineup-tabs {
  overflow: hidden;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  padding: 3px;
  border: 1px solid var(--euro24-line) !important;
  border-radius: 2px !important;
  background: #061f67 !important;
  box-shadow: none !important;
}

body.retro-mode-active.retro-euro-2024-active .retro-lineup-tabs button {
  display: flex !important;
  width: 100% !important;
  min-height: 40px !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: var(--euro24-muted) !important;
  background: #07276f !important;
  box-shadow: none !important;
  transform: none !important;
}

body.retro-mode-active.retro-euro-2024-active .retro-lineup-tabs button:is(.active, [aria-selected="true"]) {
  color: var(--euro24-navy) !important;
  background: var(--euro24-yellow) !important;
  box-shadow: none !important;
}

body.retro-mode-active.retro-euro-2024-active .retro-lineup-tabs button:is(.active, [aria-selected="true"]) * {
  color: inherit !important;
}

body.retro-mode-active.retro-euro-2024-active #mainContent .retro-lineup-side {
  border: 1px solid var(--euro24-line) !important;
  border-radius: 2px !important;
  color: var(--euro24-white) !important;
  background: #052a84 !important;
  box-shadow: none !important;
}

body.retro-mode-active.retro-euro-2024-active #mainContent .retro-lineup-side > header,
body.retro-mode-active.retro-euro-2024-active #mainContent .retro-lineup-side:nth-child(2) > header {
  border-bottom: 1px solid var(--euro24-line) !important;
  color: var(--euro24-white) !important;
  background: #0750e2 !important;
}

body.retro-mode-active.retro-euro-2024-active #mainContent .retro-lineup-side > header small {
  color: var(--euro24-yellow) !important;
}

body.retro-mode-active.retro-euro-2024-active #mainContent .retro-lineup-side > header strong {
  color: var(--euro24-white) !important;
}

body.retro-mode-active.retro-euro-2024-active #mainContent .retro-lineup-side ol {
  background: #052a84 !important;
}

body.retro-mode-active.retro-euro-2024-active #mainContent .retro-lineup-side li {
  border-color: rgba(214, 225, 255, .2) !important;
  color: var(--euro24-white) !important;
  background: transparent !important;
}

body.retro-mode-active.retro-euro-2024-active #mainContent .retro-lineup-side li > b {
  color: var(--euro24-yellow) !important;
}

body.retro-mode-active.retro-euro-2024-active #mainContent .retro-lineup-side li strong {
  color: var(--euro24-white) !important;
}

body.retro-mode-active.retro-euro-2024-active #mainContent .retro-lineup-side li small {
  color: var(--euro24-muted) !important;
}

body.retro-mode-active.retro-euro-2024-active .retro-manager-player {
  border-color: var(--euro24-line) !important;
  color: var(--euro24-white) !important;
  background: #07276f !important;
}

body.retro-mode-active.retro-euro-2024-active .retro-manager-player:is(.is-selected, .is-drop-target) {
  border-color: var(--euro24-yellow) !important;
  box-shadow: inset 4px 0 var(--euro24-yellow) !important;
}

body.retro-mode-active.retro-euro-2024-active .retro-manager-player :is(strong, em),
body.retro-mode-active.retro-euro-2024-active .retro-lineup-side > header :is(strong, small, span, b, em) {
  color: var(--euro24-white) !important;
}

body.retro-mode-active.retro-euro-2024-active .retro-manager-player small,
body.retro-mode-active.retro-euro-2024-active .retro-lineup-workspace > p,
body.retro-mode-active.retro-euro-2024-active .retro-manager-hint {
  color: var(--euro24-muted) !important;
}

body.retro-mode-active.retro-euro-2024-active .retro-manager-player > b,
body.retro-mode-active.retro-euro-2024-active .retro-pitch-player > i,
body.retro-mode-active.retro-euro-2024-active .retro-formation-badge {
  border-radius: 1px !important;
  color: var(--euro24-navy) !important;
  background: var(--euro24-yellow) !important;
}

body.retro-mode-active.retro-euro-2024-active .retro-manager-pitch {
  border: 2px solid rgba(255, 255, 255, .58) !important;
  border-radius: 2px !important;
  background:
    linear-gradient(90deg, transparent 49.6%, rgba(255, 255, 255, .56) 49.8% 50.2%, transparent 50.4%),
    repeating-linear-gradient(90deg, rgba(17, 95, 207, .58) 0 12.5%, rgba(7, 57, 153, .64) 12.5% 25%),
    #083aa6 !important;
}

body.retro-mode-active.retro-euro-2024-active .retro-manager-pitch::before,
body.retro-mode-active.retro-euro-2024-active .retro-manager-pitch::after {
  border-color: rgba(255, 255, 255, .55) !important;
}

body.retro-mode-active.retro-euro-2024-active .retro-pitch-player > b {
  border: 2px solid var(--euro24-white) !important;
  border-radius: 50% !important;
  color: var(--euro24-navy) !important;
  background: var(--euro24-yellow) !important;
  box-shadow: 0 3px 8px rgba(1, 11, 46, .32) !important;
}

body.retro-mode-active.retro-euro-2024-active .retro-pitch-player > span {
  border-radius: 1px !important;
  color: var(--euro24-white) !important;
  background: rgba(4, 18, 58, .88) !important;
}

body.retro-mode-active.retro-euro-2024-active .retro-pitch-sub-counter {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: var(--euro24-white) !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.retro-mode-active.retro-euro-2024-active .retro-pitch-sub-counter > span {
  color: var(--euro24-white) !important;
  background: transparent !important;
  text-shadow: 0 1px 3px rgba(1, 9, 36, .72);
}

body.retro-mode-active.retro-euro-2024-active .retro-pitch-sub-counter.is-pending button {
  border-color: var(--euro24-line) !important;
  color: var(--euro24-white) !important;
  background: #061f67 !important;
  box-shadow: none !important;
}

body.retro-mode-active.retro-euro-2024-active .retro-pitch-sub-counter.is-pending button:last-child {
  border-color: var(--euro24-yellow) !important;
  color: var(--euro24-navy) !important;
  background: var(--euro24-yellow) !important;
}

body.retro-mode-active.retro-euro-2024-active #mainContent .retro-live-ratings-side {
  border-color: var(--euro24-line) !important;
  color: var(--euro24-white) !important;
  background: #061f67 !important;
  box-shadow: none !important;
}

body.retro-mode-active.retro-euro-2024-active #mainContent .retro-live-ratings-side > header {
  border-color: var(--euro24-line) !important;
  color: var(--euro24-white) !important;
  background: #0750e2 !important;
}

body.retro-mode-active.retro-euro-2024-active #mainContent .retro-live-ratings-side > header :is(span, strong) {
  color: var(--euro24-white) !important;
}

body.retro-mode-active.retro-euro-2024-active #mainContent .retro-live-ratings-side > header small {
  color: var(--euro24-yellow) !important;
}

body.retro-mode-active.retro-euro-2024-active #mainContent .retro-live-rating-list {
  background: #052a84 !important;
}

body.retro-mode-active.retro-euro-2024-active #mainContent .retro-live-rating-row {
  border-color: rgba(214, 225, 255, .24) !important;
  color: var(--euro24-white) !important;
  background: #07276f !important;
}

body.retro-mode-active.retro-euro-2024-active #mainContent .retro-live-rating-row :is(strong, span) {
  color: var(--euro24-white) !important;
}

body.retro-mode-active.retro-euro-2024-active #mainContent .retro-live-rating-row small {
  color: var(--euro24-muted) !important;
}

body.retro-mode-active.retro-euro-2024-active #mainContent .retro-live-rating-row > b,
body.retro-mode-active.retro-euro-2024-active #mainContent .retro-live-rating-row > b:is(.is-excellent, .is-good, .is-average) {
  border-color: var(--euro24-yellow) !important;
  color: var(--euro24-yellow) !important;
  background: var(--euro24-navy-strong) !important;
}

body.retro-mode-active.retro-euro-2024-active #mainContent .retro-live-rating-row > b.is-poor {
  border-color: var(--euro24-error) !important;
  color: #ff91aa !important;
  background: #330a2b !important;
}

body.retro-mode-active.retro-euro-2024-active:not(.retro-euro-2024-setup-active) .retro-screen-header :is(.retro-screen-restart, .retro-screen-action) {
  border: 1px solid var(--euro24-line) !important;
  border-radius: 2px !important;
  color: var(--euro24-white) !important;
  background: #07276f !important;
  box-shadow: none !important;
}

body.retro-mode-active.retro-euro-2024-active:not(.retro-euro-2024-setup-active) .retro-screen-header :is(.retro-screen-restart, .retro-screen-action):is(:hover, :focus-visible):not(:disabled) {
  border-color: var(--euro24-yellow) !important;
  color: var(--euro24-navy) !important;
  background: var(--euro24-yellow) !important;
  transform: translateY(-1px);
}

body.retro-mode-active.retro-euro-2024-active :is(
  #settingsModal,
  #bugReportModal,
  #discordModal,
  #retroRestartModal,
  .snapshot-modal,
  #retroAchievementsModal
) {
  border: 1px solid var(--euro24-line) !important;
  border-top: 5px solid var(--euro24-yellow) !important;
  border-radius: 2px !important;
  color: var(--euro24-white) !important;
  background: linear-gradient(145deg, #0a43bd, #061a50) !important;
  box-shadow: 8px 8px 0 rgba(1, 9, 36, .38), 0 24px 64px rgba(1, 9, 36, .58) !important;
}

body.retro-mode-active.retro-euro-2024-active .snapshot-modal .close-modal {
  border: 1px solid var(--euro24-line) !important;
  border-radius: 2px !important;
  color: var(--euro24-white) !important;
  background: #061f67 !important;
  box-shadow: none !important;
  clip-path: none !important;
}

body.retro-mode-active.retro-euro-2024-active .snapshot-modal .close-modal:is(:hover, :focus-visible) {
  border-color: var(--euro24-yellow) !important;
  color: var(--euro24-navy) !important;
  background: var(--euro24-yellow) !important;
}

body.retro-mode-active.retro-euro-2024-active :is(
  #settingsModal,
  #bugReportModal,
  #discordModal,
  #retroRestartModal,
  .snapshot-modal,
  #retroAchievementsModal
)::backdrop {
  background: rgba(1, 9, 36, .82) !important;
  backdrop-filter: blur(5px);
}

body.retro-mode-active.retro-euro-2024-active :is(
  #donateModal,
  #resetModal,
  #simulateRoundModal,
  #savedTournamentDeleteModal,
  #achievementUnlockModal
) {
  border: 1px solid var(--euro24-line) !important;
  border-top: 5px solid var(--euro24-yellow) !important;
  border-radius: 2px !important;
  color: var(--euro24-white) !important;
  background: linear-gradient(145deg, #0a43bd, #061a50) !important;
  box-shadow: 8px 8px 0 var(--euro24-shadow), 0 24px 64px rgba(1, 9, 36, .58) !important;
}

body.retro-mode-active.retro-euro-2024-active :is(
  #donateModal,
  #resetModal,
  #simulateRoundModal,
  #savedTournamentDeleteModal,
  #achievementUnlockModal
)::backdrop {
  background: rgba(1, 9, 36, .82) !important;
  backdrop-filter: blur(5px);
}

body.retro-mode-active.retro-euro-2024-active :is(
  #donateModal,
  #resetModal,
  #simulateRoundModal,
  #savedTournamentDeleteModal,
  #achievementUnlockModal
) :is(h2, h3, strong, p, span) {
  color: var(--euro24-white) !important;
}

body.retro-mode-active.retro-euro-2024-active :is(
  #donateModal,
  #resetModal,
  #simulateRoundModal,
  #savedTournamentDeleteModal,
  #achievementUnlockModal
) :is(.primary-button, .danger-button, .achievement-unlock-action) {
  border-radius: 2px !important;
  color: var(--euro24-navy) !important;
  background: var(--euro24-yellow) !important;
}

body.retro-mode-active.retro-euro-2024-active :is(
  #donateModal,
  #resetModal,
  #simulateRoundModal,
  #savedTournamentDeleteModal,
  #achievementUnlockModal
) :is(.secondary-button, .icon-button) {
  border-color: var(--euro24-line) !important;
  border-radius: 2px !important;
  color: var(--euro24-white) !important;
  background: #061f67 !important;
}

.achievements-screen[data-achievement-theme="euro-2024"],
.retro-achievements-modal[data-achievement-theme="euro-2024"] {
  --achievement-accent: var(--euro24-yellow);
  --achievement-accent-text: var(--euro24-navy);
  --achievement-surface: #082f91;
  --achievement-line: var(--euro24-line);
  color: var(--euro24-white);
  background:
    linear-gradient(124deg, rgba(255, 255, 255, .05) 0 28%, transparent 28.2%),
    linear-gradient(145deg, #0754ef, #07349e 58%, #061a50) !important;
}

.achievements-screen[data-achievement-theme="euro-2024"] :is(
  .achievement-progress-panel,
  .achievement-country-card,
  .achievement-country-grid > *,
  .achievement-year-tabs
),
.retro-achievements-modal[data-achievement-theme="euro-2024"] :is(
  .achievement-progress-panel,
  .achievement-country-card,
  .achievement-country-grid > *,
  .achievement-year-tabs
) {
  border-color: var(--euro24-line) !important;
  border-radius: 2px !important;
  color: var(--euro24-white) !important;
  background: #061f67 !important;
  box-shadow: none !important;
}

.achievements-screen[data-achievement-theme="euro-2024"] .achievement-year-tabs button:is([aria-selected="true"], .is-selected),
.retro-achievements-modal[data-achievement-theme="euro-2024"] .achievement-year-tabs button:is([aria-selected="true"], .is-selected) {
  color: var(--euro24-navy) !important;
  background: var(--euro24-yellow) !important;
}

.achievement-unlock-banner[data-achievement-theme="euro-2024"] {
  border: 1px solid var(--euro24-line) !important;
  border-left: 5px solid var(--euro24-yellow) !important;
  border-radius: 2px !important;
  color: var(--euro24-white) !important;
  background: linear-gradient(135deg, #0754ef, #061a50) !important;
  box-shadow: 6px 6px 0 var(--euro24-shadow) !important;
}

.achievement-unlock-modal[data-achievement-theme="euro-2024"] {
  border: 1px solid var(--euro24-line) !important;
  border-top: 5px solid var(--euro24-yellow) !important;
  border-radius: 2px !important;
  color: var(--euro24-white) !important;
  background: linear-gradient(145deg, #0754ef, #061a50) !important;
  box-shadow: 8px 8px 0 var(--euro24-shadow), 0 24px 64px rgba(1, 9, 36, .58) !important;
}

.achievement-unlock-modal[data-achievement-theme="euro-2024"] :is(h2, p, span) {
  color: var(--euro24-white) !important;
}

.achievement-unlock-modal[data-achievement-theme="euro-2024"] .achievement-unlock-action {
  border-radius: 2px !important;
  color: var(--euro24-navy) !important;
  background: var(--euro24-yellow) !important;
}

body.retro-mode-active.retro-euro-2024-active :is(
  #settingsModal,
  #bugReportModal,
  #discordModal,
  #retroRestartModal,
  .snapshot-modal,
  #retroAchievementsModal
) :is(h2, h3, strong, p, label) {
  color: var(--euro24-white) !important;
}

body.retro-mode-active.retro-euro-2024-active :is(
  #settingsModal .settings-option,
  #settingsModal .settings-keybind-list,
  #settingsModal .settings-keybind-row,
  #settingsModal .settings-keybind-button,
  #settingsModal [data-tournament-theme-option],
  #bugReportModal .bug-report-message,
  .snapshot-preview
) {
  border: 1px solid var(--euro24-line) !important;
  border-radius: 2px !important;
  color: var(--euro24-white) !important;
  background: #061f67 !important;
  box-shadow: none !important;
}

body.retro-mode-active.retro-euro-2024-active #settingsModal :is(.settings-option-copy small, .settings-note, .settings-keybind-row small),
body.retro-mode-active.retro-euro-2024-active #bugReportModal :is(.bug-report-message::placeholder, .bug-report-status) {
  color: var(--euro24-muted) !important;
}

body.retro-mode-active.retro-euro-2024-active :is(
  #settingsModal .icon-button,
  #bugReportModal .bug-report-close,
  #discordModal .discord-modal-close,
  #retroRestartModal .secondary-button,
  .snapshot-actions button
) {
  border: 1px solid var(--euro24-line) !important;
  border-radius: 2px !important;
  color: var(--euro24-white) !important;
  background: #07276f !important;
  box-shadow: none !important;
}

body.retro-mode-active.retro-euro-2024-active :is(
  #bugReportModal .bug-report-submit,
  #discordModal .discord-join-button,
  #retroRestartModal .danger-button,
  .snapshot-actions button:hover
) {
  border: 1px solid var(--euro24-yellow) !important;
  border-radius: 2px !important;
  color: var(--euro24-navy) !important;
  background: var(--euro24-yellow) !important;
  box-shadow: none !important;
}

body.retro-mode-active.retro-euro-2024-active #retroAchievementsModal[data-achievement-theme="euro-2024"] .achievement-year-tabs button[aria-selected="false"] {
  color: var(--euro24-muted) !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.retro-mode-active.retro-euro-2024-active #retroAchievementsModal[data-achievement-theme="euro-2024"] .achievement-year-tabs button[aria-selected="false"]:is(:hover, :focus-visible) {
  color: var(--euro24-white) !important;
  background: #0b43bf !important;
}

body.retro-mode-active.retro-euro-2024-active #retroAchievementsModal[data-achievement-theme="euro-2024"] .achievement-year-tabs button:is(.is-selected, [aria-selected="true"]) {
  color: var(--euro24-navy) !important;
  background: var(--euro24-yellow) !important;
}

body.retro-mode-active.retro-euro-2024-active :is(.toast, .tooltip, [role="tooltip"], .dropdown-menu, .popover) {
  border: 1px solid var(--euro24-line) !important;
  border-radius: 2px !important;
  color: var(--euro24-white) !important;
  background: #061f67 !important;
  box-shadow: 5px 5px 0 rgba(1, 9, 36, .32) !important;
}

body.retro-mode-active.retro-euro-2024-active #mainContent .penalty-stage {
  width: min(760px, calc(100% - 32px));
  padding: 20px 22px 22px;
  border: 1px solid var(--euro24-line) !important;
  border-top: 5px solid var(--euro24-yellow) !important;
  border-radius: 2px !important;
  color: var(--euro24-white) !important;
  background:
    linear-gradient(132deg, transparent 0 34%, rgba(255, 255, 255, .07) 34.2% 55%, transparent 55.2%),
    linear-gradient(145deg, #0b4ad0, #061f67) !important;
  box-shadow: 7px 7px 0 rgba(1, 9, 36, .38) !important;
}

body.retro-mode-active.retro-euro-2024-active #mainContent .penalty-stage-head {
  color: var(--euro24-yellow) !important;
  font-weight: 900;
  letter-spacing: .16em;
}

body.retro-mode-active.retro-euro-2024-active #mainContent .penalty-stage-head strong,
body.retro-mode-active.retro-euro-2024-active #mainContent :is(.penalty-call strong, .penalty-ledgers span) {
  color: var(--euro24-white) !important;
}

body.retro-mode-active.retro-euro-2024-active #mainContent .penalty-stage-head strong :is(i, b.score-pop),
body.retro-mode-active.retro-euro-2024-active #mainContent .penalty-call span {
  color: var(--euro24-yellow) !important;
}

body.retro-mode-active.retro-euro-2024-active #mainContent .penalty-scene {
  border: 1px solid rgba(255, 255, 255, .44) !important;
  border-radius: 1px !important;
  background:
    linear-gradient(180deg, rgba(6, 61, 169, .08), rgba(3, 23, 76, .55)),
    repeating-linear-gradient(90deg, rgba(28, 99, 217, .42) 0 54px, rgba(5, 48, 139, .48) 54px 108px),
    #083aa6 !important;
}

body.retro-mode-active.retro-euro-2024-active #mainContent .penalty-net {
  opacity: .34;
  background:
    repeating-linear-gradient(0deg, transparent 0 13px, #dce7ff 13px 14px),
    repeating-linear-gradient(90deg, transparent 0 18px, #dce7ff 18px 19px) !important;
}

body.retro-mode-active.retro-euro-2024-active #mainContent .penalty-mark {
  width: 13px;
  height: 13px;
  flex: 0 0 13px;
  border: 1px solid var(--euro24-line);
  border-radius: 50% !important;
  background: #061f67 !important;
}

body.retro-mode-active.retro-euro-2024-active #mainContent .penalty-mark.goal {
  border-color: var(--euro24-yellow) !important;
  background: var(--euro24-yellow) !important;
}

body.retro-mode-active.retro-euro-2024-active #mainContent .penalty-mark.miss {
  border-color: #ff5278 !important;
  background: #ff5278 !important;
}

body.retro-mode-active.retro-euro-2024-active #mainContent .standard-penalty-targets button {
  border-color: rgba(255, 212, 0, .52) !important;
  border-radius: 50% !important;
  background: rgba(255, 212, 0, .08) !important;
}

body.retro-mode-active.retro-euro-2024-active #mainContent .standard-penalty-targets button:is(:hover, :focus-visible):not(:disabled) {
  border-color: var(--euro24-yellow) !important;
  background: rgba(255, 212, 0, .24) !important;
}

body.retro-mode-active.retro-euro-2024-active #mainContent .champion-stage {
  min-height: 680px;
  border: 1px solid var(--euro24-line) !important;
  border-top: 6px solid var(--euro24-yellow) !important;
  border-radius: 2px !important;
  color: var(--euro24-white) !important;
  background:
    linear-gradient(139deg, transparent 0 23%, rgba(255, 255, 255, .07) 23.2% 43%, transparent 43.2%),
    radial-gradient(circle at 50% 20%, rgba(63, 125, 255, .52), transparent 28%),
    linear-gradient(145deg, #0754ef 0%, #07349e 52%, #061a50 100%) !important;
  box-shadow: 8px 8px 0 rgba(1, 9, 36, .4) !important;
}

body.retro-mode-active.retro-euro-2024-active #mainContent .champion-stage .trophy,
body.retro-mode-active.retro-euro-2024-active #mainContent .champion-section-label,
body.retro-mode-active.retro-euro-2024-active #mainContent .champion-stage .champion-content > p {
  color: var(--euro24-yellow) !important;
  text-shadow: none !important;
}

body.retro-mode-active.retro-euro-2024-active #mainContent .champion-stage .flag-orb {
  width: clamp(150px, 20vw, 210px);
  height: clamp(96px, 13vw, 132px);
  border: 1px solid rgba(255, 255, 255, .7) !important;
  border-radius: 2px !important;
  background: rgba(4, 18, 58, .5) !important;
  box-shadow: 6px 6px 0 rgba(1, 9, 36, .32) !important;
}

body.retro-mode-active.retro-euro-2024-active #mainContent .champion-stage .flag-orb :is(.hero-flag, img) {
  width: 100% !important;
  height: 100% !important;
  border-radius: 1px !important;
  object-fit: cover;
}

body.retro-mode-active.retro-euro-2024-active #mainContent .champion-stage h2 {
  color: var(--euro24-white) !important;
  font-size: clamp(48px, 8vw, 92px);
  line-height: .98;
  letter-spacing: -.04em;
  text-shadow: 0 4px 0 rgba(1, 9, 36, .36) !important;
}

body.retro-mode-active.retro-euro-2024-active #mainContent :is(.champion-place, .champion-award) {
  border: 1px solid var(--euro24-line) !important;
  border-radius: 2px !important;
  color: var(--euro24-white) !important;
  background: #061f67 !important;
  box-shadow: none !important;
}

body.retro-mode-active.retro-euro-2024-active #mainContent .champion-place.place-1 {
  border-color: var(--euro24-yellow) !important;
  box-shadow: inset 0 4px var(--euro24-yellow) !important;
}

body.retro-mode-active.retro-euro-2024-active #mainContent :is(
  .champion-save-button,
  #championTeamJourney,
  #championReset,
  #snapshotButton
) {
  border: 1px solid #fff16d !important;
  border-radius: 2px !important;
  color: var(--euro24-navy) !important;
  background: var(--euro24-yellow) !important;
  box-shadow: 0 4px 0 #b78e00 !important;
}

.feature-announcement-euro-2024 {
  border: 1px solid rgba(214, 225, 255, .54) !important;
  border-top: 6px solid var(--euro24-yellow) !important;
  border-radius: 2px !important;
  color: var(--euro24-white) !important;
  background: var(--euro24-navy) !important;
  box-shadow: 0 26px 80px rgba(1, 9, 36, .62) !important;
}

.feature-announcement-euro-2024::backdrop {
  background: rgba(1, 9, 36, .84) !important;
  backdrop-filter: blur(6px) saturate(.86);
}

.feature-announcement-euro-2024 .feature-announcement-accent {
  min-height: 205px;
  background:
    linear-gradient(122deg, transparent 0 31%, rgba(255, 255, 255, .08) 31.2% 49%, transparent 49.2%),
    radial-gradient(circle at 50% 50%, rgba(58, 122, 255, .58), transparent 34%),
    linear-gradient(145deg, #0754ef, #07349e 58%, #061a50) !important;
}

.feature-announcement-euro-2024 .feature-announcement-accent::before {
  position: absolute;
  inset: auto 0 0;
  height: 9px;
  content: "";
  background: linear-gradient(90deg, #ef2f61 0 18%, #ff9300 18% 36%, var(--euro24-yellow) 36% 58%, #f8fbff 58% 78%, #6735b8 78%);
}

.feature-announcement-euro-2024-visual {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  padding: 20px;
}

.feature-announcement-euro-2024-visual img {
  width: 148px;
  height: 148px;
  object-fit: contain;
  filter: drop-shadow(0 14px 20px rgba(1, 9, 36, .46));
}

.feature-announcement-euro-2024-wordmark {
  margin-top: 2px;
  color: var(--euro24-white);
  font: 900 12px "DM Mono", monospace;
  letter-spacing: .24em;
}

.feature-announcement-euro-2024 .feature-announcement-label {
  color: var(--euro24-yellow) !important;
}

.feature-announcement-euro-2024 :is(h2, p) {
  color: var(--euro24-white) !important;
}

.feature-announcement-euro-2024 p,
.feature-announcement-euro-2024 .feature-announcement-dismiss {
  color: var(--euro24-muted) !important;
}

.feature-announcement-euro-2024 :is(.feature-announcement-button, .feature-announcement-dismiss) {
  border-radius: 1px !important;
}

.feature-announcement-euro-2024 .feature-announcement-button {
  border: 1px solid #fff16d !important;
  color: var(--euro24-navy) !important;
  background: var(--euro24-yellow) !important;
  box-shadow: 0 5px 0 #b78e00 !important;
}

.profile-tournament-history-card[data-history-theme="euro-2024"] {
  --profile-history-accent: #ffd400;
  --profile-history-surface: #063dc3;
  border: 1px solid rgba(214, 225, 255, .52);
  border-radius: 1px;
  background: linear-gradient(135deg, #052478, #0750e2);
  box-shadow: inset 5px 0 #ffd400, 5px 5px 0 rgba(2, 13, 53, .22);
}

.profile-tournament-history-card[data-history-theme="euro-2024"] .profile-history-edition {
  border-radius: 0;
  color: #071b58;
  background: #ffd400;
}

#championSaveTournament[data-history-theme="euro-2024"] {
  border: 1px solid #fff16d !important;
  border-radius: 1px !important;
  color: #071b58 !important;
  background: #ffd400 !important;
  box-shadow: 0 5px 0 #b78e00 !important;
}

#championSaveTournament[data-history-theme="euro-2024"].is-saved {
  border-color: rgba(214, 225, 255, .65) !important;
  color: #f8fbff !important;
  background: #0750e2 !important;
  box-shadow: 0 5px 0 #021c65 !important;
}

.tournament-history-screen[data-history-theme="euro-2024"] {
  --history-accent: #ffd400;
  --history-accent-strong: #0750e2;
  --history-accent-ink: #071b58;
  --history-bg: #052478;
  --history-bg-deep: #020d35;
  --history-surface: rgba(5, 37, 112, .96);
  --history-surface-soft: rgba(7, 80, 226, .76);
  --history-line: rgba(214, 225, 255, .38);
  --history-text: #f8fbff;
  --history-muted: #b9c8ef;
  background:
    linear-gradient(118deg, transparent 0 44%, rgba(255, 255, 255, .035) 44.2% 57%, transparent 57.2%),
    radial-gradient(circle at 86% 8%, rgba(7, 80, 226, .7), transparent 31%),
    linear-gradient(145deg, #020d35, #052478 58%, #063dc3);
}

.tournament-history-screen[data-history-theme="euro-2024"] .tournament-history-header {
  border-color: rgba(255, 212, 0, .42);
  background: rgba(2, 13, 53, .98);
  backdrop-filter: none;
}

.tournament-history-screen[data-history-theme="euro-2024"] :is(
  .tournament-history-back,
  .tournament-history-brand-mark,
  .tournament-history-hero,
  .tournament-history-summary article,
  .tournament-history-rounds,
  .tournament-history-match,
  .tournament-history-fixture,
  .tournament-history-champion-flag.country-flag,
  .tournament-history-match-flag.country-flag
) {
  border-radius: 1px;
}

.tournament-history-screen[data-history-theme="euro-2024"] .tournament-history-back {
  border-color: rgba(214, 225, 255, .5);
  background: #052478;
}

.tournament-history-screen[data-history-theme="euro-2024"] .tournament-history-brand-mark {
  border: 1px solid #fff16d;
  color: #071b58;
  background: #ffd400;
  box-shadow: inset 0 -5px #ffb800;
}

.tournament-history-screen[data-history-theme="euro-2024"] .tournament-history-hero {
  border: 2px solid #ffd400;
  background: #052478;
  box-shadow: 9px 9px 0 rgba(2, 13, 53, .34);
}

.tournament-history-screen[data-history-theme="euro-2024"] .tournament-history-edition {
  background: linear-gradient(145deg, rgba(255, 212, 0, .1), transparent 58%), #063dc3;
}

.tournament-history-screen[data-history-theme="euro-2024"] .tournament-history-champion {
  background: linear-gradient(115deg, #052478, #0750e2);
}

.tournament-history-screen[data-history-theme="euro-2024"] .tournament-history-summary article {
  border-color: rgba(214, 225, 255, .38);
  background: #052478;
  box-shadow: inset 0 3px #ffd400;
}

.tournament-history-screen[data-history-theme="euro-2024"] :is(
  .tournament-history-rounds,
  .tournament-history-match,
  .tournament-history-fixture
) {
  border-color: rgba(214, 225, 255, .38);
  background: #052478;
  box-shadow: none;
}

.tournament-history-screen[data-history-theme="euro-2024"] .tournament-history-rounds button {
  border-color: rgba(214, 225, 255, .26);
}

.tournament-history-screen[data-history-theme="euro-2024"] .tournament-history-rounds button.is-active,
.tournament-history-screen[data-history-theme="euro-2024"] .tournament-history-fixture.is-selected {
  color: #071b58;
  background: #ffd400;
  box-shadow: inset 5px 0 #ffb800;
}

.tournament-history-screen[data-history-theme="euro-2024"] :is(button, a):focus-visible,
.profile-tournament-history-card[data-history-theme="euro-2024"]:focus-visible,
#championSaveTournament[data-history-theme="euro-2024"]:focus-visible {
  outline: 3px solid #ffd400 !important;
  outline-offset: 3px;
}

body.retro-mode-active.retro-euro-2024-active :is(button, a, input, select, textarea):focus-visible,
.feature-announcement-euro-2024 :is(button, a):focus-visible,
.mode-card-retro[data-retro-competition="euros"][data-retro-edition="2024"] :is(button, input, select):focus-visible {
  outline: 3px solid var(--euro24-yellow) !important;
  outline-offset: 3px;
}

body.retro-mode-active.retro-euro-2024-active :is(button, input, select, textarea):disabled,
.mode-card-retro[data-retro-competition="euros"][data-retro-edition="2024"] button:disabled {
  cursor: not-allowed;
  opacity: .48;
  filter: saturate(.55);
  box-shadow: none !important;
  transform: none !important;
}

@media (hover: hover) and (pointer: fine) {
  body.retro-mode-active.retro-euro-2024-active #mainContent :is(
    .primary-button,
    .play-button,
    .secondary-button,
    .live-control,
    .champion-save-button,
    #championTeamJourney,
    #championReset,
    #snapshotButton
  ):hover:not(:disabled),
  .feature-announcement-euro-2024 .feature-announcement-button:hover {
    background: var(--euro24-yellow-hover) !important;
    transform: translateY(-1px);
  }
}

@media (max-width: 900px) {
  body.retro-mode-active.retro-euro-2024-active .retro-groups-grid {
    grid-template-columns: repeat(2, minmax(220px, 1fr));
  }
}

@media (max-width: 640px) {
  body.retro-mode-active.retro-euro-2024-active .retro-screen-header {
    isolation: isolate;
  }

  body.retro-mode-active.retro-euro-2024-active:not(.retro-euro-2024-setup-active) .retro-tournament-main {
    padding: 40px 12px 22px !important;
  }

  body.retro-mode-active.retro-euro-2024-active .retro-tournament-heading {
    gap: 12px;
    align-items: flex-start;
  }

  body.retro-mode-active.retro-euro-2024-active .retro-view-tabs {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    overflow: visible;
  }

  body.retro-mode-active.retro-euro-2024-active .retro-groups-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .euro-2024-road > header {
    justify-items: start;
    padding-inline: 14px 78px;
  }

  .euro-2024-road > header img {
    right: 12px;
    width: 58px;
    height: 58px;
  }

  .euro-2024-bracket-scroll {
    margin-inline: -8px;
    padding: 14px 8px 18px;
  }

  .euro-2024-road > footer {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
  }

  body.retro-mode-active.retro-euro-2024-active #mainContent .penalty-stage {
    width: calc(100% - 8px);
    padding: 14px 12px 16px;
  }

  body.retro-mode-active.retro-euro-2024-active #mainContent .penalty-scene {
    height: 154px;
  }

  body.retro-mode-active.retro-euro-2024-active #mainContent .champion-stage {
    min-height: 0;
    padding-inline: 14px;
  }

  body.retro-mode-active.retro-euro-2024-active #mainContent .champion-stage h2 {
    font-size: clamp(42px, 16vw, 68px);
  }

  .feature-announcement-euro-2024 .feature-announcement-accent {
    min-height: 174px;
  }

  .feature-announcement-euro-2024-visual img {
    width: 118px;
    height: 118px;
  }
}

@media (max-width: 380px) {
  body.retro-mode-active.retro-euro-2024-active:not(.retro-euro-2024-setup-active) .retro-tournament-main {
    padding-inline: 8px !important;
  }

  body.retro-mode-active.retro-euro-2024-active .retro-view-tabs button {
    padding-inline: 9px;
    font-size: 12px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.retro-mode-active.retro-euro-2024-active *,
  body.retro-mode-active.retro-euro-2024-active *::before,
  body.retro-mode-active.retro-euro-2024-active *::after,
  .feature-announcement-euro-2024 * {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}
/* TotalEnergies CAF Africa Cup of Nations Morocco 2025 ------------------ */
:root {
  --afcon25-canvas: #360008;
  --afcon25-burgundy: #65000e;
  --afcon25-red: #900014;
  --afcon25-card: #ad1228;
  --afcon25-card-dark: #760012;
  --afcon25-green: #00d277;
  --afcon25-green-hover: #32e696;
  --afcon25-white: #fffaf6;
  --afcon25-muted: #e9bdc4;
  --afcon25-line: rgba(255, 250, 246, .22);
  --afcon25-shadow: rgba(28, 0, 5, .48);
}

.mode-card-retro[data-retro-edition="afcon-2025"],
body.retro-afcon-2025-setup-active :is(.mode-route-setup-panel, .retro-route-setup-controls) {
  isolation: isolate;
  overflow: hidden;
  --retro-accent: var(--afcon25-green);
  --retro-accent-text: #052e20;
  border: 1px solid rgba(0, 210, 119, .62) !important;
  border-radius: 2px !important;
  color: var(--afcon25-white) !important;
  background:
    radial-gradient(circle at 102% -8%, transparent 0 42px, rgba(0, 210, 119, .8) 43px 57px, transparent 58px 76px, rgba(180, 17, 41, .9) 77px 93px, transparent 94px),
    radial-gradient(circle at -2% 104%, transparent 0 48px, rgba(0, 210, 119, .7) 49px 63px, transparent 64px),
    linear-gradient(145deg, #a00018, #70000e 58%, #420009) !important;
  box-shadow: 0 18px 42px var(--afcon25-shadow) !important;
}

.mode-card-retro[data-retro-edition="afcon-2025"]::before {
  position: absolute;
  z-index: -1;
  inset: 0;
  content: "";
  opacity: .13;
  background: repeating-linear-gradient(45deg, transparent 0 34px, #fff 35px 36px, transparent 37px 70px);
}

.mode-card-retro[data-retro-edition="afcon-2025"] .retro-mode-heading > img {
  width: 96px;
  height: 96px;
  object-fit: contain;
}

.mode-card-retro[data-retro-edition="afcon-2025"] .retro-year-switch[data-competition="afcon"] {
  grid-template-columns: minmax(0, 1fr);
}

.feature-announcement-afcon-2025 {
  border: 1px solid rgba(0, 210, 119, .68) !important;
  border-top: 6px solid var(--afcon25-green) !important;
  border-radius: 2px !important;
  color: var(--afcon25-white) !important;
  background: linear-gradient(145deg, #920016, #5f000d 72%, #390008) !important;
  box-shadow: 0 26px 80px rgba(28, 0, 5, .7) !important;
}

.feature-announcement-afcon-2025::backdrop {
  background: rgba(28, 0, 5, .86) !important;
  backdrop-filter: blur(6px) saturate(.9);
}

.feature-announcement-afcon-2025 .feature-announcement-accent {
  min-height: 205px;
  background:
    radial-gradient(circle at 105% -5%, transparent 0 54px, rgba(0, 210, 119, .9) 55px 72px, transparent 73px),
    radial-gradient(circle at -4% 108%, transparent 0 46px, rgba(0, 210, 119, .72) 47px 62px, transparent 63px),
    repeating-linear-gradient(45deg, transparent 0 35px, rgba(255, 255, 255, .06) 36px 37px, transparent 38px 70px),
    linear-gradient(145deg, #b0001d, #780010 62%, #4b0009) !important;
}

.feature-announcement-afcon-2025-visual {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  padding: 18px;
}

.feature-announcement-afcon-2025-visual img {
  width: 190px;
  height: 190px;
  object-fit: contain;
  filter: drop-shadow(0 14px 22px rgba(28, 0, 5, .56));
}

.feature-announcement-afcon-2025 .feature-announcement-label {
  color: var(--afcon25-green) !important;
}

.feature-announcement-afcon-2025 :is(h2, p) {
  color: var(--afcon25-white) !important;
}

.feature-announcement-afcon-2025 p,
.feature-announcement-afcon-2025 .feature-announcement-dismiss {
  color: var(--afcon25-muted) !important;
}

.feature-announcement-afcon-2025 :is(.feature-announcement-button, .feature-announcement-dismiss) {
  border-radius: 12px !important;
}

.feature-announcement-afcon-2025 .feature-announcement-button {
  border: 1px solid #8fffc3 !important;
  color: #052e20 !important;
  background: var(--afcon25-green) !important;
  box-shadow: 0 5px 0 #007a46 !important;
}

.feature-announcement-afcon-2025 .feature-announcement-button:is(:hover, :focus-visible) {
  background: var(--afcon25-green-hover) !important;
}

.mode-card-retro[data-retro-edition="afcon-2025"] :is(h3, strong, .landing-settings-label, .landing-settings-summary),
body.retro-afcon-2025-setup-active :is(h1, h2, h3, strong, .landing-settings-label) {
  color: var(--afcon25-white) !important;
}

.mode-card-retro[data-retro-edition="afcon-2025"] :is(.retro-competition-switch, .retro-year-switch, .landing-segmented, .retro-team-picker),
body.retro-afcon-2025-setup-active .retro-route-setup-controls :is(.segmented, .retro-team-picker, .landing-segmented) {
  border: 1px solid var(--afcon25-line) !important;
  border-radius: 1px !important;
  color: var(--afcon25-white) !important;
  background: rgba(73, 0, 11, .84) !important;
}

.mode-card-retro[data-retro-edition="afcon-2025"] :is(button.active, button[aria-pressed="true"], .retro-team-mark),
body.retro-afcon-2025-setup-active .retro-route-setup-controls :is(button.active, button[aria-pressed="true"]) {
  color: #052e20 !important;
  background: var(--afcon25-green) !important;
}

.mode-card-retro[data-retro-edition="afcon-2025"] .retro-start-button:not(:disabled),
body.retro-afcon-2025-setup-active .retro-start-button:not(:disabled) {
  border: 1px solid #8fffc3 !important;
  border-radius: 1px !important;
  color: #052e20 !important;
  background: var(--afcon25-green) !important;
  box-shadow: 0 4px 0 #007a46 !important;
}

.mode-card-retro[data-retro-edition="afcon-2025"] .retro-start-button:not(:disabled):is(:hover, :focus-visible) {
  background: var(--afcon25-green-hover) !important;
}

body.retro-afcon-2025-setup-active #spectateModal,
body.retro-mode-active.retro-afcon-2025-active :is(dialog, .modal-panel) {
  border: 1px solid var(--afcon25-line) !important;
  border-top: 4px solid var(--afcon25-green) !important;
  border-radius: 2px !important;
  color: var(--afcon25-white) !important;
  background: linear-gradient(145deg, #980018, #4a000a) !important;
  box-shadow: 8px 8px 0 var(--afcon25-shadow), 0 24px 64px rgba(24, 0, 4, .68) !important;
}

body.retro-afcon-2025-setup-active #spectateModal::backdrop,
body.retro-mode-active.retro-afcon-2025-active dialog::backdrop {
  background: rgba(32, 0, 5, .82) !important;
  backdrop-filter: blur(5px);
}

body.retro-afcon-2025-setup-active #spectateModal :is(.prediction-option, input, .prediction-modal-search),
body.retro-mode-active.retro-afcon-2025-active :is(input, select, textarea, .dropdown-menu) {
  border: 1px solid var(--afcon25-line) !important;
  border-radius: 1px !important;
  color: var(--afcon25-white) !important;
  background: #5a000d !important;
}

body.retro-afcon-2025-setup-active #spectateModal .prediction-option:is(:hover, :focus-visible, .selected) {
  border-color: var(--afcon25-green) !important;
  background: #8d0015 !important;
  box-shadow: inset 4px 0 var(--afcon25-green) !important;
}

body.retro-afcon-2025-setup-active #spectateModal,
body.retro-afcon-2025-setup-active #spectateModal .prediction-list {
  overflow-x: hidden !important;
}

body.retro-afcon-2025-setup-active #spectateModal .close-modal,
body.retro-mode-active.retro-afcon-2025-active :is(.close-modal, .modal-close, [data-close-modal]) {
  border: 1px solid var(--afcon25-line) !important;
  border-radius: 1px !important;
  color: var(--afcon25-white) !important;
  background: #69000f !important;
  box-shadow: none !important;
  clip-path: none !important;
}

body.retro-afcon-2025-setup-active #spectateModal .close-modal:is(:hover, :focus-visible),
body.retro-mode-active.retro-afcon-2025-active :is(.close-modal, .modal-close, [data-close-modal]):is(:hover, :focus-visible) {
  border-color: var(--afcon25-green) !important;
  color: #052e20 !important;
  background: var(--afcon25-green) !important;
}

body.retro-mode-active.retro-afcon-2025-active {
  color: var(--afcon25-white);
  background: var(--afcon25-canvas) !important;
}

body.retro-mode-active.retro-afcon-2025-active .retro-tournament-screen {
  min-height: 100vh;
  color: var(--afcon25-white);
  background:
    radial-gradient(circle at 102% 5%, transparent 0 88px, rgba(0, 210, 119, .24) 89px 112px, transparent 113px 142px, rgba(177, 13, 37, .42) 143px 165px, transparent 166px),
    radial-gradient(circle at -4% 96%, transparent 0 108px, rgba(0, 210, 119, .2) 109px 132px, transparent 133px),
    linear-gradient(150deg, #8d0013 0%, #65000d 58%, #390007 100%) !important;
}

body.retro-mode-active.retro-afcon-2025-active .retro-tournament-screen::before {
  position: fixed;
  z-index: 0;
  inset: 0;
  content: "";
  pointer-events: none;
  opacity: .1;
  background:
    repeating-linear-gradient(60deg, transparent 0 78px, rgba(255, 255, 255, .16) 79px 80px, transparent 81px 158px),
    repeating-linear-gradient(-60deg, transparent 0 78px, rgba(0, 210, 119, .12) 79px 80px, transparent 81px 158px);
}

body.retro-mode-active.retro-afcon-2025-active :is(.retro-screen-header, .retro-tournament-main) {
  position: relative;
  z-index: 1;
}

body.retro-mode-active.retro-afcon-2025-active .retro-tournament-main::before {
  content: none !important;
}

body.retro-mode-active.retro-afcon-2025-active .retro-screen-header {
  border-bottom: 4px solid var(--afcon25-green);
  color: var(--afcon25-white);
  background: rgba(73, 0, 11, .96);
  box-shadow: 0 12px 30px var(--afcon25-shadow);
}

body.retro-mode-active.retro-afcon-2025-active :is(.retro-screen-brand, .retro-tournament-heading h1, .retro-tournament-heading span, .retro-tournament-progress) {
  color: var(--afcon25-white) !important;
}

body.retro-mode-active.retro-afcon-2025-active .retro-tournament-heading > div:first-child {
  color: var(--afcon25-green) !important;
}

body.retro-mode-active.retro-afcon-2025-active .retro-view-tabs {
  border: 1px solid var(--afcon25-line);
  border-radius: 1px;
  background: rgba(71, 0, 10, .88);
}

body.retro-mode-active.retro-afcon-2025-active .retro-view-tabs button {
  border-radius: 0;
  color: var(--afcon25-muted);
  background: transparent;
}

body.retro-mode-active.retro-afcon-2025-active .retro-view-tabs button:is(:hover, :focus-visible):not(.active) {
  color: var(--afcon25-white);
  background: #850014;
}

body.retro-mode-active.retro-afcon-2025-active .retro-view-tabs button.active {
  color: #052e20;
  background: var(--afcon25-green);
  box-shadow: inset 0 -4px #007a46;
}

body.retro-mode-active.retro-afcon-2025-active #mainContent :is(.match-stage, .round-board, .match-analysis),
body.retro-mode-active.retro-afcon-2025-active :is(.retro-match-lineups-panel, .retro-lineup-tabs, .retro-manager-lineup, .retro-manager-section, .retro-manager-pitch-box, .retro-squad-view, .retro-squad-position-group) {
  border: 1px solid var(--afcon25-line) !important;
  border-radius: 2px !important;
  color: var(--afcon25-white) !important;
  background: rgba(91, 0, 13, .94) !important;
  box-shadow: 7px 7px 0 rgba(47, 0, 7, .34) !important;
}

body.retro-mode-active.retro-afcon-2025-active #mainContent :is(.panel-heading, .match-analysis-heading),
body.retro-mode-active.retro-afcon-2025-active :is(.retro-manager-lineup > header, .retro-squad-heading, .retro-squad-position-group > h2) {
  border-bottom: 1px solid var(--afcon25-line) !important;
  color: var(--afcon25-white) !important;
  background: var(--afcon25-card-dark) !important;
}

body.retro-mode-active.retro-afcon-2025-active #mainContent :is(.fixture, .team, .retro-manager-player, .retro-live-rating-row, .standard-tactic-buttons button),
body.retro-mode-active.retro-afcon-2025-active :is(.retro-squad-player, .retro-lineup-side, .retro-lineup-tabs button) {
  border: 1px solid rgba(255, 250, 246, .17) !important;
  border-radius: 1px !important;
  color: var(--afcon25-white) !important;
  background: var(--afcon25-card) !important;
}

body.retro-mode-active.retro-afcon-2025-active #mainContent .fixture:is(:hover, .selected),
body.retro-mode-active.retro-afcon-2025-active :is(.retro-manager-player.is-selected, .retro-manager-player.is-drop-target, .retro-lineup-tabs button.active) {
  border-color: var(--afcon25-green) !important;
  background: #c11a31 !important;
  box-shadow: inset 4px 0 var(--afcon25-green) !important;
}

body.retro-mode-active.retro-afcon-2025-active .bracket-result-label {
  display: block;
  margin-top: .4rem;
  color: var(--afcon25-green) !important;
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-align: center;
  text-transform: uppercase;
}

body.retro-mode-active.retro-afcon-2025-active #mainContent :is(.event-live-clock, .score-live-clock, #eventLiveClock, .match-management-counter, .substitution-counter, .stoppage-counter) {
  border: 0 !important;
  color: var(--afcon25-white) !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.retro-mode-active.retro-afcon-2025-active #mainContent :is(.event-live-clock, .score-live-clock, #eventLiveClock) * {
  color: var(--afcon25-white) !important;
  background: transparent !important;
}

body.retro-mode-active.retro-afcon-2025-active #mainContent :is(.stage-round, #goldenBootTitle, .retro-squad-heading em, .retro-squad-heading small, .retro-squad-position-group > h2 span, .retro-squad-player > b, .retro-squad-player > em, .retro-manager-section-title span) {
  border-color: var(--afcon25-green) !important;
  color: var(--afcon25-green) !important;
}

body.retro-mode-active.retro-afcon-2025-active #mainContent :is(.standard-match-tactics, .standard-tactic-buttons) {
  border-color: var(--afcon25-line) !important;
  color: var(--afcon25-white) !important;
  background: #65000e !important;
}

body.retro-mode-active.retro-afcon-2025-active #mainContent :is(.history-round-button, .history-round-button.active) {
  border-color: var(--afcon25-green) !important;
  color: #052e20 !important;
  background: var(--afcon25-green) !important;
}

body.retro-mode-active.retro-afcon-2025-active .retro-lineup-tabs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
}

body.retro-mode-active.retro-afcon-2025-active .retro-lineup-tabs button,
body.retro-mode-active.retro-afcon-2025-active #mainContent .retro-lineup-side {
  width: 100%;
  margin: 0;
  padding-inline: 1rem;
  text-align: center;
}

body.retro-mode-active.retro-afcon-2025-active #mainContent .retro-manager-pitch {
  border: 2px solid rgba(255, 250, 246, .7) !important;
  border-radius: 1px !important;
  background: repeating-linear-gradient(90deg, #087543 0 12.5%, #0b824b 12.5% 25%) !important;
}

body.retro-mode-active.retro-afcon-2025-active #mainContent .retro-pitch-player > b,
body.retro-mode-active.retro-afcon-2025-active #mainContent .retro-live-rating-row > b {
  border: 1px solid #8fffc3 !important;
  color: #052e20 !important;
  background: var(--afcon25-green) !important;
}

body.retro-mode-active.retro-afcon-2025-active .afcon-2025-section-title {
  border-left: 8px solid var(--afcon25-green);
  padding: .75rem 1rem;
  color: var(--afcon25-white);
  background: rgba(87, 0, 13, .9);
}

body.retro-mode-active.retro-afcon-2025-active .afcon-2025-section-title > span,
body.retro-mode-active.retro-afcon-2025-active :is(.retro-group-table h2, .afcon-2025-best-thirds h2) {
  color: var(--afcon25-green) !important;
}

body.retro-mode-active.retro-afcon-2025-active .retro-groups-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

body.retro-mode-active.retro-afcon-2025-active :is(.retro-group-table, .afcon-2025-best-thirds) {
  overflow-x: auto;
  border: 1px solid rgba(0, 210, 119, .5);
  border-radius: 1px;
  color: var(--afcon25-white);
  background: #700010;
  box-shadow: 7px 7px 0 rgba(45, 0, 7, .3);
}

body.retro-mode-active.retro-afcon-2025-active .retro-group-table :is(.retro-table-head.is-full-table, .retro-table-row) {
  display: grid;
  grid-template-columns: minmax(130px, 1.8fr) repeat(8, minmax(26px, .42fr)) minmax(104px, 1.25fr);
  min-width: 530px;
  align-items: center;
  gap: .2rem;
  padding: .65rem .7rem;
}

body.retro-mode-active.retro-afcon-2025-active .retro-group-table .retro-table-row > span {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: .45rem;
}

body.retro-mode-active.retro-afcon-2025-active .retro-group-table :is(.retro-table-head, .retro-table-row) > :not(:first-child) {
  text-align: center;
}

body.retro-mode-active.retro-afcon-2025-active .afcon-table-status {
  overflow-wrap: normal;
  word-break: normal;
  font-size: .62rem;
  line-height: 1.2;
  text-align: center;
}

body.retro-mode-active.retro-afcon-2025-active :is(.retro-table-head, .afcon-2025-best-thirds-head) {
  color: var(--afcon25-white) !important;
  background: #4c000b !important;
}

body.retro-mode-active.retro-afcon-2025-active :is(.retro-table-row, .afcon-2025-best-thirds-row) {
  border-top: 1px solid rgba(255, 250, 246, .13);
  color: var(--afcon25-white);
  background: #a40e24;
}

body.retro-mode-active.retro-afcon-2025-active :is(.retro-table-row.qualified, .retro-table-row.best-third-qualified, .afcon-2025-best-thirds-row.qualified) {
  box-shadow: inset 5px 0 var(--afcon25-green);
}

body.retro-mode-active.retro-afcon-2025-active :is(.retro-table-row.is-eliminated, .afcon-2025-best-thirds-row.eliminated) {
  opacity: .64;
}

body.retro-mode-active.retro-afcon-2025-active .afcon-2025-best-thirds-table,
body.retro-mode-active.retro-afcon-2025-active .afcon-2025-bracket-scroll {
  overflow-x: auto;
  scrollbar-color: var(--afcon25-green) #4d000b;
}

body.retro-mode-active.retro-afcon-2025-active :is(.afcon-2025-best-thirds-head, .afcon-2025-best-thirds-row) {
  display: grid;
  grid-template-columns: minmax(13rem, 2fr) repeat(8, minmax(2.6rem, .55fr)) minmax(8rem, 1.2fr);
  min-width: 760px;
  align-items: center;
  gap: .35rem;
  padding: .7rem .8rem;
}

body.retro-mode-active.retro-afcon-2025-active .afcon-2025-bracket {
  display: grid;
  grid-template-columns: repeat(4, minmax(230px, 1fr));
  min-width: 1040px;
  gap: 1.25rem;
  padding: 1rem;
}

body.retro-mode-active.retro-afcon-2025-active .afcon-2025-bracket-round {
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  gap: 1rem;
}

body.retro-mode-active.retro-afcon-2025-active .afcon-2025-bracket-match {
  position: relative;
  border: 1px solid rgba(255, 250, 246, .22);
  border-left: 4px solid var(--afcon25-green);
  border-radius: 1px;
  background: #930016;
  box-shadow: 5px 5px 0 rgba(43, 0, 6, .32);
}

body.retro-mode-active.retro-afcon-2025-active .afcon-2025-bracket-team {
  display: grid;
  grid-template-columns: 30px 1fr auto;
  align-items: center;
  gap: .5rem;
  min-height: 42px;
  padding: .5rem .65rem;
  color: var(--afcon25-white);
}

body.retro-mode-active.retro-afcon-2025-active .retro-third-place-playoff {
  border: 1px solid var(--afcon25-line) !important;
  border-top: 4px solid var(--afcon25-green) !important;
  border-radius: 1px !important;
  color: var(--afcon25-white) !important;
  background: var(--afcon25-card-dark) !important;
}

body.retro-mode-active.retro-afcon-2025-active .retro-third-place-card .fixture {
  border-left: 4px solid var(--afcon25-green) !important;
  background: var(--afcon25-card) !important;
}

body.retro-mode-active.retro-afcon-2025-active #mainContent .penalty-stage {
  border: 1px solid var(--afcon25-line) !important;
  border-radius: 2px !important;
  color: var(--afcon25-white) !important;
  background: linear-gradient(150deg, #8e0015, #4b000b) !important;
}

body.retro-mode-active.retro-afcon-2025-active #mainContent :is(.penalty-mark, .standard-penalty-targets button) {
  aspect-ratio: 1;
  border-radius: 50% !important;
}

body.retro-mode-active.retro-afcon-2025-active #mainContent .penalty-mark.goal {
  color: #052e20;
  background: var(--afcon25-green) !important;
}

body.retro-mode-active.retro-afcon-2025-active #mainContent .champion-stage {
  border: 1px solid rgba(0, 210, 119, .65) !important;
  border-radius: 2px !important;
  color: var(--afcon25-white) !important;
  background:
    radial-gradient(circle at 50% 0, rgba(0, 210, 119, .25), transparent 38%),
    linear-gradient(145deg, #980018, #4b000a) !important;
}

body.retro-mode-active.retro-afcon-2025-active #mainContent .champion-stage :is(.trophy, .champion-section-label, .champion-content > p),
body.retro-mode-active.retro-afcon-2025-active #mainContent .champion-stage h2 {
  color: var(--afcon25-white) !important;
}

body.retro-mode-active.retro-afcon-2025-active #mainContent :is(.champion-place, .champion-award) {
  border: 1px solid rgba(255, 250, 246, .18) !important;
  border-radius: 1px !important;
  background: var(--afcon25-card) !important;
}

body.retro-mode-active.retro-afcon-2025-active :is(.primary-button, .retro-screen-action):not(:disabled),
.retro-achievements-modal[data-achievement-theme="afcon-2025"] :is(.primary-button, .achievement-progress-fill) {
  border-color: #8fffc3 !important;
  color: #052e20 !important;
  background: var(--afcon25-green) !important;
}

body.retro-mode-active.retro-afcon-2025-active :is(.secondary-button, .retro-screen-restart, .destructive-button) {
  border: 1px solid var(--afcon25-line) !important;
  border-radius: 1px !important;
  color: var(--afcon25-white) !important;
  background: #770011 !important;
}

.retro-achievements-modal[data-achievement-theme="afcon-2025"],
[data-achievement-theme="afcon-2025"] {
  --achievement-accent: var(--afcon25-green);
  border-color: rgba(0, 210, 119, .6) !important;
  color: var(--afcon25-white) !important;
  background: linear-gradient(145deg, #950016, #47000a) !important;
}

.retro-achievements-modal[data-achievement-theme="afcon-2025"] .achievement-year-tabs button:is([aria-selected="true"], .is-selected) {
  color: #052e20 !important;
  background: var(--afcon25-green) !important;
}

body.retro-mode-active.retro-afcon-2025-active :is(button, a, input, select, textarea):focus-visible,
body.retro-afcon-2025-setup-active :is(button, a, input, select, textarea):focus-visible {
  outline: 3px solid var(--afcon25-green) !important;
  outline-offset: 3px;
}

body.retro-mode-active.retro-afcon-2025-active :is(button, input, select, textarea):disabled {
  cursor: not-allowed;
  opacity: .55;
  color: #c798a0 !important;
  background: #4d1821 !important;
}

/* AFCON interaction polish: keep the shared Brazil 2014 geometry out of this edition. */
body.retro-mode-active.retro-afcon-2025-active #mainContent .matchup > .team {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

body.retro-mode-active.retro-afcon-2025-active #mainContent .matchup > .team .flag-orb,
body.retro-mode-active.retro-afcon-2025-active #mainContent .matchup > .team .country-flag {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.retro-mode-active.retro-afcon-2025-active #mainContent :is(
  .primary-button,
  .play-button,
  .secondary-button,
  .stage-action,
  .text-button,
  .history-round-button,
  .load-more,
  .go-to-top,
  #simulateRoundButton,
  #unresolvedFilter
) {
  border-radius: 10px !important;
  clip-path: none !important;
  box-shadow: none !important;
}

body.retro-mode-active.retro-afcon-2025-active #mainContent .live-control {
  border: 1px solid #8fffc3 !important;
  border-radius: 999px !important;
  color: #052e20 !important;
  background: var(--afcon25-green) !important;
  background-image: none !important;
  box-shadow: none !important;
  clip-path: none !important;
}

body.retro-mode-active.retro-afcon-2025-active #mainContent .live-control:is(:hover, :focus-visible):not(:disabled) {
  background: var(--afcon25-green-hover) !important;
}

body.retro-mode-active.retro-afcon-2025-active #mainContent #teamFilterControl.team-filter-control {
  overflow: visible !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.retro-mode-active.retro-afcon-2025-active #mainContent #teamFilterControl .team-filter-search {
  overflow: hidden !important;
  min-height: 40px;
  border: 1px solid rgba(143, 255, 195, .7) !important;
  border-radius: 10px !important;
  color: var(--afcon25-green) !important;
  background: #5a000d !important;
  box-shadow: none !important;
  clip-path: none !important;
}

body.retro-mode-active.retro-afcon-2025-active #mainContent #teamFilterControl .team-filter-search input {
  padding-inline: 8px !important;
  border: 0 !important;
  border-radius: 0 !important;
  outline: 0 !important;
  color: var(--afcon25-white) !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.retro-mode-active.retro-afcon-2025-active #mainContent #teamFilterControl .team-filter-search input::placeholder {
  color: var(--afcon25-muted) !important;
  opacity: 1;
}

body.retro-mode-active.retro-afcon-2025-active #mainContent #teamFilterControl .team-filter-search:focus-within {
  border-color: var(--afcon25-green) !important;
  box-shadow: 0 0 0 3px rgba(0, 210, 119, .18) !important;
}

[data-achievement-theme="afcon-2025"] .achievement-year-tabs {
  display: flex !important;
  flex-wrap: wrap;
  gap: 6px;
}

[data-achievement-theme="afcon-2025"] .achievement-year-tabs button {
  flex: 0 0 auto;
  min-width: max-content !important;
  padding-inline: 14px !important;
  border-radius: 8px !important;
  white-space: nowrap;
}

[data-achievement-theme="afcon-2025"] .achievements-mode-label {
  color: var(--afcon25-green) !important;
}

@media (max-width: 820px) {
  body.retro-mode-active.retro-afcon-2025-active .retro-groups-grid {
    grid-template-columns: 1fr;
  }

  body.retro-mode-active.retro-afcon-2025-active .retro-tournament-main {
    width: 100%;
    padding-inline: .7rem;
  }

  body.retro-mode-active.retro-afcon-2025-active.retro-afcon-2025-setup-active .retro-tournament-main {
    padding-inline: 0;
  }

  body.retro-mode-active.retro-afcon-2025-active .retro-view-tabs {
    overflow-x: auto;
  }

  body.retro-mode-active.retro-afcon-2025-active :is(.retro-group-table, .afcon-2025-best-thirds) {
    overflow-x: auto;
  }

  [data-achievement-theme="afcon-2025"] .achievement-year-tabs {
    flex-wrap: nowrap;
    overflow-x: auto;
  }
}
/* Canvas match visualiser. Kept at the end of the cascade so tournament skins
   can frame the panel without recolouring the pitch itself. */
.match-pitch-shell[hidden],
.match-2d-viewer[hidden] {
  display: none !important;
}

.match-pitch-shell {
  --match-pitch-border: rgba(255, 255, 255, 0.1);
  --match-pitch-muted: rgba(225, 237, 229, 0.64);
  --match-pitch-ease-out: cubic-bezier(0.23, 1, 0.32, 1);
  width: 100%;
  max-width: 640px;
  margin: 20px auto 18px;
  box-sizing: border-box;
  overflow: hidden;
  border: 1px solid var(--match-pitch-border);
  border-radius: 13px;
  background:
    radial-gradient(circle at 50% -30%, rgba(62, 118, 84, 0.12), transparent 52%),
    linear-gradient(180deg, rgba(13, 24, 20, 0.99), rgba(6, 14, 11, 0.99));
  box-shadow:
    0 18px 44px rgba(0, 0, 0, 0.22),
    0 3px 10px rgba(0, 0, 0, 0.15),
    inset 0 1px rgba(255, 255, 255, 0.05);
  color: #f6faf7;
}

.match-pitch-shell-header {
  position: relative;
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 7px 9px 7px 13px;
}

.match-pitch-shell:has(.match-2d-viewer:not([hidden])) .match-pitch-shell-header::after {
  content: "";
  position: absolute;
  right: 10px;
  bottom: 0;
  left: 10px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.08) 12%, rgba(255, 255, 255, 0.08) 88%, transparent);
}

.match-pitch-shell-title {
  min-width: 0;
  display: grid;
  gap: 2px;
}

.match-pitch-shell-title > span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #91a89b;
  font-size: 0.61rem;
  font-weight: 850;
  letter-spacing: 0.14em;
}

.match-pitch-shell-title > span i {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #4dd689;
  box-shadow: 0 0 0 3px rgba(77, 214, 137, 0.12), 0 0 10px rgba(77, 214, 137, 0.22);
}

.match-pitch-shell-title > strong {
  grid-row: 1;
  overflow: hidden;
  color: #f7faf8;
  font-size: 0.86rem;
  font-weight: 760;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.match-pitch-toggle {
  min-width: 100px;
  min-height: 36px;
  padding: 0 14px;
  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.065);
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.06), 0 1px 3px rgba(0, 0, 0, 0.12);
  color: #f4f8f5;
  font: inherit;
  font-size: 0.76rem;
  font-weight: 800;
  cursor: pointer;
  transition: transform 140ms var(--match-pitch-ease-out), background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

.match-pitch-toggle:active,
.match-highlight-mode button:active,
.match-pitch-speed button:active {
  transform: scale(0.97);
}

.match-pitch-toggle:focus-visible,
.match-highlight-mode button:focus-visible,
.match-pitch-speed button:focus-visible {
  outline: 2px solid rgba(220, 255, 234, 0.96);
  outline-offset: 2px;
}

@media (hover: hover) and (pointer: fine) {
  .match-pitch-toggle:hover {
    border-color: rgba(255, 255, 255, 0.24);
    background: rgba(255, 255, 255, 0.11);
    box-shadow: inset 0 1px rgba(255, 255, 255, 0.075), 0 3px 10px rgba(0, 0, 0, 0.16);
  }
}

.match-2d-viewer {
  width: 100% !important;
  margin: 0 !important;
  padding: 7px 9px 9px !important;
  box-sizing: border-box !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  animation: match-pitch-reveal 200ms var(--match-pitch-ease-out) both !important;
}

@keyframes match-pitch-reveal {
  from { opacity: 0; transform: translateY(-4px) scale(0.995); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

.match-2d-toolbar {
  min-height: 30px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  padding: 0 1px 6px !important;
  border: 0 !important;
  background: transparent !important;
}

.match-2d-toolbar > span {
  color: #96aa9e !important;
  font-size: 0.61rem !important;
  font-weight: 850 !important;
  letter-spacing: 0.12em !important;
}

.match-highlight-mode {
  display: inline-flex !important;
  align-items: center;
  gap: 3px;
  padding: 3px !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 9px !important;
  background: rgba(255, 255, 255, 0.035) !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.025) !important;
}

.match-highlight-mode button {
  min-height: 27px !important;
  padding: 0 9px !important;
  border: 0 !important;
  border-radius: 6px !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #819287 !important;
  font: inherit !important;
  font-size: 0.61rem !important;
  font-weight: 760 !important;
  cursor: pointer;
  transition: transform 140ms var(--match-pitch-ease-out), background-color 160ms ease, color 160ms ease !important;
}

.match-highlight-mode button[aria-pressed="true"],
.match-highlight-mode button.active {
  background: rgba(121, 207, 157, 0.14) !important;
  color: #effaf3 !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.055) !important;
}

@media (hover: hover) and (pointer: fine) {
  .match-highlight-mode button:hover:not([aria-pressed="true"]):not(.active) {
    background: rgba(255, 255, 255, 0.055) !important;
    color: #c9d8cf !important;
  }
}

.match-2d-pitch {
  position: relative !important;
  width: 100% !important;
  aspect-ratio: 105 / 68 !important;
  min-height: 0 !important;
  overflow: hidden !important;
  border: 1px solid rgba(218, 239, 226, 0.2) !important;
  border-radius: 9px !important;
  background: #1a4a2e !important;
  box-shadow:
    inset 0 0 0 1px rgba(3, 15, 9, 0.24),
    0 1px rgba(255, 255, 255, 0.035),
    0 12px 28px rgba(0, 0, 0, 0.24) !important;
  isolation: isolate;
}

.match-2d-pitch::before,
.match-2d-pitch::after {
  content: none !important;
}

#matchPitchCanvas,
[data-career-pitch-canvas] {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  outline: none;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}

#matchPitchCanvas:focus-visible,
[data-career-pitch-canvas]:focus-visible {
  box-shadow: inset 0 0 0 3px rgba(255, 255, 255, 0.92), inset 0 0 0 6px rgba(8, 33, 20, 0.92);
}

.match-2d-event {
  position: absolute !important;
  z-index: 4 !important;
  left: 50% !important;
  top: 10px !important;
  max-width: calc(100% - 30px);
  padding: 7px 11px !important;
  border: 1px solid rgba(255, 255, 255, 0.22) !important;
  border-radius: 999px !important;
  background: rgba(4, 12, 8, 0.88) !important;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.28), inset 0 1px rgba(255, 255, 255, 0.07) !important;
  color: #fff !important;
  font-size: clamp(0.68rem, 2.4vw, 0.84rem) !important;
  font-weight: 900 !important;
  letter-spacing: 0.085em !important;
  line-height: 1 !important;
  text-align: center;
  transform: translateX(-50%) !important;
  pointer-events: none;
  backdrop-filter: blur(6px);
  animation: match-pitch-event-enter 180ms var(--match-pitch-ease-out) both;
}

.match-2d-event[data-type="goal"] {
  border-color: rgba(255, 224, 137, 0.58) !important;
  background: rgba(48, 35, 9, 0.9) !important;
  color: #fff1ba !important;
}

.match-2d-event[data-type="shot_saved"],
.match-2d-event[data-type="corner"] {
  border-color: rgba(128, 204, 255, 0.46) !important;
  background: rgba(6, 31, 43, 0.9) !important;
  color: #dff4ff !important;
}

.match-2d-event[data-type="shot_blocked"],
.match-2d-event[data-type="tackle"],
.match-2d-event[data-type="interception"] {
  border-color: rgba(255, 190, 102, 0.46) !important;
  background: rgba(45, 27, 8, 0.9) !important;
  color: #ffe2b8 !important;
}

@keyframes match-pitch-event-enter {
  from { opacity: 0; transform: translateX(-50%) translateY(-3px) scale(0.96); filter: blur(2px); }
  to { opacity: 1; transform: translateX(-50%) translateY(0) scale(1); filter: blur(0); }
}

.match-2d-footer {
  min-height: 34px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
  padding: 6px 2px 3px !important;
  border: 0 !important;
  background: transparent !important;
}

.match-2d-footer > span {
  overflow: hidden;
  color: var(--match-pitch-muted) !important;
  font-size: 0.69rem !important;
  line-height: 1.3;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.match-2d-footer > strong {
  flex: 0 0 auto;
  color: #e8f3ec !important;
  font-size: 0.68rem !important;
  font-weight: 820 !important;
}

.match-pitch-playback {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 6px 7px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.03);
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.02);
}

.match-pitch-playback > span:first-child {
  color: #8ea096;
  font-size: 0.64rem;
  font-weight: 820;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.match-pitch-speed {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 5px;
}

.match-pitch-speed button {
  min-width: 0;
  min-height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 5px 10px;
  border: 1px solid transparent;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.045);
  color: #91a299;
  font: inherit;
  cursor: pointer;
  transition: transform 140ms var(--match-pitch-ease-out), background-color 160ms ease, border-color 160ms ease, color 160ms ease, box-shadow 160ms ease;
}

.match-pitch-speed button b {
  overflow: hidden;
  font-size: 0.68rem;
  font-weight: 800;
  text-overflow: ellipsis;
}

.match-pitch-speed button small {
  font-size: 0.62rem;
  font-weight: 740;
  opacity: 0.72;
}

.match-pitch-speed button[aria-pressed="true"] {
  border-color: rgba(124, 228, 169, 0.3);
  background: rgba(76, 190, 126, 0.145);
  color: #eafff1;
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.06), 0 0 0 1px rgba(29, 100, 60, 0.08);
}

.match-pitch-pause-label {
  color: #7f9187;
  font-size: 0.62rem;
  white-space: nowrap;
}

@media (hover: hover) and (pointer: fine) {
  .match-pitch-speed button:hover:not([aria-pressed="true"]) {
    border-color: rgba(255, 255, 255, 0.09);
    background: rgba(255, 255, 255, 0.075);
    color: #dbe7df;
  }
}

@media (max-width: 640px) {
  .match-pitch-shell {
    width: calc(100% - 12px);
    margin: 14px auto 12px;
    border-radius: 13px;
  }

  .match-pitch-shell-header {
    min-height: 54px;
    padding: 8px 9px 8px 13px;
  }

  .match-pitch-toggle {
    min-width: 98px;
    min-height: 42px;
  }

  .match-2d-viewer {
    padding: 7px 8px 8px !important;
  }

  .match-2d-toolbar {
    align-items: flex-start !important;
    flex-direction: column !important;
    gap: 6px !important;
  }

  .match-highlight-mode {
    width: 100%;
  }

  .match-highlight-mode button {
    flex: 1;
    min-height: 34px;
  }

  .match-2d-pitch {
    border-radius: 8px !important;
  }

  .match-2d-footer {
    min-height: 38px !important;
  }

  .match-pitch-playback {
    grid-template-columns: 1fr;
    gap: 7px;
    padding: 8px;
  }

  .match-pitch-playback > span:first-child {
    display: none;
  }

  .match-pitch-speed button {
    min-height: 46px;
    flex-direction: column;
    gap: 1px;
  }

  .match-pitch-pause-label {
    text-align: center;
  }
}

@media (prefers-reduced-motion: reduce) {
  .match-2d-viewer {
    animation: match-pitch-fade 160ms var(--match-pitch-ease-out) both !important;
  }

  .match-pitch-toggle,
  .match-pitch-speed button {
    transition-property: background-color, border-color, color;
  }

  .match-2d-event {
    animation: none !important;
  }

  @keyframes match-pitch-fade {
    from { opacity: 0; }
    to { opacity: 1; }
  }
}
/* Final achievement palette guards. Each competition supplies the complete
   shared token set so the default green theme cannot leak into its panel. */

#achievementsScreen[data-achievement-theme="1998"],
#retroAchievementsModal[data-achievement-theme="1998"] {
  --achievement-accent: #c92f4f;
  --achievement-accent-text: #ffffff;
  --achievement-surface: #1d4887;
  --achievement-surface-deep: #031439;
  --achievement-tab-surface: rgba(2, 18, 53, .82);
  --achievement-card: rgba(24, 67, 126, .86);
  --achievement-card-complete: #224f91;
  --achievement-copy: #f7faff;
  --achievement-muted: #bdcce0;
  --achievement-points: #f08ca2;
  --achievement-shadow: rgba(1, 7, 24, .56);
  border-color: rgba(220, 229, 239, .55) !important;
  color: #f7faff !important;
  background: linear-gradient(145deg, #1d4887, #031439 68%, #691b39) !important;
}

#achievementsScreen[data-achievement-theme="1998"] .achievement-progress-panel,
#retroAchievementsModal[data-achievement-theme="1998"] {
  border-top-color: #c92f4f !important;
  background:
    radial-gradient(circle at 94% -20%, rgba(201, 47, 79, .28), transparent 38%),
    linear-gradient(145deg, #173f79, #031439) !important;
}

#achievementsScreen[data-achievement-theme="1998"] .achievement-year-tabs,
#retroAchievementsModal[data-achievement-theme="1998"] .achievement-year-tabs {
  border-color: rgba(220, 229, 239, .32) !important;
  background: rgba(2, 18, 53, .82) !important;
}

#achievementsScreen[data-achievement-theme="1998"] .achievement-year-tabs button,
#retroAchievementsModal[data-achievement-theme="1998"] .achievement-year-tabs button {
  color: #bdcce0 !important;
  background: transparent !important;
}

#achievementsScreen[data-achievement-theme="1998"] .achievement-year-tabs button[aria-selected="true"],
#retroAchievementsModal[data-achievement-theme="1998"] .achievement-year-tabs button[aria-selected="true"] {
  color: #ffffff !important;
  background: linear-gradient(135deg, #2f71d0, #c92f4f) !important;
}

#achievementsScreen[data-achievement-theme="1998"] .achievement-country,
#retroAchievementsModal[data-achievement-theme="1998"] .achievement-country {
  border-color: rgba(220, 229, 239, .24) !important;
  color: #f7faff !important;
  background: rgba(24, 67, 126, .86) !important;
}

#achievementsScreen[data-achievement-theme="1998"] :is(h1, h2, h3, strong),
#retroAchievementsModal[data-achievement-theme="1998"] :is(h1, h2, h3, strong) {
  color: #f7faff !important;
}

#achievementsScreen[data-achievement-theme="2024"],
#retroAchievementsModal[data-achievement-theme="2024"] {
  --achievement-copy: #ffffff;
  --achievement-muted: #dbe8ff;
  color: #ffffff !important;
  background: linear-gradient(145deg, #0b3f96, #061d54) !important;
}

#achievementsScreen[data-achievement-theme="2024"] .achievement-progress-panel,
#retroAchievementsModal[data-achievement-theme="2024"] {
  background:
    radial-gradient(circle at 94% -20%, rgba(229, 27, 43, .24), transparent 38%),
    linear-gradient(145deg, #0b3f96, #061d54) !important;
}

#achievementsScreen[data-achievement-theme="2024"] :is(
  #achievementProgressLabel,
  #retro2014AchievementCount
),
#retroAchievementsModal[data-achievement-theme="2024"] :is(
  #retroAchievementProgressLabel,
  #retroAchievementModalCount
) {
  color: #ffffff !important;
}

#achievementsScreen[data-achievement-theme="2024"] :is(#achievementsTitle, #achievementsTitle + p) {
  color: #ffffff !important;
}

.achievements-screen[data-achievement-theme="euro-2024"],
.retro-achievements-modal[data-achievement-theme="euro-2024"] {
  --achievement-accent: var(--euro24-yellow);
  --achievement-accent-text: var(--euro24-navy);
  --achievement-surface: #07349e;
  --achievement-surface-deep: #061a50;
  --achievement-tab-surface: rgba(6, 31, 103, .88);
  --achievement-card: rgba(7, 52, 158, .86);
  --achievement-card-complete: #0b43bf;
  --achievement-copy: var(--euro24-white);
  --achievement-muted: var(--euro24-muted);
  --achievement-points: var(--euro24-yellow);
  --achievement-shadow: var(--euro24-shadow);
}

.achievements-screen[data-achievement-theme="euro-2024"] .achievement-progress-panel,
.retro-achievements-modal[data-achievement-theme="euro-2024"] {
  background:
    linear-gradient(124deg, rgba(255, 255, 255, .04) 0 28%, transparent 28.2%),
    linear-gradient(145deg, #07349e, #061a50) !important;
}

.achievements-screen[data-achievement-theme="euro-2024"] :is(.achievements-intro h1, .achievements-intro p) {
  color: var(--euro24-white) !important;
}

.achievements-screen[data-achievement-theme="afcon-2025"],
.retro-achievements-modal[data-achievement-theme="afcon-2025"] {
  --achievement-accent: #ffd34a;
  --achievement-accent-text: #4a000a;
  --achievement-surface: #950016;
  --achievement-surface-deep: #47000a;
  --achievement-tab-surface: rgba(54, 0, 8, .86);
  --achievement-card: rgba(173, 18, 40, .82);
  --achievement-card-complete: #c21b35;
  --achievement-copy: var(--afcon25-white);
  --achievement-muted: var(--afcon25-muted);
  --achievement-points: #ffd34a;
  --achievement-shadow: var(--afcon25-shadow);
  border-color: rgba(255, 211, 74, .58) !important;
  color: var(--afcon25-white) !important;
  background: linear-gradient(145deg, #950016, #47000a) !important;
}

.achievements-screen[data-achievement-theme="afcon-2025"] .achievement-progress-panel,
.retro-achievements-modal[data-achievement-theme="afcon-2025"] {
  border-top-color: #ffd34a !important;
  background:
    radial-gradient(circle at 94% -20%, rgba(255, 211, 74, .18), transparent 38%),
    linear-gradient(145deg, #950016, #47000a) !important;
}

[data-achievement-theme="afcon-2025"] .achievement-year-tabs {
  background: rgba(54, 0, 8, .86) !important;
}

[data-achievement-theme="afcon-2025"] .achievement-year-tabs button:is([aria-selected="true"], .is-selected) {
  color: #4a000a !important;
  background: #ffd34a !important;
}

.achievements-screen[data-achievement-theme="afcon-2025"] :is(.achievements-intro h1, .achievements-intro p) {
  color: var(--afcon25-white) !important;
}

/* The competition palette belongs to the achievement panel. Keep the page
   heading on the normal site canvas instead of drawing a large colour box. */
#achievementsScreen[data-achievement-theme] {
  border: 0 !important;
  color: inherit !important;
  background: transparent !important;
  box-shadow: none !important;
}

#achievementsScreen[data-achievement-theme] .achievements-intro h1 {
  color: #f5f7fb !important;
}

#achievementsScreen[data-achievement-theme] .achievements-intro p {
  color: #9eacc2 !important;
}

html.light-mode body.achievements-mode-active #achievementsScreen[data-achievement-theme] .achievements-intro h1 {
  color: #172033 !important;
}

html.light-mode body.achievements-mode-active #achievementsScreen[data-achievement-theme] .achievements-intro p {
  color: #4f5d72 !important;
}
/* Shared tournament team picker: make iPad touch scrolling and taps deterministic. */
@media (hover: none), (pointer: coarse) {
  #spectateModal {
    overflow-x: hidden;
  }

  #spectateModal form {
    overflow: hidden;
  }

  #spectateModal .spectate-list {
    overflow-x: hidden;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-y;
  }

  #spectateModal .prediction-option {
    min-height: 56px;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
  }

  .custom-team-picker-panel {
    overscroll-behavior: contain;
  }

  .custom-team-picker-panel > header button,
  .custom-editor-backdrop,
  .custom-team-picker-list > button {
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
  }

  .custom-team-picker-list {
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-y;
  }
}
/* Shared blue leaderboard and the compact two-level achievement picker. */
.leaderboard-intro {
  margin-bottom: 18px;
}

.leaderboard-intro h1 {
  color: #ffffff;
}

.leaderboard-screen .home-achievement-leaderboard {
  border-color: rgba(201, 240, 255, .28);
  background:
    radial-gradient(circle at 92% 0%, rgba(98, 205, 244, .2), transparent 34%),
    linear-gradient(145deg, #0784b5, #056b95 72%);
  box-shadow: 0 22px 52px rgba(0, 53, 78, .28);
}

.leaderboard-screen .home-leaderboard-tabs {
  border: 1px solid rgba(209, 243, 255, .2);
  background: rgba(0, 76, 108, .5);
}

.leaderboard-screen .home-leaderboard-tabs button {
  color: #c9efff;
  background: transparent;
}

.leaderboard-screen .home-leaderboard-tabs button[aria-selected="true"] {
  color: #045d80;
  background: #e0f6ff;
  box-shadow: 0 5px 14px rgba(0, 55, 80, .18);
}

.leaderboard-screen .home-achievement-table,
.home-achievement-modal-table {
  border-color: rgba(206, 241, 255, .22);
  background: rgba(3, 91, 126, .34);
}

.leaderboard-screen .home-achievement-row,
.home-achievement-modal-table .home-achievement-row {
  border-color: rgba(207, 242, 255, .16);
  color: #ccefff;
  background: rgba(4, 99, 137, .3);
}

.leaderboard-screen .home-achievement-row {
  grid-template-columns: 54px minmax(170px, 1fr) 110px 100px;
}

.leaderboard-screen .home-achievement-player,
.home-achievement-modal-table .home-achievement-player {
  gap: 16px;
}

.leaderboard-screen .home-achievement-row:nth-child(odd),
.home-achievement-modal-table .home-achievement-row:nth-child(odd) {
  background: rgba(0, 75, 107, .32);
}

.leaderboard-screen .home-achievement-row.is-heading,
.home-achievement-modal-table .home-achievement-row.is-heading {
  color: #bfeaff;
  background: #056f9b;
}

.leaderboard-screen .home-achievement-row.is-current,
.home-achievement-modal-table .home-achievement-row.is-current {
  background: rgba(133, 218, 250, .18);
  box-shadow: inset 4px 0 #9de5ff;
}

.leaderboard-screen .home-achievement-row > strong,
.leaderboard-screen .home-achievement-player b,
.home-achievement-modal-table .home-achievement-row > strong,
.home-achievement-modal-table .home-achievement-player b {
  color: #ffffff;
}

.leaderboard-screen .home-achievement-own {
  border-color: rgba(203, 241, 255, .24);
  background: rgba(0, 74, 105, .38);
}

.leaderboard-screen .home-achievement-own :is(span, b) {
  color: #c9efff;
}

.leaderboard-screen .home-achievement-own strong {
  color: #ffffff;
}

.leaderboard-screen .home-achievement-empty {
  color: #d3f2ff;
}

.simulation-streak {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: #ffffff;
  font-weight: 900;
}

.simulation-streak.is-empty {
  color: #a9d9ea;
  font-weight: 700;
}

.home-achievement-modal {
  border-color: rgba(198, 238, 255, .3);
  background: linear-gradient(145deg, #0784b5, #045d80);
  box-shadow: 0 28px 80px rgba(0, 46, 68, .44);
}

.home-achievement-modal header p,
.home-achievement-modal-close {
  color: #c9efff;
}

.achievement-category-tabs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 5px;
  width: min(560px, 100%);
  margin: 0 0 10px;
  padding: 5px;
  border: 1px solid rgba(195, 235, 252, .22);
  border-radius: 12px;
  background: rgba(1, 72, 103, .62);
}

.achievement-category-tabs button {
  min-height: 42px;
  padding: 8px 12px;
  border: 0;
  border-radius: 8px;
  color: #ccefff;
  background: transparent;
  font: 800 12px "Manrope", sans-serif;
  cursor: pointer;
}

.achievement-category-tabs button[aria-selected="true"] {
  color: #045d80;
  background: #e2f7ff;
  box-shadow: 0 5px 16px rgba(0, 47, 70, .2);
}

/* Competition popups share the same palette as the full Achievements screen.
   These guards live after the generic navigation rules so the fallback blue
   cannot override an edition's own colour tokens. */
#achievementsScreen[data-achievement-theme] .achievement-category-tabs,
#retroAchievementsModal[data-achievement-theme] .achievement-category-tabs {
  border-color: color-mix(in srgb, var(--achievement-accent) 34%, transparent);
  background: var(--achievement-tab-surface);
}

#achievementsScreen[data-achievement-theme] .achievement-category-tabs button,
#retroAchievementsModal[data-achievement-theme] .achievement-category-tabs button {
  color: var(--achievement-muted);
  background: transparent;
  box-shadow: none;
}

#achievementsScreen[data-achievement-theme] .achievement-category-tabs button[aria-selected="true"],
#retroAchievementsModal[data-achievement-theme] .achievement-category-tabs button[aria-selected="true"] {
  color: var(--achievement-accent-text);
  background: var(--achievement-accent);
  box-shadow: 0 5px 16px var(--achievement-shadow);
}

#achievementsScreen .achievement-year-tabs,
#retroAchievementsModal .achievement-year-tabs {
  display: flex !important;
  grid-template-columns: none !important;
  flex-wrap: nowrap !important;
  gap: 6px !important;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-snap-type: x proximity;
  scrollbar-width: thin;
}

#achievementsScreen .achievement-year-tabs button,
#retroAchievementsModal .achievement-year-tabs button {
  flex: 0 0 auto !important;
  min-width: max-content !important;
  min-height: 42px;
  padding-inline: 14px !important;
  scroll-snap-align: start;
  white-space: nowrap;
}

.achievement-year-tabs button[hidden] {
  display: none !important;
}

#retroAchievementsModal .achievement-category-tabs {
  margin-top: 20px;
}

@media (max-width: 560px) {
  .leaderboard-screen .home-achievement-row {
    grid-template-columns: 34px minmax(0, 1fr) 64px 58px;
    gap: 7px;
  }

  .leaderboard-screen .home-achievement-player {
    gap: 10px;
  }

  .leaderboard-screen .home-achievement-flag.country-flag {
    width: 28px;
    height: 19px;
  }

  .leaderboard-screen .home-achievement-own {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .leaderboard-screen .home-achievement-own b {
    grid-column: 1 / -1;
  }

  .achievement-category-tabs button {
    min-height: 44px;
    padding-inline: 8px;
    font-size: 10px;
  }

  .achievement-category-tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Simulator hub catalog: clearer competition groups with retained setup routes. */
.simulator-catalog {
  display: none;
}

body.before-start:not([data-desktop-mode-setup]) .simulator-catalog {
  display: grid;
  gap: 22px;
}

.simulator-career-section {
  min-width: 0;
}

.simulator-career-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.simulator-career-grid > .simulator-mode-card {
  min-height: 122px;
  align-items: flex-start;
  padding: 16px 46px 16px 16px;
  text-align: left;
  text-decoration: none;
}

.simulator-career-grid .simulator-mode-copy {
  max-width: 100%;
}

.simulator-career-grid .simulator-career-card-player {
  border-color: rgba(226, 208, 255, .58);
  background: radial-gradient(circle at 86% 10%, rgba(255, 157, 226, .42), transparent 34%), radial-gradient(circle at 8% 112%, rgba(103, 216, 255, .26), transparent 42%), linear-gradient(145deg, #8a39d5 0%, #6330bd 54%, #3d278e 100%);
  box-shadow: 0 17px 36px rgba(55, 22, 112, .28), inset 0 1px rgba(255, 255, 255, .17);
}

.simulator-career-grid .simulator-career-beta {
  position: absolute;
  z-index: 2;
  top: 12px;
  right: 12px;
  padding: 4px 7px;
  border: 1px solid rgba(255, 255, 255, .5);
  border-radius: 999px;
  color: #32136b;
  background: rgba(247, 235, 255, .94);
  font: 900 9px/1 "DM Mono", monospace;
  letter-spacing: .12em;
  box-shadow: 0 5px 14px rgba(37, 12, 80, .24);
}

.simulator-career-card-manager {
  background: radial-gradient(circle at 88% 12%, rgba(126, 241, 201, .26), transparent 32%), linear-gradient(145deg, #087f89, #075a70);
}

.simulator-career-card-builder {
  background: radial-gradient(circle at 88% 12%, rgba(255, 220, 126, .24), transparent 32%), linear-gradient(145deg, #16849a, #09647d);
}

.simulator-career-card[disabled] {
  cursor: default;
  opacity: .72;
}

.simulator-career-grid .simulator-card-chevron {
  position: absolute;
  right: 17px;
  bottom: 18px;
  color: #fff;
  font: 800 19px/1 "Manrope", sans-serif;
  opacity: .68;
  transform: translate3d(-2px, 0, 0);
  transition: transform 170ms cubic-bezier(.23, 1, .32, 1), opacity 150ms ease;
}

.simulator-career-grid > .simulator-mode-card:active {
  transform: scale(.97);
}

@media (hover: hover) and (pointer: fine) {
  .simulator-career-grid > .simulator-mode-card:hover .simulator-card-chevron {
    opacity: 1;
    transform: translate3d(3px, 0, 0);
  }
}

@media (max-width: 980px) {
  .simulator-career-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .simulator-career-grid > .simulator-mode-card {
    min-height: 108px;
  }
}

@media (max-width: 720px) {
  .simulator-career-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .simulator-career-grid > .simulator-mode-card {
    min-height: 106px;
  }
}

@media (max-width: 430px) {
  .simulator-career-grid > .simulator-mode-card {
    min-height: 102px;
  }
}

body.before-start:not([data-desktop-mode-setup]) .mode-select > .mode-grid {
  display: none;
}

.simulator-catalog-section {
  min-width: 0;
}

.simulator-catalog-section > h2 {
  margin: 0 0 9px;
  color: #ffffff;
  font: 850 clamp(18px, 1.7vw, 21px)/1.15 "Manrope", sans-serif;
  letter-spacing: -.035em;
}

.simulator-catalog-grid {
  display: grid;
  gap: 10px;
}

.simulator-international-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.simulator-club-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.simulator-more-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.simulator-mode-card {
  position: relative;
  display: flex;
  min-width: 0;
  min-height: 142px;
  overflow: hidden;
  flex-direction: column;
  justify-content: flex-end;
  padding: 16px;
  border: 1px solid rgba(199, 239, 255, .34);
  border-radius: 15px;
  color: #ffffff;
  background:
    radial-gradient(circle at 88% 10%, rgba(151, 226, 255, .28), transparent 35%),
    linear-gradient(145deg, #129ac9 0%, #0784b5 58%, #066c96 100%);
  box-shadow: 0 16px 34px rgba(0, 54, 78, .2), inset 0 1px rgba(255, 255, 255, .1);
  isolation: isolate;
  transition: transform 180ms cubic-bezier(.23, 1, .32, 1), border-color 180ms ease, box-shadow 180ms ease;
}

.simulator-international-grid .simulator-mode-card {
  min-height: 176px;
}

.simulator-mode-card::before {
  position: absolute;
  z-index: -1;
  inset: 0;
  content: "";
  pointer-events: none;
  background: linear-gradient(180deg, rgba(0, 55, 79, .04), rgba(0, 48, 70, .64));
}

.simulator-mode-card::after {
  position: absolute;
  z-index: -2;
  width: 230px;
  height: 230px;
  top: -88px;
  right: -58px;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 50%;
  content: "";
  pointer-events: none;
  box-shadow: 0 0 0 34px rgba(255, 255, 255, .035), 0 0 0 72px rgba(255, 255, 255, .025);
}

.simulator-mode-card-world-cup {
  background:
    linear-gradient(110deg, rgba(0, 73, 103, .92), rgba(4, 91, 126, .66)),
    url("./assets/retro-2014/brazil-watercolor-stadium.webp") center 54% / cover no-repeat;
}

.simulator-mode-card-euros {
  background:
    radial-gradient(circle at 82% 20%, rgba(128, 229, 255, .36), transparent 25%),
    linear-gradient(140deg, #137eb7, #076da5 58%, #07557e);
}

.simulator-mode-card-copa {
  background:
    linear-gradient(110deg, rgba(3, 82, 120, .9), rgba(6, 105, 148, .58)),
    url("./assets/copa-america-2024-bg-desktop.svg") center / cover no-repeat;
}

.simulator-mode-card-afcon {
  background:
    radial-gradient(circle at 84% 14%, rgba(255, 210, 116, .35), transparent 28%),
    linear-gradient(140deg, #0c91ae, #087b9f 60%, #075f82);
}

.simulator-mode-card-top-five {
  grid-column: span 2;
  background:
    linear-gradient(110deg, rgba(5, 109, 150, .9), rgba(5, 98, 137, .72)),
    url("./assets/serie-a-2026-27/serie-a-background.png") center / cover no-repeat;
}

.simulator-mode-card-uefa {
  grid-column: 1 / -1;
  min-height: 142px;
  background:
    radial-gradient(circle at 90% 18%, rgba(106, 174, 255, .42), transparent 28%),
    linear-gradient(138deg, #0b76b5, #075d9d 56%, #06477f);
}

.simulator-mode-card-championship {
  background: linear-gradient(145deg, #17a7ce, #0784b5 60%, #086d94);
}

.simulator-mode-card-super-lig {
  background: linear-gradient(145deg, #13a7c4, #0784aa 60%, #066b90);
}

.simulator-mode-card-eredivisie {
  background: linear-gradient(145deg, #159ed2, #087aaf 60%, #06658d);
}

.simulator-mode-card-belgium {
  background: linear-gradient(145deg, #12a0bf, #087ca7 60%, #07658a);
}

.simulator-mode-card-knockout {
  background:
    radial-gradient(circle at 86% 12%, rgba(111, 214, 255, .34), transparent 30%),
    linear-gradient(145deg, #1098ca, #077dad 62%, #06688f);
}

.simulator-mode-mark {
  position: absolute;
  z-index: -1;
  top: 14px;
  right: 16px;
  width: 58px;
  height: 58px;
  object-fit: contain;
  opacity: .82;
  filter: drop-shadow(0 7px 14px rgba(0, 40, 58, .22));
}

.simulator-mode-card-world-cup .simulator-mode-mark,
.simulator-mode-card-copa .simulator-mode-mark,
.simulator-mode-card-afcon .simulator-mode-mark {
  width: 66px;
  height: 66px;
}

.simulator-mode-copy {
  position: relative;
  z-index: 1;
  max-width: min(410px, calc(100% - 62px));
}

.simulator-mode-card-top-five .simulator-mode-copy,
.simulator-mode-card-custom-hub .simulator-mode-copy,
.simulator-mode-card-custom-match-hub .simulator-mode-copy,
.simulator-mode-card-legacy-hub .simulator-mode-copy {
  max-width: 100%;
}

.simulator-mode-copy h3 {
  margin: 0;
  color: #ffffff;
  font: 850 clamp(17px, 1.45vw, 21px)/1.08 "Manrope", sans-serif;
  letter-spacing: -.04em;
}

.simulator-mode-copy p {
  max-width: 430px;
  margin: 5px 0 0;
  color: rgba(232, 249, 255, .82);
  font: 650 11px/1.4 "Manrope", sans-serif;
}

.simulator-mode-options {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 11px;
}

.simulator-mode-options button {
  display: inline-flex;
  width: auto;
  min-width: 0;
  min-height: 32px;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 6px 8px;
  border: 1px solid rgba(210, 244, 255, .34);
  border-radius: 9px;
  color: #ffffff;
  background: rgba(0, 75, 106, .62);
  box-shadow: 0 7px 16px rgba(0, 48, 70, .13);
  font: 800 9.5px/1 "Manrope", sans-serif;
  cursor: pointer;
  transition: color 150ms ease, background-color 150ms ease, border-color 150ms ease, transform 140ms cubic-bezier(.23, 1, .32, 1);
}

.simulator-league-options button {
  justify-content: flex-start;
  padding-inline: 7px 9px;
}

.simulator-league-options .domestic-league-flag {
  width: 18px;
  height: 12px;
  border-radius: 3px;
  box-shadow: 0 2px 6px rgba(0, 36, 52, .22);
}

.simulator-coming-soon {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 9px;
}

.simulator-coming-soon span {
  padding: 8px 10px;
  border: 1px dashed rgba(197, 238, 255, .28);
  border-radius: 999px;
  color: rgba(224, 246, 255, .68);
  background: rgba(2, 91, 126, .34);
  font: 750 10px/1 "Manrope", sans-serif;
}

body.before-start:not([data-desktop-mode-setup]) .sidebar .header-actions #settingsButton,
body.before-start:not([data-desktop-mode-setup]) .sidebar .header-actions #newsButton {
  width: 42px;
  min-width: 42px;
  height: 42px;
  padding: 0;
  border: 1px solid rgba(196, 237, 253, .22);
  border-radius: 50%;
  background: rgba(2, 70, 98, .48);
}

body.before-start:not([data-desktop-mode-setup]) .sidebar .header-actions #settingsButton > span:last-child,
body.before-start:not([data-desktop-mode-setup]) .sidebar .header-actions #newsButton > span:last-child {
  display: none;
}

@media (hover: hover) and (pointer: fine) {
  .simulator-mode-card:hover {
    border-color: rgba(223, 248, 255, .58);
    box-shadow: 0 20px 42px rgba(0, 47, 68, .27), inset 0 1px rgba(255, 255, 255, .14);
    transform: translateY(-2px);
  }

  .simulator-mode-options button:hover {
    border-color: rgba(230, 250, 255, .72);
    color: #045d80;
    background: #e1f7ff;
  }
}

.simulator-mode-options button:active {
  transform: scale(.97);
}

.simulator-mode-options button:focus-visible {
  outline: 3px solid rgba(224, 247, 255, .62);
  outline-offset: 2px;
}

@media (max-width: 980px) {
  .simulator-club-grid,
  .simulator-more-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .simulator-mode-card-uefa {
    grid-column: span 2;
  }
}

@media (max-width: 700px) {
  body.before-start:not([data-desktop-mode-setup]) .simulator-catalog {
    gap: 20px;
  }

  .simulator-international-grid,
  .simulator-club-grid,
  .simulator-more-grid {
    grid-template-columns: 1fr;
  }

  .simulator-mode-card-top-five,
  .simulator-mode-card-uefa {
    grid-column: auto;
  }

  .simulator-mode-card,
  .simulator-international-grid .simulator-mode-card {
    min-height: 156px;
    padding: 16px;
    border-radius: 15px;
  }

  .simulator-mode-copy {
    max-width: calc(100% - 56px);
  }

  .simulator-mode-mark {
    top: 13px;
    right: 14px;
    width: 54px;
    height: 54px;
  }

  .simulator-mode-options {
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 2px;
    scrollbar-width: none;
  }

  .simulator-mode-options::-webkit-scrollbar {
    display: none;
  }

  .simulator-mode-options button {
    min-height: 44px;
    flex: 0 0 auto;
    padding-inline: 10px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .simulator-mode-card,
  .simulator-mode-options button {
    transition: none;
  }
}

.main-account-mobile-icon {
  display: none;
}

/* Mobile site chrome: tools stay in the top bar and section switching sits below it. */
@media (max-width: 850px) {
  body.before-start:not([data-desktop-mode-setup]) .sidebar {
    grid-template-columns: auto minmax(0, 1fr);
    grid-template-rows: 60px 52px;
    min-height: 120px;
    padding: 0 10px 8px;
    border-bottom: 0;
    background:
      linear-gradient(to bottom, rgba(4, 83, 113, .98) 0 60px, transparent 60px);
    box-shadow: none;
    backdrop-filter: none;
  }

  body.before-start:not([data-desktop-mode-setup]) .sidebar .brand {
    grid-column: 1;
    grid-row: 1;
    align-self: center;
  }

  body.before-start:not([data-desktop-mode-setup]) .sidebar .header-actions {
    grid-column: 2;
    grid-row: 1;
    align-self: center;
    justify-self: end;
    gap: 3px;
    max-width: calc(100vw - 70px);
  }

  body.before-start:not([data-desktop-mode-setup]) .sidebar .header-actions .utility-button,
  body.before-start:not([data-desktop-mode-setup]) .sidebar .header-actions #settingsButton,
  body.before-start:not([data-desktop-mode-setup]) .sidebar .header-actions #newsButton {
    width: 38px;
    min-width: 38px;
    height: 38px;
    padding: 0;
  }

  body.before-start:not([data-desktop-mode-setup]) .main-section-switch {
    grid-column: 1 / -1;
    grid-row: 2;
    align-self: end;
    justify-self: center;
    width: min(100%, 340px);
    margin: 7px 0 0;
  }

  body.before-start:not([data-desktop-mode-setup]) .main-section-switch a {
    flex: 1 1 0;
    justify-content: center;
    text-align: center;
  }

  body.before-start:not([data-desktop-mode-setup]) .main-account-button .main-account-flag {
    display: none;
  }

  body.before-start:not([data-desktop-mode-setup]) .main-account-button .main-account-mobile-icon {
    display: inline-flex;
    width: 21px;
    height: 21px;
    align-items: center;
    justify-content: center;
  }

  body.before-start:not([data-desktop-mode-setup]) .main-account-mobile-icon svg {
    width: 100%;
    height: 100%;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
  }
}

@media (max-width: 360px) {
  body.before-start:not([data-desktop-mode-setup]) .sidebar .header-actions {
    gap: 1px;
  }

  body.before-start:not([data-desktop-mode-setup]) .sidebar .header-actions .utility-button,
  body.before-start:not([data-desktop-mode-setup]) .sidebar .header-actions #settingsButton,
  body.before-start:not([data-desktop-mode-setup]) .sidebar .header-actions #newsButton {
    width: 35px;
    min-width: 35px;
    height: 35px;
  }
}

/* The profile uses the same visible tool set as the simulator header. */
body.profile-mode-active .profile-header #profileDiscordButton {
  display: none !important;
}

/* Premium card refinement: keep the catalogue structure, remove dashboard chrome. */
.simulator-international-section,
.simulator-club-section {
  padding: 4px 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.simulator-international-section > h2,
.simulator-club-section > h2 {
  margin-bottom: 14px;
}

.simulator-group-stack,
.simulator-mode-card.simulator-mode-card-club-hub {
  gap: 15px;
}

.simulator-mode-card.simulator-mode-card-club-hub {
  padding: 14px;
  border-color: rgba(199, 239, 255, .14);
  border-radius: 16px;
  background: rgba(2, 70, 98, .18);
  box-shadow: none;
}

.simulator-catalog-group > h3 {
  margin-bottom: 7px;
  color: rgba(225, 247, 255, .82);
  font-size: 11px;
  letter-spacing: .01em;
}

.simulator-world-cup-grid {
  gap: 10px;
}

.simulator-euros-grid,
.simulator-domestic-grid,
.simulator-uefa-grid {
  gap: 9px;
}

.simulator-international-choices {
  gap: 11px;
}

.simulator-choice-grid > .simulator-visual-card,
.simulator-international-choices > .simulator-visual-card {
  grid-template-columns: 56px minmax(0, 1fr) 18px;
  grid-template-rows: auto auto;
  min-height: 116px;
  align-content: center;
  align-items: center;
  justify-items: stretch;
  column-gap: 11px;
  row-gap: 3px;
  padding: 14px;
  border-color: rgba(221, 247, 255, .27);
  border-radius: 14px;
  box-shadow: inset 0 1px rgba(255, 255, 255, .08), 0 10px 22px rgba(0, 43, 61, .12);
  transition: transform 180ms cubic-bezier(.23, 1, .32, 1), border-color 160ms ease, box-shadow 180ms ease;
}

.simulator-choice-grid > .simulator-visual-card::before,
.simulator-international-choices > .simulator-visual-card::before {
  z-index: 0;
  inset: -8px;
  background:
    radial-gradient(circle at 78% 18%, rgba(255, 255, 255, .12), transparent 32%),
    linear-gradient(180deg, rgba(0, 24, 36, .01) 10%, rgba(0, 29, 43, .7) 100%);
  transform: translate3d(0, 0, 0) scale(1);
  transition: transform 240ms cubic-bezier(.23, 1, .32, 1), opacity 180ms ease;
}

.simulator-visual-card > img {
  position: relative;
  z-index: 1;
  top: auto;
  right: auto;
  display: block;
  width: 54px;
  height: 54px;
  grid-column: 1;
  grid-row: 1 / 3;
  align-self: center;
  justify-self: center;
  padding: 6px;
  border: 1px solid rgba(255, 255, 255, .13);
  border-radius: 14px;
  background: rgba(2, 35, 52, .22);
  object-fit: contain;
  opacity: 1;
  filter: drop-shadow(0 7px 12px rgba(0, 24, 36, .2));
  transform: translate3d(0, 0, 0) scale(1);
  transition: transform 220ms cubic-bezier(.23, 1, .32, 1), background-color 160ms ease;
}

.simulator-visual-card > strong {
  z-index: 1;
  grid-column: 2;
  grid-row: 1;
  align-self: end;
  max-width: 100%;
  color: #fff;
  font: 850 clamp(14px, 1.2vw, 16px)/1.12 "Manrope", sans-serif;
  letter-spacing: -.035em;
}

.simulator-visual-card > small {
  position: relative;
  z-index: 1;
  display: block;
  grid-column: 2;
  grid-row: 2;
  align-self: start;
  overflow: hidden;
  color: rgba(229, 248, 255, .7);
  font: 650 9.5px/1.25 "Manrope", sans-serif;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.simulator-choice-grid > .simulator-visual-card > .simulator-card-chevron,
.simulator-international-choices > .simulator-visual-card > .simulator-card-chevron {
  z-index: 1;
  display: grid;
  width: 18px;
  min-height: 0;
  height: 24px;
  grid-column: 3;
  grid-row: 1 / 3;
  align-self: center;
  place-items: center;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  opacity: .62;
  color: #fff;
  background: transparent;
  font: 800 18px/1 "Manrope", sans-serif;
  transform: translate3d(-2px, 0, 0);
  transition: transform 170ms cubic-bezier(.23, 1, .32, 1), opacity 150ms ease;
}

.simulator-world-cup-grid > .simulator-visual-card {
  min-height: 132px;
  border-color: rgba(229, 249, 255, .34);
  box-shadow: inset 0 1px rgba(255, 255, 255, .12), 0 13px 27px rgba(0, 35, 52, .19);
}

.simulator-world-cup-grid .simulator-visual-card > img {
  width: 60px;
  height: 60px;
  padding: 7px;
  border-radius: 15px;
  background: rgba(2, 27, 42, .3);
}

.simulator-world-cup-grid .simulator-visual-card > strong {
  font-size: clamp(15px, 1.25vw, 17px);
}

.simulator-euros-grid > .simulator-visual-card,
.simulator-international-choices > .simulator-visual-card {
  min-height: 108px;
}

.simulator-domestic-grid > .simulator-visual-card {
  min-height: 110px;
}

.simulator-uefa-grid > .simulator-visual-card {
  min-height: 114px;
}

.simulator-more-grid > button.simulator-mode-card {
  width: 100%;
  min-width: 0;
  min-height: 128px;
  align-items: flex-start;
  padding: 16px 46px 16px 16px;
  border-color: rgba(199, 239, 255, .24);
  color: #fff;
  text-align: left;
  cursor: pointer;
}

.simulator-more-grid > button.simulator-mode-card .simulator-mode-copy {
  max-width: 100%;
}

.simulator-more-grid > button.simulator-mode-card .simulator-card-chevron {
  position: absolute;
  z-index: 2;
  right: 17px;
  bottom: 18px;
  opacity: .62;
  color: #fff;
  font: 800 19px/1 "Manrope", sans-serif;
  transform: translate3d(-2px, 0, 0);
  transition: transform 170ms cubic-bezier(.23, 1, .32, 1), opacity 150ms ease;
}

@media (hover: hover) and (pointer: fine) {
  .simulator-choice-grid > .simulator-visual-card:hover,
  .simulator-international-choices > .simulator-visual-card:hover {
    border-color: rgba(238, 252, 255, .66);
    box-shadow: inset 0 1px rgba(255, 255, 255, .16), 0 19px 35px rgba(0, 34, 50, .28), 0 0 24px rgba(76, 201, 240, .09);
    transform: translate3d(0, -3px, 0);
  }

  .simulator-choice-grid > .simulator-visual-card:hover::before,
  .simulator-international-choices > .simulator-visual-card:hover::before {
    opacity: .92;
    transform: translate3d(-3px, 2px, 0) scale(1.045);
  }

  .simulator-visual-card:hover > img {
    background: rgba(2, 35, 52, .34);
    transform: translate3d(0, -1px, 0) scale(1.055);
  }

  .simulator-visual-card:hover > .simulator-card-chevron,
  .simulator-more-grid > button.simulator-mode-card:hover .simulator-card-chevron {
    opacity: 1;
    transform: translate3d(3px, 0, 0);
  }
}

@media (max-width: 700px) {
  .simulator-international-section,
  .simulator-club-section {
    padding: 2px 0;
  }

  .simulator-mode-card.simulator-mode-card-club-hub {
    padding: 11px;
    border-radius: 14px;
  }

  .simulator-choice-grid > .simulator-visual-card,
  .simulator-international-choices > .simulator-visual-card {
    grid-template-columns: 46px minmax(0, 1fr) 15px;
    min-height: 102px;
    column-gap: 8px;
    padding: 11px;
  }

  .simulator-world-cup-grid > .simulator-visual-card {
    min-height: 116px;
  }

  .simulator-visual-card > img,
  .simulator-world-cup-grid .simulator-visual-card > img {
    width: 46px;
    height: 46px;
    padding: 5px;
    border-radius: 12px;
  }

  .simulator-visual-card > strong,
  .simulator-world-cup-grid .simulator-visual-card > strong {
    font-size: 12.5px;
  }

  .simulator-visual-card > small {
    font-size: 8.5px;
  }

  .simulator-choice-grid > .simulator-visual-card > .simulator-card-chevron,
  .simulator-international-choices > .simulator-visual-card > .simulator-card-chevron {
    width: 15px;
    font-size: 16px;
  }

  .simulator-more-grid > button.simulator-mode-card {
    min-height: 118px;
    padding-right: 42px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .simulator-visual-card,
  .simulator-visual-card::before,
  .simulator-visual-card > img,
  .simulator-card-chevron {
    transition-duration: 1ms !important;
  }
}

/* Simulator catalogue hierarchy: featured tournament, compact editions, then clubs. */
.simulator-international-section,
.simulator-club-section {
  padding: 18px;
  border: 1px solid rgba(190, 237, 255, .22);
  border-radius: 18px;
  background: rgba(2, 70, 98, .3);
  box-shadow: 0 14px 32px rgba(1, 48, 68, .14);
}

.simulator-international-section > h2,
.simulator-club-section > h2 {
  margin: 0 0 16px;
  font-size: clamp(21px, 2vw, 26px);
}

.simulator-group-stack,
.simulator-mode-card-club-hub {
  display: grid;
  gap: 17px;
}

.simulator-catalog-group {
  min-width: 0;
}

.simulator-catalog-group > h3 {
  margin: 0 0 8px;
  color: #c9efff;
  font: 800 12px/1.2 "Manrope", sans-serif;
  letter-spacing: -.01em;
}

.simulator-featured-tile {
  position: relative;
  display: grid;
  width: 100%;
  min-height: 158px;
  overflow: hidden;
  grid-template-columns: minmax(0, 1fr) 126px;
  align-items: center;
  gap: 20px;
  padding: 22px 26px;
  border: 1px solid rgba(210, 244, 255, .38);
  border-radius: 15px;
  color: #fff;
  text-align: left;
  background:
    linear-gradient(100deg, rgba(0, 66, 94, .96) 0%, rgba(4, 99, 137, .88) 58%, rgba(7, 132, 181, .52) 100%),
    url("./assets/retro-2014/brazil-watercolor-stadium.webp") center 55% / cover no-repeat;
  box-shadow: inset 0 1px rgba(255, 255, 255, .1), 0 16px 34px rgba(0, 45, 64, .2);
  cursor: pointer;
  isolation: isolate;
  transition: transform 150ms cubic-bezier(.23, 1, .32, 1), border-color 160ms ease, box-shadow 160ms ease;
}

.simulator-featured-tile::after {
  position: absolute;
  z-index: -1;
  width: 230px;
  height: 230px;
  top: -100px;
  right: -22px;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 50%;
  content: "";
  box-shadow: 0 0 0 36px rgba(255, 255, 255, .035);
}

.simulator-featured-copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
}

.simulator-featured-copy > strong {
  font: 850 clamp(23px, 2.7vw, 34px)/1.05 "Manrope", sans-serif;
  letter-spacing: -.045em;
}

.simulator-featured-copy > span:not(.simulator-featured-action) {
  max-width: 470px;
  margin-top: 7px;
  color: rgba(232, 249, 255, .82);
  font: 650 11px/1.45 "Manrope", sans-serif;
}

.simulator-featured-action {
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  gap: 8px;
  margin-top: 16px;
  padding: 8px 11px;
  border: 1px solid rgba(222, 248, 255, .34);
  border-radius: 9px;
  color: #fff;
  background: rgba(0, 70, 99, .58);
  font: 800 10px/1 "Manrope", sans-serif;
}

.simulator-featured-tile > img {
  width: 112px;
  height: 112px;
  justify-self: end;
  object-fit: contain;
  filter: drop-shadow(0 12px 20px rgba(0, 38, 54, .28));
}

.simulator-choice-grid {
  display: grid;
  gap: 8px;
}

.simulator-world-cup-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.simulator-euros-grid,
.simulator-domestic-grid,
.simulator-uefa-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.simulator-choice-grid > button,
.simulator-international-choices > button {
  display: inline-flex;
  width: 100%;
  min-width: 0;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 9px 12px;
  border: 1px solid rgba(210, 244, 255, .3);
  border-radius: 10px;
  color: #fff;
  background: rgba(3, 91, 125, .58);
  box-shadow: inset 0 1px rgba(255, 255, 255, .05);
  font: 800 11px/1.15 "Manrope", sans-serif;
  cursor: pointer;
  transition: transform 140ms cubic-bezier(.23, 1, .32, 1), color 150ms ease, border-color 150ms ease, background-color 150ms ease;
}

.simulator-domestic-grid > button,
.simulator-uefa-grid > button {
  justify-content: flex-start;
}

.simulator-uefa-grid > button > span:last-child {
  margin-left: auto;
}

.simulator-domestic-grid .domestic-league-flag {
  width: 21px;
  height: 14px;
  flex: 0 0 auto;
  margin: 0;
  border-radius: 3px;
  box-shadow: 0 2px 7px rgba(0, 35, 50, .2);
}

.simulator-international-choices {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.simulator-international-choices > button {
  min-height: 60px;
  justify-content: flex-start;
  padding: 9px 13px;
}

.simulator-international-choices img {
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  object-fit: contain;
}

.simulator-international-choices button > span:nth-child(2) {
  display: grid;
  gap: 3px;
  text-align: left;
}

.simulator-international-choices strong {
  font-size: 11px;
}

.simulator-international-choices small {
  color: rgba(224, 246, 255, .68);
  font-size: 9px;
  font-weight: 750;
}

.simulator-international-choices button > span:last-child {
  margin-left: auto;
  color: #c9efff;
}

.simulator-mode-card.simulator-mode-card-club-hub {
  min-height: 0 !important;
  justify-content: initial;
  padding: 16px;
  background: rgba(4, 100, 139, .5);
  box-shadow: inset 0 1px rgba(255, 255, 255, .06);
  transition: none;
}

.simulator-mode-card.simulator-mode-card-club-hub::before,
.simulator-mode-card.simulator-mode-card-club-hub::after {
  display: none;
}

@media (hover: hover) and (pointer: fine) {
  .simulator-featured-tile:hover {
    border-color: rgba(229, 250, 255, .66);
    box-shadow: inset 0 1px rgba(255, 255, 255, .13), 0 20px 40px rgba(0, 42, 60, .26);
    transform: translateY(-2px);
  }

  .simulator-choice-grid > button:hover,
  .simulator-international-choices > button:hover {
    border-color: rgba(230, 250, 255, .7);
    color: #045d80;
    background: #e1f7ff;
  }

  .simulator-mode-card.simulator-mode-card-club-hub:hover {
    border-color: rgba(199, 239, 255, .34);
    box-shadow: inset 0 1px rgba(255, 255, 255, .06);
    transform: none;
  }
}

.simulator-featured-tile:active,
.simulator-choice-grid > button:active,
.simulator-international-choices > button:active {
  transform: scale(.97);
}

.simulator-featured-tile:focus-visible,
.simulator-choice-grid > button:focus-visible,
.simulator-international-choices > button:focus-visible {
  outline: 3px solid rgba(224, 247, 255, .62);
  outline-offset: 2px;
}

@media (max-width: 700px) {
  .simulator-international-section,
  .simulator-club-section {
    padding: 14px;
    border-radius: 15px;
  }

  .simulator-international-section > h2,
  .simulator-club-section > h2 {
    margin-bottom: 13px;
    font-size: 22px;
  }

  .simulator-featured-tile {
    min-height: 142px;
    grid-template-columns: minmax(0, 1fr) 84px;
    gap: 10px;
    padding: 18px;
  }

  .simulator-featured-copy > strong {
    font-size: 24px;
  }

  .simulator-featured-copy > span:not(.simulator-featured-action) {
    display: none;
  }

  .simulator-featured-action {
    margin-top: 13px;
  }

  .simulator-featured-tile > img {
    width: 82px;
    height: 82px;
  }

  .simulator-world-cup-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .simulator-domestic-grid,
  .simulator-uefa-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .simulator-choice-grid > button {
    min-height: 42px;
    padding-inline: 8px;
    font-size: 10px;
  }

  .simulator-international-choices {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 390px) {
  .simulator-featured-tile {
    grid-template-columns: minmax(0, 1fr) 68px;
    padding: 16px;
  }

  .simulator-featured-tile > img {
    width: 66px;
    height: 66px;
  }

  .simulator-featured-copy > strong {
    font-size: 21px;
  }

  .simulator-world-cup-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Compact visual mode cards. Every playable competition uses the same structure. */
.simulator-choice-grid > .simulator-visual-card,
.simulator-international-choices > .simulator-visual-card {
  position: relative;
  display: grid;
  width: 100%;
  min-width: 0;
  min-height: 148px;
  overflow: hidden;
  grid-template-columns: minmax(0, 1fr);
  align-content: end;
  justify-items: start;
  gap: 8px;
  padding: 15px;
  border: 1px solid rgba(221, 247, 255, .38);
  border-radius: 13px;
  color: #fff;
  text-align: left;
  background: linear-gradient(145deg, #087fae, #05688f);
  box-shadow: inset 0 1px rgba(255, 255, 255, .1), 0 12px 25px rgba(0, 43, 61, .17);
  cursor: pointer;
  isolation: isolate;
  transition: transform 150ms cubic-bezier(.23, 1, .32, 1), border-color 150ms ease, box-shadow 150ms ease;
}

.simulator-choice-grid > .simulator-visual-card::before,
.simulator-international-choices > .simulator-visual-card::before {
  position: absolute;
  z-index: -1;
  inset: 0;
  content: "";
  background: linear-gradient(180deg, rgba(0, 24, 36, .03) 24%, rgba(0, 29, 43, .8) 100%);
  pointer-events: none;
}

.simulator-visual-card > img {
  position: absolute;
  z-index: 0;
  top: 12px;
  right: 13px;
  display: block;
  width: 62px;
  height: 62px;
  margin: 0;
  object-fit: contain;
  opacity: .96;
  filter: drop-shadow(0 8px 14px rgba(0, 24, 36, .28));
}

.simulator-visual-card > strong {
  position: relative;
  z-index: 1;
  max-width: calc(100% - 16px);
  color: #fff;
  font: 850 clamp(14px, 1.25vw, 17px)/1.08 "Manrope", sans-serif;
  letter-spacing: -.035em;
}

.simulator-choice-grid > .simulator-visual-card > span,
.simulator-international-choices > .simulator-visual-card > span {
  position: relative;
  z-index: 1;
  display: inline-flex;
  min-height: 30px;
  align-items: center;
  gap: 7px;
  margin: 0;
  padding: 7px 9px;
  border: 1px solid rgba(225, 248, 255, .34);
  border-radius: 8px;
  color: #fff;
  background: rgba(0, 42, 62, .54);
  font: 800 9.5px/1 "Manrope", sans-serif;
}

.simulator-card-wc-1998 {
  background: linear-gradient(145deg, rgba(15, 45, 91, .7), rgba(19, 49, 99, .9)), url("./assets/ui/archive/france-1998.webp") center / cover no-repeat !important;
}

.simulator-card-wc-2002 {
  background: linear-gradient(145deg, rgba(0, 66, 98, .55), rgba(1, 38, 67, .9)), url("./assets/ui/archive/korea-japan-2002.webp") center / cover no-repeat !important;
}

.simulator-card-wc-2006 {
  background: linear-gradient(145deg, rgba(0, 67, 98, .45), rgba(4, 43, 70, .88)), url("./assets/ui/archive/germany-2006.webp") center / cover no-repeat !important;
}

.simulator-card-wc-2010 {
  background: linear-gradient(145deg, rgba(70, 27, 9, .38), rgba(44, 18, 8, .84)), url("./assets/ui/archive/south-africa-2010.webp") center / cover no-repeat !important;
}

.simulator-card-wc-2014 {
  background: linear-gradient(145deg, rgba(0, 87, 89, .42), rgba(0, 49, 59, .86)), url("./assets/ui/archive/brazil-2014.webp") center / cover no-repeat !important;
}

.simulator-card-wc-2018 {
  background: radial-gradient(circle at 82% 12%, rgba(255, 255, 255, .24), transparent 34%), linear-gradient(145deg, #cf392f, #7e151b 68%, #410c14) !important;
}

.simulator-card-wc-2022 {
  background: linear-gradient(145deg, rgba(87, 2, 37, .45), rgba(38, 1, 22, .88)), url("./assets/ui/archive/qatar-2022.webp") center / cover no-repeat !important;
}

.simulator-card-wc-2026 {
  background: radial-gradient(circle at 86% 12%, rgba(50, 255, 215, .28), transparent 34%), linear-gradient(145deg, #0a45ff, #0732a3 64%, #03175e) !important;
}

.simulator-card-euro-2016 {
  background: radial-gradient(circle at 84% 8%, rgba(255, 222, 122, .27), transparent 31%), linear-gradient(145deg, #123a96, #0c2267 66%, #07133e) !important;
}

.simulator-card-euro-2020 {
  background: radial-gradient(circle at 84% 8%, rgba(204, 255, 0, .25), transparent 32%), linear-gradient(145deg, #0aa0ae, #056273 66%, #033a4a) !important;
}

.simulator-card-euro-2024 {
  background: radial-gradient(circle at 85% 10%, rgba(255, 65, 116, .3), transparent 32%), linear-gradient(145deg, #113fb5, #0d237a 64%, #09134d) !important;
}

.simulator-card-copa {
  background: linear-gradient(145deg, rgba(5, 62, 137, .58), rgba(4, 27, 84, .9)), url("./assets/copa-america-2024-bg-desktop.svg") center / cover no-repeat !important;
}

.simulator-card-afcon {
  background: radial-gradient(circle at 85% 8%, rgba(255, 213, 101, .3), transparent 33%), linear-gradient(145deg, #1196ad, #087087 66%, #064654) !important;
}

.simulator-card-premier-league {
  background: radial-gradient(circle at 84% 8%, rgba(255, 255, 255, .18), transparent 32%), linear-gradient(145deg, #642b87, #35104f 70%, #1f082f) !important;
}

.simulator-card-la-liga {
  background: radial-gradient(circle at 84% 8%, rgba(255, 220, 71, .28), transparent 32%), linear-gradient(145deg, #ec2848, #a50d2d 68%, #630b25) !important;
}

.simulator-card-serie-a {
  background: linear-gradient(145deg, rgba(12, 102, 178, .62), rgba(4, 47, 92, .9)), url("./assets/ui/archive/serie-a.webp") center / cover no-repeat !important;
}

.simulator-card-bundesliga {
  background: radial-gradient(circle at 84% 8%, rgba(255, 255, 255, .2), transparent 31%), linear-gradient(145deg, #e1262f, #9d111d 68%, #570910) !important;
}

.simulator-card-ligue-1 {
  background: radial-gradient(circle at 84% 8%, rgba(217, 255, 56, .26), transparent 32%), linear-gradient(145deg, #1744a5, #10255f 68%, #09163c) !important;
}

.simulator-card-championship {
  background: radial-gradient(circle at 84% 8%, rgba(114, 212, 255, .26), transparent 33%), linear-gradient(145deg, #1286bd, #075a83 68%, #053c59) !important;
}

.simulator-card-super-lig {
  background: radial-gradient(circle at 84% 8%, rgba(255, 255, 255, .18), transparent 32%), linear-gradient(145deg, #e33a3f, #a20e23 68%, #610817) !important;
}

.simulator-card-eredivisie {
  background: radial-gradient(circle at 84% 8%, rgba(255, 255, 255, .2), transparent 32%), linear-gradient(145deg, #f28b22, #cc4f18 68%, #7b2910) !important;
}

.simulator-card-belgian {
  background: radial-gradient(circle at 84% 8%, rgba(255, 221, 63, .24), transparent 33%), linear-gradient(145deg, #161616, #3d1711 68%, #1b0908) !important;
}

.simulator-card-ucl {
  background: radial-gradient(circle at 84% 8%, rgba(113, 163, 255, .3), transparent 34%), linear-gradient(145deg, #183c9c, #0d1f65 68%, #070f39) !important;
}

.simulator-card-europa {
  background: radial-gradient(circle at 84% 8%, rgba(255, 146, 54, .32), transparent 34%), linear-gradient(145deg, #2b2b2b, #171717 66%, #080808) !important;
}

.simulator-card-conference {
  background: radial-gradient(circle at 84% 8%, rgba(109, 255, 205, .28), transparent 34%), linear-gradient(145deg, #0a8f70, #075b4b 68%, #03362d) !important;
}

@media (hover: hover) and (pointer: fine) {
  .simulator-choice-grid > .simulator-visual-card:hover,
  .simulator-international-choices > .simulator-visual-card:hover {
    border-color: rgba(238, 252, 255, .76);
    color: #fff;
    box-shadow: inset 0 1px rgba(255, 255, 255, .16), 0 17px 31px rgba(0, 37, 53, .27);
    transform: translateY(-2px);
  }
}

.simulator-choice-grid > .simulator-visual-card:active,
.simulator-international-choices > .simulator-visual-card:active {
  transform: scale(.97);
}

@media (max-width: 700px) {
  .simulator-choice-grid > .simulator-visual-card,
  .simulator-international-choices > .simulator-visual-card {
    min-height: 132px;
    padding: 12px;
    border-radius: 12px;
  }

  .simulator-euros-grid,
  .simulator-world-cup-grid,
  .simulator-international-choices {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .simulator-visual-card > img {
    top: 10px;
    right: 10px;
    width: 50px;
    height: 50px;
  }

  .simulator-visual-card > strong {
    font-size: 13px;
  }
}


/* Shared homepage header: mirror the Predict header exactly. */
body.before-start:not([data-desktop-mode-setup]) .sidebar {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  grid-template-rows: 60px;
  min-height: 60px;
  height: 60px;
  align-items: center;
  gap: 0;
  padding: 0 clamp(16px, 4vw, 44px);
  border-bottom: 1px solid rgba(190, 237, 255, .18);
  background: rgba(4, 93, 128, .94);
  box-shadow: 0 8px 24px rgba(1, 40, 57, .18);
  backdrop-filter: blur(16px);
}

body.before-start:not([data-desktop-mode-setup]) .sidebar .brand {
  position: static;
  grid-column: 1;
  grid-row: 1;
  justify-self: start;
  margin: 0;
  transform: none;
}

body.before-start:not([data-desktop-mode-setup]) .main-section-switch {
  position: static;
  grid-column: 2;
  grid-row: 1;
  justify-self: center;
  margin: 0;
}

body.before-start:not([data-desktop-mode-setup]) .sidebar .header-actions {
  position: static;
  inset: auto;
  grid-column: 3;
  grid-row: 1;
  justify-self: end;
  gap: 6px;
  margin: 0;
  pointer-events: auto;
}

body.before-start:not([data-desktop-mode-setup]) .sidebar .header-actions #newsButton {
  margin-right: 0;
}

body.before-start:not([data-desktop-mode-setup]) .sidebar .header-actions .utility-button {
  min-height: 42px;
  border: 1px solid var(--hub-line) !important;
  border-radius: 999px;
  color: #c9efff;
  background: rgba(2, 70, 98, .48) !important;
}

body.before-start:not([data-desktop-mode-setup]) .sidebar .header-actions .main-account-button {
  background: rgba(7, 132, 181, .72) !important;
}

@media (max-width: 1700px) {
  body.before-start:not([data-desktop-mode-setup]) .sidebar .header-actions .utility-button,
  body.before-start:not([data-desktop-mode-setup]) .sidebar .header-actions #settingsButton,
  body.before-start:not([data-desktop-mode-setup]) .sidebar .header-actions #newsButton {
    width: 42px;
    min-width: 42px;
    height: 42px;
    padding: 0;
  }

  body.before-start:not([data-desktop-mode-setup]) .sidebar .header-actions .utility-button > span:last-child,
  body.before-start:not([data-desktop-mode-setup]) .sidebar .header-actions #settingsButton > span:last-child,
  body.before-start:not([data-desktop-mode-setup]) .sidebar .header-actions #newsButton > span:last-child {
    display: none;
  }
}

@media (max-width: 720px) {
  body.before-start:not([data-desktop-mode-setup]) .sidebar {
    grid-template-columns: auto minmax(0, 1fr);
    grid-template-rows: 60px 52px;
    min-height: 120px;
    height: 120px;
    padding: 0 10px 8px;
    border-bottom: 0;
    background: linear-gradient(to bottom, rgba(4, 93, 128, .98) 0 60px, transparent 60px);
    box-shadow: none;
    backdrop-filter: none;
  }

  body.before-start:not([data-desktop-mode-setup]) .sidebar .brand {
    grid-column: 1;
    grid-row: 1;
    align-self: center;
  }

  body.before-start:not([data-desktop-mode-setup]) .sidebar .header-actions {
    grid-column: 2;
    grid-row: 1;
    align-self: center;
    justify-self: end;
    gap: 3px;
    max-width: calc(100vw - 70px);
  }

  body.before-start:not([data-desktop-mode-setup]) .main-section-switch {
    grid-column: 1 / -1;
    grid-row: 2;
    align-self: end;
    justify-self: center;
    width: min(100%, 340px);
    margin: 7px 0 0;
  }

  body.before-start:not([data-desktop-mode-setup]) .main-section-switch a {
    flex: 1 1 0;
    justify-content: center;
    text-align: center;
  }

  body.before-start:not([data-desktop-mode-setup]) .sidebar .header-actions .utility-button,
  body.before-start:not([data-desktop-mode-setup]) .sidebar .header-actions #settingsButton,
  body.before-start:not([data-desktop-mode-setup]) .sidebar .header-actions #newsButton {
    width: 38px;
    min-width: 38px;
    height: 38px;
    min-height: 38px;
  }
}

@media (max-width: 380px) {
  body.before-start:not([data-desktop-mode-setup]) .sidebar .header-actions {
    gap: 1px;
  }

  body.before-start:not([data-desktop-mode-setup]) .sidebar .header-actions .utility-button,
  body.before-start:not([data-desktop-mode-setup]) .sidebar .header-actions #settingsButton,
  body.before-start:not([data-desktop-mode-setup]) .sidebar .header-actions #newsButton {
    width: 35px;
    min-width: 35px;
    height: 35px;
    min-height: 35px;
  }
}

/* Direct leaderboard routes should never paint the Simulator catalog first. */
html.route-leaderboard body.before-start:not([data-desktop-mode-setup]) .field-overview {
  display: none !important;
}

html.route-leaderboard body.before-start:not([data-desktop-mode-setup]) .main-section-switch a[href="/"] {
  color: var(--hub-muted) !important;
  background: transparent !important;
  box-shadow: none !important;
}

html.route-leaderboard body.before-start:not([data-desktop-mode-setup]) .main-section-switch a[href="/leaderboard"] {
  color: #ffffff !important;
  background: var(--hub-accent) !important;
  box-shadow: 0 6px 18px rgba(1, 40, 57, .2) !important;
}

/* Restore the wide World Cup selector and keep every edition visible. */
.simulator-mode-card-world-cup {
  grid-column: 1 / -1;
  min-height: 205px !important;
}

.simulator-mode-card-world-cup .simulator-mode-options {
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  width: 100%;
}

.simulator-mode-card-world-cup .simulator-mode-options button {
  width: 100%;
  min-height: 40px;
}

/* One complete club-football surface instead of a wall of separate cards. */
.simulator-club-grid {
  grid-template-columns: minmax(0, 1fr);
}

.simulator-mode-card-club-hub {
  min-height: 218px;
  background:
    linear-gradient(110deg, rgba(5, 109, 150, .93), rgba(5, 98, 137, .78)),
    url("./assets/serie-a-2026-27/serie-a-background.png") center / cover no-repeat;
}

.simulator-mode-card-club-hub .simulator-mode-copy {
  max-width: 100%;
}

.simulator-mode-copy h2 {
  margin: 0;
  color: #ffffff;
  font: 850 clamp(18px, 1.55vw, 22px)/1.08 "Manrope", sans-serif;
  letter-spacing: -.04em;
}

.simulator-club-options {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  width: 100%;
  gap: 7px;
}

.simulator-club-options button {
  width: 100%;
  min-height: 40px;
}

/* Keep the core builders in the new 256 Teams blue family. */
.simulator-mode-card-knockout,
.simulator-mode-card-custom-hub {
  background:
    radial-gradient(circle at 86% 12%, rgba(132, 225, 255, .34), transparent 30%),
    linear-gradient(145deg, #1398c7 0%, #0784b5 58%, #05668b 100%);
}

@media (max-width: 700px) {
  .simulator-mode-options {
    flex-wrap: wrap;
    overflow: visible;
  }

  .simulator-mode-card-world-cup {
    min-height: 244px !important;
  }

  .simulator-mode-card-world-cup .simulator-mode-options {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    overflow: visible;
  }

  .simulator-mode-card-club-hub {
    min-height: 388px !important;
  }

  .simulator-club-options {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    overflow: visible;
  }

  .simulator-club-options button {
    min-height: 44px;
    padding-inline: 8px;
  }
}

/* Match the Predict header controls across the Simulator header. */
body.before-start:not([data-desktop-mode-setup]) .sidebar .header-actions .utility-button {
  min-height: 42px;
  height: 42px;
  border: 1px solid var(--hub-line) !important;
  border-radius: 999px;
  color: #c9efff;
  background: rgba(2, 70, 98, .48) !important;
  transition:
    transform 140ms cubic-bezier(.23, 1, .32, 1),
    border-color 160ms ease,
    background-color 160ms ease;
}

body.before-start:not([data-desktop-mode-setup]) .sidebar .header-actions .main-account-button {
  background: rgba(7, 132, 181, .72) !important;
}

@media (max-width: 850px) {
  body.before-start:not([data-desktop-mode-setup]) .sidebar .header-actions .utility-button,
  body.before-start:not([data-desktop-mode-setup]) .sidebar .header-actions #settingsButton,
  body.before-start:not([data-desktop-mode-setup]) .sidebar .header-actions #newsButton {
    width: 38px;
    min-width: 38px;
    min-height: 38px;
    height: 38px;
    padding: 0;
  }
}

@media (max-width: 360px) {
  body.before-start:not([data-desktop-mode-setup]) .sidebar .header-actions .utility-button,
  body.before-start:not([data-desktop-mode-setup]) .sidebar .header-actions #settingsButton,
  body.before-start:not([data-desktop-mode-setup]) .sidebar .header-actions #newsButton {
    width: 35px;
    min-width: 35px;
    min-height: 35px;
    height: 35px;
  }
}
.unfinished-tournament-resume-section {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 17px 18px 17px 21px;
  color: #f7fbff;
  background:
    radial-gradient(circle at 88% 12%, rgba(107, 211, 255, 0.2), transparent 34%),
    linear-gradient(115deg, rgba(5, 111, 151, 0.96), rgba(7, 132, 181, 0.9));
  border: 1px solid rgba(165, 231, 255, 0.3);
  border-radius: 18px;
  box-shadow: 0 12px 28px rgba(0, 54, 78, 0.14);
}

.unfinished-tournament-resume-section[hidden] {
  display: none;
}

.unfinished-tournament-resume-copy h2 {
  margin: 0;
  color: #fff;
  font-size: clamp(1.08rem, 1.8vw, 1.3rem);
  line-height: 1.15;
  letter-spacing: -0.02em;
}

.unfinished-tournament-resume-copy p {
  margin: 5px 0 0;
  color: rgba(224, 247, 255, 0.78);
  font-size: 0.88rem;
  line-height: 1.35;
}

.unfinished-tournament-resume-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 44px;
  padding: 0 17px;
  color: #fff;
  font: inherit;
  font-size: 0.88rem;
  font-weight: 850;
  white-space: nowrap;
  background: rgba(2, 75, 105, 0.58);
  border: 1px solid rgba(197, 240, 255, 0.32);
  border-radius: 12px;
  cursor: pointer;
  transition: transform 150ms ease, background 150ms ease, border-color 150ms ease;
}

.unfinished-tournament-resume-button:hover {
  background: rgba(1, 64, 92, 0.8);
  border-color: rgba(219, 248, 255, 0.58);
}

.unfinished-tournament-resume-button:active {
  transform: scale(0.97);
}

.unfinished-tournament-modal {
  width: min(720px, calc(100vw - 32px));
  max-width: none;
  max-height: min(760px, calc(100dvh - 32px));
  padding: 0;
  overflow: hidden;
  color: #f7fbff;
  background: #08789f;
  border: 1px solid rgba(157, 226, 255, 0.42);
  border-radius: 24px;
  box-shadow: 0 24px 70px rgba(0, 38, 58, 0.34);
}

.unfinished-tournament-modal::backdrop {
  background: rgba(1, 31, 48, 0.72);
}

.unfinished-tournament-modal[open] {
  animation: unfinished-tournament-enter 180ms ease-out both;
}

@keyframes unfinished-tournament-enter {
  from { opacity: 0; transform: translateY(8px) scale(0.985); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

.unfinished-tournament-modal-card {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  max-height: min(760px, calc(100dvh - 32px));
}

.unfinished-tournament-modal-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  padding: 24px 24px 18px;
  background: linear-gradient(135deg, rgba(11, 141, 184, 0.98), rgba(5, 100, 139, 0.98));
  border-bottom: 1px solid rgba(178, 232, 255, 0.22);
}

.unfinished-tournament-modal-header h2 {
  margin: 0;
  color: #fff;
  font-size: clamp(1.35rem, 2.5vw, 1.75rem);
  line-height: 1.15;
  letter-spacing: -0.025em;
}

.unfinished-tournament-modal-header p {
  max-width: 560px;
  margin: 8px 0 0;
  color: rgba(232, 248, 255, 0.82);
  font-size: 0.94rem;
  line-height: 1.45;
}

.unfinished-tournament-close {
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  padding: 0;
  color: #fff;
  font: inherit;
  font-size: 1.65rem;
  line-height: 1;
  background: rgba(2, 73, 101, 0.52);
  border: 1px solid rgba(185, 237, 255, 0.27);
  border-radius: 50%;
  cursor: pointer;
  transition: transform 150ms ease, background 150ms ease, border-color 150ms ease;
}

.unfinished-tournament-close:hover {
  background: rgba(2, 64, 91, 0.76);
  border-color: rgba(207, 245, 255, 0.55);
}

.unfinished-tournament-close:active,
.unfinished-tournament-action:active,
.unfinished-tournament-modal-footer button:active {
  transform: scale(0.97);
}

.unfinished-tournament-list {
  display: grid;
  gap: 10px;
  padding: 16px 20px;
  overflow: auto;
  overscroll-behavior: contain;
  background: linear-gradient(180deg, #08789f 0%, #076f96 100%);
}

.unfinished-tournament-item {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  min-height: 78px;
  padding: 12px 14px;
  background: rgba(4, 87, 119, 0.72);
  border: 1px solid rgba(169, 228, 251, 0.2);
  border-radius: 16px;
  box-shadow: 0 6px 16px rgba(0, 48, 70, 0.08);
}

.unfinished-tournament-mark {
  display: grid;
  place-items: center;
  width: 54px;
  height: 54px;
  overflow: hidden;
  color: #fff;
  font-weight: 900;
  background: rgba(3, 65, 94, 0.58);
  border: 1px solid rgba(194, 239, 255, 0.22);
  border-radius: 14px;
}

.unfinished-tournament-mark img {
  display: block;
  width: 38px;
  height: 38px;
  object-fit: contain;
}

.unfinished-tournament-details {
  min-width: 0;
}

.unfinished-tournament-name {
  display: block;
  overflow: hidden;
  color: #fff;
  font-size: 1rem;
  font-weight: 850;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.unfinished-tournament-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 8px;
  margin-top: 5px;
  color: rgba(220, 245, 255, 0.76);
  font-size: 0.86rem;
  line-height: 1.3;
}

.unfinished-tournament-stage {
  color: #b9edff;
  font-weight: 750;
}

.unfinished-tournament-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.unfinished-tournament-action {
  min-height: 40px;
  padding: 0 14px;
  color: #fff;
  font: inherit;
  font-size: 0.84rem;
  font-weight: 800;
  background: #0b91c4;
  border: 1px solid rgba(189, 238, 255, 0.34);
  border-radius: 11px;
  cursor: pointer;
  transition: transform 150ms ease, background 150ms ease, border-color 150ms ease;
}

.unfinished-tournament-action:hover {
  background: #15a4d9;
  border-color: rgba(221, 248, 255, 0.64);
}

.unfinished-tournament-action.is-delete {
  color: #ffdadd;
  background: rgba(89, 35, 50, 0.42);
  border-color: rgba(255, 151, 161, 0.3);
}

.unfinished-tournament-action.is-delete:hover,
.unfinished-tournament-action.is-delete.is-confirming {
  color: #fff;
  background: #c83a4b;
  border-color: #ff98a4;
}

.unfinished-tournament-modal-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 20px;
  color: rgba(224, 247, 255, 0.78);
  font-size: 0.86rem;
  font-weight: 700;
  background: #05688e;
  border-top: 1px solid rgba(181, 234, 255, 0.2);
}

.unfinished-tournament-modal-footer .secondary-button {
  min-height: 40px;
  padding: 0 18px;
  color: #fff;
  background: rgba(3, 76, 105, 0.64);
  border-color: rgba(185, 237, 255, 0.3);
}

@media (max-width: 620px) {
  .unfinished-tournament-resume-section {
    align-items: stretch;
    flex-direction: column;
    gap: 13px;
    padding: 16px;
  }

  .unfinished-tournament-resume-button {
    width: 100%;
  }

  .unfinished-tournament-modal {
    width: min(100vw - 20px, 520px);
    max-height: calc(100dvh - 20px);
    border-radius: 20px;
  }

  .unfinished-tournament-modal-card {
    max-height: calc(100dvh - 20px);
  }

  .unfinished-tournament-modal-header {
    padding: 20px 18px 16px;
  }

  .unfinished-tournament-list {
    gap: 9px;
    padding: 12px;
  }

  .unfinished-tournament-item {
    grid-template-columns: 46px minmax(0, 1fr);
    gap: 11px;
    padding: 11px;
  }

  .unfinished-tournament-mark {
    width: 46px;
    height: 46px;
    border-radius: 12px;
  }

  .unfinished-tournament-mark img {
    width: 34px;
    height: 34px;
  }

  .unfinished-tournament-actions {
    grid-column: 1 / -1;
    justify-content: flex-end;
  }

  .unfinished-tournament-action {
    flex: 1 1 0;
  }

  .unfinished-tournament-modal-footer {
    padding: 12px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .unfinished-tournament-modal[open] {
    animation: none;
  }

  .unfinished-tournament-close,
  .unfinished-tournament-resume-button,
  .unfinished-tournament-action,
  .unfinished-tournament-modal-footer button {
    transition: none;
  }
}

/* AFC Asian Cup Saudi Arabia 2027 */
:root {
  --ac27-canvas: #001d12;
  --ac27-deep: #002b19;
  --ac27-surface: #00331f;
  --ac27-card: #005430;
  --ac27-raised: #086842;
  --ac27-accent: #94e9b9;
  --ac27-accent-hover: #b7f5d1;
  --ac27-text: #f6fff9;
  --ac27-muted: #b8ddca;
  --ac27-line: rgba(148, 233, 185, .3);
  --ac27-shadow: rgba(0, 16, 10, .5);
}

body.retro-asian-cup-2027-setup-active,
body.retro-mode-active.retro-asian-cup-2027-active {
  --retro-setup-border: var(--ac27-line);
  --retro-setup-panel: radial-gradient(circle at 100% 0, rgba(148, 233, 185, .2), transparent 34%), linear-gradient(145deg, #005430, #00331f 58%, #001d12);
  --retro-setup-card: linear-gradient(180deg, #086842, #00331f);
  --retro-setup-surface: rgba(0, 43, 25, .88);
  --retro-setup-text: var(--ac27-text);
  --retro-setup-muted: var(--ac27-muted);
  --retro-setup-accent: var(--ac27-accent);
  --retro-setup-accent-deep: #4daa73;
  --retro-setup-accent-text: var(--ac27-deep);
  --retro-setup-selected: linear-gradient(145deg, #b7f5d1, #94e9b9);
  --retro-setup-shadow: #001d12;
  --retro-setup-hover: linear-gradient(180deg, #0b7850, #005430);
}

.competition-folder-asian-cup,
.competition-edition-tile.edition-asian-cup-2027,
.mode-card-retro[data-retro-edition="asian-cup-2027"] {
  border-color: var(--ac27-line) !important;
  color: var(--ac27-text) !important;
  background: linear-gradient(145deg, #086842, #00331f 65%, #001d12) !important;
  box-shadow: 0 18px 40px var(--ac27-shadow) !important;
}

.competition-folder-asian-cup :is(strong, small, .competition-folder-hint),
.competition-edition-tile.edition-asian-cup-2027 :is(strong, small, .competition-edition-arrow),
.mode-card-retro[data-retro-edition="asian-cup-2027"] :is(h3, strong, small, p, span) {
  color: var(--ac27-text) !important;
}

.competition-folder-asian-cup .competition-folder-art,
.competition-edition-tile.edition-asian-cup-2027 .competition-edition-art {
  background: rgba(0, 29, 18, .58) !important;
}

.mode-card-retro[data-retro-edition="asian-cup-2027"] :is(.retro-competition-switch, .retro-year-switch, .landing-segmented, .retro-team-picker),
body.retro-asian-cup-2027-setup-active .retro-route-setup-controls :is(.segmented, .retro-team-picker, .landing-segmented) {
  border-color: var(--ac27-line) !important;
  color: var(--ac27-text) !important;
  background: var(--ac27-deep) !important;
}

.mode-card-retro[data-retro-edition="asian-cup-2027"] :is(button.active, button[aria-pressed="true"]),
body.retro-asian-cup-2027-setup-active .retro-route-setup-controls :is(button.active, button[aria-pressed="true"]),
body.retro-asian-cup-2027-setup-active .retro-inline-team-option.is-selected {
  color: var(--ac27-deep) !important;
  background: var(--ac27-accent) !important;
}

body.retro-asian-cup-2027-setup-active {
  color: var(--ac27-text) !important;
  background: var(--ac27-canvas) !important;
}

body.retro-asian-cup-2027-setup-active .retro-tournament-main {
  width: min(1080px, calc(100% - clamp(96px, 18vw, 300px)));
  margin: 0 auto;
  padding: clamp(18px, 3vw, 40px) 0 48px;
}

body.retro-asian-cup-2027-setup-active .retro-route-setup {
  display: grid;
  gap: 18px;
}

body.retro-asian-cup-2027-setup-active .retro-route-setup-controls {
  display: grid;
  gap: 16px;
  padding: clamp(18px, 3vw, 32px);
  border: 1px solid var(--ac27-line) !important;
  color: var(--ac27-text) !important;
  background: var(--retro-setup-panel) !important;
  box-shadow: 0 20px 48px var(--ac27-shadow) !important;
}

body.retro-asian-cup-2027-setup-active .retro-route-setup-controls .retro-landing-settings {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

body.retro-asian-cup-2027-setup-active .retro-inline-team-grid {
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: 8px;
}

body.retro-asian-cup-2027-setup-active :is(.retro-route-setup-back, #restartRetroWorldCupButton, .retro-inline-team-option, .retro-inline-achievement-filter),
body.retro-mode-active.retro-asian-cup-2027-active :is(.retro-screen-action, .retro-screen-restart, .primary-button, .secondary-button, button) {
  border-color: var(--ac27-line) !important;
}

body.retro-asian-cup-2027-setup-active :is(.retro-start-button, #startRetroWorldCupButton):not(:disabled),
body.retro-mode-active.retro-asian-cup-2027-active :is(.primary-button, .retro-screen-action, .live-control):not(:disabled) {
  color: var(--ac27-deep) !important;
  background: var(--ac27-accent) !important;
  box-shadow: none !important;
}

body.retro-asian-cup-2027-setup-active :is(h1, h2, h3, strong, label, p, span),
body.retro-mode-active.retro-asian-cup-2027-active :is(h1, h2, h3, strong) {
  color: var(--ac27-text);
}

body.retro-mode-active.retro-asian-cup-2027-active {
  color: var(--ac27-text);
  background: var(--ac27-canvas) !important;
}

body.retro-mode-active.retro-asian-cup-2027-active .retro-tournament-screen {
  min-height: 100vh;
  color: var(--ac27-text);
  background:
    radial-gradient(circle at 100% 0, rgba(148, 233, 185, .18), transparent 30%),
    radial-gradient(circle at 0 100%, rgba(8, 104, 66, .34), transparent 32%),
    linear-gradient(150deg, #005430, #00331f 58%, #001d12) !important;
}

body.retro-mode-active.retro-asian-cup-2027-active .retro-screen-header {
  border-bottom: 4px solid var(--ac27-accent) !important;
  color: var(--ac27-text) !important;
  background: rgba(0, 43, 25, .97) !important;
  box-shadow: 0 12px 30px var(--ac27-shadow) !important;
}

body.retro-mode-active.retro-asian-cup-2027-active :is(.retro-screen-brand, .retro-tournament-heading, .retro-tournament-progress, .retro-screen-header a, .retro-screen-header button) {
  color: var(--ac27-text) !important;
}

body.retro-mode-active.retro-asian-cup-2027-active :is(.retro-view-tabs, .retro-main-section-switch) {
  border-color: var(--ac27-line) !important;
  background: var(--ac27-deep) !important;
}

body.retro-mode-active.retro-asian-cup-2027-active :is(.retro-view-tabs button.active, .retro-main-section-switch a.is-active, .history-round-button.active) {
  color: var(--ac27-deep) !important;
  background: var(--ac27-accent) !important;
}

body.retro-mode-active.retro-asian-cup-2027-active #mainContent :is(.match-stage, .round-board, .match-analysis, .fixture, .team, .standard-match-tactics, .standard-tactic-buttons, .penalty-stage, .champion-stage),
body.retro-mode-active.retro-asian-cup-2027-active :is(.retro-match-lineups-panel, .retro-lineup-tabs, .retro-manager-lineup, .retro-manager-section, .retro-manager-pitch-box, .retro-squad-view, .retro-squad-position-group, dialog, .modal-panel) {
  border-color: var(--ac27-line) !important;
  color: var(--ac27-text) !important;
  background-color: var(--ac27-surface) !important;
  background-image: linear-gradient(145deg, rgba(8, 104, 66, .45), rgba(0, 51, 31, .92)) !important;
  box-shadow: 6px 6px 0 var(--ac27-shadow) !important;
}

body.retro-mode-active.retro-asian-cup-2027-active #mainContent :is(.panel-heading, .match-analysis-heading, .retro-manager-lineup > header, .retro-squad-heading, .retro-squad-position-group > h2) {
  border-color: var(--ac27-line) !important;
  color: var(--ac27-text) !important;
  background: var(--ac27-deep) !important;
}

body.retro-mode-active.retro-asian-cup-2027-active #mainContent :is(.fixture, .retro-manager-player, .retro-live-rating-row, .standard-tactic-buttons button, input, select),
body.retro-mode-active.retro-asian-cup-2027-active :is(.retro-squad-player, .retro-squad-row, .retro-lineup-side, .retro-lineup-tabs button, input, select, textarea, .dropdown-menu) {
  border-color: var(--ac27-line) !important;
  color: var(--ac27-text) !important;
  background: var(--ac27-card) !important;
}

body.retro-mode-active.retro-asian-cup-2027-active #mainContent :is(.stage-round, #goldenBootTitle, .bracket-result-label, .retro-live-rating-row > b, .retro-squad-player > b, .retro-squad-player > em, .retro-manager-section-title span),
body.retro-mode-active.retro-asian-cup-2027-active :is(.asian-cup-2027-section-title h2, .retro-group-table h2, .asian-cup-2027-best-thirds h2) {
  color: var(--ac27-accent) !important;
}

body.retro-mode-active.retro-asian-cup-2027-active #mainContent .retro-manager-pitch {
  border-color: var(--ac27-accent) !important;
  background: repeating-linear-gradient(90deg, #005430 0 12.5%, #086842 12.5% 25%) !important;
}

body.retro-mode-active.retro-asian-cup-2027-active .asian-cup-2027-section-title {
  padding: .9rem 1rem;
  border-left: 8px solid var(--ac27-accent);
  color: var(--ac27-text);
  background: var(--ac27-surface);
}

body.retro-mode-active.retro-asian-cup-2027-active .retro-groups-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

body.retro-mode-active.retro-asian-cup-2027-active :is(.retro-group-table, .asian-cup-2027-best-thirds) {
  overflow-x: auto;
  border: 1px solid var(--ac27-line);
  color: var(--ac27-text);
  background: var(--ac27-surface);
}

body.retro-mode-active.retro-asian-cup-2027-active :is(.retro-table-head, .asian-cup-2027-best-thirds-head) {
  color: var(--ac27-text) !important;
  background: var(--ac27-deep) !important;
}

body.retro-mode-active.retro-asian-cup-2027-active :is(.retro-table-row, .asian-cup-2027-best-thirds-row) {
  border-color: var(--ac27-line) !important;
  color: var(--ac27-text) !important;
  background: var(--ac27-card) !important;
}

body.retro-mode-active.retro-asian-cup-2027-active :is(.retro-table-row.qualified, .retro-table-row.best-third-qualified, .asian-cup-2027-best-thirds-row.qualified) {
  box-shadow: inset 5px 0 var(--ac27-accent) !important;
}

body.retro-mode-active.retro-asian-cup-2027-active .asian-cup-2027-bracket-scroll {
  overflow-x: auto;
  scrollbar-color: var(--ac27-accent) var(--ac27-deep);
}

body.retro-mode-active.retro-asian-cup-2027-active .asian-cup-2027-bracket {
  display: grid;
  grid-template-columns: repeat(4, minmax(230px, 1fr));
  min-width: 1040px;
  gap: 1.25rem;
  padding: 1rem;
}

body.retro-mode-active.retro-asian-cup-2027-active .asian-cup-2027-bracket-round {
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  gap: 1rem;
}

body.retro-mode-active.retro-asian-cup-2027-active .asian-cup-2027-bracket-match {
  border: 1px solid var(--ac27-line);
  border-left: 4px solid var(--ac27-accent);
  color: var(--ac27-text);
  background: var(--ac27-card);
}

body.retro-mode-active.retro-asian-cup-2027-active .asian-cup-2027-bracket-team {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: .5rem;
  min-height: 42px;
  padding: .5rem .65rem;
  color: var(--ac27-text);
}

body.retro-mode-active.retro-asian-cup-2027-active :is(button, a, input, select, textarea):focus-visible,
body.retro-asian-cup-2027-setup-active :is(button, a, input, select, textarea):focus-visible {
  outline: 3px solid var(--ac27-accent) !important;
  outline-offset: 3px;
}

.achievements-screen[data-achievement-theme="asian-cup-2027"],
.retro-achievements-modal[data-achievement-theme="asian-cup-2027"],
[data-achievement-theme="asian-cup-2027"] {
  --achievement-accent: var(--ac27-accent);
  --achievement-accent-text: var(--ac27-deep);
  --achievement-surface: var(--ac27-card);
  --achievement-surface-deep: var(--ac27-canvas);
  --achievement-tab-surface: var(--ac27-deep);
  --achievement-card: rgba(0, 84, 48, .9);
  --achievement-card-complete: var(--ac27-raised);
  --achievement-copy: var(--ac27-text);
  --achievement-muted: var(--ac27-muted);
  --achievement-points: var(--ac27-accent);
  --achievement-shadow: var(--ac27-shadow);
  border-color: var(--ac27-line) !important;
  color: var(--ac27-text) !important;
  background: linear-gradient(145deg, var(--ac27-card), var(--ac27-canvas)) !important;
}

[data-achievement-theme="asian-cup-2027"] .achievement-year-tabs {
  background: var(--ac27-deep) !important;
}

[data-achievement-theme="asian-cup-2027"] .achievement-year-tabs button:is([aria-selected="true"], .is-selected),
[data-achievement-theme="asian-cup-2027"] .achievement-progress-fill {
  color: var(--ac27-deep) !important;
  background: var(--ac27-accent) !important;
}

@media (max-width: 820px) {
  body.retro-asian-cup-2027-setup-active .retro-tournament-main {
    width: min(100% - 22px, 760px);
  }

  body.retro-asian-cup-2027-setup-active .retro-route-setup-controls .retro-landing-settings,
  body.retro-mode-active.retro-asian-cup-2027-active .retro-groups-grid {
    grid-template-columns: 1fr;
  }

  body.retro-asian-cup-2027-setup-active .retro-inline-team-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  body.retro-asian-cup-2027-setup-active .retro-inline-team-option strong {
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
  }
}

/* AFC Asian Cup Saudi Arabia 2027 */
:root {
  --ac27-canvas: #001d12;
  --ac27-deep: #002b19;
  --ac27-surface: #00331f;
  --ac27-card: #005430;
  --ac27-raised: #086842;
  --ac27-accent: #94e9b9;
  --ac27-accent-hover: #b7f5d1;
  --ac27-text: #f6fff9;
  --ac27-muted: #b8ddca;
  --ac27-line: rgba(148, 233, 185, .3);
  --ac27-shadow: rgba(0, 16, 10, .5);
}

body.retro-asian-cup-2027-setup-active,
body.retro-mode-active.retro-asian-cup-2027-active {
  --retro-setup-border: var(--ac27-line);
  --retro-setup-panel: radial-gradient(circle at 100% 0, rgba(148, 233, 185, .2), transparent 34%), linear-gradient(145deg, #005430, #00331f 58%, #001d12);
  --retro-setup-card: linear-gradient(180deg, #086842, #00331f);
  --retro-setup-surface: rgba(0, 43, 25, .88);
  --retro-setup-text: var(--ac27-text);
  --retro-setup-muted: var(--ac27-muted);
  --retro-setup-accent: var(--ac27-accent);
  --retro-setup-accent-deep: #4daa73;
  --retro-setup-accent-text: var(--ac27-deep);
  --retro-setup-selected: linear-gradient(145deg, #b7f5d1, #94e9b9);
  --retro-setup-shadow: #001d12;
  --retro-setup-hover: linear-gradient(180deg, #0b7850, #005430);
}

.competition-folder-asian-cup,
.competition-edition-tile.edition-asian-cup-2027,
.mode-card-retro[data-retro-edition="asian-cup-2027"] {
  border-color: var(--ac27-line) !important;
  color: var(--ac27-text) !important;
  background: linear-gradient(145deg, #086842, #00331f 65%, #001d12) !important;
  box-shadow: 0 18px 40px var(--ac27-shadow) !important;
}

.competition-folder-asian-cup :is(strong, small, .competition-folder-hint),
.competition-edition-tile.edition-asian-cup-2027 :is(strong, small, .competition-edition-arrow),
.mode-card-retro[data-retro-edition="asian-cup-2027"] :is(h3, strong, small, p, span) {
  color: var(--ac27-text) !important;
}

.competition-folder-asian-cup .competition-folder-art,
.competition-edition-tile.edition-asian-cup-2027 .competition-edition-art {
  background: rgba(0, 29, 18, .58) !important;
}

.mode-card-retro[data-retro-edition="asian-cup-2027"] :is(.retro-competition-switch, .retro-year-switch, .landing-segmented, .retro-team-picker),
body.retro-asian-cup-2027-setup-active .retro-route-setup-controls :is(.segmented, .retro-team-picker, .landing-segmented) {
  border-color: var(--ac27-line) !important;
  color: var(--ac27-text) !important;
  background: var(--ac27-deep) !important;
}

.mode-card-retro[data-retro-edition="asian-cup-2027"] :is(button.active, button[aria-pressed="true"]),
body.retro-asian-cup-2027-setup-active .retro-route-setup-controls :is(button.active, button[aria-pressed="true"]),
body.retro-asian-cup-2027-setup-active .retro-inline-team-option.is-selected {
  color: var(--ac27-deep) !important;
  background: var(--ac27-accent) !important;
}

body.retro-asian-cup-2027-setup-active {
  color: var(--ac27-text) !important;
  background: var(--ac27-canvas) !important;
}

body.retro-asian-cup-2027-setup-active .retro-tournament-main {
  width: min(1080px, calc(100% - clamp(96px, 18vw, 300px)));
  margin: 0 auto;
  padding: clamp(18px, 3vw, 40px) 0 48px;
}

body.retro-asian-cup-2027-setup-active .retro-route-setup {
  display: grid;
  gap: 18px;
}

body.retro-asian-cup-2027-setup-active .retro-route-setup-controls {
  display: grid;
  gap: 16px;
  padding: clamp(18px, 3vw, 32px);
  border: 1px solid var(--ac27-line) !important;
  color: var(--ac27-text) !important;
  background: var(--retro-setup-panel) !important;
  box-shadow: 0 20px 48px var(--ac27-shadow) !important;
}

body.retro-asian-cup-2027-setup-active .retro-route-setup-controls .retro-landing-settings {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

body.retro-asian-cup-2027-setup-active .retro-inline-team-grid {
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: 8px;
}

body.retro-asian-cup-2027-setup-active .retro-inline-team-toolbar {
  display: flex;
  min-height: 38px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 10px;
}

body.retro-asian-cup-2027-setup-active .retro-inline-achievement-filter {
  display: inline-flex;
  min-height: 36px;
  align-items: center;
  gap: 8px;
  padding: 0 13px;
  border: 1px solid var(--retro-setup-border) !important;
  border-radius: 999px !important;
  color: var(--retro-setup-text) !important;
  background: var(--retro-setup-surface) !important;
  font: 800 10px/1 "Manrope", sans-serif;
}

body.retro-asian-cup-2027-setup-active .retro-inline-filter-check {
  display: grid;
  width: 18px;
  height: 18px;
  place-items: center;
  border: 1px solid var(--retro-setup-border);
  border-radius: 50%;
}

body.retro-asian-cup-2027-setup-active .retro-inline-team-count {
  color: var(--retro-setup-muted);
  font: 800 10px/1 "Manrope", sans-serif;
  white-space: nowrap;
}

body.retro-asian-cup-2027-setup-active .retro-inline-team-option {
  display: flex;
  min-width: 0;
  min-height: 70px;
  align-items: center;
  gap: 9px;
  padding: 9px;
  border: 1px solid var(--retro-setup-border);
  border-radius: 7px;
  color: var(--retro-setup-text);
  background: var(--retro-setup-card);
  cursor: pointer;
  font: inherit;
  text-align: left;
}

body.retro-asian-cup-2027-setup-active .retro-inline-team-option > span:last-child {
  display: grid;
  width: 100%;
  min-width: 0;
  align-content: center;
  gap: 2px;
}

body.retro-asian-cup-2027-setup-active .retro-inline-team-option strong {
  display: block;
  overflow: visible;
  font-size: 10px;
  line-height: 1.15;
  text-overflow: clip;
  text-wrap: balance;
  white-space: normal;
}

body.retro-asian-cup-2027-setup-active .retro-inline-team-option small {
  color: var(--retro-setup-muted) !important;
  font-size: 8px;
}

body.retro-asian-cup-2027-setup-active :is(.retro-inline-team-flag, .retro-inline-team-flag img) {
  width: 34px;
  height: 23px;
  flex: 0 0 34px;
  border-radius: 3px;
  object-fit: cover;
}

body.retro-asian-cup-2027-setup-active :is(.retro-route-setup-back, #restartRetroWorldCupButton, .retro-inline-team-option, .retro-inline-achievement-filter),
body.retro-mode-active.retro-asian-cup-2027-active :is(.retro-screen-action, .retro-screen-restart, .primary-button, .secondary-button, button) {
  border-color: var(--ac27-line) !important;
}

body.retro-asian-cup-2027-setup-active :is(.retro-start-button, #startRetroWorldCupButton):not(:disabled),
body.retro-mode-active.retro-asian-cup-2027-active :is(.primary-button, .retro-screen-action, .live-control):not(:disabled) {
  color: var(--ac27-deep) !important;
  background: var(--ac27-accent) !important;
  box-shadow: none !important;
}

body.retro-asian-cup-2027-setup-active :is(h1, h2, h3, strong, label, p, span),
body.retro-mode-active.retro-asian-cup-2027-active :is(h1, h2, h3, strong) {
  color: var(--ac27-text);
}

body.retro-mode-active.retro-asian-cup-2027-active {
  color: var(--ac27-text);
  background: var(--ac27-canvas) !important;
}

body.retro-mode-active.retro-asian-cup-2027-active .retro-tournament-screen {
  min-height: 100vh;
  color: var(--ac27-text);
  background:
    radial-gradient(circle at 100% 0, rgba(148, 233, 185, .18), transparent 30%),
    radial-gradient(circle at 0 100%, rgba(8, 104, 66, .34), transparent 32%),
    linear-gradient(150deg, #005430, #00331f 58%, #001d12) !important;
}

body.retro-mode-active.retro-asian-cup-2027-active .retro-screen-header {
  border-bottom: 4px solid var(--ac27-accent) !important;
  color: var(--ac27-text) !important;
  background: rgba(0, 43, 25, .97) !important;
  box-shadow: 0 12px 30px var(--ac27-shadow) !important;
}

body.retro-mode-active.retro-asian-cup-2027-active :is(.retro-screen-brand, .retro-tournament-heading, .retro-tournament-progress, .retro-screen-header a, .retro-screen-header button) {
  color: var(--ac27-text) !important;
}

body.retro-mode-active.retro-asian-cup-2027-active :is(.retro-view-tabs, .retro-main-section-switch) {
  border-color: var(--ac27-line) !important;
  background: var(--ac27-deep) !important;
}

body.retro-mode-active.retro-asian-cup-2027-active :is(.retro-view-tabs button.active, .retro-main-section-switch a.is-active, .history-round-button.active) {
  color: var(--ac27-deep) !important;
  background: var(--ac27-accent) !important;
}

body.retro-mode-active.retro-asian-cup-2027-active #mainContent :is(.match-stage, .round-board, .match-analysis, .fixture, .team, .standard-match-tactics, .standard-tactic-buttons, .penalty-stage, .champion-stage),
body.retro-mode-active.retro-asian-cup-2027-active :is(.retro-match-lineups-panel, .retro-lineup-tabs, .retro-manager-lineup, .retro-manager-section, .retro-manager-pitch-box, .retro-squad-view, .retro-squad-position-group, dialog, .modal-panel) {
  border-color: var(--ac27-line) !important;
  color: var(--ac27-text) !important;
  background-color: var(--ac27-surface) !important;
  background-image: linear-gradient(145deg, rgba(8, 104, 66, .45), rgba(0, 51, 31, .92)) !important;
  box-shadow: 6px 6px 0 var(--ac27-shadow) !important;
}

body.retro-mode-active.retro-asian-cup-2027-active #mainContent :is(.panel-heading, .match-analysis-heading, .retro-manager-lineup > header, .retro-squad-heading, .retro-squad-position-group > h2) {
  border-color: var(--ac27-line) !important;
  color: var(--ac27-text) !important;
  background: var(--ac27-deep) !important;
}

body.retro-mode-active.retro-asian-cup-2027-active #mainContent :is(.fixture, .retro-manager-player, .retro-live-rating-row, .standard-tactic-buttons button, input, select),
body.retro-mode-active.retro-asian-cup-2027-active :is(.retro-squad-player, .retro-squad-row, .retro-lineup-side, .retro-lineup-tabs button, input, select, textarea, .dropdown-menu) {
  border-color: var(--ac27-line) !important;
  color: var(--ac27-text) !important;
  background: var(--ac27-card) !important;
}

body.retro-mode-active.retro-asian-cup-2027-active #mainContent :is(.stage-round, #goldenBootTitle, .bracket-result-label, .retro-live-rating-row > b, .retro-squad-player > b, .retro-squad-player > em, .retro-manager-section-title span),
body.retro-mode-active.retro-asian-cup-2027-active :is(.asian-cup-2027-section-title h2, .retro-group-table h2, .asian-cup-2027-best-thirds h2) {
  color: var(--ac27-accent) !important;
}

body.retro-mode-active.retro-asian-cup-2027-active #mainContent .retro-manager-pitch {
  border-color: var(--ac27-accent) !important;
  background: repeating-linear-gradient(90deg, #005430 0 12.5%, #086842 12.5% 25%) !important;
}

body.retro-mode-active.retro-asian-cup-2027-active .asian-cup-2027-section-title {
  padding: .9rem 1rem;
  border-left: 8px solid var(--ac27-accent);
  color: var(--ac27-text);
  background: var(--ac27-surface);
}

body.retro-mode-active.retro-asian-cup-2027-active .retro-groups-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

body.retro-mode-active.retro-asian-cup-2027-active :is(.retro-group-table, .asian-cup-2027-best-thirds) {
  overflow-x: auto;
  border: 1px solid var(--ac27-line);
  color: var(--ac27-text);
  background: var(--ac27-surface);
}

body.retro-mode-active.retro-asian-cup-2027-active :is(.retro-table-head, .asian-cup-2027-best-thirds-head) {
  color: var(--ac27-text) !important;
  background: var(--ac27-deep) !important;
}

body.retro-mode-active.retro-asian-cup-2027-active :is(.retro-table-row, .asian-cup-2027-best-thirds-row) {
  border-color: var(--ac27-line) !important;
  color: var(--ac27-text) !important;
  background: var(--ac27-card) !important;
}

body.retro-mode-active.retro-asian-cup-2027-active :is(.retro-table-row.qualified, .retro-table-row.best-third-qualified, .asian-cup-2027-best-thirds-row.qualified) {
  box-shadow: inset 5px 0 var(--ac27-accent) !important;
}

body.retro-mode-active.retro-asian-cup-2027-active .asian-cup-2027-bracket-scroll {
  overflow-x: auto;
  scrollbar-color: var(--ac27-accent) var(--ac27-deep);
}

body.retro-mode-active.retro-asian-cup-2027-active .asian-cup-2027-bracket {
  display: grid;
  grid-template-columns: repeat(4, minmax(230px, 1fr));
  min-width: 1040px;
  gap: 1.25rem;
  padding: 1rem;
}

body.retro-mode-active.retro-asian-cup-2027-active .asian-cup-2027-bracket-round {
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  gap: 1rem;
}

body.retro-mode-active.retro-asian-cup-2027-active .asian-cup-2027-bracket-match {
  border: 1px solid var(--ac27-line);
  border-left: 4px solid var(--ac27-accent);
  color: var(--ac27-text);
  background: var(--ac27-card);
}

body.retro-mode-active.retro-asian-cup-2027-active .asian-cup-2027-bracket-team {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: .5rem;
  min-height: 42px;
  padding: .5rem .65rem;
  color: var(--ac27-text);
}

body.retro-mode-active.retro-asian-cup-2027-active :is(button, a, input, select, textarea):focus-visible,
body.retro-asian-cup-2027-setup-active :is(button, a, input, select, textarea):focus-visible {
  outline: 3px solid var(--ac27-accent) !important;
  outline-offset: 3px;
}

.achievements-screen[data-achievement-theme="asian-cup-2027"],
.retro-achievements-modal[data-achievement-theme="asian-cup-2027"],
[data-achievement-theme="asian-cup-2027"] {
  --achievement-accent: var(--ac27-accent);
  --achievement-accent-text: var(--ac27-deep);
  --achievement-surface: var(--ac27-card);
  --achievement-surface-deep: var(--ac27-canvas);
  --achievement-tab-surface: var(--ac27-deep);
  --achievement-card: rgba(0, 84, 48, .9);
  --achievement-card-complete: var(--ac27-raised);
  --achievement-copy: var(--ac27-text);
  --achievement-muted: var(--ac27-muted);
  --achievement-points: var(--ac27-accent);
  --achievement-shadow: var(--ac27-shadow);
  border-color: var(--ac27-line) !important;
  color: var(--ac27-text) !important;
  background: linear-gradient(145deg, var(--ac27-card), var(--ac27-canvas)) !important;
}

[data-achievement-theme="asian-cup-2027"] .achievement-year-tabs {
  background: var(--ac27-deep) !important;
}

[data-achievement-theme="asian-cup-2027"] .achievement-year-tabs button:is([aria-selected="true"], .is-selected),
[data-achievement-theme="asian-cup-2027"] .achievement-progress-fill {
  color: var(--ac27-deep) !important;
  background: var(--ac27-accent) !important;
}

@media (max-width: 820px) {
  body.retro-asian-cup-2027-setup-active .retro-tournament-main {
    width: min(100% - 22px, 760px);
  }

  body.retro-asian-cup-2027-setup-active .retro-route-setup-controls .retro-landing-settings,
  body.retro-mode-active.retro-asian-cup-2027-active .retro-groups-grid {
    grid-template-columns: 1fr;
  }

  body.retro-asian-cup-2027-setup-active .retro-inline-team-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  body.retro-asian-cup-2027-setup-active .retro-inline-team-option strong {
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
  }
}

body.retro-asian-cup-2027-setup-active .retro-route-setup { width: 100%; max-width: none !important; grid-template-columns: minmax(0, 1fr) !important; }
body.retro-asian-cup-2027-setup-active .retro-route-setup-controls { width: 100%; max-width: none !important; }

body.retro-mode-active.retro-asian-cup-2027-active .retro-tournament-main::before { content: none !important; }
body.retro-mode-active.retro-asian-cup-2027-active :is(.retro-view-tabs button.active, .retro-main-section-switch a.is-active, .history-round-button.active) { color: #002b19 !important; background: #94e9b9 !important; box-shadow: inset 0 -4px #4daa73 !important; }
body.retro-mode-active.retro-asian-cup-2027-active #mainContent :is(.spoiler-panel, .standard-match-tactics, .standard-tactic-buttons) { border-color: rgba(148,233,185,.3) !important; color: #f6fff9 !important; background: #002b19 !important; box-shadow: none !important; }
body.retro-mode-active.retro-asian-cup-2027-active #mainContent .standard-tactic-buttons button.active { border-color: #94e9b9 !important; color: #002b19 !important; background: #94e9b9 !important; box-shadow: inset 0 -4px #4daa73 !important; }
body.retro-mode-active.retro-asian-cup-2027-active :is(.retro-group-table, .asian-cup-2027-best-thirds) { box-shadow: 6px 6px 0 rgba(0,16,10,.5) !important; }
body.retro-mode-active.retro-asian-cup-2027-active :is(.retro-view-tabs, .retro-main-section-switch) { border-color: rgba(148,233,185,.3) !important; background: #002b19 !important; box-shadow: 9px 9px 0 rgba(0,29,18,.55) !important; }
body.retro-mode-active.retro-asian-cup-2027-active #mainContent :is(.panel, .spoiler-icon) { border-color: rgba(148,233,185,.3) !important; box-shadow: 8px 8px 0 rgba(0,29,18,.55) !important; }
body.retro-mode-active.retro-asian-cup-2027-active #mainContent .spoiler-icon { color: #002b19 !important; background: #94e9b9 !important; }
body.retro-mode-active.retro-asian-cup-2027-active .retro-view-tabs::before { border-color: #94e9b9 !important; color: #94e9b9 !important; background: #94e9b9 !important; }
body.retro-mode-active.retro-asian-cup-2027-active #mainContent :is(.retro-squad-position-group h2, .retro-squad-number, .retro-squad-row > i, .retro-squad-heading small, .retro-squad-heading em) { border-color: #94e9b9 !important; color: #94e9b9 !important; }

/* Asian Cup 2027 clean tournament UI corrections. */
.competition-folder-asian-cup .competition-folder-art,.competition-edition-tile.edition-asian-cup-2027 .competition-edition-art{overflow:hidden}.competition-folder-asian-cup .competition-folder-art img,.competition-edition-tile.edition-asian-cup-2027 .competition-edition-art img{width:78%!important;height:90%!important;object-fit:cover!important;object-position:center top!important;transform:none!important}body.retro-asian-cup-2027-setup-active .retro-screen-header,body.retro-mode-active.retro-asian-cup-2027-active .retro-screen-header{min-height:72px;border-bottom:1px solid var(--ac27-line)!important;background:rgba(0,43,25,.98)!important;box-shadow:none!important}body.retro-asian-cup-2027-setup-active .retro-screen-header :is(.retro-screen-restart,.retro-screen-action),body.retro-mode-active.retro-asian-cup-2027-active .retro-screen-header :is(.retro-screen-restart,.retro-screen-action){border:1px solid var(--ac27-line)!important;border-radius:4px!important;color:var(--ac27-text)!important;background:var(--ac27-surface)!important;box-shadow:none!important;clip-path:none!important}body.retro-asian-cup-2027-setup-active .retro-screen-brand .brand-mark,body.retro-mode-active.retro-asian-cup-2027-active .retro-screen-brand .brand-mark{border:1px solid var(--ac27-line)!important;border-radius:4px!important;color:var(--ac27-text)!important;background:var(--ac27-card)!important;box-shadow:none!important}body.retro-asian-cup-2027-setup-active .retro-route-setup-identity{min-height:48px;padding:7px 14px;border:1px solid var(--ac27-line);border-radius:4px;background:var(--ac27-surface);box-shadow:none}body.retro-asian-cup-2027-setup-active .retro-route-setup-identity img{width:34px!important;height:39px!important;flex-basis:34px!important;object-fit:cover!important;object-position:center top!important}body.retro-mode-active.retro-asian-cup-2027-active .retro-tournament-heading{position:relative;min-height:84px;align-items:center;padding:14px 20px 14px 94px;border:1px solid var(--ac27-line);border-radius:4px;background:linear-gradient(135deg,var(--ac27-card),var(--ac27-surface));box-shadow:none}body.retro-mode-active.retro-asian-cup-2027-active .retro-tournament-heading::before{position:absolute;top:11px;bottom:11px;left:20px;width:54px;border:0;background:url("./assets/asian-cup-2027-logo.png") center top/54px auto no-repeat;content:""}body.retro-mode-active.retro-asian-cup-2027-active .retro-tournament-heading>*{visibility:visible!important;pointer-events:auto!important}body.retro-mode-active.retro-asian-cup-2027-active .retro-tournament-heading>div:first-child>span{display:none!important}body.retro-mode-active.retro-asian-cup-2027-active .retro-tournament-heading h1{color:var(--ac27-text)!important;text-shadow:none!important}body.retro-mode-active.retro-asian-cup-2027-active .retro-tournament-progress :is(span,strong){color:var(--ac27-muted)!important;text-shadow:none!important}body.retro-mode-active.retro-asian-cup-2027-active :is(.retro-view-tabs,.retro-main-section-switch){border-radius:4px!important;box-shadow:none!important}body.retro-mode-active.retro-asian-cup-2027-active :is(.retro-view-tabs,.retro-main-section-switch)::before,body.retro-mode-active.retro-asian-cup-2027-active #mainContent :is(.match-stage,.round-board,.match-analysis)::before{display:none!important;content:none!important}body.retro-asian-cup-2027-setup-active :is(.retro-route-setup-back,.retro-start-button,.retro-inline-team-option,.retro-inline-achievement-filter,.segmented,.segmented button,.retro-team-picker),body.retro-mode-active.retro-asian-cup-2027-active :is(.retro-view-tabs,.retro-view-tabs button,.retro-main-section-switch,.retro-main-section-switch a,.primary-button,.play-button,.secondary-button,.live-control,.text-button,.history-round-button,.load-more,.go-to-top,.snapshot-card-button){border-radius:4px!important;clip-path:none!important;box-shadow:none!important}body.retro-mode-active.retro-asian-cup-2027-active #mainContent :is(.match-stage,.round-board,.match-analysis,.standard-match-tactics,.standard-tactic-buttons,.penalty-stage,.champion-stage,.panel,.fixture){border-radius:4px!important;clip-path:none!important;box-shadow:none!important}body.retro-mode-active.retro-asian-cup-2027-active #mainContent .matchup>.team{border:0!important;border-radius:0!important;background:transparent!important;background-image:none!important;box-shadow:none!important;clip-path:none!important}body.retro-asian-cup-2027-setup-active .retro-route-setup-controls .retro-landing-settings{grid-template-columns:repeat(2,minmax(0,1fr))!important}body.retro-asian-cup-2027-setup-active .retro-route-setup-controls .retro-landing-settings>.landing-setting:not(.landing-team-setting){grid-column:auto!important}body.retro-asian-cup-2027-setup-active .retro-route-setup-controls .retro-landing-settings>.landing-team-setting{grid-column:1/-1!important}@media(max-width:560px){body.retro-asian-cup-2027-setup-active .retro-route-setup-controls .retro-landing-settings{grid-template-columns:1fr!important}body.retro-asian-cup-2027-setup-active .retro-route-setup-controls .retro-landing-settings>.landing-setting{grid-column:1!important}body.retro-mode-active.retro-asian-cup-2027-active .retro-tournament-heading{min-height:72px;padding:10px 12px 10px 70px}body.retro-mode-active.retro-asian-cup-2027-active .retro-tournament-heading::before{top:9px;bottom:9px;left:12px;width:44px;background-size:44px auto}}
