/* Space School — Memory Match */
.ssa.is-mode .ssa-answers.t-mode{display:block}
.mm{position:relative;padding:12px;border-radius:24px;background:radial-gradient(60% 50% at 20% 0%,rgba(168,85,247,.35),transparent 70%),linear-gradient(180deg,#1e1b4b,#0b1240)}
.mm-sign{max-width:700px;margin:0 auto 12px;padding:10px 16px;border-radius:16px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:#fff;text-align:center}
.mm-sign small{display:block;color:#c4b5fd;font:800 12px "Nunito Sans",sans-serif;text-transform:uppercase;letter-spacing:.4px}
.mm-sign b{display:block;margin-top:2px;font:700 clamp(18px,2.2vw,24px)/1.25 Fredoka,sans-serif}
.mm-img{display:block;max-height:100px;margin:8px auto 0;border-radius:12px}
.mm-grid{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:12px;max-width:820px;margin:0 auto}
.mm-c{position:relative;height:clamp(104px,11vw,130px);padding:0;border:0;background:none;cursor:pointer;perspective:800px;animation:mmin .4s cubic-bezier(.2,1.4,.4,1) both;animation-delay:calc(var(--d) * 40ms)}
@keyframes mmin{from{opacity:0;transform:scale(.8)}}
.mm-in{position:absolute;inset:0;transition:transform .45s cubic-bezier(.3,.9,.4,1);transform-style:preserve-3d}
.mm-c.is-open .mm-in,.mm-c.is-pair .mm-in{transform:rotateY(180deg)}
.mm-back,.mm-face{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:8px;border-radius:16px;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.mm-back{background:radial-gradient(circle at 30% 30%,#4c1d95,#1e1b4b);box-shadow:inset 0 0 0 3px rgba(167,139,250,.6),0 6px 0 rgba(0,0,0,.3);font-size:34px}
.mm-back::after{content:"";position:absolute;inset:10px;border-radius:10px;border:2px dashed rgba(196,181,253,.35)}
.mm-face{transform:rotateY(180deg);background:#fff;color:#1b2340;box-shadow:0 6px 0 rgba(0,0,0,.2)}
.mm-face small{color:#7c3aed;font:800 10px "Nunito Sans",sans-serif;text-transform:uppercase}
.mm-face b{font:800 clamp(13px,1.3vw,16px)/1.2 "Nunito Sans",sans-serif;text-align:center;overflow-wrap:anywhere}
.mm-face em{font-style:normal;font-size:11px;font-weight:800;color:#16a34a}
.mm-c.is-pair .mm-face{box-shadow:inset 0 0 0 4px var(--pc),0 6px 0 rgba(0,0,0,.2),0 0 18px var(--pc)}
.mm-c.is-right .mm-face{box-shadow:inset 0 0 0 4px #22c55e,0 0 22px rgba(34,197,94,.7)}
.mm-c.is-wrong .mm-face{box-shadow:inset 0 0 0 4px #ef4444;animation:mmno .45s}
@keyframes mmno{25%,75%{transform:rotateY(180deg) translateX(-6px)}50%{transform:rotateY(180deg) translateX(6px)}}
.mm-c.is-lockd .mm-face{box-shadow:inset 0 0 0 4px #22c55e}
.mm.is-win::after,.mm.is-lose::after,.mm.is-part::after{content:"";position:absolute;inset:0;z-index:6;pointer-events:none;border-radius:24px;animation:mmflash .9s ease-out forwards}
.mm.is-win::after{box-shadow:inset 0 0 0 6px #4ade80}.mm.is-lose::after{box-shadow:inset 0 0 0 6px #f87171}.mm.is-part::after{box-shadow:inset 0 0 0 6px #f59e0b}
@keyframes mmflash{to{opacity:0}}
@media (max-width:640px){.mm-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------- themes ---------- */
.mm.th-papyrus{background:linear-gradient(180deg,#78350f,#451a03)}
.th-papyrus .mm-back{background:repeating-linear-gradient(90deg,#fde68a 0 6px,#fcd34d 6px 8px),#fde68a;box-shadow:inset 0 0 0 3px #b45309,0 6px 0 rgba(0,0,0,.3)}
.th-papyrus .mm-back::after{border:2px solid rgba(146,64,14,.55)} /* the word/meaning icon on the back stays: it tells the child what to look for */
.th-papyrus .mm-face{background:#fffbeb}.th-papyrus .mm-sign{color:#fde68a}
.mm.th-pixel{background:#0f172a;image-rendering:pixelated}
.th-pixel .mm-back{background:conic-gradient(#22c55e 25%,#16a34a 0 50%,#22c55e 0 75%,#16a34a 0) 0 0/16px 16px;border-radius:4px;box-shadow:inset 0 0 0 4px #052e16,0 6px 0 #000}
.th-pixel .mm-back::after{border:2px solid #052e16;border-radius:2px}
.th-pixel .mm-face{border-radius:4px;font-family:ui-monospace,Menlo,Consolas,monospace;box-shadow:inset 0 0 0 4px #1e293b}
.th-pixel .mm-sign{font-family:ui-monospace,Menlo,Consolas,monospace;border-radius:4px}
.mm.th-science{background:linear-gradient(#e0f2fe 1px,transparent 1px) 0 0/28px 28px,linear-gradient(90deg,#e0f2fe 1px,transparent 1px) 0 0/28px 28px,#f8fafc}
.th-science .mm-back{background:radial-gradient(circle at 30% 30%,#38bdf8,#0369a1);box-shadow:inset 0 0 0 3px #bae6fd,0 6px 0 rgba(0,0,0,.2)}
.th-science .mm-back::after{border-color:rgba(255,255,255,.55)}
.th-science .mm-sign{background:#fff;color:#0c4a6e;border-color:#7dd3fc}
.th-science .mm-sign b{color:#0c4a6e}.th-papyrus .mm-sign b{color:#fef3c7}
