/** 同一套规则用于首屏内联启动和运行时切换,避免两次绘制使用不同主题。 */ export function applyTheme(mode) { if (mode === undefined) { try { mode = localStorage.getItem("theme"); } catch {} } if (mode !== "light" && mode !== "dark") mode = "auto"; const dark = mode === "dark" || (mode === "auto" && matchMedia("(prefers-color-scheme: dark)").matches); document.documentElement.classList.toggle("app-dark", dark); document.documentElement.style.colorScheme = dark ? "dark" : "light"; return { mode, dark }; }