* fix(player): freeze main seekbar during track preview
Preview pauses the main sink in Rust while isPlaying stays true in the
store, so WaveformSeek's interpolation rAF must not advance progress.
* fix(audio): recover output after sleep and stalled streams
Add platform-specific post-sleep recovery hooks for Windows and Linux, and add a watchdog that reopens the output stream when playback is active but sample progress stalls, so audio can recover without restarting the app.
* fix(ui): remove card hover lift and smooth artwork zoom
Remove vertical hover translation from album and artist cards, and move image fade transition out of inline styles so cover zoom uses CSS timing consistently.
* fix(player): prevent seekbar jump after preview ends
Reset interpolation anchor timing when preview freeze state changes so the main seekbar does not momentarily jump forward before resyncing.
* fix(audio): reduce false watchdog recoveries and add diagnostics
Arm stalled-output recovery only after long poll gaps that suggest sleep/resume, and add detailed watcher logs for arm/clear/trigger paths to diagnose unintended stream reopens.
* chore(ui): drop card GPU hints and clarify macOS sleep scope
Remove translateZ and will-change hints from album and artist cover images to avoid per-card compositing overhead on software-composited Linux paths, and document why post-sleep recovery hooks currently target only Windows and Linux.
* docs(audio): document intentional Win32 callback pointer lifetime
Add inline rationale for the two Box::into_raw pointers in Windows suspend/resume registration so future maintenance does not treat the process-lifetime pointers as accidental leaks.
* docs(changelog): summarize playback stability updates for PR #476
Add a high-level changelog entry for preview seekbar fixes, sleep/wake audio recovery hooks and watchdog diagnostics, and card-hover stability adjustments from PR #476.
* docs(contributors): add cucadmuh entry for PR #476
Logs the post-sleep audio recovery, preview-seekbar fixes and card
hover stability work in the Settings → System → Contributors list.
Move audio engine functionality from a single large file into focused Rust modules while preserving behavior and command surface. This keeps boundaries clearer for future extraction and the upcoming lib.rs split.