:root {
  --page-bg: #ddd;
  --newpass-bg: #aaa;
  --button-text: #fff;
  --pass-letters: #111;
  --pass-digits: #00c;
  --pass-symbols: #c00;
  --copy-bg: #151e28;
  --ok-bg: #151e28;
  --buttons-flex-direction: column;
  --buttons-margin: 25px 0 0;
}

@media (min-width: 48em) {
  :root {
    --buttons-margin: 0 0 0 25px;
  }
}

html {
  background-color: var(--page-bg);
}

body {
  margin: 0 auto;
  display: block;
  justify-content: center;
  align-items: center;
}

.rio {
  display: flex;
  flex-direction: column;
  font-family: Inter, sans-serif;
  gap: 1em;
  align-items: center;
}

.password {
  display: -webkit-flex; /* Safari */
  display: flex;
  -webkit-align-items: center; /* Safari 7.0+ */
  flex-direction: row;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  width: 100%;
}

.buttons {
  display: -webkit-flex; /* Safari */
  display: flex;
  -webkit-align-items: center; /* Safari 7.0+ */
  flex-direction: var(--buttons-flex-direction) !important;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  gap: 1em;
  min-width: max-content;
}

#newPassword {
  width: 100%;
  max-width: 100%;
  background-color: var(--newpass-bg);
  border-radius: 6px;
  padding: 6px;
  font-size: 1.9rem;
  line-height: 1.2;
  text-align: center;
  vertical-align: middle;
  overflow-wrap: break-word;
  word-break: break-all;
  user-select: text;
  color: var(--pass-letters);
}

.s {
  color: var(--pass-symbols);
}

.d {
  color: var(--pass-digits);
}

#copyPassword {
  background-color: var(--copy-bg) !important;
  z-index: 2;
  transform: rotateX(0deg);
  position: absolute;
}

#copiedPassword {
  background-color: var(--ok-bg) !important;
  transform: rotateX(180deg);
  position: relative;
}

#transitioncontrol {
  transform-style: preserve-3d;
  display: none;
  position: relative;

  flex-direction: column;
  justify-content: center;
  align-content: center;
  align-items: center;
  align-self: center;
	
  width: 100%;
	
  transition: 0.8s ease-in-out;
}

#transitioncontrol button {
  -webkit-backface-visibility: hidden; /* Safari */
  backface-visibility: hidden;
}

#transitioncontrol.active {
  transform: rotateX(180deg);
}

#copiedpassword {
  pointer-events: none;
}
