/* パスコードゲートのオーバーレイ */
#gate{
  position:fixed; inset:0; z-index:9999;
  display:flex; align-items:center; justify-content:center;
  background:radial-gradient(120% 120% at 50% 0%, #1c3157 0%, #0f1c30 60%, #0a1422 100%);
  padding:24px;
}
#gate .gbox{
  width:100%; max-width:360px; text-align:center;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(201,162,77,.35);
  border-radius:18px; padding:34px 26px 30px;
  box-shadow:0 24px 60px rgba(0,0,0,.45);
  backdrop-filter:blur(6px);
}
#gate .gemb{
  width:54px; height:54px; margin:0 auto 16px;
  display:flex; align-items:center; justify-content:center;
  border-radius:14px; font-weight:800; font-size:26px; color:#0f1c30;
  background:linear-gradient(135deg,#e7c878,#c9a24d);
  box-shadow:0 8px 20px rgba(201,162,77,.4);
}
#gate h1{ margin:0 0 8px; font-size:19px; color:#f4ead2; letter-spacing:.04em; }
#gate p{ margin:0 0 18px; font-size:13px; line-height:1.7; color:#b9c4d4; }
#gate input{
  width:100%; box-sizing:border-box; padding:13px 14px; margin-bottom:12px;
  border-radius:11px; border:1px solid rgba(255,255,255,.18);
  background:rgba(0,0,0,.25); color:#fff; font-size:16px; outline:none;
}
#gate input:focus{ border-color:#c9a24d; }
#gate button{
  width:100%; padding:13px 14px; border:0; border-radius:11px; cursor:pointer;
  font-size:15px; font-weight:700; color:#0f1c30;
  background:linear-gradient(135deg,#e7c878,#c9a24d);
}
#gate button:active{ transform:translateY(1px); }
#gate .gerr{ min-height:18px; margin:10px 0 0; color:#ff9b9b; font-size:12px; }
