JSFiddle - React, Tailwind, and code Playground

by HDL52

HTML

<div id="bg"></div>
<div id="bg_mask"></div>
<main><h1>Hongda Lin</h1></main>

CSS

@font-face {
  font-family: "NeueMontreal-Bold";
  src: url("https://raw.githubusercontent.com/Hongda-OSU/PicGo-2.3.1/master/imgNeueMontreal-Bold.otf");
  font-display: swap;
}

:root {
  --x: 50%;
  --y: 50%;
  --blur: 0.7vmax;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  background-color: black;
  overscroll-behavior-x: none;
  overscroll-behavior-y: none;
  overflow: hidden;
  user-select: none;
}

body {
  width: 100vw;
  height: 100vh;
  font-family: "Lexend", serif;
  text-align: center;
  line-height: 1;
  display: flex;
  justify-content: center;
  align-items: center;

  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

main {
  z-index: 1;
}

h1 {
  font-size: max(10vw, 60px);
  font-family: "NeueMontreal-Bold", sans-serif;
  color: #fff;
  text-transform: uppercase;
}

#bg,
#bg_mask {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: calc(var(--blur) * -1);
  background: url(https://raw.githubusercontent.com/Hongda-OSU/PicGo-2.3.1/master/imgj1udos782ybmzugwd1ltkozc9zxj3gz.jpg) no-repeat center/cover;
  background-size: cover;
  image-rendering: -webkit-optimize-contrast;
}

#bg {
  filter: blur(var(--blur));
}

#bg_mask {
  mask-image: radial-gradient(circle 50vmin at var(--x) var(--y),
      black 20vmin,
      transparent);
}

JavaScript

"use strict";
console.clear();

const root = document.querySelector(":root");
function spotlight(e) {
  root.style.setProperty("--x", e.pageX + "px");
  root.style.setProperty("--y", e.pageY + "px");
}
window.addEventListener("pointermove", spotlight);
window.addEventListener("pointerdown", spotlight);