/* 飞常准 App 下载页（/lite）样式 */
/* =====================================================================
   飞常准 App 下载落地页 · 第四版样式（白色底：点阵世界地图 + 大圆航线 + 轻投影卡片）
   页面只有简体中文；其他语言在语言菜单里跳转 NextFly 对应语言页
   断点：<768 手机 ｜ 768–1023 平板（沿用手机结构，内容最大宽 640） ｜ ≥1024 电脑（内容最大宽 1200）
   兼容：iOS Safari 13+ —— flex 不用 gap（用 margin）；不用 aspect-ratio / dvh / inset；
         backdrop-filter 同写 -webkit- 前缀，并提供不支持时的实色回退。
   ===================================================================== */

:root{
  /* 底色与层次 */
  --bg:#FFFFFF;              /* 页面底色 */
  --surface-2:#F5F8FC;       /* 面板内分区、说明态选项 */
  --line:#E3E9F2;            /* 卡片、面板、选项描边 */
  --line-2:#D5DEEA;          /* 按钮描边 */
  /* 文字（白底对比度：17.23 / 8.69 / 5.17 / 5.93） */
  --text:#0B1B33;
  --text-2:#3C4C66;
  --text-3:#5E6E88;
  --link:#1D5BD8;
  /* 品牌与强调 */
  --primary:#2569F1;         /* 主按钮底色（白字 4.81:1） */
  --primary-hover:#1D5BD8;
  --primary-press:#184CB5;
  --sky:#42A5FF;             /* 航线与装饰，不做白底文字 */
  --tint:#EEF4FF;            /* 图标底、当前项底 */
  --ink:#0B1B33;             /* 代码块底、深色按钮 */
  --amber-1:#FFCF25;
  --amber-2:#FFB800;
  --navy:#0D2540;
  --shadow-card:0 18px 40px -20px rgba(13,37,64,.28),0 2px 6px rgba(13,37,64,.04);
  --shadow-pop:0 24px 60px -16px rgba(13,37,64,.30),0 2px 8px rgba(13,37,64,.06);
  /* 字体（系统字体，不引用外部字体） */
  --font-sc:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Helvetica Neue",Arial,sans-serif;
  --font-tc:"PingFang TC","Microsoft JhengHei","Helvetica Neue",Arial,sans-serif;
  --font-latin:-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --font-mono:ui-monospace,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;
  /* 尺寸 */
  --dock-h:calc(110px + env(safe-area-inset-bottom));
  --card-w:min(60vw,248px);  /* 手机功能卡宽度：左对齐，右侧露出下一张约 1/2 */
}

/* ---------- 基础 ---------- */
*,*::before,*::after{box-sizing:border-box}
html{font-family:var(--font-sc);-webkit-text-size-adjust:100%;text-size-adjust:100%;background:var(--bg);color:var(--text-2);line-height:1.5;-webkit-font-smoothing:antialiased}
body{position:relative;margin:0;min-height:100vh;background:var(--bg)}
.is-locked,.is-locked body{overflow:hidden}
img,svg{display:block}
a{color:inherit;text-decoration:none;-webkit-tap-highlight-color:rgba(37,105,241,.12)}
button{margin:0;padding:0;border:0;background:none;font:inherit;color:inherit;cursor:pointer;-webkit-appearance:none;appearance:none;-webkit-tap-highlight-color:transparent}
h1,h2,h3,p,ul,ol,pre,figure{margin:0;padding:0}
ul,ol{list-style:none}
:focus{outline:2px solid var(--primary);outline-offset:3px}
:focus:not(:focus-visible){outline:none}
[tabindex="-1"]:focus{outline:none}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.ico{flex:none;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ico--fill{fill:currentColor;stroke:none}
.wrap{box-sizing:content-box;max-width:640px;margin-left:auto;margin-right:auto;padding-left:16px;padding-right:16px;padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}
/* 半透明白底 + 背景模糊（压在点阵地图上的胶囊按钮） */
.glass{background:rgba(255,255,255,.86);-webkit-backdrop-filter:blur(14px) saturate(160%);backdrop-filter:blur(14px) saturate(160%)}
@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.glass{background:#FFFFFF}}

/* App 图标：Logo 的飞机与云为透明镂空，垫白色圆角方块（圆角约 22%） */
.app-icon{display:block;flex:none;overflow:hidden;width:40px;height:40px;border-radius:22%;background:#fff}
.app-icon img{width:100%;height:100%}

/* ---------- 背景：白底 + 点阵世界地图 + 大圆航线（只做装饰） ---------- */
.bg{position:absolute;top:0;left:0;right:0;height:720px;overflow:hidden;pointer-events:none;z-index:0;background:radial-gradient(420px 300px at 88% 0%,rgba(37,105,241,.09),rgba(37,105,241,0) 72%),#FFFFFF}
.bg__map{position:absolute;top:30px;left:50%;width:1145px;height:420px;margin-left:-572px}
.bg__dots{display:block} /* 点阵为独立图片，与航线 SVG 同位同尺寸叠放 */
.bg__fade{position:absolute;left:0;right:0;bottom:0;height:220px;background:linear-gradient(180deg,rgba(255,255,255,0),#FFFFFF)}
.bg__scrim{display:none}
.comet{fill:none;stroke:#1D5BD8;stroke-width:2.6;stroke-linecap:round;stroke-dasharray:3 97;stroke-dashoffset:100;-webkit-animation:vf-comet 6s linear infinite;animation:vf-comet 6s linear infinite}
@-webkit-keyframes vf-comet{to{stroke-dashoffset:0}}
@keyframes vf-comet{to{stroke-dashoffset:0}}
.pulse{-webkit-transform-box:fill-box;transform-box:fill-box;-webkit-transform-origin:center;transform-origin:center;-webkit-animation:vf-pulse 2.8s ease-out infinite;animation:vf-pulse 2.8s ease-out infinite}
@-webkit-keyframes vf-pulse{0%{-webkit-transform:scale(1);opacity:.7}100%{-webkit-transform:scale(6);opacity:0}}
@keyframes vf-pulse{0%{transform:scale(1);opacity:.7}100%{transform:scale(6);opacity:0}}

/* ---------- 顶部：手机为“搜索 + 语言”一行；电脑为导航 ---------- */
.top{position:relative;z-index:20;padding-top:env(safe-area-inset-top)}
.top__inner{display:flex;align-items:center;height:68px}
.brand{display:none}
.topnav{display:none}
.mp{position:relative;flex:1 1 auto;min-width:0}
.search{display:flex;align-items:center;height:44px;padding:0 10px 0 12px;border:1px solid var(--line-2);border-radius:22px;color:var(--text);box-shadow:0 6px 18px -10px rgba(13,37,64,.28);transition:border-color .15s}
.search:hover{border-color:#9DBBF2}
.search .search__ico{width:18px;height:18px;color:var(--primary);stroke-width:2.1}
.search__text{flex:1 1 auto;min-width:0;margin-left:8px;overflow:hidden;font-size:15px;font-weight:400;line-height:1.3;color:var(--text-3);white-space:nowrap;text-overflow:ellipsis}
.search .search__arrow{width:16px;height:16px;margin-left:4px;color:#9AA8BD}
.lang{position:relative;flex:none;margin-left:8px}
.lang-btn{display:flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 13px 0 12px;border:1px solid var(--line-2);border-radius:22px;color:var(--text);box-shadow:0 6px 18px -10px rgba(13,37,64,.28);transition:border-color .15s}
.lang-btn:hover,.lang-btn[aria-expanded="true"]{border-color:#9DBBF2}
.lang-btn .ico{width:18px;height:18px;color:var(--text-2)}
.lang-btn__short{margin-left:6px;font-size:14px;font-weight:600;line-height:1}
.lang-btn__name{display:none;margin-left:7px;font-size:14px;font-weight:600;line-height:1}
.lang-btn .lang-btn__chev{display:none;width:14px;height:14px;margin-left:3px;color:var(--text-3)}
.lang-dd{display:none}
/* 语言列表（手机面板 / 电脑下拉共用） */
.lang-list li+li{margin-top:4px}
.lang-opt{display:flex;align-items:center;width:100%;min-height:52px;padding:0 14px;border-radius:12px;color:var(--text);font-size:16px;font-weight:500;line-height:1.3;text-align:left;transition:background-color .15s}
.lang-opt:hover{background:#F2F5FA}
.lang-opt[aria-current="true"]{background:var(--tint);color:var(--link);font-weight:600}
.lang-opt__name{flex:1 1 auto}
.lang-opt .lang-opt__check{width:20px;height:20px;margin-left:12px;color:var(--primary);stroke-width:2.2;visibility:hidden}
.lang-opt[aria-current="true"] .lang-opt__check{visibility:visible}
/* 其他语言：跳转 NextFly 对应语言页，右侧外链箭头 */
.lang-opt .lang-opt__ext{width:16px;height:16px;margin-left:12px;color:#9AA8BD}
a.lang-opt:hover .lang-opt__ext{color:var(--link)}
/* 小程序码浮层：仅 platform = desktop（电脑窗口拉窄）时点击出现 */
.mp-pop{display:none;position:absolute;z-index:25;top:100%;left:50%;width:200px;margin:10px 0 0 -100px;padding:16px 16px 14px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow-pop);text-align:center}
.mp-pop .qr-tile{margin:0 auto}
.pf-desktop .mp.is-open .mp-pop{display:block}

/* ---------- 首屏 ---------- */
.hero{position:relative} /* 不设 z-index：吸底栏在其内部，需与根层叠上下文比较 */
.hero__eyebrow{display:none}
.hero__title{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.dl,.dl-cta{display:none}
/* 二维码白底方块（小程序码浮层、版本面板内使用） */
.qr-tile{display:flex;align-items:center;justify-content:center;flex:none;width:128px;height:128px;padding:8px;border:1px solid var(--line);border-radius:16px;background:#fff}
.qr-tile .qr,.qr-tile img{width:110px;height:110px}
.qr{display:block}
/* 二维码说明：图标 + 名称，下方一行灰字（与电脑下载区一致） */
.qrf{display:flex;flex-direction:column;align-items:center;text-align:center}
.qrf__cap{margin-top:12px}
.qrf__title{display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:700;line-height:1.35;color:var(--text);white-space:nowrap}
.qrf__sub{margin-top:2px;font-size:13px;line-height:1.45;color:var(--text-3)}
.qrf__ico{flex:none;width:20px;height:20px;margin-right:6px}
.qrf__ico.app-icon{border-radius:22%}
.ico-wx{display:block}

/* ---------- 功能卡（6 张宣传图，文字已在图内） ---------- */
/* 手机 / 平板：左对齐吸附，右侧露出下一张（与 App Store 截图列表一致），首尾都不会出现空位 */
.gal{position:relative;margin-top:2px;margin-left:-16px;margin-right:-16px}
.gal__viewport{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;scroll-padding-left:16px;scrollbar-width:none;-ms-overflow-style:none}
.gal__viewport::-webkit-scrollbar{display:none}
.gal__track{display:-webkit-inline-box;display:inline-flex;vertical-align:top;padding:10px 16px 28px}
.gal__item{flex:none;width:var(--card-w);margin-right:12px;scroll-snap-align:start}
.gal__item:last-child{margin-right:0}
.gal__card{position:relative;overflow:hidden;border-radius:20px;background:#1D88ED;box-shadow:0 20px 36px -18px rgba(18,72,160,.6),0 2px 6px rgba(18,72,160,.10)}
.gal__ratio{display:block;height:0;padding-bottom:217.2727%}
.gal__card img{position:absolute;top:0;left:0;width:100%;height:100%}
.gal__bar{position:relative;display:flex;align-items:center;justify-content:center;min-height:44px;margin-top:-12px}
.gal__ind{display:flex;align-items:center}
.gal__ind span{display:block;width:6px;height:6px;margin:0 4px;border-radius:3px;background:#CDD7E5;transition:width .25s,background-color .25s}
.gal__ind span.is-on{width:18px;background:var(--primary)}
.gal__ind span.is-hidden{display:none}
.gal__ctrl{display:flex;align-items:center}
.gal__toggle{position:absolute;top:0;right:16px;right:max(16px,env(safe-area-inset-right))}
.rbtn{display:flex;align-items:center;justify-content:center;flex:none;width:44px;height:44px;color:var(--text-2)}
.rbtn__in{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--line-2);border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(13,37,64,.06);transition:border-color .15s,color .15s}
.rbtn:hover .rbtn__in{border-color:var(--primary);color:var(--primary)}
.rbtn .ico{width:18px;height:18px;stroke-width:2}
.rbtn .ico--fill{width:13px;height:13px}
.gal__dots,.gal__arrow.rbtn{display:none}
.gal__toggle .ico-play{display:none}
.gal__toggle.is-paused .ico-play{display:block}
.gal__toggle.is-paused .ico-pause{display:none}

/* ---------- 飞常准MCP AI开放平台 ---------- */
.mcp{position:relative;z-index:1;margin-top:16px}
.mcp__card{position:relative;overflow:hidden;padding:20px;border:1px solid #D9E5F7;border-radius:22px;background:linear-gradient(150deg,#F3F8FF 0%,#FFFFFF 55%,#EEF5FF 100%);color:var(--text-2);box-shadow:var(--shadow-card)}
.mcp__bg{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;pointer-events:none}
.mcp__grid-lines{position:absolute;top:0;left:0;width:100%;height:100%;background-image:linear-gradient(rgba(37,105,241,.07) 1px,rgba(37,105,241,0) 1px),linear-gradient(90deg,rgba(37,105,241,.07) 1px,rgba(37,105,241,0) 1px);background-size:28px 28px}
.mcp__glow{position:absolute;right:-110px;bottom:-130px;width:300px;height:300px;border-radius:50%;background:radial-gradient(closest-side,rgba(66,165,255,.24),rgba(66,165,255,0))}
.mcp__sheen{position:absolute;top:-40%;left:-50%;width:36%;height:180%;background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.75),rgba(255,255,255,0));-webkit-transform:rotate(18deg) translateX(-120%);transform:rotate(18deg) translateX(-120%);-webkit-animation:vf-sheen 7s ease-in-out 1.2s infinite;animation:vf-sheen 7s ease-in-out 1.2s infinite}
@-webkit-keyframes vf-sheen{0%{-webkit-transform:rotate(18deg) translateX(-120%)}45%,100%{-webkit-transform:rotate(18deg) translateX(560%)}}
@keyframes vf-sheen{0%{transform:rotate(18deg) translateX(-120%)}45%,100%{transform:rotate(18deg) translateX(560%)}}
.mcp__inner{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"top top" "title cta" "desc desc" "clients clients"}
.mcp__top{grid-area:top;display:flex;flex-wrap:wrap;align-items:center;margin:-6px 0 0 -8px}
.mcp__top>*{margin:6px 0 0 8px}
.badges{display:inline-flex;align-items:center;flex:none}
.badge-new{display:inline-flex;align-items:center;height:20px;padding:0 7px;border-radius:999px;background:linear-gradient(135deg,#FFCF25,#FFB800);color:#0D2540;font:800 11px/1 var(--font-latin);letter-spacing:.04em}
.badge-ai{display:inline-flex;align-items:center;height:20px;padding:0 7px 0 5px;border:1px solid transparent;border-radius:999px;background:linear-gradient(var(--ai-bg,#FFFFFF),var(--ai-bg,#FFFFFF)) padding-box,linear-gradient(90deg,#2569F1,#42A5FF) border-box;color:var(--ai-fg,#0B1B33);font:800 11px/1 var(--font-latin);letter-spacing:.04em}
.badge-new+.badge-ai{margin-left:6px}
.badge-ai svg{width:12px;height:12px;margin-right:3px;fill:#2569F1}
.no-new .badge-new{display:none}
.mcp__kicker{font-size:12px;font-weight:600;line-height:20px;color:var(--link);letter-spacing:.02em}
.mcp__title{grid-area:title;align-self:center;margin-top:12px;font-size:20px;font-weight:700;line-height:1.3;color:var(--text)}
.mcp__desc{grid-area:desc;margin-top:8px;font-size:14px;line-height:1.55;color:var(--text-2)}
.mcp__clients{grid-area:clients;margin-top:8px;font-size:12px;line-height:1.5;color:var(--text-3)}
.mcp__tags,.mcp__code{display:none}
.mcp__cta{grid-area:cta;align-self:center;justify-self:end;margin:12px 0 0 12px}
.mcp__cta::after{content:"";position:absolute;top:-20px;right:-20px;bottom:-20px;left:-20px}

/* ---------- 按钮 ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;text-align:center;border-radius:14px;font-weight:600;line-height:1.25;overflow-wrap:break-word;word-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;transition:background-color .15s,border-color .15s,box-shadow .15s}
.btn--primary{padding:6px 16px;background:var(--primary);color:#fff;font-size:17px;box-shadow:0 12px 24px -10px rgba(37,105,241,.75),inset 0 1px 0 rgba(255,255,255,.2)}
.btn--primary:hover{background:var(--primary-hover)}
.btn--primary:active{background:var(--primary-press)}
/* 次级按钮：白底描边（MCP“立即接入”） */
.btn--ghost{min-height:44px;padding:6px 14px 6px 16px;border:1px solid #BFD3F5;border-radius:12px;background:#fff;color:var(--link);font-size:15px}
.btn--ghost:hover{border-color:var(--primary);background:#F5F9FF}
.btn--ghost .ico{width:16px;height:16px;margin-left:6px;stroke-width:2.2}
/* 统一的平台下载按钮：同尺寸、同样式（品牌标志 + 平台名，单色） */
.dlb{display:flex;align-items:center;justify-content:center;min-width:0;height:52px;padding:0 10px;border:1px solid var(--line-2);border-radius:14px;background:#fff;color:var(--text);box-shadow:0 1px 2px rgba(13,37,64,.05);transition:background-color .15s,border-color .15s,box-shadow .15s,color .15s}
a.dlb:hover{border-color:var(--primary);background:#F5F9FF;color:var(--link);box-shadow:0 10px 22px -12px rgba(37,105,241,.55)}
.dlb__logo{display:block;flex:none;width:22px;height:22px;margin-right:8px;fill:currentColor}
.dlb__name{font-size:15px;font-weight:700;line-height:1.3;white-space:nowrap}
div.dlb{background:var(--surface-2);color:var(--text-3);box-shadow:none}

/* ---------- 官网链接 / 页脚 ---------- */
.foot{position:relative;z-index:1;padding-top:10px;padding-bottom:calc(var(--dock-h) + 16px)}
.foot__inner{display:flex;justify-content:center}
.site-link{display:inline-flex;align-items:center;min-height:44px;padding:0 8px;font-size:14px;font-weight:500;color:var(--text-3)}
.site-link:hover{color:var(--text)}
.site-link .ico{width:16px;height:16px;margin-left:4px}
.site-link__d{display:none}

/* ---------- 吸底下载栏（手机 / 平板） ---------- */
.dock{position:fixed;left:0;right:0;bottom:0;z-index:30;padding-top:10px;padding-bottom:calc(8px + env(safe-area-inset-bottom));padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right));border-top:1px solid var(--line);background:rgba(255,255,255,.96);box-shadow:0 -12px 30px -18px rgba(13,37,64,.3);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}
@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.dock{background:rgba(255,255,255,.98)}}
.dock__inner{max-width:640px;margin:0 auto}
.dock__row{display:flex;align-items:center}
.dock__row .app-icon{margin-right:12px;box-shadow:0 0 0 1px rgba(13,37,64,.06)}
.dock__cta{flex:1 1 auto;min-width:0;min-height:48px}
.dock__more-wrap{display:flex;justify-content:center;height:32px;margin-top:4px}
.dock__more{display:flex;align-items:center;min-height:44px;margin:-4px 0 -8px;padding:0 16px;font-size:14px;font-weight:500;color:var(--link)}
.dock__more:hover{text-decoration:underline;text-underline-offset:3px}

/* ---------- 浮层：版本选择 / 语言面板 / App 内引导 ---------- */
.ov{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:100}
.ov.is-shown,.ov:target{display:block}
.js .ov:target:not(.is-shown){display:none}
.ov__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:rgba(11,27,51,.45);opacity:0;transition:opacity .22s}
.ov.is-open .ov__backdrop,.ov:target .ov__backdrop{opacity:1}
.ov__panel{position:absolute;left:0;right:0;bottom:0;max-height:calc(100% - 32px);overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding-top:0;padding-bottom:calc(20px + env(safe-area-inset-bottom));padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right));border-radius:22px 22px 0 0;background:#fff;color:var(--text-2);box-shadow:0 -16px 48px rgba(13,37,64,.18);-webkit-transform:translateY(100%);transform:translateY(100%);transition:transform .28s cubic-bezier(.2,.8,.2,1),opacity .2s}
.ov.is-open .ov__panel,.ov:target .ov__panel{-webkit-transform:translateY(0);transform:translateY(0)}
.ov__handle{width:40px;height:4px;margin:8px auto 0;border-radius:2px;background:#D5DEEA}
.ov__head{display:flex;align-items:center;min-height:52px;margin-top:2px}
.ov__title{flex:1 1 auto;min-width:0;font-size:18px;font-weight:700;line-height:1.35;color:var(--text)}
.ov__close{display:flex;align-items:center;justify-content:center;flex:none;width:44px;height:44px;margin-right:-10px;border-radius:50%;color:var(--text-3)}
.ov__close:hover{background:#F2F5FA;color:var(--text)}
.ov__close .ico{width:22px;height:22px}

/* 版本选择面板：桌面平台显示两枚二维码；其余平台为统一样式的选项行 */
.ch-qrs{display:none;margin-top:4px;padding:18px 12px 16px;border:1px solid var(--line);border-radius:18px;background:var(--surface-2)}
.ch--desktop .ch-qrs{display:block}
.ch-qrs__row{display:flex;justify-content:space-around}
.ch-qrs__note{margin-top:14px;font-size:13px;line-height:1.55;color:var(--text-3);text-align:center}
.ch-list{margin-top:12px}
.ch-item+.ch-item{margin-top:8px}
.ch--desktop .ch-item--mp{display:none}
.opt{display:flex;align-items:center;height:64px;padding:0 12px;border:1px solid var(--line);border-radius:16px;background:#fff;color:var(--text);transition:border-color .15s,background-color .15s}
a.opt:hover{border-color:#9DBBF2;background:#F7FAFF}
.opt__ico{display:flex;align-items:center;justify-content:center;flex:none;width:36px;height:36px;border-radius:11px;background:var(--tint);color:var(--primary)}
.opt__ico .ico{width:18px;height:18px;stroke-width:2}
.opt__text{flex:1 1 auto;min-width:0;margin-left:12px}
.opt__name{display:block;font-size:16px;font-weight:600;line-height:1.3}
.opt__sub{display:block;margin-top:2px;font-size:12px;line-height:1.4;color:var(--text-3)}
.opt .opt__chev{width:18px;height:18px;margin-left:10px;color:#9AA8BD}
.ch-note-hm{display:none;margin-top:4px;padding:12px 14px;border:1px solid #CFE0FF;border-radius:14px;background:var(--tint);color:#2B4A7A;font-size:14px;line-height:1.55}
.ch--hm .ch-note-hm{display:block}
.opt--pending{background:var(--surface-2);color:var(--text-3);cursor:default}
.opt--pending .opt__ico{background:#E9EEF5;color:var(--text-3)}
html:not(.hm-ready) .js-hm-ok{display:none}
.hm-ready .js-hm-na{display:none}

/* App 内置浏览器引导 */
.ov--guide{opacity:0;transition:opacity .2s}
.ov--guide.is-open{opacity:1}
.guide__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:rgba(11,27,51,.86)}
.guide__arrow{position:absolute;top:env(safe-area-inset-top);right:6px;width:112px;height:128px;color:#fff}
.guide__card{position:absolute;top:calc(150px + env(safe-area-inset-top));left:24px;right:24px;max-width:360px;margin:0 auto;padding:28px 24px 20px;border-radius:22px;background:#fff;text-align:center;box-shadow:0 30px 70px rgba(0,0,0,.35)}
.guide__title{font-size:20px;font-weight:700;line-height:1.35;color:var(--text)}
.guide__desc{margin-top:10px;font-size:15px;line-height:1.65;color:var(--text-2)}
.guide__close{display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;margin-top:20px;border:1px solid var(--line-2);border-radius:14px;background:#fff;color:var(--text);font-size:16px;font-weight:600}
.guide__close:hover{background:#F2F5FA}

@media (prefers-reduced-motion:reduce){
  .comet,.mcp__sheen{display:none;-webkit-animation:none;animation:none}
  .pulse{-webkit-animation:none;animation:none;opacity:0}
  .ov__panel,.ov__backdrop,.ov--guide,.gal__ind span{transition:none}
}

/* ---------- 小屏 <360 ---------- */
@media (max-width:359px){
  .dock__row .app-icon{display:none}
  .mcp__inner{grid-template-columns:minmax(0,1fr);grid-template-areas:"top" "title" "desc" "clients" "cta"}
  .mcp__cta{justify-self:start;margin:14px 0 0}
}

/* ---------- 平板及以上 ≥768 ---------- */
@media (min-width:768px){
  :root{--card-w:280px}
  .bg{height:780px}
  .bg__map{top:24px;width:1440px;height:528px;margin-left:-720px}
  .ov__panel{top:50%;bottom:auto;left:50%;right:auto;width:420px;max-height:calc(100% - 64px);padding:4px 24px 24px;border-radius:22px;opacity:0;box-shadow:var(--shadow-pop);-webkit-transform:translate(-50%,-47%);transform:translate(-50%,-47%)}
  .ov.is-open .ov__panel,.ov:target .ov__panel{opacity:1;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}
  .ov__handle{display:none}
}

/* ---------- 电脑 ≥1024 ---------- */
@media (min-width:1024px){
  .wrap{max-width:1200px;padding-left:40px;padding-right:40px}
  .bg{height:1000px;background:radial-gradient(900px 540px at 70% 6%,rgba(37,105,241,.08),rgba(37,105,241,0) 70%),radial-gradient(640px 460px at 0% 86%,rgba(66,165,255,.06),rgba(66,165,255,0) 70%),#FFFFFF}
  .bg__map{top:70px;width:1600px;height:587px;margin-left:-905px} /* 北京枢纽落在左右两栏之间 */
  .bg__fade{height:300px}
  .bg__scrim{display:block;position:absolute;top:0;bottom:0;left:0;width:56%;background:linear-gradient(90deg,rgba(255,255,255,.88) 0%,rgba(255,255,255,.6) 42%,rgba(255,255,255,0) 100%)}
  .top__inner{height:76px}
  .brand{display:flex;align-items:center;min-width:0;margin-right:auto}
  .brand .app-icon{width:36px;height:36px}
  .brand__name{margin-left:10px;font-size:20px;font-weight:700;line-height:1.2;color:var(--text);white-space:nowrap}
  .mp{display:none}
  .topnav{display:flex;align-items:center}
  .nav-mcp{position:relative;display:flex;align-items:center;height:44px;padding:0 12px 0 16px;border:1.5px solid transparent;border-radius:999px;background:linear-gradient(#FFFFFF,#FFFFFF) padding-box,linear-gradient(90deg,#2569F1,#42A5FF) border-box;color:var(--text);font-size:15px;font-weight:600;white-space:nowrap;--ai-bg:#FFFFFF;--ai-fg:#0B1B33;transition:box-shadow .15s}
  .nav-mcp .badges{margin-left:8px}
  .nav-mcp:hover,.nav-mcp.is-hover{background:linear-gradient(#F3F8FF,#F3F8FF) padding-box,linear-gradient(90deg,#2569F1,#42A5FF) border-box;box-shadow:0 0 0 4px rgba(37,105,241,.10),0 12px 28px -10px rgba(37,105,241,.55);--ai-bg:#F3F8FF}
  .lang{margin-left:16px}
  .lang-btn{padding:0 14px;box-shadow:none}
  .lang-btn .lang-btn__chev{display:block}
  .lang-btn__short{display:none}
  .lang-btn__name{display:inline}
  .lang-dd.is-open{display:block;position:absolute;top:100%;right:0;z-index:40;width:220px;margin-top:6px;padding:6px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow-pop)}
  .lang-dd .lang-opt{min-height:44px;font-size:15px}

  .hero__inner{display:flex;align-items:center;padding-top:40px;padding-bottom:72px}
  /* 左栏与右侧功能卡高度相当；margin-bottom 抵消轮播下方控件，使左栏与卡片区垂直居中对齐 */
  .hero__main{flex:none;width:560px;margin-right:56px;margin-bottom:58px}
  .hero__media{flex:1 1 auto;min-width:0}
  .hero__eyebrow{display:flex;align-items:center;font:600 12px/1 var(--font-mono);letter-spacing:.28em;color:var(--primary)}
  .hero__eyebrow .ico{width:16px;height:16px;margin-right:10px;stroke-width:1.6}
  .hero__eyebrow-line{display:block;width:40px;height:1px;margin-left:12px;background:linear-gradient(90deg,rgba(37,105,241,.7),rgba(37,105,241,0))}
  .hero__title{position:static;width:auto;height:auto;margin:16px 0 0;overflow:visible;clip:auto;white-space:normal;font-size:40px;font-weight:800;line-height:1.2;letter-spacing:-.01em;color:var(--text)}
  .dock{display:none}
  .foot{padding:0;border-top:1px solid var(--line);background:#FAFBFD}
  .foot__inner{align-items:center;height:72px}
  .site-link__m{display:none}
  .site-link__d{display:inline}

  /* 下载区：App 码卡 + 小程序码卡并排，下方三个统一的平台按钮 */
  .dl{display:block;margin-top:24px}
  .dl__qrs{display:flex}
  .qrc{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;padding:16px 12px 14px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow-card);text-align:center}
  .qrc+.qrc{margin-left:16px}
  .qrc__code{width:136px;height:136px}
  .qrc__code .qr,.qrc__code img{width:100%;height:100%}
  .qrc .qrf__cap{margin-top:12px}
  .qrc .qrf__title{font-size:16px}
  .qrc .qrf__sub{font-size:13px}
  .dl__btns{display:flex;margin:12px -6px 0}
  .dl__btns .dlb{flex:1 1 0;margin:0 6px}
  .dl-cta{display:none}
  .pf-mobile .dl{display:none}
  .pf-mobile .dl-cta{display:block;margin-top:28px;padding:24px;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:var(--shadow-card)}
  .dl-cta .btn--primary{display:flex;width:100%;min-height:56px;border-radius:16px;font-size:18px}
  .dl-more{display:flex;align-items:center;justify-content:center;min-height:44px;margin-top:8px;font-size:15px;font-weight:500;color:var(--link)}
  .dl-more:hover{text-decoration:underline;text-underline-offset:3px}

  /* 功能卡：一次展示 3 张，统一尺寸 */
  .gal{margin-top:0;margin-left:0;margin-right:0}
  .gal__viewport{scroll-padding-left:0}
  .gal__track{display:flex;padding:10px 0 30px}
  .gal__item{width:auto;flex:0 0 calc((100% - 36px) / 3);margin-right:18px;scroll-snap-align:start}
  .gal__card{border-radius:18px}
  .gal__bar{justify-content:flex-end;margin-top:-6px}
  .gal__ind{display:none}
  .gal__dots{display:flex}
  .gal__dot{display:flex;align-items:center;justify-content:center;width:36px;height:44px}
  .gal__dot span{display:block;width:6px;height:6px;border-radius:3px;background:#CDD7E5;transition:width .25s,background-color .25s}
  .gal__dot[aria-current="true"] span{width:20px;background:var(--primary)}
  .gal__dot.is-hidden{display:none}
  .gal__arrow.rbtn{display:flex}
  .gal__toggle{position:static;margin-left:4px}

  /* MCP：整宽浅色卡片，右侧深色配置代码 */
  .mcp{margin-top:0;padding:8px 0 96px}
  .mcp__card{padding:48px 56px;border-radius:28px;background:radial-gradient(640px 340px at 88% 24%,rgba(66,165,255,.16),rgba(66,165,255,0) 72%),linear-gradient(120deg,#F5F9FF 0%,#FFFFFF 50%,#EEF5FF 100%)}
  .mcp__glow{top:50%;right:-160px;bottom:auto;width:640px;height:640px;margin-top:-320px;background:radial-gradient(closest-side,rgba(66,165,255,.18),rgba(66,165,255,0))}
  .mcp__inner{grid-template-columns:minmax(0,1fr) 440px;grid-template-rows:auto auto auto auto auto;grid-column-gap:56px;grid-template-areas:"top code" "title code" "desc code" "tags code" "cta code";align-items:start}
  .mcp__kicker{font-size:14px;line-height:22px}
  .mcp__title{margin-top:16px;font-size:40px;font-weight:800;line-height:1.15;letter-spacing:-.01em}
  .mcp__desc{max-width:560px;margin-top:16px;font-size:17px;line-height:1.65}
  .mcp__clients{display:none}
  .mcp__tags{grid-area:tags;display:flex;flex-wrap:wrap;margin:14px 0 0 -8px}
  .mcp__tags li{display:flex;align-items:center;height:30px;margin:8px 0 0 8px;padding:0 12px;border:1px solid #CFDCF0;border-radius:999px;background:#fff;color:var(--text);font-size:13px;font-weight:600}
  .mcp__code{grid-area:code;align-self:center;display:block;padding:22px 24px;overflow:hidden;border-radius:18px;background:var(--ink);color:#E8F7FF;font:500 14px/1.75 var(--font-mono);white-space:pre;box-shadow:0 24px 48px -20px rgba(11,27,51,.55)}
  .mcp__code .t-k{color:#7FB8FF}
  .mcp__code .t-s{color:#FFCF25}
  .mcp__code .t-p{color:rgba(232,247,255,.6)}
  .mcp__cta{justify-self:start;align-self:start;min-height:52px;margin:28px 0 0;padding:8px 22px 8px 24px;border:0;border-radius:14px;background:var(--ink);color:#fff;font-size:17px;box-shadow:0 12px 24px -12px rgba(11,27,51,.6)}
  .mcp__cta:hover{background:#1B2E4D}
  .mcp__cta::after{display:none}
  .btn--ghost .ico{width:18px;height:18px;margin-left:8px}
}
@media (min-width:768px) and (max-width:1023px){
  /* 平板：轮播通栏；首张与内容列（宽 640）左缘对齐，右侧露出后续卡片 */
  .hero__inner{max-width:none}
  .gal__viewport{scroll-padding-left:calc(50vw - 320px)}
  .gal__track{padding-left:calc(50vw - 320px);padding-right:calc(50vw - 320px)}
  .gal__toggle{right:calc(50vw - 320px)}
}
@media (min-width:1024px) and (max-width:1279px){
  /* 1024–1279：左栏、标题与二维码随窗口宽度等比缩小，保持与功能卡同高（二维码最小 104，约 2.5px/模块） */
  .hero__main{width:46.667%;min-width:440px;margin-right:48px}
  .hero__title{font-size:3.125vw}
  .qrc__code{width:calc(12.5vw - 24px);height:calc(12.5vw - 24px)}
  .dl__btns{margin:12px -4px 0}
  .dl__btns .dlb{margin:0 4px;padding:0 8px}
}
@media (min-width:1024px) and (max-width:1100px){
  .hero__eyebrow{display:none}
  .hero__title{margin-top:0}
}


/* MCP 代码示例：逐行块级 span，缩进用 padding，不依赖空白字符（线上会压缩 HTML 空白） */
.mcp__code .ln{display:block}.mcp__code .i2{padding-left:2ch}.mcp__code .i4{padding-left:4ch}.mcp__code .i6{padding-left:6ch}
/* MCP 标题：中文字之间不断行，只在“飞常准MCP”与“AI开放平台”之间的空格处换行 */
.mcp__title{word-break:keep-all}
