Implement a function to parse and clean messy data extracted from an external system.
Accept a list of CSV strings containing name,age,email. Trim whitespace, collapse spaces in names, title-case names, normalize emails to lowercase, convert valid ages to integers, discard malformed or invalid rows, and keep only the first record for each normalized email.
The function must return a list of dictionaries with keys name, age, and email, preserving the input order of retained records. A valid age is an integer from 0 through 120, and a valid email contains exactly one @ with nonempty parts on both sides.
def parse_and_clean(records):