A.O. Smith field-service software uses card-like lists to present diagnostic actions in a randomized order. Implement a function that returns a uniformly shuffled copy of the provided cards using the Fisher-Yates algorithm.
The shuffle must be deterministic for the same seed, must not modify the input list, and must preserve every card exactly once. Cards may be any JSON-compatible values, including strings or numbers.
Implement shuffle_cards(cards, seed), where cards is a list and seed is an integer. Return a new list containing the same elements in shuffled order. Initialize a local pseudorandom generator with seed; do not use or modify global random state.
def shuffle_cards(cards, seed):