* {
  box-sizing: border-box;
}

body {
  background-color: #18171f;
  color: white;
  font-family: "JetBrains Mono", monospace;
  margin: 0;
}

.container {
  width: 100%;
  padding: 16px;
}

.parent {
  max-width: 520px;
  margin: auto;
}

/* OUTPUT */
.output {
  background-color: #24232c;
  min-height: 80px;
  display: flex;
  align-items: center;
  padding: 16px;
}

.output form {
  display: flex;
  align-items: center;
  width: 100%;
  gap: 12px;
}

.output input {
  flex: 1;
  background: transparent;
  border: none;
  outline: none;
  font-size: 22px;
  color: #e6e5ea;
}

/* COPY */
.copy-container {
  background: none;
  border: none;
  cursor: pointer;
  color: #a4ffaf;
}

/* SETTINGS */
.setting {
  margin-top: 24px;
  background-color: #24232c;
  padding-bottom: 24px;
}

.length-parent {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 24px;
}

.range {
  width: 90%;
  padding: 0 24px;
  margin: 12px;
  accent-color: #a4ffaf;
}

/* CHECKBOX */
.checkbox1 {
  padding: 24px;
}

.checkbox-parent {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 16px;
  color: #e6e5ea;
}

/* STRENGTH */
.strength {
  background-color: #18171f;
  margin: 0 24px 24px;
  padding: 16px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}

.strength-right {
  display: flex;
  align-items: center;
  gap: 12px;
}

.bars span {
  width: 10px;
  height: 24px;
  border: 2px solid #e6e5ea;
}

/* BUTTON */
.btn {
  width: calc(100% - 48px);
  margin: 0 24px;
  height: 60px;
  background-color: #a4ffaf;
  border: none;
  cursor: pointer;
  font-size: 18px;
}

.btn:hover {
  background-color: #24232c;
  border: 2px solid #a4ffaf;
  color: #a4ffaf;
}

/* FOOTER */
.m {
  text-align: center;
  font-size: 6px;
  color: silver;
  margin-top: 24px;
}

/* MOBILE */
@media (max-width: 480px) {
  .output input {
    font-size: 18px;
  }

  .length-count {
    font-size: 24px;
  }

  .strength {
    flex-direction: column;
    gap: 12px;
    text-align: center;
  }

  .strength-right {
    justify-content: center;
  }
}
