javascript:(function()%7Bfunction%20Color(t%2Cr%2Co%2Ce)%7Bthis.r%3Dt%2Cthis.g%3Dr%2Cthis.b%3Do%2Cthis.a%3De%2Cthis.rgbString%3Dfunction()%7Breturn%201%3D%3Dthis.a%3F%22rgb(%22%2Bthis.r%2B%22%2C%22%2Bthis.g%2B%22%2C%22%2Bthis.b%2B%22)%22%3A%22rgba(%22%2Bthis.r%2B%22%2C%22%2Bthis.g%2B%22%2C%22%2Bthis.b%2B%22%2C%22%2Bthis.a%2B%22)%22%7D%2Cthis.hexString%3Dfunction()%7Breturn%22%23%22%2B((0%7C256%2Bthis.r).toString(16).substr(1)%2B(0%7C256%2Bthis.g).toString(16).substr(1)%2B(0%7C256%2Bthis.b).toString(16).substr(1))%7D%2Cthis.isTransparent%3Dfunction()%7Breturn%200%3D%3D%3Dthis.a%7D%2Cthis.saturation%3Dfunction()%7Bvar%20t%3DMath.max(this.r%2CMath.max(this.g%2Cthis.b))%2Cr%3DMath.min(this.r%2CMath.min(this.g%2Cthis.b))%3Breturn(t-r)%2Ft%7D%2Cthis.isColorful%3Dfunction()%7Breturn%20this.saturation()%3E.15%7D%2Cthis.luminance%3Dfunction()%7Breturn%203*this.r%2Bthis.b%2B4*this.g%3E%3E3%7D%2Cthis.isLight%3Dfunction()%7Breturn%20this.luminance()%3E100%7D%2Cthis.shade%3Dfunction(t)%7Bvar%20r%3Dthis.r%2B(256-this.r)*t%2F100%2Co%3Dthis.g%2B(256-this.g)*t%2F100%2Ce%3Dthis.b%2B(256-this.b)*t%2F100%3Breturn%20r%3D0%3Er%3F0%3Ar%2Co%3D0%3Eo%3F0%3Ao%2Ce%3D0%3Ee%3F0%3Ae%2Cr%3Dr%3E255%3F255%3Ar%2Co%3Do%3E255%3F255%3Ao%2Ce%3De%3E255%3F255%3Ae%2Cnew%20Color(Math.round(r)%2CMath.round(o)%2CMath.round(e)%2Cthis.a)%7D%2Cthis.invert%3Dfunction()%7Breturn%20new%20Color(255-this.r%2C255-this.g%2C255-this.b%2Cthis.a)%7D%7Dfunction%20ColorFromStr(t)%7Bif(void%200!%3D%3Dt)%7Bvar%20r%3Dt.replace(%2Frgba%3F%5C(%2F%2C%22%22).replace(%2F%5C)%2F%2C%22%22).split(%22%2C%22)%2Co%3DparseInt(r%5B0%5D)%2Ce%3DparseInt(r%5B1%5D)%2Ci%3DparseInt(r%5B2%5D)%2Cs%3Dvoid%200%3D%3D%3Dr%5B3%5D%3F1%3AparseFloat(r%5B3%5D)%3Breturn%20new%20Color(o%2Ce%2Ci%2Cs)%7D%7Dfunction%20BlackColor()%7Breturn%20new%20Color(0%2C0%2C0%2C1)%7Dfunction%20GrayColor()%7Breturn%20new%20Color(128%2C128%2C128%2C1)%7Dfunction%20TransparentColor()%7Breturn%20new%20Color(0%2C0%2C0%2C0)%7Dfunction%20setNewColor(t%2Cr%2Co)%7Bswitch(t)%7Bcase%22bg%22%3AWEBPAGE_COLORS.bgColors.set(r.rgbString()%2Co.rgbString())%3Bbreak%3Bcase%22text%22%3AWEBPAGE_COLORS.textColors.set(r.rgbString()%2Co.rgbString())%7D%7Dfunction%20getNewColor(t%2Cr)%7Bswitch(t)%7Bcase%22bg%22%3Areturn%20WEBPAGE_COLORS.bgColors.get(r)%3Bcase%22text%22%3Areturn%20WEBPAGE_COLORS.textColors.get(r)%7D%7Dfunction%20nightlight(t)%7Bif(void%200!%3D%3Dt%26%26!%5B3%2C8%5D.includes(t.nodeType)%26%26!IGNORED_ELEMENTS.includes(t.tagName))%7Bvar%20r%2Co%2Ce%3DgetComputedStyle(t)%2Ci%3DColorFromStr(e.backgroundColor)%2Cs%3DColorFromStr(e.color)%3Bswitch(WEBPAGE_COLORS.bgColors.has(i.rgbString())%7C%7C(i.isTransparent()%3FsetNewColor(%22bg%22%2Ci%2CTransparentColor())%3Ai.isColorful()%3FsetNewColor(%22bg%22%2Ci%2Ci.shade(-20))%3Ai.isLight()%3FsetNewColor(%22bg%22%2Ci%2Ci.invert())%3AsetNewColor(%22bg%22%2Ci%2Ci.shade(-50)))%2Cr%3DColorFromStr(getNewColor(%22bg%22%2Ci.rgbString()))%2CWEBPAGE_COLORS.textColors.has(s.rgbString())%7C%7C(s.isTransparent()%3FsetNewColor(%22text%22%2Cs%2CTransparentColor())%3As.isColorful()%3Fs.isLight()%3FsetNewColor(%22text%22%2Cs%2Cs)%3AsetNewColor(%22text%22%2Cs%2Cs.shade(50))%3As.isLight()%3FsetNewColor(%22text%22%2Cs%2Cs)%3AsetNewColor(%22text%22%2Cs%2Cs.invert()))%2Co%3DColorFromStr(getNewColor(%22text%22%2Cs.rgbString()))%2Cvoid%200%3D%3D%3Dr%26%26(r%3DBlackColor())%2Cvoid%200%3D%3D%3Do%26%26(o%3DGrayColor())%2Ct.tagName)%7Bcase%22BODY%22%3Ar.isTransparent()%26%26(r%3DBlackColor())%2Ct.style.backgroundImage%3D%22none%22%2Ct.style.setProperty(%22background-color%22%2Cr.rgbString()%2C%22important%22)%2Ct.style.setProperty(%22color%22%2Co.rgbString()%2C%22important%22)%3Bbreak%3Bcase%22CANVAS%22%3At.parentNode.removeChild(t)%3Bbreak%3Bcase%22IMG%22%3At.style.filter%3D%22brightness(70%25)%22%3Bbreak%3Bcase%22DIV%22%3Acase%22SPAN%22%3Aif(%22none%22!%3De.backgroundImage)return%3Bt.style.setProperty(%22background-color%22%2Cr.rgbString()%2C%22important%22)%2Ct.style.borderColor%3Do.rgbString()%2Cr.isLight()%7C%7C(t.style.color%3Do.rgbString())%3Bbreak%3Bdefault%3At.style.backgroundColor%3Dr.rgbString()%2Ct.style.color%3Do.rgbString()%7Dfor(t%3Dt.firstChild%3Bt%3B)nightlight(t)%2Ct%3Dt.nextSibling%7D%7Dvar%20IGNORED_ELEMENTS%3D%5B%22VIDEO%22%2C%22SCRIPT%22%5D%2CWEBPAGE_COLORS%3D%7BbgColors%3Anew%20Map%2CtextColors%3Anew%20Map%7D%3Bnightlight(document.body)%7D)()