.tab-nav {
    position: sticky; top: var(--header-h); z-index: 150;
    background: rgba(20,20,22,0.8); backdrop-filter: blur(12px);
    border-bottom: 1px solid var(--border);
}
.tab-nav-inner {
    display: flex; gap: 0; max-width: var(--max-w); margin: 0 auto; padding: 0 16px;
    overflow-x: auto; scrollbar-width: none;
}
.tab-nav-inner::-webkit-scrollbar { display: none; }
.tab-item {
    padding: 12px 18px; font-size: 0.9rem; font-weight: 500; color: var(--text-secondary);
    cursor: pointer; white-space: nowrap; border-bottom: 2px solid transparent;
    transition: var(--transition); text-decoration: none; flex-shrink: 0;
}
.tab-item.active { color: #fff; border-bottom-color: var(--accent); }
.tab-item:hover { color: #fff; }
.tab-item .tab-badge {
    background: var(--accent); color: #fff; font-size: 0.65rem;
    padding: 2px 7px; border-radius: 10px; margin-left: 6px; font-weight: 600;
}
.category-strip { padding: 8px 0; border-bottom: 1px solid var(--border); background: var(--bg); }
.category-strip-inner {
    display: flex; gap: 8px; max-width: var(--max-w); margin: 0 auto; padding: 0 16px;
    overflow-x: auto; scrollbar-width: none;
}
.cat-chip {
    padding: 7px 15px; border-radius: 20px; font-size: 0.8rem; font-weight: 500;
    white-space: nowrap; cursor: pointer; background: var(--bg-card);
    border: 1px solid var(--border-strong); color: var(--text-secondary);
    transition: var(--transition); flex-shrink: 0; text-decoration: none;
    display: inline-flex; align-items: center; gap: 5px;
}
.cat-chip:hover { border-color: var(--accent); color: #fff; }
.cat-chip.active { background: var(--accent); border-color: var(--accent); color: #fff; }
.main-layout {
    display: flex; gap: 24px; max-width: var(--max-w); margin: 0 auto;
    padding: 16px 16px 32px; min-height: 60vh;
}
.feed-column { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; gap: 12px; }
.load-more-wrap { text-align: center; padding: 20px 0; }
.live-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--green); animation: pulse 1.8s infinite; display: inline-block; }
@keyframes pulse { 0%,100%{opacity:1} 50%{opacity:0.5} }
@media (max-width: 768px) {
    .main-layout { padding: 8px 8px 24px; }
    .post-vote { min-width: 42px; padding: 10px 6px; }
    .post-title { font-size: 0.9rem; }
}
