/** @format */
/** @format */
.ticTacToeBoard {
  width: 100vw;
  height: calc(100vh - 80px);
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (auto)[3];
      grid-template-columns: repeat(3, auto);
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-line-pack: center;
      align-content: center;
  justify-items: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #131313;
}

.ticTacToeCell {
  width: 150px;
  height: 150px;
  border: 1px solid #00ffff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  cursor: pointer;
}

.ticTacToeCell:first-child,
.ticTacToeCell:nth-child(2),
.ticTacToeCell:nth-child(3) {
  border-top: none;
}

.ticTacToeCell:nth-child(3n + 1) {
  border-left: none;
}

.ticTacToeCell:nth-child(3n + 3) {
  border-right: none;
}

.ticTacToeCell:last-child,
.ticTacToeCell:nth-child(8),
.ticTacToeCell:nth-child(7) {
  border-bottom: none;
}

.ticTacToeCell.x,
.ticTacToeCell.o {
  cursor: not-allowed;
}

.ticTacToeCell.x::before,
.ticTacToeCell.x::after,
.ticTacToeCell.o::before {
  background-color: #bbff99;
}

.ticTacToeBoard.x .ticTacToeCell:not(.x):not(.o):hover::before,
.ticTacToeBoard.o .ticTacToeCell:not(.x):not(.o):hover::before,
.ticTacToeBoard.x .ticTacToeCell:not(.x):not(.o):hover::after {
  background-color: #ff99ff;
}

.ticTacToeCell.x::before,
.ticTacToeCell.x::after,
.ticTacToeBoard.x .ticTacToeCell:not(.x):not(.o):hover::before,
.ticTacToeBoard.x .ticTacToeCell:not(.x):not(.o):hover::after {
  content: '';
  position: absolute;
  width: 20.25px;
  height: 135px;
}

.ticTacToeCell.x::before,
.ticTacToeBoard .ticTacToeCell:not(.x):not(.o):hover::before {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.ticTacToeCell.x::after,
.ticTacToeBoard .ticTacToeCell:not(.x):not(.o):hover::after {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

.ticTacToeCell.o::before,
.ticTacToeCell.o::after,
.ticTacToeBoard.o .ticTacToeCell:not(.x):not(.o):hover::before,
.ticTacToeBoard.o .ticTacToeCell:not(.x):not(.o):hover::after {
  content: '';
  position: absolute;
  border-radius: 50%;
}

.ticTacToeCell.o::before,
.ticTacToeBoard.o .ticTacToeCell:not(.x):not(.o):hover::before {
  width: 135px;
  height: 135px;
}

.ticTacToeCell.o::after,
.ticTacToeBoard.o .ticTacToeCell:not(.x):not(.o):hover::after {
  width: 94.5px;
  height: 94.5px;
  background-color: #131313;
}

.winningMessage {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #131313;
  opacity: 0.9;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #131313;
  font-size: 5rem;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  color: #00ffff;
}

.winningMessage button {
  font-size: 3rem;
  background-color: #131313;
  border: 1px solid #00ffff;
  padding: 0.25em 0.5em;
  cursor: pointer;
  color: #00ffff;
}

.winningMessage button:hover {
  background-color: #fff;
  color: #131313;
  border-color: #131313;
}

.winningMessage.show {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
