### Added — Head-2-Head (2-player mode)
- Full 5-stage arc (Arraignment → Discovery → Motions → Trial → Sentencing → Verdict).
- Case picker with three hand-crafted cases (State v. Halden, People v. Voss, State v. Novak).
- AI opponent across three difficulty tiers (Novice / Attorney / Judge).
- Cross-stage payoffs: motion wins shorten Trial examination sequences; Brady catches buff Sentencing mash weight.
- Trial objection interference — SUSTAINED = +2 & advance opponent, OVERRULED = -1.
- Verdict copy pulls the real case data, sentence months, and departure.
- Optional custom seed for repeatable matches.
- Menu button promoted above Law School.
### Added — Practice-mode cases
- State v. Mercer (DV no-contact violation)
- State v. Okonkwo (contested DUI)
- State v. Reyes (Robbery 1, grand jury)
- State v. Boone (PWID fentanyl, 4th Amendment)
- State v. Diallo (Padilla immigration trap)
- State v. Chen (vehicular homicide, sentencing)
- State v. Kealoha (VUFA, scope-of-consent)
- State v. J.T. (juvenile Assault 2, E.L.G.)
- State v. Nakamura (not-restorable competency)
- State v. Ochoa (RCW 10.77 competency)
### Added — Practice-mode mechanics
- RCW 10.77 competency system: evaluator + reducer + panel routing, restoration day counter, 90-day review trigger, negotiation freeze on incompetent finding.
- Padilla advisory: immigration collateral consequences wired into plea offers.
- Brady distinctions: late-produced vs. withheld disclosure, late-production advisory in the negotiation engine.
- Exceptional downward departure under RCW 9.94A.535.
- New motions: MOTION_TO_DISCLOSE_CI (Roviaro/Casal); Ladson pretext and Dickerson plain-feel now differentiate.
- Discovery expanded to all suppression-driven cases.
- Realism: victim contact log (WA RCW 7.69), no_contact_violation + bad_faith_charging ethics, tighter office plea policy scope.
### Changed
- Head-2-Head early-end threshold raised from 6 to 12. Simulation across 2000 seeded matches per case showed the old threshold ended ~75% of matches at Discovery, gating players out of Motions / Trial / Sentencing. At 12, roughly 68% of matches now see the full arc.
### Fixed
- Save/load: five mechanic fields that were previously dropped now round-trip correctly.
- Save corruption is now detected and surfaces one-click auto-save recovery.
### Internal
- 176 → 224 unit tests for Head-2-Head; pure logic extracted into `motionsLogic`, `sentencingLogic`, `trialLogic`, and `versusFlow`.
- New Clash end-to-end smoke walks the full stage arc under AI mode.
- Match-distribution analysis harness with `CLASH_THRESHOLD` env override for future balance sweeps.
- Lock-seam tests: dismissal, suppression → negotiation, Brady disclosure, competency, Padilla, speedy-trial backstop.
- Foundational audit cleanup — removed dead acquittal branch, stale imports, obsolete `Array.isArray` guards.
