Neural Design System Reference
Neural is an AI chat interface with a 25-step gray scale, blue-centric accent system, and dark-first design. This reference covers the marketing site, web app, and chat UI patterns.
Source: · Platform: Next.js · Theme: dark-first
Colors
Neural uses a comprehensive gray scale as its foundation, with a blue-centric accent system and color theme options for chat personalization. The default mode is dark.
Gray Scale
Chat Themes
Neural offers 7 color themes for user message bubbles. The default is "black" (neutral). Users can choose blue, green, purple, orange, pink, or yellow themes.
User Message Bubbles by Theme
Submit Button by Theme
Semantic Colors
Dark Mode (Default)
| Token | Value |
|---|---|
| --bg-primary | #181818 |
| --bg-secondary | #303030 |
| --bg-tertiary | #414141 |
| --bg-elevated-primary | #303030 |
| --bg-scrim | #0d0d0d80 |
| --text-primary | #fff |
| --text-secondary | #cdcdcd (gray-300) |
| --text-tertiary | #9b9b9b (gray-500) |
| --text-quaternary | #ffffff69 |
| --text-error | #f93a37 |
| --text-accent | #66b5ff (blue-200) |
| --icon-primary | #e8e8e8 |
| --icon-secondary | #cdcdcd |
| --icon-tertiary | #afafaf |
| --border-default | #ffffff26 |
| --border-light | #ffffff0d |
| --border-heavy | #ffffff33 |
| --surface-hover | #ffffff26 |
| --link | #7ab7ff |
| --main-surface-primary | #141414 (gray-950) |
| --main-surface-secondary | #171717 (gray-900) |
| --sidebar-surface | #2b2b2b |
| --message-surface | #eeeeee |
Light Mode
| Token | Value |
|---|---|
| --bg-primary | #ffffff |
| --bg-secondary | #f9f9f9 |
| --text-primary | #0d0d0d |
| --text-secondary | #5d5d5d |
| --text-tertiary | #8f8f8f |
Typography
Font Stacks
| Name | Stack |
|---|---|
| --font-sans | ui-sans-serif, -apple-system, system-ui, "Segoe UI", Helvetica, Arial, sans-serif |
| --font-mono | ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace |
| Marketing | "Neural Sans", sans-serif |
App Type Scale
Font Weights
| Name | Value |
|---|---|
| extralight | 200 |
| light | 300 |
| normal | 400 |
| medium | 500 |
| semibold | 600 |
| bold | 700 |
| black | 900 |
Spacing
Based on a 4px grid (Tailwind v4 default). Key layout dimensions below.
Layout Dimensions
| Token | Value |
|---|---|
| --sidebar-width | 260px |
| --header-height | 52px |
| --composer-bar_width | 768px |
| --composer-bar_height | 52px |
| --thread-content-max-width | 52rem (832px) |
| --user-chat-width | 50% |
| --thread-component-gap | 28px |
| --thread-turn-vertical-padding | 1.25rem (20px) |
| --menu-item-height | 44px |
| --icon-lg-size | 22px |
| --scrollbar-width | 10px |
| --tap-padding (pointer) | 32px |
| --tap-padding (mobile) | 44px |
Border Radius
2px
4px
6px
8px
12px
16px
24px
32px
full
| Usage | Value |
|---|---|
| Pill buttons (CTA, voice) | 9999px (full) |
| Composer input | 28px |
| User message bubble | 24px (3xl) |
| Cards, sheets, dropdowns | 16px (2xl) |
| Code blocks | 8px (lg) |
| Icon buttons, sidebar items | 8px (lg) |
| Inline code | 4px (sm) |
Shadows
Animation
| Token | Value |
|---|---|
| --default-transition-duration | 0.15s |
| --default-transition-timing-function | cubic-bezier(0.4, 0, 0.2, 1) |
| --spring-fast-duration | 0.667s |
| --spring-common-duration | 0.667s |
| --spring-bounce-duration | 0.833s |
| --spring-slow-bounce-duration | 1.167s |
| --easing-spring-elegant-duration | 0.58171s |
| --ease-in | cubic-bezier(0.4, 0, 1, 1) |
| --ease-out | cubic-bezier(0, 0, 0.2, 1) |
| --ease-in-out | cubic-bezier(0.4, 0, 0.2, 1) |
| --cot-shimmer-duration | 2s |
Keyframe Animations
2s
1s
me
Breakpoints
| Name | Value |
|---|---|
| md | 48rem (768px) |
| lg | 64rem (1024px) |
| xl | 80rem (1280px) |
| 2xl | 96rem (1536px) |
Inputs / Composer
| Property | Value |
|---|---|
| Max width | 768px (--composer-bar_width) |
| Border radius | 28px |
| Bg (light) | #fff with box-shadow |
| Bg (dark) | #2f2f2f with 1px #ffffff1a border |
| Placeholder | "Ask anything" |
| Font size | 16px |
| Textarea padding | 0 0 16px |
Model Selector
Code Blocks
| Property | Value |
|---|---|
| Background | #0d0d0d (dark) / #171717 |
| Header bg | #2f2f2f (gray-750) |
| Font family | --font-mono |
| Font size | 0.9375rem (15px) |
| Line height | 1.375rem (22px) |
| Border radius | 8px |
| Text color | #e8e8e8 |
| Keyword | #c678dd (purple) |
| String | #98c379 (green) |
| Function | #61afef (blue) |
| Comment | #5c6370 (gray) |
| Number | #d19a66 (orange) |
File Icon Colors
Chat Interface - Light Mode
Chat Interface - Dark Mode
Auth / Login Page
Get started
Try it firstInteractive States
| State | Primary Bg | Secondary Bg | Accent Bg |
|---|---|---|---|
| Default | #fff | transparent | #013566 (blue-800) |
| Hover | #fffc | #ffffff1a | #003f7a (blue-700) |
| Press | #ffffffe5 | #ffffff0d | #004f99 (blue-600) |
| Inactive | #fff | transparent | #013566 (blue-800) |
| Selected | #fff | #ffffff1a | same as default |
| State | Primary Label | Secondary Label | Tertiary Label |
|---|---|---|---|
| Default | #0d0d0d | #f3f3f3 | #cdcdcd |
| Hover | #0d0d0d | #ffffffe5 | #cdcdcd |
| Press | #0d0d0d | #fffc | #cdcdcd |
Focus
| Token | Value |
|---|---|
| --interactive-border-focus | #fff |
| Focus outline width | 1.5px |
| Focus outline offset | 2.5px |
| Focus outline margin | 4px (default), -4px (inset) |
Responsive Patterns
| Pattern | Mobile | Desktop |
|---|---|---|
| Sidebar | Slide-over drawer | Fixed 260px |
| Touch targets | 44px (--tap-padding-mobile) | 32px (--tap-padding-pointer) |
| Icon buttons | 40px x 40px | 36px x 36px |
| Thread margin | 12px (3 * spacing) | 64px (16 * spacing) |
| Thread max-width | 100% | 52rem (832px) |
| Composer width | 100% | 768px max |
Scrollbar
| Property | Value |
|---|---|
| Width | 10px |
| Track color | transparent |
| Thumb color | #ffffff1a |
| Thumb color (hover) | #ffffff33 |
| Utility color | #ffffff33 |
Tailwind Mapping
The paired JSON export now includes a tailwind section with theme extensions and component recipes. Use these mappings instead of default Tailwind tokens when recreating this system.
// tailwind.config.js
import designSystem from './design-system.json';
export default {
theme: {
extend: designSystem.tailwind.theme.extend,
},
};
// Also reuse designSystem.tailwind.componentRecipes for common surfaces.
| Scope | Primary | Body Font | Radius | Shadow | Breakpoint |
|---|---|---|---|---|---|
| Design System | — | — | — | — | — |
| Scope | Recipe | Class Pattern | Notes |
|---|---|---|---|
| Design System | buttonPrimary | inline-flex items-center justify-center gap-2 rounded-md bg-brand-primary text-text-inverse shadow-sm px-4 py-2 font-semibold transition-colors | Primary action button using exported brand, radius, and shadow tokens. |
| Design System | surfaceCard | rounded-md bg-surface-base text-text-primary border border-border-subtle shadow-sm p-6 | Default surface/card treatment for high-visibility content areas. |
| Design System | inputField | rounded-md border border-border-subtle bg-surface-base text-text-primary px-3 py-2 focus:outline-none focus:ring-2 focus:ring-focus-ring | Base text input treatment aligned to the exported radius, border, and focus tokens. |