Thank you for your response. I mean how to see then edit the content which is substituted by #TEMPLATE_CSS#

The File URLs and Inline items are the content that replaces the <tt>#TEMPLATE_CSS#</tt> substitution string.

See the Application Express 4.2 Early Adopter Feature Descriptions:
>Feature : APEX 4.2 Early Adopter > Mobile Themes and Templates > Declarative support to specify inline CSS and CSS files
Add new page and page template attributes "CSS file URL(s)" and "Inline CSS" to support declarative definition of CSS files and inline CSS which should be loaded for a page.
>
This enables us to include template-specific CSS only on those pages that actually require it, in preference to either repeating it in multiple page HTML Headers, or adding it to application-level CSS files and having it pointlessly loaded on pages that don't need it.

In contrast to the old <tt>#HEAD#</tt> substitution string, not all of the new UI-related substitutions strings will always be replaced by content when the page is rendered. It will depend on whether the application/template actually uses them. These changes give us more granular control over the CSS and scripts that are included in a page.

As I know, #TEMPLATE_CSS# is substituted by content of the above file.

No, it is not.

As described above, <tt>#TEMPLATE_CSS#</tt> is replaced by the contents of the template's File URLs and Inline CSS properties. This feature enables template-level customization of the CSS included in the page. Try it: change <tt>#TEMPLATE_CSS#</tt> in the template to:

Run the page. View the page source in the browser and see what's happened to <tt>#TEMPLATE_CSS#</tt>...

The question is, can I (through APEX 4.2) update this content directly to do tasks like adding or updating classes of the CSS?

Not in the way you mean.

File URLs and Inline are empty (by default) and ready to be used to totally replace the content of #TEMPLATE_CSS#

Yes, <tt>#TEMPLATE_CSS#</tt> is replaced by the contents of the File URLs and Inline template properties. This does not affect the inclusion of any other CSS information, whether using new CSS substitution strings, <tt>&lt;link rel="stylesheet" ...&gt;</tt> elements, or embedded <tt>&lt;style&gt;</tt> declarations.

Is the only solution to update/edit the CSS of a theme, to download the CSS then paste it in Inline field (under CSS section of the template)?

No. If you want a custom theme the best way is:

1. Copy the theme CSS to an accessible location in the file system (the best way) or APEX repository (if you don't have file system access).
2. Create a new theme as a copy in APEX.
3. Change the <tt>&lt;link rel="stylesheet" ...&gt;</tt> theme references in the new theme page templates to point to the new CSS location.
4. Customize the CSS (tools like Coda that allow local and remote files to be modified are very helpful).