/* Custom CSS for CodeCanvas Noir Portfolio */ * { margin: 0; padding: 0; box-sizing: border-box; } html { scroll-behavior: smooth; } body { font-family: 'Inter', system-ui, -apple-system, sans-serif; line-height: 1.6; } /* Custom Animations */ @keyframes float { 0%, 100% { transform: translateY(0px); } 50% { transform: translateY(-10px); } } @keyframes glow { from { filter: drop-shadow(0 0 5px rgba(100, 116, 139, 0.3)); } to { filter: drop-shadow(0 0 15px rgba(100, 116, 139, 0.6)); } } @keyframes fadeIn { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } } @keyframes slideUp { from { opacity: 0; transform: translateY(40px); } to { opacity: 1; transform: translateY(0); } } /* Custom Scrollbar */ ::-webkit-scrollbar { width: 8px; } ::-webkit-scrollbar-track { background: #0f172a; } ::-webkit-scrollbar-thumb { background: #334155; border-radius: 4px; } ::-webkit-scrollbar-thumb:hover { background: #475569; } /* Section Transitions */ section { position: relative; } /* Project Card Hover Effects */ .project-card:hover .project-image { transform: scale(1.05); } /* Navigation Active State */ .nav-active { color: #f1f5f9; position: relative; } .nav-active::after { content: ''; position: absolute; bottom: -2px; left: 0; width: 100%; height: 2px; background: linear-gradient(90deg, #64748b, #94a3b8); border-radius: 2px; } /* Glass Morphism Effects */ .glass { background: rgba(15, 23, 42, 0.7); backdrop-filter: blur(10px); border: 1px solid rgba(255, 255, 255, 0.1); } /* Text Selection */ ::selection { background: rgba(100, 116, 139, 0.3); color: #f1f5f9; } /* Focus States */ button:focus, a:focus { outline: 2px solid #64748b; outline-offset: 2px; } /* Mobile Optimizations */ @media (max-width: 768px) { .project-card { margin-bottom: 2rem; } .hero-title { font-size: 3rem !important; } .hero-subtitle { font-size: 1.25rem !important; } } /* Performance Optimizations */ @media (prefers-reduced-motion: reduce) { * { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; } } /* Loading States */ .loading { opacity: 0.7; pointer-events: none; } /* Custom Cursor (Optional) */ /* Uncomment if you want a custom cursor body { cursor: none; } .custom-cursor { position: fixed; width: 20px; height: 20px; background: rgba(100, 116, 139, 0.5); border-radius: 50%; pointer-events: none; z-index: 9999; mix-blend-mode: difference; } */