/* ==UserStyle== @name Converse Dark @description A dark theme for the full screen version of Converse, a web-based XMPP client. @namespace gitlab.com/maxigaz/converse-dark @author maxigaz @homepageURL https://gitlab.com/maxigaz/converse-dark @version 1.0.2 ==/UserStyle== */ @-moz-document domain("inverse.chat"), url-prefix("https://conversejs.org/fullscreen") { :root { --main-background: #383c4a; --lighter-background-1: #3f4353; --darker-background-1: #323542; --main-text-color: #e4e4e4; --lighter-text-color-1: #e7e7e7; --lighter-text-color-2: #eee; --lighter-text-color-3: #f4f4f4; --lighter-text-color-4: #f7f7f7; --lighter-text-color-5: #fff; --darker-text-color-1: #eee; --darker-text-color-3: #ddd; --darker-text-color-2: #d4d4d4; --darker-text-color-4: #c7c7c7; --darker-text-color-5: #bababa; --selected-text-background: #595e70; --light-divider: #404555; --main-border: #292c36; --btn-border: #1b1b1b; --border-green: #1d5534; --border-orange: #924633; --btn-background: #474b5d; --btn-disabled-background: #464a5c; --btn-disabled-color: #878787; --a-text-color: #2596ff; --a-text-color-hover: #23baff; } #conversejs ::selection { background-color: var(--selected-text-background); } /* ===== Sidebar ===== */ #conversejs #controlbox .controlbox-pane { background-color: var(--main-background); } #conversejs #controlbox .controlbox-panes { background-color: var(--main-background); } #converse-embedded-chat, #conversejs { color: var(--main-text-color); } /* Conferences */ #conversejs .list-container .list-toggle { color: var(--main-text-color); } #conversejs .list-container .list-toggle:hover { color: var(--lighter-text-color-5); } #conversejs .items-list .list-item:hover { background-color: var(--lighter-background-1); } #conversejs .items-list .list-item .list-item-link { color: var(--a-text-color); } #conversejs .items-list .list-item .list-item-link:hover { color: var(--a-text-color-hover); } #conversejs .items-list .list-item .list-item-action.button-on { color: var(--a-text-color); } #conversejs .items-list .list-item .list-item-action.button-on:hover { color: var(--a-text-color-hover); } #conversejs .items-list .list-item.open { background-color: #0f4071 !important; } #conversejs .items-list .list-item.open:hover { background-color: #0f4071 !important; } #conversejs .message.chat-msg .chat-msg__content--me .chat-msg__body--groupchat.chat-msg__body--delayed .chat-msg__text, #conversejs .message.chat-msg .chat-msg__content--me .chat-msg__body--groupchat.chat-msg__body--received .chat-msg__text { color: var(--main-text-color); } /* Contacts */ #conversejs #converse-roster .roster-contacts .roster-group .group-toggle { color: var(--main-text-color); } #conversejs #converse-roster .roster-contacts .roster-group .group-toggle:hover { color: var(--lighter-text-color-5); } #conversejs #converse-roster .roster-contacts .roster-group li:hover { background-color: var(--lighter-background-1) !important; } /* ===== Chat window ===== */ #converse-embedded-chat .chatbox .chat-content, #conversejs .chatbox .chat-content { background-color: var(--main-background); color: var(--lighter-text-color-2); } #conversejs .message.chat-msg .chat-msg__text { color: var(--darker-text-color-2); } #conversejs .message.chat-msg .chat-msg__heading .chat-msg__time { color: var(--darker-text-color-5); } #conversejs .message.chat-msg.correcting:not(.groupchat) { background-color: #464b5d; } #conversejs .message.chat-msg.correcting.groupchat { background-color: #464b5d; } #conversejs.converse-fullscreen .flyout { border-color: var(--border-green); } #conversejs.converse-fullscreen .chatbox .box-flyout { background-color: var(--border-green); } #conversejs .chat-head.chat-head-chatbox { background-color: var(--border-green); } #conversejs.converse-fullscreen .chatroom .box-flyout, #conversejs.converse-mobile .chatroom .box-flyout { background-color: var(--border-orange); border-color: var(--border-orange); } #conversejs .chat-head-chatroom, #conversejs.converse-embedded .chat-head-chatroom { background-color: var(--border-orange); } #conversejs .chat-head a.chatbox-btn.fa.button-on::before, #conversejs .chat-head a.chatbox-btn.far.button-on::before, #conversejs .chat-head a.chatbox-btn.fas.button-on::before, #conversejs .chat-head a:hover.chatbox-btn.fa.button-on::before, #conversejs .chat-head a:hover.chatbox-btn.far.button-on::before, #conversejs .chat-head a:hover.chatbox-btn.fas.button-on::before, #conversejs .chat-head a:not([href]):not([tabindex]).chatbox-btn.fa.button-on::before, #conversejs .chat-head a:not([href]):not([tabindex]).chatbox-btn.far.button-on::before, #conversejs .chat-head a:not([href]):not([tabindex]).chatbox-btn.fas.button-on::before, #conversejs .chat-head a:visited.chatbox-btn.fa.button-on::before, #conversejs .chat-head a:visited.chatbox-btn.far.button-on::before, #conversejs .chat-head a:visited.chatbox-btn.fas.button-on::before { background-color: var(--border-orange); } #conversejs .message.date-separator .separator-text { background-color: var(--main-background); color: var(--darker-text-color-3); } #conversejs .avatar { background-color: var(--main-background); border-color: var(--main-border); } /* Occupants */ #conversejs .chatbox .chat-body p { color: var(--lighter-text-color-2); } #converse-embedded-chat .chatroom .box-flyout .chatroom-body .occupants, #conversejs .chatroom .box-flyout .chatroom-body .occupants { background-color: var(--main-background); color: var(--main-text-color); } #conversejs .chatroom .box-flyout .chatroom-body .occupants ul.occupant-list, #conversejs.converse-embedded .chatroom .box-flyout .chatroom-body .occupants ul.occupant-list { border-color: var(--light-divider); } #conversejs .chatroom .room-invite .invited-contact, #conversejs.converse-embedded .chatroom .room-invite .invited-contact { border-color: var(--btn-border); } #conversejs .form-control:focus { box-shadow: 0 0 0 .2rem rgba(37, 150, 255,.3); } /* Occupant invitation autocomplete */ #conversejs .awesomplete .suggestion-box__results::before, #conversejs .awesomplete > ul::before, #conversejs .suggestion-box .suggestion-box__results::before, #conversejs .suggestion-box > ul::before { background-color: var(--lighter-background-1); } #conversejs .awesomplete .suggestion-box__results, #conversejs .awesomplete > ul, #conversejs .suggestion-box .suggestion-box__results, #conversejs .suggestion-box > ul { background: var(--lighter-background-1); border-color: var(--main-border); } /* Chatroom features */ #conversejs .chatroom-features .features-list .feature .fa, #conversejs.converse-embedded .chatroom-features .features-list .feature .fa { color: var(--main-text-color); } /* Input field */ #conversejs .chatbox .sendXMPPMessage .chat-textarea { background-color: var(--main-background); color: var(--lighter-text-color-2); } #conversejs .chatbox .sendXMPPMessage .chat-textarea.correcting { background-color: #464b5d; } #conversejs .chatbox .sendXMPPMessage .chat-toolbar { background-color: var(--main-background); border-color: var(--border-green); } #conversejs .chatroom .sendXMPPMessage .chat-toolbar, #conversejs.converse-embedded .chatroom .sendXMPPMessage .chat-toolbar { border-color: var(--border-orange); } /* Emoji picker */ #conversejs .chatbox .sendXMPPMessage .chat-toolbar li .toolbar-menu { background-color: var(--main-background); } #conversejs .chatbox .sendXMPPMessage .chat-toolbar li .toolbar-menu .emoji-picker-container { background-color: var(--main-background); } #conversejs .chatbox .sendXMPPMessage .chat-toolbar li .toolbar-menu a { color: var(--darker-text-color-2); } #conversejs .chatbox .sendXMPPMessage .chat-toolbar li .toolbar-menu ul li.insert-emoji a:hover { color: var(--lighter-text-color-5); } #conversejs .chatbox .sendXMPPMessage .chat-toolbar li .toolbar-menu ul li.insert-emoji:hover { background-color: var(--selected-text-background); } /* ===== Modal ===== */ /* Conference room info */ #conversejs .modal-content { background-color: var(--main-background); } #conversejs .modal-header { border-color: var(--light-divider); } #conversejs .modal-footer { border-color: var(--light-divider); } #conversejs a, #conversejs a:not([href]):not([tabindex]), #conversejs a:visited { color: var(--a-text-color); } #conversejs a:hover, #conversejs a:not([href]):not([tabindex]):hover, #conversejs a:visited:hover { color: var(--a-text-color-hover); } #conversejs .close { color: var(--darker-text-color-1); } #conversejs .close:hover { color: var(--lighter-text-color-2); } #conversejs .nav-pills .nav-link.active, #conversejs .nav-pills .show > .nav-link { background-color: #1f78d1; } /* Profile */ #conversejs form.converse-form { background-color: var(--main-background); } #conversejs .form-control { background-color: var(--darker-background-1); border-color: var(--btn-border); color: var(--main-text-color); } #conversejs .form-control:focus { background-color: var(--darker-background-1); border-color: #1f78d1; color: var(--main-text-color); } #conversejs .btn-primary { background-color: #1f78d1; } #conversejs .btn-primary:hover { background-color: #2288ed; } #conversejs .btn-primary:not(:disabled):not(.disabled).active, #conversejs .btn-primary:not(:disabled):not(.disabled):active, .show > #conversejs .btn-primary.dropdown-toggle { background-color: #1962ac; border-color: #1965b0; } /* OMEMO */ #conversejs .list-group-item { background-color: var(--main-background); border-color: var(--main-border); } #conversejs .list-group-item.active { background-color: #1f78d1; border-color: #1f78d1; } /* ===== Login page ===== */ #conversejs form#converse-login, #conversejs form#converse-register { background-color: var(--main-background); } .reset { background-color: #0f4071; } #conversejs.converse-fullscreen #controlbox .brand-heading-container .brand-heading, #conversejs.converse-mobile #controlbox .brand-heading-container .brand-heading { color: var(--a-text-color); } #conversejs .popover { background-color: var(--lighter-background-1); } #conversejs .popover-header { background-color: var(--lighter-background-1); border-color: var(--light-divider); } #conversejs .popover-body { color: var(--main-text-color); } }