/*
 * sanal-lig/mobile-app-v282.css — Sanal Lig mobil uygulama katmanı.
 *
 * NEDEN VAR
 *   V153 mobil kabuğu (Merkez/Kupon/Canlı/Lig) çalışıyor ama üzerine sonradan
 *   gelen MASAÜSTÜ katmanları telefonu eziyordu. Ölçülen üç somut hata:
 *
 *   1. `assets/v61-ui/sanal-lig.css:107`
 *        .layout > section:nth-child(2){display:grid!important}
 *      Bu kural masaüstünde ORTA SÜTUNU hedefliyor. V153 kabuğu main'in
 *      çocuklarını dört `.mobile-app-view` ile değiştirdiği için artık
 *      İKİNCİ GÖRÜNÜME (kupon) çarpıyor ve onu `display:none`a rağmen
 *      açık tutuyordu. Sonuç: "Merkez" sekmesi 3093 piksellik bir sayfaya
 *      dönüşüyor, kullanıcı aşağı kaydırdıkça kupon içeriğine düşüyordu.
 *
 *   2. `assets/v61-ui/sanal-lig.css:633`
 *        header .title h1{font-size:clamp(27px,9vw,36px)!important}
 *      390 pikselde 35,1 piksel eder. V153'ün 18 pikseli `!important`
 *      taşımadığı için kaybediyor; başlık üç satıra taşıyor ve şeridin
 *      dışında kalıyordu. Ölçülen başlık yüksekliği: 151 piksel.
 *
 *   3. `sanal-lig/assets/sanal-lig-v112.css`
 *        .topStats .pill{font-size:8.5px!important}
 *      Sezon/durum bilgisi 9,5 piksele iniyordu.
 *
 *   Bu dosya o çakışmaları TEK yerde kapatır ve mobil bilgi mimarisini
 *   kurar. En son yüklenir; `!important` kullanımı istisna değil zorunluluk,
 *   çünkü ezdiği kuralların hepsi zaten `!important`.
 *
 * KAPSAM
 *   Yalnız `body.wos-mobile-app` altında çalışır. Bu sınıfı yazan tek yer
 *   `mobile-app-site-v153.js`tir ve o da kendi mobil medya sorgusunu
 *   geçmeden çalışmaz. Yani masaüstü bu dosyadan HİÇ etkilenmez —
 *   ek bir `@media` gerekmez, yükseklik tabanlı sorgu hiç kullanılmaz.
 *
 * GÖRÜNTÜ ALANI
 *   Ölçüm yapılmaz. `mobile-foundation-v219.js`in yazdığı değişkenler ve
 *   gövde sınıfları okunur: --wos-visible-height, --wos-keyboard-offset,
 *   --wos-safe-top/-bottom, .wos-keyboard-open, .wos-vh-short.
 */

body.wos-mobile-app {
  --app-nav-h: 76px;
  --app-bar-h: 52px;
  --app-gutter: 12px;
  /* Sabit alt aksiyon şeridinin altına düşecek boşluk. Alt gezinti +
     güvenli alan; sticky kupon şeridi de bunun üstüne oturur. */
  --app-nav-space: calc(var(--app-nav-h) + max(var(--wos-safe-bottom, 0px), 0px));
}

/* ========================================================================
   1. GÖRÜNÜM YALITIMI  —  yukarıdaki 1 numaralı hatanın kapatılması
   ======================================================================== */

html body.wos-mobile-app .mobile-app-view {
  display: none !important;
}

html body.wos-mobile-app .mobile-app-view.is-active {
  display: block !important;
}

/* Etkin olmayan görünüm ölçüye de girmesin: eski katmanlar bazı kartlara
   `position:fixed` veriyor ve gizli görünümdeki bir sabit öğe ekranda
   kalabiliyordu. */
html body.wos-mobile-app .mobile-app-view:not(.is-active) {
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
}

/* ========================================================================
   2. UYGULAMA ŞERİDİ (üst)  —  2 ve 3 numaralı hataların kapatılması
   ======================================================================== */

html body.wos-mobile-app header {
  position: sticky !important;
  top: 0 !important;
  z-index: 240 !important;
  min-height: 0 !important;
  padding:
    calc(max(var(--wos-safe-top, 0px), 0px) + 6px)
    var(--app-gutter)
    6px !important;
  background: linear-gradient(180deg, rgba(4, 10, 18, .97), rgba(4, 10, 18, .90)) !important;
  border-bottom: 1px solid rgba(255, 255, 255, .09) !important;
}

/* Uygulama şeridi: [ana menü] [başlık] [sezon rozeti].
   "Ana Menü" bağlantısı JS ile buraya taşınır; eskiden şeridin ALTINDA
   tam genişlikte bir satır kaplıyordu. */
/* Izgara yerine ESNEK satır kullanılıyor: "Ana Menü" düğmesi her sayfada
   bulunmayabiliyor ve ızgarada sütun sayısı öğe sayısına göre kayıp
   başlığı `auto` sütuna düşürüyordu (başlık yeniden 330 piksele çıkıp
   rozetin altına giriyordu). Esnek satırda eksik öğe sorun değil. */
html body.wos-mobile-app header .head {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 9px !important;
  width: 100% !important;
  max-width: 560px !important;
  min-height: var(--app-bar-h) !important;
  margin: 0 auto !important;
  padding: 0 !important;
  grid-template-columns: none !important;
}

/* V53'ün kabı şerit içinde yalnız düğme kadar yer kaplar. */
html body.wos-mobile-app header .head > #v53HomeRow {
  order: -1 !important;
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  align-items: center !important;
}

/* Şerit dışında kaldıysa (taşıma yapılamadıysa) en azından ince olsun. */
html body.wos-mobile-app > #v53HomeRow {
  width: 100% !important;
  height: auto !important;
  padding: 8px var(--app-gutter) 0 !important;
}

html body.wos-mobile-app header .head #portalHomeButton,
html body.wos-mobile-app header .head > #portalHomeButton {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  order: -1 !important;
  flex: 0 0 auto !important;
  width: 44px !important;
  min-width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 14px !important;
  background: rgba(255, 255, 255, .07) !important;
  border: 1px solid rgba(255, 255, 255, .13) !important;
  color: #dbeaf8 !important;
  position: static !important;
}

html body.wos-mobile-app header .head #portalHomeButton svg {
  width: 21px !important;
  height: 21px !important;
}

/* Şeritteki ikon düğmesinde yazı gereksiz; erişilebilir ad aria-label'da. */
html body.wos-mobile-app header .head #portalHomeButton span {
  display: none !important;
}

/*
 * `justify-self: start` (V153) ızgara öğesini `max-content` genişliğine
 * kilitliyordu: tek satırlık başlığın doğal genişliği 330 piksel, oysa
 * sütun 176 piksel. Öğe sütunundan taşıp sezon rozetinin ALTINA giriyor,
 * iki yazı üst üste biniyordu. `stretch` + `min-width:0` ikilisi öğeyi
 * sütununa oturtur; kırpma işini h1'in `text-overflow`u yapar.
 */
html body.wos-mobile-app header .title {
  flex: 1 1 auto !important;
  justify-self: stretch !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  padding: 0 !important;
  text-align: left !important;
}

/* Tek satır, okunur, taşmayan başlık. `9vw` kuralını burada kapatıyoruz. */
html body.wos-mobile-app header .title h1 {
  margin: 0 !important;
  font-size: 17px !important;
  line-height: 1.2 !important;
  letter-spacing: -.02em !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  color: #f7fbff !important;
}

html body.wos-mobile-app header .title p {
  display: none !important;
}

html body.wos-mobile-app .headerCenterTools {
  display: none !important;
}

/* Sezon rozeti: okunur boyut, tek satır, başlıkla çakışmaz. */
html body.wos-mobile-app .topStats {
  display: flex !important;
  flex: 0 0 auto !important;
  flex-wrap: nowrap !important;
  gap: 6px !important;
  width: auto !important;
  max-width: 42vw !important;
  justify-self: end !important;
  justify-content: flex-end !important;
}

html body.wos-mobile-app .topStats .pill {
  display: none !important;
}

/* BAĞLAMA DUYARLI ŞERİT.
   Merkez sekmesinde sezon bilgisi zaten panonun LİG/HAFTA kutularında
   duruyor; şeritte ikinci kez göstermek başlığı 140 piksele sıkıştırıyordu.
   Merkez'de rozet gizlenir, başlık tam genişliği alır; diğer sekmelerde
   rozet geri gelir çünkü orada bağlamı veren tek şey odur. */
html[data-app-view="home"] body.wos-mobile-app .topStats {
  display: none !important;
}

html body.wos-mobile-app .topStats #seasonPill,
html body.wos-mobile-app.worldCupMode .topStats #seasonPill {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 34px !important;
  max-width: 42vw !important;
  padding: 6px 11px !important;
  border-radius: 999px !important;
  background: rgba(247, 189, 69, .12) !important;
  border: 1px solid rgba(247, 189, 69, .28) !important;
  color: #ffe3a3 !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

/* ========================================================================
   3. YERLEŞİM
   ======================================================================== */

html body.wos-mobile-app .layout {
  display: block !important;
  width: 100% !important;
  max-width: 560px !important;
  margin: 0 auto !important;
  padding: var(--app-gutter) var(--app-gutter) calc(var(--app-nav-space) + 18px) !important;
}

/* Yatay taşma yasak: sayfanın kendisi asla sağa sola kaymaz. */
html body.wos-mobile-app {
  overflow-x: hidden !important;
}

/* ========================================================================
   4. MERKEZ — mobil kontrol paneli
   ======================================================================== */

body.wos-mobile-app .mobile-dashboard-hero {
  min-height: 0 !important;
  padding: 16px 15px !important;
  margin-bottom: var(--app-gutter) !important;
}

/* Dekoratif kupa görseli bilgi vermiyor; telefonda yazının arkasında
   kontrastı düşürüyordu. Tamamen kaldırmıyoruz — sağ kenarda, yazının
   dışında kalacak şekilde kısıyoruz. Görsel kimlik korunur. */
body.wos-mobile-app .mobile-dashboard-hero::before {
  background:
    linear-gradient(100deg, rgba(4, 14, 25, .99) 0%, rgba(4, 14, 25, .95) 48%, rgba(4, 14, 25, .58) 100%),
    url('../assets/v59-ui/webp/sanal-lig-3d.webp') right center/auto 118% no-repeat !important;
}

body.wos-mobile-app .mobile-hero-title {
  max-width: 15ch !important;
  font-size: 26px !important;
  line-height: 1.06 !important;
}

body.wos-mobile-app .mobile-hero-sub {
  max-width: 30ch !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
}

body.wos-mobile-app .mobile-hero-kicker {
  font-size: 11.5px !important;
}

/* Üç kutulu durum şeridi: hiçbiri "Dünya Ku…" gibi kırpılmasın.
   Etiket küçük ama 11 pikselin altına inmez; değer iki satıra sarabilir. */
body.wos-mobile-app .mobile-hero-stats {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 7px !important;
  margin-top: 14px !important;
}

body.wos-mobile-app .mobile-hero-stat {
  min-width: 0 !important;
  padding: 9px !important;
}

body.wos-mobile-app .mobile-hero-stat span {
  font-size: 10.5px !important;
  letter-spacing: .06em !important;
}

/* Değer sarabilir ama EN ÇOK iki satır: "Sezon öncesi kuponlar bekleniyor"
   gibi uzun bir durum metni dört satıra çıkıp şeridi 190 piksele
   büyütüyordu. İki satırdan sonrası kırpılır, tam metin `title`da kalır. */
body.wos-mobile-app .mobile-hero-stat b {
  display: -webkit-box !important;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  font-size: 13px !important;
  line-height: 1.22 !important;
  white-space: normal !important;
  overflow: hidden !important;
  overflow-wrap: anywhere !important;
}

/* Ana çağrı: başparmakla rahat basılır, ikincil eylem yanında zayıf durur. */
body.wos-mobile-app .mobile-hero-actions {
  display: grid !important;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr) !important;
  gap: 8px !important;
  margin-top: 14px !important;
}

body.wos-mobile-app .mobile-hero-actions button {
  min-height: 48px !important;
  padding: 10px 12px !important;
  font-size: 13.5px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
}

/* Dil ve "nasıl oynanır" birincil alanı işgal etmesin: sıkıştırılmış araç
   satırı. Kaldırılmıyor — küçültülüyor. */
body.wos-mobile-app .mobile-hero-tools {
  margin-top: 14px !important;
  padding-top: 12px !important;
}

body.wos-mobile-app .mobile-hero-tools .languageChoice {
  min-height: 44px !important;
  font-size: 11.5px !important;
}

body.wos-mobile-app .mobile-hero-tools .howToHeaderBtn {
  min-height: 44px !important;
  font-size: 11.5px !important;
}

/* Kurulum kartı — Merkez'in altındaki ikincil bölge. Başlıktaki rozetlerin
   üst üste binmesi (`0 oyuncu` ile `Henüz oyuncu yok`) burada bitiyor. */
body.wos-mobile-app .mobile-app-view[data-view="home"] .cardTitle {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 8px !important;
}

body.wos-mobile-app .mobile-app-view[data-view="home"] .cardTitle > * {
  min-width: 0 !important;
  position: static !important;
  overflow-wrap: anywhere !important;
}

body.wos-mobile-app .mobile-app-view[data-view="home"] .cardTitle h2 {
  flex: 1 1 auto !important;
}

/* ========================================================================
   5. BÖLÜM BAŞLIKLARI
   ======================================================================== */

body.wos-mobile-app .mobile-view-heading {
  margin: 0 2px 12px !important;
}

body.wos-mobile-app .mobile-view-heading h2 {
  font-size: 22px !important;
}

body.wos-mobile-app .mobile-view-heading small {
  font-size: 11px !important;
}

body.wos-mobile-app .mobile-view-heading .view-badge {
  font-size: 11px !important;
}

/* ========================================================================
   6. KUPON
   ======================================================================== */

/* 6.1 Maç kartı: ev / deplasman / 1-X-2 ilk bakışta.
 *
 * İKİ AYRI KART BİÇİMİ VAR ve ikisi de desteklenmeli:
 *   · Dünya Kupası     -> `.fixture`          (içinde `.details` akordeonu)
 *   · Normal ligler     -> `.v109LeagueFixture` (V109; "Detaylı Oranlar"
 *                          düğmesi `openDetailedOdds()` katmanını açar)
 * Hiçbiri değiştirilmiyor; ikisi de mobilde okunur ve basılır hâle
 * getiriliyor. Hiçbir bahis türü kaldırılmıyor. */
body.wos-mobile-app .mobile-app-view[data-view="coupon"] .fixture,
body.wos-mobile-app .mobile-app-view[data-view="coupon"] .v109LeagueFixture {
  border-radius: 18px !important;
  margin-bottom: 10px !important;
  padding: 11px !important;
}

body.wos-mobile-app .mobile-app-view[data-view="coupon"] .teamsLine,
body.wos-mobile-app .mobile-app-view[data-view="coupon"] .v62FixtureTeams {
  font-size: 14px !important;
  line-height: 1.3 !important;
  overflow-wrap: anywhere !important;
}

body.wos-mobile-app .mobile-app-view[data-view="coupon"] .v62TeamChip {
  min-width: 0 !important;
  font-size: 13.5px !important;
  overflow-wrap: anywhere !important;
}

body.wos-mobile-app .mobile-app-view[data-view="coupon"] .fixture .meta {
  font-size: 11.5px !important;
  line-height: 1.35 !important;
}

/* Ana oranlar: üç eşit, büyük dokunma alanı. */
body.wos-mobile-app .mobile-app-view[data-view="coupon"] .odds3,
body.wos-mobile-app .mobile-app-view[data-view="coupon"] .v62MainOdds {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 7px !important;
}

/* V109'un "Detaylı Oranlar" düğmesi: tam genişlik, 44 piksel, net etiket. */
body.wos-mobile-app .mobile-app-view[data-view="coupon"] .v62DetailBtn,
body.wos-mobile-app .mobile-app-view[data-view="coupon"] .compactDetailBtn {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 44px !important;
  margin: 8px 0 0 !important;
  padding: 8px 12px !important;
  border-radius: 13px !important;
  background: rgba(255, 255, 255, .06) !important;
  border: 1px solid rgba(255, 255, 255, .12) !important;
  color: #cfe2f2 !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
  white-space: normal !important;
}

/* Fikstür listesi kendi içinde kaymasın; sayfa akışında dursun ki sabit
   aksiyon şeridi ile arasında ikinci bir kaydırma alanı oluşmasın. */
body.wos-mobile-app .mobile-app-view[data-view="coupon"] .compactOddsPanel #fixtures {
  max-height: none !important;
  overflow: visible !important;
}

body.wos-mobile-app .odd {
  min-height: 52px !important;
  border-radius: 14px !important;
  padding: 7px 5px !important;
}

body.wos-mobile-app .odd b {
  font-size: 11.5px !important;
}

body.wos-mobile-app .odd span {
  font-size: 15px !important;
  font-weight: 800 !important;
}

/* Seçili oran: yalnız renkle değil, çerçeve ve işaretle de belli olur. */
body.wos-mobile-app .odd.selected {
  background: linear-gradient(180deg, #35d990, #128a54) !important;
  border-color: #7cf3bd !important;
  box-shadow: 0 0 0 2px rgba(124, 243, 189, .45) !important;
  color: #04160d !important;
}

body.wos-mobile-app .odd.selected b,
body.wos-mobile-app .odd.selected span {
  color: #04160d !important;
}

body.wos-mobile-app .odd.selected::after {
  content: "✓";
  position: absolute;
  top: 3px;
  right: 6px;
  font-size: 10px;
  font-weight: 900;
  color: #04160d;
}

body.wos-mobile-app .odd {
  position: relative !important;
}

/* 6.2 Ayrıntılı oranlar — akordeon.
   `.details` ve `toggleFixture()` oyunun kendi kodudur; dokunulmadı.
   Burada yapılan tek şey, açılır alanın MOBİLDE gerçek bir akordeon gibi
   görünmesi: etiketli başlık, dönen ok, düzgün ızgara. Hiçbir bahis
   türü gizlenmez ya da kaldırılmaz — yalnız ilk ekranda kapalı durur. */
body.wos-mobile-app .mobile-app-view[data-view="coupon"] .fixture .details {
  display: none !important;
}

body.wos-mobile-app .mobile-app-view[data-view="coupon"] .fixture.open .details {
  display: grid !important;
  gap: 12px !important;
  margin-top: 10px !important;
  padding-top: 12px !important;
  border-top: 1px dashed rgba(255, 255, 255, .14) !important;
}

body.wos-mobile-app .marketGroupTitle {
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .02em !important;
  color: #b9cede !important;
  margin-bottom: 6px !important;
}

body.wos-mobile-app .detailOdds {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 6px !important;
}

body.wos-mobile-app .detailOdds.wide {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

/* Akordeon düğmesi (JS ile eklenen etiket). */
body.wos-mobile-app .sl-odds-toggle-v282 {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
  width: 100% !important;
  min-height: 44px !important;
  margin-top: 8px !important;
  padding: 8px 12px !important;
  border-radius: 13px !important;
  background: rgba(255, 255, 255, .06) !important;
  border: 1px solid rgba(255, 255, 255, .12) !important;
  color: #cfe2f2 !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
}

body.wos-mobile-app .sl-odds-toggle-v282 i {
  font-style: normal;
  transition: transform .2s ease;
}

body.wos-mobile-app .fixture.open .sl-odds-toggle-v282 {
  background: rgba(77, 163, 255, .14) !important;
  border-color: rgba(77, 163, 255, .34) !important;
  color: #d9ecff !important;
}

body.wos-mobile-app .fixture.open .sl-odds-toggle-v282 i {
  transform: rotate(180deg);
}

/* Eski çıplak ok düğmesi akordeon etiketiyle birlikte gereksiz. */
body.wos-mobile-app .mobile-app-view[data-view="coupon"] .fixture .fixtureTop .arrow {
  display: none !important;
}

/* 6.2b Ayrıntılı oran katmanı (normal ligler) — mobil alt sayfa.
   İçerik OYUNUN ürettiği içeriktir; burada yalnız telefonda okunur ve
   basılır hâle getirilir. Tek bir bahis türü bile gizlenmez. */
body.wos-mobile-app .oddsDetailOverlay,
body.wos-mobile-app #oddsDetailOverlay {
  align-items: flex-end !important;
  padding: 0 !important;
}

body.wos-mobile-app .oddsDetailCard {
  width: 100% !important;
  max-width: none !important;
  max-height: calc(var(--wos-visible-height, 92dvh) - 24px) !important;
  margin: 0 !important;
  padding: 14px 14px calc(14px + max(var(--wos-safe-bottom, 0px), 0px)) !important;
  border-radius: 22px 22px 0 0 !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}

body.wos-mobile-app .oddsDetailHead {
  position: sticky !important;
  top: 0 !important;
  z-index: 2 !important;
  gap: 10px !important;
  padding-bottom: 10px !important;
}

body.wos-mobile-app #oddsDetailTitle {
  font-size: 17px !important;
  line-height: 1.25 !important;
}

body.wos-mobile-app #oddsDetailSubtitle {
  font-size: 12px !important;
  line-height: 1.4 !important;
}

body.wos-mobile-app .oddsDetailClose {
  flex: 0 0 auto !important;
  width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  border-radius: 999px !important;
  font-size: 16px !important;
}

body.wos-mobile-app .oddsDetailBody .odd {
  min-height: 50px !important;
  padding: 7px 5px !important;
}

body.wos-mobile-app .oddsDetailBody .detailOdds,
body.wos-mobile-app .oddsDetailBody .detailOdds.wide {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 6px !important;
}

body.wos-mobile-app .oddsDetailBody .marketGroupTitle {
  font-size: 12.5px !important;
}

body.wos-mobile-app .v64AdvanceHint {
  font-size: 11.5px !important;
  line-height: 1.4 !important;
}

/* 6.3 Sabit kupon aksiyon şeridi — alt gezintinin ÜSTÜNDE durur.
 *
 * Şerit KENDİ düğmesini üretmez: kabuğun (`v153`) kurduğu
 * `.mobile-coupon-flow-actions` öğesi olduğu gibi buraya TAŞINIR. Böylece
 * "Hazır" ve "Haftayı Başlat" düğmelerine bağlı bütün ön denetimler
 * (readyPreflight, pointerdown koruması, çok oyunculu akış) aynı düğüm
 * üzerinde kaldığı için hiç değişmez. Sentetik tıklama üretilmez.
 */
.sl-coupon-dock-v282 {
  position: fixed;
  left: 50%;
  bottom: var(--app-nav-space);
  z-index: 120;
  width: min(100%, 560px);
  padding: 9px var(--app-gutter) 10px;
  background: linear-gradient(180deg, rgba(6, 14, 24, .92), rgba(5, 12, 21, .995));
  border-top: 1px solid rgba(255, 255, 255, .10);
  visibility: hidden;
  opacity: 0;
  transform: translateX(-50%) translateY(10px);
  transition: opacity .18s ease, transform .18s ease, visibility .18s;
  pointer-events: none;
}

html[data-app-view="coupon"] .sl-coupon-dock-v282 {
  visibility: visible;
  opacity: 1;
  transform: translateX(-50%) translateY(0);
  pointer-events: auto;
}

.sl-coupon-dock-v282 .sl-dock-info {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 8px;
  padding: 0 2px;
}

.sl-coupon-dock-v282 .sl-dock-info b {
  min-width: 0;
  color: #f4f9ff;
  font-size: 12.5px;
  font-weight: 800;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.sl-coupon-dock-v282 .sl-dock-info span {
  color: #9db4c8;
  font-size: 12px;
  white-space: nowrap;
}

/* Taşınan aksiyonlar şeritte yan yana durur. */
.sl-coupon-dock-v282 .mobile-coupon-flow-actions {
  display: grid !important;
  grid-auto-flow: column !important;
  grid-auto-columns: minmax(0, 1fr) !important;
  gap: 8px !important;
  margin: 0 !important;
}

/* Klavye açıkken şerit gizlenir; alan zaten dar ve altında yazı alanı var. */
body.wos-keyboard-open .sl-coupon-dock-v282 {
  visibility: hidden !important;
  pointer-events: none !important;
}

/* Bildirim balonu şeridin ÜSTÜNE çıkar. Eski konumu (`nav-h + 20px`) tam
   şeridin üzerine düşüyor ve "Hazır" düğmesini örtüyordu. */
html[data-app-view="coupon"] body.wos-mobile-app .mobile-app-toast {
  bottom: calc(var(--app-nav-space) + var(--sl-dock-h, 96px) + 14px) !important;
}

/* Kupon görünümünde alt boşluk şeridi de hesaba katar: şerit içeriği
   ASLA örtmez. Gerçek yükseklik JS ile `--sl-dock-h` değişkenine yazılır. */
html[data-app-view="coupon"] body.wos-mobile-app .layout {
  padding-bottom: calc(var(--app-nav-space) + var(--sl-dock-h, 96px) + 16px) !important;
}

/* 6.4 Kupon özeti
 *
 * OKUNMAZLIK
 * `tests/mobile/readability.test.mjs` sayfayı AÇILIŞ hâlinde tarıyor;
 * kupon görünümüne bir seçim yapılmadan girilemediği için buradaki
 * yazılar taramaya hiç girmiyordu. Pikselle ölçüldüğünde klasik
 * "koyu-üstüne-koyu" tablosu çıktı (1.64 – 1.82).
 *
 * RENK DÜZELTMELERİ BURADA DEĞİL: CLAUDE.md gereği okunabilirlik
 * düzeltmeleri `assets/shared/readability-v226.css` içinde toplanıyor ve
 * o dosyanın kendi "kırılıma göre ayır" kalıbı kullanıldı. Burada yalnız
 * ÖLÇÜ ve dokunma hedefi ayarları var. */
body.wos-mobile-app .mobile-app-view[data-view="coupon"] #activeSlipTitle {
  color: #f4f9ff !important;
}

body.wos-mobile-app .mobile-app-view[data-view="coupon"] #comboState {
  color: #b3c7d8 !important;
}

body.wos-mobile-app .mobile-app-view[data-view="coupon"] #openNormalSlipDetails {
  min-height: 46px !important;
  font-size: 12.5px !important;
  background: rgba(255, 255, 255, .08) !important;
  border: 1px solid rgba(255, 255, 255, .16) !important;
  color: #eaf5ff !important;
}

/* 6.4b Kupon özeti ölçüleri */
body.wos-mobile-app .slipSummary {
  padding: 12px !important;
  border-radius: 16px !important;
}

body.wos-mobile-app .slipSummary .small,
body.wos-mobile-app #possibleText,
body.wos-mobile-app #comboState,
body.wos-mobile-app #riskText {
  font-size: 12.5px !important;
  line-height: 1.4 !important;
}

body.wos-mobile-app #betHelp {
  font-size: 12px !important;
  line-height: 1.45 !important;
}

body.wos-mobile-app #stake {
  min-height: 48px !important;
  font-size: 16px !important; /* iOS yakınlaştırma eşiği */
}

body.wos-mobile-app #clearSlip {
  min-height: 48px !important;
  font-size: 12.5px !important;
}

body.wos-mobile-app .stakeMinimumHint {
  font-size: 11.5px !important;
}

body.wos-mobile-app .mobile-coupon-flow-actions {
  display: grid !important;
  gap: 8px !important;
  margin-top: 12px !important;
}

body.wos-mobile-app .mobile-coupon-flow-actions button {
  min-height: 50px !important;
  font-size: 14px !important;
  font-weight: 800 !important;
}

/* ========================================================================
   7. CANLI MERKEZ
   ======================================================================== */

/* Öncelik sırası: süre → skor → takımlar → kuponundaki maçlar → olaylar. */
body.wos-mobile-app .mobile-app-view[data-view="live"] .liveHeader {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 12px !important;
}

body.wos-mobile-app .mobile-app-view[data-view="live"] .liveHeader > div:first-child b {
  font-size: 14px !important;
}

body.wos-mobile-app .mobile-app-view[data-view="live"] .liveHeader .small {
  font-size: 11.5px !important;
  line-height: 1.35 !important;
}

body.wos-mobile-app .mobile-app-view[data-view="live"] .clock {
  font-size: 26px !important;
  font-weight: 900 !important;
  text-align: right !important;
}

body.wos-mobile-app .mobile-app-view[data-view="live"] .clock span {
  display: block !important;
  font-size: 10.5px !important;
  letter-spacing: .08em !important;
}

body.wos-mobile-app .scoreBoard {
  display: grid !important;
  gap: 7px !important;
}

body.wos-mobile-app .scoreRow {
  min-height: 52px !important;
  padding: 9px 10px !important;
  border-radius: 14px !important;
  font-size: 13px !important;
}

/* Kullanıcının kuponundaki maç açıkça ayrılır — yalnız renkle değil,
   sol kenar şeridi ve yıldızla. */
body.wos-mobile-app .scoreRow.bet,
body.wos-mobile-app .scoreRow.myBet {
  border-left: 3px solid var(--app-gold, #f7bd45) !important;
  background: rgba(247, 189, 69, .10) !important;
}

/* Olay akışı kendi içinde kayar, ekranı işgal etmez. */
body.wos-mobile-app .eventFeed {
  max-height: min(38vh, 300px) !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  border-radius: 14px !important;
}

body.wos-mobile-app .eventFeed .event {
  font-size: 12.5px !important;
  line-height: 1.45 !important;
  padding: 9px 11px !important;
}

/* Gol vurgusu: ucuz, yalnız opacity/transform. */
@keyframes slGoalPulseV282 {
  from { transform: translateY(-4px); opacity: 0; }
  to   { transform: none; opacity: 1; }
}

body.wos-mobile-app .eventFeed .event:first-child {
  animation: slGoalPulseV282 .22s ease-out;
}

/* ========================================================================
   8. LİG MERKEZİ — bölümlenmiş denetim
   ======================================================================== */

.sl-segment-v282 {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(0, 1fr);
  gap: 4px;
  margin: 0 0 12px;
  padding: 4px;
  border-radius: 16px;
  background: rgba(2, 9, 16, .60);
  border: 1px solid rgba(255, 255, 255, .10);
}

.sl-segment-v282 button {
  min-height: 44px !important;
  padding: 8px 6px !important;
  border: 1px solid transparent !important;
  border-radius: 12px !important;
  background: transparent !important;
  color: #9fb4c6 !important;
  font-size: 12.5px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  box-shadow: none !important;
}

.sl-segment-v282 button[aria-selected="true"] {
  background: linear-gradient(180deg, rgba(77, 163, 255, .26), rgba(23, 106, 197, .30)) !important;
  border-color: rgba(133, 197, 255, .48) !important;
  color: #ffffff !important;
}

.sl-segment-v282 button[aria-selected="true"]::after {
  content: "";
  display: block;
  width: 18px;
  height: 2px;
  margin: 4px auto 0;
  border-radius: 2px;
  background: #85c5ff;
}

/* Seçili olmayan bölüm gizlenir. `hidden` özniteliğine BURADAN bakılır:
   satır içi `style.display` yetmiyordu, çünkü V198 `.globalLeaderboard`
   için `display:block!important` yazıyor ve onu ancak eşit güçte bir
   kural yenebiliyor. */
html body.wos-mobile-app .mobile-app-view[data-view="table"] [data-sl-panel][hidden] {
  display: none !important;
}

/* Bölüm etiketi panelin kendi başlığından geliyor; uzun adlar (örneğin
   "Dünya Kupası Grupları") iki satıra sarar, kesilmez. */
.sl-segment-v282 button {
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

/* Görünümün başlığı zaten bölümü söylüyor; kart başlığı tekrar olmasın
   diye değil, seçili panelin başlığı KALIR — kullanıcı nerede olduğunu
   iki yerden doğrular. Yalnız üst boşluk kısılır. */
body.wos-mobile-app .mobile-app-view[data-view="table"] [data-sl-panel] {
  margin-top: 0 !important;
}

/* Geniş içerik (grup tabloları, eleme ağacı) kendi kabında yatay kayar;
   sayfanın kendisi asla kaymaz. */
body.wos-mobile-app .mobile-app-view[data-view="table"] .bracket,
body.wos-mobile-app .mobile-app-view[data-view="table"] .knockout,
body.wos-mobile-app .mobile-app-view[data-view="table"] .wcBracket {
  max-width: 100% !important;
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
}

/* Puan durumu tablosu: sıra / takım / O / P her zaman görünür; ikincil
   sütunlar kabın kendi yatay kaydırmasıyla gelir. Sayfa kaymaz. */
body.wos-mobile-app .leaderBox {
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
}

body.wos-mobile-app #standings {
  width: 100% !important;
  min-width: 0 !important;
  font-size: 12.5px !important;
}

body.wos-mobile-app #standings th,
body.wos-mobile-app #standings td {
  padding: 8px 6px !important;
  font-size: 12.5px !important;
  white-space: nowrap !important;
}

body.wos-mobile-app #standings td:nth-child(2),
body.wos-mobile-app #standings th:nth-child(2) {
  white-space: normal !important;
  min-width: 92px !important;
  overflow-wrap: anywhere !important;
}

body.wos-mobile-app #weekBox .small {
  font-size: 12.5px !important;
  line-height: 1.45 !important;
}

/* ========================================================================
   9. ALT GEZİNTİ
   ======================================================================== */

html body.wos-mobile-app .mobile-app-nav {
  position: fixed !important;
  left: 50% !important;
  right: auto !important;
  bottom: 0 !important;
  z-index: 200 !important;
  width: min(100%, 560px) !important;
  transform: translateX(-50%) !important;
  padding: 8px 10px calc(8px + max(var(--wos-safe-bottom, 0px), 0px)) !important;
  background: linear-gradient(180deg, rgba(5, 12, 21, .92), rgba(4, 10, 18, .995) 45%) !important;
  border-top: 1px solid rgba(255, 255, 255, .10) !important;
}

body.wos-mobile-app .mobile-app-nav-inner {
  gap: 4px !important;
  padding: 4px !important;
}

body.wos-mobile-app .mobile-nav-btn {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 3px !important;
  min-height: 52px !important;
  padding: 6px 4px !important;
  border: 1px solid transparent !important;
  border-radius: 15px !important;
  background: transparent !important;
  color: #93aabe !important;
  box-shadow: none !important;
}

body.wos-mobile-app .mobile-nav-btn svg {
  width: 21px !important;
  height: 21px !important;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

body.wos-mobile-app .mobile-nav-btn span {
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: .01em !important;
  line-height: 1 !important;
}

/* Etkin sekme: dolgu + çerçeve + renk. Yalnız renge dayanmaz. */
body.wos-mobile-app .mobile-nav-btn.is-active {
  background: linear-gradient(180deg, rgba(50, 213, 131, .22), rgba(18, 125, 76, .26)) !important;
  border-color: rgba(50, 213, 131, .50) !important;
  color: #ffffff !important;
}

body.wos-mobile-app .mobile-nav-btn:active {
  transform: scale(.96) !important;
}

/* Kupon seçim sayacı. */
body.wos-mobile-app .mobile-nav-btn .sl-nav-badge-v282 {
  position: absolute;
  top: 3px;
  right: calc(50% - 22px);
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 999px;
  background: var(--app-gold, #f7bd45);
  color: #17202b;
  font-size: 10.5px;
  font-weight: 900;
  line-height: 18px;
  text-align: center;
}

body.wos-mobile-app .mobile-nav-btn.has-live::before {
  content: "";
  position: absolute;
  top: 6px;
  right: calc(50% - 20px);
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: #ff6475;
}

/* Alt gezinti içeriği ASLA örtmez: sayfa dolgusu yukarıda ayarlandı.
   Tam ekran katmanlar açıkken gezinti gizlenir. */
body.wos-mobile-app:has(#wcPreOverlay.show) .mobile-app-nav,
body.wos-mobile-app:has(.preseasonOverlay.show) .mobile-app-nav {
  visibility: hidden !important;
  pointer-events: none !important;
}

/* ========================================================================
   10. SEZON ÖNCESİ KATMANI — tam ekran, boşluk bırakmaz
   ======================================================================== */

html body.wos-mobile-app :is(#wcPreOverlay, .preseasonOverlay).show {
  padding-bottom: max(var(--wos-safe-bottom, 0px), 0px) !important;
}

html body.wos-mobile-app :is(#wcPreOverlay, .preseasonOverlay).show .preseasonDialog {
  max-height: calc(var(--wos-visible-height, 100dvh) - 16px) !important;
}

/* ========================================================================
   11. YAZI TABANI — 8,5–10 piksellik metinler kaldırıldı
   ======================================================================== */

body.wos-mobile-app .small,
body.wos-mobile-app .meta,
body.wos-mobile-app .notice,
body.wos-mobile-app label > span,
body.wos-mobile-app .tag {
  font-size: 12px !important;
  line-height: 1.45 !important;
}

body.wos-mobile-app .kpis .small {
  font-size: 11px !important;
}

body.wos-mobile-app .kpis b {
  font-size: 14px !important;
}

body.wos-mobile-app .kpis > div {
  padding: 9px 6px !important;
}

/* Dokunma hedefi tabanı. */
body.wos-mobile-app button,
body.wos-mobile-app .tabs button,
body.wos-mobile-app select {
  min-height: 46px !important;
}

body.wos-mobile-app .tabs button {
  font-size: 13.5px !important;
}

body.wos-mobile-app input {
  font-size: 16px !important; /* iOS Safari yakınlaştırmasını engeller */
  min-height: 48px !important;
}

/* Odak görünürlüğü — klavye/anahtar erişimi. */
body.wos-mobile-app button:focus-visible,
body.wos-mobile-app input:focus-visible,
body.wos-mobile-app select:focus-visible,
body.wos-mobile-app .odd:focus-visible {
  outline: 2px solid #7cc6ff !important;
  outline-offset: 2px !important;
}

body.wos-mobile-app button[disabled],
body.wos-mobile-app .odd[disabled] {
  opacity: .45 !important;
  filter: grayscale(.35);
}

/* ========================================================================
   12. KISA ALAN / KLAVYE / YATAY / TABLET / PWA
   ======================================================================== */

/* Klavye açıkken alt gezinti gizlenir: dar alanda 76 piksel yer kaplar ve
   yazı alanını ekranın dışına iter. `wos-keyboard-open` sınıfını yazan tek
   yer mobile-foundation-v219.js'tir; burada yalnız OKUNUR. */
body.wos-mobile-app.wos-keyboard-open .mobile-app-nav {
  transform: translateX(-50%) translateY(110%) !important;
  pointer-events: none !important;
}

body.wos-mobile-app.wos-keyboard-open .layout {
  padding-bottom: 18px !important;
}

/* Görünür alan gerçekten kısaldığında (klavye ya da alçak cihaz) hero
   küçülür. `@media (max-height:…)` KULLANILMAZ — klavyeyi görmez. */
body.wos-mobile-app.wos-vh-short .mobile-dashboard-hero {
  padding: 12px !important;
}

body.wos-mobile-app.wos-vh-short .mobile-hero-title {
  font-size: 21px !important;
}

body.wos-mobile-app.wos-vh-short .mobile-hero-sub,
body.wos-mobile-app.wos-vh-short .mobile-hero-tools {
  display: none !important;
}

body.wos-mobile-app.wos-vh-xshort .mobile-hero-stats {
  display: none !important;
}

/* Yatay kullanım: alçak MASAÜSTÜ penceresine sızmasın diye
   `(pointer:coarse)` ile sınırlı. */
@media (orientation: landscape) and (max-height: 560px) and (pointer: coarse) {
  body.wos-mobile-app {
    --app-nav-h: 62px;
  }

  body.wos-mobile-app .mobile-dashboard-hero::before {
    background-size: auto 100% !important;
  }

  body.wos-mobile-app .mobile-hero-stats {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  body.wos-mobile-app .mobile-nav-btn {
    min-height: 44px !important;
  }

  body.wos-mobile-app .eventFeed {
    max-height: 30vh !important;
  }
}

/* Tablet mobil düzende (device-auto: genişlik < 960): iki sütuna açılır. */
@media (min-width: 700px) and (pointer: coarse) {
  html body.wos-mobile-app .layout {
    max-width: 720px !important;
  }

  body.wos-mobile-app .mobile-app-view[data-view="table"] .two {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.wos-mobile-app .detailOdds,
  body.wos-mobile-app .detailOdds.wide {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

/* Ana ekrana eklenmiş kullanım: tarayıcı çubuğu yok, üstteki fazladan
   boşluk gereksiz; durum alanı için yalnız güvenli alan kadar bırakılır. */
@media (display-mode: standalone) {
  html body.wos-mobile-app header {
    padding-top: calc(max(var(--wos-safe-top, 0px), 0px) + 4px) !important;
  }

  html body.wos-mobile-app .mobile-app-nav {
    padding-bottom: calc(6px + max(var(--wos-safe-bottom, 0px), 0px)) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.wos-mobile-app .mobile-app-view,
  body.wos-mobile-app .eventFeed .event:first-child,
  .sl-coupon-dock-v282 {
    animation: none !important;
    transition: none !important;
  }
}

/* ========================================================================
   13. MERKEZ = PANO, KURULUM = KATLANIR BÖLÜM
   ========================================================================

   "Oyuncular" kartı masaüstünden gelen bir kurulum panelidir: mod
   sekmeleri, çevrim içi oda, lig seçimi, ad alanı, oyuncu listesi, yeni
   sezon, KPI'lar ve ilk 10. Telefonda panonun hemen altında durup Merkez'i
   bir ayarlar sayfasına çeviriyordu.

   Oyuncu eklendikten sonra kart tek dokunuşla açılan bir bölüme iner.
   Hiçbir denetim KALDIRILMAZ; yalnız varsayılan olarak kapalı durur. */

.sl-setup-toggle-v282 {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  grid-template-rows: auto auto !important;
  align-items: center !important;
  gap: 2px 10px !important;
  width: 100% !important;
  min-height: 56px !important;
  margin: 0 0 10px !important;
  padding: 10px 14px !important;
  border: 1px solid var(--app-line) !important;
  border-radius: 18px !important;
  background: linear-gradient(180deg, rgba(17, 33, 50, .97), rgba(9, 19, 31, .99)) !important;
  text-align: left !important;
  box-shadow: none !important;
}

.sl-setup-toggle__label {
  grid-column: 1;
  color: #9fd8bb;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.sl-setup-toggle__value {
  grid-column: 1;
  min-width: 0;
  color: #e9f3fb;
  font-size: 13px;
  font-weight: 700;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.sl-setup-toggle-v282 i {
  grid-column: 2;
  grid-row: 1 / span 2;
  font-style: normal;
  font-size: 18px;
  color: #9fd8bb;
  transition: transform .2s ease;
}

body.sl-setup-collapsed-v282 .sl-setup-toggle-v282 i {
  transform: rotate(180deg);
}

/* Kapalıyken kart hiç yer kaplamaz. */
body.sl-setup-collapsed-v282 .mobile-app-view[data-view="home"] > .card {
  display: none !important;
}

/* Kurulum kartı yalnız Merkez'de anlamlı; başka sekmede özet de görünmez. */
html:not([data-app-view="home"]) .sl-setup-toggle-v282 {
  display: none !important;
}

@media (prefers-reduced-motion: reduce) {
  .sl-setup-toggle-v282 i { transition: none; }
}

/* ========================================================================
   14. SIĞIŞIKLIĞI BİTİREN DÜZEN (V283)
   ========================================================================

   Bu bölüm "her şey ekrana zor sığıyor, karışık görünüyor" şikâyetinin
   ÖLÇÜLEN üç kaynağını kapatır. */

/* ---------------------------------------------------------------------
   14.1 MAÇ KARTI — takım adları artık hecelerinden bölünmüyor
   ---------------------------------------------------------------------
   `.v62FixtureTop` ızgarası `191px 112px`: iki takım adına toplam 191
   piksel kalıyor, yani ad başına 85. O genişlikte "Gençlerbirliği"
   sığmadığı için (ve `overflow-wrap:anywhere` yüzünden) "Gençle /
   rbirliği" diye ortadan bölünüyordu. Ölçülen bozuk kırılmalar:
   Gençle-rbirliği, Kasım-paşa, Beşikt-aş, Galata-saray, Trabzo-nspor,
   Erzuru-mspor.

   Çözüm: kart tek sütuna iner. Takım satırı TAM GENİŞLİK alır (366
   piksel), "Detaylı Oranlar" düğmesi altına tam genişlikte geçer.
   Kelime bölme kapatılır; ad sığmazsa satır başından sarar. */
html body.wos-mobile-app .mobile-app-view[data-view="coupon"] #fixtures .v62FixtureTop {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 8px !important;
  align-items: center !important;
}

html body.wos-mobile-app .mobile-app-view[data-view="coupon"] #fixtures .v62FixtureTeams {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 8px !important;
  width: 100% !important;
}

html body.wos-mobile-app .mobile-app-view[data-view="coupon"] #fixtures .v62TeamChip {
  min-width: 0 !important;
  width: auto !important;
  font-size: 13.5px !important;
  line-height: 1.25 !important;
  /* Hecelerinden bölme YOK. */
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
  text-align: center !important;
}

html body.wos-mobile-app .mobile-app-view[data-view="coupon"] #fixtures .v62Versus {
  flex: 0 0 auto !important;
  padding: 0 2px !important;
}

/* ---------------------------------------------------------------------
   14.2 KUPON: ÖNCE MAÇLAR
   ---------------------------------------------------------------------
   Kupon sekmesi masaüstü sırasını taşıyordu: bedel kutusu, aktif kupon
   özeti ve üç satırlık açıklama, MAÇ LİSTESİNDEN önce geliyordu. Yani
   kullanıcı ilk maçı görmek için ~700 piksel kaydırıyordu — oysa bu
   ekranda yapılacak tek iş maç seçmek.

   Sıra telefona göre kuruluyor: önce maçlar, sonra kupon detayı.
   Hiçbir alan kaldırılmıyor; toplam oran ve bedel zaten alttaki sabit
   şeritte de duruyor. */
html body.wos-mobile-app .mobile-app-view[data-view="coupon"] aside.card > .body {
  display: flex !important;
  flex-direction: column !important;
}

html body.wos-mobile-app .mobile-app-view[data-view="coupon"] aside.card > .body > * {
  order: 5;
}

html body.wos-mobile-app .mobile-app-view[data-view="coupon"] aside.card > .body > #fixtures {
  order: 1 !important;
  margin-top: 0 !important;
}

html body.wos-mobile-app .mobile-app-view[data-view="coupon"] aside.card > .body > #liveCouponPanel { order: 2 !important; }
html body.wos-mobile-app .mobile-app-view[data-view="coupon"] aside.card > .body > #betControls { order: 3 !important; }
html body.wos-mobile-app .mobile-app-view[data-view="coupon"] aside.card > .body > .slipSummary { order: 4 !important; }
html body.wos-mobile-app .mobile-app-view[data-view="coupon"] aside.card > .body > #betHelp { order: 6 !important; }

/* ---------------------------------------------------------------------
   14.3 CANLI SKOR SATIRI — "Oynanacak" harflerine ayrılıyordu
   ---------------------------------------------------------------------
   `.scoreRow` ızgarası DÖRT sütun tanımlıyor
   (`22px minmax(0,1fr) 52px minmax(66px,.72fr)`) ama BEŞ çocuğu var:
   mark, homeTeam, score, awayTeam, scoreStatus. Beşinci çocuk örtük bir
   sütuna düşüp ~24 piksele sıkışıyor ve durum yazısı dikey olarak
   "Oy / na / na / ca / k" diye bölünüyordu. Satır da bu yüzden 200
   piksele çıkıyordu.

   Düzen açıkça yeniden kuruluyor: üstte ev - skor - deplasman, altta tam
   genişlikte durum. Nokta işareti (`.mark`) mobilde bilgi taşımıyor. */
html body.wos-mobile-app .mobile-app-view[data-view="live"] #scoreBoard .scoreRow {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) !important;
  grid-template-areas:
    "home score away"
    "status status status" !important;
  align-items: center !important;
  gap: 4px 8px !important;
  min-height: 0 !important;
  padding: 10px 12px !important;
}

html body.wos-mobile-app .mobile-app-view[data-view="live"] #scoreBoard .scoreRow > .mark {
  display: none !important;
}

html body.wos-mobile-app .mobile-app-view[data-view="live"] #scoreBoard .scoreRow > .homeTeam { grid-area: home !important; }
html body.wos-mobile-app .mobile-app-view[data-view="live"] #scoreBoard .scoreRow > .score { grid-area: score !important; }
html body.wos-mobile-app .mobile-app-view[data-view="live"] #scoreBoard .scoreRow > .awayTeam { grid-area: away !important; }
html body.wos-mobile-app .mobile-app-view[data-view="live"] #scoreBoard .scoreRow > .scoreStatus { grid-area: status !important; }

html body.wos-mobile-app .mobile-app-view[data-view="live"] #scoreBoard .scoreRow > .homeTeam,
html body.wos-mobile-app .mobile-app-view[data-view="live"] #scoreBoard .scoreRow > .awayTeam {
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 7px !important;
  font-size: 13px !important;
  line-height: 1.25 !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}

html body.wos-mobile-app .mobile-app-view[data-view="live"] #scoreBoard .scoreRow > .awayTeam {
  justify-content: flex-end !important;
  text-align: right !important;
}

html body.wos-mobile-app .mobile-app-view[data-view="live"] #scoreBoard .scoreRow > .score {
  min-width: 56px !important;
  font-size: 16px !important;
  font-weight: 900 !important;
  text-align: center !important;
  white-space: nowrap !important;
}

html body.wos-mobile-app .mobile-app-view[data-view="live"] #scoreBoard .scoreRow > .scoreStatus {
  justify-self: center !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  font-size: 11.5px !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  text-align: center !important;
}

/* Canlı başlığı: koyu-üstüne-koyu duran "Haftanın tüm maçları". */
html body.wos-mobile-app .mobile-app-view[data-view="live"] #watchTitle {
  color: #f2f8ff !important;
  font-size: 14px !important;
}

/* Saat kutusu solda kocaman gri bir blok olarak duruyordu. */
html body.wos-mobile-app .mobile-app-view[data-view="live"] .clock {
  min-width: 0 !important;
  padding: 6px 10px !important;
}

/* ---------------------------------------------------------------------
   14.4 ÇİFT BAŞLIK
   ---------------------------------------------------------------------
   Her sekmede aynı şey iki kez yazıyordu: bölüm başlığı ("MAÇ MERKEZİ /
   Kuponunu Oluştur") ve hemen altında kart başlığı ("MAÇLAR & KUPON").
   Kart başlığı mobilde kaldırılır; bölüm başlığı zaten daha büyük ve
   sekmeyle aynı adı taşıyor. Sayaç rozeti alt gezintide ve şeritte var. */
html body.wos-mobile-app .mobile-app-view[data-view="coupon"] > aside.card > .cardTitle,
html body.wos-mobile-app .mobile-app-view[data-view="live"] > .card > .cardTitle {
  display: none !important;
}

/* Bölüm başlığı biraz daha sakin. */
body.wos-mobile-app .mobile-view-heading h2 {
  font-size: 20px !important;
}

/*
 * ÖNEMLİ — SEÇİCİ GÜCÜ DERSİ (V283)
 *
 * Yukarıdaki iki düzen ilk denemede TUTMADI ve ekranı DAHA da bozdu:
 *   · `#scoreBoard .scoreRow:not(.v62ScoreRow){grid-template-columns:…!important}`
 *   · `#fixtures .v62FixtureTop{grid-template-columns:minmax(0,1fr) auto!important}`
 * Bu kurallar KİMLİK (id) taşıyor. Benim sınıf-temelli seçicim dört sınıf
 * ve iki etiketle daha "uzun" görünmesine rağmen kimlik sayısı sıfır
 * olduğu için kaybediyordu. Sonuç şuydu: `grid-template-areas` benim
 * kuralımdan (üç sütun), `grid-template-columns` eskisinden (dört sütun)
 * geldi; ikisi uyuşmayınca skor takım adının ÜSTÜNE çizildi
 * ("Gençlerbir0diği").
 *
 * Ders: bu depoda bir yerleşimi ezerken önce ezilecek kuralın KİMLİK
 * sayısına bakın. Sınıf eklemek yetmez; aynı kimliği (burada #scoreBoard
 * ve #fixtures) seçiciye almak gerekir. Aynısı `grid-template-columns` ile
 * `grid-template-areas` gibi BİRLİKTE çalışan özelliklerde ayrıca
 * tehlikelidir: biri yeni, öteki eski kuraldan gelirse düzen üst üste
 * biner.
 */

/* Saat kutusundaki "MAÇ SAATİ" etiketi kırpılıyordu. */
html body.wos-mobile-app .mobile-app-view[data-view="live"] .clock span {
  white-space: nowrap !important;
  font-size: 9.5px !important;
  letter-spacing: .06em !important;
}

/* ---------------------------------------------------------------------
   14.5 SON RÖTUŞLAR (V283) — ölçülerek
   --------------------------------------------------------------------- */

/* Uzun takım adı skora DEĞİYORDU ("Gençlerbirliği0 - 0"): ad sütununu
   taşıyordu. Artık sütununda kalır, sığmazsa üç noktayla kısalır. */
html body.wos-mobile-app .mobile-app-view[data-view="live"] #scoreBoard .scoreRow > .homeTeam,
html body.wos-mobile-app .mobile-app-view[data-view="live"] #scoreBoard .scoreRow > .awayTeam {
  overflow: hidden !important;
}

html body.wos-mobile-app .mobile-app-view[data-view="live"] #scoreBoard .scoreRow > .homeTeam .teamMini,
html body.wos-mobile-app .mobile-app-view[data-view="live"] #scoreBoard .scoreRow > .awayTeam .teamMini,
html body.wos-mobile-app .mobile-app-view[data-view="live"] #scoreBoard .scoreRow > .homeTeam > span:last-child,
html body.wos-mobile-app .mobile-app-view[data-view="live"] #scoreBoard .scoreRow > .awayTeam > span:last-child {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

/* Skor sütunu nefes alsın. */
html body.wos-mobile-app .mobile-app-view[data-view="live"] #scoreBoard .scoreRow > .score {
  padding: 0 6px !important;
}

/* Saat kutusu: koca gri blok değil, ölçülü bir rozet. */
html body.wos-mobile-app .mobile-app-view[data-view="live"] .clock {
  display: inline-flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 0 !important;
  padding: 5px 12px !important;
  border-radius: 13px !important;
  font-size: 21px !important;
  line-height: 1.05 !important;
}

/* "Detaylı Oranlar" kendi satırında TAM GENİŞLİK ve tek satır yazı.
   Tek sütunlu ızgarada öğe kendiliğinden esnemiyordu. */
html body.wos-mobile-app .mobile-app-view[data-view="coupon"] #fixtures .v62DetailBtn,
html body.wos-mobile-app .mobile-app-view[data-view="coupon"] #fixtures .compactDetailBtn {
  justify-self: stretch !important;
  width: 100% !important;
  min-height: 42px !important;
  white-space: nowrap !important;
  font-size: 12.5px !important;
}

/*
 * KUPON ŞERİDİ — üç eylem yan yana sığmıyordu.
 * "Hazır İptal" iki satıra kırılıp kutusuna sığmıyordu. Birincil eylem
 * ("Haftayı Başlat") kendi satırını alır, ikili "Hazır / Hazır İptal"
 * üstte yan yana durur. Hiçbiri kaldırılmaz.
 */
.sl-coupon-dock-v282 .mobile-coupon-flow-actions {
  grid-auto-flow: row !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 7px !important;
}

.sl-coupon-dock-v282 .mobile-coupon-flow-actions > button {
  min-height: 46px !important;
  padding: 8px 10px !important;
  font-size: 13px !important;
  line-height: 1.15 !important;
  white-space: nowrap !important;
}

/* Haftayı Başlat birincil eylem: tam satır. */
.sl-coupon-dock-v282 .mobile-coupon-flow-actions > #simulateBtn {
  grid-column: 1 / -1 !important;
  min-height: 50px !important;
  font-size: 14px !important;
  font-weight: 800 !important;
}

/* Şerit yalnız iki düğme taşıyorsa boş sütun kalmasın. */
.sl-coupon-dock-v282 .mobile-coupon-flow-actions:has(> button:only-child) {
  grid-template-columns: minmax(0, 1fr) !important;
}

/* Düğme 112 pikselde kalıyordu: `#fixtures .compactDetailBtn{max-width:112px}`
   kuralı vardı ve ben yalnız `width` yazmıştım. Genişlik kilidi açılır. */
html body.wos-mobile-app .mobile-app-view[data-view="coupon"] #fixtures .v62DetailBtn,
html body.wos-mobile-app .mobile-app-view[data-view="coupon"] #fixtures .compactDetailBtn,
html body.wos-mobile-app .mobile-app-view[data-view="coupon"] #fixtures .compactDetailBtn.v62DetailBtn {
  max-width: none !important;
  min-width: 0 !important;
  width: 100% !important;
  justify-content: center !important;
}

/* Canlı listede takım adları "Gençlerbi…" diye erken kısalıyordu: skor
   sütunu 56 pikseldi ve adlara 118 kalıyordu. Skor daralır, adlar büyür. */
html body.wos-mobile-app .mobile-app-view[data-view="live"] #scoreBoard .scoreRow {
  grid-template-columns: minmax(0, 1fr) 52px minmax(0, 1fr) !important;
  column-gap: 6px !important;
}

html body.wos-mobile-app .mobile-app-view[data-view="live"] #scoreBoard .scoreRow > .homeTeam,
html body.wos-mobile-app .mobile-app-view[data-view="live"] #scoreBoard .scoreRow > .awayTeam {
  font-size: 12.5px !important;
}

html body.wos-mobile-app .mobile-app-view[data-view="live"] #scoreBoard .scoreRow > .score {
  min-width: 0 !important;
  padding: 0 !important;
  font-size: 15px !important;
}

/* "Hazır" ve "Hazır İptal" ayrı bir kapta (`.v94ReadyActions`) duruyor ve
   kap yalnız 169 piksel kaplıyordu; düğme başına 82 piksel kalınca
   "Hazır İptal" iki satıra kırılıyordu. Kap tam satırı alır. */
.sl-coupon-dock-v282 .mobile-coupon-flow-actions > .v94ReadyActions {
  grid-column: 1 / -1 !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 7px !important;
  width: 100% !important;
  margin: 0 !important;
}

.sl-coupon-dock-v282 .mobile-coupon-flow-actions > .v94ReadyActions > button {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 46px !important;
  padding: 8px 6px !important;
  font-size: 13px !important;
  line-height: 1.15 !important;
  white-space: nowrap !important;
}

/*
 * ŞERİTTE YALNIZ YAPILABİLİR EYLEM DURUR.
 *
 * Üç eylem birden gösterilince şerit 171 piksele çıkıyordu; alt gezintiyle
 * birlikte 844 piksellik ekranın %29'u sabit kabuk oluyordu. Oysa üçü
 * aynı anda ANLAMLI DEĞİL: "Hazır İptal" ancak hazır verildikten sonra,
 * "Haftayı Başlat" ancak herkes hazır olduğunda çalışır — oyunun kendi
 * kodu bunları zaten `disabled` yapıyor.
 *
 * Şerit o durumu okur: kapalı eylem şeritte yer kaplamaz. Düğmeler
 * DOM'dan silinmez, oyunun mantığı değişmez; yalnız sırası gelmeyen
 * düğme görünmez. Sırası gelince kendiliğinden çıkar.
 */
.sl-coupon-dock-v282 .mobile-coupon-flow-actions > button:disabled,
.sl-coupon-dock-v282 .mobile-coupon-flow-actions > .v94ReadyActions > button:disabled {
  display: none !important;
}

/* Kapta hiç etkin düğme kalmadıysa kap da yer kaplamasın. */
.sl-coupon-dock-v282 .mobile-coupon-flow-actions > .v94ReadyActions:not(:has(> button:not(:disabled))) {
  display: none !important;
}

.sl-coupon-dock-v282 .mobile-coupon-flow-actions:not(:has(button:not(:disabled))) {
  display: none !important;
}

/* ========================================================================
   15. "NASIL OYNANIR" PENCERESİ (V284)
   ========================================================================

   Ölçüm (393x852): kart 750 piksel, içerik 833 — yani 83 piksel taşıyor.
   Başlık şeridi `position: static` olduğu için kaydırınca KAPATMA (✕)
   yukarı kayıp gözden kayboluyor; "Anladım" düğmesi ise 864. pikselde,
   852 piksellik ekranın ALTINDA kalıyor. Kullanıcı ne aşağı inip
   "Anladım"a ulaşabiliyor ne de ✕'i görebiliyordu.

   Kart görünür alana göre ölçülür, başlık üstte ve "Anladım" altta
   SABİTLENİR; arada kalan metin kendi içinde kayar. */

html body.wos-mobile-app .howToCard {
  display: flex !important;
  flex-direction: column !important;
  max-height: calc(var(--wos-visible-height, 92dvh) - 24px) !important;
  padding: 0 !important;
  overflow: hidden !important;
}

html body.wos-mobile-app .howToHead {
  position: sticky !important;
  top: 0 !important;
  z-index: 3 !important;
  flex: 0 0 auto !important;
  margin: 0 !important;
  padding: 14px 16px 12px !important;
  background: inherit !important;
  border-bottom: 1px solid rgba(0, 0, 0, .10) !important;
}

/* Yalnız ORTA bölüm kayar. */
html body.wos-mobile-app .howToContent {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  padding: 14px 16px !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}

/* "Anladım" her zaman parmak mesafesinde. */
html body.wos-mobile-app .howToDone {
  position: sticky !important;
  bottom: 0 !important;
  z-index: 3 !important;
  flex: 0 0 auto !important;
  width: calc(100% - 32px) !important;
  min-height: 50px !important;
  margin: 0 16px 16px !important;
  font-size: 15px !important;
  font-weight: 800 !important;
}

/* Kullanıcı "yazı fontu zor okunur" dedi: gövde 13 -> 14,5 piksel. */
html body.wos-mobile-app .howToStep,
html body.wos-mobile-app .howToSection p,
html body.wos-mobile-app .howToContent li {
  font-size: 14.5px !important;
  line-height: 1.55 !important;
}

html body.wos-mobile-app .howToSection h3,
html body.wos-mobile-app .howToSection > b {
  font-size: 15px !important;
}

/* Kapatma düğmesi gerçek bir dokunma hedefi olsun. */
html body.wos-mobile-app .howToHead button,
html body.wos-mobile-app .howToClose {
  min-width: 44px !important;
  min-height: 44px !important;
}

/* ========================================================================
   16. SADELEŞTİRME (V286)
   ========================================================================

   Kullanıcı 285.0'dan sonra "hâlâ çok karışık" dedi. Ölçüm onu doğruladı:

     · İlk açılış: 18 dokunulabilir öğe, 30 metin düğümü, 1210 piksel.
       Öğelerin çoğu oyuncu adı kaydedilmeden çalışmıyor.
     · Kupon sekmesi (Dünya Kupası — VARSAYILAN lig): 6,4 ekran.
       `#fixtures` tek başına 4485 piksel. Önceki turların ölçümü Süper
       Lig'de (1194 piksel) yapıldığı için bu gözden kaçmıştı.
     · Hero'nun altındaki dil + "Nasıl Oynanır" bloğu 116 piksel; ikisi
       de tek satıra sığacak kadar küçük denetimler.

   Bu bölüm hiçbir şeyi silmez: gizlenen her denetim ya bir koşul
   sağlanınca (ad kaydı) ya da bir dokunuşla ("Kalan maçları göster")
   geri gelir.
   ======================================================================== */

/* ------------------------------------------------------------------
   16.1 İLK AÇILIŞ — ekranda tek iş var: adını yaz
   ------------------------------------------------------------------ */

/* Henüz oyuncu yokken çalışmayan denetimler çizilmez. */
html body.wos-mobile-app.sl-firstrun-v286 .mobile-hero-stats,
html body.wos-mobile-app.sl-firstrun-v286 .mobile-hero-actions,
html body.wos-mobile-app.sl-firstrun-v286 .sl-setup-toggle-v282,
html body.wos-mobile-app.sl-firstrun-v286 .mobile-app-view[data-view="home"] .kpis,
html body.wos-mobile-app.sl-firstrun-v286 .mobile-app-view[data-view="home"] #newSeasonBtn,
html body.wos-mobile-app.sl-firstrun-v286 .mobile-app-view[data-view="home"] #preseasonBtn {
  display: none !important;
}

/* Kart başlığındaki "0 oyuncu / Henüz oyuncu yok" rozeti de bu ekranda
   bilgi taşımıyor. */
html body.wos-mobile-app.sl-firstrun-v286 .mobile-app-view[data-view="home"] #activePlayerTag {
  display: none !important;
}

/* Tanıtım cümlesi YALNIZ ilk açılışta durur: yeni gelen oyunun ne
   olduğunu buradan öğrenir, dönen oyuncu için 38 piksel gürültüdür. */
html body.wos-mobile-app:not(.sl-firstrun-v286) .mobile-hero-sub {
  display: none !important;
}

/* İlk açılışta asıl iş vurgulanır. */
html body.wos-mobile-app.sl-firstrun-v286 .mobile-app-view[data-view="home"] .singleUsernameRow {
  margin-top: 2px !important;
}

html body.wos-mobile-app.sl-firstrun-v286 .mobile-app-view[data-view="home"] #saveSingleUsername {
  min-height: 48px !important;
  font-size: 15.5px !important;
}

html body.wos-mobile-app.sl-firstrun-v286 .mobile-app-view[data-view="home"] #singleUsernameStatus {
  font-size: 12.5px !important;
  line-height: 1.45 !important;
  color: #b9cee8 !important;
}

/* ------------------------------------------------------------------
   16.2 DİL + NASIL OYNANIR + REHBER — üç satır yerine bir satır
   ------------------------------------------------------------------

   116 -> 48 piksel. Üç denetim de kalır, yan yana durur; üçü de 44
   piksellik dokunma hedefini korur.

   ÜÇÜNCÜ DÜĞME SONRADAN GELDİ VE ŞERİDİ İKİ SATIRA ÇIKARMIŞTI.
     Bu ızgara iki sütunlu yazılmıştı, çünkü o sırada şeritte iki çocuk
     vardı: dil seçici ve "Nasıl Oynanır". Sonradan ortak rehber betiği
     (`game-guide-v296.js`) "Rehber" düğmesini `#mainHowToBtn`'in yanına,
     yani AYNI IZGARAYA ekledi. Üçüncü çocuk iki sütuna sığmayınca ikinci
     satıra düştü ve şerit 48 pikselden 113 piksele çıktı — telefonda
     kıvrımın üstünde 65 piksel boşa gitti.

     Sütun sayısı artık üç. Genişlikler eşit DEĞİL: dil seçici içinde iki
     düğme (bayrak + ad) taşıdığı için en geniş payı alır, "Rehber" tek
     kısa sözcük olduğu için en darını. Oranlar ölçülerek seçildi. */
html body.wos-mobile-app .mobile-hero-tools {
  display: grid !important;
  grid-template-columns: minmax(0, auto) minmax(0, 1fr) minmax(0, auto) !important;
  grid-auto-rows: minmax(44px, auto) !important;
  gap: 6px !important;
  align-items: stretch !important;
}

/* Rehber düğmesi ızgara gözü olur: kendi dış boşluğu satırı kaydırmasın. */
html body.wos-mobile-app .mobile-hero-tools .wos-guide-open {
  margin: 0 !important;
  min-height: 44px !important;
  justify-content: center !important;
  gap: 5px !important;
  padding: 6px 8px !important;
  font-size: 12.5px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
}

/* "i" rozeti dar sütunda ezilmesin: yuvarlak kalması gerekiyor. */
html body.wos-mobile-app .mobile-hero-tools .wos-guide-open .wos-guide-open__mark {
  flex: 0 0 auto !important;
}

/* Rehber düğmesi ŞERİTTE değilse (başka bir çapaya düştüyse) şerit iki
   sütuna döner; boş bir üçüncü sütun bırakmanın anlamı yok. */
html body.wos-mobile-app .mobile-hero-tools:not(:has(.wos-guide-open)) {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
}

html body.wos-mobile-app .mobile-hero-tools #mainLanguagePicker {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  padding: 4px !important;
  min-height: 44px !important;
}

/* "Dil / Language" başlığı düğmelerin kendisinden okunuyor. */
html body.wos-mobile-app .mobile-hero-tools #mainLanguagePicker > small,
html body.wos-mobile-app .mobile-hero-tools #mainLanguagePicker > span:not([class]),
html body.wos-mobile-app .mobile-hero-tools #mainLanguagePicker > label {
  display: none !important;
}

html body.wos-mobile-app .mobile-hero-tools #mainLanguagePicker button,
html body.wos-mobile-app .mobile-hero-tools #mainLanguagePicker a {
  flex: 0 0 auto !important;
  min-width: 0 !important;
  min-height: 36px !important;
  padding: 6px 8px !important;
  white-space: nowrap !important;
}

/*
 * TELEFONDA DİL ADI YAZILMAZ, BAYRAK KONUŞUR.
 *
 * Üç denetim tek satıra sığacaksa bir yerden yer açmak gerekiyordu.
 * "Türkçe" ve "English" sözcükleri buradaki en kolay feragat: bayrak
 * zaten dilin en hızlı okunan işareti ve seçili düğme ayrıca
 * vurgulanıyor. Alternatifleri denendi ve daha kötüydüler — üç etiketi
 * birden sıkıştırmak dördünü de ortasından kırpıyordu ("Türkç", "Englis",
 * "Nasıl Oyn…").
 *
 * `display: none` DEĞİL: sözcük ekran okuyucuya kalmalı. Kırpma
 * tekniğiyle görünmez olur ama düğmenin erişilebilir adında durur —
 * yani düğme hâlâ "Türkiye bayrağı Türkçe" diye okunur.
 */
html body.wos-mobile-app .mobile-hero-tools #mainLanguagePicker button > b,
html body.wos-mobile-app .mobile-hero-tools #mainLanguagePicker a > b {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

html body.wos-mobile-app .mobile-hero-tools #mainLanguagePicker button > img,
html body.wos-mobile-app .mobile-hero-tools #mainLanguagePicker a > img {
  display: block !important;
  width: 26px !important;
  height: auto !important;
  margin: 0 !important;
}

html body.wos-mobile-app .mobile-hero-tools #mainHowToBtn {
  min-height: 44px !important;
  margin: 0 !important;
  padding: 6px 8px !important;
  font-size: 13px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

/* ------------------------------------------------------------------
   16.3 KADEMELİ MAÇ LİSTESİ
   ------------------------------------------------------------------ */

html body.wos-mobile-app .mobile-app-view[data-view="coupon"] #fixtures .sl-fx-hidden-v286 {
  display: none !important;
}

html body.wos-mobile-app .mobile-app-view[data-view="coupon"] #fixtures .sl-fx-more-v286 {
  display: block !important;
  width: 100% !important;
  min-height: 46px !important;
  margin: 10px 0 2px !important;
  border-radius: 14px !important;
  background: rgba(77, 163, 255, .12) !important;
  border: 1px solid rgba(77, 163, 255, .38) !important;
  box-shadow: none !important;
  color: #cfe6ff !important;
  font-size: 14px !important;
  font-weight: 800 !important;
}

html body.wos-mobile-app .mobile-app-view[data-view="coupon"] #fixtures .sl-fx-more-v286[hidden] {
  display: none !important;
}

/* ------------------------------------------------------------------
   16.4 MAÇ KARTI — 154 -> ~136 piksel
   ------------------------------------------------------------------

   Kart yüksekliğinin dörtte biri tek bir yardımcı düğmeydi ("Detaylı
   Oranlar", 42 piksel). Düğme KALIR ve tam genişlikte kalır — V284'te
   takım adlarının hecelerinden bölünmesini bitiren düzen buydu — ama
   ikincil bir eylem olduğu için ikincil bir yükseklikte durur. Asıl
   dokunma hedefi olan oran düğmeleri büyütülür. */
html body.wos-mobile-app .mobile-app-view[data-view="coupon"] #fixtures .compactDetailBtn.v62DetailBtn {
  min-height: 32px !important;
  padding: 5px 8px !important;
  font-size: 12.5px !important;
}

html body.wos-mobile-app .mobile-app-view[data-view="coupon"] #fixtures .v62Fixture .v62MainOdds .odd,
html body.wos-mobile-app .mobile-app-view[data-view="coupon"] #fixtures .fixture .odds3 .odd {
  min-height: 44px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 1px !important;
}

/* OYUNUN EN ÇOK DOKUNULAN DÜĞMESİ 8 PİKSELLİK YAZI TAŞIYORDU.
   `.v62MainOdds .odd b` 8, `span` 9 piksel; yani "MS1" ve oranın kendisi
   okunmuyordu. Kontrast ölçümü temiz çıktığı için tarama bunu
   yakalamıyor — sorun renk değil BOYUT. Düğme 44 piksele çıktığı için
   yazı da normal boya döner. */
html body.wos-mobile-app .mobile-app-view[data-view="coupon"] #fixtures .v62MainOdds .odd b,
html body.wos-mobile-app .mobile-app-view[data-view="coupon"] #fixtures .odds3 .odd b {
  font-size: 11px !important;
  line-height: 1.1 !important;
  opacity: .82 !important;
}

html body.wos-mobile-app .mobile-app-view[data-view="coupon"] #fixtures .v62MainOdds .odd span,
html body.wos-mobile-app .mobile-app-view[data-view="coupon"] #fixtures .odds3 .odd span {
  font-size: 15px !important;
  line-height: 1.15 !important;
  margin-top: 1px !important;
}

/* Grup başlıkları (Dünya Kupası) listenin ritmini kuruyor; okunur
   kalsınlar. */
html body.wos-mobile-app .mobile-app-view[data-view="coupon"] #fixtures .wcFixtureSection {
  font-size: 12.5px !important;
  letter-spacing: .06em !important;
  color: #9fc0e6 !important;
  margin: 12px 0 6px !important;
}

/* ------------------------------------------------------------------
   16.5 7–10 PİKSELLİK YAZILAR (V286)
   ------------------------------------------------------------------

   Kullanıcı "lig kısmında ilk 2 gruptan çıkar … okunmuyor" dediğinde
   sorunu renkte aradım ve kontrast ölçümü temiz çıktı. Ölçü yanlış
   ölçüydü: sorun renk değil BOYUT.

   Telefonda görünen metinleri tarayınca (yalnız kendi metin düğümü olan
   öğeler, gerçekten çizilenler):

     Lig sekmesi   sütun başlıkları  7,1 px
                   takım adı         8,5 px
                   puan/averaj       8   px
                   "İlk 2 doğrudan çıkar" 9 px
     Canlı         takım adı        10   px
                   "Oynanacak"       8   px
                   grup adı          9   px
     Kupon         "MS1" / oran      8 / 9 px   (bkz. 16.4)
     Detay katmanı "← Önceki maç"    8,3 px

   Kaynak tek bir düzen kararı: Dünya Kupası grup tablosu telefonda da
   İKİ SÜTUN çiziliyor (`.wcGroupGrid{grid-template-columns:repeat(2,…)}`).
   390 piksellik ekranda bir kart 185 piksele düşüyor, altı istatistik
   sütunu 22'şer piksel alıyor ve geriye takım adına ~60 piksel kalıyor —
   yazıyı 7 piksele indirmekten başka çare kalmamış.

   Doğru çözüm sütunu tekleştirmek: tam genişlikte kart, aynı sütunlar,
   normal boy yazı. Hiçbir sütun, hiçbir satır silinmiyor.
   ------------------------------------------------------------------ */

/* --- Lig sekmesi: grup tablosu tek sütun --- */
html body.wos-mobile-app .mobile-app-view[data-view="table"] .wcGroupGrid,
html body.wos-mobile-app .mobile-app-view[data-view="table"] .v62GroupGrid {
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 12px !important;
}

/* SATIRDA ON ÖĞE VAR, IZGARADA SEKİZ SÜTUN.
   Özgün kural `18px minmax(0,1fr) repeat(6,22px)` yazıyor ama satır
   şunları taşıyor: sıra, takım, O, G, B, M, AG, YG, AV, P. Son ikisi
   örtük bir satıra düşüyor, "P" de esnek sütunu miras alıp 98 piksele
   şişiyordu; satır 49 piksele çıkıp iki satıra bölünüyordu. (Aynı hata
   V284'te canlı skor satırında da çıkmıştı — bkz. CLAUDE.md.)
   Sütun sayısı öğe sayısıyla eşitlenir. */
html body.wos-mobile-app .mobile-app-view[data-view="table"] .wcGroupRow,
html body.wos-mobile-app .mobile-app-view[data-view="table"] .v62GroupRow {
  grid-template-columns: 20px minmax(0, 1fr) repeat(8, 24px) !important;
  gap: 2px !important;
  min-height: 34px !important;
  padding: 5px 7px !important;
  font-size: 12px !important;
}

/* Bayrak 25 pikselden 18'e: kazanılan yer takım adına gider. */
html body.wos-mobile-app .mobile-app-view[data-view="table"] .wcGroupRow .teamLogo.nationalFlag {
  width: 18px !important;
  min-width: 18px !important;
  flex-basis: 18px !important;
  height: 13px !important;
}

html body.wos-mobile-app .mobile-app-view[data-view="table"] .wcGroupRow.head,
html body.wos-mobile-app .mobile-app-view[data-view="table"] .v62GroupRow.head {
  font-size: 11px !important;
  min-height: 28px !important;
}

html body.wos-mobile-app .mobile-app-view[data-view="table"] .wcGroupRow .teamMini,
html body.wos-mobile-app .mobile-app-view[data-view="table"] .v62GroupRow .teamMini,
html body.wos-mobile-app .mobile-app-view[data-view="table"] .wcGroupRow .teamMini span {
  font-size: 13px !important;
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

html body.wos-mobile-app .mobile-app-view[data-view="table"] .wcGroupRow .rank,
html body.wos-mobile-app .mobile-app-view[data-view="table"] .wcGroupRow .pts,
html body.wos-mobile-app .mobile-app-view[data-view="table"] .wcGroupRow .num,
html body.wos-mobile-app .mobile-app-view[data-view="table"] .v62GroupRow .rank,
html body.wos-mobile-app .mobile-app-view[data-view="table"] .v62GroupRow .pts {
  font-size: 12.5px !important;
}

/* "İlk 2 doğrudan çıkar · En iyi üçüncüler" açıklaması — kullanıcının
   adıyla işaret ettiği satır. */
html body.wos-mobile-app .mobile-app-view[data-view="table"] .wcHubLegend,
html body.wos-mobile-app .mobile-app-view[data-view="table"] .wcHubLegend span {
  font-size: 12px !important;
  line-height: 1.5 !important;
  color: #4a6a80 !important;
}

html body.wos-mobile-app .mobile-app-view[data-view="table"] .wcGroupCard h3,
html body.wos-mobile-app .mobile-app-view[data-view="table"] .wcGroupCard h3 span {
  font-size: 13.5px !important;
}

/* --- Canlı merkez: takım adı, durum etiketi, grup adı --- */
html body.wos-mobile-app .mobile-app-view[data-view="live"] .scoreRow .teams,
html body.wos-mobile-app .mobile-app-view[data-view="live"] .scoreRow span,
html body.wos-mobile-app .mobile-app-view[data-view="live"] #scoreBoard .teamMini span {
  font-size: 12.5px !important;
}

html body.wos-mobile-app .mobile-app-view[data-view="live"] .wcScoreSection {
  font-size: 12px !important;
  letter-spacing: .04em !important;
}

html body.wos-mobile-app .mobile-app-view[data-view="live"] .tag,
html body.wos-mobile-app .mobile-app-view[data-view="live"] .scoreStatus,
html body.wos-mobile-app .mobile-app-view[data-view="live"] .scoreStatus .tag {
  font-size: 11.5px !important;
}

/* --- Kuponda ve detay katmanında kalan küçük metinler --- */
html body.wos-mobile-app .stakeMinimumHint,
html body.wos-mobile-app .normalSlipCompactEmpty {
  font-size: 12px !important;
  line-height: 1.45 !important;
}

html body.wos-mobile-app .v62Versus {
  font-size: 12px !important;
}

html body.wos-mobile-app .preCouponStep small {
  font-size: 11px !important;
}

html body.wos-mobile-app .oddsDetailBody .v97ScoreHint,
html body.wos-mobile-app .oddsDetailBody .v97ScoreSubhead,
html body.wos-mobile-app .oddsDetailBody .formDot,
html body.wos-mobile-app .oddsDetailBody .odd b,
html body.wos-mobile-app .oddsDetailNav button,
html body.wos-mobile-app .oddsDetailBody small {
  font-size: 12px !important;
  line-height: 1.4 !important;
}

/* ------------------------------------------------------------------
   16.6 KİMLİKLİ SEÇİCİLERİN ARDINDA KALANLAR (V286)
   ------------------------------------------------------------------

   16.5'ten sonra yeniden tarandığında beş metin hâlâ küçüktü. Hepsinin
   sebebi aynı ve bu depoda tekrar eden tuzak: ezilecek kural KİMLİK
   taşıyor, benimki taşımıyordu.

     #wcPreOverlay .preCouponStep small        8   px
     #stakeMinimumHint                        10,5 px
     #scoreBoard .wcLiveState .tag             8   px   ("Oynanacak")

   Bir tanesi de kendi kuralımdı: `.clock span` 9,5 piksele V282'de
   çekilmiş. ("MAÇ SAATİ")
   ------------------------------------------------------------------ */

html body.wos-mobile-app #wcPreOverlay .preCouponStep small,
html body.wos-mobile-app #preseasonOverlay .preCouponStep small {
  font-size: 11px !important;
}

html body.wos-mobile-app #stakeMinimumHint {
  font-size: 12px !important;
  line-height: 1.45 !important;
}

html body.wos-mobile-app .mobile-app-view[data-view="live"] #scoreBoard .wcLiveState .tag,
html body.wos-mobile-app .mobile-app-view[data-view="live"] #scoreBoard .scoreStatus .tag {
  font-size: 11.5px !important;
  line-height: 1.25 !important;
  padding: 3px 8px !important;
}

html body.wos-mobile-app .mobile-app-view[data-view="live"] #clock.clock span,
html body.wos-mobile-app .mobile-app-view[data-view="live"] .liveHeader .clock span {
  font-size: 11.5px !important;
  letter-spacing: .08em !important;
}

/* Dil seçicinin "Dil / Language" başlığı: iki düğmenin üstünde 9–10
   piksellik bir etiket olarak duruyordu. Düğmelerin kendisi zaten
   "Türkçe" ve "English" yazıyor. */
html body.wos-mobile-app .mobile-hero-tools .headerLanguagePicker > span,
html body.wos-mobile-app .mobile-hero-tools #mainLanguagePicker > span {
  display: none !important;
}

/* Detay katmanındaki maç gezinme düğmeleri. */
html body.wos-mobile-app #oddsDetailOverlay button,
html body.wos-mobile-app .oddsDetailDialog button {
  font-size: 12px !important;
}

/* Lig seçicinin etiketi kimlikli bir kuralın ardında kalıyor
   (`.setupGrid.leagueOnly label > span` 10 piksel). */
html body.wos-mobile-app .setupGrid.leagueOnly label > span,
html body.wos-mobile-app #leagueLabel {
  font-size: 12px !important;
  line-height: 1.4 !important;
}

/* Grup kartlarının "kalanı göster" düğmesi ızgaranın dışında, tam
   genişlikte durur. */
html body.wos-mobile-app .mobile-app-view[data-view="table"] .sl-fx-hidden-v286 {
  display: none !important;
}

/* AYNI SINIF, İKİ FARKLI YÜZEY — bu depoda tekrar eden tuzak.
   Grup KARTLARI beyaz zeminli, ama düğme kartların DIŞINDA, koyu
   panelin üstünde duruyor. İlk sürümde kupon düğmesinin açık zemin
   varsayımıyla koyu yazı verildi ve ekran görüntüsünde okunmuyordu. */
html body.wos-mobile-app .mobile-app-view[data-view="table"] .sl-group-more-v286 {
  display: block !important;
  width: 100% !important;
  min-height: 46px !important;
  margin: 12px 0 4px !important;
  border-radius: 14px !important;
  background: rgba(77, 163, 255, .14) !important;
  border: 1px solid rgba(77, 163, 255, .42) !important;
  box-shadow: none !important;
  color: #dceaff !important;
  font-size: 14px !important;
  font-weight: 800 !important;
}

html body.wos-mobile-app .mobile-app-view[data-view="table"] .sl-group-more-v286[hidden] {
  display: none !important;
}

/* ------------------------------------------------------------------
   16.7 SEÇİM YAPILDIKTAN SONRA ÇIKAN KÜÇÜK YAZILAR (V286)
   ------------------------------------------------------------------

   İlk tarama seçim YAPILMADAN çalıştığı için kupon özeti ve canlı
   listedeki bahis notu görünmüyordu. Test bir seçim yapıp yeniden
   tarayınca çıktılar:

     #slip .normalSlipCompactCount b     9,5 px  ("1 seçim aktif kuponda")
     #slip .normalSlipCompactCount small 7,8 px
     .v90ActiveReadableLine b/span       8,8 / 8 px  (kupondaki maç)
     .v90LiveReadablePick                9   px  ("Kupon: MS1 @ 2.11")
     .couponStar                         8   px

   Ders: okunabilirlik taraması oyunu OYNAMADAN eksik ölçer. Kuponda
   seçim varken çıkan metinler kullanıcının en çok okuduğu metinler.
   ------------------------------------------------------------------ */

html body.wos-mobile-app #slip .normalSlipCompactCount b {
  font-size: 12.5px !important;
}

html body.wos-mobile-app #slip .normalSlipCompactCount small {
  font-size: 11.5px !important;
  line-height: 1.4 !important;
}

html body.wos-mobile-app .v90ActiveReadableLine b,
html body.wos-mobile-app .v90ActiveReadableLine span {
  font-size: 12px !important;
  line-height: 1.4 !important;
}

/* Kimlikli kural (`#scoreBoard .v90LiveReadablePick`) 9 pikselde
   tutuyordu; seçici kimliği taşımalı. */
html body.wos-mobile-app .mobile-app-view[data-view="live"] #scoreBoard .v90LiveReadablePick,
html body.wos-mobile-app #scoreBoard .v90LiveReadablePick,
html body.wos-mobile-app .v90LiveReadablePick {
  font-size: 11.5px !important;
  line-height: 1.35 !important;
}

html body.wos-mobile-app #fixtures .couponStar {
  font-size: 12px !important;
}

/* Kupon sekmesindeki sayaç rozeti de 11 pikselin altına inmesin. */
html body.wos-mobile-app .mobile-app-nav .sl-nav-badge-v282 {
  font-size: 11px !important;
}

/* ------------------------------------------------------------------
   16.8 İKİ SATIRA TAŞAN BAŞLIKLAR (V286)
   ------------------------------------------------------------------

   Ekran görüntüsünde iki yer taşıyordu:

     · Lig sekmesinde kart başlığı ("Dünya Kupası Grupları") iki satıra
       sarıyor ama kutusu 29 pikselde kalıyor; üst satır kartın
       kenarlığının üstüne biniyordu.
     · Üst şeritteki sezon hapı ("1. Grup Maçları • Dünya Kupası") 164
       piksellik hapın içinde kesiliyordu.
   ------------------------------------------------------------------ */

html body.wos-mobile-app .mobile-app-view .cardTitle {
  flex-wrap: wrap !important;
  min-height: 0 !important;
  height: auto !important;
}

html body.wos-mobile-app .mobile-app-view .cardTitle h2,
html body.wos-mobile-app .mobile-app-view .cardTitle > b,
html body.wos-mobile-app #standingsTitle {
  height: auto !important;
  min-height: 0 !important;
  line-height: 1.3 !important;
  overflow: visible !important;
  align-self: center !important;
}

html body.wos-mobile-app header #seasonPill {
  max-width: 44vw !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

/* ------------------------------------------------------------------
   16.9 GRUP EFSANESİ VE BAŞLIĞI KESEN SARI ÇİZGİ (V286.1)
   ------------------------------------------------------------------

   Kullanıcı iki şeyi işaret etti ve ikisi de ölçüldü.

   1. "İlk 2 doğrudan çıkar · En iyi 8 üçüncü çıkar" hâlâ okunmuyordu.
      16.5'te BOYUT düzeltildi (9 -> 12 piksel) ama RENK düzeltilmedi:
      ölçüm 1.61 çıktı — rgb(51,71,92) yazı, rgb(23,38,54) zemin üstünde.
      Yine aynı tuzak: bu efsane masaüstünde AÇIK kartın içinde duruyor,
      mobil kabukta ise KOYU panelin üstünde. Kırılıma göre ayrılır.

      (`readability.test.mjs` bunu görmedi çünkü taraması Lig sekmesine
      oyuncu ekleyip geçmiyor. Bekçilik `mobile-app-v282.test.mjs`e
      eklendi.)

   2. Kart başlığını kesen sarı çizgi. İki ayrı süs var:
        · `h2::before`   — 4x15 dikey altın çubuk, başlığın SOLUNDA
        · `.cardTitle::before` — 42x3 yatay altın çizgi, left:13 top:16
      İkincisi alt kenara çizilmek üzere tasarlanmış (`bottom:-1px`) ama
      mobil kabukta üst kenardan konumlanıp başlığın ilk satırının tam
      ortasından geçiyor: "DÜNYA KUPASI GRUPLARI" yazısının D ve Ü
      harflerini kesiyordu. Başlığın kendi dikey çubuğu zaten aynı görsel
      dili taşıdığı için yatay çizgi mobilde çizilmez.
   ------------------------------------------------------------------ */

html body.wos-mobile-app .cardTitle::before {
  display: none !important;
  content: none !important;
}

html body.wos-mobile-app .wcHubLegend,
html body.wos-mobile-app .wcHubLegend span,
html body.wos-mobile-app .wcHubLegend b,
html body.wos-mobile-app .mobile-app-view[data-view="table"] .wcHubLegend span {
  color: #cfe1f2 !important;
}

/* Renk noktaları arka planla çizildiği için yazı rengi onlara işlemez;
   yine de açıkça korunur. */
html body.wos-mobile-app .wcHubLegend i.direct {
  background: #7fd8ad !important;
}

html body.wos-mobile-app .wcHubLegend i.third {
  background: #f0cf74 !important;
}

/* ========================================================================
   17. "NASIL OYNANIR" PENCERESİ MOBİLDE OKUNMUYORDU (V287)
   ========================================================================

   Kullanıcı: "telefondaki nasıl oynanır kısmındaki yazı rengi okunmaz
   şekilde görünüyor."

   Ölçüm (390x844, piksel örneklemesiyle doğrulanmış):

     .howToSection h3   rgb(24,58,86)  üzeri rgb(26,41,59)   1.25
     .howToStep         rgb(24,58,86)  üzeri rgb(23,35,52)   1.34
     .howToSection p    rgb(82,111,135) üzeri rgb(25,39,57)  2.86
     #howToDone         beyaz          üzeri rgb(39,182,116) 2.62

   Sebep bu depoda tekrar eden tuzak: pencerenin kartı MASAÜSTÜNDE açık,
   MOBİL kabukta koyu. Yazı renkleri açık karta göre yazılmış; koyu panelde
   koyu-üstüne-koyu oluyor. Masaüstü ölçümleri (11.36 / 10.88 / 5.07)
   sorunsuz olduğu için renkler kırılıma göre ayrılır.
   ======================================================================== */

html body.wos-mobile-app #howToModal .howToSection h3,
html body.wos-mobile-app #howToModal .howToSection > b,
html body.wos-mobile-app .howToSection h3,
html body.wos-mobile-app .howToSection > b {
  color: #eaf3ff !important;
}

html body.wos-mobile-app #howToModal .howToStep,
html body.wos-mobile-app .howToStep,
html body.wos-mobile-app .howToContent li {
  color: #d6e6f6 !important;
}

html body.wos-mobile-app #howToModal .howToSection p,
html body.wos-mobile-app .howToSection p,
html body.wos-mobile-app .howToContent p {
  color: #c6d8ea !important;
}

/* Yeşil düğme üstünde beyaz yazı 2.62 idi; zemin koyulaştırıldı. */
html body.wos-mobile-app #howToDone {
  background: linear-gradient(180deg, #1f8f5b, #12634010) !important;
  background-color: #167046 !important;
  color: #ffffff !important;
  font-size: 15.5px !important;
  font-weight: 900 !important;
}

/* Adım numaraları koyu panelde de seçilsin. */
html body.wos-mobile-app .howToStep > span:first-child,
html body.wos-mobile-app .howToSteps > li::marker {
  color: #0b1c2c !important;
}

/* ========================================================================
   18. ŞERİT VE ALT GEZİNTİ SAYDAMDI (V287)
   ========================================================================

   Kullanıcı: "kupon kısmında oynanan maçlar ve kupon/oran kısmı birbirine
   giriyor."

   Sebep: sabit kupon şeridi ve alt gezinti zeminleri saydamdı
   (`rgba(...,.92)`, üst kenarda daha da saydam) ve arkalarındaki maç
   kartları içlerinden GÖRÜNÜYORDU. Ekran görüntüsünde "Merkez / Kupon"
   yazılarının arasından maçın "MS1" ve "MS2" oranları okunuyor.

   Bulanıklık (`backdrop-filter`) bunu maskeleyebilirdi ama bu sayfada
   `body.wos-low-power` sınıfı bulanıklığı kapatıyor; yani saydamlığın
   arkasında hiçbir şey yok. Doğru çözüm zemini KAPALI yapmak.

   Ayrıca şeridin üstüne ince bir gölge konur: kaydırılan içeriğin nerede
   bittiği görünsün.
   ======================================================================== */

html body.wos-mobile-app .sl-coupon-dock-v282 {
  background: #060e18 !important;
  background-image: none !important;
  box-shadow: 0 -10px 22px rgba(2, 6, 12, .55) !important;
}

html body.wos-mobile-app .mobile-app-nav {
  background: #050c15 !important;
  background-image: none !important;
  box-shadow: 0 -8px 18px rgba(2, 6, 12, .5) !important;
}

/* Şeridin bilgi satırı ile düğmesi arasında da ayrım olsun. */
html body.wos-mobile-app .sl-coupon-dock-v282 .sl-dock-info {
  padding-bottom: 7px !important;
  margin-bottom: 7px !important;
  border-bottom: 1px solid rgba(255, 255, 255, .08) !important;
}

/* Bildirim balonu da kapalı zemin ister; şeffafken maç kartının üstünde
   okunmuyordu. */
html body.wos-mobile-app .mobile-app-toast {
  background: #0d1a29 !important;
  border: 1px solid rgba(255, 255, 255, .14) !important;
}

/* Yeşil "Hazır" düğmesinde beyaz yazı 2.64 ölçüldü. Zemin koyulaştırılır;
   düğmenin rengi ve rolü değişmez. (Aynı düzeltme "Anladım" için 17'de.) */
html body.wos-mobile-app button.good,
html body.wos-mobile-app #readyBtn.good,
html body.wos-mobile-app .sl-coupon-dock-v282 button.good {
  background: linear-gradient(180deg, #1f9d63, #147a4b) !important;
  color: #ffffff !important;
}

/* ------------------------------------------------------------------
   16.2b ÇOK DAR TELEFON — rehber düğmesi rozete iner
   ------------------------------------------------------------------

   360 pikselin altında üç etiket birden sığmıyor: ölçüldüğünde "Nasıl
   Oynanır" 58 piksele düşüp "❓ …" hâline geliyordu. İki yardım girişi
   var ve oyuna ait olan "Nasıl Oynanır"; sözcüğünü koruyan o olmalı.
   Rehber düğmesi bu genişlikte yalnız "ⓘ" rozetiyle kalır.

   Sözcük yine `display:none` ile DEĞİL kırpma tekniğiyle gizlenir:
   düğmenin erişilebilir adı "Rehber" olarak durur. */
@media (max-width: 360px) {
  html body.wos-mobile-app .mobile-hero-tools .wos-guide-open .wos-guide-open__label {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
    border: 0 !important;
  }

  html body.wos-mobile-app .mobile-hero-tools .wos-guide-open {
    padding: 6px 10px !important;
  }

  /* Bayraklar da bir tık küçülür: "Nasıl Oynanır" tam yazılabilsin diye
     ölçülerek seçildi (106 piksel yer vardı, sözcük 111 istiyordu). */
  html body.wos-mobile-app .mobile-hero-tools #mainLanguagePicker button,
  html body.wos-mobile-app .mobile-hero-tools #mainLanguagePicker a {
    padding: 6px 5px !important;
  }

  html body.wos-mobile-app .mobile-hero-tools #mainLanguagePicker button > img,
  html body.wos-mobile-app .mobile-hero-tools #mainLanguagePicker a > img {
    width: 22px !important;
  }

  html body.wos-mobile-app .mobile-hero-tools #mainHowToBtn {
    font-size: 12px !important;
    padding: 6px 4px !important;
  }
}
