Super idea and execution! I think it needs a few more iterations in a teaching environment to actually make it <i>effective</i> though.
I tried running this by someone with absolutely zero css or html experience.<p>- The instruction (e.g. 'Select the small apples') isn't noticeable enough.<p>- There needs to be a pause after you get an answer right, so you can work out <i>why</i> you got it right (otherwise you can bang away at random combinations until you get to the next step without any idea what worked).<p>- Similarly, when you try a wrong answer, there needs to be feedback as to <i>why</i>. E.g. if you try 'bento small plate', when the answer is 'bento #small plate', then there needs to be an explanation as to what you <i>didn't</i> do. This is not trivial to achieve!<p>- The instructions at the right hand side is visually noisy, and should be hidden until needed, or perhaps presented first (in a modal popup) to give the visitor a heads up as to what they are supposed to be adding to their knowledge.<p>- Because of the right hand instructions, it's not initially clear that the HTML code is at all part of 'the puzzle'.<p>You are 90% there, just the last 90% to make it a true gem of a teaching tool.