Live preview
Use this system
Three ways to drop Citrus into your workflow.
Save the file for your tool — your agent then generates UI in Citrus, automatically.
CLAUDE.mdRepo root — Claude Code reads it automatically.
.cursor/rules/citrus.mdcProject rule — applied to every generation.
.windsurfrulesRepo root — Cascade reads it automatically.
.github/copilot-instructions.mdRepo-wide custom instructions for Copilot.
The system
Brand & Voice
Citrus is a splash of cold-pressed energy: zesty green and tangy orange on a bright, clean base. Optimistic and active, it suits health, food, and lifestyle products that want to feel fresh.
Layout & Grid
Punchy headers, rounded cards, and lots of light. Color is used generously but always with dark text on the brand fills so nothing strains the eye.
Components
Buttons
Rounded radius.md buttons in green color.brand.primary with dark onBrand
text; the orange color.brand.secondary flags highlights.
Cards
Bright cards on color.surface.raised with a soft shadow.md and rounded
corners; status pills combine color and label.
Accessibility
Bright but balanced: brand fills always carry dark text, and primary and muted text pass WCAG AA on every surface. Motion is gentle and reduced-motion aware.
Tokens
Color (14)
Tokens
Export
One source of truth, five formats — copy or download any of them.
---$schema: https://designmd.in/schema/v1.jsonid: citrusname: Citrustitle: Citrus — Bright & Energeticversion: 1.0.0category: playfultags: [playful, green, citrus, bright, energetic]author: designmdlicense: CC-BY-4.0updatedAt: 2026-06-22colorMode: [light]tokens: color: brand: primary: { value: "oklch(0.68 0.18 140)", type: color } secondary: { value: "oklch(0.72 0.18 60)", type: color } onBrand: { value: "oklch(0.18 0.02 140)", type: color } text: primary: { value: "oklch(0.27 0.04 135)", type: color } muted: { value: "oklch(0.47 0.04 135)", type: color } link: { value: "{color.brand.primary}", type: color } surface: base: { value: "oklch(0.99 0.012 120)", type: color } raised: { value: "oklch(1 0 0)", type: color } sunken: { value: "oklch(0.965 0.018 120)", type: color } border: default: { value: "oklch(0.9 0.02 120)", type: color } state: success: { value: "oklch(0.6 0.16 150)", type: color } danger: { value: "oklch(0.58 0.2 25)", type: color } warning: { value: "oklch(0.74 0.16 75)", type: color } info: { value: "oklch(0.6 0.14 240)", type: color } typography: family: sans: { value: "Nunito, system-ui, sans-serif", type: fontFamily } mono: { value: "ui-monospace, monospace", type: fontFamily } scale: sm: { value: "0.875rem", type: dimension } base: { value: "1rem", type: dimension } lg: { value: "1.3rem", type: dimension } xl: { value: "1.7rem", type: dimension } "2xl": { value: "2.3rem", type: dimension } "3xl": { value: "3.1rem", type: dimension } weight: regular: { value: 400, type: fontWeight } bold: { value: 800, type: fontWeight } leading: tight: { value: 1.12, type: number } normal: { value: 1.55, type: number } spacing: base: { value: "0.25rem", type: dimension } radius: sm: { value: "0.625rem", type: dimension } md: { value: "1rem", type: dimension } lg: { value: "1.5rem", type: dimension } full: { value: "9999px", type: dimension } shadow: sm: { value: "0 2px 6px oklch(0.27 0.04 135 / 0.1)", type: shadow } md: { value: "0 10px 28px oklch(0.27 0.04 135 / 0.14)", type: shadow } motion: duration: base: { value: "200ms", type: duration } easing: standard: { value: "cubic-bezier(0.34, 1.3, 0.64, 1)", type: cubicBezier } breakpoint: md: { value: "768px", type: dimension } iconography: style: { value: "2px stroke, rounded, lively", type: descriptor } zIndex: dropdown: { value: 1000, type: number } modal: { value: 1300, type: number }---# Citrus Design System## Brand & VoiceCitrus is a splash of cold-pressed energy: zesty green and tangy orange on abright, clean base. Optimistic and active, it suits health, food, and lifestyleproducts that want to feel fresh.## Layout & GridPunchy headers, rounded cards, and lots of light. Color is used generously butalways with dark text on the brand fills so nothing strains the eye.## Components### ButtonsRounded `radius.md` buttons in green `color.brand.primary` with dark `onBrand`text; the orange `color.brand.secondary` flags highlights.### CardsBright cards on `color.surface.raised` with a soft `shadow.md` and roundedcorners; status pills combine color and label.## AccessibilityBright but balanced: brand fills always carry dark text, and primary and mutedtext pass WCAG AA on every surface. Motion is gentle and reduced-motion aware.