Spaces:
Running
Running
| /* Custom Scrollbar */ | |
| ::-webkit-scrollbar { | |
| width: 10px; | |
| } | |
| ::-webkit-scrollbar-track { | |
| background: #0f172a; | |
| } | |
| ::-webkit-scrollbar-thumb { | |
| background: #334155; | |
| border-radius: 5px; | |
| } | |
| ::-webkit-scrollbar-thumb:hover { | |
| background: #475569; | |
| } | |
| /* Smooth Scroll */ | |
| html { | |
| scroll-behavior: smooth; | |
| } | |
| /* Glassmorphism Utilities */ | |
| .glass { | |
| background: rgba(30, 41, 59, 0.7); | |
| backdrop-filter: blur(12px); | |
| -webkit-backdrop-filter: blur(12px); | |
| border: 1px solid rgba(255, 255, 255, 0.1); | |
| } | |
| /* Text Gradients */ | |
| .text-gradient { | |
| background: linear-gradient(135deg, #8b5cf6 0%, #06b6d4 100%); | |
| -webkit-background-clip: text; | |
| -webkit-text-fill-color: transparent; | |
| background-clip: text; | |
| } | |
| /* Animation Delays */ | |
| .delay-100 { animation-delay: 100ms; } | |
| .delay-200 { animation-delay: 200ms; } | |
| .delay-300 { animation-delay: 300ms; } | |
| .delay-400 { animation-delay: 400ms; } | |
| .delay-500 { animation-delay: 500ms; } | |
| /* Hover Lift Effect */ | |
| .hover-lift { | |
| transition: transform 0.3s ease, box-shadow 0.3s ease; | |
| } | |
| .hover-lift:hover { | |
| transform: translateY(-5px); | |
| box-shadow: 0 20px 40px -15px rgba(139, 92, 246, 0.3); | |
| } | |
| /* Glow Effects */ | |
| .glow-primary { | |
| box-shadow: 0 0 20px rgba(139, 92, 246, 0.5); | |
| } | |
| .glow-secondary { | |
| box-shadow: 0 0 20px rgba(6, 182, 212, 0.5); | |
| } | |
| /* Loading Skeleton */ | |
| .skeleton { | |
| background: linear-gradient(90deg, #1e293b 25%, #334155 50%, #1e293b 75%); | |
| background-size: 200% 100%; | |
| animation: loading 1.5s infinite; | |
| } | |
| @keyframes loading { | |
| 0% { background-position: 200% 0; } | |
| 100% { background-position: -200% 0; } | |
| } | |
| /* Custom Selection */ | |
| ::selection { | |
| background: rgba(139, 92, 246, 0.3); | |
| color: white; | |
| } | |
| /* Focus Visible */ | |
| *:focus-visible { | |
| outline: 2px solid #8b5cf6; | |
| outline-offset: 2px; | |
| } | |
| /* Mobile Menu Animation */ | |
| .mobile-menu-enter { | |
| opacity: 0; | |
| transform: translateY(-10px); | |
| } | |
| .mobile-menu-enter-active { | |
| opacity: 1; | |
| transform: translateY(0); | |
| transition: opacity 0.3s ease, transform 0.3s ease; | |
| } | |
| /* Card Shine Effect */ | |
| .card-shine { | |
| position: relative; | |
| overflow: hidden; | |
| } | |
| .card-shine::before { | |
| content: ''; | |
| position: absolute; | |
| top: 0; | |
| left: -100%; | |
| width: 100%; | |
| height: 100%; | |
| background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.1), transparent); | |
| transition: left 0.5s; | |
| } | |
| .card-shine:hover::before { | |
| left: 100%; | |
| } | |
| /* Gradient Border */ | |
| .gradient-border { | |
| position: relative; | |
| background: #0f172a; | |
| border-radius: 1rem; | |
| } | |
| .gradient-border::before { | |
| content: ''; | |
| position: absolute; | |
| inset: -2px; | |
| border-radius: 1rem; | |
| padding: 2px; | |
| background: linear-gradient(135deg, #8b5cf6, #06b6d4); | |
| -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); | |
| mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); | |
| -webkit-mask-composite: xor; | |
| mask-composite: exclude; | |
| } |