Why cant this work

So i want a particle to spawn at the ray cast point but it won’t work.

public GameObject Mouse;
public GameObject Particle;
void Update()
{
    RaycastHit hit;
    if (Physics.Raycast(origin: camera.position, direction: camera.forward, out hit))
    {
        
        Point = hit.point;
        if (Input.GetMouseButtonDown(0))
        {
            Instantiate(Particle, Point.position, Point.rotation);
        }
    }
}

Heres my code for how I destroy an instantiated object whenever I click on it, and a particle system effect plays at that point:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class DestroyCubes : MonoBehaviour
{
    public Camera fpsCam;

    public Transform Parent;

    public float distance;

    Vector3 newPos;
    public Transform Explosion;
    public ParticleSystem plode;

    public Text Score;
    public float score;

    public AudioClip pop;
    // Start is called before the first frame update
    void Start()
    {
        newPos = Explosion.position;
        this.gameObject.AddComponent<AudioSource>();
        this.GetComponent<AudioSource>().clip = pop;
    }

    // Update is called once per frame
    void Update()
    {
        if (Input.GetMouseButtonDown(0)) // if click detected and game is not paused
        {
            Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); //Create ray that points to mouse click
            Vector3 Ray = ray.direction;
            RaycastHit hit;

            if (Physics.Raycast(fpsCam.transform.position, Ray, out hit))
            {
                if (hit.collider != null) // if i hit something
                {
                    distance = hit.distance / 150; //get distance from camera

                    if (hit.collider.tag != "Borders") //if i hit anything except my game borders
                    {
                        hit.collider.transform.SetParent(Parent); //parent the object to an empty gameobject called 'Parent'
                    }

                    newPos = hit.point; //set transform of explosion particle system to click

                    foreach (Transform child in Parent) //if a child is detected in the empty gameobject 'Parent'
                    {
                        Destroy(child.gameObject); //destroy the child object
                        score += 10 + distance; //add ten points + extra for longer distance blocks
                        Score.text = score.ToString("0"); //set text to score
                        Explosion.position = newPos; //set explosion position to object destroyed/mouseclick position
                        plode.Play(); //play particle system effect
                        //this.GetComponent<AudioSource>().Play();//play pop sound
                        AudioSource.PlayClipAtPoint(pop, fpsCam.transform.position, 0f);
                    }
                }
            }
        }
    }
}