/* Copyright (c) 2025-2026 马建军. All rights reserved. * 专有软件 — 未经授权禁止复制、传播、转售。 * 详见 LICENSE.zh-CN.txt */ (function () { var KEY = 'qihuo-theme'; function updateButtons(theme) { document.querySelectorAll('[data-theme-pick]').forEach(function (btn) { var pick = btn.getAttribute('data-theme-pick'); var on = pick === theme; btn.classList.toggle('active', on); btn.setAttribute('aria-pressed', on ? 'true' : 'false'); }); } function apply(theme) { if (theme !== 'light' && theme !== 'dark') { theme = 'dark'; } document.documentElement.setAttribute('data-theme', theme); document.documentElement.style.colorScheme = theme; document.documentElement.style.background = theme === 'light' ? '#e8eef8' : '#050508'; try { localStorage.setItem(KEY, theme); } catch (e) { /* ignore */ } updateButtons(theme); var meta = document.getElementById('meta-theme-color'); if (meta) meta.setAttribute('content', theme === 'light' ? '#e8eef8' : '#050508'); } var saved = null; try { saved = localStorage.getItem(KEY); } catch (e) { /* ignore */ } if (saved === 'light' || saved === 'dark') { apply(saved); } else { var prefersLight = window.matchMedia && window.matchMedia('(prefers-color-scheme: light)').matches; apply(prefersLight ? 'light' : 'dark'); } document.addEventListener('click', function (e) { var btn = e.target.closest('[data-theme-pick]'); if (!btn) return; e.preventDefault(); apply(btn.getAttribute('data-theme-pick')); }); function syncButtons() { var cur = document.documentElement.getAttribute('data-theme') || 'dark'; updateButtons(cur); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', syncButtons); } else { syncButtons(); } })();