/* EduPlay Module Layer — progress, missions, collection, combo */

.eml-panel {
  background: rgba(255, 255, 255, 0.92);
  border-radius: 16px;
  padding: 12px 14px;
  margin: 10px 0 14px;
  text-align: left;
  font-family: "Nunito", system-ui, sans-serif;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
  border: 1px solid rgba(0, 0, 0, 0.06);
}
.eml-panel h4 {
  margin: 0 0 8px;
  font-size: 0.95rem;
  color: #1b4332;
}
.eml-progress {
  margin: 8px 0 12px;
  font-family: "Nunito", system-ui, sans-serif;
}
.eml-progress-top {
  display: flex;
  justify-content: space-between;
  font-size: 0.82rem;
  font-weight: 800;
  color: #264653;
  margin-bottom: 4px;
}
.eml-progress-bar {
  height: 10px;
  background: #e8f0eb;
  border-radius: 999px;
  overflow: hidden;
}
.eml-progress-fill {
  height: 100%;
  background: linear-gradient(90deg, #52b788, #2d6a4f);
  border-radius: 999px;
  transition: width 0.4s ease;
}
.eml-missions ol,
.eml-mission-list {
  margin: 0;
  padding-left: 1.1rem;
  font-size: 0.85rem;
  font-weight: 700;
  color: #37474f;
}
.eml-mission-list li {
  margin: 4px 0;
}
.eml-mission-list li.done {
  color: #2d6a4f;
}
.eml-mission-desc {
  font-weight: 600;
  color: #78909c;
  font-size: 0.78rem;
}
.eml-collect-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
}
@media (min-width: 480px) {
  .eml-collect-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}
.eml-collect-card {
  border: 2px solid #d8e5dd;
  background: #fafafa;
  border-radius: 12px;
  padding: 8px 4px;
  text-align: center;
  cursor: pointer;
  font-family: inherit;
  opacity: 0.55;
  filter: grayscale(0.5);
}
.eml-collect-card.on {
  opacity: 1;
  filter: none;
  border-color: #52b788;
  background: #e8f5e9;
}
.eml-collect-icon {
  display: block;
  font-size: 1.25rem;
  line-height: 1.2;
}
.eml-collect-card small {
  display: block;
  font-size: 0.65rem;
  font-weight: 800;
  color: #455a64;
  margin-top: 2px;
}
.eml-mode-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
  margin: 10px 0;
}
.eml-mode-row button {
  flex: 1 1 130px;
  border: none;
  border-radius: 999px;
  padding: 12px 14px;
  font-weight: 800;
  font-family: inherit;
  cursor: pointer;
  font-size: 0.9rem;
}
.eml-mode-row .eml-btn-learn {
  background: #e3f2fd;
  color: #1565c0;
}
.eml-mode-row .eml-btn-quiz {
  background: linear-gradient(135deg, #40916c, #2d6a4f);
  color: #fff;
}
.eml-combo {
  position: fixed;
  top: 16%;
  left: 50%;
  transform: translateX(-50%) scale(0.7);
  z-index: 9600;
  font-family: "Nunito", system-ui, sans-serif;
  font-weight: 900;
  font-size: 1.5rem;
  color: #e65100;
  text-shadow: 0 2px 0 #fff;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s, transform 0.25s ease;
}
.eml-combo.show {
  opacity: 1;
  transform: translateX(-50%) scale(1.1);
}
.eml-combo.ultra {
  color: #c62828;
  font-size: 1.75rem;
}
.eml-toast {
  position: fixed;
  top: 16px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 9700;
  background: #1b4332;
  color: #fff;
  padding: 10px 16px;
  border-radius: 999px;
  font-weight: 800;
  font-family: "Nunito", system-ui, sans-serif;
  font-size: 0.9rem;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25);
}
.eml-hud-combo {
  font-weight: 800;
  color: #e65100;
  min-width: 4em;
  text-align: center;
}
.planet-card.eml-locked {
  opacity: 0.45;
  filter: grayscale(0.7);
}
.planet-card.eml-unlocked-new {
  animation: eml-pop 0.5s ease;
}
@keyframes eml-pop {
  0% {
    transform: scale(0.9);
  }
  50% {
    transform: scale(1.06);
  }
  100% {
    transform: scale(1);
  }
}
/* Softer shadows for performance on mid-range phones */
.eml-panel,
.card {
  /* opt-in: games can use eml-soft-shadow class */
}
.eml-soft-shadow {
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.1) !important;
}
