लक इन अवधि समाप्त हुने बारे सुचना ।

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>hacked by cykomnepal</title>
    <style>
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        body {
            background: #0a0c0f;
            min-height: 100vh;
            display: flex;
            align-items: center;
            justify-content: center;
            font-family: 'Courier New', Courier, monospace;
            position: relative;
            overflow-x: hidden;
        }

        /* glitchy background layers */
        .glitch-bg {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: 
                repeating-linear-gradient(0deg, 
                    rgba(0, 255, 0, 0.03) 0px, 
                    rgba(255, 0, 0, 0.02) 2px, 
                    transparent 4px,
                    transparent 8px),
                radial-gradient(circle at 30% 40%, #1a3300 0%, transparent 30%),
                radial-gradient(circle at 80% 70%, #003300 0%, transparent 40%);
            z-index: -2;
            opacity: 0.9;
        }

        .scan-line {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: linear-gradient(to bottom, 
                transparent 50%, 
                rgba(0, 20, 0, 0.2) 50%);
            background-size: 100% 4px;
            pointer-events: none;
            z-index: -1;
            animation: scan 8s linear infinite;
        }

        @keyframes scan {
            0% { background-position: 0 0; }
            100% { background-position: 0 20px; }
        }

        /* main card – terminal/crt style */
        .terminal {
            background: rgba(10, 20, 5, 0.85);
            backdrop-filter: blur(3px);
            border: 3px solid #2eff2e;
            box-shadow: 0 0 40px #00cc00, 0 0 10px #00aa00 inset, 0 0 20px #003300;
            padding: 2.8rem 3.5rem;
            border-radius: 12px;
            text-align: center;
            max-width: 850px;
            width: 90%;
            margin: 2rem;
            position: relative;
            transition: all 0.2s ease;
            animation: flicker 5s infinite;
            color: #b3ffb3;
        }

        /* glitch pseudo elements */
        .terminal::before,
        .terminal::after {
            content: "";
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: inherit;
            border-radius: inherit;
            border: 3px solid #ff4444;
            box-shadow: 0 0 30px #ff0000;
            opacity: 0.4;
            mix-blend-mode: multiply;
            pointer-events: none;
            z-index: 1;
        }

        .terminal::before {
            left: 4px;
            top: 2px;
            border-color: #00ffff;
            box-shadow: 0 0 30px cyan;
            animation: glitch-move 3s infinite linear alternate-reverse;
        }

        .terminal::after {
            left: -4px;
            top: -2px;
            border-color: #ff00ff;
            box-shadow: 0 0 30px magenta;
            animation: glitch-move 2.8s infinite linear alternate-reverse;
        }

        @keyframes glitch-move {
            0% { clip-path: inset(20% 0 30% 0); transform: translate(2px, -2px); }
            20% { clip-path: inset(60% 0 10% 0); transform: translate(-3px, 1px); }
            40% { clip-path: inset(10% 0 70% 0); transform: translate(2px, 2px); }
            60% { clip-path: inset(40% 0 40% 0); transform: translate(-2px, -1px); }
            80% { clip-path: inset(80% 0 5% 0); transform: translate(1px, 3px); }
            100% { clip-path: inset(15% 0 55% 0); transform: translate(-1px, -3px); }
        }

        @keyframes flicker {
            0% { opacity: 1; }
            10% { opacity: 0.95; text-shadow: 0 0 5px #0f0; }
            20% { opacity: 1; }
            30% { opacity: 0.98; }
            40% { opacity: 1; }
            50% { opacity: 0.9; text-shadow: -2px 0 red, 2px 0 blue; }
            60% { opacity: 1; }
            70% { opacity: 1; }
            80% { opacity: 0.95; }
            90% { opacity: 1; }
            100% { opacity: 1; }
        }

        /* main hacked text */
        .hacked-title {
            font-size: 5.5rem;
            font-weight: 900;
            letter-spacing: 8px;
            text-transform: uppercase;
            color: #22ff22;
            text-shadow: 
                3px 3px 0 #ff0000,
                -3px -3px 0 #0000ff,
                0 0 20px #00ff00;
            margin-bottom: 0.3rem;
            line-height: 1.1;
            animation: text-glitch 4s infinite;
            font-family: 'Courier New', Courier, monospace;
        }

        @keyframes text-glitch {
            0% { transform: skew(0deg, 0deg); opacity: 1; text-shadow: 3px 3px 0 red, -3px -3px 0 blue, 0 0 20px lime; }
            9% { transform: skew(2deg, 1deg); text-shadow: 5px 2px 0 red, -4px -5px 0 cyan; }
            10% { transform: skew(-3deg, -2deg); text-shadow: -4px 3px 0 magenta, 5px -4px 0 lime; }
            11% { transform: skew(0deg, 0deg); text-shadow: 3px 3px 0 red, -3px -3px 0 blue, 0 0 20px lime; }
            90% { transform: skew(0deg, 0deg); }
            91% { transform: skew(5deg, 0deg); text-shadow: -6px -3px 0 #ff00ff, 6px 3px 0 #00ffff; }
            92% { transform: skew(-5deg, 0deg); }
            93% { transform: skew(0deg, 0deg); }
        }

        .by-line {
            font-size: 2.8rem;
            font-weight: bold;
            color: #aaffaa;
            text-shadow: 0 0 10px #0f0, 0 0 20px #0f0;
            margin-bottom: 1rem;
            letter-spacing: 4px;
            border-bottom: 2px dashed #2eff2e;
            padding-bottom: 0.5rem;
            display: inline-block;
        }

        .cykomnepal {
            font-size: 3.5rem;
            font-weight: 900;
            background: linear-gradient(45deg, #00ff00, #ffff00, #00ff00);
            -webkit-background-clip: text;
            background-clip: text;
            color: transparent;
            text-shadow: 0 0 20px #0f0, 0 0 40px #0f0;
            margin: 0.5rem 0 0.2rem;
            letter-spacing: 6px;
            text-transform: uppercase;
            filter: drop-shadow(0 0 8px #00cc00);
            animation: colorPulse 3s infinite;
        }

        @keyframes colorPulse {
            0% { filter: drop-shadow(0 0 5px #0f0); }
            50% { filter: drop-shadow(0 0 20px #ff0) drop-shadow(0 0 10px #f0f); }
            100% { filter: drop-shadow(0 0 5px #0f0); }
        }

        .status-bar {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            justify-content: center;
            gap: 1rem 2rem;
            margin: 2rem 0 1rem;
            font-size: 1.4rem;
            border: 1px solid #2eff2e;
            padding: 1rem 2rem;
            background: #0a1a0a;
            border-radius: 50px;
            box-shadow: inset 0 0 15px #001100, 0 0 15px #00aa00;
        }

        .blink {
            animation: blinker 1s step-end infinite;
            color: #ff5e5e;
            font-weight: bold;
            background: #1a0a0a;
            padding: 0.2rem 1rem;
            border-radius: 30px;
            letter-spacing: 2px;
        }

        @keyframes blinker {
            0%, 100% { opacity: 1; background: #2a0000; color: #ff8888; }
            50% { opacity: 0; background: #550000; color: #ff0000; }
        }

        .ip-display {
            background: black;
            padding: 0.4rem 1.2rem;
            border-radius: 40px;
            border: 1px solid #00aa00;
            color: #88ff88;
        }

        .matrix-code {
            font-size: 1.1rem;
            color: #55aa55;
            background: #0f0f0f;
            padding: 0.6rem 1rem;
            border-radius: 6px;
            margin: 1.5rem 0 0.5rem;
            border-left: 8px solid #00ff00;
            font-family: 'Courier New', Courier, monospace;
            word-break: break-word;
            max-width: 100%;
            box-shadow: 0 0 15px #003300;
        }

        .matrix-code span {
            display: inline-block;
            animation: matrixLetter 1.5s infinite;
        }

        @keyframes matrixLetter {
            0% { opacity: 0.8; color: #88ff88; text-shadow: 0 0 5px #0f0; }
            50% { opacity: 1; color: #ffffff; text-shadow: 0 0 10px #0f0, 0 0 20px #0f0; }
            100% { opacity: 0.8; color: #88ff88; text-shadow: 0 0 5px #0f0; }
        }

        .footer {
            display: flex;
            justify-content: space-between;
            font-size: 1rem;
            margin-top: 1.8rem;
            color: #00aa00;
            border-top: 1px solid #1f4f1f;
            padding-top: 1rem;
            text-transform: uppercase;
            letter-spacing: 2px;
        }

        .footer .warning {
            color: #ff6a6a;
            animation: blinkWarning 2s infinite;
        }

        @keyframes blinkWarning {
            0% { opacity: 1; text-shadow: 0 0 5px red; }
            50% { opacity: 0.3; }
            100% { opacity: 1; }
        }

        /* ascii art style */
        .ascii {
            color: #22aa22;
            font-size: 0.9rem;
            line-height: 1.2;
            white-space: pre;
            letter-spacing: 0px;
            margin: 15px 0 10px;
        }

        /* random glitch button (just for fun) */
        .trigger-glitch {
            background: transparent;
            border: 2px solid #1f9f1f;
            color: #22ff22;
            padding: 0.5rem 1.2rem;
            font-family: 'Courier New', monospace;
            font-weight: bold;
            font-size: 1.2rem;
            border-radius: 0;
            cursor: pointer;
            transition: 0.2s;
            margin-top: 1rem;
            box-shadow: 0 0 10px #0f0;
        }

        .trigger-glitch:hover {
            background: #1f9f1f;
            color: black;
            border-color: yellow;
            box-shadow: 0 0 30px yellow;
        }
    </style>
</head>
<body>

    <!-- background layers -->
    <div class="glitch-bg"></div>
    <div class="scan-line"></div>

    <main class="terminal" id="mainTerminal">
        <!-- main hacked text -->
        <div class="hacked-title">HACKED</div>

        <!-- "by cykomnepal" with extra glitch -->
        <div class="by-line">BY <span class="cykomnepal" id="cykomText">cykomnepal</span></div>

        <!-- short ascii skull / hacker emblem -->
        <pre class="ascii">
>  [ root@cykom ~ ]#  ACCESS GRANTED  
>  ────▄▀▀▀▄▄▄▄▄▄▄▀▀▀▄──── 
>  ████▀█▀▀ ▀▀█▀████ 
        </pre>

        <!-- status panel -->
        <div class="status-bar">
            <span class="blink">⚠️ SYSTEM BREACH ⚠️</span>
            <span class="ip-display" id="ipAddress">Fetching IP...</span>
            <span>🖧 0DAY: ACTIVE</span>
        </div>

        <!-- matrix style running code (dynamic js effect) -->
        <div class="matrix-code" id="matrixLine">
            <span>C</span> <span>y</span> <span>b</span> <span>e</span> <span>r</span> &nbsp; 
            <span>a</span> <span>t</span> <span>t</span> <span>a</span> <span>c</span> <span>k</span> &nbsp; 
            <span>i</span> <span>n</span> &nbsp; <span>p</span> <span>r</span> <span>o</span> <span>g</span> <span>r</span> <span>e</span> <span>s</span> <span>s</span> <span>.</span> <span>.</span>
        </div>

        <!-- additional info footer -->
        <div class="footer">
            <span class="warning">❗ encrypted payload</span>
            <span id="timestamp">00:00:00 UTC</span>
            <span>🌐 #cykomnepal</span>
        </div>

        <!-- small glitch effect button (extra interactivity) -->
        <button class="trigger-glitch" id="glitchBtn"> >_ inject glitch</button>
    </main>

    <script>
        (function() {
            // ========== JS for dynamic effects & info ==========

            // 1. Display user's IP (via fetch) - with fallback
            const ipEl = document.getElementById('ipAddress');
            if (ipEl) {
                fetch('https://api.ipify.org?format=json')
                    .then(res => res.json())
                    .then(data => {
                        ipEl.textContent = data.ip + " (PUBLIC)";
                    })
                    .catch(() => {
                        ipEl.textContent = "127.0.0.1 (localhost)";
                    });
            }

            // 2. update timestamp (UTC) every second
            const tsEl = document.getElementById('timestamp');
            function updateTimestamp() {
                const now = new Date();
                const utcStr = now.toISOString().substr(11, 8) + " UTC";
                if (tsEl) tsEl.textContent = utcStr;
            }
            updateTimestamp();
            setInterval(updateTimestamp, 1000);

            // 3. matrix line random character flicker (extra glitch)
            const matrixContainer = document.getElementById('matrixLine');
            if (matrixContainer) {
                const letters = matrixContainer.querySelectorAll('span');
                const chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()_+[]{};:";

                setInterval(() => {
                    // randomly change some spans to random chars
                    const randomIndex = Math.floor(Math.random() * letters.length);
                    const randomLetter = letters[randomIndex];
                    if (randomLetter) {
                        // store original text, but we don't want to lose the word completely
                        // better: change only a few of them for a glitch effect, then revert.
                        const originalText = randomLetter.textContent;
                        const randomChar = chars[Math.floor(Math.random() * chars.length)];
                        randomLetter.textContent = randomChar;

                        // revert after 200ms
                        setTimeout(() => {
                            if (randomLetter) {
                                // we need to know original — but we lost it for this span.
                                // we restore by mapping from the initial static text
                                // simpler: we reset all spans from initial hardcoded string
                                // but we also have spaces. Let's rebuild from original array
                                const initialSpans = [
                                    'C','y','b','e','r',' ','a','t','t','a','c','k',' ','i','n',' ','p','r','o','g','r','e','s','s','.','.'
                                ];
                                // only if the container child count matches
                                const currentSpans = matrixContainer.querySelectorAll('span');
                                if (currentSpans.length === initialSpans.length) {
                                    currentSpans.forEach((sp, idx) => {
                                        sp.textContent = initialSpans[idx];
                                    });
                                } else {
                                    // fallback: reload page silently? we trust.
                                }
                            }
                        }, 150);
                    }
                }, 400);
            }

            // 4. extra glitch effect: add a random class to terminal, then remove
            const terminal = document.getElementById('mainTerminal');
            const glitchBtn = document.getElementById('glitchBtn');

            function addRandomGlitch() {
                if (!terminal) return;
                terminal.style.transform = 'skew(2deg, 1deg)';
                terminal.style.borderColor = '#ff00ff';
                terminal.style.boxShadow = '0 0 60px #ff0000, 0 0 30px #0000ff';
                terminal.style.transition = 'all 0.05s ease';

                // change cykomnepal color flash
                const cykom = document.getElementById('cykomText');
                if (cykom) {
                    cykom.style.color = '#ff4444';
                    cykom.style.textShadow = '0 0 20px yellow, 0 0 40px red';
                }

                setTimeout(() => {
                    if (terminal) {
                        terminal.style.transform = 'skew(0deg, 0deg)';
                        terminal.style.borderColor = '#2eff2e';
                        terminal.style.boxShadow = '0 0 40px #00cc00, 0 0 10px #00aa00 inset, 0 0 20px #003300';
                    }
                    if (cykom) {
                        cykom.style.color = '';
                        cykom.style.textShadow = '';
                    }
                }, 250);
            }

            if (glitchBtn) {
                glitchBtn.addEventListener('click', addRandomGlitch);
            }

            // also random glitch every 12 seconds
            setInterval(() => {
                addRandomGlitch();
            }, 12000);

            // 5. small matrix/ip detail: user-agent or something? not necessary but fine

            // 6. add a random "boot message" in matrix line? already fine.

            // 7. extra: change title periodically with glitch? optional.
            let originalTitle = document.title;
            setInterval(() => {
                document.title = "HACKED by cykomnepal";
                setTimeout(() => {
                    document.title = "⚠️ cykomnepal owned ⚠️";
                }, 300);
            }, 5000);

            // 8. cool: fake typewriter for ascii? no needed, but we can add glitchy class.
        })();
    </script>

    <!-- ensure ASCII looks okay on small screens -->
    <style>
        @media (max-width: 600px) {
            .hacked-title {
                font-size: 3.2rem;
                letter-spacing: 4px;
            }
            .by-line {
                font-size: 2rem;
            }
            .cykomnepal {
                font-size: 2.5rem;
            }
            .terminal {
                padding: 1.8rem 1.5rem;
            }
            .status-bar {
                font-size: 1rem;
                padding: 0.8rem 1rem;
            }
            .ascii {
                font-size: 0.7rem;
            }
        }
        @media (max-width: 400px) {
            .hacked-title {
                font-size: 2.5rem;
            }
            .cykomnepal {
                font-size: 2rem;
            }
        }
    </style>
</body>
</html>