#pw-gate {
  position: fixed; inset: 0; z-index: 9999;
  background: #0a0c10;
  display: flex; align-items: center; justify-content: center;
  flex-direction: column; gap: 24px;
}
#pw-gate h2 {
  color: rgba(255,255,255,0.85); font-size: 18px; font-weight: 500;
  letter-spacing: 0.03em; margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Display', system-ui, sans-serif;
}
.gate-logo {
  display: flex; flex-direction: column; align-items: center; gap: 14px;
}
.gate-logo svg { width: 48px; height: 56px; }
.gate-logo-text {
  color: rgba(255,255,255,0.35); font-size: 12px;
  letter-spacing: 0.15em; text-transform: uppercase;
  font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Display', system-ui, sans-serif;
}
.gate-row { display: flex; gap: 10px; align-items: center; }
#pw-in {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 10px; color: #fff;
  font-size: 15px; padding: 11px 16px;
  outline: none; width: 240px;
  font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Display', system-ui, sans-serif;
  transition: border-color 0.2s;
}
#pw-in:focus { border-color: rgba(1,97,224,0.5); }
#pw-in.error { border-color: rgba(239,68,68,0.7); animation: shake 0.3s; }
#pw-btn {
  background: linear-gradient(135deg, #0161E0, #00ACFA);
  border: none; border-radius: 10px; color: #fff; cursor: pointer;
  font-size: 14px; padding: 11px 22px; font-weight: 500;
  font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Display', system-ui, sans-serif;
  transition: opacity 0.2s;
}
#pw-btn:hover { opacity: 0.85; }
#pw-err {
  color: rgba(239,68,68,0.8); font-size: 13px;
  font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Display', system-ui, sans-serif;
  height: 16px;
}
@keyframes shake {
  0%,100% { transform: translateX(0); }
  25% { transform: translateX(-6px); }
  75% { transform: translateX(6px); }
}
