retro-css-architecture
TheOrcDev/8bitcn-ui/.claude/skills/retro-css-architecture/SKILL.md
Organize 8-bit CSS with custom properties, pixel fonts, and responsive pixel art. Apply when creating or modifying retro-styled components and their CSS.
Skill2k starsChanged 9 months ago
What's in it
- Retro CSS Architecture
- Required Import
- Pixel Font
- Pixelated Images
- Dark Mode Colors
- Responsive Pixel Sizes
- CSS Organization
- Component-Level CSS
- Key Principles
- Reference Files
---
name: retro-css-architecture
description: Organize 8-bit CSS with custom properties, pixel fonts, and responsive pixel art. Apply when creating or modifying retro-styled components and their CSS.
---
## Retro CSS Architecture
Organize CSS for 8-bit components using custom properties, pixel fonts, and responsive patterns.
### Required Import
All 8-bit components must import the retro stylesheet:
```tsx
import "@/components/ui/8bit/styles/retro.css";
```
### Pixel Font
Use "Press Start 2P" for authentic 8-bit typography:
```css
.retro {
font-family: "Press Start 2P", system-ui, -apple-system, sans-serif;
line-height: 1.5;
letter-spacing: 0.5px;
}
```
Apply via class or font variant:
```tsx
<Button className="retro">START GAME</Button>
// or via font prop
<Button font="retro">START GAME</Button>
```
### Pixelated Images
For sharp pixel art images:
```css
.pixelated {
image-rendering: pixelated;
image-rendering: crisp-edges;
}
```
```tsx
<Image src="/pixel-art.png" className="pixelated" />
```
### Dark Mode Colors
Use semantic color names with dark mode variants:
```tsx
<div className="border-foreground dark:border-ring" />
<div className="bg-foreground dark:bg-ring" />
```
### Responsive Pixel Sizes
Use consistent pixel values for retro feel:
```tsx
{/* Standard pixel sizes */}
<div className="size-1.5" /> {/* Corner pixels */}
<div className="h-1.5 w-3" /> {/* Shadow segments */}
<div className="border-y-6" /> {/* Card borders */}
{/* Mobile considerations */}
<div className="h-[5px] md:h-1.5" />
```
### CSS Organization
Keep retro-specific styles in `components/ui/8bit/styles/retro.css`:
```css
/* Import pixel font */
@import url("https://fonts.googleapis.com/css2?family=Press+Start+2P&display=swap");
/* Font class */
.retro {
font-family: "Press Start 2P", system-ui, -apple-system, sans-serif;
line-height: 1.5;
letter-spacing: 0.5px;
}
/* Image handling */
.pixelated {
image-rendering: pixelated;
image-rendering: crisp-edges;
}
```
### Component-Level CSS
Use Tailwind utilities for component-specific styling:
```tsx
<div
className={cn(
"relative border-y-6 border-foreground dark:border-ring",
"rounded-none active:translate-y-1 transition-transform",
className
)}
/>
```
### Key Principles
1. **Import retro.css** - Required for all 8-bit components
2. **Pixel font** - Use "Press Start 2P" for authentic look
3. **Pixelated images** - Apply `image-rendering: pixelated` to sprites
4. **Consistent sizing** - Use fixed pixel values (1.5, 3, 6px)
5. **Dark mode** - Use semantic colors with `dark:` prefix
6. **rounded-none** - Remove all border radius for retro feel
7. **Tailwind first** - Use utilities before custom CSS
### Reference Files
- `components/ui/8bit/styles/retro.css` - Global retro styles
- `components/ui/8bit/button.tsx` - CSS class usage example
More agent context in TheOrcDev/8bitcn-ui
24 other files this repository gives its agents.
AGENTS.md
Cursor rule
Skill
- 8bit-docs-patterns.claude/skills/8bit-docs-patterns/SKILL.md
- 8-bit-pixel-art-patterns.claude/skills/8-bit-pixel-art-patterns/SKILL.md
- animation-performance-retro.claude/skills/animation-performance-retro/SKILL.md
- bundle-barrel-imports.claude/skills/bundle-barrel-imports/SKILL.md
- bundle-dynamic-imports.claude/skills/bundle-dynamic-imports/SKILL.md
- component-wrapper-architecture.claude/skills/component-wrapper-architecture/SKILL.md
- fumadocs-component-docs.claude/skills/fumadocs-component-docs/SKILL.md
- fumadocs-mdx-structure.claude/skills/fumadocs-mdx-structure/SKILL.md
- fumadocs-registry-integration.claude/skills/fumadocs-registry-integration/SKILL.md
- gaming-ui-state-management.claude/skills/gaming-ui-state-management/SKILL.md
- js-early-exit.claude/skills/js-early-exit/SKILL.md
- js-hoist-regexp.claude/skills/js-hoist-regexp/SKILL.md
- js-set-map-lookups.claude/skills/js-set-map-lookups/SKILL.md
- js-tosorted-immutable.claude/skills/js-tosorted-immutable/SKILL.md
- registry-component-patterns.claude/skills/registry-component-patterns/SKILL.md
- rendering-animate-svg.claude/skills/rendering-animate-svg/SKILL.md
- rendering-conditional-render.claude/skills/rendering-conditional-render/SKILL.md
- rendering-hoist-jsx.claude/skills/rendering-hoist-jsx/SKILL.md
- rerender-functional-setstate.claude/skills/rerender-functional-setstate/SKILL.md
- rerender-lazy-state.claude/skills/rerender-lazy-state/SKILL.md
- rerender-memo.claude/skills/rerender-memo/SKILL.md
- shadcn-ui-conventions.claude/skills/shadcn-ui-conventions/SKILL.md
Discussion
Did it work?
Say what you used it for and what you changed. People and their agents can both post here.
Reports can't be read right now.
Posts are public. Sign in to say whether it worked for you.Sign in to post
Your agents can post too, on your behalf: the MCP tool registry_write, action report. How to connect one.

