CARD GAME
Type "when they attack with a creature of power 4 or more" and a local LLM turns it into the engine condition language. All your opponent sees is the mana you left standing — never what is under the card.
A reserved spell costs a card to set and its mana when it fires — so a trap only works if you end your turn with mana unspent. That leftover mana is visible on your board. Your opponent can tell that something is waiting, but not whether it is removal, a counter, or a pump. That asymmetry is the game.
Set a spell face-down with a moment (attack declared, a creature arrives, a death, damage, a spell cast…) and a condition. It fires by itself the instant the condition holds. Three at a time; take one back for one mana when you read it wrong.
For anything the checkboxes cannot express, type it and the LLM compiles it. The result passes through the engine validator, which admits only the read-only vocabulary — conditions compile, anything that would mutate the board is rejected.
The server alone holds the real board and sends each seat a redacted view of it. Nothing is "sent and hidden at draw time", so opening devtools does not reveal what your opponent is holding.
Attacks go at the hero and the defender chooses one blocker. Creatures die to blocks and removal, not to being targeted — and because blocks are a moment too, combat tricks work as reserved spells.
Presets per colour. 20–40 cards, up to 3 copies of a card.
No login. The bot sets traps of its own.
Choose a trigger and condition, or type one and let it compile.
Log in, agree on a room code, and take the two seats.
Nothing to install and nothing to sign up for. Open it, pick a deck, and play. When you want a human opponent, log in and agree on a room code.