body {
  font-family: Arial, sans-serif;
  background: #f5f5f5;
  display: flex;
  height: 100vh;
  align-items: center;
  justify-content: center;
}

.container {
  background: white;
  padding: 2rem;
  border-radius: 10px;
  box-shadow: 0 0 10px rgba(0,0,0,0.1);
  width: 90%;       
  max-width: 700px;    
  margin: 0 2rem;
  border: 1px solid rgb(55, 221, 55);
}


h2{
    text-align: center;
    color: green;
}

form {
    margin: 0 2rem;
}



input {
  flex: 1;  
  margin: 1rem 0;
  width: 60%;
  max-width: 520px;
  padding: 0.75rem 1rem;
  font-size: 1rem;
  border: 1px solid #c8e6c9;
  border-radius:8px 0  0 8px;
  outline: none;
  transition: border-color .25s ease, box-shadow .25s ease;
}


.criteria {
  list-style: none;
  padding: 0;
}

.criteria li {
  padding: 10px;
  margin: 0.3rem 0;
  border: 1px solid red;
  border-radius: 5px;
  color: red;
  font-size: 14px;
  background-color: rgb(255, 220, 220);
  font-weight: bold;
}

.criteria li.valid {
  border-color: green;
  color: green;
  background-color: rgb(205, 253, 205);
}

button {
  padding: 0.75rem 1rem;
  border: 2px solid #2e7d32 ;
  border-radius: 0 8px 8px 0;
  transition: transform .12s ease, background .25s ease;
}
button:hover { transform: translateY(-1px); }
button:active { transform: scale(0.98); }

button { background: #2e7d32; color: #fff; }
button:hover { background: #1b5e20; border: 2px solid #1b5e20; }

#strengthResult {
  font-weight: bold;
  text-align: center;
  margin-top: 1rem;
  padding: 1rem;
  background: #f7faf7;
  border: 1px solid #e0f2e0;
  border-radius: 10px;
  line-height: 1.6;
  font-size: 1rem;
  word-break: break-word;
}
