@aexol/spectral 0.7.0 → 0.7.3
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/CHANGELOG.md +5 -0
- package/dist/agent/agents.js +1 -1
- package/dist/agent/index.js +269 -479
- package/dist/cli.js +11 -0
- package/dist/commands/serve.js +0 -3
- 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/philosophies.js +668 -0
- package/dist/designer/skills.js +1675 -0
- package/dist/designer/systems.js +216 -0
- package/dist/mcp/sampling-handler.js +1 -1
- package/dist/memory/commands/status.js +1 -1
- package/dist/memory/compaction.js +2 -2
- package/dist/memory/config.js +1 -1
- package/dist/memory/debug-log.js +1 -1
- package/dist/memory/hooks/compaction-hook.js +29 -0
- package/dist/memory/index.js +2 -0
- package/dist/memory/observer.js +2 -2
- package/dist/memory/project-observations-store.js +14 -0
- package/dist/memory/tokens.js +1 -1
- package/dist/memory/tools/read-project-observations.js +82 -0
- package/dist/memory/tools/recall-observation.js +2 -2
- package/dist/pi/agent-core/agent-loop.js +501 -0
- package/dist/pi/agent-core/agent.js +401 -0
- package/dist/pi/agent-core/harness/agent-harness.js +899 -0
- package/dist/pi/agent-core/harness/compaction/branch-summarization.js +173 -0
- package/dist/pi/agent-core/harness/compaction/compaction.js +532 -0
- package/dist/pi/agent-core/harness/compaction/utils.js +130 -0
- package/dist/pi/agent-core/harness/env/nodejs.js +485 -0
- package/dist/pi/agent-core/harness/messages.js +101 -0
- package/dist/pi/agent-core/harness/prompt-templates.js +229 -0
- package/dist/pi/agent-core/harness/session/jsonl-repo.js +100 -0
- package/dist/pi/agent-core/harness/session/jsonl-storage.js +230 -0
- package/dist/pi/agent-core/harness/session/memory-repo.js +41 -0
- package/dist/pi/agent-core/harness/session/memory-storage.js +113 -0
- package/dist/pi/agent-core/harness/session/repo-utils.js +38 -0
- package/dist/pi/agent-core/harness/session/session.js +196 -0
- package/dist/pi/agent-core/harness/session/uuid.js +49 -0
- package/dist/pi/agent-core/harness/skills.js +310 -0
- package/dist/pi/agent-core/harness/system-prompt.js +29 -0
- package/dist/pi/agent-core/harness/types.js +93 -0
- package/dist/pi/agent-core/harness/utils/shell-output.js +125 -0
- package/dist/pi/agent-core/harness/utils/truncate.js +289 -0
- package/dist/pi/agent-core/index.js +24 -0
- package/dist/pi/agent-core/node.js +2 -0
- package/dist/pi/agent-core/proxy.js +277 -0
- package/dist/pi/agent-core/types.js +1 -0
- package/dist/pi/ai/api-registry.js +43 -0
- package/dist/pi/ai/cli.js +120 -0
- package/dist/pi/ai/env-api-keys.js +169 -0
- package/dist/pi/ai/image-models.generated.js +441 -0
- package/dist/pi/ai/image-models.js +22 -0
- package/dist/pi/ai/images-api-registry.js +21 -0
- package/dist/pi/ai/images.js +13 -0
- package/dist/pi/ai/index.js +18 -0
- package/dist/pi/ai/models.generated.js +16220 -0
- package/dist/pi/ai/models.js +70 -0
- package/dist/pi/ai/oauth.js +1 -0
- package/dist/pi/ai/providers/anthropic.js +945 -0
- package/dist/pi/ai/providers/faux.js +367 -0
- package/dist/pi/ai/providers/github-copilot-headers.js +28 -0
- package/dist/pi/ai/providers/openai-completions.js +945 -0
- package/dist/pi/ai/providers/openai-prompt-cache.js +9 -0
- package/dist/pi/ai/providers/register-builtins.js +97 -0
- package/dist/pi/ai/providers/simple-options.js +40 -0
- package/dist/pi/ai/providers/transform-messages.js +183 -0
- package/dist/pi/ai/session-resources.js +21 -0
- package/dist/pi/ai/stream.js +26 -0
- package/dist/pi/ai/types.js +1 -0
- package/dist/pi/ai/utils/diagnostics.js +24 -0
- package/dist/pi/ai/utils/event-stream.js +80 -0
- package/dist/pi/ai/utils/hash.js +13 -0
- package/dist/pi/ai/utils/headers.js +7 -0
- package/dist/pi/ai/utils/json-parse.js +112 -0
- package/dist/pi/ai/utils/node-http-proxy.js +96 -0
- package/dist/pi/ai/utils/oauth/anthropic.js +334 -0
- package/dist/pi/ai/utils/oauth/device-code.js +54 -0
- package/dist/pi/ai/utils/oauth/github-copilot.js +270 -0
- package/dist/pi/ai/utils/oauth/index.js +121 -0
- package/dist/pi/ai/utils/oauth/oauth-page.js +104 -0
- package/dist/pi/ai/utils/oauth/openai-codex.js +384 -0
- package/dist/pi/ai/utils/oauth/pkce.js +30 -0
- package/dist/pi/ai/utils/oauth/types.js +1 -0
- package/dist/pi/ai/utils/overflow.js +150 -0
- package/dist/pi/ai/utils/sanitize-unicode.js +25 -0
- package/dist/pi/ai/utils/typebox-helpers.js +20 -0
- package/dist/pi/ai/utils/validation.js +280 -0
- package/dist/pi/coding-agent/bun/cli.js +7 -0
- package/dist/pi/coding-agent/bun/restore-sandbox-env.js +31 -0
- package/dist/pi/coding-agent/cli/args.js +340 -0
- package/dist/pi/coding-agent/cli/file-processor.js +82 -0
- package/dist/pi/coding-agent/cli/initial-message.js +21 -0
- package/dist/pi/coding-agent/cli.js +17 -0
- package/dist/pi/coding-agent/config.js +414 -0
- package/dist/pi/coding-agent/core/agent-session-runtime.js +299 -0
- package/dist/pi/coding-agent/core/agent-session-services.js +117 -0
- package/dist/pi/coding-agent/core/agent-session.js +2498 -0
- package/dist/pi/coding-agent/core/auth-guidance.js +20 -0
- package/dist/pi/coding-agent/core/auth-storage.js +441 -0
- package/dist/pi/coding-agent/core/bash-executor.js +110 -0
- package/dist/pi/coding-agent/core/compaction/branch-summarization.js +242 -0
- package/dist/pi/coding-agent/core/compaction/compaction.js +624 -0
- package/dist/pi/coding-agent/core/compaction/index.js +6 -0
- package/dist/pi/coding-agent/core/compaction/utils.js +152 -0
- package/dist/pi/coding-agent/core/defaults.js +1 -0
- package/dist/pi/coding-agent/core/diagnostics.js +1 -0
- package/dist/pi/coding-agent/core/event-bus.js +24 -0
- package/dist/pi/coding-agent/core/exec.js +74 -0
- package/dist/pi/coding-agent/core/export-html/ansi-to-html.js +248 -0
- package/dist/pi/coding-agent/core/export-html/index.js +225 -0
- package/dist/pi/coding-agent/core/export-html/tool-renderer.js +107 -0
- package/dist/pi/coding-agent/core/extensions/index.js +8 -0
- package/dist/pi/coding-agent/core/extensions/loader.js +485 -0
- package/dist/pi/coding-agent/core/extensions/runner.js +824 -0
- package/dist/pi/coding-agent/core/extensions/types.js +44 -0
- package/dist/pi/coding-agent/core/extensions/wrapper.js +21 -0
- package/dist/pi/coding-agent/core/footer-data-provider.js +309 -0
- package/dist/pi/coding-agent/core/http-dispatcher.js +47 -0
- package/dist/pi/coding-agent/core/index.js +11 -0
- package/dist/pi/coding-agent/core/keybindings.js +294 -0
- package/dist/pi/coding-agent/core/messages.js +122 -0
- package/dist/pi/coding-agent/core/model-registry.js +728 -0
- package/dist/pi/coding-agent/core/model-resolver.js +494 -0
- package/dist/pi/coding-agent/core/output-guard.js +58 -0
- package/dist/pi/coding-agent/core/package-manager.js +2020 -0
- package/dist/pi/coding-agent/core/prompt-templates.js +237 -0
- package/dist/pi/coding-agent/core/provider-display-names.js +32 -0
- package/dist/pi/coding-agent/core/resolve-config-value.js +125 -0
- package/dist/pi/coding-agent/core/resource-loader.js +733 -0
- package/dist/pi/coding-agent/core/sdk.js +282 -0
- package/dist/pi/coding-agent/core/session-cwd.js +37 -0
- package/dist/pi/coding-agent/core/session-manager.js +1146 -0
- package/dist/pi/coding-agent/core/settings-manager.js +794 -0
- package/dist/pi/coding-agent/core/skills.js +386 -0
- package/dist/pi/coding-agent/core/slash-commands.js +24 -0
- package/dist/pi/coding-agent/core/source-info.js +18 -0
- package/dist/pi/coding-agent/core/system-prompt.js +122 -0
- package/dist/pi/coding-agent/core/telemetry.js +8 -0
- package/dist/pi/coding-agent/core/timings.js +30 -0
- package/dist/pi/coding-agent/core/tools/bash.js +341 -0
- package/dist/pi/coding-agent/core/tools/edit-diff.js +344 -0
- package/dist/pi/coding-agent/core/tools/edit.js +324 -0
- package/dist/pi/coding-agent/core/tools/file-mutation-queue.js +36 -0
- package/dist/pi/coding-agent/core/tools/find.js +297 -0
- package/dist/pi/coding-agent/core/tools/grep.js +303 -0
- package/dist/pi/coding-agent/core/tools/index.js +111 -0
- package/dist/pi/coding-agent/core/tools/ls.js +168 -0
- package/dist/pi/coding-agent/core/tools/output-accumulator.js +183 -0
- package/dist/pi/coding-agent/core/tools/path-utils.js +61 -0
- package/dist/pi/coding-agent/core/tools/read.js +288 -0
- package/dist/pi/coding-agent/core/tools/render-utils.js +48 -0
- package/dist/pi/coding-agent/core/tools/tool-definition-wrapper.js +33 -0
- package/dist/pi/coding-agent/core/tools/truncate.js +214 -0
- package/dist/pi/coding-agent/core/tools/write.js +212 -0
- package/dist/pi/coding-agent/index.js +41 -0
- package/dist/pi/coding-agent/main.js +5 -0
- package/dist/pi/coding-agent/migrations.js +280 -0
- package/dist/pi/coding-agent/modes/index.js +7 -0
- package/dist/pi/coding-agent/modes/interactive/components/diff.js +132 -0
- package/dist/pi/coding-agent/modes/interactive/components/keybinding-hints.js +35 -0
- package/dist/pi/coding-agent/modes/interactive/components/visual-truncate.js +32 -0
- package/dist/pi/coding-agent/modes/interactive/interactive-mode.js +3 -0
- package/dist/pi/coding-agent/modes/interactive/theme/theme.js +1023 -0
- package/dist/pi/coding-agent/modes/print-mode.js +130 -0
- package/dist/pi/coding-agent/modes/rpc/jsonl.js +48 -0
- package/dist/pi/coding-agent/modes/rpc/rpc-client.js +409 -0
- package/dist/pi/coding-agent/modes/rpc/rpc-mode.js +600 -0
- package/dist/pi/coding-agent/modes/rpc/rpc-types.js +7 -0
- package/dist/pi/coding-agent/utils/ansi.js +51 -0
- package/dist/pi/coding-agent/utils/changelog.js +86 -0
- package/dist/pi/coding-agent/utils/child-process.js +87 -0
- package/dist/pi/coding-agent/utils/clipboard-image.js +244 -0
- package/dist/pi/coding-agent/utils/clipboard-native.js +13 -0
- package/dist/pi/coding-agent/utils/clipboard.js +116 -0
- package/dist/pi/coding-agent/utils/exif-orientation.js +157 -0
- package/dist/pi/coding-agent/utils/frontmatter.js +25 -0
- package/dist/pi/coding-agent/utils/fs-watch.js +24 -0
- package/dist/pi/coding-agent/utils/git.js +162 -0
- package/dist/pi/coding-agent/utils/html.js +39 -0
- package/dist/pi/coding-agent/utils/image-convert.js +38 -0
- package/dist/pi/coding-agent/utils/image-resize.js +136 -0
- package/dist/pi/coding-agent/utils/mime.js +68 -0
- package/dist/pi/coding-agent/utils/paths.js +91 -0
- package/dist/pi/coding-agent/utils/photon.js +120 -0
- package/dist/pi/coding-agent/utils/pi-user-agent.js +4 -0
- package/dist/pi/coding-agent/utils/shell.js +194 -0
- package/dist/pi/coding-agent/utils/sleep.js +16 -0
- package/dist/pi/coding-agent/utils/syntax-highlight.js +117 -0
- package/dist/pi/coding-agent/utils/tools-manager.js +327 -0
- package/dist/pi/coding-agent/utils/version-check.js +81 -0
- package/dist/pi/coding-agent/utils/windows-self-update.js +76 -0
- package/dist/pi/tui/autocomplete.js +631 -0
- package/dist/pi/tui/components/box.js +103 -0
- package/dist/pi/tui/components/cancellable-loader.js +34 -0
- package/dist/pi/tui/components/editor.js +1915 -0
- package/dist/pi/tui/components/image.js +88 -0
- package/dist/pi/tui/components/input.js +425 -0
- package/dist/pi/tui/components/loader.js +68 -0
- package/dist/pi/tui/components/markdown.js +633 -0
- package/dist/pi/tui/components/select-list.js +158 -0
- package/dist/pi/tui/components/settings-list.js +184 -0
- package/dist/pi/tui/components/spacer.js +22 -0
- package/dist/pi/tui/components/text.js +88 -0
- package/dist/pi/tui/components/truncated-text.js +50 -0
- package/dist/pi/tui/editor-component.js +1 -0
- package/dist/pi/tui/fuzzy.js +109 -0
- package/dist/pi/tui/index.js +31 -0
- package/dist/pi/tui/keybindings.js +173 -0
- package/dist/pi/tui/keys.js +1172 -0
- package/dist/pi/tui/kill-ring.js +43 -0
- package/dist/pi/tui/stdin-buffer.js +360 -0
- package/dist/pi/tui/terminal-image.js +335 -0
- package/dist/pi/tui/terminal.js +324 -0
- package/dist/pi/tui/tui.js +1076 -0
- package/dist/pi/tui/undo-stack.js +24 -0
- package/dist/pi/tui/utils.js +1016 -0
- package/dist/server/pi-bridge.js +156 -6
- package/dist/server/session-stream.js +53 -112
- package/dist/server/storage.js +62 -1
- package/dist/server/title-generator.js +14 -153
- package/package.json +24 -6
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/* design-systems/wired/tokens.css
|
|
2
|
+
*
|
|
3
|
+
* Structured token bindings for WIRED.
|
|
4
|
+
* authoritative technology journalism with monochrome discipline and sharp red alerts.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
:root {
|
|
8
|
+
--bg: #ffffff;
|
|
9
|
+
--surface: #f2f2f2;
|
|
10
|
+
--surface-warm: #fff0f0;
|
|
11
|
+
--fg: #000000;
|
|
12
|
+
--fg-2: #333333;
|
|
13
|
+
--muted: #666666;
|
|
14
|
+
--meta: #e10600;
|
|
15
|
+
--border: #d0d0d0;
|
|
16
|
+
--border-soft: #e8e8e8;
|
|
17
|
+
--accent: #e10600;
|
|
18
|
+
--accent-on: #ffffff;
|
|
19
|
+
--accent-hover: color-mix(in oklab, var(--accent), black 8%);
|
|
20
|
+
--accent-active: color-mix(in oklab, var(--accent), black 14%);
|
|
21
|
+
--success: #0f8a3b;
|
|
22
|
+
--warn: #f5a400;
|
|
23
|
+
--danger: #c40000;
|
|
24
|
+
--font-display: "Druk Wide", "Arial Black", Impact, sans-serif;
|
|
25
|
+
--font-body: "Exchange", Georgia, serif;
|
|
26
|
+
--font-mono: "IBM Plex Mono", ui-monospace, Menlo, monospace;
|
|
27
|
+
--text-xs: 12px;
|
|
28
|
+
--text-sm: 14px;
|
|
29
|
+
--text-base: 17px;
|
|
30
|
+
--text-lg: 20px;
|
|
31
|
+
--text-xl: 28px;
|
|
32
|
+
--text-2xl: 44px;
|
|
33
|
+
--text-3xl: 68px;
|
|
34
|
+
--text-4xl: 96px;
|
|
35
|
+
--leading-body: 1.55;
|
|
36
|
+
--leading-tight: 0.92;
|
|
37
|
+
--tracking-display: -0.02em;
|
|
38
|
+
--space-1: 4px;
|
|
39
|
+
--space-2: 8px;
|
|
40
|
+
--space-3: 12px;
|
|
41
|
+
--space-4: 16px;
|
|
42
|
+
--space-5: 20px;
|
|
43
|
+
--space-6: 24px;
|
|
44
|
+
--space-8: 32px;
|
|
45
|
+
--space-12: 48px;
|
|
46
|
+
--section-y-desktop: 88px;
|
|
47
|
+
--section-y-tablet: 64px;
|
|
48
|
+
--section-y-phone: 44px;
|
|
49
|
+
--radius-sm: 0px;
|
|
50
|
+
--radius-md: 0px;
|
|
51
|
+
--radius-lg: 0px;
|
|
52
|
+
--radius-pill: 9999px;
|
|
53
|
+
--elev-flat: none;
|
|
54
|
+
--elev-ring: 0 0 0 1px var(--border);
|
|
55
|
+
--elev-raised: 0 16px 40px rgba(0, 0, 0, 0.14);
|
|
56
|
+
--focus-ring: 0 0 0 4px rgba(225, 6, 0, 0.24);
|
|
57
|
+
--motion-fast: 120ms;
|
|
58
|
+
--motion-base: 200ms;
|
|
59
|
+
--ease-standard: cubic-bezier(0.2, 0, 0, 1);
|
|
60
|
+
--container-max: 1180px;
|
|
61
|
+
--container-gutter-desktop: 34px;
|
|
62
|
+
--container-gutter-tablet: 26px;
|
|
63
|
+
--container-gutter-phone: 18px;
|
|
64
|
+
}
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
# Design System Inspired by Wise
|
|
2
|
+
|
|
3
|
+
> Category: Fintech & Crypto
|
|
4
|
+
> Money transfer. Bright green accent, friendly and clear.
|
|
5
|
+
|
|
6
|
+
## 1. Visual Theme & Atmosphere
|
|
7
|
+
|
|
8
|
+
Wise's website is a bold, confident fintech platform that communicates "money without borders" through massive typography and a distinctive lime-green accent. The design operates on a warm off-white canvas with near-black text (`#0e0f0c`) and a signature Wise Green (`#9fe870`) — a fresh, lime-bright color that feels alive and optimistic, unlike the corporate blues of traditional banking.
|
|
9
|
+
|
|
10
|
+
The typography uses Wise Sans — a proprietary font used at extreme weight 900 (black) for display headings with a remarkably tight line-height of 0.85 and OpenType `"calt"` (contextual alternates). At 126px, the text is so dense it feels like a protest sign — bold, urgent, and impossible to ignore. Inter serves as the body font with weight 600 as the default for emphasis, creating a consistently confident voice.
|
|
11
|
+
|
|
12
|
+
What distinguishes Wise is its green-on-white-on-black material palette. Lime Green (`#9fe870`) appears on buttons with dark green text (`#163300`), creating a nature-inspired CTA that feels fresh. Hover states use `scale(1.05)` expansion rather than color changes — buttons physically grow on interaction. The border-radius system uses 9999px for buttons (pill), 30px–40px for cards, and the shadow system is minimal — just `rgba(14,15,12,0.12) 0px 0px 0px 1px` ring shadows.
|
|
13
|
+
|
|
14
|
+
**Key Characteristics:**
|
|
15
|
+
- Wise Sans at weight 900, 0.85 line-height — billboard-scale bold headlines
|
|
16
|
+
- Lime Green (`#9fe870`) accent with dark green text (`#163300`) — nature-inspired fintech
|
|
17
|
+
- Inter body at weight 600 as default — confident, not light
|
|
18
|
+
- Near-black (`#0e0f0c`) primary with warm green undertone
|
|
19
|
+
- Scale(1.05) hover animations — buttons physically grow
|
|
20
|
+
- OpenType `"calt"` on all text
|
|
21
|
+
- Pill buttons (9999px) and large rounded cards (30px–40px)
|
|
22
|
+
- Semantic color system with comprehensive state management
|
|
23
|
+
|
|
24
|
+
## 2. Color Palette & Roles
|
|
25
|
+
|
|
26
|
+
### Primary Brand
|
|
27
|
+
- **Near Black** (`#0e0f0c`): Primary text, background for dark sections
|
|
28
|
+
- **Wise Green** (`#9fe870`): Primary CTA button, brand accent
|
|
29
|
+
- **Dark Green** (`#163300`): Button text on green, deep green accent
|
|
30
|
+
- **Light Mint** (`#e2f6d5`): Soft green surface, badge backgrounds
|
|
31
|
+
- **Pastel Green** (`#cdffad`): `--color-interactive-contrast-hover`, hover accent
|
|
32
|
+
|
|
33
|
+
### Semantic
|
|
34
|
+
- **Positive Green** (`#054d28`): `--color-sentiment-positive-primary`, success
|
|
35
|
+
- **Danger Red** (`#d03238`): `--color-interactive-negative-hover`, error/destructive
|
|
36
|
+
- **Warning Yellow** (`#ffd11a`): `--color-sentiment-warning-hover`, warnings
|
|
37
|
+
- **Background Cyan** (`rgba(56,200,255,0.10)`): `--color-background-accent`, info tint
|
|
38
|
+
- **Bright Orange** (`#ffc091`): `--color-bright-orange`, warm accent
|
|
39
|
+
|
|
40
|
+
### Neutral
|
|
41
|
+
- **Warm Dark** (`#454745`): Secondary text, borders
|
|
42
|
+
- **Gray** (`#868685`): Muted text, tertiary
|
|
43
|
+
- **Light Surface** (`#e8ebe6`): Subtle green-tinted light surface
|
|
44
|
+
|
|
45
|
+
## 3. Typography Rules
|
|
46
|
+
|
|
47
|
+
### Font Families
|
|
48
|
+
- **Display**: `Wise Sans`, fallback: `Inter` — OpenType `"calt"` on all text
|
|
49
|
+
- **Body / UI**: `Inter`, fallbacks: `Helvetica, Arial`
|
|
50
|
+
|
|
51
|
+
### Hierarchy
|
|
52
|
+
|
|
53
|
+
| Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |
|
|
54
|
+
|------|------|------|--------|-------------|----------------|-------|
|
|
55
|
+
| Display Mega | Wise Sans | 126px (7.88rem) | 900 | 0.85 (ultra-tight) | normal | `"calt"` |
|
|
56
|
+
| Display Hero | Wise Sans | 96px (6.00rem) | 900 | 0.85 | normal | `"calt"` |
|
|
57
|
+
| Section Heading | Wise Sans | 64px (4.00rem) | 900 | 0.85 | normal | `"calt"` |
|
|
58
|
+
| Sub-heading | Wise Sans | 40px (2.50rem) | 900 | 0.85 | normal | `"calt"` |
|
|
59
|
+
| Alt Heading | Inter | 78px (4.88rem) | 600 | 1.10 (tight) | -2.34px | `"calt"` |
|
|
60
|
+
| Card Title | Inter | 26px (1.62rem) | 600 | 1.23 (tight) | -0.39px | `"calt"` |
|
|
61
|
+
| Feature Title | Inter | 22px (1.38rem) | 600 | 1.25 (tight) | -0.396px | `"calt"` |
|
|
62
|
+
| Body | Inter | 18px (1.13rem) | 400 | 1.44 | 0.18px | `"calt"` |
|
|
63
|
+
| Body Semibold | Inter | 18px (1.13rem) | 600 | 1.44 | -0.108px | `"calt"` |
|
|
64
|
+
| Button | Inter | 18px–22px | 600 | 1.00–1.44 | -0.108px | `"calt"` |
|
|
65
|
+
| Caption | Inter | 14px (0.88rem) | 400–600 | 1.50–1.86 | -0.084px to -0.108px | `"calt"` |
|
|
66
|
+
| Small | Inter | 12px (0.75rem) | 400–600 | 1.00–2.17 | -0.084px to -0.108px | `"calt"` |
|
|
67
|
+
|
|
68
|
+
### Principles
|
|
69
|
+
- **Weight 900 as identity**: Wise Sans Black (900) is used exclusively for display — the heaviest weight in any analyzed system. It creates text that feels stamped, pressed, physical.
|
|
70
|
+
- **0.85 line-height**: The tightest display line-height analyzed. Letters overlap vertically, creating dense, billboard-like text blocks.
|
|
71
|
+
- **"calt" everywhere**: Contextual alternates enabled on ALL text — both Wise Sans and Inter.
|
|
72
|
+
- **Weight 600 as body default**: Inter Semibold is the standard reading weight — confident, not light.
|
|
73
|
+
|
|
74
|
+
## 4. Component Stylings
|
|
75
|
+
|
|
76
|
+
### Buttons
|
|
77
|
+
|
|
78
|
+
**Primary Green Pill**
|
|
79
|
+
- Background: `#9fe870` (Wise Green)
|
|
80
|
+
- Text: `#163300` (Dark Green)
|
|
81
|
+
- Padding: 5px 16px
|
|
82
|
+
- Radius: 9999px
|
|
83
|
+
- Hover: scale(1.05) — button physically grows
|
|
84
|
+
- Active: scale(0.95) — button compresses
|
|
85
|
+
- Focus: inset ring + outline
|
|
86
|
+
|
|
87
|
+
**Secondary Subtle Pill**
|
|
88
|
+
- Background: `rgba(22, 51, 0, 0.08)` (dark green at 8% opacity)
|
|
89
|
+
- Text: `#0e0f0c`
|
|
90
|
+
- Padding: 8px 12px 8px 16px
|
|
91
|
+
- Radius: 9999px
|
|
92
|
+
- Same scale hover/active behavior
|
|
93
|
+
|
|
94
|
+
### Cards & Containers
|
|
95
|
+
- Radius: 16px (small), 30px (medium), 40px (large cards/tables)
|
|
96
|
+
- Border: `1px solid rgba(14,15,12,0.12)` or `1px solid #9fe870` (green accent)
|
|
97
|
+
- Shadow: `rgba(14,15,12,0.12) 0px 0px 0px 1px` (ring shadow)
|
|
98
|
+
|
|
99
|
+
### Navigation
|
|
100
|
+
- Green-tinted navigation hover: `rgba(211,242,192,0.4)`
|
|
101
|
+
- Clean header with Wise wordmark
|
|
102
|
+
- Pill CTAs right-aligned
|
|
103
|
+
|
|
104
|
+
## 5. Layout Principles
|
|
105
|
+
|
|
106
|
+
### Spacing System
|
|
107
|
+
- Base unit: 8px
|
|
108
|
+
- Scale: 1px, 2px, 3px, 4px, 5px, 8px, 10px, 11px, 12px, 16px, 18px, 19px, 20px, 22px, 24px
|
|
109
|
+
|
|
110
|
+
### Border Radius Scale
|
|
111
|
+
- Minimal (2px): Links, inputs
|
|
112
|
+
- Standard (10px): Comboboxes, inputs
|
|
113
|
+
- Card (16px): Small cards, buttons, radio
|
|
114
|
+
- Medium (20px): Links, medium cards
|
|
115
|
+
- Large (30px): Feature cards
|
|
116
|
+
- Section (40px): Tables, large cards
|
|
117
|
+
- Mega (1000px): Presentation elements
|
|
118
|
+
- Pill (9999px): All buttons, images
|
|
119
|
+
- Circle (50%): Icons, badges
|
|
120
|
+
|
|
121
|
+
## 6. Depth & Elevation
|
|
122
|
+
|
|
123
|
+
| Level | Treatment | Use |
|
|
124
|
+
|-------|-----------|-----|
|
|
125
|
+
| Flat (Level 0) | No shadow | Default |
|
|
126
|
+
| Ring (Level 1) | `rgba(14,15,12,0.12) 0px 0px 0px 1px` | Card borders |
|
|
127
|
+
| Inset (Level 2) | `rgb(134,134,133) 0px 0px 0px 1px inset` | Input focus |
|
|
128
|
+
|
|
129
|
+
**Shadow Philosophy**: Wise uses minimal shadows — ring shadows only. Depth comes from the bold green accent against the neutral canvas.
|
|
130
|
+
|
|
131
|
+
## 7. Do's and Don'ts
|
|
132
|
+
|
|
133
|
+
### Do
|
|
134
|
+
- Use Wise Sans weight 900 for display — the extreme boldness IS the brand
|
|
135
|
+
- Apply line-height 0.85 on Wise Sans display — ultra-tight is intentional
|
|
136
|
+
- Use Lime Green (#9fe870) for primary CTAs with Dark Green (#163300) text
|
|
137
|
+
- Apply scale(1.05) hover and scale(0.95) active on buttons
|
|
138
|
+
- Enable "calt" on all text
|
|
139
|
+
- Use Inter weight 600 as the body default
|
|
140
|
+
|
|
141
|
+
### Don't
|
|
142
|
+
- Don't use light font weights for Wise Sans — only 900
|
|
143
|
+
- Don't relax the 0.85 line-height on display — the density is the identity
|
|
144
|
+
- Don't use the Wise Green as background for large surfaces — it's for buttons and accents
|
|
145
|
+
- Don't skip the scale animation on buttons
|
|
146
|
+
- Don't use traditional shadows — ring shadows only
|
|
147
|
+
|
|
148
|
+
## 8. Responsive Behavior
|
|
149
|
+
|
|
150
|
+
### Breakpoints
|
|
151
|
+
| Name | Width | Key Changes |
|
|
152
|
+
|------|-------|-------------|
|
|
153
|
+
| Mobile | <576px | Single column |
|
|
154
|
+
| Tablet | 576–992px | 2-column |
|
|
155
|
+
| Desktop | 992–1440px | Full layout |
|
|
156
|
+
| Large | >1440px | Expanded |
|
|
157
|
+
|
|
158
|
+
## 9. Agent Prompt Guide
|
|
159
|
+
|
|
160
|
+
### Quick Color Reference
|
|
161
|
+
- Text: Near Black (`#0e0f0c`)
|
|
162
|
+
- Background: White (`#ffffff` / off-white)
|
|
163
|
+
- Accent: Wise Green (`#9fe870`)
|
|
164
|
+
- Button text: Dark Green (`#163300`)
|
|
165
|
+
- Secondary: Gray (`#868685`)
|
|
166
|
+
|
|
167
|
+
### Example Component Prompts
|
|
168
|
+
- "Create hero: white background. Headline at 96px Wise Sans weight 900, line-height 0.85, 'calt' enabled, #0e0f0c text. Green pill CTA (#9fe870, 9999px radius, 5px 16px padding, #163300 text). Hover: scale(1.05)."
|
|
169
|
+
- "Build a card: 30px radius, 1px solid rgba(14,15,12,0.12). Title at 22px Inter weight 600, body at 18px weight 400."
|
|
170
|
+
|
|
171
|
+
### Iteration Guide
|
|
172
|
+
1. Wise Sans 900 at 0.85 line-height — the extreme weight IS the brand
|
|
173
|
+
2. Lime Green for buttons only — dark green text on green background
|
|
174
|
+
3. Scale animations (1.05 hover, 0.95 active) on all interactive elements
|
|
175
|
+
4. "calt" on everything — contextual alternates are mandatory
|
|
176
|
+
5. Inter 600 for body — confident reading weight
|
|
@@ -0,0 +1,365 @@
|
|
|
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>Wise — reference components</title>
|
|
7
|
+
<meta
|
|
8
|
+
name="description"
|
|
9
|
+
content="Reference fixture for design-systems/wise. Spring-green CTAs on warm-neutral
|
|
10
|
+
canvas, billboard Wise Sans at 0.85 line-height, pill buttons, ring-only shadows."
|
|
11
|
+
/>
|
|
12
|
+
|
|
13
|
+
<style>
|
|
14
|
+
:root {
|
|
15
|
+
--bg: #ffffff;
|
|
16
|
+
--surface: #e8ebe6;
|
|
17
|
+
--surface-warm: var(--surface);
|
|
18
|
+
|
|
19
|
+
--fg: #0e0f0c;
|
|
20
|
+
--fg-2: var(--fg);
|
|
21
|
+
--muted: #868685;
|
|
22
|
+
--meta: var(--muted);
|
|
23
|
+
|
|
24
|
+
--border: rgba(14, 15, 12, 0.12);
|
|
25
|
+
--border-soft: var(--border);
|
|
26
|
+
|
|
27
|
+
--accent: #9fe870;
|
|
28
|
+
--accent-on: #163300;
|
|
29
|
+
--accent-hover: #cdffad;
|
|
30
|
+
--accent-active: color-mix(in oklab, var(--accent), black 12%);
|
|
31
|
+
|
|
32
|
+
--success: #054d28;
|
|
33
|
+
--warn: #ffd11a;
|
|
34
|
+
--danger: #d03238;
|
|
35
|
+
|
|
36
|
+
--font-display: "Wise Sans", Inter, ui-sans-serif, system-ui, sans-serif;
|
|
37
|
+
--font-body: Inter, Helvetica, Arial, ui-sans-serif, sans-serif;
|
|
38
|
+
--font-mono: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Monaco, Consolas, monospace;
|
|
39
|
+
|
|
40
|
+
--text-xs: 12px;
|
|
41
|
+
--text-sm: 14px;
|
|
42
|
+
--text-base: 18px;
|
|
43
|
+
--text-lg: 22px;
|
|
44
|
+
--text-xl: 26px;
|
|
45
|
+
--text-2xl: 40px;
|
|
46
|
+
--text-3xl: 64px;
|
|
47
|
+
--text-4xl: 96px;
|
|
48
|
+
|
|
49
|
+
--leading-body: 1.44;
|
|
50
|
+
--leading-tight: 0.85;
|
|
51
|
+
--tracking-display: normal;
|
|
52
|
+
|
|
53
|
+
--space-1: 4px;
|
|
54
|
+
--space-2: 8px;
|
|
55
|
+
--space-3: 12px;
|
|
56
|
+
--space-4: 16px;
|
|
57
|
+
--space-5: 20px;
|
|
58
|
+
--space-6: 24px;
|
|
59
|
+
--space-8: 32px;
|
|
60
|
+
--space-12: 48px;
|
|
61
|
+
|
|
62
|
+
--section-y-desktop: 80px;
|
|
63
|
+
--section-y-tablet: 48px;
|
|
64
|
+
--section-y-phone: 32px;
|
|
65
|
+
|
|
66
|
+
--radius-sm: 16px;
|
|
67
|
+
--radius-md: 30px;
|
|
68
|
+
--radius-lg: 40px;
|
|
69
|
+
--radius-pill: 9999px;
|
|
70
|
+
|
|
71
|
+
--elev-flat: none;
|
|
72
|
+
--elev-ring: 0 0 0 1px var(--border);
|
|
73
|
+
--elev-raised: 0 0 0 1px var(--border), 0 2px 8px rgba(14, 15, 12, 0.04);
|
|
74
|
+
|
|
75
|
+
--focus-ring: 0 0 0 3px color-mix(in oklab, var(--accent), transparent 60%);
|
|
76
|
+
|
|
77
|
+
--motion-fast: 150ms;
|
|
78
|
+
--motion-base: 200ms;
|
|
79
|
+
--ease-standard: cubic-bezier(0.2, 0, 0, 1);
|
|
80
|
+
|
|
81
|
+
--container-max: 1280px;
|
|
82
|
+
--container-gutter-desktop: 24px;
|
|
83
|
+
--container-gutter-tablet: 16px;
|
|
84
|
+
--container-gutter-phone: 12px;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
/* ─── Reset ─────────────────────────────────────────────── */
|
|
88
|
+
*, *::before, *::after { box-sizing: border-box; }
|
|
89
|
+
html, body { margin: 0; padding: 0; }
|
|
90
|
+
body {
|
|
91
|
+
background: var(--bg);
|
|
92
|
+
color: var(--fg);
|
|
93
|
+
font-family: var(--font-body);
|
|
94
|
+
font-size: var(--text-base);
|
|
95
|
+
line-height: var(--leading-body);
|
|
96
|
+
font-weight: 600; /* Inter 600 as body default — DESIGN.md §3 */
|
|
97
|
+
font-feature-settings: "calt" 1; /* "calt" on everything */
|
|
98
|
+
-webkit-font-smoothing: antialiased;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
/* ─── Layout ─────────────────────────────────────────────── */
|
|
102
|
+
.container { max-width: var(--container-max); margin-inline: auto; padding-inline: var(--container-gutter-desktop); }
|
|
103
|
+
section { padding-block: var(--section-y-desktop); }
|
|
104
|
+
section + section { border-top: 1px solid var(--border); }
|
|
105
|
+
@media (max-width: 1023px) {
|
|
106
|
+
.container { padding-inline: var(--container-gutter-tablet); }
|
|
107
|
+
section { padding-block: var(--section-y-tablet); }
|
|
108
|
+
}
|
|
109
|
+
@media (max-width: 639px) {
|
|
110
|
+
.container { padding-inline: var(--container-gutter-phone); }
|
|
111
|
+
section { padding-block: var(--section-y-phone); }
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
/* ─── Typography — Wise Sans 900 at 0.85, "calt" everywhere ─ */
|
|
115
|
+
h1, h2, h3 {
|
|
116
|
+
font-family: var(--font-display);
|
|
117
|
+
font-weight: 900; /* Wise Sans Black — the brand identity */
|
|
118
|
+
line-height: var(--leading-tight);
|
|
119
|
+
letter-spacing: var(--tracking-display);
|
|
120
|
+
font-feature-settings: "calt" 1;
|
|
121
|
+
margin: 0;
|
|
122
|
+
color: var(--fg);
|
|
123
|
+
}
|
|
124
|
+
h1 { font-size: var(--text-4xl); }
|
|
125
|
+
h2 { font-size: var(--text-3xl); }
|
|
126
|
+
h3 { font-size: var(--text-xl); letter-spacing: -0.015em; line-height: 1.23; }
|
|
127
|
+
p { margin: 0; }
|
|
128
|
+
.lead {
|
|
129
|
+
font-size: var(--text-lg);
|
|
130
|
+
color: var(--fg);
|
|
131
|
+
line-height: var(--leading-body);
|
|
132
|
+
font-weight: 600;
|
|
133
|
+
}
|
|
134
|
+
.body-muted { color: var(--muted); }
|
|
135
|
+
.body-sm { font-size: var(--text-sm); }
|
|
136
|
+
.eyebrow {
|
|
137
|
+
font-size: var(--text-sm);
|
|
138
|
+
color: var(--muted);
|
|
139
|
+
font-weight: 600;
|
|
140
|
+
letter-spacing: -0.006em;
|
|
141
|
+
}
|
|
142
|
+
.stack-3 > * + * { margin-block-start: var(--space-3); }
|
|
143
|
+
.stack-4 > * + * { margin-block-start: var(--space-4); }
|
|
144
|
+
.stack-6 > * + * { margin-block-start: var(--space-6); }
|
|
145
|
+
|
|
146
|
+
/* ─── Buttons — pill, green-on-green, scale(1.05) hover ─── */
|
|
147
|
+
.btn {
|
|
148
|
+
display: inline-flex;
|
|
149
|
+
align-items: center;
|
|
150
|
+
gap: var(--space-2);
|
|
151
|
+
padding: 12px 22px;
|
|
152
|
+
border-radius: var(--radius-pill); /* 9999px — all buttons are pills */
|
|
153
|
+
font-family: var(--font-body);
|
|
154
|
+
font-size: var(--text-lg);
|
|
155
|
+
font-weight: 600; /* Inter 600 — confident, not light */
|
|
156
|
+
line-height: 1;
|
|
157
|
+
cursor: pointer;
|
|
158
|
+
border: none;
|
|
159
|
+
font-feature-settings: "calt" 1;
|
|
160
|
+
letter-spacing: -0.006em;
|
|
161
|
+
transition: background-color var(--motion-fast) var(--ease-standard),
|
|
162
|
+
transform var(--motion-fast) var(--ease-standard);
|
|
163
|
+
text-decoration: none;
|
|
164
|
+
}
|
|
165
|
+
.btn:hover { transform: scale(1.05); } /* DESIGN.md §4 — buttons physically grow */
|
|
166
|
+
.btn:active { transform: scale(0.95); } /* DESIGN.md §4 — compresses on press */
|
|
167
|
+
.btn:focus-visible { outline: none; box-shadow: var(--focus-ring); }
|
|
168
|
+
/* Primary: Wise Green pill with Dark Green text — the signature CTA */
|
|
169
|
+
.btn-primary {
|
|
170
|
+
background: var(--accent);
|
|
171
|
+
color: var(--accent-on);
|
|
172
|
+
}
|
|
173
|
+
.btn-primary:hover { background: var(--accent-hover); }
|
|
174
|
+
.btn-primary:active { background: var(--accent-active); }
|
|
175
|
+
/* Secondary: subtle dark-green tint pill */
|
|
176
|
+
.btn-secondary {
|
|
177
|
+
background: rgba(22, 51, 0, 0.08); /* DESIGN.md §4 — dark green at 8% */
|
|
178
|
+
color: var(--fg);
|
|
179
|
+
}
|
|
180
|
+
.btn-secondary:hover { background: rgba(22, 51, 0, 0.14); }
|
|
181
|
+
|
|
182
|
+
/* ─── Inputs — pill borders, ring focus ──────────────────── */
|
|
183
|
+
.field { display: flex; flex-direction: column; gap: var(--space-2); }
|
|
184
|
+
.field label { font-size: var(--text-sm); font-weight: 600; }
|
|
185
|
+
.field input {
|
|
186
|
+
padding: 14px 18px;
|
|
187
|
+
border-radius: var(--radius-sm);
|
|
188
|
+
border: 1px solid var(--border);
|
|
189
|
+
background: var(--bg);
|
|
190
|
+
color: var(--fg);
|
|
191
|
+
font-family: var(--font-body);
|
|
192
|
+
font-size: var(--text-base);
|
|
193
|
+
font-weight: 600;
|
|
194
|
+
outline: none;
|
|
195
|
+
transition: border-color var(--motion-fast) var(--ease-standard),
|
|
196
|
+
box-shadow var(--motion-fast) var(--ease-standard);
|
|
197
|
+
}
|
|
198
|
+
.field input:focus-visible {
|
|
199
|
+
border-color: var(--accent-on);
|
|
200
|
+
box-shadow: var(--focus-ring);
|
|
201
|
+
}
|
|
202
|
+
.field input::placeholder { color: var(--muted); font-weight: 400; }
|
|
203
|
+
.field-help { font-size: var(--text-xs); color: var(--muted); }
|
|
204
|
+
|
|
205
|
+
/* ─── Cards — 30px radius, ring elevation only ──────────── */
|
|
206
|
+
.card {
|
|
207
|
+
background: var(--bg);
|
|
208
|
+
border-radius: var(--radius-md); /* 30px — Wise's medium feature radius */
|
|
209
|
+
padding: var(--space-8);
|
|
210
|
+
display: flex;
|
|
211
|
+
flex-direction: column;
|
|
212
|
+
gap: var(--space-3);
|
|
213
|
+
box-shadow: var(--elev-ring); /* Ring shadow only — DESIGN.md §6 */
|
|
214
|
+
}
|
|
215
|
+
.card-accent {
|
|
216
|
+
background: var(--surface);
|
|
217
|
+
border-radius: var(--radius-md);
|
|
218
|
+
padding: var(--space-8);
|
|
219
|
+
display: flex;
|
|
220
|
+
flex-direction: column;
|
|
221
|
+
gap: var(--space-3);
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
/* ─── Badges ────────────────────────────────────────────── */
|
|
225
|
+
.badge {
|
|
226
|
+
display: inline-flex; align-items: center; gap: var(--space-2);
|
|
227
|
+
padding: 4px var(--space-3);
|
|
228
|
+
border-radius: var(--radius-pill);
|
|
229
|
+
font-size: var(--text-xs); font-weight: 600; line-height: 1.6;
|
|
230
|
+
}
|
|
231
|
+
.badge-success {
|
|
232
|
+
color: var(--success);
|
|
233
|
+
background: #e2f6d5; /* Light Mint surface — DESIGN.md §2 */
|
|
234
|
+
}
|
|
235
|
+
.badge-muted { color: var(--muted); background: var(--surface); }
|
|
236
|
+
.badge-dot { width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
|
|
237
|
+
|
|
238
|
+
/* ─── Links ─────────────────────────────────────────────── */
|
|
239
|
+
a { color: var(--fg); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 2px; }
|
|
240
|
+
a:hover { color: var(--accent-on); text-decoration-color: var(--accent); }
|
|
241
|
+
kbd {
|
|
242
|
+
font-family: var(--font-mono); font-size: var(--text-xs); font-weight: 400;
|
|
243
|
+
padding: 2px 6px; border-radius: var(--radius-sm);
|
|
244
|
+
border: 1px solid var(--border); background: var(--surface); color: var(--muted);
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
/* ─── Layout helpers ────────────────────────────────────── */
|
|
248
|
+
.hero-grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: var(--space-12); align-items: end; }
|
|
249
|
+
@media (max-width: 1023px) { .hero-grid { grid-template-columns: 1fr; gap: var(--space-8); } }
|
|
250
|
+
.hero-actions { display: flex; gap: var(--space-3); margin-block-start: var(--space-6); flex-wrap: wrap; }
|
|
251
|
+
.hero-meta {
|
|
252
|
+
display: flex; flex-direction: column; gap: var(--space-3);
|
|
253
|
+
padding: var(--space-6); border: 1px solid var(--border);
|
|
254
|
+
border-radius: var(--radius-md); background: var(--surface);
|
|
255
|
+
}
|
|
256
|
+
.features-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-5); }
|
|
257
|
+
@media (max-width: 1023px) { .features-grid { grid-template-columns: 1fr 1fr; } }
|
|
258
|
+
@media (max-width: 639px) { .features-grid { grid-template-columns: 1fr; } }
|
|
259
|
+
.form-row { display: grid; grid-template-columns: 1.4fr 1fr; gap: var(--space-12); align-items: start; }
|
|
260
|
+
@media (max-width: 1023px) { .form-row { grid-template-columns: 1fr; } }
|
|
261
|
+
.form { display: flex; flex-direction: column; gap: var(--space-4); max-width: 460px; }
|
|
262
|
+
.form-actions { display: flex; gap: var(--space-3); margin-block-start: var(--space-2); }
|
|
263
|
+
.icon { width: 18px; height: 18px; flex-shrink: 0; }
|
|
264
|
+
.row-between { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); }
|
|
265
|
+
|
|
266
|
+
/* Hero headline gets the most extreme Wise treatment */
|
|
267
|
+
.hero-headline { max-width: 14ch; }
|
|
268
|
+
</style>
|
|
269
|
+
</head>
|
|
270
|
+
<body>
|
|
271
|
+
<main class="container">
|
|
272
|
+
<section data-od-id="hero">
|
|
273
|
+
<div class="hero-grid">
|
|
274
|
+
<div class="stack-6">
|
|
275
|
+
<p class="eyebrow">Reference fixture · wise</p>
|
|
276
|
+
<h1 class="hero-headline">The international account for everyone.</h1>
|
|
277
|
+
<p class="lead" style="max-width: 50ch">
|
|
278
|
+
Hold 40+ currencies, send money across borders at the real exchange
|
|
279
|
+
rate, and get paid like a local — no hidden fees, no fine print.
|
|
280
|
+
</p>
|
|
281
|
+
<div class="hero-actions">
|
|
282
|
+
<a href="./tokens.css" class="btn btn-primary">
|
|
283
|
+
Open an account
|
|
284
|
+
<svg class="icon" viewBox="0 0 24 24" fill="none"
|
|
285
|
+
stroke="currentColor" stroke-width="2"
|
|
286
|
+
stroke-linecap="round" stroke-linejoin="round"
|
|
287
|
+
aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg>
|
|
288
|
+
</a>
|
|
289
|
+
<a href="./DESIGN.md" class="btn btn-secondary">Read the spec</a>
|
|
290
|
+
</div>
|
|
291
|
+
</div>
|
|
292
|
+
<aside class="hero-meta" aria-label="Transfer status">
|
|
293
|
+
<div class="row-between">
|
|
294
|
+
<span class="body-sm">Transfer status</span>
|
|
295
|
+
<span class="badge badge-success">
|
|
296
|
+
<span class="badge-dot" aria-hidden="true"></span>
|
|
297
|
+
On its way
|
|
298
|
+
</span>
|
|
299
|
+
</div>
|
|
300
|
+
<p class="body-sm body-muted">Last reviewed <time datetime="2026-05-15">2026-05-15</time> · v1.0</p>
|
|
301
|
+
<p class="body-sm body-muted">Press <kbd>⌘</kbd> <kbd>K</kbd> to search tokens.</p>
|
|
302
|
+
</aside>
|
|
303
|
+
</div>
|
|
304
|
+
</section>
|
|
305
|
+
|
|
306
|
+
<section data-od-id="features">
|
|
307
|
+
<div class="stack-3">
|
|
308
|
+
<p class="eyebrow">What this fixture exercises</p>
|
|
309
|
+
<h2 style="max-width: 18ch">Money without borders, by design.</h2>
|
|
310
|
+
</div>
|
|
311
|
+
<div class="features-grid" style="margin-block-start: var(--space-8)">
|
|
312
|
+
<article class="card">
|
|
313
|
+
<h3>Green-on-green CTAs</h3>
|
|
314
|
+
<p class="body-muted">
|
|
315
|
+
--accent (#9fe870) paired with --accent-on (#163300) — dark green text
|
|
316
|
+
on lime green is the Wise signature, not white. Pill radius 9999px.
|
|
317
|
+
</p>
|
|
318
|
+
<a href="./tokens.css">Inspect tokens →</a>
|
|
319
|
+
</article>
|
|
320
|
+
<article class="card-accent">
|
|
321
|
+
<h3>Billboard Wise Sans 900</h3>
|
|
322
|
+
<p class="body-muted">
|
|
323
|
+
Display headlines run at weight 900 with line-height 0.85 — letters
|
|
324
|
+
overlap vertically, creating dense text blocks that read like signage.
|
|
325
|
+
</p>
|
|
326
|
+
<a href="./DESIGN.md">Read the rule →</a>
|
|
327
|
+
</article>
|
|
328
|
+
<article class="card">
|
|
329
|
+
<h3>Ring-only elevation</h3>
|
|
330
|
+
<p class="body-muted">
|
|
331
|
+
--elev-ring (0 0 0 1px rgba(14,15,12,0.12)) is the only depth treatment.
|
|
332
|
+
No drop shadows; the green accent provides all the visual lift needed.
|
|
333
|
+
</p>
|
|
334
|
+
<a href="./tokens.css">Inspect elevation →</a>
|
|
335
|
+
</article>
|
|
336
|
+
</div>
|
|
337
|
+
</section>
|
|
338
|
+
|
|
339
|
+
<section data-od-id="form">
|
|
340
|
+
<div class="form-row">
|
|
341
|
+
<div class="stack-4">
|
|
342
|
+
<p class="eyebrow">Form components</p>
|
|
343
|
+
<h2>Sign up in seconds.</h2>
|
|
344
|
+
<p class="body-muted" style="max-width: 46ch">
|
|
345
|
+
Inputs sit on the white canvas with hairline ring borders. Focus pulls a
|
|
346
|
+
green-tinted ring (--focus-ring) and snaps the border to dark green —
|
|
347
|
+
the same brand family, never a competing color.
|
|
348
|
+
</p>
|
|
349
|
+
</div>
|
|
350
|
+
<form class="form" onsubmit="event.preventDefault();">
|
|
351
|
+
<div class="field">
|
|
352
|
+
<label for="email">Email address</label>
|
|
353
|
+
<input id="email" type="email" placeholder="you@example.com" autocomplete="email" required />
|
|
354
|
+
<p class="field-help">We'll send your account confirmation here.</p>
|
|
355
|
+
</div>
|
|
356
|
+
<div class="form-actions">
|
|
357
|
+
<button type="submit" class="btn btn-primary">Get started</button>
|
|
358
|
+
<button type="button" class="btn btn-secondary">Learn more</button>
|
|
359
|
+
</div>
|
|
360
|
+
</form>
|
|
361
|
+
</div>
|
|
362
|
+
</section>
|
|
363
|
+
</main>
|
|
364
|
+
</body>
|
|
365
|
+
</html>
|