Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Built-in Themes

The library ships with 9 pre-built CSS themes. To apply a theme, set a single environment variable – no custom CSS files or additional code needed.

Quick Start

# .env
O2P_CUSTOM_CSS_URL=/o2p/themes/theme-zinc.css

Available Themes

Themes are served at {O2P_ROUTE_PREFIX}/themes/ (default prefix: /o2p).

ThemeURL PathStyle
Zinc/o2p/themes/theme-zinc.cssNeutral zinc palette
Slate/o2p/themes/theme-slate.cssCool slate gray palette
Blue/o2p/themes/theme-blue.cssPrimary blue palette
Violet/o2p/themes/theme-violet.cssElegant violet palette
Rose/o2p/themes/theme-rose.cssWarm rose palette
Neumorphism/o2p/themes/theme-neumorphism.cssSoft shadows creating depth
Material/o2p/themes/theme-material.cssGoogle Material design principles
Eco/o2p/themes/theme-eco.cssNature-inspired green tones
SaaS/o2p/themes/theme-saas.cssStripe-inspired purple accents

Note: If you use a custom O2P_ROUTE_PREFIX, replace /o2p in the paths accordingly.

Theme Types

Variable-only themes

Zinc, Slate, Blue, Violet, Rose

These themes override :root CSS variables and a few selectors like the .login-page background gradient. They are lightweight and predictable – the page structure and layout remain identical to the default.

Extended themes

Neumorphism, Material, Eco, SaaS

These themes override CSS variables and add additional CSS rules for borders, shadows, gradients, and other visual effects. They produce a more distinctive look.

Further Customization

If the built-in themes don’t match your needs, you can create your own CSS file. See Customizing CSS for the full CSS Custom Properties reference and examples.