/* MPI REAL Dashboard 4.1.16.21 — Tournament Bracket Branding and Connector Polish
   Poster fidelity pass: richer MPI REAL artwork layer, tighter premium boxes, preserved bracket-only data. */

.mpi-poster-bracket-launch {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin-left: 8px;
  border: 1px solid rgba(245, 158, 11, 0.75);
  background: linear-gradient(135deg, rgba(15, 23, 42, 0.96), rgba(30, 41, 59, 0.94));
  color: #fbbf24;
  font-weight: 900;
  letter-spacing: .02em;
  border-radius: 999px;
  padding: 7px 12px;
  cursor: pointer;
}

.mpi-poster-bracket-tile {
  margin: 10px 0 14px;
  padding: 12px;
  border: 1px solid rgba(245, 158, 11, .55);
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(15,23,42,.96), rgba(2,6,23,.92));
  color: #fff;
  display: grid;
  grid-template-columns: minmax(140px, 220px) 1fr auto;
  gap: 14px;
  align-items: center;
}

.mpi-poster-bracket-thumb {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border-radius: 12px;
  border: 1px solid rgba(251,191,36,.48);
  cursor: pointer;
}

.mpi-poster-bracket-title {
  font-size: 18px;
  font-weight: 950;
  color: #fbbf24;
  text-transform: uppercase;
}

.mpi-poster-bracket-subtitle {
  font-size: 12.5px;
  color: rgba(255,255,255,.84);
  font-weight: 700;
}

.mpi-poster-bracket-open,
.mpi-poster-fullscreen {
  border: 1px solid rgba(251,191,36,.70);
  background: linear-gradient(180deg, #fbbf24, #b45309);
  color: #111827;
  border-radius: 12px;
  padding: 10px 14px;
  font-weight: 950;
  cursor: pointer;
  white-space: nowrap;
}

.mpi-poster-modal {
  position: fixed;
  inset: 0;
  z-index: 999999;
  display: none;
  background: rgba(2, 6, 23, .94);
  color: #fff;
}

.mpi-poster-modal.open { display: block; }

.mpi-poster-dialog {
  position: absolute;
  inset: 10px;
  display: flex;
  flex-direction: column;
  border: 1px solid rgba(251,191,36,.52);
  border-radius: 16px;
  background: radial-gradient(circle at top, rgba(30,64,175,.20), rgba(2,6,23,.98));
  overflow: hidden;
}

.mpi-poster-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  border-bottom: 1px solid rgba(251,191,36,.34);
  background: rgba(15,23,42,.90);
}

.mpi-poster-head-title {
  font-size: 18px;
  font-weight: 950;
  color: #fbbf24;
  text-transform: uppercase;
}

.mpi-poster-head-subtitle {
  font-size: 12px;
  font-weight: 800;
  color: rgba(255,255,255,.78);
}

.mpi-poster-actions { display:flex; align-items:center; gap:8px; }

.mpi-poster-close {
  width: 40px;
  height: 40px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.30);
  background: rgba(15,23,42,.82);
  color: #fff;
  font-size: 30px;
  cursor: pointer;
}

.mpi-poster-body {
  flex: 1;
  min-height: 0;
  overflow: auto;
  padding: 10px;
  touch-action: pan-x pan-y pinch-zoom;
  -webkit-overflow-scrolling: touch;
}

.mpi-poster-stage {
  width: max-content;
  min-width: 100%;
  min-height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
}

.mpi-poster-template-stage {
  width: 1600px;
  min-width: 1600px;
  height: 1000px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.mpi-template-loading,
.mpi-template-error {
  width: 100%;
  padding: 28px;
  color: #fbbf24;
  font-weight: 900;
  text-align: center;
}

.mpi-template-error .mpi-poster-image {
  display: block;
  max-width: 1100px;
  width: 90%;
  margin: 24px auto 0;
  border-radius: 14px;
  border: 1px solid rgba(251,191,36,.35);
}

.mpi-template-poster {
  position: relative;
  width: 1560px;
  height: 930px;
  box-sizing: border-box;
  padding: 30px 34px 24px;
  border-radius: 18px;
  border: 2px solid rgba(251, 191, 36, .82);
  background:
    radial-gradient(circle at 50% 41%, rgba(251,191,36,.38), rgba(30,64,175,.12) 15%, transparent 34%),
    radial-gradient(ellipse at 50% 44%, rgba(11,89,170,.52), transparent 58%),
    radial-gradient(circle at 19% 20%, rgba(251,191,36,.14), transparent 24%),
    radial-gradient(circle at 81% 20%, rgba(251,191,36,.12), transparent 24%),
    linear-gradient(135deg, #020814 0%, #052447 44%, #020b18 100%);
  box-shadow: 0 26px 74px rgba(0,0,0,.58), inset 0 0 130px rgba(0,0,0,.50), inset 0 0 0 1px rgba(255,255,255,.05);
  overflow: hidden;
  font-family: "Arial Narrow", Arial, Helvetica, sans-serif;
}

.mpi-template-poster::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .18;
  background-image:
    linear-gradient(30deg, transparent 45%, rgba(255,255,255,.13) 46%, transparent 47%),
    linear-gradient(150deg, transparent 45%, rgba(255,255,255,.10) 46%, transparent 47%),
    radial-gradient(circle at 50% 50%, transparent 0 18%, rgba(255,255,255,.08) 18.3% 18.7%, transparent 19%),
    radial-gradient(ellipse at 50% 52%, transparent 0 34%, rgba(251,191,36,.09) 34.3% 34.7%, transparent 35%);
  background-size: 74px 74px, 74px 74px, 620px 380px, 880px 520px;
  background-position: center, center, center, center;
  pointer-events: none;
}

.mpi-template-poster::after {
  content: "";
  position: absolute;
  inset: 10px;
  border-radius: 14px;
  border: 1px solid rgba(251,191,36,.36);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.05), inset 0 0 34px rgba(251,191,36,.08);
  pointer-events: none;
}

.mpi-template-bg-glow {
  position: absolute;
  left: 50%;
  top: 43%;
  width: 430px;
  height: 430px;
  transform: translate(-50%, -50%);
  border-radius: 999px;
  background:
    radial-gradient(circle, rgba(251,191,36,.42), rgba(251,191,36,.13) 35%, transparent 68%),
    radial-gradient(circle, rgba(59,130,246,.20), transparent 64%);
  filter: blur(.2px);
  pointer-events: none;
}

.mpi-template-bg-glow::before {
  content:"";
  position:absolute;
  left:50%; top:45%;
  width: 230px;
  height: 250px;
  transform:translate(-50%,-50%);
  background: url("../assets/world-cup-trophy-clean.png?v=4.1.16.21") center / contain no-repeat;
  opacity:.42;
  filter: drop-shadow(0 0 28px rgba(251,191,36,.75));
}

.mpi-template-header {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr 1.2fr 1fr;
  align-items: start;
  gap: 18px;
  height: 108px;
}

.mpi-template-brand-mark {
  display: flex;
  align-items: center;
  gap: 12px;
  color: #fff;
  min-width: 0;
}

.mpi-template-brand-logo {
  width: 76px;
  height: 70px;
  object-fit: contain;
  filter: drop-shadow(0 0 10px rgba(251,191,36,.28));
  flex: 0 0 auto;
}

.mpi-template-compass {
  display: none;
}

.mpi-template-brand {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 32px;
  line-height: .95;
  font-weight: 900;
  letter-spacing: .09em;
  text-shadow: 0 2px 9px rgba(0,0,0,.52);
}

.mpi-template-tagline,
.mpi-template-subtagline {
  max-width: 320px;
  color: rgba(255,255,255,.90);
  font-size: 9.5px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .08em;
  margin-top: 3px;
}
.mpi-template-tagline { color: #fbbf24; }

.mpi-template-title-block { text-align:center; color:#fff; }
.mpi-template-kicker { font-size: 9.5px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.86); }
.mpi-template-title-block h2 { margin: 2px 0 0; font-size: 42px; line-height:1; text-transform: uppercase; letter-spacing: .055em; text-shadow: 0 3px 12px rgba(0,0,0,.50); }
.mpi-template-title-block p { margin: 5px 0 0; font-size: 12px; font-weight: 800; color: rgba(255,255,255,.78); }

.mpi-template-build {
  justify-self: end;
  border: 1px solid rgba(251,191,36,.72);
  border-radius: 999px;
  color: #fbbf24;
  background: rgba(2,6,23,.42);
  padding: 7px 10px;
  font-size: 10.5px;
  font-weight: 950;
}

.mpi-template-bracket-grid {
  position: relative;
  z-index: 2;
  height: 705px;
  display: grid;
  grid-template-columns: 1.04fr .76fr .78fr .78fr .86fr .78fr .78fr .76fr 1.04fr;
  gap: 9px;
  align-items: stretch;
}


.mpi-template-connectors {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
  pointer-events: none;
  z-index: 1;
}
.mpi-template-connector {
  fill: none;
  stroke: rgba(251,191,36,.52);
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
  filter: drop-shadow(0 0 3px rgba(251,191,36,.18));
}
.mpi-template-connector-completed { opacity: .28; stroke-width: 1.6; }
.mpi-template-connector-future { opacity: .34; }
.mpi-template-connector-next { opacity: .68; stroke-width: 2.6; }
.mpi-template-connector-current { opacity: .88; stroke-width: 3.0; filter: drop-shadow(0 0 8px rgba(251,191,36,.50)); }

.mpi-template-bracket-grid::before {
  content: "";
  position: absolute;
  left: 6%; right: 6%; top: 49%; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(251,191,36,.50), transparent);
  pointer-events: none;
  opacity: .62;
}

.mpi-template-column {
  min-width: 0;
  display: flex;
  flex-direction: column;
}

.mpi-template-round-title {
  height: 36px;
  text-align: center;
  color: #fbbf24;
  text-transform: uppercase;
  font-weight: 950;
  letter-spacing: .02em;
  font-size: 12px;
}
.mpi-template-round-title small { display:block; margin-top:2px; color:#fff; font-size: 10px; letter-spacing:.04em; }

.mpi-template-match-stack {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 8px;
}

.leftR16 .mpi-template-match-stack,
.rightR16 .mpi-template-match-stack { padding: 46px 0; }
.leftQF .mpi-template-match-stack,
.rightQF .mpi-template-match-stack { padding: 146px 0; }
.leftSF .mpi-template-match-stack,
.rightSF .mpi-template-match-stack { justify-content: center; padding-bottom: 60px; }
.mpi-template-column-center .mpi-template-match-stack { justify-content: center; gap: 34px; padding-bottom: 24px; }

.mpi-template-match {
  position: relative;
  min-height: 54px;
  border: 1.4px solid rgba(251,191,36,.88);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(2,6,23,.88), rgba(15,23,42,.72)),
    radial-gradient(circle at top left, rgba(251,191,36,.14), transparent 55%);
  box-shadow: 0 0 0 1px rgba(0,0,0,.46), 0 8px 22px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.05);
  overflow: hidden;
  z-index: 3;
}

.mpi-template-match::after {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, rgba(251,191,36,.55), transparent);
}

.mpi-template-match-head {
  min-height: 16px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 3px 6px 0;
  color: #fbbf24;
  font-size: 10px;
  font-weight: 950;
  text-transform: uppercase;
}

.mpi-template-match-date {
  color: rgba(255,255,255,.74);
  font-size: 8px;
  letter-spacing: .03em;
}

.mpi-template-special-label {
  padding: 0 7px;
  margin-top: 1px;
  color: #fbbf24;
  font-size: 9px;
  line-height: 1.05;
  font-weight: 950;
  text-transform: uppercase;
}

.mpi-template-match-special .mpi-template-match-head,
.mpi-template-match-special .mpi-template-match-head span:first-child { font-size: 11px; }

.mpi-template-teams { padding: 3px 6px 6px; display:flex; flex-direction:column; gap:2px; }

.mpi-template-team {
  min-height: 16px;
  display: grid;
  grid-template-columns: 18px 1fr;
  align-items: center;
  gap: 5px;
  color: #fff;
  font-weight: 950;
  text-transform: uppercase;
  font-size: 11px;
  letter-spacing: .01em;
  padding: 1px 2px;
}

.mpi-template-flag-img {
  width: 17px;
  height: 12px;
  object-fit: cover;
  border-radius: 2px;
  box-shadow: 0 0 0 1px rgba(255,255,255,.35), 0 1px 2px rgba(0,0,0,.55);
}
.mpi-template-flag-emoji { font-size: 13px; line-height:1; filter: drop-shadow(0 1px 1px rgba(0,0,0,.55)); }
.mpi-template-flag-empty { width:20px; height:14px; }
.mpi-template-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mpi-template-match .match-notes-btn,
.mpi-template-match .match-notes-inline,
.mpi-template-match .lineups-btn-4068,
.mpi-template-match .lineups-btn-4069 { display: none !important; }
.mpi-template-team-placeholder { grid-template-columns: 1fr; color: rgba(255,255,255,.92); font-size: 8.8px; padding-left: 0; letter-spacing: .03em; }

.mpi-template-column-center .mpi-template-match { min-height: 78px; }
.mpi-template-column-center .mpi-template-match:first-child {
  background: radial-gradient(circle at center, rgba(251,191,36,.20), rgba(2,6,23,.88));
}

.mpi-template-column-center::before {
  content: "";
  display: block;
  position: absolute;
  left: 50%;
  top: 42%;
  width: 170px;
  height: 190px;
  transform: translate(-50%, -50%);
  background: url("../assets/world-cup-trophy-clean.png?v=4.1.16.21") center / contain no-repeat;
  opacity: .34;
  filter: drop-shadow(0 0 22px rgba(251,191,36,.58));
  pointer-events:none;
}

/* Tournament story hierarchy: completed history is quieter, current/next path is brighter. */
.mpi-template-match-completed,
.mpi-template-match-completed-soft {
  transform: scale(.90);
  transform-origin: center;
  opacity: .76;
  border-color: rgba(251,191,36,.58);
  background: linear-gradient(135deg, rgba(2,6,23,.70), rgba(15,23,42,.48));
}
.mpi-template-match-completed .mpi-template-name,
.mpi-template-match-completed-soft .mpi-template-name { color: rgba(255,255,255,.82); }
.mpi-template-match-next,
.mpi-template-match-current {
  transform: scale(1.06);
  transform-origin: center;
  z-index: 5;
  border-color: rgba(251,191,36,1);
  box-shadow: 0 0 0 1px rgba(251,191,36,.20), 0 0 20px rgba(251,191,36,.26), 0 12px 28px rgba(0,0,0,.34);
}
.mpi-template-match-current::before {
  content: "● LIVE";
  position:absolute;
  right: 6px;
  bottom: 3px;
  font-size: 7px;
  color:#fbbf24;
  font-weight:950;
  letter-spacing:.06em;
}
.leftQF .mpi-template-match,
.rightQF .mpi-template-match { min-height: 60px; }
.leftSF .mpi-template-match,
.rightSF .mpi-template-match { min-height: 68px; }
.mpi-template-column-center .mpi-template-match { min-height: 74px; }

.mpi-template-footer {
  position: relative;
  z-index: 2;
  height: 40px;
  display: flex;
  justify-content: space-between;
  align-items: end;
  border-top: 1px solid rgba(251,191,36,.55);
  color: rgba(255,255,255,.88);
  font-weight: 900;
  font-size: 13px;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.mpi-template-footer span:nth-child(2) { color: #fbbf24; }

body.mpi-poster-lock { overflow: hidden !important; }

@media (max-width: 760px) {
  .mpi-template-brand-logo { width: 54px; height: 50px; }
  .mpi-template-brand { font-size: 22px; }
  .mpi-poster-bracket-tile {
    grid-template-columns: 92px 1fr;
    gap: 8px;
    padding: 10px;
  }
  .mpi-poster-bracket-title { font-size: 14px; }
  .mpi-poster-bracket-subtitle { font-size: 11px; }
  .mpi-poster-bracket-open { grid-column: 1 / -1; width: 100%; }
  .mpi-poster-dialog { inset: 6px; border-radius: 14px; }
  .mpi-poster-head { padding: 8px; }
  .mpi-poster-head-title { font-size: 14px; }
  .mpi-poster-head-subtitle { font-size: 10px; }
  .mpi-poster-fullscreen { padding: 8px 10px; font-size: 11px; }
  .mpi-poster-close { width: 36px; height: 36px; font-size: 24px; }
  .mpi-poster-body { padding: 6px; }
  .mpi-poster-stage { justify-content: flex-start; align-items: flex-start; }
}

@media (orientation: landscape) and (max-height: 520px) {
  .mpi-poster-dialog { inset: 4px; }
  .mpi-poster-head { padding: 6px 8px; }
  .mpi-poster-head-subtitle { display: none; }
  .mpi-poster-body { padding: 4px; }
}


/* R6 artwork fidelity accents */
.mpi-template-header::after {
  content:"";
  position:absolute;
  left:50%; bottom:10px;
  width:440px; height:1px;
  transform:translateX(-50%);
  background:linear-gradient(90deg, transparent, rgba(251,191,36,.72), transparent);
}

.mpi-template-bracket-grid {
  background:
    linear-gradient(90deg, transparent 10%, rgba(251,191,36,.10) 10.2%, transparent 10.8%, transparent 22%, rgba(251,191,36,.12) 22.2%, transparent 22.8%, transparent 36%, rgba(251,191,36,.10) 36.2%, transparent 36.8%, transparent 63%, rgba(251,191,36,.10) 63.2%, transparent 63.8%, transparent 77%, rgba(251,191,36,.12) 77.2%, transparent 77.8%, transparent 90%, rgba(251,191,36,.10) 90.2%, transparent 90.8%),
    radial-gradient(ellipse at center, rgba(255,255,255,.04), transparent 42%);
  border-radius: 12px;
}

.mpi-template-match-next .mpi-template-match-head,
.mpi-template-match-current .mpi-template-match-head {
  color:#fde68a;
}

.mpi-template-match-special {
  border-width: 1.7px;
}

.mpi-template-title-block h2 {
  text-shadow: 0 2px 0 rgba(0,0,0,.42), 0 0 18px rgba(251,191,36,.16);
}

.mpi-template-brand {
  text-shadow: 0 0 14px rgba(251,191,36,.20);
}

@media (max-width: 760px) {
  .mpi-template-brand-logo { width: 54px; height: 50px; }
  .mpi-template-brand { font-size: 22px; }
  .mpi-poster-template-stage {
    width: 1600px;
    min-width: 1600px;
    transform-origin: top left;
  }
}


/* Build 4.1.16.4 — Poster header fidelity polish.
   Scope: branding/art direction only. Bracket data, live refresh, scores pipeline, and match progression are untouched. */
.mpi-template-header {
  height: 112px;
  display: grid;
  grid-template-columns: 245px 1fr 245px;
  align-items: center;
  gap: 14px;
  padding: 10px 24px;
  border-radius: 14px;
  border: 1px solid rgba(251,191,36,.22);
  background:
    radial-gradient(circle at 50% 30%, rgba(251,191,36,.09), transparent 32%),
    linear-gradient(135deg, rgba(1,9,24,.96), rgba(3,20,42,.93) 48%, rgba(1,9,24,.96));
  box-shadow: inset 0 0 36px rgba(0,0,0,.42), 0 5px 18px rgba(0,0,0,.18);
}

.mpi-template-header::after {
  bottom: 12px;
  width: 560px;
  background: linear-gradient(90deg, transparent, rgba(251,191,36,.58), rgba(255,255,255,.24), rgba(251,191,36,.58), transparent);
}

.mpi-template-header-left {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.mpi-template-header-right {
  justify-self: end;
  text-align: right;
  color: rgba(255,255,255,.82);
  text-transform: uppercase;
  font-weight: 900;
  letter-spacing: .08em;
  font-size: 10px;
  line-height: 1.35;
}

.mpi-template-path-label {
  color: rgba(251,191,36,.86);
  font-size: 9.5px;
  margin-top: 4px;
}

.mpi-template-brand-logo {
  width: 86px;
  height: 82px;
  filter: brightness(1.18) contrast(1.10) saturate(1.18) drop-shadow(0 0 14px rgba(251,191,36,.52));
}

.mpi-template-title-brand {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  min-width: 0;
}

.mpi-template-wordmark {
  width: min(540px, 100%);
  height: 100px;
  object-fit: contain;
  object-position: center;
  filter: drop-shadow(0 4px 8px rgba(0,0,0,.65)) drop-shadow(0 0 10px rgba(251,191,36,.12));
}

.mpi-template-title-block h2,
.mpi-template-title-block p {
  display: none;
}

.mpi-template-build {
  display: none;
}

.mpi-template-bg-glow {
  top: 39%;
  width: 470px;
  height: 470px;
  opacity: .94;
}

.mpi-template-bg-glow::before {
  width: 290px;
  height: 320px;
  top: 42%;
  opacity: .72;
  filter: drop-shadow(0 0 30px rgba(251,191,36,.72)) drop-shadow(0 8px 20px rgba(0,0,0,.45));
}

.mpi-template-column-center::before {
  display: none !important;
}

.mpi-template-worldcup-title {
  position: absolute;
  left: 50%;
  bottom: 70px;
  transform: translateX(-50%);
  z-index: 2;
  text-align: center;
  text-transform: uppercase;
  pointer-events: none;
  color: #f7d47a;
  text-shadow: 0 3px 0 rgba(0,0,0,.30), 0 0 18px rgba(251,191,36,.20);
  opacity: .92;
}

.mpi-template-worldcup-title div {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 40px;
  line-height: .95;
  font-weight: 900;
  letter-spacing: .045em;
  background: linear-gradient(180deg, #fff2bd 0%, #f3c45e 52%, #b67513 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.mpi-template-worldcup-title span {
  display: block;
  margin-top: 7px;
  color: rgba(255,255,255,.82);
  font-size: 16px;
  font-weight: 900;
  letter-spacing: .42em;
}

.mpi-template-footer {
  height: 36px;
  padding: 0 2px;
}

.mpi-template-footer span:nth-child(2) {
  color: #fbbf24;
  font-size: 12px;
  letter-spacing: .05em;
}

.mpi-template-bracket-grid {
  height: 680px;
}

@media (max-width: 760px) {
  .mpi-template-header {
    grid-template-columns: 115px 1fr 115px;
    height: 96px;
    padding: 8px 12px;
  }
  .mpi-template-brand-logo {
    width: 58px;
    height: 56px;
  }
  .mpi-template-wordmark {
    height: 78px;
  }
  .mpi-template-header-right {
    font-size: 8px;
  }
  .mpi-template-worldcup-title div {
    font-size: 30px;
  }
  .mpi-template-worldcup-title span {
    font-size: 11px;
    letter-spacing: .30em;
  }
}


/* 4.1.16.6 — Branding alignment and readability polish
   Stable renderer; visual-only changes. */
.mpi-template-poster {
  background:
    radial-gradient(circle at 50% 42%, rgba(251,191,36,.28), rgba(30,64,175,.10) 13%, transparent 31%),
    radial-gradient(ellipse at 50% 48%, rgba(7,55,111,.42), transparent 56%),
    linear-gradient(135deg, #020711 0%, #03172d 44%, #020814 100%);
  box-shadow: 0 26px 74px rgba(0,0,0,.64), inset 0 0 150px rgba(0,0,0,.58), inset 0 0 0 1px rgba(255,255,255,.04);
}

.mpi-template-header {
  grid-template-columns: 1fr minmax(560px, 720px) 1fr;
  height: 96px;
  align-items: center;
  padding: 8px 26px;
  border-radius: 14px;
  background:
    radial-gradient(circle at 50% 50%, rgba(251,191,36,.08), transparent 38%),
    linear-gradient(135deg, rgba(1,7,18,.98), rgba(3,16,32,.96) 50%, rgba(1,7,18,.98));
  border: 1px solid rgba(251,191,36,.28);
  box-shadow: inset 0 0 40px rgba(0,0,0,.52), 0 5px 20px rgba(0,0,0,.22);
}

.mpi-template-header::after { opacity: .34; bottom: 8px; width: 620px; }

.mpi-template-header-left {
  justify-content: flex-start;
  opacity: .72;
}

.mpi-template-brand-logo {
  width: 74px;
  height: 72px;
  object-fit: contain;
  filter: brightness(1.18) contrast(1.16) saturate(1.12) drop-shadow(0 0 16px rgba(251,191,36,.50));
}

.mpi-template-title-brand {
  justify-content: center;
  align-items: center;
}

.mpi-template-wordmark {
  width: min(720px, 100%);
  height: 104px;
  object-fit: contain;
  object-position: center;
  filter: drop-shadow(0 5px 12px rgba(0,0,0,.74)) drop-shadow(0 0 16px rgba(251,191,36,.20));
}

.mpi-template-header-right,
.mpi-template-kicker,
.mpi-template-path-label { display: none !important; }

.mpi-template-build { display: none !important; }

.mpi-template-bg-glow {
  top: 43%;
  width: 350px;
  height: 350px;
  opacity: .88;
  background:
    radial-gradient(circle, rgba(251,191,36,.36), rgba(251,191,36,.10) 35%, transparent 67%),
    radial-gradient(circle, rgba(59,130,246,.18), transparent 66%);
}

.mpi-template-bg-glow::before {
  width: 175px;
  height: 230px;
  top: 50%;
  background-image: url("../assets/world-cup-trophy-clean.png?v=4.1.16.21");
  opacity: .64;
  filter: drop-shadow(0 0 26px rgba(251,191,36,.68)) drop-shadow(0 8px 18px rgba(0,0,0,.42));
}

.mpi-template-column-center::before { display: none !important; }

.mpi-template-worldcup-title {
  bottom: 88px;
  opacity: .98;
  text-shadow: 0 4px 0 rgba(0,0,0,.30), 0 0 22px rgba(251,191,36,.25);
}

.mpi-template-worldcup-title div {
  font-size: 46px;
  letter-spacing: .055em;
}

.mpi-template-worldcup-title span {
  margin-top: 6px;
  font-size: 15px;
  letter-spacing: .38em;
}

/* Completed/old matches should remain readable. Keep quieter, but do not shade the text away. */
.mpi-template-match-completed,
.mpi-template-match-completed-soft {
  transform: scale(.93);
  opacity: .94;
  border-color: rgba(251,191,36,.72);
  background:
    linear-gradient(135deg, rgba(2,6,23,.82), rgba(15,23,42,.66)),
    radial-gradient(circle at top left, rgba(251,191,36,.10), transparent 55%);
}
.mpi-template-match-completed .mpi-template-name,
.mpi-template-match-completed-soft .mpi-template-name {
  color: rgba(255,255,255,.96);
}
.mpi-template-match-completed .mpi-template-match-date,
.mpi-template-match-completed-soft .mpi-template-match-date {
  color: rgba(255,255,255,.86);
}

.mpi-template-footer span:nth-child(2)::after { content: ""; }

@media (max-width: 760px) {
  .mpi-template-header { grid-template-columns: 100px minmax(420px, 1fr) 100px; height: 92px; }
  .mpi-template-wordmark { height: 92px; }
  .mpi-template-brand-logo { width: 58px; height: 56px; }
}


/* 4.1.16.6 — Center branding / trophy / title polish
   Visual-only polish. Bracket data, live refresh, local time, and JSON progression remain unchanged. */
.mpi-template-poster {
  background:
    radial-gradient(circle at 50% 38%, rgba(251,191,36,.22), rgba(30,64,175,.08) 13%, transparent 30%),
    radial-gradient(ellipse at 50% 47%, rgba(5,42,90,.38), transparent 56%),
    linear-gradient(135deg, #01050d 0%, #031426 46%, #01050d 100%) !important;
}

.mpi-template-header {
  grid-template-columns: 1fr minmax(620px, 780px) 1fr !important;
  height: 90px !important;
  background:
    radial-gradient(circle at 50% 50%, rgba(251,191,36,.10), transparent 34%),
    linear-gradient(135deg, rgba(1,5,13,.99), rgba(2,10,22,.98) 52%, rgba(1,5,13,.99)) !important;
  border-color: rgba(251,191,36,.30) !important;
}

/* Remove the extra standalone emblem on the far left; the centered wordmark carries the brand. */
.mpi-template-header-left { visibility: hidden !important; opacity: 0 !important; }
.mpi-template-header-right { display: none !important; }

.mpi-template-title-brand {
  grid-column: 2 / 3;
  justify-self: center;
}
.mpi-template-wordmark {
  width: 640px !important;
  height: 108px !important;
  max-width: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
  filter: drop-shadow(0 5px 12px rgba(0,0,0,.78)) drop-shadow(0 0 18px rgba(251,191,36,.28)) !important;
}

/* Clear any old center bracket/trophy ghosting and keep only one art layer. */
.mpi-template-column-center::before { display: none !important; }
.mpi-template-bg-glow {
  top: 34.5% !important;
  width: 410px !important;
  height: 410px !important;
  opacity: .86 !important;
  background:
    radial-gradient(circle, rgba(251,191,36,.34), rgba(251,191,36,.10) 32%, transparent 66%),
    radial-gradient(circle, rgba(59,130,246,.13), transparent 68%) !important;
}
.mpi-template-bg-glow::before {
  width: 230px !important;
  height: 280px !important;
  top: 46% !important;
  opacity: .76 !important;
  background-image: url("../assets/world-cup-trophy-clean.png?v=4.1.16.21") !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center top !important;
  filter: drop-shadow(0 0 30px rgba(251,191,36,.74)) drop-shadow(0 9px 20px rgba(0,0,0,.45)) !important;
}

/* Raise the title into the open center field without colliding with footer. */
.mpi-template-worldcup-title {
  bottom: 122px !important;
  opacity: .98 !important;
  z-index: 2 !important;
}
.mpi-template-worldcup-title div {
  font-size: 46px !important;
  line-height: .92 !important;
  letter-spacing: .06em !important;
}
.mpi-template-worldcup-title span {
  margin-top: 7px !important;
  font-size: 14px !important;
  letter-spacing: .42em !important;
}

/* Remove the dark completion wash so older match text remains readable. */
.mpi-template-match-completed,
.mpi-template-match-completed-soft {
  opacity: 1 !important;
  background: linear-gradient(135deg, rgba(2,6,23,.84), rgba(15,23,42,.72)) !important;
  border-color: rgba(251,191,36,.72) !important;
}
.mpi-template-match-completed .mpi-template-name,
.mpi-template-match-completed-soft .mpi-template-name,
.mpi-template-match-completed .mpi-template-match-date,
.mpi-template-match-completed-soft .mpi-template-match-date {
  color: rgba(255,255,255,.98) !important;
}

.mpi-template-footer span:nth-child(2) { color: #fbbf24 !important; }


/* 4.1.16.21 — Trophy scale and bottom title hierarchy polish
   Visual-only changes. Bracket data, live refresh, local time, and JSON progression remain unchanged. */
.mpi-template-bg-glow {
  top: 35.8% !important;
  width: 315px !important;
  height: 315px !important;
  opacity: .84 !important;
  background:
    radial-gradient(circle, rgba(251,191,36,.30), rgba(251,191,36,.09) 32%, transparent 66%),
    radial-gradient(circle, rgba(59,130,246,.12), transparent 68%) !important;
}
.mpi-template-bg-glow::before {
  width: 158px !important;
  height: 210px !important;
  top: 50% !important;
  opacity: .72 !important;
  background-position: center center !important;
  filter: drop-shadow(0 0 24px rgba(251,191,36,.66)) drop-shadow(0 7px 18px rgba(0,0,0,.42)) !important;
}
.mpi-template-worldcup-title {
  bottom: 115px !important;
  opacity: .99 !important;
  z-index: 2 !important;
  min-width: 600px;
}
.mpi-template-worldcup-fifa {
  display:block;
  margin-bottom: 4px;
  color: rgba(255,255,255,.90);
  font-size: 14px;
  line-height: 1;
  font-weight: 950;
  letter-spacing: .42em;
  text-shadow: 0 2px 6px rgba(0,0,0,.60);
}
.mpi-template-worldcup-title div {
  display:block;
  font-family: Georgia, "Times New Roman", serif;
  line-height: .90 !important;
  letter-spacing: .035em !important;
  white-space: nowrap;
}
.mpi-template-worldcup-year {
  font-size: 58px !important;
  font-weight: 950;
  background: linear-gradient(180deg, #fff6c7 0%, #f6ce69 48%, #a86712 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.mpi-template-worldcup-name {
  font-size: 44px !important;
  font-weight: 900;
  background: linear-gradient(180deg, #fff2bd 0%, #f3c45e 52%, #b67513 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.mpi-template-worldcup-stage {
  display:block;
  margin-top: 8px !important;
  color: rgba(255,255,255,.86) !important;
  font-size: 15px !important;
  font-weight: 900;
  letter-spacing: .44em !important;
  text-shadow: 0 2px 7px rgba(0,0,0,.62);
}
@media (max-width: 760px) {
  .mpi-template-worldcup-title { min-width: 460px; bottom: 104px !important; }
  .mpi-template-worldcup-fifa { font-size: 10px; }
  .mpi-template-worldcup-year { font-size: 42px !important; }
  .mpi-template-worldcup-name { font-size: 32px !important; }
  .mpi-template-worldcup-stage { font-size: 11px !important; }
}


/* 4.1.16.21 — Final bracket and title placement correction
   Visual-only polish. Bracket data, live refresh, local time, and JSON progression remain unchanged. */
/* Keep the center trophy/ball above the Final bracket, smaller, and away from the header. */
.mpi-template-bg-glow {
  top: 32.2% !important;
  width: 255px !important;
  height: 255px !important;
  opacity: .78 !important;
  background:
    radial-gradient(circle, rgba(251,191,36,.26), rgba(251,191,36,.075) 32%, transparent 66%),
    radial-gradient(circle, rgba(59,130,246,.10), transparent 68%) !important;
}
.mpi-template-bg-glow::before {
  width: 118px !important;
  height: 158px !important;
  top: 46% !important;
  opacity: .68 !important;
  background-position: center center !important;
  filter: drop-shadow(0 0 20px rgba(251,191,36,.58)) drop-shadow(0 6px 14px rgba(0,0,0,.42)) !important;
}

/* Make the Final label read as the centerpiece inside the Final match box. */
.mpi-template-match[data-match-id="M104"] .mpi-template-special-label {
  text-align: center !important;
  font-size: 16px !important;
  line-height: 1 !important;
  letter-spacing: .075em !important;
  padding: 1px 6px 2px !important;
  color: #fbbf24 !important;
  text-shadow: 0 1px 5px rgba(0,0,0,.65), 0 0 8px rgba(251,191,36,.18) !important;
}
.mpi-template-match[data-match-id="M104"] .mpi-template-teams {
  align-items: center !important;
  text-align: center !important;
}
.mpi-template-match[data-match-id="M104"] .mpi-template-team-placeholder {
  width: 100% !important;
  justify-items: center !important;
  text-align: center !important;
}

/* Raise and enlarge the tournament title while keeping clear of the footer. */
.mpi-template-worldcup-title {
  bottom: 154px !important;
  opacity: 1 !important;
  z-index: 2 !important;
  min-width: 720px !important;
}
.mpi-template-worldcup-fifa {
  font-size: 17px !important;
  letter-spacing: .48em !important;
  margin-bottom: 5px !important;
}
.mpi-template-worldcup-year {
  font-size: 78px !important;
  letter-spacing: .045em !important;
}
.mpi-template-worldcup-name {
  font-size: 56px !important;
  letter-spacing: .035em !important;
}
.mpi-template-worldcup-stage {
  margin-top: 9px !important;
  font-size: 18px !important;
  letter-spacing: .46em !important;
}

@media (max-width: 760px) {
  .mpi-template-bg-glow { top: 32.2% !important; width: 230px !important; height: 230px !important; }
  .mpi-template-bg-glow::before { width: 106px !important; height: 142px !important; }
  .mpi-template-worldcup-title { bottom: 132px !important; min-width: 560px !important; }
  .mpi-template-worldcup-fifa { font-size: 12px !important; }
  .mpi-template-worldcup-year { font-size: 56px !important; }
  .mpi-template-worldcup-name { font-size: 40px !important; }
  .mpi-template-worldcup-stage { font-size: 13px !important; }
}


/* 4.1.16.21 — Trophy crop and center title scale polish
   Visual-only polish. Bracket data, live refresh, local time, and JSON progression remain unchanged. */
.mpi-template-bg-glow {
  top: 31.0% !important;
  width: 245px !important;
  height: 255px !important;
  opacity: .76 !important;
}
.mpi-template-bg-glow::before {
  width: 112px !important;
  height: 170px !important;
  top: 51% !important;
  background-image: url("../assets/world-cup-trophy-clean-padded.png?v=4.1.16.21") !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  opacity: .74 !important;
  filter: drop-shadow(0 0 21px rgba(251,191,36,.62)) drop-shadow(0 6px 14px rgba(0,0,0,.44)) !important;
}
.mpi-template-worldcup-title {
  bottom: 176px !important;
  min-width: 760px !important;
  z-index: 2 !important;
}
.mpi-template-worldcup-fifa {
  font-size: 20px !important;
  letter-spacing: .50em !important;
  margin-bottom: 6px !important;
}
.mpi-template-worldcup-year {
  font-size: 92px !important;
  letter-spacing: .04em !important;
  line-height: .84 !important;
}
.mpi-template-worldcup-name {
  font-size: 66px !important;
  letter-spacing: .035em !important;
  line-height: .86 !important;
}
.mpi-template-worldcup-stage {
  margin-top: 12px !important;
  font-size: 21px !important;
  letter-spacing: .48em !important;
}
.mpi-template-footer { z-index: 5 !important; }
@media (max-width: 760px) {
  .mpi-template-bg-glow { top: 31.0% !important; width: 220px !important; height: 230px !important; }
  .mpi-template-bg-glow::before { width: 102px !important; height: 152px !important; }
  .mpi-template-worldcup-title { bottom: 150px !important; min-width: 600px !important; }
  .mpi-template-worldcup-fifa { font-size: 14px !important; }
  .mpi-template-worldcup-year { font-size: 64px !important; }
  .mpi-template-worldcup-name { font-size: 46px !important; }
  .mpi-template-worldcup-stage { font-size: 15px !important; }
}


/* 4.1.16.21 — Trophy and tournament title final layout correction
   Visual-only polish. Bracket data, local time, live indicators, scores, knockout JSON,
   and refresh workflows remain untouched. */
.mpi-template-bg-glow {
  top: 32.8% !important;
  width: 360px !important;
  height: 360px !important;
  opacity: .88 !important;
  overflow: visible !important;
  background:
    radial-gradient(circle, rgba(251,191,36,.34), rgba(251,191,36,.13) 34%, transparent 69%),
    radial-gradient(circle, rgba(59,130,246,.14), transparent 70%) !important;
}
.mpi-template-bg-glow::before {
  width: 210px !important;
  height: 270px !important;
  top: 43% !important;
  left: 50% !important;
  background-image: url("../assets/world-cup-trophy-clean-padded.png?v=4.1.16.21") !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  opacity: .80 !important;
  filter: drop-shadow(0 0 28px rgba(251,191,36,.72)) drop-shadow(0 10px 20px rgba(0,0,0,.46)) !important;
}
.mpi-template-worldcup-title {
  bottom: 118px !important;
  min-width: 880px !important;
  opacity: 1 !important;
  z-index: 3 !important;
  text-shadow: 0 4px 0 rgba(0,0,0,.34), 0 0 24px rgba(251,191,36,.26) !important;
}
.mpi-template-worldcup-fifa {
  font-size: 22px !important;
  line-height: 1 !important;
  letter-spacing: .54em !important;
  margin-bottom: 8px !important;
}
.mpi-template-worldcup-title div {
  line-height: .82 !important;
}
.mpi-template-worldcup-year {
  font-size: 118px !important;
  line-height: .82 !important;
  letter-spacing: .035em !important;
}
.mpi-template-worldcup-name {
  font-size: 82px !important;
  line-height: .82 !important;
  letter-spacing: .025em !important;
}
.mpi-template-worldcup-stage {
  margin-top: 16px !important;
  font-size: 27px !important;
  line-height: 1 !important;
  letter-spacing: .50em !important;
}
.mpi-template-match[data-match-id="M104"] .mpi-template-special-label {
  font-size: 18px !important;
  letter-spacing: .085em !important;
}
@media (max-width: 760px) {
  .mpi-template-bg-glow { top: 32.8% !important; width: 285px !important; height: 300px !important; }
  .mpi-template-bg-glow::before { width: 165px !important; height: 220px !important; top: 43% !important; }
  .mpi-template-worldcup-title { bottom: 104px !important; min-width: 620px !important; }
  .mpi-template-worldcup-fifa { font-size: 14px !important; }
  .mpi-template-worldcup-year { font-size: 72px !important; }
  .mpi-template-worldcup-name { font-size: 50px !important; }
  .mpi-template-worldcup-stage { font-size: 16px !important; }
}


/* 4.1.16.21 — Final trophy/title placement polish
   Visual-only polish. Bracket data, local time, live indicators, scores, knockout JSON,
   and refresh workflows remain untouched. */
.mpi-template-bg-glow {
  top: 31.2% !important;
  width: 430px !important;
  height: 430px !important;
  opacity: .92 !important;
  overflow: visible !important;
  background:
    radial-gradient(circle, rgba(251,191,36,.38), rgba(251,191,36,.15) 34%, transparent 70%),
    radial-gradient(circle, rgba(59,130,246,.16), transparent 72%) !important;
}
.mpi-template-bg-glow::before {
  width: 245px !important;
  height: 330px !important;
  top: 45% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  background-image: url("../assets/world-cup-trophy-clean-padded.png?v=4.1.16.21") !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  opacity: .82 !important;
  filter: drop-shadow(0 0 30px rgba(251,191,36,.76)) drop-shadow(0 10px 22px rgba(0,0,0,.46)) !important;
}
.mpi-template-match[data-match-id="M104"] .mpi-template-special-label {
  display: block !important;
  text-align: center !important;
  font-size: 22px !important;
  line-height: 1.05 !important;
  letter-spacing: .10em !important;
  margin: 0 auto 4px auto !important;
}
.mpi-template-worldcup-title {
  bottom: 150px !important;
  min-width: 1060px !important;
  opacity: 1 !important;
  z-index: 3 !important;
  text-align: center !important;
  text-shadow: 0 4px 0 rgba(0,0,0,.42), 0 0 28px rgba(251,191,36,.34) !important;
}
.mpi-template-worldcup-fifa {
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: 28px !important;
  line-height: 1 !important;
  letter-spacing: .60em !important;
  color: #f7f3e7 !important;
  margin-bottom: 10px !important;
}
.mpi-template-worldcup-title div {
  line-height: .82 !important;
  margin: 0 !important;
}
.mpi-template-worldcup-year {
  display: block !important;
  font-size: 126px !important;
  line-height: .78 !important;
  letter-spacing: .045em !important;
}
.mpi-template-worldcup-name {
  display: block !important;
  font-size: 88px !important;
  line-height: .82 !important;
  letter-spacing: .035em !important;
}
.mpi-template-worldcup-stage {
  margin-top: 17px !important;
  font-size: 30px !important;
  line-height: 1 !important;
  letter-spacing: .50em !important;
  color: rgba(255,255,255,.92) !important;
}
@media (max-width: 760px) {
  .mpi-template-bg-glow { top: 31.2% !important; width: 315px !important; height: 330px !important; }
  .mpi-template-bg-glow::before { width: 180px !important; height: 245px !important; top: 45% !important; }
  .mpi-template-worldcup-title { bottom: 124px !important; min-width: 660px !important; }
  .mpi-template-worldcup-fifa { font-size: 16px !important; }
  .mpi-template-worldcup-year { font-size: 78px !important; }
  .mpi-template-worldcup-name { font-size: 54px !important; }
  .mpi-template-worldcup-stage { font-size: 18px !important; }
}


/* 4.1.16.21 — Header blend, trophy clearance, and gold lower title final artwork polish
   Visual-only polish. Bracket data, local time, live indicators, scores, knockout JSON,
   and refresh workflows remain untouched. */
.mpi-template-header {
  border-color: transparent !important;
  box-shadow: none !important;
  background:
    radial-gradient(circle at 50% 48%, rgba(251,191,36,.08), transparent 34%),
    linear-gradient(135deg, rgba(1,5,13,.96), rgba(3,15,31,.96) 52%, rgba(1,5,13,.96)) !important;
}
.mpi-template-header::after {
  opacity: .14 !important;
  background: linear-gradient(90deg, transparent, rgba(251,191,36,.34), transparent) !important;
}
/* Keep trophy visible and clear of the Final match box. */
.mpi-template-bg-glow {
  top: 28.7% !important;
  width: 360px !important;
  height: 360px !important;
  opacity: .82 !important;
  overflow: visible !important;
  background:
    radial-gradient(circle, rgba(251,191,36,.28), rgba(251,191,36,.10) 31%, transparent 70%),
    radial-gradient(circle, rgba(59,130,246,.12), transparent 73%) !important;
}
.mpi-template-bg-glow::before {
  width: 196px !important;
  height: 268px !important;
  top: 43% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  background-image: url("../assets/world-cup-trophy-clean-padded.png?v=4.1.16.21") !important;
  background-size: contain !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  opacity: .79 !important;
  filter: drop-shadow(0 0 25px rgba(251,191,36,.68)) drop-shadow(0 9px 18px rgba(0,0,0,.44)) !important;
}
.mpi-template-match[data-match-id="M104"] .mpi-template-special-label {
  display:block !important;
  text-align:center !important;
  font-size:24px !important;
  line-height:1.02 !important;
  letter-spacing:.09em !important;
  margin:0 auto 5px auto !important;
  color:#fbbf24 !important;
  text-shadow:0 1px 0 #7c2d12, 0 0 10px rgba(251,191,36,.32) !important;
}
/* Gold poster title: larger, higher, and clear of footer. */
.mpi-template-worldcup-title {
  bottom: 128px !important;
  min-width: 1120px !important;
  z-index: 3 !important;
  text-align:center !important;
  text-transform:uppercase !important;
  text-shadow:0 3px 0 rgba(0,0,0,.48), 0 0 24px rgba(251,191,36,.38) !important;
}
.mpi-template-worldcup-title span,
.mpi-template-worldcup-title div {
  color:#f8d778 !important;
  background:linear-gradient(180deg,#fff4c2 0%,#f9d870 34%,#c98514 72%,#7a3f05 100%) !important;
  -webkit-background-clip:text !important;
  background-clip:text !important;
  -webkit-text-fill-color:transparent !important;
}
.mpi-template-worldcup-fifa {
  display:block !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size:30px !important;
  line-height:1 !important;
  letter-spacing:.62em !important;
  margin-bottom:8px !important;
}
.mpi-template-worldcup-title div {
  display:block !important;
  line-height:.78 !important;
  margin:0 !important;
}
.mpi-template-worldcup-year {
  display:inline-block !important;
  font-size:150px !important;
  line-height:.78 !important;
  letter-spacing:.035em !important;
  margin-right:18px !important;
}
.mpi-template-worldcup-name {
  display:inline-block !important;
  font-size:102px !important;
  line-height:.78 !important;
  letter-spacing:.02em !important;
}
.mpi-template-worldcup-stage {
  display:block !important;
  margin-top:16px !important;
  font-size:34px !important;
  line-height:1 !important;
  letter-spacing:.48em !important;
}
.mpi-template-footer {
  z-index: 6 !important;
}
@media (max-width: 760px) {
  .mpi-template-header { border-color: transparent !important; }
  .mpi-template-bg-glow { top: 28.7% !important; width: 285px !important; height: 290px !important; }
  .mpi-template-bg-glow::before { width: 152px !important; height: 210px !important; top:43% !important; }
  .mpi-template-worldcup-title { bottom: 112px !important; min-width: 720px !important; }
  .mpi-template-worldcup-fifa { font-size:18px !important; }
  .mpi-template-worldcup-year { font-size:88px !important; margin-right:10px !important; }
  .mpi-template-worldcup-name { font-size:60px !important; }
  .mpi-template-worldcup-stage { font-size:20px !important; }
}


/* 4.1.16.21 — Final artwork alignment: trophy rests on Final, title enlarged, brighter bracket path.
   Visual-only polish. Bracket data, local time, live indicators, scores, knockout JSON,
   live refresh scripts, workflows, and API writer logic remain untouched. */

/* Reduce/remove the heavy vertical section wash so the center field feels open. */
.mpi-template-bracket-grid {
  background:
    linear-gradient(90deg,
      transparent 10%, rgba(251,191,36,.045) 10.2%, transparent 10.9%,
      transparent 22%, rgba(251,191,36,.050) 22.2%, transparent 22.9%,
      transparent 36%, rgba(251,191,36,.045) 36.2%, transparent 36.9%,
      transparent 63%, rgba(251,191,36,.045) 63.2%, transparent 63.9%,
      transparent 77%, rgba(251,191,36,.050) 77.2%, transparent 77.9%,
      transparent 90%, rgba(251,191,36,.045) 90.2%, transparent 90.9%),
    radial-gradient(ellipse at center, rgba(255,255,255,.025), transparent 44%) !important;
}
.mpi-template-bracket-grid::before {
  opacity: .28 !important;
  background: linear-gradient(90deg, transparent, rgba(251,191,36,.32), transparent) !important;
}

/* Bracket connectors: brighter and thicker so the path reads closer to the poster artwork. */
.mpi-template-connector {
  stroke: rgba(251,191,36,.88) !important;
  stroke-width: 3.2px !important;
  opacity: .74 !important;
  filter: drop-shadow(0 0 5px rgba(251,191,36,.36)) !important;
}
.mpi-template-connector-completed {
  opacity: .56 !important;
  stroke-width: 2.7px !important;
}
.mpi-template-connector-future {
  opacity: .52 !important;
  stroke-width: 2.8px !important;
}
.mpi-template-connector-next {
  opacity: .86 !important;
  stroke-width: 3.6px !important;
}
.mpi-template-connector-current {
  opacity: 1 !important;
  stroke-width: 4.2px !important;
  filter: drop-shadow(0 0 9px rgba(251,191,36,.66)) !important;
}

/* Trophy: smaller than the oversized pass, no crop, and visually resting on top of Final (M104). */
.mpi-template-bg-glow {
  top: 30.8% !important;
  width: 388px !important;
  height: 390px !important;
  opacity: .88 !important;
  overflow: visible !important;
  background:
    radial-gradient(circle, rgba(251,191,36,.30), rgba(251,191,36,.11) 32%, transparent 69%),
    radial-gradient(circle, rgba(59,130,246,.12), transparent 72%) !important;
}
.mpi-template-bg-glow::before {
  width: 212px !important;
  height: 292px !important;
  top: 48.8% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  background-image: url("../assets/world-cup-trophy-clean-padded.png?v=4.1.16.21") !important;
  background-size: contain !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  opacity: .82 !important;
  filter: drop-shadow(0 0 27px rgba(251,191,36,.72)) drop-shadow(0 10px 20px rgba(0,0,0,.46)) !important;
}

/* Final box: keep position, but give FINAL the poster emphasis Gary requested. */
.mpi-template-match[data-match-id="M104"] .mpi-template-special-label {
  display:block !important;
  text-align:center !important;
  font-size:28px !important;
  line-height:1.0 !important;
  letter-spacing:.09em !important;
  margin:0 auto 6px auto !important;
  color:#fbbf24 !important;
  text-shadow:0 1px 0 #7c2d12, 0 0 13px rgba(251,191,36,.42) !important;
}

/* Lower center title: large gold poster title, moved into open center field and clear of footer. */
.mpi-template-worldcup-title {
  bottom: 142px !important;
  min-width: 1320px !important;
  transform: translateX(-50%) scale(1.16) !important;
  transform-origin: center bottom !important;
  z-index: 3 !important;
  text-align:center !important;
  text-transform:uppercase !important;
  opacity:1 !important;
  text-shadow:0 4px 0 rgba(0,0,0,.52), 0 0 30px rgba(251,191,36,.48) !important;
}
.mpi-template-worldcup-title span,
.mpi-template-worldcup-title div {
  color:#f8d778 !important;
  background:linear-gradient(180deg,#fff7c8 0%,#fbdc75 34%,#d99b25 66%,#8b4c08 100%) !important;
  -webkit-background-clip:text !important;
  background-clip:text !important;
  -webkit-text-fill-color:transparent !important;
}
.mpi-template-worldcup-fifa {
  display:block !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size:38px !important;
  line-height:1 !important;
  letter-spacing:.66em !important;
  margin-bottom:12px !important;
}
.mpi-template-worldcup-title div {
  display:block !important;
  line-height:.76 !important;
  margin:0 !important;
}
.mpi-template-worldcup-year {
  display:inline-block !important;
  font-size:190px !important;
  line-height:.74 !important;
  letter-spacing:.035em !important;
  margin-right:24px !important;
}
.mpi-template-worldcup-name {
  display:inline-block !important;
  font-size:124px !important;
  line-height:.76 !important;
  letter-spacing:.018em !important;
}
.mpi-template-worldcup-stage {
  display:block !important;
  margin-top:20px !important;
  font-size:46px !important;
  line-height:1 !important;
  letter-spacing:.46em !important;
}
.mpi-template-footer {
  z-index: 8 !important;
}

@media (max-width: 760px) {
  .mpi-template-bracket-grid { background: radial-gradient(ellipse at center, rgba(255,255,255,.025), transparent 44%) !important; }
  .mpi-template-connector { stroke-width: 3px !important; }
  .mpi-template-bg-glow { top:30.8% !important; width:300px !important; height:306px !important; }
  .mpi-template-bg-glow::before { width:164px !important; height:226px !important; top:48.8% !important; }
  .mpi-template-worldcup-title { bottom:124px !important; min-width:860px !important; transform:translateX(-50%) scale(1.05) !important; }
  .mpi-template-worldcup-fifa { font-size:22px !important; }
  .mpi-template-worldcup-year { font-size:108px !important; margin-right:12px !important; }
  .mpi-template-worldcup-name { font-size:72px !important; }
  .mpi-template-worldcup-stage { font-size:24px !important; }
}


/* 4.1.16.21 — Center composition correction.
   Visual-only: trophy reduced/positioned to sit above Final; lower FIFA/2026 title rebuilt larger in gold;
   section wash minimized and connector lines kept bright. No JSON, live refresh, or bracket logic changes. */

/* Open up the center: remove heavy vertical shaded separation panels. */
.mpi-template-bracket-grid {
  background:
    radial-gradient(ellipse at center, rgba(255,255,255,.028), transparent 45%) !important;
}
.mpi-template-bracket-grid::before {
  opacity: .18 !important;
  background: linear-gradient(90deg, transparent, rgba(251,191,36,.36), transparent) !important;
}

/* Bracket connectors: keep them poster-gold and readable. */
.mpi-template-connector {
  stroke: rgba(251,191,36,.95) !important;
  stroke-width: 3.6px !important;
  opacity: .78 !important;
  filter: drop-shadow(0 0 6px rgba(251,191,36,.42)) !important;
}
.mpi-template-connector-completed { opacity:.62 !important; stroke-width:3px !important; }
.mpi-template-connector-future { opacity:.56 !important; stroke-width:3px !important; }
.mpi-template-connector-next { opacity:.92 !important; stroke-width:3.8px !important; }
.mpi-template-connector-current { opacity:1 !important; stroke-width:4.5px !important; filter:drop-shadow(0 0 10px rgba(251,191,36,.72)) !important; }

/* Trophy: reduce the artwork and place its base just above the M104 Final box. */
.mpi-template-bg-glow {
  top: 32.6% !important;
  width: 300px !important;
  height: 300px !important;
  opacity: .88 !important;
  overflow: visible !important;
  background:
    radial-gradient(circle, rgba(251,191,36,.28), rgba(251,191,36,.10) 34%, transparent 70%),
    radial-gradient(circle, rgba(59,130,246,.12), transparent 72%) !important;
}
.mpi-template-bg-glow::before {
  width: 154px !important;
  height: 216px !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  background-image: url("../assets/world-cup-trophy-clean-padded.png?v=4.1.16.21") !important;
  background-size: contain !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  opacity: .83 !important;
  filter: drop-shadow(0 0 24px rgba(251,191,36,.66)) drop-shadow(0 10px 20px rgba(0,0,0,.45)) !important;
}

/* Final box: leave it in place but keep FINAL dominant and centered. */
.mpi-template-match[data-match-id="M104"] .mpi-template-special-label {
  display:block !important;
  text-align:center !important;
  font-size:31px !important;
  line-height:.95 !important;
  letter-spacing:.09em !important;
  margin:0 auto 7px auto !important;
  color:#fbbf24 !important;
  text-shadow:0 1px 0 #7c2d12, 0 0 15px rgba(251,191,36,.48) !important;
}

/* Lower tournament title: rebuild as a larger gold poster title, with 2026 as the largest line. */
.mpi-template-worldcup-title {
  bottom: 168px !important;
  left: 50% !important;
  min-width: 760px !important;
  transform: translateX(-50%) !important;
  transform-origin: center bottom !important;
  z-index: 3 !important;
  text-align:center !important;
  text-transform:uppercase !important;
  opacity:1 !important;
  pointer-events:none !important;
  text-shadow:0 4px 0 rgba(0,0,0,.56), 0 0 32px rgba(251,191,36,.46) !important;
}
.mpi-template-worldcup-title span,
.mpi-template-worldcup-title div {
  display:block !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-weight:900 !important;
  color:#f8d778 !important;
  background:linear-gradient(180deg,#fff7c8 0%,#fbdc75 35%,#d99b25 68%,#8b4c08 100%) !important;
  -webkit-background-clip:text !important;
  background-clip:text !important;
  -webkit-text-fill-color:transparent !important;
}
.mpi-template-worldcup-fifa {
  font-size:30px !important;
  line-height:1 !important;
  letter-spacing:.60em !important;
  margin:0 0 10px 0 !important;
}
.mpi-template-worldcup-year {
  font-size:122px !important;
  line-height:.76 !important;
  letter-spacing:.08em !important;
  margin:0 0 0 0 !important;
}
.mpi-template-worldcup-name {
  font-size:86px !important;
  line-height:.82 !important;
  letter-spacing:.05em !important;
  margin:2px 0 0 0 !important;
}
.mpi-template-worldcup-stage {
  font-size:34px !important;
  line-height:1 !important;
  letter-spacing:.40em !important;
  margin:13px 0 0 0 !important;
}

@media (max-width: 760px) {
  .mpi-template-bg-glow { top:32.6% !important; width:240px !important; height:240px !important; }
  .mpi-template-bg-glow::before { width:124px !important; height:174px !important; top:50% !important; }
  .mpi-template-worldcup-title { bottom:138px !important; min-width:540px !important; }
  .mpi-template-worldcup-fifa { font-size:18px !important; }
  .mpi-template-worldcup-year { font-size:72px !important; }
  .mpi-template-worldcup-name { font-size:50px !important; }
  .mpi-template-worldcup-stage { font-size:22px !important; }
}


/* 4.1.16.21 — Mobile viewer + final poster title/trophy polish.
   Visual/responsive-only. Bracket data, live indicators, scores, knockout JSON, and refresh workflows are untouched. */

/* Trophy: rounded top visible, smaller, and positioned to rest just above the FINAL match box. */
.mpi-template-bg-glow {
  top: 31.0% !important;
  width: 250px !important;
  height: 260px !important;
  opacity: .86 !important;
  overflow: visible !important;
  background:
    radial-gradient(circle, rgba(251,191,36,.24), rgba(251,191,36,.10) 34%, transparent 72%),
    radial-gradient(circle, rgba(59,130,246,.12), transparent 74%) !important;
}
.mpi-template-bg-glow::before {
  width: 132px !important;
  height: 188px !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  background-image: url("../assets/world-cup-trophy-clean-padded.png?v=4.1.16.21") !important;
  background-size: contain !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  opacity: .86 !important;
  filter: drop-shadow(0 0 22px rgba(251,191,36,.64)) drop-shadow(0 10px 18px rgba(0,0,0,.46)) !important;
}

/* Lower title: make FIFA 2026 WORLD CUP a true poster title in the open center field. */
.mpi-template-worldcup-title {
  bottom: 156px !important;
  left: 50% !important;
  min-width: 980px !important;
  transform: translateX(-50%) !important;
  transform-origin: center bottom !important;
  z-index: 4 !important;
  text-align:center !important;
  text-transform:uppercase !important;
  opacity:1 !important;
  pointer-events:none !important;
  text-shadow: 0 4px 0 rgba(0,0,0,.55), 0 0 34px rgba(251,191,36,.52) !important;
}
.mpi-template-worldcup-title span {
  display:block !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-weight:900 !important;
  color:#f8d778 !important;
  background:linear-gradient(180deg,#fff8ca 0%,#fbdc75 34%,#d99b25 66%,#8b4c08 100%) !important;
  -webkit-background-clip:text !important;
  background-clip:text !important;
  -webkit-text-fill-color:transparent !important;
}
.mpi-template-worldcup-fifa {
  font-size:42px !important;
  line-height:1 !important;
  letter-spacing:.62em !important;
  margin:0 0 12px 0 !important;
}
.mpi-template-worldcup-year {
  font-size:176px !important;
  line-height:.74 !important;
  letter-spacing:.07em !important;
  margin:0 !important;
}
.mpi-template-worldcup-name {
  font-size:118px !important;
  line-height:.76 !important;
  letter-spacing:.04em !important;
  margin:0 !important;
}
.mpi-template-worldcup-stage {
  font-size:44px !important;
  line-height:1 !important;
  letter-spacing:.42em !important;
  margin:16px 0 0 0 !important;
}

/* Responsive/mobile viewer: landscape fits the full bracket by default; pinch and drag are handled in JS. */
.mpi-poster-body.mpi-touch-viewer {
  overflow: hidden !important;
  padding: 0 !important;
  touch-action: none !important;
  overscroll-behavior: none !important;
}
.mpi-poster-body.mpi-touch-viewer .mpi-poster-stage {
  width: 100% !important;
  height: 100% !important;
  overflow: hidden !important;
  position: relative !important;
  display: block !important;
  margin: 0 !important;
  touch-action: none !important;
}
.mpi-poster-body.mpi-touch-viewer .mpi-poster-template-stage {
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  width: 1600px !important;
  min-width: 1600px !important;
  height: 1000px !important;
  transform-origin: 0 0 !important;
  transform: translate3d(var(--mpi-pan-x, 0px), var(--mpi-pan-y, 0px), 0) scale(var(--mpi-zoom, 1)) !important;
  will-change: transform !important;
}
.mpi-poster-body.mpi-touch-viewer::before {
  content: "Rotate phone for full bracket • pinch to zoom • drag to pan";
  position: absolute;
  left: 50%;
  bottom: 8px;
  z-index: 20;
  transform: translateX(-50%);
  padding: 5px 9px;
  border: 1px solid rgba(251,191,36,.45);
  border-radius: 999px;
  background: rgba(2,8,20,.72);
  color: rgba(255,255,255,.88);
  font-size: 10px;
  font-weight: 800;
  pointer-events: none;
}
@media (orientation: landscape) and (max-width: 940px) {
  .mpi-poster-body.mpi-touch-viewer::before { display:none; }
}
@media (max-width: 760px) {
  .mpi-template-bg-glow { top:31.0% !important; width:210px !important; height:218px !important; }
  .mpi-template-bg-glow::before { width:112px !important; height:158px !important; top:50% !important; }
  .mpi-template-worldcup-title { bottom:136px !important; min-width:760px !important; }
  .mpi-template-worldcup-fifa { font-size:28px !important; }
  .mpi-template-worldcup-year { font-size:118px !important; }
  .mpi-template-worldcup-name { font-size:78px !important; }
  .mpi-template-worldcup-stage { font-size:30px !important; }
}


/* 4.1.16.21 — Mobile full-screen fit, orientation hint, and pinch/pan controls */
.mpi-poster-fit {
  border: 1px solid rgba(251,191,36,.58);
  background: rgba(15,23,42,.88);
  color: #fbbf24;
  border-radius: 12px;
  padding: 10px 12px;
  font-weight: 950;
  cursor: pointer;
  white-space: nowrap;
}
.mpi-poster-dialog:fullscreen {
  inset: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  border-radius: 0 !important;
  border: 0 !important;
}
.mpi-poster-dialog:fullscreen .mpi-poster-head {
  padding-top: max(6px, env(safe-area-inset-top));
}
@media (pointer: coarse), (max-width: 940px) {
  .mpi-poster-dialog { inset: 0 !important; border-radius: 0 !important; }
  .mpi-poster-head { padding: 6px 8px !important; gap: 6px !important; }
  .mpi-poster-head-title { font-size: 14px !important; }
  .mpi-poster-head-subtitle { font-size: 10px !important; }
  .mpi-poster-fullscreen, .mpi-poster-fit { padding: 7px 9px !important; border-radius: 10px !important; font-size: 12px !important; }
  .mpi-poster-close { width: 34px !important; height: 34px !important; font-size: 26px !important; }
}
@media (orientation: portrait) and (pointer: coarse) {
  .mpi-poster-body.mpi-touch-viewer::before {
    content: "Tap Full Screen, then rotate phone for best fit • pinch to zoom" !important;
  }
}
@media (orientation: landscape) and (pointer: coarse) {
  .mpi-poster-body.mpi-touch-viewer::before { display:none !important; }
}


/* 4.1.16.21 — Inline production bracket card + mobile-fullscreen usability */
#mpiTournamentBracketNav {
  display: none !important;
}

.mpi-poster-bracket-inline-card {
  display: block !important;
  margin: 14px 0 18px !important;
  padding: 12px !important;
  border-color: rgba(251,191,36,.62) !important;
  background: linear-gradient(135deg, rgba(6,12,28,.98), rgba(2,6,23,.96)) !important;
}

.mpi-poster-bracket-inline-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 10px;
}

.mpi-poster-inline-viewport {
  width: 100%;
  overflow: hidden;
  border: 1px solid rgba(251,191,36,.48);
  border-radius: 14px;
  background: #020814;
  cursor: zoom-in;
}

.mpi-poster-inline-stage {
  position: relative;
  width: 1560px;
  height: 930px;
  transform-origin: 0 0;
  transform: scale(var(--mpi-inline-scale, .75));
}

.mpi-poster-inline-stage .mpi-template-poster {
  margin: 0 !important;
}

.mpi-poster-inline-stage .mpi-template-match {
  pointer-events: none;
}

.mpi-poster-bracket-open {
  min-width: 134px;
}

@media (max-width: 760px) {
  .mpi-poster-bracket-inline-head {
    align-items: flex-start;
    flex-direction: column;
  }
  .mpi-poster-bracket-open {
    width: 100%;
  }
}

/* Keep group standings closed until explicitly opened. */
#standingsSection.collapsed #standingsPanel {
  display: none !important;
}

/* Fullscreen mobile fit: maximize viewer area, reduce header chrome, keep Fit available. */
@media (pointer: coarse), (max-width: 940px) {
  .mpi-poster-dialog {
    inset: 0 !important;
    height: 100dvh !important;
  }
  .mpi-poster-head {
    min-height: 42px !important;
  }
  .mpi-poster-body {
    height: calc(100dvh - 48px) !important;
  }
}
@media (orientation: landscape) and (pointer: coarse) {
  .mpi-poster-head-subtitle {
    display: none !important;
  }
  .mpi-poster-body {
    height: calc(100dvh - 42px) !important;
  }
}


/* 4.1.16.21 — Poster finalization: three-line championship title, lineup gating, and trophy crop guard.
   Visual/mobile/UI-only; bracket data, live refresh, and workflow logic untouched. */

/* Trophy: preserve current position but make the top breathe so the rounded cap is not visibly cropped. */
.mpi-template-bg-glow {
  overflow: visible !important;
}
.mpi-template-bg-glow::before {
  background-image: url("../assets/world-cup-trophy-clean-padded.png?v=4.1.16.21") !important;
  width: 125px !important;
  height: 205px !important;
  top: 48% !important;
  background-size: contain !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

/* Championship title: three strong gold poster lines. */
.mpi-template-worldcup-title {
  bottom: 94px !important;
  min-width: 1080px !important;
  text-align: center !important;
  z-index: 5 !important;
  text-shadow: 0 5px 0 rgba(0,0,0,.58), 0 0 42px rgba(251,191,36,.58) !important;
}
.mpi-template-worldcup-title span {
  display: block !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-weight: 950 !important;
  text-transform: uppercase !important;
  color: #f8d778 !important;
  background: linear-gradient(180deg,#fff9c8 0%,#ffe38a 30%,#e4aa31 62%,#9c5c09 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}
.mpi-template-worldcup-fifa {
  font-size: 92px !important;
  line-height: .86 !important;
  letter-spacing: .18em !important;
  margin: 0 0 12px 0 !important;
}
.mpi-template-worldcup-name {
  font-size: 132px !important;
  line-height: .82 !important;
  letter-spacing: .035em !important;
  margin: 0 !important;
}
.mpi-template-worldcup-name strong {
  font-size: 1.1em !important;
  font-weight: 1000 !important;
}
.mpi-template-worldcup-stage {
  font-size: 58px !important;
  line-height: .94 !important;
  letter-spacing: .28em !important;
  margin: 16px 0 0 0 !important;
}

/* Hide lineups until a real lineup feed marks a control available. Match Notes remains untouched. */
.lineups-btn-4068:not([data-lineups-available="true"]),
.lineups-btn-4069:not([data-lineups-available="true"]) {
  display: none !important;
}

/* Defensively keep Group Standings closed on initial page load. */
#standingsSection.collapsed #standingsPanel {
  display: none !important;
}

@media (max-width: 760px) {
  .mpi-template-bg-glow::before {
    width: 104px !important;
    height: 170px !important;
    top: 48% !important;
  }
  .mpi-template-worldcup-title {
    bottom: 82px !important;
    min-width: 760px !important;
  }
  .mpi-template-worldcup-fifa { font-size: 54px !important; }
  .mpi-template-worldcup-name { font-size: 78px !important; }
  .mpi-template-worldcup-stage { font-size: 34px !important; }
}

/* 4.1.16.21 corrected — final title scale, trophy crop correction, and defensive standings collapse. */
.mpi-template-poster .mpi-template-bg-glow {
  top: 30.6% !important;
  width: 280px !important;
  height: 300px !important;
  overflow: visible !important;
  background:
    radial-gradient(circle, rgba(251,191,36,.28), rgba(251,191,36,.11) 38%, transparent 72%),
    radial-gradient(circle, rgba(59,130,246,.12), transparent 74%) !important;
}
.mpi-template-poster .mpi-template-bg-glow::before {
  background-image: url("../assets/world-cup-trophy-final.png?v=4.1.16.21") !important;
  width: 170px !important;
  height: 230px !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  background-size: contain !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  opacity: .92 !important;
  filter: drop-shadow(0 0 24px rgba(251,191,36,.68)) drop-shadow(0 12px 20px rgba(0,0,0,.42)) !important;
}
.mpi-template-poster .mpi-template-worldcup-title {
  position: absolute !important;
  left: 50% !important;
  bottom: 150px !important;
  width: 900px !important;
  min-width: 900px !important;
  max-width: 900px !important;
  transform: translateX(-50%) !important;
  text-align: center !important;
  z-index: 8 !important;
  pointer-events: none !important;
  text-shadow: 0 6px 0 rgba(0,0,0,.60), 0 0 42px rgba(251,191,36,.56) !important;
}
.mpi-template-poster .mpi-template-worldcup-title span {
  display: block !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-weight: 950 !important;
  text-transform: uppercase !important;
  color: #f8d778 !important;
  background: linear-gradient(180deg,#fff7bd 0%,#ffe082 31%,#dfa42e 63%,#8a5108 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  filter: drop-shadow(0 2px 0 rgba(0,0,0,.45)) !important;
}
.mpi-template-poster .mpi-template-worldcup-fifa {
  font-size: 78px !important;
  line-height: .82 !important;
  letter-spacing: .16em !important;
  margin: 0 0 10px 0 !important;
}
.mpi-template-poster .mpi-template-worldcup-name {
  font-size: 112px !important;
  line-height: .82 !important;
  letter-spacing: .03em !important;
  margin: 0 !important;
  white-space: nowrap !important;
}
.mpi-template-poster .mpi-template-worldcup-name strong {
  font-size: 1.08em !important;
  font-weight: 1000 !important;
}
.mpi-template-poster .mpi-template-worldcup-stage {
  font-size: 48px !important;
  line-height: .92 !important;
  letter-spacing: .24em !important;
  margin-top: 14px !important;
}
#standingsSection.collapsed #standingsPanel { display: none !important; }
@media (max-width: 760px) {
  .mpi-template-poster .mpi-template-bg-glow { top: 30.8% !important; width: 230px !important; height: 250px !important; }
  .mpi-template-poster .mpi-template-bg-glow::before { width: 135px !important; height: 185px !important; }
  .mpi-template-poster .mpi-template-worldcup-title { bottom: 118px !important; width: 760px !important; min-width: 760px !important; max-width: 760px !important; }
  .mpi-template-poster .mpi-template-worldcup-fifa { font-size: 52px !important; }
  .mpi-template-poster .mpi-template-worldcup-name { font-size: 76px !important; }
  .mpi-template-poster .mpi-template-worldcup-stage { font-size: 32px !important; }
}


/* 4.1.16.21 — Corrective polish: poster title scale, trophy crop guard, mobile banner text, default collapse. */
.mpi-template-poster .mpi-template-bg-glow {
  overflow: visible !important;
}
.mpi-template-poster .mpi-template-bg-glow::before {
  background-image: url("../assets/world-cup-trophy-final.png?v=4.1.16.21") !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  overflow: visible !important;
}
/* Three-line lower title: large gold title in the open center field, clear of footer. */
.mpi-template-poster .mpi-template-worldcup-title {
  top: 615px !important;
  bottom: auto !important;
  left: 50% !important;
  width: 1080px !important;
  min-width: 1080px !important;
  max-width: 1080px !important;
  transform: translateX(-50%) !important;
  text-align: center !important;
  z-index: 7 !important;
  pointer-events: none !important;
  text-transform: uppercase !important;
  opacity: 1 !important;
  text-shadow: 0 5px 0 rgba(0,0,0,.60), 0 0 44px rgba(251,191,36,.58) !important;
}
.mpi-template-poster .mpi-template-worldcup-title span {
  display: block !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-weight: 950 !important;
  color: #f8d778 !important;
  background: linear-gradient(180deg,#fff9cc 0%,#ffe48f 30%,#dca12d 66%,#8b4c08 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  filter: drop-shadow(0 2px 0 rgba(0,0,0,.48)) !important;
}
.mpi-template-poster .mpi-template-worldcup-fifa {
  font-size: 78px !important;
  line-height: .88 !important;
  letter-spacing: .18em !important;
  margin: 0 0 10px 0 !important;
}
.mpi-template-poster .mpi-template-worldcup-name {
  font-size: 112px !important;
  line-height: .82 !important;
  letter-spacing: .035em !important;
  margin: 0 !important;
  white-space: nowrap !important;
}
.mpi-template-poster .mpi-template-worldcup-name strong {
  font-size: 1.04em !important;
  font-weight: 1000 !important;
}
.mpi-template-poster .mpi-template-worldcup-stage {
  font-size: 52px !important;
  line-height: .95 !important;
  letter-spacing: .28em !important;
  margin: 14px 0 0 0 !important;
}
/* Collapse defaults: Group Stage phase and Group Standings are closed until user opens them. */
.phase-section.phase-GROUP:not(.mpi-user-opened),
#standingsSection.collapsed #standingsPanel {
  display: block;
}
.phase-section.phase-GROUP.collapsed .phase-content,
.phase-section.phase-GROUP.collapsed .phase-definition,
.standings-section.collapsed #standingsPanel,
#standingsSection.collapsed #standingsPanel {
  display: none !important;
}
/* Mobile-safe live/banner typography: never let status text spill off phone width. */
@media (max-width: 700px) {
  .mpi-priority-card { overflow: hidden !important; }
  .mpi-priority-label { font-size: 10px !important; line-height: 1.15 !important; letter-spacing: .04em !important; }
  .mpi-priority-score { font-size: 15px !important; line-height: 1.15 !important; gap: 4px !important; max-width: 100% !important; }
  .mpi-priority-score strong { font-size: 17px !important; line-height: 1.12 !important; white-space: normal !important; overflow-wrap: anywhere !important; max-width: 100% !important; }
  .mpi-priority-score span { white-space: normal !important; overflow-wrap: anywhere !important; }
  .mpi-ops-context-banner, .mpi-priority-banner { max-width: 100vw !important; overflow: hidden !important; }
  .mpi-template-poster .mpi-template-worldcup-title { top: 620px !important; width: 780px !important; min-width: 780px !important; max-width: 780px !important; }
  .mpi-template-poster .mpi-template-worldcup-fifa { font-size: 54px !important; }
  .mpi-template-poster .mpi-template-worldcup-name { font-size: 78px !important; }
  .mpi-template-poster .mpi-template-worldcup-stage { font-size: 34px !important; }
}


/* 4.1.16.21 — Corrective poster title sizing and mobile-safe stage defaults.
   Keep title in open center field, away from bracket boxes and footer. */
.mpi-template-poster .mpi-template-worldcup-title {
  top: 590px !important;
  bottom: auto !important;
  width: 820px !important;
  min-width: 820px !important;
  max-width: 820px !important;
  transform: translateX(-50%) !important;
  z-index: 7 !important;
}
.mpi-template-poster .mpi-template-worldcup-fifa {
  font-size: 82px !important;
  line-height: .92 !important;
  letter-spacing: .18em !important;
  margin: 0 0 8px 0 !important;
}
.mpi-template-poster .mpi-template-worldcup-name {
  font-size: 82px !important;
  line-height: .90 !important;
  letter-spacing: .035em !important;
  margin: 0 !important;
  white-space: nowrap !important;
}
.mpi-template-poster .mpi-template-worldcup-stage {
  font-size: 42px !important;
  line-height: 1 !important;
  letter-spacing: .24em !important;
  margin-top: 10px !important;
}
@media (max-width: 760px) {
  .mpi-template-poster .mpi-template-worldcup-title {
    top: 604px !important;
    width: 720px !important;
    min-width: 720px !important;
    max-width: 720px !important;
  }
  .mpi-template-poster .mpi-template-worldcup-fifa { font-size: 60px !important; }
  .mpi-template-poster .mpi-template-worldcup-name { font-size: 60px !important; }
  .mpi-template-poster .mpi-template-worldcup-stage { font-size: 30px !important; }
}
/* Stage accordion defensive default: rendered stages start closed unless user opens them. */
.phase-section.phase-GROUP:not(.expanded) .phase-content,
.phase-section.phase-GROUP:not(.expanded) .phase-definition { display: none !important; }


/* 4.1.16.21 — Final title compression pass before production commit.
   Goal: keep FIFA / 2026 WORLD CUP / KNOCKOUT STAGE large but inside center lane, away from brackets and footer. */
.mpi-template-poster .mpi-template-worldcup-title {
  top: 602px !important;
  bottom: auto !important;
  left: 50% !important;
  width: 720px !important;
  min-width: 720px !important;
  max-width: 720px !important;
  transform: translateX(-50%) !important;
  transform-origin: center center !important;
  z-index: 7 !important;
}
.mpi-template-poster .mpi-template-worldcup-fifa {
  font-size: 76px !important;
  line-height: .92 !important;
  letter-spacing: .18em !important;
  margin: 0 0 6px 0 !important;
}
.mpi-template-poster .mpi-template-worldcup-name {
  font-size: 64px !important;
  line-height: .92 !important;
  letter-spacing: .015em !important;
  margin: 0 !important;
  white-space: nowrap !important;
  transform: scaleX(.88) !important;
  transform-origin: center center !important;
}
.mpi-template-poster .mpi-template-worldcup-stage {
  font-size: 34px !important;
  line-height: 1 !important;
  letter-spacing: .20em !important;
  margin-top: 8px !important;
}
@media (max-width: 760px) {
  .mpi-template-poster .mpi-template-worldcup-title {
    top: 610px !important;
    width: 620px !important;
    min-width: 620px !important;
    max-width: 620px !important;
  }
  .mpi-template-poster .mpi-template-worldcup-fifa { font-size: 54px !important; }
  .mpi-template-poster .mpi-template-worldcup-name { font-size: 46px !important; transform: scaleX(.88) !important; }
  .mpi-template-poster .mpi-template-worldcup-stage { font-size: 26px !important; letter-spacing: .18em !important; }
}

/* 4.3.6.1 — Automatic champion presentation for the authoritative M104 winner. */
.mpi-template-match[data-match-id="M104"] .mpi-template-team {
  position: relative;
  transition: font-size .2s ease, font-weight .2s ease, filter .2s ease;
}
.mpi-template-match[data-match-id="M104"] .mpi-template-team-champion {
  grid-template-columns: 22px minmax(0, 1fr) 18px;
  column-gap: 5px;
  padding-top: 5px;
  padding-bottom: 5px;
  font-weight: 1000;
  color: #fff7c8;
  filter: drop-shadow(0 0 7px rgba(251,191,36,.42));
}
.mpi-template-match[data-match-id="M104"] .mpi-template-team-champion .mpi-template-name {
  font-size: 1.28em;
  line-height: 1.05;
  letter-spacing: .015em;
  overflow: visible;
  text-overflow: clip;
  white-space: nowrap;
}
.mpi-template-champion-trophy {
  display: block;
  width: 16px;
  height: 20px;
  object-fit: contain;
  justify-self: end;
  filter: drop-shadow(0 0 4px rgba(251,191,36,.78));
}
.mpi-template-champion-label {
  grid-column: 2 / 4;
  display: block;
  margin-top: -2px;
  color: #fbbf24;
  font-size: 8px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: .12em;
  text-transform: uppercase;
  white-space: nowrap;
}
