.mm-quiz { --q-or: var(--wp--preset--color--dore); --q-sable: var(--wp--preset--color--accent); --q-carte: var(--wp--preset--color--brume); --q-trait: var(--wp--preset--color--trait); --q-olive: var(--wp--preset--color--olive); --q-gris: var(--wp--preset--color--gris); --q-texte: var(--wp--preset--color--blanc); --q-fond: var(--wp--preset--color--fond); --q-vert: var(--wp--preset--color--olive-clair); --q-ocre: var(--wp--preset--color--ocre); --w: #D3B16E; position: relative; max-width: 62rem; margin: 0 auto; color: var(--q-texte); }
.mm-quiz *, .mm-quiz *::before, .mm-quiz *::after { box-sizing: border-box; }
.mm-quiz h2, .mm-quiz h3, .mm-quiz h4, .mm-quiz p { margin: 0; }
.mm-quiz em { color: var(--q-sable); }
.mm-quiz [data-focus]:focus { outline: none; }
.mm-quiz .sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.mm-q-attente { color: var(--q-gris); margin: 1rem 0; }
.mm-q-intro { color: var(--q-gris); font-size: 1.0625rem; max-width: 42rem; margin: .6rem auto 1.4rem; }

/* Boutons */
.mm-q-btn { display: inline-flex; align-items: center; justify-content: center; gap: .4rem; min-height: 3rem; padding: .6rem 1.5rem; border-radius: 999px; border: 0; background: var(--q-or); color: #0A0C09; font: inherit; font-weight: 700; font-size: 1rem; text-decoration: none; cursor: pointer; box-shadow: 0 4px 0 #8a6a00; transition: transform .1s, box-shadow .1s, filter .15s; }
.mm-q-btn:hover { filter: brightness(1.08); }
.mm-q-btn:active { transform: translateY(3px); box-shadow: 0 1px 0 #8a6a00; }
.mm-q-btn.clair { background: transparent; color: var(--q-texte); border: 1.5px solid var(--q-olive); box-shadow: none; }
.mm-q-btn.clair:hover { background: rgba(211, 177, 110, .12); border-color: var(--q-sable); }
.mm-q-btn.clair:active { transform: none; }
.mm-q-btn:focus-visible, .mm-q-rep:focus-visible, .mm-q-lien:focus-visible, .mm-q-etape button:focus-visible, .mm-q-fermer:focus-visible { outline: 3px solid var(--q-texte); outline-offset: 3px; }
.mm-q-lien { background: none; border: 0; padding: .8rem .6rem; min-height: 2.75rem; color: var(--q-gris); font: inherit; font-size: .875rem; text-decoration: underline; cursor: pointer; }
.mm-q-carte { background: var(--q-carte); border: 1px solid var(--q-trait); border-radius: 20px; padding: 1.5rem; text-align: center; }
.mm-q-carte p { margin: .6rem 0 1rem; color: var(--q-gris); }

/* Étoiles */
.mm-q-etoiles { display: inline-flex; gap: .15rem; }
.etoile { width: 1.15rem; height: 1.15rem; fill: transparent; stroke: #4a4220; stroke-width: 1.6; stroke-linejoin: round; }
.etoile.pleine { fill: var(--q-or); stroke: #b88a00; }

/* Tableau de bord du joueur */
.mm-q-hud { display: grid; grid-template-columns: auto 1fr; gap: 1rem 1.1rem; align-items: center; padding: 1.1rem 1.2rem; margin-bottom: 1.6rem; border-radius: 22px; border: 1px solid var(--q-olive); background: radial-gradient(120% 140% at 0% 0%, #2b2410 0%, #17140a 60%, #0f0e08 100%); }
.mm-q-medaille { position: relative; width: 5.2rem; height: 5.2rem; border-radius: 50%; background: conic-gradient(var(--q-or) var(--p, 0deg), #2f2a16 0); display: grid; place-items: center; }
.mm-q-medaille > span { width: 4.1rem; height: 4.1rem; border-radius: 50%; background: #17140a; display: grid; place-items: center; }
.mm-q-medaille svg { width: 2.4rem; height: 2.4rem; fill: var(--q-or); }
.mm-q-medaille .oeil { fill: #17140a; }
.mm-q-hud-texte small, .mm-q-hud-chiffres small { color: var(--q-gris); font-size: .8125rem; display: block; }
.mm-q-hud-texte strong { display: block; font-family: var(--wp--preset--font-family--titre); font-weight: 500; font-size: 1.7rem; line-height: 1.1; color: var(--q-or); margin: .1rem 0 .4rem; }
.mm-q-xp { height: .6rem; border-radius: .3rem; background: #2f2a16; overflow: hidden; margin-bottom: .3rem; }
.mm-q-xp i { display: block; height: 100%; border-radius: .3rem; background: linear-gradient(90deg, var(--q-sable), var(--q-or)); transition: width .6s; }
.mm-q-hud-chiffres { grid-column: 1 / -1; display: flex; gap: 1.2rem; align-items: center; }
.mm-q-hud-chiffres b { font-family: var(--wp--preset--font-family--titre); font-weight: 500; font-size: 1.8rem; color: var(--q-texte); line-height: 1; }
.mm-q-hud > .mm-q-btn { grid-column: 1 / -1; justify-self: stretch; }
@media (min-width: 760px) {
	.mm-q-hud { grid-template-columns: auto 1fr auto auto; }
	.mm-q-hud-chiffres { grid-column: auto; }
	.mm-q-hud > .mm-q-btn { grid-column: auto; justify-self: end; }
}

/* Carte des niveaux */
.mm-q-monde-liste { display: grid; gap: 1.2rem; }
.mm-q-monde { position: relative; border-radius: 24px; padding: 1.2rem 1.1rem 1.4rem; border: 1px solid color-mix(in srgb, var(--w) 40%, #000); background: linear-gradient(160deg, color-mix(in srgb, var(--w) 20%, #0c0b07) 0%, #0f0e09 55%); overflow: hidden; }
.mm-q-monde::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 4px; background: var(--w); }
.mm-q-monde header { margin: .2rem .3rem 1rem; }
.mm-q-num { font-size: .75rem; letter-spacing: .14em; text-transform: uppercase; color: var(--w); }
.mm-q-monde h3 { font-family: var(--wp--preset--font-family--titre); font-weight: 500; font-size: 1.9rem; line-height: 1.1; }
.mm-q-monde header p { color: var(--q-gris); font-size: .9rem; margin-top: .25rem; }
.mm-q-monde.ferme { border-color: var(--q-trait); background: #0d0c08; }
.mm-q-monde.ferme::before { background: var(--q-trait); }
.mm-q-monde.ferme h3, .mm-q-monde.ferme .mm-q-num { color: #6f6b57; }
.mm-q-chemin { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.1rem .6rem; }
.mm-q-etape { position: relative; }
.mm-q-etape button { position: relative; display: flex; flex-direction: column; align-items: center; gap: .35rem; width: 100%; height: 100%; padding: .2rem .2rem .5rem; background: none; border: 0; border-radius: 18px; color: var(--q-texte); font: inherit; text-align: center; cursor: pointer; }
.mm-q-etape button:disabled { cursor: not-allowed; }
.mm-q-etape .disque { width: 4.4rem; height: 4.4rem; border-radius: 50%; display: grid; place-items: center; font-family: var(--wp--preset--font-family--titre); font-size: 1.9rem; font-weight: 600; color: #0A0C09; background: var(--w); border: 4px solid color-mix(in srgb, var(--w) 55%, #000); box-shadow: 0 5px 0 color-mix(in srgb, var(--w) 40%, #000), 0 10px 18px rgba(0, 0, 0, .45); transition: transform .12s, box-shadow .12s; }
.mm-q-etape .disque svg { width: 2rem; height: 2rem; stroke: #0A0C09; fill: none; }
.mm-q-etape button:hover:not(:disabled) .disque { transform: translateY(-3px); box-shadow: 0 8px 0 color-mix(in srgb, var(--w) 40%, #000), 0 14px 22px rgba(0, 0, 0, .5); }
.mm-q-etape button:active:not(:disabled) .disque { transform: translateY(3px); box-shadow: 0 2px 0 color-mix(in srgb, var(--w) 40%, #000); }
.mm-q-etape.fait .disque { background: var(--q-vert); border-color: #7d7640; box-shadow: 0 5px 0 #5d5830, 0 10px 18px rgba(0, 0, 0, .45); }
.mm-q-etape.ferme .disque { background: #26231a; border-color: #34301f; box-shadow: 0 5px 0 #14120b; color: #6f6b57; }
.mm-q-etape.ferme .cadenas { width: 1.7rem; height: 1.7rem; fill: #6f6b57; stroke: #6f6b57; stroke-width: 1.8; }
.mm-q-etape .nom { font-weight: 600; font-size: .9375rem; line-height: 1.25; }
.mm-q-etape.ferme .nom { color: #6f6b57; }
.mm-q-etape .meilleur { font-size: .8125rem; color: var(--q-vert); font-weight: 600; }
.mm-q-etape .stat { font-size: .75rem; color: var(--q-gris); line-height: 1.35; }
.mm-q-etape.ferme .stat { display: none; }
.mm-q-etape .pastille { position: absolute; top: -.55rem; left: 50%; transform: translateX(-50%); z-index: 2; padding: .15rem .65rem; border-radius: 999px; background: var(--q-texte); color: #0A0C09; font-size: .75rem; font-weight: 700; white-space: nowrap; animation: mm-q-flotte 1.4s ease-in-out infinite; }
.mm-q-etape.suivant .disque { animation: mm-q-pulse 1.6s ease-in-out infinite; }
@media (min-width: 760px) {
	.mm-q-chemin { grid-template-columns: repeat(4, 1fr); }
	.mm-q-etape:not(:last-child)::after { content: ""; position: absolute; top: 2.4rem; left: calc(50% + 2.8rem); right: calc(-50% + 2.8rem); height: 0; border-top: 4px dotted color-mix(in srgb, var(--w) 50%, #000); }
	.mm-q-monde.ferme .mm-q-etape::after { border-top-color: #26231a; }
	.mm-q-etape:nth-child(even) { margin-top: 1.4rem; }
	.mm-q-etape:nth-child(even)::after { top: 2.4rem; }
}
.mm-q-pied { margin: 2rem 0 0; text-align: center; }

/* Jeu : question */
.mm-q-jeu { max-width: 44rem; margin: 0 auto; padding-bottom: 1rem; }
.mm-q-haut { display: flex; align-items: center; gap: .8rem; }
.mm-q-fermer { flex: 0 0 auto; width: 2.4rem; height: 2.4rem; display: grid; place-items: center; padding: 0; border-radius: 50%; border: 0; background: #1f1c10; color: var(--q-gris); cursor: pointer; }
.mm-q-fermer svg { width: 1.2rem; height: 1.2rem; stroke: currentColor; }
.mm-q-segments { flex: 1; display: grid; grid-template-columns: repeat(20, 1fr); gap: 3px; height: .65rem; }
.mm-q-segments i { border-radius: 2px; background: #2f2a16; }
.mm-q-segments i.en-cours { background: var(--w); animation: mm-q-clignote 1.2s ease-in-out infinite; }
.mm-q-segments i.ok { background: var(--q-vert); }
.mm-q-segments i.non { background: var(--q-ocre); }
.mm-q-juste { flex: 0 0 auto; display: inline-flex; align-items: center; gap: .25rem; min-width: 3rem; justify-content: center; padding: .25rem .7rem; border-radius: 999px; background: #1f1c10; color: var(--q-vert); font-weight: 700; }
.mm-q-juste svg { width: 1rem; height: 1rem; stroke: var(--q-vert); }
.mm-q-juste.saute { animation: mm-q-saut .4s ease; }
.mm-q-theme { margin-top: 1.1rem; font-size: .8125rem; letter-spacing: .08em; text-transform: uppercase; color: var(--w); }
.mm-q-num { margin: .2rem 0 .5rem; color: var(--q-gris); font-size: .875rem; }
.mm-q-question { font-family: var(--wp--preset--font-family--titre); font-weight: 500; font-size: clamp(1.6rem, 5vw, 2.3rem); line-height: 1.15; margin: 0 0 1.3rem; }
.mm-q-choix { display: grid; gap: .7rem; }
.mm-q-rep { --c: var(--q-sable); display: flex; align-items: center; gap: .9rem; width: 100%; min-height: 3.6rem; padding: .7rem 1rem; text-align: left; font: inherit; font-size: 1.0625rem; line-height: 1.35; color: var(--q-texte); background: #15130a; border: 2px solid #2d2915; border-bottom-width: 5px; border-radius: 16px; cursor: pointer; transition: transform .1s, border-color .15s, background .15s; animation: mm-q-entree .35s both; }
.mm-q-rep.l0 { --c: #D3B16E; animation-delay: .00s; } .mm-q-rep.l1 { --c: #BBB26A; animation-delay: .05s; } .mm-q-rep.l2 { --c: #B0711A; animation-delay: .10s; } .mm-q-rep.l3 { --c: #CECFA4; animation-delay: .15s; }
.mm-q-rep .lettre { flex: 0 0 2.2rem; height: 2.2rem; display: grid; place-items: center; border-radius: 10px; background: var(--c); color: #0A0C09; font-weight: 800; }
.mm-q-rep:hover:not(:disabled) { border-color: var(--c); background: #1c190d; transform: translateY(-2px); }
.mm-q-rep:active:not(:disabled) { transform: translateY(2px); border-bottom-width: 3px; }
.mm-q-rep:disabled { cursor: default; opacity: .55; }
.mm-q-rep.juste { opacity: 1; border-color: var(--q-vert); background: rgba(187, 178, 106, .2); animation: mm-q-rebond .45s; }
.mm-q-rep.juste .lettre { background: var(--q-vert); }
.mm-q-rep.faux { opacity: 1; border-color: var(--q-ocre); background: rgba(176, 113, 26, .2); animation: mm-q-secoue .4s; }
.mm-q-rep.faux .lettre { background: var(--q-ocre); }
.mm-q-bandeau { position: sticky; bottom: 0; z-index: 5; display: none; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .8rem 1.2rem; margin: 1.2rem -.6rem 0; padding: 1rem 1.1rem calc(1rem + env(safe-area-inset-bottom)); border-radius: 20px 20px 0 0; background: #1a2210; border-top: 3px solid var(--q-vert); box-shadow: 0 -10px 24px rgba(0, 0, 0, .5); }
.mm-q-bandeau.visible { display: flex; animation: mm-q-monte .3s both; }
.mm-q-bandeau.non { background: #261a0a; border-top-color: var(--q-ocre); }
.mm-q-bandeau-texte { flex: 1 1 18rem; line-height: 1.5; }
.mm-q-bandeau-texte strong { font-size: 1.2rem; color: var(--q-or); }
.mm-q-bandeau-texte .serie { display: inline-block; margin-left: .4rem; padding: .05rem .6rem; border-radius: 999px; background: var(--q-or); color: #0A0C09; font-size: .8125rem; font-weight: 700; }
.mm-q-bandeau-texte p { margin-top: .25rem; color: #e6e3d6; }
.mm-q-bandeau .mm-q-btn { flex: 1 1 100%; }
@media (min-width: 640px) { .mm-q-bandeau { margin-inline: 0; border-radius: 20px; bottom: .8rem; border: 3px solid var(--q-vert); } .mm-q-bandeau.non { border-color: var(--q-ocre); } .mm-q-bandeau .mm-q-btn { flex: 0 0 auto; } }

/* Résultat */
.mm-q-resultat, .mm-q-classement { position: relative; max-width: 44rem; margin: 0 auto; text-align: center; }
.mm-q-resultat .mm-q-theme { margin: 0 0 1rem; }
.mm-q-anneau { position: relative; width: 11rem; height: 11rem; margin: 0 auto; }
.mm-q-anneau svg { width: 100%; height: 100%; transform: rotate(-90deg); }
.mm-q-anneau circle { fill: none; stroke-width: 10; stroke-linecap: round; }
.mm-q-anneau .fond { stroke: #2a2614; }
.mm-q-anneau .val { stroke: var(--q-or); transition: stroke-dashoffset 1.3s cubic-bezier(.2, .8, .2, 1); }
.mm-q-anneau .score { position: absolute; inset: 0; display: grid; place-content: center; font-family: var(--wp--preset--font-family--titre); font-size: 3.6rem; line-height: 1; color: var(--q-or); }
.mm-q-anneau .score span { font-size: 1rem; color: var(--q-gris); margin-top: .2rem; }
.mm-q-grandes-etoiles { display: flex; justify-content: center; gap: .5rem; margin: .8rem 0 .4rem; }
.mm-q-grandes-etoiles .etoile { width: 3rem; height: 3rem; }
.mm-q-grandes-etoiles span.pleine svg { animation: mm-q-etoile .6s both; }
.mm-q-grandes-etoiles .e1.pleine svg { animation-delay: .6s; } .mm-q-grandes-etoiles .e2.pleine svg { animation-delay: .9s; } .mm-q-grandes-etoiles .e3.pleine svg { animation-delay: 1.2s; }
.mm-q-grandes-etoiles span:not(.pleine) svg { opacity: .6; }
.mm-q-resultat h2 { font-size: clamp(1.7rem, 5vw, 2.3rem); margin: .4rem 0 .6rem; font-family: var(--wp--preset--font-family--titre); font-weight: 500; }
.mm-q-resultat > p { color: #c9c7bd; line-height: 1.6; max-width: 34rem; margin-inline: auto; }
.mm-q-gains { display: grid; gap: .6rem; margin: 1.2rem auto; max-width: 28rem; }
.mm-q-gain { padding: .7rem 1rem; border-radius: 16px; background: #1f1c0d; border: 1px solid var(--q-olive); animation: mm-q-entree .5s both; }
.mm-q-gain span { display: block; font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; color: var(--q-gris); }
.mm-q-gain strong { color: var(--q-or); font-size: 1.1rem; }
.mm-q-gain.debloque { background: #1d2610; border-color: var(--q-vert); }
.mm-q-gain.debloque strong { color: var(--q-vert); }
.mm-q-info { background: var(--q-carte); border-radius: 12px; padding: .7rem 1rem; display: inline-block; color: var(--q-texte); font-size: .9375rem; margin: .5rem 0; }
.mm-q-compare { max-width: 28rem; margin: 1.2rem auto; text-align: left; font-size: .8125rem; color: var(--q-gris); }
.mm-q-compare .ligne { display: flex; justify-content: space-between; gap: .6rem; }
.mm-q-compare b { color: var(--q-texte); font-weight: 500; }
.mm-q-compare .vous { color: var(--q-or); }
.mm-q-compare .rail { position: relative; height: .6rem; background: #2a2614; border-radius: .3rem; margin: .9rem 0 .5rem; }
.mm-q-compare .rail i { position: absolute; top: -.3rem; width: .25rem; height: 1.2rem; margin-left: -.125rem; border-radius: .15rem; }
.mm-q-compare .moy { background: var(--q-gris); }
.mm-q-compare .moi { background: var(--q-or); }
.mm-q-conseil { margin: 1.4rem 0; padding: 1.2rem; text-align: left; background: var(--wp--preset--color--dore-pale); border: 1px solid var(--q-olive); border-radius: 20px; }
.mm-q-conseil span { font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; color: var(--wp--preset--color--brun); }
.mm-q-conseil p { margin: .4rem 0 1rem; color: var(--q-texte); line-height: 1.55; }
.mm-q-erreurs { text-align: left; margin: 1rem 0; background: var(--q-carte); border: 1px solid var(--q-trait); border-radius: 14px; padding: .8rem 1rem; }
.mm-q-erreurs summary { cursor: pointer; font-weight: 600; }
.mm-q-e { border-top: 1px solid var(--q-trait); margin-top: .8rem; padding-top: .6rem; }
.mm-q-e p { margin: .2rem 0; }
.mm-q-e .exp { color: var(--q-gris); font-size: .9375rem; }
.mm-q-actions { display: flex; flex-wrap: wrap; gap: .7rem; justify-content: center; margin-top: 1.2rem; }
.mm-q-pseudo { margin: 1.2rem 0; padding: 1.3rem; text-align: center; background: var(--wp--preset--color--dore-pale); border: 2px solid var(--q-or); border-radius: 20px; }
.mm-q-pseudo > span { font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; color: var(--wp--preset--color--brun); }
.mm-q-pseudo h3 { font-family: var(--wp--preset--font-family--titre); font-weight: 500; font-size: 1.6rem; margin: .3rem 0 .5rem; }
.mm-q-pseudo p { color: #c9c7bd; }
.mm-q-pseudo input { display: block; width: 100%; max-width: 20rem; margin: .8rem auto .3rem; padding: .75rem 1rem; font: inherit; font-size: 1.125rem; text-align: center; color: var(--q-texte); background: var(--q-fond); border: 2px solid var(--wp--preset--color--sauge); border-radius: 12px; }
.mm-q-pseudo .aide { font-size: .8125rem; color: var(--q-gris); }
.mm-q-alerte { color: var(--wp--preset--color--jaune-pale); margin: .5rem 0; }
.mm-q-confettis { position: fixed; inset: 0; z-index: 50; pointer-events: none; overflow: hidden; }
.mm-q-confettis i { position: absolute; top: -1rem; width: .6rem; height: 1rem; border-radius: 2px; animation: mm-q-chute 2.4s linear both; }

/* Classement */
.mm-q-classement h2 { font-family: var(--wp--preset--font-family--titre); font-weight: 500; font-size: clamp(1.8rem, 5vw, 2.4rem); }
.mm-q-podium { display: flex; align-items: flex-end; justify-content: center; gap: .6rem; margin: 1.6rem 0 1.4rem; }
.mm-q-podium .marche { flex: 1 1 0; max-width: 11rem; display: flex; flex-direction: column; align-items: center; gap: .2rem; min-width: 0; }
.mm-q-podium .nom { font-weight: 700; font-size: .9375rem; overflow-wrap: anywhere; line-height: 1.2; }
.mm-q-podium .pts { color: var(--q-or); font-weight: 700; font-size: .875rem; }
.mm-q-podium .bloc { width: 100%; display: grid; place-items: start center; padding-top: .5rem; border-radius: 14px 14px 0 0; font-family: var(--wp--preset--font-family--titre); font-size: 2.2rem; color: #0A0C09; }
.mm-q-podium .m1 .bloc { height: 8rem; background: linear-gradient(#EFBB00, #b58a00); }
.mm-q-podium .m2 .bloc { height: 6rem; background: linear-gradient(#D3B16E, #8f7640); }
.mm-q-podium .m3 .bloc { height: 4.6rem; background: linear-gradient(#B0711A, #704a10); }
.mm-q-podium .moi .nom { color: var(--q-or); }
.mm-q-liste { list-style: none; margin: 1rem 0; padding: 0; text-align: left; border: 1px solid var(--q-trait); border-radius: 16px; overflow: hidden; background: var(--q-carte); }
.mm-q-liste li { display: grid; grid-template-columns: 2.2rem 1fr auto; gap: .1rem .8rem; align-items: center; padding: .7rem 1rem; border-top: 1px solid var(--q-trait); }
.mm-q-liste li:first-child { border-top: 0; }
.mm-q-liste .rang { font-family: var(--wp--preset--font-family--titre); font-size: 1.4rem; color: var(--q-gris); }
.mm-q-liste .nom { font-weight: 600; overflow-wrap: anywhere; }
.mm-q-liste .pts { color: var(--q-or); font-weight: 700; text-align: right; }
.mm-q-liste .reu { grid-column: 2 / 4; color: var(--q-gris); font-size: .8125rem; }
.mm-q-liste li.moi { background: var(--wp--preset--color--dore-pale); outline: 2px solid var(--q-or); outline-offset: -2px; }
@media (min-width: 640px) {
	.mm-q-liste li { grid-template-columns: 2.4rem 1fr auto 11rem; }
	.mm-q-liste .reu { grid-column: auto; text-align: right; }
}

/* Animations */
@keyframes mm-q-pulse { 0%, 100% { box-shadow: 0 5px 0 color-mix(in srgb, var(--w) 40%, #000), 0 0 0 0 color-mix(in srgb, var(--w) 70%, transparent), 0 10px 18px rgba(0, 0, 0, .45); } 50% { box-shadow: 0 5px 0 color-mix(in srgb, var(--w) 40%, #000), 0 0 0 .8rem color-mix(in srgb, var(--w) 0%, transparent), 0 10px 18px rgba(0, 0, 0, .45); } }
@keyframes mm-q-flotte { 0%, 100% { transform: translate(-50%, 0); } 50% { transform: translate(-50%, -4px); } }
@keyframes mm-q-clignote { 50% { opacity: .45; } }
@keyframes mm-q-entree { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
@keyframes mm-q-monte { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: none; } }
@keyframes mm-q-rebond { 0% { transform: scale(1); } 40% { transform: scale(1.03); } 100% { transform: scale(1); } }
@keyframes mm-q-secoue { 0%, 100% { transform: translateX(0); } 25% { transform: translateX(-6px); } 75% { transform: translateX(6px); } }
@keyframes mm-q-saut { 40% { transform: scale(1.3); } }
@keyframes mm-q-etoile { 0% { transform: scale(0) rotate(-40deg); opacity: 0; } 70% { transform: scale(1.3) rotate(8deg); opacity: 1; } 100% { transform: scale(1) rotate(0); opacity: 1; } }
@keyframes mm-q-chute { to { transform: translateY(110vh) rotate(720deg); opacity: .9; } }
@media (prefers-reduced-motion: reduce) {
	.mm-quiz *, .mm-quiz *::before, .mm-quiz *::after { animation: none !important; transition: none !important; }
}

/* Le guide (mascotte) fête le résultat : pouce levé à côté du score */
.mm-q-fete { display: flex; align-items: flex-end; justify-content: center; gap: .6rem; margin: .4rem 0 .2rem; }
.mm-q-fete-score { flex: 0 1 auto; min-width: 0; }
.mm-q-mascotte { display: block; width: 7.2rem; height: auto; flex: 0 0 auto; margin-bottom: .2rem; filter: drop-shadow(0 12px 18px rgba(0, 0, 0, .55)); animation: mm-q-entree .6s .3s both; }
.mm-q-fete .mm-q-anneau { width: min(11rem, 52vw); height: min(11rem, 52vw); }
@media (min-width: 640px) { .mm-q-fete { gap: 2rem; } .mm-q-mascotte { width: 11rem; } }

/* Téléphone : le bandeau de réponse reste collé au bas de l'écran, le bouton Continuer est toujours visible */
@media (max-width: 639px) {
	.mm-q-bandeau.visible { position: fixed; left: 0; right: 0; bottom: 0; margin: 0; max-height: 62vh; flex-direction: column; flex-wrap: nowrap; align-items: stretch; overflow: hidden; border-radius: 20px 20px 0 0; }
	.mm-q-bandeau-texte { flex: 1 1 auto; min-height: 0; overflow-y: auto; }
	.mm-q-bandeau .mm-q-btn { flex: 0 0 auto; }
	.mm-q-jeu.repondu { padding-bottom: 14rem; }
}
