/* Bloc "essaie une partie" posé dans les articles de blog.
   Contraintes : ne rien décaler au chargement (la hauteur de l'état initial est
   réservée), ne rien imposer au lecteur qui veut seulement lire, et rester
   lisible quel que soit le thème de l'article - d'où le fond sombre autonome. */
.mm-embed {
  position: relative;
  margin: 28px 0;
  padding: 22px 20px;
  border-radius: 8px;
  background: var(--surface-2, #1c2027);
  border: 1px solid var(--line-forte, #39404a);
  color: var(--texte, #dde2e8);
  font-family: 'Inter', sans-serif;
  text-align: center;
  /* Réservé pour l'état initial : le bloc occupe déjà sa place définitive avant
     que le moteur ne soit chargé, donc aucun décalage de mise en page. */
  min-height: 268px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.mm-embed__accroche {
  font-family: var(--font-display, Georgia, serif);
  font-size: 1.3rem;
  font-weight: 700;
  margin: 0 0 8px;
  color: #f0f3f6;
}

.mm-embed__sous-titre {
  color: var(--texte-doux, #98a1ad);
  font-size: 0.92rem;
  line-height: 1.6;
  margin: 0 auto 18px;
  max-width: 420px;
}

.mm-embed__note {
  color: var(--texte-faible, #6c7683);
  font-size: 0.78rem;
  margin: 14px 0 0;
}

.mm-embed__lancer {
  font-family: 'Inter', sans-serif;
  font-size: 1rem;
  font-weight: 700;
  padding: 13px 30px;
  border: 1px solid var(--color-btn1, #e11d48);
  border-radius: 6px;
  cursor: pointer;
  color: #fff;
  background: var(--color-btn1, #e11d48);
  transition: background-color 0.15s;
  align-self: center;
}

.mm-embed__lancer:hover {
  background: color-mix(in srgb, #fff 10%, var(--color-btn1, #e11d48));
}

.mm-embed__lancer:disabled {
  opacity: 0.5;
  cursor: wait;
}

/* Bloc refermé par le lecteur : il ne reste qu'un rappel d'une ligne, sans le
   grand vide que laisserait la hauteur réservée de l'état initial. */
.mm-embed.mm-embed--ferme {
  min-height: 0;
  padding: 14px 18px;
}

.mm-embed.mm-embed--ferme .mm-embed__accroche {
  font-size: 1rem;
  margin-bottom: 4px;
}

.mm-embed.mm-embed--ferme .mm-embed__sous-titre {
  margin-bottom: 0;
  font-size: 0.88rem;
}

/* Zone de jeu : masquée tant que le lecteur n'a pas lancé de partie.
   L'intro disparaît aussi en fin de partie, sinon « Jouer une partie » reste
   affiché au-dessus du résultat, juste à côté de « Rejouer une partie ». */
.mm-embed__jeu {
  display: none;
}

.mm-embed.mm-embed--joue .mm-embed__intro, .mm-embed.mm-embed--fini .mm-embed__intro {
  display: none;
}

.mm-embed.mm-embed--joue .mm-embed__jeu {
  display: block;
}

/* Panneau de résultat : remplace le jeu dans le bloc plutôt que d'ouvrir une
   modale plein écran, qui couperait la lecture de l'article. */
.mm-embed__fin {
  display: none;
}

.mm-embed.mm-embed--fini .mm-embed__jeu {
  display: none;
}

.mm-embed.mm-embed--fini .mm-embed__fin {
  display: block;
}

.mm-embed__fin-titre {
  font-size: 1.4rem;
  font-weight: 800;
  margin: 0 0 10px;
}

.mm-embed__fin-titre .win {
  color: #4ade80;
}

.mm-embed__fin-titre .lose {
  color: #f87171;
}

.mm-embed__secret {
  display: flex;
  justify-content: center;
  gap: 6px;
  margin-bottom: 12px;
}

.mm-embed__secret .pion {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  border: 2px solid var(--line-forte, #39404a);
}

.mm-embed__fin-message {
  color: var(--texte-doux, #98a1ad);
  font-size: 0.92rem;
  margin: 0 0 16px;
}

.mm-embed__portes {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
  margin-bottom: 12px;
}

/* Sélecteurs volontairement montés en spécificité : dans un article, la règle
   `.article-card a` (0,2,0) d'article.css impose sa couleur et son soulignement
   à tout lien. `a.mm-embed__porte` sous `.mm-embed` passe devant. */
.mm-embed a.mm-embed__porte, .mm-embed a.mm-embed__porte:hover, .mm-embed a.mm-embed__porte:visited, .mm-embed .mm-embed__porte {
  font-family: 'Inter', sans-serif;
  font-size: 0.88rem;
  font-weight: 700;
  padding: 10px 20px;
  border: 1px solid transparent;
  border-radius: 6px;
  cursor: pointer;
  color: #fff;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  transition: background-color 0.15s, border-color 0.15s;
}

/* Une seule porte en aplat plein : les deux autres sont bordées, pour que le
   lecteur voie tout de suite laquelle est l'action principale. */
.mm-embed .mm-embed__porte--principal {
  background: var(--color-btn1, #e11d48);
  border-color: var(--color-btn1, #e11d48);
}

.mm-embed .mm-embed__porte--principal:hover {
  background: color-mix(in srgb, #fff 10%, var(--color-btn1, #e11d48));
}

.mm-embed .mm-embed__porte--multi, .mm-embed .mm-embed__porte--defi {
  background: transparent;
  border-color: var(--line-forte, #39404a);
  color: var(--texte, #dde2e8);
}

.mm-embed .mm-embed__porte--multi:hover, .mm-embed .mm-embed__porte--defi:hover {
  background: var(--surface-1, #16191f);
  border-color: var(--color-light, #fda4af);
}

.mm-embed__secondaires {
  display: flex;
  gap: 16px;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}

.mm-embed .mm-embed__lien, .mm-embed a.mm-embed__lien, .mm-embed a.mm-embed__lien:visited {
  background: none;
  border: none;
  padding: 0;
  font-family: 'Inter', sans-serif;
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--color-light, #fda4af);
  cursor: pointer;
  text-decoration: underline;
}

.mm-embed .mm-embed__lien:hover, .mm-embed a.mm-embed__lien:hover {
  color: #fff;
}

.mm-embed .mm-embed__lien[hidden] {
  display: none;
}

@media (max-width: 480px) {

  .mm-embed {
    padding: 18px 12px;
    min-height: 300px;
  }

  .mm-embed__accroche {
    font-size: 1.1rem;
  }

  .mm-embed__portes {
    flex-direction: column;
  }

  .mm-embed__porte {
    width: 100%;
    justify-content: center;
  }
}
