:root{
  --bg:#0b0e14; --bg2:#141821; --line:#232838;
  --ac:#00a8ff; --ac2:#00e5ff; --text:#e6e6e6; --muted:#9aa3b2;
}
*{box-sizing:border-box}
body{
  margin:0; min-height:100vh; display:flex; align-items:center; justify-content:center;
  background:radial-gradient(circle at 50% 0%, #101623 0%, var(--bg) 60%);
  color:var(--text); font-family:'Segoe UI',Arial,sans-serif; padding:24px;
}
.card{
  width:100%; max-width:440px; background:var(--bg2); border:1px solid var(--line);
  border-radius:16px; padding:36px 32px; text-align:center;
}
.brand{font-size:1.6rem; font-weight:800; margin-bottom:6px}
.brand span{background:linear-gradient(90deg,var(--ac),var(--ac2)); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent}
.lead{color:var(--muted); font-size:.95rem; margin-bottom:28px}
.btn{
  display:inline-block; width:100%; padding:15px; border-radius:10px; border:none;
  background:linear-gradient(90deg,var(--ac),var(--ac2)); color:#03131f; font-weight:700;
  font-size:1rem; cursor:pointer; text-decoration:none;
}
.btn:hover{filter:brightness(1.08)}
.btn-outline{background:transparent; border:1px solid var(--line); color:var(--text); margin-top:12px}
.hidden{display:none}
.plans{display:flex; flex-direction:column; gap:10px; margin:22px 0}
.plan{
  border:1px solid var(--line); border-radius:10px; padding:14px 16px; text-align:left;
  display:flex; justify-content:space-between; align-items:center; cursor:pointer; transition:.15s;
}
.plan:hover{border-color:var(--ac)}
.plan.active{border-color:var(--ac); background:rgba(0,168,255,.08)}
.plan input{accent-color:var(--ac)}
.plan-name{font-weight:600}
.plan-price{color:var(--ac); font-weight:700}
.networks{display:flex; gap:10px; margin:18px 0}
.net{flex:1; border:1px solid var(--line); border-radius:10px; padding:12px; cursor:pointer; font-size:.9rem}
.net.active{border-color:var(--ac); background:rgba(0,168,255,.08)}
input[type=email]{
  width:100%; padding:13px 14px; border-radius:10px; border:1px solid var(--line);
  background:#0f131c; color:var(--text); font-size:.95rem; margin-bottom:18px;
}
.note{font-size:.78rem; color:var(--muted); margin-top:18px; line-height:1.5}
.error{color:#ff6b6b; font-size:.85rem; margin-bottom:14px}
.success-icon{font-size:3rem; margin-bottom:10px}
.link-box{
  word-break:break-all; background:#0f131c; border:1px dashed var(--ac); border-radius:10px;
  padding:14px; font-size:.85rem; margin:18px 0; color:var(--ac2);
}
