/* MU-GM灵智技术开发 · public/static/mobile/css/m-pages.css —— 手机站内页通用样式(v1.183)
   覆盖:资讯列表/详情、产品列表/详情、资料库入口、下载、开服、定价、搜索、个人中心。
   复用 tokens.css 暗色变量与 m-base.css 外壳;APP 特征:无 hover 依赖、44px 触控。
   v1.187:内页标题条 .m-page__hd 与副标题 .m-page__sub 改居中。
   v1.188:内页标题 h1 加两侧渐变装饰线+字距,与首页区块标题同款。
   v1.202:分类横滑 chip 行 .m-chips 改居中——justify-content: safe center,放不下自动回退起始对齐保横滑。
   v1.521:新增分享弹层 .pub-share-sheet(仅微信/QQ 双渠道,手机底部动作面板;PC 模态版在 pages.css)。 */

/* ===== 页面标题条 ===== */
.m-page { padding: 10px 14px 24px; }
.m-page__hd {
    display: flex; align-items: center; justify-content: center;
    margin: 8px 0 14px;
}
.m-page__hd h1 {
    display: flex; align-items: center; gap: 10px;
    margin: 0; font-size: 20px; font-weight: 700; text-align: center;
    letter-spacing: 1px;
}
.m-page__hd h1::before, .m-page__hd h1::after {
    content: ""; width: 30px; height: 1px; flex: none;
    background: linear-gradient(90deg, transparent, var(--line-strong));
}
.m-page__hd h1::after { background: linear-gradient(90deg, var(--line-strong), transparent); }
.m-page__sub { margin: -8px 0 14px; font-size: 13px; color: var(--text-muted); text-align: center; }

/* ===== 分类横滑 chip ===== */
.m-chips {
    display: flex; justify-content: safe center; gap: 8px; margin-bottom: 14px;
    overflow-x: auto; scrollbar-width: none;
    padding-bottom: 2px;
}
.m-chips::-webkit-scrollbar { display: none; }
.m-chips__item {
    flex: none; display: inline-flex; align-items: center; height: 34px; padding: 0 16px;
    border-radius: 17px; border: 1px solid var(--line);
    background: var(--bg-card); color: var(--text-secondary); font-size: 13px;
}
.m-chips__item.is-on {
    background: var(--primary); border-color: var(--primary); color: #fff; font-weight: 600;
}

/* ===== 空态 ===== */
.m-empty {
    display: flex; flex-direction: column; align-items: center; gap: 10px;
    padding: 56px 20px; text-align: center; color: var(--text-muted);
}
.m-empty svg { width: 40px; height: 40px; color: var(--primary); }
.m-empty p { margin: 0; font-size: 13px; }

/* ===== 分页(v1.362 数字页码链:mi-chev 箭头 + 首末页恒显 + 省略号,平面无立体) ===== */
.m-pager {
    display: flex; align-items: center; justify-content: center; flex-wrap: wrap;
    gap: 8px; margin-top: 18px;
}
.m-pager__nav {
    width: 34px; height: 34px; display: grid; place-items: center;
    border-radius: 10px; border: 1px solid var(--line);
    background: var(--bg-card); color: var(--text-muted);
}
.m-pager__nav svg { width: 15px; height: 15px; }
.m-pager__nav svg.is-flip { transform: rotate(180deg); }
.m-pager__item {
    min-width: 34px; height: 34px; padding: 0 4px; display: grid; place-items: center;
    border-radius: 10px; border: 1px solid var(--line);
    background: var(--bg-card); font-size: 14px; color: var(--text-main);
}
.m-pager__item.is-cur {
    background: var(--primary); border-color: var(--primary);
    color: #fff; font-weight: 600;
}
.m-pager__item:active, .m-pager__nav:active { opacity: .75; }
.m-pager__dots { min-width: 18px; text-align: center; font-size: 13px; color: var(--text-muted); }

/* ===== 通用小节 ===== */
.m-sec { margin-top: 18px; }
.m-sec > h3 {
    margin: 0 0 10px; font-size: 16px; font-weight: 700;
    display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
}
.m-sec > h3 small {
    font-size: 11px; font-weight: 400; color: var(--text-muted);
    padding: 1px 8px; border: 1px solid var(--line); border-radius: 9px;
}

/* ===== 文字行链接列表 ===== */
.m-links { display: flex; flex-direction: column; gap: 8px; }
.m-links__item {
    display: flex; align-items: center; justify-content: space-between; gap: 10px;
    min-height: 46px; padding: 8px 12px;
    background: var(--bg-card); border: 1px solid var(--line); border-radius: var(--radius-md);
    font-size: 14px;
}
.m-links__item > span {
    min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.m-links__item svg { width: 16px; height: 16px; color: var(--text-muted); }
.m-links__item small { flex: none; font-size: 11px; color: var(--text-muted); }
.m-links__item.is-static { color: var(--text-secondary); }

/* ===== 详情页头部 / 富文本 ===== */
.m-det__hd { margin: 8px 0 12px; }
.m-det__cat {
    display: inline-block; margin-bottom: 8px; padding: 2px 10px;
    font-size: 11px; color: var(--primary);
    border: 1px solid var(--primary); border-radius: 10px;
}
.m-det__hd h1 { margin: 0 0 8px; font-size: 20px; line-height: 1.5; }
.m-det__meta {
    display: flex; flex-wrap: wrap; gap: 12px; font-size: 12px; color: var(--text-muted);
}
.m-det__meta span { display: flex; align-items: center; gap: 4px; }
.m-det__meta svg { width: 13px; height: 13px; }
.m-det__cover {
    width: 100%; border-radius: var(--radius-md); margin: 0 0 12px;
    background: var(--bg-card-light);
}
.m-det__cover--plain { background: none; }
.m-det__sum {
    margin: 0 0 12px; padding: 12px 14px;
    background: var(--bg-card); border: 1px solid var(--line); border-radius: var(--radius-md);
    font-size: 13px; color: var(--text-secondary); line-height: 1.8;
}
.m-det__tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0; }
.m-det__tag {
    padding: 3px 12px; font-size: 11px; color: var(--item-luck);
    border: 1px solid var(--item-luck); border-radius: 12px;
    transition: color .15s ease, border-color .15s ease, background-color .15s ease;
}
.m-det__tag:active, .m-det__tag:hover {
    color: var(--primary); border-color: var(--primary);
    background: rgba(79,124,255,.10);
}
.m-det__pn { display: flex; flex-direction: column; gap: 8px; margin-top: 18px; }
.m-det__pn-btn {
    display: flex; flex-direction: column; gap: 2px; padding: 10px 12px;
    background: var(--bg-card); border: 1px solid var(--line); border-radius: var(--radius-md);
    font-size: 13px; color: var(--text-secondary);
}
.m-det__pn-btn small { font-size: 11px; color: var(--text-muted); }
.m-det__pn-btn b {
    font-weight: 400; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}

/* ===== 相关文章:两列图文卡(v1.365) ===== */
.m-rel { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.m-rel__card {
    display: flex; flex-direction: column; gap: 8px; padding: 8px;
    background: var(--bg-card); border: 1px solid var(--line); border-radius: var(--radius-md);
    box-shadow: var(--m-shadow); transition: transform .15s ease;
}
.m-rel__card:active { transform: scale(.97); }
.m-rel__media { display: block; aspect-ratio: 16 / 10; border-radius: 10px; overflow: hidden; background: var(--bg-card-light); }
.m-rel__media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.m-rel__name {
    font-size: 12px; font-weight: 600; color: var(--text-main); line-height: 1.5; padding: 0 2px 2px;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 36px;
}

/* ===== 富文本(文章正文/产品介绍) ===== */
.m-rich { font-size: 15px; line-height: 1.9; color: var(--text-main); word-break: break-word; }
.m-rich h1, .m-rich h2, .m-rich h3, .m-rich h4 { color: var(--text-main); margin: 22px 0 10px; line-height: 1.5; font-weight: 700; }
.m-rich h1 { font-size: 20px; }
.m-rich h2 { position: relative; font-size: 18px; padding: 2px 0 6px 10px; border-bottom: 1px solid var(--line); }
.m-rich h2::before { content: ''; position: absolute; left: 0; top: 4px; bottom: 7px; width: 3px; border-radius: 2px; background: linear-gradient(180deg, var(--primary), var(--accent)); }
.m-rich h3 { position: relative; font-size: 16px; padding-left: 10px; }
.m-rich h3::before { content: ''; position: absolute; left: 0; top: 4px; width: 3px; height: 14px; border-radius: 2px; background: var(--primary); }
.m-rich h4 { font-size: 15px; color: var(--primary); }
.m-rich p { margin: 0 0 12px; }
.m-rich img { max-width: 100%; height: auto; border-radius: var(--radius-sm); margin: 8px 0; }
.m-rich a { color: var(--primary); }
.m-rich ul, .m-rich ol { margin: 0 0 12px; padding-left: 22px; }
.m-rich li { margin-bottom: 6px; }
.m-rich pre {
    overflow-x: auto; padding: 12px; margin: 0 0 12px;
    background: var(--bg-card); border: 1px solid var(--line); border-radius: var(--radius-sm);
    font-size: 13px; line-height: 1.7;
}
.m-rich code { font-size: 13px; }
.m-rich blockquote {
    margin: 0 0 12px; padding: 8px 14px;
    border-left: 3px solid var(--primary); background: var(--bg-card);
    color: var(--text-secondary); border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
}
.m-rich table { display: block; overflow-x: auto; max-width: 100%; border-collapse: collapse; margin-bottom: 12px; }
.m-rich th, .m-rich td { padding: 8px 10px; border: 1px solid var(--line); font-size: 13px; }

/* ===== 阅读限制锁 / 引导电脑版提示条 ===== */
.m-lock {
    display: flex; flex-direction: column; align-items: center; gap: 6px;
    margin: 20px 0; padding: 28px 20px; text-align: center;
    background: var(--bg-card); border: 1px dashed var(--line); border-radius: var(--radius-md);
}
.m-lock svg { width: 36px; height: 36px; color: var(--primary); margin-bottom: 6px; }
.m-lock h4 { margin: 0; font-size: 16px; }
.m-lock p { margin: 0 0 14px; font-size: 12px; color: var(--text-muted); line-height: 1.8; }

.m-pc-tip {
    margin-top: 18px; padding: 14px; text-align: center;
    background: var(--bg-card); border: 1px solid var(--line); border-radius: var(--radius-md);
    font-size: 13px; color: var(--text-muted); line-height: 1.8;
}
.m-pc-tip a { color: var(--primary); display: inline-flex; min-height: 44px; align-items: center; }

/* ===== 产品列表(两列网格,与首页同款) ===== */
.m-pro-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.m-pro-card {
    display: flex; flex-direction: column; overflow: hidden;
    background: var(--bg-card); border: 1px solid var(--line); border-radius: var(--radius-md);
}
.m-pro-card img, .m-pro-card__empty { width: 100%; height: 150px; object-fit: cover; background: var(--bg-card-light); }
.m-pro-card__bd { padding: 12px 12px 14px; flex: 1; display: flex; flex-direction: column; }
.m-pro-card__bd h4 {
    margin: 0 0 6px; font-size: 15px; line-height: 1.4;
    display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden;
}
.m-pro-card__bd p {
    margin: 0 0 12px; font-size: 12px; color: var(--text-muted); min-height: 36px;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.m-pro-card__ft { display: flex; align-items: center; justify-content: space-between; gap: 6px; margin-top: auto; }
.m-pro-card__ft em { font-style: normal; font-weight: 700; color: var(--accent); font-size: 15px; }
.m-pro-card__ft em small { font-size: 10px; font-weight: 400; color: var(--text-muted); }
.m-pro-card__ft .m-chip { height: 24px; padding: 0 10px; font-size: 11px; }
.m-pro-card__cats{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 8px}
.m-pro-card__cats span{display:inline-flex;align-items:center;padding:2px 10px;border:1px solid rgba(79,124,255,.35);border-radius:999px;background:rgba(79,124,255,.10);color:var(--primary);font-size:.7rem}

/* ===== 资讯图文卡(列表/搜索共用) ===== */
.m-art-list { display: flex; flex-direction: column; gap: 10px; }
.m-art-card {
    display: flex; gap: 12px; padding: 10px;
    background: var(--bg-card); border: 1px solid var(--line); border-radius: var(--radius-md);
}
.m-art-card img, .m-art-card__empty {
    width: 104px; height: 72px; flex: none; border-radius: 8px; object-fit: cover;
    background: var(--bg-card-light);
}
.m-art-card__empty { display: flex; align-items: center; justify-content: center; color: var(--text-muted); }
.m-art-card__bd { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.m-art-card__bd h4 {
    margin: 2px 0 auto; font-size: 14px; line-height: 1.45;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.m-art-card__meta { display: flex; gap: 12px; font-size: 11px; color: var(--text-muted); }
.m-art-card__meta span { display: flex; align-items: center; gap: 3px; }
.m-art-card__meta svg { width: 13px; height: 13px; }

/* ===== 产品详情 ===== */
.m-pd-price {
    display: flex; align-items: center; gap: 6px;
    margin-bottom: 12px;
}
.m-pd-price .m-chip-btn { margin-left: auto; }
.m-pd-price em { font-style: normal; font-size: 24px; font-weight: 700; color: var(--accent); }
.m-pd-price small { font-size: 12px; color: var(--text-muted); }

.m-checks { list-style: none; margin: 0 0 12px; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.m-checks li { position: relative; padding-left: 24px; font-size: 13px; color: var(--text-secondary); line-height: 1.7; }
.m-checks li::before {
    content: ''; position: absolute; left: 4px; top: 7px; width: 5px; height: 9px;
    border: solid var(--success); border-width: 0 2px 2px 0; transform: rotate(45deg);
}

.m-kv { display: flex; flex-direction: column; background: var(--bg-card); border: 1px solid var(--line); border-radius: var(--radius-md); }
.m-kv__row { display: flex; justify-content: space-between; gap: 16px; padding: 11px 14px; font-size: 13px; }
.m-kv__row + .m-kv__row { border-top: 1px solid var(--line); }
.m-kv__row span { color: var(--text-muted); flex: none; }
.m-kv__row b { font-weight: 400; text-align: right; word-break: break-all; }

.m-cards { display: flex; flex-direction: column; gap: 10px; }
.m-cards__item {
    padding: 12px 14px; background: var(--bg-card);
    border: 1px solid var(--line); border-radius: var(--radius-md);
}
.m-cards__item h4 { margin: 0 0 4px; font-size: 14px; }
.m-cards__item p { margin: 0; font-size: 12px; color: var(--text-muted); line-height: 1.7; }

.m-steps { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.m-steps li { display: flex; gap: 12px; }
.m-steps i {
    flex: none; width: 26px; height: 26px; border-radius: 13px; margin-top: 2px;
    display: flex; align-items: center; justify-content: center;
    background: var(--primary); color: #fff; font-size: 13px; font-style: normal;
}
.m-steps h4 { margin: 0 0 2px; font-size: 14px; }
.m-steps p { margin: 0; font-size: 12px; color: var(--text-muted); line-height: 1.7; }

/* ===== 资料库入口 ===== */
.m-data-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.m-data-card {
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    gap: 6px; min-height: 104px;
    background: var(--bg-card); border: 1px solid var(--line); border-radius: var(--radius-md);
}
.m-data-card svg { width: 30px; height: 30px; color: var(--primary); }
.m-data-card h4 { margin: 0; font-size: 15px; }
.m-data-card p { margin: 0; font-size: 11px; color: var(--text-muted); }

/* ===== 下载中心 ===== */
.m-dl-list { display: flex; flex-direction: column; gap: 10px; }
.m-dl-card {
    padding: 12px 14px;
    background: var(--bg-card); border: 1px solid var(--line); border-radius: var(--radius-md);
}
.m-dl-card__bd h4 { margin: 0 0 6px; font-size: 15px; }
.m-dl-card__meta { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 4px; }
.m-dl-card__meta span {
    padding: 1px 8px; font-size: 11px; color: var(--text-muted);
    border: 1px solid var(--line); border-radius: 9px;
}
.m-dl-card__bd p { margin: 4px 0 10px; font-size: 12px; color: var(--text-muted); line-height: 1.7; }
.m-dl-card__btn { min-height: 38px; padding: 0 24px; font-size: 14px; }
.m-dl-card__btn:disabled { opacity: .6; }
.m-dl-card__res a {
    display: flex; align-items: center; min-height: 44px; gap: 6px;
    margin-top: 8px; padding: 8px 12px;
    background: var(--bg-card-light); border: 1px solid var(--line); border-radius: var(--radius-sm);
    font-size: 13px; color: var(--primary);
}
.m-dl-card__res code {
    display: inline-block; margin-top: 8px; padding: 6px 12px;
    background: var(--bg-card-light); border: 1px dashed var(--line); border-radius: var(--radius-sm);
    color: var(--accent); font-size: 14px;
}
.m-dl-card__res .is-err { display: block; margin-top: 8px; font-size: 12px; color: var(--text-muted); }

/* ===== 开服信息 ===== */
.m-pub-legend { display: flex; flex-wrap: wrap; gap: 8px 16px; margin-bottom: 12px; }
.m-pub-legend__item {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 4px 12px 4px 9px; border-radius: 999px;
    border: 1px solid var(--zone-line, rgba(168, 173, 184, .5));
    background: var(--zone-bg, rgba(168, 173, 184, .12));
    font-size: 12px; color: var(--text-secondary);
}
.m-pub-legend__item::before {
    content: ""; width: 10px; height: 10px; border-radius: 3px; flex: none;
    background: var(--zone-color, #a8adb8);
}
.m-pub-legend__item--gold { --zone-color: #d98600; --zone-line: rgba(217, 134, 0, .55); --zone-bg: rgba(217, 134, 0, .14); }
.m-pub-legend__item--yellow { --zone-color: #f0c93f; --zone-line: rgba(240, 201, 63, .55); --zone-bg: rgba(240, 201, 63, .14); }
.m-pub-legend__item--white { --zone-color: #a8adb8; --zone-line: rgba(168, 173, 184, .5); --zone-bg: rgba(168, 173, 184, .12); }
.m-pub-legend__item--cyan { --zone-color: #1fa9bd; --zone-line: rgba(31, 169, 189, .55); --zone-bg: rgba(31, 169, 189, .14); }
.m-pub-wrap {
    border: 1px solid var(--line); border-radius: var(--radius-md);
    background: var(--bg-card); overflow: hidden;
}
.m-pub-list { display: flex; flex-direction: column; }
.m-pub-card { padding: 11px 14px; }
.m-pub-card + .m-pub-card { border-top: 1px solid var(--line); }
.m-pub-card--gold { background: rgba(217, 134, 0, .3); }
.m-pub-card--yellow { background: rgba(240, 201, 63, .2); }
.m-pub-card--white { background: rgba(150, 157, 172, .16); }
.m-pub-card--cyan { background: rgba(31, 169, 189, .22); }
.m-pub-card.is-self { box-shadow: inset 0 0 0 1px var(--primary); }
.m-pub-card__hd { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; }
.m-pub-card__name {
    flex: 1; min-width: 0; font-size: 15px; font-weight: 600; color: var(--primary);
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.m-pub-card__badge {
    flex: none; padding: 1px 8px; font-size: 10px;
    color: #fff; background: var(--primary); border-radius: 9px;
}
.m-pub-card__badge.is-soon { background: #e5484d; }
.m-pub-card__meta { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 4px; }
.m-pub-card__meta span {
    padding: 1px 8px; font-size: 11px; color: var(--text-secondary);
    border: 1px solid var(--line); border-radius: 9px;
}
.m-pub-card__meta .m-pub-card__time {
    padding: 0; border: 0; border-radius: 0;
    font-size: 12px; font-weight: 600; color: var(--accent);
    font-variant-numeric: tabular-nums;
}
.m-pub-card p {
    margin: 4px 0 10px; font-size: 12px; color: var(--text-muted);
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
/* v1.335 开服列表页申请入口:标题侧边链接与底部申请区块下线,改右下角悬浮胶囊按钮(避让客服悬浮钮垂直堆叠) */
.m-pub-fab {
    position: fixed; right: 14px; bottom: calc(56px + env(safe-area-inset-bottom) + 76px); z-index: 94;
    display: inline-flex; align-items: center; gap: 7px;
    height: 44px; padding: 0 20px 0 16px; border-radius: 22px;
    background: var(--primary); color: #fff; font-size: 13px; font-weight: 600;
    transition: transform .15s ease;
}
.m-pub-fab:active { transform: scale(.92); }
.m-pub-fab__plus { position: relative; width: 14px; height: 14px; flex: none; }
.m-pub-fab__plus::before, .m-pub-fab__plus::after {
    content: ''; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);
    background: #fff; border-radius: 2px;
}
.m-pub-fab__plus::before { width: 14px; height: 2.5px; }
.m-pub-fab__plus::after { width: 2.5px; height: 14px; }
.m-pub-card__btn {
    display: inline-flex; align-items: center; justify-content: center;
    height: 34px; padding: 0 20px; border-radius: 8px;
    background: var(--primary); color: #fff; font-size: 13px; font-weight: 600;
}

/* ===== 定价 ===== */
.m-price-list { display: flex; flex-direction: column; gap: 10px; }
.m-price-card {
    padding: 12px 14px;
    background: var(--bg-card); border: 1px solid var(--line); border-radius: var(--radius-md);
}
.m-price-card__hd { display: flex; align-items: center; gap: 8px; }
.m-price-card__name { font-size: 15px; font-weight: 600; }
.m-price-card__badge {
    font-style: normal; padding: 1px 8px; font-size: 10px;
    color: var(--accent); border: 1px solid var(--accent); border-radius: 9px;
}
.m-price-card p { margin: 4px 0 0; font-size: 12px; color: var(--text-muted); line-height: 1.7; }
.m-price-card__price { margin-top: 8px; font-size: 18px; font-weight: 700; color: var(--accent); }
.m-price-opts { margin-top: 8px; border-top: 1px dashed var(--line); padding-top: 8px; }
.m-price-opts__row { display: flex; justify-content: space-between; gap: 12px; padding: 4px 0; font-size: 13px; }
.m-price-opts__row span { color: var(--text-secondary); }
.m-price-opts__row b { font-weight: 400; color: var(--accent); }

/* ===== 搜索表单 ===== */
.m-search {
    display: flex; align-items: center; gap: 8px;
    padding: 6px 6px 6px 14px; margin-bottom: 6px;
    background: var(--bg-card); border: 1px solid var(--line); border-radius: 12px;
}
.m-search svg { width: 18px; height: 18px; color: var(--text-muted); flex: none; }
.m-search input {
    flex: 1; min-width: 0; min-height: 38px; border: 0; outline: none;
    background: transparent; color: var(--text-main); font-size: 14px;
}
.m-search button {
    flex: none; height: 38px; padding: 0 18px; border: 0; border-radius: 8px;
    background: var(--primary); color: #fff; font-size: 14px;
}

/* ===== 个人中心 ===== */
.m-me {
    display: flex; gap: 14px; padding: 16px;
    background: var(--bg-card); border: 1px solid var(--line); border-radius: var(--radius-md);
}
.m-me__avatar {
    width: 64px; height: 64px; flex: none; border-radius: 32px;
    object-fit: cover; background: var(--bg-card-light);
}
.m-me__bd { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 6px; }
.m-me__bd h4 { margin: 0; font-size: 17px; }
.m-me__level { display: flex; align-items: center; gap: 10px; }
.m-me__level-name { flex: none; font-size: 12px; color: var(--primary); }
.m-me__bar {
    flex: 1; height: 6px; border-radius: 3px; overflow: hidden;
    background: var(--bg-card-light);
}
.m-me__bar i { display: block; height: 100%; background: var(--primary); }
.m-me__stats { display: flex; gap: 14px; font-size: 11px; color: var(--text-muted); }
.m-me__stats b { font-size: 13px; color: var(--text-main); font-weight: 600; }
.m-btn--ghost {
    background: transparent; border: 1px solid var(--line); color: var(--text-secondary);
    font-weight: 400;
}

/* ===== 我的评论 ===== */
.m-cmt-list { display: flex; flex-direction: column; gap: 10px; }
.m-cmt {
    padding: 12px 14px;
    background: var(--bg-card); border: 1px solid var(--line); border-radius: var(--radius-md);
}
.m-cmt__hd { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 6px; }
.m-cmt__hd a, .m-cmt__hd span {
    min-width: 0; font-size: 13px; color: var(--primary);
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.m-cmt__hd span { color: var(--text-muted); }
.m-cmt__hd small { flex: none; font-size: 11px; color: var(--text-muted); }
.m-cmt p { margin: 0; font-size: 13px; color: var(--text-secondary); line-height: 1.7; }
.m-cmt em {
    display: inline-block; margin-top: 6px; padding: 1px 8px; font-size: 10px; font-style: normal;
    color: #f0c93f; border: 1px solid #f0c93f; border-radius: 9px;
}

/* ===== v1.184 通用表单(开服申请/解锁/评论) ===== */
.m-form { display: flex; flex-direction: column; gap: 10px; }
.m-form label { display: flex; flex-direction: column; gap: 6px; font-size: 13px; color: var(--text-secondary); }
.m-form input, .m-form textarea, .m-form select {
    width: 100%; min-height: 44px; padding: 10px 12px;
    border: 1px solid var(--line); border-radius: var(--radius-sm);
    background: var(--bg-card-light); color: var(--text-main); font-size: 14px;
    box-sizing: border-box;
}
.m-form textarea { min-height: 92px; resize: vertical; }
.m-form__msg { margin: 0; font-size: 12px; min-height: 16px; }
.m-form__msg.is-ok { color: #3ecf8e; }
.m-form__msg.is-err { color: #e5484d; }
.m-form__tip { margin: 0; font-size: 11px; color: var(--text-muted); }
.m-form__limit { margin: 0; font-size: 12px; font-weight: 600; color: var(--accent); text-align: center; }
.m-lock__form { width: 100%; max-width: 420px; align-items: stretch; }
.m-lock__form input, .m-lock__form textarea { background: var(--bg-card-light); }

/* ===== v1.184 资料库深层列表 / 详情 ===== */
.m-data-list { display: flex; flex-direction: column; gap: 8px; }
.m-data-row {
    display: flex; align-items: center; gap: 10px;
    padding: 10px 12px;
    background: var(--bg-card); border: 1px solid var(--line); border-radius: var(--radius-md);
}
.m-data-row img {
    width: 44px; height: 44px; flex: none; object-fit: cover;
    border-radius: 6px; background: var(--bg-card-light);
}
.m-data-row__bd { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.m-data-row__bd h4 {
    margin: 0; font-size: 14px; color: var(--text-main);
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.m-data-row__bd h4.is-socket { color: #b57bff; }
.m-data-row__bd h4.is-excel { color: #3ecf8e; }
.m-data-row__bd p {
    margin: 0; font-size: 11px; color: var(--text-muted);
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.m-data-row > svg { width: 16px; height: 16px; flex: none; color: var(--text-muted); }
.m-data-row__badge {
    flex: none; padding: 1px 8px; font-size: 10px; color: var(--accent);
    border: 1px solid var(--accent); border-radius: 9px;
}
.m-data-row__badge--excel {
    color: var(--neon-green); border-color: var(--neon-green);
}
.m-data-head { display: flex; align-items: center; gap: 12px; margin: 8px 0 14px; }
.m-data-head img {
    width: 72px; height: 72px; flex: none; object-fit: cover;
    border-radius: 10px; background: var(--bg-card-light);
}
.m-data-head__bd { min-width: 0; }
.m-data-head h1 { margin: 0 0 8px; font-size: 19px; line-height: 1.4; word-break: break-word; }
.m-data-head h1.is-socket { color: #b57bff; }
.m-data-head h1.is-excel { color: #3ecf8e; }
.m-data-head__tags { display: flex; flex-wrap: wrap; gap: 6px; }
.m-data-head__tags .m-det__cat { margin-bottom: 0; }
.m-data-head__tags .m-data-row__badge { padding: 2px 10px; font-size: 11px; border-radius: 10px; }
/* ===== v1.359 物品详情(对齐 PC 小册子:强化/生命宝石联动 + 四类品质行分组着色;粉色菱形伪图形随 m-extra-lines 下线) ===== */
.m-item { margin-top: 14px; }
.m-item__meta { margin: 0 0 10px; font-size: 12px; color: var(--text-muted); line-height: 1.9; }
.m-item__tag { display: inline-block; padding: 1px 8px; margin-left: 6px; border: 1px solid rgba(79,124,255,.55); border-radius: 999px; color: var(--primary); font-size: 10px; vertical-align: 1px; }
.m-item__card { background: var(--bg-card); border: 1px solid var(--line); border-radius: var(--radius-md); overflow: hidden; }
.m-item__row { display: flex; gap: 14px; padding: 12px 14px; font-size: 13px; }
.m-item__row + .m-item__row { border-top: 1px solid var(--line); }
.m-item__label { flex: none; width: 62px; color: var(--text-muted); }
.m-item__bd { flex: 1; min-width: 0; line-height: 1.9; word-break: break-all; }
.m-item__switch { display: flex; flex-wrap: wrap; gap: 6px; }
.m-item__btn { border: 1px solid var(--line); background: transparent; border-radius: 6px; color: var(--text-secondary); font-size: 11px; padding: 3px 8px; cursor: pointer; }
.m-item__btn.is-active { border-color: var(--primary); color: var(--primary); background: rgba(79,124,255,.12); }
.m-item__hint { margin: 8px 0 0; font-size: 11px; color: var(--text-muted); }
.m-item__line { margin: 0; }
.m-item__key { color: var(--text-muted); margin-right: 8px; }
.m-item__stat { font-weight: 600; }
.m-item__nameval { font-weight: 600; }
.m-item__nameval.is-socket { color: #b57bff; }
.m-item__nameval.is-excel { color: #3ecf8e; }
.m-item__img { max-width: 120px; max-height: 120px; width: auto; height: auto; border-radius: 8px; }
.m-item__link { color: var(--primary); }
.m-item__relink { margin-right: 10px; color: var(--primary); }
.m-item__qual--luck { color: var(--item-luck); }
.m-item__qual--excel { color: var(--item-excellent); }
.m-item__qual--p380 { color: var(--item-p380); }
.m-item__qual--socket { color: var(--item-socket); }
/* v1.453 手填基础属性行颜色(同 PC data.css 口径,复用站内品质色 tokens;white=默认文字色不加类) */
.m-item__line--c-blue { color: var(--item-luck); }
.m-item__line--c-purple { color: var(--item-p380); }
.m-item__line--c-green { color: var(--item-excellent); }
.m-item__line--c-gold { color: var(--item-gold); }
.m-item__line--c-red { color: var(--accent); }
/* ===== v1.184 定价在线选配(复用 PC pricing.js 的 .pc-pick/.pc-unit 数据协议) ===== */
.m-page.has-calbar { padding-bottom: 130px; }
.m-cal-selected {
    margin: 14px 0 10px; padding: 12px 14px;
    background: var(--bg-card); border: 1px solid var(--line); border-radius: var(--radius-md);
    font-size: 13px;
}
.m-cal-row {
    display: flex; align-items: center; gap: 10px;
    padding: 11px 12px;
    background: var(--bg-card); border: 1px solid var(--line); border-radius: var(--radius-md);
}
.m-cal-row + .m-cal-row, .m-cal-spec + .m-cal-spec, .m-cal-spec + .m-cal-row, .m-cal-row + .m-cal-spec { margin-top: 8px; }
.m-cal-row.is-on { border-color: var(--primary); }
.m-cal-row__lab { display: flex; align-items: center; gap: 10px; flex: 1; min-width: 0; cursor: pointer; }
.m-cal-spec__hd .m-price-card__badge { margin-left: 8px; }
.m-cal-row input[type="checkbox"], .m-cal-row input[type="radio"] {
    -webkit-appearance: none; appearance: none;
    width: 18px; height: 18px; margin: 0; flex: none;
    background: var(--bg-card-light);
    border: 1.5px solid rgba(255, 255, 255, .28);
    border-radius: 4px;
    cursor: pointer; position: relative;
    transition: background .12s ease, border-color .12s ease;
}
.m-cal-row input:hover { border-color: var(--primary); }
.m-cal-row input:checked { background: var(--primary); border-color: var(--primary); }
.m-cal-row input:checked::after {
    content: "";
    position: absolute;
    left: 5px; top: 2px;
    width: 4.5px; height: 8.5px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}
.m-cal-name { flex: 1; min-width: 0; font-size: 14px; color: var(--text-main); }
.m-cal-name em { margin-left: 6px; }
.m-cal-name small { display: block; margin-top: 2px; font-size: 11px; color: var(--text-muted); line-height: 1.5; }
.m-cal-price { flex: none; font-size: 14px; color: var(--neon-green); font-weight: 600; }
.m-cal-price select {
    margin-left: 6px; min-height: 32px; padding: 2px 6px;
    border: 1px solid var(--line); border-radius: 6px;
    background: var(--bg-card-light); color: var(--text-main); font-size: 12px;
}
.m-cal-spec {
    padding: 12px;
    background: var(--bg-card); border: 1px solid var(--line); border-radius: var(--radius-md);
}
.m-cal-spec__hd {
    display: flex; align-items: center; justify-content: space-between; gap: 10px;
    margin-bottom: 8px; font-size: 14px; font-weight: 600;
}
.m-cal-spec__hd small { flex: none; font-size: 10px; font-weight: 400; color: var(--text-muted); border: 1px solid var(--line); border-radius: 9px; padding: 1px 8px; }
.m-cal-spec .m-cal-row { background: var(--bg-card-light); }
.m-cal-bar {
    position: fixed; left: 0; right: 0; z-index: 90;
    bottom: calc(60px + env(safe-area-inset-bottom));
    max-width: 750px; margin: 0 auto;
    display: flex; align-items: center; justify-content: space-between; gap: 10px;
    padding: 10px 14px;
    background: rgba(15, 23, 40, .96);
    backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
    border-top: 1px solid var(--line);
}
.m-cal-total { font-size: 22px; color: var(--neon-green); }
.m-cal-total i { font-style: normal; font-size: 14px; margin-right: 2px; }
.pc-sel-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 4px 0; }
.pc-sel-name {
    min-width: 0; color: var(--text-secondary);
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.pc-sel-meta { display: block; font-size: 11px; color: var(--text-muted); }
.pc-sel-price { flex: none; color: var(--neon-green); font-weight: 600; }
.pc-empty { color: var(--text-muted); }

/* ===== v1.184 购买说明 FAQ(原生 details 手风琴) ===== */
.m-faq-alert {
    margin-bottom: 14px; padding: 12px 14px;
    background: var(--bg-card); border: 1px solid #f0c93f; border-radius: var(--radius-md);
}
.m-faq-alert h4 { margin: 0 0 6px; font-size: 14px; color: #f0c93f; }
.m-faq-alert .m-rich { font-size: 13px; }
.m-faq-total { margin: 0 0 6px; font-size: 12px; color: var(--text-muted); }
.m-faq__item {
    background: var(--bg-card); border: 1px solid var(--line); border-radius: var(--radius-md);
}
.m-faq__item + .m-faq__item { margin-top: 8px; }
.m-faq__item summary {
    display: flex; align-items: center; justify-content: space-between; gap: 10px;
    min-height: 48px; padding: 10px 14px;
    font-size: 14px; font-weight: 600; color: var(--text-main);
    list-style: none; cursor: pointer;
}
.m-faq__item summary::-webkit-details-marker { display: none; }
.m-faq__item summary > span { min-width: 0; }
.m-faq__item summary svg { width: 16px; height: 16px; flex: none; color: var(--text-muted); transition: transform .2s; }
.m-faq__item[open] summary svg { transform: rotate(90deg); }
.m-faq__bd { padding: 0 14px 12px; font-size: 13px; }






.m-gal-sets{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:14px}
.m-gal-set{position:relative;display:flex;flex-direction:column;background:var(--bg-card);border:1px solid var(--line);border-radius:12px;overflow:hidden;text-decoration:none;color:inherit;box-shadow:0 6px 22px rgba(0,0,0,.22);transition:transform .2s}
.m-gal-set:active{transform:scale(.97)}
.m-gal-set__media{aspect-ratio:16/10;overflow:hidden;background:var(--bg-section);line-height:0}
.m-gal-set__media img{width:100%;height:100%;object-fit:cover}
.m-gal-set__media--empty{aspect-ratio:16/10}
.m-gal-set__count{position:absolute;top:8px;right:8px;padding:3px 9px;border-radius:999px;background:rgba(15,23,40,.72);border:1px solid rgba(255,255,255,.14);color:var(--text-main);font-size:.68rem;font-weight:600}
.m-gal-set__bd{padding:10px 12px 12px}
.m-gal-set__bd h2{margin:0;font-size:.95rem;font-weight:600;color:var(--text-main);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.m-gal-set__bd p{margin:4px 0 0;font-size:.76rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.m-gal-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:14px}
.m-gal-card{position:relative;display:block;background:var(--bg-card);border:1px solid var(--line);border-radius:12px;overflow:hidden;text-decoration:none;box-shadow:0 6px 22px rgba(0,0,0,.22);transition:transform .2s}
.m-gal-card:active{transform:scale(.97)}
.m-gal-card img{display:block;width:100%;aspect-ratio:4/3;object-fit:contain;padding:8px;box-sizing:border-box;background:var(--bg-section)}
.m-gal-card__name{display:block;padding:8px 10px;border-top:1px solid var(--line);font-size:.78rem;font-weight:600;color:var(--text-main);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.m-custom-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:12px}
.m-custom-item{display:flex;flex-direction:column;gap:6px;padding:12px 10px;background:var(--bg-card);border:1px solid var(--line);border-radius:10px;text-align:center;box-shadow:0 6px 22px rgba(0,0,0,.22)}
.m-custom-item b{font-size:.85rem;font-weight:600;color:var(--text-main);line-height:1.35}
.m-custom-item span{font-size:.7rem;color:var(--text-muted);padding:1px 10px;border-radius:999px;border:1px solid var(--line);align-self:center}
.m-setup__note{margin:0 0 10px;font-size:12px;color:var(--text-muted)}
.m-setup__grid{display:grid;grid-template-columns:1fr;gap:10px}
.m-setup__field{display:flex;flex-direction:column;gap:6px;padding:10px 12px;background:var(--bg-card);border:1px solid var(--line);border-radius:10px}
.m-setup__field:focus-within{border-color:var(--primary)}
.m-setup__label{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px;font-weight:600;color:var(--text-main)}
.m-setup__link{color:var(--primary);font-size:11px;font-weight:400}
.m-setup__input{width:100%;background:rgba(9,15,28,.6);border:1px solid var(--line);border-radius:8px;color:var(--text-main);font-size:13px;padding:9px 10px;outline:none}
.m-setup__input::placeholder{color:var(--text-muted);opacity:.7}
.m-setup__input:focus{border-color:var(--primary)}
.m-setup__field--area{grid-column:1/-1}
.m-setup__input--area{min-height:96px;resize:vertical;line-height:1.7;font-family:inherit}
.m-setup__acts{margin-top:16px;padding:14px;background:var(--bg-card);border:1px solid var(--line);border-radius:12px;display:flex;flex-direction:column;gap:12px;box-shadow:var(--m-shadow)}
.m-setup__tip{margin:0;font-size:12px;color:var(--text-muted);line-height:1.8}
.m-setup__tip a{color:var(--primary)}
.m-setup__btns{display:flex;gap:10px}
.m-setup__btns .m-btn{flex:1 1 auto}
.m-setup-modal{position:fixed;inset:0;z-index:120;display:grid;place-items:center}
.m-setup-modal[hidden]{display:none}
.m-setup-modal__mask{position:absolute;inset:0;background:rgba(5,9,18,.66);backdrop-filter:blur(4px)}
.m-setup-modal__box{position:relative;width:min(560px,calc(100% - 28px));max-height:78vh;display:flex;flex-direction:column;background:var(--bg-card);border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 44px rgba(0,0,0,.4);overflow:hidden}
.m-setup-modal__head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--line)}
.m-setup-modal__head h3{margin:0;font-size:15px}
.m-setup-modal__close{width:32px;height:32px;border:0;border-radius:8px;background:var(--bg-card-light);color:var(--text-secondary);font-size:18px;line-height:1}
.m-setup-modal__body{padding:12px 14px;overflow:auto}
.m-setup-modal__tip{margin:0 0 10px;font-size:12px;color:var(--text-muted)}
.m-setup-modal__tablewrap{max-height:52vh;overflow:auto;background:rgba(9,15,28,.6);border:1px solid var(--line);border-radius:10px}
.m-setup-modal__foot{padding:0 14px 14px;display:flex;justify-content:flex-end}
.setup-list-table{width:100%;border-collapse:collapse;font-size:12px}
.setup-list-table th{padding:9px 12px;text-align:left;background:rgba(79,124,255,.14);color:var(--text-main);font-weight:600;border:1px solid var(--line)}
.setup-list-table td{padding:8px 12px;border:1px solid var(--line);vertical-align:top;line-height:1.7;color:var(--text-main)}
.setup-list-table__key{width:104px;font-weight:600;background:rgba(255,255,255,.03)}
.setup-list-table__val{white-space:pre-line;word-break:break-word}
.setup-list-table__grouprow td{background:rgba(79,124,255,.10);color:var(--primary);font-weight:600}
.setup-list-table__empty td{text-align:center;color:var(--text-muted)}
.toast{position:fixed;left:50%;bottom:calc(76px + env(safe-area-inset-bottom));transform:translateX(-50%) translateY(8px);z-index:200;max-width:82%;padding:9px 16px;border-radius:10px;background:rgba(15,23,40,.95);border:1px solid var(--line);color:var(--text-main);font-size:13px;opacity:0;pointer-events:none;transition:opacity .25s,transform .25s}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.m-compare{padding-bottom:10px}
.m-compare .compare-pickers{display:grid;grid-template-columns:1fr;gap:10px}
.m-compare .compare-swap{justify-self:center}
.m-compare .compare-picker__box{flex-wrap:nowrap}

.m-sponsor{position:fixed;inset:0;z-index:130;display:grid;place-items:center}
.m-sponsor[hidden]{display:none}
.m-sponsor__mask{position:absolute;inset:0;background:rgba(5,9,18,.66);backdrop-filter:blur(4px)}
.m-sponsor__box{position:relative;width:min(420px,calc(100% - 28px));max-height:82vh;display:flex;flex-direction:column;background:var(--bg-card);border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 44px rgba(0,0,0,.4);overflow:hidden}
.m-sponsor__head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--line)}
.m-sponsor__head h3{margin:0;font-size:15px}
.m-sponsor__close{width:32px;height:32px;border:0;border-radius:8px;background:var(--bg-card-light);color:var(--text-secondary);font-size:18px;line-height:1}
.m-sponsor__body{padding:16px 16px 18px;text-align:center;overflow:auto}
.m-sponsor__tip{margin:0 0 6px;font-size:13px;font-weight:600;color:var(--text-main)}
.m-sponsor__sel{margin:0 0 12px;font-size:12px;color:var(--text-muted)}
.m-sponsor__qr{display:inline-block;background:#fff;border-radius:12px;padding:12px;line-height:0}
.m-sponsor__qr img{max-width:210px;max-height:210px;width:auto;height:auto}
.m-sponsor__amount{margin:14px 0 0;font-size:15px;font-weight:700;color:var(--accent)}
.m-sponsor__btns{margin-top:18px;display:flex;flex-direction:column;gap:10px}


/* ===== 版本功能对比(v1.351 窄屏卡片版:版本卡横滑 + 分组折叠,替代 v1.332 宽表横滑) ===== */
.m-ver { display: flex; flex-direction: column; gap: 12px; }
.m-ver__cols {
    display: flex; gap: 10px;
    overflow-x: auto; -webkit-overflow-scrolling: touch;
    scroll-snap-type: x proximity;
    padding: 2px; margin: -2px;
}
.m-ver__cols { scrollbar-width: none; -ms-overflow-style: none; }
.m-ver__cols::-webkit-scrollbar { display: none; }
.m-ver__col {
    flex: 0 0 44%; max-width: 44%; scroll-snap-align: center;
    display: flex; flex-direction: column; align-items: center; gap: 6px;
    padding: 14px 10px 12px;
    background: var(--bg-card); border: 1px solid var(--line);
    border-radius: var(--radius-md); box-shadow: var(--m-shadow);
}
.m-ver__col.is-hl { border-color: rgba(79, 124, 255, .55); background: rgba(79, 124, 255, .08); }
.m-ver__colhd { display: flex; align-items: center; justify-content: center; gap: 6px; flex-wrap: wrap; }
.m-ver__colicon { width: 34px; height: 34px; object-fit: contain; border-radius: 8px; }
.m-ver__colname { font-size: 13px; font-weight: 700; color: var(--text-main); }
.m-ver__colbadge { font-size: 10px; padding: 1px 6px; border-radius: 8px; background: var(--accent); color: #fff; }
.m-ver__colprice { font-size: 12px; font-weight: 700; color: var(--accent); }
.m-ver__colbtn {
    display: inline-flex; align-items: center; justify-content: center;
    height: 28px; margin-top: 2px; padding: 0 14px; border-radius: 8px;
    background: var(--primary); color: #fff; font-size: 12px; font-weight: 600;
}
.m-ver__groups { display: flex; flex-direction: column; gap: 8px; }
.m-ver__grp {
    background: var(--bg-card); border: 1px solid var(--line);
    border-radius: var(--radius-md); box-shadow: var(--m-shadow);
    overflow: hidden;
}
.m-ver__grp > summary {
    display: flex; align-items: center; justify-content: space-between;
    padding: 12px 14px; cursor: pointer; user-select: none; list-style: none;
    font-size: 13px; font-weight: 700; color: var(--primary);
    background: rgba(79, 124, 255, .06);
}
.m-ver__grp > summary::-webkit-details-marker { display: none; }
.m-ver__grp[open] > summary { border-bottom: 1px solid var(--line); }
.m-ver__chev { width: 16px; height: 16px; stroke: currentColor; transition: transform .2s ease; }
.m-ver__grp[open] .m-ver__chev { transform: rotate(180deg); }
.m-ver__rows { padding: 2px 0; }
.m-ver__row { padding: 10px 14px; border-bottom: 1px solid var(--line); }
.m-ver__row:last-child { border-bottom: 0; }
.m-ver__feat { font-size: 13px; font-weight: 600; color: var(--text-main); margin-bottom: 8px; }
.m-ver__cells { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 6px; }
.m-ver__cell {
    display: flex; align-items: center; justify-content: space-between; gap: 8px;
    padding: 6px 10px; border-radius: 8px;
    background: rgba(255, 255, 255, .03); border: 1px solid rgba(255, 255, 255, .06);
    font-size: 12px;
}
.m-ver__cell.is-hl { background: rgba(79, 124, 255, .08); border-color: rgba(79, 124, 255, .25); }
.m-ver__cellver { color: var(--text-muted); font-size: 11px; }
.m-ver__cellval { color: var(--text-main); font-weight: 600; }
.m-ver-yes {
    display: inline-block; width: 7px; height: 13px;
    margin: 0 2px 2px 2px;
    border: solid var(--success); border-width: 0 2px 2px 0; transform: rotate(45deg);
}
.m-ver-na { color: var(--text-muted); font-style: normal; }
.m-ver-txt { color: var(--text-main); word-break: break-all; }
.m-ver-tip { margin: 8px 0 0; font-size: 11px; color: var(--text-muted); text-align: center; }
/* ===== 设置(v1.337) ===== */
.m-me__avatar--txt {
    display: flex; align-items: center; justify-content: center;
    background: linear-gradient(135deg, #4f7cff, #3a5fd9);
    color: #fff; font-size: 26px; font-weight: 600; user-select: none;
}
.m-logout {
    display: flex; align-items: center; justify-content: center;
    min-height: 46px; margin-top: 10px;
    background: var(--bg-card); border: 1px solid var(--line); border-radius: var(--radius-md);
    color: var(--accent); font-size: 14px; font-weight: 600;
}
.m-logout:active { opacity: .8; }

.m-me__avatarbtn { position: relative; display: inline-block; flex: none; cursor: pointer; border-radius: 50%; }
.m-me__avatarbtn::after { content: '换'; position: absolute; right: -2px; bottom: -2px; width: 20px; height: 20px; line-height: 20px; text-align: center; font-size: 10px; color: #fff; background: var(--primary); border-radius: 50%; box-shadow: 0 1px 4px rgba(0,0,0,.3); }
.m-acct-msg { display: none; margin: 6px 0 0; font-size: 12px; }
.m-acct-msg.is-ok, .m-acct-msg.is-err { display: block; }
.m-acct-msg.is-ok { color: #3ecf8e; }
.m-acct-msg.is-err { color: #e5484d; }
summary.m-links__item { display: flex; list-style: none; cursor: pointer; }
summary.m-links__item::-webkit-details-marker { display: none; }
.m-links__item svg { transition: transform .2s ease; }
.m-acct[open] > .m-links__item svg { transform: rotate(90deg); }
.m-acct__bd { display: flex; flex-direction: column; gap: 14px; padding: 12px; margin-top: 8px; background: var(--bg-card-light); border: 1px solid var(--line); border-radius: 12px; }
.m-acct__btn { align-self: flex-start; min-width: 120px; }

/* v1.344 手机站 404 页操作按钮组 */
.m-404__acts { display: flex; flex-direction: column; gap: 10px; margin-top: 18px; }
.m-404__acts .m-btn { text-align: center; }

/* ===== v1.370 地图频道:当前地图舞台 + 分组折叠 ===== */
.m-map { display: flex; flex-direction: column; gap: 12px; margin-top: 12px; }
.m-map__hd { display: flex; align-items: center; gap: 10px; padding: 0 2px; }
.m-map__hd h2 { font-size: 20px; font-weight: 800; color: var(--text-main); }
.m-map__badge { flex: none; padding: 2px 10px; font-size: 11px; color: var(--primary); border: 1px solid var(--primary); border-radius: 10px; background: rgba(79,124,255,.1); }
.m-map__stage { display: block; width: 100%; height: auto; border-radius: var(--radius-md); border: 1px solid var(--line); }
.m-map__stage--det { margin-bottom: 12px; }
.m-map__ph { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; padding: 46px 16px; background: var(--bg-card); border: 1px dashed var(--line); border-radius: var(--radius-md); text-align: center; }
.m-map__ph svg { width: 34px; height: 34px; color: var(--text-muted, #9aa4b2); }
.m-map__ph p { margin: 0; font-size: 14px; font-weight: 600; color: var(--text-main); }
.m-map__ph span { font-size: 12px; color: var(--text-muted, #9aa4b2); }
.m-map__sec { margin: 4px 2px 0; padding-left: 8px; border-left: 3px solid var(--primary); font-size: 14px; font-weight: 700; color: var(--text-main); line-height: 1.2; }
.m-map__dist { display: flex; flex-direction: column; background: var(--bg-card); border: 1px solid var(--line); border-radius: var(--radius-md); overflow: hidden; }
.m-map__row { display: flex; align-items: center; gap: 8px; padding: 10px 12px; font-size: 13px; color: var(--text-main); }
.m-map__row + .m-map__row { border-top: 1px solid var(--line); }
.m-map__row:active { background: rgba(79,124,255,.08); }
.m-map__lv { flex: none; font-weight: 700; color: var(--neon-green); }
.m-map__name { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.m-map__meta { flex: none; font-size: 13px; color: var(--pin-npc); }
.m-map__meta--coord { color: var(--pin-npc); }
.m-map__row > svg { flex: none; width: 14px; height: 14px; color: var(--text-muted); }
.m-map__more { align-self: center; margin: 2px 0 4px; padding: 8px 22px; font-size: 13px; color: var(--primary); border: 1px solid var(--primary); border-radius: 8px; }
.m-map__more:active { background: rgba(79,124,255,.12); }
.m-map__group { background: var(--bg-card); border: 1px solid var(--line); border-radius: var(--radius-md); margin-top: 10px; }
.m-map__group summary { display: flex; align-items: center; justify-content: space-between; padding: 12px 14px; font-size: 14px; font-weight: 700; color: var(--text-main); cursor: pointer; list-style: none; }
.m-map__group summary::-webkit-details-marker { display: none; }
.m-map__group summary span { display: flex; align-items: center; gap: 8px; }
.m-map__group summary em { font-style: normal; font-size: 11px; font-weight: 600; color: var(--text-muted); background: rgba(255,255,255,.06); border-radius: 9px; padding: 1px 8px; }
.m-map__chev { width: 16px; height: 16px; color: var(--text-muted); transition: transform .2s ease; }
.m-map__group[open] .m-map__chev { transform: rotate(180deg); }
.m-map__group .m-chips { padding: 0 12px 12px; }

/* ===== 地图点位(v1.371):画布百分比坐标钉点,怪物=棕/NPC=黄/地图入口=绿;点按出气泡 ===== */
.map-canvas{position:relative;display:block;line-height:0}
.map-pins{position:absolute;inset:0;z-index:2;line-height:1.4}
.map-pin{position:absolute;width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.92);transform:translate(-50%,-50%);cursor:pointer;box-shadow:0 1px 5px rgba(0,0,0,.55);padding:0;font:inherit;color:inherit;background:var(--pin-monster);-webkit-tap-highlight-color:transparent}
.map-pin--monster{background:var(--pin-monster);width:22px;height:22px}
.map-pin--npc{background:var(--pin-npc)}
.map-pin--portal{background:var(--pin-portal);animation:mapPinPulse 2.4s ease-out infinite}
@keyframes mapPinPulse{0%{box-shadow:0 0 0 0 rgba(54,186,120,.5),0 1px 5px rgba(0,0,0,.55)}70%{box-shadow:0 0 0 10px rgba(54,186,120,0),0 1px 5px rgba(0,0,0,.55)}100%{box-shadow:0 0 0 0 rgba(54,186,120,0),0 1px 5px rgba(0,0,0,.55)}}
.map-pin--monster[data-amount]::after{content:attr(data-amount);position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;color:#fff;white-space:nowrap;pointer-events:none;line-height:1}
.map-pin__tip{position:absolute;left:50%;bottom:calc(100% + 10px);transform:translateX(-50%) translateY(4px);min-width:88px;max-width:210px;padding:8px 11px;border-radius:10px;background:rgba(15,23,40,.93);color:#f5f7fb;font-size:12px;white-space:nowrap;text-align:center;opacity:0;visibility:hidden;transition:opacity .16s ease,transform .16s ease;pointer-events:none;border:1px solid rgba(255,255,255,.14);line-height:1.6;box-shadow:0 6px 18px rgba(0,0,0,.45)}
.map-pin__tip a{display:inline-block;margin-left:8px;padding:2px 9px;border-radius:999px;background:var(--pin-portal);color:#fff;font-size:11px;font-weight:600;text-decoration:none}
.map-pin--monster .map-pin__tip a,.map-pin--npc .map-pin__tip a{margin-left:0;padding:2px 0;background:none;color:#8fdcff;font-size:12px;font-weight:400}
.map-pin.is-open{z-index:5}
.map-pin.is-open .map-pin__tip{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);pointer-events:auto}
.map-pin--below .map-pin__tip{bottom:auto;top:calc(100% + 10px);transform:translateX(-50%) translateY(-4px)}
.map-pin--below.is-open .map-pin__tip{transform:translateX(-50%) translateY(0)}
.map-pin--edge-l .map-pin__tip{left:-4px;transform:translateX(0) translateY(4px)}
.map-pin--edge-l.is-open .map-pin__tip{transform:translateX(0) translateY(0)}
.map-pin--edge-r .map-pin__tip{left:auto;right:-4px;transform:translateX(0) translateY(4px)}
.map-pin--edge-r.is-open .map-pin__tip{transform:translateX(0) translateY(0)}
.map-pin--below.map-pin--edge-l .map-pin__tip,.map-pin--below.map-pin--edge-r .map-pin__tip{transform:translateX(0) translateY(-4px)}
.map-pin--below.map-pin--edge-l.is-open .map-pin__tip,.map-pin--below.map-pin--edge-r.is-open .map-pin__tip{transform:translateX(0) translateY(0)}
.map-legend{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin:12px 2px 0;line-height:1}
.map-canvas__rot{max-width:none}
.map-legend__item{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:#fff;background:rgba(15,23,40,.72);border-radius:999px;padding:6px 12px}
.map-legend__item::before{content:'';width:9px;height:9px;border-radius:50%;border:1px solid rgba(255,255,255,.9)}
.map-legend__item--monster::before{background:var(--pin-monster)}
.map-legend__item--npc::before{background:var(--pin-npc)}
.map-legend__item--portal::before{background:var(--pin-portal)}
.map-pin__line{display:block;white-space:nowrap}
.map-pin__line + .map-pin__line{margin-top:2px}
/* ===== 地图点位增强(v1.378):入口名称常显胶囊;v1.384 描边改深色保黄字可读 + 怪物钉放大 xN 居中;入口气泡上移让位常显名 ===== */
.map-pin__name{position:absolute;bottom:calc(100% + 4px);left:50%;transform:translateX(-50%);font-size:11px;font-weight:700;color:var(--pin-npc);text-shadow:-1px 0 rgba(0,0,0,.9),1px 0 rgba(0,0,0,.9),0 -1px rgba(0,0,0,.9),0 1px rgba(0,0,0,.9),-1px -1px rgba(0,0,0,.9),1px -1px rgba(0,0,0,.9),-1px 1px rgba(0,0,0,.9),1px 1px rgba(0,0,0,.9),0 2px 3px rgba(0,0,0,.8),0 0 2px rgba(0,0,0,.6);white-space:nowrap;pointer-events:none;line-height:1.5}
.map-pin--below .map-pin__name{bottom:auto;top:calc(100% + 4px)}
.map-pin--edge-l .map-pin__name{left:-4px;transform:translateX(0)}
.map-pin--edge-r .map-pin__name{left:auto;right:-4px;transform:translateX(0)}
.map-pin--portal .map-pin__tip{bottom:calc(100% + 26px)}
.map-pin--below.map-pin--portal .map-pin__tip{bottom:auto;top:calc(100% + 26px)}

/* v1.385 资料详情分节标题(品牌蓝左竖条,对齐 m-map__sec 口径)与详解卡(职业介绍/怪物详解等 body 富文本容器) */
.m-detsec { margin: 18px 2px 10px; padding-left: 8px; border-left: 3px solid var(--primary); font-size: 15px; font-weight: 700; color: var(--text-main); line-height: 1.2; }
.m-detrich { padding: 14px; background: var(--bg-card); border: 1px solid var(--line); border-radius: var(--radius-md); }
.m-detrich .m-rich { font-size: 13px; margin: 0; }
.m-detrich .m-rich p:last-child { margin-bottom: 0; }

/* v1.388 技能效果图(m-detrich 复用卡底) */
.m-skillgif{padding:10px}
.m-skillgif img{display:block;max-width:100%;height:auto;margin:0 auto;border-radius:8px}


/* v1.401 技能图标雪碧图(icon_pos 768 空间坐标,JS 读 data-pos/data-scale 落位;列表 1 倍 30x41,详情头图 1.5 倍 45x61.5) */
.skill-icon{display:inline-block;flex:0 0 auto;width:30px;height:41px;background:url(/static/skill-icons/sprite.jpg) no-repeat;background-size:768px 768px;border:1px solid var(--line);border-radius:4px}
.skill-icon--hero{width:45px;height:61.5px;border-radius:var(--radius-md)}
/* v1.408 物品详情技能行内小图标(24x32.8=30x41 基准的 0.8 倍,JS 按 data-scale=0.8 落位雪碧图) */
.skill-icon--sm{width:24px;height:32.8px;vertical-align:middle;margin-right:8px}

/* v1.413 镶嵌属性(宝石成长表,官方表等级1~5):宝石等级标签/元素系分组/幸运组合与组合属性行(紫色 #c084fc 口径) */
.m-item__gemlab {
    align-self: center;
    margin-right: 4px;
    color: var(--text-muted);
    font-size: 12px;
    white-space: nowrap;
}

.m-item__gemgroup {
    margin-top: 10px;
}

.m-item__gemname {
    display: inline-block;
    margin-bottom: 4px;
    padding: 1px 10px;
    border: 1px solid var(--item-socket);
    border-radius: 999px;
    color: var(--item-socket);
    font-size: 11px;
}

.m-item__gemluck {
    color: var(--item-luck);
}

.m-item__gemset {
    color: var(--item-p380);
}

/* ===== v1.420 提示区块 m-notice(详情卡 notice 模块手机版,10 色调与 PC 同源) ===== */
.m-notice{--nt-color:#fbbf24;--nt-soft:rgba(251,191,36,.10);--nt-bar:rgba(251,191,36,.40);position:relative;margin:14px 0;padding:12px 14px 12px 18px;border-radius:var(--radius-md);border:1px solid var(--nt-bar);background:linear-gradient(135deg,var(--nt-soft),rgba(255,255,255,.02) 70%)}
.m-notice::before{content:'';position:absolute;left:-1px;top:10px;bottom:10px;width:4px;border-radius:0 4px 4px 0;background:var(--nt-color)}
.m-notice__hd{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.m-notice__ico{width:20px;height:20px;flex:none;color:var(--nt-color)}
.m-notice__hd h3{margin:0;font-size:15px;font-weight:700;color:var(--text-main)}
.m-notice__hd small{padding:1px 8px;border-radius:999px;font-size:10px;line-height:1.5;color:var(--nt-color);background:var(--nt-soft);box-shadow:inset 0 0 0 1px var(--nt-bar)}
.m-notice__text{margin:8px 0 0;font-size:13px;line-height:1.7;color:var(--text-secondary)}
.m-notice__list{margin:8px 0 0;padding:0;list-style:none}
.m-notice__list li{position:relative;padding-left:15px;font-size:12px;line-height:1.8;color:var(--text-main)}
.m-notice__list li::before{content:'';position:absolute;left:0;top:.6em;width:6px;height:6px;border-radius:2px;background:var(--nt-color);transform:rotate(45deg)}
.m-notice--blue{--nt-color:#4f7cff;--nt-soft:rgba(79,124,255,.10);--nt-bar:rgba(79,124,255,.40)}
.m-notice--green{--nt-color:#36ba78;--nt-soft:rgba(54,186,120,.10);--nt-bar:rgba(54,186,120,.40)}
.m-notice--purple{--nt-color:#a761ee;--nt-soft:rgba(167,97,238,.10);--nt-bar:rgba(167,97,238,.40)}
.m-notice--orange{--nt-color:#ff9f5a;--nt-soft:rgba(255,159,90,.10);--nt-bar:rgba(255,159,90,.42)}
.m-notice--red{--nt-color:#ff5364;--nt-soft:rgba(255,83,100,.10);--nt-bar:rgba(255,83,100,.40)}
.m-notice--cyan{--nt-color:#22c1dc;--nt-soft:rgba(34,193,220,.10);--nt-bar:rgba(34,193,220,.40)}
.m-notice--pink{--nt-color:#ed64a6;--nt-soft:rgba(237,100,166,.10);--nt-bar:rgba(237,100,166,.40)}
.m-notice--gold{--nt-color:#f0c93f;--nt-soft:rgba(240,201,63,.10);--nt-bar:rgba(240,201,63,.42)}
.m-notice--slate{--nt-color:#94a3b8;--nt-soft:rgba(148,163,184,.10);--nt-bar:rgba(148,163,184,.40)}
/* ===== v1.421 功能列表模块手机版:版本胶囊 + 功能行卡(8 色循环左饰条) + 底部提示 ===== */
.m-func-vers{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 2px}
.m-func-vers__tag{color:var(--primary);border:1px solid rgba(79,124,255,.55);border-radius:999px;padding:2px 10px;font-size:12px;line-height:1.7}
.m-func{display:flex;flex-direction:column;gap:10px;margin-top:12px}
.m-func__card{--fn-color:#4f7cff;background:var(--bg-card);border:1px solid var(--line);border-left:3px solid var(--fn-color);border-radius:var(--radius-md);padding:12px 14px}
.m-func__card:nth-child(8n+1){--fn-color:#4f7cff}
.m-func__card:nth-child(8n+2){--fn-color:#36ba78}
.m-func__card:nth-child(8n+3){--fn-color:#a761ee}
.m-func__card:nth-child(8n+4){--fn-color:#ff9f5a}
.m-func__card:nth-child(8n+5){--fn-color:#ff5364}
.m-func__card:nth-child(8n+6){--fn-color:#22c1dc}
.m-func__card:nth-child(8n+7){--fn-color:#ed64a6}
.m-func__card:nth-child(8n+8){--fn-color:#f0c93f}
.m-func__card h4{font-size:15px;font-weight:700;color:var(--text-main)}
.m-func__card p{font-size:13px;color:var(--text-muted);line-height:1.75;margin-top:6px}
.m-func__tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.m-func__tags span{font-size:11px;color:var(--fn-color);border:1px solid var(--fn-color);border-radius:999px;padding:1px 8px;line-height:1.7}
.m-func__tip{margin-top:12px;font-size:12px;color:var(--text-muted);border:1px dashed var(--line);border-radius:var(--radius-md);padding:10px 12px;line-height:1.7}

/* ===== v1.422 要点智能装饰:specs 版本胶囊 + notice 版本胶囊/参考价/等级价(与 PC 同构) ===== */
.m-kv__row b.m-kv__chips{display:inline-flex;flex-wrap:wrap;gap:5px;justify-content:flex-end;font-weight:400}
.m-kv__row b.m-kv__chips span{font-size:11px;line-height:1.6;color:var(--primary);border:1px solid rgba(79,124,255,.45);background:rgba(79,124,255,.08);border-radius:999px;padding:1px 8px}
.m-notice__list li.m-notice__vers{display:flex;flex-wrap:wrap;align-items:center;gap:5px 6px;padding-left:0;margin-top:4px}
.m-notice__list li.m-notice__vers::before{content:none}
.m-notice__list li.m-notice__vers em{font-style:normal;font-weight:700;font-size:12px;color:var(--nt-color);margin-right:2px}
.m-notice__vchip{font-size:11px;line-height:1.6;color:var(--nt-color);border-radius:999px;padding:1px 8px;background:var(--nt-soft);box-shadow:inset 0 0 0 1px var(--nt-bar)}
.m-notice__list li.m-notice__price{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding-left:0;margin-top:6px}
.m-notice__list li.m-notice__price::before{content:none}
.m-notice__list li.m-notice__price em{font-style:normal;font-size:12px;color:var(--text-muted)}
.m-notice__list li.m-notice__price b{font-size:16px;font-weight:800;color:var(--nt-color)}
.m-notice__list li.m-notice__tier{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 10px;margin-top:6px;border-radius:8px;background:var(--nt-soft);box-shadow:inset 0 0 0 1px var(--nt-bar)}
.m-notice__list li.m-notice__tier::before{content:none}
.m-notice__list li.m-notice__tier span{font-weight:700;font-size:12.5px;color:var(--text-main)}
.m-notice__list li.m-notice__tier b{font-weight:800;font-size:14px;color:var(--nt-color)}

/* ===== v1.423 m-notice 装饰触碰反馈(:active 手机 / :hover 供 PC 浏览器测试) ===== */
.m-notice__vchip,.m-kv__row b.m-kv__chips span{transition:color .15s ease,background-color .15s ease,box-shadow .15s ease}
.m-notice__vchip:active,.m-notice__vchip:hover{color:#fff;background:var(--nt-color);box-shadow:inset 0 0 0 1px var(--nt-color)}
.m-kv__row b.m-kv__chips span:active,.m-kv__row b.m-kv__chips span:hover{background:rgba(79,124,255,.18);border-color:var(--primary)}
.m-notice__list li.m-notice__tier{transition:box-shadow .15s ease}
.m-notice__list li.m-notice__tier:active,.m-notice__list li.m-notice__tier:hover{box-shadow:inset 0 0 0 1.5px var(--nt-color)}
.m-notice__list li.m-notice__price b{transition:filter .15s ease}
.m-notice__list li.m-notice__price:active b,.m-notice__list li.m-notice__price:hover b{filter:brightness(1.2)}
.m-imgrow{display:grid;gap:12px 8px;margin-top:10px}
.m-imgrow--duo{grid-template-columns:repeat(2,minmax(0,1fr))}
.m-imgrow--trio{grid-template-columns:repeat(3,minmax(0,1fr))}
.m-imgrow figure{margin:0;display:flex;flex-direction:column;gap:4px}
.m-imgrow img{display:block;width:100%;height:auto;object-fit:contain;border:1px solid var(--line);border-radius:10px;background:var(--bg-card-light)}
.m-imgrow figcaption{font-size:10px;color:var(--text-muted);text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}


/* ===== v1.443 手机站登录/注册 ===== */
.m-form__coderow { display: flex; gap: 8px; }
.m-form__coderow input { flex: 1; min-width: 0; }
.m-form__coderow .m-btn { flex: none; min-height: 44px; padding: 0 14px; font-size: 12px; white-space: nowrap; }
.m-auth__foot { margin: 16px 0 4px; text-align: center; font-size: 13px; color: var(--text-muted); }
.m-auth__foot a { color: var(--primary); font-weight: 600; }

/* 滑块验证弹窗(与 PC pages.css 同构拷贝,v1.246/v1.248;member-slider.js 共用,图标取自本页 sprite) */
.auth-slider__mask{position:fixed;inset:0;z-index:1200;display:flex;align-items:center;justify-content:center;background:rgba(6,10,22,.7);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.auth-slider__mask[hidden]{display:none}
.auth-slider__mask::before{content:"";position:absolute;left:50%;top:50%;width:560px;height:560px;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(79,124,255,.24),transparent 62%);pointer-events:none;animation:authGlow 6s ease-in-out infinite alternate}
@keyframes authGlow{from{opacity:.45;transform:translate(-50%,-50%) scale(.88)}to{opacity:1;transform:translate(-50%,-50%) scale(1.14)}}
.auth-slider__box{position:relative;width:min(400px,calc(100% - 32px));padding:28px 26px 30px;border-radius:20px;background:linear-gradient(160deg,rgba(25,36,62,.94),rgba(12,18,33,.96));border:1px solid rgba(122,152,255,.18);box-shadow:0 32px 80px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.08),inset 0 0 0 1px rgba(255,255,255,.02);overflow:hidden;animation:authIn .4s cubic-bezier(.22,1.2,.36,1)}
.auth-slider__box::before{content:"";position:absolute;top:-70%;left:-35%;width:60%;height:240%;background:linear-gradient(115deg,transparent,rgba(130,170,255,.1),transparent);transform:rotate(14deg);pointer-events:none;animation:authSheen 5.2s ease-in-out infinite}
.auth-slider__box::after{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(120% 90% at 18% 0%,rgba(79,124,255,.15),transparent 55%);pointer-events:none;z-index:0}
@keyframes authIn{from{opacity:0;transform:translateY(20px) scale(.93)}to{opacity:1;transform:none}}
@keyframes authSheen{0%,55%{left:-38%}100%{left:132%}}
.auth-slider__head{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.auth-slider__title{display:inline-flex;align-items:center;gap:8px;font-size:1.02rem;font-weight:600;letter-spacing:.5px;background:linear-gradient(90deg,#ffffff,#cfe0ff);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:var(--text-main)}
.auth-slider__title .icon{width:19px;height:19px;color:var(--primary);filter:drop-shadow(0 0 8px rgba(79,124,255,.65))}
.auth-slider__close{width:30px;height:30px;border:0;border-radius:8px;background:transparent;color:var(--text-muted);font-size:1.3rem;line-height:1;cursor:pointer;transition:color .2s,background .2s,transform .25s}
.auth-slider__close:hover{color:var(--text-main);background:rgba(255,255,255,.06);transform:rotate(90deg)}
.auth-slider__sub{position:relative;z-index:1;margin:0 0 18px;font-size:.83rem;color:var(--text-muted)}
.auth-slider__track{position:relative;z-index:1;height:48px;border-radius:999px;background:linear-gradient(180deg,rgba(0,0,0,.38),rgba(255,255,255,.04));border:1px solid rgba(130,155,215,.2);box-shadow:inset 0 2px 8px rgba(0,0,0,.45),inset 0 -1px 0 rgba(255,255,255,.05);overflow:hidden;touch-action:none}
.auth-slider__track::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(115deg,transparent 0 14px,rgba(255,255,255,.035) 14px 16px);pointer-events:none;animation:authStripe 1.6s linear infinite;transition:opacity .25s}
@keyframes authStripe{to{transform:translateX(32px)}}
.auth-slider__track:active .auth-slider__tip{opacity:.15}
.auth-slider__fill{position:absolute;top:0;left:0;height:100%;width:0;background:linear-gradient(90deg,rgba(79,124,255,.14),rgba(79,124,255,.34),rgba(56,183,255,.3));background-size:200% 100%;animation:authFlow 2.4s linear infinite;transition:width .06s linear;box-shadow:0 0 18px rgba(79,124,255,.35)}
@keyframes authFlow{to{background-position:-200% 0}}
.auth-slider__fill.is-done{background:linear-gradient(90deg,rgba(54,186,120,.2),rgba(54,186,120,.46));animation:none;box-shadow:0 0 24px rgba(54,186,120,.45)}
.auth-slider__track.is-err .auth-slider__fill{background:linear-gradient(90deg,rgba(239,68,68,.15),rgba(239,68,68,.32));animation:none;box-shadow:0 0 16px rgba(239,68,68,.3)}
.auth-slider__tip{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:.84rem;letter-spacing:1px;color:var(--text-secondary);user-select:none;pointer-events:none;transition:opacity .2s,color .2s;text-shadow:0 1px 2px rgba(0,0,0,.4)}
.auth-slider__track.is-ok .auth-slider__tip{color:var(--success);font-weight:600;text-shadow:0 0 14px rgba(54,186,120,.55)}
.auth-slider__handle{position:absolute;top:3px;left:3px;width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#6b8dff,var(--primary) 50%,#2b46b8);color:#fff;cursor:grab;z-index:2;box-shadow:0 8px 20px rgba(43,70,184,.55),inset 0 1px 0 rgba(255,255,255,.35),inset 0 -6px 12px rgba(0,0,0,.25);transition:box-shadow .2s}
.auth-slider__handle::before{content:"";position:absolute;inset:-4px;border-radius:50%;background:conic-gradient(from 0deg,rgba(120,160,255,0),rgba(120,205,255,.85),rgba(120,160,255,0) 55%);filter:blur(1px);z-index:-1;animation:authRing 2.2s linear infinite}
@keyframes authRing{to{transform:rotate(1turn)}}
.auth-slider__handle:active{cursor:grabbing}
.auth-slider__handle .icon{width:20px;height:20px;pointer-events:none;filter:drop-shadow(0 1px 2px rgba(0,0,0,.35))}
.auth-slider__track.is-ok .auth-slider__handle{background:linear-gradient(145deg,#52cf8e,#2b9660);box-shadow:0 8px 22px rgba(43,150,96,.6),inset 0 1px 0 rgba(255,255,255,.35)}
.auth-slider__track.is-ok .auth-slider__handle::before{background:conic-gradient(from 0deg,rgba(82,207,142,0),rgba(150,255,205,.85),rgba(82,207,142,0) 55%)}
.auth-slider__track.is-ok .auth-slider__handle .icon{animation:authPop .45s cubic-bezier(.2,1.6,.4,1)}
@keyframes authPop{0%{transform:scale(1)}45%{transform:scale(1.25)}100%{transform:scale(1)}}
.auth-slider__track.is-ok::after{opacity:0}
.auth-slider__track.is-ok::before{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:0 0 0 2px rgba(54,186,120,.5),inset 0 0 26px rgba(54,186,120,.35);pointer-events:none;z-index:1;animation:authOkGlow 1.1s ease-in-out infinite alternate}
@keyframes authOkGlow{from{opacity:.4}to{opacity:1}}
@keyframes auth-slider-shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}
.auth-slider__track.is-err .auth-slider__handle{animation:auth-slider-shake .4s ease;box-shadow:0 8px 20px rgba(239,68,68,.45)}
.auth-slider__track.is-err{border-color:rgba(239,68,68,.6);box-shadow:inset 0 2px 8px rgba(0,0,0,.45),0 0 16px rgba(239,68,68,.28)}

/* ===== v1.444 登录/注册页版式设计(品牌 logo 头卡+表单卡片化+大圆角输入框) ===== */
.m-auth { max-width: 420px; margin: 0 auto; padding: 30px 4px 12px; }
.m-auth__brand { text-align: center; margin-bottom: 22px; }
.m-auth__logo {
    display: inline-flex; align-items: center; justify-content: center;
    width: 64px; height: 64px; border-radius: 20px;
    background: linear-gradient(135deg, #4f7cff, #3a5fd9);
    box-shadow: 0 10px 26px rgba(79, 124, 255, 0.35);
}
.m-auth__logo svg { width: 30px; height: 30px; color: #fff; }
.m-auth__brand h1 { margin: 14px 0 6px; font-size: 21px; font-weight: 800; color: var(--text-main); }
.m-auth__sub { margin: 0; font-size: 12.5px; color: var(--text-muted); }
.m-auth__card {
    gap: 14px; padding: 20px 18px;
    background: var(--bg-card);
    border: 1px solid var(--line);
    border-radius: var(--radius-md);
}
.m-auth__card label { font-size: 12px; color: var(--text-muted); gap: 7px; }
.m-auth__card input {
    min-height: 48px; padding: 12px 16px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.04);
    transition: border-color .15s ease, box-shadow .15s ease, background-color .15s ease;
}
.m-auth__card input::placeholder { color: var(--text-muted); }
.m-auth__card input:focus {
    outline: none;
    border-color: var(--primary);
    background: rgba(255, 255, 255, 0.06);
    box-shadow: 0 0 0 3px rgba(79, 124, 255, 0.18);
}
.m-auth__card .m-btn { border-radius: 12px; }
.m-auth__card .m-form__coderow .m-btn { min-height: 48px; }
.m-auth__submit { width: 100%; min-height: 46px; margin-top: 4px; }
.m-auth__foot { margin: 18px 0 6px; text-align: center; font-size: 13px; color: var(--text-muted); }
.m-auth__foot a {
    display: inline-block; margin-left: 6px; padding: 5px 14px;
    border: 1px solid rgba(79, 124, 255, 0.45);
    border-radius: 999px;
    color: var(--primary); font-weight: 600;
    transition: background-color .15s ease;
}
.m-auth__foot a:active, .m-auth__foot a:hover { background: rgba(79, 124, 255, 0.12); }
/* ===== v1.445 物品掉落 ===== */
.m-drop__row{display:flex;align-items:center;gap:10px;background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius-md);padding:10px 12px;margin-bottom:10px;box-shadow:var(--m-shadow);transition:transform .12s ease}
.m-drop__row:active{transform:scale(.98)}
.m-drop__ico{width:46px;height:46px;border-radius:8px;object-fit:contain;background:rgba(255,255,255,.05);flex:none}
.m-drop__icoph{width:46px;height:46px;border-radius:8px;background:rgba(255,255,255,.05);flex:none;display:flex;align-items:center;justify-content:center;color:var(--text-muted)}
.m-drop__icoph svg{width:22px;height:22px}
.m-drop__bd{flex:1;min-width:0}
.m-drop__bd h4{font-size:14px;font-weight:700;color:var(--text-main);margin:0 0 3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.m-drop__mons{display:flex;align-items:center;gap:4px;margin:0;flex-wrap:nowrap;overflow:hidden}
.m-drop__mons img{width:22px;height:22px;border-radius:5px;object-fit:contain;background:rgba(255,255,255,.05)}
.m-drop__chev{flex:none;color:var(--text-muted)}
.m-drops{margin:10px 0 14px}
.m-drops__grid{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}
.m-drops__item{display:flex;flex-direction:column;align-items:center;gap:3px;text-align:center}
.m-drops__item img{width:38px;height:38px;border-radius:8px;object-fit:contain;background:rgba(255,255,255,.05)}
.m-drops__ph{width:38px;height:38px;border-radius:8px;background:rgba(255,255,255,.05);display:flex;align-items:center;justify-content:center;color:var(--text-muted)}
.m-drops__ph svg{width:18px;height:18px}
.m-drops__name{font-size:10.5px;color:var(--text-main);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.m-drops__lv{font-size:10px;color:var(--neon-green);font-weight:600}
.m-drops--excel .m-drops__name{color:var(--item-excellent)}
.m-drops--socket .m-drops__name{color:var(--item-socket)}
/* v1.454 掉落模式=none:物品详情「不由怪物掉落」提示行 */
/* v1.457 手机站掉落详情页 /m/drop/{slug}.html:物品头卡 + 白装/卓越两组怪物 */
.m-dropd{margin-top:12px}
.m-dropd__head{display:flex;gap:12px;align-items:center;background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius-md);padding:14px}
.m-dropd__ico{width:64px;height:64px;object-fit:contain;flex:none}
.m-dropd__icoph{width:64px;height:64px;flex:none;display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted);background:var(--bg-card-light);border-radius:var(--radius-md)}
.m-dropd__icoph svg{width:26px;height:26px}
.m-dropd__bd{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}
.m-dropd__bd h2{font-size:1.05rem;margin:0;color:var(--text-main);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.m-dropd__meta{margin:0;font-size:12px;color:var(--text-muted);line-height:1.6}
.m-dropd__sec{margin-top:16px}
.m-dropd__sec--excel .m-dropd__title::before{background:var(--item-excellent)}
.m-dropd__title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700;margin:0 0 10px}
.m-dropd__title::before{content:"";width:3px;height:14px;border-radius:2px;background:var(--primary);flex:none}
.m-dropd__title em{font-style:normal;font-size:11px;color:var(--text-muted);background:var(--bg-card-light);border-radius:999px;padding:0 8px;font-weight:600}
.m-dropd__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.m-dropd__card{display:flex;align-items:center;gap:10px;background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius-md);padding:10px}
.m-dropd__card:active{opacity:.75}
.m-dropd__card img{width:40px;height:40px;object-fit:contain;flex:none}
.m-dropd__cardph{width:40px;height:40px;flex:none;display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted)}
.m-dropd__cardph svg{width:20px;height:20px}
.m-dropd__bd2{flex:1;min-width:0}
.m-dropd__cname{display:block;font-size:13px;color:var(--text-main);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.m-dropd__cname .m-data-row__badge{margin-left:5px}
.m-dropd__clv{display:block;font-size:11px;color:var(--neon-green);font-weight:600;margin-top:2px}
.m-dropd__empty{margin:0;font-size:13px;color:var(--text-muted)}
.m-dropd__none{margin-top:12px;border:1px dashed var(--line);border-radius:var(--radius-md);padding:18px;color:var(--text-muted);text-align:center;font-size:13px}


.m-rich .guide-question__note{margin:10px 0 12px;padding:9px 12px;border-radius:var(--radius-sm);
    background:rgba(251,191,36,.08);border:1px solid rgba(251,191,36,.22);
    font-size:13px;line-height:1.75;color:var(--text-secondary)}
.m-rich .guide-question__note strong{color:var(--warning)}
.m-rich .guide-question__note ul{margin:4px 0 2px;padding-left:20px}
.m-rich .guide-question__note ul li{margin-bottom:5px}
.m-rich .guide-question__note ul li:last-child{margin-bottom:0}
.m-rich figure{margin:10px 0 14px;text-align:center}
.m-rich figure img{margin:0 auto}
.m-rich .guide-question__cta{display:inline-flex;align-items:center;justify-content:center;
    min-height:40px;margin:10px 0 14px;padding:8px 20px;border-radius:8px;
    background:var(--accent);color:#fff;font-size:14px;font-weight:600;text-decoration:none}
.m-rich .guide-question__cta:active{filter:brightness(1.1)}
.m-strip{display:flex;gap:12px;overflow-x:auto;padding:4px 2px 8px;scrollbar-width:none;-ms-overflow-style:none}
.m-strip::-webkit-scrollbar{display:none}
.m-strip__cls{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:7px;width:64px}
.m-strip__face{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;overflow:hidden;background:rgba(79,124,255,.12);border:2px solid rgba(79,124,255,.35)}
.m-strip__face img{width:100%;height:100%;object-fit:cover;display:block}
.m-strip__face--ph{font-size:22px;font-weight:700;color:var(--primary)}
.m-strip__cls:active .m-strip__face{transform:scale(.94)}
.m-strip__card{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:6px;width:74px;padding:9px 4px 7px;background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius-md)}
.m-strip__card:active{transform:scale(.96)}
.m-strip__img{display:flex;align-items:center;justify-content:center;width:44px;height:44px}
.m-strip__img img{max-width:100%;max-height:100%;object-fit:contain;display:block}
.m-strip__name{max-width:100%;font-size:10px;color:var(--text-main);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}

/* ===== v1.510 开服行分享按钮(卡片头部,点击分享该服独立卡页 /server-{id}.html) ===== */
.m-pub-share{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;margin-left:auto;padding:0;background:transparent;border:1px solid var(--line);border-radius:6px;color:var(--text-muted)}
.m-pub-share svg{width:14px;height:14px}
.m-pub-share:active{color:var(--primary);border-color:var(--primary);transform:scale(.92)}

/* ===== v1.510 手机站开服分享卡页 /m/server-{id}.html ===== */
.m-srv{display:flex;flex-direction:column;gap:14px;padding:2px 0 24px}
.m-srv__card{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--m-shadow,0 6px 22px rgba(0,0,0,.22));padding:16px 14px}
.m-srv__hd{display:flex;align-items:center;justify-content:space-between;gap:8px}
.m-srv__zone{display:inline-block;padding:3px 10px;border-radius:999px;font-size:11px;background:rgba(255,255,255,.06);border:1px solid var(--line);color:var(--text-secondary)}
.m-srv__zone--gold{color:#f0c93f;border-color:rgba(217,134,0,.55);background:rgba(217,134,0,.12)}
.m-srv__zone--yellow{color:#f0c93f;border-color:rgba(240,201,63,.5);background:rgba(240,201,63,.1)}
.m-srv__zone--cyan{color:#5fd3e0;border-color:rgba(31,169,189,.5);background:rgba(31,169,189,.1)}
.m-srv__expire{font-size:11px;color:var(--text-muted)}
.m-srv__expire.is-soon{color:var(--accent)}
.m-srv__name{margin:12px 0 0;font-size:19px;font-weight:800;color:var(--text-main);word-break:break-all;line-height:1.4}
.m-srv__time{margin:8px 0 0;font-size:13px;color:var(--text-secondary)}
.m-srv__meta{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:10px}
.m-srv__meta span{font-size:12px;color:var(--text-muted);padding:3px 10px;border-radius:999px;background:rgba(79,124,255,.08)}
.m-srv__intro{margin:12px 0 0;font-size:13px;line-height:1.8;color:var(--text-secondary)}
.m-srv__acts{display:flex;gap:10px;margin-top:16px}
.m-srv__acts .m-btn{flex:1 1 0}
.m-btn--ghost{background:transparent;border:1px solid var(--line);color:var(--text-secondary)}
.m-btn--ghost:active{color:var(--primary);border-color:var(--primary)}
.m-srv__back{display:block;text-align:center;font-size:12px;color:var(--text-muted);padding:6px 0}

/* v1.510 分享复制提示浮层(publish-share.js 创建;避开底部 Tab 栏) */
.pub-share-toast{position:fixed;bottom:76px;left:50%;transform:translate(-50%,16px);z-index:1200;padding:9px 20px;border-radius:999px;background:rgba(15,23,40,.92);border:1px solid rgba(255,255,255,.14);color:#fff;font-size:12px;letter-spacing:.5px;opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease}
.pub-share-toast.is-show{opacity:1;transform:translate(-50%,0)}

/* v1.521 分享弹层——手机底部动作面板(publish-share.js 动态创建;仅微信好友/QQ 好友双渠道,PC 居中模态版在 pages.css;
   z-index 1100 位于 Tab 栏 100/sponsor 130 之上、toast 1200 之下;点渠道后弹层不关闭,微信/QQ 返回后仍在) */
.pub-share-sheet{position:fixed;inset:0;z-index:1100;display:flex;align-items:flex-end;justify-content:center}
.pub-share-sheet[hidden]{display:none}
.pub-share-sheet__mask{position:absolute;inset:0;background:rgba(6,10,22,.66)}
.pub-share-sheet__box{position:relative;width:100%;max-width:750px;background:var(--bg-card);border:1px solid var(--line);border-bottom:0;border-radius:16px 16px 0 0;padding:16px 16px calc(12px + env(safe-area-inset-bottom));text-align:center;animation:pubSheetUp .24s ease}
.pub-share-sheet__head{font-size:14px;font-weight:600;color:var(--text-main);margin-bottom:14px}
.pub-share-sheet__grid{display:flex;justify-content:space-around;gap:12px}
.pub-share-sheet__item{display:flex;flex-direction:column;align-items:center;gap:8px;width:88px;padding:0;background:none;border:0;cursor:pointer}
.pub-share-sheet__icon{display:flex;align-items:center;justify-content:center;width:54px;height:54px;border-radius:50%;color:#fff;transition:transform .15s ease}
.pub-share-sheet__icon svg{width:26px;height:26px}
.pub-share-sheet__icon--wechat{background:#07c160;box-shadow:0 6px 16px rgba(7,193,96,.35)}
.pub-share-sheet__icon--qq{background:#12b7f5;box-shadow:0 6px 16px rgba(18,183,245,.35)}
.pub-share-sheet__item:active .pub-share-sheet__icon{transform:scale(.92)}
.pub-share-sheet__name{font-size:12px;color:var(--text-main)}
.pub-share-sheet__url{margin:12px auto 0;max-width:82%;font-size:11px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pub-share-sheet__cancel{margin-top:12px;width:100%;height:38px;border-radius:10px;border:1px solid var(--line);background:rgba(255,255,255,.03);color:var(--text-muted);font-size:13px;cursor:pointer}
@keyframes pubSheetUp{from{transform:translateY(100%)}to{transform:translateY(0)}}

.m-intro{display:flex;align-items:flex-start;gap:10px;margin:12px 0;padding:12px 14px;border:1px solid rgba(79,124,255,.2);border-radius:10px;background:linear-gradient(120deg,rgba(79,124,255,.08),rgba(79,124,255,.02))}

.m-intro__icon{display:grid;place-items:center;flex:0 0 auto;width:34px;height:34px;border-radius:9px;background:linear-gradient(135deg,var(--primary),var(--primary-hover));color:#fff;box-shadow:0 3px 10px rgba(79,124,255,.35)}

.m-intro__icon svg{width:16px;height:16px}

.m-intro__text{flex:1 1 auto;min-width:0;margin:0;color:var(--text-secondary);font-size:.82rem;line-height:1.8}

/* ===== v1.547 定价页吸底合计栏避让:客服悬浮钮上移至合计栏上方,不再遮挡合计价格 =====
   合计栏 bottom=60px+安全区/高约64px(重置钮44px+上下padding),故 fab 抬到 136px(124+12 呼吸);
   v1.541 首版仅 :has() 一条,旧手机内核(微信 X5 等)不识别即整条失效,且线上文件未同步,遮挡复现;
   v1.547 双保险:m-base.js 探测 .m-cal-bar 真实渲染后给 body 加 m-has-calbar 类(纯类选择器全内核支持);
   两条规则各自独立成条,不可合并成逗号列表——CSS 选择器列表任一无效整条丢弃;
   空态/维护中页面不渲染 m-cal-bar 不加类不误伤;同 v1.108/v1.255 :has 先例 */
body.m-has-calbar .m-contact-fab{bottom:calc(136px + env(safe-area-inset-bottom))}
body:has(.m-cal-bar) .m-contact-fab{bottom:calc(136px + env(safe-area-inset-bottom))}

/* v1.549 FAQ 锚点直链:购买说明/常见问题/帮助文档手机版每条问答 details 带 id=faq-{id}(与 PC 版
   v1.16 锚点同格式,分享链接 hash 双端互通);scroll-margin-top 避让吸顶顶栏,滚动定位不被遮住 */
.m-faq__item{scroll-margin-top:64px}