manus-skills/.kortix/opencode/skills/coding/nothing-design/references/tokens.md
zhukang 1c7abd81d1 All 310 Manus skill-hub community skills as a Kortix marketplace registry
- 310 registry:skill items, 1528 files, 7 categories (hub tags)
- registry.json generated by @kortix/registry buildRegistry
- nested SKILL.md in sn-da-* renamed SUBSKILL.md (no phantom skills)
- provenance + licenses: SOURCES.md
2026-09-15 13:37:20 +08:00

5.8 KiB
Raw Blame History

Nothing Design System — Tokens

1. TYPOGRAPHY

Font Stack

Role Font Fallback Weight
Display "Doto" "Space Mono", monospace 400–700, variable dot-size
Body / UI "Space Grotesk" "DM Sans", system-ui, sans-serif Light 300, Regular 400, Medium 500, Bold 700
Data / Labels "Space Mono" "JetBrains Mono", "SF Mono", monospace Regular 400, Bold 700

Why these fonts: Doto = variable dot-matrix (closest to NDot 57). Space Grotesk + Space Mono by Colophon Foundry — same foundry as Nothing's actual typefaces. Shared design DNA.

Type Scale

Token Size Line Height Letter Spacing Use
--display-xl 72px 1.0 -0.03em Hero numbers, time displays
--display-lg 48px 1.05 -0.02em Section heroes, percentages
--display-md 36px 1.1 -0.02em Page titles
--heading 24px 1.2 -0.01em Section headings
--subheading 18px 1.3 0 Subsections
--body 16px 1.5 0 Body text
--body-sm 14px 1.5 0.01em Secondary body
--caption 12px 1.4 0.04em Timestamps, footnotes
--label 11px 1.2 0.08em ALL CAPS monospace labels

Typographic Rules

  • Doto: 36px+ only, tight tracking, never for body text
  • Labels: Always Space Mono, ALL CAPS, 0.06–0.1em spacing, 11–12px ("instrument panel" labels)
  • Data/Numbers: Always Space Mono. Units as --label size, slightly raised, adjacent
  • Hierarchy: display (Doto) > heading (Space Grotesk) > label (Space Mono caps) > body (Space Grotesk). Four levels max.

2. COLOR SYSTEM

Primary Palette (Dark Mode)

Token Hex Contrast on #000 Role
--black #000000 — Primary background (OLED)
--surface #111111 1.3:1 Elevated surfaces, cards
--surface-raised #1A1A1A 1.5:1 Secondary elevation
--border #222222 — Subtle dividers (decorative only)
--border-visible #333333 — Intentional borders, wireframe lines
--text-disabled #666666 4.0:1 Disabled text, decorative elements
--text-secondary #999999 6.3:1 Labels, captions, metadata
--text-primary #E8E8E8 16.5:1 Body text
--text-display #FFFFFF 21:1 Headlines, hero numbers

Accent & Status Colors

Token Hex Usage
--accent #D71921 Signal light: active states, destructive, urgent. One per screen as UI element. Never decorative.
--accent-subtle rgba(215,25,33,0.15) Accent tint backgrounds
--success #4A9E5C Confirmed, completed, connected
--warning #D4A843 Caution, pending, degraded
--error #D71921 Shares accent red — errors ARE the accent moment
--info #999999 Uses secondary text color
--interactive #007AFF / #5B9BF6 Tappable text: links, picker values. Not for buttons.

Data status colors: --success = good/in range, --warning = moderate/attention, --accent = bad/over limit, --text-primary = neutral. Apply color to value, not label or background. Labels stay --text-secondary. Trend arrows inherit value color.

Dark / Light Mode

Token Dark Light
--black #000000 #F5F5F5
--surface #111111 #FFFFFF
--surface-raised #1A1A1A #F0F0F0
--border #222222 #E8E8E8
--border-visible #333333 #CCCCCC
--text-disabled #666666 #999999
--text-secondary #999999 #666666
--text-primary #E8E8E8 #1A1A1A
--text-display #FFFFFF #000000
--interactive #5B9BF6 #007AFF

Identical across modes: Accent red, status colors, ALL CAPS labels, fonts, type scale, spacing, component shapes.

Dark feel: Instrument panel in a dark room. OLED black, white data glowing. Light feel: Printed technical manual. Off-white paper (#F5F5F5), black ink. Cards = #FFFFFF on off-white page = subtle elevation without shadows.


3. SPACING

Spacing Scale (8px base)

Token Value Use
--space-2xs 2px Optical adjustments only
--space-xs 4px Icon-to-label gaps, tight padding
--space-sm 8px Component internal spacing
--space-md 16px Standard padding, element gaps
--space-lg 24px Group separation
--space-xl 32px Section margins
--space-2xl 48px Major section breaks
--space-3xl 64px Page-level vertical rhythm
--space-4xl 96px Hero breathing room

4. MOTION & INTERACTION

  • Duration: 150–250ms micro, 300–400ms transitions
  • Easing: cubic-bezier(0.25, 0.1, 0.25, 1) — subtle ease-out. No spring/bounce.
  • Prefer opacity over position. Elements fade, don't slide.
  • Hover: border/text brightens. No scale, no shadows.
  • No parallax, scroll-jacking, gratuitous animation.

5. ICONOGRAPHY

  • Monoline, 1.5px stroke, no fill. 24x24 base, 20x20 live area. Round caps/joins.
  • Color inherits text color. Max 5–6 strokes.
  • Preferred: Lucide (thin), Phosphor (thin). Never filled or multi-color.

6. DOT-MATRIX MOTIF

When to use: Hero typography (Doto), decorative grid backgrounds, dot-grid data viz, loading indicators, empty state illustrations.

CSS Implementation

.dot-grid {
  background-image: radial-gradient(circle, var(--border-visible) 1px, transparent 1px);
  background-size: 16px 16px;
}
.dot-grid-subtle {
  background-image: radial-gradient(circle, var(--border) 0.5px, transparent 0.5px);
  background-size: 12px 12px;
}

Dots 1–2px, uniform 12–16px grid. Opacity 0.1–0.2 for backgrounds, full for data. Never as container border or button style.