Lede — brand guidelines (for marketing / landing pages)#
Derived from the extension UI (popup/popup.css, options/options.css, scripts/config.js, manifest.json, HTML).
Identity#
| Role | Copy |
|---|---|
| Product name | Lede |
| Short tagline | Page summarizer & chat |
| Full one-liner | Lede — page summarizer & chat |
| Manifest description | Lede — page summarizer & chat. Don't bury the main point—summarize and discuss any article. |
| Core metaphor | Journalism “lede” — put the main point first |
Hero / feature copy (popup empty state)
- Headline: Don't bury the lede
- Sub: Put the main point first—then ask anything about the page—with AI.
Primary action
- Button label: Summarize
- Tooltip: Reads this tab and puts the main point first.
Chat placeholder
- Ask Lede about this page…
Keyboard shortcuts (keep in sync with the product)
- Windows/Linux: Ctrl+Shift+U
- macOS: Cmd+Shift+U
- Command description: Summarize with Lede
Voice#
- Direct, concrete, page-grounded (avoid generic “AI assistant” filler).
- Prefer short lines for headings and CTAs.
- Loading / status tone examples: Finding the lede…, Reading this tab…, Tracing the thread…, Spotting what matters first…, Sifting signal from noise…
- Product answers from the open tab; positioning should reflect summarize + Q&A on that content.
Typography#
Google Font (display / UI chrome)
-
Family: Sora
-
Weights loaded in-app: 500, 600, 700
-
Stylesheet URL:
https://fonts.googleapis.com/css2?family=Sora:wght@500;600;700&display=swap
Font stacks
- Display:
"Sora", system-ui, sans-serif - Body:
system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif - Mono:
ui-monospace, "SF Mono", "Cascadia Code", monospace
Usage
- Sora 600–700: wordmark, hero titles, section headings, button labels, uppercase labels.
- Sora 500: medium UI weight (buttons).
- System UI / regular: paragraphs, long-form, body prose.
- Mono: shortcuts, code, technical hints.
Scale (modular ~1.25)
- xs:
0.6875rem(11px at 16px root) - sm:
0.8125rem - md:
0.875rem - base:
1rem - lg:
1.25rem - xl:
1.5625rem
Line height
- Headings:
1.25 - UI:
1.35 - Prose:
1.62(light) / up to1.7–1.75(dark long copy)
Letter-spacing
- Display titles:
-0.02em - Uppercase micro-labels:
0.08em+text-transform: uppercase
Color#
Light (default)#
| Token | Hex | Notes |
|---|---|---|
| Background | #f5f0e8 |
Warm paper |
| Subtle / panels | #ede8de |
Chips, secondary surfaces |
| Border | #e0d8cc |
Dividers, outlines |
| Border hover | #c8c0b4 |
|
| Text | #1a1a1a |
Primary |
| Text secondary | #2a2a2a |
Popup prose (options use #666 for secondary—same family) |
| Text muted | #aaa |
Icons, de-emphasis |
Cards on light (options pattern)
- Surface:
#ffffffon#f5f0e8canvas
Dark#
| Token | Hex |
|---|---|
| Background | #1a1a1a |
| Subtle | #252525 |
| Border | #2e2e2e |
| Text | #e8e3db |
| Text secondary | #d0cbc3 (popup) / #bbb (options) |
Brand accent (default)#
| State | Hex |
|---|---|
| Brand | #F15B2F |
| Hover | #D94E27 |
| Active | #BF4522 |
User-selectable accent presets (optional on a site for illustrations or secondary accents)
- Orange
#F15B2F(default) - Blue
#2F80ED - Green
#2FA36B - Purple
#7E57C2 - Teal
#14B8A6 - Pink
#EC4899 - Indigo
#4F46E5
Semantic (light)#
- Error background
#fdf0f0, border#f0d8d8, text#c05050 - Inline links (prose): default
#555, hover → brand
Focus#
outline: 2px solidbrand,outline-offset: 2px- Inputs: brand border +
box-shadow: 0 0 0 2pxbrand at 22% opacity (e.g.color-mix(in srgb, brand 22%, transparent))
Logo#
- Asset:
lightning.svg(repo root) - Usage in product: single-color mark via mask/fill using brand orange
- Lockup: bolt + Lede in Sora semibold
- Sizes in UI: ~13–14px (header), larger in empty state (~18px)—scale up freely for web
Shape language#
- Small controls: 6px radius
- Buttons, inputs, cards: 8px
- Suggestion chips: 14px radius
- Toasts: ~20px pill
- Dividers: 1px solid border color
Buttons / CTAs (signature)#
Primary CTA in the extension is outline brand, not solid by default:
- Transparent background, 1px border in brand, brand text
- Hover: fill brand, white text
- Active: darker brand (
#BF4522)
Secondary: neutral border, subtle fill on hover.
Motion#
- Easing:
cubic-bezier(0.25, 1, 0.5, 1),cubic-bezier(0.22, 1, 0.36, 1) - Durations: ~0.32s enter, 0.14s tap, 0.22s light toasts
- Entrance: slight translateY + fade
- Hover: small translateY(-1px) or light scale on icons
- Respect
prefers-reduced-motion: reduce
Theme#
- App supports light, dark, system
- Landing page: default light warm canvas; optional dark section using dark tokens + same orange accent reads as “the same product”
Technical positioning (accurate to the codebase)#
- Works with Ollama and OpenAI-compatible APIs; defaults include local Ollama URL patterns.
- Mention localhost / bring-your-own endpoint only if your landing page promises that—align with actual install docs.
Single source of truth for strings: scripts/config.js (CONFIG.EXTENSION, CONFIG.UI, CONFIG.PROMPTS); colors: popup/popup.css and options/options.css :root / [data-theme="dark"].