* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  overflow: hidden;
}

body {
  background-color: #f0f0f0;
  justify-content: center;
  align-items: center;
  text-align: center;
  transition: background-color 0.25s ease-in-out;
}

.outer {
  position: relative;
}

.outer-hea {
  min-height: 15vh;
}

.outer-mid {
  min-height: 70vh;
}

.outer-foo {
  min-height: 15vh;
}

.inner {
  position: absolute;
  inset: 0;
  margin: auto;
  max-width: 100%;
  max-height: 100%;
}

.inner-hea {
  aspect-ratio: 5 / 1;
}

.inner-mid {
  padding: 1%;
  aspect-ratio: 1/1;
}

.inner-foo {
  aspect-ratio: 5 / 1;
}

#grid-container {
  overflow: visible;
  display: grid;
  grid-template-columns: repeat(7, 12%);
  grid-template-rows: repeat(7, 12%);
  gap: 2.6667%;
  margin-top: 1%;
}

.grid-item {
  background-color: #ffffff;
  border: 0.2vmin solid black;
  width: 100%;
  aspect-ratio: 1/1;
  transition: filter 0.3s ease, background-color 0.3s ease;
  ;
  filter: brightness(100%);
}

.grid-item:hover {
  filter: brightness(85%);
}

.low-brightness {
  filter: brightness(65%);
}

.low-brightness:hover {
  filter: brightness(50%);
}

.color-circle {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  height: 30%;
  aspect-ratio: 1/1;
  border-radius: 50%;
  border: 0.2vmin solid black;

}

.color-circle:hover {
  filter: brightness(85%);
}

#lives-display {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  margin-top: 1%;
  margin-bottom: 2%;
  display: flex;
  justify-content: center;
  gap: 1%;
}

.heart {
  font-size: 3vmin;
  color: red;
  transition: opacity 0.3s ease;
}

#scoreboard {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  display: flex;
  justify-content: center;
  gap: 1%;
  bottom: 0;
  padding-left: 1%;    
  padding-right: 1%;
}

.score-column {
  width: 20%;
  aspect-ratio: 5/3;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 1vmin;
  border: 0.2vmin solid black;
}

.score-text {
  color: white;
  font-family: Arial, sans-serif;
  font-weight: bold;
  font-size: 8vmin;
  -webkit-text-stroke: 0.2vmin black;
}

.button-container {
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 100%;
  height: 33%;
  transform: translateX(-50%);
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}
.bc {
  bottom: 33%;
}

.svbutton {
  margin-left: 1%;
  margin-right: 1%;
  padding: 1% 1%;
  font-family: Arial, sans-serif;
  font-weight: bold;
  font-size: 2.2vmin;
  color: black;
  background-color: white;
  border: 0.2vmin solid black;
  width: 30%;
  height: 80%;
  cursor: pointer;
  transition: background-color 0.3s, transform 0.2s;
}

.svbutton:hover {
  background-color: #f0f0f0;
}

.svbutton:active {
  transform: scale(0.95);
}

.svbutton:disabled {
  background-color: #ccc;
  cursor: not-allowed;
}
.gobg {
  position: absolute;
  transition: position 0.3s;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  width: 100%;
  height: 100%;
  background: rgba(139, 139, 139, 0.5);
}
.gobg div {
  position: absolute;
  transition: position 0.3s;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  width: 85vmin;
  height: 20vmin;
  background-color: white;
  border: 5px solid black;
  opacity: 1;
}
.gospan {
  font-family: 'Courier New', Courier, monospace;
  font-size: 10vmin;
  color: black;
}
.gobutton {
  font-family: Arial, sans-serif;
  font-weight: bold;
  font-size: 2.2vmin;
  color: black;
  background-color: white;
  border: 0.2vmin solid black;
  width: 95%;
  height: 35%;
  cursor: pointer;
  transition: background-color 0.3s, transform 0.2s;
}

.gobutton:hover {
  background-color: #f0f0f0;
}

.gobutton:active {
  transform: scale(0.95);
}

.gobutton:disabled {
  background-color: #ccc;
  cursor: not-allowed;
}
#col-red {
  background-color: #ff0000;
}

#col-orange {
  background-color: #ffca00;
}

#col-yellow {
  background-color: #ffff00;
}

#col-lime {
  background-color: #00ff00;
}

#col-blue {
  background-color: #0000ff;
}

#col-purple {
  background-color: #d642ff;
}