*,
*::before,
*::after {
  box-sizing: border-box;
}

body {
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  background: #273822;
  color: #d9d1bc;
  margin: 0;
  padding: 2rem 1rem;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  min-height: 100vh;
}

#game-wrapper {
  max-width: 400px;
  width: 100%;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 20px;
  align-items: center;
}

h1 {
  margin: 0;
  font-weight: 700;
  font-size: 2.2rem;
  color: #c4b99a;
  text-shadow: 0 1px 3px rgba(0,0,0,0.7);
}

button {
  background-color: #4c6b3f;
  border: none;
  color: #e6e1cd;
  padding: 0.6rem 1rem;
  margin: 0.2rem;
  font-size: 1rem;
  border-radius: 6px;
  cursor: pointer;
  transition: background-color 0.3s ease, box-shadow 0.3s ease;
  box-shadow: 0 3px 6px rgba(44, 61, 25, 0.8);
}

#start-btn {
  align-self: center;
}

#submit-guess {
  margin-top: 1rem;
}

button:hover:not(:disabled) {
  background-color: #3e5a34;
  box-shadow: 0 5px 10px rgba(38, 53, 21, 1);
}

button:disabled {
  background-color: #2f3d23;
  cursor: default;
  color: #7a7a6a;
  box-shadow: none;
}

input,
select {
  width: 100%;
  padding: 0.5rem;
  margin-top: 1rem;
  border-radius: 6px;
  border: 1px solid #5c6d48;
  background-color: #e5e0c9;
  color: #2b3a1e;
  font-size: 1rem;
  box-shadow: inset 0 0 6px rgba(92, 109, 72, 0.5);
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

input:focus,
select:focus {
  border-color: #4c6b3f;
  box-shadow: 0 0 8px 2px rgba(76, 107, 63, 0.8);
  outline: none;
}

input::placeholder {
  color: #7e7a5a;
}

select {
  appearance: none;
  background-image: url("data:image/svg+xml;utf8,<svg fill='%232b3a1e' height='16' viewBox='0 0 24 24' width='16' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/></svg>");
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  background-size: 1rem;
  cursor: pointer;
}

#result {
  margin-top: 1rem;
  min-height: 1.5em;
  font-weight: 600;
  color: #b9b387;
  text-shadow: 0 0 4px rgba(0, 0, 0, 0.7);
}

.progress-container {
  background-color: #4a5a2b;
  border-radius: 8px;
  height: 10px;
  margin-top: 1rem;
  overflow: hidden;
  width: 100%;
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.5);
}

#progress-bar {
  background-color: #7a9445;
  height: 100%;
  width: 0%;
  transition: width 0.1s linear;
  box-shadow: 0 0 10px rgba(122, 148, 69, 0.9);
}

.hidden {
  display: none;
}

#guess-list {
  background-color: #2e3b18;
  padding: 1rem;
  border-radius: 10px;
  box-shadow: 0 2px 10px rgba(20, 30, 10, 0.8);
  color: #d9d7ba;
  text-align: left;
  width: 100%;
  box-sizing: border-box;
}

#guess-list h3 {
  margin-top: 0;
  font-size: 1.3rem;
  color: #b9b68a;
  font-weight: 600;
  margin-bottom: 0.6rem;
  text-shadow: 0 0 2px rgba(0,0,0,0.6);
}

#guesses {
  list-style: none;
  padding: 0;
  margin: 0;
}

#guesses li {
  padding: 0.5rem 0.6rem;
  border-bottom: 1px solid #4a5b2c;
  color: #dad9bb;
}

#guesses li:last-child {
  border-bottom: none;
}
