*,
*::before,
*::after {
  box-sizing: border-box;
}

body {
  margin: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 5rem;
  min-height: 100vh;
  background-color: #bdbdbc;
}

.emoji {
  --emoji-size: 200px;

  width: var(--emoji-size);
  height: var(--emoji-size);
  margin: 1rem;
}

.head {
  background-color: #fdc840;
  border-radius: 50%;
  width: 100%;
  height: 100%;
  overflow: hidden;
  position: relative;
  z-index: -1;
}

.eyes {
  position: absolute;
  top: 25%;
  left: 50%;
}

.eye {
  position: absolute;
  width: calc(var(--emoji-size) * 0.05);
  height: calc(var(--emoji-size) * 0.15);
  background-color: black;
  border-radius: 50%;
}

.eye-left {
  left: calc(var(--emoji-size) * -0.2);
}

.eye-right {
  right: calc(var(--emoji-size) * -0.2);
}

.mouth {
  position: absolute;
  background-color: black;
  bottom: 15%;
  left: 50%;
  transform: translateX(-50%);
}

.smile {
  --mouth-height: calc(var(--emoji-size) * 0.3);

  width: calc(var(--emoji-size) * 0.6);
  height: var(--mouth-height);
  border-radius: 5% 5% var(--mouth-height) var(--mouth-height);
}

.open-mouth {
  width: calc(var(--emoji-size) * 0.2);
  height: calc(var(--emoji-size) * 0.3);
  border-radius: 50%;
}

.face-mask {
  transform: none;
  background-color: white;
  border: calc(var(--emoji-size) * 0.02) solid #999;
  border-radius: 10%;
  width: calc(var(--emoji-size) * 0.6);
  height: calc(var(--emoji-size) * 0.35);
  left: calc(var(--emoji-size) * 0.2);
}

.strap {
  position: absolute;
  background-color: white;
  border: calc(var(--emoji-size) * 0.02) solid #999;
  border-radius: 10%;
  width: calc(var(--emoji-size) * 0.5);
  height: calc(var(--emoji-size) * 0.1);
  z-index: -2;
}

.strap-top-left {
  transform: rotate(20deg);
  top: calc(var(--emoji-size) * -0.05);
  left: calc(var(--emoji-size) * -0.4);
}

.strap-top-right {
  transform: rotate(-20deg);
  top: calc(var(--emoji-size) * -0.05);
  right: calc(var(--emoji-size) * -0.4);
}

.strap-bottom-left {
  transform: rotate(-30deg);
  bottom: calc(var(--emoji-size) * -0.05);
  left: calc(var(--emoji-size) * -0.4);
}

.strap-bottom-right {
  transform: rotate(30deg);
  bottom: calc(var(--emoji-size) * -0.05);
  right: calc(var(--emoji-size) * -0.4);
}

@media (max-width: 900px) {
  body {
    flex-direction: column;
  }
}
