Segue abaixo o meu código final do curso, com o desafio solucionado. A parte obrigatória do desafio foi fácil de resolver, inclusive já tinha feito antes mesmo de saber que seria um desafio, pois pensei "e se eu quiser adicionar mais alguma coisa aqui?". Em relação aos opcionais, confesso que deu bastante trabalho, foram 3 dias quebrando a cabeça e com muita ajuda do chatgpt, mas no final deu certo.
https://drive.google.com/file/d/1w7c6TSLG8NeHAP0YxF5DODDK0VuGOKNJ/view?usp=sharing Fiz um vídeo passando por todo código já que não coube todos os caracteres do código aqui.