Took me a moment to figure out what was going on, since on my monitor the game was just big enough that I didn't happen to notice the clues at the bottom at first.
I think you might have a small "programmer's mental model" bug though. Took me failing a few times to realize that a clue like "The 1st digit is 5" actually means
digits[1] === "5"
and not actually "the first digit". think you forgot to map the index to "normal" person ranges in the clue string ;)