- Offers can go to the whole table (asked in seat order, empty hands skipped) or one seat. - The asked seat may accept (trade happens at once), decline, or counter with new terms. - If nobody accepts and there are counters, the offerer takes one or turns them all down (new TRADE_COUNTERS phase). - AI: fixes an inverted accept test (it weighed what it gives against what it gets backwards), picks the best counter. - UI: Everyone option in the offer dialog, Counter… in the reply dialog, a counter-choice dialog. - Tests and docs updated. Co-Authored-By: Claude Sonnet 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_018njn2eMPAYqAoE49hGRg2X