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

/* Font */
body {
  font-family: "Parastoo", serif;
  background: black;
  color: white;
  text-align: center;
  overflow-x: hidden;
}

/* Animated Stars */
canvas {
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
}

/* HERO SECTION */
.hero1 {
  height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 20px;
}

/* Big Important School Name */
.school-name {
  font-size: 75px;
  font-weight: 700;
  margin-bottom: 30px;
  text-shadow: 0 0 20px white, 0 0 40px #00ccff, 0 0 60px #0099ff;
}

/* Main Title */
.main-title {
  font-size: 50px;
  margin-bottom: 25px;
}

/* Glow Effect */
.glow {
  text-shadow: 0 0 10px white, 0 0 20px white, 0 0 40px #00ccff;
}

.subtitle {
  font-size: 26px; /* Increased */
  opacity: 0.95;
  max-width: 850px;
  line-height: 1.6;
}

/* Topics Section */
.topics {
  padding: 100px 20px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 50px;
}

/* Planet Cards */
.planet-card {
  width: 250px;
  text-decoration: none;
  color: white;
  transition: transform 0.4s ease;
  perspective: 1000px;
}

.planet-card img {
  width: 250px;
  height: 250px;
  border-radius: 50%;
  object-fit: cover;
  transition: transform 1s ease;
  box-shadow: 0 0 35px rgba(255, 255, 255, 0.5);
}

/* 3D Rotation */
.planet-card:hover img {
  transform: rotateY(360deg);
}

.planet-card:hover {
  transform: scale(1.1);
}

.planet-card h3 {
  margin-top: 15px;
  font-size: 24px; /* Bigger */
}
html {
  scroll-behavior: smooth;
}

/****************/
/*  blackhole   */
/****************/

/* HERO BACKGROUND */
.blackhole-hero {
  position: relative;
  height: 100vh;
  background: url("image/blackhole.jpg") center/cover no-repeat;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.overlay {
  position: absolute;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.75); /* Dimmed background */
}

.hero-content {
  position: relative;
  z-index: 2;
}

.bh-title {
  font-size: 80px; /* Big */
  text-shadow: 0 0 20px #a020f0, 0 0 40px #8000ff, 0 0 60px #4b0082;
}

.bh-subtitle {
  font-size: 28px; /* Bigger */
  opacity: 0.9;
  margin-top: 15px;
}

/* CONTENT SECTION */
.content {
  max-width: 950px;
  margin: auto;
  padding: 100px 20px;
  line-height: 1.8;
  font-size: 22px; /* Much bigger */
}

/* Section titles */
.content h2 {
  margin-top: 50px;
  color: #c084fc;
  font-size: 36px; /* Bigger */
}

.content h3 {
  font-size: 28px; /* Bigger */
  margin-top: 30px;
}

/* Content Images */
.content-img {
  width: 100%;
  margin: 30px 0;
  border-radius: 15px;
  box-shadow: 0 0 50px rgba(128, 0, 255, 0.6);
}

/* Fun Fact Box */
.fun-fact {
  margin: 50px 0;
  padding: 25px;
  background: rgba(128, 0, 255, 0.2);
  border-left: 6px solid #a020f0;
  font-weight: bold;
  font-size: 22px; /* Bigger */
}

/* Back Button */
.back-btnB {
  display: inline-block;
  margin-top: 60px;
  padding: 12px 25px;
  border: 2px solid #c084fc;
  color: #c084fc;
  text-decoration: none;
  transition: 0.3s;
  font-size: 20px; /* Bigger */
}

.back-btnB:hover {
  background: #c084fc;
  color: black;
}

*********************/
/* Cluster 
*********************/

.hero {
  padding: 100px 20px 50px;
}

.hero h1 {
  font-family: "Parastoo", serif;
  font-size: 70px;
  color: #ffcc33;
  text-shadow: 0 0 20px #ffcc33, 0 0 40px #ff9900;
}

.hero p {
  font-size: 24px;
  margin-top: 15px;
}

.star-section {
  height: 70vh;
  display: flex;
  justify-content: center;
  align-items: center;
}

.star-wrapper {
  position: relative;
  width: 350px;
  height: 350px;
  transform: scale(0);
  opacity: 0;
}

.star-image {
  width: 100%;
  height: 100%;
  animation: spin 8s linear infinite;
  filter: drop-shadow(0 0 40px rgba(255, 255, 255, 0.6));
}

.star-text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 70%;
  font-size: 22px;
  line-height: 1.7;
  font-weight: bold;
  pointer-events: none;
  text-align: center;
}

@keyframes spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

.back-btn {
  display: inline-block;
  margin: 40px 0 80px;
  padding: 12px 25px;
  border: 2px solid #ffcc33;
  color: #ffcc33;
  text-decoration: none;
  font-size: 20px;
  transition: 0.3s;
}

.back-btn:hover {
  background: #ffcc33;
  color: black;
}

/*********************/
/* Nebula           */
/*********************/

/* Hero Section */
.nebula-hero {
  position: relative;
  height: 90vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  background: url("image/green nebula.jpeg") center/cover no-repeat;
  overflow: hidden;
}

.overlay {
  position: absolute;
  width: 100%;
  height: 100%;
  background: rgba(10, 0, 20, 0.6);
}

.nebula-title {
  position: relative;
  font-family: "Parastoo", sans-serif;
  font-size: 85px;
  color: #ff66ff;
  text-shadow: 0 0 20px #ff66ff, 0 0 50px #ff33ff, 0 0 80px #ff00ff;
  display: inline-block;
  animation: floatLetters 2.5s ease-in-out infinite alternate;
}

@keyframes floatLetters {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(-12px);
  }
}

.nebula-subtitle {
  font-size: 28px;
  margin-top: 15px;
  opacity: 0.9;
  position: relative;
  z-index: 2;
}

/* Content Cards */
.content {
  max-width: 900px;
  margin: auto;
  padding: 60px 20px;
  display: flex;
  flex-direction: column;
  gap: 50px;
}

.nebula-card {
  background: rgba(255, 102, 255, 0.05);
  padding: 30px;
  border-radius: 20px;
  box-shadow: 0 0 40px rgba(255, 102, 255, 0.3);
  transition: transform 1s ease, box-shadow 0.5s ease;
  position: relative;
  overflow: hidden;
}

.nebula-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 0 60px rgba(255, 102, 255, 0.6);
}

.nebula-card img {
  width: 100%;
  max-width: 600px;
  border-radius: 15px;
  margin-top: 20px;
  box-shadow: 0 0 40px rgba(255, 102, 255, 0.4);
}

/* Headings */
.nebula-card h2 {
  font-family: "Parastoo", sans-serif;
  font-size: 36px;
  color: #ff66ff;
  margin-bottom: 15px;
}

/* Paragraphs */
.nebula-card p {
  font-size: 22px;
  line-height: 1.8;
}

/* Back Button */
.back-btnA {
  display: inline-block;
  margin-top: 30px;
  padding: 12px 25px;
  border: 2px solid #ff66ff;
  color: #ff66ff;
  text-decoration: none;
  font-size: 20px;
  transition: 0.3s;
}

.back-btnA:hover {
  background: #ff66ff;
  color: black;
}

/*********************/
/* Neutron           */
/*********************/

/* Hero Section */
.neutron-hero {
  position: relative;
  height: 100vh;
  background: linear-gradient(rgba(0, 0, 20, 0.7), rgba(0, 0, 30, 0.7));
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.overlay {
  position: absolute;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
}

.hero-content {
  position: relative;
  z-index: 2;
}

/* Hero Title with Vazirmatn */
.neutron-title {
  font-family: "Parastoo", sans-serif;
  font-size: 80px;
  color: #00ffff;
  text-shadow: 0 0 20px #00ffff, 0 0 40px #00aaff, 0 0 60px #0044ff;
  animation: pulse 2s infinite alternate;
}

@keyframes pulse {
  0% {
    text-shadow: 0 0 20px #00ffff, 0 0 40px #00aaff, 0 0 60px #0044ff;
  }
  100% {
    text-shadow: 0 0 40px #00ffff, 0 0 60px #00aaff, 0 0 100px #0044ff;
  }
}

.neutron-subtitle {
  font-size: 28px;
  margin-top: 15px;
  opacity: 0.9;
}

/* Content Sections */
.content {
  max-width: 950px;
  margin: auto;
  padding: 80px 20px;
  line-height: 1.8;
  font-size: 22px; /* Bigger paragraphs */
}

.section {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 80px;
  gap: 30px;
}

.section.reverse {
  flex-direction: row-reverse;
}

.section-img {
  width: 100%;
  max-width: 450px;
  border-radius: 15px;
  box-shadow: 0 0 50px rgba(0, 255, 255, 0.5);
}

.section-text {
  flex: 1;
  text-align: right;
}

.section-text h2 {
  color: #00ffff;
  font-size: 34px;
  margin-bottom: 15px;
}

.section-text ul {
  list-style: disc;
  margin-right: 20px;
}

.section-text ul li {
  margin: 10px 0;
  font-size: 22px;
}

/* Back Button */
.back-btnN {
  display: inline-block;
  margin-top: 50px;
  padding: 12px 25px;
  border: 2px solid #00ffff;
  color: #00ffff;
  text-decoration: none;
  font-size: 20px;
  transition: 0.3s;
}

.back-btnN:hover {
  background: #00ffff;
  color: black;
}

/***************************/
/* Constellation           */
/***************************/

.title {
  text-align: center;
  font-family: "Parastoo", sans-serif;
  font-size: 65px;
  margin: 40px 0;
  text-shadow: 0 0 25px cyan;
}

/* Canvas background */
#starCanvas {
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
}

/* Grid layout */
.constellation-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
  gap: 60px;
  padding: 60px;
  max-width: 1400px;
  margin: auto;
}

/* Constellation card */
.constellation {
  text-align: center;
  transition: 0.4s;
}

.constellation img {
  width: 320px;
  filter: brightness(1.8) drop-shadow(0 0 30px white);
  transition: 0.4s;
}

.constellation:hover img {
  transform: scale(1.1);
  filter: brightness(2) drop-shadow(0 0 40px cyan);
}

/* Real button look */
.constellation button {
  margin-top: 20px;
  padding: 12px 25px;
  font-size: 22px;
  border-radius: 30px;
  border: none;
  background: linear-gradient(45deg, cyan, blue);
  color: black;
  cursor: pointer;
  font-weight: bold;
  transition: 0.3s;
}

.constellation button:hover {
  transform: scale(1.1);
  box-shadow: 0 0 25px cyan;
}

/* Info box */
.info-box {
  position: fixed;
  bottom: 40px;
  left: 50%;
  transform: translateX(-50%);
  background: rgba(0, 0, 40, 0.95);
  padding: 35px;
  max-width: 900px;
  font-size: 24px;
  border-radius: 25px;
  text-align: center;
  display: none;
  box-shadow: 0 0 35px cyan;
}
