@charset "UTF-8";
/* ============================================================
   MedAxis Custom Stylesheet for OJS (Default Theme override)
   Author: Design Spec v2
   Apply via OJS backend / Settings / Website / Appearance / Advanced / Journal Style Sheet
   ============================================================ */

/* -----------------------------------------------------------
   1. 引入字体 + CSS 变量
   ----------------------------------------------------------- */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Playfair+Display:wght@600;700&display=swap');

:root {
  --c-primary-900: #0F3057;
  --c-primary-700: #1B5A8E;
  --c-primary-500: #2E86AB;
  --c-primary-50:  #E8F1F8;

  /* v2: AI 时代色 */
  --c-ai-700:      #6D4AFF;
  --c-ai-500:      #8B6EFF;
  --c-ai-50:       #F0EBFF;

  --c-ink-900:     #0B1220;
  --c-ink-700:     #1F2937;
  --c-ink-500:     #6B7280;
  --c-line:        #E5E9F0;
  --c-bg-soft:     #F7F9FB;
  --c-white:       #FFFFFF;

  --c-success:     #10B981;
  --c-warn:        #F59E0B;
  --c-danger:      #EF4444;

  --radius-sm: 6px;
  --radius-md: 12px;
  --radius-lg: 16px;

  --shadow-sm: 0 2px 8px rgba(15,48,87,0.06);
  --shadow-md: 0 6px 20px rgba(15,48,87,0.10);
  --shadow-lg: 0 12px 32px rgba(15,48,87,0.14);
  --shadow-ai: 0 12px 32px rgba(109,74,255,0.18);

  --max-width: 1200px;
  --font-sans: 'Inter', -apple-system, 'PingFang SC', 'Microsoft YaHei', 'Noto Sans SC', sans-serif;
  --font-serif: 'Playfair Display', Georgia, serif;
  --font-mono: 'JetBrains Mono', 'Menlo', monospace;
}

/* -----------------------------------------------------------
   2. 全局排版
   ----------------------------------------------------------- */
html, body, .pkp_structure_page {
  font-family: var(--font-sans);
  color: var(--c-ink-700);
  background: var(--c-white);
  font-size: 16px;
  line-height: 1.65;
}

h1, h2, h3, h4, h5 { color: var(--c-primary-900); font-weight: 700; letter-spacing: -0.01em; }
h1 { font-size: 2.5rem; line-height: 1.2; }
h2 { font-size: 2rem; line-height: 1.25; }
h3 { font-size: 1.375rem; }

a { color: var(--c-primary-700); text-decoration: none; transition: color .2s; }
a:hover { color: var(--c-primary-900); text-decoration: underline; }

/* -----------------------------------------------------------
   3. 顶栏与导航 (覆盖 OJS default theme)
   ----------------------------------------------------------- */
.pkp_structure_head {
  background: var(--c-white);
  border-bottom: 1px solid var(--c-line);
  box-shadow: var(--shadow-sm);
}

.pkp_site_name_wrapper { padding: 18px 0; }
.pkp_site_name .is_text,
.pkp_site_name a {
  font-family: var(--font-serif);
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--c-primary-900) !important;
  letter-spacing: -0.02em;
}

.pkp_navigation_primary_row {
  background: var(--c-white);
  border-top: 1px solid var(--c-line);
}
.pkp_navigation_primary > li > a {
  color: var(--c-ink-700);
  font-weight: 600;
  font-size: 0.95rem;
  padding: 16px 18px;
  position: relative;
  transition: color .2s;
}
.pkp_navigation_primary > li > a:hover,
.pkp_navigation_primary > li.current > a {
  color: var(--c-primary-700);
  background: transparent;
}
.pkp_navigation_primary > li > a::after {
  content: '';
  position: absolute;
  bottom: 0; left: 18px; right: 18px;
  height: 3px;
  background: var(--c-primary-700);
  transform: scaleX(0);
  transition: transform .25s;
  transform-origin: left;
}
.pkp_navigation_primary > li > a:hover::after,
.pkp_navigation_primary > li.current > a::after {
  transform: scaleX(1);
}

/* 用户右上角(Register / Login) */
.pkp_navigation_user a {
  font-size: 0.85rem;
  color: var(--c-ink-500);
}
.pkp_navigation_user li:last-child a {
  background: var(--c-primary-700);
  color: var(--c-white) !important;
  padding: 8px 16px;
  border-radius: var(--radius-sm);
  font-weight: 600;
}
.pkp_navigation_user li:last-child a:hover { background: var(--c-primary-900); }

/* -----------------------------------------------------------
   4. 主结构与容器
   ----------------------------------------------------------- */
.pkp_structure_content { background: var(--c-white); }
.pkp_structure_main { padding-top: 0; }
.page, .pkp_page_index { max-width: var(--max-width); margin: 0 auto; padding: 0 24px; }

/* 隐藏 OJS 默认重复的页面标题(让 Hero 接管) */
.pkp_page_index > h1:first-child { display: none; }

/* -----------------------------------------------------------
   5. 自定义 Hero 区 (与下一份 HTML 文件配套)
   ----------------------------------------------------------- */
.mx-hero {
  position: relative;
  margin: 0 -1000px 64px;
  padding: 96px 1000px 88px;
  background:
    linear-gradient(135deg, rgba(15,48,87,0.92) 0%, rgba(27,90,142,0.88) 100%),
    url('https://images.unsplash.com/photo-1532187863486-abf9dbad1b69?auto=format&fit=crop&w=1600&q=80') center/cover;
  color: var(--c-white);
  overflow: hidden;
}
.mx-hero::before {
  content: '';
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at top right, rgba(46,134,171,0.4) 0%, transparent 60%);
  pointer-events: none;
}
.mx-hero__inner {
  max-width: var(--max-width);
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
.mx-hero__eyebrow {
  display: inline-block;
  background: rgba(255,255,255,0.15);
  backdrop-filter: blur(4px);
  border: 1px solid rgba(255,255,255,0.25);
  color: var(--c-white);
  padding: 6px 14px;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 24px;
}
.mx-hero__title {
  font-family: var(--font-serif);
  font-size: 4.5rem;
  font-weight: 800;
  line-height: 1.02;
  color: var(--c-white);
  margin: 0 0 20px;
  letter-spacing: -0.035em;
}
.mx-hero__title em {
  font-style: italic;
  background: linear-gradient(90deg, #BFE0F2 0%, #C8B8FF 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
.mx-hero__slogan-zh {
  display: block;
  font-family: var(--font-sans);
  font-size: 1.05rem;
  font-weight: 600;
  letter-spacing: 0.18em;
  color: #C8B8FF;
  margin: 0 0 20px;
  text-transform: none;
}
.mx-hero__lead {
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1.6;
  color: rgba(255,255,255,0.92);
  max-width: 720px;
  margin: 0 0 40px;
}
.mx-hero__actions { display: flex; gap: 14px; flex-wrap: wrap; }

/* -----------------------------------------------------------
   6. 按钮
   ----------------------------------------------------------- */
.mx-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 28px;
  border-radius: var(--radius-sm);
  font-weight: 600;
  font-size: 0.95rem;
  text-decoration: none !important;
  transition: all .2s;
  border: 1.5px solid transparent;
  cursor: pointer;
}
.mx-btn--primary {
  background: var(--c-primary-700);
  color: var(--c-white) !important;
}
.mx-btn--primary:hover {
  background: var(--c-primary-900);
  transform: translateY(-1px);
  box-shadow: var(--shadow-md);
}
.mx-btn--ghost-light {
  background: transparent;
  color: var(--c-white) !important;
  border-color: rgba(255,255,255,0.5);
}
.mx-btn--ghost-light:hover {
  background: var(--c-white);
  color: var(--c-primary-900) !important;
}
.mx-btn--outline {
  background: transparent;
  color: var(--c-primary-700) !important;
  border-color: var(--c-primary-700);
}
.mx-btn--outline:hover {
  background: var(--c-primary-700);
  color: var(--c-white) !important;
}

/* -----------------------------------------------------------
   7. 指标条 / Stats Bar
   ----------------------------------------------------------- */
.mx-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 1px;
  background: var(--c-line);
  border: 1px solid var(--c-line);
  border-radius: var(--radius-md);
  overflow: hidden;
  margin: 0 0 80px;
  box-shadow: var(--shadow-sm);
}
.mx-stat {
  background: var(--c-white);
  padding: 28px 20px;
  text-align: center;
}
.mx-stat__value {
  font-family: var(--font-serif);
  font-size: 1.75rem;
  font-weight: 700;
  color: var(--c-primary-900);
  display: block;
  margin-bottom: 4px;
}
.mx-stat__label {
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--c-ink-500);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

/* -----------------------------------------------------------
   8. 区块 / Section
   ----------------------------------------------------------- */
.mx-section { margin: 0 0 80px; }
.mx-section__head { margin-bottom: 40px; text-align: center; }
.mx-section__eyebrow {
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--c-primary-500);
  display: block;
  margin-bottom: 12px;
}
.mx-section__title {
  font-size: 2.25rem;
  margin: 0 0 12px;
  color: var(--c-primary-900);
}
.mx-section__lead {
  color: var(--c-ink-500);
  font-size: 1.05rem;
  max-width: 680px;
  margin: 0 auto;
}

/* -----------------------------------------------------------
   9. 研究方向卡片
   ----------------------------------------------------------- */
.mx-topics {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 24px;
}
.mx-topic {
  background: var(--c-white);
  border: 1px solid var(--c-line);
  border-radius: var(--radius-md);
  padding: 32px 24px;
  transition: all .25s;
  position: relative;
  overflow: hidden;
}
.mx-topic::before {
  content: '';
  position: absolute; top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--c-primary-700), var(--c-primary-500));
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .3s;
}
.mx-topic:hover {
  border-color: var(--c-primary-500);
  box-shadow: var(--shadow-lg);
  transform: translateY(-4px);
}
.mx-topic:hover::before { transform: scaleX(1); }
.mx-topic__icon {
  width: 56px; height: 56px;
  background: var(--c-primary-50);
  border-radius: var(--radius-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.7rem;
  margin-bottom: 20px;
}
.mx-topic__title {
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--c-primary-900);
  margin: 0 0 8px;
}
.mx-topic__desc {
  font-size: 0.92rem;
  color: var(--c-ink-500);
  line-height: 1.6;
  margin: 0;
}

/* -----------------------------------------------------------
   10. 行动卡 / CTA Cards (For Authors etc.)
   ----------------------------------------------------------- */
.mx-cta-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 24px;
}
.mx-cta {
  background: linear-gradient(135deg, var(--c-primary-50), var(--c-white));
  border: 1px solid var(--c-line);
  border-radius: var(--radius-md);
  padding: 32px;
  transition: all .25s;
  display: flex;
  flex-direction: column;
}
.mx-cta:hover {
  box-shadow: var(--shadow-lg);
  border-color: var(--c-primary-500);
}
.mx-cta__badge {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--c-primary-500);
  margin-bottom: 12px;
}
.mx-cta__title {
  font-size: 1.35rem;
  font-weight: 700;
  color: var(--c-primary-900);
  margin: 0 0 12px;
}
.mx-cta__desc {
  flex: 1;
  font-size: 0.95rem;
  color: var(--c-ink-500);
  line-height: 1.65;
  margin: 0 0 20px;
}
.mx-cta__link {
  font-weight: 600;
  color: var(--c-primary-700);
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.95rem;
}
.mx-cta__link::after {
  content: '→';
  transition: transform .2s;
}
.mx-cta__link:hover::after { transform: translateX(4px); }

/* -----------------------------------------------------------
   11. OJS 当期目录区块美化
   ----------------------------------------------------------- */
.cmp_announcement,
.obj_announcement_summary {
  background: var(--c-white);
  border: 1px solid var(--c-line);
  border-radius: var(--radius-md);
  padding: 24px;
  margin-bottom: 16px;
  box-shadow: var(--shadow-sm);
  transition: all .2s;
}
.cmp_announcement:hover { box-shadow: var(--shadow-md); border-color: var(--c-primary-500); }

.obj_issue_toc .heading h2,
.obj_issue_summary .title {
  font-family: var(--font-serif);
  color: var(--c-primary-900);
}

/* OJS 默认文章列表项 */
.cmp_article_list .obj_article_summary {
  padding: 20px;
  border: 1px solid var(--c-line);
  border-radius: var(--radius-md);
  margin-bottom: 14px;
  background: var(--c-white);
  transition: all .2s;
}
.cmp_article_list .obj_article_summary:hover {
  box-shadow: var(--shadow-md);
  border-color: var(--c-primary-500);
}
.cmp_article_list .title a {
  color: var(--c-primary-900);
  font-weight: 700;
}

/* -----------------------------------------------------------
   12. 侧边栏
   ----------------------------------------------------------- */
.pkp_structure_sidebar .pkp_block {
  background: var(--c-bg-soft);
  border-radius: var(--radius-md);
  padding: 20px;
  margin-bottom: 20px;
  border: 1px solid var(--c-line);
}
.pkp_structure_sidebar .pkp_block .title {
  color: var(--c-primary-900);
  font-weight: 700;
  font-size: 1rem;
  margin-bottom: 12px;
  padding-bottom: 8px;
  border-bottom: 2px solid var(--c-primary-500);
}

/* -----------------------------------------------------------
   13. 页脚
   ----------------------------------------------------------- */
.pkp_structure_footer_wrapper,
.pkp_structure_footer {
  background: var(--c-ink-900);
  color: rgba(255,255,255,0.7);
  padding: 60px 0 30px;
  border-top: 4px solid var(--c-primary-700);
}
.pkp_structure_footer a { color: rgba(255,255,255,0.85); }
.pkp_structure_footer a:hover { color: var(--c-white); }
.pkp_brand_footer {
  border-top: 1px solid rgba(255,255,255,0.1);
  padding-top: 24px;
  margin-top: 40px;
  font-size: 0.8rem;
  opacity: 0.5;
}

/* -----------------------------------------------------------
   14. 表单 / 输入框
   ----------------------------------------------------------- */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="search"],
textarea,
select {
  border: 1.5px solid var(--c-line);
  border-radius: var(--radius-sm);
  padding: 10px 14px;
  font-family: var(--font-sans);
  font-size: 0.95rem;
  transition: border-color .2s, box-shadow .2s;
}
input:focus, textarea:focus, select:focus {
  outline: none;
  border-color: var(--c-primary-500);
  box-shadow: 0 0 0 3px rgba(46,134,171,0.15);
}

/* OJS 提交按钮 */
button.pkp_button,
.cmp_button,
button[type="submit"] {
  background: var(--c-primary-700);
  color: var(--c-white);
  border: none;
  border-radius: var(--radius-sm);
  padding: 12px 24px;
  font-weight: 600;
  cursor: pointer;
  transition: background .2s;
}
button.pkp_button:hover,
.cmp_button:hover,
button[type="submit"]:hover { background: var(--c-primary-900); }

/* -----------------------------------------------------------
   15. 徽章
   ----------------------------------------------------------- */
.mx-badge {
  display: inline-block;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
.mx-badge--oa { background: rgba(16,185,129,0.12); color: var(--c-success); }
.mx-badge--peer { background: rgba(46,134,171,0.12); color: var(--c-primary-500); }
.mx-badge--bimonthly { background: rgba(245,158,11,0.12); color: var(--c-warn); }

/* -----------------------------------------------------------
   16. 数据库收录 Logo 横条
   ----------------------------------------------------------- */
.mx-indexed {
  background: var(--c-bg-soft);
  border-radius: var(--radius-md);
  padding: 32px 24px;
  margin: 0 0 80px;
  text-align: center;
}
.mx-indexed__label {
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--c-ink-500);
  margin-bottom: 20px;
}
.mx-indexed__logos {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 36px;
}
.mx-indexed__logos > * {
  font-weight: 700;
  color: var(--c-primary-900);
  opacity: 0.65;
  transition: opacity .2s;
  font-size: 1.1rem;
}
.mx-indexed__logos > *:hover { opacity: 1; }

/* -----------------------------------------------------------
   17. 响应式
   ----------------------------------------------------------- */
@media (max-width: 900px) {
  .mx-hero { padding: 60px 24px; margin: 0 0 48px; }
  .mx-hero__title { font-size: 2.5rem; }
  .mx-hero__lead { font-size: 1.05rem; }
  .mx-section { margin-bottom: 56px; }
  .mx-section__title { font-size: 1.7rem; }
  h1 { font-size: 1.9rem; }
  h2 { font-size: 1.5rem; }
}
@media (max-width: 600px) {
  .mx-hero__title { font-size: 2rem; }
  .mx-hero__actions { flex-direction: column; align-items: stretch; }
  .mx-btn { justify-content: center; }
}


/* -----------------------------------------------------------
   13. 隐藏 OJS 默认首页区块 (Current Issue + 期刊描述 + View All Issues)
       注意: 不能整段 hide .container-homepage-issue，因为
       .homepage-additional-content 也在里面。只隐藏 issue 相关子块。
   ----------------------------------------------------------- */
.container-homepage-issue > .homepage-image-behind-issue,
.container-homepage-issue > .homepage-issue-current,
.container-homepage-issue > .homepage-issue-identifier,
.container-homepage-issue > .homepage-issue-published,
.container-homepage-issue > .homepage-issue-header,
.container-homepage-issue > .issue-wrapper,
.container-homepage-issue > .issue-full-data,
.container-homepage-issue > .text-center { display: none !important; }

/* 让附加内容区域去掉 col-lg-9 的窄宽约束，并清掉父级的内边距 */
.container-homepage-issue { padding: 0 !important; max-width: none !important; }
.container-homepage-issue > .homepage-additional-content { margin: 0 !important; }
.container-homepage-issue > .homepage-additional-content > .col-lg-9 {
  flex: 0 0 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
}


/* -----------------------------------------------------------
   14. 隐藏 OJS 默认页头并提供 preview.html 风格的站点头
   ----------------------------------------------------------- */
.main-header { display: none !important; }

.mx-site-header {
  position: relative;
  margin: 0 -1000px 0;
  padding: 0 1000px;
  background: #fff;
  border-bottom: 1px solid var(--c-line);
  box-shadow: var(--shadow-sm);
}
.mx-site-header__inner {
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 18px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.mx-logo {
  font-family: var(--font-serif);
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--c-primary-900);
  text-decoration: none;
  letter-spacing: -0.02em;
  line-height: 1.1;
}
.mx-logo small {
  font-family: var(--font-sans);
  font-size: 0.65rem;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--c-primary-500);
  display: block;
  margin-top: 2px;
}
.mx-nav { display: flex; gap: 4px; align-items: center; flex-wrap: wrap; }
.mx-nav a {
  padding: 10px 14px;
  color: var(--c-ink-700);
  text-decoration: none;
  font-weight: 600;
  font-size: 0.92rem;
  border-radius: 6px;
  transition: color 0.15s ease, background 0.15s ease;
}
.mx-nav a:hover { color: var(--c-primary-700); }
.mx-nav a.is-active { color: var(--c-primary-700); }
.mx-nav__cta {
  background: var(--c-primary-700);
  color: #fff !important;
  margin-left: 8px;
}
.mx-nav__cta:hover { background: var(--c-primary-900); color: #fff !important; }

@media (max-width: 900px) {
  .mx-nav { display: none; }
}

/* ===========================================================
   v2 · 新增组件（配合 v3 定位）
   =========================================================== */

/* -----------------------------------------------------------
   v2.1 — Slogan Strip（站点头下方的金句条）
   ----------------------------------------------------------- */
.mx-slogan-strip {
  position: relative;
  margin: 0 -1000px;
  padding: 14px 1000px;
  background: linear-gradient(90deg, var(--c-primary-900) 0%, #1A2746 35%, #2C1F5C 70%, var(--c-ai-700) 100%);
  color: var(--c-white);
  overflow: hidden;
}
.mx-slogan-strip__inner {
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
}
.mx-slogan-strip__en {
  font-family: var(--font-serif);
  font-style: italic;
  font-weight: 700;
  font-size: 1.05rem;
  letter-spacing: 0.01em;
}
.mx-slogan-strip__cn {
  font-size: 0.92rem;
  letter-spacing: 0.18em;
  color: rgba(255,255,255,0.85);
  font-weight: 600;
}

/* -----------------------------------------------------------
   v2.2 — Three Pillars Cards（三大支柱）
   ----------------------------------------------------------- */
.mx-pillars {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-bottom: 80px;
}
.mx-pillar {
  position: relative;
  background: var(--c-white);
  border: 1px solid var(--c-line);
  border-radius: var(--radius-lg);
  padding: 36px 32px 32px;
  overflow: hidden;
  transition: transform .25s, box-shadow .25s, border-color .25s;
}
.mx-pillar::before {
  content: '';
  position: absolute; top: 0; left: 0; right: 0;
  height: 5px;
}
.mx-pillar--public::before { background: var(--c-success); }
.mx-pillar--imperfect::before { background: var(--c-warn); }
.mx-pillar--ai::before { background: var(--c-ai-700); }
.mx-pillar:hover {
  transform: translateY(-6px);
  box-shadow: var(--shadow-lg);
  border-color: transparent;
}
.mx-pillar--ai:hover { box-shadow: var(--shadow-ai); }
.mx-pillar__tag {
  display: inline-block;
  font-family: var(--font-mono);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  padding: 4px 10px;
  border-radius: 4px;
  margin-bottom: 18px;
}
.mx-pillar--public .mx-pillar__tag { background: rgba(16,185,129,0.12); color: var(--c-success); }
.mx-pillar--imperfect .mx-pillar__tag { background: rgba(245,158,11,0.14); color: #B45309; }
.mx-pillar--ai .mx-pillar__tag { background: var(--c-ai-50); color: var(--c-ai-700); }
.mx-pillar__title {
  font-family: var(--font-serif);
  font-size: 1.65rem;
  font-weight: 700;
  color: var(--c-primary-900);
  margin: 0 0 12px;
  letter-spacing: -0.02em;
}
.mx-pillar__desc {
  color: var(--c-ink-500);
  font-size: 0.98rem;
  line-height: 1.65;
  margin: 0 0 18px;
}
.mx-pillar__bullets {
  list-style: none;
  padding: 0;
  margin: 0;
}
.mx-pillar__bullets li {
  font-size: 0.88rem;
  color: var(--c-ink-700);
  padding: 6px 0 6px 22px;
  position: relative;
  line-height: 1.5;
}
.mx-pillar__bullets li::before {
  content: '◆';
  position: absolute;
  left: 0;
  font-size: 0.7rem;
  top: 8px;
  color: var(--c-primary-500);
}
.mx-pillar--ai .mx-pillar__bullets li::before { color: var(--c-ai-700); }
.mx-pillar--imperfect .mx-pillar__bullets li::before { color: var(--c-warn); }
.mx-pillar--public .mx-pillar__bullets li::before { color: var(--c-success); }

@media (max-width: 900px) {
  .mx-pillars { grid-template-columns: 1fr; }
}

/* -----------------------------------------------------------
   v2.3 — AI Agent Editorial Matrix
   ----------------------------------------------------------- */
.mx-agents {
  background: linear-gradient(180deg, var(--c-ai-50) 0%, var(--c-white) 100%);
  border: 1px solid #DDD3FF;
  border-radius: var(--radius-lg);
  padding: 48px 36px;
  margin: 0 0 80px;
  position: relative;
}
.mx-agents__head {
  text-align: center;
  margin-bottom: 36px;
}
.mx-agents__eyebrow {
  display: inline-block;
  font-family: var(--font-mono);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  color: var(--c-ai-700);
  background: var(--c-white);
  border: 1px solid #DDD3FF;
  padding: 6px 14px;
  border-radius: 999px;
  margin-bottom: 14px;
}
.mx-agents__title {
  font-family: var(--font-serif);
  font-size: 2.1rem;
  color: var(--c-primary-900);
  margin: 0 0 10px;
}
.mx-agents__title span {
  background: linear-gradient(90deg, var(--c-ai-700), var(--c-primary-700));
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
.mx-agents__lead {
  color: var(--c-ink-500);
  max-width: 680px;
  margin: 0 auto;
  font-size: 1rem;
  line-height: 1.65;
}
.mx-agents__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 16px;
}
.mx-agent {
  background: var(--c-white);
  border: 1px solid #E5E0FA;
  border-radius: var(--radius-md);
  padding: 20px 18px;
  transition: transform .2s, box-shadow .2s, border-color .2s;
  position: relative;
}
.mx-agent:hover {
  transform: translateY(-3px);
  border-color: var(--c-ai-500);
  box-shadow: var(--shadow-ai);
}
.mx-agent__icon {
  width: 40px; height: 40px;
  background: var(--c-ai-50);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
  margin-bottom: 14px;
}
.mx-agent__name {
  font-weight: 700;
  font-size: 0.95rem;
  color: var(--c-primary-900);
  margin: 0 0 6px;
  letter-spacing: -0.01em;
}
.mx-agent__role {
  font-size: 0.82rem;
  color: var(--c-ink-500);
  line-height: 1.5;
  margin: 0 0 10px;
}
.mx-agent__meta {
  font-family: var(--font-mono);
  font-size: 0.7rem;
  color: var(--c-ai-700);
  letter-spacing: 0.05em;
}

/* -----------------------------------------------------------
   v2.4 — Content Type Strip（内容形态横滚条）
   ----------------------------------------------------------- */
.mx-ctypes {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 14px;
  margin-bottom: 24px;
}
.mx-ctype {
  border: 1px dashed var(--c-line);
  border-radius: var(--radius-md);
  padding: 18px 16px;
  background: var(--c-white);
  transition: all .2s;
}
.mx-ctype:hover {
  border-style: solid;
  border-color: var(--c-primary-500);
  background: var(--c-primary-50);
}
.mx-ctype__badge {
  display: inline-block;
  font-family: var(--font-mono);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  padding: 3px 8px;
  border-radius: 4px;
  margin-bottom: 10px;
}
.mx-ctype__badge--new { background: rgba(245,158,11,0.14); color: #B45309; }
.mx-ctype__badge--core { background: rgba(46,134,171,0.12); color: var(--c-primary-700); }
.mx-ctype__title {
  font-size: 0.98rem;
  font-weight: 700;
  color: var(--c-primary-900);
  margin: 0 0 4px;
}
.mx-ctype__desc {
  font-size: 0.82rem;
  color: var(--c-ink-500);
  line-height: 1.5;
  margin: 0;
}

/* -----------------------------------------------------------
   v2.5 — MedAxis Promise（10 条承诺）
   ----------------------------------------------------------- */
.mx-promise {
  background: var(--c-primary-900);
  color: var(--c-white);
  border-radius: var(--radius-lg);
  padding: 56px 48px;
  margin: 0 0 80px;
  position: relative;
  overflow: hidden;
}
.mx-promise::before {
  content: '';
  position: absolute;
  top: -80px; right: -80px;
  width: 320px; height: 320px;
  background: radial-gradient(circle, rgba(109,74,255,0.35) 0%, transparent 70%);
  pointer-events: none;
}
.mx-promise__eyebrow {
  font-family: var(--font-mono);
  font-size: 0.78rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #C8B8FF;
  margin-bottom: 12px;
  display: block;
}
.mx-promise__title {
  font-family: var(--font-serif);
  font-size: 2.4rem;
  color: var(--c-white);
  margin: 0 0 32px;
  letter-spacing: -0.02em;
}
.mx-promise__groups {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
  position: relative;
  z-index: 1;
}
.mx-promise__group h4 {
  font-family: var(--font-mono);
  font-size: 0.78rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #BFE0F2;
  margin: 0 0 16px;
}
.mx-promise__group ol {
  padding: 0;
  margin: 0;
  list-style: none;
  counter-reset: promise;
}
.mx-promise__group li {
  counter-increment: promise;
  font-size: 0.92rem;
  line-height: 1.55;
  color: rgba(255,255,255,0.88);
  padding: 8px 0 8px 36px;
  position: relative;
}
.mx-promise__group li::before {
  content: counter(promise);
  position: absolute;
  left: 0; top: 8px;
  width: 24px; height: 24px;
  background: rgba(255,255,255,0.1);
  border: 1px solid rgba(255,255,255,0.25);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-mono);
  font-size: 0.72rem;
  font-weight: 700;
  color: #C8B8FF;
}
.mx-promise__closer {
  margin-top: 36px;
  padding-top: 28px;
  border-top: 1px solid rgba(255,255,255,0.12);
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 1.15rem;
  color: rgba(255,255,255,0.78);
  text-align: center;
}

@media (max-width: 900px) {
  .mx-promise { padding: 40px 24px; }
  .mx-promise__title { font-size: 1.8rem; }
  .mx-promise__groups { grid-template-columns: 1fr; gap: 28px; }
}

/* -----------------------------------------------------------
   v2.6 — 新增徽章
   ----------------------------------------------------------- */
.mx-badge--ai { background: var(--c-ai-50); color: var(--c-ai-700); }
.mx-badge--working { background: rgba(245,158,11,0.15); color: #B45309; }
.mx-badge--null { background: rgba(107,114,128,0.15); color: var(--c-ink-700); }
.mx-badge--replicated { background: rgba(16,185,129,0.15); color: #047857; }
.mx-badge--trending { background: linear-gradient(135deg, #F59E0B, #EF4444); color: var(--c-white); }
.mx-badge--concern { background: rgba(239,68,68,0.12); color: var(--c-danger); }

/* 指标条：突出 AI 数据 */
.mx-stat--ai .mx-stat__value { color: var(--c-ai-700); }
.mx-stat--accent .mx-stat__value { color: var(--c-warn); }

/* 紫色 AI 按钮 */
.mx-btn--ai {
  background: var(--c-ai-700);
  color: var(--c-white) !important;
}
.mx-btn--ai:hover {
  background: #5938E5;
  box-shadow: var(--shadow-ai);
  transform: translateY(-1px);
}

/* -----------------------------------------------------------
   v2.7 — Hero Slogan Plate（Hero 内置 slogan 强调框，可选）
   ----------------------------------------------------------- */
.mx-hero__plate {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: rgba(109,74,255,0.18);
  border: 1px solid rgba(200,184,255,0.4);
  backdrop-filter: blur(6px);
  color: #E8DFFF;
  padding: 10px 18px;
  border-radius: 999px;
  font-family: var(--font-mono);
  font-size: 0.78rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  margin-bottom: 24px;
}
.mx-hero__plate::before {
  content: '●';
  color: #6D4AFF;
  font-size: 0.6rem;
  animation: mx-pulse 1.6s ease-in-out infinite;
}
@keyframes mx-pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.4; }
}

/* -----------------------------------------------------------
   v2.8 — Closing Manifesto Banner（页脚前的口号大字）
   ----------------------------------------------------------- */
.mx-manifesto {
  text-align: center;
  padding: 80px 24px;
  margin: 0 -1000px;
  background:
    linear-gradient(135deg, rgba(15,48,87,0.96) 0%, rgba(109,74,255,0.86) 100%),
    url('https://images.unsplash.com/photo-1581093588401-fbb62a02f120?auto=format&fit=crop&w=1600&q=80') center/cover;
  color: var(--c-white);
  position: relative;
  overflow: hidden;
}
.mx-manifesto__inner {
  max-width: 900px;
  margin: 0 auto;
}
.mx-manifesto__quote {
  font-family: var(--font-serif);
  font-size: 2.4rem;
  font-weight: 700;
  font-style: italic;
  line-height: 1.25;
  letter-spacing: -0.015em;
  margin: 0 0 18px;
}
.mx-manifesto__quote span {
  background: linear-gradient(90deg, #BFE0F2 0%, #C8B8FF 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
.mx-manifesto__sub {
  color: rgba(255,255,255,0.78);
  font-size: 1rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-weight: 600;
}

@media (max-width: 900px) {
  .mx-manifesto__quote { font-size: 1.6rem; }
  .mx-manifesto { padding: 60px 24px; }
}

/* -----------------------------------------------------------
   v2.9 — Imperfection Manifesto (旗帜广告区，主打"接受不完美")
   ----------------------------------------------------------- */
.mx-imperfect {
  position: relative;
  margin: 0 0 80px;
  padding: 64px 48px;
  background:
    radial-gradient(circle at 15% 30%, rgba(245,158,11,0.18) 0%, transparent 45%),
    radial-gradient(circle at 85% 70%, rgba(109,74,255,0.18) 0%, transparent 45%),
    #0B1220;
  color: var(--c-white);
  border-radius: var(--radius-lg);
  overflow: hidden;
}
.mx-imperfect::before {
  content: '';
  position: absolute;
  top: 0; left: 0; bottom: 0; width: 6px;
  background: linear-gradient(180deg, var(--c-warn) 0%, var(--c-ai-700) 100%);
}
.mx-imperfect__inner {
  max-width: 900px;
  margin: 0 auto;
  text-align: center;
  position: relative;
  z-index: 1;
}
.mx-imperfect__eyebrow {
  display: inline-block;
  font-family: var(--font-mono);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.22em;
  color: var(--c-warn);
  background: rgba(245,158,11,0.12);
  border: 1px solid rgba(245,158,11,0.3);
  padding: 6px 16px;
  border-radius: 999px;
  margin-bottom: 28px;
  text-transform: uppercase;
}
.mx-imperfect__lines {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -0.02em;
  margin: 0 0 32px;
}
.mx-imperfect__lines p {
  margin: 0;
  padding: 4px 0;
  transition: color .25s;
}
.mx-imperfect__lines p:nth-child(1) { color: var(--c-white); }
.mx-imperfect__lines p:nth-child(2) { color: rgba(255,255,255,0.85); }
.mx-imperfect__lines p:nth-child(3) { color: rgba(255,255,255,0.7); }
.mx-imperfect__lines p:nth-child(4) {
  background: linear-gradient(90deg, #FBBF24 0%, #C8B8FF 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
.mx-imperfect__tagline {
  font-family: var(--font-sans);
  font-style: normal;
  font-size: 1.05rem;
  letter-spacing: 0.04em;
  color: rgba(255,255,255,0.78);
  max-width: 640px;
  margin: 0 auto 28px;
  line-height: 1.65;
}
.mx-imperfect__pills {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin-top: 24px;
}
.mx-imperfect__pill {
  font-family: var(--font-mono);
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  padding: 8px 16px;
  border-radius: 999px;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.18);
  color: var(--c-white);
  text-transform: uppercase;
}
.mx-imperfect__pill--warn { border-color: rgba(245,158,11,0.5); color: #FBBF24; }
.mx-imperfect__pill--ai { border-color: rgba(109,74,255,0.5); color: #C8B8FF; }

@media (max-width: 900px) {
  .mx-imperfect { padding: 48px 24px; }
  .mx-imperfect__lines { font-size: 1.55rem; }
}
