/* PWA: экран входа — без лагов (без blur/matrix) */
body.login-gate-open #matrixCanvas,
body.access-gate-open #matrixCanvas {
  display: none !important;
}

body.login-gate-open .matrix-overlay,
body.access-gate-open .matrix-overlay {
  opacity: 0.35;
}

.login-gate {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  background: rgba(3, 8, 6, 0.97);
  z-index: 99999 !important;
  pointer-events: auto !important;
  touch-action: manipulation;
}

.login-gate__card {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  transform: translateZ(0);
}

.login-gate__card {
  max-height: min(92vh, 640px);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

.login-gate__steps {
  margin: 0 0 14px;
  padding: 0 0 0 18px;
  font-size: 0.78rem;
  color: var(--hint);
  line-height: 1.45;
}

.login-gate__steps li {
  margin-bottom: 6px;
}

.login-gate__input {
  font-size: 1.35rem;
  letter-spacing: 0.35em;
  text-align: center;
  font-variant-numeric: tabular-nums;
}

.login-gate__btn--ghost {
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.14);
  color: var(--hint);
  font-size: 0.82rem;
  margin-top: 8px;
}

.login-gate__btn--ghost:active {
  background: rgba(255, 255, 255, 0.06);
}

.login-gate,
.login-gate__card,
.login-gate__btn,
.access-gate .login-gate__btn {
  touch-action: manipulation;
  pointer-events: auto;
}

.login-gate__btn:disabled {
  opacity: 0.55;
}
