<!DOCTYPE html>
<html lang="zh-CN">
  <head>
    <meta charset="UTF-8" />
    <link rel="icon" type="image/svg+xml" href="/favicon.svg" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />

    <!-- PWA 相关（US-V-017）：可安装 + 离线支持 -->
    <link rel="manifest" href="/manifest.json" />
    <meta name="theme-color" content="#000000" />
    <meta name="background-color" content="#FFFFF2" />
    <meta name="apple-mobile-web-app-capable" content="yes" />
    <meta name="mobile-web-app-capable" content="yes" />
    <meta name="apple-mobile-web-app-status-bar-style" content="default" />
    <meta name="apple-mobile-web-app-title" content="试卷系统" />
    <link rel="apple-touch-icon" href="/icons/icon.svg" />

    <link rel="preconnect" href="https://fonts.googleapis.com">
    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
    <link href="https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400;500;600;700&display=swap" rel="stylesheet">
    <title>智能试卷生成系统</title>
    <!-- 防 FOUC：在 CSS 加载前同步应用 .dark class，避免主题闪烁（MOTION-SPEC §4.4） -->
    <script>
      (function () {
        try {
          var stored = localStorage.getItem('theme');
          var resolved;
          if (stored === 'light' || stored === 'dark') {
            resolved = stored;
          } else {
            // system 或未设置：跟随系统
            resolved = window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
          }
          if (resolved === 'dark') {
            document.documentElement.classList.add('dark');
          }
        } catch (e) {
          // localStorage 不可用时降级为亮色
        }
      })();
    </script>
    <!-- Service Worker 注册：暂时禁用（旧 SW 缓存 HTML 为 JS 导致死锁，需用户手动清除） -->
    <!-- 恢复方式：用户 F12 → Application → Service Workers → Unregister，然后重新启用下方代码 -->
    <script>
      (function () {
        if (!('serviceWorker' in navigator)) return;
        // 强制清除所有旧缓存 + 注销所有旧 SW
        if ('caches' in window) {
          caches.keys().then(function (keys) {
            keys.forEach(function (key) { caches.delete(key); });
          });
        }
        navigator.serviceWorker.getRegistrations().then(function (regs) {
          regs.forEach(function (reg) { reg.unregister(); });
        });
      })();
    </script>
    <script type="module" crossorigin src="/assets/index-CiRPbS12.js"></script>
    <link rel="stylesheet" crossorigin href="/assets/index-uzJbuUvH.css">
  </head>
  <body class="bg-surface text-ink font-sans">
    <div id="root"></div>
  </body>
</html>
