Subject: Re: bug#47845: 28.0.50; [PATCH] Update modus-themes to version 1.3.1

From: Protesilaos Stavrou <[email-masked]>
Date: Sun, 18 Apr 2021 06:35:28 +0300

On 2021-04-17, 22:04 +0100, "Basil L. Contovounesios" <[email-masked]> wrote:

> Protesilaos Stavrou <[email-masked]> writes:
>
>> I have just published a new tagged release for the modus-themes and
>> would like to sync the changes with Emacs.  Note that I now have commit
>> access to emacs.git, though I would prefer if someone could review the
>> attached patch
>
> Thanks, LGTM apart from some minor comments below.  (Feel free to
> address them in a separate patch.)
>
> [...]

Thank you Basil for taking the time to do this!

I attach the revised patch, which now is for version 1.3.2 (tagged it on
my repo).

-- 
Protesilaos Stavrou
protesilaos.com
From e5fd00d268e60432097634ab3920a4917b206cd4 Mon Sep 17 00:00:00 2001
Message-Id: <[email-masked]>
From: Protesilaos Stavrou <[email-masked]>
Date: Sun, 18 Apr 2021 06:30:12 +0300
Subject: [PATCH] Update modus-themes to version 1.3.2

* doc/misc/modus-themes.org (COPYING): Reword to match the phrasing of
other manuals that are distributed with Emacs.

(Install from the archives)
(Sample configuration for use-package)
(Option for more bold constructs)
(Option for more slanted constructs)
(Option for syntax highlighting)
(Option for no font mixing)
(Option for links)
(Option for command prompt styles)
(Option for completion framework aesthetics)
(Option for fringe visibility)
(Option for language checkers)
(Option for org-habit graph styles)
(Option for line numbers (display-line-numbers-mode))
(Option for parenthesis matching (show-paren-mode))
(Option for diff buffer looks)
(Option for scaled headings)
(Option for variable-pitch font in UI elements)
(Option for variable-pitch font in headings)
(Case-by-case face specs using the themes' palette (DIY))
(Face specs at scale using the themes' palette (DIY))
(Font configurations for Org and others (DIY))
(Load theme depending on time of day): Minor markup changes for better
texi output.

(Option for mode line presentation): Document new possible values for
'modus-themes-mode-line'.

(Option for line highlighting (hl-line-mode)): Document new
'modus-themes-hl-line' variable, which supersedes
'modus-themes-intense-hl-line'.

(Option for active region): Document new possible values for
'modus-themes-region'.

(Option for org-mode block styles): Cite variables that affect
fontification.

(Option for the headings' overall style): Include the option of a
per-level nil value.

(Remap face with local value (DIY))
(Override colors (DIY)): Add sections.

(Full support for packages or face groups): Document newly supported packages

(Note for dimmer.el)
(Note for EWW and Elfeed fonts (SHR fonts)): Add notes.

(Acknowledgements): Add names of new contributors.

(GNU Free Documentation License): Add tags for html export.

* etc/themes/modus-operandi-theme.el (File)
* etc/themes/modus-vivendi-theme.el (File): Update to version 1.3.1

* etc/themes/modus-themes.el (modus-themes-operandi-colors)
(modus-themes-vivendi-colors)
(modus-theme-subtle-red)
(modus-themes-subtle-red)
(modus-theme-subtle-green)
(modus-themes-subtle-green)
(modus-theme-subtle-yellow)
(modus-themes-subtle-yellow)
(modus-theme-subtle-blue)
(modus-themes-subtle-blue)
(modus-theme-subtle-magenta)
(modus-themes-subtle-magenta)
(modus-theme-subtle-cyan)
(modus-themes-subtle-cyan)
(modus-theme-subtle-neutral)
(modus-themes-subtle-neutral)
(modus-theme-intense-red)
(modus-themes-intense-red)
(modus-theme-intense-green)
(modus-themes-intense-green)
(modus-theme-intense-yellow)
(modus-themes-intense-yellow)
(modus-theme-intense-blue)
(modus-themes-intense-blue)
(modus-theme-intense-magenta)
(modus-themes-intense-magenta)
(modus-theme-intense-cyan)
(modus-themes-intense-cyan)
(modus-theme-intense-neutral)
(modus-themes-intense-neutral)
(modus-theme-refine-red)
(modus-themes-refine-red)
(modus-theme-refine-green)
(modus-themes-refine-green)
(modus-theme-refine-yellow)
(modus-themes-refine-yellow)
(modus-theme-refine-blue)
(modus-themes-refine-blue)
(modus-theme-refine-magenta)
(modus-themes-refine-magenta)
(modus-theme-refine-cyan)
(modus-themes-refine-cyan)
(modus-theme-active-red)
(modus-themes-active-red)
(modus-theme-active-green)
(modus-themes-active-green)
(modus-theme-active-yellow)
(modus-themes-active-yellow)
(modus-theme-active-blue)
(modus-themes-active-blue)
(modus-theme-active-magenta)
(modus-themes-active-magenta)
(modus-theme-active-cyan)
(modus-themes-active-cyan)
(modus-theme-fringe-red)
(modus-themes-fringe-red)
(modus-theme-fringe-green)
(modus-themes-fringe-green)
(modus-theme-fringe-yellow)
(modus-themes-fringe-yellow)
(modus-theme-fringe-blue)
(modus-themes-fringe-blue)
(modus-theme-fringe-magenta)
(modus-themes-fringe-magenta)
(modus-theme-fringe-cyan)
(modus-themes-fringe-cyan)
(modus-theme-nuanced-red)
(modus-theme-nuanced-green)
(modus-theme-nuanced-yellow)
(modus-theme-nuanced-blue)
(modus-theme-nuanced-magenta)
(modus-theme-nuanced-cyan)
(modus-theme-special-cold)
(modus-theme-special-mild)
(modus-theme-special-warm)
(modus-theme-special-calm)
(modus-theme-diff-added)
(modus-theme-diff-changed)
(modus-theme-diff-removed)
(modus-theme-diff-refine-added)
(modus-theme-diff-refine-changed)
(modus-theme-diff-refine-removed)
(modus-theme-diff-focus-added)
(modus-theme-diff-focus-changed)
(modus-theme-diff-focus-removed)
(modus-theme-diff-heading)
(modus-theme-pseudo-header)
(modus-theme-mark-alt)
(modus-theme-mark-del)
(modus-theme-mark-sel)
(modus-theme-mark-symbol)
(modus-theme-heading-1)
(modus-theme-heading-2)
(modus-theme-heading-3)
(modus-theme-heading-4)
(modus-theme-heading-5)
(modus-theme-heading-6)
(modus-theme-heading-7)
(modus-theme-heading-8)
(modus-theme-hl-line)
(modus-theme-bold)
(modus-theme-slant)
(modus-theme-variable-pitch)
(modus-theme-graph-red-0)
(modus-theme-graph-red-1)
(modus-theme-graph-green-0)
(modus-theme-graph-green-1)
(modus-theme-graph-yellow-0)
(modus-theme-graph-yellow-1)
(modus-theme-graph-blue-0)
(modus-theme-graph-blue-1)
(modus-theme-graph-magenta-0)
(modus-theme-graph-magenta-1)
(modus-theme-graph-cyan-0)
(modus-theme-graph-cyan-1)
(modus-theme-lang-note)
(modus-theme-lang-warning)
(modus-theme-lang-error): Rename all internal faces.

(modus-themes-headings)
(modus-themes-fringes)
(modus-themes-lang-checkers)
(modus-themes-org-blocks)
(modus-themes-org-habit)
(modus-themes-mode-line)
(modus-themes-diffs)
(modus-themes-completions)
(modus-themes-prompts)
(modus-themes-intense-hl-line)
(modus-themes-hl-line)
(modus-themes-paren-match)
(modus-themes-syntax)
(modus-themes-links)
(modus-themes-region): Update defcustom.

(modus-themes--fringe):
(modus-themes--headings-choice):
(modus-themes--prompt):
(modus-themes--org-block-delim):
(modus-themes--mode-line-attrs):
(modus-themes--link):
(modus-themes--region):
(modus-themes--hl-line): Adjustments to internal functions.

(modus-themes-faces): Update faces.
(modus-themes-custom-variables): Update custom variables.
---
 doc/misc/modus-themes.org          |  499 ++++--
 etc/themes/modus-operandi-theme.el |    5 +-
 etc/themes/modus-themes.el         | 2333 +++++++++++++++-------------
 etc/themes/modus-vivendi-theme.el  |    5 +-
 4 files changed, 1682 insertions(+), 1160 deletions(-)

diff --git a/doc/misc/modus-themes.org b/doc/misc/modus-themes.org
index 9764a3467f..001ed57218 100644
--- a/doc/misc/modus-themes.org
+++ b/doc/misc/modus-themes.org
@@ -4,9 +4,9 @@
 #+language: en
 #+options: ':t toc:nil author:t email:t
 
-#+macro: stable-version 1.2.3
-#+macro: release-date 2021-03-05
-#+macro: development-version 1.3.0-dev
+#+macro: stable-version 1.3.2
+#+macro: release-date 2021-04-18
+#+macro: development-version 1.4.0-dev
 #+macro: export-date (eval (format-time-string "%F %R %z" (current-time)))
 #+macro: file @@texinfo:@file{@@$1@@texinfo:}@@
 #+macro: space @@texinfo:@: @@
@@ -46,11 +46,15 @@ * COPYING
 Copyright (C) 2020-2021  Free Software Foundation, Inc.
 
 #+begin_quote
-Permission is granted to copy, distribute and/or modify this
-document under the terms of the GNU Free Documentation License,
-Version 1.3 or any later version published by the Free Software
-Foundation; with no Invariant Sections, with no Front-Cover Texts,
-and with no Back-Cover Texts.
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with the Front-Cover Texts being “A GNU Manual,” and
+with the Back-Cover Texts as in (a) below.  A copy of the license is
+included in the section entitled “GNU Free Documentation License.”
+
+(a) The FSF’s Back-Cover Text is: “You have the freedom to copy and
+modify this GNU manual.”
 #+end_quote
 
 * Overview
@@ -141,7 +145,7 @@ ** Install from the archives
 :custom_id: h:c4b10085-149f-43e2-bd4d-347f33aee054
 :end:
 
-The =modus-themes= package is available from the GNU ELPA archive, which
+The ~modus-themes~ package is available from the GNU ELPA archive, which
 is configured by default.
 
 Prior to querying any package archive, make sure to have updated the
@@ -287,7 +291,8 @@ ** Sample configuration for use-package
   :init
   ;; Add all your customizations prior to loading the themes
   (setq modus-themes-slanted-constructs t
-        modus-themes-bold-constructs nil)
+        modus-themes-bold-constructs nil
+        modus-themes-region 'no-extend)
 
   ;; Load the theme files before enabling a theme (else you get an error).
   (modus-themes-load-themes)
@@ -374,13 +379,13 @@ ** Option for more bold constructs
 
 Possible values:
 
-1. =nil= (default)
-2. =t=
+1. ~nil~ (default)
+2. ~t~
 
 The default is to use a bold typographic weight only when it is
 required.
 
-With a non-nil value (=t=) display several syntactic constructs in bold
+With a non-nil value (~t~) display several syntactic constructs in bold
 weight.  This concerns keywords and other important aspects of code
 syntax.  It also affects certain mode line indicators and command-line
 prompts.
@@ -397,13 +402,13 @@ ** Option for more slanted constructs
 
 Possible values:
 
-1. =nil= (default)
-2. =t=
+1. ~nil~ (default)
+2. ~t~
 
 The default is to not use slanted text (italics) unless it is absolutely
 necessary.
 
-With a non-nil value (=t=) choose to render more faces in slanted text.
+With a non-nil value (~t~) choose to render more faces in slanted text.
 This typically affects documentation strings and code comments.
 
 ** Option for syntax highlighting
@@ -418,7 +423,7 @@ ** Option for syntax highlighting
 
 Possible values:
 
-1. =nil= (default)
+1. ~nil~ (default)
 2. ~faint~
 3. ~yellow-comments~
 4. ~green-strings~
@@ -467,8 +472,8 @@ ** Option for no font mixing
 
 Possible values:
 
-1. =nil= (default)
-2. =t=
+1. ~nil~ (default)
+2. ~t~
 
 By default, the themes configure some spacing-sensitive faces like Org
 tables and code blocks to always inherit from the ~fixed-pitch~ face.
@@ -476,14 +481,14 @@ ** Option for no font mixing
 users opt for a mode that remaps typeface families, such as the built-in
 {{{kbd(M-x variable-pitch-mode)}}}.  Otherwise the layout would appear
 broken, due to how spacing is done.  To disable this behaviour, set the
-option to =t=.
+option to ~t~.
 
 Users may prefer to use another package for handling mixed typeface
 configurations, rather than letting the theme do it, perhaps because a
 purpose-specific package has extra functionality.  Two possible options
 are ~org-variable-pitch~ and ~mixed-pitch~.
 
-[[#h:defcf4fc-8fa8-4c29-b12e-7119582cc929][Font configurations for Org (and others)]].
+[[#h:defcf4fc-8fa8-4c29-b12e-7119582cc929][Font configurations for Org and others]].
 
 ** Option for links
 :properties:
@@ -497,7 +502,7 @@ ** Option for links
 
 Possible values:
 
-1. =nil= (default)
+1. ~nil~ (default)
 2. ~faint~
 3. ~neutral-underline~
 4. ~faint-neutral-underline~
@@ -545,7 +550,7 @@ ** Option for command prompt styles
 
 Possible values:
 
-1. =nil= (default)
+1. ~nil~ (default)
 2. ~subtle-accented~ (~subtle~ exists for backward compatibility)
 3. ~intense-accented~ (~intense~ exists for backward compatibility)
 4. ~subtle-gray~
@@ -577,12 +582,15 @@ ** Option for mode line presentation
 
 Possible values:
 
-1. =nil= (default)
+1. ~nil~ (default)
 2. ~3d~
 3. ~moody~
 4. ~borderless~
 5. ~borderless-3d~
 6. ~borderless-moody~
+7. ~accented~
+8. ~accented-3d~
+9. ~accented-moody~
 
 The default produces a two-dimensional effect both for the active and
 inactive modelines.  The differences between the two are limited to
@@ -612,6 +620,11 @@ ** Option for mode line presentation
 prominent background to them than what their counterparts do (same
 inactive background as with the default).
 
+Similarly, ~accented~, ~accented-3d~, and ~accented-moody~ correspond to the
+default (~nil~), ~3d~, and ~moody~ styles respectively, except that the active
+mode line uses a colored background instead of the standard shade of
+gray.
+
 Note that Moody does not expose any faces that the themes could style
 directly.  Instead it re-purposes existing ones to render its tabs and
 ribbons.  As such, there may be cases where the contrast ratio falls
@@ -624,10 +637,11 @@ ** Option for mode line presentation
 the given construct are too close to each other in terms of color
 distance.  In effect, users would need to experiment with the variable
 ~face-near-same-color-threshold~ to trigger the effect.  We find that a
-value of =45000= will suffice, contrary to the default =30000=.  Do not set
-the value too high, because that would have the adverse effect of always
-overriding the default color (which has been carefully designed to be
-highly accessible).
+value of =45000= will suffice, contrary to the default =30000=.  Though for
+the ~accented-moody~ value mentioned above, that should be raised up to
+=70000=.  Do not set it too high, because it has the adverse effect of
+always overriding the default colors (which have been carefully designed
+to be highly accessible).
 
 Furthermore, because Moody expects an underline and overline instead of
 a box style, it is advised you include this in your setup:
@@ -648,7 +662,7 @@ ** Option for completion framework aesthetics
 
 Possible values:
 
-1. =nil= (default)
+1. ~nil~ (default)
 2. ~moderate~
 3. ~opinionated~
 
@@ -661,7 +675,7 @@ ** Option for completion framework aesthetics
 pattern matching styles like Orderless and Flx.  The latter covers Helm,
 Ivy, and similar.
 
-A value of =nil= will respect the metaphors of each completion framework.
+A value of ~nil~ will respect the metaphors of each completion framework.
 
 Option ~moderate~ applies a combination of background and foreground that
 is fairly subtle.  For Icomplete and friends this constitutes a
@@ -677,7 +691,7 @@ ** Option for completion framework aesthetics
 additional changes to the choice of hues.
 
 To appreciate the scope of this customization option, you should spend
-some time with every one of the =nil= (default), ~moderate~, and ~opinionated~
+some time with every one of the ~nil~ (default), ~moderate~, and ~opinionated~
 possibilities.
 
 ** Option for fringe visibility
@@ -692,7 +706,7 @@ ** Option for fringe visibility
 
 Possible values:
 
-1. =nil= (default)
+1. ~nil~ (default)
 2. ~subtle~
 3. ~intense~
 
@@ -716,7 +730,7 @@ ** Option for language checkers
 
 Possible values:
 
-1. =nil= (default)
+1. ~nil~ (default)
 2. ~subtle-foreground~
 3. ~intense-foreground~
 4. ~straight-underline~
@@ -755,25 +769,50 @@ ** Option for language checkers
 ** Option for line highlighting (hl-line-mode)
 :properties:
 :alt_title: Line highlighting
-:description: Toggle intense style for current line highlighting
+:description: Choose style of current line (hl-line-mode)
 :custom_id: h:1dba1cfe-d079-4c13-a810-f768e8789177
 :end:
-#+vindex: modus-themes-intense-hl-line
+#+vindex: modus-themes-hl-line
 
-Symbol: ~modus-themes-intense-hl-line~
+Symbol: ~modus-themes-hl-line~
 
 Possible values:
 
-1. =nil= (default)
-2. =t=
+1. ~nil~ (default)
+2. ~intense-background~
+3. ~accented-background~
+4. ~underline-neutral~
+5. ~underline-accented~
+6. ~underline-only-neutral~
+7. ~underline-only-accented~
+
+The default is to use a subtle gray background for the current line when
+~hl-line-mode~ is enabled.
+
+The ~intense-background~ applies a more prominent gray to the background
+of the current line.
+
+With ~accented-background~ the default's subtle aesthetic is retained, but
+the background has a more colored hint.
+
+The ~underline-neutral~ combines the default subtle neutral background
+with a gray underline.
 
-The default is to use a subtle gray background for ~hl-line-mode~ and its
-global equivalent.
+Similarly, the ~underline-accented~ renders the background of the current
+line in a subtle colored background, while it also draws an accented
+underline.
 
-With a non-nil value (=t=) use a more prominent background color instead.
+Option ~underline-only-neutral~ produces a neutral underline, but does not
+use any background.
 
-This affects several packages that enable ~hl-line-mode~, such as =elfeed=
-and =mu4e=.
+While ~underline-only-accented~ also uses just an underline, only this one
+is colored.
+
+Consider setting the variable ~x-underline-at-descent-line~ to a non-nil
+value for better results with underlines.
+
+This style affects several packages that enable ~hl-line-mode~, such as
+=elfeed= and =mu4e=.
 
 ** Option for line numbers (display-line-numbers-mode)
 :properties:
@@ -787,8 +826,8 @@ ** Option for line numbers (display-line-numbers-mode)
 
 Possible value:
 
-1. =nil= (default)
-2. =t=
+1. ~nil~ (default)
+2. ~t~
 
 The default style for ~display-line-numbers-mode~ and its global variant
 is to apply a subtle gray background to the line numbers.  The current
@@ -799,7 +838,7 @@ ** Option for line numbers (display-line-numbers-mode)
 counterpart ~display-line-numbers-minor-tick~ use appropriate styles that
 involve a bespoke background and foreground combination.
 
-With a non-nil value (=t=), line numbers have no background of their own.
+With a non-nil value (~t~), line numbers have no background of their own.
 Instead they retain the primary background of the theme, blending with
 the rest of the buffer.  Foreground values for all relevant faces are
 updated to accommodate this aesthetic.
@@ -816,7 +855,7 @@ ** Option for parenthesis matching (show-paren-mode)
 
 Possible values:
 
-1. =nil= (default)
+1. ~nil~ (default)
 2. ~subtle-bold~
 3. ~intense~
 4. ~intense-bold~
@@ -847,10 +886,12 @@ ** Option for active region
 
 Possible values:
 
-1. =nil= (default)
+1. ~nil~ (default)
 2. ~no-extend~
 3. ~bg-only~
 4. ~bg-only-no-extend~
+5. ~accent~
+6. ~accent-no-extend~
 
 Nil means to only use a prominent gray background with a neutral
 foreground.  The foreground overrides all syntax highlighting.  The
@@ -866,6 +907,11 @@ ** Option for active region
 Option ~bg-only-no-extend~ is a combination of the ~bg-only~ and ~no-extend~
 options.
 
+Option ~accent~ is like the default, though it uses a more colorful
+background, while ~accent-no-extend~ is the same except it draws the
+region only up to the end of each line instead of extending to the edge
+of the window.
+
 ** Option for diff buffer looks
 :properties:
 :alt_title: Diffs
@@ -878,7 +924,7 @@ ** Option for diff buffer looks
 
 Possible values:
 
-1. =nil= (default)
+1. ~nil~ (default)
 2. ~desaturated~
 3. ~fg-only~
 4. ~bg-only~
@@ -935,7 +981,7 @@ ** Option for org-mode block styles
 
 Possible values:
 
-1. =nil= (default)
+1. ~nil~ (default)
 2. ~grayscale~
 3. ~rainbow~
 
@@ -960,6 +1006,9 @@ ** Option for org-mode block styles
 Or start typing in each code block (inefficient at scale, but it still
 works).
 
+The extent of Org block delimiter lines is controlled by the variable
+~org-fontify-whole-block-delimiter-line~.
+
 ** Option for org-habit graph styles
 :properties:
 :alt_title: Org agenda habits
@@ -972,7 +1021,7 @@ ** Option for org-habit graph styles
 
 Possible values:
 
-1. =nil= (default)
+1. ~nil~ (default)
 2. ~simplified~
 3. ~traffic-light~
 
@@ -1014,11 +1063,10 @@ ** Option for the headings' overall style
 
 Symbol: ~modus-themes-headings~
 
-Possible values, which can be specified for each heading level (examples
-further below):
+Possible values, which can be specified for each heading level N
+(examples further below):
 
-+ nil (default fallback option---covers all heading levels)
-+ =t= (default style for a single heading, when the fallback differs)
++ ~nil~ (~t~ is also available for backward compatibility)
 + ~no-bold~
 + ~line~
 + ~line-no-bold~
@@ -1058,19 +1106,19 @@ ** Option for the headings' overall style
       '((t . section)))
 
 ;; Default aesthetic for every heading
-(setq modus-themes-headings
-      '())
+(setq modus-themes-headings nil)
 #+end_src
 
 The default style for headings uses a fairly desaturated foreground
-value in combination with bold typographic weight.  To specify this
+color in combination with bold typographic weight.  To specify this
 style for a given level N, assuming you wish to have another fallback
-option, just specify the value =t= like this:
+option, just assign the value ~nil~ like this:
 
 #+begin_src emacs-lisp
 (setq modus-themes-headings
-      '((1 . t)
+      '((1 . nil)
         (2 . line)
+        (3) ; same as nil
         (t . rainbow-line-no-bold)))
 #+end_src
 
@@ -1122,6 +1170,9 @@ ** Option for the headings' overall style
 
 + ~no-color-no-bold~ is like ~no-color~ but without the bold weight.
 
+Remember to also inspect relevant variables that Org provides, such as:
+~org-fontify-whole-heading-line~ and ~org-fontify-done-headline~.
+
 ** Option for scaled headings
 :properties:
 :alt_title: Scaled headings
@@ -1134,12 +1185,12 @@ ** Option for scaled headings
 
 Possible values:
 
-1. =nil= (default)
-2. =t=
+1. ~nil~ (default)
+2. ~t~
 
 The default is to use the same size for headings and paragraph text.
 
-With a non-nil value (=t=) make headings larger in height relative to the
+With a non-nil value (~t~) make headings larger in height relative to the
 main text.  This is noticeable in modes like Org, Markdown, and Info.
 
 *** Control the scale of headings
@@ -1217,8 +1268,8 @@ ** Option for variable-pitch font in UI elements
 
 Possible values:
 
-1. =nil= (default)
-2. =t=
+1. ~nil~ (default)
+2. ~t~
 
 This option concerns User Interface elements that are under the direct
 control of Emacs.  In particular: the mode line, header line, tab bar,
@@ -1227,7 +1278,7 @@ ** Option for variable-pitch font in UI elements
 The default is to use the same font as the rest of Emacs, which usually
 is a monospaced family.
 
-With a non-nil value (=t=) apply a proportionately spaced typeface.  This
+With a non-nil value (~t~) apply a proportionately spaced typeface.  This
 is done by assigning the ~variable-pitch~ face to the relevant items.
 
 [[#h:defcf4fc-8fa8-4c29-b12e-7119582cc929][Font configurations for Org and others]].
@@ -1244,13 +1295,13 @@ ** Option for variable-pitch font in headings
 
 Possible values:
 
-1. =nil= (default)
-2. =t=
+1. ~nil~ (default)
+2. ~t~
 
 The default is to use the main font family, which typically is
 monospaced.
 
-With a non-nil value (=t=) apply a proportionately spaced typeface, else
+With a non-nil value (~t~) apply a proportionately spaced typeface, else
 "variable-pitch", to headings (such as in Org mode).
 
 [[#h:defcf4fc-8fa8-4c29-b12e-7119582cc929][Font configurations for Org and others]].
@@ -1357,7 +1408,7 @@ ** Case-by-case face specs using the themes' palette (DIY)
 
 If you evaluate this form, your cursor will become blue.  But if you
 change themes, such as with ~modus-themes-toggle~, your edits will be
-lost, because the newly loaded theme will override the =:background=
+lost, because the newly loaded theme will override the ~:background~
 attribute you had assigned to that face.
 
 For such changes to persist, we need to make them after loading the
@@ -1458,7 +1509,7 @@ ** Face specs at scale using the themes' palette (DIY)
 most likely interested in is how to use those variables to configure
 several faces at once.  To do so we can rely on the built-in
 ~custom-set-faces~ function, which sets face specifications for the
-special =user= theme.  That "theme" gets applied on top of regular themes
+special ~user~ theme.  That "theme" gets applied on top of regular themes
 like ~modus-operandi~ and ~modus-vivendi~.
 
 This is how it works:
@@ -1502,7 +1553,7 @@ ** Face specs at scale using the themes' palette (DIY)
 [[#h:86f6906b-f090-46cc-9816-1fe8aeb38776][A theme-agnostic hook for theme loading]].
 
 To discover the faces defined by all loaded libraries, you may do
-{{{kbd(M-x list-faces-display)}}}.  Be warned that when you =:inherit= a face
+{{{kbd(M-x list-faces-display)}}}.  Be warned that when you ~:inherit~ a face
 you are introducing an implicit dependency, so try to avoid doing so for
 libraries other than the built-in {{{file(faces.el)}}} (or at least understand
 that things may break if you inherit from a yet-to-be-loaded face).
@@ -1524,6 +1575,68 @@ ** Face specs at scale using the themes' palette (DIY)
    ...))
 #+end_src
 
+** Remap face with local value (DIY)
+:properties:
+:custom_id: h:7a93cb6f-4eca-4d56-a85c-9dcd813d6b0f
+:end:
+#+cindex: Remapping faces
+
+There are cases where we need to change the buffer-local attributes of a
+face.  This might be because we have our own minor mode that re-uses a
+face for a particular purpose, such as a line selection tool that
+activates ~hl-line-mode~, but we wish to keep it distinct from other
+buffers.  This is where ~face-remap-add-relative~ can be applied and may
+be combined with ~modus-themes-with-colors~ to deliver consistent results.
+
+[[#h:51ba3547-b8c8-40d6-ba5a-4586477fd4ae][Face specs at scale using the themes' palette (DIY)]].
+
+In this example we will write a simple interactive function that adjusts
+the background color of the ~region~ face.  This is the sample code:
+
+#+begin_src emacs-lisp
+(defvar my-rainbow-region-colors
+  (modus-themes-with-colors
+    `((red . ,red-subtle-bg)
+      (green . ,green-subtle-bg)
+      (yellow . ,yellow-subtle-bg)
+      (blue . ,blue-subtle-bg)
+      (magenta . ,magenta-subtle-bg)
+      (cyan . ,cyan-subtle-bg)))
+  "Sample list of color values for `my-rainbow-region'.")
+
+(defun my-rainbow-region (color)
+  "Remap buffer-local attribute of `region' using COLOR."
+  (interactive
+   (list
+    (completing-read "Pick a color: " my-rainbow-region-colors)))
+  (face-remap-add-relative
+   'region
+   `( :background ,(alist-get (intern color) my-rainbow-region-colors)
+      :foreground ,(face-attribute 'default :foreground))))
+#+end_src
+
+When ~my-rainbow-region~ is called interactively, it prompts for a color
+to use.  The list of candidates is drawn from the car of each
+association in ~my-rainbow-region-colors~ (so "red", "green", etc.).
+
+To extend this principle, we may write wrapper functions that pass a
+color directly.  Those can be useful in tandem with hooks.  Consider
+this example:
+
+#+begin_src emacs-lisp
+(defun my-rainbow-region-magenta ()
+  (my-rainbow-region 'magenta))
+
+(add-hook 'diff-mode-hook #'my-rainbow-region-magenta)
+#+end_src
+
+Whenever we enter a ~diff-mode~ buffer, we now get a magenta-colored
+region.
+
+Perhaps you may wish to generalise those findings in to a set of
+functions that also accept an arbitrary face.  We shall leave the
+experimentation up to you.
+
 ** Override colors (DIY)
 :properties:
 :custom_id: h:307d95dd-8dbd-4ece-a543-10ae86f155a6
@@ -1627,16 +1740,89 @@ ** Override colors (DIY)
 Given that this is a user-level customisation, one is free to implement
 whatever color values they desire, even if the possible combinations
 fall below the minimum 7:1 contrast ratio that governs the design of the
-themes (the WCAG AAA legibility standard).  Preferences aside, it is
-advised to inspect the source code of ~modus-themes-operandi-colors~ and
-~modus-themes-vivendi-colors~ to read the inline commentary: it explains
-what the intended use of each palette subset is.
+themes (the WCAG AAA legibility standard).  Alternatively, this can also
+be done programmatically ([[#h:4589acdc-2505-41fc-9f5e-699cfc45ab00][Override color saturation]]).
+
+For manual interventions it is advised to inspect the source code of
+~modus-themes-operandi-colors~ and ~modus-themes-vivendi-colors~ for the
+inline commentary: it explains what the intended use of each palette
+subset is.
 
 Furthermore, users may benefit from the ~modus-themes-contrast~ function
 that we provide: [[#h:02e25930-e71a-493d-828a-8907fc80f874][test color combinations]].  It measures the contrast
 ratio between two color values, so it can help in overriding the palette
 (or a subset thereof) without making the end result inaccessible.
 
+** Override color saturation (DIY)
+:properties:
+:custom_id: h:4589acdc-2505-41fc-9f5e-699cfc45ab00
+:end:
+#+cindex: Change a theme's color saturation
+
+In the previous section we documented how one can override color values
+manually ([[#h:307d95dd-8dbd-4ece-a543-10ae86f155a6][Override colors]]).  Here we use a programmatic approach which
+leverages the built-in ~color-saturate-name~ function to adjust the
+saturation of all color values used by the active Modus theme.  Our goal
+is to prepare a counterpart of the active theme's palette that holds
+modified color values, adjusted for a percent change in saturation.  A
+positive number amplifies the effect, while a negative one will move
+towards a grayscale spectrum.
+
+We start with a function that can be either called from Lisp or invoked
+interactively.  In the former scenario, we pass to it the rate of change
+we want.  While in the latter, a minibuffer prompt asks for a number to
+apply the desired effect.  In either case, we intend to assign anew the
+value of ~modus-themes-operandi-color-overrides~ (light theme) and the
+same for ~modus-themes-vivendi-color-overrides~ (dark theme).
+
+#+begin_src emacs-lisp
+(defun my-modus-themes-saturate (percent)
+  "Saturate current Modus theme palette overrides by PERCENT."
+  (interactive
+   (list (read-number "Saturation by percent: ")))
+  (let* ((theme (modus-themes--current-theme))
+         (palette (pcase theme
+                    ('modus-operandi modus-themes-operandi-colors)
+                    ('modus-vivendi modus-themes-vivendi-colors)
+                    (_ (error "No Modus theme is active"))))
+         (overrides (pcase theme
+                      ('modus-operandi 'modus-themes-operandi-color-overrides)
+                      ('modus-vivendi 'modus-themes-vivendi-color-overrides)
+                      (_ (error "No Modus theme is active")))))
+    (let (name cons colors)
+      (dolist (cons palette)
+        (setq name (color-saturate-name (cdr cons) percent))
+        (setq name (format "%s" name))
+        (setq cons `(,(car cons) . ,name))
+        (push cons colors))
+      (set overrides colors))
+    (pcase theme
+      ('modus-operandi (modus-themes-load-operandi))
+      ('modus-vivendi (modus-themes-load-vivendi)))))
+
+;; sample Elisp calls (or call `my-modus-themes-saturate' interactively)
+(my-modus-themes-saturate 50)
+(my-modus-themes-saturate -75)
+#+end_src
+
+Using the above has an immediate effect, as it reloads the active Modus
+theme.
+
+To disable the effect, one must reset the aforementioned variables to
+~nil~.  Or specify a command for it, such as by taking inspiration from
+the ~modus-themes-toggle~ we already provide:
+
+#+begin_src emacs-lisp
+(defun my-modus-themes-revert-overrides ()
+  "Reset palette overrides and reload active Modus theme."
+  (interactive)
+  (setq modus-themes-operandi-color-overrides nil
+        modus-themes-vivendi-color-overrides nil)
+  (pcase (modus-themes--current-theme)
+    ('modus-operandi (modus-themes-load-operandi))
+    ('modus-vivendi (modus-themes-load-vivendi))))
+#+end_src
+
 ** Font configurations for Org and others (DIY)
 :properties:
 :custom_id: h:defcf4fc-8fa8-4c29-b12e-7119582cc929
@@ -1677,9 +1863,9 @@ ** Font configurations for Org and others (DIY)
 (set-face-attribute 'fixed-pitch nil :family "DejaVu Sans Mono" :height 1.0)
 #+end_src
 
-Note the differences in the =:height= property.  The =default= face must
+Note the differences in the ~:height~ property.  The ~default~ face must
 specify an absolute value, which is the point size × 10.  So if you want
-to use a font at point size =11=, you set the height to =110=.[fn:: =:height=
+to use a font at point size =11=, you set the height to =110=.[fn:: ~:height~
 values do not need to be rounded to multiples of ten: the likes of =115=
 are perfectly valid—some typefaces will change to account for those
 finer increments.]  Whereas every other face must have a value that is
@@ -1689,6 +1875,8 @@ ** Font configurations for Org and others (DIY)
 something like the ~text-scale-adjust~ command which only operates on the
 base font size (i.e. the ~default~ face's absolute height).
 
+[[#h:e6c5451f-6763-4be7-8fdb-b4706a422a4c][Note for EWW and Elfeed fonts (SHR fonts)]].
+
 ** Custom Org user faces (DIY)
 :properties:
 :custom_id: h:89f0678d-c5c3-4a57-a526-668b2bb2d7ad
@@ -1871,6 +2059,68 @@ ** Load theme depending on time of day
   (circadian-setup))
 #+end_src
 
+** Backdrop for pdf-tools (DIY)
+:properties:
+:custom_id: h:ff69dfe1-29c0-447a-915c-b5ff7c5509cd
+:end:
+#+cindex: Remapping pdf-tools backdrop
+
+Most PDF files use a white background for their page, making it
+impossible to discern the file's boundaries in the buffer while using
+the Modus Operandi theme.  To introduce a distinction between the
+buffer's backdrop and the PDF page's background, the former must be
+rendered as some shade of gray.  Ideally, ~pdf-tools~ would provide a face
+that the themes could support directly, though this does not seem to be
+the case for the time being.  We must thus employ the face remapping
+technique that is documented elsewhere in this document to change the
+buffer-local value of the ~default~ face.
+
+[[#h:7a93cb6f-4eca-4d56-a85c-9dcd813d6b0f][Remap face with local value (DIY)]].
+
+To remap the buffer's backdrop, we start with a function like this one:
+
+#+begin_src emacs-lisp
+(defun my-pdf-tools-backdrop ()
+  (face-remap-add-relative
+   'default
+   `(:background ,(modus-themes-color 'bg-alt))))
+
+(add-hook 'pdf-tools-enabled-hook #'my-pdf-tools-backdrop)
+#+end_src
+
+The idea is to assign that function to a hook that gets called when
+~pdf-tools~ renders the document: ~pdf-tools-enabled-hook~.  This is enough
+when you only use one theme.  However it has the downside of setting the
+background color value only at render time.  In other words, the face
+remapping function does not get evaluated anew whenever the theme
+changes, such as upon invoking {{{kbd(M-x modus-themes-toggle)}}}.
+
+To have our face remapping adapt gracefully while switching between the
+Modus themes, we need to also account for the current theme and control
+the activation of ~pdf-view-midnight-minor-mode~.  To which end we arrive
+at something like the following, which builds on the above example:
+
+#+begin_src emacs-lisp
+(defun my-pdf-tools-backdrop ()
+  (face-remap-add-relative
+   'default
+   `(:background ,(modus-themes-color 'bg-alt))))
+
+(defun my-pdf-tools-midnight-mode-toggle ()
+  (when (derived-mode-p 'pdf-view-mode)
+    (if (eq (car custom-enabled-themes) 'modus-vivendi)
+        (pdf-view-midnight-minor-mode 1)
+      (pdf-view-midnight-minor-mode -1))
+    (my-pdf-tools-backdrop)))
+
+(add-hook 'pdf-tools-enabled-hook #'my-pdf-tools-midnight-mode-toggle)
+(add-hook 'modus-themes-after-load-theme-hook #'my-pdf-tools-midnight-mode-toggle)
+#+end_src
+
+With those in place, PDFs have a distinct backdrop for their page, while
+they automatically switch to their dark mode when ~modus-themes-toggle~ is
+called from inside a buffer whose major-mode is ~pdf-view-mode~.
+
 ** A theme-agnostic hook for theme loading (DIY)
 :properties:
 :custom_id: h:86f6906b-f090-46cc-9816-1fe8aeb38776
@@ -1976,6 +2226,7 @@ ** Full support for packages or face groups
 + compilation-mode
 + completions
 + consult
++ corfu
 + counsel*
 + counsel-css
 + counsel-notmuch
@@ -2018,8 +2269,9 @@ ** Full support for packages or face groups
 + eldoc-box
 + elfeed
 + elfeed-score
++ embark
 + emms
-+ enhanced-ruby-mode
++ enh-ruby-mode (enhanced-ruby-mode)
 + epa
 + equake
 + erc
@@ -2149,6 +2401,7 @@ ** Full support for packages or face groups
 + outline-minor-faces
 + package (what you get with {{{kbd(M-x list-packages)}}})
 + page-break-lines
++ pandoc-mode
 + paradox
 + paren-face
 + parrot
@@ -2206,7 +2459,11 @@ ** Full support for packages or face groups
 + sx
 + symbol-overlay
 + syslog-mode
++ tab-bar-groups
++ tab-bar-mode
++ tab-line-mode
 + table (built-in table.el)
++ telega
 + telephone-line
 + terraform-mode
 + term
@@ -2221,6 +2478,7 @@ ** Full support for packages or face groups
 + vc (built-in mode line status for version control)
 + vc-annotate (the out put of {{{kbd(C-x v g)}}})
 + vdiff
++ vertico
 + vimish-fold
 + visible-mark
 + visual-regexp
@@ -2274,6 +2532,42 @@ * Notes for individual packages
 This section covers information that may be of interest to users of
 individual packages.
 
+** Note for dimmer.el
+:properties:
+:custom_id: h:8eb4b758-d318-4480-9ead-357a571beb93
+:end:
+
+The {{{file(dimmer.el)}}} library by Neil Okamoto can be configured to
+automatically dim the colors of inactive Emacs windows.  To guarantee
+consistent results with the Modus themes, we suggest some tweaks to the
+default styles, such as in this minimal setup:
+
+#+begin_src emacs-lisp
+(use-package dimmer
+  :config
+  (setq dimmer-fraction 0.3)
+  (setq dimmer-adjustment-mode :foreground)
+  (setq dimmer-use-colorspace :rgb)
+
+  (dimmer-mode 1))
+#+end_src
+
+Of the above, we strongly recommend the RGB color space because it is
+the one that remains faithful to the hueness of the colors used by the
+themes.  Whereas the default CIELAB space has a tendency to distort
+colors in addition to applying the dim effect, which can be somewhat
+disorienting.
+
+The value of the ~dimmer-fraction~ has been selected empirically.  Users
+might prefer to tweak it further (increasing it makes the dim effect
+more pronounced).
+
+Changing the ~dimmer-adjustment-mode~ is a matter of preference.  Though
+because the Modus themes use black and white as their base colors, any
+other value for that variable will turn the main background gray.  This
+inadvertently leads to the opposite of the intended utility of this
+package: it draws too much attention to unfocused windows.
+
 ** Note for display-fill-column-indicator-mode
 :properties:
 :custom_id: h:2a602816-bc1b-45bf-9675-4cbbd7bf6cab
@@ -2521,6 +2815,21 @@ ** Note on SHR colors
 
 Consult {{{kbd(C-h v shr-use-colors)}}}.
 
+
+** Note for EWW and Elfeed fonts (SHR fonts)
+:properties:
+:custom_id: h:e6c5451f-6763-4be7-8fdb-b4706a422a4c
+:end:
+
+EWW and Elfeed rely on the Simple HTML Renderer to display their
+content.  The {{{file(shr.el)}}} library contains the variable ~shr-use-fonts~
+that controls whether the text in the buffer is set to a ~variable-pitch~
+typeface (proportionately spaced) or if just retains whatever the
+default font family is.  Its default value is non-nil, which means that
+~variable-pitch~ is applied.
+
+[[#h:defcf4fc-8fa8-4c29-b12e-7119582cc929][Font configurations for Org and others]].
+
 ** Note for Helm grep
 :properties:
 :custom_id: h:d28879a2-8e4b-4525-986e-14c0f873d229
@@ -2748,26 +3057,28 @@ * Acknowledgements
 
 + Contributions to code or documentation :: Anders Johansson, Basil
   L.{{{space()}}} Contovounesios, Carlo Zancanaro, Eli Zaretskii, Kostadin
-  Ninev, Madhavan Krishnan, Markus Beppler, Matthew Stevenson, Nicolas
-  De Jaeghere, Shreyas Ragavan, Stefan Kangas, Vincent Murphy, Xinglu
-  Chen.
+  Ninev, Madhavan Krishnan, Markus Beppler, Matthew Stevenson, Mauro
+  Aranda, Nicolas De Jaeghere, Shreyas Ragavan, Stefan Kangas, Vincent
+  Murphy, Xinglu Chen.
 
 + Ideas and user feedback :: Aaron Jensen, Adam Spiers, Adrian Manea,
   Alex Griffin, Alex Peitsinis, Alexey Shmalko, Alok Singh, Anders
   Johansson, André Alexandre Gomes, Arif Rezai, Basil L.{{{space()}}}
   Contovounesios, Burgess Chang, Christian Tietze, Christopher Dimech,
   Damien Cassou, Daniel Mendler, Dario Gjorgjevski, David Edmondson,
-  Davor Rotim, Divan Santana, Gerry Agbobada, Gianluca Recchia, Gustavo
-  Barros, Hörmetjan Yiltiz, Ilja Kocken, Iris Garcia, Jeremy Friesen,
-  John Haman, Joshua O'Connor, Kevin Fleming, Kostadin Ninev, Len Trigg,
-  Manuel Uberti, Mark Burton, Markus Beppler, Michael Goldenberg, Morgan
-  Smith, Murilo Pereira, Nicolas De Jaeghere, Paul Poloskov, Pete
-  Kazmier, Peter Wu, Philip K., Pierre Téchoueyres, Roman Rudakov, Ryan
-  Phillips, Sam Kleinman, Shreyas Ragavan, Simon Pugnet, Tassilo Horn,
-  Thibaut Verron, Trey Merkley, Togan Muftuoglu, Toon Claes, Uri Sharf,
-  Utkarsh Singh, Vincent Foley.  As well as users: Ben, CsBigDataHub1,
-  Emacs Contrib, Eugene, Fourchaux, Fredrik, Moesasji, Nick, TheBlob42,
-  bepolymathe, doolio, fleimgruber, iSeeU, jixiuf, okamsn.
+  Davor Rotim, Divan Santana, Emanuele Michele Alberto Monterosso,
+  Farasha Euker, Gerry Agbobada, Gianluca Recchia, Gustavo Barros,
+  Hörmetjan Yiltiz, Ilja Kocken, Iris Garcia, Jeremy Friesen, John
+  Haman, Joshua O'Connor, Kevin Fleming, Kévin Le Gouguec, Kostadin
+  Ninev, Len Trigg, Manuel Uberti, Mark Burton, Markus Beppler, Mauro
+  Aranda, Michael Goldenberg, Morgan Smith, Murilo Pereira, Nicky van
+  Foreest, Nicolas De Jaeghere, Paul Poloskov, Pete Kazmier, Peter Wu,
+  Philip K., Pierre Téchoueyres, Roman Rudakov, Ryan Phillips, Sam
+  Kleinman, Shreyas Ragavan, Simon Pugnet, Tassilo Horn, Thibaut Verron,
+  Trey Merkley, Togan Muftuoglu, Toon Claes, Uri Sharf, Utkarsh Singh,
+  Vincent Foley.  As well as users: Ben, CsBigDataHub1, Emacs Contrib,
+  Eugene, Fourchaux, Fredrik, Moesasji, Nick, TheBlob42, Trey,
+  bepolymathe, doolio, fleimgruber, iSeeU, jixiuf, okamsn, pRot0ta1p.
 
 + Packaging :: Basil L.{{{space()}}} Contovounesios, Eli Zaretskii, Glenn
   Morris, Mauro Aranda, Richard Stallman, Stefan Kangas (core Emacs),
@@ -2819,6 +3130,7 @@ * GNU Free Documentation License
 #+texinfo: @include doclicense.texi
 
 #+begin_export html
+<pre>
 
                 GNU Free Documentation License
                  Version 1.3, 3 November 2008
@@ -3270,6 +3582,7 @@ * GNU Free Documentation License
 recommend releasing these examples in parallel under your choice of
 free software license, such as the GNU General Public License,
 to permit their use in free software.
+</pre>
 #+end_export
 
 #+html: <!--
diff --git a/etc/themes/modus-operandi-theme.el b/etc/themes/modus-operandi-theme.el
index 64763a1682..77c2e1198c 100644
--- a/etc/themes/modus-operandi-theme.el
+++ b/etc/themes/modus-operandi-theme.el
@@ -4,7 +4,7 @@ ;;; modus-operandi-theme.el --- Accessible light theme (WCAG AAA) -*- lexical-bi
 
 ;; Author: Protesilaos Stavrou <[email-masked]>
 ;; URL: https://gitlab.com/protesilaos/modus-themes
-;; Version: 1.2.3
+;; Version: 1.3.2
 ;; Package-Requires: ((emacs "26.1"))
 ;; Keywords: faces, theme, accessibility
 
@@ -52,6 +52,9 @@ ;;; Code:
 
 (eval-and-compile
   (unless (and (fboundp 'require-theme)
+               load-file-name
+               (equal (file-name-directory load-file-name)
+                      (expand-file-name "themes/" data-directory))
                (require-theme 'modus-themes t))
     (require 'modus-themes)))
 
diff --git a/etc/themes/modus-themes.el b/etc/themes/modus-themes.el
index ad2070766a..08e634e10d 100644
--- a/etc/themes/modus-themes.el
+++ b/etc/themes/modus-themes.el
@@ -4,7 +4,8 @@ ;;; modus-themes.el --- Highly accessible themes (WCAG AAA) -*- lexical-binding:
 
 ;; Author: Protesilaos Stavrou <[email-masked]>
 ;; URL: https://gitlab.com/protesilaos/modus-themes
-;; Version: 1.2.4
+;; Version: 1.3.2
+;; Last-Modified: <2021-04-18 06:25:05 +0300>
 ;; Package-Requires: ((emacs "26.1"))
 ;; Keywords: faces, theme, accessibility
 
@@ -50,7 +51,7 @@ ;;; Commentary:
 ;;     modus-themes-mode-line                      (choice)
 ;;     modus-themes-diffs                          (choice)
 ;;     modus-themes-syntax                         (choice)
-;;     modus-themes-intense-hl-line                (boolean)
+;;     modus-themes-hl-line                        (choice)
 ;;     modus-themes-subtle-line-numbers            (boolean)
 ;;     modus-themes-paren-match                    (choice)
 ;;     modus-themes-region                         (choice)
@@ -112,6 +113,7 @@ ;;; Commentary:
 ;;     compilation-mode
 ;;     completions
 ;;     consult
+;;     corfu
 ;;     counsel
 ;;     counsel-css
 ;;     counsel-notmuch
@@ -155,8 +157,9 @@ ;;; Commentary:
 ;;     eldoc-box
 ;;     elfeed
 ;;     elfeed-score
+;;     embark
 ;;     emms
-;;     enhanced-ruby-mode
+;;     enh-ruby-mode (enhanced-ruby-mode)
 ;;     epa
 ;;     equake
 ;;     erc
@@ -284,6 +287,7 @@ ;;; Commentary:
 ;;     outline-minor-faces
 ;;     package (M-x list-packages)
 ;;     page-break-lines
+;;     pandoc-mode
 ;;     paradox
 ;;     paren-face
 ;;     parrot
@@ -339,10 +343,12 @@ ;;; Commentary:
 ;;     swoop
 ;;     sx
 ;;     symbol-overlay
+;;     syslog-mode
+;;     tab-bar-groups
 ;;     tab-bar-mode
 ;;     tab-line-mode
-;;     syslog-mode
 ;;     table (built-in table.el)
+;;     telega
 ;;     telephone-line
 ;;     terraform-mode
 ;;     term
@@ -357,6 +363,7 @@ ;;; Commentary:
 ;;     vc (built-in mode line status for version control)
 ;;     vc-annotate (C-x v g)
 ;;     vdiff
+;;     vertico
 ;;     vimish-fold
 ;;     visible-mark
 ;;     visual-regexp
@@ -389,7 +396,7 @@ ;;; Commentary:
 ;;; News:
 ;;
 ;; Users updating from older versions to >= 1.0.0, are advised to read
-;; the anouncement on the emacs-devel mailing list:
+;; the announcement on the emacs-devel mailing list:
 ;; <https://lists.gnu.org/archive/html/emacs-devel/2021-03/msg00300.html>.
 ;;
 ;; The web page of the change log is also available:
@@ -434,9 +441,11 @@ (defconst modus-themes-operandi-colors
     (bg-alt . "#f0f0f0") (fg-alt . "#505050")
     ;; specifically for on/off states and must be combined with
     ;; themselves, though the backgrounds are also meant to be used with
-    ;; other "active" values, defined further below
+    ;; other "active" values, defined further below; bg-active-accent
+    ;; can work as a substitute for bg-active
     (bg-active . "#d7d7d7") (fg-active . "#0a0a0a")
     (bg-inactive . "#efefef") (fg-inactive . "#404148")
+    (bg-active-accent . "#d0d6ff")
     ;; these special values are intended as alternatives to the base
     ;; values for cases where we need to avoid confusion between the
     ;; highlighted constructs; they must either be used as pairs based
@@ -496,20 +505,20 @@ (defconst modus-themes-operandi-colors
     ;; those foregrounds are meant exclusively for bg-active, bg-inactive
     (red-active . "#8a0000")
     (green-active . "#004c2e")
-    (yellow-active . "#702d1f")
+    (yellow-active . "#702f00")
     (blue-active . "#0030b4")
     (magenta-active . "#5c2092")
     (cyan-active . "#003f8a")
     ;; the "subtle" values below be combined with fg-dim, while the
     ;; "intense" should be paired with fg-main
     (red-subtle-bg . "#f2b0a2")
-    (red-intense-bg . "#ff8892")
+    (red-intense-bg . "#ff9f9f")
     (green-subtle-bg . "#aecf90")
     (green-intense-bg . "#5ada88")
     (yellow-subtle-bg . "#e4c340")
     (yellow-intense-bg . "#f5df23")
     (blue-subtle-bg . "#b5d0ff")
-    (blue-intense-bg . "#6aaeff")
+    (blue-intense-bg . "#77baff")
     (magenta-subtle-bg . "#f0d3ff")
     (magenta-intense-bg . "#d5baff")
     (cyan-subtle-bg . "#c0efff")
@@ -544,7 +553,7 @@ (defconst modus-themes-operandi-colors
     (red-refine-bg . "#ffcccc") (red-refine-fg . "#780000")
     (green-refine-bg . "#aceaac") (green-refine-fg . "#004c00")
     (yellow-refine-bg . "#fff29a") (yellow-refine-fg . "#604000")
-    (blue-refine-bg . "#8ac7ff") (blue-refine-fg . "#002288")
+    (blue-refine-bg . "#8fcfff") (blue-refine-fg . "#002f88")
     (magenta-refine-bg . "#ffccff") (magenta-refine-fg . "#770077")
     (cyan-refine-bg . "#8eecf4") (cyan-refine-fg . "#004850")
     ;; the "nuanced" backgrounds can be combined with all of the above
@@ -563,22 +572,22 @@ (defconst modus-themes-operandi-colors
     ;; work with all accents that cover those two, plus bg-main
     ;;
     ;; bg-hl-alt and bg-hl-alt-intense should only be used when no
-    ;; other greyscale or fairly neutral background is available to
+    ;; other grayscale or fairly neutral background is available to
     ;; properly draw attention to a given construct
     ;;
     ;; bg-header is between bg-active and bg-inactive, so it
     ;; can be combined with any of the "active" values, plus the
     ;; "special" and base foreground colors
     ;;
-    ;; bg-paren-match, bg-paren-match-intense, bg-region and
-    ;; bg-tab-active must be combined with fg-main, while
-    ;; bg-tab-inactive should be combined with fg-dim, whereas
+    ;; bg-paren-match, bg-paren-match-intense, bg-region,
+    ;; bg-region-accent and bg-tab-active must be combined with fg-main,
+    ;; while bg-tab-inactive should be combined with fg-dim, whereas
     ;; bg-tab-inactive-alt goes together with fg-main
     ;;
     ;; bg-tab-bar is only intended for the bar that holds the tabs and
     ;; can only be combined with fg-main
     ;;
-    ;; fg-tab-active is meant to be combined with bg-tab-active,
+    ;; fg-tab-accent is meant to be combined with bg-tab-active,
     ;; though only for styling special elements, such as underlining
     ;; the current tab
     ;;
@@ -606,12 +615,22 @@ (defconst modus-themes-operandi-colors
     (bg-paren-match . "#e0af82")
     (bg-paren-match-intense . "#c488ff")
     (bg-region . "#bcbcbc")
+    (bg-region-accent . "#afafef")
 
     (bg-tab-bar . "#d5d5d5")
     (bg-tab-active . "#f6f6f6")
     (bg-tab-inactive . "#bdbdbd")
     (bg-tab-inactive-alt . "#999999")
-    (fg-tab-active . "#30169e")
+    (fg-tab-accent . "#30169e")
+
+    (red-tab . "#680000")
+    (green-tab . "#003900")
+    (yellow-tab . "#393000")
+    (orange-tab . "#502300")
+    (blue-tab . "#000080")
+    (cyan-tab . "#052f60")
+    (magenta-tab . "#5f004d")
+    (purple-tab . "#400487")
 
     (fg-escape-char-construct . "#8b1030")
     (fg-escape-char-backslash . "#654d0f")
@@ -651,10 +670,6 @@ (defconst modus-themes-operandi-colors
     (bg-diff-focus-changed . "#ecdfbf") (fg-diff-focus-changed . "#392900")
     (bg-diff-focus-removed . "#efcbcf") (fg-diff-focus-removed . "#4a0000")
 
-    (bg-diff-neutral-0 . "#979797") (fg-diff-neutral-0 . "#040404")
-    (bg-diff-neutral-1 . "#b0b0b0") (fg-diff-neutral-1 . "#252525")
-    (bg-diff-neutral-2 . "#cccccc") (fg-diff-neutral-2 . "#3a3a3a")
-
     (bg-mark-sel . "#a0f0cf") (fg-mark-sel . "#005040")
     (bg-mark-del . "#ffccbb") (fg-mark-del . "#840040")
     (bg-mark-alt . "#f5d88f") (fg-mark-alt . "#782900"))
@@ -677,13 +692,15 @@ (define-obsolete-variable-alias
 (defconst modus-themes-vivendi-colors
   '(;; base values
     (bg-main . "#000000") (fg-main . "#ffffff")
-    (bg-dim . "#110b11") (fg-dim . "#e0e6f0")
-    (bg-alt . "#181a20") (fg-alt . "#a8a8a8")
+    (bg-dim . "#100f10") (fg-dim . "#e0e6f0")
+    (bg-alt . "#191a1b") (fg-alt . "#a8a8a8")
     ;; specifically for on/off states and must be combined with
     ;; themselves, though the backgrounds are also meant to be used with
-    ;; other "active" values, defined further below
+    ;; other "active" values, defined further below; bg-active-accent
+    ;; can work as a substitute for bg-active
     (bg-active . "#323232") (fg-active . "#f4f4f4")
     (bg-inactive . "#1e1e1e") (fg-inactive . "#bfc0c4")
+    (bg-active-accent . "#2a2a66")
     ;; these special values are intended as alternatives to the base
     ;; values for cases where we need to avoid confusion between the
     ;; highlighted constructs; they must either be used as pairs based
@@ -791,7 +808,7 @@ (defconst modus-themes-vivendi-colors
     (red-refine-bg . "#77002a") (red-refine-fg . "#ffb9ab")
     (green-refine-bg . "#00422a") (green-refine-fg . "#9ff0cf")
     (yellow-refine-bg . "#693200") (yellow-refine-fg . "#e2d980")
-    (blue-refine-bg . "#242679") (blue-refine-fg . "#8ec6ff")
+    (blue-refine-bg . "#242679") (blue-refine-fg . "#8ecfff")
     (magenta-refine-bg . "#71206a") (magenta-refine-fg . "#ffcaf0")
     (cyan-refine-bg . "#004065") (cyan-refine-fg . "#8ae4f2")
     ;; the "nuanced" backgrounds can be combined with all of the above
@@ -810,22 +827,22 @@ (defconst modus-themes-vivendi-colors
     ;; work with all accents that cover those two, plus bg-main
     ;;
     ;; bg-hl-alt and bg-hl-alt-intense should only be used when no
-    ;; other greyscale or fairly neutral background is available to
+    ;; other grayscale or fairly neutral background is available to
     ;; properly draw attention to a given construct
     ;;
     ;; bg-header is between bg-active and bg-inactive, so it
     ;; can be combined with any of the "active" values, plus the
     ;; "special" and base foreground colors
     ;;
-    ;; bg-paren-match, bg-paren-match-intense, bg-region and
-    ;; bg-tab-active must be combined with fg-main, while
-    ;; bg-tab-inactive should be combined with fg-dim, whereas
+    ;; bg-paren-match, bg-paren-match-intense, bg-region,
+    ;; bg-region-accent and bg-tab-active must be combined with fg-main,
+    ;; while bg-tab-inactive should be combined with fg-dim, whereas
     ;; bg-tab-inactive-alt goes together with fg-main
     ;;
     ;; bg-tab-bar is only intended for the bar that holds the tabs and
     ;; can only be combined with fg-main
     ;;
-    ;; fg-tab-active is meant to be combined with bg-tab-active,
+    ;; fg-tab-accent is meant to be combined with bg-tab-active,
     ;; though only for styling special elements, such as underlining
     ;; the current tab
     ;;
@@ -853,12 +870,22 @@ (defconst modus-themes-vivendi-colors
     (bg-paren-match . "#5f362f")
     (bg-paren-match-intense . "#7416b5")
     (bg-region . "#3c3c3c")
+    (bg-region-accent . "#4f3d88")
 
     (bg-tab-bar . "#2c2c2c")
     (bg-tab-active . "#0e0e0e")
     (bg-tab-inactive . "#3d3d3d")
     (bg-tab-inactive-alt . "#595959")
-    (fg-tab-active . "#5ac3cf")
+    (fg-tab-accent . "#5ac3cf")
+
+    (red-tab . "#ffc0bf")
+    (green-tab . "#88ef88")
+    (yellow-tab . "#d2e580")
+    (orange-tab . "#f5ca80")
+    (blue-tab . "#92d9ff")
+    (cyan-tab . "#60e7e0")
+    (magenta-tab . "#ffb8ff")
+    (purple-tab . "#cfcaff")
 
     (fg-escape-char-construct . "#e7a59a")
     (fg-escape-char-backslash . "#abab00")
@@ -898,10 +925,6 @@ (defconst modus-themes-vivendi-colors
     (bg-diff-focus-changed . "#4a3a10") (fg-diff-focus-changed . "#d0daaf")
     (bg-diff-focus-removed . "#5e2526") (fg-diff-focus-removed . "#eebdba")
 
-    (bg-diff-neutral-0 . "#575757") (fg-diff-neutral-0 . "#fcfcfc")
-    (bg-diff-neutral-1 . "#454545") (fg-diff-neutral-1 . "#dddddd")
-    (bg-diff-neutral-2 . "#313131") (fg-diff-neutral-2 . "#bfbfbf")
-
     (bg-mark-sel . "#002f2f") (fg-mark-sel . "#60cfa2")
     (bg-mark-del . "#5a0000") (fg-mark-del . "#ff99aa")
     (bg-mark-alt . "#3f2210") (fg-mark-alt . "#f0aa20"))
@@ -916,219 +939,219 @@ ;;; Custom faces
 ;; These faces are used internally to ensure consistency between various
 ;; groups and to streamline the evaluation of relevant customization
 ;; options.
-(defface modus-theme-subtle-red nil
+(defface modus-themes-subtle-red nil
   "Subtle red background combined with a dimmed foreground.
 This is used for general purpose highlighting, mostly in buffers
 or for completion interfaces.
 
 The actual styling of the face is done by `modus-themes-faces'.")
 
-(defface modus-theme-subtle-green nil
+(defface modus-themes-subtle-green nil
   "Subtle green background combined with a dimmed foreground.
 This is used for general purpose highlighting, mostly in buffers
 or for completion interfaces.
 
 The actual styling of the face is done by `modus-themes-faces'.")
 
-(defface modus-theme-subtle-yellow nil
+(defface modus-themes-subtle-yellow nil
   "Subtle yellow background combined with a dimmed foreground.
 This is used for general purpose highlighting, mostly in buffers
 or for completion interfaces.
 
 The actual styling of the face is done by `modus-themes-faces'.")
 
-(defface modus-theme-subtle-blue nil
+(defface modus-themes-subtle-blue nil
   "Subtle blue background combined with a dimmed foreground.
 This is used for general purpose highlighting, mostly in buffers
 or for completion interfaces.
 
 The actual styling of the face is done by `modus-themes-faces'.")
 
-(defface modus-theme-subtle-magenta nil
+(defface modus-themes-subtle-magenta nil
   "Subtle magenta background combined with a dimmed foreground.
 This is used for general purpose highlighting, mostly in buffers
 or for completion interfaces.
 
 The actual styling of the face is done by `modus-themes-faces'.")
 
-(defface modus-theme-subtle-cyan nil
+(defface modus-themes-subtle-cyan nil
   "Subtle cyan background combined with a dimmed foreground.
 This is used for general purpose highlighting, mostly in buffers
 or for completion interfaces.
 
 The actual styling of the face is done by `modus-themes-faces'.")
 
-(defface modus-theme-subtle-neutral nil
+(defface modus-themes-subtle-neutral nil
   "Subtle gray background combined with a dimmed foreground.
 This is used for general purpose highlighting, mostly in buffers
 or for completion interfaces.
 
 The actual styling of the face is done by `modus-themes-faces'.")
 
-(defface modus-theme-intense-red nil
+(defface modus-themes-intense-red nil
   "Intense red background combined with the main foreground.
 This is used for general purpose highlighting, mostly in buffers
 or for completion interfaces.
 
 The actual styling of the face is done by `modus-themes-faces'.")
 
-(defface modus-theme-intense-green nil
+(defface modus-themes-intense-green nil
   "Intense green background combined with the main foreground.
 This is used for general purpose highlighting, mostly in buffers
 or for completion interfaces.
 
 The actual styling of the face is done by `modus-themes-faces'.")
 
-(defface modus-theme-intense-yellow nil
+(defface modus-themes-intense-yellow nil
   "Intense yellow background combined with the main foreground.
 This is used for general purpose highlighting, mostly in buffers
 or for completion interfaces.
 
 The actual styling of the face is done by `modus-themes-faces'.")
 
-(defface modus-theme-intense-blue nil
+(defface modus-themes-intense-blue nil
   "Intense blue background combined with the main foreground.
 This is used for general purpose highlighting, mostly in buffers
 or for completion interfaces.
 
 The actual styling of the face is done by `modus-themes-faces'.")
 
-(defface modus-theme-intense-magenta nil
+(defface modus-themes-intense-magenta nil
   "Intense magenta background combined with the main foreground.
 This is used for general purpose highlighting, mostly in buffers
 or for completion interfaces.
 
 The actual styling of the face is done by `modus-themes-faces'.")
 
-(defface modus-theme-intense-cyan nil
+(defface modus-themes-intense-cyan nil
   "Intense cyan background combined with the main foreground.
 This is used for general purpose highlighting, mostly in buffers
 or for completion interfaces.
 
 The actual styling of the face is done by `modus-themes-faces'.")
 
-(defface modus-theme-intense-neutral nil
+(defface modus-themes-intense-neutral nil
   "Intense gray background combined with the main foreground.
 This is used for general purpose highlighting, mostly in buffers
 or for completion interfaces.
 
 The actual styling of the face is done by `modus-themes-faces'.")
 
-(defface modus-theme-refine-red nil
+(defface modus-themes-refine-red nil
   "Combination of accented red background and foreground.
 This is used for general purpose highlighting, mostly in buffers
 or for completion interfaces.
 
 The actual styling of the face is done by `modus-themes-faces'.")
 
-(defface modus-theme-refine-green nil
+(defface modus-themes-refine-green nil
   "Combination of accented green background and foreground.
 This is used for general purpose highlighting, mostly in buffers
 or for completion interfaces.
 
 The actual styling of the face is done by `modus-themes-faces'.")
 
-(defface modus-theme-refine-yellow nil
+(defface modus-themes-refine-yellow nil
   "Combination of accented yellow background and foreground.
 This is used for general purpose highlighting, mostly in buffers
 or for completion interfaces.
 
 The actual styling of the face is done by `modus-themes-faces'.")
 
-(defface modus-theme-refine-blue nil
+(defface modus-themes-refine-blue nil
   "Combination of accented blue background and foreground.
 This is used for general purpose highlighting, mostly in buffers
 or for completion interfaces.
 
 The actual styling of the face is done by `modus-themes-faces'.")
 
-(defface modus-theme-refine-magenta nil
+(defface modus-themes-refine-magenta nil
   "Combination of accented magenta background and foreground.
 This is used for general purpose highlighting, mostly in buffers
 or for completion interfaces.
 
 The actual styling of the face is done by `modus-themes-faces'.")
 
-(defface modus-theme-refine-cyan nil
+(defface modus-themes-refine-cyan nil
   "Combination of accented cyan background and foreground.
 This is used for general purpose highlighting, mostly in buffers
 or for completion interfaces.
 
 The actual styling of the face is done by `modus-themes-faces'.")
 
-(defface modus-theme-active-red nil
+(defface modus-themes-active-red nil
   "A red background meant for use on the modeline or similar.
 This is combined with the modelines primary foreground value.
 
 The actual styling of the face is done by `modus-themes-faces'.")
 
-(defface modus-theme-active-green nil
+(defface modus-themes-active-green nil
   "A green background meant for use on the modeline or similar.
 This is combined with the modelines primary foreground value.
 
 The actual styling of the face is done by `modus-themes-faces'.")
 
-(defface modus-theme-active-yellow nil
+(defface modus-themes-active-yellow nil
   "A yellow background meant for use on the modeline or similar.
 This is combined with the modelines primary foreground value.
 
 The actual styling of the face is done by `modus-themes-faces'.")
 
-(defface modus-theme-active-blue nil
+(defface modus-themes-active-blue nil
   "A blue background meant for use on the modeline or similar.
 This is combined with the modelines primary foreground value.
 
 The actual styling of the face is done by `modus-themes-faces'.")
 
-(defface modus-theme-active-magenta nil
+(defface modus-themes-active-magenta nil
   "A magenta background meant for use on the modeline or similar.
 This is combined with the modelines primary foreground value.
 
 The actual styling of the face is done by `modus-themes-faces'.")
 
-(defface modus-theme-active-cyan nil
+(defface modus-themes-active-cyan nil
   "A cyan background meant for use on the modeline or similar.
 This is combined with the modelines primary foreground value.
 
 The actual styling of the face is done by `modus-themes-faces'.")
 
-(defface modus-theme-fringe-red nil
+(defface modus-themes-fringe-red nil
   "A red background meant for use on the fringe or similar.
 This is combined with the main foreground value.
 
 The actual styling of the face is done by `modus-themes-faces'.")
 
-(defface modus-theme-fringe-green nil
+(defface modus-themes-fringe-green nil
   "A green background meant for use on the fringe or similar.
 This is combined with the main foreground value.
 
 The actual styling of the face is done by `modus-themes-faces'.")
 
-(defface modus-theme-fringe-yellow nil
+(defface modus-themes-fringe-yellow nil
   "A yellow background meant for use on the fringe or similar.
 This is combined with the main foreground value.
 
 The actual styling of the face is done by `modus-themes-faces'.")
 
-(defface modus-theme-fringe-blue nil
+(defface modus-themes-fringe-blue nil
   "A blue background meant for use on the fringe or similar.
 This is combined with the main foreground value.
 
 The actual styling of the face is done by `modus-themes-faces'.")
 
-(defface modus-theme-fringe-magenta nil
+(defface modus-themes-fringe-magenta nil
   "A magenta background meant for use on the fringe or similar.
 This is combined with the main foreground value.
 
 The actual styling of the face is done by `modus-themes-faces'.")
 
-(defface modus-theme-fringe-cyan nil
+(defface modus-themes-fringe-cyan nil
   "A cyan background meant for use on the fringe or similar.
 This is combined with the main foreground value.
 
 The actual styling of the face is done by `modus-themes-faces'.")
 
-(defface modus-theme-nuanced-red nil
+(defface modus-themes-nuanced-red nil
   "A nuanced red background.
 This does not specify a foreground of its own.  Instead it is meant to
 serve as the backdrop for elements such as Org blocks, headings, and any
@@ -1136,7 +1159,7 @@ (defface modus-theme-nuanced-red nil
 
 The actual styling of the face is done by `modus-themes-faces'.")
 
-(defface modus-theme-nuanced-green nil
+(defface modus-themes-nuanced-green nil
   "A nuanced green background.
 This does not specify a foreground of its own.  Instead it is meant to
 serve as the backdrop for elements such as Org blocks, headings, and any
@@ -1144,7 +1167,7 @@ (defface modus-theme-nuanced-green nil
 
 The actual styling of the face is done by `modus-themes-faces'.")
 
-(defface modus-theme-nuanced-yellow nil
+(defface modus-themes-nuanced-yellow nil
   "A nuanced yellow background.
 This does not specify a foreground of its own.  Instead it is meant to
 serve as the backdrop for elements such as Org blocks, headings, and any
@@ -1152,7 +1175,7 @@ (defface modus-theme-nuanced-yellow nil
 
 The actual styling of the face is done by `modus-themes-faces'.")
 
-(defface modus-theme-nuanced-blue nil
+(defface modus-themes-nuanced-blue nil
   "A nuanced blue background.
 This does not specify a foreground of its own.  Instead it is meant to
 serve as the backdrop for elements such as Org blocks, headings, and any
@@ -1160,7 +1183,7 @@ (defface modus-theme-nuanced-blue nil
 
 The actual styling of the face is done by `modus-themes-faces'.")
 
-(defface modus-theme-nuanced-magenta nil
+(defface modus-themes-nuanced-magenta nil
   "A nuanced magenta background.
 This does not specify a foreground of its own.  Instead it is meant to
 serve as the backdrop for elements such as Org blocks, headings, and any
@@ -1168,7 +1191,7 @@ (defface modus-theme-nuanced-magenta nil
 
 The actual styling of the face is done by `modus-themes-faces'.")
 
-(defface modus-theme-nuanced-cyan nil
+(defface modus-themes-nuanced-cyan nil
   "A nuanced cyan background.
 This does not specify a foreground of its own.  Instead it is meant to
 serve as the backdrop for elements such as Org blocks, headings, and any
@@ -1176,7 +1199,7 @@ (defface modus-theme-nuanced-cyan nil
 
 The actual styling of the face is done by `modus-themes-faces'.")
 
-(defface modus-theme-special-cold nil
+(defface modus-themes-special-cold nil
   "Combines the 'special cold' background and foreground values.
 This is intended for cases when a neutral gray background is not
 suitable and where a combination of more saturated colors would not be
@@ -1184,7 +1207,7 @@ (defface modus-theme-special-cold nil
 
 The actual styling of the face is done by `modus-themes-faces'.")
 
-(defface modus-theme-special-mild nil
+(defface modus-themes-special-mild nil
   "Combines the 'special mild' background and foreground values.
 This is intended for cases when a neutral gray background is not
 suitable and where a combination of more saturated colors would not be
@@ -1192,7 +1215,7 @@ (defface modus-theme-special-mild nil
 
 The actual styling of the face is done by `modus-themes-faces'.")
 
-(defface modus-theme-special-warm nil
+(defface modus-themes-special-warm nil
   "Combines the 'special warm' background and foreground values.
 This is intended for cases when a neutral gray background is not
 suitable and where a combination of more saturated colors would not be
@@ -1200,7 +1223,7 @@ (defface modus-theme-special-warm nil
 
 The actual styling of the face is done by `modus-themes-faces'.")
 
-(defface modus-theme-special-calm nil
+(defface modus-themes-special-calm nil
   "Combines the 'special calm' background and foreground values.
 This is intended for cases when a neutral gray background is not
 suitable and where a combination of more saturated colors would not be
@@ -1208,180 +1231,180 @@ (defface modus-theme-special-calm nil
 
 The actual styling of the face is done by `modus-themes-faces'.")
 
-(defface modus-theme-diff-added nil
+(defface modus-themes-diff-added nil
   "Combines green colors for the 'added' state in diffs.
 The applied colors are contingent on the value assigned to
 `modus-themes-diffs'.
 
 The actual styling of the face is done by `modus-themes-faces'.")
 
-(defface modus-theme-diff-changed nil
+(defface modus-themes-diff-changed nil
   "Combines yellow colors for the 'changed' state in diffs.
 The applied colors are contingent on the value assigned to
 `modus-themes-diffs'.
 
 The actual styling of the face is done by `modus-themes-faces'.")
 
-(defface modus-theme-diff-removed nil
+(defface modus-themes-diff-removed nil
   "Combines red colors for the 'removed' state in diffs.
 The applied colors are contingent on the value assigned to
 `modus-themes-diffs'.
 
 The actual styling of the face is done by `modus-themes-faces'.")
 
-(defface modus-theme-diff-refine-added nil
+(defface modus-themes-diff-refine-added nil
   "Combines green colors for word-wise 'added' state in diffs.
 The applied colors are contingent on the value assigned to
 `modus-themes-diffs'.
 
 The actual styling of the face is done by `modus-themes-faces'.")
 
-(defface modus-theme-diff-refine-changed nil
+(defface modus-themes-diff-refine-changed nil
   "Combines yellow colors for word-wise 'changed' state in diffs.
 The applied colors are contingent on the value assigned to
 `modus-themes-diffs'.
 
 The actual styling of the face is done by `modus-themes-faces'.")
 
-(defface modus-theme-diff-refine-removed nil
+(defface modus-themes-diff-refine-removed nil
   "Combines red colors for word-wise 'removed' state in diffs.
 The applied colors are contingent on the value assigned to
 `modus-themes-diffs'.
 
 The actual styling of the face is done by `modus-themes-faces'.")
 
-(defface modus-theme-diff-focus-added nil
+(defface modus-themes-diff-focus-added nil
   "Combines green colors for the focused 'added' state in diffs.
 The applied colors are contingent on the value assigned to
 `modus-themes-diffs'.
 
 The actual styling of the face is done by `modus-themes-faces'.")
 
-(defface modus-theme-diff-focus-changed nil
+(defface modus-themes-diff-focus-changed nil
   "Combines yellow colors for the focused 'changed' state in.
 The applied colors are contingent on the value assigned to
 `modus-themes-diffs'.
 
 The actual styling of the face is done by `modus-themes-faces'.")
 
-(defface modus-theme-diff-focus-removed nil
+(defface modus-themes-diff-focus-removed nil
   "Combines red colors for the focused 'removed' state in diffs.
 The applied colors are contingent on the value assigned to
 `modus-themes-diffs'.
 
 The actual styling of the face is done by `modus-themes-faces'.")
 
-(defface modus-theme-diff-heading nil
+(defface modus-themes-diff-heading nil
   "Combines blue colors for the diff hunk heading.
 The applied colors are contingent on the value assigned to
 `modus-themes-diffs'.
 
 The actual styling of the face is done by `modus-themes-faces'.")
 
-(defface modus-theme-pseudo-header nil
+(defface modus-themes-pseudo-header nil
   "Generic style for some elements that function like headings.
 The actual styling of the face is done by `modus-themes-faces'.")
 
-(defface modus-theme-mark-alt nil
-  "Combines yellow colors for marking special lines
+(defface modus-themes-mark-alt nil
+  "Combines yellow colors for marking special lines.
 This is intended for use in modes such as Dired, Ibuffer, Proced.
 
 The actual styling of the face is done by `modus-themes-faces'.")
 
-(defface modus-theme-mark-del nil
-  "Combines red colors for marking deletable lines
+(defface modus-themes-mark-del nil
+  "Combines red colors for marking deletable lines.
 This is intended for use in modes such as Dired, Ibuffer, Proced.
 
 The actual styling of the face is done by `modus-themes-faces'.")
 
-(defface modus-theme-mark-sel nil
-  "Combines green colors for marking lines
+(defface modus-themes-mark-sel nil
+  "Combines green colors for marking lines.
 This is intended for use in modes such as Dired, Ibuffer, Proced.
 
 The actual styling of the face is done by `modus-themes-faces'.")
 
-(defface modus-theme-mark-symbol nil
+(defface modus-themes-mark-symbol nil
   "Applies a blue color and other styles for mark indicators.
 This is intended for use in modes such as Dired, Ibuffer, Proced.
 
 The actual styling of the face is done by `modus-themes-faces'.")
 
-(defface modus-theme-heading-1 nil
-  "General purpose face for use in headings level 1
+(defface modus-themes-heading-1 nil
+  "General purpose face for use in headings level 1.
 The exact attributes assigned to this face are contingent on the values
 assigned to the `modus-themes-headings' variable.
 
 The actual styling of the face is done by `modus-themes-faces'.")
 
-(defface modus-theme-heading-2 nil
+(defface modus-themes-heading-2 nil
   "General purpose face for use in headings level 2.
 The exact attributes assigned to this face are contingent on the values
 assigned to the `modus-themes-headings' variable.
 
 The actual styling of the face is done by `modus-themes-faces'.")
 
-(defface modus-theme-heading-3 nil
+(defface modus-themes-heading-3 nil
   "General purpose face for use in headings level 3.
 The exact attributes assigned to this face are contingent on the values
 assigned to the `modus-themes-headings' variable.
 
 The actual styling of the face is done by `modus-themes-faces'.")
 
-(defface modus-theme-heading-4 nil
+(defface modus-themes-heading-4 nil
   "General purpose face for use in headings level 4.
 The exact attributes assigned to this face are contingent on the values
 assigned to the `modus-themes-headings' variable.
 
 The actual styling of the face is done by `modus-themes-faces'.")
 
-(defface modus-theme-heading-5 nil
+(defface modus-themes-heading-5 nil
   "General purpose face for use in headings level 5.
 The exact attributes assigned to this face are contingent on the values
 assigned to the `modus-themes-headings' variable.
 
 The actual styling of the face is done by `modus-themes-faces'.")
 
-(defface modus-theme-heading-6 nil
+(defface modus-themes-heading-6 nil
   "General purpose face for use in headings level 6.
 The exact attributes assigned to this face are contingent on the values
 assigned to the `modus-themes-headings' variable.
 
 The actual styling of the face is done by `modus-themes-faces'.")
 
-(defface modus-theme-heading-7 nil
+(defface modus-themes-heading-7 nil
   "General purpose face for use in headings level 7.
 The exact attributes assigned to this face are contingent on the values
 assigned to the `modus-themes-headings' variable.
 
 The actual styling of the face is done by `modus-themes-faces'.")
 
-(defface modus-theme-heading-8 nil
+(defface modus-themes-heading-8 nil
   "General purpose face for use in headings level 8.
 The exact attributes assigned to this face are contingent on the values
 assigned to the `modus-themes-headings' variable.
 
 The actual styling of the face is done by `modus-themes-faces'.")
 
-(defface modus-theme-hl-line nil
+(defface modus-themes-hl-line nil
   "General purpose face for the current line.
 The exact attributes assigned to this face are contingent on the values
-assigned to the `modus-themes-intense-hl-line' variable.
+assigned to the `modus-themes-hl-line' variable.
 
 The actual styling of the face is done by `modus-themes-faces'.")
 
-(defface modus-theme-bold nil
+(defface modus-themes-bold nil
   "Generic face for applying a conditional bold weight.
 This behaves in accordance with `modus-themes-bold-constructs'.
 
 The actual styling of the face is done by `modus-themes-faces'.")
 
-(defface modus-theme-slant nil
+(defface modus-themes-slant nil
   "Generic face for applying a conditional slant (italics).
 This behaves in accordance with `modus-themes-slanted-constructs'.
 
 The actual styling of the face is done by `modus-themes-faces'.")
 
-(defface modus-theme-variable-pitch nil
+(defface modus-themes-variable-pitch nil
   "Generic face for applying a conditional `variable-pitch'.
 This behaves in accordance with `modus-themes-no-mixed-fonts',
 `modus-themes-variable-pitch-headings' for all heading levels, and
@@ -1389,7 +1412,7 @@ (defface modus-theme-variable-pitch nil
 
 The actual styling of the face is done by `modus-themes-faces'.")
 
-(defface modus-theme-graph-red-0 nil
+(defface modus-themes-graph-red-0 nil
   "Special subdued red face for use in graphs.
 This is intended to be applied in contexts such as the Org agenda habit
 graph where faithfulness to the semantics of a color value is of
@@ -1397,7 +1420,7 @@ (defface modus-theme-graph-red-0 nil
 
 The actual styling of the face is done by `modus-themes-faces'.")
 
-(defface modus-theme-graph-red-1 nil
+(defface modus-themes-graph-red-1 nil
   "Special prominent red face for use in graphs.
 This is intended to be applied in contexts such as the Org agenda habit
 graph where faithfulness to the semantics of a color value is of
@@ -1405,7 +1428,7 @@ (defface modus-theme-graph-red-1 nil
 
 The actual styling of the face is done by `modus-themes-faces'.")
 
-(defface modus-theme-graph-green-0 nil
+(defface modus-themes-graph-green-0 nil
   "Special subdued green face for use in graphs.
 This is intended to be applied in contexts such as the Org agenda habit
 graph where faithfulness to the semantics of a color value is of
@@ -1413,7 +1436,7 @@ (defface modus-theme-graph-green-0 nil
 
 The actual styling of the face is done by `modus-themes-faces'.")
 
-(defface modus-theme-graph-green-1 nil
+(defface modus-themes-graph-green-1 nil
   "Special prominent green face for use in graphs.
 This is intended to be applied in contexts such as the Org agenda habit
 graph where faithfulness to the semantics of a color value is of
@@ -1421,7 +1444,7 @@ (defface modus-theme-graph-green-1 nil
 
 The actual styling of the face is done by `modus-themes-faces'.")
 
-(defface modus-theme-graph-yellow-0 nil
+(defface modus-themes-graph-yellow-0 nil
   "Special subdued yellow face for use in graphs.
 This is intended to be applied in contexts such as the Org agenda habit
 graph where faithfulness to the semantics of a color value is of
@@ -1429,7 +1452,7 @@ (defface modus-theme-graph-yellow-0 nil
 
 The actual styling of the face is done by `modus-themes-faces'.")
 
-(defface modus-theme-graph-yellow-1 nil
+(defface modus-themes-graph-yellow-1 nil
   "Special prominent yellow face for use in graphs.
 This is intended to be applied in contexts such as the Org agenda habit
 graph where faithfulness to the semantics of a color value is of
@@ -1437,7 +1460,7 @@ (defface modus-theme-graph-yellow-1 nil
 
 The actual styling of the face is done by `modus-themes-faces'.")
 
-(defface modus-theme-graph-blue-0 nil
+(defface modus-themes-graph-blue-0 nil
   "Special subdued blue face for use in graphs.
 This is intended to be applied in contexts such as the Org agenda habit
 graph where faithfulness to the semantics of a color value is of
@@ -1445,7 +1468,7 @@ (defface modus-theme-graph-blue-0 nil
 
 The actual styling of the face is done by `modus-themes-faces'.")
 
-(defface modus-theme-graph-blue-1 nil
+(defface modus-themes-graph-blue-1 nil
   "Special prominent blue face for use in graphs.
 This is intended to be applied in contexts such as the Org agenda habit
 graph where faithfulness to the semantics of a color value is of
@@ -1453,7 +1476,7 @@ (defface modus-theme-graph-blue-1 nil
 
 The actual styling of the face is done by `modus-themes-faces'.")
 
-(defface modus-theme-graph-magenta-0 nil
+(defface modus-themes-graph-magenta-0 nil
   "Special subdued magenta face for use in graphs.
 This is intended to be applied in contexts such as the Org agenda habit
 graph where faithfulness to the semantics of a color value is of
@@ -1461,7 +1484,7 @@ (defface modus-theme-graph-magenta-0 nil
 
 The actual styling of the face is done by `modus-themes-faces'.")
 
-(defface modus-theme-graph-magenta-1 nil
+(defface modus-themes-graph-magenta-1 nil
   "Special prominent magenta face for use in graphs.
 This is intended to be applied in contexts such as the Org agenda habit
 graph where faithfulness to the semantics of a color value is of
@@ -1469,7 +1492,7 @@ (defface modus-theme-graph-magenta-1 nil
 
 The actual styling of the face is done by `modus-themes-faces'.")
 
-(defface modus-theme-graph-cyan-0 nil
+(defface modus-themes-graph-cyan-0 nil
   "Special subdued cyan face for use in graphs.
 This is intended to be applied in contexts such as the Org agenda habit
 graph where faithfulness to the semantics of a color value is of
@@ -1477,7 +1500,7 @@ (defface modus-theme-graph-cyan-0 nil
 
 The actual styling of the face is done by `modus-themes-faces'.")
 
-(defface modus-theme-graph-cyan-1 nil
+(defface modus-themes-graph-cyan-1 nil
   "Special prominent cyan face for use in graphs.
 This is intended to be applied in contexts such as the Org agenda habit
 graph where faithfulness to the semantics of a color value is of
@@ -1485,27 +1508,51 @@ (defface modus-theme-graph-cyan-1 nil
 
 The actual styling of the face is done by `modus-themes-faces'.")
 
-(defface modus-theme-lang-note nil
+(defface modus-themes-lang-note nil
   "Generic face for linter or spell checker notes.
 The exact attributes and color combinations are controlled by
 `modus-themes-lang-checkers'.
 
 The actual styling of the face is done by `modus-themes-faces'.")
 
-(defface modus-theme-lang-warning nil
+(defface modus-themes-lang-warning nil
   "Generic face for linter or spell checker warnings.
 The exact attributes and color combinations are controlled by
 `modus-themes-lang-checkers'.
 
 The actual styling of the face is done by `modus-themes-faces'.")
 
-(defface modus-theme-lang-error nil
+(defface modus-themes-lang-error nil
   "Generic face for linter or spell checker errors.
 The exact attributes and color combinations are controlled by
 `modus-themes-lang-checkers'.
 
 The actual styling of the face is done by `modus-themes-faces'.")
 
+(defface modus-themes-reset-soft nil
+  "Generic face to set most face properties to nil.
+
+This is intended to be inherited by faces that should not retain
+properties from their context (e.g. an overlay over an underlined
+text should not be underlined as well) yet still blend in.  Also
+see `modus-themes-reset-hard'.
+
+The actual styling of the face is done by `modus-themes-faces'.")
+
+(defface modus-themes-reset-hard nil
+  "Generic face to set all face properties to nil.
+
+This is intended to be inherited by faces that should not retain
+properties from their context (e.g. an overlay over an underlined
+text should not be underlined as well) and not blend in.  Also
+see `modus-themes-reset-soft'.
+
+The actual styling of the face is done by `modus-themes-faces'.")
+
+(defface modus-themes-key-binding nil
+  "Generic face for key bindings.
+The actual styling of the face is done by `modus-themes-faces'.")
+
 
 
 ;;; Customization options
@@ -1592,8 +1639,31 @@ (defcustom modus-themes-no-mixed-fonts nil
   :type 'boolean
   :link '(info-link "(modus-themes) No mixed fonts"))
 
-(defcustom modus-themes-headings
-  '((t . nil))
+(defconst modus-themes--headings-choice
+  '(choice
+    (const :format "[%v] %t\n" :tag "Fairly desaturated foreground with bold weight (default)" nil)
+    (const :format "[%v] %t\n" :tag "Same as the default (backward-compatible)" t)
+    (const :format "[%v] %t\n" :tag "Like the default without bold weight" no-bold)
+    (const :format "[%v] %t\n" :tag "Like the default plus overline" line)
+    (const :format "[%v] %t\n" :tag "Like `line' without bold weight" line-no-bold)
+    (const :format "[%v] %t\n" :tag "Like the default but with more colorful foreground" rainbow)
+    (const :format "[%v] %t\n" :tag "Like `rainbow' plus overline" rainbow-line)
+    (const :format "[%v] %t\n" :tag "Like `rainbow' without bold weight" rainbow-no-bold)
+    (const :format "[%v] %t\n" :tag "Like `rainbow-line' without bold weight" rainbow-line-no-bold)
+    (const :format "[%v] %t\n" :tag "Like the default plus subtle background" highlight)
+    (const :format "[%v] %t\n" :tag "Like `highlight' without bold weight" highlight-no-bold)
+    (const :format "[%v] %t\n" :tag "Like `highlight' with more colorful foreground" rainbow-highlight)
+    (const :format "[%v] %t\n" :tag "Like `rainbow-highlight' without bold weight" rainbow-highlight-no-bold)
+    (const :format "[%v] %t\n" :tag "Like `highlight' plus overline" section)
+    (const :format "[%v] %t\n" :tag "Like `section' without bold weight" section-no-bold)
+    (const :format "[%v] %t\n" :tag "Like `section' with more colorful foreground" rainbow-section)
+    (const :format "[%v] %t\n" :tag "Like `rainbow-section' without bold weight" rainbow-section-no-bold)
+    (const :format "[%v] %t\n" :tag "Do not use any distinct foreground color; just bold weight" no-color)
+    (const :format "[%v] %t\n" :tag "Like `no-bold' but without the distinct foreground color" no-color-no-bold))
+  "Refer to the doc string of `modus-themes-headings'.
+This is a helper variable intended for internal use.")
+
+(defcustom modus-themes-headings nil
   "Alist of styles for headings, with optional value per level.
 
 To control faces per level from 1-8, use something like this:
@@ -1608,17 +1678,18 @@ (defcustom modus-themes-headings
   (setq modus-themes-headings
         '((t . rainbow-line-no-bold)))
 
-The default uses a fairly desaturated foreground value in
+The default value uses a fairly desaturated foreground color in
 combination with a bold typographic weight.  To specify this
 style for a given level N (assuming you wish to have another
-fallback option), just specify the value t like this:
+fallback option), just specify the value nil like this:
 
   (setq modus-themes-headings
-        '((1 . t)
+        '((1 . nil)
           (2 . line)
+          (3) ; same as nil
           (t . rainbow-line-no-bold)))
 
-A description of all possible values:
+A description of all other possible values:
 
 + `no-bold' retains the default text color while removing the
   typographic weight.
@@ -1669,30 +1740,14 @@ (defcustom modus-themes-headings
 + `no-color-no-bold' is like `no-color' but without the bold
   weight."
   :group 'modus-themes
-  :package-version '(modus-themes . "1.2.0")
+  :package-version '(modus-themes . "1.3.0")
   :version "28.1"
-  :type
-  '(alist
-    :key-type symbol
-    :value-type
-    (choice (const :tag "Fairly desaturated foreground with bold weight (default)" t)
-            (const :tag "Like the default without bold weight" no-bold)
-            (const :tag "Like the default plus overline" line)
-            (const :tag "Like `line' without bold weight" line-no-bold)
-            (const :tag "Like the default but with more colorful foreground" rainbow)
-            (const :tag "Like `rainbow' plus overline" rainbow-line)
-            (const :tag "Like `rainbow' without bold weight" rainbow-no-bold)
-            (const :tag "Like `rainbow-line' without bold weight" rainbow-line-no-bold)
-            (const :tag "Like the default plus subtle background" highlight)
-            (const :tag "Like `highlight' without bold weight" highlight-no-bold)
-            (const :tag "Like `highlight' with more colorful foreground" rainbow-highlight)
-            (const :tag "Like `rainbow-highlight' without bold weight" rainbow-highlight-no-bold)
-            (const :tag "Like `highlight' plus overline" section)
-            (const :tag "Like `section' without bold weight" section-no-bold)
-            (const :tag "Like `section' with more colorful foreground" rainbow-section)
-            (const :tag "Like `rainbow-section' without bold weight" rainbow-section-no-bold)
-            (const :tag "Do not use any distinct foreground color; just bold weight" no-color)
-            (const :tag "Like `no-bold' but without the distinct foreground color" no-color-no-bold)))
+  :type `(alist
+          :options ,(mapcar (lambda (el)
+                              (list el modus-themes--headings-choice))
+                            '(1 2 3 4 5 6 7 8 t))
+          :key-type symbol
+          :value-type ,modus-themes--headings-choice)
   :link '(info-link "(modus-themes) Heading styles"))
 
 (defcustom modus-themes-scale-headings nil
@@ -1830,16 +1885,16 @@ (defcustom modus-themes-fringes nil
   "Define the visibility of fringes.
 
 Nil means the fringes have no background color.  Option `subtle'
-will apply a greyscale value that is visible yet close to the
+will apply a grayscale value that is visible yet close to the
 main buffer background color.  Option `intense' will use a more
-pronounced greyscale value."
+pronounced grayscale value."
   :group 'modus-themes
   :package-version '(modus-themes . "1.0.0")
   :version "28.1"
   :type '(choice
-          (const :tag "No visible fringes (default)" nil)
-          (const :tag "Subtle greyscale background" subtle)
-          (const :tag "Intense greyscale background" intense))
+          (const :format "[%v] %t\n" :tag "No visible fringes (default)" nil)
+          (const :format "[%v] %t\n" :tag "Subtle grayscale background" subtle)
+          (const :format "[%v] %t\n" :tag "Intense grayscale background" intense))
   :link '(info-link "(modus-themes) Fringes"))
 
 (defcustom modus-themes-lang-checkers nil
@@ -1867,13 +1922,13 @@ (defcustom modus-themes-lang-checkers nil
   :package-version '(modus-themes . "1.1.0")
   :version "28.1"
   :type '(choice
-          (const :tag "Only color-coded wavy underline (default)" nil)
-          (const :tag "Like the default, but with a straight underline" straight-underline)
-          (const :tag "Color-coded wavy underline; subtle foreground" subtle-foreground)
-          (const :tag "Combines `straight-underline' and `subtle-foreground'" subtle-foreground-straight-underline)
-          (const :tag "Color-coded wavy underline; intense foreground" intense-foreground)
-          (const :tag "Combines `straight-underline' and `intense-foreground'" intense-foreground-straight-underline)
-          (const :tag "Color-coded background, foreground, straight underline" colored-background))
+          (const :format "[%v] %t\n" :tag "Only color-coded wavy underline (default)" nil)
+          (const :format "[%v] %t\n" :tag "Like the default, but with a straight underline" straight-underline)
+          (const :format "[%v] %t\n" :tag "Color-coded wavy underline; subtle foreground" subtle-foreground)
+          (const :format "[%v] %t\n" :tag "Combines `straight-underline' and `subtle-foreground'" subtle-foreground-straight-underline)
+          (const :format "[%v] %t\n" :tag "Color-coded wavy underline; intense foreground" intense-foreground)
+          (const :format "[%v] %t\n" :tag "Combines `straight-underline' and `intense-foreground'" intense-foreground-straight-underline)
+          (const :format "[%v] %t\n" :tag "Color-coded background, foreground, straight underline" colored-background))
   :link '(info-link "(modus-themes) Language checkers"))
 
 (defcustom modus-themes-org-blocks nil
@@ -1897,10 +1952,10 @@ (defcustom modus-themes-org-blocks nil
   :package-version '(modus-themes . "1.0.0")
   :version "28.1"
   :type '(choice
-          (const :tag "No Org block background (default)" nil)
-          (const :tag "Subtle gray block background" grayscale)
-          (const :tag "Subtle gray block background (alt spelling)" greyscale)
-          (const :tag "Color-coded background per programming language" rainbow))
+          (const :format "[%v] %t\n" :tag "No Org block background (default)" nil)
+          (const :format "[%v] %t\n" :tag "Subtle gray block background" grayscale)
+          (const :format "[%v] %t\n" :tag "Subtle gray block background (alt spelling)" greyscale)
+          (const :format "[%v] %t\n" :tag "Color-coded background per programming language" rainbow))
   :link '(info-link "(modus-themes) Org mode blocks"))
 
 (defcustom modus-themes-org-habit nil
@@ -1936,17 +1991,17 @@ (defcustom modus-themes-org-habit nil
   :package-version '(modus-themes . "1.1.0")
   :version "28.1"
   :type '(choice
-          (const :tag "Respect the original design of org-habit (default)" nil)
-          (const :tag "Like the default, but do not distinguish between present and future variants" simplified)
-          (const :tag "Like `simplified', but only use red, yellow, green" traffic-light))
+          (const :format "[%v] %t\n" :tag "Respect the original design of org-habit (default)" nil)
+          (const :format "[%v] %t\n" :tag "Like the default, but do not distinguish between present and future variants" simplified)
+          (const :format "[%v] %t\n" :tag "Like `simplified', but only use red, yellow, green" traffic-light))
   :link '(info-link "(modus-themes) Org agenda habits"))
 
 (defcustom modus-themes-mode-line nil
   "Adjust the overall style of the mode line.
 
-Nil is a two-dimensional rectangle with a border around it.  The
-active and the inactive modelines use different shades of
-greyscale values for the background and foreground.
+The default (nil) is a two-dimensional rectangle with a border
+around it.  The active and the inactive modelines use different
+shades of grayscale values for the background and foreground.
 
 A `3d' value will apply a three-dimensional effect to the active
 modeline.  The inactive modelines remain two-dimensional and are
@@ -1969,17 +2024,25 @@ (defcustom modus-themes-mode-line nil
 However, to ensure that the inactive modelines remain visible,
 they apply a slightly more prominent background to them than what
 their counterparts do (same inactive background as with the
-default)."
+default).
+
+Similarly, `accented', `accented-3d', and `accented-moody'
+correspond to the default (nil), `3d', and `moody' styles
+respectively, except that the active mode line uses a colored
+background instead of the standard shade of gray."
   :group 'modus-themes
-  :package-version '(modus-themes . "1.0.0")
+  :package-version '(modus-themes . "1.3.0")
   :version "28.1"
   :type '(choice
-          (const :tag "Two-dimensional box (default)" nil)
-          (const :tag "Three-dimensional style for the active mode line" 3d)
-          (const :tag "No box effects, which are optimal for use with the `moody' library" moody)
-          (const :tag "Like the default, but without border effects" borderless)
-          (const :tag "Like `3d', but without noticeable border" borderless-3d)
-          (const :tag "Like `moody', but without noticeable border" borderless-moody))
+          (const :format "[%v] %t\n" :tag "Two-dimensional box (default)" nil)
+          (const :format "[%v] %t\n" :tag "Three-dimensional style for the active mode line" 3d)
+          (const :format "[%v] %t\n" :tag "No box effects, which are optimal for use with the `moody' library" moody)
+          (const :format "[%v] %t\n" :tag "Like the default, but without border effects" borderless)
+          (const :format "[%v] %t\n" :tag "Like `3d', but without noticeable border" borderless-3d)
+          (const :format "[%v] %t\n" :tag "Like `moody', but without noticeable border" borderless-moody)
+          (const :format "[%v] %t\n" :tag "Two-dimensional box with a colored background" accented)
+          (const :format "[%v] %t\n" :tag "Like `3d', but with a colored background" accented-3d)
+          (const :format "[%v] %t\n" :tag "Like `moody', but with a colored background" accented-moody))
   :link '(info-link "(modus-themes) Mode line"))
 
 (defcustom modus-themes-diffs nil
@@ -1998,7 +2061,7 @@ (defcustom modus-themes-diffs nil
 from word-wise changes.  It instead uses color-coded foreground
 values to differentiate between added/removed/changed lines.  If
 a background is necessary, such as with `ediff', then a subtle
-greyscale value is used.
+grayscale value is used.
 
 Option `bg-only' applies a background but does not override the
 text's foreground.  This makes it suitable for a non-nil value
@@ -2014,11 +2077,11 @@ (defcustom modus-themes-diffs nil
   :package-version '(modus-themes . "1.2.0")
   :version "28.1"
   :type '(choice
-          (const :tag "Intensely colored backgrounds (default)" nil)
-          (const :tag "Slightly accented backgrounds with tinted text" desaturated)
-          (const :tag "No backgrounds, except for refined diffs" fg-only)
-          (const :tag "Apply color-coded backgrounds; keep syntax colors in tact" bg-only)
-          (const :tag "Optimized for red-green color defficiency" deuteranopia))
+          (const :format "[%v] %t\n" :tag "Intensely colored backgrounds (default)" nil)
+          (const :format "[%v] %t\n" :tag "Slightly accented backgrounds with tinted text" desaturated)
+          (const :format "[%v] %t\n" :tag "No backgrounds, except for refined diffs" fg-only)
+          (const :format "[%v] %t\n" :tag "Apply color-coded backgrounds; keep syntax colors in tact" bg-only)
+          (const :format "[%v] %t\n" :tag "Optimized for red-green color defficiency" deuteranopia))
   :link '(info-link "(modus-themes) Diffs"))
 
 (defcustom modus-themes-completions nil
@@ -2048,9 +2111,9 @@ (defcustom modus-themes-completions nil
   :package-version '(modus-themes . "1.0.0")
   :version "28.1"
   :type '(choice
-          (const :tag "Respect the framework's established aesthetic (default)" nil)
-          (const :tag "Subtle backgrounds for various elements" moderate)
-          (const :tag "Radical alternative to the framework's looks" opinionated))
+          (const :format "[%v] %t\n" :tag "Respect the framework's established aesthetic (default)" nil)
+          (const :format "[%v] %t\n" :tag "Subtle backgrounds for various elements" moderate)
+          (const :format "[%v] %t\n" :tag "Radical alternative to the framework's looks" opinionated))
   :link '(info-link "(modus-themes) Completion UIs"))
 
 (defcustom modus-themes-prompts nil
@@ -2069,18 +2132,18 @@ (defcustom modus-themes-prompts nil
 `subtle-accented' and `intense-accented' counterparts, except
 they use grayscale values instead of accented ones."
   :group 'modus-themes
-  :package-version '(modus-themes . "1.0.0")
+  :package-version '(modus-themes . "1.1.0")
   :version "28.1"
   :type '(choice
           ;; `subtle' is the same as `subtle-accented', while `intense' is
           ;; equal to `intense-accented' for backward compatibility
-          (const :tag "No prompt background (default)" nil)
-          (const :tag "Subtle accented background for the prompt" subtle-accented)
-          (const :tag "Same as `subtle-accented' for compatibility with older versions" subtle)
-          (const :tag "Intense accented background and foreground for the prompt" intense-accented)
-          (const :tag "Same as `intense-accented' for compatibility with older versions" intense)
-          (const :tag "Like `subtle-accented' but grayscale" subtle-gray)
-          (const :tag "Like `intense-accented' but grayscale" intense-gray))
+          (const :format "[%v] %t\n" :tag "No prompt background (default)" nil)
+          (const :format "[%v] %t\n" :tag "Subtle accented background for the prompt" subtle-accented)
+          (const :format "[%v] %t\n" :tag "Same as `subtle-accented' for compatibility with older versions" subtle)
+          (const :format "[%v] %t\n" :tag "Intense accented background and foreground for the prompt" intense-accented)
+          (const :format "[%v] %t\n" :tag "Same as `intense-accented' for compatibility with older versions" intense)
+          (const :format "[%v] %t\n" :tag "Like `subtle-accented' but grayscale" subtle-gray)
+          (const :format "[%v] %t\n" :tag "Like `intense-accented' but grayscale" intense-gray))
   :link '(info-link "(modus-themes) Command prompts"))
 
 (defcustom modus-themes-intense-hl-line nil
@@ -2091,6 +2154,45 @@ (defcustom modus-themes-intense-hl-line nil
   :type 'boolean
   :link '(info-link "(modus-themes) Line highlighting"))
 
+(make-obsolete 'modus-themes-intense-hl-line 'modus-themes-hl-line "1.3.0")
+
+(defcustom modus-themes-hl-line nil
+  "Control the current line highlight of HL-line mode.
+
+The default (nil) is to apply a subtle neutral background to the
+current line.
+
+Option `intense-background' uses a prominent neutral background.
+
+Option `accented-background' uses a subtle colored background.
+
+Option `underline-neutral' combines a subtle neutral background
+with a gray underline.
+
+Option `underline-accented' draws an underline while applying a
+subtle colored background.
+
+Option `underline-only-neutral' uses just a neutral underline,
+without any added change to the background.
+
+Option `underline-only-accented' uses just a colored underline,
+without any added change to the background.
+
+Set `x-underline-at-descent-line' to a non-nil value for better
+results with underlines."
+  :group 'modus-themes
+  :package-version '(modus-themes . "1.3.0")
+  :version "28.1"
+  :type '(choice
+          (const :format "[%v] %t\n" :tag "Subtle neutral background (default)" nil)
+          (const :format "[%v] %t\n" :tag "Prominent neutral background" intense-background)
+          (const :format "[%v] %t\n" :tag "Subtle colored background" accented-background)
+          (const :format "[%v] %t\n" :tag "Underline with a subtle neutral background" underline-neutral)
+          (const :format "[%v] %t\n" :tag "Underline with a subtle colored background" underline-accented)
+          (const :format "[%v] %t\n" :tag "Just a neutral underline, without a background" underline-only-neutral)
+          (const :format "[%v] %t\n" :tag "Just an accented underline, without a background" underline-only-accented))
+  :link '(info-link "(modus-themes) Line highlighting"))
+
 (defcustom modus-themes-subtle-line-numbers nil
   "Use more subtle style for command `display-line-numbers-mode'."
   :group 'modus-themes
@@ -2115,10 +2217,10 @@ (defcustom modus-themes-paren-match nil
   :package-version '(modus-themes . "1.0.0")
   :version "28.1"
   :type '(choice
-          (const :tag "Sublte tinted background (default)" nil)
-          (const :tag "Like the default, but also use bold typographic weight" subtle-bold)
-          (const :tag "Intense saturated background" intense)
-          (const :tag "Like `intense' but with bold weight" intense-bold))
+          (const :format "[%v] %t\n" :tag "Sublte tinted background (default)" nil)
+          (const :format "[%v] %t\n" :tag "Like the default, but also use bold typographic weight" subtle-bold)
+          (const :format "[%v] %t\n" :tag "Intense saturated background" intense)
+          (const :format "[%v] %t\n" :tag "Like `intense' but with bold weight" intense-bold))
   :link '(info-link "(modus-themes) Matching parentheses"))
 
 (defcustom modus-themes-syntax nil
@@ -2155,14 +2257,14 @@ (defcustom modus-themes-syntax nil
   :package-version '(modus-themes . "1.2.0")
   :version "28.1"
   :type '(choice
-          (const :tag "Balanced use of blue, cyan, magenta, purple variants (default)" nil)
-          (const :tag "Like the default, but with desaturated color values" faint)
-          (const :tag "Apply yellow tint to comments, keep the default style for the rest" yellow-comments)
-          (const :tag "Use green for strings, keep the default style for the rest" green-strings)
-          (const :tag "Use green for strings, yellow for comments, keep the default style for the rest" yellow-comments-green-strings)
-          (const :tag "Refashion syntax highlighting with more colors, gray comments" alt-syntax)
-          (const :tag "Like `alt-syntax' but with yellow comments" alt-syntax-yellow-comments)
-          (const :tag "Like `faint' but with yellow comments" faint-yellow-comments))
+          (const :format "[%v] %t\n" :tag "Balanced use of blue, cyan, magenta, purple variants (default)" nil)
+          (const :format "[%v] %t\n" :tag "Like the default, but with desaturated color values" faint)
+          (const :format "[%v] %t\n" :tag "Apply yellow tint to comments, keep the default style for the rest" yellow-comments)
+          (const :format "[%v] %t\n" :tag "Use green for strings, keep the default style for the rest" green-strings)
+          (const :format "[%v] %t\n" :tag "Use green for strings, yellow for comments, keep the default style for the rest" yellow-comments-green-strings)
+          (const :format "[%v] %t\n" :tag "Refashion syntax highlighting with more colors, gray comments" alt-syntax)
+          (const :format "[%v] %t\n" :tag "Like `alt-syntax' but with yellow comments" alt-syntax-yellow-comments)
+          (const :format "[%v] %t\n" :tag "Like `faint' but with yellow comments" faint-yellow-comments))
   :link '(info-link "(modus-themes) Syntax styles"))
 
 (defcustom modus-themes-links nil
@@ -2174,11 +2276,11 @@ (defcustom modus-themes-links nil
 Option `faint' applies desaturated colors to the link's text and
 underline.
 
-Option `neutral-underline' applies a subtle grey underline, while
+Option `neutral-underline' applies a subtle gray underline, while
 retaining the link's foreground.
 
 Option `faint-neutral-underline' combines a desaturated text
-color with a subtle grey underline.
+color with a subtle gray underline.
 
 Option `no-underline' removes link underlines altogether, while
 retaining their original fairly vivid color.
@@ -2193,13 +2295,13 @@ (defcustom modus-themes-links nil
   :package-version '(modus-themes . "1.2.0")
   :version "28.1"
   :type '(choice
-          (const :tag "Undeline link using the same color as the text (default)" nil)
-          (const :tag "Like the default, but apply less intense colors to links" faint)
-          (const :tag "Change the color of link underlines to a neutral grey" neutral-underline)
-          (const :tag "Desaturated foreground with neutral grey underline" faint-neutral-underline)
-          (const :tag "Remove underline property from links, keeping their foreground as-is" no-underline)
-          (const :tag "Apply underline only; use default foreground" underline-only)
-          (const :tag "Like `underline-only' but with a subtle underline" neutral-underline-only))
+          (const :format "[%v] %t\n" :tag "Undeline link using the same color as the text (default)" nil)
+          (const :format "[%v] %t\n" :tag "Like the default, but apply less intense colors to links" faint)
+          (const :format "[%v] %t\n" :tag "Change the color of link underlines to a neutral gray" neutral-underline)
+          (const :format "[%v] %t\n" :tag "Desaturated foreground with neutral gray underline" faint-neutral-underline)
+          (const :format "[%v] %t\n" :tag "Remove underline property from links, keeping their foreground as-is" no-underline)
+          (const :format "[%v] %t\n" :tag "Apply underline only; use default foreground" underline-only)
+          (const :format "[%v] %t\n" :tag "Like `underline-only' but with a subtle underline" neutral-underline-only))
   :link '(info-link "(modus-themes) Link styles"))
 
 (defcustom modus-themes-region nil
@@ -2218,15 +2320,24 @@ (defcustom modus-themes-region nil
 window.
 
 Option `bg-only-no-extend' is a combination of the `bg-only' and
-`no-extend' options."
+`no-extend' options.
+
+Option `accent' uses a more colorful background with a neutral
+foreground.  It overrides all syntax highlighting and extends to
+the edge of the window.
+
+Option `accent-no-extend' is like the above, but stretches only
+to the end of each line within the region."
   :group 'modus-themes
-  :package-version '(modus-themes . "1.0.0")
+  :package-version '(modus-themes . "1.3.0")
   :version "28.1"
   :type '(choice
-          (const :tag "Intense background; overrides colors; extends to edge of window (default)" nil)
-          (const :tag "As with the default, but does not extend" no-extend)
-          (const :tag "Subtle background; preserves colors; extends to edge of window" bg-only)
-          (const :tag "As with the `subtle' option, but does not extend" bg-only-no-extend))
+          (const :format "[%v] %t\n" :tag "Intense background; overrides colors; extends to edge of window (default)" nil)
+          (const :format "[%v] %t\n" :tag "As with the default, but does not extend" no-extend)
+          (const :format "[%v] %t\n" :tag "Subtle background; preserves colors; extends to edge of window" bg-only)
+          (const :format "[%v] %t\n" :tag "As with the `subtle' option, but does not extend" bg-only-no-extend)
+          (const :format "[%v] %t\n" :tag "Like the default, but with an accented background" accent)
+          (const :format "[%v] %t\n" :tag "As with the `accent' option, but does not extend" accent-no-extend))
   :link '(info-link "(modus-themes) Active region"))
 
 
@@ -2382,8 +2493,8 @@ (defun modus-themes--variable-pitch-ui ()
 
 (defun modus-themes--fringe (mainbg subtlebg intensebg)
   "Conditional use of background colors for fringes.
-MAINBG is the default.  SUBTLEBG should be a subtle greyscale
-value.  INTENSEBG must be a more pronounced greyscale color."
+MAINBG is the default.  SUBTLEBG should be a subtle grayscale
+value.  INTENSEBG must be a more pronounced grayscale color."
   (pcase modus-themes-fringes
     ('intense (list :background intensebg))
     ('subtle (list :background subtlebg))
@@ -2431,9 +2542,9 @@ (defun modus-themes--prompt (mainfg subtlebg subtlefg intensebg intensefg)
     ('intense (list :background intensebg :foreground intensefg))
     ('subtle-accented (list :background subtlebg :foreground subtlefg))
     ('subtle (list :background subtlebg :foreground subtlefg))
-    ('subtle-gray (list :inherit 'modus-theme-subtle-neutral))
-    ('intense-gray (list :inherit 'modus-theme-intense-neutral))
-    (_ (list :background nil :foreground mainfg))))
+    ('subtle-gray (list :inherit 'modus-themes-subtle-neutral))
+    ('intense-gray (list :inherit 'modus-themes-intense-neutral))
+    (_ (list :background 'unspecified :foreground mainfg))))
 
 (defun modus-themes--paren (normalbg intensebg)
   "Conditional use of intense colors for matching parentheses.
@@ -2582,10 +2693,10 @@ (defun modus-themes--org-block-delim (bgaccent fgaccent bg fg)
 BG, FG, BGACCENT, FGACCENT apply a background and foreground
 color respectively.
 
-The former pair is a greyscale combination that should be more
+The former pair is a grayscale combination that should be more
 distinct than the background of the block.  It is applied to the
 default styles or when `modus-themes-org-blocks' is set
-to `greyscale'.
+to `grayscale' (or `greyscale').
 
 The latter pair should be more subtle than the background of the
 block, as it is used when `modus-themes-org-blocks' is
@@ -2606,13 +2717,14 @@ (defun modus-themes--org-habit (default &optional traffic simple)
     (_ (list :background default))))
 
 (defun modus-themes--mode-line-attrs
-    (fg bg fg-alt bg-alt border border-3d &optional alt-style border-width fg-distant)
+    (fg bg fg-alt bg-alt fg-accent bg-accent border border-3d &optional alt-style border-width fg-distant)
   "Color combinations for `modus-themes-mode-line'.
 
 FG and BG are the default colors.  FG-ALT and BG-ALT are meant to
 accommodate the options for a 3D modeline or a `moody' compliant
-one.  BORDER applies to all permutations of the modeline, except
-the three-dimensional effect, where BORDER-3D is used instead.
+one.  FG-ACCENT and BG-ACCENT are used for all variants.  BORDER
+applies to all permutations of the modeline, except the
+three-dimensional effect, where BORDER-3D is used instead.
 
 Optional ALT-STYLE applies an appropriate style to the mode
 line's box property.
@@ -2644,6 +2756,17 @@ (defun modus-themes--mode-line-attrs
      `(:background ,bg :foreground ,fg
        :underline ,bg :overline ,bg
        :distant-foreground ,fg-distant))
+    ('accented
+     `(:foreground ,fg-accent :background ,bg-accent :box ,border))
+    ('accented-3d
+     `(:background ,bg-accent :foreground ,fg-accent
+       :box (:line-width ,(or border-width 1)
+             :color ,border-3d
+             :style ,(and alt-style 'released-button))))
+    ('accented-moody
+     `(:background ,bg-accent :foreground ,fg-accent
+       :underline ,border :overline ,border
+       :distant-foreground ,fg-distant))
     (_
      `(:foreground ,fg :background ,bg :box ,border))))
 
@@ -2730,7 +2853,7 @@ (defun modus-themes--link (fg fgfaint underline)
   "Conditional application of link styles.
 FG is the link's default color for its text and underline
 property.  FGFAINT is a desaturated color for the text and
-underline.  UNDERLINE is a grey color only for the undeline."
+underline.  UNDERLINE is a gray color only for the undeline."
   (pcase modus-themes-links
     ('faint (list :foreground fgfaint :underline t))
     ('neutral-underline (list :foreground fg :underline underline))
@@ -2757,18 +2880,39 @@ (defun modus-themes--scale (amount)
   (when modus-themes-scale-headings
     (list :height amount)))
 
-(defun modus-themes--region (bg fg bgsubtle)
+(defun modus-themes--region (bg fg bgsubtle bgaccent)
   "Apply `modus-themes-region' styles.
 
 BG and FG are the main values that are used by default.  BGSUBTLE
 is a subtle background value that can be combined with all colors
-used to fontify text and code syntax."
+used to fontify text and code syntax.  BGACCENT is a colored
+background that combines well with FG."
   (pcase modus-themes-region
     ('bg-only (list :background bgsubtle))
     ('bg-only-no-extend (list :background bgsubtle :extend nil))
     ('no-extend (list :background bg :foreground fg :extend nil))
+    ('accent (list :background bgaccent :foreground fg))
+    ('accent-no-extend (list :background bgaccent :foreground fg :extend nil))
     (_ (list :background bg :foreground fg))))
 
+(defun modus-themes--hl-line (bgdefault bgintense bgaccent lineneutral lineaccent)
+  "Apply `modus-themes-hl-line' styles.
+
+BGDEFAULT is a subtle neutral background.  BGINTENSE is like the
+default, but more prominent.  BGACCENT is a subtle accented
+background.  LINENEUTRAL and LINEACCENT are a color values that
+can remain distinct against the buffer's possible backgrounds:
+the former is neutral, the latter is accented.  LINEONLY must be
+a prominent neutral color."
+  (pcase modus-themes-hl-line
+    ('intense-background (list :background bgintense))
+    ('accented-background (list :background bgaccent))
+    ('underline-neutral (list :background bgdefault :underline lineneutral))
+    ('underline-accented (list :background bgaccent :underline lineaccent))
+    ('underline-only-neutral (list :background 'unspecified :underline lineneutral))
+    ('underline-only-accented (list :background 'unspecified :underline lineaccent))
+    (_ (list :background bgdefault))))
+
 
 
 ;;;; Utilities for DIY users
@@ -2929,112 +3073,112 @@ (defconst modus-themes-faces
 ;;;; custom faces
     ;; these bespoke faces are inherited by other constructs below
 ;;;;; subtle colored backgrounds
-    `(modus-theme-subtle-red ((,class :background ,red-subtle-bg :foreground ,fg-dim)))
-    `(modus-theme-subtle-green ((,class :background ,green-subtle-bg :foreground ,fg-dim)))
-    `(modus-theme-subtle-yellow ((,class :background ,yellow-subtle-bg :foreground ,fg-dim)))
-    `(modus-theme-subtle-blue ((,class :background ,blue-subtle-bg :foreground ,fg-dim)))
-    `(modus-theme-subtle-magenta ((,class :background ,magenta-subtle-bg :foreground ,fg-dim)))
-    `(modus-theme-subtle-cyan ((,class :background ,cyan-subtle-bg :foreground ,fg-dim)))
-    `(modus-theme-subtle-neutral ((,class :background ,bg-inactive :foreground ,fg-inactive)))
+    `(modus-themes-subtle-red ((,class :background ,red-subtle-bg :foreground ,fg-dim)))
+    `(modus-themes-subtle-green ((,class :background ,green-subtle-bg :foreground ,fg-dim)))
+    `(modus-themes-subtle-yellow ((,class :background ,yellow-subtle-bg :foreground ,fg-dim)))
+    `(modus-themes-subtle-blue ((,class :background ,blue-subtle-bg :foreground ,fg-dim)))
+    `(modus-themes-subtle-magenta ((,class :background ,magenta-subtle-bg :foreground ,fg-dim)))
+    `(modus-themes-subtle-cyan ((,class :background ,cyan-subtle-bg :foreground ,fg-dim)))
+    `(modus-themes-subtle-neutral ((,class :background ,bg-inactive :foreground ,fg-inactive)))
 ;;;;; intense colored backgrounds
-    `(modus-theme-intense-red ((,class :background ,red-intense-bg :foreground ,fg-main)))
-    `(modus-theme-intense-green ((,class :background ,green-intense-bg :foreground ,fg-main)))
-    `(modus-theme-intense-yellow ((,class :background ,yellow-intense-bg :foreground ,fg-main)))
-    `(modus-theme-intense-blue ((,class :background ,blue-intense-bg :foreground ,fg-main)))
-    `(modus-theme-intense-magenta ((,class :background ,magenta-intense-bg :foreground ,fg-main)))
-    `(modus-theme-intense-cyan ((,class :background ,cyan-intense-bg :foreground ,fg-main)))
-    `(modus-theme-intense-neutral ((,class :background ,bg-active :foreground ,fg-main)))
+    `(modus-themes-intense-red ((,class :background ,red-intense-bg :foreground ,fg-main)))
+    `(modus-themes-intense-green ((,class :background ,green-intense-bg :foreground ,fg-main)))
+    `(modus-themes-intense-yellow ((,class :background ,yellow-intense-bg :foreground ,fg-main)))
+    `(modus-themes-intense-blue ((,class :background ,blue-intense-bg :foreground ,fg-main)))
+    `(modus-themes-intense-magenta ((,class :background ,magenta-intense-bg :foreground ,fg-main)))
+    `(modus-themes-intense-cyan ((,class :background ,cyan-intense-bg :foreground ,fg-main)))
+    `(modus-themes-intense-neutral ((,class :background ,bg-active :foreground ,fg-main)))
 ;;;;; refined background and foreground combinations
     ;; general purpose styles that use an accented foreground against an
     ;; accented background
-    `(modus-theme-refine-red ((,class :background ,red-refine-bg :foreground ,red-refine-fg)))
-    `(modus-theme-refine-green ((,class :background ,green-refine-bg :foreground ,green-refine-fg)))
-    `(modus-theme-refine-yellow ((,class :background ,yellow-refine-bg :foreground ,yellow-refine-fg)))
-    `(modus-theme-refine-blue ((,class :background ,blue-refine-bg :foreground ,blue-refine-fg)))
-    `(modus-theme-refine-magenta ((,class :background ,magenta-refine-bg :foreground ,magenta-refine-fg)))
-    `(modus-theme-refine-cyan ((,class :background ,cyan-refine-bg :foreground ,cyan-refine-fg)))
+    `(modus-themes-refine-red ((,class :background ,red-refine-bg :foreground ,red-refine-fg)))
+    `(modus-themes-refine-green ((,class :background ,green-refine-bg :foreground ,green-refine-fg)))
+    `(modus-themes-refine-yellow ((,class :background ,yellow-refine-bg :foreground ,yellow-refine-fg)))
+    `(modus-themes-refine-blue ((,class :background ,blue-refine-bg :foreground ,blue-refine-fg)))
+    `(modus-themes-refine-magenta ((,class :background ,magenta-refine-bg :foreground ,magenta-refine-fg)))
+    `(modus-themes-refine-cyan ((,class :background ,cyan-refine-bg :foreground ,cyan-refine-fg)))
 ;;;;; "active" combinations, mostly for use on the mode line
-    `(modus-theme-active-red ((,class :background ,red-active :foreground ,bg-active)))
-    `(modus-theme-active-green ((,class :background ,green-active :foreground ,bg-active)))
-    `(modus-theme-active-yellow ((,class :background ,yellow-active :foreground ,bg-active)))
-    `(modus-theme-active-blue ((,class :background ,blue-active :foreground ,bg-active)))
-    `(modus-theme-active-magenta ((,class :background ,magenta-active :foreground ,bg-active)))
-    `(modus-theme-active-cyan ((,class :background ,cyan-active :foreground ,bg-active)))
+    `(modus-themes-active-red ((,class :background ,red-active :foreground ,bg-active)))
+    `(modus-themes-active-green ((,class :background ,green-active :foreground ,bg-active)))
+    `(modus-themes-active-yellow ((,class :background ,yellow-active :foreground ,bg-active)))
+    `(modus-themes-active-blue ((,class :background ,blue-active :foreground ,bg-active)))
+    `(modus-themes-active-magenta ((,class :background ,magenta-active :foreground ,bg-active)))
+    `(modus-themes-active-cyan ((,class :background ,cyan-active :foreground ,bg-active)))
 ;;;;; nuanced backgrounds
     ;; useful for adding an accented background that is suitable for all
     ;; main foreground colors (intended for use in Org source blocks)
-    `(modus-theme-nuanced-red ((,class :background ,red-nuanced-bg :extend t)))
-    `(modus-theme-nuanced-green ((,class :background ,green-nuanced-bg :extend t)))
-    `(modus-theme-nuanced-yellow ((,class :background ,yellow-nuanced-bg :extend t)))
-    `(modus-theme-nuanced-blue ((,class :background ,blue-nuanced-bg :extend t)))
-    `(modus-theme-nuanced-magenta ((,class :background ,magenta-nuanced-bg :extend t)))
-    `(modus-theme-nuanced-cyan ((,class :background ,cyan-nuanced-bg :extend t)))
+    `(modus-themes-nuanced-red ((,class :background ,red-nuanced-bg :extend t)))
+    `(modus-themes-nuanced-green ((,class :background ,green-nuanced-bg :extend t)))
+    `(modus-themes-nuanced-yellow ((,class :background ,yellow-nuanced-bg :extend t)))
+    `(modus-themes-nuanced-blue ((,class :background ,blue-nuanced-bg :extend t)))
+    `(modus-themes-nuanced-magenta ((,class :background ,magenta-nuanced-bg :extend t)))
+    `(modus-themes-nuanced-cyan ((,class :background ,cyan-nuanced-bg :extend t)))
 ;;;;; fringe-specific combinations
-    `(modus-theme-fringe-red ((,class :background ,red-fringe-bg :foreground ,fg-main)))
-    `(modus-theme-fringe-green ((,class :background ,green-fringe-bg :foreground ,fg-main)))
-    `(modus-theme-fringe-yellow ((,class :background ,yellow-fringe-bg :foreground ,fg-main)))
-    `(modus-theme-fringe-blue ((,class :background ,blue-fringe-bg :foreground ,fg-main)))
-    `(modus-theme-fringe-magenta ((,class :background ,magenta-fringe-bg :foreground ,fg-main)))
-    `(modus-theme-fringe-cyan ((,class :background ,cyan-fringe-bg :foreground ,fg-main)))
+    `(modus-themes-fringe-red ((,class :background ,red-fringe-bg :foreground ,fg-main)))
+    `(modus-themes-fringe-green ((,class :background ,green-fringe-bg :foreground ,fg-main)))
+    `(modus-themes-fringe-yellow ((,class :background ,yellow-fringe-bg :foreground ,fg-main)))
+    `(modus-themes-fringe-blue ((,class :background ,blue-fringe-bg :foreground ,fg-main)))
+    `(modus-themes-fringe-magenta ((,class :background ,magenta-fringe-bg :foreground ,fg-main)))
+    `(modus-themes-fringe-cyan ((,class :background ,cyan-fringe-bg :foreground ,fg-main)))
 ;;;;; special base values
     ;; these are closer to the grayscale than the accents defined above
     ;; and should only be used when the next closest alternative would be
-    ;; a greyscale value than an accented one
-    `(modus-theme-special-cold ((,class :background ,bg-special-cold :foreground ,fg-special-cold)))
-    `(modus-theme-special-mild ((,class :background ,bg-special-mild :foreground ,fg-special-mild)))
-    `(modus-theme-special-warm ((,class :background ,bg-special-warm :foreground ,fg-special-warm)))
-    `(modus-theme-special-calm ((,class :background ,bg-special-calm :foreground ,fg-special-calm)))
+    ;; a grayscale value than an accented one
+    `(modus-themes-special-cold ((,class :background ,bg-special-cold :foreground ,fg-special-cold)))
+    `(modus-themes-special-mild ((,class :background ,bg-special-mild :foreground ,fg-special-mild)))
+    `(modus-themes-special-warm ((,class :background ,bg-special-warm :foreground ,fg-special-warm)))
+    `(modus-themes-special-calm ((,class :background ,bg-special-calm :foreground ,fg-special-calm)))
 ;;;;; diff-specific combinations
     ;; intended for `diff-mode' or equivalent
-    `(modus-theme-diff-added
+    `(modus-themes-diff-added
       ((,class ,@(modus-themes--diff
                   bg-main green
                   bg-diff-focus-added fg-diff-focus-added
                   green-nuanced-bg fg-diff-added
                   bg-diff-focus-added-deuteran fg-diff-focus-added-deuteran))))
-    `(modus-theme-diff-changed
+    `(modus-themes-diff-changed
       ((,class ,@(modus-themes--diff
                   bg-main yellow
                   bg-diff-focus-changed fg-diff-focus-changed
                   yellow-nuanced-bg fg-diff-changed))))
-    `(modus-theme-diff-removed
+    `(modus-themes-diff-removed
       ((,class ,@(modus-themes--diff
                   bg-main red
                   bg-diff-focus-removed fg-diff-focus-removed
                   red-nuanced-bg fg-diff-removed))))
-    `(modus-theme-diff-refine-added
+    `(modus-themes-diff-refine-added
       ((,class ,@(modus-themes--diff
                   bg-diff-added fg-diff-added
                   bg-diff-refine-added fg-diff-refine-added
                   bg-diff-focus-added fg-diff-focus-added
                   bg-diff-refine-added-deuteran fg-diff-refine-added-deuteran))))
-    `(modus-theme-diff-refine-changed
+    `(modus-themes-diff-refine-changed
       ((,class ,@(modus-themes--diff
                   bg-diff-changed fg-diff-changed
                   bg-diff-refine-changed fg-diff-refine-changed
                   bg-diff-focus-changed fg-diff-focus-changed))))
-    `(modus-theme-diff-refine-removed
+    `(modus-themes-diff-refine-removed
       ((,class ,@(modus-themes--diff
                   bg-diff-removed fg-diff-removed
                   bg-diff-refine-removed fg-diff-refine-removed
                   bg-diff-focus-removed fg-diff-focus-removed))))
-    `(modus-theme-diff-focus-added
+    `(modus-themes-diff-focus-added
       ((,class ,@(modus-themes--diff
                   bg-dim green
                   bg-diff-focus-added fg-diff-focus-added
                   bg-diff-added fg-diff-added
                   bg-diff-focus-added-deuteran fg-diff-focus-added-deuteran))))
-    `(modus-theme-diff-focus-changed
+    `(modus-themes-diff-focus-changed
       ((,class ,@(modus-themes--diff
                   bg-dim yellow
                   bg-diff-focus-changed fg-diff-focus-changed
                   bg-diff-changed fg-diff-changed))))
-    `(modus-theme-diff-focus-removed
+    `(modus-themes-diff-focus-removed
       ((,class ,@(modus-themes--diff
                   bg-dim red
                   bg-diff-focus-removed fg-diff-focus-removed
                   bg-diff-removed fg-diff-removed))))
-    `(modus-theme-diff-heading
+    `(modus-themes-diff-heading
       ((,class ,@(modus-themes--diff
                   bg-main blue
                   bg-diff-heading fg-diff-heading
@@ -3043,65 +3187,70 @@ ;;;;; diff-specific combinations
                   t))))
 ;;;;; mark indicators
     ;; color combinations intended for Dired, Ibuffer, or equivalent
-    `(modus-theme-pseudo-header ((,class :inherit bold :foreground ,fg-main)))
-    `(modus-theme-mark-alt ((,class :inherit bold :background ,bg-mark-alt :foreground ,fg-mark-alt)))
-    `(modus-theme-mark-del ((,class :inherit bold :background ,bg-mark-del :foreground ,fg-mark-del)))
-    `(modus-theme-mark-sel ((,class :inherit bold :background ,bg-mark-sel :foreground ,fg-mark-sel)))
-    `(modus-theme-mark-symbol ((,class :inherit bold :foreground ,blue-alt)))
+    `(modus-themes-pseudo-header ((,class :inherit bold :foreground ,fg-main)))
+    `(modus-themes-mark-alt ((,class :inherit bold :background ,bg-mark-alt :foreground ,fg-mark-alt)))
+    `(modus-themes-mark-del ((,class :inherit bold :background ,bg-mark-del :foreground ,fg-mark-del)))
+    `(modus-themes-mark-sel ((,class :inherit bold :background ,bg-mark-sel :foreground ,fg-mark-sel)))
+    `(modus-themes-mark-symbol ((,class :inherit bold :foreground ,blue-alt)))
 ;;;;; heading levels
     ;; styles for regular headings used in Org, Markdown, Info, etc.
-    `(modus-theme-heading-1
+    `(modus-themes-heading-1
       ((,class ,@(modus-themes--heading
                   1 fg-main magenta-alt-other magenta-nuanced-bg bg-region)
                ,@(modus-themes--scale modus-themes-scale-4))))
-    `(modus-theme-heading-2
+    `(modus-themes-heading-2
       ((,class ,@(modus-themes--heading
                   2 fg-special-warm magenta-alt red-nuanced-bg bg-region)
                ,@(modus-themes--scale modus-themes-scale-3))))
-    `(modus-theme-heading-3
+    `(modus-themes-heading-3
       ((,class ,@(modus-themes--heading
                   3 fg-special-cold blue blue-nuanced-bg bg-region)
                ,@(modus-themes--scale modus-themes-scale-2))))
-    `(modus-theme-heading-4
+    `(modus-themes-heading-4
       ((,class ,@(modus-themes--heading
                   4 fg-special-mild cyan cyan-nuanced-bg bg-region)
                ,@(modus-themes--scale modus-themes-scale-1))))
-    `(modus-theme-heading-5
+    `(modus-themes-heading-5
       ((,class ,@(modus-themes--heading
                   5 fg-special-calm green-alt-other green-nuanced-bg bg-region))))
-    `(modus-theme-heading-6
+    `(modus-themes-heading-6
       ((,class ,@(modus-themes--heading
                   6 yellow-nuanced-fg yellow-alt-other yellow-nuanced-bg bg-region))))
-    `(modus-theme-heading-7
+    `(modus-themes-heading-7
       ((,class ,@(modus-themes--heading
                   7 red-nuanced-fg red-alt red-nuanced-bg bg-region))))
-    `(modus-theme-heading-8
+    `(modus-themes-heading-8
       ((,class ,@(modus-themes--heading
                   8 fg-dim magenta bg-alt bg-region))))
 ;;;;; graph-specific faces
-    `(modus-theme-graph-red-0 ((,class :background ,red-graph-0-bg)))
-    `(modus-theme-graph-red-1 ((,class :background ,red-graph-1-bg)))
-    `(modus-theme-graph-green-0 ((,class :background ,green-graph-0-bg)))
-    `(modus-theme-graph-green-1 ((,class :background ,green-graph-1-bg)))
-    `(modus-theme-graph-yellow-0 ((,class :background ,yellow-graph-0-bg)))
-    `(modus-theme-graph-yellow-1 ((,class :background ,yellow-graph-1-bg)))
-    `(modus-theme-graph-blue-0 ((,class :background ,blue-graph-0-bg)))
-    `(modus-theme-graph-blue-1 ((,class :background ,blue-graph-1-bg)))
-    `(modus-theme-graph-magenta-0 ((,class :background ,magenta-graph-0-bg)))
-    `(modus-theme-graph-magenta-1 ((,class :background ,magenta-graph-1-bg)))
-    `(modus-theme-graph-cyan-0 ((,class :background ,cyan-graph-0-bg)))
-    `(modus-theme-graph-cyan-1 ((,class :background ,cyan-graph-1-bg)))
+    `(modus-themes-graph-red-0 ((,class :background ,red-graph-0-bg)))
+    `(modus-themes-graph-red-1 ((,class :background ,red-graph-1-bg)))
+    `(modus-themes-graph-green-0 ((,class :background ,green-graph-0-bg)))
+    `(modus-themes-graph-green-1 ((,class :background ,green-graph-1-bg)))
+    `(modus-themes-graph-yellow-0 ((,class :background ,yellow-graph-0-bg)))
+    `(modus-themes-graph-yellow-1 ((,class :background ,yellow-graph-1-bg)))
+    `(modus-themes-graph-blue-0 ((,class :background ,blue-graph-0-bg)))
+    `(modus-themes-graph-blue-1 ((,class :background ,blue-graph-1-bg)))
+    `(modus-themes-graph-magenta-0 ((,class :background ,magenta-graph-0-bg)))
+    `(modus-themes-graph-magenta-1 ((,class :background ,magenta-graph-1-bg)))
+    `(modus-themes-graph-cyan-0 ((,class :background ,cyan-graph-0-bg)))
+    `(modus-themes-graph-cyan-1 ((,class :background ,cyan-graph-1-bg)))
 ;;;;; language checkers
-    `(modus-theme-lang-error ((,class ,@(modus-themes--lang-check fg-lang-underline-error fg-lang-error red red-nuanced-bg))))
-    `(modus-theme-lang-note ((,class ,@(modus-themes--lang-check fg-lang-underline-note fg-lang-note blue-alt blue-nuanced-bg))))
-    `(modus-theme-lang-warning ((,class ,@(modus-themes--lang-check fg-lang-underline-warning fg-lang-warning yellow yellow-nuanced-bg))))
+    `(modus-themes-lang-error ((,class ,@(modus-themes--lang-check fg-lang-underline-error fg-lang-error red red-nuanced-bg))))
+    `(modus-themes-lang-note ((,class ,@(modus-themes--lang-check fg-lang-underline-note fg-lang-note blue-alt blue-nuanced-bg))))
+    `(modus-themes-lang-warning ((,class ,@(modus-themes--lang-check fg-lang-underline-warning fg-lang-warning yellow yellow-nuanced-bg))))
 ;;;;; other custom faces
-    `(modus-theme-bold ((,class ,@(modus-themes--bold-weight))))
-    `(modus-theme-hl-line ((,class :background ,(if modus-themes-intense-hl-line
-                                                    bg-hl-line-intense bg-hl-line)
-                                   :extend t)))
-    `(modus-theme-slant ((,class :inherit italic :slant ,@(modus-themes--slant))))
-    `(modus-theme-variable-pitch ((,class ,@(modus-themes--variable-pitch))))
+    `(modus-themes-bold ((,class ,@(modus-themes--bold-weight))))
+    `(modus-themes-hl-line ((,class ,@(modus-themes--hl-line bg-hl-line bg-hl-line-intense blue-nuanced-bg
+                                                             bg-region blue-intense-bg)
+                                    :extend t)))
+    `(modus-themes-key-binding ((,class :inherit bold :foreground ,blue-alt-other)))
+    `(modus-themes-slant ((,class :inherit italic :slant ,@(modus-themes--slant))))
+    `(modus-themes-variable-pitch ((,class ,@(modus-themes--variable-pitch))))
+    `(modus-themes-reset-soft ((,class :background ,bg-main :foreground ,fg-main
+                                       :weight normal :slant normal :strike-through nil
+                                       :box nil :underline nil :overline nil :extend nil)))
+    `(modus-themes-reset-hard ((,class :inherit (fixed-pitch modus-themes-reset-soft))))
 ;;;; standard faces
 ;;;;; absolute essentials
     `(default ((,class :background ,bg-main :foreground ,fg-main)))
@@ -3114,7 +3263,7 @@ ;;;;; basic and/or ungrouped styles
     `(bold-italic ((,class :inherit (bold italic))))
     `(buffer-menu-buffer ((,class :inherit bold)))
     `(comint-highlight-input ((,class :inherit bold)))
-    `(comint-highlight-prompt ((,class :inherit modus-theme-bold
+    `(comint-highlight-prompt ((,class :inherit modus-themes-bold
                                        ,@(modus-themes--prompt
                                           cyan
                                           blue-nuanced-bg blue-alt
@@ -3124,8 +3273,10 @@ ;;;;; basic and/or ungrouped styles
     `(file-name-shadow ((,class :foreground ,fg-unfocused)))
     `(header-line ((,class ,@(modus-themes--variable-pitch-ui)
                            :background ,bg-header :foreground ,fg-header)))
-    `(header-line-highlight ((,class :inherit modus-theme-active-blue)))
-    `(help-argument-name ((,class :inherit modus-theme-slant :foreground ,cyan)))
+    `(header-line-highlight ((,class :inherit modus-themes-active-blue)))
+    `(help-argument-name ((,class :inherit modus-themes-slant :foreground ,cyan)))
+    `(help-key-binding ((,class :box (:line-width (1 . -1) :color ,bg-region) ; NOTE: box syntax is for Emacs28
+                                :background ,bg-inactive)))
     `(homoglyph ((,class :foreground ,red-alt-faint)))
     `(ibuffer-locked-buffer ((,class :foreground ,yellow-alt-other-faint)))
     `(italic ((,class :slant italic)))
@@ -3137,10 +3288,10 @@ ;;;;; basic and/or ungrouped styles
                                     cyan-refine-bg fg-main))))
     `(mm-command-output ((,class :foreground ,red-alt-other)))
     `(mm-uu-extract ((,class :background ,bg-dim :foreground ,fg-special-mild)))
-    `(next-error ((,class :inherit modus-theme-subtle-red)))
-    `(rectangle-preview ((,class :inherit modus-theme-special-mild)))
-    `(region ((,class ,@(modus-themes--region bg-region fg-main bg-hl-alt-intense))))
-    `(secondary-selection ((,class :inherit modus-theme-special-cold)))
+    `(next-error ((,class :inherit modus-themes-subtle-red)))
+    `(rectangle-preview ((,class :inherit modus-themes-special-mild)))
+    `(region ((,class ,@(modus-themes--region bg-region fg-main bg-hl-alt-intense bg-region-accent))))
+    `(secondary-selection ((,class :inherit modus-themes-special-cold)))
     `(shadow ((,class :foreground ,fg-alt)))
     `(success ((,class :inherit bold :foreground ,green)))
     `(trailing-whitespace ((,class :background ,red-intense-bg)))
@@ -3163,7 +3314,7 @@ ;;;;; buttons, links, widgets
     `(widget-single-line-field ((,class :inherit widget-field)))
 ;;;;; ag
     `(ag-hit-face ((,class :foreground ,fg-special-cold)))
-    `(ag-match-face ((,class :inherit modus-theme-special-calm)))
+    `(ag-match-face ((,class :inherit modus-themes-special-calm)))
 ;;;;; alert
     `(alert-high-face ((,class :inherit bold :foreground ,red-alt)))
     `(alert-low-face ((,class :foreground ,fg-special-mild)))
@@ -3207,28 +3358,28 @@ ;;;;; all-the-icons
     `(all-the-icons-silver ((,class :foreground ,fg-special-cold)))
     `(all-the-icons-yellow ((,class :foreground ,yellow)))
 ;;;;; annotate
-    `(annotate-annotation ((,class :inherit modus-theme-subtle-blue)))
-    `(annotate-annotation-secondary ((,class :inherit modus-theme-subtle-green)))
+    `(annotate-annotation ((,class :inherit modus-themes-subtle-blue)))
+    `(annotate-annotation-secondary ((,class :inherit modus-themes-subtle-green)))
     `(annotate-highlight ((,class :background ,blue-nuanced-bg :underline ,blue-intense)))
     `(annotate-highlight-secondary ((,class :background ,green-nuanced-bg :underline ,green-intense)))
 ;;;;; anzu
-    `(anzu-match-1 ((,class :inherit modus-theme-subtle-cyan)))
-    `(anzu-match-2 ((,class :inherit modus-theme-subtle-green)))
-    `(anzu-match-3 ((,class :inherit modus-theme-subtle-yellow)))
+    `(anzu-match-1 ((,class :inherit modus-themes-subtle-cyan)))
+    `(anzu-match-2 ((,class :inherit modus-themes-subtle-green)))
+    `(anzu-match-3 ((,class :inherit modus-themes-subtle-yellow)))
     `(anzu-mode-line ((,class :inherit bold :foreground ,green-active)))
     `(anzu-mode-line-no-match ((,class :inherit bold :foreground ,red-active)))
-    `(anzu-replace-highlight ((,class :inherit modus-theme-refine-yellow :underline t)))
-    `(anzu-replace-to ((,class :inherit (modus-theme-intense-green bold))))
+    `(anzu-replace-highlight ((,class :inherit modus-themes-refine-yellow :underline t)))
+    `(anzu-replace-to ((,class :inherit (modus-themes-intense-green bold))))
 ;;;;; apropos
     `(apropos-function-button ((,class :inherit button
                                        ,@(modus-themes--link-color
                                           magenta-alt-other magenta-alt-other-faint))))
-    `(apropos-keybinding ((,class :inherit bold :foreground ,cyan)))
+    `(apropos-keybinding ((,class :inherit modus-themes-key-binding)))
     `(apropos-misc-button ((,class :inherit button
                                    ,@(modus-themes--link-color
                                       cyan-alt-other cyan-alt-other-faint))))
-    `(apropos-property ((,class :inherit modus-theme-bold :foreground ,magenta-alt)))
-    `(apropos-symbol ((,class :inherit modus-theme-bold :foreground ,blue-alt-other)))
+    `(apropos-property ((,class :inherit modus-themes-bold :foreground ,magenta-alt)))
+    `(apropos-symbol ((,class :inherit modus-themes-bold :foreground ,magenta)))
     `(apropos-user-option-button ((,class :inherit button
                                           ,@(modus-themes--link-color
                                              green-alt-other green-alt-other-faint))))
@@ -3242,25 +3393,25 @@ ;;;;; apt-sources-list
     `(apt-sources-list-type ((,class :foreground ,magenta)))
     `(apt-sources-list-uri ((,class :foreground ,blue)))
 ;;;;; artbollocks-mode
-    `(artbollocks-face ((,class :inherit modus-theme-lang-note)))
+    `(artbollocks-face ((,class :inherit modus-themes-lang-note)))
     `(artbollocks-lexical-illusions-face ((,class :background ,bg-alt :foreground ,red-alt :underline t)))
-    `(artbollocks-passive-voice-face ((,class :inherit modus-theme-lang-warning)))
-    `(artbollocks-weasel-words-face ((,class :inherit modus-theme-lang-error)))
+    `(artbollocks-passive-voice-face ((,class :inherit modus-themes-lang-warning)))
+    `(artbollocks-weasel-words-face ((,class :inherit modus-themes-lang-error)))
 ;;;;; auctex and Tex
     `(font-latex-bold-face ((,class :inherit bold :foreground ,fg-special-calm)))
-    `(font-latex-doctex-documentation-face ((,class :inherit modus-theme-slant :foreground ,fg-special-cold)))
-    `(font-latex-doctex-preprocessor-face ((,class :inherit modus-theme-bold :foreground ,red-alt-other)))
+    `(font-latex-doctex-documentation-face ((,class :inherit modus-themes-slant :foreground ,fg-special-cold)))
+    `(font-latex-doctex-preprocessor-face ((,class :inherit modus-themes-bold :foreground ,red-alt-other)))
     `(font-latex-italic-face ((,class :inherit italic :foreground ,fg-special-calm)))
     `(font-latex-math-face ((,class :foreground ,cyan-alt-other)))
     `(font-latex-script-char-face ((,class :foreground ,cyan-alt-other)))
-    `(font-latex-sectioning-0-face ((,class :inherit modus-theme-variable-pitch :foreground ,blue-nuanced-fg)))
-    `(font-latex-sectioning-1-face ((,class :inherit (bold modus-theme-variable-pitch) :foreground ,blue-nuanced-fg)))
-    `(font-latex-sectioning-2-face ((,class :inherit (bold modus-theme-variable-pitch) :foreground ,blue-nuanced-fg)))
-    `(font-latex-sectioning-3-face ((,class :inherit (bold modus-theme-variable-pitch) :foreground ,blue-nuanced-fg)))
-    `(font-latex-sectioning-4-face ((,class :inherit (bold modus-theme-variable-pitch) :foreground ,blue-nuanced-fg)))
-    `(font-latex-sectioning-5-face ((,class :inherit modus-theme-variable-pitch :foreground ,blue-nuanced-fg)))
-    `(font-latex-sedate-face ((,class :inherit modus-theme-bold :foreground ,magenta-alt-other)))
-    `(font-latex-slide-title-face ((,class :inherit (bold modus-theme-variable-pitch) :foreground ,cyan-nuanced-fg
+    `(font-latex-sectioning-0-face ((,class :inherit modus-themes-variable-pitch :foreground ,blue-nuanced-fg)))
+    `(font-latex-sectioning-1-face ((,class :inherit (bold modus-themes-variable-pitch) :foreground ,blue-nuanced-fg)))
+    `(font-latex-sectioning-2-face ((,class :inherit (bold modus-themes-variable-pitch) :foreground ,blue-nuanced-fg)))
+    `(font-latex-sectioning-3-face ((,class :inherit (bold modus-themes-variable-pitch) :foreground ,blue-nuanced-fg)))
+    `(font-latex-sectioning-4-face ((,class :inherit (bold modus-themes-variable-pitch) :foreground ,blue-nuanced-fg)))
+    `(font-latex-sectioning-5-face ((,class :inherit modus-themes-variable-pitch :foreground ,blue-nuanced-fg)))
+    `(font-latex-sedate-face ((,class :inherit modus-themes-bold :foreground ,magenta-alt-other)))
+    `(font-latex-slide-title-face ((,class :inherit (bold modus-themes-variable-pitch) :foreground ,cyan-nuanced-fg
                                            ,@(modus-themes--scale modus-themes-scale-4))))
     `(font-latex-string-face ((,class :inherit font-lock-string-face)))
     `(font-latex-subscript-face ((,class :height 0.95)))
@@ -3277,17 +3428,18 @@ ;;;;; auctex and Tex
 ;;;;; auto-dim-other-buffers
     `(auto-dim-other-buffers-face ((,class :background ,bg-alt)))
 ;;;;; avy
-    `(avy-background-face ((,class :background ,bg-dim :foreground ,fg-dim)))
-    `(avy-goto-char-timer-face ((,class :inherit (modus-theme-intense-yellow bold))))
-    `(avy-lead-face ((,class :inherit (modus-theme-intense-magenta bold))))
-    `(avy-lead-face-0 ((,class :inherit (modus-theme-intense-blue bold))))
-    `(avy-lead-face-1 ((,class :inherit (modus-theme-intense-red bold))))
-    `(avy-lead-face-2 ((,class :inherit (modus-theme-intense-green bold))))
+    `(avy-background-face ((,class :background ,bg-dim :foreground ,fg-dim :extend t)))
+    `(avy-goto-char-timer-face ((,class :inherit (modus-themes-intense-yellow bold))))
+    `(avy-lead-face ((,class :inherit (modus-themes-intense-magenta bold modus-themes-reset-soft))))
+    `(avy-lead-face-0 ((,class :inherit (modus-themes-refine-cyan bold modus-themes-reset-soft))))
+    `(avy-lead-face-1 ((,class :inherit (modus-themes-intense-neutral bold modus-themes-reset-soft))))
+    `(avy-lead-face-2 ((,class :inherit (modus-themes-refine-red bold modus-themes-reset-soft))))
 ;;;;; aw (ace-window)
-    `(aw-background-face ((,class :background ,bg-dim :foreground ,fg-dim)))
-    `(aw-key-face ((,class :inherit bold :foreground ,blue-intense)))
-    `(aw-leading-char-face ((,class :inherit bold :height 1.5 :slant normal :background ,bg-main :foreground ,red-intense)))
-    `(aw-minibuffer-leading-char-face ((,class :foreground ,magenta-active)))
+    `(aw-background-face ((,class :foreground ,fg-unfocused)))
+    `(aw-key-face ((,class :inherit modus-themes-key-binding)))
+    `(aw-leading-char-face ((,class :inherit (bold modus-themes-reset-soft) :height 1.5
+                                    :foreground ,red-intense)))
+    `(aw-minibuffer-leading-char-face ((,class :inherit (modus-themes-intense-red bold))))
     `(aw-mode-line-face ((,class :inherit bold)))
 ;;;;; awesome-tray
     `(awesome-tray-module-awesome-tab-face ((,class :inherit bold :foreground ,red-alt-other)))
@@ -3307,47 +3459,47 @@ ;;;;; bbdb
     `(bbdb-organization ((,class :foreground ,red-alt-other)))
     `(bbdb-field-name ((,class :foreground ,cyan-alt-other)))
 ;;;;; binder
-    `(binder-sidebar-highlight ((,class :inherit modus-theme-subtle-cyan)))
-    `(binder-sidebar-marked ((,class :inherit modus-theme-mark-sel)))
-    `(binder-sidebar-missing ((,class :inherit modus-theme-subtle-red)))
+    `(binder-sidebar-highlight ((,class :inherit modus-themes-subtle-cyan)))
+    `(binder-sidebar-marked ((,class :inherit modus-themes-mark-sel)))
+    `(binder-sidebar-missing ((,class :inherit modus-themes-subtle-red)))
     `(binder-sidebar-tags ((,class :foreground ,cyan)))
 ;;;;; bm
-    `(bm-face ((,class :inherit modus-theme-subtle-yellow :extend t)))
-    `(bm-fringe-face ((,class :inherit modus-theme-fringe-yellow)))
-    `(bm-fringe-persistent-face ((,class :inherit modus-theme-fringe-blue)))
-    `(bm-persistent-face ((,class :inherit modus-theme-intense-blue :extend t)))
+    `(bm-face ((,class :inherit modus-themes-subtle-yellow :extend t)))
+    `(bm-fringe-face ((,class :inherit modus-themes-fringe-yellow)))
+    `(bm-fringe-persistent-face ((,class :inherit modus-themes-fringe-blue)))
+    `(bm-persistent-face ((,class :inherit modus-themes-intense-blue :extend t)))
 ;;;;; bongo
-    `(bongo-album-title ((,class :foreground ,yellow-active)))
+    `(bongo-album-title ((,class :foreground ,fg-active)))
     `(bongo-artist ((,class :foreground ,magenta-active)))
     `(bongo-currently-playing-track ((,class :inherit bold)))
-    `(bongo-elapsed-track-part ((,class :inherit modus-theme-subtle-magenta :underline t)))
+    `(bongo-elapsed-track-part ((,class :inherit modus-themes-subtle-magenta :underline t)))
     `(bongo-filled-seek-bar ((,class :background ,blue-intense-bg :foreground ,fg-main)))
     `(bongo-marked-track ((,class :foreground ,fg-mark-alt)))
     `(bongo-marked-track-line ((,class :background ,bg-mark-alt)))
     `(bongo-played-track ((,class :foreground ,fg-unfocused :strike-through t)))
-    `(bongo-track-length ((,class :foreground ,fg-active)))
-    `(bongo-track-title ((,class :foreground ,cyan-active)))
+    `(bongo-track-length ((,class :foreground ,fg-alt)))
+    `(bongo-track-title ((,class :foreground ,blue-active)))
     `(bongo-unfilled-seek-bar ((,class :background ,bg-special-cold :foreground ,fg-main)))
 ;;;;; boon
-    `(boon-modeline-cmd ((,class :inherit modus-theme-active-blue)))
-    `(boon-modeline-ins ((,class :inherit modus-theme-active-red)))
-    `(boon-modeline-off ((,class :inherit modus-theme-active-yellow)))
-    `(boon-modeline-spc ((,class :inherit modus-theme-active-green)))
+    `(boon-modeline-cmd ((,class :inherit modus-themes-active-blue)))
+    `(boon-modeline-ins ((,class :inherit modus-themes-active-red)))
+    `(boon-modeline-off ((,class :inherit modus-themes-active-yellow)))
+    `(boon-modeline-spc ((,class :inherit modus-themes-active-green)))
 ;;;;; breakpoint (built-in gdb-mi.el)
     `(breakpoint-disabled ((,class :inherit shadow)))
     `(breakpoint-enabled ((,class :inherit bold :foreground ,red)))
 ;;;;; buffer-expose
     `(buffer-expose-ace-char-face ((,class :inherit bold :foreground ,red-active)))
     `(buffer-expose-mode-line-face ((,class :foreground ,cyan-active)))
-    `(buffer-expose-selected-face ((,class :inherit modus-theme-special-mild)))
+    `(buffer-expose-selected-face ((,class :inherit modus-themes-special-mild)))
 ;;;;; calendar and diary
-    `(calendar-month-header ((,class :inherit modus-theme-pseudo-header)))
+    `(calendar-month-header ((,class :inherit modus-themes-pseudo-header)))
     `(calendar-today ((,class :inherit bold :underline t)))
-    `(calendar-weekday-header ((,class :inherit shadow)))
-    `(calendar-weekend-header ((,class :inherit shadow)))
-    `(diary ((,class :background ,green-nuanced-bg :foreground ,green-alt-other)))
+    `(calendar-weekday-header ((,class :foreground ,fg-unfocused)))
+    `(calendar-weekend-header ((,class :foreground ,fg-unfocused)))
+    `(diary ((,class :background ,blue-nuanced-bg :foreground ,blue-alt-other)))
     `(diary-anniversary ((,class :foreground ,red-alt-other)))
-    `(diary-time ((,class :foreground ,blue-alt)))
+    `(diary-time ((,class :foreground ,cyan)))
     `(holiday ((,class :background ,magenta-nuanced-bg :foreground ,magenta-alt)))
 ;;;;; calfw
     `(cfw:face-annotation ((,class :foreground ,fg-special-warm)))
@@ -3360,9 +3512,9 @@ ;;;;; calfw
     `(cfw:face-holiday ((,class :foreground ,magenta-alt-other)))
     `(cfw:face-periods ((,class :foreground ,cyan-alt-other)))
     `(cfw:face-saturday ((,class :inherit bold :foreground ,cyan-alt-other)))
-    `(cfw:face-select ((,class :inherit modus-theme-intense-blue)))
+    `(cfw:face-select ((,class :inherit modus-themes-intense-blue)))
     `(cfw:face-sunday ((,class :inherit bold :foreground ,cyan-alt-other)))
-    `(cfw:face-title ((,class :inherit modus-theme-variable-pitch
+    `(cfw:face-title ((,class :inherit modus-themes-variable-pitch
                               :foreground ,fg-special-cold
                               ,@(modus-themes--scale modus-themes-scale-5))))
     `(cfw:face-today ((,class :background ,bg-inactive)))
@@ -3372,7 +3524,7 @@ ;;;;; calfw
     `(cfw:face-toolbar-button-on ((,class :inherit bold :background ,blue-nuanced-bg
                                           :foreground ,blue-alt)))
 ;;;;; centaur-tabs
-    `(centaur-tabs-active-bar-face ((,class :background ,fg-tab-active)))
+    `(centaur-tabs-active-bar-face ((,class :background ,fg-tab-accent)))
     `(centaur-tabs-close-mouse-face ((,class :inherit bold :foreground ,red-active :underline t)))
     `(centaur-tabs-close-selected ((,class :inherit centaur-tabs-selected)))
     `(centaur-tabs-close-unselected ((,class :inherit centaur-tabs-unselected)))
@@ -3403,7 +3555,7 @@ ;;;;; change-log and log-view (`vc-print-log' and `vc-print-root-log')
 ;;;;; cider
     `(cider-debug-code-overlay-face ((,class :background ,bg-alt)))
     `(cider-debug-prompt-face ((,class :foreground ,magenta-alt :underline t)))
-    `(cider-deprecated-face ((,class :inherit modus-theme-refine-yellow)))
+    `(cider-deprecated-face ((,class :inherit modus-themes-refine-yellow)))
     `(cider-docview-emphasis-face ((,class :inherit italic :foreground ,fg-special-cold)))
     `(cider-docview-literal-face ((,class :foreground ,blue-alt)))
     `(cider-docview-strong-face ((,class :inherit bold :foreground ,fg-special-cold)))
@@ -3416,7 +3568,7 @@ ;;;;; cider
     `(cider-instrumented-face ((,class :box (:line-width -1 :color ,red :style nil) :background ,bg-dim)))
     `(cider-reader-conditional-face ((,class :inherit italic :foreground ,fg-special-warm)))
     `(cider-repl-input-face ((,class :inherit bold)))
-    `(cider-repl-prompt-face ((,class :foreground ,cyan-alt-other)))
+    `(cider-repl-prompt-face ((,class :inherit comint-highlight-prompt)))
     `(cider-repl-stderr-face ((,class :inherit bold :foreground ,red)))
     `(cider-repl-stdout-face ((,class :foreground ,blue)))
     `(cider-result-overlay-face ((,class :box (:line-width -1 :color ,blue :style nil) :background ,bg-dim)))
@@ -3430,15 +3582,15 @@ ;;;;; cider
     `(cider-stacktrace-promoted-button-face ((,class :box (:line-width 3 :color ,fg-alt :style released-button) :foreground ,red)))
     `(cider-stacktrace-suppressed-button-face ((,class :box (:line-width 3 :color ,fg-alt :style pressed-button)
                                                        :background ,bg-alt :foreground ,fg-alt)))
-    `(cider-test-error-face ((,class :inherit modus-theme-subtle-red)))
-    `(cider-test-failure-face ((,class :inherit (modus-theme-intense-red bold))))
-    `(cider-test-success-face ((,class :inherit modus-theme-intense-green)))
+    `(cider-test-error-face ((,class :inherit modus-themes-subtle-red)))
+    `(cider-test-failure-face ((,class :inherit (modus-themes-intense-red bold))))
+    `(cider-test-success-face ((,class :inherit modus-themes-intense-green)))
     `(cider-traced-face ((,class :box (:line-width -1 :color ,cyan :style nil) :background ,bg-dim)))
     `(cider-warning-highlight-face ((,class :foreground ,yellow :underline t)))
 ;;;;; circe (and lui)
     `(circe-fool-face ((,class :inherit shadow)))
     `(circe-highlight-nick-face ((,class :inherit bold :foreground ,blue)))
-    `(circe-prompt-face ((,class :inherit bold :foreground ,cyan-alt-other)))
+    `(circe-prompt-face ((,class :inherit comint-highlight-prompt)))
     `(circe-server-face ((,class :foreground ,fg-unfocused)))
     `(lui-button-face ((,class :inherit button)))
     `(lui-highlight-face ((,class :foreground ,magenta-alt)))
@@ -3447,8 +3599,8 @@ ;;;;; color-rg
     `(color-rg-font-lock-column-number ((,class :foreground ,magenta-alt-other)))
     `(color-rg-font-lock-command ((,class :inherit bold :foreground ,fg-main)))
     `(color-rg-font-lock-file ((,class :inherit bold :foreground ,fg-special-cold)))
-    `(color-rg-font-lock-flash ((,class :inherit modus-theme-intense-blue)))
-    `(color-rg-font-lock-function-location ((,class :inherit modus-theme-special-calm)))
+    `(color-rg-font-lock-flash ((,class :inherit modus-themes-intense-blue)))
+    `(color-rg-font-lock-function-location ((,class :inherit modus-themes-special-calm)))
     `(color-rg-font-lock-header-line-directory ((,class :foreground ,blue-active)))
     `(color-rg-font-lock-header-line-edit-mode ((,class :foreground ,magenta-active)))
     `(color-rg-font-lock-header-line-keyword ((,class :foreground ,green-active)))
@@ -3456,42 +3608,42 @@ ;;;;; color-rg
     `(color-rg-font-lock-line-number ((,class :foreground ,fg-special-warm)))
     `(color-rg-font-lock-mark-changed ((,class :inherit bold :foreground ,blue)))
     `(color-rg-font-lock-mark-deleted ((,class :inherit bold :foreground ,red)))
-    `(color-rg-font-lock-match ((,class :inherit modus-theme-special-calm)))
+    `(color-rg-font-lock-match ((,class :inherit modus-themes-special-calm)))
     `(color-rg-font-lock-position-splitter ((,class :inherit shadow)))
 ;;;;; column-enforce-mode
-    `(column-enforce-face ((,class :inherit modus-theme-refine-yellow)))
+    `(column-enforce-face ((,class :inherit modus-themes-refine-yellow)))
 ;;;;; company-mode
     `(company-echo-common ((,class :foreground ,magenta-alt-other)))
     `(company-preview ((,class :background ,bg-dim :foreground ,fg-dim)))
     `(company-preview-common ((,class :foreground ,blue-alt)))
-    `(company-preview-search ((,class :inherit modus-theme-special-calm)))
+    `(company-preview-search ((,class :inherit modus-themes-special-calm)))
     `(company-scrollbar-bg ((,class :background ,bg-active)))
     `(company-scrollbar-fg ((,class :background ,fg-active)))
-    `(company-template-field ((,class :inherit modus-theme-intense-magenta)))
+    `(company-template-field ((,class :inherit modus-themes-intense-magenta)))
     `(company-tooltip ((,class :background ,bg-alt :foreground ,fg-alt)))
-    `(company-tooltip-annotation ((,class :inherit modus-theme-slant :foreground ,fg-special-cold)))
+    `(company-tooltip-annotation ((,class :inherit modus-themes-slant :foreground ,fg-special-cold)))
     `(company-tooltip-annotation-selection ((,class :inherit bold :foreground ,fg-main)))
     `(company-tooltip-common ((,class :inherit bold :foreground ,blue-alt)))
     `(company-tooltip-common-selection ((,class :foreground ,fg-main)))
-    `(company-tooltip-mouse ((,class :inherit modus-theme-intense-blue)))
-    `(company-tooltip-search ((,class :inherit (modus-theme-refine-cyan bold))))
-    `(company-tooltip-search-selection ((,class :inherit (modus-theme-intense-green bold) :underline t)))
-    `(company-tooltip-selection ((,class :inherit (modus-theme-subtle-cyan bold))))
+    `(company-tooltip-mouse ((,class :inherit modus-themes-intense-blue)))
+    `(company-tooltip-search ((,class :inherit (modus-themes-refine-cyan bold))))
+    `(company-tooltip-search-selection ((,class :inherit (modus-themes-intense-green bold) :underline t)))
+    `(company-tooltip-selection ((,class :inherit (modus-themes-subtle-cyan bold))))
 ;;;;; company-posframe
     `(company-posframe-active-backend-name ((,class :inherit bold :background ,bg-active :foreground ,blue-active)))
     `(company-posframe-inactive-backend-name ((,class :background ,bg-active :foreground ,fg-active)))
     `(company-posframe-metadata ((,class :background ,bg-inactive :foreground ,fg-inactive)))
 ;;;;; compilation feedback
     `(compilation-column-number ((,class :foreground ,magenta-alt-other)))
-    `(compilation-error ((,class :inherit modus-theme-bold :foreground ,red)))
-    `(compilation-info ((,class :inherit modus-theme-bold :foreground ,fg-special-cold)))
+    `(compilation-error ((,class :inherit modus-themes-bold :foreground ,red)))
+    `(compilation-info ((,class :inherit modus-themes-bold :foreground ,fg-special-cold)))
     `(compilation-line-number ((,class :foreground ,fg-special-warm)))
-    `(compilation-mode-line-exit ((,class :inherit modus-theme-bold :foreground ,blue-active)))
-    `(compilation-mode-line-fail ((,class :inherit modus-theme-bold :foreground ,red-active)))
-    `(compilation-mode-line-run ((,class :inherit modus-theme-bold :foreground ,magenta-active)))
-    `(compilation-warning ((,class :inherit modus-theme-bold :foreground ,yellow)))
+    `(compilation-mode-line-exit ((,class :inherit modus-themes-bold :foreground ,blue-active)))
+    `(compilation-mode-line-fail ((,class :inherit modus-themes-bold :foreground ,red-active)))
+    `(compilation-mode-line-run ((,class :inherit modus-themes-bold :foreground ,magenta-active)))
+    `(compilation-warning ((,class :inherit modus-themes-bold :foreground ,yellow)))
 ;;;;; completions
-    `(completions-annotations ((,class :inherit modus-theme-slant :foreground ,cyan-faint)))
+    `(completions-annotations ((,class :inherit modus-themes-slant :foreground ,cyan-faint)))
     `(completions-common-part ((,class ,@(modus-themes--standard-completions
                                           blue-alt blue-nuanced-bg
                                           cyan-refine-bg cyan-refine-fg))))
@@ -3505,17 +3657,22 @@ ;;;;; consult
     `(consult-bookmark ((,class :foreground ,blue)))
     `(consult-file ((,class :foreground ,fg-special-cold)))
     `(consult-imenu-prefix ((,class :inherit shadow)))
-    `(consult-key ((,class :inherit modus-themes-bold :foreground ,magenta-alt-other)))
+    `(consult-key ((,class :inherit modus-themes-key-binding)))
     `(consult-line-number ((,class :foreground ,fg-special-warm)))
     `(consult-line-number-prefix ((,class :foreground ,fg-unfocused)))
     `(consult-narrow-indicator ((,class :foreground ,magenta-alt)))
-    `(consult-preview-cursor ((,class :inherit modus-theme-intense-blue)))
-    `(consult-preview-error ((,class :inherit modus-theme-intense-red)))
+    `(consult-preview-cursor ((,class :inherit modus-themes-intense-blue)))
+    `(consult-preview-error ((,class :inherit modus-themes-intense-red)))
     `(consult-preview-line ((,class :background ,bg-hl-alt-intense)))
+;;;;; corfu
+    `(corfu-background ((,class :background ,bg-alt :foreground ,fg-alt)))
+    `(corfu-current ((,class :inherit bold :background ,cyan-subtle-bg)))
+    `(corfu-bar ((,class :background ,fg-alt :foreground ,fg-alt)))
+    `(corfu-border ((,class :background ,bg-active :foreground ,bg-region)))
 ;;;;; counsel
     `(counsel-active-mode ((,class :foreground ,magenta-alt-other)))
     `(counsel-application-name ((,class :foreground ,red-alt-other)))
-    `(counsel-key-binding ((,class :inherit bold :foreground ,blue-alt-other)))
+    `(counsel-key-binding ((,class :inherit modus-themes-key-binding)))
     `(counsel-outline-1 ((,class :inherit org-level-1)))
     `(counsel-outline-2 ((,class :inherit org-level-2)))
     `(counsel-outline-3 ((,class :inherit org-level-3)))
@@ -3525,7 +3682,7 @@ ;;;;; counsel
     `(counsel-outline-7 ((,class :inherit org-level-7)))
     `(counsel-outline-8 ((,class :inherit org-level-8)))
     `(counsel-outline-default ((,class :foreground ,fg-main)))
-    `(counsel-variable-documentation ((,class :inherit modus-theme-slant :foreground ,yellow-alt-other)))
+    `(counsel-variable-documentation ((,class :inherit modus-themes-slant :foreground ,yellow-alt-other)))
 ;;;;; counsel-css
     `(counsel-css-selector-depth-face-1 ((,class :foreground ,blue)))
     `(counsel-css-selector-depth-face-2 ((,class :foreground ,cyan)))
@@ -3554,9 +3711,9 @@ ;;;;; cperl-mode
 ;;;;; csv-mode
     `(csv-separator-face ((,class :background ,bg-special-cold :foreground ,fg-main)))
 ;;;;; ctrlf
-    `(ctrlf-highlight-active ((,class :inherit (modus-theme-intense-green bold))))
-    `(ctrlf-highlight-line ((,class :inherit modus-theme-hl-line)))
-    `(ctrlf-highlight-passive ((,class :inherit modus-theme-refine-cyan)))
+    `(ctrlf-highlight-active ((,class :inherit (modus-themes-intense-green bold))))
+    `(ctrlf-highlight-line ((,class :inherit modus-themes-hl-line)))
+    `(ctrlf-highlight-passive ((,class :inherit modus-themes-refine-cyan)))
 ;;;;; custom (M-x customize)
     `(custom-button ((,class :box (:line-width 2 :color nil :style released-button)
                              :background ,bg-active :foreground ,fg-main)))
@@ -3564,18 +3721,18 @@ ;;;;; custom (M-x customize)
                                    :background ,bg-active :foreground ,fg-active)))
     `(custom-button-pressed ((,class :box (:line-width 2 :color nil :style pressed-button)
                                      :background ,bg-active :foreground ,fg-main)))
-    `(custom-changed ((,class :inherit modus-theme-subtle-cyan)))
+    `(custom-changed ((,class :inherit modus-themes-subtle-cyan)))
     `(custom-comment ((,class :inherit shadow)))
     `(custom-comment-tag ((,class :background ,bg-alt :foreground ,yellow-alt-other)))
     `(custom-face-tag ((,class :inherit bold :foreground ,blue-intense)))
     `(custom-group-tag ((,class :inherit bold :foreground ,green-intense)))
-    `(custom-group-tag-1 ((,class :inherit modus-theme-special-warm)))
-    `(custom-invalid ((,class :inherit (modus-theme-intense-red bold))))
-    `(custom-modified ((,class :inherit modus-theme-subtle-cyan)))
-    `(custom-rogue ((,class :inherit modus-theme-refine-magenta)))
+    `(custom-group-tag-1 ((,class :inherit modus-themes-special-warm)))
+    `(custom-invalid ((,class :inherit (modus-themes-intense-red bold))))
+    `(custom-modified ((,class :inherit modus-themes-subtle-cyan)))
+    `(custom-rogue ((,class :inherit modus-themes-refine-magenta)))
     `(custom-set ((,class :foreground ,blue-alt)))
     `(custom-state ((,class :foreground ,cyan-alt-other)))
-    `(custom-themed ((,class :inherit modus-theme-subtle-blue)))
+    `(custom-themed ((,class :inherit modus-themes-subtle-blue)))
     `(custom-variable-tag ((,class :inherit bold :foreground ,cyan)))
 ;;;;; dap-mode
     `(dap-mouse-eval-thing-face ((,class :box (:line-width -1 :color ,blue-active :style nil)
@@ -3587,7 +3744,7 @@ ;;;;; dap-mode
     `(dap-ui-locals-scope-face ((,class :inherit bold :foreground ,magenta :underline t)))
     `(dap-ui-locals-variable-face ((,class :inherit bold :foreground ,cyan)))
     `(dap-ui-locals-variable-leaf-face ((,class :inherit italic :foreground ,cyan-alt-other)))
-    `(dap-ui-marker-face ((,class :inherit modus-theme-subtle-blue)))
+    `(dap-ui-marker-face ((,class :inherit modus-themes-subtle-blue)))
     `(dap-ui-sessions-stack-frame-face ((,class :inherit bold :foreground ,magenta-alt)))
     `(dap-ui-sessions-terminated-active-face ((,class :inherit bold :foreground ,fg-alt)))
     `(dap-ui-sessions-terminated-face ((,class :inherit shadow)))
@@ -3599,7 +3756,7 @@ ;;;;; dashboard (emacs-dashboard)
     `(dashboard-text-banner ((,class :foreground ,fg-dim)))
 ;;;;; deadgrep
     `(deadgrep-filename-face ((,class :inherit bold :foreground ,fg-special-cold)))
-    `(deadgrep-match-face ((,class :inherit modus-theme-special-calm)))
+    `(deadgrep-match-face ((,class :inherit modus-themes-special-calm)))
     `(deadgrep-meta-face ((,class :inherit shadow)))
     `(deadgrep-regexp-metachar-face ((,class :inherit bold :foreground ,yellow-intense)))
     `(deadgrep-search-term-face ((,class :inherit bold :foreground ,green-intense)))
@@ -3620,11 +3777,11 @@ ;;;;; define-word
     `(define-word-face-1 ((,class :foreground ,yellow)))
     `(define-word-face-2 ((,class :foreground ,fg-main)))
 ;;;;; deft
-    `(deft-filter-string-error-face ((,class :inherit modus-theme-refine-red)))
+    `(deft-filter-string-error-face ((,class :inherit modus-themes-refine-red)))
     `(deft-filter-string-face ((,class :foreground ,green-intense)))
     `(deft-header-face ((,class :inherit bold :foreground ,fg-special-warm)))
     `(deft-separator-face ((,class :inherit shadow)))
-    `(deft-summary-face ((,class :inherit modus-theme-slant :foreground ,fg-alt)))
+    `(deft-summary-face ((,class :inherit modus-themes-slant :foreground ,fg-alt)))
     `(deft-time-face ((,class :foreground ,fg-special-cold)))
     `(deft-title-face ((,class :inherit bold :foreground ,fg-main)))
 ;;;;; dictionary
@@ -3633,34 +3790,34 @@ ;;;;; dictionary
     `(dictionary-word-definition-face (()))
     `(dictionary-word-entry-face ((,class :inherit font-lock-comment-face)))
 ;;;;; diff-hl
-    `(diff-hl-change ((,class :inherit modus-theme-fringe-yellow)))
-    `(diff-hl-delete ((,class :inherit modus-theme-fringe-red)))
+    `(diff-hl-change ((,class :inherit modus-themes-fringe-yellow)))
+    `(diff-hl-delete ((,class :inherit modus-themes-fringe-red)))
     `(diff-hl-dired-change ((,class :inherit diff-hl-change)))
     `(diff-hl-dired-delete ((,class :inherit diff-hl-delete)))
     `(diff-hl-dired-ignored ((,class :inherit dired-ignored)))
     `(diff-hl-dired-insert ((,class :inherit diff-hl-insert)))
     `(diff-hl-dired-unknown ((,class :inherit dired-ignored)))
-    `(diff-hl-insert ((,class :inherit modus-theme-fringe-green)))
-    `(diff-hl-reverted-hunk-highlight ((,class :inherit (modus-theme-active-magenta bold))))
+    `(diff-hl-insert ((,class :inherit modus-themes-fringe-green)))
+    `(diff-hl-reverted-hunk-highlight ((,class :inherit (modus-themes-active-magenta bold))))
 ;;;;; diff-mode
-    `(diff-added ((,class :inherit modus-theme-diff-added)))
-    `(diff-changed ((,class :inherit modus-theme-diff-changed :extend t)))
+    `(diff-added ((,class :inherit modus-themes-diff-added)))
+    `(diff-changed ((,class :inherit modus-themes-diff-changed :extend t)))
     `(diff-context ((,class ,@(modus-themes--diff-text fg-main fg-unfocused))))
-    `(diff-error ((,class :inherit modus-theme-intense-red)))
+    `(diff-error ((,class :inherit modus-themes-intense-red)))
     `(diff-file-header ((,class :inherit (bold diff-header))))
-    `(diff-function ((,class :inherit modus-theme-diff-heading)))
+    `(diff-function ((,class :inherit modus-themes-diff-heading)))
     `(diff-header ((,class ,@(modus-themes--diff-text cyan-faint fg-main))))
-    `(diff-hunk-header ((,class :inherit (bold modus-theme-diff-heading))))
+    `(diff-hunk-header ((,class :inherit (bold modus-themes-diff-heading))))
     `(diff-index ((,class :inherit bold :foreground ,blue-alt)))
     `(diff-indicator-added ((,class :inherit (diff-added bold)
                                     :foreground ,@(modus-themes--diff-deuteran blue green))))
     `(diff-indicator-changed ((,class :inherit (diff-changed bold) :foreground ,yellow)))
     `(diff-indicator-removed ((,class :inherit (diff-removed bold) :foreground ,red)))
-    `(diff-nonexistent ((,class :inherit (modus-theme-neutral bold))))
-    `(diff-refine-added ((,class :inherit modus-theme-diff-refine-added)))
-    `(diff-refine-changed ((,class :inherit modus-theme-diff-refine-changed)))
-    `(diff-refine-removed ((,class :inherit modus-theme-diff-refine-removed)))
-    `(diff-removed ((,class :inherit modus-theme-diff-removed)))
+    `(diff-nonexistent ((,class :inherit (modus-themes-neutral bold))))
+    `(diff-refine-added ((,class :inherit modus-themes-diff-refine-added)))
+    `(diff-refine-changed ((,class :inherit modus-themes-diff-refine-changed)))
+    `(diff-refine-removed ((,class :inherit modus-themes-diff-refine-removed)))
+    `(diff-removed ((,class :inherit modus-themes-diff-removed)))
 ;;;;; dim-autoload
     `(dim-autoload-cookie-line ((,class :inherit font-lock-comment-face)))
 ;;;;; dir-treeview
@@ -3680,7 +3837,7 @@ ;;;;; dir-treeview
     `(dir-treeview-image-icon-face ((,class :inherit dir-treeview-default-icon-face :foreground ,green-alt)))
     `(dir-treeview-indent-face ((,class :inherit shadow)))
     `(dir-treeview-label-mouse-face ((,class :inherit highlight)))
-    `(dir-treeview-start-dir-face ((,class :inherit modus-theme-pseudo-header)))
+    `(dir-treeview-start-dir-face ((,class :inherit modus-themes-pseudo-header)))
     `(dir-treeview-symlink-face ((,class :inherit button
                                          ,@(modus-themes--link-color
                                             cyan cyan-faint))))
@@ -3689,27 +3846,27 @@ ;;;;; dir-treeview
 ;;;;; dired
     `(dired-broken-symlink ((,class :inherit button :foreground ,red)))
     `(dired-directory ((,class :foreground ,blue)))
-    `(dired-flagged ((,class :inherit modus-theme-mark-del)))
-    `(dired-header ((,class :inherit modus-theme-pseudo-header)))
+    `(dired-flagged ((,class :inherit modus-themes-mark-del)))
+    `(dired-header ((,class :inherit modus-themes-pseudo-header)))
     `(dired-ignored ((,class :inherit shadow)))
-    `(dired-mark ((,class :inherit modus-theme-mark-symbol)))
-    `(dired-marked ((,class :inherit modus-theme-mark-sel)))
+    `(dired-mark ((,class :inherit modus-themes-mark-symbol)))
+    `(dired-marked ((,class :inherit modus-themes-mark-sel)))
     `(dired-perm-write ((,class :foreground ,fg-special-warm)))
     `(dired-symlink ((,class :inherit button
                              ,@(modus-themes--link-color
                                 cyan-alt cyan-alt-faint))))
     `(dired-warning ((,class :inherit bold :foreground ,yellow)))
 ;;;;; dired-async
-    `(dired-async-failures ((,class :inherit modus-theme-bold :foreground ,red-active)))
-    `(dired-async-message ((,class :inherit modus-theme-bold :foreground ,green-active)))
-    `(dired-async-mode-message ((,class :inherit modus-theme-bold :foreground ,cyan-active)))
+    `(dired-async-failures ((,class :inherit bold :foreground ,red-active)))
+    `(dired-async-message ((,class :inherit bold :foreground ,blue-active)))
+    `(dired-async-mode-message ((,class :inherit bold :foreground ,cyan-active)))
 ;;;;; dired-git
     `(dired-git-branch-else ((,class :inherit bold :foreground ,magenta-alt)))
     `(dired-git-branch-master ((,class :inherit bold :foreground ,magenta-alt-other)))
 ;;;;; dired-git-info
     `(dgi-commit-message-face ((,class :foreground ,fg-special-mild)))
 ;;;;; dired-narrow
-    `(dired-narrow-blink ((,class :inherit (modus-theme-subtle-cyan bold))))
+    `(dired-narrow-blink ((,class :inherit (modus-themes-subtle-cyan bold))))
 ;;;;; dired-subtree
     ;; remove backgrounds from dired-subtree faces, else they break
     ;; dired-{flagged,marked} and any other face that sets a background
@@ -3727,21 +3884,21 @@ ;;;;; diredc
     `(diredc-face-chmod-font-lock-read ((,class :foreground ,fg-main)))
     `(diredc-face-chmod-font-lock-write ((,class :foreground ,cyan)))
 ;;;;; diredfl
-    `(diredfl-autofile-name ((,class :inherit modus-theme-special-cold)))
+    `(diredfl-autofile-name ((,class :inherit modus-themes-special-cold)))
     `(diredfl-compressed-file-name ((,class :foreground ,fg-special-warm)))
     `(diredfl-compressed-file-suffix ((,class :foreground ,red-alt)))
     `(diredfl-date-time ((,class :foreground ,cyan-alt-other)))
-    `(diredfl-deletion ((,class :inherit modus-theme-mark-del)))
-    `(diredfl-deletion-file-name ((,class :inherit modus-theme-mark-del)))
-    `(diredfl-dir-heading ((,class :inherit modus-theme-pseudo-header)))
+    `(diredfl-deletion ((,class :inherit modus-themes-mark-del)))
+    `(diredfl-deletion-file-name ((,class :inherit modus-themes-mark-del)))
+    `(diredfl-dir-heading ((,class :inherit modus-themes-pseudo-header)))
     `(diredfl-dir-name ((,class :inherit dired-directory)))
     `(diredfl-dir-priv ((,class :foreground ,blue-alt)))
     `(diredfl-exec-priv ((,class :foreground ,magenta)))
     `(diredfl-executable-tag ((,class :foreground ,magenta-alt)))
     `(diredfl-file-name ((,class :foreground ,fg-main)))
     `(diredfl-file-suffix ((,class :foreground ,cyan)))
-    `(diredfl-flag-mark ((,class :inherit modus-theme-mark-sel)))
-    `(diredfl-flag-mark-line ((,class :inherit modus-theme-mark-sel)))
+    `(diredfl-flag-mark ((,class :inherit modus-themes-mark-sel)))
+    `(diredfl-flag-mark-line ((,class :inherit modus-themes-mark-sel)))
     `(diredfl-ignored-file-name ((,class :inherit shadow)))
     `(diredfl-link-priv ((,class :foreground ,blue-alt-other)))
     `(diredfl-no-priv ((,class :inherit shadow)))
@@ -3750,24 +3907,24 @@ ;;;;; diredfl
     `(diredfl-rare-priv ((,class :foreground ,red-alt)))
     `(diredfl-read-priv ((,class :foreground ,fg-main)))
     `(diredfl-symlink ((,class :inherit dired-symlink)))
-    `(diredfl-tagged-autofile-name ((,class :inherit modus-theme-refine-magenta)))
+    `(diredfl-tagged-autofile-name ((,class :inherit modus-themes-refine-magenta)))
     `(diredfl-write-priv ((,class :foreground ,cyan)))
 ;;;;; dired+
-    `(diredp-autofile-name ((,class :inherit modus-theme-special-cold)))
+    `(diredp-autofile-name ((,class :inherit modus-themes-special-cold)))
     `(diredp-compressed-file-name ((,class :foreground ,fg-special-warm)))
     `(diredp-compressed-file-suffix ((,class :foreground ,red-alt)))
     `(diredp-date-time ((,class :foreground ,cyan-alt-other)))
-    `(diredp-deletion ((,class :inherit modus-theme-mark-del)))
-    `(diredp-deletion-file-name ((,class :inherit modus-theme-mark-del)))
-    `(diredp-dir-heading ((,class :inherit modus-theme-pseudo-header)))
+    `(diredp-deletion ((,class :inherit modus-themes-mark-del)))
+    `(diredp-deletion-file-name ((,class :inherit modus-themes-mark-del)))
+    `(diredp-dir-heading ((,class :inherit modus-themes-pseudo-header)))
     `(diredp-dir-name ((,class :inherit dired-directory)))
     `(diredp-dir-priv ((,class :foreground ,blue-alt)))
     `(diredp-exec-priv ((,class :foreground ,magenta)))
     `(diredp-executable-tag ((,class :foreground ,magenta-alt)))
     `(diredp-file-name ((,class :foreground ,fg-main)))
     `(diredp-file-suffix ((,class :foreground ,cyan)))
-    `(diredp-flag-mark ((,class :inherit modus-theme-mark-sel)))
-    `(diredp-flag-mark-line ((,class :inherit modus-theme-mark-sel)))
+    `(diredp-flag-mark ((,class :inherit modus-themes-mark-sel)))
+    `(diredp-flag-mark-line ((,class :inherit modus-themes-mark-sel)))
     `(diredp-ignored-file-name ((,class :inherit shadow)))
     `(diredp-link-priv ((,class :foreground ,blue-alt-other)))
     `(diredp-mode-line-flagged ((,class :foreground ,red-active)))
@@ -3779,7 +3936,7 @@ ;;;;; dired+
     `(diredp-rare-priv ((,class :foreground ,red-alt)))
     `(diredp-read-priv ((,class :foreground ,fg-main)))
     `(diredp-symlink ((,class :inherit dired-symlink)))
-    `(diredp-tagged-autofile-name ((,class :inherit modus-theme-refine-magenta)))
+    `(diredp-tagged-autofile-name ((,class :inherit modus-themes-refine-magenta)))
     `(diredp-write-priv ((,class :foreground ,cyan)))
 ;;;;; disk-usage
     `(disk-usage-children ((,class :foreground ,yellow)))
@@ -3791,7 +3948,7 @@ ;;;;; disk-usage
 ;;;;; display-fill-column-indicator-mode
     `(fill-column-indicator ((,class :foreground ,bg-active)))
 ;;;;; doom-modeline
-    `(doom-modeline-bar ((,class :inherit modus-theme-active-blue)))
+    `(doom-modeline-bar ((,class :inherit modus-themes-active-blue)))
     `(doom-modeline-bar-inactive ((,class :background ,fg-inactive :foreground ,bg-main)))
     `(doom-modeline-battery-charging ((,class :foreground ,green-active)))
     `(doom-modeline-battery-critical ((,class :inherit bold :foreground ,red-active)))
@@ -3820,7 +3977,7 @@ ;;;;; doom-modeline
     `(doom-modeline-lsp-error ((,class :inherit bold :foreground ,red-active)))
     `(doom-modeline-lsp-success ((,class :inherit bold :foreground ,green-active)))
     `(doom-modeline-lsp-warning ((,class :inherit bold :foreground ,yellow-active)))
-    `(doom-modeline-panel ((,class :inherit modus-theme-active-blue)))
+    `(doom-modeline-panel ((,class :inherit modus-themes-active-blue)))
     `(doom-modeline-persp-buffer-not-in-persp ((,class :inherit italic :foreground ,yellow-active)))
     `(doom-modeline-persp-name ((,class :foreground ,fg-active)))
     `(doom-modeline-project-dir ((,class :inherit bold :foreground ,blue-active)))
@@ -3830,13 +3987,13 @@ ;;;;; doom-modeline
     `(doom-modeline-urgent ((,class :inherit bold :foreground ,red-active)))
     `(doom-modeline-warning ((,class :inherit bold :foreground ,yellow-active)))
 ;;;;; dynamic-ruler
-    `(dynamic-ruler-negative-face ((,class :inherit modus-theme-intense-neutral)))
-    `(dynamic-ruler-positive-face ((,class :inherit modus-theme-intense-yellow)))
+    `(dynamic-ruler-negative-face ((,class :inherit modus-themes-intense-neutral)))
+    `(dynamic-ruler-positive-face ((,class :inherit modus-themes-intense-yellow)))
 ;;;;; easy-jekyll
     `(easy-jekyll-help-face ((,class :background ,bg-dim :foreground ,cyan-alt-other)))
 ;;;;; easy-kill
-    `(easy-kill-origin ((,class :inherit modus-theme-subtle-red)))
-    `(easy-kill-selection ((,class :inherit modus-theme-subtle-yellow)))
+    `(easy-kill-origin ((,class :inherit modus-themes-subtle-red)))
+    `(easy-kill-selection ((,class :inherit modus-themes-subtle-yellow)))
 ;;;;; ebdb
     `(ebdb-address-default ((,class :foreground ,fg-special-calm)))
     `(ebdb-defunct ((,class :inherit shadow)))
@@ -3850,46 +4007,32 @@ ;;;;; ebdb
     `(ebdb-phone-default ((,class :foreground ,cyan)))
     `(eieio-custom-slot-tag-face ((,class :foreground ,red-alt)))
 ;;;;; ediff
-    ;; NOTE: here we break from the pattern of inheriting from the
-    ;; modus-theme-diff-* faces.
-    `(ediff-current-diff-A ((,class ,@(modus-themes--diff
-                                       bg-dim red
-                                       bg-diff-removed fg-diff-removed
-                                       red-nuanced-bg red-faint))))
+    `(ediff-current-diff-A ((,class :inherit modus-themes-diff-removed)))
     `(ediff-current-diff-Ancestor ((,class ,@(modus-themes--diff
-                                              bg-dim fg-special-cold
+                                              bg-alt fg-special-cold
                                               bg-special-cold fg-special-cold
                                               blue-nuanced-bg blue))))
-    `(ediff-current-diff-B ((,class ,@(modus-themes--diff
-                                       bg-dim green
-                                       bg-diff-added fg-diff-added
-                                       green-nuanced-bg green-faint
-                                       bg-diff-added-deuteran fg-diff-added-deuteran))))
-    `(ediff-current-diff-C ((,class ,@(modus-themes--diff
-                                       bg-dim yellow
-                                       bg-diff-changed fg-diff-changed
-                                       yellow-nuanced-bg yellow-faint))))
-    `(ediff-even-diff-A ((,class :background ,bg-diff-neutral-1 :foreground ,fg-diff-neutral-1)))
-    `(ediff-even-diff-Ancestor ((,class :background ,bg-diff-neutral-2 :foreground ,fg-diff-neutral-1)))
-    `(ediff-even-diff-B ((,class :background ,bg-diff-neutral-1 :foreground ,fg-diff-neutral-1)))
-    `(ediff-even-diff-C ((,class :background ,bg-diff-neutral-2 :foreground ,fg-diff-neutral-2)))
-    `(ediff-fine-diff-A ((,class :background ,bg-diff-focus-removed :foreground ,fg-diff-focus-removed)))
-    `(ediff-fine-diff-Ancestor ((,class :inherit modus-theme-refine-cyan)))
-    `(ediff-fine-diff-B
-      ((,class :background ,@(modus-themes--diff-deuteran bg-diff-focus-added-deuteran bg-diff-focus-added)
-               :foreground ,@(modus-themes--diff-deuteran fg-diff-focus-added-deuteran fg-diff-focus-added))))
-    `(ediff-fine-diff-C ((,class :background ,bg-diff-focus-changed :foreground ,fg-diff-focus-changed)))
-    `(ediff-odd-diff-A ((,class :background ,bg-diff-neutral-2 :foreground ,fg-diff-neutral-2)))
-    `(ediff-odd-diff-Ancestor ((,class :background ,bg-diff-neutral-0 :foreground ,fg-diff-neutral-0)))
-    `(ediff-odd-diff-B ((,class :background ,bg-diff-neutral-2 :foreground ,fg-diff-neutral-2)))
-    `(ediff-odd-diff-C ((,class :background ,bg-diff-neutral-1 :foreground ,fg-diff-neutral-1)))
+    `(ediff-current-diff-B ((,class :inherit modus-themes-diff-added)))
+    `(ediff-current-diff-C ((,class :inherit modus-themes-diff-changed)))
+    `(ediff-even-diff-A ((,class :background ,bg-alt)))
+    `(ediff-even-diff-Ancestor ((,class :background ,bg-alt)))
+    `(ediff-even-diff-B ((,class :background ,bg-alt)))
+    `(ediff-even-diff-C ((,class :background ,bg-alt)))
+    `(ediff-fine-diff-A ((,class :inherit modus-themes-diff-refine-removed)))
+    `(ediff-fine-diff-Ancestor ((,class :inherit modus-themes-refine-cyan)))
+    `(ediff-fine-diff-B ((,class :inherit modus-themes-diff-refine-added)))
+    `(ediff-fine-diff-C ((,class :inherit modus-themes-diff-refine-changed)))
+    `(ediff-odd-diff-A ((,class :inherit ediff-even-diff-A)))
+    `(ediff-odd-diff-Ancestor ((,class :inherit ediff-even-diff-Ancestor)))
+    `(ediff-odd-diff-B ((,class :inherit ediff-even-diff-B)))
+    `(ediff-odd-diff-C ((,class :inherit ediff-even-diff-C)))
 ;;;;; eglot
-    `(eglot-mode-line ((,class :inherit modus-theme-bold :foreground ,magenta-active)))
+    `(eglot-mode-line ((,class :inherit modus-themes-bold :foreground ,magenta-active)))
 ;;;;; el-search
     `(el-search-highlight-in-prompt-face ((,class :inherit bold :foreground ,magenta-alt)))
-    `(el-search-match ((,class :inherit modus-theme-intense-green)))
-    `(el-search-other-match ((,class :inherit modus-theme-special-mild)))
-    `(el-search-occur-match ((,class :inherit modus-theme-special-calm)))
+    `(el-search-match ((,class :inherit modus-themes-intense-green)))
+    `(el-search-other-match ((,class :inherit modus-themes-special-mild)))
+    `(el-search-occur-match ((,class :inherit modus-themes-special-calm)))
 ;;;;; eldoc
     ;; NOTE: see https://github.com/purcell/package-lint/issues/187
     (list 'eldoc-highlight-function-argument `((,class :inherit bold :foreground ,blue-alt-other)))
@@ -3916,17 +4059,19 @@ ;;;;; elfeed-score
     `(elfeed-score-error-level-face ((,class :foreground ,red)))
     `(elfeed-score-info-level-face ((,class :foreground ,cyan)))
     `(elfeed-score-warn-level-face ((,class :foreground ,yellow)))
+;;;;; embark
+    `(embark-keybinding ((,class :inherit modus-themes-key-binding)))
 ;;;;; emms
     `(emms-playlist-track-face ((,class :foreground ,blue)))
     `(emms-playlist-selected-face ((,class :inherit bold :foreground ,magenta)))
-;;;;; enhanced-ruby-mode
-    `(enh-ruby-heredoc-delimiter-face ((,class :foreground ,blue-alt-other)))
+;;;;; enh-ruby-mode (enhanced-ruby-mode)
+    `(enh-ruby-heredoc-delimiter-face ((,class :inherit font-lock-constant-face)))
     `(enh-ruby-op-face ((,class :foreground ,fg-main)))
-    `(enh-ruby-regexp-delimiter-face ((,class :foreground ,green)))
-    `(enh-ruby-regexp-face ((,class :foreground ,magenta)))
-    `(enh-ruby-string-delimiter-face ((,class :foreground ,blue-alt)))
-    `(erm-syn-errline ((,class :foreground ,red :underline t)))
-    `(erm-syn-warnline ((,class :foreground ,yellow :underline t)))
+    `(enh-ruby-regexp-delimiter-face ((,class :inherit font-lock-regexp-grouping-construct)))
+    `(enh-ruby-regexp-face ((,class :inherit font-lock-string-face)))
+    `(enh-ruby-string-delimiter-face ((,class :inherit font-lock-string-face)))
+    `(erm-syn-errline ((,class :inherit modus-themes-lang-error)))
+    `(erm-syn-warnline ((,class :inherit modus-themes-lang-warning)))
 ;;;;; epa
     `(epa-field-body ((,class :foreground ,fg-main)))
     `(epa-field-name ((,class :inherit bold :foreground ,fg-dim)))
@@ -3951,7 +4096,7 @@ ;;;;; erc
     `(erc-button ((,class :inherit button)))
     `(erc-command-indicator-face ((,class :inherit bold :foreground ,cyan-alt)))
     `(erc-current-nick-face ((,class :foreground ,magenta-alt-other)))
-    `(erc-dangerous-host-face ((,class :inherit modus-theme-intense-red)))
+    `(erc-dangerous-host-face ((,class :inherit modus-themes-intense-red)))
     `(erc-direct-msg-face ((,class :foreground ,magenta)))
     `(erc-error-face ((,class :inherit bold :foreground ,red)))
     `(erc-fool-face ((,class :foreground ,fg-inactive)))
@@ -3966,7 +4111,7 @@ ;;;;; erc
     `(erc-nick-prefix-face ((,class :inherit erc-nick-default-face)))
     `(erc-notice-face ((,class :foreground ,fg-unfocused)))
     `(erc-pal-face ((,class :inherit bold :foreground ,red-alt)))
-    `(erc-prompt-face ((,class :inherit bold :foreground ,cyan-alt-other)))
+    `(erc-prompt-face ((,class :inherit comint-highlight-prompt)))
     `(erc-timestamp-face ((,class :foreground ,blue-nuanced-fg)))
     `(erc-underline-face ((,class :underline t)))
     `(bg:erc-color-face0 ((,class :background "white")))
@@ -4005,15 +4150,15 @@ ;;;;; eros
     `(eros-result-overlay-face ((,class :box (:line-width -1 :color ,blue)
                                         :background ,bg-dim :foreground ,fg-dim)))
 ;;;;; ert
-    `(ert-test-result-expected ((,class :inherit modus-theme-intense-green)))
-    `(ert-test-result-unexpected ((,class :inherit modus-theme-intense-red)))
+    `(ert-test-result-expected ((,class :inherit modus-themes-intense-green)))
+    `(ert-test-result-unexpected ((,class :inherit modus-themes-intense-red)))
 ;;;;; eshell
     `(eshell-ls-archive ((,class :inherit bold :foreground ,cyan-alt)))
     `(eshell-ls-backup ((,class :foreground ,yellow-alt)))
     `(eshell-ls-clutter ((,class :foreground ,red-alt)))
     `(eshell-ls-directory ((,class :inherit bold :foreground ,blue-alt)))
     `(eshell-ls-executable ((,class :foreground ,magenta-alt)))
-    `(eshell-ls-missing ((,class :inherit modus-theme-intense-red)))
+    `(eshell-ls-missing ((,class :inherit modus-themes-intense-red)))
     `(eshell-ls-product ((,class :foreground ,fg-special-warm)))
     `(eshell-ls-readonly ((,class :foreground ,fg-special-cold)))
     `(eshell-ls-special ((,class :inherit bold :foreground ,magenta)))
@@ -4021,7 +4166,7 @@ ;;;;; eshell
                                  ,@(modus-themes--link-color
                                     cyan cyan-faint))))
     `(eshell-ls-unreadable ((,class :background ,bg-inactive :foreground ,fg-inactive)))
-    `(eshell-prompt ((,class :inherit modus-theme-bold
+    `(eshell-prompt ((,class :inherit modus-themes-bold
                              ,@(modus-themes--prompt
                                 green-alt-other
                                 green-nuanced-bg green-alt
@@ -4043,16 +4188,16 @@ ;;;;; eshell-git-prompt
     `(eshell-git-prompt-robyrussell-git-dirty-face ((,class :foreground ,yellow)))
     `(eshell-git-prompt-robyrussell-git-face ((,class :foreground ,blue)))
 ;;;;; eshell-prompt-extras (epe)
-    `(epe-dir-face ((,class :inherit modus-theme-bold :foreground ,blue)))
+    `(epe-dir-face ((,class :inherit modus-themes-bold :foreground ,blue)))
     `(epe-git-dir-face ((,class :foreground ,red-alt-other)))
     `(epe-git-face ((,class :foreground ,cyan-alt)))
     `(epe-pipeline-delimiter-face ((,class :foreground ,green-alt)))
     `(epe-pipeline-host-face ((,class :foreground ,blue)))
     `(epe-pipeline-time-face ((,class :foreground ,fg-special-warm)))
     `(epe-pipeline-user-face ((,class :foreground ,magenta)))
-    `(epe-remote-face ((,class :inherit modus-theme-slant :foreground ,fg-alt)))
+    `(epe-remote-face ((,class :inherit modus-themes-slant :foreground ,fg-alt)))
     `(epe-status-face ((,class :foreground ,magenta-alt-other)))
-    `(epe-venv-face ((,class :inherit modus-theme-slant :foreground ,fg-alt)))
+    `(epe-venv-face ((,class :inherit modus-themes-slant :foreground ,fg-alt)))
 ;;;;; eshell-syntax-highlighting
     `(eshell-syntax-highlighting-alias-face ((,class :foreground ,cyan)))
     `(eshell-syntax-highlighting-comment-face ((,class :inherit shadow)))
@@ -4065,103 +4210,104 @@ ;;;;; eshell-syntax-highlighting
 ;;;;; evil-mode
     `(evil-ex-commands ((,class :foreground ,magenta-alt-other)))
     `(evil-ex-info ((,class :foreground ,cyan-alt-other)))
-    `(evil-ex-lazy-highlight ((,class :inherit modus-theme-refine-cyan)))
-    `(evil-ex-search ((,class :inherit modus-theme-intense-green)))
-    `(evil-ex-substitute-matches ((,class :inherit modus-theme-refine-yellow :underline t)))
-    `(evil-ex-substitute-replacement ((,class :inherit (modus-theme-intense-green bold))))
+    `(evil-ex-lazy-highlight ((,class :inherit modus-themes-refine-cyan)))
+    `(evil-ex-search ((,class :inherit modus-themes-intense-green)))
+    `(evil-ex-substitute-matches ((,class :inherit modus-themes-refine-yellow :underline t)))
+    `(evil-ex-substitute-replacement ((,class :inherit (modus-themes-intense-green bold))))
 ;;;;; evil-goggles
-    `(evil-goggles-change-face ((,class :inherit modus-theme-refine-yellow)))
-    `(evil-goggles-commentary-face ((,class :inherit (modus-theme-subtle-neutral modus-theme-slant))))
-    `(evil-goggles-default-face ((,class :inherit modus-theme-subtle-neutral)))
-    `(evil-goggles-delete-face ((,class :inherit modus-theme-refine-red)))
+    `(evil-goggles-change-face ((,class :inherit modus-themes-refine-yellow)))
+    `(evil-goggles-commentary-face ((,class :inherit (modus-themes-subtle-neutral modus-themes-slant))))
+    `(evil-goggles-default-face ((,class :inherit modus-themes-subtle-neutral)))
+    `(evil-goggles-delete-face ((,class :inherit modus-themes-refine-red)))
     `(evil-goggles-fill-and-move-face ((,class :inherit evil-goggles-default-face)))
     `(evil-goggles-indent-face ((,class :inherit evil-goggles-default-face)))
-    `(evil-goggles-join-face ((,class :inherit modus-theme-subtle-green)))
+    `(evil-goggles-join-face ((,class :inherit modus-themes-subtle-green)))
     `(evil-goggles-nerd-commenter-face ((,class :inherit evil-goggles-commentary-face)))
-    `(evil-goggles-paste-face ((,class :inherit modus-theme-subtle-cyan)))
-    `(evil-goggles-record-macro-face ((,class :inherit modus-theme-special-cold)))
-    `(evil-goggles-replace-with-register-face ((,class :inherit modus-theme-refine-magenta)))
-    `(evil-goggles-set-marker-face ((,class :inherit modus-theme-intense-magenta)))
+    `(evil-goggles-paste-face ((,class :inherit modus-themes-subtle-cyan)))
+    `(evil-goggles-record-macro-face ((,class :inherit modus-themes-special-cold)))
+    `(evil-goggles-replace-with-register-face ((,class :inherit modus-themes-refine-magenta)))
+    `(evil-goggles-set-marker-face ((,class :inherit modus-themes-intense-magenta)))
     `(evil-goggles-shift-face ((,class :inherit evil-goggles-default-face)))
     `(evil-goggles-surround-face ((,class :inherit evil-goggles-default-face)))
-    `(evil-goggles-yank-face ((,class :inherit modus-theme-subtle-blue)))
+    `(evil-goggles-yank-face ((,class :inherit modus-themes-subtle-blue)))
 ;;;;; evil-snipe
-    `(evil-snipe-first-match-face ((,class :inherit (bold modus-theme-intense-blue))))
-    `(evil-snipe-matches-face ((,class :inherit modus-theme-refine-magenta)))
+    `(evil-snipe-first-match-face ((,class :inherit (bold modus-themes-intense-blue))))
+    `(evil-snipe-matches-face ((,class :inherit modus-themes-refine-magenta)))
 ;;;;; evil-visual-mark-mode
-    `(evil-visual-mark-face ((,class :inherit modus-theme-intense-magenta)))
+    `(evil-visual-mark-face ((,class :inherit modus-themes-intense-magenta)))
 ;;;;; eww
-    `(eww-invalid-certificate ((,class :foreground ,red-active)))
-    `(eww-valid-certificate ((,class :foreground ,green-active)))
-    `(eww-form-checkbox ((,class :box (:line-width 1 :color ,fg-inactive :style released-button) :background ,bg-inactive :foreground ,fg-main)))
-    `(eww-form-file ((,class :box (:line-width 1 :color ,fg-inactive :style released-button) :background ,bg-active :foreground ,fg-main)))
-    `(eww-form-select ((,class :inherit eww-form-checkbox)))
-    `(eww-form-submit ((,class :inherit eww-form-file)))
-    `(eww-form-text ((,class :box (:line-width 1 :color ,fg-inactive :style none) :background ,bg-active :foreground ,fg-active)))
-    `(eww-form-textarea ((,class :background ,bg-alt :foreground ,fg-main)))
+    `(eww-invalid-certificate ((,class :foreground ,red-faint)))
+    `(eww-valid-certificate ((,class :foreground ,blue-faint)))
+    `(eww-form-checkbox ((,class :inherit eww-form-text)))
+    `(eww-form-file ((,class :inherit eww-form-submit)))
+    `(eww-form-select ((,class :inherit eww-form-submit)))
+    `(eww-form-submit ((,class :box (:line-width 2 :style released-button)
+                               :background ,bg-active)))
+    `(eww-form-text ((,class :box ,bg-active :background ,bg-alt)))
+    `(eww-form-textarea ((,class :background ,bg-alt)))
 ;;;;; eyebrowse
     `(eyebrowse-mode-line-active ((,class :inherit bold :foreground ,blue-active)))
 ;;;;; fancy-dabbrev
     `(fancy-dabbrev-menu-face ((,class :background ,bg-alt :foreground ,fg-alt)))
     `(fancy-dabbrev-preview-face ((,class :inherit shadow :underline t)))
-    `(fancy-dabbrev-selection-face ((,class :inherit (modus-theme-intense-cyan bold))))
+    `(fancy-dabbrev-selection-face ((,class :inherit (modus-themes-intense-cyan bold))))
 ;;;;; flycheck
-    `(flycheck-error ((,class :inherit modus-theme-lang-error)))
+    `(flycheck-error ((,class :inherit modus-themes-lang-error)))
     `(flycheck-error-list-checker-name ((,class :foreground ,magenta-active)))
     `(flycheck-error-list-column-number ((,class :foreground ,fg-special-cold)))
-    `(flycheck-error-list-error ((,class :inherit modus-theme-bold :foreground ,red)))
+    `(flycheck-error-list-error ((,class :inherit modus-themes-bold :foreground ,red)))
     `(flycheck-error-list-filename ((,class :foreground ,blue)))
-    `(flycheck-error-list-highlight ((,class :inherit modus-theme-hl-line)))
+    `(flycheck-error-list-highlight ((,class :inherit modus-themes-hl-line)))
     `(flycheck-error-list-id ((,class :foreground ,magenta-alt-other)))
     `(flycheck-error-list-id-with-explainer ((,class :inherit flycheck-error-list-id :box t)))
     `(flycheck-error-list-info ((,class :foreground ,cyan)))
     `(flycheck-error-list-line-number ((,class :foreground ,fg-special-warm)))
     `(flycheck-error-list-warning ((,class :foreground ,yellow)))
-    `(flycheck-fringe-error ((,class :inherit modus-theme-fringe-red)))
-    `(flycheck-fringe-info ((,class :inherit modus-theme-fringe-cyan)))
-    `(flycheck-fringe-warning ((,class :inherit modus-theme-fringe-yellow)))
-    `(flycheck-info ((,class :inherit modus-theme-lang-note)))
+    `(flycheck-fringe-error ((,class :inherit modus-themes-fringe-red)))
+    `(flycheck-fringe-info ((,class :inherit modus-themes-fringe-cyan)))
+    `(flycheck-fringe-warning ((,class :inherit modus-themes-fringe-yellow)))
+    `(flycheck-info ((,class :inherit modus-themes-lang-note)))
     `(flycheck-verify-select-checker ((,class :box (:line-width 1 :color nil :style released-button))))
-    `(flycheck-warning ((,class :inherit modus-theme-lang-warning)))
+    `(flycheck-warning ((,class :inherit modus-themes-lang-warning)))
 ;;;;; flycheck-color-mode-line
     `(flycheck-color-mode-line-error-face ((,class :inherit flycheck-fringe-error)))
     `(flycheck-color-mode-line-info-face ((,class :inherit flycheck-fringe-info)))
     `(flycheck-color-mode-line-running-face ((,class :inherit italic :foreground ,fg-inactive)))
     `(flycheck-color-mode-line-info-face ((,class :inherit flycheck-fringe-warning)))
 ;;;;; flycheck-indicator
-    `(flycheck-indicator-disabled ((,class :inherit modus-theme-slant :foreground ,fg-inactive)))
-    `(flycheck-indicator-error ((,class :inherit modus-theme-bold :foreground ,red-active)))
-    `(flycheck-indicator-info ((,class :inherit modus-theme-bold :foreground ,blue-active)))
-    `(flycheck-indicator-running ((,class :inherit modus-theme-bold :foreground ,magenta-active)))
-    `(flycheck-indicator-success ((,class :inherit modus-theme-bold :foreground ,green-active)))
-    `(flycheck-indicator-warning ((,class :inherit modus-theme-bold :foreground ,yellow-active)))
+    `(flycheck-indicator-disabled ((,class :inherit modus-themes-slant :foreground ,fg-inactive)))
+    `(flycheck-indicator-error ((,class :inherit modus-themes-bold :foreground ,red-active)))
+    `(flycheck-indicator-info ((,class :inherit modus-themes-bold :foreground ,blue-active)))
+    `(flycheck-indicator-running ((,class :inherit modus-themes-bold :foreground ,magenta-active)))
+    `(flycheck-indicator-success ((,class :inherit modus-themes-bold :foreground ,green-active)))
+    `(flycheck-indicator-warning ((,class :inherit modus-themes-bold :foreground ,yellow-active)))
 ;;;;; flycheck-posframe
     `(flycheck-posframe-background-face ((,class :background ,bg-alt)))
     `(flycheck-posframe-border-face ((,class :inherit shadow)))
     `(flycheck-posframe-error-face ((,class :inherit bold :foreground ,red)))
-    `(flycheck-posframe-face ((,class :inherit modus-theme-slant :foreground ,fg-main)))
+    `(flycheck-posframe-face ((,class :inherit modus-themes-slant :foreground ,fg-main)))
     `(flycheck-posframe-info-face ((,class :inherit bold :foreground ,cyan)))
     `(flycheck-posframe-warning-face ((,class :inherit bold :foreground ,yellow)))
 ;;;;; flymake
-    `(flymake-error ((,class :inherit modus-theme-lang-error)))
-    `(flymake-note ((,class :inherit modus-theme-lang-note)))
-    `(flymake-warning ((,class :inherit modus-theme-lang-warning)))
+    `(flymake-error ((,class :inherit modus-themes-lang-error)))
+    `(flymake-note ((,class :inherit modus-themes-lang-note)))
+    `(flymake-warning ((,class :inherit modus-themes-lang-warning)))
 ;;;;; flyspell
-    `(flyspell-duplicate ((,class :inherit modus-theme-lang-warning)))
-    `(flyspell-incorrect ((,class :inherit modus-theme-lang-error)))
+    `(flyspell-duplicate ((,class :inherit modus-themes-lang-warning)))
+    `(flyspell-incorrect ((,class :inherit modus-themes-lang-error)))
 ;;;;; flyspell-correct
-    `(flyspell-correct-highlight-face ((,class :inherit modus-theme-refine-green)))
+    `(flyspell-correct-highlight-face ((,class :inherit modus-themes-refine-green)))
 ;;;;; flx
     `(flx-highlight-face ((,class ,@(modus-themes--extra-completions
-                                     'modus-theme-subtle-magenta
-                                     'modus-theme-intense-magenta
-                                     'modus-theme-nuanced-magenta
+                                     'modus-themes-subtle-magenta
+                                     'modus-themes-intense-magenta
+                                     'modus-themes-nuanced-magenta
                                      magenta-alt
                                      'bold))))
 ;;;;; freeze-it
     `(freeze-it-show ((,class :background ,bg-dim :foreground ,fg-special-warm)))
 ;;;;; frog-menu
-    `(frog-menu-action-keybinding-face ((,class :foreground ,blue-alt-other)))
+    `(frog-menu-action-keybinding-face ((,class :inherit modus-themes-key-binding)))
     `(frog-menu-actions-face ((,class :foreground ,magenta)))
     `(frog-menu-border ((,class :background ,bg-active)))
     `(frog-menu-candidates-face ((,class :foreground ,fg-main)))
@@ -4170,27 +4316,27 @@ ;;;;; frog-menu
 ;;;;; focus
     `(focus-unfocused ((,class :foreground ,fg-unfocused)))
 ;;;;; fold-this
-    `(fold-this-overlay ((,class :inherit modus-theme-special-mild)))
+    `(fold-this-overlay ((,class :inherit modus-themes-special-mild)))
 ;;;;; font-lock
-    `(font-lock-builtin-face ((,class :inherit modus-theme-bold
+    `(font-lock-builtin-face ((,class :inherit modus-themes-bold
                                       ,@(modus-themes--syntax-extra
                                          magenta-alt magenta-alt-faint blue-alt))))
     `(font-lock-comment-delimiter-face ((,class :inherit font-lock-comment-face)))
-    `(font-lock-comment-face ((,class :inherit modus-theme-slant
+    `(font-lock-comment-face ((,class :inherit modus-themes-slant
                                       ,@(modus-themes--syntax-comment
                                          fg-alt fg-comment-yellow))))
     `(font-lock-constant-face ((,class ,@(modus-themes--syntax-extra
                                           blue-alt-other blue-alt-other-faint magenta-alt-other))))
-    `(font-lock-doc-face ((,class :inherit modus-theme-slant
+    `(font-lock-doc-face ((,class :inherit modus-themes-slant
                                   ,@(modus-themes--syntax-docstring
                                      fg-docstring green-alt-other-faint
                                      green-alt-other-faint magenta-nuanced-fg))))
     `(font-lock-function-name-face ((,class ,@(modus-themes--syntax-extra
                                                magenta magenta-faint magenta-alt))))
-    `(font-lock-keyword-face ((,class :inherit modus-theme-bold
+    `(font-lock-keyword-face ((,class :inherit modus-themes-bold
                                       ,@(modus-themes--syntax-extra
                                          magenta-alt-other magenta-alt-other-faint cyan-alt-other))))
-    `(font-lock-negation-char-face ((,class :inherit modus-theme-bold
+    `(font-lock-negation-char-face ((,class :inherit modus-themes-bold
                                             ,@(modus-themes--syntax-foreground
                                                yellow yellow-faint))))
     `(font-lock-preprocessor-face ((,class ,@(modus-themes--syntax-foreground
@@ -4205,12 +4351,12 @@ ;;;;; font-lock
                                                       red magenta-alt))))
     `(font-lock-string-face ((,class ,@(modus-themes--syntax-string
                                         blue-alt blue-alt-faint green green-alt))))
-    `(font-lock-type-face ((,class :inherit modus-theme-bold
+    `(font-lock-type-face ((,class :inherit modus-themes-bold
                                    ,@(modus-themes--syntax-extra
                                       cyan-alt-other cyan-alt-faint cyan-alt))))
     `(font-lock-variable-name-face ((,class ,@(modus-themes--syntax-extra
                                                cyan cyan-faint blue-alt-faint))))
-    `(font-lock-warning-face ((,class :inherit modus-theme-bold
+    `(font-lock-warning-face ((,class :inherit modus-themes-bold
                                       ,@(modus-themes--syntax-foreground
                                          yellow-active yellow-alt-faint))))
 ;;;;; forge
@@ -4219,26 +4365,26 @@ ;;;;; forge
     `(forge-topic-closed ((,class :inherit shadow)))
     `(forge-topic-merged ((,class :inherit shadow)))
     `(forge-topic-open ((,class :foreground ,fg-special-mild)))
-    `(forge-topic-unmerged ((,class :inherit modus-theme-slant :foreground ,magenta)))
+    `(forge-topic-unmerged ((,class :inherit modus-themes-slant :foreground ,magenta)))
     `(forge-topic-unread ((,class :inherit bold :foreground ,fg-main)))
 ;;;;; fountain-mode
     `(fountain-character ((,class :foreground ,blue-alt-other)))
-    `(fountain-comment ((,class :inherit modus-theme-slant :foreground ,fg-alt)))
+    `(fountain-comment ((,class :inherit modus-themes-slant :foreground ,fg-alt)))
     `(fountain-dialog ((,class :foreground ,blue-alt)))
     `(fountain-metadata-key ((,class :foreground ,green-alt-other)))
     `(fountain-metadata-value ((,class :foreground ,blue)))
     `(fountain-non-printing ((,class :inherit shadow)))
-    `(fountain-note ((,class :inherit modus-theme-slant :foreground ,yellow)))
+    `(fountain-note ((,class :inherit modus-themes-slant :foreground ,yellow)))
     `(fountain-page-break ((,class :inherit bold :foreground ,red-alt)))
     `(fountain-page-number ((,class :inherit bold :foreground ,red-alt-other)))
     `(fountain-paren ((,class :foreground ,cyan)))
     `(fountain-scene-heading ((,class :inherit bold :foreground ,blue-nuanced-fg)))
-    `(fountain-section-heading ((,class :inherit modus-theme-heading-1)))
-    `(fountain-section-heading-1 ((,class :inherit modus-theme-heading-1)))
-    `(fountain-section-heading-2 ((,class :inherit modus-theme-heading-2)))
-    `(fountain-section-heading-3 ((,class :inherit modus-theme-heading-3)))
-    `(fountain-section-heading-4 ((,class :inherit modus-theme-heading-4)))
-    `(fountain-section-heading-5 ((,class :inherit modus-theme-heading-5)))
+    `(fountain-section-heading ((,class :inherit modus-themes-heading-1)))
+    `(fountain-section-heading-1 ((,class :inherit modus-themes-heading-1)))
+    `(fountain-section-heading-2 ((,class :inherit modus-themes-heading-2)))
+    `(fountain-section-heading-3 ((,class :inherit modus-themes-heading-3)))
+    `(fountain-section-heading-4 ((,class :inherit modus-themes-heading-4)))
+    `(fountain-section-heading-5 ((,class :inherit modus-themes-heading-5)))
     `(fountain-synopsis ((,class :foreground ,cyan-alt)))
     `(fountain-trans ((,class :foreground ,yellow-alt-other)))
 ;;;;; geiser
@@ -4255,40 +4401,40 @@ ;;;;; geiser
     `(geiser-font-lock-xref-link ((,class :inherit button)))
 ;;;;; git-commit
     `(git-commit-comment-action ((,class :inherit font-lock-comment-face)))
-    `(git-commit-comment-branch-local ((,class :inherit modus-theme-slant :foreground ,blue-alt)))
-    `(git-commit-comment-branch-remote ((,class :inherit modus-theme-slant :foreground ,magenta-alt)))
-    `(git-commit-comment-detached ((,class :inherit modus-theme-slant :foreground ,cyan-alt)))
-    `(git-commit-comment-file ((,class :inherit modus-theme-slant
+    `(git-commit-comment-branch-local ((,class :inherit modus-themes-slant :foreground ,blue-alt)))
+    `(git-commit-comment-branch-remote ((,class :inherit modus-themes-slant :foreground ,magenta-alt)))
+    `(git-commit-comment-detached ((,class :inherit modus-themes-slant :foreground ,cyan-alt)))
+    `(git-commit-comment-file ((,class :inherit modus-themes-slant
                                        ,@(modus-themes--syntax-comment
                                           fg-special-cold red-nuanced-fg))))
-    `(git-commit-comment-heading ((,class :inherit (bold modus-theme-slant)
+    `(git-commit-comment-heading ((,class :inherit (bold modus-themes-slant)
                                           ,@(modus-themes--syntax-comment
                                              fg-dim fg-special-warm))))
     `(git-commit-keyword ((,class :foreground ,magenta)))
     `(git-commit-known-pseudo-header ((,class :foreground ,cyan-alt-other)))
-    `(git-commit-nonempty-second-line ((,class :inherit modus-theme-refine-yellow)))
-    `(git-commit-overlong-summary ((,class :inherit modus-theme-refine-yellow)))
+    `(git-commit-nonempty-second-line ((,class :inherit modus-themes-refine-yellow)))
+    `(git-commit-overlong-summary ((,class :inherit modus-themes-refine-yellow)))
     `(git-commit-pseudo-header ((,class :foreground ,blue)))
     `(git-commit-summary ((,class :inherit bold :foreground ,cyan)))
 ;;;;; git-gutter
-    `(git-gutter:added ((,class :inherit modus-theme-fringe-green)))
-    `(git-gutter:deleted ((,class :inherit modus-theme-fringe-red)))
-    `(git-gutter:modified ((,class :inherit modus-theme-fringe-yellow)))
-    `(git-gutter:separator ((,class :inherit modus-theme-fringe-cyan)))
-    `(git-gutter:unchanged ((,class :inherit modus-theme-fringe-magenta)))
+    `(git-gutter:added ((,class :inherit modus-themes-fringe-green)))
+    `(git-gutter:deleted ((,class :inherit modus-themes-fringe-red)))
+    `(git-gutter:modified ((,class :inherit modus-themes-fringe-yellow)))
+    `(git-gutter:separator ((,class :inherit modus-themes-fringe-cyan)))
+    `(git-gutter:unchanged ((,class :inherit modus-themes-fringe-magenta)))
 ;;;;; git-gutter-fr
-    `(git-gutter-fr:added ((,class :inherit modus-theme-fringe-green)))
-    `(git-gutter-fr:deleted ((,class :inherit modus-theme-fringe-red)))
-    `(git-gutter-fr:modified ((,class :inherit modus-theme-fringe-yellow)))
+    `(git-gutter-fr:added ((,class :inherit modus-themes-fringe-green)))
+    `(git-gutter-fr:deleted ((,class :inherit modus-themes-fringe-red)))
+    `(git-gutter-fr:modified ((,class :inherit modus-themes-fringe-yellow)))
 ;;;;; git-{gutter,fringe}+
-    `(git-gutter+-added ((,class :inherit modus-theme-fringe-green)))
-    `(git-gutter+-deleted ((,class :inherit modus-theme-fringe-red)))
-    `(git-gutter+-modified ((,class :inherit modus-theme-fringe-yellow)))
-    `(git-gutter+-separator ((,class :inherit modus-theme-fringe-cyan)))
-    `(git-gutter+-unchanged ((,class :inherit modus-theme-fringe-magenta)))
-    `(git-gutter-fr+-added ((,class :inherit modus-theme-fringe-green)))
-    `(git-gutter-fr+-deleted ((,class :inherit modus-theme-fringe-red)))
-    `(git-gutter-fr+-modified ((,class :inherit modus-theme-fringe-yellow)))
+    `(git-gutter+-added ((,class :inherit modus-themes-fringe-green)))
+    `(git-gutter+-deleted ((,class :inherit modus-themes-fringe-red)))
+    `(git-gutter+-modified ((,class :inherit modus-themes-fringe-yellow)))
+    `(git-gutter+-separator ((,class :inherit modus-themes-fringe-cyan)))
+    `(git-gutter+-unchanged ((,class :inherit modus-themes-fringe-magenta)))
+    `(git-gutter-fr+-added ((,class :inherit modus-themes-fringe-green)))
+    `(git-gutter-fr+-deleted ((,class :inherit modus-themes-fringe-red)))
+    `(git-gutter-fr+-modified ((,class :inherit modus-themes-fringe-yellow)))
 ;;;;; git-lens
     `(git-lens-added ((,class :inherit bold :foreground ,green)))
     `(git-lens-deleted ((,class :inherit bold :foreground ,red)))
@@ -4296,10 +4442,10 @@ ;;;;; git-lens
     `(git-lens-modified ((,class :inherit bold :foreground ,yellow)))
     `(git-lens-renamed ((,class :inherit bold :foreground ,magenta)))
 ;;;;; git-rebase
-    `(git-rebase-comment-hash ((,class :inherit modus-theme-slant
+    `(git-rebase-comment-hash ((,class :inherit modus-themes-slant
                                        ,@(modus-themes--syntax-comment
                                           fg-special-cold red-nuanced-fg))))
-    `(git-rebase-comment-heading  ((,class :inherit (bold modus-theme-slant)
+    `(git-rebase-comment-heading  ((,class :inherit (bold modus-themes-slant)
                                            ,@(modus-themes--syntax-comment
                                               fg-dim fg-special-warm))))
     `(git-rebase-description ((,class :foreground ,fg-main)))
@@ -4328,7 +4474,7 @@ ;;;;; gnus
     `(gnus-cite-attribution ((,class :inherit italic :foreground ,fg-main)))
     `(gnus-emphasis-bold ((,class :inherit bold)))
     `(gnus-emphasis-bold-italic ((,class :inherit bold-italic)))
-    `(gnus-emphasis-highlight-words ((,class :inherit modus-theme-refine-yellow)))
+    `(gnus-emphasis-highlight-words ((,class :inherit modus-themes-refine-yellow)))
     `(gnus-emphasis-italic ((,class :inherit italic)))
     `(gnus-emphasis-underline-bold ((,class :inherit gnus-emphasis-bold :underline t)))
     `(gnus-emphasis-underline-bold-italic ((,class :inherit gnus-emphasis-bold-italic :underline t)))
@@ -4363,13 +4509,13 @@ ;;;;; gnus
     `(gnus-server-agent ((,class :inherit bold :foreground ,cyan)))
     `(gnus-server-closed ((,class :inherit bold :foreground ,magenta)))
     `(gnus-server-cloud ((,class :inherit bold :foreground ,cyan-alt)))
-    `(gnus-server-cloud-host ((,class :inherit modus-theme-refine-cyan)))
+    `(gnus-server-cloud-host ((,class :inherit modus-themes-refine-cyan)))
     `(gnus-server-denied ((,class :inherit bold :foreground ,red)))
     `(gnus-server-offline ((,class :inherit bold :foreground ,yellow)))
     `(gnus-server-opened ((,class :inherit bold :foreground ,green)))
     `(gnus-signature ((,class :inherit italic :foreground ,fg-special-cold)))
     `(gnus-splash ((,class :inherit shadow)))
-    `(gnus-summary-cancelled ((,class :inherit modus-theme-mark-alt)))
+    `(gnus-summary-cancelled ((,class :inherit modus-themes-mark-alt :extend t)))
     `(gnus-summary-high-ancient ((,class :inherit bold :foreground ,fg-alt)))
     `(gnus-summary-high-read ((,class :inherit bold :foreground ,fg-special-cold)))
     `(gnus-summary-high-ticked ((,class :inherit bold :foreground ,red-alt-other)))
@@ -4385,11 +4531,11 @@ ;;;;; gnus
     `(gnus-summary-normal-ticked ((,class :foreground ,red-alt-other)))
     `(gnus-summary-normal-undownloaded ((,class :foreground ,yellow)))
     `(gnus-summary-normal-unread ((,class :foreground ,fg-main)))
-    `(gnus-summary-selected ((,class :inherit modus-theme-subtle-blue)))
+    `(gnus-summary-selected ((,class :inherit modus-themes-subtle-blue :extend t)))
 ;;;;; golden-ratio-scroll-screen
     `(golden-ratio-scroll-highlight-line-face ((,class :background ,cyan-subtle-bg :foreground ,fg-main)))
 ;;;;; helm
-    `(helm-M-x-key ((,class :inherit bold :foreground ,magenta-alt-other)))
+    `(helm-M-x-key ((,class :inherit modus-themes-key-binding)))
     `(helm-action ((,class :underline t)))
     `(helm-bookmark-addressbook ((,class :foreground ,green-alt)))
     `(helm-bookmark-directory ((,class :inherit bold :foreground ,blue)))
@@ -4418,9 +4564,9 @@ ;;;;; helm
     `(helm-etags-file ((,class :foreground ,fg-dim :underline t)))
     `(helm-ff-backup-file ((,class :inherit shadow)))
     `(helm-ff-denied ((,class ,@(modus-themes--extra-completions
-                                 'modus-theme-subtle-red
-                                 'modus-theme-intense-red
-                                 'modus-theme-nuanced-red
+                                 'modus-themes-subtle-red
+                                 'modus-themes-intense-red
+                                 'modus-themes-nuanced-red
                                  red))))
     `(helm-ff-directory ((,class :inherit helm-buffer-directory)))
     `(helm-ff-dirs ((,class :inherit bold :foreground ,blue-alt-other)))
@@ -4433,20 +4579,20 @@ ;;;;; helm
                                        ,@(modus-themes--link-color
                                           red red-faint))))
     `(helm-ff-pipe ((,class ,@(modus-themes--extra-completions
-                               'modus-theme-refine-magenta
-                               'modus-theme-subtle-magenta
-                               'modus-theme-nuanced-magenta
+                               'modus-themes-refine-magenta
+                               'modus-themes-subtle-magenta
+                               'modus-themes-nuanced-magenta
                                magenta))))
     `(helm-ff-prefix ((,class ,@(modus-themes--extra-completions
-                                 'modus-theme-refine-yellow
-                                 'modus-theme-subtle-yellow
-                                 'modus-theme-nuanced-yellow
+                                 'modus-themes-refine-yellow
+                                 'modus-themes-subtle-yellow
+                                 'modus-themes-nuanced-yellow
                                  yellow-alt-other))))
     `(helm-ff-socket ((,class :foreground ,red-alt-other)))
     `(helm-ff-suid ((,class ,@(modus-themes--extra-completions
-                               'modus-theme-subtle-red
-                               'modus-theme-refine-red
-                               'modus-theme-nuanced-yellow
+                               'modus-themes-subtle-red
+                               'modus-themes-refine-red
+                               'modus-themes-nuanced-yellow
                                red-alt))))
     `(helm-ff-symlink ((,class :inherit button
                                ,@(modus-themes--link-color
@@ -4457,59 +4603,59 @@ ;;;;; helm
     `(helm-grep-file ((,class :inherit bold :foreground ,fg-special-cold)))
     `(helm-grep-finish ((,class :foreground ,green-active)))
     `(helm-grep-lineno ((,class :foreground ,fg-special-warm)))
-    `(helm-grep-match ((,class :inherit modus-theme-special-calm)))
+    `(helm-grep-match ((,class :inherit modus-themes-special-calm)))
     `(helm-header ((,class :inherit bold :foreground ,fg-special-cold)))
     `(helm-header-line-left-margin ((,class :inherit bold :foreground ,yellow-intense)))
     `(helm-history-deleted ((,class ,@(modus-themes--extra-completions
-                                       'modus-theme-subtle-red
-                                       'modus-theme-intense-red
-                                       'modus-theme-nuanced-red
+                                       'modus-themes-subtle-red
+                                       'modus-themes-intense-red
+                                       'modus-themes-nuanced-red
                                        red
                                        'bold))))
     `(helm-history-remote ((,class :foreground ,red-alt-other)))
     `(helm-lisp-completion-info ((,class :foreground ,fg-special-warm)))
     `(helm-lisp-show-completion ((,class ,@(modus-themes--extra-completions
-                                            'modus-theme-subtle-yellow
-                                            'modus-theme-refine-yellow
-                                            'modus-theme-nuanced-yellow
+                                            'modus-themes-subtle-yellow
+                                            'modus-themes-refine-yellow
+                                            'modus-themes-nuanced-yellow
                                             yellow
                                             'bold))))
     `(helm-locate-finish ((,class :foreground ,green-active)))
     `(helm-match ((,class ,@(modus-themes--extra-completions
-                             'modus-theme-subtle-cyan
-                             'modus-theme-refine-cyan
-                             'modus-theme-nuanced-cyan
+                             'modus-themes-subtle-cyan
+                             'modus-themes-refine-cyan
+                             'modus-themes-nuanced-cyan
                              cyan
                              'bold))))
     `(helm-match-item ((,class ,@(modus-themes--extra-completions
-                                  'modus-theme-subtle-neutral
-                                  'modus-theme-subtle-cyan
-                                  'modus-theme-nuanced-cyan
+                                  'modus-themes-subtle-neutral
+                                  'modus-themes-subtle-cyan
+                                  'modus-themes-nuanced-cyan
                                   cyan-alt-other))))
     `(helm-minibuffer-prompt ((,class :inherit minibuffer-prompt)))
     `(helm-moccur-buffer ((,class :inherit button
                                   ,@(modus-themes--link-color
                                      cyan-alt-other cyan-alt-other-faint))))
     `(helm-mode-prefix ((,class ,@(modus-themes--extra-completions
-                                   'modus-theme-subtle-magenta
-                                   'modus-theme-intense-magenta
-                                   'modus-theme-nuanced-magenta
+                                   'modus-themes-subtle-magenta
+                                   'modus-themes-intense-magenta
+                                   'modus-themes-nuanced-magenta
                                    magenta-alt
                                    'bold))))
     `(helm-non-file-buffer ((,class :inherit shadow)))
     `(helm-prefarg ((,class :foreground ,red-active)))
     `(helm-resume-need-update ((,class ,@(modus-themes--extra-completions
-                                          'modus-theme-subtle-magenta
-                                          'modus-theme-refine-magenta
-                                          'modus-theme-nuanced-magenta
+                                          'modus-themes-subtle-magenta
+                                          'modus-themes-refine-magenta
+                                          'modus-themes-nuanced-magenta
                                           magenta-alt-other))))
     `(helm-selection ((,class ,@(modus-themes--extra-completions
-                                 'modus-theme-subtle-blue
-                                 'modus-theme-refine-blue
-                                 'modus-theme-special-cold
+                                 'modus-themes-subtle-blue
+                                 'modus-themes-refine-blue
+                                 'modus-themes-special-cold
                                  nil
                                  'bold))))
-    `(helm-selection-line ((,class :inherit modus-theme-special-cold)))
+    `(helm-selection-line ((,class :inherit modus-themes-special-cold)))
     `(helm-separator ((,class :foreground ,fg-special-mild)))
     `(helm-time-zone-current ((,class :foreground ,green)))
     `(helm-time-zone-home ((,class :foreground ,magenta)))
@@ -4517,7 +4663,7 @@ ;;;;; helm
                                   ,@(modus-themes--scale modus-themes-scale-4))))
     `(helm-top-columns ((,class :inherit helm-header)))
     `(helm-ucs-char ((,class :foreground ,yellow-alt-other)))
-    `(helm-visible-mark ((,class :inherit modus-theme-subtle-cyan)))
+    `(helm-visible-mark ((,class :inherit modus-themes-subtle-cyan)))
 ;;;;; helm-ls-git
     `(helm-ls-git-added-copied-face ((,class :foreground ,green-intense)))
     `(helm-ls-git-added-modified-face ((,class :foreground ,yellow-intense)))
@@ -4530,16 +4676,16 @@ ;;;;; helm-ls-git
     `(helm-ls-git-untracked-face ((,class :foreground ,fg-special-cold)))
 ;;;;; helm-switch-shell
     `(helm-switch-shell-new-shell-face ((,class ,@(modus-themes--extra-completions
-                                                   'modus-theme-subtle-magenta
-                                                   'modus-theme-refine-magenta
-                                                   'modus-theme-nuanced-magenta
+                                                   'modus-themes-subtle-magenta
+                                                   'modus-themes-refine-magenta
+                                                   'modus-themes-nuanced-magenta
                                                    magenta-alt-other
                                                    'bold))))
 ;;;;; helm-xref
     `(helm-xref-file-name ((,class :inherit bold :foreground ,fg-special-cold)))
     `(helm-xref-file-name ((,class :foreground ,fg-special-warm)))
 ;;;;; helpful
-    `(helpful-heading ((,class :inherit modus-theme-heading-1)))
+    `(helpful-heading ((,class :inherit modus-themes-heading-1)))
 ;;;;; highlight region or ad-hoc regexp
     `(hi-aquamarine ((,class :background ,cyan-subtle-bg :foreground ,fg-main)))
     `(hi-black-b ((,class :inherit bold :background ,fg-main :foreground ,bg-main)))
@@ -4553,10 +4699,11 @@ ;;;;; highlight region or ad-hoc regexp
     `(hi-red-b ((,class :inherit bold :background ,red-intense-bg :foreground ,fg-main)))
     `(hi-salmon ((,class :background ,red-subtle-bg :foreground ,fg-main)))
     `(hi-yellow ((,class :background ,yellow-subtle-bg :foreground ,fg-main)))
-    `(highlight ((,class :inherit modus-theme-subtle-blue)))
-    `(highlight-changes ((,class :foreground ,yellow-alt-other)))
-    `(highlight-changes-delete ((,class :foreground ,red-alt-other :underline t)))
-    `(hl-line ((,class :inherit modus-theme-hl-line)))
+    `(highlight ((,class :inherit modus-themes-subtle-blue)))
+    `(highlight-changes ((,class :foreground ,red-alt :underline nil)))
+    `(highlight-changes-delete ((,class :background ,red-nuanced-bg
+                                        :foreground ,red :underline t)))
+    `(hl-line ((,class :inherit modus-themes-hl-line)))
 ;;;;; highlight-blocks
     `(highlight-blocks-depth-1-face ((,class :background ,bg-dim :foreground ,fg-main)))
     `(highlight-blocks-depth-2-face ((,class :background ,bg-alt :foreground ,fg-main)))
@@ -4578,12 +4725,12 @@ ;;;;; highlight-escape-sequences (`hes-mode')
     `(hes-escape-backslash-face ((,class :inherit bold :foreground ,fg-escape-char-construct)))
     `(hes-escape-sequence-face ((,class :inherit bold :foreground ,fg-escape-char-backslash)))
 ;;;;; highlight-indentation
-    `(highlight-indentation-face ((,class :inherit modus-theme-hl-line)))
+    `(highlight-indentation-face ((,class :inherit modus-themes-hl-line)))
     `(highlight-indentation-current-column-face ((,class :background ,bg-active)))
 ;;;;; highlight-numbers
     `(highlight-numbers-number ((,class :foreground ,blue-alt-other)))
 ;;;;; highlight-symbol
-    `(highlight-symbol-face ((,class :inherit modus-theme-special-mild)))
+    `(highlight-symbol-face ((,class :inherit modus-themes-special-mild)))
 ;;;;; highlight-thing
     `(highlight-thing ((,class :background ,bg-alt :foreground ,cyan)))
 ;;;;; hl-defined
@@ -4593,7 +4740,7 @@ ;;;;; hl-defined
 ;;;;; hl-fill-column
     `(hl-fill-column-face ((,class :background ,bg-active :foreground ,fg-active)))
 ;;;;; hl-todo
-    `(hl-todo ((,class :inherit (bold modus-theme-slant) :foreground ,red-alt-other)))
+    `(hl-todo ((,class :inherit (bold modus-themes-slant) :foreground ,red-alt-other)))
 ;;;;; hydra
     `(hydra-face-amaranth ((,class :inherit bold :foreground ,yellow)))
     `(hydra-face-blue ((,class :inherit bold :foreground ,blue-alt)))
@@ -4623,7 +4770,7 @@ ;;;;; ido-mode
                                   magenta bg-alt
                                   bg-active fg-main))))
     `(ido-incomplete-regexp ((,class :inherit error)))
-    `(ido-indicator ((,class :inherit modus-theme-subtle-yellow)))
+    `(ido-indicator ((,class :inherit modus-themes-subtle-yellow)))
     `(ido-only-match ((,class :inherit bold
                               ,@(modus-themes--standard-completions
                                  green green-nuanced-bg
@@ -4631,8 +4778,8 @@ ;;;;; ido-mode
     `(ido-subdir ((,class :foreground ,blue)))
     `(ido-virtual ((,class :foreground ,fg-special-warm)))
 ;;;;; iedit
-    `(iedit-occurrence ((,class :inherit modus-theme-refine-blue)))
-    `(iedit-read-only-occurrence ((,class :inherit modus-theme-intense-yellow)))
+    `(iedit-occurrence ((,class :inherit modus-themes-refine-blue)))
+    `(iedit-read-only-occurrence ((,class :inherit modus-themes-intense-yellow)))
 ;;;;; iflipb
     `(iflipb-current-buffer-face ((,class :inherit bold :foreground ,cyan-alt)))
     `(iflipb-other-buffer-face ((,class :inherit shadow)))
@@ -4648,10 +4795,10 @@ ;;;;; imenu-list
 ;;;;; indium
     `(indium-breakpoint-face ((,class :foreground ,red-active)))
     `(indium-frame-url-face ((,class :inherit button :foreground ,fg-alt)))
-    `(indium-keyword-face ((,class :foreground ,magenta-alt-other)))
-    `(indium-litable-face ((,class :inherit modus-theme-slant :foreground ,fg-special-warm)))
-    `(indium-repl-error-face ((,class :inherit bold :foreground ,red)))
-    `(indium-repl-prompt-face ((,class :foreground ,cyan-alt-other)))
+    `(indium-keyword-face ((,class :inherit font-lock-keyword-face)))
+    `(indium-litable-face ((,class :inherit modus-themes-slant :foreground ,fg-special-warm)))
+    `(indium-repl-error-face ((,class :inherit error)))
+    `(indium-repl-prompt-face ((,class :inherit comint-highlight-prompt)))
     `(indium-repl-stdout-face ((,class :foreground ,fg-main)))
 ;;;;; info
     `(Info-quoted ((,class ,@(modus-themes--mixed-fonts) ; the capitalization is canonical
@@ -4659,16 +4806,16 @@ ;;;;; info
     `(info-header-node ((,class :inherit bold :foreground ,fg-alt)))
     `(info-header-xref ((,class :foreground ,blue-active)))
     `(info-index-match ((,class :inherit match)))
-    `(info-menu-header ((,class :inherit modus-theme-heading-3)))
+    `(info-menu-header ((,class :inherit modus-themes-heading-3)))
     `(info-menu-star ((,class :foreground ,red)))
     `(info-node ((,class :inherit bold)))
-    `(info-title-1 ((,class :inherit modus-theme-heading-1)))
-    `(info-title-2 ((,class :inherit modus-theme-heading-2)))
-    `(info-title-3 ((,class :inherit modus-theme-heading-3)))
-    `(info-title-4 ((,class :inherit modus-theme-heading-4)))
+    `(info-title-1 ((,class :inherit modus-themes-heading-1)))
+    `(info-title-2 ((,class :inherit modus-themes-heading-2)))
+    `(info-title-3 ((,class :inherit modus-themes-heading-3)))
+    `(info-title-4 ((,class :inherit modus-themes-heading-4)))
 ;;;;; info-colors
     `(info-colors-lisp-code-block ((,class :inherit fixed-pitch)))
-    `(info-colors-ref-item-command ((,class :foreground ,magenta)))
+    `(info-colors-ref-item-command ((,class :inherit font-lock-function-name-face)))
     `(info-colors-ref-item-constant ((,class :inherit font-lock-constant-face)))
     `(info-colors-ref-item-function ((,class :inherit font-lock-function-name-face)))
     `(info-colors-ref-item-macro ((,class :inherit font-lock-keyword-face)))
@@ -4688,35 +4835,35 @@ ;;;;; interaction-log
 ;;;;; ioccur
     `(ioccur-cursor ((,class :foreground ,fg-main)))
     `(ioccur-invalid-regexp ((,class :foreground ,red)))
-    `(ioccur-match-face ((,class :inherit modus-theme-special-calm)))
-    `(ioccur-match-overlay-face ((,class :inherit modus-theme-special-cold :extend t)))
+    `(ioccur-match-face ((,class :inherit modus-themes-special-calm)))
+    `(ioccur-match-overlay-face ((,class :inherit modus-themes-special-cold :extend t)))
     `(ioccur-num-line-face ((,class :foreground ,fg-special-warm)))
-    `(ioccur-overlay-face ((,class :inherit modus-theme-refine-blue :extend t)))
-    `(ioccur-regexp-face ((,class :inherit (modus-theme-intense-magenta bold))))
+    `(ioccur-overlay-face ((,class :inherit modus-themes-refine-blue :extend t)))
+    `(ioccur-regexp-face ((,class :inherit (modus-themes-intense-magenta bold))))
     `(ioccur-title-face ((,class :inherit bold :foreground ,red-alt
                                  ,@(modus-themes--scale modus-themes-scale-4))))
 ;;;;; isearch, occur, and the like
-    `(isearch ((,class :inherit (modus-theme-intense-green bold))))
-    `(isearch-fail ((,class :inherit modus-theme-refine-red)))
-    `(isearch-group-1 ((,class :inherit modus-theme-intense-blue)))
-    `(isearch-group-2 ((,class :inherit modus-theme-intense-magenta)))
-    `(lazy-highlight ((,class :inherit modus-theme-refine-cyan)))
-    `(match ((,class :inherit modus-theme-special-calm)))
-    `(query-replace ((,class :inherit (modus-theme-intense-yellow bold))))
+    `(isearch ((,class :inherit (modus-themes-intense-green bold))))
+    `(isearch-fail ((,class :inherit modus-themes-refine-red)))
+    `(isearch-group-1 ((,class :inherit modus-themes-intense-blue)))
+    `(isearch-group-2 ((,class :inherit modus-themes-intense-magenta)))
+    `(lazy-highlight ((,class :inherit modus-themes-refine-cyan)))
+    `(match ((,class :inherit modus-themes-special-calm)))
+    `(query-replace ((,class :inherit (modus-themes-intense-yellow bold))))
 ;;;;; isl (isearch-light)
-    `(isl-line ((,class :inherit modus-theme-subtle-green)))
-    `(isl-match ((,class :inherit modus-theme-refine-cyan)))
-    `(isl-number ((,class :inherit modus-theme-bold :foreground ,green-active)))
-    `(isl-on ((,class :inherit (bold modus-theme-intense-green))))
-    `(isl-string ((,class :inherit modus-theme-bold :foreground ,cyan-active)))
+    `(isl-line ((,class :inherit modus-themes-subtle-green)))
+    `(isl-match ((,class :inherit modus-themes-refine-cyan)))
+    `(isl-number ((,class :inherit modus-themes-bold :foreground ,green-active)))
+    `(isl-on ((,class :inherit (bold modus-themes-intense-green))))
+    `(isl-string ((,class :inherit modus-themes-bold :foreground ,cyan-active)))
 ;;;;; ivy
     `(ivy-action ((,class :inherit bold :foreground ,red-alt)))
     `(ivy-completions-annotations ((,class :inherit completions-annotations)))
     `(ivy-confirm-face ((,class :foreground ,cyan)))
     `(ivy-current-match ((,class ,@(modus-themes--extra-completions
-                                    'modus-theme-refine-cyan
-                                    'modus-theme-intense-cyan
-                                    'modus-theme-special-cold
+                                    'modus-themes-refine-cyan
+                                    'modus-themes-intense-cyan
+                                    'modus-themes-special-cold
                                     nil
                                     'bold))))
     `(ivy-cursor ((,class :background ,fg-main :foreground ,bg-main)))
@@ -4725,36 +4872,36 @@ ;;;;; ivy
     `(ivy-highlight-face ((,class :foreground ,magenta)))
     `(ivy-match-required-face ((,class :inherit error)))
     `(ivy-minibuffer-match-face-1 ((,class ,@(modus-themes--extra-completions
-                                              'modus-theme-subtle-neutral
-                                              'modus-theme-intense-neutral
-                                              'modus-theme-nuanced-cyan
+                                              'modus-themes-subtle-neutral
+                                              'modus-themes-intense-neutral
+                                              'modus-themes-nuanced-cyan
                                               fg-alt))))
     `(ivy-minibuffer-match-face-2 ((,class ,@(modus-themes--extra-completions
-                                              'modus-theme-subtle-green
-                                              'modus-theme-refine-green
-                                              'modus-theme-nuanced-green
+                                              'modus-themes-subtle-green
+                                              'modus-themes-refine-green
+                                              'modus-themes-nuanced-green
                                               green-alt-other
                                               'bold))))
     `(ivy-minibuffer-match-face-3 ((,class ,@(modus-themes--extra-completions
-                                              'modus-theme-subtle-blue
-                                              'modus-theme-refine-blue
-                                              'modus-theme-nuanced-blue
+                                              'modus-themes-subtle-blue
+                                              'modus-themes-refine-blue
+                                              'modus-themes-nuanced-blue
                                               blue-alt-other
                                               'bold))))
     `(ivy-minibuffer-match-face-4 ((,class ,@(modus-themes--extra-completions
-                                              'modus-theme-subtle-magenta
-                                              'modus-theme-refine-magenta
-                                              'modus-theme-nuanced-magenta
+                                              'modus-themes-subtle-magenta
+                                              'modus-themes-refine-magenta
+                                              'modus-themes-nuanced-magenta
                                               magenta-alt-other
                                               'bold))))
     `(ivy-minibuffer-match-highlight ((,class ,@(modus-themes--extra-completions
-                                                 'modus-theme-subtle-cyan
-                                                 'modus-theme-intense-cyan
-                                                 'modus-theme-nuanced-cyan
+                                                 'modus-themes-subtle-cyan
+                                                 'modus-themes-intense-cyan
+                                                 'modus-themes-nuanced-cyan
                                                  cyan-alt-other
                                                  'bold))))
-    `(ivy-modified-buffer ((,class :inherit modus-theme-slant :foreground ,yellow)))
-    `(ivy-modified-outside-buffer ((,class :inherit modus-theme-slant :foreground ,yellow-alt)))
+    `(ivy-modified-buffer ((,class :inherit modus-themes-slant :foreground ,yellow)))
+    `(ivy-modified-outside-buffer ((,class :inherit modus-themes-slant :foreground ,yellow-alt)))
     `(ivy-org ((,class :foreground ,cyan-alt-other)))
     `(ivy-prompt-match ((,class :inherit ivy-current-match)))
     `(ivy-remote ((,class :foreground ,magenta)))
@@ -4762,9 +4909,9 @@ ;;;;; ivy
     `(ivy-subdir ((,class :foreground ,blue-alt-other)))
     `(ivy-virtual ((,class :foreground ,magenta-alt-other)))
     `(ivy-yanked-word ((,class ,@(modus-themes--extra-completions
-                                  'modus-theme-subtle-blue
-                                  'modus-theme-refine-blue
-                                  'modus-theme-nuanced-blue
+                                  'modus-themes-subtle-blue
+                                  'modus-themes-refine-blue
+                                  'modus-themes-nuanced-blue
                                   blue-alt))))
 ;;;;; ivy-posframe
     `(ivy-posframe ((,class :background ,bg-dim :foreground ,fg-main)))
@@ -4773,55 +4920,51 @@ ;;;;; ivy-posframe
 ;;;;; jira (org-jira)
     `(jiralib-comment-face ((,class :background ,bg-alt)))
     `(jiralib-comment-header-face ((,class :inherit bold)))
-    `(jiralib-issue-info-face ((,class :inherit modus-theme-special-warm)))
-    `(jiralib-issue-info-header-face ((,class :inherit (modus-theme-special-warm bold))))
+    `(jiralib-issue-info-face ((,class :inherit modus-themes-special-warm)))
+    `(jiralib-issue-info-header-face ((,class :inherit (modus-themes-special-warm bold))))
     `(jiralib-issue-summary-face ((,class :inherit bold)))
     `(jiralib-link-filter-face ((,class :underline t)))
     `(jiralib-link-issue-face ((,class :underline t)))
     `(jiralib-link-project-face ((,class :underline t)))
 ;;;;; journalctl-mode
-    `(journalctl-error-face ((,class :inherit bold :foreground ,red)))
-    `(journalctl-finished-face ((,class :inherit bold :foreground ,green)))
+    `(journalctl-error-face ((,class :inherit error)))
+    `(journalctl-finished-face ((,class :inherit success)))
     `(journalctl-host-face ((,class :foreground ,blue)))
     `(journalctl-process-face ((,class :foreground ,cyan-alt-other)))
     `(journalctl-starting-face ((,class :foreground ,green)))
     `(journalctl-timestamp-face ((,class :foreground ,fg-special-cold)))
-    `(journalctl-warning-face ((,class :inherit bold :foreground ,yellow)))
+    `(journalctl-warning-face ((,class :inherit warning)))
 ;;;;; js2-mode
-    `(js2-error ((,class :foreground ,red)))
-    `(js2-external-variable ((,class :foreground ,cyan-alt-other)))
-    `(js2-function-call ((,class :foreground ,magenta)))
-    `(js2-function-param ((,class :foreground ,blue)))
-    `(js2-instance-member ((,class :foreground ,magenta-alt-other)))
+    `(js2-error ((,class :inherit modus-themes-lang-error)))
+    `(js2-external-variable ((,class :inherit font-lock-variable-name-face)))
+    `(js2-function-call ((,class :inherit font-lock-function-name-face)))
+    `(js2-function-param ((,class :inherit font-lock-constant-face)))
+    `(js2-instance-member ((,class :inherit font-lock-keyword-face)))
     `(js2-jsdoc-html-tag-delimiter ((,class :foreground ,fg-main)))
-    `(js2-jsdoc-html-tag-name ((,class :foreground ,cyan)))
-    `(js2-jsdoc-tag ((,class :foreground ,fg-special-calm)))
-    `(js2-jsdoc-type ((,class :foreground ,fg-special-cold)))
-    `(js2-jsdoc-value ((,class :foreground ,fg-special-warm)))
+    `(js2-jsdoc-html-tag-name ((,class :inherit font-lock-function-name-face)))
+    `(js2-jsdoc-tag ((,class :inherit (font-lock-builtin-face font-lock-comment-face) :weight normal)))
+    `(js2-jsdoc-type ((,class :inherit (font-lock-type-face font-lock-comment-face) :weight normal)))
+    `(js2-jsdoc-value ((,class :inherit (font-lock-constant-face font-lock-comment-face) :weight normal)))
     `(js2-object-property ((,class :foreground ,fg-main)))
     `(js2-object-property-access ((,class :foreground ,fg-main)))
-    `(js2-private-function-call ((,class :foreground ,green-alt-other)))
-    `(js2-private-member ((,class :foreground ,fg-special-mild)))
-    `(js2-warning ((,class :foreground ,yellow-alt :underline t)))
+    `(js2-private-function-call ((,class :inherit font-lock-preprocessor-face)))
+    `(js2-private-member ((,class :inherit font-lock-warning-face)))
+    `(js2-warning ((,class :inherit modus-themes-lang-warning)))
 ;;;;; julia
-    `(julia-macro-face ((,class :inherit modus-theme-bold :foreground ,magenta)))
-    `(julia-quoted-symbol-face ((,class :foreground ,blue-alt-other)))
+    `(julia-macro-face ((,class :inherit font-lock-builtin-face)))
+    `(julia-quoted-symbol-face ((,class :inherit font-lock-constant-face)))
 ;;;;; jupyter
     `(jupyter-eval-overlay ((,class :inherit bold :foreground ,blue)))
     `(jupyter-repl-input-prompt ((,class :foreground ,cyan-alt-other)))
     `(jupyter-repl-output-prompt ((,class :foreground ,magenta-alt-other)))
-    `(jupyter-repl-traceback ((,class :inherit modus-theme-intense-red)))
+    `(jupyter-repl-traceback ((,class :inherit modus-themes-intense-red)))
 ;;;;; kaocha-runner
     `(kaocha-runner-error-face ((,class :foreground ,red)))
     `(kaocha-runner-success-face ((,class :foreground ,green)))
     `(kaocha-runner-warning-face ((,class :foreground ,yellow)))
 ;;;;; keycast
     `(keycast-command ((,class :inherit bold :foreground ,blue-active)))
-    `(keycast-key ((,class ,@(modus-themes--mode-line-attrs
-                              bg-main blue-active
-                              bg-main blue-active
-                              blue-active blue-intense
-                              'alt-style -3))))
+    `(keycast-key ((,class :background ,blue-active :foreground ,bg-main)))
 ;;;;; line numbers (display-line-numbers-mode and global variant)
     `(line-number
       ((,class :inherit default
@@ -4844,27 +4987,24 @@ ;;;;; line numbers (display-line-numbers-mode and global variant)
                   fg-alt bg-inactive
                   fg-inactive))))
 ;;;;; lsp-mode
-    `(lsp-face-highlight-read ((,class :inherit modus-theme-subtle-blue :underline t)))
-    `(lsp-face-highlight-textual ((,class :inherit modus-theme-subtle-blue)))
-    `(lsp-face-highlight-write ((,class :inherit (modus-theme-refine-blue bold))))
+    `(lsp-face-highlight-read ((,class :inherit modus-themes-subtle-blue :underline t)))
+    `(lsp-face-highlight-textual ((,class :inherit modus-themes-subtle-blue)))
+    `(lsp-face-highlight-write ((,class :inherit (modus-themes-refine-blue bold))))
     `(lsp-face-semhl-constant ((,class :foreground ,blue-alt-other)))
-    `(lsp-face-semhl-deprecated
-      ((,(append '((supports :underline (:style wave))) class)
-        :foreground ,yellow :underline (:style wave))
-       (,class :foreground ,yellow :underline t)))
+    `(lsp-face-semhl-deprecated ((,class :inherit modus-themes-lang-warning)))
     `(lsp-face-semhl-enummember ((,class :foreground ,blue-alt-other)))
     `(lsp-face-semhl-field ((,class :foreground ,cyan-alt)))
-    `(lsp-face-semhl-field-static ((,class :inherit modus-theme-slant :foreground ,cyan-alt)))
+    `(lsp-face-semhl-field-static ((,class :inherit modus-themes-slant :foreground ,cyan-alt)))
     `(lsp-face-semhl-function ((,class :foreground ,magenta)))
     `(lsp-face-semhl-method ((,class :foreground ,magenta)))
-    `(lsp-face-semhl-namespace ((,class :inherit modus-theme-bold :foreground ,magenta-alt)))
+    `(lsp-face-semhl-namespace ((,class :inherit modus-themes-bold :foreground ,magenta-alt)))
     `(lsp-face-semhl-preprocessor ((,class :foreground ,red-alt-other)))
-    `(lsp-face-semhl-static-method ((,class :inherit modus-theme-slant :foreground ,magenta)))
+    `(lsp-face-semhl-static-method ((,class :inherit modus-themes-slant :foreground ,magenta)))
     `(lsp-face-semhl-type-class ((,class :foreground ,magenta-alt)))
     `(lsp-face-semhl-type-enum ((,class :foreground ,magenta-alt)))
-    `(lsp-face-semhl-type-primitive ((,class :inherit modus-theme-slant :foreground ,magenta-alt)))
-    `(lsp-face-semhl-type-template ((,class :inherit modus-theme-slant :foreground ,magenta-alt)))
-    `(lsp-face-semhl-type-typedef ((,class :inherit modus-theme-slant :foreground ,magenta-alt)))
+    `(lsp-face-semhl-type-primitive ((,class :inherit modus-themes-slant :foreground ,magenta-alt)))
+    `(lsp-face-semhl-type-template ((,class :inherit modus-themes-slant :foreground ,magenta-alt)))
+    `(lsp-face-semhl-type-typedef ((,class :inherit modus-themes-slant :foreground ,magenta-alt)))
     `(lsp-face-semhl-variable ((,class :foreground ,cyan)))
     `(lsp-face-semhl-variable-local ((,class :foreground ,cyan)))
     `(lsp-face-semhl-variable-parameter ((,class :foreground ,cyan-alt-other)))
@@ -4876,11 +5016,11 @@ ;;;;; lsp-mode
     `(lsp-ui-peek-filename ((,class :foreground ,fg-special-warm)))
     `(lsp-ui-peek-footer ((,class :background ,bg-header :foreground ,fg-header)))
     `(lsp-ui-peek-header ((,class :background ,bg-header :foreground ,fg-header)))
-    `(lsp-ui-peek-highlight ((,class :inherit modus-theme-subtle-blue)))
+    `(lsp-ui-peek-highlight ((,class :inherit modus-themes-subtle-blue)))
     `(lsp-ui-peek-line-number ((,class :inherit shadow)))
     `(lsp-ui-peek-list ((,class :background ,bg-dim)))
     `(lsp-ui-peek-peek ((,class :background ,bg-alt)))
-    `(lsp-ui-peek-selection ((,class :inherit modus-theme-subtle-cyan)))
+    `(lsp-ui-peek-selection ((,class :inherit modus-themes-subtle-cyan)))
     `(lsp-ui-sideline-code-action ((,class :foreground ,yellow)))
     `(lsp-ui-sideline-current-symbol ((,class :inherit bold :height 0.99 :box (:line-width -1 :style nil) :foreground ,fg-main)))
     `(lsp-ui-sideline-symbol ((,class :inherit bold :height 0.99 :box (:line-width -1 :style nil) :foreground ,fg-alt)))
@@ -4899,11 +5039,11 @@ ;;;;; magit
     `(magit-bisect-good ((,class :foreground ,green-alt-other)))
     `(magit-bisect-skip ((,class :foreground ,yellow-alt-other)))
     `(magit-blame-date ((,class :foreground ,blue)))
-    `(magit-blame-dimmed ((,class :inherit shadow)))
+    `(magit-blame-dimmed ((,class :inherit (shadow modus-themes-reset-hard))))
     `(magit-blame-hash ((,class :foreground ,fg-special-warm)))
-    `(magit-blame-heading ((,class :background ,bg-alt)))
-    `(magit-blame-highlight ((,class :inherit modus-theme-nuanced-cyan)))
-    `(magit-blame-margin ((,class :inherit magit-blame-highlight)))
+    `(magit-blame-heading ((,class :inherit modus-themes-reset-hard :background ,bg-alt :extend t)))
+    `(magit-blame-highlight ((,class :inherit modus-themes-nuanced-cyan)))
+    `(magit-blame-margin ((,class :inherit (magit-blame-highlight modus-themes-reset-hard))))
     `(magit-blame-name ((,class :foreground ,magenta-alt-other)))
     `(magit-blame-summary ((,class :foreground ,cyan-alt-other)))
     `(magit-branch-current ((,class :foreground ,blue-alt-other :box t)))
@@ -4914,7 +5054,7 @@ ;;;;; magit
     `(magit-cherry-equivalent ((,class :background ,bg-main :foreground ,magenta-intense)))
     `(magit-cherry-unmatched ((,class :background ,bg-main :foreground ,cyan-intense)))
     ;; NOTE: here we break from the pattern of inheriting from the
-    ;; modus-theme-diff-* faces, though only for the standard actions,
+    ;; modus-themes-diff-* faces, though only for the standard actions,
     ;; not the highlighted ones.  This is because Magit's interaction
     ;; model relies on highlighting the current diff hunk.
     `(magit-diff-added ((,class ,@(modus-themes--diff
@@ -4922,37 +5062,37 @@ ;;;;; magit
                                    bg-diff-added fg-diff-added
                                    green-nuanced-bg fg-diff-added
                                    bg-diff-added-deuteran fg-diff-added-deuteran))))
-    `(magit-diff-added-highlight ((,class :inherit modus-theme-diff-focus-added)))
+    `(magit-diff-added-highlight ((,class :inherit modus-themes-diff-focus-added)))
     `(magit-diff-base ((,class ,@(modus-themes--diff
                                   bg-main yellow
                                   bg-diff-changed fg-diff-changed
                                   yellow-nuanced-bg fg-diff-changed))))
-    `(magit-diff-base-highlight ((,class :inherit modus-theme-diff-focus-changed)))
+    `(magit-diff-base-highlight ((,class :inherit modus-themes-diff-focus-changed)))
     `(magit-diff-context ((,class :foreground ,fg-unfocused)))
     `(magit-diff-context-highlight ((,class ,@(modus-themes--diff
                                                bg-dim fg-dim
                                                bg-inactive fg-inactive
                                                bg-dim fg-alt))))
     `(magit-diff-file-heading ((,class :inherit bold :foreground ,fg-special-cold)))
-    `(magit-diff-file-heading-highlight ((,class :inherit (modus-theme-special-cold bold))))
-    `(magit-diff-file-heading-selection ((,class :inherit modus-theme-refine-cyan)))
+    `(magit-diff-file-heading-highlight ((,class :inherit (modus-themes-special-cold bold))))
+    `(magit-diff-file-heading-selection ((,class :inherit modus-themes-refine-cyan)))
     ;; NOTE: here we break from the pattern of inheriting from the
-    ;; modus-theme-diff-* faces.
+    ;; modus-themes-diff-* faces.
     `(magit-diff-hunk-heading ((,class :inherit bold :background ,bg-active
                                        :foreground ,fg-inactive)))
     `(magit-diff-hunk-heading-highlight
       ((,class :inherit bold
                :background ,@(modus-themes--diff-deuteran bg-region bg-diff-heading)
                :foreground ,@(modus-themes--diff-deuteran fg-main fg-diff-heading))))
-    `(magit-diff-hunk-heading-selection ((,class :inherit modus-theme-refine-blue)))
+    `(magit-diff-hunk-heading-selection ((,class :inherit modus-themes-refine-blue)))
     `(magit-diff-hunk-region ((,class :inherit bold)))
     `(magit-diff-lines-boundary ((,class :background ,fg-main)))
-    `(magit-diff-lines-heading ((,class :inherit modus-theme-refine-magenta)))
+    `(magit-diff-lines-heading ((,class :inherit modus-themes-refine-magenta)))
     `(magit-diff-removed ((,class ,@(modus-themes--diff
                                      bg-main red
                                      bg-diff-removed fg-diff-removed
                                      red-nuanced-bg fg-diff-removed))))
-    `(magit-diff-removed-highlight ((,class :inherit modus-theme-diff-focus-removed)))
+    `(magit-diff-removed-highlight ((,class :inherit modus-themes-diff-focus-removed)))
     `(magit-diffstat-added ((,class :foreground ,@(modus-themes--diff-deuteran blue green))))
     `(magit-diffstat-removed ((,class :foreground ,red)))
     `(magit-dimmed ((,class :foreground ,fg-unfocused)))
@@ -4960,7 +5100,7 @@ ;;;;; magit
     `(magit-hash ((,class :inherit shadow)))
     `(magit-head ((,class :inherit magit-branch-local)))
     `(magit-header-line ((,class :inherit bold :foreground ,magenta-active)))
-    `(magit-header-line-key ((,class :inherit bold :foreground ,blue-active)))
+    `(magit-header-line-key ((,class :inherit modus-themes-key-binding)))
     `(magit-header-line-log-select ((,class :inherit bold :foreground ,fg-main)))
     `(magit-keyword ((,class :foreground ,magenta)))
     `(magit-keyword-squash ((,class :inherit bold :foreground ,yellow-alt-other)))
@@ -4986,7 +5126,7 @@ ;;;;; magit
     `(magit-refname-wip ((,class :inherit shadow)))
     `(magit-section ((,class :background ,bg-dim :foreground ,fg-main)))
     `(magit-section-heading ((,class :inherit bold :foreground ,cyan)))
-    `(magit-section-heading-selection ((,class :inherit (modus-theme-refine-cyan bold))))
+    `(magit-section-heading-selection ((,class :inherit (modus-themes-refine-cyan bold))))
     `(magit-section-highlight ((,class :background ,bg-alt)))
     `(magit-sequence-done ((,class :foreground ,green-alt)))
     `(magit-sequence-drop ((,class :foreground ,red-alt)))
@@ -5011,16 +5151,22 @@ ;;;;; make-mode (makefiles)
     `(makefile-space ((,class :background ,magenta-nuanced-bg)))
 ;;;;; man
     `(Man-overstrike ((,class :inherit bold :foreground ,magenta)))
-    `(Man-reverse ((,class :inherit modus-theme-subtle-magenta)))
+    `(Man-reverse ((,class :inherit modus-themes-subtle-magenta)))
     `(Man-underline ((,class :foreground ,cyan :underline t)))
 ;;;;; marginalia
     `(marginalia-archive ((,class :foreground ,green-nuanced-fg)))
     `(marginalia-date ((,class :foreground ,blue-nuanced-fg)))
     `(marginalia-char ((,class :foreground ,red-active)))
-    `(marginalia-documentation ((,class :foreground ,fg-special-cold :inherit modus-theme-slant)))
+    `(marginalia-documentation ((,class :foreground ,fg-special-cold :inherit modus-themes-slant)))
     `(marginalia-file-modes ((,class :inherit shadow)))
     `(marginalia-file-name ((,class :foreground ,fg-special-mild)))
     `(marginalia-file-owner ((,class :foreground ,red-nuanced-fg)))
+    ;; Here we make an exception of not applying the bespoke
+    ;; `modus-themes-key-binding' for two reasons: (1) completion
+    ;; highlights can be fairly intense, so we do not want more
+    ;; components to compete with them for attention, (2) the
+    ;; `marginalia-key' may not be used for key bindings specifically,
+    ;; so we might end up applying styles in places we should not.
     `(marginalia-key ((,class :foreground ,magenta-active)))
     `(marginalia-mode ((,class :foreground ,cyan-active)))
     `(marginalia-modified ((,class :foreground ,yellow-active)))
@@ -5030,21 +5176,21 @@ ;;;;; marginalia
     `(marginalia-variable ((,class :foreground ,yellow-nuanced-fg)))
     `(marginalia-version ((,class :foreground ,cyan-active)))
 ;;;;; markdown-mode
-    `(markdown-blockquote-face ((,class :inherit modus-theme-slant :foreground ,fg-special-cold)))
+    `(markdown-blockquote-face ((,class :inherit modus-themes-slant :foreground ,fg-special-cold)))
     `(markdown-bold-face ((,class :inherit bold)))
     `(markdown-code-face ((,class ,@(modus-themes--mixed-fonts) :background ,bg-dim :extend t)))
     `(markdown-comment-face ((,class :inherit font-lock-comment-face)))
     `(markdown-footnote-marker-face ((,class :inherit bold :foreground ,cyan-alt)))
-    `(markdown-footnote-text-face ((,class :inherit modus-theme-slant :foreground ,fg-main)))
+    `(markdown-footnote-text-face ((,class :inherit modus-themes-slant :foreground ,fg-main)))
     `(markdown-gfm-checkbox-face ((,class :foreground ,cyan-alt-other)))
-    `(markdown-header-delimiter-face ((,class :inherit modus-theme-bold :foreground ,fg-dim)))
+    `(markdown-header-delimiter-face ((,class :inherit modus-themes-bold :foreground ,fg-dim)))
     `(markdown-header-face ((t nil)))
-    `(markdown-header-face-1 ((,class :inherit modus-theme-heading-1)))
-    `(markdown-header-face-2 ((,class :inherit modus-theme-heading-2)))
-    `(markdown-header-face-3 ((,class :inherit modus-theme-heading-3)))
-    `(markdown-header-face-4 ((,class :inherit modus-theme-heading-4)))
-    `(markdown-header-face-5 ((,class :inherit modus-theme-heading-5)))
-    `(markdown-header-face-6 ((,class :inherit modus-theme-heading-6)))
+    `(markdown-header-face-1 ((,class :inherit modus-themes-heading-1)))
+    `(markdown-header-face-2 ((,class :inherit modus-themes-heading-2)))
+    `(markdown-header-face-3 ((,class :inherit modus-themes-heading-3)))
+    `(markdown-header-face-4 ((,class :inherit modus-themes-heading-4)))
+    `(markdown-header-face-5 ((,class :inherit modus-themes-heading-5)))
+    `(markdown-header-face-6 ((,class :inherit modus-themes-heading-6)))
     `(markdown-header-rule-face ((,class :inherit bold :foreground ,fg-special-warm)))
     `(markdown-hr-face ((,class :inherit bold :foreground ,fg-special-warm)))
     `(markdown-html-attr-name-face ((,class ,@(modus-themes--mixed-fonts)
@@ -5065,9 +5211,9 @@ ;;;;; markdown-mode
     `(markdown-language-keyword-face ((,class ,@(modus-themes--mixed-fonts)
                                               :background ,bg-alt
                                               :foreground ,fg-alt)))
-    `(markdown-line-break-face ((,class :inherit modus-theme-refine-cyan :underline t)))
+    `(markdown-line-break-face ((,class :inherit modus-themes-refine-cyan :underline t)))
     `(markdown-link-face ((,class :inherit button)))
-    `(markdown-link-title-face ((,class :inherit modus-theme-slant :foreground ,fg-special-cold)))
+    `(markdown-link-title-face ((,class :inherit modus-themes-slant :foreground ,fg-special-cold)))
     `(markdown-list-face ((,class :foreground ,fg-dim)))
     `(markdown-markup-face ((,class :inherit shadow)))
     `(markdown-math-face ((,class :foreground ,magenta-alt-other)))
@@ -5090,13 +5236,13 @@ ;;;;; markup-faces (`adoc-mode')
     `(markup-command-face ((,class :foreground ,fg-inactive)))
     `(markup-comment-face ((,class :inherit font-lock-comment-face)))
     `(markup-complex-replacement-face ((,class :box (:line-width 2 :color nil :style released-button)
-                                               :inherit modus-theme-refine-magenta)))
+                                               :inherit modus-themes-refine-magenta)))
     `(markup-emphasis-face ((,class :inherit italic :foreground ,fg-special-cold)))
     `(markup-error-face ((,class :inherit bold :foreground ,red)))
     `(markup-gen-face ((,class :foreground ,magenta-alt)))
     `(markup-internal-reference-face ((,class :inherit button :foreground ,fg-alt)))
     `(markup-italic-face ((,class :inherit italic :foreground ,fg-special-cold)))
-    `(markup-list-face ((,class :inherit modus-theme-special-calm)))
+    `(markup-list-face ((,class :inherit modus-themes-special-calm)))
     `(markup-meta-face ((,class :foreground ,fg-inactive)))
     `(markup-meta-hide-face ((,class :inherit shadow)))
     `(markup-passthrough-face ((,class :inherit fixed-pitch :foreground ,cyan)))
@@ -5107,9 +5253,9 @@ ;;;;; markup-faces (`adoc-mode')
     `(markup-strong-face ((,class :inherit bold :foreground ,red-nuanced-fg)))
     `(markup-subscript-face ((,class :height 0.8 :foreground ,fg-special-cold)))
     `(markup-superscript-face ((,class :height 0.8 :foreground ,fg-special-cold)))
-    `(markup-table-cell-face ((,class :inherit modus-theme-special-cold)))
-    `(markup-table-face ((,class :inherit modus-theme-subtle-cyan)))
-    `(markup-table-row-face ((,class :inherit modus-theme-subtle-cyan)))
+    `(markup-table-cell-face ((,class :inherit modus-themes-special-cold)))
+    `(markup-table-face ((,class :inherit modus-themes-subtle-cyan)))
+    `(markup-table-row-face ((,class :inherit modus-themes-subtle-cyan)))
     `(markup-title-0-face ((,class :height 3.0 :foreground ,blue-nuanced-fg)))
     `(markup-title-1-face ((,class :height 2.4 :foreground ,blue-nuanced-fg)))
     `(markup-title-2-face ((,class :height 1.8 :foreground ,blue-nuanced-fg)))
@@ -5117,7 +5263,7 @@ ;;;;; markup-faces (`adoc-mode')
     `(markup-title-4-face ((,class :height 1.2 :foreground ,blue-nuanced-fg)))
     `(markup-title-5-face ((,class :height 1.2 :foreground ,blue-nuanced-fg :underline t)))
     `(markup-value-face ((,class :foreground ,fg-inactive)))
-    `(markup-verbatim-face ((,class :inherit modus-theme-special-mild)))
+    `(markup-verbatim-face ((,class :inherit modus-themes-special-mild)))
 ;;;;; mentor
     `(mentor-download-message ((,class :foreground ,fg-special-warm)))
     `(mentor-download-name ((,class :foreground ,fg-special-cold)))
@@ -5126,7 +5272,7 @@ ;;;;; mentor
     `(mentor-download-speed-down ((,class :foreground ,cyan-alt)))
     `(mentor-download-speed-up ((,class :foreground ,red-alt)))
     `(mentor-download-state ((,class :foreground ,yellow-alt)))
-    `(mentor-highlight-face ((,class :inherit modus-theme-subtle-blue)))
+    `(mentor-highlight-face ((,class :inherit modus-themes-subtle-blue)))
     `(mentor-tracker-name ((,class :foreground ,magenta-alt)))
 ;;;;; messages
     `(message-cited-text-1 ((,class :foreground ,blue-faint)))
@@ -5141,7 +5287,7 @@ ;;;;; messages
     `(message-header-to ((,class :inherit bold :foreground ,magenta-alt-other)))
     `(message-header-xheader ((,class :foreground ,blue-alt)))
     `(message-mml ((,class :foreground ,yellow)))
-    `(message-separator ((,class :inherit modus-theme-intense-neutral)))
+    `(message-separator ((,class :inherit modus-themes-intense-neutral)))
 ;;;;; minibuffer-line
     `(minibuffer-line ((,class :foreground ,fg-main)))
 ;;;;; minimap
@@ -5159,14 +5305,19 @@ ;;;;; mmm-mode
 ;;;;; modeline
     `(mode-line ((,class ,@(modus-themes--variable-pitch-ui)
                          ,@(modus-themes--mode-line-attrs
-                            fg-active bg-active fg-dim bg-active
-                            fg-alt bg-active 'alt-style nil bg-main))))
+                            fg-active bg-active
+                            fg-dim bg-active
+                            fg-main bg-active-accent
+                            fg-alt bg-active
+                            'alt-style nil bg-main))))
     `(mode-line-buffer-id ((,class :inherit bold)))
     `(mode-line-emphasis ((,class :inherit bold :foreground ,blue-active)))
-    `(mode-line-highlight ((,class :inherit modus-theme-active-blue :box (:line-width -1 :style pressed-button))))
+    `(mode-line-highlight ((,class :inherit modus-themes-active-blue :box (:line-width -1 :style pressed-button))))
     `(mode-line-inactive ((,class ,@(modus-themes--variable-pitch-ui)
                                   ,@(modus-themes--mode-line-attrs
-                                     fg-inactive bg-inactive fg-alt bg-dim
+                                     fg-inactive bg-inactive
+                                     fg-alt bg-dim
+                                     fg-inactive bg-inactive
                                      bg-region bg-active))))
 ;;;;; mood-line
     `(mood-line-modified ((,class :foreground ,magenta-active)))
@@ -5189,28 +5340,28 @@ ;;;;; mu4e
     `(mu4e-cited-6-face ((,class :foreground ,magenta)))
     `(mu4e-cited-7-face ((,class :foreground ,green-alt)))
     `(mu4e-compose-header-face ((,class :inherit mu4e-compose-separator-face)))
-    `(mu4e-compose-separator-face ((,class :inherit modus-theme-intense-neutral)))
+    `(mu4e-compose-separator-face ((,class :inherit modus-themes-intense-neutral)))
     `(mu4e-contact-face ((,class :inherit message-header-to)))
     `(mu4e-context-face ((,class :foreground ,blue-active)))
     `(mu4e-draft-face ((,class :foreground ,magenta-alt)))
     `(mu4e-flagged-face ((,class :foreground ,red-alt)))
-    `(mu4e-footer-face ((,class :inherit modus-theme-slant :foreground ,fg-special-cold)))
+    `(mu4e-footer-face ((,class :inherit modus-themes-slant :foreground ,fg-special-cold)))
     `(mu4e-forwarded-face ((,class :foreground ,magenta-alt-other)))
     `(mu4e-header-face ((,class :inherit shadow)))
-    `(mu4e-header-highlight-face ((,class :inherit modus-theme-hl-line)))
+    `(mu4e-header-highlight-face ((,class :inherit modus-themes-hl-line)))
     `(mu4e-header-key-face ((,class :inherit message-header-name)))
     `(mu4e-header-marks-face ((,class :inherit mu4e-special-header-value-face)))
     `(mu4e-header-title-face ((,class :foreground ,fg-special-mild)))
     `(mu4e-header-value-face ((,class :inherit message-header-other)))
-    `(mu4e-highlight-face ((,class :inherit bold :foreground ,blue-alt-other)))
+    `(mu4e-highlight-face ((,class :inherit modus-themes-key-binding)))
     `(mu4e-link-face ((,class :inherit button)))
     `(mu4e-modeline-face ((,class :foreground ,magenta-active)))
-    `(mu4e-moved-face ((,class :inherit modus-theme-slant :foreground ,yellow)))
+    `(mu4e-moved-face ((,class :inherit modus-themes-slant :foreground ,yellow)))
     `(mu4e-ok-face ((,class :inherit bold :foreground ,green)))
-    `(mu4e-region-code ((,class :inherit modus-theme-special-calm)))
+    `(mu4e-region-code ((,class :inherit modus-themes-special-calm)))
     `(mu4e-replied-face ((,class :foreground ,blue)))
     `(mu4e-special-header-value-face ((,class :inherit message-header-subject)))
-    `(mu4e-system-face ((,class :inherit modus-theme-slant :foreground ,fg-mark-del)))
+    `(mu4e-system-face ((,class :inherit modus-themes-slant :foreground ,fg-mark-del)))
     `(mu4e-title-face ((,class :foreground ,fg-main)))
     `(mu4e-trashed-face ((,class :foreground ,red)))
     `(mu4e-unread-face ((,class :inherit bold)))
@@ -5218,7 +5369,7 @@ ;;;;; mu4e
     `(mu4e-view-body-face ((,class :foreground ,fg-main)))
     `(mu4e-warning-face ((,class :inherit warning)))
 ;;;;; mu4e-conversation
-    `(mu4e-conversation-header ((,class :inherit modus-theme-special-cold)))
+    `(mu4e-conversation-header ((,class :inherit modus-themes-special-cold)))
     `(mu4e-conversation-sender-1 ((,class :foreground ,fg-special-warm)))
     `(mu4e-conversation-sender-2 ((,class :foreground ,fg-special-cold)))
     `(mu4e-conversation-sender-3 ((,class :foreground ,fg-special-mild)))
@@ -5250,20 +5401,20 @@ ;;;;; neotree
     `(neo-vc-needs-merge-face ((,class :foreground ,magenta-alt)))
     `(neo-vc-needs-update-face ((,class :underline t)))
     `(neo-vc-removed-face ((,class :strike-through t)))
-    `(neo-vc-unlocked-changes-face ((,class :inherit modus-theme-refine-blue)))
+    `(neo-vc-unlocked-changes-face ((,class :inherit modus-themes-refine-blue)))
     `(neo-vc-up-to-date-face ((,class :inherit shadow)))
     `(neo-vc-user-face ((,class :foreground ,magenta)))
 ;;;;; no-emoji
     `(no-emoji ((,class :foreground ,cyan)))
 ;;;;; notmuch
-    `(notmuch-crypto-decryption ((,class :inherit modus-theme-refine-magenta)))
+    `(notmuch-crypto-decryption ((,class :inherit modus-themes-special-mild)))
     `(notmuch-crypto-part-header ((,class :foreground ,magenta-alt-other)))
-    `(notmuch-crypto-signature-bad ((,class :inherit modus-theme-intense-red)))
-    `(notmuch-crypto-signature-good ((,class :inherit modus-theme-refine-green)))
-    `(notmuch-crypto-signature-good-key ((,class :inherit modus-theme-refine-yellow)))
-    `(notmuch-crypto-signature-unknown ((,class :inherit modus-theme-refine-red)))
+    `(notmuch-crypto-signature-bad ((,class :inherit modus-themes-intense-red)))
+    `(notmuch-crypto-signature-good ((,class :inherit modus-themes-refine-blue)))
+    `(notmuch-crypto-signature-good-key ((,class :inherit modus-themes-refine-cyan)))
+    `(notmuch-crypto-signature-unknown ((,class :inherit modus-themes-refine-red)))
     `(notmuch-hello-logo-background ((,class :background "gray50")))
-    `(notmuch-message-summary-face ((,class :inherit modus-theme-nuanced-cyan)))
+    `(notmuch-message-summary-face ((,class :inherit modus-themes-nuanced-cyan)))
     `(notmuch-search-count ((,class :inherit shadow)))
     `(notmuch-search-date ((,class :foreground ,cyan)))
     `(notmuch-search-flagged-face ((,class :foreground ,red-alt)))
@@ -5271,14 +5422,8 @@ ;;;;; notmuch
     `(notmuch-search-non-matching-authors ((,class :inherit shadow)))
     `(notmuch-search-subject ((,class :foreground ,fg-dim)))
     `(notmuch-search-unread-face ((,class :inherit bold)))
-    `(notmuch-tag-added
-      ((,(append '((supports :underline (:style wave))) class)
-        :underline (:color ,green :style wave))
-       (,class :foreground ,green :underline t)))
-    `(notmuch-tag-deleted
-      ((,(append '((supports :underline (:style wave))) class)
-        :underline (:color ,red :style wave))
-       (,class :foreground ,red :underline t)))
+    `(notmuch-tag-added ((,class :inherit modus-themes-lang-note)))
+    `(notmuch-tag-deleted ((,class :inherit modus-themes-lang-error)))
     `(notmuch-tag-face ((,class :inherit bold :foreground ,blue-alt)))
     `(notmuch-tag-flagged ((,class :foreground ,red-alt)))
     `(notmuch-tag-unread ((,class :foreground ,magenta-alt)))
@@ -5300,15 +5445,15 @@ ;;;;; nxml-mode
     `(nxml-cdata-section-CDATA ((,class :inherit error)))
     `(nxml-cdata-section-delimiter ((,class :inherit error)))
     `(nxml-char-ref-delimiter ((,class :foreground ,fg-special-mild)))
-    `(nxml-char-ref-number ((,class :inherit modus-theme-bold :foreground ,fg-special-mild)))
-    `(nxml-delimited-data ((,class :inherit modus-theme-slant :foreground ,fg-special-cold)))
+    `(nxml-char-ref-number ((,class :inherit modus-themes-bold :foreground ,fg-special-mild)))
+    `(nxml-delimited-data ((,class :inherit modus-themes-slant :foreground ,fg-special-cold)))
     `(nxml-delimiter ((,class :foreground ,fg-dim)))
     `(nxml-element-colon ((,class :foreground ,fg-main)))
     `(nxml-element-local-name ((,class :inherit font-lock-function-name-face)))
     `(nxml-element-prefix ((,class :inherit font-lock-builtin-face)))
     `(nxml-entity-ref-delimiter ((,class :foreground ,fg-special-mild)))
-    `(nxml-entity-ref-name ((,class :inherit modus-theme-bold :foreground ,fg-special-mild)))
-    `(nxml-glyph ((,class :inherit modus-theme-intense-neutral)))
+    `(nxml-entity-ref-name ((,class :inherit modus-themes-bold :foreground ,fg-special-mild)))
+    `(nxml-glyph ((,class :inherit modus-themes-intense-neutral)))
     `(nxml-hash ((,class :inherit (bold font-lock-string-face))))
     `(nxml-heading ((,class :inherit bold)))
     `(nxml-name ((,class :inherit font-lock-builtin-face)))
@@ -5316,11 +5461,10 @@ ;;;;; nxml-mode
     `(nxml-namespace-attribute-prefix ((,class :inherit font-lock-variable-name-face)))
     `(nxml-processing-instruction-target ((,class :inherit font-lock-keyword-face)))
     `(nxml-prolog-keyword ((,class :inherit font-lock-keyword-face)))
-    `(nxml-ref ((,class :inherit modus-theme-bold :foreground ,fg-special-mild)))
+    `(nxml-ref ((,class :inherit modus-themes-bold :foreground ,fg-special-mild)))
     `(rng-error ((,class :inherit error)))
 ;;;;; objed
-    `(objed-hl ((,class :background ,(if modus-themes-intense-hl-line
-                                         bg-hl-alt-intense bg-hl-alt))))
+    `(objed-hl ((,class :background ,(if modus-themes-hl-line bg-hl-alt-intense bg-hl-alt))))
     `(objed-mark ((,class :background ,bg-active)))
     `(objed-mode-line ((,class :foreground ,cyan-active)))
 ;;;;; orderless
@@ -5343,7 +5487,7 @@ ;;;;; orderless
 ;;;;; org
     `(org-agenda-calendar-event ((,class :foreground ,fg-main)))
     `(org-agenda-calendar-sexp ((,class :foreground ,cyan-alt)))
-    `(org-agenda-clocking ((,class :inherit modus-theme-special-cold :extend t)))
+    `(org-agenda-clocking ((,class :inherit modus-themes-special-cold :extend t)))
     `(org-agenda-column-dateline ((,class :background ,bg-alt)))
     `(org-agenda-current-time ((,class :inherit bold :foreground ,blue-alt-other)))
     `(org-agenda-date ((,class :foreground ,cyan)))
@@ -5372,9 +5516,9 @@ ;;;;; org
                             :background ,bg-inactive :foreground ,fg-active)))
     `(org-checkbox-statistics-done ((,class :inherit org-done)))
     `(org-checkbox-statistics-todo ((,class :inherit org-todo)))
-    `(org-clock-overlay ((,class :inherit modus-theme-special-cold)))
+    `(org-clock-overlay ((,class :inherit modus-themes-special-cold)))
     `(org-code ((,class ,@(modus-themes--mixed-fonts)
-                        :background ,red-nuanced-bg :foreground ,magenta)))
+                        :background ,magenta-nuanced-bg :foreground ,magenta-nuanced-fg)))
     `(org-column ((,class :background ,bg-alt)))
     `(org-column-title ((,class :inherit bold :underline t :background ,bg-alt)))
     `(org-date ((,class :inherit ,(if modus-themes-no-mixed-fonts
@@ -5383,11 +5527,11 @@ ;;;;; org
                         ,@(modus-themes--link-color
                            cyan cyan-faint))))
     `(org-date-selected ((,class :inherit bold :foreground ,blue-alt :inverse-video t)))
-    `(org-dispatcher-highlight ((,class :inherit (bold modus-theme-mark-alt))))
+    `(org-dispatcher-highlight ((,class :inherit (bold modus-themes-mark-alt))))
     `(org-document-info ((,class :foreground ,fg-special-cold)))
     `(org-document-info-keyword ((,class ,@(modus-themes--mixed-fonts)
                                          :foreground ,fg-alt)))
-    `(org-document-title ((,class :inherit (bold modus-theme-variable-pitch) :foreground ,fg-special-cold
+    `(org-document-title ((,class :inherit (bold modus-themes-variable-pitch) :foreground ,fg-special-cold
                                   ,@(modus-themes--scale modus-themes-scale-5))))
     `(org-done ((,class :foreground ,green)))
     `(org-drawer ((,class ,@(modus-themes--mixed-fonts)
@@ -5430,32 +5574,30 @@ ;;;;; org
                                               green-graph-1-bg
                                               green-graph-0-bg
                                               green-graph-1-bg))))
-    `(org-headline-done ((,class :inherit modus-theme-variable-pitch :foreground ,green-nuanced-fg)))
-    `(org-headline-todo ((,class :inherit modus-theme-variable-pitch :foreground ,red-nuanced-fg)))
+    `(org-headline-done ((,class :inherit modus-themes-variable-pitch :foreground ,green-nuanced-fg)))
+    `(org-headline-todo ((,class :inherit modus-themes-variable-pitch :foreground ,red-nuanced-fg)))
     `(org-hide ((,class :foreground ,bg-main)))
     `(org-indent ((,class :inherit (fixed-pitch org-hide))))
     `(org-latex-and-related ((,class :foreground ,magenta-refine-fg)))
-    `(org-level-1 ((,class :inherit modus-theme-heading-1)))
-    `(org-level-2 ((,class :inherit modus-theme-heading-2)))
-    `(org-level-3 ((,class :inherit modus-theme-heading-3)))
-    `(org-level-4 ((,class :inherit modus-theme-heading-4)))
-    `(org-level-5 ((,class :inherit modus-theme-heading-5)))
-    `(org-level-6 ((,class :inherit modus-theme-heading-6)))
-    `(org-level-7 ((,class :inherit modus-theme-heading-7)))
-    `(org-level-8 ((,class :inherit modus-theme-heading-8)))
+    `(org-level-1 ((,class :inherit modus-themes-heading-1)))
+    `(org-level-2 ((,class :inherit modus-themes-heading-2)))
+    `(org-level-3 ((,class :inherit modus-themes-heading-3)))
+    `(org-level-4 ((,class :inherit modus-themes-heading-4)))
+    `(org-level-5 ((,class :inherit modus-themes-heading-5)))
+    `(org-level-6 ((,class :inherit modus-themes-heading-6)))
+    `(org-level-7 ((,class :inherit modus-themes-heading-7)))
+    `(org-level-8 ((,class :inherit modus-themes-heading-8)))
     `(org-link ((,class :inherit button)))
     `(org-list-dt ((,class :inherit bold)))
     `(org-macro ((,class ,@(modus-themes--mixed-fonts)
-                         :background ,blue-nuanced-bg :foreground ,magenta-alt-other)))
+                         :background ,cyan-nuanced-bg :foreground ,cyan-nuanced-fg)))
     `(org-meta-line ((,class ,@(modus-themes--mixed-fonts) :foreground ,fg-alt)))
     `(org-mode-line-clock ((,class :foreground ,fg-main)))
-    `(org-mode-line-clock-overrun ((,class :inherit modus-theme-active-red)))
+    `(org-mode-line-clock-overrun ((,class :inherit modus-themes-active-red)))
     `(org-priority ((,class :foreground ,magenta)))
     `(org-property-value ((,class ,@(modus-themes--mixed-fonts)
                                   :foreground ,fg-special-cold)))
-    `(org-quote ((,class :inherit modus-theme-slant
-                         ,@(modus-themes--org-block bg-dim)
-                         :foreground ,fg-special-cold)))
+    `(org-quote ((,class ,@(modus-themes--org-block bg-dim))))
     `(org-scheduled ((,class :foreground ,magenta-alt)))
     `(org-scheduled-previously ((,class :foreground ,yellow-alt-other)))
     `(org-scheduled-today ((,class :foreground ,magenta-alt-other)))
@@ -5464,7 +5606,7 @@ ;;;;; org
                                    :foreground ,fg-alt)))
     `(org-table ((,class ,@(modus-themes--mixed-fonts)
                          :foreground ,fg-special-cold)))
-    `(org-table-header ((,class :inherit (fixed-pitch modus-theme-intense-neutral))))
+    `(org-table-header ((,class :inherit (fixed-pitch modus-themes-intense-neutral))))
     `(org-tag ((,class :foreground ,magenta-nuanced-fg)))
     `(org-tag-group ((,class :inherit bold :foreground ,cyan-nuanced-fg)))
     `(org-target ((,class :underline t)))
@@ -5477,8 +5619,8 @@ ;;;;; org
     `(org-verse ((,class :inherit org-quote)))
     `(org-warning ((,class :inherit bold :foreground ,red-alt-other)))
 ;;;;; org-journal
-    `(org-journal-calendar-entry-face ((,class :inherit modus-theme-slant :foreground ,yellow-alt-other)))
-    `(org-journal-calendar-scheduled-face ((,class :inherit modus-theme-slant :foreground ,red-alt-other)))
+    `(org-journal-calendar-entry-face ((,class :inherit modus-themes-slant :foreground ,yellow-alt-other)))
+    `(org-journal-calendar-scheduled-face ((,class :inherit modus-themes-slant :foreground ,red-alt-other)))
     `(org-journal-highlight ((,class :foreground ,magenta-alt)))
 ;;;;; org-noter
     `(org-noter-no-notes-exist-face ((,class :inherit bold :foreground ,red-active)))
@@ -5507,27 +5649,27 @@ ;;;;; org-superstar
     `(org-superstar-item ((,class :foreground ,fg-main)))
     `(org-superstar-leading ((,class :foreground ,fg-whitespace)))
 ;;;;; org-table-sticky-header
-    `(org-table-sticky-header-face ((,class :inherit modus-theme-intense-neutral)))
+    `(org-table-sticky-header-face ((,class :inherit modus-themes-intense-neutral)))
 ;;;;; org-tree-slide
     `(org-tree-slide-header-overlay-face
-      ((,class :inherit (bold modus-theme-variable-pitch) :background ,bg-main
+      ((,class :inherit (bold modus-themes-variable-pitch) :background ,bg-main
                :foreground ,fg-special-cold :overline nil
                ,@(modus-themes--scale modus-themes-scale-5))))
 ;;;;; org-treescope
-    `(org-treescope-faces--markerinternal-midday ((,class :inherit modus-theme-intense-blue)))
-    `(org-treescope-faces--markerinternal-range ((,class :inherit modus-theme-special-mild)))
+    `(org-treescope-faces--markerinternal-midday ((,class :inherit modus-themes-intense-blue)))
+    `(org-treescope-faces--markerinternal-range ((,class :inherit modus-themes-special-mild)))
 ;;;;; origami
     `(origami-fold-header-face ((,class :background ,bg-dim :foreground ,fg-dim :box t)))
     `(origami-fold-replacement-face ((,class :background ,bg-alt :foreground ,fg-alt)))
 ;;;;; outline-mode
-    `(outline-1 ((,class :inherit modus-theme-heading-1)))
-    `(outline-2 ((,class :inherit modus-theme-heading-2)))
-    `(outline-3 ((,class :inherit modus-theme-heading-3)))
-    `(outline-4 ((,class :inherit modus-theme-heading-4)))
-    `(outline-5 ((,class :inherit modus-theme-heading-5)))
-    `(outline-6 ((,class :inherit modus-theme-heading-6)))
-    `(outline-7 ((,class :inherit modus-theme-heading-7)))
-    `(outline-8 ((,class :inherit modus-theme-heading-8)))
+    `(outline-1 ((,class :inherit modus-themes-heading-1)))
+    `(outline-2 ((,class :inherit modus-themes-heading-2)))
+    `(outline-3 ((,class :inherit modus-themes-heading-3)))
+    `(outline-4 ((,class :inherit modus-themes-heading-4)))
+    `(outline-5 ((,class :inherit modus-themes-heading-5)))
+    `(outline-6 ((,class :inherit modus-themes-heading-6)))
+    `(outline-7 ((,class :inherit modus-themes-heading-7)))
+    `(outline-8 ((,class :inherit modus-themes-heading-8)))
 ;;;;; outline-minor-faces
     `(outline-minor-0 ((,class :background ,bg-alt)))
 ;;;;; package (M-x list-packages)
@@ -5538,7 +5680,7 @@ ;;;;; package (M-x list-packages)
     `(package-status-available ((,class :foreground ,fg-special-mild)))
     `(package-status-built-in ((,class :foreground ,magenta)))
     `(package-status-dependency ((,class :foreground ,magenta-alt-other)))
-    `(package-status-disabled ((,class :inherit modus-theme-subtle-red)))
+    `(package-status-disabled ((,class :inherit modus-themes-subtle-red)))
     `(package-status-external ((,class :foreground ,cyan-alt-other)))
     `(package-status-held ((,class :foreground ,yellow-alt)))
     `(package-status-incompat ((,class :inherit bold :foreground ,yellow)))
@@ -5547,14 +5689,20 @@ ;;;;; package (M-x list-packages)
     `(package-status-unsigned ((,class :inherit bold :foreground ,red-alt)))
 ;;;;; page-break-lines
     `(page-break-lines ((,class :inherit default :foreground ,fg-window-divider-outer)))
+;;;;; pandoc-mode
+    `(pandoc-citation-key-face ((,class :background ,bg-dim :foreground ,magenta-alt)))
+    `(pandoc-directive-@@-face ((,class :background ,bg-dim :foreground ,blue-alt-other)))
+    `(pandoc-directive-braces-face ((,class :foreground ,blue-alt-other)))
+    `(pandoc-directive-contents-face ((,class :foreground ,cyan-alt-other)))
+    `(pandoc-directive-type-face ((,class :foreground ,magenta)))
 ;;;;; paradox
     `(paradox-archive-face ((,class :foreground ,fg-special-mild)))
     `(paradox-comment-face ((,class :inherit font-lock-comment-face)))
-    `(paradox-commit-tag-face ((,class :inherit modus-theme-refine-magenta :box t)))
+    `(paradox-commit-tag-face ((,class :inherit modus-themes-refine-magenta :box t)))
     `(paradox-description-face ((,class :foreground ,fg-special-cold)))
     `(paradox-description-face-multiline ((,class :foreground ,fg-special-cold)))
-    `(paradox-download-face ((,class :inherit modus-theme-bold :foreground ,blue-alt-other)))
-    `(paradox-highlight-face ((,class :inherit modus-theme-bold :foreground ,cyan-alt-other)))
+    `(paradox-download-face ((,class :inherit modus-themes-bold :foreground ,blue-alt-other)))
+    `(paradox-highlight-face ((,class :inherit modus-themes-bold :foreground ,cyan-alt-other)))
     `(paradox-homepage-button-face ((,class :foreground ,magenta-alt-other :underline t)))
     `(paradox-mode-line-face ((,class :inherit bold :foreground ,cyan-active)))
     `(paradox-name-face ((,class :foreground ,blue :underline t)))
@@ -5563,7 +5711,7 @@ ;;;;; paradox
 ;;;;; paren-face
     `(parenthesis ((,class :foreground ,fg-unfocused)))
 ;;;;; parrot
-    `(parrot-rotate-rotation-highlight-face ((,class :inherit modus-theme-refine-magenta)))
+    `(parrot-rotate-rotation-highlight-face ((,class :inherit modus-themes-refine-magenta)))
 ;;;;; pass
     `(pass-mode-directory-face ((,class :inherit bold :foreground ,fg-special-cold)))
     `(pass-mode-entry-face ((,class :background ,bg-main :foreground ,fg-main)))
@@ -5573,7 +5721,7 @@ ;;;;; pdf-tools
     `(pdf-occur-document-face ((,class :inherit shadow)))
     `(pdf-occur-page-face ((,class :inherit shadow)))
 ;;;;; persp-mode
-    `(persp-face-lighter-buffer-not-in-persp ((,class :inherit modus-theme-intense-red)))
+    `(persp-face-lighter-buffer-not-in-persp ((,class :inherit modus-themes-intense-red)))
     `(persp-face-lighter-default ((,class :inherit bold :foreground ,blue-active)))
     `(persp-face-lighter-nil-persp ((,class :inherit bold :foreground ,fg-active)))
 ;;;;; perspective
@@ -5582,30 +5730,30 @@ ;;;;; phi-grep
     `(phi-grep-heading-face  ((,class :inherit bold :foreground ,red-alt
                                       ,@(modus-themes--scale modus-themes-scale-4))))
     `(phi-grep-line-number-face ((,class :foreground ,fg-special-warm)))
-    `(phi-grep-match-face ((,class :inherit modus-theme-special-calm)))
-    `(phi-grep-modified-face ((,class :inherit modus-theme-refine-yellow)))
-    `(phi-grep-overlay-face ((,class :inherit modus-theme-refine-blue)))
+    `(phi-grep-match-face ((,class :inherit modus-themes-special-calm)))
+    `(phi-grep-modified-face ((,class :inherit modus-themes-refine-yellow)))
+    `(phi-grep-overlay-face ((,class :inherit modus-themes-refine-blue)))
 ;;;;; phi-search
-    `(phi-replace-preview-face ((,class :inherit modus-theme-intense-magenta)))
-    `(phi-search-failpart-face ((,class :inherit modus-theme-refine-red)))
-    `(phi-search-match-face ((,class :inherit modus-theme-refine-cyan)))
-    `(phi-search-selection-face ((,class :inherit (modus-theme-intense-green bold))))
+    `(phi-replace-preview-face ((,class :inherit modus-themes-intense-magenta)))
+    `(phi-search-failpart-face ((,class :inherit modus-themes-refine-red)))
+    `(phi-search-match-face ((,class :inherit modus-themes-refine-cyan)))
+    `(phi-search-selection-face ((,class :inherit (modus-themes-intense-green bold))))
 ;;;;; pkgbuild-mode
-    `(pkgbuild-error-face ((,class :inherit modus-theme-lang-error)))
+    `(pkgbuild-error-face ((,class :inherit modus-themes-lang-error)))
 ;;;;; pomidor
     `(pomidor-break-face ((,class :foreground ,blue-alt-other)))
     `(pomidor-overwork-face ((,class :foreground ,red-alt-other)))
-    `(pomidor-skip-face ((,class :inherit modus-theme-slant :foreground ,fg-alt)))
+    `(pomidor-skip-face ((,class :inherit modus-themes-slant :foreground ,fg-alt)))
     `(pomidor-work-face ((,class :foreground ,green-alt-other)))
 ;;;;; popup
     `(popup-face ((,class :background ,bg-alt :foreground ,fg-main)))
-    `(popup-isearch-match ((,class :inherit (modus-theme-refine-cyan bold))))
-    `(popup-menu-mouse-face ((,class :inherit modus-theme-intense-blue)))
-    `(popup-menu-selection-face ((,class :inherit (modus-theme-subtle-cyan bold))))
+    `(popup-isearch-match ((,class :inherit (modus-themes-refine-cyan bold))))
+    `(popup-menu-mouse-face ((,class :inherit modus-themes-intense-blue)))
+    `(popup-menu-selection-face ((,class :inherit (modus-themes-subtle-cyan bold))))
     `(popup-scroll-bar-background-face ((,class :background ,bg-active)))
     `(popup-scroll-bar-foreground-face ((,class :foreground ,fg-active)))
     `(popup-summary-face ((,class :background ,bg-active :foreground ,fg-inactive)))
-    `(popup-tip-face ((,class :inherit modus-theme-refine-yellow)))
+    `(popup-tip-face ((,class :inherit modus-themes-refine-yellow)))
 ;;;;; powerline
     `(powerline-active0 ((,class :background ,bg-main :foreground ,blue-faint :inverse-video t)))
     `(powerline-active1 ((,class :background ,blue-nuanced-bg :foreground ,blue-nuanced-fg)))
@@ -5615,16 +5763,16 @@ ;;;;; powerline
     `(powerline-inactive2 ((,class :background ,bg-inactive :foreground ,fg-inactive)))
 ;;;;; powerline-evil
     `(powerline-evil-base-face ((,class :background ,fg-main :foreground ,bg-main)))
-    `(powerline-evil-emacs-face ((,class :inherit modus-theme-active-magenta)))
-    `(powerline-evil-insert-face ((,class :inherit modus-theme-active-green)))
-    `(powerline-evil-motion-face ((,class :inherit modus-theme-active-blue)))
+    `(powerline-evil-emacs-face ((,class :inherit modus-themes-active-magenta)))
+    `(powerline-evil-insert-face ((,class :inherit modus-themes-active-green)))
+    `(powerline-evil-motion-face ((,class :inherit modus-themes-active-blue)))
     `(powerline-evil-normal-face ((,class :background ,fg-alt :foreground ,bg-main)))
-    `(powerline-evil-operator-face ((,class :inherit modus-theme-active-yellow)))
-    `(powerline-evil-replace-face ((,class :inherit modus-theme-active-red)))
-    `(powerline-evil-visual-face ((,class :inherit modus-theme-active-cyan)))
+    `(powerline-evil-operator-face ((,class :inherit modus-themes-active-yellow)))
+    `(powerline-evil-replace-face ((,class :inherit modus-themes-active-red)))
+    `(powerline-evil-visual-face ((,class :inherit modus-themes-active-cyan)))
 ;;;;; proced
-    `(proced-mark ((,class :inherit modus-theme-mark-symbol)))
-    `(proced-marked ((,class :inherit modus-theme-mark-alt)))
+    `(proced-mark ((,class :inherit modus-themes-mark-symbol)))
+    `(proced-marked ((,class :inherit modus-themes-mark-alt)))
     `(proced-sort-header ((,class :inherit bold :foreground ,fg-special-calm :underline t)))
 ;;;;; prodigy
     `(prodigy-green-face ((,class :foreground ,green)))
@@ -5635,19 +5783,19 @@ ;;;;; quick-peek
     `(quick-peek-border-face ((,class :background ,fg-window-divider-inner :height 1)))
     `(quick-peek-padding-face ((,class :background ,bg-alt :height 0.15)))
 ;;;;; racket-mode
-    `(racket-debug-break-face ((,class :inherit modus-theme-intense-red)))
+    `(racket-debug-break-face ((,class :inherit modus-themes-intense-red)))
     `(racket-debug-locals-face ((,class :box (:line-width -1 :color nil)
                                         :foreground ,green-alt-other)))
     `(racket-debug-result-face ((,class :inherit bold :box (:line-width -1 :color nil)
                                         :foreground ,green)))
     `(racket-here-string-face ((,class :foreground ,blue-alt)))
     `(racket-keyword-argument-face ((,class :foreground ,red-alt)))
-    `(racket-logger-config-face ((,class :inherit modus-theme-slant :foreground ,fg-alt)))
+    `(racket-logger-config-face ((,class :inherit modus-themes-slant :foreground ,fg-alt)))
     `(racket-logger-debug-face ((,class :foreground ,blue-alt-other)))
     `(racket-logger-info-face ((,class :foreground ,fg-lang-note)))
-    `(racket-logger-topic-face ((,class :inherit modus-theme-slant :foreground ,magenta)))
+    `(racket-logger-topic-face ((,class :inherit modus-themes-slant :foreground ,magenta)))
     `(racket-selfeval-face ((,class :foreground ,green-alt)))
-    `(racket-xp-error-face ((,class :inherit modus-theme-lang-error)))
+    `(racket-xp-error-face ((,class :inherit modus-themes-lang-error)))
 ;;;;; rainbow-blocks
     `(rainbow-blocks-depth-1-face ((,class :foreground ,magenta-alt-other)))
     `(rainbow-blocks-depth-2-face ((,class :foreground ,blue)))
@@ -5687,8 +5835,8 @@ ;;;;; rainbow-delimiters
     `(rainbow-delimiters-depth-7-face ((,class :foreground ,red-intense)))
     `(rainbow-delimiters-depth-8-face ((,class :foreground ,blue-intense)))
     `(rainbow-delimiters-depth-9-face ((,class :foreground ,yellow-intense)))
-    `(rainbow-delimiters-mismatched-face ((,class :inherit (bold modus-theme-refine-yellow))))
-    `(rainbow-delimiters-unmatched-face ((,class :inherit (bold modus-theme-refine-red))))
+    `(rainbow-delimiters-mismatched-face ((,class :inherit (bold modus-themes-refine-yellow))))
+    `(rainbow-delimiters-unmatched-face ((,class :inherit (bold modus-themes-refine-red))))
 ;;;;; rcirc
     `(rcirc-bright-nick ((,class :inherit bold :foreground ,magenta-alt)))
     `(rcirc-dim-nick ((,class :inherit shadow)))
@@ -5696,7 +5844,7 @@ ;;;;; rcirc
     `(rcirc-nick-in-message ((,class :foreground ,magenta-alt-other)))
     `(rcirc-nick-in-message-full-line ((,class :inherit bold :foreground ,fg-special-mild)))
     `(rcirc-other-nick ((,class :inherit bold :foreground ,fg-special-cold)))
-    `(rcirc-prompt ((,class :inherit bold :foreground ,cyan-alt-other)))
+    `(rcirc-prompt ((,class :inherit comint-highlight-prompt)))
     `(rcirc-server ((,class :foreground ,fg-unfocused)))
     `(rcirc-timestamp ((,class :foreground ,blue-nuanced-fg)))
     `(rcirc-url ((,class :foreground ,blue :underline t)))
@@ -5704,10 +5852,10 @@ ;;;;; recursion-indicator
     `(recursion-indicator-general ((,class :foreground ,blue-active)))
     `(recursion-indicator-minibuffer ((,class :foreground ,red-active)))
 ;;;;; regexp-builder (re-builder)
-    `(reb-match-0 ((,class :inherit modus-theme-refine-cyan)))
-    `(reb-match-1 ((,class :inherit modus-theme-subtle-magenta)))
-    `(reb-match-2 ((,class :inherit modus-theme-subtle-green)))
-    `(reb-match-3 ((,class :inherit modus-theme-refine-yellow)))
+    `(reb-match-0 ((,class :inherit modus-themes-refine-cyan)))
+    `(reb-match-1 ((,class :inherit modus-themes-subtle-magenta)))
+    `(reb-match-2 ((,class :inherit modus-themes-subtle-green)))
+    `(reb-match-3 ((,class :inherit modus-themes-refine-yellow)))
     `(reb-regexp-grouping-backslash ((,class :inherit font-lock-regexp-grouping-backslash)))
     `(reb-regexp-grouping-construct ((,class :inherit font-lock-regexp-grouping-construct)))
 ;;;;; rg (rg.el)
@@ -5718,7 +5866,7 @@ ;;;;; rg (rg.el)
     `(rg-filename-face ((,class :inherit bold :foreground ,fg-special-cold)))
     `(rg-line-number-face ((,class :foreground ,fg-special-warm)))
     `(rg-literal-face ((,class :foreground ,blue-alt)))
-    `(rg-match-face ((,class :inherit modus-theme-special-calm)))
+    `(rg-match-face ((,class :inherit modus-themes-special-calm)))
     `(rg-regexp-face ((,class :foreground ,magenta-active)))
     `(rg-toggle-off-face ((,class :inherit bold :foreground ,fg-inactive)))
     `(rg-toggle-on-face ((,class :inherit bold :foreground ,cyan-active)))
@@ -5727,7 +5875,7 @@ ;;;;; ripgrep
     `(ripgrep-context-face ((,class :foreground ,fg-unfocused)))
     `(ripgrep-error-face ((,class :inherit bold :foreground ,red)))
     `(ripgrep-hit-face ((,class :foreground ,cyan)))
-    `(ripgrep-match-face ((,class :inherit modus-theme-special-calm)))
+    `(ripgrep-match-face ((,class :inherit modus-themes-special-calm)))
 ;;;;; rmail
     `(rmail-header-name ((,class :foreground ,cyan-alt-other)))
     `(rmail-highlight ((,class :inherit bold :foreground ,magenta-alt)))
@@ -5753,29 +5901,30 @@ ;;;;; sallet
     `(sallet-buffer-size ((,class :foreground ,fg-special-calm)))
     `(sallet-buffer-special ((,class :foreground ,magenta-alt-other)))
     `(sallet-flx-match ((,class ,@(modus-themes--extra-completions
-                                   'modus-theme-subtle-cyan
-                                   'modus-theme-refine-cyan
-                                   'modus-theme-nuanced-cyan
+                                   'modus-themes-subtle-cyan
+                                   'modus-themes-refine-cyan
+                                   'modus-themes-nuanced-cyan
                                    cyan-alt-other))))
     `(sallet-recentf-buffer-name ((,class :foreground ,blue-nuanced-fg)))
     `(sallet-recentf-file-path ((,class :foreground ,fg-special-mild)))
     `(sallet-regexp-match ((,class ,@(modus-themes--extra-completions
-                                      'modus-theme-subtle-magenta
-                                      'modus-theme-refine-magenta
-                                      'modus-theme-nuanced-magenta
+                                      'modus-themes-subtle-magenta
+                                      'modus-themes-refine-magenta
+                                      'modus-themes-nuanced-magenta
                                       magenta-alt-other))))
     `(sallet-source-header ((,class :inherit bold :foreground ,red-alt
                                     ,@(modus-themes--scale modus-themes-scale-4))))
     `(sallet-substring-match ((,class ,@(modus-themes--extra-completions
-                                         'modus-theme-subtle-blue
-                                         'modus-theme-refine-blue
-                                         'modus-theme-nuanced-blue
+                                         'modus-themes-subtle-blue
+                                         'modus-themes-refine-blue
+                                         'modus-themes-nuanced-blue
                                          blue-alt-other))))
 ;;;;; selectrum
-;; NOTE 2021-02-22: The `selectrum-primary-highlight' and
-;; `selectrum-secondary-highlight' are deprecated upstream in favour of
-;; their selectrum-prescient counterparts.  We shall remove those faces
-;; from the themes once we are certain that they are no longer relevant.
+    ;; NOTE 2021-02-22: The `selectrum-primary-highlight' and
+    ;; `selectrum-secondary-highlight' are deprecated upstream in favour
+    ;; of their selectrum-prescient counterparts.  We shall remove those
+    ;; faces from the themes once we are certain that they are no longer
+    ;; relevant.
     `(selectrum-current-candidate
       ((,class :inherit bold :foreground ,fg-main
                :background ,@(pcase modus-themes-completions
@@ -5791,6 +5940,10 @@ ;;;;; selectrum
                ,@(modus-themes--standard-completions
                   cyan-alt-other cyan-nuanced-bg
                   cyan-refine-bg cyan-refine-fg))))
+    `(selectrum-quick-keys-highlight
+      ((,class :inherit modus-themes-refine-red)))
+    `(selectrum-quick-keys-match
+      ((,class :inherit (bold modus-themes-intense-green))))
 ;;;;; selectrum-prescient
     `(selectrum-prescient-primary-highlight
       ((,class :inherit bold
@@ -5804,40 +5957,37 @@ ;;;;; selectrum-prescient
                   cyan-refine-bg cyan-refine-fg))))
 ;;;;; semantic
     `(semantic-complete-inline-face ((,class :foreground ,fg-special-warm :underline t)))
-    `(semantic-decoration-on-fileless-includes ((,class :inherit modus-theme-refine-green)))
-    `(semantic-decoration-on-private-members-face ((,class :inherit modus-theme-refine-cyan)))
+    `(semantic-decoration-on-fileless-includes ((,class :inherit modus-themes-refine-green)))
+    `(semantic-decoration-on-private-members-face ((,class :inherit modus-themes-refine-cyan)))
     `(semantic-decoration-on-protected-members-face ((,class :background ,bg-dim)))
-    `(semantic-decoration-on-unknown-includes ((,class :inherit modus-theme-refine-red)))
-    `(semantic-decoration-on-unparsed-includes ((,class :inherit modus-theme-refine-yellow)))
+    `(semantic-decoration-on-unknown-includes ((,class :inherit modus-themes-refine-red)))
+    `(semantic-decoration-on-unparsed-includes ((,class :inherit modus-themes-refine-yellow)))
     `(semantic-highlight-edits-face ((,class :background ,bg-alt)))
     `(semantic-highlight-func-current-tag-face ((,class :background ,bg-alt)))
-    `(semantic-idle-symbol-highlight ((,class :inherit modus-theme-special-mild)))
+    `(semantic-idle-symbol-highlight ((,class :inherit modus-themes-special-mild)))
     `(semantic-tag-boundary-face ((,class :overline ,blue-intense)))
     `(semantic-unmatched-syntax-face ((,class :underline ,fg-lang-error)))
 ;;;;; sesman
     `(sesman-browser-button-face ((,class :foreground ,blue-alt-other :underline t)))
-    `(sesman-browser-highligh-face ((,class :inherit modus-theme-subtle-blue)))
+    `(sesman-browser-highligh-face ((,class :inherit modus-themes-subtle-blue)))
     `(sesman-buffer-face ((,class :foreground ,magenta)))
     `(sesman-directory-face ((,class :inherit bold :foreground ,blue)))
     `(sesman-project-face ((,class :inherit bold :foreground ,magenta-alt-other)))
 ;;;;; shell-script-mode
     `(sh-heredoc ((,class :foreground ,blue-alt)))
-    `(sh-quoted-exec ((,class :inherit modus-theme-bold :foreground ,magenta-alt)))
+    `(sh-quoted-exec ((,class :inherit modus-themes-bold :foreground ,magenta-alt)))
 ;;;;; shortdoc
-    `(shortdoc-heading ((,class :inherit modus-theme-pseudo-header)))
+    `(shortdoc-heading ((,class :inherit modus-themes-pseudo-header)))
     `(shortdoc-section (())) ; remove the default's variable-pitch style
 ;;;;; show-paren-mode
     `(show-paren-match ((,class ,@(modus-themes--paren bg-paren-match
                                                        bg-paren-match-intense)
                                 :foreground ,fg-main)))
-    `(show-paren-match-expression ((,class :inherit modus-theme-special-calm)))
-    `(show-paren-mismatch ((,class :inherit modus-theme-intense-red)))
+    `(show-paren-match-expression ((,class :inherit modus-themes-special-calm)))
+    `(show-paren-mismatch ((,class :inherit modus-themes-intense-red)))
 ;;;;; shr
-    `(shr-abbreviation
-      ((,(append '((supports :underline (:style wave))) class)
-        :foreground ,fg-docstring :underline (:color ,fg-alt :style wave))
-       (,class :foreground ,fg-docstring :underline t)))
-    `(shr-selected-link ((,class :inherit modus-theme-subtle-cyan)))
+    `(shr-abbreviation ((,class :inherit modus-themes-lang-note)))
+    `(shr-selected-link ((,class :inherit modus-themes-subtle-red)))
 ;;;;; side-notes
     `(side-notes ((,class :background ,bg-dim :foreground ,fg-dim)))
 ;;;;; sieve-mode
@@ -5862,94 +6012,94 @@ ;;;;; smart-mode-line
     `(sml/name-filling ((,class :foreground ,yellow-active)))
     `(sml/not-modified ((,class :inherit sml/global)))
     `(sml/numbers-separator ((,class :inherit sml/global)))
-    `(sml/outside-modified ((,class :inherit modus-theme-intense-red)))
+    `(sml/outside-modified ((,class :inherit modus-themes-intense-red)))
     `(sml/position-percentage ((,class :inherit sml/global)))
     `(sml/prefix ((,class :foreground ,green-active)))
     `(sml/process ((,class :inherit sml/prefix)))
     `(sml/projectile ((,class :inherit sml/git)))
     `(sml/read-only ((,class :inherit bold :foreground ,cyan-active)))
     `(sml/remote ((,class :inherit sml/global)))
-    `(sml/sudo ((,class :inherit modus-theme-subtle-red)))
+    `(sml/sudo ((,class :inherit modus-themes-subtle-red)))
     `(sml/time ((,class :inherit sml/global)))
     `(sml/vc ((,class :inherit sml/git)))
     `(sml/vc-edited ((,class :inherit bold :foreground ,yellow-active)))
 ;;;;; smartparens
-    `(sp-pair-overlay-face ((,class :inherit modus-theme-special-warm)))
-    `(sp-show-pair-enclosing ((,class :inherit modus-theme-special-mild)))
+    `(sp-pair-overlay-face ((,class :inherit modus-themes-special-warm)))
+    `(sp-show-pair-enclosing ((,class :inherit modus-themes-special-mild)))
     `(sp-show-pair-match-face ((,class ,@(modus-themes--paren bg-paren-match
                                                               bg-paren-match-intense)
                                        :foreground ,fg-main)))
-    `(sp-show-pair-mismatch-face ((,class :inherit modus-theme-intense-red)))
+    `(sp-show-pair-mismatch-face ((,class :inherit modus-themes-intense-red)))
     `(sp-wrap-overlay-closing-pair ((,class :inherit sp-pair-overlay-face)))
     `(sp-wrap-overlay-face ((,class :inherit sp-pair-overlay-face)))
     `(sp-wrap-overlay-opening-pair ((,class :inherit sp-pair-overlay-face)))
     `(sp-wrap-tag-overlay-face ((,class :inherit sp-pair-overlay-face)))
 ;;;;; smerge
-    `(smerge-base ((,class :inherit modus-theme-diff-changed)))
-    `(smerge-lower ((,class :inherit modus-theme-diff-added)))
-    `(smerge-markers ((,class :background ,bg-diff-neutral-2 :foreground ,fg-diff-neutral-2)))
-    `(smerge-refined-added ((,class :inherit modus-theme-diff-refine-added)))
+    `(smerge-base ((,class :inherit modus-themes-diff-changed)))
+    `(smerge-lower ((,class :inherit modus-themes-diff-added)))
+    `(smerge-markers ((,class :inherit modus-themes-diff-heading)))
+    `(smerge-refined-added ((,class :inherit modus-themes-diff-refine-added)))
     `(smerge-refined-changed (()))
-    `(smerge-refined-removed ((,class :inherit modus-theme-diff-refine-removed)))
-    `(smerge-upper ((,class :inherit modus-theme-diff-removed)))
+    `(smerge-refined-removed ((,class :inherit modus-themes-diff-refine-removed)))
+    `(smerge-upper ((,class :inherit modus-themes-diff-removed)))
 ;;;;; solaire
     `(solaire-default-face ((,class :inherit default :background ,bg-alt :foreground ,fg-dim)))
     `(solaire-line-number-face ((,class :inherit solaire-default-face :foreground ,fg-unfocused)))
     `(solaire-hl-line-face ((,class :background ,bg-active)))
     `(solaire-org-hide-face ((,class :background ,bg-alt :foreground ,bg-alt)))
 ;;;;; spaceline
-    `(spaceline-evil-emacs ((,class :inherit modus-theme-active-magenta)))
-    `(spaceline-evil-insert ((,class :inherit modus-theme-active-green)))
-    `(spaceline-evil-motion ((,class :inherit modus-theme-active-blue)))
+    `(spaceline-evil-emacs ((,class :inherit modus-themes-active-magenta)))
+    `(spaceline-evil-insert ((,class :inherit modus-themes-active-green)))
+    `(spaceline-evil-motion ((,class :inherit modus-themes-active-blue)))
     `(spaceline-evil-normal ((,class :background ,fg-alt :foreground ,bg-alt)))
-    `(spaceline-evil-replace ((,class :inherit modus-theme-active-red)))
-    `(spaceline-evil-visual ((,class :inherit modus-theme-active-cyan)))
+    `(spaceline-evil-replace ((,class :inherit modus-themes-active-red)))
+    `(spaceline-evil-visual ((,class :inherit modus-themes-active-cyan)))
     `(spaceline-flycheck-error ((,class :foreground ,red-active)))
     `(spaceline-flycheck-info ((,class :foreground ,cyan-active)))
     `(spaceline-flycheck-warning ((,class :foreground ,yellow-active)))
-    `(spaceline-highlight-face ((,class :inherit modus-theme-fringe-blue)))
-    `(spaceline-modified ((,class :inherit modus-theme-fringe-magenta)))
+    `(spaceline-highlight-face ((,class :inherit modus-themes-fringe-blue)))
+    `(spaceline-modified ((,class :inherit modus-themes-fringe-magenta)))
     `(spaceline-python-venv ((,class :foreground ,magenta-active)))
-    `(spaceline-read-only ((,class :inherit modus-theme-fringe-red)))
-    `(spaceline-unmodified ((,class :inherit modus-theme-fringe-cyan)))
+    `(spaceline-read-only ((,class :inherit modus-themes-fringe-red)))
+    `(spaceline-unmodified ((,class :inherit modus-themes-fringe-cyan)))
 ;;;;; speedbar
     `(speedbar-button-face ((,class :inherit button)))
     `(speedbar-directory-face ((,class :inherit bold :foreground ,blue)))
     `(speedbar-file-face ((,class :foreground ,fg-main)))
-    `(speedbar-highlight-face ((,class :inherit modus-theme-subtle-blue)))
+    `(speedbar-highlight-face ((,class :inherit modus-themes-subtle-blue)))
     `(speedbar-selected-face ((,class :inherit bold :foreground ,cyan)))
-    `(speedbar-separator-face ((,class :inherit modus-theme-intense-neutral)))
+    `(speedbar-separator-face ((,class :inherit modus-themes-intense-neutral)))
     `(speedbar-tag-face ((,class :foreground ,yellow-alt-other)))
 ;;;;; spell-fu
-    `(spell-fu-incorrect-face ((,class :inherit modus-theme-lang-error)))
+    `(spell-fu-incorrect-face ((,class :inherit modus-themes-lang-error)))
 ;;;;; spray
     `(spray-accent-face ((,class :foreground ,red-intense)))
     `(spray-base-face ((,class :inherit default :foreground ,fg-special-cold)))
 ;;;;; stripes
-    `(stripes ((,class :inherit modus-theme-hl-line)))
+    `(stripes ((,class :inherit modus-themes-hl-line)))
 ;;;;; success
     `(suggest-heading ((,class :inherit bold :foreground ,yellow-alt-other)))
 ;;;;; switch-window
     `(switch-window-background ((,class :background ,bg-dim)))
     `(switch-window-label ((,class :height 3.0 :foreground ,blue-intense)))
 ;;;;; swiper
-    `(swiper-background-match-face-1 ((,class :inherit modus-theme-subtle-neutral)))
-    `(swiper-background-match-face-2 ((,class :inherit modus-theme-refine-cyan)))
-    `(swiper-background-match-face-3 ((,class :inherit modus-theme-refine-magenta)))
-    `(swiper-background-match-face-4 ((,class :inherit modus-theme-refine-yellow)))
-    `(swiper-line-face ((,class :inherit modus-theme-special-cold)))
-    `(swiper-match-face-1 ((,class :inherit (bold modus-theme-intense-neutral))))
-    `(swiper-match-face-2 ((,class :inherit (bold modus-theme-intense-green))))
-    `(swiper-match-face-3 ((,class :inherit (bold modus-theme-intense-blue))))
-    `(swiper-match-face-4 ((,class :inherit (bold modus-theme-intense-red))))
+    `(swiper-background-match-face-1 ((,class :inherit modus-themes-subtle-neutral)))
+    `(swiper-background-match-face-2 ((,class :inherit modus-themes-refine-cyan)))
+    `(swiper-background-match-face-3 ((,class :inherit modus-themes-refine-magenta)))
+    `(swiper-background-match-face-4 ((,class :inherit modus-themes-refine-yellow)))
+    `(swiper-line-face ((,class :inherit modus-themes-special-cold)))
+    `(swiper-match-face-1 ((,class :inherit (bold modus-themes-intense-neutral))))
+    `(swiper-match-face-2 ((,class :inherit (bold modus-themes-intense-green))))
+    `(swiper-match-face-3 ((,class :inherit (bold modus-themes-intense-blue))))
+    `(swiper-match-face-4 ((,class :inherit (bold modus-themes-intense-red))))
 ;;;;; swoop
     `(swoop-face-header-format-line ((,class :inherit bold :foreground ,red-alt
                                              ,@(modus-themes--scale modus-themes-scale-3))))
     `(swoop-face-line-buffer-name ((,class :inherit bold :foreground ,blue-alt
                                            ,@(modus-themes--scale modus-themes-scale-4))))
     `(swoop-face-line-number ((,class :foreground ,fg-special-warm)))
-    `(swoop-face-target-line ((,class :inherit modus-theme-intense-blue :extend t)))
-    `(swoop-face-target-words ((,class :inherit modus-theme-refine-cyan)))
+    `(swoop-face-target-line ((,class :inherit modus-themes-intense-blue :extend t)))
+    `(swoop-face-target-words ((,class :inherit modus-themes-refine-cyan)))
 ;;;;; sx
     `(sx-inbox-item-type ((,class :foreground ,magenta-alt-other)))
     `(sx-inbox-item-type-unread ((,class :inherit (sx-inbox-item-type bold))))
@@ -5964,7 +6114,7 @@ ;;;;; sx
     `(sx-question-list-score-upvoted ((,class :inherit (sx-question-list-score bold))))
     `(sx-question-list-unread-question ((,class :inherit bold :foreground ,fg-main)))
     `(sx-question-mode-accepted ((,class :inherit bold :height 1.3 :foreground ,green)))
-    `(sx-question-mode-closed ((,class :inherit modus-theme-active-yellow :box (:line-width 2 :color nil))))
+    `(sx-question-mode-closed ((,class :inherit modus-themes-active-yellow :box (:line-width 2 :color nil))))
     `(sx-question-mode-closed-reason ((,class :box (:line-width 2 :color nil) :foreground ,fg-main)))
     `(sx-question-mode-content-face ((,class :background ,bg-dim)))
     `(sx-question-mode-date ((,class :foreground ,blue)))
@@ -5979,15 +6129,15 @@ ;;;;; sx
     `(sx-user-name ((,class :foreground ,blue-alt)))
     `(sx-user-reputation ((,class :inherit shadow)))
 ;;;;; symbol-overlay
-    `(symbol-overlay-default-face ((,class :inherit modus-theme-special-warm)))
-    `(symbol-overlay-face-1 ((,class :inherit modus-theme-intense-blue)))
-    `(symbol-overlay-face-2 ((,class :inherit modus-theme-refine-magenta)))
-    `(symbol-overlay-face-3 ((,class :inherit modus-theme-intense-yellow)))
-    `(symbol-overlay-face-4 ((,class :inherit modus-theme-intense-magenta)))
-    `(symbol-overlay-face-5 ((,class :inherit modus-theme-intense-red)))
-    `(symbol-overlay-face-6 ((,class :inherit modus-theme-refine-red)))
-    `(symbol-overlay-face-7 ((,class :inherit modus-theme-intense-cyan)))
-    `(symbol-overlay-face-8 ((,class :inherit modus-theme-refine-cyan)))
+    `(symbol-overlay-default-face ((,class :inherit modus-themes-special-warm)))
+    `(symbol-overlay-face-1 ((,class :inherit modus-themes-intense-blue)))
+    `(symbol-overlay-face-2 ((,class :inherit modus-themes-refine-magenta)))
+    `(symbol-overlay-face-3 ((,class :inherit modus-themes-intense-yellow)))
+    `(symbol-overlay-face-4 ((,class :inherit modus-themes-intense-magenta)))
+    `(symbol-overlay-face-5 ((,class :inherit modus-themes-intense-red)))
+    `(symbol-overlay-face-6 ((,class :inherit modus-themes-refine-red)))
+    `(symbol-overlay-face-7 ((,class :inherit modus-themes-intense-cyan)))
+    `(symbol-overlay-face-8 ((,class :inherit modus-themes-refine-cyan)))
 ;;;;; syslog-mode
     `(syslog-debug ((,class :inherit bold :foreground ,cyan-alt-other)))
     `(syslog-error ((,class :inherit bold :foreground ,red)))
@@ -5998,6 +6148,23 @@ ;;;;; syslog-mode
     `(syslog-ip ((,class :inherit bold :foreground ,fg-special-mild :underline t)))
     `(syslog-su ((,class :inherit bold :foreground ,red-alt)))
     `(syslog-warn ((,class :inherit bold :foreground ,yellow)))
+;;;;; tab-bar-groups
+    `(tab-bar-groups-1 ((,class ,@(modus-themes--variable-pitch-ui) :foreground ,blue-tab)))
+    `(tab-bar-groups-1-group-name ((,class :inherit tab-bar-groups-1 :inverse-video t)))
+    `(tab-bar-groups-2 ((,class ,@(modus-themes--variable-pitch-ui) :foreground ,red-tab)))
+    `(tab-bar-groups-2-group-name ((,class :inherit tab-bar-groups-2 :inverse-video t)))
+    `(tab-bar-groups-3 ((,class ,@(modus-themes--variable-pitch-ui) :foreground ,green-tab)))
+    `(tab-bar-groups-3-group-name ((,class :inherit tab-bar-groups-3 :inverse-video t)))
+    `(tab-bar-groups-4 ((,class ,@(modus-themes--variable-pitch-ui) :foreground ,orange-tab)))
+    `(tab-bar-groups-4-group-name ((,class :inherit tab-bar-groups-4 :inverse-video t)))
+    `(tab-bar-groups-5 ((,class ,@(modus-themes--variable-pitch-ui) :foreground ,purple-tab)))
+    `(tab-bar-groups-5-group-name ((,class :inherit tab-bar-groups-5 :inverse-video t)))
+    `(tab-bar-groups-6 ((,class ,@(modus-themes--variable-pitch-ui) :foreground ,cyan-tab)))
+    `(tab-bar-groups-6-group-name ((,class :inherit tab-bar-groups-6 :inverse-video t)))
+    `(tab-bar-groups-7 ((,class ,@(modus-themes--variable-pitch-ui) :foreground ,yellow-tab)))
+    `(tab-bar-groups-7-group-name ((,class :inherit tab-bar-groups-7 :inverse-video t)))
+    `(tab-bar-groups-8 ((,class ,@(modus-themes--variable-pitch-ui) :foreground ,magenta-tab)))
+    `(tab-bar-groups-8-group-name ((,class :inherit tab-bar-groups-8 :inverse-video t)))
 ;;;;; tab-bar-mode
     `(tab-bar ((,class ,@(modus-themes--variable-pitch-ui)
                        :background ,bg-tab-bar :foreground ,fg-main)))
@@ -6019,6 +6186,30 @@ ;;;;; tab-line-mode
                                                :background ,bg-tab-inactive-alt :foreground ,fg-main)))
 ;;;;; table (built-in table.el)
     `(table-cell ((,class :background ,blue-nuanced-bg)))
+;;;;; telega
+    ;; FIXME 2021-03-28: Some aspects of `telega' are not fully
+    ;; supported or have not been tested thoroughly.  Please understand
+    ;; that I do not use that service because it requires a smartphone
+    ;; and I have none.  Help with testing is appreciated.
+    `(telega-button ((,class :box t :foreground ,blue)))
+    `(telega-button-active ((,class :box ,blue-intense-bg :background ,blue-intense-bg :foreground ,fg-main)))
+    `(telega-button-highlight ((,class :inherit modus-themes-subtle-magenta)))
+    `(telega-chat-prompt ((,class :inherit bold)))
+    `(telega-entity-type-code ((,class :inherit fixed-pitch)))
+    `(telega-entity-type-mention ((,class :foreground ,cyan)))
+    `(telega-entity-type-pre ((,class :inherit fixed-pitch)))
+    `(telega-msg-heading ((,class :background ,bg-alt)))
+    `(telega-msg-self-title ((,class :inherit bold)))
+    `(telega-root-heading ((,class :inherit modus-themes-subtle-neutral)))
+    `(telega-secret-title ((,class :foreground ,magenta-alt)))
+    `(telega-unmuted-count ((,class :foreground ,blue-alt-other)))
+    `(telega-user-online-status ((,class :foreground ,cyan-active)))
+    `(telega-username ((,class :foreground ,cyan-alt-other)))
+    `(telega-webpage-chat-link ((,class :background ,bg-alt)))
+    `(telega-webpage-fixed ((,class :inherit fixed-pitch :height 0.85)))
+    `(telega-webpage-header ((,class :inherit modus-themes-variable-pitch :height 1.3)))
+    `(telega-webpage-preformatted ((,class :inherit fixed-pitch :background ,bg-alt)))
+    `(telega-webpage-subheader ((,class :inherit modus-themes-variable-pitch :height 1.15)))
 ;;;;; telephone-line
     `(telephone-line-accent-active ((,class :background ,fg-inactive :foreground ,bg-inactive)))
     `(telephone-line-accent-inactive ((,class :background ,bg-active :foreground ,fg-active)))
@@ -6058,16 +6249,16 @@ ;;;;; tomatinho
     `(tomatinho-pause-face ((,class :foreground ,yellow-intense)))
     `(tomatinho-reset-face ((,class :inherit shadow)))
 ;;;;; transient
-    `(transient-active-infix ((,class :inherit modus-theme-special-mild)))
+    `(transient-active-infix ((,class :inherit modus-themes-special-mild)))
     `(transient-amaranth ((,class :inherit bold :foreground ,yellow)))
     `(transient-argument ((,class :inherit bold :foreground ,red-alt)))
     `(transient-blue ((,class :inherit bold :foreground ,blue)))
-    `(transient-disabled-suffix ((,class :inherit modus-theme-intense-red)))
-    `(transient-enabled-suffix ((,class :inherit modus-theme-intense-green)))
+    `(transient-disabled-suffix ((,class :inherit modus-themes-intense-red)))
+    `(transient-enabled-suffix ((,class :inherit modus-themes-intense-green)))
     `(transient-heading ((,class :inherit bold :foreground ,fg-main)))
     `(transient-inactive-argument ((,class :inherit shadow)))
     `(transient-inactive-value ((,class :inherit shadow)))
-    `(transient-key ((,class :inherit bold :foreground ,blue)))
+    `(transient-key ((,class :inherit modus-themes-key-binding)))
     `(transient-mismatched-key ((,class :underline t)))
     `(transient-nonstandard-key ((,class :underline t)))
     `(transient-pink ((,class :inherit bold :foreground ,magenta)))
@@ -6077,11 +6268,11 @@ ;;;;; transient
     `(transient-unreachable-key ((,class :foreground ,fg-unfocused)))
     `(transient-value ((,class :inherit bold :foreground ,magenta-alt-other)))
 ;;;;; trashed
-    `(trashed-deleted ((,class :inherit modus-theme-mark-del)))
+    `(trashed-deleted ((,class :inherit modus-themes-mark-del)))
     `(trashed-directory ((,class :foreground ,blue)))
-    `(trashed-mark ((,class :inherit modus-theme-mark-symbol)))
-    `(trashed-marked ((,class :inherit modus-theme-mark-alt)))
-    `(trashed-restored ((,class :inherit modus-theme-mark-sel)))
+    `(trashed-mark ((,class :inherit modus-themes-mark-symbol)))
+    `(trashed-marked ((,class :inherit modus-themes-mark-alt)))
+    `(trashed-restored ((,class :inherit modus-themes-mark-sel)))
     `(trashed-symlink ((,class :inherit button
                                ,@(modus-themes--link-color
                                   cyan-alt cyan-alt-faint))))
@@ -6091,16 +6282,16 @@ ;;;;; treemacs
     `(treemacs-file-face ((,class :foreground ,fg-main)))
     `(treemacs-fringe-indicator-face ((,class :foreground ,fg-main)))
     `(treemacs-git-added-face ((,class :foreground ,green-intense)))
-    `(treemacs-git-conflict-face ((,class :inherit (modus-theme-intense-red bold))))
+    `(treemacs-git-conflict-face ((,class :inherit (modus-themes-intense-red bold))))
     `(treemacs-git-ignored-face ((,class :inherit shadow)))
     `(treemacs-git-modified-face ((,class :foreground ,yellow-alt-other)))
     `(treemacs-git-renamed-face ((,class :foreground ,cyan-alt-other)))
     `(treemacs-git-unmodified-face ((,class :foreground ,fg-main)))
     `(treemacs-git-untracked-face ((,class :foreground ,red-alt-other)))
-    `(treemacs-help-column-face ((,class :inherit modus-theme-bold :foreground ,magenta-alt-other :underline t)))
+    `(treemacs-help-column-face ((,class :inherit modus-themes-bold :foreground ,magenta-alt-other :underline t)))
     `(treemacs-help-title-face ((,class :foreground ,blue-alt-other)))
-    `(treemacs-on-failure-pulse-face ((,class :inherit modus-theme-intense-red)))
-    `(treemacs-on-success-pulse-face ((,class :inherit modus-theme-intense-green)))
+    `(treemacs-on-failure-pulse-face ((,class :inherit modus-themes-intense-red)))
+    `(treemacs-on-success-pulse-face ((,class :inherit modus-themes-intense-green)))
     `(treemacs-root-face ((,class :inherit bold :foreground ,blue-alt-other :height 1.2 :underline t)))
     `(treemacs-root-remote-disconnected-face ((,class :inherit treemacs-root-remote-face :foreground ,yellow)))
     `(treemacs-root-remote-face ((,class :inherit treemacs-root-face :foreground ,magenta)))
@@ -6111,17 +6302,17 @@ ;;;;; treemacs
 ;;;;; tty-menu
     `(tty-menu-disabled-face ((,class :background ,bg-alt :foreground ,fg-alt)))
     `(tty-menu-enabled-face ((,class :inherit bold :background ,bg-alt :foreground ,fg-main)))
-    `(tty-menu-selected-face ((,class :inherit modus-theme-intense-blue)))
+    `(tty-menu-selected-face ((,class :inherit modus-themes-intense-blue)))
 ;;;;; tuareg
-    `(caml-types-def-face ((,class :inherit modus-theme-subtle-red)))
-    `(caml-types-expr-face ((,class :inherit modus-theme-subtle-green)))
-    `(caml-types-occ-face ((,class :inherit modus-theme-subtle-green)))
-    `(caml-types-scope-face ((,class :inherit modus-theme-subtle-blue)))
-    `(caml-types-typed-face ((,class :inherit modus-theme-subtle-magenta)))
+    `(caml-types-def-face ((,class :inherit modus-themes-subtle-red)))
+    `(caml-types-expr-face ((,class :inherit modus-themes-subtle-green)))
+    `(caml-types-occ-face ((,class :inherit modus-themes-subtle-green)))
+    `(caml-types-scope-face ((,class :inherit modus-themes-subtle-blue)))
+    `(caml-types-typed-face ((,class :inherit modus-themes-subtle-magenta)))
     `(tuareg-font-double-semicolon-face ((,class :inherit font-lock-preprocessor-face)))
     `(tuareg-font-lock-attribute-face ((,class :inherit font-lock-function-name-face)))
     `(tuareg-font-lock-constructor-face ((,class :foreground ,fg-main)))
-    `(tuareg-font-lock-error-face ((,class :inherit (modus-theme-intense-red bold))))
+    `(tuareg-font-lock-error-face ((,class :inherit (modus-themes-intense-red bold))))
     `(tuareg-font-lock-extension-node-face ((,class :background ,bg-alt :foreground ,magenta)))
     `(tuareg-font-lock-governing-face ((,class :inherit bold :foreground ,fg-main)))
     `(tuareg-font-lock-infix-extension-node-face ((,class :inherit font-lock-function-name-face)))
@@ -6136,9 +6327,9 @@ ;;;;; tuareg
     `(tuareg-opam-error-face ((,class :inherit error)))
     `(tuareg-opam-pkg-variable-name-face ((,class :inherit font-lock-variable-name-face)))
 ;;;;; typescript
-    `(typescript-jsdoc-tag ((,class :inherit modus-theme-slant :foreground ,fg-special-mild)))
-    `(typescript-jsdoc-type ((,class :inherit modus-theme-slant :foreground ,fg-special-calm)))
-    `(typescript-jsdoc-value ((,class :inherit modus-theme-slant :foreground ,fg-special-cold)))
+    `(typescript-jsdoc-tag ((,class :inherit (font-lock-builtin-face font-lock-comment-face) :weight normal)))
+    `(typescript-jsdoc-type ((,class :inherit (font-lock-type-face font-lock-comment-face) :weight normal)))
+    `(typescript-jsdoc-value ((,class :inherit (font-lock-constant-face font-lock-comment-face) :weight normal)))
 ;;;;; undo-tree
     `(undo-tree-visualizer-active-branch-face ((,class :inherit bold :foreground ,fg-main)))
     `(undo-tree-visualizer-current-face ((,class :foreground ,blue-intense)))
@@ -6155,26 +6346,31 @@ ;;;;; vc (vc-dir.el, vc-hooks.el)
     `(vc-dir-status-ignored ((,class :foreground ,fg-unfocused)))
     `(vc-dir-status-up-to-date ((,class :foreground ,cyan)))
     `(vc-dir-status-warning ((,class :foreground ,red)))
-    `(vc-conflict-state ((,class :inherit modus-theme-slant :foreground ,red-active)))
+    `(vc-conflict-state ((,class :inherit modus-themes-slant :foreground ,red-active)))
     `(vc-edited-state ((,class :foreground ,yellow-active)))
     `(vc-locally-added-state ((,class :foreground ,cyan-active)))
     `(vc-locked-state ((,class :foreground ,blue-active)))
-    `(vc-missing-state ((,class :inherit modus-theme-slant :foreground ,magenta-active)))
-    `(vc-needs-update-state ((,class :inherit modus-theme-slant :foreground ,green-active)))
+    `(vc-missing-state ((,class :inherit modus-themes-slant :foreground ,magenta-active)))
+    `(vc-needs-update-state ((,class :inherit modus-themes-slant :foreground ,green-active)))
     `(vc-removed-state ((,class :foreground ,red-active)))
     `(vc-state-base ((,class :foreground ,fg-active)))
     `(vc-up-to-date-state ((,class :foreground ,fg-special-cold)))
 ;;;;; vdiff
-    `(vdiff-addition-face ((,class :inherit modus-theme-diff-added)))
-    `(vdiff-change-face ((,class :inherit modus-theme-diff-changed)))
-    `(vdiff-closed-fold-face ((,class :background ,bg-diff-neutral-1 :foreground ,fg-diff-neutral-1)))
-    `(vdiff-refine-added ((,class :inherit modus-theme-diff-refine-added)))
-    `(vdiff-refine-changed ((,class :inherit modus-theme-diff-refine-changed)))
-    `(vdiff-subtraction-face ((,class :inherit modus-theme-diff-removed)))
-    `(vdiff-target-face ((,class :inherit modus-theme-intense-blue)))
+    `(vdiff-addition-face ((,class :inherit modus-themes-diff-added)))
+    `(vdiff-change-face ((,class :inherit modus-themes-diff-changed)))
+    `(vdiff-closed-fold-face ((,class :inherit modus-themes-diff-heading)))
+    `(vdiff-refine-added ((,class :inherit modus-themes-diff-refine-added)))
+    `(vdiff-refine-changed ((,class :inherit modus-themes-diff-refine-changed)))
+    `(vdiff-subtraction-face ((,class :inherit modus-themes-diff-removed)))
+    `(vdiff-target-face ((,class :inherit modus-themes-intense-blue)))
+;;;;; vertico
+    `(vertico-current ((,class :inherit bold :foreground ,fg-main
+                               :background ,@(pcase modus-themes-completions
+                                               ('opinionated (list bg-active))
+                                               (_ (list bg-inactive))))))
 ;;;;; vimish-fold
     `(vimish-fold-fringe ((,class :foreground ,cyan-active)))
-    `(vimish-fold-mouse-face ((,class :inherit modus-theme-intense-blue)))
+    `(vimish-fold-mouse-face ((,class :inherit modus-themes-intense-blue)))
     `(vimish-fold-overlay ((,class :background ,bg-alt :foreground ,fg-special-cold)))
 ;;;;; visible-mark
     `(visible-mark-active ((,class :background ,blue-intense-bg)))
@@ -6183,12 +6379,12 @@ ;;;;; visible-mark
     `(visible-mark-forward-face1 ((,class :background ,magenta-intense-bg)))
     `(visible-mark-forward-face2 ((,class :background ,green-intense-bg)))
 ;;;;; visual-regexp
-    `(vr/group-0 ((,class :inherit modus-theme-intense-blue)))
-    `(vr/group-1 ((,class :inherit modus-theme-intense-magenta)))
-    `(vr/group-2 ((,class :inherit modus-theme-intense-green)))
-    `(vr/match-0 ((,class :inherit modus-theme-refine-yellow)))
-    `(vr/match-1 ((,class :inherit modus-theme-refine-yellow)))
-    `(vr/match-separator-face ((,class :inherit (modus-theme-intense-neutral bold))))
+    `(vr/group-0 ((,class :inherit modus-themes-intense-blue)))
+    `(vr/group-1 ((,class :inherit modus-themes-intense-magenta)))
+    `(vr/group-2 ((,class :inherit modus-themes-intense-green)))
+    `(vr/match-0 ((,class :inherit modus-themes-refine-yellow)))
+    `(vr/match-1 ((,class :inherit modus-themes-refine-yellow)))
+    `(vr/match-separator-face ((,class :inherit (modus-themes-intense-neutral bold))))
 ;;;;; volatile-highlights
     `(vhl/default-face ((,class :background ,bg-alt :foreground ,blue-nuanced-fg :extend t)))
 ;;;;; vterm
@@ -6232,9 +6428,9 @@ ;;;;; web-mode
     `(web-mode-css-string-face ((,class :inherit web-mode-string-face)))
     `(web-mode-css-variable-face ((,class :foreground ,fg-special-warm)))
     `(web-mode-current-column-highlight-face ((,class :background ,bg-alt)))
-    `(web-mode-current-element-highlight-face ((,class :inherit modus-theme-special-mild)))
-    `(web-mode-doctype-face ((,class :inherit modus-theme-slant :foreground ,fg-special-cold)))
-    `(web-mode-error-face ((,class :inherit modus-theme-intense-red)))
+    `(web-mode-current-element-highlight-face ((,class :inherit modus-themes-special-mild)))
+    `(web-mode-doctype-face ((,class :inherit modus-themes-slant :foreground ,fg-special-cold)))
+    `(web-mode-error-face ((,class :inherit modus-themes-intense-red)))
     `(web-mode-filter-face ((,class :inherit font-lock-function-name-face)))
     `(web-mode-folded-face ((,class :underline t)))
     `(web-mode-function-call-face ((,class :inherit font-lock-function-name-face)))
@@ -6280,44 +6476,44 @@ ;;;;; web-mode
     `(web-mode-warning-face ((,class :inherit font-lock-warning-face)))
     `(web-mode-whitespace-face ((,class :background ,bg-whitespace :foreground ,fg-whitespace)))
 ;;;;; wgrep
-    `(wgrep-delete-face ((,class :inherit modus-theme-refine-yellow)))
-    `(wgrep-done-face ((,class :inherit modus-theme-refine-blue)))
-    `(wgrep-face ((,class :inherit modus-theme-refine-green)))
+    `(wgrep-delete-face ((,class :inherit modus-themes-refine-yellow)))
+    `(wgrep-done-face ((,class :inherit modus-themes-refine-blue)))
+    `(wgrep-face ((,class :inherit modus-themes-refine-green)))
     `(wgrep-file-face ((,class :foreground ,fg-special-warm)))
-    `(wgrep-reject-face ((,class :inherit (modus-theme-intense-red bold))))
+    `(wgrep-reject-face ((,class :inherit (modus-themes-intense-red bold))))
 ;;;;; which-function-mode
     `(which-func ((,class :foreground ,magenta-active)))
 ;;;;; which-key
     `(which-key-command-description-face ((,class :foreground ,fg-main)))
     `(which-key-group-description-face ((,class :foreground ,magenta-alt)))
     `(which-key-highlighted-command-face ((,class :foreground ,yellow :underline t)))
-    `(which-key-key-face ((,class :inherit bold :foreground ,blue-intense)))
+    `(which-key-key-face ((,class :inherit modus-themes-key-binding)))
     `(which-key-local-map-description-face ((,class :foreground ,fg-main)))
     `(which-key-note-face ((,class :foreground ,fg-special-warm)))
     `(which-key-separator-face ((,class :inherit shadow)))
     `(which-key-special-key-face ((,class :inherit bold :foreground ,orange-intense)))
 ;;;;; whitespace-mode
-    `(whitespace-big-indent ((,class :inherit modus-theme-subtle-red)))
-    `(whitespace-empty ((,class :inherit modus-theme-intense-magenta)))
+    `(whitespace-big-indent ((,class :inherit modus-themes-subtle-red)))
+    `(whitespace-empty ((,class :inherit modus-themes-intense-magenta)))
     `(whitespace-hspace ((,class :background ,bg-whitespace :foreground ,fg-whitespace)))
     `(whitespace-indentation ((,class :background ,bg-whitespace :foreground ,fg-whitespace)))
     `(whitespace-line ((,class :background ,bg-alt)))
     `(whitespace-newline ((,class :background ,bg-whitespace :foreground ,fg-whitespace)))
     `(whitespace-space ((,class :background ,bg-whitespace :foreground ,fg-whitespace)))
-    `(whitespace-space-after-tab ((,class :inherit modus-theme-subtle-magenta)))
-    `(whitespace-space-before-tab ((,class :inherit modus-theme-subtle-cyan)))
+    `(whitespace-space-after-tab ((,class :inherit modus-themes-subtle-magenta)))
+    `(whitespace-space-before-tab ((,class :inherit modus-themes-subtle-cyan)))
     `(whitespace-tab ((,class :background ,bg-whitespace :foreground ,fg-whitespace)))
-    `(whitespace-trailing ((,class :inherit modus-theme-intense-red)))
+    `(whitespace-trailing ((,class :inherit modus-themes-intense-red)))
 ;;;;; window-divider-mode
     `(window-divider ((,class :foreground ,fg-window-divider-inner)))
     `(window-divider-first-pixel ((,class :foreground ,fg-window-divider-outer)))
     `(window-divider-last-pixel ((,class :foreground ,fg-window-divider-outer)))
 ;;;;; winum
-    `(winum-face ((,class :inherit modus-theme-bold :foreground ,cyan-active)))
+    `(winum-face ((,class :inherit modus-themes-bold :foreground ,cyan-active)))
 ;;;;; writegood-mode
     `(writegood-duplicates-face ((,class :background ,bg-alt :foreground ,red-alt :underline t)))
-    `(writegood-passive-voice-face ((,class :inherit modus-theme-lang-warning)))
-    `(writegood-weasels-face ((,class :inherit modus-theme-lang-error)))
+    `(writegood-passive-voice-face ((,class :inherit modus-themes-lang-warning)))
+    `(writegood-weasels-face ((,class :inherit modus-themes-lang-error)))
 ;;;;; woman
     `(woman-addition ((,class :foreground ,magenta-alt-other)))
     `(woman-bold ((,class :inherit bold :foreground ,magenta)))
@@ -6333,18 +6529,18 @@ ;;;;; xref
     `(xref-line-number ((,class :inherit shadow)))
     `(xref-match ((,class :inherit match)))
 ;;;;; yaml-mode
-    `(yaml-tab-face ((,class :inherit modus-theme-intense-red)))
+    `(yaml-tab-face ((,class :inherit modus-themes-intense-red)))
 ;;;;; yasnippet
     `(yas-field-highlight-face ((,class :background ,bg-hl-alt-intense)))
 ;;;;; ztree
     `(ztreep-arrow-face ((,class :foreground ,fg-inactive)))
     `(ztreep-diff-header-face ((,class :inherit bold :height 1.2 :foreground ,fg-special-cold)))
-    `(ztreep-diff-header-small-face ((,class :inherit bold :foreground ,fg-special-mild)))
-    `(ztreep-diff-model-add-face ((,class :foreground ,green)))
+    `(ztreep-diff-header-small-face ((,class :foreground ,fg-main)))
+    `(ztreep-diff-model-add-face ((,class :foreground ,@(modus-themes--diff-deuteran blue green))))
     `(ztreep-diff-model-diff-face ((,class :foreground ,red)))
     `(ztreep-diff-model-ignored-face ((,class :inherit shadow :strike-through t)))
     `(ztreep-diff-model-normal-face ((,class :inherit shadow)))
-    `(ztreep-expand-sign-face ((,class :foreground ,blue)))
+    `(ztreep-expand-sign-face ((,class :inherit ztreep-arrow-face)))
     `(ztreep-header-face ((,class :inherit bold :height 1.2 :foreground ,fg-special-cold)))
     `(ztreep-leaf-face ((,class :foreground ,cyan)))
     `(ztreep-node-count-children-face ((,class :foreground ,fg-special-warm)))
@@ -6362,14 +6558,14 @@ ;;;; awesome-tray
 ;;;; exwm
     `(exwm-floating-border-color ,fg-window-divider-inner)
 ;;;; flymake fringe indicators
-    `(flymake-error-bitmap '(flymake-double-exclamation-mark modus-theme-fringe-red))
-    `(flymake-warning-bitmap '(exclamation-mark modus-theme-fringe-yellow))
-    `(flymake-note-bitmap '(exclamation-mark modus-theme-fringe-cyan))
+    `(flymake-error-bitmap '(flymake-double-exclamation-mark modus-themes-fringe-red))
+    `(flymake-warning-bitmap '(exclamation-mark modus-themes-fringe-yellow))
+    `(flymake-note-bitmap '(exclamation-mark modus-themes-fringe-cyan))
 ;;;; ibuffer
-    `(ibuffer-deletion-face 'modus-theme-mark-del)
-    `(ibuffer-filter-group-name-face 'modus-theme-mark-symbol)
-    `(ibuffer-marked-face 'modus-theme-mark-sel)
-    `(ibuffer-title-face 'modus-theme-pseudo-header)
+    `(ibuffer-deletion-face 'modus-themes-mark-del)
+    `(ibuffer-filter-group-name-face 'modus-themes-mark-symbol)
+    `(ibuffer-marked-face 'modus-themes-mark-sel)
+    `(ibuffer-title-face 'modus-themes-pseudo-header)
 ;;;; highlight-tail
     `(highlight-tail-colors
       '((,green-subtle-bg . 0)
@@ -6425,24 +6621,24 @@ ;;;; xterm-color
     `(xterm-color-names-bright ["gray35" ,red-alt ,green-alt ,yellow-alt ,blue-alt ,magenta-alt ,cyan-alt "white"])
     (if (eq modus-themes-org-blocks 'rainbow)
         `(org-src-block-faces              ; TODO this list should be expanded
-          `(("emacs-lisp" modus-theme-nuanced-magenta)
-            ("elisp" modus-theme-nuanced-magenta)
-            ("clojure" modus-theme-nuanced-magenta)
-            ("clojurescript" modus-theme-nuanced-magenta)
-            ("c" modus-theme-nuanced-blue)
-            ("c++" modus-theme-nuanced-blue)
-            ("sh" modus-theme-nuanced-green)
-            ("shell" modus-theme-nuanced-green)
-            ("html" modus-theme-nuanced-yellow)
-            ("xml" modus-theme-nuanced-yellow)
-            ("css" modus-theme-nuanced-red)
-            ("scss" modus-theme-nuanced-red)
-            ("python" modus-theme-nuanced-green)
-            ("ipython" modus-theme-nuanced-magenta)
-            ("r" modus-theme-nuanced-cyan)
-            ("yaml" modus-theme-nuanced-cyan)
-            ("conf" modus-theme-nuanced-cyan)
-            ("docker" modus-theme-nuanced-cyan)))
+          `(("emacs-lisp" modus-themes-nuanced-magenta)
+            ("elisp" modus-themes-nuanced-magenta)
+            ("clojure" modus-themes-nuanced-magenta)
+            ("clojurescript" modus-themes-nuanced-magenta)
+            ("c" modus-themes-nuanced-blue)
+            ("c++" modus-themes-nuanced-blue)
+            ("sh" modus-themes-nuanced-green)
+            ("shell" modus-themes-nuanced-green)
+            ("html" modus-themes-nuanced-yellow)
+            ("xml" modus-themes-nuanced-yellow)
+            ("css" modus-themes-nuanced-red)
+            ("scss" modus-themes-nuanced-red)
+            ("python" modus-themes-nuanced-green)
+            ("ipython" modus-themes-nuanced-magenta)
+            ("r" modus-themes-nuanced-cyan)
+            ("yaml" modus-themes-nuanced-cyan)
+            ("conf" modus-themes-nuanced-cyan)
+            ("docker" modus-themes-nuanced-cyan)))
       `(org-src-block-faces '())))
   "Custom variables for `modus-themes-theme'.")
 
@@ -6453,4 +6649,11 @@ (when load-file-name
       (add-to-list 'custom-theme-load-path dir))))
 
 (provide 'modus-themes)
+
+;; Local Variables:
+;; time-stamp-start: "Last-Modified:[ \t]+\\\\?[\"<]"
+;; time-stamp-end: "\\\\?[\">]"
+;; time-stamp-format: "%Y-%02m-%02d %02H:%02M:%02S %5z"
+;; End:
+
 ;;; modus-themes.el ends here
diff --git a/etc/themes/modus-vivendi-theme.el b/etc/themes/modus-vivendi-theme.el
index 814f10d105..ff59d3009b 100644
--- a/etc/themes/modus-vivendi-theme.el
+++ b/etc/themes/modus-vivendi-theme.el
@@ -4,7 +4,7 @@ ;;; modus-vivendi-theme.el --- Accessible dark theme (WCAG AAA) -*- lexical-bind
 
 ;; Author: Protesilaos Stavrou <[email-masked]>
 ;; URL: https://gitlab.com/protesilaos/modus-themes
-;; Version: 1.2.3
+;; Version: 1.3.2
 ;; Package-Requires: ((emacs "26.1"))
 ;; Keywords: faces, theme, accessibility
 
@@ -52,6 +52,9 @@ ;;; Code:
 
 (eval-and-compile
   (unless (and (fboundp 'require-theme)
+               load-file-name
+               (equal (file-name-directory load-file-name)
+                      (expand-file-name "themes/" data-directory))
                (require-theme 'modus-themes t))
     (require 'modus-themes)))
 
-- 
2.31.1