body {
  font-family: 'Quicksand', sans-serif;
  background: linear-gradient(135deg, #ffecf2 0%, #f0e6ff 50%, #e6f0ff 100%);
  min-height: 100vh;
}

.profile-container {
  position: relative;
  display: inline-block;
}

.profile-glow {
  position: absolute;
  inset: -4px;
  background: linear-gradient(45deg, #ff69b4, #9370db);
  border-radius: 50%;
  filter: blur(15px);
  opacity: 0.75;
  animation: pulse 2s infinite;
}

.profile-image {
  position: relative;
  width: 200px;
  height: 200px;
  border-radius: 50%;
  border: 4px solid white;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
  object-fit: cover;
}

.gradient-text {
  background: linear-gradient(45deg, #ff69b4, #9370db);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.quote-container {
  position: relative;
  animation: float 3s ease-in-out infinite;
}

.quote-bg {
  position: absolute;
  inset: -16px;
  background: white;
  border-radius: 1rem;
  filter: blur(8px);
  opacity: 0.75;
}

.floating-icon {
  animation: float 3s ease-in-out infinite;
}

.spinning-icon {
  animation: spin 4s linear infinite;
}

.bouncing-badge {
  animation: bounce 2s ease-in-out infinite;
}

.delay-1 {
  animation-delay: 0.75s;
}

.delay-2 {
  animation-delay: 1.5s;
}

/* Custom colors */
.bg-pink-light {
  background-color: #ffe0f0;
}

.bg-purple-light {
  background-color: #f0e6ff;
}

.bg-info-light {
  background-color: #e6f0ff;
}

.text-pink {
  color: #ff69b4;
}

.text-purple {
  color: #9370db;
}

/* Icons */
.heart-icon, .star-icon, .sparkle-icon {
  display: inline-block;
  width: 24px;
  height: 24px;
  background-size: contain;
  background-repeat: no-repeat;
}

.heart-icon {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z'%3E%3C/path%3E%3C/svg%3E");
}

.star-icon {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolygon points='12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2'%3E%3C/polygon%3E%3C/svg%3E");
}

.sparkle-icon {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 3-1.912 5.813a2 2 0 0 1-1.275 1.275L3 12l5.813 1.912a2 2 0 0 1 1.275 1.275L12 21l1.912-5.813a2 2 0 0 1 1.275-1.275L21 12l-5.813-1.912a2 2 0 0 1-1.275-1.275L12 3Z'%3E%3C/path%3E%3Cpath d='M5 3v4'%3E%3C/path%3E%3Cpath d='M19 17v4'%3E%3C/path%3E%3Cpath d='M3 5h4'%3E%3C/path%3E%3Cpath d='M17 19h4'%3E%3C/path%3E%3C/svg%3E");
}

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

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

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

@keyframes pulse {
  0%, 100% { opacity: 0.75; }
  50% { opacity: 1; }
}