Major changes:
- Add StyleConfig dataclass with independent color, width, opacity,
duration, pulse_speed, sound, and volume per mode (running/completed)
- Replace flat flash_*/sound_*/play_on config with running: and
completed: YAML sections
- Replace CGEventTap (silently fails in forked daemon) with
CGEventSourceSecondsSinceLastEventType polling for reliable
input-based pulse dismissal when Cursor is already frontmost
- Update overlay, sound, and daemon to pass StyleConfig per call
- Rewrite tests for new config shape and dismiss mechanism
Made-with: Cursor