* { margin:0; padding:0; box-sizing:border-box; }
body {
  font-family: 'Segoe UI', sans-serif;
  background: radial-gradient(circle at 30% 20%, #1b1b3a, #09091a 70%);
  color: #fff;
  overflow: hidden;
}

.space {
  position: relative;
  height: 100vh;
  width: 100%;
}

/* estrellas canvas */
#stars {
  position: absolute;
  width: 100%;
  height: 100%;
}

/* galaxias */
.galaxies .galaxy {
  position: absolute;
  width: 120px;
  height: 120px;
  border-radius: 50%;
  background: radial-gradient(circle, #fff, transparent 70%);
  opacity: 0.15;
  animation: spin 40s linear infinite;
}
.g1 { top: 15%; left: 10%; }
.g2 { top: 20%; right: 15%; animation-duration: 60s; }
.g3 { bottom: 25%; right: 20%; animation-duration: 50s; }

@keyframes spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

/* escena */
.scene {
  position: absolute;
  top: 35%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/* luna */
.moon {
  width: 120px;
  height: 120px;
  background: #ccc;
  border-radius: 50%;
  position: relative;
  box-shadow: 0 0 20px rgba(255,255,255,0.3);
  animation: float 4s ease-in-out infinite;
}
.crater {
  position: absolute;
  background: #aaa;
  border-radius: 50%;
}
.c1 { width:20px;height:20px; top:30px; left:25px;}
.c2 { width:15px;height:15px; top:60px; left:60px;}
.c3 { width:10px;height:10px; top:80px; left:30px;}

/* vaca simple */
.cow {
  position: absolute;
  top: -50px;
  left: 40px;
}
.cow-body {
  width: 30px;
  height: 40px;
  background: white;
  border-radius: 10px;
  animation: bob 3s ease-in-out infinite;
}

/* burbujas */
.thought {
  position: absolute;
  top: -80px;
  left: 70px;
}
.bubble {
  display: inline-block;
  margin: 2px;
  padding: 5px 8px;
  background: white;
  color: black;
  border-radius: 50%;
  font-size: 12px;
  animation: fade 3s infinite;
}
.b1 { animation-delay: 0s; }
.b2 { animation-delay: 0.5s; }
.b3 { animation-delay: 1s; }
.b4 { animation-delay: 1.5s; }
.b5 { animation-delay: 2s; }

/* texto */
.content {
  position: absolute;
  bottom: 15%;
  width: 100%;
  text-align: center;
}
h1 {
  font-size: 2.5rem;
  color: #ffd966;
  text-shadow: 0 0 10px #000;
}
p {
  margin-top: 10px;
  font-size: 1.2rem;
  color: #ddd;
}

/* animaciones */
@keyframes float {
  0%,100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}

@keyframes bob {
  0%,100% { transform: translateY(0); }
  50% { transform: translateY(-5px); }
}

@keyframes fade {
  0% { opacity: 0; transform: translateY(10px); }
  50% { opacity: 1; }
  100% { opacity: 0; transform: translateY(-10px); }
}