.plateau-jeu { flex: 1; min-height: 0; display: flex; flex-direction: column; }
.gm-pj .rond { width: 14px; height: 14px; border-radius: 50%; flex: 0 0 auto; }
.gm-pj.j1 .rond { background: #1877f2; }
.gm-pj.j2 .rond { background: #e8590c; }
.mm-corps { flex: 1; min-height: 0; display: flex; flex-direction: column; gap: 8px; padding: 8px; }
@media (min-aspect-ratio: 5/4) { .mm-corps { flex-direction: row; } .mm-cote { width: 240px; flex: 0 0 auto; } }
.mm-grille-cadre { position: relative; flex: 1; min-height: 0; container-type: size; display: flex; align-items: center; justify-content: center; }
.mm-grille, .mm-traits { width: min(100cqw, 100cqh); aspect-ratio: 1; }
@supports not (width: 1cqw) { .mm-grille, .mm-traits { width: min(94vw, 60vh); } }
.mm-grille {
    display: grid; background: var(--g-carte); border-radius: 14px; box-shadow: 0 4px 18px rgba(0, 0, 0, .12);
    touch-action: none; padding: 0; overflow: hidden; position: relative; z-index: 1;
}
.mm-traits { position: absolute; z-index: 2; pointer-events: none; }
.mm-traits line { stroke-width: .72; stroke-linecap: round; opacity: .28; }
.mm-traits line.j1 { stroke: #1877f2; }
.mm-traits line.j2 { stroke: #e8590c; }
.mm-case {
    display: flex; align-items: center; justify-content: center; font-weight: 800; cursor: pointer;
    font-size: min(5.4cqw, 5.4cqh); color: var(--g-texte); border-radius: 30%; transition: background .1s;
}
@supports not (width: 1cqw) { .mm-case { font-size: 18px; } }
.mm-case.trouve.j1 { color: #1877f2; }
.mm-case.trouve.j2 { color: #e8590c; }
.mm-case.choix { background: #facc15; color: #111; transform: scale(1.06); }
.mm-cote { display: flex; flex-direction: column; gap: 6px; min-height: 0; }
.mm-theme { margin: 0; font-weight: 700; font-size: 14px; text-align: center; }
.mm-theme i { color: var(--g-accent); }
.mm-liste { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; justify-content: center; overflow-y: auto; }
.mm-liste li { padding: 4px 10px; border-radius: 99px; background: var(--g-carte); font-size: 13px; font-weight: 700; letter-spacing: .03em; }
.mm-liste li.trouve { text-decoration: line-through; opacity: .75; color: #fff; }
.mm-liste li.trouve.j1 { background: #1877f2; }
.mm-liste li.trouve.j2 { background: #e8590c; }
