/* ==================== 论坛卡片悬停动效 ==================== */
.category-card {
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.category-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.08), 0 0 0 1px rgba(99, 102, 241, 0.2);
}

/* ==================== 侧边栏卡片 ==================== */
.sidebar-card {
    transition: box-shadow 0.2s;
}
.sidebar-card:hover {
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
}

/* ==================== 帖子列表行悬停 ==================== */
.post-row {
    transition: background-color 0.15s;
}
.post-row:hover {
    background-color: #f1f5f9;
}

/* ==================== 面包屑导航 ==================== */
.breadcrumb a:hover {
    text-decoration: underline;
}

/* ==================== 置顶标签 ==================== */
.pin-badge {
    background-color: #fee2e2;
    color: #b91c1c;
    font-size: 0.75rem;
    padding: 2px 8px;
    border-radius: 4px;
    white-space: nowrap;
}

/* ==================== 版块标签 ==================== */
.tag {
    font-size: 0.7rem;
    padding: 2px 8px;
    border-radius: 4px;
    white-space: nowrap;
    font-weight: 500;
}

/* ==================== 外链图标动效 ==================== */
.external-icon {
    transition: transform 0.2s;
}
a:hover .external-icon {
    transform: translate(2px, -2px);
}

/* ==================== 导航链接下划线动画 ==================== */
.nav-link {
    position: relative;
    white-space: nowrap;
}
.nav-link::after {
    content: '';
    position: absolute;
    bottom: -4px;
    left: 50%;
    transform: translateX(-50%) scaleX(0);
    width: 60%;
    height: 2px;
    background-color: #6366f1;
    border-radius: 2px;
    transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}
.nav-link:hover::after {
    transform: translateX(-50%) scaleX(1);
}