Move q_logits_d, q_logits_tp1_d, v_pred_d, v_pred_tp1_d, pi_logits_d from per-step alloc_zeros to persistent trainer fields allocated at init. Stable device pointers are a prerequisite for CUDA Graph capture. Updated step_with_lobsim, step_synthetic, and dqn_replay_step to use self.field instead of local allocations. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>