I'm Portuguese: Both answers are correct but Duolingo teaches Brazilian Portuguese. Brazilian people often say "fantasia" while people from Portugal often use the word "traje". If duolingo only accepts "fantasia", it's an error.
I agree that there is something wrong here. As another test insisted that traje was a costume. That sounded weird to me, but also led me to write traje here. Would be good to have consistency.