The computer plays the top colour. You play the bottom colour.
Allow Blunder and move probabilities
Unchecked: use Stockfish's final bestmove, with no intentional random choice. This is the best move found within the selected search budget, not a promise that it is objectively perfect. The weighting selector is disabled.
Checked (default): preserve the existing weighted draw among the four best candidates. Allowing a lower-ranked move does not force a blunder, and the top four may all be good moves.
Both choices retain your rank bonuses: 20%, 10%, 5%, 0%, then normalise the preliminary weights to total 100%. Percentages mean chance of selecting a move, not chance of winning.
Score-gap: using scores in pawn units from the moving side's viewpoint, calculate w = exp((score - bestScore) / 1.0). The preliminary weight is rankBonus + w / sum(w). This keeps the score order intact with positive, zero, or negative evaluations.
Your formula: use rankBonus + score / totalScore. When the signed total is zero or negative, use the sum of absolute scores as the denominator; if all scores are zero, start with equal shares. If any preliminary weight is negative, add the same amount to all so the smallest becomes 0.05, then normalise. That 5% floor is before normalising, not a minimum final chance.
Mate safeguard: take an available immediate checkmate; otherwise favour forced-mate lines over non-mating lines. Avoid an engine-reported forced loss when another candidate avoids it. Within an all-mate pool, use mate distance rather than pretending mate is a centipawn score. Fewer than four legal moves are handled automatically.
The computer waits for its search to end (depth, node budget or time limit) before choosing. A brief pause makes the reply visible. Changing mode, flipping, undoing or starting a new game cancels a pending choice.