:root { --text-color: #ffffff; --accent-color: #3b82f6; --gray-color: rgba(255, 255, 255, 0.8); } * { box-sizing: border-box; margin: 0; padding: 0; } @keyframes fadeInUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } } @keyframes scaleIn { from { opacity: 0; transform: scale(0.8); } to { opacity: 1; transform: scale(1); } } body { color: var(--text-color); font-family: 'Inter', sans-serif; line-height: 1.6; min-height: 100vh; position: relative; } .video-background { height: 100%; left: 0; opacity: 0; overflow: hidden; position: fixed; top: 0; width: 100%; z-index: -1; animation: fadeIn 1s ease forwards; } .video-background video { filter: blur(8px) brightness(1.1); height: 100%; object-fit: cover; transform: scale(1.2); width: 100%; } .container { align-items: center; animation: fadeIn 1s ease forwards; background: rgba(0, 0, 0, 0.3); display: flex; justify-content: center; min-height: 100vh; opacity: 0; padding: 2rem; } .content { max-width: 600px; padding: 3rem; text-align: center; white-space: nowrap; } .error-code { animation: scaleIn 0.8s ease forwards; color: var(--text-color); font-size: 8rem; font-weight: 700; line-height: 1; margin-bottom: 2rem; opacity: 0; text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3); } h1 { animation: fadeInUp 0.8s ease forwards 0.3s; color: var(--text-color); font-size: 2rem; font-weight: 700; margin-bottom: 1rem; opacity: 0; text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3); } p { animation: fadeInUp 0.8s ease forwards 0.6s; color: var(--gray-color); font-size: 1.125rem; margin-bottom: 2.5rem; opacity: 0; text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3); } .btn { align-items: center; animation: fadeInUp 0.8s ease forwards 0.9s; background: rgba(59, 130, 246, 0.1); backdrop-filter: blur(8px); border: 1px solid rgba(59, 130, 246, 0.2); border-radius: 12px; color: white; display: inline-flex; font-size: 1rem; font-weight: 500; gap: 0.75rem; opacity: 0; overflow: hidden; padding: 1rem 2rem; position: relative; text-decoration: none; transition: all 0.3s ease; } .btn::before { background: var(--accent-color); content: ''; height: 100%; left: 0; position: absolute; top: 0; transform: translateX(-100%); transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1); width: 100%; z-index: -1; } .btn:hover::before { transform: translateX(0); } .btn i { font-size: 1.1em; position: relative; transition: transform 0.3s ease; z-index: 1; } .btn span { position: relative; z-index: 1; } .btn .fa-arrow-right { margin-left: 0.25rem; } .btn:hover { border-color: var(--accent-color); transform: translateY(-2px); } .btn:hover .fa-arrow-right { transform: translateX(4px); } .btn:hover .fa-home { transform: scale(1.1); } @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } } @media (max-width: 768px) { .content { padding: 2rem; } .error-code { font-size: 6rem; } h1 { font-size: 1.5rem; } p { font-size: 1rem; } } @media (max-width: 480px) { .content { padding: 1.5rem; } .error-code { font-size: 4rem; } h1 { font-size: 1.25rem; } p { font-size: 0.875rem; } .btn { font-size: 0.875rem; padding: 0.875rem 1.5rem; } }