/**
* Default design system documentation for the `get_design_system` MCP tool.
*
* This large string documents all available CSS variables, design tokens,
* animation presets, elevation levels, and typography scales. It is served
* to the LLM when no app-specific design context is configured.
*
* Any changes here must stay in sync with the design tokens, CSS
* variables, and component APIs published by `@ggui-ai/design`
* (`packages/design/`). A drift between this doc and the real design
* system causes the LLM to emit styling that the renderer cannot
* honor.
*/
/** Default light-theme design system documentation served to the LLM. */
export const DEFAULT_DESIGN_SYSTEM_DOCS = `# Design System - Default Light Theme
**IMPORTANT:** Always use CSS variables (var(--ggui-*)) for styling to ensure components respect the app theme.
## Colors
### Primary
- var(--ggui-color-primary-50) - #f0f9ff
- var(--ggui-color-primary-100) - #e0f2fe
- var(--ggui-color-primary-200) - #bae6fd
- var(--ggui-color-primary-300) - #7dd3fc
- var(--ggui-color-primary-400) - #38bdf8
- var(--ggui-color-primary-500) - #0ea5e9
- var(--ggui-color-primary-600) - #0284c7 (main action color)
- var(--ggui-color-primary-700) - #0369a1
- var(--ggui-color-primary-800) - #075985
- var(--ggui-color-primary-900) - #0c4a6e
### Semantic Surface & Text Colors (REQUIRED for theme compatibility)
These tokens adapt automatically to any theme (light, dark, branded). **ALWAYS use these for surfaces and text — never use raw neutral-* scale values.**
| Token | CSS Variable | Default | Role |
|-------|-------------|---------|------|
| surface | var(--ggui-color-surface) | Main content background |
| onSurface | var(--ggui-color-onSurface) | Primary text on surface |
| surfaceVariant | var(--ggui-color-surfaceVariant) | Card/panel background |
| onSurfaceVariant | var(--ggui-color-onSurfaceVariant) | Muted/secondary text |
| container | var(--ggui-color-container) | Primary-branded containers |
| onContainer | var(--ggui-color-onContainer) | Text on branded containers |
| outline | var(--ggui-color-outline) | Borders, dividers |
| outlineVariant | var(--ggui-color-outlineVariant) | Subtle borders |
**Usage pattern:**
- Page/section background → \`var(--ggui-color-surface)\`
- Body text → \`var(--ggui-color-onSurface)\`
- Card/panel background → \`var(--ggui-color-surfaceVariant)\`
- Secondary/muted text → \`var(--ggui-color-onSurfaceVariant)\`
- Branded section/header → \`var(--ggui-color-container)\` bg + \`var(--ggui-color-onContainer)\` text
- Borders/dividers → \`var(--ggui-color-outline)\` or \`var(--ggui-color-outlineVariant)\`
### State Colors
Semantic families ship as SCALES; the \`500\` stop is the role color (per-mode brightness), \`50\` the tint, \`800\` the on-tint text:
- var(--ggui-color-success-500) — success states (tint bg: success-50, text on tint: success-800)
- var(--ggui-color-warning-500) — warning states (warning-50 / warning-800)
- var(--ggui-color-error-500) — error states, destructive actions (error-50 / error-800)
- var(--ggui-color-info-500) — informational (info-50 / info-800)
Prefer the primitives' \`tone="success|warning|error|info"\` prop over hand-written vars — it resolves to the same stops.
### IMPORTANT: Color Rules
- **NEVER** use hardcoded hex colors. ONLY use var(--ggui-color-*) tokens.
- **NEVER** use rgba(), hsl(), or other CSS color functions with hardcoded values.
- **NEVER** use raw neutral-* or gray-* scale tokens (neutral-50, neutral-900, etc.) — these are internal to the theme and break in dark mode.
- **ALWAYS** use semantic tokens for text and backgrounds:
- Text: \`var(--ggui-color-onSurface)\` or \`var(--ggui-color-onSurfaceVariant)\`
- Backgrounds: \`var(--ggui-color-surface)\` or \`var(--ggui-color-surfaceVariant)\`
- Borders: \`var(--ggui-color-outline)\` or \`var(--ggui-color-outlineVariant)\`
- For branded elements use \`var(--ggui-color-primary-*)\` scale tokens — these ARE safe because primary adapts per theme.
- For card backgrounds use \`var(--ggui-color-surfaceVariant)\` or \`var(--ggui-color-primary-50)\`
## Spacing
Use \`var(--ggui-spacing-N)\` for all padding, gap, and margin values. **Never use raw numbers** like \`padding={16}\` — always use the token: \`padding="var(--ggui-spacing-4)"\`.
| Token | Value | Common use |
|-------|-------|------------|
| var(--ggui-spacing-1) | 4px | Icon gaps, tight spacing |
| var(--ggui-spacing-2) | 8px | Button padding, small gaps |
| var(--ggui-spacing-3) | 12px | List item spacing, form gaps |
| var(--ggui-spacing-4) | 16px | Card padding, section gaps |
| var(--ggui-spacing-5) | 20px | Medium padding |
| var(--ggui-spacing-6) | 24px | Container padding, large gaps |
| var(--ggui-spacing-8) | 32px | Section spacing |
| var(--ggui-spacing-10) | 40px | Page margins |
| var(--ggui-spacing-12) | 48px | Hero/large section spacing |
**Quick lookup (px → token):** 4→1, 8→2, 12→3, 16→4, 20→5, 24→6, 28→7, 32→8, 36→9, 40→10, 48→12
**Usage on primitives:**
\`\`\`tsx
...
\`\`\`
## Typography
### Font Sizes
- var(--ggui-font-size-xs) - 12px
- var(--ggui-font-size-sm) - 14px
- var(--ggui-font-size-base) - 16px
- var(--ggui-font-size-lg) - 18px
- var(--ggui-font-size-xl) - 20px
- var(--ggui-font-size-2xl) - 24px
- var(--ggui-font-size-3xl) - 30px
- var(--ggui-font-size-4xl) - 36px
### Font Weights
- var(--ggui-font-weight-normal) - 400
- var(--ggui-font-weight-medium) - 500
- var(--ggui-font-weight-semibold) - 600
- var(--ggui-font-weight-bold) - 700
## Border Radius
- var(--ggui-shape-radius-sm) - 4px
- var(--ggui-shape-radius-md) - 8px
- var(--ggui-shape-radius-lg) - 12px
- var(--ggui-shape-radius-xl) - 16px
- var(--ggui-shape-radius-full) - 9999px
## Shadows
- var(--ggui-shape-shadow-sm) - 0 1px 2px rgba(0,0,0,0.05)
- var(--ggui-shape-shadow-md) - 0 4px 6px -1px rgba(0,0,0,0.1)
- var(--ggui-shape-shadow-lg) - 0 10px 15px -3px rgba(0,0,0,0.1)
- var(--ggui-shape-shadow-xl) - 0 20px 25px -5px rgba(0,0,0,0.1)
## Usage Examples (always use ggui primitives — never raw