.mm-board{display:grid;gap:10px;margin:0 auto;max-width:560px}
.mm-card{position:relative;aspect-ratio:1/1;padding:0;border:0;background:none;perspective:700px;border-radius:14px}
.mm-inner{position:absolute;inset:0;transform-style:preserve-3d;transition:transform .35s cubic-bezier(.2,.8,.2,1);border-radius:14px}
.mm-card.flipped .mm-inner,.mm-card.matched .mm-inner{transform:rotateY(180deg)}
.mm-face{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;border-radius:14px;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.mm-back{background:linear-gradient(135deg,#FF4500,#FF8717);box-shadow:inset 0 0 0 3px rgba(255,255,255,.35)}
.mm-back::after{content:'F';font-weight:800;font-size:clamp(20px,5vw,32px);color:rgba(255,255,255,.9)}
.mm-front{transform:rotateY(180deg);background:#fff;box-shadow:inset 0 0 0 2px var(--border);font-size:clamp(28px,8vw,48px)}
.mm-card.matched .mm-front{background:#E4F4EC;box-shadow:inset 0 0 0 3px var(--good)}
.mm-card:hover:not(.flipped):not(.matched) .mm-inner{transform:translateY(-3px)}
.mm-card:disabled{cursor:default}
.mm-win{margin:18px auto 0;max-width:560px;padding:18px 20px;border-radius:14px;background:var(--accent-soft);text-align:center}
.mm-win[hidden]{display:none}
.mm-win h3{margin:0 0 4px;font-size:22px;font-weight:800}
.mm-win p{margin:0 0 12px;color:var(--muted)}
