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

Design System: IBM

Hermes Agent — Implementation Notes

The original site uses proprietary fonts. For self-contained HTML output, use these CDN substitutes: - Primary: IBM Plex Sans | Mono: IBM Plex Mono - Font stack (CSS): font-family: 'IBM Plex Sans', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif; - Mono stack (CSS): font-family: 'IBM Plex Mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace; html <link href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=IBM+Plex+Sans:wght@300;400;500;600;700&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

IBM's website is the digital embodiment of enterprise authority built on the Carbon Design System — a design language so methodically structured it reads like an engineering specification rendered as a webpage. The page operates on a stark duality: a bright white (#ffffff) canvas with near-black (#161616) text, punctuated by a single, unwavering accent — IBM Blue 60 (#0f62fe). This isn't playful tech-startup minimalism; it's corporate precision distilled into pixels. Every element exists within Carbon's rigid 2x grid, every color maps to a semantic token, every spacing value snaps to the 8px base unit.

The IBM Plex type family is the system's backbone. IBM Plex Sans at light weight (300) for display headlines creates an unexpectedly airy, almost delicate quality at large sizes — a deliberate counterpoint to IBM's corporate gravity. At body sizes, regular weight (400) with 0.16px letter-spacing on 14px captions introduces the meticulous micro-tracking that makes Carbon text feel engineered rather than designed. IBM Plex Mono serves code, data, and technical labels, completing the family trinity alongside the rarely-surfaced IBM Plex Serif.

What defines IBM's visual identity beyond monochrome-plus-blue is the reliance on Carbon's component token system. Every interactive state maps to a CSS custom property prefixed with --cds- (Carbon Design System). Buttons don't have hardcoded colors; they reference --cds-button-primary, --cds-button-primary-hover, --cds-button-primary-active. This tokenized architecture means the entire visual layer is a thin skin over a deeply systematic foundation — the design equivalent of a well-typed API.

Key Characteristics: - IBM Plex Sans at weight 300 (Light) for display — corporate gravitas through typographic restraint - IBM Plex Mono for code and technical content with consistent 0.16px letter-spacing at small sizes - Single accent color: IBM Blue 60 (#0f62fe) — every interactive element, every CTA, every link - Carbon token system (--cds-*) driving all semantic colors, enabling theme-switching at the variable level - 8px spacing grid with strict adherence — no arbitrary values, everything aligns - Flat, borderless cards on #f4f4f4 Gray 10 surface — depth through background-color layering, not shadows - Bottom-border inputs (not boxed) — the signature Carbon form pattern - 0px border-radius on primary buttons — unapologetically rectangular, no softening

2. Color Palette & Roles

Primary

Neutral Scale (Gray Family)

Interactive

Support & Status

Dark Theme (Gray 100 Theme)

3. Typography Rules

Font Family

Hierarchy

Role Font Size Weight Line Height Letter Spacing Notes
Display 01 IBM Plex Sans 60px (3.75rem) 300 (Light) 1.17 (70px) 0 Maximum impact, light weight for elegance
Display 02 IBM Plex Sans 48px (3.00rem) 300 (Light) 1.17 (56px) 0 Secondary hero, responsive fallback
Heading 01 IBM Plex Sans 42px (2.63rem) 300 (Light) 1.19 (50px) 0 Expressive heading
Heading 02 IBM Plex Sans 32px (2.00rem) 400 (Regular) 1.25 (40px) 0 Section headings
Heading 03 IBM Plex Sans 24px (1.50rem) 400 (Regular) 1.33 (32px) 0 Sub-section titles
Heading 04 IBM Plex Sans 20px (1.25rem) 600 (Semibold) 1.40 (28px) 0 Card titles, feature headers
Heading 05 IBM Plex Sans 20px (1.25rem) 400 (Regular) 1.40 (28px) 0 Lighter card headings
Body Long 01 IBM Plex Sans 16px (1.00rem) 400 (Regular) 1.50 (24px) 0 Standard reading text
Body Long 02 IBM Plex Sans 16px (1.00rem) 600 (Semibold) 1.50 (24px) 0 Emphasized body, labels
Body Short 01 IBM Plex Sans 14px (0.88rem) 400 (Regular) 1.29 (18px) 0.16px Compact body, captions
Body Short 02 IBM Plex Sans 14px (0.88rem) 600 (Semibold) 1.29 (18px) 0.16px Bold captions, nav items
Caption 01 IBM Plex Sans 12px (0.75rem) 400 (Regular) 1.33 (16px) 0.32px Metadata, timestamps
Code 01 IBM Plex Mono 14px (0.88rem) 400 (Regular) 1.43 (20px) 0.16px Inline code, terminal
Code 02 IBM Plex Mono 16px (1.00rem) 400 (Regular) 1.50 (24px) 0 Code blocks
Mono Display IBM Plex Mono 42px (2.63rem) 400 (Regular) 1.19 (50px) 0 Hero mono decorative

Principles

4. Component Stylings

Buttons

Primary Button (Blue) - Background: #0f62fe (Blue 60) → --cds-button-primary - Text: #ffffff (White) - Padding: 14px 63px 14px 15px (asymmetric — room for trailing icon) - Border: 1px solid transparent - Border-radius: 0px (sharp rectangle — the Carbon signature) - Height: 48px (default), 40px (compact), 64px (expressive) - Hover: #0353e9 (Blue 60 Hover) → --cds-button-primary-hover - Active: #002d9c (Blue 80) → --cds-button-primary-active - Focus: 2px solid #0f62fe inset + 1px solid #ffffff inner

Secondary Button (Gray) - Background: #393939 (Gray 80) - Text: #ffffff - Hover: #4c4c4c (Gray 70) - Active: #6f6f6f (Gray 60) - Same padding/radius as primary

Tertiary Button (Ghost Blue) - Background: transparent - Text: #0f62fe (Blue 60) - Border: 1px solid #0f62fe - Hover: #0353e9 text + Blue 10 background tint - Border-radius: 0px

Ghost Button - Background: transparent - Text: #0f62fe (Blue 60) - Padding: 14px 16px - Border: none - Hover: #e8e8e8 background tint

Danger Button - Background: #da1e28 (Red 60) - Text: #ffffff - Hover: #b81921 (Red 70)

Cards & Containers

Inputs & Forms

Distinctive Components

Content Block (Hero/Feature) - Full-width alternating white/gray-10 background bands - Headline left-aligned with 60px or 48px display type - CTA as blue primary button with arrow icon - Image/illustration right-aligned or below on mobile

Tile (Clickable Card) - Background: #f4f4f4 or #ffffff - Full-width bottom-border or background-shift hover - Arrow icon bottom-right on hover - No shadow — flatness is the identity

Tag / Label - Background: contextual color at 10% opacity (e.g., Blue 10, Red 10) - Text: corresponding 60-grade color - Padding: 4px 8px - Border-radius: 24px (pill — exception to the 0px rule) - Font: 12px weight 400

Notification Banner - Full-width bar, typically Blue 60 or Gray 100 background - White text, 14px - Close/dismiss icon right-aligned

5. Layout Principles

Spacing System

Grid & Container

Whitespace Philosophy

Border Radius Scale

6. Depth & Elevation

Level Treatment Use
Flat (Level 0) No shadow, #ffffff background Default page surface
Layer 01 No shadow, #f4f4f4 background Cards, tiles, alternating sections
Layer 02 No shadow, #e0e0e0 background Elevated panels within Layer 01
Raised 0 2px 6px rgba(0,0,0,0.3) Dropdowns, tooltips, overflow menus
Overlay 0 2px 6px rgba(0,0,0,0.3) + dark scrim Modal dialogs, side panels
Focus 2px solid #0f62fe inset + 1px solid #ffffff Keyboard focus ring
Bottom-border 2px solid #161616 on bottom edge Active input, active tab indicator

Shadow Philosophy: Carbon is deliberately shadow-averse. IBM achieves depth primarily through background-color layering — stacking surfaces of progressively darker grays rather than adding box-shadows. This creates a flat, print-inspired aesthetic where hierarchy is communicated through color value, not simulated light. Shadows are reserved exclusively for floating elements (dropdowns, tooltips, modals) where the element genuinely overlaps content. This restraint gives the rare shadow meaningful impact — when something floats in Carbon, it matters.

7. Do's and Don'ts

Do

Don't

8. Responsive Behavior

Breakpoints

Name Width Key Changes
Small (sm) 320px Single column, hamburger nav, 16px margins
Medium (md) 672px 2-column grids begin, expanded content
Large (lg) 1056px Full navigation visible, 3-4 column grids
X-Large (xlg) 1312px Maximum content density, wide layouts
Max 1584px Maximum content width, centered with margins

Touch Targets

Collapsing Strategy

Image Behavior

9. Agent Prompt Guide

Quick Color Reference

Example Component Prompts

Iteration Guide

  1. Always use 0px border-radius on buttons, inputs, and cards — this is non-negotiable in Carbon
  2. Letter-spacing only at small sizes: 0.16px at 14px, 0.32px at 12px — never on display text
  3. Three weights: 300 (display), 400 (body), 600 (emphasis) — no bold
  4. Blue 60 is the only accent color — do not introduce secondary accent hues
  5. Depth comes from background-color layering (white → #f4f4f4 → #e0e0e0), not shadows
  6. Inputs have bottom-border only, never fully boxed
  7. Use --cds- prefix for token naming to stay Carbon-compatible
  8. 48px is the universal interactive element height