:root{

--primary:#f97316;
--primary-dark:#ea580c;
--maroon:#7f1d1d;
--dark:#0f172a;
--dark2:#111827;
--glass:rgba(255,255,255,.08);
--border:rgba(255,255,255,.12);
--white:#ffffff;
--gray:#cbd5e1;
--green:#22c55e;
--yellow:#f59e0b;
--red:#ef4444;

}

*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:'Poppins',sans-serif;
}

html{

scroll-behavior:smooth;

}

body{

background:linear-gradient(
135deg,
#08111f,
#111827,
#1f2937
);

min-height:100vh;

overflow-x:hidden;

position:relative;

}

/* BACKGROUND */

.background{

position:fixed;

width:100%;
height:100%;

overflow:hidden;

z-index:-5;

}

.blob{

position:absolute;

border-radius:50%;

filter:blur(110px);

opacity:.45;

animation:blob 18s infinite alternate;

}

.blob:nth-child(1){

width:380px;
height:380px;

background:#f97316;

left:-120px;
top:-120px;

}

.blob:nth-child(2){

width:320px;
height:320px;

background:#7f1d1d;

right:-100px;
bottom:-80px;

animation-delay:4s;

}

.blob:nth-child(3){

width:240px;
height:240px;

background:#f59e0b;

top:40%;
left:50%;

animation-delay:8s;

}

@keyframes blob{

from{

transform:translate(0,0);

}

to{

transform:translate(-80px,60px);

}

}

/* MAIN */

.wrapper{

display:flex;

min-height:100vh;

}

/* LEFT */

.left{

width:50%;

display:flex;

justify-content:center;

align-items:center;

padding:70px;

}

.brand{

max-width:560px;

}

.logo{

width:95px;

margin-bottom:25px;

animation:spinLogo 18s linear infinite;

}

@keyframes spinLogo{

100%{

transform:rotate(360deg);

}

}

.brand h1{

font-size:55px;

color:white;

margin-bottom:20px;

}

.brand h3{

color:var(--primary);

font-weight:500;

margin-bottom:30px;

}

#typing{

color:white;

font-size:48px;

font-weight:700;

line-height:65px;

min-height:170px;

}

.cursor{

color:var(--primary);

animation:blink .8s infinite;

}

@keyframes blink{

50%{

opacity:0;

}

}

.brand p{

color:#d1d5db;

line-height:32px;

margin-top:40px;

font-size:18px;

}

.stats{

display:flex;

gap:20px;

margin-top:50px;

}

.stat{

padding:25px;

background:var(--glass);

border:1px solid var(--border);

border-radius:20px;

backdrop-filter:blur(20px);

width:180px;

transition:.35s;

}

.stat:hover{

transform:translateY(-8px);

}

.stat h2{

color:var(--primary);

font-size:34px;

margin-bottom:8px;

}

.stat p{

margin:0;

font-size:15px;

line-height:24px;

}

/* RIGHT */

.right{

width:50%;

display:flex;

justify-content:center;

align-items:center;

padding:60px;

}

.card{

width:100%;

max-width:520px;

background:rgba(255,255,255,.08);

backdrop-filter:blur(25px);

border:1px solid rgba(255,255,255,.12);

border-radius:30px;

padding:45px;

box-shadow:0 30px 60px rgba(0,0,0,.35);

animation:fade .8s;

}

@keyframes fade{

from{

opacity:0;

transform:translateY(50px);

}

to{

opacity:1;

transform:translateY(0);

}

}

.card h2{

color:white;

text-align:center;

font-size:38px;

margin-bottom:10px;

}

.subtitle{

text-align:center;

color:#cbd5e1;

margin-bottom:35px;

}

.group{

margin-bottom:22px;

}

.group label{

display:block;

color:white;

margin-bottom:10px;

font-size:15px;

}

.group input{

width:100%;

padding:16px;

border-radius:14px;

border:1px solid rgba(255,255,255,.18);

background:rgba(255,255,255,.06);

color:white;

outline:none;

transition:.3s;

font-size:15px;

}

.group input:focus{

border-color:var(--primary);

transform:scale(1.02);

}

.password{

position:relative;

}

.eye{

position:absolute;

right:18px;

top:48px;

cursor:pointer;

font-size:18px;

color:#d1d5db;

}

button{

width:100%;

padding:16px;

background:var(--primary);

border:none;

color:white;

font-size:17px;

border-radius:14px;

cursor:pointer;

transition:.3s;

font-weight:600;

}

button:hover{

background:var(--primary-dark);

transform:translateY(-3px);

box-shadow:0 15px 35px rgba(249,115,22,.4);

}

.login{

text-align:center;

margin-top:30px;

color:white;

}

.login a{

color:var(--primary);

text-decoration:none;

font-weight:600;

}

.strength{

height:8px;

border-radius:20px;

margin-top:10px;

background:#374151;

overflow:hidden;

}

.strength div{

height:100%;

width:0;

transition:.4s;

}

.error{

font-size:13px;

color:#ef4444;

margin-top:6px;

display:none;

}

.success{

font-size:13px;

color:#22c55e;

margin-top:6px;

display:none;

}

/* MOBILE */

@media(max-width:992px){

.wrapper{

flex-direction:column;

}

.left{

display:none;

}

.right{

width:100%;

padding:25px;

}

.card{

padding:30px;

}

.card h2{

font-size:30px;

}

}
.loader{

width:18px;

height:18px;

border:3px solid white;

border-top:3px solid transparent;

border-radius:50%;

animation:spin .7s linear infinite;

}

@keyframes spin{

100%{

transform:rotate(360deg);

}

}