Brand system · v2

You tell it, it ships.

That is the product: you tell Jomoq what you want, and it becomes the thing. The Q's tail breaking out of its box is the whole idea in one stroke — the conversation that escapes the chat window and ships as something real.

02 — Color

White canvas, black ink, pastel blocks

The product runs on black and white: a white canvas with #F5F5F5 fills and #E6E6E6 hairlines in light, editor greys (#1E1E1E canvas, #2C2C2C panels) in dark, and one monochrome accent. Marketing pages are always white and set the product UI on flat pastel blocks. A single blue marks focus and selection. Green means success, amber means warning, red means danger, always. The theme swatches below are computed live; flip the toggle to see both.

Marketing washes and accents (light only)
--rd-wash-lime#F3FFE3 · FAQ band, banner
--rd-wash-cyan#D9F8F7 · media block
--rd-wash-violet#EFE9FF · media block
--rd-wash-peach#FFEEE4 · media block
--rd-blue#0D99FF · focus, selection, cursor
--rd-violet-solid#7B4DFF · second cursor
--rd-green#14AE5C · plan checks
--rd-cta-bg#000000 · buttons, footer, close panel
03 — Typography

The system font, everywhere.

One family carries everything you read and everything you use — prose, docs, headlines, buttons, sidebars, menus, settings, the builder. Weight does the work: 600–700 for headings, 500 for labels, 400 for body. KaTeX renders formulae in its own faces, and Noto Sans Mono is the technical thread for code, data, and the eyebrow label. Each device draws its own UI font (SF Pro, Segoe UI, Roboto) at a 14px base; Cyrillic, Kazakh and Kyrgyz letters included, comes from Noto Sans.

Display — System UI 400, tight tracking

Chat for everything. Build when you want.

Interface — System UI 400 / 500 / 600, 14px

Buttons, labels, sidebars, menus, settings, model pills and the whole builder. The same system font as prose — weight and size carry the hierarchy, staying legible at the 12–13px of dense chrome. Display type is regular weight with tight tracking; 600 for emphasis, 500 for labels.

Reading — System UI 400 / 600 · Cyrillic in Noto Sans

Jomoq keeps the whole job in one thread: questions, files, research with sources, and the moment a reply is not enough, a live page. 16px body, 1.5–1.65 line height, muted color for supporting text, italic for emphasis and 600 for weight.

Math — KaTeX Math

∫₀^∞ e−x² dx = √π ⁄ 2  ·  ∑ aₙ xⁿ  ·  α β γ δ ∂ ∇ ≤ ≥ ≈ ∈ ℝ

Technical — Noto Sans Mono 400–600

> diff_apply --op replace_text · 200 OK · 8,192 tokens
THE EYEBROW LABEL: 11PX · UPPERCASE · +0.08EM

Scale
32–68pxHero display
22–36pxSection title
16pxBody text
14pxUI labels, buttons
13pxDense UI, messages
11pxEyebrow / micro
04 — Space, radius, depth, motion

The scales

Everything sits on a 4px grid. Buttons are 8px, panels 12–16px. Depth is mostly flat: hairlines separate, and one soft shadow lifts floating UI (the composer, product mocks on the marketing pages). Motion is 120–260ms on a sharp ease-out, and none at all for high-frequency actions.

Spacing — 4px grid
--space-1
--space-2
--space-3
--space-4
--space-5
--space-6
--space-7
--space-8
Radius
4
8
12
16
20
pill
Elevation — flat tokens; one soft lift for floating UI
shadow-1
shadow-2
shadow-3
Motion — hover & press me
05 — Voice

Plain, confident, technical

Short sentences. No hype. We say what the product does, and microcopy stays calm.

We say

"Start a thread." · "Copied." · "Reply finished." · "When a reply is not enough, build it."

We never say

"Supercharge your workflow! 🚀" · "Unleash the power of AI" · "Oops! Something went wrong 😢"

06 — Components

The component library

Rendered live from the production stylesheet — these are the real classes, not mockups. Flip the theme toggle and everything below follows.

Buttons

.btn .btn-primary / .btn-secondary / .btn-danger / .btn-sm / .btn-pill

Primary is tactile: a 2px "lip" that compresses on press. Every button scales feedback within 120ms and shows a visible focus ring.

Select

.custom-select
  • Llama 3.3 70B · Groq
  • Deepseek V3
  • Gemini 2.5 Flash

Inputs & checks

.settings-field · .custom-check

Messages

.message-row .message .user / .assistant
Make the hero headline bigger and switch the CTA to "Start free".
Done — the hero now uses the display scale and the primary CTA reads Start free. Want the same treatment on the pricing cards?
.landing-hero h1 {
  font-size: clamp(2.5rem, 6.4vw, 4.25rem);
}

Agent activity

.live-agent-bubble · .streaming-preview
Editing index.html
read_file
diff_apply · hero section
write_file
Updating the live preview…

Status

.sync-pill · .status-pill · .provider-tag · .token-meter
Synced Syncing… Sync failed GROQ
42%

Menus

.mode-menu · .vscode-context-menu

Eyebrow & kbd

.eyebrow · kbd
The signature label — mono, uppercase, tracked
Press ⌘ K to switch models, Enter to send.
AI workspace

Dialog

.storage-modal-card

Clear local data?

This removes chats, playgrounds, and version history stored in this browser. Synced data stays in your account.

Dialogs open at 260ms from center with focus trapped inside; exits are faster than entries. Destructive confirms always pair a quiet cancel with an explicit danger action.

07 — Assets

Files

jomoq-logo.svgWordmark — currentColor SVG
favicon.svgThe mark — bare Q, follows the browser theme
favicon.icoThe mark on a dark tile — 16/32/48 fallback for Safari and legacy tabs
apple-touch-icon.pngThe mark — 180px, full-bleed for iOS home screens
og.pngShare card — 1200×630 link preview
DESIGN.mdWritten spec for this system
css/index.cssDesign tokens — the :root theme blocks