* {
  padding: 0%;
  margin: 0%;
}

.page {
  text-align: center;
  font-family: monospace;
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
  width: 100%;
  background-color: #09090b;

  position: relative;
  overflow: hidden; /* important for masking */
}

/* Grid background layer */
.page::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;

  background-image:
    linear-gradient(to right, #424242 1px, transparent 1px),
    linear-gradient(to bottom, #424242 1px, transparent 1px);

  background-size: 20px 30px;

  -webkit-mask-image: radial-gradient(
    ellipse 70% 60% at 50% 100%,
    #9e2020 60%,
    transparent 80%
  );

  mask-image: radial-gradient(
    ellipse 50% 60% at 50% 113%,
    #000 60%,
    transparent 100%
  );

  pointer-events: none;
}

.gradient-text {
  background: linear-gradient(
    to left,
    #ffffff, /* indigo-500 */
    #646464, /* red-500 */
    #2f3e57  /* blue-500 */
  );

  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}


/* text */

h1 {
  font-size: 3rem;
}


/* box graident */
.wrapper {
  position: relative;
}

/* Gradient glow shadow */
.glow {
  position: absolute;
  inset: -0.5rem; /* -inset-2 */
  border-radius: 0.5rem;

  background: conic-gradient(
    from 0deg at bottom right,
    #2563eb, /* blue-600 */
    #d97706, /* amber-600 */
    #7c3aed  /* violet-600 */
  );

  opacity: 0.5;
  filter: blur(32px); /* blur-2xl */
  z-index: 0;
}

/* Main card */
.card {
  padding: 1em;
  position: relative;
  z-index: 1;

  width: 100%;
  height: 10rem; /* h-64 */
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  border-radius: 1rem;
  background-color: #09090b;
  background-clip: padding-box;
  backdrop-filter: blur(8px) saturate(100%) contrast(100%);
  opacity: 80%;
  color: #cbd5e1; /* slate-300 */
}
