#accessGate{
  position:fixed;
  inset:0;
  background:
    radial-gradient(circle at top left, rgba(52,211,153,.10), transparent 30%),
    linear-gradient(180deg, #070A10 0%, #05070C 100%);
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:99999;
  padding:24px;
}

.access-gate-box{
  width:100%;
  max-width:460px;
  background:rgba(11,18,32,.88);
  border:1px solid rgba(234,240,255,.10);
  padding:40px 32px;
  border-radius:22px;
  text-align:center;
  box-shadow:0 24px 80px rgba(0,0,0,.45);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}

.access-gate-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:7px 12px;
  margin-bottom:18px;
  border-radius:999px;
  border:1px solid rgba(52,211,153,.28);
  background:rgba(52,211,153,.10);
  color:#6EE7B7;
  font-size:11px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.access-gate-logo{
  font-size:24px;
  font-weight:600;
  letter-spacing:.04em;
  margin-bottom:12px;
  color:#EAF0FF;
}

.access-gate-box h1{
  margin:0 0 12px;
  font-size:30px;
  line-height:1.05;
  letter-spacing:-.03em;
  color:#EAF0FF;
}

.access-gate-box p{
  margin:0 0 24px;
  font-size:14px;
  line-height:1.6;
  color:rgba(234,240,255,.72);
}

.access-gate-box input{
  width:100%;
  padding:15px 16px;
  margin-bottom:14px;
  border-radius:12px;
  border:1px solid rgba(234,240,255,.12);
  background:#0B1220;
  color:#EAF0FF;
  outline:none;
  font-size:15px;
}

.access-gate-box input:focus{
  border-color:rgba(52,211,153,.55);
  box-shadow:0 0 0 4px rgba(52,211,153,.10);
}

.access-gate-box button{
  width:100%;
  padding:15px 16px;
  border-radius:12px;
  border:none;
  background:#34D399;
  color:#071013;
  font-weight:700;
  font-size:15px;
  cursor:pointer;
  transition:transform .12s ease, opacity .12s ease;
}

.access-gate-box button:hover{
  opacity:.96;
  transform:translateY(-1px);
}

.access-gate-note{
  margin-top:14px;
  font-size:12px;
  color:rgba(234,240,255,.48);
  letter-spacing:.04em;
}

body.access-gate-locked{
  overflow:hidden;
}