.echo{background:var(--panel);border:1px solid var(--border);grid-template-columns:repeat(2,72px);grid-auto-rows:72px;gap:8px;padding:8px;display:grid}.gcard.fs .echo{grid-template-columns:repeat(2,min(24vmin,160px));grid-auto-rows:min(24vmin,160px)}.echo-pad{border:1px solid var(--grid);cursor:pointer;opacity:.4;padding:0;transition:opacity 80ms steps(2,end),box-shadow 80ms steps(2,end)}.echo-pad.lit{opacity:1;box-shadow:3px 3px 0 var(--ink)}.echo-pad:focus-visible{outline:2px solid var(--pink);outline-offset:2px}.echo-status{font-family:var(--font-ui);color:var(--sub);letter-spacing:.06em;text-align:center;min-height:1em;font-size:.62rem}@media (prefers-reduced-motion:reduce){.echo-pad{transition:none}}.mem{background:var(--panel);border:1px solid var(--border);grid-template-columns:repeat(4,52px);grid-auto-rows:52px;gap:6px;padding:6px;display:grid}.gcard.fs .mem{grid-template-columns:repeat(4,min(13vmin,96px));grid-auto-rows:min(13vmin,96px)}.mem-card{border:1px solid var(--grid);background:var(--base);cursor:pointer;place-items:center;padding:0;display:grid}.mem-card:focus-visible{outline:2px solid var(--pink);outline-offset:1px}.mem-card .spr{width:26px;height:auto;display:none}.gcard.fs .mem-card .spr{width:48px}.mem-back{font-family:var(--font-display);color:var(--border);font-size:.7rem}.mem-card.flipped .spr,.mem-card.matched .spr{display:block}.mem-card.flipped .mem-back,.mem-card.matched .mem-back{display:none}.mem-card.matched{border-color:var(--green);opacity:.7;cursor:default}.mem-status{font-family:var(--font-ui);color:var(--sub);letter-spacing:.06em;text-align:center;min-height:1em;font-size:.62rem}.lo{background:var(--panel);border:1px solid var(--border);grid-template-columns:repeat(5,40px);grid-auto-rows:40px;gap:5px;padding:6px;display:grid}.gcard.fs .lo{grid-template-columns:repeat(5,min(11vmin,76px));grid-auto-rows:min(11vmin,76px)}.lo-cell{border:1px solid var(--grid);background:var(--base);cursor:pointer;padding:0;transition:background 60ms steps(2,end)}.lo-cell.lit{background:var(--pink);border-color:var(--pink-dark);box-shadow:2px 2px 0 var(--ink)}.lo-cell:focus-visible{outline:2px solid var(--pink);outline-offset:1px}.lo-status{font-family:var(--font-ui);color:var(--sub);letter-spacing:.06em;text-align:center;min-height:1em;font-size:.62rem}@media (prefers-reduced-motion:reduce){.lo-cell{transition:none}}
