* { font-family: 'Inter', sans-serif; } body { background-color: #121212; color: #f5f5f5; overflow-x: hidden; } .page { display: none; } .active-page { display: block; } .gradient-bg { background: linear-gradient(135deg, #121212 0%, #1a1a1a 100%); } .card-gradient { background: linear-gradient(135deg, #1a1a1a 0%, #222222 100%); } .btn-accent { background-color: #ff5252; color: white; transition: all 0.3s ease; } .btn-accent:hover { background-color: #e04444; transform: translateY(-2px); box-shadow: 0 4px 12px rgba(255, 82, 82, 0.2); } .nav-link { position: relative; transition: all 0.3s ease; } .nav-link::after { content: ''; position: absolute; bottom: -2px; left: 0; width: 0; height: 2px; background-color: #ff5252; transition: width 0.3s ease; } .nav-link:hover::after { width: 100%; } .nav-link.active::after { width: 100%; } .feature-card { transition: transform 0.3s ease, box-shadow 0.3s ease; } .feature-card:hover { transform: translateY(-5px); box-shadow: 0 10px 20px rgba(0, 0, 0, 0.3); } .product-card { transition: all 0.3s ease; } .product-card:hover { transform: scale(1.02); box-shadow: 0 10px 25px rgba(0, 0, 0, 0.4); } .modal-overlay { background-color: rgba(0, 0, 0, 0.8); } .modal-content { animation: modalAppear 0.3s ease-out forwards; } @keyframes modalAppear { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } } .admin-table { border-collapse: separate; border-spacing: 0; } .admin-table th { background-color: #1a1a1a; } .admin-table tr:nth-child(even) { background-color: #1a1a1a; } .admin-table tr:nth-child(odd) { background-color: #222222; } .admin-table tr:hover { background-color: #2a2a2a; } .profile-avatar { border: 2px solid #ff5252; } .subscription-status { position: relative; padding-left: 1.5rem; } .subscription-status::before { content: ''; position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 10px; height: 10px; border-radius: 50%; background-color: #4ade80; } .subscription-status.expired::before { background-color: #ff5252; } .form-input { background-color: #222222; border: 1px solid #2a2a2a; color: white; transition: border-color 0.3s ease; } .form-input:focus { border-color: #ff5252; outline: none; } .form-input::placeholder { color: #666; } .fade-in { animation: fadeIn 0.6s ease-out forwards; will-change: opacity, transform; } @keyframes fadeIn { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: translateY(0); } } @media (max-width: 768px) { .fade-in { animation: fadeInMobile 0.4s ease-out forwards; } @keyframes fadeInMobile { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } } .feature-card:hover { transform: none; box-shadow: none; } .product-card:hover { transform: none; box-shadow: none; } } #mobile-menu { backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4); } #mobile-menu a { position: relative; border-radius: 12px; transition: all 0.3s ease; overflow: hidden; } #mobile-menu a::before { content: ''; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(255, 82, 82, 0.1), transparent); transition: left 0.5s ease; } #mobile-menu a:hover::before { left: 100%; } #mobile-menu a:hover { background-color: #2a2a2a; transform: translateY(-2px); box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3); } #mobile-menu a i { transition: all 0.3s ease; } #mobile-menu a:hover i { color: #ff5252; } #mobile-menu-button { position: relative; transition: all 0.2s ease; } #mobile-menu-button:hover { background-color: #2a2a2a; transform: scale(1.05); } #mobile-menu-close { transition: all 0.2s ease; } #mobile-menu-close:hover { background-color: #2a2a2a; transform: scale(1.1); } .animate-on-scroll { will-change: opacity, transform; backface-visibility: hidden; transform: translateZ(0); } .feature-list li { position: relative; overflow: hidden; } .feature-list li::before { display: none; } .feature-list li:hover::before { display: none; } .notification { position: fixed; top: 20px; right: 20px; padding: 1rem; border-radius: 0.5rem; color: white; z-index: 1000; animation: slideIn 0.3s ease-out; } .notification.success { background-color: #10b981; } .notification.error { background-color: #ef4444; } .notification.warning { background-color: #f59e0b; } @keyframes slideIn { from { transform: translateX(100%); opacity: 0; } to { transform: translateX(0); opacity: 1; } } .loading { display: inline-block; width: 20px; height: 20px; border: 3px solid rgba(255, 255, 255, 0.3); border-radius: 50%; border-top-color: #ff5252; animation: spin 1s ease-in-out infinite; } @keyframes spin { to { transform: rotate(360deg); } } @media (max-width: 768px) { .animate-on-scroll { animation: none; opacity: 1; transform: none; } .nav-link:hover::after { width: 0; } #mobile-menu { transform: translateY(-10px); transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); } #mobile-menu:not(.hidden) { transform: translateY(0); } } * { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } @media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; } .animate-on-scroll { animation: none !important; opacity: 1 !important; transform: none !important; } }