JSFiddle - React, Tailwind, and code Playground

HTML

<!DOCTYPE html>
<html lang="ru">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Новолет: Сплетая Судьбу</title>
  <style>
    :root {
      --bg-main-menu: url('/api/placeholder/800/600');
      --bg-map: url('/api/placeholder/800/600');
      --bg-spinning-wheel: url('/api/placeholder/800/600');
      --bg-cauldron: url('/api/placeholder/800/600');
      --bg-trail: url('/api/placeholder/800/600');
      --bg-cards: url('/api/placeholder/800/600');
      --bg-success: url('/api/placeholder/800/600');
      --bg-failure: url('/api/placeholder/800/600');
      
      --obj-spirit: url('/api/placeholder/50/50');
      --obj-herb: url('/api/placeholder/30/30');
      --obj-star: url('/api/placeholder/40/40');
      --obj-cauldron: url('/api/placeholder/100/100');
      --obj-card: url('/api/placeholder/80/120');
      --obj-rune: url('/api/placeholder/40/40');
      
      --color-dark: #1a1a2e;
      --color-primary: #16213e;
      --color-secondary: #0f3460;
      --color-accent: #e94560;
      --color-light: #f0f0f0;
      --color-success: #4caf50;
      --color-warning: #ff9800;
      --color-danger: #f44336;
      
      --font-main: 'Palatino Linotype', 'Book Antiqua', Palatino, serif;
    }

    * {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
    }
    
    body {
      font-family: var(--font-main);
      overflow: hidden;
      background-color: var(--color-dark);
      color: var(--color-light);
      height: 100vh;
      width: 100vw;
      display: flex;
      justify-content: center;
      align-items: center;
    }
    
    #game-container {
      position: relative;
      width: 800px;
      height: 600px;
      overflow: hidden;
      box-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
      border-radius: 10px;
    }
    
    .screen {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      display: none;
      background-size:...