Thank you very much for the kind words! :)
The numbers are weighted a little bit depending on which one has been generated before. So basically a total value is generated first that doesn't surpass what you could reach with all cards from 2-10 revealed. Then up to 50% (randomly) of that total is assigned to one of the three values (chosen randomly), then up to 50% of the rest to the second and then the rest to the third one.