body {
  background: #1e1e1e;
  color: #fff;
  font-family: sans-serif;
}

.container {
  position: relative;
  margin: 0 auto;
  max-width: 600px;
}

.grid-container {
  display: grid;
  grid-template-columns: auto 1fr 1fr 1fr;
  grid-template-rows: auto 1fr 1fr 1fr;
}

.heading {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 5px;
  font-size: x-large;
}

.grid-item {
  position: relative;
  background-color: #383838; /* Default background color */
  margin: 5px;
  min-width: 100px;
}

.grid-item form {
  margin: 0;
}

.grid-item .feedback {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  font-size: 100;
}

.feedback.good {
  background: #2e664b;
  color: #4b8769;
}

.feedback.neutral {
  background: #383838;
  color: #5a5a5a;
}

.feedback.bad {
  background: #8b2f31;
  color: #b34547;
}

.finished {
  opacity: 0.5;
}

/* Make grid items square */
.grid-item::before {
  content: "";
  display: block;
  padding-top: 100%; /* Aspect ratio 1:1 (square) */
}

.grid-item-text {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: #2e664b;
  color: #fff;
  text-align: center;
  font-size: large;
}

.guesses-left {
  text-align: center;
}

.search {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  background: #1e1e1e;
  z-index: 1;
}

.search-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
  background: #000;
  opacity: 0.5;
}

.search-bar input {
  width: 100%;
  background: #383838;
  color: #fff;
  padding: 8px;
}

.search-bar input[type=submit] {
  position: absolute;
  top: 0;
  right: 0;
  width: auto;
}

.search ul {
  list-style-type: none;
  padding: 8px;
  background: #383838;
  border-radius: 4px;
}

.search li {
  cursor: default;
  padding: 4px;
  border-radius: 2px;
}

.search li:hover {
  background: #1e1e1e;
}
