One room per entry, no hidden overflow
The split uses a secure Fisher–Yates shuffle of participant identities and a randomized distribution of the balanced room sizes. Every input ID appears once, every room is nonempty, and no room exceeds the configured headcount. Duplicate names are kept because different people can share a name. A repeated email, compared without letter case, is rejected because one account cannot identify two separate participants in this export. This is a single draw; it does not balance skills, enforce together/apart rules or avoid partners from previous meetings.