/* Custom Scrollbar */ ::-webkit-scrollbar { width: 8px; height: 8px; } ::-webkit-scrollbar-track { background: #0f172a; } ::-webkit-scrollbar-thumb { background: #334155; border-radius: 4px; } ::-webkit-scrollbar-thumb:hover { background: #475569; } /* Glassmorphism Utilities */ .glass-card { background: rgba(30, 41, 59, 0.4); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); } .glass-panel { background: rgba(15, 23, 42, 0.6); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); border: 1px solid rgba(255, 255, 255, 0.1); } /* Gradient Text */ .gradient-text { background: linear-gradient(135deg, #8b5cf6 0%, #06b6d4 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; } /* Glow Effects */ .glow-primary { box-shadow: 0 0 20px rgba(139, 92, 246, 0.3); } .glow-secondary { box-shadow: 0 0 20px rgba(6, 182, 212, 0.3); } /* Input Styling */ .input-cyber { background: rgba(15, 23, 42, 0.8); border: 1px solid rgba(139, 92, 246, 0.2); transition: all 0.3s ease; } .input-cyber:focus { border-color: rgba(139, 92, 246, 0.6); box-shadow: 0 0 0 3px rgba(139, 92, 246, 0.1); outline: none; } /* Loading Shimmer */ .shimmer-bg { background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.05) 50%, rgba(255,255,255,0) 100%); background-size: 1000px 100%; animation: shimmer 2s infinite linear; } /* Range Slider Styling */ input[type=range] { -webkit-appearance: none; background: transparent; } input[type=range]::-webkit-slider-thumb { -webkit-appearance: none; height: 16px; width: 16px; border-radius: 50%; background: #8b5cf6; cursor: pointer; margin-top: -6px; box-shadow: 0 0 10px rgba(139, 92, 246, 0.5); } input[type=range]::-webkit-slider-runnable-track { width: 100%; height: 4px; cursor: pointer; background: rgba(139, 92, 246, 0.2); border-radius: 2px; } /* Animation Classes */ @keyframes float { 0%, 100% { transform: translateY(0px); } 50% { transform: translateY(-10px); } } .animate-float { animation: float 6s ease-in-out infinite; } /* Grid Pattern Background */ .bg-grid { background-image: linear-gradient(rgba(255, 255, 255, 0.03) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.03) 1px, transparent 1px); background-size: 50px 50px; } /* Button Hover Effects */ .btn-glow { position: relative; overflow: hidden; } .btn-glow::before { content: ''; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent); transition: 0.5s; } .btn-glow:hover::before { left: 100%; } /* Image Hover Zoom */ .img-zoom { transition: transform 0.5s ease; } .img-zoom:hover { transform: scale(1.05); } /* Custom Checkbox */ .cyber-checkbox { appearance: none; width: 1.2rem; height: 1.2rem; border: 2px solid rgba(139, 92, 246, 0.4); border-radius: 4px; background: rgba(15, 23, 42, 0.5); cursor: pointer; position: relative; } .cyber-checkbox:checked { background: #8b5cf6; border-color: #8b5cf6; } .cyber-checkbox:checked::after { content: '✓'; position: absolute; color: white; font-size: 0.8rem; top: 50%; left: 50%; transform: translate(-50%, -50%); } /* Tag/Pill Styling */ .tag-pill { background: rgba(139, 92, 246, 0.1); border: 1px solid rgba(139, 92, 246, 0.3); color: #c4b5fd; transition: all 0.2s; } .tag-pill:hover { background: rgba(139, 92, 246, 0.2); border-color: rgba(139, 92, 246, 0.5); transform: translateY(-1px); } /* Video Player Simulation */ .video-container { position: relative; background: #000; overflow: hidden; } .video-container::after { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: linear-gradient(45deg, rgba(139, 92, 246, 0.1), rgba(6, 182, 212, 0.1)); pointer-events: none; } /* Responsive Typography */ @media (max-width: 640px) { .responsive-heading { font-size: 2rem; } }