lab01.dev – Design System Reference
1. Visual Theme & Atmosphere
Developer-first terminal aesthetic. Geist Mono unifies every text element under a code-lab identity, stripping away decorative type in favour of monospaced precision and functional density.
The overall mode is dark, with a monospaced, code-aesthetic typographic identity. Shadows and elevation are used sparingly to separate key surfaces.
2. Color Palette & Roles
Computed Roles
- background (body):
rgb(10, 10, 10) - text (body):
rgba(255, 255, 255, 0.8) - border (header):
oklch(1 0 0 / 0.08) - background (footer):
rgb(250, 250, 250) - background (button):
rgb(17, 17, 17) - background (span.btn-availability-indicator):
rgb(52, 211, 153) - background (button.btn-color):
rgb(186, 150, 90) - background (button.btn-color):
rgb(134, 143, 159) - background (button.btn-color):
rgb(252, 73, 160) - background (button.btn-color):
rgb(122, 143, 247) - background (button.btn-color):
rgb(238, 65, 105) - background (button.btn-color):
rgb(178, 224, 113)
Key observations: No token layer exists. Colours emerge from context and browser defaults. Dark-mode-first palette.
3. Typography Rules
h1 – Geist Mono, 13px, weight 500, line-height 18.2px
Hierarchy principle: A single typeface (Geist Mono) handles all levels. Size and weight alone establish rhythm.
What is absent: No proportional serif or display face. The monospaced system is intentional – do not introduce decorative type.
4. Component Styling
Border radii: No border radii detected – corners are sharp throughout.
Interactive states:
button: tag: button.btn-color “Copy color to clipbo”, default: [object Object], hover: null, focus: [object Object]button: tag: button.btn-color “Copy color to clipbo”, default: [object Object], hover: null, focus: [object Object]button: tag: button.btn-color “Copy color to clipbo”, default: [object Object], hover: null, focus: [object Object]a[href]: tag: a.logo “Back to top”, default: [object Object], hover: null, focus: [object Object]
Buttons & controls: Match the typographic register – monospaced labels, minimal padding, high-contrast borders.
5. Layout Principles
Flex/grid gaps: normal 24px.
No dominant padding pattern – spacing is contextual.
Avoid introducing grid lines, dividers, or decorative rules unless absolutely necessary. Let whitespace do the structural work.
6. Depth & Elevation
element:"oklch(1 0 0 / 0.2) 0px 1px 0px 0px inset"element:"rgba(255, 255, 255, 0.05) 0px 0px 0px 1px inset, rgba(0, 0, 0, 0.075) 0px 0px 0px 1px, rgba(0, 0, 0, 0.06) 0px 0.2px 0.3px -2px, rgba(0, 0, 0, 0.082) 0px 0.7px 0.9px -2px, rgba(0, 0, 0, 0.14) 0px 3px 4px -2px"
Use shadows conservatively – reserve elevation for interactive feedback (dropdowns, modals), not decorative layering.
7. Do’s and Don’ts
Do:
- Respect the monospaced, code-aesthetic typographic voice – every element should speak the same typeface language.
- Use whitespace as a primary design tool. When in doubt, add space rather than elements.
- Stay within the established colour range – no additional palette colours.
- Keep interactions subtle: micro-transitions at 150-200ms maximum.
Don’t:
- Do not introduce proportional or display typefaces. The monospaced grid is the identity.
- Do not add drop shadows, gradients, or decorative textures unless they are already present in the system.
- Do not use colour to communicate hierarchy – size and weight do that work here.
- Avoid centring body text. The layout has a strong left-anchored reading rhythm.
8. Responsive Behavior
No explicit CSS breakpoints extracted. The layout relies on fluid units, CSS Grid auto-fit, or a single-column mobile-first approach.
Build mobile-first. Use fluid type and spacing where the existing CSS suggests it (clamp(), vw units). Avoid rigid pixel breakpoints if the system uses fluid scaling.
On small screens, collapse multi-column layouts to a single column without compromising the typographic scale. The type should remain readable – never below 14px rendered size.
9. Agent Prompt Guide
When generating UI components, extensions, or page sections for lab01.dev, instruct the agent as follows:
“Build in the style of lab01.dev: developer-first terminal aesthetic. Use Geist Mono as the primary typeface. Dark background, light text. Shadows only for modal-level elevation. Minimal palette, no custom tokens. No animations – immediate state changes only. Generous whitespace, strong typographic scale. Sharp corners throughout.”
Generated by Sparkbites – extracted from live CSS analysis