Memo · design + brand handoff

What I need
to finish, and from whom.

From Design system (this project)
To Design team · brand team
Date 17 May 2026
Status draft — every choice is reversible

I committed to a creative direction so the system would run. Eight decisions in that direction need a yes / override from you, and six files need to land in this repo before the extension can stop loading fonts from a CDN and stop shipping the placeholder square-and-dot PNG.

Nothing here is locked. Override anything; the tokens are wired so a re-skin is a single-file edit.

§ 01

Decisions to confirm or override

8 items

Each one currently has a proposed direction shipping in colors_and_type.css and the UI kit. Tick the box if you accept; replace inline if you want a different answer.

D-01 · Public display name
Is "Mokosh" the right manifest.json:name?
Proposing the codename surfaces externally as the public name. Alternative is keeping "AI Call Recorder" for store discoverability, or coining something new.
alt → "AI Call Recorder" · "Mokosh — Session Capture" · "Mokosh / АИ Регистратор"
brand
D-02 · Tagline
Confirm «Тридцать секунд назад, всегда под рукой.»
EN parallel: Thirty seconds ago, always within reach. Used on welcome hero + manifest.json:description.
brand
D-03 · Voice register
Two-register copy — terse RU on toolbar / popup / notification; bilingual RU+EN on welcome only.
Calm, operationally serious. Sentence case. Periods. No emoji. No exclamation marks. Address with «вы» on welcome; imperative verbs in popup.
brand
D-04 · Palette direction
"Loom" — linen + ink + dye-named accents. Light-primary with dark sibling.
Madder rust for REC is the boldest call. Alt is conventional material-red (#D32F2F) if rust reads off-brand.
override → flag the WCAG-AA-validated hex you'd prefer for any of madder / moss / amber / brick
design
D-05 · Type pairing
Newsreader (display) · IBM Plex Sans (UI) · IBM Plex Mono (mono).
All three OFL, all three cover Cyrillic. If a licensed face is preferred (e.g. an in-house family), name it and I'll rethread.
design
D-06 · Mark concept
2×2 weave intersection — see assets/mokosh-mark.svg.
References the goddess-of-weaving etymology without being illustrative. Holds at 16 px. Override with anything from a wordmark-only lockup to an illustrated scene.
design
D-07 · Iconography
Lucide — line, 1.5 stroke, 24 grid.
Open-licensed (ISC). Bundle locally for MV3. Alternative is a custom set or Phosphor / Heroicons. Tabler is the other strong line option.
design
D-08 · Per-state icon swap
Stick with neutral mark + dynamic badge, or commission per-state PNG sets?
Per-state requires 9 additional PNGs (3 sizes × 3 states) and a perf-costed chrome.action.setIcon swap on every state change. Default direction stays with the badge.
see assets-spec.md A-06 for the deliverable list if you pick swap
design
§ 02

Files I need landed in this repo

6 deliverables

Priorities map to the engineering plan in the original assets-spec.md. P0 unblocks shipping a real branded build; P1 finishes the welcome surface; P2 is polish.

P0 fonts/newsreader-{400,500,600}.woff2
fonts/ibm-plex-sans-{400,500,600,700}.woff2
fonts/ibm-plex-mono-{400,500}.woff2
Webfont WOFF2 files. Currently loaded from Google Fonts via @import. MV3 CSP forbids remote @font-face at runtime — production must bundle. I'll rewire colors_and_type.css to local rules once these land. Cyrillic ✓ · WOFF2
P0 assets/extension-icons/icon16.png
assets/extension-icons/icon48.png
assets/extension-icons/icon128.png
Branded extension icons. The three files currently in that folder are the upstream engineering placeholders (dark square + green dot). Rasterise from assets/mokosh-mark.svg — or supply a different mark if D-06 is overridden. ≥ 200 B · 500 B · 1 KB
P1 assets/extension-icons/icon192.png Hi-DPI notification icon. Optional but recommended for retina rendering of chrome.notifications.create. ≥ 2 KB
P1 copy/welcome.ru.md Final RU copy review. Hero title, three step bodies, three privacy cards. My draft in ui_kits/extension/Welcome.jsx is a working strawman. brand sign-off
P1 copy/welcome.en.md English parallel-text subhead. One line under the hero title. Brand decides whether to extend bilingual treatment to the step bodies. brand sign-off
P2 assets/icon-{rec,off,err}-{16,48,128}.png Per-state icon variants — only if D-08 lands on the swap direction. 9 files total. conditional
§ 03

Acceptance criteria

non-creative · binding

These are engineering / accessibility floors, not creative direction. Anything you ship has to clear them.

WCAG AA4.5 : 1 normal text, 3 : 1 large. Current palette is pre-validated; overrides need re-validation.
Cyrillic ✓Every chosen face renders Russian glyphs without fallback. Plex + Newsreader currently pass.
MV3 CSPNo remote font / script loads at runtime. Bundle everything locally in dist/.
Notification flooriconUrl ≥ 128 px PNG, ≥ 1 KB. Chrome's imageUtil silently rejects smaller files.
Badge floorBadge text ≤ 4 characters. Chrome truncates beyond. "REC" / "ERR" both fit.
Reduced-motionAll transitions collapse to 0 ms under prefers-reduced-motion. Wired in colors_and_type.css.
Colour-independenceEvery state pairs colour with text or shape. Badge carries REC / ERR text alongside the colour.
Focus visible3 px halo on all interactive elements. --mks-shadow-focus works on any surface.
§ 04

What I will do once you reply

turnaround

Round-trip cost so you can scope a review window.

Mokosh
handoff · v1 · 17.05.2026