@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,286 @@
|
|
|
1
|
+
/* ─────────────────────────────────────────────────────────────────────────
|
|
2
|
+
* design-systems/apple/tokens.css
|
|
3
|
+
*
|
|
4
|
+
* Structured token bindings for the Apple-inspired design system —
|
|
5
|
+
* a precision editorial language built around white-space discipline,
|
|
6
|
+
* SF Pro typography, and a single restrained blue accent. This file
|
|
7
|
+
* is the *machine-readable* form of the values described in
|
|
8
|
+
* `DESIGN.md`. Agents are expected to paste the `:root { … }` block
|
|
9
|
+
* verbatim into the first `<style>` of every artifact they generate
|
|
10
|
+
* against this design system, then reference everything via
|
|
11
|
+
* var(--name) from then on.
|
|
12
|
+
*
|
|
13
|
+
* Why this file exists:
|
|
14
|
+
* DESIGN.md tells humans that Apple uses "Pale Apple Gray (#f5f5f7)
|
|
15
|
+
* as the main light surface" and "Apple Action Blue (#0071e3) as the
|
|
16
|
+
* primary accent", but agents have to translate those prose names
|
|
17
|
+
* into the standard token names the lint enforces (`--surface`,
|
|
18
|
+
* `--accent`). That translation step is where token misuse happens.
|
|
19
|
+
* This file pre-translates the brand once, so agents copy structure
|
|
20
|
+
* instead of inventing it.
|
|
21
|
+
*
|
|
22
|
+
* Brand-specific schema decisions (non-obvious bindings worth flagging
|
|
23
|
+
* for reviewers and downstream brand authors):
|
|
24
|
+
* 1. We bind --surface-warm to a real intermediate tier (#fbfbfd),
|
|
25
|
+
* NOT an alias of --surface. Apple's surface ladder genuinely has
|
|
26
|
+
* three light stops — pure white retail canvas, near-white
|
|
27
|
+
* brightness-shifted bands, and pale Apple gray feature fields —
|
|
28
|
+
* so collapsing surface-warm would erase a real brand feature.
|
|
29
|
+
* 2. We bind --fg-2, --meta, and --border-soft to independent values
|
|
30
|
+
* rather than aliases. Apple's neutral text ramp is famously
|
|
31
|
+
* four-stop (Near-Black Ink → Utility Dark Gray → Secondary
|
|
32
|
+
* Neutral Gray → Mid Border Gray) and the schema's B-slots map
|
|
33
|
+
* onto it cleanly.
|
|
34
|
+
* 3. --radius-pill is bound to 980px, not 9999px. Apple's signature
|
|
35
|
+
* capsule CTA literally uses 980px in published CSS, and the
|
|
36
|
+
* number is itself a brand-recognisable detail; we keep it.
|
|
37
|
+
* 4. --accent-hover lifts (#0077ed) instead of darkening. Apple's
|
|
38
|
+
* live blue buttons brighten slightly on hover rather than mix
|
|
39
|
+
* toward black; the schema's default formula would fight that.
|
|
40
|
+
* --accent-active darkens to #0066cc — the documented Body Link
|
|
41
|
+
* Blue — so the active state aligns with Apple's read-link tone.
|
|
42
|
+
* 5. --tracking-display is -0.015em. The DESIGN.md hierarchy lists
|
|
43
|
+
* -1.2px on 80px hero (-0.015em); tighter than that breaks at
|
|
44
|
+
* smaller display sizes, looser loses Apple's machined feel.
|
|
45
|
+
* 6. --section-y-desktop is 100px. Apple's billboard chapters lean
|
|
46
|
+
* noticeably more generous than the schema default of 80px — the
|
|
47
|
+
* breathing room is what lets product imagery do the talking.
|
|
48
|
+
* 7. --ease-standard is cubic-bezier(0.28, 0, 0.22, 1), an Apple-
|
|
49
|
+
* flavoured smooth-out instead of the schema default. Apple
|
|
50
|
+
* transitions decelerate hard then settle, never bounce.
|
|
51
|
+
*
|
|
52
|
+
* Contract sources:
|
|
53
|
+
* - Standard token names: design-systems/_schema/tokens.schema.ts
|
|
54
|
+
* (TOKEN_SCHEMA — every name below appears there or as an
|
|
55
|
+
* explicit B-slot alias.)
|
|
56
|
+
* - A2 fallback values: design-systems/_schema/defaults.css
|
|
57
|
+
* (We override --motion-base, --ease-standard, --elev-raised,
|
|
58
|
+
* --focus-ring, --radius-pill; the rest match defaults.)
|
|
59
|
+
* - Lint enforcement: apps/daemon/src/lint-artifact.ts
|
|
60
|
+
* (raw-hex >12 outside :root → P1; non-token accent → P0)
|
|
61
|
+
*
|
|
62
|
+
* Keep this file additive: never invent token names not also documented
|
|
63
|
+
* in DESIGN.md or the shared schema. New Apple-derived sub-brands
|
|
64
|
+
* cloning this template should overwrite values, not rename keys.
|
|
65
|
+
* ─────────────────────────────────────────────────────────────────── */
|
|
66
|
+
|
|
67
|
+
:root {
|
|
68
|
+
/* ─── Surface (3 levels) ──────────────────────────────────────────
|
|
69
|
+
* Apple's binary section rhythm alternates pure white retail/hero
|
|
70
|
+
* canvases with pale Apple gray feature fields. We bind --bg to
|
|
71
|
+
* the white canvas (the most common default Apple page background)
|
|
72
|
+
* and --surface to the pale gray that cards and feature bands lift
|
|
73
|
+
* onto. --surface-warm is bound to a real third tier (#fbfbfd) —
|
|
74
|
+
* the near-white brightness shift that appears between hero and
|
|
75
|
+
* pale-gray bands on apple.com. Collapsing it to var(--surface)
|
|
76
|
+
* would erase a real brand feature, so we keep it independent. */
|
|
77
|
+
--bg: #ffffff;
|
|
78
|
+
--surface: #f5f5f7;
|
|
79
|
+
--surface-warm: #fbfbfd;
|
|
80
|
+
|
|
81
|
+
/* ─── Foreground ramp (4 levels) ─────────────────────────────────
|
|
82
|
+
* Apple's text neutrals are explicitly named in DESIGN.md §2:
|
|
83
|
+
* Near-Black Ink (primary), Utility Dark Gray (secondary text /
|
|
84
|
+
* dark-neutral surfaces in store contexts), Secondary Neutral Gray
|
|
85
|
+
* (helper copy / tertiary metadata), Mid Border Gray (the strongest
|
|
86
|
+
* neutral, used for stronger field outlines and the most-restrained
|
|
87
|
+
* caption tier). We bind all four — Apple genuinely walks the full
|
|
88
|
+
* ramp, so collapsing --fg-2 or --meta to siblings would flatten
|
|
89
|
+
* the brand.
|
|
90
|
+
*
|
|
91
|
+
* Note that none of these are pure black (#000000). #000000 is
|
|
92
|
+
* reserved for hero canvases and dark chapters; for body type on
|
|
93
|
+
* white, #1d1d1f gives the slight warmth that reads as Apple. */
|
|
94
|
+
--fg: #1d1d1f;
|
|
95
|
+
--fg-2: #424245;
|
|
96
|
+
--muted: #6e6e73;
|
|
97
|
+
--meta: #86868b;
|
|
98
|
+
|
|
99
|
+
/* ─── Border (2 levels) ──────────────────────────────────────────
|
|
100
|
+
* Soft Border Gray (#d2d2d7) is Apple's default divider weight and
|
|
101
|
+
* card-edge color. --border-soft is bound to a lighter near-neutral
|
|
102
|
+
* (#e8e8ed) for inner row separators in dense retail tables and
|
|
103
|
+
* configurator option lists, where the d2d2d7 hairline would
|
|
104
|
+
* over-compete with the option labels. */
|
|
105
|
+
--border: #d2d2d7;
|
|
106
|
+
--border-soft: #e8e8ed;
|
|
107
|
+
|
|
108
|
+
/* ─── Accent ──────────────────────────────────────────────────────
|
|
109
|
+
* Apple Action Blue — the system's only persistent chromatic move.
|
|
110
|
+
* DESIGN.md §7 ("Don't introduce broad secondary accent palettes
|
|
111
|
+
* that compete with Apple blue") makes this a one-color brand for
|
|
112
|
+
* action and link semantics; the schema's hard cap of ≤2 visible
|
|
113
|
+
* accent uses per screen aligns naturally. */
|
|
114
|
+
--accent: #0071e3;
|
|
115
|
+
--accent-on: #ffffff; /* white label on the blue fill */
|
|
116
|
+
|
|
117
|
+
/* ─── Accent states ───────────────────────────────────────────────
|
|
118
|
+
* Apple's live primary buttons LIGHTEN on hover (the blue gains
|
|
119
|
+
* luminance) and darken on press. The schema's default black-mix
|
|
120
|
+
* formula would fight that motion, so we hand-pick both values:
|
|
121
|
+
* - hover: #0077ed (≈ 4% brighter than --accent)
|
|
122
|
+
* - active: #0066cc (the documented Body Link Blue from DESIGN.md
|
|
123
|
+
* §2, which doubles cleanly as the press tone)
|
|
124
|
+
*
|
|
125
|
+
* Schema rule: every brand provides --accent-hover and
|
|
126
|
+
* --accent-active. The binding strategy (formula / hand-picked /
|
|
127
|
+
* identity) is brand-decided. Default uses formulas; kami uses
|
|
128
|
+
* identity + hand-picked; Apple uses hand-picked in both
|
|
129
|
+
* directions. */
|
|
130
|
+
--accent-hover: #0077ed;
|
|
131
|
+
--accent-active: #0066cc;
|
|
132
|
+
|
|
133
|
+
/* ─── Semantic ────────────────────────────────────────────────────
|
|
134
|
+
* Apple's DESIGN.md §2 explicitly notes "no distinct semantic
|
|
135
|
+
* palette was consistently visible in the extracted surface set" —
|
|
136
|
+
* so we inherit the schema defaults verbatim. Apple artifacts
|
|
137
|
+
* almost never need success / warn / danger; when they do, the
|
|
138
|
+
* defaults are restrained enough not to fight the blue accent.
|
|
139
|
+
* Reserve under 5% of any surface area regardless. */
|
|
140
|
+
--success: #16a34a;
|
|
141
|
+
--warn: #eab308;
|
|
142
|
+
--danger: #dc2626;
|
|
143
|
+
|
|
144
|
+
/* ─── Typography ──────────────────────────────────────────────────
|
|
145
|
+
* Apple's documented split is two SF Pro families: SF Pro Display
|
|
146
|
+
* for hero / merchandising headings, SF Pro Text for navigation,
|
|
147
|
+
* controls, and dense commerce copy. We mirror the exact published
|
|
148
|
+
* fallback chain (SF Pro Icons → Helvetica Neue → Helvetica → Arial
|
|
149
|
+
* → sans-serif) so artifacts rendered on non-macOS clients land on
|
|
150
|
+
* the closest practical substitute.
|
|
151
|
+
*
|
|
152
|
+
* SF Mono leads the monospace stack — Apple's brand mono — with
|
|
153
|
+
* the schema fallbacks behind it for portability. */
|
|
154
|
+
--font-display:
|
|
155
|
+
"SF Pro Display", "SF Pro Icons", "Helvetica Neue", Helvetica, Arial, sans-serif;
|
|
156
|
+
--font-body:
|
|
157
|
+
"SF Pro Text", "SF Pro Icons", "Helvetica Neue", Helvetica, Arial, sans-serif;
|
|
158
|
+
--font-mono:
|
|
159
|
+
"SF Mono", ui-monospace, "JetBrains Mono", Menlo, Monaco, Consolas, monospace;
|
|
160
|
+
|
|
161
|
+
/* Type scale (px) — derived from DESIGN.md §3 hierarchy table.
|
|
162
|
+
* Apple's body baseline is 17px (NOT the 16px web norm) because
|
|
163
|
+
* SF Pro Text was metrically tuned at 17 for Retina; rebinding
|
|
164
|
+
* --text-base to anything else collapses the brand's reading
|
|
165
|
+
* texture. The display ceiling is the 80px Hero Display XL. */
|
|
166
|
+
--text-xs: 12px; /* Micro UI — fine print, micro labels */
|
|
167
|
+
--text-sm: 14px; /* Control Label — buttons, helper labels */
|
|
168
|
+
--text-base: 17px; /* Body Primary — Apple's reading baseline */
|
|
169
|
+
--text-lg: 21px; /* Link/Action Heading — large promo links */
|
|
170
|
+
--text-xl: 28px; /* Card/Product Title — tile-level naming */
|
|
171
|
+
--text-2xl: 40px; /* Product Heading — campaign section titles */
|
|
172
|
+
--text-3xl: 56px; /* Hero Display L — homepage hero moments */
|
|
173
|
+
--text-4xl: 80px; /* Hero Display XL — Environment / store hero */
|
|
174
|
+
|
|
175
|
+
/* Apple's leading envelope is unusually tight at the top of the
|
|
176
|
+
* scale (display sizes ride at 1.00–1.10) and unusually airy in
|
|
177
|
+
* the body (1.47, well above the web 1.4 default). Both numbers
|
|
178
|
+
* come straight from DESIGN.md §3. */
|
|
179
|
+
--leading-body: 1.47; /* SF Pro Text body, 17px */
|
|
180
|
+
--leading-tight: 1.05; /* Hero Display XL ceiling */
|
|
181
|
+
|
|
182
|
+
/* Display tracking compresses to -0.015em — the famous Apple
|
|
183
|
+
* machined-headline feel. DESIGN.md §3 lists -1.2px on 80px
|
|
184
|
+
* (≈ -0.015em); we bind a single em-value so the same rule applies
|
|
185
|
+
* across the display tiers. Body type runs at 0 / -0.374px and is
|
|
186
|
+
* left to component-level rules so as not to hurt readability. */
|
|
187
|
+
--tracking-display: -0.015em;
|
|
188
|
+
|
|
189
|
+
/* ─── Spacing ─────────────────────────────────────────────────────
|
|
190
|
+
* Apple's underlying grid is 8px (DESIGN.md §5), with utility
|
|
191
|
+
* micro-steps (2/4/6/7/8/9/10) for precision alignment. The shared
|
|
192
|
+
* schema's 4-8-12-16-20-24-32-48 scale fits cleanly — we inherit
|
|
193
|
+
* the defaults. Component-internal values that don't match a token
|
|
194
|
+
* (Apple's 14px or 17px utility intervals) stay inline at the
|
|
195
|
+
* call site rather than spawning extra spacing tokens. */
|
|
196
|
+
--space-1: 4px;
|
|
197
|
+
--space-2: 8px;
|
|
198
|
+
--space-3: 12px;
|
|
199
|
+
--space-4: 16px;
|
|
200
|
+
--space-5: 20px;
|
|
201
|
+
--space-6: 24px;
|
|
202
|
+
--space-8: 32px;
|
|
203
|
+
--space-12: 48px;
|
|
204
|
+
|
|
205
|
+
/* ─── Section rhythm ──────────────────────────────────────────────
|
|
206
|
+
* Apple's billboard chapters lean noticeably more generous than the
|
|
207
|
+
* schema default of 80px — broad top/bottom breathing room is what
|
|
208
|
+
* lets product imagery dominate the page. We bind 100/64/40, a
|
|
209
|
+
* slightly wider envelope than default's 80/48/32. */
|
|
210
|
+
--section-y-desktop: 100px;
|
|
211
|
+
--section-y-tablet: 64px;
|
|
212
|
+
--section-y-phone: 40px;
|
|
213
|
+
|
|
214
|
+
/* ─── Radius ──────────────────────────────────────────────────────
|
|
215
|
+
* Apple uses purposeful radius tiers (DESIGN.md §5 §7 — "don't
|
|
216
|
+
* flatten all corners to a single radius"). The mapping:
|
|
217
|
+
* --radius-sm → 8px compact controls and fields
|
|
218
|
+
* --radius-md → 12px standard buttons, configurator chips
|
|
219
|
+
* --radius-lg → 18px cards, module frames, commerce panels
|
|
220
|
+
* --radius-pill → 980px Apple's signature capsule CTA — we keep
|
|
221
|
+
* the literal value rather than collapse
|
|
222
|
+
* to 9999px because the number itself is
|
|
223
|
+
* a brand-recognisable detail in Apple's
|
|
224
|
+
* published CSS.
|
|
225
|
+
*
|
|
226
|
+
* The 28-36px spotlight tier and the 56px capsule sub-tier are
|
|
227
|
+
* component-internal one-offs and stay inline — they do not earn
|
|
228
|
+
* their own tokens until a second use appears. */
|
|
229
|
+
--radius-sm: 8px;
|
|
230
|
+
--radius-md: 12px;
|
|
231
|
+
--radius-lg: 18px;
|
|
232
|
+
--radius-pill: 980px;
|
|
233
|
+
|
|
234
|
+
/* ─── Elevation (3 levels) ────────────────────────────────────────
|
|
235
|
+
* Apple uses depth sparingly (DESIGN.md §6 — "depth is intentionally
|
|
236
|
+
* restrained"). Three sanctioned levels:
|
|
237
|
+
* - flat → none (the default; tonal contrast does the work)
|
|
238
|
+
* - ring → 0 0 0 1px var(--border) (border-led containment in
|
|
239
|
+
* dense retail contexts)
|
|
240
|
+
* - raised → 0 12px 32px rgba(0,0,0,0.08) (the soft Apple card
|
|
241
|
+
* shadow; rgba 0.08 is the lower bound from DESIGN.md
|
|
242
|
+
* §6's "0.08 → 0.22" range, which keeps cards from
|
|
243
|
+
* feeling Material-flavoured)
|
|
244
|
+
*
|
|
245
|
+
* No fourth level — that would be the Material/neumorphism stack
|
|
246
|
+
* Apple consciously avoids. */
|
|
247
|
+
--elev-flat: none;
|
|
248
|
+
--elev-ring: 0 0 0 1px var(--border);
|
|
249
|
+
--elev-raised: 0 12px 32px rgba(0, 0, 0, 0.08);
|
|
250
|
+
|
|
251
|
+
/* ─── Focus ring ──────────────────────────────────────────────────
|
|
252
|
+
* Apple's keyboard-focus signal is a soft blue glow at the action
|
|
253
|
+
* accent (DESIGN.md §6 — "Blue focus signal (#0071e3) for keyboard
|
|
254
|
+
* and selection emphasis"). We use a 4px ring at ~35% accent
|
|
255
|
+
* opacity, slightly larger than the schema's 3px default so it
|
|
256
|
+
* reads as the deliberate Apple halo rather than a generic outline.
|
|
257
|
+
* Implemented as a box-shadow so it layers outside the element
|
|
258
|
+
* without affecting layout. */
|
|
259
|
+
--focus-ring: 0 0 0 4px color-mix(in oklab, var(--accent), transparent 65%);
|
|
260
|
+
|
|
261
|
+
/* ─── Motion ──────────────────────────────────────────────────────
|
|
262
|
+
* Apple transitions decelerate hard and settle — never bounce,
|
|
263
|
+
* never spring past the target. We override the schema default
|
|
264
|
+
* easing with cubic-bezier(0.28, 0, 0.22, 1), the curve Apple
|
|
265
|
+
* uses on apple.com for hover and section reveals; --motion-base
|
|
266
|
+
* is bumped from 200ms → 220ms because Apple's micro-interactions
|
|
267
|
+
* carry slightly more cinematic weight than the web default.
|
|
268
|
+
* --motion-fast stays at 150ms for true micro-states (hover tints,
|
|
269
|
+
* focus, kbd press feedback). */
|
|
270
|
+
--motion-fast: 150ms;
|
|
271
|
+
--motion-base: 220ms;
|
|
272
|
+
--ease-standard: cubic-bezier(0.28, 0, 0.22, 1);
|
|
273
|
+
|
|
274
|
+
/* ─── Layout ──────────────────────────────────────────────────────
|
|
275
|
+
* Apple's marketing core is a constrained readable column with
|
|
276
|
+
* generous outer margins (DESIGN.md §5). 1024px max keeps lines
|
|
277
|
+
* inside the SF Pro Text comfortable-measure ceiling (~80ch at
|
|
278
|
+
* 17px) while leaving the chapter band full-bleed. Gutters step
|
|
279
|
+
* 22 → 18 → 16 across desktop / tablet / phone — slightly tighter
|
|
280
|
+
* than default to honor Apple's "broad horizontal breathing room
|
|
281
|
+
* but column-disciplined content" balance. */
|
|
282
|
+
--container-max: 1024px;
|
|
283
|
+
--container-gutter-desktop: 22px;
|
|
284
|
+
--container-gutter-tablet: 18px;
|
|
285
|
+
--container-gutter-phone: 16px;
|
|
286
|
+
}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# Design System Inspired by Application
|
|
2
|
+
|
|
3
|
+
> Category: Professional & Corporate
|
|
4
|
+
> App dashboard with purple-themed aesthetic, top-bar navigation, card-based layouts, and developer-first workflows.
|
|
5
|
+
|
|
6
|
+
## 1. Visual Theme & Atmosphere
|
|
7
|
+
|
|
8
|
+
App dashboard with purple-themed aesthetic, top-bar navigation, card-based layouts, and developer-first workflows.
|
|
9
|
+
|
|
10
|
+
- **Visual style:** modern, clean, high-contrast, glass-like panels, soft shadows, rounded components
|
|
11
|
+
- **Color stance:** primary (purple), 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:** `#9333EA` — Token from style foundations.
|
|
17
|
+
- **Secondary:** `#A855F7` — Token from style foundations.
|
|
18
|
+
- **Success:** `#10B981` — Token from style foundations.
|
|
19
|
+
- **Warning:** `#F59E0B` — Token from style foundations.
|
|
20
|
+
- **Danger:** `#EF4444` — Token from style foundations.
|
|
21
|
+
- **Surface:** `#FFFFFF` — Token from style foundations.
|
|
22
|
+
- **Text:** `#09090B` — Token from style foundations.
|
|
23
|
+
- **Neutral:** `#FFFFFF` — Derived from the surface token for official format compatibility.
|
|
24
|
+
|
|
25
|
+
- Favor Primary (#9333EA) for CTA emphasis.
|
|
26
|
+
- Use Surface (#FFFFFF) for large backgrounds and cards.
|
|
27
|
+
- Keep body copy on Text (#09090B) for legibility.
|
|
28
|
+
|
|
29
|
+
## 3. Typography
|
|
30
|
+
|
|
31
|
+
- **Scale:** 12/14/16/20/24/32
|
|
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 `#9333EA`; 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 (#9333EA) 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>Application - reference components</title>
|
|
7
|
+
<meta name="description" content="Reference fixture for design-systems/application: neutral app chrome, practical hierarchy, restrained blue action, and predictable product layout." />
|
|
8
|
+
<style>
|
|
9
|
+
:root {
|
|
10
|
+
--bg: #f6f7f9;
|
|
11
|
+
--surface: #ffffff;
|
|
12
|
+
--surface-warm: #eef4ff;
|
|
13
|
+
--fg: #172033;
|
|
14
|
+
--fg-2: #3b4658;
|
|
15
|
+
--muted: #6b7689;
|
|
16
|
+
--meta: #2563eb;
|
|
17
|
+
--border: #d8dee8;
|
|
18
|
+
--border-soft: #edf1f6;
|
|
19
|
+
--accent: #2563eb;
|
|
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: #16a34a;
|
|
24
|
+
--warn: #f59e0b;
|
|
25
|
+
--danger: #dc2626;
|
|
26
|
+
--font-display: Inter, system-ui, sans-serif;
|
|
27
|
+
--font-body: Inter, system-ui, sans-serif;
|
|
28
|
+
--font-mono: "SF Mono", ui-monospace, Menlo, monospace;
|
|
29
|
+
--text-xs: 12px;
|
|
30
|
+
--text-sm: 14px;
|
|
31
|
+
--text-base: 16px;
|
|
32
|
+
--text-lg: 18px;
|
|
33
|
+
--text-xl: 22px;
|
|
34
|
+
--text-2xl: 30px;
|
|
35
|
+
--text-3xl: 42px;
|
|
36
|
+
--text-4xl: 58px;
|
|
37
|
+
--leading-body: 1.5;
|
|
38
|
+
--leading-tight: 1.12;
|
|
39
|
+
--tracking-display: -0.015em;
|
|
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: 88px;
|
|
49
|
+
--section-y-tablet: 64px;
|
|
50
|
+
--section-y-phone: 44px;
|
|
51
|
+
--radius-sm: 8px;
|
|
52
|
+
--radius-md: 12px;
|
|
53
|
+
--radius-lg: 18px;
|
|
54
|
+
--radius-pill: 9999px;
|
|
55
|
+
--elev-flat: none;
|
|
56
|
+
--elev-ring: 0 0 0 1px var(--border);
|
|
57
|
+
--elev-raised: 0 16px 40px rgba(23, 32, 51, 0.10);
|
|
58
|
+
--focus-ring: 0 0 0 4px rgba(37, 99, 235, 0.22);
|
|
59
|
+
--motion-fast: 140ms;
|
|
60
|
+
--motion-base: 220ms;
|
|
61
|
+
--ease-standard: cubic-bezier(0.2, 0, 0, 1);
|
|
62
|
+
--container-max: 1200px;
|
|
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, #f6f7f9 0%, #eef4ff 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">Application design system</p>
|
|
134
|
+
<h1>Product app shell</h1>
|
|
135
|
+
<p class="lead">A pragmatic application system for forms, lists, navigation, and content density.</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="Application 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>neutral app chrome, practical hierarchy, restrained blue action, and predictable product layout.</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="application-input">Reference input</label><input id="application-input" value="Application 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/application/tokens.css
|
|
2
|
+
* Structured token bindings for Application.
|
|
3
|
+
* neutral app chrome, practical hierarchy, restrained blue action, and predictable product layout.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
:root {
|
|
7
|
+
--bg: #f6f7f9;
|
|
8
|
+
--surface: #ffffff;
|
|
9
|
+
--surface-warm: #eef4ff;
|
|
10
|
+
--fg: #172033;
|
|
11
|
+
--fg-2: #3b4658;
|
|
12
|
+
--muted: #6b7689;
|
|
13
|
+
--meta: #2563eb;
|
|
14
|
+
--border: #d8dee8;
|
|
15
|
+
--border-soft: #edf1f6;
|
|
16
|
+
--accent: #2563eb;
|
|
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: #16a34a;
|
|
21
|
+
--warn: #f59e0b;
|
|
22
|
+
--danger: #dc2626;
|
|
23
|
+
--font-display: Inter, system-ui, sans-serif;
|
|
24
|
+
--font-body: Inter, system-ui, sans-serif;
|
|
25
|
+
--font-mono: "SF Mono", ui-monospace, Menlo, monospace;
|
|
26
|
+
--text-xs: 12px;
|
|
27
|
+
--text-sm: 14px;
|
|
28
|
+
--text-base: 16px;
|
|
29
|
+
--text-lg: 18px;
|
|
30
|
+
--text-xl: 22px;
|
|
31
|
+
--text-2xl: 30px;
|
|
32
|
+
--text-3xl: 42px;
|
|
33
|
+
--text-4xl: 58px;
|
|
34
|
+
--leading-body: 1.5;
|
|
35
|
+
--leading-tight: 1.12;
|
|
36
|
+
--tracking-display: -0.015em;
|
|
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: 88px;
|
|
46
|
+
--section-y-tablet: 64px;
|
|
47
|
+
--section-y-phone: 44px;
|
|
48
|
+
--radius-sm: 8px;
|
|
49
|
+
--radius-md: 12px;
|
|
50
|
+
--radius-lg: 18px;
|
|
51
|
+
--radius-pill: 9999px;
|
|
52
|
+
--elev-flat: none;
|
|
53
|
+
--elev-ring: 0 0 0 1px var(--border);
|
|
54
|
+
--elev-raised: 0 16px 40px rgba(23, 32, 51, 0.10);
|
|
55
|
+
--focus-ring: 0 0 0 4px rgba(37, 99, 235, 0.22);
|
|
56
|
+
--motion-fast: 140ms;
|
|
57
|
+
--motion-base: 220ms;
|
|
58
|
+
--ease-standard: cubic-bezier(0.2, 0, 0, 1);
|
|
59
|
+
--container-max: 1200px;
|
|
60
|
+
--container-gutter-desktop: 36px;
|
|
61
|
+
--container-gutter-tablet: 24px;
|
|
62
|
+
--container-gutter-phone: 16px;
|
|
63
|
+
}
|