* {
  -webkit-touch-callout: none;
  user-select: none;
}

#options th {
  text-align: left;
  padding-right: 10px;
}

input::-webkit-outer-spin-button, input::-webkit-inner-spin-button {
  -webkit-appearance: none;
}

input[type="number"] {
  text-align: right;
  -moz-appearance: textfield;
  min-width: 100px;
  width: calc(100% - 10px);
}

#start-button {
  width: 100%;
  padding: 10px 20px;
}

#board {
  display: flex;
}

.table {
  display: flex;
  flex-direction: column;
  gap: 1px;
  background-color: #444;
  padding: 5px;
  border-radius: 5px;
  position: relative;
}

#message-box {
  position: absolute;
  width: calc( 100% - 10px);
  height: calc( 100% - 10px);
  background-color: #44444488;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  z-index: 999;
}

#message-box div {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  max-width: calc( 100% - 30px);
  min-width: 300px;
  background-color: white;
  border-radius: 10px;
  border: 2px solid #444;
  font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
}

#message-box div h1 {
  margin: 10px;
}

#message-box div span {
  padding: 20px 5px;
}

#message-box div b {
  position: absolute;
  right: 5px;
  cursor: pointer;
}

.row {
  display: flex;
  gap: 1px;
}

.cell {
  width: 30px;
  height: 30px;
  position: relative;
  cursor: pointer;
  background-color: #ddd;
  border-radius: 2px;
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  box-sizing: border-box;
}

.cell[data-selected=true] {
  background-color: #777;
  color: white;
}

.cell[data-exploded=true] {
  background-color: red;
}

.cell span {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

hr {
  margin: 20px 0;
}
