/* ========================================
   Puock-Zi 移动端样式
   ======================================== */

/* ============================================================
   移动端顶部栏 —— 左菜单 / 中 Logo / 右搜索+用户
   状态类（inc/pz-mobile.php 的 pz_mobile_body_class 输出）：
     .pz-topbar-on            已启用（同时决定 body 顶部留白）
     .pz-topbar-blur          毛玻璃背景
     .pz-topbar-scroll-hide   向下滚动时收起、向上滚动时显示
   ============================================================ */
.pz-mobile-topbar {
    --pz-topbar-h: 50px;
    display: none; position: fixed; z-index: 900; top: 0; left: 0; right: 0;
    box-sizing: border-box;
    /* 高度 = 内容高度 + 顶部安全区，避免刘海机型把图标顶到状态栏里 */
    height: calc(var(--pz-topbar-h) + env(safe-area-inset-top, 0px));
    padding: env(safe-area-inset-top, 0px) 10px 0;
    align-items: center; gap: 6px;
    background: var(--bs-body-bg, #ffffff);
    border-bottom: 1px solid var(--bs-border-color, #ececec);
    box-shadow: 0 1px 8px rgba(0, 0, 0, .06);
    transform: translateZ(0);
    transition: transform .28s cubic-bezier(.22, .61, .36, 1), background-color .25s;
    -webkit-tap-highlight-color: transparent;
}
.pz-mobile-menu-btn, .pz-mobile-search-btn {
    flex: 0 0 auto; width: 38px; height: 38px; padding: 0;
    display: inline-flex; align-items: center; justify-content: center;
    background: none; border: none; border-radius: 12px;
    font-size: 18px; line-height: 1; color: var(--bs-emphasis-color, #333);
    cursor: pointer; transition: background-color .2s, transform .18s;
    -webkit-tap-highlight-color: transparent;
}
.pz-mobile-menu-btn:active, .pz-mobile-search-btn:active {
    background: rgba(127, 127, 140, .12); transform: scale(.9);
}
.pz-mobile-menu-btn i, .pz-mobile-search-btn i { font-size: 18px; }
.pz-mobile-menu-btn .pz-svg-icon,
.pz-mobile-search-btn .pz-svg-icon { width: 20px; height: 20px; display: block; fill: currentColor; }

.pz-mobile-logo {
    flex: 1 1 auto; min-width: 0; height: 100%;
    display: flex; align-items: center; justify-content: center;
    text-decoration: none; overflow: hidden;
    font-weight: 700; font-size: 17px; color: var(--bs-emphasis-color, #333);
}
.pz-mobile-logo span {
    max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.pz-mobile-logo img { max-height: 30px; max-width: 100%; object-fit: contain; display: block; }

.pz-mobile-topbar-right {
    flex: 0 0 auto; display: flex; align-items: center; gap: 2px;
}
/* 顶栏右侧的用户入口（头像 / 登录按钮）已移除，用户相关入口统一放在侧边栏 #mobile-menu 内 */

/* 搜索面板：顶栏下方滑出 + 遮罩（不再用 jQuery toggle 的内联 display，避免 PJAX 后状态丢失） */
.pz-mobile-search-mask {
    position: fixed; z-index: 898; inset: 0;
    background: rgba(0, 0, 0, .38);
    opacity: 0; visibility: hidden; transition: opacity .22s, visibility .22s;
}
.pz-mobile-search-box {
    position: fixed; z-index: 899; left: 0; right: 0;
    top: calc(var(--pz-topbar-h, 50px) + env(safe-area-inset-top, 0px));
    padding: 10px 12px calc(10px + env(safe-area-inset-bottom, 0px));
    background: var(--bs-body-bg, #ffffff);
    box-shadow: 0 6px 16px rgba(0, 0, 0, .12);
    opacity: 0; visibility: hidden; transform: translateY(-10px);
    transition: opacity .22s, transform .22s, visibility .22s;
}
.pz-search-open .pz-mobile-search-mask { opacity: 1; visibility: visible; }
.pz-search-open .pz-mobile-search-box { opacity: 1; visibility: visible; transform: translateY(0); }
.pz-mobile-search-box form { display: flex; align-items: center; gap: 8px; }
.pz-mobile-search-box input {
    flex: 1 1 auto; min-width: 0; padding: 9px 12px; font-size: 15px;
    border: 1px solid var(--bs-border-color, #eaeaea);
    background: var(--bs-body-bg, #fff); color: var(--bs-body-color, #333);
    border-radius: 10px; outline: none;
}
.pz-mobile-search-box input:focus { border-color: var(--pz-primary, #4d7cfe); }
.pz-mobile-search-box button {
    flex: 0 0 auto; width: 38px; height: 38px; padding: 0;
    display: inline-flex; align-items: center; justify-content: center;
    border: none; border-radius: 10px; cursor: pointer;
    background: rgba(127, 127, 140, .10); color: var(--bs-emphasis-color, #333);
}
.pz-mobile-search-box button[type="submit"] {
    background: var(--pz-primary, #4d7cfe); color: #fff;
}

/* 毛玻璃顶栏 */
body.pz-topbar-blur .pz-mobile-topbar {
    background: rgba(255, 255, 255, .82);
    -webkit-backdrop-filter: saturate(180%) blur(16px);
    backdrop-filter: saturate(180%) blur(16px);
}
body.pz-topbar-blur .pz-mobile-search-box {
    background: rgba(255, 255, 255, .94);
    -webkit-backdrop-filter: saturate(180%) blur(16px);
    backdrop-filter: saturate(180%) blur(16px);
}
@supports not ((backdrop-filter: blur(2px)) or (-webkit-backdrop-filter: blur(2px))) {
    body.pz-topbar-blur .pz-mobile-topbar,
    body.pz-topbar-blur .pz-mobile-search-box { background: var(--bs-body-bg, #ffffff); }
}

/* 滚动时收起（开关 pz_topbar_scroll_hide）：向上滚立即显示 */
body.pz-topbar-scroll-hide .pz-mobile-topbar.pz-topbar-hidden { transform: translateY(-100%); }
body.pz-topbar-scroll-hide .pz-mobile-search-box { top: env(safe-area-inset-top, 0px); }

/* ============ 跟随 Puock 明暗模式 ============ */
html[data-bs-theme="dark"] .pz-mobile-topbar,
body.puock-dark .pz-mobile-topbar {
    background-color: #232330;
    border-bottom-color: rgba(255, 255, 255, .08);
    box-shadow: 0 1px 10px rgba(0, 0, 0, .35);
}
html[data-bs-theme="dark"] .pz-mobile-menu-btn,
html[data-bs-theme="dark"] .pz-mobile-search-btn,
body.puock-dark .pz-mobile-menu-btn,
body.puock-dark .pz-mobile-search-btn { color: #dcdce4; }
html[data-bs-theme="dark"] .pz-mobile-logo,
body.puock-dark .pz-mobile-logo { color: #fff; }
html[data-bs-theme="dark"] .pz-mobile-search-box,
body.puock-dark .pz-mobile-search-box {
    background-color: #1c1c26; box-shadow: 0 6px 16px rgba(0, 0, 0, .45);
}
html[data-bs-theme="dark"] .pz-mobile-search-box input,
body.puock-dark .pz-mobile-search-box input {
    background: #262633; border-color: rgba(255, 255, 255, .12); color: #e6e6f0;
}
html[data-bs-theme="dark"] .pz-mobile-search-box button,
body.puock-dark .pz-mobile-search-box button { background: rgba(255, 255, 255, .10); color: #dcdce4; }
html[data-bs-theme="dark"] body.pz-topbar-blur .pz-mobile-topbar,
body.puock-dark.pz-topbar-blur .pz-mobile-topbar,
html[data-bs-theme="dark"] body.pz-topbar-blur .pz-mobile-search-box,
body.puock-dark.pz-topbar-blur .pz-mobile-search-box { background-color: rgba(32, 32, 44, .80); }

/* ============================================================
   移动端侧边栏：注入父主题原生 #mobile-menu（接管模式）
   子主题不再自建面板，仅将用户卡/数据条/VIP卡等注入
   #mobile-menu .p-block 的 nav 前后，开关/遮罩/动画全部复用父主题。
   ============================================================ */

/* 注入内容抵消父主题 .menus 的 20px 内边距，通栏呈现 */
#mobile-menu .menus .pz-ms-top,
#mobile-menu .menus .pz-ms-bottom { margin: 0 -20px; }
/* 导航菜单卡片化：父主题 ul.puock-links 输出，统一为浅灰卡片与侧边栏风格一致 */
#mobile-menu .menus .p-block nav {
    margin: 0 16px 14px; padding: 6px 8px;
    background: rgba(127,127,140,.08); border-radius: 12px;
}
#mobile-menu .puock-links { list-style: none; margin: 0; padding: 0; }
#mobile-menu .puock-links > li { margin: 0; padding: 0; }
#mobile-menu .puock-links li span { display: block; }
#mobile-menu .puock-links li span > a {
    display: flex; align-items: center; gap: 12px;
    padding: 11px 12px; border-radius: 10px;
    color: #333; text-decoration: none; font-size: 15px;
    position: relative; transition: background .15s;
}
#mobile-menu .puock-links li span > a::before {
    content: ''; width: 8px; height: 8px; border-radius: 50%;
    background: #c9c9d4; flex-shrink: 0; display: inline-block;
}
#mobile-menu .puock-links li span > a:active { background: rgba(127,127,140,.14); }
#mobile-menu .puock-links li.current-menu-item span > a,
#mobile-menu .puock-links li.current-menu-ancestor span > a { color: var(--pz-primary); font-weight: 600; }
#mobile-menu .puock-links li.current-menu-item span > a::before { background: var(--pz-primary); }
/* 面板背景交给父主题 var(--pk-bg-box)，注入卡片用半透明底避免色差 */
#mobile-menu .pz-ms-auth-btn,
#mobile-menu .pz-ms-logged-grid a { background: rgba(127,127,140,.10); }
#mobile-menu .pz-ms-user-avatar { border-color: rgba(127,127,140,.25); }
#mobile-menu .pz-ms-user-msg { background: rgba(127,127,140,.12); }
#mobile-menu .pz-ms-menu-item:active,
#mobile-menu .pz-ms-wp-menu li a:active { background: rgba(127,127,140,.14); }

/* ============ 父主题「移动端侧边栏」#mobile-sidebar：改为从左侧弹出 ============ */
/*
 * 父主题 footer.php 另有一个侧边栏（装小工具，由 mobile_sidebar_enable 开关控制，
 * 右下角 #rb-float-actions 里的 #mobile-sidebar-toggle 触发）。其样式为
 *   .mobile-sidebar { right:-300px } / .mobile-sidebar.active { right:0 }
 * 即从右侧滑入。这里统一为从左滑入，与 #mobile-menu 抽屉方向一致。
 * 用 body 前缀提高特异性，确保覆盖父主题同名单类选择器。
 * 注意：#mobile-sidebar-overlay 是面板的子元素，但自身 position:fixed，
 * 面板仅改变 left（无 transform），因此遮罩仍相对视口铺满，不会跟着面板移动。
 */
body .mobile-sidebar {
    right: auto;
    left: -300px;
    max-width: 86vw;
    transition: left .3s ease;
    box-shadow: 2px 0 14px rgba(0, 0, 0, .12);
}
body .mobile-sidebar.active {
    right: auto;
    left: 0;
}

/* ============ 注入父主题侧边栏的内部样式 ============ */
/* （顶栏 .pz-ms-header 已移除：开关/关闭按钮复用父主题 .mobile-menu-s / .mobile-menu-close） */

/* 用户信息卡 */
.pz-ms-user-card {
    display: flex; align-items: center; gap: 12px;
    padding: 18px 16px 12px; flex-shrink: 0;
}
.pz-ms-user-avatar {
    width: 56px; height: 56px; border-radius: 50%; overflow: hidden;
    border: 2px solid #f2f2f5; flex-shrink: 0; display: block;
}
.pz-ms-user-avatar img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pz-ms-user-meta { flex: 1; min-width: 0; }
.pz-ms-user-name {
    font-size: 17px; font-weight: 700; color: #222;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.pz-ms-user-vip {
    display: inline-flex; align-items: center; gap: 3px;
    margin-top: 4px; padding: 2px 8px; border-radius: 10px;
    background: linear-gradient(135deg, #ff9a44, #ff5e62); color: #fff;
    font-size: 11px; white-space: nowrap; max-width: 100%;
}
.pz-ms-user-vip > .pz-svg-icon { width: 12px; height: 12px; flex-shrink: 0; }
.pz-ms-user-level {
    display: inline-block; margin-top: 4px; font-size: 12px; color: #999;
}
.pz-ms-user-msg {
    width: 36px; height: 36px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    color: #666; font-size: 18px; background: #f7f8fa; text-decoration: none;
}

/* 数据条 */
.pz-ms-data-bar {
    display: flex; padding: 0 16px 14px; flex-shrink: 0;
}
.pz-ms-data-bar a {
    flex: 1; display: flex; flex-direction: column; align-items: center; gap: 3px;
    text-decoration: none; color: inherit;
}
.pz-ms-data-bar b { font-size: 16px; font-weight: 700; color: #333; }
.pz-ms-data-bar span { font-size: 12px; color: #999; }

/* 主导航菜单 */
.pz-ms-menu { padding: 6px 14px; }
.pz-ms-menu-item,
.pz-ms-wp-menu li a {
    display: flex; align-items: center; gap: 12px;
    padding: 13px 12px; border-radius: 12px;
    color: #333; text-decoration: none; font-size: 15px;
    background: transparent; border: none; width: 100%; cursor: pointer;
    transition: background .15s; text-align: left;
}
.pz-ms-menu-item:active,
.pz-ms-wp-menu li a:active { background: #f5f6fa; }
.pz-ms-menu-item.active { color: var(--pz-primary); font-weight: 600; }
.pz-ms-dot {
    width: 8px; height: 8px; border-radius: 50%; background: #ddd; flex-shrink: 0;
}
.pz-ms-menu-item.active .pz-ms-dot { background: var(--pz-primary); }
.pz-ms-label { flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pz-ms-badge {
    font-size: 11px; font-weight: 600; color: #fff; background: #ff4757;
    padding: 1px 7px; border-radius: 10px; font-style: normal; flex-shrink: 0;
}
.pz-ms-theme-toggle { justify-content: flex-start; }
.pz-ms-theme-icon { margin-left: auto; color: #666; font-size: 16px; }
.pz-ms-wp-menu { list-style: none; margin: 0; padding: 0; }
.pz-ms-wp-menu li { margin: 0; padding: 0; }
/* 对接原主题「主要菜单」后，为 WP 菜单项补齐圆点 + 当前项高亮（与硬编码项一致） */
.pz-ms-wp-menu li a { position: relative; }
.pz-ms-wp-menu li a::before {
    content: ''; width: 8px; height: 8px; border-radius: 50%;
    background: #ddd; flex-shrink: 0; display: inline-block;
}
.pz-ms-wp-menu li.current-menu-item > a,
.pz-ms-wp-menu li.current-menu-ancestor > a { color: var(--pz-primary); font-weight: 600; }
.pz-ms-wp-menu li.current-menu-item > a::before { background: var(--pz-primary); }

/* 会员开通卡片 */
.pz-ms-vip-card {
    display: flex; align-items: center; gap: 10px;
    margin: 8px 16px 14px; padding: 13px 16px;
    border-radius: 12px;
    background: linear-gradient(135deg, #3a3a4e 0%, #232330 100%);
    color: #fff; text-decoration: none; font-size: 14px;
    box-shadow: 0 6px 16px rgba(0,0,0,.15); flex-shrink: 0;
}
.pz-ms-vip-card i { font-size: 18px; color: #ffd700; }
.pz-ms-vip-card span { flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* 游客登录 */
.pz-ms-auth {
    display: flex; gap: 12px; padding: 0 16px 14px; flex-shrink: 0;
}
.pz-ms-auth-btn {
    flex: 1; display: flex; align-items: center; justify-content: center; gap: 8px;
    padding: 12px; border-radius: 12px;
    background: #f7f8fa; color: #555; text-decoration: none;
    font-size: 14px; font-weight: 500;
}
.pz-ms-auth-btn i { color: var(--pz-primary); font-size: 16px; }

/* 快速登录 */
.pz-ms-quick { padding: 0 16px 20px; text-align: center; flex-shrink: 0; }
.pz-ms-quick-title {
    position: relative; font-size: 12px; color: #bbb; margin-bottom: 12px;
}
.pz-ms-quick-title::before,
.pz-ms-quick-title::after {
    content: ''; position: absolute; top: 50%; width: 40px; height: 1px; background: #eee;
}
.pz-ms-quick-title::before { left: 16px; }
.pz-ms-quick-title::after { right: 16px; }
.pz-ms-quick-btns { display: flex; justify-content: center; gap: 20px; }
.pz-ms-quick-btns a {
    width: 44px; height: 44px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    color: #fff; font-size: 22px; text-decoration: none;
    box-shadow: 0 4px 10px rgba(0,0,0,.12);
}
.pz-ms-quick-qq { background: #12b7f5; }
.pz-ms-quick-wx { background: #07c160; }

/* 已登录快捷宫格 */
.pz-ms-logged-grid {
    display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px;
    padding: 0 16px 20px; flex-shrink: 0;
}
.pz-ms-logged-grid a {
    display: flex; flex-direction: column; align-items: center; gap: 6px;
    padding: 12px 4px; border-radius: 12px; background: #f7f8fa;
    color: #555; text-decoration: none; font-size: 12px;
}
.pz-ms-logged-grid a i { font-size: 18px; color: var(--pz-primary); }

/* ============================================================
   移动端底部 Tabbar —— 默认浅色，跟随主题明暗（html[data-bs-theme]）
   状态类（inc/pz-mobile.php 的 pz_mobile_body_class 输出）：
     .pz-tabbar-on            已启用（同时决定 body 底部留白）
     .pz-tabbar-scroll-hide   滚动时隐藏
     .pz-tabbar-blur          毛玻璃背景
     .pz-tabbar-float         悬浮圆角卡片
     .pz-tabbar-color-active  仅激活项上色（未激活统一灰）
   ============================================================ */
.pz-mobile-tabbar {
    /* 高度 / 图标 / 字号集中定义，改一处即可整体缩放 */
    --pz-tab-h: 56px;
    --pz-tab-ico: 24px;
    --pz-tab-fs: 11px;
    display: none;
    position: fixed; z-index: 900; left: 0; right: 0; bottom: 0;
    box-sizing: border-box;
    /* 固定高度会把 iPhone 安全区算进内容区挤压图标，改为「内容高度 + 安全区」 */
    height: calc(var(--pz-tab-h) + env(safe-area-inset-bottom, 0px));
    padding: 5px 4px env(safe-area-inset-bottom, 0px);
    align-items: stretch;
    background: var(--bs-body-bg, #ffffff);
    border-top: 1px solid var(--bs-border-color, #ececec);
    box-shadow: 0 -4px 18px rgba(0, 0, 0, .08);
    transform: translateZ(0);
    transition: transform .28s cubic-bezier(.22, .61, .36, 1), background-color .25s;
    -webkit-tap-highlight-color: transparent;
}

.pz-mobile-tabbar .pz-tabbar-item,
.pz-mobile-tabbar .pz-tabbar-center {
    position: relative; flex: 1 1 0; min-width: 0; max-width: 96px;
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    gap: 2px; padding: 4px 2px; border-radius: 14px;
    color: var(--bs-secondary-color, #888); text-decoration: none;
    font-size: var(--pz-tab-fs); line-height: 1.15;
    transition: color .22s, transform .18s, background-color .22s;
}
.pz-mobile-tabbar .pz-tabbar-text {
    display: block; max-width: 100%;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.pz-mobile-tabbar .pz-tabbar-item:active,
.pz-mobile-tabbar .pz-tabbar-center:active { transform: scale(.92); }

/* 统一图标盒子：FA / 子比SVG / 图片 均固定尺寸并居中，避免大小不一 */
.pz-tabbar-ico {
    position: relative; flex: 0 0 auto;
    width: var(--pz-tab-ico); height: var(--pz-tab-ico);
    display: flex; align-items: center; justify-content: center;
    transition: transform .25s;
}
.pz-tabbar-ico i { font-size: 22px; line-height: 1; }
.pz-tabbar-ico .pz-svg-icon { width: 22px; height: 22px; display: block; fill: currentColor; }
.pz-tabbar-ico .pz-tabbar-icon-img { width: 22px; height: 22px; object-fit: contain; display: block; }
.pz-mobile-tabbar .pz-tabbar-item .pz-svg-icon,
.pz-mobile-tabbar .pz-tabbar-center .pz-svg-icon { transition: transform .25s; }
.pz-mobile-tabbar .pz-tabbar-item.active .pz-tabbar-ico { transform: translateY(-1px) scale(1.08); }
.pz-mobile-tabbar .pz-tabbar-item.active .pz-svg-icon { filter: drop-shadow(0 2px 6px rgba(0, 0, 0, .22)); }

/* 图标品牌色：单个按钮在「Tabbar按钮配置」行内填的「图标颜色」优先（--pz-tabbar-item-color，
   由 PHP 写成行内变量只作用于该项），未填时回退到下面各类型的默认色；SVG 与 FontAwesome 均生效 */
.pz-mobile-tabbar .pz-tabbar-home i { color: var(--pz-tabbar-item-color, var(--pz-tabbar-home-color, #ff2e63)); }
.pz-mobile-tabbar .pz-tabbar-msg i { color: var(--pz-tabbar-item-color, var(--pz-tabbar-msg-color, #38f9d7)); }
.pz-mobile-tabbar .pz-tabbar-user i { color: var(--pz-tabbar-item-color, var(--pz-tabbar-user-color, #00f2fe)); }
.pz-mobile-tabbar .pz-tabbar-vip i { color: var(--pz-tabbar-item-color, var(--pz-tabbar-vip-color, #fda085)); }
.pz-mobile-tabbar .pz-tabbar-top i { color: var(--pz-tabbar-item-color, var(--pz-tabbar-top-color, #fbc2eb)); }
.pz-mobile-tabbar .pz-tabbar-home .pz-svg-icon { fill: var(--pz-tabbar-item-color, var(--pz-tabbar-home-color, #ff2e63)); }
.pz-mobile-tabbar .pz-tabbar-msg .pz-svg-icon { fill: var(--pz-tabbar-item-color, var(--pz-tabbar-msg-color, #38f9d7)); }
.pz-mobile-tabbar .pz-tabbar-user .pz-svg-icon { fill: var(--pz-tabbar-item-color, var(--pz-tabbar-user-color, #00f2fe)); }
.pz-mobile-tabbar .pz-tabbar-vip .pz-svg-icon { fill: var(--pz-tabbar-item-color, var(--pz-tabbar-vip-color, #fda085)); }
.pz-mobile-tabbar .pz-tabbar-top .pz-svg-icon { fill: var(--pz-tabbar-item-color, var(--pz-tabbar-top-color, #fbc2eb)); }
/* 中心「发布」按钮：与普通 Tabbar 项一致显示（仅彩色图标 + 文字，无背景块） */
.pz-mobile-tabbar .pz-tabbar-center { color: var(--pz-tabbar-item-color, var(--pz-tabbar-publish-color, #ff4081)); }
.pz-mobile-tabbar .pz-tabbar-center i { color: var(--pz-tabbar-item-color, var(--pz-tabbar-publish-color, #ff4081)); -webkit-text-fill-color: var(--pz-tabbar-item-color, var(--pz-tabbar-publish-color, #ff4081)); }
.pz-mobile-tabbar .pz-tabbar-center .pz-svg-icon { fill: var(--pz-tabbar-item-color, var(--pz-tabbar-publish-color, #ff4081)); }
/* 自定义链接类型（.pz-tabbar-link）没有品牌色，跟随主题主色 */
.pz-mobile-tabbar .pz-tabbar-link i { color: var(--pz-tabbar-item-color, var(--pz-primary, #4d7cfe)); }
.pz-mobile-tabbar .pz-tabbar-link .pz-svg-icon { fill: var(--pz-tabbar-item-color, var(--pz-primary, #4d7cfe)); }

/* 「仅激活上色」模式：未激活图标统一灰，激活后才显示品牌色 */
body.pz-tabbar-color-active .pz-mobile-tabbar .pz-tabbar-item:not(.active) i,
body.pz-tabbar-color-active .pz-mobile-tabbar .pz-tabbar-center:not(.active) i {
    color: inherit; -webkit-text-fill-color: currentColor;
}
body.pz-tabbar-color-active .pz-mobile-tabbar .pz-tabbar-item:not(.active) .pz-svg-icon,
body.pz-tabbar-color-active .pz-mobile-tabbar .pz-tabbar-center:not(.active) .pz-svg-icon { fill: currentColor; }
body.pz-tabbar-color-active .pz-mobile-tabbar .pz-tabbar-item:not(.active) .pz-tabbar-icon-img,
body.pz-tabbar-color-active .pz-mobile-tabbar .pz-tabbar-center:not(.active) .pz-tabbar-icon-img {
    filter: grayscale(1); opacity: .55;
}

/* 激活态：加粗 + 顶部短指示条（深浅色自适应，不抢图标颜色） */
.pz-mobile-tabbar .pz-tabbar-item.active,
.pz-mobile-tabbar .pz-tabbar-center.active {
    font-weight: 600;
    color: var(--pz-tabbar-active-color, var(--bs-emphasis-color, #222));
}
.pz-mobile-tabbar .pz-tabbar-item.active::before {
    content: ''; position: absolute; top: 1px; left: 50%; transform: translateX(-50%);
    width: 18px; height: 3px; border-radius: 3px; background: currentColor; opacity: .85;
}

/* 未读角标：定位到图标右上角（旧版基于 50% + margin 偏移，图标尺寸一改就歪） */
.pz-tabbar-badge {
    position: absolute; top: -5px; right: -9px;
    min-width: 16px; height: 16px; padding: 0 4px; box-sizing: border-box;
    background: #ff4757; color: #fff; font-size: 10px; font-style: normal; font-weight: 600;
    line-height: 15px; text-align: center; border-radius: 9px;
    border: 1.5px solid var(--bs-body-bg, #fff);
}

/* 毛玻璃背景 */
body.pz-tabbar-blur .pz-mobile-tabbar {
    background: rgba(255, 255, 255, .82);
    -webkit-backdrop-filter: saturate(180%) blur(16px);
    backdrop-filter: saturate(180%) blur(16px);
}
@supports not ((backdrop-filter: blur(2px)) or (-webkit-backdrop-filter: blur(2px))) {
    body.pz-tabbar-blur .pz-mobile-tabbar { background: var(--bs-body-bg, #ffffff); }
}

/* 悬浮圆角卡片样式 */
body.pz-tabbar-float .pz-mobile-tabbar {
    left: 10px; right: 10px; bottom: calc(8px + env(safe-area-inset-bottom, 0px));
    height: var(--pz-tab-h); padding: 5px 4px;
    border: 1px solid rgba(127, 127, 140, .18); border-radius: 18px;
    box-shadow: 0 10px 28px rgba(0, 0, 0, .16);
}

/* ============ 跟随 Puock 明暗模式 ============ */
html[data-bs-theme="dark"] .pz-mobile-tabbar,
body.puock-dark .pz-mobile-tabbar {
    background-color: #232330;
    background-image: linear-gradient(180deg, #3a3a4e 0%, #232330 100%);
    border-top: 1px solid rgba(255, 255, 255, .08);
    box-shadow: 0 -4px 20px rgba(0, 0, 0, .35);
}
html[data-bs-theme="dark"] body.pz-tabbar-blur .pz-mobile-tabbar,
body.puock-dark.pz-tabbar-blur .pz-mobile-tabbar {
    background-image: none; background-color: rgba(32, 32, 44, .78);
}
html[data-bs-theme="dark"] .pz-mobile-tabbar .pz-tabbar-item,
body.puock-dark .pz-mobile-tabbar .pz-tabbar-item { color: rgba(255, 255, 255, .55); }
html[data-bs-theme="dark"] .pz-mobile-tabbar .pz-tabbar-item.active,
body.puock-dark .pz-mobile-tabbar .pz-tabbar-item.active { color: var(--pz-tabbar-active-color, #fff); }
html[data-bs-theme="dark"] .pz-mobile-tabbar .pz-tabbar-center,
body.puock-dark .pz-mobile-tabbar .pz-tabbar-center { color: rgba(255, 255, 255, .7); }
html[data-bs-theme="dark"] .pz-tabbar-badge,
body.puock-dark .pz-tabbar-badge { border-color: #2b2b3a; }

/* Tabbar 滚动隐藏（后台「滚动时隐藏」开关 pz_tabbar_scroll_hide） */
body.pz-tabbar-scroll-hide .pz-mobile-tabbar.pz-tabbar-hidden {
    transform: translateY(calc(100% + env(safe-area-inset-bottom, 0px)));
}

/* 侧边栏注入内容：深色变体（面板背景由父主题 var(--pk-bg-box) 控制，
   卡片底色已用 rgba 半透明自适应，此处仅适配文字/线条颜色） */
html[data-bs-theme="dark"] .pz-ms-user-name { color: #e6e6e6; }
html[data-bs-theme="dark"] .pz-ms-user-level { color: #8a8a99; }
html[data-bs-theme="dark"] .pz-ms-data-bar b { color: #e6e6e6; }
html[data-bs-theme="dark"] .pz-ms-data-bar span { color: #8a8a99; }
html[data-bs-theme="dark"] .pz-ms-menu-item,
html[data-bs-theme="dark"] .pz-ms-wp-menu li a { color: #dcdce4; }
html[data-bs-theme="dark"] .pz-ms-dot { background: #5a5a68; }
html[data-bs-theme="dark"] .pz-ms-theme-icon { color: #8a8a99; }
html[data-bs-theme="dark"] .pz-ms-wp-menu li a::before { background: #5a5a68; }
html[data-bs-theme="dark"] .pz-ms-wp-menu li.current-menu-item > a::before { background: var(--pz-primary); }
html[data-bs-theme="dark"] #mobile-menu .menus .p-block nav { background: rgba(255,255,255,.06); }
html[data-bs-theme="dark"] #mobile-menu .puock-links li span > a { color: #dcdce4; }
html[data-bs-theme="dark"] #mobile-menu .puock-links li span > a::before { background: #5a5a68; }
html[data-bs-theme="dark"] #mobile-menu .puock-links li span > a:active { background: rgba(255,255,255,.08); }
html[data-bs-theme="dark"] .pz-ms-vip-card { box-shadow: 0 6px 16px rgba(0,0,0,.35); }
html[data-bs-theme="dark"] .pz-ms-quick-title { color: #777; }
html[data-bs-theme="dark"] .pz-ms-quick-title::before,
html[data-bs-theme="dark"] .pz-ms-quick-title::after { background: #2c2c38; }

@media (prefers-reduced-motion: reduce) {
    .pz-tabbar-center, .pz-mobile-tabbar .pz-tabbar-item { transition: none; }
}

/* 子主题移动端 UI 接管时（≤768px），隐藏 Puock 父主题原生元素，避免冲突；
   注意：#mobile-menu / #mobile-menu-backdrop 不再隐藏——侧边栏已改为注入父主题原生抽屉。
   平板(769~991px)保留父主题原生抽屉与汉堡，避免死按钮 */
@media (max-width: 768px) {
    body.pz-mobile-ui #rb-float-actions { display: none !important; }

    /* 完全接管：移动端隐藏父主题整个导航栏，子主题顶栏作为唯一头部 */
    body.pz-mobile-ui #header { display: none !important; }
    /* header 的占位盒同步隐藏，避免顶栏下方出现 65px 大空白 */
    body.pz-mobile-ui #header-box { display: none !important; }
}

/* VIP徽章：胶囊形横排。SVG 无尺寸时默认 300×150 会撑爆 inline-flex，
   导致中文文字被压成单字宽并竖排。SVG 用 1em 兜底（基类已设），
   此处再给徽章加 white-space:nowrap 与 SVG 显式尺寸，双重保护 */
.pz-vip-badge {
    display: inline-flex; align-items: center; gap: 3px; font-size: 11px;
    padding: 1px 7px; border-radius: 10px; color: #fff; background: var(--pz-vip-gold);
    white-space: nowrap; max-width: 100%;
}
.pz-vip-badge > .pz-svg-icon { width: 12px; height: 12px; flex-shrink: 0; }

/* 移动端留白：顶栏空间 + Tabbar 空间，均只在对应组件启用时才占 */
body.pz-mobile-ui { --pz-topbar-space: 0px; --pz-tabbar-space: 12px; }
body.pz-mobile-ui.pz-topbar-on { --pz-topbar-space: 50px; }
body.pz-mobile-ui.pz-tabbar-on { --pz-tabbar-space: 66px; }
body.pz-mobile-ui.pz-tabbar-on.pz-tabbar-float { --pz-tabbar-space: 86px; }

@media (max-width: 768px) {
    body.pz-mobile-ui {
        padding-top: calc(var(--pz-topbar-space, 50px) + env(safe-area-inset-top, 0px));
        padding-bottom: calc(var(--pz-tabbar-space, 66px) + env(safe-area-inset-bottom, 0px));
    }
    .pz-mobile-topbar { display: flex; }
    body.pz-tabbar-on .pz-mobile-tabbar { display: flex; }
}

/* 桌面端隐藏移动端元素（#pz-ms-inject 为注入源容器，本身 display:none，此处兜底） */
@media (min-width: 769px) {
    .pz-mobile-topbar, .pz-mobile-tabbar, .pz-mobile-search-box,
    .pz-mobile-search-mask, #pz-ms-inject { display: none !important; }
}

/* ============ 子比(Zibll) SVG 图标：移动端各场景尺寸（替换原 FontAwesome） ============ */
.pz-ms-grid-icon .pz-svg-icon { width: 22px; height: 22px; display: block; }
.pz-ms-nav-item > .pz-svg-icon:first-child { width: 22px; height: 22px; text-align: center; color: var(--pz-primary); flex: 0 0 auto; }
.pz-ms-nav-item .pz-ms-arrow { width: 14px; height: 14px; margin-left: auto; }
.pz-mobile-menu-btn .pz-svg-icon,
.pz-mobile-search-btn .pz-svg-icon { width: 20px; height: 20px; }
/* SVG 跟随容器文字色（深色模式自动适配，已在 .pz-svg-icon 走 currentColor） */

/* ============================================================
   移动端侧边栏美化增强 v2 — 用户卡渐变/经验条/签到/8宫格
   ============================================================ */

/* 用户卡：改为纵向卡片 + 渐变背景 */
.pz-ms-user-card {
    flex-direction: column; align-items: stretch; gap: 0;
    padding: 0; margin: 0 16px 12px;
    border-radius: 16px; overflow: hidden;
}
.pz-ms-user-card.pz-ms-vip-lvl-0 { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); }
.pz-ms-user-card.pz-ms-vip-lvl-1 { background: linear-gradient(135deg, #f6d365 0%, #fda085 100%); }
.pz-ms-user-card.pz-ms-vip-lvl-2 { background: linear-gradient(135deg, #4c4d51 0%, #2a2a31 40%, #85858a 70%, #393a3c 100%); }

/* 用户卡内部信息行 */
.pz-ms-user-info { display: flex; align-items: center; gap: 12px; padding: 18px 16px 14px; }
.pz-ms-user-card[class*="pz-ms-vip-lvl"] .pz-ms-user-name { color: #fff; }
.pz-ms-user-card[class*="pz-ms-vip-lvl"] .pz-ms-user-level { color: rgba(255,255,255,.75); }
.pz-ms-user-card[class*="pz-ms-vip-lvl"] .pz-ms-user-msg { background: rgba(255,255,255,.2); color: #fff; }
.pz-ms-user-card[class*="pz-ms-vip-lvl"] .pz-ms-user-avatar { border-color: rgba(255,255,255,.35); }

/* 头像 VIP 角标 */
.pz-ms-user-avatar { position: relative; }
.pz-ms-avatar-vip {
    position: absolute; bottom: -2px; right: -2px;
    width: 20px; height: 20px; border-radius: 50%;
    background: linear-gradient(135deg, #ffd700, #ff9500);
    display: flex; align-items: center; justify-content: center;
    color: #fff; border: 2px solid #fff;
    box-shadow: 0 2px 6px rgba(0,0,0,.2);
}
.pz-ms-avatar-vip .pz-svg-icon { width: 10px; height: 10px; }

/* 消息未读红点 */
.pz-ms-user-msg { position: relative; }
.pz-ms-msg-dot {
    position: absolute; top: -2px; right: -2px;
    min-width: 16px; height: 16px; padding: 0 4px;
    border-radius: 8px; background: #ff4757; color: #fff;
    font-size: 10px; font-weight: 700;
    display: flex; align-items: center; justify-content: center;
    line-height: 1; border: 1.5px solid #fff;
}

/* 经验进度条 */
.pz-ms-exp-bar { padding: 0 16px 14px; }
.pz-ms-exp-labels { display: flex; justify-content: space-between; align-items: center; margin-bottom: 6px; }
.pz-ms-exp-level { font-size: 12px; font-weight: 700; color: rgba(255,255,255,.95); }
.pz-ms-exp-need { font-size: 11px; color: rgba(255,255,255,.7); }
.pz-ms-exp-track { height: 6px; border-radius: 3px; background: rgba(255,255,255,.25); overflow: hidden; }
.pz-ms-exp-fill { height: 100%; border-radius: 3px; background: linear-gradient(90deg, #fff, rgba(255,255,255,.85)); transition: width .3s ease; }

/* 数据条图标 */
.pz-ms-data-bar a { position: relative; gap: 2px; }
.pz-ms-data-bar a .pz-svg-icon { width: 16px; height: 16px; color: var(--pz-primary); margin-bottom: 2px; }

/* 签到入口条 */
.pz-ms-checkin {
    display: flex; align-items: center; gap: 12px;
    margin: 0 16px 14px; padding: 12px 14px;
    border-radius: 14px;
    background: linear-gradient(135deg, #fff5e6 0%, #ffe8cc 100%);
    text-decoration: none; flex-shrink: 0;
    border: 1px solid rgba(255,165,0,.2);
}
.pz-ms-checkin-done { background: linear-gradient(135deg, #f0f0f5 0%, #e8e8ef 100%); border-color: rgba(0,0,0,.06); }
.pz-ms-checkin-icon {
    width: 40px; height: 40px; border-radius: 12px;
    background: linear-gradient(135deg, #ff9500, #ff6b00);
    display: flex; align-items: center; justify-content: center;
    color: #fff; font-size: 18px; flex-shrink: 0;
    box-shadow: 0 4px 10px rgba(255,149,0,.3);
}
.pz-ms-checkin-done .pz-ms-checkin-icon { background: linear-gradient(135deg, #a0a0b0, #808090); box-shadow: 0 4px 10px rgba(0,0,0,.1); }
.pz-ms-checkin-icon .pz-svg-icon { width: 20px; height: 20px; }
.pz-ms-checkin-content { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.pz-ms-checkin-content b { font-size: 14px; font-weight: 700; color: #d4691a; white-space: nowrap; }
.pz-ms-checkin-done .pz-ms-checkin-content b { color: #888; }
.pz-ms-checkin-content span { font-size: 11px; color: #b8860b; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pz-ms-checkin-done .pz-ms-checkin-content span { color: #999; }
.pz-ms-checkin-btn {
    display: flex; align-items: center; gap: 4px;
    padding: 6px 12px; border-radius: 20px;
    background: linear-gradient(135deg, #ff9500, #ff6b00);
    color: #fff; font-size: 12px; font-weight: 600;
    flex-shrink: 0; box-shadow: 0 2px 8px rgba(255,149,0,.3);
}
.pz-ms-checkin-done .pz-ms-checkin-btn { background: #ccc; box-shadow: none; }
.pz-ms-checkin-btn .pz-svg-icon { width: 10px; height: 10px; }

/* 分组标题 */
.pz-ms-section-title { padding: 4px 20px 8px; font-size: 12px; font-weight: 600; color: #999; flex-shrink: 0; }

/* 宫格消息红点 */
.pz-ms-logged-grid a { position: relative; }
.pz-ms-grid-badge {
    position: absolute; top: 6px; right: calc(50% - 24px);
    min-width: 16px; height: 16px; padding: 0 4px;
    border-radius: 8px; background: #ff4757; color: #fff;
    font-size: 10px; font-weight: 700;
    display: flex; align-items: center; justify-content: center;
    line-height: 1; border: 1.5px solid #fff;
}

/* VIP 会员卡内部元素 */
.pz-ms-vip-icon { flex-shrink: 0; display: flex; align-items: center; }
.pz-ms-vip-icon .pz-svg-icon { width: 20px; height: 20px; color: #ffd700; }
.pz-ms-vip-text { flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: 14px; font-weight: 500; }
.pz-ms-vip-arrow { flex-shrink: 0; display: flex; align-items: center; opacity: .7; }
.pz-ms-vip-arrow .pz-svg-icon { width: 14px; height: 14px; }

/* 深色模式适配 */
html[data-bs-theme="dark"] .pz-ms-checkin { background: linear-gradient(135deg, rgba(255,165,0,.12) 0%, rgba(255,140,0,.08) 100%); border-color: rgba(255,165,0,.25); }
html[data-bs-theme="dark"] .pz-ms-checkin-content b { color: #ffb347; }
html[data-bs-theme="dark"] .pz-ms-checkin-content span { color: rgba(255,179,71,.7); }
html[data-bs-theme="dark"] .pz-ms-section-title { color: #777; }
html[data-bs-theme="dark"] .pz-ms-checkin-done { background: linear-gradient(135deg, rgba(255,255,255,.05) 0%, rgba(255,255,255,.03) 100%); border-color: rgba(255,255,255,.08); }
html[data-bs-theme="dark"] .pz-ms-checkin-done .pz-ms-checkin-content b { color: #999; }
html[data-bs-theme="dark"] .pz-ms-checkin-done .pz-ms-checkin-content span { color: #777; }

/* 小屏适配 */
@media (max-width: 360px) {
    .pz-ms-user-info { padding: 14px 12px 12px; }
    .pz-ms-exp-bar { padding: 0 12px 12px; }
    .pz-ms-checkin { margin: 0 12px 12px; padding: 10px 12px; }
    .pz-ms-logged-grid { padding: 0 12px 16px; gap: 6px; }
    .pz-ms-logged-grid a { padding: 10px 2px; font-size: 11px; }
    .pz-ms-user-card { margin: 0 12px 10px; border-radius: 14px; }
}

/* ============================================================
   VIP 会员卡修复：覆盖原有 .pz-ms-vip-card span{flex:1} 导致的布局异常
   ============================================================ */
.pz-ms-vip-card .pz-ms-vip-icon,
.pz-ms-vip-card .pz-ms-vip-arrow {
    flex: 0 0 auto !important;
    width: auto;
}
.pz-ms-vip-card .pz-ms-vip-text {
    flex: 1 1 auto !important;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
    line-height: 1.3;
}
/* 未开通：单行文字 */
.pz-ms-vip-card:not(.pz-ms-vip-active) .pz-ms-vip-text {
    display: block;
    font-size: 14px;
    font-weight: 500;
    color: #fff;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
/* 已开通：会员名称 + 过期时间两行 */
.pz-ms-vip-card.pz-ms-vip-active .pz-ms-vip-text b {
    font-size: 14px;
    font-weight: 700;
    color: #ffd700;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.pz-ms-vip-card.pz-ms-vip-active .pz-ms-vip-text em {
    font-size: 11px;
    font-style: normal;
    color: rgba(255,255,255,.7);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
/* 已开通会员卡片：金色边框高亮 */
.pz-ms-vip-card.pz-ms-vip-active {
    border: 1px solid rgba(255,215,0,.35);
    box-shadow: 0 6px 16px rgba(0,0,0,.15), 0 0 0 1px rgba(255,215,0,.1) inset;
}
/* 深色模式下已开通会员文字保持可见 */
html[data-bs-theme="dark"] .pz-ms-vip-card:not(.pz-ms-vip-active) .pz-ms-vip-text {
    color: #fff;
}

/* 修复：头像容器 overflow:hidden 裁剪掉 VIP 角标 — 改为图片本身圆角 */
.pz-ms-user-avatar {
    overflow: visible !important;
    position: relative;
}
.pz-ms-user-avatar img {
    border-radius: 50% !important;
}
/* VIP 角标确保在最上层，不被头像图片遮挡 */
.pz-ms-avatar-vip {
    z-index: 2;
}

/* 隐藏父主题在移动端菜单中自动追加的「用户中心」头像入口（子主题已有完整用户卡） */
#mobile-menu nav li a[href*="/uc"] {
    display: none !important;
}
#mobile-menu nav li:has(a[href*="/uc"]) {
    display: none !important;
}
/* ============================================================
   移动端侧边栏复刻子比(Zibll)风格 v3
   用户卡(头像/名字/描述/消息) + VIP徽章行 + 签到 + 钱包 + 等级
   + 分隔线 + 快捷入口圆图标 + 白底圆点菜单 + 右侧281px抽屉
   ============================================================ */

/* ---- 容器：右侧 281px 抽屉（覆盖父主题左抽屉 340px） ---- */
@media (max-width: 768px) {
    #mobile-menu {
        left: auto !important;
        right: 0 !important;
        width: 281px !important;
        box-shadow: 0 0 40px rgba(0,0,0,.18);
    }
    /* 覆盖父主题 animate.css fadeInLeft/fadeOutLeft → 右侧滑入滑出 */
    #mobile-menu.animated.fadeInLeft  { animation-name: pz-slide-in-right; }
    #mobile-menu.animated.fadeOutLeft { animation-name: pz-slide-out-right; }
}
@keyframes pz-slide-in-right {
    from { transform: translateX(100%); }
    to   { transform: translateX(0); }
}
@keyframes pz-slide-out-right {
    from { transform: translateX(0); }
    to   { transform: translateX(100%); }
}

/* ---- 用户卡：白底无渐变（覆盖 v2 渐变卡片） ---- */
.pz-ms-user-card,
.pz-ms-user-card.pz-ms-vip-lvl-0,
.pz-ms-user-card.pz-ms-vip-lvl-1,
.pz-ms-user-card.pz-ms-vip-lvl-2 {
    flex-direction: column; align-items: stretch;
    padding: 0; margin: 0 0 12px;
    border-radius: 0; background: transparent !important;
    overflow: visible;
}
.pz-ms-user-info { display: flex; align-items: center; gap: 12px; padding: 18px 16px 14px; }
.pz-ms-user-avatar {
    width: 40px; height: 40px; border-radius: 50%;
    border: 0; overflow: hidden; flex-shrink: 0;
}
.pz-ms-user-avatar img { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; }
.pz-ms-user-right { flex: 1; display: flex; align-items: center; gap: 10px; min-width: 0; }
.pz-ms-user-main { flex: 1; min-width: 0; }
.pz-ms-user-name {
    font-size: 15px; font-weight: 700; color: #222;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.pz-ms-user-desc {
    font-size: 12px; color: #999; margin-top: 3px;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.pz-ms-user-msg {
    width: 34px; height: 34px; border-radius: 50%; flex-shrink: 0;
    display: flex; align-items: center; justify-content: center;
    background: rgba(136,136,136,.1); color: #888; font-size: 15px;
    position: relative; text-decoration: none;
}
.pz-ms-user-msg .pz-svg-icon { width: 15px; height: 15px; }
.pz-ms-msg-dot {
    position: absolute; top: -2px; right: -2px;
    min-width: 16px; height: 16px; padding: 0 4px;
    border-radius: 8px; background: #ff4757; color: #fff;
    font-size: 10px; font-weight: 700; border: 1.5px solid #fff;
    display: flex; align-items: center; justify-content: center; line-height: 1;
}

/* ---- VIP 徽章行（子比 payvip-icon 深灰金属渐变 + 黄色有效期） ---- */
.pz-zib-payvip {
    display: block; margin: 0 16px 10px; padding: 8px 12px;
    border-radius: 4px; text-align: center;
    background: linear-gradient(300deg, #4c4d51, #2a2a31 15%, #85858a 40%, #393a3c 60%, #393838 80%, #5e5f62 100%);
    color: #ece0e0; font-size: 13px; line-height: 1.6;
    position: relative; overflow: hidden; text-decoration: none;
}
.pz-zib-payvip-ico { margin-right: 6px; }
.pz-zib-payvip-ico .pz-svg-icon { width: 14px; height: 14px; vertical-align: -2px; }
.pz-zib-payvip-name { white-space: nowrap; }
.pz-zib-vip-exp {
    display: inline-block; margin-left: 8px; padding: 1px 8px;
    border-radius: 4px; font-size: 11px;
    background: linear-gradient(135deg, #f59f54 10%, #ff6922 100%);
    color: #fff; white-space: nowrap;
}
.pz-zib-vip-exp .pz-svg-icon { width: 11px; height: 11px; vertical-align: -1px; margin-right: 3px; }
.pz-zib-payvip-btn { font-weight: 500; }

/* ---- 签到（子比 c-yellow 渐变按钮） ---- */
.pz-zib-checkin {
    display: flex; align-items: center; gap: 8px;
    margin: 0 16px 10px; padding: 9px 14px;
    border-radius: 4px; font-size: 13px;
    background: linear-gradient(135deg, #f59f54 10%, #ff6922 100%);
    color: #fff; text-decoration: none;
}
.pz-zib-checkin-ico .pz-svg-icon { width: 14px; height: 14px; vertical-align: -2px; }
.pz-zib-checkin-arrow { margin-left: auto; opacity: .85; display: flex; align-items: center; }
.pz-zib-checkin-arrow .pz-svg-icon { width: 12px; height: 12px; }
.pz-zib-checkin-done { background: rgba(136,136,136,.12); color: #888; }

/* ---- 钱包两格（子比 muted-box 余额|积分） ---- */
.pz-zib-wallet { display: flex; gap: 10px; margin: 0 16px 12px; }
.pz-zib-wallet a {
    flex: 1; min-width: 0; padding: 8px 12px;
    border-radius: 4px; background: rgba(136,136,136,.1);
    text-decoration: none; display: block;
}
.pz-zib-wallet-label { display: block; font-size: 12px; color: #999; }
.pz-zib-wallet-label .pz-svg-icon { width: 10px; height: 10px; vertical-align: -1px; margin-left: 4px; }
.pz-zib-wallet-val { display: block; font-size: 16px; font-weight: 700; margin-top: 2px; }
.pz-zib-wallet-balance { color: #5c7cff; }
.pz-zib-wallet-points { color: #ff6f06; }

/* ---- 等级行（白底深字，覆盖 v2 渐变卡上的白字） ---- */
.pz-ms-exp-bar { padding: 0 16px 12px; }
.pz-ms-exp-level { font-size: 12px; font-weight: 700; color: #333; }
.pz-ms-exp-need { font-size: 11px; color: #999; }
.pz-ms-exp-track { height: 6px; border-radius: 3px; background: rgba(136,136,136,.15); overflow: hidden; }
.pz-ms-exp-fill { height: 100%; border-radius: 3px; background: linear-gradient(90deg, #5c7cff, #2997f7); }

/* ---- 分隔线（子比 line-form-line） ---- */
.pz-zib-divider { height: 1px; background: rgba(136,136,136,.15); margin: 4px 16px 8px; }

/* ---- 快捷入口（子比 header-user-href 圆图标） ---- */
.pz-zib-href { display: flex; justify-content: space-around; padding: 0 8px 6px; }
.pz-zib-href a {
    display: flex; flex-direction: column; align-items: center; gap: 6px;
    min-width: 56px; padding: 8px 2px 10px;
    text-decoration: none; color: #555; font-size: 12px;
}
.pz-zib-href a:active { opacity: .7; }
.pz-zib-href .pz-zib-ico {
    width: 36px; height: 36px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
}
.pz-zib-href .pz-zib-ico .pz-svg-icon { width: 16px; height: 16px; }
.pz-zib-href .pz-zib-ico i { font-size: 15px; }
.pz-zib-ico-blue   { background: rgba(41,151,247,.1);  color: #2997f7; }
.pz-zib-ico-purple { background: rgba(213,72,245,.1);  color: #e434e1; }
.pz-zib-ico-green  { background: rgba(18,185,40,.1);   color: #18a52a; }
.pz-zib-ico-red    { background: rgba(255,84,115,.1);  color: #ff5473; }

/* ---- 导航菜单：子比 mobile-menus 白底 + 主题色圆点（覆盖 v1.4.70 卡片化） ---- */
#mobile-menu .menus .p-block nav {
    margin: 0; padding: 4px 8px;
    background: transparent; border-radius: 0;
}
#mobile-menu .menus ul li:not(:last-child) { margin-bottom: 2px; }
#mobile-menu .puock-links li span > a {
    display: flex; align-items: center; gap: 0;
    padding: 9px 8px; border-radius: 0;
    color: #333; text-decoration: none; font-size: 15px;
    transition: background .15s;
}
#mobile-menu .puock-links li span > a::before {
    content: ''; width: 8px; height: 8px; border-radius: 50%;
    border: 1.5px solid var(--pz-primary); background: transparent;
    margin-right: 12px; flex-shrink: 0; display: inline-block;
}
#mobile-menu .puock-links li span > a:active { background: rgba(136,136,136,.08); }
#mobile-menu .puock-links li.current-menu-item span > a,
#mobile-menu .puock-links li.current-menu-ancestor span > a { color: var(--pz-primary); font-weight: 600; }
#mobile-menu .puock-links li.current-menu-item span > a::before { background: var(--pz-primary); border-color: var(--pz-primary); }

/* ---- 深色模式适配 ---- */
html[data-bs-theme="dark"] .pz-ms-user-name { color: #e6e6e6; }
html[data-bs-theme="dark"] .pz-ms-user-desc { color: #8a8a99; }
html[data-bs-theme="dark"] .pz-ms-user-msg { background: rgba(255,255,255,.08); color: #c8c8d2; }
html[data-bs-theme="dark"] .pz-ms-msg-dot { border-color: #26262f; }
html[data-bs-theme="dark"] .pz-zib-wallet a { background: rgba(255,255,255,.06); }
html[data-bs-theme="dark"] .pz-zib-wallet-label { color: #8a8a99; }
html[data-bs-theme="dark"] .pz-ms-exp-level { color: #e6e6e6; }
html[data-bs-theme="dark"] .pz-ms-exp-need { color: #8a8a99; }
html[data-bs-theme="dark"] .pz-ms-exp-track { background: rgba(255,255,255,.12); }
html[data-bs-theme="dark"] .pz-ms-exp-fill { background: linear-gradient(90deg, #7d97ff, #5c8dff); }
html[data-bs-theme="dark"] .pz-zib-divider { background: rgba(255,255,255,.1); }
html[data-bs-theme="dark"] .pz-zib-href a { color: #a8a8b4; }
html[data-bs-theme="dark"] .pz-zib-checkin-done { background: rgba(255,255,255,.08); color: #8a8a99; }
html[data-bs-theme="dark"] #mobile-menu .menus .p-block nav { background: transparent; }
html[data-bs-theme="dark"] #mobile-menu .puock-links li span > a { color: #dcdce4; }
html[data-bs-theme="dark"] #mobile-menu .puock-links li span > a::before { border-color: #8a8a99; }
html[data-bs-theme="dark"] #mobile-menu .puock-links li span > a:active { background: rgba(255,255,255,.08); }
html[data-bs-theme="dark"] #mobile-menu .puock-links li.current-menu-item span > a::before { background: var(--pz-primary); border-color: var(--pz-primary); }

/* ---- 小屏微调 ---- */
@media (max-width: 360px) {
    .pz-ms-user-info { padding: 14px 12px 12px; }
    .pz-zib-payvip, .pz-zib-checkin, .pz-zib-wallet, .pz-zib-divider, .pz-ms-exp-bar { margin-left: 12px; margin-right: 12px; }
    .pz-zib-wallet { margin-left: 12px; margin-right: 12px; }
    .pz-zib-href { padding: 0 4px 4px; }
}
