/* 404 page specific styles - Dark glitch / data terminal theme */ body.page-404 { background: radial-gradient(circle at top, rgba(13, 117, 255, 0.12), transparent 32%), linear-gradient(180deg, #06080f 0%, #050611 100%); color: #e4f0ff; font-family: 'Inter', 'Segoe UI', 'Helvetica Neue', Arial, sans-serif; } .error-shell { min-height: calc(100vh - 84px); display: flex; align-items: center; justify-content: center; padding: 24px; } .error-card { width: min(900px, 100%); padding: 48px 40px; border-radius: 28px; background: rgba(4, 8, 16, 0.94); border: 1px solid rgba(88, 152, 255, 0.18); box-shadow: 0 26px 80px rgba(0, 0, 0, 0.45); overflow: hidden; position: relative; } .error-card::before, .error-card::after { content: ''; position: absolute; inset: 0; pointer-events: none; } .error-card::before { background: linear-gradient(90deg, rgba(255, 255, 255, 0.04), transparent 40%, rgba(255, 255, 255, 0.04)); transform: skewX(-12deg); } .error-card::after { background-image: radial-gradient(circle at 10% 20%, rgba(3, 155, 255, 0.18), transparent 22%), radial-gradient(circle at 80% 80%, rgba(63, 185, 255, 0.12), transparent 20%); } .error-headline { margin: 0 0 16px; font-size: clamp(3rem, 5vw, 6rem); letter-spacing: -0.08em; line-height: 0.9; color: #7df0ff; text-shadow: 0 0 18px rgba(125, 240, 255, 0.28); animation: glowPulse 2.5s ease-in-out infinite alternate; } .error-subtitle { margin: 0 0 24px; color: #b8d3ff; font-size: 1.05rem; line-height: 1.8; letter-spacing: 0.02em; max-width: 720px; } .error-meta { display: flex; gap: 16px; flex-wrap: wrap; margin-bottom: 32px; } .meta-chip { background: rgba(255, 255, 255, 0.04); border: 1px solid rgba(34, 126, 255, 0.18); border-radius: 999px; padding: 10px 18px; font-size: 0.95rem; color: #c4d6ff; } .error-actions { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; } .button-return { display: inline-flex; align-items: center; justify-content: center; padding: 14px 26px; border-radius: 999px; border: 1px solid rgba(125, 240, 255, 0.5); background: rgba(26, 34, 60, 0.95); color: #e5f4ff; font-size: 0.98rem; font-weight: 700; text-decoration: none; text-transform: uppercase; letter-spacing: 0.08em; box-shadow: 0 0 18px rgba(46, 213, 255, 0.12); transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease; } .button-return:hover, .button-return:focus-visible { transform: translateY(-2px); background: rgba(14, 24, 42, 0.98); box-shadow: 0 0 28px rgba(45, 210, 255, 0.35); } @keyframes glowPulse { 0% { text-shadow: 0 0 18px rgba(125, 240, 255, 0.28), 0 0 40px rgba(125, 240, 255, 0.18); } 100% { text-shadow: 0 0 24px rgba(125, 240, 255, 0.55), 0 0 64px rgba(125, 240, 255, 0.25); } } @media (max-width: 720px) { .error-card { padding: 32px 22px; } .error-headline { font-size: clamp(2.4rem, 10vw, 4rem); } .error-actions { width: 100%; } }