:root {
  --primary: #7B2FBE;
  --primary-dark: #5A1D91;
  --primary-light: #C490F0;
  --secondary: #1E1E2E;
  --accent: #F5A623;
}

.text-gradient {
  background: linear-gradient(135deg, var(--primary), var(--accent));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

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

.animate-fade-in-up {
  animation: fadeInUp 0.4s ease-out both;
}

@keyframes pulse-glow {
  0%, 100% { box-shadow: 0 0 0 0 rgba(108, 92, 231, 0.4); }
  50% { box-shadow: 0 0 16px 4px rgba(108, 92, 231, 0.15); }
}

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

::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: var(--primary-light); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: var(--primary); }

@media print {
  nav, footer, .no-print { display: none !important; }
  body { background: #fff !important; color: #000 !important; }
}