/*
 * penalty-hub-v233.css — Maç sonu KONTROL MERKEZİ.
 *
 * NE DEĞİŞTİ
 * ----------
 * Maç bitince açılan pencere dar bir "geçilecek kutu" idi: skor, birkaç satır
 * özet ve "Sonraki Maç" düğmesi. Kullanıcı bunun yerine bir MERKEZ istedi —
 * sağda geniş ve tam sığan puan durumu, solda son maçlar ile önceki haftaların
 * sonuçları, takım armaları, sıradaki maçın göründüğü bir kart ve ana menüye
 * dönüş.
 *
 * NEDEN AYNI KABIN İÇİNDE
 * -----------------------
 * `#endOverlay` ve `#restartBtn` yalnız bir görünüm değil, çok oyunculu akışın
 * OMURGASIDIR: hazır verme, oda sahibinin haftayı başlatması, turnuva sonu ve
 * lobiye dönüş hep bu iki öğe üzerinden yürür (v51/v54/v55/v58 katmanları).
 * Bu yüzden yeni ekran onları SİLMEZ, kendi ızgarasına yerleştirir. Çok
 * oyunculu mantık olduğu gibi çalışmaya devam eder.
 *
 * Bu dosya yalnız yerleşim ve renktir; hiçbir oyun kuralı burada yaşamaz.
 */

/* ===================== 1) Kabuk: tam ekran merkez ===================== */

/*
 * Merkez GERÇEKTEN tam ekrandır.
 *
 * `.overlay` kuralı `position:absolute` ve kap `.stage` olduğu için pencere
 * yalnız sahne kutusunu kaplıyordu: üstte skor şeridi, altta kontrol şeridi
 * dışarıda kalıyor, merkezin ızgarası da o dar kutuya sıkışıyordu. Merkez
 * kipinde konum `fixed`e alınır; böylece kontrol merkezi ekranın tamamıdır.
 */
#endOverlay.plHubMode {
  position: fixed !important;
  inset: 0 !important;
  z-index: 200 !important;
  align-items: stretch !important;
  justify-content: stretch !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/*
 * `position: fixed` YALNIZ BÖYLE ÇALIŞIR.
 *
 * `.stage` üzerinde `perspective: 1500px` var (eski DOM sahnesinin 3B kutusu).
 * Perspektif taşıyan bir öğe, içindeki `fixed` konumlu torunlar için KAPSAYAN
 * BLOK üretir: pencere ekranı değil, sahne kutusunu kaplıyordu. Merkez açıkken
 * perspektif kapatılır — o sırada eski DOM sahnesi zaten görünmüyor.
 */
body.pl-hub-open .stage {
  perspective: none !important;
  /*
   * Mobil katman ayrıca `contain: layout paint` veriyor (sahne yeniden
   * çizimini yalıtmak için). `layout` sınırlaması da aynı sonucu doğurur:
   * içindeki `fixed` öğe sahne kutusuna hapsolur. Merkez açıkken kalkar,
   * kapanınca kendiliğinden geri gelir.
   */
  contain: none !important;
}

/*
 * Sahne, merkez açıkken kardeşlerinin ÜSTÜNDE yığılır.
 *
 * `.topbar` ile `.stage` `.app` ızgarasının kardeşleridir ve üst şerit daha
 * yüksek yığın düzeyindeydi: tam ekran merkezin üstüne binip skor kartını
 * kapatıyordu. Merkez kapanınca eski düzen kendiliğinden geri gelir.
 */
body.pl-hub-open .stage { position: relative; z-index: 300; }

/* Merkezin kendi "Ana Menü" düğmesi var; sahnedeki köşe düğmesi çakışmasın. */
body.pl-hub-open #portalHomeButton { display: none !important; }

/* Ortak mobil menü düğmesi merkezin devam düğmesinin üstüne binmesin. */
body.pl-hub-open .wos-menu-btn,
body.pl-hub-open .wos-menu-backdrop,
body.pl-hub-open .wos-menu-sheet { display: none !important; }

#endOverlay.plHubMode .modal {
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  max-height: 100% !important;
  margin: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  gap: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  text-align: left !important;
  background:
    radial-gradient(circle at 12% 0%, rgba(101, 231, 255, .13), transparent 34%),
    radial-gradient(circle at 88% 4%, rgba(255, 209, 102, .11), transparent 32%),
    linear-gradient(160deg, #02070e, #071a2b 46%, #04101c) !important;
  border: none !important;
}

/* Eski dar-modal kuralları merkezde geçersizdir. */
#endOverlay.plHubMode .modal > h1,
#endOverlay.plHubMode .modal > p,
#endOverlay.plHubMode .modal > .big,
#endOverlay.plHubMode .modal > button {
  display: none !important;
}

/*
 * Hafta özeti merkezde çizilmez.
 *
 * İçeriğini merkez zaten daha zengin biçimde gösteriyor (solda tur tur
 * sonuçlar, sağda geniş tablo). Öğenin KENDİSİ silinmez — v51/v55 katmanları
 * `#mpEndStandingsPlus`i ona göre konumlandırdığı için DOM'da kalmalıdır —
 * yalnız gizlenir. Seçici konumdan bağımsızdır: öğe merkezin içine taşınıyor,
 * `.modal > #weekReview` biçiminde bir çocuk seçici artık eşleşmez.
 */
#endOverlay.plHubMode #weekReview {
  display: none !important;
}

/*
 * MERKEZE SONRADAN EKLENEN ÖĞELER YİNE GÖRÜNÜR.
 *
 * Çok oyunculu katmanlar (v51/v55/v58) pencereye zaman zaman yeni kutular
 * ekliyor. Merkez tanıdıklarını kendi ızgarasına taşır; tanımadığı bir öğe
 * eklendiğinde ise onu yok saymak yerine ızgaranın ALTINDA, kendi içinde
 * kayan bir şerit olarak gösterir. Böylece ileride eklenecek bir uyarı ya da
 * düğme sessizce kaybolmaz.
 */
#endOverlay.plHubMode .modal > *:not(.plHub):not(#weekReview) {
  flex: 0 0 auto;
  max-height: 32vh;
  overflow: auto;
  margin: 0 12px 10px;
}

/* Çok oyunculuda "bekleniyor" bandı merkezin üstünde kalır. */
body.pl-hub-open #mpWaiting.show {
  position: fixed;
  left: 50%;
  bottom: calc(12px + max(var(--wos-safe-bottom, 0px), 0px));
  z-index: 320;
}

/* ===================== 2) Izgara ===================== */

.plHub {
  flex: 1 1 auto;
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(280px, 0.92fr) minmax(340px, 1.28fr);
  grid-template-rows: auto minmax(0, 1fr) auto;
  grid-template-areas:
    "top   top"
    "left  right"
    "foot  foot";
  gap: 10px;
  padding: 10px 12px 12px;
  box-sizing: border-box;
}

.plHubTop { grid-area: top; }
.plHubLeft { grid-area: left; }
.plHubRight { grid-area: right; }
.plHubFoot { grid-area: foot; }

.plHubLeft, .plHubRight {
  min-height: 0;
  display: flex;
  flex-direction: column;
  gap: 9px;
  overflow: hidden;
}

.plHubScroll {
  min-height: 0;
  flex: 1 1 auto;
  overflow-y: auto;
  /* Dar ekranda tablo sütunları kırpılmasın; kendi içinde yatay kayar. */
  overflow-x: auto;
  overscroll-behavior: contain;
  padding-right: 4px;
}
.plHubScroll::-webkit-scrollbar { width: 8px; }
.plHubScroll::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, .22); border-radius: 999px;
}

/* ===================== 3) Kartlar ===================== */

.plHubCard {
  background: rgba(6, 17, 30, .74);
  border: 1px solid rgba(255, 255, 255, .13);
  border-radius: 16px;
  padding: 10px 12px;
  box-shadow: 0 16px 40px rgba(0, 0, 0, .34);
  min-height: 0;
  /* Kart daralınca içerik dışarı TAŞMAZ; kırpılır ve iç kaydırma devralır. */
  overflow: hidden;
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.plHubCard.grow { flex: 1 1 auto; }

.plHubCardTitle {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
  font: 900 12px/1.1 Inter, system-ui, sans-serif;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: #eaf6ff;
}
.plHubCardTitle span {
  font: 700 10px/1.1 Inter, system-ui, sans-serif;
  letter-spacing: .02em;
  text-transform: none;
  color: #9fc0d4;
}

/* --- üst şerit --- */
.plHubTop {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
  padding: 8px 12px;
  border-radius: 14px;
  background: rgba(6, 17, 30, .7);
  border: 1px solid rgba(255, 255, 255, .12);
}
.plHubBrand {
  display: flex; flex-direction: column; gap: 2px; min-width: 0;
}
.plHubBrand b {
  font: 900 15px/1.1 Inter, system-ui, sans-serif;
  color: #fff; letter-spacing: .01em;
}
.plHubBrand span {
  font: 700 11px/1.15 Inter, system-ui, sans-serif; color: #9fc0d4;
}
.plHubTopRight { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }

.plHubChip {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 5px 10px; border-radius: 999px;
  background: rgba(255, 255, 255, .07);
  border: 1px solid rgba(255, 255, 255, .14);
  font: 800 10.5px/1 Inter, system-ui, sans-serif; color: #dff0fb;
}
.plHubChip.win { background: rgba(36, 232, 156, .16); border-color: rgba(36, 232, 156, .4); color: #8dffcd; }
.plHubChip.lose { background: rgba(255, 82, 115, .15); border-color: rgba(255, 82, 115, .38); color: #ffb3c1; }
.plHubChip.draw { background: rgba(255, 209, 102, .14); border-color: rgba(255, 209, 102, .36); color: #ffe1a3; }

/* --- maç sonucu kartı --- */
.plHubScoreCard {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 10px;
}
.plHubScoreSide {
  display: flex; flex-direction: column; align-items: center; gap: 6px; min-width: 0;
}
.plHubScoreSide b {
  font: 800 12px/1.15 Inter, system-ui, sans-serif; color: #fff;
  text-align: center; overflow-wrap: anywhere;
}
.plHubScoreSide .clubLogo, .plHubScoreSide .teamLogo {
  width: 44px; height: 44px;
}
.plHubScoreNum {
  font: 900 30px/1 Inter, system-ui, sans-serif;
  color: #ffd166; white-space: nowrap;
  text-shadow: 0 4px 18px rgba(255, 209, 102, .28);
}
.plHubScoreNote {
  font: 600 11px/1.35 Inter, system-ui, sans-serif; color: #b6d2e2;
}

/* --- sonuç satırları --- */
.plHubResults { display: grid; gap: 5px; }
.plHubRoundTitle {
  font: 800 10.5px/1 Inter, system-ui, sans-serif;
  letter-spacing: .06em; text-transform: uppercase;
  color: #8fb6cc; margin: 5px 0 1px;
}
.plHubMatch {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr) auto minmax(0, 1fr) 20px;
  align-items: center;
  gap: 6px;
  padding: 5px 8px;
  border-radius: 10px;
  background: rgba(255, 255, 255, .045);
  border: 1px solid rgba(255, 255, 255, .07);
  font: 700 11px/1.15 Inter, system-ui, sans-serif;
  color: #e6f3fb;
}
.plHubMatch.me {
  background: rgba(101, 231, 255, .12);
  border-color: rgba(101, 231, 255, .32);
}
.plHubMatch .plHubTeamName { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.plHubMatch .plHubTeamName.right { text-align: right; }
.plHubMatch b {
  font: 900 12px/1 Inter, system-ui, sans-serif; color: #ffd166; white-space: nowrap;
}
.plHubMatch .clubLogo { width: 20px; height: 20px; }

/* --- puan durumu --- */
/*
 * Geniş ekranda tablo sınırsız uzamaz: 20 takımlı bir ligde takım sütunu
 * ekranı boydan boya kaplayınca rakamlar isimden metrelerce uzağa düşüyor ve
 * satır okunmuyordu.
 */
.plHubTable { display: grid; gap: 2px; max-width: 640px; margin: 0 auto; }
.plHubTable .tableHeader,
.plHubTable .tableRow {
  display: grid;
  grid-template-columns: 26px 24px minmax(0, 1fr) 30px 28px 28px 28px 32px 32px 36px 38px;
  align-items: center;
  gap: 2px;
  padding: 4px 8px;
  border-radius: 9px;
  font: 700 11.5px/1.15 Inter, system-ui, sans-serif;
  color: #e6f3fb;
  text-align: center;
}
.plHubTable .tableHeader {
  background: rgba(255, 255, 255, .06);
  color: #9fc0d4;
  font: 800 10px/1 Inter, system-ui, sans-serif;
  letter-spacing: .04em;
  text-transform: uppercase;
  position: sticky;
  top: 0;
  z-index: 2;
  backdrop-filter: blur(6px);
}
.plHubTable .tableRow { background: rgba(255, 255, 255, .035); }
.plHubTable .tableRow:nth-child(even) { background: rgba(255, 255, 255, .055); }
.plHubTable .tableRow.me {
  background: rgba(101, 231, 255, .14);
  box-shadow: inset 0 0 0 1px rgba(101, 231, 255, .34);
}
.plHubTable .club {
  text-align: left; min-width: 0; padding-left: 5px;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  font-weight: 800;
}
.plHubTable .pts { font-weight: 900; color: #ffd166; }
.plHubTable .gdPos { color: #6ff0b6; }
.plHubTable .gdNeg { color: #ff92a8; }

/*
 * ARMA KUTUSU KENDİ SÜTUNUNDA KALIR.
 *
 * `logoHTML()` armanın içine bir de kısaltma metni koyar (görsel gelmezse
 * okunacak yedek). Kutuya ölçü verilmediğinde o metin taşıyor ve takım adının
 * üstüne biniyordu — ekranda "ARArsenal" gibi. Ölçü + taşma kırpması bunu
 * kaynağında engeller.
 */
.plHub .clubLogo,
.plHub .teamLogo,
.plHub .wcFlag,
.plHub .flagMini {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  flex: 0 0 auto;
  box-sizing: border-box;
  position: relative;
}
.plHub .clubLogo > img,
.plHub .teamLogo > img {
  max-width: 100%; max-height: 100%; object-fit: contain;
}
.plHub .clubLogo > span,
.plHub .teamLogo > span {
  font: 800 8px/1 Inter, system-ui, sans-serif;
  letter-spacing: -.02em;
  text-align: center;
  overflow: hidden;
}
.plHubTable .clubLogo { width: 22px; height: 22px; }

/* --- Dünya Kupası grupları --- */
.plHubGroups {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(196px, 1fr));
  gap: 8px;
  align-content: start;
}
.plHubGroup {
  background: rgba(255, 255, 255, .045);
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 12px;
  padding: 7px 8px;
}
.plHubGroup.meGroup { border-color: rgba(101, 231, 255, .38); background: rgba(101, 231, 255, .08); }
.plHubGroupHead {
  display: flex; justify-content: space-between; align-items: baseline;
  font: 900 11px/1 Inter, system-ui, sans-serif; color: #fff; margin-bottom: 4px;
}
.plHubGroupHead span { font: 700 9px/1 Inter, system-ui, sans-serif; color: #8fb6cc; letter-spacing: .08em; }
.plHubGroupRow {
  display: grid;
  grid-template-columns: 15px 20px minmax(0, 1fr) 22px 26px 24px;
  align-items: center; gap: 3px;
  padding: 3px 4px; border-radius: 7px;
  font: 700 10.5px/1.1 Inter, system-ui, sans-serif; color: #dff0fb;
}
.plHubGroupRow b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 800; }
.plHubGroupRow em { font-style: normal; text-align: center; color: #a9c9db; }
.plHubGroupRow strong { text-align: center; color: #ffd166; font-weight: 900; }
.plHubGroupRow.direct { background: rgba(36, 232, 156, .14); }
.plHubGroupRow.thirdq { background: rgba(255, 209, 102, .13); }
.plHubGroupRow.me { box-shadow: inset 0 0 0 1px rgba(101, 231, 255, .45); }
.plHubGroupRow .clubLogo, .plHubGroupRow .flagMini, .plHubGroupRow .wcFlag {
  width: 18px; height: 13px; object-fit: contain;
}
.plHubLegend { display: flex; gap: 10px; font: 700 10px/1 Inter, system-ui, sans-serif; color: #9fc0d4; }
.plHubLegend i { font-style: normal; display: inline-flex; align-items: center; gap: 5px; }
.plHubLegend i::before {
  content: ""; width: 10px; height: 10px; border-radius: 3px; display: inline-block;
}
.plHubLegend i.direct::before { background: rgba(36, 232, 156, .55); }
.plHubLegend i.thirdq::before { background: rgba(255, 209, 102, .55); }

/* --- eleme ağacı --- */
.plHubKo { display: grid; gap: 5px; }
.plHubKoRow {
  display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center; gap: 8px;
  padding: 6px 9px; border-radius: 10px;
  background: rgba(255, 255, 255, .045);
  border: 1px solid rgba(255, 255, 255, .08);
  font: 700 11.5px/1.15 Inter, system-ui, sans-serif; color: #e6f3fb;
}
.plHubKoRow.me { border-color: rgba(101, 231, 255, .36); background: rgba(101, 231, 255, .1); }
.plHubKoRow b { color: #ffd166; font-weight: 900; }
.plHubKoRow .koWinner { color: #8dffcd; }
.plHubKoRow .right { text-align: right; }
.plHubChampion {
  display: flex; align-items: center; gap: 10px;
  padding: 9px 12px; border-radius: 14px;
  background: linear-gradient(120deg, rgba(255, 209, 102, .2), rgba(255, 209, 102, .06));
  border: 1px solid rgba(255, 209, 102, .42);
  font: 900 14px/1.1 Inter, system-ui, sans-serif; color: #ffe6ab;
}

/* ===================== 4) Alt şerit: menü + sıradaki maç ===================== */

.plHubFoot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
}

.plHubMenuCol { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }

.plHubMenuBtn {
  display: inline-flex; align-items: center; gap: 8px;
  min-height: 42px; padding: 10px 15px;
  border-radius: 13px;
  border: 1px solid rgba(255, 255, 255, .2);
  background: rgba(6, 17, 30, .8);
  color: #eaf6ff;
  font: 800 12px/1 Inter, system-ui, sans-serif;
  text-decoration: none;
  cursor: pointer;
  transition: transform .16s ease, background .16s ease;
}
.plHubMenuBtn:hover { transform: translateY(-1px); background: rgba(20, 44, 72, .92); }
.plHubMenuBtn svg { width: 16px; height: 16px; flex: 0 0 16px; }

/* Sıradaki maç kartı + oyunun kendi devam düğmesi. */
.plHubNextCard {
  display: flex; align-items: center; gap: 12px;
  flex: 1 1 340px;
  padding: 9px 12px;
  border-radius: 15px;
  background: linear-gradient(120deg, rgba(57, 119, 255, .2), rgba(101, 231, 255, .09));
  border: 1px solid rgba(101, 231, 255, .3);
  min-width: 0;
}
.plHubNextInfo { display: flex; flex-direction: column; gap: 4px; min-width: 0; flex: 1 1 auto; }
.plHubNextLabel {
  font: 800 9.5px/1 Inter, system-ui, sans-serif; letter-spacing: .1em;
  text-transform: uppercase; color: #a7d8ee;
}
.plHubNextTeams {
  display: flex; align-items: center; gap: 8px; min-width: 0;
  font: 800 13px/1.15 Inter, system-ui, sans-serif; color: #fff;
}
.plHubNextTeams .clubLogo { width: 26px; height: 26px; flex: 0 0 26px; }
.plHubNextTeams em {
  font: 800 10px/1 Inter, system-ui, sans-serif; font-style: normal; color: #9fc0d4;
}
.plHubNextTeams .plHubTeamName { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* Oyunun kendi düğmesi merkezin içinde, ana eylem olarak. */
#endOverlay.plHubMode #restartBtn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  flex: 0 0 auto !important;
  min-height: 48px !important;
  height: auto !important;
  padding: 12px 22px !important;
  border-radius: 14px !important;
  font: 900 13px/1 Inter, system-ui, sans-serif !important;
  letter-spacing: .02em !important;
  white-space: normal !important;
  max-width: 300px !important;
}
#endOverlay.plHubMode #mpReturnLobbyBtn {
  min-height: 44px; padding: 10px 16px; border-radius: 13px;
  font: 800 12px/1.15 Inter, system-ui, sans-serif;
}
/* Devam kartındaki gizli skor: v54 düğmeyi buranın yanına taşır. */
#endOverlay.plHubMode .plHubActionSlot > .big#finalScore {
  display: none !important;
}

.plHubEmpty {
  font: 700 11.5px/1.4 Inter, system-ui, sans-serif; color: #9fc0d4;
  padding: 8px 2px;
}

/* ===================== 5) Dar ekran ===================== */

@media (max-width: 900px), (pointer: coarse) and (max-width: 1100px) {
  .plHub {
    grid-template-columns: minmax(0, 1fr);
    /*
     * Telefonda tek sütun. Sabit yükseklik ALMAYAN tek satır sağ sütundur
     * (puan durumu): kalan alanın tamamını o alır ve kendi içinde kayar. Üst
     * şerit, özet ve alt şerit kendi içeriği kadar yer kaplar.
     */
    grid-template-rows: auto minmax(0, 0.85fr) minmax(0, 1.15fr) auto;
    grid-template-areas:
      "top"
      "left"
      "right"
      "foot";
    gap: 8px;
    padding: calc(8px + max(var(--wos-safe-top, 0px), 0px))
             calc(8px + max(var(--wos-safe-right, 0px), 0px))
             calc(10px + max(var(--wos-safe-bottom, 0px), 0px))
             calc(8px + max(var(--wos-safe-left, 0px), 0px));
  }
  /*
   * Sol sütun telefonda bir ÖZETTİR: maç sonucu her zaman görünür, sonuç
   * listesi kendi içinde kayar. Böylece sağdaki puan durumu ekranın büyük
   * kısmını alabilir.
   */
  .plHubLeft .plHubCard.grow { min-height: 92px; }
  /* Alt şerit içeriği kadar yer kaplar; kalan alanı yutmaz. */
  .plHubFoot .plHubNextCard { flex: 0 0 auto; }
  .plHubTop { padding: 7px 10px; }
  .plHubBrand b { font-size: 13px; }
  /* Özet kartı telefonda küçülür; kazanılan yer sonuç listesine gider. */
  .plHubScoreNum { font-size: 24px; }
  .plHubScoreSide .clubLogo, .plHubScoreSide .teamLogo { width: 34px; height: 34px; }
  .plHubScoreSide b { font-size: 11px; }
  .plHubScoreNote { font-size: 10.5px; line-height: 1.3; max-height: 3.9em; overflow: hidden; }
  #plHubScoreCardWrap { padding: 8px 10px; gap: 6px; }
  .plHubTable .tableHeader,
  .plHubTable .tableRow {
    grid-template-columns: 20px 20px minmax(0, 1fr) 24px 22px 22px 22px 26px 26px 30px 30px;
    font-size: 10px; padding: 3px 5px;
  }
  .plHubTable .clubLogo { width: 17px; height: 17px; }
  .plHubGroups { grid-template-columns: repeat(auto-fill, minmax(158px, 1fr)); gap: 6px; }
  .plHubGroup { padding: 6px; }
  /* Dar kartta üç harfli kısaltma kırpılmasın: rakam sütunları daraltılır. */
  .plHubGroupRow {
    grid-template-columns: 13px 17px minmax(0, 1fr) 15px 22px 17px;
    gap: 2px; font-size: 10px; padding: 3px 2px;
  }
  .plHubGroupRow .clubLogo, .plHubGroupRow .flagMini, .plHubGroupRow .wcFlag {
    width: 16px; height: 12px;
  }
  .plHubFoot { flex-direction: column; align-items: stretch; }
  .plHubNextCard { flex-direction: column; align-items: stretch; gap: 8px; }
  #endOverlay.plHubMode #restartBtn { max-width: none !important; width: 100% !important; }
  .plHubMenuCol { justify-content: space-between; }
  .plHubMenuBtn { flex: 1 1 auto; justify-content: center; }
}

@media (max-width: 520px) {
  .plHubTable .tableHeader span:nth-child(5),
  .plHubTable .tableRow span:nth-child(5),
  .plHubTable .tableHeader span:nth-child(6),
  .plHubTable .tableRow span:nth-child(6),
  .plHubTable .tableHeader span:nth-child(7),
  .plHubTable .tableRow span:nth-child(7) { display: none; }
  .plHubTable .tableHeader,
  .plHubTable .tableRow {
    grid-template-columns: 20px 20px minmax(0, 1fr) 24px 26px 26px 30px 30px;
  }
}

/* Çok oyunculu kutusu merkezin sağ sütununa taşınır. */
#endOverlay.plHubMode #mpEndStandingsPlus {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  border: none !important;
  max-height: none !important;
  overflow: visible !important;
}
