.mm{max-width:1000px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:clamp(20px,3vw,40px);align-items:start}.mm-play{min-width:0}.mm-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(7px,1.1vw,12px);width:100%;max-width:clamp(300px,calc(100vh - 340px),560px);margin:0 auto}.mm-board.is-hard{grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(5px,.8vw,9px);max-width:clamp(320px,calc((100vh - 340px) * 1.2),680px)}.mm-card{position:relative;display:block;aspect-ratio:1;min-width:0;border:0;padding:0;margin:0;background:none;cursor:pointer;perspective:900px;container-type:inline-size;font:inherit;color:inherit;-webkit-tap-highlight-color:#fff0;touch-action:manipulation}.mm-card:disabled{cursor:default}.mm-card__in{position:absolute;inset:0;transform-style:preserve-3d;transition:transform .5s var(--ease-spring)}.mm-card.is-up .mm-card__in{transform:rotateY(180deg)}.mm-card:not(.is-up):not(:disabled):hover .mm-card__in{transform:translateY(-4px) rotateY(10deg)}.mm-card:not(.is-up):not(:disabled):active .mm-card__in{transform:scale(.95)}.mm-card:focus-visible{outline:none}.mm-card:focus-visible .mm-card__back,.mm-card:focus-visible .mm-card__front{box-shadow:0 0 0 3px var(--color-ink)}.mm-card__back,.mm-card__front{position:absolute;inset:0;display:grid;place-items:center;border-radius:14px;border-radius:13cqi;-webkit-backface-visibility:hidden;backface-visibility:hidden}.mm-card__back{background:var(--color-brand) repeating-linear-gradient(45deg,rgb(255 255 255 / .13) 0 6px,transparent 6px 12px);box-shadow:inset 0 0 0 3px rgb(255 255 255 / .16),0 2px 6px rgb(14 14 15 / .14)}.mm-card__back::after{content:'';width:34%;aspect-ratio:1;border-radius:50%;border:2px solid rgb(255 255 255 / .55);box-shadow:0 0 0 5px rgb(255 255 255 / .12)}.mm-card__front{transform:rotateY(180deg);background:var(--g-key);box-shadow:var(--g-key-shadow),inset 0 0 0 1px var(--g-key-line);font-size:clamp(22px,6vw,54px);font-size:52cqi;line-height:1;user-select:none}.mm-board.is-hard .mm-card__front{font-size:clamp(18px,5vw,44px);font-size:54cqi}.mm-card.is-matched{animation:mm-match .7s var(--ease-spring)}.mm-card.is-matched .mm-card__front{background:linear-gradient(rgb(31 157 107 / .16),rgb(31 157 107 / .16)),var(--g-key);box-shadow:inset 0 0 0 2px var(--lx-green);animation:mm-glow 1.1s var(--ease)}.mm-card.is-miss{animation:lx-shake .4s}.mm-board.is-won .mm-card{animation:g-hop .6s var(--ease-spring) both;animation-delay:calc(var(--i,0) * 22ms)}.mm-practice{display:flex;justify-content:space-between;align-items:center;gap:8px 12px;flex-wrap:wrap;max-width:680px;margin:0 auto 14px;padding:10px 14px;border-radius:14px;background:var(--color-brand-soft);color:var(--color-brand);font-size:10px;font-weight:800;letter-spacing:.14em;animation:g-rise .35s var(--ease) both}.mm-practice button{border:0;padding:0;background:none;color:inherit;font:800 13px/1.2 var(--font-sans);letter-spacing:0;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.mm-panel{display:flex;flex-direction:column;gap:14px;min-width:0}.mm-levels{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border-radius:999px;background:var(--g-key);box-shadow:var(--g-key-shadow)}.mm-level{min-height:42px;border:0;border-radius:999px;background:#fff0;color:var(--color-text-soft);font:700 14px/1 var(--font-sans);cursor:pointer;transition:background var(--t-fast) var(--ease),color var(--t-fast) var(--ease),transform .2s var(--ease-spring)}.mm-level small{font-size:11px;font-weight:600;opacity:.75}.mm-level:hover{color:var(--color-ink)}.mm-level:active{transform:scale(.96)}.mm-level.is-active{background:var(--color-ink);color:var(--color-bg)}.mm-level.is-done::after{content:' ✓';color:var(--lx-green)}.mm-theme{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:18px;background:var(--g-key);box-shadow:var(--g-key-shadow)}.mm-theme .pg-label{margin:0 0 3px}.mm-theme strong{display:block;font-size:19px;font-weight:900;line-height:1.15;color:var(--color-ink)}.mm-theme__icon{flex:0 0 54px;height:54px;border-radius:16px;display:grid;place-items:center;font-size:30px;line-height:1;background:var(--color-bg-soft);animation:g-wiggle .8s var(--ease) .5s both}.mm.is-practice .mm-theme{box-shadow:inset 0 0 0 2px var(--color-brand)}.mm-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;text-align:center}.mm-meta>div{padding:12px 4px 10px;border-radius:14px;background:var(--g-key);box-shadow:var(--g-key-shadow)}.mm-meta strong{display:block;font-size:23px;font-weight:900;line-height:1.1;color:var(--color-ink);font-variant-numeric:tabular-nums}.mm-meta span{display:block;margin-top:4px;font-size:9px;font-weight:700;letter-spacing:.12em;color:var(--color-text-muted)}.mm-stars{display:flex;justify-content:center;gap:6px;margin:2px 0 0;font-size:34px;line-height:1}.mm-stars i{font-style:normal;color:#f2b705;text-shadow:0 2px 0 rgb(178 125 0 / .2);transition:color .35s var(--ease),text-shadow .35s var(--ease)}.mm-stars i.is-off{color:var(--color-border-strong);text-shadow:none}.mm-stars i.is-drop{animation:mm-drop .55s var(--ease)}.mm-hint{margin:0;min-height:2.9em;text-align:center;font-size:13px;line-height:1.45;color:var(--color-text-soft)}.mm-panel .pg-btn--block{margin-top:2px}.mm-res-hard{margin-top:8px}@keyframes mm-match{0%{transform:scale(1)}35%{transform:scale(1.12)}100%{transform:scale(1)}}@keyframes mm-glow{0%{box-shadow:inset 0 0 0 2px var(--lx-green),0 0 0 0 rgb(31 157 107 / .45)}40%{box-shadow:inset 0 0 0 2px var(--lx-green),0 0 0 8px #fff0}100%{box-shadow:inset 0 0 0 2px var(--lx-green)}}@keyframes mm-drop{30%{transform:translateY(-7px) scale(1.25)}100%{transform:none}}@media (max-width:760px){.mm{grid-template-columns:1fr;gap:12px}.mm-panel{display:contents}.mm-theme{order:1;padding:10px 12px;gap:12px}.mm-theme__icon{flex-basis:42px;height:42px;font-size:24px;border-radius:12px}.mm-theme strong{font-size:17px}.mm-levels{order:2}.mm-meta{order:3}.mm-meta>div{padding:9px 4px 8px}.mm-meta strong{font-size:19px}.mm-play{order:4;margin-top:4px}.mm-stars{order:5;font-size:28px}.mm-hint{order:6;min-height:0}.mm-panel .pg-btn--block{order:7}.mm-board,.mm-board.is-hard{max-width:none}.mm-card__back,.mm-card__front{border-radius:10px}}