// ==UserScript== // @name Planner Plus // @namespace https://docs.scriptcat.org/ // @version 2.0.0 // @description Enhance your Planner experience with extra features. // @author Shu Su // @homepage https://scriptcat.org/en/script-show-page/5384 // @homepageURL https://scriptcat.org/en/script-show-page/5384 // @match https://tasks.office.com/* // @match https://planner.cloud.microsoft/* // @icon data:image/x-icon;base64,AAABAAEAQEAAAAEAIAAoQAAAFgAAACgAAABAAAAAgAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9alA//WpQP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD1qUD/9alA//WpQP/1qUD/9alA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPWpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPWpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPWpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP8AAAAA9alA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP8AAAAA9alA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPWpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPWpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPWpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM06yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADNOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADNOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADNOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM06yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM06yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM06yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM06yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADNOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP8AAAAAAAAAAAAAAAAAAAAAAAAAALY4cv+2OHL/tjhy/7Y4cv/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/AAAAAAAAAAAAAAAAAAAAALY4cv+2OHL/tjhy/7Y4cv+2OHL/tjhy/7Y4cv/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/AAAAAAAAAAAAAAAAAAAAALY4cv+2OHL/tjhy/7Y4cv+2OHL/tjhy/7Y4cv+2OHL/tjhy/7Y4cv+2OHL/tjhy/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/AAAAAAAAAAAAAAAAtjhy/7Y4cv+2OHL/tjhy/7Y4cv+2OHL/tjhy/7Y4cv+2OHL/tjhy/7Y4cv+2OHL/tjhy/7Y4cv+2OHL/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/AAAAAAAAAAAAAAAAtjhy/7Y4cv+2OHL/tjhy/7Y4cv+2OHL/tjhy/7Y4cv+2OHL/tjhy/7Y4cv+2OHL/tjhy/7Y4cv+2OHL/tjhy/7Y4cv/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/AAAAAAAAAAAAAAAAAAAAALY4cv+2OHL/tjhy/7Y4cv+2OHL/tjhy/7Y4cv+2OHL/tjhy/7Y4cv+2OHL/tjhy/7Y4cv+2OHL/tjhy/7Y4cv+2OHL/tjhy/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtjhy/7Y4cv+2OHL/tjhy/7Y4cv+2OHL/tjhy/7Y4cv+2OHL/tjhy/7Y4cv+2OHL/tjhy/7Y4cv+2OHL/tjhy/7Y4cv+2OHL/tjhy/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA/wAAAAD1qUD/9alA//WpQP/1qUD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtjhy/7Y4cv+2OHL/tjhy/7Y4cv+2OHL/tjhy/7Y4cv+2OHL/tjhy/7Y4cv+2OHL/tjhy/7Y4cv+2OHL/tjhy/7Y4cv+2OHL/tjhy/7Y4cv+2OHL/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/9alA//WpQP/1qUD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALY4cv+2OHL/tjhy/7Y4cv+2OHL/tjhy/7Y4cv+2OHL/tjhy/7Y4cv+2OHL/tjhy/7Y4cv+2OHL/tjhy/7Y4cv+2OHL/tjhy/7Y4cv+2OHL/tjhy/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI//WpQP/1qUD/9alA//WpQP/NOsj/9alA//WpQP/1qUD/zTrI/806yP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC2OHL/tjhy/7Y4cv+2OHL/tjhy/7Y4cv+2OHL/tjhy/7Y4cv+2OHL/tjhy/7Y4cv+2OHL/tjhy/7Y4cv+2OHL/tjhy/7Y4cv+2OHL/tjhy/7Y4cv+2OHL/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/9alA//WpQP/1qUD/9alA//WpQP/1qUD/zTrI/806yP/NOsj/zTrI/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALY4cv+2OHL/tjhy/7Y4cv+2OHL/tjhy/7Y4cv+2OHL/tjhy/7Y4cv+2OHL/tjhy/7Y4cv+2OHL/tjhy/7Y4cv+2OHL/tjhy/7Y4cv+2OHL/tjhy/7Y4cv/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/AAAAAM06yP/NOsj/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtjhy/7Y4cv+2OHL/tjhy/7Y4cv+2OHL/tjhy/7Y4cv+2OHL/tjhy/7Y4cv+2OHL/tjhy/7Y4cv+2OHL/tjhy/7Y4cv+2OHL/tjhy/7Y4cv+2OHL/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/9alA//WpQP8AAAAAzTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP8AAAAAAAAAAAAAAAAAAAAAAAAAALY4cv8AAAAAtjhy/7Y4cv+2OHL/tjhy/7Y4cv+2OHL/tjhy/7Y4cv+2OHL/tjhy/7Y4cv+2OHL/tjhy/7Y4cv+2OHL/tjhy/7Y4cv+2OHL/tjhy/7Y4cv8AAAAAzTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtjhy/7Y4cv+2OHL/tjhy/7Y4cv+2OHL/tjhy/7Y4cv+2OHL/tjhy/7Y4cv+2OHL/tjhy/7Y4cv+2OHL/tjhy/7Y4cv+2OHL/tjhy/7Y4cv+2OHL/tjhy/wAAAADNOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtjhy/7Y4cv+2OHL/tjhy/7Y4cv+2OHL/tjhy/7Y4cv+2OHL/tjhy/7Y4cv+2OHL/tjhy/7Y4cv+2OHL/tjhy/7Y4cv+2OHL/tjhy/7Y4cv8AAAAAAAAAAM06yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC2OHL/tjhy/7Y4cv+2OHL/tjhy/7Y4cv+2OHL/tjhy/7Y4cv+2OHL/tjhy/7Y4cv+2OHL/tjhy/7Y4cv+2OHL/tjhy/7Y4cv+2OHL/AAAAAAAAAAAAAAAAzTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALY4cv+2OHL/tjhy/7Y4cv+2OHL/tjhy/7Y4cv+2OHL/tjhy/7Y4cv+2OHL/tjhy/7Y4cv+2OHL/tjhy/7Y4cv+2OHL/AAAAAAAAAAAAAAAAAAAAAAAAAADNOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC2OHL/tjhy/7Y4cv+2OHL/tjhy/7Y4cv+2OHL/tjhy/7Y4cv+2OHL/tjhy/7Y4cv+2OHL/tjhy/7Y4cv+2OHL/tjhy/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM06yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC2OHL/tjhy/7Y4cv+2OHL/tjhy/7Y4cv+2OHL/tjhy/7Y4cv+2OHL/tjhy/7Y4cv+2OHL/tjhy/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtjhy/7Y4cv+2OHL/tjhy/7Y4cv+2OHL/tjhy/7Y4cv+2OHL/tjhy/7Y4cv+2OHL/tjhy/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADNOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC2OHL/tjhy/7Y4cv+2OHL/tjhy/7Y4cv+2OHL/tjhy/7Y4cv+2OHL/tjhy/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM06yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALY4cv+2OHL/tjhy/7Y4cv+2OHL/tjhy/7Y4cv+2OHL/tjhy/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM06yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC2OHL/tjhy/7Y4cv+2OHL/tjhy/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADNOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/AAAAAM06yP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADNOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM06yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADNOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADNOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/wAAAADNOsj/zTrI/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADNOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP/NOsj/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM06yP/NOsj/zTrI/806yP/NOsj/zTrI/806yP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA // @require https://code.jquery.com/jquery-4.0.0.min.js // @grant GM_addStyle // @grant GM_info // @license MIT // ==/UserScript== /* global $ */ /* global GM_info */ /* global GM_addStyle */ (() => { // src/plugins/planner/styles.js var css = ` #plannerPlusLottery, #plannerPlusStart { position: fixed; display: inline-flex; z-index: 9998; } #plannerPlusLottery .planner-plus-icon-wrap, #plannerPlusStart .planner-plus-icon-wrap { position: relative; display: inline-flex; } #plannerPlusLottery .planner-plus-tooltip, #plannerPlusStart .planner-plus-tooltip { position: absolute; right: calc(100% + 10px); top: 50%; z-index: 10001; width: max-content; max-width: calc(100vw - 24px); white-space: nowrap; padding: 9px 11px; border-radius: 4px; color: #fff; background: #172b4d; box-shadow: 0 4px 12px rgba(9, 30, 66, .25); font: 12px/1.4 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; text-align: left; pointer-events: none; opacity: 0; visibility: hidden; transform: translateY(-50%) translateX(4px); transition: opacity .15s ease, transform .15s ease, visibility .15s ease; } #plannerPlusLottery .planner-plus-icon-wrap:hover .planner-plus-tooltip, #plannerPlusStart .planner-plus-icon-wrap:hover .planner-plus-tooltip, #plannerPlusLottery .planner-plus-icon-wrap:focus-within .planner-plus-tooltip, #plannerPlusStart .planner-plus-icon-wrap:focus-within .planner-plus-tooltip { opacity: 1; visibility: visible; transform: translateY(-50%) translateX(0); } #plannerPlusLottery .planner-plus-tooltip--right, #plannerPlusStart .planner-plus-tooltip--right { right: auto; left: calc(100% + 10px); top: 50%; bottom: auto; transform: translateY(-50%) translateX(-4px); } #plannerPlusLottery .planner-plus-tooltip--bottom, #plannerPlusStart .planner-plus-tooltip--bottom { right: 0; left: auto; top: calc(100% + 10px); bottom: auto; transform: translateY(-4px); } #plannerPlusLottery .planner-plus-tooltip--left, #plannerPlusStart .planner-plus-tooltip--left { right: calc(100% + 10px); left: auto; top: 50%; bottom: auto; transform: translateY(-50%) translateX(4px); } #plannerPlusLottery .planner-plus-tooltip--top, #plannerPlusStart .planner-plus-tooltip--top { right: 0; left: auto; top: auto; bottom: calc(100% + 10px); transform: translateY(4px); } #plannerPlusLottery .planner-plus-icon-wrap:hover .planner-plus-tooltip--right, #plannerPlusStart .planner-plus-icon-wrap:hover .planner-plus-tooltip--right, #plannerPlusLottery .planner-plus-icon-wrap:focus-within .planner-plus-tooltip--right, #plannerPlusStart .planner-plus-icon-wrap:focus-within .planner-plus-tooltip--right { transform: translateY(-50%) translateX(0); } #plannerPlusLottery .planner-plus-icon-wrap:hover .planner-plus-tooltip--bottom, #plannerPlusStart .planner-plus-icon-wrap:hover .planner-plus-tooltip--bottom, #plannerPlusLottery .planner-plus-icon-wrap:focus-within .planner-plus-tooltip--bottom, #plannerPlusStart .planner-plus-icon-wrap:focus-within .planner-plus-tooltip--bottom { transform: translateY(0); } #plannerPlusLottery .planner-plus-icon-wrap:hover .planner-plus-tooltip--left, #plannerPlusStart .planner-plus-icon-wrap:hover .planner-plus-tooltip--left, #plannerPlusLottery .planner-plus-icon-wrap:focus-within .planner-plus-tooltip--left, #plannerPlusStart .planner-plus-icon-wrap:focus-within .planner-plus-tooltip--left { transform: translateY(-50%) translateX(0); } #plannerPlusLottery .planner-plus-icon-wrap:hover .planner-plus-tooltip--top, #plannerPlusStart .planner-plus-icon-wrap:hover .planner-plus-tooltip--top, #plannerPlusLottery .planner-plus-icon-wrap:focus-within .planner-plus-tooltip--top, #plannerPlusStart .planner-plus-icon-wrap:focus-within .planner-plus-tooltip--top { transform: translateY(0); } #plannerPlusLottery { align-items: center; } #plannerPlusTimer { margin: 0 10px 0 0; font-size: 20pt; line-height: 1.25; height: auto; min-height: 1.5rem; background: transparent; } #plannerPlusLotteryImg, #plannerPlusStartImg { cursor: pointer; width: 48px; height: 48px; } #plannerPlusFirework { width: 100%; height: 100%; z-index: 9999; } #plannerPlusDialog.planner-plus-modal { position: fixed; inset: 0; z-index: 10000; display: none; align-items: center; justify-content: center; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #172b4d; box-sizing: border-box; } #plannerPlusDialog.planner-plus-modal.is-open { display: flex; } #plannerPlusDialog.planner-plus-modal *, #plannerPlusDialog.planner-plus-modal *::before, #plannerPlusDialog.planner-plus-modal *::after { box-sizing: border-box; } #plannerPlusDialog .planner-plus-modal__scrim { position: absolute; inset: 0; background: rgba(9, 30, 66, 0.28); } #plannerPlusDialog .planner-plus-modal__panel { align-self: center; position: relative; display: flex; flex: 0 1 auto; flex-direction: column; width: min(860px, calc(100vw - 36px)); height: min(695px, calc(100dvh - 36px)); max-height: calc(100dvh - 36px); overflow: hidden; border-radius: 9px; background: #fff; box-shadow: 0 18px 48px rgba(9, 30, 66, .22), 0 3px 12px rgba(9, 30, 66, .12); } #plannerPlusDialog .planner-plus-modal__header { display: flex; flex: 0 0 auto; align-items: center; justify-content: space-between; gap: 12px; padding: 18px 20px 16px; border-bottom: 1px solid #dfe1e6; } #plannerPlusDialog .planner-plus-modal__heading { display: flex; align-items: center; gap: 10px; } #plannerPlusDialog .planner-plus-modal__icon { width: 36px; height: 36px; flex: 0 0 36px; border-radius: 7px; } #plannerPlusDialog .planner-plus-modal__header strong, #plannerPlusDialog .planner-plus-modal__header small { display: block; } #plannerPlusDialog .planner-plus-modal__header strong { font-size: 16px; line-height: 1.2; } #plannerPlusDialog .planner-plus-modal__header small { margin-top: 4px; color: #5e6c84; font-size: 12px; } #plannerPlusDialog .planner-plus-modal__close { border: 0; border-radius: 5px; background: transparent; color: #6b778c; font-size: 22px; line-height: 30px; width: 30px; height: 30px; cursor: pointer; } #plannerPlusDialog .planner-plus-modal__close:hover { background: #ebecf0; color: #172b4d; } #plannerPlusDialog .planner-plus-modal__close:focus { outline: 0; } #plannerPlusDialog .planner-plus-modal__body { flex: 1 1 0; min-height: 0; max-height: none; overflow-x: hidden; overflow-y: auto; padding: 14px; scrollbar-color: var(--planner-plus-border, #dfe1e6) transparent; scrollbar-width: thin; } #plannerPlusDialog .planner-plus-modal__body::-webkit-scrollbar { width: 8px; } #plannerPlusDialog .planner-plus-modal__body::-webkit-scrollbar-thumb { background: var(--planner-plus-border, #dfe1e6); border-radius: 999px; } #plannerPlusDialog .planner-plus-modal__body::-webkit-scrollbar-track { background: transparent; } #plannerPlusDialog .planner-plus-modal__config-list { display: grid; gap: 8px; } #plannerPlusDialog .planner-plus-modal__config-section { color: var(--planner-plus-text, #172b4d); font-size: 12px; letter-spacing: .04em; margin: 4px 2px 0; text-transform: uppercase; } #plannerPlusDialog .planner-plus-modal__config-group { border: 1px solid var(--planner-plus-border, #dfe1e6); border-radius: 9px; overflow: hidden; } #plannerPlusDialog .planner-plus-modal__config-group[hidden] { display: none !important; } #plannerPlusDialog .planner-plus-modal__config-summary { align-items: center; background: var(--planner-plus-control, #f8fafc); color: var(--planner-plus-text, #172b4d); cursor: pointer; display: flex; font-size: 12px; font-weight: 700; justify-content: flex-start; letter-spacing: .04em; list-style: none; padding: 9px 36px 9px 12px; position: relative; text-transform: uppercase; } #plannerPlusDialog .planner-plus-modal__config-summary::-webkit-details-marker { display: none; } #plannerPlusDialog .planner-plus-modal__config-summary:hover { background: var(--planner-plus-hover, #f1f5f9); } #plannerPlusDialog .planner-plus-modal__config-chevron { align-items: center; color: var(--planner-plus-muted, #5e6c84); display: inline-flex; height: 18px; justify-content: center; position: absolute; right: 12px; top: 50%; transform: translateY(-50%); transition: transform .18s ease; width: 18px; } #plannerPlusDialog .planner-plus-modal__config-chevron img { display: block; height: 16px; width: 16px; } #plannerPlusDialog .planner-plus-modal__config-group[open] .planner-plus-modal__config-chevron { transform: translateY(-50%) rotate(180deg); } #plannerPlusDialog .planner-plus-modal__config-group-content { display: grid; gap: 8px; padding: 8px; } #plannerPlusDialog .planner-plus-modal__config-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(150px, 42%); align-items: center; gap: 14px; min-height: 60px; padding: 9px 12px; border: 1px solid var(--planner-plus-border, #dfe1e6); border-radius: 9px; background: var(--planner-plus-control, #f4f5f7); } .planner-plus-autofocus-hidden { display: none !important; } .planner-plus-highlight-row, .planner-plus-highlight-row > td { background-color: #e9d5ff !important; color: #5b21b6 !important; } .planner-plus-highlight-row-dark, .planner-plus-highlight-row-dark > td { background-color: #3b245c !important; color: #e9b8ff !important; } #plannerPlusDialog .planner-plus-modal__config-copy { min-width: 0; } #plannerPlusDialog .planner-plus-modal__config-title, #plannerPlusDialog .planner-plus-modal__config-description { display: block; } #plannerPlusDialog .planner-plus-modal__config-title { color: var(--planner-plus-text, #172b4d); font-size: 13px; font-weight: 650; } #plannerPlusDialog .planner-plus-modal__config-description { margin-top: 4px; color: var(--planner-plus-muted, #5e6c84); font-size: 11px; line-height: 1.35; } #plannerPlusDialog .planner-plus-modal__config-control { min-width: 0; } #plannerPlusDialog .planner-plus-modal__config-control input[type="number"], #plannerPlusDialog .planner-plus-modal__config-control select { width: 100%; height: 40px; border: 2px solid var(--planner-plus-border, #dfe1e6); border-radius: 7px; outline: 0; padding: 0 11px; color: var(--planner-plus-text, #172b4d); background: var(--planner-plus-surface, #fff); font: inherit; font-size: 13px; font-weight: 400; } #plannerPlusDialog .planner-plus-modal__config-control select { cursor: pointer; appearance: none; -webkit-appearance: none; padding-right: 38px; } #plannerPlusDialog .planner-plus-modal__select-control { position: relative; } #plannerPlusDialog .planner-plus-modal__select-control::after { content: ""; position: absolute; top: 14px; right: 14px; width: 8px; height: 8px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; color: var(--planner-plus-muted, #5e6c84); pointer-events: none; transform: rotate(45deg); } #plannerPlusDialog .planner-plus-modal__config-control input:focus, #plannerPlusDialog .planner-plus-modal__config-control select:focus { border-color: var(--planner-plus-accent, #0c66e4); box-shadow: 0 0 0 2px rgba(12, 102, 228, .2); } #plannerPlusDialog .planner-plus-modal__config-control input[type="number"]::-webkit-inner-spin-button, #plannerPlusDialog .planner-plus-modal__config-control input[type="number"]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; } #plannerPlusDialog .planner-plus-modal__config-control input[type="number"] { -moz-appearance: textfield; } #plannerPlusDialog .planner-plus-modal__number-control { position: relative; } #plannerPlusDialog .planner-plus-modal__number-control input { padding-right: 42px; } #plannerPlusDialog .planner-plus-modal__number-control em { position: absolute; top: 10px; right: 11px; color: var(--planner-plus-muted, #5e6c84); font-size: 12px; font-style: normal; } #plannerPlusDialog .planner-plus-modal__toggle-control { align-items: center; cursor: pointer; display: inline-flex; justify-content: flex-end; position: relative; } #plannerPlusDialog .planner-plus-modal__toggle-control input { cursor: pointer; height: 24px; inset: 0; margin: 0; opacity: 0; position: absolute; width: 42px; z-index: 1; } #plannerPlusDialog .planner-plus-modal__switch { background: var(--planner-plus-muted, #8993a4); border-radius: 999px; cursor: pointer; height: 24px; pointer-events: none; position: relative; width: 42px; } #plannerPlusDialog .planner-plus-modal__toggle-control input:focus-visible + .planner-plus-modal__switch { outline: 2px solid var(--planner-plus-accent, #0c66e4); outline-offset: 2px; } #plannerPlusDialog .planner-plus-modal__switch::after { content: ""; position: absolute; top: 3px; left: 3px; width: 18px; height: 18px; border-radius: 50%; background: #fff; transition: transform .15s ease; } #plannerPlusDialog .planner-plus-modal__toggle-control input:checked + .planner-plus-modal__switch { background: var(--planner-plus-accent, #0c66e4); } #plannerPlusDialog .planner-plus-modal__toggle-control input:checked + .planner-plus-modal__switch::after { transform: translateX(18px); } [data-testid="task-board-root"].planner-plus-preview-host { position: relative; } #plannerPlusActivityPreview.planner-plus-preview { position: absolute; animation: planner-plus-preview-fade-in .22s ease-out both; inset: 0; z-index: 10002; display: flex; align-items: center; justify-content: center; padding: 24px; color: #172b4d; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; } #plannerPlusActivityPreview.planner-plus-preview.is-closing { animation: planner-plus-preview-fade-out .22s ease-in forwards; pointer-events: none; } #plannerPlusActivityPreview .planner-plus-preview__backdrop { position: absolute; inset: 0; background: transparent; } #plannerPlusActivityPreview .planner-plus-preview__panel { position: relative; display: flex; flex-direction: column; width: min(900px, 100%); max-height: calc(100% - 48px); overflow: hidden; border-radius: 10px; background: #fff; box-shadow: 0 20px 70px rgba(0, 0, 0, .5); } #plannerPlusActivityPreview .planner-plus-preview__header, #plannerPlusActivityPreview .planner-plus-preview__footer { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 22px; border-bottom: 1px solid #dfe1e6; } #plannerPlusActivityPreview .planner-plus-preview__header h2 { margin: 0; font-size: 22px; } #plannerPlusActivityPreview .planner-plus-preview__summary { color: #5e6c84; font-size: 15px; font-weight: 500; } #plannerPlusActivityPreview .planner-plus-preview__summary.is-over-threshold { color: #ef6a6a; } #plannerPlusActivityPreview .planner-plus-preview__header { display: grid; grid-template-columns: minmax(0, 1fr) 30px; } #plannerPlusActivityPreview .planner-plus-preview__header-spacer { display: none; } #plannerPlusActivityPreview .planner-plus-preview__heading { align-items: center; display: flex; flex: 1; gap: 10px; grid-column: 1; justify-content: flex-start; min-width: 0; text-align: left; } #plannerPlusActivityPreview .planner-plus-preview__avatar { align-items: center; background: #dfe1e6; border-radius: 50%; color: #172b4d; display: inline-flex; flex: 0 0 36px; font-size: 12px; font-weight: 700; height: 36px; justify-content: center; overflow: hidden; width: 36px; } #plannerPlusActivityPreview .planner-plus-preview__avatar img { height: 100%; object-fit: cover; width: 100%; } #plannerPlusActivityPreview .planner-plus-preview__heading h2 { min-width: 0; text-align: left; } #plannerPlusActivityPreview .planner-plus-preview__close { grid-column: 2; grid-row: 1; } #plannerPlusActivityPreview .planner-plus-preview__divider { margin: 8px 0 0; border: 0; border-top: 1px solid #dfe1e6; } #plannerPlusActivityPreview .planner-plus-preview__meta { display: flex; gap: 12px; margin-top: 6px; color: #5e6c84; font-size: 13px; } #plannerPlusActivityPreview .planner-plus-preview__task-title { margin-top: 8px; overflow: hidden; color: #172b4d; font-size: 16px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; } #plannerPlusActivityPreview .planner-plus-preview__close { border: 0; background: transparent; color: #42526e; cursor: pointer; font-size: 30px; line-height: 1; } #plannerPlusActivityPreview .planner-plus-preview__content { min-height: 180px; overflow: auto; padding: 24px; font-size: 16px; line-height: 1.5; } #plannerPlusActivityPreview .planner-plus-preview-task-content { font-size: 14px !important; line-height: 1.5 !important; } #plannerPlusActivityPreview .planner-plus-preview-task-content :where(p, li, span, a, [role="text"], [data-testid="task-card-title"]) { font-size: 14px !important; line-height: 1.5 !important; } #plannerPlusActivityPreview .planner-plus-preview__footer { justify-content: center; border-top: 1px solid #dfe1e6; border-bottom: 0; } #plannerPlusActivityPreview .planner-plus-preview__content, #plannerPlusActivityPreview .planner-plus-preview__content * { color: #172b4d !important; } #plannerPlusActivityPreview .planner-plus-preview__content { background: #fff; } #plannerPlusActivityPreview .planner-plus-preview__content a { color: #0c66e4 !important; } #plannerPlusActivityPreview .planner-plus-preview__count { min-width: 70px; text-align: center; font-weight: 700; } #plannerPlusActivityPreview .planner-plus-preview__footer { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(70px, auto) auto minmax(0, 1fr); justify-content: stretch; } #plannerPlusActivityPreview .planner-plus-preview__adjacent { overflow: hidden; color: #5e6c84; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; } #plannerPlusActivityPreview .planner-plus-preview__previous-name { text-align: right; } #plannerPlusActivityPreview .planner-plus-preview__next-name { text-align: left; } #plannerPlusActivityPreview .planner-plus-preview__button { min-height: 40px; padding: 0 18px; border: 0; border-radius: 5px; color: #fff; background: #0c66e4; cursor: pointer; font: inherit; font-weight: 600; } #plannerPlusActivityPreview .planner-plus-preview__button:hover { background: #0747a6; } #plannerPlusActivityPreview .planner-plus-preview__button:disabled { cursor: not-allowed; opacity: .45; } #plannerPlusActivityPreview .planner-plus-preview__content-grid { display: grid; grid-template-columns: 28px minmax(0, 1fr) 28px; min-height: 330px; } #plannerPlusActivityPreview .planner-plus-preview__content-column { display: flex; flex: 1; flex-direction: column; min-height: 330px; min-width: 0; } #plannerPlusActivityPreview .planner-plus-preview__content { flex: 1; min-height: 0; overflow-x: hidden; overflow-y: auto; scrollbar-gutter: stable; } #plannerPlusActivityPreview .planner-plus-preview__content:focus { outline: none; } #plannerPlusActivityPreview .planner-plus-preview__task-footer { align-items: center; background: #f7f9fb; border-top: 1px solid #dfe1e6; display: grid; gap: 10px; grid-template-columns: minmax(0, 1fr) auto auto; min-height: 52px; padding: 8px 14px; } #plannerPlusActivityPreview .planner-plus-preview__checklist-count { color: #5e6c84; font-size: 13px; font-weight: 650; justify-self: start; white-space: nowrap; } #plannerPlusActivityPreview .planner-plus-preview__checklist-warning { color: #de350b; font-size: 12px; font-weight: 650; justify-self: end; text-align: right; white-space: nowrap; } #plannerPlusActivityPreview .planner-plus-preview__open-card { border: 0; border-radius: 6px; color: #fff; background: #0c66e4; cursor: pointer; font: inherit; font-size: 12px; font-weight: 650; justify-self: end; min-height: 34px; padding: 0 12px; white-space: nowrap; } #plannerPlusActivityPreview .planner-plus-preview__open-card:hover { background: #0747a6; } #plannerPlusActivityPreview .planner-plus-preview__open-card.is-overflow { animation: planner-plus-open-card-pulse 1.4s ease-in-out infinite; box-shadow: 0 0 0 0 rgba(222, 53, 11, .55); background: #de350b; } @keyframes planner-plus-open-card-pulse { 0%, 100% { box-shadow: 0 0 0 0 rgba(222, 53, 11, .55); } 50% { box-shadow: 0 0 0 7px rgba(222, 53, 11, 0); } } #plannerPlusActivityPreview .planner-plus-preview__nav-zone { display: flex; align-items: center; justify-content: center; border: 0; background: #fafbfc; color: #5e6c84; cursor: pointer; padding: 0; user-select: none; -webkit-user-select: none; } #plannerPlusActivityPreview .planner-plus-preview__nav-zone:hover:not(:disabled) { background: #f0f7ff; color: #0c66e4; } #plannerPlusActivityPreview .planner-plus-preview__nav-zone:disabled { cursor: not-allowed; opacity: .38; } #plannerPlusActivityPreview .planner-plus-preview__arrow { width: 24px; height: 34px; display: grid; place-items: center; border-radius: 4px; font-size: 27px; line-height: 1; user-select: none; -webkit-user-select: none; } @keyframes planner-plus-preview-fade-in { from { opacity: 0; transform: translateY(8px) scale(.985); } to { opacity: 1; transform: translateY(0) scale(1); } } @keyframes planner-plus-preview-fade-out { from { opacity: 1; transform: translateY(0) scale(1); } to { opacity: 0; transform: translateY(4px) scale(.99); } } @media (prefers-reduced-motion: reduce) { #plannerPlusActivityPreview.planner-plus-preview, #plannerPlusActivityPreview.planner-plus-preview.is-closing { animation: none; } } .planner-plus-animate { -webkit-animation: spin 1s linear infinite; -moz-animation: spin 1s linear infinite; animation: spin 1s linear infinite; } @-moz-keyframes spin { 100% { -moz-transform: rotate(360deg); } } @-webkit-keyframes spin { 100% { -webkit-transform: rotate(360deg); } } @keyframes spin { 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); } } /* Planner Plus theme is scoped to injected UI roots. */ #plannerPlusStart[data-planner-plus-theme], #plannerPlusLottery[data-planner-plus-theme], #plannerPlusDialog[data-planner-plus-theme], #plannerPlusActivityPreview[data-planner-plus-theme] { --planner-plus-bg: #fff; --planner-plus-surface: #fff; --planner-plus-text: #172b4d; --planner-plus-muted: #5e6c84; --planner-plus-border: #dfe1e6; --planner-plus-hover: #ebecf0; --planner-plus-control: #f4f5f7; --planner-plus-input: #fff; --planner-plus-accent: #0c66e4; --planner-plus-accent-hover: #0747a6; --planner-plus-tooltip: #172b4d; --planner-plus-tooltip-text: #fff; } #plannerPlusDialog[data-planner-plus-theme="dark"] .planner-plus-modal__config-chevron img, #plannerPlusDialog[data-planner-plus-theme="dark"] .planner-plus-voice-chevron img { filter: brightness(0) invert(1); } #plannerPlusStart[data-planner-plus-theme="dark"], #plannerPlusLottery[data-planner-plus-theme="dark"], #plannerPlusDialog[data-planner-plus-theme="dark"], #plannerPlusActivityPreview[data-planner-plus-theme="dark"] { --planner-plus-bg: #101214; --planner-plus-surface: #1d2125; --planner-plus-text: #e6edf3; --planner-plus-muted: #a8b3c2; --planner-plus-border: #3b434d; --planner-plus-control: #252b33; --planner-plus-hover: #30363d; --planner-plus-input: #1d2125; --planner-plus-accent: #579dff; --planner-plus-accent-hover: #579dff; --planner-plus-tooltip: #e6edf3; --planner-plus-tooltip-text: #1d2125; } #plannerPlusStart[data-planner-plus-theme] .planner-plus-tooltip, #plannerPlusLottery[data-planner-plus-theme] .planner-plus-tooltip { color: var(--planner-plus-tooltip-text); background: var(--planner-plus-tooltip); } #plannerPlusLottery[data-planner-plus-theme] #plannerPlusTimer { color: var(--planner-plus-text); background: transparent; } #plannerPlusLottery[data-planner-plus-theme] #plannerPlusTimer.is-over-threshold { color: #ef6a6a; } #plannerPlusDialog[data-planner-plus-theme], #plannerPlusActivityPreview[data-planner-plus-theme] { color: var(--planner-plus-text); } #plannerPlusDialog[data-planner-plus-theme] .planner-plus-modal__panel, #plannerPlusActivityPreview[data-planner-plus-theme] .planner-plus-preview__panel { background: var(--planner-plus-surface); color: var(--planner-plus-text); } #plannerPlusDialog[data-planner-plus-theme] .planner-plus-modal__header, #plannerPlusActivityPreview[data-planner-plus-theme] .planner-plus-preview__header, #plannerPlusActivityPreview[data-planner-plus-theme] .planner-plus-preview__footer { border-color: var(--planner-plus-border); } #plannerPlusDialog[data-planner-plus-theme] .planner-plus-modal__header small, #plannerPlusActivityPreview[data-planner-plus-theme] .planner-plus-preview__summary, #plannerPlusActivityPreview[data-planner-plus-theme] .planner-plus-preview__meta { color: var(--planner-plus-muted); } #plannerPlusActivityPreview[data-planner-plus-theme] .planner-plus-preview__summary.is-over-threshold { color: #ef6a6a; } #plannerPlusDialog[data-planner-plus-theme] input, #plannerPlusDialog[data-planner-plus-theme] select { border-color: var(--planner-plus-border); color: var(--planner-plus-text); background: var(--planner-plus-input); } #plannerPlusDialog[data-planner-plus-theme] .planner-plus-modal__close:hover, #plannerPlusActivityPreview[data-planner-plus-theme] .planner-plus-preview__button { background: var(--planner-plus-accent); } #plannerPlusActivityPreview[data-planner-plus-theme] .planner-plus-preview__content, #plannerPlusActivityPreview[data-planner-plus-theme] .planner-plus-preview__content * { color: var(--planner-plus-text) !important; background-color: var(--planner-plus-surface); } #plannerPlusActivityPreview[data-planner-plus-theme] .planner-plus-preview__content a { color: var(--planner-plus-accent) !important; } #plannerPlusActivityPreview[data-planner-plus-theme] .planner-plus-preview__task-footer { background: var(--planner-plus-control); border-color: var(--planner-plus-border); } #plannerPlusActivityPreview[data-planner-plus-theme] .planner-plus-preview__checklist-count { color: var(--planner-plus-muted); } #plannerPlusActivityPreview[data-planner-plus-theme] .planner-plus-preview__open-card { background: var(--planner-plus-accent); } #plannerPlusActivityPreview[data-planner-plus-theme] .planner-plus-preview__open-card:hover { background: var(--planner-plus-accent-hover); } #plannerPlusActivityPreview[data-planner-plus-theme] .planner-plus-preview__nav-zone { color: var(--planner-plus-muted); background: var(--planner-plus-bg); } #plannerPlusActivityPreview[data-planner-plus-theme] .planner-plus-preview__nav-zone:hover:not(:disabled) { color: var(--planner-plus-accent); background: var(--planner-plus-hover); } /* Planner Plus voice configuration \u2014 visual parity with the approved ADO Plus demo. */ #plannerPlusDialog .planner-plus-voice-config { border: 1px solid var(--planner-plus-border, #dfe1e6); border-radius: 10px; overflow: hidden; } #plannerPlusDialog .planner-plus-voice-summary { align-items: center; background: var(--planner-plus-control, #f8fafc); cursor: pointer; display: flex; justify-content: space-between; list-style: none; min-height: 60px; padding: 9px 12px; } #plannerPlusDialog .planner-plus-voice-summary::-webkit-details-marker { display: none; } #plannerPlusDialog .planner-plus-voice-summary > div:first-child { flex: 1 1 0; min-width: 0; } #plannerPlusDialog .planner-plus-voice-title, #plannerPlusDialog .planner-plus-voice-description { display: block; } #plannerPlusDialog .planner-plus-voice-title { color: var(--planner-plus-text, #172b4d); font-size: 13px; font-weight: 650; } #plannerPlusDialog .planner-plus-voice-description { color: var(--planner-plus-muted, #5e6c84); font-size: 11px; line-height: 1.35; margin-top: 4px; } #plannerPlusDialog .planner-plus-voice-summary-right { align-items: flex-end; display: flex; flex: 0 1 420px; flex-direction: column; min-width: 280px; } #plannerPlusDialog .planner-plus-voice-summary-right strong { font-size: 13px; font-weight: 650; line-height: 1.35; max-width: 400px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } #plannerPlusDialog .planner-plus-voice-summary-right small, #plannerPlusDialog .planner-plus-voice-help { color: var(--planner-plus-muted, #5e6c84); font-size: 11px; } #plannerPlusDialog .planner-plus-voice-chevron { align-items: center; display: inline-flex; height: 18px; justify-content: center; transition: transform .18s ease; width: 18px; } #plannerPlusDialog .planner-plus-voice-chevron img { display: block; height: 16px; width: 16px; } #plannerPlusDialog .planner-plus-voice-config[open] .planner-plus-voice-chevron { transform: rotate(180deg); } #plannerPlusDialog .planner-plus-voice-content { border-top: 1px solid var(--planner-plus-border, #dfe1e6); padding: 14px 14px 0; } #plannerPlusDialog .planner-plus-voice-help { margin: 0 0 10px; } #plannerPlusDialog .planner-plus-voice-table-wrap { border: 1px solid var(--planner-plus-border, #dfe1e6); border-radius: 7px; height: 282px; overflow: auto; } #plannerPlusDialog .planner-plus-voice-table { border-collapse: collapse; table-layout: fixed; width: 100%; } #plannerPlusDialog .planner-plus-voice-table th { background: var(--planner-plus-control, #f4f5f7); background-clip: padding-box; border-inline: 0; box-shadow: none; box-sizing: border-box; color: var(--planner-plus-text, #172b4d); font-size: 12px; line-height: 1.35; padding: 8px; position: sticky; text-align: left; top: 0; vertical-align: middle; white-space: nowrap; z-index: 1; } #plannerPlusDialog .planner-plus-voice-table td { border-inline: 0; border-top: 1px solid var(--planner-plus-border, #dfe1e6); box-shadow: none; box-sizing: border-box; color: var(--planner-plus-text, #172b4d); font-size: 13px; height: 46px; line-height: 1.35; min-width: 0; padding: 7px 8px; } #plannerPlusDialog .planner-plus-voice-table thead th > span, #plannerPlusDialog .planner-plus-voice-table thead th > .planner-plus-voice-filter { vertical-align: middle; } #plannerPlusDialog .planner-plus-voice-table th:nth-child(1), #plannerPlusDialog .planner-plus-voice-table td:nth-child(1) { width: 42px; } #plannerPlusDialog .planner-plus-voice-table th:nth-child(2), #plannerPlusDialog .planner-plus-voice-table td:nth-child(2) { width: 72px; } #plannerPlusDialog .planner-plus-voice-table th:nth-child(4), #plannerPlusDialog .planner-plus-voice-table td:nth-child(4) { width: 145px; } #plannerPlusDialog .planner-plus-voice-table th:nth-child(5), #plannerPlusDialog .planner-plus-voice-table td:nth-child(5) { width: 120px; } #plannerPlusDialog .planner-plus-voice-check, #plannerPlusDialog .planner-plus-voice-preview { text-align: center; } #plannerPlusDialog .planner-plus-voice-preview button { background: transparent; border: 0; border-radius: 6px; color: var(--planner-plus-accent, #0c66e4); cursor: pointer; } #plannerPlusDialog .planner-plus-voice-preview button:hover { background: var(--planner-plus-hover, #ebecf0); } #plannerPlusDialog .planner-plus-voice-name-host { display: block; min-width: 0; position: relative; } #plannerPlusDialog .planner-plus-voice-name { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } #plannerPlusDialog .planner-plus-voice-name-host .planner-plus-voice-tooltip { background: var(--planner-plus-text, #172b4d); border-radius: 5px; box-shadow: 0 4px 12px rgba(9,30,66,.25); color: var(--planner-plus-surface, #fff); font-size: 12px; left: 0; line-height: 1.55; max-width: min(420px, calc(100vw - 48px)); opacity: 0; padding: 8px 10px; pointer-events: none; position: absolute; top: calc(100% + 8px); transform: translateY(-4px); transition: opacity .15s ease, transform .15s ease, visibility .15s ease; visibility: hidden; white-space: normal; word-break: break-word; z-index: 10004; } #plannerPlusDialog .planner-plus-voice-name-host:hover .planner-plus-voice-tooltip, #plannerPlusDialog .planner-plus-voice-name-host:focus-within .planner-plus-voice-tooltip { opacity: 1; transform: translateY(0); visibility: visible; } #plannerPlusDialog .planner-plus-voice-badge { border-radius: 999px; display: inline-block; font-size: 11px; font-weight: 650; padding: 3px 7px; } #plannerPlusDialog .planner-plus-voice-badge.local { background: #dff6e9; color: #075b38; } #plannerPlusDialog .planner-plus-voice-badge.remote { background: #eee8ff; color: #5d4698; } #plannerPlusDialog .planner-plus-voice-table tr.is-checked { background: color-mix(in srgb, var(--planner-plus-accent, #0c66e4) 10%, transparent); } #plannerPlusDialog .planner-plus-voice-empty { color: var(--planner-plus-muted, #5e6c84); padding: 18px; text-align: center; } #plannerPlusDialog .planner-plus-voice-stats { align-items: center; color: var(--planner-plus-muted, #5e6c84); display: flex; flex-wrap: wrap; font-size: 11px; gap: 6px 12px; margin-top: 9px; } #plannerPlusDialog .planner-plus-voice-stats strong { color: var(--planner-plus-text, #172b4d); } #plannerPlusDialog .planner-plus-voice-preview-controls { align-items: center; display: grid; gap: 14px 16px; grid-template-columns: minmax(0, 1fr) 200px; margin-top: 16px; } #plannerPlusDialog .planner-plus-voice-preview-text { align-items: stretch; display: grid; gap: 7px; grid-column: 1; grid-row: 1; } #plannerPlusDialog .filter-label { color: var(--planner-plus-text, #172b4d); font-size: 12px; font-weight: 650; } #plannerPlusDialog .planner-plus-voice-preview-controls input.control { background: var(--planner-plus-surface, #fff); border: 1px solid var(--planner-plus-border, #dfe1e6); border-radius: 7px; color: var(--planner-plus-text, #172b4d); font: inherit; height: 40px; padding: 0 11px; width: 100%; } #plannerPlusDialog .planner-plus-voice-preview-controls .preview-button { align-self: end; background: var(--planner-plus-accent, #0c66e4); border: 0; border-radius: 7px; color: #fff; cursor: pointer; font: inherit; font-weight: 650; grid-column: 2; grid-row: 1; height: 40px; } #plannerPlusDialog .planner-plus-voice-preview-controls .custom-preview-text, #plannerPlusDialog .planner-plus-voice-preview-controls .remote-startup-fix { align-items: flex-start; background: color-mix(in srgb, var(--planner-plus-accent, #0c66e4) 5%, var(--planner-plus-surface, #fff)); border: 1px solid color-mix(in srgb, var(--planner-plus-accent, #0c66e4) 18%, var(--planner-plus-border, #dfe1e6)); border-radius: 8px; display: flex; gap: 10px; min-height: 66px; padding: 10px 12px; } #plannerPlusDialog .planner-plus-voice-preview-controls .custom-preview-text { grid-column: 1 / -1; grid-row: 2; } #plannerPlusDialog .planner-plus-voice-preview-controls .remote-startup-fix { grid-column: 1 / -1; grid-row: 3; } #plannerPlusDialog .planner-plus-voice-preview-controls .custom-preview-text input, #plannerPlusDialog .planner-plus-voice-preview-controls .remote-startup-fix input { flex: 0 0 auto; height: 18px; margin: 1px 0 0; width: 18px; } #plannerPlusDialog .planner-plus-voice-preview-controls .custom-preview-text span, #plannerPlusDialog .planner-plus-voice-preview-controls .remote-startup-fix span { display: grid; gap: 4px; min-width: 0; } #plannerPlusDialog .planner-plus-voice-preview-controls .custom-preview-text strong, #plannerPlusDialog .planner-plus-voice-preview-controls .remote-startup-fix strong { font-size: 12px; } #plannerPlusDialog .planner-plus-voice-preview-controls .custom-preview-text small, #plannerPlusDialog .planner-plus-voice-preview-controls .remote-startup-fix small { color: var(--planner-plus-muted, #5e6c84); font-size: 11px; line-height: 1.4; }#plannerPlusDialog .planner-plus-voice-summary-right small { font-size: 11px; font-weight: 400; line-height: 1.35; } #plannerPlusDialog .planner-plus-voice-filter { background: transparent; border: 0; border-radius: 6px; color: var(--planner-plus-accent, #0c66e4); cursor: pointer; font-size: 16px; line-height: 1; margin-left: 5px; padding: 3px 5px; vertical-align: middle; } #plannerPlusDialog .planner-plus-voice-filter:hover { background: var(--planner-plus-hover, #ebecf0); } #plannerPlusVoiceFilterPopover { background: var(--planner-plus-surface, #fff); border: 1px solid var(--planner-plus-border, #dfe1e6); border-radius: 8px; box-shadow: 0 8px 24px rgba(9,30,66,.22); color: var(--planner-plus-text, #172b4d); max-height: min(440px, calc(100vh - 24px)); overflow: auto; padding: 12px; position: fixed; width: 280px; z-index: 10010; } #plannerPlusVoiceFilterPopover[hidden] { display: none; } #plannerPlusVoiceFilterPopover .planner-plus-voice-filter-heading { align-items: center; display: flex; justify-content: space-between; margin-bottom: 10px; } #plannerPlusVoiceFilterPopover .planner-plus-voice-filter-heading button { background: transparent; border: 0; color: var(--planner-plus-accent, #0c66e4); cursor: pointer; } #plannerPlusVoiceFilterPopover label { color: var(--planner-plus-text, #172b4d); display: grid; font-size: 12px; gap: 6px; margin: 8px 0; } #plannerPlusVoiceFilterPopover input[type=search], #plannerPlusVoiceFilterPopover select { appearance: auto; background: var(--planner-plus-surface, #fff); border: 2px solid var(--planner-plus-border, #dfe1e6); border-radius: 8px; box-sizing: border-box; color: var(--planner-plus-text, #172b4d); font: inherit; min-height: 42px; padding: 0 11px; width: 100%; } #plannerPlusVoiceFilterPopover .planner-plus-language-all { align-items: center; display: flex; gap: 7px; } #plannerPlusVoiceFilterPopover .planner-plus-language-list { border-top: 1px solid var(--planner-plus-border, #dfe1e6); margin-top: 8px; max-height: 260px; overflow: auto; padding-top: 6px; } #plannerPlusVoiceFilterPopover .planner-plus-language-list label { align-items: center; display: flex; gap: 7px; }#plannerPlusDialog .planner-plus-voice-stats button { background: var(--planner-plus-accent, #0c66e4); border: 0; border-radius: 5px; color: #fff; cursor: pointer; font-family: inherit; font-size: 11px; font-weight: 650; padding: 5px 9px; } #plannerPlusDialog .planner-plus-voice-preview-controls input.control:disabled { background: color-mix(in srgb, var(--planner-plus-muted, #5e6c84) 12%, var(--planner-plus-surface, #fff)); border-color: color-mix(in srgb, var(--planner-plus-border, #dfe1e6) 72%, var(--planner-plus-muted, #5e6c84)); color: var(--planner-plus-muted, #5e6c84); cursor: not-allowed; opacity: .72; } #plannerPlusDialog .planner-plus-voice-preview-controls input.control { transition: background-color .15s ease, border-color .15s ease, color .15s ease, opacity .15s ease; } #plannerPlusDialog .planner-plus-voice-preview-controls .custom-preview-text strong { font-size: 13px; } #plannerPlusDialog .planner-plus-voice-preview-controls .custom-preview-text small { line-height: 1.45; } #plannerPlusDialog .planner-plus-voice-preview-controls .preview-result { color: var(--planner-plus-muted, #5e6c84); font-size: 11px; grid-column: 1 / -1; grid-row: 4; line-height: 1.45; margin: -4px 0 0; } #plannerPlusDialog .planner-plus-voice-manager[hidden] { display: none; } #plannerPlusDialog .planner-plus-voice-manager { inset: 0; position: fixed; z-index: 10020; } #plannerPlusDialog .planner-plus-voice-manager-backdrop { background: rgba(9,30,66,.45); inset: 0; position: absolute; } #plannerPlusDialog .planner-plus-voice-manager section { background: var(--planner-plus-surface, #fff); border-radius: 9px; box-shadow: 0 18px 48px rgba(9,30,66,.3); left: 50%; max-height: min(640px, calc(100vh - 40px)); overflow: auto; padding: 16px; position: absolute; top: 50%; transform: translate(-50%, -50%); width: min(760px, calc(100vw - 36px)); } #plannerPlusDialog .planner-plus-voice-manager header { align-items: center; display: flex; justify-content: space-between; } #plannerPlusDialog .planner-plus-voice-manager header small { color: var(--planner-plus-muted, #5e6c84); display: block; font-size: 11px; } #plannerPlusDialog .planner-plus-voice-manager header button { background: transparent; border: 0; color: var(--planner-plus-text, #172b4d); cursor: pointer; font-size: 24px; } #plannerPlusDialog .planner-plus-voice-manager-actions { margin: 12px 0; } #plannerPlusDialog .planner-plus-voice-manager p { color: var(--planner-plus-muted, #5e6c84); font-size: 11px; } #plannerPlusDialog .planner-plus-voice-manager tr.is-unchecked { opacity: .65; }#plannerPlusDialog .planner-plus-voice-filter { align-items: center; display: inline-flex; height: 24px; justify-content: center; margin-left: 6px; padding: 0; vertical-align: middle; width: 24px; } #plannerPlusDialog .planner-plus-voice-filter svg { display: block; height: 15px; pointer-events: none; width: 15px; } #plannerPlusVoiceFilterPopover { max-height: min(540px, calc(100vh - 16px)); max-width: calc(100vw - 16px); width: 300px; } #plannerPlusVoiceFilterPopover .planner-plus-voice-filter-field { display: grid; gap: 6px; } #plannerPlusVoiceFilterPopover .planner-plus-voice-filter-field > span { color: var(--planner-plus-text, #172b4d); font-size: 12px; font-weight: 650; } #plannerPlusVoiceFilterPopover .planner-plus-voice-filter-stats { color: var(--planner-plus-muted, #5e6c84); font-size: 12px; margin: 0 0 10px; } #plannerPlusVoiceFilterPopover input[type="checkbox"] { accent-color: var(--planner-plus-accent, #0c66e4); } #plannerPlusVoiceFilterPopover .planner-plus-voice-filter-check { align-items: center; display: flex; gap: 10px; font-size: 13px; min-height: 30px; } #plannerPlusVoiceFilterPopover .planner-plus-voice-language-group label, #plannerPlusVoiceFilterPopover .planner-plus-voice-language-list label { align-items: center; display: flex; font-size: 13px; gap: 10px; min-height: 30px; } #plannerPlusVoiceFilterPopover h4 { color: var(--planner-plus-text, #172b4d); font-size: 13px; font-weight: 700; margin: 14px 0 6px; } #plannerPlusVoiceFilterPopover, #plannerPlusVoiceFilterPopover .planner-plus-voice-language-group, #plannerPlusVoiceFilterPopover .planner-plus-voice-language-list { scrollbar-color: color-mix(in srgb, var(--planner-plus-muted, #5e6c84) 72%, transparent) transparent; scrollbar-width: thin; } #plannerPlusVoiceFilterPopover .planner-plus-voice-language-group, #plannerPlusVoiceFilterPopover .planner-plus-voice-language-list { display: grid; gap: 2px; max-height: 150px; overflow-y: scroll; } #plannerPlusVoiceFilterPopover .planner-plus-voice-language-list { border-top: 1px solid var(--planner-plus-border, #dfe1e6); max-height: 180px; padding-top: 5px; } #plannerPlusVoiceFilterPopover::-webkit-scrollbar, #plannerPlusVoiceFilterPopover .planner-plus-voice-language-group::-webkit-scrollbar, #plannerPlusVoiceFilterPopover .planner-plus-voice-language-list::-webkit-scrollbar { height: 8px; width: 8px; } #plannerPlusVoiceFilterPopover::-webkit-scrollbar-track, #plannerPlusVoiceFilterPopover .planner-plus-voice-language-group::-webkit-scrollbar-track, #plannerPlusVoiceFilterPopover .planner-plus-voice-language-list::-webkit-scrollbar-track { background: transparent; } #plannerPlusVoiceFilterPopover::-webkit-scrollbar-thumb, #plannerPlusVoiceFilterPopover .planner-plus-voice-language-group::-webkit-scrollbar-thumb, #plannerPlusVoiceFilterPopover .planner-plus-voice-language-list::-webkit-scrollbar-thumb { background: color-mix(in srgb, var(--planner-plus-muted, #5e6c84) 72%, transparent); border: 2px solid transparent; border-radius: 999px; background-clip: padding-box; } #plannerPlusVoiceFilterPopover::-webkit-scrollbar-thumb:hover, #plannerPlusVoiceFilterPopover .planner-plus-voice-language-group::-webkit-scrollbar-thumb:hover, #plannerPlusVoiceFilterPopover .planner-plus-voice-language-list::-webkit-scrollbar-thumb:hover { background-color: color-mix(in srgb, var(--planner-plus-accent, #0c66e4) 65%, transparent); } #plannerPlusVoiceFilterPopover [data-planner-voice-language-row] { align-items: center; display: grid; gap: 7px; grid-template-columns: auto minmax(0, 1fr) auto; margin: 0; min-height: 30px; } #plannerPlusVoiceFilterPopover [data-planner-voice-common] { align-items: center; background: transparent; border: 0; color: var(--planner-plus-accent, #0c66e4); cursor: pointer; display: inline-flex; font-family: "Segoe UI Symbol", "Segoe UI", sans-serif; font-size: 21px; font-weight: 400; height: 27px; justify-content: center; justify-self: end; line-height: 1; margin-left: auto; padding: 0; width: 27px; } #plannerPlusDialog .voice-playback-rule-row { align-items: center; background: color-mix(in srgb, var(--planner-plus-accent, #0c66e4) 5%, var(--planner-plus-surface, #fff)); border: 1px solid color-mix(in srgb, var(--planner-plus-accent, #0c66e4) 18%, var(--planner-plus-border, #dfe1e6)); border-radius: 8px; box-sizing: border-box; display: grid; gap: 12px; grid-column: 1 / -1; grid-template-columns: minmax(0, 1fr) 200px; margin: 0; min-height: 66px; padding: 10px 12px; } #plannerPlusDialog .planner-plus-voice-preview-controls { margin-bottom: 0; } #plannerPlusDialog .voice-playback-rule-row .planner-plus-modal__config-title { color: var(--planner-plus-text, #172b4d); display: block; font-size: 13px; font-weight: 650; } #plannerPlusDialog .voice-playback-rule-row .planner-plus-modal__config-description { color: var(--planner-plus-muted, #5e6c84); display: block; font-size: 11px; line-height: 1.45; margin-top: 4px; } #plannerPlusDialog .voice-playback-rule-row select { background: var(--planner-plus-surface, #fff); border: 1px solid var(--planner-plus-border, #dfe1e6); border-radius: 7px; box-sizing: border-box; color: var(--planner-plus-text, #172b4d); font: inherit; min-height: 40px; padding: 0 10px; width: 100%; } @media (max-width: 700px) { #plannerPlusDialog .voice-playback-rule-row { grid-template-columns: minmax(0, 1fr); } } #plannerPlusDialog .voice-manager-notice { background: color-mix(in srgb, var(--planner-plus-accent, #0c66e4) 10%, var(--planner-plus-surface, #fff)); border: 1px solid color-mix(in srgb, var(--planner-plus-accent, #0c66e4) 28%, var(--planner-plus-border, #dfe1e6)); border-radius: 7px; color: var(--planner-plus-text, #172b4d); font-size: 11px; line-height: 1.45; margin: 8px 14px 0; padding: 8px 10px; } .planner-plus-toast { align-items: flex-start; background: var(--planner-plus-surface, #fff); border: 1px solid var(--planner-plus-accent, #0c66e4); border-radius: 10px; bottom: 24px; box-shadow: 0 16px 42px rgba(9,30,66,.28); color: var(--planner-plus-text, #172b4d); display: flex; gap: 12px; max-width: min(430px, calc(100vw - 48px)); min-width: 0; opacity: 0; padding: 14px 16px; pointer-events: none; position: fixed; right: 24px; transform: translateY(14px); transition: opacity .2s ease, transform .2s ease; visibility: hidden; width: min(430px, calc(100vw - 48px)); z-index: 10002; } .planner-plus-toast[hidden] { display: none; } .planner-plus-toast.is-visible { opacity: 1; pointer-events: auto; transform: translateY(0); visibility: visible; } .planner-plus-toast.is-info { border-color: #b36b00; } .planner-plus-toast.is-error { border-color: #c9372c; } .planner-plus-toast-icon { align-items: center; background: var(--planner-plus-accent, #0c66e4); border-radius: 50%; color: #fff; display: inline-flex; flex: 0 0 24px; font-size: 14px; font-weight: 800; height: 24px; justify-content: center; line-height: 1; width: 24px; } .planner-plus-toast.is-info .planner-plus-toast-icon { background: #b36b00; } .planner-plus-toast.is-error .planner-plus-toast-icon { background: #c9372c; } .planner-plus-toast-copy { display: flex; flex: 1; flex-direction: column; gap: 2px; min-width: 0; } .planner-plus-toast-copy strong { font-size: 13px; } .planner-plus-toast-copy span { color: var(--planner-plus-muted, #5e6c84); font-size: 12px; line-height: 1.45; overflow-wrap: anywhere; } .planner-plus-toast-close { background: transparent; border: 0; border-radius: 5px; color: var(--planner-plus-muted, #5e6c84); cursor: pointer; flex: 0 0 auto; font-size: 20px; height: 24px; line-height: 1; padding: 0 4px; } .planner-plus-toast-close:hover { background: var(--planner-plus-hover, #ebecf0); color: var(--planner-plus-text, #172b4d); } .planner-plus-toast-stack { display: flex; flex-direction: column; gap: 10px; max-width: min(430px, calc(100vw - 32px)); pointer-events: none; position: fixed; right: 24px; top: 20px; width: min(430px, calc(100vw - 32px)); z-index: 2147483000; } .planner-plus-toast-stack[hidden] { display: none; } .planner-plus-toast-stack .planner-plus-toast { bottom: auto; max-width: none; opacity: 0; pointer-events: auto; position: relative; right: auto; top: auto; transform: translateX(18px); width: 100%; } .planner-plus-toast-stack .planner-plus-toast.is-visible { opacity: 1; transform: translateX(0); } .planner-plus-toast-stack .planner-plus-toast.is-leaving { opacity: 0; transform: translateX(18px); } .planner-plus-toast-stack.is-dark .planner-plus-toast { background: #172b4d; border-color: #4c9aff; color: #fff; } .planner-plus-toast-stack.is-dark .planner-plus-toast-copy span, .planner-plus-toast-stack.is-dark .planner-plus-toast-close { color: #c7d3e3; } .planner-plus-toast-stack .planner-plus-toast { padding-bottom: 30px; position: relative; } .planner-plus-toast-stack .planner-plus-toast-copy small { bottom: 8px; color: var(--planner-plus-muted, #5e6c84); font-size: 10px; line-height: 1; position: absolute; right: 12px; } #plannerPlusDialog .voice-playback-rule-row { grid-template-columns: minmax(0, 1fr) minmax(260px, 42%); } `; function injectStyles() { if (typeof GM_addStyle === "function") { GM_addStyle(css); return; } if (typeof document === "undefined") return; const style = document.createElement("style"); style.dataset.plannerPlus = "true"; style.textContent = css; (document.head || document.documentElement).appendChild(style); } // src/plugins/planner/runtime/config.js function createPlannerConfig() { const constants2 = { extension: "plannerPlus", start: "plannerPlusStart", startImg: "plannerPlusStartImg", lottery: "plannerPlusLottery", timer: "plannerPlusTimer", lotteryImg: "plannerPlusLotteryImg", dialog: "plannerPlusDialog", dialogIcon: "plannerPlusDialogIcon", preview: "plannerPlusActivityPreview", bucket: ["Group by: Bucket", "\u5206\u7EC4\u4F9D\u636E: \u5B58\u50A8\u6876"], assignedTo: ["Group by: Assigned to", "\u5206\u7EC4\u4F9D\u636E: \u5206\u914D\u5BF9\u8C61"], uselessColumns: ["Unassigned", "Planner Agent", "Former member"] }; const statuses2 = { idle: "idle", initializing: "initializing", ready: "ready", drawing: "drawing", finished: "finished", destroyed: "destroyed" }; const elements2 = { start: () => $(`#${constants2.start}`), startImg: () => $(`#${constants2.startImg}`), lottery: () => $(`#${constants2.lottery}`), timer: () => $(`#${constants2.timer}`), lotteryImg: () => $(`#${constants2.lotteryImg}`), dialog: () => $(`#${constants2.dialog}`), groupBy: () => document.querySelector('#basicPlanView [data-testid="group-by-menu-button"], [data-testid="group-by-menu-button"], [data-groupby-button="true"], #basicPlanView [role="toolbar"] .fui-Button.fui-MenuButton') }; return { constants: constants2, statuses: statuses2, elements: elements2 }; } // src/plugins/planner/runtime/planner-preview.js function createPlannerPreview({ host, properties: properties2, configs: configs2, constants: constants2, elements: elements2, renderLocale: renderLocale2, getLocaleText: getLocaleText2 }) { const t = host; t.showActivityPreview = () => { t.closePreview(); const requestId = ++properties2.previewRequestId; const autoPreviewActivity = properties2.roundConfig?.autoPreviewActivity ?? configs2.autoPreviewActivity; if (!autoPreviewActivity || !properties2.currentUser) { return; } const userId = properties2.currentUser.id; const startedAt = Date.now(); const waitForVirtualContent = () => { if (requestId !== properties2.previewRequestId || !properties2.currentUser || properties2.currentUser.id !== userId) { return; } const participant = document.querySelector( `[data-planner-plus-id="${userId}"]` ); const previewCount = participant ? participant.querySelectorAll( '[data-testid="task-board-card"] [data-testid="task-card-preview"]' ).length : 0; const animationFinished = Date.now() - startedAt >= 1050; if (animationFinished && previewCount > 0) { t.showActivityPreviewNow(); return; } if (Date.now() - startedAt >= 5e3) { console.warn( "TeamTools - PlannerPlus: Timed out waiting for virtual task previews.", { userId, previewCount } ); return; } t.setTimeout(waitForVirtualContent, 80, "previewWaitTimer"); }; waitForVirtualContent(); }; t.showActivityPreviewNow = () => { t.closePreview(); const autoPreviewActivity = properties2.roundConfig?.autoPreviewActivity ?? configs2.autoPreviewActivity; if (!autoPreviewActivity || !properties2.currentUser) { return; } const participant = document.querySelector( `[data-planner-plus-id="${properties2.currentUser.id}"]` ); if (!participant) { return; } const contentRoot = document.querySelector('[data-testid="task-board-root"]'); if (!contentRoot) { return; } contentRoot.classList.add("planner-plus-preview-host"); const taskCards = [...participant.querySelectorAll('[data-testid="task-board-card"]')]; const items = taskCards.map( (card) => [...card.querySelectorAll('[data-testid="task-card-preview"]')].map( (preview) => { const clonedPreview = preview.cloneNode(true); clonedPreview.classList.add("planner-plus-preview-task-content"); return clonedPreview; } ) ); if (items.length === 0) { return; } const taskChecklist = taskCards.map((card) => { const indicator = card.querySelector('[data-testid="checklist-indicator"]'); const label = indicator?.getAttribute("aria-label") || ""; const match = label.match(/(\d+)\s+of\s+(\d+)/i); return match ? { completed: Number(match[1]), total: Number(match[2]) } : { completed: 0, total: 0 }; }); const taskTitles = taskCards.map( (card) => card.querySelector('[data-testid="task-card-title"]')?.textContent.trim() || getLocaleText2("preview.untitled") ); const avatarImage = participant.querySelector('[role="img"] img, img[alt]'); const avatarSrc = avatarImage?.getAttribute("src") || ""; const avatarAlt = avatarImage?.getAttribute("alt") || properties2.currentUser.name; const avatarInitials = properties2.currentUser.name.split(/\s+/).filter(Boolean).map((part) => part[0]).join("").slice(0, 2).toUpperCase(); let index = 0; const overlay = $(`