@hex-core/themes 0.1.1 → 0.2.0
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/chunk-2LXEWDOF.js +68 -0
- package/dist/chunk-2LXEWDOF.js.map +1 -0
- package/dist/chunk-2SIVAJHV.js +68 -0
- package/dist/chunk-2SIVAJHV.js.map +1 -0
- package/dist/chunk-2UVSQNAF.js +68 -0
- package/dist/chunk-2UVSQNAF.js.map +1 -0
- package/dist/chunk-2XBAWSN6.js +68 -0
- package/dist/chunk-2XBAWSN6.js.map +1 -0
- package/dist/chunk-3FR2JLIS.js +68 -0
- package/dist/chunk-3FR2JLIS.js.map +1 -0
- package/dist/chunk-4AQSFP5U.js +68 -0
- package/dist/chunk-4AQSFP5U.js.map +1 -0
- package/dist/chunk-4CRJPM5Q.js +68 -0
- package/dist/chunk-4CRJPM5Q.js.map +1 -0
- package/dist/chunk-4EAEPKGB.js +68 -0
- package/dist/chunk-4EAEPKGB.js.map +1 -0
- package/dist/chunk-4JPNRIHQ.js +68 -0
- package/dist/chunk-4JPNRIHQ.js.map +1 -0
- package/dist/chunk-4WCDNNON.js +68 -0
- package/dist/chunk-4WCDNNON.js.map +1 -0
- package/dist/chunk-4XQKUS33.js +68 -0
- package/dist/chunk-4XQKUS33.js.map +1 -0
- package/dist/chunk-5FW5RHIU.js +68 -0
- package/dist/chunk-5FW5RHIU.js.map +1 -0
- package/dist/chunk-64G56KOZ.js +68 -0
- package/dist/chunk-64G56KOZ.js.map +1 -0
- package/dist/chunk-6UDYRVS2.js +68 -0
- package/dist/chunk-6UDYRVS2.js.map +1 -0
- package/dist/chunk-75HM5DPO.js +68 -0
- package/dist/chunk-75HM5DPO.js.map +1 -0
- package/dist/chunk-7VETPCK7.js +68 -0
- package/dist/chunk-7VETPCK7.js.map +1 -0
- package/dist/chunk-BMH72AOR.js +68 -0
- package/dist/chunk-BMH72AOR.js.map +1 -0
- package/dist/chunk-BTDSHLZE.js +68 -0
- package/dist/chunk-BTDSHLZE.js.map +1 -0
- package/dist/chunk-BTKVLLPL.js +68 -0
- package/dist/chunk-BTKVLLPL.js.map +1 -0
- package/dist/chunk-CZDOW4UT.js +68 -0
- package/dist/chunk-CZDOW4UT.js.map +1 -0
- package/dist/chunk-DHT4VCQG.js +68 -0
- package/dist/chunk-DHT4VCQG.js.map +1 -0
- package/dist/chunk-DM6DAYEM.js +68 -0
- package/dist/chunk-DM6DAYEM.js.map +1 -0
- package/dist/chunk-DN2M4ZI5.js +68 -0
- package/dist/chunk-DN2M4ZI5.js.map +1 -0
- package/dist/chunk-DOUW4N6H.js +68 -0
- package/dist/chunk-DOUW4N6H.js.map +1 -0
- package/dist/chunk-DTZPLDZ5.js +68 -0
- package/dist/chunk-DTZPLDZ5.js.map +1 -0
- package/dist/chunk-E6MRSOPD.js +68 -0
- package/dist/chunk-E6MRSOPD.js.map +1 -0
- package/dist/chunk-FABPV7PL.js +68 -0
- package/dist/chunk-FABPV7PL.js.map +1 -0
- package/dist/chunk-FM67TP64.js +68 -0
- package/dist/chunk-FM67TP64.js.map +1 -0
- package/dist/chunk-GFABZZVH.js +68 -0
- package/dist/chunk-GFABZZVH.js.map +1 -0
- package/dist/chunk-HTLRH4MJ.js +68 -0
- package/dist/chunk-HTLRH4MJ.js.map +1 -0
- package/dist/chunk-IDBHZ2PV.js +68 -0
- package/dist/chunk-IDBHZ2PV.js.map +1 -0
- package/dist/chunk-J54YKOPC.js +68 -0
- package/dist/chunk-J54YKOPC.js.map +1 -0
- package/dist/chunk-JN5K3V7M.js +68 -0
- package/dist/chunk-JN5K3V7M.js.map +1 -0
- package/dist/chunk-JU4TDT2G.js +528 -0
- package/dist/chunk-JU4TDT2G.js.map +1 -0
- package/dist/chunk-JWBGRQJI.js +68 -0
- package/dist/chunk-JWBGRQJI.js.map +1 -0
- package/dist/chunk-KFVFORR5.js +68 -0
- package/dist/chunk-KFVFORR5.js.map +1 -0
- package/dist/chunk-LILQL4KG.js +68 -0
- package/dist/chunk-LILQL4KG.js.map +1 -0
- package/dist/chunk-M7JXKTNY.js +68 -0
- package/dist/chunk-M7JXKTNY.js.map +1 -0
- package/dist/chunk-NM567GJA.js +68 -0
- package/dist/chunk-NM567GJA.js.map +1 -0
- package/dist/chunk-NMWHITVJ.js +68 -0
- package/dist/chunk-NMWHITVJ.js.map +1 -0
- package/dist/chunk-NSWZ6DXW.js +68 -0
- package/dist/chunk-NSWZ6DXW.js.map +1 -0
- package/dist/chunk-NXSLVEML.js +68 -0
- package/dist/chunk-NXSLVEML.js.map +1 -0
- package/dist/chunk-NZX4NVB7.js +68 -0
- package/dist/chunk-NZX4NVB7.js.map +1 -0
- package/dist/chunk-OAB7GNRG.js +68 -0
- package/dist/chunk-OAB7GNRG.js.map +1 -0
- package/dist/chunk-P4I6HJZA.js +68 -0
- package/dist/chunk-P4I6HJZA.js.map +1 -0
- package/dist/chunk-PC3NQBOZ.js +68 -0
- package/dist/chunk-PC3NQBOZ.js.map +1 -0
- package/dist/chunk-PE3RNDVR.js +68 -0
- package/dist/chunk-PE3RNDVR.js.map +1 -0
- package/dist/chunk-Q2Q3577E.js +68 -0
- package/dist/chunk-Q2Q3577E.js.map +1 -0
- package/dist/chunk-QEMINSRG.js +68 -0
- package/dist/chunk-QEMINSRG.js.map +1 -0
- package/dist/chunk-RGBZ3ZXX.js +68 -0
- package/dist/chunk-RGBZ3ZXX.js.map +1 -0
- package/dist/chunk-RWSUTY67.js +68 -0
- package/dist/chunk-RWSUTY67.js.map +1 -0
- package/dist/chunk-SB3JKBJD.js +68 -0
- package/dist/chunk-SB3JKBJD.js.map +1 -0
- package/dist/chunk-TAHSZ55U.js +68 -0
- package/dist/chunk-TAHSZ55U.js.map +1 -0
- package/dist/chunk-TCR3NGBV.js +68 -0
- package/dist/chunk-TCR3NGBV.js.map +1 -0
- package/dist/chunk-TKPBFOEN.js +68 -0
- package/dist/chunk-TKPBFOEN.js.map +1 -0
- package/dist/chunk-TN6KDVAG.js +68 -0
- package/dist/chunk-TN6KDVAG.js.map +1 -0
- package/dist/chunk-UIMBGFLW.js +68 -0
- package/dist/chunk-UIMBGFLW.js.map +1 -0
- package/dist/chunk-UL4F5NTU.js +68 -0
- package/dist/chunk-UL4F5NTU.js.map +1 -0
- package/dist/chunk-UWDKL3IR.js +68 -0
- package/dist/chunk-UWDKL3IR.js.map +1 -0
- package/dist/chunk-VNYLNLIH.js +68 -0
- package/dist/chunk-VNYLNLIH.js.map +1 -0
- package/dist/chunk-W2VEHVDK.js +68 -0
- package/dist/chunk-W2VEHVDK.js.map +1 -0
- package/dist/chunk-WMYSBUH5.js +68 -0
- package/dist/chunk-WMYSBUH5.js.map +1 -0
- package/dist/chunk-WNTQIMRE.js +68 -0
- package/dist/chunk-WNTQIMRE.js.map +1 -0
- package/dist/chunk-WY72KJJW.js +68 -0
- package/dist/chunk-WY72KJJW.js.map +1 -0
- package/dist/chunk-WYTM3WHD.js +68 -0
- package/dist/chunk-WYTM3WHD.js.map +1 -0
- package/dist/chunk-XGQWOJRB.js +68 -0
- package/dist/chunk-XGQWOJRB.js.map +1 -0
- package/dist/chunk-YZKPRCKP.js +68 -0
- package/dist/chunk-YZKPRCKP.js.map +1 -0
- package/dist/chunk-ZEPFA7ZT.js +68 -0
- package/dist/chunk-ZEPFA7ZT.js.map +1 -0
- package/dist/chunk-ZIMELPXX.js +68 -0
- package/dist/chunk-ZIMELPXX.js.map +1 -0
- package/dist/chunk-ZMAIAAT6.js +68 -0
- package/dist/chunk-ZMAIAAT6.js.map +1 -0
- package/dist/chunk-ZOCDSEOF.js +68 -0
- package/dist/chunk-ZOCDSEOF.js.map +1 -0
- package/dist/chunk-ZSUTMUVB.js +68 -0
- package/dist/chunk-ZSUTMUVB.js.map +1 -0
- package/dist/index.d.ts +185 -23
- package/dist/index.js +359 -3
- package/dist/index.js.map +1 -1
- package/dist/presets/_briefs/airbnb.d.ts +3 -0
- package/dist/presets/_briefs/airbnb.js +551 -0
- package/dist/presets/_briefs/airbnb.js.map +1 -0
- package/dist/presets/_briefs/airtable.d.ts +3 -0
- package/dist/presets/_briefs/airtable.js +560 -0
- package/dist/presets/_briefs/airtable.js.map +1 -0
- package/dist/presets/_briefs/apple.d.ts +3 -0
- package/dist/presets/_briefs/apple.js +568 -0
- package/dist/presets/_briefs/apple.js.map +1 -0
- package/dist/presets/_briefs/binance.d.ts +3 -0
- package/dist/presets/_briefs/binance.js +640 -0
- package/dist/presets/_briefs/binance.js.map +1 -0
- package/dist/presets/_briefs/bmw-m.d.ts +3 -0
- package/dist/presets/_briefs/bmw-m.js +509 -0
- package/dist/presets/_briefs/bmw-m.js.map +1 -0
- package/dist/presets/_briefs/bmw.d.ts +3 -0
- package/dist/presets/_briefs/bmw.js +550 -0
- package/dist/presets/_briefs/bmw.js.map +1 -0
- package/dist/presets/_briefs/bugatti.d.ts +3 -0
- package/dist/presets/_briefs/bugatti.js +460 -0
- package/dist/presets/_briefs/bugatti.js.map +1 -0
- package/dist/presets/_briefs/cal.d.ts +3 -0
- package/dist/presets/_briefs/cal.js +548 -0
- package/dist/presets/_briefs/cal.js.map +1 -0
- package/dist/presets/_briefs/claude.d.ts +3 -0
- package/dist/presets/_briefs/claude.js +595 -0
- package/dist/presets/_briefs/claude.js.map +1 -0
- package/dist/presets/_briefs/clay.d.ts +3 -0
- package/dist/presets/_briefs/clay.js +547 -0
- package/dist/presets/_briefs/clay.js.map +1 -0
- package/dist/presets/_briefs/clickhouse.d.ts +3 -0
- package/dist/presets/_briefs/clickhouse.js +550 -0
- package/dist/presets/_briefs/clickhouse.js.map +1 -0
- package/dist/presets/_briefs/cohere.d.ts +3 -0
- package/dist/presets/_briefs/cohere.js +457 -0
- package/dist/presets/_briefs/cohere.js.map +1 -0
- package/dist/presets/_briefs/coinbase.d.ts +3 -0
- package/dist/presets/_briefs/coinbase.js +576 -0
- package/dist/presets/_briefs/coinbase.js.map +1 -0
- package/dist/presets/_briefs/composio.d.ts +3 -0
- package/dist/presets/_briefs/composio.js +512 -0
- package/dist/presets/_briefs/composio.js.map +1 -0
- package/dist/presets/_briefs/cursor.d.ts +3 -0
- package/dist/presets/_briefs/cursor.js +543 -0
- package/dist/presets/_briefs/cursor.js.map +1 -0
- package/dist/presets/_briefs/elevenlabs.d.ts +3 -0
- package/dist/presets/_briefs/elevenlabs.js +510 -0
- package/dist/presets/_briefs/elevenlabs.js.map +1 -0
- package/dist/presets/_briefs/expo.d.ts +3 -0
- package/dist/presets/_briefs/expo.js +532 -0
- package/dist/presets/_briefs/expo.js.map +1 -0
- package/dist/presets/_briefs/ferrari.d.ts +3 -0
- package/dist/presets/_briefs/ferrari.js +537 -0
- package/dist/presets/_briefs/ferrari.js.map +1 -0
- package/dist/presets/_briefs/figma.d.ts +3 -0
- package/dist/presets/_briefs/figma.js +226 -0
- package/dist/presets/_briefs/figma.js.map +1 -0
- package/dist/presets/_briefs/framer.d.ts +3 -0
- package/dist/presets/_briefs/framer.js +252 -0
- package/dist/presets/_briefs/framer.js.map +1 -0
- package/dist/presets/_briefs/hashicorp.d.ts +3 -0
- package/dist/presets/_briefs/hashicorp.js +284 -0
- package/dist/presets/_briefs/hashicorp.js.map +1 -0
- package/dist/presets/_briefs/ibm.d.ts +3 -0
- package/dist/presets/_briefs/ibm.js +338 -0
- package/dist/presets/_briefs/ibm.js.map +1 -0
- package/dist/presets/_briefs/intercom.d.ts +3 -0
- package/dist/presets/_briefs/intercom.js +152 -0
- package/dist/presets/_briefs/intercom.js.map +1 -0
- package/dist/presets/_briefs/kraken.d.ts +3 -0
- package/dist/presets/_briefs/kraken.js +131 -0
- package/dist/presets/_briefs/kraken.js.map +1 -0
- package/dist/presets/_briefs/lamborghini.d.ts +3 -0
- package/dist/presets/_briefs/lamborghini.js +294 -0
- package/dist/presets/_briefs/lamborghini.js.map +1 -0
- package/dist/presets/_briefs/linear.d.ts +3 -0
- package/dist/presets/_briefs/linear.js +373 -0
- package/dist/presets/_briefs/linear.js.map +1 -0
- package/dist/presets/_briefs/lovable.d.ts +3 -0
- package/dist/presets/_briefs/lovable.js +304 -0
- package/dist/presets/_briefs/lovable.js.map +1 -0
- package/dist/presets/_briefs/mastercard.d.ts +3 -0
- package/dist/presets/_briefs/mastercard.js +371 -0
- package/dist/presets/_briefs/mastercard.js.map +1 -0
- package/dist/presets/_briefs/meta.d.ts +3 -0
- package/dist/presets/_briefs/meta.js +372 -0
- package/dist/presets/_briefs/meta.js.map +1 -0
- package/dist/presets/_briefs/minimax.d.ts +3 -0
- package/dist/presets/_briefs/minimax.js +263 -0
- package/dist/presets/_briefs/minimax.js.map +1 -0
- package/dist/presets/_briefs/mintlify.d.ts +3 -0
- package/dist/presets/_briefs/mintlify.js +332 -0
- package/dist/presets/_briefs/mintlify.js.map +1 -0
- package/dist/presets/_briefs/miro.d.ts +3 -0
- package/dist/presets/_briefs/miro.js +114 -0
- package/dist/presets/_briefs/miro.js.map +1 -0
- package/dist/presets/_briefs/mistral.d.ts +3 -0
- package/dist/presets/_briefs/mistral.js +267 -0
- package/dist/presets/_briefs/mistral.js.map +1 -0
- package/dist/presets/_briefs/mongodb.d.ts +3 -0
- package/dist/presets/_briefs/mongodb.js +272 -0
- package/dist/presets/_briefs/mongodb.js.map +1 -0
- package/dist/presets/_briefs/nike.d.ts +3 -0
- package/dist/presets/_briefs/nike.js +369 -0
- package/dist/presets/_briefs/nike.js.map +1 -0
- package/dist/presets/_briefs/notion.d.ts +3 -0
- package/dist/presets/_briefs/notion.js +315 -0
- package/dist/presets/_briefs/notion.js.map +1 -0
- package/dist/presets/_briefs/nvidia.d.ts +3 -0
- package/dist/presets/_briefs/nvidia.js +299 -0
- package/dist/presets/_briefs/nvidia.js.map +1 -0
- package/dist/presets/_briefs/ollama.d.ts +3 -0
- package/dist/presets/_briefs/ollama.js +273 -0
- package/dist/presets/_briefs/ollama.js.map +1 -0
- package/dist/presets/_briefs/opencode.d.ts +3 -0
- package/dist/presets/_briefs/opencode.js +287 -0
- package/dist/presets/_briefs/opencode.js.map +1 -0
- package/dist/presets/_briefs/pinterest.d.ts +3 -0
- package/dist/presets/_briefs/pinterest.js +236 -0
- package/dist/presets/_briefs/pinterest.js.map +1 -0
- package/dist/presets/_briefs/playstation.d.ts +3 -0
- package/dist/presets/_briefs/playstation.js +370 -0
- package/dist/presets/_briefs/playstation.js.map +1 -0
- package/dist/presets/_briefs/posthog.d.ts +3 -0
- package/dist/presets/_briefs/posthog.js +262 -0
- package/dist/presets/_briefs/posthog.js.map +1 -0
- package/dist/presets/_briefs/raycast.d.ts +3 -0
- package/dist/presets/_briefs/raycast.js +274 -0
- package/dist/presets/_briefs/raycast.js.map +1 -0
- package/dist/presets/_briefs/renault.d.ts +3 -0
- package/dist/presets/_briefs/renault.js +317 -0
- package/dist/presets/_briefs/renault.js.map +1 -0
- package/dist/presets/_briefs/replicate.d.ts +3 -0
- package/dist/presets/_briefs/replicate.js +267 -0
- package/dist/presets/_briefs/replicate.js.map +1 -0
- package/dist/presets/_briefs/resend.d.ts +3 -0
- package/dist/presets/_briefs/resend.js +309 -0
- package/dist/presets/_briefs/resend.js.map +1 -0
- package/dist/presets/_briefs/revolut.d.ts +3 -0
- package/dist/presets/_briefs/revolut.js +191 -0
- package/dist/presets/_briefs/revolut.js.map +1 -0
- package/dist/presets/_briefs/runwayml.d.ts +3 -0
- package/dist/presets/_briefs/runwayml.js +250 -0
- package/dist/presets/_briefs/runwayml.js.map +1 -0
- package/dist/presets/_briefs/sanity.d.ts +3 -0
- package/dist/presets/_briefs/sanity.js +363 -0
- package/dist/presets/_briefs/sanity.js.map +1 -0
- package/dist/presets/_briefs/sentry.d.ts +3 -0
- package/dist/presets/_briefs/sentry.js +268 -0
- package/dist/presets/_briefs/sentry.js.map +1 -0
- package/dist/presets/_briefs/shopify.d.ts +3 -0
- package/dist/presets/_briefs/shopify.js +356 -0
- package/dist/presets/_briefs/shopify.js.map +1 -0
- package/dist/presets/_briefs/slack.d.ts +3 -0
- package/dist/presets/_briefs/slack.js +221 -0
- package/dist/presets/_briefs/slack.js.map +1 -0
- package/dist/presets/_briefs/spacex.d.ts +3 -0
- package/dist/presets/_briefs/spacex.js +200 -0
- package/dist/presets/_briefs/spacex.js.map +1 -0
- package/dist/presets/_briefs/spotify.d.ts +3 -0
- package/dist/presets/_briefs/spotify.js +252 -0
- package/dist/presets/_briefs/spotify.js.map +1 -0
- package/dist/presets/_briefs/starbucks.d.ts +3 -0
- package/dist/presets/_briefs/starbucks.js +586 -0
- package/dist/presets/_briefs/starbucks.js.map +1 -0
- package/dist/presets/_briefs/stripe.d.ts +3 -0
- package/dist/presets/_briefs/stripe.js +328 -0
- package/dist/presets/_briefs/stripe.js.map +1 -0
- package/dist/presets/_briefs/supabase.d.ts +3 -0
- package/dist/presets/_briefs/supabase.js +261 -0
- package/dist/presets/_briefs/supabase.js.map +1 -0
- package/dist/presets/_briefs/superhuman.d.ts +3 -0
- package/dist/presets/_briefs/superhuman.js +258 -0
- package/dist/presets/_briefs/superhuman.js.map +1 -0
- package/dist/presets/_briefs/tesla.d.ts +3 -0
- package/dist/presets/_briefs/tesla.js +292 -0
- package/dist/presets/_briefs/tesla.js.map +1 -0
- package/dist/presets/_briefs/theverge.d.ts +3 -0
- package/dist/presets/_briefs/theverge.js +345 -0
- package/dist/presets/_briefs/theverge.js.map +1 -0
- package/dist/presets/_briefs/together.d.ts +3 -0
- package/dist/presets/_briefs/together.js +269 -0
- package/dist/presets/_briefs/together.js.map +1 -0
- package/dist/presets/_briefs/uber.d.ts +3 -0
- package/dist/presets/_briefs/uber.js +301 -0
- package/dist/presets/_briefs/uber.js.map +1 -0
- package/dist/presets/_briefs/vercel.d.ts +3 -0
- package/dist/presets/_briefs/vercel.js +316 -0
- package/dist/presets/_briefs/vercel.js.map +1 -0
- package/dist/presets/_briefs/vodafone.d.ts +3 -0
- package/dist/presets/_briefs/vodafone.js +429 -0
- package/dist/presets/_briefs/vodafone.js.map +1 -0
- package/dist/presets/_briefs/voltagent.d.ts +3 -0
- package/dist/presets/_briefs/voltagent.js +329 -0
- package/dist/presets/_briefs/voltagent.js.map +1 -0
- package/dist/presets/_briefs/warp.d.ts +3 -0
- package/dist/presets/_briefs/warp.js +259 -0
- package/dist/presets/_briefs/warp.js.map +1 -0
- package/dist/presets/_briefs/webflow.d.ts +3 -0
- package/dist/presets/_briefs/webflow.js +98 -0
- package/dist/presets/_briefs/webflow.js.map +1 -0
- package/dist/presets/_briefs/wired.d.ts +3 -0
- package/dist/presets/_briefs/wired.js +284 -0
- package/dist/presets/_briefs/wired.js.map +1 -0
- package/dist/presets/_briefs/wise.d.ts +3 -0
- package/dist/presets/_briefs/wise.js +179 -0
- package/dist/presets/_briefs/wise.js.map +1 -0
- package/dist/presets/_briefs/x.d.ts +3 -0
- package/dist/presets/_briefs/x.js +263 -0
- package/dist/presets/_briefs/x.js.map +1 -0
- package/dist/presets/_briefs/zapier.d.ts +3 -0
- package/dist/presets/_briefs/zapier.js +334 -0
- package/dist/presets/_briefs/zapier.js.map +1 -0
- package/dist/presets/airbnb.d.ts +5 -0
- package/dist/presets/airbnb.js +7 -0
- package/dist/presets/airbnb.js.map +1 -0
- package/dist/presets/airtable.d.ts +5 -0
- package/dist/presets/airtable.js +7 -0
- package/dist/presets/airtable.js.map +1 -0
- package/dist/presets/apple.d.ts +5 -0
- package/dist/presets/apple.js +7 -0
- package/dist/presets/apple.js.map +1 -0
- package/dist/presets/binance.d.ts +5 -0
- package/dist/presets/binance.js +7 -0
- package/dist/presets/binance.js.map +1 -0
- package/dist/presets/bmw-m.d.ts +5 -0
- package/dist/presets/bmw-m.js +7 -0
- package/dist/presets/bmw-m.js.map +1 -0
- package/dist/presets/bmw.d.ts +5 -0
- package/dist/presets/bmw.js +7 -0
- package/dist/presets/bmw.js.map +1 -0
- package/dist/presets/bugatti.d.ts +5 -0
- package/dist/presets/bugatti.js +7 -0
- package/dist/presets/bugatti.js.map +1 -0
- package/dist/presets/cal.d.ts +5 -0
- package/dist/presets/cal.js +7 -0
- package/dist/presets/cal.js.map +1 -0
- package/dist/presets/claude.d.ts +5 -0
- package/dist/presets/claude.js +7 -0
- package/dist/presets/claude.js.map +1 -0
- package/dist/presets/clay.d.ts +5 -0
- package/dist/presets/clay.js +7 -0
- package/dist/presets/clay.js.map +1 -0
- package/dist/presets/clickhouse.d.ts +5 -0
- package/dist/presets/clickhouse.js +7 -0
- package/dist/presets/clickhouse.js.map +1 -0
- package/dist/presets/cohere.d.ts +5 -0
- package/dist/presets/cohere.js +7 -0
- package/dist/presets/cohere.js.map +1 -0
- package/dist/presets/coinbase.d.ts +5 -0
- package/dist/presets/coinbase.js +7 -0
- package/dist/presets/coinbase.js.map +1 -0
- package/dist/presets/composio.d.ts +5 -0
- package/dist/presets/composio.js +7 -0
- package/dist/presets/composio.js.map +1 -0
- package/dist/presets/cursor.d.ts +5 -0
- package/dist/presets/cursor.js +7 -0
- package/dist/presets/cursor.js.map +1 -0
- package/dist/presets/elevenlabs.d.ts +5 -0
- package/dist/presets/elevenlabs.js +7 -0
- package/dist/presets/elevenlabs.js.map +1 -0
- package/dist/presets/expo.d.ts +5 -0
- package/dist/presets/expo.js +7 -0
- package/dist/presets/expo.js.map +1 -0
- package/dist/presets/ferrari.d.ts +5 -0
- package/dist/presets/ferrari.js +7 -0
- package/dist/presets/ferrari.js.map +1 -0
- package/dist/presets/figma.d.ts +5 -0
- package/dist/presets/figma.js +7 -0
- package/dist/presets/figma.js.map +1 -0
- package/dist/presets/framer.d.ts +5 -0
- package/dist/presets/framer.js +7 -0
- package/dist/presets/framer.js.map +1 -0
- package/dist/presets/hashicorp.d.ts +5 -0
- package/dist/presets/hashicorp.js +7 -0
- package/dist/presets/hashicorp.js.map +1 -0
- package/dist/presets/ibm.d.ts +5 -0
- package/dist/presets/ibm.js +7 -0
- package/dist/presets/ibm.js.map +1 -0
- package/dist/presets/index.d.ts +94 -0
- package/dist/presets/index.js +297 -0
- package/dist/presets/index.js.map +1 -0
- package/dist/presets/intercom.d.ts +5 -0
- package/dist/presets/intercom.js +7 -0
- package/dist/presets/intercom.js.map +1 -0
- package/dist/presets/kraken.d.ts +5 -0
- package/dist/presets/kraken.js +7 -0
- package/dist/presets/kraken.js.map +1 -0
- package/dist/presets/lamborghini.d.ts +5 -0
- package/dist/presets/lamborghini.js +7 -0
- package/dist/presets/lamborghini.js.map +1 -0
- package/dist/presets/linear.d.ts +5 -0
- package/dist/presets/linear.js +7 -0
- package/dist/presets/linear.js.map +1 -0
- package/dist/presets/lovable.d.ts +5 -0
- package/dist/presets/lovable.js +7 -0
- package/dist/presets/lovable.js.map +1 -0
- package/dist/presets/mastercard.d.ts +5 -0
- package/dist/presets/mastercard.js +7 -0
- package/dist/presets/mastercard.js.map +1 -0
- package/dist/presets/meta.d.ts +5 -0
- package/dist/presets/meta.js +7 -0
- package/dist/presets/meta.js.map +1 -0
- package/dist/presets/minimax.d.ts +5 -0
- package/dist/presets/minimax.js +7 -0
- package/dist/presets/minimax.js.map +1 -0
- package/dist/presets/mintlify.d.ts +5 -0
- package/dist/presets/mintlify.js +7 -0
- package/dist/presets/mintlify.js.map +1 -0
- package/dist/presets/miro.d.ts +5 -0
- package/dist/presets/miro.js +7 -0
- package/dist/presets/miro.js.map +1 -0
- package/dist/presets/mistral.d.ts +5 -0
- package/dist/presets/mistral.js +7 -0
- package/dist/presets/mistral.js.map +1 -0
- package/dist/presets/mongodb.d.ts +5 -0
- package/dist/presets/mongodb.js +7 -0
- package/dist/presets/mongodb.js.map +1 -0
- package/dist/presets/nike.d.ts +5 -0
- package/dist/presets/nike.js +7 -0
- package/dist/presets/nike.js.map +1 -0
- package/dist/presets/notion.d.ts +5 -0
- package/dist/presets/notion.js +7 -0
- package/dist/presets/notion.js.map +1 -0
- package/dist/presets/nvidia.d.ts +5 -0
- package/dist/presets/nvidia.js +7 -0
- package/dist/presets/nvidia.js.map +1 -0
- package/dist/presets/ollama.d.ts +5 -0
- package/dist/presets/ollama.js +7 -0
- package/dist/presets/ollama.js.map +1 -0
- package/dist/presets/opencode.d.ts +5 -0
- package/dist/presets/opencode.js +7 -0
- package/dist/presets/opencode.js.map +1 -0
- package/dist/presets/pinterest.d.ts +5 -0
- package/dist/presets/pinterest.js +7 -0
- package/dist/presets/pinterest.js.map +1 -0
- package/dist/presets/playstation.d.ts +5 -0
- package/dist/presets/playstation.js +7 -0
- package/dist/presets/playstation.js.map +1 -0
- package/dist/presets/posthog.d.ts +5 -0
- package/dist/presets/posthog.js +7 -0
- package/dist/presets/posthog.js.map +1 -0
- package/dist/presets/raycast.d.ts +5 -0
- package/dist/presets/raycast.js +7 -0
- package/dist/presets/raycast.js.map +1 -0
- package/dist/presets/renault.d.ts +5 -0
- package/dist/presets/renault.js +7 -0
- package/dist/presets/renault.js.map +1 -0
- package/dist/presets/replicate.d.ts +5 -0
- package/dist/presets/replicate.js +7 -0
- package/dist/presets/replicate.js.map +1 -0
- package/dist/presets/resend.d.ts +5 -0
- package/dist/presets/resend.js +7 -0
- package/dist/presets/resend.js.map +1 -0
- package/dist/presets/revolut.d.ts +5 -0
- package/dist/presets/revolut.js +7 -0
- package/dist/presets/revolut.js.map +1 -0
- package/dist/presets/runwayml.d.ts +5 -0
- package/dist/presets/runwayml.js +7 -0
- package/dist/presets/runwayml.js.map +1 -0
- package/dist/presets/sanity.d.ts +5 -0
- package/dist/presets/sanity.js +7 -0
- package/dist/presets/sanity.js.map +1 -0
- package/dist/presets/sentry.d.ts +5 -0
- package/dist/presets/sentry.js +7 -0
- package/dist/presets/sentry.js.map +1 -0
- package/dist/presets/shopify.d.ts +5 -0
- package/dist/presets/shopify.js +7 -0
- package/dist/presets/shopify.js.map +1 -0
- package/dist/presets/slack.d.ts +5 -0
- package/dist/presets/slack.js +7 -0
- package/dist/presets/slack.js.map +1 -0
- package/dist/presets/spacex.d.ts +5 -0
- package/dist/presets/spacex.js +7 -0
- package/dist/presets/spacex.js.map +1 -0
- package/dist/presets/spotify.d.ts +5 -0
- package/dist/presets/spotify.js +7 -0
- package/dist/presets/spotify.js.map +1 -0
- package/dist/presets/starbucks.d.ts +5 -0
- package/dist/presets/starbucks.js +7 -0
- package/dist/presets/starbucks.js.map +1 -0
- package/dist/presets/stripe.d.ts +5 -0
- package/dist/presets/stripe.js +7 -0
- package/dist/presets/stripe.js.map +1 -0
- package/dist/presets/supabase.d.ts +5 -0
- package/dist/presets/supabase.js +7 -0
- package/dist/presets/supabase.js.map +1 -0
- package/dist/presets/superhuman.d.ts +5 -0
- package/dist/presets/superhuman.js +7 -0
- package/dist/presets/superhuman.js.map +1 -0
- package/dist/presets/tesla.d.ts +5 -0
- package/dist/presets/tesla.js +7 -0
- package/dist/presets/tesla.js.map +1 -0
- package/dist/presets/theverge.d.ts +5 -0
- package/dist/presets/theverge.js +7 -0
- package/dist/presets/theverge.js.map +1 -0
- package/dist/presets/together.d.ts +5 -0
- package/dist/presets/together.js +7 -0
- package/dist/presets/together.js.map +1 -0
- package/dist/presets/uber.d.ts +5 -0
- package/dist/presets/uber.js +7 -0
- package/dist/presets/uber.js.map +1 -0
- package/dist/presets/vercel.d.ts +5 -0
- package/dist/presets/vercel.js +7 -0
- package/dist/presets/vercel.js.map +1 -0
- package/dist/presets/vodafone.d.ts +5 -0
- package/dist/presets/vodafone.js +7 -0
- package/dist/presets/vodafone.js.map +1 -0
- package/dist/presets/voltagent.d.ts +5 -0
- package/dist/presets/voltagent.js +7 -0
- package/dist/presets/voltagent.js.map +1 -0
- package/dist/presets/warp.d.ts +5 -0
- package/dist/presets/warp.js +7 -0
- package/dist/presets/warp.js.map +1 -0
- package/dist/presets/webflow.d.ts +5 -0
- package/dist/presets/webflow.js +7 -0
- package/dist/presets/webflow.js.map +1 -0
- package/dist/presets/wired.d.ts +5 -0
- package/dist/presets/wired.js +7 -0
- package/dist/presets/wired.js.map +1 -0
- package/dist/presets/wise.d.ts +5 -0
- package/dist/presets/wise.js +7 -0
- package/dist/presets/wise.js.map +1 -0
- package/dist/presets/x.d.ts +5 -0
- package/dist/presets/x.js +7 -0
- package/dist/presets/x.js.map +1 -0
- package/dist/presets/zapier.d.ts +5 -0
- package/dist/presets/zapier.js +7 -0
- package/dist/presets/zapier.js.map +1 -0
- package/package.json +15 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/presets/_briefs/superhuman.ts"],"sourcesContent":["// AUTO-GENERATED — do not hand-edit. Source: https://github.com/voltagent/awesome-design-md\nexport const superhumanBrief = `# Design System Inspired by Superhuman\n\n## 1. Visual Theme & Atmosphere\n\nSuperhuman's website feels like opening a luxury envelope — predominantly white, immaculately clean, with a single dramatic gesture of color that commands attention. The hero section is a cinematic purple gradient, a deep twilight wash of \\`#1b1938\\` that evokes the moment just before dawn, overlaid with confident white typography. Below this dramatic entrance, the rest of the site is almost entirely white canvas with dark charcoal text, creating a stark but refined reading experience.\n\nThe typography is the true signature: Super Sans VF, a custom variable font with unconventional weight stops (460, 540, 600, 700) that sit between traditional font weight categories. Weight 460 — slightly heavier than regular but lighter than medium — is the workhorse, creating text that feels more confident than typical 400-weight but never aggressive. The tight line-heights (0.96 on display text) compress headlines into dense, powerful blocks, while generous 1.50 line-height on body text provides airy readability. This tension between compressed power and breathing room defines the Superhuman typographic voice.\n\nThe design philosophy is maximum confidence through minimum decoration. Warm cream buttons (\\`#e9e5dd\\`) instead of bright CTAs, a near-absence of borders and shadows, and lavender purple (\\`#cbb7fb\\`) as the sole accent color. It's a productivity tool that markets itself like a luxury brand — every pixel earns its place, nothing is merely decorative. The brand naming convention extends to colors: the primary purple is called \"Mysteria,\" straddling blue and purple with deliberate ambiguity.\n\n**Key Characteristics:**\n- Deep purple gradient hero (\\`#1b1938\\`) contrasting against a predominantly white content body\n- Super Sans VF variable font with non-standard weight stops (460, 540, 600, 700) — sits between conventional weight categories\n- Ultra-tight display line-height (0.96) creating compressed, powerful headlines\n- Warm Cream (\\`#e9e5dd\\`) buttons instead of bright/saturated CTAs — understated luxury\n- Lavender Purple (\\`#cbb7fb\\`) as the singular accent color — a soft, approachable purple\n- Minimal border-radius scale: only 8px and 16px — no micro-rounding, no pill shapes\n- Product screenshots dominate the content — the UI sells itself with minimal surrounding decoration\n\n## 2. Color Palette & Roles\n\n### Primary\n- **Mysteria Purple** (\\`#1b1938\\`): Hero gradient background, deep purple that straddles blue-purple — the darkest expression of the brand\n- **Lavender Glow** (\\`#cbb7fb\\`): Primary accent and highlight color — soft purple used for emphasis, decorative elements, and interactive highlights\n- **Charcoal Ink** (\\`#292827\\`): Primary text and heading color on light surfaces — warm near-black with faint brown undertone\n\n### Secondary & Accent\n- **Amethyst Link** (\\`#714cb6\\`): Underlined link text — mid-range purple that connects to the brand palette while signaling interactivity\n- **Translucent White** (\\`color(srgb 1 1 1 / 0.95)\\`): Hero overlay text — near-white at 95% opacity for depth layering on dark surfaces\n- **Misted White** (\\`color(srgb 1 1 1 / 0.8)\\`): Secondary text on dark surfaces — 80% opacity white for hierarchy on the hero gradient\n\n### Surface & Background\n- **Pure White** (\\`#ffffff\\`): Primary page background — the dominant canvas color for all content sections\n- **Warm Cream** (\\`#e9e5dd\\`): Button background — a warm, neutral cream that avoids the coldness of pure gray\n- **Parchment Border** (\\`#dcd7d3\\`): Card and divider borders — warm light gray with slight pink undertone\n\n### Neutrals & Text\n- **Charcoal Ink** (\\`#292827\\`): Primary heading and body text on white surfaces\n- **Amethyst Link** (\\`#714cb6\\`): In-content links with underline decoration\n- **Translucent White 95%** (\\`color(srgb 1 1 1 / 0.95)\\`): Primary text on dark/purple surfaces\n- **Translucent White 80%** (\\`color(srgb 1 1 1 / 0.8)\\`): Secondary text on dark/purple surfaces\n\n### Semantic & Accent\n- Superhuman operates with extreme color restraint — Lavender Glow (\\`#cbb7fb\\`) is the only true accent\n- Interactive states are communicated through opacity shifts and underline decorations rather than color changes\n- The warm cream button palette avoids any saturated semantic colors (no red errors, green success visible on marketing)\n\n### Gradient System\n- **Hero Gradient**: Deep purple gradient starting from \\`#1b1938\\`, transitioning through purple-to-twilight tones across the hero section — the most dramatic visual element on the entire site\n- **Content Transition**: The gradient dissolves into the white content area, creating a cinematic curtain-lift effect as the user scrolls\n- No other gradients on the marketing site — the hero gradient is a singular dramatic gesture\n\n## 3. Typography Rules\n\n### Font Family\n- **Display & Body**: \\`Super Sans VF\\` — custom variable font with non-standard weight axis. Fallbacks: \\`system-ui, -apple-system, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue\\`\n- **Product UI** (referenced in brand): \\`Messina Sans\\` / \\`Messina Serif\\` / \\`Messina Mono\\` from Luzi Type — used in the product itself for sans-serif-to-serif transitions\n\n### Hierarchy\n\n| Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |\n|------|------|------|--------|-------------|----------------|-------|\n| Display Hero | Super Sans VF | 64px | 540 | 0.96 | 0px | Maximum compression, powerful block headlines |\n| Section Display | Super Sans VF | 48px | 460 | 0.96 | -1.32px | Lighter weight for section introductions |\n| Section Heading | Super Sans VF | 48px | 460 | 0.96 | 0px | Alternate section heading without tracking |\n| Feature Title | Super Sans VF | 28px | 540 | 1.14 | -0.63px | Feature block headlines, tighter |\n| Sub-heading Large | Super Sans VF | 26px | 460 | 1.30 | 0px | Content sub-sections |\n| Card Heading | Super Sans VF | 22px | 460 | 0.76 | -0.315px | Card title with extreme compression |\n| Body Heading | Super Sans VF | 20px | 460 | 1.20 | 0px | Bold content intros |\n| Body Heading Alt | Super Sans VF | 20px | 460 | 1.10 | -0.55px | Tighter variant for emphasis |\n| Body Heading Relaxed | Super Sans VF | 20px | 460 | 1.25 | -0.4px | More breathing room variant |\n| Emphasis Body | Super Sans VF | 18px | 540 | 1.50 | -0.135px | Medium-weight body for callouts |\n| Body | Super Sans VF | 16px | 460 | 1.50 | 0px | Standard reading text — generous line-height |\n| Button / UI Bold | Super Sans VF | 16px | 700 | 1.00 | 0px | Bold UI elements |\n| Button / UI Semi | Super Sans VF | 16px | 600 | 1.00 | 0px | Semi-bold navigation and labels |\n| Nav Link | Super Sans VF | 16px | 460 | 1.20 | 0px | Navigation items |\n| Caption | Super Sans VF | 14px | 500 | 1.20 | -0.315px | Small labels, metadata |\n| Caption Semi | Super Sans VF | 14px | 600 | 1.29 | 0px | Emphasized small text |\n| Caption Body | Super Sans VF | 14px | 460 | 1.50 | 0px | Small body text |\n| Micro Label | Super Sans VF | 12px | 700 | 1.50 | 0px | Smallest text — badges, tags |\n\n### Principles\n- **Non-standard weight axis**: Weights 460 and 540 are deliberately between conventional Regular (400) and Medium (500), creating a typographic texture that feels subtly \"off\" in a confident way — slightly heavier than expected, never quite bold\n- **Extreme display compression**: Display headlines at 0.96 line-height collapse lines nearly on top of each other, creating dense typographic blocks that feel architectural\n- **Body generosity**: In contrast, body text at 1.50 line-height is extremely spacious, ensuring comfortable reading after the dense headline impact\n- **Selective negative tracking**: Letter-spacing is applied surgically — -1.32px on 48px headings, -0.63px on 28px features, but 0px on body text. The larger the text, the tighter the tracking\n- **Variable font efficiency**: A single font file serves all weight variations (460–700), enabling smooth weight transitions and micro-adjustments\n\n## 4. Component Stylings\n\n### Buttons\n- **Warm Cream Primary**: \\`#e9e5dd\\` background, Charcoal Ink (\\`#292827\\`) text, subtle rounded corners (8px radius), no visible border. The signature CTA — warm, muted, luxurious rather than aggressive\n- **Dark Primary** (on light sections): \\`#292827\\` background with white text, 8px radius — inverse of the warm cream for contrast sections\n- **Ghost / Text Link**: No background, underline decoration, Amethyst Link (\\`#714cb6\\`) or Charcoal Ink color depending on context\n- **Hero CTA**: Warm Cream on the dark purple gradient — the cream color pops dramatically against \\`#1b1938\\`\n- **Hover**: Subtle opacity or brightness shift — no dramatic color transformations\n\n### Cards & Containers\n- **Content Card**: White background, Parchment Border (\\`#dcd7d3\\`) 1px border, 16px border-radius — clean and minimal\n- **Dark Surface Card**: \\`#292827\\` border on dark sections, maintaining warm-neutral tone\n- **Hero Surface**: Semi-transparent white border (\\`rgba(255, 255, 255, 0.2)\\`) on purple gradient — ghostly containment\n- **Product Screenshot Cards**: Large product UI images with clean edges, minimal framing — the product itself is the visual\n- **Hover**: Minimal state changes — consistency and calm over flashy interactions\n\n### Inputs & Forms\n- Minimal form presence on the marketing site — Superhuman funnels users directly to signup\n- Dark-bordered inputs with Charcoal Ink borders and warm-toned placeholder text\n- Focus: Border emphasis increase, likely shifting from Parchment Border to Charcoal Ink\n\n### Navigation\n- **Top nav**: Clean white background on content sections, transparent on hero gradient\n- **Nav links**: Super Sans VF at 16px, weight 460/600 for hierarchy\n- **CTA button**: Warm Cream (\\`#e9e5dd\\`) pill in the nav — subtle, not attention-grabbing\n- **Sticky behavior**: Nav remains fixed on scroll with background transition\n- **Mobile**: Collapses to hamburger menu with simplified layout\n\n### Image Treatment\n- **Product screenshots**: Large, dominant product UI images showing the email interface — the product is the hero\n- **Lifestyle photography**: A single dramatic image (silhouette against purple/red gradient) in the hero area — cinematic and editorial\n- **Full-width presentation**: Screenshots span full container width with subtle shadow or no border\n- **Aspect ratios**: Wide landscape ratios (roughly 16:9) for product screenshots\n- **Color integration**: Screenshots are carefully color-graded to harmonize with the purple-to-white page flow\n\n### Testimonial / Social Proof\n- \"Your Superhuman suite\" section with product feature grid\n- Feature descriptions paired with product screenshots — proof through demonstration rather than quotes\n- Clean grid layout with consistent card sizing\n\n## 5. Layout Principles\n\n### Spacing System\n- **Base unit**: 8px\n- **Scale**: 2px, 4px, 6px, 8px, 12px, 16px, 18px, 20px, 24px, 28px, 32px, 36px, 40px, 48px, 56px\n- **Section padding**: 48px–80px vertical between major sections\n- **Card padding**: 16px–32px internal spacing\n- **Component gaps**: 8px–16px between related elements\n\n### Grid & Container\n- **Max width**: ~1200px content container, centered\n- **Column patterns**: Full-width hero, centered single-column for key messaging, 2-3 column grid for feature cards\n- **Feature grid**: Even column distribution for \"Your Superhuman suite\" product showcase\n\n### Whitespace Philosophy\n- **Confident emptiness**: Generous whitespace between sections signals premium positioning — every element has room to breathe\n- **Product as content**: Large product screenshots fill space that lesser sites would fill with marketing copy\n- **Progressive density**: The hero is spacious and cinematic, content sections become denser with feature grids, then opens up again for CTAs\n\n### Border Radius Scale\n- **8px**: Buttons, inline elements (\\`span\\`, \\`button\\`, \\`div\\`) — the universal small radius\n- **16px**: Cards, links, larger containers (\\`a\\`, card elements) — the universal large radius\n- Only two radii in the entire system — radical simplicity. No micro-rounding (2px), no pill shapes (50px+)\n\n## 6. Depth & Elevation\n\n| Level | Treatment | Use |\n|-------|-----------|-----|\n| Level 0 (Flat) | No shadow, white background | Primary page canvas, most content surfaces |\n| Level 1 (Border) | \\`1px solid #dcd7d3\\` (Parchment Border) | Card containment, section dividers |\n| Level 2 (Dark Border) | \\`1px solid #292827\\` | Header elements, dark section separators |\n| Level 3 (Glow) | Subtle shadow (from 6 shadow definitions detected) | Product screenshot containers, elevated cards |\n| Level 4 (Hero Depth) | \\`rgba(255, 255, 255, 0.2)\\` transparent border | Elements on the dark purple gradient hero |\n\n### Shadow Philosophy\nSuperhuman's elevation system is remarkably restrained on the marketing site. Depth is primarily communicated through:\n- **Border containment**: Warm-toned borders (\\`#dcd7d3\\`) at 1px create gentle separation\n- **Color contrast**: The hero gradient creates massive depth through color shift rather than shadows\n- **Product screenshots**: Screenshots themselves create depth by showing a layered UI within the flat page\n- **Opacity layering**: Semi-transparent whites on the hero gradient create atmospheric depth layers\n\n### Decorative Depth\n- **Hero gradient**: The \\`#1b1938\\` → white gradient transition is the primary depth device — a cinematic curtain effect\n- **Lavender accents**: \\`#cbb7fb\\` Lavender Glow elements float above the dark gradient, creating a stellar/atmospheric effect\n- **No glassmorphism**: Despite the translucent borders, there are no blur/frosted-glass effects\n- **Photography depth**: The hero silhouette image creates natural atmospheric depth without artificial CSS\n\n## 7. Do's and Don'ts\n\n### Do\n- Use Super Sans VF at weight 460 as the default — it's slightly heavier than regular, which is the brand's typographic signature\n- Keep display headlines at 0.96 line-height — the compression is intentional and powerful\n- Use Warm Cream (\\`#e9e5dd\\`) for primary buttons — not white, not gray, specifically warm cream\n- Limit border-radius to 8px (small) and 16px (large) — the binary radius system is deliberate\n- Apply negative letter-spacing on headlines only (-0.63px to -1.32px) — body text stays at 0px\n- Use Lavender Glow (\\`#cbb7fb\\`) as the only accent color — it's the sole color departure from the neutral palette\n- Let product screenshots be the primary visual content — the UI sells itself\n- Maintain the dramatic hero gradient as a singular gesture — the rest of the page is white\n\n### Don't\n- Use conventional font weights (400, 500, 600) — Superhuman's 460 and 540 are deliberately between standard stops\n- Add bright or saturated CTA colors (blue, green, red) — buttons are intentionally muted in Warm Cream or Charcoal\n- Introduce additional accent colors beyond Lavender Glow — the palette is deliberately restrained to one accent\n- Apply shadows generously — depth comes from borders, color contrast, and photography, not box-shadows\n- Use tight line-height on body text — display is compressed (0.96) but body is generous (1.50)\n- Add decorative elements, icons, or illustrations — Superhuman relies on product UI and minimal typography\n- Create pill-shaped buttons — the system uses 8px radius, not rounded pills\n- Use pure black (\\`#000000\\`) for text — Charcoal Ink (\\`#292827\\`) is warmer and softer\n\n## 8. Responsive Behavior\n\n### Breakpoints\n| Name | Width | Key Changes |\n|------|-------|-------------|\n| Mobile | <768px | Single column, hero text reduces to ~36px, stacked feature cards, hamburger nav |\n| Tablet | 768px–1024px | 2-column feature grid begins, hero text ~48px, nav partially visible |\n| Desktop | 1024px–1440px | Full layout, 64px hero display, multi-column feature grid, full nav |\n| Large Desktop | >1440px | Max-width container centered, generous side margins |\n\n### Touch Targets\n- Buttons: 8px radius with comfortable padding — meets touch target guidelines\n- Nav links: 16px text with adequate surrounding padding\n- Mobile CTAs: Full-width Warm Cream buttons for easy thumb reach\n- Links: Underline decoration provides clear tap affordance\n\n### Collapsing Strategy\n- **Navigation**: Full horizontal nav → hamburger menu on mobile\n- **Hero text**: 64px display → 48px → ~36px across breakpoints\n- **Feature grid**: Multi-column product showcase → 2-column → single stacked column\n- **Product screenshots**: Scale within containers, maintaining landscape ratios\n- **Section spacing**: Reduces proportionally — generous desktop margins compress on mobile\n\n### Image Behavior\n- Product screenshots scale responsively while maintaining aspect ratios\n- Hero silhouette image crops or scales — maintains dramatic composition\n- No art direction changes — same compositions across all breakpoints\n- Lazy loading likely on below-fold product screenshots\n\n## 9. Agent Prompt Guide\n\n### Quick Color Reference\n- Hero Background: Mysteria Purple (\\`#1b1938\\`)\n- Primary Text (light bg): Charcoal Ink (\\`#292827\\`)\n- Primary Text (dark bg): Translucent White (\\`color(srgb 1 1 1 / 0.95)\\` — use \\`rgba(255,255,255,0.95)\\`)\n- Accent: Lavender Glow (\\`#cbb7fb\\`)\n- Button Background: Warm Cream (\\`#e9e5dd\\`)\n- Border: Parchment Border (\\`#dcd7d3\\`)\n- Link: Amethyst Link (\\`#714cb6\\`)\n- Page Background: Pure White (\\`#ffffff\\`)\n\n### Example Component Prompts\n- \"Create a hero section with deep purple gradient background (#1b1938), 64px Super Sans heading at weight 540, line-height 0.96, white text at 95% opacity, and a warm cream button (#e9e5dd, 8px radius, #292827 text)\"\n- \"Design a feature card with white background, 1px #dcd7d3 border, 16px radius, 20px Super Sans heading at weight 460, and 16px body text at weight 460 with 1.50 line-height in #292827\"\n- \"Build a navigation bar with white background, Super Sans links at 16px weight 460, a warm cream CTA button (#e9e5dd, 8px radius), sticky positioning\"\n- \"Create a product showcase section with centered 48px heading (weight 460, -1.32px letter-spacing, #292827), a large product screenshot below, on white background\"\n- \"Design an accent badge using Lavender Glow (#cbb7fb) background, 8px radius, 12px bold text (weight 700), for category labels\"\n\n### Iteration Guide\nWhen refining existing screens generated with this design system:\n1. Verify font weight is 460 (not 400 or 500) for body and 540 for display — the non-standard weights are essential\n2. Check that display line-height is 0.96 — if headlines look too spaced, they're wrong\n3. Ensure buttons use Warm Cream (#e9e5dd) not pure white or gray — the warmth is subtle but critical\n4. Confirm the only accent color is Lavender Glow (#cbb7fb) — no other hues should appear\n5. The overall tone should feel like a luxury product presentation — minimal, confident, with one dramatic color gesture in the hero\n`;\n"],"mappings":";AACO,IAAM,kBAAkB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;","names":[]}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
declare const teslaBrief = "# Design System Inspired by Tesla\n\n## 1. Visual Theme & Atmosphere\n\nTesla's website is an exercise in radical subtraction \u2014 a digital showroom where the product is everything and the interface is almost nothing. The page opens with a full-viewport hero that fills the entire screen with cinematic car photography: three vehicles arranged on polished concrete against a hazy cityscape sky, with a single model name floating above in translucent white type. There are no decorative borders, no gradients, no patterns, no shadows. The UI exists only to provide just enough navigational structure to get out of the way. Every pixel that isn't product imagery is white space, and that restraint is the design system's most powerful statement.\n\nThe color philosophy is almost ascetic: a single blue (`#3E6AE1`) for primary calls to action, three shades of dark gray for text hierarchy, and white for everything else. The entire emotional weight is carried by photography \u2014 sprawling landscape shots, studio-lit vehicle profiles, and atmospheric environmental compositions that stretch edge-to-edge across each viewport-height section. The UI chrome dissolves into the imagery. The navigation bar floats above the hero with no visible background, border, or shadow \u2014 the TESLA wordmark and five navigation labels simply exist in the space, trusting the content beneath them to provide sufficient contrast.\n\nTypography recently transitioned from Gotham to Universal Sans \u2014 a custom family split into \"Display\" for headlines and \"Text\" for body/UI elements \u2014 unifying the website, mobile app, and in-car software into a single typographic voice. The Display variant renders hero titles at 40px weight 500, while the Text variant handles everything from navigation (14px/500) to body copy (14px/400). The font carries a geometric precision with slightly humanist terminals that feels engineered rather than designed \u2014 exactly matching Tesla's brand identity of technology that doesn't need to announce itself. There are no text shadows, no text gradients, no decorative type treatments. Every letterform earns its place through clarity alone.\n\n**Key Characteristics:**\n- Full-viewport hero sections (100vh) dominated by cinematic car photography with minimal overlay UI\n- Near-zero UI decoration: no shadows, no gradients, no borders, no patterns anywhere on the page\n- Single accent color \u2014 Electric Blue (`#3E6AE1`) \u2014 used exclusively for primary CTA buttons\n- Universal Sans font family (Display + Text) unifying web, app, and in-car interfaces\n- Photography-first presentation where product imagery carries all emotional weight\n- Frosted-glass navigation concept with transparent/white nav that floats over hero content\n- 0.33s cubic-bezier transitions as the universal timing for all interactive state changes\n- Carousel-driven hero with dot indicators and edge arrow navigation for multiple vehicle showcases\n- \"Ask a Question\" persistent chatbot bar anchored to the viewport bottom\n\n## 2. Color Palette & Roles\n\n### Primary\n- **Electric Blue** (`#3E6AE1`): Primary CTA button background \u2014 a confident, mid-saturation blue (rgb 62, 106, 225) that stands alone as the only chromatic color in the entire interface. Used exclusively for \"Order Now\" and other primary action buttons\n- **Pure White** (`#FFFFFF`): Dominant background color for all surfaces, panels, navigation, and secondary button fills \u2014 the canvas that lets photography breathe\n\n### Secondary & Accent\n- **Promo Blue** (`#3E6AE1`): Blue also serves for promotional text (\"0% APR Available\") displayed over hero imagery in the same hue as the CTA \u2014 creating a visual link between incentive messaging and action\n- No secondary accent colors exist. Tesla deliberately avoids color variety to maintain extreme visual discipline\n\n### Surface & Background\n- **White Canvas** (`#FFFFFF`): Page background, navigation panel, dropdown menus, and all surface containers\n- **Light Ash** (`#F4F4F4`): Subtle alternate surface for section differentiation \u2014 barely perceptible shift from pure white (rgb 244, 244, 244)\n- **Carbon Dark** (`#171A20`): Dark surface color for hero text overlays and potential dark-mode contexts (rgb 23, 26, 32) \u2014 a warm near-black with a blue undertone\n- **Frosted Glass** (`rgba(255, 255, 255, 0.75)`): Semi-transparent white for navigation backdrop-filter effects on scroll\n\n### Neutrals & Text\n- **Carbon Dark** (`#171A20`): Primary heading and navigation text \u2014 the darkest text value (rgb 23, 26, 32), used for model names, nav labels, and hero titles on light backgrounds\n- **Graphite** (`#393C41`): Body text and secondary content (rgb 57, 60, 65) \u2014 the default paragraph color, slightly warmer than pure gray\n- **Pewter** (`#5C5E62`): Tertiary text for sub-links, secondary navigation links like \"Learn\" and \"Order\" (rgb 92, 94, 98)\n- **Silver Fog** (`#8E8E8E`): Placeholder text in input fields and disabled states (rgb 142, 142, 142)\n- **Cloud Gray** (`#EEEEEE`): Light borders and divider lines (rgb 238, 238, 238)\n- **Pale Silver** (`#D0D1D2`): Subtle UI borders and delineation (rgb 208, 209, 210)\n\n### Semantic & Accent\n- Tesla's marketing site avoids semantic color coding (no green/red/yellow status indicators). Error, success, and warning states follow standard browser defaults in form contexts\n- The blue CTA (`#3E6AE1`) serves as the sole interactive color signal\n\n### Gradient System\n- No gradients are used anywhere in the interface\n- Depth is achieved entirely through photography, whitespace, and the binary contrast between full-bleed imagery and clean white surfaces\n- The navigation achieves layering through opacity (frosted glass effect) rather than gradient or shadow\n\n## 3. Typography Rules\n\n### Font Family\n- **Display**: `Universal Sans Display`, -apple-system, Arial, sans-serif \u2014 used for hero titles and large model names. A geometric sans-serif with precisely engineered proportions, recently replacing Gotham to unify Tesla's digital ecosystem (website, mobile app, vehicle interface)\n- **Text/UI**: `Universal Sans Text`, -apple-system, Arial, sans-serif \u2014 used for navigation, body copy, buttons, and all UI text. Optimized for legibility at smaller sizes with slightly wider proportions than the Display variant\n- **No OpenType features** detected \u2014 typography is completely unembellished\n- **No italic variants** observed on the marketing site\n\n### Hierarchy\n\n| Role | Size | Weight | Line Height | Letter Spacing | Notes |\n|------|------|--------|-------------|----------------|-------|\n| Hero Title | 40px (2.50rem) | 500 | 48px (1.20) | normal | Universal Sans Display, white on dark hero imagery |\n| Product Name | 17px (1.06rem) | 500 | 20px (1.18) | normal | Universal Sans Text, model names in nav panel and cards |\n| Nav Item | 14px (0.88rem) | 500 | 16.8px (1.20) | normal | Universal Sans Text, primary navigation labels |\n| Body Text | 14px (0.88rem) | 400 | 20px (1.43) | normal | Universal Sans Text, paragraph and descriptive content |\n| Button Label | 14px (0.88rem) | 500 | 16.8px (1.20) | normal | Universal Sans Text, CTA button text |\n| Sub-link | 14px (0.88rem) | 400 | 20px (1.43) | normal | Tertiary links (Learn, Order, Experience) |\n| Promo Text | 22px (1.38rem) | 400 | 20px (0.91) | normal | White promotional text on hero (\"0% APR Available\") |\n| Category Label | 16px (est.) | 500 | \u2014 | normal | White text labels on category cards (\"Sport Sedan\") |\n\n### Principles\n- **\"Normal\" letter-spacing everywhere**: Unlike most modern tech brands that use negative tracking for headlines, Tesla uses default letter-spacing at every level. This reflects a philosophy that the typeface should speak for itself without manipulation\n- **Weight restraint**: Only two weights appear \u2014 500 (medium) for headings/UI and 400 (regular) for body. No bold (700), no light (300). The system avoids typographic drama\n- **Unified font sizing**: Most UI text clusters at 14px with only hero titles (40px) and promo text (22px) breaking away. This extreme uniformity creates a sense of engineered consistency\n- **Display vs Text split**: The two-variant system (Display for hero, Text for UI) creates subtle optical correction without visible stylistic difference \u2014 they appear as the same typeface at different sizes\n- **No text transforms**: No uppercase text appears in the main navigation or CTAs \u2014 the lowercase approach reinforces Tesla's understated confidence\n\n## 4. Component Stylings\n\n### Buttons\nAll buttons use barely-rounded rectangles (4px border-radius) \u2014 creating a sharp, technical aesthetic that mirrors the precision of the vehicles.\n\n**Primary CTA** \u2014 The main action button:\n- Default: bg `#3E6AE1` (Electric Blue), text `#FFFFFF`, fontSize 14px, fontWeight 500, padding 4px with inner content centering, borderRadius 4px, minHeight 40px, width 200px\n- Border: 3px solid transparent (reserves space for focus/active border animation)\n- Box Shadow: `rgba(0,0,0,0) 0px 0px 0px 2px inset` (invisible at rest, animates to visible on focus)\n- Transition: `border-color 0.33s, background-color 0.33s, color 0.33s, box-shadow 0.25s`\n- Hover: subtle darkening of blue background\n- Used for: \"Order Now\" calls to action\n\n**Secondary CTA** \u2014 The alternative action button:\n- Default: bg `#FFFFFF`, text `#393C41` (Graphite), same dimensions and border pattern as primary\n- Transition: identical timing to primary (0.33s)\n- Used for: \"View Inventory\" alongside primary CTA\n\n**Nav Button** \u2014 Top navigation items:\n- Default: bg transparent, text `#171A20` (Carbon Dark), fontSize 14px, fontWeight 500, borderRadius 4px, padding 4px 16px, minHeight 32px\n- Transition: `color 0.33s, background-color 0.33s`\n- Active/expanded: subtle background highlight\n- Used for: \"Vehicles\", \"Energy\", \"Charging\", \"Discover\", \"Shop\"\n\n**Text Link** \u2014 In-content actions:\n- Default: text `#5C5E62` (Pewter), fontSize 14px, fontWeight 400, no background, no border\n- Hover: underline decoration with box-shadow transition\n- Transition: `box-shadow 0.33s cubic-bezier(0.5, 0, 0, 0.75), color 0.33s`\n- Used for: \"Learn\", \"Order\", \"Experience\", \"New\", \"Pre-Owned\" links in dropdown panel\n\n### Cards & Containers\n\n**Vehicle Card** (Navigation panel):\n- Background: transparent (inherits panel white)\n- Border: none\n- Shadow: none\n- Content: vehicle image (transparent PNG) + model name centered below + two text links\n- Layout: 3-column grid within the dropdown panel\n- No hover animation on the card itself \u2014 interaction is via the text links beneath\n\n**Category Card** (Homepage lower section):\n- Background: full-bleed landscape photography\n- Border radius: approximately 12px (subtly rounded)\n- Overflow: hidden (clips image to rounded corners)\n- Text: white label in top-left corner (\"Sport Sedan\", \"Midsize SUV\")\n- Size: large format, approximately 2:1 aspect ratio\n- No shadow, no border, no overlay gradient \u2014 text relies on image darkness for contrast\n\n### Inputs & Forms\n- Background: transparent\n- Text color: `#171A20` (Carbon Dark)\n- Placeholder color: `#8E8E8E` (Silver Fog)\n- Border: minimal, inherits from browser defaults\n- Font: Universal Sans Text, 14px\n- The \"Ask a Question\" chatbot input bar sits at the viewport bottom with a clean white background and subtle border\n\n### Navigation\n- **Desktop**: Centered horizontal nav with TESLA wordmark (spaced uppercase letters) on the left, five category buttons center-aligned, and three icon buttons (help, globe/language, account) on the right\n- **Background**: White (transitions from transparent over dark hero to opaque white on scroll via class toggle `tds-site-header--white-background`)\n- **Dropdown panel**: Full-width white panel with 3-column vehicle grid + right sidebar text links, no shadow, no border \u2014 appears seamlessly below the nav\n- **Sticky behavior**: `sticky-without-slide` class \u2014 stays at top without slide-in animation\n- **Mobile**: Hamburger collapse pattern\n- **No visible separator** between nav and content \u2014 the nav blends with the hero\n\n### Image Treatment\n- **Hero**: Full-viewport (100vh) sections with cinematic photography \u2014 edge-to-edge, no padding, no margin\n- **Vehicle images**: Transparent PNG renders on white background in dropdown panel, studio-quality 3/4 angle shots\n- **Category cards**: Landscape photography with approximately 2:1 ratio, rounded corners (12px)\n- **Carousel**: Auto-advancing with dot indicators (3 dots) and left/right arrow navigation on edges\n- **Lazy loading**: Below-fold sections use lazy loading, rendering as blank white until scrolled into view\n\n### Persistent Chat Bar\n- Anchored to viewport bottom, visible across all sections\n- White background with subtle border\n- Contains: chat icon + \"Ask a Question\" label + placeholder text (\"What's Dog Mode?\") + send icon + \"Schedule a Drive Today\" secondary CTA\n- Schedule CTA has a teal/blue icon accent\n\n## 5. Layout Principles\n\n### Spacing System\n- **Base unit**: 8px\n- **Common values**: 8px (0.5rem), 16px (1rem), 21.44px (1.34rem)\n- **Button padding**: 4px (minimal outer) with content centering via flexbox, 4px 16px for nav items\n- **Section padding**: Full-viewport sections with content centered vertically\n- **Card gap**: approximately 16px between category cards\n\n### Grid & Container\n- **Max width**: approximately 1383px (full viewport width used for most content)\n- **Hero**: Full-bleed, edge-to-edge, 100vh sections\n- **Navigation panel**: 3-column grid for vehicle cards with right-aligned text sidebar (~70/30 split)\n- **Category cards**: 2-up horizontal layout (large left card + smaller right card)\n\n### Whitespace Philosophy\nTesla uses whitespace as a luxury signal. The generous vertical spacing between sections (each section is a full viewport height) means you can only see one \"message\" at a time \u2014 one car, one model name, one CTA pair. This creates a gallery-like browsing experience where each scroll is a deliberate transition, not a continuous feed. White space is not empty \u2014 it's the frame that elevates each vehicle to the status of art piece.\n\n### Border Radius Scale\n| Value | Context |\n|-------|---------|\n| 0px | Most elements \u2014 sharp edges are the default |\n| 4px | Buttons (primary, secondary, nav items) \u2014 barely perceptible rounding |\n| ~12px | Category cards \u2014 noticeable but restrained rounding on larger surfaces |\n| 50% | Carousel dot indicators \u2014 perfect circles |\n\n## 6. Depth & Elevation\n\n| Level | Treatment | Use |\n|-------|-----------|-----|\n| Level 0 (Flat) | No shadow, no border | Default state for all elements \u2014 cards, panels, buttons at rest |\n| Level 1 (Frost) | `rgba(255,255,255,0.75)` backdrop | Navigation bar on scroll \u2014 frosted glass transparency |\n| Level 2 (Overlay) | `rgba(128,128,128,0.65)` | Modal overlays and region/cookie popups |\n| Level 3 (Subtle) | `rgba(0,0,0,0.05)` | Minimal shadow hints on rare hover states |\n\n### Shadow Philosophy\nTesla's approach to elevation is essentially \"none.\" The site avoids box-shadows entirely in its primary interface. Depth is communicated through three alternative strategies:\n1. **Z-index layering**: The sticky navigation sits above hero content through positioning, not shadow\n2. **Opacity-based transparency**: The frosted glass nav and overlay modals use background-color opacity rather than shadow to indicate layering\n3. **Photography-as-depth**: The full-bleed images create their own visual depth through perspective, lighting, and composition \u2014 making UI shadows redundant\n\n### Decorative Depth\n- No gradients, glows, or atmospheric effects on UI elements\n- The hero imagery itself provides all visual richness \u2014 sunset skies, reflected light on car surfaces, ground shadows from studio lighting\n- The carousel arrow buttons use a semi-transparent white background to float above the hero imagery without disrupting it\n\n## 7. Do's and Don'ts\n\n### Do\n- Let photography dominate every screen \u2014 the product IS the design\n- Use Electric Blue (`#3E6AE1`) exclusively for primary CTAs \u2014 never for decorative purposes\n- Maintain viewport-height sections for major content blocks \u2014 one message per screen\n- Keep typography at weight 400-500 only \u2014 no bold, no light, no extremes\n- Use 4px border-radius for all interactive elements \u2014 precision over playfulness\n- Trust whitespace as a luxury signal \u2014 never fill available space just because it's empty\n- Keep all transitions at 0.33s \u2014 consistency in motion is as important as consistency in color\n- Use transparent PNG vehicle imagery on white backgrounds for product showcases\n- Center CTAs horizontally below model names \u2014 the vertical rhythm is model \u2192 subtitle \u2192 buttons\n- Maintain the Display/Text font split \u2014 Display for hero-scale text only, Text for everything else\n\n### Don't\n- Add shadows to any element \u2014 elevation through shadow contradicts the flat, gallery aesthetic\n- Use more than one chromatic color besides the blue CTA \u2014 the palette is intentionally monochrome-plus-one\n- Apply gradients, patterns, or decorative backgrounds to surfaces \u2014 white and photography are the only backgrounds\n- Use text larger than 40px on the web \u2014 the typography is deliberately restrained even at hero scale\n- Add borders to cards or containers \u2014 separation is achieved through spacing, not lines\n- Use uppercase text transforms \u2014 Tesla's confidence is expressed through lowercase calm\n- Introduce rounded-pill buttons or large border-radii \u2014 the 4px radius is deliberate and precise\n- Override the Universal Sans family with other typefaces \u2014 cross-platform consistency is a core brand value\n- Add hover animations with scale/translate transforms \u2014 Tesla's interactions are color-only (background and border transitions)\n- Clutter the viewport with multiple CTAs \u2014 every screen should have at most two action buttons\n\n## 8. Responsive Behavior\n\n### Breakpoints\n| Name | Width | Key Changes |\n|------|-------|-------------|\n| Mobile | <768px | Single-column layout, hamburger nav replaces horizontal labels, hero text scales to ~28px, CTA buttons stack vertically, category cards become full-width |\n| Tablet | 768-1024px | 2-column nav panel, hero maintains full-viewport height, CTAs remain side-by-side, reduced horizontal padding |\n| Desktop | 1024-1440px | Full horizontal nav, 3-column vehicle grid in dropdown, hero at 40px, side-by-side CTAs at 200px/160px width |\n| Large Desktop | >1440px | Content remains centered, hero photography scales to fill wider viewports, max-width container for nav panel content |\n\n### Touch Targets\n- Primary CTA buttons: 200px \u00D7 40px minimum (well above 44\u00D744px WCAG requirement)\n- Nav buttons: minimum 32px height with 4px 16px padding \u2014 adequate touch targets\n- Carousel arrows: ~44px square white semi-transparent buttons at viewport edges\n- Text links (\"Learn\", \"Order\"): 14px text with adequate line-height spacing for touch\n\n### Collapsing Strategy\n- **Navigation**: Horizontal category buttons (Vehicles, Energy, Charging, Discover, Shop) collapse to a hamburger/drawer menu on mobile\n- **Hero CTA pair**: Side-by-side buttons on desktop stack vertically on mobile\n- **Category cards**: 2-up horizontal layout collapses to single-column full-width on mobile\n- **Vehicle grid**: 3-column grid in desktop nav panel becomes 2-column on tablet, single-column on mobile\n- **Spacing**: Section vertical padding remains generous (viewport-height sections) but horizontal padding reduces\n\n### Image Behavior\n- Hero images are fully responsive and fill the entire viewport at every breakpoint\n- Vehicle carousel images use `object-fit: cover` to maintain cinematic composition across widths\n- Transparent PNG vehicle images in the nav panel scale proportionally within their grid cells\n- Category card images maintain their landscape ratio and clip via `overflow: hidden` with border-radius\n\n## 9. Agent Prompt Guide\n\n### Quick Color Reference\n- Primary CTA: \"Electric Blue (#3E6AE1)\"\n- Background: \"Pure White (#FFFFFF)\"\n- Heading text: \"Carbon Dark (#171A20)\"\n- Body text: \"Graphite (#393C41)\"\n- Tertiary text: \"Pewter (#5C5E62)\"\n- Placeholder: \"Silver Fog (#8E8E8E)\"\n- Alternate surface: \"Light Ash (#F4F4F4)\"\n- Dark surface: \"Carbon Dark (#171A20)\"\n\n### Example Component Prompts\n- \"Create a hero section with a full-viewport background image, centered 'Model Y' title in Universal Sans Display at 40px weight 500 in white, a subtitle line below, and two buttons side by side: a primary Electric Blue (#3E6AE1) 'Order Now' button and a secondary white 'View Inventory' button, both with 4px border-radius and 40px height\"\n- \"Design a navigation bar with a spaced-letter wordmark on the left, five text buttons (14px, weight 500, Carbon Dark #171A20) centered, and three icon buttons on the right, all on a white background with no shadow or border\"\n- \"Build a vehicle card grid with 3 columns, each card showing a transparent-background car image above a model name (17px, weight 500, Carbon Dark) and two text links (14px, weight 400, Pewter #5C5E62) labeled 'Learn' and 'Order', on a pure white surface with no borders or shadows\"\n- \"Create a category card with full-bleed landscape photography, 12px border-radius, overflow hidden, and a white text label ('Sport Sedan') positioned in the top-left corner with no overlay gradient\"\n- \"Design a persistent bottom bar with a chat input ('Ask a Question' placeholder), a send icon, and a secondary CTA ('Schedule a Drive Today') with a teal icon, anchored to the viewport bottom on a white background\"\n\n### Iteration Guide\nWhen refining existing screens generated with this design system:\n1. Focus on ONE component at a time \u2014 Tesla's system is so minimal that each element must be pixel-perfect\n2. Reference specific color names and hex codes from this document \u2014 there are only 6-7 colors in the entire system\n3. Use natural language descriptions, not CSS values \u2014 \"barely rounded corners\" not \"border-radius: 4px\"\n4. Describe the desired \"feel\" alongside specific measurements \u2014 \"gallery-like silence between sections\" communicates the whitespace philosophy better than \"margin-bottom: 100vh\"\n5. Always verify that photography is doing the emotional heavy-lifting \u2014 if the UI itself feels \"designed,\" it's too much\n";
|
|
2
|
+
|
|
3
|
+
export { teslaBrief };
|
|
@@ -0,0 +1,292 @@
|
|
|
1
|
+
// src/presets/_briefs/tesla.ts
|
|
2
|
+
var teslaBrief = `# Design System Inspired by Tesla
|
|
3
|
+
|
|
4
|
+
## 1. Visual Theme & Atmosphere
|
|
5
|
+
|
|
6
|
+
Tesla's website is an exercise in radical subtraction \u2014 a digital showroom where the product is everything and the interface is almost nothing. The page opens with a full-viewport hero that fills the entire screen with cinematic car photography: three vehicles arranged on polished concrete against a hazy cityscape sky, with a single model name floating above in translucent white type. There are no decorative borders, no gradients, no patterns, no shadows. The UI exists only to provide just enough navigational structure to get out of the way. Every pixel that isn't product imagery is white space, and that restraint is the design system's most powerful statement.
|
|
7
|
+
|
|
8
|
+
The color philosophy is almost ascetic: a single blue (\`#3E6AE1\`) for primary calls to action, three shades of dark gray for text hierarchy, and white for everything else. The entire emotional weight is carried by photography \u2014 sprawling landscape shots, studio-lit vehicle profiles, and atmospheric environmental compositions that stretch edge-to-edge across each viewport-height section. The UI chrome dissolves into the imagery. The navigation bar floats above the hero with no visible background, border, or shadow \u2014 the TESLA wordmark and five navigation labels simply exist in the space, trusting the content beneath them to provide sufficient contrast.
|
|
9
|
+
|
|
10
|
+
Typography recently transitioned from Gotham to Universal Sans \u2014 a custom family split into "Display" for headlines and "Text" for body/UI elements \u2014 unifying the website, mobile app, and in-car software into a single typographic voice. The Display variant renders hero titles at 40px weight 500, while the Text variant handles everything from navigation (14px/500) to body copy (14px/400). The font carries a geometric precision with slightly humanist terminals that feels engineered rather than designed \u2014 exactly matching Tesla's brand identity of technology that doesn't need to announce itself. There are no text shadows, no text gradients, no decorative type treatments. Every letterform earns its place through clarity alone.
|
|
11
|
+
|
|
12
|
+
**Key Characteristics:**
|
|
13
|
+
- Full-viewport hero sections (100vh) dominated by cinematic car photography with minimal overlay UI
|
|
14
|
+
- Near-zero UI decoration: no shadows, no gradients, no borders, no patterns anywhere on the page
|
|
15
|
+
- Single accent color \u2014 Electric Blue (\`#3E6AE1\`) \u2014 used exclusively for primary CTA buttons
|
|
16
|
+
- Universal Sans font family (Display + Text) unifying web, app, and in-car interfaces
|
|
17
|
+
- Photography-first presentation where product imagery carries all emotional weight
|
|
18
|
+
- Frosted-glass navigation concept with transparent/white nav that floats over hero content
|
|
19
|
+
- 0.33s cubic-bezier transitions as the universal timing for all interactive state changes
|
|
20
|
+
- Carousel-driven hero with dot indicators and edge arrow navigation for multiple vehicle showcases
|
|
21
|
+
- "Ask a Question" persistent chatbot bar anchored to the viewport bottom
|
|
22
|
+
|
|
23
|
+
## 2. Color Palette & Roles
|
|
24
|
+
|
|
25
|
+
### Primary
|
|
26
|
+
- **Electric Blue** (\`#3E6AE1\`): Primary CTA button background \u2014 a confident, mid-saturation blue (rgb 62, 106, 225) that stands alone as the only chromatic color in the entire interface. Used exclusively for "Order Now" and other primary action buttons
|
|
27
|
+
- **Pure White** (\`#FFFFFF\`): Dominant background color for all surfaces, panels, navigation, and secondary button fills \u2014 the canvas that lets photography breathe
|
|
28
|
+
|
|
29
|
+
### Secondary & Accent
|
|
30
|
+
- **Promo Blue** (\`#3E6AE1\`): Blue also serves for promotional text ("0% APR Available") displayed over hero imagery in the same hue as the CTA \u2014 creating a visual link between incentive messaging and action
|
|
31
|
+
- No secondary accent colors exist. Tesla deliberately avoids color variety to maintain extreme visual discipline
|
|
32
|
+
|
|
33
|
+
### Surface & Background
|
|
34
|
+
- **White Canvas** (\`#FFFFFF\`): Page background, navigation panel, dropdown menus, and all surface containers
|
|
35
|
+
- **Light Ash** (\`#F4F4F4\`): Subtle alternate surface for section differentiation \u2014 barely perceptible shift from pure white (rgb 244, 244, 244)
|
|
36
|
+
- **Carbon Dark** (\`#171A20\`): Dark surface color for hero text overlays and potential dark-mode contexts (rgb 23, 26, 32) \u2014 a warm near-black with a blue undertone
|
|
37
|
+
- **Frosted Glass** (\`rgba(255, 255, 255, 0.75)\`): Semi-transparent white for navigation backdrop-filter effects on scroll
|
|
38
|
+
|
|
39
|
+
### Neutrals & Text
|
|
40
|
+
- **Carbon Dark** (\`#171A20\`): Primary heading and navigation text \u2014 the darkest text value (rgb 23, 26, 32), used for model names, nav labels, and hero titles on light backgrounds
|
|
41
|
+
- **Graphite** (\`#393C41\`): Body text and secondary content (rgb 57, 60, 65) \u2014 the default paragraph color, slightly warmer than pure gray
|
|
42
|
+
- **Pewter** (\`#5C5E62\`): Tertiary text for sub-links, secondary navigation links like "Learn" and "Order" (rgb 92, 94, 98)
|
|
43
|
+
- **Silver Fog** (\`#8E8E8E\`): Placeholder text in input fields and disabled states (rgb 142, 142, 142)
|
|
44
|
+
- **Cloud Gray** (\`#EEEEEE\`): Light borders and divider lines (rgb 238, 238, 238)
|
|
45
|
+
- **Pale Silver** (\`#D0D1D2\`): Subtle UI borders and delineation (rgb 208, 209, 210)
|
|
46
|
+
|
|
47
|
+
### Semantic & Accent
|
|
48
|
+
- Tesla's marketing site avoids semantic color coding (no green/red/yellow status indicators). Error, success, and warning states follow standard browser defaults in form contexts
|
|
49
|
+
- The blue CTA (\`#3E6AE1\`) serves as the sole interactive color signal
|
|
50
|
+
|
|
51
|
+
### Gradient System
|
|
52
|
+
- No gradients are used anywhere in the interface
|
|
53
|
+
- Depth is achieved entirely through photography, whitespace, and the binary contrast between full-bleed imagery and clean white surfaces
|
|
54
|
+
- The navigation achieves layering through opacity (frosted glass effect) rather than gradient or shadow
|
|
55
|
+
|
|
56
|
+
## 3. Typography Rules
|
|
57
|
+
|
|
58
|
+
### Font Family
|
|
59
|
+
- **Display**: \`Universal Sans Display\`, -apple-system, Arial, sans-serif \u2014 used for hero titles and large model names. A geometric sans-serif with precisely engineered proportions, recently replacing Gotham to unify Tesla's digital ecosystem (website, mobile app, vehicle interface)
|
|
60
|
+
- **Text/UI**: \`Universal Sans Text\`, -apple-system, Arial, sans-serif \u2014 used for navigation, body copy, buttons, and all UI text. Optimized for legibility at smaller sizes with slightly wider proportions than the Display variant
|
|
61
|
+
- **No OpenType features** detected \u2014 typography is completely unembellished
|
|
62
|
+
- **No italic variants** observed on the marketing site
|
|
63
|
+
|
|
64
|
+
### Hierarchy
|
|
65
|
+
|
|
66
|
+
| Role | Size | Weight | Line Height | Letter Spacing | Notes |
|
|
67
|
+
|------|------|--------|-------------|----------------|-------|
|
|
68
|
+
| Hero Title | 40px (2.50rem) | 500 | 48px (1.20) | normal | Universal Sans Display, white on dark hero imagery |
|
|
69
|
+
| Product Name | 17px (1.06rem) | 500 | 20px (1.18) | normal | Universal Sans Text, model names in nav panel and cards |
|
|
70
|
+
| Nav Item | 14px (0.88rem) | 500 | 16.8px (1.20) | normal | Universal Sans Text, primary navigation labels |
|
|
71
|
+
| Body Text | 14px (0.88rem) | 400 | 20px (1.43) | normal | Universal Sans Text, paragraph and descriptive content |
|
|
72
|
+
| Button Label | 14px (0.88rem) | 500 | 16.8px (1.20) | normal | Universal Sans Text, CTA button text |
|
|
73
|
+
| Sub-link | 14px (0.88rem) | 400 | 20px (1.43) | normal | Tertiary links (Learn, Order, Experience) |
|
|
74
|
+
| Promo Text | 22px (1.38rem) | 400 | 20px (0.91) | normal | White promotional text on hero ("0% APR Available") |
|
|
75
|
+
| Category Label | 16px (est.) | 500 | \u2014 | normal | White text labels on category cards ("Sport Sedan") |
|
|
76
|
+
|
|
77
|
+
### Principles
|
|
78
|
+
- **"Normal" letter-spacing everywhere**: Unlike most modern tech brands that use negative tracking for headlines, Tesla uses default letter-spacing at every level. This reflects a philosophy that the typeface should speak for itself without manipulation
|
|
79
|
+
- **Weight restraint**: Only two weights appear \u2014 500 (medium) for headings/UI and 400 (regular) for body. No bold (700), no light (300). The system avoids typographic drama
|
|
80
|
+
- **Unified font sizing**: Most UI text clusters at 14px with only hero titles (40px) and promo text (22px) breaking away. This extreme uniformity creates a sense of engineered consistency
|
|
81
|
+
- **Display vs Text split**: The two-variant system (Display for hero, Text for UI) creates subtle optical correction without visible stylistic difference \u2014 they appear as the same typeface at different sizes
|
|
82
|
+
- **No text transforms**: No uppercase text appears in the main navigation or CTAs \u2014 the lowercase approach reinforces Tesla's understated confidence
|
|
83
|
+
|
|
84
|
+
## 4. Component Stylings
|
|
85
|
+
|
|
86
|
+
### Buttons
|
|
87
|
+
All buttons use barely-rounded rectangles (4px border-radius) \u2014 creating a sharp, technical aesthetic that mirrors the precision of the vehicles.
|
|
88
|
+
|
|
89
|
+
**Primary CTA** \u2014 The main action button:
|
|
90
|
+
- Default: bg \`#3E6AE1\` (Electric Blue), text \`#FFFFFF\`, fontSize 14px, fontWeight 500, padding 4px with inner content centering, borderRadius 4px, minHeight 40px, width 200px
|
|
91
|
+
- Border: 3px solid transparent (reserves space for focus/active border animation)
|
|
92
|
+
- Box Shadow: \`rgba(0,0,0,0) 0px 0px 0px 2px inset\` (invisible at rest, animates to visible on focus)
|
|
93
|
+
- Transition: \`border-color 0.33s, background-color 0.33s, color 0.33s, box-shadow 0.25s\`
|
|
94
|
+
- Hover: subtle darkening of blue background
|
|
95
|
+
- Used for: "Order Now" calls to action
|
|
96
|
+
|
|
97
|
+
**Secondary CTA** \u2014 The alternative action button:
|
|
98
|
+
- Default: bg \`#FFFFFF\`, text \`#393C41\` (Graphite), same dimensions and border pattern as primary
|
|
99
|
+
- Transition: identical timing to primary (0.33s)
|
|
100
|
+
- Used for: "View Inventory" alongside primary CTA
|
|
101
|
+
|
|
102
|
+
**Nav Button** \u2014 Top navigation items:
|
|
103
|
+
- Default: bg transparent, text \`#171A20\` (Carbon Dark), fontSize 14px, fontWeight 500, borderRadius 4px, padding 4px 16px, minHeight 32px
|
|
104
|
+
- Transition: \`color 0.33s, background-color 0.33s\`
|
|
105
|
+
- Active/expanded: subtle background highlight
|
|
106
|
+
- Used for: "Vehicles", "Energy", "Charging", "Discover", "Shop"
|
|
107
|
+
|
|
108
|
+
**Text Link** \u2014 In-content actions:
|
|
109
|
+
- Default: text \`#5C5E62\` (Pewter), fontSize 14px, fontWeight 400, no background, no border
|
|
110
|
+
- Hover: underline decoration with box-shadow transition
|
|
111
|
+
- Transition: \`box-shadow 0.33s cubic-bezier(0.5, 0, 0, 0.75), color 0.33s\`
|
|
112
|
+
- Used for: "Learn", "Order", "Experience", "New", "Pre-Owned" links in dropdown panel
|
|
113
|
+
|
|
114
|
+
### Cards & Containers
|
|
115
|
+
|
|
116
|
+
**Vehicle Card** (Navigation panel):
|
|
117
|
+
- Background: transparent (inherits panel white)
|
|
118
|
+
- Border: none
|
|
119
|
+
- Shadow: none
|
|
120
|
+
- Content: vehicle image (transparent PNG) + model name centered below + two text links
|
|
121
|
+
- Layout: 3-column grid within the dropdown panel
|
|
122
|
+
- No hover animation on the card itself \u2014 interaction is via the text links beneath
|
|
123
|
+
|
|
124
|
+
**Category Card** (Homepage lower section):
|
|
125
|
+
- Background: full-bleed landscape photography
|
|
126
|
+
- Border radius: approximately 12px (subtly rounded)
|
|
127
|
+
- Overflow: hidden (clips image to rounded corners)
|
|
128
|
+
- Text: white label in top-left corner ("Sport Sedan", "Midsize SUV")
|
|
129
|
+
- Size: large format, approximately 2:1 aspect ratio
|
|
130
|
+
- No shadow, no border, no overlay gradient \u2014 text relies on image darkness for contrast
|
|
131
|
+
|
|
132
|
+
### Inputs & Forms
|
|
133
|
+
- Background: transparent
|
|
134
|
+
- Text color: \`#171A20\` (Carbon Dark)
|
|
135
|
+
- Placeholder color: \`#8E8E8E\` (Silver Fog)
|
|
136
|
+
- Border: minimal, inherits from browser defaults
|
|
137
|
+
- Font: Universal Sans Text, 14px
|
|
138
|
+
- The "Ask a Question" chatbot input bar sits at the viewport bottom with a clean white background and subtle border
|
|
139
|
+
|
|
140
|
+
### Navigation
|
|
141
|
+
- **Desktop**: Centered horizontal nav with TESLA wordmark (spaced uppercase letters) on the left, five category buttons center-aligned, and three icon buttons (help, globe/language, account) on the right
|
|
142
|
+
- **Background**: White (transitions from transparent over dark hero to opaque white on scroll via class toggle \`tds-site-header--white-background\`)
|
|
143
|
+
- **Dropdown panel**: Full-width white panel with 3-column vehicle grid + right sidebar text links, no shadow, no border \u2014 appears seamlessly below the nav
|
|
144
|
+
- **Sticky behavior**: \`sticky-without-slide\` class \u2014 stays at top without slide-in animation
|
|
145
|
+
- **Mobile**: Hamburger collapse pattern
|
|
146
|
+
- **No visible separator** between nav and content \u2014 the nav blends with the hero
|
|
147
|
+
|
|
148
|
+
### Image Treatment
|
|
149
|
+
- **Hero**: Full-viewport (100vh) sections with cinematic photography \u2014 edge-to-edge, no padding, no margin
|
|
150
|
+
- **Vehicle images**: Transparent PNG renders on white background in dropdown panel, studio-quality 3/4 angle shots
|
|
151
|
+
- **Category cards**: Landscape photography with approximately 2:1 ratio, rounded corners (12px)
|
|
152
|
+
- **Carousel**: Auto-advancing with dot indicators (3 dots) and left/right arrow navigation on edges
|
|
153
|
+
- **Lazy loading**: Below-fold sections use lazy loading, rendering as blank white until scrolled into view
|
|
154
|
+
|
|
155
|
+
### Persistent Chat Bar
|
|
156
|
+
- Anchored to viewport bottom, visible across all sections
|
|
157
|
+
- White background with subtle border
|
|
158
|
+
- Contains: chat icon + "Ask a Question" label + placeholder text ("What's Dog Mode?") + send icon + "Schedule a Drive Today" secondary CTA
|
|
159
|
+
- Schedule CTA has a teal/blue icon accent
|
|
160
|
+
|
|
161
|
+
## 5. Layout Principles
|
|
162
|
+
|
|
163
|
+
### Spacing System
|
|
164
|
+
- **Base unit**: 8px
|
|
165
|
+
- **Common values**: 8px (0.5rem), 16px (1rem), 21.44px (1.34rem)
|
|
166
|
+
- **Button padding**: 4px (minimal outer) with content centering via flexbox, 4px 16px for nav items
|
|
167
|
+
- **Section padding**: Full-viewport sections with content centered vertically
|
|
168
|
+
- **Card gap**: approximately 16px between category cards
|
|
169
|
+
|
|
170
|
+
### Grid & Container
|
|
171
|
+
- **Max width**: approximately 1383px (full viewport width used for most content)
|
|
172
|
+
- **Hero**: Full-bleed, edge-to-edge, 100vh sections
|
|
173
|
+
- **Navigation panel**: 3-column grid for vehicle cards with right-aligned text sidebar (~70/30 split)
|
|
174
|
+
- **Category cards**: 2-up horizontal layout (large left card + smaller right card)
|
|
175
|
+
|
|
176
|
+
### Whitespace Philosophy
|
|
177
|
+
Tesla uses whitespace as a luxury signal. The generous vertical spacing between sections (each section is a full viewport height) means you can only see one "message" at a time \u2014 one car, one model name, one CTA pair. This creates a gallery-like browsing experience where each scroll is a deliberate transition, not a continuous feed. White space is not empty \u2014 it's the frame that elevates each vehicle to the status of art piece.
|
|
178
|
+
|
|
179
|
+
### Border Radius Scale
|
|
180
|
+
| Value | Context |
|
|
181
|
+
|-------|---------|
|
|
182
|
+
| 0px | Most elements \u2014 sharp edges are the default |
|
|
183
|
+
| 4px | Buttons (primary, secondary, nav items) \u2014 barely perceptible rounding |
|
|
184
|
+
| ~12px | Category cards \u2014 noticeable but restrained rounding on larger surfaces |
|
|
185
|
+
| 50% | Carousel dot indicators \u2014 perfect circles |
|
|
186
|
+
|
|
187
|
+
## 6. Depth & Elevation
|
|
188
|
+
|
|
189
|
+
| Level | Treatment | Use |
|
|
190
|
+
|-------|-----------|-----|
|
|
191
|
+
| Level 0 (Flat) | No shadow, no border | Default state for all elements \u2014 cards, panels, buttons at rest |
|
|
192
|
+
| Level 1 (Frost) | \`rgba(255,255,255,0.75)\` backdrop | Navigation bar on scroll \u2014 frosted glass transparency |
|
|
193
|
+
| Level 2 (Overlay) | \`rgba(128,128,128,0.65)\` | Modal overlays and region/cookie popups |
|
|
194
|
+
| Level 3 (Subtle) | \`rgba(0,0,0,0.05)\` | Minimal shadow hints on rare hover states |
|
|
195
|
+
|
|
196
|
+
### Shadow Philosophy
|
|
197
|
+
Tesla's approach to elevation is essentially "none." The site avoids box-shadows entirely in its primary interface. Depth is communicated through three alternative strategies:
|
|
198
|
+
1. **Z-index layering**: The sticky navigation sits above hero content through positioning, not shadow
|
|
199
|
+
2. **Opacity-based transparency**: The frosted glass nav and overlay modals use background-color opacity rather than shadow to indicate layering
|
|
200
|
+
3. **Photography-as-depth**: The full-bleed images create their own visual depth through perspective, lighting, and composition \u2014 making UI shadows redundant
|
|
201
|
+
|
|
202
|
+
### Decorative Depth
|
|
203
|
+
- No gradients, glows, or atmospheric effects on UI elements
|
|
204
|
+
- The hero imagery itself provides all visual richness \u2014 sunset skies, reflected light on car surfaces, ground shadows from studio lighting
|
|
205
|
+
- The carousel arrow buttons use a semi-transparent white background to float above the hero imagery without disrupting it
|
|
206
|
+
|
|
207
|
+
## 7. Do's and Don'ts
|
|
208
|
+
|
|
209
|
+
### Do
|
|
210
|
+
- Let photography dominate every screen \u2014 the product IS the design
|
|
211
|
+
- Use Electric Blue (\`#3E6AE1\`) exclusively for primary CTAs \u2014 never for decorative purposes
|
|
212
|
+
- Maintain viewport-height sections for major content blocks \u2014 one message per screen
|
|
213
|
+
- Keep typography at weight 400-500 only \u2014 no bold, no light, no extremes
|
|
214
|
+
- Use 4px border-radius for all interactive elements \u2014 precision over playfulness
|
|
215
|
+
- Trust whitespace as a luxury signal \u2014 never fill available space just because it's empty
|
|
216
|
+
- Keep all transitions at 0.33s \u2014 consistency in motion is as important as consistency in color
|
|
217
|
+
- Use transparent PNG vehicle imagery on white backgrounds for product showcases
|
|
218
|
+
- Center CTAs horizontally below model names \u2014 the vertical rhythm is model \u2192 subtitle \u2192 buttons
|
|
219
|
+
- Maintain the Display/Text font split \u2014 Display for hero-scale text only, Text for everything else
|
|
220
|
+
|
|
221
|
+
### Don't
|
|
222
|
+
- Add shadows to any element \u2014 elevation through shadow contradicts the flat, gallery aesthetic
|
|
223
|
+
- Use more than one chromatic color besides the blue CTA \u2014 the palette is intentionally monochrome-plus-one
|
|
224
|
+
- Apply gradients, patterns, or decorative backgrounds to surfaces \u2014 white and photography are the only backgrounds
|
|
225
|
+
- Use text larger than 40px on the web \u2014 the typography is deliberately restrained even at hero scale
|
|
226
|
+
- Add borders to cards or containers \u2014 separation is achieved through spacing, not lines
|
|
227
|
+
- Use uppercase text transforms \u2014 Tesla's confidence is expressed through lowercase calm
|
|
228
|
+
- Introduce rounded-pill buttons or large border-radii \u2014 the 4px radius is deliberate and precise
|
|
229
|
+
- Override the Universal Sans family with other typefaces \u2014 cross-platform consistency is a core brand value
|
|
230
|
+
- Add hover animations with scale/translate transforms \u2014 Tesla's interactions are color-only (background and border transitions)
|
|
231
|
+
- Clutter the viewport with multiple CTAs \u2014 every screen should have at most two action buttons
|
|
232
|
+
|
|
233
|
+
## 8. Responsive Behavior
|
|
234
|
+
|
|
235
|
+
### Breakpoints
|
|
236
|
+
| Name | Width | Key Changes |
|
|
237
|
+
|------|-------|-------------|
|
|
238
|
+
| Mobile | <768px | Single-column layout, hamburger nav replaces horizontal labels, hero text scales to ~28px, CTA buttons stack vertically, category cards become full-width |
|
|
239
|
+
| Tablet | 768-1024px | 2-column nav panel, hero maintains full-viewport height, CTAs remain side-by-side, reduced horizontal padding |
|
|
240
|
+
| Desktop | 1024-1440px | Full horizontal nav, 3-column vehicle grid in dropdown, hero at 40px, side-by-side CTAs at 200px/160px width |
|
|
241
|
+
| Large Desktop | >1440px | Content remains centered, hero photography scales to fill wider viewports, max-width container for nav panel content |
|
|
242
|
+
|
|
243
|
+
### Touch Targets
|
|
244
|
+
- Primary CTA buttons: 200px \xD7 40px minimum (well above 44\xD744px WCAG requirement)
|
|
245
|
+
- Nav buttons: minimum 32px height with 4px 16px padding \u2014 adequate touch targets
|
|
246
|
+
- Carousel arrows: ~44px square white semi-transparent buttons at viewport edges
|
|
247
|
+
- Text links ("Learn", "Order"): 14px text with adequate line-height spacing for touch
|
|
248
|
+
|
|
249
|
+
### Collapsing Strategy
|
|
250
|
+
- **Navigation**: Horizontal category buttons (Vehicles, Energy, Charging, Discover, Shop) collapse to a hamburger/drawer menu on mobile
|
|
251
|
+
- **Hero CTA pair**: Side-by-side buttons on desktop stack vertically on mobile
|
|
252
|
+
- **Category cards**: 2-up horizontal layout collapses to single-column full-width on mobile
|
|
253
|
+
- **Vehicle grid**: 3-column grid in desktop nav panel becomes 2-column on tablet, single-column on mobile
|
|
254
|
+
- **Spacing**: Section vertical padding remains generous (viewport-height sections) but horizontal padding reduces
|
|
255
|
+
|
|
256
|
+
### Image Behavior
|
|
257
|
+
- Hero images are fully responsive and fill the entire viewport at every breakpoint
|
|
258
|
+
- Vehicle carousel images use \`object-fit: cover\` to maintain cinematic composition across widths
|
|
259
|
+
- Transparent PNG vehicle images in the nav panel scale proportionally within their grid cells
|
|
260
|
+
- Category card images maintain their landscape ratio and clip via \`overflow: hidden\` with border-radius
|
|
261
|
+
|
|
262
|
+
## 9. Agent Prompt Guide
|
|
263
|
+
|
|
264
|
+
### Quick Color Reference
|
|
265
|
+
- Primary CTA: "Electric Blue (#3E6AE1)"
|
|
266
|
+
- Background: "Pure White (#FFFFFF)"
|
|
267
|
+
- Heading text: "Carbon Dark (#171A20)"
|
|
268
|
+
- Body text: "Graphite (#393C41)"
|
|
269
|
+
- Tertiary text: "Pewter (#5C5E62)"
|
|
270
|
+
- Placeholder: "Silver Fog (#8E8E8E)"
|
|
271
|
+
- Alternate surface: "Light Ash (#F4F4F4)"
|
|
272
|
+
- Dark surface: "Carbon Dark (#171A20)"
|
|
273
|
+
|
|
274
|
+
### Example Component Prompts
|
|
275
|
+
- "Create a hero section with a full-viewport background image, centered 'Model Y' title in Universal Sans Display at 40px weight 500 in white, a subtitle line below, and two buttons side by side: a primary Electric Blue (#3E6AE1) 'Order Now' button and a secondary white 'View Inventory' button, both with 4px border-radius and 40px height"
|
|
276
|
+
- "Design a navigation bar with a spaced-letter wordmark on the left, five text buttons (14px, weight 500, Carbon Dark #171A20) centered, and three icon buttons on the right, all on a white background with no shadow or border"
|
|
277
|
+
- "Build a vehicle card grid with 3 columns, each card showing a transparent-background car image above a model name (17px, weight 500, Carbon Dark) and two text links (14px, weight 400, Pewter #5C5E62) labeled 'Learn' and 'Order', on a pure white surface with no borders or shadows"
|
|
278
|
+
- "Create a category card with full-bleed landscape photography, 12px border-radius, overflow hidden, and a white text label ('Sport Sedan') positioned in the top-left corner with no overlay gradient"
|
|
279
|
+
- "Design a persistent bottom bar with a chat input ('Ask a Question' placeholder), a send icon, and a secondary CTA ('Schedule a Drive Today') with a teal icon, anchored to the viewport bottom on a white background"
|
|
280
|
+
|
|
281
|
+
### Iteration Guide
|
|
282
|
+
When refining existing screens generated with this design system:
|
|
283
|
+
1. Focus on ONE component at a time \u2014 Tesla's system is so minimal that each element must be pixel-perfect
|
|
284
|
+
2. Reference specific color names and hex codes from this document \u2014 there are only 6-7 colors in the entire system
|
|
285
|
+
3. Use natural language descriptions, not CSS values \u2014 "barely rounded corners" not "border-radius: 4px"
|
|
286
|
+
4. Describe the desired "feel" alongside specific measurements \u2014 "gallery-like silence between sections" communicates the whitespace philosophy better than "margin-bottom: 100vh"
|
|
287
|
+
5. Always verify that photography is doing the emotional heavy-lifting \u2014 if the UI itself feels "designed," it's too much
|
|
288
|
+
`;
|
|
289
|
+
export {
|
|
290
|
+
teslaBrief
|
|
291
|
+
};
|
|
292
|
+
//# sourceMappingURL=tesla.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/presets/_briefs/tesla.ts"],"sourcesContent":["// AUTO-GENERATED — do not hand-edit. Source: https://github.com/voltagent/awesome-design-md\nexport const teslaBrief = `# Design System Inspired by Tesla\n\n## 1. Visual Theme & Atmosphere\n\nTesla's website is an exercise in radical subtraction — a digital showroom where the product is everything and the interface is almost nothing. The page opens with a full-viewport hero that fills the entire screen with cinematic car photography: three vehicles arranged on polished concrete against a hazy cityscape sky, with a single model name floating above in translucent white type. There are no decorative borders, no gradients, no patterns, no shadows. The UI exists only to provide just enough navigational structure to get out of the way. Every pixel that isn't product imagery is white space, and that restraint is the design system's most powerful statement.\n\nThe color philosophy is almost ascetic: a single blue (\\`#3E6AE1\\`) for primary calls to action, three shades of dark gray for text hierarchy, and white for everything else. The entire emotional weight is carried by photography — sprawling landscape shots, studio-lit vehicle profiles, and atmospheric environmental compositions that stretch edge-to-edge across each viewport-height section. The UI chrome dissolves into the imagery. The navigation bar floats above the hero with no visible background, border, or shadow — the TESLA wordmark and five navigation labels simply exist in the space, trusting the content beneath them to provide sufficient contrast.\n\nTypography recently transitioned from Gotham to Universal Sans — a custom family split into \"Display\" for headlines and \"Text\" for body/UI elements — unifying the website, mobile app, and in-car software into a single typographic voice. The Display variant renders hero titles at 40px weight 500, while the Text variant handles everything from navigation (14px/500) to body copy (14px/400). The font carries a geometric precision with slightly humanist terminals that feels engineered rather than designed — exactly matching Tesla's brand identity of technology that doesn't need to announce itself. There are no text shadows, no text gradients, no decorative type treatments. Every letterform earns its place through clarity alone.\n\n**Key Characteristics:**\n- Full-viewport hero sections (100vh) dominated by cinematic car photography with minimal overlay UI\n- Near-zero UI decoration: no shadows, no gradients, no borders, no patterns anywhere on the page\n- Single accent color — Electric Blue (\\`#3E6AE1\\`) — used exclusively for primary CTA buttons\n- Universal Sans font family (Display + Text) unifying web, app, and in-car interfaces\n- Photography-first presentation where product imagery carries all emotional weight\n- Frosted-glass navigation concept with transparent/white nav that floats over hero content\n- 0.33s cubic-bezier transitions as the universal timing for all interactive state changes\n- Carousel-driven hero with dot indicators and edge arrow navigation for multiple vehicle showcases\n- \"Ask a Question\" persistent chatbot bar anchored to the viewport bottom\n\n## 2. Color Palette & Roles\n\n### Primary\n- **Electric Blue** (\\`#3E6AE1\\`): Primary CTA button background — a confident, mid-saturation blue (rgb 62, 106, 225) that stands alone as the only chromatic color in the entire interface. Used exclusively for \"Order Now\" and other primary action buttons\n- **Pure White** (\\`#FFFFFF\\`): Dominant background color for all surfaces, panels, navigation, and secondary button fills — the canvas that lets photography breathe\n\n### Secondary & Accent\n- **Promo Blue** (\\`#3E6AE1\\`): Blue also serves for promotional text (\"0% APR Available\") displayed over hero imagery in the same hue as the CTA — creating a visual link between incentive messaging and action\n- No secondary accent colors exist. Tesla deliberately avoids color variety to maintain extreme visual discipline\n\n### Surface & Background\n- **White Canvas** (\\`#FFFFFF\\`): Page background, navigation panel, dropdown menus, and all surface containers\n- **Light Ash** (\\`#F4F4F4\\`): Subtle alternate surface for section differentiation — barely perceptible shift from pure white (rgb 244, 244, 244)\n- **Carbon Dark** (\\`#171A20\\`): Dark surface color for hero text overlays and potential dark-mode contexts (rgb 23, 26, 32) — a warm near-black with a blue undertone\n- **Frosted Glass** (\\`rgba(255, 255, 255, 0.75)\\`): Semi-transparent white for navigation backdrop-filter effects on scroll\n\n### Neutrals & Text\n- **Carbon Dark** (\\`#171A20\\`): Primary heading and navigation text — the darkest text value (rgb 23, 26, 32), used for model names, nav labels, and hero titles on light backgrounds\n- **Graphite** (\\`#393C41\\`): Body text and secondary content (rgb 57, 60, 65) — the default paragraph color, slightly warmer than pure gray\n- **Pewter** (\\`#5C5E62\\`): Tertiary text for sub-links, secondary navigation links like \"Learn\" and \"Order\" (rgb 92, 94, 98)\n- **Silver Fog** (\\`#8E8E8E\\`): Placeholder text in input fields and disabled states (rgb 142, 142, 142)\n- **Cloud Gray** (\\`#EEEEEE\\`): Light borders and divider lines (rgb 238, 238, 238)\n- **Pale Silver** (\\`#D0D1D2\\`): Subtle UI borders and delineation (rgb 208, 209, 210)\n\n### Semantic & Accent\n- Tesla's marketing site avoids semantic color coding (no green/red/yellow status indicators). Error, success, and warning states follow standard browser defaults in form contexts\n- The blue CTA (\\`#3E6AE1\\`) serves as the sole interactive color signal\n\n### Gradient System\n- No gradients are used anywhere in the interface\n- Depth is achieved entirely through photography, whitespace, and the binary contrast between full-bleed imagery and clean white surfaces\n- The navigation achieves layering through opacity (frosted glass effect) rather than gradient or shadow\n\n## 3. Typography Rules\n\n### Font Family\n- **Display**: \\`Universal Sans Display\\`, -apple-system, Arial, sans-serif — used for hero titles and large model names. A geometric sans-serif with precisely engineered proportions, recently replacing Gotham to unify Tesla's digital ecosystem (website, mobile app, vehicle interface)\n- **Text/UI**: \\`Universal Sans Text\\`, -apple-system, Arial, sans-serif — used for navigation, body copy, buttons, and all UI text. Optimized for legibility at smaller sizes with slightly wider proportions than the Display variant\n- **No OpenType features** detected — typography is completely unembellished\n- **No italic variants** observed on the marketing site\n\n### Hierarchy\n\n| Role | Size | Weight | Line Height | Letter Spacing | Notes |\n|------|------|--------|-------------|----------------|-------|\n| Hero Title | 40px (2.50rem) | 500 | 48px (1.20) | normal | Universal Sans Display, white on dark hero imagery |\n| Product Name | 17px (1.06rem) | 500 | 20px (1.18) | normal | Universal Sans Text, model names in nav panel and cards |\n| Nav Item | 14px (0.88rem) | 500 | 16.8px (1.20) | normal | Universal Sans Text, primary navigation labels |\n| Body Text | 14px (0.88rem) | 400 | 20px (1.43) | normal | Universal Sans Text, paragraph and descriptive content |\n| Button Label | 14px (0.88rem) | 500 | 16.8px (1.20) | normal | Universal Sans Text, CTA button text |\n| Sub-link | 14px (0.88rem) | 400 | 20px (1.43) | normal | Tertiary links (Learn, Order, Experience) |\n| Promo Text | 22px (1.38rem) | 400 | 20px (0.91) | normal | White promotional text on hero (\"0% APR Available\") |\n| Category Label | 16px (est.) | 500 | — | normal | White text labels on category cards (\"Sport Sedan\") |\n\n### Principles\n- **\"Normal\" letter-spacing everywhere**: Unlike most modern tech brands that use negative tracking for headlines, Tesla uses default letter-spacing at every level. This reflects a philosophy that the typeface should speak for itself without manipulation\n- **Weight restraint**: Only two weights appear — 500 (medium) for headings/UI and 400 (regular) for body. No bold (700), no light (300). The system avoids typographic drama\n- **Unified font sizing**: Most UI text clusters at 14px with only hero titles (40px) and promo text (22px) breaking away. This extreme uniformity creates a sense of engineered consistency\n- **Display vs Text split**: The two-variant system (Display for hero, Text for UI) creates subtle optical correction without visible stylistic difference — they appear as the same typeface at different sizes\n- **No text transforms**: No uppercase text appears in the main navigation or CTAs — the lowercase approach reinforces Tesla's understated confidence\n\n## 4. Component Stylings\n\n### Buttons\nAll buttons use barely-rounded rectangles (4px border-radius) — creating a sharp, technical aesthetic that mirrors the precision of the vehicles.\n\n**Primary CTA** — The main action button:\n- Default: bg \\`#3E6AE1\\` (Electric Blue), text \\`#FFFFFF\\`, fontSize 14px, fontWeight 500, padding 4px with inner content centering, borderRadius 4px, minHeight 40px, width 200px\n- Border: 3px solid transparent (reserves space for focus/active border animation)\n- Box Shadow: \\`rgba(0,0,0,0) 0px 0px 0px 2px inset\\` (invisible at rest, animates to visible on focus)\n- Transition: \\`border-color 0.33s, background-color 0.33s, color 0.33s, box-shadow 0.25s\\`\n- Hover: subtle darkening of blue background\n- Used for: \"Order Now\" calls to action\n\n**Secondary CTA** — The alternative action button:\n- Default: bg \\`#FFFFFF\\`, text \\`#393C41\\` (Graphite), same dimensions and border pattern as primary\n- Transition: identical timing to primary (0.33s)\n- Used for: \"View Inventory\" alongside primary CTA\n\n**Nav Button** — Top navigation items:\n- Default: bg transparent, text \\`#171A20\\` (Carbon Dark), fontSize 14px, fontWeight 500, borderRadius 4px, padding 4px 16px, minHeight 32px\n- Transition: \\`color 0.33s, background-color 0.33s\\`\n- Active/expanded: subtle background highlight\n- Used for: \"Vehicles\", \"Energy\", \"Charging\", \"Discover\", \"Shop\"\n\n**Text Link** — In-content actions:\n- Default: text \\`#5C5E62\\` (Pewter), fontSize 14px, fontWeight 400, no background, no border\n- Hover: underline decoration with box-shadow transition\n- Transition: \\`box-shadow 0.33s cubic-bezier(0.5, 0, 0, 0.75), color 0.33s\\`\n- Used for: \"Learn\", \"Order\", \"Experience\", \"New\", \"Pre-Owned\" links in dropdown panel\n\n### Cards & Containers\n\n**Vehicle Card** (Navigation panel):\n- Background: transparent (inherits panel white)\n- Border: none\n- Shadow: none\n- Content: vehicle image (transparent PNG) + model name centered below + two text links\n- Layout: 3-column grid within the dropdown panel\n- No hover animation on the card itself — interaction is via the text links beneath\n\n**Category Card** (Homepage lower section):\n- Background: full-bleed landscape photography\n- Border radius: approximately 12px (subtly rounded)\n- Overflow: hidden (clips image to rounded corners)\n- Text: white label in top-left corner (\"Sport Sedan\", \"Midsize SUV\")\n- Size: large format, approximately 2:1 aspect ratio\n- No shadow, no border, no overlay gradient — text relies on image darkness for contrast\n\n### Inputs & Forms\n- Background: transparent\n- Text color: \\`#171A20\\` (Carbon Dark)\n- Placeholder color: \\`#8E8E8E\\` (Silver Fog)\n- Border: minimal, inherits from browser defaults\n- Font: Universal Sans Text, 14px\n- The \"Ask a Question\" chatbot input bar sits at the viewport bottom with a clean white background and subtle border\n\n### Navigation\n- **Desktop**: Centered horizontal nav with TESLA wordmark (spaced uppercase letters) on the left, five category buttons center-aligned, and three icon buttons (help, globe/language, account) on the right\n- **Background**: White (transitions from transparent over dark hero to opaque white on scroll via class toggle \\`tds-site-header--white-background\\`)\n- **Dropdown panel**: Full-width white panel with 3-column vehicle grid + right sidebar text links, no shadow, no border — appears seamlessly below the nav\n- **Sticky behavior**: \\`sticky-without-slide\\` class — stays at top without slide-in animation\n- **Mobile**: Hamburger collapse pattern\n- **No visible separator** between nav and content — the nav blends with the hero\n\n### Image Treatment\n- **Hero**: Full-viewport (100vh) sections with cinematic photography — edge-to-edge, no padding, no margin\n- **Vehicle images**: Transparent PNG renders on white background in dropdown panel, studio-quality 3/4 angle shots\n- **Category cards**: Landscape photography with approximately 2:1 ratio, rounded corners (12px)\n- **Carousel**: Auto-advancing with dot indicators (3 dots) and left/right arrow navigation on edges\n- **Lazy loading**: Below-fold sections use lazy loading, rendering as blank white until scrolled into view\n\n### Persistent Chat Bar\n- Anchored to viewport bottom, visible across all sections\n- White background with subtle border\n- Contains: chat icon + \"Ask a Question\" label + placeholder text (\"What's Dog Mode?\") + send icon + \"Schedule a Drive Today\" secondary CTA\n- Schedule CTA has a teal/blue icon accent\n\n## 5. Layout Principles\n\n### Spacing System\n- **Base unit**: 8px\n- **Common values**: 8px (0.5rem), 16px (1rem), 21.44px (1.34rem)\n- **Button padding**: 4px (minimal outer) with content centering via flexbox, 4px 16px for nav items\n- **Section padding**: Full-viewport sections with content centered vertically\n- **Card gap**: approximately 16px between category cards\n\n### Grid & Container\n- **Max width**: approximately 1383px (full viewport width used for most content)\n- **Hero**: Full-bleed, edge-to-edge, 100vh sections\n- **Navigation panel**: 3-column grid for vehicle cards with right-aligned text sidebar (~70/30 split)\n- **Category cards**: 2-up horizontal layout (large left card + smaller right card)\n\n### Whitespace Philosophy\nTesla uses whitespace as a luxury signal. The generous vertical spacing between sections (each section is a full viewport height) means you can only see one \"message\" at a time — one car, one model name, one CTA pair. This creates a gallery-like browsing experience where each scroll is a deliberate transition, not a continuous feed. White space is not empty — it's the frame that elevates each vehicle to the status of art piece.\n\n### Border Radius Scale\n| Value | Context |\n|-------|---------|\n| 0px | Most elements — sharp edges are the default |\n| 4px | Buttons (primary, secondary, nav items) — barely perceptible rounding |\n| ~12px | Category cards — noticeable but restrained rounding on larger surfaces |\n| 50% | Carousel dot indicators — perfect circles |\n\n## 6. Depth & Elevation\n\n| Level | Treatment | Use |\n|-------|-----------|-----|\n| Level 0 (Flat) | No shadow, no border | Default state for all elements — cards, panels, buttons at rest |\n| Level 1 (Frost) | \\`rgba(255,255,255,0.75)\\` backdrop | Navigation bar on scroll — frosted glass transparency |\n| Level 2 (Overlay) | \\`rgba(128,128,128,0.65)\\` | Modal overlays and region/cookie popups |\n| Level 3 (Subtle) | \\`rgba(0,0,0,0.05)\\` | Minimal shadow hints on rare hover states |\n\n### Shadow Philosophy\nTesla's approach to elevation is essentially \"none.\" The site avoids box-shadows entirely in its primary interface. Depth is communicated through three alternative strategies:\n1. **Z-index layering**: The sticky navigation sits above hero content through positioning, not shadow\n2. **Opacity-based transparency**: The frosted glass nav and overlay modals use background-color opacity rather than shadow to indicate layering\n3. **Photography-as-depth**: The full-bleed images create their own visual depth through perspective, lighting, and composition — making UI shadows redundant\n\n### Decorative Depth\n- No gradients, glows, or atmospheric effects on UI elements\n- The hero imagery itself provides all visual richness — sunset skies, reflected light on car surfaces, ground shadows from studio lighting\n- The carousel arrow buttons use a semi-transparent white background to float above the hero imagery without disrupting it\n\n## 7. Do's and Don'ts\n\n### Do\n- Let photography dominate every screen — the product IS the design\n- Use Electric Blue (\\`#3E6AE1\\`) exclusively for primary CTAs — never for decorative purposes\n- Maintain viewport-height sections for major content blocks — one message per screen\n- Keep typography at weight 400-500 only — no bold, no light, no extremes\n- Use 4px border-radius for all interactive elements — precision over playfulness\n- Trust whitespace as a luxury signal — never fill available space just because it's empty\n- Keep all transitions at 0.33s — consistency in motion is as important as consistency in color\n- Use transparent PNG vehicle imagery on white backgrounds for product showcases\n- Center CTAs horizontally below model names — the vertical rhythm is model → subtitle → buttons\n- Maintain the Display/Text font split — Display for hero-scale text only, Text for everything else\n\n### Don't\n- Add shadows to any element — elevation through shadow contradicts the flat, gallery aesthetic\n- Use more than one chromatic color besides the blue CTA — the palette is intentionally monochrome-plus-one\n- Apply gradients, patterns, or decorative backgrounds to surfaces — white and photography are the only backgrounds\n- Use text larger than 40px on the web — the typography is deliberately restrained even at hero scale\n- Add borders to cards or containers — separation is achieved through spacing, not lines\n- Use uppercase text transforms — Tesla's confidence is expressed through lowercase calm\n- Introduce rounded-pill buttons or large border-radii — the 4px radius is deliberate and precise\n- Override the Universal Sans family with other typefaces — cross-platform consistency is a core brand value\n- Add hover animations with scale/translate transforms — Tesla's interactions are color-only (background and border transitions)\n- Clutter the viewport with multiple CTAs — every screen should have at most two action buttons\n\n## 8. Responsive Behavior\n\n### Breakpoints\n| Name | Width | Key Changes |\n|------|-------|-------------|\n| Mobile | <768px | Single-column layout, hamburger nav replaces horizontal labels, hero text scales to ~28px, CTA buttons stack vertically, category cards become full-width |\n| Tablet | 768-1024px | 2-column nav panel, hero maintains full-viewport height, CTAs remain side-by-side, reduced horizontal padding |\n| Desktop | 1024-1440px | Full horizontal nav, 3-column vehicle grid in dropdown, hero at 40px, side-by-side CTAs at 200px/160px width |\n| Large Desktop | >1440px | Content remains centered, hero photography scales to fill wider viewports, max-width container for nav panel content |\n\n### Touch Targets\n- Primary CTA buttons: 200px × 40px minimum (well above 44×44px WCAG requirement)\n- Nav buttons: minimum 32px height with 4px 16px padding — adequate touch targets\n- Carousel arrows: ~44px square white semi-transparent buttons at viewport edges\n- Text links (\"Learn\", \"Order\"): 14px text with adequate line-height spacing for touch\n\n### Collapsing Strategy\n- **Navigation**: Horizontal category buttons (Vehicles, Energy, Charging, Discover, Shop) collapse to a hamburger/drawer menu on mobile\n- **Hero CTA pair**: Side-by-side buttons on desktop stack vertically on mobile\n- **Category cards**: 2-up horizontal layout collapses to single-column full-width on mobile\n- **Vehicle grid**: 3-column grid in desktop nav panel becomes 2-column on tablet, single-column on mobile\n- **Spacing**: Section vertical padding remains generous (viewport-height sections) but horizontal padding reduces\n\n### Image Behavior\n- Hero images are fully responsive and fill the entire viewport at every breakpoint\n- Vehicle carousel images use \\`object-fit: cover\\` to maintain cinematic composition across widths\n- Transparent PNG vehicle images in the nav panel scale proportionally within their grid cells\n- Category card images maintain their landscape ratio and clip via \\`overflow: hidden\\` with border-radius\n\n## 9. Agent Prompt Guide\n\n### Quick Color Reference\n- Primary CTA: \"Electric Blue (#3E6AE1)\"\n- Background: \"Pure White (#FFFFFF)\"\n- Heading text: \"Carbon Dark (#171A20)\"\n- Body text: \"Graphite (#393C41)\"\n- Tertiary text: \"Pewter (#5C5E62)\"\n- Placeholder: \"Silver Fog (#8E8E8E)\"\n- Alternate surface: \"Light Ash (#F4F4F4)\"\n- Dark surface: \"Carbon Dark (#171A20)\"\n\n### Example Component Prompts\n- \"Create a hero section with a full-viewport background image, centered 'Model Y' title in Universal Sans Display at 40px weight 500 in white, a subtitle line below, and two buttons side by side: a primary Electric Blue (#3E6AE1) 'Order Now' button and a secondary white 'View Inventory' button, both with 4px border-radius and 40px height\"\n- \"Design a navigation bar with a spaced-letter wordmark on the left, five text buttons (14px, weight 500, Carbon Dark #171A20) centered, and three icon buttons on the right, all on a white background with no shadow or border\"\n- \"Build a vehicle card grid with 3 columns, each card showing a transparent-background car image above a model name (17px, weight 500, Carbon Dark) and two text links (14px, weight 400, Pewter #5C5E62) labeled 'Learn' and 'Order', on a pure white surface with no borders or shadows\"\n- \"Create a category card with full-bleed landscape photography, 12px border-radius, overflow hidden, and a white text label ('Sport Sedan') positioned in the top-left corner with no overlay gradient\"\n- \"Design a persistent bottom bar with a chat input ('Ask a Question' placeholder), a send icon, and a secondary CTA ('Schedule a Drive Today') with a teal icon, anchored to the viewport bottom on a white background\"\n\n### Iteration Guide\nWhen refining existing screens generated with this design system:\n1. Focus on ONE component at a time — Tesla's system is so minimal that each element must be pixel-perfect\n2. Reference specific color names and hex codes from this document — there are only 6-7 colors in the entire system\n3. Use natural language descriptions, not CSS values — \"barely rounded corners\" not \"border-radius: 4px\"\n4. Describe the desired \"feel\" alongside specific measurements — \"gallery-like silence between sections\" communicates the whitespace philosophy better than \"margin-bottom: 100vh\"\n5. Always verify that photography is doing the emotional heavy-lifting — if the UI itself feels \"designed,\" it's too much\n`;\n"],"mappings":";AACO,IAAM,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;","names":[]}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
declare const thevergeBrief = "# Design System Inspired by The Verge\n\n## 1. Visual Theme & Atmosphere\n\nThe Verge's 2024 redesign feels like somebody wired a Cond\u00E9 Nast magazine to a chiptune soundboard. The canvas is almost-black (`#131313`), the headlines are built from a brutally heavy display face (Manuka) that runs up to 107px, and the whole page is peppered with acid-mint `#3cffd0` and ultraviolet `#5200ff` that behave less like brand colors and more like hazard tape. Story tiles are not quiet gray cards \u2014 they're saturated, full-bleed color blocks (yellow, pink, orange, blue, purple) that feel like pasted-up rave flyers arranged into a timeline. The mood is \"developer console meets club night meets tech tabloid\": serious enough to cover a congressional hearing, loud enough to review a synthesizer.\n\nWhat makes this system unmistakable is the **StoryStream** timeline: a vertical feed where every post is a rounded rectangle \u2014 often 20\u201340px radius \u2014 filled edge-to-edge with color, framed by a thin border, and marked by a mono-uppercase timestamp on its left rail. Stories don't float on a grid; they stack on a dashed vertical rule like commits in a git log. Above that, a massive **\"The Verge\" wordmark** dominates the masthead in Manuka at hero scale, letting the reader know before any headline loads that this is editorial territory, not a template.\n\nThere is no \"light mode\" on the homepage \u2014 the dark canvas is the product, and the only time the palette inverts is when a single story tile takes a mint or yellow fill. The depth is almost entirely flat: **hairline 1px borders** (`#ffffff`, `#3cffd0`, or `#5200ff`) do the work that shadows would do on a Material-flavored site. Every container is either `#131313` with a 1px outline, a fully saturated accent block, or a slate-gray `#2d2d2d` secondary surface.\n\n**Key Characteristics:**\n- Near-black editorial canvas (`#131313`) as the default surface \u2014 no light mode on the homepage\n- Acid-mint `#3cffd0` + ultraviolet `#5200ff` as hazard-tape accents, never quiet background wash\n- Massive Manuka display headlines up to 107px \u2014 the single loudest type move in mainstream tech media\n- Rounded pill-card everything: 20/24/30/40px corner radii, never square\n- Fully saturated color-block story tiles (mint, purple, yellow, pink, orange, electric blue) on a dark page\n- Timeline \"StoryStream\" feed with mono uppercase timestamps rather than a traditional magazine grid\n- Flat depth \u2014 1px borders in white, mint, purple do the work that shadows would do elsewhere\n\n## 2. Color Palette & Roles\n\n### Primary (Brand Hazards)\n- **Jelly Mint** (`#3cffd0`): The Verge's signature acid-mint accent. Used as CTA button fill, link underlines, active tab borders, and high-attention story-tile backgrounds. Treat it as the visual equivalent of neon safety paint \u2014 applied sparingly to the most important element on screen.\n- **Verge Ultraviolet** (`#5200ff`): The complementary brand hazard. Used for secondary color-block tiles, promotional spans, and the occasional outlined button. Often applied at 0.9 alpha to soften its cathode intensity.\n\n### Secondary & Accent\n- **Console Mint Border** (`#309875`): A darker variant of the jelly mint used on card outlines and button borders where pure mint would over-saturate.\n- **Deep Link Blue** (`#3860be`): The link *hover* color \u2014 the one moment blue appears on the site. It replaces mint/white/black on hover across every link style.\n- **Focus Cyan** (`#1eaedb`): Reserved for button focus rings. Never shown outside a keyboard-focus state.\n- **Purple Rule** (`#3d00bf`): A darker ultraviolet variant used as the vertical border on StoryStream `<li>` items.\n\n### Surface & Background\n- **Canvas Black** (`#131313`): The default dark surface for the entire homepage. Almost-but-not-quite pure black \u2014 has just enough warmth to feel like a printed newsprint negative rather than an OLED void.\n- **Surface Slate** (`#2d2d2d`): Secondary card background, used when a story tile doesn't need to be a saturated color block.\n- **Image Frame** (`#313131`): The 1px border that wraps inline imagery.\n- **Hazard White** (`#ffffff`): Used as story-tile fill, button border, and primary text. When white appears as a large block, it's an editorial decision \u2014 a \"spotlight\" on that tile.\n- **Absolute Black** (`#000000`): Reserved for text on the mint/yellow/white tiles \u2014 the only place it appears.\n\n### Neutrals & Text\n- **Primary Text** (`#ffffff`): Headlines and display text on the canvas.\n- **Secondary Text** (`#949494`): Bylines, timestamps, photo credits. The mid-gray that anchors the metadata layer.\n- **Muted Text** (`#e9e9e9`): Button text on dark slate buttons. Slightly off-white to reduce screen glare.\n- **Inverted Text** (`#131313`): Used only on accent tiles (mint, yellow, white) to keep contrast legible.\n\n### Semantic & Accent\n- **Focus Ring** (`#1eaedb`): Keyboard focus only.\n- **Overlay Black** (`rgba(0, 0, 0, 0.33)`): Subtle 1px ring used as the quiet shadow alternative on stacked cards.\n- **Dim Gray** (`#8c8c8c`): Active/pressed button background \u2014 the \"pressed down\" state.\n\n### Gradient System\nThe Verge uses **zero decorative gradients**. The only gradient-like treatment is the transition from a saturated accent story tile (mint/purple/yellow) back to the `#131313` canvas between rows. Color is applied in solid blocks, not as washes. This is a deliberate choice \u2014 the site's hazard-tape visual identity would dissolve if anything faded.\n\n## 3. Typography Rules\n\n### Font Family\n- **Manuka** (Klim Type Foundry) \u2014 fallback: Impact, Helvetica. The signature display face for The Verge wordmark and feature headlines. A heavy-weight (900) industrial sans-serif with a condensed, almost-athletic stance. Runs at 60\u2013107px on the homepage, never smaller.\n- **PolySans** (PanGram Pangram / Nikolas Wrobel) \u2014 fallback: Helvetica, Arial. The UI and secondary headline workhorse. Covers weights 300 / 500 / 700 across the system \u2014 everything from kicker captions to body decks.\n- **PolySans Mono** \u2014 fallback: Courier New, Courier. The monospaced sibling, used exclusively for ALL-CAPS labels: kickers, timestamps, category tags, button labels. This mono-uppercase usage is the second-most-identifiable Verge detail after Manuka.\n- **FK Roman Standard** (Florian Karsten) \u2014 fallback: Georgia. A serif used sparingly for specific body/caption treatments (article excerpts, certain review pulls). Adds a \"print-magazine\" counterpoint to the PolySans stack.\n- **Roboto** \u2014 fallback: `-apple-system`, `system-ui`. Utility UI font for widgets and legacy modules.\n\n### Hierarchy\n\n| Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |\n|---|---|---|---|---|---|---|\n| Hero Wordmark / Display | Manuka | 107px / 6.69rem | 900 | 0.80 | 1.07px | The top-of-page \"The Verge\" logo and feature headlines |\n| Secondary Display | Manuka | 90px / 5.63rem | 900 | 0.80 | \u2014 | Section-level feature headlines |\n| Tertiary Display | Manuka | 60px / 3.75rem | 900 | 0.80 | \u2014 | Inline feature callouts |\n| Large Headline | PolySans | 34px / 2.13rem | 700 | 1.00 | \u2014 | Section and module headlines |\n| Heading Wide | PolySans | 32px / 2.00rem | 400 | 1.10 | 0.32px | Sub-heroes, promotional units |\n| Heading Medium | PolySans | 24px / 1.50rem | 700 | 1.00 | \u2014 | Story tile headlines in the main feed |\n| Heading Small | PolySans | 20px / 1.25rem | 700 | 1.00 | \u2014 | Compact tile headlines |\n| Light Capitalized Label | PolySans | 19px / 1.19rem | 300 | 1.20 | 1.9px | Thin-weight capitalized eyebrows \u2014 a distinctive Verge move |\n| All-Caps Label XL | PolySans | 18px / 1.13rem | 400 | 1.10 | 1.8px | UPPERCASE section kickers |\n| Bold Body | PolySans | 16px / 1.00rem | 700 | 1.00 | \u2014 | Emphasis within decks |\n| Body Relaxed | PolySans | 16px / 1.00rem | 500 | 1.60 | \u2014 | Long-form reading body |\n| Inline Label | PolySans | 15px / 0.94rem | 400 | 1.20 | 0.15px | UI labels and secondary headlines |\n| Body Compact | PolySans | 13px / 0.81rem | 400 | 1.60 | \u2014 | Secondary captions and decks |\n| Eyebrow All-Caps | PolySans | 12px / 0.75rem | 400 | 1.30 | 1.8px | UPPERCASE kicker above tile headlines |\n| Tag Label | PolySans | 12px / 0.75rem | 400 | 1.20 | 0.72px | UPPERCASE category tag |\n| Caption Micro | PolySans | 11px / 0.69rem | 400 | 1.20 | 1.1px | UPPERCASE bylines |\n| Meta Nano | PolySans | 10px / 0.63rem | 500 | 1.40 | 1.5px | UPPERCASE timestamp microtext |\n| Mono Button Label | PolySans Mono | 12px / 0.75rem | 600 | 2.00 | 1.5px | UPPERCASE button text, very open leading |\n| Mono Timestamp | PolySans Mono | 11px / 0.69rem | 500/600 | 1.20 | 1.1\u20131.8px | UPPERCASE StoryStream timestamps |\n| Serif Body | FK Roman Standard | 16px / 1.00rem | 400 | 1.30 | -0.16px | Review decks, print-voice excerpts |\n| Serif Caption | FK Roman Standard | 20px / 1.25rem | 400 | 1.20 | \u2014 | Magazine-style pull quotes |\n\n### Principles\n- **Manuka is always the hero, never the UI.** If you see Manuka below 60px you're looking at a bug. It exists to *shout the brand*, not to label a button.\n- **PolySans is the workhorse, PolySans Mono is its uniformed sibling.** Mono is used exclusively for UPPERCASE labels, timestamps, tags, and certain buttons. Lowercase mono doesn't exist in this system.\n- **Thin-weight (300) capitalized headlines** are a signature Verge move. The 19\u201320px weight-300 with 1.9px tracking creates a \"fashion magazine whisper\" that contrasts with the 107px Manuka shout above it. This whisper-vs-shout contrast is the typographic fingerprint.\n- **Letter-spacing has two registers**: positive (0.72\u20131.9px) for ALL-CAPS mono and sans labels, negative (`-0.16px`) for the rare serif appearances, barely-positive (0.32px, 1.07px) for massive display. Plain 0 letter-spacing is rare.\n- **FK Roman Standard is the editorial exception**, not the rule. Reserve it for long-form print-voice moments \u2014 reviews, critic pulls, masthead essays. Never use it in UI.\n- **Line heights are tight** (0.80\u20131.30) for every display and label, relaxed (1.60\u20132.00) only for reading body and mono button labels. The leading jump is intentional \u2014 it gives the page a \"telegraph ticker\" rhythm.\n\n### Note on Font Substitutes\nThe 0.80 line-height on Manuka display (107px, 90px, 60px) assumes the **proprietary Manuka face from Klim Type Foundry**, which has aggressively tight vertical metrics designed for athletic stance at large sizes. If you substitute with wide-metric open-source condensed displays like **Anton**, **Oswald**, **Bebas Neue**, or **Archivo Black**, loosen display line-heights by approximately **+0.10 to +0.15** to prevent ascender/descender collisions (e.g., 0.80 \u2192 0.95). PolySans substitutes (Space Grotesk, DM Sans, Hanken Grotesk) work at the token values without adjustment \u2014 their metrics are close enough. PolySans Mono substitutes (Space Mono, JetBrains Mono) and FK Roman substitutes (Newsreader, Literata) also work without adjustment.\n\n## 4. Component Stylings\n\n### Buttons\n\n**Primary \u2014 Jelly Mint Pill**\n- Background: `#3cffd0` (Jelly Mint)\n- Text: `#000000` (Absolute Black), PolySans 16px / 700 or PolySans Mono 12px / 600 UPPERCASE\n- Border: none (pure fill)\n- Border radius: `24px` \u2014 fully rounded pill\n- Padding: `10px 24px`\n- Outline: `none` at rest\n- Hover: background shifts to `rgba(255, 255, 255, 0.2)` (translucent white), text stays black, adds a 1px `#c2c2c2` ring shadow\n- Active: background `rgba(140, 140, 140, 0.87)`, opacity `0.5`, ring shadow `#8c8c8c`\n- Focus: background `#1eaedb`, white text, 1px solid `#0500ff` border, translucent white focus ring\n- Transition: ~180ms ease on background and shadow\n\n**Secondary \u2014 Dark Slate Pill**\n- Background: `#2d2d2d` (Surface Slate)\n- Text: `#e9e9e9` (Muted Text), PolySans 16px / 400\n- Border: none\n- Border radius: `24px`\n- Padding: `10px 24px`\n- Outline: `rgb(233, 233, 233) none 0px`\n- Hover: same translucent white invert as primary \u2014 `rgba(255, 255, 255, 0.2)` bg, black text, 1px `#c2c2c2` ring\n- Focus: same cyan focus treatment as primary\n\n**Tertiary \u2014 Outlined Mint**\n- Background: transparent\n- Text: `#3cffd0`, PolySans Mono 12px / 600 UPPERCASE, 1.5px tracking\n- Border: `1px solid #3cffd0`\n- Border radius: `40px` \u2014 larger pill for secondary outline style\n- Padding: ~`10px 20px`\n- Hover: inverts to mint fill, black text\n- Transition: 150ms ease\n\n**Outlined Ultraviolet (Promotional)**\n- Background: transparent\n- Text: `#5200ff` or `#ffffff`\n- Border: `1px solid #5200ff`\n- Border radius: `30px`\n- Used for \"Subscribe\" or \"Join the Stream\" style promotional callouts\n\n**Pill Tag (Non-interactive)**\n- Background: saturated accent (`#3cffd0`, `#5200ff`, yellow, etc.)\n- Text: black or white depending on background luminance\n- Border radius: `20px` (tighter radius than buttons \u2014 this is the *text pill*)\n- Font: PolySans Mono 11px / 600 UPPERCASE, 1.8px tracking\n- Padding: ~`4px 10px`\n\n### Cards & Containers\n\n**StoryStream Tile**\n- Background: either `#131313` + 1px white border, OR a saturated accent fill (mint, purple, yellow, pink, orange, white)\n- Border radius: `20px` (standard) or `24px` (feature)\n- Border: `1px solid #ffffff` (on dark) or `0px 0px 1px solid #3cffd0` (on mint) or nothing (on saturated fill)\n- Padding: ~24\u201332px interior\n- Hover: no lift, no scale \u2014 the headline text color transitions from white to `#3860be` (deep link blue)\n- Transition: 150ms ease on color only\n\n**Feature Card (Top Story)**\n- Background: `#131313` with 1px hairline border, OR full-bleed color accent\n- Border radius: `24px`\n- Padding: 32px+\n- Image inside: clipped to match the outer radius (`3px` or `4px` inner radius when nested)\n- Hover: text color shift only; the image remains static\n\n**StoryStream Rail (Timeline)**\n- A vertical dashed or solid rule (1px `#3d00bf` or `#ffffff`) runs along the left edge of each item, marking the timeline spine\n- Timestamps sit on the left rail in PolySans Mono 11px / 500 / UPPERCASE / 1.1px tracking\n- Each entry is a pill-cornered rectangle separated from its neighbors by 12\u201316px vertical gap\n\n### Inputs & Forms\n- **Default**: `#131313` background, 1px solid `#ffffff` or `#949494` border, `2px` border radius (tight, newspaper-form feel), PolySans 15px text in `#ffffff`, placeholder in `#949494`.\n- **Focus**: border transitions to `#3cffd0` (jelly mint) with optional `1px solid #5200ff` inner ring on deep focus. No glow.\n- **Error**: border turns `#5200ff` (ultraviolet \u2014 used as error/alert accent here, not the usual red).\n- **Transition**: ~150ms ease on border-color.\n\n### Navigation\n\n- **Top nav**: thin `#131313` bar with the Verge wordmark (Manuka) left-aligned, a search icon and a few UPPERCASE mono category links (12\u201314px, PolySans Mono, 1.5\u20131.8px tracking), and a single mint-pill CTA (usually \"Subscribe\") pinned right.\n- **Wordmark**: massive on first scroll \u2014 the homepage treats the \"The Verge\" logo as a hero element, not a 32px corner logo.\n- **Hover**: every link transitions from `#ffffff` to `#3860be` (deep link blue). No underline \u2014 it's a color-only response.\n- **Active section**: marked by a 1px mint underline (inset box-shadow `0px -1px 0px 0px inset #3cffd0`)\n- **Mobile**: the wordmark shrinks, category nav collapses into a hamburger drawer. Inside the drawer, links are mono-uppercase and stack with 16\u201320px gaps.\n\n### Image Treatment\n\n- **Aspect ratios**: 16:9 dominates for hero and feature images, 4:3 for mid-feed, 1:1 for thumbnails and author avatars.\n- **Corners**: always rounded to match the parent card \u2014 `3px`, `4px`, or inherit `20px` / `24px` from the tile.\n- **Frame**: 1px `#313131` or `#ffffff` hairline around photography, giving a \"contained Polaroid\" feel.\n- **Full-bleed**: only within the color-block tiles, where the image runs to the padded edge of the accent fill.\n- **Hover**: static \u2014 no zoom, no scale, no opacity shift. The headline below is the only interactive response.\n- **Lazy loading**: `loading=\"lazy\"` on everything below the first fold; eager on the masthead hero only.\n\n### StoryStream Timeline Item (Distinctive)\n\n- Vertical rail line (1px `#3d00bf` or `#ffffff` on `#131313`)\n- Mono timestamp on the left in PolySans Mono 11px / UPPERCASE\n- Pill-cornered body card (20px radius) with kicker, headline, and optional deck\n- Stacked vertically with 12\u201316px gap, the rail continuing between them\n- Often interleaved with full-bleed accent tiles that \"break\" the timeline rhythm for emphasis\n\n## 5. Layout Principles\n\n### Spacing System\n- **Base unit**: 8px.\n- **Scale**: 1, 2, 4, 5, 6, 8, 9, 10, 12, 14, 15, 16, 20, 24, 25px.\n- **Section padding**: 32\u201364px vertical between major feed sections. StoryStream items themselves are tighter \u2014 12\u201316px gaps.\n- **Card padding**: 20\u201332px interior. Feature cards expand to 40\u201348px.\n- **Inline spacing**: kickers sit ~6\u201310px above headlines; headlines sit ~10\u201314px above decks; timestamps sit ~6\u20138px below decks.\n- **Micro-scale**: The 2/4/5/6/9/10px values are used inside buttons, pills, and tight label clusters, not in the editorial grid.\n\n### Grid & Container\n- **Max width**: ~1280\u20131300px (dembrandt detected breakpoints at 1200/1280/1300).\n- **Column patterns**: a 12-column underlying grid that resolves into 3-column hero + 1-column StoryStream rail + feature panels. The homepage feels freeform because color-block tiles frequently span 2\u20133 columns on a whim.\n- **Container padding**: 24px mobile / 48px desktop on the outer edges.\n- **Gutters**: 16\u201324px between columns, tighter (8\u201312px) inside StoryStream items.\n\n### Whitespace Philosophy\nThe Verge treats whitespace like a club DJ treats silence \u2014 as a dramatic reset between loud moments. The canvas is so dark and the accents are so saturated that even 32px of empty `#131313` between two tiles acts as a palette cleanser. The page is not airy like Apple or Stripe; it's **paced**, with loud hazard-color blocks interrupting stretches of near-black. Whitespace carries the rhythm, not the elegance.\n\n### Border Radius Scale\n- **2px** \u2014 inputs, small badges (feels like a typewriter tag)\n- **3px** \u2014 inline images (just enough to soften against the canvas)\n- **4px** \u2014 nested card images and small button variants\n- **20px** \u2014 standard pill cards and color-block tiles\n- **24px** \u2014 feature tile radius and primary button pill\n- **30px** \u2014 large promotional buttons\n- **40px** \u2014 outlined CTA pills (the loudest pill in the system)\n- **50%** \u2014 avatar circles, icon buttons, and certain round badges\n\nEight discrete radius values \u2014 a **lot** for a single site. This is deliberate: the rhythm between 2px typewriter tags, 20px pill cards, and 40px outlined buttons creates a \"nested scale\" feel where every component announces its hierarchy through its corners.\n\n## 6. Depth & Elevation\n\n| Level | Treatment | Use |\n|---|---|---|\n| 0 | No border, no shadow | Default `#131313` canvas text |\n| 1 | `rgba(0,0,0,0) 0px 0px 0px 0px inset` (placeholder) | Reset state for interactive elements |\n| 2 | `1px solid #ffffff` or `#313131` hairline | Image frames and quiet card outlines |\n| 3 | `1px solid #3cffd0` hairline | Active button outlines, focused story tiles |\n| 4 | `1px solid #5200ff` hairline | Promotional/alternate state outlines |\n| 5 | `rgba(0, 0, 0, 0.33) 0px 0px 0px 1px` | The single \"atmospheric\" ring \u2014 applied to layered cards |\n| 6 | `0px -1px 0px 0px inset` (mint/black/white) | Active tab underline \u2014 a signature Verge move |\n| 7 | Saturated accent fill (`#3cffd0`, `#5200ff`, white, yellow, pink) | Story-tile elevation via color, not shadow |\n\nThe Verge's depth philosophy is **color-as-elevation**. When something needs to stand out, it doesn't get a shadow \u2014 it gets a mint fill or a 1px hazard-color border. There are 14 shadow entries in the extracted tokens, but all of them are either inset underlines (0px -1px inset) or near-transparent 1px rings \u2014 none of them are traditional elevation shadows. The `#131313` canvas stays perfectly flat throughout, and hierarchy is carried by color saturation.\n\n### Decorative Depth\n- **1px inset underline** on active tabs/nav links (mint, black, or white depending on context)\n- **Subtle `rgba(0, 0, 0, 0.33)` 1px ring** on stacked cards \u2014 the only effect that faintly resembles a shadow\n- **No gradients, no glows, no atmospheric blurs** anywhere. The hazard-tape aesthetic would break if anything faded softly.\n\n## 7. Do's and Don'ts\n\n### Do\n- **Do** use `#131313` as the canvas for every view. There is no light mode.\n- **Do** use Jelly Mint (`#3cffd0`) and Verge Ultraviolet (`#5200ff`) as hazard accents \u2014 buttons, borders, active states, and saturated color-block tiles.\n- **Do** use Manuka exclusively at 60px+ for hero headlines. Treat anything smaller as a bug.\n- **Do** round everything: 20px for cards, 24px for feature cards, 30\u201340px for pill buttons.\n- **Do** use PolySans Mono for UPPERCASE labels, timestamps, kickers, and button text. Lowercase mono doesn't exist here.\n- **Do** apply 1.5\u20131.9px letter-spacing to every ALL-CAPS label \u2014 this is a Verge signature.\n- **Do** use saturated color-block tiles (mint, purple, yellow, pink, orange, white) to elevate a story \u2014 never a drop shadow.\n- **Do** use `#3860be` (deep link blue) as the hover color on every link, regardless of base color.\n- **Do** apply the StoryStream timeline rail (1px dashed/solid `#3d00bf` or white) on feed views.\n- **Do** use thin-weight (300) PolySans at 19\u201320px with 1.9px tracking for \"fashion-whisper\" capitalized eyebrows \u2014 the contrast with the 107px Manuka shout is the whole voice.\n\n### Don't\n- **Don't** use a light background. The dark canvas is the product.\n- **Don't** add `box-shadow` for elevation. Use 1px borders or saturated accent fills instead.\n- **Don't** use square corners. Every interactive and content container is rounded.\n- **Don't** use Manuka for UI, buttons, or body copy. It's strictly display.\n- **Don't** use lowercase mono. PolySans Mono is always UPPERCASE.\n- **Don't** let mint and ultraviolet appear as background washes \u2014 they're hazard accents, not canvas tints.\n- **Don't** use gradients anywhere. The system is solid color blocks only.\n- **Don't** introduce new accent colors outside the declared mint / purple / yellow / pink / orange tile palette.\n- **Don't** pair Manuka with FK Roman Standard in the same headline cluster \u2014 Manuka is the only display shout, serif pulls are reserved for body moments.\n- **Don't** use `#3cffd0` text on a `#131313` background at under 16px \u2014 the contrast vibrates at small sizes.\n\n## 8. Responsive Behavior\n\n### Breakpoints\n\n| Name | Width | Key Changes |\n|---|---|---|\n| Small Mobile | <400px | Single column, Manuka hero scales down to ~48\u201354px, StoryStream rail collapses to inline timestamps |\n| Mobile | 400\u2013549px | Single column, color-block tiles stack full-width, nav is a hamburger drawer |\n| Large Mobile | 550\u2013767px | Still single column but padding opens up, tile radii stay at 20px |\n| Tablet | 768\u20131023px | 2-column StoryStream with feature card spanning, wordmark shrinks ~50% |\n| Small Desktop | 1024\u20131179px | Full 3\u20134 column editorial grid, mint pill CTA restored to nav |\n| Desktop | 1180\u20131299px | Max padding, Manuka wordmark at full hero scale |\n| Large Desktop | \u22651300px | Container caps at ~1280\u20131300px, whitespace expands at the margins, no further scaling |\n\nThe dembrandt sweep detected 26 intermediate breakpoints (1300 \u2192 1280 \u2192 1200 \u2192 1181 \u2192 1180 \u2192 1179 \u2192 1024 \u2192 1023 \u2192 901 \u2192 900 \u2192 897 \u2192 896 \u2192 890 \u2192 769 \u2192 768 \u2192 620 \u2192 605 \u2192 600 \u2192 550 \u2192 549 \u2192 530 \u2192 426 \u2192 425 \u2192 400 \u2192 320). The Verge tunes its grid at virtually every major device boundary \u2014 an unusually aggressive responsive strategy.\n\n### Touch Targets\n- Primary pill buttons are ~44px minimum height (10px vertical padding + 16px text + 2px border) \u2014 meets WCAG AA.\n- Mono uppercase nav links are smaller (~28\u201332px tall) \u2014 for derivative work, pad to 44px on mobile.\n- Circle icon buttons are 40\u201344px circles, touch-friendly.\n\n### Collapsing Strategy\n- **Nav**: wordmark scales from hero (Manuka 60\u2013107px) to ~24\u201332px on mobile. Category links collapse to a hamburger drawer below 900px.\n- **Grid**: 4-col \u2192 3-col \u2192 2-col \u2192 1-col. Feature cards that span 2 columns on desktop reflow to full-width single-column on mobile.\n- **Spacing**: section padding tightens from 64px \u2192 32px \u2192 20px. Tile interior padding tightens from 32px \u2192 20px.\n- **Type**: Manuka hero scales from 107px to ~48\u201354px on mobile. PolySans headlines scale from 34px \u2192 24px. Mono labels stay pinned at 11\u201312px (they don't shrink further or they become unreadable).\n- **Color tiles**: accent story blocks never lose saturation on mobile \u2014 they just reflow to full width.\n\n### Image Behavior\n- Responsive raster via `srcset`, aspect ratios preserved.\n- No art-direction swaps \u2014 same crop scales across all viewports.\n- `loading=\"lazy\"` on everything below the fold, `eager` on the masthead hero.\n- Images inside color-block tiles inherit the tile's inner radius (4px or 20px nested).\n\n## 9. Agent Prompt Guide\n\n### Quick Color Reference\n- **Primary CTA**: \"Jelly Mint (`#3cffd0`)\"\n- **Background (Canvas)**: \"Canvas Black (`#131313`)\"\n- **Accent (Secondary Hazard)**: \"Verge Ultraviolet (`#5200ff`)\"\n- **Heading Text**: \"Hazard White (`#ffffff`)\"\n- **Body Text**: \"Hazard White (`#ffffff`)\" (primary) or \"Muted Text (`#e9e9e9`)\"\n- **Secondary Text / Metadata**: \"Secondary Text (`#949494`)\"\n- **Card Border**: \"Hazard White (`#ffffff`)\" hairline on dark, \"Console Mint Border (`#309875`)\" on mint variants\n- **Link Hover**: \"Deep Link Blue (`#3860be`)\"\n\n### Example Component Prompts\n1. *\"Create a StoryStream timeline item on a `#131313` canvas: a 20px-radius rectangle with a 1px solid `#ffffff` border, a PolySans Mono 11px / 600 / UPPERCASE / 1.1px tracking timestamp on the left rail, a 12px PolySans UPPERCASE kicker in mint (`#3cffd0`), and a 24px / 700 PolySans headline in white below. No shadow, no lift \u2014 hover only shifts the headline color to `#3860be`.\"*\n2. *\"Design a primary subscribe button with a Jelly Mint (`#3cffd0`) fill, black text in PolySans Mono 12px / 600 / UPPERCASE / 1.5px tracking, 24px border radius, 10px \u00D7 24px padding. Hover state shifts to `rgba(255, 255, 255, 0.2)` background with a 1px `#c2c2c2` ring shadow, 180ms ease.\"*\n3. *\"Build a feature hero with a 107px Manuka 900 headline in white with 1.07px letter-spacing and 0.80 line-height, a thin-weight 300 PolySans 20px capitalized kicker above with 1.9px tracking, on a `#131313` canvas with 64px vertical padding.\"*\n4. *\"Create a color-block accent tile filled with Verge Ultraviolet (`#5200ff`) at 0.9 alpha, 24px border radius, white text, a PolySans Mono 11px UPPERCASE category label with 1.5px tracking at the top, and a 32px PolySans 400 capitalized headline with 0.32px tracking below.\"*\n5. *\"Design a dark slate secondary button with a `#2d2d2d` background, `#e9e9e9` PolySans 16px text, 24px radius pill shape, 10px \u00D7 24px padding. Hover matches the primary button \u2014 translucent white `rgba(255, 255, 255, 0.2)` bg with black text.\"*\n\n### Iteration Guide\nWhen refining existing screens generated with this design system:\n1. **Audit the canvas.** If you see a light background anywhere on the homepage, flatten it to `#131313`. There is no light mode.\n2. **Audit corners.** Every rectangle should land on 2/3/4/20/24/30/40px or 50%. Square corners break the voice.\n3. **Audit shadows.** Strip every `box-shadow` that isn't a 1px inset underline or a 1px hazard-color border. The Verge uses color for elevation, not shadow.\n4. **Audit type roles.** Manuka only \u226560px. PolySans Mono only UPPERCASE. PolySans 300 at 19\u201320px should have 1.9px tracking. FK Roman only for body/magazine moments, never UI.\n5. **Audit accent usage.** Mint and ultraviolet should appear as hazard accents \u2014 buttons, 1px borders, active underlines, saturated tile fills. If they're appearing as background washes or gradient fades, correct to solid blocks.\n6. **Audit labels.** Every kicker, timestamp, category tag, and button label should be ALL CAPS with 1.1\u20131.9px letter-spacing. Missing tracking = missing voice.\n7. **Audit link hover.** Every link, regardless of its base color, should hover to `#3860be` deep link blue with no underline. Any other hover color is drift.\n";
|
|
2
|
+
|
|
3
|
+
export { thevergeBrief };
|