Warning: this is a close approximation to show the general approach. You will have to tweak the values to get exactly the shapes you need.
The child-outer class needs a bit more height adjustment, but here's the basic idea of how to get to what you want ( kind of ). SVG is still the more polished way to go
Check the preview in full screen though :)
body{
  display: flex;
  align-items: flex-end;
  justify-content: center;
  height: 100vh;
  width:100%;
  background: #15172b;
  padding-top: 100px;
}
.parent{
 z-index: 1;
   background: #1c2035;
  width: 586px;
  height: 200px;
  border-radius: 30px 30px 0 0;
  position:relative;
}
.overlay {
  z-index:3;
  width: 586px;
  height: 200px;
  background: #15172b;
  position: absolute;
  top:-204px;
}
.left{
  border-left: 4px solid #2e3247;
  border-top: 4px solid #2e3247;
  border-radius: 30px 30px 0 0;
  background: #1c2035;
  height: 200px;
  width: 180px;
  position:absolute;
  top: -4px;
  left: -4px;
}
.right{
  border-right: 4px solid #2e3247;
  border-top: 4px solid #2e3247;
  border-radius: 30px 30px 0 0;
  background: #1c2035;
  height: 200px;
  width: 180px;
  position:absolute;
  top: -4px;
  right: -4px;
}
.child {
  z-index: 4;
  --circle-size: 80px;
  width: var(--circle-size);
  height: var(--circle-size);
  background: black;
  border-radius: 50%;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: -129px;
  border: 45px solid #25183e;
}
.child-border {
  z-index: 4;
  --circle-size: 166px;
  width: var(--circle-size);
  height: var(--circle-size);
  border-radius: 50%;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: -129px;
  border: 4px solid #2e3247;
}
.child-outer {
  z-index: 2;
  --circle-size: 261px; 
  width: var(--circle-size);
  height: var(--circle-size);
  background: #15172b;
  border-radius: 50%;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: -179.5px;
  border-bottom: 5px solid #2e3247;
}
<div class="parent">
  <div class="left"></div>
  <div class="child"></div>
  <div class="child-border"></div>
  <div class="child-outer"></div>
  <div class="right"></div>
  <div class="overlay"></div>
</div>