:root {
  --spl-flag-green: #005430;
  --spl-canvas: #00331f;
  --spl-canvas-deep: #001d12;
  --spl-panel: #00462a;
  --spl-panel-raised: #086842;
  --spl-panel-soft: #003a24;
  --spl-mint: #e8fff2;
  --spl-mint-soft: #c9f6dc;
  --spl-ink: #f6fff9;
  --spl-muted: #b8ddca;
  --spl-line: rgba(201, 246, 220, .24);
  --spl-line-strong: rgba(201, 246, 220, .52);
  --spl-accent: #94e9b9;
  --spl-accent-ink: #002b19;
  --spl-warning: #f2c66d;
  --spl-shadow: rgba(0, 24, 14, .64);
  --spl-gradient: linear-gradient(135deg, #e8fff2 0%, #94e9b9 100%);
  --spl-logo-full-surface: #e8fff2;
  --spl-logo-white-surface: #005430;
  --spl-canvas-background:
    radial-gradient(circle at 84% 5%, rgba(148, 233, 185, .13), transparent 31rem),
    linear-gradient(118deg, rgba(201, 246, 220, .07) 0 14%, transparent 14% 86%, rgba(201, 246, 220, .05) 86%),
    var(--spl-canvas-deep);
}

html.route-saudi-pro-league-loading,
html.route-saudi-pro-league-loading body {
  min-height: 100%;
  color-scheme: dark;
  background: var(--spl-canvas-background);
}

html.route-saudi-pro-league-loading #appShell {
  display: none !important;
}

html.route-saudi-pro-league-loading #premierLeagueSeasonScreen {
  display: block !important;
  visibility: hidden;
}

html.route-saudi-pro-league-loading #premierLeagueSeasonScreen[data-league-edition^="saudi-pro-league-"] {
  visibility: visible;
}

.mode-card-saudi-pro-league {
  border-color: var(--spl-line-strong);
  color: var(--spl-ink);
  background:
    radial-gradient(circle at 88% 10%, rgba(148, 233, 185, .18), transparent 34%),
    linear-gradient(145deg, var(--spl-panel-raised), var(--spl-flag-green) 54%, var(--spl-canvas-deep));
  box-shadow: 0 22px 52px rgba(0, 24, 14, .48);
}

.mode-card-domestic-league.is-saudi-pro-league-preview,
.mode-card-domestic-league[data-domestic-league-preview="saudiProLeague"] {
  border-color: var(--spl-line-strong);
  color: var(--spl-ink);
  background:
    radial-gradient(circle at 88% 0, rgba(148, 233, 185, .2), transparent 36%),
    linear-gradient(145deg, var(--spl-panel-raised), var(--spl-flag-green) 54%, var(--spl-canvas-deep));
  box-shadow: 0 22px 52px rgba(0, 24, 14, .5);
}

.mode-card-domestic-league.is-saudi-pro-league-preview .domestic-league-switch,
.mode-card-domestic-league[data-domestic-league-preview="saudiProLeague"] .domestic-league-switch {
  border-color: var(--spl-line-strong);
  background: rgba(0, 29, 18, .88);
}

.mode-card-domestic-league.is-saudi-pro-league-preview .domestic-league-switch button,
.mode-card-domestic-league[data-domestic-league-preview="saudiProLeague"] .domestic-league-switch button {
  color: var(--spl-muted);
}

.mode-card-domestic-league.is-saudi-pro-league-preview .domestic-league-switch button.active,
.mode-card-domestic-league[data-domestic-league-preview="saudiProLeague"] .domestic-league-switch button.active {
  color: var(--spl-accent-ink);
  background: var(--spl-gradient);
  box-shadow: inset 0 0 0 1px rgba(201, 246, 220, .36);
}

.domestic-league-flag.flag-saudi-arabia {
  position: relative;
  background: var(--spl-flag-green);
}

.domestic-league-flag.flag-saudi-arabia::before {
  position: absolute;
  top: 5px;
  left: 6px;
  width: 12px;
  height: 1px;
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 2px #fff, 0 4px #fff;
  content: "";
}

.domestic-league-flag.flag-saudi-arabia::after {
  position: absolute;
  right: 5px;
  bottom: 3px;
  width: 13px;
  height: 1px;
  border-radius: 999px 0 0 999px;
  background: #fff;
  box-shadow: -2px -1px 0 -0.25px #fff;
  content: "";
  transform: skewX(-18deg);
  transform-origin: right center;
}

.domestic-league-switch:has([data-domestic-country="saudi-arabia"]) {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.mode-card-saudi-pro-league .landing-settings,
.mode-card-saudi-pro-league .mode-card-actions {
  position: relative;
  z-index: 2;
}

.saudi-pro-league-heading {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 16px;
}

.saudi-pro-league-heading h3 {
  margin: 0;
  color: var(--spl-ink);
  font-family: "Manrope", sans-serif;
  font-size: clamp(23px, 2.2vw, 31px);
  font-weight: 900;
  letter-spacing: -.045em;
}

.saudi-pro-league-heading p {
  max-width: 48ch;
  margin: 6px 0 0;
  color: var(--spl-muted);
  font-size: 12px;
  line-height: 1.5;
}

.saudi-pro-league-brand-mark {
  display: grid;
  width: 66px;
  height: 66px;
  flex: 0 0 66px;
  place-items: center;
  border: 1px solid var(--spl-line-strong);
  border-radius: 15px;
  background: var(--spl-logo-white-surface);
  box-shadow: 0 12px 30px var(--spl-shadow), inset 0 1px rgba(255, 255, 255, .12);
  pointer-events: none;
}

.saudi-pro-league-brand-mark img {
  display: block;
  width: 54px;
  max-height: 54px;
  object-fit: contain;
  filter: drop-shadow(0 8px 15px rgba(0, 24, 14, .42));
}

/* The full-colour RSL mark is reserved for this pale-mint audit surface. */
.saudi-pro-league-asset-pack-intro img[src*="saudi-pro-league-logo.png"] {
  box-sizing: border-box;
  width: 70px;
  height: 70px;
  padding: 7px;
  border: 1px solid var(--spl-line-strong);
  border-radius: 13px;
  object-fit: contain;
  background: var(--spl-logo-full-surface);
  filter: drop-shadow(0 8px 16px rgba(0, 24, 14, .26));
}

/* Every dark-green brand placement uses the transparent white derivative. */
:is(
  .saudi-pro-league-brand-mark,
  .competition-folder-saudi-pro-league .competition-folder-art,
  .edition-saudi-pro-league .competition-edition-art,
  .feature-announcement-saudi-pro-league-visual,
  body.saudi-pro-league-route-setup-active .domestic-route-setup-intro
) img[src*="saudi-pro-league-logo"] {
  content: url("./assets/saudi-pro-league-2026-27/saudi-pro-league-logo-white.png");
}

body.saudi-pro-league-route-setup-active .pl-season-header {
  border-bottom-color: var(--spl-line-strong) !important;
  color: var(--spl-ink);
  background: linear-gradient(108deg, var(--spl-canvas-deep), var(--spl-flag-green) 62%, var(--spl-panel-raised)) !important;
}

body.saudi-pro-league-route-setup-active .domestic-route-setup-intro img {
  box-sizing: border-box;
  width: 44px;
  height: 44px;
  padding: 3px;
  border: 1px solid var(--spl-line-strong);
  border-radius: 11px;
  object-fit: contain;
  background: var(--spl-logo-white-surface);
}

body.saudi-pro-league-route-setup-active .domestic-route-setup-intro h1 {
  color: var(--spl-ink);
}

.mode-card-saudi-pro-league .landing-setting,
.saudi-pro-league-route-setup-active .saudi-pro-league-settings .landing-setting {
  border-color: var(--spl-line);
  color: var(--spl-ink);
  background: rgba(0, 58, 36, .84);
}

.mode-card-saudi-pro-league :is(.landing-setting-heading, .landing-setting > span, .landing-team-setting > span),
.saudi-pro-league-route-setup-active .saudi-pro-league-settings :is(.landing-setting-heading, .landing-setting > span, .landing-team-setting > span) {
  color: var(--spl-muted) !important;
}

.mode-card-saudi-pro-league .landing-segmented,
.saudi-pro-league-route-setup-active .saudi-pro-league-settings .landing-segmented {
  border-color: var(--spl-line);
  background: var(--spl-canvas-deep);
}

.mode-card-saudi-pro-league .landing-segmented button,
.saudi-pro-league-route-setup-active .saudi-pro-league-settings .landing-segmented button {
  color: var(--spl-muted);
}

.mode-card-saudi-pro-league .landing-segmented button.active,
.saudi-pro-league-route-setup-active .saudi-pro-league-settings .landing-segmented button.active,
.saudi-pro-league-launch-button,
.mode-card-saudi-pro-league .saudi-pro-league-install-button.is-installed {
  border-color: transparent !important;
  color: var(--spl-accent-ink) !important;
  background: var(--spl-gradient) !important;
  box-shadow: 0 10px 24px rgba(148, 233, 185, .25);
}

.mode-card-saudi-pro-league :is(.landing-setting-info summary, .saudi-pro-league-team-picker) {
  border-color: var(--spl-line) !important;
  color: var(--spl-ink) !important;
  background: var(--spl-panel-raised) !important;
}

.mode-card-saudi-pro-league .landing-setting-info-panel {
  border-color: var(--spl-line-strong);
  color: var(--spl-muted);
  background: var(--spl-panel-soft);
  box-shadow: 0 18px 44px var(--spl-shadow);
}

.mode-card-saudi-pro-league .landing-setting-info-panel strong,
.saudi-pro-league-team-picker .spectate-picker-copy strong {
  color: var(--spl-ink);
}

.saudi-pro-league-team-picker :is(.spectate-picker-copy small, .spectate-picker-arrow) {
  color: var(--spl-muted);
}

.saudi-pro-league-team-mark {
  border-color: var(--spl-line-strong);
  color: var(--spl-accent-ink);
  background: var(--spl-gradient);
}

.saudi-pro-league-team-picker.has-team .saudi-pro-league-team-mark {
  overflow: visible;
  border-color: transparent;
  background: transparent;
  box-shadow: none;
}

.saudi-pro-league-team-mark img,
.saudi-pro-league-club-badge {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.mode-card-saudi-pro-league .saudi-pro-league-install-button,
body.before-start:not([data-desktop-mode-setup]) .mode-card-saudi-pro-league .saudi-pro-league-install-button,
body.saudi-pro-league-route-setup-active #premierLeagueRouteSetupControls .saudi-pro-league-install-button {
  border-color: var(--spl-line-strong) !important;
  color: var(--spl-ink) !important;
  background: rgba(0, 29, 18, .8) !important;
  white-space: nowrap;
}

.saudi-pro-league-menu-restart {
  color: var(--spl-accent) !important;
}

.mode-card-saudi-pro-league :is(button, summary):disabled,
.saudi-pro-league-route-setup-active :is(button, summary):disabled,
body[data-domestic-league-edition^="saudi-pro-league-"] :is(button, input):disabled {
  cursor: not-allowed !important;
  filter: saturate(.45);
  opacity: .5;
  box-shadow: none !important;
}

body.saudi-pro-league-route-setup-active .domestic-inline-team-option {
  border-color: var(--spl-line);
  color: var(--spl-ink);
  background: var(--spl-panel-soft);
}

body.saudi-pro-league-route-setup-active .domestic-inline-team-option[aria-selected="true"] {
  border-color: var(--spl-accent);
  color: var(--spl-accent-ink);
  background: var(--spl-gradient);
  box-shadow: inset 4px 0 0 var(--spl-flag-green), 0 8px 22px rgba(0, 24, 14, .28);
}

body.saudi-pro-league-route-setup-active .domestic-inline-team-option[aria-selected="true"] :is(strong, small) {
  color: var(--spl-accent-ink);
}

body.saudi-pro-league-route-setup-active .domestic-inline-team-mark .premier-league-club-code {
  border-color: var(--spl-line-strong);
  color: var(--spl-ink);
  background: linear-gradient(145deg, var(--spl-panel-raised), var(--spl-canvas-deep));
}

.saudi-pro-league-asset-pack-modal,
.saudi-pro-league-asset-pack-modal .pl-asset-pack-shell {
  border-color: var(--spl-line-strong);
  color: var(--spl-ink);
  background: var(--spl-panel-soft);
  box-shadow: 0 28px 90px rgba(0, 24, 14, .78);
}

.saudi-pro-league-asset-pack-modal::backdrop {
  background: rgba(0, 22, 13, .88);
  backdrop-filter: blur(7px);
}

.saudi-pro-league-asset-pack-modal :is(.modal-head, .pl-asset-pack-intro, .pl-asset-pack-badge) {
  border-color: var(--spl-line);
}

.saudi-pro-league-asset-pack-modal .modal-head h2 {
  color: var(--spl-ink);
}

.saudi-pro-league-asset-pack-modal .pl-asset-pack-intro {
  color: var(--spl-muted);
  background: var(--spl-panel);
}

.saudi-pro-league-asset-pack-modal .pl-asset-pack-badge {
  background: var(--spl-panel-raised);
}

.saudi-pro-league-asset-pack-modal .pl-asset-pack-actions .primary-button {
  color: var(--spl-accent-ink);
  background: var(--spl-gradient);
}

#spectateModal[data-domestic-league="saudi-pro-league"] {
  overflow-x: hidden;
  border: 1px solid var(--spl-line-strong);
  color: var(--spl-ink);
  background: var(--spl-panel);
  box-shadow: 0 26px 72px rgba(0, 24, 14, .72);
  scrollbar-color: var(--spl-accent) var(--spl-panel-soft);
}

#spectateModal[data-domestic-league="saudi-pro-league"]::backdrop {
  background: rgba(0, 22, 13, .84);
  backdrop-filter: blur(7px);
}

#spectateModal[data-domestic-league="saudi-pro-league"] :is(.close-modal, .prediction-search, .prediction-option) {
  border-color: var(--spl-line);
  color: var(--spl-ink);
  background: var(--spl-panel-raised);
}

#spectateModal[data-domestic-league="saudi-pro-league"] :is(.prediction-option small, .spectate-modal-copy) {
  color: var(--spl-muted);
}

#spectateModal[data-domestic-league="saudi-pro-league"] .prediction-search input {
  color: var(--spl-ink);
  background: transparent;
}

#spectateModal[data-domestic-league="saudi-pro-league"] .prediction-search input::placeholder {
  color: var(--spl-muted);
  opacity: .78;
}

#spectateModal[data-domestic-league="saudi-pro-league"] .prediction-search:focus-within {
  border-color: var(--spl-accent);
  box-shadow: 0 0 0 3px rgba(148, 233, 185, .18);
}

#spectateModal[data-domestic-league="saudi-pro-league"] :is(.spectate-neutral-mark, .prediction-option.selected) {
  color: var(--spl-accent-ink);
  background: var(--spl-gradient);
}

#spectateModal[data-domestic-league="saudi-pro-league"] .prediction-option.selected {
  box-shadow: inset 4px 0 0 var(--spl-flag-green);
}

#spectateModal[data-domestic-league="saudi-pro-league"] .prediction-option.selected :is(strong, small) {
  color: var(--spl-accent-ink);
}

#premierLeagueSeasonScreen[data-league-edition^="saudi-pro-league-"] {
  --pl-canvas: var(--spl-canvas-deep);
  --pl-panel: var(--spl-panel);
  --pl-panel-raised: var(--spl-panel-raised);
  --pl-text: var(--spl-ink);
  --pl-muted: var(--spl-muted);
  --pl-border: var(--spl-line);
  --pl-accent: var(--spl-accent);
  min-height: 100vh;
  color: var(--spl-ink);
  color-scheme: dark;
  background: var(--spl-canvas-background);
}

#premierLeagueSeasonScreen[data-league-edition^="saudi-pro-league-"] .pl-season-header {
  border-bottom-color: var(--spl-line-strong);
  color: var(--spl-ink);
  background: rgba(0, 29, 18, .94);
  box-shadow: 0 14px 42px rgba(0, 24, 14, .4);
  backdrop-filter: blur(16px);
}

#premierLeagueSeasonScreen[data-league-edition^="saudi-pro-league-"] .pl-season-header :is(.utility-button, .pl-season-restart-button, #plSeasonAccountLabel) {
  color: var(--spl-ink);
}

#premierLeagueSeasonScreen[data-league-edition^="saudi-pro-league-"] .pl-season-header :is(.utility-button, .pl-season-restart-button) {
  border-color: var(--spl-line);
  background: transparent;
}

#premierLeagueSeasonScreen[data-league-edition^="saudi-pro-league-"] .pl-season-utility-actions .header-donate-link,
#premierLeagueSeasonScreen[data-league-edition^="saudi-pro-league-"] .pl-season-site-brand .brand-mark,
body[data-domestic-league-edition^="saudi-pro-league-"] .sidebar .brand-mark {
  border-color: var(--spl-line-strong);
  color: var(--spl-accent-ink);
  background: var(--spl-gradient);
}

#premierLeagueSeasonScreen[data-league-edition^="saudi-pro-league-"] :is(.pl-season-main, .mode-route-setup) {
  color: var(--spl-ink);
}

#premierLeagueSeasonScreen[data-league-edition^="saudi-pro-league-"] .mode-route-setup {
  background: var(--spl-canvas-background);
}

#premierLeagueSeasonScreen[data-league-edition^="saudi-pro-league-"] :is(
  .mode-route-setup-panel,
  .pl-panel,
  .pl-season-progress-card,
  .pl-overview-panel,
  .pl-matches-panel,
  .pl-table-panel,
  .pl-squads-panel,
  .pl-club-card,
  .pl-story-card,
  .pl-squad-card,
  .pl-transfer-panel,
  .pl-finale-award,
  .pl-finale-place
) {
  border-color: var(--spl-line);
  color: var(--spl-ink);
  background: rgba(0, 70, 42, .92);
  box-shadow: 0 18px 46px rgba(0, 24, 14, .32);
}

#premierLeagueSeasonScreen[data-league-edition^="saudi-pro-league-"] :is(.premier-league-club-code, .pl-club-code) {
  border-color: var(--spl-line-strong);
  color: var(--spl-ink);
  background: linear-gradient(145deg, var(--spl-panel-raised), var(--spl-canvas-deep));
}

#premierLeagueSeasonScreen[data-league-edition^="saudi-pro-league-"] :is(.pl-season-action-row, .pl-season-tabs) {
  border-color: var(--spl-line);
  background: rgba(0, 58, 36, .92);
}

#premierLeagueSeasonScreen[data-league-edition^="saudi-pro-league-"] :is(
  .pl-primary-button,
  .pl-finale-actions .is-primary,
  .pl-season-tabs button.active,
  .pl-matchweek-nav button.active,
  .pl-fixture-play:not(:disabled)
) {
  border-color: transparent;
  color: var(--spl-accent-ink);
  background: var(--spl-gradient);
  box-shadow: 0 8px 22px rgba(148, 233, 185, .22);
}

#premierLeagueSeasonScreen[data-league-edition^="saudi-pro-league-"] :is(.pl-season-tabs button, .pl-back-button, .mode-route-setup-back, .pl-matchweek-nav button) {
  color: var(--spl-muted);
}

#premierLeagueSeasonScreen[data-league-edition^="saudi-pro-league-"] :is(.pl-season-date span, .pl-panel-kicker, .pl-stat-label, .pl-squad-meta, .pl-transfer-row time, small) {
  color: var(--spl-muted);
}

#premierLeagueSeasonScreen[data-league-edition^="saudi-pro-league-"] :is(.pl-fixture-row, .pl-table-head, .pl-table-row, .pl-transfer-row, .pl-player-list span) {
  border-color: var(--spl-line);
  color: var(--spl-ink);
  background: rgba(0, 58, 36, .76);
}

#premierLeagueSeasonScreen[data-league-edition^="saudi-pro-league-"] .pl-table-head {
  color: var(--spl-muted);
  background: var(--spl-canvas-deep);
}

#premierLeagueSeasonScreen[data-league-edition^="saudi-pro-league-"] :is(.pl-panel-heading button, .pl-panel-heading a, .pl-panel-footer button, .pl-transfer-row time span, .pl-transfer-route > b) {
  color: var(--spl-accent);
}

#premierLeagueSeasonScreen[data-league-edition^="saudi-pro-league-"] :is(.pl-table-row.is-selected, .pl-fixture-row.is-managed-match) {
  background: rgba(8, 104, 66, .9);
  box-shadow: inset 4px 0 var(--spl-accent);
}

#premierLeagueSeasonScreen[data-league-edition^="saudi-pro-league-"] :is(.pl-table-row.is-champions-league, .pl-table-row.is-europe-secondary) {
  box-shadow: inset 3px 0 var(--spl-accent);
}

#premierLeagueSeasonScreen[data-league-edition^="saudi-pro-league-"] .pl-table-row.is-champions-league::before {
  background: var(--spl-accent);
}

#premierLeagueSeasonScreen[data-league-edition^="saudi-pro-league-"] .pl-table-row.is-relegation {
  box-shadow: inset 3px 0 var(--spl-warning);
}

#premierLeagueSeasonScreen[data-league-edition^="saudi-pro-league-"] :is(.pl-squad-arrivals span, .pl-finale-award-mark, .pl-transfer-monogram) {
  color: var(--spl-accent-ink);
  background: var(--spl-gradient);
}

#premierLeagueSeasonScreen[data-league-edition^="saudi-pro-league-"] .pl-squad-card .pl-squad-rating,
#premierLeagueSeasonScreen[data-league-edition^="saudi-pro-league-"] .pl-squad-card .pl-squad-rating span,
#premierLeagueSeasonScreen[data-league-edition^="saudi-pro-league-"] .pl-player-list i em {
  color: var(--spl-accent);
  background: transparent;
}

#premierLeagueSeasonScreen[data-league-edition^="saudi-pro-league-"] .pl-season-champion {
  border-color: var(--spl-line-strong);
  background: linear-gradient(135deg, var(--spl-panel-raised), var(--spl-canvas-deep));
}

#premierLeagueSeasonScreen[data-league-edition^="saudi-pro-league-"] .pl-season-champion span {
  color: var(--spl-accent);
}

#premierLeagueSeasonScreen[data-league-edition^="saudi-pro-league-"] .pl-season-finale {
  border-color: var(--spl-line-strong);
  color: var(--spl-ink);
  background: var(--spl-canvas-background);
  box-shadow: 0 22px 60px rgba(0, 24, 14, .5);
}

#premierLeagueSeasonScreen[data-league-edition^="saudi-pro-league-"] .pl-finale-hero {
  border-color: var(--spl-line-strong);
  background:
    radial-gradient(circle at 86% 10%, rgba(232, 255, 242, .2), transparent 38%),
    linear-gradient(145deg, var(--spl-panel-raised), var(--spl-canvas-deep) 72%);
}

#premierLeagueSeasonScreen[data-league-edition^="saudi-pro-league-"] .pl-finale-body {
  background: var(--spl-canvas-deep);
}

#premierLeagueSeasonScreen[data-league-edition^="saudi-pro-league-"] :is(.pl-finale-section-title, .pl-finale-place > b, .pl-finale-award-copy > span) {
  color: var(--spl-accent);
}

#premierLeagueSeasonScreen[data-league-edition^="saudi-pro-league-"] .pl-finale-hero p,
#premierLeagueSeasonScreen[data-league-edition^="saudi-pro-league-"] :is(.pl-finale-place small, .pl-finale-award-copy small) {
  color: var(--spl-muted);
}

#premierLeagueSeasonScreen[data-league-edition^="saudi-pro-league-"] :is(.pl-finale-place, .pl-finale-award) {
  border-color: var(--spl-line-strong);
  background: linear-gradient(145deg, rgba(8, 104, 66, .96), rgba(0, 58, 36, .98));
  box-shadow: inset 3px 0 var(--spl-accent), 0 10px 24px rgba(0, 24, 14, .3);
}

#premierLeagueSeasonScreen[data-league-edition^="saudi-pro-league-"] .pl-finale-actions button {
  border-color: var(--spl-line-strong);
  color: var(--spl-ink);
  background: var(--spl-panel-raised);
}

body[data-domestic-league-edition^="saudi-pro-league-"].pl-match-mode-active {
  --domestic-fixture-accent: var(--spl-accent);
  color: var(--spl-ink);
  color-scheme: dark;
  background: var(--spl-canvas-background);
}

body[data-domestic-league-edition^="saudi-pro-league-"].pl-match-mode-active #appShell {
  color: var(--spl-ink);
  background: var(--spl-canvas-background);
  background-repeat: var(--spl-canvas-background-repeat);
}

body[data-domestic-league-edition^="saudi-pro-league-"].pl-match-mode-active :is(.main, .content) {
  background: transparent;
}

body[data-domestic-league-edition^="saudi-pro-league-"].pl-match-mode-active :is(.sidebar, .site-header, .top-bar) {
  border-color: var(--spl-line-strong);
  color: var(--spl-ink);
  background: linear-gradient(108deg, var(--spl-canvas-deep), var(--spl-flag-green) 62%, var(--spl-panel-raised));
}

body[data-domestic-league-edition^="saudi-pro-league-"].pl-match-mode-active .sidebar .brand-mark,
body[data-domestic-league-edition^="saudi-pro-league-"].pl-match-mode-active .top-actions :is(#settingsButton, .header-donate-link) {
  border-color: var(--spl-line);
  color: var(--spl-ink) !important;
  background: var(--spl-panel-raised);
  box-shadow: 0 8px 20px rgba(0, 24, 14, .32);
}

body[data-domestic-league-edition^="saudi-pro-league-"].pl-match-mode-active :is(
  .panel,
  .match-stage,
  .match-detail-panel,
  .fixture,
  .round-link,
  .match-queue-item,
  #retroMatchLineupsPanel,
  #matchAnalysis,
  .pl-engine-table-panel
) {
  border-color: var(--spl-line);
  color: var(--spl-ink);
  background: var(--spl-panel);
  box-shadow: 0 14px 38px rgba(0, 24, 14, .4);
}

body[data-domestic-league-edition^="saudi-pro-league-"].pl-match-mode-active .match-analysis-heading {
  border-bottom-color: var(--spl-line-strong);
  background: linear-gradient(105deg, var(--spl-canvas-deep), var(--spl-panel));
  box-shadow: inset 4px 0 var(--spl-accent);
}

body[data-domestic-league-edition^="saudi-pro-league-"].pl-match-mode-active .match-stage {
  background:
    linear-gradient(rgba(201, 246, 220, .038) 1px, transparent 1px),
    linear-gradient(90deg, rgba(201, 246, 220, .038) 1px, transparent 1px),
    radial-gradient(circle at 50% 18%, rgba(148, 233, 185, .16), transparent 21rem),
    var(--spl-panel);
}

body[data-domestic-league-edition^="saudi-pro-league-"].pl-match-mode-active .match-commentary-feed {
  --goal-flash-color: var(--spl-accent);
  --goal-flash-text-color: var(--spl-accent-ink);
  border-color: var(--spl-line-strong);
  color: var(--spl-ink);
  background: linear-gradient(105deg, var(--spl-panel-soft), var(--spl-panel-raised));
  box-shadow: inset 3px 0 var(--spl-accent);
}

body[data-domestic-league-edition^="saudi-pro-league-"].pl-match-mode-active .match-commentary-feed:is(.is-major, .is-goal, .is-goal-flash, .is-goal-flashing) {
  border-color: var(--spl-accent);
  background: linear-gradient(105deg, var(--spl-canvas-deep), var(--spl-panel-raised));
  box-shadow: inset 4px 0 var(--spl-accent);
}

body[data-domestic-league-edition^="saudi-pro-league-"].pl-match-mode-active :is(
  .event-live-clock strong, .team-match-events .timeline-event, .match-stat-row b,
  .match-lineup-head strong, .match-lineup-side li, .match-lineup-side li > small,
  .team-name, .score, .match-timer, .panel-heading strong, .fixture-team,
  .commentary-event strong, .match-analysis-heading strong, .commentary-line
) {
  color: var(--spl-ink);
}

body[data-domestic-league-edition^="saudi-pro-league-"].pl-match-mode-active :is(
  .event-live-clock small, .match-stat-row, .match-lineup-head small,
  .match-lineup-side li > span, .panel-heading span, .match-stage .stage-label,
  .fixture small, .commentary-event time, .match-stat-row span, .stage-topline
) {
  color: var(--spl-muted);
}

body[data-domestic-league-edition^="saudi-pro-league-"].pl-match-mode-active :is(.event-live-clock > span, .timeline-event b, .score-pop) {
  color: var(--spl-accent);
}

body[data-domestic-league-edition^="saudi-pro-league-"].pl-match-mode-active .match-stage.pl-full-time .result-note:not([hidden]) {
  color: var(--spl-accent);
}

body[data-domestic-league-edition^="saudi-pro-league-"].pl-match-mode-active .event-live-clock > span i {
  background: var(--spl-accent);
  box-shadow: 0 0 0 3px rgba(148, 233, 185, .18), 0 0 12px rgba(148, 233, 185, .34);
}

body[data-domestic-league-edition^="saudi-pro-league-"].pl-match-mode-active :is(.match-stats-grid, .standard-match-tactics, .pl-watch-tactics) {
  border-color: var(--spl-line);
  color: var(--spl-ink);
  background: var(--spl-panel-raised);
}

body[data-domestic-league-edition^="saudi-pro-league-"].pl-match-mode-active .standard-match-tactics > span {
  border-bottom-color: var(--spl-line);
  color: var(--spl-ink);
  background: linear-gradient(90deg, var(--spl-canvas-deep), var(--spl-panel));
}

body[data-domestic-league-edition^="saudi-pro-league-"].pl-match-mode-active .standard-match-tactics > small,
body[data-domestic-league-edition^="saudi-pro-league-"].pl-match-mode-active .pl-watch-tactics-copy span {
  border-top-color: var(--spl-line);
  color: var(--spl-muted);
}

body[data-domestic-league-edition^="saudi-pro-league-"].pl-match-mode-active .standard-tactic-buttons {
  border-color: var(--spl-line);
  background: var(--spl-panel-soft);
}

body[data-domestic-league-edition^="saudi-pro-league-"].pl-match-mode-active .standard-tactic-buttons button {
  color: var(--spl-muted);
}

body[data-domestic-league-edition^="saudi-pro-league-"].pl-match-mode-active .standard-tactic-buttons button.active,
body[data-domestic-league-edition^="saudi-pro-league-"].pl-match-mode-active :is(.live-control, .primary-button, .play-button, .round-link.active) {
  color: var(--spl-accent-ink);
  background: var(--spl-gradient);
  box-shadow: 0 6px 18px rgba(148, 233, 185, .24);
}

body[data-domestic-league-edition^="saudi-pro-league-"].pl-match-mode-active :is(.secondary-button, .utility-button, .pl-live-back-button, .skip-control) {
  border-color: var(--spl-line);
  color: var(--spl-ink);
  background: var(--spl-panel-raised);
}

body[data-domestic-league-edition^="saudi-pro-league-"].pl-match-mode-active .pl-live-back-button {
  margin-left: 0 !important;
}

body[data-domestic-league-edition^="saudi-pro-league-"].pl-match-mode-active :is(.pl-engine-table-head, .pl-engine-table-row) {
  border-color: var(--spl-line);
  color: var(--spl-ink);
}

body[data-domestic-league-edition^="saudi-pro-league-"].pl-match-mode-active .pl-engine-table-row.is-selected {
  background: linear-gradient(90deg, rgba(148, 233, 185, .18), rgba(232, 255, 242, .05));
  box-shadow: inset 3px 0 var(--spl-accent);
}

body[data-domestic-league-edition^="saudi-pro-league-"]:is(.pl-season-open, .pl-match-mode-active) .snapshot-modal,
body[data-domestic-league-edition^="saudi-pro-league-"].pl-match-mode-active :is(.confirm-modal, .settings-modal) {
  border: 1px solid var(--spl-line-strong) !important;
  color: var(--spl-ink) !important;
  background: var(--spl-canvas-deep) !important;
  box-shadow: 0 30px 90px rgba(0, 24, 14, .74) !important;
}

body[data-domestic-league-edition^="saudi-pro-league-"]:is(.pl-season-open, .pl-match-mode-active) .snapshot-modal::backdrop,
body[data-domestic-league-edition^="saudi-pro-league-"].pl-match-mode-active :is(.confirm-modal, .settings-modal)::backdrop {
  background: rgba(0, 22, 13, .88) !important;
  backdrop-filter: blur(7px);
}

body[data-domestic-league-edition^="saudi-pro-league-"]:is(.pl-season-open, .pl-match-mode-active) .snapshot-modal form {
  border: 0 !important;
  color: var(--spl-ink) !important;
  background: transparent !important;
}

body[data-domestic-league-edition^="saudi-pro-league-"]:is(.pl-season-open, .pl-match-mode-active) .snapshot-modal-head h2 {
  color: var(--spl-ink) !important;
}

body[data-domestic-league-edition^="saudi-pro-league-"]:is(.pl-season-open, .pl-match-mode-active) :is(.snapshot-modal .close-modal, #snapshotButton) {
  border-color: var(--spl-line-strong) !important;
  color: var(--spl-accent) !important;
  background: var(--spl-panel-raised) !important;
}

body[data-domestic-league-edition^="saudi-pro-league-"]:is(.pl-season-open, .pl-match-mode-active) .snapshot-preview {
  border-color: var(--spl-line-strong) !important;
  background: var(--spl-canvas) !important;
  box-shadow: 0 18px 50px rgba(0, 24, 14, .6) !important;
}

body[data-domestic-league-edition^="saudi-pro-league-"]:is(.pl-season-open, .pl-match-mode-active) .snapshot-actions .primary-button {
  border-color: transparent !important;
  color: var(--spl-accent-ink) !important;
  background: var(--spl-gradient) !important;
}

body[data-domestic-league-edition^="saudi-pro-league-"]:is(.pl-season-open, .pl-match-mode-active) .snapshot-actions .secondary-button {
  border-color: var(--spl-line-strong) !important;
  color: var(--spl-accent) !important;
  background: var(--spl-panel-raised) !important;
}

body[data-domestic-league-edition^="saudi-pro-league-"].pl-match-mode-active :is(.round-board, .pl-watch-tactics) {
  border-color: var(--spl-line);
  color: var(--spl-ink);
  background: rgba(0, 58, 36, .96);
  box-shadow: 0 18px 46px rgba(0, 24, 14, .46);
}

body[data-domestic-league-edition^="saudi-pro-league-"].pl-match-mode-active #roundBoard :is(.fixture, .team-filter-search, .history-round-button, #newerRoundButton, #simulateRoundButton, #unresolvedFilter, .team-filter-chip) {
  border-color: var(--spl-line);
  color: var(--spl-ink);
  background: var(--spl-panel-soft);
}

body[data-domestic-league-edition^="saudi-pro-league-"].pl-match-mode-active #roundBoard .fixture.selected {
  border-color: var(--spl-accent);
  background: linear-gradient(105deg, rgba(148, 233, 185, .17), rgba(232, 255, 242, .05));
  box-shadow: inset 3px 0 var(--spl-accent);
}

body[data-domestic-league-edition^="saudi-pro-league-"].pl-match-mode-active #roundBoard .team-filter-search:focus-within {
  border-color: var(--spl-accent);
  background: var(--spl-panel-raised);
  box-shadow: 0 0 0 3px rgba(148, 233, 185, .18);
}

body[data-domestic-league-edition^="saudi-pro-league-"].pl-match-mode-active #roundBoard #teamFilterControl :is(.team-filter-check, .search-result:hover, .search-result:focus-visible) {
  color: var(--spl-accent-ink);
  background: var(--spl-accent);
}

body[data-domestic-league-edition^="saudi-pro-league-"].pl-match-mode-active #roundBoard :is(#unresolvedFilter.active, .team-filter-chip:not([hidden])) {
  border-color: transparent;
  color: var(--spl-accent-ink);
  background: var(--spl-gradient);
}

body[data-domestic-league-edition^="saudi-pro-league-"].pl-match-mode-active #roundBoard .search-result-popover {
  border-color: var(--spl-line-strong);
  color: var(--spl-ink);
  background: var(--spl-canvas);
  box-shadow: 0 18px 44px rgba(0, 24, 14, .68);
}

body[data-domestic-league-edition^="saudi-pro-league-"].pl-match-mode-active .retro-manager-pitch {
  border-color: var(--spl-line-strong);
  background:
    linear-gradient(90deg, transparent 49.75%, rgba(201, 246, 220, .2) 49.75% 50.25%, transparent 50.25%),
    repeating-linear-gradient(90deg, rgba(201, 246, 220, .045) 0 12.5%, rgba(0, 29, 18, .16) 12.5% 25%),
    linear-gradient(135deg, var(--spl-panel-raised), var(--spl-panel-soft));
  box-shadow: inset 0 0 42px rgba(0, 24, 14, .48);
}

body[data-domestic-league-edition^="saudi-pro-league-"].pl-match-mode-active #retroMatchLineupsPanel {
  --q22-ink: var(--spl-accent-ink);
  --q22-ink-soft: var(--spl-canvas-deep);
  --q22-panel: var(--spl-panel);
  --q22-panel-soft: var(--spl-panel-soft);
  --q22-wine: var(--spl-panel-raised);
  --q22-wine-bright: var(--spl-flag-green);
  --q22-line: var(--spl-line);
  --q22-line-soft: var(--spl-line);
  --q22-cream: var(--spl-muted);
  --q22-white: var(--spl-ink);
  --q22-gold: var(--spl-accent);
  --q22-gold-soft: var(--spl-mint-soft);
  border-color: var(--spl-line);
  color: var(--spl-ink);
  background: var(--spl-panel);
}

body[data-domestic-league-edition^="saudi-pro-league-"].pl-match-mode-active #retroMatchLineupsPanel :is(summary, .retro-lineup-tabs button.active, [data-retro-manager-formation]) {
  border-color: var(--spl-line);
  color: var(--spl-ink);
  background: var(--spl-panel-raised);
}

body[data-domestic-league-edition^="saudi-pro-league-"].pl-match-mode-active #retroMatchLineupsPanel .retro-lineup-tabs button.active {
  box-shadow: inset 0 -3px var(--spl-accent);
}

body[data-domestic-league-edition^="saudi-pro-league-"].pl-match-mode-active #retroMatchLineupsPanel :is(.retro-lineup-tabs, .retro-manager-lineup, .retro-live-ratings-side, .retro-manager-player) {
  border-color: var(--spl-line);
  color: var(--spl-ink);
  background: var(--spl-panel-soft);
}

body[data-domestic-league-edition^="saudi-pro-league-"].pl-match-mode-active #retroMatchLineupsPanel :is(.retro-manager-player.is-selected, .retro-manager-player:hover:not(:disabled)) {
  border-color: var(--spl-accent);
  background: var(--spl-panel-raised);
}

body[data-domestic-league-edition^="saudi-pro-league-"].pl-match-mode-active :is(.match-pitch-canvas, .match-2d-pitch) {
  border-color: var(--spl-line-strong) !important;
  background-color: var(--spl-panel-soft) !important;
  box-shadow: inset 0 0 0 1px rgba(201, 246, 220, .18), 0 12px 28px rgba(0, 24, 14, .42) !important;
}

body[data-domestic-league-edition^="saudi-pro-league-"].pl-match-mode-active .match-pitch-shell {
  --match-pitch-border: var(--spl-line);
  --match-pitch-muted: var(--spl-muted);
  border-color: var(--spl-line);
  color: var(--spl-ink);
  background: radial-gradient(circle at 50% -30%, rgba(148, 233, 185, .2), transparent 52%), linear-gradient(180deg, var(--spl-panel), var(--spl-canvas-deep));
}

body[data-domestic-league-edition^="saudi-pro-league-"].pl-match-mode-active :is(.match-pitch-toggle, .match-highlight-mode, .match-pitch-playback) {
  border-color: var(--spl-line) !important;
  color: var(--spl-ink) !important;
  background: var(--spl-panel-raised) !important;
}

body[data-domestic-league-edition^="saudi-pro-league-"].pl-match-mode-active :is(.match-highlight-mode button[aria-pressed="true"], .match-highlight-mode button.active, .match-pitch-speed button[aria-pressed="true"]) {
  border-color: var(--spl-line-strong) !important;
  color: var(--spl-accent-ink) !important;
  background: var(--spl-accent) !important;
}

.feature-announcement-saudi-pro-league {
  width: min(540px, calc(100vw - 28px));
  border: 1px solid var(--spl-line-strong);
  background: var(--spl-canvas-deep);
}

.feature-announcement-saudi-pro-league .feature-announcement-accent {
  min-height: 190px;
  overflow: hidden;
  background:
    radial-gradient(circle at 82% 12%, rgba(148, 233, 185, .28), transparent 34%),
    linear-gradient(145deg, var(--spl-panel-raised), var(--spl-flag-green) 52%, var(--spl-canvas-deep));
}

.feature-announcement-saudi-pro-league .feature-announcement-accent::before,
.feature-announcement-saudi-pro-league .feature-announcement-accent::after {
  border-color: rgba(201, 246, 220, .11);
  background: transparent;
}

.feature-announcement-saudi-pro-league-visual {
  position: relative;
  z-index: 1;
  display: grid;
  min-height: 190px;
  place-items: center;
}

.feature-announcement-saudi-pro-league-visual img {
  width: 158px;
  height: 158px;
  object-fit: contain;
  filter: drop-shadow(0 16px 26px rgba(0, 24, 14, .52));
}

.feature-announcement-saudi-pro-league .feature-announcement-content {
  background:
    radial-gradient(circle at 92% 0, rgba(148, 233, 185, .13), transparent 32%),
    linear-gradient(155deg, var(--spl-panel), var(--spl-canvas-deep) 76%);
}

.feature-announcement-saudi-pro-league .feature-announcement-button {
  color: var(--spl-accent-ink);
  background: var(--spl-gradient);
}

[data-achievement-theme="saudi-pro-league-2026-27"] {
  --achievement-accent: var(--spl-accent);
  --achievement-accent-text: var(--spl-accent-ink);
  --achievement-surface: var(--spl-panel);
  --achievement-surface-deep: var(--spl-canvas-deep);
  --achievement-tab-surface: rgba(0, 29, 18, .88);
  --achievement-card: rgba(0, 70, 42, .92);
  --achievement-card-complete: #0a754b;
  --achievement-copy: var(--spl-ink);
  --achievement-muted: var(--spl-muted);
  --achievement-points: var(--spl-mint-soft);
  --achievement-shadow: var(--spl-shadow);
  color: var(--spl-ink);
  background: var(--spl-canvas-background);
}

.achievement-unlock-banner[data-achievement-theme="saudi-pro-league-2026-27"],
.achievement-unlock-modal[data-achievement-theme="saudi-pro-league-2026-27"] {
  border-color: var(--spl-line-strong);
  color: var(--spl-ink);
  background: linear-gradient(145deg, var(--spl-panel-raised), var(--spl-canvas-deep));
}

.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"] :is(.achievement-unlock-action, .achievement-unlock-mark),
.achievement-unlock-banner[data-achievement-theme="saudi-pro-league-2026-27"] .achievement-unlock-banner-mark {
  color: var(--spl-accent-ink);
  background: var(--spl-gradient);
}

/* Edition-owned broadcast colours remain legible when the global shell is light. */
html.light-mode body[data-domestic-league-edition^="saudi-pro-league-"].pl-match-mode-active {
  color: var(--spl-ink);
  background: var(--spl-canvas-background);
}

html.light-mode body[data-domestic-league-edition^="saudi-pro-league-"].pl-match-mode-active :is(.sidebar, .site-header, .top-bar) {
  border-color: var(--spl-line-strong);
  color: var(--spl-ink);
  background: linear-gradient(108deg, var(--spl-canvas-deep), var(--spl-flag-green) 62%, var(--spl-panel-raised));
}

html.light-mode body[data-domestic-league-edition^="saudi-pro-league-"].pl-match-mode-active :is(
  .panel, .match-stage, .match-detail-panel, .fixture, .round-link,
  .match-queue-item, #retroMatchLineupsPanel, #matchAnalysis,
  .pl-engine-table-panel, .round-board, .pl-watch-tactics, .standard-match-tactics
) {
  border-color: var(--spl-line);
  color: var(--spl-ink);
  background-color: var(--spl-panel);
}

body[data-domestic-league-edition^="saudi-pro-league-"] :focus-visible,
#premierLeagueSeasonScreen[data-league-edition^="saudi-pro-league-"] :focus-visible,
.mode-card-saudi-pro-league :focus-visible,
.saudi-pro-league-asset-pack-modal :focus-visible,
.feature-announcement-saudi-pro-league :focus-visible {
  outline: 3px solid var(--spl-accent) !important;
  outline-offset: 3px;
}

@media (hover: hover) and (pointer: fine) {
  .mode-card-saudi-pro-league :is(button, summary):hover:not(:disabled),
  body.saudi-pro-league-route-setup-active #premierLeagueRouteSetupControls :is(button, summary):hover:not(:disabled) {
    border-color: var(--spl-accent) !important;
  }

  body.saudi-pro-league-route-setup-active .domestic-inline-team-option:hover:not([aria-selected="true"]),
  #spectateModal[data-domestic-league="saudi-pro-league"] .prediction-option:hover:not(.selected),
  body[data-domestic-league-edition^="saudi-pro-league-"].pl-match-mode-active :is(.secondary-button, .utility-button, .skip-control, .pl-live-back-button, #snapshotButton):hover:not(:disabled),
  body[data-domestic-league-edition^="saudi-pro-league-"].pl-match-mode-active #roundBoard :is(.team-filter-search, .history-round-button, #simulateRoundButton, .team-filter-chip):hover:not(:disabled) {
    border-color: var(--spl-accent);
    color: var(--spl-ink);
    background: color-mix(in srgb, var(--spl-panel-raised) 78%, var(--spl-accent));
  }

  .feature-announcement-saudi-pro-league .feature-announcement-button:hover:not(:disabled),
  #premierLeagueSeasonScreen[data-league-edition^="saudi-pro-league-"] .pl-finale-actions .is-primary:hover:not(:disabled) {
    background: linear-gradient(135deg, #f4fff8, #b7f2d0);
  }
}

@media (max-width: 900px) {
  #premierLeagueSeasonScreen[data-league-edition^="saudi-pro-league-"] .pl-season-header {
    min-height: 60px;
    gap: 4px;
    padding: 7px 10px;
  }

  body[data-domestic-league-edition^="saudi-pro-league-"].pl-match-mode-active .match-stage {
    border-radius: 18px;
  }
}

@media (max-width: 720px) {
  .saudi-pro-league-heading {
    gap: 12px;
  }

  .saudi-pro-league-brand-mark {
    width: 56px;
    height: 56px;
    flex-basis: 56px;
  }

  .saudi-pro-league-brand-mark img {
    width: 46px;
    max-height: 46px;
  }

  #premierLeagueSeasonScreen[data-league-edition^="saudi-pro-league-"] :is(.pl-season-tabs, .pl-matchweek-nav) {
    overflow-x: auto;
    scrollbar-color: var(--spl-accent) transparent;
  }

  #premierLeagueSeasonScreen[data-league-edition^="saudi-pro-league-"] .pl-table-row {
    min-width: 620px;
  }

  .feature-announcement-saudi-pro-league .feature-announcement-accent,
  .feature-announcement-saudi-pro-league-visual {
    min-height: 142px;
  }

  .feature-announcement-saudi-pro-league-visual img {
    width: 112px;
    height: 112px;
  }
}

@media (max-width: 480px) {
  .saudi-pro-league-heading {
    align-items: flex-start;
  }

  .saudi-pro-league-heading h3 {
    font-size: 22px;
  }

  #premierLeagueSeasonScreen[data-league-edition^="saudi-pro-league-"] .pl-season-header :is(.utility-button, .pl-season-restart-button) {
    width: 34px;
    min-width: 34px;
    height: 34px;
  }

  body[data-domestic-league-edition^="saudi-pro-league-"]:is(.pl-season-open, .pl-match-mode-active) .snapshot-modal {
    width: calc(100vw - 16px);
    border-radius: 16px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .mode-card-saudi-pro-league *,
  [data-league-edition^="saudi-pro-league-"] *,
  body[data-domestic-league-edition^="saudi-pro-league-"] *,
  .feature-announcement-saudi-pro-league * {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}
