/* Character Animation Background - Copied exactly from renshi-website/index.html */

@font-face {
  font-family: 'EBAS Medium';
  src: url('fonts/EBAS-Medium.subset.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: block;
}

/* Full-page repeating text grid */
.pattern {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
  background: #000;
}

.pattern__char {
  position: absolute;
  left: var(--base-x);
  top: var(--base-y);
  font-family: 'EBAS Medium', 'IBM Plex Mono', sans-serif;
  font-size: 18px;
  letter-spacing: 1px;
  transform: translate3d(
    calc(-50% + var(--mx, 0px)),
    calc(-50% + var(--my, 0px)),
    var(--mz, -180px)
  );
  color: rgba(255, 255, 255, 0.36);
  opacity: var(--opacity, 0.36);
  transition: transform 0.3s ease-out, opacity 0.3s ease-out;
  will-change: transform, opacity;
  text-rendering: optimizeLegibility;
}

.vignette {
  position: fixed;
  inset: 0;
  z-index: 1;
  background: radial-gradient(
    80% 60% at 50% 50%,
    rgba(0, 0, 0, 0) 0%,
    rgba(0, 0, 0, 0.6) 100%
  );
  pointer-events: none;
}
