/* 首页与独立社区共用导航，兼容低版本 iOS，不使用 gap。 */
.tab-bar {

    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    max-width: 488px;
    margin: 0 auto;
    height: 13.333333vw;
    max-height: 100px;
    background: rgba(245,243,255,.94);
    border: 1px solid rgba(255,255,255,.85);
    border-bottom: 0;
    border-radius: 32px 32px 0 0;
    box-shadow: 0 -4px 18px rgba(81,53,117,.05);
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
    align-items: flex-end;
    z-index: 100;
    padding-bottom: env(safe-area-inset-bottom);
    -webkit-transition: height 0.08s linear;
    transition: height 0.08s linear;
    overflow: hidden;
}

/* 半透明玻璃：旧浏览器保留浅色背景，支持滤镜时再增强透视效果。 */
@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))) {
    .tab-bar {
        background:rgba(245,243,255,.82);
        -webkit-backdrop-filter:blur(18px) saturate(165%);
        backdrop-filter:blur(18px) saturate(165%);
    }
}
.tab-bar.video-nav-square { border-radius:0; }
.tab-bar .tab-item {
    position:relative;
    z-index:1;
    min-width:0;
    margin:0 3px;
    color:#928b9e;
    -webkit-text-fill-color:currentColor;
}
.tab-bar .tab-item.active { color:#a855f7; }
.tab-bar .tab-item > .tab-icon,.tab-bar .tab-item > span { position:relative; z-index:1; }
@media(min-width:481px) {
    .tab-bar .tab-item { margin-left:5px; margin-right:5px; }
}
@media(prefers-reduced-transparency:reduce) {
    .tab-bar { background:#f5f3ff; -webkit-backdrop-filter:none; backdrop-filter:none; }
}
@media(prefers-reduced-motion:reduce) {
    .tab-bar { -webkit-transition:none; transition:none; }
}

.tab-bar.ios-toolbar-managed { padding-bottom:0; }
.tab-bar.ios-toolbar-managed.ios-toolbar-collapsed {
    height:calc(13.333333vw + 25px);
    height:calc(13.333333vw + var(--ios-bottom-extra,25px));
    max-height:125px;
    max-height:calc(100px + var(--ios-bottom-extra,25px));
    padding-bottom:25px;
    padding-bottom:var(--ios-bottom-extra,25px);
}
body.ios-bottom-nav-expanded .fc-content {
    padding-bottom:calc(13.333333vw + 45px);
    padding-bottom:calc(13.333333vw + 20px + var(--ios-bottom-extra,25px));
}

.tab-item {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    flex: 1;
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    font-size: 2.4vw;
    color: #9ca3af;
    padding-top: 1.333333vw;
}

.tab-item.active {
    color: #a855f7;
}

.tab-icon {
    display: block;
    font-size: clamp(22px, 6vw, 40px);
    color: inherit;
    margin-bottom: 0.6vw;
    line-height: 1;
    -webkit-transition: color .25s ease;
    transition: color .25s ease;
}

.tab-icon-svg {
    width: 26px;
    height: 26px;
    font-size: inherit;
    -webkit-flex-shrink: 0;
    flex-shrink: 0;
}

.tab-icon.fa,
i.tab-icon {
    width: 26px;
    height: 26px;
    -webkit-flex-shrink: 0;
    flex-shrink: 0;
    text-align: center;
    line-height: 26px;
    font-size: 22px;
}

.tab-bar { box-sizing:border-box; line-height:normal; padding-bottom:constant(safe-area-inset-bottom); padding-bottom:env(safe-area-inset-bottom); -webkit-box-align:start; -webkit-align-items:flex-start; align-items:flex-start; }
.tab-item { box-sizing:border-box; margin:0; padding-left:0; padding-right:0; padding-bottom:0; -webkit-box-pack:start; -webkit-justify-content:flex-start; justify-content:flex-start; padding-top:8px; }
@media(min-width:481px) {
    .tab-bar.ios-toolbar-managed.ios-toolbar-collapsed { height:95px; height:calc(70px + var(--ios-bottom-extra,25px)); }
    body.ios-bottom-nav-expanded .fc-content { padding-bottom:115px; padding-bottom:calc(90px + var(--ios-bottom-extra,25px)); }
    .tab-bar {
        height: 70px;

    }
    .tab-item {
        font-size: 13px;
    }
.tab-icon {
    font-size: 22px;
    width: auto !important;
    height: auto !important;
    max-width: none !important;
    max-height: none !important;
    margin-bottom: 2px;
}

.tab-icon-svg {
    width: 26px !important;
    height: 26px !important;
    max-width: none !important;
    max-height: none !important;
    font-size: inherit;
    -webkit-flex-shrink: 0;
    flex-shrink: 0;
}

.tab-icon.fa,
i.tab-icon {
    width: 26px !important;
    height: 26px !important;
    line-height: 26px !important;
    font-size: 22px !important;
    text-align: center;
}
    .tab-item {
        font-size: 12px;
        padding-top: 6px;
    }

}
