THEMES.md (Contract)

WebholeInk uses a two-layer CSS theming system designed for stability, clarity, and long-term maintainability.

Themes are author-controlled. Visitors cannot toggle themes.


Theme Architecture

WebholeInk separates styling into two distinct layers:

1. Structural CSS (Engine-Controlled)

/public/themes/default/assets/css/style.css

This file defines:

This file must not be modified for branding or color changes.


2. Theme Variable CSS (Publisher-Controlled)

/public/themes/default/assets/css/theme-dark.v1.css These files define CSS variables only:

No selectors are allowed in theme files.


Available Themes

Themes are defined and activated via configuration: /app/config/theme.php Example:

<?php

return [
    'available' => ['classic', 'light', 'dark'],
    'default'   => 'classic',
    'active'    => 'dark',
];

Changing the active value immediately switches the site theme.

Versioning Rules

Design Principles

WebholeInk themes are intentional, not interactive.