Les différentes interactions avec les éléments que vous pourrez trouver à travers les pièces peuvent très bien se faire avec la même technique que précédemment, des checkbox.
Ce qui va nous interesser ici est un cas particulier, .girl, ou l'auteur l'auteur a préféré choisir une solution moins couteuse en nombre de lignes : le pseudo-selecteur focus.
[Description et lien vers plus d'explications sur focus]
La pseudo-classe :focus permet de cibler un élément lorsque celui-ci reçoit le focus (soit il est sélectionné à l'aide du clavier, soit il est activé avec la souris comme par exemple le champ d'un formulaire). Pour une description complète et des exemples, je vous conseille la page correspondante du MDN.
Pour ce qui est des textes, vous pouvez remarquer que les bulles sont faites grâce aux pseudo-éléments before et after. Notez au passage qu'il est possible de passer le contenu d'un attribut HTML de votre élément a ces pseudo-elements grace à attr().
Note: saviez-vous que les attributs sont censés pouvoir être utilisé dans bien d'autres cas ? La spécification prévoit de pouvoir les utiliser comme n'importe quelle donnée chiffrée ou couleur par exemple !
Malheureusement les grands navigateurs n'ont pas suivi, ce qui fait que cette spécification n'est actuellement implémentée nulle part. Je vous laisse la page attr() du MDN où vous pourrez retrouver une documentation en français, un descriptif du support navigateur (indice : personne ne le supporte) et la spécification complète.