/* ===== 全局 ===== */
* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
    background:#f5f6f8; color:#333; line-height:1.6; font-size:14px;
}
a { text-decoration:none; color:inherit; }
ul { list-style:none; }
button { cursor:pointer; border:none; background:none; font-family:inherit; }
img { max-width:100%; display:block; }
.container { max-width:1200px; margin:0 auto; padding:0 20px; }

/* ===== 顶部导航 ===== */
.header {
    background:#fff; box-shadow:0 1px 3px rgba(0,0,0,0.06);
    position:sticky; top:0; z-index:100;
}
.header-inner {
    display:flex; align-items:center; height:68px; gap:32px;
    max-width:1200px; margin:0 auto; padding:0 20px;
}
.logo { display:flex; align-items:center; gap:8px; flex-shrink:0; }
.logo svg { width:36px; height:36px; }
.logo-img { height:38px; width:auto; max-width:180px; object-fit:contain; display:block; }
.logo-text { font-size:20px; font-weight:700; color:#1f2937; display:flex; flex-direction:column; line-height:1.1; }
.logo-text small { font-size:11px; color:#6b7280; font-weight:400; letter-spacing:2px; }
.nav { display:flex; align-items:center; gap:4px; flex:1; }
/* 导航样式见文件末尾 nav-ul 部分 */
.header-actions { display:flex; align-items:center; gap:8px; }
.user-info { display:flex; align-items:center; gap:8px; font-size:14px; color:#374151; }
.user-info .avatar { width:32px; height:32px; border-radius:50%; background:#2563eb; color:#fff; display:flex; align-items:center; justify-content:center; font-size:14px; font-weight:600; overflow:hidden; flex-shrink:0; }
.user-info .avatar img { width:100%; height:100%; border-radius:50%; object-fit:cover; }
.vip-chip { display:inline-flex; align-items:center; gap:2px; background:linear-gradient(135deg,#f59e0b,#f97316); color:#fff; font-size:11px; font-weight:700; padding:3px 8px; border-radius:10px; text-decoration:none; box-shadow:0 2px 6px rgba(245,158,11,.4); white-space:nowrap; }
.vip-chip-gray { background:#e5e7eb; color:#9ca3af; box-shadow:none; }
.btn-login { padding:7px 20px; border:1px solid #d1d5db; border-radius:6px; font-size:14px; color:#374151; transition:all .2s; }
.btn-login:hover { border-color:#2563eb; color:#2563eb; }
.icon-btn { width:36px; height:36px; border-radius:6px; display:flex; align-items:center; justify-content:center; color:#6b7280; transition:all .2s; }
.icon-btn:hover { background:#f3f4f6; color:#2563eb; }

/* ===== 搜索弹窗 ===== */
.search-modal { position:fixed; top:0; left:0; right:0; background:rgba(0,0,0,0.5); padding:80px 20px 0; z-index:300; display:none; }
.search-modal.show { display:block; }
.search-box { max-width:600px; margin:0 auto; background:#fff; border-radius:12px; padding:16px; display:flex; align-items:center; gap:12px; box-shadow:0 20px 60px rgba(0,0,0,0.2); }
.search-box input { flex:1; border:none; outline:none; font-size:16px; padding:8px 0; }
.search-close { font-size:24px; color:#9ca3af; width:32px; height:32px; display:flex; align-items:center; justify-content:center; }

/* ===== 轮播 ===== */
.banner { position:relative; height:320px; overflow:hidden; background:#1a2332; }
.banner-slides { position:relative; height:100%; cursor:grab; touch-action:pan-y; user-select:none; }
.banner-slides.dragging { cursor:grabbing; }
.banner-slide { position:absolute; top:0; left:0; width:100%; height:100%; display:flex; align-items:center; opacity:0; transition:opacity .6s; }
.banner-slide.active { opacity:1; }
.banner-mask { position:absolute; inset:0; background:linear-gradient(90deg,rgba(0,0,0,.32) 0%,rgba(0,0,0,.12) 45%,rgba(0,0,0,0) 75%); pointer-events:none; }
.banner-content { position:relative; z-index:2; color:#fff; max-width:1200px; margin:0 auto; padding:0 20px; width:100%; }
.banner-content h2 { font-size:32px; font-weight:700; margin-bottom:12px; }
.banner-content p { font-size:16px; opacity:.9; margin-bottom:24px; }
.banner-btn { display:inline-block; padding:10px 28px; background:rgba(255,255,255,0.2); backdrop-filter:blur(10px); border:1px solid rgba(255,255,255,0.3); border-radius:8px; color:#fff; font-size:15px; transition:all .2s; }
.banner-btn:hover { background:rgba(255,255,255,0.3); }
.banner-dots { position:absolute; bottom:20px; left:50%; transform:translateX(-50%); display:flex; gap:8px; }
.dot { width:24px; height:4px; border-radius:2px; background:rgba(255,255,255,0.4); cursor:pointer; transition:all .3s; }
.dot.active { background:#4ade80; width:32px; }

/* ===== 分类标签 ===== */
.cat-tabs {
    display:flex; gap:4px; background:#fff; border-radius:10px; padding:8px;
    margin:-30px auto 24px; position:relative; z-index:10;
    box-shadow:0 4px 16px rgba(0,0,0,0.08); max-width:1200px; overflow-x:auto;
}
.cat-tab { padding:10px 22px; font-size:14px; color:#4b5563; border-radius:6px; white-space:nowrap; transition:all .2s; }
.cat-tab:hover { color:#2563eb; }
.cat-tab.active { background:#2563eb; color:#fff; font-weight:500; }

/* ===== 软件卡片 ===== */
.app-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.app-card {
    background:#fff; border-radius:10px; overflow:hidden; transition:all .25s;
    cursor:pointer; position:relative; border:1px solid #eef0f3;
}
.app-card:hover { transform:translateY(-4px); box-shadow:0 12px 28px rgba(0,0,0,0.1); }
.app-card .new-tag { position:absolute; top:10px; left:10px; width:10px; height:10px; background:#ef4444; border-radius:50%; z-index:2; }
.app-icon-wrap { height:auto; padding:22px 16px 4px; display:flex; align-items:center; justify-content:center; background:transparent; position:relative; }
.app-icon { width:104px; height:104px; border-radius:22px; object-fit:cover; box-shadow:0 6px 18px rgba(0,0,0,0.14); }
.platform-badge { position:absolute; top:12px; right:12px; font-size:18px; opacity:.5; }
.app-info { padding:14px 16px 16px; }
.app-meta { display:flex; align-items:center; gap:8px; margin-bottom:8px; flex-wrap:wrap; }
.meta-tag { font-size:12px; color:#6b7280; display:flex; align-items:center; gap:3px; }
.meta-tag::before { content:''; width:6px; height:6px; border-radius:50%; display:inline-block; }
.meta-tag.platform::before { background:#f97316; }
.meta-tag.category::before { background:#22c55e; }
.meta-tag.series::before { background:#3b82f6; }
.app-title { font-size:14px; font-weight:600; color:#1f2937; line-height:1.4; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height:40px; margin-bottom:10px; }
.app-card:hover .app-title { color:#2563eb; }
.app-footer { display:flex; align-items:center; justify-content:space-between; font-size:12px; color:#9ca3af; }
.app-footer-left { display:flex; align-items:center; gap:12px; }
.app-footer-item { display:flex; align-items:center; gap:4px; }
.price-tag { padding:2px 8px; border-radius:4px; font-size:11px; font-weight:600; background:#fbbf24; color:#92400e; }
.price-tag.free { background:#fbbf24; color:#92400e; }

/* ===== 加载更多 ===== */
.load-more-wrap { text-align:center; margin:32px 0; }
.load-more-btn { padding:12px 48px; background:#374151; color:#fff; border-radius:8px; font-size:14px; transition:all .2s; }
.load-more-btn:hover { background:#1f2937; }

/* ===== 专题分区 ===== */
.section { padding:16px 0; }
.section-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:20px; padding-bottom:12px; border-bottom:1px solid #e5e7eb; }
.section-title { font-size:18px; font-weight:700; color:#1f2937; display:flex; align-items:center; gap:8px; }
.title-icon { display:inline-flex; align-items:center; justify-content:center; width:28px; height:28px; background:#f3f4f6; border-radius:6px; font-size:14px; }
.section-more { font-size:14px; color:#6b7280; transition:color .2s; }
.section-more:hover { color:#2563eb; }

/* ===== 详情页 ===== */
.detail-wrap { max-width:1200px; margin:24px auto; padding:0 20px; display:grid; grid-template-columns:1fr 300px; gap:24px; }
.detail-main { background:#fff; border-radius:10px; padding:28px; }
.breadcrumb { font-size:13px; color:#6b7280; margin-bottom:12px; display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.breadcrumb a { color:#2563eb; }
.breadcrumb .sep { color:#d1d5db; }
.detail-title { font-size:22px; font-weight:700; color:#1f2937; margin-bottom:20px; padding-bottom:16px; border-bottom:1px dashed #e5e7eb; }
.detail-icon-large { text-align:center; margin:24px 0; }
.detail-icon-large img { width:120px; height:120px; border-radius:26px; object-fit:cover; box-shadow:0 8px 24px rgba(0,0,0,0.15); }
.detail-support { margin:20px 0; padding:16px 0; border-top:1px solid #f3f4f6; border-bottom:1px solid #f3f4f6; }
.detail-support p { font-size:14px; color:#4b5563; margin-bottom:6px; display:flex; align-items:center; gap:8px; }
.detail-support .check { color:#2563eb; font-weight:bold; }
.detail-section { margin-top:28px; }
.detail-section h3 { font-size:16px; font-weight:700; margin-bottom:14px; padding-left:10px; border-left:3px solid #2563eb; color:#1f2937; }
.detail-section p, .detail-section li { font-size:14px; color:#4b5563; line-height:1.8; margin-bottom:10px; }
.detail-section ul { padding-left:20px; list-style:disc; }
.detail-section img { max-width:100%; height:auto; border-radius:8px; margin:12px 0; }
.detail-content { line-height:1.8; color:#4b5563; }
.detail-content h2 { font-size:18px; margin:20px 0 12px; color:#1f2937; }
.detail-content img { max-width:100%; height:auto; border-radius:8px; margin:12px 0; }

/* 右侧边栏 */
.detail-sidebar { position:sticky; top:88px; align-self:start; }
.sidebar-card { background:#fff; border-radius:10px; padding:20px; margin-bottom:16px; }
.price-badge { text-align:center; padding:16px; border-radius:8px; margin-bottom:16px; font-size:24px; font-weight:700; }
.price-badge.free { background:linear-gradient(135deg,#fbbf24,#f59e0b); color:#fff; }
.price-badge.paid { background:linear-gradient(135deg,#fbbf24,#f59e0b); color:#fff; }
.download-btn-group { display:flex; flex-direction:column; gap:10px; }
.dl-btn { display:flex; align-items:center; justify-content:center; gap:8px; padding:12px; border-radius:8px; font-size:14px; font-weight:500; transition:all .2s; color:#fff; }
.dl-btn.baidu { background:#2563eb; }
.dl-btn.baidu:hover { background:#1d4ed8; }
.dl-btn.web { background:#2563eb; }
.dl-btn.web:hover { background:#1d4ed8; }
.dl-btn.unlock { background:linear-gradient(135deg,#06b6d4,#0891b2); }
.dl-btn.unlock:hover { opacity:.9; }
.dl-btn.disabled { background:#9ca3af; cursor:not-allowed; }
.info-table { width:100%; font-size:13px; }
.info-table td { padding:8px 0; border-bottom:1px solid #f3f4f6; }
.info-table td:first-child { color:#6b7280; width:45%; }
.info-table td:last-child { color:#1f2937; text-align:right; font-weight:500; }
.sidebar-search { display:flex; gap:8px; }
.sidebar-search input { flex:1; padding:8px 12px; border:1px solid #d1d5db; border-radius:6px; font-size:13px; }
.sidebar-search button { padding:8px 14px; background:#2563eb; color:#fff; border-radius:6px; }
.qrcode-box { text-align:center; }
.qrcode-box img { width:140px; height:140px; margin:0 auto 8px; }
.qrcode-box p { font-size:12px; color:#6b7280; }

/* ===== 登录/注册页 ===== */
.auth-page { min-height:calc(100vh - 68px); display:flex; align-items:center; justify-content:center; padding:40px 20px; background:linear-gradient(135deg,#667eea 0%,#764ba2 100%); }
.auth-box { background:#fff; border-radius:16px; padding:40px; width:100%; max-width:400px; box-shadow:0 20px 60px rgba(0,0,0,0.2); }
.auth-brand { display:flex; align-items:center; justify-content:center; gap:9px; margin-bottom:18px; text-decoration:none; }
.auth-brand img { height:36px; width:auto; max-width:150px; object-fit:contain; }
.auth-brand span { font-size:21px; font-weight:800; color:#1f2937; letter-spacing:.5px; }
.auth-box h2 { text-align:center; font-size:24px; margin-bottom:8px; }
.auth-box .subtitle { text-align:center; color:#6b7280; font-size:14px; margin-bottom:28px; }
.form-group { margin-bottom:18px; }
.form-group label { display:block; font-size:13px; font-weight:600; color:#374151; margin-bottom:6px; }
.form-group input { width:100%; padding:12px 14px; border:1px solid #d1d5db; border-radius:8px; font-size:14px; transition:border-color .2s; }
.form-group input:focus { outline:none; border-color:#2563eb; box-shadow:0 0 0 3px rgba(37,99,235,0.1); }
.auth-btn { width:100%; padding:12px; background:#2563eb; color:#fff; border-radius:8px; font-size:15px; font-weight:500; transition:all .2s; }
.auth-btn:hover { background:#1d4ed8; }
.auth-footer { text-align:center; margin-top:20px; font-size:13px; color:#6b7280; }
.auth-footer a { color:#2563eb; }
.auth-error { background:#fef2f2; color:#dc2626; padding:10px 14px; border-radius:6px; font-size:13px; margin-bottom:16px; text-align:center; }
.auth-success { background:#f0fdf4; color:#16a34a; padding:10px 14px; border-radius:6px; font-size:13px; margin-bottom:16px; text-align:center; }

/* ===== 用户中心 ===== */
.user-center { max-width:1200px; margin:24px auto; padding:0 20px; }
.user-header { background:#fff; border-radius:10px; padding:24px; display:flex; align-items:center; gap:20px; margin-bottom:20px; }
.user-avatar { width:72px; height:72px; border-radius:50%; background:linear-gradient(135deg,#667eea,#764ba2); color:#fff; display:flex; align-items:center; justify-content:center; font-size:28px; font-weight:700; }
.user-meta h2 { font-size:20px; margin-bottom:4px; }
.user-meta p { font-size:13px; color:#6b7280; }
.vip-badge { display:inline-block; padding:2px 10px; background:linear-gradient(135deg,#fbbf24,#f59e0b); color:#fff; border-radius:4px; font-size:11px; font-weight:600; margin-left:8px; }
.user-tabs { display:flex; gap:4px; background:#fff; border-radius:10px; padding:8px; margin-bottom:20px; }
.user-tab { padding:10px 20px; border-radius:6px; font-size:14px; color:#4b5563; cursor:pointer; transition:all .2s; }
.user-tab.active { background:#2563eb; color:#fff; }
.user-content { background:#fff; border-radius:10px; padding:24px; min-height:300px; }
.order-item { display:flex; align-items:center; justify-content:space-between; padding:14px 0; border-bottom:1px solid #f3f4f6; }
.order-item:last-child { border-bottom:none; }
.order-info h4 { font-size:14px; margin-bottom:4px; }
.order-info p { font-size:12px; color:#9ca3af; }
.order-amount { font-size:16px; font-weight:600; color:#2563eb; }
.order-status { font-size:12px; padding:2px 8px; border-radius:4px; }
.order-status.paid { background:#d1fae5; color:#065f46; white-space:nowrap; }
.order-status.pending { background:#fef3c7; color:#92400e; white-space:nowrap; }
.user-avatar { overflow:hidden; flex-shrink:0; }
.user-avatar img { width:100%; height:100%; border-radius:50%; object-fit:cover; }
.user-meta { min-width:0; flex:1; }
.user-actions { margin-left:auto; display:flex; flex-direction:column; gap:8px; flex-shrink:0; }
.uc-btn { display:inline-block; text-align:center; padding:8px 16px; border:1px solid #d1d5db; border-radius:8px; font-size:13px; color:#374151; text-decoration:none; white-space:nowrap; background:#fff; transition:all .15s; }
.uc-btn:active { transform:scale(.97); }
.uc-btn-primary { background:#2563eb; color:#fff; border-color:#2563eb; }
.order-info { flex:1; min-width:0; padding-right:14px; }
.order-info h4 { line-height:1.5; }
.order-item .order-right { text-align:right; flex-shrink:0; display:flex; flex-direction:column; align-items:flex-end; gap:4px; }
.br-mobile { display:none; }
/* 账号设置/编辑资料页 */
.profile-wrap { max-width:660px; margin:26px auto 50px; padding:0 20px; }
.profile-topbar { margin-bottom:18px; }
.profile-topbar h2 { font-size:22px; margin-top:8px; color:#111827; }
.pf-back { font-size:13.5px; color:#6b7280; text-decoration:none; }
.pf-back:hover { color:#2563eb; }
.profile-card { background:#fff; border-radius:16px; padding:26px 28px; box-shadow:0 2px 12px rgba(15,23,42,.06); border:1px solid #f1f5f9; margin-bottom:20px; }
.pf-card-head { display:flex; align-items:center; gap:9px; margin-bottom:22px; padding-bottom:16px; border-bottom:1px solid #f1f5f9; }
.pf-card-head h3 { font-size:16.5px; color:#111827; }
.pf-card-ico { width:34px;height:34px;border-radius:9px;background:#eff6ff;display:flex;align-items:center;justify-content:center;font-size:17px;}
.pf-avatar-center { display:flex; flex-direction:column; align-items:center; gap:10px; margin-bottom:24px; }
.pf-big-avatar { width:92px;height:92px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-size:38px;font-weight:700;overflow:hidden;box-shadow:0 6px 18px rgba(102,126,234,.3);}
.pf-big-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%;}
.pf-upload-btn { display:inline-block; padding:8px 18px; background:#f1f5f9; border:1px solid #e2e8f0; border-radius:20px; font-size:13px; color:#334155; cursor:pointer; transition:all .15s; }
.pf-upload-btn:hover { background:#e2e8f0; }
.pf-row { margin-bottom:17px; }
.pf-row label { display:block; font-size:13.5px; font-weight:600; color:#374151; margin-bottom:8px; }
.pf-label-sub { font-weight:400; color:#9ca3af; font-size:12px; }
.pf-row input { width:100%; padding:12px 15px; border:1.5px solid #e5e7eb; border-radius:10px; font-size:14px; box-sizing:border-box; background:#fafbfc; transition:all .15s; }
.pf-row input:focus { outline:none; border-color:#2563eb; background:#fff; box-shadow:0 0 0 3px rgba(37,99,235,.1); }
.pf-pwd-wrap { position:relative; }
.pf-pwd-wrap input { padding-right:46px; }
.pf-eye { position:absolute; right:6px; top:50%; transform:translateY(-50%); border:none; background:transparent; font-size:17px; cursor:pointer; padding:6px; line-height:1; }
.pf-vip-status { padding:11px 15px; border-radius:10px; background:#f3f4f6; color:#6b7280; font-size:13.5px; }
.pf-vip-status.on { background:linear-gradient(135deg,#fef3c7,#fde68a); color:#92400e; font-weight:600; }
.pf-submit { width:100%; padding:13.5px; border:none; border-radius:11px; background:linear-gradient(135deg,#3b82f6,#2563eb); color:#fff; font-size:15px; font-weight:600; cursor:pointer; transition:all .15s; }
.pf-submit:active { transform:scale(.99); }
.pf-submit-warm { background:linear-gradient(135deg,#f59e0b,#d97706); }
.pf-hint { font-size:12px; color:#9ca3af; margin-top:5px; }
.pf-msg { padding:12px 17px; border-radius:10px; font-size:13.5px; margin-bottom:18px; }
.pf-msg.ok { background:#dcfce7; color:#166534; } .pf-msg.err { background:#fef2f2; color:#b91c1c; }

/* ===== 页脚 ===== */
.footer { background:#1f2937; color:#9ca3af; margin-top:48px; }
.footer-inner { display:grid; grid-template-columns:2fr 1fr 1fr 1.5fr; gap:40px; max-width:1200px; margin:0 auto; padding:48px 20px 32px; }
.footer-col h4 { color:#fff; font-size:15px; margin-bottom:16px; }
.footer-col p { font-size:13px; line-height:1.8; }
.footer-col ul li { margin-bottom:10px; }
.footer-col ul li a { font-size:13px; transition:color .2s; }
.footer-col ul li a:hover { color:#fff; }
.footer-bottom { border-top:1px solid #374151; padding:20px 0; text-align:center; font-size:12px; }
.footer-bottom p { margin-bottom:4px; }

/* ===== 悬浮工具 ===== */
.float-tools { position:fixed; right:20px; bottom:80px; display:flex; flex-direction:column; gap:4px; z-index:50; }
.float-btn { width:40px; height:40px; background:#fff; border-radius:6px; display:flex; align-items:center; justify-content:center; color:#6b7280; box-shadow:0 2px 8px rgba(0,0,0,0.1); transition:all .2s; }
.float-btn:hover { color:#2563eb; transform:translateX(-2px); }
.float-btn.back-top { opacity:0; visibility:hidden; transition:all .3s; }
.float-btn.back-top.show { opacity:1; visibility:visible; }

/* ===== 分页 ===== */
.pagination { display:flex; justify-content:center; gap:6px; margin:32px 0; }
.pagination a, .pagination span { padding:8px 14px; border:1px solid #e5e7eb; border-radius:6px; font-size:14px; color:#4b5563; transition:all .2s; }
.pagination a:hover { border-color:#2563eb; color:#2563eb; }
.pagination .current { background:#2563eb; color:#fff; border-color:#2563eb; }

/* ===== 响应式 ===== */
@media (max-width:1024px) {
    .app-grid { grid-template-columns:repeat(3,1fr); }
    .footer-inner { grid-template-columns:1fr 1fr; gap:32px; }
    .detail-wrap { grid-template-columns:1fr; }
    .detail-sidebar { position:static; }
}
@media (max-width:768px) {
    .header-inner { gap:12px; }
    .nav { display:none; }
    .app-grid { grid-template-columns:repeat(2,1fr); gap:10px; }
    .app-card { border-radius:8px; }
    .app-icon-wrap { height:auto; padding:16px 8px 2px; }
    .app-icon { width:72px; height:72px; border-radius:16px; }
    .app-info { padding:8px 10px; }
    .app-title { font-size:13px; margin:4px 0; }
    .app-meta { gap:4px; }
    .meta-tag { font-size:10px; padding:1px 5px; }
    .app-footer { padding:6px 10px; }
    .app-footer-item { font-size:10px; }
    .price-tag { font-size:11px; padding:2px 6px; }
    .banner { height:200px; }
    .banner-content h2 { font-size:20px; }
    .footer-inner { grid-template-columns:1fr 1fr; gap:22px 18px; padding:32px 16px 24px; }
    .footer-col:first-child { grid-column:1 / -1; }
    .footer-col h4 { font-size:13.5px; margin-bottom:10px; }
    .footer-col ul li { margin-bottom:8px; }
    .footer-col ul li a, .footer-col p { font-size:12.5px; }
    .cat-tabs { margin:-20px 12px 16px; }
    .float-tools { right:10px; }
    .container { padding:0 12px; }
    .detail-main { padding:16px; }
    /* 用户中心手机端 */
    .user-center { margin:14px auto; padding:0 12px; }
    .user-header { flex-wrap:wrap; padding:18px; gap:14px; }
    .user-avatar { width:58px !important; height:58px !important; min-width:58px !important; max-width:58px !important; aspect-ratio:1/1 !important; font-size:23px !important; }
    .user-avatar img { width:100% !important; height:100% !important; object-fit:cover !important; border-radius:50%; }
    .user-info .avatar { width:34px !important; height:34px !important; min-width:34px; }
    .user-info .avatar img { width:100%;height:100%;object-fit:cover;border-radius:50%; }
    .user-meta h2 { font-size:17px; display:flex;align-items:center;flex-wrap:wrap;gap:6px; }
    .user-meta p { font-size:12px; line-height:1.7; }
    .br-mobile { display:inline; }
    .user-actions { flex-direction:row; width:100%; margin-left:0; }
    .user-actions .uc-btn { flex:1; padding:10px; }
    .user-tabs { flex-wrap:nowrap; padding:6px; gap:6px; }
    .user-tab { white-space:nowrap; padding:10px 4px; font-size:13.5px; flex:1 1 0; text-align:center; }
    .user-content { padding:16px; }
    .order-info h4 { font-size:13.5px; }
    .order-info p { font-size:11px; line-height:1.6; word-break:break-all; }
    .vip-plans { grid-template-columns:1fr !important; gap:14px !important; }
    .vip-plans > div { padding:20px !important; }
    .profile-card { padding:20px; }
    .profile-wrap { margin:14px auto; padding:0 12px; }
}
@media (max-width:480px) {
    .app-grid { grid-template-columns:repeat(2,1fr); gap:8px; }
    .app-icon-wrap { height:auto; padding:14px 6px 2px; }
    .app-icon { width:64px; height:64px; border-radius:14px; }
    .app-title { font-size:12px; }
    .app-footer-item { font-size:9px; }
}



/* 富文本突出显示块 - 边框+背景色效果 */
.quote-block { border-radius:10px; padding:16px 20px; margin:16px 0; border:1.5px solid #e5e7eb; background:#f9fafb; border-left:4px solid #9ca3af; }
.quote-block p { margin:6px 0; color:#374151; line-height:1.8; }
.quote-block.red { background:#fef2f2; border-color:#fecaca; border-left-color:#ef4444; }
.quote-block.red p { color:#991b1b; }
.quote-block.blue { background:#eff6ff; border-color:#bfdbfe; border-left-color:#3b82f6; }
.quote-block.blue p { color:#1e40af; }
.quote-block.green { background:#f0fdf4; border-color:#bbf7d0; border-left-color:#22c55e; }
.quote-block.green p { color:#166534; }
.quote-block.yellow { background:#fefce8; border-color:#fde68a; border-left-color:#eab308; }
.quote-block.yellow p { color:#854d0e; }
.quote-block.purple { background:#faf5ff; border-color:#e9d5ff; border-left-color:#a855f7; }
.quote-block.purple p { color:#6b21a8; }
.rte-editor .quote-block { margin:10px 0; }

/* ===== 导航栏 ul/li 结构 + 三级菜单 ===== */
.nav-ul { display:flex; list-style:none; margin:0; padding:0; gap:4px; }
.nav-li { position:relative; }
.nav-link { display:flex; align-items:center; gap:4px; padding:8px 16px; font-size:15px; color:#374151; text-decoration:none; border-radius:8px; transition:all .15s; cursor:pointer; }
.nav-link:hover { background:#eff6ff; color:#2563eb; }
.nav-li .arrow { font-size:10px; opacity:.6; }
/* 二级下拉 */
.dropdown-ul {
    position:absolute; top:100%; left:0; min-width:180px;
    background:#fff; border-radius:10px; box-shadow:0 8px 24px rgba(0,0,0,0.12);
    padding:6px; list-style:none; margin:0;
    opacity:0; visibility:hidden; transform:translateY(6px); transition:all .18s;
    z-index:500;
}
.nav-li.has-dropdown:hover > .dropdown-ul { opacity:1; visibility:visible; transform:translateY(0); }
.dropdown-ul > li { position:relative; }
.dropdown-ul > li > a {
    display:flex; align-items:center; justify-content:space-between;
    padding:9px 14px; font-size:14px; color:#4b5563; text-decoration:none;
    border-radius:6px; transition:all .12s; white-space:nowrap;
}
.dropdown-ul > li > a:hover { background:#eff6ff; color:#2563eb; }
.dropdown-ul .sub-arrow { font-size:10px; opacity:.5; margin-left:12px; }
/* 三级菜单 - 右侧弹出 */
.submenu-ul {
    position:absolute; left:100%; top:-6px; min-width:180px;
    background:#fff; border-radius:10px; box-shadow:0 8px 24px rgba(0,0,0,0.12);
    padding:6px; list-style:none; margin:0;
    opacity:0; visibility:hidden; transform:translateX(-6px); transition:all .15s;
    z-index:600;
}
.dropdown-ul > li.has-submenu:hover > .submenu-ul { opacity:1; visibility:visible; transform:translateX(0); }
.submenu-ul li a {
    display:block; padding:9px 14px; font-size:13px; color:#4b5563;
    text-decoration:none; border-radius:6px; transition:all .12s; white-space:nowrap;
}
.submenu-ul li a:hover { background:#eff6ff; color:#2563eb; }
/* 手机端导航 */
@media(max-width:768px){
    .nav-ul { flex-wrap:wrap; gap:2px; }
    .nav-link { padding:6px 10px; font-size:13px; }
    .dropdown-ul, .submenu-ul { position:static; opacity:1; visibility:visible; transform:none; box-shadow:none; display:none; }
    .nav-li.has-dropdown:hover > .dropdown-ul, .dropdown-ul > li.has-submenu:hover > .submenu-ul { display:block; }
}
/* ===== 富文本兼容列表（旧竖线数据自动转换）===== */
.detail-section-content .rich-list,
.rte-content ul, .detail-section-content ul { list-style:none; padding:0; margin:12px 0; }
.detail-section-content .rich-list li,
.rte-content ul li, .detail-section-content ul li {
    position:relative; padding:8px 0 8px 28px; line-height:1.7; color:#374151; font-size:14.5px;
    border-bottom:1px dashed #f0f0f0;
}
.detail-section-content .rich-list li:last-child,
.detail-section-content ul li:last-child { border-bottom:none; }
.detail-section-content .rich-list li::before,
.detail-section-content ul li::before {
    content:''; position:absolute; left:4px; top:15px; width:8px; height:8px;
    border-radius:50%; background:linear-gradient(135deg,#667eea,#764ba2);
    box-shadow:0 0 0 3px rgba(102,126,234,.12);
}
.detail-section-content p { line-height:1.8; margin:8px 0; color:#374151; }
