*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:'Segoe UI',sans-serif;
}

body{
height:100vh;
background:#070707;
display:flex;
justify-content:center;
align-items:center;
overflow:hidden;
}

/* WRAPPER */
.wrapper{
position:relative;
width:360px;
height:460px;
display:flex;
justify-content:center;
align-items:center;
}

/* NEON RING BASE */
.neon-ring{
position:absolute;
width:380px;
height:380px;
border-radius:45% 55% 60% 40% / 60% 40% 55% 45%;
background:linear-gradient(45deg,#ff0055,#ffcc00,#00ffcc,#ff0055);
animation:morph 8s infinite ease-in-out,
         rotate 12s linear infinite;
filter:blur(25px);
opacity:0.8;
}

.neon-ring.second{
width:420px;
height:420px;
animation-duration:10s, 20s;
opacity:0.4;
}

/* MORPH ANIMATION */
@keyframes morph{
0%{
border-radius:45% 55% 60% 40% / 60% 40% 55% 45%;
}
50%{
border-radius:60% 40% 50% 50% / 40% 60% 40% 60%;
}
100%{
border-radius:45% 55% 60% 40% / 60% 40% 55% 45%;
}
}

@keyframes rotate{
0%{transform:rotate(0deg);}
100%{transform:rotate(360deg);}
}

/* LOGIN CARD */
.login-card{
position:relative;
z-index:2;
background:#111;
padding:50px 35px;
border-radius:20px;
display:flex;
flex-direction:column;
gap:22px;
width:100%;
box-shadow:0 0 40px rgba(0,0,0,0.9);
}

/* TITLE */
.login-card h2{
text-align:center;
color:white;
font-weight:300;
letter-spacing:2px;
margin-bottom:10px;
}

/* INPUTS */
.login-card input{
padding:12px 15px;
border-radius:30px;
border:1px solid #333;
background:#0d0d0d;
color:white;
outline:none;
transition:0.3s;
}

.login-card input:focus{
border-color:#00ffcc;
box-shadow:0 0 12px #00ffcc;
}

/* BUTTON */
.login-card button{
padding:12px;
border-radius:30px;
border:none;
background:linear-gradient(90deg,#ff0055,#ffcc00);
color:black;
font-weight:bold;
cursor:pointer;
transition:0.4s;
}

.login-card button:hover{
transform:translateY(-3px);
box-shadow:0 0 20px rgba(255,0,85,0.7);
}

/* LINK */
.login-card a{
text-align:center;
font-size:12px;
color:#aaa;
text-decoration:none;
}

.login-card a:hover{
color:#00ffcc;
}
.login-card form{
display:flex;
flex-direction:column;
gap:22px;
width:100%;
}
.error-msg{
color:#ff4d4d;
font-size:13px;
text-align:center;
margin-top:-10px;
}
.login-card{
gap:18px;
}