/* =========================================================
   RAPIKAN KARTU LEVEL (final, menyasar elemen ASLI).
   Lapisan CSS sebelumnya ("level-card-clickable-final-fix")
   menyasar selector yang TIDAK PERNAH ADA di markup asli
   (h3/h4, .icon, .level-icon, .description, .number, .badge),
   padahal kartu sebenarnya memakai <h2>, <p> polos, dan
   .game-preview/.level-number. Akibatnya judul (h2) tetap
   memakai ukuran raksasa bawaan (1.35rem) di dalam kartu yang
   sudah dipersempit jadi ~214px, sehingga teks, emoji, lencana
   bintang, dan tombol jadi tumpang tindih/acak-acakan.
   Blok ini menata ulang seluruh elemen ASLI tersebut dengan
   proporsi yang pas untuk layar laptop, dan sengaja diletakkan
   paling akhir supaya menang dari semua lapisan sebelumnya.
========================================================= */
#mathLevelsPage .level-grid{
  overflow-y:visible!important;
  align-items:stretch!important;
}
#mathLevelsPage .level-grid > .level-card{
  height:auto!important;
  min-height:318px!important;
  max-height:none!important;
  padding:18px 16px 16px!important;
  display:flex!important;
  flex-direction:column!important;
  gap:0!important;
}

/* Lingkaran nomor level */
#mathLevelsPage .level-card .level-number{
  width:40px!important;
  height:40px!important;
  min-width:40px!important;
  min-height:40px!important;
  border-radius:12px!important;
  font-size:.95rem!important;
  line-height:1!important;
  margin:0 0 10px!important;
  flex-shrink:0!important;
}

/* Judul kartu — elemen ASLI-nya <h2>, bukan h3/h4 */
#mathLevelsPage .level-card h2{
  font-size:.98rem!important;
  line-height:1.28!important;
  font-weight:800!important;
  margin:0 0 7px!important;
  min-height:0!important;
  max-height:2.6em!important;
  overflow:hidden!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
}

/* Deskripsi singkat */
#mathLevelsPage .level-card p{
  font-size:.74rem!important;
  line-height:1.45!important;
  margin:0 0 10px!important;
  min-height:0!important;
  max-height:3.2em!important;
  overflow:hidden!important;
  display:-webkit-box!important;
  -webkit-line-clamp:3!important;
  -webkit-box-orient:vertical!important;
  color:var(--muted)!important;
  flex-shrink:0!important;
}

/* Kotak emoji preview game */
#mathLevelsPage .level-card .game-preview{
  height:60px!important;
  min-height:60px!important;
  margin:0 0 10px!important;
  font-size:1.65rem!important;
  border-radius:13px!important;
  line-height:1!important;
  flex-shrink:0!important;
}

/* Lencana "Terkunci" */
#mathLevelsPage .level-card .lock-badge{
  margin-top:0!important;
  padding:6px 9px!important;
  font-size:.66rem!important;
  line-height:1.2!important;
  gap:5px!important;
}

/* Bintang pencapaian & label waktu (disisipkan lewat JS) */
#mathLevelsPage .level-card .level-stars{
  margin:0 0 6px!important;
  font-size:.7rem!important;
  line-height:1.3!important;
  flex-shrink:0!important;
}
#mathLevelsPage .level-card .level-time{
  margin:0 0 10px!important;
  padding:4px 8px!important;
  font-size:.64rem!important;
  line-height:1.3!important;
  flex-shrink:0!important;
}

/* Tombol aksi didorong ke bawah kartu & ukurannya proporsional */
#mathLevelsPage .level-card .btn{
  margin-top:auto!important;
  height:auto!important;
  min-height:38px!important;
  padding:9px 10px!important;
  font-size:.74rem!important;
  line-height:1.2!important;
  font-weight:800!important;
  white-space:normal!important;
  text-align:center!important;
}

/* Hover halus tanpa merusak tata letak kartu tetangga */
#mathLevelsPage .level-card{
  transition:transform .16s ease, box-shadow .16s ease!important;
}
#mathLevelsPage .level-card:not(.locked):hover{
  transform:translateY(-4px)!important;
  box-shadow:0 18px 32px rgba(58,57,54,.14)!important;
}
#mathLevelsPage .level-card.locked:hover{
  transform:none!important;
}

@media (max-width:480px){
  #mathLevelsPage .level-grid > .level-card{ min-height:300px!important; }
  #mathLevelsPage .level-card h2{ font-size:.92rem!important; }
}
