@aexol/spectral 0.7.0 → 0.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agent/index.js +76 -301
- package/dist/cli.js +11 -0
- package/dist/designer/data/systems/agentic/DESIGN.md +71 -0
- package/dist/designer/data/systems/agentic/components.html +154 -0
- package/dist/designer/data/systems/agentic/tokens.css +63 -0
- package/dist/designer/data/systems/airbnb/DESIGN.md +393 -0
- package/dist/designer/data/systems/airbnb/components.html +1373 -0
- package/dist/designer/data/systems/airbnb/tokens.css +261 -0
- package/dist/designer/data/systems/airtable/DESIGN.md +92 -0
- package/dist/designer/data/systems/airtable/components.html +489 -0
- package/dist/designer/data/systems/airtable/tokens.css +261 -0
- package/dist/designer/data/systems/ant/DESIGN.md +71 -0
- package/dist/designer/data/systems/ant/components.html +154 -0
- package/dist/designer/data/systems/ant/tokens.css +63 -0
- package/dist/designer/data/systems/apple/DESIGN.md +250 -0
- package/dist/designer/data/systems/apple/components.html +749 -0
- package/dist/designer/data/systems/apple/tokens.css +286 -0
- package/dist/designer/data/systems/application/DESIGN.md +71 -0
- package/dist/designer/data/systems/application/components.html +154 -0
- package/dist/designer/data/systems/application/tokens.css +63 -0
- package/dist/designer/data/systems/arc/DESIGN.md +152 -0
- package/dist/designer/data/systems/arc/components.html +432 -0
- package/dist/designer/data/systems/arc/tokens.css +137 -0
- package/dist/designer/data/systems/artistic/DESIGN.md +71 -0
- package/dist/designer/data/systems/artistic/components.html +136 -0
- package/dist/designer/data/systems/artistic/tokens.css +63 -0
- package/dist/designer/data/systems/atelier-zero/DESIGN.md +316 -0
- package/dist/designer/data/systems/atelier-zero/components.html +136 -0
- package/dist/designer/data/systems/atelier-zero/tokens.css +63 -0
- package/dist/designer/data/systems/bento/DESIGN.md +71 -0
- package/dist/designer/data/systems/bento/components.html +136 -0
- package/dist/designer/data/systems/bento/tokens.css +63 -0
- package/dist/designer/data/systems/binance/DESIGN.md +348 -0
- package/dist/designer/data/systems/binance/components.html +550 -0
- package/dist/designer/data/systems/binance/tokens.css +255 -0
- package/dist/designer/data/systems/bmw/DESIGN.md +183 -0
- package/dist/designer/data/systems/bmw/components.html +551 -0
- package/dist/designer/data/systems/bmw/tokens.css +179 -0
- package/dist/designer/data/systems/bmw-m/DESIGN.md +246 -0
- package/dist/designer/data/systems/bmw-m/components.html +342 -0
- package/dist/designer/data/systems/bmw-m/tokens.css +64 -0
- package/dist/designer/data/systems/bold/DESIGN.md +71 -0
- package/dist/designer/data/systems/bold/components.html +136 -0
- package/dist/designer/data/systems/bold/tokens.css +63 -0
- package/dist/designer/data/systems/brutalism/DESIGN.md +71 -0
- package/dist/designer/data/systems/brutalism/components.html +154 -0
- package/dist/designer/data/systems/brutalism/tokens.css +63 -0
- package/dist/designer/data/systems/bugatti/DESIGN.md +271 -0
- package/dist/designer/data/systems/bugatti/components.html +342 -0
- package/dist/designer/data/systems/bugatti/tokens.css +64 -0
- package/dist/designer/data/systems/cafe/DESIGN.md +71 -0
- package/dist/designer/data/systems/cafe/components.html +136 -0
- package/dist/designer/data/systems/cafe/tokens.css +63 -0
- package/dist/designer/data/systems/cal/DESIGN.md +262 -0
- package/dist/designer/data/systems/cal/components.html +376 -0
- package/dist/designer/data/systems/cal/tokens.css +265 -0
- package/dist/designer/data/systems/canva/DESIGN.md +157 -0
- package/dist/designer/data/systems/canva/components.html +461 -0
- package/dist/designer/data/systems/canva/tokens.css +147 -0
- package/dist/designer/data/systems/cisco/DESIGN.md +201 -0
- package/dist/designer/data/systems/cisco/components.html +342 -0
- package/dist/designer/data/systems/cisco/tokens.css +64 -0
- package/dist/designer/data/systems/claude/DESIGN.md +315 -0
- package/dist/designer/data/systems/claude/components.html +483 -0
- package/dist/designer/data/systems/claude/tokens.css +130 -0
- package/dist/designer/data/systems/clay/DESIGN.md +307 -0
- package/dist/designer/data/systems/clay/components.html +136 -0
- package/dist/designer/data/systems/clay/tokens.css +63 -0
- package/dist/designer/data/systems/claymorphism/DESIGN.md +71 -0
- package/dist/designer/data/systems/claymorphism/components.html +136 -0
- package/dist/designer/data/systems/claymorphism/tokens.css +63 -0
- package/dist/designer/data/systems/clean/DESIGN.md +71 -0
- package/dist/designer/data/systems/clean/components.html +136 -0
- package/dist/designer/data/systems/clean/tokens.css +63 -0
- package/dist/designer/data/systems/clickhouse/DESIGN.md +284 -0
- package/dist/designer/data/systems/clickhouse/components.html +506 -0
- package/dist/designer/data/systems/clickhouse/tokens.css +135 -0
- package/dist/designer/data/systems/cohere/DESIGN.md +269 -0
- package/dist/designer/data/systems/cohere/components.html +353 -0
- package/dist/designer/data/systems/cohere/tokens.css +126 -0
- package/dist/designer/data/systems/coinbase/DESIGN.md +132 -0
- package/dist/designer/data/systems/coinbase/components.html +501 -0
- package/dist/designer/data/systems/coinbase/tokens.css +257 -0
- package/dist/designer/data/systems/colorful/DESIGN.md +71 -0
- package/dist/designer/data/systems/colorful/components.html +136 -0
- package/dist/designer/data/systems/colorful/tokens.css +63 -0
- package/dist/designer/data/systems/composio/DESIGN.md +310 -0
- package/dist/designer/data/systems/composio/components.html +342 -0
- package/dist/designer/data/systems/composio/tokens.css +64 -0
- package/dist/designer/data/systems/contemporary/DESIGN.md +71 -0
- package/dist/designer/data/systems/contemporary/components.html +136 -0
- package/dist/designer/data/systems/contemporary/tokens.css +63 -0
- package/dist/designer/data/systems/corporate/DESIGN.md +71 -0
- package/dist/designer/data/systems/corporate/components.html +136 -0
- package/dist/designer/data/systems/corporate/tokens.css +63 -0
- package/dist/designer/data/systems/cosmic/DESIGN.md +71 -0
- package/dist/designer/data/systems/cosmic/components.html +136 -0
- package/dist/designer/data/systems/cosmic/tokens.css +63 -0
- package/dist/designer/data/systems/creative/DESIGN.md +71 -0
- package/dist/designer/data/systems/creative/components.html +136 -0
- package/dist/designer/data/systems/creative/tokens.css +63 -0
- package/dist/designer/data/systems/cursor/DESIGN.md +312 -0
- package/dist/designer/data/systems/cursor/components.html +654 -0
- package/dist/designer/data/systems/cursor/tokens.css +218 -0
- package/dist/designer/data/systems/dashboard/DESIGN.md +71 -0
- package/dist/designer/data/systems/dashboard/components.html +154 -0
- package/dist/designer/data/systems/dashboard/tokens.css +63 -0
- package/dist/designer/data/systems/default/DESIGN.md +62 -0
- package/dist/designer/data/systems/default/components.html +523 -0
- package/dist/designer/data/systems/default/tokens.css +200 -0
- package/dist/designer/data/systems/discord/DESIGN.md +162 -0
- package/dist/designer/data/systems/discord/components.html +359 -0
- package/dist/designer/data/systems/discord/tokens.css +125 -0
- package/dist/designer/data/systems/dithered/DESIGN.md +71 -0
- package/dist/designer/data/systems/dithered/components.html +136 -0
- package/dist/designer/data/systems/dithered/tokens.css +63 -0
- package/dist/designer/data/systems/doodle/DESIGN.md +71 -0
- package/dist/designer/data/systems/doodle/components.html +136 -0
- package/dist/designer/data/systems/doodle/tokens.css +63 -0
- package/dist/designer/data/systems/dramatic/DESIGN.md +71 -0
- package/dist/designer/data/systems/dramatic/components.html +136 -0
- package/dist/designer/data/systems/dramatic/tokens.css +63 -0
- package/dist/designer/data/systems/duolingo/DESIGN.md +154 -0
- package/dist/designer/data/systems/duolingo/components.html +532 -0
- package/dist/designer/data/systems/duolingo/tokens.css +130 -0
- package/dist/designer/data/systems/editorial/DESIGN.md +71 -0
- package/dist/designer/data/systems/editorial/components.html +154 -0
- package/dist/designer/data/systems/editorial/tokens.css +63 -0
- package/dist/designer/data/systems/elegant/DESIGN.md +71 -0
- package/dist/designer/data/systems/elegant/components.html +136 -0
- package/dist/designer/data/systems/elegant/tokens.css +63 -0
- package/dist/designer/data/systems/elevenlabs/DESIGN.md +268 -0
- package/dist/designer/data/systems/elevenlabs/components.html +342 -0
- package/dist/designer/data/systems/elevenlabs/tokens.css +127 -0
- package/dist/designer/data/systems/energetic/DESIGN.md +72 -0
- package/dist/designer/data/systems/energetic/components.html +136 -0
- package/dist/designer/data/systems/energetic/tokens.css +63 -0
- package/dist/designer/data/systems/enterprise/DESIGN.md +71 -0
- package/dist/designer/data/systems/enterprise/components.html +154 -0
- package/dist/designer/data/systems/enterprise/tokens.css +63 -0
- package/dist/designer/data/systems/expo/DESIGN.md +284 -0
- package/dist/designer/data/systems/expo/components.html +342 -0
- package/dist/designer/data/systems/expo/tokens.css +64 -0
- package/dist/designer/data/systems/expressive/DESIGN.md +71 -0
- package/dist/designer/data/systems/expressive/components.html +136 -0
- package/dist/designer/data/systems/expressive/tokens.css +63 -0
- package/dist/designer/data/systems/fantasy/DESIGN.md +71 -0
- package/dist/designer/data/systems/fantasy/components.html +136 -0
- package/dist/designer/data/systems/fantasy/tokens.css +63 -0
- package/dist/designer/data/systems/ferrari/DESIGN.md +317 -0
- package/dist/designer/data/systems/ferrari/components.html +342 -0
- package/dist/designer/data/systems/ferrari/tokens.css +64 -0
- package/dist/designer/data/systems/figma/DESIGN.md +223 -0
- package/dist/designer/data/systems/figma/components.html +344 -0
- package/dist/designer/data/systems/figma/tokens.css +126 -0
- package/dist/designer/data/systems/flat/DESIGN.md +71 -0
- package/dist/designer/data/systems/flat/components.html +136 -0
- package/dist/designer/data/systems/flat/tokens.css +63 -0
- package/dist/designer/data/systems/framer/DESIGN.md +249 -0
- package/dist/designer/data/systems/framer/components.html +438 -0
- package/dist/designer/data/systems/framer/tokens.css +238 -0
- package/dist/designer/data/systems/friendly/DESIGN.md +71 -0
- package/dist/designer/data/systems/friendly/components.html +136 -0
- package/dist/designer/data/systems/friendly/tokens.css +63 -0
- package/dist/designer/data/systems/futuristic/DESIGN.md +71 -0
- package/dist/designer/data/systems/futuristic/components.html +136 -0
- package/dist/designer/data/systems/futuristic/tokens.css +63 -0
- package/dist/designer/data/systems/github/DESIGN.md +155 -0
- package/dist/designer/data/systems/github/components.html +383 -0
- package/dist/designer/data/systems/github/tokens.css +125 -0
- package/dist/designer/data/systems/glassmorphism/DESIGN.md +71 -0
- package/dist/designer/data/systems/glassmorphism/components.html +154 -0
- package/dist/designer/data/systems/glassmorphism/tokens.css +63 -0
- package/dist/designer/data/systems/gradient/DESIGN.md +71 -0
- package/dist/designer/data/systems/gradient/components.html +154 -0
- package/dist/designer/data/systems/gradient/tokens.css +63 -0
- package/dist/designer/data/systems/hashicorp/DESIGN.md +281 -0
- package/dist/designer/data/systems/hashicorp/components.html +502 -0
- package/dist/designer/data/systems/hashicorp/tokens.css +272 -0
- package/dist/designer/data/systems/hud/DESIGN.md +173 -0
- package/dist/designer/data/systems/hud/components.html +136 -0
- package/dist/designer/data/systems/hud/tokens.css +63 -0
- package/dist/designer/data/systems/huggingface/DESIGN.md +149 -0
- package/dist/designer/data/systems/huggingface/components.html +346 -0
- package/dist/designer/data/systems/huggingface/tokens.css +125 -0
- package/dist/designer/data/systems/ibm/DESIGN.md +335 -0
- package/dist/designer/data/systems/ibm/components.html +342 -0
- package/dist/designer/data/systems/ibm/tokens.css +64 -0
- package/dist/designer/data/systems/intercom/DESIGN.md +149 -0
- package/dist/designer/data/systems/intercom/components.html +557 -0
- package/dist/designer/data/systems/intercom/tokens.css +150 -0
- package/dist/designer/data/systems/kami/DESIGN.md +410 -0
- package/dist/designer/data/systems/kami/components.html +601 -0
- package/dist/designer/data/systems/kami/tokens.css +272 -0
- package/dist/designer/data/systems/kraken/DESIGN.md +128 -0
- package/dist/designer/data/systems/kraken/components.html +342 -0
- package/dist/designer/data/systems/kraken/tokens.css +64 -0
- package/dist/designer/data/systems/lamborghini/DESIGN.md +291 -0
- package/dist/designer/data/systems/lamborghini/components.html +342 -0
- package/dist/designer/data/systems/lamborghini/tokens.css +64 -0
- package/dist/designer/data/systems/levels/DESIGN.md +71 -0
- package/dist/designer/data/systems/levels/components.html +154 -0
- package/dist/designer/data/systems/levels/tokens.css +63 -0
- package/dist/designer/data/systems/linear-app/DESIGN.md +370 -0
- package/dist/designer/data/systems/linear-app/components.html +370 -0
- package/dist/designer/data/systems/linear-app/tokens.css +130 -0
- package/dist/designer/data/systems/lingo/DESIGN.md +71 -0
- package/dist/designer/data/systems/lingo/components.html +154 -0
- package/dist/designer/data/systems/lingo/tokens.css +63 -0
- package/dist/designer/data/systems/loom/DESIGN.md +201 -0
- package/dist/designer/data/systems/loom/components.html +446 -0
- package/dist/designer/data/systems/loom/tokens.css +138 -0
- package/dist/designer/data/systems/lovable/DESIGN.md +301 -0
- package/dist/designer/data/systems/lovable/components.html +441 -0
- package/dist/designer/data/systems/lovable/tokens.css +258 -0
- package/dist/designer/data/systems/luxury/DESIGN.md +71 -0
- package/dist/designer/data/systems/luxury/components.html +154 -0
- package/dist/designer/data/systems/luxury/tokens.css +63 -0
- package/dist/designer/data/systems/mastercard/DESIGN.md +368 -0
- package/dist/designer/data/systems/mastercard/components.html +342 -0
- package/dist/designer/data/systems/mastercard/tokens.css +64 -0
- package/dist/designer/data/systems/material/DESIGN.md +71 -0
- package/dist/designer/data/systems/material/components.html +154 -0
- package/dist/designer/data/systems/material/tokens.css +63 -0
- package/dist/designer/data/systems/meta/DESIGN.md +369 -0
- package/dist/designer/data/systems/meta/components.html +398 -0
- package/dist/designer/data/systems/meta/tokens.css +263 -0
- package/dist/designer/data/systems/minimal/DESIGN.md +71 -0
- package/dist/designer/data/systems/minimal/components.html +154 -0
- package/dist/designer/data/systems/minimal/tokens.css +63 -0
- package/dist/designer/data/systems/minimax/DESIGN.md +260 -0
- package/dist/designer/data/systems/minimax/components.html +590 -0
- package/dist/designer/data/systems/minimax/tokens.css +148 -0
- package/dist/designer/data/systems/mintlify/DESIGN.md +329 -0
- package/dist/designer/data/systems/mintlify/components.html +737 -0
- package/dist/designer/data/systems/mintlify/tokens.css +256 -0
- package/dist/designer/data/systems/miro/DESIGN.md +111 -0
- package/dist/designer/data/systems/miro/components.html +342 -0
- package/dist/designer/data/systems/miro/tokens.css +64 -0
- package/dist/designer/data/systems/mission-control/DESIGN.md +474 -0
- package/dist/designer/data/systems/mission-control/components.html +136 -0
- package/dist/designer/data/systems/mission-control/tokens.css +63 -0
- package/dist/designer/data/systems/mistral-ai/DESIGN.md +264 -0
- package/dist/designer/data/systems/mistral-ai/components.html +338 -0
- package/dist/designer/data/systems/mistral-ai/tokens.css +125 -0
- package/dist/designer/data/systems/modern/DESIGN.md +71 -0
- package/dist/designer/data/systems/modern/components.html +154 -0
- package/dist/designer/data/systems/modern/tokens.css +63 -0
- package/dist/designer/data/systems/mongodb/DESIGN.md +269 -0
- package/dist/designer/data/systems/mongodb/components.html +462 -0
- package/dist/designer/data/systems/mongodb/tokens.css +176 -0
- package/dist/designer/data/systems/mono/DESIGN.md +71 -0
- package/dist/designer/data/systems/mono/components.html +136 -0
- package/dist/designer/data/systems/mono/tokens.css +63 -0
- package/dist/designer/data/systems/neobrutalism/DESIGN.md +71 -0
- package/dist/designer/data/systems/neobrutalism/components.html +136 -0
- package/dist/designer/data/systems/neobrutalism/tokens.css +63 -0
- package/dist/designer/data/systems/neon/DESIGN.md +71 -0
- package/dist/designer/data/systems/neon/components.html +136 -0
- package/dist/designer/data/systems/neon/tokens.css +63 -0
- package/dist/designer/data/systems/neumorphism/DESIGN.md +71 -0
- package/dist/designer/data/systems/neumorphism/components.html +136 -0
- package/dist/designer/data/systems/neumorphism/tokens.css +63 -0
- package/dist/designer/data/systems/nike/DESIGN.md +366 -0
- package/dist/designer/data/systems/nike/components.html +512 -0
- package/dist/designer/data/systems/nike/tokens.css +304 -0
- package/dist/designer/data/systems/notion/DESIGN.md +312 -0
- package/dist/designer/data/systems/notion/components.html +413 -0
- package/dist/designer/data/systems/notion/tokens.css +130 -0
- package/dist/designer/data/systems/nvidia/DESIGN.md +296 -0
- package/dist/designer/data/systems/nvidia/components.html +414 -0
- package/dist/designer/data/systems/nvidia/tokens.css +133 -0
- package/dist/designer/data/systems/ollama/DESIGN.md +270 -0
- package/dist/designer/data/systems/ollama/components.html +700 -0
- package/dist/designer/data/systems/ollama/tokens.css +242 -0
- package/dist/designer/data/systems/openai/DESIGN.md +140 -0
- package/dist/designer/data/systems/openai/components.html +382 -0
- package/dist/designer/data/systems/openai/tokens.css +133 -0
- package/dist/designer/data/systems/opencode-ai/DESIGN.md +284 -0
- package/dist/designer/data/systems/opencode-ai/components.html +389 -0
- package/dist/designer/data/systems/opencode-ai/tokens.css +126 -0
- package/dist/designer/data/systems/pacman/DESIGN.md +71 -0
- package/dist/designer/data/systems/pacman/components.html +342 -0
- package/dist/designer/data/systems/pacman/tokens.css +64 -0
- package/dist/designer/data/systems/paper/DESIGN.md +71 -0
- package/dist/designer/data/systems/paper/components.html +136 -0
- package/dist/designer/data/systems/paper/tokens.css +63 -0
- package/dist/designer/data/systems/perplexity/DESIGN.md +286 -0
- package/dist/designer/data/systems/perplexity/components.html +455 -0
- package/dist/designer/data/systems/perplexity/tokens.css +151 -0
- package/dist/designer/data/systems/perspective/DESIGN.md +71 -0
- package/dist/designer/data/systems/perspective/components.html +136 -0
- package/dist/designer/data/systems/perspective/tokens.css +63 -0
- package/dist/designer/data/systems/pinterest/DESIGN.md +233 -0
- package/dist/designer/data/systems/pinterest/components.html +865 -0
- package/dist/designer/data/systems/pinterest/tokens.css +262 -0
- package/dist/designer/data/systems/playstation/DESIGN.md +367 -0
- package/dist/designer/data/systems/playstation/components.html +414 -0
- package/dist/designer/data/systems/playstation/tokens.css +150 -0
- package/dist/designer/data/systems/posthog/DESIGN.md +259 -0
- package/dist/designer/data/systems/posthog/components.html +827 -0
- package/dist/designer/data/systems/posthog/tokens.css +272 -0
- package/dist/designer/data/systems/premium/DESIGN.md +71 -0
- package/dist/designer/data/systems/premium/components.html +154 -0
- package/dist/designer/data/systems/premium/tokens.css +63 -0
- package/dist/designer/data/systems/professional/DESIGN.md +71 -0
- package/dist/designer/data/systems/professional/components.html +136 -0
- package/dist/designer/data/systems/professional/tokens.css +63 -0
- package/dist/designer/data/systems/publication/DESIGN.md +71 -0
- package/dist/designer/data/systems/publication/components.html +154 -0
- package/dist/designer/data/systems/publication/tokens.css +63 -0
- package/dist/designer/data/systems/raycast/DESIGN.md +271 -0
- package/dist/designer/data/systems/raycast/components.html +507 -0
- package/dist/designer/data/systems/raycast/tokens.css +143 -0
- package/dist/designer/data/systems/refined/DESIGN.md +71 -0
- package/dist/designer/data/systems/refined/components.html +136 -0
- package/dist/designer/data/systems/refined/tokens.css +63 -0
- package/dist/designer/data/systems/renault/DESIGN.md +314 -0
- package/dist/designer/data/systems/renault/components.html +154 -0
- package/dist/designer/data/systems/renault/tokens.css +63 -0
- package/dist/designer/data/systems/replicate/DESIGN.md +264 -0
- package/dist/designer/data/systems/replicate/components.html +340 -0
- package/dist/designer/data/systems/replicate/tokens.css +125 -0
- package/dist/designer/data/systems/resend/DESIGN.md +306 -0
- package/dist/designer/data/systems/resend/components.html +839 -0
- package/dist/designer/data/systems/resend/tokens.css +353 -0
- package/dist/designer/data/systems/retro/DESIGN.md +71 -0
- package/dist/designer/data/systems/retro/components.html +136 -0
- package/dist/designer/data/systems/retro/tokens.css +63 -0
- package/dist/designer/data/systems/revolut/DESIGN.md +188 -0
- package/dist/designer/data/systems/revolut/components.html +342 -0
- package/dist/designer/data/systems/revolut/tokens.css +64 -0
- package/dist/designer/data/systems/runwayml/DESIGN.md +247 -0
- package/dist/designer/data/systems/runwayml/components.html +638 -0
- package/dist/designer/data/systems/runwayml/tokens.css +204 -0
- package/dist/designer/data/systems/sanity/DESIGN.md +360 -0
- package/dist/designer/data/systems/sanity/components.html +342 -0
- package/dist/designer/data/systems/sanity/tokens.css +64 -0
- package/dist/designer/data/systems/sentry/DESIGN.md +265 -0
- package/dist/designer/data/systems/sentry/components.html +387 -0
- package/dist/designer/data/systems/sentry/tokens.css +219 -0
- package/dist/designer/data/systems/shadcn/DESIGN.md +71 -0
- package/dist/designer/data/systems/shadcn/components.html +732 -0
- package/dist/designer/data/systems/shadcn/tokens.css +255 -0
- package/dist/designer/data/systems/shopify/DESIGN.md +353 -0
- package/dist/designer/data/systems/shopify/components.html +342 -0
- package/dist/designer/data/systems/shopify/tokens.css +141 -0
- package/dist/designer/data/systems/simple/DESIGN.md +71 -0
- package/dist/designer/data/systems/simple/components.html +136 -0
- package/dist/designer/data/systems/simple/tokens.css +63 -0
- package/dist/designer/data/systems/skeumorphism/DESIGN.md +71 -0
- package/dist/designer/data/systems/skeumorphism/components.html +136 -0
- package/dist/designer/data/systems/skeumorphism/tokens.css +63 -0
- package/dist/designer/data/systems/slack/DESIGN.md +363 -0
- package/dist/designer/data/systems/slack/components.html +387 -0
- package/dist/designer/data/systems/slack/tokens.css +127 -0
- package/dist/designer/data/systems/sleek/DESIGN.md +71 -0
- package/dist/designer/data/systems/sleek/components.html +136 -0
- package/dist/designer/data/systems/sleek/tokens.css +63 -0
- package/dist/designer/data/systems/spacex/DESIGN.md +197 -0
- package/dist/designer/data/systems/spacex/components.html +496 -0
- package/dist/designer/data/systems/spacex/tokens.css +154 -0
- package/dist/designer/data/systems/spacious/DESIGN.md +71 -0
- package/dist/designer/data/systems/spacious/components.html +136 -0
- package/dist/designer/data/systems/spacious/tokens.css +63 -0
- package/dist/designer/data/systems/spotify/DESIGN.md +249 -0
- package/dist/designer/data/systems/spotify/components.html +365 -0
- package/dist/designer/data/systems/spotify/tokens.css +127 -0
- package/dist/designer/data/systems/starbucks/DESIGN.md +583 -0
- package/dist/designer/data/systems/starbucks/components.html +493 -0
- package/dist/designer/data/systems/starbucks/tokens.css +182 -0
- package/dist/designer/data/systems/storytelling/DESIGN.md +71 -0
- package/dist/designer/data/systems/storytelling/components.html +136 -0
- package/dist/designer/data/systems/storytelling/tokens.css +63 -0
- package/dist/designer/data/systems/stripe/DESIGN.md +325 -0
- package/dist/designer/data/systems/stripe/components.html +1018 -0
- package/dist/designer/data/systems/stripe/tokens.css +295 -0
- package/dist/designer/data/systems/supabase/DESIGN.md +258 -0
- package/dist/designer/data/systems/supabase/components.html +741 -0
- package/dist/designer/data/systems/supabase/tokens.css +294 -0
- package/dist/designer/data/systems/superhuman/DESIGN.md +255 -0
- package/dist/designer/data/systems/superhuman/components.html +537 -0
- package/dist/designer/data/systems/superhuman/tokens.css +160 -0
- package/dist/designer/data/systems/tesla/DESIGN.md +289 -0
- package/dist/designer/data/systems/tesla/components.html +724 -0
- package/dist/designer/data/systems/tesla/tokens.css +285 -0
- package/dist/designer/data/systems/tetris/DESIGN.md +71 -0
- package/dist/designer/data/systems/tetris/components.html +342 -0
- package/dist/designer/data/systems/tetris/tokens.css +64 -0
- package/dist/designer/data/systems/theverge/DESIGN.md +342 -0
- package/dist/designer/data/systems/theverge/components.html +342 -0
- package/dist/designer/data/systems/theverge/tokens.css +64 -0
- package/dist/designer/data/systems/together-ai/DESIGN.md +266 -0
- package/dist/designer/data/systems/together-ai/components.html +422 -0
- package/dist/designer/data/systems/together-ai/tokens.css +127 -0
- package/dist/designer/data/systems/totality-festival/DESIGN.md +206 -0
- package/dist/designer/data/systems/totality-festival/components.html +136 -0
- package/dist/designer/data/systems/totality-festival/tokens.css +63 -0
- package/dist/designer/data/systems/trading-terminal/DESIGN.md +178 -0
- package/dist/designer/data/systems/trading-terminal/components.html +154 -0
- package/dist/designer/data/systems/trading-terminal/tokens.css +63 -0
- package/dist/designer/data/systems/uber/DESIGN.md +298 -0
- package/dist/designer/data/systems/uber/components.html +347 -0
- package/dist/designer/data/systems/uber/tokens.css +131 -0
- package/dist/designer/data/systems/urdu/DESIGN.md +1002 -0
- package/dist/designer/data/systems/urdu/components.html +136 -0
- package/dist/designer/data/systems/urdu/tokens.css +63 -0
- package/dist/designer/data/systems/vercel/DESIGN.md +313 -0
- package/dist/designer/data/systems/vercel/components.html +839 -0
- package/dist/designer/data/systems/vercel/tokens.css +270 -0
- package/dist/designer/data/systems/vibrant/DESIGN.md +71 -0
- package/dist/designer/data/systems/vibrant/components.html +136 -0
- package/dist/designer/data/systems/vibrant/tokens.css +63 -0
- package/dist/designer/data/systems/vintage/DESIGN.md +71 -0
- package/dist/designer/data/systems/vintage/components.html +136 -0
- package/dist/designer/data/systems/vintage/tokens.css +63 -0
- package/dist/designer/data/systems/vodafone/DESIGN.md +426 -0
- package/dist/designer/data/systems/vodafone/components.html +342 -0
- package/dist/designer/data/systems/vodafone/tokens.css +64 -0
- package/dist/designer/data/systems/voltagent/DESIGN.md +326 -0
- package/dist/designer/data/systems/voltagent/components.html +154 -0
- package/dist/designer/data/systems/voltagent/tokens.css +63 -0
- package/dist/designer/data/systems/warm-editorial/DESIGN.md +65 -0
- package/dist/designer/data/systems/warm-editorial/components.html +136 -0
- package/dist/designer/data/systems/warm-editorial/tokens.css +63 -0
- package/dist/designer/data/systems/warp/DESIGN.md +256 -0
- package/dist/designer/data/systems/warp/components.html +411 -0
- package/dist/designer/data/systems/warp/tokens.css +156 -0
- package/dist/designer/data/systems/webex/DESIGN.md +207 -0
- package/dist/designer/data/systems/webex/components.html +342 -0
- package/dist/designer/data/systems/webex/tokens.css +64 -0
- package/dist/designer/data/systems/webflow/DESIGN.md +95 -0
- package/dist/designer/data/systems/webflow/components.html +413 -0
- package/dist/designer/data/systems/webflow/tokens.css +191 -0
- package/dist/designer/data/systems/wechat/DESIGN.md +302 -0
- package/dist/designer/data/systems/wechat/components.html +507 -0
- package/dist/designer/data/systems/wechat/tokens.css +176 -0
- package/dist/designer/data/systems/wired/DESIGN.md +281 -0
- package/dist/designer/data/systems/wired/components.html +342 -0
- package/dist/designer/data/systems/wired/tokens.css +64 -0
- package/dist/designer/data/systems/wise/DESIGN.md +176 -0
- package/dist/designer/data/systems/wise/components.html +365 -0
- package/dist/designer/data/systems/wise/tokens.css +141 -0
- package/dist/designer/data/systems/x-ai/DESIGN.md +260 -0
- package/dist/designer/data/systems/x-ai/components.html +460 -0
- package/dist/designer/data/systems/x-ai/tokens.css +268 -0
- package/dist/designer/data/systems/xiaohongshu/DESIGN.md +402 -0
- package/dist/designer/data/systems/xiaohongshu/components.html +865 -0
- package/dist/designer/data/systems/xiaohongshu/tokens.css +193 -0
- package/dist/designer/data/systems/zapier/DESIGN.md +331 -0
- package/dist/designer/data/systems/zapier/components.html +342 -0
- package/dist/designer/data/systems/zapier/tokens.css +64 -0
- package/dist/designer/guidelines.js +176 -0
- package/dist/designer/index.js +236 -0
- package/dist/designer/skills.js +1675 -0
- package/dist/designer/systems.js +216 -0
- package/dist/server/pi-bridge.js +155 -5
- package/dist/server/session-stream.js +45 -1
- package/package.json +1 -1
|
@@ -0,0 +1,268 @@
|
|
|
1
|
+
# Design System Inspired by ElevenLabs
|
|
2
|
+
|
|
3
|
+
> Category: AI & LLM
|
|
4
|
+
> AI voice platform. Dark cinematic UI, audio-waveform aesthetics.
|
|
5
|
+
|
|
6
|
+
## 1. Visual Theme & Atmosphere
|
|
7
|
+
|
|
8
|
+
ElevenLabs' website is a study in restrained elegance — a near-white canvas (`#ffffff`, `#f5f5f5`) where typography and subtle shadows do all the heavy lifting. The design feels like a premium audio product brochure: clean, spacious, and confident enough to let the content speak (literally, given ElevenLabs makes voice AI). There's an almost Apple-like quality to the whitespace strategy, but warmer — the occasional warm stone tint (`#f5f2ef`, `#777169`) prevents the purity from feeling clinical.
|
|
9
|
+
|
|
10
|
+
The typography system is built on a fascinating duality: Waldenburg at weight 300 (light) for display headings creates ethereal, whisper-thin titles that feel like sound waves rendered in type — delicate, precise, and surprisingly impactful at large sizes. This light-weight display approach is the design's signature — where most sites use bold headings to grab attention, ElevenLabs uses lightness to create intrigue. Inter handles all body and UI text with workmanlike reliability, using slight positive letter-spacing (0.14px–0.18px) that gives body text an airy, well-spaced quality. WaldenburgFH appears as a bold uppercase variant for specific button labels.
|
|
11
|
+
|
|
12
|
+
What makes ElevenLabs distinctive is its multi-layered shadow system. Rather than simple box-shadows, elements use complex stacks: inset border-shadows (`rgba(0,0,0,0.075) 0px 0px 0px 0.5px inset`), outline shadows (`rgba(0,0,0,0.06) 0px 0px 0px 1px`), and soft elevation shadows (`rgba(0,0,0,0.04) 0px 4px 4px`) — all at remarkably low opacities. The result is a design where surfaces seem to barely exist, floating just above the page with the lightest possible touch. Pill-shaped buttons (9999px) with warm-tinted backgrounds (`rgba(245,242,239,0.8)`) and warm shadows (`rgba(78,50,23,0.04)`) add a tactile, physical quality.
|
|
13
|
+
|
|
14
|
+
**Key Characteristics:**
|
|
15
|
+
- Near-white canvas with warm undertones (`#f5f5f5`, `#f5f2ef`)
|
|
16
|
+
- Waldenburg weight 300 (light) for display — ethereal, whisper-thin headings
|
|
17
|
+
- Inter with positive letter-spacing (0.14–0.18px) for body — airy readability
|
|
18
|
+
- Multi-layered shadow stacks at sub-0.1 opacity — surfaces barely exist
|
|
19
|
+
- Pill buttons (9999px) with warm stone-tinted backgrounds
|
|
20
|
+
- WaldenburgFH bold uppercase for specific CTA labels
|
|
21
|
+
- Warm shadow tints: `rgba(78, 50, 23, 0.04)` — shadows have color, not just darkness
|
|
22
|
+
- Geist Mono / ui-monospace for code snippets
|
|
23
|
+
|
|
24
|
+
## 2. Color Palette & Roles
|
|
25
|
+
|
|
26
|
+
### Primary
|
|
27
|
+
- **Pure White** (`#ffffff`): Primary background, card surfaces, button backgrounds
|
|
28
|
+
- **Light Gray** (`#f5f5f5`): Secondary surface, subtle section differentiation
|
|
29
|
+
- **Warm Stone** (`#f5f2ef`): Button background (at 80% opacity) — the warm signature
|
|
30
|
+
- **Black** (`#000000`): Primary text, headings, dark buttons
|
|
31
|
+
|
|
32
|
+
### Neutral Scale
|
|
33
|
+
- **Dark Gray** (`#4e4e4e`): Secondary text, descriptions
|
|
34
|
+
- **Warm Gray** (`#777169`): Tertiary text, muted links, decorative underlines
|
|
35
|
+
- **Near White** (`#f6f6f6`): Alternate light surface
|
|
36
|
+
|
|
37
|
+
### Interactive
|
|
38
|
+
- **Grid Cyan** (`#7fffff`): `--grid-column-bg`, at 25% opacity — decorative grid overlay
|
|
39
|
+
- **Ring Blue** (`rgb(147 197 253 / 0.5)`): `--tw-ring-color`, focus ring
|
|
40
|
+
- **Border Light** (`#e5e5e5`): Explicit borders
|
|
41
|
+
- **Border Subtle** (`rgba(0, 0, 0, 0.05)`): Ultra-subtle bottom borders
|
|
42
|
+
|
|
43
|
+
### Shadows
|
|
44
|
+
- **Inset Border** (`rgba(0,0,0,0.075) 0px 0px 0px 0.5px inset`): Internal edge definition
|
|
45
|
+
- **Inset Dark** (`rgba(0,0,0,0.1) 0px 0px 0px 0.5px inset`): Stronger inset variant
|
|
46
|
+
- **Outline Ring** (`rgba(0,0,0,0.06) 0px 0px 0px 1px`): Shadow-as-border
|
|
47
|
+
- **Soft Elevation** (`rgba(0,0,0,0.04) 0px 4px 4px`): Gentle lift
|
|
48
|
+
- **Card Shadow** (`rgba(0,0,0,0.4) 0px 0px 1px, rgba(0,0,0,0.04) 0px 4px 4px`): Button/card elevation
|
|
49
|
+
- **Warm Shadow** (`rgba(78,50,23,0.04) 0px 6px 16px`): Warm-tinted button shadow
|
|
50
|
+
- **Edge Shadow** (`rgba(0,0,0,0.08) 0px 0px 0px 0.5px`): Subtle edge definition
|
|
51
|
+
- **Inset Ring** (`rgba(0,0,0,0.1) 0px 0px 0px 1px inset`): Strong inset border
|
|
52
|
+
|
|
53
|
+
## 3. Typography Rules
|
|
54
|
+
|
|
55
|
+
### Font Families
|
|
56
|
+
- **Display**: `Waldenburg`, fallback: `Waldenburg Fallback`
|
|
57
|
+
- **Display Bold**: `WaldenburgFH`, fallback: `WaldenburgFH Fallback`
|
|
58
|
+
- **Body / UI**: `Inter`, fallback: `Inter Fallback`
|
|
59
|
+
- **Monospace**: `Geist Mono` or `ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas`
|
|
60
|
+
|
|
61
|
+
### Hierarchy
|
|
62
|
+
|
|
63
|
+
| Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |
|
|
64
|
+
|------|------|------|--------|-------------|----------------|-------|
|
|
65
|
+
| Display Hero | Waldenburg | 48px (3.00rem) | 300 | 1.08 (tight) | -0.96px | Whisper-thin, ethereal |
|
|
66
|
+
| Section Heading | Waldenburg | 36px (2.25rem) | 300 | 1.17 (tight) | normal | Light display |
|
|
67
|
+
| Card Heading | Waldenburg | 32px (2.00rem) | 300 | 1.13 (tight) | normal | Light card titles |
|
|
68
|
+
| Body Large | Inter | 20px (1.25rem) | 400 | 1.35 | normal | Introductions |
|
|
69
|
+
| Body | Inter | 18px (1.13rem) | 400 | 1.44–1.60 | 0.18px | Standard reading text |
|
|
70
|
+
| Body Standard | Inter | 16px (1.00rem) | 400 | 1.50 | 0.16px | UI text |
|
|
71
|
+
| Body Medium | Inter | 16px (1.00rem) | 500 | 1.50 | 0.16px | Emphasized body |
|
|
72
|
+
| Nav / UI | Inter | 15px (0.94rem) | 500 | 1.33–1.47 | 0.15px | Navigation links |
|
|
73
|
+
| Button | Inter | 15px (0.94rem) | 500 | 1.47 | normal | Button labels |
|
|
74
|
+
| Button Uppercase | WaldenburgFH | 14px (0.88rem) | 700 | 1.10 (tight) | 0.7px | `text-transform: uppercase` |
|
|
75
|
+
| Caption | Inter | 14px (0.88rem) | 400–500 | 1.43–1.50 | 0.14px | Metadata |
|
|
76
|
+
| Small | Inter | 13px (0.81rem) | 500 | 1.38 | normal | Tags, badges |
|
|
77
|
+
| Code | Geist Mono | 13px (0.81rem) | 400 | 1.85 (relaxed) | normal | Code blocks |
|
|
78
|
+
| Micro | Inter | 12px (0.75rem) | 500 | 1.33 | normal | Tiny labels |
|
|
79
|
+
| Tiny | Inter | 10px (0.63rem) | 400 | 1.60 (relaxed) | normal | Fine print |
|
|
80
|
+
|
|
81
|
+
### Principles
|
|
82
|
+
- **Light as the hero weight**: Waldenburg at 300 is the defining typographic choice. Where other design systems use bold for impact, ElevenLabs uses lightness — thin strokes that feel like audio waveforms, creating intrigue through restraint.
|
|
83
|
+
- **Positive letter-spacing on body**: Inter uses +0.14px to +0.18px tracking across body text, creating an airy, well-spaced reading rhythm that contrasts with the tight display tracking (-0.96px).
|
|
84
|
+
- **WaldenburgFH for emphasis**: A bold (700) uppercase variant of Waldenburg appears only in specific CTA button labels with 0.7px letter-spacing — the one place where the type system gets loud.
|
|
85
|
+
- **Monospace as ambient**: Geist Mono at relaxed line-height (1.85) for code blocks feels unhurried and readable.
|
|
86
|
+
|
|
87
|
+
## 4. Component Stylings
|
|
88
|
+
|
|
89
|
+
### Buttons
|
|
90
|
+
|
|
91
|
+
**Primary Black Pill**
|
|
92
|
+
- Background: `#000000`
|
|
93
|
+
- Text: `#ffffff`
|
|
94
|
+
- Padding: 0px 14px
|
|
95
|
+
- Radius: 9999px (full pill)
|
|
96
|
+
- Use: Primary CTA
|
|
97
|
+
|
|
98
|
+
**White Pill (Shadow-bordered)**
|
|
99
|
+
- Background: `#ffffff`
|
|
100
|
+
- Text: `#000000`
|
|
101
|
+
- Radius: 9999px
|
|
102
|
+
- Shadow: `rgba(0,0,0,0.4) 0px 0px 1px, rgba(0,0,0,0.04) 0px 4px 4px`
|
|
103
|
+
- Use: Secondary CTA on white
|
|
104
|
+
|
|
105
|
+
**Warm Stone Pill**
|
|
106
|
+
- Background: `rgba(245, 242, 239, 0.8)` (warm translucent)
|
|
107
|
+
- Text: `#000000`
|
|
108
|
+
- Padding: 12px 20px 12px 14px (asymmetric)
|
|
109
|
+
- Radius: 30px
|
|
110
|
+
- Shadow: `rgba(78, 50, 23, 0.04) 0px 6px 16px` (warm-tinted)
|
|
111
|
+
- Use: Featured CTA, hero action — the signature warm button
|
|
112
|
+
|
|
113
|
+
**Uppercase Waldenburg Button**
|
|
114
|
+
- Font: WaldenburgFH 14px weight 700
|
|
115
|
+
- Text-transform: uppercase
|
|
116
|
+
- Letter-spacing: 0.7px
|
|
117
|
+
- Use: Specific bold CTA labels
|
|
118
|
+
|
|
119
|
+
### Cards & Containers
|
|
120
|
+
- Background: `#ffffff`
|
|
121
|
+
- Border: `1px solid #e5e5e5` or shadow-as-border
|
|
122
|
+
- Radius: 16px–24px
|
|
123
|
+
- Shadow: multi-layer stack (inset + outline + elevation)
|
|
124
|
+
- Content: product screenshots, code examples, audio waveform previews
|
|
125
|
+
|
|
126
|
+
### Inputs & Forms
|
|
127
|
+
- Textarea: padding 12px 20px, transparent text at default
|
|
128
|
+
- Select: white background, standard styling
|
|
129
|
+
- Radio: standard with tw-ring focus
|
|
130
|
+
- Focus: `var(--tw-ring-offset-shadow)` ring system
|
|
131
|
+
|
|
132
|
+
### Navigation
|
|
133
|
+
- Clean white sticky header
|
|
134
|
+
- Inter 15px weight 500 for nav links
|
|
135
|
+
- Pill CTAs right-aligned (black primary, white secondary)
|
|
136
|
+
- Mobile: hamburger collapse at 1024px
|
|
137
|
+
|
|
138
|
+
### Image Treatment
|
|
139
|
+
- Product screenshots and audio waveform visualizations
|
|
140
|
+
- Warm gradient backgrounds in feature sections
|
|
141
|
+
- 20px–24px radius on image containers
|
|
142
|
+
- Full-width sections alternating white and light gray
|
|
143
|
+
|
|
144
|
+
### Distinctive Components
|
|
145
|
+
|
|
146
|
+
**Audio Waveform Sections**
|
|
147
|
+
- Colorful gradient backgrounds showcasing voice AI capabilities
|
|
148
|
+
- Warm amber, blue, and green gradients behind product demos
|
|
149
|
+
- Screenshots of the ElevenLabs product interface
|
|
150
|
+
|
|
151
|
+
**Warm Stone CTA Block**
|
|
152
|
+
- `rgba(245,242,239,0.8)` background with warm shadow
|
|
153
|
+
- Asymmetric padding (more right padding)
|
|
154
|
+
- Creates a physical, tactile quality unique to ElevenLabs
|
|
155
|
+
|
|
156
|
+
## 5. Layout Principles
|
|
157
|
+
|
|
158
|
+
### Spacing System
|
|
159
|
+
- Base unit: 8px
|
|
160
|
+
- Scale: 1px, 3px, 4px, 8px, 9px, 10px, 11px, 12px, 16px, 18px, 20px, 24px, 28px, 32px, 40px
|
|
161
|
+
|
|
162
|
+
### Grid & Container
|
|
163
|
+
- Centered content with generous max-width
|
|
164
|
+
- Single-column hero, expanding to feature grids
|
|
165
|
+
- Full-width gradient sections for product showcases
|
|
166
|
+
- White card grids on light gray backgrounds
|
|
167
|
+
|
|
168
|
+
### Whitespace Philosophy
|
|
169
|
+
- **Apple-like generosity**: Massive vertical spacing between sections creates a premium, unhurried pace. Each section is an exhibit.
|
|
170
|
+
- **Warm emptiness**: The whitespace isn't cold — the warm stone undertones and warm shadows give empty space a tactile, physical quality.
|
|
171
|
+
- **Typography-led rhythm**: The light-weight Waldenburg headings create visual "whispers" that draw the eye through vast white space.
|
|
172
|
+
|
|
173
|
+
### Border Radius Scale
|
|
174
|
+
- Minimal (2px): Small links, inline elements
|
|
175
|
+
- Subtle (4px): Nav items, tab panels, tags
|
|
176
|
+
- Standard (8px): Small containers
|
|
177
|
+
- Comfortable (10px–12px): Medium cards, dropdowns
|
|
178
|
+
- Card (16px): Standard cards, articles
|
|
179
|
+
- Large (18px–20px): Featured cards, code panels
|
|
180
|
+
- Section (24px): Large panels, section containers
|
|
181
|
+
- Warm Button (30px): Warm stone CTA
|
|
182
|
+
- Pill (9999px): Primary buttons, navigation pills
|
|
183
|
+
|
|
184
|
+
## 6. Depth & Elevation
|
|
185
|
+
|
|
186
|
+
| Level | Treatment | Use |
|
|
187
|
+
|-------|-----------|-----|
|
|
188
|
+
| Flat (Level 0) | No shadow | Page background, text blocks |
|
|
189
|
+
| Inset Edge (Level 0.5) | `rgba(0,0,0,0.075) 0px 0px 0px 0.5px inset, #fff 0px 0px 0px 0px inset` | Internal border definition |
|
|
190
|
+
| Outline Ring (Level 1) | `rgba(0,0,0,0.06) 0px 0px 0px 1px` + `rgba(0,0,0,0.04) 0px 1px 2px` + `rgba(0,0,0,0.04) 0px 2px 4px` | Shadow-as-border for cards |
|
|
191
|
+
| Card (Level 2) | `rgba(0,0,0,0.4) 0px 0px 1px, rgba(0,0,0,0.04) 0px 4px 4px` | Button elevation, prominent cards |
|
|
192
|
+
| Warm Lift (Level 3) | `rgba(78,50,23,0.04) 0px 6px 16px` | Featured CTAs — warm-tinted |
|
|
193
|
+
| Focus (Accessibility) | `var(--tw-ring-offset-shadow)` blue ring | Keyboard focus |
|
|
194
|
+
|
|
195
|
+
**Shadow Philosophy**: ElevenLabs uses the most refined shadow system of any design system analyzed. Every shadow is at sub-0.1 opacity, many include both outward cast AND inward inset components, and the warm CTA shadows use an actual warm color (`rgba(78,50,23,...)`) rather than neutral black. The inset half-pixel borders (`0px 0px 0px 0.5px inset`) create edges so subtle they're felt rather than seen — surfaces define themselves through the lightest possible touch.
|
|
196
|
+
|
|
197
|
+
## 7. Do's and Don'ts
|
|
198
|
+
|
|
199
|
+
### Do
|
|
200
|
+
- Use Waldenburg weight 300 for all display headings — the lightness IS the brand
|
|
201
|
+
- Apply multi-layer shadows (inset + outline + elevation) at sub-0.1 opacity
|
|
202
|
+
- Use warm stone tints (`#f5f2ef`, `rgba(245,242,239,0.8)`) for featured elements
|
|
203
|
+
- Apply positive letter-spacing (+0.14px to +0.18px) on Inter body text
|
|
204
|
+
- Use 9999px radius for primary buttons — pill shape is standard
|
|
205
|
+
- Use warm-tinted shadows (`rgba(78,50,23,0.04)`) on featured CTAs
|
|
206
|
+
- Keep the page predominantly white with subtle gray section differentiation
|
|
207
|
+
- Use WaldenburgFH bold uppercase ONLY for specific CTA button labels
|
|
208
|
+
|
|
209
|
+
### Don't
|
|
210
|
+
- Don't use bold (700) Waldenburg for headings — weight 300 is non-negotiable
|
|
211
|
+
- Don't use heavy shadows (>0.1 opacity) — the ethereal quality requires whisper-level depth
|
|
212
|
+
- Don't use cool gray borders — the system is warm-tinted throughout
|
|
213
|
+
- Don't skip the inset shadow component — half-pixel inset borders define edges
|
|
214
|
+
- Don't apply negative letter-spacing to body text — Inter uses positive tracking
|
|
215
|
+
- Don't use sharp corners (<8px) on cards — the generous radius is structural
|
|
216
|
+
- Don't introduce brand colors — the palette is intentionally achromatic with warm undertones
|
|
217
|
+
- Don't make buttons opaque and heavy — the warm translucent stone treatment is the signature
|
|
218
|
+
|
|
219
|
+
## 8. Responsive Behavior
|
|
220
|
+
|
|
221
|
+
### Breakpoints
|
|
222
|
+
| Name | Width | Key Changes |
|
|
223
|
+
|------|-------|-------------|
|
|
224
|
+
| Mobile | <1024px | Single column, hamburger nav, stacked sections |
|
|
225
|
+
| Desktop | >1024px | Full layout, horizontal nav, multi-column grids |
|
|
226
|
+
|
|
227
|
+
### Touch Targets
|
|
228
|
+
- Pill buttons with generous padding (12px–20px)
|
|
229
|
+
- Navigation links at 15px with adequate spacing
|
|
230
|
+
- Select dropdowns maintain comfortable sizing
|
|
231
|
+
|
|
232
|
+
### Collapsing Strategy
|
|
233
|
+
- Navigation: horizontal → hamburger at 1024px
|
|
234
|
+
- Feature grids: multi-column → stacked
|
|
235
|
+
- Hero: maintains centered layout, font scales proportionally
|
|
236
|
+
- Gradient sections: full-width maintained, content stacks
|
|
237
|
+
- Spacing compresses proportionally
|
|
238
|
+
|
|
239
|
+
### Image Behavior
|
|
240
|
+
- Product screenshots scale responsively
|
|
241
|
+
- Gradient backgrounds simplify on mobile
|
|
242
|
+
- Audio waveform previews maintain aspect ratio
|
|
243
|
+
- Rounded corners maintained across breakpoints
|
|
244
|
+
|
|
245
|
+
## 9. Agent Prompt Guide
|
|
246
|
+
|
|
247
|
+
### Quick Color Reference
|
|
248
|
+
- Background: Pure White (`#ffffff`) or Light Gray (`#f5f5f5`)
|
|
249
|
+
- Text: Black (`#000000`)
|
|
250
|
+
- Secondary text: Dark Gray (`#4e4e4e`)
|
|
251
|
+
- Muted text: Warm Gray (`#777169`)
|
|
252
|
+
- Warm surface: Warm Stone (`rgba(245, 242, 239, 0.8)`)
|
|
253
|
+
- Border: `#e5e5e5` or `rgba(0,0,0,0.05)`
|
|
254
|
+
|
|
255
|
+
### Example Component Prompts
|
|
256
|
+
- "Create a hero on white background. Headline at 48px Waldenburg weight 300, line-height 1.08, letter-spacing -0.96px, black text. Subtitle at 18px Inter weight 400, line-height 1.60, letter-spacing 0.18px, #4e4e4e text. Two pill buttons: black (9999px, 0px 14px padding) and warm stone (rgba(245,242,239,0.8), 30px radius, 12px 20px padding, warm shadow rgba(78,50,23,0.04) 0px 6px 16px)."
|
|
257
|
+
- "Design a card: white background, 20px radius. Shadow: rgba(0,0,0,0.06) 0px 0px 0px 1px, rgba(0,0,0,0.04) 0px 1px 2px, rgba(0,0,0,0.04) 0px 2px 4px. Title at 32px Waldenburg weight 300, body at 16px Inter weight 400 letter-spacing 0.16px, #4e4e4e."
|
|
258
|
+
- "Build a white pill button: white bg, 9999px radius. Shadow: rgba(0,0,0,0.4) 0px 0px 1px, rgba(0,0,0,0.04) 0px 4px 4px. Text at 15px Inter weight 500."
|
|
259
|
+
- "Create an uppercase CTA label: 14px WaldenburgFH weight 700, text-transform uppercase, letter-spacing 0.7px."
|
|
260
|
+
- "Design navigation: white sticky header. Inter 15px weight 500. Black pill CTA right-aligned. Border-bottom: rgba(0,0,0,0.05)."
|
|
261
|
+
|
|
262
|
+
### Iteration Guide
|
|
263
|
+
1. Start with white — the warm undertone comes from shadows and stone surfaces, not backgrounds
|
|
264
|
+
2. Waldenburg 300 for headings — never bold, the lightness is the identity
|
|
265
|
+
3. Multi-layer shadows: always include inset + outline + elevation at sub-0.1 opacity
|
|
266
|
+
4. Positive letter-spacing on Inter body (+0.14px to +0.18px) — the airy reading quality
|
|
267
|
+
5. Warm stone CTA is the signature — `rgba(245,242,239,0.8)` with `rgba(78,50,23,0.04)` shadow
|
|
268
|
+
6. Pill (9999px) for buttons, generous radius (16px–24px) for cards
|
|
@@ -0,0 +1,342 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="utf-8" />
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
6
|
+
<title>ElevenLabs — reference components</title>
|
|
7
|
+
<meta
|
|
8
|
+
name="description"
|
|
9
|
+
content="Reference fixture for design-systems/elevenlabs. Achromatic premium:
|
|
10
|
+
Waldenburg weight 300 headings, warm stone surfaces, multi-layer whisper shadows."
|
|
11
|
+
/>
|
|
12
|
+
|
|
13
|
+
<style>
|
|
14
|
+
:root {
|
|
15
|
+
--bg: #ffffff;
|
|
16
|
+
--surface: #f5f5f5;
|
|
17
|
+
--surface-warm: #f5f2ef;
|
|
18
|
+
|
|
19
|
+
--fg: #000000;
|
|
20
|
+
--fg-2: #4e4e4e;
|
|
21
|
+
--muted: #777169;
|
|
22
|
+
--meta: var(--muted);
|
|
23
|
+
|
|
24
|
+
--border: #e5e5e5;
|
|
25
|
+
--border-soft: rgba(0, 0, 0, 0.05);
|
|
26
|
+
|
|
27
|
+
--accent: #000000;
|
|
28
|
+
--accent-on: #ffffff;
|
|
29
|
+
--accent-hover: #1a1a1a;
|
|
30
|
+
--accent-active: #333333;
|
|
31
|
+
|
|
32
|
+
--success: #16a34a;
|
|
33
|
+
--warn: #eab308;
|
|
34
|
+
--danger: #dc2626;
|
|
35
|
+
|
|
36
|
+
--font-display: "Waldenburg", "Waldenburg Fallback", system-ui, sans-serif;
|
|
37
|
+
--font-body: "Inter", "Inter Fallback", system-ui, -apple-system, sans-serif;
|
|
38
|
+
--font-mono: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
|
|
39
|
+
|
|
40
|
+
--text-xs: 12px;
|
|
41
|
+
--text-sm: 13px;
|
|
42
|
+
--text-base: 16px;
|
|
43
|
+
--text-lg: 20px;
|
|
44
|
+
--text-xl: 24px;
|
|
45
|
+
--text-2xl: 32px;
|
|
46
|
+
--text-3xl: 36px;
|
|
47
|
+
--text-4xl: 48px;
|
|
48
|
+
|
|
49
|
+
--leading-body: 1.5;
|
|
50
|
+
--leading-tight: 1.08;
|
|
51
|
+
--tracking-display: -0.02em;
|
|
52
|
+
|
|
53
|
+
--space-1: 4px;
|
|
54
|
+
--space-2: 8px;
|
|
55
|
+
--space-3: 12px;
|
|
56
|
+
--space-4: 16px;
|
|
57
|
+
--space-5: 20px;
|
|
58
|
+
--space-6: 24px;
|
|
59
|
+
--space-8: 32px;
|
|
60
|
+
--space-12: 48px;
|
|
61
|
+
|
|
62
|
+
--section-y-desktop: 96px;
|
|
63
|
+
--section-y-tablet: 64px;
|
|
64
|
+
--section-y-phone: 48px;
|
|
65
|
+
|
|
66
|
+
--radius-sm: 8px;
|
|
67
|
+
--radius-md: 16px;
|
|
68
|
+
--radius-lg: 24px;
|
|
69
|
+
--radius-pill: 9999px;
|
|
70
|
+
|
|
71
|
+
--elev-flat: none;
|
|
72
|
+
--elev-ring: rgba(0, 0, 0, 0.06) 0px 0px 0px 1px, rgba(0, 0, 0, 0.04) 0px 1px 2px, rgba(0, 0, 0, 0.04) 0px 2px 4px;
|
|
73
|
+
--elev-raised: rgba(0, 0, 0, 0.4) 0px 0px 1px, rgba(0, 0, 0, 0.04) 0px 4px 4px;
|
|
74
|
+
|
|
75
|
+
--focus-ring: 0 0 0 3px rgba(147, 197, 253, 0.5);
|
|
76
|
+
|
|
77
|
+
--motion-fast: 150ms;
|
|
78
|
+
--motion-base: 200ms;
|
|
79
|
+
--ease-standard: cubic-bezier(0.2, 0, 0, 1);
|
|
80
|
+
|
|
81
|
+
--container-max: 1200px;
|
|
82
|
+
--container-gutter-desktop: 24px;
|
|
83
|
+
--container-gutter-tablet: 16px;
|
|
84
|
+
--container-gutter-phone: 12px;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
/* ─── Reset ─────────────────────────────────────────────── */
|
|
88
|
+
*, *::before, *::after { box-sizing: border-box; }
|
|
89
|
+
html, body { margin: 0; padding: 0; }
|
|
90
|
+
body {
|
|
91
|
+
background: var(--bg);
|
|
92
|
+
color: var(--fg);
|
|
93
|
+
font-family: var(--font-body);
|
|
94
|
+
font-size: var(--text-base);
|
|
95
|
+
line-height: var(--leading-body);
|
|
96
|
+
letter-spacing: 0.16px; /* Inter positive tracking — airy reading */
|
|
97
|
+
-webkit-font-smoothing: antialiased;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
/* ─── Layout ─────────────────────────────────────────────── */
|
|
101
|
+
.container { max-width: var(--container-max); margin-inline: auto; padding-inline: var(--container-gutter-desktop); }
|
|
102
|
+
section { padding-block: var(--section-y-desktop); }
|
|
103
|
+
section + section { border-top: 1px solid var(--border); }
|
|
104
|
+
@media (max-width: 1023px) {
|
|
105
|
+
.container { padding-inline: var(--container-gutter-tablet); }
|
|
106
|
+
section { padding-block: var(--section-y-tablet); }
|
|
107
|
+
}
|
|
108
|
+
@media (max-width: 639px) {
|
|
109
|
+
.container { padding-inline: var(--container-gutter-phone); }
|
|
110
|
+
section { padding-block: var(--section-y-phone); }
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
/* ─── Typography — Waldenburg weight 300 — the brand ────── */
|
|
114
|
+
h1, h2, h3 {
|
|
115
|
+
font-family: var(--font-display);
|
|
116
|
+
font-weight: 300; /* Light IS the brand — never bold */
|
|
117
|
+
line-height: var(--leading-tight);
|
|
118
|
+
margin: 0;
|
|
119
|
+
letter-spacing: var(--tracking-display);
|
|
120
|
+
}
|
|
121
|
+
h1 { font-size: var(--text-4xl); }
|
|
122
|
+
h2 { font-size: var(--text-2xl); }
|
|
123
|
+
h3 { font-size: var(--text-xl); }
|
|
124
|
+
p { margin: 0; }
|
|
125
|
+
.lead { font-size: var(--text-lg); color: var(--fg-2); line-height: var(--leading-body); letter-spacing: 0.18px; }
|
|
126
|
+
.body-muted { color: var(--fg-2); }
|
|
127
|
+
.body-sm { font-size: var(--text-sm); letter-spacing: 0.14px; }
|
|
128
|
+
.eyebrow {
|
|
129
|
+
font-family: var(--font-body);
|
|
130
|
+
font-size: var(--text-xs);
|
|
131
|
+
color: var(--muted);
|
|
132
|
+
letter-spacing: 0.08em;
|
|
133
|
+
font-weight: 500;
|
|
134
|
+
}
|
|
135
|
+
.stack-3 > * + * { margin-block-start: var(--space-3); }
|
|
136
|
+
.stack-4 > * + * { margin-block-start: var(--space-4); }
|
|
137
|
+
.stack-6 > * + * { margin-block-start: var(--space-6); }
|
|
138
|
+
|
|
139
|
+
/* ─── Buttons — pill primary, warm stone CTA ────────────── */
|
|
140
|
+
.btn {
|
|
141
|
+
display: inline-flex;
|
|
142
|
+
align-items: center;
|
|
143
|
+
gap: var(--space-2);
|
|
144
|
+
font-family: var(--font-body);
|
|
145
|
+
font-size: 15px;
|
|
146
|
+
font-weight: 500;
|
|
147
|
+
line-height: 1.47;
|
|
148
|
+
cursor: pointer;
|
|
149
|
+
border: none;
|
|
150
|
+
transition:
|
|
151
|
+
background-color var(--motion-fast) var(--ease-standard),
|
|
152
|
+
box-shadow var(--motion-fast) var(--ease-standard);
|
|
153
|
+
text-decoration: none;
|
|
154
|
+
}
|
|
155
|
+
.btn:focus-visible { outline: none; box-shadow: var(--focus-ring); }
|
|
156
|
+
/* Primary black pill */
|
|
157
|
+
.btn-primary {
|
|
158
|
+
background: var(--accent);
|
|
159
|
+
color: var(--accent-on);
|
|
160
|
+
padding: 0 14px;
|
|
161
|
+
height: 36px;
|
|
162
|
+
border-radius: var(--radius-pill);
|
|
163
|
+
}
|
|
164
|
+
.btn-primary:hover { background: var(--accent-hover); }
|
|
165
|
+
/* Secondary: white pill with shadow-as-border */
|
|
166
|
+
.btn-secondary {
|
|
167
|
+
background: var(--bg);
|
|
168
|
+
color: var(--fg);
|
|
169
|
+
padding: 0 14px;
|
|
170
|
+
height: 36px;
|
|
171
|
+
border-radius: var(--radius-pill);
|
|
172
|
+
box-shadow: rgba(0, 0, 0, 0.4) 0px 0px 1px, rgba(0, 0, 0, 0.04) 0px 4px 4px;
|
|
173
|
+
}
|
|
174
|
+
.btn-secondary:hover {
|
|
175
|
+
box-shadow: rgba(0, 0, 0, 0.5) 0px 0px 1px, rgba(0, 0, 0, 0.06) 0px 4px 6px;
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
/* ─── Inputs ────────────────────────────────────────────── */
|
|
179
|
+
.field { display: flex; flex-direction: column; gap: var(--space-2); }
|
|
180
|
+
.field label { font-size: var(--text-sm); font-weight: 500; letter-spacing: 0.14px; }
|
|
181
|
+
.field input {
|
|
182
|
+
padding: 12px 16px;
|
|
183
|
+
border-radius: var(--radius-md);
|
|
184
|
+
border: 1px solid var(--border);
|
|
185
|
+
background: var(--bg);
|
|
186
|
+
color: var(--fg);
|
|
187
|
+
font-family: var(--font-body);
|
|
188
|
+
font-size: var(--text-sm);
|
|
189
|
+
letter-spacing: 0.14px;
|
|
190
|
+
outline: none;
|
|
191
|
+
transition: border-color var(--motion-fast) var(--ease-standard),
|
|
192
|
+
box-shadow var(--motion-fast) var(--ease-standard);
|
|
193
|
+
}
|
|
194
|
+
.field input:focus-visible {
|
|
195
|
+
border-color: var(--accent);
|
|
196
|
+
box-shadow: var(--focus-ring);
|
|
197
|
+
}
|
|
198
|
+
.field input::placeholder { color: var(--muted); }
|
|
199
|
+
.field-help { font-size: var(--text-xs); color: var(--muted); }
|
|
200
|
+
|
|
201
|
+
/* ─── Cards — multi-layer whisper shadow ────────────────── */
|
|
202
|
+
.card {
|
|
203
|
+
background: var(--bg);
|
|
204
|
+
border-radius: var(--radius-md);
|
|
205
|
+
padding: var(--space-6);
|
|
206
|
+
display: flex;
|
|
207
|
+
flex-direction: column;
|
|
208
|
+
gap: var(--space-3);
|
|
209
|
+
box-shadow: var(--elev-ring);
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
/* ─── Badges ────────────────────────────────────────────── */
|
|
213
|
+
.badge {
|
|
214
|
+
display: inline-flex; align-items: center; gap: var(--space-2);
|
|
215
|
+
padding: 3px var(--space-2); border-radius: var(--radius-pill);
|
|
216
|
+
font-size: var(--text-xs); font-weight: 500; line-height: 1.6;
|
|
217
|
+
}
|
|
218
|
+
.badge-success { color: var(--success); background: color-mix(in oklab, var(--success), transparent 90%); }
|
|
219
|
+
.badge-muted { color: var(--muted); background: color-mix(in oklab, var(--muted), transparent 88%); }
|
|
220
|
+
.badge-dot { width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
|
|
221
|
+
|
|
222
|
+
/* ─── Links, Kbd ────────────────────────────────────────── */
|
|
223
|
+
a { color: var(--fg); text-decoration: none; }
|
|
224
|
+
a:hover { color: var(--muted); }
|
|
225
|
+
kbd {
|
|
226
|
+
font-family: var(--font-mono); font-size: var(--text-xs);
|
|
227
|
+
padding: 2px 6px; border-radius: var(--radius-sm);
|
|
228
|
+
box-shadow: rgba(0, 0, 0, 0.075) 0px 0px 0px 0.5px inset;
|
|
229
|
+
background: var(--surface); color: var(--muted);
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
/* ─── Layout helpers ────────────────────────────────────── */
|
|
233
|
+
.hero-grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: var(--space-12); align-items: end; }
|
|
234
|
+
@media (max-width: 1023px) { .hero-grid { grid-template-columns: 1fr; gap: var(--space-8); } }
|
|
235
|
+
.hero-actions { display: flex; gap: var(--space-3); margin-block-start: var(--space-6); flex-wrap: wrap; align-items: center; }
|
|
236
|
+
.hero-meta {
|
|
237
|
+
display: flex; flex-direction: column; gap: var(--space-3);
|
|
238
|
+
padding: var(--space-4); border-radius: var(--radius-lg);
|
|
239
|
+
box-shadow: var(--elev-ring); background: var(--bg);
|
|
240
|
+
}
|
|
241
|
+
.features-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-5); }
|
|
242
|
+
@media (max-width: 1023px) { .features-grid { grid-template-columns: 1fr 1fr; } }
|
|
243
|
+
@media (max-width: 639px) { .features-grid { grid-template-columns: 1fr; } }
|
|
244
|
+
.form-row { display: grid; grid-template-columns: 1.4fr 1fr; gap: var(--space-12); align-items: start; }
|
|
245
|
+
@media (max-width: 1023px) { .form-row { grid-template-columns: 1fr; } }
|
|
246
|
+
.form { display: flex; flex-direction: column; gap: var(--space-4); max-width: 420px; }
|
|
247
|
+
.form-actions { display: flex; gap: var(--space-3); margin-block-start: var(--space-2); align-items: center; }
|
|
248
|
+
.icon { width: 16px; height: 16px; flex-shrink: 0; }
|
|
249
|
+
.row-between { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); }
|
|
250
|
+
</style>
|
|
251
|
+
</head>
|
|
252
|
+
<body>
|
|
253
|
+
<main class="container">
|
|
254
|
+
<section data-od-id="hero">
|
|
255
|
+
<div class="hero-grid">
|
|
256
|
+
<div class="stack-4">
|
|
257
|
+
<p class="eyebrow">Reference fixture · elevenlabs</p>
|
|
258
|
+
<h1>Give every voice a presence.</h1>
|
|
259
|
+
<p class="lead" style="max-width: 52ch">
|
|
260
|
+
A premium audio product brochure in pixel form. Whisper-thin
|
|
261
|
+
headings, warm stone surfaces, achromatic warmth.
|
|
262
|
+
</p>
|
|
263
|
+
<div class="hero-actions">
|
|
264
|
+
<a href="./tokens.css" class="btn btn-primary">
|
|
265
|
+
View tokens
|
|
266
|
+
</a>
|
|
267
|
+
<a href="./DESIGN.md" class="btn btn-secondary">Read the spec</a>
|
|
268
|
+
</div>
|
|
269
|
+
</div>
|
|
270
|
+
<aside class="hero-meta" aria-label="System status">
|
|
271
|
+
<div class="row-between">
|
|
272
|
+
<span class="body-sm" style="color: var(--muted)">Service status</span>
|
|
273
|
+
<span class="badge badge-success">
|
|
274
|
+
<span class="badge-dot" aria-hidden="true"></span>
|
|
275
|
+
Live
|
|
276
|
+
</span>
|
|
277
|
+
</div>
|
|
278
|
+
<p class="body-sm" style="color: var(--muted)">Last reviewed <time datetime="2026-05-15">2026-05-15</time> · v1.0</p>
|
|
279
|
+
<p class="body-sm" style="color: var(--muted)">Press <kbd>⌘</kbd> <kbd>K</kbd> to search.</p>
|
|
280
|
+
</aside>
|
|
281
|
+
</div>
|
|
282
|
+
</section>
|
|
283
|
+
|
|
284
|
+
<section data-od-id="features">
|
|
285
|
+
<div class="stack-3">
|
|
286
|
+
<p class="eyebrow">What this fixture exercises</p>
|
|
287
|
+
<h2 style="max-width: 28ch">Lightness as the defining typographic statement.</h2>
|
|
288
|
+
</div>
|
|
289
|
+
<div class="features-grid" style="margin-block-start: var(--space-8)">
|
|
290
|
+
<article class="card">
|
|
291
|
+
<h3>Waldenburg weight 300</h3>
|
|
292
|
+
<p class="body-muted body-sm" style="letter-spacing: 0.16px">
|
|
293
|
+
All h1/h2/h3 use Waldenburg at font-weight 300. The whisper-thin
|
|
294
|
+
strokes feel like audio waveforms. Never bold — lightness IS the brand.
|
|
295
|
+
</p>
|
|
296
|
+
<a href="./tokens.css" class="body-sm">Inspect →</a>
|
|
297
|
+
</article>
|
|
298
|
+
<article class="card">
|
|
299
|
+
<h3>Multi-layer shadows</h3>
|
|
300
|
+
<p class="body-muted body-sm" style="letter-spacing: 0.16px">
|
|
301
|
+
--elev-ring: three layers at sub-0.04 opacity each. Surfaces barely
|
|
302
|
+
exist — defined by the lightest possible touch.
|
|
303
|
+
</p>
|
|
304
|
+
<a href="./DESIGN.md" class="body-sm">Read the rule →</a>
|
|
305
|
+
</article>
|
|
306
|
+
<article class="card">
|
|
307
|
+
<h3>Warm stone surfaces</h3>
|
|
308
|
+
<p class="body-muted body-sm" style="letter-spacing: 0.16px">
|
|
309
|
+
--surface-warm: #f5f2ef. The achromatic system gets warmth through
|
|
310
|
+
stone-tinted backgrounds and rgba(78,50,23,...) warm shadows.
|
|
311
|
+
</p>
|
|
312
|
+
<a href="./tokens.css" class="body-sm">Inspect surfaces →</a>
|
|
313
|
+
</article>
|
|
314
|
+
</div>
|
|
315
|
+
</section>
|
|
316
|
+
|
|
317
|
+
<section data-od-id="form">
|
|
318
|
+
<div class="form-row">
|
|
319
|
+
<div class="stack-4">
|
|
320
|
+
<p class="eyebrow">Form components</p>
|
|
321
|
+
<h2>Inputs with the same whisper-level depth.</h2>
|
|
322
|
+
<p class="body-muted" style="max-width: 48ch; letter-spacing: 0.16px">
|
|
323
|
+
Form inputs use 16px radius matching the card tier. Focus ring uses
|
|
324
|
+
Ring Blue (rgba(147,197,253,0.5)) — the only cool tone in the system.
|
|
325
|
+
</p>
|
|
326
|
+
</div>
|
|
327
|
+
<form class="form" onsubmit="event.preventDefault();">
|
|
328
|
+
<div class="field">
|
|
329
|
+
<label for="email">Work email</label>
|
|
330
|
+
<input id="email" type="email" placeholder="you@studio.ai" autocomplete="email" required />
|
|
331
|
+
<p class="field-help">Start generating voice in minutes.</p>
|
|
332
|
+
</div>
|
|
333
|
+
<div class="form-actions">
|
|
334
|
+
<button type="submit" class="btn btn-primary">Get started</button>
|
|
335
|
+
<button type="button" class="btn btn-secondary">Learn more</button>
|
|
336
|
+
</div>
|
|
337
|
+
</form>
|
|
338
|
+
</div>
|
|
339
|
+
</section>
|
|
340
|
+
</main>
|
|
341
|
+
</body>
|
|
342
|
+
</html>
|