/* ═══════════════════════════════════════════════════════════════════
   你好盒子 · 移动端美化层（fy-mobile-enhance）
   ─────────────────────────────────────────────────────────────────
   仅作用于 max-width:768px 移动端视口，桌面端完全不受影响。
   设计语言（源自产品原型 app/index.html）：
     浅冷底 #F2F4F8 · 白色大圆角卡 18px · 品牌紫 #6C5CE7
     琥珀 #F5A524 · 紫调阴影 · 胶囊标签 · 信息分层卡片
   深浅双主题各自呈现；保留：功能页双列宫格、首页单列大卡流、
   图片灯箱、返回顶部 FAB、主题切换、轻提示等交互。
   全部基于模板既有 --fy-* 令牌与图标类。
   ═══════════════════════════════════════════════════════════════════ */
@media (max-width: 768px) {

/* ── 0. 基础：移除点击高亮与误触放大 ───────────────────────── */
body {
    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation;
}
input, select, textarea { font-size: 16px; } /* iOS 防聚焦放大 */

/* ── 1. 移动顶栏：白亮毛玻璃（深色主题=深蓝紫） ─────────────── */
.fy-mobile-top {
    padding-top: calc(env(safe-area-inset-top, 0px) + 10px);
    background: rgba(255, 255, 255, .88);
    -webkit-backdrop-filter: blur(18px) saturate(1.4);
    backdrop-filter: blur(18px) saturate(1.4);
    border-bottom: 1px solid rgba(25, 28, 38, .08);
    box-shadow: 0 1px 2px rgba(23, 26, 38, .04);
    transition: box-shadow .25s ease;
}
.fy-mobile-top.is-scrolled {
    border-bottom-color: rgba(108, 92, 231, .18);
    box-shadow: 0 10px 30px -12px rgba(108, 92, 231, .16);
}

.fy-mobile-top-bar { gap: 10px; min-height: 40px; }
.fy-mobile-top-bar > button[data-fy-mobile-nav] {
    width: 38px; height: 38px; flex-basis: 38px;
    border-radius: 10px;
    background: #FFFFFF;
    border: 1px solid rgba(25, 28, 38, .09);
    color: #191C26;
    box-shadow: 0 1px 2px rgba(23, 26, 38, .04);
    transition: transform .15s ease, box-shadow .2s ease;
}
.fy-mobile-top-bar > button[data-fy-mobile-nav]:active { transform: scale(.92); }
.fy-mobile-top .fy-logo-img { width: 28px; height: 28px; flex-basis: 28px; border-radius: 8px; }
.fy-mobile-top-bar h1 {
    font-size: 17px;
    font-weight: 700;
    letter-spacing: .01em;
    color: #191C26;
}

/* 主题切换按钮：白底圆角 */
.fy-mobile-theme-btn {
    display: inline-flex; align-items: center; justify-content: center;
    width: 38px; height: 38px; flex: 0 0 38px; padding: 0;
    border: 1px solid rgba(25, 28, 38, .09);
    border-radius: 10px;
    background: #FFFFFF;
    color: #6C5CE7;
    font-size: 17px; line-height: 1;
    box-shadow: 0 1px 2px rgba(23, 26, 38, .04);
    transition: transform .15s ease, box-shadow .2s ease;
}
.fy-mobile-theme-btn:active { transform: scale(.92); }

/* ── 2. 搜索胶囊：白底胶囊 + 品牌紫图标 ─────────────────────── */
.fy-mobile-search {
    height: 42px;
    padding: 0 14px;
    border-radius: 999px;
    background: #FFFFFF;
    border: 1px solid rgba(25, 28, 38, .09);
    color: #9AA1B1;
    box-shadow: 0 1px 2px rgba(23, 26, 38, .04);
    transition: border-color .2s ease, box-shadow .2s ease;
}
.fy-mobile-search:focus-within {
    border-color: #6C5CE7;
    box-shadow: 0 0 0 3px rgba(108, 92, 231, .12), 0 10px 26px -10px rgba(108, 92, 231, .24);
}
.fy-mobile-search .fy-icon { font-size: 15px; color: #6C5CE7; }
.fy-mobile-search input { font-size: 13.5px; color: #191C26; }
.fy-mobile-search input::placeholder { color: #9AA1B1; }

/* ── 3. 筛选条：白色胶囊，横向滑动，激活=品牌紫 ─────────────── */
.fy-filter-bar {
    flex-wrap: nowrap;
    overflow-x: auto;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    padding: 2px 2px 8px;
    margin-bottom: 12px;
}
.fy-filter-bar::-webkit-scrollbar { display: none; }
.fy-filter-item {
    flex: 0 0 auto;
    height: 34px;
    padding: 0 15px;
    border-radius: 999px;
    border: 1px solid rgba(25, 28, 38, .09);
    background: #FFFFFF;
    color: #71798D;
    font-size: 13.5px;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: all .2s ease;
}
.fy-filter-item:active { transform: scale(.94); }
/* 激活：品牌紫（赢框架全局 var(--fy-active) 规则） */
.fy-filter-item.fy-active {
    background: #6C5CE7;
    border-color: #6C5CE7;
    color: #FFFFFF;
    box-shadow: 0 10px 24px -10px rgba(108, 92, 231, .55);
}
/* 首页筛选条容器：白底圆角（覆盖框架赛博面板） */
.fy-page-index .fy-filter-bar {
    border-color: rgba(25, 28, 38, .08);
    background: #FFFFFF;
    border-radius: 999px;
    padding: 4px;
}
/* 首页筛选条激活（页面级同权，赢框架青色激活） */
[data-theme="light"] .fy-page-index .fy-filter-item.fy-active,
[data-theme="dark"] .fy-page-index .fy-filter-item.fy-active {
    background: #6C5CE7;
    border-color: #6C5CE7;
    color: #FFFFFF;
    box-shadow: 0 10px 24px -10px rgba(108, 92, 231, .55);
}

/* ── 4. 首页帖子流：单列整宽大卡，白底圆角 + 紫调阴影 ────────── */
.fy-stream {
    grid-template-columns: 1fr;
    gap: 14px;
}
.fy-stream .fy-post {
    position: relative;
    padding: 15px 15px 13px;
    border-radius: 18px;
    border: 1px solid rgba(25, 28, 38, .06);
    background: #FFFFFF;
    box-shadow:
        0 1px 2px rgba(23, 26, 38, .04),
        0 10px 26px -8px rgba(108, 92, 231, .14),
        0 26px 60px -24px rgba(108, 92, 231, .18);
    overflow: hidden;
    transition: transform .18s ease, box-shadow .25s ease;
}
.fy-stream .fy-post:active { transform: scale(.975); }
.fy-stream .fy-post:hover {
    box-shadow:
        0 1px 2px rgba(23, 26, 38, .04),
        0 16px 34px -10px rgba(108, 92, 231, .2),
        0 30px 70px -26px rgba(108, 92, 231, .24);
}

/* 标题：两行截断 */
.fy-stream .fy-post-title {
    margin: 2px 0 6px;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.45;
    color: #191C26;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* 正文摘要 */
.fy-stream .fy-post-text {
    margin: 0;
    font-size: 13.5px;
    line-height: 1.7;
    color: #71798D;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* 图片：圆角，单图 16:9 / 多图三宫格 */
.fy-stream .fy-post-media-single { margin-top: 11px; }
.fy-stream .fy-post-media-single img {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    border-radius: 10px;
}
.fy-stream .fy-post-media-gallery {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
    margin-top: 11px;
}
.fy-stream .fy-post-media-gallery img {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    border-radius: 8px;
}

/* 底部信息行 */
.fy-stream .fy-post-foot {
    display: block;
    margin-top: 11px;
    padding-top: 11px;
    border-top: 1px solid rgba(25, 28, 38, .05);
}
.fy-stream .fy-post-foot-meta {
    display: flex;
    align-items: center;
    gap: 7px;
    flex-wrap: wrap;
}
.fy-stream .fy-post-time {
    font-size: 11.5px;
    color: #9AA1B1;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.fy-stream .fy-post-meta-sep { color: rgba(25, 28, 38, .2); }

/* 分类徽章：彩色柔和胶囊 */
.fy-stream .fy-post-badge {
    border-radius: 999px;
    padding: 2.5px 9px;
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: .02em;
    background: color-mix(in srgb, var(--fy-category-color) 12%, transparent);
    color: var(--fy-category-color);
    border: 1px solid color-mix(in srgb, var(--fy-category-color) 30%, transparent);
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
/* 置顶：琥珀胶囊 */
.fy-stream .fy-post-pin {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2.5px 9px;
    border-radius: 999px;
    border: 1px solid rgba(245, 165, 36, .35);
    background: rgba(245, 165, 36, .14);
    color: #C77C0B;
    font-size: 10.5px;
    font-weight: 700;
}

/* 统计行 */
.fy-stream .fy-post-stats {
    display: flex;
    gap: 16px;
    margin-top: 10px;
    font-size: 12.5px;
    color: #71798D;
}
.fy-stream .fy-post-stat {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}
.fy-stream .fy-post-stat .fy-icon { font-size: 13px; color: #6C5CE7; }

/* 管理操作按钮（管理员可见）保持紧凑 */
.fy-stream .fy-post-admin-actions { gap: 6px; margin-top: 8px; }

/* 加载更多：整宽白底紫字胶囊 */
.fy-load-more .fy-btn {
    width: 100%;
    height: 44px;
    border-radius: 999px;
    background: #FFFFFF;
    border: 1px solid rgba(25, 28, 38, .09);
    color: #6C5CE7;
    font-size: 13.5px;
    font-weight: 700;
    box-shadow: 0 1px 2px rgba(23, 26, 38, .04);
}
.fy-load-more .fy-btn:active { background: rgba(108, 92, 231, .06); }

/* 首页空状态：白卡虚线紫边 */
.fy-page-index .fy-card.fy-center.fy-muted {
    background: #FFFFFF;
    border: 1px dashed rgba(108, 92, 231, .35);
    border-radius: 18px;
    color: #71798D;
    box-shadow: 0 10px 26px -10px rgba(108, 92, 231, .12);
}

/* ── 5. 底部导航：浅色圆角悬浮卡 + 品牌紫激活 ───────────────── */
.fy-mobile-nav {
    left: 12px !important;
    right: 12px !important;
    bottom: calc(10px + env(safe-area-inset-bottom, 0px)) !important;
    height: 64px !important;
    padding: 0 !important;
    border-radius: 22px !important;
    border: 1px solid rgba(25, 28, 38, .07) !important;
    background: rgba(255, 255, 255, .95) !important;
    -webkit-backdrop-filter: blur(20px) saturate(1.4);
    backdrop-filter: blur(20px) saturate(1.4);
    box-shadow:
        0 4px 16px rgba(23, 26, 38, .05),
        0 18px 50px -12px rgba(108, 92, 231, .3) !important;
    overflow: visible;
}
/* 去掉框架的霓虹顶条与扫描线 */
.fy-mobile-nav::before,
.fy-mobile-nav::after { display: none !important; }
.fy-mobile-nav-inner {
    display: flex !important;
    width: 100% !important;
    height: 64px !important;
    gap: 2px;
}
.fy-mobile-nav-item { flex: 1 1 0 !important; min-width: 0 !important; height: 100%; padding: 5px 0 4px; }
.fy-mobile-nav-item a {
    font-size: 10.5px !important;
    letter-spacing: .01em;
    border-radius: 16px;
    color: #9AA1B1;
    text-shadow: none;
    transition: transform .16s ease, color .2s ease, background .2s ease;
}
.fy-mobile-nav-item a:active { transform: translateY(1px) scale(.94); }
.fy-mobile-nav-item a .fy-icon { width: 20px; height: 20px; font-size: 20px; color: #9AA1B1; }
.fy-mobile-nav-item a.fy-active {
    background: rgba(108, 92, 231, .12) !important;
    border-color: transparent !important;
    color: #6C5CE7 !important;
    box-shadow: none !important;
}
.fy-mobile-nav-item a.fy-active .fy-icon {
    color: #6C5CE7 !important;
    transform: translateY(-1px) scale(1.06);
}
.fy-mobile-nav-item a.fy-active::before { display: none !important; }
/* 消息角标：红色 */
.fy-badge {
    background: #E5484D !important;
    border: 2px solid #FFFFFF;
    box-shadow: 0 2px 8px rgba(229, 72, 77, .5);
    animation: none;
}

/* ── 6. 返回顶部 FAB：白底圆钮 + 品牌紫 ─────────────────────── */
#fyMobileBackTop {
    position: fixed;
    right: 16px;
    bottom: calc(96px + env(safe-area-inset-bottom, 0px));
    z-index: 950;
    display: flex; align-items: center; justify-content: center;
    width: 46px; height: 46px; padding: 0;
    border: 1px solid rgba(25, 28, 38, .09);
    border-radius: 50%;
    background: #FFFFFF;
    color: #6C5CE7;
    font-size: 17px; line-height: 1;
    box-shadow:
        0 2px 8px rgba(23, 26, 38, .08),
        0 18px 40px -12px rgba(108, 92, 231, .3);
    opacity: 0;
    transform: translateY(12px) scale(.9);
    pointer-events: none;
    transition: opacity .28s ease, transform .28s ease;
}
#fyMobileBackTop.is-show {
    opacity: 1;
    transform: none;
    pointer-events: auto;
}
#fyMobileBackTop:active { transform: scale(.85); }

/* ── 7. 轻提示 Toast：深色圆角胶囊 ───────────────────────────── */
.fy-mobile-toast {
    position: fixed;
    left: 50%;
    bottom: calc(96px + env(safe-area-inset-bottom, 0px));
    z-index: 1200;
    max-width: min(80vw, 320px);
    padding: 10px 18px;
    border-radius: 999px;
    background: rgba(20, 22, 30, .88);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    color: #FFFFFF;
    font-size: 13px;
    line-height: 1.5;
    text-align: center;
    box-shadow: 0 8px 30px rgba(0, 0, 0, .25);
    opacity: 0;
    transform: translate(-50%, 12px);
    pointer-events: none;
    transition: opacity .26s ease, transform .26s ease;
}
.fy-mobile-toast.is-show { opacity: 1; transform: translate(-50%, 0); }

/* ── 8. 图片灯箱：深色底 + 圆角图片 ──────────────────────────── */
.fy-lightbox {
    position: fixed;
    inset: 0;
    z-index: 1300;
    display: flex; align-items: center; justify-content: center;
    background: rgba(15, 18, 26, .92);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    opacity: 0;
    pointer-events: none;
    transition: opacity .26s ease;
}
.fy-lightbox.is-show { opacity: 1; pointer-events: auto; }
.fy-lightbox img {
    max-width: 94vw;
    max-height: 82vh;
    border-radius: 14px;
    box-shadow: 0 30px 80px rgba(0, 0, 0, .6);
    transform: scale(.94);
    transition: transform .26s ease;
}
.fy-lightbox.is-show img { transform: none; }
.fy-lightbox-close {
    position: absolute;
    top: calc(env(safe-area-inset-top, 0px) + 14px);
    right: 16px;
    width: 38px; height: 38px;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, .25);
    background: rgba(18, 20, 26, .6);
    color: #FFFFFF;
    font-size: 17px; line-height: 1;
    display: flex; align-items: center; justify-content: center;
}
.fy-lightbox-caption {
    position: absolute;
    left: 0; right: 0;
    bottom: calc(env(safe-area-inset-bottom, 0px) + 20px);
    text-align: center;
    color: rgba(255, 255, 255, .8);
    font-size: 12px;
    pointer-events: none;
}
.fy-lightbox .fy-lightbox-count {
    position: absolute;
    top: calc(env(safe-area-inset-top, 0px) + 22px);
    left: 50%;
    transform: translateX(-50%);
    color: #FFFFFF;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .1em;
}

/* ═══════════════════════════════════════════════════════════════
   功能页（?bbs 论坛板块）· 白卡圆角 + 双列宫格
   板块卡片替换巫师风格：白底大圆角、紫细角标、彩色关注按钮
   ═══════════════════════════════════════════════════════════════ */

/* 板块网格：双列宫格（手机一排两个） */
.fy-bbs-tag-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 16px;
}

/* 板块卡片：白底圆角 + 紫调阴影 */
.fy-bbs-tag-card {
    position: relative;
    border-radius: 18px;
    border: 1px solid rgba(25, 28, 38, .06);
    background: #FFFFFF;
    background-image: none;
    box-shadow:
        0 1px 2px rgba(23, 26, 38, .04),
        0 10px 26px -8px rgba(108, 92, 231, .14),
        0 26px 60px -24px rgba(108, 92, 231, .18);
    min-height: 0;
    padding: 48px 12px 14px;
    overflow: hidden;
    transition: transform .18s ease, box-shadow .25s ease;
}
.fy-bbs-tag-card:active { transform: scale(.96); }
/* 去掉巫师魔法光环，四角改为品牌紫细角标 */
.fy-bbs-tag-card::before { display: none; }
.fy-bbs-tag-corner {
    width: 12px; height: 12px;
    border-color: rgba(108, 92, 231, .5);
    border-width: 1.5px;
    opacity: .85;
}

/* 左上角图标与右上角关注按钮：紧凑尺寸 */
.fy-bbs-tag-card .fy-bbs-tag-avatar {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;
    top: 12px !important;
    left: 12px !important;
    border-radius: 10px !important;
    font-size: 15px;
    box-shadow: 0 0 0 1px rgba(108, 92, 231, .16);
}
.fy-bbs-tag-card .fy-bbs-tag-follow-btn,
.fy-bbs-tag-card .fy-bbs-follow-btn {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 999px !important;
    border: 1px solid rgba(108, 92, 231, .45) !important;
    background: rgba(108, 92, 231, .08) !important;
    color: #6C5CE7 !important;
    font-size: 16px !important;
    font-weight: 700;
    line-height: 1;
    box-shadow: 0 2px 8px rgba(108, 92, 231, .18) !important;
    transition: transform .15s ease, background .2s ease, color .2s ease;
}
.fy-bbs-tag-card .fy-bbs-tag-follow-btn:active,
.fy-bbs-tag-card .fy-bbs-follow-btn:active { transform: scale(.88); }
.fy-bbs-tag-card .fy-bbs-tag-follow-btn.fy-followed,
.fy-bbs-tag-card .fy-bbs-follow-btn.fy-followed {
    background: #6C5CE7 !important;
    border-color: #6C5CE7 !important;
    color: #FFFFFF !important;
    box-shadow: 0 6px 16px -4px rgba(108, 92, 231, .55) !important;
}

/* 标题：单行省略，居中 */
.fy-bbs-tag-title {
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .01em;
    color: #191C26;
    padding-bottom: 6px;
    border-bottom: 1px solid rgba(25, 28, 38, .06);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.fy-bbs-tag-hash { color: #6C5CE7; }

/* 主题数：行内徽章式 */
.fy-bbs-tag-icon {
    width: auto;
    height: auto;
    margin-top: 6px;
    flex-direction: row;
    align-items: baseline;
    gap: 5px;
    filter: none;
}
.fy-bbs-tag-count-num { font-size: 22px; font-weight: 800; color: #191C26; }
.fy-bbs-tag-count-label { font-size: 9px; margin-top: 0; color: #9AA1B1; letter-spacing: .12em; }

/* 详情：最新主题竖排，标题单行省略 */
.fy-bbs-tag-details { margin-top: 6px; }
.fy-bbs-tag-stat {
    flex-direction: column;
    gap: 2px;
    padding: 4px 0 6px;
    border-bottom: none;
}
.fy-bbs-tag-stat > span { font-size: 9px; color: #9AA1B1; letter-spacing: .08em; }
.fy-bbs-tag-latest-title {
    max-width: 100%;
    font-size: 11.5px;
    text-align: center;
    color: #71798D;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* 标签云：单行省略，不撑高卡片 */
.fy-bbs-tag-cloud {
    flex-wrap: nowrap;
    overflow: hidden;
    justify-content: center;
    gap: 4px;
}
.fy-bbs-tag-chip {
    border-radius: 999px;
    background: rgba(108, 92, 231, .08);
    border: 1px solid rgba(108, 92, 231, .18);
    color: #6C5CE7;
    padding: 2px 7px;
    font-size: 10px;
    font-weight: 600;
}
.fy-bbs-tag-cloud-empty span { color: #9AA1B1; }

/* 页签（全部 / 关注列表）：白底胶囊，激活品牌紫 */
.fy-bbs-tab {
    border-radius: 999px;
    border: 1px solid rgba(25, 28, 38, .09);
    background: #FFFFFF;
    color: #71798D;
    padding: 7px 16px;
    font-size: 12.5px;
    font-weight: 600;
    transition: all .2s ease;
}
.fy-bbs-tab.fy-active {
    background: #6C5CE7;
    border-color: #6C5CE7;
    color: #FFFFFF;
    box-shadow: 0 8px 20px -8px rgba(108, 92, 231, .55);
}
.fy-bbs-tab.fy-active::after { display: none; }

/* 空状态：白卡虚线紫边 */
.fy-bbs-empty-follow {
    background: #FFFFFF;
    border: 1px dashed rgba(108, 92, 231, .35);
    border-radius: 18px;
    color: #71798D;
    box-shadow: 0 10px 26px -10px rgba(108, 92, 231, .12);
}
.fy-bbs-empty-follow .fy-icon { color: #6C5CE7; }

/* ═══════════════════════════════════════════════════════════════
   深色主题：深蓝紫调（对应原型 dark 模式）
   ═══════════════════════════════════════════════════════════════ */
[data-theme="dark"] body { background-color: #12151F; }
[data-theme="dark"] .fy-mobile-top {
    background: rgba(18, 21, 31, .9);
    border-bottom-color: rgba(238, 240, 246, .08);
}
[data-theme="dark"] .fy-mobile-top-bar > button[data-fy-mobile-nav],
[data-theme="dark"] .fy-mobile-theme-btn {
    background: #1B1F2C;
    border-color: rgba(238, 240, 246, .1);
    color: #EEF0F6;
}
[data-theme="dark"] .fy-mobile-theme-btn { color: #8B7CF0; }
[data-theme="dark"] .fy-mobile-top-bar h1 { color: #EEF0F6; }
[data-theme="dark"] .fy-mobile-search {
    background: #1B1F2C;
    border-color: rgba(238, 240, 246, .1);
    color: #6E7587;
}
[data-theme="dark"] .fy-mobile-search input { color: #EEF0F6; }
[data-theme="dark"] .fy-mobile-search input::placeholder { color: #6E7587; }
[data-theme="dark"] .fy-filter-item {
    background: #1B1F2C;
    border-color: rgba(238, 240, 246, .1);
    color: #99A0B3;
}
[data-theme="dark"] .fy-filter-item.fy-active {
    background: #8B7CF0;
    border-color: #8B7CF0;
    color: #131122;
    box-shadow: 0 10px 24px -10px rgba(139, 124, 240, .5);
}
[data-theme="dark"] .fy-page-index .fy-filter-bar {
    background: #1B1F2C;
    border-color: rgba(238, 240, 246, .1);
}
[data-theme="dark"] .fy-stream .fy-post {
    background: #1B1F2C;
    border-color: rgba(238, 240, 246, .06);
    box-shadow:
        0 1px 2px rgba(0, 0, 0, .3),
        0 14px 34px -10px rgba(0, 0, 0, .45),
        inset 0 1px 0 rgba(255, 255, 255, .05);
}
[data-theme="dark"] .fy-stream .fy-post-title { color: #EEF0F6; }
[data-theme="dark"] .fy-stream .fy-post-text { color: #99A0B3; }
[data-theme="dark"] .fy-stream .fy-post-foot { border-top-color: rgba(238, 240, 246, .06); }
[data-theme="dark"] .fy-stream .fy-post-time { color: #6E7587; }
[data-theme="dark"] .fy-stream .fy-post-badge {
    background: color-mix(in srgb, var(--fy-category-color) 18%, transparent);
    color: color-mix(in srgb, var(--fy-category-color) 72%, #FFF);
    border-color: color-mix(in srgb, var(--fy-category-color) 45%, transparent);
}
[data-theme="dark"] .fy-stream .fy-post-pin {
    background: rgba(247, 185, 85, .14);
    border-color: rgba(247, 185, 85, .4);
    color: #F7B955;
}
[data-theme="dark"] .fy-stream .fy-post-stats { color: #99A0B3; }
[data-theme="dark"] .fy-stream .fy-post-stat .fy-icon { color: #8B7CF0; }
[data-theme="dark"] .fy-load-more .fy-btn {
    background: #1B1F2C;
    border-color: rgba(238, 240, 246, .1);
    color: #8B7CF0;
}
[data-theme="dark"] .fy-mobile-nav {
    background: rgba(27, 31, 44, .95) !important;
    border-color: rgba(238, 240, 246, .09) !important;
    box-shadow:
        0 4px 16px rgba(0, 0, 0, .32),
        0 18px 50px -12px rgba(139, 124, 240, .28) !important;
}
[data-theme="dark"] .fy-mobile-nav-item a { color: #6E7587; }
[data-theme="dark"] .fy-mobile-nav-item a .fy-icon { color: #6E7587; }
[data-theme="dark"] .fy-mobile-nav-item a.fy-active {
    background: rgba(139, 124, 240, .16) !important;
    color: #B9A6FF !important;
}
[data-theme="dark"] .fy-mobile-nav-item a.fy-active .fy-icon { color: #B9A6FF !important; }
[data-theme="dark"] .fy-badge { border-color: #1B1F2C; }

/* 浅色主题：悬浮卡白底 + 灰色图标 + 紫色激活（覆盖框架浅色导航规则） */
[data-theme="light"] .fy-mobile-nav {
    background: rgba(255, 255, 255, .95) !important;
    border-color: rgba(25, 28, 38, .07) !important;
    box-shadow:
        0 4px 16px rgba(23, 26, 38, .05),
        0 18px 50px -12px rgba(108, 92, 231, .3) !important;
}
[data-theme="light"] .fy-mobile-nav-item a { color: #9AA1B1 !important; text-shadow: none; }
[data-theme="light"] .fy-mobile-nav-item a .fy-icon { color: #9AA1B1 !important; filter: none; }
[data-theme="light"] .fy-mobile-nav-item a.fy-active {
    background: rgba(108, 92, 231, .12) !important;
    border-color: transparent !important;
    color: #6C5CE7 !important;
    box-shadow: none !important;
}
[data-theme="light"] .fy-mobile-nav-item a.fy-active .fy-icon { color: #6C5CE7 !important; filter: none; }
[data-theme="light"] .fy-mobile-nav-item a.fy-active::before { display: none !important; }
[data-theme="light"] .fy-badge { border-color: #FFFFFF; }
[data-theme="dark"] #fyMobileBackTop {
    background: #1B1F2C;
    border-color: rgba(238, 240, 246, .1);
    color: #8B7CF0;
    box-shadow: 0 4px 14px rgba(0, 0, 0, .42), 0 22px 50px -16px rgba(0, 0, 0, .6);
}
[data-theme="dark"] .fy-bbs-tag-card {
    background: #1B1F2C;
    border-color: rgba(238, 240, 246, .06);
    box-shadow:
        0 1px 2px rgba(0, 0, 0, .3),
        0 14px 34px -10px rgba(0, 0, 0, .45),
        inset 0 1px 0 rgba(255, 255, 255, .05);
}
[data-theme="dark"] .fy-bbs-tag-corner { border-color: rgba(139, 124, 240, .55); }
[data-theme="dark"] .fy-bbs-tag-title { color: #EEF0F6; border-bottom-color: rgba(238, 240, 246, .06); }
[data-theme="dark"] .fy-bbs-tag-hash { color: #8B7CF0; }
[data-theme="dark"] .fy-bbs-tag-count-num { color: #EEF0F6; }
[data-theme="dark"] .fy-bbs-tag-count-label { color: #6E7587; }
[data-theme="dark"] .fy-bbs-tag-latest-title { color: #99A0B3; }
[data-theme="dark"] .fy-bbs-tag-chip {
    background: rgba(139, 124, 240, .14);
    border-color: rgba(139, 124, 240, .3);
    color: #B9A6FF;
}
[data-theme="dark"] .fy-bbs-tab {
    background: #1B1F2C;
    border-color: rgba(238, 240, 246, .1);
    color: #99A0B3;
}
[data-theme="dark"] .fy-bbs-tab.fy-active {
    background: #8B7CF0;
    border-color: #8B7CF0;
    color: #131122;
}
[data-theme="dark"] .fy-bbs-tag-card .fy-bbs-tag-follow-btn,
[data-theme="dark"] .fy-bbs-tag-card .fy-bbs-follow-btn {
    border-color: rgba(139, 124, 240, .5) !important;
    background: rgba(139, 124, 240, .12) !important;
    color: #B9A6FF !important;
}
[data-theme="dark"] .fy-bbs-tag-card .fy-bbs-tag-follow-btn.fy-followed,
[data-theme="dark"] .fy-bbs-tag-card .fy-bbs-follow-btn.fy-followed {
    background: #8B7CF0 !important;
    border-color: #8B7CF0 !important;
    color: #131122 !important;
}
[data-theme="dark"] .fy-bbs-empty-follow {
    background: #1B1F2C;
    border-color: rgba(139, 124, 240, .4);
    color: #99A0B3;
}
[data-theme="dark"] .fy-page-index .fy-card.fy-center.fy-muted {
    background: #1B1F2C;
    border-color: rgba(139, 124, 240, .4);
    color: #99A0B3;
}

/* ═══════════════════════════════════════════════════════════════
   功能页 · 赛博朋克 2077 风格
   页签 HUD 切角 / 板块卡横向（图标前名称后）/ 三点菜单
   ═══════════════════════════════════════════════════════════════ */

/* ── 页签（全部 / 关注列表）：HUD 切角胶囊 ─────────────────── */
/* 极简信息：隐藏主题数 / 最新主题 / 标签云 / #号，只留图标+名称 */
.fy-bbs-tag-icon,
.fy-bbs-tag-details,
.fy-bbs-tag-cloud,
.fy-bbs-tag-hash { display: none !important; }

.fy-bbs-tab {
    border-radius: 0;
    clip-path: polygon(9px 0, 100% 0, 100% calc(100% - 9px), calc(100% - 9px) 100%, 0 100%, 0 9px);
    border: 1px solid rgba(57, 231, 245, .4);
    background: rgba(10, 17, 32, .8);
    color: rgba(180, 205, 225, .92);
    padding: 8px 18px;
    font-size: 12.5px;
    font-weight: 600;
    letter-spacing: .08em;
    text-shadow: 0 0 6px rgba(57, 231, 245, .15);
    box-shadow: inset 0 0 14px rgba(57, 231, 245, .05);
    transition: all .2s ease;
}
.fy-bbs-tab:active { transform: scale(.94); }
.fy-bbs-tab.fy-active {
    background: linear-gradient(135deg, rgba(57, 231, 245, .95), rgba(0, 178, 255, .8));
    border-color: #39E7F5;
    color: #04121A;
    text-shadow: none;
    box-shadow: 0 0 18px -4px rgba(57, 231, 245, .7), inset 0 0 12px rgba(255, 255, 255, .22);
}
.fy-bbs-tab.fy-active::after { display: none; }

/* 板块卡：图标在前、名称在后，一行两条 */
.fy-bbs-tag-card {
    padding: 13px 10px 13px 12px !important;
    min-height: 0;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.fy-bbs-tag-content {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100%;
    gap: 10px;
}
.fy-bbs-tag-card .fy-bbs-tag-avatar {
    position: static !important;
    top: auto !important;
    left: auto !important;
    width: 46px !important;
    height: 46px !important;
    min-width: 46px !important;
    min-height: 46px !important;
    border-radius: 15px !important;
    font-size: 23px !important;
    line-height: 1;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 46px;
    box-shadow: 0 0 0 1px rgba(57, 231, 245, .2), 0 4px 12px -4px rgba(0, 0, 0, .4);
}
.fy-bbs-tag-title {
    flex: 1 1 auto;
    min-width: 0;
    font-size: 13.5px;
    padding-bottom: 0;
    border-bottom: none;
    text-align: left;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* 关注按钮 → 三点菜单按钮（⋮），隐藏 ✓/+ 字形 */
.fy-bbs-tag-card .fy-bbs-tag-follow-btn,
.fy-bbs-tag-card .fy-bbs-follow-btn {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    min-height: 32px !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 10px !important;
    border: 1px solid rgba(57, 231, 245, .45) !important;
    background: rgba(57, 231, 245, .08) !important;
    color: #39E7F5 !important;
    font-size: 16px !important;
    font-weight: 700;
    line-height: 1;
    text-shadow: 0 0 8px rgba(57, 231, 245, .6);
    box-shadow: 0 2px 8px rgba(0, 0, 0, .3) !important;
    transition: transform .15s ease, box-shadow .2s ease;
}
.fy-bbs-tag-card .fy-bbs-tag-follow-btn .fy-bbs-follow-glyph { display: none !important; }
.fy-bbs-tag-card .fy-bbs-tag-follow-btn::before {
    content: "⋮";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    font-size: 18px;
    font-weight: 700;
    line-height: 1;
}
/* 三点按钮已经承担“更多”入口，关注/取消关注提示会遮住菜单，移动端始终关闭。 */
.fy-bbs-tag-card .fy-bbs-tag-follow-btn.fy-tooltip-trigger > .fy-tooltip,
.fy-bbs-tag-card .fy-bbs-follow-btn.fy-tooltip-trigger > .fy-tooltip { display: none !important; }
.fy-bbs-tag-card .fy-bbs-tag-follow-btn:active,
.fy-bbs-tag-card .fy-bbs-follow-btn:active { transform: scale(.86); }
.fy-bbs-tag-card .fy-bbs-tag-follow-btn.fy-followed,
.fy-bbs-tag-card .fy-bbs-follow-btn.fy-followed {
    border-color: rgba(247, 228, 121, .6) !important;
    background: rgba(247, 228, 121, .1) !important;
    color: #F7E479 !important;
    text-shadow: 0 0 8px rgba(247, 228, 121, .7);
}

/* ── 三点弹出菜单：直角纯色面板（顶层不遮挡） ─────────────── */
.fy-bbs-more-menu {
    position: fixed;
    z-index: 9999;
    min-width: 156px;
    max-width: 240px;
    padding: 6px;
    border-radius: 0;
    background: #0C1220;
    border: 1px solid rgba(57, 231, 245, .45);
    box-shadow:
        0 18px 50px rgba(0, 0, 0, .55),
        0 0 30px -6px rgba(57, 231, 245, .45);
    opacity: 0;
    transform: scale(.9) translateY(6px);
    pointer-events: none;
    transition: opacity .16s ease, transform .16s ease;
}
.fy-bbs-more-menu.is-show {
    opacity: 1;
    transform: none;
    pointer-events: auto;
}
.fy-bbs-more-menu button {
    display: flex;
    align-items: center;
    gap: 9px;
    width: 100%;
    padding: 11px 13px;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #EAF6FF;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .04em;
    text-align: left;
    transition: background .15s ease, color .15s ease;
}
.fy-bbs-more-menu button + button { border-top: 1px solid rgba(57, 231, 245, .14); }
.fy-bbs-more-menu button:active { background: rgba(57, 231, 245, .14); }
.fy-bbs-more-menu .fy-bbs-more-mark { width: 18px; text-align: center; color: #39E7F5; font-size: 14px; font-weight: 700; text-shadow: 0 0 8px rgba(57, 231, 245, .7); }
.fy-bbs-more-menu .fy-bbs-more-followed .fy-bbs-more-mark { color: #F7E479; text-shadow: 0 0 8px rgba(247, 228, 121, .7); }

/* 浅色主题：夜城白昼（页签 / 卡片 / 三点 / 菜单） */
[data-theme="light"] .fy-bbs-tab {
    background: rgba(255, 255, 255, .92);
    border-color: rgba(0, 163, 196, .5);
    color: #1E3A4A;
    text-shadow: none;
    box-shadow: 0 2px 10px rgba(8, 145, 178, .1);
}
[data-theme="light"] .fy-bbs-tab.fy-active {
    background: linear-gradient(135deg, #00A3C4, #0088A8);
    border-color: #00A3C4;
    color: #FFFFFF;
    box-shadow: 0 8px 22px -6px rgba(0, 163, 196, .6);
}
[data-theme="light"] .fy-bbs-tag-card .fy-bbs-tag-avatar { box-shadow: 0 0 0 1px rgba(0, 163, 196, .18), 0 4px 12px -4px rgba(8, 145, 178, .25); }
[data-theme="light"] .fy-bbs-tag-card .fy-bbs-tag-follow-btn,
[data-theme="light"] .fy-bbs-tag-card .fy-bbs-follow-btn {
    border-color: rgba(0, 163, 196, .5) !important;
    background: rgba(0, 163, 196, .08) !important;
    color: #0088A8 !important;
    text-shadow: none;
    box-shadow: 0 2px 8px rgba(8, 145, 178, .18) !important;
}
[data-theme="light"] .fy-bbs-tag-card .fy-bbs-tag-follow-btn.fy-followed,
[data-theme="light"] .fy-bbs-tag-card .fy-bbs-follow-btn.fy-followed {
    border-color: rgba(217, 140, 8, .55) !important;
    background: rgba(245, 165, 36, .12) !important;
    color: #C77C0B !important;
    text-shadow: none;
}
[data-theme="light"] .fy-bbs-more-menu {
    background: #FFFFFF;
    border-color: rgba(0, 163, 196, .35);
    box-shadow:
        0 18px 50px rgba(23, 26, 38, .18),
        0 0 30px -8px rgba(0, 163, 196, .4);
}
[data-theme="light"] .fy-bbs-more-menu button { color: #1E3A4A; }
[data-theme="light"] .fy-bbs-more-menu button + button { border-top-color: rgba(0, 163, 196, .12); }
[data-theme="light"] .fy-bbs-more-menu button:active { background: rgba(0, 163, 196, .1); }
[data-theme="light"] .fy-bbs-more-menu .fy-bbs-more-mark { color: #0088A8; text-shadow: none; }
[data-theme="light"] .fy-bbs-more-menu .fy-bbs-more-followed .fy-bbs-more-mark { color: #C77C0B; text-shadow: none; }

/* ═══════════════════════════════════════════════════════════════
   功能页 · 板块列表（葫芦侠风格 · 双列）
   直角 1px 淡边框、无多层背景、图标+名称+⋮，一排两条
   ═══════════════════════════════════════════════════════════════ */
.fy-bbs-tag-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    padding: 0 2px !important;
}
.fy-bbs-tag-card {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: auto !important;
    margin: 0 !important;
    padding: 9px 8px !important;
    min-height: 0 !important;
    border: 1px solid rgba(128, 138, 158, .22) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
}
.fy-bbs-tag-card .fy-bbs-tag-corner { display: none !important; }
.fy-bbs-tag-content {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100%;
    gap: 6px;
}
.fy-bbs-tag-card .fy-bbs-tag-avatar {
    position: static !important;
    top: auto !important;
    left: auto !important;
    width: 46px !important;
    height: 46px !important;
    min-width: 46px !important;
    min-height: 46px !important;
    border-radius: 15px !important;
    font-size: 23px !important;
    line-height: 1;
    flex: 0 0 46px;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: color-mix(in srgb, var(--fy-active) 14%, var(--fy-bg-primary)) !important;
    border: 1px solid color-mix(in srgb, var(--fy-active) 35%, transparent) !important;
    box-shadow: 0 0 0 1px color-mix(in srgb, var(--fy-active) 16%, transparent), 0 5px 14px -5px rgba(0, 0, 0, .32) !important;
    text-shadow: none !important;
}
.fy-bbs-tag-title {
    flex: 1 1 auto;
    min-width: 0;
    font-size: 13.5px;
    padding-bottom: 0;
    border-bottom: none;
    text-align: left;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
/* ⋮ 按钮：改回文档流内，flex 垂直居中；无底色、无边框、淡色 */
.fy-bbs-tag-card .fy-bbs-tag-follow-btn,
.fy-bbs-tag-card .fy-bbs-follow-btn {
    position: static !important;
    top: auto !important;
    right: auto !important;
    left: auto !important;
    bottom: auto !important;
    z-index: auto !important;
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    min-height: 24px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #98A2B3 !important;
    font-size: 15px !important;
    font-weight: 700;
    line-height: 1;
    text-shadow: none !important;
    box-shadow: none !important;
    transition: opacity .15s ease;
}
.fy-bbs-tag-card .fy-bbs-tag-follow-btn:active,
.fy-bbs-tag-card .fy-bbs-follow-btn:active { opacity: .45; transform: none; }
.fy-bbs-tag-card .fy-bbs-tag-follow-btn.fy-followed,
.fy-bbs-tag-card .fy-bbs-follow-btn.fy-followed {
    border: none !important;
    background: transparent !important;
    color: #0088A8 !important;
    text-shadow: none !important;
}
/* 深色：未关注灰 / 已关注霓虹青 */
[data-theme="dark"] .fy-bbs-tag-card { border-color: rgba(160, 175, 195, .16) !important; }
[data-theme="dark"] .fy-bbs-tag-card .fy-bbs-tag-follow-btn,
[data-theme="dark"] .fy-bbs-tag-card .fy-bbs-follow-btn { color: #8591A6 !important; }
[data-theme="dark"] .fy-bbs-tag-card .fy-bbs-tag-follow-btn.fy-followed,
[data-theme="dark"] .fy-bbs-tag-card .fy-bbs-follow-btn.fy-followed { color: #39E7F5 !important; }
/* 浅色：未关注灰 / 已关注青（同特异性覆盖早期赛博规则） */
[data-theme="light"] .fy-bbs-tag-card .fy-bbs-tag-follow-btn,
[data-theme="light"] .fy-bbs-tag-card .fy-bbs-follow-btn { color: #98A2B3 !important; }
[data-theme="light"] .fy-bbs-tag-card .fy-bbs-tag-follow-btn.fy-followed,
[data-theme="light"] .fy-bbs-tag-card .fy-bbs-follow-btn.fy-followed { color: #0088A8 !important; }

/* ═══════════════════════════════════════════════════════════════
   页签（全部 / 关注列表）：居中 · 迷你 HUD 胶囊
   ═══════════════════════════════════════════════════════════════ */
.fy-bbs-tabs {
    display: flex !important;
    justify-content: center !important;
    gap: 6px !important;
    margin: 6px 0 12px !important;
    padding: 0;
}
.fy-bbs-tab {
    border-radius: 0;
    clip-path: polygon(7px 0, 100% 0, 100% calc(100% - 7px), calc(100% - 7px) 100%, 0 100%, 0 7px);
    border: 1px solid rgba(57, 231, 245, .4);
    background: transparent;
    color: rgba(180, 205, 225, .85);
    padding: 5px 14px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .06em;
    text-shadow: 0 0 6px rgba(57, 231, 245, .12);
    transition: all .2s ease;
}
.fy-bbs-tab:active { transform: scale(.92); }
.fy-bbs-tab.fy-active {
    background: linear-gradient(135deg, rgba(57, 231, 245, .95), rgba(0, 178, 255, .8));
    border-color: #39E7F5;
    color: #04121A;
    text-shadow: none;
    box-shadow: 0 0 14px -4px rgba(57, 231, 245, .7);
}
.fy-bbs-tab.fy-active::after { display: none; }

[data-theme="light"] .fy-bbs-tab {
    background: rgba(255, 255, 255, .9);
    border-color: rgba(0, 163, 196, .5);
    color: #1E3A4A;
    text-shadow: none;
}
[data-theme="light"] .fy-bbs-tab.fy-active {
    background: linear-gradient(135deg, #00A3C4, #0088A8);
    border-color: #00A3C4;
    color: #FFFFFF;
    box-shadow: 0 6px 18px -6px rgba(0, 163, 196, .55);
}

/* 发布按钮与“全部 / 关注列表”保持同一组移动端页签外观。 */
.fy-bbs-tabs-actions {
    margin-left: 0 !important;
    padding: 0 !important;
    display: flex;
    align-items: center;
}
.fy-bbs-tabs-actions .fy-publish-action {
    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 4px;
    padding: 5px 14px !important;
    border-radius: 0 !important;
    clip-path: polygon(7px 0, 100% 0, 100% calc(100% - 7px), calc(100% - 7px) 100%, 0 100%, 0 7px);
    border: 1px solid rgba(57, 231, 245, .4) !important;
    background: transparent !important;
    color: rgba(180, 205, 225, .85) !important;
    box-shadow: none !important;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: .06em;
    text-shadow: 0 0 6px rgba(57, 231, 245, .12);
    transition: all .2s ease;
}
.fy-bbs-tabs-actions .fy-publish-action .fy-icon-edit {
    position: static !important;
    right: auto !important;
    margin: 0 !important;
    color: currentColor !important;
    font-size: 13px;
    transform: none !important;
}
.fy-bbs-tabs-actions .fy-publish-action:hover,
.fy-bbs-tabs-actions .fy-publish-action:focus-visible {
    color: #39E7F5 !important;
    background: linear-gradient(135deg, rgba(57, 231, 245, .25), rgba(0, 178, 255, .15)) !important;
    border-color: #39E7F5 !important;
    box-shadow: none !important;
    filter: none !important;
    transform: none !important;
}
.fy-bbs-tabs-actions .fy-publish-action:focus-visible {
    outline: 1px solid #39E7F5;
    outline-offset: 2px;
}
.fy-bbs-tabs-actions .fy-publish-action:active {
    transform: scale(.92) !important;
    box-shadow: none !important;
}
[data-theme="light"] .fy-bbs-tabs-actions .fy-publish-action {
    background: rgba(255, 255, 255, .9) !important;
    border-color: rgba(0, 163, 196, .5) !important;
    color: #1E3A4A !important;
    text-shadow: none;
}
[data-theme="light"] .fy-bbs-tabs-actions .fy-publish-action:hover,
[data-theme="light"] .fy-bbs-tabs-actions .fy-publish-action:focus-visible {
    background: linear-gradient(135deg, #00A3C4, #0088A8) !important;
    border-color: #00A3C4 !important;
    color: #FFFFFF !important;
}
[data-theme="light"] .fy-bbs-tabs-actions .fy-publish-action:focus-visible { outline-color: #00A3C4; }

/* ═══════════════════════════════════════════════════════════════
   消息页（?chat）· 微信式消息列表
   圆形头像 + 名称 + 预览 + 红色未读角标 + 淡分隔线
   ═══════════════════════════════════════════════════════════════ */
.fy-chat-page-head {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px;
    padding: 14px 16px 4px !important;
}
.fy-chat-page-head .fy-kicker,
.fy-chat-page-head p { display: none !important; }
.fy-chat-page-head h1 {
    font-size: 18px;
    font-weight: 700;
    margin: 0 !important;
    letter-spacing: .01em;
}
.fy-chat-head-unread {
    font-size: 10px;
    font-weight: 600;
    color: rgba(128, 138, 158, .95);
    padding: 4px 10px;
    border-radius: 99px;
    background: rgba(128, 138, 158, .1);
    white-space: nowrap;
}
[data-theme="dark"] .fy-chat-head-unread { color: rgba(180, 195, 215, .85); background: rgba(160, 175, 195, .1); }

.fy-chat-tabs {
    gap: 16px !important;
    margin: 0 8px !important;
    font-size: 13px !important;
}
.fy-chat-tabs button { padding: 8px 2px !important; }

.fy-chat-row {
    padding: 16px 16px !important;
    gap: 14px !important;
    border-bottom-color: rgba(128, 138, 158, .13) !important;
}
.fy-chat-row:active { background: color-mix(in srgb, var(--fy-active) 6%, transparent) !important; }
.fy-chat-row-avatar {
    border-radius: 50% !important;
    border: 0 !important;
    flex-basis: 52px !important;
    width: 52px !important;
    height: 52px !important;
    font-size: 20px !important;
    background: #3B82F6 !important;
}
/* 头像图标：系统图标由 JS 替换为内联白色 SVG，此处负责容器居中 */
.fy-chat-row-avatar .fy-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100%;
    height: 100%;
    font-size: 22px !important;
    line-height: 1;
}
.fy-chat-row-avatar svg,
.fy-chat-row-avatar .fy-icon svg {
    display: block;
    width: 25px;
    height: 25px;
    color: #FFFFFF !important;
    stroke: #FFFFFF;
}
.fy-chat-notice-icon svg { display:block; width:22px; height:22px; color:#FFFFFF !important; stroke:#FFFFFF; }
/* 微信式多彩头像背景（去掉渐变，每行一色） */
.fy-chat-tab-list .fy-chat-row:nth-child(1) .fy-chat-row-avatar { background: #3B82F6 !important; }
.fy-chat-tab-list .fy-chat-row:nth-child(2) .fy-chat-row-avatar { background: #F59E0B !important; }
.fy-chat-tab-list .fy-chat-row:nth-child(3) .fy-chat-row-avatar { background: #10B981 !important; }
.fy-chat-tab-list .fy-chat-row:nth-child(4) .fy-chat-row-avatar { background: #EF4444 !important; }
.fy-chat-tab-list .fy-chat-row:nth-child(5) .fy-chat-row-avatar { background: #8B5CF6 !important; }
.fy-chat-tab-list .fy-chat-row:nth-child(n+6) .fy-chat-row-avatar { background: #0EA5C4 !important; }
/* 标题严格靠左 */
.fy-chat-page-head,
.fy-chat-page-head h1 { text-align: left !important; }
.fy-chat-page-head h1 { margin-left: 0 !important; }
.fy-chat-row-copy strong { font-size: 15px; }
.fy-chat-row-copy small { font-size: 12.5px; color: rgba(128, 138, 158, .92) !important; }
.fy-chat-row-arrow { display: none !important; }
.fy-chat-row-badge {
    min-width: 20px;
    height: 20px;
    padding: 0 6px;
    font-size: 12px;
    border-radius: 99px;
}
[data-theme="dark"] .fy-chat-row { border-bottom-color: rgba(160, 175, 195, .1) !important; }
[data-theme="dark"] .fy-chat-row-copy small { color: rgba(170, 185, 205, .8) !important; }

/* 首页及其它 SPA 页面：底部主导航始终保留基础显示状态，避免被页面级样式隐藏。 */
.fy-mobile-nav { display: block !important; visibility: visible !important; opacity: 1 !important; }
.fy-mobile-nav-inner { display: flex !important; visibility: visible !important; }

/* 横向快捷区只在确认横向手势时滚动，纵向手势交还给页面。 */
.fy-usercenter-shortcut-track,
.fy-home-plugin-track[data-drag-scroll="1"] { touch-action: pan-x pan-y !important; }

/* 收紧底部导航和页面安全区，减少底部大块空白；所有 SPA 页面统一预留遮挡空间。 */
.fy-mobile-nav {
    bottom: calc(6px + env(safe-area-inset-bottom, 0px)) !important;
    height: 52px !important;
}
.fy-mobile-nav-inner { height: 52px !important; }
.fy-mobile-nav-item { padding: 1px 0 1px !important; }
.fy-mobile-nav-item a { gap: 1px !important; padding: 3px 3px 2px !important; font-size: 9.5px !important; }
.fy-mobile-nav-item a .fy-icon { width: 19px !important; height: 19px !important; font-size: 18px !important; }
.fy-main { padding-bottom: calc(54px + env(safe-area-inset-bottom, 0px)) !important; }
.fy-central-chat-page {
    height: calc(100dvh - 14px - 52px - env(safe-area-inset-bottom, 0px)) !important;
    padding-bottom: calc(54px + env(safe-area-inset-bottom, 0px)) !important;
}
.fy-central-chat-page .fy-chat-shell { height: auto !important; min-height: 0 !important; }
.fy-central-chat-card .fy-chat-form { bottom: calc(54px + env(safe-area-inset-bottom, 0px)) !important; }
#fyMobileBackTop,
.fy-mobile-toast { bottom: calc(60px + env(safe-area-inset-bottom, 0px)) !important; }

} /* /max-width:768px */
