body { padding: 2rem; font-family: -apple-system, BlinkMacSystemFont, "Arial", sans-serif; } h1 { font-size: 16px; margin-top: 0; } p { color: rgb(107, 114, 128); font-size: 15px; margin-bottom: 10px; margin-top: 5px; } .card { max-width: 620px; margin: 0 auto; padding: 16px; border: 1px solid lightgray; border-radius: 16px; } .card p:last-child { margin-bottom: 0; } /* Animated Background */ @keyframes gradientBG { 0% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } 100% { background-position: 0% 50%; } } .animated-bg { background: linear-gradient(-45deg, #0d0d0e, #1a1a2e, #16213e, #0d0d0e); background-size: 400% 400%; animation: gradientBG 15s ease infinite; } /* Floating Particles */ .particle { position: absolute; border-radius: 50%; background: rgba(124, 58, 237, 0.3); animation: float 20s infinite; pointer-events: none; } @keyframes float { 0%, 100% { transform: translateY(0) translateX(0) rotate(0deg); opacity: 0; } 10% { opacity: 1; } 90% { opacity: 1; } 100% { transform: translateY(-100vh) translateX(100px) rotate(360deg); opacity: 0; } } /* Fade In Up Animation */ @keyframes fadeInUp { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: translateY(0); } } .fade-in-up { animation: fadeInUp 0.6s ease-out forwards; opacity: 0; } .delay-1 { animation-delay: 0.1s; } .delay-2 { animation-delay: 0.2s; } .delay-3 { animation-delay: 0.3s; } .delay-4 { animation-delay: 0.4s; } .delay-5 { animation-delay: 0.5s; } /* Glowing Pulse */ @keyframes glowPulse { 0%, 100% { box-shadow: 12px 12px 24px #050506, -12px -12px 24px #1f1f22; } 50% { box-shadow: 12px 12px 24px #050506, -12px -12px 24px #1f1f22, 0 0 30px rgba(124, 58, 237, 0.3); } } .glow-hover:hover { animation: glowPulse 2s ease-in-out infinite; } /* Shimmer Effect for Preview */ @keyframes shimmer { 0% { background-position: -200% 0; } 100% { background-position: 200% 0; } } .shimmer { background: linear-gradient(90deg, #1a1a1a 25%, #2a2a2a 50%, #1a1a1a 75%); background-size: 200% 100%; animation: shimmer 2s infinite; } /* Typing Indicator */ @keyframes typing { 0%, 60%, 100% { transform: translateY(0); } 30% { transform: translateY(-10px); } } .typing-dot { width: 8px; height: 8px; background: #06B6D4; border-radius: 50%; display: inline-block; margin: 0 4px; animation: typing 1.4s infinite ease-in-out; } .typing-dot:nth-child(2) { animation-delay: 0.2s; } .typing-dot:nth-child(3) { animation-delay: 0.4s; } /* Button Ripple Effect */ @keyframes ripple { 0% { transform: scale(0); opacity: 1; } 100% { transform: scale(4); opacity: 0; } } .ripple-effect { position: relative; overflow: hidden; } .ripple-effect::after { content: ''; position: absolute; top: 50%; left: 50%; width: 5px; height: 5px; background: rgba(255, 255, 255, 0.5); border-radius: 50%; transform: scale(0); opacity: 0; transition: all 0.3s; } .ripple-effect:active::after { animation: ripple 0.6s ease-out; } /* Neon Glow Text */ @keyframes neonGlow { 0%, 100% { text-shadow: 0 0 5px rgba(255, 77, 151, 0.5), 0 0 10px rgba(255, 77, 151, 0.3); } 50% { text-shadow: 0 0 10px rgba(255, 77, 151, 0.8), 0 0 20px rgba(255, 77, 151, 0.5), 0 0 30px rgba(255, 77, 151, 0.3); } } .neon-text { animation: neonGlow 2s ease-in-out infinite; } /* Card Hover Border Animation */ @keyframes borderGlow { 0%, 100% { border-color: rgba(124, 58, 237, 0.2); } 50% { border-color: rgba(124, 58, 237, 0.6); } } .card-animate { transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); } .card-animate:hover { animation: borderGlow 1.5s ease-in-out infinite; }