Though this does not answer you question as far as CSS, I do think I have a better solution for you.
When you want a specific shape, you can use SVG vector graphics to accomplish the best result.
Look at the example and the classes that are added to the path. The only issue you have is that you must create the SVG image where you can optimize your shape, or find one. Or use the one given here.
You can alter the CSS and change color and size.
.svg_egg {
width: 120px;
}
path.eggcolor {
fill: pink;
stroke: #000000;
stroke-width: 2;
stroke-miterlimit: 10;
}
<svg class='svg_egg' version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 132.2 189" style="enable-background:new 0 0 132.2 189;" xml:space="preserve">
<path class='eggcolor' class="st0" d="M131.2,101.7c4.1,56.2-28.6,86.3-64.6,86.3S-3.7,157.2,1,101.7C6,43,45,1,66.1,1C86,1,127,44,131.2,101.7z"/>
</svg>
edit
As mentioned by @Danield, the SVG image can be incorporated within the CSS, making placement of the SVG image as simple as adding the class name.
<div class="svg_egg"></div>
.svg_egg {
width: 120px;
height: 170px;
background: url('data:image/svg+xml;charset=UTF-8,<svg width="100%"
height="100%"
viewBox="0 0 132.2 189" xmlns="http://www.w3.org/2000/svg">
<path fill="pink" stroke="black" d="M131.2,101.7c4.1,56.2-28.6,86.3-64.6,86.3S-3.7,157.2,1,101.7C6,43,45,1,66.1,1C86,1,127,44,131.2,101.7z"/></svg>') no-repeat;
}
Codepen by Danield: https://codepen.io/danield770/pen/rQyyOo