<!DOCTYPE html>
<html lang="id">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Halaman Tidak Ditemukan | Jasa Printer Pro</title>
    <link href="https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;600;700;800&display=swap" rel="stylesheet">
    <link rel="stylesheet" href="https://cdn.lineicons.com/4.0/lineicons.css">
    <style>
        :root {
            --primary: #2C6EEB;
            --primary-light: #7DAAFF;
            --navy: #050A15;
            --navy-deep: #02060E;
            --glass: rgba(255, 255, 255, 0.03);
            --glass-border: rgba(255, 255, 255, 0.08);
        }

        * { margin: 0; padding: 0; box-sizing: border-box; }

        body {
            font-family: 'Plus Jakarta Sans', sans-serif;
            background-color: var(--navy-deep);
            background-image: 
                radial-gradient(circle at 10% 20%, rgba(44, 110, 235, 0.15) 0%, transparent 40%),
                radial-gradient(circle at 90% 80%, rgba(44, 110, 235, 0.1) 0%, transparent 40%);
            color: white;
            height: 100vh;
            display: flex;
            align-items: center;
            justify-content: center;
            overflow: hidden;
        }

        /* Particle Stars Background */
        .stars {
            position: absolute;
            inset: 0;
            background-image: radial-gradient(circle, white 1px, transparent 1px);
            background-size: 100px 100px;
            opacity: 0.1;
            z-index: 1;
        }

        .error-wrapper {
            position: relative;
            z-index: 10;
            perspective: 2000px;
        }

        .error-card {
            width: 500px;
            padding: 70px 40px;
            background: var(--glass);
            backdrop-filter: blur(40px);
            -webkit-backdrop-filter: blur(40px);
            border: 1px solid var(--glass-border);
            border-radius: 40px;
            text-align: center;
            box-shadow: 0 40px 100px rgba(0,0,0,0.6);
            transform-style: preserve-3d;
            animation: cardEntrance 1.2s cubic-bezier(0.16, 1, 0.3, 1);
        }

        @keyframes cardEntrance {
            from { transform: scale(0.8) translateY(100px); opacity: 0; }
            to { transform: scale(1) translateY(0); opacity: 1; }
        }

        .error-404 {
            font-size: 140px;
            font-weight: 900;
            line-height: 1;
            margin-bottom: 20px;
            background: linear-gradient(135deg, white 0%, var(--primary) 100%);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            filter: drop-shadow(0 20px 40px rgba(44, 110, 235, 0.3));
            animation: textFloat 3s ease-in-out infinite;
        }

        @keyframes textFloat {
            0%, 100% { transform: translateY(0); }
            50% { transform: translateY(-10px); }
        }

        h1 {
            font-size: 32px;
            font-weight: 800;
            margin-bottom: 20px;
            letter-spacing: -1px;
            color: white;
        }

        p {
            font-size: 17px;
            color: rgba(255, 255, 255, 0.5);
            line-height: 1.8;
            margin-bottom: 50px;
            max-width: 80%;
            margin-left: auto;
            margin-right: auto;
        }

        .btn-home {
            position: relative;
            display: inline-flex;
            align-items: center;
            gap: 15px;
            background: linear-gradient(135deg, #2C6EEB 0%, #1A56D1 100%);
            padding: 20px 50px;
            border-radius: 24px;
            color: white;
            text-decoration: none;
            font-weight: 800;
            font-size: 16px;
            box-shadow: 0 20px 40px rgba(44, 110, 235, 0.3);
            transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
        }

        .btn-home:hover {
            transform: translateY(-8px) scale(1.02);
            box-shadow: 0 30px 60px rgba(44, 110, 235, 0.5);
        }

        .btn-home i {
            font-size: 20px;
            transition: 0.3s;
        }

        .btn-home:hover i {
            transform: translateX(-5px);
        }

        .lost-graphic {
            position: absolute;
            top: -60px;
            right: -60px;
            width: 150px;
            height: 150px;
            background: radial-gradient(circle, var(--primary) 0%, transparent 70%);
            filter: blur(40px);
            opacity: 0.3;
            animation: orbit 10s linear infinite;
        }

        @keyframes orbit {
            from { transform: rotate(0deg) translateX(50px) rotate(0deg); }
            to { transform: rotate(360deg) translateX(50px) rotate(-360deg); }
        }

        .footer-tag {
            display: block;
            margin-top: 30px;
            font-size: 12px;
            color: rgba(255,255,255,0.2);
            text-transform: uppercase;
            letter-spacing: 3px;
            font-weight: 700;
        }
    </style>
</head>
<body>
    <div class="stars"></div>
    <div class="lost-graphic"></div>

    <div class="error-wrapper">
        <div class="error-card" id="tiltCard">
            <div class="error-404">404</div>
            <h1>Halaman Tidak Ditemukan</h1>
            <p>Sepertinya Anda tersesat di ruang digital. Halaman yang Anda cari sudah dipindahkan atau tidak tersedia.</p>
            
            <a href="/" class="btn-home">
                <i class="lni lni-arrow-left"></i>
                <span>Kembali ke Beranda</span>
            </a>

            <span class="footer-tag">Project Code: ERR_NOT_FOUND</span>
        </div>
    </div>

    <script>
        // Professional 3D Hover Effect
        const card = document.getElementById('tiltCard');
        document.addEventListener('mousemove', (e) => {
            const xAxis = (window.innerWidth / 2 - e.pageX) / 25;
            const yAxis = (window.innerHeight / 2 - e.pageY) / 25;
            card.style.transform = `rotateY(${xAxis}deg) rotateX(${yAxis}deg)`;
        });

        // Reset transform on mouse out
        document.addEventListener('mouseleave', () => {
            card.style.transition = 'all 0.5s ease';
            card.style.transform = `rotateY(0deg) rotateX(0deg)`;
        });

        document.addEventListener('mouseenter', () => {
            card.style.transition = 'none';
        });
    </script>
</body>
</html>
