<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="robots" content="noindex,nofollow">
    <meta name="viewport" content="width=device-width,initial-scale=1.0">
    <title>Security Check | CyberPulse</title>
    <style>:root {
    --bg: #1a1e18;
    --card-bg: #1f241c;
    --border: #2a3a24;
    --border-light: #324a2c;
    --text: #c8d4c0;
    --text-secondary: #80a070;
    --text-bright: #e0f0d8;
    --accent: #00e048;
    --accent-hover: #00c038;
    --accent-light: rgba(0, 224, 72, 0.08);
    --accent-border: rgba(0, 224, 72, 0.3);
    --accent-glow: rgba(0, 224, 72, 0.15);
    --danger: #ff4040;
    --danger-light: rgba(255, 64, 64, 0.08);
    --danger-border: rgba(255, 64, 64, 0.3);
    --warning: #ffb800;
    --warning-light: rgba(255, 184, 0, 0.08);
    --warning-border: rgba(255, 184, 0, 0.3);
    --success: #00e048;
    --success-light: rgba(0, 224, 72, 0.08);
    --success-border: rgba(0, 224, 72, 0.3);
    --input-bg: #181c14;
    --input-border: #2a3a24;
    --radius: 4px;
    --radius-lg: 6px;
    --font-mono: 'JetBrains Mono', 'SF Mono', 'Fira Code', 'Cascadia Code', 'IBM Plex Mono', 'Consolas', monospace;
    --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
}

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

body {
    font-family: var(--font-mono);
    background: var(--bg);
    background-image:
        repeating-linear-gradient(0deg, transparent, transparent 4px, rgba(0,224,72,0.02) 4px, rgba(0,224,72,0.02) 8px),
        repeating-linear-gradient(90deg, transparent, transparent 4px, rgba(0,224,72,0.015) 4px, rgba(0,224,72,0.015) 8px);
    background-size: 40px 40px;
    color: var(--text);
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    padding: 20px;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
}

.sw-card {
    background: var(--card-bg);
    border: 2px solid var(--border);
    border-radius: var(--radius-lg);
    padding: 40px 36px;
    max-width: 480px;
    width: 100%;
    text-align: center;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.4), 0 0 35px rgba(0, 224, 72, 0.08);
    position: relative;
    overflow: hidden;
}

.sw-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: repeating-linear-gradient(0deg, transparent, transparent 2px, rgba(0,224,72,0.01) 2px, rgba(0,224,72,0.01) 4px);
    pointer-events: none;
}

.sw-icon {
    width: 76px;
    height: 76px;
    background: var(--accent-light);
    border: 2px solid var(--accent-border);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 24px;
    position: relative;
    animation: cp-icon-pulse 2.4s ease-in-out infinite;
}

.sw-icon::after {
    content: '';
    position: absolute;
    inset: -6px;
    border-radius: 50%;
    border: 2px solid var(--accent-border);
    opacity: 0;
    animation: cp-icon-ring 2.4s ease-out infinite;
    pointer-events: none;
}

.sw-icon svg {
    width: 40px;
    height: 40px;
    filter: drop-shadow(0 0 8px rgba(0, 224, 72, 0.7));
}

@keyframes cp-icon-pulse {
    0%, 100% {
        box-shadow: 0 0 15px rgba(0, 224, 72, 0.25), inset 0 0 10px rgba(0, 224, 72, 0.05);
    }
    50% {
        box-shadow: 0 0 35px rgba(0, 224, 72, 0.7), inset 0 0 20px rgba(0, 224, 72, 0.15);
    }
}

@keyframes cp-icon-ring {
    0% {
        transform: scale(1);
        opacity: 0.6;
    }
    100% {
        transform: scale(1.35);
        opacity: 0;
    }
}

.sw-title {
    font-size: 1.25rem;
    font-weight: 800;
    margin-bottom: 10px;
    color: var(--accent);
    letter-spacing: 0.06em;
    text-transform: uppercase;
    text-shadow: 0 0 20px rgba(0, 224, 72, 0.4);
}

.sw-description {
    font-size: 0.82rem;
    color: var(--text-secondary);
    margin-bottom: 24px;
    line-height: 1.6;
}

.sw-ip-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: var(--input-bg);
    border: 2px solid var(--border);
    padding: 6px 14px;
    border-radius: 20px;
    font-family: var(--font-mono);
    font-size: 0.78rem;
    color: var(--accent);
    margin-bottom: 24px;
    letter-spacing: 0.04em;
}

.sw-ip-badge::before {
    content: '';
    display: inline-block;
    width: 7px;
    height: 7px;
    background: var(--danger);
    border-radius: 50%;
    box-shadow: 0 0 8px var(--danger);
    animation: cp-pulse 2s ease-in-out infinite;
}

@keyframes cp-pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.35; }
}

.sw-btn {
    display: inline-block;
    padding: 12px 28px;
    border: 2px solid var(--accent);
    border-radius: var(--radius);
    font-weight: 800;
    font-size: 0.78rem;
    cursor: pointer;
    transition: all 0.15s;
    text-decoration: none;
    color: var(--bg);
    background: var(--accent);
    margin: 16px 0 0 0;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    font-family: var(--font-mono);
    box-shadow: 0 0 20px rgba(0, 224, 72, 0.4), 3px 3px 0 rgba(0,0,0,0.3);
}

.sw-btn:hover {
    background: var(--accent-hover);
    border-color: var(--accent-hover);
    box-shadow: 0 0 30px rgba(0, 224, 72, 0.6), 3px 3px 0 rgba(0,0,0,0.3);
    transform: translateY(-1px);
}

.sw-btn:disabled {
    background: #374151;
    border-color: #374151;
    cursor: not-allowed;
    color: #9ca3af;
    box-shadow: none;
    transform: none;
}

a.sw-btn {
    background: transparent;
    color: var(--accent);
    box-shadow: 0 0 15px rgba(0, 224, 72, 0.2), 3px 3px 0 rgba(0,0,0,0.2);
    margin-top: 8px;
    display: inline-block;
}

a.sw-btn:hover {
    background: var(--accent-light);
    color: var(--accent-hover);
    box-shadow: 0 0 25px rgba(0, 224, 72, 0.4), 3px 3px 0 rgba(0,0,0,0.2);
}

.sw-test-box {
    background: var(--input-bg);
    border: 2px solid var(--border);
    border-radius: var(--radius);
    padding: 24px 22px;
    margin-bottom: 12px;
    position: relative;
}

.sw-test-box h3 {
    font-size: 0.82rem;
    font-weight: 800;
    color: var(--text-bright);
    margin-bottom: 10px;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.sw-test-box p {
    font-size: 0.74rem;
    color: var(--text-secondary);
    margin-bottom: 16px;
    line-height: 1.5;
}

.sw-math {
    font-size: 2.2rem;
    font-weight: 800;
    letter-spacing: 6px;
    margin: 18px 0;
    color: var(--accent);
    text-shadow: 0 0 20px rgba(0, 224, 72, 0.5), 2px 2px 0 rgba(0,0,0,0.3);
    font-family: var(--font-mono);
}

.sw-answer-input {
    width: 110px;
    padding: 12px 16px;
    font-size: 1.2rem;
    font-weight: 700;
    text-align: center;
    background: var(--bg);
    border: 2px solid var(--input-border);
    border-radius: var(--radius);
    color: var(--accent);
    outline: none;
    transition: all 0.2s;
    font-family: var(--font-mono);
    box-shadow: inset 2px 2px 0 rgba(0,0,0,0.2);
    -moz-appearance: textfield;
    appearance: textfield;
}

/* Chrome / Safari / Edge */
.sw-answer-input::-webkit-outer-spin-button,
.sw-answer-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    appearance: none;
    margin: 0;
}

/* Firefox */
.sw-answer-input[type=number] {
    -moz-appearance: textfield;
    appearance: textfield;
}

.sw-answer-input:focus {
    border-color: var(--accent);
    box-shadow: inset 2px 2px 0 rgba(0,0,0,0.2), 0 0 0 3px rgba(0, 224, 72, 0.15), 0 0 15px rgba(0, 224, 72, 0.2);
}

.sw-auto-unblock {
    font-size: 0.78rem;
    color: var(--success);
    background: var(--success-light);
    border: 2px solid var(--success-border);
    padding: 10px 16px;
    border-radius: var(--radius);
    margin: 12px 0 20px 0;
    letter-spacing: 0.02em;
}

.sw-permanent-warning {
    font-size: 0.78rem;
    color: var(--warning);
    background: var(--warning-light);
    border: 2px solid var(--warning-border);
    padding: 10px 16px;
    border-radius: var(--radius);
    margin-bottom: 20px;
}

.sw-error {
    color: var(--danger);
    font-size: 0.76rem;
    margin-top: 12px;
    display: none;
    padding: 8px 12px;
    background: var(--danger-light);
    border: 1px solid var(--danger-border);
    border-radius: var(--radius);
}

.sw-error a {
    color: var(--accent);
    text-decoration: underline;
    font-weight: 700;
}

.sw-footer {
    margin-top: 24px;
    padding-top: 20px;
    border-top: 2px solid var(--border-light);
}

.sw-brand {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 0;
    font-size: 0.72rem;
    color: #5a8a4a;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-weight: 700;
    text-decoration: none;
    transition: color 0.2s, text-shadow 0.2s;
}

.sw-brand:hover {
    color: var(--accent);
    text-shadow: 0 0 12px rgba(0, 224, 72, 0.5);
}

.sw-brand svg {
    width: 18px;
    height: 18px;
    filter: drop-shadow(0 0 5px rgba(0, 224, 72, 0.6));
    flex-shrink: 0;
}

noscript div {
    background: var(--danger-light);
    border: 2px solid var(--danger-border);
    border-radius: var(--radius);
    padding: 16px;
    margin-bottom: 20px;
}

noscript p {
    color: var(--danger);
    margin: 0;
    font-size: 0.82rem;
}</style>
</head>
<body>
    <div class="sw-card">
        <div class="sw-icon">
            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36" fill="none">
                <path d="M 18.0,4.5 C 10.9,4.5 6.8,6.8 6.8,10.4 C 7.0,25.8 16.0,30.9 18.0,32.3 C 20.0,30.9 29.0,25.8 29.2,10.4 C 29.2,6.8 25.1,4.5 18.0,4.5 Z"
                      fill="none" stroke="#00e048" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
                <path fill="none" stroke="#00e048" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"
                      d="M 9.0,18.0 L 13.2,18.0 L 15.0,14.0 L 18.0,23.6 L 21.0,10.0 L 22.8,18.0 L 27.0,18.0"/>
            </svg>
        </div>
        <h1 class="sw-title">Security Check</h1>
        <p class="sw-description">We noticed suspicious traffic from your IP address. Confirm you are human to continue.</p>
        <div class="sw-ip-badge">8.29.198.25</div>

        <div id="sw-simple-block">
            <div class="sw-test-box">
                <h3>Solve the example</h3>
                <p>Even if your IP is permanently blocked — the test will remove all restrictions.</p>
                <div class="sw-math">5 + 9 = ?</div>
                <input type="number" id="sw-human-answer" class="sw-answer-input" placeholder="?" autofocus>
                <br>
                <button class="sw-btn" id="sw-verify-btn">Unblock Access</button>
                <div id="sw-test-error" class="sw-error"></div>
            </div>
                        <a href="https://ahira.com.ar/?cybersec_unblock_token=OC4yOS4xOTguMjV8MTc5MjM2OTc4MHxjNTA0ZDFlOTllNWJjN2U3Mjk3MDRiMjVhMDcxYjRkNzk1ZDZhMjk1MWQ0OTI1NDkxYTNhMWNiNDQzMjcyYzA5" class="sw-btn">Unblock via link</a>
                    </div>

                <p class="sw-auto-unblock">Auto-unblock in <strong>30 min</strong></p>
        
        <div class="sw-footer">
            <a href="https://cyberpulse-security.com" target="_blank" rel="noopener" class="sw-brand">
                <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36" fill="none">
                    <path d="M 18.0,4.5 C 10.9,4.5 6.8,6.8 6.8,10.4 C 7.0,25.8 16.0,30.9 18.0,32.3 C 20.0,30.9 29.0,25.8 29.2,10.4 C 29.2,6.8 25.1,4.5 18.0,4.5 Z"
                          fill="none" stroke="#00e048" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
                    <path fill="none" stroke="#00e048" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"
                          d="M 9.0,18.0 L 13.2,18.0 L 15.0,14.0 L 18.0,23.6 L 21.0,10.0 L 22.8,18.0 L 27.0,18.0"/>
                </svg>
                CyberPulse Security
            </a>
        </div>
    </div>

    <script>
    window.cybersec403Data = {
        ajaxurl: "https:\/\/ahira.com.ar\/wp-admin\/admin-ajax.php",
        expected_answer: "14",
        human_token: "OC4yOS4xOTguMjV8MTc5MjM2NzY4MHxodW1hbl90ZXN0fDgwNjc5NjIxZWM2OWIzYTQ3MmZjZTQ5ZjIzMzUzZTMxMTRlZmY3NzQwMTE5MGM5MTg5YzU1NWFmNDVjMmRlNzk=",
        redirect_url: "\/comments\/feed\/",
        nonce: "0faae2e3e5",
        i18n: {
            enter_answer: "Enter answer",
            incorrect: "Incorrect.",
            refresh: "Refresh",
            and_try_again: "and try again.",
            verifying: "Verifying...",
            access_granted: "Access granted",
            error: "Error",
            connection_error: "Connection error.",
            unblock_access: "Unblock Access"        }
    };
    </script>
    <script>/**
 * CyberPulse 403 Page JavaScript
 * Handles the human verification test
 */
(function() {
    'use strict';

    function verifyHuman() {
        var answerInput = document.getElementById('sw-human-answer');
        var errorDiv = document.getElementById('sw-test-error');
        var verifyBtn = document.getElementById('sw-verify-btn');
        
        if (!answerInput || !errorDiv || !verifyBtn) {
            return;
        }

        var answer = answerInput.value;
        var expected = cybersec403Data.expected_answer;

        if (!answer) {
            errorDiv.textContent = cybersec403Data.i18n.enter_answer;
            errorDiv.style.display = 'block';
            return;
        }

        if (parseInt(answer) !== parseInt(expected)) {
            errorDiv.innerHTML = cybersec403Data.i18n.incorrect + 
                ' <a href="' + cybersec403Data.redirect_url + '">' + 
                cybersec403Data.i18n.refresh + '</a> ' + 
                cybersec403Data.i18n.and_try_again;
            errorDiv.style.display = 'block';
            answerInput.value = '';
            return;
        }

        errorDiv.style.display = 'none';
        verifyBtn.disabled = true;
        verifyBtn.innerHTML = cybersec403Data.i18n.verifying;

        var formData = new FormData();
        formData.append('action', 'cybersec_human_verify');
        formData.append('cybersec_human_token', cybersec403Data.human_token);
        formData.append('cybersec_human_answer', answer);
        formData.append('cybersec_human_expected', expected);
        formData.append('cybersec_redirect_url', cybersec403Data.redirect_url);
        formData.append('cybersec_ajax_nonce', cybersec403Data.nonce);

        fetch(cybersec403Data.ajaxurl, {
            method: 'POST',
            body: formData
        })
        .then(function(response) {
            return response.json();
        })
        .then(function(data) {
            if (data.success) {
                verifyBtn.innerHTML = '✓ ' + cybersec403Data.i18n.access_granted;
                setTimeout(function() {
                    window.location.href = data.data.redirect || '/';
                }, 1500);
            } else {
                errorDiv.innerHTML = (data.data.message || cybersec403Data.i18n.error) + 
                    ' <a href="' + cybersec403Data.redirect_url + '">' + 
                    cybersec403Data.i18n.refresh + '</a>.';
                errorDiv.style.display = 'block';
                verifyBtn.disabled = false;
                verifyBtn.innerHTML = cybersec403Data.i18n.unblock_access;
                answerInput.value = '';
            }
        })
        .catch(function() {
            errorDiv.innerHTML = cybersec403Data.i18n.connection_error + 
                ' <a href="' + cybersec403Data.redirect_url + '">' + 
                cybersec403Data.i18n.refresh + '</a>';
            errorDiv.style.display = 'block';
            verifyBtn.disabled = false;
            verifyBtn.innerHTML = cybersec403Data.i18n.unblock_access;
        });
    }

    // Initialize when DOM is ready
    document.addEventListener('DOMContentLoaded', function() {
        var answerInput = document.getElementById('sw-human-answer');
        var verifyBtn = document.getElementById('sw-verify-btn');

        if (answerInput) {
            answerInput.addEventListener('keypress', function(e) {
                if (e.key === 'Enter') {
                    verifyHuman();
                }
            });
        }

        if (verifyBtn) {
            verifyBtn.addEventListener('click', verifyHuman);
        }

        // Auto-focus the input field
        if (answerInput) {
            setTimeout(function() {
                answerInput.focus();
            }, 100);
        }
    });

})();</script>
</body>
</html>
