*{box-sizing:border-box}
:root{
  --bg:#070a13;--card:rgba(20,25,42,.78);--border:rgba(255,255,255,.1);
  --text:#f7f8ff;--muted:#9da6bd;--accent:#6c63ff;--accent2:#8b5cf6;
}
body{
  margin:0;min-height:100vh;font-family:Inter,Arial,sans-serif;
  color:var(--text);background:
  radial-gradient(circle at 15% 10%,rgba(108,99,255,.22),transparent 30%),
  radial-gradient(circle at 85% 90%,rgba(139,92,246,.18),transparent 30%),var(--bg);
}
.header{padding:28px 20px 10px;text-align:center}
.brand h1{margin:0;font-size:28px;letter-spacing:.4px}
.brand p{margin:7px 0 0;color:var(--muted);font-size:12px}
.container{width:min(92%,480px);margin:55px auto}
.card{
  padding:28px;border:1px solid var(--border);border-radius:24px;
  background:var(--card);backdrop-filter:blur(18px);
  box-shadow:0 20px 60px rgba(0,0,0,.35)
}
h2{margin:0 0 7px;font-size:22px}
.subtitle{margin:0 0 24px;color:var(--muted);font-size:13px;line-height:1.5}
label{display:block;margin-bottom:9px;font-size:13px;font-weight:600}
.input-box{display:flex;gap:8px}
input{
  width:100%;min-width:0;padding:14px;border:1px solid var(--border);
  border-radius:12px;background:rgba(255,255,255,.05);color:var(--text);
  outline:none;font-size:14px
}
input:focus{border-color:var(--accent)}
button{
  border:0;border-radius:11px;padding:0 15px;background:var(--accent);
  color:white;font-weight:700;cursor:pointer
}
button:hover{filter:brightness(1.1)}
.code-box{
  margin-top:22px;padding:20px;border:1px solid var(--border);
  border-radius:16px;background:rgba(255,255,255,.035);
  display:flex;align-items:center;justify-content:space-between;gap:12px
}
#code{font-size:32px;font-weight:800;letter-spacing:7px;font-variant-numeric:tabular-nums}
.code-box button{height:40px}
.timer{margin-top:20px}
.timer-text{display:flex;justify-content:space-between;color:var(--muted);font-size:12px}
.timer-text strong{color:var(--text)}
.progress{height:6px;margin-top:9px;background:rgba(255,255,255,.08);border-radius:99px;overflow:hidden}
#progressBar{height:100%;width:100%;background:linear-gradient(90deg,var(--accent),var(--accent2));transition:width .2s linear}
.status{min-height:18px;margin:14px 0 0;text-align:center;color:var(--muted);font-size:12px}
footer{text-align:center;padding:20px;color:#687189;font-size:11px}
@media(max-width:420px){
  .card{padding:22px}.brand h1{font-size:25px}#code{font-size:27px;letter-spacing:5px}
  .input-box{flex-direction:column}.input-box button{height:42px}
}
