:root { --bg-color: #0b0c10; --neon-pink: #ff00ff; --neon-cyan: #00ffff; --neon-gold: #ffd700; --text-light: #c5c6c7; }
body { background-color: var(--bg-color); color: var(--text-light); font-family: 'Montserrat', sans-serif; margin: 0; background-image: linear-gradient(180deg, #0b0c10 0%, #1a0b2e 100%); min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 20px; }
.container { max-width: 650px; width: 100%; background: rgba(0,0,0,0.8); padding: 40px; border-radius: 10px; border: 1px solid var(--neon-gold); box-shadow: 0 0 30px rgba(255, 215, 0, 0.15); position: relative; }
h1 { font-family: 'Orbitron', sans-serif; color: var(--neon-gold); text-align: center; text-shadow: 0 0 10px var(--neon-gold); margin-bottom: 30px;}
.input-group { margin-bottom: 20px; }
label { display: block; color: var(--neon-cyan); margin-bottom: 5px; font-weight: bold; font-size: 0.85rem;}

/* NEU: Intensiverer Glow und Transition für die Felder */
input[type="text"], input[type="email"], input[type="password"], textarea { 
    width: 100%; padding: 12px; background: rgba(0,0,0,0.6); 
    border: 1px solid var(--neon-cyan); color: #fff; border-radius: 5px; 
    box-sizing: border-box; font-family: 'Montserrat', sans-serif; 
    box-shadow: 0 0 8px rgba(0, 255, 255, 0.3); /* Base Glow */
    transition: all 0.3s ease;
}
input:focus, textarea:focus { 
    outline: none; border-color: var(--neon-gold); 
    box-shadow: 0 0 20px rgba(255, 215, 0, 0.8), inset 0 0 10px rgba(255, 215, 0, 0.4); /* Heavy Focus Glow */
}

input[type="file"] { color: #fff; padding: 10px 0; text-shadow: 0 0 5px rgba(255,255,255,0.3); }

/* Flex Grid for Socials */
.social-grid { display: flex; flex-wrap: wrap; gap: 15px; }
.social-grid .input-group { flex: 1 1 calc(50% - 10px); margin-bottom: 10px; }

button { width: 100%; background: transparent; color: var(--neon-gold); border: 2px solid var(--neon-gold); padding: 15px; font-family: 'Orbitron', sans-serif; font-size: 1.2rem; cursor: pointer; transition: 0.3s; border-radius: 5px; margin-top: 10px; box-shadow: 0 0 15px rgba(255, 215, 0, 0.4) inset, 0 0 15px rgba(255, 215, 0, 0.4); text-shadow: 0 0 5px var(--neon-gold); }
button:hover { background: var(--neon-gold); color: #000; text-shadow: none; box-shadow: 0 0 20px var(--neon-gold) inset, 0 0 40px var(--neon-gold); }
.login-link { color: var(--neon-cyan); text-decoration: none; font-size: 0.9rem; border-bottom: 1px solid rgba(0, 255, 255, 0.5); padding-bottom: 2px; transition: 0.3s; text-shadow: 0 0 5px var(--neon-cyan); }
.login-link:hover { color: #fff; text-shadow: 0 0 10px var(--neon-cyan), 0 0 20px var(--neon-cyan); border-color: var(--neon-cyan); }
.alert { padding: 15px; border-radius: 5px; margin-bottom: 25px; text-align: center; font-weight: bold; line-height: 1.5; }
.alert.error { background: rgba(255,0,0,0.1); border: 1px solid red; color: red; }
.alert.success { background: rgba(0,255,0,0.1); border: 1px solid #00ff00; color: #00ff00; }
.section-title { color: var(--neon-pink); font-family: 'Orbitron', sans-serif; margin-top: 30px; margin-bottom: 15px; border-bottom: 1px dashed var(--neon-pink); padding-bottom: 5px;}