mirror of
https://github.com/the1812/Bilibili-Evolved.git
synced 2025-11-04 21:22:45 +08:00
1640 lines
415 KiB
JavaScript
1640 lines
415 KiB
JavaScript
// ==UserScript==
|
|
// @name Bilibili Evolved (Offline)
|
|
// @version 176.03
|
|
// @description 增强哔哩哔哩Web端体验(离线版): 修复界面瑕疵, 删除广告, 使用夜间模式浏览; 下载视频,封面,弹幕, 以及增加对触屏设备的支持等.
|
|
// @author Grant Howard, Coulomb-G
|
|
// @copyright 2018, Grant Howrad (https://github.com/the1812)
|
|
// @license MIT
|
|
// @match *://*.bilibili.com/*
|
|
// @match *://*.bilibili.com
|
|
// @run-at document-start
|
|
// @updateURL https://github.com/the1812/Bilibili-Evolved/raw/master/bilibili-evolved.offline.user.js
|
|
// @downloadURL https://github.com/the1812/Bilibili-Evolved/raw/master/bilibili-evolved.offline.user.js
|
|
// @supportURL https://github.com/the1812/Bilibili-Evolved/issues
|
|
// @homepage https://github.com/the1812/Bilibili-Evolved
|
|
// @grant unsafeWindow
|
|
// @grant GM_getValue
|
|
// @grant GM_setValue
|
|
// @grant GM_addValueChangeListener
|
|
// @grant GM_setClipboard
|
|
// @grant GM_info
|
|
// @require https://code.jquery.com/jquery-3.2.1.min.js
|
|
// @require https://cdn.bootcss.com/jszip/3.1.5/jszip.min.js
|
|
// @icon data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALQAAAC0CAYAAAA9zQYyAAAACXBIWXMAAAsTAAALEwEAmpwYAAAH0mlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDIgNzkuMTYwOTI0LCAyMDE3LzA3LzEzLTAxOjA2OjM5ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdEV2dD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlRXZlbnQjIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgKFdpbmRvd3MpIiB4bXA6Q3JlYXRlRGF0ZT0iMjAxOC0wMi0yNVQxNDo1NzozOCswODowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAxOC0wMi0yNVQxNDo1NzozOCswODowMCIgeG1wOk1vZGlmeURhdGU9IjIwMTgtMDItMjVUMTQ6NTc6MzgrMDg6MDAiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6ODY3MDMzY2UtZjdlMy0wYTRiLWE5YWItODE3ZTI2ZmNlYTMyIiB4bXBNTTpEb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6YWFhN2UzZTQtM2MzOS0yOTQ4LWI1OTgtYTEzM2ZjMTMxNDMyIiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6YjRjNGFjZWUtZjQyYS0yMTQwLTlmMzgtY2NlZTc3YmY2ZTM1IiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgcGhvdG9zaG9wOkhpc3Rvcnk9IjIwMTgtMDItMjVUMTQ6NTc6MTArMDg6MDAmI3g5O+aWh+S7tiDmnKrmoIfpopgtMiDlt7LmiZPlvIAmI3hBO+W7uueriyYjeDk75paw5bu6OiDmlofmoaMmI3hBO0ZBTFNFJiN4QTvmqKHlvI86IFJHQiDpopzoibLmqKHlvI8mI3hBO+WuveW6pjogMi41IOiLseWvuCYjeEE76auY5bqmOiAyLjUg6Iux5a+4JiN4QTvmr4/oi7Hlr7gg5YiG6L6o546HOiA3MiYjeEE75YOP57Sg6ZW/5a695q+UOiAxJiN4QTvloavlhYU6IOmAj+aYjiYjeEE75rex5bqmOiA4JiN4QTvphY3nva7mlofku7Y6IOKAnG5vbmXigJ0mI3hBO+WPguiAg+e6vzog5pegJiN4QTsyMTcmI3hBOyYjeEE757KY6LS0JiN4QTvnspjotLQmI3g5O+a2iOmZpOmUr+m9vzog5pegJiN4QTvkuLo6IOWDj+e0oCYjeEE7JiN4QTsyMDE4LTAyLTI1VDE0OjU3OjM4KzA4OjAwJiN4OTvmlofku7YgQzpcVXNlcnNcVGhlMThcUGljdHVyZXNcR3JhcGhpY3NcYmlsaWJpbGkgbG9nbyBzbWFsbC5wbmcg5bey5a2Y5YKoJiN4QTvlrZjlgqgmI3g5OyIgcGhvdG9zaG9wOkNvbG9yTW9kZT0iMyI+IDx4bXBNTTpIaXN0b3J5PiA8cmRmOlNlcT4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNyZWF0ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6YjRjNGFjZWUtZjQyYS0yMTQwLTlmMzgtY2NlZTc3YmY2ZTM1IiBzdEV2dDp3aGVuPSIyMDE4LTAyLTI1VDE0OjU3OjM4KzA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgKFdpbmRvd3MpIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDo4NjcwMzNjZS1mN2UzLTBhNGItYTlhYi04MTdlMjZmY2VhMzIiIHN0RXZ0OndoZW49IjIwMTgtMDItMjVUMTQ6NTc6MzgrMDg6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDQyAoV2luZG93cykiIHN0RXZ0OmNoYW5nZWQ9Ii8iLz4gPC9yZGY6U2VxPiA8L3htcE1NOkhpc3Rvcnk+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+5IvsDQAAD/9JREFUeJztnX+MFdUVxz+6BHSJIC0VZFuXUBHBVbYSaaDBdJttILVq/YH1Z9VAJZVqpWol0mg0SiD4YyNFqtH0h6hUUxq1GEhpNJpCagvdKhWrFqEURMWgS/fhNov0jzOT93z7fsydufPrvvNJJixvZ+6cfe879517zrn3HnH48GEUxRWOTNsARbGJClpxChW04hQqaMUpVNCKU6igFadQQStOoYJWnEIFrTiFClpxChW04hQqaMUpBgU56eDBgwAM3XB0rMZYYjTQCbQA+4HdwNpULcoGHcBkYAjynmwGtqVqkQGfnh3svECChtyIuRO4FfnwfPqAjcBPvX8bjVbgPmA68rD7dAP3AqtSsCk2XHI5OoAH+KyYQXqkDuAJ4OKkjUqZDuAx4Hw+K2aAduAu4KaEbYoVlwT9Q2Bijd+3AsuRD7cRmAIsA2bUOKcVxx5yVwTdzsCeuRIjgTsCnptnJgIPIaKuxzjEVXMCVwQ9GBgR8Nw2xKd05kMsYwqwgmBiBnnfWuMzJ1lcEfR7hue3I77lOfZNSZXxwBLMv4GOicGWVHBF0DuB9YbXjEbcj2X2zUmFicAvMf/mOQR02TYmLVwRNMDdQMHwmnakN6s1cMoDHcAtSGjOhP3AIvvmpEdgQfd2HozTDhu8DCxEehwTpgBPAZdbtygZWpEB4JUhru0Cllq1JmVc6qFBwnKXhLhuNOJ75k3Ufpx5fIhrFwN32jUnfYwEnYNeGuBp5MMypQWJDsy2a05sTEGiNWHcpaU45mr4uNZD+ywCFoS4bhjwINlPvvhx5vYQ1y5GXDMnMRZ0TnppEP9wEbDP8LqRSM+XVVGbxpl99iMuxm3WLcoQoXroHIl6MeGKb1oR0WQt+RI2zgzyPtyO+aA5V7jqcpSyAFiJlEyaMBq4n+zEqdsRUYZ5yObhsJtRSihB56SUtJRrkTh1n+F1bcAswvmqNpkO/ACYanhdAXkIVmEeo88lRwRZffTI5xKwJBluQHpdU/YD15NO7XAL8AdqVxJWo4twg+PMEbTAvxFcjlK6ED/SlBFIVCHpUssZSDo7jJgX44iYTWg0QYOM9C8KcV0zEiFIKvoxBbiHcD7zwziYNAlCIwoaJPlyc4jrJiIzX66xa07F+zyCuc8M0jPPw3y84ASNKmiQNPnyENcNQeYtxhXS80Nz7SGu3YC4KA1L4EmyMXE+Uosbd2y0B/hCyb0KwCjMkxM+rcA64EngWSTDCNDv/Wv69/R717QhvX/5/L+g9AFzkGTSf7w2h5XYVWpbk/dzH/KQRqEZeU/3Ig9VaiQZ5RiPJAQ6ka/U0chgq8lK60oW2AscQKJC3UiN+makXj0SQaMccQu6CYkBdyKCDjNaV/LNVuRbbB1S4hsK6+tyhGAqMkU+L9VrSjy0ecds4FFgNRZ67GrEMSj0B01rUTErRfzB7m+Jse7ctqD9sNbdSNWaopQzBYnELCH6YHQANl2OmUhaWf1kpR5NyBzIJmSygWmJb1Vs9dAqZiUMNyH1MWGmkFXElqBVzEpYZgLnYsn9iCroqcC7qJiVaCxDxl6RiSroOYTPailKKbOwEP2IIugbiL9IR2kcmpHlfdujNBJW0OOB66LcWFEq0IpEP0ITVtALkGVYFcU2FxOhkjGMoNuAy8LeUFECENqVDSPoayiWSypKHMwm5HQ300zhROJZU3ktUna4F/jA+7kfsc+v2y2ntOy0Xv1x1Bhn1Nkfcd/fegq5jCbPBv99HoKU/o5AaszjqM2YjRQyGWEq6Buxu9p7AckWrbTYppI8/lp5NicRdyAPitFMe1OXw2YCZTMyY0XFnH+2IlGv5dibfTSCEIEHkx56OuYLaldjHzAXmdWguME+ZO2SAhFDbyUYTxI26aFnmjZehR7k66nbUntKtrgTWUbBBm0YdqImgrbVOz+OvT9YyR4FZGaKjZLQVgx76aCCHoI8LTZ4yVI7SnZ5BXjNUltG47aggp6CnSKkrcDzFtpRso9xyK0KRrXSQQVtK7rxLOJDK+6zGnjBQjtGSbyggm4JYUglNltqR8k+PdhZwtdIe0EFbWsxmP76pygOYSMmbZT8CypoW5NpG2LRbcUqzSYnBxX04BCGVMLp/T2UAdhYAXUIBuWkSffQ6nIopjRhMDBM2odOe7VTJZ8EdjuCCtrW4tm2XBclH9jqCK0LWlHCkPg3skY5lDixNfEgcDBBe2jFKVTQilOooBWnUEErTqGCVpxCEx0DGY5sSQzw+zQNqUIHcBrwD1LeQi2LNLKgj0JmFY8CLvD+fwIy5Wc4sBu4hAg7N8XAUOAO5IHrB15EljPuBXYhIt/i/dyQNJKgxwEnAdOA04FJ1J4m34IsF5wlQZ9O8dtjEJWLdt4HXgX+DryNLNzzsve687gq6DOQr+XTgDGIEIYDnzdsZ4xlu6JyfIBzjkOEXir2HUhP/gbSi/uHcz153gU9FDgW+A4i2HHeMQlxJaIywUIbNjkl5HVjvWNayWs7EIHvAv6JCP4dYFNo6zJA3gR9EtL7TkOWVfhKzPc7wbvfX2K+T1DCCroSY72jlF7EB/d78h2I0LeQk9LfrAv6MsSX/TEyaBuegg2TyIagB2FX0JUYivjoM8pefxfxybcgkZ/M9uJZFvRPkA0807ZxUsr39zkNODmlex/vHbOQYvvMCjrLiZUW0hczZEfQk9M2wONLaRtQiywLOrYNzg2xMbi0QVaElOnF7rMs6MfTNsDjDOIffAZhVtoGeDyTtgG1yLKgP/aOLPBh2gYgEYgssCNtA2qRZUF/AryZsg39wL/JRpZtI+mL+n0kZp1ZsjDoqsUW5Cs/CXqB15G08eve8RpS05EFbgeeQnzpE5GoRxuS/PlcQjb8C4lRZ5asC/pvMbX7McUlX3ci3wR7EDFnGT9lXcopSEjtOETck5FUfxyDyLdjaNMqWRe0jXhnL7IK5ofAdoo9cNrujC0qifxkROhfRIQ+GckKRk3MqKAj8ibiSx8V4Nx+ii7CfylWnb1JtirmkuANBroGxyNC9xM0E5BefBgi+iC8Y8vAuMi6oD9BetbyJVU/QQZr273fv+od6xK1Ll+86x3lazafApyL+OG+fz4BSYOXoz20BWYD91J0GV5BfOvX0zTKISq5LNOAMym6LX3AGjKc8vbJg6A3YW/DIiUYm8iBeCuR5Ti0ohijglacQgWtOIUKWnEKFbTiFCpoxSlU0IpTqKAVp1BBK06hglacQgWtOIUKWnEKFbTiFCpoxSlU0PFzNbAaKZxXYiYP9dB5pgO4CVlO7ADw/XTNcR/toePlCopr480F5qVoS0Oggo6Pq4Hvlb32Xcx3EVAMUEHX5lvAz4GfIe5DUCYBtwJNZa93IEsEm3Ae8CdgEfow1EV96MqMAa4FFgDN3mujkFnP9fYlORYRX7VB4DyvnXsC2DEfeTDGIPMqZwBPAL8OcG1DooIeyHTgNmBm2esXAh8BK4DuKtceA9wFXFrnHvORdUNqCXMRcIvXps9Mz76xwJ117tGQqMsxkDEMFLPPXMQFOa/C7yYA9yFircdYZL/B+XxWsHj/ryTm0t9X2s5NQXvoSmwEngPOrvL7ryJx5dXAZiQcdyoislMN7jMW8c3nIj31/xAfeQb1Bas7yFZBBT2QPYhb8WWqb0cxGIlglEcxwtDuHUF5BHjAwn2dRF2OyqwHfoS91ZkOWGrnOWAh4ssrFVBBV2cDcDPVB4BBeBtYCnwT+EVEe1YgmcYs7CaQWdTlqM3ziAuyBPGdjzW49gXgfqRXBVn5/gAyECyPT9fiPWA5sAzxs5Ua5FbQvZ0HARi64ei4b9WNbNgzFwnHnUltQe4CfoNsetRd8vpHiBuzHvG9L6zTTgF4DFhL8aFQ6pBbQafAI94xH4kFT0IGjscg61LvAf6K9Ooba7TzvHdcikQzTqS4c+suZFOeV4E/Ar+z/Dc4T+4F3dt5MIleupQV3uEzCnElCobtPOEdILHvA9gbPDYsSQ8Kh8TRqO9+pMR7mIu5nD24KeY+S+30Bz0xaUHb+gMH0Nt5MG1hKxkgqKADPyGKUoIt3RwKemJQQQduMKF2qqK9tJNYdzlsCdEk/hoadT+cI/D4Iukoh7VBYcKRDSUcNvTVB3wQ9GQnohxKZrHxjdyH7HwWiKQHhYm4HEpmsNFDG7m7QQW9LYQhldDC9MahFTjBQjs7TU4OKug3iJ48ADgfGG2hHSX7fB2YaKGd8i2eaxJU0N3AVmNTBtICnGWhHSX7zLbUTrfJySaDQqOGa3COpXaU7OLPULfBWyYnpyXoWyy1pWSPFuBGYJiFtgrI/u6BMRH0i9hLsNyG2cItSn64ARkr2WAzMboc27A327gZeAiYA4yw1KaSLhORybtzLLZprDfTxIqt8B3AeKRgfgka+cg7nchneR32Oqi3kB7aCNPA98PA5cBI0xvV4BpgKpKv34+kOQ9QTOYMon5ip97fkfb19Ui7/SAcQrJ2Q5Bv2BElx3QL7ZezBpl+ZoTpG7UNWIX4STZpt9yekm8KyCRjY8LUcnRhJ8miKNVYhUwmNiaMoHcCD4a5maIE4C1gZdiLw1bbdVF7ZrOihOVJIuQ8wgp6NxGeIkWpwlbgV1EaiFIPvYpgi3YrShC2I8sIG2UGy4la4N+Fuh6KHdYAz0ZtJKqgdwNfA16OaojS0FwF3G6jIVtTsBYSMsyiNDQ9iM/8NJZCwbYEvRERdeC5X4oC3Iv0ztbyGjYnyXYDl6DRD6U+25EdxqxvfGR71vd2ZDu0a7FbyKS4wwbgIiSgYJ24ljFYCVyAFDPtj+keSr7oRtzSqwhRRReUIw4fPlz3pCOjLbfdicwva0NWwdelDBqHnUgqez3wDIbTqUr5tNqeZGUksXLSBoqF2lcipYajvWMcA0tRDxG/6P2ZN/596g1Ksv4Qln6OSdha/v4dAvZ6RwEpAd6KfO6JhnST6KFr0YbU0zYj+4cMBoYi4Zw+4CRkk0sbM8XXInuVFBAB9Hiv+/W9Luz9N5Pi+1dAJlGcg50pUWsQv7cZmS+4j+J7OIKY37+gPXTagg5CE/LGNdc7sQb7gW/TmFlNG+9fD/ANYvR96xFU0HnY1u0QEfP7XhuNKGaQv323hTZSE7MJeRA0wJ8jXv+SFSvyS6jZHyXkJmGWF0HfS/heugdLdQI5Zinhe9iCd30uyIugtwGLQ1zXh9QK2FjGLM9sJ1wGtw8ZDEbt4RMjL4IGeBRJlwZdjbKAjMqvj8ugnPEoZj1tj3f+FfGYEw9526ewCxmg3ErttTz2IX7zwgRsyhMLkffvYiQHUI29SG1y7ly1PITtKjEOia3ORJZAGIn0KJuQr8e1qJtRi3FIfPosiu/fPiQStA7J7EWNLFnFpTh0PfxtLmLbA9FxSrN9mcWqoBUlL+RpUKgodVFBK06hglacQgWtOIUKWnEKFbTiFCpoxSlU0IpTqKAVp1BBK06hglacQgWtOIUKWnGK/wNSsuaxzUMuHQAAAABJRU5ErkJggg==
|
|
// ==/UserScript==
|
|
/* eslint-disable */
|
|
(self$ =>
|
|
{
|
|
const $ = unsafeWindow.$ || self$;
|
|
const settings = {
|
|
useDarkStyle: false,
|
|
useNewStyle: true,
|
|
compactLayout: false,
|
|
showBanner: true,
|
|
overrideNavBar: true,
|
|
expandDanmakuList: true,
|
|
expandDescription: true,
|
|
watchLaterRedirect: true,
|
|
touchNavBar: false,
|
|
touchVideoPlayer: false,
|
|
customControlBackgroundOpacity: 0.64,
|
|
customControlBackground: true,
|
|
darkScheduleStart: "18:00",
|
|
darkScheduleEnd: "6:00",
|
|
darkSchedule: false,
|
|
blurVideoControl: false,
|
|
toast: true,
|
|
fullTweetsTitle: true,
|
|
removeVideoTopMask: false,
|
|
removeLiveWatermark: true,
|
|
harunaScale: true,
|
|
removeAds: true,
|
|
hideTopSearch: false,
|
|
touchVideoPlayerDoubleTapControl: false,
|
|
touchVideoPlayerAnimation: false,
|
|
customStyleColor: "#00A0D8",
|
|
preserveRank: true,
|
|
blurBackgroundOpacity: 0.382,
|
|
defaultPlayerMode: "常规",
|
|
useDefaultVideoQuality: false,
|
|
defaultVideoQuality: "自动",
|
|
useDefaultDanmakuSettings: false,
|
|
enableDanmaku: true,
|
|
rememberDanmakuBlock: false,
|
|
danmakuBlockSettings: {
|
|
scroll: false,
|
|
top: false,
|
|
bottom: false,
|
|
color: false,
|
|
special: false,
|
|
},
|
|
defaultPlayerLayout: "新版",
|
|
skipChargeList: false,
|
|
comboLike: false,
|
|
autoLightOff: false,
|
|
useCache: true,
|
|
autoContinue: false,
|
|
toastInternalError: false,
|
|
cache: {},
|
|
};
|
|
const fixedSettings = {
|
|
guiSettings: true,
|
|
viewCover: true,
|
|
notifyNewVersion: true,
|
|
clearCache: true,
|
|
downloadVideo: true,
|
|
downloadDanmaku: true,
|
|
useDefaultPlayerMode: true,
|
|
useDefaultPlayerLayout: true,
|
|
about: true,
|
|
forceWide: false,
|
|
latestVersionLink: "https://github.com/the1812/Bilibili-Evolved/raw/master/bilibili-evolved.offline.user.js",
|
|
currentVersion: GM_info.script.version,
|
|
};
|
|
function logError(message)
|
|
{
|
|
if (settings.toastInternalError)
|
|
{
|
|
Toast.error(typeof message === "object" && "stack" in message
|
|
? message.stack
|
|
: message, "错误");
|
|
}
|
|
console.error(message);
|
|
}
|
|
function loadSettings()
|
|
{
|
|
for (const key in settings)
|
|
{
|
|
settings[key] = GM_getValue(key, settings[key]);
|
|
}
|
|
for (const key in fixedSettings)
|
|
{
|
|
settings[key] = fixedSettings[key];
|
|
}
|
|
}
|
|
function saveSettings(newSettings)
|
|
{
|
|
for (const key in settings)
|
|
{
|
|
GM_setValue(key, newSettings[key]);
|
|
}
|
|
}
|
|
function onSettingsChange(change)
|
|
{
|
|
if (typeof GM_addValueChangeListener === "undefined")
|
|
{
|
|
return;
|
|
}
|
|
for (const key in settings)
|
|
{
|
|
GM_addValueChangeListener(key, change);
|
|
}
|
|
}
|
|
function loadResources()
|
|
{
|
|
const resourceManifest = {
|
|
style: {
|
|
path: "min/style.min.css",
|
|
order: 10,
|
|
},
|
|
oldStyle: {
|
|
path: "min/old.min.css",
|
|
order: 10,
|
|
},
|
|
scrollbarStyle: {
|
|
path: "min/scrollbar.min.css",
|
|
order: 10,
|
|
},
|
|
darkStyle: {
|
|
path: "min/dark.min.css",
|
|
order: 11,
|
|
},
|
|
darkStyleImportant: {
|
|
path: "min/dark-important.min.css",
|
|
},
|
|
darkStyleNavBar: {
|
|
path: "min/dark-navbar.min.css",
|
|
},
|
|
touchPlayerStyle: {
|
|
path: "min/touch-player.min.css",
|
|
order: 13,
|
|
},
|
|
navbarOverrideStyle: {
|
|
path: "min/override-navbar.min.css",
|
|
order: 14,
|
|
},
|
|
noBannerStyle: {
|
|
path: "min/no-banner.min.css",
|
|
order: 15,
|
|
},
|
|
removeAdsStyle: {
|
|
path: "min/remove-promotions.min.css",
|
|
order: 16,
|
|
},
|
|
guiSettingsStyle: {
|
|
path: "min/gui-settings.min.css",
|
|
order: 12,
|
|
},
|
|
fullTweetsTitleStyle: {
|
|
path: "min/full-tweets-title.min.css",
|
|
order: 17,
|
|
},
|
|
imageViewerStyle: {
|
|
path: "min/image-viewer.min.css",
|
|
order: 18,
|
|
},
|
|
toastStyle: {
|
|
path: "min/toast.min.css",
|
|
order: 19,
|
|
},
|
|
blurVideoControlStyle: {
|
|
path: "min/blur-video-control.min.css",
|
|
order: 20,
|
|
},
|
|
downloadVideoStyle: {
|
|
path: "min/download-video.min.css",
|
|
},
|
|
guiSettingsDom: {
|
|
path: "min/gui-settings.min.html",
|
|
},
|
|
imageViewerDom: {
|
|
path: "min/image-viewer.min.html",
|
|
},
|
|
downloadVideoDom: {
|
|
path: "min/download-video.min.html",
|
|
},
|
|
latestVersion: {
|
|
path: "version.txt",
|
|
},
|
|
iconsStyle: {
|
|
path: "min/icons.min.css",
|
|
},
|
|
settingsSideBar: {
|
|
path: "min/settings-side-bar.min.js",
|
|
},
|
|
textValidate: {
|
|
path: "min/text-validate.min.js",
|
|
},
|
|
themeColors: {
|
|
path: "min/theme-colors.min.js",
|
|
},
|
|
settingsTooltipStyle: {
|
|
path: "min/settings-tooltip.min.css",
|
|
},
|
|
settingsTooltip: {
|
|
path: "min/settings-tooltip.min.js",
|
|
dependencies: [
|
|
"settingsTooltipStyle"
|
|
],
|
|
},
|
|
settingsSearch: {
|
|
path: "min/settings-search.min.js",
|
|
},
|
|
guiSettings: {
|
|
path: "min/gui-settings.min.js",
|
|
dependencies: [
|
|
"guiSettingsDom",
|
|
"textValidate",
|
|
"settingsSideBar",
|
|
"themeColors",
|
|
"settingsTooltip",
|
|
"settingsSearch",
|
|
],
|
|
styles: [
|
|
"guiSettingsStyle",
|
|
{
|
|
key: "iconsStyle",
|
|
important: true,
|
|
},
|
|
],
|
|
displayNames: {
|
|
guiSettings: "设置",
|
|
blurSettingsPanel: "模糊设置面板背景",
|
|
clearCache: "清除缓存",
|
|
},
|
|
},
|
|
useDarkStyle: {
|
|
path: "min/dark-styles.min.js",
|
|
styles: [
|
|
"darkStyle",
|
|
"scrollbarStyle",
|
|
{
|
|
key: "darkStyleNavBar",
|
|
important: true,
|
|
condition()
|
|
{
|
|
return $("#banner_link").length === 0 ||
|
|
$("#banner_link").length > 0 &&
|
|
settings.overrideNavBar &&
|
|
!settings.showBanner;
|
|
}
|
|
},
|
|
{
|
|
key: "darkStyleImportant",
|
|
important: true,
|
|
condition: () => true,
|
|
},
|
|
],
|
|
displayNames: {
|
|
useDarkStyle: "夜间模式",
|
|
},
|
|
},
|
|
tweetsStyle: {
|
|
path: "min/tweets.min.css",
|
|
},
|
|
useNewStyle: {
|
|
path: "min/new-styles.min.js",
|
|
dependencies: [
|
|
"style",
|
|
"oldStyle",
|
|
],
|
|
styles: [
|
|
{
|
|
key: "scrollbarStyle",
|
|
condition: () => document.URL !== `https://h.bilibili.com/`,
|
|
},
|
|
"tweetsStyle",
|
|
],
|
|
displayNames: {
|
|
useNewStyle: "样式调整",
|
|
blurBackgroundOpacity: "顶栏(对横幅)透明度",
|
|
},
|
|
},
|
|
overrideNavBar: {
|
|
path: "min/override-navbar.min.js",
|
|
styles: [
|
|
"navbarOverrideStyle",
|
|
"tweetsStyle",
|
|
{
|
|
key: "noBannerStyle",
|
|
condition: () => !settings.showBanner
|
|
}
|
|
],
|
|
displayNames: {
|
|
overrideNavBar: "搜索栏置顶",
|
|
showBanner: "显示顶部横幅",
|
|
preserveRank: "显示排行榜图标",
|
|
},
|
|
},
|
|
touchNavBar: {
|
|
path: "min/touch-navbar.min.js",
|
|
displayNames: {
|
|
touchNavBar: "顶栏触摸优化",
|
|
},
|
|
},
|
|
touchVideoPlayer: {
|
|
path: "min/touch-player.min.js",
|
|
styles: [
|
|
"touchPlayerStyle",
|
|
],
|
|
displayNames: {
|
|
touchVideoPlayer: "播放器触摸支持",
|
|
touchVideoPlayerAnimation: "启用实验性动画效果",
|
|
touchVideoPlayerDoubleTapControl: "启用双击控制",
|
|
},
|
|
},
|
|
expandDanmakuList: {
|
|
path: "min/expand-danmaku.min.js",
|
|
displayNames: {
|
|
expandDanmakuList: "自动展开弹幕列表",
|
|
},
|
|
},
|
|
removeAds: {
|
|
path: "min/remove-promotions.min.js",
|
|
styles: [
|
|
"removeAdsStyle",
|
|
],
|
|
displayNames: {
|
|
removeAds: "删除广告",
|
|
},
|
|
},
|
|
watchLaterRedirect: {
|
|
path: "min/watchlater.min.js",
|
|
displayNames: {
|
|
watchLaterRedirect: "稍后再看重定向",
|
|
},
|
|
},
|
|
hideTopSearch: {
|
|
path: "min/hide-top-search.min.js",
|
|
displayNames: {
|
|
hideTopSearch: "隐藏搜索推荐",
|
|
},
|
|
},
|
|
harunaScale: {
|
|
path: "min/haruna-scale.min.js",
|
|
displayNames: {
|
|
harunaScale: "缩放直播看板娘",
|
|
},
|
|
},
|
|
removeLiveWatermark: {
|
|
path: "min/remove-watermark.min.js",
|
|
displayNames: {
|
|
removeLiveWatermark: "删除直播水印",
|
|
},
|
|
},
|
|
fullTweetsTitle: {
|
|
path: "min/full-tweets-title.min.js",
|
|
styles: [
|
|
"fullTweetsTitleStyle",
|
|
],
|
|
displayNames: {
|
|
fullTweetsTitle: "展开动态标题",
|
|
},
|
|
},
|
|
viewCover: {
|
|
path: "min/view-cover.min.js",
|
|
dependencies: [
|
|
"imageViewerDom",
|
|
"videoInfo",
|
|
],
|
|
styles: [
|
|
"imageViewerStyle",
|
|
],
|
|
displayNames: {
|
|
viewCover: "查看封面",
|
|
},
|
|
},
|
|
notifyNewVersion: {
|
|
path: "min/notify-new-version.min.js",
|
|
dependencies: [
|
|
"latestVersion",
|
|
],
|
|
displayNames: {
|
|
notifyNewVersion: "检查更新",
|
|
},
|
|
},
|
|
toast: {
|
|
path: "min/toast.min.js",
|
|
styles: [
|
|
"toastStyle",
|
|
],
|
|
displayNames: {
|
|
toast: "显示消息",
|
|
toastInternalError: "显示内部错误消息",
|
|
},
|
|
},
|
|
removeVideoTopMask: {
|
|
path: "min/remove-top-mask.min.js",
|
|
displayNames: {
|
|
removeVideoTopMask: "删除视频标题层",
|
|
},
|
|
},
|
|
blurVideoControl: {
|
|
path: "min/blur-video-control.min.js",
|
|
styles: [
|
|
"blurVideoControlStyle",
|
|
],
|
|
displayNames: {
|
|
blurVideoControl: "模糊视频控制栏背景",
|
|
},
|
|
},
|
|
darkSchedule: {
|
|
path: "min/dark-schedule.min.js",
|
|
displayNames: {
|
|
darkSchedule: "夜间模式计划时段",
|
|
darkScheduleStart: "起始时间",
|
|
darkScheduleEnd: "结束时间",
|
|
},
|
|
},
|
|
clearCache: {
|
|
path: "min/clear-cache.min.js",
|
|
displayNames: {
|
|
useCache: "启用缓存",
|
|
},
|
|
},
|
|
downloadVideo: {
|
|
path: "min/download-video.min.js",
|
|
dependencies: [
|
|
"downloadVideoDom",
|
|
// "videoInfo",
|
|
],
|
|
styles: [
|
|
"downloadVideoStyle",
|
|
],
|
|
displayNames: {
|
|
"downloadVideo": "下载视频",
|
|
},
|
|
},
|
|
downloadDanmaku: {
|
|
path: "min/download-danmaku.min.js",
|
|
dependencies: [
|
|
"videoInfo",
|
|
"danmakuConverter",
|
|
],
|
|
displayNames: {
|
|
"downloadDanmaku": "下载弹幕",
|
|
},
|
|
},
|
|
danmakuConverter: {
|
|
path: "min/danmaku-converter.min.js"
|
|
},
|
|
videoInfo: {
|
|
path: "min/video-info.min.js",
|
|
},
|
|
aboutDom: {
|
|
path: "min/about.min.html",
|
|
},
|
|
aboutStyle: {
|
|
path: "min/about.min.css",
|
|
},
|
|
about: {
|
|
path: "min/about.min.js",
|
|
dependencies: [
|
|
"aboutDom",
|
|
],
|
|
styles: [
|
|
"aboutStyle",
|
|
],
|
|
displayNames: {
|
|
"about": "关于",
|
|
}
|
|
},
|
|
customControlBackgroundStyle: {
|
|
path: "min/custom-control-background.min.css",
|
|
order: 21
|
|
},
|
|
customControlBackground: {
|
|
path: "min/custom-control-background.min.js",
|
|
styles: [
|
|
{
|
|
key: "customControlBackgroundStyle",
|
|
condition: () => settings.customControlBackgroundOpacity > 0
|
|
},
|
|
],
|
|
displayNames: {
|
|
customControlBackground: "控制栏着色",
|
|
customControlBackgroundOpacity: "不透明度",
|
|
},
|
|
},
|
|
useDefaultPlayerMode: {
|
|
path: "min/default-player-mode.min.js",
|
|
displayNames: {
|
|
useDefaultPlayerMode: "默认播放器模式",
|
|
defaultPlayerMode: "默认播放器模式",
|
|
autoLightOff: "播放时自动关灯",
|
|
},
|
|
dropdown: {
|
|
key: "defaultPlayerMode",
|
|
items: ["常规", "宽屏", "网页全屏"],
|
|
},
|
|
},
|
|
useDefaultVideoQuality: {
|
|
path: "min/default-video-quality.min.js",
|
|
displayNames: {
|
|
useDefaultVideoQuality: "使用默认视频画质",
|
|
defaultVideoQuality: "画质设定",
|
|
},
|
|
dropdown: {
|
|
key: "defaultVideoQuality",
|
|
items: ["1080P60", "1080P+", "1080P", "720P60", "720P", "480P", "360P", "自动"],
|
|
},
|
|
},
|
|
comboLike: {
|
|
path: "min/combo-like.min.js",
|
|
displayNames: {
|
|
comboLike: "素质三连触摸支持",
|
|
},
|
|
},
|
|
autoContinue: {
|
|
path: "min/auto-continue.min.js",
|
|
displayNames: {
|
|
autoContinue: "自动从历史记录点播放",
|
|
},
|
|
},
|
|
expandDescriptionStyle: {
|
|
path: "min/expand-description.min.css"
|
|
},
|
|
expandDescription: {
|
|
path: "min/expand-description.min.js",
|
|
styles: [
|
|
"expandDescriptionStyle"
|
|
],
|
|
displayNames: {
|
|
expandDescription: "自动展开视频简介"
|
|
}
|
|
},
|
|
useDefaultDanmakuSettings: {
|
|
path: "min/default-danmaku-settings.min.js",
|
|
displayNames: {
|
|
useDefaultDanmakuSettings: "使用默认弹幕设置",
|
|
enableDanmaku: "开启弹幕",
|
|
rememberDanmakuBlock: "记住弹幕屏蔽类型",
|
|
},
|
|
},
|
|
skipChargeListStyle: {
|
|
path: "min/skip-charge-list.min.css",
|
|
},
|
|
skipChargeList: {
|
|
path: "min/skip-charge-list.min.js",
|
|
styles: [
|
|
"skipChargeListStyle",
|
|
],
|
|
displayNames: {
|
|
skipChargeList: "跳过充电鸣谢",
|
|
}
|
|
},
|
|
useDefaultPlayerLayout: {
|
|
path: "min/default-player-layout.min.js",
|
|
displayNames: {
|
|
"defaultPlayerLayout": "默认播放器布局",
|
|
},
|
|
dropdown: {
|
|
key: "defaultPlayerLayout",
|
|
items: ["旧版", "新版"]
|
|
},
|
|
},
|
|
compactLayoutStyle: {
|
|
path: "min/compact-layout.min.css",
|
|
},
|
|
compactLayout: {
|
|
path: "min/compact-layout.min.js",
|
|
styles: [
|
|
{
|
|
key: "compactLayoutStyle",
|
|
important: true,
|
|
condition()
|
|
{
|
|
return [
|
|
"https://www.bilibili.com/",
|
|
"https://www.bilibili.com/watchlater/#/list",
|
|
].indexOf(location.href.replace(location.search, '')) !== -1;
|
|
},
|
|
},
|
|
],
|
|
displayNames: {
|
|
compactLayout: "首页使用紧凑布局",
|
|
}
|
|
},
|
|
};
|
|
Resource.root = "https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/";
|
|
Resource.all = {};
|
|
Resource.displayNames = {};
|
|
Resource.reloadables = {
|
|
useDarkStyle: "useDarkStyle",
|
|
showBanner: "overrideNavBar",
|
|
};
|
|
Resource.manifest = resourceManifest;
|
|
for (const [key, data] of Object.entries(resourceManifest))
|
|
{
|
|
const resource = new Resource(data.path, data.order, data.styles);
|
|
resource.key = key;
|
|
if (data.displayNames)
|
|
{
|
|
resource.displayName = data.displayNames[key];
|
|
Object.assign(Resource.displayNames, data.displayNames);
|
|
}
|
|
Resource.all[key] = resource;
|
|
}
|
|
for (const [key, data] of Object.entries(resourceManifest))
|
|
{
|
|
if (data.dependencies)
|
|
{
|
|
Resource.all[key].dependencies = data.dependencies.map(name => Resource.all[name]);
|
|
}
|
|
}
|
|
}
|
|
function downloadText(url, load, error)
|
|
{
|
|
const xhr = new XMLHttpRequest();
|
|
xhr.open("GET", url);
|
|
|
|
if (load !== undefined) // callback
|
|
{
|
|
xhr.addEventListener("load", () => load && load(xhr.responseText));
|
|
xhr.addEventListener("error", () => error && error(xhr.status));
|
|
xhr.send();
|
|
}
|
|
else
|
|
{
|
|
return new Promise((resolve, reject) =>
|
|
{
|
|
xhr.addEventListener("load", () => resolve(xhr.responseText));
|
|
xhr.addEventListener("error", () => reject(xhr.status));
|
|
xhr.send();
|
|
});
|
|
}
|
|
}
|
|
function raiseEvent(element, eventName)
|
|
{
|
|
const event = document.createEvent("HTMLEvents");
|
|
event.initEvent(eventName, true, true);
|
|
element.dispatchEvent(event);
|
|
}
|
|
function contentLoaded(callback)
|
|
{
|
|
if (/complete|interactive|loaded/.test(document.readyState))
|
|
{
|
|
callback();
|
|
}
|
|
else
|
|
{
|
|
document.addEventListener("DOMContentLoaded", () => callback());
|
|
}
|
|
}
|
|
function fixed(number, precision = 1)
|
|
{
|
|
const str = number.toString();
|
|
const index = str.indexOf(".");
|
|
if (index !== -1)
|
|
{
|
|
if (str.length - index > precision + 1)
|
|
{
|
|
return str.substring(0, index + precision + 1);
|
|
}
|
|
else
|
|
{
|
|
return str;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
return str + ".0";
|
|
}
|
|
}
|
|
// Placeholder class for Toast
|
|
class Toast
|
|
{
|
|
constructor() { }
|
|
show() { }
|
|
dismiss() { }
|
|
static show() { }
|
|
static info() { }
|
|
static success() { }
|
|
static error() { }
|
|
}
|
|
class DoubleClickEvent
|
|
{
|
|
constructor(handler, singleClickHandler = null)
|
|
{
|
|
this.handler = handler;
|
|
this.singleClickHandler = singleClickHandler;
|
|
this.elements = [];
|
|
this.clickedOnce = false;
|
|
this.doubleClickHandler = e =>
|
|
{
|
|
if (!this.clickedOnce)
|
|
{
|
|
this.clickedOnce = true;
|
|
setTimeout(() =>
|
|
{
|
|
if (this.clickedOnce)
|
|
{
|
|
this.clickedOnce = false;
|
|
this.singleClickHandler && this.singleClickHandler(e);
|
|
}
|
|
}, 200);
|
|
}
|
|
else
|
|
{
|
|
this.clickedOnce = false;
|
|
this.handler && this.handler(e);
|
|
}
|
|
};
|
|
}
|
|
bind(element)
|
|
{
|
|
if (this.elements.indexOf(element) === -1)
|
|
{
|
|
this.elements.push(element);
|
|
element.addEventListener("click", this.doubleClickHandler);
|
|
}
|
|
}
|
|
unbind(element)
|
|
{
|
|
const index = this.elements.indexOf(element);
|
|
if (index === -1)
|
|
{
|
|
return;
|
|
}
|
|
this.elements.splice(index, 1);
|
|
element.removeEventListener("click", this.doubleClickHandler);
|
|
}
|
|
}
|
|
class Observer
|
|
{
|
|
constructor(element, callback)
|
|
{
|
|
this.element = element;
|
|
this.callback = callback;
|
|
this.observer = null;
|
|
this.options = undefined;
|
|
}
|
|
start()
|
|
{
|
|
if (this.element)
|
|
{
|
|
this.observer = new MutationObserver(this.callback);
|
|
this.observer.observe(this.element, this.options);
|
|
}
|
|
return this;
|
|
}
|
|
stop()
|
|
{
|
|
this.observer && this.observer.disconnect();
|
|
return this;
|
|
}
|
|
static observe(selector, callback, options)
|
|
{
|
|
callback();
|
|
return [...document.querySelectorAll(selector)].map(
|
|
it =>
|
|
{
|
|
const observer = new Observer(it, callback);
|
|
observer.options = options;
|
|
return observer.start();
|
|
});
|
|
}
|
|
static childList(selector, callback)
|
|
{
|
|
return Observer.observe(selector, callback, {
|
|
childList: true,
|
|
subtree: false,
|
|
attributes: false,
|
|
});
|
|
}
|
|
static childListSubtree(selector, callback)
|
|
{
|
|
return Observer.observe(selector, callback, {
|
|
childList: true,
|
|
subtree: true,
|
|
attributes: false,
|
|
});
|
|
}
|
|
static attributesSubtree(selector, callback)
|
|
{
|
|
return Observer.observe(selector, callback, {
|
|
childList: false,
|
|
subtree: true,
|
|
attributes: true,
|
|
});
|
|
}
|
|
static all(selector, callback)
|
|
{
|
|
return Observer.observe(selector, callback, {
|
|
childList: true,
|
|
subtree: true,
|
|
attributes: true,
|
|
});
|
|
}
|
|
}
|
|
class SpinQuery
|
|
{
|
|
constructor(query, condition, action, failed)
|
|
{
|
|
this.maxRetry = 30;
|
|
this.retry = 0;
|
|
this.queryInterval = 500;
|
|
this.query = query;
|
|
this.condition = condition;
|
|
this.action = action;
|
|
this.failed = failed;
|
|
}
|
|
start()
|
|
{
|
|
this.tryQuery(this.query, this.condition, this.action, this.failed);
|
|
}
|
|
tryQuery(query, condition, action, failed)
|
|
{
|
|
if (this.retry < this.maxRetry)
|
|
{
|
|
const result = query();
|
|
if (condition(result))
|
|
{
|
|
action(result);
|
|
}
|
|
else
|
|
{
|
|
this.retry++;
|
|
setTimeout(() => this.tryQuery(query, condition, action, failed), this.queryInterval);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
typeof failed === "function" && failed();
|
|
}
|
|
}
|
|
static condition(query, condition, action, failed)
|
|
{
|
|
if (action !== undefined)
|
|
{
|
|
new SpinQuery(query, condition, action, failed).start();
|
|
}
|
|
else
|
|
{
|
|
return new Promise((resolve) =>
|
|
{
|
|
new SpinQuery(query, condition, it => resolve(it)).start();
|
|
});
|
|
}
|
|
}
|
|
static select(query, action, failed)
|
|
{
|
|
return SpinQuery.condition(query, it => it !== null && it !== undefined, action, failed);
|
|
}
|
|
static any(query, action, failed)
|
|
{
|
|
return SpinQuery.condition(query, it => it.length > 0, action, failed);
|
|
}
|
|
static count(query, count, action, failed)
|
|
{
|
|
return SpinQuery.condition(query, it => it.length === count, action, failed);
|
|
}
|
|
static unsafeJquery(action, failed)
|
|
{
|
|
return SpinQuery.condition(() => unsafeWindow.$, jquery => jquery !== undefined, action, failed);
|
|
}
|
|
}
|
|
class ColorProcessor
|
|
{
|
|
constructor(hex)
|
|
{
|
|
this.hex = hex;
|
|
}
|
|
get rgb()
|
|
{
|
|
return this.hexToRgb(this.hex);
|
|
}
|
|
getHexRegex(alpha, shorthand)
|
|
{
|
|
const repeat = shorthand ? "" : "{2}";
|
|
const part = `([a-f\\d]${repeat})`;
|
|
const count = alpha ? 4 : 3;
|
|
const pattern = `#?${part.repeat(count)}`;
|
|
return new RegExp(pattern, "ig");
|
|
}
|
|
hexToRgbOrRgba(hex, alpha)
|
|
{
|
|
const isShortHand = hex.length < 6;
|
|
if (isShortHand)
|
|
{
|
|
const shorthandRegex = this.getHexRegex(alpha, true);
|
|
hex = hex.replace(shorthandRegex, function (...args)
|
|
{
|
|
let result = "";
|
|
let i = 1;
|
|
while (args[i])
|
|
{
|
|
result += args[i].repeat(2);
|
|
i++;
|
|
}
|
|
return result;
|
|
});
|
|
}
|
|
|
|
const regex = this.getHexRegex(alpha, false);
|
|
const regexResult = regex.exec(hex);
|
|
if (regexResult)
|
|
{
|
|
const color = {
|
|
r: parseInt(regexResult[1], 16),
|
|
g: parseInt(regexResult[2], 16),
|
|
b: parseInt(regexResult[3], 16),
|
|
};
|
|
if (regexResult[4])
|
|
{
|
|
color.a = parseInt(regexResult[4], 16) / 255;
|
|
}
|
|
return color;
|
|
}
|
|
else if (alpha)
|
|
{
|
|
const rgb = this.hexToRgbOrRgba(hex, false);
|
|
if (rgb)
|
|
{
|
|
rgb.a = 1;
|
|
return rgb;
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
hexToRgb(hex)
|
|
{
|
|
return this.hexToRgbOrRgba(hex, false);
|
|
}
|
|
hexToRgba(hex)
|
|
{
|
|
return this.hexToRgbOrRgba(hex, true);
|
|
}
|
|
rgbToString(color)
|
|
{
|
|
if (color.a)
|
|
{
|
|
return `rgba(${color.r},${color.g},${color.b},${color.a})`;
|
|
}
|
|
return `rgb(${color.r},${color.g},${color.b})`;
|
|
}
|
|
rgbToHsb(rgb)
|
|
{
|
|
const { r, g, b, } = rgb;
|
|
const max = Math.max(r, g, b);
|
|
const min = Math.min(r, g, b);
|
|
const delta = max - min;
|
|
const s = Math.round((max === 0 ? 0 : delta / max) * 100);
|
|
const v = Math.round(max / 255 * 100);
|
|
|
|
let h;
|
|
if (delta === 0)
|
|
{
|
|
h = 0;
|
|
}
|
|
else if (r === max)
|
|
{
|
|
h = (g - b) / delta % 6;
|
|
}
|
|
else if (g === max)
|
|
{
|
|
h = (b - r) / delta + 2;
|
|
}
|
|
else if (b === max)
|
|
{
|
|
h = (r - g) / delta + 4;
|
|
}
|
|
h = Math.round(h * 60);
|
|
if (h < 0)
|
|
{
|
|
h += 360;
|
|
}
|
|
|
|
return { h: h, s: s, b: v, };
|
|
}
|
|
get hsb()
|
|
{
|
|
return this.rgbToHsb(this.rgb);
|
|
}
|
|
get grey()
|
|
{
|
|
const color = this.rgb;
|
|
return 1 - (0.299 * color.r + 0.587 * color.g + 0.114 * color.b) / 255;
|
|
}
|
|
get foreground()
|
|
{
|
|
const color = this.rgb;
|
|
if (color && this.grey < 0.35)
|
|
{
|
|
return "#000";
|
|
}
|
|
return "#fff";
|
|
}
|
|
makeImageFilter(originalRgb)
|
|
{
|
|
const { h, s, b, } = this.rgbToHsb(originalRgb);
|
|
const targetColor = this.hsb;
|
|
|
|
const hue = targetColor.h - h;
|
|
const saturate = (s - targetColor.s) / 100 + 100;
|
|
const brightness = (b - targetColor.b) / 100 + 100;
|
|
const filter = `hue-rotate(${hue}deg) saturate(${saturate}%) brightness(${brightness}%)`;
|
|
return filter;
|
|
}
|
|
get blueImageFilter()
|
|
{
|
|
const blueColor = {
|
|
r: 0,
|
|
g: 160,
|
|
b: 213,
|
|
};
|
|
return this.makeImageFilter(blueColor);
|
|
}
|
|
get pinkImageFilter()
|
|
{
|
|
const pinkColor = {
|
|
r: 251,
|
|
g: 113,
|
|
b: 152,
|
|
};
|
|
return this.makeImageFilter(pinkColor);
|
|
}
|
|
get brightness()
|
|
{
|
|
return `${this.foreground === "#000" ? "100" : "0"}%`;
|
|
}
|
|
get filterInvert()
|
|
{
|
|
return this.foreground === "#000" ? "invert(0)" : "invert(1)";
|
|
}
|
|
}
|
|
const offlineData = {};
|
|
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/style.min.css"] = `.bili-wrapper{display:flex!important;justify-content:center!important;align-items:center!important;height:50px!important;}.bili-header-m>.nav-menu,.link-navbar,.link-navbar .main-ctnr .nav-items-ctnr,.nav-header-wrapper{background:var(--theme-color)!important;}.bili-header-m>.nav-menu,.nav-header-wrapper,.link-navbar-ctnr{box-shadow:var(--theme-color-70) 0px 2px 10px 1px!important;}div.stardust-player{background:#fff!important;}.nav-mask,.nav-header-wrapper>.nav-header{background-color:transparent!important;}.nav-mask,.link-navbar{box-shadow:none!important;}.nav-con{flex-grow:10!important;flex-shrink:0!important;}.nav-con.fl{margin-left:-2em!important;}.bili-header-m .nav-menu .nav-con .nav-item .t,.link-navbar .main-ctnr .nav-logo,.link-navbar .nav-item,.shortcuts-ctnr,.shortcuts-ctnr .shortcut-item,.link-navbar .nav-item:hover,.link-navbar .main-ctnr .nav-switcher,.my-link-btn,.link-navbar .nav-item.selected .label,.link-navbar .nav-item .icon-font,.nav-header-wrapper .nav-header .nav-header-mainsite,.nav-header-wrapper .nav-header .order-center,.link-navbar .main-ctnr .custom-link>a,.stardust-video .nav-menu .nav-con .nav-item.home .drop,.stardust-video .nav-menu .nav-con .nav-item.home .header-icon-Navbar_logo{color:var(--foreground-color-d)!important;}.stardust-video .nav-menu .nav-con .nav-item.home .header-icon-Navbar_logo{transform:scale(0.75)!important;top:7px!important;}.stardust-video .nav-menu .up-load .up-nav{top:42px!important;}li.nav-item:not(.profile-info):hover,.link-navbar .nav-item:hover,.shortcuts-ctnr .shortcut-item:hover,.my-link-btn:hover,.publish-btn:hover{background-color:hsla(0,0%,var(--brightness),.2)!important;}li.nav-item.home:hover,.link-navbar .nav-item:hover .nav-link .label,.shortcuts-ctnr .shortcut-item .label-wrapper .text:hover,.publish-btn:hover::after,.my-link-btn .label:hover{background:transparent!important;}.vip-m{background:white!important;}a.t>i.bili-icon-logo,a.t>i.bili-icon{width:50px!important;left:-60px!important;top:0px!important;height:50px!important;background-position-y:12px!important;}a.t>i.bili-icon-logo,a.t>i.bili-icon,.main-ctnr .nav-logo:before,.link-navbar .nav-item:first-child::before,.nav-header-wrapper .nav-header .nav-header-logo,.nav-header-wrapper .nav-header .nav-header-tv-icon,.nav-header-wrapper .nav-header .order-icon{filter:brightness(0) var(--invert-filter)!important;opacity:0.81!important;}#entryOld,.nav-search-submit,.b-icon-app,.title-icon,.blp-red-tip::after{display:none!important;}.i-face>.face,.user-panel-ctnr .msg-hinter{box-shadow:0 0 2px 1.5px #0002!important;}div.up-load{margin-top:8px!important;margin-left:9px!important;height:32px!important;order:4!important;flex-grow:0;flex-shrink:0;}.stardust-video .nav-menu .nav-wrapper{padding:0 5rem!important;}.publish-btn{height:40px!important;line-height:40px!important;background:var(--theme-color)!important;border:1px solid var(--foreground-color-d)!important;border-radius:5px!important;box-shadow:none!important;top:calc(50% - 20px)!important;transition:all 0.2s!important;}.publish-panel{margin-top:7px!important;}.my-link-btn{border-radius:0!important;}.slot-ctnr a,.main-ctnr .search-bar-ctnr .search-bar input{color:#222!important;}.main-ctnr .search-bar-ctnr .search-bar .placeholder,.main-ctnr .search-bar-ctnr .search-bar .search-btn{color:#878787!important;}.main-ctnr .search-bar-ctnr .search-bar{border:none!important;box-shadow:0px 2px 10px 1px #0002!important;}.u-link{background:transparent!important;color:var(--foreground-color-d)!important;border-radius:4px!important;line-height:30px!important;height:30px!important;transition:background-color .2s!important;}.u-link,.shortcuts-ctnr .shortcut-item .hinter,.shortcuts-ctnr .shortcut-item .num-hinter{border:1px solid var(--foreground-color-b)!important;}.u-link:hover{opacity:1!important;background-color:hsla(0,0%,var(--brightness),.2)!important;}.stardust-video .nav-con .nav-search,#nav_searchform{width:130px!important;}.stardust-video .nav-con .nav-search .nav-search-keyword{color:#222!important;width:120px!important;}.stardust-video .nav-con #nav_searchform,.nav-header-wrapper .nav-header .nav-header-search-bar{border-radius:4px!important;background:#fffb!important;border:none!important;transition:background-color .2s!important;box-shadow:0px 2px 10px 1px #0002;padding-right:0!important;}.search-bar-ctnr .search-bar{background-color:#fffd!important;transition:all 0.2s!important;}.search-bar-ctnr .search-bar:hover,.stardust-video .nav-con #nav_searchform:hover,.nav-header-wrapper .nav-header .nav-header-search-bar:hover,.search-bar-ctnr .search-bar:focus-within,.stardust-video .nav-con #nav_searchform:focus-within,.nav-header-wrapper .nav-header .nav-header-search-bar:focus-within{background-color:#fff!important;}#bilibiliPlayer{box-shadow:0px 4px 16px 0px var(--theme-color-40)!important;}.blur-bg{opacity:var(--blur-background-opacity)!important;filter:blur(20px)!important;}.cancel{width:28px!important;}.stardust-video .nav-con ul.bilibili-suggest{margin-left:-35px!important;width:200px!important;}li.suggest-item>a{max-width:155px!important;}div.num{box-shadow:0 0.5px 4px 0 #0004!important;}#primary_menu,#primary_menu>ul.nav-menu{display:flex!important;align-items:center!important;}.bilibili-player-video-btn-quality{width:auto!important;margin:0 6px!important;}div.nav-gif,#primary_menu{padding:0!important;}.filter-item.search,body{margin:0!important;}.input-box textarea{padding:8px!important;}.link-navbar .main-ctnr .nav-switcher.open-btn{filter:brightness(0) invert(1)!important;opacity:0.8!important;}.guard-rank-cntr.open .tip.rank-desc{visibility:visible!important;}.guard-rank-cntr .rank-cntr .tip{visibility:hidden!important;}.tag-container .tag-item .tag-border .tag-border-inner{width:100%!important;}.bilibili-player-video-control{background-color:transparent!important;}.video-control-show .bilibili-player-video-control-top,.mouse-hover .bilibili-player-video-control-top{left:0!important;right:0!important;bottom:32px!important;}.bilibili-player-video-control-top{left:-12px!important;right:-12px!important;bottom:0px!important;}.bilibili-player .bilibili-player-area .bilibili-player-video-control-wrap{bottom:0px!important;}.showSearch .nav-search-submit{top:6px!important;}.search-bar-ctnr .search-bar input::placeholder,.search-bar-ctnr .search-bar .search-btn,.nav-header-wrapper .nav-header .nav-header-search-bar::placeholder{color:#888!important;}.card-list .card{border:none!important;border-radius:4px!important;}@media only screen and (min-width: 1291px){.nav-con{margin:0 1em!important;}.stardust-video .nav-con .bilibili-suggest.nav,.stardust-video .nav-con .nav-search,#nav_searchform{width:250px!important;}.stardust-video .nav-con .nav-search .nav-search-keyword{width:240px!important;}.stardust-video .nav-con ul.bilibili-suggest{margin-left:0px!important;width:250px!important;}.stardust-video .nav-con li.suggest-item>a{max-width:205px!important;}}@media screen and (min-width: 750px){.player .bilibili-player.mode-fullscreen .bilibili-player-video-control-wrap .bilibili-player-video-control-top,.player .bilibili-player.mode-webfullscreen .bilibili-player-video-control-wrap .bilibili-player-video-control-top{left:-12px!important;right:-12px!important;bottom:0!important;}.mode-fullscreen .bilibili-player-area.video-control-show:not(.disable-original-hover) .bilibili-player-video-control-top,.mode-fullscreen .bilibili-player-area.mouse-hover:not(.disable-original-hover) .bilibili-player-video-control-top,.mode-webfullscreen .bilibili-player-area.video-control-show:not(.disable-original-hover) .bilibili-player-video-control-top,.mode-webfullscreen .bilibili-player-area.mouse-hover:not(.disable-original-hover) .bilibili-player-video-control-top{left:0!important;right:0!important;bottom:42px!important;}}`;
|
|
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/old.min.css"] = `.bili-header-m>.nav-menu,.b-header-mask-wrp .b-header-mask{background:var(--theme-color)!important;box-shadow:var(--theme-color-70) 0px 2px 10px 1px!important;}body .bili-header-m .nav-menu div.nav-mask,.b-header-mask-wrp,.z_top{background-color:transparent!important;box-shadow:none!important;}.b-header-mask-wrp{overflow:unset!important;}.bili-header-m .nav-menu .nav-con .nav-item .t,.z_top.b-header-blur .z_top_nav li:not(.home) a.i-link{color:var(--foreground-color-d)!important;}li.nav-item:not(.profile-info):hover,.z_top .z_top_nav ul li:hover,.uns_box ul.menu li:not(.b-post):hover{background-color:hsla(0,0%,var(--brightness),.2)!important;}.vip-m{background:white!important;}a.t>i.bili-icon{filter:brightness(0) var(--invert-filter)!important;background-image:url(https://www.bilibili.com/favicon.ico)!important;background-size:cover!important;background-position:inherit!important;width:16px!important;height:16px!important;opacity:0.81!important;}.header-icon-bilibili-tv{filter:brightness(0) var(--invert-filter)!important;opacity:0.81;transform:scale(0.9);}.z_top .z_top_nav ul li.home{filter:brightness(0) invert(1)!important;background:url(https://www.bilibili.com/favicon.ico) no-repeat left center!important;opacity:0.81!important;background-size:16px!important;background-position-x:16%!important;}#entryOld,.nav-search-submit,.b-icon-app,.title-icon,.z_top .z_top_nav li .new,.z_top .z_top_nav li .beta,.uns_box li.u-i.b-post .up-new{display:none!important;}.i-face>.face,.uns_box li.u-i .i_face{box-shadow:0 0 2px 1.5px #0002!important;}div.up-load{margin:5px 0 0 5px!important;height:32px!important;}.u-link,.uns_box li.u-i.b-post a.i-link{background:transparent!important;color:var(--foreground-color-d)!important;border-radius:4px!important;line-height:30px!important;height:30px!important;border:1px solid var(--foreground-color-b)!important;transition:background-color .2s!important;}.u-link:hover,.uns_box li.u-i.b-post a.i-link:hover{opacity:1!important;background-color:hsla(0,0%,var(--brightness),.2)!important;}.uns_box li.u-i.b-post{margin-left:8px!important;}.nav-search{width:140px!important;}.nav-search-keyword{width:130px!important;}#nav_searchform{border-radius:4px!important;background:#fffb!important;border:none!important;transition:background-color .2s!important;box-shadow:0px 2px 10px 1px #0002;}#nav_searchform:hover{background-color:#fff!important;}.nav-search-submit{top:2px!important;}.showSearch .nav-search-submit{top:4px!important;}#bilibiliPlayer{box-shadow:0px 4px 16px 0px var(--theme-color-40)!important;}.blur-bg{opacity:var(--blur-background-opacity)!important;filter:blur(20px)!important;}.cancel{width:28px!important;}ul.bilibili-suggest{margin-left:-30px!important;width:200px!important;}li.suggest-item>a{max-width:155px!important;}div.num{box-shadow:0 0.5px 4px 0 #0004!important;}#primary_menu,#primary_menu>ul.nav-menu,.uns_box li.u-i.b-post{display:flex!important;align-items:center!important;}div.nav-gif,#primary_menu{padding:0!important;}.up-nav{top:37px!important;}.filter-item.search,body{margin:0!important;}.input-box textarea{padding:8px!important;}.bili-header-m .nav-search .nav-search-keyword{color:#222!important;}.tag-container .tag-item .tag-border .tag-border-inner{width:100%!important;}input.nav-search-keyword::placeholder,.search-module .search-block input::placeholder{color:#888!important;}#home_noob.guide-box{display:flex!important;}@media only screen and (min-width: 1291px){.bilibili-suggest.nav,.nav-search{width:250px!important;margin-right:72px!important;}.nav-search-keyword{width:240px!important;}ul.bilibili-suggest{margin-left:0px!important;width:250px!important;}li.suggest-item>a{max-width:205px!important;}}`;
|
|
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/scrollbar.min.css"] = `::-webkit-scrollbar{width:5px!important;height:5px!important;}::-webkit-scrollbar-corner,::-webkit-scrollbar-track{background:transparent!important;}::-webkit-resizer,::-webkit-scrollbar-thumb{background:#aaa!important;}::-webkit-scrollbar-thumb:hover{background:#888!important;}`;
|
|
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/dark.min.css"] = `body,html,p.num,.bili-header-m.report-wrap-module,.bili-footer,.footer-wrp,div.box,div.live-box,div.bubble-traditional,div.dd-bubble,div.ver span.tips,div.desc-tips,div.member-bottom,div.im-list-box,div.i-frame,.dynamic-m,ul.dyn_list,.history-tag,div.dyn_list_wrapper,ul.up-nav,ul.up-nav li,span.date,ul.bilibili-suggest,.b-line>p>span,.sub-nav,.video-info-module,div.stardust-player,div.danmaku-wrap,div.bilibili-player-auxiliary-area,.bilibili-player-danmaku-date-picker-container,.video-toolbar .share .share-pos .share-address ul li input,li.tag,.btn-add,form.ipt,.tag-info-pane,.bangumi-info-module,.bb-comment,.user-card-m,textarea,.bb-comment .hot-line span,.page-jump>input,.bilibili-player-video-inputbar,.bilibili-player-video-progress-detail-time,.bilibili-player-video-volumebar-wrp,.bpui-selectmenu-list,.bpui-selectmenu-list-row[data-selected],.user-card,.emoji-box,.emoji-tabs,.bilibili-player-video-btn-setting-panel,.bilibili-player-video-danmaku-setting-box,.bilibili-player-video-danmaku-setting-left,.bilibili-player-video-danmaku-setting-right,.bui-select-list,.bilibili-player-mode-selection-container,.mode .selection-span,.bilibili-player-color-picker-container,.bilibili-player-color-picker-color-code,.bilibili-player-block-string-short,.bilibili-player-block-line,.bilibili-player-modal-container,.bpm-btn,.bui-input-input,.bui-select .bui-select-border,.advanced-danmaku-group .adv-danmaku-btn-span,.advanced-danmaku-group .adv-danmaku-btn-span.bpui-button-type-small,.bui-input-wrap-disabled,.bilibili-player-block-tabpanel .bilibili-player-block-tabpanel-row.bilibili-player-border,.multi-page .cur-list li.on,.multi-page .cur-list li.on:hover,.collection-m,.coin-operated-m,.follow-dialog-window,#app,.back-top,.repost,.not-support,.deleted,.video-container,.article-container,.imagesbox .boost-control,.history-list .r-info,.dynamic-link-hover-bg:hover,.dynamic-btn.pink.disabled,.sticky-bar,.card .focus-btn .unfocus,.bangumi-container,.textarea-container .comm-tool .comm-emoji,.emoji,.pagination,.userinfo-content,.watch-later-list header .d-btn,.tab-contain,.card .focus-btn .focus,.page-container,.right-side-bar .to-comment .comment-num,.music-container .image-area .share-img,.music-container .text-area,div.con,.audiolist-list .song-list .song-li .content .text,.audio-info-module,.audio-list .song-list .song-li .content .text,.multi-page .more-box,.h5share-container .text-area,.g-search input,.list-create,.wrapper .modal-body .choice-wrp .battery,.wrapper .modal-body .choice-wrp .battery-desp input,.be-dropdown-menu,.small-item .cover,#id-card,#page-video #submit-video-type-filter,.be-pager-options-elevator input[type=text],.be-pager-item,.be-pager-next,.be-pager-prev,.contribution-sidenav .contribution-item:hover,.my-album .tab-list,#page-setting #setting-new-tag,.imagesbox .boost-img,.gui-settings-box,.predefined-colors,#page-fav .fav-sidenav .fav-item:hover,#page-fav .fav-sidenav .icon-cursor,.space-right,.modal-wrapper,.bottom .content,.action-menu .menu-list,.action-menu .menu-list:before,.list-item:hover,.list-item.active,.emoji-box:after,.emotion-box,.emotion-box:after,.live-container,.img-content,.follow-sidenav .follow-list-container .follow-item:hover,.fans-action-follow,.fans-action-btn,#page-setting .setting-tag-list a,#pin-wrapper #pin-layer,.select-wrap .select-txt,.select-wrap .select-option,.card .more-panel,.card .more-panel:after,.bl-button--ghost,.wrapper .pay-qrcode-wrp .pay-way-wrp .pay-btn,.wrapper .content,.comment-bilibili-con,.bilibili-player-video-panel,.vote-container.pointer,.vote-container .image-area .share-img,.backdrop .title-box,.result .row,.image-box,.vote-user-face,.backdrop iframe,.home-wrap .home-input .list li:hover,.suggest-wrap .horizontal .hz-text,.suggest-wrap .vt-text:hover,.home-wrap .home-suggest .hotlist .num,.fixed-top,.page-wrap .pager,.fixed-top .search-block .input-wrap,.error-wrap,#sections-vm .section-block,.link-footer,.base-bubble,.base-bubble .content-ctnr:before,.attention-btn-ctnr .right-part,.gift-item.buy.hover,.gift-presets .gift-panel-switch,.chat-history-panel .chat-history-list .chat-item.system-msg,.bilibili-live-player-loading-panel,.guard-rank-cntr .rank-cntr .btn-box .buy:hover,.rank.rank-4,.rank.rank-5,.rank.rank-6,.rank.rank-7,.rank.rank-8,.rank.rank-9,.rank.rank-10,.result,.user-panel .level-progress,.download-panel-ctnr .download-item:hover,.user-item-loading .username,.user-item-loading .avatar,.calendar-checkin .checkin-btn:active,.user-panel .logout-btn:active,.user-level-detail .detail-link:hover,.user-level-detail .detail-link:active,.common-popup-wrap,.hover-panel,.awarding-panel,.link-input,.gift-sender-panel,.count-choice,.choice-item.active,.choice-item:hover,.choice-item,.radio-icon.selected,.activity-item-ctnr .user-avatar,.live-player-ctnr.minimal,.activity-item-loading-ctnr .user-avatar,.activity-item-loading-ctnr .info-ctnr .first-line,.activity-item-loading-ctnr .info-ctnr .second-line,.comment-wrap,.ban-app,.bb-comment .nameplate .nameplate-card,.video-model,.voted-result,.info-model,.app-watch,#app .header,#app .submit,.appeal-box{background-color:#222!important;}.back-top.icon,.sortable,.nav-list,.more-link,.read-push,.link-more,.rank-item>.ri-num,p.update>span>a,.bili-dropdown,.dropdown-list,.c-clink,a.more,a.im-list:hover,li.d-data:hover,a.read-more,ul.up-nav li:hover,.bili-header-m .mini-wnd-nav .list li:hover,li.suggest-item:hover,li.suggest-item.focus,.sub-nav li:hover,.num-tip,.btn.followed .b-gz,.up-info .btn .b-cd,.bilibili-player-danmaku-function,.bilibili-player-danmaku-btn-time,.bilibili-player-danmaku-btn-danmaku,.bilibili-player-danmaku-btn-date,.bilibili-player-danmaku-wrap,.mCSB_draggerRail,.bilibili-player-danmaku-btn-history,.more-ops-list,.app-look,.video-toolbar .share .share-pos,.bilibili-player-context-menu-container,.tag-info-pane .tag-header .btn-subscribe,.tag-info-pane .tag-header .btn-unsubscribe,.notice-item,.btn-box .liked,.btn-box .like,.btn-box .message,.follow-btn,.paging-box-big .tcd-number,.paging-box-big .next,.float-nav .nav-menu .item,div.drag-bar,.bpui-slider-tracker,.bilibili-player-video-progress-buffer,.bilibili-player-setting-menu-wrap,.bilibili-player-setting-menu-list,.opera-list,.tab-link.on,.emoji-text:hover,.bui-radio .bui-radio-button .bui-radio-label,.bpui-selectmenu-list-row:hover,.bpui-button.bpui-button-type-small,.fontsize .selection-span,.bilibili-player-filter-wrap.bilibili-player-block,.recommend-list .rec-footer,.bilibili-player-block-line:hover,.bilibili-player-modal-btns .bpm-btn,.bilibili-player-adv-danmaku,.multi-page,.video-page-card .card-box .pic-box,.add-btn,.collection-m .bottom .btn.disable,a.s-btn,.user-panel,.tag-panel,.section-block,.publish-panel,.tab-bar,.card,.notice-panel,.history-btn>.btn,.go-top.tag-panel .more-button .more:hover,a.more.tc-slate:hover,.bp-popup-panel,.comment-area,.comment-area .comm-main .comm-list .hot-line >span,.comment-area .comm-more a.more:hover,.emoji:hover,.emoji-cover.selected,.page-controller .prev:hover,.page-controller .next:hover,.bg-white,.feed-card .empty-content,.forw-area,.live-panel,.paging-box-big .dian,.feed-tag .publish-panel-container,.go-top-m .go-top,.right-side-bar .to-comment,.right-side-bar .to-top,.up-info-holder .fixed-box .rightside-article-list-btn,.article-list-holder-block .article-list-plane,.btn-cancel,.n .n-inner,#page-index .col-1,#page-index .col-2 .section,.wrapper .modal-header .u-info,#page-index .album .content .album-wrapper .album-item .album-top,.be-dropdown-item:hover,.elec .elec-status,.btn.default,.col-full,#page-dynamic .col-2 .section,#page-channel-index .channel-option.no-channel,#page-setting .setting-index-module,.btn.ghost,.bili-header-m .profile-m .grade .bar,.video-page-card .card-box .info .pre-mask,.bui-button.bui-button-transparent,.bb-comment .comment-list .quote,.wrapper .edit-video-modal .target-favlist .target-favitem:hover,#page-fav .fav-main .search-input input,.space-left,.space-right .space-right-top .title,.card .box,.message-list,.send-box,.emoji-box .emoji-item:hover,.emotion-item:hover .img,.ps.ps--in-scrolling.ps--y>.ps__scrollbar-y-rail,.ps.ps--in-scrolling.ps--x>.ps__scrollbar-x-rail,.ps:hover.ps--in-scrolling.ps--y>.ps__scrollbar-y-rail,.ps:hover.ps--in-scrolling.ps--x>.ps__scrollbar-x-rail,.ps:hover>.ps__scrollbar-y-rail:hover,.ps:hover>.ps__scrollbar-x-rail:hover,#page-follows .follow-main .follow-action-bottom .follow-action-fixtop,#pin-wrapper #pin-layer-search,.be-input_inner,.ban-modal,.ban-modal-h5,.select-wrap .select-option p:hover,.wrapper .elec-btn.disabled,.wrapper .pay-qrcode-wrp .pay-way-wrp .pay-btn.active,.up-article-list-block .more-article,.slim-video-card .video-info,.dyn_list li .preview,.checkbox,button.submit-button.disabled,.home-wrap .home-input .type,.home-wrap .home-input .list,.home-wrap .home-input .content,.suggest-wrap,.suggest-wrap .title span,.home-wrap .home-suggest .hot-search,.home-wrap .home-suggest .history,.search-wrap .search-block .input-wrap input,.search-wrap .search-block .input-wrap,.video.matrix,.pager .pages .page-item button,.video.list .type,.user-list .up-item .attention-btn.followed,.user-list .up-item .attention-btn.followed:hover,.photo-list .photo,.synthetical .play-btn,.percentage-bar,.s-space .wrapper .content,.ema-wishing,.room-info-ctnr .content-wrapper,.activity-pushing-out,.left-container .head-info-section,.left-container .gift-control-section,.rank-list-ctnr,.rank-list-ctnr .tabs,.player-and-aside-area .aside-area,.player-and-aside-area .aside-area .rank-list-section,.gift-presets .gift-panel-box,.bilibili-live-player-ending-panel-recommend-card-pic,.rank-list-ctnr .own,.rank-cntr .item.own,.area-list-panel,.user-panel-ctnr .user-panel .lens-ctnr,.calendar-checkin .title,.calendar-checkin .calendar-wrapper,.calendar-checkin .content-ctnr.ie-fix,.calendar-checkin,.calendar-checkin .checkin-btn,.calendar-checkin:hover,.calendar-checkin .checkin-rewards,.calendar-checkin .checkin-rewards .query,.download-panel-ctnr,.link-panel-ctnr,.totally-empty-hint,.load-more-btn,.load-error-panel,.user-level-detail,.user-panel .logout-btn,.process-bar,.selector .data-list,.selector,.selector .data-list>li:hover,.fans-info .fans-progress,.score-progress-bar,.radio-icon,.bl-switch,.ban-detail .content-box .info-wrap,.what-ban .text-con,.fjw-point,.paginator .paging-box .result,.ban-detail .content-box .vote-cnt,.content-box .watermark-wrap .watermark,.ban-detail .content-box .major-content,#app .submit .cancel,.home-wrap .home-input .type.selected,.home-wrap .home-input .type:hover{background-color:#444!important;}.brief a:hover,div.brief>a:hover,div.all>a:hover,.live-lr .banner a:hover,.bui-collapse-header,.bilibili-player-filter,.bpui-selected span,.bpui-selected,.bpui-unselecting,.bpui-selecting,.bpui-selecting>span,.context-menu-a:hover,.danmaku-info-report-btn,.danmaku-info-block-btn,.btn-box .message:hover,.bui-switch .bui-body,li.context-menu-descipline a,.bui-select .bui-select-item:hover,.multi-page .cur-list li:hover,.article-list-holder-block .article-list-plane .button:hover,.btn-cancel:hover,.btn.default:hover,.be-switch{background-color:#555!important;}.btn-add span,.bui-bar-wrap,.bui-step-dot,.ps>.ps__scrollbar-y-rail>.ps__scrollbar-y,.ps>.ps__scrollbar-x-rail>.ps__scrollbar-x{background-color:#aaa!important;}.bpui-slider-handle{background-color:#eee!important;}.bilibili-player-video-inputbar,#app,body,.wrapper .modal-header,.large-item .cover{background-image:none!important;}.bilibili-player-color-picker-mask,.bilibili-player-advanced-danmaku-control-container.mask:after,.elevator-module .nav-bg{background-color:#222e!important;}.my-info .info-modal .integral li .num,.article-holder img,.article-holder .cover-default,.wrapper.clearfix .content,.right-part .user-panel,.side-bar-cntr,.shortcut-item .list-item:hover,.fans-medal-item .level,.divider,.fjw-point .line,font>span,.list-item .close .close-icon{background-color:transparent!important;}.bilibili-player-video-sendbar .bilibili-player-video-inputbar{background:#fff1!important;}.gui-settings-content-top-mask{background:linear-gradient(to bottom,#222,transparent);}.gui-settings-content-bottom-mask{background:linear-gradient(to top,#222,transparent);}.room-bg::after,.user-panel .level-progress .progress-bar{background:transparent!important;}.bili-footer a,a.pic > p.title,div.desc-tips,div.r.p > div.info,a.message,div.desc,.btn.followed .b-gz,span.copyright,.danmaku-info-row,.bilibili-player-danmaku-btn-time,.bilibili-player-danmaku-btn-danmaku,.bilibili-player-danmaku-btn-date,.bilibili-player-danmaku-date-picker-header,.bilibili-player-danmaku-date-picker-btn,.day-span,.video-toolbar .ops > span,.video-toolbar .share .share-btn,.video-toolbar,li.tag,.tag-info-pane .tag-footer .btn-left-box > a,.video-desc .btn span,li.tag > a,.tag-info-pane .tag-header .btn-unsubscribe,span.disabled,.btn-box .liked,.info .sign,span.like span,span.hate span,.bb-comment .comment-list .list-item .info .plad a,.float-nav .nav-menu .item,div.drag-bar,.bilibili-player-block-filter-label,.bilibili-player-block-filter-image,.mode .selection-span,.recommend-list .rec-footer,.bilibili-player-block-list-function > div,.bilibili-player-block-line.block-state-disabled,.bilibili-player-block-line-delete,.bilibili-player-block-empty,.collection-m .bottom .btn.disable,.looked,.history-list .r-info .w-info .name,.history-list .r-info .w-info .pro-txt,.history-list .l-info .lastplay-time .lastplay-t,.tc-slate,.more-button,.boost-control li,.boost-control li i,.dynamic-list-item-wrap .item-user a.user-name,.dynamic-list-item-wrap .item-user a.user-name.vip,.textarea-container .comm-tool .comm-transpond,.dynamic-list-item-wrap .info > span,.page-controller .prev.disabled,.page-controller .next.disabled,.forw-area .forw-more a,.watch-later-list header .d-btn,.tab-list .tb-item,.dynamic-list-item-wrap .view-more,.comment-area .comm-main .comm-list .hot-line > span,.up-info-block .up-info-right-block .row-2,.up-info-block .up-info-right-block .fans-num,.up-info-block .up-info-right-block .view-num,.article-action .coin-btn .info-block span,.article-action .fav-btn .info-block span,.article-action .like-btn .info-block span,.article-action .share-btn .info-block span,.right-side-bar .to-comment .comment-num,.up-info-holder .fixed-box .rightside-article-list-btn .title,.article-list-holder-block .article-list-plane .button .title,.article-list-holder-block .article-list-plane .button.off .label,.multi-page .head-con .range-box .paging li,.multi-page .more-box li,.multi-page .head-con .range-box i,.n .n-data .n-data-k,.sec-empty-hint,#page-index .channel .empty-state p,.private-hint,#page-index .col-2 .section .user-auth.no-auth .no-auth-title span,.section .operation,.i-live .i-live-unfo-btn,.i-live .i-live-fo-count,.elec .elec-status,.be-pager-item a,.be-pager-next a,.be-pager-prev a,.be-pager-item-jump-next,.be-pager-item-jump-prev,.be-pager-next,.be-pager-prev,.be-pager-options-elevator,.be-pager-total,.tabs a,#id-card .idc-auth-description,#page-fav .fav-sidenav .nav-title .text,#page-fav .fav-main .fav-meta,#page-fav .fav-main .filter-item .filter-type .be-dropdown-item i,.wrapper .edit-video-modal .edit-video-subtitle,.wrapper .edit-video-modal .target-favlist .target-favitem.disabled span,.wrapper .edit-video-modal .target-favlist .target-fav-count,.side-bar .list .item,.top .time,.bottom .text,.list .list-title,.medal-box,.no-more,.msg-more,.i-pin-meta,.i-pin-desc,.article-con,.follow-sidenav .num,.list-item .desc,.fans-action-follow,.list-item .auth-description,.follow-main .follow-action-bottom .select-counter,.n .n-num,.bangumi-rank-list .rank-item .ri-total,.pub-list .info .type .bk-title,.case-list .info .type .bk-title,.pub-list .info dl dt,.case-list .info dl dt,.pub-list .info .comment,.report-con dl dt,.wrapper .modal-body .elec-bcoin,.wrapper .modal-body .elec-protocol,.wrapper .modal-body .elec-protocol a,.wrapper .pay-qrcode-wrp .refresh-btn,.wrapper .pay-qrcode-wrp .pay-way-wrp .pay-btn,.bilibili-player-video-info,.slim-video-card .video-info .col,.slim-video-card .video-info .col-2,.comment-bilibili-con .reason-box dl dt,.comment-list .list-item .reply-box .view-more,.comment-m .b-head .del-log,.emoji-box .emoji-title,.vote-user-name,.anonymous,.share-to-dynamic,.submit-button.disabled,.vote-introduction,.suggest-wrap .title span,.nav-wrap .wrap > .sub > span,.filter-wrap .fold,.so-icon,.video.list .des,.bili-footer,.total-wrap .total-text,.article-wrap .article .desc,.synthetical .des,.user-list .up-item .attention-btn.followed,.user-list .up-item .attention-btn.followed:hover,.user-list .up-item .up-videos .ptime,.pgc-list .synthetical .score .user-count,.live-wrap .headline .user-more,.spread-module .num,.card-live-module .num,.live-module .zone-title .headline .online,.live-module .zone-title .headline .fire,.tab-candidate,.room-feed .tabs .item,.live-status-label.preparing,.area-link,.room-owner-username,.room-info-down-row .icon-label,.right-action-ctnr,.attention-btn-ctnr .right-part,.rank-list-ctnr .tabs .item,.rank-cntr .tip,.chat-item.danmaku-item .user-name,.section-title h2,.user-panel .ctrl-btn,.lightgray,.gift-info-expScore,.gift-info-desc,.block-setting-ctnr .sub-title,.list-content-candidate,.pophover > p:last-child,.live-player-ctnr.minimal::before,.ban-detail .content-box .bk-user-info .time,.ban-detail .content-box .link-box,.what-ban .text-con .txt,.content-box .origin-text,.jury-graph-wrap .canvas-txt h4,.fjw-point .point-wrap .user-point .info .usr-zan-cai span,.bb-comment .nameplate .nameplate-card .nameplate-text .n-type,.content-box .punish-title .rule-content,.cm-model .report-detail .detail .name,.jury-graph-wrap .graph-status .illegal b,.jury-graph-wrap .graph-status .legal b,.is-max .option-vote,.video-toolbar .ops .share-pos,.video-toolbar .ops .share-btn i,#page-index .section.empty:after,body{color:#aaa!important;}.bili-dropdown,.dropdown-list,a.side-link>span,h3,p.ri-title,p.t,a.name,div.bili-tab-item,.sortable,.nav-name,.more-link,.read-push,.link-more,.customize,div.r-text>.t,.c-clink,div.brief>a>span,div.all>a>span,.lf-item p,a.more,a.recommand-link,a.logout,.member-menu a,.btns-profile span,div.bar>div.num>div,div.grade span,div.lv-row>strong,a.im-list,.dynamic-m a,a.read-more,.bili-header-m .mini-wnd-nav a,.suggest-item a,.sub-nav span,.v-title,.video-title,a.username,.bi-btn,.up-info .btn .b-cd,div.info,div.title a,div.b-head,div.rec-title,.bui-collapse-arrow,.bilibili-player-filter-title,.bilibili-player-filter-menu,.danmaku-info-report-btn,.danmaku-info-block-btn,.danmaku-info-danmaku,.bilibili-player-danmaku-btn-history,.day-span.day-enable,.more-ops-list,.app-look,.video-toolbar .share .share-pos .share-address ul li input,.context-menu-a,form.ipt>input,.tag-title>a,.tag-info-pane .text,.tag-info-pane .tag-header .btn-subscribe,.tag-info-pane .btn-right-box a,.bangumi-info-module .v-preview .title,.bb-comment .reply-notice .notice-item a,.bb-comment .comment-header .tabs-order li,.result,.tcd-number,.next,.info .social a,.btn-box .like,textarea,.comment-emoji,p.text,.bb-comment .hot-line span,.page-jump>input,.follow-btn,.paging-box-big .tcd-number,.paging-box-big .next,.bilibili-player-video-btn:hover,.bilibili-player-video-danmaku-input,.bilibili-player-video-btn:hover .bilibili-player-iconfont,.bilibili-player-video-progress-detail-time,.bpui-selectmenu-list-row,.bilibili-player-video-time-seek,.bilibili-player-setting-menu-list,.opera-list,.emoji-text,.bilibili-player-video-btn-setting-panel-playtype-title,.bui-radio-label .bui-radio-text,.bui-checkbox-name,.bilibili-player-video-danmaku-setting-left-block-title,.bilibili-player-video-danmaku-setting-left-more-text,.bilibili-player-video-danmaku-setting-right,.bilibili-player-video-danmaku-setting-right-more,.bpui-button.bpui-button-type-small,.bilibili-player-video-danmaku-setting-left-area-title,.bilibili-player-video-danmaku-setting-left-block-title,.bilibili-player-video-danmaku-setting-left-fontsize-title,.bilibili-player-video-danmaku-setting-left-opacity-title,.bilibili-player-video-danmaku-setting-left-speedplus-title,.row-title,.fontsize .selection-span,.bilibili-player-color-picker-color-code,.bilibili-player-block-label,.text-con,.bilibili-player-block-string-short,.bilibili-player-block-tabpanel-row .bilibili-player-block-type-keyword,.bilibili-player-block-tabpanel-row .bilibili-player-block-type-regex,.bilibili-player-block-tabpanel-row .bilibili-player-block-type-user,.bilibili-player-block-line,.bilibili-player-modal-title,.bilibili-player-modal-info,.bilibili-player-modal-btns .bpm-btn,.advanced-danmaku-group .content-span,.bui-input-input,.bui-select .bui-select-border,.advanced-danmaku-group .adv-danmaku-pos-row .pos-span,.advanced-danmaku-group .adv-danmaku-pos-row .axias-span,.advanced-danmaku-group .adv-danmaku-btn-span,.bui-input-wrap-disabled,a.router-link-active,a.router-link-exact-active,.multi-page .cur-list li:hover,.collection-m .title,.content .group-list li,.content .group-list li label .count,.add-btn,.coin-operated-m .coin-title,.follow-dialog-window .title,.watch-later-list header .t,.watch-later-list .list-box .av-item .av-about .t,a.s-btn,span.key,.tc-black,.history-wrap .b-head .b-head-t,.history-btn>.btn,.history-list .r-info .title,.history-list .r-info .w-info .username,.user-name a,.content,.video-container .text-area .title,.sticky-bar .bar-content .title,.comment-area .comm-main .comm-tabs >ul >li,.card .focus-btn .unfocus .unfocus-text,.bangumi-container .text-area .title,.emoji-box .title,.emoji,.emoji-cover.selected,.emoji-cover,.page-controller .prev,.page-controller .next,.dynamic-list-item-wrap .item-detail .text,.userinfo-content,.tc-dark-slate,.article-container .text-area .title,.paging-box-big .dian,.feed-tag .separater-line,.nav-tab-bar .tab-item span,a.up-name,.up-info-holder .fixed-box .more .top-bar,.up-info-holder .fixed-box .more .help .title,.up-info-holder .fixed-box .more .link .title,.title-container .title,.article-holder,.article-holder .color-default,.article-holder h1,.article-action .coin-btn .info-block label,.article-action .fav-btn .info-block label,.article-action .like-btn .info-block label,.article-action .share-btn .info-block label,.up-info-holder .fixed-box .rightside-article-list-btn .label,.up-info-holder .fixed-box .up-article-list-block .block-title,.article-list-holder-block .article-list-plane .button .label,.article-holder .video-holder .title,div.con>div.txt,.btn-cancel,div.con header,.audiolist-list .song-list .song-li .content .text a,.audio-list .song-list .song-li .content .text,.audio-list .song-list .song-li .content .text a,.n .n-btn,.n .n-data .n-data-v,.g-search input,.i-pin-v .be-tab-item,.list-create .text,.large-item .title,.user-auth.no-auth .no-auth-title .goto-auth,.i-m-title,.i-m-btn,.user .info .meta .item,.wrapper .modal-header .title,.wrapper .modal-body .choice-wrp .battery-desp,.wrapper .modal-body .choice-wrp .battery-desp input,.wrapper .elec-main-title,.wrapper .elec-sub-title,.paging-box .current,.paging-box .dian,.paging-box .next,.paging-box .prev,.paging-box .tcd-number,.multi-page .cur-list li a,#page-index .channel.guest .channel-item .channel-title .channel-name,.small-item.disabled .title,#page-index .album .content .album-wrapper .album-item .album-title,#page-index .col-2 .section .user-auth .auth-description,.elec .elec-monthly-c,.elec .elec-count,.be-dropdown-item,#id-card .idc-uname,#id-card .idc-meta-item,.btn.default,.contribution-sidenav,.breadcrumb .item.cur,.be-tab-item,#page-video #submit-video-type-filter a,.be-pager-options-elevator input[type=text],#page-article .row .breadcrumb .item,.my-album .title,.my-album .tab-list .tab .name,#page-channel-index .channel-option.no-channel p,#page-channel-index .channel-item .channel-name,#page-setting .setting-privacy-item .setting-privacy-name,#page-setting #setting-new-tag,.btn.ghost,.gui-settings,.bui-button.bui-button-transparent,.gui-settings-box,.pop-live .pl__head,.pop-live .pl__title,.gui-settings-textbox-container input,#page-fav .fav-sidenav .text,#page-fav .fav-main .filter-item,#page-fav .fav-main .filter-item .filter-type .be-dropdown-item span,.wrapper .edit-video-modal .edit-video-title,.modal-wrapper .modal-header-close,.wrapper .edit-video-modal .target-favlist .target-fav-name,#page-fav .fav-main .search-types,#page-fav .fav-main .search-input input,.side-bar .title,.setting.item a,.space-right .space-right-top .title,.top .title,.action-menu .menu-list a,.card.config,.dialog .title,.list-item .name,.message .message-content.not-img,.emoji-box .emoji-item,.i-live .i-live-text,.section-right-options .operation,.article-title,.follow-sidenav .follow-list-container .follow-item,.follow-sidenav .nav-title .text,.breadcrumb .batch,.follow-main .follow-action-top .back-to-info,.follow-main .follow-action-bottom li,.modal-container li,.fans-action-btn,.tag-list a,#pin-wrapper .pin-layer-header,#pin-wrapper .pin-layer-order-tip,#pin-wrapper #pin-layer-search,.modal-wrapper .modal-title,.be-input_inner,.follow-sidenav .follow-list-container .follow-item.cur .num,.pub-list .info .name,.select-wrap .select-txt,.select-wrap .select-option,.select-wrap .select-option p:hover,.card .more-panel,.card .more-panel .child-button:hover,.report-popup .content-text,.im-popup .bp-popup-panel .title-ctnr .popup-title,.selector-box,.bl-button--ghost,.report-con dl dd,.report-other,.wrapper .modal-body .pay-info,.wrapper .pay-qrcode-wrp .pay-way-wrp .pay-btn.active,.article-info-container .title,.article-info-container .desc,.slim-video-card .video-info .title,.up-article-list-block .more-article,.comment-bilibili-con .t,.comment-bilibili-con .reason-box dl dd,.comment-bilibili-con .other p,.vote-title,.desc-title,.home-wrap .home-input .type,.home-wrap .home-input .list,.suggest-wrap .horizontal .hz-text,.suggest-wrap .vt-text,.home-wrap .home-suggest .hot-search,.home-wrap .home-suggest .history,.home-wrap .home-suggest .history .list .item a,.search-wrap .search-block .input-wrap input,.nav-wrap .wrap,.nav-wrap .wrap>.sub,.filter-wrap .filter-item a,.video.matrix .title,.pager .pages .page-item button,.video.list .type,.video.list .title,.error-wrap,.live-wrap .live-tabs a,.article-wrap .article .title,.synthetical .title,.user-wrap .dropdown-wrap .select-wrap .bili-dropdown .selected,.user-list .up-item .up-videos .video-item .video-desc,.user-list .up-item .title,.photo-list .photo .title,.bangumi-list .synthetical .des .type-s,.synthetical .play-btn,.pgc-list .synthetical .des .type-s,.live-user .user-item .item-right .uname,.live-room-list .room-item .item-title,.live-wrap .live-room .headline .filter a,.special-module .user a,.ema-wishing .title,.room-introduction-tags .room-introduction-tag,.room-introduction-scroll-wrapper,.no-glory,.base-bubble,.icon-bls2018-rank.side-bar-icon+.size-bar-text,.room-title,.gift-item .label,.seeds-wrap,.rank-list-ctnr .tabs .item.active,.guard-rank-cntr .rank-cntr .rank-list-box a,.t-over-hidden,.guard-rank-cntr .rank-cntr .page-box,.chat-history-list .chat-item.danmaku-item,.activity-rank-cntr .rank-cntr .item,.rank-list-ctnr .normal-list .item,.config-row,.calendar-checkin .calendar-wrapper,.calendar-checkin .checkin-btn,.download-panel-ctnr a,.link-panel-ctnr,.load-more-btn,.user-panel .logout-btn,.darkgray,.user-level-detail .detail-link,.hover-description,.selector .data-list>li,.selector .data-list>li:hover,.welcome-msg .action,.welcome-msg .username,.welcome-msg .vip-icon,.selector .current,.hover-panel,.awarding-panel,.link-input,.gift-info-title,.choice-item,.yan-item,.danmaku-position-item .icon-font,.danmaku-position-item .danmaku-position-text,.rank-text-ctnr,.up-level-icon,.user-level-icon,.link-radio-button-label,.danmaku-adjust-label,.danmaku-adjust-value,.block-setting-row .setting-label,.block-setting-row .setting-value,.level-hint-text,.user-type-hint,.list-content-candidate.active,.block-content,.chat-history-panel .gift-item,.chat-history-panel .penury-gift-msg,.pophover>p:first-child,.ban-detail .content-box .bk-user-info .name,.ban-detail .content-box .punish-title,.ban-detail .content-box .bk-text-con,.what-ban .text-con .title,.jury-graph-wrap .canvas-txt p,.jury-graph-wrap .graph-status .illegal,.jury-graph-wrap .graph-status .legal,.content-box .watermark-wrap .bk-text-con,.case-list .voted-user-info .name,.slide-item-wrp .slide-item-info .slide-item-title,.sponsor-rank .sponsor-rank-header .show-sponsor-rank,.case-list .info .type .jc-black,.voted-result,.crumbs a,.content-box .origin-text a,.cm-model .report-detail .detail .report-cnt,font,.crumbs,.comment-content .link,.is-max .option-text,.video-page-card .card-box .info .title,.app-watch .title,#app .container,#app .submit .cancel,#app .header{color:#eee!important;}.bilibili-player.mode-fullscreen .bilibili-player-area .bilibili-player-video-btn-widescreen,.bilibili-player.mode-fullscreen .bilibili-player-area .bilibili-player-video-btn-widescreen .bilibili-player-iconfont{color:#99a2aa!important;}.nav-tab-bar .tab-item.on span{ color: #00a1d6 !important}.fans-medal-item .label,.calendar .day-item,.calendar .day-item.cur-day,.content-box .watermark-wrap .watermark{color:#222!important;}li.tag,form.ipt,.bilibili-player-color-picker-color-code,.history-list .l-info .lastplay-time .history-red-round,.history-list .l-info,.tag-container .tag-item .tag-content,.up-info-holder .fixed-box .rightside-article-list-btn .label,.pub-list .info dl,.case-list .info dl,.report-con label:before,.suggest-wrap .title,.home-wrap .home-suggest .hotlist .item,.home-wrap .home-suggest .history .list .item,.live-status-label.preparing,.radio-icon,.ban-detail .content-box .bk-text-con,.ban-detail .content-box .link-box{border-color:#aaa!important;}div.dd-bubble,ul.bilibili-suggest,.video-info-module,.bilibili-player-danmaku-date-picker-container,.video-toolbar .share .share-pos .share-address ul li input,.bangumi-info-module,.user-card-m,.bilibili-player-video-control,.bilibili-player-video-inputbar,.bilibili-player-video-volumebar-wrp,.bpui-selectmenu-list,.user-card,.face,.emoji-box,.bilibili-player-video-btn-setting-panel,.bilibili-player-video-danmaku-setting-box,.bilibili-player-mode-selection-container,.bilibili-player-color-picker-container,.bilibili-player-block-string-short,.bilibili-player-modal-container,.video-container,.article-container,.card .focus-btn .unfocus,.textarea-container .comm-tool .comm-emoji,.watch-later-list header .d-btn,.card .focus-btn .focus,.slim-border:after,.music-container,.audio-info-module,.multi-page .more-box,.h5share-container,#id-card .idc-avatar,.be-pager-options-elevator input[type=text],#page-setting #setting-new-tag,#page-setting #setting-new-tag-btn,.action-menu .menu-list,.action-menu .menu-list:before,.live-container,#page-setting .setting-tag-list a,.select-wrap .select-option,.card .more-panel,.card .more-panel:after,.bl-button--ghost,.common-popup-wrap .arrow{border-color:#222!important;}.nav-list,.customize,#primary_menu,.bili-tab,.bili-tab-item,.bili-dropdown,.dropdown-list,.member-menu,div.bar>div.num,.dynamic-m,.day-span,.danmaku-info-report-btn,.danmaku-info-block-btn,.comment-header,.bilibili-player-video-time-seek,.pl__card,.advanced-danmaku-group,.add-btn,.looked,.history-wrap .time-label:before,.comment-area .comm-main .comm-tabs,.dynamic-list-item-wrap,.comment-area .comm-more,.forw-area .forw-more,.userinfo-wrapper,.btn-box .message:hover,.article-action,#article-list-btn .label,#article-list-btn .title,.btn-cancel,.song-list .song-li .content .num,.multi-page .head-con .range-box .paging li,.multi-page .more-box li,.g-search input,.i-m-upload,.i-m-r2,#page-index .col-2 .section-title,.user .info .meta .row,#page-index .fav-covers,.section .operation,.i-live .i-live-unfo-btn,.i-live .i-live-fo-count,.be-dropdown-menu,.btn.default,.be-pager-item,.be-pager-next,.be-pager-prev,#page-subs .mini-item,#page-setting .setting-index-container,#page-setting .setting-index-module,.btn.ghost,.be-dropdown-item.be-dropdown-item-delimiter,#page-fav .fav-sidenav .nav-container,#page-fav .fav-main .fav-header.fav-header-info,#page-fav .fav-main .small-item,#page-fav .fav-main .search-types,.divided-line,.dialog .title,.list .list-title,.list-item,.whisper .list,.send-box,#page-index .channel .channel-item,.user .tags,.article-content,.s-content,.follow-sidenav,.follow-sidenav .nav-container.follow-container,.follow-main,.follow-main .follow-header.follow-header-info,.follow-main .follow-action-top .back-to-info,.follow-main .follow-action-top,.modal-container .modal-body .target-followlist,.fans-action-btn,#pin-wrapper .pin-layer-header,.modal-wrapper .modal-title,.report-con,.wrapper .pay-qrcode-wrp,.wrapper .pay-qrcode-wrp .pay-way-wrp .pay-btn,.wrapper .pay-qrcode-wrp .pay-way-wrp .pay-btn.active,.bilibili-player-video-inputbar .bilibili-player-video-inputbar-wrap,.article-holder .slim-video-card,.comment-bilibili-con .t,.vote-container,.image-box,.checkbox,.home-wrap .home-input .type,.home-wrap .home-input .list,.suggest-wrap,.suggest-wrap .horizontal .hz-text,.home-wrap .home-suggest .hot-search,.home-wrap .home-suggest .history,.home-wrap .home-input .content,.search-wrap .search-block .input-wrap input,.nav-wrap,.filter-wrap,.video.matrix,.pager .pages .page-item button,.video.list .type,.error-wrap,.photo-list .photo,.synthetical .play-btn,.ema-wishing,.link-footer,.room-info-ctnr .content-wrapper,.room-introduction-tags,.side-bar-cntr,.player-and-aside-area .aside-area,.rank-list-ctnr,.left-container .head-info-section,.left-container .gift-control-section,.attention-btn-ctnr .right-part,.gift-presets .gift-panel-switch,.rank-list-ctnr .tabs .item,.chat-history-panel .chat-history-list .chat-item.system-msg,.guard-rank-cntr .rank-cntr .btn-box,.prize-item .prize-img,.calendar-checkin .divider,.info-item-ctnr,.user-level-detail,.user-level-detail hr,.common-popup-wrap,.common-popup-wrap::before,.common-popup-wrap::after,.user-level-detail::before,.user-level-detail::after,.btn-send,.selector .data-list,.selector,.hover-panel,.hover-panel:before,.awarding-panel,.gift-sender-panel::before,.count-choice,.choice-item,.fjw-point header,.bb-comment .nameplate .nameplate-card,.bb-comment .nameplate .nameplate-card .nameplate-text,.border-b,.fjw-case-detail .ban-detail .content-box .jury-status,.app-watch,.app-watch .title,#app .header,.iScrollIndicator,#app .submit,#app .submit .cancel{border-color:transparent!important;}.back-top.icon,.more-link,.read-push,.link-more,.c-clink,ul.boston-postcards>li,.lf-list,a.more,a.read-more,.live-field.fl,.square-field,.v-preview,.v-data,.btn.followed .b-gz,.up-info .btn .b-cd,#arc_toolbar_report,#v_desc,.more-ops-list,.app-look,.video-toolbar .share .share-pos,.bilibili-player-context-menu-container,.notice-item,.btn-box .liked,.btn-box .like,.btn-box .message,.paging-box-big .tcd-number,.paging-box-big .next,div.con,.float-nav .nav-menu .item,textarea,.comment-emoji,.bb-comment .hot-line,.page-jump>input,.bilibili-player-setting-menu-wrap,.opera-list,.bilibili-player-video-danmaku-setting-right-separator,.bui-select .bui-select-border,.bpui-button.bpui-button-type-small,.danmaku-wrap .bilibili-player-block-wrap,.bilibili-player-block-string-short-btn,.bilibili-player-modal-btns .bpm-btn,.bilibili-player-adv-danmaku,.bui-input-stepper,.bui-input-input,.bui-input .bui-input-stepper-up,.bui-input-wrap-disabled,.bilibili-player-modal-header,.collection-m .title,.collection-m .bottom,.follow-dialog-window .title,.follow-dialog-window .bottom,.watch-later-list .list-box .av-item .av-about,a.s-btn,.history-btn>.btn,.history-list .r-info .r-txt,.history-list .r-info .w-info .username,.go-top,.btn-box .like,.paging-box-big .dian,.right-side-bar .to-comment,.right-side-bar .to-top,.right-side-bar .to-comment .comment-num,.up-info-holder .fixed-box .rightside-article-list-btn,.article-list-holder-block .article-list-plane,div.con header,#page-index .col-1,.i-pin-v .be-tab,.section,.list-create,#page-index .col-2 .section,#page-index .col-2 .section:last-child,.wrapper .modal-header .u-info,.wrapper .modal-body .choice-wrp .battery,.wrapper .modal-body .choice-wrp .battery-desp input,.wrapper .modal-body .elec-protocol .checkbox,.elec .elec-avatar,.contribution-sidenav~.main-content,.contribution-sidenav,#page-myalbum .album-content,.v-wrap .s_tag,.bui-button.bui-button-transparent,.bb-comment .comment-list .quote,.modal-wrapper .modal-title,.wrapper .edit-video-modal .modal-body,.up-info:before,#pin-wrapper #pin-layer-search,.be-input_inner,.backdrop .title-box,.option-li,.result .row.top-border:before,.result .row:first-child:before,.vote-number,.fixed-top .search-block .input-wrap input,.video.list,.article-wrap .article,.synthetical,.user-wrap .dropdown-wrap .select-wrap,.user-list .up-item,.all-class,.result .row:after{ border-color: #444 !important}li.history,li.history:hover,li.timeline,li.timeline:hover,.b-line,.b-line:hover,.bilibili-player-danmaku-date-picker-header,.video-toolbar .share .share-pos .box-b,.btn-right-box{border-color:#99a2aa!important;}p.ri-title,.read-push,.link-more,.dropdown-item,.more-link,.member-menu a,a.logout,a.im-list,.bili-header-m .mini-wnd-nav a,.video-desc .btn span,li.tag,.history-btn>.btn,.elevator-module .nav-list .item{transition:all .2s!important;}.more-link>.icon,.read-push>.icon,.link-more>.icon,.bili-dropdown>.icon,.c-clink>.icon,a.more>.b-icon,.member-menu i,a.read-more>.b-icon,form.ipt>a,.tag-info-pane .btn-right-box a i,.icon-notice,.icon-close-notice,i.face,img[src$='0a399ff.png'],img[src$='0a399ff.png@22w_22h.webp'],i.btn-del,.up-info-holder .fixed-box .rightside-article-list-btn .icon-list,.list-create:hover .icon,.i-m-ra,.i-m-u-icon,.i-live-icon,.i-live-arrow,.i-m-v-icon,.icon-arrow,.side-bar .icon,.setting:before,.select-wrap .select-txt i,.primary-menu .nav-menu li.home>a,img[src^='//static.hdslb.com/images/base'],.home-wrap .home-input .type .arrow-down,.filter-wrap .fold .arrow-down,.filter-wrap .fold .arrow-up,.fixed-top .search-block .search-loupe .icon-loupe,.link-footer .footer-linker .footer-linker-bili .logo,.gift-presets .gift-panel-switch>.arrow{filter:brightness(0) invert(1)!important;}ul.up-nav li{filter:grayscale(1) brightness(1.3)!important;}.search-wrap .search-logo,.type.active .icon-aver,.type.active .icon-imgleft,.live-wrap .live-room .headline .filter .cover-btn.active .icon-live-face,.live-wrap .live-room .headline .filter .cover-btn:hover .icon-live-face,.live-wrap .live-room .headline .filter .frame-btn.active .icon-live-frame,.live-wrap .live-room .headline .filter .frame-btn:hover .icon-live-frame,.dynamic-liked i,.dynamic-liked:hover i,.dynamic-like:hover i,.dynamic-hated i,.dynamic-hated:hover i,.dynamic-hate:hover i,.is-web .checked,.is-web .is-max .percentage-bar,.video-container .image-area .see-later.done,.watch-later-trigger.added,.group-list li input[type=checkbox]:hover+i,.group-list li input[type=checkbox]:checked:hover+i,.group-list li input[type=checkbox]:checked+i,.comment-list .list-item .info .like:hover i,.comment-list .list-item .info .like.liked:hover i,.comment-list .list-item .info .like.liked i,.comment-list .list-item .info .hate:hover i,.comment-list .list-item .info .hate.hated:hover i,.comment-list .list-item .info .hate.hated i,.carousel-box .carousel-module .panel .trig span.on,.carousel-box .carousel-module .panel .trig span:hover,.emoji-tab-slider .next.on:hover,.emoji-tab-slider .prev.on:hover,.follow-main .follow-action-bottom .icon-copy,.follow-select .icon-follow-selected,.bp-svg-icon.vote-btn,.bp-svg-icon.lottery-btn,.vote-container .image-area .share-img,.dynamic-comm-icon,.nav-tab-bar .logo,.nav-tab-bar .tab-item.on,.calendar .day-item.checked,.link-range-ctnr,.check-icon,.user-type-icon .svg-icon.phone-1,.user-type-icon .svg-icon.not-member-1,.comment-wrap .header .title-h2 .head-icon,.fjw-point header h2 .head-icon,.bb-comment .comment-list .list-item .info .operation .spot,.primary-menu .nav-menu .sub-nav li>a,.primary-menu .nav-menu .sub-nav li>a span::after,.bp-svg-icon.radio-Selected,.bp-svg-icon.radio-default,.emotion-btn-box.opened,.emotion-btn-box:hover,.emoji-btn-box.opened,.emoji-btn-box:hover,#app .container .options .option img,.home-wrap .home-logo,.home-wrap .home-tips .tips-link .tip-item>a{filter:var(--blue-image-filter)!important;}.single-button .text-bar.selected,.is-max .percentage-bar,.calendar .day-item.gift-checked,.home-wrap .home-tips .tips-link .tip-item>a:hover{filter:var(--pink-image-filter)!important;}.switch-wrap i.icon-aver,.switch-wrap i.icon-imgleft,.elevator-module .nav-list .customize .icon,.spread-module .num .play .icon,.spread-module .num .danmu .icon,ul.filter-disable .icon-copy,.fjw-point .point-wrap .user-point .info .usr-zan-cai .zan,.fjw-point .point-wrap .user-point .info .usr-zan-cai .cai{filter:grayscale(1)!important;}.room-bg{filter:brightness(0.16) blur(10px)!important;}.bottom-actions .left-action{filter:brightness(0.8)!important;}.user-type-icon .svg-icon.phone-2,.user-type-icon .svg-icon.not-member-2,.box-slide-item.expired .box-img,.box-slide-item:not(.in-countdown) .box-img{filter:brightness(0.3)!important;}#page-index .col-1 .section .more,.elec .elec-status,.elec .elec-status-bg,.small-item .cover,#page-follows .follow-main .follow-action-top .back-to-info,.article-holder .slim-video-card-error{background-image:none!important;}.dropdown-item,.bilibili-player-block-tabpanel-row.bilibili-player-border,.g-search input{border-radius:4px!important;}.back-top.icon:hover,.go-top:hover{background-position:-713px -72px!important;}.list-create:hover .icon{background-position:-716px -332px!important;}.switch-wrap .imgleft:hover i{background-position:-148px -376px!important;}.switch-wrap .aver:hover i{background-position:-194px -376px!important;}.multi-page .cur-list ul{max-height:none!important;}div.live-box,div.box,div.im-list-box,.dynamic-m,.bpui-slider-handle,.bpui-selectmenu-list,.sticky-bar .bar-content .send-button,.article-container:hover .text-area,.music-container:hover .text-area,.h5share-container:hover .text-area,.n .n-inner,.large-item .cover img,.mini-item .cover img,.i-pin-c,.elec .elec-trigger,.col-full,.space-right .space-right-top .title,.card,.action-menu .menu-list,.list-item .cover img,.vote-container:hover .text-area,.side-bar-cntr,.ban-detail .content-box .info-wrap,.comment-wrap{box-shadow:none!important;}div.i-frame,div.dd-bubble,div.desc-tips,ul.up-nav,ul.bilibili-suggest,.video-info-module,.bilibili-player-context-menu-container,.tag-info-pane,.bangumi-info-module,.user-card-m,div.drag-bar,#bofqi.mini-player:before,.user-card,.emoji-box,.userinfo-wrapper,.audio-info-module,.emotion-box,.link-navbar .panel-shadow,.user-panel-ctnr .user-avatar.active,.user-level-detail,.gift-sender-panel,.common-popup-wrap,.blpui-slider-container .slider-handle,.live-player-ctnr.minimal,.bb-comment .nameplate .nameplate-card{box-shadow:0px 1px 10px 0px var(--theme-color-30)!important;}.sticky-bar{box-shadow:0px 1px 10px 0 #0003!important;}.bilibili-player-context-menu-container{text-shadow:none!important;}div.desc-tips>span.arrow-left,.bb-comment .comment-header .tabs-order li.on:after,.emoji-box:before,.up-info-holder .fixed-box .more .link .icon,.up-info-holder .fixed-box .more .help .icon,.g-search .search-btn,.wrapper .elec-message-wrp .elec-triangle,img.source-img,canvas.cliper.is-img,.loading .icon,.load-more .icon,.bb-comment .nameplate .nameplate-card .nameplate-arrow{display:none!important;}.article-action i.animation{opacity:0!important;}.bui-bar.bui-bar-buffer,.bilibili-player-video-progress-buffer-range{opacity:0.382!important;}.vote-user-face.opacity{opacity:1!important;}.bilibili-player-block-label,.advanced-danmaku-group .content-span{font-weight:400!important;}.bilibili-player-video-progress-detail-sign-down{border-top-color:var(--theme-color)!important;}.bilibili-player-video-progress-detail-sign-up{border-bottom-color:var(--theme-color)!important;}.bilibili-player-video-control{border-bottom-color:#333!important;}.coin-operated-m .mc-box{border:2px dashed #444!important;background-color:#fff!important;}.coin-operated-m .mc-box.on{border-style:solid!important;}.go-top-m .go-top,.page-box .num{border:none!important;}.music-container .image-area .icon{filter:brightness(0)!important;}.g-search input{padding:0 8px!important;}.up-info-holder .fixed-box .more .help,.up-info-holder .fixed-box .more .link{padding:0!important;}#page-fav .fav-main .filter-item .filter-type .be-dropdown-item{padding:0 16px!important;}.cliper{filter:brightness(16%)!important;}#page-setting #setting-new-tag-btn{background:var(--theme-color)!important;}.bilibili-player-video-panel-image-detail{filter:invert(70%)!important;}.home-wrap .home-input .content:focus,.search-wrap .search-block .input-wrap input,textarea:focus{outline:none!important;outline-offset:0!important;}.bangumi-list .synthetical .cardBangumibox .modal-box .lazy-img,.pgc-list .synthetical .cardPgcbox .modal-box .lazy-img{z-index:inherit!important;}.c-clink:hover,.bili-tab-item.on,.read-push:hover,.link-more:hover,.more-link:hover,a.read-more:hover,a.more:hover,.up-info .btn .b-cd:hover,.bi-btn,.day-span.day-enable.active,li.tag:hover,.bb-comment .comment-header .tabs-order li.on,textarea:focus,.comment-submit,.page-jump>input:focus,.paging-box-big .current,.paging-box-big .tcd-number:hover,.paging-box-big .next:hover,.float-nav .nav-menu .item:hover,.bilibili-player-video-btn-send,.bpui-button.bpui-button-type-small:hover,.bilibili-player-block-tabpanel-row.active-1 .bilibili-player-block-type-keyword,.bilibili-player-block-tabpanel-row.active-2 .bilibili-player-block-type-regex,.bilibili-player-block-tabpanel-row.active-3 .bilibili-player-block-type-user,.coin-operated-m .mc-box.on.coin-operated-m .mc-box:hover,a.s-btn:hover,.history-btn>.btn:hover,.history-wrap .time-label,.history-wrap .active:before,.history-wrap .time-label:after,.go-top,.tag-panel .more-button .more:hover::after,.comment-area .comm-main .comm-tabs >ul >li.active,.up-info .up-focus-btn,.card .focus-btn .unfocus:hover,.btn-box .like:hover,.live-panel .more-button .more:hover::after,.coin-operated-m .mc-box.on,.tab-list .tb-item.active,.up-info-holder .fixed-box .follow-btn-holder .follow-btn,.up-info-holder .fixed-box .follow-btn-holder .follow-btn:hover,.right-side-bar .to-comment:hover,.right-side-bar .to-top:hover,.btn-submit,.elevator-module .nav-list .item.on,.elevator-module .nav-list .item:hover,.elevator-module .back-top:hover,.multi-page .more-box li.on,input[type=text]:focus,.be-tab-cursor,.be-tab-cursor:after,.list-create:hover,.btn.primary,.wrapper .modal-body .choice-wrp.selected .elec-input,.wrapper .modal-body .choice-wrp.selected .battery,.be-pager-item-active,.top-title .concern,.bui-button.bui-button-transparent:hover,.bb-comment .stick,.bb-comment .stick.assist,.send-btn,.bl-button--primary,.report-con input[type=radio]:checked+label:before,.wrapper .modal-back:hover,.home-wrap .home-input .searchBtn,.suggest-wrap .horizontal .hz-text:hover,.filter-wrap .filter-item.active a,.live-wrap .live-tabs a.active,.base-bubble,.base-bubble .content-ctnr:before,.tag-container .tag-item .tag-border .tag-border-inner,.calendar-checkin .title .month:hover.cur-month:after,.calendar-checkin .title .month:hover.cur-month:before,.calendar-checkin .title .month:hover.last-month:after,.calendar-checkin .title .month:hover.last-month:before,.calendar-checkin .checkin-rewards .query:hover,.choice-item.active,.choice-item:hover,.count-choice .count-input:focus,.radio-icon.selected,.live-status-label{border-color:var(--theme-color)!important;}.num-wrap>span,.rank-item.highlight>.ri-num,p.on>span>a,.c-clink:hover,.sortable:hover,.read-push:hover,.link-more:hover,.dropdown-item:hover,.more-link:hover,a.more:hover,.dynamic-m .dyn_menu .line,a.read-more:hover,.bi-btn,.up-info .btn .b-cd:hover,.danmaku-info-report-btn:hover,.danmaku-info-block-btn:hover,.more-ops-list li:hover,.video-toolbar .share .share-pos .share-address ul li .btn,.btn-add:hover span,.tag-info-pane .tag-header .btn-subscribe:hover,.tag-info-pane .tag-footer .btn-left-box>a:hover,.btn-box .like:hover,.comment-submit,span.reply:hover,.bb-comment .hot-line a:hover,.follow-btn,.paging-box-big .tcd-number:hover,.paging-box-big .current,.paging-box-big .next:hover,a.btn-more:hover,.float-nav .nav-menu .item:hover,.bilibili-player-video-progress-buffer-range,.bpui-slider-progress,.bilibili-player-video-btn-send,.bilibili-player-setting-menu-list:hover,.opera-list li:hover,.bui-radio-input:checked+.bui-radio-label,.bui-thumb-dot,.bui-bar,.bpui-button.bpui-button-type-small:hover,.fontsize .selection-span.active,.bui-switch .bui-checkbox:checked+.bui-body,.bilibili-player-block-string-short-btn,.advanced-danmaku-group .adv-danmaku-btn-span:hover,a.s-btn:hover,.history-btn>.btn:hover,.history-wrap .time-label.active,.history-list .cover-contain .progress,.tab-bar .line,.go-top:hover,.dynamic-btn.pink,.sticky-bar .bar-content .send-button,.textarea-container .comm-tool .comm-submit,.new-notice-bar,.card .focus-btn .unfocus:hover,.right-side-bar .to-comment:hover,.right-side-bar .to-top:hover,.btn-submit,.elevator-module .nav-list .item.on,.elevator-module .nav-list .item:hover,.elevator-module .back-top:hover,.multi-page .more-box li.on,.n .n-cursor,.btn.primary,.elec .elec-trigger,.contribution-sidenav .contribution-item.cur,.be-pager-item-active,#page-channel-index .channel-option.no-channel .create-channel,.be-switch-container.is-checked .be-switch,#page-setting #setting-new-tag-btn,.top-title .concern,.bui-button.bui-button-transparent:hover,#page-fav .fav-sidenav .fav-item.cur,.wrapper .edit-video-modal .target-favlist .target-favitem.selected,.notify,.send-btn,.live-container .status,.video-container .types,.type-label,.follow-sidenav .follow-list-container .follow-item.cur,.bl-button--primary,.report-con label:after,.wrapper .elec-btn,.video-info .video-title .activity,.vote-btn-box .vote-btn,.submit-button,.home-wrap .home-input .searchBtn,.home-wrap .home-suggest .hot-search .item .num.special,.search-wrap .search-block .search-button,.nav-wrap .hover-bar,.filter-wrap .fold:hover,.pager .pages .page-item.active button,.pager .pages .page-item button:hover,.filter-wrap .filter-item.active,.user-list .up-item .attention-btn,.synthetical .play-btn:hover,.collection-m .bottom .btn,.area-link:active,.tab-candidate>span:after,.hour-rank,.attention-btn-ctnr .left-part,.gift-item .corner-mark,.gift-package,.rank.rank-1,.rank.rank-2,.rank.rank-3,.user-panel .level-progress .progress-bar,.user-panel-ctnr .user-avatar.active::before,.process-bar .process-receive,.btn-send,.count-choice .send-button,.yan-item:active,.dyn_list span.sp,.radio-icon:after,.bl-switch-checked,.close-icon,.blpui-slider-span.slider-span-active:after,.blpui-slider-span>span,.blpui-slider-container .slider-process,.blpui-slider-container .slider-handle,.text-con .title i,.fjw-point .focus-btn,.cases-wrap .fjw-user .b-right button,#app .submit .confirm{background-color:var(--theme-color)!important;}p.t:hover,p.ri-title:hover,div.r-text>.t:hover,a.name:hover,div.bili-tab-item:hover,ul.nav-menu>li:hover,div.spread-module:hover,.bili-tab-item.on,.bili-footer a:hover,a.pic>p.title:hover,a.bbs,div.brief>a>span:hover,div.all>a>span:hover,.live-box .title,.bili-header-m .bubble-traditional .recommand .title,a.help-link,.member-menu a:hover,a.logout:hover,a.im-list:hover,.dynamic-m .dyn_menu li.on,div.info>a,.bili-header-m .mini-wnd-nav a:hover,.bilibili-player-danmaku-btn-history.bpui-state-hover,.day-span.day-enable.active,.day-span.day-enable:hover,.video-toolbar .ops .app .app-look .foot-txt a,.video-toolbar .ops>span.on,li.tag>a:hover,.video-desc .btn span:hover,.tag-info-pane .tag-header .btn-unsubscribe:hover,div.title a:hover,span.current,a.tcd-number:hover,.bb-comment .comment-header .tabs-order li:hover,.bb-comment .comment-header .tabs-order li.on,.bb-comment .comment-list .list-item .info .plad a:hover,a.more-hot,a.btn-more,.bpui-selectmenu-list-row[data-selected],.bui-checkbox:hover .bui-checkbox-name,.bilibili-player-block-filter-type.disabled .bilibili-player-block-filter-label,.bilibili-player-block-filter-type:hover .bilibili-player-block-filter-label,.bilibili-player-block-filter-type.disabled .bp-icon,.bilibili-player-block-filter-type:hover .bp-icon,.bilibili-player-video-danmaku-setting-left-more:hover .bilibili-player-video-danmaku-setting-left-more-text,.bilibili-player-video-danmaku-setting-left-more:hover,.bilibili-player-video-danmaku-setting-left-more:hover i,.bilibili-player-video-danmaku-setting-right-more:hover,.bilibili-player-video-danmaku-setting-right-more:hover i,.mode .selection-span.active,.mode .selection-span:hover,.bilibili-player-block-tabpanel-row.active-1 .bilibili-player-block-type-keyword,.bilibili-player-block-tabpanel-row.active-2 .bilibili-player-block-type-regex,.bilibili-player-block-tabpanel-row.active-3 .bilibili-player-block-type-user,.bilibili-player-block-line-state,.bilibili-player-block-line-delete:hover,.bilibili-player-block-tabpanel-row>div:hover,.multi-page .cur-list li.on i,.collection-m .content .group-list li:hover,.coin-operated-m .coin-title span,.follow-dialog-window .content .info .uname,.watch-later-list .list-box .av-item .av-about .t:hover,.tc-blue,.history-list .r-info .title:hover,.history-list .r-info .w-info .username:hover,.history-wrap .time-label,.user-name:hover,.time .detail-link:hover,.more-button:hover,.boost-control li:hover,.boost-control li:hover i,.tab-text:hover,.tab-text.selected,.tag-panel .tag-list a,.box-toggle:hover,.box-toggle:focus,.box-toggle.active,.expand-btn,.dynamic-link-hover-bg,.tag-panel .more-button .more:hover,.sticky-bar .bar-content .title:hover,.comment-area .comm-main .comm-tabs >ul >li.active,.comment-area .comm-more a.more:hover,.bangumi-container .text-area .title:hover,.tc-blue-hover,.live-panel .more-button .more:hover,a.up-name:hover,.up-info-holder .fixed-box .more .help .title:hover,.up-info-holder .fixed-box .more .link .title:hover,.song-list .song-li:hover .content .text a,.multi-page .head-con .range-box .paging li.on,.multi-page .head-con .range-box i:hover,.multi-page .more-box li:hover,.n .n-btn:hover,.n .n-fs:hover p,.n .n-gz:hover p,.be-tab-item.is-active,.sec-empty-hint a,.large-item .title:hover,.small-item .title:hover,.i-m-title:hover,.i-live .i-live-link:hover,.wrapper .modal-header .u-name,.wrapper .modal-body .choice-wrp.selected .battery-desp,.wrapper .elec-sub-title .up-name,.bb-comment a,.multi-page .cur-list li a:hover,.section-title .t:hover,.section .operation:hover,#page-index .channel.guest .channel-item .channel-title .channel-name:hover,.small-item.disabled .title:hover,#page-index .album .content .album-wrapper .album-item .album-title:hover,.i-live .i-live-off-guest a,#id-card .idc-uname:hover,.breadcrumb .item:hover,#page-video #submit-video-type-filter a.active,.be-pager-item:hover a,.be-pager-next:hover a,.be-pager-prev:hover a,.contribution-sidenav .contribution-item a:hover,.my-album .tab-list .tab.active .name,.album-card .title:hover,.tabs a:hover,#page-subs .detail a:hover,#page-subs .action .sub-action,#page-channel-index .no-channel-container em,.bui-switch .bui-checkbox:checked+.bui-body .bui-dot,.bilibili-player-video-danmaku-setting-left-block .bilibili-player-video-danmaku-setting-left-block-content .bilibili-player-block-filter-type.disabled .bilibili-player-block-filter-label,.bui-select.bui-select-quality-menu .bui-select-item.bui-select-item-active,.bb-comment .stick,.bb-comment .stick.assist,.article-holder a,#page-fav .fav-main .filter-item .text:hover,#page-fav .fav-main .filter-item .filter-type .be-dropdown-item:hover i,#page-fav .fav-main .filter-item .filter-type .be-dropdown-item:hover span,.modal-wrapper .modal-header-close:hover,#page-fav .fav-main .search-types:hover,.list .item.active:before,.list .item.active a,.list .item:hover a,.list .item:hover:before,.bottom .link,.action-menu .menu-list a:hover,.article-title a:hover,#page-follows .follow-main .follow-action-bottom .select-cancel,.wrapper .modal-body .elec-pay .elec-coin,.wrapper .modal-body .elec-pay .elec-count,.wrapper .modal-body .elec-pay .elec-exp,.wrapper .modal-body .elec-protocol a:hover,.wrapper .modal-body .pay-info .balance,.wrapper .modal-body .pay-info .pay-tip .em-text,.wrapper .modal-back,.bilibili-player-video-toast-item-jump,.video-toolbar .share-btn:hover,.video-toolbar .share-btn:hover i,.bilibili-player-video-danmaku-setting:hover,.bilibili-player-video-toast-item-close:hover i,.joined-number,.suggest-wrap .horizontal .hz-text:hover,.clearall a,.nav-wrap .wrap>.sub.active,.nav-wrap .wrap>.sub:hover,.filter-wrap .filter-item a:hover,.keyword,.suggest-wrap .keyword-wrap .keyword .suggest_high_light,.live-wrap .live-tabs a.active,.live-wrap .live-tabs a:hover,.user-list .up-item .up-videos .video-item .video-desc:hover,.user-list .up-item .up-videos .video-more,.live-wrap .live-room .headline .filter a.active,.live-wrap .live-room .headline .filter a:hover,.card-live-module .num,.live-module .zone-title .headline .fire:hover,.special-module .user a:hover,.be-dropdown-item a:hover,.list-item a.title:hover,.follow-sidenav .text:hover,.tab-candidate.active,.tab-candidate:hover,.room-introduction-tags .room-introduction-tag:hover .icon-label,.room-introduction-tags .room-introduction-tag:hover,.room-introduction-tags .room-introduction-tag a:hover,.area-link:hover,.room-owner-username:hover,.right-action-ctnr:hover,.seeds-wrap>.item.btn,.guard-rank-cntr .rank-cntr .rank-list-box a:hover,.chat-item.danmaku-item .danmaku-content:hover,.guard-rank-cntr .rank-cntr .btn-box .buy,.clock-time,.tag-container .tag-item:hover .tag-content,.user-panel .user-level,.calendar-checkin .title .month:hover,.calendar-checkin .checkin-rewards .query:hover,.calendar-checkin .checkin-btn:hover,.download-panel-ctnr .download-item:hover,.info-ctnr .time .blue,.content-ctnr .activity-item-ctnr:hover .username.f-left,.load-more-btn:hover,.user-panel .ctrl-btn.colored,.user-panel .ctrl-btn:hover,.load-error-panel .request-link,.user-panel .logout-btn:active,.user-panel .logout-btn:hover,.user-level-detail .detail-link:hover,.user-level-detail .detail-link:active,.wish-box-cntr .title,.welcome-msg .close-vip-hint,.bili-link,.awarding-panel .info-section .slide-btn:hover,.box-slide-item.box-open,.box-slide-item.in-countdown,.captcha-widget .refresh-captcha:hover,.awarding-panel .countdown-text .with-color,.choice-item.active,.choice-item:hover,.control-panel-icon-row .icon-item.active,.control-panel-icon-row .icon-item:hover,.yan-item:hover,.section-title,.player-setting-ctnr .title,.block-setting-ctnr .title,.block-user-type.active .user-type-hint,.awarding-panel .title,.live-status-label,.blpui-btn.icon-btn:hover>i,.blpui-btn.text-btn.active,.blpui-btn.text-btn:hover,.chat-history-panel .penury-gift-msg .penury-gift-item .username,.minimal-control-panel .control-btn .btn-icon:hover,.ban-detail .content-box .link-box .box-right a,.video-toolbar .ops>span.on,.video-toolbar .ops>span.on>i,.video-toolbar .ops>span:hover,.video-toolbar .ops>span:hover>i,.app-watch .app-look .foot-txt a,#app .header .close:hover{color:var(--theme-color)!important;}.sortable:hover,.read-push:hover,.link-more:hover,.num-wrap>span,.dropdown-item:hover,.more-link:hover,a.more:hover,div.title a.more:hover,.dynamic-m .dyn_menu li,.bili-header-m .mini-wnd-nav a:hover,.up-info .btn .b-cd:hover,.danmaku-info-report-btn:hover,.danmaku-info-block-btn:hover,.more-ops-list li:hover,.tag-info-pane .tag-header .btn-subscribe:hover,.tag-info-pane .tag-footer .btn-left-box>a:hover,.btn-box .like:hover,.comment-submit,span.reply:hover,.bb-comment .hot-line a:hover,.follow-btn,.paging-box-big .tcd-number:hover,.paging-box-big .next:hover,.paging-box-big .current,a.btn-more:hover,.float-nav .nav-menu .item:hover,.bilibili-player-video-btn-send,.bilibili-player-setting-menu-list:hover,.opera-list li:hover,.bui-radio-input:checked+.bui-radio-label .bui-radio-text,.bpui-button.bpui-button-type-small:hover,.fontsize .selection-span.active,.bilibili-player-block-string-short-btn,.advanced-danmaku-group .adv-danmaku-btn-span:hover,a.s-btn:hover,.history-btn>.btn:hover,.history-wrap .time-label.active,.dynamic-btn.pink,.sticky-bar .bar-content .send-button,.up-info .up-focus-btn,.textarea-container .comm-tool .comm-submit,.new-notice-bar .message,.card .focus-btn .unfocus .unfocus-text:hover,.article-container:hover .text-area .title,.tab-list .tb-item.active,.btn-submit,.multi-page .more-box li.on,.btn.primary,.contribution-item.cur a,.be-pager-item-active a,.contribution-sidenav .contribution-item.cur .text:hover,.be-pager-item.be-pager-item-active:hover a,.top-title .concern,.bui-button.bui-button-transparent:hover,.bb-comment .comment-list .quote,.send-btn,.live-container .status,.video-container .types,.type-label,.section-right-options .operation:hover,.follow-sidenav .follow-list-container .follow-item.cur .num,.follow-sidenav .follow-list-container .follow-item.cur .text,.follow-sidenav .follow-list-container .follow-item.cur,#page-setting #setting-new-tag-btn,.bl-button--primary,.wrapper .elec-btn,.video-info .video-title .activity,.vote-btn-box .vote-btn,.submit-button,.home-wrap .home-input .searchBtn,.home-wrap .home-suggest .hot-search .item .num.special,.search-wrap .search-block .search-button,.filter-wrap .filter-item.active a,.filter-wrap .fold:hover,.pager .pages .page-item.active button,.pager .pages .page-item button:hover,.filter-wrap .filter-item.active,.user-list .up-item .attention-btn,.synthetical .play-btn:hover,.collection-m .bottom .btn,.area-link:active,.hour-rank .hour-rank-content,.attention-btn-ctnr .left-part,.gift-item .corner-mark,.gift-package,.gift-package>span,.rank.rank-1,.rank.rank-2,.rank.rank-3,.calendar .day-item.checked,.btn-send,.count-choice .send-button,.yan-item:active,.dyn_list span.sp,.fjw-point .focus-btn,.cases-wrap .fjw-user .b-right button,#app .submit .confirm{color:var(--foreground-color)!important;}.bui-checkbox .bui-checkbox-input:checked+.bui-checkbox-label .bui-checkbox-icon svg,.bui-checkbox:hover .bui-checkbox-icon svg,.bui-switch .bui-checkbox:checked+.bui-body .bui-dot,.bilibili-player-block-filter-type:hover .bilibili-player-block-filter-image,.bilibili-player-video-danmaku-setting-left-block .bilibili-player-video-danmaku-setting-left-block-content .bilibili-player-block-filter-type.disabled .bilibili-player-block-filter-image,.bilibili-player-mode-selection-container .bilibili-player-mode-selection-panel .bilibili-player-mode-selection-row.mode .selection-span.active,.bilibili-player-mode-selection-container .bilibili-player-mode-selection-panel .bilibili-player-mode-selection-row.mode .selection-span.active:hover,.bilibili-player-mode-selection-container .bilibili-player-mode-selection-panel .bilibili-player-mode-selection-row.mode .selection-span:hover,#page-follows .follow-main .follow-action-top .back-to-info:hover,.bilibili-player-video-danmaku-setting:hover,.bilibili-player-video-sendbar .bilibili-player-video-btn:hover{fill:var(--theme-color)!important;}.gui-settings-close path{fill:#eee;}.history-wrap .active:before,.history-wrap .time-label:after,.history-list .l-info .lastplay-time .history-red-round{border-top-color:transparent!important;border-bottom-color:transparent!important;}.tag-panel .more-button .more::after.tag-panel .more-button .more:hover::after{border-top-color:transparent!important;border-right-color:transparent!important;}.bili-tab-item:before,.dynamic-m .dyn_menu .line:before,.be-tab-cursor:after{border-color:var(--theme-color)!important;}.bili-tab-item:before,.dynamic-m .dyn_menu .line:before,.be-tab-cursor:after,.common-popup-wrap .arrow{border-left-color:transparent!important;border-right-color:transparent!important;}.chat-history-panel .chat-history-list::-webkit-scrollbar-track,.multi-page .cur-list ul::-webkit-scrollbar-track{background:#444!important;}.chat-history-panel .chat-history-list::-webkit-scrollbar-thumb,.multi-page .cur-list ul::-webkit-scrollbar-thumb{background:#222!important;}.chat-history-panel .chat-history-list::-webkit-scrollbar-thumb:hover,.multi-page .cur-list ul::-webkit-scrollbar-thumb:hover{background:#333!important;}::-webkit-scrollbar-thumb,::-webkit-resizer{background:#444!important;}::-webkit-scrollbar-thumb:hover{background:#555!important;}.recom-wrap .no-result,.side-bar-popup-cntr,.link-popup-panel,.timeline-header,.timeline-wrapper,.tl-head .tl-day,li.season-item .season-body .season-title span.follow,.season-timer .current-timer:before,.bili-header-m .i_menu_login,.slot-ctnr .panel,.news-list .news-item:hover,.publish-panel .publish-list .publish-item:hover,#canvas-detail-comment-ctnr,.comment-ctnr,.bili-header-m .nav-menu .nav-con .nav-item .bml-box,.danmaku-menu,.bilibili-player-context-menu-container.black,.bilibili-player-contextmenu-subwrapp > span.hover,.tab-box .item.active::after,.tab-box .item.active::before,.guard-desc-box,.buy-info-box,.media-tab-wrp,.live-module .tab-box,.media-tab-nav,.misl-ep-item,.bangumi-review-item,.sort-type-wrp ul,.slide-item-wrp .slide-item-img,.pagelistbox .p,.sponsor-rank-item.special .sp-right .sp-msg,.player-auxiliary-danmaku-date-picker-container,.player-auxiliary-setting-menu-wrap .player-auxiliary-setting-menu-list:hover,.player-auxiliary-block-tabpanel-row.player-auxiliary-border,.player-auxiliary-block-list .player-auxiliary-block-line,.player-auxiliary-context-menu-container,.player-auxiliary-modal-container,.gui-settings-box li.category,.main-container .player-wrapper,.big-gift-btn-home,.h-safe-nobtn,.home-top-level-mask-warp,.home-top-level-up,.re-exp-getexp,.big-more-item-item,.big-more-item-list,.first-change-lb,.btn-confirm.disabled,.first-change-lb:hover,.go-movie,.viptable tr th,.viptable tr:nth-child(odd) td,.viptable tr:nth-child(2n) td,.el-input__inner,.user-my-sex .el-radio-button__inner,.el-picker-panel,.face-g-action,.bpui-selectmenu.selectmenu-mode-absolute .bpui-selectmenu-list-row,.face-g-item-inner,.face-g-list[id=face-g-log] td,.face-g-list[id=face-g-log] th,.face-g-list .mp-block .right ul li .strip,.wear-list li,.hold-list,.comment-wrap,.emoji-box,.emoji-box .emoji-tabs,.table-normal tbody tr:nth-child(odd),.coin-record .table-normal tbody tr:nth-child(odd),.identmagTop,.get-coin-more,.identmagBot,.el-picker-panel [slot=sidebar],.el-picker-panel__sidebar,.el-select-dropdown,.cc-nav-wrp,.nav-upload-container,.bilibili-player-danmaku-setting-lite-panel .bilibili-player-danmaku-setting-lite,.audioplayer,.log-empty,.follow-container .follow-right .follow-intro .follow-fold,.link-top-container,.audios-wrap #audios-box,.link-top-container,.ui-btn.grey-radius,.sponsor-rank-item.simple .sp-msg,.sponsor-pay-dialog-v2 .sp-pay-index .sponsor-btn-primary.disabled,.timer-wrap .quit,a.bp_box_bot_click,.bangumi-collection-card .bangumi-funcs .btn-unfollow li,.bangumi-collection-card .bangumi-funcs .btn-unfollow,.section .count,.progress-bar-ctnr .bar-body,.user-info > .tag-flag,.result.is-web,.has-prize,.selector-wrapper .more-type-wrapper,.word-limit-h5 textarea{background-color:#222!important;}.progress-bar-body,.more-btn-cntr,.timer-wrap,.fjw-random,.slot-ctnr .panel li:hover,.user-panel-ctnr .exit-btn,.news-notice-panel,.news-list .news-item,.article-content-ctnr,.works-ctnr,.author-info,.dashboard,.sidebar-canvas,.paging-box-big .next,.paging-box-big .prev,.bilibili-player-ending-panel-box-functions .bui-button.bui-button-disabled,.bilibili-player-context-menu-container.black ul > li.hover,.bilibili-player-context-menu-container.black ul > li a:hover,.intimacy-bar,.tab-box,.live-module .tab-item .r-item .number,.fav-main .fav-action-bottom .fav-action-fixtop,.media-tab-detail-wrp .media-tab-detail,.media-tab-detail-wrp .media-tab-detail-l,#page-fav .fav-main .fav-video-list.is-batch .small-item.selected,#page-fav .fav-main .fav-video-list.is-batch .small-item:hover,.sort-type-wrp ul li:hover,.media-tab-module-content .spread-module .num,.media-info-card,.review-feed-wrapper,.season-slider-wrapper .slider-wrapper .season-slider-list li:after,.project-list .project-list-item,.ban-app .case-tip,.groom-module,.player-auxiliary-danmaku-function,.player-auxiliary-danmaku-function [class*=player-auxiliary-danmaku-btn-],.danmaku-wrap .player-auxiliary-auxiliary-area .player-auxiliary-danmaku-wrap,.bui-button.bui-button-gray2,.player-auxiliary-setting-menu-wrap .player-auxiliary-setting-menu-list,.player-auxiliary-setting-menu-wrap,.player-auxiliary-collapse .player-auxiliary-wraplist,.player-auxiliary-block-string,.player-auxiliary-block-string-short,.bui-button.bui-button-gray,.player-auxiliary-block-list .player-auxiliary-block-line.block-state-selected,.player-auxiliary-block-list .player-auxiliary-block-line:hover,.player-auxiliary-modal-btns .bpm-btn,.player-auxiliary-auxiliary-area .player-auxiliary-adv-danmaku,.player-auxiliary-auxiliary-area .player-auxiliary-setting,.btn-pay-wrapper.is-vip a,.bangumi-info .info-right .info-title .func-module .bangumi-btn .btn-follow.followed,.episode-item,.bangumi-list-wrapper .bottom-block .slider-contro span,.bilibili-player .bilibili-player-auxiliary-area .bilibili-player-info,.bangumi-player.mini-player .mini-player-move,.selector-wrapper,.selector-wrapper .wrapper,#announcement-area .popular-section-ctnr,#announcement-area .news-ctnr,#announcement-area .rank-ctnr,.announcement-cntr,.security-right,.security_content,.side-bar,.favourite-card,.container,.security-list:hover,.security-list-jump:hover,.big-more-item-item:hover .big-more-item-txt,.bgray-btn,.bilibili-player .bilibili-player-auxiliary-area .bilibili-player-recommend,.bangumi-nav-right .nav-goto-top,.bangumi-nav-right .nav-mini-switch,.share-module .share-list .weixin-share-modal,.dialog .content-outer,.timer-wrap .vote-dialog-new .footer .b-disable,.cm-model,.info-model .border-b,.video-model .border-b,.info-model header,.video-model header,.bangumi-player.mini-player .mini-player-move span,.bangumi-player.mini-player .mini-player-move i,.bilibili-player .bilibili-player-panel,.bilibili-player .bilibili-player-panel-title,.medal-progress,.info-model,.btn-disabled,.coin-inner,.table-normal thead tr td,.invtable tr th,.section-item,.side-utils .utils-box,.bili-btn.plain,.footer-content .qrcode-wrp,.confirm-content,.follow-container .follow-right .unfollow-btn,.contri-condition .contri-search,.contri-condition .contri-sort .contri-sort-type,.bili-btn.ok,.danmu-container,.danmu-container .empty-danmu:hover,.ui-input,.ui-calendar .calendar-wrap .flatpickr-calendar.static,.ui-calendar .main-wrap .shortmenus,.ui-calendar .main-wrap,.sponsor-rank-dialog .sp-rank-body,.sponsor-rank-dialog .sponsor-rank-content .sp-rank-header .sp-list-nav,.sponsor-pay-dialog-v2 .sp-pay-index,.bilibili-player-block-filter-image .bilibili-player-block-filter-disabled,.bilibili-player-block-filter-image .bilibili-player-block-filter-disabled,.cc-nav-wrp .down-link:hover,.ui-checkbox input[type=checkbox]:disabled + .ui-checkbox-icon,.charge-participate,#article-list-index,#bp_user_box,.bb_box,.bp_box,.b-info,.bb-intro-top,.tag-list li.tag-item,.pager .jump-pager input[type=text],.tabnav,.toolbar-wrapper,.timeline-box .timeline-item .item-right p.num a,.timeline-box .timeline-item .item-right p.num span,.new-stat-module .zone-title .headline .new-stat-more,.pgc-rank-dropdown,.block-area .timeline-title .headline .timeline-more{background-color:#444!important;}.player-auxiliary-auxiliary-area .mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.player-auxiliary-auxiliary-area .mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#555!important;}.tl-head .tl-day .indicator,.season-timeline .season-group .group-time:before,.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar:hover,.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar:hover,.border-line,.count-wrapper div.danmu-count:after{background-color:#aaa!important;}.sponsor-rank-item.normal .sp-left .face-wrap,.coin-nav .on{background-image:none!important;}.bui-slider .bui-track.bui-track-video-progress .bui-bar-wrap{background-color:#2224!important;}.disabled-cover{background-color:#2229!important;}.mask::after{background-color:hsla(0,0%,0%,.7)!important;}.news-list .news-item .date,.empty-hint,.article-content-ctnr > hr,.author-info .communicate-btn,.bui-select.bui-select-quality-menu .bui-select-border,.chief-recommend-module .carousel-box .carousel-module .panel .trig span.on,.player-auxiliary-auxiliary-area .player-auxiliary-filter,.player-auxiliary-auxiliary-area,.player-auxiliary-adv-danmaku,.container .host-list-layout .hot-list-wrap .bg-wrap .hot-list-mask,.live-sidebar-ctnr,.line-circle,.security-list .child-list li a:hover,.f-list-hover:hover,.bilibili-player-block-tabpanel-row.active-1 .bilibili-player-block-type-keyword,.bilibili-player-block-tabpanel-row.active-2 .bilibili-player-block-type-user,.bilibili-player-auxiliary-area .bilibili-player-info .bilibili-player-setting-btn:hover,.bilibili-player-auxiliary-area .bilibili-player-info .bilibili-player-setting-menu:hover,.bilibili-player-area .bilibili-player-video-control .bilibili-player-video-btn:hover,.bilibili-player-area .bilibili-player-video-control .bilibili-player-video-btn.bilibili-player-video-btn-fullscreen .bilibili-player-video-web-fullscreen,.bilibili-player-video-sendbar .bilibili-player-video-btn:hover,.bilibili-player-video-sendbar .bilibili-player-video-btn > i,.nav-upload-container .nav-upload-item:hover,.contri-condition .contri-sort .contri-sort-type li:hover,.share-module,.sponsor-rank-item.simple .sp-rank i,.prize-winner-block,.bilibili-player-video-control{background-color:transparent!important;}.fav-main .fav-action-top .back-to-info,.cc-nav-wrp .nav-cut-off-line,.section .count:before,.tag-more .b-toggle-btn,.no-data,.block-area .timeline-toggle-block .timeline-toggle-btn{background:transparent!important;}.introduction-text,.vote-percentage,.bread-crumb ul li a,.sub-nav-m ul li a,.up-info .up-info-tip,.bili-header-m .i_menu_login .reg,.live-ctn .live-attch .host,.dynamic-m .title span:not(.sp),.history-tag,.no-data,.bilibili-player-ending-panel-box-functions .bui-button.bui-button-disabled,.paging-box-big .page-jump,.coin-operated-m .coin-bottom .tips,.select-month .tip,.act-info,.i-live .i-live-off-guest,.live-module .tab-item .r-item .r-i-t .u-online,.live-module .tab-item .r-item .r-i-st,.season-timeline .season-group.is-published .group-time,.season-timeline .season-group .group-time,.fav-main .fav-action-bottom .select-counter,.misl-ep-item .misl-ep-text .misl-ep-title,.bangumi-media .bangumi-media-header .btn-more-review,.bangumi-review-item .item-header .author-name,.bangumi-review-item .item-header .media-name,.icon-star:not(.icon-star-light)::before,.bangumi-review-item .review-content.long,.sort-type-wrp div i,.sort-type-wrp div,.media-tab-module-wrp .media-tab-module-more,.media-info-card .mic-expand,.count-wrapper div,.info-second span,.info-second .info-sec-av,.media-tab-module-wrp .media-tab-module-write.type-btn,.review-list-wrp li .review-author-info div.review-author-name,.review-list-wrp li .review-author-info div.review-author-time,.review-list-wrp li .review-data div,.review-list-wrp li .review-data div .icon-zan::before,.review-list-wrp li .review-contro div,.review-feed-wrapper .feed-header span,.review-feed-wrapper .feed-header span .icon-refresh::before,.review-feed-item .feed-left .review-about,.review-feed-item .feed-left .review-about .author-info,.review-feed-item .feed-left .review-about .media-title,.review-feed-item .feed-right .likes,.pagelistbox .p,.pagelistbox strong,.sponsor-rank-item.normal .sp-left .sp-rank,.media-sponsor-wrapper .sponsor-rank-header .show-sponsor-rank,.media-sponsor-wrapper .sponsor-right-area .sponsor-count-info,.wrapper .modal-body .pay-info-wrp,.rank-list-container .title,.player-auxiliary-auxiliary-area .player-auxiliary-filter-menu,.player-auxiliary-danmaku-function [class*=player-auxiliary-danmaku-btn-],.player-auxiliary-danmaku-date-picker-header .player-auxiliary-danmaku-date-picker-btn,.player-auxiliary-danmaku-date-picker-header,.player-auxiliary-danmaku-load-status.disabled,.player-auxiliary-block-list-function > div,.player-auxiliary-block-list-wrap .player-auxiliary-block-empty,.player-auxiliary-block-line.block-state-disabled,.player-auxiliary-block-list .player-auxiliary-block-line-delete,.player-auxiliary-block-list .player-auxiliary-block-line-sync,.bilibili-player .bilibili-player-auxiliary-area .bilibili-player-info .bilibili-player-watching .bilibili-player-watching-number,.recom-item a .recom-info .info-title,.modal-head a,.first-change-lb span,.descript,.pre-info,.security-title,.h-safe-desc,.re-exp-none,.h-list-desc,.gotoSpace,.big-nane-bottom p,.member-list-item-subtext,.big-game-gift-money,.big-more-tool-item,.bgray-btn,.bilibili-player-recommend-right .bilibili-player-recommend-click,.bilibili-player-recommend-right .bilibili-player-recommend-danmaku,.bilibili-player-recommend-right .bilibili-player-recommend-scores,.bilibili-player-recommend-right .bilibili-player-recommend-stow,.bilibili-player-filter .bilibili-player-filter-btn > span,.points-faq-line body,.points-text,.el-input__icon,.el-date-table th,.el-picker-panel__icon-btn,.season-item,.bangumi-nav-right .nav-mini-switch,.share-module .share-list li.share-btn.btn-app,.sponsor-rank-v1 .sponsor-rank-header .show-sponsor-rank,.timer-wrap .vote-dialog-new .header h2,.timer-wrap .vote-dialog-new .main h4,.timer-wrap .vote-dialog-new .main .main-txt-2,.tab-btn-link,.bilibili-player-auxiliary-area .bilibili-player-info .bilibili-player-setting-btn:hover,.bilibili-player-auxiliary-area .bilibili-player-info .bilibili-player-setting-menu:hover,.bilibili-player-panel .bilibili-player-panel-content .bilibili-player-panel-label,.face-g-expire-at,.face-g-list .mp-block .left .mp-info label,.face-g-list .mp-block .right ul li.base .tips,.face-g-list .mp-block .right ul li p.reach-tips,.fans-number,.bb-comment .no-more-reply,.bilibili-player-video-control .bilibili-player-video-btn,.bangumi-review-item .item-header .pub-time,.bangumi-media .bangumi-media-header .rate-wrapper .rate-info .info-wrapper,.recom-item a .recom-info .info-count > div span,.history-list .r-info .subtitle,.history-list .r-info .history-mark,.rank-list .rank-item .ri-detail .ri-point,.bilibili-player-video-sendbar .bilibili-player-video-inputbar .bilibili-player-video-hint a,.bilibili-player-video-sendbar .bilibili-player-video-btn,.nav-list li .list-description p,.no-data-txt,.coin-text-p,.identmagBot span,.main-content-title span.i,.record-group,.record-login-descript,.table-normal thead tr td,.coin-left-nodata,.m-tips,.record-exp-title .i,.btn-delete,.el-select-dropdown__item,.invitation-normal,.inv-record-right,.notice-card .notice-list .notice-item .notice-title,.income-card .income-box .empty-data p,.income-card .income-box .empty-data span,.data-card .data-box .tip p,.data-card .fans-box .tip p,.cc-nav-wrp .nav-item i:first-child,.footer-content .menu-item,.data-card .data-box .total,.data-card .fans-box .total,.modal-wrapper .modal-body,.follow-container .follow-right .follow-intro .follow-content,.follow-container .follow-right .follow-num,.hotsong-li .hotsong-upname,.song-lrc,.song-li .song-right .song-playnum,.song-type,.song-time,.song-play-num,.song-info .song-info-content .song-info-theme,.font24,.share-board .song-share div,.hotsong-li .font24,.song-content,.b-head-string,.results,.bread-crumbs a,.bread-crumbs,.log-empty p,.compila-not-find .compila-not-find-tips,.contri-not-find .contri-not-find-tips,.contri-condition .contri-right i,.contri-condition .contri-sort,.medal header p,.medal .medal-form .section .mini,.medal .medal-form .page-tip,.empty-wrp .text,.ui-serch .run-serch,.container .song-list .song-li .content .num,.container .host-list-layout .hot-list-wrap .show-more-song,.container .host-list-layout .hot-list-wrap .hot-song-list .song-info .song-num,.container .host-list-layout .hot-list-wrap .hot-song-list .song-info .song-content .iconfont,.container .musician-recommend .recommend-item .recommend-info .recommend-text,.audioplayer .ap-playlist .ap-playlist-header .ap-playlist-amount,.sponsor-rank-item.simple .sp-msg,.sponsor-pay-dialog-v2 .sp-pay-index .sponsor-hint .sponsor-point,.bilibili-player-video-sendbar .bilibili-player-video-inputbar .bilibili-player-video-hint,.episode-item .ep-title,.bilibili-player-block-filter-function .bilibili-player-block-filter-image .bilibili-player-block-filter-disabled,.bilibili-player-block-filter-type .bilibili-player-block-filter-image .bilibili-player-block-filter-disabled,.timer-wrap .canvas-wrap .canvas-title,.fjw-case-detail .ban-detail .content-box .jury-status .status-left .voted .graph .txt,.cm-model .report-detail .child-comment .child-list .detail .report-cnt .rep-name,.cm-model .report-detail .detail .date,.cm-model .report-detail .more-list,.data-card .data-box .tab .fan-tab,.data-card .fans-box .tab .fan-tab,.notice-card .notice-list .notice-item .notice-time,.cc-nav-wrp .nav-item i:last-child,.cc-nav-wrp .down-link .version,.dc-section .section-tip,.dc-section-item_title_name small,.normal-empty,.growup-participate .status_box .limited,.announce li span,.announce h3.title span,.announce h3.title span .fontvt,.ui-checkbox input[type=checkbox]:disabled + .ui-checkbox-icon,.charge-participate .benefit-item .long-desc,.title-container .info span,.bp-user-box .bp-user-box-bb,.bp-user-box .bp-user-box-bk,.bp-user-box-bottom p,.b-info .info-tip,.b-info .balance-footer,.bb-intro-top .b-question .b-question-title,.bangumi-collection-wrapper .bangumi-collection-count,.bangumi-collection-card .bangumi-info .type-and-area,.bangumi-collection-card .bangumi-info .bangumi-state,.bangumi-collection-card .bangumi-info .watch-state,.be-input-word-counter,#page-index .fav-item .state,.section .count,.tag-list-wrp .title .small,.mod-2 li .r .up-info .v-author,.mod-2 li .r .v-info .v-info-i,.mod-1 .r .v-desc,.mod-1 .r .up-info .v-date,.mod-1 .r .up-info .v-author,.mod-1 .r .v-info .v-info-i,.mod-3 .r .v-info .v-info-i,.mod-3 .r .up-info .v-author,.bilibili-player-mode-selection-container .bilibili-player-mode-selection-panel .bilibili-player-mode-selection-row .row-selection .selection-span .selection-icon,.user-box,.user-box .grade-dec,.tabnav-item,.user-info > .user-uid,.user-name,.backdrop .title-box .close-button,.footer a,.pagination-wrapper .pagination .pageNum,.selector-wrapper .city-list,.selector-wrapper .order-list,.selector-wrapper .type-list,.selector-wrapper .more-type-wrapper,.selector-wrapper .more-type-list .more-type-item,.bangumi-home-crumb .fcname ul.n_num li a,.bangumi-home-crumb .fcname ul.n_num li,.pgc-rank-list .rank-item .ri-detail .ri-point{color:#aaa!important;}.section-title > a.t,.section > .section-title,.link-popup-panel,.more-btn-text,.chat-history-panel .gift-item .gift-count,.chat-history-panel .hover-panel > span,.is-max .vote-percentage,.tl-head .tl-day.today span,li.season-item .season-body .season-title,.channel-m,.hot-box li .txt,.bili-header-m .i_menu_login .tip,.user-info-name,.slot-ctnr a,.user-panel-ctnr .exit-btn,.more:hover .text,.more .icon-font,.empty-hint .hint-text,.live-ctn .live-attch .title,button.button.more,.dashboard li .text,.dashboard li.collection .text,.dashboard li.share .text,.room-list .list-item .uname,.chat-history-panel .chat-item,.paging-box-big .next,.paging-box-big .prev,.tab-box .item.active,.tab-box .item,.tab-box .item .title,.tab-box .item .desc,.buy-info-box .left-part,.bilibili-player-ending-panel-box-functions .bilibili-player-upinfo-electric.little,.pk-rank.side-bar-icon + .size-bar-text,.gui-settings-button:not(.save),.live-module .tab-item .r-item .r-i-t .u-name,.bb-comment .nameplate .nameplate-card .nameplate-text,.fav-main .fav-action-top .back-to-info,.fav-main .fav-action-bottom li,.fav-main .fav-action-bottom ul.filter-disable li:hover,.media-tab-nav ul li,.media-tab-module-wrp .media-tab-module-content .sl-ep-nav .sl-ep-nav-list,.misl-ep-item .misl-ep-text .misl-ep-index,.misl-ep-item .misl-ep-text .misl-ep-title,.bangumi-media .bangumi-media-header h4,.bangumi-media .bangumi-media-header .rate-wrapper .btn-go-write,.bangumi-review-item .long-title,.media-tab-module-wrp .media-tab-module-title,.sort-type-wrp ul li,.media-info-card,.media-info-card .mic-evaluate,.bangumi-header .header-info h1,.review-list-wrp .review-detail .review-content,.review-list-wrp .review-detail .review-title,.review-feed-wrapper .feed-header h4,.review-feed-item .feed-left .review-info .review-title,.review-feed-item .feed-left .review-info .review-content,.pagelistbox .custom-right .custom-right-inner,.sponsor-rank-tab li,.sponsor-rank-item.special .sp-right .sp-msg,.sponsor-rank-item.normal .sp-right .sp-msg,.media-sponsor-wrapper .sponsor-right-area .sponsor-count-info span,.bangumi-review-item .review-content,.sponsor-rank-item.special .sp-right .sp-user:not(.vip) .sp-name,.player-auxiliary-auxiliary-area .player-auxiliary-filter-title,.bui-button.bui-button-gray2,.player-auxiliary-setting-menu-wrap .player-auxiliary-setting-menu-list,.player-auxiliary-block-tabpanel-row.special-title .player-auxiliary-block-label,.player-auxiliary-block-string,.player-auxiliary-block-string-short,.bui-button.bui-button-gray,.bui-tabs .bui-tabs-header .bui-tabs-header-item,.player-auxiliary-block-list .player-auxiliary-block-line,.player-auxiliary-modal-title,.player-auxiliary-modal-info,.player-auxiliary-modal-btns .bpm-btn,.title .s-iconText-text,.project-list .project-list-item .project-list-item-detail .project-list-item-title,.nav-bar .nav-wrapper .main-tab.active,#app > .main .title,#announcement-area .popular-section-ctnr .title-row,#announcement-area .popular-section-ctnr .area-name,#announcement-area .news-ctnr .news-item,#announcement-area .news-ctnr .title-row,#announcement-area .rank-ctnr .title-row,.rank-menu li html,.member-list-item-text,.privilege-text,.big-watch-title,.big-game-gift-text,.coin-reward-info,.coin-time,.big-pendant-test,.coin-next-day,.big-gift-btn-home,.song-list .song-li .content .text a,.host-list-layout .hot-list-wrap .hot-song-list .song-info .song-content .song-title,.middle-tip,.all-hot-list-warp .all-hot-list .hot-list-content .list-name,.middle-tip .change-song,.sub-pages-item,.nav-item,.favourite-card .anchor-info .anchor-name,.page-title,.main-container .title,.content-panel .title,.list-filter-bar .sort-box,.security-nav-name,.security-list-link-jump,.head-wrap,.btn-confirm.disabled,.h-safe-title,.h-safe-nobtn,.h-reward-info,.curren-b-num,.now-num,.home-top-level-number,.home-userstatus,.home-dialy-task-title,.re-exp-info,.h-list-name,.h-mp-space,.go-secuirty,.home-to-space,.home-to-update,.home-top-level-mask-warp,.home-level-tips,.big-privilege-title,.right-more-btn,.re-exp-getexp,.big-more-item-item,.big-more-item-list,.bgray-btn:hover,.episode-item .ep-index,.bilibili-player-auxiliary-area .bilibili-player-recommend-title,.tabs-nav-item,.points-exchange-title,.points-info p,.points-pendant-title p,.pendant-name,.points-how-title,.points-faq-info-list,.go-movie:hover,.points-btn,.points-record-title,.el-pagination,.viptable,.el-pagination button.disabled,.el-pager li.active,.el-form-item__label,.userinfo-username,.user-my-sex .el-radio-button__inner,.el-radio-button__orig-radio:checked + .el-radio-button__inner,.el-picker-panel,.bangumi-info .info-right .info-title h2,.share-module .share-list .weixin-share-modal .share-name,.share-module .share-list .weixin-share-modal .share-tips,.main-container .sponsor-wrapper .sponsor-right-area .sponsor-count-info span,.bangumi-recom .recom-title,.btn-sponsor-wrapper .sponsor-count span,.timer-wrap .vote-dialog-new .main .main-txt-1 label,.timer-wrap .vote-dialog-new .footer .b-disable,.ban-detail .content-box .jury-status .status-left .voted .voted-tips p span,.cm-model h4,.ban-detail .content-box .jury-status .status-right .vote-success .success-txt p,.security-list li a span,.tab-mk2,.face-g-name,.face-g-title,.security-list .first-level,.face-g-action,.bpui-button-text-only[for],.bilibili-player-block-tabpanel .bilibili-player-block-string-type,.bilibili-player-block-tabpanel .bilibili-player-block-tabpanel-title,.bilibili-player-panel-title,.bilibili-player-panel-area .bilibili-player-panel-area-title,.bpui-tab-list-type-button .bpui-tab-list-row,.bilibili-player-panel-content .bilibili-player-panel-setting .selectmenu-mode-absolute .bpui-selectmenu-txt,.face-g-takedown,.face-g-use,.face-g-xf,.face-g-list[id=face-g-log] td,.face-g-list[id=face-g-log] th,.mp-mine-takedown,.face-g-list .mp-block .left .mp-info .mp-title,.face-g-list .mp-block .left .mp-info .mp-descr,.face-g-list .mp-block .right ul li p.title,.medal-message,.emoji-box,.btn-disabled,.bilibili-player-mode-selection-row .selection-span.active .selection-name,.bilibili-player-mode-selection-row .selection-span .selection-name:hover,.safe-tips p,.nav-list li .list-title .list-title-text p,.coin-nav-item,.coin-rest-p,.coin-rest-info,.coin-index-right-title,.coin-record .coin-title,.identmagTop,.record-nav-item,.main-content-title span.t,.get-coin-more,.table-normal tbody tr td,.my-moral,.m-help,.record-exp-title .t,.comment-title,.comment-con,.user-jump,.el-picker-panel__shortcut,.invitation-info-title,.inv-record-title,.invtable tr th,.invitation-btn,.home-wrap .card .title,.data-card .tab .data-tab,.academy-card .academy-box .academy-item .academy-title,.guide-card .title p,.section-item .data-name,.section-item .diff-wrp,.data-card .data-box .title,.data-card .fans-box .title,.side-utils .utils-item .item-desc,.cc-nav-wrp .nav-upload-btn > a,.data-card .data-box .tab .bili-btn,.data-card .fans-box .tab .bili-btn,.confirm-content,.bilibili-player-video-btn-danmaku .bilibili-player-danmaku-setting-lite-panel .bilibili-player-danmaku-setting-lite,.bilibili-player-danmaku-setting-lite-row .bilibili-player-danmaku-setting-lite-title,.bilibili-player-danmaku-setting-lite .bilibili-player-danmaku-setting-lite-row .bpui-checkbox-text,.song-title,.follow-container .follow-right .follow-up,.song-play-num span,.song-info .song-info-content .song-info-detail,.song-playbtn,.hotsong-li .hotsong-title a,.song-li .song-right .song-intro a,.audioplayer .ap-controller .ap-controller-center .ap-current-time,.audioplayer .ap-controller .ap-controller-center .ap-name,.audioplayer .ap-controller .ap-controller-center .ap-playlist-button-amount,.audioplayer .ap-controller .ap-controller-center .ap-time,.audioplayer .ap-controller .ap-controller-center .ap-artist,.bread-crumbs span,.b-head-t,.b-head,.follow-container .follow-right .unfollow-btn,.cc-btn.is-main,.link-top-container .link-top-item,.cc-album-manage .info-wrp .cc-btn,.contri-condition .contri-select,.compila-condition .compila-type,.compila-condition .compila-right .compila-add.single,.compila-not-find .compila-not-find-ime,.contri-not-find .contri-not-find-ime,.contri-condition .contri-sort .contri-sort-type li,.medal .medal-form .section .title-tip,.medal .medal-form .section,h2.title,.medal .medal-form .page-tip a,.bili-btn.ok,.danmu-container .empty-danmu,.assist-wrap .assist-log header .tools .ui-calendar input[type=text],.ui-calendar .flatpickr-day,.ui-calendar .flatpickr-month,.ui-calendar .flatpickr-day.inRange,.ui-btn.grey-radius,.rangeMode .flatpickr-day,.container .host-list-layout .hot-list-wrap .bg-wrap .top-info-content .right-info .right-btn .text,.container .host-list-layout .hot-list-wrap .bg-wrap .top-info-content .right-info .right-btn .iconfont,.container .all-hot-list-warp .all-hot-list .hot-list-content .hover-mask .iconfont,.container .musician-recommend .recommend-item .recommend-info .name,.to-review-btn,.media-info-wrp .media-info-content .media-info-inner .media-info-r .media-info-title .media-info-title-t,.media-info-wrp .media-info-content .media-info-inner .media-info-r .media-info-title .media-tag,.media-info-count .media-info-count-item *,.btn-pay-wrapper.is-vip a,.sponsor-rank-item.normal .sp-right .sp-user .sp-name,.sponsor-rank-item.simple .sp-user,.sponsor-rank-dialog .sponsor-rank-content .sp-rank-header .sp-rank-title,.sponsor-rank-item.simple .sp-rank i,.media-sponsor-wrapper .sponsor-right-area .sponsor-btn,.sponsor-pay-dialog-v2 .sponsor-pay-header.border .title,.sponsor-pay-dialog-v2 .sp-pay-index ul.sponsor-choice li span,.sponsor-pay-dialog-v2 .sp-pay-index .sponsor-hint,.sponsor-pay-dialog-v2 .sp-pay-index .sponsor-agree a,.sponsor-pay-dialog-v2 .sp-pay-index .sponsor-btn-primary.disabled,.timer-wrap .quit p,.fjw-random .point-wrap .cnt .no-data .title,.fjw-case-detail .ban-detail .content-box .jury-status .status-left .voted .graph .people,.timer-wrap .vote-dialog-new .footer .b-able,.contri-condition .contri-search,.cc-nav-wrp .down-link .title,.ui-calendar .main-wrap .shortmenus a,.assist-wrap .assist-log header .tools .search-wrp input[type=text],.bili-tab,.dc-section-title,#audience-page .version-switch-section .bili-tab,.dc-section-item_title_name p,.pie-empty-wrapper,.announce li > div a,.setting .setting-title,.charge-participate .benefit-item .short-desc,.charge-participate .part-btn,.bp-user-box-top p,.bp-user-box i,.bp_box_top p,.bp_box_bot a,.bb-intro-top .b-icon-title,.b-info .balance-footer .balance-part .part-balance-price,.b-info .bb-quan,.b-info .button,.level-dia,.bangumi-collection-wrapper .bangumi-collection-title,.bangumi-collection-card .bangumi-info .bangumi-title,.bangumi-collection-card .bangumi-funcs .btn-unfollow,.tag-list-wrp .title .name,.tag-more .b-toggle-btn,.video-floor-m .dynamic-title .title .name,.mod-2 li .r .title,.video-list .vl-hd .tab-list li,.pager .jump-pager input[type=text],.mod-1 .r .title,.mod-3 .r .title,.season-slider-wrapper .slider-wrapper .season-slider-list li.cur,.media-info-wrp .media-info-content .media-info-inner .media-info-r .media-info-btns .bangumi-btn .btn-follow,.user-info > .user-name,.user-box .num,.selector-wrapper .title,.video-item-biref .biref-info .biref-title,.block-area .timeline-title .headline .name,.new-stat-module .zone-title .headline .name,.carousel-wrapper .carou-info span a,.new-stat-module .zone-title .headline .new-stat-more,.block-area .timeline-title .headline .timeline-more,.block-area .timeline-title .headline .timeline-more:hover,.block-area .timeline-toggle-block .timeline-toggle-btn,.timeline-box .timeline-item .item-right p.num a,.timeline-box .timeline-item .item-right p.num span{color:#eee!important;}.gift-item-wrap .num,.side-bar-popup-cntr,.timeline-header .tl-weeks:after,.bili-header-m .i_menu_login,.article-content-ctnr,.works-ctnr,.comment-ctnr,.author-info,.dashboard,button.button.more,.dashboard li.like,.bilibili-player-ending-panel-box-functions .bilibili-player-upinfo-electric,.paging-box-big .next,.paging-box-big .prev,.buy-info-box,.fav-main .fav-action-top .back-to-info,.fav-main .fav-action-top,#page-fav .fav-main .fav-video-list.is-batch .small-item.selected,#page-fav .fav-main .fav-video-list.is-batch .small-item:hover,.media-tab-module-wrp .media-tab-module-content .sl-ep-nav,.misl-ep-item,.media-tab-module-wrp .media-tab-module-content .sl-ep-nav .mode-select,.bangumi-media,.bangumi-media .bangumi-media-header .btn-more-review,.media-tab-detail-wrp .media-tab-detail-l .media-tab-module-wrp,.media-tab-detail-wrp .media-tab-detail .media-tab-module-wrp,.sort-type-wrp ul,.media-tab-module-wrp .media-tab-module-more,.media-tab-module-wrp .media-tab-module-write.type-btn,.review-list-wrp li,.review-feed-item,.pagelistbox .p,.media-sponsor-wrapper,.media-sponsor-wrapper .sponsor-rank-header .show-sponsor-rank,.sponsor-rank-item.special .sp-right .sp-msg,.player-auxiliary-danmaku-date-picker-container,.player-auxiliary-setting-menu-wrap,.danmaku-wrap .player-auxiliary-block-wrap,.player-auxiliary-context-menu-container,.player-auxiliary-modal-container,.player-auxiliary-modal-btns .bpm-btn,.announcement-cntr,.side-bar,.btn-confirm.disabled,.security-title,.security_content,.security-ul,.modal-head,.security-list-jump,.index-info,.home-daily-task-warp,.home-mp,.h-list-icon,.home-top-level-mask-warp,.security-right-title,.big-name-warp,.big-privilege-warp,.big-watch-wrapper,.big-game-gift-warp,.coin-calendar-wrap,.big-pendant-warp,.big-gift-btn-home,.big-more-tool-btn,.big-more-item-list,.first-change-lb,.btn-pay-wrapper.is-vip a,.bgray-btn,.main-container .player-wrapper,.bilibili-player .bilibili-player-auxiliary-area,.episode-item,.bangumi-list-wrapper .top-block,.main-container .bangumi-info-wrapper,.bilibili-player .bilibili-player-auxiliary-area .bilibili-player-filter,.tabs-nav,.points-box,.points-pendant-warp,.points-faq-line,.points-how-warp,.points-record-warp,.el-pagination__editor,.viptable tr th,table.viptable td,.el-pagination .btn-next,.el-pagination .btn-prev,.el-pagination button.disabled,.el-pager li.active,.user-my-sex .el-radio-button__inner,.user-setting-warp .padding-dom,.el-textarea__inner,.bangumi-nav-right .nav-goto-top,.bangumi-nav-right .nav-mini-switch,.bangumi-info .info-right .info-title .func-module .bangumi-btn .btn-follow.followed,.share-module .share-list li.share-btn.btn-app,.share-module .share-list .weixin-share-modal,.sponsor-rank-v1 .sponsor-rank-header .show-sponsor-rank,.main-container .sponsor-wrapper,.timer-wrap .vote-dialog-new .header,.word-limit-h5 textarea,.info-model .border-b,.video-model .border-b,.sr-t,.security-list .child-list,.security-list .first-level,.tabs-mk2,.face-g-item,.face-g-action,.face-g-preview,.face-g-action[id=face-g-change],.bilibili-player-block-tabpanel,.bilibili-player-block-tabpanel .bilibili-player-block-tabpanel-row.bilibili-player-border,.bilibili-player .bilibili-player-panel-title,.face-g-item-inner,.face-g-list[id=face-g-log] td,.mp-mine-avatar,.mp-mine-takedown,.face-g-list .mp-block .left .mp-img,.face-g-list .face-g-block,.wear-list li,.hold-list-width.details-list-t,.hold-list,.btn-disabled,.btn-dufault,.medal-up-trueLove,.emoji-box,.container .tag,.bilibili-player-mode-selection-row .row-selection .selection-span.active .selection-name,.bilibili-player-color-picker-container .bilibili-player-color-picker-input-group .bilibili-player-color-picker-color-current,.bilibili-player-color-picker-container .bilibili-player-color-picker-input-group .bilibili-player-color-picker-color-code,.get-coin-more,.table-wrapper,.table-normal tbody tr,.table-normal thead tr td,.coin-record .table-wrapper,.identmagTop,.record-nav,.main-content-title,.nav-list li,.m-help,.integrity-table-wrapper,.record-exp-title,.record-exp-table-wrapper,.record-item,.el-select-dropdown,.invitation-top-warp,.invtable tr th,table.invtable td,.cc-nav-wrp,.notice-card .title,.data-card .tab .data-tab,.income-card .income-box .empty-data,.bili-btn.plain,.footer-content .menu-item,.footer-content,.footer-content .qrcode-wrp,.bilibili-player-danmaku-setting-lite-panel .bilibili-player-danmaku-setting-lite,.song-comment,.song-title,.follow-container .follow-right .unfollow-btn,.link-top-container,.contri-condition .contri-search,.medal header,.medal-list .part .content,.danmu-container,.ui-serch input[type=text].ui-input,.assist-wrap .assist-log header .tools .ui-calendar input[type=text],.ui-calendar .flatpickr-day.inRange,.ui-calendar .main-wrap .shortmenus,.container .middle-tip .change-song,.container .host-list-layout .hot-list-wrap .show-more-song,.container .host-list-layout .hot-list-wrap .hot-song-list,.container .musician-recommend .recommend-item,.media-info-wrp .media-info-content .media-info-inner .media-info-r .media-info-title .media-tag,.sponsor-rank-dialog .sponsor-rank-content .sp-rank-header .sp-list-nav,.sponsor-rank-item.simple .sp-msg,.sponsor-rank-item.simple .sp-rank i,.sponsor-pay-dialog-v2 .sponsor-pay-header.border,.sponsor-pay-dialog-v2 .sp-pay-index ul.sponsor-choice li input,.sponsor-pay-dialog-v2 .sp-pay-index .sponsor-btn-primary.disabled,.bilibili-player .bilibili-player-block-filter-function .bilibili-player-block-filter-image .bilibili-player-block-filter-disabled,.bilibili-player .bilibili-player-block-filter-type .bilibili-player-block-filter-image .bilibili-player-block-filter-disabled,.announce li > div span,.announce li,.setting .watermark-setting,#bp_user_box,.bp-user-box-top,.bb_box,.bp_box,.bp_box_top,.b-info,.bb-intro-top,.bangumi-collection-wrapper .bangumi-collection-count,.bangumi-collection-card .bangumi-funcs .btn-unfollow,.section .count,.tag-list li.tag-item,.mod-2 li,.video-list .vl-hd,.pager .jump-pager input[type=text],.mod-1 .r .up-info .v-date,.mod-1 .r,.mod-3 .l-item,.sponsor-rank-item.simple .sp-msg,.nav-item-ctnr.expanded .nav-item,.nav-item-ctnr.expanded .sub-pages-item-ctnr,.user,.app-body .section-block.with-radius,.user-hd,.tabnav,.app-body .section-block.with-bottom-radius,.backdrop .title-box,.prize-img,.selector-wrapper .more-type-wrapper,.selector-wrapper .more-city-letter-list,.footer .border,.selector-wrapper .city-selector-wrapper,.selector-wrapper .type-selector-wrapper,.new-stat-module .zone-title .headline .new-stat-more,.pgc-rank-dropdown,.block-area .timeline-title .headline .timeline-more{border-color:transparent!important;}.season-timeline .season-group,.season-timeline .season-group .group-time:before,li.history,.elec .elec-monthly-count,.player-auxiliary-block-tabpanel .player-auxiliary-block-string:not(:focus),.player-auxiliary-block-tabpanel .player-auxiliary-block-string-short:not(:focus),.h-list-item,.h-mp-space,.go-secuirty,.home-to-space,.home-to-update,.home-userstatus,.right-more-btn,.points-pendant-item,.container .host-list-layout .hot-list-wrap .hot-song-list .song-info .song-content .iconfont,.bpui-button-text-only .bpui-button-text .bpui-flex-wrap,.bp-user-box-bb{border-color:#aaa!important;}.hot-live .room-list,.player-auxiliary-danmaku-date-picker-header,.table-normal tbody tr td,.table-normal thead tr td,.player-auxiliary-modal-header{border-color:#444!important;}.player-auxiliary-danmaku-date-picker-btn,.audioplayer svg:not(.ap-svg-exclude) path,.audioplayer svg:not(.ap-svg-exclude) polygon{fill:#aaa!important;}.tl-head .today .day-of-week,.svg-icon.top1,.security-list-jump-icon,.home-to-space .m-arrow,.h-mp-space .m-arrow,.go-secuirty .m-arrow,.right-more-btn .m-arrow,.growup-participate .status_box img,.i-m-title .icon-i-title,.tag-more .b-toggle-btn .b-icon-toggle-down,.tag-more .b-toggle-btn .b-icon-toggle-up,.new-stat-module .zone-title .headline .new-stat-more .icon,.pgc-rank-dropdown .icon-arrow-down,.sec-rank .more-link .icon-arrow-r,.block-area .timeline-toggle-block .timeline-toggle-btn i{filter:brightness(0) invert(1)!important;}.wrapper .modal-close:hover,.coin-operated-m .close:hover,.bili-header-m .bilibili-suggest .cancel:hover,#page-fav .fav-main .fav-action-bottom .icon,#page-fav .fav-main .small-item.selected .video-check,.sl-ep-nav .mode-select li.detail-mode.selected,.sl-ep-nav .mode-select li.detail-mode:hover,.sl-ep-nav .mode-select li.simple-mode.selected,.sl-ep-nav .mode-select li.simple-mode:hover,.season-slider-wrapper .slider-wrapper .season-slider-list li.cur,.swiper-button-next:hover,.swiper-button-prev:hover,.big-banner-warp .swiper-pagination-bullet-active,.video-model header h2 .head-icon,.info-model header h2 .head-icon,.fans-question,.comment-wrap header h2 .head-icon,.coin-icon,.bangumi-list-wrapper .top-block .mode-select li.detail-mode.selected,.bangumi-list-wrapper .top-block .mode-select li.detail-mode:hover,.bangumi-list-wrapper .top-block .mode-select li.simple-mode.selected,.bangumi-list-wrapper .top-block .mode-select li.simple-mode:hover,.fjw-random header h2 .head-icon,.timer-wrap .timer-top h2 .head-icon{filter:var(--blue-image-filter)!important;}.season-timer .current-timer:before,li.season-item .season-body .season-title span.follow,.user-panel-ctnr .ctrl-btn .svg-icon,.publish-panel .publish-list .publish-item a,.episode-item .mark-icon.badge-pink-vip,.episode-item .mark-icon.badge-pink-first,.tag-list li.tag-item .hot,.toolbar-wrapper .service-icon,.toolbar-wrapper .scroll-icon,.block-area .timeline-title .headline .timeline-more i{filter:var(--pink-image-filter)!important;}.wrapper .modal-body .elec-protocol .checkbox.checked,.wrapper .modal-close,.coin-operated-m .close,.i-live .i-live-m,.tag-list .tag-icon,.i-live .i-live-off-guest a .i-live-arrow,.review-list-wrp li .review-data div.review-data-comment embed,.review-list-wrp li .review-data div.review-data-comment i,.first-change-lb i,.history-list .r-info .device-i,.history-list .r-info .history-delete{filter:grayscale(1)!important;}.live-module .tab-item .r-item .r-i-t .u-online i,.log-empty img,.cc-article-wrp .info-wrp .img,.text-article-wrp .info-wrp .img,.cc-album-manage .info-wrp .no-img,.compila-not-find .compila-not-find-image,.contri-not-find .contri-not-find-image,.charge-participate .benefit-item .pic{filter:brightness(0.72)!important;}.primary-menu .nav-menu .sub-nav li>a span:after{filter:none!important;}.h-safe-icon[class$=no],.coin-icon-done{filter:brightness(0.5)!important;}.i-live .i-live-fo-btn,.i-live .i-live-unfo-btn{border-radius:4px!important;}.timeline-header,.timeline-wrapper,.timeline-header .tl-weeks,.danmu-container{box-shadow:none!important;}.side-bar-popup-cntr,.link-popup-panel,.bili-header-m .i_menu_login,.player-auxiliary-context-menu-container{box-shadow:0px 1px 10px 0px var(--theme-color-30)!important;}.side-bar-popup-cntr > .arrow,.empty-hint .hint-img,.sponsor-rank-item.special .sp-right .sp-msg > span,.sponsor-rank-item.special .sp-right .sp-msg > span:before,.home-level-mask-icon,.top-header,.bangumi-coin-wrap .bangumi-coin,.bangumi-coin-wrap .bangumi-coin-d,.bangumi-collection-wrap .bangumi-order,.bangumi-collection-wrap .bangumi-order-d,.bangumi-order-wrap .bangumi-order,.bangumi-order-wrap .bangumi-order-d,.top_bg,.bangumi-list-wrapper .bottom-block .slider-contro i.slider-prev-mask,.bangumi-list-wrapper .bottom-block .slider-contro i.slider-next-mask{display:none!important;}.link-input:focus,.dynamic-list-item-wrap .item-user a.stick,#page-fav .fav-main .filter-item.search.focus,.media-tab-nav ul li.on,.media-tab-nav ul li:hover,.sl-ep-nav .sl-ep-nav-list .sl-ep-nav-item.on,.sl-ep-nav .sl-ep-nav-list .sl-ep-nav-item.on:after,.review-list-wrp li .review-title .review-spoiler,.pagelistbox .p.active,.pagelistbox .p:hover,.sponsor-rank-tab .indicator,.sponsor-rank-tab .indicator:after,.bui-tabs .bui-tabs-header .bui-tabs-header-item.bui-tabs-header-item-active,.btn-confirm,.go-movie,.points-btn,.tab-mk2.active,.face-g-item:hover,.season-item.on,.bpui-selectmenu,.face-g-list .mp-block .right ul li.base .round,.face-g-list .mp-block .right ul li.base.reach .round,.bpui-tab-list-type-button .bpui-tab-list-row.bpui-state-selected,.bangumi-list-wrapper .top-block .ss-list-wrapper .slider-contro,.season-item.on:after,.coin-nav .on,.coin-nav,.record-nav .on,.data-card .tab .data-tab.current,.data-card .data-box .total .incr-num:before,.data-card .fans-box .total .incr-num:before,.song-li .song-left .song-shadow,.link-top-container .link-top-item.active,.contri-condition .contri-select.active,.container .song-list .song-li .song-shadow,.container .host-list-layout .hot-list-wrap .hot-song-list .song-info .song-content .iconfont:hover,.container .musician-recommend .recommend-item .recommend-info .listen-btn,.bilibili-player .bilibili-player-block .bilibili-player-block-tabpanel .bilibili-player-block-tabpanel-row.active-1 .bilibili-player-block-type-keyword,.bilibili-player .bilibili-player-block .bilibili-player-block-tabpanel .bilibili-player-block-tabpanel-row.active-2 .bilibili-player-block-type-user,.bpui-button-text-only.bpui-state-active .bpui-button-text .bpui-flex-wrap,.data-card .data-box .tab .fan-tab.current,.data-card .fans-box .tab .fan-tab.current,.bili-tab.current,.bili-tab.current:after,#audience-page .version-switch-section .bili-tab.current,.contri-condition .contri-select.active:after,.video-list .vl-hd .order-tab li.on,.user-info > .tag-flag,.tabnav-item.current .tabnav-content,.project-list .project-list-item .promo-item,.carousel-wrapper .carou-mini .thumb-cursor{border-color:var(--theme-color)!important;}.progress-bar-inner,.tl-head .tl-day.today .indicator,.primary-menu .nav-menu .channel.on::after,.hot-box li .tag-type,.bili-header-m .i_menu_login .login-btn,.news-list .news-item .type,.author-info .favourite-btn,.live-status.on-live,.paging-box-big .next:hover,.paging-box-big .prev:hover,.bilibili-player-ending-panel-box-functions .bilibili-player-upinfo-electric,.bui-button.bui-button-blue,.bui-button.bui-button-gray3:hover,.intimacy-bar > span,.h .h-follow,.carousel-module .panel .trig span.on,.live-module .tab-item .r-item:first-child .number,.live-module .tab-item .r-item:nth-child(2) .number,.live-module .tab-item .r-item:nth-child(3) .number,.season-timeline .season-group.today .group-time:before,.pagelistbox .p.active,.pagelistbox .p:hover,.wrapper .elec-message-wrp .elec-msg-btn,.big-member-btn .btn-confirm.disabled,.security-left .security-ul .security-list.on,.h-safe-btn,.security-right-title-icon,.big-member-btn,.btn-confirm,.go-movie:hover,.points-btn,.el-pager li.active,.tit-b,.face-g-action[id=face-g-change],.face-g-takedown,.face-g-use,.face-g-takedown:hover,.face-g-use:hover,.mp-mine-takedown,.face-g-list .mp-block .right ul li.reach .strip,.btn-dufault:not(.btn-disabled),.history-list .cover-contain .label,.coin-text-p .coin-i,.invitation-btn,.notice-card .academy-entry,.section-item .diff-wrp .no-improve,.cc-nav-wrp .nav-upload-btn > a,.song-playbtn,.audioplayer .ap-controller .ap-controller-right .ap-volume-thumb-dot,.cc-btn.is-main,.cc-album-manage .info-wrp .cc-btn,.compila-condition .compila-right .compila-add.single,.compila-not-find .compila-not-find-ime,.contri-not-find .contri-not-find-ime,.bili-btn.ok,.host-list-layout .hot-list-wrap .bg-wrap .top-info-content .right-info .right-btn,.sponsor-rank-dialog .sponsor-rank-content .sp-rank-header .sp-rank-title,.media-sponsor-wrapper .sponsor-right-area .sponsor-btn,.bilibili-player-ending-panel-box-functions .bilibili-player-pgcinfo-follow-binge-watching,.ban-detail .content-box .vote-success .success-txt button,.timer-wrap .vote-dialog-new .footer .b-able,.charge-participate .part-btn,.b-info .button,.bpui-button-text-only.bpui-state-active .bpui-button-text .bpui-flex-button,.selector-wrapper .more-city-letter-list .more-city-letter-item .letter-item.active:after,.timeline-box .timeline-item.new p.num a,.new-stat-module .zone-title .headline .new-stat-more:hover,.block-area .timeline-title .headline .timeline-more:hover{background-color:var(--theme-color)!important;}.union-cntr a,.title-link,.link-popup-panel .title-ctnr .popup-title,.user-info-name.active,.bread-crumb ul li.on a,.bread-crumb ul li:hover a,li.season-item .season-body .season-title:hover,li.season-item .season-body .season-desc.published,.season-timer .season-label,.season-timer .current-timer,.sub-nav-m ul li.on a,.sub-nav-m ul li a:hover,.hot-box li:hover .txt,.live-module .zone-title .headline .online span,.bilibili-player-video-sendbar .bilibili-player-video-danmaku-wrap a,.slot-ctnr .panel li:hover,.user-panel-ctnr .exit-btn:hover,.author-info .communicate-btn,.live-ctn .live-attch .title:hover,.live-ctn .live-attch .host:hover,button.button.more:hover,.author-info .link-pink:hover,.link-footer a:hover,.chat-history-panel .chat-item.welcome-guard .username,.bilibili-player-ending-panel-box-functions div.active,.bilibili-player-ending-panel-box-recommend-add-watchlater .icon-22wait-choice,.coin-operated-m .mc-box.on .c-num,.bilibili-player-context-menu-container span.bppl-state-selected,.control-panel-ctnr .title,.buy-detail .rights,.i-live:hover .i-live-title,.i-live .i-live-fo-btn,.room-introduction-content a,.live-module .tab-item .r-item a:hover .u-name,.dynamic-list-item-wrap .item-user a.stick,.season-timeline .season-group.today .group-time,.media-tab-nav ul li.on,.media-tab-nav ul li:hover,.sl-ep-nav .sl-ep-nav-list .sl-ep-nav-item:hover,.sl-ep-nav .sl-ep-nav-list .sl-ep-nav-item.on,.misl-ep-item:hover .misl-ep-text .misl-ep-index,.misl-ep-item:hover .misl-ep-text .misl-ep-title,.bangumi-media .bangumi-media-header .rate-wrapper .btn-go-write:hover,.bangumi-media .bangumi-media-header .btn-more-review:hover,.bangumi-review-item > a:hover .long-title,.sort-type-wrp ul li:hover,.media-tab-module-wrp .media-tab-module-more:hover,.media-info-card .mic-expand:hover,.review-list-wrp li .review-author-info div.review-author-name:hover,.review-list-wrp .review-detail:hover .review-title,.review-list-wrp li .review-title .review-spoiler,.review-feed-item .feed-left .review-info:hover .review-title,.review-feed-item .feed-left .review-about .author-info:hover,.review-feed-item .feed-left .review-about .media-title:hover,.sponsor-rank-tab li.active,.sponsor-rank-tab li:hover,.wrapper .elec-sub-title .exp,.wrapper .elec-sub-title .vip-point,.player-auxiliary-auxiliary-area .player-auxiliary-filter-menu:hover,.player-auxiliary-setting-menu-wrap .player-auxiliary-setting-menu-list:hover,.bui-button.bui-button-text,.bui-tabs .bui-tabs-header .bui-tabs-header-item.bui-tabs-header-item-active,.player-auxiliary-block-list .player-auxiliary-block-line-state,.home-top-level-mask-warp a,.h-safe-a,.security-right-title-text,.bottom-help a,.big-more-item-item:hover .big-more-item-txt,.go-movie,.points-num,.tab-mk2.active,.acc-sec,.tab-mk2.tab-mk2-r,.tab-mk2:hover,.lh12 a,.cm-model .report-detail .more-list a,.bpui-button-text-only.bpui-state-active .bpui-icon-checkbox.icon-12select,.bpui-button-text-only.bpui-state-active .bpui-icon-checkbox.icon-12select-round,.container .tag .item-btn,.episode-item.on .ep-index,.episode-item.on .ep-title,.episode-item.on:hover .ep-index,.episode-item.on:hover .ep-title,.coin-nav .on,.out-link,.coin-num,.m-help:hover,.main-content-title a,.record-exp-title .s,.btn-delete:hover,.data-card .tab .data-tab.current,.section-item .text-content,.nav-upload-container .nav-upload-item > p,.share-module .share-list .weixin-share-modal .share-tips a,.song-infoFold,.song-introText,.song-lrcFold,.song-title .font18,.hotsong-li .font24:hover,.hotsong-li .hotsong-title a:hover,.song-li .song-right .song-intro a:hover,.audioplayer .ap-controller .ap-controller-right .ap-playlist-button:hover .ap-playlist-button-amount,.follow-container .follow-right .follow-intro .follow-fold,.song-info .song-info-content a,.contri-condition .contri-select.active,.contri-condition .contri-sort .contri-sort-type li:hover,.medal .medal-form .page-tip a:hover,.danmu-container .empty-danmu a,.container .host-list-layout .hot-list-wrap .hot-song-list .song-info .song-content .iconfont:hover,.container .host-list-layout .hot-list-wrap .show-more-song:hover .iconfont,.container .host-list-layout .hot-list-wrap .show-more-song:hover,.container .musician-recommend .recommend-item .recommend-info .listen-btn,.sponsor-pay-dialog-v2 .sp-pay-index .sponsor-agree a:hover,.data-card .data-box .tab .fan-tab.current,.data-card .fans-box .tab .fan-tab.current,span.flatpickr-weekday,.ui-calendar .main-wrap .shortmenus a:hover,.bili-tab.current,#audience-page .version-switch-section .bili-tab.current,.announce li > div span,.announce li .fontvt,.setting .section-edit,.charge-participate h1,a.bp_box_bot_click,.b-info .balance-name,.bb-intro-top .b-question .b-question-title:hover,.bp_box_bot a:hover,.mini-item .detail a:hover,.tag-more .b-toggle-btn:hover,.mod-2 li .r .title:hover,.video-list .vl-hd .type-tab li.on,.video-list .vl-hd .order-tab li.on,.mod-1 .r .up-info .v-author:hover,.mod-3 .r .title:hover,.mod-3 .r .up-info .v-author:hover,.mod-2 li .r .up-info .v-author:hover,.mod-1 .r .title:hover,.bilibili-player-video-sendbar .bilibili-player-video-inputbar .bilibili-player-video-hint a:hover,.user-box .vip-btn,.user-box .btn:active,.user-box .btn,.icon-edit,.user-info > .tag-flag,.tabnav-item.current,.selector-wrapper .city-list .city-item.active,.selector-wrapper .city-list .city-item:hover,.selector-wrapper .order-list .city-item.active,.selector-wrapper .order-list .city-item:hover,.selector-wrapper .li-more .active,.selector-wrapper .more-city-list .more-city-item:hover,.toolbar-wrapper,.project-list .project-list-item .promo-item,.toolbar-wrapper .toolbar-title,.pagination-wrapper .pagination .pageNum.active,.pagination-wrapper .pagination .pageNum:hover,.bangumi-home-crumb .fcname ul.n_num li.on a,.timeline-box .timeline-item .item-right a:hover,.block-area .timeline-toggle-block .timeline-toggle-btn:hover{color:var(--theme-color)!important;}.hot-box li .tag-type,.bili-header-m .i_menu_login .login-btn,.bili-header-m .i_menu_login .reg a,.news-list .news-item .type,.author-info .favourite-btn,.live-status.on-live,.paging-box-big .next:hover,.paging-box-big .prev:hover,.bui-button.bui-button-blue,.bui-button.bui-button-gray3:hover,.h .h-follow,.live-module .tab-item .r-item:first-child .number,.live-module .tab-item .r-item:nth-child(2) .number,.live-module .tab-item .r-item:nth-child(3) .number,.live-module .tab-item .r-item .number,.fav-main .fav-action-bottom .select-cancel,.pagelistbox .p.active,.pagelistbox .p:hover,.wrapper .elec-message-wrp .elec-msg-btn,.big-member-btn,.h-safe-btn,.big-member-btn,.btn-confirm,.btn-dufault:not(.btn-disabled),.history-list .cover-contain .label,.comment-video{color:var(--foreground-color)!important;}.bilibili-player-ending-panel-box-functions div.active .bp-svgicon,.bilibili-player-ending-panel-box-functions div.active:hover .bp-svgicon{fill:var(--theme-color)!important;}.sl-ep-nav .sl-ep-nav-list .sl-ep-nav-item.on:after,.sponsor-rank-tab .indicator:after,.security-right,.container,.bili-footer .boston-postcards li,.h-line,.el-radio-button:first-child .el-radio-button__inner,.el-picker-panel [slot=sidebar],.danmu-container,.media-info-count .media-info-count-item,a.bp_box_bot_click,.b-info,.bb-intro-top,.mod-2 li .l-item,.video-list .vl-hd .s-line{border-left-color:transparent!important;border-right-color:transparent!important;}.bilibili-player-video-sendbar,.medal-up-trueLove,.el-date-table td,.el-date-table td.in-range:hover,.el-pagination__editor,.el-pagination button.disabled,.el-pagination .btn-next,.el-pagination .btn-prev,.el-pager li,.nav-guide-container .nav-guide-tip,.guide-card.card,.data-card.card,.notice-card.card,.notice-card .notice-list .notice-item,.income-card.card,.academy-card.card,.dc-section-body,.audioplayer .ap-playlist,.audioplayer .ap-playlist .ap-playlist-body,.audioplayer .ap-controller,.cc-content-body .setting,.setting .watermark-setting .watermark-wrp .watermark-modal,.bili-switcher,.grid .banner,.bui-sns-info a .bd,.search-module .search-block .search-word-panel,.search-module .search-block .search-word-panel .panel-title p span,div#square.container,#rankList .list-wrap .list .switch-day .switch-list:hover,.bili-header-m .head-banner,.link-navbar-ctnr,.uploader-info .info .follow .num,.app .module-card.comment,.rank-item .content,.rank-tab-wrap,.area-item-ctnr .area-item:hover,.bili-radio+span::before,#page-channel-detail .watch-later-btn,.error-body,.footer .text-layout,.chatPanelBody .chatPanel,.chatPanelBody .chatPanel .chatPanelList,.leaveMsg .leaveMsgHeader,.mainBox .leaveMsg,.leaveMsg .leaveMsgBody .classDropdown-menus li a:hover,.leaveMsg .leaveMsgBody .classDropdown-menus li:hover,.mainBox .sureWindow,.js-evaluateArea .evaluateDialog,.live-ctn .item-live,.live-status.offline,.banner-wrapper .swiper-pagination-bullet,.nav-header-wrapper .nav-header .nav-header-search-bar-wrapper .suggestion-list,.project-list .project-list-item .project-list-item-img,.download-video-panel,.article-action .ops .share-container .weixin-holder,.coin-wrap,.bilibili-evolved-about,.uns_box li .i_menu,.user-info .user-info-desc,#community_msg,.gui-settings-dropdown>ul,.toast-card,.gui-settings-widgets-box,.user-panel-ctnr .user-avatar,.link-popover-ctnr .link-popover,.medal-get-box,.medal-message-box{background-color:#222!important;}.article-holder .error-card .video-holder .video-cover,.article-holder .error-card .video-holder p{background-color:#333!important;}.main-container .title>span,.content-panel .title span,.face-g-list .mp-block .right ul li.base .round,.security-list .child-list li a:hover,.el-select-dropdown.is-multiple .el-select-dropdown__item.selected.hover,.el-select-dropdown__item.hover,.el-select-dropdown__item:hover,.el-picker-panel__shortcut:hover,.el-date-table td:hover,.el-date-table td.in-range,.el-date-table td.next-month:hover,.el-date-table td.prev-month:hover,.nav-guide-container .guide-tip-btn .guide-tip-btn-right,.guide-card .guide-box a,.footer-content .social-item,.audioplayer .ap-controller .ap-controller-right .ap-volume-bar-wrap,.audioplayer .ap-controller .ap-controller-center .ap-play-bar-wrap,.audioplayer .ap-controller .ap-controller-right .ap-playlist-button-bg,.pie-empty-wrapper,.audioplayer .ap-playlist .ap-playlist-body li.ap-playlist-line-active,.audioplayer .ap-playlist .ap-playlist-body li:hover,.canvas-card dt .img-contain,.article-item .item-holder .article-title-holder .list-mark,.search-module .search-block .search-word-panel .history-item:hover,.search-module .search-block .search-word-panel .suggest-item:hover,.rank-module .rank-list .item .rank-index,.page-content .right-side .rank-module .complete-rank,.page-content .right-side .up-list .fresh-btn,body>div.to-top.on,.s-lineMore-more,.slide-controller .slide-btn,.s-rank.gray,#rankList .list-wrap .list .switch-day,.index-nav .n-i.gotop .btn_gotop,.list-wrap .s-showMore,#activeCenter .s-imgUnit .s-imgUnit-img,.guide .old-btn a,.app .module-card,.nav-panel-vc,.container .song-list .song-li .song-img,.audioplayer .ap-controller .ap-controller-left .ap-cover,.container .host-list-layout .hot-list-wrap .bg-wrap,.upload-v2-step1-container .video-jam .video-jam-comment,.notify-v2-container>div,.error-container,.magBox .msgDiv,.leaveMsg .leaveMsgBody .questionClassify .classIfyTitleArea,.leaveMsg .leaveMsgBody .questionClassify .classDropdownAreaFixed .router,.leaveMsg .leaveMsgBody .classDropdown-menus,.leaveMsg .leaveMsgBody .questionClassify .classDropdownAreaFixed,.sureWindow .btngroup span,.evaluateWether .evaluate-btn,.evaluate .situation span,.up-info .u-face .up-face,.main_body .future .next_button,.user-info .points-wrp .bar,.list.main_body .list_box .next_button,.gui-settings-checkbox::after,.user-hd,.progress-tv .progress-img,.progress-tv,.dynamic-list-item-wrap .send-bg,.bili-share-pc,.bili-share-pc .share-weixin-qr,.bili-share-pc .weixin-hover .qr-before,.form-login .input-box .item input,.form-login .input-box .btn-box .btn{background-color:#444!important;}.bilibili-player-video-time-seek{background-color:#fff1!important;}.blp-ui-slider-container{background-color:rgba(0,0,0,0.1)!important;}.mainBox .sureWindowlayer,.medal-mask,.qrcode-login .qrcode-con .qrcode-box .status{background-color:rgba(0,0,0,.5)!important;}#mp-mine-header,#mp-mine-header.active,.fans-icon,.guide-card .guide-box a,.rank-list .canvas-card:nth-child(-n+3)::after{background-image:none!important;}.mode-fullscreen .bilibili-player-video-btn-widescreen,.mode-webfullscreen .bilibili-player-video-sendbar,.mode-fullscreen .bilibili-player-video-sendbar,.bilibili-player-video-bottom-area::before,.live-sidebar-ctnr,.pagelistbox .custom-right .custom-right-inner,#app>div>.container,.article-list-holder .article-item,.search-module .search-block input,.rank-module .rank-list .item,.chat-history-panel .chat-history-list .chat-item.system-msg .msg-icon,.page-content .right-side .up-list,#rankList .list-wrap .list .switch-day .switch-list,.index-nav .n-i .name:hover,.singlePage .mainBox,.leaveMsg .leaveMsgBody .email,.leaveMsg .leaveMsgBody .telephone,.leaveMsg .submitArea,#announcement-area .more-link:hover,.idol-show .section-title .more,.idol-show .section-title .more:hover,.area-section .card-ctnr .more,.area-section .card-ctnr .more:hover,.link-panigation-ctnr .pagination,.link-progress-tv,.jumping-ctnr .jumping-input,#song_detail_click_upper~div .pager .pages .page-item.active button,#song_detail_click_upper~div .pager .pages .page-item button,.filter-wrap .sub-filter,.title-line .tit,.popularize-module .online{background-color:transparent!important;}.coin-wrap .coin-nav .coin-checkbox{background:#fff!important;}.scroll-loading,.room-card-item .info .s-info,.fans-no-data::after,.fans-no-data-wear::after,.record-item-line .comment-floor,.record-item-line .comment-location,.record-item-line .comment-time,.record-item-line .good,.no-data-integrity,.nav-guide-container .nav-guide-tip .guide-tip-content-main p,.nav-guide-container .nav-guide-tip .guide-tip-content-main h3 span,.footer-content .social-item,.dc-section-item_title_time,.setting .watermark-switcher .switcher-tip,.setting .section-title span,.setting .watermark-setting .tooltip,.article-item .item-holder .article-desc,.article-item .item-holder .article-info-bar .up-content .nick-name,.article-item .item-holder .article-info-bar .category,.article-item .item-holder .article-info-bar .like,.article-item .item-holder .article-info-bar .reply,.article-item .item-holder .article-info-bar .view,.search-module .search-block .search-word-panel .panel-title p span,.rank-module .rank-tabs-bar .rank-tabs-list li,.up-list .up-item .info-holder .dynamic,.more .help .info,.more .link .info,.s-imgUnit-text p,.box .content .item,.uploader-info .info .follow .num,.video-list-wrapper .title .text .num,.danmu-hot .tab-list .tab,.rank-item .content .info .bangumi-info,.container .hot-list .music-menu-list .menu-type,.elec .elec-monthly-count,.announcement-cntr .header p .icon-edit,.announcement-cntr .header p span,.channel-info .meta,.magBox .leftName,.chatPanelList .msgData,.chatPanel .historyTrigger,.leaveMsg .leaveMsgBody .guide,.leaveMsg .leaveMsgBody .questionClassify .classText,.questionClassify .classDropdownAreaFixed .router .routerDeep,.leaveMsg .leaveMsgBody .infoArea .infoAreaTitle,.leaveMsgUpload .btnarea span.btareatxt,.evaluate .h2,.hot-list .card-ctnr .room-count .icon-font,.article-action .ops i,.page-container .article-action,.article-action .ops .share-container .weixin-holder p,.coin-wrap .coin-tips,.up-feedback .up-fb-btn,.user-info .user-info-desc,.qrcode-login .qrcode-footer .app-link,.qrcode-login .qrcode-footer .suc-txt,.form-login .input-box .sns .btn{color:#aaa!important;}.main-container .title>span,.content-panel .title span em,.medal-up-trueLove,.u-info .u-name,.bottom-actions .action-item,.el-pagination__editor,.el-pagination .btn-next,.el-pagination .btn-prev,.el-pager li.btn-quicknext,.el-pager li.btn-quickprev,.nav-guide-container .guide-tip-btn .guide-tip-btn-right,.guide-card .guide-box a,.setting .watermark-switcher span,.bili-btn.plain,.pgc-rank-dropdown .selected,.article-item .item-holder .article-title-holder .list-mark,.search-module .search-block input,.rank-module .rank-tabs-bar label,.rank-module .rank-list .item .rank-index,.rank-module .rank-list .item a,.rank-module .complete-rank,.up-list .title,.up-list .fresh-btn,.up-list .up-item .info-holder .head .nick-name,.up-list .up-item .info-holder .dynamic .arc-title,.more .top-bar,.more .help .title,.more .link .title,.page-content .left-side .partitio-name,.s-lineMore-more,#mangoTv .mango-rank .text-list a,.s-imgUnit-text a,.s-rank.gray,#rankList .list-wrap .text-list a,#rankList .list-wrap .list .bar .text,#rankList .list-wrap .list .switch-day,.list-wrap .s-showMore,.footer .boston-postcards li .tips,.guide .old-btn a,.gift-box>.num,.base-info .btn-wrapper,.video-list-wrapper .title .text,.video-list-wrapper .title .more .text,.danmu-hot .video-list .video-wrapper .video .title,.blink-qrcode .title,.rank-item .content .info .title,.container .hot-list .menu-title,.announcement-cntr .header p,.upload-v2-step1-container .video-jam .video-jam-comment,.notify-v2-container>div>span,.notify-v2-container>div a,.notify-v2-container>div .notify-v2-close,.channel-detail .content .breadcrumb .item,#page-channel-detail .watch-later-btn,.error-container .error-text,.magBox .msgDiv .msgText,.leaveMsg .leaveMsgHeader .title,.leaveMsg .leaveMsgBody .questionClassify .classIfyTitleArea .classIfyTitle,.leaveMsg .leaveMsgBody .classDropdown-menus li,.leaveMsg .leaveMsgBody .email,.leaveMsg .leaveMsgBody .telephone,.sureWindow .title,.sureWindow .btngroup span,.evaluateWether .evaluateTitle,.evaluateWether .evaluate-btn,.evaluate .situation span,#announcement-area .news-ctnr .icon-arrow-right,#announcement-area .news-ctnr .more-link,#announcement-area .rank-ctnr .icon-arrow-right,#announcement-area .rank-ctnr .more-link,.jumping-ctnr .jumping-input,.banner-wrapper .swiper-pagination-bullet,.nav-header-wrapper .nav-header .user-panel,.nav-header-wrapper .nav-header .user-panel a,.similar-song-menu .similar-right .title,.gridview-sidebar .album-title,.article-holder .bangumi-card a .container .title,.coin-wrap .coin-title,.main_body .future .next_button,#i_menu_profile .info .coin .outside,#i_menu_profile .info a.linkToCurrency,.user-info .user-info-hd .t,.user-info .points-wrp .points-schedule .now-points,#community_msg .dyn_menu li a,.list.main_body .list_box .next_button,.gui-settings-dropdown input,.bilibili-player-video-control .bilibili-player-video-volume-num,.gui-settings-widgets-box>.widgets-container>*,.gui-settings-widgets-box,.link-popover-ctnr .link-popover,.details-up-name,.bili-share-pc .title,.bili-share-pc .share-weixin-qr h4,.form-login .input-box .remember,.form-login .input-box .item input,.form-login .input-box .btn-box .btn,.popularize-module .online a{color:#eee!important;}.list.main_body .right_box .select_box .select .option_block .option.selected,.toast-card-title,.toast-card-message,.toast-card span,.toast-card .link{color:#fff!important;}.content-panel .title span,.medal-up-trueLove,.el-picker-panel,.el-time-range-picker__body,.el-autocomplete-suggestion__wrap,.el-pager li,.el-pager li:last-child,.nav-guide-container .guide-tip-btn .guide-tip-btn-right,.grid .banner,.article-item .item-holder .article-title-holder .list-mark,.search-module .search-block .search-word-panel,.rank-module .rank-tabs-bar,.up-list .title,.up-list .fresh-btn,.more .top-bar,body>div.to-top.on,.s-lineMore-more,#rankList .list-wrap .list,#rankList .list-wrap .list .switch-day,.index-nav .n-i.gotop .btn_gotop,.list-wrap .s-showMore,.guide .old-btn a,.guide .feedback-btn a,.app .module-card,.uploader-info .info .follow .num,.danmu-hot .tab-list,.announcement-cntr .content,.upload-v2-step1-container .upload-btn,.upload-v2-step1-container .video-jam .video-jam-comment,#page-channel-detail .watch-later-btn,#page-channel-detail .filter,.leaveMsg .leaveMsgBody .questionClassify .classDropdownAreaFixed .router,.evaluateWether .okactive,.evaluateWether .evaluate-btn,.evaluateWether .noactive,.evaluate .situation span,.bilibili-live-player .bilibili-live-player-enter-tips,.nav-header-wrapper .nav-header .nav-header-search-bar-wrapper .suggestion-list,.publish-panel .hash-popup,.hash-popup .topic-container .item.is-selected,.article-holder .bangumi-card a .container,.article-action .ops .share-container .weixin-holder,.coin-wrap .coin-sure,.filter-wrap .sub-filter,.list.main_body .list_box .block .cover,.link-popover::after,.link-popover::before,.medal-get-box,.medal-message-box,.detail-card .card,.bili-share-pc,.title-line,.form-login .input-box .item input,.form-login .input-box .btn-box .btn-login,.form-login .input-box .btn-box .btn{border-color:transparent!important;}.bili-radio+span::before,.channel-info .c-count,.popularize-module .online em{border-color:#aaa!important;}.up-info-holder .fixed-box .up-article-list-block .block-title,.up-info-holder .fixed-box .more .top-bar,.el-date-range-picker__content.is-left,.el-picker-panel [slot=sidebar],.el-picker-panel__sidebar,.bili-switcher,.bui-sns-info a .bd,.pagelistbox .custom-right .custom-right-inner.custompage,.article-list-holder .article-item,.search-module .search-block,.search-module .search-block .search-word-panel .panel-title .split-line,.chatPanelBody .footer,.leftMsg .msgDiv:before,.leaveMsg .leaveMsgHeader,.medal-receive-title,.login-box .line{ border-color: #444 !important}.singlePage .mainBox{border:1px solid #444!important;}i.settings-category-arrow::after,.gui-settings-dropdown::after{border-color:white!important;}#player-header .bg-image{transition:all .2s .5s!important;}.bilibili-player-video-sendbar .bilibili-player-video-inputbar .bilibili-player-video-hint a{fill:#aaa!important;}svg.toast-card-dismiss path{fill:#fff!important;}.security-list .first-level .m-arrow,.page-content .right-side .up-list .fresh-btn:before,.s-lineMore-more .icon-right,.slide-controller .slide-btn .icon,#rankList .list-wrap .list .switch-day .icon-bottom,.list-wrap .s-showMore .icon-right,.breadcrumb .arrow,.error-container .error.split,.leaveMsg .leaveMsgBody .questionClassify .classIfyTitleArea .classIfyTitleIcn,.nav-header-wrapper .nav-header .user-panel .panel-list .icon,[class^=icon-]::after,.compact .primary-menu .nav-menu>li.home>a,.compact .primary-menu .nav-menu .side-nav .side-link i.square,.compact .primary-menu .nav-menu .side-nav .side-link i.zhuanlan,.compact .primary-menu .nav-menu .side-nav .side-link i.live,.compact .primary-menu .nav-menu .side-nav .side-link i.blackroom,.change-push .icon{filter:brightness(0) invert(1)!important;}.tool-box-v2-container .icon-tv,.tool-box-v2-container .icon-download,.funcPanel .addFace,.funcPanel .capture,.funcPanel .evaluate,.funcPanel .leaveMessage,.funcPanel .zhichiClose{filter:brightness(0) invert(.7)!important;}.bp-svg-icon.link,.face-g-list .mp-block .right ul li.reach::after,.cc-nav-wrp .logo,.prize-item .prize-img,.el-carousel .el-carousel__indicators .el-carousel__indicator.is-active,.banner .slides-pagination li.selected,.bui-sns-info>a>img,.slideshow .slides-next:hover,.slideshow .slides-prev:hover,.slideshow .slides-pagination li.selected,.mainmenu ul.grid li a.yxlb:hover,.mainmenu ul.grid li.hover a.yxlb,.mainmenu ul.grid li a.lbzx:hover,.mainmenu ul.grid li.hover a.lbzx,.carousel .indicator .indicator-btn-holder .indicator-btn.on,#page-channel-detail .watch-later-btn:hover,.error-container .error-panel .error-msg .error-img img,.leaveMsgUpload .btnarea .btnareaIcon,.coin-operated-m .like-checkbox input[type=checkbox]:checked+i,.video-list .vl-hd .display-tab li.on{filter:var(--blue-image-filter)!important;}.svg-icon.good-6-click{filter:var(--pink-image-filter)!important;}.article-item .item-holder .article-info-bar .like:before,.article-item .item-holder .article-info-bar .reply:before,.article-item .item-holder .article-info-bar .view:before,.search-module .search-block .search-icon,.search-module .search-block .search-word-panel .history-item .cancel,.rank-module .complete-rank::after,body>div.to-top.on,.rank-item .content .info .detail .b-icon.view,.rank-item .content .info .detail .b-icon.author,.leaveMsg .leaveMsgHeader .close,.sureWindow .close,.evaluateWether .evaluateno i,.evaluateWether .evaluateok i,.evaluateWether .operateType .unsolveActive span,.video-list .vl-hd .display-tab li{filter:grayscale(1)!important;}.container .host-list-layout .hot-list-wrap .bg-wrap .hot-list-title,#player-header .bg-image:hover{filter:brightness(0.7)!important;}#player-header .bg-image{filter:brightness(0.2)!important;}.up-feedback .icon-beta{filter:brightness(0.5)!important;}.tab-mk2.active,.face-g-more,.bangumi-player,.record-nav .on,.m-help .m-arrow{background-image:none!important;}.bangumi-player,.live-sidebar-ctnr,.el-picker-panel,.cc-article-wrp .info-wrp .cc-btn,.media-sponsor-wrapper .sponsor-right-area .sponsor-btn,.canvas-card dd .icon-contain .support,.bui-sns-info a .bd,.guide .old-btn a,.link-navbar-ctnr,.rank-item:hover,.singlePage .mainBox,.selector-wrapper,.nav-header-wrapper .nav-header .user-panel .user-uname,.nav-header-wrapper .nav-header .user-panel .panel-list,.demo-app .detail .category,.main_body .pick_up .pick_list .pick_block .pic{box-shadow:none!important;}#bilibiliPlayer{box-shadow:0px 4px 16px 0px var(--theme-color-40)!important;}.guide .feedback-btn a,.mainBox .leaveMsg,.js-evaluateArea .evaluateDialog,.project-list .project-list-item:hover,.publish-panel .hash-popup,#app .toolbar-wrapper,.article-action .ops .share-container .weixin-holder{box-shadow:0px 1px 10px 0px var(--theme-color-30)!important;}.main-container .title span::before,.top-banner,.nav-guide-container .nav-guide-tip .guide-tip-triangle,.canvas-card dd .icon-contain .support::after,.nav-bar .sub-nav::after,.bui-sns-info a .bd::after,.more .help .icon,.more .link .icon,.filter-wrap .icon-tid2-arr,.user-info .user-info-desc .arrow-left{display:none!important;}@supports (backdrop-filter: blur(24px)) or (-webkit-backdrop-filter: blur(24px)){.gui-settings-box.blur li.category,.gui-settings-box.blur .gui-settings-header,.gui-settings-box.blur .gui-settings-footer,.gui-settings-box.blur .gui-settings-content{background:transparent!important;}}.face-g-list .mp-block .right ul li.base .round{z-index:100!important;}.more .help,.more .link{padding-left:0!important;}body>div.to-top.on{background-repeat:no-repeat!important;}.article-action .ops .share-container .weixin-holder p{margin-bottom:10px!important;}.activity.topic-preview-wrapper .s-bottom{border-radius:0!important;}.card-list .card{border:none!important;border-radius:4px!important;}.list-filter-bar .sort-box .item.active,.list-filter-bar .sort-box .item:hover,.data-card .tab .data-tab.current:after,.audioplayer .ap-playlist .ap-playlist-body .ap-playlist-column-name-value:hover,.bili-switcher.checked,.pagelistbox .custom-right .custom-right-inner.custompage:focus,.sort-item.on i.active,.rank-module .rank-tabs-bar .rank-tabs-list li.on,.up-list .up-item .info-holder .head .follow,#rankList .list-wrap .list .switch.active,#rankList .list-wrap .list .switch:hover,#rankList .list-wrap .list .switch.active.active:after,#rankList .list-wrap .list .switch:hover.active:after,.danmu-hot .tab-list .tab.active,.container .hot-list .music-menu-list .choose-menu,.container .hot-list .music-menu-list .menu-type .type-triangle,.bili-radio:checked+span::before,.rightMsg .msgDiv::before,#index-player-vm .item-border{border-color:var(--theme-color)!important;}.blp-ui-slider-hover-container::before{border-top-color:var(--theme-color)!important;}.blp-ui-slider-hover-container::after{border-bottom-color:var(--theme-color)!important;}#index-player-vm .aside-item:after{border-right-color:var(--theme-color)!important;}.audioplayer .ap-controller,.audioplayer .ap-playlist,.form-login .input-box .item input:focus{border:1px solid var(--theme-color)!important;}.medal-progress>i,.gift-item-wrap .expiration,.el-date-table td.in-range.start-date:hover,.el-date-table td.in-range.end-date:hover,.el-date-table td.in-range.start-date,.el-date-table td.in-range.end-date,.nav-guide-container .guide-tip-btn .guide-tip-btn-left,.audioplayer .ap-controller .ap-controller-center .ap-progress-bar,.audioplayer .ap-controller .ap-controller-right .ap-volume-bar,.bili-switcher.checked,.rank-list .canvas-card:nth-child(-n+3)::after,.rank-list .item:nth-child(-n+3) .rank-index,.s-lineMore-more:hover,.s-rank.pink,.index-nav .n-i.gotop .btn_gotop:hover,.guide .feedback-btn a,.gift>.expires,.blp-ui-slider-process,.uploader-info .info .follow .btn,.bili-radio:checked+span::after,.upload-v2-step1-container .upload-btn,.error-container .big-btn,.zcChat .header,.rightMsg .msgDiv,.leaveMsg .submitArea .submit,.sureWindow .btngroup .leavesure,.evaluateWether .okactive,.evaluateWether .noactive,.evaluate .situation span.active,.evaluateSubmitArea .submit,.bilibili-live-player .blpui-btn.default-btn.btn-blue,.bilibili-live-player .bilibili-live-player-enter-tips,.banner-wrapper .swiper-pagination-bullet-active,.nav-header-wrapper .nav-header .profile-img.active::before,.coin-wrap .coin-sure,.up-feedback .up-fb-btn:hover,.draft-holder-block .draft-holder .panel .btn.on,.follow-dialog-wrap .follow-dialog-window .bottom .btn,.follow-dialog-wrap .follow-dialog-window .bottom .btn:hover,.progress-bar-ctnr .bar-body .progress-bar,.user-info > .uid,.receive-list-prev i,.receive-list-next i,.receive-list-page,.form-login .input-box .btn-box .btn-login{background-color:var(--theme-color)!important;}.audioplayer .ap-play-button svg,.audioplayer .ap-controller .ap-controller-center .ap-buffer-bar,.blp-ui-slider-buffer-container{background-color:var(--theme-color-60)!important;}.audioplayer .ap-play-button:hover svg{background-color:var(--theme-color-90)!important;}.face-g-more,.room-card-item:hover .room-name,.content-panel .title span:hover,.list-filter-bar .sort-box .item.active,.list-filter-bar .sort-box .item:hover,.list-filter-bar .pic-type-box .item.active,.list-filter-bar .pic-type-box .item:hover,.content-panel .title span:hover em,.medal-up-name>a,.list-link a,.record-nav .on,.noHover-link,.my-moral i,.viphelp span,.el-pager li:hover,.audioplayer .ap-playlist .ap-playlist-body li.ap-playlist-line-active,.audioplayer .ap-playlist .ap-playlist-body li:hover,.audioplayer .ap-button:hover,.bilibili-player-video-subtitle-setting-left-more:hover,.bilibili-player-video-subtitle-setting-left-more:hover .bp-svgicon,.bilibili-player-video-subtitle-setting-right-more:hover,.bilibili-player-video-subtitle-setting-right-more:hover .bp-svgicon,.setting .watermark-setting .watermark-wrp .is-selected,.search-module .search-block .search-word-panel .suggest_high_light,.rank-module .rank-tabs-bar .rank-tabs-list li.on,.rank-module .rank-list .item:hover a,.rank-module .complete-rank:hover,.up-list .up-item .info-holder .head .follow,.up-list .up-item .info-holder .head .nick-name:hover,.more .help .title:hover,.more .link .title:hover,.s-imgUnit-text a:hover,#mangoTv .mango-rank .text-list a:hover,#rankList .list-wrap .list .bar .text:hover,#rankList .list-wrap .list .switch.active,#rankList .list-wrap .list .switch:hover,#rankList .list-wrap .text-list a:hover,.list-wrap .s-showMore:hover,#activeCenter .s-imgUnit-img .overlay .des,.common-popup-wrap header,.gift-box:hover>.num,.blp-ui-button:hover > i,.base-info .desc .tag,.base-info .btn-wrapper .btn:active .icon-font,.base-info .btn-wrapper .btn:active,.base-info .btn-wrapper .btn:hover .icon-font,.base-info .btn-wrapper .btn:hover,.video-list-wrapper .video-list .icon-font:hover,.danmu-hot .tab-list .tab.active,.danmu-hot .video-list .video-wrapper .video:hover .title,.rank-item .content .info .title:hover,.rank-item .content .info .bangumi-num,.upload-agreement a,.channel-detail .content .breadcrumb .item:hover,.leaveMsgUpload .btnarea .btareatxt1,.hot-list .card-ctnr .room-count .amount,.hot-list .card-ctnr .room-count:hover .amount,.hot-list .card-ctnr .room-count:hover .icon-font,.hot-list .card-ctnr .room-count:hover,.panel-list .order-center-item:hover a,.similar-song-menu .similar-right .title:hover,#song_detail_click_upper~div .pager .pages .page-item.active button,#song_detail_click_upper~div .pager .pages .page-item button:hover,.article-action .coin-btn.on,.article-action .coin-btn.on i,.article-action .coin-btn:hover,.article-action .coin-btn:hover i,.article-action .fav-btn.on,.article-action .fav-btn.on i,.article-action .fav-btn:hover,.article-action .fav-btn:hover i,.article-action .like-btn.on,.article-action .like-btn.on i,.article-action .like-btn:hover,.article-action .like-btn:hover i,.article-action .ops i:hover,.coin-wrap .coin-title i,.coin-wrap .coin-nav .coin-checkbox.on .lable,#community_msg .dyn_menu li a:hover,.form-login .remember a,.app-link a,.popularize-module .online a:hover{color:var(--theme-color)!important;}.gift-item-wrap .expiration,.el-date-table td.in-range.start-date:hover,.el-date-table td.in-range.end-date:hover,.el-date-table td.in-range.start-date,.el-date-table td.in-range.end-date,.nav-guide-container .guide-tip-btn .guide-tip-btn-left,.rank-list .item:nth-child(-n+3) .rank-index,.s-lineMore-more:hover,.s-rank.pink,.index-nav .n-i .name:hover,.guide .feedback-btn a,.gift>.expires,.uploader-info .info .follow .btn,.upload-v2-step1-container .upload-btn,.error-container .big-btn,.infoBarName .inputIng,.infoBarName .titleName,.infoBar .infoBarText,.magBox .msgDiv .msgText,.leaveMsg .submitArea .submit,.sureWindow .btngroup .leavesure,.evaluateWether .okactive,.evaluateWether .noactive,.evaluate .situation span.active,.evaluateSubmitArea .submit,.bilibili-live-player .blpui-btn.default-btn.btn-blue,.bilibili-live-player .bilibili-live-player-enter-tips,.banner-wrapper .swiper-pagination-bullet-active,.coin-wrap .coin-sure,.up-feedback .up-fb-btn:hover,.user-info > .uid,.form-login .input-box .btn-box .btn-login{color:var(--foreground-color)!important;}.bilibili-player-video-danmaku-setting-left-more:hover .bp-svgicon,.bilibili-player-video-danmaku-setting-right-more:hover .bp-svgicon,.audioplayer .ap-progress-thumb svg path:first-child,.audioplayer .ap-progress-thumb svg path:nth-child(2),.bilibili-player-video-subtitle-setting-left-more:hover,.bilibili-player-video-subtitle-setting-left-more:hover .bp-svgicon,.bilibili-player-video-subtitle-setting-right-more:hover,.bilibili-player-video-subtitle-setting-right-more:hover .bp-svgicon,.bilibili-player-video-sendbar .bilibili-player-video-inputbar .bilibili-player-video-hint a:hover,.receive-list-page,.bilibili-player-video-toast-item-close:hover{fill:var(--theme-color)!important;}.leftMsg .msgDiv:before,.rightMsg .msgDiv::before{border-top-color:transparent!important;border-bottom-color:transparent!important;}i.settings-category-arrow::after,.gui-settings-dropdown::after{border-top-color:transparent!important;border-left-color:transparent!important;}.data-card .tab .data-tab.current:after,.sort-item.on i.active,#rankList .list-wrap .list .switch.active.active:after,#rankList .list-wrap .list .switch:hover.active:after,.container .hot-list .music-menu-list .menu-type .type-triangle{border-left-color:transparent!important;border-right-color:transparent!important;}.canvas-card dd .icon-contain .support,#page .game,.game-more,#page .game .game-box h4,#footer,.dc-option:hover,.cc-content-body .medal,.comment-manage-wrap .search input,.comment-manage-wrap .head .search .bili-input,.ui-select.white .ui-select-show-box,.ui-select.white .ui-select-show-box:hover,.ui-select .ul-select-list,.classify .classify-list .list-item .class-block,.classify .classify-list .list-item .class-block:hover,.ui-btn.sub-btn,.ui-btn.white,.cards-block .cards-list .card-item .card-case .title:empty,.cards-block .cards-list .card-item .card-case.type-head .text .content .block,.cards-block .cards-list .card-item .card-case .image,.ui-btn.white,#edit-page .btn-group.main-active-btn .ui-btn.loading,#edit-page .btn-group.main-active-btn a.white:hover,#edit-page .btn-group.main-active-btn button.white:hover,.ticket-container,.assist-wrap .addModal .modal-wrap,.ui-radio .ui-radio-icon,.classify .sub-list,.modal-wrap,.song-info .info-wrap .album-itro,.song-info .info-wrap .album-name,.checkbox.checked .radio-btn,.text-input input,.set-copyright .copyright-select-box,.set-copyright .copyright-icon .icon-none-copyright,.add-tag .edit .btn-hide,.add-tag .edit .input-wrapper input,.add-tag .tag-list .tag,.cards-block .cards-list .card-item .card-case.type2 .content .block,.faq-modal .modal-wrap .modal-content .text-content,.game-groom-m .type-name,#announcement-area .rank-ctnr .rank-icon,.review-reply-wrapper,.func-banner .btn-like,.func-banner .btn-dislike,.order-list-wrapper,.order-header-wrapper,.orderdetail-container .orderdetail-content,.total-container,.qrcode-active .qrcode-active-slider .close-btn,.trade-customn input,.alert-container,.bind-info .note-footer .btn-group .unable-btn,.bind-info .note-footer .btn-group .back-btn,.history-card:hover,.bangumi-up-info,.online-list .ebox,.online-list .ebox .ol,.demo-app .detail,.active-main .act-list ul li,.topic-main .act-list ul li,li.user-wrapper .avatar .detail,li.user-wrapper .avatar .detail .logout,#bp_right .bb_intro_box,.rhythm-storm .bl-button:disabled,.member-list-item .member-list-img,.pay-points-way-next,.pay-points-way-content,.pay-points-way-btn-disable,.bl-search:hover,.invite-code .copy-btn,.title-level .title-level-bar-wrap .title-level-bar,.title-factory-card .title-num .num-value,.record-ctnr .areas,.user-info > .tag-gray,.buy-vip-panel .panel-ctnr,.buy-vip-panel .panel-ctnr .panel-aside .aside-item.active,.content .user-protocol,.sub-tab-box .item.active,.recharge-store-box .cntr .store-content{background-color:#222!important;}.container .host-list-layout .hot-list-wrap .hot-song-list,.rank-list-container .rank-list-wrapper .rank-list,.rank-list-container .rank-list-wrapper,.rank-item-first .detail,.rank-item-first,.canvas-card,.activity-card,.link-panigation .panigation,.banner-text,.bui-sns-info,.nav-notice li a,.container .host-list-layout .hot-list-wrap .show-more-song,.dc-select .dc-option-group,.comment-manage-wrap .content .action-bar,.comment-manage-wrap .no-content,.comment-manage-wrap .head .dropdown-btn,.comment-manage-wrap .dropdown .dropdown-btn:hover,.dropdown .dropdown-menu,.comment-manage-wrap .dropdown.open .dropdown-btn,.comment-manage-wrap .head .dropdown-btn .text,.recent-danmu-wrp .danmu-filter .left .delete .option-wrp .act-btn,.recent-danmu-wrp .head .dropdown-btn,.rank-list-head .rank_tips,.condition-btn-disable,.official-submit-btn-disable,.el-upload--picture-card,.official-title-input,.bili-input,#edit-page,.cover-upload-box .no-img,.ui-select .ul-select-list .select-item.active,.ui-select .ul-select-list .select-item:hover,.float-toolbar .toolbar-list li,.assist-wrap .addModal .control-group.assist-rights .rights,.classify .sub-list .sub-item.active,.classify .sub-list .sub-item:hover,.read-list-component .creat-read-list-box .input-box button[disabled],.ui-radio input[type=radio]:active + .ui-radio-icon,body #app .category-wrapper .upload-content,.set-copyright .copyright-select-box .copyright:hover,.tag .delete,body #app .marquee,.promote-m .headline .change-push,.game-groom-m .title,.game-groom-m,.article-wrapper,.author-info-card,.relate-work-wrapper,.order-list-wrapper .order-list .order-item .order-item-body-wrapper,.project-info table tr,.project-info table tr:first-child,.qrcode-active .qrcode-active-slider,.trade-list,.trade-wrapper,.spend-recode,.el-table th,.el-table tr,.el-table .el-table__header-wrapper th,.el-table--enable-row-hover .el-table__body tr:hover > td,.balance_bp_box,.bb_intro_box_top,.bind-info,.shell-intro-top,.history-card,.income-info .item,.rel.pl26.mb18 .bggr,.u-btn-e,.u-btn-m,.u-btn-c,.drawer-card,.demo-app .detail .category,.rel.pl26.mb18 .bggr,.infor-body-left ul li,.infor-news .news-body,.infor-news .news-top,.cntr .category,.pagelist .flip-left span,.pagelist .flip-left strong,.pagelist .flip-right input,.nav-container .single-box .ep-item,.bangumi-list .synthetical .headline .bangumi-label,.avatar .detail .level a.total,.valid_box .button.ready,.valid_box .button.ready:active,.valid_box .button.ready:hover,.bili-pay-box-wrapper,.bili-pay-payment-wrapper,.bili-payment-list,.center-grid,.center-grid tbody tr:nth-child(odd),.section-filter,.sponsor-pay-dialog-v2 .sponsor-pay-content,.table-ctnr,.text-ctnr,.daily-task .task-item,.achievement-user,.achievement-card,.section-block.with-bottom-radius.a-move-in-left .invite,.sailors-ctnr,.apply-banner-table tr:nth-child(even),.record-ctnr,.record-ctnr .area-selection-cntr,.record-ctnr .areas .btn-cntr .btn,.record-ctnr .areas .btn-cntr .btn.normal,.buy-vip-panel .panel-ctnr .panel-aside,.gold-seed-store,.recharge-store-box dl.recharge-form .ipt-number,.fast-amount-list .item.free-amount input.ipt-free-amount{background-color:#444!important;}.player-auxiliary-area{background-color:#555!important;}.add-tag .edit .input-wrapper .container.active .btn-add,.infor-news .news-top,.spend-recode .title-group .selected-title,div.cntr a.check-all{background-image:none!important;}.link-footer .footer-linker .footer-linker-line,.nav-notice li,.nav-notice li.hover,#text-contribute .fixed-header,.alert-container .alert-header:after,.el-table--border:after,.el-table--group:after,.el-table:before,.app-ctnr,.el-table,.el-table__expanded-cell,.container .main-btn.edit-btn:hover,.player-auxiliary-area .player-auxiliary-filter,.bui-collapse .bui-collapse-header,.danmaku-wrap .player-auxiliary-area .player-auxiliary-danmaku-wrap,.gui-settings-box.blur,.bl-search,.buy-vip-panel .panel-ctnr .panel-aside .aside-item .item-img-ctnr{background-color:transparent!important;}.recent-danmu-wrp .danmu-filter .left .line,.preview-avatar-con,.preview-title,.ui-checkbox input[type=checkbox]:checked + .ui-checkbox-icon,.read-list-component .mask{background:transparent!important;}ul.a-fade-in.content li:nth-child(n+41):after{background-image:linear-gradient(#2221,#222)!important;}.link-footer .footer-img-linker .footer-img-item,.canvas-card dd h4 .user-container span,.canvas-card dd h4 .user-container a,.nav-bar .sub-nav .sub-tab,ul.navigation li span,.activity-card dd span,.sort-item,.filter-block .filter-item-wrapper,.bangumi-index-crumb ul li a,.bangumi-item .pub-info,.link-footer .footer-img-linker .footer-img-text,.cinema-home-crumb ul li a,.video-item-biref .biref-info .biref-title-sec,.banner-p a,.banner-p p,#page .game .game-box dl a,.footer-text p,.footer-text .record,.dc-radio-button,#dc-section_summary .follow-tool-box .follow-line-legend .legend-item .legend-text,.info-item-active p,.info-item-charge p,.info-item-medal p,.info-item-total p,.rank-active-target,.rank-fans-medal,.rank-vedio-target,.rank-vedio-view,.dc-radio-button_inner,.comment-manage-wrap .content .action-bar .dropdown .sort-btn,.comment-manage-wrap .search .fontvt,.comment-manage-wrap .dropdown .dropdown-menu li,.comment-manage-wrap .head .dropdown-menu .article-list .ac-link,.recent-danmu-wrp .danmu-filter .left .delete .option-wrp .act-btn,.recent-danmu-wrp .head .dropdown-menu .article-list li,.recent-danmu-wrp .tips,.danmu-wrp .section .title-tip .sub,.danmu-wrp .section .title-tip,.danmu-wrp .black-tip,.rank-menu li,.rank-item .content .info .pts,.rank-item .content .info .detail a,.rank-item .content .info .detail,.rank-tab-wrap,.rank-list-head .rank_tips,.more-data,.other span,.face-g-list#my-g-list .face-g-block .my-mp-block .mp-info .mp-descr,.face-g-list#my-g-list .face-g-block .my-mp-block .mp-info .mp-gettime,.ava-name,.ava-text,.title-module,.condition-txt,.condition-sub-title,.official-name-info,.form-title-info,.preview-avatar-con:after,.preview-title:after,.upload-txt,.value-length,.cc-album-create .info-wrp p,.upload-v2-step1-container .upload-agreement .reg-2,.tool-box-v2-container .tool-title,.tool-box-v2-container .tool-xiaowan-bilibili a,.tool-box-v2-container .tool-xiaowan a,.upload-v2-step1-container .upload-agreement .reg-1 > div a,.cover-upload-box .no-img,.tag-list-wrap .tag-list .add-item .tip,#edit-page .copyright-hint,#edit-page .block-wrap h3.block-title span.tips,.cards-block .cards-list .card-item .card-case .image .empty-icon p,.editor-box p.counter,.editor-wrap .article-title .count,.ui-input-textarea .count,.music-clue,.music-tips .music-tip,.read-list-component .tips,.read-list-component .tips.input-tips,.read-list-component .read-list-box li .count,.float-toolbar .toolbar-list .icon-block,.float-toolbar .back-top .icon-block,.song-info .info-wrap .contact-us,.upload-cover-wrapper .upload-cover-tips,.song-info .info-wrap .form-item-paper-input-wrapper .form-item-paper-total,.add-tag .default .placeholder,.checkbox .text,.text-input .text-length,.upload-image .tip,.set-copyright .copyright-select-box .copyright,.block-left .headline .hot-link,.danmu-wrp .section .label .second,.add-tag .edit .tip,.add-tag .edit .input-wrapper .count,.faq-modal .modal-wrap .modal-content .text-content p,.video-floor-m .zone-title .headline .tags li a,.game-groom-m .num,.promote-m .headline .sub-name,.hot-list .card-ctnr .room-count,.room-card .sub-area,.area-section .card-ctnr .tag-ctnr .tags,#announcement-area .rank-ctnr .anchor-name,#announcement-area .news-ctnr .news-date,.author-info-card .data-area .data-block h4,.stat-banner .author-name,.stat-banner .pub-time,.stat-banner .review-summary,.func-banner .right-btns a,.func-banner .right-btns span,.relate-work-wrapper .work-info .bread-crumb,.relate-work-wrapper .work-info .rate-info .tip,.order-list-wrapper .order-list .order-item .order-item-body-wrapper .order-item-body .order-item-name-wrapper .time,.orderdetail-container .orderdetail-wrapper .wrapper-ticket,.orderdetail-container .orderdetail-wrapper p,.project-info table .project-content .content-right p,.orderdetail-container .orderdetail-nav .orderdetail-nav-list li.order-center,.qrcode-active .qrcode-tip,.qrcode-active .qrcode-container-item .qrcode .qrstatus .qrstatus-time,.qrcode-active .qrcode-container-item .qrcode .qrstatus .qrstatus-title,.trade-wrapper > div > div,.trade-customn .tips,.agreement,.num-tip,.el-pagination.is-background .btn-next,.el-pagination.is-background .btn-prev,.el-pagination.is-background .el-pager li,.spend-recode .part-common .platformType,.el-date-table td.next-month,.el-date-table td.prev-month,.bind-info .note-content p,.el-checkbox__label,.history-card,.container .subtitle,.container .tip,.online-list .ebox .dlo .author,.online-list .ebox .dlo span,.error-panel.server-error .right-panel,.category li a,.tv-m-crumb li a,.tv-m3 .tv-m-desc,.tv-m2 .tv-m-desc,.tv-m1 .tv-m-desc,.tv-m3 .up,.tv-m2 .up,.tv-m1 .up,.tv-m3 .time,.tv-m2 .time,.tv-m1 .time,.mn-ot-l-u-icon1,.mn-ot-l-u-icon2,.tv-m3 .play,.tv-m2 .play,.tv-m1 .play,.tv-m3 .com,.tv-m2 .com,.tv-m1 .com,.tv-m3 .colt,.tv-m2 .colt,.tv-m1 .colt,.news-text .news-date,.pagelist .flip-right span,.topic-main .act-list ul li .found-time,.pager .jump-pager,.card-more,li.user-wrapper .avatar .detail .level .progress span,.pay-result-sub-title,.rel.pl122.mb20 .g3,.bili-pay-text,.bili-pay-panel-remark,.bili-payment-num i,.bili-payment-txt,.pay-bottom-link,.bili-pay-vouche-name,.pay-other p,.bili-pay-panel-name,.pay-activation-txt,.pay-points-way-title,.pay-points-way-txt,.bili-pay-voucher-help-disable,.article-holder .shop-card a .container .disc,.center-grid thead tr,.sponsor-pay-dialog-v2 .sp-pay-success .sponsor-pay-body .sponsor-pay-result .sponsor-pay-result-body p,.daily-task .task-item,.daily-task .task-item .task-status,.daily-task .task-item .desc,.achievement-card-centent > .text a,.achievement-card-centent > .header > .state-normal,.achievement-user-info > .info,.record-ctnr,.content .user-protocol,.sub-tab-box .item,.recharge-rule{color:#aaa!important;}.rank-item .detail .work-name,.rank-list-container .more .text,.canvas-card dd h3 a,.canvas-card dd .icon-contain .support,.rank-list .canvas-card:after,.rank-list .canvas-card:nth-child(-n+3):after,ul.navigation li.activated span,.activity-card dd h4,.link-panigation .panigation,.link-panigation .panigation.selected,.panigation .arrow-right i,.activity-card .category-tab,.filter-block .filter-name,.bangumi-item .bangumi-title,.filter-wrapper .filter-title,.bangumi-item .cover-wrapper .shadow,.bangumi-item .cover-wrapper .corner-tag,.block-area .block-left .block-header .block-title,#page .game .game-box h4,.nav-notice li a,.nav-notice li.hover,.game-more,.bui-sns-info a,.footer-box a,.dc-section-item_title_custom .sectionTitle,.ellipsis,.dc-option,.dc-section-item_title,.comment-manage-wrap .content .action-bar .action-btn span,.comment-manage-wrap .search input,.comment-manage-wrap .dropdown .dropdown-btn,.comment-manage-wrap .head .search .bili-input,.recent-danmu-wrp .dropdown .dropdown-btn,.danmu-wrp .section .title,.danmu-wrp .input-group,.btn-sponsor-wrapper a.sponsor-btn,.main-container .sponsor-wrapper .sponsor-right-area .sponsor-btn,.rank-item .num,.rank-item .content .info .pts div,.other a,.other strong,.video-model header h2,.info-model header h2,.fjw-random header h2,.timer-wrap .timer-top h2,.fjw-point header h2,.comment-wrap header h2,.face-g-list#my-g-list .face-g-block .my-mp-block .mp-info .title,.face-g-list#my-g-list .face-g-block .my-mp-block .mp-info .btn,.face-g-list#my-g-list .face-g-block .my-mp-block .mp-info .btn-white,.assist-wrap .assist-list header h1,.assist-wrap .assist-log header h1,.official-title,.card-name,.card-info,.condition-title,.condition-btn-disable,.official-label,.official-submit-btn-disable,.check-warp .el-checkbox,.preview-title-line1,.ui-select .ui-select-show-box,.danmu-wrp .section .bili-input,.upload-v2-step1-container .video-jam .video-jam-pretext,.cards-block .radio-list .radio-item .radio-label.active,.cards-block .radio-list .radio-item .radio-label:not([disabled=disabled]),.ui-select .ul-select-list .select-item,.classify .classify-list .list-item .class-block,.read-list-component .create-btn,.tag-list-wrap .tag-list .add-item .add-control,.cards-block .cards-list .card-item .card-case .user-info span,#edit-page .btn-group.main-active-btn a.white,#edit-page .btn-group.main-active-btn button.white,.ui-btn.blue-radius,.protocol-block,.create-compilations-btn .album-flex .album-bar-btn .album-bar-btn-text,.music-upload-wrapper .upload-music-bar-wrapper .pload-music-bar-btn,.assist-wrap .addModal .control-group > label,.assist-wrap .addModal .control-group,.ui-input-text input,.el-button--primary,.bangumi-info .info-right .info-title .func-module .bangumi-btn .btn-follow,.read-list-component .creat-read-list-box .input-box button[disabled],.read-list-component .creat-read-list-box .input-box button,.read-list-component .read-list-box li label .title,.song-info .info-wrap .title,.song-info .info-wrap .submit-btn,.song-info .info-wrap .album-itro,.song-info .info-wrap .album-name,.title .text,.category-wrapper .upload-title-text,.text-input input,.agree-rule .text,.submit-btn,body #app .category-wrapper .upload-content .title,.block-left .headline h4,.recent-danmu-wrp .danmu-filter .from-wrp .bili-input,.category-wrapper .tweet-title,.add-tag .edit .input-wrapper input:hover,.add-tag .edit .input-wrapper input:focus,.tag .text,.add-tag .edit .input-wrapper .btn-add,.tag .delete,.faq-modal .modal-wrap .modal-content .text-content h1,.game-groom-m a .title,.game-groom-m .type-name,#area-anchor .area-title-link,.idol-show .section-title .title,#announcement-area .rank-ctnr .cover-ctnr,#announcement-area .rank-ctnr .rank-icon,.item .live-status,#area-anchor .icon-play,.article-wrapper .review-content,.article-wrapper .review-title,.review-reply-wrapper .review-reply-title,.author-info-card .author-info .info-right .author-name,.author-info-card .data-area .data-block p,.func-banner .btn-like,.func-banner .btn-dislike,.relate-work-wrapper .wrapper-title,.relate-work-wrapper .work-info .work-title,.author-info-card .author-info .info-right .btn-attention,.order-header-wrapper,.order-header-wrapper .order-header-status,.order-list-wrapper .order-list .order-item .order-item-body-wrapper .order-item-body .order-item-name-wrapper .name,.order-list-wrapper .order-list .order-item .order-item-body-wrapper .order-item-body,.order-list-wrapper .order-list .order-item .order-item-body-wrapper .order-item-btn-group .btn.canceldetail,.order-list-wrapper .order-list .order-item .order-item-body-wrapper .order-item-btn-group .btn.checkdetail,.orderdetail-container .orderdetail-status .status-text,.project-info table .project-content .content-right h1,.project-info table tr,.orderdetail-container .orderdetail-wrapper h1,.project-info table th,.total-container div,.qrcode-active .qrcode-container-item .seat-info,.qrcode-active .qrcode-container-item .seat-info span,.trade-wrapper,.qrpay-group .qrpay-content .pay-tips,.trade-customn input,.alert-container .alert-header h2,.alert-container .alert-content .button,.spend-recode .title-group .selected-title,.el-pagination__total,.el-pagination__jump,.el-table .el-table__header-wrapper .el-table__header .cell,.el-table .el-table__row .cell,.bp_user_box_top p,.bp_user_box i,.balance_bp_box,.bb_intro_box_top .b_icon_title,.shell-intro-top .bind-card-title,.bind-info .bind-sub-title,.bind-info .note-footer .btn-group .unable-btn,.bind-info .note-footer .btn-group .back-btn,.income-info .item .info-title,.rhythm-storm label,.bangumi-up-info .func-btns .b-gz,.nav-container .single-box .ep-item,.nav-container .single-box .ep-item:hover,.container .main-btn,.online-list .ebox .etitle,.cl.mb20 .g1,.rel.pl26.mb18 .rank,.u-btn-m,.u-btn-c,.u-btn-e,.u-btn-e:hover,.error-panel .rollback-btn,.error-manga .change-img-btn,.hot-activity a,.hot-content .title,.drawer-card dd,.rel.pl26.mb18 .g1,.bbgr.cl.h29 .g1,.tv-m1 .tv-m-tt,.rel.pl122.mb20 .rank,.rel.pl26.mb18 .rank,.rel.pl122.mb20 .g1,.news_block .text-name,.infor-label .label-date,.news-body .news-1 .news-text p,.infor-news .news-top,.news-body .news-1 i,.active-main .active-title .b-active-t,.active-main .act-list ul li h2 a,.active-main .act-list ul li .event_status,.pagelist .flip-left span,.pagelist .flip-left .active,.pagelist .flip-left span:hover,.pagelist .flip-right input,.topic-main .nav-tab li,.topic-main .topic-title .b-topic-t,.topic-main .act-list ul li h2 a,.w160.h48.ovh .g1,.balance_bp_box .button:active,.balance_bp_box .button:hover,.bangumi-list .synthetical .headline .bangumi-label,.header .right li.order span a,.bb_intro_box .bb_intro_info,.valid_box .button.ready,.valid_box .button.ready:active,.valid_box .button.ready:hover,.rhythm-storm .bl-button:disabled,.bili-pay-uname,.pay-result-title,.pay-result-btn,.player-auxiliary-area .player-auxiliary-filter-title,.player-auxiliary-area .player-auxiliary-filter-menu,.bili-payment-list,.bili-pay-price,.pay-activation-btn,.pay-other-way-link,.pay-points-way-content,.pay-points-way-btn-disable,.pay-points-way-btn,.article-holder .shop-card a .container .title,.center-grid tbody tr,.sponsor-pay-dialog-v2 .sp-pay-success .sponsor-pay-body .sponsor-pay-result .sponsor-pay-result-body p.sponsor-pay-result-title,.sponsor-pay-dialog-v2 .sponsor-pay-header,.favourite-card .other-info-ctnr > div,.tabnav-tip.plain,.achievement-card-centent > .header,.achievement-card-centent > .header > .icon,.title-factory-card .title-num .num-value,.sailors-ctnr,.record-ctnr .areas-tip-cntr .areas-tip,.record-ctnr .area-selection-cntr .tips,.record-ctnr .areas .btn-cntr .btn,.record-ctnr .areas .btn-cntr .btn.normal,.record-ctnr .areas .btn-cntr .btn.normal:hover,.user-info > .tag-gray,.buy-vip-panel .panel-ctnr .panel-aside .aside-item .item-label,.live-btn.default,.recharge-store-box dl.recharge-form dt,.recharge-store-box dl.recharge-form .ipt-number,.fast-amount-list .item.free-amount input.ipt-free-amount{color:#eee!important;}.container .host-list-layout .hot-list-wrap .hot-song-list,.link-footer .footer-img-linker .footer-img-item,.canvas-card dd .icon-contain .support,.link-panigation .panigation,.cinema-home-crumb ul li,.banner,.nav-notice li,.nav-notice li.hover,.rank-active-target,.rank-fans-medal,.rank-vedio-target,.rank-vedio-view,.dc-select-label,.dc-select .dc-option-group,.comment-manage-wrap .no-content,.comment-manage-wrap .content .action-bar .action-btn span,.comment-manage-wrap .content .check-box.checked,.comment-manage-wrap .search input,.comment-manage-wrap .dropdown .dropdown-btn,.comment-manage-wrap .head .dropdown-btn .text,.recent-danmu-wrp .danmu-filter .left .danmu-type,.recent-danmu-wrp .danmu-filter .left .protect,.recent-danmu-wrp .danmu-filter .left .refresh,.recent-danmu-wrp .danmu-filter .left .delete,.recent-danmu-wrp .dropdown .dropdown-btn,.bilibili-player .bilibili-player-area-separator,.rank-item div.num,.rank-item,.other,.face-g-list#my-g-list .face-g-block .my-mp-block .mp-info,.face-g-list#my-g-list .face-g-block .my-mp-block .mp-info .btn:hover,.face-g-list#my-g-list .face-g-block .my-mp-block .mp-info .btn,.official-title-input,.official-right-float .el-upload--picture-card,.ui-select.white .ui-select-show-box,.bili-input,.classify .classify-list .list-item .class-block,.ui-btn.sub-btn,.ui-btn.white,#edit-page .btn-group.main-active-btn a.white,#edit-page .btn-group.main-active-btn button.white,.ui-input-textarea,.el-button--primary,.bangumi-info .info-right .info-title .func-module .bangumi-btn .btn-follow,.ui-radio.active .ui-radio-icon,.ui-radio .ui-radio-icon,.read-list-component hr,.read-list-component .creat-read-list-box .input-box button,.read-list-component .creat-read-list-box .input-box,.song-info .info-wrap .album-itro,.song-info .info-wrap .album-name,.checkbox.checked .radio-btn,.upload-image,.text-input input,.set-copyright .copyright-select-box,.recent-danmu-wrp .danmu-filter .from-wrp .bili-input,.add-tag .edit .input-wrapper input,.add-tag .edit .input-wrapper input:hover,.add-tag .edit .input-wrapper input:focus,.promote-m .headline .change-push,.game-groom-m,#announcement-area .news-ctnr .title-row,.author-info-card .data-area .split-line,.func-banner .btn-like,.func-banner .btn-dislike,.order-list-wrapper .order-list .order-item,.order-list-wrapper .order-list .order-item .order-item-body-wrapper .order-item-btn-group .btn.canceldetail,.order-list-wrapper .order-list .order-item .order-item-body-wrapper .order-item-btn-group .btn.checkdetail,.orderdetail-container .orderdetail-status,.project-info table tr:last-child,.project-info table tr,.orderdetail-container .orderdetail-wrapper .wrapper-content,.b-info .dividing-line,.trade-list,.spend-recode,.el-table td,.el-table th.is-leaf,.spend-recode .part-common .platformType,.balance_bp_box,.bb_intro_box_top,.bp_user_box_top,.bind-info,.shell-intro-top,.bind-info .dividing-line,.bind-info .note-footer .btn-group .unable-btn,.bind-info .note-footer .btn-group .back-btn,.income-info .item,.container .main-btn,.container .main-btn:hover,.container .main-btn.edit-btn,.b-head.online,.online-list .ebox,.u-btn-e,.u-btn-m,.u-btn-c,.mg-l.w880.cl .bbgr,.tv-m1 .tv-m-con,.infor-body-left ul li,.news-body .news-1,.active-main .act-list ul li,.active-main .active-title,.pagelist .flip-left span,.pagelist .flip-left .active,.pagelist .flip-left span:hover,.pagelist .flip-right input,.topic-main .nav-tab,.topic-main .act-list ul li,.nav-container .single-box .ep-item,.bangumi-list .synthetical .headline .bangumi-label,.bb_intro_box .bb_intro_info,#bp_right .bb_intro_box,#bp_right .bb_intro_box_top,.valid_box .button.ready,.valid_box .button.ready:active,.valid_box .button.ready:hover,.valid_box .button,.rhythm-storm .bl-button,.bili-pay-header-wrapper,.bili-pay-payment-wrapper,.bili-payment-list,.payment-active,.pay-points-way-content,.pay-points-way-select,.article-holder .shop-card,.favourite-card,.favourite-card .anchor-info,.favourite-card .other-info-ctnr .anchor-live:before,.section-filter,.sponsor-pay-dialog-v2 .sp-pay-success .sponsor-pay-msg,.daily-task .task-item,.achievement-user,.achievement-card,.achievement-card-centent > .header > .state-normal,.achievement-user-info > .info,.title-factory-card .title-num .num-value.num-input,.sailors-ctnr,.record-ctnr,.record-ctnr .area-selection-cntr,.record-ctnr .areas,.record-ctnr .areas .btn-cntr .btn.normal,.buy-vip-panel .panel-ctnr,.recharge-store-box dl.recharge-form .ipt-number{border-color:transparent!important;}.banner-p a,.fjw-random .point-wrap .cnt,.fjw-random .point-wrap .cnt .list,.face-g-list#my-g-list .face-g-block .my-mp-block,.ui-input,.set-copyright .copyright-icon .icon-none-copyright,.area-section .card-ctnr .tag-ctnr .tags,.trade-wrapper,.el-date-table th,.user-info > .tag-gray,.recharge-store-box ul.select-list .item{border-color:#aaa!important;}#BilibiliVipDialog{border:none!important;}.mainmenu ul.grid li a.yxzx,.footer-logo,.more-data i,.block-left.block-brand .headline .tab-wrap .pgc-brand-tab,.qrcode-active .qrcode-active-slider .close-btn .close-btn-bg,.icon-arrow-r,.u-btn-m i,.u-btn-e i,.play-btn .icon-play{filter:brightness(0) invert(1)!important;}.infor-load-more{filter:invert(0.75)!important;}.bb_intro_box_top .b_question .b_question_icon{filter:brightness(0.5) contrast(3)!important;}.float-toolbar .toolbar-list .icon-block.icon-help,.float-toolbar .toolbar-list .icon-block.icon-feedback,.float-toolbar .back-top .icon-block.icon-back-top,.icon-sort3-on,.u-btn-s3:hover,.on.u-btn-s3,.timer-wrap .vote-dialog-new .main .main-txt-1 label .selected,.timer-wrap .vote-dialog-new .main .checkbox,.icon-slide-h,.title-factory-card.selected:after,.recharge-store-box ul.select-list .item.active:after{filter:var(--blue-image-filter)!important;}.episode-item .mark-icon,.add-tag .default .btn-show,.project-info table .project-content .content-right .ticket-type span,.article-holder .shop-card a .container .bottom-col .card-label{filter:var(--pink-image-filter)!important;}#edit-page,.orderdetail-container .orderdetail-content{box-shadow:none!important;}div.cntr a.check-all{box-shadow:0px 1px 10px 0px var(--theme-color-30)!important;}.icon-hot,.icon-new,.icon-home{display:none!important;}.sort-item.on i.active,.banner-p h3,.banner-p a:hover,#page .game .game-box h4 span,.dc-radio-button.is-active,.dc-radio-button.is-active:after,.rank-menu li.active,.ui-tabs .ui-tabs-head .tab-head-item.current a,.ui-tabs .ui-tabs-head .tab-head-item.current a:after,.classify .classify-list .list-item .class-block:hover,.tabs-nav .active,.ui-checkbox input[type=checkbox]:checked + .ui-checkbox-icon,.ui-radio.active .ui-radio-icon,.ui-radio input[type=radio]:hover + .ui-radio-icon,body #app .marquee,.area-section .card-ctnr .tag-ctnr .tags:hover,.func-banner .btn-like:hover,.func-banner .btn-dislike:hover,.func-banner .btn-like.active,.func-banner .btn-dislike.active,.author-info-card .author-info .info-right .btn-attention,.swiper-pagination-custom,.trade-wrapper.is-selected,.bangumi-up-info .func-btns .b-gz,.act.tv-u-btn-t,.balance_bp_box .button,.bili-pay-panel-list-active,.blink-border.blue,.invite-code .copy-btn,.title-factory-card.selected,.record-ctnr .areas .all-area.checked,.recharge-store-box ul.select-list .item.active,.recharge-store-box ul.select-list .item:hover{border-color:var(--theme-color)!important;}.nav-bar .nav-wrapper .slide-block,ul.navigation li:after,.link-panigation .panigation.selected,.bangumi-item .cover-wrapper .corner-tag.badge_0,.comment-manage-wrap .content .check-box.checked,.btn-sponsor-wrapper a.sponsor-btn,.main-container .sponsor-wrapper .sponsor-right-area .sponsor-btn,.bilibili-player .bilibili-player-auxiliary-area .bilibili-player-info .bilibili-player-setting-menu-wrap .bilibili-player-setting-menu-list .active-point,.face-g-list#my-g-list .face-g-block .my-mp-block .mp-info .btn:hover,.face-g-list#my-g-list .face-g-block .my-mp-block .mp-info .btn,.ui-btn.blue-radius,.bangumi-info .info-right .info-title .func-module .bangumi-btn .btn-follow,.read-list-component .creat-read-list-box .input-box button,.ui-radio input[type=radio]:checked + .ui-radio-icon:after,.song-info .info-wrap .submit-btn,body #app .category-wrapper .dot,.checkbox.checked .radio-btn:before,.add-tag .default .btn-show,.promote-m .headline .change-push:hover,#announcement-area .rank-ctnr .rank-icon.hot,.item .live-status.on,.author-info-card .author-info .info-right .btn-attention,.alert-container .alert-content .button,.bangumi-up-info .func-btns .b-gz,.nav-container .single-box .ep-item:hover,.rel.pl122.mb20 .bgre,.u-btn-e:hover,.error-panel .rollback-btn,.error-manga .change-img-btn,.rel.pl122.mb20 .bgre,.news-body .news-1 i,.balance_bp_box .button,.pagelist .flip-left .active,.pagelist .flip-left span:hover,.balance_bp_box .button:active,.balance_bp_box .button:hover,.rhythm-storm .bl-button,.pay-result-btn,div.cntr a.check-all,.bili-header-m .bubble-traditional .renew-btn button,.pay-other-way-link,.pay-other-way-link:hover,.pay-activation-btn,.pay-activation-btn:hover,.pay-points-way-btn,.tabnav-tip.plain,.record-ctnr .areas .btn-cntr .btn:hover,.record-ctnr .areas .btn-cntr .btn.normal:hover,.live-btn.default,.live-btn.default:hover,.live-btn.default:active{background-color:var(--theme-color)!important;}.valid_box .button,.pay-result-btn:hover,.page-title .count{background:var(--theme-color)!important;}.canvas-card dd h4 .user-container a:hover,.nav-bar .sub-nav .sub-tab.active,.rank-item .detail .work-name:hover,ul.navigation li:hover,.activity-card dd h4 a:hover,.link-panigation .panigation:not(.selected):hover,.panigation .arrow-right:hover i,.filter-block .filter-item-wrapper .filter-item.on,.bangumi-index-crumb ul li.on a,.bangumi-index-crumb ul li:hover a,.sort-item.on,.bangumi-item .bangumi-title:hover,.link-panigation .panigation:hover,.cinema-home-crumb ul li.on a,.cinema-home-crumb ul li:hover a,.banner .slides-pagination li a:hover,#page .game .game-box dl a:hover,.banner-p a:hover,#page .game .game-box dl dt,.footer-box .footer-text a:hover,.dc-radio-button.is-active,.dc-option:hover,.comment-manage-wrap .dropdown .dropdown-menu .selected,.comment-manage-wrap .content .action-bar .dropdown .sort-btn:hover,.rank-menu li.active,.rank-tab-wrap .rank-tab .active,.check-warp a,.ui-select .ul-select-list .select-item.active,.ui-select .ul-select-list .select-item:hover,.ui-tabs .ui-tabs-head .tab-head-item.current a,.tool-box-v2-container .tool-xiaowan-bilibili a:hover,.tool-box-v2-container .tool-xiaowan a:hover,.classify .classify-list .list-item .class-block:hover,.protocol-block a,.protocol-block a:hover,.music-clue .font-blue,.music-clue .iconfont,.music-tips .music-tip:hover,.ui-checkbox input[type=checkbox]:checked + .ui-checkbox-icon,.classify .position span,.upload-tips,.agree-rule .rule,body #app .category-wrapper .upload-tip,.set-copyright .copyright-select-box .copyright.selected .text,.block-left .headline .hot-link:hover,body #app .marquee a,.faq-modal .modal-wrap .modal-content .text-content a,.faq-modal .modal-wrap .modal-content .text-content a:active,.faq-modal .modal-wrap .modal-content .text-content a:hover,.set-copyright .copyright-select-box .copyright:hover .text,.video-floor-m .zone-title .headline .tags li a:hover,.game-groom-box-m .game-groom-m:hover .title,#area-anchor .area-title-link:hover,.area-section .card-ctnr .tag-ctnr .tags:hover,.idol-show .section-title .title:hover,.func-banner .right-btns a:hover,.func-banner .right-btns span:hover,.func-banner .btn-like:hover,.func-banner .btn-dislike:hover,.func-banner .btn-like.active,.func-banner .btn-dislike.active,.relate-work-wrapper .work-info .go-play,.project-info table .project-content .content-right h1:hover,.orderdetail-container .orderdetail-status h1,.total-container div span.total,.project-info table .project-content .content-right .ticket-type,.project-info table td.total,.swiper-pagination-custom,.trade-wrapper.is-selected,.instructions,.agreement a,.qrpay-group .qrpay-content .price,.spend-recode .title-group .recode-title,.bb_intro_box_top .b_question .b_question_title:hover,.balance,.bind-info .note-content a,.bind-info .bind-sec-title,.bind-info .note-footer .agree-group .submit-deal,.income-info .item.left .value,.income-info .item.right .value,.selector-wrapper .type-list .current-type span.active,.selector-wrapper .type-list li:hover,.selector-wrapper .city-list .li-more span:hover,.selector-wrapper .order-list .li-more span:hover,.project-list .project-list-item .project-list-item-detail .project-list-item-price,.container .main-btn:hover,.container .main-btn.edit-btn,.online-list .ebox .dlo .author:hover,.online-list .ebox a:hover .etitle,.online-list .ebox:hover .ol b,.cl.mb20 .g1:hover,.hot-activity a:hover,.drawer-card li a:hover dd,.category li a:hover,.rel.pl26.mb18 .g1:hover,.tv-m-crumb li a:hover,.bbgr.cl.h29 .g1:hover,.tv-m1 .tv-m-tt:hover,.act.tv-u-btn-t,.rel.pl122.mb20 .g1:hover,.news-body .news-1 .news-text:hover .n-text,.nav-bar .nav-wrapper .main-tab:hover,.active-main .act-list ul li .event_status .status-ing,.active-main .act-list ul li h2 a:hover,.topic-main .nav-tab .on,.w160.h48.ovh .g1:hover,.card-more a,.player-auxiliary-area .player-auxiliary-filter-menu:hover,.bili-pay-panel-list-active .bili-pay-price,.bili-payment-num,.pay-points-way-next,.article-holder .shop-card a .container .bottom-col,.center-grid th a:hover,.center-grid td a:hover,.favourite-card .other-info-ctnr > div .anchor-status.on-live,.blink.blue,.blink-border.blue,.task-info .task-bar .status-icon.active,.achievement-card-centent > .header > .state-normal.-success,.achievement-user-info > .a,.invite-code .code,.invite-code .copy-btn,.title-factory-card .title-num .num-value,.title-factory-card .title-num .ajust-btn,.record-ctnr .areas .all-area.checked,.sub-tab-box .item.active,.content .user-protocol a,.recharge-store-box ul.select-list .item.active,.recharge-store-box ul.select-list .item:hover,.btn-recharge-bcoin,.recharge-rule a{color:var(--theme-color)!important;}.valid_box .button,.rhythm-storm .bl-button,div.cntr a.check-all,.bili-header-m .bubble-traditional .renew-btn button{color:var(--foreground-color)!important;}#page .game .game-box,.comment-manage-wrap .head .dropdown-menu .article-list,#edit-page .block-hr{border-top-color:transparent!important;border-bottom-color:transparent!important;}#page .game .game-box-1,#page .game .game-box-3,.game-box-all,.footer-logo,.season-item.on:after,.dc-radio-button.is-active:after,.bili-tab.current:after,.ui-tabs .ui-tabs-head .tab-head-item.current a:after,.bili-pay-payment-nav,.bili-payment-list-border{border-left-color:transparent!important;border-right-color:transparent!important;}.title-list .title-list-item:hover .tips,.title-factory-card,.p-relative.gold-seed-store.over-hidden .content,.live-btn.default,.collapse-subitem--active,.invtable tr:nth-child(odd) td,.el-input-group__append,.el-input-group__prepend,.cc-article-wrp .article-card .meta-view .appeal,.cc-article-wrp .article-card .meta-view .data,.cc-article-wrp .article-card .meta-view .delete,.cc-article-wrp .article-card .meta-view .option,.comment-list-item .ci-action a:hover,.comment-manage-wrap .content .action-bar .dropdown .action-menu li:hover,.comment-manage-wrap .content .action-bar .dropdown .sort-menu li:hover,.hash-popup .topic-container .item.is-selected,.fjw-kpi-wrap,.mobile-kpi-head h2,.mini-progress,.tab-selector-wrap .tag-wrap .tag span,.tab-selector-wrap .tag-wrap .tag span.selected,.cc-body .setting,.dropdown__content .dropdown__active,.dropdown__content .dropdown__item:hover,.layout .layout-main .main-footer,.home-index .even,.home-index .odd,.stm-ly .sd-l a:hover,.stm-ly .ct .stm-filter li.on,.stm-lst-item .share,.nav-item3:hover,.nav-item3.active,.nav-item2 .nav-item2-title:hover,.biliPager .pager-jumper .pager-jumper-input,.biliPager .pager-jumper a,.common-modal-container .common-modal-content .common-modal-foot > div div:nth-child(2),.drop-cascader-container .drop-cascader-pre-wrp .drop-cascader-pre-item:hover,.drop-cascader-container .drop-cascader-list-wrp .drop-cascader-list-item:hover,.drop-list-v2-container .drop-list-v2-item:hover,.time-picker-v2-container .time-picker-body-wrp .time-picker-panel-select-wrp .time-picker-panel-select-item:hover,.main-c .main-b .main-b-l .convert,.channel-menu,.nameplate-card,.black-list .black-btn,.privilege-box-right-btn,.bui-container .gift-recommend,.bui-container .gift-all,.widescreen.footer .footer-box,.widescreen .footer,.player-limit-wrap .limit_not_start_wrap .not_start_btn .follow:hover,#app .player-box,.bili-wrapper.clearfix .up-info-m,.elecrank-wrapper .elecrank-content .rank-item .msg,.elecrank-wrapper .elecrank-content .rank-item .item-num,.log-list li.log-item,.video-toolbar-module .share-box .share-popup .share-address ul li input,.face-g-list .mp-block .right ul li .mp-tips,.face-buy-footer .btn-mk2.primary,.popup-btn .btn-default,.d-buttons .d-state-highlight,.d-buttons .d-button,.groom-box-m.clearfix .groom-module .type-name,.new_list .vd_list li.l1{background-color:#222!important;}.live-haruna .tab-body .item,.title-item,.help-list,.help-box,.right-action-ctnr.pointer.dp-i-block.primary.btn.p-relative .btn.primary,.code-content,.invtable .codedone,.cc-article-wrp .article-card,.videoCharts .stat .stat-wrp,.article-data-wrp .video-box,.article-net-charts .content-box,.article-net-charts .area,.comment-manage-wrap .content,.head .dropdown-btn,.head .dropdown.open .dropdown-btn,.dc-button.dc-button-text,.dc-progress-bar,.h-none-btn,.list.main_body .right_box .select_box .select .option_block .option:hover,.anime-expo-container,.hot-goods-container,.goods-container,.comment-container,.comment-container .main-desc .goods-info,.scroll-container .main .article-container,.fjw-kpi-wrap .fjw-kpi-mid .fjw-grade-wrap,.fjw-kpi-wrap .fjw-kpi-top,.fjw-kpi-wrap .fjw-kpi-foot .fjw-kpi-presents,.tab-selector-wrap,#newsList #list,.pagination-container li.pagination-input-wrap .pagination-input,.infor-body .news-contents,.pager .jump-pager input[type=number],.article-header .filter-wrp .category-wrp,.article-header .filter-wrp .order-wrp,.article-header .filter-wrp .article-type,.article-header .filter-wrp .filter-article-type,.article-header .filter-wrp .filter-level,.article-header .filter-wrp .article-type .bili-btn,.article-header .filter-wrp .filter-article-type .bili-btn,.article-header .filter-wrp .filter-level .bili-btn,.dropdown__content,.ivu-input-costom-width .ivu-input-wrapper .ivu-input-wrapper-default .ivu-input-type .ivu-input,.ivu-form-item-error .ivu-input-group-append,.ivu-form-item-error .ivu-input-group-prepend,.tags-box .tag,.btn-primary,.tag-modal,.s-paging > ul > a,.s-paging > ul > span,.s-paging > ul > a.disabled,.s-paging > ul > span.disabled,.s-paging .jump-to-page input[type="text"],.s-paging > ul > a:not(.disabled):not(.current):not(a):hover,.s-paging > ul > span:not(.disabled):not(.current):not(a):hover,#newsDetail .news-detail-content,.stm-ly > .sd > .sec,.stm-ly .usr,.stm-ly .usr .info,.stm-ly .usr .status,.stm-ly .stm-lst li,.stm-ly .stm-lst,.stm-ly > .ct,.security-right .sr-b .box-inner,.drawer-pop-ctn.pop-ctn-4 .drawer-pop,.app-ctnr .live-helper .main-content,.app-ctnr .live-helper .main-content .anchor li,.nav-warp2 .nav-item3,.nav-item2 .nav-item2-title,.nav-item1 .nav-item1-title,.normal-v2-container .normal-title-wrp>.template-op,.alert-v2-container-info,.file-list-v2-wrp .file-list-v2-item .file-list-v2-item-wrp .item-upload-progress,.select-box-v2-container .select-box-v2-controller,.input-box-v2-1-container,.label-item-v2-2-container,.content-tag-v2-container .content-tag-v2-edit-mod-wrp,.content-tag-v2-container .content-tag-v2-other-tag-error-wrp,.file-list-v2-container .file-add-btn,.template-list-small-container,.common-modal-container .common-modal-content,.cover-v2-container .cover-v2-detail-wrp .cover-v2-selector .cover-v2-selector-items .selector-item,.drop-cascader-container,.drop-list-v2-container,.check-radio-v2-2-container,.d-time-v2-container .d-time-v2-date-picker-wrp .date-picker-date-wrp .date-picker-date,.d-time-v2-container .d-time-v2-date-picker-wrp .date-picker-date-wrp .date-picker-timer,.submit-button-group-v2-container .submit-btn-group-tpl,.date-picker-v2-container,.time-picker-v2-container,.channel-menu .box a:hover,.privilege-box.clearfix .privilege-box-right,.pagelistbox clearfix .pagelistbox .p,.gift-recommend .gift-box .info,.gift-all .gift-box,.bangumi-detail .detail-evaluate p i,.bangumi-detail .detail-evaluate p i:before,.privilege-warp .privilege-content-warp,.video-toolbar-module,.elecrank-header .name,.elecrank-wrapper.report-wrap-module.report-scroll-module .elecrank-header,.elecrank-wrapper .elecrank-content,.video-toolbar-module .share-box:hover,.video-toolbar-module .app-download:hover ,.video-toolbar-module .share-box .share-popup,.bili-wrapper .del-log-content,.video-toolbar-module .share-box:after,.video-toolbar-module .app-download:after,.video-toolbar-module .app-download .qr-code-box,.app-download .qr-code-box .div.box,.fixed-nav-m .mini,.fixed-nav-m .go-top,.guide .trynew-btn a,.clearfix .multi-page .item,.bili-wrapper .online-list .ebox,.bili-wrapper .online-list .ebox .ol,.b-page-body .container-body .pagelistbox .p,.detail-box-wrap .content-box .video-model,.face-buy-step,.face-buy-header,.mask .popup-box,.d-outer.d-state-lock.d-state-visible.d-state-focus .d-outer,.invitation-record-warp .invtable .inputdone,.sub-nav-m.report-wrap-module .sub-nav-m .tips,.r-con .mobile-link-l{background-color:#444!important;}.live-haruna .section-stage .stage-wrap,.tabs-nav .active,.bangumi-collection-wrap .bangumi-collection,.bangumi-collection-wrap .bangumi-collection-d,.bangumi-collection-wrap .bangumi-order,.bangumi-collection-wrap .bangumi-order-d,.bangumi-order-wrap .bangumi-collection,.bangumi-order-wrap .bangumi-collection-d,.bangumi-order-wrap .bangumi-order,.bangumi-order-wrap .bangumi-order-d,.sr-record a.on,.nameplate-card .nameplate-arrow,.home-wrap .home-input .type.selected,.home-wrap .home-input .type:hover,.gift-recommend .gift-box .hover-bg,.video-info-m .number .coin b,.video-info-m .number .coin i,.video-info-m .number .fav b,.video-info-m .number .fav i,.elecrank-header .rank-tab .arr-up,.elecrank-wrapper .elecrank-content .rank-item .msg .arrow,.sub-nav-m .tips .t-arrow{background-image:none!important;}.help-subcontent p,.biliPager .page-li,.cover-chop-modal-v2-body .cover-chop-modal-v2-body-split,.my-album .line,#app .player-box .multi-page,#app-news .comment-area{background-color:transparent!important;}.article-header .filter-wrp .article-type .line,.article-header .filter-wrp .filter-article-type .line,.article-header .filter-wrp .filter-level .line,.border-line,.setting .follow-setting .follow-wrp .follow-modal{background:transparent!important;}.title-item,.notice-ctnr .blink,.notice .blink,.add-cover,.my-room.room-info .room-info-ctnr .timing-num,.my-room.room-info .room-info-ctnr .san-num,.recent-danmu-wrp .danmu-filter .left .danmu-type .plain.disable,.recent-danmu-wrp .danmu-filter .left .protect .plain.disable,.recent-danmu-wrp .danmu-filter .left .refresh .plain.disable,.recent-danmu-wrp .danmu-filter .left .delete .plain.disable,.qrcode-box .tip,.announcement-cntr .tips,.live-haruna,.record-ctnr .summary .s-item .title,.main_body .future .future_list .future_block .info .loca,.edit-button > span,.room-introduction-content.empty,.invitation-subtitle,.cc-article-wrp .article-card .meta-title .typename,.cc-article-wrp .article-card .meta-view .appeal,.cc-article-wrp .article-card .meta-view .data,.cc-article-wrp .article-card .meta-view .delete,.cc-article-wrp .article-card .meta-view .option,.article-data-wrp .menu-wrp .menu-tips,.type-rank-item-label,.h-none-msg,.page_body .page_box .block .info .text,.list.main_body .list_box .block .info .text,.list.main_body .right_box .select_box .select .option_block .option,.comment-container .main-desc .comment-info .word-container .bottom .personal-info .nickname,.fjw-kpi-wrap .fjw-kpi-top .fjw-person-detail label.fjw-person-item,.tab-selector-wrap .tag-wrap .tag span,.item .brief-desc,.left-nav-childed-list,.card-user,.play-num,.setting .follow-setting .follow-wrp .follow-modal .follow-show p,.main-footer .cp,.main-footer .link-item a,.sap-use-view,.stm-ly .sd-l a,.stm-ly .stm-lst .hint,#page-index .col-2 .section .auth-detail,.biliPager .pager-jumper,.file-list-v2-wrp .file-list-v2-item .file-list-v2-item-wrp .item-upload-info,.section-title-v2-container .section-title-v2-content-sub,.more-selector-v2-container .more-selector-v2-title-wrp .more-selector-v2-drop-tip,.file-list-v2-container .file-title p,.cover-v2-container .cover-v2-detail-wrp .cover-v2-selector .cover-v2-selector-title,.cover-chop-modal-v2-body .cover-chop-modal-v2-body-left .cover-chop-clip-reset-v2>span,.cover-chop-modal-v2-body .cover-chop-modal-v2-body-left .cover-chop-clip-warning-v2>span.chop-warning-normal,.cover-chop-modal-v2-body .cover-chop-modal-v2-body-right>p,.content-tag-v2-container .content-tag-v2-other-wrp .content-tag-v2-mission-tag-wrp .content-tag-v2-mission-tag-tip,.text-area-box-v2-container .text-area-box-v2-max-tip,.water-mark-set-v2-copy-switch-wrp a,.date-picker-v2-container .date-picker-v2-nav-wrp .next-btn-day,.date-picker-v2-container .date-picker-v2-nav-wrp .next-btn-month,.date-picker-v2-container .date-picker-v2-nav-wrp .prev-btn-day,.date-picker-v2-container .date-picker-v2-nav-wrp .prev-btn-month,.date-picker-v2-container .date-picker-v2-body-wrp .date-wrp .date-item-disabled,.date-picker-v2-container .date-picker-v2-body-wrp .weekend-wrp .date-item-disabled,.cover-v2-container .cover-v2-detail-wrp .cover-v2-selector .cover-v2-selector-title-more,.article-holder .color-gray-03,.article-holder figcaption,.security-right .vip-help p,.channel-menu .box .count,.black-info .black-time,#page-fav .fav-main .fav-action-top .clearing-invalid-video,#page-fav .fav-main .fav-video-list .article-item .article-meta .meta-item,.my-album .album-count,.privilege-box-right-title .privilege-subtitle,.help-footer-warp p,.help-footer-warp .foot_title,.gift-recommend .gift-box .info .price-box .price-old,.gift-all .gift-box .info .price-box .price-old,.gift-all .gift-box .info p,.widescreen .footer,.footer-box .footer-text p,.footer-box a,.footer-text .record,.bangumi-detail .detail-info,.bangumi-detail .detail-evaluate p.static,.bangumi-detail .detail-evaluate,.main-container .sponsor-wrapper .sponsor-right-area .sponsor-count-info,.btn-sponsor-wrapper .sponsor-count,#page-fav .fav-main .fav-video-list.topic-list .large-item .desc,#page-fav .fav-main .fav-video-list.topic-list .large-item .pubdate,.video-info-m .tm-info .btn-appeal,.video-info-m .tm-info time,.video-info-m .tm-info a,.video-info-m .tm-info,.up-info-m .number,.video-toolbar-module .btn-item .num,.s_tag .btn-view-tag a,.video-desc-m .reprint,.elecrank-header .rank-tab,.s_tag .btn-view-tag,.del-log-content .del-log-header .block,.del-log-content .log-statictic,li.log-item .user-time,.elecrank-wrapper .elecrank-content.no-list .desc,.video-toolbar-module .app-download .qr-code-box .box .txt,.video-toolbar-module .share-box .s-text .num,.pop-live .pl__user,.newlist_info.clearfix .b-head .b-head-s,.new_list .vd_list li .w_info i,.new_list .vd_list li .up,.year-vip-user .vippendant-title,.vippendant-descript{color:#aaa!important;}.title-name,.start-live,.room-id,.live-setting-ctnr,.live-btn,.my-room.room-info .room-info-ctnr .room-id,.live-btn.default,.popup-content,.t-gray-dark,.live-info .label,.main_body .pick_up .pick_list .pick_block .info .title,.main_body .future .future_list .future_block .info .title,.collapse-item a,.help-subtitle,.collapse-subitem--active a,.drop-menu-item,.invitation-title,.code-btn,table.invtable td,.invtable .codedone,.el-input-group__append,.el-input-group__prepend,.cc-article-wrp .article-header .search-wrp input,.head .dropdown-menu .search .bili-input,#dc-section_summary .source-rank-list-item .video-info-title a,.dc-button.dc-button-text,.dc-button.dc-button-text a,.dc-button.dc-button-text:hover,.home-top-msg-name,.h-none-btn,.h-none-btn:hover,.big-user-name,.page_body .page_box .block .info .title,.list.main_body .list_box .block .info .title,.list.main_body .right_box .select_box .select .title,.anime-expo-container .head .title,.comment-container .head .title,.article-container .head .title,.fjw-kpi-wrap .fjw-kpi-mid .fjw-grade-wrap .fjw-progress-title .description,.fjw-kpi-wrap .fjw-kpi-mid .fjw-grade-wrap .fjw-grade .fjw-grade-text,.mobile-kpi-head h2,.fjw-kpi-wrap .fjw-kpi-top .fjw-person-detail label.fjw-person-item .fjw-name,.fjw-kpi-wrap .fjw-kpi-foot .fjw-kpi-presents .kpi-presents-item .present-text,.fjw-kpi-wrap h2.fjw-kpi-h2,.article-holder .ticket-card a .container .title,.item .title-wrap,.pagination-container li.pagination,.pagination-container li.pagination-input-wrap .pagination-input,.c-top .name-top1,.news-contents h2,.infor-body-left .news-contents .c-text,.total-bt .t-date a,.tv-m2 .tv-m-tt,.tv-m3 .tv-m-tt,.left-nav-item,.left-nav-item-child,.card-txt,.academy-right-link,.tabs-tab,.academy-left-name,.pager .jump-pager input[type=number],.go-back-link,.left-nav-item .icon,.article-header .filter-wrp .category-wrp,.article-header .filter-wrp .order-wrp,.article-header .dropdown-btn .icon-text,.article-header .filter-wrp .article-type .bili-btn,.article-header .filter-wrp .filter-article-type .bili-btn,.article-header .filter-wrp .filter-level .bili-btn,.article-header .filter-wrp .article-bread .main,.left-nav-wrapper .advice-btn,.dropdown__content .dropdown__item,.dropdown__content .dropdown__item:hover,.dropdown__content .dropdown__active,.article-header .dropdown-btn,.article-header .dropdown-btn .icon-ic_unfold,.search-wrp .bili-input,.help-subindex,.ivu-input-costom-width .ivu-input-wrapper .ivu-input-wrapper-default .ivu-input-type .ivu-input,.ivu-input-group-append,.ivu-input-group-prepend,.about-index .about-desc,.ivu-form .ivu-form-item-label,.ivu-btn-primary.active,.ivu-btn-primary:active,.ivu-btn-primary:hover,.tag-default.current,.tag-default:active,.tag-default:hover,.tag-default,.details-list-t div,.details-up-name a,.btn-primary,.tag-modal,.tag-modal .tag-title,.tag-modal .tag-item,.spa-sub-title,.spa-user-info a,.spa-use-type,#gameCenter .hot-list .s-imgUnit .rank.gray,.s-statusUnit-text .info a,.bp_user_box .bp_user_box_bb,.bp_user_box .bp_user_box_bk,.list-wrap.hot-forum-lft-con .s-imgUnit a,.sponsor-pay-dialog-v2 .sp-quick-pay .sponsor-pay-body .sponsor-control-group,#gameCenter .look-around .s-imgUnit .s-imgUnit-text ,.s-paging > ul > a,.s-paging > ul > span,.s-paging > ul > a:not(.disabled):not(.current):hover,.s-paging > ul > span:not(.disabled):not(.current):hover,.s-paging .jump-to-page input[type="text"],.s-paging > ul > a:not(.disabled):not(.current):not(a):hover,.s-paging > ul > span:not(.disabled):not(.current):not(a):hover,.news-detail-content .news-title,.news-content a,.stm-ly .ct .stm-filter li,.stm-ly .stm-lst .name a,.sr-record a,.categories-bar .tag-item,.info-line a,.coin-operated-m .like-checkbox,.tab-selector-wrap .tab-wrap .tab a,.app-ctnr .live-helper .main-content .menu-item .menu-title,.app-ctnr .live-helper .main-content .menu-item .menu-txt,.app-ctnr .live-helper .main-content .anchor li,.nav-warp2 .nav-item3,.nav-item3.active,.nav-item2 .nav-item2-title,.biliPager .current span,.biliPager .pager-jumper .pager-jumper-input,.biliPager .pager-jumper a,.biliPager .pager-jumper a:hover,.file-list-v2-wrp .file-list-v2-item .file-list-v2-item-wrp .item-status-wrp p.item-title,.file-list-v2-wrp .file-list-v2-item .file-list-v2-item-wrp .item-status-wrp .item-status-op,.alert-v2-container-info div.alert-v2-btn:nth-child(2),.check-radio-v2-container .check-radio-v2-name,.input-box-v2-1-container .input-box-v2-1-instance .input-box-v2-1-val,.label-item-v2-2-container,.label-item-v2-2-container-selected,.more-selector-v2-container .more-selector-v2-title-wrp>h1,.content-tag-v2-container .content-tag-v2-edit-mod-wrp,.content-tag-v2-container .content-tag-v2-other-tag-error-wrp,.check-box-v2-container .check-box-v2-content,.water-mark-set-v2-container .water-mark-set-v2-copy-switch-wrp>span,.electron-set-v2-container .electron-set-v2-copy-switch-wrp .electron-set-v2-hint,.d-time-v2-container .d-time-v2-switch-wrp p.d-time-v2-last,.d-time-v2-container .d-time-v2-switch-wrp p.d-time-v2-pre,.file-list-v2-container .file-add-btn,.common-modal-container .common-modal-content .common-modal-foot>div div:nth-child(2),.common-modal-container .common-modal-content .common-modal-foot>div div:nth-child(2):hover,.common-modal-container .common-modal-content .common-modal-foot>div div:first-child,.drop-cascader-container .drop-cascader-pre-wrp .drop-cascader-pre-item .pre-item-content,.drop-cascader-container .drop-cascader-list-wrp .drop-cascader-list-item p.item-main,.select-box-v2-container .select-box-v2-controller .select-item-cont-inserted,.file-list-v2-wrp .file-list-v2-item .file-list-v2-item-icon,.drop-list-v2-container .drop-list-v2-item .drop-list-v2-item-cont p.item-cont-main,.select-box-v2-container .select-box-v2-controller,.d-time-v2-container .d-time-v2-date-picker-wrp .date-picker-date-wrp .date-picker-date,.d-time-v2-container .d-time-v2-date-picker-wrp .date-picker-date-wrp .date-picker-timer,.submit-button-group-v2-container .submit-btn-group-tpl,.submit-button-group-v2-container .submit-btn-group-add,.date-picker-v2-container .date-picker-v2-nav-wrp p.date-picker-nav-title,.date-picker-v2-container .date-picker-v2-body-wrp .date-wrp .weekend-item,.date-picker-v2-container .date-picker-v2-body-wrp .weekend-wrp .weekend-item,.date-picker-v2-container .date-picker-v2-body-wrp .date-wrp .date-item,.date-picker-v2-container .date-picker-v2-body-wrp .weekend-wrp .date-item,.date-picker-v2-container .date-picker-v2-body-wrp .date-wrp .date-item-selected,.date-picker-v2-container .date-picker-v2-body-wrp .weekend-wrp .date-item-selected,.time-picker-v2-container .time-picker-head-wrp .time-picker-show,.time-picker-v2-container .time-picker-body-wrp .time-picker-panel-select-wrp .time-picker-panel-select-item,.bind-info .note-footer .btn-group .active-btn,.app-ctnr .live-helper .main-content .menu-item .menu-txt .download .down-item a:hover,.main-c .main-b .main-b-l .info-l p,.score-info span,.security-right .main-c .xts,.security-right .main-c .xts i,.main-c .main-b .main-b-l .convert,.security-right .vip-help a,.channel-menu .box a,.coin-operated-m .coin-bottom .coin-btn,.nameplate-card .nameplate-text .n-name,.main-t .main-title,.black-info .black-name,.black-list .black-btn,.black-list .black-btn:hover,.privilege-content-warp .right-crumbs a,.privilege-content-warp .right-crumbs,.privilege-content-warp .right-crumbs i,.privilege-tabs-title,.privilege-tabs .privilege-item,.privilege-box-right-name,.privilege-box-right-btn,.bui-content .g-title h4,.gift-recommend .gift-box .info h5,.bui-content .g-title .btn,.bui-content .g-title .btn:hover,.gift-all .gift-box .info h5,.gift-all .gift-box:hover .info h5,.gift-all .gift-box:hover .info p,.gift-all .gift-box:hover .info .btn,.gift-recommend .gift-box .hover-bg .depict,.bangumi-detail .detail-evaluate p i,.player-limit-wrap .limit_not_start_wrap .not_start_btn span,#viewbox_report.video-info-m h1,.elecrank-header .title,.video-toolbar-module .share-box .s-text .t,.video-toolbar-module .btn-item .t,.video-toolbar-module .app-download,.elecrank-wrapper .elecrank-content .rank-item .msg,.elecrank-wrapper .elecrank-content .rank-item .item-num,.log-item li.log-item .txt-block,.elecrank-wrapper.no .elecrank-header.no-list .total-txt,.elecrank-wrapper .elecrank-content.no-list .elec-btn,.video-toolbar-module .share-box .share-popup .share-address ul li .name,.video-toolbar-module .share-box .share-popup .share-address ul li .btn,.video-toolbar-module .share-box .share-popup .share-address ul li input,#fixnav_report .fixed-nav-m .mini:hover,#fixnav_report .fixed-nav-m .mini,.guide .trynew-btn a,.clearfix .multi-page .item.on,.clearfix .multi-page .item:hover,.clearfix .multi-page .item,.new_list .vd_list li .title,.new_list .vd_list li .typename,.face-g-list .mp-block .right ul li .mp-tips,.face-g-list .mp-block .right ul li .mp-tips .btn,.face-buy-name,.face-buy-footer .btn-mk2.primary,.popup-btn .btn-default,.d-header .d-titleBar .d-title,.d-buttons .d-state-highlight,.d-buttons .d-state-highlight:active,.d-buttons .d-state-highlight:hover,.d-buttons .d-button,.d-buttons .d-button:hover,.sub-nav-m.report-wrap-module .sub-nav-m .tips,.groom-box-m.clearfix .groom-module .type-name{color:#eee!important;}.title-item,.title-factory-card,.title-factory-card .title-num,.title-list .title-list-item:hover .tips .tips-title,.tag-input,.user-ctnr .top,.my-room.room-info .room-info-ctnr .top,.live-haruna .tab-body .item,.recent-danmu-wrp .danmu-filter .left .delete .plain,.recent-danmu-wrp .danmu-filter .left .danmu-type .plain,.recent-danmu-wrp .danmu-filter .left .protect .plain,.recent-danmu-wrp .danmu-filter .left .refresh .plain,.popup-close-btn,.user-avatar,.areas .area,.record-ctnr .summary,.help-list,.help-box,.code-result,.el-input-group__append,.el-input-group__prepend,.page-wrp.is-article.cc-article-wrp .article-card,.videoCharts .stat .stat-wrp .stat-card,.article-chart-wrp,.comment-list-item,.head .dropdown-btn,.dropdown .dropdown-menu,#dc-section_summary .source-rank-list-item,.list.main_body .right_box .select_box .select .title,.list.main_body .list_box .block,.mobile-kpi-head,.article-holder .ticket-card a,.tab-selector-wrap .tab-wrap,.pagination-container li.pagination,.pagination-container li.pagination-input-wrap .pagination-input,.c-text .c-hd2,.tv-m2:nth-child(odd),.tv-m2,.tv-m3,.pager .jump-pager input[type=number],.article-header .filter-wrp .category-wrp,.article-header .filter-wrp .order-wrp,.btn-section .btn-item,.article-header .filter-wrp .article-type,.article-header .filter-wrp .filter-article-type,.article-header .filter-wrp .filter-level,.setting.cc-content-body .setting .follow-setting,.ivu-input-costom-width .ivu-input-wrapper .ivu-input-wrapper-default .ivu-input-type .ivu-input,.about-index .about-desc,.apply-form .btn,.apply-form .btn:hover,.main-footer .link-item,.tag-default.current,.tag-default:active,.tag-default,.btn-primary,#gameCenter .hot-list .s-imgUnit,#gameCenter .hot-list .s-imgUnit:hover,#gameCenter .hot-list .s-imgUnit .rank,.bp_user_box_bb,.bp_user_box_bottom p,.s-paging > ul > a,.s-paging > ul > span,.s-paging > ul > a.current,.s-paging > ul > span.current,.s-paging > ul > a:not(.disabled):not(.current):not(a),.s-paging > ul > span:not(.disabled):not(.current):not(a),.s-paging > ul > a:not(.disabled):not(.current):hover,.s-paging > ul > span:not(.disabled):not(.current):hover,.s-paging .jump-to-page input[type="text"],.s-paging > ul > a:not(.disabled):not(.current):not(a):hover,.s-paging > ul > span:not(.disabled):not(.current):not(a):hover,.tab-selector-wrap .tag-wrap .tag span.selected,.stm-ly > .sd > .sec,.stm-ly .usr,.stm-ly .stm-lst li + li,.stm-ly > .ct,.stm-ly .ct .stm-filter li.on,.stm-lst-item .share,.security-right .sr-record,.drawer-pop-ctn.pop-ctn-4 .draw-list ,.news-detail-content .sepatator,.left-side .categories-bar,.nav-warp2 .nav-item3,.nav-item2 .nav-item2-title,.nav-warp1 .nav-item2,.biliPager .page-li,.biliPager .pager-jumper .pager-jumper-input,.biliPager .pager-jumper a,.biliPager .pager-jumper a:hover,.normal-v2-container .normal-title-wrp>.template-op,.file-list-v2-container .dividing-line,.select-box-v2-container .select-box-v2-controller,.input-box-v2-1-container,.label-item-v2-2-container,.normal-v2-container .dividing-line,.content-tag-v2-container .content-tag-v2-edit-mod-wrp,.content-tag-v2-container .content-tag-v2-other-tag-error-wrp,.template-list-small-container,.common-modal-container .common-modal-content .common-modal-head,.common-modal-container .common-modal-content .common-modal-foot>div div:nth-child(2),.drop-cascader-container,.drop-cascader-container .drop-cascader-list-wrp,.drop-list-v2-container,.d-time-v2-container .d-time-v2-date-picker-wrp .date-picker-date-wrp .date-picker-date,.d-time-v2-container .d-time-v2-date-picker-wrp .date-picker-date-wrp .date-picker-timer,.submit-button-group-v2-container .submit-btn-group-tpl,.security-right .faq-line,.security-right .vip-help,.main-c .main-b .main-b-l .convert,.main-c .main-b .main-b-l,.security-right .vip-help p,.channel-menu .r-box,.feed-card .content .card,.coin-operated-m .coin-bottom .coin-btn,.coin-operated-m .coin-bottom .coin-btn:hover,.nameplate-card,.nameplate-card .nameplate-text,.black-ul.clearfix .black-list,.black-list .black-btn,.black-list .black-btn:hover,.home-wrap .home-input .type.selected,.home-wrap .home-input .type:hover,.privilege-tabs-title,.privilege-content-warp .privilege-box,.privilege-box.clearfix .privilege-box-right,.g-title .btn.btn-red,.g-title .btn.btn-red:hover,.gift-all .gift-box,.footer-logo-list .footer-logo,.player-limit-wrap .limit_not_start_wrap .not_start_btn .follow,.player-limit-wrap .limit_not_start_wrap .not_start_btn .follow:hover,#app .player-box,.video-info-m .number .line,.l-wrapper .y-layout,.elecrank-wrapper.report-wrap-module.report-scroll-module .elecrank-header,.elecrank-wrapper .elecrank-content,.elecrank-wrapper .elecrank-footer,.video-toolbar-module .app-download:hover,.video-toolbar-module .share-box:hover,.video-toolbar-module .share-box:hover .share-popup,.video-toolbar-module .share-box .share-popup .share-address ul li input,.video-toolbar-module .share-box .share-popup .or-code,.video-toolbar-module .app-download:hover .qr-code-box,.fixed-nav-m .mini,.fixed-nav-m .go-top,.clearfix .multi-page .item.on,.clearfix .multi-page .item:hover,.clearfix .multi-page .item,.new_list .vd_list li.l1,.container-body .newlist_info,.new_list .vd_list li .up,.face-g-list .mp-block .right ul li .mp-tips,.face-buy-footer .btn-mk2.primary,.popup-box .popup-title,.popup-btn .btn-default,.popup-btn .btn-default:hover,.d-header .d-titleBar .d-title,.d-buttons .d-state-highlight,.d-buttons .d-button,.sub-nav-m.report-wrap-module .sub-nav-m .tips,.r-con .mobile-link-l{border-color:transparent!important;}.link-input,.add-cover,.cc-article-wrp .article-card .meta-title .typename,.text-area-box-v2-container,.check-radio-v2-container .check-radio-v2-box{border-color:#aaa!important;}.left-nav-logo,.icon-back,.nav-item1 .nav-item1-title.arrow:after,.nav-item1 .nav-item1-title i.item0,.nav-item1 .nav-item1-title i.item1,.footer-logo-list .footer-logo,.video-toolbar-module .b-icon,#arc_toolbar_report .elec-btn .bili-icon,#arc_toolbar_report .elec-btn .icon,.video-toolbar-module .fav-box .btn-item .f-icon-move,#playpage_share .share-btn .clearfix .bili-icon,#playpage_share .share-btn .clearfix .icon{filter:brightness(0) invert(1)!important;}.main-c .main-head{filter:brightness(0.5) contrast(3)!important;}.videoCharts .stat .stat-wrp,.article-data-wrp .video-box,.article-net-charts .content-box,.el-radio-button__orig-radio:checked + .el-radio-button__inner,.guide .trynew-btn a,.face-g-list .mp-block .right ul li .mp-tips{box-shadow:none!important;}.add-cover:hover,.data-card .data-box .tab .fan-tab.current:after,.data-card .fans-box .tab .fan-tab.current:after,.section-item .diff-wrp .diff-text:before,.tab-selector-wrap .tag-wrap .tag span.selected,.tab-selector-wrap .tab-wrap .tab span.active,.tabs-tab-active:before,.ivu-input:focus,.ivu-input:hover,.security-right .sr-record a.on,.left-side .categories-bar .tag-item.on,.app-ctnr .live-helper .main-content .menu-item .menu-title,.nav-item3.active,.bilibili-player .bilibili-player-auxiliary-area .bilibili-player-filter .bilibili-player-filter-btn.active > span,.select-box-v2-container .select-box-v2-controller:hover,.input-box-v2-1-container.input-box-v2-1-container-active,.input-box-v2-1-container:hover,.text-area-box-v2-container.text-area-box-v2-container-active,.text-area-box-v2-container:hover,.d-time-v2-container .d-time-v2-date-picker-wrp .date-picker-date-wrp .date-picker-date:hover,.d-time-v2-container .d-time-v2-date-picker-wrp .date-picker-date-wrp .date-picker-timer:hover,.date-picker-v2-container .date-picker-v2-body-wrp .date-wrp .date-item:hover,.el-checkbox__inner:hover,.el-checkbox__input.is-checked .el-checkbox__inner,.el-checkbox__input.is-indeterminate .el-checkbox__inner,.bind-info .note-footer .btn-group .active-btn,.app-ctnr .live-helper .main-content .menu-item .menu-txt .download .down-item a,.elecrank-header .rank-tab.active,.s_tag .btn-add:hover ,.slider-ad-m .carousel-module .panel .trig span.on{border-color:var(--theme-color)!important;}.live-btn,.live-btn:active,.live-btn:hover,.live-btn.default:active,.live-btn.default:hover,.popup-close-btn,.helper-icon-dots,.code-btn,.code-btn:hover,.cc-article-wrp .article-card .meta-view .appeal:hover,.cc-article-wrp .article-card .meta-view .data:hover,.cc-article-wrp .article-card .meta-view .delete:hover,.cc-article-wrp .article-card .meta-view .option:hover,.head .dropdown-btn:hover,.dc-button.dc-button-text:hover,.h-none-btn:hover,.item .title-wrap .activity,.tabs_active-bar,.apply-form .btn,.apply-form .btn:hover,.tag-default.current,.tag-default:active,.tag-default:hover,.qa-index .help-list .collapse-item.collapse-item-active .collapse-title-icon,#bp_right .balance_bp_box .button,.ac-artilce-tabs .tabs-nav .active,.s-paging > ul > a.current,.s-paging > ul > span.current,.s-paging > ul > a:not(.disabled):not(.current):hover,.s-paging > ul > span:not(.disabled):not(.current):hover,.biliPager .current span,.biliPager .pager-jumper a:hover,.alert-v2-container-info div.alert-v2-btn:nth-child(2),.file-list-v2-wrp .file-list-v2-item .file-list-v2-item-wrp .item-upload-progress .item-upload-progress-loading,.label-item-v2-2-container:hover,.label-item-v2-2-container-selected,.label-item-v2-container,.file-list-v2-container .file-add-btn:hover,.common-modal-container .common-modal-content .common-modal-foot > div div:nth-child(2):hover,.common-modal-container .common-modal-content .common-modal-foot > div div:first-child,.common-modal-container .common-modal-content .common-modal-foot > div div:first-child:hover,.check-radio-v2-container .check-radio-v2-box.check-radio-v2-box-checked:after,.check-radio-v2-2-container.check-radio-v2-2-container-active,.submit-button-group-v2-container .submit-btn-group-add-img:hover,.submit-button-group-v2-container .submit-btn-group-add:hover,.submit-button-group-v2-container .submit-btn-group-tpl:hover,.submit-button-group-v2-container .submit-btn-group-add,.date-picker-v2-container .date-picker-v2-body-wrp .date-wrp .date-item-selected,.date-picker-v2-container .date-picker-v2-body-wrp .weekend-wrp .date-item-selected,.el-checkbox__input.is-checked .el-checkbox__inner,.el-checkbox__input.is-indeterminate .el-checkbox__inner,.bind-info .note-footer .btn-group .active-btn,.app-ctnr .live-helper .main-content .menu-item .menu-txt .download .down-item a:hover,.main-c .main-b .main-b-l .convert:hover,.coin-operated-m .coin-bottom .coin-btn,.coin-operated-m .coin-bottom .coin-btn:hover,.black-list .black-btn:hover,.privilege-box-right-btn:hover,.bui-content .g-title .btn:hover,.gift-recommend .g-title h4:before,.gift-all .g-title:before,.gift-all .gift-box:hover,.gift-recommend .gift-box .hover-bg,.player-limit-wrap .limit_not_start_wrap .not_start_btn .follow,.elecrank-wrapper .elecrank-content.no-list .elec-btn,.video-toolbar-module .share-box .share-popup .share-address ul li .btn,.fixed-nav-m .mini:hover,.pop-live .pl__mask .pl__icon--live,.guide .trynew-btn a:hover,.clearfix .multi-page .item.on,.clearfix .multi-page .item:hover,.face-g-list .mp-block .right ul li .mp-tips .btn,.face-g-list .mp-block .right ul li .mp-tips .btn:hover,.face-buy-footer .btn-mk2.primary:hover,.popup-btn .btn-default:hover,.d-buttons .d-state-highlight:active,.d-buttons .d-state-highlight:hover,.d-buttons .d-button:hover{background-color:var(--theme-color)!important;}.notice-ctnr .blink:hover,.notice .blink:hover,.add-cover:hover,.bili-blue,.text-blue,.save-btn.active,.collapse-item--active .collapse-title,.help-subindex,.drop-menu-item:hover,.icon-label.hover-text-blue:hover .label,.stat-card .num .text,.comment-card .comment-item .comment-info .reply-block .comment-vedio a,.section-item .diff-wrp .diff-text,.comment-container .main-desc .goods-info .desc .price,.hot-goods-container .bottom .price-tag .price,.goods-container > .info-container .price,.anime-expo-container .main .price,.tab-selector-wrap .tab-wrap .tab span:hover,.tab-selector-wrap .tag-wrap .tag span.selected,.tab-selector-wrap .tab-wrap .tab span.active,.item:hover .title,.total-bt .t-date a:hover,.tv-m2 .tv-m-tt:hover,.tv-m3 .tv-m-tt:hover,.left-nav-item:hover,.left-nav-item-child:hover,.left-nav-item-childed:hover,.academy-right-link:hover,.tabs-tab-active,.left-nav-item:hover .icon,.left-nav-item-childed:hover,.article-header .filter-wrp .article-type .bili-btn.current,.article-header .filter-wrp .filter-article-type .bili-btn.current,.article-header .filter-wrp .filter-level .bili-btn.current,.help-subcontent a,.help-subcontent a:hover,.fixed-service-word a,.fixed-service-word a:hover,.help-title-wrap.help-box .help-title,.link-no-hover:hover,.qa-index .help-content .help-title,.qa-index .help-list .collapse-item.collapse-item-active .collapse-title,.qa-index .help-list .collapse-item.collapse-item-title,#status .s-statusUnit .s-statusUnit-text .info .game-name,#gameCenter .hot-list .s-imgUnit .rank.pink,.s-statusUnit-text .info a:hover,.list-wrap.hot-forum-lft-con .s-imgUnit a:hover,.list-wrap.lft-con .s-imgUnit a:hover,.stm-ly .stm-lst .name a:hover,.stm-ly .stm-lst a,.stm-ly .stm-lst a:hover,.sr-record a:hover,.sr-record a.on,.categories-bar .tag-item.on,.app-ctnr .live-helper .main-content .anchor li:hover,.app-ctnr .live-helper .main-content .menu-item .menu-txt p a,.nav-item1 .nav-item1-title.expand,.file-list-v2-wrp .file-list-v2-item .file-list-v2-item-wrp .item-status-wrp .item-status-op .item-status-click:hover,.cover-chop-modal-v2-body .cover-chop-modal-v2-body-left .cover-chop-clip-reset-v2:hover > span,.drop-cascader-container .drop-cascader-pre-wrp .drop-cascader-pre-item-selected .pre-item-content,.check-box-v2-container .check-box-v2-pre-selected,.water-mark-set-v2-copy-switch-wrp a:hover,.drop-list-v2-container .drop-list-v2-item i.drop-list-v2-item-icon,.drop-cascader-container .drop-cascader-list-wrp .drop-cascader-list-item-selected p.item-main,.date-picker-v2-container .date-picker-v2-footer-wrp .date-picker-v2-select-today,.date-picker-v2-container .date-picker-v2-body-wrp .date-wrp .date-item:hover,.time-picker-v2-container .time-picker-body-wrp .time-picker-panel-select-wrp .time-picker-panel-select-item.time-selected,.cover-v2-container .cover-v2-detail-wrp .cover-v2-selector .cover-v2-selector-title-more:hover,.app-ctnr .live-helper .main-content .menu-item .menu-txt .download .down-item a,.main-c .main-b .main-b-l .info-l i,.main-c .main-head .main-h span.sc,.security-right .vip-help a:hover,.nameplate-card .nameplate-text .n-type a,.home-wrap .home-suggest .title .delete-history:hover,.privilege-tabs .privilege-item-active,.privilege-tabs .privilege-item:hover,.gift-recommend .gift-box .info .price-box em,.gift-all .gift-box .info .price-box em,.footer-box .footer-text a:hover,.i-pin-info a:hover,.player-limit-wrap .limit_not_start_wrap .not_start_info span,.video-info-m .tm-info a:hover,.s_tag .btn-view-tag a:hover,.elecrank-header .rank-tab.active ,li.log-item .user-action .up-mark,.video-toolbar-module .app-download .qr-code-box .box .txt a,.video-toolbar-module .elec-btn,.new_list .vd_list li .title:hover{color:var(--theme-color)!important;}.data-card .data-box .tab .fan-tab.current:after,.data-card .fans-box .tab .fan-tab.current:after,.section-item .diff-wrp .diff-text:before,.tabs-tab-active:before{border-left-color:transparent!important;border-right-color:transparent!important;}`;
|
|
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/dark-important.min.css"] = `.link-footer,.payment-active,.app-body .section-block,.bl-button--primary:disabled{background-color:#222!important;}.wrapper .elec-btn.disabled,.f-list-hover:hover,.status_box .status_btn.disabled,.game-groom-m .num,.container .pagination,.fjw-case-detail .ban-detail .content-box .video-model,.app-body .section-block.with-bottom-radius,.app-body .section-block.with-radius,.pagination-container li.pagination{background-color:#444!important;}blockquote,blockquote *,blockquote .color-blue-01,blockquote .color-blue-02,blockquote .color-blue-03,blockquote .color-blue-04,blockquote .color-gray-01,blockquote .color-gray-02,blockquote .color-gray-03,blockquote .color-green-01,blockquote .color-green-02,blockquote .color-green-03,blockquote .color-green-04,blockquote .color-lblue-01,blockquote .color-lblue-02,blockquote .color-lblue-03,blockquote .color-lblue-04,blockquote .color-pink-01,blockquote .color-pink-02,blockquote .color-pink-03,blockquote .color-pink-04,blockquote .color-purple-01,blockquote .color-purple-02,blockquote .color-purple-03,blockquote .color-purple-04,blockquote .color-yellow-01,blockquote .color-yellow-02,blockquote .color-yellow-03,blockquote .color-yellow-04,.status_box .status_btn.disabled{color:#aaa!important;}.home-page .sticky-bar .bar-content .message,.cover .disabled-cover,.el-input__inner,.commnent-screen-wrap .el-input__inner,.tag-list li.tag-item.on,.bp-popup-panel .title-ctnr .popup-title,.s-paging > ul > a.current,.s-paging > ul > span.current,.score-info .go-movie ,.invitation-record-warp .invtable .inputdone{color:#eee!important;}.link-footer,.el-input__inner,.commnent-screen-wrap .el-input__inner,.ui-input-textarea.focus,.user-setting-warp .el-radio-button__orig-radio:checked + .el-radio-button__inner,.tabs-bar,.score-info .go-movie{border-color:transparent!important;}.home-page .sticky-bar .bar-content .message:hover,.other a a:hover,.more-data a:hover,.rank-item .content .info .detail a a:hover,.rank-item .content .other a:hover,.rank-item .content .more-data:hover,.edit-button:hover > .icon-font,.edit-button:hover > span .left-nav-item-childed:hover,.left-nav-ul .active .left-nav-item-child,.left-nav-ul .active,.left-nav-ul .advice-btn:hover,.left-nav-ul .left-nav-item.active,.left-nav-ul .left-nav-item.active i.active,.left-nav-ul .left-nav-list.on .left-nav-item .icon,.left-nav-ul .left-nav-list.on .left-nav-item,.drop-list-v2-container .drop-list-v2-item-selected .drop-list-v2-item-cont p.item-cont-main{color:var(--theme-color)!important;}.season-timeline .season-group.today,.season-timeline .season-group.today .group-time::before,.aside-ctnr .author-info .communicate-btn,.tag-list li.tag-item.on,.tag-list li.tag-item:hover{border-color:var(--theme-color)!important;}.season-timeline .season-group.today.is-published .group-time::before,.bg-blue,.security-list .child-list li a.bg-blue:hover,.face-g-tab li.current,.el-date-table td.current:not(.disabled),.el-date-table td.end-date,.el-date-table td.start-date,.tag-list li.tag-item.on,.face-g-list#my-g-list .face-g-block .my-mp-block .mp-info .btn-white,.user-setting-warp .el-radio-button__orig-radio:checked + .el-radio-button__inner,.user-my-btn .el-button--primary{background-color:var(--theme-color)!important;}.face-g-tab li.current,.current .tab-btn-link,.el-date-table td.current:not(.disabled),.el-date-table td.end-date,.el-date-table td.start-date{color:var(--foreground-color)!important;}`;
|
|
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/dark-navbar.min.css"] = `.bili-header-m .nav-menu .nav-con .nav-item:hover,.right-part>.shortcuts-ctnr .shortcut-item:hover,#link-navbar-vm>.link-navbar .nav-item:hover,.z_top .z_top_nav ul li:hover,.uns_box ul.menu li:not(.b-post):hover{background-color:#222;}.bili-header-m .nav-menu .nav-mask,.bili-header-m .nav-menu.blur-black .nav-mask,#navbar-vm>.link-navbar,#link-navbar-vm>.link-navbar,#app>.link-navbar,#app>.nav-header-wrapper,.b-header-mask-wrp .b-header-mask{background-color:#444;}.z_top .i-link:hover,.z_top .z_top_nav ul li.home:hover{background-color:transparent;}#app>.nav-header-wrapper>.nav-header{background:transparent;}.bili-header-m .nav-menu .nav-con .nav-item .t,#link-navbar-vm>.link-navbar .main-ctnr .nav-logo,.right-part>.shortcuts-ctnr,.right-part>.shortcuts-ctnr .shortcut-item:hover,#link-navbar-vm>.link-navbar .nav-item:hover,.my-link-btn .label,#app>.link-navbar .main-ctnr .nav-logo,#app>.link-navbar .nav-item.selected .label,#app>.link-navbar .nav-item:hover .icon-font,#app>.nav-header-wrapper>.nav-header .nav-header-mainsite,#app>.nav-header-wrapper>.nav-header .order-center,.z_top.b-header-blur .z_top_nav li a.i-link,.z_top.b-header-blur .uns_box li.u-i a.i-link,.z_top a,.uns_box li.u-i a.i-link,.shortcuts-ctnr .shortcut-item,.link-navbar .main-ctnr .custom-link>a,.search-bar-ctnr .search-bar input{color:#eee;}.search-bar-ctnr .search-bar .placeholder,.search-bar-ctnr .search-bar .search-btn{color:#878787;}.uns_box li.u-i:hover a.i-link,.z_top .i-link:hover{color:var(--theme-color);}#link-navbar-vm>.link-navbar-ctnr,#app>.link-navbar{box-shadow:none;}#link-navbar-vm>.link-navbar .main-ctnr .nav-logo::before,#app>.link-navbar .main-ctnr .nav-logo::before,#app>.nav-header-wrapper .nav-header .order-icon{filter:brightness(0) invert(1)!important;}.search-bar-ctnr .search-bar{border:none;box-shadow:0px 2px 10px 1px #0002;}`;
|
|
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/touch-player.min.css"] = `.touch-video-box-wrapper{display:flex;align-items:center;justify-content:center;width:100%;height:100%;position:absolute;top:0px;left:0px;z-index:14;pointer-events:none;}.touch-video-box{border-radius:0px;display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:rgba(0,0,0,0.85);position:relative;max-width:520px;max-height:240px;border:4px solid transparent;transform-origin:center;}.touch-video-box.animation,.bilibili-player-video-control-top{transition:all 0.2s;}@supports (backdrop-filter: blur(60px)) or (-webkit-backdrop-filter: blur(60px)){.touch-video-box{background:rgba(0,0,0,0.618);-webkit-backdrop-filter:blur(60px);backdrop-filter:blur(60px);}}.touch-video-info{color:white;font-size:2rem;text-align:center;display:flex;align-items:center;justify-content:center;flex-direction:column;height:100%;width:100%;}.touch-row{flex-grow:1;display:flex;align-items:center;justify-content:center;width:100%;}.touch-info{display:block;color:var(--theme-color);}.touch-result{display:block;font-size:1.5rem;}.touch-speed{display:block;background:rgba(0,0,0,0.1);padding:0.5em;}.touch-progress{position:absolute;bottom:0;left:0;background:var(--theme-color);width:100%;transform-origin:left;transform:scaleX(0);height:4px;transition:all 0.2s;}.touch-row-item{flex:1 0 0;display:flex;align-items:center;justify-content:center;}.touch-row-item-wide{flex:1.5 0 0;display:flex;align-items:center;justify-content:center;}.videoshot{background-color:transparent;background-image:none;transform-origin:center;transform:scale(0.9);}.adjust-closed{transform:rotateX(90deg) rotateY(90deg) scale(0.5);}.adjust-opened{transform:rotateX(0deg) rotateY(0deg) scale(1);}.disable-original-hover .bilibili-player-video-control-bottom,.disable-original-hover .bilibili-player-video-control-mask{opacity:0!important;visibility:hidden!important;}.disable-original-hover.touch-video-control-show .bilibili-player-video-control-bottom,.disable-original-hover .bilibili-player-video-control-wrap,.disable-original-hover.touch-video-control-show .bilibili-player-video-control-mask{opacity:1!important;visibility:visible!important;}.disable-original-hover .bilibili-player-video-control-top,.bilibili-player-video-control-top{left:0!important;right:0!important;bottom:0px!important;}.bilibili-player-video-control-top{bottom:0!important;}.disable-original-hover.touch-video-control-show .bilibili-player-video-control-top{left:0!important;right:0!important;bottom:38px!important;}.bilibili-player-video-control-bottom{padding:0!important;}div.bilibili-player-video-control{height:38px!important;align-items:center!important;}.bilibili-player-video-btn{flex-grow:1!important;height:100%!important;display:flex!important;align-items:center!important;justify-content:center!important;}.bilibili-player-video-inputbar,.bilibili-player-video-progress{flex-grow:30!important;}.bilibili-player-video-quality-menu{display:flex!important;align-items:center!important;justify-content:center!important;}.bilibili-player-iconfont-start,.bilibili-player-iconfont-pause,.bilibili-player-iconfont-volume,.bilibili-player-iconfont-volume-max,.bilibili-player-iconfont-volume-min,.bilibili-player-iconfont-setting,.bilibili-player-iconfont-danmaku,.bilibili-player-iconfont-danmaku-off,.bilibili-player-iconfont-repeat,.bilibili-player-iconfont-widescreen,.bilibili-player-iconfont-web-fullscreen,.bilibili-player-iconfont-fullscreen,.bilibili-player-iconfont-color{font-size:2.5rem!important;}.bilibili-player-iconfont-next{font-size:2rem!important;}.bpui-selectmenu-list,.bilibili-player-video-danmaku-setting-wrap,.bilibili-player-video-btn-setting-panel,.bilibili-player.mode-fullscreen .bilibili-player-video-sendbar{left:unset!important;bottom:38px!important;}.bilibili-player-video-volumebar-wrp{left:unset!important;}.bilibili-player-video-control-wrap{padding:0!important;}.bilibili-player-video-control-bottom{align-items:center!important;}.bilibili-player-iconfont-setting,.bilibili-player-video-btn-volume.video-state-volume-max .bilibili-player-iconfont-volume-max,.bilibili-player-video-btn-volume.video-state-volume-min .bilibili-player-iconfont-volume-min,.bilibili-player-video-btn-volume:not(.video-state-volume-max):not(.video-state-volume-min) .bilibili-player-iconfont-volume,.bilibili-player-iconfont-next,.bilibili-player-video-control-bottom-left{display:flex!important;align-items:center!important;}.bilibili-player-video-btn-danmaku{flex-grow:0!important;display:flex!important;align-items:center!important;height:100%!important;margin:0!important;padding:0!important;}.bilibili-player.mode-webfullscreen .bilibili-player-video-control-wrap .bilibili-player-video-control-bottom-right{flex-grow:1!important;}.bilibili-player.mode-fullscreen .bilibili-player-video-sendbar{bottom:0!important;}.bilibili-player .bilibili-player-area .bilibili-player-video-control .bilibili-player-video-btn.bilibili-player-video-btn-fullscreen{margin-right:0!important;padding-right:8px!important;}.bilibili-player .bilibili-player-area .bilibili-player-video-control .bilibili-player-video-btn.bilibili-player-video-btn-start{padding-left:8px!important;flex-grow:1.2!important;margin-right:0px!important;margin-left:0!important;}.bilibili-player .bilibili-player-area .bilibili-player-video-control .bilibili-player-video-btn{padding:0 3px!important;}.bilibili-player .bilibili-player-area .bilibili-player-video-control-bottom,.bilibili-player-video-control-bottom-left,.bilibili-player .bilibili-player-area .bilibili-player-video-control-bottom-right{height:100%!important;margin:0!important;}.bilibili-player-video-btn-setting-panel-hover-bridge{display:none!important;}.disable-original-hover .bilibili-player-video-control-wrap:hover .bilibili-player-video-control-top .bilibili-player-video-progress-slider,.disable-original-hover.bilibili-player-area.video-control-show .bilibili-player-video-control-top .bilibili-player-video-progress-slider{height:2px!important;}.disable-original-hover.bilibili-player-area .bilibili-player-video-control .bilibili-player-video-progress-detail.show{bottom:1px!important;}@media screen and (min-width: 750px){.bilibili-player.mode-fullscreen .bilibili-player-video-control-wrap .bilibili-player-video-control-bottom-center .bilibili-player-video-sendbar .bilibili-player-video-inputbar,.bilibili-player.mode-webfullscreen .bilibili-player-video-control-wrap .bilibili-player-video-control-bottom-center .bilibili-player-video-sendbar .bilibili-player-video-inputbar{background:#fff1!important;}.bilibili-player.mode-fullscreen .bilibili-player-video-control-wrap .bilibili-player-video-control,.bilibili-player.mode-webfullscreen .bilibili-player-video-control-wrap .bilibili-player-video-control{height:100%!important;margin:0!important;}.bilibili-player.mode-fullscreen .bilibili-player-video-control-wrap .bilibili-player-video-control-bottom,.bilibili-player.mode-webfullscreen .bilibili-player-video-control-wrap .bilibili-player-video-control-bottom{margin:0!important;}.bilibili-player.mode-fullscreen .bilibili-player-video-control-wrap .bilibili-player-video-control-bottom-left,.bilibili-player.mode-webfullscreen .bilibili-player-video-control-wrap .bilibili-player-video-control-bottom-left{height:100%!important;}.bilibili-player-video-btn.bilibili-player-video-btn-start{flex-grow:0.5!important;}.player .bilibili-player.mode-webfullscreen .bilibili-player-video-control-wrap .bilibili-player-video-control-top,.player .bilibili-player.mode-fullscreen .bilibili-player-video-control-wrap .bilibili-player-video-control-top{left:0!important;right:0!important;}.player .bilibili-player.mode-fullscreen .disable-original-hover.bilibili-player-video-control-wrap .bilibili-player-video-control-top,.player .bilibili-player.mode-webfullscreen .disable-original-hover.bilibili-player-video-control-wrap .bilibili-player-video-control-top{left:0!important;right:0!important;bottom:0!important;}.player .bilibili-player.mode-fullscreen .disable-original-hover.touch-video-control-show .bilibili-player-video-control-top,.player .bilibili-player.mode-webfullscreen .disable-original-hover.touch-video-control-show .bilibili-player-video-control-top{left:0!important;right:0!important;bottom:54px!important;}.mode-fullscreen .bilibili-player-area.video-control-show:not(.disable-original-hover) .bilibili-player-video-control-top,.mode-fullscreen .bilibili-player-area.mouse-hover:not(.disable-original-hover) .bilibili-player-video-control-top,.mode-webfullscreen .bilibili-player-area.video-control-show:not(.disable-original-hover) .bilibili-player-video-control-top,.mode-webfullscreen .bilibili-player-area.mouse-hover:not(.disable-original-hover) .bilibili-player-video-control-top{left:0!important;right:0!important;bottom:48px!important;}}`;
|
|
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/override-navbar.min.css"] = `div.nav-menu{width:unset!important;}body .bili-header-m .nav-menu div.bili-wrapper{width:1018px;margin:0 auto!important;}.search{position:relative!important;float:right!important;margin:30px 12px 5px 0!important;margin:26px 12px 5px 0!important;width:130px!important;height:30px!important;background-color:transparent!important;padding:0!important;}form.searchform{background-color:#fffb!important;box-shadow:0px 2px 10px 1px #0002!important;height:30px!important;}form.searchform:hover,form.searchform:focus-within{background-color:#fff!important;}button.search-submit,a.link-ranking{display:none!important;}input.search-keyword{width:110px!important;height:30px!important;padding:0 10px!important;}.preserve-rank{display:flex!important;}.preserve-rank>a{opacity:0.382;filter:brightness(0);display:flex;align-items:center;justify-content:center;transform:scale(0.64);cursor:pointer;width:30px;transition:all .2s ease-out!important;flex-shrink:0;}.preserve-rank>a:hover{opacity:0.75;}.preserve-rank>input{padding-left:0!important;}@media only screen and (min-width: 1291px){body .bili-header-m .nav-menu div.bili-wrapper{width:1234px!important;}.search{width:250px!important;margin:30px 72px 5px 0!important;margin:26px 72px 5px 0!important;}input.search-keyword{width:230px!important;}}`;
|
|
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/no-banner.min.css"] = `#banner_link,.ban-banner,.z-top-container.has-banner>.header{display:none!important;}div.blur-bg,.b-header-mask-wrp .b-header-mask-bg{opacity:0!important;}`;
|
|
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/remove-promotions.min.css"] = `#slide_ad,#home_popularize .l-con,#home_popularize .adpos,.gg-floor-module,.home-app-download,.activity-m,.bilibili-player-promote-wrap,.bili-header-m .nav-menu .nav-con .nav-item .text-red,.mobile-link-l{display:none!important;}#home_popularize{position:relative!important;}.popularize-module .online{position:absolute!important;top:50%!important;right:0.5%!important;transform:translateY(-100%)!important;}`;
|
|
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/gui-settings.min.css"] = `.gui-settings-icon-panel{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;position:fixed;top:0;left:0;width:24px;z-index:99999;}.gui-settings,.gui-settings-widgets{display:flex;justify-content:center;align-items:center;cursor:pointer;-webkit-tap-highlight-color:transparent;margin:16px 0;width:24px;height:24px;transition:all 0.2s;opacity:0.3;transform-origin:center!important;transform:translateX(-12px) rotate(180deg);}.gui-settings:hover,.gui-settings-widgets:hover{opacity:1;transform:translateX(0px) rotate(0deg);}.gui-settings-footer,.gui-settings-header{flex-grow:0;display:flex;align-items:center;justify-content:space-between;flex-shrink:0;z-index:10;padding:32px;}.gui-settings-footer{height:80px;justify-content:center;position:relative;}.gui-settings-content{flex-grow:1;overflow:auto;position:relative;overscroll-behavior:contain;}.gui-settings-content ul{padding:0;margin:0;}.gui-settings-content ul li{font-size:16px;margin-bottom:18px;display:flex;height:24px;transition:all .2s;}.gui-settings-content ul li.disabled,.gui-settings-content ul li:not(.category).folded{height:0;margin:0;overflow:hidden;}.gui-settings-content ul li.indent-0{margin-left:16px;}.gui-settings-content ul li.indent-1{margin-left:80px;}.gui-settings-content ul li.indent-2{margin-left:144px;}.gui-settings-content ul li.indent-center{align-items:center;justify-content:center;}.gui-settings-content ul li.category{padding:16px 0;margin-bottom:18px;border-top:1px dashed #8884;border-bottom:1px dashed #8884;background:white;position:sticky;top:0;z-index:10;cursor:pointer;transition:all .2s ease-out;-webkit-tap-highlight-color:transparent;}.gui-settings-content ul li.category.folded{margin-bottom:-1px;}.gui-settings-content ul li.category *{opacity:0.8;}.gui-settings-title{font-size:16pt;}.gui-settings-search[type=text]{flex:0 0.5 40%;height:100%;border:none;padding:6px;font-size:12pt;width:100%;border-bottom:1px solid #8884;transition:all .2s;color:inherit;background:transparent;box-sizing:border-box;outline:none!important;}.gui-settings-close{width:24px;height:24px;padding:16px;}.gui-settings-header .gui-settings-close{cursor:pointer;-webkit-tap-highlight-color:transparent;}.gui-settings-textbox-container{display:flex;justify-content:center;align-items:center;-webkit-tap-highlight-color:transparent;}.gui-settings-textbox-container span,.gui-settings-dropdown-span{margin:0 16px;transition:all 0.2s;}.gui-settings-textbox-container input{border:none;height:100%;max-width:80px;padding:4px 8px;background:#8884;transition:all 0.2s;font-size:16px;}.gui-settings-textbox-container input:disabled,.gui-settings-textbox-container.disabled span,.gui-settings-textbox-container.disabled div{opacity:0.5;}.gui-settings-checkbox-container{cursor:pointer;display:flex;width:100%;justify-content:start;align-items:center;padding:0 16px;-webkit-tap-highlight-color:transparent;}.gui-settings-checkbox-container input{visibility:collapse;transition:all 0.2s;width:0;}.gui-settings-checkbox-container .gui-settings-ok{width:24px;height:24px;margin-right:16px;transition:all 0.2s;}.gui-settings-checkbox-container input ~ .gui-settings-ok{background-color:#8884;}.gui-settings-checkbox-container input:checked ~ .gui-settings-ok{background-color:var(--theme-color);}.gui-settings-checkbox-container input ~ .gui-settings-ok>i{opacity:0;transform-origin:center;transform:scale(0.9);}.gui-settings-checkbox-container input:checked ~ .gui-settings-ok>i{opacity:1;}.gui-settings-checkbox-container input:disabled ~ .gui-settings-ok,.gui-settings-checkbox-container input:disabled ~ span{opacity:0.5;}button.gui-settings-button{padding:6px 20px;margin:0 4px;max-height:34px;border:none;background:#8884;font-size:16px;cursor:pointer;transition:all 0.2s ease-out;font-family:inherit;-webkit-tap-highlight-color:transparent;}button.gui-settings-button:hover{opacity:.9;}button.gui-settings-button:active{opacity:.8;}button.gui-settings-button:focus{outline:none;}.custom-color-preview{width:28px;height:28px;border-radius:50%;background:var(--theme-color);margin-right:16px;position:relative;cursor:pointer;box-sizing:border-box;box-shadow:0px 2px 8px 1px var(--theme-color-70);}.predefined-colors{transition:all 0.2s;display:flex;opacity:0;background:white;width:168px;height:168px;position:absolute;box-shadow:0px 3px 20px 2px #0004;top:32px;left:calc(-84px + 50%);transform:scale(0);transform-origin:top;z-index:9;}.predefined-colors.opened{opacity:1;transform:scale(1);}.predefined-colors-grid{display:grid;grid-template-columns:auto auto auto auto;margin:4px;flex-grow:1;}.predefined-colors-grid-block{width:100%;height:100%;justify-self:center;align-self:center;cursor:pointer;transform-origin:center;transition:all .1s ease-out;}.predefined-colors-grid-block:hover{transform:scale(1.1);box-shadow:0 0 8px 1px #0004;}input[key]:focus{outline:none;}input[type=text][key]{height:auto;border:none;}.gui-settings-label{margin:0 16px;font-size:16px;}.hidden{display:none!important;}@supports (backdrop-filter: blur(24px)) or (-webkit-backdrop-filter: blur(24px)){.gui-settings-box.blur li.category{-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:transparent;}.gui-settings-box.blur,.gui-settings-box.blur .gui-settings-content,.gui-settings-box.blur .gui-settings-header,.gui-settings-box.blur .gui-settings-footer{background:#fff8;}.gui-settings-box.blur .gui-settings-content,.gui-settings-box.blur .gui-settings-header,.gui-settings-box.blur .gui-settings-footer{-webkit-backdrop-filter:blur(64px);backdrop-filter:blur(64px);}}li.category i.icon-arrow{transition:all .2s ease-out;}li.category.folded i.icon-arrow{transform:rotate(180deg);}.gui-settings-dropdown{position:relative;cursor:pointer;-webkit-tap-highlight-color:transparent;background-color:#8884;display:inline-flex;align-items:center;}.gui-settings-dropdown>i{transition:all .2s ease-out;transform-origin:center;transform:rotate(180deg);}.gui-settings-dropdown>ul{position:absolute;top:calc(100%);width:100%;cursor:pointer;background:white;transform-origin:top;transform:scaleY(0);transition:all .2s ease-out;display:flex;flex-direction:column;align-items:center;box-shadow:0px 3px 20px 2px #0004;z-index:100;}.gui-settings-dropdown ul li{margin:0;padding:12px 0;height:auto;width:100%;justify-content:center;}.gui-settings-dropdown ul li:hover{background:rgba(0,0,0,0.16);}.gui-settings-dropdown.opened>ul{transform:scaleY(1);}.gui-settings-dropdown.opened>i{transform:rotate(0deg);}.gui-settings-dropdown input{cursor:pointer;border:none;height:100%;max-width:80px;padding:4px 8px;transition:all 0.2s;font-size:16px;background-color:transparent;}.gui-settings-mask{height:calc(100% + 5px);width:calc(100% + 5px);opacity:0;background:#000a;position:fixed;top:0;left:0;z-index:100000;pointer-events:none;transition:all .3s cubic-bezier(0,0.86,0.58,1);overscroll-behavior:contain;}.gui-settings-mask.opened{opacity:1;pointer-events:initial;}.gui-settings-widgets-box,.gui-settings-box{height:100%;width:400px;background:white;color:#000;position:fixed;top:0;left:0;z-index:100000;transform:translateX(-100%);transition:all .3s cubic-bezier(0,0.86,0.58,1);display:flex;flex-direction:column;box-shadow:4px 0px 16px 0px #0000;}.gui-settings-widgets-box{width:200px;}.gui-settings-widgets-box.opened,.gui-settings-box.opened{transform:translateX(0);box-shadow:4px 0px 16px 0px #0005;}.gui-settings-widgets-box>.title{margin:32px;font-size:16pt;}.gui-settings-widgets-box>.widgets-container{padding:32px;display:flex;flex-direction:column;align-items:stretch;justify-content:start;position:relative;overscroll-behavior:contain;overflow:auto;height:100%;}.gui-settings-widgets-box>.widgets-container:empty::after{content:"当前页面没有可用的附加功能.";font-size:10pt;}.gui-settings-flat-button,.gui-settings-flat-button a,.gui-settings-flat-button a:hover{display:flex;align-items:center;justify-content:center;color:inherit;}.gui-settings-flat-button{width:auto;padding:8px 16px;background:#8884;border:none;color:black;cursor:pointer;transition:all .2s ease-out;transform-origin:center;font-size:10pt;}.gui-settings-flat-button:hover{transform:scale(1.02);}.gui-settings-flat-button:active{transform:scale(0.98);}.gui-settings-flat-button:focus{outline:none;}.gui-settings-flat-button i{margin-right:8px;}.gui-settings-widgets-box .gui-settings-flat-button{border-bottom:2px solid var(--theme-color);flex:0 0 auto;margin:4px;}.gui-settings-checkbox{width:28px;margin-right:24px;height:12px;background:#8884;border-radius:16px;position:relative;}.gui-settings-checkbox::after{content:"";width:20px;height:20px;background:#c6c6c6;position:absolute;border-radius:50%;top:-4px;left:-4px;box-shadow:0px 2px 8px 1px #0003;transition:all .2s ease-out;}.gui-settings-checkbox-container input:checked ~ .gui-settings-checkbox{background:var(--theme-color-80);}.gui-settings-checkbox-container input:checked ~ .gui-settings-checkbox::after{background:var(--theme-color)!important;box-shadow:0px 2px 8px 1px var(--theme-color-70);left:calc(100% - 16px);}.gui-settings-checkbox-container input:disabled ~ .gui-settings-checkbox{opacity:0.5;}.gui-settings-header>i{margin-right:8px;}`;
|
|
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/full-tweets-title.min.css"] = `.dynamic-m .info,.dynamic-m .title{height:auto!important;}.dynamic-m .info a,.dynamic-m .title a,.dynamic-m .title span{white-space:normal!important;}`;
|
|
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/image-viewer.min.css"] = `html.image-viewer-opened,body.image-viewer-opened{overflow:hidden!important;}.image-viewer-container{background:rgba(0,0,0,0.85);width:100%;height:100%;position:fixed;top:0;left:0;z-index:100000;display:none;justify-content:center;align-items:center;}.image-viewer-container.opened{display:flex;}.image-viewer{width:90%;height:90%;display:grid;grid-template-columns:auto 48px;grid-template-rows:48px auto 48px;grid-template-areas:"image close" "image ." "image download";grid-column-gap:12px;justify-items:center;justify-content:stretch;align-items:center;align-content:stretch;}.image-viewer .image{grid-area:image;width:auto;height:auto;max-width:100%;max-height:100%;}.image-viewer .close{grid-area:close;}.image-viewer .download{grid-area:download;}.image-viewer-icon{cursor:pointer;width:100%;height:100%;}.image-viewer-icon svg{max-width:48px;max-height:48px;}.image-viewer-icon path{fill:#eee;transition:all 0.2s;transform-origin:center;}.image-viewer-icon:hover path{fill:var(--theme-color);transform:scale(1.2);}`;
|
|
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/toast.min.css"] = `.toast-card-container{position:fixed;left:16px;bottom:16px;display:flex;flex-direction:column;align-items:start;z-index:100001;}.toast-card{background:#fff;min-width:240px;max-width:60vw;min-height:0;max-height:0;box-shadow:0 4px 16px 1px rgba(0,0,0,.3);transition:all .3s cubic-bezier(0,0.65,0.58,1);transform:translateX(-150%);transform-origin:left;overflow:hidden;display:flex;flex-direction:column;border-left-width:4px;border-left-style:solid;}.toast-card.visible{min-height:96px;max-height:unset;transform:translateX(0);margin-top:16px;}.toast-card-header{display:flex;align-items:center;}.toast-card-title{font-size:18px;color:#000;opacity:0.5;margin:16px;font-weight:bold;flex:1 1 auto;}.toast-card-dismiss{height:24px;width:24px;flex:0 0 auto;padding:16px;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:all .2s ease-out;transform-origin:center;opacity:0.5;}.toast-card-dismiss:hover{transform:scale(1.2);}.toast-card-dismiss:active{transform:scale(1.1);}.toast-card-message{color:#000;font-size:14px;margin:16px;margin-top:0;white-space:pre-wrap;}.toast-card.toast-default{border-left-color:#444;}.toast-card.toast-error{border-left-color:#f44336;}.toast-card.toast-info{border-left-color:#2196F3;}.toast-card.toast-success{border-left-color:#8BC34A;}.toast-card span,.toast-card .link{display:inline-block;padding:4px 6px;margin:0 2px;background-color:rgba(0,0,0,.1);text-decoration:none;color:#000;transition:all .2s ease-out;}.toast-card .link:hover{background-color:rgba(0,0,0,.2);}.toast-card .link:active{background-color:rgba(0,0,0,.1);}`;
|
|
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/blur-video-control.min.css"] = `@supports (backdrop-filter: blur(48px)) or (-webkit-backdrop-filter: blur(48px)){.video-control-blur-layer{width:100%;height:100%;position:absolute;-webkit-backdrop-filter:blur(48px);backdrop-filter:blur(48px);z-index:-1;top:0;}.bilibili-player-video-control-mask{background:transparent!important;}.bilibili-player-video-control-bottom,.bui-slider .bui-track.bui-track-video-progress .bui-bar-wrap{background-color:transparent!important;}.bilibili-player-video-control-bottom{position:relative;}.bilibili-player-area .bilibili-player-video-control-wrap,.bilibili-player-area .bilibili-player-video-control-bottom{transition:none!important;}}`;
|
|
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/download-video.min.css"] = `.download-video-panel.opened{transform:scaleY(1);}.download-video-panel{position:absolute;top:calc(100% + 2px);transition:all .16s ease-out;transform-origin:top;transform:scaleY(0);background:white;box-shadow:0px 3px 20px 2px #0004;z-index:100;}ol.video-quality li,.video-action>div{cursor:pointer;align-items:center;margin:0;padding:8px 16px;transition:all .2s ease-out;text-align:center;}.video-action>div{padding:12px 24px;}ol.video-quality li:hover,.video-action>div:hover{background:rgba(0,0,0,0.16);}.video-quality,.video-progress,.video-action,.video-error{display:none;}.download-video-panel.quality:not(.error) .video-quality,.download-video-panel.progress:not(.error) .video-progress,.download-video-panel.action:not(.error) .video-action,.download-video-panel.error .video-error{display:block;}.download-progress-text{display:flex;}.download-progress-background{background-color:#8884;height:4px;width:100%;margin-top:4px;}.download-progress-foreground{background-color:var(--theme-color);transform-origin:left;transition:all .2s ease-out;transform:scaleX(0);height:100%;width:100%;}.download-progress-cancel{margin-top:8px;display:flex;justify-content:center;}.download-progress-cancel>span{background-color:#8884;padding:4px 8px;cursor:pointer;}.download-progress-cancel>span:hover{opacity:.9;}.download-progress-cancel>span:active{opacity:.8;}.video-error,.video-progress{padding:12px;}.video-progress{min-width:120px;}#video-complete{display:none;}`;
|
|
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/gui-settings.min.html"] = `<div class="gui-settings-mask"></div><div class="gui-settings-widgets-box icons-enabled"><div class="gui-settings-header"><i class="icon-widgets"></i><span class="gui-settings-title">附加功能</span></div><div class="widgets-container"></div></div><div class="gui-settings-box icons-enabled"><div class="gui-settings-header"><i class="icon-settings"></i><span class="gui-settings-title">设置</span><div style="flex: 1 0 auto"></div><i class="icon-search" style="transform: scale(0.9); margin-right: 0"></i><input class="gui-settings-search" placeholder="搜索设置项" type="text"></div><div class="gui-settings-content"><ul><category icon="video">视频</category><dropdown indent="0" key="defaultPlayerMode" dependencies=""></dropdown><dropdown indent="0" key="defaultPlayerLayout" dependencies=""></dropdown><checkbox indent="0" key="useDefaultVideoQuality" dependencies=""></checkbox><dropdown indent="1" key="defaultVideoQuality" dependencies="useDefaultVideoQuality"></dropdown><checkbox indent="0" key="useDefaultDanmakuSettings" dependencies=""></checkbox><checkbox indent="1" key="enableDanmaku" dependencies="useDefaultDanmakuSettings"></checkbox><checkbox indent="1" key="rememberDanmakuBlock" dependencies="useDefaultDanmakuSettings enableDanmaku"></checkbox><checkbox indent="0" key="autoLightOff" dependencies=""></checkbox><checkbox indent="0" key="expandDanmakuList" dependencies=""></checkbox><checkbox indent="0" key="expandDescription" dependencies=""></checkbox><checkbox indent="0" key="autoContinue" dependencies=""></checkbox><checkbox indent="0" key="skipChargeList" dependencies=""></checkbox><category icon="style">样式</category><li class="indent-0"><label class="gui-settings-textbox-container"><span>主题颜色</span><div class="custom-color-preview"><div class="predefined-colors popup"><div class="predefined-colors-grid"></div></div></div><input key="customStyleColor" dependencies="" spellcheck="false" type="text"/></label></li><checkbox indent="0" key="useNewStyle" dependencies=""></checkbox><textbox indent="1" key="blurBackgroundOpacity" dependencies="useNewStyle"></textbox><checkbox indent="0" key="useDarkStyle" dependencies=""></checkbox><checkbox indent="0" key="darkSchedule" dependencies=""></checkbox><textbox indent="1" key="darkScheduleStart" dependencies="darkSchedule"></textbox><textbox indent="1" key="darkScheduleEnd" dependencies="darkSchedule"></textbox><checkbox indent="0" key="compactLayout" dependencies=""></checkbox><checkbox indent="0" key="overrideNavBar" dependencies=""></checkbox><checkbox indent="1" key="showBanner" dependencies="overrideNavBar"></checkbox><checkbox indent="1" key="preserveRank" dependencies="overrideNavBar"></checkbox><checkbox indent="0" key="blurVideoControl" dependencies=""></checkbox><checkbox indent="0" key="customControlBackground" dependencies=""></checkbox><textbox indent="1" key="customControlBackgroundOpacity" dependencies="customControlBackground"></textbox><checkbox indent="0" key="harunaScale" dependencies=""></checkbox><checkbox indent="0" key="removeLiveWatermark" dependencies=""></checkbox><checkbox indent="0" key="removeVideoTopMask" dependencies=""></checkbox><category icon="tool">工具</category><checkbox indent="0" key="removeAds" dependencies=""></checkbox><checkbox indent="0" key="watchLaterRedirect" dependencies=""></checkbox><checkbox indent="0" key="hideTopSearch" dependencies=""></checkbox><checkbox indent="0" key="fullTweetsTitle" dependencies=""></checkbox><category icon="touch">触摸</category><checkbox indent="0" key="touchNavBar" dependencies=""></checkbox><checkbox indent="0" key="comboLike" dependencies=""></checkbox><checkbox indent="0" key="touchVideoPlayer" dependencies=""></checkbox><checkbox indent="1" key="touchVideoPlayerAnimation" dependencies="touchVideoPlayer"></checkbox><checkbox indent="1" key="touchVideoPlayerDoubleTapControl" dependencies="touchVideoPlayer"></checkbox><category icon="other">其他</category><checkbox indent="0" key="toast" dependencies=""></checkbox><checkbox indent="1" key="toastInternalError" dependencies="toast"></checkbox><checkbox indent="0" key="useCache" dependencies=""></checkbox></ul></div><div class="gui-settings-tooltip"></div></div>`;
|
|
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/image-viewer.min.html"] = `<div class="image-viewer-container"><div class="image-viewer"><img class="image"/><a class="close image-viewer-icon" title="关闭"><svg viewBox="0 0 24 24"><path d="M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z"/></svg></a><a target="_blank" class="download image-viewer-icon" title="下载"><svg viewBox="0 0 24 24"><path d="M5,20H19V18H5M19,9H15V3H9V9H5L12,16L19,9Z"/></svg></a></div></div>`;
|
|
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/download-video.min.html"] = `<div class="gui-settings-flat-button" style="position: relative; z-index: 100;" id="download-video"><i class="icon-download"></i><span>下载视频</span><div class="download-video-panel popup"><ol class="video-quality"></ol><div class="video-action"><div id="video-action-download">直接下载</div><div id="video-action-copy">复制链接</div></div><div class="video-progress"><div class="download-progress-text"><span class="download-progress-title">正在下载</span><div style="flex: 1 0 0"></div><span class="download-progress-value">0</span><span class="download-progress-percent">%</span></div><div class="download-progress-background"><div class="download-progress-foreground"></div></div><div class="download-progress-cancel"><span>取消</span></div></div><div class="video-error"></div><a href="" id="video-complete"></a></div></div>`;
|
|
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/version.txt"] = `1.6.30`;
|
|
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/icons.min.css"] = `.icons-enabled [class^=icon-]{width:24px;height:24px;display:inline-block;background-image:none;}.icons-enabled [class^=icon-]::after{content:"";width:24px;height:24px;display:inline-block;}.icons-enabled .icon-view::after{background-image:url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="24" height="24" viewBox="0 0 24 24"><path fill="black" d="M8.5,13.5L11,16.5L14.5,12L19,18H5M21,19V5C21,3.89 20.1,3 19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19Z" /></svg>');}.icons-enabled .icon-clear::after{background-image:url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="24" height="24" viewBox="0 0 24 24"><path fill="black" d="M15,16H19V18H15V16M15,8H22V10H15V8M15,12H21V14H15V12M3,18A2,2 0 0,0 5,20H11A2,2 0 0,0 13,18V8H3V18M14,5H11L10,4H6L5,5H2V7H14V5Z" /></svg>');}.icons-enabled .icon-download::after{background-image:url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="24" height="24" viewBox="0 0 24 24"><path fill="black" d="M5,20H19V18H5M19,9H15V3H9V9H5L12,16L19,9Z" /></svg>');}.icons-enabled .icon-update::after{background-image:url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="24" height="24" viewBox="0 0 24 24"><path fill="black" d="M5.12,5L5.93,4H17.93L18.87,5M12,17.5L6.5,12H10V10H14V12H17.5L12,17.5M20.54,5.23L19.15,3.55C18.88,3.21 18.47,3 18,3H6C5.53,3 5.12,3.21 4.84,3.55L3.46,5.23C3.17,5.57 3,6 3,6.5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V6.5C21,6 20.83,5.57 20.54,5.23Z" /></svg>');}.icons-enabled .icon-info::after{background-image:url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="24" height="24" viewBox="0 0 24 24"><path fill="black" d="M11,9H13V7H11M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,16.41 16.41,20 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M11,17H13V11H11V17Z" /></svg>');}.icons-enabled .icon-settings::after{background-image:url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="24" height="24" viewBox="0 0 24 24"><path fill="black" d="M12,15.5A3.5,3.5 0 0,1 8.5,12A3.5,3.5 0 0,1 12,8.5A3.5,3.5 0 0,1 15.5,12A3.5,3.5 0 0,1 12,15.5M19.43,12.97C19.47,12.65 19.5,12.33 19.5,12C19.5,11.67 19.47,11.34 19.43,11L21.54,9.37C21.73,9.22 21.78,8.95 21.66,8.73L19.66,5.27C19.54,5.05 19.27,4.96 19.05,5.05L16.56,6.05C16.04,5.66 15.5,5.32 14.87,5.07L14.5,2.42C14.46,2.18 14.25,2 14,2H10C9.75,2 9.54,2.18 9.5,2.42L9.13,5.07C8.5,5.32 7.96,5.66 7.44,6.05L4.95,5.05C4.73,4.96 4.46,5.05 4.34,5.27L2.34,8.73C2.21,8.95 2.27,9.22 2.46,9.37L4.57,11C4.53,11.34 4.5,11.67 4.5,12C4.5,12.33 4.53,12.65 4.57,12.97L2.46,14.63C2.27,14.78 2.21,15.05 2.34,15.27L4.34,18.73C4.46,18.95 4.73,19.03 4.95,18.95L7.44,17.94C7.96,18.34 8.5,18.68 9.13,18.93L9.5,21.58C9.54,21.82 9.75,22 10,22H14C14.25,22 14.46,21.82 14.5,21.58L14.87,18.93C15.5,18.67 16.04,18.34 16.56,17.94L19.05,18.95C19.27,19.03 19.54,18.95 19.66,18.73L21.66,15.27C21.78,15.05 21.73,14.78 21.54,14.63L19.43,12.97Z" /></svg>');}.icons-enabled .icon-widgets::after{background-image:url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="24" height="24" viewBox="0 0 24 24"><path fill="black" d="M3,3H11V7.34L16.66,1.69L22.31,7.34L16.66,13H21V21H13V13H16.66L11,7.34V11H3V3M3,13H11V21H3V13Z" /></svg>');}.icons-enabled .icon-cancel::after{background-image:url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="24" height="24" viewBox="0 0 24 24"><path fill="black" d="M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z" /></svg>');}.icons-enabled .icon-ok::after{background-image:url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="24" height="24" viewBox="0 0 24 24"><path fill="black" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z" /></svg>');}.icons-enabled .icon-video::after{background-image:url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="24" height="24" viewBox="0 0 24 24"> <path fill="black" d="M17,10.5V7A1,1 0 0,0 16,6H4A1,1 0 0,0 3,7V17A1,1 0 0,0 4,18H16A1,1 0 0,0 17,17V13.5L21,17.5V6.5L17,10.5Z" /></svg>');}.icons-enabled .icon-style::after{background-image:url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="24" height="24" viewBox="0 0 24 24"> <path fill="black" d="M17.5,12A1.5,1.5 0 0,1 16,10.5A1.5,1.5 0 0,1 17.5,9A1.5,1.5 0 0,1 19,10.5A1.5,1.5 0 0,1 17.5,12M14.5,8A1.5,1.5 0 0,1 13,6.5A1.5,1.5 0 0,1 14.5,5A1.5,1.5 0 0,1 16,6.5A1.5,1.5 0 0,1 14.5,8M9.5,8A1.5,1.5 0 0,1 8,6.5A1.5,1.5 0 0,1 9.5,5A1.5,1.5 0 0,1 11,6.5A1.5,1.5 0 0,1 9.5,8M6.5,12A1.5,1.5 0 0,1 5,10.5A1.5,1.5 0 0,1 6.5,9A1.5,1.5 0 0,1 8,10.5A1.5,1.5 0 0,1 6.5,12M12,3A9,9 0 0,0 3,12A9,9 0 0,0 12,21A1.5,1.5 0 0,0 13.5,19.5C13.5,19.11 13.35,18.76 13.11,18.5C12.88,18.23 12.73,17.88 12.73,17.5A1.5,1.5 0 0,1 14.23,16H16A5,5 0 0,0 21,11C21,6.58 16.97,3 12,3Z" /></svg>');}.icons-enabled .icon-tool::after{background-image:url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="24" height="24" viewBox="0 0 24 24"> <path fill="black" d="M9,5V6H15V5H9M22,18C22,18.53 21.79,19 21.4,19.41C21,19.81 20.55,20 20,20H4C3.45,20 3,19.81 2.6,19.41C2.21,19 2,18.53 2,18V14H7V15H9V14H15V15H17V14H22V18M4.5,7.22C4.84,6.41 5.45,6 6.33,6H7V5C7,4.45 7.18,4 7.57,3.59C7.96,3.2 8.44,3 9,3H15C15.56,3 16.04,3.2 16.43,3.59C16.82,4 17,4.45 17,5V6H17.67C18.55,6 19.16,6.41 19.5,7.22L21.58,12H17V11H15V12H9V11H7V12H2.42L4.5,7.22Z" /></svg>');}.icons-enabled .icon-touch::after{background-image:url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="24" height="24" viewBox="0 0 24 24"> <path fill="black" d="M10,9A1,1 0 0,1 11,8A1,1 0 0,1 12,9V13.47L13.21,13.6L18.15,15.79C18.68,16.03 19,16.56 19,17.14V21.5C18.97,22.32 18.32,22.97 17.5,23H11C10.62,23 10.26,22.85 10,22.57L5.1,18.37L5.84,17.6C6.03,17.39 6.3,17.28 6.58,17.28H6.8L10,19V9M11,5A4,4 0 0,1 15,9C15,10.5 14.2,11.77 13,12.46V11.24C13.61,10.69 14,9.89 14,9A3,3 0 0,0 11,6A3,3 0 0,0 8,9C8,9.89 8.39,10.69 9,11.24V12.46C7.8,11.77 7,10.5 7,9A4,4 0 0,1 11,5M11,3A6,6 0 0,1 17,9C17,10.7 16.29,12.23 15.16,13.33L14.16,12.88C15.28,11.96 16,10.56 16,9A5,5 0 0,0 11,4A5,5 0 0,0 6,9C6,11.05 7.23,12.81 9,13.58V14.66C6.67,13.83 5,11.61 5,9A6,6 0 0,1 11,3Z" /></svg>');}.icons-enabled .icon-other::after{background-image:url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="24" height="24" viewBox="0 0 24 24"> <path fill="black" d="M11,13.5V21.5H3V13.5H11M9,15.5H5V19.5H9V15.5M12,2L17.5,11H6.5L12,2M12,5.86L10.08,9H13.92L12,5.86M17.5,13C20,13 22,15 22,17.5C22,20 20,22 17.5,22C15,22 13,20 13,17.5C13,15 15,13 17.5,13M17.5,15A2.5,2.5 0 0,0 15,17.5A2.5,2.5 0 0,0 17.5,20A2.5,2.5 0 0,0 20,17.5A2.5,2.5 0 0,0 17.5,15Z" /></svg>');}.icons-enabled .icon-arrow::after{background-image:url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="24" height="24" viewBox="0 0 24 24"><path fill="black" d="M7.41,15.41L12,10.83L16.59,15.41L18,14L12,8L6,14L7.41,15.41Z" /></svg>');}.icons-enabled .icon-rank::after{background-image:url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="24" height="24" viewBox="0 0 24 24"> <path fill="black" d="M3,22V8H7V22H3M10,22V2H14V22H10M17,22V14H21V22H17Z" /></svg>');}.icons-enabled .icon-like::after{background-image:url('data:image/svg+xml;utf-8,<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="24" height="24" viewBox="0 0 24 24"><path fill="black" d="M20.9,11.2c0-0.9-0.7-1.6-1.6-1.6h-5.1l0.8-3.7c0-0.1,0-0.2,0-0.3c0-0.3-0.1-0.6-0.4-0.9l-0.9-0.9L8.4,9.2 c-0.3,0.3-0.5,0.7-0.5,1.2v8.1c0,0.9,0.7,1.6,1.6,1.6h7.3c0.7,0,1.2-0.4,1.5-1l2.4-5.7c0.1-0.2,0.1-0.4,0.1-0.6V11.2 M3.1,20.1h3.2v-9.7H3.1V20.1z"/></svg>');}.icons-enabled .icon-danmaku::after{background-image:url('data:image/svg+xml;utf-8,<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="24" height="24" viewBox="0 0 24 24"><path fill="black" d="M20,4H4C2.9,4,2,4.9,2,6v12c0,1.1,0.9,2,2,2h4h5.9H20c1.1,0,2-0.9,2-2V6C22,4.9,21.1,4,20,4z M5,7h8v2H5V7z M7,17H5v-2h2V17z M6.3,13v-2H18v2H6.3z M19,17H9v-2h10V17z M19,9h-4.1V7H19V9z"/></svg>');}.icons-enabled .icon-search::after{background-image:url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="24" height="24" viewBox="0 0 24 24"> <path fill="black" d="M9.5,3A6.5,6.5 0 0,1 16,9.5C16,11.11 15.41,12.59 14.44,13.73L14.71,14H15.5L20.5,19L19,20.5L14,15.5V14.71L13.73,14.44C12.59,15.41 11.11,16 9.5,16A6.5,6.5 0 0,1 3,9.5A6.5,6.5 0 0,1 9.5,3M9.5,5C7,5 5,7 5,9.5C5,12 7,14 9.5,14C12,14 14,12 14,9.5C14,7 12,5 9.5,5Z" /></svg>');}.compact .primary-menu .nav-menu>li.home>a,.icons-enabled .icon-home::after{background-image:url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="24" height="24" viewBox="0 0 24 24"><path fill="black" d="M10,20V14H14V20H19V12H22L12,3L2,12H5V20H10Z" /></svg>');}.compact .primary-menu .nav-menu .side-nav .side-link i.zhuanlan,.icons-enabled .icon-read::after{background-image:url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="24" height="24" viewBox="0 0 24 24"><path fill="black" d="M19,2L14,6.5V17.5L19,13V2M6.5,5C4.55,5 2.45,5.4 1,6.5V21.16C1,21.41 1.25,21.66 1.5,21.66C1.6,21.66 1.65,21.59 1.75,21.59C3.1,20.94 5.05,20.5 6.5,20.5C8.45,20.5 10.55,20.9 12,22C13.35,21.15 15.8,20.5 17.5,20.5C19.15,20.5 20.85,20.81 22.25,21.56C22.35,21.61 22.4,21.59 22.5,21.59C22.75,21.59 23,21.34 23,21.09V6.5C22.4,6.05 21.75,5.75 21,5.5V7.5L21,13V19C19.9,18.65 18.7,18.5 17.5,18.5C15.8,18.5 13.35,19.15 12,20V13L12,8.5V6.5C10.55,5.4 8.45,5 6.5,5V5Z" /></svg>');}.compact .primary-menu .nav-menu .side-nav .side-link i.square,.icons-enabled .icon-square::after{background-image:url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="24" height="24" viewBox="0 0 24 24"><path fill="black" d="M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M16.75,14.45C18.65,12.55 18.58,9.39 16.59,7.41C14.6,5.43 11.45,5.35 9.55,7.25C6.12,10.68 7.22,16.78 7.22,16.78C7.22,16.78 13.33,17.87 16.75,14.45M13.15,7.86L14.13,9.87L16.14,10.85L14.13,11.83L13.15,13.84L12.17,11.83L10.16,10.85L12.17,9.87L13.15,7.86Z" /></svg>');}.compact .primary-menu .nav-menu .side-nav .side-link i.live,.icons-enabled .icon-live::after{background-image:url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="24" height="24" viewBox="0 0 24 24"><path fill="black" d="M18,16L14,12.8V16H6V8H14V11.2L18,8M20,4H4A2,2 0 0,0 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V6C22,4.89 21.1,4 20,4Z" /></svg>');}.compact .primary-menu .nav-menu .side-nav .side-link i.blackroom,.icons-enabled .icon-judge::after{background-image:url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="24" height="24" viewBox="0 0 24 24"><path fill="black" d="M12,3C10.73,3 9.6,3.8 9.18,5H3V7H4.95L2,14C1.53,16 3,17 5.5,17C8,17 9.56,16 9,14L6.05,7H9.17C9.5,7.85 10.15,8.5 11,8.83V20H2V22H22V20H13V8.82C13.85,8.5 14.5,7.85 14.82,7H17.95L15,14C14.53,16 16,17 18.5,17C21,17 22.56,16 22,14L19.05,7H21V5H14.83C14.4,3.8 13.27,3 12,3M12,5A1,1 0 0,1 13,6A1,1 0 0,1 12,7A1,1 0 0,1 11,6A1,1 0 0,1 12,5M5.5,10.25L7,14H4L5.5,10.25M18.5,10.25L20,14H17L18.5,10.25Z" /></svg>');}`;
|
|
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/settings-side-bar.min.js"] = (() => { return (i, s) => { if ($(".gui-settings-icon-panel").length === 0) { $("body").append(`\n <div class='gui-settings-icon-panel icons-enabled'>\n <div class='gui-settings-widgets' title='附加功能'>\n <i class="icon-widgets"></i>\n </div>\n <div class='gui-settings' title='设置'>\n <i class="icon-settings"></i>\n </div>\n </div>`); $(".gui-settings").on("click", i => { if (i.shiftKey === false) { $(".gui-settings-box,.gui-settings-mask").addClass("opened") } }); $(".gui-settings-widgets").on("click", () => { $(".gui-settings-widgets-box,.gui-settings-mask").addClass("opened") }) } } })();
|
|
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/text-validate.min.js"] = (() => { return (t, e) => { class i { constructor(t) { this.key = t } get originalValue() { return t[this.key] } static getValidator(t) { switch (t) { case "customStyleColor": return new r(t); case "blurBackgroundOpacity": case "customControlBackgroundOpacity": return new a(t); case "defaultPlayerMode": case "defaultVideoQuality": return new s(t); case "darkScheduleStart": case "darkScheduleEnd": return new n(t); default: return new i(t) } } isValidate(t) { return t } validate(t) { const e = this.isValidate(t); if (e === undefined) { return this.originalValue } return e } } class r extends i { isValidate(t) { if (/^#([0-9a-fA-F]{6}|[0-9a-fA-F]{3})$/.test(t)) { if (t.length < 7) { return `#${t[1]}${t[1]}${t[2]}${t[2]}${t[3]}${t[3]}` } else { return t } } } } class a extends i { isValidate(t) { if (/^([-\+]?\d+)(\.\d+)?$/.test(t)) { const e = parseFloat(t); if (e >= 0 && e <= 1) { return t } } } } class s extends i { isValidate(t) { const [e] = Object.values(Resource.manifest).filter(t => t.dropdown && t.dropdown.key === this.key).map(t => t.dropdown); if (e.items.indexOf(t) !== -1) { return t } } } class n extends i { isValidate(t) { const e = t.match(/^([\d]{1,2}):([\d]{1,2})$/); if (e && e.length >= 3) { const t = { hour: parseInt(e[1]), minute: parseInt(e[2]) }; (function () { while (this.minute < 0) { this.minute += 60; this.hour -= 1 } while (this.minute >= 60) { this.minute -= 60; this.hour += 1 } while (this.hour < 0) { this.hour += 24 } while (this.hour >= 24) { this.hour -= 24 } }).call(t); return `${t.hour}:${t.minute < 10 ? "0" + t.minute : t.minute}` } } } return { export: { Validator: i, ColorValidator: r, DropDownValidator: s, OpacityValidator: a, TimeValidator: n } } } })();
|
|
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/theme-colors.min.js"] = (() => { return (e, o) => { const r = { red: "#e57373", pink: "#F06292", purple: "#BA68C8", deepPurple: "#9575CD", indigo: "#7986CB", blue: "#2196F3", lightBlue: "#00A0D8", cyan: "#00ACC1", teal: "#26A69A", green: "#81C784", lightGreen: "#9CCC65", orange: "#FF9800", deepOrange: "#FF7043", brown: "#A1887F", grey: "#757575", blueGrey: "#78909C" }; class t { constructor() { this.reloadColor = (() => { const e = document.querySelector("html"); return function (o) { const r = new ColorProcessor(o); const t = e => r.rgbToString(r.hexToRgba(e)); const l = r.hexToRgba(o + "70"); $("div.custom-color-preview").css("background", o).css("box-shadow", `0px 2px 8px 1px rgba(${l.r},${l.g},${l.b},${l.a})`); e.style.setProperty("--theme-color", o); for (let r = 10; r <= 90; r += 10) { e.style.setProperty(`--theme-color-${r}`, t(o + r)) } e.style.setProperty("--foreground-color", r.foreground); e.style.setProperty("--foreground-color-b", t(r.foreground + "b")); e.style.setProperty("--foreground-color-d", t(r.foreground + "d")); e.style.setProperty("--blue-image-filter", r.blueImageFilter); e.style.setProperty("--pink-image-filter", r.pinkImageFilter); e.style.setProperty("--brightness", r.brightness); e.style.setProperty("--invert-filter", r.filterInvert) } })() } setupDom() { $(`input[key='customStyleColor']`).on("change", () => { this.reloadColor($(`input[key='customStyleColor']`).val()) }); const e = $(".predefined-colors-grid"); for (const o of Object.values(r)) { $(`<div class='predefined-colors-grid-block'></div>`).appendTo(e).css("background", o).attr("data-color", o).on("click", e => { const o = $(e.target).attr("data-color"); $(`input[key='customStyleColor']`).val(o).trigger("input").change(); $("div.custom-color-preview").on("click") }) } $("div.custom-color-preview").on("click", () => { const e = $(".predefined-colors"); e.toggleClass("opened") }) } } return { export: t } } })();
|
|
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/settings-tooltip.min.css"] = `.gui-settings-tooltip{position:fixed;left:420px;color:white;background:#0008;padding:1rem;font-size:12pt;top:50%;transform:translateY(-50%);transition:all .2s ease-out .8s;opacity:0;min-width:100%;max-height:60%;line-height:24px;white-space:pre-wrap;pointer-events:none;}.gui-settings-tooltip.show{pointer-events:initial;opacity:1;}.gui-settings-tooltip span{font-weight:bold;}`;
|
|
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/settings-tooltip.min.js"] = (() => { return (e, a) => { const n = { defaultPlayerMode: `设置默认的播放器模式, 可以为<span>常规</span>, <span>宽屏</span>或<span>网页全屏</span>(<span>全屏</span>还未完成). 默认模式将在进入视频页面的首次播放时应用.`, defaultPlayerLayout: `设置视频页(非番剧/电影)默认的播放器布局.\n- 旧版: 传统布局/番剧区使用的布局\n- 新版: 视频区默认的新版布局\n注: 更改此设置将立即刷新页面; 旧版布局中, 很多功能将不适用, 如夜间模式, 样式调整, 历史纪录点播放等.`, useDefaultVideoQuality: `进入视频时自动选择指定的画质, 若视频最高画质低于所选画质, 则使用视频的最高画质.`, defaultVideoQuality: `设定自动选择的视频画质.`, autoLightOff: `首次播放时, 自动进入关灯模式.`, useDefaultDanmakuSettings: `设置默认是否开启弹幕, 以及是否记住弹幕屏蔽类型.`, enableDanmaku: `控制弹幕是否默认开启.`, rememberDanmakuBlock: `控制是否记住弹幕屏蔽类型, 在播放器中选择要屏蔽的弹幕类型后, 每个视频都会默认屏蔽这些类型的弹幕.`, expandDanmakuList: `新版播放页面中, 弹幕列表默认收起以显示推荐的其他视频. 启用此功能可在每次加载视频时自动展开弹幕列表.`, expandDescription: `长的视频简介默认会被折叠, 启用此功能可以强制展开完整的视频简介.`, autoContinue: `播放视频时如果检测到历史记录信息(<span>上次看到...</span>消息), 则自动跳转到相应的时间播放.`, skipChargeList: `自动跳过视频结尾的充电鸣谢.`, customStyleColor: `设定顶栏(样式调整启用时)和夜间模式使用的主题色, 可以点击颜色预览的圆圈打开色板, 其中含有预定义的16种主题色, 也可以在右侧的文本框直接输入任何有效的16进制颜色值(<span>#rrggbb</span>或<span>#rgb</span>).`, useNewStyle: `<span>主要</span>会改变顶栏的样式, 并有一些其他地方的界面微调:\n- 为播放器增加主题色投影\n- 可控制顶栏对横幅的透明度\n- 使播放器按钮垂直对齐\n- 使部分搜索栏的提示文字的颜色更清晰\n- 隐藏播放页面的"返回旧版"侧栏\n- 修复直播间一些文字初始状态不正确`, blurBackgroundOpacity: `设置顶栏对横幅的透明度(0~1), 数值越高顶栏越淡, 当横幅关闭时此选项无效.`, useDarkStyle: `夜间模式更适合光线暗的环境, 并会大量应用主题颜色.`, darkSchedule: `设置一个使用夜间模式的时间段, 进入/离开此时间段时, 会自动开启/关闭夜间模式.\n结束时间小于起始时间时将视为次日, 如<span>18:00</span>至<span>6:00</span>表示晚上18:00到次日6:00.`, darkScheduleStart: `设置计划时段的起始时间.`, darkScheduleEnd: `设置计划时段的结束时间.`, compactLayout: `设置首页是否使用紧凑布局, 视频的间距会减小并削去圆角, 分区栏的图标会使用高清重制版. 目前仅支持首页, 其他分区的样式后续会添加.`, overrideNavBar: `开启后, 在主站中总是把搜索框置于顶栏, 如果页面里没有搜索栏则不会显示.`, showBanner: `控制是否显示主站顶部的横幅`, preserveRank: `控制是否在搜索框左侧显示排行榜图标.`, blurVideoControl: `模糊视频控制栏背景, 原版的阴影效果将无效.`, customControlBackground: `给视频控制栏附上半透明的黑色, 代替原来的阴影.`, customControlBackgroundOpacity: `设置控制栏着色的黑色不透明度(0~1), 数值越大黑色越浓.`, harunaScale: `根据屏幕DPI缩放直播看板娘的大小以提高像素的清晰度.`, removeLiveWatermark: `删除观看直播时角落的水印.`, removeVideoTopMask: `删除视频里鼠标经过时出现在顶端的标题覆盖层.`, removeAds: `删除站内的各种广告. 包括首页的推广模块, 手机app推荐, 视频页面右侧的广告等.`, watchLaterRedirect: `将稍后再看的链接重定向为普通播放网址, 以使用新版播放页面.`, hideTopSearch: `将搜索框的推荐词替换为<span>搜索</span>.`, fullTweetsTitle: `在顶栏的动态预览框中, 总是展开完整的标题.`, touchNavBar: `删除顶栏右侧的一级链接(从<span>大会员</span>到<span>历史</span>), 以方便触屏设备快速预览信息. 被删除的链接可从各预览中的<span>查看更多</span>进入.`, comboLike: `为素质三连(长按点赞)启用触摸支持.`, touchVideoPlayer: `增大控制栏的按钮间距, 使触摸操作更准确. 并为播放器启用触摸支持:\n- 左右滑动可调整进度\n- 上下滑动可调整音量\n- 进度调整可在左上角和右上角取消\n- 在不同位置滑动, 可以使用3档不同的灵敏度.`, touchVideoPlayerAnimation: `决定是否要对触摸调整的提示框使用出现/消失动画, 此动画可能导致掉帧.`, touchVideoPlayerDoubleTapControl: `将操作方式更改为: 单击显示/隐藏控制栏, 双击播放/暂停.`, toast: `允许在网页左下角显示来自本脚本的消息, 如更新提醒, 错误提示等.`, toastInternalError: `开启后, 错误消息将显示详细的技术性错误信息及堆栈跟踪, 这通常用于准确地确定问题发生的原因, 所以报告问题时这些信息会非常有用.`, useCache: `使用缓存以提高脚本的加载速度.` }; function t(e) { const a = $(e).find("input"); if (a.length > 0) { return a.attr("key") } return null } (async () => { a.applyStyle("settingsTooltipStyle"); const e = await SpinQuery.select(() => document.querySelector(".gui-settings-tooltip")); document.querySelectorAll(".gui-settings-content>ul>li").forEach(a => { a.addEventListener("mouseover", () => { const o = n[t(a)]; if (o !== undefined) { e.innerHTML = o; e.classList.add("show") } }); a.addEventListener("mouseout", () => { e.classList.remove("show") }) }) })(); return { export: n } } })();
|
|
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/settings-search.min.js"] = (() => { return (t, e) => { const s = e.attributes.settingsTooltip.export; class i { constructor() { this.input = document.querySelector(".gui-settings-search"); const t = [...document.querySelectorAll(".gui-settings-content>ul>li")]; const e = t => e => e.classList.contains("category") === t; this.categories = t.filter(e(true)); this.items = t.filter(e(false)); this.input.addEventListener("input", () => this.keywordChange()) } keywordChange() { const t = this.input.value.trim(); if (!t) { this.categories.concat(this.items).forEach(t => t.classList.add("folded")); return } this.items.forEach(e => { const i = $(e).find("input").attr("key"); const n = e.innerText + s[i].replace(/<span>|<\/span>/g, ""); if (n.includes(t)) { e.classList.remove("folded") } else { e.classList.add("folded") } }); this.foldCategories() } foldCategories() { for (const e of this.categories) { function t() { let t = e.nextElementSibling; while (t !== null && !t.classList.contains("category")) { if (!t.classList.contains("folded")) { return "remove" } t = t.nextElementSibling } return "add" } e.classList[t()]("folded") } } } return { export: i } } })();
|
|
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/gui-settings.min.js"] = (() => { return (e, t) => { const n = t.attributes.textValidate.export.Validator; const i = t.attributes.settingsSearch.export; const s = t.attributes.themeColors.export; const o = new s; const a = t.data.guiSettingsDom.text; function c(e) { let t = e.nextElementSibling; const n = []; while (t !== null && !t.classList.contains("category")) { n.push(t); t = t.nextElementSibling } return n } function r(e, t) { $(`input[type='checkbox'][key='${e}']`).prop("checked", t); $(`input[type='text'][key='${e}']`).val(t) } function u() { for (const [t, n] of Object.entries(e)) { r(t, n) } } function l() { $(".gui-settings-mask").on("click", () => { $(".gui-settings-widgets-box,.gui-settings-box,.gui-settings-mask").removeClass("opened") }); $("input[type='text'][key]").each((t, n) => { $(n).attr("placeholder", e[$(n).attr("key")]) }); $(".gui-settings-content ul li.category").on("click", e => { const t = document.querySelector(".gui-settings-search"); if (t.value !== "") { t.value = ""; raiseEvent(t, "input") } e.currentTarget.classList.toggle("folded"); c(e.currentTarget).forEach(e => e.classList.toggle("folded")) }); $(".gui-settings-dropdown>input").on("click", e => { $(e.currentTarget).parent().toggleClass("opened") }); onSettingsChange((t, n, i) => { if (e[t] !== i) { e[t] = i; $(`input[type='checkbox'][key='${t}']`).prop("checked", i).change(); $(`input[type='text'][key='${t}']`).val(i).change() } }) } function p() { const t = e => { }; $("input[type='checkbox'][key]").each((n, i) => { $(i).on("change", () => { const n = i.getAttribute("key"); const s = i.checked; e[n] = s; t(n); saveSettings(e) }) }); $("input[type='text'][key]").each((i, s) => { $(s).on("change", () => { const i = s.getAttribute("key"); const o = n.getValidator(i).validate(s.value); e[i] = o; s.value = o; t(i); saveSettings(e) }) }) } function d() { const e = {}; $(`input[dependencies]`).each((t, n) => { const i = $(n).attr("dependencies"); if (i) { e[$(n).attr("key")] = i } }); const t = t => { const n = t.prop("checked"); for (const i in e) { const s = e[i].split(" "); if (s.indexOf(t.attr("key")) !== -1) { let e = true; if (n && s.every(e => $(`input[key='${e}']`).prop("checked"))) { e = false } const t = $(`li:has(input[key='${i}'])`); const o = e ? "addClass" : "removeClass"; t[o]("disabled"); $(`input[key='${i}'][type='text']`).parent()[o]("disabled") } } }; $(`input[type='checkbox'][key]`).on("change", e => t($(e.target))).each((e, n) => t($(n))) } function g() { if (typeof offlineData !== "undefined") { $("li:has(input[key=useCache])").addClass("disabled"); $("input[key=useCache]").prop("disabled", true) } } function y() { $(".gui-settings-content ul li.category").each((e, t) => { $(t).click() }) } function k() { if (!CSS.supports("backdrop-filter", "blur(24px)") && !CSS.supports("-webkit-backdrop-filter", "blur(24px)")) { $("input[key=blurVideoControl]").prop("disabled", true); e.blurVideoControl = false; saveSettings(e) } if (window.devicePixelRatio === 1) { $("input[key=harunaScale]").prop("disabled", true); e.harunaScale = false; saveSettings(e) } } t.applyStyle("guiSettingsStyle"); $("body").append(a); l(); g(); u(); d(); o.setupDom(); p(); y(); k(); new i; new SpinQuery(() => $("body"), e => e.length > 0 && !(unsafeWindow.parent.window === unsafeWindow), e => $(".gui-settings-icon-panel").css("display", "none")).start() } })();
|
|
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/dark-styles.min.js"] = (() => { return (e, l) => { if (e.useDarkStyle) { l.applyStyle("scrollbarStyle"); SpinQuery.any(() => $(".custom-scrollbar"), e => e.removeClass("custom-scrollbar")); if ($("#banner_link").length === 0 || $("#banner_link").length > 0 && e.overrideNavBar && !e.showBanner) { l.applyImportantStyle("darkStyleNavBar") } l.applyStyle("darkStyle"); l.applyImportantStyle("darkStyleImportant") } else { l.removeStyle("scrollbarStyle"); l.removeStyle("darkStyleNavBar"); l.removeStyle("darkStyle"); l.removeStyle("darkStyleImportant") } } })();
|
|
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/tweets.min.css"] = `.showSearch #nav_searchform{width:250px!important;}.nav-search-submit{display:block!important;color:var(--foreground-color-d)!important;transform:translateX(-125px);-webkit-tap-highlight-color:transparent;}.nav-search-submit:hover{color:var(--foreground-color)!important;}#nav_searchform{transition:all .3s ease-out;box-shadow:none;width:0!important;padding:0!important;}.preserve-rank>a{opacity:0!important;pointer-events:none;}.showSearch .preserve-rank>a{opacity:0.382!important;pointer-events:initial;}.showSearch #nav_searchform{box-shadow:0px 2px 10px 1px #0002;width:250px!important;}.showSearch .nav-search-submit,.showSearch .nav-search-submit:hover{color:#888!important;transform:none;}@media only screen and (max-width: 1291px){.showSearch #nav_searchform{width:140px!important;}}`;
|
|
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/new-styles.min.js"] = (() => { return (e, t) => { if (document.URL === `https://h.bilibili.com/`) { return } SpinQuery.any(() => $(".custom-scrollbar"), e => e.removeClass("custom-scrollbar")); SpinQuery.any(() => $("#banner_link"), () => t.removeStyle("tweetsStyle")); const l = { selectors: ["div.nav-con.fl", "#link-navbar-vm", ".link-navbar", ".nav-header-wrapper", ".z_top .z_header"], get allSelectors() { return this.selectors.reduce((e, t) => e + "," + t) }, get navbar() { let e = null; for (const t of this.selectors) { e = e || document.querySelector(t) } return e }, supports(e) { if (e instanceof Element) { const t = parseInt(window.getComputedStyle(e).height); const l = [60, 50, 0, 56]; return l.indexOf(t) !== -1 } return false } }; SpinQuery.any(() => $(l.allSelectors), () => { const e = l.navbar; if (l.supports(e)) { t.applyStyle("style", "bilibili-style-optimization") } else { t.applyStyle("oldStyle", "bilibili-style-optimization") } }) } })();
|
|
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/override-navbar.min.js"] = (() => { return (e, n) => { new SpinQuery(() => $(".head-content.bili-wrapper>div.search:not(.filter-item)"), e => e.length > 0 && $(".nav-con.fr").filter((e, n) => n.innerText).length > 0, e => { const n = $(".nav-con.fr").filter((e, n) => n.innerText); e.detach().insertAfter(n) }).start(); SpinQuery.any(() => $("#banner_link"), () => n.removeStyle("tweetsStyle")); if (e.preserveRank) { SpinQuery.any(() => $(".head-content.bili-wrapper>div.search:not(.filter-item) .searchform,.nav-con #nav_searchform"), e => { e.addClass("preserve-rank"); if (e.find("a.icons-enabled").length === 0) { e.prepend(`\n <a title="排行榜"\n class="icons-enabled"\n href="https://www.bilibili.com/ranking"\n target="_blank">\n <i class="icon-rank"></i>\n </a>\n `) } }) } else { SpinQuery.any(() => $(".head-content.bili-wrapper>div.search:not(.filter-item) .searchform,.nav-con #nav_searchform"), e => { e.removeClass("preserve-rank"); e.find("a.icons-enabled").remove() }) } if (!e.showBanner) { n.applyStyle("noBannerStyle") } else { n.removeStyle("noBannerStyle") } } })();
|
|
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/touch-navbar.min.js"] = (() => { return () => { SpinQuery.count(() => $("ul.fr>li.nav-item").not(".profile-info"), 6, n => { const r = (n, r) => { const t = $(r); t.css("cursor", "pointer"); const o = t.find("a.t"); o.removeAttr("href") }; n.each(r) }) } })();
|
|
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/touch-player.min.js"] = (() => { return (t, i) => { const e = t => { let i = 0; let e = 0; while (t && !isNaN(t.offsetLeft) && !isNaN(t.offsetTop)) { i += t.offsetLeft - t.scrollLeft; e += t.offsetTop - t.scrollTop; t = t.offsetParent } return { x: i, y: e } }; const o = t => { t = Math.abs(t); const i = Math.floor(t / 3600); const e = Math.floor((t - i * 3600) / 60); const o = t - i * 3600 - e * 60; let s = fixed(o) + "秒"; if (e > 0) { s = e + "分" + s } if (i > 0) { s = i + "时" + s } return s }; const s = t => { t = Math.abs(t); const i = Math.floor(t / 3600); const e = Math.floor((t - i * 3600) / 60); const o = t - i * 3600 - e * 60; let s = (o < 10 ? "0" : "") + fixed(o); s = (e < 10 ? "0" : "") + e + ":" + s; s = (i < 10 ? "0" : "") + i + ":" + s; return s }; class n { constructor(t) { this.action = new l(t); this.onTouchStart = null; this.onTouchEnd = null; this.direction = null; t.addEventListener("touchstart", t => { this.xDown = t.touches[0].clientX; this.yDown = t.touches[0].clientY; if (this.onTouchStart) { this.onTouchStart(t) } }); t.addEventListener("touchmove", i => { if (!this.xDown || !this.yDown) { return } const o = i.touches[0].clientX; const s = i.touches[0].clientY; const n = e(t); const l = { x: (i.touches[0].pageX - n.x) / t.clientWidth, y: (i.touches[0].pageY - n.y) / t.clientHeight, width: t.clientWidth, height: t.clientHeight }; const a = this.xDown - o; const c = this.yDown - s; if (!this.direction) { let t = ""; if (Math.abs(a) > Math.abs(c)) { t = "horizontal" } else { t = "vertical" } this.direction = t; i.preventDefault() } else { if (this.direction === "vertical") { this.action.startAction(this.direction, c, l) } else if (this.direction === "horizontal") { this.action.startAction(this.direction, -a, l) } i.preventDefault() } }); t.addEventListener("touchend", t => { this.xDown = null; this.yDown = null; this.direction = null; if (this.onTouchEnd) { this.onTouchEnd(t) } }) } } class l { constructor(t) { this.lowSpeedForward = null; this.lowSpeedBackward = null; this.mediumSpeedForward = null; this.mediumSpeedBackward = null; this.highSpeedForward = null; this.highSpeedBackward = null; this.lowVolumeUp = null; this.lowVolumeDown = null; this.mediumVolumeUp = null; this.mediumVolumeDown = null; this.highVolumeUp = null; this.highVolumeDown = null; this.speedCancel = null; this.volumeCancel = null; this.minSwipeDistance = 20; this.onActionStart = null; this.onActionEnd = null; this.element = t; this.touchStart = false; this.startPosition = null; this.lastAction = null; t.addEventListener("touchstart", t => { this.touchStart = true }); t.addEventListener("touchend", t => { this.startPosition = null; this.onActionEnd && this.onActionEnd(this.lastAction); this.lastAction = null }) } startAction(t, i, e) { if (this.touchStart) { this.onActionStart && this.onActionStart(t); this.startPosition = e; this.touchStart = false } if (t === "vertical") { if (Math.abs(i) < this.minSwipeDistance) { this.volumeCancel && this.volumeCancel(); this.lastAction = null } else { let t = 0; let o = undefined; let s = undefined; if (this.startPosition.x < 1 / 3) { t = .4; o = this.lowVolumeUp; s = this.lowVolumeDown } else if (this.startPosition.x >= 1 / 3 && this.startPosition.x <= 2 / 3) { t = 1; o = this.mediumVolumeUp; s = this.mediumVolumeDown } else { t = 2; o = this.highVolumeUp; s = this.highVolumeDown } if (i > 0) { const s = Math.round(t * 100 * (i - this.minSwipeDistance) / (1.5 * e.height)); o && o(s); this.lastAction = { type: "volume", volume: s } } else { const o = Math.round(t * 100 * (i + this.minSwipeDistance) / (1.5 * e.height)); s && s(o); this.lastAction = { type: "volume", volume: o } } } } else if (t === "horizontal") { if (e.y < 1 / 3 && (e.x < .1 || e.x > .9) || Math.abs(i) < this.minSwipeDistance) { this.speedCancel && this.speedCancel(); this.lastAction = null } else { let t = 0; let e = undefined; let o = undefined; if (this.startPosition.y < 1 / 3) { t = .05; e = this.lowSpeedForward; o = this.lowSpeedBackward } else if (this.startPosition.y >= 1 / 3 && this.startPosition.y <= 2 / 3) { t = .2; e = this.mediumSpeedForward; o = this.mediumSpeedBackward } else { t = 1; e = this.highSpeedForward; o = this.highSpeedBackward } if (i > 0) { const o = (i - this.minSwipeDistance) * t; e && e(o); this.lastAction = { type: "playback", seconds: o } } else { const e = (i + this.minSwipeDistance) * t; o && o(e); this.lastAction = { type: "playback", seconds: e } } } } } } class a { constructor() { this.aid = unsafeWindow.aid; this.cid = unsafeWindow.cid; this.cidData = null; this.supportWebp = a.supportWebp } getVideoshot(t, i) { if (!this.cidData) { downloadText(`https://api.bilibili.com/x/player/videoshot?aid=${this.aid}&cid=${this.cid}&index=1`, e => { this.cidData = JSON.parse(e).data; this.getVideoshot(t, i) }) } else { const e = this.cidData; const o = e.index; let s = 0; for (let i = 0; i < o.length - 2; i++) { if (t >= o[i] && t < o[i + 1]) { s = i; break } } let n = e.image; if (this.supportWebp) { n = n.map(t => t.replace(".jpg", ".jpg@.webp")) } const l = parseInt(e.pv_x_len) || 10; const a = parseInt(e.pv_y_len) || 10; const c = parseInt(e.pv_x_size) || 160; const r = parseInt(e.pv_y_size) || 90; const d = -(s % 100 % l) * c; const h = -Math.floor(s % 100 / a) * r; i({ width: c, height: r, backgroundImage: `url(${n[Math.floor(s / 100)]})`, backgroundPosition: `${d}px ${h}px` }) } } static get supportWebp() { try { const t = document.createElement("canvas"); if (t.getContext && t.getContext("2d")) try { return t.toDataURL("image/webp").indexOf("data:image/webp") === 0 } catch (t) { return false } else return false } catch (t) { return false } } } function c(t) { t.unbind("click") } function r(i) { if ($(".touch-video-box").length !== 0) { return } $(".bilibili-player-video-subtitle").before(`\n <div class='touch-video-box-wrapper'>\n <div class='touch-video-box adjust-closed'>\n <div class='touch-video-info'></div>\n <div class='touch-progress'></div>\n </div>\n </div>`); const e = $("video"); const l = e.prop("duration"); const c = new n(i.get(0)); const r = document.getElementsByClassName("touch-video-info")[0]; const d = document.getElementsByClassName("touch-video-box")[0]; let h = Math.round(e.prop("volume") * 100); const u = t => { t /= 100; if (t < 0) { t = 0 } else if (t > 1) { t = 1 } e.prop("volume", t); $(".bilibili-player-video-volume-num").text(Math.round(t * 100)); $(".bui-thumb").css("transform", `translateY(-${48 * t}px)`); $(".bui-track-vertical .bui-bar").css("transform", `scaleY(${t})`); if (t === 0) { $(".bilibili-player-video-btn-volume").addClass(".video-state-volume-min"); $(".bilibili-player-video-btn-volume").removeClass(".video-state-volume-max"); e.prop("muted", true) } else if (t === 1) { $(".bilibili-player-video-btn-volume").removeClass(".video-state-volume-min"); $(".bilibili-player-video-btn-volume").addClass(".video-state-volume-max"); e.prop("muted", false) } else { $(".bilibili-player-video-btn-volume").removeClass(".video-state-volume-min"); $(".bilibili-player-video-btn-volume").removeClass(".video-state-volume-max"); e.prop("muted", false) } }; if (t.touchVideoPlayerAnimation) { d.classList.add("animation") } c.action.onActionStart = (t => { d.classList.add("adjust-opened"); r.innerHTML = ""; h = Math.round(e.prop("volume") * 100) }); const p = new a; const m = t => { return i => { const n = e.prop("currentTime"); let a = n + i; let c = fixed(100 * a / l); let d = i; if (a > l) { a = l; c = 100; d = l - n } else if (a < 0) { a = 0; c = 0; d = n } const h = `${s(n)} →<br/>${s(a)} (${c}%)`; const u = `\n <div class='touch-row'>\n <div class='touch-row-item'>\n <span class='touch-speed'>${t}速</span>\n </div>\n <div class='touch-row-item-wide'>\n <span class='touch-info'>进度: ${i > 0 ? "+" : "-"}${o(d)}</span>\n </div>\n </div>\n <div class='touch-row'>\n <div class='videoshot-wrapper touch-row-item'>\n <div class='videoshot'></div>\n </div>\n <div class='touch-row-item-wide'>\n <span class='touch-result'>${h}</span>\n </div>\n </div>\n `; r.innerHTML = u; p.getVideoshot(a, t => $(".videoshot").css(t)); $(".touch-progress").css("transform", `scaleX(${c / 100})`) } }; c.action.lowSpeedBackward = m("低"); c.action.lowSpeedForward = m("低"); c.action.mediumSpeedBackward = m("中"); c.action.mediumSpeedForward = m("中"); c.action.highSpeedBackward = m("高"); c.action.highSpeedForward = m("高"); const v = t => { return i => { let e = h + i; let o = Math.abs(i); if (e > 100) { e = 100; o = 100 - h } else if (e < 0) { e = 0; o = h } const s = `${h} → ${e}`; u(e); const n = `\n <div class='touch-row'>\n <div class='touch-row-item'>\n <span class='touch-speed'>${t}速</span>\n </div>\n <div class='touch-row-item-wide'>\n <span class='touch-info'>音量: ${i > 0 ? "+" : "-"}${o}</span>\n </div>\n </div>\n <div class='touch-row'>\n <div class='touch-row-item'>\n <span class='touch-result'>${s}</span>\n </div>\n </div>\n `; r.innerHTML = n; $(".touch-progress").css("transform", `scaleX(${e / 100})`) } }; c.action.lowVolumeUp = v("低"); c.action.lowVolumeDown = v("低"); c.action.mediumVolumeUp = v("中"); c.action.mediumVolumeDown = v("中"); c.action.highVolumeUp = v("高"); c.action.highVolumeDown = v("高"); c.action.speedCancel = (() => { r.innerHTML = `松开手指,取消进退`; $(".touch-progress").css("transform", "scaleX(0)") }); c.action.volumeCancel = (() => { r.innerHTML = `松开手指,取消调整`; $(".touch-progress").css("transform", "scaleX(0)"); u(h) }); if (!unsafeWindow.TOUCH_PLAYER_DEBUG) { c.action.onActionEnd = (t => { r.innerHTML = ""; if (t) { if (t.type === "playback") { let i = e.prop("currentTime"); i += t.seconds; if (i < 0) { i = 0 } else if (i > l) { i = l } e.prop("currentTime", i) } } d.classList.remove("adjust-opened") }) } } function d(t) { if (!t.hasClass("disable-original-hover")) { t.addClass("disable-original-hover"); const i = unsafeWindow.$(".bilibili-player-video"); const e = "touch-video-control-show"; const o = i.data("events").click[0].handler; const s = new DoubleClickEvent(t => o(t), () => t.toggleClass(e)); i.unbind("click"); s.bind(i[0]) } } function h() { SpinQuery.any(() => $(".bilibili-player-iconfont,.bilibili-player-video-quality-menu"), c); new SpinQuery(() => $(".bilibili-player-video"), t => t.length > 0 && $("video").length > 0 && $("video").prop("duration"), r).start(); if (t.touchVideoPlayerDoubleTapControl) { new SpinQuery(() => $(".bilibili-player-area"), t => t.length > 0 && unsafeWindow.$ && unsafeWindow.$(".bilibili-player-video").data("events"), d).start() } } (Observer.childList || Observer.subtree)("#bofqi", () => h()); i.applyStyle("touchPlayerStyle") } })();
|
|
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/expand-danmaku.min.js"] = (() => { return () => { (Observer.childList || Observer.subtree)("#bofqi", () => { SpinQuery.any(() => $(".bui-collapse-header"), e => { if (parseInt($(".bui-collapse-body").css("height")) === 0 && $(".bui-collapse-arrow-text").text() === "展开") { e.click() } }) }) } })();
|
|
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/remove-promotions.min.js"] = (() => { return (n, i) => { SpinQuery.any(() => $(".gg-pic").parent("a"), n => { n.css("display", "none"); n.each((n, i) => { const e = $(i).index() + 1; const c = $(i).parent().parent().find(`.pic li:nth-child(${e})`); $(c).css("visibility", "hidden") }) }) } })();
|
|
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/watchlater.min.js"] = (() => { return () => { const e = e => { const t = e.match(/(av[\d]+)\/p([\d]+)/); if (t) { return `https://www.bilibili.com/video/${t[1]}/?p=${t[2]}` } else { return "javascript:;" } }; const t = t => { if (t.attr("href").match(/.*watchlater.*|javascript:;/g)) { const r = t.map((t, r) => { const a = $(r).attr("href"); if (a) { return e(a) } return "javascript:;" }); t.each((e, t) => $(t).attr("href", r[e]).attr("target", "_blank")) } }; SpinQuery.any(() => $(".watch-later-list"), () => { (Observer.childListSubtree || Observer.subtree)(".watch-later-list", () => { new SpinQuery(() => document.URL.match(/(av[\d]+)\/p([\d]+)/), e => e && document.URL.indexOf("watchlater") !== -1, () => { const t = e(document.URL); if (t !== null) { window.location.replace(t) } }).start(); SpinQuery.any(() => $(".av-pic"), e => t(e)) }) }); SpinQuery.any(() => $("li.nav-item[report-id*=watchlater]"), () => { (Observer.childListSubtree || Observer.subtree)("li.nav-item[report-id*=watchlater]", () => { SpinQuery.any(() => $(".av-item>a"), e => t(e)); SpinQuery.any(() => $(".av-about>a"), e => t(e)); SpinQuery.any(() => $("div.watch-later-m>ul>div>li>a"), e => t(e)); SpinQuery.any(() => $(".read-more.mr"), e => e.remove()); SpinQuery.any(() => $(".read-more-grp>.read-more"), e => e.css({ float: "none", width: "auto" })) }) }) } })();
|
|
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/hide-top-search.min.js"] = (() => { return () => { const e = [".nav-search-keyword", ".search-keyword"]; for (const r of e) { new SpinQuery(() => $(r), e => e !== undefined && e.length > 0 && e.attr("placeholder").length > 0, e => e.attr("placeholder", "搜索")).start() } } })();
|
|
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/haruna-scale.min.js"] = (() => { return (n, t) => { const a = "bilibili-haruna-scale"; if ($(a).length === 0) { t.applyStyleFromText(`\n <style id='${a}'>\n .haruna-ctnr,\n .avatar-btn\n {\n transform: scale(${1 / window.devicePixelRatio}) !important;\n }\n </style>\n `) } } })();
|
|
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/remove-watermark.min.js"] = (() => { return (i, l) => { const n = "bilibili-live-watermark"; if ($(`#${n}`).length === 0) { l.applyStyleFromText(`\n <style id='${n}'>\n .bilibili-live-player-video-logo\n {\n display: none !important;\n }\n </style>\n `) } } })();
|
|
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/full-tweets-title.min.js"] = (() => { return (e, l) => { l.applyStyle("fullTweetsTitleStyle") } })();
|
|
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/view-cover.min.js"] = (() => { return (e, t) => { const n = t.attributes.videoInfo.export.VideoInfo; class i { constructor(e) { this.url = e; if ($(".image-viewer").length === 0) { this.createDom() } this.viewer = $(".image-viewer-container"); this.downloadImage() } createDom() { $("body").append(t.data.imageViewerDom.text); $(".image-viewer-container .close").on("click", () => this.hide()); t.applyStyle("imageViewerStyle") } downloadImage() { const e = new XMLHttpRequest; e.open("GET", this.url.replace("http:", "https:"), true); e.responseType = "blob"; e.onload = (() => { const t = document.title.replace("_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili", "").replace("_番剧_bilibili_哔哩哔哩", ""); const n = URL.createObjectURL(e.response); this.imageData = n; this.viewer.find(".download").attr("href", n).attr("download", t); this.viewer.find(".image").prop("src", n) }); e.send() } show() { this.viewer.addClass("opened") } hide() { this.viewer.removeClass("opened") } } if ($("meta[itemprop='image'],meta[property='og:image']").length > 0) { return { widget: { content: `\n <button\n class="gui-settings-flat-button"\n id="view-cover">\n <i class="icon-view"></i>\n <span>查看封面</span>\n </button>`, condition: async () => { const e = await SpinQuery.condition(() => (unsafeWindow || window).aid, e => e !== undefined); return e !== "undefined" }, success: async () => { async function e() { const e = (unsafeWindow || window).aid; const t = new n(e); await t.fetchInfo(); return t.coverUrl } let t = new i(await e()); $("#view-cover").on("click", () => { t.show() }); (Observer.childList || Observer.subtree)("#bofqi", async () => { t = new i(await e()) }) } } } } else { return { widget: { content: `\n <button\n class="gui-settings-flat-button"\n id="view-cover">\n <i class="icon-view"></i>\n <span>查看封面</span>\n </button>`, condition: async () => { const e = await SpinQuery.any(() => $(".header-info-ctnr .room-cover")); return typeof e !== "undefined" }, success: async () => { const e = $(".header-info-ctnr .room-cover"); const t = e.attr("href").match(/space\.bilibili\.com\/([\d]+)/); if (t && t[1]) { const e = t[1]; const n = `https://api.live.bilibili.com/room/v1/Room/getRoomInfoOld?mid=${e}`; const o = await downloadText(n); const s = JSON.parse(o).data.cover; const a = new i(s); $("#view-cover").on("click", () => { a.show() }) } } } } } } })();
|
|
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/notify-new-version.min.js"] = (() => { return (e, n) => { const t = { less: -1, equal: 0, greater: 1, incomparable: NaN }; class s { constructor(e) { this.parts = e.split(".").map(e => parseInt(e)); this.versionString = e } compareTo(e) { for (let n = 0; n < this.parts.length; ++n) { if (e.parts.length === n) { return t.greater } if (this.parts[n] === e.parts[n]) { continue } if (this.parts[n] > e.parts[n]) { return t.greater } return t.less } if (this.parts.length !== e.parts.length) { return t.less } return t.equal } greaterThan(e) { return this.compareTo(e) === t.greater } lessThan(e) { return this.compareTo(e) === t.less } equals(e) { return this.compareTo(e) === t.equal } } const r = new s(n.data.latestVersion.text); const i = new s(e.currentVersion); if (r.greaterThan(i)) { const n = `新版本${r.versionString}已发布. <a id="new-version-link" class="link" href="${e.latestVersionLink}">安装</a><a class="link" target="_blank" href="https://github.com/the1812/Bilibili-Evolved/releases">查看</a>`; const t = Toast.info(n, "检查更新"); $("#new-version-link").on("click", () => t && t.dismiss()); return { widget: { content: `\n <button\n class="gui-settings-flat-button"\n id="new-version-update">\n <a href="${e.latestVersionLink}" style="display:none"></a>\n <i class="icon-update"></i>\n <span>安装更新</span>\n </button>\n <button\n class="gui-settings-flat-button"\n id="new-version-info">\n <a target="blank" style="display:none" href="https://github.com/the1812/Bilibili-Evolved/releases"></a>\n <i class="icon-info"></i>\n <span>查看更新</span>\n </button>\n `, success: () => { $("#new-version-update").on("click", () => document.querySelector("#new-version-update a").click()); $("#new-version-info").on("click", () => document.querySelector("#new-version-info a").click()) } } } } } })();
|
|
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/toast.min.js"] = (() => { return (t, s) => { class e { constructor(t = "", s = "", e = "default") { this.type = e; this.message = t; this.title = s; this.duration = 3e3; this.element = $(this.cardHtml)[0]; this.$element = $(this.element); $(".toast-card-container").append(this.$element) } show() { this.element.classList.add("visible"); this.$element.find(".toast-card-dismiss").on("click", () => this.dismiss()); if (this.duration) { setTimeout(() => this.dismiss(), this.duration) } } dismiss() { if (this.element.classList.contains("visible")) { this.$element.on("transitionend", () => this.$element.remove()); this.element.classList.remove("visible") } } get cardHtml() { return `\n <div class="toast-card icons-enabled toast-${this.type}">\n <div class="toast-card-header">\n <h1 class="toast-card-title">${this.title}</h1>\n <div class="toast-card-dismiss">\n <i class="icon-cancel"></i>\n </div>\n </div>\n <p class="toast-card-message">${this.message}</p>\n </div>\n ` } static get container() { return $(".toast-card-container") } static createToastContainer() { if ($(".toast-card-container").length === 0) { $("body").append(`<div class="toast-card-container"></div>`) } } static internalShow(t, s, i, n) { const a = new e(t, s, n); a.duration = i; a.show(); return a } static show(t, s, e) { return this.internalShow(t, s, e, "default") } static info(t, s, e) { return this.internalShow(t, s, e, "info") } static success(t, s, e) { return this.internalShow(t, s, e, "success") } static error(t, s, e) { return this.internalShow(t, s, e, "error") } } s.applyStyle("toastStyle"); e.createToastContainer(); return { export: e } } })();
|
|
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/remove-top-mask.min.js"] = (() => { return (i, n) => { const l = "bilibili-video-top-mask"; if ($(`#${l}`).length === 0) { n.applyStyleFromText(`\n <style id='${l}'>\n .bilibili-player-video-top\n {\n display: none !important;\n }\n </style>\n `) } } })();
|
|
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/blur-video-control.min.js"] = (() => { return (r, e) => { (Observer.childListSubtree || Observer.subtree)("#bofqi", () => { SpinQuery.count(() => $(".bui-slider .bui-track.bui-track-video-progress,.bilibili-player-video-control-bottom"), 2, r => { if (!r.hasClass("video-control-blur-container")) { r.addClass("video-control-blur-container"); r.prepend(`<div class="video-control-blur-layer"></div>`) } }) }); e.applyStyle("blurVideoControlStyle") } })();
|
|
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/dark-schedule.min.js"] = (() => { return (e, t) => { class s { constructor(...e) { if (e.length === 0) { const e = new Date; this.hour = e.getHours(); this.minute = e.getMinutes() } else if (e.length === 1) { const [t] = e;[this.hour, this.minute] = t.split(":").slice(0, 2).map(e => this.validatePart(e)); this.normalize() } else if (v.length === 2) { [this.hour, this.minute] = e } } validatePart(e) { const t = parseInt(e); if (!isNaN(t) && 0 <= t && t <= 59) { return t } else { return null } } normalize() { while (this.minute < 0) { this.minute += 60; this.hour -= 1 } while (this.minute >= 60) { this.minute -= 60; this.hour += 1 } while (this.hour < 0) { this.hour += 24 } while (this.hour >= 24) { this.hour -= 24 } } lessThan(e) { if (this.hour < e.hour || this.hour === e.hour && this.minute < e.minute) { return true } return false } greaterThan(e) { if (this.hour > e.hour || this.hour === e.hour && this.minute > e.minute) { return true } return false } equals(e) { return this.hour === e.hour && this.minute === e.minute } isInRange(e, t) { if (e.equals(t)) { return false } let s = this.greaterThan(e) && this.lessThan(t); if (e.greaterThan(t)) { s = this.greaterThan(e) || this.lessThan(t) } const i = s || this.equals(e); return i } static millisecondsBefore(e) { const t = new s; const i = (new Date).getSeconds(); const r = 1e3 * (t.hour * 3600 + t.minute * 60 + i); const n = 1e3 * (e.hour * 3600 + e.minute * 60); let h = n - r; if (t.greaterThan(e) || t.equals(e) && i !== 0) { h += 24 * 3600 * 1e3 } return h } } function i() { if (e.darkSchedule) { const t = new s(e.darkScheduleStart); const r = new s(e.darkScheduleEnd); const n = new s; const h = n.isInRange(t, r); if (e.useDarkStyle !== h) { e.useDarkStyle = h; saveSettings(e) } let u = 0; if (h) { u = s.millisecondsBefore(r) } else { u = s.millisecondsBefore(t) } if (u !== 0) { setTimeout(() => i(), u) } } } i(); return { export: s } } })();
|
|
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/clear-cache.min.js"] = (() => { return (n, c) => { return { widget: { content: `\n <button\n class="gui-settings-flat-button"\n id="clear-cache">\n <i class="icon-clear"></i>\n <span>清除缓存</span>\n </button>`, condition: () => typeof offlineData === "undefined", success: () => { $("#clear-cache").on("click", () => { n.cache = {}; saveSettings(n); Toast.success("已删除全部缓存.", "清除缓存", 5e3) }) } } } } })();
|
|
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/download-video.min.js"] = (() => { return (e, t) => { const n = { entity: null, aid: undefined, cid: undefined, isBangumi: false }; const s = []; SpinQuery.unsafeJquery().then(() => { unsafeWindow.$(unsafeWindow.document).ajaxSend((e, t, n) => { if (n.url.indexOf("https://bangumi.bilibili.com/player/web_api/v2/playurl") !== -1) { s.unshift(n.url) } }) }); class i { constructor() { this.menuPanel = document.querySelector(".download-video-panel"); this.menuClasses = ["quality", "action", "progress"]; this.currentMenuClass = "quality" } addMenuClass() { this.menuPanel.classList.remove(...this.menuClasses); this.menuPanel.classList.add(this.currentMenuClass); return this.currentMenuClass } resetMenuClass() { [this.currentMenuClass] = this.menuClasses; this.addMenuClass() } nextMenuClass() { const e = this.menuClasses.indexOf(this.currentMenuClass) + 1; const t = this.menuClasses[e >= this.menuClasses.length ? 0 : e]; this.currentMenuClass = t; this.addMenuClass(); return t } addError() { this.menuPanel.classList.add("error") } removeError() { this.menuPanel.classList.remove("error"); this.resetMenuClass() } async getUrl(e) { if (e) { return `https://api.bilibili.com/x/player/playurl?avid=${n.aid}&cid=${n.cid}&qn=${e}&otype=json` } else { return `https://api.bilibili.com/x/player/playurl?avid=${n.aid}&cid=${n.cid}&otype=json` } } } class o extends i { constructor(e) { super(e); this.menuClasses = ["action", "progress"]; this.currentMenuClass = "action" } async getUrl() { const e = await SpinQuery.select(() => s[0]).catch(() => logError("获取番剧下载链接失败.")); return e } } class r { constructor(e, t, n) { this.quality = e; this.internalName = t; this.displayName = n } async downloadInfo() { const e = new l(this); await e.fetchVideoInfo(); return e } static get availableFormats() { return new Promise((e, t) => { n.entity.getUrl().then(n => { const s = new XMLHttpRequest; s.addEventListener("load", () => { const n = JSON.parse(s.responseText); if (n.code !== 0) { t("获取清晰度信息失败.") } const i = n.data || n; const o = i.accept_quality; const a = i.accept_format.split(","); const l = i.accept_description; const c = []; while (o.length > 0) { const e = new r(o.pop(), a.pop(), l.pop()); c.push(e) } e(c) }); s.addEventListener("error", () => t(`获取清晰度信息失败.`)); s.withCredentials = true; s.open("GET", n); s.send() }) }) } } class a { constructor(e, t, n, s) { this.length = e; this.size = t; this.url = n; this.backupUrls = s } } class l { constructor(e, t) { this.format = e; this.fragments = t || []; this.progress = null; this.loaded = 0; this.totalSize = null; this.workingXhr = null; this.fragmentSplitFactor = 6 * 5 } fetchVideoInfo() { return new Promise((e, t) => { n.entity.getUrl(this.format.quality).then(s => { const i = new XMLHttpRequest; i.addEventListener("load", () => { const s = JSON.parse(i.responseText.replace(/http:/g, "https:")); const o = s.data || s; if (!n.isBangumi && o.quality !== this.format.quality) { t("获取下载链接失败, 请确认当前账号有下载权限后重试.") } const r = o.durl; this.fragments = r.map(e => new a(e.length, e.size, e.url, e.backup_url)); e(this.fragments) }); i.withCredentials = true; i.open("GET", s); i.send() }) }) } cancelDownload() { if ("forEach" in this.workingXhr) { this.workingXhr.forEach(e => e.abort()) } else { logError("Cancel Download Failed: forEach in this.workingXhr not found.") } } downloadFragment(e) { const t = []; this.workingXhr = []; const n = Math.round(e.size / this.fragmentSplitFactor); let s = 0; while (s < e.size) { const i = `bytes=${s}-${Math.min(e.size - 1, Math.round(s + n))}`; t.push(new Promise((t, n) => { let s = 0; const o = new XMLHttpRequest; o.open("GET", e.url); o.responseType = "arraybuffer"; o.withCredentials = false; o.addEventListener("progress", e => { this.loaded += e.loaded - s; s = e.loaded; this.progress && this.progress(this.loaded / this.totalSize) }); o.addEventListener("load", () => { if (("" + o.status)[0] === "2") { t(o.response) } else { n(`请求失败.`) } }); o.addEventListener("abort", () => n("下载已取消.")); o.addEventListener("error", () => n(`下载失败.`)); o.setRequestHeader("Range", i); o.send(); this.workingXhr.push(o) })); s = Math.round(s + n) } return Promise.all(t) } copyUrl() { const e = this.fragments.map(e => e.url).reduce((e, t) => e + "\r\n" + t); GM_setClipboard(e, "text") } extension(e) { return (e || this.fragments[0]).url.indexOf(".flv") !== -1 ? ".flv" : ".mp4" } makeBlob(e, t = null) { return new Blob(Array.isArray(e) ? e : [e], { type: this.extension(t) === ".flv" ? "video/x-flv" : "video/mp4" }) } cleanUpOldBlobUrl() { const e = $("a#video-complete").attr("href"); if (e && $(`.link[href=${e}]`).length === 0) { URL.revokeObjectURL(e) } } downloadSingle(e) { const [t] = e; const n = this.makeBlob(t); const s = document.title.replace("_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili", "").replace("_番剧_bilibili_哔哩哔哩", "") + this.extension(); return [n, s] } async downloadMultiple(e) { const t = new JSZip; const n = document.title.replace("_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili", "").replace("_番剧_bilibili_哔哩哔哩", ""); if (e.length > 1) { e.forEach((e, s) => { const i = this.fragments[s]; t.file(`${n} - ${s + 1}${this.extension(i)}`, this.makeBlob(e, i)) }) } else { const [s] = e; t.file(`${n}${this.extension()}`, this.makeBlob(s)) } const s = await t.generateAsync({ type: "blob" }); const i = n + ".zip"; return [s, i] } async download() { const e = []; this.loaded = 0; this.totalSize = this.fragments.map(e => e.size).reduce((e, t) => e + t); for (const t of this.fragments) { const n = await this.downloadFragment(t); e.push(n) } if (e.length < 1) { throw new Error("下载失败.") } let t = null; let n = null; if (e.length === 1) { [t, n] = this.downloadSingle(e) } else { [t, n] = await this.downloadMultiple(e) } const s = URL.createObjectURL(t); this.cleanUpOldBlobUrl(); this.progress && this.progress(0); return { url: s, filename: n } } } async function c() { const e = await SpinQuery.select(() => (unsafeWindow || window).aid); const t = await SpinQuery.select(() => (unsafeWindow || window).cid); n.aid = e; n.cid = t; if (document.URL.indexOf("bangumi") !== -1) { n.isBangumi = true; n.entity = new o } else { n.entity = new i } return e !== undefined && t !== undefined } async function d() { await c(); const e = await r.availableFormats; let [s] = e; const i = () => s.downloadInfo().catch(e => { n.entity.addError(); $(".video-error").text(e) }); async function o() { if (!s) { return } n.entity.nextMenuClass(); const e = await i(); e.progress = (e => { $(".download-progress-value").text(`${fixed(e * 100)}`); $(".download-progress-foreground").css("transform", `scaleX(${e})`) }); document.querySelector(".download-progress-cancel>span").onclick = (() => e.cancelDownload()); const t = await e.download().catch(e => { n.entity.addError(); $(".video-error").text(e) }); if (!t) { return } const o = document.getElementById("video-complete"); o.setAttribute("href", t.url); o.setAttribute("download", t.filename); o.click(); const r = `下载完成. <a class="link" href="${t.url}" download="${t.filename.replace(/"/g, """)}">再次保存</a>`; Toast.success(r, "下载视频"); n.entity.resetMenuClass() } async function a() { if (!s) { return } const e = await i(); e.copyUrl(); Toast.success("已复制链接到剪贴板.", "复制链接", 3e3); n.entity.resetMenuClass() } $(".video-action>#video-action-download").on("click", o); $(".video-action>#video-action-copy").on("click", a); e.forEach(e => { $(`<li>${e.displayName}</li>`).on("click", () => { s = e; n.entity.nextMenuClass() }).prependTo("ol.video-quality") }); t.applyStyle("downloadVideoStyle"); const l = document.querySelector(".download-video-panel"); const d = () => $(".download-video-panel").toggleClass("opened"); $("#download-video").on("click", e => { if (!l.contains(e.target)) { d() } }); $(".video-error").on("click", () => { $(".video-error").text(""); n.entity.removeError() }); n.entity.addMenuClass() } return { widget: { content: t.data.downloadVideoDom.text, condition: c, success: d } } } })();
|
|
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/download-danmaku.min.js"] = (() => { return (n, t) => { const { DanmakuInfo: e } = t.import("videoInfo"); const { DanmakuConverter: o, XmlDanmakuDocument: a } = t.import("danmakuConverter"); async function i(n) { const t = document.title.replace("_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili", "").replace("_番剧_bilibili_哔哩哔哩", ""); const i = new e((unsafeWindow || window).cid); await i.fetchInfo(); const c = new o({ title: t, font: "Micorosoft YaHei UI", alpha: .6, duration: 5, blockTypes: [], resolution: { x: 1920, y: 1080 } }); const d = c.convertToAssDocument(new a(i.rawXML)); const s = new Blob([d.generateAss()], { type: "text/plain" }); const u = URL.createObjectURL(s); const r = $("#danmaku-link"); const l = r.attr("href"); if (l) { URL.revokeObjectURL(l) } clearTimeout(n); document.querySelector("#download-danmaku>span").innerHTML = "下载弹幕"; r.attr("download", `${t}.ass`).attr("href", u).get(0).click() } return { widget: { content: `\n <button\n class="gui-settings-flat-button"\n id="download-danmaku">\n <i class="icon-danmaku"></i>\n <span>下载弹幕</span>\n <a id="danmaku-link" style="display:none"></a>\n </button>`, condition: async () => { let n = await SpinQuery.condition(() => (unsafeWindow || window).cid, n => n !== undefined); return n !== undefined }, success: () => { const n = document.querySelector("#danmaku-link"); $("#download-danmaku").on("click", t => { if (t.target !== n) { const n = setTimeout(() => document.querySelector("#download-danmaku>span").innerHTML = "请稍侯...", 200); i(n) } }) } } } } })();
|
|
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/danmaku-converter.min.js"] = (() => { return (t, e) => { class s { constructor(t, e, s, i, n) { this.content = t; this.time = e; this.type = parseInt(s); this.fontSize = parseFloat(i); this.color = parseInt(n) } } class i extends s { constructor({ content: t, time: e, type: s, fontSize: i, color: n, timeStamp: o, pool: r, userHash: a, rowId: h }) { super(t, e, s, i, n); this.timeStamp = parseInt(o); this.pool = parseInt(r); this.userHash = a; this.rowId = parseInt(h); this.time = parseFloat(this.time); this.pDataArray = [e, s, i, n, o, r, a, h] } text() { const t = this.pDataArray.join(","); return `<d p="${t}">${this.content}</d>` } static parse(t) { const e = t.getAttribute("p"); const [s, n, o, r, a, h, l, c] = e.split(","); const u = t.innerHTML; return new i({ content: u, time: s, type: n, fontSize: o, color: r, timeStamp: a, pool: h, userHash: l, rowId: c }) } } class n { constructor(t) { this.xml = t; const e = (new DOMParser).parseFromString(t, "application/xml").documentElement; this.danmakus = [...e.querySelectorAll("d[p]")].map(t => i.parse(t)) } } class o extends s { constructor({ content: t, time: e, type: s, fontSize: i, color: n, typeTag: o, colorTag: r, endTime: a }) { super(t, e, s, i, n); this.typeTag = o; this.colorTag = r; this.endTime = a } text(t) { const e = t[this.fontSize].match(/Style:(.*?),/)[1].trim(); return `Dialogue: 0,${this.time},${this.endTime},${e},,0,0,0,,{${this.typeTag}${this.colorTag}}${this.content}` } } class r { constructor({ danmakus: t, title: e, fontStyles: s, blockTypes: i, resolution: n }) { this.danmakus = t; this.title = e; this.fontStyles = s; this.blockTypes = i; this.resolution = n } generateAss() { const t = `\n[Script Info]\n; Script generated by Bilibili Evolved Danmaku Converter\n; https://github.com/the1812/Bilibili-Evolved/\nTitle: ${this.title}\nScriptType: v4.00+\nPlayResX: ${this.resolution.x}\nPlayResY: ${this.resolution.y}\nTimer: 10.0000\nWrapStyle: 2\nScaledBorderAndShadow: no\n\n[V4+ Styles]\nFormat: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding\n${Object.values(this.fontStyles).join("\n")}\n\n[Events]\nFormat: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text\n `.trim(); return t + "\n" + this.danmakus.map(t => t.text(this.fontStyles, this.blockTypes)).filter(t => t !== "").join("\n") } } class a { constructor(t, e, s) { this.horizontal = []; this.horizontalTrack = []; this.vertical = []; this.resolution = e; this.duration = s; this.canvas = document.createElement("canvas"); this.context = this.canvas.getContext("2d"); this.fontSizes = { 25: `52px ${t}`, 18: `36px ${t}` }; this.danmakuType = { 1: "normal", 2: "normal", 3: "normal", 4: "bottom", 5: "top", 6: "reversed", 7: "special", 8: "special" }; this.margin = 10; this.nextDanmakuDelay = .1; this.generateTracks() } generateTracks() { this.context.font = this.fontSizes[25]; const t = this.context.measureText("Lorem ipsum"); const e = t.emHeightAscent + t.emHeightDescent; this.danmakuHeight = e; this.trackHeight = this.margin * 2 + e; this.trackCount = parseInt(fixed(this.resolution.y / this.trackHeight, 0)) } getTextSize(t) { this.context.font = this.fontSizes[t.fontSize]; const e = this.context.measureText(t.content); const s = e.width / 2; return [s, this.danmakuHeight / 2] } getHorizonalTags(t) { const [e, s] = this.getTextSize(t); const i = e * 2; const n = this.duration * i / (this.resolution.x + i) + this.nextDanmakuDelay; let o = 0; let r = null; const a = e => { if (e.track !== o) { return false } if (e.width < i) { return e.end > t.time } else { return e.visible > t.time } }; do { r = this.horizontalTrack.find(a); o++ } while (r && o <= this.trackCount); if (o > this.trackCount) { return `\\alpha&HFF` } o--; this.horizontalTrack.push({ width: i, start: t.time, visible: t.time + n, end: t.time + this.duration, track: o }); return `\\move(${this.resolution.x + e}, ${o * this.trackHeight + this.margin + s}, ${-e}, ${o * this.trackHeight + this.margin + s}, 0, ${this.duration * 1e3})` } getVerticalTags(t) { const [, e] = this.getTextSize(t); if (this.danmakuType[t.type] === "top") { return `\\pos(${this.resolution.x / 2}, ${this.margin + e})` } else { return `\\pos(${this.resolution.x / 2}, ${this.resolution.y - this.margin - e})` } } push(t) { let e = null; let s = null; switch (this.danmakuType[t.type]) { case "normal": case "reversed": { e = this.getHorizonalTags(t); s = this.horizontal; break } case "top": case "bottom": { e = this.getVerticalTags(t); s = this.vertical; break } case "special": default: { throw new Error("Danmaku type not supported") } }const i = { tags: e }; s.push(i); return i } } class h { constructor({ title: t, font: e, alpha: s, duration: i, blockTypes: n, resolution: o }) { this.title = t; this.font = e; this.alpha = Math.round(s * 100); this.duration = i; this.blockTypes = n; this.resolution = o; this.danmakuStack = new a(e, o, i) } get fontStyles() { return { 25: `Style: Medium,${this.font},52,&H${this.alpha}FFFFFF,&H${this.alpha}FFFFFF,&H${this.alpha}000000,&H${this.alpha}000000,0,0,0,0,100,100,0,0,1,1,0,5,0,0,0,0`, 18: `Style: Small,${this.font},36,&H${this.alpha}FFFFFF,&H${this.alpha}FFFFFF,&H${this.alpha}000000,&H${this.alpha}000000,0,0,0,0,100,100,0,0,1,1,0,5,0,0,0,0` } } convertToAssDocument(t) { const e = []; for (const s of t.danmakus.sort((t, e) => t.time - e.time)) { if (this.blockTypes.concat(7, 8).indexOf(s.type) !== -1) { continue } const [t, i] = this.convertTime(s.time, this.duration); e.push(new o({ content: s.content, time: t, endTime: i, type: s.type, fontSize: s.fontSize, color: s.color, typeTag: this.convertType(s), colorTag: this.convertColor(s.color) })) } return new r({ danmakus: e, title: this.title, blockTypes: this.blockTypes, fontStyles: this.fontStyles, resolution: this.resolution }) } convertType(t) { return this.danmakuStack.push(t).tags } convertColor(t) { const e = 16777215; if (t === e) { return "" } const s = t.toString(16); const i = s.substring(4, 6); const n = s.substring(2, 4); const o = s.substring(0, 2); return `\\c&H${o}${n}${i}&` } convertTime(t, e) { function s(t) { let e = 0; let s = 0; while (t >= 60) { t -= 60; s++ } while (s >= 60) { s -= 60; e++ } return `${e}:${s}:${t}` } return [s(t), s(t + e)] } } return { export: { AssDanmaku: o, AssDanmakuDocument: r, Danmaku: s, DanmakuConverter: h, DanmakuStack: a, XmlDanmaku: i, XmlDanmakuDocument: n } } } })();
|
|
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/video-info.min.js"] = (() => { return () => { class t { constructor(t) { this.aid = t } async fetchInfo() { const t = JSON.parse(await downloadText(`https://api.bilibili.com/x/web-interface/view?aid=${this.aid}`)); if (t.code !== 0) { throw new Error(t.message) } const i = t.data; this.cid = i.cid; this.pageCount = i.videos; this.coverUrl = i.pic; this.tagId = i.tid; this.tagName = i.tname; this.title = i.title; this.description = i.desc; this.up = { uid: i.owner.mid, name: i.owner.name, faceUrl: i.owner.face }; this.pages = i.pages.map(t => { return { cid: t.cid, title: t.part, pageNumber: t.page } }); return this } async fetchDanmaku() { this.danmaku = new e(this.cid); return this.danmaku.fetchInfo() } } class i { constructor(t, i) { this.text = t; this.p = i } } class e { constructor(t) { this.cid = t } async fetchInfo() { const t = await downloadText(`https://api.bilibili.com/x/v1/dm/list.so?oid=${this.cid}`); this.rawXML = t; const e = (new DOMParser).parseFromString(t, "application/xml").documentElement; this.xml = e; this.danmakus = [].map.call(e.querySelectorAll("d[p]"), t => { return new i(t.innerHTML, t.getAttribute("p")) }) } } class a { constructor(t) { this.ep = t; this.videos = [] } async fetchInfo() { const i = await downloadText(`https://www.bilibili.com/bangumi/play/ep${this.ep}/`); const e = JSON.parse(i.match(/window\.__INITIAL_STATE__=(.*);\(function\(\){/)[1]); this.title = e.mediaInfo.title; this.cover = e.mediaInfo.cover; this.squareCover = e.mediaInfo.square_cover; this.aid = e.epInfo.aid; this.cid = e.epInfo.cid; this.videos = e.epList.map(async i => { return { title: i.index_title, aid: i.aid, cid: i.cid, info: await new t(i.aid).fetchInfo() } }); return this } } return { export: { VideoInfo: t, BangumiInfo: a, Danmaku: i, DanmakuInfo: e } } } })();
|
|
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/about.min.html"] = `<div class="bilibili-evolved-about"><div class="about-block"><h1>Bilibili Evolved</h1><h2 class="bilibili-evolved-version"></h2><div class="bilibili-evolved-info"><p>作者:<a target="_blank" href="https://github.com/the1812">Grant Howard</a>,<a target="_blank" href="https://github.com/Coulomb-G">Coulomb-G</a></p><p>网站:<a target="_blank" href="https://github.com/the1812/Bilibili-Evolved">GitHub</a></p></div></div><div class="about-block"><h2>开源组件</h2><ul class="open-source-components"></ul></div><div><button id="about-close">关闭</button></div></div>`;
|
|
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/about.min.css"] = `.about.gui-settings-footer{height:24px;font-size:14px;justify-content:space-between;padding:6px 24px;border-top:1px dashed #8884;}.about.gui-settings-footer>span{opacity:0.2;}.bilibili-evolved-about{display:flex;width:400px;height:70vh;background-color:white;position:fixed;top:15%;left:calc(50% - 200px);z-index:100000;box-shadow:0px 3px 20px 2px #0004;border-top:4px solid var(--theme-color);flex-direction:column;transition:all .2s ease-out;transform-origin:center;transform:scale(0);}.bilibili-evolved-about.opened{transform:scale(1);}.bilibili-evolved-info a{margin:0 4px;}.bilibili-evolved-info>p{margin:8px 0;}.bilibili-evolved-about>div{flex:1 0 0;display:flex;align-items:center;justify-content:space-between;flex-direction:column;padding:8px;}.bilibili-evolved-about>div.about-block{flex:4 0 0;padding:32px;align-items:stretch;}.bilibili-evolved-about h1{font-size:36px;margin-bottom:16px;}.bilibili-evolved-about h2{font-size:18px;margin-bottom:8px;}.open-source-components>li{margin:12px 0;padding:12px 24px;background:rgba(0,0,0,0.2);border-left:4px solid var(--theme-color);cursor:pointer;transition:all .2s ease-out;}.open-source-components>li:hover{opacity:0.8;}.component-name{font-size:18px;font-weight:bold;}.component-info{margin-top:8px;}#about-link{cursor:pointer;transition:all .2s;}.bilibili-evolved-about a{color:var(--theme-color);}#about-link:hover{opacity:1;color:var(--theme-color);}#about-close{background-color:#8884;border-color:transparent;opacity:1;transition:all .2s ease-out;width:80px;height:32px;color:inherit;cursor:pointer;}#about-close:hover{opacity:0.8;}#about-close:active{outline:none;opacity:0.6;}`;
|
|
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/about.min.js"] = (() => { return (e, i) => { $("body").append(i.data.aboutDom.text); const n = GM_info.script.name.replace("Bilibili Evolved", "").replace(/^[\(\) ]+|[\(\) ]+$/g, "") + " · " + e.currentVersion; $(".bilibili-evolved-version").text(n); const o = [{ name: "jQuery", homepage: "https://jquery.com/", license: "MIT", version: "3.2.1" }, { name: "JSZip", homepage: "https://stuk.github.io/jszip/", license: "MIT", version: "3.1.5" }]; o.forEach(e => { $(".open-source-components").append(`\n <li>\n <a target="_blank" href="${e.homepage}">\n <div class="component-name">${e.name}</div>\n <div class="component-info">${e.version} · ${e.license}</div>\n </a>\n </li>\n `) }); function t() { $("#about-close").on("click", () => { $(".bilibili-evolved-about").toggleClass("opened") }); $(".gui-settings").on("click", e => { if (e.shiftKey === true) { $(".bilibili-evolved-about").toggleClass("opened") } }) } return { widget: { success: t } } } })();
|
|
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/custom-control-background.min.css"] = `.bilibili-player-video-control-mask{background:transparent!important;}.bilibili-player-video-control-bottom,.bui-slider .bui-track.bui-track-video-progress .bui-bar-wrap{background:rgba(0,0,0,var(--custom-control-background-opacity))!important;}`;
|
|
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/custom-control-background.min.js"] = (() => { return (o, t) => { if (o.customControlBackgroundOpacity > 0) { t.applyStyle("customControlBackgroundStyle"); if (!o.touchVideoPlayer) { t.applyImportantStyleFromText(`\n<style id="control-background-non-touch">\n.bilibili-player-video-control-bottom\n{\n margin: 7px 0 0 0 !important;\n padding: 8px 0 0 !important;\n}\n</style>\n `) } } } })();
|
|
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/default-player-mode.min.js"] = (() => { return (e, i) => { const n = [{ name: "常规", action: () => { } }, { name: "宽屏", action: () => { $(".bilibili-player-video-btn-widescreen").click() } }, { name: "网页全屏", action: () => { $(".bilibili-player-video-web-fullscreen").click() } }]; let t = () => { }; async function l() { if (e.autoLightOff) { await SpinQuery.unsafeJquery(); const e = await SpinQuery.any(() => unsafeWindow.$(".bilibili-player-video-btn-setting")); e.mouseover().mouseout(); t = (() => { SpinQuery.any(() => $(".bilibili-player-video-btn-setting-panel-others-content-lightoff .bui-checkbox-input"), e => { const i = e[0]; i.checked = true; raiseEvent(i, "change") }) }) } } async function a() { await l(); await SpinQuery.condition(() => $(".bilibili-player-video,.bilibili-player-video-btn-start,.bilibili-player-area"), e => e.length === 3 && $("video").length > 0 && $("video").prop("duration")); const i = document.querySelector("video"); if (i.length === 0) { return } const a = n.find(i => i.name === e.defaultPlayerMode); if (a.name === "全屏") { const e = await SpinQuery.unsafeJquery(); const i = document.querySelector(".bilibili-player-video-btn-start"); const n = () => { const t = e(".bilibili-player-video-btn-fullscreen").data("events"); if (t.click && t.click[0] && t.click[0].handler) { const i = e(".bilibili-player-video-btn-fullscreen").data("events").click[0].handler; console.log(i); i() } i.removeEventListener("click", n) }; i.addEventListener("click", n) } else { const e = () => { if (a && $("#bilibiliPlayer[class*=mode-]").length === 0) { a.action() } t(); i.removeEventListener("play", e) }; i.addEventListener("play", e) } } (Observer.childList || Observer.subtree)("#bofqi", () => a()) } })();
|
|
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/default-video-quality.min.js"] = (() => { return (e, a) => { const t = [{ name: "1080P60", value: 116 }, { name: "1080P+", value: 112 }, { name: "1080P", value: 80 }, { name: "720P60", value: 74 }, { name: "720P", value: 64 }, { name: "480P", value: 32 }, { name: "360P", value: 15 }, { name: "自动", value: 0 }]; async function i() { const a = await SpinQuery.any(() => $(".bilibili-player-video-quality-menu .bui-select-list>li.bui-select-item")); const i = (e, a) => a - e; const [n] = a.toArray().map(e => parseInt(e.getAttribute("data-value"))).sort(i); const [l] = t.filter(a => a.name === e.defaultVideoQuality).map(e => e.value).sort(i); const [o] = t.map(e => e.value).filter(e => e <= Math.min(l, n)).sort(i); console.info(`[Video Quality] availableHighestQualities=${n}`); console.info(`[Video Quality] targetQuality=${l}`); console.info(`[Video Quality] finalQuality=${o}`); const u = await SpinQuery.condition(() => document.querySelector("video"), e => e); function s() { a.each((e, a) => { if (parseInt(a.getAttribute("data-value")) === o) { a.click() } }); this.removeEventListener("play", s) } u.addEventListener("play", s) } (Observer.childList || Observer.subtree)("#bofqi", () => i()) } })();
|
|
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/combo-like.min.js"] = (() => { return (e, t) => { (async () => { const e = await SpinQuery.select(() => document.querySelector(".ops span.like")); e.style.userSelect = "none"; function t(t, n) { const s = new CustomEvent(t, n); e.dispatchEvent(s) } const n = 200; let s = true; e.addEventListener("touchstart", e => { e.preventDefault(); s = true; setTimeout(() => s = false, n); t("mousedown", e) }); e.addEventListener("touchend", e => { e.preventDefault(); t("mouseup", e); if (s === true) { t("click", e) } }) })() } })();
|
|
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/auto-continue.min.js"] = (() => { return (e, t) => { function i(e) { const t = /((\d)*:)?(\d)*:(\d)*/g; const i = e.text(); const n = i.match(t); if (!n) { return } const r = n[0].split(":"); const o = (() => { if (r.length === 3) { const [e, t, i] = r.map(e => parseInt(e)); return e * 60 * 60 + t * 60 + i } else if (r.length === 2) { const [e, t] = r.map(e => parseInt(e)); return e * 60 + t } else { logError(`解析历史时间发生错误: historyTime=${JSON.stringify(r)}`); return NaN } })(); const s = e.parent(); const l = document.querySelector("video"); if (o < l.duration) { l.currentTime = o; l.play(); s.find(".bilibili-player-video-toast-item-jump").remove(); const t = $(`<div class="bilibili-player-video-toast-item-jump">从头开始</div>`); t.appendTo(s).on("click", () => l.currentTime = 0); e.html(`<span>已跳转到上次历史记录</span><span>${n[0]}</span>`) } else { s.find(".bilibili-player-video-toast-item-close").get(0).click() } } function n() { SpinQuery.condition(() => $(".bilibili-player-video-toast-item-text"), e => e.text().indexOf("上次看到") !== -1, e => i(e.filter((e, t) => t.innerText.indexOf("上次看到") !== -1))) } (Observer.childList || Observer.subtree)("#bofqi", n) } })();
|
|
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/expand-description.min.css"] = `.video-desc .info{height:auto!important;}.video-desc .btn{display:none!important;}`;
|
|
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/expand-description.min.js"] = (() => { return (e, p) => { p.applyStyle("expandDescriptionStyle") } })();
|
|
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/default-danmaku-settings.min.js"] = (() => { return (e, n) => { async function t(e, n) { const t = await SpinQuery.select(() => document.querySelector(e)); if (!t) { return } t.checked = n; raiseEvent(t, "change") } const i = { enableDanmaku: ".bilibili-player-video-danmaku-switch>input", settingsIcon: ".bilibili-player-video-danmaku-setting" }; if (!e.enableDanmaku) { t(i.enableDanmaku, false) } if (e.rememberDanmakuBlock) { for (const n in e.danmakuBlockSettings) { i[n] = `.bilibili-player-block-filter-type[ftype=${n}]` } async function a() { await SpinQuery.unsafeJquery(); const n = await SpinQuery.any(() => unsafeWindow.$(i.settingsIcon)); n.mouseover().mouseout(); for (const [n, t] of Object.entries(e.danmakuBlockSettings)) { if (t === true) { const e = await SpinQuery.select(() => document.querySelector(i[n])); e.click() } } } async function c() { for (const n in e.danmakuBlockSettings) { const t = await SpinQuery.select(() => document.querySelector(i[n])); t.addEventListener("click", () => { e.danmakuBlockSettings[n] = t.classList.contains("disabled"); saveSettings(e) }) } } a(); c() } } })();
|
|
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/skip-charge-list.min.css"] = `.bilibili-player .bilibili-player-area .bilibili-player-electric-panel{display:none!important;}`;
|
|
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/skip-charge-list.min.js"] = (() => { return (e, c) => { function i() { const e = document.querySelector(".bilibili-player-electric-panel-jump"); e && e.click() } SpinQuery.select(() => document.querySelector("#bofqi")).then(() => { Observer.childListSubtree("#bofqi", () => i()) }) } })();
|
|
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/default-player-layout.min.js"] = (() => { return (t, e) => { (async () => { const e = await SpinQuery.select(() => document.querySelector(`input[key=defaultPlayerLayout]`)); if (!e) { return } const o = "stardustvideo"; const n = "旧版"; const a = "新版"; const c = { [n]: 0, [a]: 2 }; const i = document.cookie.split(";").filter(t => t.includes(o + "=0")).length > 0 ? n : a; function u(t) { document.cookie = `${o}=${c[t]};path=/;domain=.bilibili.com;max-age=31536000`; window.location.reload() } $(e).on("change", () => { u(e.value) }); if (t.defaultPlayerLayout !== i) { u(t.defaultPlayerLayout) } })() } })();
|
|
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/compact-layout.min.css"] = `.groom-module{margin:0!important;width:192px!important;height:120px!important;}.bangumi-timing-module .card-timing,.groom-module{-webkit-tap-highlight-color:transparent;}.chief-recommend-module .recommend-module,.nominate-m .video-card-box,.groom-box-m{height:240px!important;}.groom-module .pic,.groom-module .lazy-img{width:100%!important;height:100%!important;transition:all .2s;}.groom-module:hover .pic,.groom-module:hover .lazy-img{filter:blur(8px);}.groom-module .card-mark{width:calc(100% - 20px)!important;top:88px;padding:10px!important;}.groom-module:hover .card-mark{top:0!important;}.chief-recommend-module .carousel-box,.chief-recommend-module .carousel-box img{height:240px!important;width:480px!important;}.nominate-m .carousel-box,.nominate-m .carousel-box img{height:240px!important;width:672px!important;}.storey-box .spread-module,.live-module .storey-box .card-live-module,.special-module,.video-item-biref{margin:0!important;width:192px!important;height:168px!important;-webkit-tap-highlight-color:transparent;}.special-module{height:192px!important;}.special-module .pic .title{line-height:unset!important;height:auto!important;}.special-recommend-module .storey-box{height:180px!important;}.special-module .user{transform:translatey(24px);}.spread-module .pic,.live-module .storey-box .card-live-module .pic,.special-module .pic-box,.mod-3 .l-item .l,.mod-1 .l .spread-module,.mod-3 .l .spread-module,.mod-2 .spread-module,.mod-2 li .l,.video-item-biref .biref-img{width:192px!important;height:120px!important;}.mod-2 li .l-item{height:auto;}.mod-3 .l-item,.mod-3 li{width:192px!important;}.mod-3 .l .spread-module{margin:0!important;}.mod-3 li,.mod-1 li,.mod-1 .r,.mod-2 li .l-item{padding:0!important;}.mod-3 .r .v-info,.mod-3 .r .up-info,.mod-3 .r .title{padding-top:4px!important;margin-top:0px!important;}.mod-2 li .r .v-desc{padding:0!important;margin:10px 0!important;}.spread-module .num,.live-module .storey-box .card-live-module .num{padding-left:8px;padding-right:8px;bottom:6px;}.spread-module .t,.live-module .storey-box .card-live-module .t,.special-module .pic .title,.video-item-biref .biref-info .biref-title{padding-left:4px;padding-right:4px;padding-top:4px;}.sec-rank .rank-list-wrap .rank-list{min-height:288px;}.hot-recom-module{height:auto!important;}.game-groom-box-m,.game-groom-box-m .game-groom-m{height:100%!important;}.spread-module .pic,.special-module .pic-box,.groom-module,.carousel-box .carousel-module .panel,.live-module .storey-box .card-live-module .pic,.card-live-module .pic .mask,.mod-3 .l-item,.carousel-wrapper,.video-item-biref .biref-img,.game-groom-box-m .game-groom-m{border-radius:0!important;}.rank-list .rank-item .ri-num,.card-timing-module .pic,.timeline-box .timeline-item .preview,.timeline-box .timeline-item .preview img{border-radius:50%!important;}.cover-preview-module .cover{width:160px;transform-origin:left top 0px;transform:scale(1.3);}.bangumi-timing-module .card-timing{width:205px;}.card-timing-module .r-text{width:120px;}.recommend-module .rec-btn.prev{left:0!important;}.primary-menu{display:flex;align-items:center;margin:0;width:100%;}.primary-menu .nav-menu{flex:1 0 auto;display:flex;justify-content:space-between;align-items:center;margin-right:28px;}.primary-menu .nav-menu>li .num-wrap span{padding:2.5px;line-height:unset;height:auto;min-width:30px;}.primary-menu .nav-menu>li.home>a,.primary-menu .nav-menu .side-nav .side-link i.square,.primary-menu .nav-menu .side-nav .side-link i.zhuanlan,.primary-menu .nav-menu .side-nav .side-link i.live,.primary-menu .nav-menu .side-nav .side-link i.blackroom{background-size:contain;background-repeat:no-repeat;background-position:initial;}.primary-menu .nav-menu>li .num-wrap{top:0;}.primary-menu .nav-menu>li .num-wrap{position:static;height:auto;}.primary-menu .nav-menu li .nav-name{line-height:unset;height:auto;}.primary-menu .nav-menu>li:not(.home) .nav-name{height:auto;padding:0;}.nav-gif{position:static;flex:0 0 auto;}.primary-menu .nav-menu li.home>a .nav-name{visibility:hidden;display:block;position:static;}.primary-menu .nav-menu .sub-nav{top:36px;padding-top:4px;}@media screen and (min-width: 1300px){.bili-wrapper{width:1248px!important;}.cinema-home-wrapper{width:1248px!important;}.block-area .block-left{width:960px!important;}.timeline-box .timeline-item{padding-right:32px!important;}.elevator-module{margin-left:630px!important;}.bili-wrapper .l-con{width:988px!important;}.bangumi-timing-module .card-timing{padding:36px 30px 0 0;}.bangumi-timing-module .card-timing:nth-child(4):nth-child(4){padding-top:0;}.mod-1 li .r{width:750px!important;}.mod-2 li .r{width:245px!important;} .mod-2 li .r .up-info .v-author,.mod-2 li .r .v-info .v-info-i{width:70px!important;}.bangumi-timing-module .headline .bili-tab{width:700px;display:flex;justify-content:space-evenly;}}@media screen and (max-width: 1300px){.bili-wrapper{width:1056px!important;}.cinema-home-wrapper{width:1056px!important;}.block-area .block-left{width:768px!important;}.elevator-module{margin-left:540px!important;}.bili-wrapper .l-con{width:768px!important;}.bangumi-timing-module .card-timing{padding:36px 36px 0 0;}#ranking_guochuang{width:260px!important;transform:translatex(28px);}.mod-1 li .r{width:530px!important;}.mod-2 li .r{width:160px!important;} .mod-2 li .r .up-info .v-author,.mod-2 li .r .v-info .v-info-i{width:50px!important;}}`;
|
|
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/compact-layout.min.js"] = (() => { return (t, i) => { const c = ["https://www.bilibili.com/", "https://www.bilibili.com/watchlater/#/list"]; if (c.indexOf(location.href.replace(location.search, "")) !== -1) { document.documentElement.classList.add("compact") } } })();
|
|
|
|
class ResourceType
|
|
{
|
|
constructor(name, preprocessor)
|
|
{
|
|
this.name = name;
|
|
this.preprocessor = preprocessor || (text => text);
|
|
}
|
|
static fromUrl(url)
|
|
{
|
|
if (url.indexOf(".css") !== -1)
|
|
{
|
|
return this.style;
|
|
}
|
|
else if (url.indexOf(".html") !== -1 || url.indexOf(".htm") !== -1)
|
|
{
|
|
return this.html;
|
|
}
|
|
else if (url.indexOf(".js") !== -1)
|
|
{
|
|
return this.script;
|
|
}
|
|
else if (url.indexOf(".txt") !== -1)
|
|
{
|
|
return this.text;
|
|
}
|
|
else
|
|
{
|
|
return this.unknown;
|
|
}
|
|
}
|
|
static get style()
|
|
{
|
|
return new ResourceType("style");
|
|
}
|
|
static get html()
|
|
{
|
|
return new ResourceType("html", html =>
|
|
{
|
|
for (const [key, name] of Object.entries(Resource.displayNames))
|
|
{
|
|
html = html.replace(new RegExp(`(<(.+)\\s*?indent="[\\d]+?"\\s*?key="${key}"\\s*?dependencies=".*?">)[^\\0]*?(</\\2>)`, "g"),
|
|
`$1${name}$3`);
|
|
}
|
|
return html.replace(/<category\s*?icon="(.+?)">([^\0]*?)<\/category>/g, `
|
|
<li class="indent-center category">
|
|
<i class="icon-$1" style="margin-right:8px"></i>
|
|
<span class="settings-category">$2</span>
|
|
<i class="icon-arrow" style="margin-left:8px"></i>
|
|
</li>
|
|
`).replace(/<checkbox\s*?indent="(.+?)"\s*?key="(.+?)"\s*?dependencies="(.*?)">([^\0]*?)<\/checkbox>/g, `
|
|
<li class="indent-$1">
|
|
<label class="gui-settings-checkbox-container">
|
|
<input key="$2" type="checkbox" dependencies="$3" checked/>
|
|
<div class="gui-settings-checkbox"></div>
|
|
<span>$4</span>
|
|
</label>
|
|
</li>
|
|
`).replace(/<dropdown\s*?indent="(.+?)"\s*?key="(.+?)"\s*?dependencies="(.*?)">([^\0]*?)<\/dropdown>/g, `
|
|
<li class="indent-$1">
|
|
<label>
|
|
<span class="gui-settings-dropdown-span">$4</span>
|
|
<div class="gui-settings-dropdown popup">
|
|
<input readonly type="text" spellcheck="false" key="$2" dependencies="$3">
|
|
<ul></ul>
|
|
<i class="icon-arrow"></i>
|
|
</div>
|
|
</label>
|
|
</li>
|
|
`).replace(/<textbox\s*?indent="(.+?)"\s*key="(.+?)"\s*?dependencies="(.*?)">([^\0]*?)<\/textbox>/g, `
|
|
<li class="indent-$1">
|
|
<label class="gui-settings-textbox-container">
|
|
<span>$4</span>
|
|
<input key="$2" dependencies="$3" spellcheck="false" type="text" />
|
|
</label>
|
|
</li>
|
|
`);
|
|
});
|
|
}
|
|
static get script()
|
|
{
|
|
return new ResourceType("script");
|
|
}
|
|
static get text()
|
|
{
|
|
return new ResourceType("text");
|
|
}
|
|
static get unknown()
|
|
{
|
|
return new ResourceType("unknown");
|
|
}
|
|
}
|
|
class Resource
|
|
{
|
|
get downloaded()
|
|
{
|
|
return this.text !== null;
|
|
}
|
|
constructor(url, priority, styles = [])
|
|
{
|
|
this.url = Resource.root + url;
|
|
this.dependencies = [];
|
|
this.priority = priority;
|
|
this.styles = styles;
|
|
this.text = null;
|
|
this.key = null;
|
|
this.type = ResourceType.fromUrl(url);
|
|
this.displayName = "";
|
|
}
|
|
flatMapPolyfill()
|
|
{
|
|
if (Array.prototype.flatMap === undefined)
|
|
{
|
|
const flatMap = function (mapFunc)
|
|
{
|
|
return this
|
|
.map(mapFunc)
|
|
.reduce((acc, it) => acc.concat(it), []);
|
|
};
|
|
return flatMap;
|
|
}
|
|
else
|
|
{
|
|
return Array.prototype.flatMap;
|
|
}
|
|
}
|
|
loadCache()
|
|
{
|
|
const key = this.key;
|
|
if (!settings.cache || !settings.cache[key])
|
|
{
|
|
return null;
|
|
}
|
|
else
|
|
{
|
|
return settings.cache[key];
|
|
}
|
|
}
|
|
async download()
|
|
{
|
|
const key = this.key;
|
|
return new Promise((resolve, reject) =>
|
|
{
|
|
if (this.downloaded)
|
|
{
|
|
resolve(this.text);
|
|
}
|
|
else
|
|
{
|
|
const flattenStyles = this.flatMapPolyfill()
|
|
.bind(this.styles)(it => typeof it === "object" ? it.key : it);
|
|
Promise.all(this.dependencies
|
|
.concat(flattenStyles.map(it => Resource.all[it]))
|
|
.map(r => r.download())
|
|
)
|
|
.then(() =>
|
|
{
|
|
this.text = this.type.preprocessor(offlineData[this.url]); resolve(this.text);
|
|
});
|
|
}
|
|
});
|
|
}
|
|
getStyle(id)
|
|
{
|
|
const style = this.text;
|
|
if (style === null)
|
|
{
|
|
logError("Attempt to get style which is not downloaded.");
|
|
}
|
|
let attributes = `id='${id}'`;
|
|
if (this.priority !== undefined)
|
|
{
|
|
attributes += ` priority='${this.priority}'`;
|
|
}
|
|
return `<style ${attributes}>${style}</style>`;
|
|
}
|
|
getPriorStyle()
|
|
{
|
|
if (this.priority !== undefined)
|
|
{
|
|
let insertPosition = this.priority - 1;
|
|
let formerStyle = $(`style[priority='${insertPosition}']`);
|
|
while (insertPosition >= 0 && formerStyle.length === 0)
|
|
{
|
|
formerStyle = $(`style[priority='${insertPosition}']`);
|
|
insertPosition--;
|
|
}
|
|
if (insertPosition < 0)
|
|
{
|
|
return null;
|
|
}
|
|
else
|
|
{
|
|
return formerStyle;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
return null;
|
|
}
|
|
}
|
|
applyStyle(id, important)
|
|
{
|
|
if ($(`#${id}`).length === 0)
|
|
{
|
|
const element = this.getStyle(id);
|
|
const priorStyle = this.getPriorStyle();
|
|
if (priorStyle === null)
|
|
{
|
|
if (important)
|
|
{
|
|
$("html").append(element);
|
|
}
|
|
else
|
|
{
|
|
$("head").prepend(element);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
priorStyle.after(element);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
class StyleManager
|
|
{
|
|
constructor(resources)
|
|
{
|
|
this.resources = resources;
|
|
}
|
|
getDefaultStyleId(key)
|
|
{
|
|
return key.replace(/([a-z][A-Z])/g,
|
|
g => `${g[0]}-${g[1].toLowerCase()}`);
|
|
}
|
|
applyStyle(key, id)
|
|
{
|
|
if (id === undefined)
|
|
{
|
|
id = this.getDefaultStyleId(key);
|
|
}
|
|
Resource.all[key].applyStyle(id, false);
|
|
}
|
|
removeStyle(key)
|
|
{
|
|
$(`#${this.getDefaultStyleId(key)}`).remove();
|
|
}
|
|
applyImportantStyle(key, id)
|
|
{
|
|
if (id === undefined)
|
|
{
|
|
id = this.getDefaultStyleId(key);
|
|
}
|
|
Resource.all[key].applyStyle(id, true);
|
|
}
|
|
applyStyleFromText(text)
|
|
{
|
|
$("head").prepend(text);
|
|
}
|
|
applyImportantStyleFromText(text)
|
|
{
|
|
$("html").append(text);
|
|
}
|
|
getStyle(key, id)
|
|
{
|
|
return Resource.all[key].getStyle(id);
|
|
}
|
|
fetchStyleByKey(key)
|
|
{
|
|
if (settings[key] !== true)
|
|
{
|
|
return;
|
|
}
|
|
Resource.all[key].styles
|
|
.filter(it => it.condition !== undefined ? it.condition() : true)
|
|
.forEach(it =>
|
|
{
|
|
const important = typeof it === "object" ? it.important : false;
|
|
const key = typeof it === "object" ? it.key : it;
|
|
Resource.all[key].download().then(() =>
|
|
{
|
|
if (important)
|
|
{
|
|
contentLoaded(() => this.applyImportantStyle(key));
|
|
}
|
|
else
|
|
{
|
|
this.applyStyle(key);
|
|
}
|
|
});
|
|
});
|
|
}
|
|
fetchStyles()
|
|
{
|
|
for (const key in Resource.all)
|
|
{
|
|
this.fetchStyleByKey(key);
|
|
}
|
|
}
|
|
}
|
|
class ResourceManager
|
|
{
|
|
constructor()
|
|
{
|
|
this.data = Resource.all;
|
|
this.attributes = {};
|
|
this.styleManager = new StyleManager(this);
|
|
const styleMethods = Object.getOwnPropertyNames(StyleManager.prototype).filter(it => it !== "constructor");
|
|
for (const key of styleMethods)
|
|
{
|
|
this[key] = function (...params)
|
|
{
|
|
this.styleManager[key](...params);
|
|
};
|
|
}
|
|
this.setupColors();
|
|
}
|
|
setupColors()
|
|
{
|
|
this.color = new ColorProcessor(settings.customStyleColor);
|
|
settings.foreground = this.color.foreground;
|
|
settings.blueImageFilter = this.color.blueImageFilter;
|
|
settings.pinkImageFilter = this.color.pinkImageFilter;
|
|
settings.brightness = this.color.brightness;
|
|
settings.filterInvert = this.color.filterInvert;
|
|
|
|
const hexToRgba = input => this.color.rgbToString(this.color.hexToRgba(input));
|
|
let styles = [];
|
|
styles.push("--theme-color:" + settings.customStyleColor);
|
|
for (let opacity = 10; opacity <= 90; opacity += 10)
|
|
{
|
|
styles.push(`--theme-color-${opacity}:` + hexToRgba(settings.customStyleColor + opacity));
|
|
}
|
|
styles.push("--foreground-color:" + settings.foreground);
|
|
styles.push("--foreground-color-b:" + hexToRgba(settings.foreground + "b"));
|
|
styles.push("--foreground-color-d:" + hexToRgba(settings.foreground + "d"));
|
|
styles.push("--blue-image-filter:" + settings.blueImageFilter);
|
|
styles.push("--pink-image-filter:" + settings.pinkImageFilter);
|
|
styles.push("--brightness:" + settings.brightness);
|
|
styles.push("--invert-filter:" + settings.filterInvert);
|
|
styles.push("--blur-background-opacity:" + settings.blurBackgroundOpacity);
|
|
styles.push("--custom-control-background-opacity:" + settings.customControlBackgroundOpacity);
|
|
this.applyStyleFromText(`<style id="bilibili-evolved-vaiables">html{${styles.join(";")}}</style>`);
|
|
}
|
|
import(compnentName)
|
|
{
|
|
return this.attributes[compnentName].export;
|
|
}
|
|
async fetchByKey(key)
|
|
{
|
|
const resource = Resource.all[key];
|
|
if (!resource)
|
|
{
|
|
return null;
|
|
}
|
|
const text = await resource.download().catch(reason =>
|
|
{
|
|
console.error(`Download error, XHR status: ${reason}`);
|
|
let toastMessage = `无法下载组件<span>${Resource.all[key].displayName}</span>`;
|
|
if (settings.toastInternalError)
|
|
{
|
|
toastMessage += "\n" + reason;
|
|
}
|
|
Toast.error(toastMessage, "错误");
|
|
});
|
|
await Promise.all(resource.dependencies
|
|
.filter(it => it.type.name === "script")
|
|
.map(it => this.fetchByKey(it.key)));
|
|
await Promise.all(resource.dependencies
|
|
.filter(it => it.type.name === "style")
|
|
.map(it => this.styleManager.fetchStyleByKey(it.key)));
|
|
this.applyComponent(key, text);
|
|
}
|
|
async fetch()
|
|
{
|
|
this.validateCache();
|
|
if (settings.toast === true)
|
|
{
|
|
await this.fetchByKey("toast");
|
|
Toast = this.attributes.toast.export;
|
|
}
|
|
const promises = [];
|
|
for (const key in settings)
|
|
{
|
|
if (settings[key] === true && key !== "toast")
|
|
{
|
|
const promise = this.fetchByKey(key);
|
|
if (promise)
|
|
{
|
|
promises.push(promise);
|
|
}
|
|
}
|
|
}
|
|
await Promise.all(promises);
|
|
await this.applyDropdownOptions();
|
|
await this.applyWidgets();
|
|
saveSettings(settings);
|
|
}
|
|
applyComponent(key, text)
|
|
{
|
|
const func = eval(text);
|
|
if (func)
|
|
{
|
|
try
|
|
{
|
|
const attribute = func(settings, this) || {};
|
|
this.attributes[key] = attribute;
|
|
}
|
|
catch (error)
|
|
{
|
|
console.error(`Failed to apply feature "${key}": ${error}`);
|
|
let toastMessage = `加载组件<span>${Resource.all[key].displayName}</span>失败`;
|
|
if (settings.toastInternalError)
|
|
{
|
|
toastMessage += "\n" + error;
|
|
}
|
|
Toast.error(toastMessage, "错误");
|
|
}
|
|
}
|
|
}
|
|
async applyWidgets()
|
|
{
|
|
async function applyWidget(info)
|
|
{
|
|
let condition = true;
|
|
if (typeof info.condition === "function")
|
|
{
|
|
condition = info.condition();
|
|
if (condition instanceof Promise)
|
|
{
|
|
condition = await condition.catch(() => { return false; });
|
|
}
|
|
}
|
|
if (condition === true)
|
|
{
|
|
if (info.content)
|
|
{
|
|
$(".widgets-container").append($(info.content));
|
|
}
|
|
if (info.success)
|
|
{
|
|
info.success();
|
|
}
|
|
}
|
|
}
|
|
await Promise.all(Object.values(this.attributes)
|
|
.filter(it => it.widget)
|
|
.map(it => applyWidget(it.widget))
|
|
);
|
|
}
|
|
async applyDropdownOptions()
|
|
{
|
|
async function applyDropdownOption(info)
|
|
{
|
|
const dropdown = await SpinQuery.any(
|
|
() => $(`.gui-settings-dropdown:has(input[key=${info.key}])`));
|
|
const list = dropdown.find("ul");
|
|
const input = dropdown.find("input");
|
|
info.items.forEach(item =>
|
|
{
|
|
$(`<li>${item}</li>`).appendTo(list)
|
|
.on("click", () =>
|
|
{
|
|
input.val(item).trigger("input").change();
|
|
});
|
|
});
|
|
}
|
|
await Promise.all(Object.values(Resource.manifest)
|
|
.filter(it => it.dropdown)
|
|
.map(it => applyDropdownOption(it.dropdown))
|
|
);
|
|
}
|
|
validateCache()
|
|
{
|
|
if (settings.cache.version !== settings.currentVersion)
|
|
{
|
|
settings.cache = {};
|
|
saveSettings(settings);
|
|
}
|
|
if (settings.cache.version === undefined)
|
|
{
|
|
settings.cache.version = settings.currentVersion;
|
|
saveSettings(settings);
|
|
}
|
|
}
|
|
}
|
|
|
|
try
|
|
{
|
|
loadResources();
|
|
loadSettings();
|
|
unsafeWindow.bilibiliEvolved = {
|
|
SpinQuery,
|
|
Toast,
|
|
Observer,
|
|
ColorProcessor,
|
|
DoubleClickEvent,
|
|
ResourceManager,
|
|
Resource,
|
|
ResourceType,
|
|
monkeyInfo: GM_info
|
|
};
|
|
const resources = new ResourceManager();
|
|
resources.styleManager.fetchStyles();
|
|
|
|
const applyScripts = () => resources.fetch().catch(error => logError(error));
|
|
contentLoaded(applyScripts);
|
|
}
|
|
catch (error)
|
|
{
|
|
logError(error);
|
|
}
|
|
})(window.jQuery.noConflict(true));
|