:root { --header-width: 280px; --checkbox-width: 24px; --name-padding-left: 40px; --name-padding-right: 40px; --actions-width: 75px; --onoffswitch-width: 60px; --outer-padding: 9px; --popup-zebra-alpha-bg: hsla(0, 0%, 50%, .1); --all-disabled-checkbox-hover: hsl(0, 50%, 40%); --stylename-popup-hover-text: hsl(180, 100%, 20%); --stylename-hover-garadient-left: hsla(180, 50%, 30%, 0.2); --stylename-hover-garadient-middle: hsla(180, 20%, 10%, 0.05); } html { /* Chrome 66-?? adds a gap equal to the scrollbar width, which looks like a bug, see https://crbug.com/821143 */ overflow: overlay; } html, body { height: min-content; max-height: 600px; } body { width: 252px; font-size: 12px; font-family: Arial, "Helvetica Neue", Helvetica, sans-serif; margin: 0; display: flex; flex-wrap: wrap; } .firefox body { color: var(--black); background-color: var(--main-bg); } #confirm { margin-left: var(--outer-padding); margin-right: var(--outer-padding); } .firefox .chromium-only { display: none; } /************ checkbox ************/ .style-name:hover input[type="checkbox"] { border-color: var(--black); background-color: transparent; } #disable-all-wrapper input[type="checkbox"]:not(.slider):checked + .svg-icon.checked { position: absolute; top: 0; left: 0; pointer-events: none; } body.disabled #disableAll:checked + .svg-icon.checked { fill: var(--darker-red); } body.disabled #disableAll:checked:hover + .svg-icon.checked { fill: var(--white); } #disableAll:hover, body.disabled #disableAll:checked { border-color: var(--darker-red); background-color: var(--red-alpha-05); } body.disabled #disableAll-label, #disableAll-label:hover { color: var(--firebrick); } body.disabled #disableAll:checked:hover { border-color: var(--firebrick); background-color: var(--firebrick); } #installed .style-name .checker, #installed .style-name .svg-icon.checked { position: absolute; top: 7px; left: var(--outer-padding); pointer-events: none; } #disable-all-wrapper { padding: 0.3em 0 0.6em; } #disable-all-wrapper .main-controls { display: flex; position: relative; } #disable-all-wrapper .main-controls label { padding-left: 16px; position: relative; transition: color .25s; font-size: 12px; } #no-styles { padding: 4px var(--outer-padding) 6px; font-weight: bold; } #find-styles-link { cursor: pointer; margin-right: .5em; } .checker { display: inline; } body > div:last-of-type, body.blocked > div { border-bottom: none; } #search-results { display: flex; flex-direction: column; justify-content: center; flex-basis: 100%; padding-bottom: 12px; } #installed { border-bottom: 1px solid var(--truegray-alpha-3); max-height: 445px; overflow-y: auto; counter-reset: style-number; position: relative; flex-basis: 100%; } #write-styles-wrapper, .classicUI #disable-all-wrapper { flex-basis: 100%; } body.disabled .toggle-all-off, body:not(.disabled) .toggle-all-on { display: none; } svg.svg-icon.toggle-all-on { margin-top: 4px; } #popup-write-style-icon { display: inline-flex; } #write-styles-wrapper { padding: var(--outer-padding); } .action-wrapper { display: inline-flex; flex-shrink: 1; align-items: center; } #popup-manage-wrapper { padding-left: 4px; } #disable-all-wrapper { padding-right: 4px; } #find-styles-wrapper.action-wrapper { flex-grow: 1; justify-content: center; } /* accessibility */ .main-controls .style-edit-link-accessibility { position: absolute; top: 0; left: 0; bottom: 0; right: 0; pointer-events: none } .style-edit-link-accessibility:not([data-focused-via-click]):focus + .style-name, .entry .actions > a:not([data-focused-via-click]):focus { opacity: 1 !important; } .iconUI button { cursor: pointer; } .iconUI button .svg-icon { display: inline-flex; height: 20px; width: 20px; align-items: center; justify-content: center; } .iconUI button:hover .svg-icon { fill: var(--black); } .iconUI #popup-manage-button:hover .svg-icon { stroke: var(--black); } #popup-confirm-icon { cursor: pointer; margin: -5px 0; } #disable-all-icon .svg-icon { height: 20px; width: 20px; } #write-style-for .svg-icon { height: 16px; width: 16px; } #find-external-icon, #find-external-icon-noclick, #find-inline-icon { height: 20px; padding-top: 3px; overflow: hidden; box-sizing: border-box; } #popup-manage-icon .svg-icon, #find-external-icon .svg-icon, #find-external-icon-noclick .svg-icon, #find-inline-icon .svg-icon, a[target="_blank"] .svg-icon.config { height: 20px; width: 20px; } #popup-manage-icon .svg-icon { stroke: var(--gray-lightness-40); fill: transparent; transition: stroke .5s; } #popup-manage-icon:hover .svg-icon { stroke: var(--black); } #find-styles-link, #write-style-for { font-size: 0; display: inline-flex; align-items: center; } #write-style-wrapper { flex-basis: 100%; padding: var(--outer-padding); } #find-styles { display: flex; } #find-styles-inline-group input[type="checkbox"] ~ #find-external-icon, .search-results-shown #find-external-icon-noclick, .error-shown #find-external-icon-noclick, #find-styles-icon { display: inline-flex; } #find-styles-inline-group input[type="checkbox"]:checked ~ #find-external-icon, #find-styles-inline-group input[type="checkbox"]:not(:checked) ~ #find-inline-icon, #find-external-icon-noclick { display: none; } .search-results-shown #find-external-icon, .search-results-shown #find-inline-icon, .error-shown #find-external-icon, .error-shown #find-inline-icon { display: none !important; } #find-styles-inline-group, #find-inline-icon, #find-external-icon { display: inline-flex; height: min-content; } #find-styles-inline-group label { display: inline-flex; pointer-events: none; } #find-inline-icon, #find-external-icon { pointer-events: all; } .svg-icon.write-style path:first-child { stroke: var(--gray-lightness-40); stroke-width: 1px; stroke-linejoin: round; } .svg-icon.toggled-on, .svg-icon.toggled-off { height: 22px; width: 22px; } .svg-icon.toggled-on path, .svg-icon.toggled-off path { transition: fill .5s, stroke .5s; height: 22px; width: 22px; } .svg-icon.toggled-on path:first-child, .svg-icon.toggled-on path:nth-child(2) { fill: var(--gray-lightness-90); } a:hover .svg-icon.toggled-on path:first-child, a:hover .svg-icon.toggled-on path:nth-child(2) { fill: var(--white); } .svg-icon.toggled-off path:first-child, .svg-icon.toggled-off path:nth-child(2) { fill: var(--gray-lightness-80); } a:hover .svg-icon.toggled-off path:first-child, a:hover .svg-icon.toggled-off path:nth-child(2) { fill: var(--gray-lightness-90); } .svg-icon.toggled-on path:nth-child(2), .svg-icon.toggled-off path:nth-child(2) { stroke: var(--truegray); stroke-width: 1px; stroke-linejoin: round; } a:hover .svg-icon.toggled-on path:nth-child(2), a:hover .svg-icon.toggled-off path:nth-child(2) { stroke: var(--black); } a:hover .svg-icon.toggled-on path:nth-child(3), a:hover .svg-icon.toggled-off path:nth-child(3) { fill: var(--black); } .svg-icon.toggled-on path:nth-child(3), .svg-icon.toggled-off path:nth-child(3) { fill: var(--gray-lightness-30); } .entry.disabled .actions > .enable, .entry.enabled .actions > .disable { display: inline-flex; align-items: center; justify-content: center; } .entry.disabled .actions > .disable, .entry.enabled .actions > .enable, .toggleUI .entry.disabled .actions > .enable, .toggleUI .entry.enabled .actions > .disable, .toggleUI .directLinkUI-el { display: none !important; } .classicUI #find-styles-inline-group label { position: relative; padding-left: 16px; pointer-events: all; } .toggleUI .style-name { padding-left: 26px; cursor: default; } .iconUI .classicUI-el, .classicUI .iconUI-el, .directLinkUI .toggleUI-el, .toggleUI .editUI-el { display: none !important; } .iconUI #disable-all-wrapper { padding: 0 5px 0 0; } .iconUI button { border: 0; background: none; } .iconUI button:hover { background: none; } body.disabled .style-name { text-decoration: line-through; } body.disabled + .actions #disableAll-label { font-weight: bold; color: var(--firebrick); } #installed .actions { cursor: default; } #installed .actions a { cursor: pointer; text-decoration: none; } /* entry */ .entry { display: flex; align-items: center; height: 26px; padding: 0 14px 0 0; position: relative; } html[style] .entry { padding: 0 16px 0 0; } #no-styles.entry { padding: 0 14px; } .entry .actions { display: inline-flex; } .style-name { height: 100%; width: 100%; line-height: 28px; cursor: default; font-weight: bold; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; padding-left: var(--outer-padding); position: relative; transition: color .1s, opacity .1s; cursor: pointer; } .style-name:hover { color: var(--stylename-popup-hover-text); } .entry .style-name:hover::before { content: ""; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: linear-gradient(to right, var(--stylename-hover-garadient-left), var(--stylename-hover-garadient-middle) 50%, transparent); pointer-events: none; z-index: -1; } .entry .style-name:hover::before { opacity: 1; } .entry.disabled .style-name, .entry.disabled .actions > a, .entry.regexp-partial .style-name, .entry.regexp-partial .actions > a, .unreachable .entry .style-name, .unreachable .entry .actions > a { opacity: .4; } .entry.disabled .actions > a, .entry.regexp-partial .actions > a, .unreachable .entry .actions > a { transition: opacity .1s; } /***** adjust disabled opacity on zebra-striping *****/ #installed:not(.reverse-stripe) .entry.disabled:nth-child(even) .style-name, #installed:not(.reverse-stripe) .entry.disabled:nth-child(even) .actions > a, #installed:not(.reverse-stripe) .entry.regexp-partial:nth-child(even) .style-name, #installed:not(.reverse-stripe) .entry.regexp-partial:nth-child(even) .actions > a, #installed:not(.reverse-stripe) .unreachable .entry:nth-child(even) .style-name, #installed:not(.reverse-stripe) .unreachable .entry:nth-child(even) .actions > a, .reverse-stripe .entry.disabled:nth-child(odd) .style-name, .reverse-stripe .entry.disabled:nth-child(odd) .actions > a, .reverse-stripe .entry.regexp-partial:nth-child(odd) .style-name, .reverse-stripe .entry.regexp-partial:nth-child(odd) .actions > a, .reverse-stripe .unreachable .entry:nth-child(odd) .style-name, .reverse-stripe .unreachable .entry:nth-child(odd) .actions > a { opacity: .35; } .entry.disabled:before, .entry.regexp-partial:before, .unreachable .entry:before { opacity: .6; transition: opacity .1s; } .entry:hover .style-name, .entry:hover .actions > a, .entry:hover:before { opacity: 1 !important; } .entry .main-controls { height: 100%; display: inline-flex; flex-grow: 1; overflow: hidden; align-items: center; position: relative; } .entry .actions { padding-left: 5px; } .entry:nth-child(odd), .reverse-stripe .entry:nth-child(even) { background-color: transparent; } .entry:nth-child(even), .reverse-stripe .entry:nth-child(odd) { background-color: var(--popup-zebra-alpha-bg); } .entry:nth-child(-n+10):before, .entry:nth-child(11):before { counter-increment: style-number; content: counter(style-number); position: absolute; top: .9ex; right: 5px; color: var(--gray-lightness-66); } .entry:nth-child(11):before { content: "0"; } html[style*="border"] .entry:nth-child(-n+10):before, html[style*="border"] .entry:nth-child(11):before { /* the "show side borders" option adds 2px */ right: 7px; } .entry .actions { margin-left: -1px; margin-right: -1px; } .entry .actions > * { height: 26px; width: 20px; display: inline-flex; align-items: center; justify-content: center; } .entry .actions > .enable, .entry .actions > .disable { width: 24px; } .entry .actions > .configure { padding-right: 1px; } .entry .actions > .configure[target="_blank"] { padding-right: 2px; } .not-applied .checker, .not-applied .style-name, .not-applied .actions > * { opacity: .2; transition: opacity .5s ease-in-out .25s, color .5s ease-in-out .25s; } .not-applied:hover .checker, .not-applied:hover .style-name, .not-applied:hover .actions > * { opacity: 1; } .not-applied:hover .style-name { color: var(--darkred); } .regexp-problem-indicator { background-color: var(--darker-red); width: 14px; height: 14px; line-height: 15px; border-radius: 8px; margin-right: 6px; margin-left: 6px; text-align: center; color: var(--white); font-weight: bold; box-sizing: border-box; cursor: pointer; font-size: 90%; flex-shrink: 0; } .regexp-partial .actions, .regexp-invalid .actions { order: 2; } #regexp-explanation { position: fixed; background-color: white; left: 0; right: 0; padding: .5rem; font-size: 90%; border-top: 2px solid var(--black); border-bottom: 2px solid var(--black); box-shadow: 0 0 100px var(--black); display: flex; flex-direction: column; z-index: 999999; } #regexp-explanation > div { display: none; list-style-type: none; padding: 0; margin: 0; } .regexp-partial #regexp-partial, .regexp-invalid #regexp-invalid { display: block; } #regexp-explanation > div:not(:last-child) { margin-bottom: .5rem; } .svg-icon { pointer-events: none; transition: fill .5s; width: 16px; height: 16px; fill: var(--gray-lightness-40); } a:hover .svg-icon, .actions a:hover .svg-icon, #find-styles:hover a:hover .svg-icon.external:not(.noclick), #find-styles:hover a:hover .svg-icon.inline, a:hover .svg-icon.search { fill: var(--black); } .svg-icon.external, .svg-icon.inline { fill: var(--gray-lightness-65); } .actions .svg-icon, .svg-icon.options { fill: var(--truegray); } .svg-icon.search, #find-styles:hover .svg-icon.external:not(.noclick), #find-styles:hover .svg-icon.inline { fill: var(--gray-lightness-45); } .svg-icon.remove { height: 16px; width: 14px; } #disable-all-icon { transition: transform .5s; will-change: transform; } #disable-all-icon:hover .svg-icon, body.disabled #disable-all-icon .svg-icon { fill: var(--darker-red); } body.disabled #disable-all-icon { transform: rotate(180deg); transform-origin: 50% 50%; } .actions input, .actions label { vertical-align: middle; } body.blocked #installed > *, body.blocked #find-styles-wrapper, body.blocked #write-style-wrapper { display: none; } .iconUI body.blocked #popup-options-wrapper { flex-grow: 1; justify-content: flex-start; } .iconUI body.blocked #popup-wiki-wrapper { flex-grow: 1; justify-content: flex-end; } /* 'New style' links */ #write-style { display: flex; flex-direction: row; flex-wrap: nowrap; } #write-style-for { margin-right: .2rem; } .write-style-link { margin-left: .6ex } .write-style-link::before { content: "\00ad"; /* "soft" hyphen */ } #match { display: inline-flex; flex-grow: 1; margin-top: 2px; } #match > .breadcrumbs { display: inline-flex; flex-wrap: wrap; } #match > .breadcrumbs > * { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; flex-wrap: nowrap; max-width: calc(100vw - 42px); } /* "breadcrumbs" 'new style' links */ .breadcrumbs > .write-style-link { margin-left: 0 } .breadcrumbs:hover a { color: var(--gray-lightness-73); text-decoration: none } /* "dot" after each subdomain name */ .breadcrumbs > .write-style-link[subdomain]::after { content: "." } /* no "dot" after top-level domain */ .breadcrumbs > .write-style-link:nth-last-child(2)::after { content: none } /* "forward slash" before path ("this URL") */ .breadcrumbs > .write-style-link:last-child::before { content: "\200b/" } .breadcrumbs > .write-style-link:last-child:first-child::before, .breadcrumbs > .write-style-link[subdomain=""] + .write-style-link::before { content: none } /* suppress TLD-only link */ .breadcrumbs > .write-style-link[subdomain=""] { display: none } /* :hover style */ .breadcrumbs.url\(\) > .write-style-link, /* :hover or :focus on "this URL" sets class="url()" */ .breadcrumbs > .write-style-link:hover, .breadcrumbs > .write-style-link:focus, .breadcrumbs > .write-style-link:hover ~ .write-style-link[subdomain], .breadcrumbs > .write-style-link:focus ~ .write-style-link[subdomain] { color: inherit; text-decoration: underline; text-decoration-skip: ink; } /* action buttons */ #popup-manage-wrapper button, #popup-options-wrapper button, #popup-wiki-wrapper button { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; padding: 2px 4px; /* several languages have labels of wildly different lengths so we try to maintain the proportion */ flex: 1 1 auto; min-width: 2em; } /* confirm */ #confirm { align-items: center; justify-content: center; z-index: 2147483647; display: none; position: absolute; left: 0; top: 0; width: 100%; height: 100%; margin: 0 !important; box-sizing: border-box; background-color: var(--black-alpha-4); animation: lights-off .5s cubic-bezier(.03, .67, .08, .94); animation-fill-mode: both; } #confirm.lights-on { animation: lights-on .25s ease-in-out; animation-fill-mode: both; } #confirm.lights-on, #confirm.lights-on > div { display: none; } #confirm[data-display=true] { display: flex; } #confirm > div { width: 80%; max-height: 80%; min-height: 6em; padding: 1em; display: flex; flex-direction: column; border: solid 2px var(--black-alpha-5); } #confirm > div > *:not(:last-child) { padding-bottom: .5em; } #confirm > div > div.classicUI-el { text-align: center; } #confirm > div > div.iconUI-el { display: flex; flex-basis: 100%; justify-content: center; } .iconUI #confirm > div { padding-bottom: .25em } #popup-delete-icon.action-wrapper, #popup-cancel-icon.action-wrapper { height: 20px; width: 20px; justify-content: center; } #popup-delete-icon { margin-right: .75rem; } #popup-cancel-icon { margin-left: .75rem; } .non-windows #confirm > div > div { direction: rtl; text-align: right; } #confirm > button { /* add a gap between buttons both for horizontal or vertical (when the label is wide) layout */ margin: 0 .25em .25em 0; } .unreachable .blocked-info { border-bottom: 1px solid var(--truegray-alpha-3); } .blocked-info { hyphens: auto; } .blocked-info label { padding: 5px var(--outer-padding); display: block; font-weight: bold; } .blocked-info p { padding: 1px var(--outer-padding) var(--outer-padding); display: block; font-size: 90%; margin: 0; } /******************************************/ #hotkey-info { position: absolute; top: 0; right: 0; bottom: 0; width: 16px; cursor: help; margin: 0; padding: 0; z-index: 1; hyphens: auto; } #hotkey-info:not([data-active]) > * { display: none; } #hotkey-info[data-active] { position: fixed; left: 6ex; bottom: unset; width: auto; cursor: auto; display: flex; flex-direction: column; border-left: 2px solid white; box-shadow: 0 0 90px var(--black-alpha-5); z-index: 5; } #hotkey-info div:first-child { flex-grow: 1; padding: 0 1em; font-size: 11px; overflow-y: auto; } #hotkey-info div { padding: 1em; border-top: 1px solid var(--gray-lightness-86); background-color: var(--gray-lightness-95); } #hotkey-info div:last-child { background-color: var(--gray-lightness-85); box-shadow: 0 0 90px var(--black-alpha-25); position: relative; } #hotkey-info p { text-indent: -3px; } #hotkey-info p:last-child { margin-bottom: 0; } #hotkey-info mark { display: inline-block; background: linear-gradient(var(--gray-lightness-80), var(--white)); padding: 1px 6px 0; margin: 2px; border: 1px solid var(--white); border-radius: 4px; box-shadow: 1px 1px 4px var(--black-alpha-3); font-weight: bold; white-space: nowrap; } /***** icon UI actions on top *****/ .actions-top #confirm { order: 1; } .actions-top #installed { order: 8; border-top: 1px solid var(--truegray-alpha-3); } .actions-top body:not(.search-results-shown) #installed { border-bottom: 0; } .actions-top #popup-manage-wrapper { order: 2; } .actions-top #popup-options-wrapper { order: 3; } .actions-top #find-styles-wrapper { order: 4; } .actions-top #popup-wiki-wrapper { order: 5; } .actions-top #disable-all-wrapper { order: 6; } .actions-top #write-style-wrapper { order: 7; } .actions-top #search-results-error { order: 9; } .actions-top #search-results { order: 10; } /***** classic UI *****/ .classicUI #confirm { order: 1; } .classicUI #installed { order: 2; } .classicUI #popup-manage-wrapper { order: 6; } .classicUI #popup-options-wrapper { order: 7; } .classicUI #find-styles-wrapper { order: 4; } .classicUI #popup-wiki-wrapper { order: 8; } .classicUI #disable-all-wrapper { order: 3; } .classicUI #write-style-wrapper { order: 5; } .classicUI #search-results-error { order: 9; } .classicUI #search-results { order: 10; } .classicUI #write-style { flex-wrap: wrap; padding: 0 4px 0 16px; } .classicUI #find-styles-wrapper { align-items: baseline; justify-content: flex-start; padding: 0 4px 0 25px; } .classicUI #disable-all-wrapper { padding: .6rem var(--outer-padding) .45rem; } .classicUI #find-styles-link { font-size: 12px; margin-right: .55rem; } .classicUI #write-style-for { font-size: 12px; flex-basis: 100%; } .classicUI #popup-manage-wrapper, .classicUI #popup-options-wrapper, .classicUI #popup-wiki-wrapper { flex-grow: 1; padding-bottom: var(--outer-padding); } .classicUI #popup-manage-wrapper { padding-left: var(--outer-padding); padding-right: 4px; } .classicUI #popup-wiki-wrapper { padding-left: 4px; padding-right: var(--outer-padding); } .toggleUI .style-name:hover { color: var(--black); } .toggleUI .entry .style-name::before { background: linear-gradient(to right, var(--black-alpha-15), var(--black-alpha-05) 50%, transparent); } /***** classic UI actions on top *****/ .classicUI.actions-top #confirm { order: 1; } .classicUI.actions-top #installed { order: 8; } .classicUI.actions-top #popup-manage-wrapper { order: 5; } .classicUI.actions-top #popup-options-wrapper { order: 6; } .classicUI.actions-top #find-styles-wrapper { order: 3; } .classicUI.actions-top #popup-wiki-wrapper { order: 7; } .classicUI.actions-top #disable-all-wrapper { order: 2; } .classicUI.actions-top #write-style-wrapper { order: 4; } .classicUI.actions-top #search-results-error { order: 9; } .classicUI.actions-top #search-results { order: 10; } /******************************************/ @keyframes lights-off { from { background-color: transparent; } to { background-color: var(--black-alpha-4); } } @keyframes lights-on { from { background-color: var(--black-alpha-4); } to { background-color: transparent; } } /* Popup adjustments for common zoom levels */ @media (-webkit-min-device-pixel-ratio: 1.05) { #installed { max-height: 420px; } } @media (-webkit-min-device-pixel-ratio: 1.1) { #installed { max-height: 393px; } } @media (-webkit-min-device-pixel-ratio: 1.15) { #installed { max-height: 371px; } } @media (-webkit-min-device-pixel-ratio: 1.2) { #installed { max-height: 348px; } } @media (-webkit-min-device-pixel-ratio: 1.25) { #installed { max-height: 326px; } } @media (-webkit-min-device-pixel-ratio: 1.30) { #installed { max-height: 306px; } } @media (-webkit-min-device-pixel-ratio: 1.35) { #installed { max-height: 288px; } } @media (-webkit-min-device-pixel-ratio: 1.4) { #installed { max-height: 271px; } } @media (-webkit-min-device-pixel-ratio: 1.45) { #installed { max-height: 256px; } } @media (-webkit-min-device-pixel-ratio: 1.5) { #installed { max-height: 244px; } } @media (-webkit-min-device-pixel-ratio: 1.55) { #installed { max-height: 199px; } } @media (-webkit-min-device-pixel-ratio: 1.75) { #installed { max-height: 144px; } }