Player and bot roll in secret — only the outcome code (lose/draw/win) is revealed.
Frontend generates a secret bot roll for this round, encrypts it, and sends both rolls to the contract.
After a round, opt‑in to let others decrypt only the last outcome (0/1/2) for your address.
Anyone can fetch an encrypted result handle for an address that opted in and run a public decrypt.