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

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

/* spec 14.2., 14.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 14.3., 14.4. */
.container {
  display: flex;
  align-items: center;
  gap: 12px;
}

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

/* spec 14.29. */
.input-wrapper.shake {
  animation: shake 0.5s;
}

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

/* spec 14.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;
}
