body {
  font-family: system-ui, sans-serif;
  text-align: center;
  background: #f5f5f5;
}

h1 {
  margin-top: 16px;
}

.controls {
  margin: 8px auto;
  display: flex;
  justify-content: center;
  gap: 8px;
  flex-wrap: wrap;
}

#status {
  margin: 8px;
  font-weight: bold;
}

#message {
  margin-bottom: 8px;
}

.board {
  margin: 0 auto;
  width: min(80vmin, 480px);
  aspect-ratio: 1 / 1;
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  grid-template-rows: repeat(8, 1fr);
  background: #0a7a2f;
  border: 4px solid #06451c;
  box-shadow: 0 4px 10px rgba(0,0,0,0.3);
}

.cell {
  border: 1px solid #06451c;
  position: relative;
  cursor: pointer;
}

.cell.disabled {
  cursor: default;
}

.cell.hint::after {
  content: "";
  position: absolute;
  inset: 25%;
  border-radius: 50%;
  background: rgba(255, 255, 0, 0.4);
}

.stone {
  position: absolute;
  inset: 10%;
  border-radius: 50%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.4);
  transition: transform 0.2s;
}

.stone.black {
  background: radial-gradient(circle at 30% 30%, #666, #000);
}

.stone.white {
  background: radial-gradient(circle at 30% 30%, #fff, #ccc);
}

.stone.flip {
  transform: scale(1.1);
}
