diff --git a/docs/images/architecture.png b/docs/images/architecture.png
index bce8dcb74293782829e314bd30af8bbfe38c31e9..14e87c96cd53a7ad763e178490ed0b342caacc45 100644
Binary files a/docs/images/architecture.png and b/docs/images/architecture.png differ
diff --git a/docs/stylesheets/extra.css b/docs/stylesheets/extra.css
index 03a3c66d0fe57e411d25cfdeb12ddd01c46d6312..79d39f7a9359c6b367902ca644a294e02da5b38f 100644
--- a/docs/stylesheets/extra.css
+++ b/docs/stylesheets/extra.css
@@ -1,3 +1,9 @@
+:root {
+    --md-primary-fg-color: #5e7677;
+    --md-accent-fg-color: #4b5e5e /* darken 10% */;
+    --md-primary-fg-color--dark: #4b5e5e /* darken 10% */;
+}
+
 .md-typeset a,
 .md-typeset a {
     color: var(--md-typeset-color);
@@ -8,37 +14,4 @@
 .md-typeset a:hover {
     color: var(--md-typeset-color);
     border-bottom: 2px solid var(--md-primary-fg-color--dark);
-}
-
-[data-md-color-scheme="default"] .md-header,
-[data-md-color-scheme="default"] .md-tabs {
-    background: #5e7677;
-}
-
-[data-md-color-scheme="slate"] .md-header,
-[data-md-color-scheme="slate"] .md-tabs {
-    background-color: hsla(var(--md-hue), 15%, 12%, 1.00);
-}
-
-/* buttons */
-
-.md-typeset .md-button {
-    background-color: #5e7677;
-    border-color: #5e7677;
-}
-
-.md-typeset .md-button:is(:focus,:hover) {
-    background-color: #435556;
-    border-color: #435556;
-}
-
-/* tabs */
-
-.md-typeset .tabbed-set > input:first-child:checked ~ .tabbed-labels > :first-child,
-.md-typeset .tabbed-labels > label:hover {
-    color: #5e7677;
-}
-
-.js .md-typeset .tabbed-labels:before {
-    background: #5e7677;
 }
\ No newline at end of file
diff --git a/misc/architecture.drawio b/misc/architecture.drawio
index 8ce2f771feb94d29b4e45cdd5ba294585340b2f0..269f8c054c4d436152036d57fa9acf157842d121 100644
--- a/misc/architecture.drawio
+++ b/misc/architecture.drawio
@@ -1 +1 @@
-<mxfile host="app.diagrams.net" modified="2023-02-14T08:32:46.873Z" agent="5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36" etag="LFuOAn-oVRe2YUVyEZzB" version="20.8.20" type="device"><diagram name="Page-1" id="BS_rNRZWEkVqn4O3IFNu">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</diagram></mxfile>
\ No newline at end of file
+<mxfile host="app.diagrams.net" modified="2023-02-20T07:00:04.743Z" agent="5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36" etag="HnwohW7NpaFyWxVLtqNZ" version="20.8.20" type="device"><diagram name="Page-1" id="BS_rNRZWEkVqn4O3IFNu">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</diagram></mxfile>
\ No newline at end of file
diff --git a/mkdocs.yml b/mkdocs.yml
index 579e2ff6e0f9c86556733fbc8dffee265425c691..b21d029896d17da7a335e216f80bb64c1e444726 100644
--- a/mkdocs.yml
+++ b/mkdocs.yml
@@ -30,22 +30,12 @@ theme:
   icon:
     repo: fontawesome/brands/git-alt
   palette:
-    - scheme: default
-      primary: "#5e7677"
-      accent: "#435556"
-      font:
-        code: Roboto Mono
-      toggle:
-        icon: material/weather-night
-        name: Switch to light mode
-    - scheme: slate
-      primary: red
-      accent: red
-      font:
-        code: Roboto Mono
-      toggle:
-        icon: material/weather-sunny
-        name: Switch to dark mode
+    scheme: default
+    font:
+      code: Roboto Mono
+    toggle:
+      icon: material/weather-night
+      name: Switch to light mode
   name: material
 markdown_extensions:
   - attr_list