Two skills, one loop
Seat memory — after each seat has thrown a stack of tiles, you must say which seat threw each one. The trainee tags every tile to its seat (A, B, C, or D — one of them is you) and gets scored tile by tile. This is the raw memory that lets you later tell which suit is dead and which opponent is dangerous.
Table reading — then the harder part: from what an opponent discarded, infer what they are most likely holding, and why they threw what they threw. Players keep the tiles they collect and dump the rest, so a seat that never throws Craks is probably sitting on them.
Deal speed — set how fast the tiles appear. Faster deals train observation and reaction; slower lets you study. Either way, the memory test hides the seat tags so you have to recall. You can also switch the memory test to Grid (tag every tile at once, then score) and turn on Adaptive difficulty, which scales the discards and Jokers up or down from your last seat-memory score.