form {
  max-width: 600px;
  margin: 0 auto;
  padding: 20px;
  border: 1px solid #ccc;
  border-radius: 8px;
  background-color: #f9f9f9;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

h2 {
  text-align: center;
  color: #333;
}

div {
  margin: 1em 0;
}

input:valid {
  background-color: ivory;
  border: none;
  outline: 2px solid deepskyblue;
  border-radius: 5px;
  accent-color: gold;
}

input:invalid {
  background-color: pink;
  border: none;
  outline: 2px solid deepskyblue;
  border-radius: 5px;
}

label {
  display: block;
  margin-bottom: 0.4em;
  font-weight: bold;
}

input[type="text"],
input[type="email"],
input[type="password"],
select,
textarea {
  width: 100%;
  padding: 10px;
  border: 1px solid #ccc;
  border-radius: 4px;
  box-sizing: border-box;
  transition: border-color 0.3s;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
select:focus,
textarea:focus {
  border-color: #007BFF;
  outline: none;
}

input[type="radio"],
input[type="checkbox"] {
  margin-right: 0.5em;
}

fieldset {
  display: inline;
  width: 45%;
  border: 1px solid #ccc;
  border-radius: 4px;
  padding: 12px;
  margin: 1em 0;
}

legend {
  font-weight: bold;
}

input[type="submit"] {
  background-color: #007BFF;
  color: white;
  padding: 10px 15px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: background-color 0.3s;
}

input[type="submit"]:hover {
  background-color: #0056b3;
}

input:placeholder-shown {
  outline: 0.15em solid #c2c2d6;
}

input::placeholder {
  color: #8585ad;
}
