First we can implement the easier parts, coloring the background and creating a semi circle. I think we can create semi circle in other ways as well but I chose the linear-gradient method. Before this battle, I use to create with transform property but now I am going to use the translate property directly.
We can also create two rectangles of the widths half of the semi-circle. The bottom right border can be 50%. Similarly, bottom left border can be 50% for the second rectangle.
If you can see, I got lucky with 100% score. There are some minor differences in the diff section. But I will take it 😀 Play around with the minified code: