/* ============================================================
   畅途 · 未来领袖 官网 v2 样式层
   在 site.css 之后加载。只新增，不覆盖既有语义。
   site.css 一行未改，其余 13 个页面不受影响。
   ============================================================ */

:root{
  /* ── 紫色家族：创造力域专属 + 未来感点缀 ───────────────── */
  --violet:#7B3FE4;
  --violet-deep:#5B21B6;
  --violet-2:#A78BFA;
  --violet-tint:#F3EEFF;
  --violet-line:#E4D9FB;

  /* ── 蓝色 11 阶（Tailwind 命名，围绕 --blue #0B63C5 展开）── */
  --blue-50:#EFF6FF;  --blue-100:#DBEAFE; --blue-200:#BFDBFE;
  --blue-300:#93C5FD; --blue-400:#60A5FA; --blue-500:#3B82F6;
  --blue-600:#0B63C5; --blue-700:#08427F; --blue-800:#063260;
  --blue-900:#04203D; --blue-950:#02152A;

  /* ── 紫色 11 阶 ───────────────────────────────────────── */
  --violet-50:#F5F3FF;  --violet-100:#EDE9FE; --violet-200:#DDD6FE;
  --violet-300:#C4B5FD; --violet-400:#A78BFA; --violet-500:#8B5CF6;
  --violet-600:#7B3FE4; --violet-700:#5B21B6; --violet-800:#4C1D95;
  --violet-900:#3B1578; --violet-950:#2A0F55;

  /* ── 中性 11 阶 ───────────────────────────────────────── */
  --gray-50:#F8FAFC;  --gray-100:#F1F5F9; --gray-200:#E2E8F0;
  --gray-300:#CBD5E1; --gray-400:#94A3B8; --gray-500:#64748B;
  --gray-600:#475569; --gray-700:#334155; --gray-800:#1E293B;
  --gray-900:#0F172A; --gray-950:#080D16;

  /* ── 四个能力域色（矩阵必须可辨）───────────────────────── */
  --domain-expression:#0B63C5;
  --domain-thinking:#0E9F9F;
  --domain-learning:#D97706;
  --domain-creativity:#7B3FE4;
  --domain-expression-tint:#EAF4FE;
  --domain-thinking-tint:#E6F7F7;
  --domain-learning-tint:#FEF3E2;
  --domain-creativity-tint:#F3EEFF;

  /* ── 语义层（新组件只该用这一层）───────────────────────── */
  --surface:#FFFFFF;
  --surface-2:#F6FAFF;
  --surface-3:#EAF4FE;
  --text:#0F1B2A;
  --text-2:#3C4C63;
  --text-3:#78879C;
  --border:#E3ECF6;
  --border-strong:#CBD5E1;
  --brand:#0B63C5;
  --brand-hover:#08427F;
  --accent:#FF7A1A;
  --focus:#1E9BE8;
  --success:#0AB67D;
  --warning:#D97706;
  --danger:#E5484D;

  /* ── 节奏 ─────────────────────────────────────────────── */
  --r-sm:10px; --r-md:16px; --r-lg:24px; --r-xl:32px; --r-pill:30px;
  --shadow-sm:0 2px 8px rgba(11,66,127,.06);
  --shadow-md:0 8px 26px rgba(11,66,127,.08);
  --shadow-lg:0 20px 60px rgba(11,66,127,.12);
  --shadow-violet:0 20px 56px rgba(123,63,228,.16);
  --ease:cubic-bezier(.22,.61,.36,1);
  --dur-fast:160ms; --dur:240ms; --dur-slow:420ms;
}

/* ============================================================
   1. 未来感的五个手法（全部在浅色下成立）
   ============================================================ */

/* ① 低饱和光斑：浅色下制造"空气感" */
.aurora{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0;}
.aurora i{
  position:absolute;display:block;border-radius:50%;
  filter:blur(80px);opacity:.5;
}
.aurora .a1{width:620px;height:620px;left:-8%;top:-26%;
  background:radial-gradient(circle,rgba(30,155,232,.34),rgba(30,155,232,0) 70%);
  animation:drift1 26s ease-in-out infinite;}
.aurora .a2{width:520px;height:520px;right:-6%;top:-14%;
  background:radial-gradient(circle,rgba(123,63,228,.30),rgba(123,63,228,0) 70%);
  animation:drift2 32s ease-in-out infinite;}
.aurora .a3{width:460px;height:460px;right:22%;bottom:-30%;
  background:radial-gradient(circle,rgba(255,122,26,.20),rgba(255,122,26,0) 70%);
  animation:drift1 38s ease-in-out infinite reverse;}
@keyframes drift1{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(38px,-26px,0)}}
@keyframes drift2{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(-32px,30px,0)}}

/* ② 渐变描边：卡片边缘一圈流动彩线 */
.edge-grad{position:relative;}
.edge-grad::before{
  content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;
  background:linear-gradient(135deg,var(--blue-300),var(--violet-300) 50%,var(--blue-200));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;
  pointer-events:none;opacity:.9;
}

/* ③ 渐变标题：只给一个词，不给整句 */
.grad-blue{
  background:linear-gradient(112deg,var(--blue-700) 0%,var(--blue) 42%,var(--blue-2) 100%);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
}
.grad-violet{
  background:linear-gradient(112deg,var(--violet-deep) 0%,var(--violet) 48%,var(--violet-2) 100%);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
}

/* ④ 大圆角 + 柔影 由令牌承担 */

/* ⑤ 饱和紫小面积：见 .accent-violet / .dot-violet */

/* ============================================================
   2. 滚动入场（只播一次，尊重 reduce-motion）
   ============================================================ */
.rv2{opacity:0;transform:translateY(18px);}
@media (prefers-reduced-motion:no-preference){
  .rv2{
    transition:opacity var(--dur-slow) var(--ease),transform var(--dur-slow) var(--ease);
  }
  .rv2.in{opacity:1;transform:none;}
}
@media (prefers-reduced-motion:reduce){
  .rv2{opacity:1;transform:none;}
}

/* ============================================================
   3. Hero 增强
   ============================================================ */
.hero{position:relative;}
.hero > .wrap{position:relative;z-index:1;}

.hero-badge-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px;}
.hero-badge{
  display:inline-flex;align-items:center;gap:6px;
  font-size:12px;color:var(--text-2);background:rgba(255,255,255,.8);
  border:1px solid var(--border);border-radius:var(--r-pill);
  padding:5px 12px;backdrop-filter:blur(6px);
}
.hero-badge b{color:var(--blue-700);font-weight:700;}
.hero-badge.violet b{color:var(--violet-700);}

/* ============================================================
   4. 三重身份
   ============================================================ */
.identity{background:linear-gradient(180deg,#fff 0%,var(--surface-2) 100%);}
.id-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;}
.id-card{
  position:relative;background:#fff;border:1px solid var(--border);
  border-radius:var(--r-lg);padding:30px 26px 26px;
  display:flex;flex-direction:column;gap:12px;
  transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease),border-color var(--dur) var(--ease);
}
.id-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--blue-200);}
.id-card .num{
  font-family:var(--font-num,inherit);font-size:13px;font-weight:700;letter-spacing:1.6px;
  color:var(--blue-400);
}
.id-card h3{font-size:19px;line-height:1.4;font-weight:700;}
.id-card .role{
  display:inline-block;font-size:11.5px;letter-spacing:1.2px;text-transform:uppercase;
  color:var(--text-3);
}
.id-card p{font-size:14px;color:var(--text-2);flex:1;}
.id-card .means{
  margin-top:auto;
  font-size:13px;color:var(--blue-700);background:var(--blue-50);
  border-radius:var(--r-sm);padding:11px 14px;line-height:1.65;
  border-left:2px solid var(--blue-300);
}
.id-card.is-violet .num{color:var(--violet-400);}
.id-card.is-violet:hover{border-color:var(--violet-200);box-shadow:var(--shadow-violet);}
.id-card.is-violet .means{color:var(--violet-700);background:var(--violet-50);border-left-color:var(--violet-300);}

/* ============================================================
   5. 教育矩阵（4 域 × 技能）
   ============================================================ */
.mx-wrap{background:var(--surface-2);}
.mx-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(258px,1fr));gap:16px;}
.mx-col{
  background:#fff;border:1px solid var(--border);border-radius:var(--r-lg);
  overflow:hidden;display:flex;flex-direction:column;
  transition:box-shadow var(--dur) var(--ease),transform var(--dur) var(--ease);
}
.mx-col:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);}
.mx-head{padding:22px 20px 18px;border-bottom:1px solid var(--border);}
.mx-head .k{
  display:inline-flex;align-items:center;gap:7px;
  font-size:11px;letter-spacing:1.6px;text-transform:uppercase;color:var(--text-3);
  margin-bottom:8px;
}
.mx-head .k i{width:8px;height:8px;border-radius:50%;background:var(--d-color);display:block;}
.mx-head h3{font-size:20px;font-weight:800;letter-spacing:-.2px;}
.mx-head .sub{font-size:12.5px;color:var(--text-3);margin-top:4px;}
.mx-body{padding:14px 12px 18px;display:flex;flex-direction:column;gap:6px;flex:1;}

.mx-item{
  display:flex;align-items:center;gap:9px;
  padding:11px 12px;border-radius:var(--r-sm);
  font-size:14.5px;font-weight:600;color:var(--text);
  border:1px solid transparent;
  transition:background var(--dur-fast),border-color var(--dur-fast),transform var(--dur-fast);
}
.mx-item .st{
  width:7px;height:7px;border-radius:2px;flex-shrink:0;
  background:var(--d-color);
}
.mx-item .cnt{
  margin-left:auto;font-size:11px;font-weight:500;color:var(--text-3);
  letter-spacing:.3px;
}
a.mx-item:hover{background:var(--d-tint);border-color:var(--d-line);transform:translateX(2px);}
.mx-item.pending{
  color:var(--text-3);font-weight:500;
  background:repeating-linear-gradient(135deg,#FBFCFE,#FBFCFE 6px,#F4F7FB 6px,#F4F7FB 12px);
  border-color:var(--border);
}
.mx-item.pending .st{background:transparent;border:1.5px solid var(--gray-300);border-radius:50%;}
.mx-item.pending .cnt{color:var(--gray-400);}

/* 列脚：把矩阵和三原力册次对应起来，同时填掉列底留白 */
.mx-note{
  margin-top:auto;padding:12px 12px 0;border-top:1px dashed var(--border);
  font-size:11.5px;color:var(--text-3);line-height:1.7;letter-spacing:.2px;
}
.mx-note b{color:var(--d-color);font-weight:700;}

.mx-foot{
  margin-top:16px;display:flex;flex-wrap:wrap;align-items:center;gap:18px;
  font-size:13px;color:var(--text-3);
}
.mx-legend{display:inline-flex;align-items:center;gap:7px;}
.mx-legend .sw{width:12px;height:12px;border-radius:3px;}
.mx-legend .sw.on{background:linear-gradient(135deg,var(--blue),var(--blue-2));}
.mx-legend .sw.off{
  background:repeating-linear-gradient(135deg,#F4F7FB,#F4F7FB 3px,#DCE5F0 3px,#DCE5F0 6px);
  border:1px solid var(--border-strong);
}

/* 域色变量注入 */
.mx-col[data-d="expression"]{--d-color:var(--domain-expression);--d-tint:var(--domain-expression-tint);--d-line:var(--blue-200);}
.mx-col[data-d="thinking"]{--d-color:var(--domain-thinking);--d-tint:var(--domain-thinking-tint);--d-line:#BFE6E6;}
.mx-col[data-d="learning"]{--d-color:var(--domain-learning);--d-tint:var(--domain-learning-tint);--d-line:#F5D9AE;}
.mx-col[data-d="creativity"]{--d-color:var(--domain-creativity);--d-tint:var(--domain-creativity-tint);--d-line:var(--violet-200);}

/* ============================================================
   6. 课程体系（双栏大卡）
   ============================================================ */
.course-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;}
.course-card{
  background:#fff;border:1px solid var(--border);border-radius:var(--r-xl);
  padding:34px 32px 30px;display:flex;flex-direction:column;
  transition:box-shadow var(--dur) var(--ease),transform var(--dur) var(--ease);
}
.course-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px);}
.course-card .ck{
  display:inline-flex;align-items:center;gap:8px;align-self:flex-start;
  font-size:11px;letter-spacing:1.5px;text-transform:uppercase;
  padding:5px 12px;border-radius:var(--r-pill);
  background:var(--blue-50);color:var(--blue-700);margin-bottom:16px;
}
.course-card.is-violet .ck{background:var(--violet-50);color:var(--violet-700);}
.course-card h3{font-size:24px;font-weight:800;letter-spacing:-.4px;line-height:1.3;}
.course-card .tagline{font-size:13.5px;color:var(--text-3);margin-top:6px;}
.course-card .lede{font-size:14.5px;color:var(--text-2);margin-top:14px;}

.ladder{display:flex;flex-direction:column;gap:8px;margin:22px 0 6px;}
.ladder-row{
  display:grid;grid-template-columns:64px 1fr;gap:12px;align-items:center;
  padding:10px 12px;border-radius:var(--r-sm);background:var(--surface-2);
  border:1px solid transparent;transition:background var(--dur-fast),border-color var(--dur-fast);
}
.ladder-row:hover{background:var(--blue-50);border-color:var(--blue-100);}
.course-card.is-violet .ladder-row:hover{background:var(--violet-50);border-color:var(--violet-100);}
.ladder-row .lv{
  font-size:12px;font-weight:800;letter-spacing:.6px;color:var(--blue);
  font-family:var(--font-num,inherit);
}
.course-card.is-violet .ladder-row .lv{color:var(--violet);}
.ladder-row .nm{font-size:13.5px;color:var(--text);line-height:1.5;}
.ladder-row .nm b{font-weight:700;}
.ladder-row .nm small{color:var(--text-3);font-weight:400;font-size:12px;margin-left:6px;}

.course-meta{
  display:flex;flex-wrap:wrap;gap:8px;margin-top:18px;padding-top:18px;
  border-top:1px solid var(--border);
}
.course-meta span{
  font-size:12px;color:var(--text-2);background:var(--gray-50);
  border:1px solid var(--border);border-radius:var(--r-pill);padding:4px 11px;
}
.course-meta span b{color:var(--text);font-weight:700;}
.course-cta{margin-top:20px;}

/* ============================================================
   7. 近期活动（占位，诚实标注）
   ============================================================ */
.ev-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;}
.ev-card{
  position:relative;background:#fff;border:1px solid var(--border);
  border-radius:var(--r-lg);padding:24px 24px 22px;
  display:grid;grid-template-columns:1fr auto;gap:10px 18px;align-items:start;
  transition:box-shadow var(--dur) var(--ease),border-color var(--dur) var(--ease);
}
.ev-card:hover{box-shadow:var(--shadow-md);border-color:var(--blue-200);}
.ev-card .season{
  grid-column:1/-1;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;
  color:var(--accent);font-weight:700;
}
.ev-card h3{font-size:16.5px;font-weight:700;line-height:1.45;}
.ev-card .meta{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:14px;font-size:12.5px;color:var(--text-3);}
.ev-card .meta i{font-style:normal;color:var(--gray-300);margin-right:5px;}
.ev-card .go{font-size:13px;font-weight:600;color:var(--blue);white-space:nowrap;align-self:center;}
.ev-card .go:hover{color:var(--blue-deep);}
.ev-note{
  margin-top:18px;font-size:12.5px;color:var(--text-3);
  background:var(--gray-50);border:1px dashed var(--border-strong);
  border-radius:var(--r-sm);padding:12px 16px;line-height:1.7;
}

/* ============================================================
   8. 小程序码
   ============================================================ */
.qr-band{
  background:linear-gradient(120deg,var(--blue-950) 0%,var(--blue-900) 46%,var(--violet-900) 100%);
  border-radius:var(--r-xl);padding:44px 44px;color:#fff;
  display:grid;grid-template-columns:1fr auto;gap:36px;align-items:center;
  position:relative;overflow:hidden;
}
.qr-band::after{
  content:"";position:absolute;width:420px;height:420px;right:-100px;top:-160px;
  background:radial-gradient(circle,rgba(167,139,250,.28),transparent 68%);
  border-radius:50%;pointer-events:none;
}
.qr-band h3{font-size:26px;font-weight:800;letter-spacing:-.4px;line-height:1.35;position:relative;}
.qr-band p{font-size:14px;color:rgba(255,255,255,.72);margin-top:10px;max-width:520px;position:relative;}
.qr-band .qr-list{margin-top:18px;display:flex;flex-wrap:wrap;gap:8px;position:relative;}
.qr-band .qr-list span{
  font-size:12px;color:rgba(255,255,255,.86);
  border:1px solid rgba(255,255,255,.22);border-radius:var(--r-pill);
  padding:5px 12px;background:rgba(255,255,255,.06);
}
.qr-card{
  position:relative;background:#fff;border-radius:var(--r-lg);padding:16px;
  box-shadow:0 24px 60px rgba(2,21,42,.4);text-align:center;flex-shrink:0;
}
.qr-card img,.qr-card .qr-ph{
  display:block;width:172px;height:172px;border-radius:var(--r-sm);object-fit:cover;
}
.qr-card .qr-ph{
  background:repeating-linear-gradient(135deg,#EEF3FA,#EEF3FA 8px,#E3ECF6 8px,#E3ECF6 16px);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:3px;font-size:12px;color:var(--text-2);text-align:center;padding:14px;line-height:1.55;
}
.qr-card .qr-ph .ph-hint{
  font-size:10px;color:var(--gray-400);letter-spacing:.2px;word-break:break-all;
  max-width:100%;margin-top:4px;
}
.qr-card .cap{font-size:12px;color:var(--text-2);margin-top:11px;font-weight:600;}
.qr-card .cap small{display:block;font-weight:400;color:var(--text-3);font-size:11px;margin-top:2px;}
/* 小程序码未就位时的降级：换成可用的报名入口 */
.qr-card .qr-fallback{
  width:196px;display:flex;flex-direction:column;align-items:center;gap:10px;
  padding:6px 2px 2px;
}
.qr-card .qr-fallback b{font-size:14.5px;color:var(--ink);letter-spacing:-.2px;}
.qr-card .qr-fallback span{font-size:12px;line-height:1.6;color:var(--text-2);}
.qr-card .qr-fallback .btn{margin-top:2px;}

/* ============================================================
   9. 三档权益（改名后）
   ============================================================ */
.tier-cards2{display:grid;grid-template-columns:repeat(auto-fit,minmax(262px,1fr));gap:18px;}
.tier2{
  position:relative;background:#fff;border:1px solid var(--border);
  border-radius:var(--r-lg);padding:30px 26px 26px;display:flex;flex-direction:column;gap:10px;
  transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease),border-color var(--dur) var(--ease);
}
.tier2:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);}
.tier2 .tname{font-size:19px;font-weight:800;letter-spacing:-.2px;}
.tier2 .tsub{font-size:12px;letter-spacing:1.3px;text-transform:uppercase;color:var(--text-3);}
.tier2 .tprice{font-size:30px;font-weight:800;letter-spacing:-1px;line-height:1.1;margin:6px 0 2px;}
.tier2 .tprice small{font-size:12.5px;font-weight:500;color:var(--text-3);letter-spacing:0;}
.tier2 .tlede{font-size:13.5px;color:var(--text-2);flex:1;}
.tier2 ul{list-style:none;display:flex;flex-direction:column;gap:7px;margin-top:6px;}
.tier2 li{font-size:13px;color:var(--text-2);padding-left:20px;position:relative;line-height:1.6;}
.tier2 li::before{
  content:"";position:absolute;left:0;top:7px;width:11px;height:11px;border-radius:50%;
  background:var(--blue-50);border:1.5px solid var(--blue-300);
}
.tier2.is-feature{
  border-color:var(--violet-200);box-shadow:var(--shadow-violet);
  background:linear-gradient(180deg,#fff 0%,var(--violet-50) 100%);
}
.tier2.is-feature li::before{background:var(--violet-100);border-color:var(--violet-400);}
.tier2 .badge-feature{
  position:absolute;top:-11px;right:22px;font-size:11px;font-weight:700;letter-spacing:1px;
  background:linear-gradient(135deg,var(--violet),var(--violet-2));color:#fff;
  border-radius:var(--r-pill);padding:4px 12px;
}

/* ============================================================
   10. 响应式
   ============================================================ */
@media (max-width:1020px){
  .course-grid{grid-template-columns:1fr;}
  .ev-grid{grid-template-columns:1fr;}
  .qr-band{grid-template-columns:1fr;padding:34px 28px;text-align:left;}
  .qr-card{margin:0 auto;}
  /* 顶部公告：38px 固定高度在窄屏会撑破，改为流式两行 */
  .topbar .wrap{height:auto;flex-wrap:wrap;gap:4px 14px;padding-top:9px;padding-bottom:9px;font-size:12.5px;line-height:1.6;}
  .topbar .wrap > div{min-width:0;}
}
@media (max-width:760px){
  .hero-badge-row{gap:6px;}
  .hero-badge{font-size:11.5px;}
  .course-card{padding:26px 22px 24px;}
  .ladder-row{grid-template-columns:52px 1fr;gap:9px;}
  .qr-band h3{font-size:22px;}
  .qr-card img,.qr-card .qr-ph{width:150px;height:150px;}
  /* 手机端收窄 hero 视觉，减少空白滚动 */
  .hero-visual{max-width:340px;margin:0 auto;}
}
@media (max-width:480px){
  .id-card{padding:24px 20px 22px;}
  .mx-head{padding:18px 16px 15px;}
  .mx-item{font-size:13.5px;padding:10px;}
  .ev-card{grid-template-columns:1fr;}
  .ev-card .go{justify-self:start;}
}

/* 打印时去掉装饰 */
@media print{
  .aurora,.edge-grad::before{display:none;}
  .rv2{opacity:1;transform:none;}
}

/* ============================================================
   2. 矩阵页 matrix.html 专用组件
   ============================================================ */

/* ── Hero ── */
.mx-hero{
  position:relative;overflow:hidden;
  padding:92px 0 72px;
  background:linear-gradient(180deg,#FBFDFF 0%,#F6FAFF 100%);
  border-bottom:1px solid var(--border);
}
.mx-hero .wrap{position:relative;z-index:1;max-width:960px;}
.mx-hero h1{
  font-size:clamp(30px,4.2vw,50px);line-height:1.24;letter-spacing:-.5px;
  margin:18px 0 0;color:var(--text);
}
.mx-hero .lead{margin-top:20px;max-width:780px;}
.mx-hero .hero-badge-row{margin-top:28px;}

/* ── 总表 ── */
.mx-table-sec{padding:76px 0 68px;}
.mx-table{
  width:100%;min-width:860px;border-collapse:separate;border-spacing:0;
  background:#fff;border:1px solid var(--border);border-radius:var(--r-lg);
  overflow:hidden;font-size:14px;
}
.mx-table thead th{
  background:var(--blue-50);color:var(--blue-800);
  font-weight:700;font-size:12.5px;letter-spacing:.4px;
  text-align:left;padding:15px 16px;white-space:nowrap;
  border-bottom:1px solid var(--border);
}
.mx-table td{
  padding:15px 16px;border-bottom:1px solid var(--border);
  color:var(--text-2);vertical-align:middle;line-height:1.6;
}
.mx-table tbody tr:last-child td{border-bottom:0;}
.mx-table tbody tr:hover td{background:#FCFDFF;}
.mx-table .c-dom{
  background:var(--surface-2);vertical-align:top;
  border-right:1px solid var(--border);white-space:nowrap;
}
.mx-table .c-dom b{display:block;font-size:15px;color:var(--text);margin-bottom:3px;}
.mx-table .c-dom span{font-size:11.5px;color:var(--text-3);}
.mx-table .c-sk b{font-size:14.5px;color:var(--text);}
.mx-table .c-desc{font-size:13px;color:var(--text-3);min-width:190px;}
.mx-table .c-course{font-size:13px;color:var(--blue-700);white-space:nowrap;}
.mx-table .c-exit a{color:var(--blue);font-weight:600;text-decoration:none;}
.mx-table .c-exit a:hover{text-decoration:underline;}
.mx-table tr.row-soon .c-sk b,
.mx-table tr.row-soon .c-desc{color:var(--text-3);opacity:.75;}

.pill{
  display:inline-block;padding:3px 10px;border-radius:var(--r-pill);
  font-size:11.5px;font-weight:700;white-space:nowrap;
}
.pill.on{background:var(--blue-50);color:var(--blue-700);}
.pill.off{background:var(--gray-100);color:var(--gray-500);}

/* ── 四域详解 ── */
.mx-sec{padding:64px 0;border-top:1px solid var(--border);}
.mx-sec:nth-of-type(even){background:var(--surface-2);}
.mx-sec.is-violet{background:var(--violet-50);border-top-color:var(--violet-line);}
.mx-dhead{margin-bottom:30px;max-width:760px;}
.mx-dhead .dk{
  display:inline-block;font-size:11.5px;font-weight:800;letter-spacing:1.6px;
  text-transform:uppercase;color:var(--blue);margin-bottom:9px;
}
.mx-sec.is-violet .mx-dhead .dk{color:var(--violet-600);}
.mx-dhead h2{font-size:clamp(24px,2.8vw,32px);margin:0 0 8px;color:var(--text);letter-spacing:-.3px;}
.mx-dhead p{font-size:15px;color:var(--text-2);line-height:1.7;margin:0;}
.mx-dmeta{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;}
.mx-dmeta span{
  font-size:12px;color:var(--text-3);background:#fff;
  border:1px solid var(--border);border-radius:var(--r-pill);padding:4px 11px;
}
.mx-sec.is-violet .mx-dmeta span{border-color:var(--violet-line);}

.skill-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:18px;}
.skill-card{
  background:#fff;border:1px solid var(--border);border-radius:var(--r-md);
  padding:24px 22px;display:flex;flex-direction:column;gap:14px;
  transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease);
}
.skill-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);}
.skill-card.is-soon{background:#FCFDFE;border-style:dashed;}
.sk-top{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.sk-top h3{font-size:18px;margin:0;color:var(--text);letter-spacing:-.2px;}
.sk-st{font-size:11px;font-weight:700;padding:3px 9px;border-radius:var(--r-pill);white-space:nowrap;}
.sk-st.on{background:var(--blue-50);color:var(--blue-700);}
.sk-st.off{background:var(--gray-100);color:var(--gray-500);}
.sk-desc{font-size:13.5px;color:var(--text-2);line-height:1.7;margin:0;}
.sk-block i{
  display:block;font-style:normal;font-size:11px;font-weight:700;
  letter-spacing:.6px;color:var(--text-3);margin-bottom:7px;
}
.sk-scene{display:flex;flex-direction:column;gap:7px;}
.sk-scene.one{flex-direction:row;flex-wrap:wrap;gap:6px;}
.sc{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  background:var(--surface-2);border-radius:var(--r-sm);padding:8px 11px;
}
.sc b{font-size:11.5px;color:var(--text-2);font-weight:700;min-width:52px;}
.sc-t{display:flex;flex-wrap:wrap;gap:5px;}
.chip-t{
  font-size:11.5px;color:var(--blue-700);background:#fff;
  border:1px solid var(--border);border-radius:6px;padding:2px 8px;white-space:nowrap;
}
.chip-t.none{color:var(--text-3);background:transparent;border-style:dashed;}
.sk-row{
  display:flex;gap:10px;align-items:baseline;
  font-size:13px;color:var(--text-2);
  border-top:1px dashed var(--border);padding-top:11px;margin-top:auto;
}
.sk-row i{font-style:normal;font-size:11.5px;color:var(--text-3);min-width:62px;}
.sk-row a{color:var(--blue);font-weight:600;text-decoration:none;}
.sk-row a:hover{text-decoration:underline;}
.sk-empty{
  font-size:12.5px;color:var(--text-3);
  background:var(--gray-50);border-radius:var(--r-sm);padding:11px 13px;line-height:1.6;
}

/* ── 工具分布 ── */
.tool-sec{padding:72px 0;background:#fff;border-top:1px solid var(--border);}
.tool-wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;}
.tool-group{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);padding:22px 20px;}
.tg-head{margin-bottom:14px;}
.tg-head b{display:block;font-size:15px;color:var(--text);margin-bottom:4px;}
.tg-head span{font-size:12.5px;color:var(--text-3);line-height:1.6;}
.tool-list{display:flex;flex-direction:column;gap:9px;}
.tool-item{background:#fff;border:1px solid var(--border);border-radius:var(--r-sm);padding:10px 13px;}
.tool-item b{display:block;font-size:13.5px;color:var(--text);margin-bottom:2px;}
.tool-item span{font-size:12px;color:var(--text-3);line-height:1.55;}
.tool-note{
  display:flex;flex-wrap:wrap;gap:10px 26px;margin-top:22px;
  font-size:12.5px;color:var(--text-3);
}
.tool-note b{color:var(--blue-700);}

/* ── CTA ── */
.mx-cta-sec{padding:0 0 84px;background:#fff;}

@media (max-width:1020px){
  .mx-hero{padding:68px 0 56px;}
  .mx-table-sec,.mx-sec,.tool-sec{padding:56px 0;}
  .mx-cta-sec{padding-bottom:64px;}
}
@media (max-width:760px){
  .mx-hero{padding:52px 0 44px;}
  .mx-hero h1{font-size:27px;}
  .mx-table-sec,.mx-sec,.tool-sec{padding:44px 0;}
  .skill-grid{grid-template-columns:1fr;}
  .skill-card{padding:20px 18px;}
  .tool-wrap{grid-template-columns:1fr;}
  .mx-dhead h2{font-size:23px;}
}

/* ============================================================
   3. MUN 六阶页 mun.html 专用组件
   ============================================================ */

.mun-ladder{display:flex;flex-direction:column;gap:14px;}
.mun-step{
  display:grid;grid-template-columns:104px 1fr;gap:0;
  background:#fff;border:1px solid var(--border);border-radius:var(--r-md);
  overflow:hidden;transition:box-shadow var(--dur) var(--ease),border-color var(--dur) var(--ease);
}
.mun-step:hover{box-shadow:var(--shadow-md);border-color:var(--blue-200);}
.mun-lv{
  background:var(--surface-2);border-right:1px solid var(--border);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:5px;padding:20px 8px;
}
.mun-lv b{
  font-size:26px;font-weight:800;letter-spacing:-.5px;
  background:linear-gradient(135deg,var(--blue-700),var(--violet-700));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.mun-lv span{font-size:11px;color:var(--text-3);white-space:nowrap;}
.mun-body{padding:20px 22px;display:flex;flex-direction:column;gap:11px;}
.mun-h{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.mun-h h3{font-size:18px;margin:0;color:var(--text);letter-spacing:-.2px;}
.mun-quote{font-size:13px;color:var(--text-3);}
.mun-flag{
  font-size:11px;font-weight:700;color:var(--violet-700);
  background:var(--violet-50);border:1px solid var(--violet-line);
  border-radius:var(--r-pill);padding:3px 10px;
}
.mun-meta{display:flex;flex-wrap:wrap;gap:6px 10px;}
.mun-meta span{
  font-size:12px;color:var(--text-2);background:var(--surface-2);
  border-radius:var(--r-sm);padding:5px 10px;
}
.mun-meta i{font-style:normal;color:var(--text-3);margin-right:6px;}
.mun-out,.mun-exit{
  display:flex;gap:10px;align-items:baseline;font-size:13px;color:var(--text-2);
  border-top:1px dashed var(--border);padding-top:9px;
}
.mun-out i,.mun-exit i{font-style:normal;font-size:11.5px;color:var(--text-3);min-width:58px;}
.mun-exit{color:var(--blue-700);border-top:0;padding-top:0;}
.mun-step.is-key{border-color:var(--violet-200);box-shadow:0 6px 22px rgba(123,63,228,.07);}
.mun-step.is-key .mun-lv{background:var(--violet-50);}
.mun-step.is-top .mun-lv{background:var(--blue-50);}

.mun-note{
  margin-top:22px;font-size:13px;color:var(--text-3);line-height:1.75;
  background:var(--surface-2);border-left:3px solid var(--blue-200);
  border-radius:var(--r-sm);padding:14px 18px;
}

/* 双轨 */
.track-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:18px;}
.track-card{
  background:#fff;border:1px solid var(--border);border-radius:var(--r-md);padding:26px 24px;
}
.track-card.is-violet{background:var(--violet-50);border-color:var(--violet-line);}
.track-card .tk{
  display:inline-block;font-size:11.5px;font-weight:800;letter-spacing:1px;
  color:var(--blue-700);background:#fff;border:1px solid var(--border);
  border-radius:var(--r-pill);padding:4px 12px;margin-bottom:14px;
}
.track-card.is-violet .tk{color:var(--violet-700);border-color:var(--violet-line);}
.track-card h3{font-size:20px;margin:0 0 14px;color:var(--text);letter-spacing:-.2px;}
.track-card ul{margin:0;padding-left:0;list-style:none;display:flex;flex-direction:column;gap:10px;}
.track-card li{
  font-size:13.5px;color:var(--text-2);line-height:1.65;
  padding-left:16px;position:relative;
}
.track-card li::before{
  content:"";position:absolute;left:0;top:8px;width:6px;height:6px;
  border-radius:50%;background:var(--blue-400);
}
.track-card.is-violet li::before{background:var(--violet-400);}

.switch-card{
  margin-top:18px;background:linear-gradient(135deg,#FBFDFF,#F5F3FF);
  border:1px solid var(--violet-line);border-radius:var(--r-md);padding:22px 24px;
}
.switch-card b{display:block;font-size:15px;color:var(--violet-700);margin-bottom:8px;}
.switch-card p{margin:0;font-size:13.5px;color:var(--text-2);line-height:1.75;}

/* 八模块 */
.module-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;}
.module-item{
  background:#fff;border:1px solid var(--border);border-radius:var(--r-md);
  padding:18px 18px 16px;display:flex;flex-direction:column;gap:7px;
  transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease);
}
.module-item:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm);}
.module-item b{
  font-size:11.5px;font-weight:800;letter-spacing:1px;color:var(--blue-500);
}
.module-item h3{font-size:15px;margin:0;color:var(--text);}
.module-item p{margin:0;font-size:12.5px;color:var(--text-3);line-height:1.65;}
.module-item .mp{
  margin-top:auto;font-size:11.5px;color:var(--text-3);
  border-top:1px dashed var(--border);padding-top:9px;
}

/* 三力映射表里的 CPU/GPU/OS 小标 */
.cpu{
  display:inline-block;margin-left:7px;font-size:10px;font-weight:700;
  color:var(--blue-500);letter-spacing:.6px;vertical-align:middle;
}

@media (max-width:760px){
  .mun-step{grid-template-columns:1fr;}
  .mun-lv{
    flex-direction:row;gap:10px;border-right:0;border-bottom:1px solid var(--border);
    padding:12px 18px;justify-content:flex-start;
  }
  .mun-lv b{font-size:20px;}
  .mun-body{padding:16px 18px;}
  .mun-h h3{font-size:16px;}
  .track-card{padding:22px 20px;}
  .track-card h3{font-size:18px;}
}

/* ── 备案号（页脚）─────────────────────────────────────── */
.icp-num{color:inherit;text-decoration:none;white-space:nowrap;}
.icp-num::before{content:"　｜　";opacity:.55;}
.icp-num.solo::before{content:none;}
.icp-num:hover{color:var(--blue);text-decoration:underline;}
