feat: production-grade video player — ambient mode, speed controls, hls.js, double-tap, settings flyout
- Ambient canvas (32×18, ~8fps rAF, blur(55px)) behind video; toggleable, persisted - Speed controls 0.5×–2× via settings flyout; capRate replaces lockRate, anti-cheat preserved - hls.js dynamic import for .m3u8 URLs; Safari native HLS fallback; MP4 unchanged - Double-tap left=seek back 10s, right=blocked; single-tap toggles play on touch - Keyboard: Space/K play-pause, J/← back, L/→ blocked, ↑↓ volume, M mute, F fullscreen - Settings flyout with speed picker + ambient toggle (animated, framer-motion) - Theater mode toggle, fullscreen API, volume slider with localStorage persistence - Buffer visualization behind progress bar, hover timestamp tooltip, playhead thumb - All anti-cheat intact: maxTrustedPosRef, PiP block, visibility pause, heartbeat system
This commit is contained in: