body {
  margin: 0;
  padding: 0;
  font-family: Arial, sans-serif;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100vh;
  background-color: #1e1e1e;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.container {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: flex-start;
  width: 650px;
  height: 650px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

.upper {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  width: 650px;
  height: 600px;
}

.lower {
  display: flex;
  flex-direction: row;
  align-items: center;
  width: 600px;
  height: 50px;

}

.chessboard {
  display: grid;
  grid-template-columns: repeat(8, 75px);
  grid-template-rows: repeat(8, 75px);
}

.square {
  width: 75px;
  height: 75px;
  border: 1px solid #333;
}

.dark {
  background-color: #769656;
}

.light {
  background-color: #eeeed2;
}

.numbers-column {
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  height: 100%;
  width: 100%;
}

.numbers {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
  width: 100%;
}

.number {
  width: 50px;
  height: 50px;
  text-align: center;
  font-size: 16px;
  line-height: 50px;
  font-size: 1.3rem;
  font-weight: bold;
  color: whitesmoke;
}

.letters-row {
  display: flex;
  flex-direction: row;
  justify-content: space-around;
  width: 100%;
  height: 100%;
}

.letters{
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  width: 100%;
  height: 100%;
}

.letter {
  width: 50px;
  height: 50px;
  text-align: center;
  font-size: 16px;
  line-height: 50px;
  font-size: 1.3rem;
  font-weight: bold;
  color: whitesmoke;
}

/* Classic Theme */
.chessboard.classic .dark {
  background-color: #739453;
}

.chessboard.classic .light {
  background-color: #EBECD0;
}

/* Modern Theme */
.chessboard.modern .dark {
  background-color: #666;
}

.chessboard.modern .light {
  background-color: #f0f0f0;
}

/* Dark Theme */
.chessboard.dark .dark {
  background-color: #222;
}

.chessboard.dark .light {
  background-color: #6e6c6c;
}

/* Ocean Theme */
.chessboard.ocean .dark {
  background-color: #008080;
}

.chessboard.ocean .light {
  background-color: #d4f4ff;
}

/* Pastel Theme */
.chessboard.pastel .dark {
  background-color: #ff69b4;
}

.chessboard.pastel .light {
  background-color: #fce4ec;
}

/* Wooden Theme */
.chessboard.wooden .dark {
  background-color: #78552b;
}

.chessboard.wooden .light {
  background-color: #e6b78a;
}




#theme-select {
  position: relative;
  top: 20px;
  right: 20px;
  padding: 10px;
  font-size: 16px;
  border: none;
  border-radius: 5px;
  background-color: #f0f0f0;
  color: #333;
  outline: none;
  cursor: pointer;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

#theme-select option {
  font-size: 16px;
  background-color: #f0f0f0;
  color: #333;
}

#theme-select option:hover {
  background-color: #ccc;
}


.piece {
  font-size: 70px;
  line-height: 75px;
  text-align: center;
}

.piece:focus {
  outline: none;
  background: none;
}


/* Black pieces */
.piece.black {
  color: #000;
}

/* White pieces */
.piece.white {
  color: #949494;
}

.piece:hover {
  cursor: pointer;
}

/* Timer Section */
.timers{
  display: flex;
  flex-direction: column;
  justify-content:space-between;
  align-items: center;
  height: 100%;
  position: relative;
  left: 12rem;
  bottom: 40rem;
}

#white-timer, #black-timer {
  /* text-align: center; */
  border: 2px solid #fff;
  display:inline;
  padding: 5px;
  color: #fff;
  font-family: Verdana, sans-serif, Arial;
  font-size: 40px;
  font-weight: bold;
  text-decoration: none;
  border-radius: 10px;
  background-color: #121212;
}




.highlighted {
  background-image: url("/src/main/webapp/images/green-circle.png");
  background-size: 30%;
  background-repeat: no-repeat;
  background-position: center;
}

.game-popup {
  background: #262523;
  -webkit-border-radius: 6px;
  -moz-border-radius: 6px;
  border-radius: 6px;
  position: fixed;
  top: 0;
  left: 51%;
  transform: translate(-50%, -50%) scale(0.1);
  text-align: center;
  color: #818181;
  visibility: hidden;
  transition: all 0.4s ease-in-out;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  border-radius: 10px;
}

.game-over-popup {
  visibility: visible;
  top: 50%;
  transform: translate(-50%, -50%) scale(1);
  z-index: 1000;
}
.gameover {
  width: 600px;
  max-width: 800px;
  margin: 0 auto;
  padding: 20px;
  height: 300px;
  background-color: #333;
  border-radius: 10px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
  text-align: center;
  color: white;
}

.gameover h1 {
  font-size: 28px;
  color: #fff;
  margin-bottom: 20px;
  text-transform: uppercase;
  letter-spacing: 2px;
  position: relative;
  display: inline-block;
}

.gameover h1::before {
  content: "";
  position: absolute;
  bottom: -5px;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #fff;
}


.gameover .buttons{
  display: flex;
  justify-content: space-around;
  align-items: center;
  width: 100%;
  height: 80px;
  position: relative;
  top: 4rem;
}

.buttons .btn{
  align-items: center;
  appearance: none;
  background-color: #83B64D;
  border-radius: 8px;
  border: none;
  box-shadow: rgba(45, 35, 66, 0.4) 0 2px 4px,
  rgba(45, 35, 66, 0.3) 0 7px 13px -3px, #47743C 0 -5px 0 inset;
  color: #FEFEFF;
  cursor: pointer;
  display: inline-flex;
  font-size: 18px;
  transition: transform 0.3s ease-in-out;
  text-align: center;
}

.againbtn{
  background-color: #83B64D;
  border-radius: 8px;
  border: none;
  box-shadow: rgba(45, 35, 66, 0.4) 0 2px 4px,
  rgba(45, 35, 66, 0.3) 0 7px 13px -3px, #47743C 0 -5px 0 inset;
  color: #FEFEFF;
  cursor: pointer;
  display: inline-flex;
  padding: 1rem 2.5rem;
  font-size: 18px;
  transition: transform 0.3s ease-in-out;
  text-align: center;
}

.closebtn{
  background-color: #83B64D;
  border-radius: 8px;
  border: none;
  box-shadow: rgba(45, 35, 66, 0.4) 0 2px 4px,
  rgba(45, 35, 66, 0.3) 0 7px 13px -3px, #47743C 0 -5px 0 inset;
  color: #FEFEFF;
  cursor: pointer;
  display: inline-flex;
  padding: 1rem 3.5rem;
  font-size: 18px;
  transition: transform 0.3s ease-in-out;
  text-align: center;

}

.btn:hover {
  transform: translateY(-2px);
  background-color: #a3d160;
  box-shadow: rgba(45, 35, 66, 0.4) 0 1px 2px,
  rgba(45, 35, 66, 0.3) 0 7px 13px -3px, #47743C 0 -5px 0 inset;
}

.btn:active {
  background-color: #83B64D;
  box-shadow: rgba(45, 35, 66, 0.4) 0 2px 4px,
  rgba(45, 35, 66, 0.3) 0 7px 13px -3px, #47743C 0 -5px 0 inset;
}

.gameover p{
  font-size: 24px;
  color: #fff;
  position: relative;
  top: 2rem;
  font-weight: 600;
}
.moves-section {
  display: flex;
  flex-direction: column;
  align-items: left;
  height: 40rem;
  width: 10rem;
  background-color: #333;
  margin-top: 2rem;
  margin-bottom: 2rem;
  margin-right: 0.5rem;
  left: -10rem;
  border-radius: 10px;
  overflow-y: auto;
}

.moves-section h2 {
  font-size: 1.2rem;
  margin-bottom: 10px;
  padding-left: 50px;
  color: white;
}

#moveList {
  list-style: none;
  padding-left: 10px;

}

#moveList li {
  margin-bottom: 5px;
  font-size: 1rem;
  color: white;
}

#moveList li:before {
  content: "• ";
  color: #d0ff00;
  font-weight: bold;
}
  