.mem-game{max-width:720px;margin-inline:auto}.mem-toolbar{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;justify-content:center;margin-bottom:1rem}.mem-toolbar-label{font-weight:700;margin:0;font-size:1.1rem}.mem-choices{display:flex;flex-wrap:wrap;gap:.6rem;align-items:stretch;justify-content:center}.mem-choice{margin:0;min-height:48px;padding:.5rem 1.25rem;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:.1rem;font-size:1.15rem;font-weight:800;line-height:1.15;background:var(--pico-card-background-color, #fff);color:var(--fgs-good, #15803d);border:3px solid var(--fgs-good, #15803d);border-radius:12px;cursor:pointer;transition:background-color .15s ease,box-shadow .15s ease}.mem-choice .mem-choice-sub{font-size:.85rem;font-weight:600;opacity:.85}.mem-choice:hover:not(.mem-choice-active){background:color-mix(in srgb,var(--fgs-good, #15803d) 12%,#fff)}.mem-choice.mem-choice-active{background:var(--fgs-good, #15803d);color:#fff;border-color:var(--fgs-good, #15803d);box-shadow:0 0 0 3px color-mix(in srgb,var(--fgs-good, #15803d) 35%,transparent)}.mem-choice.mem-choice-active .mem-choice-sub{opacity:.95}.mem-howto{text-align:center;font-size:1.15rem;font-weight:700;margin:0 auto .75rem;color:var(--pico-color, #1d2b36)}.mem-board{--mem-cols: 4;--mem-rows: 3;display:grid;grid-template-columns:repeat(var(--mem-cols),1fr);gap:.75rem;width:min(94vw,640px);margin:0 auto 1rem}.mem-card{position:relative;margin:0;padding:0;aspect-ratio:3 / 4;min-height:64px;display:grid;place-items:center;border:3px solid #1e3a8a;border-radius:12px;background:#1d4ed8;cursor:pointer;overflow:hidden;transition:transform .18s ease,background-color .18s ease,box-shadow .18s ease}.mem-card:hover:not(:disabled){transform:translateY(-2px)}.mem-down{font-size:clamp(1.6rem,7vw,2.6rem);font-weight:900;color:#fff;line-height:1;text-shadow:0 1px 2px rgba(0,0,0,.35)}.mem-face{position:absolute;inset:0;display:none;place-items:center;font-size:clamp(2rem,10vw,3.4rem);line-height:1}.mem-card.mem-up{background:color-mix(in srgb,#b45309 12%,#fff);border-color:#b45309;border-style:double;border-width:5px;box-shadow:inset 0 0 0 2px #b45309,0 0 0 4px color-mix(in srgb,#b45309 45%,transparent);z-index:2}.mem-card.mem-up .mem-down{display:none}.mem-card.mem-up .mem-face{display:grid}.mem-card.mem-matched{background:color-mix(in srgb,var(--fgs-good, #15803d) 14%,#fff);border:4px solid var(--fgs-good, #15803d);border-style:solid;box-shadow:none;cursor:default;opacity:1}.mem-card.mem-matched .mem-down{display:none}.mem-card.mem-matched .mem-face{display:grid}.mem-card.mem-matched:after{content:"✓";position:absolute;top:2px;right:6px;font-size:1.1rem;font-weight:900;color:var(--fgs-good, #15803d);line-height:1}.mem-card.mem-hinting{outline:4px solid #b45309;outline-offset:2px;animation:mem-pulse 1.1s ease-in-out infinite}@keyframes mem-pulse{0%,to{box-shadow:0 0 color-mix(in srgb,#b45309 55%,transparent)}50%{box-shadow:0 0 0 8px color-mix(in srgb,#b45309 0%,transparent)}}.mem-card:focus-visible{z-index:3}.mem-status{text-align:center;font-size:1.2rem;font-weight:700;min-height:2.5rem;padding:.5rem}.mem-meta{text-align:center;font-size:1.1rem;font-weight:700;margin-bottom:.75rem}.mem-meta .mem-moves{font-size:1.25rem}.mem-meta .mem-meta-note{font-weight:600;color:var(--pico-muted-color, #5c6b7a)}.mem-actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;margin-bottom:1rem}.mem-actions button{margin:0;font-size:1.15rem;font-weight:800;padding-inline:1.5rem}.mem-actions .mem-hint-btn{background:#b45309;border-color:#b45309;color:#fff}.mem-game.mem-solved .mem-board{outline:4px solid color-mix(in srgb,var(--fgs-good, #15803d) 45%,transparent);outline-offset:6px;border-radius:14px}[data-contrast=high] .mem-card{background:#fff;border:3px solid #000!important;color:#000}[data-contrast=high] .mem-down{color:#000;text-shadow:none}[data-contrast=high] .mem-card.mem-up{border:5px double #000!important;box-shadow:inset 0 0 0 2px #000}[data-contrast=high] .mem-card.mem-matched{background:#fff;border:4px solid #000!important}[data-contrast=high] .mem-card.mem-matched:after{color:#000}[data-contrast=high] .mem-card.mem-hinting{outline:4px solid #000}[data-contrast=high] .mem-actions .mem-hint-btn{background:#00339c;border-color:#00339c;color:#fff}[data-contrast=high] .mem-choice{background:#fff;color:#000;border:3px solid #000!important}[data-contrast=high] .mem-choice.mem-choice-active{background:#000;color:#fff;border-color:#000!important;box-shadow:0 0 0 3px #000}[data-contrast=high] .mem-card.mem-up{background:#fff;border:5px double #000!important;box-shadow:inset 0 0 0 2px #000,0 0 0 4px #000}[data-contrast=high] .mem-howto{color:#000}@media(prefers-reduced-motion:reduce){.mem-card{transition:none}.mem-card:hover:not(:disabled){transform:none}.mem-card.mem-hinting{animation:none;box-shadow:0 0 0 6px color-mix(in srgb,#b45309 40%,transparent)}}@media(min-width:1024px){.mem-board{width:min(100%,560px)}}
