:root {
    --primary: #9c27b0;
    --accent: #e040fb;
    --dark: #121212;
    --light: #f5f5f5;
}

body {
    font-family: Arial, sans-serif;
    padding: 2em;
    background: var(--dark);
    color: var(--light);
}

.form-group {
    margin-bottom: 1em;
}

label {
    display: block;
    margin-bottom: 0.5em;
    color: var(--primary);
    font-weight: 600;
    font-family: 'Orbitron', Arial, sans-serif;
}

input, textarea {
    width: 100%;
    padding: 0.5em;
    border: 1px solid var(--accent);
    border-radius: 4px;
    background: rgba(30, 30, 30, 0.9);
    color: var(--light);
    font-size: 1.1rem;
    font-family: 'Rajdhani', Arial, sans-serif;
    transition: border 0.2s, box-shadow 0.2s;
}

input:focus, textarea:focus {
    border-color: var(--primary);
    outline: none;
    box-shadow: 0 0 8px var(--accent);
    animation: captchaGlow 1.2s infinite alternate;
}

@keyframes captchaFadeIn {
    0% { opacity: 0; transform: translateY(30px) scale(0.95);}
    100% { opacity: 1; transform: translateY(0) scale(1);}
}

@keyframes captchaGlow {
    0%, 100% { box-shadow: 0 0 12px 2px var(--accent), 0 0 0 0 transparent; }
    50% { box-shadow: 0 0 24px 6px var(--primary), 0 0 0 0 transparent; }
}

@keyframes captchaButtonPulse {
    0%, 100% { box-shadow: 0 0 0 0 var(--accent); }
    50% { box-shadow: 0 0 16px 4px var(--primary); }
}

.captcha-box {
    background: rgba(30, 30, 30, 0.85);
    border: 1.5px solid var(--primary);
    border-radius: 8px;
    padding: 2rem 1.5rem;
    margin: 2rem auto 1.5rem auto;
    max-width: 420px;
    box-shadow: 0 4px 18px rgba(156,39,176,0.10), 0 0 24px 0 var(--primary);
    text-align: center;
    position: relative;
    overflow: hidden;
    animation: captchaFadeIn 0.8s cubic-bezier(.68,-0.55,.27,1.55);
}

.captcha-title {
    color: var(--accent);
    font-size: 1.3rem;
    margin-bottom: 1rem;
    font-family: 'Orbitron', Arial, sans-serif;
    letter-spacing: 1px;
    animation: captchaGlow 2.5s infinite alternate;
}

.captcha-input-group {
    display: flex;
    align-items: center;
    gap: 1rem;
    justify-content: center;
    margin-bottom: 1.2rem;
}

.captcha-label {
    color: var(--primary);
    font-weight: 600;
    font-size: 1.1rem;
    font-family: 'Orbitron', Arial, sans-serif;
}

.captcha-input {
    padding: 0.7em 1.2em;
    border: 1px solid var(--accent);
    border-radius: 4px;
    background: rgba(30, 30, 30, 0.9);
    color: var(--light);
    font-size: 1.1rem;
    font-family: 'Rajdhani', Arial, sans-serif;
    transition: border 0.2s, box-shadow 0.2s;
}

.captcha-input:focus {
    border-color: var(--primary);
    outline: none;
    box-shadow: 0 0 8px var(--accent);
    animation: captchaGlow 1.2s infinite alternate;
}

.captcha-refresh {
    background: linear-gradient(135deg, var(--primary), var(--accent));
    color: var(--light);
    border: none;
    border-radius: 4px;
    padding: 0.5em 1em;
    font-family: 'Orbitron', Arial, sans-serif;
    font-size: 1rem;
    cursor: pointer;
    transition: background 0.2s, transform 0.2s;
    margin-left: 0.5em;
    animation: captchaButtonPulse 1.5s infinite;
    position: relative;
    z-index: 1;
}

.captcha-refresh:hover {
    background: linear-gradient(135deg, var(--accent), var(--primary));
    transform: scale(1.05);
    box-shadow: 0 0 12px 2px var(--accent);
    animation: captchaButtonPulse 1.5s infinite;
}