/* ======================================================
   CAPEST · 移动端 · 平板 · 桌面 响应式适配层
   断点：
     ≥ 1280   桌面（无覆盖）
     1024-1279 平板横屏
     768-1023 平板竖屏 / 小屏笔电
     ≤ 767    手机
     ≤ 480    小屏手机
   策略：用足够高的特异性 + !important 强制覆盖各页面 inline <style> 块。
   ====================================================== */

/* ===== 默认隐藏汉堡按钮（仅 ≤767 显示） ===== */
.mainnav-toggle {
  display: none;
  background: transparent;
  color: #fff;
  border: 0;
  font-size: 22px;
  cursor: pointer;
  padding: 0 14px;
  line-height: 44px;
}

/* =================== ≤ 1279 ：版心收缩 =================== */
@media (max-width: 1279px) {
  :root { --wrap: 100% !important; --pad-section: 36px; }
  .wrap { padding: 0 28px !important; }
}

/* =================== ≤ 1023 ：双栏 → 单栏 =================== */
@media (max-width: 1023px) {
  .wrap { padding: 0 22px !important; }
  /* 全局保险，防止任何内嵌 fixed-width 元素撑破布局 */
  html, body { max-width: 100% !important; overflow-x: hidden !important; }

  /* 顶栏：去掉天气，让访问量也小一点 */
  .topbar { font-size: 11px !important; padding: 5px 0 !important; position: relative !important; z-index: 5 !important; }
  .topbar .wrap { height: auto !important; min-height: 0 !important; }  /* 让顶栏随内容自适应高度，避免溢出到 masthead 被遮挡 */
  .topbar .weather { display: none !important; }
  .topbar .topbar-left { gap: 10px !important; flex-wrap: wrap; }
  .topbar .topbar-right { flex-wrap: wrap; gap: 4px 8px !important; }
  .topbar-right a, .topbar-left a { padding: 4px 0 !important; }  /* 加大点击热区 */

  /* 主导航：横滚 + 隐藏下拉（避免悬停卡死） */
  .mainnav { font-size: 13px !important; }
  .mainnav .wrap { overflow-x: auto !important; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
  .mainnav .wrap::-webkit-scrollbar { display: none; }
  .mainnav ul { white-space: nowrap !important; flex-wrap: nowrap !important; }
  .mainnav .dropdown { display: none !important; }

  /* Masthead 简化 */
  .masthead-v2 { padding: 18px 0 !important; }
  .masthead-v2 .wrap { flex-direction: column !important; gap: 14px !important; align-items: flex-start !important; }
  .masthead-v2 .emblem-lockup { gap: 14px !important; }
  .masthead-v2 .emblem-lockup .emblem-xl { width: 64px !important; height: 64px !important; flex-shrink: 0; }
  .masthead-v2 .emblem-lockup .lockup-cn { font-size: 19px !important; letter-spacing: 2px !important; }
  .masthead-v2 .emblem-lockup .lockup-en { font-size: 9px !important; }
  .masthead-v2 .emblem-lockup .lockup-tag { font-size: 11px !important; letter-spacing: 1.5px !important; }
  .masthead-v2 .masthead-right { width: 100% !important; }
  .masthead-v2 .quick-links { display: none !important; }
  .masthead-v2 .search-box { width: 100% !important; }
  .masthead-centered .wrap { grid-template-columns: 1fr !important; }
  .masthead-centered .centered-meta-l, .masthead-centered .centered-meta-r { position: static !important; text-align: center !important; margin-top: 14px !important; }
  .masthead-gov { padding: 18px 0 !important; }
  .masthead-gov .wrap { flex-direction: column !important; align-items: flex-start !important; gap: 14px !important; }

  /* 首页 hero 双栏 → 单栏 */
  .hero-grid { grid-template-columns: 1fr !important; gap: 24px !important; }
  .hero-grid .carousel { aspect-ratio: 16 / 10 !important; min-height: 240px !important; }
  /* 手机上轮播图占位文字过长会撑破布局，隐藏占位文字（caption 里有真实标题） */
  .hero-grid .carousel-slide .placeholder span { display: none !important; }
  .hero-grid .carousel-slide .caption { padding: 28px 14px 14px !important; }
  .hero-grid .carousel-slide .caption h3 { font-size: 15px !important; line-height: 1.4 !important; letter-spacing: 0 !important; }
  .hero-grid .carousel-slide .caption .kicker { font-size: 10px !important; padding: 2px 6px !important; }
  .hero-grid .carousel-arrow { width: 28px !important; height: 28px !important; }
  .hero-grid .carousel-arrow.prev { left: 6px !important; }
  .hero-grid .carousel-arrow.next { right: 6px !important; }
  .hero-grid .carousel-dots { right: 12px !important; bottom: 8px !important; }
  .hero-grid .carousel-dots button { width: 18px !important; }
  .hero-grid .carousel-dots button.active { width: 28px !important; }

  /* 三栏新闻 / 研究主线 / 品牌矩阵 → 2 栏 */
  .tri-col { grid-template-columns: 1fr !important; gap: 28px !important; }
  .research-lines { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 14px !important; }
  .brand-matrix { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 14px !important; }

  /* 体能说 双栏 → 单栏 */
  .tineng-grid { grid-template-columns: 1fr !important; gap: 24px !important; }

  /* 专家 + 机构 双栏 → 单栏 */
  .layout-2col { grid-template-columns: 1fr !important; gap: 32px !important; }
  .expert-grid { grid-template-columns: repeat(3, minmax(0,1fr)) !important; }
  .org-tree { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }

  /* 数据条 6 → 3 */
  .data-strip .data-grid { grid-template-columns: repeat(3, 1fr) !important; gap: 14px !important; }
  .data-strip .data-item .num { font-size: 30px !important; }

  /* 专题 4 → 2 */
  .topics-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 14px !important; }

  /* 党建 + 国际 + 招聘 → 单栏 */
  .mix-grid { grid-template-columns: 1fr !important; gap: 24px !important; }

  /* 通用栅格回退 */
  .kpi-row { grid-template-columns: repeat(2, 1fr) !important; }
  .kpi-grid-3 { grid-template-columns: repeat(2, 1fr) !important; }
  .mission-grid { grid-template-columns: 1fr !important; gap: 18px !important; }
  .contact-grid { grid-template-columns: 1fr !important; }
  .brand-pair-grid { grid-template-columns: 1fr !important; }
  /* research 旗舰品牌内联布局 */
  .brand-hero { grid-template-columns: 1fr !important; gap: 18px !important; padding: 22px !important; }
  .brand-hero h2 { font-size: 22px !important; letter-spacing: 2px !important; }
  /* organization 组织架构 4 列横排 → 2 列 */
  .org-tier { grid-template-columns: repeat(2, 1fr) !important; gap: 14px !important; }
  .org-tier::before { display: none !important; }  /* 横向连接线在 2 列下不再合理 */
  .org-tier > div::before { display: none !important; }
  .org-node { padding: 10px 12px !important; font-size: 13px !important; letter-spacing: 1px !important; }
  .org-tier .members { font-size: 11px !important; padding: 10px !important; }
  /* leader-grid 3-4 列 → 1 列 */
  .leader-grid { grid-template-columns: 1fr !important; gap: 12px !important; }
  .leader-card { padding: 14px !important; }
  /* outreach 科普卡片 3 列 → 1 列 */
  .sci-grid { grid-template-columns: 1fr !important; gap: 14px !important; }
  /* 英文版首页 */
  .en-topbar .wrap { flex-direction: column !important; align-items: flex-start !important; gap: 6px !important; }
  .en-nav .wrap { flex-wrap: wrap !important; padding: 0 14px !important; }
  .en-nav .brand-mark { padding: 14px 12px 14px 0 !important; border-right: 0 !important; }
  .en-nav .brand-mark .tx { font-size: 14px !important; }
  .en-nav .brand-mark .tx small { font-size: 9px !important; letter-spacing: 1.5px !important; }
  .en-nav ul {
    margin-left: 0 !important; width: 100%; flex-wrap: wrap !important;
    border-top: 1px solid rgba(255,255,255,0.1);
  }
  .en-nav ul li a { padding: 12px 12px !important; font-size: 12px !important; letter-spacing: 1px !important; }
  .en-footer .grid { grid-template-columns: 1fr !important; gap: 24px !important; }

  /* 视频 4 → 2 */
  .video-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 14px !important; }

  /* 数据门户首页"DATA HUB"模块 */
  .dp-strip .grid { grid-template-columns: 1fr !important; gap: 18px !important; }
  .dp-strip .kpi-stack { grid-template-rows: auto auto !important; grid-template-columns: 1fr 1fr !important; gap: 14px; }

  /* 页脚 5 → 2 */
  .footer-grid { grid-template-columns: 1fr 1fr !important; gap: 22px !important; }
  .footer-brand { grid-column: 1 / -1 !important; }
  .footer-bottom { flex-direction: column !important; align-items: flex-start !important; gap: 8px !important; }

  /* 内页 hero / 侧栏布局 */
  .side-layout { grid-template-columns: 1fr !important; gap: 28px !important; }
  .side-nav { position: static !important; }
  .page-hero h1 { font-size: 32px !important; letter-spacing: 4px !important; }

  /* 专家详情页：右侧 320px 侧栏 → 下沉到正文之后 */
  .exp-hero .wrap { grid-template-columns: 140px 1fr !important; gap: 22px !important; }
  .exp-hero .exp-quick { grid-column: 1 / -1 !important; flex-direction: row !important; flex-wrap: wrap !important; }
  .exp-portrait { width: 140px !important; height: 180px !important; font-size: 64px !important; }
  .exp-meta h1 { font-size: 36px !important; letter-spacing: 6px !important; }
  .exp-layout { grid-template-columns: 1fr !important; gap: 24px !important; }
  .exp-side { position: static !important; }
  .directions, .project-grid { grid-template-columns: 1fr !important; }
  .student-list { grid-template-columns: repeat(2, 1fr) !important; }

  /* 登录页 topbar 在平板也需要收紧 */
  .oa-topbar, .mail-topbar, .d-top, .d-topbar {
    padding: 14px 22px !important;
    flex-wrap: wrap !important;
    gap: 10px 18px !important;
  }
  .oa-topbar .right, .mail-topbar .right, .d-top .right, .d-topbar .right {
    flex-wrap: wrap !important; font-size: 11px !important;
  }

  /* 数据门户 dp-* */
  .dp-top { padding: 14px 18px !important; flex-direction: column; align-items: flex-start; gap: 10px; }
  .dp-top .nav { flex-wrap: wrap; gap: 14px !important; font-size: 12px !important; }
  .dp-hero { grid-template-columns: 1fr !important; gap: 14px !important; padding: 24px 22px 0 !important; }
  .dp-hero .dp-title { flex-direction: column !important; align-items: flex-start !important; gap: 8px !important; }
  .dp-hero .dp-title h1 { font-size: 28px !important; letter-spacing: 2px !important; }
  .dp-hero .dp-title .meta { text-align: left !important; }
  .dp-bottom { grid-template-columns: 1fr !important; gap: 18px !important; }
  .dp-db-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 12px !important; }
  .dp-search .input-wrap { flex-direction: column !important; }
  .dp-search .input-wrap select { border-right: 0 !important; border-bottom: 1px solid var(--dp-border, rgba(255,255,255,0.15)) !important; padding: 12px 14px !important; }
  /* 数据门户额外的 4 列网格 */
  .dp-services, .dp-dbs { padding: 0 22px 28px !important; }
  .dp-services { grid-template-columns: repeat(2, 1fr) !important; gap: 12px !important; }
  .dp-dbs-head { flex-direction: column !important; align-items: flex-start !important; gap: 12px !important; padding: 22px !important; }
  .dp-dbs-head .filter { flex-wrap: wrap !important; }
  .dp-feed .row { gap: 6px !important; padding: 6px 0 !important; }
  .dp-map .map-canvas { height: 280px !important; }

  /* 登录页：左右分栏 → 上下叠 */
  .oa-main, .mail-main, .d-main { grid-template-columns: 1fr !important; }
  .oa-main > *, .mail-main > *, .d-main > * { min-width: 0 !important; max-width: 100% !important; }
  .oa-intro, .mail-intro, .d-intro { padding: 36px 28px !important; }
  .oa-intro h1, .mail-intro h1, .d-intro h1 { font-size: 32px !important; letter-spacing: 1px !important; }
  .oa-intro .modules { grid-template-columns: repeat(2, 1fr) !important; }
  .mail-intro .stats { grid-template-columns: repeat(4, 1fr) !important; }
  .mail-intro .features { grid-template-columns: 1fr !important; }
  .d-intro .rules { grid-template-columns: 1fr !important; }
  .d-form .row-2 { grid-template-columns: 1fr 1fr !important; }
  .oa-intro .sub, .mail-intro .sub, .d-intro .sub { max-width: 100% !important; }
  .oa-card, .mail-card, .d-card {
    width: 100% !important; max-width: 460px !important; min-width: 0 !important;
    padding: 32px 28px !important; box-sizing: border-box !important;
    margin: 0 auto !important;
  }
  .oa-login-side, .mail-login-side, .d-login-side {
    padding: 24px 16px !important; min-width: 0 !important; box-sizing: border-box !important;
  }
  .oa-card *, .mail-card *, .d-card * { max-width: 100% !important; box-sizing: border-box !important; }

  /* 管理后台 */
  .dash-shell { grid-template-columns: 1fr !important; }
  .dash-side {
    position: fixed !important;
    left: 0; top: 0; bottom: 0;
    width: 80% !important;
    max-width: 320px !important;
    transform: translateX(-100%);
    transition: transform 0.25s ease;
    z-index: 200;
    box-shadow: 4px 0 20px rgba(0,0,0,0.3);
  }
  body.dash-side-open .dash-side { transform: translateX(0); }
  .dash-main { width: 100% !important; }
  .dash-topbar { padding-left: 56px !important; }  /* 给汉堡按钮留位置 */
  .dash-topbar .crumbs { font-size: 14px !important; }
  .dash-topbar .right { gap: 8px !important; }
  .dash-topbar .right .mono { display: none !important; } /* 时钟太挤就隐藏 */
  .dash-topbar .user .nm { display: none; }  /* 用户名隐藏 */
  .dash-topbar .user .role { display: none; }
  /* 注入的汉堡按钮 */
  .dash-hamburger {
    position: absolute; left: 12px; top: 50%; transform: translateY(-50%);
    width: 36px; height: 36px;
    background: var(--brand-deep);
    color: #fff; border: 0;
    display: flex !important; align-items: center; justify-content: center;
    font-size: 22px; cursor: pointer;
    z-index: 5;
  }
  /* 蒙层 */
  body.dash-side-open::after {
    content: ""; position: fixed; inset: 0;
    background: rgba(0,0,0,0.5);
    z-index: 199;
  }

  /* 站点地图 3 → 1 */
  .sm-grid { grid-template-columns: 1fr !important; gap: 18px !important; }

  /* verify 页面 */
  .verify-hero h1 { font-size: 32px !important; letter-spacing: 6px !important; }
  .search-row { grid-template-columns: 1fr !important; gap: 12px !important; }
  .info-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 12px !important; }
  .cert-doc { padding: 36px 32px !important; margin: 0 0 22px !important; }
  .cert-doc h2 { font-size: 28px !important; letter-spacing: 8px !important; }
  .cert-doc .doc-grid { grid-template-columns: 1fr !important; gap: 0 !important; }
  .cert-doc .doc-foot { grid-template-columns: 1fr !important; gap: 22px !important; text-align: center !important; }
  .cert-doc .doc-issue { text-align: center !important; }
  .cert-doc::after { display: none !important; }
  .verify-strip { grid-template-columns: 1fr !important; gap: 8px !important; }
  .verify-strip .actions { flex-direction: column !important; }

  /* news-list 项 */
  .news-row-list li { grid-template-columns: 60px 1fr !important; }
  .news-row-list .info { padding: 0 !important; }

  /* careers 表 */
  .jobs-table-wrap { overflow-x: auto !important; -webkit-overflow-scrolling: touch; }
  .jobs-table-wrap .jobs-table { min-width: 720px !important; }

  /* expert-library 双栏布局 */
  .experts-page { grid-template-columns: 1fr !important; gap: 18px !important; }
  .experts-big-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .filter-panel { position: static !important; }

  /* 数据采集节点图：横滚不变形 */
  .dp-map svg { min-width: 720px !important; }
  .dp-map .map-canvas { overflow-x: auto !important; -webkit-overflow-scrolling: touch; }
}

/* =================== ≤ 767 ：手机 =================== */
@media (max-width: 767px) {
  :root { --pad-section: 22px !important; }
  .wrap { padding: 0 14px !important; }

  /* 顶栏只留日期 + 1 个核心入口 */
  .topbar .wrap { flex-direction: column; align-items: flex-start; gap: 4px !important; }

  /* === 主导航：汉堡菜单 + 全屏抽屉 === */
  .mainnav { position: relative; }
  .mainnav-toggle {
    display: inline-block !important;
    position: absolute; left: 6px; top: 0;
    width: 48px; height: 44px;
    color: #fff; background: transparent;
    z-index: 5;
  }
  .mainnav .wrap { overflow: visible !important; min-height: 44px; padding-left: 60px !important; }
  .mainnav ul {
    position: absolute; left: 0; right: 0; top: 100%;
    flex-direction: column !important;
    background: var(--brand-deep, #0a3d5c);
    border-top: 1px solid rgba(255,255,255,0.1);
    box-shadow: 0 8px 20px rgba(0,0,0,0.25);
    max-height: 0; overflow: hidden;
    transition: max-height 0.3s ease;
    white-space: normal !important;
    z-index: 200;
  }
  body.mainnav-open .mainnav ul {
    max-height: calc(100vh - 60px);
    overflow-y: auto;
  }
  .mainnav li {
    width: 100% !important;
    border-bottom: 1px solid rgba(255,255,255,0.08);
  }
  .mainnav li > a {
    width: 100% !important;
    padding: 0 18px !important;
    line-height: 46px !important;
    font-size: 13.5px !important;
    text-align: left !important;
  }
  .mainnav li.active > a, .mainnav li > a:hover { background: rgba(255,255,255,0.06) !important; }
  .mainnav .dropdown { display: none !important; } /* 移动端不展开二级菜单 */

  /* Masthead 收紧 */
  .masthead-v2 { padding: 14px 0 !important; }
  .masthead-v2 .emblem-lockup .emblem-xl { width: 52px !important; height: 52px !important; }
  .masthead-v2 .emblem-lockup .lockup-cn { font-size: 16px !important; }
  .masthead-v2 .emblem-lockup .lockup-en { font-size: 8px !important; }
  .masthead-v2 .emblem-lockup .lockup-tag { font-size: 10px !important; }
  .masthead-centered .centered-cn { font-size: 18px !important; letter-spacing: 2px !important; }

  /* hero 标题 */
  .headlines .lead h3 { font-size: 16px !important; }
  .hero-grid .carousel .caption h3 { font-size: 15px !important; line-height: 1.4 !important; }

  /* 全部 grid 单栏化 */
  .research-lines { grid-template-columns: 1fr !important; }
  .brand-matrix { grid-template-columns: 1fr !important; }
  .expert-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 8px !important; }
  .org-tree { grid-template-columns: 1fr !important; }
  .data-strip .data-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 14px !important; }
  .data-strip .data-item .num { font-size: 28px !important; }
  .data-strip::after { font-size: 9px !important; letter-spacing: 3px !important; }
  .topics-grid { grid-template-columns: 1fr !important; }
  .video-grid { grid-template-columns: 1fr !important; }
  /* 页脚：手机上 2 列紧凑布局，brand 跨整行 */
  .footer { padding: 32px 0 18px !important; }
  .footer-grid { grid-template-columns: 1fr 1fr !important; gap: 20px 16px !important; }
  .footer-brand { grid-column: 1 / -1 !important; padding-bottom: 8px !important; border-bottom: 1px solid rgba(255,255,255,0.1); margin-bottom: 6px !important; }
  .footer-brand p { font-size: 11.5px !important; line-height: 1.7 !important; }
  .footer-brand .emblem-footer-lockup .cn { font-size: 16px !important; letter-spacing: 2px !important; }
  .footer-brand .emblem-footer-lockup .en { font-size: 9px !important; }
  .footer-col h4 { font-size: 13px !important; margin-bottom: 8px !important; letter-spacing: 1px !important; }
  .footer-col ul li { font-size: 12px !important; line-height: 1.85 !important; }
  .footer-col ul li a { font-size: 12px !important; }
  .footer-bottom { gap: 6px !important; font-size: 10.5px !important; padding-top: 14px !important; margin-top: 18px !important; }
  .footer-bottom .icp { flex-direction: column !important; align-items: flex-start !important; gap: 4px !important; }

  /* 体能说 */
  .tineng-shuo .tineng-header h2.serif { font-size: 24px !important; letter-spacing: 4px !important; }
  .tineng-shuo .tineng-header h2.serif .quote { font-size: 28px !important; }

  /* 页面 hero */
  .page-hero h1 { font-size: 24px !important; letter-spacing: 3px !important; }
  .page-hero { padding: 28px 0 22px !important; }
  .page-hero .sub { font-size: 13px !important; }

  /* 专家详情 */
  .exp-hero { padding: 24px 0 !important; }
  .exp-hero .wrap { grid-template-columns: 1fr !important; text-align: center !important; gap: 18px !important; }
  .exp-portrait { margin: 0 auto !important; width: 130px !important; height: 165px !important; font-size: 60px !important; }
  .exp-meta h1 { font-size: 28px !important; letter-spacing: 4px !important; text-align: center; }
  .exp-meta .role { text-align: center; font-size: 14px !important; }
  .exp-badges { justify-content: center !important; }
  .exp-quick { justify-content: center; flex-direction: row !important; flex-wrap: wrap; gap: 8px !important; }
  .exp-quick .qbtn { flex: 0 0 calc(50% - 4px); justify-content: center; padding: 8px 12px !important; font-size: 12px !important; }
  .exp-section { padding: 18px 16px !important; }
  .exp-section h2 { font-size: 17px !important; letter-spacing: 2px !important; }
  .career-row { grid-template-columns: 90px 1fr !important; gap: 10px !important; }
  .pub-list li { grid-template-columns: 26px 1fr !important; }
  .pub-list li .pub-meta { grid-column: 2 / 3; font-size: 10.5px !important; }

  /* verify */
  .verify-hero h1 { font-size: 22px !important; letter-spacing: 4px !important; }
  .search-card { padding: 22px 16px !important; margin: -22px 0 0 !important; }
  .search-card .lockup .ttl { font-size: 18px !important; letter-spacing: 2px !important; }
  .info-grid { grid-template-columns: 1fr !important; }
  .cert-doc { padding: 24px 18px !important; }
  .cert-doc h2 { font-size: 22px !important; letter-spacing: 5px !important; }
  .cert-doc .doc-row { grid-template-columns: 70px 1fr !important; font-size: 12px !important; }
  /* verify 三个 tab 在窄屏挤压 */
  .cert-tabs { gap: 0 !important; }
  .cert-tabs button {
    padding: 10px 6px !important;
    font-size: 12px !important;
    letter-spacing: 1px !important;
    white-space: nowrap !important;
    flex: 1 !important;
    text-align: center !important;
  }

  /* 数据门户深色页面 */
  .dp-hero { padding: 18px 14px 0 !important; overflow: hidden !important; }
  .dp-hero > * { min-width: 0 !important; max-width: 100% !important; overflow: hidden !important; }
  .dp-hero .dp-title { width: 100% !important; min-width: 0 !important; max-width: 100% !important; }
  .dp-hero .dp-title > * { min-width: 0 !important; max-width: 100% !important; }
  .dp-hero .dp-title h1 { font-size: 22px !important; letter-spacing: 1px !important; }
  .dp-hero .dp-title .en {
    font-size: 9px !important; letter-spacing: 1px !important;
    word-break: break-word !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
    max-width: 100% !important;
  }
  .dp-hero .dp-title .meta { font-size: 10px !important; letter-spacing: 1px !important; word-break: break-word !important; }
  /* dp-kpis 强制 2 列 */
  .dp-kpis { grid-template-columns: 1fr 1fr !important; min-width: 0 !important; }
  .dp-panel, .dp-search, .dp-map, .dp-bottom { min-width: 0 !important; }
  .dp-bottom { padding: 14px !important; }
  .dp-db-grid { grid-template-columns: 1fr !important; gap: 10px !important; }
  .dp-db { padding: 16px 14px !important; }
  .dp-db h4 { font-size: 14px !important; }
  .dp-kpis { grid-template-columns: 1fr 1fr !important; }
  .dp-search { padding: 16px !important; }
  .dp-search .lead { font-size: 16px !important; }
  .dp-services, .dp-dbs { padding: 0 14px 22px !important; }
  .dp-services { grid-template-columns: 1fr !important; gap: 10px !important; }
  .dp-svc { padding: 14px !important; }
  .dp-svc .i { width: 36px !important; height: 36px !important; }
  .dp-svc .t .main { font-size: 13px !important; }
  .dp-feed .row { grid-template-columns: 1fr auto !important; row-gap: 2px !important; }
  .dp-feed .row .t { grid-column: 1 / -1; font-size: 9px !important; }
  .dp-feed .row .m { grid-column: 1 / 2; font-size: 11.5px !important; }
  .dp-feed .row .s { grid-column: 2 / 3; }
  .dp-map .map-canvas { height: 220px !important; }

  /* 登录页：手机上更紧凑 */
  .oa-topbar, .mail-topbar, .d-top, .d-topbar {
    padding: 14px 16px !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 10px !important;
  }
  .oa-topbar .right, .mail-topbar .right, .d-topbar .right {
    flex-wrap: wrap !important; gap: 10px 14px !important; font-size: 11px !important;
    width: 100% !important;
  }
  .oa-topbar .brand-text .cn, .mail-topbar .brand-text .cn, .d-topbar .brand-text .cn {
    font-size: 14px !important; letter-spacing: 1px !important;
  }
  .oa-topbar .brand-text .en, .mail-topbar .brand-text .en, .d-topbar .brand-text .en {
    font-size: 9px !important; letter-spacing: 1.5px !important;
  }
  .oa-topbar .mark, .mail-topbar .mark, .d-topbar .mark {
    width: 36px !important; height: 36px !important; font-size: 14px !important;
  }
  .oa-intro, .mail-intro, .d-intro { padding: 24px 18px !important; }
  .oa-intro h1, .mail-intro h1, .d-intro h1 { font-size: 26px !important; line-height: 1.3 !important; }
  .oa-intro .sub, .mail-intro .sub, .d-intro .sub { font-size: 13px !important; }
  .oa-intro .modules { grid-template-columns: repeat(2, 1fr) !important; }
  .mail-intro .stats { grid-template-columns: repeat(2, 1fr) !important; }
  .d-form .row-2 { grid-template-columns: 1fr !important; }
  .oa-card, .mail-card, .d-card { padding: 24px 20px !important; }
  .oa-card .card-head .t, .mail-card .card-head .t, .d-card .card-head .t { font-size: 19px !important; letter-spacing: 3px !important; }
  .oa-tabs button, .mail-tabs button, .d-tabs button { font-size: 12px !important; letter-spacing: 1px !important; }
  .oa-footer, .mail-footer, .d-foot { flex-direction: column !important; gap: 10px !important; padding: 16px !important; font-size: 11px !important; }
  .oa-footer .links, .mail-footer .links, .d-foot .links { flex-wrap: wrap; }

  /* admin 主区 */
  .dash-content { padding: 18px 14px !important; }
  .page-title { font-size: 20px !important; letter-spacing: 2px !important; }
  .toolbar { flex-wrap: wrap !important; gap: 8px !important; }
  .toolbar input, .toolbar select { flex: 1 1 calc(50% - 4px) !important; min-width: 0 !important; }
  .card-body { padding: 14px !important; }
  .card-head { flex-direction: column; align-items: flex-start !important; gap: 10px; }
  /* 表格手机上横滚 */
  table.tbl, .tbl { display: block !important; overflow-x: auto !important; -webkit-overflow-scrolling: touch; }
  .tbl thead th, .tbl tbody td { white-space: nowrap; }
  /* RTE 编辑器 */
  .rte-toolbar { gap: 4px !important; padding: 6px 8px !important; }
  .rte-toolbar .rte-group { padding: 0 4px !important; gap: 1px !important; }
  .rte-btn { min-width: 26px !important; height: 26px !important; padding: 0 6px !important; font-size: 11px !important; }
  .rte-area { min-height: 240px !important; padding: 14px 16px !important; font-size: 13.5px !important; }
  /* admin 表单 */
  .form-row { grid-template-columns: 1fr !important; gap: 6px !important; }
  .form-row label { padding-top: 0 !important; }
  .form-row.form-row-rte { grid-template-columns: 1fr !important; }

  /* 数据门户首页板块 */
  .dp-strip .kpi-stack { grid-template-columns: 1fr !important; }
  .dp-strip .feed-list { height: 280px !important; }

  /* careers 列表 */
  .careers-grid { grid-template-columns: 1fr !important; }

  /* expert-library */
  .experts-big-grid { grid-template-columns: 1fr !important; }
  .filter-panel .chips { gap: 4px !important; }

  /* tineng-talk 列表 */
  .ep-grid { grid-template-columns: 1fr !important; }

  /* 站点地图 */
  .sm-col { padding: 18px 16px !important; }

  /* 内容卡通用收紧 */
  .content-block { padding: 22px 18px !important; }
  .content-block h2 { font-size: 18px !important; letter-spacing: 2px !important; }
  .breadcrumb { padding: 10px 0 !important; font-size: 11px !important; }

  /* 国际节点地图（用 .pin 定位）：手机上 width 100% + aspect-ratio 自适应 */
  .globe-map {
    width: 100% !important;
    aspect-ratio: 1.6 / 1 !important;  /* 比 2.2:1 高一些，给 pin 留更多垂直空间 */
    height: auto !important;           /* 关键：去掉之前固定 240 导致 width 被算成 528 */
    min-height: 0 !important;
    overflow: hidden !important;
  }
  .globe-map .pin .lbl { font-size: 10.5px !important; padding: 2px 6px !important; }
  .globe-map .pin .dot { width: 11px !important; height: 11px !important; border-width: 2px !important; }
}

/* =================== ≤ 480 ：小屏 =================== */
@media (max-width: 480px) {
  .wrap { padding: 0 12px !important; }
  .data-strip .data-grid { grid-template-columns: 1fr 1fr !important; }
  .expert-grid { grid-template-columns: 1fr !important; }
  .kpi-row, .kpi-grid-3 { grid-template-columns: 1fr !important; }
  .student-list { grid-template-columns: 1fr !important; }
  .org-tier { grid-template-columns: 1fr !important; }
  .footer-bottom .icp { font-size: 10.5px !important; }
  .page-hero h1 { font-size: 20px !important; letter-spacing: 2px !important; }
  .verify-hero h1 { font-size: 19px !important; letter-spacing: 3px !important; }
  .exp-meta h1 { font-size: 24px !important; letter-spacing: 3px !important; }
  .cert-doc { padding: 20px 14px !important; }
  .oa-card, .mail-card, .d-card { padding: 20px 16px !important; }
  .dash-topbar .user .av { width: 28px !important; height: 28px !important; font-size: 12px !important; }
}

/* =================== 触摸设备：去掉 hover 卡顿 =================== */
@media (hover: none) {
  .mainnav li:hover > .dropdown { display: none !important; }
  .mainnav li:focus-within > .dropdown { display: block; }
  .video-tile:hover, .expert-card:hover { transform: none !important; box-shadow: none !important; }
  .jobs-card .jobs-list li:hover { transform: none !important; }
}

/* =================== 打印：保留印章、去掉装饰 =================== */
@media print {
  .topbar, .mainnav, .footer, .tweaks-panel, #a11y-panel, .breadcrumb,
  .dash-side, .dash-topbar, .toolbar, #toast { display: none !important; }
  .masthead { padding: 12px 0 !important; }
  .wrap { max-width: 100% !important; padding: 0 12px !important; }
  body { background: #fff !important; color: #000 !important; }
  a { color: #000 !important; text-decoration: underline; }
  .cert-doc { box-shadow: none !important; border: 1px solid #000 !important; page-break-inside: avoid; }
}
