The cat mark
A cat face in one line, eyes closed. It is the app’s own drawing converted to SVG: a box 100 wide by 87 high, stroked at 6% of the width with round caps and joins (1.8 pt at the app’s 30 pt size). Ink on room or card.
Brand and style guide
The reference for the iPhone app and this site: the name and mark, colour, type, spacing, components and copy. Sizes and colours follow the app’s design system, and every contrast ratio here is computed from the hex values when the site is built.
Brand
The theme is called Nocturne: warm ivory ink on plum-black paper, accents like printed inks and an editorial serif. Surfaces are solid with hairline edges. No glass, blur or glow blobs.
Purr Room
Purr Room
A cat face in one line, eyes closed. It is the app’s own drawing converted to SVG: a box 100 wide by 87 high, stroked at 6% of the width with round caps and joins (1.8 pt at the app’s 30 pt size). Ink on room or card.
Keep a quarter of the mark’s width clear on every side. Beside the name the gap is that same quarter: 8 pt next to a 30 pt mark in the app.
64, 32 and 20 px. The mark is never drawn smaller than 20 px wide.
The sleeping cat between sound waves. Use the artwork as supplied. On the web, round the corners at 22% of the width; iOS applies its own mask.
64, 32 and 24 px. Below 24 px, use the name alone.
Do pair the mark and the name in ink, on room or card.
Do use the mark alone in ink, at 20 px or larger.
Do use the app icon as supplied, with rounded corners.
Don’t fill the face, add whiskers or redraw it.
Don’t tint it, glow it or stretch it. Colour belongs to sounds.
Don’t italicise the first word, join the words or set the name in sans.
Colour
Warm neutrals for the room, cards and text. Accents work like printed inks: one per sound family, pink for a loved sound and gold for Plus. Text is ink, muted or faint; accents mark a family or a state, never a paragraph.
Each ratio is the WCAG 2.2 contrast against the room and against a card, computed from the hex values at build time and rounded down to one decimal. AAA is 7:1 or more and AA 4.5:1, both fine for any text. Large is 3:1: enough for text from 24 px (18.7 px bold) and for the edges of controls. Below 3:1 is decoration only. Ratios are for flat colour; the film grain averages out to the room colour.
Room #0E0C12
Color.room --room
Page and screen background: the paper. Film grain sits on it.
Surface #1B1822
Color.surface --card
Cards and grouped lists.
Surface high #27232F
Color.surfaceHigh --raised
Glyph tiles, the mini player and pressed fills.
Line #37313F
Color.line --line
Hairlines, card borders and idle rings. Decoration only.
Ink #F4EFE8
Color.ink --ink
Titles, names, primary text and the primary button.
Muted #B4ADB9
Color.muted --muted
Body copy, subtitles and idle glyphs.
Faint #8C8592
Color.faint --faint
Captions, specs and counts. Not on raised tiles.
Calm #AFA2DE
Color.calm --calm
Calm family. Lilac.
Hunt #E4A96E
Color.hunt --play
Attract and play family. Apricot.
Ultra #86BCD8
Color.ultra --band
Cat-only band. Steel blue.
Good #E0909F
Color.good --good
The Loves it rating and heart counts.
Plus #D9BA7C
Color.plus --plus
Purr Room Plus and nothing else. Antique gold.
Bad #5E5866
Color.bad --bad
Defined in the theme, not used on screen. Never for text.
Each sound has its own shade inside its family, so overlapping traces in the pulse line and the hearing map stay apart. While a sound plays, its tone colours its glyph, its row and the play button. The first sound in each family uses the family colour itself.
Calm
Purr #AFA2DE
Room 8.3:1 AAA Card 7.5:1 AAA
Kitten Lullaby #9CAEE0
Room 8.8:1 AAA Card 7.9:1 AAA
Mother’s Heartbeat #CF9AC6
Room 8.4:1 AAA Card 7.5:1 AAA
Soft Hush #C2BAD8
Room 10.4:1 AAA Card 9.4:1 AAA
Attract and play
Trill Call #E4A96E
Room 9.4:1 AAA Card 8.4:1 AAA
Birdsong #E6C27F
Room 11.4:1 AAA Card 10.3:1 AAA
Pspsps #E19A86
Room 8.4:1 AAA Card 7.6:1 AAA
Mouse in Leaves #D6B496
Room 10.0:1 AAA Card 9.0:1 AAA
Real recordings
Sparrows #E8B98F
Room 10.8:1 AAA Card 9.8:1 AAA
Paper Bag #D9A982
Room 9.2:1 AAA Card 8.2:1 AAA
Food Can #E6BE9C
Room 11.3:1 AAA Card 10.1:1 AAA
Zebra Finch #EFCB9E
Room 12.6:1 AAA Card 11.4:1 AAA
Leaf Rustle #CDB487
Room 9.6:1 AAA Card 8.7:1 AAA
House Fly #C4B29A
Room 9.4:1 AAA Card 8.4:1 AAA
Cricket #D6C38E
Room 11.1:1 AAA Card 10.0:1 AAA
Mouse Squeaks #E2A693
Room 9.3:1 AAA Card 8.4:1 AAA
Cat-only band
Ultra Squeaks #86BCD8
Room 9.4:1 AAA Card 8.4:1 AAA
Ultra Cricket #9FCBDF
Room 11.1:1 AAA Card 10.0:1 AAA
Ultra Rustle #A7B6E2
Room 9.6:1 AAA Card 8.6:1 AAA
Purr Room Plus
Gold means Plus and nothing else: the Plus badge, the lock on locked sounds and mixes, the paywall’s eyebrow, the Plus button in the app’s header and the gold tier on this site. Never use it for warnings or general highlights.
Room 10.4:1 AAA Card 9.3:1 AAA
Type
Titles, sound names, cat names and mixes use the serif. Buttons, labels, body text and specs use the system sans. Italic in the serif marks the one phrase a heading turns on.
Display serif
New York in the app, semibold by default. Newsreader on the web: SIL Open Font License, subset to Latin, one weight (500) in roman and italic. Browsers don’t synthesise bold from it.
UI sans
SF Pro in the app: semibold for controls and labels, regular for body text. The system sans on the web, which is SF Pro on Apple devices. Specs, levels and counts use tabular figures.
Sizes at the default text size. Every style scales with Dynamic Type.
Purr Room
Calm
Mother’s Heartbeat
Sliding notes an octave above the human voice over a soft purr bed.
Now playing
26 Hz pulse · 180 to 700 Hz
Headings grow smoothly with the window between those sizes.
The app lowercases the label and sets true small caps. The web uses 12 px capitals with wide tracking, because system fonts on Windows and Android have no real small caps. Write the source in sentence case either way.
One italic phrase per heading, on the words that carry it. No bold, underline or colour for emphasis in a title.
Spacing, radius and motion
8 pt steps with a 4 pt half step. Screen edges and the play card’s padding are 20, sound rows 16 by 14, and sections sit 32 apart.
xxs4xs8s12m16l20xl24section32Continuous corners in the app; plain rounded corners at the same radius on the web.
tile 16card 20hero 26Glyph tiles round at 30% of their size: 13 at 44.
quick Press statessmooth, 0.2 sstandard The play card opening, the mini player, getting startedsmooth, 0.35 sSmooth is a spring with no bounce. Live art (glyphs, rings, the pulse line) moves only while a sound plays and holds still under Reduce Motion. On the web, presses use 200 ms ease out and switch off with reduced motion.
Components
Drawn here in HTML and CSS at the app’s sizes. A dashed outline shows the 48 pt hit area where the visible shape is smaller. On this site every button and button-like link is at least 48 px tall.
Voice and copy
Write like a careful friend who knows cats and sound: what to do, what will happen and when to stop. Every claim has to be true of the app as built.
Accessibility