@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,493 @@
|
|
|
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>Starbucks โ reference components</title>
|
|
7
|
+
<meta
|
|
8
|
+
name="description"
|
|
9
|
+
content="Reference fixture for design-systems/starbucks. Warm cream canvas,
|
|
10
|
+
four-tier green system, full-pill buttons, whisper-soft layered shadows,
|
|
11
|
+
and SoDoSans with universal -0.01em tracking."
|
|
12
|
+
/>
|
|
13
|
+
|
|
14
|
+
<style>
|
|
15
|
+
:root {
|
|
16
|
+
--bg: #f2f0eb;
|
|
17
|
+
--surface: #ffffff;
|
|
18
|
+
--surface-warm: #edebe9;
|
|
19
|
+
|
|
20
|
+
--fg: rgba(0, 0, 0, 0.87);
|
|
21
|
+
--fg-2: #33433d;
|
|
22
|
+
--muted: rgba(0, 0, 0, 0.58);
|
|
23
|
+
--meta: var(--muted);
|
|
24
|
+
|
|
25
|
+
--border: #d6dbde;
|
|
26
|
+
--border-soft: #e7e7e7;
|
|
27
|
+
|
|
28
|
+
--accent: #00754A;
|
|
29
|
+
--accent-on: #ffffff;
|
|
30
|
+
--accent-hover: color-mix(in oklab, var(--accent), black 8%);
|
|
31
|
+
--accent-active: color-mix(in oklab, var(--accent), black 14%);
|
|
32
|
+
|
|
33
|
+
--success: #16a34a;
|
|
34
|
+
--warn: #fbbc05;
|
|
35
|
+
--danger: #c82014;
|
|
36
|
+
|
|
37
|
+
--font-display: SoDoSans, "Helvetica Neue", Helvetica, Arial, sans-serif;
|
|
38
|
+
--font-body: SoDoSans, "Helvetica Neue", Helvetica, Arial, sans-serif;
|
|
39
|
+
--font-mono: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Monaco, Consolas, monospace;
|
|
40
|
+
|
|
41
|
+
--text-xs: 13px;
|
|
42
|
+
--text-sm: 14px;
|
|
43
|
+
--text-base: 16px;
|
|
44
|
+
--text-lg: 19px;
|
|
45
|
+
--text-xl: 24px;
|
|
46
|
+
--text-2xl: 32px;
|
|
47
|
+
--text-3xl: 45px;
|
|
48
|
+
--text-4xl: 58px;
|
|
49
|
+
|
|
50
|
+
--leading-body: 1.5;
|
|
51
|
+
--leading-tight: 1.2;
|
|
52
|
+
--tracking-display: -0.01em;
|
|
53
|
+
|
|
54
|
+
--space-1: 4px;
|
|
55
|
+
--space-2: 8px;
|
|
56
|
+
--space-3: 12px;
|
|
57
|
+
--space-4: 16px;
|
|
58
|
+
--space-5: 20px;
|
|
59
|
+
--space-6: 24px;
|
|
60
|
+
--space-8: 32px;
|
|
61
|
+
--space-12: 48px;
|
|
62
|
+
|
|
63
|
+
--section-y-desktop: 64px;
|
|
64
|
+
--section-y-tablet: 48px;
|
|
65
|
+
--section-y-phone: 32px;
|
|
66
|
+
|
|
67
|
+
--radius-sm: 4px;
|
|
68
|
+
--radius-md: 12px;
|
|
69
|
+
--radius-lg: 16px;
|
|
70
|
+
--radius-pill: 9999px;
|
|
71
|
+
|
|
72
|
+
--elev-flat: none;
|
|
73
|
+
--elev-ring: 0 0 0 1px var(--border);
|
|
74
|
+
--elev-raised: 0 0 0.5px 0 rgba(0, 0, 0, 0.14), 0 1px 1px 0 rgba(0, 0, 0, 0.24);
|
|
75
|
+
|
|
76
|
+
--focus-ring: 0 0 0 3px color-mix(in oklab, var(--accent), transparent 70%);
|
|
77
|
+
|
|
78
|
+
--motion-fast: 150ms;
|
|
79
|
+
--motion-base: 200ms;
|
|
80
|
+
--ease-standard: cubic-bezier(0.25, 0.46, 0.45, 0.94);
|
|
81
|
+
|
|
82
|
+
--container-max: 1440px;
|
|
83
|
+
--container-gutter-desktop: 40px;
|
|
84
|
+
--container-gutter-tablet: 24px;
|
|
85
|
+
--container-gutter-phone: 16px;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
/* โโโ Reset โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ */
|
|
89
|
+
*, *::before, *::after { box-sizing: border-box; }
|
|
90
|
+
html, body { margin: 0; padding: 0; }
|
|
91
|
+
body {
|
|
92
|
+
background: var(--bg);
|
|
93
|
+
color: var(--fg);
|
|
94
|
+
font-family: var(--font-body);
|
|
95
|
+
font-size: var(--text-base);
|
|
96
|
+
line-height: var(--leading-body);
|
|
97
|
+
letter-spacing: var(--tracking-display);
|
|
98
|
+
-webkit-font-smoothing: antialiased;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
/* โโโ Layout โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ */
|
|
102
|
+
.container {
|
|
103
|
+
max-width: var(--container-max);
|
|
104
|
+
margin-inline: auto;
|
|
105
|
+
padding-inline: var(--container-gutter-desktop);
|
|
106
|
+
}
|
|
107
|
+
section { padding-block: var(--section-y-desktop); }
|
|
108
|
+
@media (max-width: 1023px) {
|
|
109
|
+
.container { padding-inline: var(--container-gutter-tablet); }
|
|
110
|
+
section { padding-block: var(--section-y-tablet); }
|
|
111
|
+
}
|
|
112
|
+
@media (max-width: 639px) {
|
|
113
|
+
.container { padding-inline: var(--container-gutter-phone); }
|
|
114
|
+
section { padding-block: var(--section-y-phone); }
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
/* โโโ Typography โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
118
|
+
* Universal -0.01em tracking; hierarchy carried by weight + color,
|
|
119
|
+
* not by size jumps. H1 in Starbucks Green; H2 stays in Text Black. */
|
|
120
|
+
h1, h2, h3 {
|
|
121
|
+
font-family: var(--font-display);
|
|
122
|
+
line-height: var(--leading-tight);
|
|
123
|
+
letter-spacing: var(--tracking-display);
|
|
124
|
+
margin: 0;
|
|
125
|
+
}
|
|
126
|
+
h1 {
|
|
127
|
+
font-size: var(--text-3xl);
|
|
128
|
+
font-weight: 600;
|
|
129
|
+
color: #006241;
|
|
130
|
+
}
|
|
131
|
+
h2 {
|
|
132
|
+
font-size: var(--text-xl);
|
|
133
|
+
font-weight: 400;
|
|
134
|
+
color: var(--fg);
|
|
135
|
+
}
|
|
136
|
+
h3 {
|
|
137
|
+
font-size: var(--text-lg);
|
|
138
|
+
font-weight: 600;
|
|
139
|
+
color: var(--fg);
|
|
140
|
+
}
|
|
141
|
+
p { margin: 0; }
|
|
142
|
+
.lead {
|
|
143
|
+
font-size: var(--text-lg);
|
|
144
|
+
color: var(--fg);
|
|
145
|
+
line-height: var(--leading-body);
|
|
146
|
+
}
|
|
147
|
+
.body-muted { color: var(--muted); }
|
|
148
|
+
.body-sm { font-size: var(--text-sm); }
|
|
149
|
+
.eyebrow {
|
|
150
|
+
font-size: var(--text-xs);
|
|
151
|
+
color: var(--muted);
|
|
152
|
+
text-transform: uppercase;
|
|
153
|
+
letter-spacing: 0.15em;
|
|
154
|
+
font-weight: 600;
|
|
155
|
+
}
|
|
156
|
+
.stack-3 > * + * { margin-block-start: var(--space-3); }
|
|
157
|
+
.stack-4 > * + * { margin-block-start: var(--space-4); }
|
|
158
|
+
.stack-6 > * + * { margin-block-start: var(--space-6); }
|
|
159
|
+
|
|
160
|
+
/* โโโ Buttons โ universal 9999px pill, scale(0.95) press โโ */
|
|
161
|
+
.btn {
|
|
162
|
+
display: inline-flex;
|
|
163
|
+
align-items: center;
|
|
164
|
+
gap: var(--space-2);
|
|
165
|
+
padding: 14px 28px;
|
|
166
|
+
border-radius: var(--radius-pill);
|
|
167
|
+
font-family: var(--font-body);
|
|
168
|
+
font-size: var(--text-base);
|
|
169
|
+
font-weight: 600;
|
|
170
|
+
line-height: 1.2;
|
|
171
|
+
letter-spacing: var(--tracking-display);
|
|
172
|
+
cursor: pointer;
|
|
173
|
+
border: 1px solid transparent;
|
|
174
|
+
transition: background-color var(--motion-base) var(--ease-standard),
|
|
175
|
+
color var(--motion-base) var(--ease-standard),
|
|
176
|
+
border-color var(--motion-base) var(--ease-standard),
|
|
177
|
+
transform var(--motion-fast) var(--ease-standard);
|
|
178
|
+
text-decoration: none;
|
|
179
|
+
}
|
|
180
|
+
.btn:active { transform: scale(0.95); }
|
|
181
|
+
.btn:focus-visible { outline: none; box-shadow: var(--focus-ring); }
|
|
182
|
+
|
|
183
|
+
/* Primary Filled โ Green Accent fill */
|
|
184
|
+
.btn-primary {
|
|
185
|
+
background: var(--accent);
|
|
186
|
+
color: var(--accent-on);
|
|
187
|
+
border-color: var(--accent);
|
|
188
|
+
}
|
|
189
|
+
.btn-primary:hover { background: var(--accent-hover); border-color: var(--accent-hover); }
|
|
190
|
+
|
|
191
|
+
/* Primary Outlined โ transparent / Green Accent stroke */
|
|
192
|
+
.btn-secondary {
|
|
193
|
+
background: transparent;
|
|
194
|
+
color: var(--accent);
|
|
195
|
+
border-color: var(--accent);
|
|
196
|
+
}
|
|
197
|
+
.btn-secondary:hover {
|
|
198
|
+
background: color-mix(in oklab, var(--accent), transparent 92%);
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
/* Dark Outlined โ Text Black stroke (top-nav "Sign in") */
|
|
202
|
+
.btn-ghost {
|
|
203
|
+
background: transparent;
|
|
204
|
+
color: var(--fg);
|
|
205
|
+
border-color: var(--fg);
|
|
206
|
+
padding: 7px 16px;
|
|
207
|
+
font-size: var(--text-sm);
|
|
208
|
+
}
|
|
209
|
+
.btn-ghost:hover { background: rgba(0, 0, 0, 0.04); }
|
|
210
|
+
|
|
211
|
+
/* โโโ Inputs โ outlined-rectangle with --radius-sm โโโโโโโโ */
|
|
212
|
+
.field { display: flex; flex-direction: column; gap: var(--space-2); }
|
|
213
|
+
.field label {
|
|
214
|
+
font-size: var(--text-sm);
|
|
215
|
+
font-weight: 600;
|
|
216
|
+
color: var(--fg);
|
|
217
|
+
}
|
|
218
|
+
.field input {
|
|
219
|
+
padding: 12px var(--space-4);
|
|
220
|
+
border-radius: var(--radius-sm);
|
|
221
|
+
border: 1px solid var(--border);
|
|
222
|
+
background: var(--surface);
|
|
223
|
+
color: var(--fg);
|
|
224
|
+
font-family: var(--font-body);
|
|
225
|
+
font-size: var(--text-base);
|
|
226
|
+
letter-spacing: var(--tracking-display);
|
|
227
|
+
outline: none;
|
|
228
|
+
transition: border-color var(--motion-fast) var(--ease-standard),
|
|
229
|
+
box-shadow var(--motion-fast) var(--ease-standard);
|
|
230
|
+
}
|
|
231
|
+
.field input:focus-visible {
|
|
232
|
+
border-color: var(--accent);
|
|
233
|
+
box-shadow: var(--focus-ring);
|
|
234
|
+
}
|
|
235
|
+
.field input::placeholder { color: var(--muted); }
|
|
236
|
+
.field-help { font-size: var(--text-xs); color: var(--muted); }
|
|
237
|
+
|
|
238
|
+
/* โโโ Cards โ whisper-soft dual shadow, --radius-md โโโโโโโ */
|
|
239
|
+
.card {
|
|
240
|
+
background: var(--surface);
|
|
241
|
+
border-radius: var(--radius-md);
|
|
242
|
+
padding: var(--space-6);
|
|
243
|
+
display: flex;
|
|
244
|
+
flex-direction: column;
|
|
245
|
+
gap: var(--space-3);
|
|
246
|
+
box-shadow: var(--elev-raised);
|
|
247
|
+
}
|
|
248
|
+
.card-eyebrow {
|
|
249
|
+
font-size: var(--text-xs);
|
|
250
|
+
color: var(--accent);
|
|
251
|
+
text-transform: uppercase;
|
|
252
|
+
letter-spacing: 0.15em;
|
|
253
|
+
font-weight: 700;
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
/* โโโ Badges โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ */
|
|
257
|
+
.badge {
|
|
258
|
+
display: inline-flex; align-items: center; gap: var(--space-2);
|
|
259
|
+
padding: 4px var(--space-3);
|
|
260
|
+
border-radius: var(--radius-pill);
|
|
261
|
+
font-size: var(--text-xs); font-weight: 600; line-height: 1.4;
|
|
262
|
+
}
|
|
263
|
+
.badge-success { color: var(--success); background: color-mix(in oklab, var(--success), transparent 88%); }
|
|
264
|
+
.badge-muted { color: var(--muted); background: var(--surface-warm); }
|
|
265
|
+
.badge-dot { width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
|
|
266
|
+
|
|
267
|
+
/* Rewards Cost Pill โ gold outline on transparent */
|
|
268
|
+
.badge-rewards {
|
|
269
|
+
color: #cba258;
|
|
270
|
+
background: transparent;
|
|
271
|
+
border: 1px solid #cba258;
|
|
272
|
+
letter-spacing: 0.05em;
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
/* โโโ Links โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ */
|
|
276
|
+
a { color: var(--accent); text-decoration: none; }
|
|
277
|
+
a:hover { text-decoration: underline; text-underline-offset: 3px; }
|
|
278
|
+
kbd {
|
|
279
|
+
font-family: var(--font-mono); font-size: var(--text-xs);
|
|
280
|
+
padding: 2px 6px; border-radius: var(--radius-sm);
|
|
281
|
+
border: 1px solid var(--border); background: var(--surface); color: var(--muted);
|
|
282
|
+
}
|
|
283
|
+
|
|
284
|
+
/* โโโ Hero / Layout helpers โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ */
|
|
285
|
+
.hero {
|
|
286
|
+
background: var(--bg);
|
|
287
|
+
padding-block: var(--section-y-desktop);
|
|
288
|
+
}
|
|
289
|
+
.hero-grid {
|
|
290
|
+
display: grid;
|
|
291
|
+
grid-template-columns: 1.4fr 1fr;
|
|
292
|
+
gap: var(--space-12);
|
|
293
|
+
align-items: center;
|
|
294
|
+
}
|
|
295
|
+
@media (max-width: 1023px) {
|
|
296
|
+
.hero-grid { grid-template-columns: 1fr; gap: var(--space-8); }
|
|
297
|
+
}
|
|
298
|
+
.hero-actions {
|
|
299
|
+
display: flex;
|
|
300
|
+
gap: var(--space-3);
|
|
301
|
+
margin-block-start: var(--space-6);
|
|
302
|
+
flex-wrap: wrap;
|
|
303
|
+
}
|
|
304
|
+
.hero-meta {
|
|
305
|
+
display: flex; flex-direction: column; gap: var(--space-3);
|
|
306
|
+
padding: var(--space-6);
|
|
307
|
+
background: var(--surface);
|
|
308
|
+
border-radius: var(--radius-md);
|
|
309
|
+
box-shadow: var(--elev-raised);
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
.features-grid {
|
|
313
|
+
display: grid;
|
|
314
|
+
grid-template-columns: repeat(3, 1fr);
|
|
315
|
+
gap: var(--space-6);
|
|
316
|
+
}
|
|
317
|
+
@media (max-width: 1023px) { .features-grid { grid-template-columns: 1fr 1fr; } }
|
|
318
|
+
@media (max-width: 639px) { .features-grid { grid-template-columns: 1fr; } }
|
|
319
|
+
|
|
320
|
+
.form-row {
|
|
321
|
+
display: grid;
|
|
322
|
+
grid-template-columns: 1fr 1fr;
|
|
323
|
+
gap: var(--space-12);
|
|
324
|
+
align-items: start;
|
|
325
|
+
}
|
|
326
|
+
@media (max-width: 1023px) { .form-row { grid-template-columns: 1fr; } }
|
|
327
|
+
.form { display: flex; flex-direction: column; gap: var(--space-4); max-width: 440px; }
|
|
328
|
+
.form-actions { display: flex; gap: var(--space-3); margin-block-start: var(--space-2); flex-wrap: wrap; }
|
|
329
|
+
.icon { width: 16px; height: 16px; flex-shrink: 0; }
|
|
330
|
+
.row-between { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); }
|
|
331
|
+
|
|
332
|
+
/* Feature band โ House Green band with white text on dark surface */
|
|
333
|
+
.band-dark {
|
|
334
|
+
background: #1E3932;
|
|
335
|
+
border-radius: var(--radius-md);
|
|
336
|
+
padding: var(--space-12) var(--space-8);
|
|
337
|
+
color: #ffffff;
|
|
338
|
+
}
|
|
339
|
+
.band-dark h2 { color: #ffffff; }
|
|
340
|
+
.band-dark .lead { color: rgba(255, 255, 255, 0.70); }
|
|
341
|
+
.band-dark .btn-primary {
|
|
342
|
+
background: #ffffff;
|
|
343
|
+
color: var(--accent);
|
|
344
|
+
border-color: #ffffff;
|
|
345
|
+
}
|
|
346
|
+
.band-dark .btn-primary:hover { background: rgba(255, 255, 255, 0.92); border-color: rgba(255, 255, 255, 0.92); }
|
|
347
|
+
.band-dark .btn-secondary {
|
|
348
|
+
background: transparent;
|
|
349
|
+
color: #ffffff;
|
|
350
|
+
border-color: #ffffff;
|
|
351
|
+
}
|
|
352
|
+
.band-dark .btn-secondary:hover { background: rgba(255, 255, 255, 0.12); }
|
|
353
|
+
</style>
|
|
354
|
+
</head>
|
|
355
|
+
<body>
|
|
356
|
+
<main class="container">
|
|
357
|
+
<section class="hero" data-od-id="hero">
|
|
358
|
+
<div class="hero-grid">
|
|
359
|
+
<div class="stack-4">
|
|
360
|
+
<p class="eyebrow">Reference fixture ยท starbucks</p>
|
|
361
|
+
<h1>More than coffee โ your third place, on the house.</h1>
|
|
362
|
+
<p class="lead" style="max-width: 56ch">
|
|
363
|
+
Warm cream canvas, four greens with assigned roles, and the friendly
|
|
364
|
+
confidence of SoDoSans. Open the app, find a store, or sit awhile โ
|
|
365
|
+
every surface is built to feel like the cafรฉ itself.
|
|
366
|
+
</p>
|
|
367
|
+
<div class="hero-actions">
|
|
368
|
+
<a href="./tokens.css" class="btn btn-primary">
|
|
369
|
+
Order now
|
|
370
|
+
<svg class="icon" viewBox="0 0 24 24" fill="none"
|
|
371
|
+
stroke="currentColor" stroke-width="2"
|
|
372
|
+
stroke-linecap="round" stroke-linejoin="round"
|
|
373
|
+
aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg>
|
|
374
|
+
</a>
|
|
375
|
+
<a href="./DESIGN.md" class="btn btn-secondary">Join Rewards</a>
|
|
376
|
+
<a href="#" class="btn btn-ghost">Find a store</a>
|
|
377
|
+
</div>
|
|
378
|
+
</div>
|
|
379
|
+
<aside class="hero-meta" aria-label="Store status">
|
|
380
|
+
<div class="row-between">
|
|
381
|
+
<span class="body-sm">Nearest store</span>
|
|
382
|
+
<span class="badge badge-success">
|
|
383
|
+
<span class="badge-dot" aria-hidden="true"></span>
|
|
384
|
+
Open ยท 1.2 mi
|
|
385
|
+
</span>
|
|
386
|
+
</div>
|
|
387
|
+
<p class="body-sm" style="color: var(--muted)">
|
|
388
|
+
Pike Place Roast brewing now ยท pickup in 6 min
|
|
389
|
+
</p>
|
|
390
|
+
<span class="badge badge-rewards" style="align-self:flex-start">200โ
free drink</span>
|
|
391
|
+
<p class="body-sm" style="color: var(--muted)">
|
|
392
|
+
Press <kbd>โ</kbd> <kbd>K</kbd> to reorder a favorite.
|
|
393
|
+
</p>
|
|
394
|
+
</aside>
|
|
395
|
+
</div>
|
|
396
|
+
</section>
|
|
397
|
+
|
|
398
|
+
<section data-od-id="features">
|
|
399
|
+
<div class="stack-3">
|
|
400
|
+
<p class="eyebrow">A system for the cafรฉ</p>
|
|
401
|
+
<h2 style="max-width: 28ch">Warmth, mapped to a role โ never a single brand green.</h2>
|
|
402
|
+
</div>
|
|
403
|
+
<div class="features-grid" style="margin-block-start: var(--space-8)">
|
|
404
|
+
<article class="card">
|
|
405
|
+
<p class="card-eyebrow">Four-tier green</p>
|
|
406
|
+
<h3>Starbucks ยท Accent ยท House ยท Uplift</h3>
|
|
407
|
+
<p class="body-muted body-sm">
|
|
408
|
+
Each green is mapped to a surface role: Starbucks Green for headings,
|
|
409
|
+
Green Accent (#00754A) for CTAs and the Frap, House Green for deep
|
|
410
|
+
feature bands and the footer, Uplift for decorative accents.
|
|
411
|
+
</p>
|
|
412
|
+
<a href="./tokens.css" class="body-sm">Inspect tokens โ</a>
|
|
413
|
+
</article>
|
|
414
|
+
<article class="card">
|
|
415
|
+
<p class="card-eyebrow">Warm cream canvas</p>
|
|
416
|
+
<h3>Never pure white.</h3>
|
|
417
|
+
<p class="body-muted body-sm">
|
|
418
|
+
Neutral Warm (#f2f0eb) and Ceramic (#edebe9) reference cafรฉ paper,
|
|
419
|
+
wood, and ceramic mugs. White is reserved for the card surface so
|
|
420
|
+
content reads like a mug placed on the table.
|
|
421
|
+
</p>
|
|
422
|
+
<a href="./DESIGN.md" class="body-sm">Read the rule โ</a>
|
|
423
|
+
</article>
|
|
424
|
+
<article class="card">
|
|
425
|
+
<p class="card-eyebrow">Pill + press</p>
|
|
426
|
+
<h3>Full-pill buttons, scale(0.95) press.</h3>
|
|
427
|
+
<p class="body-muted body-sm">
|
|
428
|
+
Every button is a 9999px pill. The active-press tactile rebound
|
|
429
|
+
uses transform: scale(0.95) โ a signature micro-interaction across
|
|
430
|
+
every CTA, including the floating Frap order button.
|
|
431
|
+
</p>
|
|
432
|
+
<a href="./tokens.css" class="body-sm">Inspect motion โ</a>
|
|
433
|
+
</article>
|
|
434
|
+
</div>
|
|
435
|
+
</section>
|
|
436
|
+
|
|
437
|
+
<section data-od-id="band">
|
|
438
|
+
<div class="band-dark">
|
|
439
|
+
<div class="hero-grid">
|
|
440
|
+
<div class="stack-4">
|
|
441
|
+
<p class="eyebrow" style="color: rgba(255,255,255,0.70)">Rewards</p>
|
|
442
|
+
<h2 style="font-size: var(--text-2xl); font-weight: 600">
|
|
443
|
+
Free coffee is just the beginning.
|
|
444
|
+
</h2>
|
|
445
|
+
<p class="lead">
|
|
446
|
+
Earn a Star for every dollar โ redeem for handcrafted drinks,
|
|
447
|
+
food, and at-home favorites. Members also unlock birthday treats,
|
|
448
|
+
free refills in-cafรฉ, and exclusive offers.
|
|
449
|
+
</p>
|
|
450
|
+
<div class="hero-actions">
|
|
451
|
+
<a href="#" class="btn btn-primary">Sign up for free</a>
|
|
452
|
+
<a href="#" class="btn btn-secondary">Learn more</a>
|
|
453
|
+
</div>
|
|
454
|
+
</div>
|
|
455
|
+
<div class="stack-3" aria-label="Rewards summary">
|
|
456
|
+
<p class="body-sm" style="color: rgba(255,255,255,0.70)">Your Stars</p>
|
|
457
|
+
<p style="font-family: var(--font-display); font-size: var(--text-4xl); font-weight: 600; line-height: var(--leading-tight); letter-spacing: var(--tracking-display)">
|
|
458
|
+
312<span style="color: #cba258">โ
</span>
|
|
459
|
+
</p>
|
|
460
|
+
<p class="body-sm" style="color: rgba(255,255,255,0.70)">
|
|
461
|
+
88 more Stars to your next free handcrafted drink.
|
|
462
|
+
</p>
|
|
463
|
+
</div>
|
|
464
|
+
</div>
|
|
465
|
+
</div>
|
|
466
|
+
</section>
|
|
467
|
+
|
|
468
|
+
<section data-od-id="form">
|
|
469
|
+
<div class="form-row">
|
|
470
|
+
<div class="stack-4">
|
|
471
|
+
<p class="eyebrow">Join Rewards</p>
|
|
472
|
+
<h2>Sit awhile โ and earn a Star on the way out.</h2>
|
|
473
|
+
<p class="body-muted" style="max-width: 48ch">
|
|
474
|
+
No fees, no commitment. Save your favorite drink, skip the line
|
|
475
|
+
with mobile order, and let the third place come to you.
|
|
476
|
+
</p>
|
|
477
|
+
</div>
|
|
478
|
+
<form class="form" onsubmit="event.preventDefault();">
|
|
479
|
+
<div class="field">
|
|
480
|
+
<label for="email">Work email</label>
|
|
481
|
+
<input id="email" type="email" placeholder="you@starbucks.com" autocomplete="email" required />
|
|
482
|
+
<p class="field-help">We'll send your welcome Star and nothing else.</p>
|
|
483
|
+
</div>
|
|
484
|
+
<div class="form-actions">
|
|
485
|
+
<button type="submit" class="btn btn-primary">Create account</button>
|
|
486
|
+
<button type="button" class="btn btn-secondary">Browse menu</button>
|
|
487
|
+
</div>
|
|
488
|
+
</form>
|
|
489
|
+
</div>
|
|
490
|
+
</section>
|
|
491
|
+
</main>
|
|
492
|
+
</body>
|
|
493
|
+
</html>
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
/* โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
2
|
+
* design-systems/starbucks/tokens.css
|
|
3
|
+
*
|
|
4
|
+
* Structured token bindings for "Design System Inspired by Starbucks".
|
|
5
|
+
* Warm cream canvas, four-tier green system, full-pill buttons, whisper-
|
|
6
|
+
* soft layered shadows, and SoDoSans with universal -0.01em tracking.
|
|
7
|
+
*
|
|
8
|
+
* Key brand decisions encoded here:
|
|
9
|
+
* - Neutral Warm cream (#f2f0eb) as the page canvas โ never pure white
|
|
10
|
+
* - Green Accent (#00754A) reserved for the primary CTA fill / Frap
|
|
11
|
+
* - Text Black at rgba(0, 0, 0, 0.87) to match the warm canvas temperature
|
|
12
|
+
* - Whisper-soft dual-shadow card elevation โ never one heavy drop
|
|
13
|
+
* - Universal -0.01em tracking on SoDoSans across every surface
|
|
14
|
+
* - 9999px pill radius โ every button is a full pill, no exceptions
|
|
15
|
+
* - Measured ease-out (0.25, 0.46, 0.45, 0.94) โ the Starbucks expander
|
|
16
|
+
*
|
|
17
|
+
* No C-extensions: every token in this :root maps to a shared schema slot.
|
|
18
|
+
* โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ */
|
|
19
|
+
|
|
20
|
+
:root {
|
|
21
|
+
/* โโโ Surface โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
22
|
+
* Warm cream canvas: the brand never sits on cold white. Neutral
|
|
23
|
+
* Warm references cafรฉ paper and store wood; Ceramic is the
|
|
24
|
+
* slightly warmer/darker step used for zone separators and
|
|
25
|
+
* partnership bands. White is reserved for the card surface so
|
|
26
|
+
* content cards feel like ceramic mugs on a wood table. */
|
|
27
|
+
--bg: #f2f0eb; /* Neutral Warm โ primary page canvas */
|
|
28
|
+
--surface: #ffffff; /* White โ content card / modal surface */
|
|
29
|
+
--surface-warm: #edebe9; /* Ceramic โ zone separator, warmer tier */
|
|
30
|
+
|
|
31
|
+
/* โโโ Foreground โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
32
|
+
* Text Black is 87%-opacity black, never pure #000 โ it reads
|
|
33
|
+
* warmer on the cream canvas. Rewards Green (--fg-2) is the
|
|
34
|
+
* dustier slate-green used only on Rewards-page text blocks: a
|
|
35
|
+
* "reward surface" signal without reaching for Starbucks Green. */
|
|
36
|
+
--fg: rgba(0, 0, 0, 0.87); /* Text Black โ primary heading + body */
|
|
37
|
+
--fg-2: #33433d; /* Rewards Green โ dustier reading tier */
|
|
38
|
+
--muted: rgba(0, 0, 0, 0.58); /* Text Black Soft โ secondary / metadata */
|
|
39
|
+
--meta: var(--muted); /* alias โ single secondary text tier */
|
|
40
|
+
|
|
41
|
+
/* โโโ Border โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
42
|
+
* Input Border (#d6dbde) is the explicit DESIGN.md value for the
|
|
43
|
+
* outlined-rectangle Add-in / Milk / Customize fields. The soft
|
|
44
|
+
* tier is the nutrition-table hairline โ quiet enough to row-
|
|
45
|
+
* separate without competing with the card edge. */
|
|
46
|
+
--border: #d6dbde; /* Input Border โ outlined rectangle edge */
|
|
47
|
+
--border-soft: #e7e7e7; /* Nutrition-table row hairline */
|
|
48
|
+
|
|
49
|
+
/* โโโ Accent โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
50
|
+
* Green Accent (#00754A) is the CTA green โ the brighter, more
|
|
51
|
+
* luminous tier in the four-tier green system. Reserved for the
|
|
52
|
+
* primary filled pill CTAs and the Frap floating circular order
|
|
53
|
+
* button. Starbucks Green (#006241) is the heading tier and stays
|
|
54
|
+
* inline on h1; House Green (#1E3932) is the feature-band /
|
|
55
|
+
* footer tier and stays inline at those surfaces. */
|
|
56
|
+
--accent: #00754A; /* Green Accent โ primary CTA / Frap fill */
|
|
57
|
+
--accent-on: #ffffff;
|
|
58
|
+
--accent-hover: color-mix(in oklab, var(--accent), black 8%);
|
|
59
|
+
--accent-active: color-mix(in oklab, var(--accent), black 14%);
|
|
60
|
+
|
|
61
|
+
/* โโโ Semantic โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
62
|
+
* Red (#c82014) is the explicit DESIGN.md error / destructive
|
|
63
|
+
* value. Yellow (#fbbc05) is the documented warning / legacy brand
|
|
64
|
+
* touch. Success has no brand-specific value in DESIGN.md โ keep
|
|
65
|
+
* the schema default so it does not collide with the four-tier
|
|
66
|
+
* green system. */
|
|
67
|
+
--success: #16a34a;
|
|
68
|
+
--warn: #fbbc05; /* Yellow โ DESIGN.md warning state */
|
|
69
|
+
--danger: #c82014; /* Red โ DESIGN.md error / destructive */
|
|
70
|
+
|
|
71
|
+
/* โโโ Typography โ fonts โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
72
|
+
* SoDoSans is Starbucks' proprietary corporate typeface (licensed
|
|
73
|
+
* from House Industries; not publicly available). Display and body
|
|
74
|
+
* share the same stack โ the visual identity comes from the
|
|
75
|
+
* universal -0.01em / -0.16px tracking, not from typeface mixing.
|
|
76
|
+
* Lander Tall (Rewards serif) and Kalam (Careers script) are
|
|
77
|
+
* context-specific and intentionally NOT promoted to schema
|
|
78
|
+
* slots โ they stay inline at their respective surfaces. */
|
|
79
|
+
--font-display: SoDoSans, "Helvetica Neue", Helvetica, Arial, sans-serif;
|
|
80
|
+
--font-body: SoDoSans, "Helvetica Neue", Helvetica, Arial, sans-serif;
|
|
81
|
+
--font-mono: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Monaco, Consolas, monospace;
|
|
82
|
+
|
|
83
|
+
/* โโโ Typography โ type scale โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
84
|
+
* DESIGN.md anchors at 1rem = 10px and uses semantic textSize-1
|
|
85
|
+
* through textSize-10. We bind the px values directly so the
|
|
86
|
+
* pasted :root works without the 62.5% root font-size trick.
|
|
87
|
+
* Hierarchy is carried by weight + color, not by size jumps โ
|
|
88
|
+
* H1 and H2 share 24px (--text-xl), only weight (600 vs 400) and
|
|
89
|
+
* color (Starbucks-Green vs Text Black) separate them. */
|
|
90
|
+
--text-xs: 13px; /* Micro / text-1 โ caption */
|
|
91
|
+
--text-sm: 14px; /* Small / text-2 โ button, label */
|
|
92
|
+
--text-base: 16px; /* Body / text-3 โ default body */
|
|
93
|
+
--text-lg: 19px; /* Body Large โ hero intro copy */
|
|
94
|
+
--text-xl: 24px; /* H1 / H2 โ shared by weight, not size */
|
|
95
|
+
--text-2xl: 32px; /* sub-heading bridge to hero */
|
|
96
|
+
--text-3xl: 45px; /* Hero Large / text-8 */
|
|
97
|
+
--text-4xl: 58px; /* Jumbo / text-9 โ display ceiling */
|
|
98
|
+
|
|
99
|
+
/* โโโ Typography โ leading & tracking โโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
100
|
+
* Body leading 1.5, display leading 1.2 โ the schema-standard
|
|
101
|
+
* two-mode rhythm. Tracking sits at -0.01em across the entire
|
|
102
|
+
* system: SoDoSans reads slightly compressed, which gives it its
|
|
103
|
+
* confident-but-friendly presence without feeling squeezed. */
|
|
104
|
+
--leading-body: 1.5;
|
|
105
|
+
--leading-tight: 1.2;
|
|
106
|
+
--tracking-display: -0.01em; /* universal โ DESIGN.md letterSpacingNormal */
|
|
107
|
+
|
|
108
|
+
/* โโโ Spacing โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
109
|
+
* 4px grid. The brand's universal rhythm constant is 16px
|
|
110
|
+
* (--space-4) โ the default outer gutter, card padding baseline,
|
|
111
|
+
* and body text size all share it. The off-grid Starbucks rem
|
|
112
|
+
* scale (4 / 8 / 16 / 24 / 32 / 40 / 48 / 56 / 64) maps cleanly
|
|
113
|
+
* to this schema with 12px and 20px filling the gaps. */
|
|
114
|
+
--space-1: 4px;
|
|
115
|
+
--space-2: 8px;
|
|
116
|
+
--space-3: 12px;
|
|
117
|
+
--space-4: 16px; /* universal rhythm โ gutter, card pad, body */
|
|
118
|
+
--space-5: 20px;
|
|
119
|
+
--space-6: 24px;
|
|
120
|
+
--space-8: 32px;
|
|
121
|
+
--space-12: 48px;
|
|
122
|
+
|
|
123
|
+
/* โโโ Section rhythm โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
124
|
+
* 64px desktop / 48px tablet / 32px phone โ generous breathing so
|
|
125
|
+
* the cream canvas can carry "plenty of space in the cafรฉ". The
|
|
126
|
+
* brand never uses divider lines between sections; whitespace
|
|
127
|
+
* does the work. */
|
|
128
|
+
--section-y-desktop: 64px;
|
|
129
|
+
--section-y-tablet: 48px;
|
|
130
|
+
--section-y-phone: 32px;
|
|
131
|
+
|
|
132
|
+
/* โโโ Radius โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
133
|
+
* Two anchor values define the geometry: 12px on cards / modals
|
|
134
|
+
* (--cardBorderRadius), 9999px on every button (--buttonBorderRadius
|
|
135
|
+
* is 50px on the brand, but 9999px pills are visually identical at
|
|
136
|
+
* any reasonable height). 4px is reserved for outlined-rectangle
|
|
137
|
+
* inputs (Add-in / Milk / store availability). 16px stays as the
|
|
138
|
+
* larger-container tier for hero-photo frames. */
|
|
139
|
+
--radius-sm: 4px; /* outlined-rectangle inputs */
|
|
140
|
+
--radius-md: 12px; /* cards, modals โ --cardBorderRadius */
|
|
141
|
+
--radius-lg: 16px; /* larger containers */
|
|
142
|
+
--radius-pill: 9999px; /* full pill โ universal button radius */
|
|
143
|
+
|
|
144
|
+
/* โโโ Elevation โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
145
|
+
* Whisper-soft layered shadows. The brand forbids a single heavy
|
|
146
|
+
* drop shadow; instead it stacks 2โ3 low-alpha shadows with
|
|
147
|
+
* different offsets to simulate ambient + direct lighting. The
|
|
148
|
+
* --elev-raised value here is the canonical Starbucks card
|
|
149
|
+
* --cardBoxShadow (DESIGN.md ยง6). The Frap floating button gets
|
|
150
|
+
* its own stacked shadow inline at the component level. */
|
|
151
|
+
--elev-flat: none;
|
|
152
|
+
--elev-ring: 0 0 0 1px var(--border);
|
|
153
|
+
--elev-raised: 0 0 0.5px 0 rgba(0, 0, 0, 0.14), 0 1px 1px 0 rgba(0, 0, 0, 0.24);
|
|
154
|
+
|
|
155
|
+
/* โโโ Focus ring โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
156
|
+
* Green-tinted ring built from --accent. DESIGN.md does not
|
|
157
|
+
* publish a brand-specific focus treatment, so we keep the
|
|
158
|
+
* schema's accent-tinted formula โ Green Accent reads cleanly
|
|
159
|
+
* against the warm cream canvas and the white card surface. */
|
|
160
|
+
--focus-ring: 0 0 0 3px color-mix(in oklab, var(--accent), transparent 70%);
|
|
161
|
+
|
|
162
|
+
/* โโโ Motion โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
163
|
+
* 150ms for micro-states (the universal `transform: scale(0.95)`
|
|
164
|
+
* pressed-button rebound), 200ms for general state changes
|
|
165
|
+
* (DESIGN.md: `all 0.2s ease` on buttons). The standard easing
|
|
166
|
+
* curve is the Starbucks Expander cubic-bezier from DESIGN.md
|
|
167
|
+
* ยง4 โ a measured ease-out rather than the schema's snappier
|
|
168
|
+
* default, giving accordions and disclosures a calm cafรฉ cadence. */
|
|
169
|
+
--motion-fast: 150ms;
|
|
170
|
+
--motion-base: 200ms;
|
|
171
|
+
--ease-standard: cubic-bezier(0.25, 0.46, 0.45, 0.94);
|
|
172
|
+
|
|
173
|
+
/* โโโ Layout โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
174
|
+
* Content caps at 1440px (--columnWidthXLarge per DESIGN.md ยง5).
|
|
175
|
+
* Gutters scale progressively: 40px desktop (--outerGutterLarge),
|
|
176
|
+
* 24px tablet (--outerGutterMedium), 16px phone (--outerGutter,
|
|
177
|
+
* the universal rhythm constant). */
|
|
178
|
+
--container-max: 1440px;
|
|
179
|
+
--container-gutter-desktop: 40px;
|
|
180
|
+
--container-gutter-tablet: 24px;
|
|
181
|
+
--container-gutter-phone: 16px;
|
|
182
|
+
}
|