/* ============================================================







   ARIFU 官网 V2 · 统一设计系统（design-system.css）







   ä¾æ®ãARIFU å®ç½æ¹çå®æ½æ¹æ¡ãç¬¬ 3 ç« å¨ç«ç»ä¸è§è







   版本：V1.0 · 2026-08-16







   ============================================================ *//* ---------- 1. è²å½©åéï¼å·¥ä¸æ°å­æéè²ï¼ä¾æ®ãå·¥ä¸æ°å­æè®¾è®¡æå¯¼æ¹æ¡ãç¬¬ 2 ç« ï¼ ---------- */:root {







  --c-primary:        #0E5A8C;   /* ç§æèï¼å¯¹é½ç«åäº®èï¼ï¼ä¸»è² / hero / é¡µå¤´é¡µè */







  --c-primary-hover:  #12689E;   /* äº®æ·±èï¼ååºèæ¯ / å¡çåº / ä¸»è²æ¬å */







  --c-accent:         #00D4FF;   /* çµåéï¼å³é®æ°å­åå / ä¸»æé® / æ°å­é«äº® */







  --c-positive:       #16A3A3;   /* ç¢§ç»¿éï¼è¾¾æ  / å»é¤ç / æ´åè¯­ä¹ */







  --c-highlight:      #5FD0C5;   /* é«äº®éç»¿ï¼æ³¢çº¹çº¹ç / æ¸åè¿æ¸¡ */







  --c-warn:           #C47B17;   /* æ³¨æï¼ä»ä¼ ç»æ¹æ¡é®é¢ï¼ä¸æ»¡é¡µä½¿ç¨ï¼ */







  --c-page-bg:        #E8EDF2;   /* æµç°åºï¼å¤§æ®µåæ° / æ¡ä¾ / æ¥åæ¿è½½åº */







  --c-card:           #FFFFFF;   /* å¡ç */







  --c-card-border:    #D5DEE7;   /* å¡ç 1px è¾¹æ¡ */







  --c-text:           #1F2D3D;   /* ä¸­æ§æ·±ç°ï¼æ­£æ */







  --c-text-muted:     #5B6B7C;   /* è¾å©æå­ï¼å¾æ³¨ãæ¥æºï¼å¯¹æ¯åº¦ â¥ 4.5:1ï¼ */







  --c-disabled:       #8A939C;   /* ç¦ç¨ / å³å°ï¼ä¸è¿ä¸»å¡çï¼ */















  /* ---------- 2. å­å·ç³»ç»ï¼ç¬¬ 3.2 ç« ï¼ ----------







    ååï¼éå¶æå°å­å·ä¸å°äº"ç°å¨æ¾ç¤ºçå­å·"ï¼







    æå¤§å­å·ä¸å¤¸å¤§ãæ´ä½è§æï¼ææå­å¤å¤§æè¯»ï¼å¤§æ é¢ä¿æè§è§å²å»ã */







  --h1:        clamp(38px, 4.6vw, 52px);   /* å¤§æ é¢ä¸é 60pxï¼ä¸å¤¸å¤§ï¼ */







  --h1-w:      650;







  --h1-lh:     1.2;







  --h2:        clamp(26px, 3vw, 36px); /* äºçº§æ é¢ä¸é 40px */







  --h2-w:      600;







  --h2-lh:     1.3;







  --h3:        clamp(19px, 2vw, 22px); /* ä¸çº§æ é¢ä¸é 24px */







  --h3-w:      600;







  --h3-lh:     1.4;







  --lead:      clamp(22px, 2.3vw, 26px);  /* 引导文：20→28（×1.4） */







  --lead-w:    400;







  --lead-lh:   1.7;







  --body:      20px;                    /* 正文：18→24（×1.33） */







  --body-w:    400;







  --body-lh:   1.7;







  --meta:      17px;                    /* 辅助字：16→22（1.5×） */







  --meta-lh:   1.55;







  --stat:      clamp(36px, 4.4vw, 48px);  /* å¤§æ°å­ä¸é 56pxï¼ä¸å¤¸å¤§ï¼ */







  --stat-w:    600;







  --stat-lh:   1.0;







  --stat-unit: 16px;







  --stat-unit-w: 500;







  --stat-unit-lh: 1.3;







  --nav:       17px;                    /* 导航：16→22（1.5×） */







  --nav-w:     500;







  --nav-lh:    1;







  --btn:       18px;                    /* 按钮：16→22（1.5×） */







  --btn-w:     600;







  --btn-lh:    1;







  --foot:      15px;                    /* é¡µèï¼14â18 */







  --foot-w:    400;







  --foot-lh:   1.5;















  /* ---------- 3. æ æ ¼ä¸é´è·ï¼ç¬¬ 3.1 ç« ï¼ ----------







     æ»¡å±éºæ»¡ï¼gutter ç¼©å°è®©åå®¹ççè´´è¾¹ */







  --max-w:      1280px;   åå®¹æå¤§å®½åº¦ï¼æ åç½ç«å®½åº¦ï¼ */







  --gutter:     16px;     /* å·¦å³è¾¹è· */







  --sec-pad:    80px;     /* åºåä¸ä¸åè¾¹è· */







  --card-pad:   32px;







  --radius:     12px;







  --body-measure: 1100px;















  /* ---------- 4. æé® ---------- */







  --btn-radius: 8px;







}/* ---------- 移动端覆盖（同步放大 1.5×） ---------- */@media (max-width: 768px) {:root {







    --gutter: 24px;







    --sec-pad: 72px;







    --card-pad: 28px;







  }}/* ============================================================







   åºç¡éç½®







   ============================================================ */*, *::before, *::after { box-sizing: border-box; }html { -webkit-text-size-adjust: 100%; }body {







  margin: 0;







  font-family: "PingFang SC", "Microsoft YaHei", "Noto Sans SC", system-ui, -apple-system, sans-serif;







  font-size: var(--body);







  font-weight: var(--body-w);







  line-height: var(--body-lh);







  color: var(--c-text);







  background: var(--c-card);







  -webkit-font-smoothing: antialiased;







}h1, h2, h3, h4 { margin: 0; font-weight: var(--h2-w); color: var(--c-text); }h1 { font-size: var(--h1); font-weight: var(--h1-w); line-height: var(--h1-lh); }h2 { font-size: var(--h2); line-height: var(--h2-lh); }h3 { font-size: var(--h3); line-height: var(--h3-lh); }p { margin: 0; }a { color: var(--c-primary); text-decoration: none; }a:hover { color: var(--c-primary-hover); }img, video, iframe, embed, object {







  max-width: 100%;







  height: auto;







  display: block;







}/* è¶é¿å¾ï¼å¦ææºç«æç§çï¼èªå¨éå¶é«åº¦ï¼é¿åé¡¶å¤©ç«å°æç ´é¡µé¢ */img {







  max-height: none;







}ul, ol { margin: 0; padding: 0; list-style: none; }/* æå­èªå¨æ¢è¡ååºï¼é²æ­¢è¶é¿æå­/URL/ä»£ç æç ´å®¹å¨å¯¼è´æº¢åº */body, main, .container, .prose, section, article, p, li, h1, h2, h3, h4, h5, h6, div, td, th {







  overflow-wrap: break-word;







  word-wrap: break-word;







  word-break: break-word;







}/* è¡¨æ ¼ååºï¼è¶å®½æ¶åé¨æ¨ªåæ»å¨ï¼ä¸æç ´é¡µé¢ */table { max-width: 100%; }/* æ­£ææ é¢åç¦æ­¢ emoji ç±åå®¹å±ä¿è¯ï¼æ­¤å¤ä¸é¢å¤å ä¼ªåç´ è£é¥° *//* ============================================================







   å¸å±å®¹å¨







   ============================================================ */.container {







  width: 100%;







  max-width: var(--max-w);







  margin: 0 auto;







  padding-left: var(--gutter);







  padding-right: var(--gutter);







}.section { padding-top: var(--sec-pad); padding-bottom: var(--sec-pad); border-top: 1px solid var(--c-card-border); }.section--alt { background: var(--c-page-bg); }/* æ­£ææ ï¼é¿æéå®½ï¼é¿åéæ ï¼ */.prose { max-width: var(--body-measure); }/* main æ­£æåºï¼å·¦å³çè¾¹è· + å¼ºå¶æ¢è¡ï¼æå­/å¾çä¸æº¢åºè¾¹çï¼ */main {







  overflow-wrap: break-word;







  word-wrap: break-word;







  word-break: break-word;







  overflow-x: hidden;







}/* æ­£æåææåå®¹ï¼è¶é¿æå­/URL å¼ºå¶æ¢è¡ */main p, main h1, main h2, main h3, main h4, main h5, main h6,







main span, main li, main td, main th, main a, main div {







  overflow-wrap: break-word;







  word-wrap: break-word;







  word-break: break-word;







}/* å¾çèªå¨ç¼©æ¾å°è¾¹çå + å±ä¸­ */main img, main video, main iframe {







  max-width: 100%;







  height: auto;







  display: block;







  margin-left: auto;







  margin-right: auto;







}/* ä¸¤æ ï¼å·¦æå³å¾ 6/6ï¼å·¦ 7 å³ 5 */.grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: start; }.grid-2--75 { display: grid; grid-template-columns: 7fr 5fr; gap: 40px; align-items: start; }/* ä¸æ å¡çï¼æ¡é¢ 3 / å¹³æ¿ 2 / ææº 1 */.grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }@media (max-width: 992px) {.grid-2, .grid-2--75 { grid-template-columns: 1fr; }.grid-3 { grid-template-columns: repeat(2, 1fr); }}@media (max-width: 640px) {.grid-3 { grid-template-columns: 1fr; }}/* ============================================================







   ååºå¼ï¼èªå¨ééå±å¹ä¸ææºéºæ»¡







   ============================================================ *//* å¹³æ¿ï¼éåº¦æ¶ç´§åè¾¹è· */@media (max-width: 992px) {:root {







    --gutter: 20px;







    --sec-pad: 64px;







  }}/* ææºï¼åå®¹éºæ»¡ãè¾¹è·æå°åãå­å·èªå¨ç¼©æ¾ */@media (max-width: 640px) {:root {







    --gutter: 20px;







    --sec-pad: 56px;







    --card-pad: 24px;







    --body-measure: 100%;







  }.container {







    padding-left: var(--gutter);







    padding-right: var(--gutter);







  }/* ææºç«¯ hero åè¾¹è·æ¶ç´§ */.hero { padding-top: 40px; padding-bottom: 40px; }/* ææºç«¯ä¸¤æ /ä¸æ é´è·æ¶ç´§ */.grid-2, .grid-2--75 { gap: 24px; }.grid-3 { gap: 16px; }/* ææºç«¯è¡¨æ ¼åè®¸æ¨ªåæ»å¨ï¼é¿åæº¢åº */.data-table { display: block; overflow-x: auto; white-space: nowrap; }/* ææºç«¯ hero æ°æ®æ¡æ¢è¡æ´ç´§å */.hero-stats { gap: 16px; }.hero-stat-num { font-size: 24px; }.site-logo { font-size: 20px; }.site-header .container { height: 60px; }}/* å¤§å±ï¼â¥1280pxï¼è®©å®¹å¨åè¾¹è·å å¤§ãå¯¼èªæ´èå± */@media (min-width: 1280px) {:root { --gutter: 24px; }.site-nav { gap: 24px; }}@media (min-width: 1600px) {:root { --gutter: 28px; }.site-nav { gap: 24px; }}/* ============================================================







   å¡ç







   ============================================================ */.card {







  background: var(--c-card);







  border: 1px solid var(--c-card-border);







  border-radius: var(--radius);







  padding: var(--card-pad);







}.card h3 { margin-bottom: 12px; }a.card { color: var(--c-text); display: block; }a.card:hover { border-color: var(--c-primary); }/* Hero åºå */.hero {







  padding-top: 88px;







  padding-bottom: 88px;







  max-width: 100% !important;  /* hero æ»¡å±ï¼ä¸åæ­£æ 760px éå®½ */







}.hero .container {







  margin: 0 auto;







}/* Hero æ°æ®æ¡ï¼é¦é¡µè¯æ®æ°æ®ï¼æå¤ 3 é¡¹ï¼ */.hero-stats { align-items: flex-start; }.hero-stats > div { display: flex; flex-direction: column; gap: 4px; }.hero-stat-num {







  font-size: 30px;







  font-weight: 700;







  line-height: 1.1;







  color: var(--c-accent);







  letter-spacing: -0.01em;







  text-shadow: 0 0 10px rgba(0, 212, 255, 0.5), 0 0 24px rgba(0, 212, 255, 0.22);







}.hero-stat-label {







  font-size: var(--meta);







  line-height: var(--meta-lh);







  color: var(--c-text-muted);







}/* åªä½å ä½ï¼ç´ ææ ¸æ¥å¥åºåçä¸´æ¶å ä½ï¼æ­£å¼ä¸çº¿åå¿é¡»æ¿æ¢ï¼ */.media-placeholder {







  display: flex;







  align-items: center;







  justify-content: center;







  min-height: 220px;







  background: var(--c-page-bg);







  border: 1px dashed var(--c-card-border);







  border-radius: var(--radius);







  color: var(--c-text-muted);







  font-size: var(--meta);







}.hero-media .media-placeholder { min-height: 320px; }.hero-media img {







  width: 100%;







  height: auto;







  border-radius: var(--radius);







  object-fit: cover;







  display: block;







}/* ============================================================







   æé®ï¼ç¬¬ 3.4 ç« ï¼å¨ç«åªåè®¸ 3 ç§ï¼







   ============================================================ */.btn {







  display: inline-flex;







  align-items: center;







  justify-content: center;







  gap: 8px;







  font-size: var(--btn);







  font-weight: var(--btn-w);







  line-height: var(--btn-lh);







  border-radius: var(--btn-radius);







  padding: 14px 28px;







  cursor: pointer;







  border: 1px solid transparent;







  transition: background .15s, color .15s, border-color .15s;







  text-align: center;







}.btn--primary {







  background: var(--c-primary);







  color: #fff;







}.btn--primary:hover { background: var(--c-primary-hover); color: #fff; }.btn--secondary {







  background: #fff;







  color: var(--c-primary);







  border-color: var(--c-primary);







}.btn--secondary:hover { background: var(--c-page-bg); }.btn--link {







  color: var(--c-primary);







  padding: 4px 0;







  gap: 4px;







  background: none;







  border: none;







}content: "→";















/* ============================================================







   æå­æ ·å¼







   ============================================================ */







.lead { font-size: var(--lead); line-height: var(--lead-lh); color: var(--c-text); }.meta { font-size: var(--meta); line-height: var(--meta-lh); color: var(--c-text-muted); }/* æ ç­¾ï¼ä¸å¾ä¸ H2 æ¢æéï¼ */.tag {







  display: inline-block;







  font-size: 13px;







  line-height: 1;







  padding: 4px 10px;







  border-radius: 20px;







  background: var(--c-page-bg);







  color: var(--c-text-muted);







  border: 1px solid var(--c-card-border);







}.tag--status-verified { background: rgba(22, 163, 163, .12); color: var(--c-positive); border-color: rgba(22, 163, 163, .35); }.tag--status-debug   { background: #fdf3e7; color: var(--c-warn); border-color: #f0dcbf; }.tag--status-plan    { background: var(--c-page-bg); color: var(--c-text-muted); border-color: var(--c-card-border); }/* å¤§æ°å­ï¼ä¸å±æå¤ 4 ä¸ªï¼ââ çµåé + ååï¼å·¥ä¸æ°å­æ */.stat {







  font-size: var(--stat);







  font-weight: var(--stat-w);







  line-height: var(--stat-lh);







  color: var(--c-accent);







  text-shadow: 0 0 12px rgba(0, 212, 255, 0.55), 0 0 28px rgba(0, 212, 255, 0.25);







}.stat__unit { font-size: var(--stat-unit); font-weight: var(--stat-unit-w); color: var(--c-text-muted); margin-left: 4px; }/* æ¥æºè¡ï¼è¡¨æ ¼/æ°æ®ä¸æ¹å¿é¡»å¸¦æ¥æºï¼ */.src { font-size: var(--meta); color: var(--c-text-muted); }/* ============================================================







   è¡¨æ ¼







   ============================================================ */table.data-table {







  width: 100%;







  border-collapse: collapse;







  background: var(--c-card);







  border: 1px solid var(--c-card-border);







  border-radius: var(--radius);







  overflow: hidden;







}.data-table th, .data-table td {







  text-align: left;







  padding: 14px 16px;







  border-bottom: 1px solid var(--c-card-border);







  font-size: 16px;







}.data-table thead th {







  background: var(--c-page-bg);







  font-weight: 600;







  color: var(--c-text);







}.data-table tr:last-child td { border-bottom: none; }/* ============================================================







   é¡¶æ ï¼ç¬¬ 3.8 ç« ï¼







   ============================================================ */.site-header {







  position: sticky;







  top: 0;







  z-index: 100;







  background: #fff;







  border-bottom: 1px solid var(--c-card-border);







}.site-header .container {







  display: flex;







  align-items: center;







  justify-content: space-between;







  height: 72px;







}.site-logo { font-size: 22px; font-weight: 700; color: var(--c-primary); }.site-nav { display: flex; align-items: center; gap: 24px; list-style: none; }.site-nav > li { position: relative; }.site-nav > li > a {







  display: inline-flex;







  align-items: center;







  gap: 4px;







  font-size: var(--nav);







  font-weight: var(--nav-w);







  color: var(--c-text);







  padding: 8px 0;







  white-space: nowrap;







  line-height: 1.15;







}.site-nav > li > a {







  position: relative;







  transition: color .2s ease;







}/* ç§æèä¸åçº¿ï¼ä»ä¸­é´åä¸¤ä¾§æ¸æ¾ */.site-nav > li > a::before {







  content: "";







  position: absolute;







  left: 0;







  bottom: 2px;







  width: 100%;







  height: 2px;







  border-radius: 2px;







  background: linear-gradient(90deg, var(--c-primary), #00D4FF);







  transform: scaleX(0);







  transform-origin: center;







  transition: transform .25s ease;







}.site-nav > li > a:hover { color: var(--c-primary); }.site-nav > li > a:hover::before,







.site-nav > li.active > a::before { transform: scaleX(1); }/* ä¸æç®­å¤´ï¼æå­èåçä¸çº§é¡¹ï¼ */.site-nav > li.has-submenu > a::after {







  content: "";







  width: 0; height: 0;







  border-left: 4px solid transparent;







  border-right: 4px solid transparent;







  border-top: 5px solid var(--c-text-muted);







  margin-left: 2px;







}/* ä¸æèåå®¹å¨ï¼æ¡é¢é»è®¤éèï¼ç¹å»/èªå¨å±å¼æ¶æ¾ç¤ºï¼ */.site-nav .submenu {







  position: absolute;







  top: 100%;







  left: 0;







  min-width: 280px;







  padding: 20px 0;







  background: #fff;







  border: 1px solid var(--c-card-border);







  border-radius: 12px;







  box-shadow: 0 16px 40px rgba(10, 61, 92, 0.18);







  opacity: 0;







  visibility: hidden;







  transform: translateY(8px);







  transition: opacity .18s ease, transform .18s ease, visibility .18s;







  z-index: 210;







}/* å±å¼ç¶æï¼hover æ¬å æ ç¹å» .open æ¶æ¾ç¤ºä¸æ */.site-nav > li.has-submenu:hover > .submenu,







.site-nav > li.has-submenu:focus-within > .submenu,







.site-nav > li.has-submenu.open > .submenu {







  opacity: 1;







  visibility: visible;







  transform: translateY(0);







  pointer-events: auto;







}/* é»è®¤éèæ¶ç¦æ­¢ç¹å»ç©¿é */.site-nav .submenu {







  pointer-events: none;







}.site-nav .submenu a {







  display: block;







  padding: 18px 30px;







  font-size: 16px;







  font-weight: 500;







  color: var(--c-text);







  line-height: 1.5;







  margin: 8px 14px;







  border-radius: 6px;







  transition: background .15s, color .15s;







}.site-nav .submenu a:hover,







.site-nav .submenu a.active {







  color: var(--c-primary);







  background: var(--c-page-bg);







  font-weight: 600;







}.site-nav .submenu a.active {







  background: rgba(0, 212, 255, .14);







}/* åç»æ ç­¾ï¼ææ±¡æ°´æ§è´¨ãæå·¥èºç­ï¼æ´æ¸æ° */.site-nav .submenu .submenu-group-label {







  padding: 20px 30px 10px;







  font-size: 13px;







  font-weight: 700;







  color: var(--c-text-muted);







  letter-spacing: 1px;







  text-transform: uppercase;







  cursor: default;







  border-top: 1px solid var(--c-card-border);







  margin-top: 14px;







}.site-nav .submenu .submenu-group-label:first-child {







  border-top: none;







  margin-top: 0;







  padding-top: 8px;







}/* é¿åæåä¸ä¸ªä¸æé¡¹æº¢åºå³è¾¹ç */.site-nav > li:last-child .submenu { left: auto; right: 0; }/* ===== ä¸çº§å­èåï¼åç» + ç»åé¡¹ï¼===== *//* æä¸çº§æ¶ä¸æå®¹å¨å å®½ï¼æ¯æå¤ååç» */.site-nav .submenu {







  min-width: 300px;







}.site-nav .submenu .submenu-group {







  padding: 4px 0;







}.site-nav .submenu .submenu-group .submenu-group-label {







  padding: 14px 30px 8px;







  font-size: 13px;







  font-weight: 700;







  color: var(--c-text-muted);







  letter-spacing: 1px;







  cursor: default;







  border-top: 1px solid var(--c-card-border);







  margin-top: 10px;







}.site-nav .submenu .submenu-group:first-child .submenu-group-label {







  border-top: none;







  margin-top: 0;







  padding-top: 8px;







}/* å¯ç¹å»çåç»æ é¢ï¼è·³è½¬æ»è§é¡µï¼ */.site-nav .submenu .submenu-group a.submenu-group-link {







  display: block;







  text-decoration: none;







  color: var(--c-text-muted);







  cursor: pointer;







  transition: color .15s;







}.site-nav .submenu .submenu-group a.submenu-group-link:hover {







  color: var(--c-primary);







}/* ä¸çº§é¾æ¥ï¼æ¯äºçº§é¡¹ç¼©è¿ï¼å­å·ç¥å° */.site-nav .submenu .submenu-group .submenu-item {







  display: block;







  padding: 12px 30px 12px 46px;







  font-size: 15px;







  font-weight: 400;







  color: var(--c-text);







  line-height: 1.4;







  margin: 2px 14px;







  border-radius: 6px;







  transition: background .15s, color .15s;







}.site-nav .submenu .submenu-group .submenu-item:hover,







.site-nav .submenu .submenu-group .submenu-item.active {







  color: var(--c-primary);







  background: var(--c-page-bg);







  font-weight: 600;







}.site-nav .submenu .submenu-group .submenu-item.active {







  background: rgba(0, 212, 255, .14);







}/* ç§»å¨ç«¯æ½å±éçä¸çº§åç» */.nav-drawer nav .submenu-group {







  margin-left: 16px;







  border-left: 1px solid var(--c-card-border);







  padding-left: 8px;







  margin-top: 4px;







}.nav-drawer nav .submenu-group .submenu-item {







  display: flex;







  align-items: center;







  min-height: 44px;







  padding: 8px 0 8px 8px;







  font-size: 15px;







  color: var(--c-text);







}/* å½åé¡µæå¨ä¸çº§é¡¹ï¼ä¸»æå­å åºè² */.site-nav > li.active > a {







  color: var(--c-primary);







  font-weight: 700;







}.site-nav > li.active > a::after {







  border-top-color: var(--c-primary);







}.header-cta { margin-left: 12px; }/* æ±å ¡æé®ï¼æ¡é¢éèï¼ */.nav-toggle {







  display: none;







  flex-direction: column;







  justify-content: center;







  align-items: center;







  gap: 4px;







  width: 44px;







  height: 44px;







  background: none;







  border: none;







  cursor: pointer;







  padding: 10px;







  box-sizing: border-box;







}.nav-toggle span {







  display: block;







  width: 22px;







  height: 2px;







  background: var(--c-text);







}/* ç§»å¨ç«¯æ½å± */.nav-drawer {







  position: fixed;







  top: 0; right: 0;







  width: 280px;







  height: 100vh;







  background: #fff;







  box-shadow: -8px 0 24px rgba(0,0,0,.08);







  z-index: 300;







  padding: 72px 24px 24px;







  transform: translateX(100%);







  transition: transform .25s ease;







}.nav-drawer.is-open { transform: translateX(0); }.nav-drawer nav { display: flex; flex-direction: column; gap: 8px; }.nav-drawer nav a {







  display: block;







  font-size: 16px;







  font-weight: 500;







  padding: 12px 0;







  border-bottom: 1px solid var(--c-card-border);







  color: var(--c-text);







  min-height: 44px;







  line-height: 1.5;







}.nav-drawer nav a.btn { margin-top: 16px; border-bottom: none; justify-content: center; }.nav-drawer nav .submenu-group-label {







  margin-top: 12px;







  font-size: 13px;







  font-weight: 700;







  color: var(--c-text-muted);







  letter-spacing: .5px;







  padding: 4px 0;







}@media (max-width: 1240px) {.site-nav { display: none; }.header-cta { display: none; }.nav-toggle { display: flex; }}/* ============================================================







   é¡µèï¼ç¬¬ 3.5 ç« ï¼4 åï¼







   ============================================================ */.site-footer {







  background: #0E5A8C;







  color: #cbd5dc;







  font-size: var(--foot);







  line-height: var(--foot-lh);







  padding: 56px 0 32px;







}.site-footer a { color: #cbd5dc; }.site-footer a:hover { color: var(--c-highlight); }.footer-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px; }.footer-col h4 { color: #fff; font-size: 15px; margin-bottom: 16px; }.footer-col li { margin-bottom: 10px; }.footer-col li a {
  display: inline-block;
  min-height: 44px;
  line-height: 44px;
  padding: 0 2px;
}.footer-bottom {







  margin-top: 40px;







  padding-top: 20px;







  border-top: 1px solid rgba(255,255,255,.18);







  display: flex;







  flex-wrap: wrap;







  gap: 16px;







  justify-content: space-between;







  font-size: var(--foot);







}@media (max-width: 768px) {.footer-grid { grid-template-columns: 1fr 1fr; }}/* ============================================================







   è§é¢æ­æ¾å¨ï¼ç¬¬ 3.7 ç« ï¼ç»ä¸ç®è¤ï¼







   ============================================================ */.video-wrap {







  position: relative;







  width: 100%;







  aspect-ratio: 16 / 9;







  background: #000;







  border-radius: 10px;







  overflow: hidden;







}.video-wrap video { width: 100%; height: 100%; object-fit: cover; }.video-cover {







  position: absolute; inset: 0;







  display: flex; align-items: center; justify-content: center;







  cursor: pointer;







}.video-cover img { width: 100%; height: 100%; object-fit: cover; }.video-play {







  position: absolute;







  width: 64px; height: 64px;







  border-radius: 50%;







  background: rgba(0,0,0,.55);







  color: #fff;







  display: flex; align-items: center; justify-content: center;







  font-size: 24px;







}.video-meta {







  position: absolute;







  left: 12px; bottom: 12px;







  display: flex; gap: 8px; align-items: center;







}.video-meta .tag { background: rgba(0,0,0,.6); color: #fff; border: none; }/* ============================================================







   è¡¨åï¼ç¬¬ 3.4 ç« ï¼ä¸çº§æåï¼







   ============================================================ */.form-group { margin-bottom: 20px; }.form-group label { display: block; font-size: 15px; font-weight: 500; margin-bottom: 6px; }.form-group input,







.form-group select,







.form-group textarea {







  width: 100%;







  padding: 12px 14px;







  font-size: 16px;







  border: 1px solid var(--c-card-border);







  border-radius: var(--btn-radius);







  font-family: inherit;







  color: var(--c-text);







}.form-group input:focus,







.form-group select:focus,







.form-group textarea:focus {







  outline: none;







  border-color: var(--c-primary);







}/* ============================================================







   æµ®å±ï¼ç¬¬ 3.8 ç« ï¼ä»ãèç³»ã+ãåé¡¶ãï¼







   ============================================================ */.float-panel {







  position: fixed;







  right: 24px; bottom: 24px;







  z-index: 200;







  display: flex;







  flex-direction: column;







  gap: 12px;







}.float-btn {







  width: 52px; height: 52px;







  border-radius: 50%;







  background: var(--c-primary);







  color: #fff;







  display: flex; align-items: center; justify-content: center;







  cursor: pointer;







  border: none;







  box-shadow: 0 4px 12px rgba(10,61,92,.25);







  font-size: 20px;







}.float-btn:hover { background: var(--c-primary-hover); }.float-backtop { display: none; }/* æ»å¨è¶ 1.5 å±åç± JS æ¾ç¤º */.float-backtop.show { display: flex; }/* ============================================================







   æ éç¢ï¼å¯¹æ¯åº¦ä¸ç¦ç¹







   ============================================================ */a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {







  outline: 2px solid var(--c-primary);







  outline-offset: 2px;







}/* ===== é¦é¡µéåæ°æ®å¡çï¼ç§ææï¼ ===== */.stat-grid {







  display: grid;







  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));







  gap: 16px;







  margin: 32px 0;







}.stat-card {







  background: linear-gradient(135deg, #0E5A8C, #12689E);







  color: #fff;







  border-radius: 12px;







  padding: 24px 20px;







  text-align: center;







  box-shadow: 0 8px 24px rgba(10, 61, 92, 0.25);







  position: relative;







  overflow: hidden;







}.stat-card::before {







  content: "";







  position: absolute;







  top: -50%;







  right: -30%;







  width: 120px;







  height: 120px;







  background: rgba(0, 212, 255, 0.25);







  border-radius: 50%;







  filter: blur(8px);







}.stat-card strong {







  display: block;







  font-size: 34px;







  font-weight: 800;







  line-height: 1.1;







  color: #00D4FF;







  letter-spacing: -0.5px;







  white-space: nowrap;







}.stat-card span {







  display: block;







  margin-top: 10px;







  font-size: 14px;







  color: rgba(255, 255, 255, 0.85);







  line-height: 1.4;







}/* é¦é¡µå¯æ é¢ */.hero-sub {







  font-size: 20px;







  color: var(--c-text-muted);







  line-height: 1.6;







}/* ============================================================







   éç¨åå®åç»ä»¶ï¼å¨ç«ç»ä¸ï¼2026-08 æ°å¢ï¼







   ============================================================ *//* åºåæ é¢ç» */.section-head { margin-bottom: 32px; }.section-head .section-tag { margin-bottom: 12px; }.section-head h2 { margin-bottom: 12px; }.section-head .section-sub { margin-top: 0; }.section-tag {







  display: inline-block;







  font-size: 13px;







  letter-spacing: .08em;







  text-transform: uppercase;







  color: var(--c-accent);







  font-weight: 700;







}.section-sub {







  font-size: var(--lead);







  line-height: var(--lead-lh);







  color: var(--c-text-muted);







}/* Hero å¾æ/è§é¢åæ  */.hero-grid {







  display: grid;







  grid-template-columns: 1.05fr .95fr;







  gap: 48px;







  align-items: center;







}.hero-text h1 { margin: 12px 0 16px; }.hero-text .lead { margin: 0; }.hero-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 24px; }.hero-media video {







  width: 100%;







  height: auto;







  border-radius: var(--radius);







  box-shadow: 0 16px 40px rgba(11, 58, 91, .22);







  display: block;







  aspect-ratio: 16 / 10;







  object-fit: cover;







  background: #061a2b;







}/* å¡çç½æ ¼ï¼äº§åç³»å/æ¹æ¡/åºæ¯ï¼ */.card-grid {







  display: grid;







  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));







  gap: 20px;







}a.card--link {







  display: flex;







  flex-direction: column;







  gap: 8px;







  text-decoration: none;







  transition: transform .18s, box-shadow .18s, border-color .18s;







}a.card--link:hover {







  transform: translateY(-4px);







  box-shadow: 0 16px 36px rgba(11, 58, 91, .14);







  border-color: var(--c-accent);







}.card-badge {







  display: inline-block;







  align-self: flex-start;







  font-size: 12px;







  font-weight: 800;







  letter-spacing: .06em;







  color: var(--c-accent);







  background: rgba(0, 212, 255, .10);







  border: 1px solid rgba(0, 212, 255, .30);







  border-radius: 20px;







  padding: 3px 12px;







}.card--link h3 { margin: 4px 0 0; font-size: 24px; }.card-pos { color: var(--c-text-muted); font-size: var(--meta); margin: 0; }.card-list { margin: 4px 0; padding-left: 0; list-style: none; }.card-list li { font-size: 15px; line-height: 1.6; color: var(--c-text); }content: "· ";







.card-app {







  margin-top: auto;







  font-size: 13px;







  color: var(--c-text-muted);







  padding-top: 8px;







  border-top: 1px solid var(--c-card-border);







}.card-more { font-size: 14px; font-weight: 700; color: var(--c-primary); }/* å¾æ/è§é¢åæ ï¼å·¥ç¨å®æç­ï¼ */.media-grid {







  display: grid;







  grid-template-columns: 1fr 1fr;







  gap: 24px;







}.media-grid figure { margin: 0; }.media-grid img, .media-grid video {







  width: 100%;







  height: auto;







  border-radius: var(--radius);







  display: block;







  box-shadow: 0 10px 28px rgba(11, 58, 91, .14);







}.media-grid video { background: #061a2b; aspect-ratio: 16 / 10; object-fit: cover; }.media-grid figcaption {







  margin-top: 10px;







  font-size: var(--meta);







  color: var(--c-text-muted);







  text-align: center;







}/* æ¿è¯º/æ¸ååè¡¨ */.commit-list {







  list-style: none;







  padding: 0;







  margin: 0;







  display: flex;







  flex-direction: column;







  gap: 16px;







}.commit-list li {







  padding: 16px 20px;







  background: var(--c-card);







  border: 1px solid var(--c-card-border);







  border-left: 3px solid var(--c-accent);







  border-radius: var(--radius);







  line-height: 1.7;







}.commit-list strong { color: var(--c-primary); }/* ååºå¼ */@media (max-width: 992px) {.hero-grid { grid-template-columns: 1fr; gap: 24px; }.media-grid { grid-template-columns: 1fr; }}/* ===== é¦é¡µä¸ç¨æ ·å¼ ===== */.hero {







  padding: 72px 0 64px;







  background: linear-gradient(135deg, #0E5A8C 0%, #12689E 100%);







  color: #fff;







}.hero-inner {







  max-width: none;







}.hero h1 {







  color: #fff;







  font-size: 44px;







  line-height: 1.2;







  font-weight: 800;







  margin: 0;







}.hero-sub {







  color: rgba(255,255,255,.85);







  font-size: 19px;







  line-height: 1.7;







  margin-top: 20px;







}.hero-cta {







  margin-top: 32px;







  display: flex;







  gap: 12px;







  flex-wrap: wrap;







}.btn--lg {







  padding: 14px 28px;







  font-size: 16px;







}.btn--ghost {







  background: transparent;







  color: #fff;







  border: 1px solid rgba(255,255,255,.6);







}.btn--ghost:hover {







  background: rgba(255,255,255,.12);







  border-color: #fff;







}.stats-band {







  padding: 32px 0;







  background: #fff;







  border-bottom: 1px solid var(--c-card-border);







}.stats-grid {







  display: grid;







  grid-template-columns: repeat(4, 1fr);







  gap: 24px;







}.stat-num {







  font-size: 32px;







  font-weight: 800;







  color: var(--c-primary);







  line-height: 1.1;







}.stat-label {







  font-size: 14px;







  color: var(--c-text-muted);







  margin-top: 6px;







}.section-title {







  font-size: 28px;







  font-weight: 700;







  margin: 0 0 8px;







}.grid-4 {







  display: grid;







  grid-template-columns: repeat(4, 1fr);







  gap: 16px;







}.card-link {







  display: block;







  text-decoration: none;







  color: inherit;







  transition: transform .15s, box-shadow .15s;







}.card-link:hover {







  transform: translateY(-3px);







  box-shadow: 0 12px 28px rgba(10,61,92,.12);







}.video-card video {







  background: #000;







  aspect-ratio: 16/9;







  object-fit: cover;







}.cta-band {







  background: linear-gradient(135deg, #0E5A8C 0%, #12689E 100%);







  padding: 64px 0;







}@media (max-width: 900px) {.stats-grid { grid-template-columns: repeat(2, 1fr); }.grid-4 { grid-template-columns: repeat(2, 1fr); }.hero h1 { font-size: 32px; }}@media (max-width: 560px) {.stats-grid { grid-template-columns: 1fr; }.grid-4 { grid-template-columns: 1fr; }}/* ===== ä¿®å¤ .nav-drawer æ¡é¢ç«¯é»è®¤éè ===== */.nav-drawer {







  display: none;







}.nav-drawer.is-open {







  display: block;







}@media (min-width: 900px) {.nav-drawer,







  .nav-drawer.is-open {







    display: none !important;







  }}/* ============================================================



   V2 å¢å¼ºï¼å¯¼èªå¾æå¡çï¼å¾ç/å¾æ  + æ é¢ + ä¸å¥è¯è¯´æï¼竞品 å¼ï¼



   ============================================================ *//* ç§»å¨ç«¯æ½å± *//* ============================================================



   V2 å¢å¼ºï¼äº§åå¡çé¡¶é¨å¾çï¼竞品 å¼äº§åå±ç¤ºï¼



   ============================================================ */a.card--link { overflow: hidden; }a.card--link .card-img {



  display: block;



  width: 100%;



  height: 172px;



  object-fit: cover;



  flex: 0 0 auto;



  margin: calc(-1 * var(--card-pad)) calc(-1 * var(--card-pad)) 18px calc(-1 * var(--card-pad));



  border-radius: 11px 11px 0 0;



  background: var(--c-page-bg, #f2f6fa);



}@media (max-width: 768px) {a.card--link .card-img { height: 150px; }}/* ============================================================



   V2 å¢å¼ºï¼è§é¢ä¸­ç­çªå£å¼¹çªæ­æ¾ï¼竞品 å¼è½»éè§çï¼



   ============================================================ */.video-modal {



  position: fixed;



  inset: 0;



  z-index: 9990;



  background: rgba(13, 20, 36, .78);



  display: flex;



  align-items: center;



  justify-content: center;



  padding: 16px;



}.video-modal-box {



  position: relative;



  width: min(720px, 94vw);



  background: #000;



  border-radius: 12px;



  overflow: hidden;



  box-shadow: 0 24px 70px rgba(0, 0, 0, .45);



}.video-modal-box video { display: block; width: 100%; aspect-ratio: 16/9; background: #000; }.video-modal-close {



  position: absolute;



  top: 10px;



  right: 10px;



  z-index: 2;



  width: 32px;



  height: 32px;



  border-radius: 50%;



  border: none;



  background: rgba(255, 255, 255, .92);



  color: #0d1424;



  font-size: 20px;



  line-height: 1;



  cursor: pointer;



  box-shadow: 0 2px 8px rgba(0, 0, 0, .25);



}.video-modal-close:hover { background: #fff; }/* ============================================================



   V2 å¢å¼ºï¼æ¡ä¾è¡¨æ ¼æåï¼竞品 å¼è¡å¼è¡¨æ ¼ï¼



   ============================================================ */.case-table {



  width: 100%;



  border-collapse: separate;



  border-spacing: 0;



  font-size: 14px;



  background: #fff;



  border: 1px solid var(--c-card-border, #e4ecf3);



  border-radius: 12px;



  overflow: hidden;



  box-shadow: 0 4px 24px rgba(15, 42, 66, .06);



}.case-table th {



  text-align: left;



  padding: 14px 18px;



  background: var(--c-page-bg, #f5f8fb);



  font-weight: 600;



  color: var(--c-text-muted, #6b7a8a);



  font-size: 13px;



  letter-spacing: .02em;



  border-bottom: 1px solid var(--c-card-border, #e4ecf3);



  white-space: nowrap;



}.case-table td {



  padding: 14px 18px;



  border-bottom: 1px solid var(--c-card-border, #e4ecf3);



  vertical-align: middle;



  color: var(--c-text, #12233a);



}.case-table tbody tr:last-child td { border-bottom: none; }.case-table tbody tr { transition: background .15s; }.case-table tbody tr:hover { background: #f8fafc; }.case-table td.case-name { white-space: nowrap; }.case-table .case-name-inner { display: inline-flex; align-items: center; gap: 10px; font-weight: 600; }.case-table .case-name-inner a { color: var(--c-text, #12233a); text-decoration: none; }.case-table .case-name-inner a:hover { color: var(--c-primary); }.case-table .case-thumb {



  width: 42px;



  height: 42px;



  border-radius: 8px;



  object-fit: cover;



  flex: 0 0 42px;



  border: 1px solid var(--c-card-border, #e4ecf3);



  background: var(--c-page-bg, #f5f8fb);



}.case-table .case-note { color: var(--c-text-sub, #4a5a6a); }.case-table .case-go { text-align: right; white-space: nowrap; }.case-table .case-go .btn { padding: 6px 14px; font-size: 13px; }.case-table .tag { white-space: nowrap; }@media (max-width: 768px) {.case-table { font-size: 13px; }.case-table th, .case-table td { padding: 10px 12px; }}/* ============================================================



   V2 å¢å¼ºï¼éªè¯/æ£æµ/è¾¨çä¼ª å¾æå¡ï¼竞品 å¼ï¼å¾+æä¸ä½ï¼



   ============================================================ */.verify-card {



  padding: 0;



  overflow: hidden;



  display: flex;



  flex-direction: column;



  text-align: left;



}.verify-card .card-media {



  display: block;



  width: 100%;



  height: 180px;



  object-fit: cover;



  flex: 0 0 auto;



  border-radius: 11px 11px 0 0;



  background: var(--c-page-bg, #f2f6fa);



}.verify-card .card-body { padding: 18px 20px 22px; }.verify-card h3 { margin-top: 0; font-size: 17px; }.verify-card .card-body .meta { margin-top: 8px; line-height: 1.8; }.verify-card .card-body ul { margin: 8px 0 0; padding-left: 18px; }.verify-card .card-body li { line-height: 1.8; }.verify-card .data-table { width: 100%; font-size: 13px; }.verify-card .data-table td { padding: 7px 10px; }@media (max-width: 768px) {.verify-card .card-media { height: 150px; }}/* ============================================================



   V2 å¢å¼ºï¼å®¢æ·è¯ä»·å¡ï¼å¯¹é½ 竞品 testimonial æ¨¡åï¼



   ============================================================ */.quote-card {



  background: var(--c-card, #fff);



  border: 1px solid var(--c-card-border, #e3e9ef);



  border-radius: 14px;



  padding: 30px 24px 22px;



  position: relative;



}.quote-card::before {



  content: '“';



  position: absolute;



  top: 4px;



  left: 20px;



  font-size: 72px;



  line-height: 1;



  font-family: Georgia, 'Times New Roman', serif;



  color: var(--c-accent, #00d4ff);



  opacity: .32;



}.quote-card p.quote-text {



  font-size: 15px;



  line-height: 1.9;



  color: var(--c-text, #1f2d3d);



  margin: 14px 0 0;



}.quote-card .quote-by {



  margin-top: 16px;



  padding-top: 12px;



  border-top: 1px solid var(--c-card-border, #e3e9ef);



  font-size: 13px;



  font-weight: 600;



  color: var(--c-primary, #0a3d5c);



}.quote-card .quote-by span {



  display: block;



  font-weight: 400;



  margin-top: 2px;



  color: var(--c-text-muted, #5b6b7c);



}@media (max-width: 768px) {.quote-card { padding: 26px 20px 18px; }}/* ============================================================

   V3 å¯¼èªåçº§ï¼åç§ç«åï¼竞品 å¤å Mega é¢æ¿ + 竞品 ç®æ´ 2 å±ï¼

   è¯´æï¼3 å±å¯¼èªï¼å« submenu-groupï¼æ¸²æä¸ºå¤åå¡çé¢æ¿ï¼

        2 å±å¯¼èªï¼æ  submenu-groupï¼æ¸²æä¸ºç´§ååååè¡¨ã

   ============================================================ *//* ä¸çº§èå hoverï¼ç®­å¤´æè½¬ 180 åº¦ + åè */.site-nav > li.has-submenu > a::after {

  transition: transform .2s ease, border-top-color .2s ease;

}.site-nav > li.has-submenu:hover > a::after,

.site-nav > li.has-submenu.open > a::after {

  transform: rotate(180deg);

  border-top-color: var(--c-primary);

}/* ---- 3 å±å¯¼èªï¼å¤åå¡çé¢æ¿ï¼å« submenu-group æ¶å¯ç¨ï¼ ---- */.site-nav .submenu:has(.submenu-group) {

  display: flex;

  flex-wrap: wrap;

  gap: 4px;

  width: max-content;

  min-width: 400px;

  max-width: min(960px, calc(100vw - 32px));

  padding: 18px 14px 14px;

  border-radius: 14px;

  box-shadow: 0 24px 60px rgba(10, 61, 92, .22), 0 4px 14px rgba(10, 61, 92, .08);

}.site-nav .submenu:has(.submenu-group) .submenu-group {

  flex: 1 1 240px;

  min-width: 210px;

  max-width: 340px;

  padding: 0;

}/* åç»æ é¢ï¼èè²å°æ ç­¾ + åºé¨æ¸åçº¿ */.site-nav .submenu:has(.submenu-group) .submenu-group-label {

  margin: 0 14px 6px;

  padding: 8px 12px;

  font-size: 12px;

  font-weight: 800;

  letter-spacing: 1.5px;

  color: var(--c-primary);

  text-transform: uppercase;

  border-top: none;

  border-bottom: 2px solid rgba(0, 212, 255, .35);

}.site-nav .submenu:has(.submenu-group) .submenu-group a.submenu-group-link:hover {

  color: var(--c-primary);

}/* å­é¡¹ï¼åè§å¡ç hover é«äº® + å·¦ä¾§èè²ç«æ¡ */.site-nav .submenu:has(.submenu-group) .submenu-group .submenu-item {

  position: relative;

  padding: 7px 12px;

  margin: 1px 14px;

  font-size: 14px;

  border-radius: 8px;

}.site-nav .submenu:has(.submenu-group) .submenu-group .submenu-item::before {

  content: '';

  position: absolute;

  left: 2px;

  top: 50%;

  width: 3px;

  height: 0;

  border-radius: 2px;

  background: linear-gradient(180deg, var(--c-primary), #00D4FF);

  transform: translateY(-50%);

  transition: height .18s ease;

}.site-nav .submenu:has(.submenu-group) .submenu-group .submenu-item:hover::before,

.site-nav .submenu:has(.submenu-group) .submenu-group .submenu-item.active::before {

  height: 16px;

}.site-nav .submenu:has(.submenu-group) .submenu-group .submenu-item:hover,

.site-nav .submenu:has(.submenu-group) .submenu-group .submenu-item.active {

  background: linear-gradient(90deg, rgba(14, 90, 140, .08), rgba(0, 212, 255, .05));

  color: var(--c-primary);

}/* ---- 2 å±å¯¼èªï¼ç´§ååååè¡¨ï¼æ  submenu-group æ¶å¯ç¨ï¼ ---- */.site-nav .submenu:not(:has(.submenu-group)) {

  min-width: 230px;

  padding: 10px 6px;

}.site-nav .submenu:not(:has(.submenu-group)) a {

  padding: 10px 16px;

  margin: 2px 8px;

  font-size: 14px;

  border-radius: 8px;

}/* å®½é¢æ¿é²æº¢åºï¼å³ä¾§å¯¹é½ï¼ç± JS å¨ hover æ¶æ£æµæ·»å ï¼ */.site-nav .submenu.align-right {

  left: auto;

  right: 0;

}/* ç§»å¨ç«¯æ½å±ï¼åç»æ é¢åæ ·èè²å°æ ç­¾é£æ ¼ */.nav-drawer nav .submenu-group-label {

  font-size: 12px;

  font-weight: 800;

  letter-spacing: 1.5px;

  color: var(--c-primary);

  text-transform: uppercase;

  margin-top: 10px;

}/* ============================================================

   V4 å¯¼èªåçº§ï¼2026-08-23ï¼ï¼åç§ç«åä¿®æ­£ 3 å± Mega é¢æ¿ä¸ 2 å±ç´§ååè¡¨

   - ä¿®å¤ V2 å¯å¡ç !important åå¶ V3 ç´§åæ ·å¼ â é¢æ¿è¿é«(1182px)

   - åç»æ é¢è¢« JS å¢å¼ºä¸ºå¯å¡ç â æ¢å¤çº¯æå­èè²æ ç­¾

   - åç»æ¢è¡éä¹±(3+1) â æåå®¹èªéåºå¤åãè¡åå¡«æ»¡

   ============================================================ *//* ---- 3 å±å¯¼èªï¼å¤å Mega é¢æ¿ ---- */.site-nav .submenu:has(.submenu-group) {

  display: flex;

  flex-wrap: wrap;

  align-items: flex-start;

  gap: 6px 18px;

  width: max-content;

  min-width: 430px;

  max-width: min(980px, calc(100vw - 48px));

  padding: 18px 20px 16px;

  border-radius: 16px;

  box-shadow: 0 28px 64px rgba(10, 61, 92, .22), 0 4px 14px rgba(10, 61, 92, .08);

}.site-nav .submenu:has(.submenu-group) .submenu-group {

  flex: 1 1 200px;

  min-width: 186px;

  max-width: 340px;

  padding: 0;

  margin: 0;

  border: none;

  background: transparent;

}/* åç»æ é¢ï¼æ¢å¤çº¯æå­èè²æ ç­¾ï¼å³ä½¿è¢« JS å¢å¼ºä¸ºå¯å¡çï¼éèå¾æ ä¸æè¿°ï¼ */.site-nav .submenu:has(.submenu-group) .submenu-group-label {

  display: block !important;

  margin: 0 6px 7px;

  padding: 0 8px 8px;

  font-size: 12px;

  font-weight: 800;

  letter-spacing: 1.5px;

  color: var(--c-primary);

  text-transform: uppercase;

  line-height: 1.4;

  border-top: none;

  border-bottom: 2px solid rgba(0, 212, 255, .35);

  white-space: nowrap;

}.site-nav .submenu:has(.submenu-group) .submenu-group-label:hover {

  color: var(--c-primary);

}/* å­é¡¹å¯å¡çï¼å¾æ  + æ é¢ + åè¡æè¿° ç´§åæ¨ªæ *//* 3 å± hover ç«æ¡é«äº®ï¼è¦ç V2 !important ç margin/padding å²çªï¼ */.site-nav .submenu:has(.submenu-group) .submenu-group .submenu-item {

  position: relative;

  padding: 5px 8px;

  margin: 1px 6px;

  border-radius: 8px;

}.site-nav .submenu:has(.submenu-group) .submenu-group .submenu-item::before {

  content: '';

  position: absolute;

  left: 3px;

  top: 50%;

  width: 3px;

  height: 0;

  border-radius: 2px;

  background: linear-gradient(180deg, var(--c-primary), #00D4FF);

  transform: translateY(-50%);

  transition: height .18s ease;

}.site-nav .submenu:has(.submenu-group) .submenu-group .submenu-item:hover::before,

.site-nav .submenu:has(.submenu-group) .submenu-group .submenu-item.active::before {

  height: 14px;

}.site-nav .submenu:has(.submenu-group) .submenu-group .submenu-item:hover,

.site-nav .submenu:has(.submenu-group) .submenu-group .submenu-item.active {

  background: linear-gradient(90deg, rgba(14, 90, 140, .08), rgba(0, 212, 255, .05));

  color: var(--c-primary);

}/* ---- 2 å±å¯¼èªï¼ç´§ååååè¡¨ï¼æ  submenu-group æ¶å¯ç¨ï¼ ---- */.site-nav .submenu:not(:has(.submenu-group)) {

  min-width: 230px;

  padding: 10px 6px;

}.site-nav .submenu:not(:has(.submenu-group)) a {

  padding: 10px 16px;

  margin: 2px 8px;

  font-size: 14px;

  border-radius: 8px;

}/* ===== è§é¢ä¸­å¿ï¼ä¸»æ­æ¾å¨ + å¡çï¼å¤§æ¡ + ç¹å»å°è§é¢ï¼ ===== */.video-master { margin-bottom: 34px; }.video-master-stage { position: relative; border-radius: 16px; overflow: hidden; background: #0a0f1c; box-shadow: 0 18px 50px rgba(10, 20, 40, .25); }.video-master-stage video { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; background: #000; }.video-master-empty { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; background: linear-gradient(135deg, rgba(13, 20, 36, .94), rgba(16, 40, 72, .86)); color: #cfe3ff; }.video-master-empty .vm-empty-ico { width: 76px; height: 76px; border-radius: 50%; background: linear-gradient(135deg, var(--c-accent), #1ba2a0); display: flex; align-items: center; justify-content: center; font-size: 24px; padding-left: 4px; color: #fff; box-shadow: 0 10px 30px rgba(26, 163, 161, .45); animation: vmPulse 2.2s ease-in-out infinite; }@keyframes vmPulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.06); } }.video-master-empty p { color: rgba(207, 227, 255, .85); font-size: 14px; }.video-master-head { position: absolute; left: 0; right: 0; bottom: 0; padding: 36px 22px 16px; background: linear-gradient(180deg, transparent, rgba(8, 12, 24, .9)); pointer-events: none; }.video-master-head .vm-tag { display: inline-block; padding: 3px 11px; border-radius: 14px; background: rgba(26, 163, 161, .92); color: #fff; font-size: 12px; font-weight: 600; letter-spacing: .5px; margin-bottom: 8px; }.video-master-head h3 { color: #fff; font-size: 20px; margin: 0 0 6px; }.video-master-head p { color: rgba(255, 255, 255, .8); font-size: 13px; margin: 0; }@media (max-width: 600px) {.video-master-head h3 { font-size: 16px; }}/* å°è§é¢å¡çï¼hover ä¸æµ® + éä¸­é«äº® */.video-card { cursor: pointer; transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }.video-card:hover { transform: translateY(-4px); box-shadow: 0 14px 34px rgba(10, 20, 40, .14); }.video-card.active { border-color: var(--c-accent); box-shadow: 0 10px 26px rgba(26, 163, 161, .22); }.video-card video { transition: transform .35s ease; }.video-card:hover video { transform: scale(1.03); }.video-card.active video { box-shadow: inset 0 0 0 2px var(--c-accent); }/* éç¨è§é¢åï¼video-wrapï¼ï¼hover ä¸æµ® + å°é¢å¾®ç¼©æ¾ */.video-wrap { transition: box-shadow .25s ease, transform .25s ease; }.video-wrap:hover { box-shadow: 0 16px 40px rgba(10, 20, 40, .18); transform: translateY(-2px); }.video-cover img { transition: transform .45s ease; }.video-wrap:hover .video-cover img { transform: scale(1.04); }.video-play { transition: transform .2s ease, box-shadow .2s ease; }.video-wrap:hover .video-play { transform: scale(1.1); box-shadow: 0 10px 30px rgba(26, 163, 161, .5); }/* å¼¹çªæ­æ¾å¨ï¼video-modalï¼ï¼æ¯ç»ç + å¤§å°ºå¯¸ + æ é¢æ  */.video-modal { background: rgba(8, 12, 24, .82); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }.video-modal-box { width: min(880px, 95vw); border-radius: 16px; border: 1px solid rgba(255, 255, 255, .1); box-shadow: 0 30px 90px rgba(0, 0, 0, .55); }.video-modal-box video { aspect-ratio: 16 / 9; }.video-modal-title { position: absolute; left: 0; right: 0; top: 0; z-index: 2; padding: 14px 58px 12px 18px; background: linear-gradient(180deg, rgba(0, 0, 0, .78), rgba(0, 0, 0, .1)); color: #fff; font-size: 14px; font-weight: 600; line-height: 1.4; }.video-modal-close { background: rgba(0, 0, 0, .5); color: #fff; border: 1px solid rgba(255, 255, 255, .25); }.video-modal-close:hover { background: rgba(255, 255, 255, .92); color: #0a0f1c; }/* é²æ¨ªåæº¢åºï¼éèä¸æèå/è£é¥°åç´ ä¸æå¼é¡µé¢å®½åº¦ï¼clip ä¸ç ´å sticky å¯¼èªï¼ */html { overflow-x: clip; }body { overflow-x: clip; }@supports not (overflow: clip) {html, body { overflow-x: hidden; }}/* ===== 富文本编辑器（Quill）对齐支持：编辑器保存的 ql-align-* 需在前台生效 ===== */.ql-align-center  { text-align: center !important; }.ql-align-right   { text-align: right !important; }.ql-align-justify { text-align: justify !important; }.ql-align-left    { text-align: left !important; }/* ===== 双图并排（后台编辑器"双图并排"按钮插入，2026-08-25） ===== */.ql-imagepair { display: flex; gap: 16px; align-items: flex-start; margin: 24px 0; }.ql-imagepair .img-pair-item { flex: 1; min-width: 0; }.ql-imagepair .img-pair-item img { width: 100%; height: auto; display: block; border-radius: 8px; object-fit: cover; }@media (max-width: 640px) {.ql-imagepair { flex-direction: column; }}/* 图片排列容器（后台编辑器插入，2-4 张自动排布） */.ql-imagegrid { display: flex; flex-wrap: wrap; gap: 16px; align-items: flex-start; margin: 24px 0; }.ql-imagegrid .img-grid-item { flex: 1 1 0; min-width: 0; }.ql-imagegrid .img-grid-item img { width: 100%; height: auto; display: block; border-radius: 8px; object-fit: cover; }.ql-imagegrid[data-count="4"] .img-grid-item { flex-basis: calc(50% - 8px); }@media (max-width: 640px) {.ql-imagegrid { flex-direction: column; }.ql-imagegrid[data-count="4"] .img-grid-item { flex-basis: auto; }}/* 2026-08-25 导航重构后：多列下拉中可点击分组标题也使用主色，避免与不可点击标题颜色冲突 */.site-nav .submenu:has(.submenu-group) .submenu-group a.submenu-group-link {
    color: var(--c-primary);
}.site-nav .submenu:has(.submenu-group) .submenu-group a.submenu-group-link:hover {
    color: var(--c-primary-hover, #12689E);
}/* ===== 三级导航：下拉多列布局（2026-08-25 nav3） ===== */.site-nav .submenu {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 4px 36px;
  width: max-content;
  max-width: calc(100vw - 48px);
  padding: 20px 24px;
}.site-nav .submenu > a {
  display: block;
  padding: 8px 12px;
  white-space: nowrap;
  border-radius: 8px;
  color: var(--c-text);
  font-size: 15px;
}.site-nav .submenu > a:hover {
  background: var(--c-page-bg);
  color: var(--c-primary);
}.site-nav .submenu .submenu-group {
  flex: 0 1 210px;
  min-width: 180px;
}.site-nav .submenu .submenu-group .submenu-group-label {
  padding: 14px 14px 8px;
  white-space: nowrap;
}.site-nav .submenu .submenu-group .submenu-item {
  padding: 10px 14px;
  margin: 2px 6px;
  white-space: nowrap;
}.site-nav > li:nth-last-child(-n+3) .submenu { left: auto; right: 0; }.site-nav > li:nth-last-child(-n+3) .submenu .submenu-group { flex-basis: 190px; }@media (max-width: 1500px) {.site-nav > li:nth-last-child(-n+4) .submenu { left: auto; right: 0; }}/* ===== 三级导航：下拉多列布局（2026-08-25 nav3） ===== */.site-nav .submenu {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 4px 36px;
  width: max-content;
  max-width: calc(100vw - 48px);
  padding: 20px 24px;
}.site-nav .submenu > a {
  display: block;
  padding: 8px 12px;
  white-space: nowrap;
  border-radius: 8px;
  color: var(--c-text);
  font-size: 15px;
}.site-nav .submenu > a:hover {
  background: var(--c-page-bg);
  color: var(--c-primary);
}.site-nav .submenu .submenu-group {
  flex: 0 1 210px;
  min-width: 180px;
}.site-nav .submenu .submenu-group .submenu-group-label {
  padding: 14px 14px 8px;
  white-space: nowrap;
}.site-nav .submenu .submenu-group .submenu-item {
  padding: 10px 14px;
  margin: 2px 6px;
  white-space: nowrap;
}.site-nav > li:nth-last-child(-n+3) .submenu { left: auto; right: 0; }.site-nav > li:nth-last-child(-n+3) .submenu .submenu-group { flex-basis: 190px; }@media (max-width: 1500px) {.site-nav > li:nth-last-child(-n+4) .submenu { left: auto; right: 0; }}

/* === Quill list compatibility (2026-08-26) === */
li[data-list="bullet"] { list-style: disc; }
li[data-list="ordered"] { list-style: decimal; }
.ql-ui { display: none; }
.ql-editor { line-height: 1.8; }

/* ===== 2026-08-26 白字显示修复：浅色背景上的幽灵按钮/标签改深色；深色区块内保持白字 ===== */
.btn--ghost { color: var(--c-primary); border-color: rgba(14,90,140,.5); }
.btn--ghost:hover { background: rgba(14,90,140,.08); border-color: var(--c-primary); color: var(--c-primary); }
.hero .btn--ghost,
.hero-inner .btn--ghost,
section[style*="linear-gradient(135deg"] .btn--ghost {
  color: #fff; border-color: rgba(255,255,255,.6);
}
.hero .btn--ghost:hover,
.hero-inner .btn--ghost:hover,
section[style*="linear-gradient(135deg"] .btn--ghost:hover {
  background: rgba(255,255,255,.12); border-color: #fff; color: #fff;
}
/* 2026-08-26 修正：hero-stat-label 仅深蓝渐变 hero 内浅色，浅色底保持深灰 */
.hero-stat-label { color: var(--c-text-muted); }
.hero .hero-stat-label,
.hero-inner .hero-stat-label,
section[style*="linear-gradient(135deg"] .hero-stat-label { color: rgba(255,255,255,.85); }
/* 2026-08-26 修正：section-tag 深蓝 hero 内青色，浅色 section 内深蓝 */
.section-tag { color: var(--c-accent); }
.section:not([style*="linear-gradient(135deg"]) .section-tag { color: var(--c-primary); }
.hero .section-tag,
.hero-inner .section-tag,
section[style*="linear-gradient(135deg"] .section-tag { color: var(--c-accent); }
.card-badge { color: var(--c-primary); background: rgba(14,90,140,.08); border-color: rgba(14,90,140,.30); }
