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

body {
  min-height:100vh;
  background:#0a0e1a;
  display:flex; align-items:center; justify-content:center;
  padding:20px;
  overflow-x:hidden;
  position:relative;
}

.bg-glow {
  position:fixed; inset:0;
  background:
    radial-gradient(circle at 20% 20%, rgba(255,90,0,.25), transparent 45%),
    radial-gradient(circle at 80% 80%, rgba(0,140,255,.2), transparent 45%);
  z-index:0;
}

.container { position:relative; z-index:1; width:100%; max-width:440px; }

.card {
  background:linear-gradient(160deg, #141a2e, #0d1220);
  border:1px solid rgba(255,255,255,.08);
  border-radius:22px;
  padding:26px 24px 22px;
  box-shadow:0 25px 60px rgba(0,0,0,.6), 0 0 0 1px rgba(255,120,0,.05);
}

.hidden { display:none !important; }

.logo-row { display:flex; align-items:center; gap:10px; margin-bottom:18px; }
.ff-logo { width:38px; height:38px; border-radius:9px; object-fit:cover; }
.brand { font-size:15px; color:#aab2c8; letter-spacing:.3px; }
.brand b { color:#fff; }

.banner { text-align:center; margin-bottom:20px; }
.diamond-icon { font-size:52px; line-height:1; margin-bottom:8px; filter:drop-shadow(0 0 18px rgba(0,180,255,.7)); }
.banner h1 { font-size:22px; color:#fff; font-weight:800; line-height:1.3; }
.banner h1 span { color:#ffb800; text-shadow:0 0 14px rgba(255,184,0,.5); }
.sub { font-size:13px; color:#8993ab; margin-top:8px; line-height:1.5; }

.stock-bar {
  position:relative; height:30px; border-radius:10px;
  background:#0a0f1c; border:1px solid rgba(255,255,255,.07);
  overflow:hidden; margin-bottom:20px;
  display:flex; align-items:center; justify-content:center;
}
.stock-fill {
  position:absolute; left:0; top:0; bottom:0;
  width:2.5%;
  background:linear-gradient(90deg,#ff4d00,#ff9500);
  transition:width .4s;
}
.stock-text { position:relative; font-size:12px; color:#c7cfe0; z-index:1; }
.stock-text b { color:#ffb800; }

form { display:flex; flex-direction:column; gap:6px; }
label { font-size:12.5px; color:#8f9ab3; margin-top:8px; margin-left:3px; font-weight:600; }
input {
  background:#0a0f1c;
  border:1px solid rgba(255,255,255,.09);
  border-radius:12px;
  padding:14px 15px;
  color:#fff; font-size:14.5px;
  outline:none; transition:.2s;
}
input:focus { border-color:#ff8c00; box-shadow:0 0 0 3px rgba(255,140,0,.15); }

button {
  margin-top:16px;
  position:relative;
  background:linear-gradient(90deg,#ff4d00,#ff9500);
  border:none; border-radius:12px;
  padding:15px; color:#fff;
  font-size:15.5px; font-weight:800; letter-spacing:.3px;
  cursor:pointer; overflow:hidden;
  transition:.2s;
  box-shadow:0 8px 24px rgba(255,90,0,.35);
}
button:active { transform:scale(.98); }
button .loader {
  display:none;
  width:18px; height:18px;
  border:2.5px solid rgba(255,255,255,.35);
  border-top-color:#fff; border-radius:50%;
  animation:spin .7s linear infinite;
  position:absolute; left:50%; top:50%;
  transform:translate(-50%,-50%);
}
button.loading .btn-text { opacity:0; }
button.loading .loader { display:block; }
@keyframes spin { to { transform:translate(-50%,-50%) rotate(360deg); } }

.trust {
  display:flex; justify-content:space-between;
  margin-top:18px; font-size:11px; color:#6d7791;
}

.tos { font-size:10.5px; color:#525b72; text-align:center; margin-top:14px; line-height:1.5; }

.footer { text-align:center; font-size:11px; color:#4a5268; margin-top:16px; }

.overlay {
  position:fixed; inset:0; z-index:99;
  background:rgba(5,8,16,.85);
  backdrop-filter:blur(6px);
  display:flex; align-items:center; justify-content:center;
  padding:20px;
}
.overlay.hidden { display:none; }
.success-box {
  background:linear-gradient(160deg,#141a2e,#0d1220);
  border:1px solid rgba(255,255,255,.1);
  border-radius:20px; padding:32px 26px;
  text-align:center; max-width:340px;
  animation:pop .3s ease;
}
@keyframes pop { from { transform:scale(.9); opacity:0; } to { transform:scale(1); opacity:1; } }
.check {
  width:64px; height:64px; margin:0 auto 14px;
  border-radius:50%;
  background:linear-gradient(135deg,#22c55e,#16a34a);
  color:#fff; font-size:34px; font-weight:800;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 0 30px rgba(34,197,94,.5);
}
.success-box h2 { color:#fff; font-size:22px; margin-bottom:8px; }
.success-box p { color:#8993ab; font-size:13.5px; line-height:1.6; }