JSFiddle - React, Tailwind, and code Playground

HTML

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>Задание на CSS</title>
</head>
  <body style="max-width: 500px; padding-left: 80px; padding-right: 20px;">
    <p>Предсказуемость непредсказуема. Предсказуемость непредсказуема. ПредсказуемоНесть непредсказуема. Предсказуемость непредсказуема. Предсказуемость <em data-ref="1">непредсказуема и недоказуема</em>. Предсказуемость непредсказуема. Предсказуемость непредсказуема. Предсказуемость совсем ни разу не  <em data-ref="2, 3, 4">непредсказуема</em>. Предсказуемость непредсказуема. Предсказуемость непредсказуема. Предсказуемость непредсказуема. </p>
    
    <p>Однако, здравствуйте.</p>
    
    <figure>
      <figcaption>
          A cute cat
          <span class="subtitle">is in the picture</span>
      </figcaption>
      <img src="https://cs9.pikabu.ru/post_img/2018/07/27/1/1532645232138489893.jpg" alt="A cute Kitten">      
    </figure>            
</body>
</html>

CSS

body {
  font-family: "Times New Roman", sans-serif;
  border: 1px solid black;
  position:relative;
}
em {
  border-bottom: 1px solid #F4D249;
}
em::before {
  content: '[' attr(data-ref) ']';
  position: absolute;
  right: 100%;
  margin-right: -70px;
  margin-top: 2px;
  font-style: normal;
  color: gray;
  font-size: 80%;
}
figure {
  margin: 0;
  display: inline-block;
  position: relative;
  min-width:150px;
  min-height: 150px;
}
figure figcaption {
  background: rgba(0, 0, 0, 0.5);  
  font-size: 200%;
  position: absolute;
  color: white;
  padding-left: 10px;
  padding-bottom: 5px;
  left: 0;
  right: 0;
  bottom: 0;
}
figure figcaption span {
  font-size: 50%;
  display: block;
  color: #AFBABB;
}
figure img {
   display: block;
   max-width: 100%;
   max-height: 100%;
   width: auto;
   height: auto;
}