diff --git a/src/_includes/base.njk b/src/_includes/base.njk
index b0686fa..e2e5085 100644
--- a/src/_includes/base.njk
+++ b/src/_includes/base.njk
@@ -3,24 +3,8 @@
-
-
+
+
{{ title or site.title }}
diff --git a/src/assets/js/theme-init.js b/src/assets/js/theme-init.js
new file mode 100644
index 0000000..b2565bc
--- /dev/null
+++ b/src/assets/js/theme-init.js
@@ -0,0 +1,15 @@
+/* Set theme before paint to avoid a flash: saved choice, else system preference.
+ Also emit a matching theme-color meta so the mobile browser chrome matches. */
+(function () {
+ document.documentElement.classList.add('js');
+ var theme = 'dark';
+ try {
+ var saved = localStorage.getItem('theme');
+ theme = saved || (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light');
+ } catch (e) {}
+ document.documentElement.dataset.theme = theme;
+ var meta = document.createElement('meta');
+ meta.name = 'theme-color';
+ meta.content = theme === 'light' ? '#eef2f8' : '#070d19';
+ document.head.appendChild(meta);
+})();