How styles are organized
Angular applies component encapsulation by default, which means each component’s styles are scoped and do not leak into other components. Global styles live insrc/styles.css and are the primary place to set brand-wide values through CSS custom properties.
project structure
Brand colors
Karma LMS ships with the following default brand palette:| Name | Hex value | Usage |
|---|---|---|
| Primary | #3cbcab | Buttons, links, active states, highlights |
| Light | #349b8b | Hover states, secondary accents |
| Dark | #949494 | Muted text, borders, disabled states |
Updating global CSS variables
Opensrc/styles.css and update the :root block to change brand colors and other global values:
src/styles.css
Using variables in component styles
When adding custom components or overriding existing ones, reference the CSS variables rather than hardcoding hex values:example component style
Typography
Karma LMS usesArial, sans-serif as the base font stack for both headings and body text. To update typography, add your font import and update the relevant variables in src/styles.css:
src/styles.css
Updating the logo
Replace the logo file atsrc/assets/logo.png with your own image. Keep the same filename to avoid updating references throughout the codebase, or update the src attribute in the navigation component if you use a different filename.
Prepare your logo file
Export your logo as a PNG or SVG. Recommended dimensions for the navigation bar logo are 160 × 40 px at 2× resolution (320 × 80 px for retina displays). Keep the background transparent.
Replace the asset
Copy your logo file to If you use an SVG, copy it to
src/assets/:src/assets/logo.svg and update the image reference.Setting the application title
The application title appears in the browser tab and the top navigation bar. Set it insrc/environments/environment.ts:
src/environments/environment.ts
src/environments/environment.prod.ts for production builds. The AppComponent reads this value and passes it to Angular’s Title service:
src/app/app.component.ts
Dark mode
To support dark mode, add a[data-theme="dark"] block to src/styles.css and toggle the attribute on the <html> element:
src/styles.css
src/app/services/theme.service.ts
After making changes to During development,
styles.css or other static assets, you must rebuild the application for the changes to take effect in production:ng serve watches for file changes and automatically recompiles, so you will see updates in the browser without a manual rebuild.