skills/creative/popular-web-designs/templates/spotify.md
Hermes Agent — Implementation Notes
The original site uses proprietary fonts. For self-contained HTML output, use these CDN substitutes:
- Primary:
DM Sans| Mono:system monospace stack- Font stack (CSS):
font-family: 'DM Sans', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;- Mono stack (CSS):
font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;html<link href="https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&display=swap" rel="stylesheet">Use
write_fileto create HTML, serve viagenerative-widgetsskill (cloudflared tunnel). Verify visual accuracy withbrowser_visionafter generating.
Spotify's web interface is a dark, immersive music player that wraps listeners in a near-black cocoon (#121212, #181818, #1f1f1f) where album art and content become the primary source of color. The design philosophy is "content-first darkness" — the UI recedes into shadow so that music, podcasts, and playlists can glow. Every surface is a shade of charcoal, creating a theater-like environment where the only true color comes from the iconic Spotify Green (#1ed760) and the album artwork itself.
The typography uses SpotifyMixUI and SpotifyMixUITitle — proprietary fonts from the CircularSp family (Circular by Lineto, customized for Spotify) with an extensive fallback stack that includes Arabic, Hebrew, Cyrillic, Greek, Devanagari, and CJK fonts, reflecting Spotify's global reach. The type system is compact and functional: 700 (bold) for emphasis and navigation, 600 (semibold) for secondary emphasis, and 400 (regular) for body. Buttons use uppercase with positive letter-spacing (1.4px–2px) for a systematic, label-like quality.
What distinguishes Spotify is its pill-and-circle geometry. Primary buttons use 500px–9999px radius (full pill), circular play buttons use 50% radius, and search inputs are 500px pills. Combined with heavy shadows (rgba(0,0,0,0.5) 0px 8px 24px) on elevated elements and a unique inset border-shadow combo (rgb(18,18,18) 0px 1px 0px, rgb(124,124,124) 0px 0px 0px 1px inset), the result is an interface that feels like a premium audio device — tactile, rounded, and built for touch.
Key Characteristics:
#121212–#1f1f1f) — UI disappears behind content#1ed760) as singular brand accent — never decorative, always functionalrgba(0,0,0,0.5) 0px 8px 24px)#f3727f), warning orange (#ffa42b), announcement blue (#539df5)#1ed760): Primary brand accent — play buttons, active states, CTAs#121212): Deepest background surface#181818): Cards, containers, elevated surfaces#1f1f1f): Button backgrounds, interactive surfaces#ffffff): --text-base, primary text#b3b3b3): Secondary text, muted labels, inactive nav#cbcbcb): Slightly brighter secondary text#fdfdfd): Near-pure white for maximum emphasis#f3727f): --text-negative, error states#ffa42b): --text-warning, warning states#539df5): --text-announcement, info states#252525): Elevated card surface#272727): Alternate card surface#4d4d4d): Button borders on dark#7c7c7c): Outlined button borders, muted links#b3b3b3): Divider lines#eeeeee): Light-mode buttons (rare)#1db954): Green accent border variantrgba(0,0,0,0.5) 0px 8px 24px): Dialogs, menus, elevated panelsrgba(0,0,0,0.3) 0px 8px 8px): Cards, dropdownsrgb(18,18,18) 0px 1px 0px, rgb(124,124,124) 0px 0px 0px 1px inset): Input border-shadow comboSpotifyMixUITitle, fallbacks: CircularSp-Arab, CircularSp-Hebr, CircularSp-Cyrl, CircularSp-Grek, CircularSp-Deva, Helvetica Neue, helvetica, arial, Hiragino Sans, Hiragino Kaku Gothic ProN, Meiryo, MS GothicSpotifyMixUI, same fallback stack| Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |
|---|---|---|---|---|---|---|
| Section Title | SpotifyMixUITitle | 24px (1.50rem) | 700 | normal | normal | Bold title weight |
| Feature Heading | SpotifyMixUI | 18px (1.13rem) | 600 | 1.30 (tight) | normal | Semibold section heads |
| Body Bold | SpotifyMixUI | 16px (1.00rem) | 700 | normal | normal | Emphasized text |
| Body | SpotifyMixUI | 16px (1.00rem) | 400 | normal | normal | Standard body |
| Button Uppercase | SpotifyMixUI | 14px (0.88rem) | 600–700 | 1.00 (tight) | 1.4px–2px | text-transform: uppercase |
| Button | SpotifyMixUI | 14px (0.88rem) | 700 | normal | 0.14px | Standard button |
| Nav Link Bold | SpotifyMixUI | 14px (0.88rem) | 700 | normal | normal | Navigation |
| Nav Link | SpotifyMixUI | 14px (0.88rem) | 400 | normal | normal | Inactive nav |
| Caption Bold | SpotifyMixUI | 14px (0.88rem) | 700 | 1.50–1.54 | normal | Bold metadata |
| Caption | SpotifyMixUI | 14px (0.88rem) | 400 | normal | normal | Metadata |
| Small Bold | SpotifyMixUI | 12px (0.75rem) | 700 | 1.50 | normal | Tags, counts |
| Small | SpotifyMixUI | 12px (0.75rem) | 400 | normal | normal | Fine print |
| Badge | SpotifyMixUI | 10.5px (0.66rem) | 600 | 1.33 | normal | text-transform: capitalize |
| Micro | SpotifyMixUI | 10px (0.63rem) | 400 | normal | normal | Smallest text |
Dark Pill
#1f1f1f#ffffff or #b3b3b3Dark Large Pill
#181818#ffffffLight Pill
#eeeeee#181818Outlined Pill
#ffffff1px solid #7c7c7cCircular Play
#1f1f1f#ffffff#181818 or #1f1f1frgba(0,0,0,0.3) 0px 8px 8px on elevated#1f1f1f background, #ffffff text#000000, outline 1px solid#b3b3b3 muted color for inactive items, #ffffff for active| Level | Treatment | Use |
|---|---|---|
| Base (Level 0) | #121212 background | Deepest layer, page background |
| Surface (Level 1) | #181818 or #1f1f1f | Cards, sidebar, containers |
| Elevated (Level 2) | rgba(0,0,0,0.3) 0px 8px 8px | Dropdown menus, hover cards |
| Dialog (Level 3) | rgba(0,0,0,0.5) 0px 8px 24px | Modals, overlays, menus |
| Inset (Border) | rgb(18,18,18) 0px 1px 0px, rgb(124,124,124) 0px 0px 0px 1px inset | Input borders |
Shadow Philosophy: Spotify uses notably heavy shadows for a dark-themed app. The 0.5 opacity shadow at 24px blur creates a dramatic "floating in darkness" effect for dialogs and menus, while the 0.3 opacity at 8px blur provides a more subtle card lift. The unique inset border-shadow combination on inputs creates a recessed, tactile quality.
#121212–#1f1f1f) — depth through shade variation#1ed760) only for play controls, active states, and primary CTAs0.3–0.5 opacity) for elevated elements on dark backgrounds| Name | Width | Key Changes |
|---|---|---|
| Mobile Small | <425px | Compact mobile layout |
| Mobile | 425–576px | Standard mobile |
| Tablet | 576–768px | 2-column grid |
| Tablet Large | 768–896px | Expanded layout |
| Desktop Small | 896–1024px | Sidebar visible |
| Desktop | 1024–1280px | Full desktop layout |
| Large Desktop | >1280px | Expanded grid |
#121212)#181818)#ffffff)#b3b3b3)#1ed760)#4d4d4d#f3727f)