.sudoku-grid {
  display: grid;
  grid-template-columns: repeat(9, 80px);
  grid-template-rows: repeat(9, 80px);
  border: 4px dashed #c00;
  width: fit-content;
  margin: 20px auto;
}

.sudoku-cell {
  width: 80px;
  height: 80px;
  text-align: center;
  font-size: 20px;
  font-family: 'Arial', sans-serif;
  border: 1px solid #c00;
  background-color: #fff;
  box-sizing: border-box;
}

/* Bold vertical borders every 3 columns */
.sudoku-cell:nth-child(3n) {
  border-right: 3px solid #c00;
}
.sudoku-cell:nth-child(1),
.sudoku-cell:nth-child(10),
.sudoku-cell:nth-child(19),
.sudoku-cell:nth-child(28),
.sudoku-cell:nth-child(37),
.sudoku-cell:nth-child(46),
.sudoku-cell:nth-child(55),
.sudoku-cell:nth-child(64),
.sudoku-cell:nth-child(73) {
  border-left: 3px solid #c00;
}

/* Bold horizontal borders every 3 rows */
.sudoku-cell:nth-child(n + 1):nth-child(-n + 9),
.sudoku-cell:nth-child(n + 28):nth-child(-n + 36),
.sudoku-cell:nth-child(n + 55):nth-child(-n + 63) {
  border-top: 3px solid #c00;
}
.sudoku-cell:nth-child(n + 19):nth-child(-n + 27),
.sudoku-cell:nth-child(n + 46):nth-child(-n + 54),
.sudoku-cell:nth-child(n + 73):nth-child(-n + 81) {
  border-bottom: 3px solid #c00;
}