css
html {
background: #eee;
}
body {
filter: drop-shadow(0 1em 1em rgba(0, 0, 0, 0.2));
}
p {
box-sizing: border-box;
display: flex;
align-items: center;
justify-content: space-between;
position: relative;
margin: 1.25em auto;
border: solid 0.5em transparent;
padding: 0.25em;
width: 26em;
height: 5em;
border-radius: 2.5em;
background: Linear-gradient(#dbdbdb, #fff) content-box, Linear-gradient(var(--slist)) padding-box, Linear-gradient(#fff, #dcdcdc) border-box;
font: 1.5em/ 1.375 trebuchet ms, verdana, sans-serif;
text-align: center;
text-indent: 1em;
-webkit-clip-path: inset(0 round 2.5em);
clip-path: inset(0 round 2.5em);
counter-increment: c;
}
p:before {
position: absolute;
right: -0.5em;
width: 5em;
height: 5em;
border-radius: 0.5em;
transform: rotate(45deg);
box-shadow: 0 0 7px rgba(0, 0, 0, 0.2);
background: Linear-gradient(-45deg, #e4e4e4 calc(50% - 2.5em), #fff calc(50% + 2.5em));
content: "";
}
p:after {
box-sizing: inherit;
display: grid;
place-content: center;
position: relative;
border: inherit;
margin-right: -0.25em;
width: 4em;
height: 4em;
border-radius: 50%;
box-shadow: inset 0 0 1px 1px #efefef, inset 0 -0.5em rgba(0, 0, 0, 0.1);
background: Linear-gradient(var(--slist)) padding-box, Linear-gradient(#d0d0d0, #e7e7e7) border-box;
color: #fff;
text-indent: 0;
content: counter(c,decimal-leading-zero);
}