The GPU process was exiting due to idle timeout between warmup and
first article open. Now the WKWebView stays attached to the window
(alpha=0, invisible) until first article use. makeUIView reparents
it to the article container via removeFromSuperview + addSubview.
Also: removed all debug logging (warmup, article open, WebView timing).
Confirmed by instrumentation:
- GPU process launches during warmup (1.3s, background)
- First article open: 22ms total, WebView finish: 3ms
- No user-visible freeze
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>