/* Memory: Karten mit Umdreh-Effekt. Vorder- und Rückseite sind Olives Kartengrafiken
   (karten/card-hinten.png, karten/card-offen.png), das Motiv liegt auf der offenen Karte.
   Grundoptik aus _shared/spiele.css + spiele-modern.css. */
.mm-board{display:grid;gap:8px;perspective:900px}
.cs-root .mm-card,
.cs-root.cs-modern .mm-board .mm-card{aspect-ratio:2/3;padding:0;min-width:0;min-height:0;border:0;border-radius:0;background:none;box-shadow:none;cursor:pointer}
.mm-inner{position:relative;display:block;width:100%;height:100%;transition:transform .45s cubic-bezier(.3,.8,.4,1);transform-style:preserve-3d}
.mm-card.mm-open .mm-inner{transform:rotateY(180deg)}
.mm-back,.mm-front{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;background-repeat:no-repeat}
.mm-back{background-position:center;background-size:100% 100%}
/* Zwei Ebenen: oben das Motiv, darunter die offene Karte als Rahmen. */
.mm-front{transform:rotateY(180deg);background-position:center 47%,center;background-size:58% auto,100% 100%}
.cs-root .mm-card.mm-found{cursor:default}
.mm-card.mm-found{filter:drop-shadow(0 0 4px rgba(200,171,106,.75))}
.cs-root .mm-card:focus-visible{outline:2px solid #c8ab6a;outline-offset:3px}
@media (prefers-reduced-motion: reduce){.mm-inner{transition:none}}
