Makes Mastodon look like Twitter.
/* ==UserStyle== @name Twitter for Mastodon @version 1.0.4 @description Makes Mastodon look like Twitter. @preprocessor stylus -- AUTHOR STUFF -- @namespace Freeplay @author Freeplay (https://freeplay.codeberg.page/) @homepageURL https://codeberg.org/Freeplay/UserStyles @supportURL https://codeberg.org/Freeplay/UserStyles/issues @var select theme "Theme" ["dim:Dim", "light:Light", "black:Lights out", "custom:Custom - Edit inside script"] @var color themeColor "Theme Color" rgb(32, 160, 239) @var checkbox noBorders "No Borders" 0 ==/UserStyle== */ /* \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ !! If you aren't on one of the instances below, add your instance URL below !! ////////////////////////////////////////////////////////////////////////////// */ @-moz-document domain("mstdn.social"), domain("mastodon.social"), domain("mastodon.online") { :root { /* OTHER SETTINGS */ --column-width: 597.5px; --theme: themeColor; --theme-transparent: rgba( themeColor, .1); if theme == custom { /*** EDIT YOUR CUSTOM COLORS HERE ***/ // You can copy & paste values from other themes below to edit --color-primary: #15202b; --color-secondary: #192734; --color-tertiary: #253341; --color-text: rgb(217, 217, 217); --color-text-muted: rgb(136, 153, 166); --color-hover: rgba(255,255,255,0.03); --border: 1px solid rgb(47, 51, 54); --shadow: rgba(136, 153, 166, 0.2) 0px 0px 15px, rgba(136, 153, 166, 0.15) 0px 0px 3px 1px; } else if theme == dim { /*** DIM COLORS ***/ --color-primary: #15202b; --color-secondary: #192734; --color-tertiary: #253341; --color-text: white; --color-text-muted: rgb(136, 153, 166); --color-hover: rgba(255,255,255,0.03); --border: 1px solid rgb(56, 68, 77); --shadow: rgba(136, 153, 166, 0.2) 0px 0px 15px, rgba(136, 153, 166, 0.15) 0px 0px 3px 1px; } else if theme == light { /*** LIGHT COLORS ***/ --color-primary: white; --color-secondary: #f7f9fa; --color-tertiary: #ebeef0; --color-text: rgb(15, 20, 25); --color-text-muted: rgb(91, 112, 131); --color-hover: rgba(0,0,0,0.03); --border: 1px solid rgb(235, 238, 240); --shadow: rgba(136, 153, 166, 0.2) 0px 0px 15px, rgba(136, 153, 166, 0.15) 0px 0px 3px 1px; } else if theme == black { /*** LIGHTS OUT COLORS ***/ --color-primary: #000; --color-secondary: #15181c; --color-tertiary: #202327; --color-text: white; --color-text-muted: rgb(110, 118, 125); --color-hover: rgba(255,255,255,0.03); --border: 1px solid rgb(56, 68, 77); --shadow: rgba(255, 255, 255, 0.2) 0px 0px 15px, rgba(255, 255, 255, 0.15) 0px 0px 3px 1px; } if noBorders { --border: none !important; } } body { background-color: var(--color-primary); font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; font-size: 15px; } /* TEXT */ h1, .getting-started__trends h4 { font-size: 19px !important; font-weight: 800 !important; color: var(--color-text) !important; } /* OTHER GLOBAL STUFF */ button, .icon-button { border-radius: 100px !important; overflow: hidden; } .account__avatar, .account__avatar-overlay > div { border-radius: 100%; } .column-header__collapsible-inner, .column-back-button, .filter-form, .empty-column-indicator, .error-column, .follow_requests-unlocked_explanation, .drawer__inner.darker, .column-inline-form, .tabs-bar__link, .flex-spacer, .getting-started, .getting-started__wrapper { background-color: var(--color-primary); } .column-header__collapsible { border-top: var(--border); } input, select { background-color: var(--color-tertiary) !important; border-radius: 100px !important; color: var(--color-text) !important; border: 1px solid transparent !important; } input:focus { border: var(--border) !important; border-color: var(--theme) !important; background-color: var(--color-primary) !important; } hr { border-top: var(--border) !important; } /*** LEFT SIDEBAR ***/ .search { margin: 0 10px !important; margin-bottom: 10px !important; } .search__input { border-radius: 100px; background-color: var(--color-tertiary); padding: 10px 20px !important; color: var(--color-text) !important; } .search__input::placeholder { color: var(--color-text-muted); opacity: 1; } .search__icon .fa-times-circle { top: 15px !important; } .search__icon .fa-search { top: 12px !important } .search .search__icon i { color: var(--color-text-muted) !important; } .search:focus-within i { color: var(--theme) !important; } .search:focus-within i.active { opacity: 1 !important; } .search__icon .active { opacity: .5 !important; } .navigation-bar { padding: 10px !important; margin: 20px 10px !important; margin-top: 10px !important; min-height: 0 !important; flex: none !important; border-radius: 100px; transition: background-color .2s; } .navigation-bar:hover { background-color: rgba(29,161,242,0.1); } .navigation-bar .account__avatar { width: 39px !important; height: 39px !important; background-size: 39px !important; } .navigation-bar__profile { margin-left: 10px !important; } .navigation-bar a { font-weight: 400; font-size: 15px; color: var(--color-text-muted); } .navigation-bar a strong { font-weight: 700; font-size: 15px; color: var(--color-text); } .navigation-bar__actions { margin-right: 5px; } .reply-indicator { background-color: var(--color-primary); color: var(--color-text) !important; padding: 0 !important; border: var(--border); border-radius: 16px; } .reply-indicator__header { border-bottom: var(--border); padding: 10px; } .reply-indicator__display-name { color: var(--color-text) !important; } .reply-indicator__display-name .account__avatar { width: 24px !important; height: 24px !important; background-size: 24px !important; } .reply-indicator__content { color: white !important; padding: 0 10px; padding-bottom: 5px; font-size: 14px; } .attachment-list.compact { padding: 10px; padding-top: 0; margin-top: -5px; padding-bottom: 5px; } .compose-form { padding-top: 0 !important; } .compose-form__warning { border: var(--border) !important; border-radius: 16px !important; padding: 10px !important; background-color: var(--color-primary) !important; color: var(--color-text) !important; box-shadow: none !important; } .compose-form__warning a { color: var(--theme) !important; } .compose-form__autosuggest-wrapper, .autosuggest-textarea__textarea, .compose-form__modifiers, .compose-form__buttons-wrapper, .compose-form__modifiers { background-color: var(--color-secondary) !important; color: var(--color-text) !important; } .compose-form__modifiers > div:not(.compose-form__upload-wrapper) { margin: 10px; border: var(--border) !important; border-radius: 16px; } .compose-form__uploads-wrapper:not(:empty) { border: var(--border); border-radius: 16px; overflow: hidden; padding: 0 !important; margin: 10px !important; grid-gap: 4px; } .compose-form__upload { margin: 0 !important; } .compose-form__poll-wrapper, .poll__footer { border: none !important; } .compose-form__autosuggest-wrapper { border-radius: 16px 16px 0 0 !important; } .compose-form__buttons-wrapper { border-radius: 0 0 16px 16px !important; border-top: var(--border); } .compose-form__publish-button-wrapper button { font-size: 15px !important; font-weight: 700; min-height: 39px; text-transform: capitalize; } .autosuggest-textarea__suggestions { background-color: var(--color-primary) !important; color: var(--color-text) !important; font-size: 15px !important; line-height: 1.3125 !important; box-shadow: var(--shadow) !important; border-radius: 4px !important; padding: 0 !important; } .autosuggest-textarea__suggestions__item { padding: 10px 15px !important; border-radius: 0 !important; border-bottom: var(--border); } .autosuggest-textarea__suggestions__item .display-name bdi { font-weight: 700; } .compose-form .autosuggest-textarea__suggestions__item.selected, .compose-form .autosuggest-textarea__suggestions__item:active, .compose-form .autosuggest-textarea__suggestions__item:focus, .compose-form .autosuggest-textarea__suggestions__item:hover { background-color: var(--color-hover) !important; } .getting-started__footer { font-size: 13px; line-height: 19.6833px; font-weight: 400; } .getting-started__footer a { color: var(--color-text-muted); } /*** MAIN SECTION ***/ .columns-area__panels__main { padding: 0; margin: 0 20px; width: var(--column-width); max-width: calc(100vw - 17px); border: var(--border); border-top-width: 0; border-bottom-width: 0; min-height: 100vh; } .column > .scrollable, .search-r###lts { background: transparent; padding-bottom: calc(100vh - 56px); } .tabs-bar__wrapper { padding-top: 0 !important; font-weight: 800; border-bottom: var(--border); background-color: var(--color-primary) !important; } .tabs-bar { position: fixed; bottom: 0; max-width: calc( var(--column-width) - 2px ); border-top: var(--border); margin-bottom: 0 !important; background-color: var(--color-primary) !important; } .tabs-bar__link { border-bottom: none !important; color: var(--color-text); } .tabs-bar__link:active, .tabs-bar__link:focus, .tabs-bar__link:hover { background-color: var(--color-hover) !important; } .tabs-bar__link.active { border-bottom: 2px solid var(--theme) !important; } .tabs-bar__wrapper button { font-size: 19px; background: transparent !important; } .floating-action-button { bottom: 60px; } .column-header, .notification__filter-bar { background-color: var(--color-primary) !important; height: 53px; } .column-header__buttons { height: 53px; } .column-header__buttons button { background-color: transparent !important; } .column-header__icon { display: none; } /* Status */ article, .scrollable > div > div[tabindex="-1"], .search-r###lts > div > div:not(.trends__header), .entry > .status { transition: background .2s; } article:hover, .scrollable > div > div[tabindex="-1"]:hover, .search-r###lts > div > div:hover, .entry > .status:hover, .focusable:focus, .item-list .column-link:hover { background: var(--color-hover) !important; background-color: var(--color-hover) !important; } .status { padding: 8px 15px !important; padding-left: 72px !important; border-bottom: var(--border) !important; } .status__info { display: flex; } .status__relative-time { order: 2; flex-grow: 1; display: flex; color: var(--color-text-muted); } .status__relative-time::before { content: "·"; margin-right: 5px; margin-left: 5px; } .status__display-name { padding-right: 0 !important; } .status__display-name strong { color: var(--color-text) !important; } .status__visibility-icon { order: 2; margin-left: auto; } .status__prepend { padding-top: 8px !important; } .status__prepend > span, .status__prepend > span strong { font-size: 13px; line-height: 1.3125; font-weight: 700; color: var(--color-text-muted) !important; } .columns-area--mobile .status__avatar { top: 10px; left: 15px; height: 49px; width: 49px; } .status .account__avatar { height: 49px !important; width: 49px !important; background-size: 49px !important; } .display-name strong { font-weight: 700 !important; line-height: 1.3125; font-size: 15px; } .display-name__account { font-size: 15px; line-height: 1.3125; color: var(--color-text-muted); } .status__content { color: var(--color-text); margin-left: -75px; padding-left: 75px; margin-right: -15px; padding-right: 15px; } .status__content a { color: var(--theme); } a.status-card { border: var(--border); transition: background-color .2s; } a.status-card:hover { background-color: var(--color-hover) !important; } .media-gallery, .video-player, .status-card, .audio-player { border-radius: 16px; border: var(--border) !important; } .audio-player .video-player__seek { margin: 10px 15px; } .status__action-bar { justify-content: space-between; max-width: calc( var(--column-width) - 175px ) } .status__action-bar > * { margin-right: 0; } .detailed-status__display-name .display-name { margin-top: 3px; } .detailed-status__display-name strong { color: var(--color-text); } .detailed-status, .detailed-status__action-bar { background: var(--color-primary); border-top: var(--border); border-bottom: var(--border); } .detailed-status .status__content { font-size: 23px !important; line-height: 1.3125; } .reply-indicator__content .status__content__spoiler-link, .status__content .status__content__spoiler-link { color: var(--color-text); background: transparent; border: var(--border); font-weight: 600; padding: 0 6px !important; font-size: 11px; text-decoration: none !important; text-transform: uppercase; margin-top: -2px; } .status__content__read-more-button { margin-top: 6px; padding: 0 !important; padding-left: 75px !important; margin-left: -75px; border-radius: 0 !important; width: calc(100% + 90px); height: 40px; text-decoration: none !important; font-size: 15px !important; line-height: 1.3125 !important; font-weight: 400 !important; text-align: left !important; transition: background-color .2s; } .status__content__read-more-button:hover { background-color: var(--color-hover); } /* Account Header */ .account__header > div, .account__section-headline { background-color: var(--color-primary) !important; } .account__header__image { height: 100%; } .account__header__image img { height: calc((1 / 3) * 600px ); } .account__header__tabs .account__avatar, .account__header__tabs .avatar { width: 135px !important; height: 135px !important; background-size: 135px !important; } .account__header__tabs .avatar { margin-top: -40px; } .account__header__tabs .account__avatar { border: 4px solid var(--color-primary) !important; border-radius: 100%; } .account__header__bar { border-bottom: none; } .account__header__fields { border: none !important; padding: 0 14px !important; display: flex; flex-wrap: wrap; } .account__header__bio .account__header__fields a { color: var(--theme); } .account__header__fields dl { margin: 4px; width: auto !important; border-radius: 100px; border: var(--border); border-bottom: var(--border) !important; } .account__header__fields dl > * { padding: 8px 14px; padding-right: 8px; width: auto !important; flex: none; } .account__header__fields dt { background: none; color: var(--color-text) !important; } .account__header__fields dd { padding: 8px 14px; padding-left: 0; color: var(--color-text-muted); } .account__header__fields .verified { border: none; border-radius: 100px !important; padding-left: 14px; } .account__header__account-note { border: none !important; padding-top: 10px; } .account__header__account-note label { display: none; } .account__header__content { padding-top: 8px !important; color: var(--color-text) !important; } .account__header__extra__links a { color: var(--color-text-muted); } .account__header__extra__links strong span { color: var(--color-text) !important; } .account__header__extra__links span { color: var(--color-text-muted); } .account__section-headline { border-bottom: var(--border); } .account__section-headline a, .notification__filter-bar button { background: 0; border-radius: 0 !important; font-weight: 700; } .account__section-headline a.active, .notification__filter-bar button.active { border-bottom: 2px solid var(--theme); color: var(--theme); } .account__section-headline a.active::before, .account__section-headline a.active::after, .notification__filter-bar button::before, .notification__filter-bar button::after { content: none !important; } /* LISTS PAGE */ .item-list .column-link { border-radius: 0 !important; font-size: 15px; padding: 15px 20px !important; height: auto !important; background: var(--color-primary); border-bottom: var(--border); } .item-list .column-link__icon { margin-right: 15px; } .item-list .column-link__icon::before, .item-list .column-link__icon { height: unset !important; width: unset !important; } .column-back-button { border-bottom: var(--border); border-radius: 0 !important; } /* Other */ .load-more { border-radius: 0 !important; } .load-more:hover { background-color: var(--color-hover) !important; } /*** RIGHT SIDEBAR ***/ .navigation-panel { margin: 0 !important; padding-top: 20px; max-height: calc(100vh - 20px); scrollbar-color: var(--color-secondary) var(--color-primary) !important; overflow-x: hidden; } .column-link { font-size: 19px; font-weight: 700; padding: 8.5px 10px; line-height: normal; border-radius: 100px; color: var(--color-text); white-space: nowrap; background-color: transparent; transition: background-color .2s; } .column-link span { margin: 0 15px 0 20px; margin-left: 0 !important; color: var(--color-text) !important; line-height: 1.3125; position: relative; } .icon-with-badge__badge { left: 12px !important; top: -6px !important; border-radius: 100px; } .column-link:hover span, .column-link:hover .column-link__icon, .column-link.active span { color: var(--theme) !important; } .column-link span::before { content: ""; position: absolute; top: -10px; left: -55px; bottom: -10px; right: -20px; border-radius: 100px; transition: background-color .2s; } .column-link:hover span::before { background-color: var(--theme-transparent); } .column-link__icon { margin-right: 20px !important; } .column-link.active .column-link__icon { color: var(--theme); } .column-link__icon, .column-link__icon::before { width: 26.25px; height: 26.25px; display: inline-block; margin-right: 0; } .getting-started__trends { background-color: var(--color-secondary); border-radius: 16px; margin: 15px 0; } .getting-started__trends h4 { text-transform: capitalize; padding: 10px 15px; border-bottom: none; line-height: 1.3125; font-weight: 800; color: var(--color-text); } .getting-started__trends .trends__item { padding: 10px 15px; border-top: var(--border); } .getting-started__trends .trends__item a { font-weight: 700; color: var(--color-text); } /*** POPUPS ***/ .actions-modal, .block-modal, .boost-modal, .confirmation-modal, .mute-modal, .report-modal, .block-modal__action-bar, .boost-modal__action-bar, .confirmation-modal__action-bar, .mute-modal__action-bar { background-color: var(--color-primary); color: var(--color-text) !important; } .block-modal__action-bar, .boost-modal__action-bar, .confirmation-modal__action-bar, .mute-modal__action-bar { border-top: var(--border); } .dropdown-menu, .privacy-dropdown__dropdown { box-shadow: var(--shadow); background-color: var(--color-primary); } .dropdown-menu__arrow.bottom { border-bottom-color: var(--color-primary) !important; } .dropdown-menu__arrow.top { border-top-color: var(--color-primary) !important; } .dropdown-menu__item a, .privacy-dropdown__option { background-color: var(--color-primary); color: var(--color-text); font-size: 15px; line-height: 1.3125; padding: 15px; font-weight: 400; transition: background-color .2s; } .privacy-dropdown__option__content strong { color: var(--color-text) !important } .dropdown-menu__item a:hover, .privacy-dropdown__option:hover { background-color: var(--color-hover) !important; } .privacy-dropdown__option.active { background-color: var(--theme) !important; } .dropdown-menu__separator { border-bottom: var(--border); margin: 2px 0; } .emoji-mart { width: 311px !important; } .emoji-mart-scroll { max-height: 300px !important; height: 100% !important; padding: 10px !important; } .emoji-mart-category-label { margin: 10px -10px; top: -10px !important; } .emoji-mart-category:nth-child(2) { margin-top: -20px !important } .emoji-picker-dropdown__menu, .emoji-mart-search, .emoji-mart-scroll, .emoji-mart-category-label span, .emoji-mart-bar { background-color: var(--color-primary) !important; color: var(--color-text) !important; } .emoji-mart-bar { border-bottom: var(--border); } .emoji-mart-anchor-selected { color: var(--theme) !important; } .emoji-mart-anchor-bar { background-color: var(--theme) !important; } .emoji-mart-category-label span { font-size: 19px; line-height: 1.3125; font-weight: 700; border-top: var(--border); border-bottom: var(--border); padding: 10px 15px; } .search-popout { margin: 10px; border-radius: 4px; box-shadow: var(--shadow); } .search-popout, .search-popout em { background-color: var(--color-primary) !important; color: var(--color-text) !important; } /*** ADVANCED VIEW ***/ .drawer { background-color: var(--color-primary); margin: 0 !important; padding: 0 !important; padding-top: 10px !important; border-right: var(--border); } .drawer__header { margin: 10px; margin-top: 0; border-radius: 100px; overflow: hidden; padding: 0 10px; background-color: var(--color-secondary); } .drawer__inner__mastodon { background-color: var(--color-primary); } .layout-multiple-columns .column { border-right: var(--border); margin: 0 !important; padding: 0 !important; padding-top: 5px; } .layout-multiple-columns .column:last-of-type { border-right: none !important; } .layout-multiple-columns .compose-form .autosuggest-textarea__textarea { border-radius: 16px !important; } .drawer__inner { background-color: var(--color-primary) !important; } .layout-multiple-columns .getting-started__trends { margin: 10px; } }