/* 紫微本地站 · 移动端版式（mobile-lab）
 * 只在 ≤900px 生效；只写布局/尺寸/字号/位置，视觉层（玻璃、阴影、圆角）交给 assets/glass.css。
 * 纪律：全部规则带 body 前缀（压过 shared.css 与页面内联 <style> 的同类选择器）；
 *       不写强制覆盖；不引入 url(http...) 与外链字体；:hover 一律包在 (hover:hover)。
 * 覆盖基准：390（iPhone 14/15）、768（iPad 竖）。子查询写在 max-width:900px 内部。
 * 拆行策略：表单用 :has() 认字段（#y/#m/#d/#t、input[name^=cal]、input[name^=sex]），
 *           不依赖 HTML 里的先后次序；列表模式沿用 shared.css 的 flex-wrap（不用 grid，
 *           因为 .pal 的 grid-row/column 是内联 style，除强制覆盖外压不掉）。
 */

@media (max-width: 900px) {

  /* ---------- 1. 页面骨架 ---------- */
  body {
    -webkit-text-size-adjust: 100%;      /* iOS 横竖屏切换不放大字号 */
    text-size-adjust: 100%;
  }
  body .wrap {
    max-width: 100%;
    padding: 16px 16px calc(56px + env(safe-area-inset-bottom));
  }
  body header {
    display: block;                       /* 手机上标题/副题/本地标记逐行落，不挤一行 */
    padding-bottom: 12px;
    margin-bottom: 16px;
  }
  body h1 { font-size: 20px; line-height: 1.35; }
  body h2 { font-size: 15px; line-height: 1.4; }
  body header .sub { display: block; margin-top: 5px; font-size: 12px; }
  body header .local-tag {
    display: inline-block;
    margin: 9px 0 0;
    font-size: 11px;
    padding: 2px 9px;
  }
  body footer {
    gap: 6px 14px;
    margin-top: 18px;
    padding-bottom: env(safe-area-inset-bottom);
    font-size: 11px;
  }

  /* ---------- 2. 顶栏：横向滚动（不做汉堡） ---------- */
  /* sticky 在自身设 overflow-x:auto 是合法的；负边距让滚动条铺满屏幕宽 */
  body .topnav {
    margin: 0 -16px 16px;
    padding: 0 16px;
    overflow-x: auto;
    overflow-y: hidden;
    flex-wrap: nowrap;
    white-space: nowrap;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    scroll-snap-type: x proximity;
    /* 右侧渐隐，提示「后面还有」；纯遮罩不动颜色，视觉层仍归 glass.css */
    -webkit-mask-image: linear-gradient(90deg, #000 0, #000 88%, transparent 100%);
    mask-image: linear-gradient(90deg, #000 0, #000 88%, transparent 100%);
  }
  body .topnav::-webkit-scrollbar { display: none; }
  body .topnav a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;                    /* 触控 ≥40 */
    padding: 0 12px;
    font-size: 13.5px;
    letter-spacing: 0;
    scroll-snap-align: start;
  }
  body .topnav a.on { border-bottom-width: 2px; }

  /* ---------- 3. 表单：6 栅格紧凑排布（不再是 6 个字段各占一整行） ----------
   * 390 下的落位：历法一行 → 年/月/日 一行三格 → 时辰 2/3 + 性别 1/3
   *               → 主按钮整行 → 次按钮两列
   */
  body form.bar {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 8px;
    align-items: end;
    padding: 12px 14px;
    margin-bottom: 14px;
  }
  body form.bar > .field {
    width: auto;
    min-width: 0;
    margin: 0;
    gap: 4px;
  }
  body form.bar > .field > span { font-size: 11.5px; letter-spacing: 0; }
  body form.bar > .field:has(input[name^="cal"]),
  body form.bar > .field:has(#leap) { grid-column: 1 / -1; }   /* 历法 / 闰月 独占一行 */
  body form.bar > .field:has(#y),
  body form.bar > .field:has(#m),
  body form.bar > .field:has(#d) { grid-column: span 2; }      /* 年 月 日 一行三格 */
  body form.bar > .field:has(#t) { grid-column: span 4; }      /* 时辰占 2/3 */
  body form.bar > .field:has(input[name^="sex"]) { grid-column: span 2; }
  body form.bar > button[type="submit"] { grid-column: 1 / -1; }
  body form.bar > button:not([type="submit"]) { grid-column: span 3; }
  /* 只有一个次按钮的表单（算法页、小六壬）：次按钮也占整行，不留半格空洞 */
  body form.bar:has(> button[type="submit"]:nth-last-child(2)) > button:not([type="submit"]) {
    grid-column: 1 / -1;
  }
  /* 小六壬：只有月/日/时辰三个字段。月名带「（大）/（小）」后缀，栅格窄了会被 select 截成「九月（」，
     所以给月/日各占半行、时辰独占一行 */
  body form.bar:not(:has(#y)) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body form.bar:not(:has(#y)) > .field:has(#m),
  body form.bar:not(:has(#y)) > .field:has(#d) { grid-column: span 1; }
  body form.bar:not(:has(#y)) > .field:has(#t) { grid-column: 1 / -1; }
  /* 命理双子：多两个扫描年份字段 + 两个按钮字段，两两一行，避免挤成 30px 宽的竖排字 */
  body form.bar > .field:has(#ys),
  body form.bar > .field:has(#ye),
  body form.bar > .field:has(#go),
  body form.bar > .field:has(#stop) { grid-column: span 3; }
  body form.bar > .field:has(input[name="g"]) { grid-column: span 2; }   /* 双子页的性别组 name=g，不是 sex */
  body form.bar > .field > button { width: 100%; height: 44px; }

  body input,
  body select,
  body textarea {
    width: 100%;
    height: 40px;
    font-size: 16px;                     /* ≥16 才不会在 iOS 聚焦时被放大 */
    padding: 0 10px;
    border-radius: 4px;
  }
  body textarea { height: auto; padding: 9px 10px; line-height: 1.5; }
  body input[type=number] { width: 100%; }
  body select { min-width: 0; }
  body label.chk {
    height: 40px;
    font-size: 13px;
    gap: 8px;
    align-self: center;
  }
  body label.chk input {
    width: 20px;
    height: 20px;
    min-height: 0;
    padding: 0;
    flex: 0 0 auto;
  }
  /* 单选段：铺满所在格，选项均分 */
  body .seg { width: 100%; }
  body .seg label { flex: 1 1 0; font-size: 14px; }
  body .seg span {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 38px;
    padding: 0 8px;
  }
  body form.bar button,
  body form.hm-form button,
  body .hm-actions button {
    width: 100%;
    min-width: 0;
    height: 44px;
    margin: 0;
    font-size: 14.5px;
    letter-spacing: 0;
  }
  body .viewbar { flex-wrap: wrap; gap: 8px; }
  body .viewbar button { width: auto; min-width: 108px; height: 40px; }
  body .viewbar .hint { flex: 1 1 100%; font-size: 11.5px; }
  body #err { font-size: 12.5px; }

  /* 合盘的双人表单：3 栅格，年/月/日 一行三格，其余字段独占整行 */
  body .hm-form {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    align-items: end;
    padding: 12px 14px;
  }
  body .hm-form > .hm-hd {
    grid-column: 1 / -1;
    margin: 0 0 2px;
    font-size: 12px;
  }
  body .hm-form .hm-hd b { font-size: 15px; }
  body .hm-form > .field {
    grid-column: 1 / -1;
    width: auto;
    min-width: 0;
    margin: 0;
    gap: 4px;
  }
  body .hm-form > .field:has(#ay),
  body .hm-form > .field:has(#by),
  body .hm-form > .field:has(#am),
  body .hm-form > .field:has(#bm),
  body .hm-form > .field:has(#ad),
  body .hm-form > .field:has(#bd) { grid-column: span 1; }

  /* ---------- 4. 命盘：保留 4×4 棋盘，压缩字号与内边距 ---------- */
  /* shared.css 的 @media(max-width:860px){.grid{1fr}} 靠 body 前缀压回去 */
  body .grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-template-rows: repeat(4, minmax(96px, auto));
    gap: 4px;
  }
  body .sheet { padding: 5px; }
  body .pal {
    min-height: 96px;
    padding: 5px;
    gap: 3px;
  }
  body .pal .hd { font-size: 9.5px; letter-spacing: 0; line-height: 1.25; }
  body .major { gap: 1px 6px; min-height: 18px; }
  body .star { font-size: 13px; letter-spacing: 0; line-height: 1.3; }
  body .star sup { font-size: 9.5px; margin-left: 0; }
  body .mu {
    font-size: 9.5px;
    padding: 0 2px;
    margin-left: 2px;
    line-height: 1.4;
    vertical-align: 1px;
  }
  body .minor { font-size: 11px; gap: 0 6px; min-height: 14px; line-height: 1.4; }
  body .adj { font-size: 9.5px; line-height: 1.35; letter-spacing: 0; }
  body .ft { padding-top: 1px; font-size: 11px; }
  body .ft .pname { font-size: 12px; letter-spacing: 0; }
  body .ft .gz { font-size: 9.5px; margin-left: 3px; }
  body .badge-body { font-size: 9.5px; }
  body .legend { flex-wrap: wrap; gap: 6px 12px; font-size: 11px; }

  /* 中宫仍跨 2×2，字号同比缩小 */
  body .center {
    grid-column: 2 / 4;
    grid-row: 2 / 4;
    order: 0;
    padding: 8px 10px;
    gap: 5px;
    justify-content: center;
  }
  body .center .role { font-size: 9.5px; letter-spacing: 1.5px; }
  body .center .big {
    font-size: 11.5px;
    letter-spacing: 0;
    line-height: 1.5;
    overflow-wrap: anywhere;
  }
  /* 中宫里时辰区间是 shared.js 内联 12px，比正文小即可，不做覆盖 */
  body .kv { grid-template-columns: 40px 1fr; gap: 1px 6px; font-size: 10.5px; }
  body .kv dt { font-size: 9.5px; }
  body .center .note {
    font-size: 9.5px;
    line-height: 1.45;
    padding-top: 5px;
    margin-top: 1px;
  }

  /* 合盘两张盘的宫格比单盘更窄，再加一档压缩（页面 .hm-pane 选择器特异性更高） */
  body .hm-pane .grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-template-rows: repeat(4, minmax(90px, auto));
    gap: 3px;
  }
  body .hm-pane .pal { padding: 4px; gap: 2px; }
  body .hm-pane .star { font-size: 12px; }
  body .hm-pane .minor { font-size: 10px; gap: 0 5px; }
  body .hm-pane .adj { font-size: 9.5px; }
  body .hm-pane .center { padding: 7px 9px; gap: 4px; }
  body .hm-pane .center .big { font-size: 10.5px; }
  body .hm-pane .kv { grid-template-columns: 32px 1fr; font-size: 10px; gap: 1px 5px; }
  body .hm-pane .kv dt { font-size: 9.5px; }
  body .hm-pane .center .note { font-size: 9.5px; line-height: 1.4; }

  /* ---------- 5. 命盘列表模式（body.list-mode，pan.html 的 #viewToggle 切换） ----------
   * 沿用 shared.css 的 .grid{display:flex;flex-wrap:wrap}：flex 会忽略 .pal 内联的
   * grid-row/grid-column，换行即单列卡片流；这里只补间距、字号与卡片内顺序。
   */
  body.list-mode .grid {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
  }
  body.list-mode .center {
    order: -2;                           /* 盘面信息卡排最前 */
    flex: 1 1 100%;
    width: auto;
    max-width: 100%;
    margin: 0 0 4px;
    padding: 14px;
    gap: 7px;
  }
  body.list-mode .center .role { font-size: 10.5px; letter-spacing: 2px; }
  body.list-mode .center .big { font-size: 13.5px; line-height: 1.6; }
  body.list-mode .kv { grid-template-columns: 52px 1fr; gap: 3px 10px; font-size: 12.5px; }
  /* 列表模式下命宫紧跟盘面信息卡：一宫一宫读，从命宫开始 */
  body.list-mode .pal.ming { order: -1; }
  body.list-mode .kv dt { font-size: 11.5px; }
  body.list-mode .center .note { font-size: 11px; line-height: 1.6; }
  body.list-mode .pal {
    flex: 1 1 280px;
    min-width: 0;
    min-height: 0;
    margin: 0;
    padding: 12px 14px;
    gap: 6px;
  }
  body.list-mode .pal .hd { font-size: 11px; }
  body.list-mode .pal .ft {
    order: -1;                           /* 宫名提到卡片最前 */
    align-items: center;
    margin: 0;
    padding: 0 0 7px;
    border-bottom: 1px dashed var(--line);
    font-size: 12px;
  }
  body.list-mode .pal .ft .pname { font-size: 14px; letter-spacing: 0; }
  body.list-mode .pal .ft .gz { font-size: 11px; margin-left: 5px; }
  body.list-mode .star { font-size: 15px; }
  body.list-mode .minor { font-size: 12px; gap: 1px 10px; }
  body.list-mode .adj { font-size: 11px; line-height: 1.6; }
  body.list-mode .mu { font-size: 10.5px; padding: 0 3px; }

  /* ---------- 6. 表格：容器横滚 + 首列吸附 ---------- */
  body .ac-wrap,
  body .lr-tblwrap,
  body .tw-scroll,
  body .hm-tbl {
    overflow-x: auto;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
  }
  body .ac-wrap { padding-bottom: 2px; }
  body .ac-tb { font-size: 12px; }
  /* 取舍：.ac-wrap 是横滚容器，表头的 position:sticky;top:44px 会被关在盒子里失效。
     手机/平板放弃表头吸顶，只保留首列 left:0 吸附（横滚时仍然有效）。 */
  body .ac-tb thead th:not(.ac-corner) { position: static; }
  body .ac-tb td.ac-star,
  body .ac-tb th.ac-corner {
    position: sticky;
    left: 0;
    z-index: 2;
    background: var(--card);             /* 吸附列必须实底，否则文字叠字 */
  }
  body .ac-tb thead th.ac-corner { z-index: 3; }
  body .ac-tb thead th { padding: 8px 3px; }
  body .ac-tb td.ac-star { width: 78px; }
  body .ac-tb td.ac-star b { font-size: 12.5px; letter-spacing: 0; }

  body .lr-tblwrap { padding-bottom: 2px; }
  body .lr-tbl { min-width: 480px; font-size: 12px; }
  body .lr-tbl th,
  body .lr-tbl td { padding: 7px 8px; }
  body .lr-tbl tbody td:first-child,
  body .lr-tbl thead th:first-child {
    position: sticky;
    left: 0;
    z-index: 2;
    background: var(--card);
  }
  body .lr-tbl tr.on td:first-child { background: #f0f4f2; }

  body .tw-scroll { max-height: 60vh; }
  body .tw-tb { font-size: 12px; }
  body .tw-tb th,
  body .tw-tb td { padding: 8px; }
  body .tw-tb tbody td:first-child,
  body .tw-tb thead th:first-child {
    position: sticky;
    left: 0;
    z-index: 2;
    background: var(--card);
  }
  body .tw-stat { gap: 18px 26px; }
  body .tw-stat div b { font-size: 19px; }
  body .tw-iso { font-size: 11px; }

  /* 合盘对照表：≤700px 页面已改成 display:block 横滚，768 档在下面补齐 */
  body .hm-tbl { display: block; font-size: 12px; }
  body .hm-tbl thead th,
  body .hm-tbl tbody th { font-size: 11px; }
  body .hm-tbl th,
  body .hm-tbl td { padding: 7px; }
  /* 中文星名/表头不许拆成半截（keep-all）；单字实在放不下才断（break-word） */
  body .hm-tbl th,
  body .hm-tbl td { word-break: keep-all; overflow-wrap: break-word; }

  /* academy 手机卡片视图（Lead 的 .ac-cards，≤700px 替代 168 格表）：压紧行高与卡间距 */
  body .ac-card { padding: 11px 13px; margin-bottom: 8px; }
  body .ac-card dl { line-height: 1.55; }
  body .ac-card dt { font-size: 12px; }
  body .ac-card dd { font-size: 12.5px; }

  /* ---------- 7. 算法演示 ---------- */
  body .alg-sum { gap: 6px 16px; padding: 10px 12px; }
  body .alg-sum .it { font-size: 12.5px; }
  body .alg-sum .it b { font-size: 14px; letter-spacing: 0; }
  body .alg-sum .pass { margin-left: 0; }
  body .alg-step { padding: 12px 13px 13px; }
  body .alg-t { font-size: 14px; letter-spacing: 0; }
  body .alg-p { font-size: 12px; }
  body .alg-kv { grid-template-columns: 62px 1fr; font-size: 12.5px; gap: 2px 10px; }
  body .alg-kv dt { font-size: 11.5px; }
  body .alg-eq { font-size: 12px; line-height: 1.8; padding: 7px 9px; overflow-wrap: anywhere; }
  body .alg-strip { gap: 2px; }
  body .alg-strip .c { padding: 4px 1px; }
  body .alg-strip .c b { font-size: 12px; letter-spacing: 0; }
  body .alg-strip .c small { font-size: 9.5px; }
  body .alg-tb { font-size: 12px; }
  body .alg-tb th,
  body .alg-tb td { padding: 5px 6px; }
  body .alg-ref summary {
    display: flex;
    align-items: center;
    min-height: 40px;                    /* 可点区域 ≥40 */
    font-size: 12.5px;
  }
  body .alg-note { font-size: 11.5px; }

  /* ---------- 8. 首页卡片 ---------- */
  body .cards { grid-template-columns: 1fr; gap: 10px; margin-top: 14px; }
  body .mcard { padding: 14px 15px; min-height: 44px; }
  body .mcard h3 { font-size: 15px; letter-spacing: 0; }
  body .mcard .d { font-size: 12.5px; line-height: 1.7; }
  body .hero p { font-size: 12.5px; line-height: 1.8; }
  body .stats .go {                        /* 首页「开始排盘 →」是链接，撑到 40 高 */
    display: inline-flex;
    align-items: center;
    min-height: 40px;
    padding: 0 2px;
  }

  /* ---------- 9. 小六壬 ---------- */
  body .lr-grid { gap: 14px; }
  body .lr-panel { padding: 10px; }
  body .lr-ring { max-width: 100%; }
  body .lr-cell { padding: 5px 3px 4px; }
  body .lr-name { font-size: 15px; letter-spacing: 1px; }
  body .lr-no { font-size: 9.5px; }
  body .lr-meta { font-size: 9.5px; }
  body .lr-badges i { font-size: 9.5px; }
  body .lr-hub-n { font-size: 20px; letter-spacing: 2px; }
  body .lr-hub-t,
  body .lr-hub-p { font-size: 9.5px; }
  body .lr-main-hd b { font-size: 22px; letter-spacing: 3px; }
  body .lr-kv { grid-template-columns: 44px 1fr 44px 1fr; font-size: 12px; gap: 2px 6px; }
  body .lr-kv dt { font-size: 11px; }
  body .lr-line { font-size: 12.5px; }
  body .lr-calc { font-size: 11.5px; }
  body .card { padding: 12px 13px; }

  /* ---------- 10. 三纪 ---------- */
  body .sj-grid { grid-template-columns: 1fr; gap: 10px; }
  body .sj-card { padding: 15px 15px 14px; }
  body .sj-card h2 { font-size: 19px; letter-spacing: 2px; }
  body .sj-list { font-size: 12.5px; line-height: 1.9; }
  body .sj-lead,
  body .sj-body { font-size: 12.5px; line-height: 1.9; }

  /* ---------- 11. 表格里的可点元素 ---------- */
  body .ac-filters { padding: 10px 12px; }
  body .ac-frow { gap: 6px; }
  body .ac-flab { width: 100%; font-size: 11px; }
  body .ac-chip {
    height: 40px;                        /* 触控 ≥40 */
    padding: 0 12px;
    font-size: 13px;
    border-radius: 4px;
  }

  /* ================= 子查询 A：iPad 竖屏（601–900） ================= */
  @media (min-width: 601px) {
    /* iPad 竖屏：入口卡片排两列，753px 宽的卡片只放一行字太空 */
    body .cards { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    body .mcard { padding: 16px 18px; }
    /* iPad 上棋盘一屏能看全 12 宫，字号比手机大一档，不需要横滑 */
    body .grid { grid-template-rows: repeat(4, minmax(124px, auto)); gap: 6px; }
    body .pal { padding: 8px; gap: 4px; min-height: 124px; }
    body .star { font-size: 14px; }
    body .minor { font-size: 11.5px; }
    body .adj { font-size: 10px; }
    body .pal .hd { font-size: 10px; }
    body .ft .pname { font-size: 13px; }
    body .center { padding: 14px 16px; gap: 7px; }
    body .center .big { font-size: 13px; }
    body .kv { grid-template-columns: 52px 1fr; font-size: 12px; gap: 2px 8px; }
    body .kv dt { font-size: 11px; }
    body .center .note { font-size: 10.5px; }
    body .hm-pane .grid { grid-template-rows: repeat(4, minmax(96px, auto)); }
    body .hm-pane .star { font-size: 13px; }
    body .hm-pane .minor { font-size: 10.5px; }
    body .hm-pane .center .big { font-size: 11.5px; }
    body .hm-pane .kv { grid-template-columns: 38px 1fr; font-size: 10.5px; }

    /* iPad 上列表模式两宫一屏（shared.css 的 260px 基准在 736 宽下正好两列） */
    body.list-mode .pal { flex: 1 1 300px; }
    body.list-mode .star { font-size: 14px; }

    body .hm-pair { gap: 8px; }
    body .alg-strip .c b { font-size: 12.5px; }
  }

  /* ================= 子查询 B：手机（≤480） ================= */
  @media (max-width: 480px) {
    body .wrap { padding: 12px 12px calc(56px + env(safe-area-inset-bottom)); }
    body .topnav { margin: 0 -12px 14px; padding: 0 12px; }
    body .topnav a { padding: 0 11px; font-size: 13px; }
    body input,
    body select { padding: 0 6px; }
    body form.bar { padding: 10px 11px; gap: 7px; }
    body .hm-form { padding: 10px 11px; gap: 7px; }
    body form.bar > .field > span,
    body .hm-form > .field > span { font-size: 11px; }

    /* 手机：棋盘保持比例，横滑看（139px 一格，星名不换行） */
    body .sheet {
      overflow-x: auto;
      overflow-y: hidden;
      -webkit-overflow-scrolling: touch;
      overscroll-behavior-x: contain;
    }
    body .grid { min-width: 560px; gap: 3px; }
    body.list-mode .grid { min-width: 0; }
    body .pal { min-height: 92px; padding: 4px; gap: 2px; }
    body .star { font-size: 12.5px; }
    body .minor { font-size: 10.5px; gap: 0 5px; }
    body .pal .hd { font-size: 9.5px; }
    body .ft .pname { font-size: 11.5px; }
    body .center { padding: 7px 8px; gap: 4px; }
    body .center .big { font-size: 11px; }
    body .kv { grid-template-columns: 36px 1fr; font-size: 10px; gap: 1px 5px; }
    body .kv dt { font-size: 9.5px; }
    body .hm-pane .grid { gap: 2px; }
    body .hm-pane .pal { padding: 3px; }
    body .hm-pane .star { font-size: 11.5px; }
    body .hm-pane .minor { font-size: 9.5px; gap: 0 4px; }
    body .hm-pane .pal .hd { font-size: 9.5px; }
    body .hm-pane .center { padding: 6px 7px; }
    body .hm-pane .center .big { font-size: 10px; }
    body .hm-pane .kv { grid-template-columns: 30px 1fr; font-size: 9.5px; }

    /* 手机列表模式：一宫一行，不并排 */
    body.list-mode .pal { flex: 1 1 100%; }
    body.list-mode .center { flex: 1 1 100%; }

    /* 手机上算法条的 12 宫切成 4 列，字才不糊 */
    body .alg-strip { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    body .alg-sum .it b { font-size: 13.5px; }
    body .lr-cell { width: 33%; }
    body .lr-name { font-size: 14px; }
  }
}

/* ---------- 12. hover 只给真指着鼠标的设备 ---------- */
@media (max-width: 900px) and (hover: hover) and (pointer: fine) {
  body .topnav a:hover { color: var(--ink); }
  body .ac-chip:hover { border-color: var(--jade); color: var(--jade); }
  body .mcard:hover { transform: none; }
}
