@charset "utf-8";
/* ===========================================================================
   智磊信创 · 职易达 —— 移动端专属层（MOBILE）
   加载顺序：main.css → ui.css → fx.css → mobile.css → page-*.css
   原则：
     1. 手机端不是桌面端等比缩小，而是另一套排版尺度：更小的字号、更紧的行高、
        更收的字距、更短的章节呼吸；正文密度目标 每行 20–24 个汉字。
     2. 组件在窄屏「改形态」而不是「改尺寸」：编号列取消、卡片改单列、
        横向表格给出可滑动提示、悬浮按钮下沉进页脚。
     3. 桌面端零影响：本文件除「A. 全局」一小段外，全部包在 max-width / 触摸
        媒体查询里，桌面不会命中任何一条。
   =========================================================================== */

/* ---------------------------------------------------------------------------
   A. 全局（对桌面无视觉影响）
   --------------------------------------------------------------------------- */

/* A1. 安全区：刘海、圆角与横屏挖孔。桌面上 env() 恒为 0，不产生任何位移。 */
.wrap{
  padding-left:calc(var(--gut) + env(safe-area-inset-left));
  padding-right:calc(var(--gut) + env(safe-area-inset-right));
}

/* A2. 触摸反馈：默认的蓝色高亮块与站点配色打架，换成极轻的品牌色 */
html{-webkit-tap-highlight-color:rgba(46,230,168,.13)}

/* A3. 横向滚动容器：iOS 惯性滚动 + 不把滚动透传给页面（避免误触发浏览器返回） */
.matrix-scroll,.screenbar,.tabs,.figscroll,.cp-flowwrap,.dk-grid,.formula,[data-hscroll]{
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-x:contain;
  scroll-behavior:smooth;
}

/* A4. 横向可滑动的可视提示 —— 只在窄屏生效，桌面渲染保持完全不变 */
@media (max-width:900px){
  /* 由 assets/js/mobile.js 打上 hs / hs-l / hs-r。
     用 mask 做边缘渐隐：滑到头那一侧的羽化自动消失，用户知道「还有内容」。 */
  .hs{
    -webkit-mask-image:linear-gradient(90deg,#000 0,#000 100%);
            mask-image:linear-gradient(90deg,#000 0,#000 100%);
  }
  .hs.hs-r:not(.hs-l){
    -webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 54px),transparent 100%);
            mask-image:linear-gradient(90deg,#000 calc(100% - 54px),transparent 100%);
  }
  .hs.hs-l:not(.hs-r){
    -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 54px);
            mask-image:linear-gradient(90deg,transparent 0,#000 54px);
  }
  .hs.hs-l.hs-r{
    -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 54px,#000 calc(100% - 54px),transparent 100%);
            mask-image:linear-gradient(90deg,transparent 0,#000 54px,#000 calc(100% - 54px),transparent 100%);
  }
  /* 一次性提示条：跟着被滑动的那块内容走，滑一次就永久消失 */
  .hs-tip{
    display:flex;align-items:center;gap:8px;
    margin:9px 0 2px;font-family:var(--ff-mono);font-size:10.5px;letter-spacing:.09em;
    color:var(--ink-4);text-transform:uppercase;
    transition:opacity .45s var(--ease),margin .45s var(--ease),height .45s var(--ease);
  }
  .hs-tip i{font-style:normal;color:var(--cy);animation:hs-nudge 1.9s var(--ease) infinite}
  .hs-tip.gone{opacity:0;height:0;margin:0;overflow:hidden;pointer-events:none}
  @keyframes hs-nudge{0%,100%{transform:translateX(0)}45%{transform:translateX(5px)}}
}
@media (prefers-reduced-motion:reduce){.hs-tip i{animation:none}}


/* ===========================================================================
   B. 手机排版尺度 —— ≤ 720px
   =========================================================================== */
@media (max-width:720px){

  :root{
    --gut:20px;
    --nav-h:56px;                 /* 66 → 56：顶栏在 852 高的屏上少吃 10px */

    /* 章节呼吸：桌面 118/104 → 手机 58/52 */
    --sec-pad:58px; --sec-pad-b:52px; --head-gap:26px;

    /* 字距：小字号 + 窄屏，中文标题要比桌面收得更狠，等宽小标签则要放开挤压 */
    --tr-display:-.032em;         /* 桌面 -.024em */
    --tr-h2:-.026em;              /* 桌面 -.018em */
    --tr-h3:-.018em;              /* 桌面 -.012em */
    --tr-body:0em;                /* 桌面 -.002em：15.5px 的汉字不该再收 */
    --tr-micro:.09em;             /* 桌面 .18em —— 减半 */
  }

  /* B1. 正文基准：15.5px / 1.74。393px 屏上每行 22–23 个汉字。 */
  body{font-size:15.5px;line-height:1.74}

  p,li,dd,blockquote{line-height:1.74}

  /* B2. 章节节奏：不再等距，tight / air 仍然拉得开，但都在手机尺度内 */
  .sec,.sec--tight,.sec--air{--sec-pad:58px;--sec-pad-b:52px;--head-gap:26px}
  .sec--tight{--sec-pad:44px;--sec-pad-b:40px}
  .sec--air{--sec-pad:70px;--sec-pad-b:62px}
  .sec::after,.foot::before{width:34px}

  /* B3. 章节头：编号行由「一条带下划线的独立块」改成一行紧凑刻度 */
  .sec-idx{
    display:flex;align-items:center;gap:8px;
    margin-bottom:12px;padding-bottom:0;border-bottom:0;
    font-size:10px;letter-spacing:.09em;
  }
  .sec-idx::before{content:"";width:14px;height:1px;background:var(--hair-3);flex:none}
  .sec-idx b{font-size:11px;letter-spacing:.04em}

  .sec-title{max-width:none}
  .sec-title h2{font-size:clamp(20.5px,5.6vw,25px);line-height:1.28}
  .sec-title h2 .thin{font-size:.74em;letter-spacing:-.012em}
  .sec-title p{margin-top:11px;font-size:15px;line-height:1.74;max-width:none}

  /* B4. 元数据小标：字距减半后不再顶满一整行 */
  .kicker{font-size:10px;gap:8px;margin-bottom:13px}
  .kicker::before{width:14px}

  /* B5. 引用条 */
  .pull{font-size:18.5px;line-height:1.62;padding-left:18px;max-width:none}
  .pull::before{height:26px}
  .pull small{font-size:10.5px;margin-top:13px}

  /* B6. 提示条 / 注记 */
  .note{font-size:13px;line-height:1.72;gap:10px;padding-left:13px}
  .note.cy,.note.am{padding:13px 14px}
  .note svg{width:14px;height:14px;margin-top:3px}
  .st{font-size:9.5px;letter-spacing:.07em;padding:4px 8px}
  .chip{font-size:12px;padding:5px 10px}
  button.chip,a.chip{min-height:44px;padding-inline:12px}


  /* -------------------------------------------------------------------------
     C. 导航
     ------------------------------------------------------------------------- */
  /* 半透明背景在滚动时会把下方正文透出来，手机上尤其糊。提到 97% + 兜底纯色。 */
  .nav.is-stuck{
    background:color-mix(in srgb,var(--void) 97%,transparent);
    border-bottom-color:var(--hair-2);
  }
  .nav .wrap{gap:12px}
  .brand{min-height:44px}
  .brand .mark{width:26px;height:26px}
  .brand .zh{font-size:14.5px}
  .brand .txt{gap:2px}
  .nav-right{gap:8px}
  .icon-btn{width:44px;height:44px}          /* 触控目标 ≥44 */
  .icon-btn svg{width:17px;height:17px}
  .nav-cta{height:40px;padding:0 13px}

  /* 顶部进度线：原本浮在 nav 下沿像一条画歪的横线，改成压在顶栏底边上，
     读起来是「顶栏自己的进度」，而不是页面上多出来的一根线。 */
  .fx-prog{top:calc(var(--nav-h) - 2px);height:2px;opacity:.92}

  /* 移动菜单 */
  .mmenu{
    padding:14px calc(var(--gut) + env(safe-area-inset-right))
            calc(22px + env(safe-area-inset-bottom))
            calc(var(--gut) + env(safe-area-inset-left));
    overscroll-behavior:contain;-webkit-overflow-scrolling:touch;
  }
  .mmenu a{padding:13px 2px;min-height:52px;font-size:16.5px}
  .mmenu a span{font-size:10.5px;letter-spacing:.09em}
  .mmenu .btn{margin-top:20px;height:50px}


  /* -------------------------------------------------------------------------
     D. HERO
     ------------------------------------------------------------------------- */
  /* 首屏上方原本有 66 + 46 = 112px 空白才到 kicker，手机上纯浪费 */
  .hero{padding-top:calc(var(--nav-h) + 24px)}
  .hero-grid{gap:32px}
  .hero h1{font-size:clamp(27px,7.4vw,33px);line-height:1.14;margin-top:4px}
  .hero h1 .thin{font-size:.66em;line-height:1.28;margin-top:.12em}
  .hero-lead{margin-top:16px;font-size:15.5px;line-height:1.76;max-width:none}
  .hero-note{margin-top:20px;font-size:11.5px;line-height:1.68;padding-left:13px;max-width:none}
  .hero-note b{font-size:9.5px;letter-spacing:.09em;margin-bottom:4px}
  .hero-note svg{width:12px;height:12px}
  .scanline{height:130px}

  /* 各内页的页头 —— 和 hero 同一套上留白（.page 前缀是为了压过 page-*.css） */
  .page .phead,.page .abhead,.page .lghead,.page .ai-head,.page .cp-head,.page .dk-head{
    padding-top:calc(var(--nav-h) + 24px);
  }
  .page .phead{padding-bottom:30px}
  .page .lghead{padding-bottom:32px}

  /* D1. CTA 组：主按钮满宽，次要按钮两两并排等宽；文字过长的自动独占一行。
     flex-basis 50% + min-width:max-content 就能自动完成这个判断，不需要写死数量。 */
  .hero-cta,.cta-actions,.dk-act{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
  .hero-cta > *,.cta-actions > *,.dk-act > *{
    flex:1 1 calc(50% - 5px);min-width:max-content;justify-content:center;
  }
  .hero-cta > .btn--primary,.cta-actions > .btn--primary,.dk-act > .btn--primary{flex-basis:100%}
  .hero-cta .btn,.cta-actions .btn,.dk-act .btn{padding-inline:14px}
  .btn{height:46px;font-size:14.5px}
  .btn--lg{height:50px;padding:0 20px;font-size:15px}
  .btn--sm{height:auto;min-height:44px;padding:0 14px}
  .nav-cta{min-height:0}
  /* 手机上没有 hover，按下态必须自己有反馈 */
  .btn:active{transform:scale(.985)}


  /* -------------------------------------------------------------------------
     E. 状态条 —— 五格
     ------------------------------------------------------------------------- */
  /* 竖着堆五行要吃掉半屏。改成 2×2 + 末行通栏：三行搞定，数值压到 25px。 */
  .statusbar{
    margin-top:34px;display:grid;grid-template-columns:1fr 1fr;
    border-bottom:1px solid var(--hair);
  }
  .statusbar .cell{
    padding:13px 0 15px!important;border-left:0!important;border-top:1px solid var(--hair);
  }
  .statusbar .cell:nth-child(1),.statusbar .cell:nth-child(2){border-top:0}
  .statusbar .cell:nth-child(even){
    padding-left:18px!important;border-left:1px solid var(--hair)!important;
  }
  .statusbar .cell:last-child:nth-child(odd){grid-column:1 / -1}
  .statusbar .k{font-size:9.5px}
  .statusbar .v{font-size:25px;margin-top:7px;gap:6px}
  .statusbar .v small{font-size:11.5px;margin-top:3px;line-height:1.48}


  /* -------------------------------------------------------------------------
     F. 特性行 .row-item —— 去掉左侧编号列
     ------------------------------------------------------------------------- */
  /* 窄屏还留 36px 编号列 + 14px 间距，正文就只剩 300px。编号改成行内小标签。 */
  .row-item{grid-template-columns:minmax(0,1fr);gap:0;padding:17px 0}
  .page .rows .row-item > *{grid-column:1}
  .row-item .n{
    padding-top:0;margin-bottom:5px;font-size:10px;letter-spacing:.09em;color:var(--ink-4);
  }
  .row-item h4{font-size:15.8px;gap:8px}
  .row-item h4 svg{width:15px;height:15px}
  .row-item p{font-size:14.8px;line-height:1.74;margin-top:6px}
  .row-item .tag{display:none}
  .page .rows .row-st{justify-self:start;margin-top:9px}


  /* -------------------------------------------------------------------------
     G. 卡组 .cards —— 单列 + 清晰分隔
     ------------------------------------------------------------------------- */
  .cards{border-top-color:var(--hair-2)}
  .cards > *{padding:19px 0 0!important;border-left:0}
  .cards > *:not(:first-child){
    padding-top:18px!important;margin-top:18px;border-top:1px solid var(--hair);
  }
  .cards > *:nth-child(n+3){margin-top:18px}
  .cards .ico{width:18px;height:18px}
  .card-n{font-size:10px;letter-spacing:.09em}
  .cards h4{font-size:15.8px;margin-top:9px}
  .cards p{font-size:14.8px;line-height:1.74;margin-top:8px;max-width:none}


  /* -------------------------------------------------------------------------
     H. 四步流程 / 分层 / 时间线
     ------------------------------------------------------------------------- */
  .steps{padding-top:20px}
  .step{padding:0!important}
  .step:not(:first-child){padding-top:19px!important;margin-top:17px;border-top:1px solid var(--hair)}
  .step:not(:first-child)::before{top:-2px;left:0}
  .step h4{font-size:15.8px;margin-top:8px}
  .step p{font-size:14.6px;line-height:1.74;margin-top:7px}
  .step .n{font-size:10px;letter-spacing:.09em}

  .layer{padding:14px 0;gap:4px}
  .layer .lk{font-size:9.8px;letter-spacing:.09em}
  .layer h4{font-size:15.4px;margin-top:5px;margin-bottom:3px}
  .layer p{font-size:14.6px;line-height:1.72;max-width:none}

  .tl{padding-left:24px}
  .tl::before{left:4px}
  .tl-i{padding-bottom:22px}
  .tl-i::before{left:-24px;top:6px;width:9px;height:9px}
  .tl-i .d{font-size:10px}
  .tl-i h4{font-size:15.4px;margin-top:5px}
  .tl-i p{font-size:14.6px;line-height:1.74;margin-top:5px;max-width:none}


  /* -------------------------------------------------------------------------
     I. 规格表 / 对比表
     ------------------------------------------------------------------------- */
  /* 规格表在 353px 宽里塞不下「31% 标签列 + 正文列」，一律改成上下两行 */
  .spec{font-size:14.8px}
  .spec tr{display:block;padding:12px 0}
  .spec th,.spec td{display:block;width:auto;padding:0}
  .spec th{font-size:10px;letter-spacing:.09em;padding-bottom:5px}
  .spec td{line-height:1.72}
  .spec td em{font-size:12.5px}
  .spec--defs th{font-size:15.4px;padding-top:0;padding-bottom:6px}
  .spec--defs td{padding-top:0;padding-bottom:0;font-size:14.8px;max-width:none}

  /* 对比表保持横向滚动，靠 .hs 渐隐 + 一次性提示告诉用户可以滑 */
  .matrix{font-size:13.4px}
  .matrix table{min-width:600px}
  .matrix th,.matrix td{padding:11px 12px}
  .matrix thead th{font-size:9.5px;letter-spacing:.09em}
  .matrix tbody th{font-size:13.4px}
  .mk{width:18px;height:18px;font-size:10.5px}


  /* -------------------------------------------------------------------------
     J. 一体机贴屏 / 屏幕切换条
     ------------------------------------------------------------------------- */
  /* 真机照在手机上是「首屏名片」，保留但收窄，让它不再一屏只放得下一台机器 */
  .kioskbox{max-width:212px}

  /* 但产品页的「界面墙」讲的是屏幕内容不是硬件外观：
     212px 的整机图里屏幕只有 78px 宽，等于什么都看不清。
     这一处直接把机身隐掉，只留屏幕本身按 1080×1920 铺满，信息量翻几倍。 */
  .page .scrwall .devpanel .kioskbox{max-width:236px}
  .page .scrwall .devpanel .kioskbox::before{padding-top:177.78%}
  .page .scrwall .devpanel .kioskstage{
    position:absolute;inset:0;width:100%;height:100%;transform:none;
  }
  .page .scrwall .devpanel .kioskstage .dev{display:none}
  .page .scrwall .devpanel .kioskscreen{
    position:absolute;inset:0;width:100%;height:100%;transform:none;
    border:1px solid var(--hair-2);border-radius:9px;
    box-shadow:0 26px 60px -30px rgba(0,0,0,.85);
  }

  .screenbar{gap:6px;padding:2px 0 8px}
  .screenbar button{padding:10px 11px;font-size:12.5px;min-height:44px}
  .screenbar button .i{font-size:9.5px;margin-right:6px}
  .screencap{margin-top:13px;padding-top:13px;min-height:0}
  .screencap h4{font-size:15.4px}
  .screencap p{font-size:14px;line-height:1.72;margin-top:7px;max-width:none}

  .tryframe{max-width:290px;padding:9px;border-radius:13px}
  .tryframe .bar{flex-wrap:wrap;gap:7px}
  .tryframe .bar select{max-width:100%;flex:1 1 100%;min-height:44px;font-size:16px;margin-left:0}


  /* -------------------------------------------------------------------------
     K. 表单 —— iOS 聚焦不放大是这一条的全部意义
     ------------------------------------------------------------------------- */
  /* font-size < 16px 时 iOS Safari 会在聚焦时自动放大整页，这是手机上最典型的
     「别扭」来源。这里用属性选择器提高优先级，覆盖各 page-*.css 里的小字号。 */
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="hidden"]),
  select:not([multiple]):not([size]),
  textarea:not([hidden]):not([readonly]){
    font-size:16px;
  }
  .field input,.field select,.field textarea{
    min-height:48px;padding:13px 14px;
  }
  .field select{padding-right:38px;background-position:right 14px center}
  .field textarea{min-height:118px;line-height:1.65}
  .field{gap:7px;margin-bottom:14px}
  .field label{font-size:10.5px;letter-spacing:.09em}
  .field-row{grid-template-columns:minmax(0,1fr);gap:0}
  .form-msg{font-size:14px;padding:12px 14px}
  .form-summary pre{font-size:12px;padding:13px;line-height:1.8}
  .form-summary-act{padding:11px 13px}
  .chk input{min-height:0}


  /* -------------------------------------------------------------------------
     L. Tabs / 手风琴
     ------------------------------------------------------------------------- */
  .tabs button{padding:12px 13px;font-size:13.8px;min-height:46px}
  .tabs button .i{font-size:9.5px;margin-right:6px}
  .vtabs button{padding:13px 13px;min-height:52px}
  .vtabs .t{font-size:14.5px}
  .vtabs .s{font-size:12px}

  [data-acc-h]{padding:17px 0;font-size:15.6px;gap:12px;min-height:56px}
  [data-acc-h] .n{font-size:10px;letter-spacing:.09em}
  [data-acc-b] .inner{padding:0 0 20px;font-size:14.8px;line-height:1.76;max-width:none}
  .acc--display [data-acc-h]{font-size:16px;gap:14px;padding:19px 0}
  .acc--display [data-acc-h] .n{font-size:18px;min-width:30px}
  .acc--display [data-acc-b] .inner{padding-left:44px;padding-bottom:22px;font-size:14.8px}


  /* -------------------------------------------------------------------------
     M. CTA 区块 / 视频位 / 跑马灯 / 首页动态
     ------------------------------------------------------------------------- */
  .cta-band{padding:30px 18px 28px}
  .cta-band::after{inset:7px}
  .cta-band h3{font-size:21px;line-height:1.28;max-width:none}
  .cta-band p{font-size:14.8px;line-height:1.74;margin-top:12px;max-width:none}
  .cta-actions{margin-top:24px}

  .videobox-cap{font-size:12.5px;padding:0 16px}
  .videobox-cap b{font-size:15px}
  .play{width:56px;height:56px}
  .play svg{width:17px;height:17px}

  .ticker{padding:10px 0}
  .ticker-item{padding:0 22px;font-size:10px;letter-spacing:.09em;gap:10px}

  .newsrow a{padding:16px 0;gap:5px}
  .newsrow .d{font-size:10.5px}
  .newsrow .t{font-size:15.6px}
  .newsrow .s{font-size:13.2px;line-height:1.66;margin-top:5px;max-width:none}

  .deckpeek-mask{padding:18px 16px}
  .deckpeek-t{font-size:19px;margin-top:12px}
  .deckstrip{gap:7px;margin-top:12px}
  .deckstrip img{width:84px;height:47px}

  .announce .wrap{gap:9px;padding:9px 0}
  .announce{font-size:12.5px}


  /* -------------------------------------------------------------------------
     N. 演示播放器 deck
     ------------------------------------------------------------------------- */
  .dk-head h1{font-size:clamp(25px,6.6vw,31px);line-height:1.18}
  .dk-head-row{gap:16px;margin-top:16px}
  .dk-bar{padding:9px 11px;gap:9px}
  .dk-ico{width:44px;height:44px}            /* 33 → 44：翻页/全屏/缩略图都要能点中 */
  .dk-ico svg{width:16px;height:16px}
  .dk-bar-right{gap:6px}
  .dk-count{font-size:13px}
  .dk-count input{width:54px;min-height:44px;font-size:16px;padding:4px 2px}
  .dk-nav{opacity:.62;width:26%;min-width:64px}
  .dk-nav span{width:42px;height:42px}
  .dk-cap{padding:13px 14px;min-height:0}
  .dk-cap h3{font-size:15.4px}
  .dk-cap p{font-size:13px;line-height:1.66}
  .dk-grid{padding:12px;gap:8px;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));max-height:300px}
  .dk-chaps button{padding:15px 16px;min-height:56px}
  .dk-chaps .ct{font-size:14px}
  /* 78 条幻灯目录：全站唯一放宽到 40px 行高的触控目标。
     按 44px 给会让这一页凭空多出近一屏；这里是密集索引，40px 仍远高于最低要求。 */
  .dk-toc li{padding:2px 0}
  .dk-toc a{font-size:14px;display:flex;align-items:center;min-height:36px}
  .dk-keys{display:none}                     /* 键盘快捷键在手机上没有意义 */
  .dk.fs .dk-bar{opacity:1}                  /* 全屏时手机没有 hover，工具条常驻 */
  .dk.fs .dk-nav{opacity:.7}


  /* -------------------------------------------------------------------------
     O. 回到顶部 —— 从「压在正文上的浮标」改成页脚末尾的一条通栏
     ------------------------------------------------------------------------- */
  /* 右下角浮标在窄屏上必然盖住正文（正文就是满宽的）。
     改成页脚最后一行：永远不挡内容，触控区域反而更大。 */
  .totop{
    position:static;width:100%;height:54px;border:0;border-top:1px solid var(--hair);
    border-radius:0;background:var(--void-2);color:var(--ink-3);
    display:flex;align-items:center;justify-content:center;gap:9px;
    opacity:1;visibility:visible;transform:none;
    -webkit-backdrop-filter:none;backdrop-filter:none;
    font-size:13px;letter-spacing:.02em;
    padding:0 0 env(safe-area-inset-bottom);
    box-sizing:content-box;
  }
  .totop::after{content:"回到顶部"}
  .totop svg{width:15px;height:15px}
  .totop:active{color:var(--cy);background:var(--panel)}


  /* -------------------------------------------------------------------------
     P. 页脚
     ------------------------------------------------------------------------- */
  .foot{padding:44px 0 20px}
  /* 四组链接竖着排会拉出两屏。改成品牌块通栏 + 链接组两列，「公司」组内部再分两列 */
  .foot-grid{grid-template-columns:1fr 1fr;gap:24px 20px}
  .foot-grid > *:first-child{grid-column:1 / -1}
  .foot-grid > *:nth-child(4){grid-column:1 / -1}
  .foot-grid > *:nth-child(4) ul{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
  .foot h5{font-size:9.6px;letter-spacing:.09em;margin-bottom:8px;padding-bottom:8px}
  .foot li{margin-bottom:0}
  .foot li a{display:flex;align-items:center;min-height:44px;font-size:13.8px}
  .foot-desc{font-size:13px;line-height:1.76;margin-top:14px;max-width:none}
  .foot-contact{margin-top:14px;font-size:12.5px;line-height:1.8}
  .foot-contact a{display:inline-flex;align-items:center;min-height:36px}
  .foot-legal{margin-top:16px;font-size:11.5px;line-height:1.78;padding-left:14px}
  .foot-legal b{font-size:9.5px;letter-spacing:.09em}
  .foot-policy{margin-top:20px;padding-top:12px;flex-direction:column;gap:0}
  .foot-policy a{
    padding:0;border-left:0;border-top:1px solid var(--hair);
    display:flex;align-items:center;min-height:42px;font-size:13px;
  }
  .foot-policy a:first-child{border-top:0}
  .foot-bottom{
    margin-top:26px;padding-top:16px;gap:9px;font-size:11.5px;
    flex-direction:column;align-items:flex-start;line-height:1.7;
  }
}


/* ===========================================================================
   C. 更小的安卓机 —— ≤ 400px / ≤ 360px
   =========================================================================== */
@media (max-width:400px){
  :root{--gut:18px}
  .kioskbox{max-width:196px}
  .cta-band{padding:26px 16px 24px}
  .matrix table{min-width:520px}
}
@media (max-width:360px){
  :root{--gut:15px;--sec-pad:50px;--sec-pad-b:46px}
  .sec,.sec--tight,.sec--air{--sec-pad:50px;--sec-pad-b:46px}
  body{font-size:15px}
  .hero h1{font-size:26.5px}
  .sec-title h2{font-size:20px}
  .kioskbox{max-width:180px}
  .brand .zh{font-size:13.5px}
}


/* ===========================================================================
   D. 触摸设备（不分宽度）—— 没有 hover，就不能靠 hover 说话
   =========================================================================== */
@media (hover:none){
  /* 悬停时的位移/底色在触屏上会「按一下就卡住不还原」，一律关掉 */
  .row-item:hover,.layer:hover,.spec--defs tr:hover,.newsrow a:hover{
    padding-left:0;background:none;
  }
  .btn:hover{transform:none}
  .btn:hover svg{transform:none}
  .alink:hover{gap:8px}
  .deckstrip img:hover,.dk-thumb:hover{transform:none}
  .play:hover{transform:none}
  .fx-glow:hover::before,.btn--primary:hover::after{opacity:0}
  .ticker:hover .ticker-track{animation-play-state:running}

  /* 换成明确的按下态 */
  .row-item:active,.newsrow a:active,.layer:active{background:var(--cy-05)}
  .icon-btn:active,.dk-ico:active,.screenbar button:active,.tabs button:active,
  .vtabs button:active,.dk-thumb:active,.dk-chaps button:active{
    border-color:var(--cy-35);color:var(--cy);background:var(--cy-05);
  }
  .mmenu a:active,.nav-dropmenu a:active,.foot li a:active,.foot-policy a:active,
  .dk-toc a:active,.alink:active{color:var(--cy)}
  [data-acc-h]:active{color:var(--cy)}
  [data-acc-h]:active .n{color:var(--cy)}
  .play:active{background:var(--cy-18);border-color:var(--cy)}

  /* 触控目标兜底 */
  .alink{min-height:44px}
  .dk-thumb{min-height:44px}
}


/* ===========================================================================
   E. 横屏（手机横过来：高度很矮，纵向留白必须再砍一刀）
   =========================================================================== */
@media (orientation:landscape) and (max-height:520px){
  :root{--nav-h:50px}
  .sec,.sec--tight,.sec--air{--sec-pad:40px;--sec-pad-b:36px;--head-gap:20px}
  .hero{padding-top:calc(var(--nav-h) + 16px)}
  .hero-grid{gap:26px}
  .page .phead,.page .abhead,.page .lghead,.page .ai-head,.page .cp-head,.page .dk-head{
    padding-top:calc(var(--nav-h) + 16px);
  }
  .foot{padding:34px 0 16px}
  .mmenu{padding-top:10px}
  .mmenu a{padding:8px 2px;min-height:44px;font-size:15px}
  .mmenu .btn{margin-top:12px;height:46px}
  .statusbar{margin-top:26px}
  .cta-band{padding:26px 20px}
  .dk-grid{max-height:190px}
  /* 地址栏收放会让 100vh 跳动，全屏演示用 dvh */
  .dk.fs .dk-stage{height:100dvh}
  .lgtoc{max-height:calc(100dvh - var(--nav-h) - 40px)}
}


/* ===========================================================================
   F. 动态视口高度：地址栏显隐时 100vh 会突然变化，凡是撑满视口的都换 dvh
   =========================================================================== */
@supports (height:100dvh){
  .dk.fs .dk-stage{height:100dvh}
  .lgtoc{max-height:calc(100dvh - var(--nav-h) - 56px)}
  .mmenu{max-height:calc(100dvh - var(--nav-h))}
}
