emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/modus-vivendi-theme 43ece5e: Merge branch 'master' into


From: Stefan Monnier
Subject: [elpa] externals/modus-vivendi-theme 43ece5e: Merge branch 'master' into local branch
Date: Fri, 31 Jul 2020 09:25:49 -0400 (EDT)

branch: externals/modus-vivendi-theme
commit 43ece5e7eca1e7a5949d832f58e6c7ad1c0ff2bb
Merge: f264a89 c376b08
Author: Protesilaos Stavrou <info@protesilaos.com>
Commit: Protesilaos Stavrou <info@protesilaos.com>

    Merge branch 'master' into local branch
---
 CHANGELOG.org          |  259 +++++
 README.org             |  444 ++++++---
 modus-vivendi-theme.el | 2446 ++++++++++++++++++++++++++++--------------------
 3 files changed, 2004 insertions(+), 1145 deletions(-)

diff --git a/CHANGELOG.org b/CHANGELOG.org
index fb20dab..40bd2dd 100644
--- a/CHANGELOG.org
+++ b/CHANGELOG.org
@@ -6,6 +6,265 @@ This document contains the release notes that are included in 
each
 tagged commit on https://gitlab.com/protesilaos/modus-themes.  The
 newest release is at the top.
 
+* 0.11.0
+
+Modus Operandi and Modus Vivendi version 0.11.0
+
+By Protesilaos Stavrou <info@protesilaos.com> on 2020-07-31
+
+This entry records the changes since version 0.10.0 (2020-06-24).  The
+present release covers close to 100 commits, some of which introduce
+far-reaching changes.  It is not just the quantity that matters.
+Sometimes even a minor tweak requires lots of testing and forethought.
+This release represents another month of intense work and attention to
+detail.
+
+Palette review of "nuanced" colours
+===================================
+
+The themes contain a subset of palette variables that have a two-fold
+utility:
+
+1. Provide a subtle coloured background that can be combined with all
+   foreground colours that are intended for text/code highlighting.
+
+2. Produce variegated text in cases where complementary information
+   needs to be displayed alongside some more prominent construct
+   (e.g. Org table formulas).
+
+In early July 2020, these colours went through a comprehensive review to
+improve their intended use.  The complete report is available on my
+website:
+<https://protesilaos.com/codelog/2020-07-08-modus-themes-nuanced-colours/>
+
+This formed the preparatory work that enabled several of the changes
+documented herein, most noticeable among which is the "Org blocks"
+customisation option.
+
+Customisation options
+=====================
+
+Org blocks
+----------
+
+1. The symbols 'modus-operandi-theme-distinct-org-blocks' and
+   'modus-vivendi-theme-distinct-org-blocks' are DEPRECATED.  They are
+   now REPLACED by the general-purpose 'modus-operandi-theme-org-blocks'
+   and 'modus-vivendi-theme-org-blocks' respectively.
+
+2. The aforementioned new symbols allow users to configure different
+   styles for Org blocks.
+
+   + Option 'greyscale' (which you must quote like this: 'greyscale)
+     will apply a subtle grey background to the contents of the block,
+     while it will extend its beginning and end lines to ensure that the
+     area is distinct from the rest of the buffer.  This is the style
+     you would normally get with the old customisation options.
+
+   + Option 'rainbow' (again, must be quoted) will instead apply a
+     colour-coded subtle background in the main area of the block.  The
+     exact colour depends on the programming language being used.  You
+     would need to check the source code for how these are currently
+     mapped (search for "org-src-block-faces").  The basic idea is to
+     have different colours that make it easier for mixing the
+     input/output of multiple programming languages.  Users who engage
+     in literate programming may find this particularly useful.  Because
+     the block is already quite apparent, the beginning and end lines
+     are not extended to the edge of the window, to avoid exaggerations
+     that could create distractions.
+
+Variable pitch headings (proportionately-spaced headings)
+---------------------------------------------------------
+
+The symbols 'modus-operandi-theme-proportional-fonts' and
+'modus-vivendi-theme-proportional-fonts' are DEPRECATED.  They are now
+REPLACED by the more appropriately-named
+'modus-operandi-theme-variable-pitch-headings' and
+'modus-vivendi-theme-variable-pitch-headings' respectively.
+
+The intended effect is exactly the same as before, namely, to let
+headings in Org and relevant modes use a proportionately-spaced font
+regardless of what the default is (typically a monospaced typeface).
+
+Remember that to configure the exact font family for the generic
+'variable-pitch' face, you can use something like this:
+
+    (set-face-attribute 'variable-pitch nil :family "FiraGO")
+
+Check the README for further details on setting and mixing fonts.
+
+Faint syntax for programming
+----------------------------
+
+Users can now enable 'modus-operandi-theme-faint-syntax' or
+'modus-vivendi-theme-faint-syntax'.  The intended effect is to tone down
+all syntax highlighting in programming modes, while always respecting
+the overarching objective of these themes for a minimum contrast ratio
+of 7:1 (highest accessibility standard for colour contrast---WCAG AAA).
+
+The default is to use more saturated colours.
+
+Intense hl-line
+---------------
+
+Toggling on 'modus-operandi-theme-intense-hl-line' or
+'modus-vivendi-theme-intense-hl-line' will apply a more pronounced grey
+to the background of faces that highlight the current line.  This
+affects tools such as the built-in 'hl-line-mode', which is in turn
+enabled automatically by lots of other packages, like 'elfeed' and
+'mu4e'.
+
+The default is to use a subtle grey.
+
+Intense paren-match
+-------------------
+
+Same principle as above.  'modus-operandi-theme-intense-paren-match' and
+'modus-vivendi-theme-intense-paren-match' will make the matching
+parentheses more intense than the default subtle warm background.  This
+concerns modes such as that of the 'smartparens' package as well as the
+built-in 'show-paren-mode'.
+
+Refactored the use of bold
+==========================
+
+A major review of the themes now makes it possible to specify the exact
+weight of what a "bold" typeface is.  This is only meaningful for cases
+where a font family has variants such as "semibold".
+
+Evaluate this, replacing "semibold" with the one your typeface supports:
+
+    (set-face-attribute 'bold nil :weight 'semibold)
+
+The default is to use a standard bold weight.
+
+Packages and face groups
+========================
+
+Refine already-supported faces
+------------------------------
+
++ The following packages now use more appropriate colour combinations:
+
+  - diary
+  - annotate
+  - transient (magit pop-up menu, though also used elsewhere)
+  - fountain
+  - calendar
+  - mu4e
+  - markdown-mode
+  - outline-minor-faces
+
++ Other changes:
+
+  - org-agenda has undergone a thoroughgoing review to improve the
+    semantics of colour for scheduled tasks, deadlines, modeline
+    filters, current date etc.
+
+  - org and outline-mode headings have been refined to look better with
+    the "rainbow headings" option that was introduced in an earlier
+    release (check the README).
+
+  - org-quote now works properly with the "Org blocks" option mentioned
+    above.
+
+  - org-checkbox-statistics uses the same foreground colour as org-todo,
+    for the sake of consistency.
+
+  - org-date now always inherits from 'fixed-pitch', to ensure proper
+    alignment of elements when a mixed fonts setup is used (tools for
+    achieving this effect are documented at length in the README).  The
+    relevant patch was contributed by Matthew Stevenson.
+
+  - org-meta-line no longer looks like a comment, which helps denote its
+    special utility (e.g. when evaluating a table's formula).
+
+  - org-warning now uses a variant of red for its text, which works
+    better in the contexts this face is used (e.g. the agenda or the
+    export dispatcher).
+
+  - We now apply a slightly more accented colour combination for
+    'secondary-selection', which is chiefly used by Org and Calendar in
+    various contexts.
+
+  - Gnus group level faces make more considerate use of colour to better
+    denote their significance.
+
+  - Cited text in message buffers has a better sequence of colours.
+
+  - Two new Helm faces are supported.
+
+  - Let 'keycast' use a different border colour when the "3D modeline"
+    option is enabled (refer to the README for that option).
+
+  - Extend 'hl-todo-keyword-faces' with the "bug" keyword.
+
+  - More intense colour for 'diff-hl-reverted-hunk-highlight'.
+
+  - Tone down the focused modeline's border colour.
+
+  - Define new bespoke faces that the themes use internally.
+
+  - Use more appropriate colours for 'header-line-highlight'.
+
+  - Apply greyscale line highlight for flycheck current line in the
+    diagnostics buffer, instead of the warmer colour combination it had
+    before.
+
+  - Tweak text colour difference between MU4E read and unread messages.
+
+Added support for new packages
+------------------------------
+
++ bongo
++ boon
++ dictionary
++ eshell-fringe-status
++ eshell-git-prompt
++ eshell-prompt-extras
++ highlight-tail
++ hl-defined
++ notmuch
++ tty-menu
+
+Miscellaneous
+=============
+
++ Expand the README with new documentation and clarify parts of the
+  existing one.
+
++ Update the Wiki page with screenshots and their descriptions (this in
+  itself is a day's worth of work):
+  https://gitlab.com/protesilaos/modus-themes/-/wikis/Screenshots
+
++ Make the source code of each theme work better with the built-in
+  'outline-minor-mode'.  Check my video if you need a demo on how I use
+  this in tandem with 'imenu':
+  https://protesilaos.com/codelog/2020-07-20-emacs-outline-imenu/
+
+Thanks to, in no particular order:
+
++ Shreyas Ragavan (https://gitlab.com/shrysr) for introducing me to the
+  idea that derived the "rainbow" Org blocks and for providing valuable
+  feedback in several issues.
+
++ Matthew Stevenson (https://gitlab.com/matth0204) for contributing the
+  aforementioned patch for the 'org-date' face.
+
++ Manuel Uberti (https://gitlab.com/muberti) for offering valuable
+  feedback in a number of issues (and special thanks for doing this for
+  several months now).
+
++ Dinko (https://gitlab.com/dinkonin) for noticing a not-so-obvious bug
+  in the initial implementation of the "rainbow Org blocks" option.
+
++ okamsn (https://gitlab.com/okamsn) for providing the necessary
+  feedback that allowed me to refactor the use of "bold", mentioned
+  above.
+
+Refer to the issue tracker (or commit log) for further details:
+https://gitlab.com/protesilaos/modus-themes/-/issues
+
 * 0.10.0
 
 Modus Operandi and Modus Vivendi version 0.10.0
diff --git a/README.org b/README.org
index 942151a..4972a15 100644
--- a/README.org
+++ b/README.org
@@ -44,15 +44,20 @@ Also note that I use these themes in 
[[https://protesilaos.com/code-casts][my Em
    :END:
 
 I maintain /Modus Operandi/ (light theme) and /Modus Vivendi/ (dark) as
-standalone packages in ELPA, MELPA, and MELPA Stable.
+standalone packages in Emacs-specific archives: GNU ELPA, MELPA, and
+MELPA Stable.  There also exist 
[[#h:f696763b-5db1-4717-a90a-964e127d1a73][GNU/Linux distro packages]].
 
-Just run:
+For an interactive method, just run:
 
-=M-x package-install RET modus-operandi-theme RET=
+#+begin_src
+M-x package-install RET modus-operandi-theme RET
+#+end_src
 
 And/or:
 
-=M-x package-install RET modus-vivendi-theme RET=
+#+begin_src
+M-x package-install RET modus-vivendi-theme RET
+#+end_src
 
 To be clear, that sequence means:
 
@@ -66,26 +71,77 @@ To be clear, that sequence means:
 =M-x list-packages=), in case Emacs complains that a package is no longer
 available.
 
-*** With `use-package'
+*** With the "use-package" configuration manager
     :PROPERTIES:
     :CUSTOM_ID: h:3ab0ac39-38fb-405b-8a15-771cbd843b6d
     :END:
 
-For a declarative approach with =use-package=, you can write something
-like this (also see [[#h:d414ca47-6dce-4905-9f2e-de1465bf23bb][the 
customisation options]] for how to expand this):
+For a declarative approach with =use-package= and the built-in =package.el=,
+you can write something like this (also see 
[[#h:d414ca47-6dce-4905-9f2e-de1465bf23bb][the customisation options]]
+for how to expand these package declarations):
 
 #+BEGIN_SRC emacs-lisp
-(use-package modus-operandi-theme
-  :ensure t)
+(use-package modus-operandi-theme :ensure)
 
-(use-package modus-vivendi-theme
-  :ensure t)
+(use-package modus-vivendi-theme :ensure)
 #+END_SRC
 
-** Manual installation method
-   :PROPERTIES:
-   :CUSTOM_ID: h:0317c29a-3ddb-4a0a-8ffd-16c781733ea2
-   :END:
+*** GNU/Linux distro packages
+    :PROPERTIES:
+    :CUSTOM_ID: h:f696763b-5db1-4717-a90a-964e127d1a73
+    :END:
+
+The themes are also available from the archives of some GNU/Linux
+distributions.  These should correspond to a tagged release rather than
+building directly from the latest Git commit.  It all depends on the
+distro's packaging policies.
+
+/Note for package maintainers:/ Feel free to 
[[#h:f696763b-5db1-4717-a90a-964e127d1a73][contact me]] for any questions
+you may have and/or to update this section.
+
+**** Debian ("Sid" or "Unstable")
+     :PROPERTIES:
+     :CUSTOM_ID: h:a3d891ff-3dc3-4455-a482-b251e59bb21a
+     :END:
+
+The two themes are distributed as 
[[https://packages.debian.org/sid/elpa-modus-themes][a single package for 
Debian]] and its
+derivatives.  Currently in the unstable suite and should be available in
+time for Debian 11 "Bullseye" (next stable).
+
+Get them with:
+
+#+begin_src sh
+sudo apt install elpa-modus-themes
+#+end_src
+
+Special thanks to package maintainer Dhavan Vaidya and the rest of the
+Debian Emacsen team!
+
+**** GNU Guix
+     :PROPERTIES:
+     :CUSTOM_ID: h:fea43d19-b307-46d7-81ab-d0e77e9cbede
+     :END:
+
+Users of either GuixSD (the distro) or just Guix (the package manager)
+can get each theme as a standalone package.
+
+#+begin_src sh
+guix package -i modus-operandi-theme
+#+end_src
+
+And/or:
+
+#+begin_src sh
+guix package -i modus-vivendi-theme
+#+end_src
+
+I do not know who the package maintainer is, but I wish to thank you
+regardless!
+
+*** Manual installation method
+    :PROPERTIES:
+    :CUSTOM_ID: h:0317c29a-3ddb-4a0a-8ffd-16c781733ea2
+    :END:
 
 Download the files in this repository ending in =*-theme.el= and place
 them in an appropriate directory, such as =~/.emacs.d/themes/=.  To make
@@ -193,32 +249,57 @@ a theme, you can evaluate either of these:
 Consult the section below with the 
[[#h:0e3b8a62-8d72-4439-be2d-cb12ed98f4cb][complete example configuration]] for 
a
 fully fledged =use-package= declaration.
 
-** Option for distinct Org source blocks
+** Option for "greyscale" or "rainbow" Org blocks
    :PROPERTIES:
    :CUSTOM_ID: h:ca57a3af-6f79-4530-88c0-e35eda9d3bf7
    :END:
 
-+ =modus-operandi-theme-distinct-org-blocks=
-+ =modus-vivendi-theme-distinct-org-blocks=
+Symbol names:
+
++ =modus-operandi-theme-org-blocks=
++ =modus-vivendi-theme-org-blocks=
 
-Use a distinct background for Org's source blocks and extend the
-background of their beginning and end lines to the edge of the window
-(the "extend" part is for Emacs versions >= 27, whereas before they
-would extend regardless).
+Possible values:
+
+1. =nil= (default)
+2. =greyscale=
+3. =rainbow=
+
+=greyscale= will apply a subtle neutral grey background to the block's
+contents.  It will also extend to the edge of the window the background
+of the "begin" and "end" block delimiter lines (only relevant for Emacs
+versions >= 27 where the ':extend' keyword is recognised by
+=set-face-attribute=).
+
+=rainbow= will instead use an accented background for the contents of the
+block.  The exact colour will depend on the programming language and is
+controlled by the =org-src-block-faces= variable (refer to the theme's
+source code for the current association list).  This is most suitable
+for users who work on literate programming documents that mix and match
+several languages.
 
 The default is to use the same background as the rest of the buffer for
-the contents of the block, while beginning and end lines do not extend
-to the end of the window (again, the "extend" is for Emacs 27 or
-higher).
+the contents of the block.
+
+Note that the "rainbow" blocks may require you to also reload the
+major-mode so that the colours are applied properly: =M-x org-mode= to
+refresh the buffer.  Or start typing in each code block.
 
 ** Option for colourful "rainbow" headings
    :PROPERTIES:
    :CUSTOM_ID: h:1be42afb-bcd2-4425-b956-0ba93eb960c2
    :END:
 
+Symbol names:
+
 + =modus-operandi-theme-rainbow-headings=
 + =modus-vivendi-theme-rainbow-headings=
 
+Possible values:
+
+1. =nil= (default)
+2. =t=
+
 Apply more saturated colours to headings in =org-mode= and =outline-mode=
 while retaining all other heading properties (such as a bold weight and
 the optional scaled height ---see relevant customisation toggle).  The
@@ -235,9 +316,16 @@ provide the elements of differentiation.
    :CUSTOM_ID: h:c1c9a380-7a05-4c0d-b714-2acac88f10ad
    :END:
 
+Symbol names:
+
 + =modus-operandi-theme-section-headings=
 + =modus-vivendi-theme-section-headings=
 
+Possible values:
+
+1. =nil= (default)
+2. =t=
+
 Uses a background colour and an overline to mark section headings in
 =org-mode= and =outline-mode=.  These attributes are applied in addition to
 the existing foreground colour and the bold weight and can, therefore,
@@ -261,9 +349,16 @@ text, use this:
    :CUSTOM_ID: h:db0275ea-11c2-47c9-82a9-10b65d8df0f8
    :END:
 
+Symbol names:
+
 + =modus-operandi-theme-scale-headings=
 + =modus-vivendi-theme-scale-headings=
 
+Possible values:
+
+1. =nil= (default)
+2. =t=
+
 Make headings larger in size relative to the main text.  This is
 noticeable in modes like Org.  The default is to use the same size for
 headers and body copy.
@@ -303,19 +398,21 @@ not of keywords that are added to it, like "TODO".  This 
is outside the
 control of the themes and I am not aware of any way to make such
 keywords scale accordingly (see [[*Font configurations for Org (and 
others)][issue 37]]).
 
-Also note that in the latest tagged release (=0.8.1=) an Org file's
-=#+TITLE= will not scale at all.  This has been fixed in =master= and will
-be available in version =0.9.0=, which is expected in early June 2020
-(the fix pertains to the introduction of =*-scale-5=).
-
 ** Option for visible fringes
    :PROPERTIES:
    :CUSTOM_ID: h:d989f116-7559-40bc-bf94-ef508d480960
    :END:
 
+Symbol names:
+
 + =modus-operandi-theme-visible-fringe=
 + =modus-vivendi-theme-visible-fringe=
 
+Possible values:
+
+1. =nil= (default)
+2. =t=
+
 When enabled, this will render the fringes in a subtle background
 colour.
 
@@ -328,9 +425,16 @@ space given to them by =fringe-mode= (8px on either side 
by default).
    :CUSTOM_ID: h:cb327797-b303-47c5-8171-4587a911ccc2
    :END:
 
+Symbol names:
+
 + =modus-operandi-theme-slanted-constructs=
 + =modus-vivendi-theme-slanted-constructs=
 
+Possible values:
+
+1. =nil= (default)
+2. =t=
+
 Choose to render more faces in slanted text (italics).  This typically
 affects documentation strings and code comments.
 
@@ -341,23 +445,46 @@ The default is to not use italics unless it is absolutely 
necessary.
    :CUSTOM_ID: h:9a77e814-5eca-488f-9a67-119a95c2d28a
    :END:
 
+Symbol names:
+
 + =modus-operandi-theme-bold-constructs=
 + =modus-vivendi-theme-bold-constructs=
 
+Possible values:
+
+1. =nil= (default)
+2. =t=
+
 Display several constructs in bold weight.  This concerns keywords and
 other important aspects of code syntax.  It also affects certain mode
 line indicators.
 
 The default is to only use a bold weight when it is necessary.
 
+*Optionally, to define the precise weight* for bold constructs, you only
+need to change the attribute of the =bold= face.  So, assuming your
+typeface of choice supports a "semibold" weight, here is how you specify
+it throughout the theme:
+
+#+begin_src emacs-lisp
+(set-face-attribute 'bold nil :weight 'semibold)
+#+end_src
+
 ** Option for three-dimensional focused mode line
    :PROPERTIES:
    :CUSTOM_ID: h:ce155208-fdd6-4ada-9e0c-54aab7e2aff8
    :END:
 
+Symbol names:
+
 + =modus-operandi-theme-3d-modeline=
 + =modus-vivendi-theme-3d-modeline=
 
+Possible values:
+
+1. =nil= (default)
+2. =t=
+
 Use a three-dimensional, "released button" effect for the focused
 window's mode line.  When enabled, this option will also affect the
 styles of any inactive mode lines, making them slightly less intense in
@@ -372,9 +499,16 @@ inactive ones.
    :CUSTOM_ID: h:e3933a53-cbd9-4e44-958a-1d6d133f0816
    :END:
 
+Symbol names:
+
 + =modus-operandi-theme-subtle-diff=
 + =modus-vivendi-theme-subtle-diff=
 
+Possible values:
+
+1. =nil= (default)
+2. =t=
+
 Display =diff-mode=, =ediff=, =smerge-mode=, =magit= diff buffers with fewer
 and/or less intense background colours or, where possible, with no
 background colours applied to the presentation of the added and removed
@@ -387,14 +521,87 @@ The default is to use colour-coded backgrounds for 
line-wise highlights.
 which is, nonetheless, more subtle with this option than with its
 default equivalent.
 
+** Option for faint code syntax highlighting
+   :PROPERTIES:
+   :CUSTOM_ID: h:9f05eef0-9d0d-4305-98a1-c4e49f41e1c8
+   :END:
+
+Symbol names:
+
++ =modus-operandi-theme-faint-syntax=
++ =modus-vivendi-theme-faint-syntax=
+
+Possible values:
+
+1. =nil= (default)
+2. =t=
+
+Use less saturated colours in programming modes for highlighting code
+syntax.  The intent is to offer an impression of minimalism.  The
+default is to use saturated colours.
+
+Consider using the "bold constructs" and/or "slanted constructs" options
+when opting for this one.  Some packages that may further improve the
+effect of focusing on the current text are (feel free to help expand
+this list):
+
++ 
[[https://github.com/mina86/auto-dim-other-buffers.el][auto-dim-other-buffers]]
++ [[https://github.com/larstvei/Focus][focus]]
++ [[https://github.com/tarsius/paren-face][paren-face]]
+
+** Option for intense line highlight (hl-line-mode)
+   :PROPERTIES:
+   :CUSTOM_ID: h:e19092a4-7204-40d3-ac35-3644b72de937
+   :END:
+
+Symbol names:
+
++ =modus-operandi-theme-intense-hl-line=
++ =modus-vivendi-theme-intense-hl-line=
+
+Possible values:
+
+1. =nil= (default)
+2. =t=
+
+Draw the current line of =hl-line-mode= or its global equivalent in a more
+prominent background colour.  This would also affect several packages
+that enable =hl-line-mode=, such as =elfeed= and =mu4e=.
+
+The default is to use a more subtle grey.
+
+** Option for intense parenthesis matching (show-paren-mode)
+
+Symbol names:
+
++ =modus-operandi-theme-intense-paren-match=
++ =modus-vivendi-theme-intense-paren-match=
+
+Possible values:
+
+1. =nil= (default)
+2. =t=
+
+Apply a more intense background to the matching parentheses (or
+delimiters).  This affects tools such as the built-in =show-paren-mode= as
+well as the =smartparens= package.  The default is to use a subtle warm
+colour for the background of those overlays.
+
 ** Option for intense standard completions
    :PROPERTIES:
    :CUSTOM_ID: h:5b0b1e66-8287-4f3f-ba14-011c29320a3f
    :END:
 
+Symbol names:
+
 + =modus-operandi-theme-intense-standard-completions=
 + =modus-vivendi-theme-intense-standard-completions=
 
+Possible values:
+
+1. =nil= (default)
+2. =t=
+
 Display faces for built-in completion frameworks, such as =icomplete=,
 with a combination of background and foreground colours.  This covers
 every completion interface that either is part of the upstream Emacs
@@ -408,17 +615,24 @@ those of =ivy=, =helm=, =selectrum= (among others).
 The default is to only use foreground colour values for the various
 matching characters or items of standard completion tools.
 
-** Option for proportional fonts in headings
+** Option for variable-pitch fonts in headings
    :PROPERTIES:
    :CUSTOM_ID: h:33023fa6-6482-45d4-9b5e-3c73c945718f
    :END:
 
-+ =modus-operandi-theme-proportional-fonts=
-+ =modus-vivendi-theme-proportional-fonts=
+Symbol names:
+
++ =modus-operandi-theme-variable-pitch-headings=
++ =modus-vivendi-theme-variable-pitch-headings=
 
-Choose to apply a proportionately-spaced typeface to headings (such as
-in Org mode).  The default is to use whatever the main typeface is,
-typically a monospaced family.
+Possible values:
+
+1. =nil= (default)
+2. =t=
+
+Choose to apply a proportionately-spaced, else "variable-pitch",
+typeface to headings (such as in Org mode).  The default is to use
+whatever the main typeface is, typically a monospaced family.
 
 Though also read [[#h:ea30ff0e-3bb6-4801-baf1-d49169d94cd5][Font 
configurations for Org (and others)]] as the themes
 are designed to cope well with more prose-friendly typeface
@@ -450,9 +664,10 @@ being available.
         modus-operandi-theme-visible-fringes t
         modus-operandi-theme-3d-modeline t
         modus-operandi-theme-subtle-diffs t
+        modus-operandi-theme-intense-hl-line t
         modus-operandi-theme-intense-standard-completions t
-        modus-operandi-theme-distinct-org-blocks t
-        modus-operandi-theme-proportional-fonts t
+        modus-operandi-theme-org-blocks 'greyscale
+        modus-operandi-theme-variable-pitch-headings t
         modus-operandi-theme-rainbow-headings t
         modus-operandi-theme-section-headings t
         modus-operandi-theme-scale-headings t
@@ -668,19 +883,22 @@ methods documented in my 
[[https://protesilaos.com/codelog/2020-05-10-modus-oper
    :END:
 
 The themes are designed to cope well with mixed font settings.
-Currently this applies to Org mode (courtesy of 
[[https://gitlab.com/protesilaos/modus-themes/-/issues/40][Ben in issue 40]]), 
though
-it may be extended to other major modes as well (e.g. markdown).
-
-In practice it means that some parts of a buffer will use a monospaced
-font even when the user opts for a proportionately-spaced typeface as
-their default (such as by enabling =variable-pitch-mode=).  This is to
+Currently this applies to =org-mode= (courtesy of 
[[https://gitlab.com/protesilaos/modus-themes/-/issues/40][Ben in issue 40]]) 
and
+=markdown-mode=.
+
+In practice it means that the user can safely opt for a more
+prose-friendly proportionately-spaced typeface as their default for
+paragraphs and headings, while allowing spacing-sensitive elements like
+tables and inline code to always use a monospaced font.  Users can try
+the built-in function of Emacs called =variable-pitch-mode=.  This is to
 ensure that code blocks, tables, and other relevant elements use the
 appropriate type settings and are positioned correctly.
 
 *To make everything use your desired font families*, you need to configure
 the =variable-pitch= (proportional spacing) and =fixed-pitch= (monospaced)
 faces respectively.  Otherwise you may get unintended combinations (such
-as those experienced by Mark in 
[[https://gitlab.com/protesilaos/modus-themes/-/issues/42][issue 42]]).
+as those experienced by Mark in 
[[https://gitlab.com/protesilaos/modus-themes/-/issues/42][issue 42]] or what I 
documented at length
+in [[https://gitlab.com/protesilaos/modus-themes/-/issues/54][issue 54]]).
 
 Put something like this in your initialisation file:
 
@@ -700,9 +918,23 @@ So if you want to use Fira Code at point size =12=, you 
set the height to
 =120=.  Values do not need to be rounded to multiples of ten, so the likes
 of =125= are perfectly valid.
 
-If any Org power user is reading this section, I encourage you to
-recommend some other /minimal/ tweaks and customisations that could
-improve the user experience.
+*Alternatively* you may want to review my elaborate setup for fonts,
+focused writing, etc.  Start with the 
[[https://protesilaos.com/dotemacs/#h:7a4dd5b8-724d-4f7c-b5ee-01d8ac98bda9][Base
 font configurations]] of my
+dotemacs (includes documentation and code).  For video demonstrantions
+check these:
+
++ 
[[https://protesilaos.com/codelog/2020-07-16-emacs-focused-editing/][“Focused 
editing” tools for Emacs]] (2020-07-16)
++ 
[[https://protesilaos.com/codelog/2020-07-17-emacs-mixed-fonts-org/][Configuring
 mixed fonts for Org mode and others]] (2020-07-17)
+
+** Note on settings for rendering of HTML buffers
+   :PROPERTIES:
+   :CUSTOM_ID: h:61875051-b284-40f0-a74d-1574f41b3d42
+   :END:
+
+The rendering mechanism that enables viewing of HTML content in Emacs
+may need some explicit specification depending on your preferences. This
+is demonstrated in 
[[https://gitlab.com/protesilaos/modus-themes/-/issues/60][issue 60]] 
particularly with respect to viewing mails
+in mu4e.
 
 * Face coverage
   :PROPERTIES:
@@ -734,7 +966,9 @@ the "full support" may not be 100% true…
 + auto-dim-other-buffers
 + avy
 + bm
-+ breakpoint (provided by built-in gdb-mi.el)
++ bongo
++ boon
++ breakpoint (provided by the built-in =gdb-mi.el= library)
 + buffer-expose
 + calendar and diary
 + calfw
@@ -762,6 +996,7 @@ the "full support" may not be 100% true…
 + debbugs
 + define-word
 + deft
++ dictionary
 + diff-hl
 + diff-mode
 + dim-autoload
@@ -792,6 +1027,9 @@ the "full support" may not be 100% true…
 + eros
 + ert
 + eshell
++ eshell-fringe-status
++ eshell-git-prompt
++ eshell-prompt-extras (epe)
 + evil* (evil-mode)
 + evil-goggles
 + evil-visual-mark-mode
@@ -831,7 +1069,9 @@ the "full support" may not be 100% true…
 + highlight-indentation
 + highlight-numbers
 + highlight-symbol
++ highlight-tail
 + highlight-thing
++ hl-defined
 + hl-fill-column
 + hl-line-mode
 + hl-todo
@@ -878,6 +1118,7 @@ the "full support" may not be 100% true…
 + multiple-cursors
 + neotree
 + no-emoji
++ notmuch
 + num3-mode
 + nxml-mode
 + orderless
@@ -939,9 +1180,10 @@ the "full support" may not be 100% true…
 + telephone-line
 + term
 + tomatinho
-+ transient (pop-up windows like Magit's)
++ transient (pop-up windows such as Magit's)
 + trashed
 + treemacs
++ tty-menu
 + tuareg
 + undo-tree
 + vc (built-in mode line status for version control)
@@ -969,8 +1211,8 @@ the "full support" may not be 100% true…
 + yasnippet
 + ztree
 
-Plus many other miscellaneous faces that are provided by the out-of-the-box
-Emacs distribution.
+Plus many other miscellaneous faces that are provided by the upstream
+GNU Emacs distribution.
 
 ** Covered but not styled explicitly
    :PROPERTIES:
@@ -981,23 +1223,9 @@ These do not require any extra styles because they are 
configured to
 inherit from some basic faces.  Please confirm.
 
 + comint
-+ bongo
 + edit-indirect
 + swift-mode
 
-** Help needed
-   :PROPERTIES:
-   :CUSTOM_ID: h:bcc3f6f9-7ace-4e2a-8dbb-2bf55574dae5
-   :END:
-
-These are face groups that I am aware of but do not know how to access
-or do not actively use.  I generally need to see how a face looks in its
-context before assessing its aesthetics or specific requirements.
-
-Use =M-x list-faces-display= to get these.
-
-+ tty-menu
-
 ** Will NOT be supported
    :PROPERTIES:
    :CUSTOM_ID: h:46756fcc-0d85-4f77-b0e3-64f890e1c2ea
@@ -1014,67 +1242,6 @@ effect/: less intense colours (but still accessible) for 
supportive
 interfaces and the intended styles for the content you are actually
 working on.
 
-** Note about colour-coded ORG source blocks
-   :PROPERTIES:
-   :CUSTOM_ID: h:9ef7e899-63f4-4eb1-958c-1a1dd999fa35
-   :END:
-
-It is possible to apply unique coloured backgrounds to Org's source
-blocks on a per-language basis.  The customisation option is
-=org-src-block-faces=.
-
-Because this is an inherently subjective choice, it is impossible to
-reach a consensus of what colour should be assigned to each language.
-Furthermore, there are so many languages to choose from, making it
-impractical to apply a unique background to each of them without adding
-disproportionate complexity to the themes.
-
-The least we could do is provide a set of background values that have
-been tested with all colours that highlight code syntax.
-
-These approved colour variants are as follows:
-
-| Background | Modus Operandi | Modus Vivendi |
-|------------+----------------+---------------|
-| red        | #fef2f2        | #180505       |
-| yellow     | #fcf6f1        | #18140a       |
-| magenta    | #fff4fc        | #160616       |
-| green      | #f4faf4        | #061206       |
-| blue       | #f4f4ff        | #070722       |
-| cyan       | #f0f6fa        | #091620       |
-
-The differences between those colour values are subtle, but quite
-noticeable when applied to large, contiguous areas (such as code
-blocks).
-
-Pick the one you wish to use for your language of choice.  Here is an
-example:
-
-#+begin_src emacs-lisp
-;; Modus Operandi
-(setq org-src-block-faces '(("emacs-lisp" (:background "#fef2f2"))
-                            ("python" (:background "#f4f4ff"))))
-
-;; Modus Vivendi
-(setq org-src-block-faces '(("emacs-lisp" (:background "#180505"))
-                            ("python" (:background "#070722"))))
-#+end_src
-
-For versions of Emacs >= 27, also add the =:extend t= property, like this:
-
-#+begin_src emacs-lisp
-;; Modus Operandi
-(setq org-src-block-faces '(("emacs-lisp" (:background "#fef2f2" :extend t))
-                            ("python" (:background "#f4f4ff" :extend t))))
-
-;; Modus Vivendi
-(setq org-src-block-faces '(("emacs-lisp" (:background "#180505" :extend t))
-                            ("python" (:background "#070722" :extend t))))
-#+end_src
-
-Feel free to contribute any concrete proposals on how to improve support
-for this at the theme level (see 
[[#h:25ba8d6f-6604-4338-b774-bbe531d467f6][the "Contributing" section]]).
-
 ** Note for HELM users of grep or grep-like functions
    :PROPERTIES:
    :CUSTOM_ID: h:e4408911-e186-4825-bd4f-4d0ea55cd6d6
@@ -1127,7 +1294,7 @@ while still supporting a useful built-in tool.
 
 If there actually is a way to avoid such a course of action, without
 prejudice to the accessibility standard of this project, then please
-report as much (or contribute as per the information in the 
[[#h:25ba8d6f-6604-4338-b774-bbe531d467f6][Contributing]]
+report as much (or send patches, per the information in the 
[[#h:25ba8d6f-6604-4338-b774-bbe531d467f6][Contributing]]
 section).
 
 * Contributing
@@ -1166,10 +1333,10 @@ ELPA repository and the FSF must be in a position to 
enforce the GNU
 General Public License.
 
 Copyright assignment /is a simple process/ that I had to follow as well.
-Check the 
[[https://git.savannah.gnu.org/cgit/gnulib.git/tree/doc/Copyright/request-assign.future][request
 form]].  You must send an email to the address mentioned
-in the form and then wait for the FSF to send you a legal agreement.
-Sign the document and file it back to them.  This should all happen via
-email and take about a week.
+Check the 
[[https://git.savannah.gnu.org/cgit/gnulib.git/tree/doc/Copyright/request-assign.future][request
 form]].  You must write an email to the address
+mentioned in the form and then wait for the FSF to send you a legal
+agreement.  Sign the document and file it back to them.  This should all
+happen via email and take about a week.
 
 I encourage you to go through this process.  You only need to do it
 once.  It will allow you to make contributions to Emacs in general.
@@ -1179,8 +1346,17 @@ once.  It will allow you to make contributions to Emacs 
in general.
   :CUSTOM_ID: h:4c338a51-509e-42c0-8820-1f5014fb477b
   :END:
 
-If you interested in the principles that govern the development of this
-project, read my article 
[[https://protesilaos.com/codelog/2020-03-17-design-modus-themes-emacs/][On the 
design of the Modus themes]] (2020-03-17).
+If you are curious about the principles that govern the development of
+this project, read my article 
[[https://protesilaos.com/codelog/2020-03-17-design-modus-themes-emacs/][On the 
design of the Modus themes]]
+(2020-03-17).
+
+Here are some more publications for those interested in the kind of work
+that goes into this project:
+
++ 
[[https://protesilaos.com/codelog/2020-05-10-modus-operandi-palette-review/][Modus
 Operandi theme subtle palette review]] (2020-05-10)
++ 
[[https://protesilaos.com/codelog/2020-06-13-modus-vivendi-palette-review/][Modus
 Vivendi theme subtle palette review]] (2020-06-13)
++ 
[[https://protesilaos.com/codelog/2020-07-04-modus-themes-faint-colours/][Modus 
themes: new "faint syntax" option]] (2020-07-04)
++ 
[[https://protesilaos.com/codelog/2020-07-08-modus-themes-nuanced-colours/][Modus
 themes: major review of "nuanced" colours]] (2020-07-08)
 
 * COPYING
   :PROPERTIES:
diff --git a/modus-vivendi-theme.el b/modus-vivendi-theme.el
index b230ebc..d00e1b9 100644
--- a/modus-vivendi-theme.el
+++ b/modus-vivendi-theme.el
@@ -4,7 +4,7 @@
 
 ;; Author: Protesilaos Stavrou <info@protesilaos.com>
 ;; URL: https://gitlab.com/protesilaos/modus-themes
-;; Version: 0.10.0
+;; Version: 0.11.0
 ;; Package-Requires: ((emacs "26.1"))
 ;; Keywords: faces, theme, accessibility
 
@@ -39,18 +39,21 @@
 ;; The theme provides the following customisation options, all of which
 ;; are disabled by default:
 ;;
-;;     modus-vivendi-theme-slanted-constructs
-;;     modus-vivendi-theme-bold-constructs
-;;     modus-vivendi-theme-proportional-fonts
-;;     modus-vivendi-theme-rainbow-headings
-;;     modus-vivendi-theme-section-headings
-;;     modus-vivendi-theme-scale-headings
-;;     modus-vivendi-theme-visible-fringes
-;;     modus-vivendi-theme-distinct-org-blocks
-;;     modus-vivendi-theme-3d-modeline
-;;     modus-vivendi-theme-subtle-diffs
-;;     modus-vivendi-theme-intense-standard-completions
-;;     modus-vivendi-theme-override-colors-alist
+;;     modus-vivendi-theme-slanted-constructs             (boolean)
+;;     modus-vivendi-theme-bold-constructs                (boolean)
+;;     modus-vivendi-theme-variable-pitch-headings        (boolean)
+;;     modus-vivendi-theme-rainbow-headings               (boolean)
+;;     modus-vivendi-theme-section-headings               (boolean)
+;;     modus-vivendi-theme-scale-headings                 (boolean)
+;;     modus-vivendi-theme-visible-fringes                (boolean)
+;;     modus-vivendi-theme-org-blocks                     (choice)
+;;     modus-vivendi-theme-3d-modeline                    (boolean)
+;;     modus-vivendi-theme-subtle-diffs                   (boolean)
+;;     modus-vivendi-theme-faint-syntax                   (boolean)
+;;     modus-vivendi-theme-intense-hl-line                (boolean)
+;;     modus-vivendi-theme-intense-paren-match            (boolean)
+;;     modus-vivendi-theme-intense-standard-completions   (boolean)
+;;     modus-vivendi-theme-override-colors-alist          (alist)
 ;;
 ;; The default scale is as follows (it can be customised as well):
 ;;
@@ -77,8 +80,10 @@
 ;;     auctex and TeX
 ;;     auto-dim-other-buffers
 ;;     avy
-;;     breakpoint (provided by built-in gdb-mi.el)
 ;;     bm
+;;     bongo
+;;     boon
+;;     breakpoint (provided by built-in gdb-mi.el)
 ;;     buffer-expose
 ;;     calendar and diary
 ;;     calfw
@@ -106,6 +111,7 @@
 ;;     debbugs
 ;;     define-word
 ;;     deft
+;;     dictionary
 ;;     diff-hl
 ;;     diff-mode
 ;;     dim-autoload
@@ -136,6 +142,9 @@
 ;;     eros
 ;;     ert
 ;;     eshell
+;;     eshell-fringe-status
+;;     eshell-git-prompt
+;;     eshell-prompt-extras (epe)
 ;;     evil (evil-mode)
 ;;     evil-goggles
 ;;     evil-visual-mark-mode
@@ -175,7 +184,9 @@
 ;;     highlight-indentation
 ;;     highlight-numbers
 ;;     highlight-symbol
+;;     highlight-tail
 ;;     highlight-thing
+;;     hl-defined
 ;;     hl-fill-column
 ;;     hl-line-mode
 ;;     hl-todo
@@ -221,6 +232,7 @@
 ;;     multiple-cursors
 ;;     neotree
 ;;     no-emoji
+;;     notmuch
 ;;     num3-mode
 ;;     nxml-mode
 ;;     orderless
@@ -287,6 +299,7 @@
 ;;     tomatinho
 ;;     transient (pop-up windows like Magit's)
 ;;     treemacs
+;;     tty-menu
 ;;     tuareg
 ;;     undo-tree
 ;;     vc (built-in mode line status for version control)
@@ -323,6 +336,8 @@
   standard for colour contrast between background and
   foreground elements (WCAG AAA).")
 
+;;; Custom faces
+
 ;; These faces will be inherited by actual constructs.  They are meant
 ;; for those cases where a face needs to distinguish its output from
 ;; the rest of the text, such as `isearch' and `occur'…  We define
@@ -369,6 +384,12 @@ between foreground and background is >= 7:1)."
 (defface modus-theme-fringe-blue nil nil)
 (defface modus-theme-fringe-magenta nil nil)
 (defface modus-theme-fringe-cyan nil nil)
+(defface modus-theme-nuanced-red nil nil)
+(defface modus-theme-nuanced-green nil nil)
+(defface modus-theme-nuanced-yellow nil nil)
+(defface modus-theme-nuanced-blue nil nil)
+(defface modus-theme-nuanced-magenta nil nil)
+(defface modus-theme-nuanced-cyan nil nil)
 (defface modus-theme-special-cold nil nil)
 (defface modus-theme-special-mild nil nil)
 (defface modus-theme-special-warm nil nil)
@@ -388,6 +409,9 @@ between foreground and background is >= 7:1)."
 (defface modus-theme-mark-del nil nil)
 (defface modus-theme-mark-sel nil nil)
 (defface modus-theme-mark-symbol nil nil)
+(defface modus-theme-hl-line nil nil)
+
+;;; Customisation options
 
 ;; User-facing customisation options.  They are all deactivated by
 ;; default (users must opt in).
@@ -399,10 +423,17 @@ between foreground and background is >= 7:1)."
   "Use bold text in more code constructs."
   :type 'boolean)
 
+(define-obsolete-variable-alias 'modus-vivendi-theme-proportional-fonts
+  'modus-vivendi-theme-variable-pitch-headings "`modus-vivendi-theme' 0.11.0")
+
 (defcustom modus-vivendi-theme-proportional-fonts nil
   "Use proportional fonts (variable-pitch) in headings."
   :type 'boolean)
 
+(defcustom modus-vivendi-theme-variable-pitch-headings nil
+  "Use proportional fonts (variable-pitch) in headings."
+  :type 'boolean)
+
 (defcustom modus-vivendi-theme-rainbow-headings nil
   "Use more saturated colours for headings."
   :type 'boolean)
@@ -474,10 +505,44 @@ For more on the matter, read the documentation of
   "Use a visible style for fringes."
   :type 'boolean)
 
+(define-obsolete-variable-alias 'modus-vivendi-theme-distinct-org-blocks
+  'modus-vivendi-theme-org-blocks "`modus-vivendi-theme' 0.11.0")
+
 (defcustom modus-vivendi-theme-distinct-org-blocks nil
-  "Use a distinct background for `org-mode' source blocks."
+  "Use a distinct neutral background for `org-mode' blocks."
   :type 'boolean)
 
+(define-obsolete-variable-alias 'modus-vivendi-theme-rainbow-org-src-blocks
+  'modus-vivendi-theme-org-blocks "`modus-vivendi-theme' 0.11.0")
+
+(defcustom modus-vivendi-theme-rainbow-org-src-blocks nil
+  "Use colour-coded backgrounds for `org-mode' source blocks.
+The colour in use depends on the language (send feedback to
+include more languages)."
+  :type 'boolean)
+
+(defcustom modus-vivendi-theme-org-blocks nil
+  "Use a subtle grey or colour-coded background for Org blocks.
+
+Nil means that the block will have no background of its own and
+will use the default that applies to the rest of the buffer.
+
+Option `greyscale' will apply a subtle neutral grey background to
+the block's contents.  It also affects the begin and end lines of
+the block: their background will be extended to the edge of the
+window for Emacs version >= 27 where the ':extend' keyword is
+recognised by `set-face-attribute'.
+
+Option `rainbow' will use an accented background for the contents
+of the block.  The exact colour will depend on the programming
+language and is controlled by the `org-src-block-faces'
+variable (refer to the theme's source code for the current
+association list)."
+  :type '(choice
+             (const :tag "No Org block background (default)" nil)
+             (const :tag "Subtle grey block background" greyscale)
+             (const :tag "Colour-coded background per programming language" 
rainbow)))
+
 (defcustom modus-vivendi-theme-3d-modeline nil
   "Use a three-dimensional style for the active mode line."
   :type 'boolean)
@@ -490,8 +555,44 @@ For more on the matter, read the documentation of
   "Use prominent backgrounds for Icomplete, Ido, or similar."
   :type 'boolean)
 
+(defcustom modus-vivendi-theme-intense-hl-line nil
+  "Use more prominent background for `hl-line-mode'."
+  :type 'boolean)
+
+(defcustom modus-vivendi-theme-intense-paren-match nil
+  "Use more prominent colour for parenthesis matching."
+  :type 'boolean)
+
+(defcustom modus-vivendi-theme-faint-syntax nil
+  "Use less saturated colours for code syntax highlighting."
+  :type 'boolean)
+
+;;; Internal functions
+
 ;; Helper functions that are meant to ease the implementation of the
 ;; above customisation options.
+(defun modus-vivendi-theme-bold-weight ()
+  "Conditional use of a heavier text weight."
+  (when modus-vivendi-theme-bold-constructs
+    (list :inherit 'bold)))
+
+(defun modus-vivendi-theme-paren (normalbg intensebg)
+  "Conditional use of intense colours for matching parentheses.
+NORMALBG should the special palette colour 'bg-paren-match' or
+something similar.  INTENSEBG must be easier to discern next to
+other backgrounds."
+  (if modus-vivendi-theme-intense-paren-match
+      (list :background intensebg)
+    (list :background normalbg)))
+
+(defun modus-vivendi-theme-syntax-foreground (normal faint)
+  "Apply foreground value to headings.
+NORMAL is the more saturated colour, which should be the default.
+FAINT is the less saturated colour."
+  (if modus-vivendi-theme-faint-syntax
+      (list :foreground faint)
+    (list :foreground normal)))
+
 (defun modus-vivendi-theme-heading-foreground (subtle rainbow)
   "Apply foreground value to headings.
 SUBTLE is the default aesthetic.  RAINBOW is the saturated one."
@@ -516,13 +617,43 @@ and the border.  FG is used when no block style is in 
effect."
       (list :background bgbox :foreground fgbox :box (list :color fgbox))
     (list :foreground fg)))
 
-(defun modus-vivendi-theme-org-src-block (bgsrc bg)
-  "Conditionally set the styles of Org source blocks.
-BGSRC applies to a distinct background.  BG is used to keep
-blocks the same background as the rest of the buffer."
-  (if modus-vivendi-theme-distinct-org-blocks
-      (list :background bgsrc :extend t)
-    (list :background bg)))
+(defun modus-vivendi-theme-org-block (bgblk)
+  "Conditionally set the background of Org blocks.
+BGBLK applies to a distinct neutral background.  Else blocks have
+no background of their own (the default), so they look the same
+as the rest of the buffer.
+
+`modus-vivendi-theme-org-blocks' also accepts a `rainbow' option
+which is applied conditionally to `org-src-block-faces' (see the
+theme's source code)."
+  (if (eq modus-vivendi-theme-org-blocks 'greyscale)
+    (append
+     (and (>= emacs-major-version 27) '(:extend t))
+     (list :background bgblk))
+    (list :background nil)))
+
+(defun modus-vivendi-theme-org-block-delim (bgaccent fgaccent bg fg)
+  "Conditionally set the styles of Org block delimiters.
+BG, FG, BGACCENT, FGACCENT apply a background and foreground
+colour respectively.
+
+The former pair is a greyscale combination that should be more
+distinct than the background of the block.  It is applied to the
+default styles or when `modus-vivendi-theme-org-blocks' is set
+to `greyscale'.
+
+The latter pair should be more subtle than the background of the
+block, as it is used when `modus-vivendi-theme-org-blocks' is
+set to `rainbow'."
+  (cond
+   ((eq modus-vivendi-theme-org-blocks 'greyscale)
+    (append
+     (and (>= emacs-major-version 27) '(:extend t))
+     (list :background bg :foreground fg)))
+   ((eq modus-vivendi-theme-org-blocks 'rainbow)
+    (list :background bgaccent :foreground fgaccent))
+   (t
+    (list :background bg :foreground fg))))
 
 (defun modus-vivendi-theme-modeline-box (col3d col &optional btn int)
   "Control the box properties of the mode line.
@@ -574,12 +705,14 @@ AMOUNT is a customisation option."
   (when modus-vivendi-theme-scale-headings
     (list :height amount)))
 
+;;; Colour palette
+
 ;; Define colour palette.  Each colour must have a >= 7:1 contrast
 ;; ratio relative to the foreground/background colour it is rendered
 ;; against.
 ;;
-;; The design of the colour palette and of the macro that maps it to
-;; faces is copied from zenbern-theme.el from commit 7dd7968:
+;; The design of the colour palette as a macro that maps it to faces is
+;; adapted from zenbern-theme.el, last seen at commit 7dd7968:
 ;; https://github.com/bbatsov/zenburn-emacs
 (eval-and-compile
   (defconst modus-vivendi-theme-default-colors-alist
@@ -617,18 +750,34 @@ AMOUNT is a customisation option."
       ("red-alt-other" . "#ff9977") ("green-alt-other" . "#00cd68")
       ("yellow-alt-other" . "#f0ce43") ("blue-alt-other" . "#00bdfa")
       ("magenta-alt-other" . "#b6a0ff") ("cyan-alt-other" . "#6ae4b9")
-      ;; styles for elements that should be very subtle
+      ;; styles for desaturated foreground text, intended for use with
+      ;; the `modus-vivendi-theme-faint-syntax' option
       ;;
       ;; must be combined with: `bg-main', `bg-alt', `bg-dim'
-      ("red-nuanced" . "#ffcccc") ("green-nuanced" . "#b0f0b0")
-      ("yellow-nuanced" . "#e0e0bb") ("blue-nuanced" . "#ccccff")
-      ("magenta-nuanced" . "#eeccee") ("cyan-nuanced" . "#aaeeee")
+      ("red-faint" . "#ffa0a0") ("green-faint" . "#88cf88")
+      ("yellow-faint" . "#d2b580") ("blue-faint" . "#92baff")
+      ("magenta-faint" . "#e0b2d6") ("cyan-faint" . "#a0bfdf")
+
+      ("red-alt-faint" . "#f5aa80") ("green-alt-faint" . "#a8cf88")
+      ("yellow-alt-faint" . "#cabf77") ("blue-alt-faint" . "#a4b0ff")
+      ("magenta-alt-faint" . "#ef9fe4") ("cyan-alt-faint" . "#90c4ed")
+
+      ("red-alt-other-faint" . "#ff9fbf") ("green-alt-other-faint" . "#88cfaf")
+      ("yellow-alt-other-faint" . "#d0ba95") ("blue-alt-other-faint" . 
"#8fc5ff")
+      ("magenta-alt-other-faint" . "#d0b4ff") ("cyan-alt-other-faint" . 
"#a4d0bb")
+      ;; styles for elements that should be very subtle, yet accented
+      ;;
+      ;; must be combined with: `bg-main', `bg-alt', `bg-dim' or any of
+      ;; the "nuanced" backgrounds
+      ("red-nuanced" . "#ffcccc") ("green-nuanced" . "#b8e2b8")
+      ("yellow-nuanced" . "#dfdfb0") ("blue-nuanced" . "#bfd9ff")
+      ("magenta-nuanced" . "#e5cfef") ("cyan-nuanced" . "#a8e5e5")
       ;; styles for slightly accented background
       ;;
       ;; must be combined with any of the above foreground values
-      ("red-nuanced-bg" . "#180505") ("green-nuanced-bg" . "#061206")
-      ("yellow-nuanced-bg" . "#18140a") ("blue-nuanced-bg" . "#070722")
-      ("magenta-nuanced-bg" . "#160616") ("cyan-nuanced-bg" . "#091620")
+      ("red-nuanced-bg" . "#2c0614") ("green-nuanced-bg" . "#001904")
+      ("yellow-nuanced-bg" . "#221000") ("blue-nuanced-bg" . "#0f0e39")
+      ("magenta-nuanced-bg" . "#230631") ("cyan-nuanced-bg" . "#041529")
       ;; styles for elements that should draw attention to themselves
       ;;
       ;; must be combined with: `bg-main'
@@ -704,6 +853,10 @@ AMOUNT is a customisation option."
       ;;
       ;; `fg-unfocused' must be combined with `fg-main'
       ;;
+      ;; `mode-line-default-border' is a special colour that is only
+      ;; intended for the active modeline when the user-facing option
+      ;; for `modus-vivendi-theme-3d-modeline' is `nil' (default)
+      ;;
       ;; the window divider colours apply to faces with just an fg value
       ;;
       ;; all pairs are combinable with themselves
@@ -728,6 +881,8 @@ AMOUNT is a customisation option."
 
       ("fg-unfocused" . "#93959b")
 
+      ("mode-line-default-border" . "#767577")
+
       ("bg-header" . "#212121") ("fg-header" . "#dddddd")
 
       ("bg-whitespace" . "#170016") ("fg-whitespace" . "#a4959f")
@@ -772,25 +927,24 @@ Also bind `class' to ((class color) (min-colors 89))."
                        (list (intern (car cons)) (cdr cons)))
                      (append modus-vivendi-theme-default-colors-alist
                              modus-vivendi-theme-override-colors-alist))
-           ;; conditional styles that evaluate user-facing customisation
-           ;; options
+           ;; simple conditional styles that evaluate user-facing
+           ;; customisation options
            (modus-theme-slant
             (if modus-vivendi-theme-slanted-constructs 'italic 'normal))
-           (modus-theme-bold
-            (if modus-vivendi-theme-bold-constructs 'bold 'normal))
            (modus-theme-variable-pitch
-            (if modus-vivendi-theme-proportional-fonts 'variable-pitch 
'default)))
+            (if modus-vivendi-theme-variable-pitch-headings 'variable-pitch 
'default)))
        ,@body)))
 
 
 
+;;; Faces
+
 (modus-vivendi-theme-with-color-variables
   (custom-theme-set-faces
    'modus-vivendi
-   ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-   ;; custom faces that are inherited by other constructs below ;;
-   ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-   ;;; subtle coloured backgrounds
+;;;; custom faces
+   ;; these bespoke faces are inherited by other constructs below
+;;;;; subtle coloured 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)))
@@ -798,7 +952,7 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(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)))
-   ;;; intense coloured backgrounds
+;;;;; intense coloured 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)))
@@ -806,35 +960,54 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(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)))
-   ;;; refined background and foreground combinations
+;;;;; 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)))
-   ;;; invert the colours used on the "active" backgrounds
-   ;;; mostly for use on the mode line
+;;;;; "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)))
-   ;;; for fringe indicators
+;;;;; nuanced backgrounds
+   ;; useful for adding an accented background that is suitable for all
+   ;; main foreground colours (intended for use in Org source blocks)
+   `(modus-theme-nuanced-red ((,class :background ,red-nuanced-bg
+                                      ,@(and (>= emacs-major-version 27) 
'(:extend t)))))
+   `(modus-theme-nuanced-green ((,class :background ,green-nuanced-bg
+                                        ,@(and (>= emacs-major-version 27) 
'(:extend t)))))
+   `(modus-theme-nuanced-yellow ((,class :background ,yellow-nuanced-bg
+                                         ,@(and (>= emacs-major-version 27) 
'(:extend t)))))
+   `(modus-theme-nuanced-blue ((,class :background ,blue-nuanced-bg
+                                       ,@(and (>= emacs-major-version 27) 
'(:extend t)))))
+   `(modus-theme-nuanced-magenta ((,class :background ,magenta-nuanced-bg
+                                          ,@(and (>= emacs-major-version 27) 
'(:extend t)))))
+   `(modus-theme-nuanced-cyan ((,class :background ,cyan-nuanced-bg
+                                       ,@(and (>= emacs-major-version 27) 
'(:extend t)))))
+;;;;; fringe-specific combinations
    `(modus-theme-fringe-red ((,class :background ,red-fringe-bg :foreground 
,fg-dim)))
    `(modus-theme-fringe-green ((,class :background ,green-fringe-bg 
:foreground ,fg-dim)))
    `(modus-theme-fringe-yellow ((,class :background ,yellow-fringe-bg 
:foreground ,fg-dim)))
    `(modus-theme-fringe-blue ((,class :background ,blue-fringe-bg :foreground 
,fg-dim)))
    `(modus-theme-fringe-magenta ((,class :background ,magenta-fringe-bg 
:foreground ,fg-dim)))
    `(modus-theme-fringe-cyan ((,class :background ,cyan-fringe-bg :foreground 
,fg-dim)))
-   ;;; special base values that are closer to the grayscale than
-   ;;; the accents defined above
+;;;;; 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)))
-   ;;; colour combinations intended for `diff-mode' or equivalent
+;;;;; diff-specific combinations
+   ;; intended for `diff-mode' or equivalent
    `(modus-theme-diff-added ((,class :background ,bg-diff-added :foreground 
,fg-diff-added)))
    `(modus-theme-diff-changed ((,class :background ,bg-diff-changed 
:foreground ,fg-diff-changed)))
    `(modus-theme-diff-removed ((,class :background ,bg-diff-removed 
:foreground ,fg-diff-removed)))
@@ -845,27 +1018,38 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(modus-theme-diff-focus-changed ((,class :background 
,bg-diff-focus-changed :foreground ,fg-diff-focus-changed)))
    `(modus-theme-diff-focus-removed ((,class :background 
,bg-diff-focus-removed :foreground ,fg-diff-focus-removed)))
    `(modus-theme-diff-heading ((,class :background ,bg-diff-heading 
:foreground ,fg-diff-heading)))
-   ;;; colour combinations intended for Dired, Ibuffer, or equivalent
-   `(modus-theme-header ((,class :foreground ,fg-main :weight bold)))
-   `(modus-theme-mark-alt ((,class :background ,bg-mark-alt :foreground 
,fg-mark-alt :weight bold)))
-   `(modus-theme-mark-del ((,class :background ,bg-mark-del :foreground 
,fg-mark-del :weight bold)))
-   `(modus-theme-mark-sel ((,class :background ,bg-mark-sel :foreground 
,fg-mark-sel :weight bold)))
-   `(modus-theme-mark-symbol ((,class :foreground ,blue-alt :weight bold)))
-   ;;;;;;;;;;;;;;;;;;;
-   ;; actual styles ;;
-   ;;;;;;;;;;;;;;;;;;;
-   ;;; default constructs
-   ;;;; absolute essentials
+;;;;; mark indicators
+   ;; colour combinations intended for Dired, Ibuffer, or equivalent
+   `(modus-theme-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)))
+;;;;; other custom faces
+   `(modus-theme-hl-line ((,class :background ,(if 
modus-vivendi-theme-intense-hl-line
+                                                   bg-active bg-hl-line)
+                                  (and (>= emacs-major-version 27) '(:extend 
t)))))
+;;;; standard faces
+;;;;; absolute essentials
    `(default ((,class :background ,bg-main :foreground ,fg-main)))
    `(cursor ((,class :background ,fg-main)))
    `(fringe ((,class :background
                      ,(if modus-vivendi-theme-visible-fringes bg-inactive 
bg-main)
                      :foreground ,fg-main)))
    `(vertical-border ((,class :foreground ,fg-window-divider-inner)))
-   ;;;; basic and/or ungrouped styles
-   `(error ((,class :foreground ,red :weight bold)))
+;;;;; basic and/or ungrouped styles
+   ;; Modify the `bold' face to change the weight of all "bold" elements
+   ;; defined by the theme.  You need a typeface that supports a
+   ;; multitude of heavier weights than the regular one and then you
+   ;; must specify the exact name of the one you wish to apply.  Example
+   ;; for your init.el:
+   ;;
+   ;; (set-face-attribute 'bold nil :weight 'semibold)
+   `(bold ((,class :weight bold)))
+   `(error ((,class :inherit bold :foreground ,red)))
    `(escape-glyph ((,class :foreground ,fg-escape-char-construct)))
    `(header-line ((,class :background ,bg-header :foreground ,fg-header)))
+   `(header-line-highlight ((,class :inherit modus-theme-active-blue)))
    `(homoglyph ((,class :foreground ,fg-escape-char-construct)))
    `(ibuffer-locked-buffer ((,class :foreground ,yellow-alt-other)))
    `(italic ((,class :foreground ,fg-special-cold :slant italic)))
@@ -876,19 +1060,30 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(mm-uu-extract ((,class :background ,bg-dim :foreground ,fg-special-mild)))
    `(next-error ((,class :inherit modus-theme-subtle-red)))
    `(shadow ((,class :foreground ,fg-alt)))
-   `(success ((,class :foreground ,green :weight bold)))
+   `(success ((,class :inherit bold :foreground ,green)))
    `(trailing-whitespace ((,class :background ,red-intense-bg)))
-   `(warning ((,class :foreground ,yellow :weight bold)))
-   ;;;; ag
+   `(warning ((,class :inherit bold :foreground ,yellow)))
+;;;;; buttons, links, widgets
+   `(button ((,class :foreground ,blue-alt-other :underline t)))
+   `(link ((,class :foreground ,blue-alt-other :underline t)))
+   `(link-visited ((,class :foreground ,magenta-alt-other :underline t)))
+   `(tooltip ((,class :background ,bg-special-cold :foreground ,fg-main)))
+   `(widget-button ((,class :inherit button)))
+   `(widget-button-pressed ((,class :inherit button :foreground ,magenta)))
+   `(widget-documentation ((,class :foreground ,green)))
+   `(widget-field ((,class :background ,bg-alt :foreground ,fg-dim)))
+   `(widget-inactive ((,class :background ,bg-inactive :foreground 
,fg-inactive)))
+   `(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)))
-   ;;;; alert
-   `(alert-high-face ((,class :foreground ,red-alt :weight bold)))
+;;;;; alert
+   `(alert-high-face ((,class :inherit bold :foreground ,red-alt)))
    `(alert-low-face ((,class :foreground ,fg-special-mild)))
-   `(alert-moderate-face ((,class :foreground ,yellow :weight bold)))
+   `(alert-moderate-face ((,class :inherit bold :foreground ,yellow)))
    `(alert-trivial-face ((,class :foreground ,fg-special-calm)))
-   `(alert-urgent-face ((,class :foreground ,red-intense :weight bold)))
-   ;;;; all-the-icons
+   `(alert-urgent-face ((,class :inherit bold :foreground ,red-intense)))
+;;;;; all-the-icons
    `(all-the-icons-blue ((,class :foreground ,blue)))
    `(all-the-icons-blue-alt ((,class :foreground ,blue-alt)))
    `(all-the-icons-cyan ((,class :foreground ,cyan)))
@@ -924,64 +1119,61 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(all-the-icons-red-alt ((,class :foreground ,red-alt)))
    `(all-the-icons-silver ((,class :foreground ,fg-special-cold)))
    `(all-the-icons-yellow ((,class :foreground ,yellow)))
-   ;;;; annotate
-   `(annotate-annotation ((,class :inherit modus-theme-intense-blue)))
-   `(annotate-annotation-secondary ((,class :inherit 
modus-theme-intense-yellow)))
-   `(annotate-highlight ((,class :underline (:color ,blue-intense :style 
line))))
-   `(annotate-highlight-secondary ((,class :underline (:color ,yellow-intense 
:style line))))
-   ;;;; anzu
+;;;;; annotate
+   `(annotate-annotation ((,class :inherit modus-theme-subtle-blue)))
+   `(annotate-annotation-secondary ((,class :inherit 
modus-theme-subtle-green)))
+   `(annotate-highlight ((,class :background ,blue-nuanced-bg
+                                 :underline (:color ,blue-intense))))
+   `(annotate-highlight-secondary ((,class :background ,green-nuanced-bg
+                                           :underline (:color 
,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-mode-line ((,class :foreground ,green-active :weight bold)))
-   `(anzu-mode-line-no-match ((,class :foreground ,red-active :weight bold)))
+   `(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 :weight 
bold)))
-   ;;;; apropos
+   `(anzu-replace-to ((,class :inherit (modus-theme-intense-green bold))))
+;;;;; apropos
    `(apropos-function-button ((,class :foreground ,magenta-alt-other 
:underline t)))
-   `(apropos-keybinding ((,class :foreground ,cyan :weight bold)))
+   `(apropos-keybinding ((,class :inherit bold :foreground ,cyan)))
    `(apropos-misc-button ((,class :foreground ,cyan-alt-other :underline t)))
-   `(apropos-property ((,class :foreground ,magenta-alt :weight 
,modus-theme-bold)))
-   `(apropos-symbol ((,class :foreground ,blue-nuanced :weight 
,modus-theme-bold :underline t)))
+   `(apropos-property ((,class ,@(modus-vivendi-theme-bold-weight) :foreground 
,magenta-alt)))
+   `(apropos-symbol ((,class ,@(modus-vivendi-theme-bold-weight) :foreground 
,blue-nuanced :underline t)))
    `(apropos-user-option-button ((,class :foreground ,green-alt-other 
:underline t)))
    `(apropos-variable-button ((,class :foreground ,blue :underline t)))
-   ;;;; apt-sources-list
+;;;;; apt-sources-list
    `(apt-sources-list-components ((,class :foreground ,cyan)))
    `(apt-sources-list-options ((,class :foreground ,yellow)))
    `(apt-sources-list-suite ((,class :foreground ,green)))
    `(apt-sources-list-type ((,class :foreground ,magenta)))
    `(apt-sources-list-uri ((,class :foreground ,blue)))
-   ;;;; artbollocks-mode
+;;;;; artbollocks-mode
    `(artbollocks-face ((,class :foreground ,cyan-nuanced :underline (:color 
,fg-lang-note :style line))))
    `(artbollocks-lexical-illusions-face ((,class :background ,bg-alt 
:foreground ,red-alt :underline t)))
    `(artbollocks-passive-voice-face ((,class :foreground ,yellow-nuanced 
:underline (:color ,fg-lang-warning :style line))))
    `(artbollocks-weasel-words-face ((,class :foreground ,red-nuanced 
:underline (:color ,fg-lang-error :style line))))
-   ;;;; auctex and Tex
-   `(font-latex-bold-face ((,class :foreground ,fg-special-calm :weight bold)))
+;;;;; auctex and Tex
+   `(font-latex-bold-face ((,class :inherit bold :foreground 
,fg-special-calm)))
    `(font-latex-doctex-documentation-face ((,class :foreground 
,fg-special-cold :slant ,modus-theme-slant)))
-   `(font-latex-doctex-preprocessor-face ((,class :foreground ,magenta-alt 
:weight ,modus-theme-bold)))
+   `(font-latex-doctex-preprocessor-face ((,class 
,@(modus-vivendi-theme-bold-weight) :foreground ,red-alt-other)))
    `(font-latex-italic-face ((,class :foreground ,fg-special-calm :slant 
italic)))
    `(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 :weight 
bold
+                                           :foreground ,blue-nuanced
                                            ,@(modus-vivendi-theme-scale 
modus-vivendi-theme-scale-4))))
-   `(font-latex-sectioning-1-face ((,class :inherit ,modus-theme-variable-pitch
-                                           :foreground ,blue-nuanced :weight 
bold
+   `(font-latex-sectioning-1-face ((,class :inherit (bold 
,modus-theme-variable-pitch) :foreground ,blue-nuanced
                                            ,@(modus-vivendi-theme-scale 
modus-vivendi-theme-scale-3))))
-   `(font-latex-sectioning-2-face ((,class :inherit ,modus-theme-variable-pitch
-                                           :foreground ,blue-nuanced :weight 
bold
+   `(font-latex-sectioning-2-face ((,class :inherit (bold 
,modus-theme-variable-pitch) :foreground ,blue-nuanced
                                            ,@(modus-vivendi-theme-scale 
modus-vivendi-theme-scale-2))))
-   `(font-latex-sectioning-3-face ((,class :inherit ,modus-theme-variable-pitch
-                                           :foreground ,blue-nuanced :weight 
bold
+   `(font-latex-sectioning-3-face ((,class :inherit (bold 
,modus-theme-variable-pitch) :foreground ,blue-nuanced
                                            ,@(modus-vivendi-theme-scale 
modus-vivendi-theme-scale-1))))
-   `(font-latex-sectioning-4-face ((,class :inherit ,modus-theme-variable-pitch
-                                           :foreground ,blue-nuanced :weight 
bold)))
+   `(font-latex-sectioning-4-face ((,class :inherit (bold 
,modus-theme-variable-pitch) :foreground ,blue-nuanced)))
    `(font-latex-sectioning-5-face ((,class :inherit ,modus-theme-variable-pitch
                                            :foreground ,blue-nuanced)))
-   `(font-latex-sedate-face ((,class :foreground ,magenta-alt-other :weight 
,modus-theme-bold)))
-   `(font-latex-slide-title-face ((,class :inherit ,modus-theme-variable-pitch
-                                          :foreground ,cyan-nuanced :weight 
bold
+   `(font-latex-sedate-face ((,class ,@(modus-vivendi-theme-bold-weight) 
:foreground ,magenta-alt-other)))
+   `(font-latex-slide-title-face ((,class :inherit (bold 
,modus-theme-variable-pitch) :foreground ,cyan-nuanced
                                           ,@(modus-vivendi-theme-scale 
modus-vivendi-theme-scale-4))))
    `(font-latex-string-face ((,class :foreground ,blue-alt)))
    `(font-latex-subscript-face ((,class :height 0.95)))
@@ -991,93 +1183,99 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(tex-match ((,class :foreground ,blue-alt-other)))
    `(tex-verbatim ((,class :background ,bg-dim :foreground ,fg-special-mild)))
    `(texinfo-heading ((,class :foreground ,magenta)))
-   `(TeX-error-description-error ((,class :foreground ,red :weight bold)))
+   `(TeX-error-description-error ((,class :inherit bold :foreground ,red)))
    `(TeX-error-description-help ((,class :foreground ,blue)))
    `(TeX-error-description-tex-said ((,class :foreground ,blue)))
-   `(TeX-error-description-warning ((,class :foreground ,yellow :weight bold)))
-   ;;;; auto-dim-other-buffers
+   `(TeX-error-description-warning ((,class :inherit bold :foreground 
,yellow)))
+;;;;; auto-dim-other-buffers
    `(auto-dim-other-buffers-face ((,class :background ,bg-alt)))
-   ;;;; avy
+;;;;; avy
    `(avy-background-face ((,class :background ,bg-dim :foreground ,fg-dim)))
-   `(avy-goto-char-timer-face ((,class :inherit modus-theme-intense-yellow 
:weight bold)))
-   `(avy-lead-face ((,class :inherit modus-theme-intense-magenta :weight 
bold)))
-   `(avy-lead-face-0 ((,class :inherit modus-theme-intense-blue :weight bold)))
-   `(avy-lead-face-1 ((,class :inherit modus-theme-intense-red :weight bold)))
-   `(avy-lead-face-2 ((,class :inherit modus-theme-intense-green :weight 
bold)))
-   ;;;; aw (ace-window)
+   `(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))))
+;;;;; aw (ace-window)
    `(aw-background-face ((,class :background ,bg-dim :foreground ,fg-dim)))
-   `(aw-key-face ((,class :foreground ,blue-intense :weight bold)))
-   `(aw-leading-char-face ((,class :height 1.5 :background ,bg-main 
:foreground ,red-intense :weight bold)))
+   `(aw-key-face ((,class :inherit bold :foreground ,blue-intense)))
+   `(aw-leading-char-face ((,class :inherit bold :height 1.5 :background 
,bg-main :foreground ,red-intense)))
    `(aw-minibuffer-leading-char-face ((,class :foreground ,magenta-active)))
-   `(aw-mode-line-face ((,class :weight bold)))
-   ;;;; bm
+   `(aw-mode-line-face ((,class :inherit bold)))
+;;;;; bm
    `(bm-face ((,class :inherit modus-theme-subtle-yellow
                       ,@(and (>= emacs-major-version 27) '(: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
                                  ,@(and (>= emacs-major-version 27) '(:extend 
t)))))
-   ;;;; buttons, links, widgets
-   `(button ((,class :foreground ,blue-alt-other :underline t)))
-   `(link ((,class :foreground ,blue-alt-other :underline t)))
-   `(link-visited ((,class :foreground ,magenta-alt-other :underline t)))
-   `(tooltip ((,class :background ,bg-special-cold :foreground ,fg-main)))
-   `(widget-button ((,class :inherit button)))
-   `(widget-button-pressed ((,class :inherit button :foreground ,magenta)))
-   `(widget-documentation ((,class :foreground ,green)))
-   `(widget-field ((,class :background ,bg-alt :foreground ,fg-dim)))
-   `(widget-inactive ((,class :background ,bg-inactive :foreground 
,fg-inactive)))
-   `(widget-single-line-field ((,class :inherit widget-field)))
-   ;;;; breakpoint (built-in gdb-mi.el)
+;;;;; bongo
+   `(bongo-album-title ((,class :foreground ,cyan-active)))
+   `(bongo-artist ((,class :foreground ,magenta-active)))
+   `(bongo-currently-playing-track ((,class :inherit bold)))
+   `(bongo-elapsed-track-part ((,class :background ,blue-refine-bg :foreground 
,blue-refine-fg :underline t)))
+   `(bongo-filled-seek-bar ((,class :background ,blue-subtle-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 ,blue-alt-other)))
+   `(bongo-track-title ((,class :foreground ,blue-active)))
+   `(bongo-unfilled-seek-bar ((,class :background ,blue-nuanced-bg :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)))
+;;;;; breakpoint (built-in gdb-mi.el)
    `(breakpoint-disabled ((,class :foreground ,fg-alt)))
-   `(breakpoint-enabled ((,class :foreground ,red :weight bold)))
-   ;;;; buffer-expose
-   `(buffer-expose-ace-char-face ((,class :foreground ,red-active :weight 
bold)))
+   `(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)))
-   ;;;; calendar and diary
-   `(calendar-month-header ((,class :foreground ,fg-main :weight bold)))
-   `(calendar-today ((,class :background ,bg-alt :underline t)))
-   `(calendar-weekday-header ((,class :foreground ,blue-alt)))
+;;;;; calendar and diary
+   `(calendar-month-header ((,class :inherit bold :foreground ,fg-main)))
+   `(calendar-today ((,class :underline t)))
+   `(calendar-weekday-header ((,class :foreground ,fg-dim)))
    `(calendar-weekend-header ((,class :foreground ,fg-alt)))
-   `(diary ((,class :foreground ,green-alt-other)))
-   `(diary-anniversary ((,class :foreground ,yellow-alt-other)))
-   `(diary-time ((,class :foreground ,red-alt)))
+   `(diary ((,class :foreground ,cyan-alt-other)))
+   `(diary-anniversary ((,class :foreground ,red-alt-other)))
+   `(diary-time ((,class :foreground ,blue-alt)))
    `(holiday ((,class :foreground ,magenta-alt)))
-   ;;;; calfw
+;;;;; calfw
    `(cfw:face-annotation ((,class :background ,bg-alt :foreground ,fg-alt)))
    `(cfw:face-day-title ((,class :background ,bg-alt :foreground ,fg-main)))
    `(cfw:face-default-content ((,class :foreground ,green-alt)))
-   `(cfw:face-default-day ((,class :inherit cfw:face-day-title :weight bold)))
+   `(cfw:face-default-day ((,class :inherit (cfw:face-day-title bold))))
    `(cfw:face-disable ((,class :background ,bg-inactive :foreground 
,fg-inactive)))
    `(cfw:face-grid ((,class :foreground ,fg-inactive)))
-   `(cfw:face-header ((,class ::foreground ,fg-main :weight bold)))
-   `(cfw:face-holiday ((,class :background ,bg-alt :foreground ,magenta 
:weight bold)))
+   `(cfw:face-header ((,class :inherit bold ::foreground ,fg-main)))
+   `(cfw:face-holiday ((,class :inherit bold :background ,bg-alt :foreground 
,magenta)))
    `(cfw:face-periods ((,class :foreground ,cyan-alt-other)))
-   `(cfw:face-saturday ((,class :background ,bg-alt :foreground ,magenta-alt 
:weight bold)))
+   `(cfw:face-saturday ((,class :inherit bold :background ,bg-alt :foreground 
,magenta-alt)))
    `(cfw:face-select ((,class :inherit modus-theme-intense-blue)))
-   `(cfw:face-sunday ((,class :background ,bg-alt :foreground 
,magenta-alt-other :weight bold)))
+   `(cfw:face-sunday ((,class :inherit bold :background ,bg-alt :foreground 
,magenta-alt-other)))
    `(cfw:face-title ((,class :inherit ,modus-theme-variable-pitch
-                             :foreground ,fg-special-warm :weight bold
+                             :foreground ,fg-special-warm
                              ,@(modus-vivendi-theme-scale 
modus-vivendi-theme-scale-4))))
-   `(cfw:face-today ((,class :foreground ,blue :weight bold)))
+   `(cfw:face-today ((,class :inherit bold :foreground ,blue)))
    `(cfw:face-today-title ((,class :inherit modus-theme-special-mild :box t)))
    `(cfw:face-toolbar ((,class :background ,bg-active :foreground ,bg-active)))
    `(cfw:face-toolbar-button-off ((,class :background ,bg-alt :foreground 
,cyan)))
-   `(cfw:face-toolbar-button-on ((,class :background ,bg-main :foreground 
,blue-intense :weight bold)))
-   ;;;; centaur-tabs
+   `(cfw:face-toolbar-button-on ((,class :inherit bold :background ,bg-main 
:foreground ,blue-intense)))
+;;;;; centaur-tabs
    `(centaur-tabs-active-bar-face ((,class :background ,fg-tab-active)))
-   `(centaur-tabs-close-mouse-face ((,class :foreground ,red-active :weight 
bold :underline t)))
+   `(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)))
    `(centaur-tabs-modified-marker-selected ((,class :inherit 
centaur-tabs-selected)))
    `(centaur-tabs-modified-marker-unselected ((,class :inherit 
centaur-tabs-unselected)))
    `(centaur-tabs-default ((,class :background ,bg-main :foreground ,bg-main)))
-   `(centaur-tabs-selected ((,class :background ,bg-tab-active :foreground 
,fg-main :weight bold)))
+   `(centaur-tabs-selected ((,class :inherit bold :background ,bg-tab-active 
:foreground ,fg-main)))
    `(centaur-tabs-selected-modified ((,class :background ,bg-tab-active 
:foreground ,fg-main :slant italic)))
    `(centaur-tabs-unselected ((,class :background ,bg-tab-inactive :foreground 
,fg-dim)))
    `(centaur-tabs-unselected-modified ((,class :background ,bg-tab-inactive 
:foreground ,fg-dim :slant italic)))
-   ;;;; change-log and log-view (`vc-print-log' and `vc-print-root-log')
+;;;;; change-log and log-view (`vc-print-log' and `vc-print-root-log')
    `(change-log-acknowledgment ((,class :foreground ,fg-special-warm)))
    `(change-log-conditionals ((,class :foreground ,magenta-alt)))
    `(change-log-date ((,class :foreground ,magenta)))
@@ -1086,58 +1284,58 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(change-log-function ((,class :foreground ,green-alt-other)))
    `(change-log-list ((,class :foreground ,magenta-alt-other)))
    `(change-log-name ((,class :foreground ,cyan)))
-   `(log-edit-header ((,class :foreground ,green-alt-other :weight bold)))
+   `(log-edit-header ((,class :inherit bold :foreground ,green-alt-other)))
    `(log-edit-summary ((,class :foreground ,magenta-alt-other)))
    `(log-edit-unknown-header ((,class :foreground ,fg-alt)))
-   `(log-view-file ((,class :foreground ,fg-special-cold :weight bold)))
+   `(log-view-file ((,class :inherit bold :foreground ,fg-special-cold)))
    `(log-view-message ((,class :foreground ,fg-special-warm)))
-   ;;;; cider
+;;;;; 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-docview-emphasis-face ((,class :foreground ,fg-special-cold :slant 
italic)))
    `(cider-docview-literal-face ((,class :foreground ,blue-alt)))
-   `(cider-docview-strong-face ((,class :foreground ,fg-special-cold :weight 
bold)))
+   `(cider-docview-strong-face ((,class :inherit bold :foreground 
,fg-special-cold)))
    `(cider-docview-table-border-face ((,class :foreground ,fg-alt)))
    `(cider-enlightened-face ((,class :box (:line-width -1 :color ,yellow-alt 
:style nil) :background ,bg-dim)))
-   `(cider-enlightened-local-face ((,class :foreground ,yellow-alt-other 
:weight bold)))
+   `(cider-enlightened-local-face ((,class :inherit bold :foreground 
,yellow-alt-other)))
    `(cider-error-highlight-face ((,class :foreground ,red :underline t)))
    `(cider-fragile-button-face ((,class :box (:line-width 3 :color ,fg-alt 
:style released-button) :foreground ,yellow)))
    `(cider-fringe-good-face ((,class :foreground ,green-active)))
    `(cider-instrumented-face ((,class :box (:line-width -1 :color ,red :style 
nil) :background ,bg-dim)))
    `(cider-reader-conditional-face ((,class :foreground ,fg-special-warm 
:slant italic)))
-   `(cider-repl-input-face ((,class :weight bold)))
+   `(cider-repl-input-face ((,class :inherit bold)))
    `(cider-repl-prompt-face ((,class :foreground ,cyan-alt-other)))
-   `(cider-repl-stderr-face ((,class :foreground ,red :weight bold)))
+   `(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)))
-   `(cider-stacktrace-error-class-face ((,class :foreground ,red :weight 
bold)))
+   `(cider-stacktrace-error-class-face ((,class :inherit bold :foreground 
,red)))
    `(cider-stacktrace-error-message-face ((,class :foreground ,red-alt-other 
:slant italic)))
    `(cider-stacktrace-face ((,class :foreground ,fg-main)))
    `(cider-stacktrace-filter-active-face ((,class :foreground ,cyan-alt 
:underline t)))
    `(cider-stacktrace-filter-inactive-face ((,class :foreground ,cyan-alt)))
-   `(cider-stacktrace-fn-face ((,class :foreground ,fg-main :weight bold)))
+   `(cider-stacktrace-fn-face ((,class :inherit bold :foreground ,fg-main)))
    `(cider-stacktrace-ns-face ((,class :foreground ,fg-alt :slant italic)))
    `(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 :weight 
bold)))
+   `(cider-test-failure-face ((,class :inherit (modus-theme-intense-red 
bold))))
    `(cider-test-success-face ((,class :inherit modus-theme-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 (and lui)
    `(circe-fool-face ((,class :foreground ,fg-alt)))
-   `(circe-highlight-nick-face ((,class :foreground ,blue :weight bold)))
-   `(circe-prompt-face ((,class :foreground ,cyan-alt-other :weight bold)))
+   `(circe-highlight-nick-face ((,class :inherit bold :foreground ,blue)))
+   `(circe-prompt-face ((,class :inherit bold :foreground ,cyan-alt-other)))
    `(circe-server-face ((,class :foreground ,fg-unfocused)))
    `(lui-button-face ((,class :foreground ,blue :underline t)))
    `(lui-highlight-face ((,class :foreground ,magenta-alt)))
    `(lui-time-stamp-face ((,class :foreground ,blue-nuanced)))
-   ;;;; color-rg
+;;;;; color-rg
    `(color-rg-font-lock-column-number ((,class :foreground 
,magenta-alt-other)))
-   `(color-rg-font-lock-command ((,class :foreground ,fg-main :weight bold)))
-   `(color-rg-font-lock-file ((,class :foreground ,fg-special-cold :weight 
bold)))
+   `(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-header-line-directory ((,class :foreground 
,blue-active)))
@@ -1145,13 +1343,13 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(color-rg-font-lock-header-line-keyword ((,class :foreground 
,green-active)))
    `(color-rg-font-lock-header-line-text ((,class :foreground ,fg-active)))
    `(color-rg-font-lock-line-number ((,class :foreground ,fg-special-warm)))
-   `(color-rg-font-lock-mark-changed ((,class :foreground ,blue :weight bold)))
-   `(color-rg-font-lock-mark-deleted ((,class :foreground ,red :weight bold)))
+   `(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-position-splitter ((,class :foreground ,fg-alt)))
-   ;;;; column-enforce-mode
+;;;;; column-enforce-mode
    `(column-enforce-face ((,class :inherit modus-theme-refine-yellow)))
-   ;;;; company-mode
+;;;;; 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)))
@@ -1161,37 +1359,37 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(company-template-field ((,class :inherit modus-theme-intense-magenta)))
    `(company-tooltip ((,class :background ,bg-alt :foreground ,fg-alt)))
    `(company-tooltip-annotation ((,class :foreground ,fg-special-cold :slant 
,modus-theme-slant)))
-   `(company-tooltip-annotation-selection ((,class :foreground ,fg-main 
:weight bold)))
-   `(company-tooltip-common ((,class :foreground ,blue-alt :weight bold)))
+   `(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 :weight 
bold)))
-   `(company-tooltip-search-selection ((,class :inherit 
modus-theme-intense-green :weight bold :underline t)))
-   `(company-tooltip-selection ((,class :inherit modus-theme-subtle-cyan 
:weight bold)))
-   ;;;; company-posframe
-   `(company-posframe-active-backend-name ((,class :background ,bg-active 
:foreground ,blue-active :weight bold)))
+   `(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-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 feedback
    `(compilation-column-number ((,class :foreground ,magenta-alt-other)))
-   `(compilation-error ((,class :foreground ,red :weight ,modus-theme-bold)))
+   `(compilation-error ((,class ,@(modus-vivendi-theme-bold-weight) 
:foreground ,red)))
    `(compilation-info ((,class :foreground ,fg-special-cold)))
    `(compilation-line-number ((,class :foreground ,fg-special-warm)))
-   `(compilation-mode-line-exit ((,class :foreground ,blue-active :weight 
,modus-theme-bold)))
-   `(compilation-mode-line-fail ((,class :foreground ,red-active :weight 
,modus-theme-bold)))
-   `(compilation-mode-line-run ((,class :foreground ,magenta-active :weight 
,modus-theme-bold)))
-   `(compilation-warning ((,class :foreground ,yellow :weight 
,modus-theme-bold)))
-   ;;;; completions
+   `(compilation-mode-line-exit ((,class ,@(modus-vivendi-theme-bold-weight) 
:foreground ,blue-active)))
+   `(compilation-mode-line-fail ((,class ,@(modus-vivendi-theme-bold-weight) 
:foreground ,red-active)))
+   `(compilation-mode-line-run ((,class ,@(modus-vivendi-theme-bold-weight) 
:foreground ,magenta-active)))
+   `(compilation-warning ((,class ,@(modus-vivendi-theme-bold-weight) 
:foreground ,yellow)))
+;;;;; completions
    `(completions-annotations ((,class :foreground ,fg-special-cold :slant 
,modus-theme-slant)))
    `(completions-common-part ((,class ,@(modus-vivendi-theme-completions
                                          cyan-alt-other green-refine-bg 
green-refine-fg))))
-   `(completions-first-difference ((,class ,@(modus-vivendi-theme-completions
-                                              blue-alt-other blue-intense-bg 
fg-main)
-                                           :weight bold)))
-   ;;;; counsel
+   `(completions-first-difference ((,class :inherit bold
+                                           ,@(modus-vivendi-theme-completions
+                                              blue-alt-other blue-intense-bg 
fg-main))))
+;;;;; counsel
    `(counsel-active-mode ((,class :foreground ,magenta-alt-other)))
    `(counsel-application-name ((,class :foreground ,red-alt-other)))
-   `(counsel-key-binding ((,class :foreground ,blue-alt-other :weight bold)))
+   `(counsel-key-binding ((,class :inherit bold :foreground ,blue-alt-other)))
    `(counsel-outline-1 ((,class :inherit outline-1)))
    `(counsel-outline-2 ((,class :inherit outline-2)))
    `(counsel-outline-3 ((,class :inherit outline-3)))
@@ -1200,36 +1398,36 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(counsel-outline-6 ((,class :inherit outline-6)))
    `(counsel-outline-7 ((,class :inherit outline-7)))
    `(counsel-outline-8 ((,class :inherit outline-8)))
-   `(counsel-outline-default ((,class :foreground ,green-alt-other :weight 
bold)))
+   `(counsel-outline-default ((,class :inherit bold :foreground 
,green-alt-other)))
    `(counsel-variable-documentation ((,class :foreground ,yellow-alt-other 
:slant ,modus-theme-slant)))
-   ;;;; counsel-css
+;;;;; counsel-css
    `(counsel-css-selector-depth-face-1 ((,class :foreground ,blue)))
    `(counsel-css-selector-depth-face-2 ((,class :foreground ,cyan)))
    `(counsel-css-selector-depth-face-3 ((,class :foreground ,green)))
    `(counsel-css-selector-depth-face-4 ((,class :foreground ,yellow)))
    `(counsel-css-selector-depth-face-5 ((,class :foreground ,magenta)))
    `(counsel-css-selector-depth-face-6 ((,class :foreground ,red)))
-   ;;;; counsel-notmuch
+;;;;; counsel-notmuch
    `(counsel-notmuch-count-face ((,class :foreground ,cyan)))
    `(counsel-notmuch-date-face ((,class :foreground ,blue)))
    `(counsel-notmuch-people-face ((,class :foreground ,magenta)))
    `(counsel-notmuch-subject-face ((,class :foreground ,magenta-alt-other)))
-   ;;;; counsel-org-capture-string
+;;;;; counsel-org-capture-string
    `(counsel-org-capture-string-template-body-face ((,class :foreground 
,fg-special-cold)))
-   ;;;; cov
+;;;;; cov
    `(cov-coverage-not-run-face ((,class :foreground ,red-intense)))
    `(cov-coverage-run-face ((,class :foreground ,green-intense)))
    `(cov-heavy-face ((,class :foreground ,magenta-intense)))
    `(cov-light-face ((,class :foreground ,blue-intense)))
    `(cov-med-face ((,class :foreground ,yellow-intense)))
    `(cov-none-face ((,class :foreground ,cyan-intense)))
-   ;;;; csv-mode
+;;;;; csv-mode
    `(csv-separator-face ((,class :background ,bg-special-cold :foreground 
,fg-main)))
-   ;;;; ctrlf
-   `(ctrlf-highlight-active ((,class :inherit modus-theme-intense-green 
:weight bold)))
-   `(ctrlf-highlight-line ((,class :background ,bg-hl-line)))
+;;;;; 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)))
-   ;;;; custom (M-x customize)
+;;;;; custom (M-x customize)
    `(custom-button ((,class :box (:line-width 2 :color nil :style 
released-button)
                             :background ,bg-active :foreground ,fg-main)))
    `(custom-button-mouse ((,class :box (:line-width 2 :color nil :style 
released-button)
@@ -1239,43 +1437,43 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(custom-changed ((,class :inherit modus-theme-subtle-cyan)))
    `(custom-comment ((,class :foreground ,fg-alt)))
    `(custom-comment-tag ((,class :background ,bg-alt :foreground 
,yellow-alt-other)))
-   `(custom-face-tag ((,class :foreground ,blue-intense :weight bold)))
-   `(custom-group-tag ((,class :foreground ,green-intense :weight bold)))
+   `(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 :weight bold)))
+   `(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-set ((,class :foreground ,blue-alt)))
    `(custom-state ((,class :foreground ,cyan-alt-other)))
    `(custom-themed ((,class :inherit modus-theme-subtle-blue)))
-   `(custom-variable-tag ((,class :foreground ,cyan :weight bold)))
-   ;;;; dap-mode
+   `(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)
                                         :background ,bg-active :foreground 
,fg-main)))
    `(dap-result-overlay-face ((,class :box (:line-width -1 :color ,bg-active 
:style nil)
                                       :background ,bg-active :foreground 
,fg-main)))
-   `(dap-ui-breakpoint-verified-fringe ((,class :foreground ,green-active 
:weight bold)))
-   `(dap-ui-compile-errline ((,class :foreground ,red-intense :weight bold)))
-   `(dap-ui-locals-scope-face ((,class :foreground ,magenta :weight bold 
:underline t)))
-   `(dap-ui-locals-variable-face ((,class :foreground ,cyan :weight bold)))
+   `(dap-ui-breakpoint-verified-fringe ((,class :inherit bold :foreground 
,green-active)))
+   `(dap-ui-compile-errline ((,class :inherit bold :foreground ,red-intense)))
+   `(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 :foreground ,cyan-alt-other 
:slant italic)))
    `(dap-ui-marker-face ((,class :inherit modus-theme-subtle-blue)))
-   `(dap-ui-sessions-stack-frame-face ((,class :foreground ,magenta-alt 
:weight bold)))
-   `(dap-ui-sessions-terminated-active-face ((,class :foreground ,fg-alt 
:weight bold)))
+   `(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 :foreground ,fg-alt)))
-   ;;;; dashboard (emacs-dashboard)
-   `(dashboard-banner-logo-title ((,class :foreground ,fg-special-cold :weight 
bold)))
-   `(dashboard-footer ((,class :foreground ,fg-special-mild :weight bold)))
-   `(dashboard-heading ((,class :foreground ,fg-special-warm :weight bold)))
+;;;;; dashboard (emacs-dashboard)
+   `(dashboard-banner-logo-title ((,class :inherit bold :foreground 
,fg-special-cold)))
+   `(dashboard-footer ((,class :inherit bold :foreground ,fg-special-mild)))
+   `(dashboard-heading ((,class :inherit bold :foreground ,fg-special-warm)))
    `(dashboard-navigator ((,class :foreground ,cyan-alt-other)))
    `(dashboard-text-banner ((,class :foreground ,fg-dim)))
-   ;;;; deadgrep
-   `(deadgrep-filename-face ((,class :foreground ,fg-special-cold :weight 
bold)))
+;;;;; deadgrep
+   `(deadgrep-filename-face ((,class :inherit bold :foreground 
,fg-special-cold)))
    `(deadgrep-match-face ((,class :inherit modus-theme-special-calm)))
    `(deadgrep-meta-face ((,class :foreground ,fg-alt)))
-   `(deadgrep-regexp-metachar-face ((,class :foreground ,yellow-intense 
:weight bold)))
-   `(deadgrep-search-term-face ((,class :foreground ,green-intense :weight 
bold)))
-   ;;;; debbugs
+   `(deadgrep-regexp-metachar-face ((,class :inherit bold :foreground 
,yellow-intense)))
+   `(deadgrep-search-term-face ((,class :inherit bold :foreground 
,green-intense)))
+;;;;; debbugs
    `(debbugs-gnu-archived ((,class :inverse-video t)))
    `(debbugs-gnu-done ((,class :foreground ,fg-alt)))
    `(debbugs-gnu-forwarded ((,class :foreground ,fg-special-warm)))
@@ -1288,18 +1486,23 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(debbugs-gnu-stale-4 ((,class :foreground ,yellow-alt-other)))
    `(debbugs-gnu-stale-5 ((,class :foreground ,red-alt)))
    `(debbugs-gnu-tagged ((,class :foreground ,magenta-alt)))
-   ;;;; define-word
+;;;;; define-word
    `(define-word-face-1 ((,class :foreground ,yellow)))
    `(define-word-face-2 ((,class :foreground ,fg-main)))
-   ;;;; deft
+;;;;; deft
    `(deft-filter-string-error-face ((,class :inherit modus-theme-refine-red)))
    `(deft-filter-string-face ((,class :foreground ,green-intense)))
-   `(deft-header-face ((,class :foreground ,fg-special-warm :weight bold)))
+   `(deft-header-face ((,class :inherit bold :foreground ,fg-special-warm)))
    `(deft-separator-face ((,class :foreground ,fg-alt)))
    `(deft-summary-face ((,class :foreground ,fg-alt :slant 
,modus-theme-slant)))
    `(deft-time-face ((,class :foreground ,fg-special-cold)))
-   `(deft-title-face ((,class :foreground ,fg-main :weight bold)))
-   ;;;; diff-hl
+   `(deft-title-face ((,class :inherit bold :foreground ,fg-main)))
+;;;;; dictionary
+   `(dictionary-button-face ((,class :inherit bold :foreground 
,fg-special-cold)))
+   `(dictionary-reference-face ((,class :foreground ,blue-alt-other :underline 
t)))
+   `(dictionary-word-definition-face ((,class :foreground ,fg-main)))
+   `(dictionary-word-entry-face ((,class :foreground ,fg-special-cold :slant 
,modus-theme-slant)))
+;;;;; diff-hl
    `(diff-hl-change ((,class :inherit modus-theme-fringe-blue)))
    `(diff-hl-delete ((,class :inherit modus-theme-fringe-red)))
    `(diff-hl-dired-change ((,class :inherit diff-hl-change)))
@@ -1308,8 +1511,8 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(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-fringe-magenta :weight bold)))
-   ;;;; diff-mode
+   `(diff-hl-reverted-hunk-highlight ((,class :inherit 
(modus-theme-active-magenta bold))))
+;;;;; diff-mode
    `(diff-added ((,class ,@(modus-vivendi-theme-diffs
                             bg-main green
                             bg-diff-focus-added fg-diff-focus-added))))
@@ -1317,17 +1520,17 @@ Also bind `class' to ((class color) (min-colors 89))."
                               bg-main yellow
                               bg-diff-focus-changed fg-diff-focus-changed))))
    `(diff-context ((,class :foreground ,fg-unfocused)))
-   `(diff-file-header ((,class :foreground ,blue :weight bold)))
+   `(diff-file-header ((,class :inherit bold :foreground ,blue)))
    `(diff-function ((,class :foreground ,fg-special-cold)))
    `(diff-header ((,class :foreground ,blue-nuanced)))
    `(diff-hunk-header ((,class ,@(modus-vivendi-theme-diffs
                                   bg-alt blue-alt
                                   bg-diff-heading fg-diff-heading))))
-   `(diff-index ((,class :foreground ,blue-alt :weight bold)))
+   `(diff-index ((,class :inherit bold :foreground ,blue-alt)))
    `(diff-indicator-added ((,class :inherit diff-added)))
    `(diff-indicator-changed ((,class :inherit diff-changed)))
    `(diff-indicator-removed ((,class :inherit diff-removed)))
-   `(diff-nonexistent ((,class :inherit modus-theme-neutral :weight bold)))
+   `(diff-nonexistent ((,class :inherit (modus-theme-neutral bold))))
    `(diff-refine-added ((,class ,@(modus-vivendi-theme-diffs
                                    bg-diff-added fg-diff-added
                                    bg-diff-refine-added 
fg-diff-refine-added))))
@@ -1340,9 +1543,9 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(diff-removed ((,class ,@(modus-vivendi-theme-diffs
                               bg-main red
                               bg-diff-focus-removed fg-diff-focus-removed))))
-   ;;;; dim-autoload
+;;;;; dim-autoload
    `(dim-autoload-cookie-line ((,class :foreground ,fg-alt :slant 
,modus-theme-slant)))
-   ;;;; dired
+;;;;; dired
    `(dired-directory ((,class :foreground ,blue)))
    `(dired-flagged ((,class :inherit modus-theme-mark-del)))
    `(dired-header ((,class :inherit modus-theme-header)))
@@ -1351,19 +1554,19 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(dired-marked ((,class :inherit modus-theme-mark-sel)))
    `(dired-perm-write ((,class :foreground ,fg-special-warm)))
    `(dired-symlink ((,class :foreground ,cyan-alt :underline t)))
-   `(dired-warning ((,class :foreground ,yellow :weight bold)))
-   ;;;; dired-async
-   `(dired-async-failures ((,class :foreground ,red-active :weight 
,modus-theme-bold)))
-   `(dired-async-message ((,class :foreground ,green-active :weight 
,modus-theme-bold)))
-   `(dired-async-mode-message ((,class :foreground ,cyan-active :weight 
,modus-theme-bold)))
-   ;;;; dired-git
-   `(dired-git-branch-else ((,class :foreground ,magenta-alt :weight bold)))
-   `(dired-git-branch-master ((,class :foreground ,magenta-alt-other :weight 
bold)))
-   ;;;; dired-git-info
+   `(dired-warning ((,class :inherit bold :foreground ,yellow)))
+;;;;; dired-async
+   `(dired-async-failures ((,class ,@(modus-vivendi-theme-bold-weight) 
:foreground ,red-active)))
+   `(dired-async-message ((,class ,@(modus-vivendi-theme-bold-weight) 
:foreground ,green-active)))
+   `(dired-async-mode-message ((,class ,@(modus-vivendi-theme-bold-weight) 
: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 :weight 
bold)))
-   ;;;; dired-subtree
+;;;;; dired-narrow
+   `(dired-narrow-blink ((,class :inherit (modus-theme-subtle-cyan bold))))
+;;;;; dired-subtree
    ;; remove background from dired-subtree, else it breaks
    ;; dired-{flagged,marked} and any other face that sets a background
    ;; such as hl-line
@@ -1373,7 +1576,7 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(dired-subtree-depth-4-face ((,class :background nil)))
    `(dired-subtree-depth-5-face ((,class :background nil)))
    `(dired-subtree-depth-6-face ((,class :background nil)))
-   ;;;; diredfl
+;;;;; diredfl
    `(diredfl-autofile-name ((,class :inherit modus-theme-special-cold)))
    `(diredfl-compressed-file-name ((,class :foreground ,green-alt-other)))
    `(diredfl-compressed-file-suffix ((,class :foreground ,green-alt)))
@@ -1399,59 +1602,59 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(diredfl-symlink ((,class :foreground ,cyan-alt :underline t)))
    `(diredfl-tagged-autofile-name ((,class :inherit 
modus-theme-refine-magenta)))
    `(diredfl-write-priv ((,class :foreground ,cyan-alt-other)))
-   ;;;; disk-usage
+;;;;; disk-usage
    `(disk-usage-children ((,class :foreground ,yellow)))
-   `(disk-usage-inaccessible ((,class :foreground ,red :weight bold)))
+   `(disk-usage-inaccessible ((,class :inherit bold :foreground ,red)))
    `(disk-usage-percent ((,class :foreground ,green)))
    `(disk-usage-size ((,class :foreground ,cyan)))
    `(disk-usage-symlink ((,class :foreground ,blue :underline t)))
-   `(disk-usage-symlink-directory ((,class :foreground ,blue-alt :weight 
bold)))
-   ;;;; doom-modeline
+   `(disk-usage-symlink-directory ((,class :inherit bold :foreground 
,blue-alt)))
+;;;;; doom-modeline
    `(doom-modeline-bar ((,class :inherit modus-theme-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 :foreground ,red-active :weight 
bold)))
+   `(doom-modeline-battery-critical ((,class :inherit bold :foreground 
,red-active)))
    `(doom-modeline-battery-error ((,class :inherit modus-theme-active-red)))
    `(doom-modeline-battery-full ((,class :foreground ,blue-active)))
    `(doom-modeline-battery-normal ((,class :foreground ,fg-active)))
-   `(doom-modeline-battery-warning ((,class :foreground ,yellow-active :weight 
bold)))
-   `(doom-modeline-buffer-file ((,class :foreground ,fg-active :weight bold)))
-   `(doom-modeline-buffer-major-mode ((,class :foreground ,cyan-active :weight 
bold)))
+   `(doom-modeline-battery-warning ((,class :inherit bold :foreground 
,yellow-active)))
+   `(doom-modeline-buffer-file ((,class :inherit bold :foreground ,fg-active)))
+   `(doom-modeline-buffer-major-mode ((,class :inherit bold :foreground 
,cyan-active)))
    `(doom-modeline-buffer-minor-mode ((,class :foreground ,fg-inactive)))
-   `(doom-modeline-buffer-modified ((,class :foreground ,magenta-active 
:weight bold)))
-   `(doom-modeline-buffer-path ((,class :foreground ,fg-active :weight bold)))
-   `(doom-modeline-debug ((,class :foreground ,yellow-active :weight bold)))
-   `(doom-modeline-evil-emacs-state ((,class :foreground ,magenta-active 
:weight bold)))
-   `(doom-modeline-evil-insert-state ((,class :foreground ,green-active 
:weight bold)))
-   `(doom-modeline-evil-motion-state ((,class :foreground ,fg-inactive :weight 
bold)))
-   `(doom-modeline-evil-normal-state ((,class :foreground ,fg-active :weight 
bold)))
-   `(doom-modeline-evil-operator-state ((,class :foreground ,blue-active 
:weight bold)))
-   `(doom-modeline-evil-replace-state ((,class :foreground ,red-active :weight 
bold)))
-   `(doom-modeline-evil-visual-state ((,class :foreground ,cyan-active :weight 
bold)))
-   `(doom-modeline-highlight ((,class :foreground ,blue-active :weight bold)))
+   `(doom-modeline-buffer-modified ((,class :inherit bold :foreground 
,magenta-active)))
+   `(doom-modeline-buffer-path ((,class :inherit bold :foreground ,fg-active)))
+   `(doom-modeline-debug ((,class :inherit bold :foreground ,yellow-active)))
+   `(doom-modeline-evil-emacs-state ((,class :inherit bold :foreground 
,magenta-active)))
+   `(doom-modeline-evil-insert-state ((,class :inherit bold :foreground 
,green-active)))
+   `(doom-modeline-evil-motion-state ((,class :inherit bold :foreground 
,fg-inactive)))
+   `(doom-modeline-evil-normal-state ((,class :inherit bold :foreground 
,fg-active)))
+   `(doom-modeline-evil-operator-state ((,class :inherit bold :foreground 
,blue-active)))
+   `(doom-modeline-evil-replace-state ((,class :inherit bold :foreground 
,red-active)))
+   `(doom-modeline-evil-visual-state ((,class :inherit bold :foreground 
,cyan-active)))
+   `(doom-modeline-highlight ((,class :inherit bold :foreground ,blue-active)))
    `(doom-modeline-host ((,class :slant italic)))
    `(doom-modeline-info ((,class :foreground ,green-active)))
-   `(doom-modeline-lsp-error ((,class :foreground ,red-active :weight bold)))
-   `(doom-modeline-lsp-success ((,class :foreground ,green-active :weight 
bold)))
-   `(doom-modeline-lsp-warning ((,class :foreground ,yellow-active :weight 
bold)))
+   `(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-persp-buffer-not-in-persp ((,class :foreground 
,yellow-active :slant italic)))
    `(doom-modeline-persp-name ((,class :foreground ,fg-active)))
-   `(doom-modeline-project-dir ((,class :foreground ,blue-active :weight 
bold)))
+   `(doom-modeline-project-dir ((,class :inherit bold :foreground 
,blue-active)))
    `(doom-modeline-project-parent-dir ((,class :foreground ,blue-active)))
    `(doom-modeline-project-root-dir ((,class :foreground ,fg-active)))
    `(doom-modeline-unread-number ((,class :foreground ,fg-active :slant 
italic)))
-   `(doom-modeline-urgent ((,class :foreground ,red-active :weight bold)))
-   `(doom-modeline-warning ((,class :foreground ,yellow-active :weight bold)))
-   ;;;; dynamic-ruler
+   `(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)))
-   ;;;; easy-jekyll
+;;;;; easy-jekyll
    `(easy-jekyll-help-face ((,class :background ,bg-dim :foreground 
,cyan-alt-other)))
-   ;;;; easy-kill
+;;;;; easy-kill
    `(easy-kill-origin ((,class :inherit modus-theme-subtle-red)))
    `(easy-kill-selection ((,class :inherit modus-theme-subtle-yellow)))
-   ;;;; ebdb
+;;;;; ebdb
    `(ebdb-address-default ((,class :foreground ,fg-main)))
    `(ebdb-db-char ((,class :foreground ,fg-special-cold)))
    `(ebdb-defunct ((,class :foreground ,fg-alt)))
@@ -1466,7 +1669,7 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(ebdb-phone-default ((,class :foreground ,fg-special-warm)))
    `(ebdb-role-defunct ((,class :foreground ,fg-alt)))
    `(eieio-custom-slot-tag-face ((,class :foreground ,red-alt)))
-   ;;;; ediff
+;;;;; ediff
    `(ediff-current-diff-A ((,class ,@(modus-vivendi-theme-diffs
                                       bg-alt red
                                       bg-diff-removed fg-diff-removed))))
@@ -1491,17 +1694,17 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(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)))
-   ;;;; eglot
-   `(eglot-mode-line ((,class :foreground ,magenta-active :weight 
,modus-theme-bold)))
-   ;;;; el-search
-   `(el-search-highlight-in-prompt-face ((,class :foreground ,magenta-alt 
:weight bold)))
+;;;;; eglot
+   `(eglot-mode-line ((,class ,@(modus-vivendi-theme-bold-weight) :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)))
-   ;;;; eldoc-box
+;;;;; eldoc-box
    `(eldoc-box-body ((,class :background ,bg-alt :foreground ,fg-main)))
    `(eldoc-box-border ((,class :background ,fg-alt)))
-   ;;;; elfeed
+;;;;; elfeed
    `(elfeed-log-date-face ((,class :foreground ,cyan-alt)))
    `(elfeed-log-debug-level-face ((,class :foreground ,magenta)))
    `(elfeed-log-error-level-face ((,class :foreground ,red)))
@@ -1514,17 +1717,17 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(elfeed-search-tag-face ((,class :foreground ,cyan-alt-other)))
    `(elfeed-search-title-face ((,class :foreground ,fg-main)))
    `(elfeed-search-unread-count-face ((,class :foreground ,blue-active)))
-   `(elfeed-search-unread-title-face ((,class :weight bold)))
-   ;;;; elfeed-score
+   `(elfeed-search-unread-title-face ((,class :inherit bold)))
+;;;;; elfeed-score
    `(elfeed-score-date-face ((,class :foreground ,blue)))
    `(elfeed-score-debug-level-face ((,class :foreground ,magenta-alt-other)))
    `(elfeed-score-error-level-face ((,class :foreground ,red)))
    `(elfeed-score-info-level-face ((,class :foreground ,cyan)))
    `(elfeed-score-warn-level-face ((,class :foreground ,yellow)))
-   ;;;; emms
+;;;;; emms
    `(emms-playlist-track-face ((,class :foreground ,blue)))
-   `(emms-playlist-selected-face ((,class :foreground ,magenta :weight bold)))
-   ;;;; enhanced-ruby-mode
+   `(emms-playlist-selected-face ((,class :inherit bold :foreground ,magenta)))
+;;;;; enhanced-ruby-mode
    `(enh-ruby-heredoc-delimiter-face ((,class :foreground ,blue-alt-other)))
    `(enh-ruby-op-face ((,class :foreground ,fg-main)))
    `(enh-ruby-regexp-delimiter-face ((,class :foreground ,green)))
@@ -1532,16 +1735,16 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(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)))
-   ;;;; epa
+;;;;; epa
    `(epa-field-body ((,class :foreground ,fg-main)))
-   `(epa-field-name ((,class :foreground ,fg-dim :weight bold)))
-   `(epa-mark ((,class :foreground ,magenta :weight bold)))
+   `(epa-field-name ((,class :inherit bold :foreground ,fg-dim)))
+   `(epa-mark ((,class :inherit bold :foreground ,magenta)))
    `(epa-string ((,class :foreground ,blue-alt)))
    `(epa-validity-disabled ((,class :inherit modus-theme-refine-red)))
-   `(epa-validity-high ((,class :foreground ,green-alt-other :weight bold)))
+   `(epa-validity-high ((,class :inherit bold :foreground ,green-alt-other)))
    `(epa-validity-low ((,class :foreground ,fg-alt)))
    `(epa-validity-medium ((,class :foreground ,green-alt)))
-   ;;;; equake
+;;;;; equake
    `(equake-buffer-face ((,class :background ,bg-main :foreground ,fg-main)))
    `(equake-shell-type-eshell ((,class :background ,bg-inactive :foreground 
,green-active)))
    `(equake-shell-type-rash ((,class :background ,bg-inactive :foreground 
,red-active)))
@@ -1550,57 +1753,84 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(equake-shell-type-vterm ((,class :background ,bg-inactive :foreground 
,magenta-active)))
    `(equake-tab-active ((,class :background ,fg-alt :foreground ,bg-alt)))
    `(equake-tab-inactive ((,class :foreground ,fg-inactive)))
-   ;;;; erc
-   `(erc-action-face ((,class :foreground ,cyan :weight bold)))
-   `(erc-bold-face ((,class :weight bold)))
+;;;;; erc
+   `(erc-action-face ((,class :inherit bold :foreground ,cyan)))
+   `(erc-bold-face ((,class :inherit bold)))
    `(erc-button ((,class :inherit button)))
-   `(erc-command-indicator-face ((,class :foreground ,cyan-alt :weight bold)))
+   `(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-direct-msg-face ((,class :foreground ,magenta)))
-   `(erc-error-face ((,class :foreground ,red :weight bold)))
+   `(erc-error-face ((,class :inherit bold :foreground ,red)))
    `(erc-fool-face ((,class :foreground ,fg-inactive)))
    `(erc-header-line ((,class :background ,bg-header :foreground ,fg-header)))
    `(erc-input-face ((,class :foreground ,fg-special-calm)))
    `(erc-inverse-face ((,class :inherit erc-default-face :inverse-video t)))
-   `(erc-keyword-face ((,class :foreground ,magenta-alt :weight bold)))
-   `(erc-my-nick-face ((,class :foreground ,magenta :weight bold)))
+   `(erc-keyword-face ((,class :inherit bold :foreground ,magenta-alt)))
+   `(erc-my-nick-face ((,class :inherit bold :foreground ,magenta)))
    `(erc-my-nick-prefix-face ((,class :inherit erc-my-nick-face)))
-   `(erc-nick-default-face ((,class :foreground ,blue :weight bold)))
-   `(erc-nick-msg-face ((,class :foreground ,green :weight bold)))
+   `(erc-nick-default-face ((,class :inherit bold :foreground ,blue)))
+   `(erc-nick-msg-face ((,class :inherit bold :foreground ,green)))
    `(erc-nick-prefix-face ((,class :inherit erc-nick-default-face)))
    `(erc-notice-face ((,class :foreground ,fg-unfocused)))
-   `(erc-pal-face ((,class :foreground ,red-alt :weight bold)))
-   `(erc-prompt-face ((,class :foreground ,cyan-alt-other :weight bold)))
+   `(erc-pal-face ((,class :inherit bold :foreground ,red-alt)))
+   `(erc-prompt-face ((,class :inherit bold :foreground ,cyan-alt-other)))
    `(erc-timestamp-face ((,class :foreground ,blue-nuanced)))
    `(erc-underline-face ((,class :underline t)))
-   ;;;; eros
+;;;;; eros
    `(eros-result-overlay-face ((,class :box (:line-width -1 :color ,blue)
                                        :background ,bg-dim :foreground 
,fg-dim)))
-   ;;;; ert
+;;;;; ert
    `(ert-test-result-expected ((,class :inherit modus-theme-intense-green)))
    `(ert-test-result-unexpected ((,class :inherit modus-theme-intense-red)))
-   ;;;; eshell
-   `(eshell-ls-archive ((,class :foreground ,cyan-alt :weight bold)))
+;;;;; 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 :foreground ,blue-alt :weight bold)))
+   `(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-product ((,class :foreground ,fg-special-warm)))
    `(eshell-ls-readonly ((,class :foreground ,fg-special-cold)))
-   `(eshell-ls-special ((,class :foreground ,magenta :weight bold)))
+   `(eshell-ls-special ((,class :inherit bold :foreground ,magenta)))
    `(eshell-ls-symlink ((,class :foreground ,cyan :underline t)))
    `(eshell-ls-unreadable ((,class :background ,bg-inactive :foreground 
,fg-inactive)))
-   `(eshell-prompt ((,class :foreground ,green-alt-other :weight 
,modus-theme-bold)))
-   ;;;; evil-mode
+   `(eshell-prompt ((,class ,@(modus-vivendi-theme-bold-weight) :foreground 
,green-alt-other)))
+;;;;; eshell-fringe-status
+   `(eshell-fringe-status-failure ((,class :foreground ,red)))
+   `(eshell-fringe-status-success ((,class :foreground ,green)))
+;;;;; eshell-git-prompt
+   `(eshell-git-prompt-add-face ((,class :foreground ,fg-alt)))
+   `(eshell-git-prompt-branch-face ((,class :foreground ,fg-alt)))
+   `(eshell-git-prompt-directory-face ((,class :foreground ,cyan)))
+   `(eshell-git-prompt-exit-fail-face ((,class :foreground ,red)))
+   `(eshell-git-prompt-exit-success-face ((,class :foreground ,green)))
+   `(eshell-git-prompt-modified-face ((,class :foreground ,yellow)))
+   `(eshell-git-prompt-powerline-clean-face ((,class :background 
,green-refine-bg)))
+   `(eshell-git-prompt-powerline-dir-face ((,class :background 
,blue-refine-bg)))
+   `(eshell-git-prompt-powerline-not-clean-face ((,class :background 
,magenta-refine-bg)))
+   `(eshell-git-prompt-robyrussell-branch-face ((,class :foreground ,red)))
+   `(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 ,@(modus-vivendi-theme-bold-weight) :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 :foreground ,fg-alt :slant ,modus-theme-slant)))
+   `(epe-status-face ((,class :foreground ,magenta-alt-other)))
+   `(epe-venv-face ((,class :foreground ,fg-alt :slant ,modus-theme-slant)))
+;;;;; 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 :weight bold)))
-   ;;;; evil-goggles
+   `(evil-ex-substitute-replacement ((,class :inherit 
(modus-theme-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 
:slant ,modus-theme-slant)))
    `(evil-goggles-default-face ((,class :inherit modus-theme-subtle-neutral)))
@@ -1616,9 +1846,9 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(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-visual-mark-mode
+;;;;; evil-visual-mark-mode
    `(evil-visual-mark-face ((,class :inherit modus-theme-intense-magenta)))
-   ;;;; eww
+;;;;; 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)))
@@ -1627,22 +1857,22 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(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)))
-   ;;;; eyebrowse
-   `(eyebrowse-mode-line-active ((,class :foreground ,blue-active :weight 
bold)))
-   ;;;; fancy-dabbrev
+;;;;; 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 :foreground ,fg-alt :underline t)))
-   `(fancy-dabbrev-selection-face ((,class :inherit modus-theme-intense-cyan 
:weight bold)))
-   ;;;; flycheck
+   `(fancy-dabbrev-selection-face ((,class :inherit (modus-theme-intense-cyan 
bold))))
+;;;;; flycheck
    `(flycheck-error
      ((,(append '((supports :underline (:style wave))) class)
        :underline (:color ,fg-lang-error :style wave))
       (,class :foreground ,fg-lang-error :underline t)))
    `(flycheck-error-list-checker-name ((,class :foreground ,magenta-active)))
    `(flycheck-error-list-column-number ((,class :foreground ,fg-special-cold)))
-   `(flycheck-error-list-error ((,class :foreground ,red :weight 
,modus-theme-bold)))
+   `(flycheck-error-list-error ((,class ,@(modus-vivendi-theme-bold-weight) 
:foreground ,red)))
    `(flycheck-error-list-filename ((,class :foreground ,blue)))
-   `(flycheck-error-list-highlight ((,class :inherit 
modus-theme-special-warm)))
+   `(flycheck-error-list-highlight ((,class :inherit modus-theme-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)))
@@ -1660,21 +1890,21 @@ Also bind `class' to ((class color) (min-colors 89))."
      ((,(append '((supports :underline (:style wave))) class)
        :underline (:color ,fg-lang-warning :style wave))
       (,class :foreground ,fg-lang-warning :underline t)))
-   ;;;; flycheck-indicator
+;;;;; flycheck-indicator
    `(flycheck-indicator-disabled ((,class :foreground ,fg-inactive :slant 
,modus-theme-slant)))
-   `(flycheck-indicator-error ((,class :foreground ,red-active :weight 
,modus-theme-bold)))
-   `(flycheck-indicator-info ((,class :foreground ,blue-active :weight 
,modus-theme-bold)))
-   `(flycheck-indicator-running ((,class :foreground ,magenta-active :weight 
,modus-theme-bold)))
-   `(flycheck-indicator-success ((,class :foreground ,green-active :weight 
,modus-theme-bold)))
-   `(flycheck-indicator-warning ((,class :foreground ,yellow-active :weight 
,modus-theme-bold)))
-   ;;;; flycheck-posframe
+   `(flycheck-indicator-error ((,class ,@(modus-vivendi-theme-bold-weight) 
:foreground ,red-active)))
+   `(flycheck-indicator-info ((,class ,@(modus-vivendi-theme-bold-weight) 
:foreground ,blue-active)))
+   `(flycheck-indicator-running ((,class ,@(modus-vivendi-theme-bold-weight) 
:foreground ,magenta-active)))
+   `(flycheck-indicator-success ((,class ,@(modus-vivendi-theme-bold-weight) 
:foreground ,green-active)))
+   `(flycheck-indicator-warning ((,class ,@(modus-vivendi-theme-bold-weight) 
:foreground ,yellow-active)))
+;;;;; flycheck-posframe
    `(flycheck-posframe-background-face ((,class :background ,bg-alt)))
    `(flycheck-posframe-border-face ((,class :foreground ,fg-alt)))
-   `(flycheck-posframe-error-face ((,class :foreground ,red :weight bold)))
+   `(flycheck-posframe-error-face ((,class :inherit bold :foreground ,red)))
    `(flycheck-posframe-face ((,class :foreground ,fg-main :slant 
,modus-theme-slant)))
-   `(flycheck-posframe-info-face ((,class :foreground ,cyan :weight bold)))
-   `(flycheck-posframe-warning-face ((,class :foreground ,yellow :weight 
bold)))
-   ;;;; flymake
+   `(flycheck-posframe-info-face ((,class :inherit bold :foreground ,cyan)))
+   `(flycheck-posframe-warning-face ((,class :inherit bold :foreground 
,yellow)))
+;;;;; flymake
    `(flymake-error
      ((,(append '((supports :underline (:style wave))) class)
        :underline (:color ,fg-lang-error :style wave))
@@ -1687,7 +1917,7 @@ Also bind `class' to ((class color) (min-colors 89))."
      ((,(append '((supports :underline (:style wave))) class)
        :underline (:color ,fg-lang-warning :style wave))
       (,class :foreground ,fg-lang-warning :underline t)))
-   ;;;; flyspell
+;;;;; flyspell
    `(flyspell-duplicate
      ((,(append '((supports :underline (:style wave))) class)
        :underline (:color ,fg-lang-warning :style wave))
@@ -1696,115 +1926,134 @@ Also bind `class' to ((class color) (min-colors 89))."
      ((,(append '((supports :underline (:style wave))) class)
        :underline (:color ,fg-lang-error :style wave))
       (,class :foreground ,fg-lang-error :underline t)))
-   ;;;; flyspell-correct
+;;;;; flyspell-correct
    `(flyspell-correct-highlight-face ((,class :inherit 
modus-theme-refine-green)))
-   ;;;; flx
+;;;;; flx
    `(flx-highlight-face ((,class :inherit modus-theme-intense-magenta)))
-   ;;;; freeze-it
+;;;;; freeze-it
    `(freeze-it-show ((,class :background ,bg-dim :foreground 
,fg-special-warm)))
-   ;;;; frog-menu
+;;;;; frog-menu
    `(frog-menu-action-keybinding-face ((,class :foreground ,blue-alt-other)))
    `(frog-menu-actions-face ((,class :foreground ,magenta)))
    `(frog-menu-border ((,class :background ,bg-active)))
    `(frog-menu-candidates-face ((,class :foreground ,fg-main)))
    `(frog-menu-posframe-background-face ((,class :background ,bg-dim)))
    `(frog-menu-prompt-face ((,class :foreground ,cyan)))
-   ;;;; focus
+;;;;; focus
    `(focus-unfocused ((,class :foreground ,fg-unfocused)))
-   ;;;; fold-this
+;;;;; fold-this
    `(fold-this-overlay ((,class :inherit modus-theme-special-mild)))
-   ;;;; font-lock
-   `(font-lock-builtin-face ((,class :foreground ,magenta-alt :weight 
,modus-theme-bold)))
+;;;;; font-lock
+   `(font-lock-builtin-face ((,class ,@(modus-vivendi-theme-syntax-foreground
+                                        magenta-alt magenta-alt-faint)
+                                     ,@(modus-vivendi-theme-bold-weight))))
    `(font-lock-comment-delimiter-face ((,class :foreground ,fg-alt :slant 
,modus-theme-slant)))
    `(font-lock-comment-face ((,class :foreground ,fg-alt :slant 
,modus-theme-slant)))
-   `(font-lock-constant-face ((,class :foreground ,blue-alt-other)))
-   `(font-lock-doc-face ((,class :foreground ,fg-special-cold :slant 
,modus-theme-slant)))
-   `(font-lock-function-name-face ((,class :foreground ,magenta)))
-   `(font-lock-keyword-face ((,class :foreground ,magenta-alt-other :weight 
,modus-theme-bold)))
-   `(font-lock-negation-char-face ((,class :foreground ,yellow :weight 
,modus-theme-bold)))
-   `(font-lock-preprocessor-face ((,class :foreground ,magenta)))
-   `(font-lock-regexp-grouping-backslash ((,class :foreground 
,fg-escape-char-backslash :weight bold)))
-   `(font-lock-regexp-grouping-construct ((,class :foreground 
,fg-escape-char-construct :weight bold)))
-   `(font-lock-string-face ((,class :foreground ,blue-alt)))
-   `(font-lock-type-face ((,class :foreground ,magenta-alt)))
-   `(font-lock-variable-name-face ((,class :foreground ,cyan)))
-   `(font-lock-warning-face ((,class :foreground ,yellow-active :weight bold)))
-   ;;;; forge
-   `(forge-post-author ((,class :foreground ,fg-main :weight bold)))
+   `(font-lock-constant-face ((,class ,@(modus-vivendi-theme-syntax-foreground
+                                         blue-alt-other 
blue-alt-other-faint))))
+   `(font-lock-doc-face ((,class ,@(modus-vivendi-theme-syntax-foreground
+                                    fg-special-cold cyan-alt-other-faint)
+                                 :slant ,modus-theme-slant)))
+   `(font-lock-function-name-face ((,class 
,@(modus-vivendi-theme-syntax-foreground
+                                              magenta magenta-faint))))
+   `(font-lock-keyword-face ((,class ,@(modus-vivendi-theme-syntax-foreground
+                                        magenta-alt-other 
magenta-alt-other-faint)
+                                     ,@(modus-vivendi-theme-bold-weight))))
+   `(font-lock-negation-char-face ((,class 
,@(modus-vivendi-theme-syntax-foreground
+                                              yellow yellow-faint)
+                                           
,@(modus-vivendi-theme-bold-weight))))
+   `(font-lock-preprocessor-face ((,class 
,@(modus-vivendi-theme-syntax-foreground
+                                             red-alt-other 
red-alt-other-faint))))
+   `(font-lock-regexp-grouping-backslash ((,class :inherit bold :foreground 
,fg-escape-char-backslash)))
+   `(font-lock-regexp-grouping-construct ((,class :inherit bold :foreground 
,fg-escape-char-construct)))
+   `(font-lock-string-face ((,class ,@(modus-vivendi-theme-syntax-foreground
+                                       blue-alt blue-alt-faint))))
+   `(font-lock-type-face ((,class ,@(modus-vivendi-theme-syntax-foreground
+                                     magenta-alt magenta-alt-faint))))
+   `(font-lock-variable-name-face ((,class 
,@(modus-vivendi-theme-syntax-foreground
+                                              cyan cyan-faint))))
+   `(font-lock-warning-face ((,class ,@(modus-vivendi-theme-syntax-foreground
+                                        yellow-active yellow-alt-faint)
+                                     ,@(modus-vivendi-theme-bold-weight))))
+;;;;; forge
+   `(forge-post-author ((,class :inherit bold :foreground ,fg-main)))
    `(forge-post-date ((,class :foreground ,fg-special-cold)))
    `(forge-topic-closed ((,class :foreground ,fg-alt)))
    `(forge-topic-merged ((,class :foreground ,fg-alt)))
    `(forge-topic-open ((,class :foreground ,fg-special-mild)))
    `(forge-topic-unmerged ((,class :foreground ,magenta :slant 
,modus-theme-slant)))
-   `(forge-topic-unread ((,class :foreground ,fg-main :weight bold)))
-   ;;;; fountain-mode
-   `(fountain-character ((,class :foreground ,magenta-alt-other)))
+   `(forge-topic-unread ((,class :inherit bold :foreground ,fg-main)))
+;;;;; fountain-mode
+   `(fountain-character ((,class :foreground ,blue-alt-other)))
    `(fountain-comment ((,class :foreground ,fg-alt :slant ,modus-theme-slant)))
-   `(fountain-dialog ((,class :foreground ,blue)))
-   `(fountain-metadata-key ((,class :foreground ,blue-alt-other)))
-   `(fountain-metadata-value ((,class :foreground ,cyan-alt-other)))
-   `(fountain-non-printing ((,class :inherit fountain-comment)))
-   `(fountain-note ((,class :foreground ,fg-special-warm :slant 
,modus-theme-slant)))
-   `(fountain-page-break ((,class :foreground ,yellow :weight bold)))
-   `(fountain-page-number ((,class :foreground ,yellow-alt :weight bold)))
+   `(fountain-dialog ((,class :foreground ,blue-alt)))
+   `(fountain-metadata-key ((,class :foreground ,green-alt-other)))
+   `(fountain-metadata-value ((,class :foreground ,blue)))
+   `(fountain-non-printing ((,class :foreground ,fg-alt)))
+   `(fountain-note ((,class :foreground ,yellow :slant ,modus-theme-slant)))
+   `(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 :foreground ,fg-special-calm :weight 
bold)))
-   `(fountain-section-heading ((,class :inherit ,modus-theme-variable-pitch
-                                       :foreground ,fg-main :weight bold
+   `(fountain-scene-heading ((,class :inherit bold :foreground ,blue-nuanced)))
+   `(fountain-section-heading ((,class :inherit (bold 
,modus-theme-variable-pitch) :foreground ,fg-main
                                        ,@(modus-vivendi-theme-scale 
modus-vivendi-theme-scale-4))))
-   `(fountain-section-heading-1 ((,class :inherit ,modus-theme-variable-pitch
-                                         :foreground ,fg-main :weight bold
+   `(fountain-section-heading-1 ((,class :inherit (bold 
,modus-theme-variable-pitch) :foreground ,fg-main
                                          ,@(modus-vivendi-theme-scale 
modus-vivendi-theme-scale-4))))
-   `(fountain-section-heading-2 ((,class :inherit ,modus-theme-variable-pitch
-                                         :foreground ,fg-special-warm :weight 
bold
+   `(fountain-section-heading-2 ((,class :inherit (bold 
,modus-theme-variable-pitch) :foreground ,fg-special-warm
                                          ,@(modus-vivendi-theme-scale 
modus-vivendi-theme-scale-3))))
-   `(fountain-section-heading-3 ((,class :inherit ,modus-theme-variable-pitch
-                                         :foreground ,fg-special-cold :weight 
bold
+   `(fountain-section-heading-3 ((,class :inherit (bold 
,modus-theme-variable-pitch) :foreground ,fg-special-mild
                                          ,@(modus-vivendi-theme-scale 
modus-vivendi-theme-scale-2))))
-   `(fountain-section-heading-4 ((,class :inherit ,modus-theme-variable-pitch
-                                         :foreground ,fg-special-mild :weight 
bold
+   `(fountain-section-heading-4 ((,class :inherit (bold 
,modus-theme-variable-pitch) :foreground ,fg-special-calm
                                          ,@(modus-vivendi-theme-scale 
modus-vivendi-theme-scale-1))))
-   `(fountain-section-heading-5 ((,class :inherit ,modus-theme-variable-pitch
-                                         :foreground ,fg-special-calm :weight 
bold)))
-   `(fountain-synopsis ((,class :foreground ,green)))
-   `(fountain-template ((,class :foreground ,magenta-alt)))
-   `(fountain-trans ((,class :foreground ,magenta :weight bold)))
-   ;;;; geiser
-   `(geiser-font-lock-autodoc-current-arg ((,class :foreground ,magenta)))
-   `(geiser-font-lock-autodoc-identifier ((,class :foreground ,blue)))
-   `(geiser-font-lock-doc-button ((,class :foreground ,cyan-alt :underline t)))
+   `(fountain-section-heading-5 ((,class :inherit (bold 
,modus-theme-variable-pitch) :foreground ,fg-special-calm)))
+   `(fountain-synopsis ((,class :foreground ,cyan-alt)))
+   `(fountain-trans ((,class :foreground ,yellow-alt-other)))
+;;;;; geiser
+   `(geiser-font-lock-autodoc-current-arg ((,class 
,@(modus-vivendi-theme-syntax-foreground
+                                                      magenta magenta-faint))))
+   `(geiser-font-lock-autodoc-identifier ((,class 
,@(modus-vivendi-theme-syntax-foreground
+                                                     blue blue-faint))))
+   `(geiser-font-lock-doc-button ((,class 
,@(modus-vivendi-theme-syntax-foreground
+                                             cyan-alt cyan-alt-faint)
+                                          :underline t)))
    `(geiser-font-lock-doc-link ((,class :inherit link)))
-   `(geiser-font-lock-error-link ((,class :foreground ,red-alt :underline t)))
-   `(geiser-font-lock-image-button ((,class :foreground ,green-alt :underline 
t)))
-   `(geiser-font-lock-repl-input ((,class :weight bold)))
-   `(geiser-font-lock-repl-output ((,class :foreground ,magenta-alt-other)))
-   `(geiser-font-lock-repl-prompt ((,class :foreground ,cyan-alt-other)))
-   `(geiser-font-lock-xref-header ((,class :weight bold)))
+   `(geiser-font-lock-error-link ((,class 
,@(modus-vivendi-theme-syntax-foreground
+                                             red-alt red-alt-faint)
+                                          :underline t)))
+   `(geiser-font-lock-image-button ((,class 
,@(modus-vivendi-theme-syntax-foreground
+                                               green-alt green-alt-faint)
+                                            :underline t)))
+   `(geiser-font-lock-repl-input ((,class :inherit bold)))
+   `(geiser-font-lock-repl-output ((,class 
,@(modus-vivendi-theme-syntax-foreground
+                                              magenta-alt-other 
magenta-alt-other-faint))))
+   `(geiser-font-lock-repl-prompt ((,class 
,@(modus-vivendi-theme-syntax-foreground
+                                              cyan-alt-other 
cyan-alt-other-faint))))
+   `(geiser-font-lock-xref-header ((,class :inherit bold)))
    `(geiser-font-lock-xref-link ((,class :inherit link)))
-   ;;;; git-commit
+;;;;; git-commit
    `(git-commit-comment-action ((,class :foreground ,fg-special-calm :slant 
,modus-theme-slant)))
    `(git-commit-comment-branch-local ((,class :foreground ,cyan :slant 
,modus-theme-slant)))
    `(git-commit-comment-branch-remote ((,class :foreground ,blue :slant 
,modus-theme-slant)))
    `(git-commit-comment-detached ((,class :foreground ,yellow :slant 
,modus-theme-slant)))
    `(git-commit-comment-file ((,class :foreground ,blue :slant 
,modus-theme-slant)))
-   `(git-commit-comment-heading ((,class :foreground ,fg-main :weight bold 
:slant ,modus-theme-slant)))
+   `(git-commit-comment-heading ((,class :inherit bold :foreground ,fg-main 
:slant ,modus-theme-slant)))
    `(git-commit-keyword ((,class :foreground ,magenta)))
-   `(git-commit-known-pseudo-header ((,class :foreground ,fg-special-warm 
:weight bold)))
-   `(git-commit-nonempty-second-line ((,class :inherit 
modus-theme-refine-yellow :weight bold)))
+   `(git-commit-known-pseudo-header ((,class :inherit bold :foreground 
,fg-special-warm)))
+   `(git-commit-nonempty-second-line ((,class :inherit 
(modus-theme-refine-yellow bold))))
    `(git-commit-overlong-summary ((,class :inherit modus-theme-subtle-yellow)))
-   `(git-commit-pseudo-header ((,class :foreground ,fg-alt :weight bold)))
+   `(git-commit-pseudo-header ((,class :inherit bold :foreground ,fg-alt)))
    `(git-commit-summary ((,class :foreground ,magenta-alt-other)))
-   ;;;; git-gutter
+;;;;; 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-fr
+;;;;; 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,fringe}+
+;;;;; 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)))
@@ -1813,21 +2062,21 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(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-lens
-   `(git-lens-added ((,class :foreground ,green :weight bold)))
-   `(git-lens-deleted ((,class :foreground ,red :weight bold)))
-   `(git-lens-header ((,class :height 1.1 :foreground ,cyan :weight bold)))
-   `(git-lens-modified ((,class :foreground ,yellow :weight bold)))
-   `(git-lens-renamed ((,class :foreground ,magenta :weight bold)))
-   ;;;; git-timemachine
-   `(git-timemachine-commit ((,class :foreground ,yellow-active :weight bold)))
+;;;;; git-lens
+   `(git-lens-added ((,class :inherit bold :foreground ,green)))
+   `(git-lens-deleted ((,class :inherit bold :foreground ,red)))
+   `(git-lens-header ((,class :inherit bold :height 1.1 :foreground ,cyan)))
+   `(git-lens-modified ((,class :inherit bold :foreground ,yellow)))
+   `(git-lens-renamed ((,class :inherit bold :foreground ,magenta)))
+;;;;; git-timemachine
+   `(git-timemachine-commit ((,class :inherit bold :foreground 
,yellow-active)))
    `(git-timemachine-minibuffer-author-face ((,class :foreground 
,fg-special-warm)))
    `(git-timemachine-minibuffer-detail-face ((,class :foreground ,red-alt)))
-   ;;;; git-walktree
+;;;;; git-walktree
    `(git-walktree-commit-face ((,class :foreground ,yellow)))
    `(git-walktree-symlink-face ((,class :foreground ,cyan :underline t)))
    `(git-walktree-tree-face ((,class :foreground ,magenta)))
-   ;;;; gnus
+;;;;; gnus
    `(gnus-button ((,class :inherit button)))
    `(gnus-cite-1 ((,class :foreground ,blue-alt)))
    `(gnus-cite-10 ((,class :foreground ,magenta-alt-other)))
@@ -1842,96 +2091,98 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(gnus-cite-9 ((,class :foreground ,green-alt-other)))
    `(gnus-cite-attribution ((,class :foreground ,fg-main :slant italic)))
    `(gnus-emphasis-highlight-words ((,class :inherit 
modus-theme-refine-yellow)))
-   `(gnus-group-mail-1 ((,class :foreground ,magenta :weight bold)))
-   `(gnus-group-mail-1-empty ((,class :foreground ,magenta)))
-   `(gnus-group-mail-2 ((,class :foreground ,magenta-alt :weight bold)))
-   `(gnus-group-mail-2-empty ((,class :foreground ,magenta-alt)))
-   `(gnus-group-mail-3 ((,class :foreground ,magenta-alt-other :weight bold)))
+   `(gnus-group-mail-1 ((,class :inherit bold :foreground ,magenta-alt)))
+   `(gnus-group-mail-1-empty ((,class :foreground ,magenta-alt)))
+   `(gnus-group-mail-2 ((,class :inherit bold :foreground ,magenta)))
+   `(gnus-group-mail-2-empty ((,class :foreground ,magenta)))
+   `(gnus-group-mail-3 ((,class :inherit bold :foreground ,magenta-alt-other)))
    `(gnus-group-mail-3-empty ((,class :foreground ,magenta-alt-other)))
-   `(gnus-group-mail-low ((,class :foreground ,fg-special-calm :weight bold)))
-   `(gnus-group-mail-low-empty ((,class :foreground ,fg-special-calm)))
-   `(gnus-group-news-1 ((,class :foreground ,blue-alt-other :weight bold)))
-   `(gnus-group-news-1-empty ((,class :foreground ,blue-alt)))
-   `(gnus-group-news-2 ((,class :foreground ,green-alt-other :weight bold)))
-   `(gnus-group-news-2-empty ((,class :foreground ,green-alt)))
-   `(gnus-group-news-3 ((,class :foreground ,cyan-alt-other :weight bold)))
-   `(gnus-group-news-3-empty ((,class :foreground ,cyan)))
-   `(gnus-group-news-4 ((,class :foreground ,yellow-nuanced :weight bold)))
-   `(gnus-group-news-4-empty ((,class :foreground ,green-nuanced)))
-   `(gnus-group-news-5 ((,class :foreground ,magenta-nuanced :weight bold)))
-   `(gnus-group-news-5-empty ((,class :foreground ,magenta-nuanced)))
-   `(gnus-group-news-6 ((,class :foreground ,red-nuanced :weight bold)))
-   `(gnus-group-news-6-empty ((,class :foreground ,red-nuanced)))
-   `(gnus-group-news-low ((,class :foreground ,fg-alt :weight bold)))
-   `(gnus-group-news-low-empty ((,class :foreground ,fg-alt)))
+   `(gnus-group-mail-low ((,class :inherit bold :foreground ,magenta-nuanced)))
+   `(gnus-group-mail-low-empty ((,class :foreground ,magenta-nuanced)))
+   `(gnus-group-news-1 ((,class :inherit bold :foreground ,green)))
+   `(gnus-group-news-1-empty ((,class :foreground ,green)))
+   `(gnus-group-news-2 ((,class :inherit bold :foreground ,cyan)))
+   `(gnus-group-news-2-empty ((,class :foreground ,cyan)))
+   `(gnus-group-news-3 ((,class :inherit bold :foreground ,yellow-nuanced)))
+   `(gnus-group-news-3-empty ((,class :foreground ,yellow-nuanced)))
+   `(gnus-group-news-4 ((,class :inherit bold :foreground ,cyan-nuanced)))
+   `(gnus-group-news-4-empty ((,class :foreground ,cyan-nuanced)))
+   `(gnus-group-news-5 ((,class :inherit bold :foreground ,red-nuanced)))
+   `(gnus-group-news-5-empty ((,class :foreground ,red-nuanced)))
+   `(gnus-group-news-6 ((,class :inherit bold :foreground ,fg-alt)))
+   `(gnus-group-news-6-empty ((,class :foreground ,fg-alt)))
+   `(gnus-group-news-low ((,class :inherit bold :foreground ,green-nuanced)))
+   `(gnus-group-news-low-empty ((,class :foreground ,green-nuanced)))
    `(gnus-header-content ((,class :foreground ,fg-special-calm)))
-   `(gnus-header-from ((,class :foreground ,cyan-alt :weight bold :underline 
nil)))
+   `(gnus-header-from ((,class :inherit bold :foreground ,cyan-alt :underline 
nil)))
    `(gnus-header-name ((,class :foreground ,cyan-alt-other)))
-   `(gnus-header-newsgroups ((,class :foreground ,blue-alt :weight bold)))
-   `(gnus-header-subject ((,class :foreground ,magenta-alt-other :weight 
bold)))
-   `(gnus-server-agent ((,class :foreground ,cyan :weight bold)))
-   `(gnus-server-closed ((,class :foreground ,magenta :weight bold)))
-   `(gnus-server-cloud ((,class :foreground ,cyan-alt :weight bold)))
+   `(gnus-header-newsgroups ((,class :inherit bold :foreground ,blue-alt)))
+   `(gnus-header-subject ((,class :inherit bold :foreground 
,magenta-alt-other)))
+   `(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-denied ((,class :foreground ,red :weight bold)))
-   `(gnus-server-offline ((,class :foreground ,yellow :weight bold)))
-   `(gnus-server-opened ((,class :foreground ,green :weight bold)))
+   `(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 :foreground ,fg-special-cold :slant italic)))
    `(gnus-splash ((,class :foreground ,fg-alt)))
    `(gnus-summary-cancelled ((,class :inherit modus-theme-mark-alt)))
-   `(gnus-summary-high-ancient ((,class :foreground ,fg-alt :weight bold)))
-   `(gnus-summary-high-read ((,class :foreground ,fg-special-cold :weight 
bold)))
-   `(gnus-summary-high-ticked ((,class :foreground ,red-alt-other :weight 
bold)))
-   `(gnus-summary-high-undownloaded ((,class :foreground ,yellow :weight 
bold)))
-   `(gnus-summary-high-unread ((,class :foreground ,fg-main :weight bold)))
+   `(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)))
+   `(gnus-summary-high-undownloaded ((,class :inherit bold :foreground 
,yellow)))
+   `(gnus-summary-high-unread ((,class :inherit bold :foreground ,fg-main)))
    `(gnus-summary-low-ancient ((,class :foreground ,fg-alt :slant italic)))
    `(gnus-summary-low-read ((,class :foreground ,fg-special-cold :slant 
italic)))
    `(gnus-summary-low-ticked ((,class :foreground ,red-refine-fg :slant 
italic)))
    `(gnus-summary-low-undownloaded ((,class :foreground ,yellow-refine-fg 
:slant italic)))
-   `(gnus-summary-low-unread ((,class :foreground ,fg-special-cold :weight 
bold)))
+   `(gnus-summary-low-unread ((,class :inherit bold :foreground 
,fg-special-cold)))
    `(gnus-summary-normal-ancient ((,class :foreground ,fg-special-calm)))
    `(gnus-summary-normal-read ((,class :foreground ,fg-special-cold)))
    `(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)))
-   ;;;; golden-ratio-scroll-screen
+;;;;; golden-ratio-scroll-screen
    `(golden-ratio-scroll-highlight-line-face ((,class :background 
,cyan-subtle-bg :foreground ,fg-main)))
-   ;;;; helm
-   `(helm-M-x-key ((,class :foreground ,magenta-alt-other :weight bold)))
+;;;;; helm
+   `(helm-M-x-key ((,class :inherit bold :foreground ,magenta-alt-other)))
    `(helm-action ((,class :underline t)))
    `(helm-bookmark-addressbook ((,class :foreground ,green-alt)))
-   `(helm-bookmark-directory ((,class :foreground ,blue :weight bold)))
+   `(helm-bookmark-directory ((,class :inherit bold :foreground ,blue)))
    `(helm-bookmark-file ((,class :foreground ,fg-main)))
    `(helm-bookmark-file-not-found ((,class :background ,bg-alt :foreground 
,fg-alt)))
    `(helm-bookmark-gnus ((,class :foreground ,magenta)))
    `(helm-bookmark-info ((,class :foreground ,cyan-alt)))
    `(helm-bookmark-man ((,class :foreground ,yellow-alt)))
    `(helm-bookmark-w3m ((,class :foreground ,blue-alt)))
-   `(helm-buffer-archive ((,class :foreground ,cyan :weight bold)))
-   `(helm-buffer-directory ((,class :foreground ,blue :weight bold)))
+   `(helm-buffer-archive ((,class :inherit bold :foreground ,cyan)))
+   `(helm-buffer-directory ((,class :inherit bold :foreground ,blue)))
    `(helm-buffer-file ((,class :foreground ,fg-main)))
    `(helm-buffer-modified ((,class :foreground ,yellow-alt)))
    `(helm-buffer-not-saved ((,class :foreground ,red-alt)))
    `(helm-buffer-process ((,class :foreground ,magenta)))
-   `(helm-buffer-saved-out ((,class :background ,bg-alt :foreground ,red 
:weight bold)))
+   `(helm-buffer-saved-out ((,class :inherit bold :background ,bg-alt 
:foreground ,red)))
    `(helm-buffer-size ((,class :foreground ,fg-alt)))
    `(helm-candidate-number ((,class :foreground ,cyan-active)))
    `(helm-candidate-number-suspended ((,class :foreground ,yellow-active)))
    `(helm-comint-prompts-buffer-name ((,class :foreground ,green-active)))
    `(helm-comint-prompts-promptidx ((,class :foreground ,cyan-active)))
-   `(helm-delete-async-message ((,class :foreground ,magenta-active :weight 
bold)))
+   `(helm-delete-async-message ((,class :inherit bold :foreground 
,magenta-active)))
    `(helm-eob-line ((,class :background ,bg-main :foreground ,fg-main)))
    `(helm-eshell-prompts-buffer-name ((,class :foreground ,green-active)))
    `(helm-eshell-prompts-promptidx ((,class :foreground ,cyan-active)))
    `(helm-etags-file ((,class :foreground ,fg-dim :underline t)))
+   `(helm-ff-backup-file ((,class :foreground ,fg-alt)))
    `(helm-ff-denied ((,class :inherit modus-theme-intense-red)))
    `(helm-ff-directory ((,class :inherit helm-buffer-directory)))
-   `(helm-ff-dirs ((,class :foreground ,blue-alt-other :weight bold)))
-   `(helm-ff-dotted-directory ((,class :background ,bg-alt :foreground ,fg-alt 
:weight bold)))
+   `(helm-ff-dirs ((,class :inherit bold :foreground ,blue-alt-other)))
+   `(helm-ff-dotted-directory ((,class :inherit bold :background ,bg-alt 
:foreground ,fg-alt)))
    `(helm-ff-dotted-symlink-directory ((,class :inherit 
helm-ff-dotted-directory :underline t)))
    `(helm-ff-executable ((,class :foreground ,magenta-alt)))
    `(helm-ff-file ((,class :foreground ,fg-main)))
+   `(helm-ff-file-extension ((,class :foreground ,fg-special-warm)))
    `(helm-ff-invalid-symlink ((,class :foreground ,red :underline t)))
    `(helm-ff-pipe ((,class :inherit modus-theme-subtle-magenta)))
    `(helm-ff-prefix ((,class :inherit modus-theme-subtle-yellow)))
@@ -1940,57 +2191,54 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(helm-ff-symlink ((,class :foreground ,cyan :underline t)))
    `(helm-ff-truename ((,class :foreground ,blue-alt-other)))
    `(helm-grep-cmd-line ((,class :foreground ,yellow-alt-other)))
-   `(helm-grep-file ((,class :foreground ,fg-special-cold :weight bold)))
+   `(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-header ((,class :foreground ,fg-special-cold :weight bold)))
-   `(helm-header-line-left-margin ((,class :foreground ,yellow-intense :weight 
bold)))
-   `(helm-history-deleted ((,class :inherit modus-theme-intense-red :weight 
bold)))
+   `(helm-header ((,class :inherit bold :foreground ,fg-special-cold)))
+   `(helm-header-line-left-margin ((,class :inherit bold :foreground 
,yellow-intense)))
+   `(helm-history-deleted ((,class :inherit (modus-theme-intense-red bold))))
    `(helm-history-remote ((,class :foreground ,red-alt-other)))
    `(helm-lisp-completion-info ((,class :foreground ,fg-special-warm)))
    `(helm-lisp-show-completion ((,class :inherit modus-theme-refine-yellow)))
    `(helm-locate-finish ((,class :foreground ,green-active)))
-   `(helm-match ((,class :inherit modus-theme-refine-cyan :weight bold)))
+   `(helm-match ((,class :inherit (modus-theme-refine-cyan bold))))
    `(helm-match-item ((,class :inherit modus-theme-subtle-cyan)))
    `(helm-minibuffer-prompt ((,class :inherit minibuffer-prompt)))
    `(helm-moccur-buffer ((,class :foreground ,cyan-alt-other :underline t)))
    `(helm-mode-prefix ((,class :inherit modus-theme-intense-magenta)))
    `(helm-non-file-buffer ((,class :foreground ,fg-alt)))
    `(helm-prefarg ((,class :foreground ,red-active)))
-   `(helm-resume-need-update ((,class ,@(and (>= emacs-major-version 27) 
'(:extend t))
-                                      :inherit modus-theme-refine-magenta)))
-   `(helm-selection ((,class ,@(and (>= emacs-major-version 27) '(:extend t))
-                             :inherit modus-theme-refine-blue :weight bold)))
-   `(helm-selection-line ((,class ,@(and (>= emacs-major-version 27) '(:extend 
t))
-                                  :inherit modus-theme-special-cold)))
+   `(helm-resume-need-update ((,class :inherit modus-theme-refine-magenta)))
+   `(helm-selection ((,class :inherit (modus-theme-refine-blue bold))))
+   `(helm-selection-line ((,class :inherit modus-theme-special-cold)))
    `(helm-separator ((,class :foreground ,fg-special-mild)))
    `(helm-time-zone-current ((,class :foreground ,green)))
    `(helm-time-zone-home ((,class :foreground ,magenta)))
-   `(helm-source-header ((,class :foreground ,red-alt :weight bold
+   `(helm-source-header ((,class :inherit bold :foreground ,red-alt
                                  ,@(modus-vivendi-theme-scale 
modus-vivendi-theme-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-ls-git
+;;;;; helm-ls-git
    `(helm-ls-git-added-copied-face ((,class :foreground ,green-intense)))
    `(helm-ls-git-added-modified-face ((,class :foreground ,yellow-intense)))
-   `(helm-ls-git-conflict-face ((,class :foreground ,red-intense :weight 
bold)))
+   `(helm-ls-git-conflict-face ((,class :inherit bold :foreground 
,red-intense)))
    `(helm-ls-git-deleted-and-staged-face ((,class :foreground ,red-nuanced)))
    `(helm-ls-git-deleted-not-staged-face ((,class :foreground ,red)))
    `(helm-ls-git-modified-and-staged-face ((,class :foreground 
,yellow-nuanced)))
    `(helm-ls-git-modified-not-staged-face ((,class :foreground ,yellow)))
    `(helm-ls-git-renamed-modified-face ((,class :foreground ,magenta)))
    `(helm-ls-git-untracked-face ((,class :foreground ,fg-special-cold)))
-   ;;;; helm-switch-shell
-   `(helm-switch-shell-new-shell-face ((,class :inherit 
modus-theme-refine-magenta :weight bold)))
-   ;;;; helm-xref
-   `(helm-xref-file-name ((,class :foreground ,fg-special-cold :weight bold)))
+;;;;; helm-switch-shell
+   `(helm-switch-shell-new-shell-face ((,class :inherit 
(modus-theme-refine-magenta 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-variable-pitch 
:foreground ,fg-main :weight bold
+;;;;; helpful
+   `(helpful-heading  ((,class :inherit (bold ,modus-theme-variable-pitch) 
:foreground ,fg-main
                                ,@(modus-vivendi-theme-scale 
modus-vivendi-theme-scale-4))))
-   ;;;; highlight region or ad-hoc regexp
+;;;;; highlight region or ad-hoc regexp
    `(hi-black-b ((,class :background ,fg-main :foreground ,bg-main)))
    `(hi-blue ((,class :background ,bg-alt :foreground ,blue :underline t)))
    `(hi-blue-b ((,class :inherit modus-theme-intense-blue)))
@@ -2002,10 +2250,10 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(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 :background ,bg-hl-line)))
+   `(hl-line ((,class :inherit modus-theme-hl-line)))
    `(region ((,class :background ,bg-region :foreground ,fg-main)))
-   `(secondary-selection ((,class :background ,bg-inactive :foreground 
,fg-inactive)))
-   ;;;; highlight-blocks
+   `(secondary-selection ((,class :inherit modus-theme-special-cold)))
+;;;;; 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)))
    `(highlight-blocks-depth-3-face ((,class :background ,bg-special-cold 
:foreground ,fg-main)))
@@ -2015,36 +2263,40 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(highlight-blocks-depth-7-face ((,class :background ,bg-inactive 
:foreground ,fg-main)))
    `(highlight-blocks-depth-8-face ((,class :background ,bg-active :foreground 
,fg-main)))
    `(highlight-blocks-depth-9-face ((,class :background ,cyan-subtle-bg 
:foreground ,fg-main)))
-   ;;;; highlight-defined
+;;;;; highlight-defined
    `(highlight-defined-builtin-function-name-face ((,class :foreground 
,magenta)))
    `(highlight-defined-face-name-face ((,class :foreground ,fg-main)))
    `(highlight-defined-function-name-face ((,class :foreground ,magenta)))
    `(highlight-defined-macro-name-face ((,class :foreground ,magenta-alt)))
    `(highlight-defined-special-form-name-face ((,class :foreground 
,magenta-alt-other)))
    `(highlight-defined-variable-name-face ((,class :foreground ,cyan)))
-   ;;;; highlight-escape-sequences (`hes-mode')
-   `(hes-escape-backslash-face ((,class :foreground ,fg-escape-char-construct 
:weight bold)))
-   `(hes-escape-sequence-face ((,class :foreground ,fg-escape-char-backslash 
:weight bold)))
-   ;;;; highlight-indentation
-   `(highlight-indentation-face ((,class :background ,bg-hl-line)))
+;;;;; 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-current-column-face ((,class :background 
,bg-active)))
-   ;;;; highlight-numbers
+;;;;; highlight-numbers
    `(highlight-numbers-number ((,class :foreground ,blue-alt-other)))
-   ;;;; highlight-symbol
+;;;;; highlight-symbol
    `(highlight-symbol-face ((,class :inherit modus-theme-special-mild)))
-   ;;;; highlight-thing
+;;;;; highlight-thing
    `(highlight-thing ((,class :background ,bg-alt :foreground ,cyan)))
-   ;;;; hl-fill-column
+;;;;; hl-defined
+   `(hdefd-functions ((,class :foreground ,blue)))
+   `(hdefd-undefined ((,class :foreground ,red-alt)))
+   `(hdefd-variables ((,class :foreground ,cyan-alt)))
+;;;;; hl-fill-column
    `(hl-fill-column-face ((,class :background ,bg-active :foreground 
,fg-active)))
-   ;;;; hl-todo
-   `(hl-todo ((,class :foreground ,red-alt-other :weight bold)))
-   ;;;; hydra
-   `(hydra-face-amaranth ((,class :foreground ,yellow :weight bold)))
-   `(hydra-face-blue ((,class :foreground ,blue-alt :weight bold)))
-   `(hydra-face-pink ((,class :foreground ,magenta-alt :weight bold)))
-   `(hydra-face-red ((,class :foreground ,red :weight bold)))
-   `(hydra-face-teal ((,class :foreground ,cyan :weight bold)))
-   ;;;; hyperlist
+;;;;; hl-todo
+   `(hl-todo ((,class :inherit bold :foreground ,red-alt-other)))
+;;;;; hydra
+   `(hydra-face-amaranth ((,class :inherit bold :foreground ,yellow)))
+   `(hydra-face-blue ((,class :inherit bold :foreground ,blue-alt)))
+   `(hydra-face-pink ((,class :inherit bold :foreground ,magenta-alt)))
+   `(hydra-face-red ((,class :inherit bold :foreground ,red)))
+   `(hydra-face-teal ((,class :inherit bold :foreground ,cyan)))
+;;;;; hyperlist
    `(hyperlist-condition ((,class :foreground ,green)))
    `(hyperlist-hashtag ((,class :foreground ,yellow)))
    `(hyperlist-operator ((,class :foreground ,blue-alt)))
@@ -2053,84 +2305,84 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(hyperlist-ref ((,class :foreground ,magenta-alt-other)))
    `(hyperlist-stars ((,class :foreground ,fg-alt)))
    `(hyperlist-tag ((,class :foreground ,red)))
-   `(hyperlist-toplevel ((,class :foreground ,fg-main :weight bold)))
-   ;;;; icomplete
-   `(icomplete-first-match ((,class ,@(modus-vivendi-theme-completions
-                                       magenta magenta-intense-bg fg-main)
-                                    :weight bold)))
-   ;;;; icomplete-vertical
+   `(hyperlist-toplevel ((,class :inherit bold :foreground ,fg-main)))
+;;;;; icomplete
+   `(icomplete-first-match ((,class :inherit bold
+                                    ,@(modus-vivendi-theme-completions
+                                       magenta magenta-intense-bg fg-main))))
+;;;;; icomplete-vertical
    `(icomplete-vertical-separator ((,class :foreground ,fg-alt)))
-   ;;;; ido-mode
-   `(ido-first-match ((,class ,@(modus-vivendi-theme-completions
-                                 magenta magenta-subtle-bg fg-main)
-                              :weight bold)))
+;;;;; ido-mode
+   `(ido-first-match ((,class :inherit bold
+                              ,@(modus-vivendi-theme-completions
+                                 magenta magenta-subtle-bg fg-main))))
    `(ido-incomplete-regexp ((,class :inherit error)))
    `(ido-indicator ((,class :inherit modus-theme-subtle-yellow)))
-   `(ido-only-match ((,class ,@(modus-vivendi-theme-completions
-                                magenta-intense magenta-intense-bg fg-main)
-                             :weight bold)))
+   `(ido-only-match ((,class :inherit bold
+                             ,@(modus-vivendi-theme-completions
+                                magenta-intense magenta-intense-bg fg-main))))
    `(ido-subdir ((,class :foreground ,blue-alt-other)))
    `(ido-virtual ((,class :foreground ,yellow-alt-other)))
-   ;;;; iedit
+;;;;; iedit
    `(iedit-occurrence ((,class :inherit modus-theme-refine-blue)))
    `(iedit-read-only-occurrence ((,class :inherit modus-theme-intense-yellow)))
-   ;;;; iflipb
-   `(iflipb-current-buffer-face ((,class :foreground ,cyan-alt :weight bold)))
+;;;;; iflipb
+   `(iflipb-current-buffer-face ((,class :inherit bold :foreground ,cyan-alt)))
    `(iflipb-other-buffer-face ((,class :foreground ,fg-alt)))
-   ;;;; imenu-list
+;;;;; imenu-list
    `(imenu-list-entry-face-0 ((,class :foreground ,cyan)))
    `(imenu-list-entry-face-1 ((,class :foreground ,blue)))
    `(imenu-list-entry-face-2 ((,class :foreground ,cyan-alt-other)))
    `(imenu-list-entry-face-3 ((,class :foreground ,blue-alt)))
-   `(imenu-list-entry-subalist-face-0 ((,class :foreground ,magenta-alt-other 
:weight bold :underline t)))
-   `(imenu-list-entry-subalist-face-1 ((,class :foreground ,magenta :weight 
bold :underline t)))
-   `(imenu-list-entry-subalist-face-2 ((,class :foreground ,green-alt-other 
:weight bold :underline t)))
-   `(imenu-list-entry-subalist-face-3 ((,class :foreground ,red-alt-other 
:weight bold :underline t)))
-   ;;;; indium
+   `(imenu-list-entry-subalist-face-0 ((,class :inherit bold :foreground 
,magenta-alt-other :underline t)))
+   `(imenu-list-entry-subalist-face-1 ((,class :inherit bold :foreground 
,magenta :underline t)))
+   `(imenu-list-entry-subalist-face-2 ((,class :inherit bold :foreground 
,green-alt-other :underline t)))
+   `(imenu-list-entry-subalist-face-3 ((,class :inherit bold :foreground 
,red-alt-other :underline t)))
+;;;;; indium
    `(indium-breakpoint-face ((,class :foreground ,red-active)))
    `(indium-frame-url-face ((,class :foreground ,fg-alt :underline t)))
    `(indium-keyword-face ((,class :foreground ,magenta-alt-other)))
    `(indium-litable-face ((,class :foreground ,fg-special-warm :slant 
,modus-theme-slant)))
-   `(indium-repl-error-face ((,class :foreground ,red :weight bold)))
+   `(indium-repl-error-face ((,class :inherit bold :foreground ,red)))
    `(indium-repl-prompt-face ((,class :foreground ,cyan-alt-other)))
    `(indium-repl-stdout-face ((,class :foreground ,fg-main)))
-   ;;;; info
+;;;;; info
    `(Info-quoted ((,class :foreground ,magenta))) ; the capitalisation is 
canonical
-   `(info-header-node ((,class :foreground ,fg-alt :weight bold)))
+   `(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-variable-pitch 
:foreground ,fg-main :weight bold
+   `(info-menu-header ((,class :inherit (bold ,modus-theme-variable-pitch) 
:foreground ,fg-main
                                ,@(modus-vivendi-theme-scale 
modus-vivendi-theme-scale-2))))
    `(info-menu-star ((,class :foreground ,fg-main)))
-   `(info-node ((,class :weight bold)))
-   `(info-title-1 ((,class :inherit ,modus-theme-variable-pitch :foreground 
,fg-main :weight bold
+   `(info-node ((,class :inherit bold)))
+   `(info-title-1 ((,class :inherit (bold ,modus-theme-variable-pitch) 
:foreground ,fg-main
                            ,@(modus-vivendi-theme-scale 
modus-vivendi-theme-scale-4))))
-   `(info-title-2 ((,class :inherit ,modus-theme-variable-pitch :foreground 
,fg-special-warm :weight bold
+   `(info-title-2 ((,class :inherit (bold ,modus-theme-variable-pitch) 
:foreground ,fg-special-warm
                            ,@(modus-vivendi-theme-scale 
modus-vivendi-theme-scale-3))))
-   `(info-title-3 ((,class :inherit ,modus-theme-variable-pitch :foreground 
,fg-special-cold :weight bold
+   `(info-title-3 ((,class :inherit (bold ,modus-theme-variable-pitch) 
:foreground ,fg-special-cold
                            ,@(modus-vivendi-theme-scale 
modus-vivendi-theme-scale-2))))
-   `(info-title-4 ((,class :inherit ,modus-theme-variable-pitch :foreground 
,fg-special-mild :weight bold
+   `(info-title-4 ((,class :inherit (bold ,modus-theme-variable-pitch) 
:foreground ,fg-special-mild
                            ,@(modus-vivendi-theme-scale 
modus-vivendi-theme-scale-1))))
-   ;;;; info-colors
+;;;;; info-colors
    `(info-colors-lisp-code-block ((,class :inherit fixed-pitch)))
    `(info-colors-ref-item-command ((,class :foreground ,magenta)))
    `(info-colors-ref-item-constant ((,class :foreground ,blue-alt-other)))
    `(info-colors-ref-item-function ((,class :foreground ,magenta)))
-   `(info-colors-ref-item-macro ((,class :foreground ,magenta-alt-other 
:weight ,modus-theme-bold)))
+   `(info-colors-ref-item-macro ((,class ,@(modus-vivendi-theme-bold-weight) 
:foreground ,magenta-alt-other)))
    `(info-colors-ref-item-other ((,class :foreground ,cyan)))
-   `(info-colors-ref-item-special-form ((,class :foreground ,magenta-alt-other 
:weight ,modus-theme-bold)))
+   `(info-colors-ref-item-special-form ((,class 
,@(modus-vivendi-theme-bold-weight) :foreground ,magenta-alt-other)))
    `(info-colors-ref-item-syntax-class ((,class :foreground ,magenta)))
    `(info-colors-ref-item-type ((,class :foreground ,magenta-alt)))
    `(info-colors-ref-item-user-option ((,class :foreground ,cyan)))
    `(info-colors-ref-item-variable ((,class :foreground ,cyan)))
-   ;;;; interaction-log
+;;;;; interaction-log
    `(ilog-buffer-face ((,class :foreground ,magenta-alt-other)))
    `(ilog-change-face ((,class :foreground ,magenta-alt)))
    `(ilog-echo-face ((,class :foreground ,yellow-alt-other)))
    `(ilog-load-face ((,class :foreground ,green)))
    `(ilog-message-face ((,class :foreground ,fg-alt)))
    `(ilog-non-change-face ((,class :foreground ,blue)))
-   ;;;; ioccur
+;;;;; ioccur
    `(ioccur-cursor ((,class :foreground ,fg-main)))
    `(ioccur-invalid-regexp ((,class :foreground ,red)))
    `(ioccur-match-face ((,class :inherit modus-theme-special-calm)))
@@ -2139,31 +2391,31 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(ioccur-num-line-face ((,class :foreground ,fg-special-warm)))
    `(ioccur-overlay-face ((,class ,@(and (>= emacs-major-version 27) '(:extend 
t))
                                   :inherit modus-theme-refine-blue)))
-   `(ioccur-regexp-face ((,class :inherit modus-theme-intense-magenta :weight 
bold)))
-   `(ioccur-title-face ((,class :foreground ,red-alt :weight bold
+   `(ioccur-regexp-face ((,class :inherit (modus-theme-intense-magenta bold))))
+   `(ioccur-title-face ((,class :inherit bold :foreground ,red-alt
                                 ,@(modus-vivendi-theme-scale 
modus-vivendi-theme-scale-4))))
-   ;;;; isearch, occur, and the like
-   `(isearch ((,class :inherit modus-theme-intense-green :weight bold)))
+;;;;; isearch, occur, and the like
+   `(isearch ((,class :inherit (modus-theme-intense-green bold))))
    `(isearch-fail ((,class :inherit modus-theme-refine-red)))
    `(lazy-highlight ((,class :inherit modus-theme-refine-cyan)))
    `(match ((,class :inherit modus-theme-special-calm)))
-   `(query-replace ((,class :inherit modus-theme-intense-yellow :weight bold)))
-   ;;;; ivy
-   `(ivy-action ((,class :foreground ,red-alt :weight bold)))
+   `(query-replace ((,class :inherit (modus-theme-intense-yellow bold))))
+;;;;; ivy
+   `(ivy-action ((,class :inherit bold :foreground ,red-alt)))
    `(ivy-completions-annotations ((,class :foreground ,fg-special-cold :slant 
,modus-theme-slant)))
    `(ivy-confirm-face ((,class :foreground ,cyan)))
    `(ivy-current-match ((,class ,@(and (>= emacs-major-version 27) '(:extend 
t))
-                                :inherit modus-theme-intense-cyan :weight 
bold)))
+                                :inherit (modus-theme-intense-cyan bold))))
    `(ivy-cursor ((,class :background ,fg-main :foreground ,bg-main)))
    `(ivy-grep-info ((,class :foreground ,cyan-alt)))
    `(ivy-grep-line-number ((,class :foreground ,fg-special-warm)))
    `(ivy-highlight-face ((,class :foreground ,magenta)))
    `(ivy-match-required-face ((,class :inherit error)))
    `(ivy-minibuffer-match-face-1 ((,class :inherit 
modus-theme-intense-neutral)))
-   `(ivy-minibuffer-match-face-2 ((,class :inherit modus-theme-refine-green 
:weight bold)))
-   `(ivy-minibuffer-match-face-3 ((,class :inherit modus-theme-refine-cyan 
:weight bold)))
-   `(ivy-minibuffer-match-face-4 ((,class :inherit modus-theme-refine-magenta 
:weight bold)))
-   `(ivy-minibuffer-match-highlight ((,class :inherit modus-theme-subtle-blue 
:weight bold)))
+   `(ivy-minibuffer-match-face-2 ((,class :inherit (modus-theme-refine-green 
bold))))
+   `(ivy-minibuffer-match-face-3 ((,class :inherit (modus-theme-refine-cyan 
bold))))
+   `(ivy-minibuffer-match-face-4 ((,class :inherit (modus-theme-refine-magenta 
bold))))
+   `(ivy-minibuffer-match-highlight ((,class :inherit (modus-theme-subtle-blue 
bold))))
    `(ivy-modified-buffer ((,class :foreground ,yellow :slant 
,modus-theme-slant)))
    `(ivy-modified-outside-buffer ((,class :foreground ,yellow-alt :slant 
,modus-theme-slant)))
    `(ivy-org ((,class :foreground ,cyan-alt-other)))
@@ -2173,28 +2425,28 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(ivy-subdir ((,class :foreground ,blue-alt-other)))
    `(ivy-virtual ((,class :foreground ,magenta-alt-other)))
    `(ivy-yanked-word ((,class :inherit modus-theme-refine-blue)))
-   ;;;; ivy-posframe
+;;;;; ivy-posframe
    `(ivy-posframe ((,class :background ,bg-dim :foreground ,fg-main)))
    `(ivy-posframe-border ((,class :background ,bg-active)))
    `(ivy-posframe-cursor ((,class :background ,fg-main :foreground ,bg-main)))
-   ;;;; jira (org-jira)
+;;;;; jira (org-jira)
    `(jiralib-comment-face ((,class :background ,bg-alt)))
-   `(jiralib-comment-header-face ((,class :weight bold)))
+   `(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 
:weight bold)))
-   `(jiralib-issue-summary-face ((,class :weight bold)))
+   `(jiralib-issue-info-header-face ((,class :inherit 
(modus-theme-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 :foreground ,red :weight bold)))
-   `(journalctl-finished-face ((,class :foreground ,green :weight bold)))
+;;;;; journalctl-mode
+   `(journalctl-error-face ((,class :inherit bold :foreground ,red)))
+   `(journalctl-finished-face ((,class :inherit bold :foreground ,green)))
    `(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 :foreground ,yellow :weight bold)))
-   ;;;; js2-mode
+   `(journalctl-warning-face ((,class :inherit bold :foreground ,yellow)))
+;;;;; js2-mode
    `(js2-error ((,class :foreground ,red)))
    `(js2-external-variable ((,class :foreground ,cyan-alt-other)))
    `(js2-function-call ((,class :foreground ,magenta)))
@@ -2210,31 +2462,31 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(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)))
-   ;;;; julia
-   `(julia-macro-face ((,class :foreground ,magenta :weight 
,modus-theme-bold)))
+;;;;; julia
+   `(julia-macro-face ((,class ,@(modus-vivendi-theme-bold-weight) :foreground 
,magenta)))
    `(julia-quoted-symbol-face ((,class :foreground ,blue-alt-other)))
-   ;;;; jupyter
-   `(jupyter-eval-overlay ((,class :foreground ,blue :weight bold)))
+;;;;; 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)))
-   ;;;; kaocha-runner
+;;;;; 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 :foreground ,blue-active :weight bold)))
-   `(keycast-key ((,class :box ,(modus-vivendi-theme-modeline-box blue-intense 
blue-active t -3)
+;;;;; keycast
+   `(keycast-command ((,class :inherit bold :foreground ,blue-active)))
+   `(keycast-key ((,class :box ,(modus-vivendi-theme-modeline-box blue-alt 
blue-active t -3)
                           ,@(modus-vivendi-theme-modeline-props
                              blue-active bg-main
                              blue-active bg-active))))
-   ;;;; line numbers (display-line-numbers-mode and global variant)
+;;;;; line numbers (display-line-numbers-mode and global variant)
    `(line-number ((,class :background ,bg-dim :foreground ,fg-alt)))
-   `(line-number-current-line ((,class :background ,bg-active :foreground 
,fg-active :weight bold)))
-   ;;;; lsp-mode
+   `(line-number-current-line ((,class :inherit bold :background ,bg-active 
:foreground ,fg-active)))
+;;;;; 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 
:weight bold)))
+   `(lsp-face-highlight-write ((,class :inherit (modus-theme-refine-blue 
bold))))
    `(lsp-face-semhl-constant ((,class :foreground ,blue-alt-other)))
    `(lsp-face-semhl-deprecated
      ((,(append '((supports :underline (:style wave))) class)
@@ -2245,8 +2497,8 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(lsp-face-semhl-field-static ((,class :foreground ,cyan-alt :slant 
,modus-theme-slant)))
    `(lsp-face-semhl-function ((,class :foreground ,magenta)))
    `(lsp-face-semhl-method ((,class :foreground ,magenta)))
-   `(lsp-face-semhl-namespace ((,class :foreground ,magenta-alt :weight 
,modus-theme-bold)))
-   `(lsp-face-semhl-preprocessor ((,class :foreground ,magenta)))
+   `(lsp-face-semhl-namespace ((,class ,@(modus-vivendi-theme-bold-weight) 
:foreground ,magenta-alt)))
+   `(lsp-face-semhl-preprocessor ((,class :foreground ,red-alt-other)))
    `(lsp-face-semhl-static-method ((,class :foreground ,magenta :slant 
,modus-theme-slant)))
    `(lsp-face-semhl-type-class ((,class :foreground ,magenta-alt)))
    `(lsp-face-semhl-type-enum ((,class :foreground ,magenta-alt)))
@@ -2270,18 +2522,18 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(lsp-ui-peek-peek ((,class :background ,bg-alt)))
    `(lsp-ui-peek-selection ((,class :inherit modus-theme-subtle-cyan)))
    `(lsp-ui-sideline-code-action ((,class :foreground ,yellow)))
-   `(lsp-ui-sideline-current-symbol ((,class :height 0.99 :box (:line-width -1 
:style nil) :foreground ,fg-main :weight bold)))
-   `(lsp-ui-sideline-symbol ((,class :height 0.99 :box (:line-width -1 :style 
nil) :foreground ,fg-alt :weight bold)))
+   `(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)))
    `(lsp-ui-sideline-symbol-info ((,class :height 0.99 :slant italic)))
-   ;;;; magit
+;;;;; magit
    `(magit-bisect-bad ((,class :foreground ,red-alt-other)))
    `(magit-bisect-good ((,class :foreground ,green-alt-other)))
    `(magit-bisect-skip ((,class :foreground ,yellow-alt-other)))
    `(magit-blame-date ((,class :foreground ,fg-dim)))
    `(magit-blame-dimmed ((,class :foreground ,fg-inactive)))
    `(magit-blame-hash ((,class :foreground ,fg-special-warm)))
-   `(magit-blame-heading ((,class :background ,bg-main :foreground 
,fg-special-cold :weight bold)))
-   `(magit-blame-highlight ((,class :inherit modus-theme-special-cold :weight 
bold)))
+   `(magit-blame-heading ((,class :inherit bold :background ,bg-main 
:foreground ,fg-special-cold)))
+   `(magit-blame-highlight ((,class :inherit (modus-theme-special-cold bold))))
    `(magit-blame-margin ((,class :inherit magit-blame-highlight)))
    `(magit-blame-name ((,class :foreground ,fg-main)))
    `(magit-blame-summary ((,class :foreground ,fg-main)))
@@ -2308,13 +2560,13 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(magit-diff-context-highlight ((,class ,@(modus-vivendi-theme-diffs
                                               bg-dim fg-dim
                                               bg-inactive fg-inactive))))
-   `(magit-diff-file-heading ((,class :foreground ,fg-special-cold :weight 
bold)))
-   `(magit-diff-file-heading-highlight ((,class :inherit 
modus-theme-special-cold :weight bold)))
+   `(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 :background ,bg-alt 
:foreground ,cyan)))
-   `(magit-diff-hunk-heading ((,class :background ,bg-active :foreground 
,fg-inactive :weight bold)))
-   `(magit-diff-hunk-heading-highlight ((,class :inherit 
modus-theme-diff-heading :weight bold)))
+   `(magit-diff-hunk-heading ((,class :inherit bold :background ,bg-active 
:foreground ,fg-inactive)))
+   `(magit-diff-hunk-heading-highlight ((,class :inherit 
(modus-theme-diff-heading bold))))
    `(magit-diff-hunk-heading-selection ((,class :inherit 
modus-theme-intense-cyan)))
-   `(magit-diff-hunk-region ((,class :weight bold)))
+   `(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-removed ((,class ,@(modus-vivendi-theme-diffs
@@ -2329,16 +2581,16 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(magit-filename ((,class :foreground ,fg-special-cold)))
    `(magit-hash ((,class :foreground ,fg-special-warm)))
    `(magit-head ((,class :inherit magit-branch-local)))
-   `(magit-header-line ((,class :foreground ,cyan-active :weight bold)))
-   `(magit-header-line-key ((,class :foreground ,red-active :weight bold)))
-   `(magit-header-line-log-select ((,class :foreground ,fg-main :weight bold)))
+   `(magit-header-line ((,class :inherit bold :foreground ,cyan-active)))
+   `(magit-header-line-key ((,class :inherit bold :foreground ,red-active)))
+   `(magit-header-line-log-select ((,class :inherit bold :foreground 
,fg-main)))
    `(magit-keyword ((,class :foreground ,magenta)))
-   `(magit-keyword-squash ((,class :foreground ,yellow-alt-other :weight 
bold)))
+   `(magit-keyword-squash ((,class :inherit bold :foreground 
,yellow-alt-other)))
    `(magit-log-author ((,class :foreground ,cyan)))
    `(magit-log-date ((,class :foreground ,magenta)))
    `(magit-log-graph ((,class :foreground ,fg-dim)))
-   `(magit-mode-line-process ((,class :foreground ,blue-active :weight bold)))
-   `(magit-mode-line-process-error ((,class :foreground ,red-active :weight 
bold)))
+   `(magit-mode-line-process ((,class :inherit bold :foreground ,blue-active)))
+   `(magit-mode-line-process-error ((,class :inherit bold :foreground 
,red-active)))
    `(magit-process-ng ((,class :inherit error)))
    `(magit-process-ok ((,class :inherit success)))
    `(magit-reflog-amend ((,class :background ,bg-main :foreground 
,magenta-intense)))
@@ -2355,8 +2607,8 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(magit-refname-stash ((,class :foreground ,fg-alt)))
    `(magit-refname-wip ((,class :foreground ,fg-alt)))
    `(magit-section ((,class :background ,bg-dim :foreground ,fg-main)))
-   `(magit-section-heading ((,class :foreground ,cyan-alt-other :weight bold)))
-   `(magit-section-heading-selection ((,class :inherit modus-theme-refine-cyan 
:weight bold)))
+   `(magit-section-heading ((,class :inherit bold :foreground 
,cyan-alt-other)))
+   `(magit-section-heading-selection ((,class :inherit 
(modus-theme-refine-cyan bold))))
    `(magit-section-highlight ((,class :background ,bg-alt)))
    `(magit-sequence-done ((,class :foreground ,green-alt)))
    `(magit-sequence-drop ((,class :foreground ,red-alt)))
@@ -2366,7 +2618,7 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(magit-sequence-part ((,class :foreground ,yellow-alt)))
    `(magit-sequence-pick ((,class :foreground ,blue-alt)))
    `(magit-sequence-stop ((,class :foreground ,red)))
-   `(magit-signature-bad ((,class :background ,bg-main :foreground 
,red-intense :weight bold)))
+   `(magit-signature-bad ((,class :inherit bold :background ,bg-main 
:foreground ,red-intense)))
    `(magit-signature-error ((,class :background ,bg-main :foreground 
,red-intense)))
    `(magit-signature-expired ((,class :background ,bg-main :foreground 
,yellow-intense)))
    `(magit-signature-expired-key ((,class :background ,bg-main :foreground 
,yellow-intense)))
@@ -2374,33 +2626,33 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(magit-signature-revoked ((,class :background ,bg-main :foreground 
,magenta-intense)))
    `(magit-signature-untrusted ((,class :background ,bg-main :foreground 
,cyan-intense)))
    `(magit-tag ((,class :foreground ,green-alt)))
-   ;;;; magit-imerge
-   `(magit-imerge-overriding-value ((,class :foreground ,red-alt :weight 
bold)))
-   ;;;; man
-   `(Man-overstrike ((,class :foreground ,magenta :weight bold)))
+;;;;; magit-imerge
+   `(magit-imerge-overriding-value ((,class :inherit bold :foreground 
,red-alt)))
+;;;;; man
+   `(Man-overstrike ((,class :inherit bold :foreground ,magenta)))
    `(Man-reverse ((,class :inherit modus-theme-subtle-magenta)))
    `(Man-underline ((,class :foreground ,cyan :underline t)))
-   ;;;; markdown-mode
-   `(markdown-blockquote-face ((,class :background ,bg-dim :foreground 
,fg-special-warm :slant ,modus-theme-slant)))
-   `(markdown-bold-face ((,class :weight bold)))
+;;;;; markdown-mode
+   `(markdown-blockquote-face ((,class :foreground ,fg-special-warm :slant 
,modus-theme-slant)))
+   `(markdown-bold-face ((,class :inherit bold)))
    `(markdown-code-face ((,class :inherit fixed-pitch)))
    `(markdown-comment-face ((,class :foreground ,fg-alt :slant 
,modus-theme-slant)))
-   `(markdown-footnote-marker-face ((,class :foreground ,cyan-alt :weight 
bold)))
+   `(markdown-footnote-marker-face ((,class :inherit bold :foreground 
,cyan-alt)))
    `(markdown-footnote-text-face ((,class :foreground ,fg-main :slant 
,modus-theme-slant)))
    `(markdown-gfm-checkbox-face ((,class :foreground ,cyan-alt-other)))
-   `(markdown-header-delimiter-face ((,class :foreground ,fg-dim :weight 
normal)))
-   `(markdown-header-face ((,class :weight bold)))
-   `(markdown-header-rule-face ((,class :foreground ,fg-special-warm :weight 
bold)))
-   `(markdown-hr-face ((,class :foreground ,fg-special-warm :weight bold)))
-   `(markdown-html-attr-name-face ((,class :foreground ,cyan)))
-   `(markdown-html-attr-value-face ((,class :foreground ,blue)))
-   `(markdown-html-entity-face ((,class :foreground ,cyan)))
-   `(markdown-html-tag-delimiter-face ((,class :foreground ,fg-special-mild)))
-   `(markdown-html-tag-name-face ((,class :foreground ,magenta-alt)))
-   `(markdown-inline-code-face ((,class :foreground ,magenta)))
+   `(markdown-header-delimiter-face ((,class 
,@(modus-vivendi-theme-bold-weight) :foreground ,fg-dim)))
+   `(markdown-header-face ((,class :inherit bold)))
+   `(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 :inherit fixed-pitch :foreground 
,cyan)))
+   `(markdown-html-attr-value-face ((,class :inherit fixed-pitch :foreground 
,blue)))
+   `(markdown-html-entity-face ((,class :inherit fixed-pitch :foreground 
,cyan)))
+   `(markdown-html-tag-delimiter-face ((,class :inherit fixed-pitch 
:foreground ,fg-special-mild)))
+   `(markdown-html-tag-name-face ((,class :inherit fixed-pitch :foreground 
,magenta-alt)))
+   `(markdown-inline-code-face ((,class :inherit fixed-pitch :foreground 
,magenta)))
    `(markdown-italic-face ((,class :slant italic)))
-   `(markdown-language-info-face ((,class :foreground ,fg-special-cold)))
-   `(markdown-language-keyword-face ((,class :foreground ,green-alt-other)))
+   `(markdown-language-info-face ((,class :inherit fixed-pitch :foreground 
,fg-special-cold)))
+   `(markdown-language-keyword-face ((,class :inherit fixed-pitch :foreground 
,green-alt-other)))
    `(markdown-line-break-face ((,class :inherit modus-theme-refine-cyan 
:underline t)))
    `(markdown-link-face ((,class :inherit link)))
    `(markdown-link-title-face ((,class :foreground ,fg-special-cold :slant 
,modus-theme-slant)))
@@ -2409,25 +2661,27 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(markdown-math-face ((,class :foreground ,magenta-alt-other)))
    `(markdown-metadata-key-face ((,class :foreground ,cyan-alt-other)))
    `(markdown-metadata-value-face ((,class :foreground ,blue-alt)))
-   `(markdown-missing-link-face ((,class :foreground ,yellow :weight bold)))
+   `(markdown-missing-link-face ((,class :inherit bold :foreground ,yellow)))
    `(markdown-plain-url-face ((,class :inherit markdown-link-face)))
-   `(markdown-pre-face ((,class :foreground ,fg-special-mild)))
+   `(markdown-pre-face ((,class ,@(and (>= emacs-major-version 27) '(:extend 
t))
+                                :inherit fixed-pitch :background ,bg-dim
+                                :foreground ,fg-special-mild)))
    `(markdown-reference-face ((,class :inherit markdown-markup-face)))
    `(markdown-strike-through-face ((,class :strike-through t)))
-   `(markdown-table-face ((,class :foreground ,fg-special-cold)))
+   `(markdown-table-face ((,class :inherit fixed-pitch :foreground 
,fg-special-cold)))
    `(markdown-url-face ((,class :foreground ,blue)))
-   ;;;; markup-faces (`adoc-mode')
+;;;;; markup-faces (`adoc-mode')
    `(markup-anchor-face ((,class :foreground ,fg-inactive)))
    `(markup-attribute-face ((,class :foreground ,fg-inactive :slant italic)))
    `(markup-big-face ((,class :height 1.3 :foreground ,blue-nuanced)))
-   `(markup-bold-face ((,class :foreground ,red-nuanced :weight bold)))
+   `(markup-bold-face ((,class :inherit bold :foreground ,red-nuanced)))
    `(markup-code-face ((,class :inherit fixed-pitch :foreground ,magenta)))
    `(markup-command-face ((,class :foreground ,fg-inactive)))
    `(markup-comment-face ((,class :foreground ,fg-alt :slant 
,modus-theme-slant)))
    `(markup-complex-replacement-face ((,class :box (:line-width 2 :color nil 
:style released-button)
                                               :inherit 
modus-theme-refine-magenta)))
    `(markup-emphasis-face ((,class :foreground ,fg-special-cold :slant 
italic)))
-   `(markup-error-face ((,class :foreground ,red :weight bold)))
+   `(markup-error-face ((,class :inherit bold :foreground ,red)))
    `(markup-gen-face ((,class :foreground ,magenta-alt)))
    `(markup-internal-reference-face ((,class :foreground ,fg-inactive 
:underline t)))
    `(markup-italic-face ((,class :foreground ,fg-special-cold :slant italic)))
@@ -2435,11 +2689,11 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(markup-meta-face ((,class :foreground ,fg-inactive)))
    `(markup-meta-hide-face ((,class :foreground ,fg-alt)))
    `(markup-passthrough-face ((,class :inherit fixed-pitch :foreground ,cyan)))
-   `(markup-preprocessor-face ((,class :foreground ,magenta)))
+   `(markup-preprocessor-face ((,class :foreground ,red-alt-other)))
    `(markup-replacement-face ((,class :foreground ,yellow-alt-other)))
    `(markup-secondary-text-face ((,class :height 0.8 :foreground 
,magenta-nuanced)))
    `(markup-small-face ((,class :height 0.8 :foreground ,fg-main)))
-   `(markup-strong-face ((,class :foreground ,red-nuanced :weight bold)))
+   `(markup-strong-face ((,class :inherit bold :foreground ,red-nuanced)))
    `(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)))
@@ -2453,7 +2707,7 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(markup-title-5-face ((,class :height 1.2 :foreground ,blue-nuanced 
:underline t)))
    `(markup-value-face ((,class :foreground ,fg-inactive)))
    `(markup-verbatim-face ((,class :inherit modus-theme-special-mild)))
-   ;;;; mentor
+;;;;; mentor
    `(mentor-download-message ((,class :foreground ,fg-special-warm)))
    `(mentor-download-name ((,class :foreground ,fg-special-cold)))
    `(mentor-download-progress ((,class :foreground ,blue-alt-other)))
@@ -2463,84 +2717,84 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(mentor-download-state ((,class :foreground ,yellow-alt)))
    `(mentor-highlight-face ((,class :inherit modus-theme-subtle-blue)))
    `(mentor-tracker-name ((,class :foreground ,magenta-alt)))
-   ;;;; messages
-   `(message-cited-text-1 ((,class :foreground ,cyan)))
-   `(message-cited-text-2 ((,class :foreground ,green)))
-   `(message-cited-text-3 ((,class :foreground ,yellow)))
-   `(message-cited-text-4 ((,class :foreground ,red)))
+;;;;; messages
+   `(message-cited-text-1 ((,class :foreground ,blue-alt)))
+   `(message-cited-text-2 ((,class :foreground ,red-alt)))
+   `(message-cited-text-3 ((,class :foreground ,green-alt)))
+   `(message-cited-text-4 ((,class :foreground ,magenta-alt)))
    `(message-header-cc ((,class :foreground ,blue-alt)))
    `(message-header-name ((,class :foreground ,green-alt-other)))
-   `(message-header-newsgroups ((,class :foreground ,blue :weight bold)))
-   `(message-header-other ((,class :foreground ,cyan-alt-other :weight bold)))
-   `(message-header-subject ((,class :foreground ,magenta-alt-other :weight 
bold)))
-   `(message-header-to ((,class :foreground ,magenta-alt :weight bold)))
+   `(message-header-newsgroups ((,class :inherit bold :foreground ,blue)))
+   `(message-header-other ((,class :inherit bold :foreground ,cyan-alt-other)))
+   `(message-header-subject ((,class :inherit bold :foreground 
,magenta-alt-other)))
+   `(message-header-to ((,class :inherit bold :foreground ,magenta-alt)))
    `(message-header-xheader ((,class :foreground ,blue-alt-other)))
    `(message-mml ((,class :foreground ,green-alt)))
    `(message-separator ((,class :background ,bg-active :foreground 
,fg-special-warm)))
-   ;;;; minibuffer-line
+;;;;; minibuffer-line
    `(minibuffer-line ((,class :foreground ,fg-main)))
-   ;;;; minimap
+;;;;; minimap
    `(minimap-active-region-background ((,class :background ,bg-active)))
    `(minimap-current-line-face ((,class :background ,cyan-intense-bg 
:foreground ,fg-main)))
-   ;;;; modeline
-   `(mode-line ((,class :box ,(modus-vivendi-theme-modeline-box bg-inactive 
fg-inactive t)
+;;;;; modeline
+   `(mode-line ((,class :box ,(modus-vivendi-theme-modeline-box bg-inactive 
mode-line-default-border t)
                         ,@(modus-vivendi-theme-modeline-props
                            bg-active fg-dim
                            bg-active fg-active))))
-   `(mode-line-buffer-id ((,class :weight bold)))
-   `(mode-line-emphasis ((,class :foreground ,blue-active :weight bold)))
+   `(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-inactive ((,class :box ,(modus-vivendi-theme-modeline-box 
bg-active bg-active)
                                  ,@(modus-vivendi-theme-modeline-props
                                     bg-dim fg-inactive
                                     bg-inactive fg-inactive))))
-   ;;;; mood-line
+;;;;; mood-line
    `(mood-line-modified ((,class :foreground ,magenta-active)))
-   `(mood-line-status-error ((,class :foreground ,red-active :weight bold)))
+   `(mood-line-status-error ((,class :inherit bold :foreground ,red-active)))
    `(mood-line-status-info ((,class :foreground ,cyan-active)))
    `(mood-line-status-neutral ((,class :foreground ,blue-active)))
    `(mood-line-status-success ((,class :foreground ,green-active)))
-   `(mood-line-status-warning ((,class :foreground ,yellow-active :weight 
bold)))
+   `(mood-line-status-warning ((,class :inherit bold :foreground 
,yellow-active)))
    `(mood-line-unimportant ((,class :foreground ,fg-inactive)))
-   ;;;; mu4e
-   `(mu4e-attach-number-face ((,class :foreground ,cyan-alt :weight bold)))
+;;;;; mu4e
+   `(mu4e-attach-number-face ((,class :inherit bold :foreground ,cyan-alt)))
    `(mu4e-cited-1-face ((,class :foreground ,blue-alt)))
    `(mu4e-cited-2-face ((,class :foreground ,red-alt)))
    `(mu4e-cited-3-face ((,class :foreground ,green-alt)))
    `(mu4e-cited-4-face ((,class :foreground ,magenta-alt)))
-   `(mu4e-cited-5-face ((,class :foreground ,cyan-alt)))
-   `(mu4e-cited-6-face ((,class :foreground ,blue-alt-other)))
-   `(mu4e-cited-7-face ((,class :foreground ,red-alt-other)))
+   `(mu4e-cited-5-face ((,class :foreground ,yellow-alt)))
+   `(mu4e-cited-6-face ((,class :foreground ,cyan-alt)))
+   `(mu4e-cited-7-face ((,class :foreground ,magenta)))
    `(mu4e-compose-header-face ((,class :foreground ,green-alt)))
-   `(mu4e-compose-separator-face ((,class :background ,bg-active :foreground 
,fg-main :box t)))
-   `(mu4e-contact-face ((,class :foreground ,cyan)))
+   `(mu4e-compose-separator-face ((,class :background ,bg-active :foreground 
,fg-special-warm)))
+   `(mu4e-contact-face ((,class :inherit bold :foreground ,cyan-alt-other)))
    `(mu4e-context-face ((,class :foreground ,blue-active)))
-   `(mu4e-draft-face ((,class :foreground ,magenta-refine-fg)))
-   `(mu4e-flagged-face ((,class :foreground ,red-alt-other)))
-   `(mu4e-footer-face ((,class :foreground ,fg-alt)))
+   `(mu4e-draft-face ((,class :foreground ,magenta)))
+   `(mu4e-flagged-face ((,class :foreground ,red-alt)))
+   `(mu4e-footer-face ((,class :foreground ,fg-special-cold :slant 
,modus-theme-slant)))
    `(mu4e-forwarded-face ((,class :foreground ,green-alt-other)))
-   `(mu4e-header-face ((,class :foreground ,fg-main)))
-   `(mu4e-header-highlight-face ((,class ,@(and (>= emacs-major-version 27) 
'(:extend t))
-                                         :background ,bg-hl-line)))
-   `(mu4e-header-key-face ((,class :foreground ,fg-dim :weight bold)))
-   `(mu4e-header-marks-face ((,class :foreground ,magenta-alt :weight bold)))
-   `(mu4e-header-title-face ((,class :foreground ,fg-special-warm)))
-   `(mu4e-header-value-face ((,class :foreground ,magenta-alt-other)))
-   `(mu4e-highlight-face ((,class :foreground ,blue-intense :weight bold)))
+   `(mu4e-header-face ((,class :foreground ,fg-dim)))
+   `(mu4e-header-highlight-face ((,class :inherit modus-theme-hl-line)))
+   `(mu4e-header-key-face ((,class :foreground ,cyan)))
+   `(mu4e-header-marks-face ((,class :inherit bold :foreground ,magenta-alt)))
+   `(mu4e-header-title-face ((,class :foreground ,fg-special-mild)))
+   `(mu4e-header-value-face ((,class :inherit bold :foreground 
,magenta-alt-other)))
+   `(mu4e-highlight-face ((,class :inherit bold :foreground ,blue-intense)))
    `(mu4e-link-face ((,class :inherit link)))
    `(mu4e-modeline-face ((,class :foreground ,magenta-active)))
-   `(mu4e-moved-face ((,class :foreground ,blue-refine-fg)))
-   `(mu4e-ok-face ((,class :foreground ,green-intense :weight bold)))
+   `(mu4e-moved-face ((,class :foreground ,yellow :slant ,modus-theme-slant)))
+   `(mu4e-ok-face ((,class :inherit bold :foreground ,green)))
    `(mu4e-region-code ((,class :inherit modus-theme-special-calm)))
-   `(mu4e-replied-face ((,class :foreground ,cyan-refine-fg)))
-   `(mu4e-special-header-value-face ((,class :foreground ,magenta :weight 
bold)))
-   `(mu4e-system-face ((,class :foreground ,fg-alt)))
+   `(mu4e-replied-face ((,class :foreground ,fg-alt)))
+   `(mu4e-special-header-value-face ((,class :inherit bold :foreground 
,blue-alt-other)))
+   `(mu4e-system-face ((,class :foreground ,fg-mark-del :slant 
,modus-theme-slant)))
    `(mu4e-title-face ((,class :foreground ,fg-main)))
-   `(mu4e-unread-face ((,class :foreground ,fg-main :weight bold)))
-   `(mu4e-url-number-face ((,class :foreground ,blue-alt-other :weight bold)))
-   `(mu4e-view-body-face ((,class :background ,bg-main :foreground ,fg-main)))
+   `(mu4e-trashed-face ((,class :foreground ,red)))
+   `(mu4e-unread-face ((,class :inherit bold :foreground ,fg-main)))
+   `(mu4e-url-number-face ((,class :inherit bold :foreground ,cyan-alt-other)))
+   `(mu4e-view-body-face ((,class :foreground ,fg-main)))
    `(mu4e-warning-face ((,class :inherit warning)))
-   ;;;; mu4e-conversation
+;;;;; mu4e-conversation
    `(mu4e-conversation-header ((,class :inherit modus-theme-special-cold)))
    `(mu4e-conversation-sender-1 ((,class :foreground ,fg-special-warm)))
    `(mu4e-conversation-sender-2 ((,class :foreground ,fg-special-cold)))
@@ -2551,21 +2805,21 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(mu4e-conversation-sender-7 ((,class :foreground ,green-refine-fg)))
    `(mu4e-conversation-sender-8 ((,class :foreground ,blue-refine-fg)))
    `(mu4e-conversation-sender-me ((,class :foreground ,fg-main)))
-   `(mu4e-conversation-unread ((,class :weight bold)))
-   ;;;; multiple-cursors
+   `(mu4e-conversation-unread ((,class :inherit bold)))
+;;;;; multiple-cursors
    `(mc/cursor-bar-face ((,class :height 1 :background ,fg-main)))
    `(mc/cursor-face ((,class :inverse-video t)))
    `(mc/region-face ((,class :inherit region)))
-   ;;;; neotree
+;;;;; neotree
    `(neo-banner-face ((,class :foreground ,magenta)))
    `(neo-button-face ((,class :inherit button)))
-   `(neo-dir-link-face ((,class :foreground ,blue :weight bold)))
+   `(neo-dir-link-face ((,class :inherit bold :foreground ,blue)))
    `(neo-expand-btn-face ((,class :foreground ,cyan)))
    `(neo-file-link-face ((,class :foreground ,fg-main)))
-   `(neo-header-face ((,class :foreground ,fg-main :weight bold)))
-   `(neo-root-dir-face ((,class :foreground ,cyan-alt :weight bold)))
+   `(neo-header-face ((,class :inherit bold :foreground ,fg-main)))
+   `(neo-root-dir-face ((,class :inherit bold :foreground ,cyan-alt)))
    `(neo-vc-added-face ((,class :foreground ,green)))
-   `(neo-vc-conflict-face ((,class :foreground ,red :Weight bold)))
+   `(neo-vc-conflict-face ((,class :inherit bold :foreground ,red)))
    `(neo-vc-default-face ((,class :foreground ,fg-main)))
    `(neo-vc-edited-face ((,class :foreground ,yellow)))
    `(neo-vc-ignored-face ((,class :foreground ,fg-inactive)))
@@ -2576,59 +2830,116 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(neo-vc-unlocked-changes-face ((,class :inherit modus-theme-refine-blue)))
    `(neo-vc-up-to-date-face ((,class :foreground ,fg-alt)))
    `(neo-vc-user-face ((,class :foreground ,magenta)))
-   ;;;; no-emoji
+;;;;; no-emoji
    `(no-emoji ((,class :foreground ,cyan)))
-   ;;;; num3-mode
-   `(num3-face-even ((,class :background ,bg-alt :weight bold)))
-   ;;;; nxml-mode
+;;;;; notmuch
+   `(notmuch-crypto-decryption ((,class :inherit modus-theme-refine-magenta)))
+   `(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-hello-logo-background ((,class :background ,bg-main)))
+   `(notmuch-message-summary-face ((,class :background ,bg-dim)))
+   `(notmuch-search-flagged-face ((,class :foreground ,red-alt)))
+   `(notmuch-search-matching-authors ((,class :foreground ,fg-main)))
+   `(notmuch-search-non-matching-authors ((,class :foreground ,fg-alt)))
+   `(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-face ((,class :inherit bold :foreground ,blue-alt)))
+   `(notmuch-tag-flagged ((,class :foreground ,red-alt)))
+   `(notmuch-tag-unread ((,class :foreground ,magenta-alt)))
+   `(notmuch-tree-match-author-face ((,class :foreground ,fg-special-cold)))
+   `(notmuch-tree-match-face ((,class :foreground ,fg-main)))
+   `(notmuch-tree-match-tag-face ((,class :inherit bold :foreground 
,blue-alt)))
+   `(notmuch-tree-no-match-face ((,class :foreground ,fg-alt)))
+   `(notmuch-wash-cited-text ((,class :foreground ,cyan)))
+   `(notmuch-wash-toggle-button ((,class :background ,bg-alt :foreground 
,fg-alt)))
+;;;;; num3-mode
+   `(num3-face-even ((,class :inherit bold :background ,bg-alt)))
+;;;;; nxml-mode
    `(nxml-attribute-colon ((,class :foreground ,fg-main)))
-   `(nxml-attribute-local-name ((,class :foreground ,cyan-alt)))
-   `(nxml-attribute-prefix ((,class :foreground ,cyan-alt-other :weight 
,modus-theme-bold)))
-   `(nxml-attribute-value ((,class :foreground ,blue)))
-   `(nxml-cdata-section-CDATA ((,class :foreground ,red-alt :weight 
,modus-theme-bold)))
-   `(nxml-cdata-section-delimiter ((,class :foreground ,red-alt)))
-   `(nxml-char-ref-delimiter ((,class :foreground ,green-alt-other)))
-   `(nxml-char-ref-number ((,class :foreground ,green-alt-other :weight 
,modus-theme-bold)))
+   `(nxml-attribute-local-name ((,class 
,@(modus-vivendi-theme-syntax-foreground
+                                           cyan-alt cyan-alt-faint))))
+   `(nxml-attribute-prefix ((,class ,@(modus-vivendi-theme-syntax-foreground
+                                       cyan-alt-other cyan-alt-other-faint)
+                                    ,@(modus-vivendi-theme-bold-weight))))
+   `(nxml-attribute-value ((,class ,@(modus-vivendi-theme-syntax-foreground
+                                      blue blue-faint))))
+   `(nxml-cdata-section-CDATA ((,class ,@(modus-vivendi-theme-syntax-foreground
+                                          red-alt red-alt-faint)
+                                       ,@(modus-vivendi-theme-bold-weight))))
+   `(nxml-cdata-section-delimiter ((,class 
,@(modus-vivendi-theme-syntax-foreground
+                                              red-alt red-alt-faint))))
+   `(nxml-char-ref-delimiter ((,class ,@(modus-vivendi-theme-syntax-foreground
+                                         green-alt-other 
green-alt-other-faint))))
+   `(nxml-char-ref-number ((,class ,@(modus-vivendi-theme-syntax-foreground
+                                      green-alt-other green-alt-other-faint)
+                                   ,@(modus-vivendi-theme-bold-weight))))
    `(nxml-delimited-data ((,class :foreground ,fg-special-cold :slant 
,modus-theme-slant)))
    `(nxml-delimiter ((,class :foreground ,fg-dim)))
    `(nxml-element-colon ((,class :foreground ,fg-main)))
-   `(nxml-element-local-name ((,class :foreground ,magenta)))
-   `(nxml-element-prefix ((,class :foreground ,magenta-alt :weight 
,modus-theme-bold)))
-   `(nxml-entity-ref-delimiter ((,class :foreground ,green-alt-other)))
-   `(nxml-entity-ref-name ((,class :foreground ,green-alt-other :weight 
,modus-theme-bold)))
+   `(nxml-element-local-name ((,class ,@(modus-vivendi-theme-syntax-foreground
+                                         magenta magenta-faint))))
+   `(nxml-element-prefix ((,class ,@(modus-vivendi-theme-syntax-foreground
+                                     magenta-alt magenta-alt-faint)
+                                  ,@(modus-vivendi-theme-bold-weight))))
+   `(nxml-entity-ref-delimiter ((,class 
,@(modus-vivendi-theme-syntax-foreground
+                                           green-alt-other 
green-alt-other-faint))))
+   `(nxml-entity-ref-name ((,class ,@(modus-vivendi-theme-syntax-foreground
+                                      green-alt-other green-alt-other-faint)
+                                   ,@(modus-vivendi-theme-bold-weight))))
    `(nxml-glyph ((,class :inherit modus-theme-intense-neutral)))
-   `(nxml-hash ((,class :foreground ,blue-alt :weight ,modus-theme-bold)))
-   `(nxml-heading ((,class :weight bold)))
-   `(nxml-name ((,class :foreground ,magenta-alt :weight ,modus-theme-bold)))
+   `(nxml-hash ((,class ,@(modus-vivendi-theme-syntax-foreground
+                           blue-alt blue-alt-faint)
+                        ,@(modus-vivendi-theme-bold-weight))))
+   `(nxml-heading ((,class :inherit bold)))
+   `(nxml-name ((,class ,@(modus-vivendi-theme-syntax-foreground
+                           magenta-alt magenta-alt-faint)
+                        ,@(modus-vivendi-theme-bold-weight))))
    `(nxml-namespace-attribute-colon ((,class :foreground ,fg-main)))
-   `(nxml-namespace-attribute-prefix ((,class :foreground ,cyan)))
-   `(nxml-processing-instruction-target ((,class :foreground 
,magenta-alt-other :weight ,modus-theme-bold)))
-   `(nxml-prolog-keyword ((,class :foreground ,magenta-alt-other :weight 
,modus-theme-bold)))
-   `(nxml-ref ((,class :foreground ,green-alt-other :weight 
,modus-theme-bold)))
-   ;;;; orderless
-   `(orderless-match-face-0 ((,class ,@(modus-vivendi-theme-completions
-                                        blue-alt blue-refine-bg blue-refine-fg)
-                                     :weight bold)))
-   `(orderless-match-face-1 ((,class ,@(modus-vivendi-theme-completions
-                                        magenta-alt magenta-refine-bg 
magenta-refine-fg)
-                                     :weight bold)))
-   `(orderless-match-face-2 ((,class ,@(modus-vivendi-theme-completions
-                                        green-alt-other green-refine-bg 
green-refine-fg)
-                                     :weight bold)))
-   `(orderless-match-face-3 ((,class ,@(modus-vivendi-theme-completions
-                                        yellow-alt-other yellow-refine-bg 
yellow-refine-fg)
-                                     :weight bold)))
-   ;;;; org
+   `(nxml-namespace-attribute-prefix ((,class 
,@(modus-vivendi-theme-syntax-foreground
+                                                 cyan cyan-faint))))
+   `(nxml-processing-instruction-target ((,class 
,@(modus-vivendi-theme-syntax-foreground
+                                                    magenta-alt-other 
magenta-alt-other-faint)
+                                                 
,@(modus-vivendi-theme-bold-weight))))
+   `(nxml-prolog-keyword ((,class ,@(modus-vivendi-theme-syntax-foreground
+                                     magenta-alt-other magenta-alt-other-faint)
+                                  ,@(modus-vivendi-theme-bold-weight))))
+   `(nxml-ref ((,class ,@(modus-vivendi-theme-syntax-foreground
+                          green-alt-other green-alt-other-faint)
+                       ,@(modus-vivendi-theme-bold-weight))))
+;;;;; orderless
+   `(orderless-match-face-0 ((,class :inherit bold
+                                     ,@(modus-vivendi-theme-completions
+                                        blue-alt blue-refine-bg 
blue-refine-fg))))
+   `(orderless-match-face-1 ((,class :inherit bold
+                                     ,@(modus-vivendi-theme-completions
+                                        magenta-alt magenta-refine-bg 
magenta-refine-fg))))
+   `(orderless-match-face-2 ((,class :inherit bold
+                                     ,@(modus-vivendi-theme-completions
+                                        green-alt-other green-refine-bg 
green-refine-fg))))
+   `(orderless-match-face-3 ((,class :inherit bold
+                                     ,@(modus-vivendi-theme-completions
+                                        yellow-alt-other yellow-refine-bg 
yellow-refine-fg))))
+;;;;; 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)))
-   `(org-agenda-column-dateline ((,class :inherit modus-theme-subtle-neutral)))
-   `(org-agenda-current-time ((,class :inherit modus-theme-intense-cyan)))
+   `(org-agenda-column-dateline ((,class :background ,bg-alt)))
+   `(org-agenda-current-time ((,class :inherit modus-theme-subtle-cyan)))
    `(org-agenda-date ((,class :inherit ,modus-theme-variable-pitch :foreground 
,cyan-alt-other
                               ,@(modus-vivendi-theme-scale 
modus-vivendi-theme-scale-4)
                               ,@(modus-vivendi-theme-heading-block 
cyan-nuanced-bg cyan-nuanced))))
-   `(org-agenda-date-today ((,class :inherit ,modus-theme-variable-pitch 
:background ,cyan-subtle-bg
-                                    :foreground ,fg-main :weight bold
+   `(org-agenda-date-today ((,class :inherit (bold ,modus-theme-variable-pitch)
+                                    :background ,cyan-intense-bg :foreground 
,fg-main
                                     ,@(modus-vivendi-theme-scale 
modus-vivendi-theme-scale-4))))
    `(org-agenda-date-weekend ((,class :inherit ,modus-theme-variable-pitch 
:foreground ,cyan
                                       ,@(modus-vivendi-theme-scale 
modus-vivendi-theme-scale-4)
@@ -2636,40 +2947,40 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(org-agenda-diary ((,class :foreground ,fg-main)))
    `(org-agenda-dimmed-todo-face ((,class :inherit 
modus-theme-subtle-neutral)))
    `(org-agenda-done ((,class ,@(modus-vivendi-theme-org-todo-block 
green-nuanced-bg green-nuanced green))))
-   `(org-agenda-filter-category ((,class :background ,bg-active :foreground 
,fg-main :box t)))
-   `(org-agenda-filter-effort ((,class :background ,bg-active :foreground 
,fg-main :box t)))
-   `(org-agenda-filter-regexp ((,class :background ,bg-active :foreground 
,fg-main :box t)))
-   `(org-agenda-filter-tags ((,class :background ,bg-active :foreground 
,fg-main :box t)))
+   `(org-agenda-filter-category ((,class :inherit bold :foreground 
,magenta-active)))
+   `(org-agenda-filter-effort ((,class :inherit bold :foreground 
,magenta-active)))
+   `(org-agenda-filter-regexp ((,class :inherit bold :foreground 
,magenta-active)))
+   `(org-agenda-filter-tags ((,class :inherit bold :foreground 
,magenta-active)))
    `(org-agenda-restriction-lock ((,class :background ,bg-dim :foreground 
,fg-dim)))
    `(org-agenda-structure ((,class :inherit ,modus-theme-variable-pitch
                                    :foreground ,fg-special-mild
                                    ,@(modus-vivendi-theme-scale 
modus-vivendi-theme-scale-3))))
    `(org-archived ((,class :background ,bg-alt :foreground ,fg-alt)))
-   `(org-block ((,class ,@(modus-vivendi-theme-org-src-block bg-dim bg-main)
+   `(org-block ((,class ,@(modus-vivendi-theme-org-block bg-dim)
                         :inherit fixed-pitch :foreground ,fg-main)))
-   `(org-block-begin-line ((,class ,@(and (>= emacs-major-version 27)
-                                          
modus-vivendi-theme-distinct-org-blocks
-                                          '(:extend t))
-                                   :inherit fixed-pitch :background ,bg-alt 
:foreground ,fg-special-mild)))
+   `(org-block-begin-line ((,class ,@(modus-vivendi-theme-org-block-delim
+                                      bg-dim fg-special-cold
+                                      bg-alt fg-special-mild)
+                                   :inherit fixed-pitch)))
    `(org-block-end-line ((,class :inherit org-block-begin-line)))
    `(org-checkbox ((,class :box (:line-width 1 :color ,bg-active)
                            :background ,bg-inactive :foreground ,fg-active)))
    `(org-checkbox-statistics-done ((,class :foreground ,green
                                            ,@(modus-vivendi-theme-heading-block
                                               green-nuanced-bg 
green-nuanced))))
-   `(org-checkbox-statistics-todo ((,class :foreground ,red-alt
+   `(org-checkbox-statistics-todo ((,class 
,@(modus-vivendi-theme-heading-foreground red-alt red)
                                            ,@(modus-vivendi-theme-heading-block
                                               red-nuanced-bg red-nuanced))))
    `(org-clock-overlay ((,class :inherit modus-theme-special-cold)))
    `(org-code ((,class :inherit fixed-pitch :foreground ,magenta)))
    `(org-column ((,class :background ,bg-alt)))
-   `(org-column-title ((,class :underline t :background ,bg-alt :weight bold)))
-   `(org-date ((,class :foreground ,cyan-alt-other :underline t)))
-   `(org-date-selected ((,class :inherit modus-theme-intense-cyan :weight 
bold)))
+   `(org-column-title ((,class :inherit bold :underline t :background 
,bg-alt)))
+   `(org-date ((,class :inherit fixed-pitch :foreground ,cyan-alt-other 
:underline t)))
+   `(org-date-selected ((,class :inherit bold :foreground ,blue-alt 
:inverse-video t)))
    `(org-default ((,class :background ,bg-main :foreground ,fg-main)))
    `(org-document-info ((,class :foreground ,fg-special-cold)))
    `(org-document-info-keyword ((,class :inherit fixed-pitch :foreground 
,fg-alt)))
-   `(org-document-title ((,class :inherit ,modus-theme-variable-pitch 
:foreground ,fg-special-cold :weight bold
+   `(org-document-title ((,class :inherit (bold ,modus-theme-variable-pitch) 
:foreground ,fg-special-cold
                                  ,@(modus-vivendi-theme-scale 
modus-vivendi-theme-scale-5))))
    `(org-done ((,class ,@(modus-vivendi-theme-org-todo-block green-nuanced-bg 
green-nuanced green))))
    `(org-drawer ((,class :foreground ,cyan-alt)))
@@ -2690,186 +3001,191 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(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-variable-pitch :weight bold
+   `(org-level-1 ((,class :inherit (bold ,modus-theme-variable-pitch)
                           ,@(modus-vivendi-theme-heading-foreground fg-main 
magenta-alt-other)
                           ,@(modus-vivendi-theme-scale 
modus-vivendi-theme-scale-4)
                           ,@(modus-vivendi-theme-heading-block 
magenta-nuanced-bg magenta-nuanced))))
-   `(org-level-2 ((,class :inherit ,modus-theme-variable-pitch :weight bold
+   `(org-level-2 ((,class :inherit (bold ,modus-theme-variable-pitch)
                           ,@(modus-vivendi-theme-heading-foreground 
fg-special-warm magenta-alt)
                           ,@(modus-vivendi-theme-scale 
modus-vivendi-theme-scale-3)
                           ,@(modus-vivendi-theme-heading-block red-nuanced-bg 
red-nuanced))))
-   `(org-level-3 ((,class :inherit ,modus-theme-variable-pitch :weight bold
+   `(org-level-3 ((,class :inherit (bold ,modus-theme-variable-pitch)
                           ,@(modus-vivendi-theme-heading-foreground 
fg-special-cold blue)
                           ,@(modus-vivendi-theme-scale 
modus-vivendi-theme-scale-2)
                           ,@(modus-vivendi-theme-heading-block blue-nuanced-bg 
blue-nuanced))))
-   `(org-level-4 ((,class :inherit ,modus-theme-variable-pitch :weight bold
-                          ,@(modus-vivendi-theme-heading-foreground 
fg-special-mild cyan-alt-other)
+   `(org-level-4 ((,class :inherit (bold ,modus-theme-variable-pitch)
+                          ,@(modus-vivendi-theme-heading-foreground 
fg-special-mild cyan)
                           ,@(modus-vivendi-theme-scale 
modus-vivendi-theme-scale-1)
                           ,@(modus-vivendi-theme-heading-block cyan-nuanced-bg 
cyan-nuanced))))
-   `(org-level-5 ((,class :inherit ,modus-theme-variable-pitch :weight bold
-                          ,@(modus-vivendi-theme-heading-foreground 
fg-special-calm green-alt)
+   `(org-level-5 ((,class :inherit (bold ,modus-theme-variable-pitch)
+                          ,@(modus-vivendi-theme-heading-foreground 
fg-special-calm green-alt-other)
                           ,@(modus-vivendi-theme-heading-block 
green-nuanced-bg green-nuanced))))
-   `(org-level-6 ((,class :inherit ,modus-theme-variable-pitch :weight bold
+   `(org-level-6 ((,class :inherit (bold ,modus-theme-variable-pitch)
                           ,@(modus-vivendi-theme-heading-foreground 
yellow-nuanced yellow-alt-other)
                           ,@(modus-vivendi-theme-heading-block 
yellow-nuanced-bg yellow-nuanced))))
-   `(org-level-7 ((,class :inherit ,modus-theme-variable-pitch :weight bold
+   `(org-level-7 ((,class :inherit (bold ,modus-theme-variable-pitch)
                           ,@(modus-vivendi-theme-heading-foreground 
red-nuanced red-alt)
                           ,@(modus-vivendi-theme-heading-block red-nuanced-bg 
red-nuanced))))
-   `(org-level-8 ((,class :inherit ,modus-theme-variable-pitch :weight bold
+   `(org-level-8 ((,class :inherit (bold ,modus-theme-variable-pitch)
                           ,@(modus-vivendi-theme-heading-foreground fg-dim 
magenta)
                           ,@(modus-vivendi-theme-heading-block bg-alt 
fg-alt))))
    `(org-link ((,class :inherit link)))
-   `(org-list-dt ((,class :weight bold)))
+   `(org-list-dt ((,class :inherit bold)))
    `(org-macro ((,class :inherit org-latex-and-related)))
-   `(org-meta-line ((,class :inherit fixed-pitch :foreground ,fg-alt :slant 
,modus-theme-slant)))
+   `(org-meta-line ((,class :inherit fixed-pitch :background ,cyan-nuanced-bg 
:foreground ,cyan-nuanced)))
    `(org-mode-line-clock ((,class :foreground ,fg-main)))
    `(org-mode-line-clock-overrun ((,class :inherit modus-theme-active-red)))
-   `(org-priority ((,class ,@(modus-vivendi-theme-org-todo-block 
blue-nuanced-bg blue-nuanced magenta)
-                           ,@(modus-vivendi-theme-heading-foreground magenta 
blue-alt))))
-   `(org-quote ((,class ,@(modus-vivendi-theme-org-src-block bg-dim bg-main)
-                        :foreground ,fg-special-cold :slant 
,modus-theme-slant)))
-   `(org-scheduled ((,class :foreground ,fg-special-cold)))
-   `(org-scheduled-previously ((,class :foreground ,fg-special-warm)))
-   `(org-scheduled-today ((,class :foreground ,yellow-alt-other)))
+   `(org-priority ((,class ,@(modus-vivendi-theme-org-todo-block 
magenta-nuanced-bg magenta-nuanced magenta)
+                           ,@(modus-vivendi-theme-heading-foreground magenta 
magenta-alt-other))))
+   `(org-quote ((,class ,@(if modus-vivendi-theme-org-blocks
+                              (append
+                               (and (>= emacs-major-version 27) '(:extend t))
+                               (list :background bg-dim))
+                            (list :background nil))
+                        :foreground ,fg-special-calm :slant 
,modus-theme-slant)))
+   `(org-scheduled ((,class :foreground ,fg-special-warm)))
+   `(org-scheduled-previously ((,class :foreground ,yellow-alt-other)))
+   `(org-scheduled-today ((,class :foreground ,magenta-alt-other)))
    `(org-sexp-date ((,class :inherit org-date)))
    `(org-special-keyword ((,class ,@(modus-vivendi-theme-org-todo-block 
cyan-nuanced-bg cyan-nuanced cyan-alt))))
    `(org-table ((,class :inherit fixed-pitch :foreground ,fg-special-cold)))
-   `(org-tag ((,class :foreground ,magenta-nuanced :weight normal)))
-   `(org-tag-group ((,class :foreground ,cyan-nuanced :weight bold)))
+   `(org-tag ((,class ,@(modus-vivendi-theme-bold-weight) :foreground 
,magenta-nuanced)))
+   `(org-tag-group ((,class :inherit bold :foreground ,cyan-nuanced)))
    `(org-target ((,class :underline t)))
    `(org-time-grid ((,class :foreground ,fg-unfocused)))
    `(org-todo ((,class ,@(modus-vivendi-theme-org-todo-block red-nuanced-bg 
red-nuanced red-alt)
-                       ,@(modus-vivendi-theme-heading-foreground red-alt 
red-alt-other))))
+                       ,@(modus-vivendi-theme-heading-foreground red-alt 
red))))
    `(org-upcoming-deadline ((,class :foreground ,red-alt-other)))
    `(org-upcoming-distant-deadline ((,class :foreground ,red-nuanced)))
    `(org-verbatim ((,class :inherit fixed-pitch :background ,bg-alt 
:foreground ,fg-special-calm)))
    `(org-verse ((,class :inherit org-quote)))
-   `(org-warning ((,class :foreground ,blue-intense)))
-   ;;;; org-journal
+   `(org-warning ((,class :inherit bold :foreground ,red-alt-other)))
+;;;;; org-journal
    `(org-journal-calendar-entry-face ((,class :foreground ,yellow-alt-other 
:slant ,modus-theme-slant)))
    `(org-journal-calendar-scheduled-face ((,class :foreground ,red-alt-other 
:slant ,modus-theme-slant)))
    `(org-journal-highlight ((,class :foreground ,magenta-alt)))
-   ;;;; org-noter
-   `(org-noter-no-notes-exist-face ((,class :foreground ,red-active :weight 
bold)))
-   `(org-noter-notes-exist-face ((,class :foreground ,green-active :weight 
bold)))
-   ;;;; org-pomodoro
+;;;;; org-noter
+   `(org-noter-no-notes-exist-face ((,class :inherit bold :foreground 
,red-active)))
+   `(org-noter-notes-exist-face ((,class :inherit bold :foreground 
,green-active)))
+;;;;; org-pomodoro
    `(org-pomodoro-mode-line ((,class :foreground ,red-active)))
    `(org-pomodoro-mode-line-break ((,class :foreground ,cyan-active)))
-   `(org-pomodoro-mode-line-overtime ((,class :foreground ,red-active :weight 
bold)))
-   ;;;; org-recur
+   `(org-pomodoro-mode-line-overtime ((,class :inherit bold :foreground 
,red-active)))
+;;;;; org-recur
    `(org-recur ((,class :foreground ,magenta-active)))
-   ;;;; org-roam
+;;;;; org-roam
    `(org-roam-link ((,class :foreground ,blue-alt-other :underline t)))
    `(org-roam-backlink ((,class :foreground ,green-alt-other :underline t)))
-   ;;;; org-superstar
+;;;;; org-superstar
    `(org-superstar-item ((,class :foreground ,fg-main)))
    `(org-superstar-leading ((,class :foreground ,fg-whitespace)))
-   ;;;; org-treescope
+;;;;; org-treescope
    `(org-treescope-faces--markerinternal-midday ((,class :inherit 
modus-theme-intense-blue)))
    `(org-treescope-faces--markerinternal-range ((,class :inherit 
modus-theme-special-mild)))
-   ;;;; origami
+;;;;; 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-variable-pitch :weight bold
+;;;;; outline-mode
+   `(outline-1 ((,class :inherit (bold ,modus-theme-variable-pitch)
                         ,@(modus-vivendi-theme-heading-foreground fg-main 
magenta-alt-other)
                         ,@(modus-vivendi-theme-scale 
modus-vivendi-theme-scale-4)
                         ,@(modus-vivendi-theme-heading-block 
magenta-nuanced-bg magenta-nuanced))))
-   `(outline-2 ((,class :inherit ,modus-theme-variable-pitch :weight bold
+   `(outline-2 ((,class :inherit (bold ,modus-theme-variable-pitch)
                         ,@(modus-vivendi-theme-heading-foreground 
fg-special-warm magenta-alt)
                         ,@(modus-vivendi-theme-scale 
modus-vivendi-theme-scale-3)
                         ,@(modus-vivendi-theme-heading-block red-nuanced-bg 
red-nuanced))))
-   `(outline-3 ((,class :inherit ,modus-theme-variable-pitch :weight bold
+   `(outline-3 ((,class :inherit (bold ,modus-theme-variable-pitch)
                         ,@(modus-vivendi-theme-heading-foreground 
fg-special-cold blue)
                         ,@(modus-vivendi-theme-scale 
modus-vivendi-theme-scale-2)
                         ,@(modus-vivendi-theme-heading-block blue-nuanced-bg 
blue-nuanced))))
-   `(outline-4 ((,class :inherit ,modus-theme-variable-pitch :weight bold
-                        ,@(modus-vivendi-theme-heading-foreground 
fg-special-mild cyan-alt-other)
+   `(outline-4 ((,class :inherit (bold ,modus-theme-variable-pitch)
+                        ,@(modus-vivendi-theme-heading-foreground 
fg-special-mild cyan)
                         ,@(modus-vivendi-theme-scale 
modus-vivendi-theme-scale-1)
                         ,@(modus-vivendi-theme-heading-block cyan-nuanced-bg 
cyan-nuanced))))
-   `(outline-5 ((,class :inherit ,modus-theme-variable-pitch :weight bold
-                        ,@(modus-vivendi-theme-heading-foreground 
fg-special-calm green-alt)
+   `(outline-5 ((,class :inherit (bold ,modus-theme-variable-pitch)
+                        ,@(modus-vivendi-theme-heading-foreground 
fg-special-calm green-alt-other)
                         ,@(modus-vivendi-theme-heading-block green-nuanced-bg 
green-nuanced))))
-   `(outline-6 ((,class :inherit ,modus-theme-variable-pitch :weight bold
+   `(outline-6 ((,class :inherit (bold ,modus-theme-variable-pitch)
                         ,@(modus-vivendi-theme-heading-foreground 
yellow-nuanced yellow-alt-other)
                         ,@(modus-vivendi-theme-heading-block yellow-nuanced-bg 
yellow-nuanced))))
-   `(outline-7 ((,class :inherit ,modus-theme-variable-pitch :weight bold
+   `(outline-7 ((,class :inherit (bold ,modus-theme-variable-pitch)
                         ,@(modus-vivendi-theme-heading-foreground red-nuanced 
red-alt)
                         ,@(modus-vivendi-theme-heading-block red-nuanced-bg 
red-nuanced))))
-   `(outline-8 ((,class :inherit ,modus-theme-variable-pitch :weight bold
+   `(outline-8 ((,class :inherit (bold ,modus-theme-variable-pitch)
                         ,@(modus-vivendi-theme-heading-foreground fg-dim 
magenta)
                         ,@(modus-vivendi-theme-heading-block bg-alt fg-alt))))
-   ;;;; outline-minor-faces
-   `(outline-minor-0 ((,class :background ,bg-alt)))
-   ;;;; package (M-x list-packages)
+;;;;; outline-minor-faces
+   `(outline-minor-0 ((,class ,@(unless modus-vivendi-theme-section-headings
+                                  (list :background cyan-nuanced-bg)))))
+;;;;; package (M-x list-packages)
    `(package-description ((,class :foreground ,fg-special-cold)))
-   `(package-help-section-name ((,class :foreground ,magenta-alt-other :weight 
bold)))
+   `(package-help-section-name ((,class :inherit bold :foreground 
,magenta-alt-other)))
    `(package-name ((,class :inherit link)))
-   `(package-status-avail-obso ((,class :foreground ,red :weight bold)))
+   `(package-status-avail-obso ((,class :inherit bold :foreground ,red)))
    `(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-external ((,class :foreground ,cyan-alt-other)))
    `(package-status-held ((,class :foreground ,yellow-alt)))
-   `(package-status-incompat ((,class :foreground ,yellow :weight bold)))
+   `(package-status-incompat ((,class :inherit bold :foreground ,yellow)))
    `(package-status-installed ((,class :foreground ,fg-special-warm)))
-   `(package-status-new ((,class :foreground ,green :weight bold)))
-   `(package-status-unsigned ((,class :foreground ,red-alt :weight bold)))
-   ;;;; page-break-lines
+   `(package-status-new ((,class :inherit bold :foreground ,green)))
+   `(package-status-unsigned ((,class :inherit bold :foreground ,red-alt)))
+;;;;; page-break-lines
    `(page-break-lines ((,class :inherit default :foreground 
,fg-window-divider-outer)))
-   ;;;; paradox
+;;;;; paradox
    `(paradox-archive-face ((,class :foreground ,fg-special-mild)))
    `(paradox-comment-face ((,class :foreground ,fg-alt :slant 
,modus-theme-slant)))
    `(paradox-commit-tag-face ((,class :inherit modus-theme-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 :foreground ,blue-alt-other :weight 
,modus-theme-bold)))
-   `(paradox-highlight-face ((,class :foreground ,cyan-alt-other :weight 
,modus-theme-bold)))
+   `(paradox-download-face ((,class ,@(modus-vivendi-theme-bold-weight) 
:foreground ,blue-alt-other)))
+   `(paradox-highlight-face ((,class ,@(modus-vivendi-theme-bold-weight) 
:foreground ,cyan-alt-other)))
    `(paradox-homepage-button-face ((,class :foreground ,magenta-alt-other 
:underline t)))
-   `(paradox-mode-line-face ((,class :foreground ,cyan-active :weight bold)))
+   `(paradox-mode-line-face ((,class :inherit bold :foreground ,cyan-active)))
    `(paradox-name-face ((,class :foreground ,blue :underline t)))
    `(paradox-star-face ((,class :foreground ,magenta)))
    `(paradox-starred-face ((,class :foreground ,magenta-alt)))
-   ;;;; paren-face
-   `(parenthesis ((,class :foreground ,fg-alt)))
-   ;;;; parrot
+;;;;; paren-face
+   `(parenthesis ((,class :foreground ,fg-unfocused)))
+;;;;; parrot
    `(parrot-rotate-rotation-highlight-face ((,class :inherit 
modus-theme-refine-magenta)))
-   ;;;; pass
-   `(pass-mode-directory-face ((,class :foreground ,fg-special-cold :weight 
bold)))
+;;;;; pass
+   `(pass-mode-directory-face ((,class :inherit bold :foreground 
,fg-special-cold)))
    `(pass-mode-entry-face ((,class :background ,bg-main :foreground ,fg-main)))
    `(pass-mode-header-face ((,class :foreground ,fg-special-warm)))
-   ;;;; persp-mode
+;;;;; persp-mode
    `(persp-face-lighter-buffer-not-in-persp ((,class :inherit 
modus-theme-intense-red)))
-   `(persp-face-lighter-default ((,class :foreground ,blue-active :weight 
bold)))
-   `(persp-face-lighter-nil-persp ((,class :foreground ,fg-active :weight 
bold)))
-   ;;;; perspective
-   `(persp-selected-face ((,class :foreground ,blue-active :weight bold)))
-   ;;;; phi-grep
-   `(phi-grep-heading-face  ((,class :foreground ,red-alt :weight bold
+   `(persp-face-lighter-default ((,class :inherit bold :foreground 
,blue-active)))
+   `(persp-face-lighter-nil-persp ((,class :inherit bold :foreground 
,fg-active)))
+;;;;; perspective
+   `(persp-selected-face ((,class :inherit bold :foreground ,blue-active)))
+;;;;; phi-grep
+   `(phi-grep-heading-face  ((,class :inherit bold :foreground ,red-alt
                                      ,@(modus-vivendi-theme-scale 
modus-vivendi-theme-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-search
+;;;;; 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 
:weight bold)))
-   ;;;; pomidor
+   `(phi-search-selection-face ((,class :inherit (modus-theme-intense-green 
bold))))
+;;;;; pomidor
    `(pomidor-break-face ((,class :foreground ,blue-alt-other)))
    `(pomidor-overwork-face ((,class :foreground ,red-alt-other)))
    `(pomidor-skip-face ((,class :foreground ,fg-alt :slant 
,modus-theme-slant)))
    `(pomidor-work-face ((,class :foreground ,green-alt-other)))
-   ;;;; powerline
+;;;;; powerline
    `(powerline-active0 ((,class :background ,fg-inactive :foreground 
,bg-inactive)))
    `(powerline-active1 ((,class :background ,bg-active :foreground 
,fg-active)))
    `(powerline-active2 ((,class :background ,bg-alt :foreground ,fg-active)))
    `(powerline-inactive0 ((,class :background ,bg-active :foreground 
,fg-inactive)))
    `(powerline-inactive1 ((,class :background ,bg-inactive :foreground 
,fg-inactive)))
    `(powerline-inactive2 ((,class :background ,bg-main :foreground ,fg-alt)))
-   ;;;; powerline-evil
+;;;;; 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)))
@@ -2878,15 +3194,15 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(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)))
-   ;;;; proced
+;;;;; proced
    `(proced-mark ((,class :inherit modus-theme-mark-symbol)))
    `(proced-marked ((,class :inherit modus-theme-mark-alt)))
-   `(proced-sort-header ((,class :foreground ,fg-special-calm :weight bold 
:underline t)))
-   ;;;; prodigy
+   `(proced-sort-header ((,class :inherit bold :foreground ,fg-special-calm 
:underline t)))
+;;;;; prodigy
    `(prodigy-green-face ((,class :foreground ,green)))
    `(prodigy-red-face ((,class :foreground ,red)))
    `(prodigy-yellow-face ((,class :foreground ,yellow)))
-   ;;;; rainbow-blocks
+;;;;; rainbow-blocks
    `(rainbow-blocks-depth-1-face ((,class :foreground ,magenta-alt-other)))
    `(rainbow-blocks-depth-2-face ((,class :foreground ,blue)))
    `(rainbow-blocks-depth-3-face ((,class :foreground ,magenta-alt)))
@@ -2897,7 +3213,7 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(rainbow-blocks-depth-8-face ((,class :foreground ,cyan-alt)))
    `(rainbow-blocks-depth-9-face ((,class :foreground ,red-alt)))
    `(rainbow-blocks-unmatched-face ((,class :foreground ,red)))
-   ;;;; rainbow-identifiers
+;;;;; rainbow-identifiers
    `(rainbow-identifiers-identifier-1 ((,class :foreground ,green-alt-other)))
    `(rainbow-identifiers-identifier-2 ((,class :foreground 
,magenta-alt-other)))
    `(rainbow-identifiers-identifier-3 ((,class :foreground ,cyan-alt-other)))
@@ -2913,7 +3229,7 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(rainbow-identifiers-identifier-13 ((,class :foreground ,yellow)))
    `(rainbow-identifiers-identifier-14 ((,class :foreground ,blue-alt)))
    `(rainbow-identifiers-identifier-15 ((,class :foreground ,red-alt)))
-   ;;;; rainbow-delimiters
+;;;;; rainbow-delimiters
    `(rainbow-delimiters-base-face-error ((,class :foreground ,red)))
    `(rainbow-delimiters-base-face ((,class :foreground ,fg-main)))
    `(rainbow-delimiters-depth-1-face ((,class :foreground ,green-alt-other)))
@@ -2925,49 +3241,49 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(rainbow-delimiters-depth-7-face ((,class :foreground ,magenta-alt)))
    `(rainbow-delimiters-depth-8-face ((,class :foreground ,cyan-alt)))
    `(rainbow-delimiters-depth-9-face ((,class :foreground ,yellow-alt)))
-   `(rainbow-delimiters-mismatched-face ((,class :foreground ,red-alt :weight 
bold)))
-   `(rainbow-delimiters-unmatched-face ((,class :foreground ,red :weight 
bold)))
-   ;;;; rcirc
-   `(rcirc-bright-nick ((,class :foreground ,magenta-alt :weight bold)))
+   `(rainbow-delimiters-mismatched-face ((,class :inherit bold :foreground 
,red-alt)))
+   `(rainbow-delimiters-unmatched-face ((,class :inherit bold :foreground 
,red)))
+;;;;; rcirc
+   `(rcirc-bright-nick ((,class :inherit bold :foreground ,magenta-alt)))
    `(rcirc-dim-nick ((,class :foreground ,fg-alt)))
-   `(rcirc-my-nick ((,class :foreground ,magenta :weight bold)))
+   `(rcirc-my-nick ((,class :inherit bold :foreground ,magenta)))
    `(rcirc-nick-in-message ((,class :foreground ,magenta-alt-other)))
-   `(rcirc-nick-in-message-full-line ((,class :foreground ,fg-special-mild 
:weight bold)))
-   `(rcirc-other-nick ((,class :foreground ,fg-special-cold :weight bold)))
-   `(rcirc-prompt ((,class :foreground ,cyan-alt-other :weight bold)))
+   `(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-server ((,class :foreground ,fg-unfocused)))
    `(rcirc-timestamp ((,class :foreground ,blue-nuanced)))
    `(rcirc-url ((,class :foreground ,blue :underline t)))
-   ;;;; regexp-builder (re-builder)
+;;;;; regexp-builder (re-builder)
    `(reb-match-0 ((,class :inherit modus-theme-intense-blue)))
    `(reb-match-1 ((,class :inherit modus-theme-intense-magenta)))
    `(reb-match-2 ((,class :inherit modus-theme-intense-green)))
    `(reb-match-3 ((,class :inherit modus-theme-intense-red)))
-   `(reb-regexp-grouping-backslash ((,class :foreground 
,fg-escape-char-backslash :weight bold)))
-   `(reb-regexp-grouping-construct ((,class :foreground 
,fg-escape-char-construct :weight bold)))
-   ;;;; rg (rg.el)
+   `(reb-regexp-grouping-backslash ((,class :inherit bold :foreground 
,fg-escape-char-backslash)))
+   `(reb-regexp-grouping-construct ((,class :inherit bold :foreground 
,fg-escape-char-construct)))
+;;;;; rg (rg.el)
    `(rg-column-number-face ((,class :foreground ,magenta-alt-other)))
    `(rg-context-face ((,class :foreground ,fg-unfocused)))
-   `(rg-error-face ((,class :foreground ,red :weight bold)))
+   `(rg-error-face ((,class :inherit bold :foreground ,red)))
    `(rg-file-tag-face ((,class :foreground ,fg-special-cold)))
-   `(rg-filename-face ((,class :foreground ,fg-special-cold :weight bold)))
+   `(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-regexp-face ((,class :foreground ,magenta-active)))
-   `(rg-toggle-off-face ((,class :foreground ,fg-inactive :weight bold)))
-   `(rg-toggle-on-face ((,class :foreground ,cyan-active :weight bold)))
-   `(rg-warning-face ((,class :foreground ,yellow :weight bold)))
-   ;;;; ripgrep
+   `(rg-toggle-off-face ((,class :inherit bold :foreground ,fg-inactive)))
+   `(rg-toggle-on-face ((,class :inherit bold :foreground ,cyan-active)))
+   `(rg-warning-face ((,class :inherit bold :foreground ,yellow)))
+;;;;; ripgrep
    `(ripgrep-context-face ((,class :foreground ,fg-unfocused)))
-   `(ripgrep-error-face ((,class :foreground ,red :weight bold)))
+   `(ripgrep-error-face ((,class :inherit bold :foreground ,red)))
    `(ripgrep-hit-face ((,class :foreground ,cyan)))
    `(ripgrep-match-face ((,class :inherit modus-theme-special-calm)))
-   ;;;; rmail
+;;;;; rmail
    `(rmail-header-name ((,class :foreground ,cyan-alt-other)))
-   `(rmail-highlight ((,class :foreground ,magenta-alt :weight bold)))
-   ;;;; ruler-mode
-   `(ruler-mode-column-number ((,class :inherit ruler-mode-default :foreground 
,fg-main :weight bold)))
+   `(rmail-highlight ((,class :inherit bold :foreground ,magenta-alt)))
+;;;;; ruler-mode
+   `(ruler-mode-column-number ((,class :inherit (ruler-mode-default bold) 
:foreground ,fg-main)))
    `(ruler-mode-comment-column ((,class :inherit ruler-mode-default 
:foreground ,red-active)))
    `(ruler-mode-current-column ((,class :inherit ruler-mode-default 
:foreground ,cyan-active :box t)))
    `(ruler-mode-default ((,class :background ,bg-inactive :foreground 
,fg-inactive)))
@@ -2977,7 +3293,7 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(ruler-mode-margins ((,class :inherit ruler-mode-default :foreground 
,bg-main)))
    `(ruler-mode-pad ((,class :background ,bg-active :foreground ,fg-inactive)))
    `(ruler-mode-tab-stop ((,class :inherit ruler-mode-default :foreground 
,yellow-active)))
-   ;;;; sallet
+;;;;; sallet
    `(sallet-buffer-compressed ((,class :foreground ,yellow-nuanced :slant 
italic)))
    `(sallet-buffer-default-directory ((,class :foreground ,cyan-nuanced)))
    `(sallet-buffer-directory ((,class :foreground ,blue-nuanced)))
@@ -2991,41 +3307,42 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(sallet-recentf-buffer-name ((,class :foreground ,blue-nuanced)))
    `(sallet-recentf-file-path ((,class :foreground ,fg-special-mild)))
    `(sallet-regexp-match ((,class :inherit modus-theme-refine-magenta)))
-   `(sallet-source-header ((,class :foreground ,red-alt :weight bold
+   `(sallet-source-header ((,class :inherit bold :foreground ,red-alt
                                    ,@(modus-vivendi-theme-scale 
modus-vivendi-theme-scale-4))))
    `(sallet-substring-match ((,class :inherit modus-theme-refine-blue)))
-   ;;;; selectrum
+;;;;; selectrum
    `(selectrum-current-candidate ((,class :inherit 
modus-theme-intense-magenta)))
-   `(selectrum-primary-highlight ((,class :inherit modus-theme-refine-blue 
:weight bold)))
-   `(selectrum-secondary-highlight ((,class :inherit modus-theme-refine-cyan 
:weight bold)))
-   ;;;; sesman
+   `(selectrum-primary-highlight ((,class :inherit (modus-theme-refine-blue 
bold))))
+   `(selectrum-secondary-highlight ((,class :inherit (modus-theme-refine-cyan 
bold))))
+;;;;; sesman
    `(sesman-browser-button-face ((,class :foreground ,blue-alt-other 
:underline t)))
    `(sesman-browser-highligh-face ((,class :inherit modus-theme-subtle-blue)))
    `(sesman-buffer-face ((,class :foreground ,magenta)))
-   `(sesman-directory-face ((,class :foreground ,blue :weight bold)))
-   `(sesman-project-face ((,class :foreground ,magenta-alt-other :weight 
bold)))
-   ;;;; shell-script-mode
+   `(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 :foreground ,magenta-alt :weight 
,modus-theme-bold)))
-   ;;;; show-paren-mode
-   `(show-paren-match ((,class :background ,bg-paren-match :foreground 
,fg-main)))
+   `(sh-quoted-exec ((,class ,@(modus-vivendi-theme-bold-weight) :foreground 
,magenta-alt)))
+;;;;; show-paren-mode
+   `(show-paren-match ((,class ,@(modus-vivendi-theme-paren bg-paren-match 
blue-intense-bg)
+                               :foreground ,fg-main)))
    `(show-paren-match-expression ((,class :inherit modus-theme-special-calm)))
    `(show-paren-mismatch ((,class :inherit modus-theme-intense-red)))
-   ;;;; side-notes
+;;;;; side-notes
    `(side-notes ((,class :background ,bg-dim :foreground ,fg-dim)))
-   ;;;; skewer-mode
+;;;;; skewer-mode
    `(skewer-error-face ((,class :foreground ,red :underline t)))
-   ;;;; smart-mode-line
+;;;;; smart-mode-line
    `(sml/charging ((,class :foreground ,green-active)))
    `(sml/discharging ((,class :foreground ,red-active)))
-   `(sml/filename ((,class :foreground ,blue-active :weight bold)))
+   `(sml/filename ((,class :inherit bold :foreground ,blue-active)))
    `(sml/folder ((,class :foreground ,fg-active)))
-   `(sml/git ((,class :foreground ,green-active :weight bold)))
+   `(sml/git ((,class :inherit bold :foreground ,green-active)))
    `(sml/global ((,class :foreground ,fg-active)))
    `(sml/line-number ((,class :inherit sml/global)))
    `(sml/minor-modes ((,class :inherit sml/global)))
-   `(sml/modes ((,class :foreground ,fg-active :weight bold)))
-   `(sml/modified ((,class :foreground ,magenta-active :weight bold)))
+   `(sml/modes ((,class :inherit bold :foreground ,fg-active)))
+   `(sml/modified ((,class :inherit bold :foreground ,magenta-active)))
    `(sml/mule-info ((,class :inherit sml/global)))
    `(sml/name-filling ((,class :foreground ,yellow-active)))
    `(sml/not-modified ((,class :inherit sml/global)))
@@ -3035,22 +3352,23 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(sml/prefix ((,class :foreground ,green-active)))
    `(sml/process ((,class :inherit sml/prefix)))
    `(sml/projectile ((,class :inherit sml/git)))
-   `(sml/read-only ((,class :foreground ,cyan-active :weight bold)))
+   `(sml/read-only ((,class :inherit bold :foreground ,cyan-active)))
    `(sml/remote ((,class :inherit sml/global)))
    `(sml/sudo ((,class :inherit modus-theme-subtle-red)))
    `(sml/time ((,class :inherit sml/global)))
    `(sml/vc ((,class :inherit sml/git)))
-   `(sml/vc-edited ((,class :foreground ,yellow-active :weight bold)))
-   ;;;; smartparens
+   `(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-show-pair-match-face ((,class :background ,bg-paren-match :foreground 
,fg-main)))
+   `(sp-show-pair-match-face ((,class ,@(modus-vivendi-theme-paren 
bg-paren-match blue-intense-bg)
+                                      :foreground ,fg-main)))
    `(sp-show-pair-mismatch-face ((,class :inherit modus-theme-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
    `(smerge-base ((,class ,@(modus-vivendi-theme-diffs
                              bg-main yellow
                              bg-diff-focus-changed fg-diff-focus-changed))))
@@ -3068,27 +3386,27 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(smerge-upper ((,class ,@(modus-vivendi-theme-diffs
                               bg-main red
                               bg-diff-focus-removed fg-diff-focus-removed))))
-   ;;;; speedbar
+;;;;; speedbar
    `(speedbar-button-face ((,class :inherit link)))
-   `(speedbar-directory-face ((,class :foreground ,blue :weight bold)))
+   `(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-selected-face ((,class :foreground ,cyan :weight bold)))
+   `(speedbar-selected-face ((,class :inherit bold :foreground ,cyan)))
    `(speedbar-separator-face ((,class :inherit modus-theme-intense-neutral)))
    `(speedbar-tag-face ((,class :foreground ,yellow-alt-other)))
-   ;;;; spell-fu
+;;;;; spell-fu
    `(spell-fu-incorrect-face
      ((,(append '((supports :underline (:style wave))) class)
        :foreground ,fg-lang-error :underline (:style wave))
       (,class :foreground ,fg-lang-error :underline t)))
-   ;;;; stripes
-   `(stripes ((,class :background ,bg-hl-line)))
-   ;;;; success
-   `(suggest-heading ((,class :foreground ,yellow-alt-other :weight bold)))
-   ;;;; switch-window
+;;;;; stripes
+   `(stripes ((,class :inherit modus-theme-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
    `(swiper-background-match-face-1 ((,class :inherit 
modus-theme-subtle-neutral)))
    `(swiper-background-match-face-2 ((,class :inherit 
modus-theme-subtle-cyan)))
    `(swiper-background-match-face-3 ((,class :inherit 
modus-theme-subtle-magenta)))
@@ -3099,44 +3417,44 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(swiper-match-face-2 ((,class :inherit swiper-line-face)))
    `(swiper-match-face-3 ((,class :inherit swiper-line-face)))
    `(swiper-match-face-4 ((,class :inherit swiper-line-face)))
-   ;;;; swoop
-   `(swoop-face-header-format-line ((,class :foreground ,red-alt :weight bold
+;;;;; swoop
+   `(swoop-face-header-format-line ((,class :inherit bold :foreground ,red-alt
                                             ,@(modus-vivendi-theme-scale 
modus-vivendi-theme-scale-3))))
-   `(swoop-face-line-buffer-name ((,class :foreground ,blue-alt :weight bold
+   `(swoop-face-line-buffer-name ((,class :inherit bold :foreground ,blue-alt
                                           ,@(modus-vivendi-theme-scale 
modus-vivendi-theme-scale-4))))
    `(swoop-face-line-number ((,class :foreground ,fg-special-warm)))
    `(swoop-face-target-line ((,class :inherit modus-theme-intense-blue
                                      ,@(and (>= emacs-major-version 27) 
'(:extend t)))))
    `(swoop-face-target-words ((,class :inherit modus-theme-refine-cyan)))
-   ;;;; sx
+;;;;; sx
    `(sx-inbox-item-type ((,class :foreground ,magenta-alt-other)))
-   `(sx-inbox-item-type-unread ((,class :inherit sx-inbox-item-type :weight 
bold)))
+   `(sx-inbox-item-type-unread ((,class :inherit (sx-inbox-item-type bold))))
    `(sx-question-list-answers ((,class :foreground ,green)))
    `(sx-question-list-answers-accepted ((,class :box t :foreground ,green)))
-   `(sx-question-list-bounty ((,class :background ,bg-alt :foreground ,yellow 
:weight bold)))
+   `(sx-question-list-bounty ((,class :inherit bold :background ,bg-alt 
:foreground ,yellow)))
    `(sx-question-list-date ((,class :foreground ,fg-special-cold)))
-   `(sx-question-list-favorite ((,class :foreground ,fg-special-warm :weight 
bold)))
+   `(sx-question-list-favorite ((,class :inherit bold :foreground 
,fg-special-warm)))
    `(sx-question-list-parent ((,class :foreground ,fg-main)))
    `(sx-question-list-read-question ((,class :foreground ,fg-alt)))
    `(sx-question-list-score ((,class :foreground ,fg-special-mild)))
-   `(sx-question-list-score-upvoted ((,class :inherit sx-question-list-score 
:weight bold)))
-   `(sx-question-list-unread-question ((,class :foreground ,fg-main :weight 
bold)))
-   `(sx-question-mode-accepted ((,class :height 1.3 :foreground ,green :weight 
bold)))
-   `(sx-question-mode-closed ((,class :box (:line-width 2 :color nil) :inherit 
modus-theme-active-yellow)))
+   `(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-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)))
-   `(sx-question-mode-header ((,class :foreground ,cyan :weight bold)))
-   `(sx-question-mode-kbd-tag ((,class :height 0.9 :box (:line-width 3 :color 
,fg-main :style released-button) :foreground ,fg-main :weight bold)))
+   `(sx-question-mode-header ((,class :inherit bold :foreground ,cyan)))
+   `(sx-question-mode-kbd-tag ((,class :inherit bold :height 0.9 :box 
(:line-width 3 :color ,fg-main :style released-button) :foreground ,fg-main)))
    `(sx-question-mode-score ((,class :foreground ,fg-dim)))
    `(sx-question-mode-score-downvoted ((,class :foreground ,yellow)))
-   `(sx-question-mode-score-upvoted ((,class :foreground ,magenta :weight 
bold)))
-   `(sx-question-mode-title ((,class :foreground ,fg-main :weight bold)))
-   `(sx-question-mode-title-comments ((,class :foreground ,fg-alt :weight 
bold)))
+   `(sx-question-mode-score-upvoted ((,class :inherit bold :foreground 
,magenta)))
+   `(sx-question-mode-title ((,class :inherit bold :foreground ,fg-main)))
+   `(sx-question-mode-title-comments ((,class :inherit bold :foreground 
,fg-alt)))
    `(sx-tag ((,class :foreground ,magenta-alt)))
    `(sx-user-name ((,class :foreground ,blue-alt)))
    `(sx-user-reputation ((,class :foreground ,fg-alt)))
-   ;;;; symbol-overlay
+;;;;; symbol-overlay
    `(symbol-overlay-default-face ((,class :inherit modus-theme-refine-blue)))
    `(symbol-overlay-face-1 ((,class :inherit modus-theme-intense-blue)))
    `(symbol-overlay-face-2 ((,class :inherit modus-theme-refine-magenta)))
@@ -3146,27 +3464,27 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(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)))
-   ;;;; syslog-mode
-   `(syslog-debug ((,class :foreground ,cyan-alt-other :weight bold)))
-   `(syslog-error ((,class :foreground ,red :weight bold)))
-   `(syslog-file ((,class :foreground ,fg-special-cold :weight bold)))
+;;;;; syslog-mode
+   `(syslog-debug ((,class :inherit bold :foreground ,cyan-alt-other)))
+   `(syslog-error ((,class :inherit bold :foreground ,red)))
+   `(syslog-file ((,class :inherit bold :foreground ,fg-special-cold)))
    `(syslog-hide ((,class :background ,bg-main :foreground ,fg-main)))
-   `(syslog-hour ((,class :foreground ,magenta-alt-other :weight bold)))
-   `(syslog-info ((,class :foreground ,blue-alt-other :weight bold)))
-   `(syslog-ip ((,class :foreground ,fg-special-mild :weight bold :underline 
t)))
-   `(syslog-su ((,class :foreground ,red-alt :weight bold)))
-   `(syslog-warn ((,class :foreground ,yellow :weight bold)))
-   ;;;; trashed
+   `(syslog-hour ((,class :inherit bold :foreground ,magenta-alt-other)))
+   `(syslog-info ((,class :inherit bold :foreground ,blue-alt-other)))
+   `(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)))
+;;;;; trashed
    `(trashed-deleted ((,class :inherit modus-theme-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-symlink ((,class :foreground ,cyan-alt :underline t)))
-   ;;;; telephone-line
+;;;;; telephone-line
    `(telephone-line-accent-active ((,class :background ,fg-inactive 
:foreground ,bg-inactive)))
    `(telephone-line-accent-inactive ((,class :background ,bg-active 
:foreground ,fg-active)))
-   `(telephone-line-error ((,class :foreground ,red-active :weight bold)))
+   `(telephone-line-error ((,class :inherit bold :foreground ,red-active)))
    `(telephone-line-evil ((,class :foreground ,fg-main)))
    `(telephone-line-evil-emacs ((,class :inherit telephone-line-evil 
:background ,magenta-intense-bg)))
    `(telephone-line-evil-insert ((,class :inherit telephone-line-evil 
:background ,green-intense-bg)))
@@ -3177,10 +3495,10 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(telephone-line-evil-visual ((,class :inherit telephone-line-evil 
:background ,cyan-intense-bg)))
    `(telephone-line-projectile ((,class :foreground ,cyan-active)))
    `(telephone-line-unimportant ((,class :foreground ,fg-inactive)))
-   `(telephone-line-warning ((,class :foreground ,yellow-active :weight bold)))
-   ;;;; term
+   `(telephone-line-warning ((,class :inherit bold :foreground 
,yellow-active)))
+;;;;; term
    `(term ((,class :background ,bg-main :foreground ,fg-main)))
-   `(term-bold ((,class :weight bold)))
+   `(term-bold ((,class :inherit bold)))
    `(term-color-blue ((,class :background ,blue :foreground ,blue)))
    `(term-color-cyan ((,class :background ,cyan :foreground ,cyan)))
    `(term-color-green ((,class :background ,green :foreground ,green)))
@@ -3188,87 +3506,106 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(term-color-red ((,class :background ,red :foreground ,red)))
    `(term-color-yellow ((,class :background ,yellow :foreground ,yellow)))
    `(term-underline ((,class :underline t)))
-   ;;;; tomatinho
+;;;;; tomatinho
    `(tomatinho-ok-face ((,class :foreground ,blue-intense)))
    `(tomatinho-pause-face ((,class :foreground ,yellow-intense)))
    `(tomatinho-reset-face ((,class :foreground ,fg-alt)))
-   ;;;; transient
+;;;;; transient
    `(transient-active-infix ((,class :inherit modus-theme-special-mild)))
-   `(transient-argument ((,class :foreground ,green :weight bold)))
+   `(transient-argument ((,class :inherit bold :foreground ,red-alt)))
    `(transient-disabled-suffix ((,class :inherit modus-theme-intense-red)))
    `(transient-enabled-suffix ((,class :inherit modus-theme-intense-green)))
-   `(transient-heading ((,class :foreground ,fg-special-warm :weight bold)))
+   `(transient-heading ((,class :inherit bold :foreground ,fg-main)))
    `(transient-inactive-argument ((,class :foreground ,fg-alt)))
    `(transient-inactive-value ((,class :foreground ,fg-alt)))
-   `(transient-key ((,class :foreground ,magenta-intense)))
+   `(transient-key ((,class :inherit bold :foreground ,blue)))
    `(transient-mismatched-key ((,class :underline t)))
    `(transient-nonstandard-key ((,class :underline t)))
-   `(transient-unreachable ((,class :foreground ,fg-inactive)))
-   `(transient-unreachable-key ((,class :foreground ,fg-inactive)))
-   `(transient-value ((,class :foreground ,blue)))
-   ;;;; treemacs
+   `(transient-unreachable ((,class :foreground ,fg-unfocused)))
+   `(transient-unreachable-key ((,class :foreground ,fg-unfocused)))
+   `(transient-value ((,class :foreground ,magenta-alt)))
+;;;;; treemacs
    `(treemacs-directory-collapsed-face ((,class :foreground ,magenta-alt)))
    `(treemacs-directory-face ((,class :inherit dired-directory)))
    `(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 
:weight bold)))
+   `(treemacs-git-conflict-face ((,class :inherit (modus-theme-intense-red 
bold))))
    `(treemacs-git-ignored-face ((,class :foreground ,fg-alt)))
    `(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 :foreground ,magenta-alt-other :weight 
,modus-theme-bold :underline t)))
+   `(treemacs-help-column-face ((,class ,@(modus-vivendi-theme-bold-weight) 
: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-root-face ((,class :foreground ,blue-alt-other :height 1.2 
:weight bold :underline t)))
+   `(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)))
    `(treemacs-root-remote-unreadable-face ((,class :inherit 
treemacs-root-unreadable-face)))
    `(treemacs-root-unreadable-face ((,class :inherit treemacs-root-face 
:strike-through t)))
    `(treemacs-tags-face ((,class :foreground ,blue-alt)))
    `(treemacs-tags-face ((,class :foreground ,magenta-alt)))
-   ;;;; tuareg
+;;;;; 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)))
+;;;;; 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)))
-   `(tuareg-font-double-semicolon-face ((,class :foreground ,red-alt)))
-   `(tuareg-font-lock-attribute-face ((,class :foreground ,magenta)))
+   `(tuareg-font-double-semicolon-face ((,class 
,@(modus-vivendi-theme-syntax-foreground
+                                                   red-alt red-alt-faint))))
+   `(tuareg-font-lock-attribute-face ((,class 
,@(modus-vivendi-theme-syntax-foreground
+                                                 magenta magenta-faint))))
    `(tuareg-font-lock-constructor-face ((,class :foreground ,fg-main)))
-   `(tuareg-font-lock-error-face ((,class :inherit modus-theme-intense-red 
:weight bold)))
+   `(tuareg-font-lock-error-face ((,class :inherit (modus-theme-intense-red 
bold))))
    `(tuareg-font-lock-extension-node-face ((,class :background ,bg-alt 
:foreground ,magenta)))
-   `(tuareg-font-lock-governing-face ((,class :foreground ,fg-main :weight 
bold)))
-   `(tuareg-font-lock-infix-extension-node-face ((,class :foreground 
,magenta)))
+   `(tuareg-font-lock-governing-face ((,class :inherit bold :foreground 
,fg-main)))
+   `(tuareg-font-lock-infix-extension-node-face ((,class 
,@(modus-vivendi-theme-syntax-foreground
+                                                            magenta 
magenta-faint))))
    `(tuareg-font-lock-interactive-directive-face ((,class :foreground 
,fg-special-cold)))
-   `(tuareg-font-lock-interactive-error-face ((,class :foreground ,red :weight 
bold)))
-   `(tuareg-font-lock-interactive-output-face ((,class :foreground 
,blue-alt-other)))
-   `(tuareg-font-lock-label-face ((,class :foreground ,cyan-alt-other)))
+   `(tuareg-font-lock-interactive-error-face ((,class :inherit bold
+                                                      
,@(modus-vivendi-theme-syntax-foreground
+                                                         red red-faint))))
+   `(tuareg-font-lock-interactive-output-face ((,class 
,@(modus-vivendi-theme-syntax-foreground
+                                                          blue-alt-other 
blue-alt-other-faint))))
+   `(tuareg-font-lock-label-face ((,class 
,@(modus-vivendi-theme-syntax-foreground
+                                             cyan-alt-other 
cyan-alt-other-faint))))
    `(tuareg-font-lock-line-number-face ((,class :foreground ,fg-special-warm)))
-   `(tuareg-font-lock-module-face ((,class :foreground ,magenta-alt)))
-   `(tuareg-font-lock-multistage-face ((,class :background ,bg-alt :foreground 
,blue :weight bold)))
-   `(tuareg-font-lock-operator-face ((,class :foreground ,red-alt)))
-   `(tuareg-opam-error-face ((,class :foreground ,red :weight bold)))
-   `(tuareg-opam-pkg-variable-name-face ((,class :foreground ,cyan :slant 
,modus-theme-slant)))
-   ;;;; undo-tree
-   `(undo-tree-visualizer-active-branch-face ((,class :foreground ,fg-main 
:weight bold)))
+   `(tuareg-font-lock-module-face ((,class 
,@(modus-vivendi-theme-syntax-foreground
+                                              magenta-alt magenta-alt-faint))))
+   `(tuareg-font-lock-multistage-face ((,class :inherit bold :background 
,bg-alt
+                                               
,@(modus-vivendi-theme-syntax-foreground
+                                                  blue blue-faint))))
+   `(tuareg-font-lock-operator-face ((,class 
,@(modus-vivendi-theme-syntax-foreground
+                                                red-alt red-alt-faint))))
+   `(tuareg-opam-error-face ((,class :inherit bold
+                                     ,@(modus-vivendi-theme-syntax-foreground
+                                        red red-faint))))
+   `(tuareg-opam-pkg-variable-name-face ((,class 
,@(modus-vivendi-theme-syntax-foreground
+                                                    cyan cyan-faint)
+                                                 :slant ,modus-theme-slant)))
+;;;;; undo-tree
+   `(undo-tree-visualizer-active-branch-face ((,class :inherit bold 
:foreground ,fg-main)))
    `(undo-tree-visualizer-current-face ((,class :foreground ,blue-intense)))
    `(undo-tree-visualizer-default-face ((,class :foreground ,fg-alt)))
    `(undo-tree-visualizer-register-face ((,class :foreground 
,magenta-intense)))
    `(undo-tree-visualizer-unmodified-face ((,class :foreground 
,green-intense)))
-   ;;;; vc
-   `(vc-conflict-state ((,class :foreground ,red-active :weight 
,modus-theme-bold)))
+;;;;; vc
+   `(vc-conflict-state ((,class ,@(modus-vivendi-theme-bold-weight) 
:foreground ,red-active)))
    `(vc-edited-state ((,class :foreground ,fg-special-warm)))
    `(vc-locally-added-state ((,class :foreground ,cyan-active)))
-   `(vc-locked-state ((,class :foreground ,magenta-active :weight 
,modus-theme-bold)))
-   `(vc-missing-state ((,class :foreground ,yellow-active :weight 
,modus-theme-bold)))
-   `(vc-needs-update-state ((,class :foreground ,fg-special-mild :weight 
,modus-theme-bold)))
+   `(vc-locked-state ((,class ,@(modus-vivendi-theme-bold-weight) :foreground 
,magenta-active)))
+   `(vc-missing-state ((,class ,@(modus-vivendi-theme-bold-weight) :foreground 
,yellow-active)))
+   `(vc-needs-update-state ((,class ,@(modus-vivendi-theme-bold-weight) 
:foreground ,fg-special-mild)))
    `(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
    `(vdiff-addition-face ((,class ,@(modus-vivendi-theme-diffs
                                      bg-main green
                                      bg-diff-focus-added 
fg-diff-focus-added))))
@@ -3286,27 +3623,27 @@ Also bind `class' to ((class color) (min-colors 89))."
                                         bg-main red
                                         bg-diff-focus-removed 
fg-diff-focus-removed))))
    `(vdiff-target-face ((,class :inherit modus-theme-intense-blue)))
-   ;;;; vimish-fold
+;;;;; vimish-fold
    `(vimish-fold-fringe ((,class :foreground ,cyan-active)))
    `(vimish-fold-mouse-face ((,class :inherit modus-theme-intense-blue)))
    `(vimish-fold-overlay ((,class :background ,bg-alt :foreground 
,fg-special-cold)))
-   ;;;; visible-mark
+;;;;; visible-mark
    `(visible-mark-active ((,class :background ,blue-intense-bg)))
    `(visible-mark-face1 ((,class :background ,cyan-intense-bg)))
    `(visible-mark-face2 ((,class :background ,yellow-intense-bg)))
    `(visible-mark-forward-face1 ((,class :background ,magenta-intense-bg)))
    `(visible-mark-forward-face2 ((,class :background ,green-intense-bg)))
-   ;;;; visual-regexp
+;;;;; 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 
:weight bold)))
-   ;;;; volatile-highlights
+   `(vr/match-separator-face ((,class :inherit (modus-theme-intense-neutral 
bold))))
+;;;;; volatile-highlights
    `(vhl/default-face ((,class ,@(and (>= emacs-major-version 27) '(:extend t))
                                :background ,bg-alt :foreground ,blue-nuanced)))
-   ;;;; vterm
+;;;;; vterm
    `(vterm-color-black ((,class :background "black" :foreground "black")))
    `(vterm-color-blue ((,class :background ,blue :foreground ,blue)))
    `(vterm-color-cyan ((,class :background ,cyan :foreground ,cyan)))
@@ -3318,59 +3655,94 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(vterm-color-underline ((,class :foreground ,fg-special-warm :underline 
t)))
    `(vterm-color-white ((,class :background "white" :foreground "white")))
    `(vterm-color-yellow ((,class :background ,yellow :foreground ,yellow)))
-   ;;;; wcheck-mode
+;;;;; wcheck-mode
    `(wcheck-default-face ((,class :foreground ,red :underline t)))
-   ;;;; web-mode
+;;;;; web-mode
    `(web-mode-annotation-face ((,class :inherit web-mode-comment-face)))
    `(web-mode-annotation-html-face ((,class :inherit web-mode-comment-face)))
    `(web-mode-annotation-tag-face ((,class :inherit web-mode-comment-face 
:underline t)))
-   `(web-mode-block-attr-name-face ((,class :foreground ,blue)))
-   `(web-mode-block-attr-value-face ((,class :foreground ,cyan-alt-other)))
+   `(web-mode-block-attr-name-face ((,class 
,@(modus-vivendi-theme-syntax-foreground
+                                               blue blue-faint))))
+   `(web-mode-block-attr-value-face ((,class 
,@(modus-vivendi-theme-syntax-foreground
+                                                cyan-alt-other 
cyan-alt-other-faint))))
    `(web-mode-block-comment-face ((,class :inherit web-mode-comment-face)))
-   `(web-mode-block-control-face ((,class :foreground ,magenta-alt :weight 
,modus-theme-bold)))
+   `(web-mode-block-control-face ((,class 
,@(modus-vivendi-theme-syntax-foreground
+                                             magenta-alt magenta-alt-faint)
+                                          
,@(modus-vivendi-theme-bold-weight))))
    `(web-mode-block-delimiter-face ((,class :foreground ,fg-main)))
    `(web-mode-block-face ((,class :background ,bg-dim)))
    `(web-mode-block-string-face ((,class :inherit web-mode-string-face)))
-   `(web-mode-bold-face ((,class :weight bold)))
-   `(web-mode-builtin-face ((,class :foreground ,magenta-alt :weight 
,modus-theme-bold)))
+   `(web-mode-bold-face ((,class :inherit bold)))
+   `(web-mode-builtin-face ((,class ,@(modus-vivendi-theme-syntax-foreground
+                                       magenta-alt magenta-alt-faint)
+                                    ,@(modus-vivendi-theme-bold-weight))))
    `(web-mode-comment-face ((,class :foreground ,fg-alt :slant 
,modus-theme-slant)))
-   `(web-mode-comment-keyword-face ((,class :background ,bg-dim :foreground 
,yellow :weight bold)))
-   `(web-mode-constant-face ((,class :foreground ,blue-alt-other)))
-   `(web-mode-css-at-rule-face ((,class :foreground ,blue-alt-other)))
-   `(web-mode-css-color-face ((,class :foreground ,magenta-alt :weight 
,modus-theme-bold)))
+   `(web-mode-comment-keyword-face ((,class :inherit bold :background ,bg-dim
+                                            
,@(modus-vivendi-theme-syntax-foreground
+                                               yellow yellow-faint))))
+   `(web-mode-constant-face ((,class ,@(modus-vivendi-theme-syntax-foreground
+                                        blue-alt-other blue-alt-other-faint))))
+   `(web-mode-css-at-rule-face ((,class 
,@(modus-vivendi-theme-syntax-foreground
+                                           blue-alt-other 
blue-alt-other-faint))))
+   `(web-mode-css-color-face ((,class ,@(modus-vivendi-theme-syntax-foreground
+                                         magenta-alt magenta-alt-faint)
+                                      ,@(modus-vivendi-theme-bold-weight))))
    `(web-mode-css-comment-face ((,class :inherit web-mode-comment-face)))
-   `(web-mode-css-function-face ((,class :foreground ,magenta-alt :weight 
,modus-theme-bold)))
-   `(web-mode-css-priority-face ((,class :foreground ,yellow-alt :weight 
,modus-theme-bold)))
-   `(web-mode-css-property-name-face ((,class :foreground ,cyan)))
-   `(web-mode-css-pseudo-class-face ((,class :foreground ,cyan-alt-other)))
-   `(web-mode-css-selector-face ((,class :foreground ,magenta-alt-other 
:weight ,modus-theme-bold)))
+   `(web-mode-css-function-face ((,class 
,@(modus-vivendi-theme-syntax-foreground
+                                            magenta-alt magenta-alt-faint)
+                                         ,@(modus-vivendi-theme-bold-weight))))
+   `(web-mode-css-priority-face ((,class 
,@(modus-vivendi-theme-syntax-foreground
+                                            yellow-alt yellow-alt-faint)
+                                         ,@(modus-vivendi-theme-bold-weight))))
+   `(web-mode-css-property-name-face ((,class 
,@(modus-vivendi-theme-syntax-foreground
+                                                 cyan cyan-faint))))
+   `(web-mode-css-pseudo-class-face ((,class 
,@(modus-vivendi-theme-syntax-foreground
+                                                cyan-alt-other 
cyan-alt-other-faint))))
+   `(web-mode-css-selector-face ((,class 
,@(modus-vivendi-theme-syntax-foreground
+                                            magenta-alt-other 
magenta-alt-other-faint)
+                                         ,@(modus-vivendi-theme-bold-weight))))
    `(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 :foreground ,fg-special-cold :slant 
,modus-theme-slant)))
    `(web-mode-error-face ((,class :inherit modus-theme-intense-red)))
-   `(web-mode-filter-face ((,class :foreground ,magenta)))
+   `(web-mode-filter-face ((,class ,@(modus-vivendi-theme-syntax-foreground
+                                      magenta magenta-faint))))
    `(web-mode-folded-face ((,class :underline t)))
-   `(web-mode-function-call-face ((,class :foreground ,magenta)))
-   `(web-mode-function-name-face ((,class :foreground ,magenta)))
-   `(web-mode-html-attr-custom-face ((,class :foreground ,cyan)))
+   `(web-mode-function-call-face ((,class 
,@(modus-vivendi-theme-syntax-foreground
+                                             magenta magenta-faint))))
+   `(web-mode-function-name-face ((,class 
,@(modus-vivendi-theme-syntax-foreground
+                                             magenta magenta-faint))))
+   `(web-mode-html-attr-custom-face ((,class 
,@(modus-vivendi-theme-syntax-foreground
+                                                cyan cyan-faint))))
    `(web-mode-html-attr-engine-face ((,class :foreground ,fg-main)))
    `(web-mode-html-attr-equal-face ((,class :foreground ,fg-main)))
-   `(web-mode-html-attr-name-face ((,class :foreground ,cyan)))
-   `(web-mode-html-attr-value-face ((,class :foreground ,blue-alt-other)))
-   `(web-mode-html-entity-face ((,class :foreground ,yellow-alt-other :slant 
,modus-theme-slant)))
+   `(web-mode-html-attr-name-face ((,class 
,@(modus-vivendi-theme-syntax-foreground
+                                              cyan cyan-faint))))
+   `(web-mode-html-attr-value-face ((,class 
,@(modus-vivendi-theme-syntax-foreground
+                                               blue-alt-other 
blue-alt-other-faint))))
+   `(web-mode-html-entity-face ((,class 
,@(modus-vivendi-theme-syntax-foreground
+                                           yellow-alt-other 
yellow-alt-other-faint)
+                                        :slant ,modus-theme-slant)))
    `(web-mode-html-tag-bracket-face ((,class :foreground ,fg-dim)))
-   `(web-mode-html-tag-custom-face ((,class :foreground ,magenta)))
-   `(web-mode-html-tag-face ((,class :foreground ,magenta)))
-   `(web-mode-html-tag-namespaced-face ((,class :foreground ,magenta-alt 
:weight ,modus-theme-bold)))
-   `(web-mode-html-tag-unclosed-face ((,class :foreground ,red :underline t)))
+   `(web-mode-html-tag-custom-face ((,class 
,@(modus-vivendi-theme-syntax-foreground
+                                               magenta magenta-faint))))
+   `(web-mode-html-tag-face ((,class ,@(modus-vivendi-theme-syntax-foreground
+                                        magenta magenta-faint))))
+   `(web-mode-html-tag-namespaced-face ((,class 
,@(modus-vivendi-theme-syntax-foreground
+                                                   magenta-alt 
magenta-alt-faint)
+                                                
,@(modus-vivendi-theme-bold-weight))))
+   `(web-mode-html-tag-unclosed-face ((,class 
,@(modus-vivendi-theme-syntax-foreground
+                                                 red red-faint)
+                                              :underline t)))
    `(web-mode-inlay-face ((,class :background ,bg-alt)))
    `(web-mode-italic-face ((,class :slant italic)))
    `(web-mode-javascript-comment-face ((,class :inherit 
web-mode-comment-face)))
    `(web-mode-javascript-string-face ((,class :inherit web-mode-string-face)))
    `(web-mode-json-comment-face ((,class :inherit web-mode-comment-face)))
-   `(web-mode-json-context-face ((,class :foreground ,magenta-alt)))
+   `(web-mode-json-context-face ((,class 
,@(modus-vivendi-theme-syntax-foreground
+                                            magenta-alt magenta-alt-faint))))
    `(web-mode-json-key-face ((,class :foreground ,blue-nuanced)))
    `(web-mode-json-string-face ((,class :inherit web-mode-string-face)))
    `(web-mode-jsx-depth-1-face ((,class :background ,blue-intense-bg 
:foreground ,fg-main)))
@@ -3378,40 +3750,52 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(web-mode-jsx-depth-3-face ((,class :background ,bg-special-cold 
:foreground ,fg-special-cold)))
    `(web-mode-jsx-depth-4-face ((,class :background ,bg-alt :foreground 
,blue-refine-fg)))
    `(web-mode-jsx-depth-5-face ((,class :background ,bg-alt :foreground 
,blue-nuanced)))
-   `(web-mode-keyword-face ((,class :foreground ,magenta-alt-other :weight 
,modus-theme-bold)))
-   `(web-mode-param-name-face ((,class :foreground ,magenta)))
+   `(web-mode-keyword-face ((,class ,@(modus-vivendi-theme-syntax-foreground
+                                       magenta-alt-other 
magenta-alt-other-faint)
+                                    ,@(modus-vivendi-theme-bold-weight))))
+   `(web-mode-param-name-face ((,class ,@(modus-vivendi-theme-syntax-foreground
+                                          magenta magenta-faint))))
    `(web-mode-part-comment-face ((,class :inherit web-mode-comment-face)))
    `(web-mode-part-face ((,class :inherit web-mode-block-face)))
    `(web-mode-part-string-face ((,class :inherit web-mode-string-face)))
-   `(web-mode-preprocessor-face ((,class :foreground ,magenta)))
+   `(web-mode-preprocessor-face ((,class 
,@(modus-vivendi-theme-syntax-foreground
+                                            red-alt-other 
red-alt-other-faint))))
    `(web-mode-script-face ((,class :inherit web-mode-part-face)))
-   `(web-mode-sql-keyword-face ((,class :foreground ,yellow :weight bold)))
-   `(web-mode-string-face ((,class :foreground ,blue-alt)))
+   `(web-mode-sql-keyword-face ((,class :inherit bold
+                                        
,@(modus-vivendi-theme-syntax-foreground
+                                           yellow yellow-faint))))
+   `(web-mode-string-face ((,class ,@(modus-vivendi-theme-syntax-foreground
+                                      blue-alt blue-alt-faint))))
    `(web-mode-style-face ((,class :inherit web-mode-part-face)))
-   `(web-mode-symbol-face ((,class :foreground ,blue-alt-other)))
-   `(web-mode-type-face ((,class :foreground ,magenta-alt)))
+   `(web-mode-symbol-face ((,class ,@(modus-vivendi-theme-syntax-foreground
+                                      blue-alt-other blue-alt-other-faint))))
+   `(web-mode-type-face ((,class ,@(modus-vivendi-theme-syntax-foreground
+                                    magenta-alt magenta-alt-faint))))
    `(web-mode-underline-face ((,class :underline t)))
-   `(web-mode-variable-name-face ((,class :foreground ,cyan)))
-   `(web-mode-warning-face ((,class :background ,bg-alt :foreground 
,yellow-alt-other :weight bold)))
+   `(web-mode-variable-name-face ((,class 
,@(modus-vivendi-theme-syntax-foreground
+                                             cyan cyan-faint))))
+   `(web-mode-warning-face ((,class :inherit bold :background ,bg-alt
+                                    ,@(modus-vivendi-theme-syntax-foreground
+                                       yellow-alt-other 
yellow-alt-other-faint))))
    `(web-mode-whitespace-face ((,class :background ,bg-whitespace :foreground 
,fg-whitespace)))
-   ;;;; wgrep
+;;;;; 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-file-face ((,class :foreground ,fg-special-warm)))
-   `(wgrep-reject-face ((,class :inherit modus-theme-intense-red :weight 
bold)))
-   ;;;; which-function-mode
+   `(wgrep-reject-face ((,class :inherit (modus-theme-intense-red bold))))
+;;;;; which-function-mode
    `(which-func ((,class :foreground ,magenta-active)))
-   ;;;; which-key
+;;;;; which-key
    `(which-key-command-description-face ((,class :foreground ,cyan)))
    `(which-key-group-description-face ((,class :foreground ,magenta-alt)))
    `(which-key-highlighted-command-face ((,class :foreground ,cyan-alt 
:underline t)))
-   `(which-key-key-face ((,class :foreground ,blue-intense :weight bold)))
+   `(which-key-key-face ((,class :inherit bold :foreground ,blue-intense)))
    `(which-key-local-map-description-face ((,class :foreground ,fg-main)))
    `(which-key-note-face ((,class :background ,bg-dim :foreground 
,fg-special-mild)))
    `(which-key-separator-face ((,class :foreground ,fg-alt)))
-   `(which-key-special-key-face ((,class :foreground ,yellow-intense :weight 
bold)))
-   ;;;; whitespace-mode
+   `(which-key-special-key-face ((,class :inherit bold :foreground 
,yellow-intense)))
+;;;;; whitespace-mode
    `(whitespace-big-indent ((,class :inherit modus-theme-subtle-red)))
    `(whitespace-empty ((,class :inherit modus-theme-intense-magenta)))
    `(whitespace-hspace ((,class :background ,bg-whitespace :foreground 
,fg-whitespace)))
@@ -3423,81 +3807,92 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(whitespace-space-before-tab ((,class :inherit modus-theme-subtle-cyan)))
    `(whitespace-tab ((,class :background ,bg-whitespace :foreground 
,fg-whitespace)))
    `(whitespace-trailing ((,class :inherit modus-theme-intense-red)))
-   ;;;; window-divider-mode
+;;;;; 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 :foreground ,cyan-active :weight ,modus-theme-bold)))
-   ;;;; writegood-mode
+;;;;; winum
+   `(winum-face ((,class ,@(modus-vivendi-theme-bold-weight) :foreground 
,cyan-active)))
+;;;;; writegood-mode
    `(writegood-duplicates-face ((,class :background ,bg-alt :foreground 
,red-alt :underline t)))
    `(writegood-passive-voice-face ((,class :foreground ,yellow-nuanced 
:underline (:color ,fg-lang-warning :style line))))
    `(writegood-weasels-face ((,class :foreground ,red-nuanced :underline 
(:color ,fg-lang-error :style line))))
-   ;;;; woman
+;;;;; woman
    `(woman-addition ((,class :foreground ,magenta-alt-other)))
-   `(woman-bold ((,class :foreground ,magenta :weight bold)))
+   `(woman-bold ((,class :inherit bold :foreground ,magenta)))
    `(woman-italic ((,class :foreground ,cyan :slant italic)))
    `(woman-unknown ((,class :foreground ,yellow :slant italic)))
-   ;;;; xah-elisp-mode
-   `(xah-elisp-at-symbol ((,class :foreground ,red-alt :weight bold)))
-   `(xah-elisp-cap-variable ((,class :foreground ,red-alt-other)))
-   `(xah-elisp-command-face ((,class :foreground ,cyan-alt-other)))
-   `(xah-elisp-dollar-symbol ((,class :foreground ,green)))
-   ;;;; xref
-   `(xref-file-header ((,class :foreground ,fg-special-cold :weight bold)))
+;;;;; xah-elisp-mode
+   `(xah-elisp-at-symbol ((,class :inherit bold
+                                  ,@(modus-vivendi-theme-syntax-foreground
+                                     red-alt red-alt-faint))))
+   `(xah-elisp-cap-variable ((,class ,@(modus-vivendi-theme-syntax-foreground
+                                        red-alt-other red-alt-other-faint))))
+   `(xah-elisp-command-face ((,class ,@(modus-vivendi-theme-syntax-foreground
+                                        cyan-alt-other cyan-alt-other-faint))))
+   `(xah-elisp-dollar-symbol ((,class ,@(modus-vivendi-theme-syntax-foreground
+                                         green green-faint))))
+;;;;; xref
+   `(xref-file-header ((,class :inherit bold :foreground ,fg-special-cold)))
    `(xref-line-number ((,class :foreground ,fg-alt)))
    `(xref-match ((,class :inherit match)))
-   ;;;; yaml-mode
+;;;;; yaml-mode
    `(yaml-tab-face ((,class :inherit modus-theme-intense-red)))
-   ;;;; yasnippet
+;;;;; yasnippet
    `(yas-field-highlight-face ((,class :background ,bg-alt :foreground 
,fg-main)))
-   ;;;; ztree
+;;;;; ztree
    `(ztreep-arrow-face ((,class :foreground ,fg-inactive)))
-   `(ztreep-diff-header-face ((,class :height 1.2 :foreground ,fg-special-cold 
:weight bold)))
-   `(ztreep-diff-header-small-face ((,class :foreground ,fg-special-mild 
:weight bold)))
+   `(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-model-diff-face ((,class :foreground ,red)))
    `(ztreep-diff-model-ignored-face ((,class :foreground ,fg-alt 
:strike-through t)))
    `(ztreep-diff-model-normal-face ((,class :foreground ,fg-alt)))
    `(ztreep-expand-sign-face ((,class :foreground ,blue)))
-   `(ztreep-header-face ((,class :height 1.2 :foreground ,fg-special-cold 
:weight bold)))
+   `(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)))
    `(ztreep-node-face ((,class :foreground ,fg-main))))
-  (when (>= emacs-major-version 27) ; EXPERIMENTAL this form is subject to 
review
+;;;; Emacs 27+
+  ;; EXPERIMENTAL this form is subject to review
+  (when (>= emacs-major-version 27)
     (custom-theme-set-faces
      'modus-vivendi
-     ;;;; tab-bar-mode
+;;;;; tab-bar-mode
      `(tab-bar ((,class :background ,bg-tab-bar :foreground ,fg-main)))
-     `(tab-bar-tab ((,class :box (:line-width 2 :color ,bg-tab-active)
-                            :background ,bg-tab-active :foreground ,fg-main 
:weight bold)))
+     `(tab-bar-tab ((,class :inherit bold :box (:line-width 2 :color 
,bg-tab-active)
+                            :background ,bg-tab-active :foreground ,fg-main)))
      `(tab-bar-tab-inactive ((,class :box (:line-width 2 :color 
,bg-tab-inactive)
                                      :background ,bg-tab-inactive :foreground 
,fg-dim)))
-     ;;;; tab-line-mode
+;;;;; tab-line-mode
      `(tab-line ((,class :height 0.95 :background ,bg-tab-bar :foreground 
,fg-main)))
      `(tab-line-close-highlight ((,class :foreground ,red)))
      `(tab-line-highlight ((,class :background ,blue-subtle-bg :foreground 
,fg-dim)))
-     `(tab-line-tab ((,class :box (:line-width 2 :color ,bg-tab-active)
-                             :background ,bg-tab-active :foreground ,fg-main 
:weight bold)))
+     `(tab-line-tab ((,class :inherit bold :box (:line-width 2 :color 
,bg-tab-active)
+                             :background ,bg-tab-active :foreground ,fg-main)))
      `(tab-line-tab-current ((,class :inherit tab-line-tab)))
      `(tab-line-tab-inactive ((,class :box (:line-width 2 :color 
,bg-tab-inactive)
                                       :background ,bg-tab-inactive :foreground 
,fg-dim)))))
-  ;;; Theme Variables
+;;; variables
   (custom-theme-set-variables
    'modus-vivendi
-   ;;;; ansi-colors
+;;;; ansi-colors
    `(ansi-color-faces-vector [default bold shadow italic underline success 
warning error])
    `(ansi-color-names-vector [,bg-main ,red ,green ,yellow ,blue ,magenta 
,cyan ,fg-main])
-   ;;;; flymake fringe indicators
+;;;; 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))
-   ;;;; ibuffer
+;;;; 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-header)
-   ;;;; hl-todo
+;;;; highlight-tail
+   `(highlight-tail-colors
+     '((,green-subtle-bg . 0)
+       (,cyan-subtle-bg . 20)))
+;;;; hl-todo
    `(hl-todo-keyword-faces
      '(("HOLD" . ,yellow-alt)
        ("TODO" . ,magenta)
@@ -3507,6 +3902,7 @@ Also bind `class' to ((class color) (min-colors 89))."
        ("OKAY" . ,cyan-alt)
        ("DONT" . ,green-alt)
        ("FAIL" . ,red)
+       ("BUG" . ,red)
        ("DONE" . ,green)
        ("NOTE" . ,yellow-alt-other)
        ("KLUDGE" . ,yellow)
@@ -3515,8 +3911,8 @@ Also bind `class' to ((class color) (min-colors 89))."
        ("FIXME" . ,red-alt-other)
        ("XXX+" . ,red-alt)
        ("REVIEW" . ,cyan-alt-other)
-       ("DEPRECATED" . ,cyan-nuanced)))
-   ;;;;; vc-annotate (C-x v g)
+       ("DEPRECATED" . ,blue-nuanced)))
+;;;; vc-annotate (C-x v g)
    `(vc-annotate-background nil)
    `(vc-annotate-background-mode nil)
    `(vc-annotate-color-map
@@ -3539,10 +3935,38 @@ Also bind `class' to ((class color) (min-colors 89))."
        (340 . ,blue-alt-other)
        (360 . ,magenta-alt-other)))
    `(vc-annotate-very-old-color nil)
-   ;;;; xterm-color
+;;;; xterm-color
    `(xterm-color-names [,bg-main ,red ,green ,yellow ,blue ,magenta ,cyan 
,fg-alt])
-   `(xterm-color-names-bright [,bg-alt ,red-alt ,green-alt ,yellow-alt 
,blue-alt ,magenta-alt ,cyan-alt ,fg-main])))
-
+   `(xterm-color-names-bright [,bg-alt ,red-alt ,green-alt ,yellow-alt 
,blue-alt ,magenta-alt ,cyan-alt ,fg-main]))
+;;; Conditional theme variables
+;;;; org-src-block-faces
+  ;; this is a user option to add a colour-coded background to source
+  ;; blocks for various programming languages
+  (when (eq modus-vivendi-theme-org-blocks 'rainbow)
+    (custom-theme-set-variables
+     'modus-vivendi
+     `(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)
+         ("json" modus-theme-nuanced-cyan))))))
+
+;;; library provides
 ;;;###autoload
 (when load-file-name
   (add-to-list 'custom-theme-load-path



reply via email to

[Prev in Thread] Current Thread [Next in Thread]