:root {
  --gmfam-orange: #ff6b35;
  --gmfam-yellow: #ffd700;
  --gmfam-purple: #8b5fbf;
  --gmfam-pink: #ffb3d9;
  --gmfam-dark: #2a1810;
}

.animate-bounce-gentle { animation: bounce-gentle 3s ease-in-out infinite; }
.animate-float { animation: float 4s ease-in-out infinite; }
.animate-pulse-soft { animation: pulse-soft 3s ease-in-out infinite; }

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

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

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

.bg-gmfam-gradient {
  background: linear-gradient(135deg, 
    var(--gmfam-yellow) 0%, 
    var(--gmfam-orange) 25%, 
    var(--gmfam-pink) 75%, 
    var(--gmfam-purple) 100%);
}

.text-shadow-soft { text-shadow: 1px 1px 3px rgba(0,0,0,0.2); }
.text-shadow-warm { text-shadow: 2px 2px 4px rgba(42, 24, 16, 0.3); }

.floating-emoji {
  position: fixed;
  font-size: 1.5rem;
  pointer-events: none;
  z-index: 1;
  opacity: 0.4;
}

.copy-btn:hover { transform: scale(1.05); }
.copy-btn:active { transform: scale(0.95); }

.sticky-header {
  backdrop-filter: blur(15px);
  background: linear-gradient(135deg, 
    var(--gmfam-yellow) 0%, 
    var(--gmfam-orange) 30%, 
    var(--gmfam-pink) 70%, 
    var(--gmfam-purple) 100%);
  border-bottom: 1px solid rgba(255, 255, 255, 0.3);
  box-shadow: 0 2px 15px rgba(0, 0, 0, 0.1);
}

.glass-card {
  background: rgba(255, 255, 255, 0.15);
  backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.2);
  transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transform: translateY(20px);
  opacity: 0;
}

.glass-card:hover {
  transform: translateY(-10px) scale(1.02);
  box-shadow: 0 20px 40px rgba(255, 107, 53, 0.2);
  border-color: rgba(255, 255, 255, 0.4);
  background: rgba(255, 255, 255, 0.25);
}

.glass-card.animate-in {
  transform: translateY(0);
  opacity: 1;
}

.btn-primary {
  background: linear-gradient(135deg, var(--gmfam-orange), var(--gmfam-yellow));
  transition: all 0.3s ease;
}

.btn-primary:hover {
  background: linear-gradient(135deg, #ff5722, #ffeb3b);
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(255, 107, 53, 0.3);
}

.btn-secondary {
  background: linear-gradient(135deg, var(--gmfam-purple), var(--gmfam-pink));
  transition: all 0.3s ease;
}

.btn-secondary:hover {
  background: linear-gradient(135deg, #7b1fa2, #e91e63);
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(139, 95, 191, 0.3);
}

.hero-logo {
  border-radius: 16px;
  box-shadow: 0 8px 24px rgba(255, 107, 53, 0.3);
  transition: all 0.3s ease;
}

.hero-logo:hover {
  transform: scale(1.05);
  box-shadow: 0 12px 32px rgba(255, 107, 53, 0.4);
}

.header-logo {
  border-radius: 12px;
  box-shadow: 0 4px 16px rgba(255, 107, 53, 0.2);
  transition: all 0.3s ease;
}

.header-logo:hover {
  transform: scale(1.1);
}

/* Quote Cards with Hover Effects */
.quote-card {
  transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transform: translateY(10px);
  opacity: 0;
}

.quote-card:hover {
  transform: translateY(-5px) scale(1.05);
  box-shadow: 0 15px 30px rgba(255, 107, 53, 0.15);
}

.quote-card.animate-in {
  transform: translateY(0);
  opacity: 1;
}

/* Link Cards Enhanced */
.link-card {
  transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transform: translateY(10px);
  opacity: 0;
}

.link-card:hover {
  transform: translateY(-8px) scale(1.05);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);
}

.link-card.animate-in {
  transform: translateY(0);
  opacity: 1;
}

/* Stats Cards */
.stat-card {
  transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transform: translateY(10px);
  opacity: 0;
}

.stat-card:hover {
  transform: translateY(-5px) scale(1.08);
  box-shadow: 0 15px 30px rgba(255, 107, 53, 0.15);
  background: rgba(255, 255, 255, 0.6);
}

.stat-card.animate-in {
  transform: translateY(0);
  opacity: 1;
}

/* Token Info Cards */
.token-info-card {
  transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transform: translateY(10px);
  opacity: 0;
}

.token-info-card:hover {
  transform: translateY(-3px) scale(1.02);
  box-shadow: 0 10px 25px rgba(255, 107, 53, 0.1);
  background: rgba(255, 255, 255, 0.6);
}

.token-info-card.animate-in {
  transform: translateY(0);
  opacity: 1;
}

@media (max-width: 640px) {
  .mobile-text { font-size: 0.9rem; }
  .mobile-button { padding: 0.75rem 1.5rem; font-size: 0.9rem; }
  .floating-emoji { font-size: 1.2rem; opacity: 0.3; }
}
