/* CSS Custom Properties */
:root {
  --background: 222.2 84% 4.9%;
  --foreground: 210 40% 98%;
  --card: 222.2 84% 4.9%;
  --card-foreground: 210 40% 98%;
  --popover: 222.2 84% 4.9%;
  --popover-foreground: 210 40% 98%;
  --primary: 210 40% 98%;
  --primary-foreground: 222.2 47.4% 11.2%;
  --secondary: 217.2 32.6% 17.5%;
  --secondary-foreground: 210 40% 98%;
  --muted: 217.2 32.6% 17.5%;
  --muted-foreground: 215 20.2% 65.1%;
  --accent: 217.2 32.6% 17.5%;
  --accent-foreground: 210 40% 98%;
  --destructive: 0 62.8% 30.6%;
  --destructive-foreground: 210 40% 98%;
  --border: 217.2 32.6% 17.5%;
  --input: 217.2 32.6% 17.5%;
  --ring: 212.7 26.8% 83.9%;
  --radius: 0.5rem;
}

body {
  margin: 0;
  line-height: inherit;
  background-color: hsl(var(--background));
  color: hsl(var(--foreground));
  background: #000000;
  overflow-x: hidden;
  font-family: Inter, 'Inter Fallback', Arial, sans-serif;
}

/* Stars background */
.stars {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  pointer-events: none;
  background-image:
    radial-gradient(2px 2px at 20px 30px, #eee, rgba(0,0,0,0)),
    radial-gradient(2px 2px at 40px 70px, #fff, rgba(0,0,0,0)),
    radial-gradient(2px 2px at 50px 160px, #ddd, rgba(0,0,0,0)),
    radial-gradient(2px 2px at 90px 40px, #fff, rgba(0,0,0,0)),
    radial-gradient(2px 2px at 130px 80px, #fff, rgba(0,0,0,0)),
    radial-gradient(2px 2px at 160px 120px, #ddd, rgba(0,0,0,0));
  background-repeat: repeat;
  background-size: 200px 200px;
  animation: zoom 10s infinite;
  opacity: .5;
}

/* Nebula background */
.nebula {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: radial-gradient(ellipse at center, rgba(79, 70, 229, 0.15) 0%, rgba(0,0,0,0) 70%);
  background-size: cover;
  opacity: .2;
  z-index: 0;
  pointer-events: none;
}

/* Glow text */
.glow-text {
  text-shadow: 0 0 10px rgba(255,255,255,.7), 0 0 20px rgba(255,255,255,.5);
}

/* Glow card */
.glow-card {
  box-shadow: 0 0 10px rgba(255,255,255,.3), 0 0 20px rgba(255,255,255,.2);
  transition: all .3s ease;
  border: 1px solid rgba(255,255,255,.2);
  position: relative;
  overflow: hidden;
}
.glow-card:before {
  content: "";
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: radial-gradient(circle, rgba(255,255,255,.1) 0, rgba(255,255,255,0) 70%);
  transform: scale(0);
  transition: transform .5s ease-out;
  pointer-events: none;
}
.glow-card:hover:before {
  transform: scale(1);
}
.glow-card:hover {
  box-shadow: 0 0 15px rgba(255,255,255,.5), 0 0 30px rgba(255,255,255,.3);
}

/* Glow button */
.glow-button {
  box-shadow: 0 0 10px rgba(79,70,229,.5), 0 0 20px rgba(79,70,229,.3);
  transition: all .3s ease;
  position: relative;
  overflow: hidden;
}
.glow-button:before {
  content: "";
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: radial-gradient(circle, rgba(255,255,255,.3) 0, rgba(255,255,255,0) 70%);
  transform: scale(0);
  transition: transform .5s ease-out;
  pointer-events: none;
}
.glow-button:hover:before {
  transform: scale(1);
}
.glow-button:hover {
  box-shadow: 0 0 15px rgba(79,70,229,.7), 0 0 30px rgba(79,70,229,.5);
}

/* Glow line */
.glow-line {
  position: absolute;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.3), rgba(255,255,255,.5), rgba(255,255,255,.3), transparent);
  box-shadow: 0 0 10px rgba(255,255,255,.5), 0 0 20px rgba(255,255,255,.3);
}

/* Header link */
.header-link {
  position: relative;
  color: rgba(255,255,255,.7);
  transition: all .3s ease;
  text-shadow: 0 0 5px rgba(255,255,255,.3);
  text-decoration: none;
}
.header-link:before {
  content: "";
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 100%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.5), transparent);
  transform: scaleX(0);
  transition: transform .3s ease;
}
.header-link.active,
.header-link:hover {
  color: #ffffff;
  text-shadow: 0 0 10px rgba(255,255,255,.5), 0 0 20px rgba(255,255,255,.3);
}
.header-link.active:before,
.header-link:hover:before {
  transform: scaleX(1);
}
.header-link.active:after,
.header-link:hover:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 30px;
  height: 30px;
  background: radial-gradient(circle, rgba(255,255,255,.2) 0, transparent 70%);
  border-radius: 50%;
  transform: translate(-50%, -50%) scale(0);
  animation: pulse 1s infinite;
}

/* Logo text */
.logo-text {
  position: relative;
  font-weight: 700;
  color: #ffffff;
  font-size: 1.5rem;
  display: inline-block;
}

/* Cursor blink */
.cursor {
  display: inline-block;
  width: 2px;
  height: 1.2em;
  background-color: #ffffff;
  vertical-align: text-bottom;
  animation: blink .7s infinite;
  margin-left: 2px;
}

/* Card blur */
.card-blur {
  backdrop-filter: blur(10px);
  background-color: rgba(255,255,255,.05);
}

/* Float animation */
.float {
  animation: float 6s ease-in-out infinite;
}

/* Glow image */
.glow-image {
  box-shadow: 0 0 20px rgba(79, 70, 229, 0.5), 0 0 40px rgba(79, 70, 229, 0.3);
  border: 2px solid rgba(79, 70, 229, 0.3);
}

/* Keyframes */
@keyframes zoom {
  0% { transform: scale(1); }
  50% { transform: scale(1.5); }
  100% { transform: scale(1); }
}

@keyframes float {
  0% { transform: translateY(0); }
  50% { transform: translateY(-20px); }
  100% { transform: translateY(0); }
}

@keyframes blink {
  0% { opacity: 0; }
  50% { opacity: 1; }
  100% { opacity: 0; }
}

@keyframes pulse {
  0% { transform: translate(-50%, -50%) scale(0); opacity: 1; }
  100% { transform: translate(-50%, -50%) scale(1); opacity: 0; }
}

/* Blog prose styles */
.blog-content h2 {
  font-size: 1.5rem;
  font-weight: 700;
  margin-top: 2rem;
  margin-bottom: 1rem;
  color: #c7d2fe;
}
.blog-content h3 {
  font-size: 1.25rem;
  font-weight: 600;
  margin-top: 1.5rem;
  margin-bottom: 0.75rem;
  color: #a5b4fc;
}
.blog-content p {
  margin-bottom: 1rem;
  line-height: 1.75;
  color: #bfdbfe;
}
.blog-content ul, .blog-content ol {
  margin-bottom: 1rem;
  padding-left: 1.5rem;
  color: #bfdbfe;
}
.blog-content ul {
  list-style-type: disc;
}
.blog-content ol {
  list-style-type: decimal;
}
.blog-content li {
  margin-bottom: 0.5rem;
  line-height: 1.75;
}
.blog-content a {
  color: #818cf8;
  text-decoration: underline;
  transition: color 0.3s;
}
.blog-content a:hover {
  color: #a5b4fc;
}
.blog-content strong {
  color: #e0e7ff;
}

/* Placeholder image styles */
.placeholder-img {
  background: linear-gradient(135deg, rgba(79, 70, 229, 0.3), rgba(99, 102, 241, 0.2));
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(255, 255, 255, 0.3);
  font-size: 1rem;
}
