diff --git a/site/static/docs/5.3/assets/js/color-modes.js b/site/static/docs/5.3/assets/js/color-modes.js
index 4528ba36b846ef68ee4b6af8460064b9f286f78a..bf0e84c4d46da75336c69dd1fb0bc7621715a0b1 100644
--- a/site/static/docs/5.3/assets/js/color-modes.js
+++ b/site/static/docs/5.3/assets/js/color-modes.js
@@ -8,17 +8,18 @@
   'use strict'
 
   const storedTheme = localStorage.getItem('theme')
+  const prefersDarkMode = window.matchMedia('(prefers-color-scheme: dark)').matches
 
   const getPreferredTheme = () => {
     if (storedTheme) {
       return storedTheme
     }
 
-    return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light'
+    return prefersDarkMode ? 'dark' : 'light'
   }
 
   const setTheme = function (theme) {
-    if (theme === 'auto' && window.matchMedia('(prefers-color-scheme: dark)').matches) {
+    if (theme === 'auto' && prefersDarkMode) {
       document.documentElement.setAttribute('data-bs-theme', 'dark')
     } else {
       document.documentElement.setAttribute('data-bs-theme', theme)