@font-face {
  font-family: "Newsreader";
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("fonts/newsreader-light.woff2") format("woff2");
}
@font-face {
  font-family: "IBM Plex Mono";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/ibm-plex-mono-regular.woff2") format("woff2");
}
@font-face {
  font-family: "IBM Plex Mono";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/ibm-plex-mono-medium.woff2") format("woff2");
}
@font-face {
  font-family: "IBM Plex Mono";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/ibm-plex-mono-box-regular.woff2") format("woff2");
  unicode-range: U+2500-259F;
}
@font-face {
  font-family: "IBM Plex Mono";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/ibm-plex-mono-box-medium.woff2") format("woff2");
  unicode-range: U+2500-259F;
}
:root {
  --iron: #1c1d1a;
  --bone: #ece7dc;
  --ash: #a9a49a;
  --spark: #c9daa5;
  --font-display: "Newsreader", Georgia, serif;
  --font-body: "IBM Plex Mono", ui-monospace, monospace;
  --space: 8px;
  --ease: cubic-bezier(0.16, 1, 0.3, 1);
}
.background-grid {
  position: fixed;
  top: 0;
  left: 0;
  width: 640px;
  height: 640px;
  z-index: 0;
  pointer-events: none;
  opacity: 0;
  transition: opacity 900ms ease;
  contain: strict;
  will-change: transform;
  background-image:
    linear-gradient(color-mix(in srgb, var(--spark) 12%, transparent) 1px, transparent 1px),
    linear-gradient(90deg, color-mix(in srgb, var(--spark) 12%, transparent) 1px, transparent 1px);
  background-size: 48px 48px;
  mask-image: radial-gradient(circle 320px, black, transparent 100%);
}
.background-grid[data-active] {
  opacity: 1;
  transition-duration: 240ms;
}
@media (prefers-reduced-motion: reduce), (hover: none), (pointer: coarse) {
  .background-grid {
    display: none;
    transition: none;
  }
}
