add new designs
This commit is contained in:
252
design-md/superhuman/DESIGN.md
Normal file
252
design-md/superhuman/DESIGN.md
Normal file
@@ -0,0 +1,252 @@
|
||||
# Design System: Superhuman
|
||||
|
||||
## 1. Visual Theme & Atmosphere
|
||||
|
||||
Superhuman's website feels like opening a luxury envelope — predominantly white, immaculately clean, with a single dramatic gesture of color that commands attention. The hero section is a cinematic purple gradient, a deep twilight wash of `#1b1938` that evokes the moment just before dawn, overlaid with confident white typography. Below this dramatic entrance, the rest of the site is almost entirely white canvas with dark charcoal text, creating a stark but refined reading experience.
|
||||
|
||||
The typography is the true signature: Super Sans VF, a custom variable font with unconventional weight stops (460, 540, 600, 700) that sit between traditional font weight categories. Weight 460 — slightly heavier than regular but lighter than medium — is the workhorse, creating text that feels more confident than typical 400-weight but never aggressive. The tight line-heights (0.96 on display text) compress headlines into dense, powerful blocks, while generous 1.50 line-height on body text provides airy readability. This tension between compressed power and breathing room defines the Superhuman typographic voice.
|
||||
|
||||
The design philosophy is maximum confidence through minimum decoration. Warm cream buttons (`#e9e5dd`) instead of bright CTAs, a near-absence of borders and shadows, and lavender purple (`#cbb7fb`) as the sole accent color. It's a productivity tool that markets itself like a luxury brand — every pixel earns its place, nothing is merely decorative. The brand naming convention extends to colors: the primary purple is called "Mysteria," straddling blue and purple with deliberate ambiguity.
|
||||
|
||||
**Key Characteristics:**
|
||||
- Deep purple gradient hero (`#1b1938`) contrasting against a predominantly white content body
|
||||
- Super Sans VF variable font with non-standard weight stops (460, 540, 600, 700) — sits between conventional weight categories
|
||||
- Ultra-tight display line-height (0.96) creating compressed, powerful headlines
|
||||
- Warm Cream (`#e9e5dd`) buttons instead of bright/saturated CTAs — understated luxury
|
||||
- Lavender Purple (`#cbb7fb`) as the singular accent color — a soft, approachable purple
|
||||
- Minimal border-radius scale: only 8px and 16px — no micro-rounding, no pill shapes
|
||||
- Product screenshots dominate the content — the UI sells itself with minimal surrounding decoration
|
||||
|
||||
## 2. Color Palette & Roles
|
||||
|
||||
### Primary
|
||||
- **Mysteria Purple** (`#1b1938`): Hero gradient background, deep purple that straddles blue-purple — the darkest expression of the brand
|
||||
- **Lavender Glow** (`#cbb7fb`): Primary accent and highlight color — soft purple used for emphasis, decorative elements, and interactive highlights
|
||||
- **Charcoal Ink** (`#292827`): Primary text and heading color on light surfaces — warm near-black with faint brown undertone
|
||||
|
||||
### Secondary & Accent
|
||||
- **Amethyst Link** (`#714cb6`): Underlined link text — mid-range purple that connects to the brand palette while signaling interactivity
|
||||
- **Translucent White** (`color(srgb 1 1 1 / 0.95)`): Hero overlay text — near-white at 95% opacity for depth layering on dark surfaces
|
||||
- **Misted White** (`color(srgb 1 1 1 / 0.8)`): Secondary text on dark surfaces — 80% opacity white for hierarchy on the hero gradient
|
||||
|
||||
### Surface & Background
|
||||
- **Pure White** (`#ffffff`): Primary page background — the dominant canvas color for all content sections
|
||||
- **Warm Cream** (`#e9e5dd`): Button background — a warm, neutral cream that avoids the coldness of pure gray
|
||||
- **Parchment Border** (`#dcd7d3`): Card and divider borders — warm light gray with slight pink undertone
|
||||
|
||||
### Neutrals & Text
|
||||
- **Charcoal Ink** (`#292827`): Primary heading and body text on white surfaces
|
||||
- **Amethyst Link** (`#714cb6`): In-content links with underline decoration
|
||||
- **Translucent White 95%** (`color(srgb 1 1 1 / 0.95)`): Primary text on dark/purple surfaces
|
||||
- **Translucent White 80%** (`color(srgb 1 1 1 / 0.8)`): Secondary text on dark/purple surfaces
|
||||
|
||||
### Semantic & Accent
|
||||
- Superhuman operates with extreme color restraint — Lavender Glow (`#cbb7fb`) is the only true accent
|
||||
- Interactive states are communicated through opacity shifts and underline decorations rather than color changes
|
||||
- The warm cream button palette avoids any saturated semantic colors (no red errors, green success visible on marketing)
|
||||
|
||||
### Gradient System
|
||||
- **Hero Gradient**: Deep purple gradient starting from `#1b1938`, transitioning through purple-to-twilight tones across the hero section — the most dramatic visual element on the entire site
|
||||
- **Content Transition**: The gradient dissolves into the white content area, creating a cinematic curtain-lift effect as the user scrolls
|
||||
- No other gradients on the marketing site — the hero gradient is a singular dramatic gesture
|
||||
|
||||
## 3. Typography Rules
|
||||
|
||||
### Font Family
|
||||
- **Display & Body**: `Super Sans VF` — custom variable font with non-standard weight axis. Fallbacks: `system-ui, -apple-system, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue`
|
||||
- **Product UI** (referenced in brand): `Messina Sans` / `Messina Serif` / `Messina Mono` from Luzi Type — used in the product itself for sans-serif-to-serif transitions
|
||||
|
||||
### Hierarchy
|
||||
|
||||
| Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |
|
||||
|------|------|------|--------|-------------|----------------|-------|
|
||||
| Display Hero | Super Sans VF | 64px | 540 | 0.96 | 0px | Maximum compression, powerful block headlines |
|
||||
| Section Display | Super Sans VF | 48px | 460 | 0.96 | -1.32px | Lighter weight for section introductions |
|
||||
| Section Heading | Super Sans VF | 48px | 460 | 0.96 | 0px | Alternate section heading without tracking |
|
||||
| Feature Title | Super Sans VF | 28px | 540 | 1.14 | -0.63px | Feature block headlines, tighter |
|
||||
| Sub-heading Large | Super Sans VF | 26px | 460 | 1.30 | 0px | Content sub-sections |
|
||||
| Card Heading | Super Sans VF | 22px | 460 | 0.76 | -0.315px | Card title with extreme compression |
|
||||
| Body Heading | Super Sans VF | 20px | 460 | 1.20 | 0px | Bold content intros |
|
||||
| Body Heading Alt | Super Sans VF | 20px | 460 | 1.10 | -0.55px | Tighter variant for emphasis |
|
||||
| Body Heading Relaxed | Super Sans VF | 20px | 460 | 1.25 | -0.4px | More breathing room variant |
|
||||
| Emphasis Body | Super Sans VF | 18px | 540 | 1.50 | -0.135px | Medium-weight body for callouts |
|
||||
| Body | Super Sans VF | 16px | 460 | 1.50 | 0px | Standard reading text — generous line-height |
|
||||
| Button / UI Bold | Super Sans VF | 16px | 700 | 1.00 | 0px | Bold UI elements |
|
||||
| Button / UI Semi | Super Sans VF | 16px | 600 | 1.00 | 0px | Semi-bold navigation and labels |
|
||||
| Nav Link | Super Sans VF | 16px | 460 | 1.20 | 0px | Navigation items |
|
||||
| Caption | Super Sans VF | 14px | 500 | 1.20 | -0.315px | Small labels, metadata |
|
||||
| Caption Semi | Super Sans VF | 14px | 600 | 1.29 | 0px | Emphasized small text |
|
||||
| Caption Body | Super Sans VF | 14px | 460 | 1.50 | 0px | Small body text |
|
||||
| Micro Label | Super Sans VF | 12px | 700 | 1.50 | 0px | Smallest text — badges, tags |
|
||||
|
||||
### Principles
|
||||
- **Non-standard weight axis**: Weights 460 and 540 are deliberately between conventional Regular (400) and Medium (500), creating a typographic texture that feels subtly "off" in a confident way — slightly heavier than expected, never quite bold
|
||||
- **Extreme display compression**: Display headlines at 0.96 line-height collapse lines nearly on top of each other, creating dense typographic blocks that feel architectural
|
||||
- **Body generosity**: In contrast, body text at 1.50 line-height is extremely spacious, ensuring comfortable reading after the dense headline impact
|
||||
- **Selective negative tracking**: Letter-spacing is applied surgically — -1.32px on 48px headings, -0.63px on 28px features, but 0px on body text. The larger the text, the tighter the tracking
|
||||
- **Variable font efficiency**: A single font file serves all weight variations (460–700), enabling smooth weight transitions and micro-adjustments
|
||||
|
||||
## 4. Component Stylings
|
||||
|
||||
### Buttons
|
||||
- **Warm Cream Primary**: `#e9e5dd` background, Charcoal Ink (`#292827`) text, subtle rounded corners (8px radius), no visible border. The signature CTA — warm, muted, luxurious rather than aggressive
|
||||
- **Dark Primary** (on light sections): `#292827` background with white text, 8px radius — inverse of the warm cream for contrast sections
|
||||
- **Ghost / Text Link**: No background, underline decoration, Amethyst Link (`#714cb6`) or Charcoal Ink color depending on context
|
||||
- **Hero CTA**: Warm Cream on the dark purple gradient — the cream color pops dramatically against `#1b1938`
|
||||
- **Hover**: Subtle opacity or brightness shift — no dramatic color transformations
|
||||
|
||||
### Cards & Containers
|
||||
- **Content Card**: White background, Parchment Border (`#dcd7d3`) 1px border, 16px border-radius — clean and minimal
|
||||
- **Dark Surface Card**: `#292827` border on dark sections, maintaining warm-neutral tone
|
||||
- **Hero Surface**: Semi-transparent white border (`rgba(255, 255, 255, 0.2)`) on purple gradient — ghostly containment
|
||||
- **Product Screenshot Cards**: Large product UI images with clean edges, minimal framing — the product itself is the visual
|
||||
- **Hover**: Minimal state changes — consistency and calm over flashy interactions
|
||||
|
||||
### Inputs & Forms
|
||||
- Minimal form presence on the marketing site — Superhuman funnels users directly to signup
|
||||
- Dark-bordered inputs with Charcoal Ink borders and warm-toned placeholder text
|
||||
- Focus: Border emphasis increase, likely shifting from Parchment Border to Charcoal Ink
|
||||
|
||||
### Navigation
|
||||
- **Top nav**: Clean white background on content sections, transparent on hero gradient
|
||||
- **Nav links**: Super Sans VF at 16px, weight 460/600 for hierarchy
|
||||
- **CTA button**: Warm Cream (`#e9e5dd`) pill in the nav — subtle, not attention-grabbing
|
||||
- **Sticky behavior**: Nav remains fixed on scroll with background transition
|
||||
- **Mobile**: Collapses to hamburger menu with simplified layout
|
||||
|
||||
### Image Treatment
|
||||
- **Product screenshots**: Large, dominant product UI images showing the email interface — the product is the hero
|
||||
- **Lifestyle photography**: A single dramatic image (silhouette against purple/red gradient) in the hero area — cinematic and editorial
|
||||
- **Full-width presentation**: Screenshots span full container width with subtle shadow or no border
|
||||
- **Aspect ratios**: Wide landscape ratios (roughly 16:9) for product screenshots
|
||||
- **Color integration**: Screenshots are carefully color-graded to harmonize with the purple-to-white page flow
|
||||
|
||||
### Testimonial / Social Proof
|
||||
- "Your Superhuman suite" section with product feature grid
|
||||
- Feature descriptions paired with product screenshots — proof through demonstration rather than quotes
|
||||
- Clean grid layout with consistent card sizing
|
||||
|
||||
## 5. Layout Principles
|
||||
|
||||
### Spacing System
|
||||
- **Base unit**: 8px
|
||||
- **Scale**: 2px, 4px, 6px, 8px, 12px, 16px, 18px, 20px, 24px, 28px, 32px, 36px, 40px, 48px, 56px
|
||||
- **Section padding**: 48px–80px vertical between major sections
|
||||
- **Card padding**: 16px–32px internal spacing
|
||||
- **Component gaps**: 8px–16px between related elements
|
||||
|
||||
### Grid & Container
|
||||
- **Max width**: ~1200px content container, centered
|
||||
- **Column patterns**: Full-width hero, centered single-column for key messaging, 2-3 column grid for feature cards
|
||||
- **Feature grid**: Even column distribution for "Your Superhuman suite" product showcase
|
||||
|
||||
### Whitespace Philosophy
|
||||
- **Confident emptiness**: Generous whitespace between sections signals premium positioning — every element has room to breathe
|
||||
- **Product as content**: Large product screenshots fill space that lesser sites would fill with marketing copy
|
||||
- **Progressive density**: The hero is spacious and cinematic, content sections become denser with feature grids, then opens up again for CTAs
|
||||
|
||||
### Border Radius Scale
|
||||
- **8px**: Buttons, inline elements (`span`, `button`, `div`) — the universal small radius
|
||||
- **16px**: Cards, links, larger containers (`a`, card elements) — the universal large radius
|
||||
- Only two radii in the entire system — radical simplicity. No micro-rounding (2px), no pill shapes (50px+)
|
||||
|
||||
## 6. Depth & Elevation
|
||||
|
||||
| Level | Treatment | Use |
|
||||
|-------|-----------|-----|
|
||||
| Level 0 (Flat) | No shadow, white background | Primary page canvas, most content surfaces |
|
||||
| Level 1 (Border) | `1px solid #dcd7d3` (Parchment Border) | Card containment, section dividers |
|
||||
| Level 2 (Dark Border) | `1px solid #292827` | Header elements, dark section separators |
|
||||
| Level 3 (Glow) | Subtle shadow (from 6 shadow definitions detected) | Product screenshot containers, elevated cards |
|
||||
| Level 4 (Hero Depth) | `rgba(255, 255, 255, 0.2)` transparent border | Elements on the dark purple gradient hero |
|
||||
|
||||
### Shadow Philosophy
|
||||
Superhuman's elevation system is remarkably restrained on the marketing site. Depth is primarily communicated through:
|
||||
- **Border containment**: Warm-toned borders (`#dcd7d3`) at 1px create gentle separation
|
||||
- **Color contrast**: The hero gradient creates massive depth through color shift rather than shadows
|
||||
- **Product screenshots**: Screenshots themselves create depth by showing a layered UI within the flat page
|
||||
- **Opacity layering**: Semi-transparent whites on the hero gradient create atmospheric depth layers
|
||||
|
||||
### Decorative Depth
|
||||
- **Hero gradient**: The `#1b1938` → white gradient transition is the primary depth device — a cinematic curtain effect
|
||||
- **Lavender accents**: `#cbb7fb` Lavender Glow elements float above the dark gradient, creating a stellar/atmospheric effect
|
||||
- **No glassmorphism**: Despite the translucent borders, there are no blur/frosted-glass effects
|
||||
- **Photography depth**: The hero silhouette image creates natural atmospheric depth without artificial CSS
|
||||
|
||||
## 7. Do's and Don'ts
|
||||
|
||||
### Do
|
||||
- Use Super Sans VF at weight 460 as the default — it's slightly heavier than regular, which is the brand's typographic signature
|
||||
- Keep display headlines at 0.96 line-height — the compression is intentional and powerful
|
||||
- Use Warm Cream (`#e9e5dd`) for primary buttons — not white, not gray, specifically warm cream
|
||||
- Limit border-radius to 8px (small) and 16px (large) — the binary radius system is deliberate
|
||||
- Apply negative letter-spacing on headlines only (-0.63px to -1.32px) — body text stays at 0px
|
||||
- Use Lavender Glow (`#cbb7fb`) as the only accent color — it's the sole color departure from the neutral palette
|
||||
- Let product screenshots be the primary visual content — the UI sells itself
|
||||
- Maintain the dramatic hero gradient as a singular gesture — the rest of the page is white
|
||||
|
||||
### Don't
|
||||
- Use conventional font weights (400, 500, 600) — Superhuman's 460 and 540 are deliberately between standard stops
|
||||
- Add bright or saturated CTA colors (blue, green, red) — buttons are intentionally muted in Warm Cream or Charcoal
|
||||
- Introduce additional accent colors beyond Lavender Glow — the palette is deliberately restrained to one accent
|
||||
- Apply shadows generously — depth comes from borders, color contrast, and photography, not box-shadows
|
||||
- Use tight line-height on body text — display is compressed (0.96) but body is generous (1.50)
|
||||
- Add decorative elements, icons, or illustrations — Superhuman relies on product UI and minimal typography
|
||||
- Create pill-shaped buttons — the system uses 8px radius, not rounded pills
|
||||
- Use pure black (`#000000`) for text — Charcoal Ink (`#292827`) is warmer and softer
|
||||
|
||||
## 8. Responsive Behavior
|
||||
|
||||
### Breakpoints
|
||||
| Name | Width | Key Changes |
|
||||
|------|-------|-------------|
|
||||
| Mobile | <768px | Single column, hero text reduces to ~36px, stacked feature cards, hamburger nav |
|
||||
| Tablet | 768px–1024px | 2-column feature grid begins, hero text ~48px, nav partially visible |
|
||||
| Desktop | 1024px–1440px | Full layout, 64px hero display, multi-column feature grid, full nav |
|
||||
| Large Desktop | >1440px | Max-width container centered, generous side margins |
|
||||
|
||||
### Touch Targets
|
||||
- Buttons: 8px radius with comfortable padding — meets touch target guidelines
|
||||
- Nav links: 16px text with adequate surrounding padding
|
||||
- Mobile CTAs: Full-width Warm Cream buttons for easy thumb reach
|
||||
- Links: Underline decoration provides clear tap affordance
|
||||
|
||||
### Collapsing Strategy
|
||||
- **Navigation**: Full horizontal nav → hamburger menu on mobile
|
||||
- **Hero text**: 64px display → 48px → ~36px across breakpoints
|
||||
- **Feature grid**: Multi-column product showcase → 2-column → single stacked column
|
||||
- **Product screenshots**: Scale within containers, maintaining landscape ratios
|
||||
- **Section spacing**: Reduces proportionally — generous desktop margins compress on mobile
|
||||
|
||||
### Image Behavior
|
||||
- Product screenshots scale responsively while maintaining aspect ratios
|
||||
- Hero silhouette image crops or scales — maintains dramatic composition
|
||||
- No art direction changes — same compositions across all breakpoints
|
||||
- Lazy loading likely on below-fold product screenshots
|
||||
|
||||
## 9. Agent Prompt Guide
|
||||
|
||||
### Quick Color Reference
|
||||
- Hero Background: Mysteria Purple (`#1b1938`)
|
||||
- Primary Text (light bg): Charcoal Ink (`#292827`)
|
||||
- Primary Text (dark bg): Translucent White (`color(srgb 1 1 1 / 0.95)` — use `rgba(255,255,255,0.95)`)
|
||||
- Accent: Lavender Glow (`#cbb7fb`)
|
||||
- Button Background: Warm Cream (`#e9e5dd`)
|
||||
- Border: Parchment Border (`#dcd7d3`)
|
||||
- Link: Amethyst Link (`#714cb6`)
|
||||
- Page Background: Pure White (`#ffffff`)
|
||||
|
||||
### Example Component Prompts
|
||||
- "Create a hero section with deep purple gradient background (#1b1938), 64px Super Sans heading at weight 540, line-height 0.96, white text at 95% opacity, and a warm cream button (#e9e5dd, 8px radius, #292827 text)"
|
||||
- "Design a feature card with white background, 1px #dcd7d3 border, 16px radius, 20px Super Sans heading at weight 460, and 16px body text at weight 460 with 1.50 line-height in #292827"
|
||||
- "Build a navigation bar with white background, Super Sans links at 16px weight 460, a warm cream CTA button (#e9e5dd, 8px radius), sticky positioning"
|
||||
- "Create a product showcase section with centered 48px heading (weight 460, -1.32px letter-spacing, #292827), a large product screenshot below, on white background"
|
||||
- "Design an accent badge using Lavender Glow (#cbb7fb) background, 8px radius, 12px bold text (weight 700), for category labels"
|
||||
|
||||
### Iteration Guide
|
||||
When refining existing screens generated with this design system:
|
||||
1. Verify font weight is 460 (not 400 or 500) for body and 540 for display — the non-standard weights are essential
|
||||
2. Check that display line-height is 0.96 — if headlines look too spaced, they're wrong
|
||||
3. Ensure buttons use Warm Cream (#e9e5dd) not pure white or gray — the warmth is subtle but critical
|
||||
4. Confirm the only accent color is Lavender Glow (#cbb7fb) — no other hues should appear
|
||||
5. The overall tone should feel like a luxury product presentation — minimal, confident, with one dramatic color gesture in the hero
|
||||
23
design-md/superhuman/README.md
Normal file
23
design-md/superhuman/README.md
Normal file
@@ -0,0 +1,23 @@
|
||||
# Superhuman Inspired Design System
|
||||
|
||||
[DESIGN.md](https://github.com/VoltAgent/awesome-design-md/blob/main/design-md/superhuman/DESIGN.md) extracted from the public [superhuman](https://superhuman.com/) website. This is not the official design system. Colors, fonts, and spacing may not be 100% accurate. But it's a good starting point for building something similar.
|
||||
|
||||
## Files
|
||||
|
||||
| File | Description |
|
||||
|------|-------------|
|
||||
| `DESIGN.md` | Complete design system documentation (9 sections) |
|
||||
| `preview.html` | Interactive design token catalog (light) |
|
||||
| `preview-dark.html` | Interactive design token catalog (dark) |
|
||||
|
||||
Use [DESIGN.md](https://github.com/VoltAgent/awesome-design-md/blob/main/design-md/superhuman/DESIGN.md) to use as a reference for AI agents (Claude, Cursor, Stitch) to generate UI that looks like the Superhuman design language.
|
||||
|
||||
## Preview
|
||||
|
||||
A sample landing page built with DESIGN.md. It shows the actual colors, typography, buttons, cards, spacing, and elevation, all in one page.
|
||||
|
||||
### Dark Mode
|
||||

|
||||
|
||||
### Light Mode
|
||||

|
||||
975
design-md/superhuman/preview-dark.html
Normal file
975
design-md/superhuman/preview-dark.html
Normal file
@@ -0,0 +1,975 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Design System Inspired by Superhuman — Dark Mode</title>
|
||||
<style>
|
||||
:root {
|
||||
--mysteria-purple: #1b1938;
|
||||
--lavender-glow: #cbb7fb;
|
||||
--charcoal-ink: #292827;
|
||||
--amethyst-link: #714cb6;
|
||||
--translucent-white-95: rgba(255,255,255,0.95);
|
||||
--translucent-white-80: rgba(255,255,255,0.8);
|
||||
--pure-white: #ffffff;
|
||||
--warm-cream: #e9e5dd;
|
||||
--parchment-border: #dcd7d3;
|
||||
--font-family: system-ui, -apple-system, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
|
||||
|
||||
/* Dark mode surfaces */
|
||||
--dark-bg: #121111;
|
||||
--dark-surface: #1c1b1a;
|
||||
--dark-surface-elevated: #252423;
|
||||
--dark-border: #3a3938;
|
||||
--dark-text-primary: rgba(255,255,255,0.92);
|
||||
--dark-text-secondary: rgba(255,255,255,0.6);
|
||||
--dark-text-tertiary: rgba(255,255,255,0.4);
|
||||
}
|
||||
|
||||
* { margin: 0; padding: 0; box-sizing: border-box; }
|
||||
|
||||
body {
|
||||
font-family: var(--font-family);
|
||||
background: var(--dark-bg);
|
||||
color: var(--dark-text-primary);
|
||||
font-weight: 460;
|
||||
font-size: 16px;
|
||||
line-height: 1.50;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
}
|
||||
|
||||
/* DARK MODE BADGE */
|
||||
.dark-badge {
|
||||
position: fixed;
|
||||
top: 16px;
|
||||
right: 16px;
|
||||
z-index: 200;
|
||||
background: var(--warm-cream);
|
||||
color: var(--charcoal-ink);
|
||||
padding: 6px 14px;
|
||||
border-radius: 8px;
|
||||
font-size: 12px;
|
||||
font-weight: 700;
|
||||
letter-spacing: 0.5px;
|
||||
}
|
||||
|
||||
/* NAV */
|
||||
nav {
|
||||
position: sticky;
|
||||
top: 0;
|
||||
z-index: 100;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
padding: 16px 40px;
|
||||
background: rgba(18, 17, 17, 0.92);
|
||||
backdrop-filter: blur(12px);
|
||||
-webkit-backdrop-filter: blur(12px);
|
||||
border-bottom: 1px solid var(--dark-border);
|
||||
}
|
||||
.nav-brand {
|
||||
font-size: 16px;
|
||||
font-weight: 600;
|
||||
color: var(--dark-text-primary);
|
||||
text-decoration: none;
|
||||
letter-spacing: -0.2px;
|
||||
}
|
||||
.nav-links {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 32px;
|
||||
list-style: none;
|
||||
}
|
||||
.nav-links a {
|
||||
font-size: 14px;
|
||||
font-weight: 460;
|
||||
color: var(--dark-text-secondary);
|
||||
text-decoration: none;
|
||||
transition: color 0.2s;
|
||||
}
|
||||
.nav-links a:hover { color: var(--dark-text-primary); }
|
||||
.nav-cta {
|
||||
background: var(--warm-cream);
|
||||
color: var(--charcoal-ink);
|
||||
padding: 8px 20px;
|
||||
border-radius: 8px;
|
||||
font-size: 14px;
|
||||
font-weight: 600;
|
||||
text-decoration: none;
|
||||
border: none;
|
||||
cursor: pointer;
|
||||
transition: opacity 0.2s;
|
||||
}
|
||||
.nav-cta:hover { opacity: 0.9; }
|
||||
|
||||
/* HERO */
|
||||
.hero {
|
||||
background: linear-gradient(180deg, var(--mysteria-purple) 0%, #2a1f5e 40%, #4a2d7a 70%, #3a2468 100%);
|
||||
padding: 120px 40px 140px;
|
||||
text-align: center;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
.hero::after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
height: 120px;
|
||||
background: linear-gradient(to bottom, transparent, var(--dark-bg));
|
||||
}
|
||||
.hero h1 {
|
||||
font-size: 64px;
|
||||
font-weight: 540;
|
||||
line-height: 0.96;
|
||||
letter-spacing: 0px;
|
||||
color: var(--translucent-white-95);
|
||||
max-width: 800px;
|
||||
margin: 0 auto 24px;
|
||||
}
|
||||
.hero .subtitle {
|
||||
font-size: 20px;
|
||||
font-weight: 460;
|
||||
line-height: 1.25;
|
||||
color: var(--translucent-white-80);
|
||||
max-width: 560px;
|
||||
margin: 0 auto 40px;
|
||||
}
|
||||
.hero-buttons {
|
||||
display: flex;
|
||||
gap: 16px;
|
||||
justify-content: center;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
.btn-primary {
|
||||
background: var(--warm-cream);
|
||||
color: var(--charcoal-ink);
|
||||
padding: 14px 32px;
|
||||
border-radius: 8px;
|
||||
font-size: 16px;
|
||||
font-weight: 600;
|
||||
text-decoration: none;
|
||||
border: none;
|
||||
cursor: pointer;
|
||||
transition: opacity 0.2s;
|
||||
}
|
||||
.btn-primary:hover { opacity: 0.9; }
|
||||
.btn-secondary {
|
||||
background: transparent;
|
||||
color: var(--translucent-white-95);
|
||||
padding: 14px 32px;
|
||||
border-radius: 8px;
|
||||
font-size: 16px;
|
||||
font-weight: 460;
|
||||
text-decoration: none;
|
||||
border: 1px solid rgba(255,255,255,0.2);
|
||||
cursor: pointer;
|
||||
transition: background 0.2s;
|
||||
}
|
||||
.btn-secondary:hover { background: rgba(255,255,255,0.05); }
|
||||
|
||||
/* SECTIONS */
|
||||
.section {
|
||||
padding: 80px 40px;
|
||||
max-width: 1200px;
|
||||
margin: 0 auto;
|
||||
}
|
||||
.section-title {
|
||||
font-size: 48px;
|
||||
font-weight: 460;
|
||||
line-height: 0.96;
|
||||
letter-spacing: -1.32px;
|
||||
color: var(--dark-text-primary);
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
.section-subtitle {
|
||||
font-size: 18px;
|
||||
font-weight: 460;
|
||||
line-height: 1.50;
|
||||
color: var(--dark-text-secondary);
|
||||
margin-bottom: 48px;
|
||||
}
|
||||
|
||||
/* 1. COLOR PALETTE */
|
||||
.color-category { margin-bottom: 40px; }
|
||||
.color-category h3 {
|
||||
font-size: 20px;
|
||||
font-weight: 540;
|
||||
line-height: 1.14;
|
||||
margin-bottom: 20px;
|
||||
color: var(--dark-text-primary);
|
||||
}
|
||||
.color-grid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
|
||||
gap: 20px;
|
||||
}
|
||||
.color-swatch {
|
||||
border-radius: 16px;
|
||||
overflow: hidden;
|
||||
border: 1px solid var(--dark-border);
|
||||
}
|
||||
.color-swatch .swatch-color {
|
||||
height: 100px;
|
||||
width: 100%;
|
||||
}
|
||||
.color-swatch .swatch-info {
|
||||
padding: 12px 16px;
|
||||
background: var(--dark-surface);
|
||||
}
|
||||
.color-swatch .swatch-name {
|
||||
font-size: 14px;
|
||||
font-weight: 600;
|
||||
color: var(--dark-text-primary);
|
||||
margin-bottom: 2px;
|
||||
}
|
||||
.color-swatch .swatch-hex {
|
||||
font-size: 12px;
|
||||
font-weight: 460;
|
||||
color: var(--dark-text-tertiary);
|
||||
margin-bottom: 4px;
|
||||
font-family: monospace;
|
||||
}
|
||||
.color-swatch .swatch-role {
|
||||
font-size: 12px;
|
||||
font-weight: 460;
|
||||
color: var(--dark-text-secondary);
|
||||
line-height: 1.4;
|
||||
}
|
||||
|
||||
/* 2. TYPOGRAPHY */
|
||||
.type-sample {
|
||||
padding: 24px 0;
|
||||
border-bottom: 1px solid var(--dark-border);
|
||||
}
|
||||
.type-sample:last-child { border-bottom: none; }
|
||||
.type-sample .type-text {
|
||||
color: var(--dark-text-primary);
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
.type-sample .type-label {
|
||||
font-size: 12px;
|
||||
font-weight: 460;
|
||||
color: var(--lavender-glow);
|
||||
font-family: monospace;
|
||||
line-height: 1.4;
|
||||
}
|
||||
|
||||
/* 3. BUTTONS */
|
||||
.button-grid {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 24px;
|
||||
align-items: flex-start;
|
||||
}
|
||||
.button-item {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: flex-start;
|
||||
gap: 12px;
|
||||
}
|
||||
.button-item .btn-label {
|
||||
font-size: 12px;
|
||||
font-weight: 460;
|
||||
color: var(--dark-text-tertiary);
|
||||
font-family: monospace;
|
||||
}
|
||||
.btn-cream-dark {
|
||||
background: var(--warm-cream);
|
||||
color: var(--charcoal-ink);
|
||||
padding: 14px 32px;
|
||||
border-radius: 8px;
|
||||
font-size: 16px;
|
||||
font-weight: 600;
|
||||
border: none;
|
||||
cursor: pointer;
|
||||
transition: opacity 0.2s;
|
||||
}
|
||||
.btn-cream-dark:hover { opacity: 0.9; }
|
||||
.btn-light {
|
||||
background: var(--dark-text-primary);
|
||||
color: var(--dark-bg);
|
||||
padding: 14px 32px;
|
||||
border-radius: 8px;
|
||||
font-size: 16px;
|
||||
font-weight: 600;
|
||||
border: none;
|
||||
cursor: pointer;
|
||||
transition: opacity 0.2s;
|
||||
}
|
||||
.btn-light:hover { opacity: 0.85; }
|
||||
.btn-outline-dark {
|
||||
background: transparent;
|
||||
color: var(--dark-text-primary);
|
||||
padding: 14px 32px;
|
||||
border-radius: 8px;
|
||||
font-size: 16px;
|
||||
font-weight: 460;
|
||||
border: 1px solid var(--dark-border);
|
||||
cursor: pointer;
|
||||
transition: background 0.2s;
|
||||
}
|
||||
.btn-outline-dark:hover { background: rgba(255,255,255,0.05); }
|
||||
.btn-ghost-dark {
|
||||
background: transparent;
|
||||
color: var(--lavender-glow);
|
||||
padding: 14px 0;
|
||||
border: none;
|
||||
font-size: 16px;
|
||||
font-weight: 460;
|
||||
text-decoration: underline;
|
||||
cursor: pointer;
|
||||
transition: opacity 0.2s;
|
||||
}
|
||||
.btn-ghost-dark:hover { opacity: 0.7; }
|
||||
|
||||
/* 4. CARDS */
|
||||
.card-grid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
|
||||
gap: 24px;
|
||||
}
|
||||
.card {
|
||||
border-radius: 16px;
|
||||
padding: 32px;
|
||||
transition: transform 0.2s, box-shadow 0.2s;
|
||||
}
|
||||
.card-dark-bordered {
|
||||
background: var(--dark-surface);
|
||||
border: 1px solid var(--dark-border);
|
||||
}
|
||||
.card-dark-elevated {
|
||||
background: var(--dark-surface-elevated);
|
||||
border: 1px solid var(--dark-border);
|
||||
}
|
||||
.card-hero-surface {
|
||||
background: var(--mysteria-purple);
|
||||
border: 1px solid rgba(255,255,255,0.2);
|
||||
}
|
||||
.card-hover:hover {
|
||||
transform: translateY(-2px);
|
||||
box-shadow: 0 8px 24px rgba(0,0,0,0.3);
|
||||
}
|
||||
.card h4 {
|
||||
font-size: 22px;
|
||||
font-weight: 460;
|
||||
line-height: 0.76;
|
||||
letter-spacing: -0.315px;
|
||||
margin-bottom: 16px;
|
||||
color: var(--dark-text-primary);
|
||||
}
|
||||
.card .card-desc {
|
||||
font-size: 16px;
|
||||
font-weight: 460;
|
||||
line-height: 1.50;
|
||||
color: var(--dark-text-secondary);
|
||||
}
|
||||
.card .card-label {
|
||||
font-size: 12px;
|
||||
font-weight: 460;
|
||||
color: var(--lavender-glow);
|
||||
font-family: monospace;
|
||||
margin-top: 16px;
|
||||
opacity: 0.8;
|
||||
}
|
||||
|
||||
/* 5. FORMS */
|
||||
.form-grid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
|
||||
gap: 24px;
|
||||
}
|
||||
.form-group { display: flex; flex-direction: column; gap: 8px; }
|
||||
.form-group label {
|
||||
font-size: 14px;
|
||||
font-weight: 600;
|
||||
color: var(--dark-text-primary);
|
||||
}
|
||||
.form-group input,
|
||||
.form-group textarea {
|
||||
font-family: var(--font-family);
|
||||
font-size: 16px;
|
||||
font-weight: 460;
|
||||
padding: 12px 16px;
|
||||
border-radius: 8px;
|
||||
border: 1px solid var(--dark-border);
|
||||
background: var(--dark-surface);
|
||||
color: var(--dark-text-primary);
|
||||
outline: none;
|
||||
transition: border-color 0.2s;
|
||||
}
|
||||
.form-group input::placeholder,
|
||||
.form-group textarea::placeholder {
|
||||
color: var(--dark-text-tertiary);
|
||||
}
|
||||
.form-group input:focus,
|
||||
.form-group textarea:focus {
|
||||
border-color: var(--lavender-glow);
|
||||
}
|
||||
.form-group input.error {
|
||||
border-color: #e74c3c;
|
||||
}
|
||||
.form-group textarea { resize: vertical; min-height: 100px; }
|
||||
.form-hint {
|
||||
font-size: 12px;
|
||||
font-weight: 460;
|
||||
color: var(--dark-text-tertiary);
|
||||
}
|
||||
.form-error-text {
|
||||
font-size: 12px;
|
||||
font-weight: 460;
|
||||
color: #e74c3c;
|
||||
}
|
||||
|
||||
/* 6. SPACING */
|
||||
.spacing-row {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 16px;
|
||||
align-items: flex-end;
|
||||
}
|
||||
.spacing-item {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
}
|
||||
.spacing-box {
|
||||
background: var(--lavender-glow);
|
||||
border-radius: 4px;
|
||||
height: 48px;
|
||||
opacity: 0.7;
|
||||
}
|
||||
.spacing-label {
|
||||
font-size: 11px;
|
||||
font-weight: 600;
|
||||
color: var(--dark-text-secondary);
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
/* 7. RADIUS */
|
||||
.radius-row {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 32px;
|
||||
align-items: center;
|
||||
}
|
||||
.radius-item {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
gap: 12px;
|
||||
}
|
||||
.radius-box {
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
background: var(--dark-surface-elevated);
|
||||
border: 1px solid var(--dark-border);
|
||||
}
|
||||
.radius-label {
|
||||
font-size: 12px;
|
||||
font-weight: 600;
|
||||
color: var(--dark-text-primary);
|
||||
font-family: monospace;
|
||||
}
|
||||
.radius-context {
|
||||
font-size: 11px;
|
||||
font-weight: 460;
|
||||
color: var(--dark-text-tertiary);
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
/* 8. ELEVATION */
|
||||
.elevation-section { background: var(--dark-surface); border-radius: 16px; padding: 48px; border: 1px solid var(--dark-border); }
|
||||
.elevation-grid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
|
||||
gap: 24px;
|
||||
}
|
||||
.elevation-card {
|
||||
background: var(--dark-surface-elevated);
|
||||
border-radius: 16px;
|
||||
padding: 32px;
|
||||
min-height: 140px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.elevation-card h4 {
|
||||
font-size: 16px;
|
||||
font-weight: 540;
|
||||
color: var(--dark-text-primary);
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
.elevation-card p {
|
||||
font-size: 13px;
|
||||
font-weight: 460;
|
||||
color: var(--dark-text-secondary);
|
||||
line-height: 1.4;
|
||||
}
|
||||
.elev-flat { box-shadow: none; border: none; }
|
||||
.elev-border { box-shadow: none; border: 1px solid var(--dark-border); }
|
||||
.elev-dark-border { box-shadow: none; border: 1px solid var(--dark-text-secondary); }
|
||||
.elev-glow { box-shadow: 0 4px 20px rgba(203, 183, 251, 0.1); border: none; }
|
||||
.elev-hero {
|
||||
background: var(--mysteria-purple);
|
||||
border: 1px solid rgba(255,255,255,0.2);
|
||||
}
|
||||
|
||||
/* FOOTER */
|
||||
footer {
|
||||
text-align: center;
|
||||
padding: 48px 40px;
|
||||
border-top: 1px solid var(--dark-border);
|
||||
font-size: 14px;
|
||||
font-weight: 460;
|
||||
color: var(--dark-text-tertiary);
|
||||
}
|
||||
|
||||
/* RESPONSIVE */
|
||||
@media (max-width: 768px) {
|
||||
nav { padding: 12px 20px; }
|
||||
.nav-links { display: none; }
|
||||
.hero { padding: 80px 20px 100px; }
|
||||
.hero h1 { font-size: 36px; }
|
||||
.hero .subtitle { font-size: 16px; }
|
||||
.section { padding: 48px 20px; }
|
||||
.section-title { font-size: 32px; letter-spacing: -0.8px; }
|
||||
.color-grid { grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); }
|
||||
.card-grid { grid-template-columns: 1fr; }
|
||||
.form-grid { grid-template-columns: 1fr; }
|
||||
.elevation-section { padding: 24px; }
|
||||
.elevation-grid { grid-template-columns: 1fr; }
|
||||
.dark-badge { top: 12px; right: 12px; font-size: 11px; }
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<!-- DARK MODE BADGE -->
|
||||
<div class="dark-badge">Dark Mode</div>
|
||||
|
||||
<!-- NAV -->
|
||||
<nav>
|
||||
<span class="nav-brand">awesome-design-md</span>
|
||||
<ul class="nav-links">
|
||||
<li><a href="#colors">Colors</a></li>
|
||||
<li><a href="#typography">Typography</a></li>
|
||||
<li><a href="#buttons">Buttons</a></li>
|
||||
<li><a href="#cards">Cards</a></li>
|
||||
<li><a href="#forms">Forms</a></li>
|
||||
<li><a href="#spacing">Spacing</a></li>
|
||||
<li><a href="#radius">Radius</a></li>
|
||||
<li><a href="#elevation">Elevation</a></li>
|
||||
</ul>
|
||||
<a href="#" class="nav-cta">Get Started</a>
|
||||
</nav>
|
||||
|
||||
<!-- HERO -->
|
||||
<section class="hero">
|
||||
<h1>Design System Inspired by Superhuman</h1>
|
||||
<p class="subtitle">A visual catalog of design tokens extracted from Superhuman's website, rendered as a living style guide.</p>
|
||||
<div class="hero-buttons">
|
||||
<button class="btn-primary">Explore Tokens</button>
|
||||
<button class="btn-secondary">View DESIGN.md</button>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- 1. COLOR PALETTE -->
|
||||
<section class="section" id="colors">
|
||||
<h2 class="section-title">Color Palette</h2>
|
||||
<p class="section-subtitle">Every color token from the Superhuman design system with semantic naming and roles.</p>
|
||||
|
||||
<div class="color-category">
|
||||
<h3>Primary</h3>
|
||||
<div class="color-grid">
|
||||
<div class="color-swatch">
|
||||
<div class="swatch-color" style="background:#1b1938;"></div>
|
||||
<div class="swatch-info">
|
||||
<div class="swatch-name">Mysteria Purple</div>
|
||||
<div class="swatch-hex">#1b1938</div>
|
||||
<div class="swatch-role">Hero gradient background</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="color-swatch">
|
||||
<div class="swatch-color" style="background:#cbb7fb;"></div>
|
||||
<div class="swatch-info">
|
||||
<div class="swatch-name">Lavender Glow</div>
|
||||
<div class="swatch-hex">#cbb7fb</div>
|
||||
<div class="swatch-role">Primary accent and highlight</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="color-swatch">
|
||||
<div class="swatch-color" style="background:#292827;"></div>
|
||||
<div class="swatch-info">
|
||||
<div class="swatch-name">Charcoal Ink</div>
|
||||
<div class="swatch-hex">#292827</div>
|
||||
<div class="swatch-role">Primary text on light surfaces</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="color-category">
|
||||
<h3>Secondary & Accent</h3>
|
||||
<div class="color-grid">
|
||||
<div class="color-swatch">
|
||||
<div class="swatch-color" style="background:#714cb6;"></div>
|
||||
<div class="swatch-info">
|
||||
<div class="swatch-name">Amethyst Link</div>
|
||||
<div class="swatch-hex">#714cb6</div>
|
||||
<div class="swatch-role">Underlined link text</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="color-swatch">
|
||||
<div class="swatch-color" style="background:rgba(255,255,255,0.95);"></div>
|
||||
<div class="swatch-info">
|
||||
<div class="swatch-name">Translucent White 95%</div>
|
||||
<div class="swatch-hex">rgba(255,255,255,0.95)</div>
|
||||
<div class="swatch-role">Hero text on dark surfaces</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="color-swatch">
|
||||
<div class="swatch-color" style="background:rgba(255,255,255,0.8);"></div>
|
||||
<div class="swatch-info">
|
||||
<div class="swatch-name">Misted White 80%</div>
|
||||
<div class="swatch-hex">rgba(255,255,255,0.8)</div>
|
||||
<div class="swatch-role">Secondary text on dark surfaces</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="color-category">
|
||||
<h3>Surface & Background</h3>
|
||||
<div class="color-grid">
|
||||
<div class="color-swatch">
|
||||
<div class="swatch-color" style="background:#ffffff;"></div>
|
||||
<div class="swatch-info">
|
||||
<div class="swatch-name">Pure White</div>
|
||||
<div class="swatch-hex">#ffffff</div>
|
||||
<div class="swatch-role">Primary page background</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="color-swatch">
|
||||
<div class="swatch-color" style="background:#e9e5dd;"></div>
|
||||
<div class="swatch-info">
|
||||
<div class="swatch-name">Warm Cream</div>
|
||||
<div class="swatch-hex">#e9e5dd</div>
|
||||
<div class="swatch-role">Button background</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="color-swatch">
|
||||
<div class="swatch-color" style="background:#dcd7d3;"></div>
|
||||
<div class="swatch-info">
|
||||
<div class="swatch-name">Parchment Border</div>
|
||||
<div class="swatch-hex">#dcd7d3</div>
|
||||
<div class="swatch-role">Card and divider borders</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- 2. TYPOGRAPHY -->
|
||||
<section class="section" id="typography">
|
||||
<h2 class="section-title">Typography Scale</h2>
|
||||
<p class="section-subtitle">Super Sans VF with non-standard weight stops (460, 540, 600, 700).</p>
|
||||
|
||||
<div class="type-sample">
|
||||
<div class="type-text" style="font-size:64px; font-weight:540; line-height:0.96;">Display Hero</div>
|
||||
<div class="type-label">Display Hero — 64px / 540 / 0.96 / 0px</div>
|
||||
</div>
|
||||
<div class="type-sample">
|
||||
<div class="type-text" style="font-size:48px; font-weight:460; line-height:0.96; letter-spacing:-1.32px;">Section Display</div>
|
||||
<div class="type-label">Section Display — 48px / 460 / 0.96 / -1.32px</div>
|
||||
</div>
|
||||
<div class="type-sample">
|
||||
<div class="type-text" style="font-size:48px; font-weight:460; line-height:0.96;">Section Heading</div>
|
||||
<div class="type-label">Section Heading — 48px / 460 / 0.96 / 0px</div>
|
||||
</div>
|
||||
<div class="type-sample">
|
||||
<div class="type-text" style="font-size:28px; font-weight:540; line-height:1.14; letter-spacing:-0.63px;">Feature Title</div>
|
||||
<div class="type-label">Feature Title — 28px / 540 / 1.14 / -0.63px</div>
|
||||
</div>
|
||||
<div class="type-sample">
|
||||
<div class="type-text" style="font-size:26px; font-weight:460; line-height:1.30;">Sub-heading Large</div>
|
||||
<div class="type-label">Sub-heading Large — 26px / 460 / 1.30 / 0px</div>
|
||||
</div>
|
||||
<div class="type-sample">
|
||||
<div class="type-text" style="font-size:22px; font-weight:460; line-height:0.76; letter-spacing:-0.315px;">Card Heading</div>
|
||||
<div class="type-label">Card Heading — 22px / 460 / 0.76 / -0.315px</div>
|
||||
</div>
|
||||
<div class="type-sample">
|
||||
<div class="type-text" style="font-size:20px; font-weight:460; line-height:1.20;">Body Heading</div>
|
||||
<div class="type-label">Body Heading — 20px / 460 / 1.20 / 0px</div>
|
||||
</div>
|
||||
<div class="type-sample">
|
||||
<div class="type-text" style="font-size:20px; font-weight:460; line-height:1.10; letter-spacing:-0.55px;">Body Heading Alt</div>
|
||||
<div class="type-label">Body Heading Alt — 20px / 460 / 1.10 / -0.55px</div>
|
||||
</div>
|
||||
<div class="type-sample">
|
||||
<div class="type-text" style="font-size:18px; font-weight:540; line-height:1.50; letter-spacing:-0.135px;">Emphasis Body — Medium weight for callouts and highlights</div>
|
||||
<div class="type-label">Emphasis Body — 18px / 540 / 1.50 / -0.135px</div>
|
||||
</div>
|
||||
<div class="type-sample">
|
||||
<div class="type-text" style="font-size:16px; font-weight:460; line-height:1.50;">Body — Standard reading text with generous line-height for comfortable reading across long content blocks.</div>
|
||||
<div class="type-label">Body — 16px / 460 / 1.50 / 0px</div>
|
||||
</div>
|
||||
<div class="type-sample">
|
||||
<div class="type-text" style="font-size:16px; font-weight:700; line-height:1.00;">Button / UI Bold</div>
|
||||
<div class="type-label">Button / UI Bold — 16px / 700 / 1.00 / 0px</div>
|
||||
</div>
|
||||
<div class="type-sample">
|
||||
<div class="type-text" style="font-size:16px; font-weight:600; line-height:1.00;">Button / UI Semi</div>
|
||||
<div class="type-label">Button / UI Semi — 16px / 600 / 1.00 / 0px</div>
|
||||
</div>
|
||||
<div class="type-sample">
|
||||
<div class="type-text" style="font-size:14px; font-weight:500; line-height:1.20; letter-spacing:-0.315px;">Caption — Small labels and metadata</div>
|
||||
<div class="type-label">Caption — 14px / 500 / 1.20 / -0.315px</div>
|
||||
</div>
|
||||
<div class="type-sample">
|
||||
<div class="type-text" style="font-size:14px; font-weight:600; line-height:1.29;">Caption Semi — Emphasized small text</div>
|
||||
<div class="type-label">Caption Semi — 14px / 600 / 1.29 / 0px</div>
|
||||
</div>
|
||||
<div class="type-sample">
|
||||
<div class="type-text" style="font-size:12px; font-weight:700; line-height:1.50;">MICRO LABEL</div>
|
||||
<div class="type-label">Micro Label — 12px / 700 / 1.50 / 0px</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- 3. BUTTONS -->
|
||||
<section class="section" id="buttons">
|
||||
<h2 class="section-title">Button Variants</h2>
|
||||
<p class="section-subtitle">Restrained CTAs using Warm Cream and light tones on dark surfaces.</p>
|
||||
|
||||
<div class="button-grid">
|
||||
<div class="button-item">
|
||||
<button class="btn-cream-dark">Warm Cream Primary</button>
|
||||
<span class="btn-label">#e9e5dd bg / #292827 text / 8px radius</span>
|
||||
</div>
|
||||
<div class="button-item">
|
||||
<button class="btn-light">Light Primary</button>
|
||||
<span class="btn-label">white bg / dark text / 8px radius</span>
|
||||
</div>
|
||||
<div class="button-item">
|
||||
<button class="btn-outline-dark">Outline</button>
|
||||
<span class="btn-label">transparent / dark border / 8px radius</span>
|
||||
</div>
|
||||
<div class="button-item">
|
||||
<button class="btn-ghost-dark">Ghost / Text Link</button>
|
||||
<span class="btn-label">#cbb7fb / underline / no bg</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div style="margin-top:40px; background:var(--mysteria-purple); border-radius:16px; padding:40px;">
|
||||
<p style="font-size:14px; font-weight:600; color:var(--translucent-white-80); margin-bottom:16px; font-family:monospace;">On hero gradient surface:</p>
|
||||
<div class="button-grid">
|
||||
<div class="button-item">
|
||||
<button class="btn-primary">Hero CTA</button>
|
||||
<span class="btn-label" style="color:var(--translucent-white-80);">#e9e5dd bg on #1b1938</span>
|
||||
</div>
|
||||
<div class="button-item">
|
||||
<button class="btn-secondary">Secondary Hero</button>
|
||||
<span class="btn-label" style="color:var(--translucent-white-80);">transparent / white border</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- 4. CARDS -->
|
||||
<section class="section" id="cards">
|
||||
<h2 class="section-title">Card Examples</h2>
|
||||
<p class="section-subtitle">Clean containment using borders on dark surfaces.</p>
|
||||
|
||||
<div class="card-grid">
|
||||
<div class="card card-dark-bordered card-hover">
|
||||
<h4>Surface Card</h4>
|
||||
<p class="card-desc">Dark surface with subtle border, 16px radius. Hover to see the lift effect.</p>
|
||||
<p class="card-label">bg: #1c1b1a / border: 1px solid #3a3938</p>
|
||||
</div>
|
||||
<div class="card card-dark-elevated">
|
||||
<h4>Elevated Card</h4>
|
||||
<p class="card-desc">Slightly lighter dark surface for elevated containers and feature sections.</p>
|
||||
<p class="card-label">bg: #252423 / border: 1px solid #3a3938</p>
|
||||
</div>
|
||||
<div class="card card-hero-surface">
|
||||
<h4>Hero Surface Card</h4>
|
||||
<p class="card-desc">Deep purple background with semi-transparent white border for elements on the hero gradient.</p>
|
||||
<p class="card-label">bg: #1b1938 / border: rgba(255,255,255,0.2)</p>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- 5. FORMS -->
|
||||
<section class="section" id="forms">
|
||||
<h2 class="section-title">Form Elements</h2>
|
||||
<p class="section-subtitle">Dark-surface inputs with warm-toned focus states.</p>
|
||||
|
||||
<div class="form-grid">
|
||||
<div class="form-group">
|
||||
<label>Default Input</label>
|
||||
<input type="text" placeholder="Enter your email">
|
||||
<span class="form-hint">border: 1px solid #3a3938 / radius: 8px</span>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label>Focus State</label>
|
||||
<input type="text" placeholder="Focused input" style="border-color:#cbb7fb;">
|
||||
<span class="form-hint">focus: border-color shifts to Lavender Glow</span>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label>Error State</label>
|
||||
<input type="text" class="error" placeholder="Invalid input" value="bad@">
|
||||
<span class="form-error-text">Please enter a valid email address</span>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label>Textarea</label>
|
||||
<textarea placeholder="Enter your message"></textarea>
|
||||
<span class="form-hint">Same styling as inputs, resizable vertically</span>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- 6. SPACING -->
|
||||
<section class="section" id="spacing">
|
||||
<h2 class="section-title">Spacing Scale</h2>
|
||||
<p class="section-subtitle">8px base unit system with 15 scale values.</p>
|
||||
|
||||
<div class="spacing-row">
|
||||
<div class="spacing-item">
|
||||
<div class="spacing-box" style="width:2px;"></div>
|
||||
<span class="spacing-label">2px</span>
|
||||
</div>
|
||||
<div class="spacing-item">
|
||||
<div class="spacing-box" style="width:4px;"></div>
|
||||
<span class="spacing-label">4px</span>
|
||||
</div>
|
||||
<div class="spacing-item">
|
||||
<div class="spacing-box" style="width:6px;"></div>
|
||||
<span class="spacing-label">6px</span>
|
||||
</div>
|
||||
<div class="spacing-item">
|
||||
<div class="spacing-box" style="width:8px;"></div>
|
||||
<span class="spacing-label">8px</span>
|
||||
</div>
|
||||
<div class="spacing-item">
|
||||
<div class="spacing-box" style="width:12px;"></div>
|
||||
<span class="spacing-label">12px</span>
|
||||
</div>
|
||||
<div class="spacing-item">
|
||||
<div class="spacing-box" style="width:16px;"></div>
|
||||
<span class="spacing-label">16px</span>
|
||||
</div>
|
||||
<div class="spacing-item">
|
||||
<div class="spacing-box" style="width:18px;"></div>
|
||||
<span class="spacing-label">18px</span>
|
||||
</div>
|
||||
<div class="spacing-item">
|
||||
<div class="spacing-box" style="width:20px;"></div>
|
||||
<span class="spacing-label">20px</span>
|
||||
</div>
|
||||
<div class="spacing-item">
|
||||
<div class="spacing-box" style="width:24px;"></div>
|
||||
<span class="spacing-label">24px</span>
|
||||
</div>
|
||||
<div class="spacing-item">
|
||||
<div class="spacing-box" style="width:28px;"></div>
|
||||
<span class="spacing-label">28px</span>
|
||||
</div>
|
||||
<div class="spacing-item">
|
||||
<div class="spacing-box" style="width:32px;"></div>
|
||||
<span class="spacing-label">32px</span>
|
||||
</div>
|
||||
<div class="spacing-item">
|
||||
<div class="spacing-box" style="width:36px;"></div>
|
||||
<span class="spacing-label">36px</span>
|
||||
</div>
|
||||
<div class="spacing-item">
|
||||
<div class="spacing-box" style="width:40px;"></div>
|
||||
<span class="spacing-label">40px</span>
|
||||
</div>
|
||||
<div class="spacing-item">
|
||||
<div class="spacing-box" style="width:48px;"></div>
|
||||
<span class="spacing-label">48px</span>
|
||||
</div>
|
||||
<div class="spacing-item">
|
||||
<div class="spacing-box" style="width:56px;"></div>
|
||||
<span class="spacing-label">56px</span>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- 7. BORDER RADIUS -->
|
||||
<section class="section" id="radius">
|
||||
<h2 class="section-title">Border Radius Scale</h2>
|
||||
<p class="section-subtitle">Binary system: 8px for small elements, 16px for cards and containers.</p>
|
||||
|
||||
<div class="radius-row">
|
||||
<div class="radius-item">
|
||||
<div class="radius-box" style="border-radius:0px;"></div>
|
||||
<span class="radius-label">0px</span>
|
||||
<span class="radius-context">Sharp edges (none used)</span>
|
||||
</div>
|
||||
<div class="radius-item">
|
||||
<div class="radius-box" style="border-radius:8px;"></div>
|
||||
<span class="radius-label">8px</span>
|
||||
<span class="radius-context">Buttons, spans, inline</span>
|
||||
</div>
|
||||
<div class="radius-item">
|
||||
<div class="radius-box" style="border-radius:16px;"></div>
|
||||
<span class="radius-label">16px</span>
|
||||
<span class="radius-context">Cards, links, containers</span>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- 8. ELEVATION -->
|
||||
<section class="section" id="elevation">
|
||||
<h2 class="section-title">Elevation & Depth</h2>
|
||||
<p class="section-subtitle">Restrained elevation using borders and color contrast instead of heavy shadows.</p>
|
||||
|
||||
<div class="elevation-section">
|
||||
<div class="elevation-grid">
|
||||
<div class="elevation-card elev-flat">
|
||||
<div>
|
||||
<h4>Level 0 — Flat</h4>
|
||||
<p>No shadow, dark surface background. The primary canvas for most content.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="elevation-card elev-border">
|
||||
<div>
|
||||
<h4>Level 1 — Border</h4>
|
||||
<p>1px solid subtle border. Gentle card containment and section dividers.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="elevation-card elev-dark-border">
|
||||
<div>
|
||||
<h4>Level 2 — Strong Border</h4>
|
||||
<p>1px solid lighter border. Header elements and prominent section separators.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="elevation-card elev-glow">
|
||||
<div>
|
||||
<h4>Level 3 — Lavender Glow</h4>
|
||||
<p>Subtle lavender-tinted shadow for elevated cards and featured content.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="elevation-card elev-hero">
|
||||
<div>
|
||||
<h4>Level 4 — Hero Depth</h4>
|
||||
<p>Semi-transparent white border on deep purple. Elements floating on the hero gradient.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<footer>
|
||||
Generated from DESIGN.md — Superhuman Design System Catalog (Dark Mode)
|
||||
</footer>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
953
design-md/superhuman/preview.html
Normal file
953
design-md/superhuman/preview.html
Normal file
@@ -0,0 +1,953 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Design System Inspired by Superhuman</title>
|
||||
<style>
|
||||
:root {
|
||||
--mysteria-purple: #1b1938;
|
||||
--lavender-glow: #cbb7fb;
|
||||
--charcoal-ink: #292827;
|
||||
--amethyst-link: #714cb6;
|
||||
--translucent-white-95: rgba(255,255,255,0.95);
|
||||
--translucent-white-80: rgba(255,255,255,0.8);
|
||||
--pure-white: #ffffff;
|
||||
--warm-cream: #e9e5dd;
|
||||
--parchment-border: #dcd7d3;
|
||||
--font-family: system-ui, -apple-system, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
|
||||
}
|
||||
|
||||
* { margin: 0; padding: 0; box-sizing: border-box; }
|
||||
|
||||
body {
|
||||
font-family: var(--font-family);
|
||||
background: var(--pure-white);
|
||||
color: var(--charcoal-ink);
|
||||
font-weight: 460;
|
||||
font-size: 16px;
|
||||
line-height: 1.50;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
}
|
||||
|
||||
/* NAV */
|
||||
nav {
|
||||
position: sticky;
|
||||
top: 0;
|
||||
z-index: 100;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
padding: 16px 40px;
|
||||
background: rgba(27, 25, 56, 0.95);
|
||||
backdrop-filter: blur(12px);
|
||||
-webkit-backdrop-filter: blur(12px);
|
||||
}
|
||||
.nav-brand {
|
||||
font-size: 16px;
|
||||
font-weight: 600;
|
||||
color: var(--translucent-white-95);
|
||||
text-decoration: none;
|
||||
letter-spacing: -0.2px;
|
||||
}
|
||||
.nav-links {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 32px;
|
||||
list-style: none;
|
||||
}
|
||||
.nav-links a {
|
||||
font-size: 14px;
|
||||
font-weight: 460;
|
||||
color: var(--translucent-white-80);
|
||||
text-decoration: none;
|
||||
transition: color 0.2s;
|
||||
}
|
||||
.nav-links a:hover { color: var(--translucent-white-95); }
|
||||
.nav-cta {
|
||||
background: var(--warm-cream);
|
||||
color: var(--charcoal-ink);
|
||||
padding: 8px 20px;
|
||||
border-radius: 8px;
|
||||
font-size: 14px;
|
||||
font-weight: 600;
|
||||
text-decoration: none;
|
||||
border: none;
|
||||
cursor: pointer;
|
||||
transition: opacity 0.2s;
|
||||
}
|
||||
.nav-cta:hover { opacity: 0.9; }
|
||||
|
||||
/* HERO */
|
||||
.hero {
|
||||
background: linear-gradient(180deg, var(--mysteria-purple) 0%, #2a1f5e 40%, #4a2d7a 70%, var(--lavender-glow) 100%);
|
||||
padding: 120px 40px 140px;
|
||||
text-align: center;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
.hero::after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
height: 120px;
|
||||
background: linear-gradient(to bottom, transparent, var(--pure-white));
|
||||
}
|
||||
.hero h1 {
|
||||
font-size: 64px;
|
||||
font-weight: 540;
|
||||
line-height: 0.96;
|
||||
letter-spacing: 0px;
|
||||
color: var(--translucent-white-95);
|
||||
max-width: 800px;
|
||||
margin: 0 auto 24px;
|
||||
}
|
||||
.hero .subtitle {
|
||||
font-size: 20px;
|
||||
font-weight: 460;
|
||||
line-height: 1.25;
|
||||
color: var(--translucent-white-80);
|
||||
max-width: 560px;
|
||||
margin: 0 auto 40px;
|
||||
}
|
||||
.hero-buttons {
|
||||
display: flex;
|
||||
gap: 16px;
|
||||
justify-content: center;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
.btn-primary {
|
||||
background: var(--warm-cream);
|
||||
color: var(--charcoal-ink);
|
||||
padding: 14px 32px;
|
||||
border-radius: 8px;
|
||||
font-size: 16px;
|
||||
font-weight: 600;
|
||||
text-decoration: none;
|
||||
border: none;
|
||||
cursor: pointer;
|
||||
transition: opacity 0.2s;
|
||||
}
|
||||
.btn-primary:hover { opacity: 0.9; }
|
||||
.btn-secondary {
|
||||
background: transparent;
|
||||
color: var(--translucent-white-95);
|
||||
padding: 14px 32px;
|
||||
border-radius: 8px;
|
||||
font-size: 16px;
|
||||
font-weight: 460;
|
||||
text-decoration: none;
|
||||
border: 1px solid rgba(255,255,255,0.2);
|
||||
cursor: pointer;
|
||||
transition: background 0.2s;
|
||||
}
|
||||
.btn-secondary:hover { background: rgba(255,255,255,0.05); }
|
||||
|
||||
/* SECTIONS */
|
||||
.section {
|
||||
padding: 80px 40px;
|
||||
max-width: 1200px;
|
||||
margin: 0 auto;
|
||||
}
|
||||
.section-title {
|
||||
font-size: 48px;
|
||||
font-weight: 460;
|
||||
line-height: 0.96;
|
||||
letter-spacing: -1.32px;
|
||||
color: var(--charcoal-ink);
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
.section-subtitle {
|
||||
font-size: 18px;
|
||||
font-weight: 460;
|
||||
line-height: 1.50;
|
||||
color: var(--charcoal-ink);
|
||||
opacity: 0.6;
|
||||
margin-bottom: 48px;
|
||||
}
|
||||
|
||||
/* 1. COLOR PALETTE */
|
||||
.color-category { margin-bottom: 40px; }
|
||||
.color-category h3 {
|
||||
font-size: 20px;
|
||||
font-weight: 540;
|
||||
line-height: 1.14;
|
||||
margin-bottom: 20px;
|
||||
color: var(--charcoal-ink);
|
||||
}
|
||||
.color-grid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
|
||||
gap: 20px;
|
||||
}
|
||||
.color-swatch {
|
||||
border-radius: 16px;
|
||||
overflow: hidden;
|
||||
border: 1px solid var(--parchment-border);
|
||||
}
|
||||
.color-swatch .swatch-color {
|
||||
height: 100px;
|
||||
width: 100%;
|
||||
}
|
||||
.color-swatch .swatch-info {
|
||||
padding: 12px 16px;
|
||||
background: var(--pure-white);
|
||||
}
|
||||
.color-swatch .swatch-name {
|
||||
font-size: 14px;
|
||||
font-weight: 600;
|
||||
color: var(--charcoal-ink);
|
||||
margin-bottom: 2px;
|
||||
}
|
||||
.color-swatch .swatch-hex {
|
||||
font-size: 12px;
|
||||
font-weight: 460;
|
||||
color: var(--charcoal-ink);
|
||||
opacity: 0.5;
|
||||
margin-bottom: 4px;
|
||||
font-family: monospace;
|
||||
}
|
||||
.color-swatch .swatch-role {
|
||||
font-size: 12px;
|
||||
font-weight: 460;
|
||||
color: var(--charcoal-ink);
|
||||
opacity: 0.6;
|
||||
line-height: 1.4;
|
||||
}
|
||||
|
||||
/* 2. TYPOGRAPHY */
|
||||
.type-sample {
|
||||
padding: 24px 0;
|
||||
border-bottom: 1px solid var(--parchment-border);
|
||||
}
|
||||
.type-sample:last-child { border-bottom: none; }
|
||||
.type-sample .type-text {
|
||||
color: var(--charcoal-ink);
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
.type-sample .type-label {
|
||||
font-size: 12px;
|
||||
font-weight: 460;
|
||||
color: var(--amethyst-link);
|
||||
font-family: monospace;
|
||||
line-height: 1.4;
|
||||
}
|
||||
|
||||
/* 3. BUTTONS */
|
||||
.button-grid {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 24px;
|
||||
align-items: flex-start;
|
||||
}
|
||||
.button-item {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: flex-start;
|
||||
gap: 12px;
|
||||
}
|
||||
.button-item .btn-label {
|
||||
font-size: 12px;
|
||||
font-weight: 460;
|
||||
color: var(--charcoal-ink);
|
||||
opacity: 0.5;
|
||||
font-family: monospace;
|
||||
}
|
||||
.btn-dark {
|
||||
background: var(--charcoal-ink);
|
||||
color: var(--pure-white);
|
||||
padding: 14px 32px;
|
||||
border-radius: 8px;
|
||||
font-size: 16px;
|
||||
font-weight: 600;
|
||||
border: none;
|
||||
cursor: pointer;
|
||||
transition: opacity 0.2s;
|
||||
}
|
||||
.btn-dark:hover { opacity: 0.85; }
|
||||
.btn-ghost {
|
||||
background: transparent;
|
||||
color: var(--amethyst-link);
|
||||
padding: 14px 0;
|
||||
border: none;
|
||||
font-size: 16px;
|
||||
font-weight: 460;
|
||||
text-decoration: underline;
|
||||
cursor: pointer;
|
||||
transition: opacity 0.2s;
|
||||
}
|
||||
.btn-ghost:hover { opacity: 0.7; }
|
||||
.btn-hero-cream {
|
||||
background: var(--warm-cream);
|
||||
color: var(--charcoal-ink);
|
||||
padding: 14px 32px;
|
||||
border-radius: 8px;
|
||||
font-size: 16px;
|
||||
font-weight: 600;
|
||||
border: none;
|
||||
cursor: pointer;
|
||||
display: inline-block;
|
||||
}
|
||||
.btn-outline-hero {
|
||||
background: transparent;
|
||||
color: var(--charcoal-ink);
|
||||
padding: 14px 32px;
|
||||
border-radius: 8px;
|
||||
font-size: 16px;
|
||||
font-weight: 460;
|
||||
border: 1px solid var(--parchment-border);
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
/* 4. CARDS */
|
||||
.card-grid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
|
||||
gap: 24px;
|
||||
}
|
||||
.card {
|
||||
border-radius: 16px;
|
||||
padding: 32px;
|
||||
transition: transform 0.2s, box-shadow 0.2s;
|
||||
}
|
||||
.card-bordered {
|
||||
background: var(--pure-white);
|
||||
border: 1px solid var(--parchment-border);
|
||||
}
|
||||
.card-dark {
|
||||
background: var(--charcoal-ink);
|
||||
border: 1px solid #292827;
|
||||
color: var(--translucent-white-95);
|
||||
}
|
||||
.card-dark .card-desc { color: var(--translucent-white-80); }
|
||||
.card-hero-surface {
|
||||
background: var(--mysteria-purple);
|
||||
border: 1px solid rgba(255,255,255,0.2);
|
||||
color: var(--translucent-white-95);
|
||||
}
|
||||
.card-hero-surface .card-desc { color: var(--translucent-white-80); }
|
||||
.card-hover:hover {
|
||||
transform: translateY(-2px);
|
||||
box-shadow: 0 8px 24px rgba(0,0,0,0.08);
|
||||
}
|
||||
.card h4 {
|
||||
font-size: 22px;
|
||||
font-weight: 460;
|
||||
line-height: 0.76;
|
||||
letter-spacing: -0.315px;
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
.card .card-desc {
|
||||
font-size: 16px;
|
||||
font-weight: 460;
|
||||
line-height: 1.50;
|
||||
opacity: 0.7;
|
||||
}
|
||||
.card .card-label {
|
||||
font-size: 12px;
|
||||
font-weight: 460;
|
||||
color: var(--amethyst-link);
|
||||
font-family: monospace;
|
||||
margin-top: 16px;
|
||||
opacity: 0.8;
|
||||
}
|
||||
|
||||
/* 5. FORMS */
|
||||
.form-grid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
|
||||
gap: 24px;
|
||||
}
|
||||
.form-group { display: flex; flex-direction: column; gap: 8px; }
|
||||
.form-group label {
|
||||
font-size: 14px;
|
||||
font-weight: 600;
|
||||
color: var(--charcoal-ink);
|
||||
}
|
||||
.form-group input,
|
||||
.form-group textarea {
|
||||
font-family: var(--font-family);
|
||||
font-size: 16px;
|
||||
font-weight: 460;
|
||||
padding: 12px 16px;
|
||||
border-radius: 8px;
|
||||
border: 1px solid var(--parchment-border);
|
||||
background: var(--pure-white);
|
||||
color: var(--charcoal-ink);
|
||||
outline: none;
|
||||
transition: border-color 0.2s;
|
||||
}
|
||||
.form-group input:focus,
|
||||
.form-group textarea:focus {
|
||||
border-color: var(--charcoal-ink);
|
||||
}
|
||||
.form-group input.error {
|
||||
border-color: #c0392b;
|
||||
}
|
||||
.form-group textarea { resize: vertical; min-height: 100px; }
|
||||
.form-hint {
|
||||
font-size: 12px;
|
||||
font-weight: 460;
|
||||
color: var(--charcoal-ink);
|
||||
opacity: 0.5;
|
||||
}
|
||||
.form-error-text {
|
||||
font-size: 12px;
|
||||
font-weight: 460;
|
||||
color: #c0392b;
|
||||
}
|
||||
|
||||
/* 6. SPACING */
|
||||
.spacing-row {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 16px;
|
||||
align-items: flex-end;
|
||||
}
|
||||
.spacing-item {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
}
|
||||
.spacing-box {
|
||||
background: var(--lavender-glow);
|
||||
border-radius: 4px;
|
||||
height: 48px;
|
||||
}
|
||||
.spacing-label {
|
||||
font-size: 11px;
|
||||
font-weight: 600;
|
||||
color: var(--charcoal-ink);
|
||||
font-family: monospace;
|
||||
opacity: 0.6;
|
||||
}
|
||||
|
||||
/* 7. RADIUS */
|
||||
.radius-row {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 32px;
|
||||
align-items: center;
|
||||
}
|
||||
.radius-item {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
gap: 12px;
|
||||
}
|
||||
.radius-box {
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
background: var(--warm-cream);
|
||||
border: 1px solid var(--parchment-border);
|
||||
}
|
||||
.radius-label {
|
||||
font-size: 12px;
|
||||
font-weight: 600;
|
||||
color: var(--charcoal-ink);
|
||||
font-family: monospace;
|
||||
}
|
||||
.radius-context {
|
||||
font-size: 11px;
|
||||
font-weight: 460;
|
||||
color: var(--charcoal-ink);
|
||||
opacity: 0.5;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
/* 8. ELEVATION */
|
||||
.elevation-section { background: #f5f4f2; border-radius: 16px; padding: 48px; }
|
||||
.elevation-grid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
|
||||
gap: 24px;
|
||||
}
|
||||
.elevation-card {
|
||||
background: var(--pure-white);
|
||||
border-radius: 16px;
|
||||
padding: 32px;
|
||||
min-height: 140px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.elevation-card h4 {
|
||||
font-size: 16px;
|
||||
font-weight: 540;
|
||||
color: var(--charcoal-ink);
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
.elevation-card p {
|
||||
font-size: 13px;
|
||||
font-weight: 460;
|
||||
color: var(--charcoal-ink);
|
||||
opacity: 0.6;
|
||||
line-height: 1.4;
|
||||
}
|
||||
.elev-flat { box-shadow: none; border: none; }
|
||||
.elev-border { box-shadow: none; border: 1px solid var(--parchment-border); }
|
||||
.elev-dark-border { box-shadow: none; border: 1px solid var(--charcoal-ink); }
|
||||
.elev-glow { box-shadow: 0 4px 16px rgba(0,0,0,0.08); border: none; }
|
||||
.elev-hero {
|
||||
background: var(--mysteria-purple);
|
||||
color: var(--translucent-white-95);
|
||||
border: 1px solid rgba(255,255,255,0.2);
|
||||
}
|
||||
.elev-hero h4 { color: var(--translucent-white-95); }
|
||||
.elev-hero p { color: var(--translucent-white-80); }
|
||||
|
||||
/* FOOTER */
|
||||
footer {
|
||||
text-align: center;
|
||||
padding: 48px 40px;
|
||||
border-top: 1px solid var(--parchment-border);
|
||||
font-size: 14px;
|
||||
font-weight: 460;
|
||||
color: var(--charcoal-ink);
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
/* RESPONSIVE */
|
||||
@media (max-width: 768px) {
|
||||
nav { padding: 12px 20px; }
|
||||
.nav-links { display: none; }
|
||||
.hero { padding: 80px 20px 100px; }
|
||||
.hero h1 { font-size: 36px; }
|
||||
.hero .subtitle { font-size: 16px; }
|
||||
.section { padding: 48px 20px; }
|
||||
.section-title { font-size: 32px; letter-spacing: -0.8px; }
|
||||
.color-grid { grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); }
|
||||
.card-grid { grid-template-columns: 1fr; }
|
||||
.form-grid { grid-template-columns: 1fr; }
|
||||
.elevation-section { padding: 24px; }
|
||||
.elevation-grid { grid-template-columns: 1fr; }
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<!-- NAV -->
|
||||
<nav>
|
||||
<span class="nav-brand">awesome-design-md</span>
|
||||
<ul class="nav-links">
|
||||
<li><a href="#colors">Colors</a></li>
|
||||
<li><a href="#typography">Typography</a></li>
|
||||
<li><a href="#buttons">Buttons</a></li>
|
||||
<li><a href="#cards">Cards</a></li>
|
||||
<li><a href="#forms">Forms</a></li>
|
||||
<li><a href="#spacing">Spacing</a></li>
|
||||
<li><a href="#radius">Radius</a></li>
|
||||
<li><a href="#elevation">Elevation</a></li>
|
||||
</ul>
|
||||
<a href="#" class="nav-cta">Get Started</a>
|
||||
</nav>
|
||||
|
||||
<!-- HERO -->
|
||||
<section class="hero">
|
||||
<h1>Design System Inspired by Superhuman</h1>
|
||||
<p class="subtitle">A visual catalog of design tokens extracted from Superhuman's website, rendered as a living style guide.</p>
|
||||
<div class="hero-buttons">
|
||||
<button class="btn-primary">Explore Tokens</button>
|
||||
<button class="btn-secondary">View DESIGN.md</button>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- 1. COLOR PALETTE -->
|
||||
<section class="section" id="colors">
|
||||
<h2 class="section-title">Color Palette</h2>
|
||||
<p class="section-subtitle">Every color token from the Superhuman design system with semantic naming and roles.</p>
|
||||
|
||||
<div class="color-category">
|
||||
<h3>Primary</h3>
|
||||
<div class="color-grid">
|
||||
<div class="color-swatch">
|
||||
<div class="swatch-color" style="background:#1b1938;"></div>
|
||||
<div class="swatch-info">
|
||||
<div class="swatch-name">Mysteria Purple</div>
|
||||
<div class="swatch-hex">#1b1938</div>
|
||||
<div class="swatch-role">Hero gradient background</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="color-swatch">
|
||||
<div class="swatch-color" style="background:#cbb7fb;"></div>
|
||||
<div class="swatch-info">
|
||||
<div class="swatch-name">Lavender Glow</div>
|
||||
<div class="swatch-hex">#cbb7fb</div>
|
||||
<div class="swatch-role">Primary accent and highlight</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="color-swatch">
|
||||
<div class="swatch-color" style="background:#292827;"></div>
|
||||
<div class="swatch-info">
|
||||
<div class="swatch-name">Charcoal Ink</div>
|
||||
<div class="swatch-hex">#292827</div>
|
||||
<div class="swatch-role">Primary text on light surfaces</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="color-category">
|
||||
<h3>Secondary & Accent</h3>
|
||||
<div class="color-grid">
|
||||
<div class="color-swatch">
|
||||
<div class="swatch-color" style="background:#714cb6;"></div>
|
||||
<div class="swatch-info">
|
||||
<div class="swatch-name">Amethyst Link</div>
|
||||
<div class="swatch-hex">#714cb6</div>
|
||||
<div class="swatch-role">Underlined link text</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="color-swatch">
|
||||
<div class="swatch-color" style="background:rgba(255,255,255,0.95); border: 1px solid #ddd;"></div>
|
||||
<div class="swatch-info">
|
||||
<div class="swatch-name">Translucent White 95%</div>
|
||||
<div class="swatch-hex">rgba(255,255,255,0.95)</div>
|
||||
<div class="swatch-role">Hero text on dark surfaces</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="color-swatch">
|
||||
<div class="swatch-color" style="background:rgba(255,255,255,0.8); border: 1px solid #ddd;"></div>
|
||||
<div class="swatch-info">
|
||||
<div class="swatch-name">Misted White 80%</div>
|
||||
<div class="swatch-hex">rgba(255,255,255,0.8)</div>
|
||||
<div class="swatch-role">Secondary text on dark surfaces</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="color-category">
|
||||
<h3>Surface & Background</h3>
|
||||
<div class="color-grid">
|
||||
<div class="color-swatch">
|
||||
<div class="swatch-color" style="background:#ffffff; border: 1px solid #eee;"></div>
|
||||
<div class="swatch-info">
|
||||
<div class="swatch-name">Pure White</div>
|
||||
<div class="swatch-hex">#ffffff</div>
|
||||
<div class="swatch-role">Primary page background</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="color-swatch">
|
||||
<div class="swatch-color" style="background:#e9e5dd;"></div>
|
||||
<div class="swatch-info">
|
||||
<div class="swatch-name">Warm Cream</div>
|
||||
<div class="swatch-hex">#e9e5dd</div>
|
||||
<div class="swatch-role">Button background</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="color-swatch">
|
||||
<div class="swatch-color" style="background:#dcd7d3;"></div>
|
||||
<div class="swatch-info">
|
||||
<div class="swatch-name">Parchment Border</div>
|
||||
<div class="swatch-hex">#dcd7d3</div>
|
||||
<div class="swatch-role">Card and divider borders</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- 2. TYPOGRAPHY -->
|
||||
<section class="section" id="typography">
|
||||
<h2 class="section-title">Typography Scale</h2>
|
||||
<p class="section-subtitle">Super Sans VF with non-standard weight stops (460, 540, 600, 700).</p>
|
||||
|
||||
<div class="type-sample">
|
||||
<div class="type-text" style="font-size:64px; font-weight:540; line-height:0.96;">Display Hero</div>
|
||||
<div class="type-label">Display Hero — 64px / 540 / 0.96 / 0px</div>
|
||||
</div>
|
||||
<div class="type-sample">
|
||||
<div class="type-text" style="font-size:48px; font-weight:460; line-height:0.96; letter-spacing:-1.32px;">Section Display</div>
|
||||
<div class="type-label">Section Display — 48px / 460 / 0.96 / -1.32px</div>
|
||||
</div>
|
||||
<div class="type-sample">
|
||||
<div class="type-text" style="font-size:48px; font-weight:460; line-height:0.96;">Section Heading</div>
|
||||
<div class="type-label">Section Heading — 48px / 460 / 0.96 / 0px</div>
|
||||
</div>
|
||||
<div class="type-sample">
|
||||
<div class="type-text" style="font-size:28px; font-weight:540; line-height:1.14; letter-spacing:-0.63px;">Feature Title</div>
|
||||
<div class="type-label">Feature Title — 28px / 540 / 1.14 / -0.63px</div>
|
||||
</div>
|
||||
<div class="type-sample">
|
||||
<div class="type-text" style="font-size:26px; font-weight:460; line-height:1.30;">Sub-heading Large</div>
|
||||
<div class="type-label">Sub-heading Large — 26px / 460 / 1.30 / 0px</div>
|
||||
</div>
|
||||
<div class="type-sample">
|
||||
<div class="type-text" style="font-size:22px; font-weight:460; line-height:0.76; letter-spacing:-0.315px;">Card Heading</div>
|
||||
<div class="type-label">Card Heading — 22px / 460 / 0.76 / -0.315px</div>
|
||||
</div>
|
||||
<div class="type-sample">
|
||||
<div class="type-text" style="font-size:20px; font-weight:460; line-height:1.20;">Body Heading</div>
|
||||
<div class="type-label">Body Heading — 20px / 460 / 1.20 / 0px</div>
|
||||
</div>
|
||||
<div class="type-sample">
|
||||
<div class="type-text" style="font-size:20px; font-weight:460; line-height:1.10; letter-spacing:-0.55px;">Body Heading Alt</div>
|
||||
<div class="type-label">Body Heading Alt — 20px / 460 / 1.10 / -0.55px</div>
|
||||
</div>
|
||||
<div class="type-sample">
|
||||
<div class="type-text" style="font-size:18px; font-weight:540; line-height:1.50; letter-spacing:-0.135px;">Emphasis Body — Medium weight for callouts and highlights</div>
|
||||
<div class="type-label">Emphasis Body — 18px / 540 / 1.50 / -0.135px</div>
|
||||
</div>
|
||||
<div class="type-sample">
|
||||
<div class="type-text" style="font-size:16px; font-weight:460; line-height:1.50;">Body — Standard reading text with generous line-height for comfortable reading across long content blocks.</div>
|
||||
<div class="type-label">Body — 16px / 460 / 1.50 / 0px</div>
|
||||
</div>
|
||||
<div class="type-sample">
|
||||
<div class="type-text" style="font-size:16px; font-weight:700; line-height:1.00;">Button / UI Bold</div>
|
||||
<div class="type-label">Button / UI Bold — 16px / 700 / 1.00 / 0px</div>
|
||||
</div>
|
||||
<div class="type-sample">
|
||||
<div class="type-text" style="font-size:16px; font-weight:600; line-height:1.00;">Button / UI Semi</div>
|
||||
<div class="type-label">Button / UI Semi — 16px / 600 / 1.00 / 0px</div>
|
||||
</div>
|
||||
<div class="type-sample">
|
||||
<div class="type-text" style="font-size:14px; font-weight:500; line-height:1.20; letter-spacing:-0.315px;">Caption — Small labels and metadata</div>
|
||||
<div class="type-label">Caption — 14px / 500 / 1.20 / -0.315px</div>
|
||||
</div>
|
||||
<div class="type-sample">
|
||||
<div class="type-text" style="font-size:14px; font-weight:600; line-height:1.29;">Caption Semi — Emphasized small text</div>
|
||||
<div class="type-label">Caption Semi — 14px / 600 / 1.29 / 0px</div>
|
||||
</div>
|
||||
<div class="type-sample">
|
||||
<div class="type-text" style="font-size:12px; font-weight:700; line-height:1.50;">MICRO LABEL</div>
|
||||
<div class="type-label">Micro Label — 12px / 700 / 1.50 / 0px</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- 3. BUTTONS -->
|
||||
<section class="section" id="buttons">
|
||||
<h2 class="section-title">Button Variants</h2>
|
||||
<p class="section-subtitle">Restrained CTAs using Warm Cream and Charcoal Ink.</p>
|
||||
|
||||
<div class="button-grid">
|
||||
<div class="button-item">
|
||||
<button class="btn-hero-cream">Warm Cream Primary</button>
|
||||
<span class="btn-label">#e9e5dd bg / #292827 text / 8px radius</span>
|
||||
</div>
|
||||
<div class="button-item">
|
||||
<button class="btn-dark">Dark Primary</button>
|
||||
<span class="btn-label">#292827 bg / #fff text / 8px radius</span>
|
||||
</div>
|
||||
<div class="button-item">
|
||||
<button class="btn-outline-hero">Outline</button>
|
||||
<span class="btn-label">transparent / #dcd7d3 border / 8px radius</span>
|
||||
</div>
|
||||
<div class="button-item">
|
||||
<button class="btn-ghost">Ghost / Text Link</button>
|
||||
<span class="btn-label">#714cb6 / underline / no bg</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div style="margin-top:40px; background:var(--mysteria-purple); border-radius:16px; padding:40px;">
|
||||
<p style="font-size:14px; font-weight:600; color:var(--translucent-white-80); margin-bottom:16px; font-family:monospace;">On dark hero surface:</p>
|
||||
<div class="button-grid">
|
||||
<div class="button-item">
|
||||
<button class="btn-primary">Hero CTA</button>
|
||||
<span class="btn-label" style="color:var(--translucent-white-80);">#e9e5dd bg on #1b1938</span>
|
||||
</div>
|
||||
<div class="button-item">
|
||||
<button class="btn-secondary">Secondary Hero</button>
|
||||
<span class="btn-label" style="color:var(--translucent-white-80);">transparent / white border</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- 4. CARDS -->
|
||||
<section class="section" id="cards">
|
||||
<h2 class="section-title">Card Examples</h2>
|
||||
<p class="section-subtitle">Clean containment using borders and minimal shadows.</p>
|
||||
|
||||
<div class="card-grid">
|
||||
<div class="card card-bordered card-hover">
|
||||
<h4>Content Card</h4>
|
||||
<p class="card-desc">White background with Parchment Border, 16px radius. Hover to see lift effect.</p>
|
||||
<p class="card-label">border: 1px solid #dcd7d3 / radius: 16px</p>
|
||||
</div>
|
||||
<div class="card card-dark">
|
||||
<h4>Dark Surface Card</h4>
|
||||
<p class="card-desc">Charcoal Ink background with warm-neutral tone for dark sections of the page.</p>
|
||||
<p class="card-label" style="color:var(--lavender-glow);">bg: #292827 / border: 1px solid #292827</p>
|
||||
</div>
|
||||
<div class="card card-hero-surface">
|
||||
<h4>Hero Surface Card</h4>
|
||||
<p class="card-desc">Deep purple background with semi-transparent white border for elements on the hero gradient.</p>
|
||||
<p class="card-label" style="color:var(--lavender-glow);">bg: #1b1938 / border: rgba(255,255,255,0.2)</p>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- 5. FORMS -->
|
||||
<section class="section" id="forms">
|
||||
<h2 class="section-title">Form Elements</h2>
|
||||
<p class="section-subtitle">Minimal form presence with warm-toned borders and clean focus states.</p>
|
||||
|
||||
<div class="form-grid">
|
||||
<div class="form-group">
|
||||
<label>Default Input</label>
|
||||
<input type="text" placeholder="Enter your email">
|
||||
<span class="form-hint">border: 1px solid #dcd7d3 / radius: 8px</span>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label>Focus State</label>
|
||||
<input type="text" placeholder="Focused input" style="border-color:#292827;">
|
||||
<span class="form-hint">focus: border-color shifts to #292827</span>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label>Error State</label>
|
||||
<input type="text" class="error" placeholder="Invalid input" value="bad@">
|
||||
<span class="form-error-text">Please enter a valid email address</span>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label>Textarea</label>
|
||||
<textarea placeholder="Enter your message"></textarea>
|
||||
<span class="form-hint">Same styling as inputs, resizable vertically</span>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- 6. SPACING -->
|
||||
<section class="section" id="spacing">
|
||||
<h2 class="section-title">Spacing Scale</h2>
|
||||
<p class="section-subtitle">8px base unit system with 15 scale values.</p>
|
||||
|
||||
<div class="spacing-row">
|
||||
<div class="spacing-item">
|
||||
<div class="spacing-box" style="width:2px;"></div>
|
||||
<span class="spacing-label">2px</span>
|
||||
</div>
|
||||
<div class="spacing-item">
|
||||
<div class="spacing-box" style="width:4px;"></div>
|
||||
<span class="spacing-label">4px</span>
|
||||
</div>
|
||||
<div class="spacing-item">
|
||||
<div class="spacing-box" style="width:6px;"></div>
|
||||
<span class="spacing-label">6px</span>
|
||||
</div>
|
||||
<div class="spacing-item">
|
||||
<div class="spacing-box" style="width:8px;"></div>
|
||||
<span class="spacing-label">8px</span>
|
||||
</div>
|
||||
<div class="spacing-item">
|
||||
<div class="spacing-box" style="width:12px;"></div>
|
||||
<span class="spacing-label">12px</span>
|
||||
</div>
|
||||
<div class="spacing-item">
|
||||
<div class="spacing-box" style="width:16px;"></div>
|
||||
<span class="spacing-label">16px</span>
|
||||
</div>
|
||||
<div class="spacing-item">
|
||||
<div class="spacing-box" style="width:18px;"></div>
|
||||
<span class="spacing-label">18px</span>
|
||||
</div>
|
||||
<div class="spacing-item">
|
||||
<div class="spacing-box" style="width:20px;"></div>
|
||||
<span class="spacing-label">20px</span>
|
||||
</div>
|
||||
<div class="spacing-item">
|
||||
<div class="spacing-box" style="width:24px;"></div>
|
||||
<span class="spacing-label">24px</span>
|
||||
</div>
|
||||
<div class="spacing-item">
|
||||
<div class="spacing-box" style="width:28px;"></div>
|
||||
<span class="spacing-label">28px</span>
|
||||
</div>
|
||||
<div class="spacing-item">
|
||||
<div class="spacing-box" style="width:32px;"></div>
|
||||
<span class="spacing-label">32px</span>
|
||||
</div>
|
||||
<div class="spacing-item">
|
||||
<div class="spacing-box" style="width:36px;"></div>
|
||||
<span class="spacing-label">36px</span>
|
||||
</div>
|
||||
<div class="spacing-item">
|
||||
<div class="spacing-box" style="width:40px;"></div>
|
||||
<span class="spacing-label">40px</span>
|
||||
</div>
|
||||
<div class="spacing-item">
|
||||
<div class="spacing-box" style="width:48px;"></div>
|
||||
<span class="spacing-label">48px</span>
|
||||
</div>
|
||||
<div class="spacing-item">
|
||||
<div class="spacing-box" style="width:56px;"></div>
|
||||
<span class="spacing-label">56px</span>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- 7. BORDER RADIUS -->
|
||||
<section class="section" id="radius">
|
||||
<h2 class="section-title">Border Radius Scale</h2>
|
||||
<p class="section-subtitle">Binary system: 8px for small elements, 16px for cards and containers.</p>
|
||||
|
||||
<div class="radius-row">
|
||||
<div class="radius-item">
|
||||
<div class="radius-box" style="border-radius:0px;"></div>
|
||||
<span class="radius-label">0px</span>
|
||||
<span class="radius-context">Sharp edges (none used)</span>
|
||||
</div>
|
||||
<div class="radius-item">
|
||||
<div class="radius-box" style="border-radius:8px;"></div>
|
||||
<span class="radius-label">8px</span>
|
||||
<span class="radius-context">Buttons, spans, inline</span>
|
||||
</div>
|
||||
<div class="radius-item">
|
||||
<div class="radius-box" style="border-radius:16px;"></div>
|
||||
<span class="radius-label">16px</span>
|
||||
<span class="radius-context">Cards, links, containers</span>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- 8. ELEVATION -->
|
||||
<section class="section" id="elevation">
|
||||
<h2 class="section-title">Elevation & Depth</h2>
|
||||
<p class="section-subtitle">Restrained elevation using borders and color contrast instead of heavy shadows.</p>
|
||||
|
||||
<div class="elevation-section">
|
||||
<div class="elevation-grid">
|
||||
<div class="elevation-card elev-flat">
|
||||
<div>
|
||||
<h4>Level 0 — Flat</h4>
|
||||
<p>No shadow, white background. The primary canvas for most content surfaces.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="elevation-card elev-border">
|
||||
<div>
|
||||
<h4>Level 1 — Border</h4>
|
||||
<p>1px solid Parchment Border (#dcd7d3). Gentle card containment and section dividers.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="elevation-card elev-dark-border">
|
||||
<div>
|
||||
<h4>Level 2 — Dark Border</h4>
|
||||
<p>1px solid Charcoal Ink (#292827). Header elements and dark section separators.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="elevation-card elev-glow">
|
||||
<div>
|
||||
<h4>Level 3 — Glow</h4>
|
||||
<p>Subtle box-shadow for product screenshot containers and elevated cards.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="elevation-card elev-hero">
|
||||
<div>
|
||||
<h4>Level 4 — Hero Depth</h4>
|
||||
<p>Semi-transparent white border on deep purple. Elements floating on the hero gradient.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<footer>
|
||||
Generated from DESIGN.md — Superhuman Design System Catalog
|
||||
</footer>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user