diff --git a/index.html b/index.html
index eef9ee938a525c6d35c5e2864cf2b3609ea17e12..2136527f88685d8cbfd8bfda8e451dc38459efc7 100644
--- a/index.html
+++ b/index.html
@@ -182,6 +182,9 @@
         text-align: right;
         margin-top: 1rem;
       }
+      body.noscript .language-selection {
+        display: none;
+      }
       .language-selection > * {
         margin-left: 0.5em;
       }
@@ -218,9 +221,28 @@
         background-color: rgb(217, 243, 220);
         color: rgb(1, 71, 7);
       }
+
+      @media (prefers-color-scheme: dark) {
+      body {
+        background-color: #1e1e2e;
+        color: #cdd6f4;
+      }
+      h1 {
+        color: #eba0ac;
+      }
+      a.block-link, footer {
+        background-color: #181825;
+      }
+      a.block-link:hover, a.block-link:active {
+        background-color: #11111b;
+      }
+      a, a.block-link h1, a.block-link h2 {
+        color: #89b4fa;
+      }
+    }
     </style>
   </head>
-  <body>
+  <body lang="en" class="noscript">
     <div class="page">
       <nav>
         <div class="wrapper language-selection">
@@ -328,6 +350,8 @@
 
     <script type="text/javascript" defer>
       (function () {
+        document.body.classList.remove("noscript");
+
         // In page navigation - for language switching
         document.body.addEventListener('click', function (ev) {
           if (!ev.target.href) return;