Fixes
- LED device blank after sleep/resume (#108): LED protocol had no retry-with-reconnect — after sleep, USB handles go stale and sends fail silently forever. Now matches the Bulk/LY pattern: on first USB error, close transport, re-handshake, retry once. Self-heals regardless of DBus sleep monitor (fixes distrobox/container environments).
- macOS theme downloads fail with SSL error (#109):
data_repository.pyalready usedcertififor the Mozilla CA bundle, butcertifiwasn't inpyproject.tomldependencies. On macOS where Python can't find system certs, downloads silently failed withSSL_CERTIFICATE_VERIFY_FAILED.