/* ==UserStyle== @name DeepL Catppuccin @namespace github.com/catppuccin/userstyles/styles/deepl @homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/deepl @version 0.2.2 @description Soothing pastel theme for DeepL @author Catppuccin @updateURL https://github.com/catppuccin/userstyles/raw/main/styles/deepl/catppuccin.user.css @license MIT @preprocessor less @var select flavor "Flavor" ["latte:Latte", "frappe:Frappé", "macchiato:Macchiato", "mocha:Mocha*"] @var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire*", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] @var checkbox quotes "Remove Quotes" 0 @var checkbox header "Remove Header" 0 @var checkbox footer "Remove Footer" 0 @var checkbox tabs "Remove Tabs" 0 @var checkbox dictionary "Remove Dictionary" 0 @var checkbox removeAds "Remove DeepL Ads" 0 @var checkbox removeGlossaryButton "Remove Glossary Button" 0 ==/UserStyle== */ @-moz-document url-prefix("https://www.deepl.com/translator") { :root { #catppuccin(@flavor, @accentColor); } @catppuccin: { @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; } @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; } @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; } @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; } } #catppuccin(@lookup, @accent) { @rosewater: @catppuccin[@@lookup][@rosewater]; @flamingo: @catppuccin[@@lookup][@flamingo]; @pink: @catppuccin[@@lookup][@pink]; @mauve: @catppuccin[@@lookup][@mauve]; @red: @catppuccin[@@lookup][@red]; @maroon: @catppuccin[@@lookup][@maroon]; @peach: @catppuccin[@@lookup][@peach]; @yellow: @catppuccin[@@lookup][@yellow]; @green: @catppuccin[@@lookup][@green]; @teal: @catppuccin[@@lookup][@teal]; @sky: @catppuccin[@@lookup][@sky]; @sapphire: @catppuccin[@@lookup][@sapphire]; @blue: @catppuccin[@@lookup][@blue]; @lavender: @catppuccin[@@lookup][@lavender]; @text: @catppuccin[@@lookup][@text]; @subtext1: @catppuccin[@@lookup][@subtext1]; @subtext0: @catppuccin[@@lookup][@subtext0]; @overlay2: @catppuccin[@@lookup][@overlay2]; @overlay1: @catppuccin[@@lookup][@overlay1]; @overlay0: @catppuccin[@@lookup][@overlay0]; @surface2: @catppuccin[@@lookup][@surface2]; @surface1: @catppuccin[@@lookup][@surface1]; @surface0: @catppuccin[@@lookup][@surface0]; @base: @catppuccin[@@lookup][@base]; @mantle: @catppuccin[@@lookup][@mantle]; @crust: @catppuccin[@@lookup][@crust]; @accent-Color: @catppuccin[@@lookup][@@accent]; @accent2: mix(@accent-Color, @text, 60%); /* text highlight */ ::selection { background: fadeout(@accent-Color, 80%) !important; color: @text !important; } ::-moz-selection { background: fadeout(@accent-Color, 80%) !important; color: @text !important; } .dl_body { color: @subtext1; } button { color: @text; } [class*="label--"] { & when (@lookup ="latte") { --inlineLabelColor: #fff !important; } --inlineLabelColor: @crust; --outline-color: @accent; --background: @overlay1; --backgroundHover: mix(@overlay1, @base, 90%); &[class*="selected--"] { --background: @green; --backgroundHover: mix(@green, @base, 90%); } [class^="toggle--"] { [class^="knob--"] { & when (@lookup ="latte") { background: #fff; } background: @crust; } } } [class^="wrapper--"] { --input-background: @base; --input-border-color: @surface1; --input-color: @subtext1; --button-background: @base; --button-border-color: @surface1; --button-color: @subtext1; [class^="flyout--"] { --option-color: @subtext1; --option-icon-color: @accent; background: @surface0; [class^="option--"][class*="unavailable--"] { --option-color: @overlay1; --option-icon-color: @subtext0; } &[class*="withBorderOnFlyout--"] { --border: 1px solid @surface2; } } } [class^="form--"] { [class^="submit--"] { & when (@lookup ="latte") { color: @base; } color: @crust; background: @accent2; &:disabled { background: fadeout(@accent2, 50%); } } } .text-deepl-blue { color: @accent2; } .text-deprecated-grey-darker { color: @subtext1; } .bg-white { background-color: @base; } .border-dark-7 { border-color: @surface1; } .dl_body--redesign { background-color: @mantle !important; } [class*="button--"][class*="color_primary--"] { border-color: @accent2; background-color: @accent2; color: @accent2; } [class*="button--"][class*="variant_contained--"], .dark [class*="button--"][class*="variant_contained--"] { & when (@lookup ="latte") { color: #fff; } color: @crust; } [class*="button--"].variant_text--gozza, .dark [class*="button--"].variant_text--gozza { background-color: transparent; } ///// .eSEOtericText { color: @overlay1; } .dl_header { &, &::before { background-color: @crust !important; } } .dl_header_menu_v2__links__item { &, &:visited, &:active, &:focus { color: @accent2; } } .dl_headerMenu__proButton { background-color: @accent-Color; & when (@lookup ="latte") { color: #fff; } color: @crust; &:hover { background-color: darken(@accent-Color, 30%); & when (@lookup ="latte") { color: #fff; } color: @crust; } } .dl_header_menu_v2__login_button_simple > button { color: @accent2; &:hover { color: @accent-Color; } } .dl_header_menu_v2__buttons__menu > button { &::before, &::after { color: @accent2; } &:hover { &::before, &::after { color: @accent-Color; } } } .dl_headerMenu__freeBadge, .dl_headerMenu__fadeoutBadge { background-color: spin(@accent-Color, -40deg); & when (@lookup ="latte") { color: #fff; } color: @crust; } .dl_header_menu_v2__links__item.dl_translator_link:not(.nohover):hover { color: @accent-Color; } .dl_header_menu_v2__links__item:not(.nohover):hover, .dl_header_menu_v2__links__item.is-active { border-bottom-color: @accent-Color; color: @accent-Color; } #new-menu-container { [class^="menuContainer--"] { background-color: @base; } [class^="container--"] a { color: @text; &:hover { color: @accent; } } [class^="mainContent--"] + [class^="mainContent--"] { border-top-color: @surface1; } [class^="closeButton"] { &::before, &::after { background-color: @subtext0; } &:hover { &::before, &::after { background-color: @accent-Color; } } } } .lmt--web .lmt__language_container .lmt__language_container_switch:hover, .lmt--web .lmt__language_container .lmt__language_container_switch:focus { color: @accent-Color; } .lmt__docTrans-tab-container { [class^="cardButton--"] { background-color: @base; border-color: @surface1; &:not([class*="active--"]):hover { background-color: @surface0; } } [class^="textLower--"] { color: @overlay2; } [class*="logo"], [class^="textUpper--"] { color: @accent-Color; } [class*="active--"] { [class*="logo"], [class^="textUpper--"] { color: @text; } [class^="innerLower--"] { background-color: @accent-Color; } } } .lmt--web .lmt__sides_container, #doc-trans-source-panel, #doc-trans-target-panel { border-color: @surface1; } .integratedLanguageSelectors .lmt--web .lmt__sides_container .lmt__language_container, .dl_body--redesign .lmt--web .lmt__textarea_container, .lmt__doc .lmt__language_container #doc-trans-source-panel, [class^="docTrans__help_popup--"], #doc-trans-target-panel { background: @base; } #doc-trans-source-panel, #doc-trans-target-panel { [class^="header--"] { border-bottom-color: @surface2; } } /* new popup */ .root--Frqwa { background-color: @surface0; } .selected--bDLH4 { background-color: @surface1; } .divider--v710V { color: @surface2; } .dl_body--redesign .lmt--web .lmt__source_textarea__length_marker { color: @subtext0; } .dl_help-popup_assist-text { color: @overlay1; } .dl_body--redesign .lmt--web .lmt__language_select .lmt__language_select__active { color: @subtext0; } .lmt--web .lmt__language_select > .lmt__language_select__active { strong { color: @accent2; } &:hover { strong, .lmt__language_select__opener { color: @accent-Color; } } } .lmt--web .lmt__textarea { &, textarea { color: @text; } } .lmt--web .lmt__textarea.lmt__textarea--inactive { color: @overlay2 !important; } .lmt__source_textarea_overlay .lmt__source_textarea_overlay__sentence--active { color: @accent2; background-color: @base; } .integratedLanguageSelectors .lmt--web .lmt__sides_container .lmt__side_container.lmt__side_container--source .lmt__textarea_container { border-right-color: @surface1; border-top-color: @surface1; } .integratedLanguageSelectors .lmt--web .lmt__sides_container .lmt__side_container.lmt__side_container--target .lmt__textarea_container { border-top-color: @surface1 !important; } .lmt--showing_alternatives .lmt__translations_as_text::before, .lmt--web .lmt__translations_as_text h4::before { border-top-color: @surface1; } .lmt--web .lmt__translations_as_text h4 { color: @overlay1; } .dl_body--redesign .lmt--web .lmt__textarea_container.lmt__textarea_container--focus, .integratedLanguageSelectors .lmt--web .lmt__sides_container.lmt__sides_container--focus_source .lmt__side_container.lmt__side_container--source .lmt__textarea_container, .integratedLanguageSelectors .lmt--web .lmt__sides_container.lmt__sides_container--focus_target .lmt__side_container.lmt__side_container--target .lmt__textarea_container { border: 1px solid @accent-Color !important; } .lmt--web .lmt__language_container .lmt__language_container_switch { color: @accent2; } @keyframes lmt_textarea__busy_animation_ctp { 0% { box-shadow: inset 0 0 0px 0 @base, inset 0 0 0px 0px rgba(14, 43, 70, 0.0); } 10% { box-shadow: inset 0 0 0px 1px @base, inset 0 0 0px 2px rgba(14, 43, 70, 0.5); } 20% { box-shadow: inset 0 0 1px 3px @base, inset 0 0 1px 4px rgba(14, 43, 70, 0.5), } 40% { box-shadow: inset 0 0 1px 8px @base, inset 0 0 1px 8px rgba(14, 43, 70, 0.3), } } .lmt--active_translation_request.lmt--active_translation_request--with_target_has_content .lmt__side_container--target .lmt__inner_textarea_container { animation: lmt_textarea__busy_animation_ctp 1.5s 2.5s linear infinite; box-shadow: inset 0 0 1px 14px @base, inset 0 0 0px rgba(0, 0, 0, 0); } .lmt__toolbar_container, [data-testid="deepl-ui-tooltip-container"] { span > button:hover { background-color: @surface0 !important; } } .lmt__clear_text_button_wrapper { [class*="button--"] { &:active:enabled, &:hover:enabled { color: @accent-Color; } } } // language selector .lmt__language_select__menu.lmt__language_select__menu_three_columns { &, input { background-color: @base; } border-color: @surface1; } .lmt__language_select__menu .lmt__dropdown_item_inside_container, .lmt__language_select__menu .lmt__formalitySwitch__menu_items > div > button, .lmt__language_select__menu .lmt__formalitySwitch__menu_items > div > div > button, .lmt__language_select__menu > div > button, .lmt__language_select__menu > div > div > button { color: @subtext1; } .lmt__language_select__menu.lmt__language_select__menu_three_columns .lmt__language_wrapper .lmt__language_select_column button:hover, .lmt__language_select__menu.lmt__language_select__menu_three_columns .lmt__language_wrapper .lmt__language_select_column button.highlighted { background-color: fadeout(@yellow, 0.3); } .lmt__language_select__menu.lmt__language_select__menu_three_columns .lmt__language_wrapper .lmt__language_select_column { border-right-color: @surface1; } .lmt--web .lmt__language_select__menu_three_columns_close_button { color: @accent-Color; } .lmt__language_select__menu.lmt__language_select__menu_three_columns .lmt__language_wrapper .lmt__language_select_column button .tick { border-bottom-color: @accent-Color; border-right-color: @accent-Color; } // glossary .lmt__glossary_highlight { color: @accent-Color; } .lmt__glossaryButton__desktop { border-color: fadeout(@text, 12%) } .lmt__glossary_button .lmt__glossary_button_label:hover { color: @accent-Color; } .lmt__glossary_editor_mainBar { background-color: @accent-Color; & when (@lookup ="latte") { color: #fff; } color: @crust; .lmt__glossary_editorClose { & when (@lookup ="latte") { color: #fff; } color: @crust; } } [dl-test="glossary-modal"] { input { background-color: @surface1; } &[class*="modal--"] { background-color: @surface0; } [class*="content--"] { color: @text; } } .lmt__glossary_newEntry_langButton { color: @subtext1; &:hover { color: @accent-Color; } } .lmt_firstEntry-content .lmt__glossary_newEntry_langButton .lmt__glossary_arrowDown { border-bottom-color: @overlay2; border-right-color: @overlay2; } .lmt_firstEntry-content .lmt__glossary_newEntry_inputSource, .lmt_firstEntry-content .lmt__glossary_newEntry_inputTarget { border-color: @overlay0; color: @text; } .lmt_firstEntry-content .lmt__glossary_newEntry_langButton { border-color: @overlay0; background-color: @surface1; } .lmt_firstEntry-content .lmt__glossary_newEntry_inputSource:focus, .lmt_firstEntry-content .lmt__glossary_newEntry_inputTarget:focus { border-color: @accent-Color; } .lmt_firstEntry-content .lmt__glossary_acceptButton { & when (@lookup ="latte") { color: #fff; } color: @crust; } .lmt__glossary_acceptButton.lmt__glossary_acceptButton--disabled { &, &:hover { background-color: fadeout(@accent-Color, 0.5); } } .lmt__language_select__menu { background-color: @surface1; } .lmt__glossary_newEntry_langDropdown.lmt__language_select__menu button { color: @text; &:hover { background-color: fadeout(@yellow, 0.2) !important; } } .lmt__glossary_newEntry_langDropdown.lmt__language_select__menu button .langName { color: @text !important; } .lmt__glossary_newEntry_langDropdown.lmt__language_select__menu button .langCodePair, .lmt__glossary_newEntry_langDropdown.lmt__language_select__menu button .langCodePair .langCode { color: @subtext0; } .lmt__glossary_acceptButton { background-color: @accent2; &:hover { background-color: @accent-Color; } } .lmt__glossary_editor .lmt__glossary_editor_subBar_top .lmt__glossary_editor_glossarySelect .lmt__glossary_editor_glossaryNameWrapper .lmt__glossary_editor_glossaryName { color: @text; } .lmt__glossary_editor .lmt__glossary_editor_subBar_top .lmt__glossary_editor_glossarySelect .lmt__glossary_editor_glossaryNameWrapper .lmt__glossary_editor_glossarySelectChevron.lmt__glossary_arrowDown { border-bottom-color: @accent2; border-right-color: @accent2; } .lmt__glossary_editor .lmt__glossary_editor_subBar_top, .lmt__glossary_editor_subBar_bottom .lmt__glossary_editor [class^="form--"] { background-color: @mantle; } .lmt__glossary_editor_subBar_bottom .lmt__glossary_editor_glossaryAddNewWrapper .lmt__glossary_editor_glossaryAddNew { color: @accent-Color; } .lmt__glossary_editor { background-color: @base; color: @text; border-color: @accent-Color; } .lmt__glossaryButton__desktop.switchedOn { border-color: @accent-Color; } .lmt__glossary_editorRow_editMode .editInput { border-color: @surface1; color: @text; background-color: @base; } .lmt__glossary_editor_checkmark { & when (@lookup ="latte") { border-bottom-color: @base; } border-bottom-color: @crust; & when (@lookup ="latte") { border-right-color: @base; } border-right-color: @crust; } .lmt__glossary_editor_langPairHeadline { color: @text; border-bottom-color: @surface1; } .lmt__glossary_editorRow { color: @text; } .lmt__glossary_arrowRightWrapper .lmt__glossary_arrowRight { border-bottom-color: @overlay1; border-right-color: @overlay1; } .LanguagePair_arrow { color: @overlay2; stroke: @overlay2; } .lmt__glossary_dialog { background-color: @surface0; color: @text; border-color: @surface2; } .lmt__glossary_editorRow .iconButton { color: @text; } ///// .combined_app_ad_mobile_and_desktop .dl_ad_pro_container, .dl_pro__banner--2021--wrapper, [class^="footerOuterContainer"], .lmt_quote__inner { background-color: @crust; } .lmt_quote__inner, .lmt_quote__text, .lmt_quote__source { color: @subtext0; } .lmt_quote__source a { color: @accent-Color; } // popup .lmt__edit_text_popup { background-color: @surface1; } .lmt__edit_text_popup li, .lmt__edit_text_popup .lmt__edit_text_list_item { color: @subtext1; border-color: @surface2; } .lmt__edit_text_popup .lmt__edit_text_popup__entry--active { background-color: fadeout(@yellow, 0.3); } // dictionary #lmt__dict_container { [class^="content--"] { .tag_lemma a, .isForeignTerm .tag_trans, .isForeignTerm .tag_trans a .isForeignTerm .tag_t, .tag_t a { color: @accent-Color; } .sep { color: @text; } .tag_trans { color: @subtext1; } .notascommon { color: @overlay1; } } span > span > button:hover { color: @accent-Color; } } // quotes .lmt_quotes_nav_entry { color: @overlay1; background-color: @overlay0; } .lmt_quotes_nav_entry--active { color: @accent-Color; background-color: @accent-Color; } // footer .dl_footerV2_container { [class*="linkList--"] li { &:not(:first-of-type) a { color: @accent2 !important; // idk why this isn't coloring } [class*="badge--"] { background-color: spin(@accent-Color, -40deg) !important; & when (@lookup ="latte") { color: #fff; } color: @crust; } } } & when (@lookup ="latte") { #dl_menu_logo img, #dl_menu_translator_simplified img, .lmt_quote .lmt_quote__logo, .lmt_quote__inner::before, [class^="docTrans__help_popup__container--"] [class^="supportedIcons--"] > div, .dl_footerV2_container [class^="brandingContainer--"] a > img, [class^="socialMediaContainer--"] a > img { filter: invert(100%) hue-rotate(180deg); } } // options & when (@quotes =1) { #dl_quotes_container { display: none; } } & when (@header=1) { .dl_header { display: none; } } & when (@footer=1) { .dl_footerV2_container, .showSeoText .eSEOtericText { display: none; } } & when (@tabs=1) { .lmt__doc { margin-bottom: 0; & Trans-tab-container { display: none !important; min-height: 100vh; } } #lmt_quotes_article { margin-top: 0; } .dl_translator_page_container { align-items: center; align-content: center; justify-content: center; } } & when (@dictionary=1) { #lmt__dict_container { display: none !important; } } & when not (@quotes=@footer) { .showSeoText .eSEOtericText { margin-bottom: 70px; } } & when (@footer =1), (@header=1), (@quotes=1) { body { display: flex; flex-direction: column; min-height: calc(100vh - 2em); align-items: center; align-content: center; justify-content: center; } .dl_translator_page_container { margin: 2em 0; > * { width: 100vw; } } } & when (@quotes=1), (@header=1), (@footer=1), (@tabs=1) { body { min-height: 100vh; } } & when (@removeAds=1) { #lmt_pro_ad_container { display: none; } } & when (@removeGlossaryButton=1) { .lmt__glossaryButton__desktop { display: none; } } } }