<div class="courage">
  <div class="head">
    <div class="ear left"></div>
    <div class="ear right"></div>
    <div class="eye-container">
      <div class="eye left">
        <div class="blood-vessel"></div>
        <div class="blood-vessel"></div>
        <div class="blood-vessel"></div>
        <div class="blood-vessel"></div>
        <div class="blood-vessel"></div>
        <div class="blood-vessel"></div>
        <div class="blood-vessel"></div>
        <div class="blood-vessel"></div>
      </div>
    </div>
    <div class="eye-container right">
      <div class="eye right">
        <div class="blood-vessel"></div>
        <div class="blood-vessel"></div>
        <div class="blood-vessel"></div>
        <div class="blood-vessel"></div>
        <div class="blood-vessel"></div>
        <div class="blood-vessel"></div>
        <div class="blood-vessel"></div>
        <div class="blood-vessel"></div>
      </div>
    </div>
    <div class="cheek left">
      <div class="dot"></div>
      <div class="mustache"></div>
      <div class="mustache"></div>
    </div>
    <div class="cheek right">
      <div class="dot"></div>
      <div class="dot"></div>
      <div class="dot"></div>
      <div class="mustache"></div>
    </div>
    <div class="nouse"></div>
  </div>
  <div class="body">
    <div class="leg top left">
      <div class="paw">
        <div class="finger"></div>
        <div class="finger"></div>
        <div class="finger"></div>
      </div>
    </div>
    <div class="leg top right">
      <div class="paw">
        <div class="finger"></div>
        <div class="finger"></div>
        <div class="finger"></div>
      </div>
    </div>
    <div class="leg bottom left">
      <div class="paw">
        <div class="finger"></div>
        <div class="finger"></div>
        <div class="finger"></div>
      </div>
    </div>
    <div class="leg bottom right">
      <div class="paw">
        <div class="finger"></div>
        <div class="finger"></div>
        <div class="finger"></div>
      </div>
    </div>
  </div>
</div>
:root {
  --pink: #e99cca;
  --dark-pink: #e369c3;
  --black: #010100;
  --light: #b03702;
  --cian: #51bbb7;
  --bg-1: #8b45f7;
  --bg-2: #3333;
}
body {
  background-color: #572fac;
  height: 100vh;
  overflow: hidden;
  display: grid;
  place-items: center;
  background-image: linear-gradient(
      30deg,
      var(--bg-1) 12%,
      transparent 12.5%,
      transparent 87%,
      var(--bg-1) 87.5%,
      var(--bg-1)
    ),
    linear-gradient(
      150deg,
      var(--bg-1) 12%,
      transparent 12.5%,
      transparent 87%,
      var(--bg-1) 87.5%,
      var(--bg-1)
    ),
    linear-gradient(
      30deg,
      var(--bg-1) 12%,
      transparent 12.5%,
      transparent 87%,
      var(--bg-1) 87.5%,
      var(--bg-1)
    ),
    linear-gradient(
      150deg,
      var(--bg-1) 12%,
      transparent 12.5%,
      transparent 87%,
      var(--bg-1) 87.5%,
      var(--bg-1)
    ),
    linear-gradient(
      60deg,
      var(--bg-2) 25%,
      transparent 25.5%,
      transparent 75%,
      var(--bg-2) 75%,
      var(--bg-2)
    ),
    linear-gradient(
      60deg,
      var(--bg-2) 25%,
      transparent 25.5%,
      transparent 75%,
      var(--bg-2) 75%,
      var(--bg-2)
    );
  background-size: 20px 35px;
  background-position: 0 0, 0 0, 10px 18px, 10px 18px, 0 0, 10px 18px;
  //  background: #423C6A;
}
.courage {
  width: 89px;
  height: 190px;
  position: relative;
  filter: drop-shadow(5px 5px 2px #1118);
  transition: transform 1.3s;
  &:hover {
    transform: scale(1.2);
  }
  & .head {
    width: 89px;
    height: 105px;
    background-color: var(--pink);
    position: absolute;
    top: 0;
    border-radius: 50% 50% 0% 0% / 72% 72% 0% 0%;
    border: 2px solid var(--black);
    box-sizing: border-box;
    z-index: 2;
    & .ear {
      position: absolute;
      &.left {
        width: 16px;
        height: 68px;
        top: -73px;
        left: 7px;
        transform-origin: bottom center;
        transform: rotate(-60deg);
        &::before {
          content: "";
          width: 7px;
          height: 17px;
          position: absolute;
          bottom: 0;
          right: 1px;
          background-color: var(--black);
          clip-path: polygon(0 0, 100% 0, 100% 100%, 25% 100%);
        }
        &::after {
          content: "";
          width: 16px;
          height: 52px;
          position: absolute;
          top: 0;
          background-color: var(--black);
          background-image: radial-gradient(
            7px 44px at 10px center,
            var(--light) 38%,
            transparent 42%
          );
          border-radius: 68% 32% 10% 54% / 65% 42% 58% 35%;
        }
      }
      &.right {
        width: 77px;
        height: 31px;
        top: -25px;
        left: 70px;
        &::before {
          content: "";
          width: 7px;
          height: 36px;
          position: absolute;
          top: -19px;
          left: -4px;
          background-color: var(--black);
          border-radius: 3px;
          transform-origin: bottom center;
          transform: rotate(70deg);
        }
        &::after {
          content: "";
          width: 16px;
          height: 52px;
          position: absolute;
          top: -11px;
          right: 17px;
          transform: rotate(115deg);
          background-color: var(--black);
          background-image: radial-gradient(
            5px 50px at 5px center,
            var(--light) 38%,
            transparent 42%
          );
          box-shadow: inset 2px 2px var(--black);
          border-radius: 68% 32% 40% 54% / 65% 42% 58% 35%;
        }
      }
    }
    & .eye-container {
      position: relative;
      &::after {
        content: "";
        width: 46px;
        height: 30px;
        position: absolute;
        top: -36px;
        left: -18px;
        box-shadow: 7px 8px 0 -3px var(--black);
        clip-path: polygon(
          9% 50%,
          150% 70%,
          200% 200%,
          22% 200%,
          -50% 200%,
          -15% 80%
        );
        rotate: -15deg;
        border-radius: 50%;
        clip-path: polygon(
          -50% 70%,
          91% 50%,
          115% 80%,
          200% 200%,
          -50% 200%,
          -50% 200%
        );
      }
      &.right::after {
        left: 70%;
        box-shadow: -7px 8px 0 -3px var(--black);
        rotate: 18deg;
        clip-path: polygon(
          9% 50%,
          150% 70%,
          200% 200%,
          22% 200%,
          -50% 200%,
          -15% 80%
        );
      }
      &::before {
        content: "";
        width: 46px;
        height: 95px;
        position: absolute;
        border-radius: 50%;
        z-index: 1;
        top: -19px;
        left: -9px;
        box-shadow: 1px 5px 0 -3px var(--black);
      }
      &.right::before {
        left: 48px;
        box-shadow: -1px 5px 0 -3px var(--black);
      }
      & .eye {
        width: 46px;
        height: 95px;
        background-color: #fff;
        position: absolute;
        top: -20px;
        border: 2px solid var(--black);
        box-sizing: border-box;
        overflow: hidden;
        &::before {
          content: "";
          width: 9px;
          height: 17px;
          position: absolute;
          border-radius: 50%;
          background: radial-gradient(at 65% 35%, #fff 20%, var(--black) 25%);
          top: 30%;
          left: 50%;
          animation: move 0.2s infinite ease-in-out;
        }
        &::after {
          content: "";
          width: 100%;
          height: 30%;
          position: absolute;
          top: 0;
          background-color: var(--dark-pink);
          clip-path: polygon(0% 0%, 100% 0%, 100% 60%, 0% 100%);
          animation: blink 8s infinite ease-in-out;
        }
        & .blood-vessel {
          position: absolute;
          background-color: var(--cian);
        }
        &.left {
          left: -6px;
          border-radius: 60% 40% 50% 50% / 50% 30% 70% 50%;
          clip-path: polygon(0 21%, 0 40%, 0 100%, 100% 100%, 100% 0, 115% 0);
          & .blood-vessel:nth-child(1) {
            width: 9px;
            height: 24px;
            bottom: 5px;
            right: 8px;
            clip-path: polygon(
              42% 100%,
              34% 88%,
              37% 80%,
              48% 70%,
              53% 64%,
              42% 57%,
              26% 52%,
              26% 45%,
              40% 50%,
              53% 55%,
              62% 58%,
              74% 53%,
              78% 45%,
              75% 35%,
              74% 28%,
              88% 34%,
              91% 44%,
              91% 50%,
              84% 59%,
              75% 65%,
              65% 72%,
              57% 79%,
              55% 86%,
              64% 100%
            );
          }
          & .blood-vessel:nth-child(2) {
            width: 9px;
            height: 9px;
            top: 55px;
            right: 2px;
            clip-path: polygon(
              100% 31%,
              78% 27%,
              53% 28%,
              38% 31%,
              66% 40%,
              86% 46%,
              100% 55%
            );
          }
          & .blood-vessel:nth-child(3) {
            width: 9px;
            height: 9px;
            top: 30px;
            right: -2px;
            clip-path: polygon(
              100% 31%,
              78% 27%,
              53% 28%,
              38% 31%,
              66% 40%,
              86% 46%,
              100% 55%
            );
          }
          & .blood-vessel:nth-child(4) {
            width: 9px;
            height: 9px;
            top: 10px;
            right: 2px;
            clip-path: polygon(
              81% 1%,
              52% 13%,
              41% 25%,
              29% 39%,
              28% 52%,
              26% 63%,
              27% 71%,
              35% 49%,
              45% 39%,
              56% 33%,
              68% 30%,
              81% 29%,
              88% 28%,
              100% 29%,
              100% 0%
            );
          }
          & .blood-vessel:nth-child(5) {
            width: 9px;
            height: 9px;
            bottom: 6px;
            left: 10px;
            clip-path: polygon(
              0 100%,
              11% 89%,
              18% 81%,
              28% 68%,
              31% 60%,
              37% 50%,
              42% 40%,
              47% 30%,
              46% 40%,
              43% 50%,
              40% 58%,
              38% 66%,
              34% 73%,
              31% 79%,
              27% 85%,
              22% 91%,
              17% 95%,
              13% 100%
            );
          }
          & .blood-vessel:nth-child(6) {
            width: 14px;
            height: 14px;
            bottom: 16px;
            left: 3px;
            clip-path: polygon(
              0% 80%,
              9% 66%,
              16% 52%,
              25% 48%,
              39% 46%,
              48% 35%,
              48% 24%,
              51% 15%,
              52% 23%,
              51% 30%,
              54% 39%,
              51% 44%,
              55% 47%,
              61% 49%,
              66% 46%,
              71% 44%,
              77% 46%,
              80% 54%,
              75% 52%,
              66% 52%,
              62% 56%,
              55% 58%,
              49% 54%,
              44% 53%,
              29% 57%,
              25% 62%,
              19% 70%,
              16% 76%,
              8% 88%,
              0% 100%
            );
          }
          & .blood-vessel:nth-child(7) {
            width: 9px;
            height: 9px;
            bottom: 46px;
            left: 0;
            clip-path: polygon(
              0% 66%,
              8% 52%,
              18% 45%,
              29% 43%,
              37% 45%,
              41% 51%,
              45% 58%,
              53% 58%,
              61% 52%,
              65% 46%,
              67% 53%,
              64% 61%,
              58% 66%,
              50% 70%,
              41% 70%,
              33% 63%,
              26% 63%,
              15% 70%,
              9% 83%,
              0% 89%
            );
          }
          & .blood-vessel:nth-child(8) {
            width: 9px;
            height: 9px;
            bottom: 66px;
            left: 4px;
            clip-path: polygon(
              1% 61%,
              15% 49%,
              36% 41%,
              46% 46%,
              60% 48%,
              48% 53%,
              36% 53%,
              24% 55%,
              15% 64%,
              0 80%
            );
          }
        }
        &.right {
          right: -6px;
          border-radius: 40% 60% 50% 50% / 30% 50% 50% 70%;
          clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 22%, 10% 0);
          &::before {
            top: 25%;
            left: 20%;
            animation: move 0.2s infinite ease-in-out reverse;
          }
          &::after {
            clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 60%);
          }
          & .blood-vessel:nth-child(1) {
            width: 9px;
            height: 24px;
            bottom: 5px;
            left: 12px;
            clip-path: polygon(
              1% 98%,
              5% 86%,
              15% 76%,
              28% 66%,
              34% 58%,
              27% 46%,
              26% 38%,
              28% 31%,
              31% 36%,
              32% 46%,
              38% 51%,
              43% 54%,
              52% 51%,
              59% 47%,
              68% 41%,
              74% 32%,
              77% 24%,
              77% 35%,
              76% 41%,
              67% 50%,
              61% 54%,
              53% 58%,
              43% 63%,
              36% 68%,
              30% 75%,
              24% 82%,
              17% 89%,
              10% 100%,
              0 100%
            );
          }
          & .blood-vessel:nth-child(2) {
            width: 9px;
            height: 24px;
            bottom: 1px;
            right: 5px;
            clip-path: polygon(
              96% 100%,
              96% 81%,
              88% 58%,
              68% 39%,
              59% 30%,
              53% 21%,
              51% 28%,
              54% 36%,
              60% 42%,
              67% 50%,
              73% 62%,
              78% 70%,
              80% 81%,
              81% 91%,
              80% 100%
            );
          }
          & .blood-vessel:nth-child(3) {
            width: 9px;
            height: 9px;
            bottom: 25px;
            left: 4px;
            clip-path: polygon(
              0% 60%,
              12% 45%,
              30% 29%,
              44% 24%,
              56% 21%,
              48% 29%,
              32% 37%,
              23% 45%,
              16% 55%,
              10% 64%,
              12% 75%,
              26% 84%,
              39% 85%,
              51% 82%,
              49% 88%,
              36% 93%,
              26% 94%,
              15% 92%,
              7% 88%,
              0% 82%
            );
          }
          & .blood-vessel:nth-child(4) {
            width: 9px;
            height: 9px;
            bottom: 40px;
            left: 1px;
            clip-path: polygon(
              0 69%,
              12% 68%,
              26% 65%,
              30% 53%,
              33% 42%,
              34% 31%,
              34% 26%,
              38% 37%,
              38% 52%,
              38% 62%,
              38% 71%,
              34% 76%,
              23% 79%,
              11% 83%,
              0 86%
            );
          }
          & .blood-vessel:nth-child(5) {
            width: 9px;
            height: 9px;
            bottom: 70px;
            left: 1px;
            clip-path: polygon(
              0 0,
              12% 20%,
              24% 29%,
              46% 43%,
              59% 50%,
              40% 47%,
              28% 44%,
              16% 39%,
              8% 33%,
              0% 27%
            );
          }
          & .blood-vessel:nth-child(6) {
            width: 10px;
            height: 10px;
            bottom: 30px;
            right: 1px;
            clip-path: polygon(
              100% 65%,
              93% 59%,
              80% 55%,
              76% 36%,
              66% 25%,
              57% 18%,
              39% 9%,
              29% 5%,
              31% 14%,
              41% 20%,
              47% 23%,
              54% 28%,
              60% 37%,
              64% 46%,
              66% 53%,
              57% 57%,
              44% 56%,
              35% 55%,
              30% 48%,
              32% 58%,
              35% 64%,
              44% 67%,
              56% 67%,
              65% 67%,
              72% 67%,
              82% 69%,
              89% 73%,
              100% 79%
            );
          }
          & .blood-vessel:nth-child(7) {
            width: 9px;
            height: 9px;
            top: 35px;
            right: -2px;
            clip-path: polygon(
              100% 31%,
              78% 27%,
              53% 28%,
              38% 31%,
              66% 40%,
              86% 46%,
              100% 55%
            );
          }
          & .blood-vessel:nth-child(8) {
            width: 9px;
            height: 9px;
            top: 20px;
            right: 1px;
            clip-path: polygon(
              100% 31%,
              78% 27%,
              53% 28%,
              38% 31%,
              66% 40%,
              86% 46%,
              100% 55%
            );
          }
        }
      }
    }
    & .cheek {
      width: 54px;
      height: 36px;
      border-radius: 50%;
      position: absolute;
      background-color: var(--pink);
      border: 2px solid var(--black);
      box-sizing: border-box;
      bottom: -12px;
      right: -20px;
      &.right {
        &::after {
          content: "";
          width: 85px;
          height: 8px;
          border-radius: 3px;
          position: absolute;
          background-color: var(--pink);
          top: -3px;
          left: -53px;
        }
        & .mustache {
          clip-path: polygon(69% -2%, 100% -2%, 100% 40%, 69% 12%);
          box-shadow: -1px -2px 0 var(--black);
          left: 9px;
          top: 16px;
          height: 20px;
        }
      }
      & .mustache {
        width: 54px;
        height: 32px;
        left: -11px;
        top: 22px;
        box-shadow: 1px -2px 0 var(--black);
        clip-path: polygon(0% 1%, 34% 0%, 50% 100%, 0% 100%);
        border-radius: 50%;
        position: absolute;
      }
      &.left {
        left: -20px;
        & .mustache {
          width: 54px;
          height: 32px;
          left: -11px;
          top: 22px;
          box-shadow: 1px -2px 0 var(--black);
          clip-path: polygon(0% 1%, 34% 0%, 50% 100%, 0% 100%);
          border-radius: 50%;
          position: absolute;
          &:nth-child(2) {
            top: 15px;
            left: -32px;
            clip-path: polygon(40% -2%, 67% -3%, 50% 50%, 0% 50%);
          }
        }
      }
      & .dot {
        width: 4px;
        height: 4px;
        background-color: var(--black);
        border-radius: 50%;
        position: absolute;
        top: 50%;
        left: 40%;
      }
      &.right .dot {
        top: 30%;
        left: 55%;
      }
      &.right .dot:nth-child(2) {
        top: 65%;
        left: 45%;
      }
      &.right .dot:nth-child(3) {
        top: 55%;
        left: 70%;
      }
    }
    & .nouse {
      width: 65px;
      height: 36px;
      position: absolute;
      bottom: -12px;
      left: 12px;
      background-color: var(--black);
      border: 2px solid var(--black);
      box-sizing: border-box;
      border-radius: 50% 50% 50% 50% / 30% 30% 70% 70%;
      clip-path: polygon(
        0 0,
        100% 0,
        100% 35%,
        97% 43%,
        60% 97%,
        56% 100%,
        44% 100%,
        40% 97%,
        3% 43%,
        0 35%
      );
      background-image: radial-gradient(
          65px 20px at center -3px,
          #b03702 65%,
          transparent 68%
        ),
        radial-gradient(
          37px 26px at 15px 2px,
          var(--black) 60%,
          transparent 63%
        ),
        radial-gradient(55px 40px at center -4px, #b03702 62%, transparent 65%);
    }
  }
  & .body {
    width: 100%;
    height: 83px;
    position: absolute;
    border-radius: 100% 0% 67% 55% / 100% 0% 100% 28%;
    background: var(--pink);
    bottom: 0;
    border: 2px solid var(--black);
    box-sizing: border-box;
    &::before {
      content: "";
      width: 46px;
      height: 91px;
      position: absolute;
      top: -26px;
      left: -40px;
      border-radius: 50%;
      box-shadow: 2px 0 0 var(--black), 40px 0 0 var(--pink);
      clip-path: polygon(300% 26%, 300% 90%, 52% 65%, 50% 28%);
    }
    & .leg.top {
      width: 15px;
      height: 32px;
      position: absolute;
      z-index: 3;
      top: 5px;
      &::after {
        content: "";
        width: 20px;
        height: 10px;
        background-color: var(--pink);
        position: absolute;
        bottom: -2px;
      }
      &.left {
        left: 25px;
        border-radius: 100% 0% 0% 0% / 100% 100% 0% 0%;
        box-shadow: -2px 0 0 var(--black), -6px 0 0 var(--pink),
          -8px 0 0 var(--black);
        &::after {
          right: 5px;
          transform: rotate(-30deg);
        }
        animation: tremble 0.2s infinite ease-in-out;
        transform-origin: bottom left;
      }
      &.right {
        left: 50px;
        border-radius: 0% 100% 0% 0% / 0% 100% 0% 0%;
        box-shadow: 2px 0 0 var(--black), 6px 0 0 var(--pink),
          8px 0 0 var(--black);
        &::after {
          left: 5px;
          transform: rotate(30deg);
        }
        animation: tremble 0.2s infinite ease-in-out reverse;
        transform-origin: bottom right;
      }
      & .paw {
        width: 16px;
        height: 13px;
        position: absolute;
        top: -10px;
        left: -2px;
        &::after {
          content: "";
          width: 5px;
          height: 7px;
          background-color: var(--pink);
          position: absolute;
          bottom: -2px;
          left: 5px;
          border-radius: 50%;
        }
        & .finger {
          width: 8px;
          height: 10px;
          border-radius: 4px 4px 0 0;
          position: absolute;
          background-color: var(--pink);
          border: 2px solid var(--black);
          box-sizing: border-box;
          border-bottom-color: transparent;
          left: 4px;
          top: -2px;
          &:nth-child(1) {
            transform: rotate(-90deg);
            top: 5px;
            left: -1px;
          }
          &:nth-child(2) {
            transform: rotate(90deg);
            top: 5px;
            left: 9px;
          }
        }
      }
      &.left .paw {
        transform: rotate(35deg);
        left: 2px;
      }
      &.right .paw {
        transform: rotate(-37deg);
        right: 2px;
      }
    }
    & .leg.bottom {
      width: 19px;
      height: 35px;
      position: absolute;
      border-radius: 50%;
      top: 66px;
      left: 10px;
      z-index: 1;
      box-shadow: -4px 0 0 -2px var(--black), -8px 0 0 -2px var(--pink),
        -10px 0 0 -2px var(--black);
      &::after {
        content: "";
        width: 16px;
        height: 10px;
        border-radius: 50%;
        background-color: var(--pink);
        position: absolute;
        left: -5px;
        top: -1px;
      }
      &.left {
        animation: tremble 0.2s infinite ease-in-out;
        transform-origin: top left;
      }
      &.right {
        left: 36px;
        box-shadow: 4px 0 0 -2px var(--black), 8px 0 0 -2px var(--pink),
          10px 0 0 -2px var(--black);
        &::after {
          left: 9px;
          top: 0px;
        }
        animation: tremble 0.2s infinite ease-in-out reverse;
        transform-origin: top right;
      }
      & .paw {
        width: 16px;
        height: 13px;
        position: absolute;
        bottom: -10px;
        left: -2px;
        &::after {
          content: "";
          width: 5px;
          height: 7px;
          background-color: var(--pink);
          position: absolute;
          bottom: -2px;
          left: 5px;
          border-radius: 50%;
        }
        & .finger {
          width: 8px;
          height: 10px;
          border-radius: 4px 4px 0 0;
          position: absolute;
          background-color: var(--pink);
          border: 2px solid var(--black);
          box-sizing: border-box;
          border-bottom-color: transparent;
          left: 4px;
          top: -2px;
          &:nth-child(1) {
            transform: rotate(-90deg);
            top: 5px;
            left: -1px;
          }
          &:nth-child(2) {
            transform: rotate(90deg);
            top: 5px;
            left: 9px;
          }
        }
      }
      &.left .paw {
        transform: rotate(160deg);
        left: -6px;
      }
      &.right .paw {
        transform: rotate(-150deg);
        left: 7px;
        bottom: -8px;
      }
    }
    &::after {
      content: "";
      width: 130%;
      height: 25px;
      position: absolute;
      background-color: #0006;
      border-radius: 50%;
      bottom: -40px;
      left: -15px;
      box-shadow: 0 0 10px #000;
    }
  }
}

@keyframes tremble {
  from {
    transform: rotate(-2deg);
  }
  to {
    transform: rotate(2deg);
  }
}

@keyframes blink {
  0%,
  70%,
  100% {
    transform: translate(0px, -100%);
  }
  75%,
  95% {
    transform: translate(0, 0);
  }
}

@keyframes move {
  from {
    transform: translate(0px, -1px);
  }
  to {
    transform: translate(0px, 1px);
  }
}
View Compiled

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

This Pen doesn't use any external JavaScript resources.