@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,272 @@
|
|
|
1
|
+
/* ─────────────────────────────────────────────────────────────────────────
|
|
2
|
+
* design-systems/posthog/tokens.css
|
|
3
|
+
*
|
|
4
|
+
* Structured token bindings for the PostHog design system — the
|
|
5
|
+
* open-source product analytics brand whose marketing surface reads
|
|
6
|
+
* like a startup's internal wiki that escaped into the wild. Warm
|
|
7
|
+
* sage-cream surfaces, olive-tinted text, IBM Plex Sans at bold
|
|
8
|
+
* weights for headings, and a single PostHog Orange (#F54E00) that
|
|
9
|
+
* lives almost entirely on hover — a hidden brand signature that
|
|
10
|
+
* surprises on interaction rather than shouting at rest.
|
|
11
|
+
*
|
|
12
|
+
* This file pre-compiles the values described in `DESIGN.md` into the
|
|
13
|
+
* shared schema. Agents should paste the `:root { … }` block verbatim
|
|
14
|
+
* into the first `<style>` of any artifact, then resolve every value
|
|
15
|
+
* via `var(--*)` from that point on.
|
|
16
|
+
*
|
|
17
|
+
* Schema notes (brand-specific bindings worth flagging — section
|
|
18
|
+
* references point into `DESIGN.md`):
|
|
19
|
+
*
|
|
20
|
+
* #Bind 1 — --bg is Warm Parchment (#fdfdf8), never pure white.
|
|
21
|
+
* DESIGN.md §7 forbids #ffffff outright; the warm
|
|
22
|
+
* yellow-green undertone is foundational and the
|
|
23
|
+
* "don't use pure white" rule is in the Don'ts list.
|
|
24
|
+
* --surface steps once to Sage Cream (#eeefe9) for
|
|
25
|
+
* input fields and secondary containers, then
|
|
26
|
+
* --surface-warm steps once more to Light Sage
|
|
27
|
+
* (#e5e7e0) for button surfaces and tertiary tiers
|
|
28
|
+
* (§2 Surface & Background).
|
|
29
|
+
*
|
|
30
|
+
* #Bind 2 — --fg ramp is olive, not neutral gray. Olive Ink
|
|
31
|
+
* (#4d4f46) carries body text; Deep Olive (#23251d)
|
|
32
|
+
* steps darker for headings and high-emphasis links;
|
|
33
|
+
* Muted Olive (#65675e) is the standard subtext tier;
|
|
34
|
+
* Sage Placeholder (#9ea096) is the disabled / meta
|
|
35
|
+
* tier. DESIGN.md §7 mandates the olive family — pure
|
|
36
|
+
* black or neutral gray reads as the wrong brand.
|
|
37
|
+
*
|
|
38
|
+
* #Bind 3 — --accent is PostHog Orange (#F54E00) — a hidden
|
|
39
|
+
* signature. DESIGN.md §1 describes it as "a vibrant
|
|
40
|
+
* orange that surprises on hover" — the marketing
|
|
41
|
+
* surface uses it almost exclusively as TEXT color on
|
|
42
|
+
* hover, not as a CTA fill. The token still binds the
|
|
43
|
+
* brand color so components can opt into orange fills
|
|
44
|
+
* when truly appropriate; primary CTAs render dark
|
|
45
|
+
* (--fg-2) per §4 Buttons. Accent-on/hover/active use
|
|
46
|
+
* the schema's color-mix defaults — DESIGN.md does not
|
|
47
|
+
* publish orange pressed-state hex values.
|
|
48
|
+
*
|
|
49
|
+
* #Bind 4 — --warn binds to Amber Gold (#F7A501) — DESIGN.md §2
|
|
50
|
+
* names this as the dark-button hover accent and the
|
|
51
|
+
* warmth-signal sibling to PostHog Orange. Mapping it
|
|
52
|
+
* to the warn slot keeps the gold reachable to
|
|
53
|
+
* components without inventing a brand-specific token.
|
|
54
|
+
* --success and --danger stay on schema defaults since
|
|
55
|
+
* DESIGN.md publishes no greens or reds.
|
|
56
|
+
*
|
|
57
|
+
* #Bind 5 — Radius scale stays deliberately tight per DESIGN.md
|
|
58
|
+
* §5 / §7 — 4px is the workhorse for buttons and
|
|
59
|
+
* inputs, 6px for cards (DESIGN.md §4 Cards), 8px
|
|
60
|
+
* caps the lg tier. The Don'ts list explicitly
|
|
61
|
+
* forbids 12px+ on cards; the system reads as
|
|
62
|
+
* functional-scrappy, never plush. Pill stays 9999px
|
|
63
|
+
* for badges and status dots.
|
|
64
|
+
*
|
|
65
|
+
* #Bind 6 — --elev-raised is THE single sanctioned shadow per
|
|
66
|
+
* DESIGN.md §6 ("only one shadow definition exists in
|
|
67
|
+
* the entire system"). Reserved for floating elements
|
|
68
|
+
* — modals, dropdowns, mega-menus. Every other depth
|
|
69
|
+
* cue comes from sage borders and surface-color
|
|
70
|
+
* shifts. Cards must not reach for this shadow.
|
|
71
|
+
*
|
|
72
|
+
* #Bind 7 — --focus-ring is Focus Blue (#3b82f6) at 50% opacity,
|
|
73
|
+
* the one cool color in the system. DESIGN.md §2 and
|
|
74
|
+
* §4 mandate this Tailwind-derived ring as an
|
|
75
|
+
* accessibility-only color; reserving it to focus
|
|
76
|
+
* keeps the warm sage/olive identity uncompromised
|
|
77
|
+
* while still passing keyboard-navigation contrast.
|
|
78
|
+
*
|
|
79
|
+
* #Bind 8 — Type scale tops out modestly. DESIGN.md §3 publishes
|
|
80
|
+
* 30px as the display hero ceiling (--text-2xl) and
|
|
81
|
+
* 36px as the section heading (--text-3xl); --text-4xl
|
|
82
|
+
* extrapolates to 44px for fixture-scale hero copy.
|
|
83
|
+
* Tracking compresses on display sizes (-0.025em
|
|
84
|
+
* normalizes -0.75px at 30px) and relaxes to 0 on
|
|
85
|
+
* body. Leading is generous everywhere — 1.50 body,
|
|
86
|
+
* 1.20 tight — because the marketing surface is
|
|
87
|
+
* content-heavy and optimized for long reading
|
|
88
|
+
* sessions (§3 Principles).
|
|
89
|
+
*
|
|
90
|
+
* #Bind 9 — --container-max is 1280px per DESIGN.md §5 ("content
|
|
91
|
+
* containers likely 1200px–1280px"). Gutters tighten
|
|
92
|
+
* progressively: 24/16/12 desktop/tablet/phone — tight
|
|
93
|
+
* but not cramped, matching PostHog's content-dense
|
|
94
|
+
* editorial pacing.
|
|
95
|
+
*
|
|
96
|
+
* Brand-specific extensions: none in this revision. The Warm Tan
|
|
97
|
+
* (#d4c9b8) featured-button background and Hover White (#f4f4f4)
|
|
98
|
+
* universal hover state stay inline at the components that need
|
|
99
|
+
* them; neither earns a shared slot.
|
|
100
|
+
* ─────────────────────────────────────────────────────────────────── */
|
|
101
|
+
|
|
102
|
+
:root {
|
|
103
|
+
/* ─── Surface (3 levels) ────────────────────────────────────────
|
|
104
|
+
* Warm Parchment is the page; Sage Cream is the secondary
|
|
105
|
+
* container (input backgrounds, hover/feature sections); Light
|
|
106
|
+
* Sage is the tertiary tier for button surfaces and quiet card
|
|
107
|
+
* fills. Three steps create depth WITHOUT shadows — DESIGN.md §6
|
|
108
|
+
* notes that "moving from #fdfdf8 to #eeefe9 to #e5e7e0 creates
|
|
109
|
+
* layered depth without shadows", and the whole brand depends on
|
|
110
|
+
* that surface-color rhythm rather than blur. */
|
|
111
|
+
--bg: #fdfdf8;
|
|
112
|
+
--surface: #eeefe9;
|
|
113
|
+
--surface-warm: #e5e7e0;
|
|
114
|
+
|
|
115
|
+
/* ─── Foreground ramp (4 levels) ────────────────────────────────
|
|
116
|
+
* Olive Ink anchors roughly every body paragraph, every nav
|
|
117
|
+
* label, every button text token on light surfaces. Deep Olive
|
|
118
|
+
* steps darker for headings and high-emphasis links — the
|
|
119
|
+
* near-black with green undertone that signals "click me". Muted
|
|
120
|
+
* Olive is the secondary subtext tier. Sage Placeholder is the
|
|
121
|
+
* disabled / meta tier and pulls double duty as input
|
|
122
|
+
* placeholder color. */
|
|
123
|
+
--fg: #4d4f46;
|
|
124
|
+
--fg-2: #23251d;
|
|
125
|
+
--muted: #65675e;
|
|
126
|
+
--meta: #9ea096;
|
|
127
|
+
|
|
128
|
+
/* ─── Border (2 levels) ─────────────────────────────────────────
|
|
129
|
+
* Sage Border (#bfc1b7) is the workhorse — every card edge,
|
|
130
|
+
* every input outline, every divider rule. The soft tier is a
|
|
131
|
+
* lighter sage tint used for inner row separators that should
|
|
132
|
+
* not visually compete with the primary card edge; derived as a
|
|
133
|
+
* 50% mix back toward --bg so it stays in the same warm-green
|
|
134
|
+
* family without inventing a new hex. */
|
|
135
|
+
--border: #bfc1b7;
|
|
136
|
+
--border-soft: color-mix(in oklab, var(--border), var(--bg) 50%);
|
|
137
|
+
|
|
138
|
+
/* ─── Accent ────────────────────────────────────────────────────
|
|
139
|
+
* PostHog Orange — the single signature color. Per DESIGN.md §1
|
|
140
|
+
* it lives almost exclusively on hover as text color, not as a
|
|
141
|
+
* CTA fill, but the token still binds the brand color so any
|
|
142
|
+
* component opting into orange surfaces can do so consistently.
|
|
143
|
+
* Primary CTAs render dark (#1e1f23 ≈ --fg-2 territory) with
|
|
144
|
+
* opacity-based hover states; that treatment lives inline at
|
|
145
|
+
* the button component, not as a shared accent. */
|
|
146
|
+
--accent: #F54E00;
|
|
147
|
+
--accent-on: #ffffff;
|
|
148
|
+
--accent-hover: color-mix(in oklab, var(--accent), black 8%);
|
|
149
|
+
--accent-active: color-mix(in oklab, var(--accent), black 14%);
|
|
150
|
+
|
|
151
|
+
/* ─── Semantic ──────────────────────────────────────────────────
|
|
152
|
+
* --warn binds to Amber Gold (DESIGN.md §2's "warmth signal")
|
|
153
|
+
* because the brand publishes that exact value as the secondary
|
|
154
|
+
* hover accent. --success and --danger stay on schema defaults
|
|
155
|
+
* — DESIGN.md does not specify brand greens or reds and the
|
|
156
|
+
* marketing surface almost never renders status. Keep semantic
|
|
157
|
+
* pixels well under 5% of any page. */
|
|
158
|
+
--success: #16a34a;
|
|
159
|
+
--warn: #F7A501;
|
|
160
|
+
--danger: #dc2626;
|
|
161
|
+
|
|
162
|
+
/* ─── Typography — fonts ────────────────────────────────────────
|
|
163
|
+
* IBM Plex Sans Variable is the single voice — display and body
|
|
164
|
+
* share the family (DESIGN.md §3). The fallback chain matches
|
|
165
|
+
* the brand's documented order: IBM Plex Sans static, then the
|
|
166
|
+
* platform fallbacks, then the broad sans-serif catch-all. Mono
|
|
167
|
+
* is Source Code Pro with the standard system fallbacks per
|
|
168
|
+
* DESIGN.md §3 Font Family. */
|
|
169
|
+
--font-display: "IBM Plex Sans Variable", "IBM Plex Sans", -apple-system, system-ui, "Avenir Next", Avenir, "Segoe UI", "Helvetica Neue", Helvetica, Ubuntu, Roboto, Noto, Arial, sans-serif;
|
|
170
|
+
--font-body: "IBM Plex Sans Variable", "IBM Plex Sans", -apple-system, system-ui, "Avenir Next", Avenir, "Segoe UI", "Helvetica Neue", Helvetica, Ubuntu, Roboto, Noto, Arial, sans-serif;
|
|
171
|
+
--font-mono: "Source Code Pro", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
|
|
172
|
+
|
|
173
|
+
/* ─── Typography — type scale (px) ──────────────────────────────
|
|
174
|
+
* Derived from DESIGN.md §3 Hierarchy table. The scale tops out
|
|
175
|
+
* modestly — 30px for the display hero, 36px for section
|
|
176
|
+
* headings — because PostHog's editorial pacing favors confident
|
|
177
|
+
* mid-weight headings over giant ones. --text-4xl extrapolates
|
|
178
|
+
* to 44px for fixture-scale hero copy; the production site
|
|
179
|
+
* rarely goes that big. */
|
|
180
|
+
--text-xs: 12px;
|
|
181
|
+
--text-sm: 14px;
|
|
182
|
+
--text-base: 16px;
|
|
183
|
+
--text-lg: 20px;
|
|
184
|
+
--text-xl: 24px;
|
|
185
|
+
--text-2xl: 30px;
|
|
186
|
+
--text-3xl: 36px;
|
|
187
|
+
--text-4xl: 44px;
|
|
188
|
+
|
|
189
|
+
/* ─── Typography — leading & tracking ───────────────────────────
|
|
190
|
+
* Body leads 1.50 (DESIGN.md §3 — body sizes 1.50–1.71 for the
|
|
191
|
+
* content-heavy editorial layout); display compresses to 1.20
|
|
192
|
+
* for the 30px hero per the same table. Tracking compresses
|
|
193
|
+
* negatively on display sizes (-0.025em normalizes the brand's
|
|
194
|
+
* -0.75px at 30px) and relaxes to 0 on body. */
|
|
195
|
+
--leading-body: 1.5;
|
|
196
|
+
--leading-tight: 1.2;
|
|
197
|
+
--tracking-display: -0.025em;
|
|
198
|
+
|
|
199
|
+
/* ─── Spacing — base scale ──────────────────────────────────────
|
|
200
|
+
* 8px base unit per DESIGN.md §5. PostHog's published scale
|
|
201
|
+
* includes off-grid values (2, 6, 10, 18, 34) for fine-grained
|
|
202
|
+
* icon and padding adjustments; the shared scale stays on the
|
|
203
|
+
* standard 4px grid — off-grid spacing belongs inline at the
|
|
204
|
+
* component level, not in shared tokens. */
|
|
205
|
+
--space-1: 4px;
|
|
206
|
+
--space-2: 8px;
|
|
207
|
+
--space-3: 12px;
|
|
208
|
+
--space-4: 16px;
|
|
209
|
+
--space-5: 20px;
|
|
210
|
+
--space-6: 24px;
|
|
211
|
+
--space-8: 32px;
|
|
212
|
+
--space-12: 48px;
|
|
213
|
+
|
|
214
|
+
/* ─── Section rhythm ────────────────────────────────────────────
|
|
215
|
+
* Section padding 32–48px desktop per DESIGN.md §5 ("compact for
|
|
216
|
+
* a content-heavy site"). We bind the upper bound on desktop so
|
|
217
|
+
* the rhythm reads as deliberate spacing rather than crowding;
|
|
218
|
+
* tablet and phone step down to keep small screens tight. */
|
|
219
|
+
--section-y-desktop: 48px;
|
|
220
|
+
--section-y-tablet: 32px;
|
|
221
|
+
--section-y-phone: 24px;
|
|
222
|
+
|
|
223
|
+
/* ─── Radius ────────────────────────────────────────────────────
|
|
224
|
+
* Deliberately tight — DESIGN.md §7's Don'ts forbid 12px+ on
|
|
225
|
+
* cards. 4px is the workhorse (buttons, inputs, dropdowns,
|
|
226
|
+
* menus); 6px is the card tier (§4 Cards "4px–6px radius");
|
|
227
|
+
* 8px caps the lg tier for slightly larger containers; pill
|
|
228
|
+
* stays 9999px for badges and status dots. */
|
|
229
|
+
--radius-sm: 4px;
|
|
230
|
+
--radius-md: 6px;
|
|
231
|
+
--radius-lg: 8px;
|
|
232
|
+
--radius-pill: 9999px;
|
|
233
|
+
|
|
234
|
+
/* ─── Elevation ─────────────────────────────────────────────────
|
|
235
|
+
* THE single sanctioned shadow per DESIGN.md §6 — "only one
|
|
236
|
+
* shadow definition exists in the entire system". Reserved for
|
|
237
|
+
* floating elements (modals, dropdowns, mega-menus, popovers).
|
|
238
|
+
* Every other depth cue comes from sage borders and surface
|
|
239
|
+
* color shifts. Cards must NOT reach for this shadow — DESIGN.md
|
|
240
|
+
* §7 specifically forbids adding heavy shadows beyond this one. */
|
|
241
|
+
--elev-flat: none;
|
|
242
|
+
--elev-ring: 0 0 0 1px var(--border);
|
|
243
|
+
--elev-raised: 0px 25px 50px -12px rgba(0, 0, 0, 0.25);
|
|
244
|
+
|
|
245
|
+
/* ─── Focus ring ────────────────────────────────────────────────
|
|
246
|
+
* Focus Blue (#3b82f6) at 50% opacity — the lone cool color in
|
|
247
|
+
* the system, reserved for accessibility per DESIGN.md §2 / §4.
|
|
248
|
+
* Implementing as a 3px box-shadow keeps focus indication
|
|
249
|
+
* outside the layout box; the warm sage/olive identity stays
|
|
250
|
+
* uncompromised at rest. */
|
|
251
|
+
--focus-ring: 0 0 0 3px rgba(59, 130, 246, 0.5);
|
|
252
|
+
|
|
253
|
+
/* ─── Motion ────────────────────────────────────────────────────
|
|
254
|
+
* Default schema timings. DESIGN.md does not publish transition
|
|
255
|
+
* specs (static extraction scope); we bind defaults consistent
|
|
256
|
+
* with the brand's tactile feel — 150ms for micro-states (the
|
|
257
|
+
* famous opacity flash on dark buttons) and 200ms for general
|
|
258
|
+
* state changes. Standard easing curve, no overshoot. */
|
|
259
|
+
--motion-fast: 150ms;
|
|
260
|
+
--motion-base: 200ms;
|
|
261
|
+
--ease-standard: cubic-bezier(0.2, 0, 0, 1);
|
|
262
|
+
|
|
263
|
+
/* ─── Layout ────────────────────────────────────────────────────
|
|
264
|
+
* Container caps at 1280px per DESIGN.md §5 ("content containers
|
|
265
|
+
* likely 1200px–1280px"). Gutters tighten progressively: 24px
|
|
266
|
+
* desktop, 16px tablet, 12px phone — tight but not cramped,
|
|
267
|
+
* matching PostHog's content-dense editorial pacing. */
|
|
268
|
+
--container-max: 1280px;
|
|
269
|
+
--container-gutter-desktop: 24px;
|
|
270
|
+
--container-gutter-tablet: 16px;
|
|
271
|
+
--container-gutter-phone: 12px;
|
|
272
|
+
}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# Design System Inspired by Premium
|
|
2
|
+
|
|
3
|
+
> Category: Professional & Corporate
|
|
4
|
+
> Apple-inspired premium aesthetic with precise spacing, modern typography, and a refined, polished visual language.
|
|
5
|
+
|
|
6
|
+
## 1. Visual Theme & Atmosphere
|
|
7
|
+
|
|
8
|
+
Apple-inspired premium aesthetic with precise spacing, modern typography, and a refined, polished visual language.
|
|
9
|
+
|
|
10
|
+
- **Visual style:** modern
|
|
11
|
+
- **Color stance:** primary, neutral, success, warning, danger
|
|
12
|
+
- **Design intent:** Keep outputs recognizable to this style family while preserving usability and readability.
|
|
13
|
+
|
|
14
|
+
## 2. Color
|
|
15
|
+
|
|
16
|
+
- **Primary:** `#3B82F6` — Token from style foundations.
|
|
17
|
+
- **Secondary:** `#8B5CF6` — Token from style foundations.
|
|
18
|
+
- **Success:** `#16A34A` — Token from style foundations.
|
|
19
|
+
- **Warning:** `#D97706` — Token from style foundations.
|
|
20
|
+
- **Danger:** `#DC2626` — Token from style foundations.
|
|
21
|
+
- **Surface:** `#FFFFFF` — Token from style foundations.
|
|
22
|
+
- **Text:** `#111827` — Token from style foundations.
|
|
23
|
+
- **Neutral:** `#FFFFFF` — Derived from the surface token for official format compatibility.
|
|
24
|
+
|
|
25
|
+
- Favor Primary (#3B82F6) for CTA emphasis.
|
|
26
|
+
- Use Surface (#FFFFFF) for large backgrounds and cards.
|
|
27
|
+
- Keep body copy on Text (#111827) for legibility.
|
|
28
|
+
|
|
29
|
+
## 3. Typography
|
|
30
|
+
|
|
31
|
+
- **Scale:** 12/14/16/18/24/30/36
|
|
32
|
+
- **Families:** primary=Inter, display=Inter, mono=JetBrains Mono
|
|
33
|
+
- **Weights:** 100, 200, 300, 400, 500, 600, 700, 800, 900
|
|
34
|
+
- Headings should carry the style personality; body text should optimize scanability and contrast.
|
|
35
|
+
|
|
36
|
+
## 4. Spacing & Grid
|
|
37
|
+
|
|
38
|
+
- **Spacing scale:** 4/8/12/16/24/32
|
|
39
|
+
- Keep vertical rhythm consistent across sections and components.
|
|
40
|
+
- Align columns and modules to a predictable grid; avoid ad-hoc offsets.
|
|
41
|
+
|
|
42
|
+
## 5. Layout & Composition
|
|
43
|
+
|
|
44
|
+
- Prefer clear content blocks with consistent internal padding.
|
|
45
|
+
- Keep hierarchy obvious: headline → support text → primary action.
|
|
46
|
+
- Use whitespace to separate concerns before adding borders or shadows.
|
|
47
|
+
|
|
48
|
+
## 6. Components
|
|
49
|
+
|
|
50
|
+
- Buttons: primary action uses `#3B82F6`; secondary actions stay neutral.
|
|
51
|
+
- Inputs: strong focus-visible states, clear labels, and predictable error messaging.
|
|
52
|
+
- Cards/sections: use consistent radii, spacing, and elevation strategy across the page.
|
|
53
|
+
|
|
54
|
+
## 7. Motion & Interaction
|
|
55
|
+
|
|
56
|
+
- Use subtle transitions that emphasize Primary (#3B82F6) as the interaction signal.
|
|
57
|
+
- Default to short, purposeful transitions (150–250ms) with stable easing.
|
|
58
|
+
- Ensure hover, focus-visible, active, disabled, and loading states are explicit.
|
|
59
|
+
|
|
60
|
+
## 8. Voice & Brand
|
|
61
|
+
|
|
62
|
+
- Tone should reflect the visual style: concise, confident, and product-specific.
|
|
63
|
+
- Keep microcopy action-oriented and avoid generic filler language.
|
|
64
|
+
- Preserve the style identity in headlines while keeping UI labels literal and clear.
|
|
65
|
+
|
|
66
|
+
## 9. Anti-patterns
|
|
67
|
+
|
|
68
|
+
- Do not introduce off-palette colors when an existing token can solve the problem.
|
|
69
|
+
- Do not flatten hierarchy by using the same type size/weight for all text.
|
|
70
|
+
- Do not add decorative effects that reduce readability or accessibility.
|
|
71
|
+
- Do not mix unrelated visual metaphors in the same interface.
|
|
@@ -0,0 +1,154 @@
|
|
|
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>Premium - reference components</title>
|
|
7
|
+
<meta name="description" content="Reference fixture for design-systems/premium: premium marketing system with warm white canvas, graphite type, and muted bronze signal." />
|
|
8
|
+
<style>
|
|
9
|
+
:root {
|
|
10
|
+
--bg: #faf8f4;
|
|
11
|
+
--surface: #ffffff;
|
|
12
|
+
--surface-warm: #f0e7d8;
|
|
13
|
+
--fg: #1c1b19;
|
|
14
|
+
--fg-2: #4b4740;
|
|
15
|
+
--muted: #746d63;
|
|
16
|
+
--meta: #a06a3b;
|
|
17
|
+
--border: #ded6c9;
|
|
18
|
+
--border-soft: #eee7dc;
|
|
19
|
+
--accent: #a06a3b;
|
|
20
|
+
--accent-on: #ffffff;
|
|
21
|
+
--accent-hover: color-mix(in oklab, var(--accent), black 8%);
|
|
22
|
+
--accent-active: color-mix(in oklab, var(--accent), black 14%);
|
|
23
|
+
--success: #3f8f5f;
|
|
24
|
+
--warn: #c4872c;
|
|
25
|
+
--danger: #b84a4a;
|
|
26
|
+
--font-display: "Canela", Georgia, serif;
|
|
27
|
+
--font-body: Inter, system-ui, sans-serif;
|
|
28
|
+
--font-mono: "IBM Plex Mono", ui-monospace, Menlo, monospace;
|
|
29
|
+
--text-xs: 12px;
|
|
30
|
+
--text-sm: 14px;
|
|
31
|
+
--text-base: 16px;
|
|
32
|
+
--text-lg: 19px;
|
|
33
|
+
--text-xl: 26px;
|
|
34
|
+
--text-2xl: 40px;
|
|
35
|
+
--text-3xl: 60px;
|
|
36
|
+
--text-4xl: 84px;
|
|
37
|
+
--leading-body: 1.58;
|
|
38
|
+
--leading-tight: 1.02;
|
|
39
|
+
--tracking-display: -0.02em;
|
|
40
|
+
--space-1: 4px;
|
|
41
|
+
--space-2: 8px;
|
|
42
|
+
--space-3: 12px;
|
|
43
|
+
--space-4: 16px;
|
|
44
|
+
--space-5: 20px;
|
|
45
|
+
--space-6: 24px;
|
|
46
|
+
--space-8: 32px;
|
|
47
|
+
--space-12: 48px;
|
|
48
|
+
--section-y-desktop: 112px;
|
|
49
|
+
--section-y-tablet: 80px;
|
|
50
|
+
--section-y-phone: 56px;
|
|
51
|
+
--radius-sm: 10px;
|
|
52
|
+
--radius-md: 16px;
|
|
53
|
+
--radius-lg: 28px;
|
|
54
|
+
--radius-pill: 9999px;
|
|
55
|
+
--elev-flat: none;
|
|
56
|
+
--elev-ring: 0 0 0 1px var(--border);
|
|
57
|
+
--elev-raised: 0 24px 64px rgba(28, 27, 25, 0.12);
|
|
58
|
+
--focus-ring: 0 0 0 4px rgba(160, 106, 59, 0.24);
|
|
59
|
+
--motion-fast: 170ms;
|
|
60
|
+
--motion-base: 280ms;
|
|
61
|
+
--ease-standard: cubic-bezier(0.22, 1, 0.36, 1);
|
|
62
|
+
--container-max: 1160px;
|
|
63
|
+
--container-gutter-desktop: 36px;
|
|
64
|
+
--container-gutter-tablet: 24px;
|
|
65
|
+
--container-gutter-phone: 16px;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
*, *::before, *::after { box-sizing: border-box; }
|
|
69
|
+
html, body { margin: 0; padding: 0; }
|
|
70
|
+
body {
|
|
71
|
+
min-height: 100vh;
|
|
72
|
+
background: var(--bg);
|
|
73
|
+
color: var(--fg);
|
|
74
|
+
font-family: var(--font-body);
|
|
75
|
+
font-size: var(--text-base);
|
|
76
|
+
line-height: var(--leading-body);
|
|
77
|
+
-webkit-font-smoothing: antialiased;
|
|
78
|
+
}
|
|
79
|
+
.page { min-height: 100vh; background: linear-gradient(135deg, #faf8f4 0%, #ffffff 56%, #f0e7d8 100%); }
|
|
80
|
+
.container { max-width: var(--container-max); margin-inline: auto; padding-inline: var(--container-gutter-desktop); }
|
|
81
|
+
section { padding-block: var(--section-y-desktop); }
|
|
82
|
+
@media (max-width: 1023px) { .container { padding-inline: var(--container-gutter-tablet); } section { padding-block: var(--section-y-tablet); } }
|
|
83
|
+
@media (max-width: 639px) { .container { padding-inline: var(--container-gutter-phone); } section { padding-block: var(--section-y-phone); } }
|
|
84
|
+
h1, h2, h3, p { margin: 0; }
|
|
85
|
+
h1, h2, h3 { font-family: var(--font-display); line-height: var(--leading-tight); letter-spacing: var(--tracking-display); }
|
|
86
|
+
h1 { max-width: 820px; font-size: var(--text-4xl); font-weight: 760; }
|
|
87
|
+
h2 { font-size: var(--text-3xl); font-weight: 700; }
|
|
88
|
+
h3 { font-size: var(--text-xl); font-weight: 700; }
|
|
89
|
+
.eyebrow { color: var(--meta); font-family: var(--font-mono); font-size: var(--text-xs); font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; }
|
|
90
|
+
.lead { max-width: 640px; color: var(--fg-2); font-size: var(--text-lg); }
|
|
91
|
+
.hero { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(320px, 0.9fr); gap: var(--space-8); align-items: center; }
|
|
92
|
+
.stack > * + * { margin-block-start: var(--space-4); }
|
|
93
|
+
.actions { display: flex; flex-wrap: wrap; gap: var(--space-3); margin-block-start: var(--space-6); }
|
|
94
|
+
.btn {
|
|
95
|
+
display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 var(--space-5);
|
|
96
|
+
border: 1px solid transparent; border-radius: var(--radius-md); font: 700 var(--text-sm) / 1 var(--font-body);
|
|
97
|
+
color: inherit; text-decoration: none; cursor: pointer; transition: background-color var(--motion-fast) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard), color var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-standard), box-shadow var(--motion-fast) var(--ease-standard);
|
|
98
|
+
}
|
|
99
|
+
.btn:focus-visible { outline: none; box-shadow: var(--focus-ring); }
|
|
100
|
+
.btn-primary { background: var(--accent); color: var(--accent-on); }
|
|
101
|
+
.btn-primary:hover { background: var(--accent-hover); transform: translateY(-1px); }
|
|
102
|
+
.btn-secondary { background: var(--surface); color: var(--fg); border-color: var(--border); box-shadow: var(--elev-ring); }
|
|
103
|
+
.btn-secondary:hover { border-color: var(--accent); color: var(--accent); }
|
|
104
|
+
.panel { background: color-mix(in oklab, var(--surface), transparent 4%); border: 1px solid var(--border); border-radius: var(--radius-lg); box-shadow: var(--elev-raised); overflow: hidden; }
|
|
105
|
+
.panel-head { display: flex; justify-content: space-between; align-items: center; gap: var(--space-4); padding: var(--space-5); border-bottom: 1px solid var(--border-soft); }
|
|
106
|
+
.status { display: inline-flex; align-items: center; gap: var(--space-2); color: var(--meta); font: 700 var(--text-xs) / 1 var(--font-mono); text-transform: uppercase; letter-spacing: 0.08em; }
|
|
107
|
+
.status::before { width: 8px; height: 8px; border-radius: var(--radius-pill); background: var(--success); content: ""; }
|
|
108
|
+
.metric-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-bottom: 1px solid var(--border-soft); }
|
|
109
|
+
.metric { padding: var(--space-5); border-right: 1px solid var(--border-soft); }
|
|
110
|
+
.metric:last-child { border-right: 0; }
|
|
111
|
+
.metric strong { display: block; font-family: var(--font-display); font-size: var(--text-2xl); line-height: var(--leading-tight); }
|
|
112
|
+
.metric span { color: var(--muted); font-size: var(--text-sm); }
|
|
113
|
+
.card-row { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-4); padding: var(--space-5); }
|
|
114
|
+
.mini-card { min-height: 148px; padding: var(--space-5); border: 1px solid var(--border-soft); border-radius: var(--radius-md); background: var(--surface-warm); }
|
|
115
|
+
.mini-card p, .tile p { color: var(--muted); font-size: var(--text-sm); margin-block-start: var(--space-3); }
|
|
116
|
+
.swatches { display: flex; gap: var(--space-2); margin-block-start: var(--space-4); }
|
|
117
|
+
.swatch { width: 32px; height: 32px; border-radius: var(--radius-sm); border: 1px solid var(--border); }
|
|
118
|
+
.swatch.accent { background: var(--accent); } .swatch.surface { background: var(--surface); } .swatch.warm { background: var(--surface-warm); } .swatch.fg { background: var(--fg); }
|
|
119
|
+
.field { display: grid; gap: var(--space-2); margin-block-start: var(--space-5); }
|
|
120
|
+
label { color: var(--fg-2); font-size: var(--text-sm); font-weight: 700; }
|
|
121
|
+
input { width: 100%; min-height: 46px; padding: 0 var(--space-4); border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface); color: var(--fg); font: inherit; }
|
|
122
|
+
input:focus { outline: none; box-shadow: var(--focus-ring); border-color: var(--accent); }
|
|
123
|
+
.lower { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); }
|
|
124
|
+
.tile { padding: var(--space-5); border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface); }
|
|
125
|
+
@media (max-width: 860px) { .hero, .lower { grid-template-columns: 1fr; } .metric-grid, .card-row { grid-template-columns: 1fr; } .metric { border-right: 0; border-bottom: 1px solid var(--border-soft); } .metric:last-child { border-bottom: 0; } }
|
|
126
|
+
</style>
|
|
127
|
+
</head>
|
|
128
|
+
<body>
|
|
129
|
+
<main class="page">
|
|
130
|
+
<section>
|
|
131
|
+
<div class="container hero">
|
|
132
|
+
<div class="stack">
|
|
133
|
+
<p class="eyebrow">Premium design system</p>
|
|
134
|
+
<h1>Premium product showcase</h1>
|
|
135
|
+
<p class="lead">Elegant commerce and product presentation with soft contrast and confident spacing.</p>
|
|
136
|
+
<div class="actions" aria-label="Reference actions">
|
|
137
|
+
<a class="btn btn-primary" href="#">Primary action</a>
|
|
138
|
+
<a class="btn btn-secondary" href="#">Secondary action</a>
|
|
139
|
+
</div>
|
|
140
|
+
</div>
|
|
141
|
+
<article class="panel" aria-label="Premium component preview">
|
|
142
|
+
<div class="panel-head"><div><p class="eyebrow">Live module</p><h3>Reference component</h3></div><span class="status">online</span></div>
|
|
143
|
+
<div class="metric-grid"><div class="metric"><strong>98%</strong><span>Signal quality</span></div><div class="metric"><strong>24</strong><span>Active flows</span></div><div class="metric"><strong>3.2s</strong><span>Response time</span></div></div>
|
|
144
|
+
<div class="card-row">
|
|
145
|
+
<div class="mini-card"><h3>Palette</h3><p>premium marketing system with warm white canvas, graphite type, and muted bronze signal.</p><div class="swatches" aria-label="Token swatches"><span class="swatch accent"></span><span class="swatch surface"></span><span class="swatch warm"></span><span class="swatch fg"></span></div></div>
|
|
146
|
+
<div class="mini-card"><h3>Control</h3><p>Focus, hover, and status states share the same brand signal.</p><div class="field"><label for="premium-input">Reference input</label><input id="premium-input" value="Premium system token" /></div></div>
|
|
147
|
+
</div>
|
|
148
|
+
</article>
|
|
149
|
+
</div>
|
|
150
|
+
</section>
|
|
151
|
+
<section><div class="container lower"><article class="tile"><p class="eyebrow">Typography</p><h2>Display rhythm</h2><p>Headlines use the display stack with the declared scale and leading.</p></article><article class="tile"><p class="eyebrow">Surface</p><h2>Layer system</h2><p>Cards, warm panels, borders, and raised states resolve through shared tokens.</p></article><article class="tile"><p class="eyebrow">Interaction</p><h2>Motion states</h2><p>Buttons, inputs, and panels use brand-specific focus rings and easing.</p></article></div></section>
|
|
152
|
+
</main>
|
|
153
|
+
</body>
|
|
154
|
+
</html>
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/* design-systems/premium/tokens.css
|
|
2
|
+
* Structured token bindings for Premium.
|
|
3
|
+
* premium marketing system with warm white canvas, graphite type, and muted bronze signal.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
:root {
|
|
7
|
+
--bg: #faf8f4;
|
|
8
|
+
--surface: #ffffff;
|
|
9
|
+
--surface-warm: #f0e7d8;
|
|
10
|
+
--fg: #1c1b19;
|
|
11
|
+
--fg-2: #4b4740;
|
|
12
|
+
--muted: #746d63;
|
|
13
|
+
--meta: #a06a3b;
|
|
14
|
+
--border: #ded6c9;
|
|
15
|
+
--border-soft: #eee7dc;
|
|
16
|
+
--accent: #a06a3b;
|
|
17
|
+
--accent-on: #ffffff;
|
|
18
|
+
--accent-hover: color-mix(in oklab, var(--accent), black 8%);
|
|
19
|
+
--accent-active: color-mix(in oklab, var(--accent), black 14%);
|
|
20
|
+
--success: #3f8f5f;
|
|
21
|
+
--warn: #c4872c;
|
|
22
|
+
--danger: #b84a4a;
|
|
23
|
+
--font-display: "Canela", Georgia, serif;
|
|
24
|
+
--font-body: Inter, system-ui, sans-serif;
|
|
25
|
+
--font-mono: "IBM Plex Mono", ui-monospace, Menlo, monospace;
|
|
26
|
+
--text-xs: 12px;
|
|
27
|
+
--text-sm: 14px;
|
|
28
|
+
--text-base: 16px;
|
|
29
|
+
--text-lg: 19px;
|
|
30
|
+
--text-xl: 26px;
|
|
31
|
+
--text-2xl: 40px;
|
|
32
|
+
--text-3xl: 60px;
|
|
33
|
+
--text-4xl: 84px;
|
|
34
|
+
--leading-body: 1.58;
|
|
35
|
+
--leading-tight: 1.02;
|
|
36
|
+
--tracking-display: -0.02em;
|
|
37
|
+
--space-1: 4px;
|
|
38
|
+
--space-2: 8px;
|
|
39
|
+
--space-3: 12px;
|
|
40
|
+
--space-4: 16px;
|
|
41
|
+
--space-5: 20px;
|
|
42
|
+
--space-6: 24px;
|
|
43
|
+
--space-8: 32px;
|
|
44
|
+
--space-12: 48px;
|
|
45
|
+
--section-y-desktop: 112px;
|
|
46
|
+
--section-y-tablet: 80px;
|
|
47
|
+
--section-y-phone: 56px;
|
|
48
|
+
--radius-sm: 10px;
|
|
49
|
+
--radius-md: 16px;
|
|
50
|
+
--radius-lg: 28px;
|
|
51
|
+
--radius-pill: 9999px;
|
|
52
|
+
--elev-flat: none;
|
|
53
|
+
--elev-ring: 0 0 0 1px var(--border);
|
|
54
|
+
--elev-raised: 0 24px 64px rgba(28, 27, 25, 0.12);
|
|
55
|
+
--focus-ring: 0 0 0 4px rgba(160, 106, 59, 0.24);
|
|
56
|
+
--motion-fast: 170ms;
|
|
57
|
+
--motion-base: 280ms;
|
|
58
|
+
--ease-standard: cubic-bezier(0.22, 1, 0.36, 1);
|
|
59
|
+
--container-max: 1160px;
|
|
60
|
+
--container-gutter-desktop: 36px;
|
|
61
|
+
--container-gutter-tablet: 24px;
|
|
62
|
+
--container-gutter-phone: 16px;
|
|
63
|
+
}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# Design System Inspired by Professional
|
|
2
|
+
|
|
3
|
+
> Category: Professional & Corporate
|
|
4
|
+
> Polished, business-ready design with modern typography, structured layouts, and a trustworthy visual identity.
|
|
5
|
+
|
|
6
|
+
## 1. Visual Theme & Atmosphere
|
|
7
|
+
|
|
8
|
+
Polished, business-ready design with modern typography, structured layouts, and a trustworthy visual identity.
|
|
9
|
+
|
|
10
|
+
- **Visual style:** modern
|
|
11
|
+
- **Color stance:** primary, secondary, neutral, success, warning, danger
|
|
12
|
+
- **Design intent:** Keep outputs recognizable to this style family while preserving usability and readability.
|
|
13
|
+
|
|
14
|
+
## 2. Color
|
|
15
|
+
|
|
16
|
+
- **Primary:** `#FECE14` — Token from style foundations.
|
|
17
|
+
- **Secondary:** `#000000` — Token from style foundations.
|
|
18
|
+
- **Success:** `#16A34A` — Token from style foundations.
|
|
19
|
+
- **Warning:** `#D97706` — Token from style foundations.
|
|
20
|
+
- **Danger:** `#DC2626` — Token from style foundations.
|
|
21
|
+
- **Surface:** `#FFFFFF` — Token from style foundations.
|
|
22
|
+
- **Text:** `#111827` — Token from style foundations.
|
|
23
|
+
- **Neutral:** `#FFFFFF` — Derived from the surface token for official format compatibility.
|
|
24
|
+
|
|
25
|
+
- Favor Primary (#FECE14) for CTA emphasis.
|
|
26
|
+
- Use Surface (#FFFFFF) for large backgrounds and cards.
|
|
27
|
+
- Keep body copy on Text (#111827) for legibility.
|
|
28
|
+
|
|
29
|
+
## 3. Typography
|
|
30
|
+
|
|
31
|
+
- **Scale:** mobile-first compact scale
|
|
32
|
+
- **Families:** primary=Poppins, display=Poppins, mono=IBM Plex Mono
|
|
33
|
+
- **Weights:** 100, 200, 300, 400, 500, 600, 700, 800, 900
|
|
34
|
+
- Headings should carry the style personality; body text should optimize scanability and contrast.
|
|
35
|
+
|
|
36
|
+
## 4. Spacing & Grid
|
|
37
|
+
|
|
38
|
+
- **Spacing scale:** 4/8/12/16/24/32
|
|
39
|
+
- Keep vertical rhythm consistent across sections and components.
|
|
40
|
+
- Align columns and modules to a predictable grid; avoid ad-hoc offsets.
|
|
41
|
+
|
|
42
|
+
## 5. Layout & Composition
|
|
43
|
+
|
|
44
|
+
- Prefer clear content blocks with consistent internal padding.
|
|
45
|
+
- Keep hierarchy obvious: headline → support text → primary action.
|
|
46
|
+
- Use whitespace to separate concerns before adding borders or shadows.
|
|
47
|
+
|
|
48
|
+
## 6. Components
|
|
49
|
+
|
|
50
|
+
- Buttons: primary action uses `#FECE14`; secondary actions stay neutral.
|
|
51
|
+
- Inputs: strong focus-visible states, clear labels, and predictable error messaging.
|
|
52
|
+
- Cards/sections: use consistent radii, spacing, and elevation strategy across the page.
|
|
53
|
+
|
|
54
|
+
## 7. Motion & Interaction
|
|
55
|
+
|
|
56
|
+
- Use subtle transitions that emphasize Primary (#FECE14) as the interaction signal.
|
|
57
|
+
- Default to short, purposeful transitions (150–250ms) with stable easing.
|
|
58
|
+
- Ensure hover, focus-visible, active, disabled, and loading states are explicit.
|
|
59
|
+
|
|
60
|
+
## 8. Voice & Brand
|
|
61
|
+
|
|
62
|
+
- Tone should reflect the visual style: concise, confident, and product-specific.
|
|
63
|
+
- Keep microcopy action-oriented and avoid generic filler language.
|
|
64
|
+
- Preserve the style identity in headlines while keeping UI labels literal and clear.
|
|
65
|
+
|
|
66
|
+
## 9. Anti-patterns
|
|
67
|
+
|
|
68
|
+
- Do not introduce off-palette colors when an existing token can solve the problem.
|
|
69
|
+
- Do not flatten hierarchy by using the same type size/weight for all text.
|
|
70
|
+
- Do not add decorative effects that reduce readability or accessibility.
|
|
71
|
+
- Do not mix unrelated visual metaphors in the same interface.
|