Spaces:
Running
Running
| /* Custom Animations and Styles */ | |
| @keyframes float { | |
| 0%, 100% { | |
| transform: translateY(0px) translateX(0px) rotate(0deg); | |
| } | |
| 33% { | |
| transform: translateY(-20px) translateX(10px) rotate(120deg); | |
| } | |
| 66% { | |
| transform: translateY(10px) translateX(-15px) rotate(240deg); | |
| } | |
| } | |
| @keyframes pulse-glow { | |
| 0%, 100% { | |
| opacity: 0.3; | |
| transform: scale(1); | |
| } | |
| 50% { | |
| opacity: 0.6; | |
| transform: scale(1.05); | |
| } | |
| } | |
| @keyframes loading-spin { | |
| 0% { | |
| transform: rotate(0deg); | |
| } | |
| 100% { | |
| transform: rotate(360deg); | |
| } | |
| } | |
| @keyframes checkmark { | |
| 0% { | |
| height: 0; | |
| width: 0; | |
| opacity: 1; | |
| } | |
| 20% { | |
| height: 0; | |
| width: 12px; | |
| opacity: 1; | |
| } | |
| 40% { | |
| height: 20px; | |
| width: 12px; | |
| opacity: 1; | |
| } | |
| 100% { | |
| height: 20px; | |
| width: 12px; | |
| opacity: 1; | |
| } | |
| } | |
| /* Floating Orbs */ | |
| .floating-orb { | |
| position: absolute; | |
| border-radius: 50%; | |
| background: radial-gradient(circle, rgba(59, 130, 246, 0.4) 0%, rgba(147, 51, 234, 0.2) 70%); | |
| animation: float 20s infinite linear; | |
| filter: blur(20px); | |
| } | |
| .orb-1 { | |
| width: 200px; | |
| height: 200px; | |
| top: 10%; | |
| left: 10%; | |
| animation-duration: 25s; | |
| } | |
| .orb-2 { | |
| width: 150px; | |
| height: 150px; | |
| top: 60%; | |
| left: 80%; | |
| animation-duration: 30s; | |
| } | |
| .orb-3 { | |
| width: 120px; | |
| height: 120px; | |
| top: 80%; | |
| left: 20%; | |
| animation-duration: 35s; | |
| } | |
| .orb-4 { | |
| width: 180px; | |
| height: 180px; | |
| top: 30%; | |
| left: 70%; | |
| animation-duration: 28s; | |
| } | |
| .orb-5 { | |
| width: 100px; | |
| height: 100px; | |
| top: 15%; | |
| left: 85%; | |
| animation-duration: 32s; | |
| } | |
| /* Glass Morphism Effect */ | |
| .glass-morphism { | |
| background: rgba(255, 255, 255, 0.1); | |
| backdrop-filter: blur(10px); | |
| border: 1px solid rgba(255, 255, 255, 0.2); | |
| } | |
| /* Input Highlight Effect */ | |
| .input-highlight { | |
| position: absolute; | |
| bottom: 0; | |
| left: 50%; | |
| width: 0; | |
| height: 2px; | |
| background: linear-gradient(90deg, #3b82f6, #8b5cf6); | |
| transition: all 0.3s ease; | |
| transform: translateX(-50%); | |
| } | |
| .relative:focus-within .input-highlight { | |
| width: 100%; | |
| } | |
| /* Loading Spinner */ | |
| .loading-spinner { | |
| width: 40px; | |
| height: 40px; | |
| border: 4px solid #e5e7eb; | |
| border-top: 4px solid #3b82f6; | |
| border-radius: 50%; | |
| animation: loading-spin 1s linear infinite; | |
| margin: 0 auto; | |
| } | |
| /* Success Checkmark Animation */ | |
| .success-checkmark { | |
| width: 80px; | |
| height: 80px; | |
| margin: 0 auto; | |
| } | |
| .check-icon { | |
| width: 80px; | |
| height: 80px; | |
| position: relative; | |
| border-radius: 50%; | |
| box-sizing: content-box; | |
| border: 4px solid #10b981; | |
| } | |
| .check-icon::before { | |
| top: 3px; | |
| left: -2px; | |
| width: 30px; | |
| transform-origin: 100% 50%; | |
| border-radius: 100px 0 0 100px; | |
| } | |
| .check-icon::after { | |
| top: 0; | |
| left: 30px; | |
| width: 60px; | |
| transform-origin: 0 50%; | |
| border-radius: 0 100px 100px 0; | |
| animation: rotate-circle 4.25s ease-in; | |
| } | |
| .check-icon .icon-line { | |
| height: 5px; | |
| background-color: #10b981; | |
| display: block; | |
| border-radius: 2px; | |
| position: absolute; | |
| z-index: 10; | |
| } | |
| .check-icon .line-tip { | |
| top: 46px; | |
| left: 14px; | |
| width: 25px; | |
| transform: rotate(45deg); | |
| animation: icon-line-tip 0.75s; | |
| } | |
| .check-icon .line-long { | |
| top: 38px; | |
| right: 8px; | |
| width: 47px; | |
| transform: rotate(-45deg); | |
| animation: icon-line-long 0.75s; | |
| } | |
| .check-icon .icon-circle { | |
| top: -4px; | |
| left: -4px; | |
| z-index: 10; | |
| width: 80px; | |
| height: 80px; | |
| border-radius: 50%; | |
| border: 4px solid #10b981; | |
| box-sizing: content-box; | |
| } | |
| .check-icon .icon-fix { | |
| top: 8px; | |
| width: 5px; | |
| left: 26px; | |
| z-index: 1; | |
| transform: rotate(-45deg); | |
| animation: icon-fix 0.75s; | |
| } | |
| /* Button Hover Effects */ | |
| button:hover { | |
| box-shadow: 0 10px 25px rgba(59, 130, 246, 0.4); | |
| } | |
| /* Form Input Animations */ | |
| input:focus { | |
| box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1); | |
| } | |
| /* Responsive Design */ | |
| @media (max-width: 640px) { | |
| .glass-morphism { | |
| margin: 1rem; | |
| padding: 1.5rem; | |
| } | |
| .floating-orb { | |
| display: none; | |
| } | |
| } | |
| /* Enhanced Accessibility */ | |
| @media (prefers-reduced-motion: reduce) { | |
| .floating-orb, | |
| .input-highlight, | |
| button, | |
| input { | |
| animation: none; | |
| transition: none; | |
| } | |
| } |