/*
Theme Name: 210m
Theme URI: http://www.210m.com
Template: ceomax-pro
Author: 210m.com
Author URI: https://www.210m.com
Description: 210m.com
Tags: 210m.com
Version: 1.0.1756379303
Updated: 2025-08-28 19:08:23

*/

:root{
  --m210m-bg:#f2f7f5; --m210m-card:#ffffff; --m210m-text:#0b1220;
  --m210m-muted:#6b7280; --m210m-border:#e6ebf0; --m210m-shadow:0 10px 30px rgba(16,24,40,.08);
  --m210m-radius:22px; --m210m-green:#16a34a; --m210m-blue:#22d3ee; --m210m-blue2:#60a5fa;
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;background:#f6faf8;color:var(--m210m-text);
  font:14px/1.6 system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial
}
a{color:inherit;text-decoration:none}
.m210m-wrap{max-width:1200px;margin:0 auto;padding:0 16px}

/* 顶部 */
.m210m-topbar{background:#fff;border-bottom:1px solid var(--m210m-border)}
.m210m-top{height:62px;display:flex;align-items:center;gap:16px}
.m210m-logo{display:flex;align-items:center;gap:8px;font-weight:800;font-size:18px}
.m210m-logo-badge{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;
  color:#001018;background:linear-gradient(135deg,var(--m210m-blue),var(--m210m-blue2))}
.m210m-search{
  margin-left:auto;display:flex;align-items:center;gap:10px;background:#fff;
  border:1px solid var(--m210m-border);border-radius:999px;padding:8px 12px;
  flex:1;min-width:0;max-width:420px;box-shadow:0 3px 10px rgba(0,0,0,.03)
}
.m210m-input{flex:1;border:none;outline:none;background:transparent}
.m210m-auth{display:flex;gap:10px;margin-left:8px}
.m210m-btn{border:1px solid var(--m210m-border);background:#fff;padding:8px 14px;border-radius:10px;cursor:pointer}
.m210m-btn--primary{background:linear-gradient(135deg,var(--m210m-blue),var(--m210m-blue2));
  border:none;color:#001018;font-weight:700}
.m210m-nav{display:flex;gap:16px;padding:10px 0 14px}
.m210m-nav a{display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:10px;color:#3b4453}
.m210m-nav a i{color:#6b7280;font-size:14px;transition:color .2s}
.m210m-nav a:hover{background:#eef5ff}
.m210m-nav a:hover i{color:#3b82f6}
.m210m-menu-btn{display:none;border:none;background:transparent;font-size:20px;cursor:pointer;margin-left:10px}

/* 移动端导航折叠 */
@media (max-width:768px){
  .m210m-nav{display:none;flex-direction:column;gap:10px;background:#fff;
    padding:12px;border:1px solid var(--m210m-border);border-radius:12px}
  .m210m-nav.active{display:flex}
  .m210m-menu-btn{display:block}
  .m210m-search{max-width:200px}
}

/* 头部大区 */
.m210m-hero{display:grid;grid-template-columns:7fr 5fr;gap:16px;margin:16px 0}
@media (max-width:1024px){.m210m-hero{grid-template-columns:1fr}}
.m210m-card{background:var(--m210m-card);border:1px solid var(--m210m-border);
  border-radius:var(--m210m-radius);box-shadow:var(--m210m-shadow)}

/* 轮播 */
.m210m-slider{position:relative;overflow:hidden;height:320px}
.m210m-slide{position:absolute;inset:0;padding:24px;display:flex;flex-direction:column;
  justify-content:flex-end;gap:14px;opacity:0;transform:scale(.98);
  transition:opacity .35s,transform .35s}
.m210m-slide[data-active="1"]{opacity:1;transform:scale(1)}
.m210m-slide h3{margin:0;font-size:22px;color:#fff}
.m210m-slide p{margin:0;color:#eef;opacity:.9}
.m210m-cta{align-self:flex-start;background:#ff7052;color:#fff;border:none;
  border-radius:999px;padding:10px 18px;font-weight:700;cursor:pointer}
.m210m-slide:nth-child(1){background:linear-gradient(135deg,#ff6b6b,#ff8e6e)}
.m210m-slide:nth-child(2){background:linear-gradient(135deg,#3b82f6,#60a5fa)}
.m210m-slide:nth-child(3){background:linear-gradient(135deg,#22c55e,#16a34a)}
.m210m-sdots{position:absolute;left:0;right:0;bottom:10px;display:flex;gap:6px;justify-content:center}
.m210m-sdots span{width:8px;height:8px;border-radius:999px;background:rgba(255,255,255,.6)}
.m210m-sdots span[data-active="1"]{background:#fff}
.m210m-sbtn{position:absolute;top:50%;transform:translateY(-50%);width:36px;height:36px;
  border-radius:999px;border:none;cursor:pointer;color:#334;display:grid;place-items:center;background:#fff}
.m210m-sbtn[data-left]{left:10px} .m210m-sbtn[data-right]{right:10px}

/* 编辑精选 */
.m210m-mini{padding:10px}
.m210m-mini-title{display:flex;align-items:center;justify-content:space-between;padding:6px 6px 10px}
.m210m-mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.m210m-mini-card{border:1px dashed var(--m210m-border);border-radius:14px;padding:12px;
  display:grid;gap:8px;place-items:center;background:#fbfeff;transition:all .25s}
.m210m-mini-ico{width:56px;height:56px;border-radius:14px;background:#f3f6fb;
  border:1px solid #e8edf4;display:grid;place-items:center;font-weight:800}
.m210m-mini-name{font-size:13px;text-align:center;color:#334}
.m210m-mini-card:hover{border-color:#60a5fa;background:#f0f7ff;transform:translateY(-2px);
  box-shadow:0 8px 18px rgba(96,165,250,.25)}
.m210m-mini-dots{display:flex;gap:6px;justify-content:center;margin-top:10px}
.m210m-mini-dots span{width:7px;height:7px;border-radius:999px;background:#dbe1ea}
.m210m-mini-dots span[data-active="1"]{background:#9fb5ff}

/* 最新更新 */
.m210m-sec-title{display:flex;align-items:center;gap:10px;margin:18px 0 8px}
.m210m-tags{margin-left:auto;display:flex;gap:8px}
.m210m-tag{border:1px solid var(--m210m-border);padding:6px 10px;border-radius:999px;
  color:#5a6375;cursor:pointer;background:#fff;transition:all .2s}
.m210m-tag[data-active="1"]{background:#e8f2ff;border-color:#d6e6ff}
.m210m-tag:hover{border-color:#60a5fa;background:#f0f7ff;color:#365a9e}

.m210m-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
@media (max-width:1100px){.m210m-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:800px){.m210m-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.m210m-grid{grid-template-columns:1fr}}

.m210m-app{position:relative;padding:20px;border-radius:22px;border:1px solid var(--m210m-border);
  background:#fff;box-shadow:var(--m210m-shadow);display:flex;flex-direction:column;align-items:center;
  text-align:center;transition:transform .22s,border-color .22s,box-shadow .22s;overflow:hidden}
.m210m-app:hover{transform:translateY(-4px) scale(1.02);border-color:#dbe0e6;
  box-shadow:0 14px 36px rgba(16,24,40,.12)}

.m210m-ribbon{position:absolute;top:12px;right:-32px;width:100px;height:24px;line-height:24px;
  background:#2f3640;color:#fff;text-align:center;transform:rotate(45deg);border-radius:2px;
  pointer-events:none;font-size:12px;letter-spacing:.5px}

.m210m-icon{width:86px;height:86px;border-radius:20px;background:#f3f6fb;border:1px solid #e8edf4;
  display:grid;place-items:center;font-weight:800;transition:transform .22s}
.m210m-app:hover .m210m-icon{transform:scale(1.04)}
.m210m-title{margin:12px 0 6px;font-weight:700}
.m210m-meta{color:var(--m210m-muted);font-size:12px}
.m210m-dot{margin:0 8px;color:#cbd3df}
.m210m-btn-download{margin-top:16px;width:100%;height:40px;border-radius:999px;background:transparent;
  border:1px solid #cfd6df;color:#2b2f36;font-weight:700;cursor:pointer;transition:all .18s}
.m210m-app:hover .m210m-btn-download{background:var(--m210m-green);color:#fff;
  border-color:transparent;box-shadow:0 8px 18px rgba(22,163,74,.25)}
.m210m-loadmore{margin:18px auto 0;display:block;padding:10px 18px;border-radius:999px;
  border:1px solid var(--m210m-border);background:#fff;cursor:pointer;transition:all .2s}
.m210m-loadmore:hover{border-color:#60a5fa;background:#f0f7ff;transform:translateY(-2px)}

/* 软件榜单 */
.m210m-rank{margin:24px 0;padding:16px;background:#fff;border:1px solid var(--m210m-border);
  border-radius:18px;box-shadow:var(--m210m-shadow)}
.m210m-rtitle{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.m210m-rgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:800px){.m210m-rgrid{grid-template-columns:1fr}}
.m210m-ritem{display:flex;align-items:center;gap:10px;border:1px solid var(--m210m-border);
  border-radius:12px;padding:10px;background:#fbfeff;transition:all .22s}
.m210m-ritem:hover{border-color:#60a5fa;background:#f0f7ff;transform:translateY(-2px)}
.m210m-rnum{width:22px;height:22px;border-radius:6px;background:#e8f0ff;color:#4c70ff;
  display:grid;place-items:center;font-weight:800}
.m210m-rname{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* 底部四宫格 CTA */
.m210m-cta4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:10px 0 24px}
@media (max-width:800px){.m210m-cta4{grid-template-columns:repeat(2,1fr)}}
.m210m-pill{border-radius:16px;padding:18px 16px;color:#fff;font-weight:700;text-align:center;
  box-shadow:0 10px 24px rgba(16,24,40,.12);transition:all .25s}
.m210m-pill:nth-child(1){background:linear-gradient(135deg,#60a5fa,#3b82f6)}
.m210m-pill:nth-child(2){background:linear-gradient(135deg,#22c55e,#16a34a)}
.m210m-pill:nth-child(3){background:linear-gradient(135deg,#f59e0b,#ef4444)}
.m210m-pill:nth-child(4){background:linear-gradient(135deg,#a78bfa,#60a5fa)}
.m210m-pill:hover{filter:brightness(1.08);transform:translateY(-3px);box-shadow:0 12px 28px rgba(0,0,0,.15)}

/* 帮助入口 */
.m210m-help{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:0 0 24px}
@media (max-width:980px){.m210m-help{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.m210m-help{grid-template-columns:1fr}}
.m210m-help .m210m-hitem{background:#fff;border:1px solid var(--m210m-border);border-radius:14px;
  padding:14px 16px;display:flex;align-items:center;gap:10px;box-shadow:var(--m210m-shadow);transition:all .25s}
.m210m-help .m210m-hicon{width:28px;height:28px;border-radius:8px;background:#eef5ff;color:#3b82f6;
  display:grid;place-items:center;font-weight:800}
.m210m-help .m210m-hitem:hover{border-color:#60a5fa;background:#f0f7ff;transform:translateY(-2px);
  box-shadow:0 12px 24px rgba(96,165,250,.22)}

/* 标签墙 */
.m210m-tagsbar{background:#fff;border:1px solid var(--m210m-border);border-radius:18px;
  box-shadow:var(--m210m-shadow);padding:12px;margin-bottom:24px}
.m210m-tagsbar h3{margin:0 0 8px 4px;font-size:15px;color:#485262}
.m210m-tagslist{display:flex;flex-wrap:wrap;gap:10px}
.m210m-tag2{border:1px solid var(--m210m-border);padding:6px 10px;border-radius:999px;
  background:#f7fbff;color:#3b4453;transition:all .2s}
.m210m-tag2:hover{border-color:#3b82f6;color:#3b82f6;background:#eef5ff}

/* 页脚 */
.m210m-footer{margin:28px 0 20px;background:#ffffff;border:1px solid var(--m210m-border);
  border-radius:18px;box-shadow:var(--m210m-shadow)}
.m210m-footgrid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:16px;padding:18px}
@media (max-width:980px){.m210m-footgrid{grid-template-columns:1fr 1fr}}
.m210m-footgrid h4{margin:0 0 10px;font-size:15px}
.m210m-footgrid a{display:block;color:#5a6375;padding:6px 0}
.m210m-copy{border-top:1px solid var(--m210m-border);padding:12px 18px;color:#6b7280;
  font-size:13px;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between}
.m210m-footgrid a{
  display:block;
  margin:6px 0;
  font-size:14px;
  color:#374151;
  transition:color .2s;
  text-decoration:none;
}

/* 提高优先级：加上 .m210m-footer 限定 */
.m210m-footer .m210m-footgrid a:hover{
  color:#2563eb !important;   /* 加 !important 防止全局覆盖 */
}
.m210m-footlogo{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:12px;
}
.m210m-footlogo .m210m-logo-badge{
  width:34px;
  height:34px;
  border-radius:8px;
  background:#2563eb;
  color:#fff;
  display:grid;
  place-items:center;
  font-weight:700;
  font-size:16px;
}
.m210m-footlogo .m210m-logo-text{
  font-size:18px;
  font-weight:600;
  color:#111827;
}
.m210m-footgrid p{
  margin:0;
  font-size:14px;
  line-height:1.6;
  color:#6b7280;
}


/* 最新文章 */
.m210m-articles{margin:24px 0}
.m210m-atitle{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.m210m-alink{color:#6b7280}
.m210m-alink:hover{color:#3b82f6}
.m210m-alist{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:900px){.m210m-alist{grid-template-columns:1fr}}
.m210m-aitem{display:grid;grid-template-columns:140px 1fr;gap:12px;padding:12px;
  border:1px solid var(--m210m-border);border-radius:14px;background:#fff;box-shadow:var(--m210m-shadow);transition:all .22s}
.m210m-aitem:hover{border-color:#60a5fa;background:#f8fbff;transform:translateY(-2px);
  box-shadow:0 12px 24px rgba(96,165,250,.22)}
.m210m-athumb{width:100%;height:100%;min-height:96px;border-radius:10px;overflow:hidden;
  display:grid;place-items:center;background:#f3f6fb;border:1px solid #e8edf4;font-weight:800;color:#7a8798}
.m210m-athumb img{width:100%;height:100%;object-fit:cover}
.m210m-acontent{display:flex;flex-direction:column;gap:6px;min-width:0}
.m210m-atitle-t{font-weight:800;line-height:1.4}
.m210m-aex{color:#687387;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.m210m-ameta{display:flex;gap:10px;color:#93a0b1;font-size:12px}
.m210m-abtn{margin-top:6px;align-self:flex-start;padding:6px 12px;border-radius:999px;
  background:#fff;color:#2b2f36;border:1px solid #cfd6df;cursor:pointer;transition:all .18s}
.m210m-aitem:hover .m210m-abtn{background:var(--m210m-green);color:#fff;border-color:transparent;
  box-shadow:0 8px 18px rgba(22,163,74,.25)}

/* 骨架屏 */
@keyframes m210m-skeleton{0%{background-position:-200px 0}100%{background-position:calc(200px + 100%) 0}}
.m210m-skel{position:relative;overflow:hidden;background:#f3f6fb;border:1px solid #e8edf4;border-radius:16px;height:160px}
.m210m-skel::after{content:"";position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.6),rgba(255,255,255,0));background-size:200px 100%;animation:m210m-skeleton 1.1s infinite}

/* 让 footer 的内容宽度与主体一致，不超过两边 */
.m210m-footer {
  background:#fff;
  border-top:1px solid #e5e7eb;
  padding:40px 0;                /* 外层不加左右内边距，下面单独加 */
  margin-top:40px;
}

/* 核心：限制 footer 的两个内部块的最大宽度并居中对齐 */
.m210m-footer .m210m-footgrid,
.m210m-footer .m210m-copy{
  max-width: 1200px;             /* ← 与 .m210m-wrap 的 max-width 保持一致 */
  margin: 0 auto;                /* 居中 */
  padding: 0 16px;               /* 与主体相同的左右留白 */
}

/* 其它原有样式（保留你的就行，以下仅示例） */
.m210m-footgrid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
  gap:30px;
  margin-bottom:30px;
}
.m210m-footgrid h4{ margin:0 0 12px; font-size:16px; font-weight:600; color:#111827; }
.m210m-footgrid p{ margin:0; font-size:14px; line-height:1.6; color:#6b7280; }
.m210m-footgrid a{ display:block; margin:6px 0; font-size:14px; color:#374151; text-decoration:none; transition:color .2s; }
.m210m-footer .m210m-footgrid a:hover{ color:#2563eb !important; }

.m210m-copy{
  display:flex; justify-content:space-between; align-items:center;
  font-size:14px; color:#6b7280; border-top:1px solid #e5e7eb; padding-top:20px;
}
@media(max-width:640px){ .m210m-copy{flex-direction:column; gap:8px; text-align:center;} }

/* === 首页：卡片等高 + 两行标题占位 + 下载按钮齐底 === */
#m210m-grid .m210m-app{
  display:flex;
  flex-direction:column;
  height:280px;         /* 和分类页一致，你刚定的 280 */
  box-sizing:border-box;
}

#m210m-grid .m210m-title{
  display:-webkit-box;
  -webkit-line-clamp:2; /* 最多两行 */
  -webkit-box-orient:vertical;
  overflow:hidden;
  line-height:20px;     /* 2 × 20 = 40 */
  min-height:40px;      /* 两行标题的占位，避免一行/两行高度不一致 */
}

#m210m-grid .m210m-meta{
  min-height:16px;      /* 元信息占位，防止缺失时挤压布局 */
}

#m210m-grid .m210m-btn-download{
  margin-top:auto;      /* 下载按钮永远贴底，整排对齐 */
}


/* ===== 用户悬浮卡片（按截图样式） ===== */
.m210m-user{ position:relative; z-index:60; }
.m210m-user-trigger{
  display:flex; align-items:center; gap:8px;
  background:transparent; border:0; cursor:pointer; padding:6px 8px;
}
.m210m-avatar{ width:32px; height:32px; border-radius:50%; object-fit:cover; }
.m210m-avatar-lg{ width:44px; height:44px; }
.m210m-username{ font-weight:600; color:#111827; }
.m210m-vip-badge{
  background:#ffc400; color:#fff; font-size:12px; line-height:18px;
  padding:0 6px; border-radius:4px; text-transform:lowercase;
}
.m210m-caret{ color:#9aa0a6; }
/* 不换行 + 小字号（用户菜单网格） */
.m210m-user-pop .m210m-grid li{min-width:0;}                /* 允许文本省略 */
.m210m-user-pop .m210m-grid a{
  display:flex;
  flex-direction:column;        /* 纵向堆叠：图标在上，文字在下 */
  align-items:center;
  justify-content:center;
  gap:6px;
  padding:10px 8px;
  text-align:center;
  font-size:12px;               /* 小一号 */
  border-radius:10px;
  white-space:nowrap;           /* 不换行 */
  min-height:72px;              /* 统一高度，手感更像按钮 */
}
.m210m-user-pop .m210m-grid a:hover{
  background:#f5f7fa;
}

/* 图标大小（可按需调 18~22px） */
.m210m-user-pop .m210m-grid a i{
  font-size:20px;
  width:auto;                   /* 不占横向固定宽度 */
  line-height:1;
}

/* 文本省略处理：一旦容器太窄，用省略号 */
.m210m-user-pop .m210m-grid a span{
  display:block;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

/* 小屏下稍微紧凑一点 */
@media (max-width:560px){
  .m210m-user-pop .m210m-grid a{ min-height:66px; font-size:12px; }
  .m210m-user-pop .m210m-grid a i{ font-size:18px; }
}


/* 弹出层容器 */
.m210m-user-pop{
  position:absolute; top:calc(100% + 10px); right:0;
  width:420px; max-width:92vw;
  background:#fff; border:1px solid #e5e7eb; border-radius:12px;
  box-shadow:0 24px 48px rgba(0,0,0,.12);
  opacity:0; visibility:hidden; pointer-events:none;
  transform:translateY(8px);
  transition:opacity .16s ease, transform .16s ease, visibility .16s ease;
  padding:14px;
}
/* hover / 聚焦显示；也支持 JS 加 is-open */
.m210m-user:hover .m210m-user-pop,
.m210m-user:focus-within .m210m-user-pop,
.m210m-user.is-open .m210m-user-pop{
  opacity:1; visibility:visible; pointer-events:auto; transform:translateY(0);
}
/* 防抖桥，避免触发区与卡片之间有缝隙时闪烁 */
.m210m-user::after{ content:""; position:absolute; right:0; top:100%; width:420px; height:12px; }

/* 头部信息行 */
.m210m-pop-head{ display:flex; align-items:center; gap:12px; }
.m210m-pop-name{ flex:1; min-width:0; }
.m210m-name-row{ display:flex; align-items:center; gap:8px; }
.m210m-name{ font-weight:700; color:#111827; }
.m210m-vip-chip{
  background:#fde68a; color:#92400e; font-size:12px; line-height:18px;
  padding:0 8px; border-radius:6px;
}
.m210m-id{ color:#6b7280; font-size:12px; margin-top:2px; }
.m210m-charge{
  display:inline-block; background:#22c55e; color:#fff; text-decoration:none;
  padding:6px 12px; border-radius:6px; font-size:12px;
}

/* 积分与次数 */
.m210m-points{ margin:8px 0 6px; color:#374151; }
.m210m-kpis{
  margin:6px 0 10px; padding:10px 0; list-style:none; display:grid;
  grid-template-columns:repeat(4,1fr); gap:10px; border-top:1px dashed #eef2f7; border-bottom:1px dashed #eef2f7;
}
.m210m-kpis li{ color:#6b7280; font-size:12px; text-align:left; white-space:nowrap; }
.m210m-kpis strong{ color:#111827; }

/* 分隔线 */
.m210m-divider{ border:0; border-top:1px solid #f3f4f6; margin:12px -14px; }

/* 功能网格 */
.m210m-grid{
  list-style:none; margin:0; padding:0;
  display:grid; grid-template-columns:repeat(4,1fr); gap:10px;
}
.m210m-grid a{
  display:flex; align-items:center; gap:8px;
  padding:8px 10px; border-radius:8px; color:#111827; text-decoration:none;
}
.m210m-grid a:hover{ background:#f5f7fa; }

/* 小屏适配 */
@media (max-width:560px){
  .m210m-user-pop{ width:360px; }
  .m210m-grid{ grid-template-columns:repeat(3,1fr); }
  .m210m-kpis{ grid-template-columns:repeat(2,1fr); }
}
