/* spec 35.10. */
html:has(body.login),
html:has(body.login) * {
  -webkit-user-select: none;
  user-select: none;
}

/* spec 35.11. */
html:has(body.login) {
  height: 100%;
  overflow: hidden;
  overscroll-behavior: none;
  touch-action: none;
}

/* spec 35.2., 35.11. */
.login {
  position: fixed;
  inset: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0;
  width: 100%;
  min-height: 100%;
  max-width: none;
  padding: 0;
  overflow: hidden;
  overscroll-behavior: none;
}

/* spec 35.3., 35.4. */
.container {
  display: flex;
  align-items: center;
  gap: 12px;
}

/* spec 35.7., 35.8. */
body.login input {
  letter-spacing: 2px;
  font-weight: 900;
}

/* spec 6.1., 35.29. */
.input-wrapper.shake {
  animation: shake 0.5s;
}

/* spec 6.2., 35.30. */
.input-wrapper.shake #caret {
  animation: none;
}

/* spec 6.5., 35.34. */
.submit-button-wrap {
  display: inline-flex;
  align-items: center;
}

.input-wrapper.shake ~ .submit-button-wrap {
  cursor: pointer;
}

.input-wrapper.shake ~ .submit-button-wrap #button:disabled {
  opacity: 1;
}
