Greasy Fork is available in English.
A modern design and dark theme for SoundCloud.com, inspired by the SoundCloud Android app.
// ==UserScript== // @name Modern Design and Dark Theme for SoundCloud // @version 0.23.0 // @description A modern design and dark theme for SoundCloud.com, inspired by the SoundCloud Android app. // @author jottocraft // @match *://soundcloud.com/* // @grant none // @license MIT // @namespace https://greasyfork.org/users/154395 // ==/UserScript== (function () { "use strict"; // Makes a SoundCloud menu dark using the built-in styles function setMenuDarkMode(node) { if (document.documentElement.classList.contains("jtc-sc-dark")) { node.classList.remove("m-light"); node.classList.add("m-dark"); } else { node.classList.remove("m-dark"); node.classList.add("m-light"); } } // Observe DOM mutations const observer = new MutationObserver((mutations) => { mutations.forEach(({ addedNodes }) => { addedNodes.forEach((node) => { // Add toggle dark button if ( node.nodeType === 1 && node.classList.contains("headerMenu") && node.classList.contains("moreMenu") ) { node.insertAdjacentHTML( "afterBegin", `<ul class="headerMenu__list sc-list-nostyle"><li><a id="jtcToggle" onmousedown="event.preventDefault();" onclick="jtcScToggleDark(); event.preventDefault();" class="headerMenu__link moreMenu__link" href="#">Toggle dark theme</a></li></ul>` ); } // Enable built-in dark menus if ( node.nodeType === 1 && (node.classList.contains("m-light") || node.classList.contains("m-dark")) ) { setMenuDarkMode(node); } }); }); }); // Starts the monitoring observer.observe(document.documentElement, { childList: true, subtree: true }); // Load fonts const scSans500 = new FontFace( "SoundCloudSans", "url(https://cdn.jottocraft.com/userscripts/modern-sc/assets/soundcloud-sans-500.woff2)", { style: "normal", stretch: "normal", weight: 500 } ); const scSans700 = new FontFace( "SoundCloudSans", "url(https://cdn.jottocraft.com/userscripts/modern-sc/assets/soundcloud-sans-700.woff2)", { style: "normal", stretch: "normal", weight: 700 } ); const scSans900 = new FontFace( "SoundCloudSans", "url(https://cdn.jottocraft.com/userscripts/modern-sc/assets/soundcloud-sans-900.woff2)", { style: "normal", stretch: "normal", weight: 900 } ); scSans500.load().then(() => document.fonts.add(scSans500)); scSans700.load().then(() => document.fonts.add(scSans700)); scSans900.load().then(() => document.fonts.add(scSans900)); // Toggle dark mode window.jtcScToggleDark = function () { const isDark = document.documentElement.classList.toggle("jtc-sc-dark"); window.localStorage.setItem("jtc-sc-isDark", isDark); jtcScApplyDark(); }; // Apply dark mode function jtcScApplyDark() { // Apply dark mode to menus document .querySelectorAll(".m-light, .m-dark") .forEach((node) => setMenuDarkMode(node)); } // Set dark mode on load const darkPref = window.localStorage.getItem("jtc-sc-isDark"); const darkSys = window.matchMedia("(prefers-color-scheme: dark)").matches; const useDarkMode = darkPref !== null ? darkPref === "true" : darkSys; if (useDarkMode) { document.documentElement.classList.add("jtc-sc-dark"); jtcScApplyDark(); } // Insert CSS at the very end of the document // so it can safely override SoundCloud styles without !important. function addCss(cssString) { const newCss = document.createElement("style"); newCss.type = "text/css"; newCss.innerHTML = cssString; document.body.appendChild(newCss); } addCss(` :root { --jtc-sc-root-text: #000000; --jtc-sc-bg: #ffffff; --jtc-sc-header: #000000; --jtc-sc-header-active: #080808; --jtc-sc-header-border: #111; --jtc-sc-border-light: #f2f2f2; --jtc-sc-tag-bg: #f3f3f3; --jtc-sc-tag-hover-bg: #eaeaea; --jtc-sc-light-text: #939393; --jtc-sc-btn-main: #000000; --jtc-sc-btn-main-text: #ffffff; --jtc-sc-btn: #f0f0f0; --jtc-sc-tile: #fbfbfb; --jtc-sc-btn-hover: #e6e6e6; --jtc-sc-text-verylight: #b1b1b1; --jtc-sc-almost-root-text: #3b3b3b; --jtc-sc-header-search: #f3f3f3; --jtc-sc-border: #d5d5d5; --jtc-sc-whiteout: #ffffffe6; --jtc-sc-block: #f3f3f3; --jtc-sc-bar: #ffffff; --jtc-sc-popup: #ffffff; } :root.jtc-sc-dark { --jtc-sc-root-text: #ffffff; --jtc-sc-bg: #000000; --jtc-sc-header: #111; --jtc-sc-header-active: #0c0c0c; --jtc-sc-header-border: #1a1a1a; --jtc-sc-border-light: #212121; --jtc-sc-tag-bg: #262626; --jtc-sc-tag-hover-bg: #424242; --jtc-sc-light-text: #bfbfbf; --jtc-sc-btn-main: #ffffff; --jtc-sc-btn-main-text: #000000; --jtc-sc-btn: #272727; --jtc-sc-tile: #0a0a0a; --jtc-sc-btn-hover: #373737; --jtc-sc-text-verylight: #707070; --jtc-sc-almost-root-text: #e8e8e8; --jtc-sc-header-search: #242424; --jtc-sc-border: #585858; --jtc-sc-whiteout: #000000e6; --jtc-sc-block: #101010; --jtc-sc-bar: #282828; --jtc-sc-popup: #181818; } `); addCss( ` :root.jtc-sc-dark { color-scheme: dark; } body { color: var(--jtc-sc-root-text); background: var(--jtc-sc-bg); } body.sc-classic, .sc-font { font-family: SoundCloudSans, system-ui, -apple-system, Segoe UI, Roboto, Lucida Grande, sans-serif, Apple Color Emoji, Segoe UI EmojiSoundCloudSans, system-ui, -apple-system, Segoe UI, Roboto, Lucida Grande, sans-serif, Apple Color Emoji, Segoe UI Emoji; } .sc-classic .sidebarHeader__title, .sc-text, button, input, select, textarea { color: var(--jtc-sc-root-text); } .sc-classic .header { background-color: var(--jtc-sc-header); } .sc-classic .sound__soundActions { background-color: var(--jtc-sc-bg); } .sc-classic .header { font-size: 14px; font-weight: 400; font-family: inherit; } .sc-input { font-family: inherit; } .sc-classic .insightsSidebarModule__title { color: var(--jtc-sc-root-text); } .sc-classic .headerMenu, .sc-font-light, .sc-type-light, .sc-classic .spotlightTitle, .sc-classic .userstream__header { font-weight: 400; font-family: inherit; } .sc-classic .header > li > a:focus, .sc-classic .header__navMenu > li > a.selected { text-decoration: underline; background-color: var(--jtc-sc-header-active); } .sc-type-h1, .sc-type-h2, .sc-type-h3, .sc-type-h4, .sc-type-h5, .sc-type-h6, h1, h2, h3, h4, h5, h6 { font-family: inherit; } .sc-type-large { font-size: 20px; font-weight: 400; } .sc-type-light:not(.systemPlaylistBannerItem) { color: var(--jtc-sc-light-text): } .sc-classic .profileMenu.m-dark .headerMenu__link:after { filter: brightness(100) saturate(0); } .sc-classic .profileMenu__insights:after { background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHBhdGggZmlsbD0icmdiKDUxLCA1MSwgNTEpIiBkPSJNMyA2LjVjMC0uMjc2LjIxNi0uNS40OTUtLjVoMi4wMWMuMjczIDAgLjQ5NS4yMjkuNDk1LjV2MTFjMCAuMjc2LS4yMTYuNS0uNDk1LjVoLTIuMDFDMy4yMjIgMTggMyAxNy43NzEgMyAxNy41di0xMXptNy00LjAwNGMwLS4yNzQuMjE2LS40OTYuNDk1LS40OTZoMi4wMWMuMjczIDAgLjQ5NS4yMjYuNDk1LjQ5NnYxNS4wMDhjMCAuMjc0LS4yMTYuNDk2LS40OTUuNDk2aC0yLjAxYy0uMjczIDAtLjQ5NS0uMjI2LS40OTUtLjQ5NlYyLjQ5NnptNyA3LjAxNGMwLS4yODIuMjE2LS41MS40OTUtLjUxaDIuMDFjLjI3MyAwIC40OTUuMjIyLjQ5NS41MXY3Ljk4YzAgLjI4Mi0uMjE2LjUxLS40OTUuNTFoLTIuMDFjLS4yNzMgMC0uNDk1LS4yMjItLjQ5NS0uNTFWOS41MXpNMi41IDIwaDE5Yy4yNzYgMCAuNS4yMjQuNS41djFjMCAuMjc2LS4yMjQuNS0uNS41aC0xOWMtLjI3NiAwLS41LS4yMjQtLjUtLjV2LTFjMC0uMjc2LjIyNC0uNS41LS41eiIvPgogICAgPC9nPgo8L3N2Zz4K); background-size: 16px; background-position: 50%; } :root.jtc-sc-dark .sc-classic .banner.m-alert { background-color: #290c0c; } .sc-classic .notificationBadge--unread { background-color: var(--jtc-sc-tile); } :root.jtc-sc-dark .sc-classic .featureHeader__closeButton, :root.jtc-sc-dark .sc-classic .g-button-remove { filter: invert(1) brightness(2); } :root.jtc-sc-dark .sc-classic .loading { filter: invert(1); } :root:not(.jtc-sc-dark) .systemPlaylistBannerItem .sc-button-icon:before { filter: brightness(0) grayscale(1); } .sc-classic .header__navMenu > li > a { border-color: var(--jtc-sc-header-border); } .sc-border-light, .sc-border-light-top, .sc-border-light-right, .sc-border-light-bottom, .sc-border-light-left { border-color: var(--jtc-sc-border-light); } .sc-classic .listenContent__inner { background-color: var(--jtc-sc-bg); } .sc-classic .l-fluid-fixed .l-main, .sc-classic .sidebarHeader { border: none; } .sc-classic .headerMenu__link:not(.m-highlight), .sc-classic .headerMenu__link:not(.m-highlight):focus, .sc-classic .headerMenu__link:not(.m-highlight):hover { color: var(--jtc-sc-root-text); } .sc-classic .l-fixed-top-one-column > .l-top { background: var(--jtc-sc-bg); } .sc-classic .sidebarHeader, .sc-classic .sidebarHeader__more { font-weight: 400; } .sidebarHeader__icon { filter: brightness(0) grayscale(1); } .sc-classic .textfield__clear:after, .sc-classic .textfield__clear:before { border-color: var(--jtc-sc-root-text); } .sc-classic .textfield__clear { background-color: var(--jtc-sc-border); } :root.jtc-sc-dark .sidebarHeader__icon { filter: brightness(100) grayscale(1); } .soundBadge__artwork .sc-artwork { border-radius: 4px; } .sc-classic .infoStats__value { color: var(--jtc-sc-almost-root-text); } .listenNetworkInfo__imageLink .sc-artwork { border-radius: 6px; } .sc-classic .createPlaylistSuggestion__addContainer { background: linear-gradient( 90deg, hsl(0deg 0% 100% / 0%), var(--jtc-sc-popup) 20px ); } .playableTile__artwork { border-radius: 6px; overflow: hidden; } .sc-button-dropdown:focus:not(.sc-button-disabled):not(:disabled) { box-shadow: 0 0 0 4px var(--jtc-sc-border); } :root.jtc-sc-dark .soundBadge.playlist .soundBadge__artwork { filter: invert(1); } :root.jtc-sc-dark .soundBadge.playlist .soundBadge__artwork > * { filter: invert(1); } :root.jtc-sc-dark .sc-classic .emptyNetworkPage.emptyReposts .emptyNetworkPage__image, :root.jtc-sc-dark .sc-classic .emptyNetworkPage.emptyAlbums .emptyNetworkPage__image, :root.jtc-sc-dark .sc-classic .emptyNetworkPage.emptyTracks .emptyNetworkPage__image { filter: invert(1); } :root.jtc-sc-dark .sc-button-medium.sc-button-like:before { filter: invert(1); } .sc-classic .showSpotlightUpsellBanner.spotlightUpsellBanner { border-color: var(--jtc-sc-border); } .sound__coverArt { border-radius: 6px; overflow: hidden; } .selectionPlaylistBanner__artwork { border-radius: 8px; overflow: hidden; } .sc-classic .g-modal-section { background-color: var(--jtc-sc-popup); } .sc-classic .readMoreTile__countWrapper { background-color: var(--jtc-sc-bg); } .sc-classic .playbackTimeline { font-size: 14px; } .sc-classic .fullHero__artwork { border-radius: 10px; overflow: hidden; } .sc-tag, .sc-tag:visited { background-color: var(--jtc-sc-tag-bg); color: var(--jtc-sc-root-text); font-weight: 400; border: none; } .sc-tag-small, .sc-tag-small:visited { height: 18px; padding: 0 8px; line-height: 18px; font-size: 14px; } .sc-tag:hover { background-color: var(--jtc-sc-tag-hover-bg); color: var(--jtc-sc-root-text); } .sc-classic .compactTrackListItem, .sc-classic .compactTrackList { border: none; } .sc-classic .compactTrackListItem { height: 32px; } .sc-classic .compactTrackListItem__image { margin: 0 5px 0 0; } .sc-classic .listenLogin { background-color: var(--jtc-sc-tile); } .sc-classic .editTrackItem.m-active, .sc-classic .editTrackItem.m-hover { background-color: var(--jtc-sc-tile); } .sc-classic .editTrackItem__additional { background: linear-gradient(90deg,transparent,var(--jtc-sc-popup) 17px); } .sc-classic .editTrackItem.m-active .editTrackItem__additional, .sc-classic .editTrackItem.m-hover .editTrackItem__additional { background: linear-gradient(90deg,transparent,var(--jtc-sc-tile) 17px); } .sc-classic .soundTitle__uploadTime { color: var(--jtc-sc-light-text); font-weight: 400; } .sc-classic .g-tabs, .infoStats__stat, .sc-border-light-top.g-box-full, .sc-classic .mixedSelectionModule, .sc-classic .l-footer.standard { border: none; font-family: inherit; } .sc-classic .g-type-shrinkwrap-block, .sc-classic .g-type-shrinkwrap-block:hover, .sc-classic .g-type-shrinkwrap-block:visited, .sc-classic .g-type-shrinkwrap-inline, .sc-classic .g-type-shrinkwrap-inline:hover, .sc-classic .g-type-shrinkwrap-inline:visited { background-color: #000000b3; backdrop-filter: blur(10px); border-radius: 2px; } .sc-classic .g-type-shrinkwrap-large-primary, .sc-classic .g-type-shrinkwrap-primary, .sc-classic .g-type-shrinkwrap-large-secondary, .sc-classic .g-type-shrinkwrap-large-secondary:visited, .sc-classic .g-type-shrinkwrap-secondary, .sc-classic .g-type-shrinkwrap-secondary:visited { font-weight: 400; } .sc-classic .g-tabs-link.active { font-weight: 700; } .sc-button$BTN_EXCLUDE { border: none; background-color: var(--jtc-sc-btn); color: var(--jtc-sc-root-text); font-weight: 400; border-radius: 5px; font-family: inherit; } .moreActions .sc-button:not(:hover)$BTN_EXCLUDE { background-color: transparent; } .sc-button:hover$BTN_EXCLUDE { background-color: var(--jtc-sc-btn-hover); } .sc-classic .recipientChooser .tokenInput__wrapper { background-color: var(--jtc-sc-bg); } .sc-classic .currentPlan__planUpsell, .sc-classic .currentPlan__planContainer { background-color: var(--jtc-sc-bg); } :root.jtc-sc-dark .sc-button:not(.sc-button-selected):not(.sc-button-active):not( .sc-button-medium.sc-button-like ):not(.sc-button-follow)$BTN_EXCLUDE:before { filter: brightness(100) grayscale(1); } .trackItem__image .sc-artwork { border-radius: 4px; } .sc-classic .tokenInput__token { background-color: var(--jtc-sc-btn); } .sc-button:not(.sc-button-more).sc-button-active$BTN_EXCLUDE, .sc-button:not(.sc-button-more).sc-button-selected$BTN_EXCLUDE { background-color: #f50; color: white; } .sc-button.sc-button-more.sc-button-active$BTN_EXCLUDE, .sc-button.sc-button-more.sc-button-selected$BTN_EXCLUDE { background-color: var(--jtc-sc-btn-hover); } .sc-button-active:not(.sc-button-more)$BTN_EXCLUDE:before, .sc-button-selected:not(.sc-button-more)$BTN_EXCLUDE:before { filter: brightness(100) grayscale(1); } .sc-button.sc-button-follow:not(.sc-button-selected):not( .sc-button-active )$BTN_EXCLUDE { background-color: var(--jtc-sc-btn-main); color: var(--jtc-sc-btn-main-text); } .sc-button.sc-button-follow:not(.sc-button-selected):not( .sc-button-active )$BTN_EXCLUDE:before { filter: brightness(100) grayscale(1); } :root.jtc-sc-dark .sc-button.sc-button-follow:not(.sc-button-selected):not( .sc-button-active )$BTN_EXCLUDE:before { filter: brightness(0) grayscale(1); } a.sc-link-dark { color: var(--jtc-sc-root-text); } a.sc-link-light { color: var(--jtc-sc-light-text); } .sc-type-large, .sc-classic .mixedSelectionModule__titleText { color: var(--jtc-sc-root-text); font-weight: 700; } .sc-classic .listenEngagement, .sc-classic .l-listen-wrapper .l-about-rows, .sc-clearfix.sc-border-light-bottom { border: none; box-shadow: none; } .sc-type-medium, .sc-type-small, .sc-ministats, .sc-buylink-medium { font-weight: 400; font-family: inherit; } a.sc-link-verylight { color: var(--jtc-sc-text-verylight); } .sc-classic .soundBadge__additional { background: linear-gradient( 90deg, hsl(0deg 0% 100% / 0%), var(--jtc-sc-bg) 17px ); } .sc-classic .truncatedAudioInfo.m-overflow.m-collapsed .truncatedAudioInfo__wrapper:after { background: linear-gradient(hsla(0, 0%, 100%, 0), var(--jtc-sc-bg)); } .sc-classic .g-tabs-link:not(.g-tabs-link.active), .sc-classic .g-tabs-link:visited:not(.g-tabs-link.active), .sc-buylink { color: var(--jtc-sc-almost-root-text); } :root.jtc-sc-dark .backgroundGradient { filter: brightness(0.4) saturate(1.6); } .sc-classic .truncatedUserDescription.m-overflow.m-collapsed .truncatedUserDescription__wrapper:after { background: linear-gradient(hsla(0, 0%, 100%, 0), var(--jtc-sc-bg)); } .sc-classic .dropbar__content { background-color: var(--jtc-sc-bg); } .sc-classic .image__whiteOutline .image__full { border-color: var(--jtc-sc-bg); } .sc-classic .moreActions { border-color: var(--jtc-sc-btn-hover); } .sc-classic .compactTrackListItem__number, .sc-classic .compactTrackListItem__trackTitle { color: var(--jtc-sc-root-text); } .sc-classic .compactTrackListItem__user, .sc-ministats-small:not(.sc-ministats-inverted) { color: var(--jtc-sc-light-text); } .sc-classic .compactTrackListItem.clickToPlay.active, .sc-classic .compactTrackListItem.clickToPlay:focus, .sc-classic .compactTrackListItem.clickToPlay:hover, .sc-classic .compactTrackList__moreLink:focus, .sc-classic .compactTrackList__moreLink:hover { background-color: var(--jtc-sc-btn-hover); color: var(--jtc-sc-root-text); } .sc-classic .compactTrackListItem.clickToPlay.active .compactTrackListItem__additional, .sc-classic .compactTrackListItem.clickToPlay:focus .compactTrackListItem__additional, .sc-classic .compactTrackListItem.clickToPlay:hover .compactTrackListItem__additional { background: linear-gradient( 90deg, hsla(0, 0%, 100%, 0), var(--jtc-sc-btn-hover) 17px ); } .sc-classic .tileGallery__sliderButton:after { border-color: var(--jtc-sc-root-text); } .sc-classic .searchTitle { background-color: var(--jtc-sc-bg); } .sc-classic .searchTitle__text, .sc-classic .g-form-section-head { border: none; } .sc-classic .g-nav-item:not(.active) > .g-nav-link { color: var(--jtc-sc-root-text); } .sc-classic .g-nav-item:not(.active) .g-nav-link { filter: brightness(0) grayscale(1); } :root.jtc-sc-dark .sc-classic .g-nav-item:not(.active) .g-nav-link { filter: brightness(100) grayscale(1); } .sc-classic .g-form-section-title { color: var(--jtc-sc-almost-root-text); font-weight: 400; } .sc-classic .hintButton, .sc-ministats-small.sc-ministats-sounds:before { filter: brightness(0) grayscale(1); } :root.jtc-sc-dark .sc-classic .hintButton, :root.jtc-sc-dark .sc-ministats-small.sc-ministats-sounds:before, :root.jtc-sc-dark .sc-classic .reportCopyright { filter: brightness(100) grayscale(1); } input, select, textarea { background-color: var(--jtc-sc-bg); border-color: var(--jtc-sc-border); border-width: 1.5px; font-weight: 400; } .g-dark input[type="password"], .g-dark input[type="search"], .g-dark input[type="text"], .g-dark select, .g-dark textarea { background-color: var(--jtc-sc-header-search); } .sc-select { font-weight: 400; } .sc-toggle { background-color: var(--jtc-sc-btn); border-color: var(--jtc-sc-btn); } .sc-toggle-handle { background-color: var(--jtc-sc-bg); } .sc-classic .commentForm__input { border: none; border-bottom: 2px solid var(--jtc-sc-bg); border-radius: 0px; transition: border-color 0.2s; padding: 0; margin: 0 9px; } .sc-classic .commentForm__inputWrapper.focused .commentForm__input { border-color: var(--jtc-sc-border); } .sc-classic .commentForm__wrapper { background-image: none; background-color: var(--jtc-sc-bg); border: none; } .sc-classic .audibleEditForm__audio, .sc-classic .audibleEditForm__form, .sc-classic .tabs__headingContainer, .sc-classic .tabs__tabs, .sc-classic .uploadMain__foot, .sc-classic .uploadMain__chooserContainer, .sc-classic .quotaMeterWrapper { background-color: var(--jtc-sc-popup); } .sc-classic .tagInput__wrapper { background-color: var(--jtc-sc-bg); } .sc-classic .editTrackList__list .sortable-placeholder { background-color: var(--jtc-sc-tile); border-color: var(--jtc-sc-border); } .sc-classic .profileUploadFooter, .sc-classic .trackManager__upsellWrapper { background-color: var(--jtc-sc-bg); } .sc-classic .soundBadge.active:not(.compact), .sc-classic .soundBadge.hover:not(.compact), .sc-classic .soundBadge.selected:not(.compact), .sc-classic .soundBadge:hover:not(.compact) { background-color: var(--jtc-sc-tile); } .sc-classic .soundBadge.active:not(.compact) .soundBadge__additional, .sc-classic .soundBadge.hover:not(.compact) .soundBadge__additional, .sc-classic .soundBadge.selected:not(.compact) .soundBadge__additional, .sc-classic .soundBadge:hover:not(.compact) .soundBadge__additional { background: linear-gradient(90deg, transparent, var(--jtc-sc-tile) 17px); } :root.jtc-sc-dark .sc-classic .quotaMeter__dropdownButton:after { filter: invert(1); } .sc-button.sc-button-translucent:not(.sc-button-cta) { background-color: var(--jtc-sc-btn); } .sc-classic .modal.modalWhiteout { background-color: var(--jtc-sc-whiteout); } .sc-classic .dialog, .sc-classic .dialog__arrow { background-color: var(--jtc-sc-popup); border-color: var(--jtc-sc-border); } .sc-classic .linkMenu { background-color: var(--jtc-sc-bg); border: 1px solid var(--jtc-sc-border); } .sc-classic .g-upsell-container, .sc-classic .sidebarInfoBox__body { background-color: var(--jtc-sc-block); border-color: var(--jtc-sc-border); } .sc-classic .blockCheckbox, .sc-text-light { color: var(--jtc-sc-light-text); } .sc-classic .blockCheckbox__title { color: var(--jtc-sc-root-text); } :root.jtc-sc-dark .sc-classic .blockCheckbox:not(.m-checked) .blockCheckbox__icon { filter: grayscale(1) brightness(0.2); } .sc-background-white { background-color: var(--jtc-sc-bg); } .sc-classic .modal__modal { background-color: var(--jtc-sc-popup); border-color: var(--jtc-sc-border); } .sc-background-light, .statsOverview__separator { background-color: var(--jtc-sc-block); } .topStatsItemPlaceholder__text:after, .topStatsItemPlaceholder__text:before { background-color: var(--jtc-sc-light-text); } .sc-classic .moreActions__group:not(:first-child), .topStatsModule__item, .sc-border-dark, .topStatsItemPlaceholder.listener .topStatsItemPlaceholder__visual { border-color: var(--jtc-sc-border); } .sc-classic .paging-eof:before { background: none; } .sc-classic .collection.m-overview .collection__section:not(:last-child), .sc-classic .g-modal-title-h1 { border: none; } .sc-classic .playControls__bg, .sc-classic .playControls__inner, .sc-classic .volume__sliderWrapper { background-color: var(--jtc-sc-bar); } .sc-classic .playControls__inner { box-shadow: 0 -4px 6px -1px rgb(0 0 0 / 10%), 0 2px 4px -2px rgb(0 0 0 / 10%); } .sc-classic .playControls__bg, .sc-classic .playControls__inner { border-color: var(--jtc-sc-border); } .sc-classic .soundContext__line { color: var(--jtc-sc-light-text); } :root.jtc-sc-dark .sc-classic .playControls__elements .playControls__control .shuffleControl:not(.m-shuffling), :root.jtc-sc-dark .sc-classic .playControls__elements .playControls__control .repeatControl.m-none, :root.jtc-sc-dark .sc-classic .playControls__elements .playControls__control.playControl, :root.jtc-sc-dark .sc-classic .playControls__elements .playControls__control.skipControl, :root.jtc-sc-dark .sc-classic .volume__button, :root.jtc-sc-dark .sc-classic .playbackSoundBadge__follow:not(.sc-button-selected), :root.jtc-sc-dark .sc-classic .playbackSoundBadge__like:not(.sc-button-selected) { filter: brightness(100) grayscale(1); } :root.jtc-sc-dark .sc-classic .queue__hide { filter: invert(1); } :root.jtc-sc-dark .sc-classic .queueItemView__more.sc-button-small:before, :root.jtc-sc-dark .sc-button-small.queueItemView__like:not(.sc-button-selected):before { filter: brightness(100) grayscale(1); } .sc-classic .playbackTimeline__progressBackground, .sc-classic .volume__sliderBackground { background-color: var(--jtc-sc-border); } .sc-classic .volume__sliderWrapper:before, .sc-classic .volume__sliderWrapper:after { border-color: transparent transparent var(--jtc-sc-border) var(--jtc-sc-border); } .sc-classic .volume.expanded .volume__sliderWrapper { border-color: var(--jtc-sc-border); } .sc-classic .playControls__castControl > #castbutton { --disconnected-color: var(--jtc-sc-root-text); } .sc-classic .playbackSoundBadge:not(.m-queueVisible) .playbackSoundBadge__queueIcon { fill: var(--jtc-sc-root-text); } .sc-classic .gritter-item-wrapper { background-color: var(--jtc-sc-block); color: var(--jtc-sc-root-text); border-color: var(--jtc-sc-border); } .sc-classic .playbackTimeline__duration { color: var(--jtc-sc-light-text); } .sc-classic .playbackSoundBadge__titleLink, .sc-classic .playbackSoundBadge__titleLink:visited { color: var(--jtc-sc-root-text); } .sc-classic .queue, .sc-classic .queue__itemWrapper { background-color: var(--jtc-sc-popup); } .sc-classic .queue__itemsHeight { background: var(--jtc-sc-popup); } .sc-classic .queue__panel { border-color: var(--jtc-sc-border); } .sc-classic .queueFallback__stationMode, .sc-classic .queue__panel { border: none; } .sc-classic .keyboardShortcuts__shortcutsGroup > dl > dt > kbd > kbd { background-color: var(--jtc-sc-btn); } .sc-classic .queueItemView.m-active, .sc-classic .queueItemView:hover { background-color: var(--jtc-sc-btn-hover); } .sc-classic .moreActions { background-color: var(--jtc-sc-popup); padding: 4px; border-radius: 5px; } .sc-classic .headerMenu { padding: 0px 4px; border-radius: 5px; margin-top: 4px; border: 1px solid var(--jtc-sc-border); background-color: var(--jtc-sc-popup); font-family: inherit; } .sc-classic .headerMenu__list { padding: 4px 0px; } .sc-classic .headerMenu__list li .headerMenu__link { border-radius: 5px; } .sc-classic .dropdownContent__container { background-color: var(--jtc-sc-popup); } .sc-classic .dropdownContent__header, .sc-classic .dropdownContent__main, .sc-classic .dropdownContent__container, .sc-classic .dropdownContent__listItem, .sc-classic .activitiesListFull__item + .activitiesListFull__item, .sc-classic .composeMessage__bottomWrapper { border-color: var(--jtc-sc-border); } .sc-classic .notificationBadge__main { font-weight: 400; color: var(--jtc-sc-light-text); } .sc-classic .conversation__actions { background-color: var(--jtc-sc-bg); box-shadow: none; } .sc-classic .conversation__form { border: none; } .sc-classic .inbox__item:before { background-color: var(--jtc-sc-bg); } .sc-classic .inboxItem.active, .sc-classic .inboxItem.unread, .sc-classic .inboxItem:focus, .sc-classic .inboxItem:hover { background-color: var(--jtc-sc-btn-hover); } .sc-classic .trackItem.active, .sc-classic .trackItem.hover { background-color: var(--jtc-sc-btn-hover); } .sc-classic .trackItem:not(.m-disabled).active .trackItem__additional, .sc-classic .trackItem:not(.m-disabled).hover .trackItem__additional { background: linear-gradient( 90deg, hsla(0, 0%, 100%, 0), var(--jtc-sc-btn-hover) 17px ); } .sc-classic .commentPopover.darkText .commentPopover__body { color: var(--jtc-sc-root-text); } .commentItem__body, .commentItem__creatorLink, .commentItem__creatorLink:hover, .commentItem__creatorLink:visited, .commentItem__username, .commentItem__usernameLink, .commentItem__usernameLink:hover, .commentItem__usernameLink:visited, .commentItem__replyButton, .commentItem__replyButton:hover, .commentItem__replyButton:visited { color: var(--jtc-sc-root-text); } .commentItem__createdAt, .commentItem__separator, .commentItem__timestamp { color: var(--jtc-sc-light-text); } .commentItem__timestampLink, .commentItem__timestampLink:hover, .commentItem__timestampLink:visited { background-color: var(--jtc-sc-tag-bg); color: #38d; } .uiEvoButton--isLight.commentItem__likeButton { background-color: var(--jtc-sc-bg); } .uiEvoButton--isLight, .uiEvoButton:hover.uiEvoButton--isLight, .uiEvoButton:link.uiEvoButton--isLight, .uiEvoButton:visited.uiEvoButton--isLight { background-color: var(--jtc-sc-btn); color: var(--jtc-sc-root-text); } .sc-classic .commentFormDisabled { background-color: var(--jtc-sc-bg); } ` .replaceAll(";\n", " !important;\n") .replaceAll(":\n", ";\n") .replaceAll( "$BTN_EXCLUDE", ":not(.reportCopyright):not(.hintButton):not(.sc-classic .playbackSoundBadge .playbackSoundBadge__follow):not(.sc-classic .playbackSoundBadge .playbackSoundBadge__like):not(.sc-button-nostyle):not(.sc-button-next):not(.sc-button-pause):not(.sc-button-play):not(.sc-button-prev):not(.sc-button-blocked)" ) ); })();