AI Studio Design System

A code-truthful spec for a modular GenAI production platform. The art direction is confident and technical — dark surfaces that stay out of the way so the generated content is always the thing you see. Every token here maps to a real value in css/main.css; when code and this doc disagree, code wins.

1 font family 4 tool categories 2 accent colors v1.0
01 · Identity

One platform, every capability.

A production platform for AI-powered creative work. Three principles hold the system together — break any one and it stops feeling like AI Studio.

The platform is the background.Dark surfaces recede so the generated output — image, video, 3D model — is always the visual star.
Modularity is visible.The panel grammar is consistent across every tool. Learn it once; use it everywhere.
Blue means action.Every interactive element uses the blue/violet spectrum. Nothing else competes for that signal.
02 · Color

Deep navy, indigo action, violet depth.

The palette derives from the AI Studio source: hsl(222 47% 11%) for the base, blue-500 for primary actions, and violet-600 as the modular accent. No warm tones — everything is cool, precise, and optimised for long sessions on dark backgrounds.

Backgrounds — deep navy

bg
#0B1120
Page background
bg-subtle
#0F172A
Subtle tint, stage bg
bg-card
#141D30
Panel surface, tool cards
bg-elevated
#1A2540
Elevated card, modal

Text — cool white scale

text
#F0F4FF
Primary, titles, score
text-dim
#94A3B8
Body, descriptions
text-muted
#64748B
Captions, helper text

Brand accents

brand-primary
#3B82F6
Primary action, links, focus
brand-mid
#60A5FA
Hover state, lighter blue
brand-purple
#7C3AED
Modular depth, third accent
brand-cyan
#38BDF8
Secondary highlight
success
#34D399
Completion, done states
danger
#F87171
Error, destructive action

Gradients

g-primary
blue → violet
CTA buttons, logo mark
g-sky
sky → blue
Processing state glow
03 · Typography

Inter — precise, modern, built for screens.

One family: Inter. Technical without being cold, readable at every weight on dark surfaces. 400 for body, 600 for labels and UI, 700 for headings. JetBrains Mono appears only on system-flavoured labels — API names, version tags, debug output.

Inter 700Display · headings · 44px
Generate image
Inter 600Panel headers · UI labels · 28px
Background Remover
Inter 400Body · descriptions · 16px
Pick a capability from the sidebar, set your prompt or upload your source file, and run. The result appears in the same panel — no tab switching required.
JetBrains MonoEyebrows · API tags · debug output · 11px
REPLICATE · IMAGE-GEN · v0.3.0 · 200 OK
04 · Spacing

A base-4 scale, used consistently.

Eight steps from a 4px hairline to 64px big-screen rhythm. Panel padding is always sp-6 (32px); component gaps are sp-5 (24px) or sp-4 (16px).

sp-1
4px
sp-2
8px
sp-3
12px
sp-4
16px
sp-5
24px
sp-6
32px
sp-7
48px
sp-8
64px
05 · Radius

Rounded enough to feel modern, not playful.

Four radii. Pill for action elements; 18px for panel cards; 12–14px for buttons; 8px for chips and tags. Consistent rounding signals coherence across all panels.

Pill CTAs, status badges
r-pill · 999px
Card Tool panels, result containers
r-lg · 18px
Button Form controls, action triggers
r-md · 12–14px
Chip Category tags, mini badges
r-sm · 8px
06 · Elevation

Every shadow is deep navy — never grey.

Grey shadows on dark backgrounds create muddy mid-tones. Deep navy alpha keeps the elevation system consistent with the surface family. Glows use brand blue or violet alpha.

sh-sm
sh-md
glow-blue
glow-violet
07 · Panel grammar

Four panels, one consistent layout.

Every tool in the platform renders inside the same panel structure: Tools, Editor, Settings, and Data. Panels are draggable, resizable, and persist their layout per-tool. The consistency is the interface — you learn the grammar once.

Tools panel
Editor panel
Settings panel
Data panel

Tool categories

Image Video 3D BG Removal
08 · Components

All cut from the same dark surface + blue-glow recipe.

Key interactive components, rendered on the platform's dark stage:

Buttons

09 · Motion

Feedback, not decoration.

Short, purposeful, informative. Every animation communicates a state transition. With prefers-reduced-motion on, all animations collapse to opacity fades.

Tool launch 280ms ease-out, panel slides in
Running…
Processing badge pulses while Replicate job is live
Result load panel scales 0.96→1, fades in
Focus / active blue glow ring, 150ms
10 · Voice

Direct, functional, never over-excited.

The platform talks to the team like a professional tool, not a consumer app. Clear, brief, specific — tell people what's happening and what to do next.

We say

"Processing — this takes 10–30 seconds."

"Done. Click to download your result."

"API error. Check your key in Settings."

We don't say

"Hang tight! Magic is happening ✨"

"Woohoo! Your image is ready!"

"Uh oh! Something went wrong :("

11 · Doing it wrong

Five ways to break the feel.

If a new screen does any of these, it isn't AI Studio anymore.

  • Don't use warm colours. The entire palette is cool — navy, blue, violet, grey. A warm orange or cream immediately reads as "wrong app."
  • Don't use grey shadows. All shadows use deep navy alpha; grey creates muddy mid-tones that flatten the dark-surface depth.
  • Don't let chrome compete with content. Panel chrome should recede; the generated image or output is always the visual hero of the screen.
  • Don't create a new tool outside the registry. All tools must register through toolRegistry.js — direct routing bypasses the modularity contract.
  • Don't use raw hex in components. Use the --brand-* tokens from :root, so a future retheme stays consistent.
12 · Source of truth

Where every token actually lives.

This page documents the system; the code defines it. When they disagree, the code wins.

Tokenscss/main.css — :root block
Tool registrysrc/tools/toolRegistry.js
Componentssrc/components/
API servicesrc/services/replicateService.js
Source codegithub.com/ilan-stack/ai-studio →