:root{
--bg:#0f172a;
--card:#1e293b;
--primary:#3b82f6;
--primary-hover:#2563eb;
--text:#f8fafc;
--muted:#94a3b8;
--danger:#ef4444;
--success:#22c55e;
--border:#334155;
--radius:16px;
}

*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:Inter,Arial,sans-serif;
}

body{
background:var(--bg);
color:var(--text);
min-height:100vh;
display:flex;
flex-direction:column;
}

.container{
width:min(700px,92%);
margin:auto;
}

header{
padding:40px 0;
text-align:center;
}

header h1{
font-size:2.4rem;
margin-bottom:10px;
}

header p{
color:var(--muted);
}

.card{
background:var(--card);
padding:30px;
border-radius:var(--radius);
border:1px solid var(--border);
margin-bottom:30px;
}

.card h2{
margin-bottom:20px;
}

form{
display:flex;
flex-direction:column;
gap:15px;
}

input{
width:100%;
padding:14px;
border-radius:10px;
border:1px solid var(--border);
background:#111827;
color:white;
font-size:16px;
outline:none;
}

input:focus{
border-color:var(--primary);
}

button{
padding:14px;
border:none;
border-radius:10px;
background:var(--primary);
color:white;
font-weight:600;
cursor:pointer;
transition:.2s;
}

button:hover{
background:var(--primary-hover);
}

.buttons{
display:flex;
gap:10px;
margin-top:15px;
}

.buttons button{
flex:1;
}

.hidden{
display:none;
}

.error{
margin-top:15px;
color:var(--danger);
font-weight:600;
}

#loading{
margin-top:15px;
color:var(--muted);
}

.info{
background:var(--card);
padding:25px;
border-radius:var(--radius);
border:1px solid var(--border);
}

.info h3{
margin-bottom:15px;
}

.info ul{
padding-left:20px;
}

.info li{
margin:8px 0;
}

footer{
margin-top:auto;
padding:30px;
text-align:center;
font-size:.9rem;
color:var(--muted);
}

@media(max-width:600px){

header h1{
font-size:2rem;
}

.card{
padding:20px;
}

.buttons{
flex-direction:column;
}

}
