JSFiddle - React, Tailwind, and code Playground

HTML

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Boulder Dash: The Cyber Girl & The Creeps</title>
    <style>
        body {
            background-color: #050510;
            color: #fff;
            font-family: 'Courier New', Courier, monospace;
            display: flex;
            flex-direction: column;
            align-items: center;
            margin: 0;
            padding-top: 2vh;
            user-select: none;
            overflow: hidden;
        }

        #game-wrapper {
            position: relative;
            border-radius: 12px;
            padding: 4px;
            background: linear-gradient(135deg, #2a2a35, #101018);
            box-shadow: 
                0 0 10px rgba(0,255,255,0.1), 
                0 0 30px rgba(0,255,255,0.2), 
                0 0 60px rgba(0,255,255,0.1),
                inset 0 0 20px #000;
        }

        canvas {
            display: block;
            border-radius: 8px;
            background-color: #000;
            box-shadow: inset 0 0 50px rgba(0, 0, 0, 0.9);
        }

        #game-wrapper::after {
            content: " ";
            display: block;
            position: absolute;
            top: 0; left: 0; bottom: 0; right: 0;
            background: linear-gradient(rgba(18, 16, 16, 0) 50%, rgba(0, 0, 0, 0.25) 50%), linear-gradient(90deg, rgba(255, 0, 0, 0.06), rgba(0, 255, 0, 0.02), rgba(0, 0, 255, 0.06));
            z-index: 2;
            background-size: 100% 4px, 6px 100%;
            pointer-events: none;
            border-radius: 12px;
        }

        #ui {
            display: flex;
            justify-content: space-between;
            align-items: center;
            width: 800px;
            margin-bottom: 15px;
            font-size: 26px;
            font-weight: 900;
            text-transform: uppercase;
       ...