/**
 * wx_like_ex 公用样式表
 * ============================================================
 * 分区说明：
 *   A 区 — 前台按钮（renderButtons，静态部分；
 *          9 个配色 CSS 变量仍由 PHP 内联输出到 .wxle-wrap 元素）
 *   B 区 — 用户中心互动卡片（hookUserCenterCard）
 *   C 区 — 后台设置页（plugin_setting_view）
 * ============================================================
 */

/* ============================================================
 * A 区：前台按钮
 * ============================================================ */
.wxle-wrap {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 10px;
    padding: 12px 0;
    font-family: Helvetica, Tahoma, 'Microsoft Yahei', sans-serif;
    position: relative;
}
/* 按钮行：v2.0.0 起三个按钮被 .wxle-actions 包住
   头像墙在它上方，共鸣度条在它下方 */
.wxle-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 12px;
    max-width: 100%;
}
.wxle-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 18px;
    border: 1px solid #ced6dd;
    border-radius: 20px;
    background: #f8f9fa;
    color: #343a40;
    font-size: 13px;
    cursor: pointer;
    transition: all .25s cubic-bezier(.34,1.56,.64,1);
    box-shadow: 1px 2px 8px rgba(206,213,217,.6);
    outline: none;
    -webkit-appearance: none;
    user-select: none;
    -webkit-user-select: none;
    will-change: transform;
}
.wxle-btn:active:not(.wxle-guest) {
    transform: scale(0.92) !important;
    transition-duration: .08s;
}
.wxle-btn svg {
    width: 15px;
    height: 15px;
    flex-shrink: 0;
    transition: fill .25s, stroke .25s;
    fill: #adb5bd;
}
/* 描边变体：用于同一风格的“点踩”图标，与实心“点赞”区分
   选择器带 .wxle-wrap 前缀提升优先级，确保不被下方通用的 fill 规则覆盖 */
.wxle-wrap .wxle-btn svg.wxle-svg-outline {
    fill: none;
    stroke: #adb5bd;
    stroke-width: 1.6;
    stroke-linejoin: round;
}
.wxle-wrap .wxle-good:hover svg.wxle-svg-outline,
.wxle-wrap .wxle-good.active svg.wxle-svg-outline {
    stroke: var(--wxle-like);
}
.wxle-wrap .wxle-bad:hover svg.wxle-svg-outline,
.wxle-wrap .wxle-bad.active svg.wxle-svg-outline {
    stroke: var(--wxle-unlike);
}
/* 请求在途：禁用交互，避免重复提交 */
.wxle-btn.wxle-busy {
    pointer-events: none;
    opacity: .7;
}
.wxle-num {
    font-weight: 600;
}
/* 点赞按钮 */
.wxle-good:hover,
.wxle-good.active {
    background: var(--wxle-like-bg);
    border-color: var(--wxle-like);
    color: var(--wxle-like);
    box-shadow: 0 4px 12px var(--wxle-like-shadow);
    transform: translateY(-1px);
}
.wxle-good:hover svg,
.wxle-good.active svg {
    fill: var(--wxle-like);
}
/* 点踩按钮 */
.wxle-bad:hover,
.wxle-bad.active {
    background: var(--wxle-unlike-bg);
    border-color: var(--wxle-unlike);
    color: var(--wxle-unlike);
    box-shadow: 0 4px 12px var(--wxle-unlike-shadow);
    transform: translateY(-1px);
}
.wxle-bad:hover svg,
.wxle-bad.active svg {
    fill: var(--wxle-unlike);
}
/* 收藏按钮 */
.wxle-fav:hover,
.wxle-fav.active {
    background: var(--wxle-fav-bg);
    border-color: var(--wxle-fav);
    color: var(--wxle-fav);
    box-shadow: 0 4px 12px var(--wxle-fav-shadow);
    transform: translateY(-1px);
}
.wxle-fav:hover svg,
.wxle-fav.active svg {
    fill: var(--wxle-fav);
}
/* 游客受限态（仅限登录模式下） */
.wxle-guest {
    opacity: .55;
    cursor: not-allowed;
}
.wxle-guest:hover {
    transform: none;
    box-shadow: 1px 2px 8px rgba(206,213,217,.6);
}
/* 单个粒子 */
.wxle-particle {
    position: fixed;
    border-radius: 50%;
    pointer-events: none;
    z-index: 9999;
    animation: wxleParticleFly .6s ease-out forwards;
}
/* 彩蛋用的全屏 Canvas（JS 动态创建，到期自移除） */
.wxle-fx-canvas { display: block; }
@keyframes wxleParticleFly {
    0%   { opacity: 1; transform: translate(0, 0) scale(1); }
    100% { opacity: 0; transform: var(--wxle-tx, translate(0,-40px)) scale(0); }
}

/* ---------- A1 点赞者头像墙（按钮上方，v2.0.0 新增） ---------- */
.wxle-likers {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    flex-wrap: wrap;
    min-height: 30px;
    cursor: pointer;
}
.wxle-avatars {
    display: flex;
    align-items: center;
}
.wxle-av {
    position: relative;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 600;
    color: #fff;
    background: #cfc9c1;
    border: 2px solid #fff;
    margin-right: -9px;
    cursor: default;
    flex-shrink: 0;
    transition: transform .18s cubic-bezier(.34,1.56,.64,1), margin .18s;
}
.wxle-av:last-child { margin-right: 0; }
.wxle-av:hover { transform: translateY(-4px) scale(1.12); margin-right: -2px; z-index: 9; }
.wxle-av-txt { position: relative; z-index: 1; line-height: 1; }
/* 头像图覆盖在首字母之上：加载失败时 onerror 移除图片，自动回退首字母 */
.wxle-av img {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    object-fit: cover;
    z-index: 2;
}
.wxle-av-guest { background: #d8d3cc; color: #8a8680; font-size: 11px; }
.wxle-av-more {
    background: #f0ece6;
    color: #8a8680;
    font-size: 11px;
    font-weight: 500;
    cursor: pointer;
}
.wxle-av-more i { font-style: normal; }
/* +N 里的数字（单独成类便于主题覆盖） */
.wxle-av-more-n { font-style: normal; }
.wxle-av-static { margin-right: 0; cursor: default; }
.wxle-av-static:hover { transform: none; margin-right: 0; }
.wxle-av-tip {
    position: absolute;
    bottom: calc(100% + 7px);
    left: 50%;
    transform: translateX(-50%) translateY(4px);
    background: rgba(44,44,42,.92);
    color: #fff;
    font-size: 11.5px;
    font-style: normal;
    font-weight: 400;
    padding: 4px 9px;
    border-radius: 6px;
    white-space: nowrap;
    opacity: 0;
    pointer-events: none;
    transition: opacity .15s, transform .15s;
    z-index: 20;
}
.wxle-av-tip::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    border: 4px solid transparent;
    border-top-color: rgba(44,44,42,.92);
}
.wxle-av:hover .wxle-av-tip { opacity: 1; transform: translateX(-50%) translateY(0); }
.wxle-likers-txt { font-size: 12.5px; color: #8a8680; }
.wxle-likers-txt b { color: #3d3a36; font-weight: 600; }
/* 「N 人赞过」里的数字 */
.wxle-likers-total { font-weight: 600; }
.wxle-likers-empty { color: #b5b0a9; cursor: default; }

/* ---------- A2 共鸣度条（按钮下方，v2.0.0 新增） ---------- */
.wxle-meter {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    max-width: 420px;
}
.wxle-meter-bar {
    flex: 1;
    height: 6px;
    border-radius: 3px;
    background: #eeeae4;
    overflow: hidden;
    display: flex;
}
.wxle-meter-bar i {
    display: block;
    height: 100%;
    transition: width .45s cubic-bezier(.34,1.2,.64,1);
}
.wxle-meter-good { background: var(--wxle-like); }
.wxle-meter-bad { background: var(--wxle-unlike); }
.wxle-meter-txt {
    font-size: 11.5px;
    color: #a09a93;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}
.wxle-meter-txt b { font-weight: 600; }
/* 共鸣度条两侧的数字 */
.wxle-meter-good-n,
.wxle-meter-bad-n { font-weight: 600; font-variant-numeric: tabular-nums; }

/* ---------- A3 点赞者弹层（v2.0.0 新增） ---------- */
.wxle-likers-overlay {
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0,0,0,.35);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    z-index: 10002;
    opacity: 0;
    transition: opacity .2s ease;
}
.wxle-likers-overlay.is-show { opacity: 1; }
.wxle-likers-panel {
    width: 100%;
    max-width: 360px;
    max-height: 70vh;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 24px 60px -12px rgba(0,0,0,.3);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    font-family: Helvetica, Tahoma, 'Microsoft Yahei', sans-serif;
    transform: translateY(10px) scale(.97);
    transition: transform .25s cubic-bezier(.34,1.56,.64,1);
}
.wxle-likers-overlay.is-show .wxle-likers-panel { transform: translateY(0) scale(1); }
.wxle-lp-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 13px 16px;
    font-size: 14px;
    font-weight: 600;
    color: #3d3a36;
    border-bottom: 1px solid #f0ece6;
}
.wxle-lp-close {
    border: 0;
    background: transparent;
    font-size: 22px;
    line-height: 1;
    color: #a09a93;
    cursor: pointer;
    padding: 0 2px;
}
.wxle-lp-close:hover { color: #e17055; }
.wxle-lp-body { overflow-y: auto; padding: 6px 8px 10px; }
.wxle-lp-row { display: flex; align-items: center; gap: 10px; padding: 7px 8px; border-radius: 8px; }
.wxle-lp-row:hover { background: #faf7f3; }
.wxle-lp-name {
    flex: 1;
    font-size: 13px;
    color: #3d3a36;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.wxle-lp-time { font-size: 11.5px; color: #b5b0a9; white-space: nowrap; }
.wxle-lp-loading { padding: 22px; text-align: center; font-size: 13px; color: #a09a93; }

/* ---------- 里程碑弹卡（v2.0.0 新增，后台可配阈值） ---------- */
.wxle-milestone {
    position: fixed;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%) scale(.82);
    background: #fff;
    border-radius: 16px;
    padding: 24px 32px;
    text-align: center;
    box-shadow: 0 20px 60px -10px rgba(0,0,0,.22);
    opacity: 0;
    pointer-events: none;
    z-index: 10001;
    font-family: Helvetica, Tahoma, 'Microsoft Yahei', sans-serif;
    transition: opacity .3s ease, transform .45s cubic-bezier(.34,1.56,.64,1);
}
.wxle-milestone.is-show { opacity: 1; transform: translate(-50%,-50%) scale(1); }
.wxle-milestone.is-hide { opacity: 0; transform: translate(-50%,-50%) scale(.92); }
.wxle-ms-num { font-size: 34px; font-weight: 700; line-height: 1.1; margin-bottom: 6px; color: #e17055; }
.wxle-ms-txt { font-size: 13px; color: #7a766f; }

/* dark mode（A 区新增组件） */
html[data-theme="dark"] .wxle-av { border-color: #2a2a3c; }
html[data-theme="dark"] .wxle-av-guest { background: #3a3a50; color: #9a938b; }
html[data-theme="dark"] .wxle-av-more { background: #3a3a50; color: #aaa; }
html[data-theme="dark"] .wxle-likers-txt { color: #9a938b; }
html[data-theme="dark"] .wxle-likers-txt b { color: #e6e0d9; }
html[data-theme="dark"] .wxle-likers-empty { color: #6f6a64; }
html[data-theme="dark"] .wxle-meter-bar { background: #3a3a50; }
html[data-theme="dark"] .wxle-meter-txt { color: #9a938b; }
html[data-theme="dark"] .wxle-milestone { background: #1e1e2a; }
html[data-theme="dark"] .wxle-ms-txt { color: #9a938b; }
html[data-theme="dark"] .wxle-likers-panel { background: #1e1e2a; }
html[data-theme="dark"] .wxle-lp-head { color: #e6e0d9; border-bottom-color: #3a3a50; }
html[data-theme="dark"] .wxle-lp-row:hover { background: #2a2a3c; }
html[data-theme="dark"] .wxle-lp-name { color: #e6e0d9; }
html[data-theme="dark"] .wxle-lp-time { color: #6f6a64; }

/* ============================================================
 * B 区：用户中心互动卡片
 * ============================================================ */
#wxle-uc-wrap .wxle-uc-card { margin-bottom:22px; border-radius:14px; overflow:hidden; }
/* 卡片头部：启用 wx_card 渐变样式 */
#wxle-uc-wrap .wxle-uc-card.wxle-wxcard .card-header { font-size:14px; font-weight:600; padding:10px 16px; background:linear-gradient(135deg,#e17055 0%,#fdcb6e 100%); color:#fff; border-bottom:none; display:flex; align-items:center; gap:6px; border-radius:0; }
/* 卡片头部：默认样式（未启用 wx_card） */
#wxle-uc-wrap .wxle-uc-card:not(.wxle-wxcard) .card-header { font-size:14px; font-weight:600; padding:10px 16px; }
#wxle-uc-wrap .wxle-uc-card .card-body { padding:16px; }
#wxle-uc-wrap .wxle-uc-card .table { margin-bottom:0; }
/* 「取消」操作入口：沿用 Bootstrap badge 外观，仅补交互反馈 */
#wxle-uc-wrap .wxle-uc-card .wxle-uc-cancel { cursor:pointer; font-weight:400; }
#wxle-uc-wrap .wxle-uc-card .wxle-uc-cancel:hover { opacity:.85; text-decoration:none; }
/* Tab 自建样式（不依赖 Bootstrap nav-tabs） */
#wxle-uc-wrap .wxle-uc-card .wxle-tabs { display:flex; border-bottom:1px solid #dee2e6; margin:0 0 16px 0; padding:0; gap:0; overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:none; -ms-overflow-style:none; }
#wxle-uc-wrap .wxle-uc-card .wxle-tabs::-webkit-scrollbar { display:none; }
#wxle-uc-wrap .wxle-uc-card .wxle-tabs .wxle-tab { display:inline-block; padding:6px 14px; font-size:13px; cursor:pointer; border-bottom:2px solid transparent; color:#6c757d; text-decoration:none; white-space:nowrap; flex-shrink:0; transition:color .15s,border-color .15s; }
#wxle-uc-wrap .wxle-uc-card .wxle-tabs .wxle-tab.active { color:#e17055; border-bottom-color:#e17055; }
#wxle-uc-wrap .wxle-uc-card .wxle-tabs .wxle-tab:hover { color:#e17055; }
#wxle-uc-wrap .wxle-uc-card .tab-pane { display:none; }
#wxle-uc-wrap .wxle-uc-card .tab-pane.active { display:block; }
/* 栅格容器：替代原先写在 HTML 上的内联 padding:0 */
#wxle-uc-wrap .wxle-uc-col { padding-left:0; padding-right:0; }
/* 分页条 */
#wxle-uc-wrap .wxle-pager { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:6px; margin-top:14px; }
#wxle-uc-wrap .wxle-pager a { display:inline-block; min-width:30px; padding:3px 9px; font-size:12.5px; line-height:1.6; text-align:center; color:#6c757d; text-decoration:none; border:1px solid #dee2e6; border-radius:6px; transition:all .15s; }
#wxle-uc-wrap .wxle-pager a:hover { color:#e17055; border-color:#e17055; }
#wxle-uc-wrap .wxle-pager a.active { color:#fff; background:#e17055; border-color:#e17055; }
#wxle-uc-wrap .wxle-pager .wxle-pager-info { font-size:12px; color:#adb5bd; margin-left:6px; }
/* dark mode */
html[data-theme="dark"] #wxle-uc-wrap .wxle-uc-card { background:#1e1e2a; }
html[data-theme="dark"] #wxle-uc-wrap .wxle-uc-card .table { color:#c0c0d0; }
html[data-theme="dark"] #wxle-uc-wrap .wxle-uc-card .table-bordered,
html[data-theme="dark"] #wxle-uc-wrap .wxle-uc-card .table-bordered th,
html[data-theme="dark"] #wxle-uc-wrap .wxle-uc-card .table-bordered td { border-color:#3a3a50; }
html[data-theme="dark"] #wxle-uc-wrap .wxle-uc-card .table-striped tbody tr:nth-of-type(odd) { background:#2a2a3c; }
html[data-theme="dark"] #wxle-uc-wrap .wxle-uc-card .table-hover tbody tr:hover { color:#c0c0d0; background:#333348; }
html[data-theme="dark"] #wxle-uc-wrap .wxle-uc-card .wxle-tabs .wxle-tab { color:#888; }
html[data-theme="dark"] #wxle-uc-wrap .wxle-uc-card .wxle-tabs .wxle-tab.active { color:#e17055; border-bottom-color:#e17055; }
html[data-theme="dark"] #wxle-uc-wrap .wxle-uc-card .wxle-tabs { border-bottom-color:#3a3a50; }
html[data-theme="dark"] #wxle-uc-wrap .wxle-uc-card .text-muted { color:#888 !important; }
html[data-theme="dark"] #wxle-uc-wrap .wxle-uc-card a:not(.badge) { color:#e17055; }
html[data-theme="dark"] #wxle-uc-wrap .wxle-uc-card a:not(.badge):hover { color:#fdcb6e; }
html[data-theme="dark"] #wxle-uc-wrap .wxle-pager a { color:#aaa; border-color:#3a3a50; }
html[data-theme="dark"] #wxle-uc-wrap .wxle-pager a.active { color:#fff; background:#e17055; border-color:#e17055; }
html[data-theme="dark"] #wxle-uc-wrap .wxle-pager .wxle-pager-info { color:#777; }

/* ============================================================
 * C 区：后台设置页
 * ============================================================ */
/* ===== wx-card 卡片美化（参考 wx_user） ===== */
.wxle-settings-wrap { max-width:100%; overflow-x:hidden; padding:0 4px; }
.wxle-settings-wrap .wx-card { background:#fff; border-radius:14px; border:none; box-shadow:0 2px 20px rgba(225,112,85,0.08); margin-bottom:22px; overflow:hidden; transition:box-shadow 0.3s; position:relative; }
.wxle-settings-wrap .wx-card:hover { box-shadow:0 6px 30px rgba(225,112,85,0.12); }
.wxle-settings-wrap .wx-card .card-header { background:linear-gradient(135deg,#e17055 0%,#fdcb6e 100%); color:#fff; font-weight:600; font-size:15px; letter-spacing:0.5px; padding:15px 22px; border-bottom:none; display:flex; align-items:center; gap:8px; }
.wxle-settings-wrap .wx-card .card-header .header-badge { margin-left:auto; background:rgba(255,255,255,0.2); padding:2px 10px; border-radius:20px; font-size:11px; font-weight:400; letter-spacing:0; }
.wxle-settings-wrap .wx-card.card-dark .card-header { background:linear-gradient(135deg,#2d3436 0%,#636e72 100%); }
.wxle-settings-wrap .wx-card .card-body { padding:22px; }
.wxle-settings-wrap .wx-card .card-body.compact { padding:16px 22px; display:flex; flex-direction:column; flex:1; }
.wxle-settings-wrap .wx-btn { display:inline-flex; align-items:center; justify-content:center; gap:6px; border:none; border-radius:8px; padding:10px 24px; font-size:14px; font-weight:600; cursor:pointer; transition:all 0.25s; letter-spacing:0.3px; white-space:nowrap; }
.wxle-settings-wrap .wx-btn-primary { background:linear-gradient(135deg,#e17055,#fdcb6e); color:#fff; }
.wxle-settings-wrap .wx-btn-primary:hover { opacity:0.9; transform:translateY(-1px); box-shadow:0 6px 20px rgba(225,112,85,0.4); color:#fff; }
.wxle-settings-wrap .form-group { margin-bottom:14px; }
.wxle-settings-wrap .form-group label { font-weight:600; color:#555; font-size:13px; }
.wxle-settings-wrap .form-group .form-text { font-size:12px; color:#999; margin-top:4px; }
.wxle-settings-wrap .wx-settings-grid { display:grid; gap:18px 24px; }
.wxle-settings-wrap .wx-switch-row { display:flex; align-items:center; gap:12px; padding:6px 0; }
.wxle-settings-wrap .wx-switch-row label { font-weight:500; color:#666; font-size:12.5px; cursor:pointer; display:flex; align-items:center; gap:5px; margin-bottom:0; }
.wxle-settings-wrap .wx-switch-row input[type="checkbox"] { width:15px; height:15px; }
/* 同一行卡片等高 */
.wxle-settings-wrap .row { display:flex; flex-wrap:wrap; }
.wxle-settings-wrap .row > [class*="col-"] { display:flex; }
.wxle-settings-wrap .row > [class*="col-"] > .wx-card { flex:1; display:flex; flex-direction:column; width:100%; }
.wxle-settings-wrap .row > [class*="col-"] > .wx-card .card-body { flex:1; }
.wxle-settings-wrap .row > .col-12 > .wx-card .card-body { flex:auto; }
/* dark mode */
html[data-theme="dark"] .wxle-settings-wrap .wx-card { background:#1e1e2a; }
html[data-theme="dark"] .wxle-settings-wrap .wx-card .form-group label { color:#c0c0d0; }
html[data-theme="dark"] .wxle-settings-wrap .wx-card .form-group .form-text { color:#888; }
html[data-theme="dark"] .wxle-settings-wrap .wx-card .wx-switch-row label { color:#aaa; }

/* ============================================================
 * D 区：响应式（v1.9.0 新增，v2.0.0 补充头像墙 / 共鸣度条 / 弹层）
 * ============================================================ */
/* 平板及以下：按钮收紧 */
@media (max-width: 767.98px) {
    .wxle-wrap { gap: 8px; padding: 10px 0; }
    .wxle-actions { gap: 8px; }
    .wxle-btn { padding: 6px 13px; font-size: 12.5px; gap: 5px; }
    .wxle-btn svg { width: 14px; height: 14px; }
    .wxle-av { width: 27px; height: 27px; font-size: 11.5px; margin-right: -8px; }
    .wxle-av:hover { transform: translateY(-3px) scale(1.08); margin-right: -3px; }
}
/* 手机：三按钮按内容均分一行，超宽自动换行 */
@media (max-width: 575.98px) {
    .wxle-wrap { gap: 6px; }
    .wxle-actions { gap: 6px; width: 100%; }
    .wxle-btn { flex: 1 1 0; justify-content: center; padding: 7px 8px; font-size: 12px; min-width: 0; }
    .wxle-btn .wxle-label { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    #wxle-uc-wrap .wxle-uc-card .card-body { padding: 12px 10px; }
    #wxle-uc-wrap .wxle-uc-card .wxle-tabs .wxle-tab { padding: 6px 10px; font-size: 12.5px; }
    #wxle-uc-wrap .wxle-uc-card .table { font-size: 12.5px; }
    #wxle-uc-wrap .wxle-pager a { min-width: 26px; padding: 2px 7px; font-size: 12px; }
    /* 头像墙：缩小、禁用上浮（触屏无 hover，避免误触） */
    .wxle-likers { gap: 8px; }
    .wxle-av { width: 26px; height: 26px; font-size: 11px; margin-right: -8px; }
    .wxle-av:hover { transform: none; margin-right: -8px; }
    .wxle-likers-txt { font-size: 11.5px; }
    .wxle-meter { max-width: 100%; gap: 8px; }
    .wxle-meter-txt { font-size: 11px; }
    .wxle-likers-panel { max-height: 78vh; }
}
/* 极窄屏：按钮换行显示完整文案 */
@media (max-width: 359.98px) {
    .wxle-btn { flex: 1 1 100%; }
}

/* ============================================================
 * E 区：无障碍 / 减少动态效果
 * 用户系统开启「减少动态效果」时，所有过渡与动画整体静默
 * ============================================================ */
@media (prefers-reduced-motion: reduce) {
    .wxle-btn,
    .wxle-av,
    .wxle-meter-bar i,
    .wxle-milestone,
    .wxle-likers-overlay,
    .wxle-likers-panel,
    .wxle-particle {
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }
    .wxle-av:hover { transform: none; }
    .wxle-btn:active:not(.wxle-guest) { transform: none !important; }
}
