:root { --header-icon-size: 20px; --entry-icon-size: 20px; --favicon-size: 14px; --narrow-column: 75px; --header-height: 40px; --toolbar-height: 60px; --entry-header-height: 25px; --onoffswitch-width: 60px; --header-bg-color: #333; --header-text-color: #ddd; --header-text-hover-color: hsla(180, 100%, 20%, 1); --header-icon-color: #888; --header-icon-hover-color: hsla(180, 99%, 58%, 1); --tools-bg-color: #ccc; --entry-header-bg-color: #ddd; --entry-header-text-color: #111; --checked-count-bg-color: hsla(180, 100%, 20%, 1); --checked-bg-color: hsla(180, 100%, 20%, 1); --checked-mark-color: #fff; --entry-icon-color: #666; --entry-icon-hover-color: hsla(180, 100%, 20%, 1); --delete-icon-hover-color: #d40000; } html { box-sizing: border-box; } *, *:before, *:after { box-sizing: inherit; } body { margin: 0; /* Firefox: fill the entire page for drag'n'drop to work */ display: flex; height: 100%; } body.dark { background: #181818; color: #ddd; } a, .disabled a:hover { color: #000; transition: color .5s; } a { cursor: pointer; } a:hover { color: #666; } .invisible { visibility: hidden; pointer-events: none; } .svg-icon { cursor: pointer; width: var(--entry-icon-size); height: var(--entry-icon-size); vertical-align: middle; transition: fill .5s; fill: var(--entry-icon-color); } #main-header .svg-icon { width: var(--header-icon-size); height: var(--header-icon-size); fill: var(--header-icon-color); } #main-actions { display: flex; width: 260px; height: 40px; justify-content: space-between; align-items: center; } /* header vertical separator between icon groups */ .spacer { width: 10px; height: 1em; border-right: 1px solid rgba(119, 119, 119, .5); margin-right: 10px; } .entry-actions > a, .bulk-actions-select-wrapper, #bulk-actions-apply { position: relative; margin-left: 2px; } #bulk-actions .svg-icon.busy:not(.hidden) { -webkit-animation:spin 1s linear infinite; -moz-animation:spin 1s linear infinite; animation:spin 1s linear infinite; } @-moz-keyframes spin { 100% { -moz-transform: rotate(360deg); } } @-webkit-keyframes spin { 100% { -webkit-transform: rotate(360deg); } } @keyframes spin { 100% { -webkit-transform: rotate(360deg); transform:rotate(360deg); } } .entry a:hover .svg-icon, .svg-icon:hover { fill: var(--entry-icon-hover-color); } .entry .entry-delete:hover .svg-icon { fill: var(--delete-icon-hover-color); } #main-header { background: var(--header-bg-color); color: var(--header-text-color); position: fixed; top: 0; width: 100%; height: var(--header-height); z-index: 101; padding: 2px 8px; margin: 0; display: flex; align-items: flex-start; justify-content: space-between; } #main-header .ext-version { font-size: .5em; } #main-header svg { vertical-align: bottom; } #main-header a:hover, #main-actions a:hover svg, .manage-backups:hover svg { color: var(--header-icon-hover-color); fill: var(--header-icon-hover-color); } #main-header:lang(ja) { font-weight: normal; } #installed .entry-header { background: var(--entry-header-bg-color); color: var(--entry-header-text-color); position: fixed; top: var(--header-height); height: var(--entry-header-height); z-index: 100; } #installed .entry, #installed .entry-header { width: calc(100vw - 1.5em); display: flex; flex: 0 0 var(--narrow-column); flex-flow: row nowrap; align-content: stretch; align-items: center; justify-content: center; padding: 0; height: 30px; } #installed, #options, #backup { margin-top: calc(var(--header-height) + var(--entry-header-height)); } #installed .entry:last-child { margin-bottom: 10px; } body.all-styles-hidden-by-filters #installed:after { font-size: 20px; position: relative; top: 20px; left: 30px; } .entry-header { margin: 0; padding: 0 4px; } .entry { margin: 0; padding: 4px 8px; border-top: 1px solid #ddd; } .entry-col { padding-left: 4px; flex: 1; justify-content: space-evenly; } .center-text, .entry-filter, .entry-state, .entry-sort, .entry-last-update { text-align: center; justify-content: center; max-width: var(--narrow-column); padding: 0; } .header-last-update, .entry-last-update { /* inlcude update history link */ max-width: calc(var(--narrow-column) + 20px); } /* keep all icons on the same row */ .entry-actions { white-space: pre; } .header-version, .entry-version { max-width: var(--narrow-column); } .header-name, .entry-name { flex: 3; } .header-id, .entry-id { text-align: right; padding-right: 8px; max-width: 50px; } .entry, .targets { position: relative; display: flex; justify-content: start; } .entry-name { overflow-wrap: break-word; font-weight: 600; text-decoration: none; margin-right: 8px; padding: 8px 0; } .entry-header:not(.sortable) { cursor: default; } .sortable { align-self: center; cursor: pointer; text-decoration: none; } .sortable[data-sort-dir="asc"] span:after, .sortable[data-sort-dir="desc"] span:after { font-size: 16px; position: relative; top: 2px; } .sortable[data-sort-dir="asc"] span:after { content: '▴'; } .sortable[data-sort-dir="desc"] span:after { content: '▾'; } .header-filter span:before { content: '►'; color: #666; position: relative; left: 7px; } .header-filter:hover span:before, .header-filter:hover .svg-icon, .header-filter.active svg { transition: all .5s; color: #000; fill: #000; } .header-filter.active span:before { content: '▲'; color: #000; } .entry-sort { cursor: move; } .targets { flex-wrap: wrap; } .targets .target { display: inline-block; padding: 0 2px; } .targets .applies-to-extra .target { padding: 2px; } .targets .target img, .targets .target svg { max-width: var(--favicon-size); max-height: var(--favicon-size); width: var(--favicon-size); } .header-sort, .entry-sort, #installed:not(.has-favicons) .targets img, #installed.has-favicons .targets img:not([src]), #installed.has-favicons .targets img[src] + svg { display: none; } #installed.faviconsGray .target img { -webkit-filter: grayscale(1); filter: grayscale(1); } .entry.odd { background-color: rgba(128, 128, 128, 0.05); } .entry:hover:before { content: ""; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: linear-gradient(to right, hsla(180, 50%, 30%, 0.2), hsla(180, 20%, 10%, 0.05) 50%, transparent); pointer-events: none; } body.dragging .entry:not(.dragging) .entry-name:before { /* hide the sustained hover */ background-image: none !important; } .entry.dragging { background: linear-gradient(to right, hsla(255, 50%, 30%, 0.2), hsla(180, 20%, 10%, 0.05) 50%, transparent); } .entry.enabled .entry-name:hover .style-name { color: hsla(180, 100%, 15%, 1); } .entry:hover .svg-icon:hover { fill: #000; } .header-labels { margin-left: 16px; justify-content: center } .header-label, .entry-label { padding: 2px 4px; margin-left: 2px; border-radius: 4px; font-size: .8em; text-transform: lowercase; } .header-label[data-type="usercss"], .entry-label[data-type="usercss"] { background-color: hsla(180, 100%, 20%, 1); color: white; text-transform: lowercase; } .header-label[data-type="disabled"], .entry-label[data-type="disabled"] { background: rgba(128, 128, 128, .2); color: #222; } .disabled .entry-name, .disabled .entry-actions, .disabled .entry-sort, .disabled .entry-version, .disabled .entry-last-update { opacity: 0.6; font-weight: normal; transition: opacity .5s .1s; } .disabled:hover .entry-actions { opacity: 1; } .disabled .entry-applies-to .svg-icon { fill: rgba(92, 92, 92, 0.6); } a svg, .svg-icon.sort { pointer-events: none; } /* Checkbox */ .checkmate input:checked + svg.checkbox .filled-circle { fill: var(--checked-bg-color); display: block; } .checkmate input[type="checkbox"], .checkmate input:checked + svg.checkbox .circle, .checkmate input:not(:checked) + svg .checkmark, .checkmate input:not(:checked) + svg.checkbox .filled-circle, .checkmate input:not(:indeterminate) + svg .indeterminate { display: none; } .checkmate input:checked + svg.checkbox .checkmark { fill: var(--checked-mark-color); } .checking-update .check-update { opacity: 0; display: inline-block; pointer-events: none; } #installed[data-sort="order"] .header-sort, #installed[data-sort="order"] .entry-sort, /* Update icons */ .can-update .update, .no-update:not(.update-problem):not(.update-done) .up-to-date, .no-update.update-problem .check-update, .update-done .updated { display: inline-block; } .up-to-date svg, .updated svg { cursor: auto; } .update-done .updated svg { top: -4px; position: relative; /* unprefixed since Chrome 53 */ -webkit-filter: drop-shadow(0 4px 0 currentColor); filter: drop-shadow(0 5px 0 currentColor); } .can-update .update, .no-update.update-problem .check-update { cursor: pointer; } .can-update[data-details$="locally edited"] .update svg, .update-problem .check-update svg { fill: #ef6969; } .can-update[data-details$="locally edited"]:hover .update svg, .entry.update-problem:hover .check-update svg { fill: #fd4040; } .can-update[data-details$="locally edited"]:hover .update svg:hover, .entry.update-problem:hover .check-update svg:hover { fill: red; } .updater-icons > .update:after { content: attr(data-title); border: 1px solid gold; background-color: goldenrod; } .entry-actions .entry-delete:after, .update-problem .check-update:after { background-color: #d40000; border: 1px solid red; color: white; } .update-problem.showTip { animation: fadeout 10s; animation-fill-mode: both; display: inline; } .can-update .update:after { animation: none; } .entry .svg-icon.world { fill: #ef6969; } .target:hover img { background-color: inherit; } .target img{ width: var(--entry-icon-size); height: var(--entry-icon-size); vertical-align: sub; transition: opacity .5s, filter .5s; /* unprefixed since Chrome 53 */ -webkit-filter: grayscale(1); filter: grayscale(1); /* workaround for the buggy CSS filter: images in the hidden overflow are shown on Mac */ backface-visibility: hidden; opacity: .5; } .entry:hover .target img { opacity: 1; /* unprefixed since Chrome 53 */ -webkit-filter: grayscale(0); filter: grayscale(0); } .targets details.applies-to-extra { margin-left: 4px; margin-top: 5px; cursor: pointer; } details.applies-to-extra[open] { position: absolute; background: #eee; z-index: 90; padding: 10px; } #faviconsHelp { overflow-y: auto; font-size: 90%; padding: 1ex 0 2ex 16px; } #faviconsHelp div { display: flex; align-items: center; margin-top: 1ex; } /* Default, no update buttons */ .updater-icons .update, .updater-icons .check-update { display: none; } .updater-icons > * { transition: opacity 1s; display: none; } /* Check update button for things that can */ .updatable .check-update { display: inline-block; } /* Update check in progress */ .checking-update .check-update { display: none; } /* Updates available */ .can-update .update { display: inline-block; } .can-update[data-details$="locally edited"] button.update:after { content: "*"; } .can-update .check-update { display: none; } /* Updates not available */ .no-update:not(.update-problem) .check-update { display: none; } /* Updates done */ .update-done .check-update { display: none; } #apply-all-updates:after { content: " (" attr(data-value) ")"; } .update-in-progress #check-all-updates { position: relative; } .update-in-progress #update-progress { position: absolute; top: 0; left: 0; bottom: 0; background-color: currentColor; content: ""; opacity: .35; } #check-all-updates-force { margin-top: 1ex; } #update-all-no-updates[data-skipped-edited="true"] { font-weight: bold; } #update-all-no-updates[data-skipped-edited="true"]::after { font-weight: normal; display: block; } /* bulk actions */ #tools-wrapper { background: var(--tools-bg-color); width: 100vw; position: fixed; top: var(--header-height); left: 0; height: var(--toolbar-height); padding: 4px 16px; z-index: 100; } #tools-wrapper:not(.hidden) + #installed { margin-top: calc(var(--header-height) + var(--toolbar-height) + var(--entry-header-height)); } #tools-wrapper:not(.hidden) + #installed .entry-header { top: calc(var(--header-height) + var(--toolbar-height)); } #tools-wrapper .select-resizer { background: #fff; } .manage-row { padding: 2px 18px; display: flex; align-items: center; justify-content: space-between; } #filters-wrapper, #bulk-filter-count { margin-right: 20px; } #search-wrapper { width: 30%; } #search { width: calc(100% - var(--entry-icon-size) * 1.4); } #search-help { text-decoration: none; } /* highlight updated/added styles */ .highlight { animation: highlight 10s cubic-bezier(0,.82,.47,.98); } .highlight-quick { animation: highlight .5s; } @keyframes highlight { from { background-color: rgba(128, 128, 128, .5); } to { background-color: none; } } .hidden { display: none !important; } .active #filters-stats, #bulk-filter-count:not(:empty) { background-color: var(--checked-count-bg-color); border-color: var(--checked-count-bg-color); border-radius: 2px; color: white; font-size: 0.7rem; font-weight: normal; padding: 2px 5px; position: relative; white-space: nowrap; } .filter-stats-wrapper { margin-left: .2rem; } #reset-filters svg { fill: hsla(180, 50%, 50%, .7); width: 24px; /* widen the click area a bit */ height: 20px; padding: 2px; box-sizing: border-box; } #reset-filters:hover svg { fill: var(--header-icon-hover-color); } .filter-stats-wrapper:not(.active) #reset-filters, .filter-stats-wrapper:not(.active) #filters-stats { display: none; } /* drag-n-drop on import button */ .dropzone:after { background-color: rgba(0, 0, 0, 0.7); color: white; left: 0; top: 0; right: 0; bottom: 0; z-index: 1000; position: fixed; padding: calc(50vh - 3em) calc(50vw - 5em); content: attr(dragndrop-hint); text-shadow: 1px 1px 10px black; font-size: xx-large; text-align: center; animation: fadein 1s cubic-bezier(.03, .67, .08, .94); animation-fill-mode: both; } .fadeout.dropzone:after { animation: fadeout .25s ease-in-out; animation-fill-mode: both; } /* post-import report */ #message-box details:not([data-id="invalid"]) div:hover { background-color: rgba(128, 128, 128, .3); } #message-box details:not(:last-child) { margin-bottom: 1em; } #message-box details small div { margin-left: 1.5em; } .update-history-log { font-size: 11px; white-space: pre; overflow-x: hidden; text-overflow: ellipsis; } /* export/import buttons */ .manage-backups { position: relative; } .manage-backups .dropdown { display: none; position: absolute; background-color: #f9f9f9; min-width: 160px; box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2); z-index: 101; } .manage-backups .dropdown a { color: black; padding: 8px; font-size: 12px; text-decoration: none; display: block; } #main-header .manage-backups .dropdown a:hover { /* background-color: #f2f2f2 */ background-color: #e9e9e9; color: var(--header-text-hover-color); } .manage-backups:hover .dropdown { display: block; right: -20px; top: 99%; } /* sort font */ @font-face { font-family: 'sorticon'; src: url('data:application/x-font-ttf;base64,AAEAAAAQAQAABAAARkZUTYJtzGIAAAdIAAAAHEdERUYAJwAKAAAHKAAAAB5PUy8yURpfNAAAAYgAAABgY21hcEPk4dUAAAH4AAABSmN2dCAAFQAAAAAEvAAAAAJmcGdtBlicNgAAA0QAAAFzZ2FzcP//ABAAAAcgAAAACGdseWaLrdd8AAAEzAAAAHxoZWFkD8F3ewAAAQwAAAA2aGhlYQeIA8UAAAFEAAAAJGhtdHgMAP/YAAAB6AAAABBsb2NhAD4AAAAABMAAAAAKbWF4cAIUADsAAAFoAAAAIG5hbWX6WE3YAAAFSAAAAZtwb3N0Qb4dhQAABuQAAAA5cHJlcLgAACsAAAS4AAAABAABAAAAAAAA74lHPl8PPPUAHwQAAAAAANZkpgYAAAAA1mSNgP/Y/5wD7gNcAAAACAACAAAAAAAAAAEAAAPA/8AAAAQA/9gAAAPuAAEAAAAAAAAAAAAAAAAAAAAEAAEAAAAEABcABQAAAAAAAQAAAAAACgAAAgAAIwAAAAAAAwQAAZAABQAAApkCzAAAAI8CmQLMAAAB6wAzAQkAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAICAgIABAIekh6QPA/8AAQAPAAEAAAAABAAAAAAAAAAAAAAAgAAEEAAAAAAAAAAQAAAAEAP/YAAAAAwAAAAMAAAAcAAEAAAAAAEQAAwABAAAAHAAEACgAAAAGAAQAAQACAAAh6f//AAAAACHp//8AAd4aAAEAAAAAAAAAAAEGAAABAAAAAAAAAAECAAAAAgAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC4AAAsS7gACFBYsQEBjlm4Af+FuABEHbkACAADX14tuAABLCAgRWlEsAFgLbgAAiy4AAEqIS24AAMsIEawAyVGUlgjWSCKIIpJZIogRiBoYWSwBCVGIGhhZFJYI2WKWS8gsABTWGkgsABUWCGwQFkbaSCwAFRYIbBAZVlZOi24AAQsIEawBCVGUlgjilkgRiBqYWSwBCVGIGphZFJYI4pZL/0tuAAFLEsgsAMmUFhRWLCARBuwQERZGyEhIEWwwFBYsMBEGyFZWS24AAYsICBFaUSwAWAgIEV9aRhEsAFgLbgAByy4AAYqLbgACCxLILADJlNYsEAbsABZioogsAMmU1gjIbCAioobiiNZILADJlNYIyG4AMCKihuKI1kgsAMmU1gjIbgBAIqKG4ojWSCwAyZTWCMhuAFAioobiiNZILgAAyZTWLADJUW4AYBQWCMhuAGAIyEbsAMlRSMhIyFZGyFZRC24AAksS1NYRUQbISFZLQC4AAArABUAAAAAAAAAAAAAAD4AAAAF/9j/nAPuA1wABgAKAA4AEgAWACMAuAAPL7gACy+4AAcvuAATL7gABC+4AAUvuAADL7gABi8wMSUJATMRMxETIRUhFSEVIRUhFSEVMxUjAgr++f7V6ICyAfz+BAGG/noBEf7vm5uc/wABAALA/UACwFZbVlpXWlYAAAAAAAAOAK4AAQAAAAAAAQAHABAAAQAAAAAAAgAHACgAAQAAAAAAAwAHAEAAAQAAAAAABAAHAFgAAQAAAAAABQALAHgAAQAAAAAABgAHAJQAAQAAAAAACgAaANIAAwABBAkAAQAOAAAAAwABBAkAAgAOABgAAwABBAkAAwAOADAAAwABBAkABAAOAEgAAwABBAkABQAWAGAAAwABBAkABgAOAIQAAwABBAkACgA0AJwAaQBjAG8AbQBvAG8AbgAAaWNvbW9vbgAAUgBlAGcAdQBsAGEAcgAAUmVndWxhcgAAaQBjAG8AbQBvAG8AbgAAaWNvbW9vbgAAaQBjAG8AbQBvAG8AbgAAaWNvbW9vbgAAVgBlAHIAcwBpAG8AbgAgADEALgAwAABWZXJzaW9uIDEuMAAAaQBjAG8AbQBvAG8AbgAAaWNvbW9vbgAARgBvAG4AdAAgAGcAZQBuAGUAcgBhAHQAZQBkACAAYgB5ACAASQBjAG8ATQBvAG8AbgAuAABGb250IGdlbmVyYXRlZCBieSBJY29Nb29uLgAAAAIAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAABAAAAQIAAgEDBmdseXBoMQd1bmkyMUU5AAAAAAAAAf//AA8AAQAAAAwAAAAWAAAAAgABAAEAAwABAAQAAAACAAAAAAAAAAEAAAAA1aSY2wAAAADWZKYGAAAAANZkjYA=') format('truetype'); font-weight: normal; font-style: normal; unicode-range: U+21E9; } #manage.sort { font-family: 'sorticon', Arial; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } #stylus-embedded-options { position: fixed; top: 0; left: 0; width: 100%; height: 100vh; border: 0; z-index: 2147483647; background-color: hsla(0, 0%, 0%, .45); animation: fadein .25s ease-in-out; } #stylus-embedded-options.fadeout { animation: fadeout .25s ease-in-out; } @keyframes fadein { from { opacity: 0; } to { opacity: 1; } } @keyframes fadeout { from { opacity: 1; } to { opacity: 0; } } @keyframes fadein-25pct { from { opacity: 0; } to { opacity: .25; } } @media (max-width: 1100px) { body, #main-header, #tools-wrapper, .manage-row { position: static; display: block; height: auto; } #installed .entry-header { position: static; width: 100%; height: auto; } .manage-backups { display: inline-block; vertical-align: center; } .manage-backups:hover .dropdown { display: block; left: -20px; right: auto; top: 99%; } #installed, #tools-wrapper:not(.hidden) + #installed { margin-top: 0; } #installed .entry, #installed .entry-col, #installed .entry-header { flex-wrap: wrap; } .header-name, .entry-name { flex: 1; } .entry-actions { white-space: normal; } .invisible { display: none; } } /* Deprecated dropbox backup (dropbox-sync) */ #sync-dropbox-export, #sync-dropbox-import { opacity: 0.5; cursor: not-allowed; } #backup-buttons .dropdown-content #sync-dropbox-export:hover, #backup-buttons .dropdown-content #sync-dropbox-import:hover { background: transparent; }