toss style design system
via PatrickJS/awesome-cursorrules
Quiet, high-trust UI design system with disciplined spacing, grayscale hierarchy, and restrained color.
What is toss style design system?
Toss-style design enforces a calm, scannable aesthetic through consistent typography scales, generous whitespace, and a single accent color paired with semantic grayscale. Use this rule when building product interfaces that prioritize readability and confidence over visual novelty, especially for financial or trust-critical applications.
- Enforce strict typography scale with clear roles (title, section, body, metadata) and weight-first hierarchy
- Define consistent spacing tokens and section rhythm (summary, details, action, context) to organize layout
- Restrict color to one primary accent plus semantic status colors (success, warning, error) with grayscale for secondary states
- Provide card and surface guidelines: restrained radius, subtle shadows or borders, no nested cards
- Establish dark mode rebuild strategy with reduced accent intensity and preserved contrast layers
- Ensure WCAG AA contrast, visible focus states, semantic HTML, and reduced-motion respect for accessibility
Applies to
File patterns this rule matches.
Rule definition (reference)
Source of truth, from the repository.
Toss-Style Design System Rules
Design Direction
- Build quiet, high-trust product UI with clear hierarchy, generous spacing, and minimal ornament.
- Use one primary accent color and rely on grayscale for most structure.
- Avoid decorative gradients, unnecessary shadows, and competing accent colors.
- Prioritize readability, confidence, and fast scanning over visual novelty.
Typography
- Use a strict type scale with clear roles for page title, section title, body, supporting text, and metadata.
- Use font weight and color before using large size changes.
- Never use pure black text; use a dark grayscale foreground.
- Keep line height comfortable for body copy and tighter for short labels or metrics.
- For metrics, make the number visually dominant and the unit smaller but still legible.
Layout and Rhythm
- Use consistent spacing tokens.
- Keep related content close and unrelated content separated by whitespace.
- Use section rhythm: summary, details, action, and supporting context.
- Align form fields, values, and controls predictably.
- Avoid nested cards and excessive borders.
Cards and Surfaces
- Use cards only for grouped content that needs a surface.
- Keep card radius restrained and consistent.
- Use subtle shadows or borders, not both heavily.
- Keep shadow opacity low and avoid dramatic elevation.
- Do not place important controls in low-contrast decorative surfaces.
Color
- Use the accent color for primary actions, selected state, links, or critical brand moments.
- Use semantic colors for status only: success, warning, error, and information.
- Keep disabled and secondary states in grayscale.
- Ensure status is never communicated by color alone.
Dark Mode
- Rebuild the grayscale scale for dark mode rather than inverting colors.
- Reduce bright accent intensity on dark backgrounds.
- Preserve contrast between surface, border, and foreground layers.
- Test charts, cards, and form controls in both modes.
Accessibility
- Meet WCAG AA contrast for text and controls.
- Provide visible focus states.
- Keep tap targets large enough for touch.
- Use semantic HTML and labels before adding ARIA.
- Respect reduced motion preferences.
Common Mistakes
- Do not create one-off spacing values.
- Do not mix multiple unrelated accent colors.
- Do not overuse cards to separate every piece of content.
- Do not rely on large hero typography inside dense product screens.
Related rules
Senior full-stack TypeScript, React, Node.js guidance with clean architecture, testing, and WHY-oriented reasoning.
Quantitative factor research skills for designing, evaluating, and mining alpha factors in equities markets.
Android development with Jetpack Compose, clean architecture, and Material Design 3.
Angular development with Novo Elements UI library using standalone components.
Expert Angular 18 + TypeScript development with Jest, emphasizing clean code and performance.
Manage Kubernetes clusters, add-ons, stacks, and credentials via the Ankra CLI platform.