- Add @keyframes pulse (0%,100% opacity:1; 50% opacity:0.4) to tokens.css after @keyframes spin - Remove redundant local <style> block redefining @keyframes spin from PushPermissionPrompt.tsx - LiveSyncIndicator reconnecting dot now resolves its pulse animation from the global stylesheet - PushPermissionPrompt spinner continues to work via the existing global spin keyframe