← Về thư mục
📄 / / root / .hermes / profiles / glv-director / skills / creative / popular-web-designs / templates / linear.app.md

Design System: Linear

Hermes Agent — Implementation Notes

The original site uses proprietary fonts. For self-contained HTML output, use these CDN substitutes: - Primary: Inter | Mono: JetBrains Mono - Font stack (CSS): font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif; - Mono stack (CSS): font-family: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace; html <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet"> Use write_file to create HTML, serve via generative-widgets skill (cloudflared tunnel). Verify visual accuracy with browser_vision after generating.

1. Visual Theme & Atmosphere

Linear's website is a masterclass in dark-mode-first product design — a near-black canvas (#08090a) where content emerges from darkness like starlight. The overall impression is one of extreme precision engineering: every element exists in a carefully calibrated hierarchy of luminance, from barely-visible borders (rgba(255,255,255,0.05)) to soft, luminous text (#f7f8f8). This is not a dark theme applied to a light design — it is darkness as the native medium, where information density is managed through subtle gradations of white opacity rather than color variation.

The typography system is built entirely on Inter Variable with OpenType features "cv01" and "ss03" enabled globally, giving the typeface a cleaner, more geometric character. Inter is used at a remarkable range of weights — from 300 (light body) through 510 (medium, Linear's signature weight) to 590 (semibold emphasis). The 510 weight is particularly distinctive: it sits between regular and medium, creating a subtle emphasis that doesn't shout. At display sizes (72px, 64px, 48px), Inter uses aggressive negative letter-spacing (-1.584px to -1.056px), creating compressed, authoritative headlines that feel engineered rather than designed. Berkeley Mono serves as the monospace companion for code and technical labels, with fallbacks to ui-monospace, SF Mono, and Menlo.

The color system is almost entirely achromatic — dark backgrounds with white/gray text — punctuated by a single brand accent: Linear's signature indigo-violet (#5e6ad2 for backgrounds, #7170ff for interactive accents). This accent color is used sparingly and intentionally, appearing only on CTAs, active states, and brand elements. The border system uses ultra-thin, semi-transparent white borders (rgba(255,255,255,0.05) to rgba(255,255,255,0.08)) that create structure without visual noise, like wireframes drawn in moonlight.

Key Characteristics: - Dark-mode-native: #08090a marketing background, #0f1011 panel background, #191a1b elevated surfaces - Inter Variable with "cv01", "ss03" globally — geometric alternates for a cleaner aesthetic - Signature weight 510 (between regular and medium) for most UI text - Aggressive negative letter-spacing at display sizes (-1.584px at 72px, -1.056px at 48px) - Brand indigo-violet: #5e6ad2 (bg) / #7170ff (accent) / #828fff (hover) — the only chromatic color in the system - Semi-transparent white borders throughout: rgba(255,255,255,0.05) to rgba(255,255,255,0.08) - Button backgrounds at near-zero opacity: rgba(255,255,255,0.02) to rgba(255,255,255,0.05) - Multi-layered shadows with inset variants for depth on dark surfaces - Radix UI primitives as the component foundation (6 detected primitives) - Success green (#27a644, #10b981) used only for status indicators

2. Color Palette & Roles

Background Surfaces

Text & Content

Brand & Accent

Status Colors

Border & Divider

Light Mode Neutrals (for light theme contexts)

Overlay

3. Typography Rules

Font Family

Hierarchy

Role Font Size Weight Line Height Letter Spacing Notes
Display XL Inter Variable 72px (4.50rem) 510 1.00 (tight) -1.584px Hero headlines, maximum impact
Display Large Inter Variable 64px (4.00rem) 510 1.00 (tight) -1.408px Secondary hero text
Display Inter Variable 48px (3.00rem) 510 1.00 (tight) -1.056px Section headlines
Heading 1 Inter Variable 32px (2.00rem) 400 1.13 (tight) -0.704px Major section titles
Heading 2 Inter Variable 24px (1.50rem) 400 1.33 -0.288px Sub-section headings
Heading 3 Inter Variable 20px (1.25rem) 590 1.33 -0.24px Feature titles, card headers
Body Large Inter Variable 18px (1.13rem) 400 1.60 (relaxed) -0.165px Introduction text, feature descriptions
Body Emphasis Inter Variable 17px (1.06rem) 590 1.60 (relaxed) normal Emphasized body, sub-headings in content
Body Inter Variable 16px (1.00rem) 400 1.50 normal Standard reading text
Body Medium Inter Variable 16px (1.00rem) 510 1.50 normal Navigation, labels
Body Semibold Inter Variable 16px (1.00rem) 590 1.50 normal Strong emphasis
Small Inter Variable 15px (0.94rem) 400 1.60 (relaxed) -0.165px Secondary body text
Small Medium Inter Variable 15px (0.94rem) 510 1.60 (relaxed) -0.165px Emphasized small text
Small Semibold Inter Variable 15px (0.94rem) 590 1.60 (relaxed) -0.165px Strong small text
Small Light Inter Variable 15px (0.94rem) 300 1.47 -0.165px De-emphasized body
Caption Large Inter Variable 14px (0.88rem) 510–590 1.50 -0.182px Sub-labels, category headers
Caption Inter Variable 13px (0.81rem) 400–510 1.50 -0.13px Metadata, timestamps
Label Inter Variable 12px (0.75rem) 400–590 1.40 normal Button text, small labels
Micro Inter Variable 11px (0.69rem) 510 1.40 normal Tiny labels
Tiny Inter Variable 10px (0.63rem) 400–510 1.50 -0.15px Overline text, sometimes uppercase
Link Large Inter Variable 16px (1.00rem) 400 1.50 normal Standard links
Link Medium Inter Variable 15px (0.94rem) 510 2.67 normal Spaced navigation links
Link Small Inter Variable 14px (0.88rem) 510 1.50 normal Compact links
Link Caption Inter Variable 13px (0.81rem) 400–510 1.50 -0.13px Footer, metadata links
Mono Body Berkeley Mono 14px (0.88rem) 400 1.50 normal Code blocks
Mono Caption Berkeley Mono 13px (0.81rem) 400 1.50 normal Code labels
Mono Label Berkeley Mono 12px (0.75rem) 400 1.40 normal Code metadata, sometimes uppercase

Principles

4. Component Stylings

Buttons

Ghost Button (Default) - Background: rgba(255,255,255,0.02) - Text: #e2e4e7 (near-white) - Padding: comfortable - Radius: 6px - Border: 1px solid rgb(36, 40, 44) - Outline: none - Focus shadow: rgba(0,0,0,0.1) 0px 4px 12px - Use: Standard actions, secondary CTAs

Subtle Button - Background: rgba(255,255,255,0.04) - Text: #d0d6e0 (silver-gray) - Padding: 0px 6px - Radius: 6px - Use: Toolbar actions, contextual buttons

Primary Brand Button (Inferred) - Background: #5e6ad2 (brand indigo) - Text: #ffffff - Padding: 8px 16px - Radius: 6px - Hover: #828fff shift - Use: Primary CTAs ("Start building", "Sign up")

Icon Button (Circle) - Background: rgba(255,255,255,0.03) or rgba(255,255,255,0.05) - Text: #f7f8f8 or #ffffff - Radius: 50% - Border: 1px solid rgba(255,255,255,0.08) - Use: Close, menu toggle, icon-only actions

Pill Button - Background: transparent - Text: #d0d6e0 - Padding: 0px 10px 0px 5px - Radius: 9999px - Border: 1px solid rgb(35, 37, 42) - Use: Filter chips, tags, status indicators

Small Toolbar Button - Background: rgba(255,255,255,0.05) - Text: #62666d (muted) - Radius: 2px - Border: 1px solid rgba(255,255,255,0.05) - Shadow: rgba(0,0,0,0.03) 0px 1.2px 0px 0px - Font: 12px weight 510 - Use: Toolbar actions, quick-access controls

Cards & Containers

Inputs & Forms

Text Area - Background: rgba(255,255,255,0.02) - Text: #d0d6e0 - Border: 1px solid rgba(255,255,255,0.08) - Padding: 12px 14px - Radius: 6px

Search Input - Background: transparent - Text: #f7f8f8 - Padding: 1px 32px (icon-aware)

Button-style Input - Text: #8a8f98 - Padding: 1px 6px - Radius: 5px - Focus shadow: multi-layer stack

Badges & Pills

Success Pill - Background: #10b981 - Text: #f7f8f8 - Radius: 50% (circular) - Font: 10px weight 510 - Use: Status dots, completion indicators

Neutral Pill - Background: transparent - Text: #d0d6e0 - Padding: 0px 10px 0px 5px - Radius: 9999px - Border: 1px solid rgb(35, 37, 42) - Font: 12px weight 510 - Use: Tags, filter chips, category labels

Subtle Badge - Background: rgba(255,255,255,0.05) - Text: #f7f8f8 - Padding: 0px 8px 0px 2px - Radius: 2px - Border: 1px solid rgba(255,255,255,0.05) - Font: 10px weight 510 - Use: Inline labels, version tags

Image Treatment

5. Layout Principles

Spacing System

Grid & Container

Whitespace Philosophy

Border Radius Scale

6. Depth & Elevation

Level Treatment Use
Flat (Level 0) No shadow, #010102 bg Page background, deepest canvas
Subtle (Level 1) rgba(0,0,0,0.03) 0px 1.2px 0px Toolbar buttons, micro-elevation
Surface (Level 2) rgba(255,255,255,0.05) bg + 1px solid rgba(255,255,255,0.08) border Cards, input fields, containers
Inset (Level 2b) rgba(0,0,0,0.2) 0px 0px 12px 0px inset Recessed panels, inner shadows
Ring (Level 3) rgba(0,0,0,0.2) 0px 0px 0px 1px Border-as-shadow technique
Elevated (Level 4) rgba(0,0,0,0.4) 0px 2px 4px Floating elements, dropdowns
Dialog (Level 5) Multi-layer stack: rgba(0,0,0,0) 0px 8px 2px, rgba(0,0,0,0.01) 0px 5px 2px, rgba(0,0,0,0.04) 0px 3px 2px, rgba(0,0,0,0.07) 0px 1px 1px, rgba(0,0,0,0.08) 0px 0px 1px Popovers, command palette, modals
Focus rgba(0,0,0,0.1) 0px 4px 12px + additional layers Keyboard focus on interactive elements

Shadow Philosophy: On dark surfaces, traditional shadows (dark on dark) are nearly invisible. Linear solves this by using semi-transparent white borders as the primary depth indicator. Elevation isn't communicated through shadow darkness but through background luminance steps — each level slightly increases the white opacity of the surface background (0.020.040.05), creating a subtle stacking effect. The inset shadow technique (rgba(0,0,0,0.2) 0px 0px 12px 0px inset) creates a unique "sunken" effect for recessed panels, adding dimensional depth that traditional dark themes lack.

7. Do's and Don'ts

Do

Don't

8. Responsive Behavior

Breakpoints

Name Width Key Changes
Mobile Small <600px Single column, compact padding
Mobile 600–640px Standard mobile layout
Tablet 640–768px Two-column grids begin
Desktop Small 768–1024px Full card grids, expanded padding
Desktop 1024–1280px Standard desktop, full navigation
Large Desktop >1280px Full layout, generous margins

Touch Targets

Collapsing Strategy

Image Behavior

9. Agent Prompt Guide

Quick Color Reference

Example Component Prompts

Iteration Guide

  1. Always set font-feature-settings "cv01", "ss03" on all Inter text — this is non-negotiable for Linear's look
  2. Letter-spacing scales with font size: -1.584px at 72px, -1.056px at 48px, -0.704px at 32px, normal below 16px
  3. Three weights: 400 (read), 510 (emphasize/navigate), 590 (announce)
  4. Surface elevation via background opacity: rgba(255,255,255, 0.02 → 0.04 → 0.05) — never solid backgrounds on dark
  5. Brand indigo (#5e6ad2 / #7170ff) is the only chromatic color — everything else is grayscale
  6. Borders are always semi-transparent white, never solid dark colors on dark backgrounds
  7. Berkeley Mono for any code or technical content, Inter Variable for everything else