<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="UTF-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <title>ClinAxis AI | GxP 法规智能检索与合规助手平台</title>
  <meta name="description" content="ClinAxis AI 提供基于人工智能的 GxP 法规智能检索与合规支持服务，覆盖 FDA、EMA、NMPA 等多国法规文本，保障审计追踪与数据完整性。" />
  <meta name="keywords" content="GxP, 法规检索, 合规助手, AI, 制药, 21 CFR Part 11, ALCOA+, 医疗器械" />
  <link rel="canonical" href="https://clinaxisai.dpdns.org/" />
  <link rel="icon" type="image/png" href="/logo.png" />

  <!-- Open Graph -->
  <meta property="og:title" content="ClinAxis AI | GxP 法规智能检索与合规助手" />
  <meta property="og:description" content="AI 驱动的制药合规平台，支持多管辖区法规语义检索、偏差调查辅助与审计追踪。" />
  <meta property="og:type" content="website" />
  <meta property="og:url" content="https://clinaxisai.dpdns.org/" />
  <meta property="og:image" content="https://clinaxisai.dpdns.org/logo-with-text.png" />
  <meta property="og:site_name" content="ClinAxis AI" />
  <meta property="og:locale" content="zh_CN" />

  <!-- Twitter Card -->
  <meta name="twitter:card" content="summary" />
  <meta name="twitter:title" content="ClinAxis AI | GxP 法规智能检索与合规助手" />
  <meta name="twitter:description" content="AI 驱动的制药合规平台，支持多管辖区法规语义检索与偏差调查辅助。" />
  <meta name="twitter:image" content="https://clinaxisai.dpdns.org/logo-with-text.png" />

  <!-- 结构化数据 JSON-LD -->
  <script type="application/ld+json">
  {
    "@context": "https://schema.org",
    "@type": "SoftwareApplication",
    "name": "ClinAxis AI",
    "applicationCategory": "BusinessApplication",
    "operatingSystem": "Web",
    "description": "GxP 法规智能检索与合规助手平台，覆盖 FDA、EMA、NMPA 等多国法规文本",
    "url": "https://clinaxisai.dpdns.org",
    "offers": {
      "@type": "Offer",
      "availability": "https://schema.org/RestrictedAvailability"
    },
    "provider": {
      "@type": "Organization",
      "name": "ClinAxis AI"
    }
  }
  </script>

  <!-- 预加载关键 CSS -->
  <link rel="preload" href="/assets/index.css" as="style" />
  
  <!-- 全局主题和过渡样式 -->
  <style>
    /* 亮色（默认） */
    :root {
      --bg: #f7f9fb;
      --bg2: #eef1f5;
      --ink: #1a2332;
      --accent: #2563eb;
      --accent2: #00d4aa;
    }
    /* 暗色 */
    [data-theme="dark"] {
      --bg: #0b0f17;
      --bg2: #111827;
      --ink: #f1f5f9;
      --accent: #2563eb;
      --accent2: #00d4aa;
    }
    body { margin: 0; background: var(--bg); color: var(--ink); }

    /* 主题切换全局过渡 —— 仅对主题切换瞬间生效，避免组件挂载时闪烁 */
    .theme-transition,
    .theme-transition *,
    .theme-transition *::before,
    .theme-transition *::after {
      transition: background-color 0.18s ease-in-out,
                  color 0.12s ease-in-out,
                  border-color 0.18s ease-in-out,
                  fill 0.18s ease-in-out,
                  stroke 0.18s ease-in-out;
    }
    
    /* 首屏骨架屏 —— 避免白屏等待 */
    #root:empty::before {
      content: '';
      display: block;
      width: 100%;
      height: 100vh;
      background: 
        linear-gradient(90deg, var(--bg2) 25%, var(--bg) 50%, var(--bg2) 75%);
      background-size: 200% 100%;
      animation: shimmer 1.5s infinite;
    }
    
    @keyframes shimmer {
      0% { background-position: 200% 0; }
      100% { background-position: -200% 0; }
    }
  </style>
  <script type="module" crossorigin src="/assets/index-dfNyAn27.js"></script>
  <link rel="modulepreload" crossorigin href="/assets/vendor-antd-g0Fw3v7y.js">
  <link rel="modulepreload" crossorigin href="/assets/vendor-markdown-piUxEsNU.js">
  <link rel="modulepreload" crossorigin href="/assets/vendor-react-C1ekzSBP.js">
  <link rel="modulepreload" crossorigin href="/assets/vendor-utils-D9TS_AEx.js">
  <link rel="modulepreload" crossorigin href="/assets/vendor-stores-B8ZRYmmj.js">
  <link rel="stylesheet" crossorigin href="/assets/style-Br9dup5-.css">
</head>
<body>
  <div id="root"></div>
</body>
</html>
