| name | orca-css |
| description | CSS authoring reference for ORCA. Covers supported properties, selectors, best practices, and patterns for writing maintainable stylesheets. Use when creating or editing CSS files, applying styles to components, or working with the style system.
|
| user-invocable | true |
ORCA CSS Authoring
A CSS-like styling system for ORCA applications. Stylesheets use a browser-compatible CSS subset with ORCA-specific extensions.
Principles
generated/ is your property reference. For supported CSS properties and their mappings, read the markdown in generated/, never source files.
- ORCA CSS is a subset. Not all browser CSS is supported. Check rules/properties.md before using advanced features.
- Consolidate properties. Keep all properties for a class in a single block, not spread across multiple selectors.
- Reuse classes. Prefer composing existing classes over creating new ones.
Agent Workflow
API reference: Use generated/ markdown files for fast lookups. These contain supported properties and their ORCA mappings.
When to read source: Only read *.c files when actively implementing or modifying the CSS parser. Never read source for reference.
Documentation rule: If you must read a source file to understand behavior, update the relevant generated/ or rules/ markdown with your findings. Future agents should not need to repeat this work.
Quick lookup priority:
rules/properties.md — supported CSS properties and mappings
rules/best-practices.md — authoring guidelines and patterns
rules/patterns.md — common styling patterns
- Source files — only when implementing, never for reference
Critical Rules
- Supported properties: Layout, typography, colors, borders, shadows, overflow
- Browser units become bindings:
rem/em → parent Font.Size binding, vh/vw → viewport bindings
- Font shorthand works:
font: 14px/1.5 sans-serif expands to font-size, line-height, font-family
- Consolidate properties: One block per class, not spread out
- Reuse classes: Compose existing classes, don't clone declarations
- Semantic naming:
.card, .section-heading, not .gap-12
- Group related selectors: When classes share styles
- Layout patterns: Centering, alignment, spacing
- Typography patterns: Headings, body text, captions
- Component patterns: Cards, buttons, navigation
Quick Reference
.card {
background-color: #223344;
padding: 24;
}
.button:hover {
opacity: 0.8;
}
.button:active {
opacity: 0.6;
}
.workflow-section .card {
padding: 24;
}
.base-card {
background-color: var(--card-background);
padding: 16;
}
.feature-card {
@apply: .base-card;
padding: 24;
}
.navbar,
.toolbar {
direction: horizontal;
align-items: center;
}
File Organization
Styles/
├── app.css # Main manifest with @imports
├── base.css # Surface tokens, body styles
├── layout.css # Grid, stack, alignment
├── typography.css # Font sizes, colors
├── components/
│ ├── buttons.css
│ ├── cards.css
│ └── navigation.css
└── pages/
├── home.css
└── profile.css
Detailed References