/* Mobile-safe memory tiles: explicit geometry, no hidden 3D backfaces. */
@media (max-width:760px), (hover:none), (pointer:coarse) {
 .game-overlay:has(.memory-stage-panel){padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));overflow:auto;align-items:center}
 .game-modal:has(.memory-stage-panel){max-height:calc(100vh - 28px);max-height:calc(100dvh - max(8px,env(safe-area-inset-top)) - max(8px,env(safe-area-inset-bottom)));min-height:0;-webkit-overflow-scrolling:touch;overflow-y:auto;overscroll-behavior:contain}
 .game-modal:has(.memory-stage-panel) .game-body{min-width:0;overflow:visible}
 .memory-grid{display:grid;perspective:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
 .memory-card,.memory-card.visible,.memory-card:hover:not(.visible){display:block;width:100%;height:clamp(78px,24vw,156px);min-height:78px;min-width:0;aspect-ratio:1/1;position:relative;transform:none!important;transform-style:flat;-webkit-transform-style:flat;overflow:hidden;background:#cdecb0;border:1px solid #9ac7a3;border-radius:12px;touch-action:manipulation;-webkit-appearance:none;appearance:none;padding:0;box-shadow:0 3px 8px #173c3420;transition:box-shadow .15s ease}
 .memory-card>span{position:absolute;inset:0;transform:none!important;-webkit-backface-visibility:visible;backface-visibility:visible;border-radius:11px;pointer-events:none}
 .memory-card .card-back{display:grid;opacity:1;visibility:visible;z-index:1}
 .memory-card .card-face{display:block;opacity:0;visibility:hidden;z-index:2;transform:none!important;transition:opacity .16s ease}
 .memory-card.visible .card-back{opacity:0;visibility:hidden}
 .memory-card.visible .card-face{opacity:1;visibility:visible}
 .memory-card .card-face img{display:block;width:100%;height:100%;object-fit:cover}
 .memory-card:active{box-shadow:inset 0 0 0 3px #397b59}
 .memory-card:focus-visible{outline:3px solid #2d795a;outline-offset:2px}
 .memory-card.done{border-color:#4aa476;box-shadow:0 0 0 2px #78c69166}
}
@media (orientation:landscape) and (max-height:600px) {
 .memory-grid{grid-template-columns:repeat(4,minmax(0,1fr));--memory-columns:4!important}
 .memory-card{height:clamp(78px,18vh,112px)}
 .memory-stage-panel{gap:6px;margin-bottom:8px;padding:9px 12px}
}
@media(prefers-reduced-motion:reduce){.memory-card,.memory-card .card-face{transition:none!important}}
