| name | css-theming |
| description | CSS Custom Properties theming system and glassmorphism styling for agentcockpit |
CSS Theming
Overview
agentcockpit uses pure CSS Custom Properties for theming — no Tailwind, no CSS-in-JS. The visual style is dark-mode glassmorphism with two switchable themes.
Theme System
Themes Available
cyber-teal — Teal/cyan accent, default dark theme
battlefield — Military green/amber accent
Theme Files
src/styles/themes/
├── cyber-teal.css # --accent: #2dd4bf (teal)
├── battlefield.css # --accent: #84cc16 (green)
src/App.css # Base styles + component styles
src/index.css # CSS reset, font imports, root variables
How Themes Work
Theme class applied on root element. Each theme file overrides CSS custom properties:
:root, .theme-cyber-teal {
--accent: #2dd4bf;
--accent-dim: #0d9488;
--bg-primary: #0a0a0f;
--bg-surface: rgba(15, 15, 25, 0.85);
}
Design Tokens
Colors
--bg-primary
--bg-surface
--bg-input
--text-primary
--text-muted
--accent
--accent-dim
--success
--error
--warning
--border
Glassmorphism Pattern
.panel {
background: var(--bg-surface);
backdrop-filter: blur(12px);
border: 1px solid var(--border);
border-radius: 8px;
}
Typography
- Display:
'Space Grotesk', sans-serif
- Body:
'Plus Jakarta Sans', sans-serif
- Mono:
'JetBrainsMono Nerd Font', 'Fira Code', monospace
Common Patterns
Component Styling
.my-component {
background: var(--bg-surface);
color: var(--text-primary);
border: 1px solid var(--border);
}
.my-component:hover {
background: var(--bg-hover);
border-color: var(--accent-dim);
}
Layout
- Three-panel layout: sidebar-left (250px) + main content (flex) + sidebar-right (300px)
- Panels use
flex and overflow: auto
- Terminal takes remaining height in main content
Best Practices
- Always use CSS variables — never hardcode colors
- Maintain transparency — use
rgba() for glassmorphism effect
- Use
clsx for conditional classes, not string concatenation
- No inline styles for colors — only for dynamic values (opacity, dimensions)
- Test both themes when changing styles