I fixed `parseHexColor` in `src/parse-hex-color.mjs`, and `npm test` now passes.

**The bug:** 3-digit colours were expanded wrongly. `#abc` became `#abbccc` when it should be `#aabbcc`. The function now doubles each digit, as the contract requires. The validation, trimming and lowercasing were already correct, so I left them alone.

I also tried some extra inputs by hand: surrounding whitespace, `##abc`, a lone `#`, 4- and 7-digit values, full-width characters, and non-string values. Each one gave the result the contract describes.

I didn't change any other files, and I didn't write `notes/attempt.txt`.