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

html,
body {
  margin: 0;
  overflow: hidden;
  position: relative;
  background: #050505;
}

/* === CANVAS === */
canvas {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
}

/* Fond galaxie derrière tout */
canvas#bg-stars {
  z-index: 0;
}

/* Canvas Three.js au-dessus */
canvas:not(#bg-stars) {
  z-index: 1;
}

/* === BRUIT + GLOW === */
body::before {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: radial-gradient(circle at center, rgba(255, 255, 255, 0.05), transparent 60%),
              radial-gradient(circle at 70% 30%, rgba(0, 255, 255, 0.05), transparent 70%),
              url("https://www.transparenttextures.com/patterns/noise.png");
  background-blend-mode: screen;
  mix-blend-mode: lighten;
  opacity: 0.25;
  pointer-events: none;
  z-index: 0;
  animation: noisePulse 6s ease-in-out infinite alternate;
  filter: blur(0.5px);
}

@keyframes noisePulse {
  0% {
    opacity: 0.15;
    filter: blur(0.4px);
  }
  50% {
    opacity: 0.3;
    filter: blur(1px);
  }
  100% {
    opacity: 0.2;
    filter: blur(0.6px);
  }
}

/* === NAV BAR === */
nav {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  padding: 2em;
  display: flex;
  justify-content: center;
  z-index: 3;
}

nav p {
  text-transform: uppercase;
  font-family: "Akkurat Trial TT", sans-serif;
  font-size: 12px;
  font-weight: 600;
  padding: 4px 8px;
  background-color: #ffffff;
}

/* === TITRE CENTRAL === */
.header {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  z-index: 3;
}

h1 {
  text-transform: uppercase;
  font-family: "Cy Grotesk", sans-serif;
  font-size: 7.5vw;
  letter-spacing: -0.025em;
  color: #fff;
  text-shadow:
    0 0 10px rgba(253, 192, 253, 0.8),
    0 0 25px rgba(193, 192, 194, 0.6),
    0 0 50px rgb(255, 255, 255);
  animation: glowPulse 6s ease-in-out infinite;
}

@keyframes glowPulse {
  0%, 100% {
    text-shadow:
      0 0 8px rgb(253, 250, 253),
      0 0 25px rgba(180, 0, 255, 0.4),
      0 0 40px rgba(250, 250, 250, 0.2);
  }
  50% {
    text-shadow:
      0 0 15px rgba(255, 200, 255, 0.9),
      0 0 35px rgb(205, 201, 206),
      0 0 60px rgb(252, 252, 252);
  }
}
