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

body {
  background: #0a0a0f;
  overflow-x: hidden;
}

#starfield {
  position: fixed;
  top: 0; left: 0;
  width: 100%; height: 100%;
  pointer-events: none;
  z-index: 0;
  background:
    radial-gradient(1px 1px at 10% 20%, rgba(168,85,247,0.6), transparent),
    radial-gradient(1px 1px at 30% 60%, rgba(6,182,212,0.5), transparent),
    radial-gradient(1px 1px at 50% 10%, rgba(236,72,153,0.4), transparent),
    radial-gradient(1px 1px at 70% 80%, rgba(168,85,247,0.5), transparent),
    radial-gradient(1px 1px at 90% 40%, rgba(6,182,212,0.6), transparent),
    radial-gradient(1.5px 1.5px at 15% 85%, rgba(255,255,255,0.7), transparent),
    radial-gradient(1px 1px at 25% 35%, rgba(255,255,255,0.4), transparent),
    radial-gradient(1.5px 1.5px at 45% 75%, rgba(168,85,247,0.7), transparent),
    radial-gradient(1px 1px at 55% 45%, rgba(236,72,153,0.5), transparent),
    radial-gradient(1px 1px at 65% 15%, rgba(255,255,255,0.5), transparent),
    radial-gradient(1.5px 1.5px at 75% 55%, rgba(6,182,212,0.6), transparent),
    radial-gradient(1px 1px at 85% 25%, rgba(255,255,255,0.3), transparent),
    radial-gradient(1px 1px at 95% 95%, rgba(168,85,247,0.4), transparent),
    radial-gradient(1px 1px at 5% 50%, rgba(236,72,153,0.5), transparent),
    radial-gradient(1.5px 1.5px at 35% 90%, rgba(255,255,255,0.6), transparent),
    radial-gradient(1px 1px at 80% 70%, rgba(6,182,212,0.4), transparent),
    radial-gradient(1px 1px at 60% 30%, rgba(168,85,247,0.3), transparent),
    radial-gradient(1px 1px at 40% 50%, rgba(255,255,255,0.4), transparent),
    radial-gradient(1.5px 1.5px at 20% 10%, rgba(236,72,153,0.6), transparent),
    radial-gradient(1px 1px at 88% 88%, rgba(255,255,255,0.5), transparent);
}

@keyframes glow-pulse {
  0%, 100% { box-shadow: 0 0 15px rgba(168,85,247,0.3), 0 0 30px rgba(168,85,247,0.1); }
  50% { box-shadow: 0 0 25px rgba(168,85,247,0.5), 0 0 50px rgba(6,182,212,0.2); }
}

@keyframes shimmer {
  0% { background-position: -200% center; }
  100% { background-position: 200% center; }
}

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

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

@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}

.glow-border {
  animation: glow-pulse 3s ease-in-out infinite;
}

.gradient-text {
  background: linear-gradient(135deg, #a855f7, #06b6d4, #ec4899, #a855f7);
  background-size: 300% 300%;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: shimmer 4s linear infinite;
}

.btn-generate {
  background: linear-gradient(135deg, #a855f7, #ec4899);
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}

.btn-generate:hover {
  transform: translateY(-2px);
  box-shadow: 0 0 30px rgba(168,85,247,0.5), 0 0 60px rgba(236,72,153,0.3);
}

.btn-generate:active {
  transform: translateY(0);
}

.btn-generate::before {
  content: '';
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: linear-gradient(45deg, transparent, rgba(255,255,255,0.1), transparent);
  transform: rotate(45deg);
  transition: all 0.5s;
}

.btn-generate:hover::before {
  animation: shimmer 1.5s linear;
}

.glass-card {
  background: rgba(26, 26, 46, 0.6);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(168,85,247,0.15);
}

.image-card {
  background: rgba(26, 26, 46, 0.7);
  backdrop-filter: blur(20px);
  border: 1px solid rgba(168,85,247,0.2);
  box-shadow: 0 0 30px rgba(168,85,247,0.1), 0 8px 32px rgba(0,0,0,0.4);
}

.style-pill {
  transition: all 0.2s ease;
  border: 1px solid rgba(168,85,247,0.2);
  background: rgba(26,26,46,0.5);
}

.style-pill:hover {
  border-color: rgba(168,85,247,0.5);
  background: rgba(168,85,247,0.1);
}

.style-pill.active {
  border-color: #a855f7;
  background: rgba(168,85,247,0.25);
  box-shadow: 0 0 15px rgba(168,85,247,0.3);
}

.action-btn {
  background: rgba(26, 26, 46, 0.8);
  border: 1px solid rgba(168,85,247,0.2);
  transition: all 0.2s ease;
}

.action-btn:hover {
  border-color: rgba(168,85,247,0.5);
  background: rgba(168,85,247,0.15);
  transform: translateY(-1px);
}

.gallery-item {
  transition: all 0.3s ease;
  cursor: pointer;
}

.gallery-item:hover {
  transform: scale(1.03);
  box-shadow: 0 0 25px rgba(168,85,247,0.3);
}

.fade-in-up {
  animation: fadeInUp 0.5s ease-out;
}

.spinner {
  animation: spin-slow 2s linear infinite;
}

.textarea-glow:focus {
  box-shadow: 0 0 20px rgba(168,85,247,0.4), 0 0 40px rgba(6,182,212,0.15);
}

.modal-overlay {
  background: rgba(0,0,0,0.8);
  backdrop-filter: blur(10px);
}

::-webkit-scrollbar {
  width: 8px;
}

::-webkit-scrollbar-track {
  background: #0a0a0f;
}

::-webkit-scrollbar-thumb {
  background: rgba(168,85,247,0.3);
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: rgba(168,85,247,0.5);
}