@hex-core/themes 0.2.4 → 0.2.6
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-LDZC2QYF.js → chunk-272LSGQB.js} +1 -1
- package/dist/chunk-272LSGQB.js.map +1 -0
- package/dist/{chunk-CUO2HNBR.js → chunk-2A6DLGA7.js} +1 -1
- package/dist/chunk-2A6DLGA7.js.map +1 -0
- package/dist/{chunk-4QXKFLEQ.js → chunk-2QSORYID.js} +1 -1
- package/dist/chunk-2QSORYID.js.map +1 -0
- package/dist/{chunk-5TDK4XMA.js → chunk-2TGYWGVY.js} +1 -1
- package/dist/chunk-2TGYWGVY.js.map +1 -0
- package/dist/{chunk-VOXUB4AT.js → chunk-2WNXGP5P.js} +1 -1
- package/dist/chunk-2WNXGP5P.js.map +1 -0
- package/dist/{chunk-TXY7LBYM.js → chunk-3KVEWVGB.js} +1 -1
- package/dist/chunk-3KVEWVGB.js.map +1 -0
- package/dist/{chunk-4LQ3BH7F.js → chunk-56AUUCZS.js} +1 -1
- package/dist/chunk-56AUUCZS.js.map +1 -0
- package/dist/{chunk-7OAKNGRU.js → chunk-57VDS6LG.js} +1 -1
- package/dist/chunk-57VDS6LG.js.map +1 -0
- package/dist/{chunk-OCQYO6PW.js → chunk-5LF2KJDC.js} +1 -1
- package/dist/chunk-5LF2KJDC.js.map +1 -0
- package/dist/{chunk-Z3XCYZN4.js → chunk-5N7574FT.js} +1 -1
- package/dist/chunk-5N7574FT.js.map +1 -0
- package/dist/{chunk-GSTGBWQZ.js → chunk-5VJBE4GH.js} +1 -1
- package/dist/chunk-5VJBE4GH.js.map +1 -0
- package/dist/{chunk-BCLCH6JZ.js → chunk-5WK2WKWX.js} +1 -1
- package/dist/chunk-5WK2WKWX.js.map +1 -0
- package/dist/{chunk-ZQJDUTSK.js → chunk-66TJF4RL.js} +1 -1
- package/dist/chunk-66TJF4RL.js.map +1 -0
- package/dist/{chunk-7MPAMAFC.js → chunk-6K4R7TQ2.js} +1 -1
- package/dist/chunk-6K4R7TQ2.js.map +1 -0
- package/dist/{chunk-PJAJD5VJ.js → chunk-6TDP6DCC.js} +1 -1
- package/dist/chunk-6TDP6DCC.js.map +1 -0
- package/dist/{chunk-NKTZOR54.js → chunk-7MCNXH3M.js} +1 -1
- package/dist/chunk-7MCNXH3M.js.map +1 -0
- package/dist/{chunk-IRDDULX7.js → chunk-APHEYV2T.js} +1 -1
- package/dist/chunk-APHEYV2T.js.map +1 -0
- package/dist/{chunk-IXKXYUXQ.js → chunk-B5ZH6DB5.js} +1 -1
- package/dist/chunk-B5ZH6DB5.js.map +1 -0
- package/dist/{chunk-BH7IPZBT.js → chunk-CQTXRD33.js} +1 -1
- package/dist/chunk-CQTXRD33.js.map +1 -0
- package/dist/{chunk-CTI3W357.js → chunk-CZPAYC46.js} +1 -1
- package/dist/chunk-CZPAYC46.js.map +1 -0
- package/dist/{chunk-LNKOIFH4.js → chunk-ECMKBX2J.js} +1 -1
- package/dist/chunk-ECMKBX2J.js.map +1 -0
- package/dist/{chunk-72IPJZ6V.js → chunk-EDRMWCBI.js} +1 -1
- package/dist/chunk-EDRMWCBI.js.map +1 -0
- package/dist/{chunk-SORTCBSJ.js → chunk-ETCNVOIL.js} +1 -1
- package/dist/chunk-ETCNVOIL.js.map +1 -0
- package/dist/{chunk-PN567MCL.js → chunk-GGQUOFCD.js} +1 -1
- package/dist/chunk-GGQUOFCD.js.map +1 -0
- package/dist/{chunk-CEQN6EQY.js → chunk-GXDGNJMF.js} +1 -1
- package/dist/chunk-GXDGNJMF.js.map +1 -0
- package/dist/{chunk-CFLNGBY5.js → chunk-H24XEEMC.js} +1 -1
- package/dist/chunk-H24XEEMC.js.map +1 -0
- package/dist/{chunk-7YPET3HT.js → chunk-H2BLDJS6.js} +1 -1
- package/dist/chunk-H2BLDJS6.js.map +1 -0
- package/dist/{chunk-I6H6W42Y.js → chunk-H4JPCXHY.js} +1 -1
- package/dist/chunk-H4JPCXHY.js.map +1 -0
- package/dist/{chunk-ATBX7KXM.js → chunk-HOKH4P5K.js} +1 -1
- package/dist/chunk-HOKH4P5K.js.map +1 -0
- package/dist/{chunk-GAOOBTSH.js → chunk-HSLP5WT4.js} +1 -1
- package/dist/chunk-HSLP5WT4.js.map +1 -0
- package/dist/{chunk-IJBNLZQH.js → chunk-HYXMYG2L.js} +1 -1
- package/dist/chunk-HYXMYG2L.js.map +1 -0
- package/dist/{chunk-KCI73LIZ.js → chunk-I3MBVZIO.js} +1 -1
- package/dist/chunk-I3MBVZIO.js.map +1 -0
- package/dist/{chunk-FK5WSFAA.js → chunk-IMKQPXPQ.js} +1 -1
- package/dist/chunk-IMKQPXPQ.js.map +1 -0
- package/dist/{chunk-WAU2FYDY.js → chunk-JWKUI4RX.js} +1 -1
- package/dist/chunk-JWKUI4RX.js.map +1 -0
- package/dist/{chunk-YRGKMQP4.js → chunk-JYD76T4M.js} +1 -1
- package/dist/chunk-JYD76T4M.js.map +1 -0
- package/dist/{chunk-E26YKJRK.js → chunk-JZI3MYHH.js} +1 -1
- package/dist/chunk-JZI3MYHH.js.map +1 -0
- package/dist/{chunk-GAQ6LS55.js → chunk-KENDSQNI.js} +1 -1
- package/dist/chunk-KENDSQNI.js.map +1 -0
- package/dist/{chunk-I4Z7DY3Z.js → chunk-KXRLRKUR.js} +1 -1
- package/dist/chunk-KXRLRKUR.js.map +1 -0
- package/dist/{chunk-KLNZW4GO.js → chunk-LHC6NIEV.js} +1 -1
- package/dist/chunk-LHC6NIEV.js.map +1 -0
- package/dist/{chunk-7ZAFN5WE.js → chunk-LSRIN4KJ.js} +1 -1
- package/dist/chunk-LSRIN4KJ.js.map +1 -0
- package/dist/{chunk-5O65TVZP.js → chunk-LUES2KWD.js} +1 -1
- package/dist/chunk-LUES2KWD.js.map +1 -0
- package/dist/{chunk-D5JFUYFN.js → chunk-LVJZYH4E.js} +1 -1
- package/dist/chunk-LVJZYH4E.js.map +1 -0
- package/dist/{chunk-RTCJ5B7S.js → chunk-MOYDFPT6.js} +1 -1
- package/dist/chunk-MOYDFPT6.js.map +1 -0
- package/dist/{chunk-BK432RWC.js → chunk-MXBNMD6P.js} +1 -1
- package/dist/chunk-MXBNMD6P.js.map +1 -0
- package/dist/{chunk-UIS6TMM5.js → chunk-NDQJU32I.js} +1 -1
- package/dist/chunk-NDQJU32I.js.map +1 -0
- package/dist/{chunk-FE2IENES.js → chunk-OACQ2U4Z.js} +1 -1
- package/dist/chunk-OACQ2U4Z.js.map +1 -0
- package/dist/{chunk-QEBXRSTH.js → chunk-ODXEV6AS.js} +1 -1
- package/dist/chunk-ODXEV6AS.js.map +1 -0
- package/dist/{chunk-73N7YFTY.js → chunk-P4VM23QS.js} +1 -1
- package/dist/chunk-P4VM23QS.js.map +1 -0
- package/dist/{chunk-2LU3ENLP.js → chunk-PKCFXM2I.js} +1 -1
- package/dist/chunk-PKCFXM2I.js.map +1 -0
- package/dist/{chunk-G2V6XAJ7.js → chunk-PL7GWVFC.js} +1 -1
- package/dist/chunk-PL7GWVFC.js.map +1 -0
- package/dist/{chunk-NIED6GXO.js → chunk-Q3UUZ4IY.js} +1 -1
- package/dist/chunk-Q3UUZ4IY.js.map +1 -0
- package/dist/{chunk-7YP2HHHV.js → chunk-QIBRIKJO.js} +1 -1
- package/dist/chunk-QIBRIKJO.js.map +1 -0
- package/dist/{chunk-JZEZHM5N.js → chunk-R34KEJKT.js} +1 -1
- package/dist/chunk-R34KEJKT.js.map +1 -0
- package/dist/{chunk-DE2NWOEB.js → chunk-R46HOWHG.js} +1 -1
- package/dist/chunk-R46HOWHG.js.map +1 -0
- package/dist/{chunk-I267MA2D.js → chunk-TN7R7OCY.js} +1 -1
- package/dist/chunk-TN7R7OCY.js.map +1 -0
- package/dist/{chunk-BMLLM5GC.js → chunk-TU33EKGU.js} +1 -1
- package/dist/chunk-TU33EKGU.js.map +1 -0
- package/dist/chunk-V6YUHZJC.js +79 -0
- package/dist/chunk-V6YUHZJC.js.map +1 -0
- package/dist/{chunk-RN4ZII2I.js → chunk-VHHPJEZN.js} +1 -1
- package/dist/chunk-VHHPJEZN.js.map +1 -0
- package/dist/{chunk-DLLP5KXF.js → chunk-VNRHXCFG.js} +1 -1
- package/dist/chunk-VNRHXCFG.js.map +1 -0
- package/dist/{chunk-ZTYINGDT.js → chunk-W2F4IE7R.js} +1 -1
- package/dist/chunk-W2F4IE7R.js.map +1 -0
- package/dist/{chunk-KXBE5FQ7.js → chunk-W6RTETPQ.js} +1 -1
- package/dist/chunk-W6RTETPQ.js.map +1 -0
- package/dist/{chunk-2OH25A4J.js → chunk-WSPZDZKU.js} +1 -1
- package/dist/chunk-WSPZDZKU.js.map +1 -0
- package/dist/{chunk-QTKMLEEM.js → chunk-XITZVOX2.js} +1 -1
- package/dist/chunk-XITZVOX2.js.map +1 -0
- package/dist/{chunk-KDS62BXD.js → chunk-XJBTDBQ2.js} +1 -1
- package/dist/chunk-XJBTDBQ2.js.map +1 -0
- package/dist/{chunk-SG2ACM7O.js → chunk-XNOKSXCM.js} +1 -1
- package/dist/chunk-XNOKSXCM.js.map +1 -0
- package/dist/{chunk-VUSSQAEI.js → chunk-XPVCBJPS.js} +1 -1
- package/dist/chunk-XPVCBJPS.js.map +1 -0
- package/dist/{chunk-KZDIZ2FL.js → chunk-XYUX623C.js} +1 -1
- package/dist/chunk-XYUX623C.js.map +1 -0
- package/dist/{chunk-EZFP45CP.js → chunk-Y4P26Z64.js} +1 -1
- package/dist/chunk-Y4P26Z64.js.map +1 -0
- package/dist/chunk-YBJ5QXNL.js +386 -0
- package/dist/chunk-YBJ5QXNL.js.map +1 -0
- package/dist/{chunk-Z6XLNVF3.js → chunk-YJPZJFCL.js} +1 -1
- package/dist/chunk-YJPZJFCL.js.map +1 -0
- package/dist/{chunk-5BH5ZMDH.js → chunk-YRUGI622.js} +1 -1
- package/dist/chunk-YRUGI622.js.map +1 -0
- package/dist/{chunk-MVMZS3PQ.js → chunk-ZFUNYUR4.js} +1 -1
- package/dist/chunk-ZFUNYUR4.js.map +1 -0
- package/dist/{chunk-2SI7O4FQ.js → chunk-ZX4NOL7O.js} +1 -1
- package/dist/chunk-ZX4NOL7O.js.map +1 -0
- package/dist/index.js +84 -83
- package/dist/index.js.map +1 -1
- package/dist/presets/_briefs/airbnb.js.map +1 -1
- package/dist/presets/_briefs/airtable.js.map +1 -1
- package/dist/presets/_briefs/apple.js.map +1 -1
- package/dist/presets/_briefs/binance.js.map +1 -1
- package/dist/presets/_briefs/bmw-m.js.map +1 -1
- package/dist/presets/_briefs/bmw.js.map +1 -1
- package/dist/presets/_briefs/bugatti.js.map +1 -1
- package/dist/presets/_briefs/cal.js.map +1 -1
- package/dist/presets/_briefs/claude.js.map +1 -1
- package/dist/presets/_briefs/clay.js.map +1 -1
- package/dist/presets/_briefs/clickhouse.js.map +1 -1
- package/dist/presets/_briefs/cohere.js.map +1 -1
- package/dist/presets/_briefs/coinbase.js.map +1 -1
- package/dist/presets/_briefs/composio.js.map +1 -1
- package/dist/presets/_briefs/cursor.js.map +1 -1
- package/dist/presets/_briefs/elevenlabs.js.map +1 -1
- package/dist/presets/_briefs/expo.js.map +1 -1
- package/dist/presets/_briefs/ferrari.js.map +1 -1
- package/dist/presets/_briefs/figma.js.map +1 -1
- package/dist/presets/_briefs/framer.js.map +1 -1
- package/dist/presets/_briefs/hashicorp.js.map +1 -1
- package/dist/presets/_briefs/ibm.js.map +1 -1
- package/dist/presets/_briefs/intercom.js.map +1 -1
- package/dist/presets/_briefs/kraken.js.map +1 -1
- package/dist/presets/_briefs/lamborghini.js.map +1 -1
- package/dist/presets/_briefs/linear.js.map +1 -1
- package/dist/presets/_briefs/lovable.js.map +1 -1
- package/dist/presets/_briefs/mastercard.js.map +1 -1
- package/dist/presets/_briefs/meta.js.map +1 -1
- package/dist/presets/_briefs/minimax.js.map +1 -1
- package/dist/presets/_briefs/mintlify.js.map +1 -1
- package/dist/presets/_briefs/miro.js.map +1 -1
- package/dist/presets/_briefs/mistral.js.map +1 -1
- package/dist/presets/_briefs/mongodb.js.map +1 -1
- package/dist/presets/_briefs/nike.js.map +1 -1
- package/dist/presets/_briefs/notion.js.map +1 -1
- package/dist/presets/_briefs/nvidia.js.map +1 -1
- package/dist/presets/_briefs/ollama.js.map +1 -1
- package/dist/presets/_briefs/opencode.js.map +1 -1
- package/dist/presets/_briefs/pinterest.js.map +1 -1
- package/dist/presets/_briefs/playstation.js.map +1 -1
- package/dist/presets/_briefs/posthog.js.map +1 -1
- package/dist/presets/_briefs/raycast.js.map +1 -1
- package/dist/presets/_briefs/renault.js.map +1 -1
- package/dist/presets/_briefs/replicate.js.map +1 -1
- package/dist/presets/_briefs/resend.js.map +1 -1
- package/dist/presets/_briefs/revolut.js.map +1 -1
- package/dist/presets/_briefs/runwayml.js.map +1 -1
- package/dist/presets/_briefs/sanity.js.map +1 -1
- package/dist/presets/_briefs/sentry.js.map +1 -1
- package/dist/presets/_briefs/shopify.js.map +1 -1
- package/dist/presets/_briefs/slack.js.map +1 -1
- package/dist/presets/_briefs/spacex.js.map +1 -1
- package/dist/presets/_briefs/spotify.js.map +1 -1
- package/dist/presets/_briefs/starbucks.js.map +1 -1
- package/dist/presets/_briefs/stripe.js.map +1 -1
- package/dist/presets/_briefs/supabase.js.map +1 -1
- package/dist/presets/_briefs/superhuman.js.map +1 -1
- package/dist/presets/_briefs/tesla.js.map +1 -1
- package/dist/presets/_briefs/theverge.js.map +1 -1
- package/dist/presets/_briefs/together.js.map +1 -1
- package/dist/presets/_briefs/uber.js.map +1 -1
- package/dist/presets/_briefs/vercel.js.map +1 -1
- package/dist/presets/_briefs/vodafone.js.map +1 -1
- package/dist/presets/_briefs/voltagent.js.map +1 -1
- package/dist/presets/_briefs/warp.js.map +1 -1
- package/dist/presets/_briefs/webflow.js.map +1 -1
- package/dist/presets/_briefs/wired.js.map +1 -1
- package/dist/presets/_briefs/wise.js.map +1 -1
- package/dist/presets/_briefs/x.js.map +1 -1
- package/dist/presets/_briefs/zapier.js.map +1 -1
- package/dist/presets/airbnb.js +1 -1
- package/dist/presets/airtable.js +1 -1
- package/dist/presets/apple.js +1 -1
- package/dist/presets/binance.js +1 -1
- package/dist/presets/bmw-m.js +1 -1
- package/dist/presets/bmw.js +1 -1
- package/dist/presets/briefs.generated.d.ts +9 -0
- package/dist/presets/briefs.generated.js +7 -0
- package/dist/presets/briefs.generated.js.map +1 -0
- package/dist/presets/bugatti.js +1 -1
- package/dist/presets/cal.js +1 -1
- package/dist/presets/claude.js +1 -1
- package/dist/presets/clay.js +1 -1
- package/dist/presets/clickhouse.js +1 -1
- package/dist/presets/cohere.js +1 -1
- package/dist/presets/coinbase.js +1 -1
- package/dist/presets/composio.js +1 -1
- package/dist/presets/cursor.js +1 -1
- package/dist/presets/elevenlabs.js +1 -1
- package/dist/presets/expo.js +1 -1
- package/dist/presets/ferrari.js +1 -1
- package/dist/presets/figma.js +1 -1
- package/dist/presets/framer.js +1 -1
- package/dist/presets/hashicorp.js +1 -1
- package/dist/presets/ibm.js +1 -1
- package/dist/presets/index.js +84 -83
- package/dist/presets/intercom.js +1 -1
- package/dist/presets/kraken.js +1 -1
- package/dist/presets/lamborghini.js +1 -1
- package/dist/presets/linear.js +1 -1
- package/dist/presets/lovable.js +1 -1
- package/dist/presets/mastercard.js +1 -1
- package/dist/presets/meta.js +1 -1
- package/dist/presets/minimax.js +1 -1
- package/dist/presets/mintlify.js +1 -1
- package/dist/presets/miro.js +1 -1
- package/dist/presets/mistral.js +1 -1
- package/dist/presets/mongodb.js +1 -1
- package/dist/presets/nike.js +1 -1
- package/dist/presets/notion.js +1 -1
- package/dist/presets/nvidia.js +1 -1
- package/dist/presets/ollama.js +1 -1
- package/dist/presets/opencode.js +1 -1
- package/dist/presets/pinterest.js +1 -1
- package/dist/presets/playstation.js +1 -1
- package/dist/presets/posthog.js +1 -1
- package/dist/presets/raycast.js +1 -1
- package/dist/presets/renault.js +1 -1
- package/dist/presets/replicate.js +1 -1
- package/dist/presets/resend.js +1 -1
- package/dist/presets/revolut.js +1 -1
- package/dist/presets/runwayml.js +1 -1
- package/dist/presets/sanity.js +1 -1
- package/dist/presets/sentry.js +1 -1
- package/dist/presets/shopify.js +1 -1
- package/dist/presets/slack.js +1 -1
- package/dist/presets/spacex.js +1 -1
- package/dist/presets/spotify.js +1 -1
- package/dist/presets/starbucks.js +1 -1
- package/dist/presets/stripe.js +1 -1
- package/dist/presets/supabase.js +1 -1
- package/dist/presets/superhuman.js +1 -1
- package/dist/presets/tesla.js +1 -1
- package/dist/presets/theverge.js +1 -1
- package/dist/presets/together.js +1 -1
- package/dist/presets/uber.js +1 -1
- package/dist/presets/vercel.js +1 -1
- package/dist/presets/vodafone.js +1 -1
- package/dist/presets/voltagent.js +1 -1
- package/dist/presets/warp.js +1 -1
- package/dist/presets/webflow.js +1 -1
- package/dist/presets/wired.js +1 -1
- package/dist/presets/wise.js +1 -1
- package/dist/presets/x.js +1 -1
- package/dist/presets/zapier.js +1 -1
- package/package.json +4 -4
- package/dist/chunk-2LU3ENLP.js.map +0 -1
- package/dist/chunk-2OH25A4J.js.map +0 -1
- package/dist/chunk-2SI7O4FQ.js.map +0 -1
- package/dist/chunk-4LQ3BH7F.js.map +0 -1
- package/dist/chunk-4QXKFLEQ.js.map +0 -1
- package/dist/chunk-5BH5ZMDH.js.map +0 -1
- package/dist/chunk-5O65TVZP.js.map +0 -1
- package/dist/chunk-5TDK4XMA.js.map +0 -1
- package/dist/chunk-72IPJZ6V.js.map +0 -1
- package/dist/chunk-73N7YFTY.js.map +0 -1
- package/dist/chunk-7MPAMAFC.js.map +0 -1
- package/dist/chunk-7OAKNGRU.js.map +0 -1
- package/dist/chunk-7YP2HHHV.js.map +0 -1
- package/dist/chunk-7YPET3HT.js.map +0 -1
- package/dist/chunk-7ZAFN5WE.js.map +0 -1
- package/dist/chunk-ATBX7KXM.js.map +0 -1
- package/dist/chunk-BCLCH6JZ.js.map +0 -1
- package/dist/chunk-BH7IPZBT.js.map +0 -1
- package/dist/chunk-BK432RWC.js.map +0 -1
- package/dist/chunk-BMLLM5GC.js.map +0 -1
- package/dist/chunk-CEQN6EQY.js.map +0 -1
- package/dist/chunk-CFLNGBY5.js.map +0 -1
- package/dist/chunk-CTI3W357.js.map +0 -1
- package/dist/chunk-CUO2HNBR.js.map +0 -1
- package/dist/chunk-D5JFUYFN.js.map +0 -1
- package/dist/chunk-DE2NWOEB.js.map +0 -1
- package/dist/chunk-DLLP5KXF.js.map +0 -1
- package/dist/chunk-E26YKJRK.js.map +0 -1
- package/dist/chunk-EV4APPVD.js +0 -528
- package/dist/chunk-EV4APPVD.js.map +0 -1
- package/dist/chunk-EZFP45CP.js.map +0 -1
- package/dist/chunk-FE2IENES.js.map +0 -1
- package/dist/chunk-FK5WSFAA.js.map +0 -1
- package/dist/chunk-G2V6XAJ7.js.map +0 -1
- package/dist/chunk-GAOOBTSH.js.map +0 -1
- package/dist/chunk-GAQ6LS55.js.map +0 -1
- package/dist/chunk-GSTGBWQZ.js.map +0 -1
- package/dist/chunk-I267MA2D.js.map +0 -1
- package/dist/chunk-I4Z7DY3Z.js.map +0 -1
- package/dist/chunk-I6H6W42Y.js.map +0 -1
- package/dist/chunk-IJBNLZQH.js.map +0 -1
- package/dist/chunk-IRDDULX7.js.map +0 -1
- package/dist/chunk-IXKXYUXQ.js.map +0 -1
- package/dist/chunk-JZEZHM5N.js.map +0 -1
- package/dist/chunk-KCI73LIZ.js.map +0 -1
- package/dist/chunk-KDS62BXD.js.map +0 -1
- package/dist/chunk-KLNZW4GO.js.map +0 -1
- package/dist/chunk-KXBE5FQ7.js.map +0 -1
- package/dist/chunk-KZDIZ2FL.js.map +0 -1
- package/dist/chunk-LDZC2QYF.js.map +0 -1
- package/dist/chunk-LNKOIFH4.js.map +0 -1
- package/dist/chunk-MVMZS3PQ.js.map +0 -1
- package/dist/chunk-NIED6GXO.js.map +0 -1
- package/dist/chunk-NKTZOR54.js.map +0 -1
- package/dist/chunk-OCQYO6PW.js.map +0 -1
- package/dist/chunk-PJAJD5VJ.js.map +0 -1
- package/dist/chunk-PN567MCL.js.map +0 -1
- package/dist/chunk-QEBXRSTH.js.map +0 -1
- package/dist/chunk-QTKMLEEM.js.map +0 -1
- package/dist/chunk-RN4ZII2I.js.map +0 -1
- package/dist/chunk-RTCJ5B7S.js.map +0 -1
- package/dist/chunk-SG2ACM7O.js.map +0 -1
- package/dist/chunk-SORTCBSJ.js.map +0 -1
- package/dist/chunk-TXY7LBYM.js.map +0 -1
- package/dist/chunk-UIS6TMM5.js.map +0 -1
- package/dist/chunk-VOXUB4AT.js.map +0 -1
- package/dist/chunk-VUSSQAEI.js.map +0 -1
- package/dist/chunk-WAU2FYDY.js.map +0 -1
- package/dist/chunk-YRGKMQP4.js.map +0 -1
- package/dist/chunk-Z3XCYZN4.js.map +0 -1
- package/dist/chunk-Z6XLNVF3.js.map +0 -1
- package/dist/chunk-ZQJDUTSK.js.map +0 -1
- package/dist/chunk-ZTYINGDT.js.map +0 -1
|
@@ -1 +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":[]}
|
|
1
|
+
{"version":3,"sources":["../../../src/presets/_briefs/tesla.ts"],"sourcesContent":["// Originally generated from voltagent/awesome-design-md (MIT) and hand-curated since.\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":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/presets/_briefs/theverge.ts"],"sourcesContent":["// AUTO-GENERATED — do not hand-edit. Source: https://github.com/voltagent/awesome-design-md\nexport 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é 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 — 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 — often 20–40px radius — 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 — 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 — 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 — 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 — 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 — 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 — 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 — 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 — a \"spotlight\" on that tile.\n- **Absolute Black** (\\`#000000\\`): Reserved for text on the mint/yellow/white tiles — 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 — 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 — 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) — 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–107px on the homepage, never smaller.\n- **PolySans** (PanGram Pangram / Nikolas Wrobel) — fallback: Helvetica, Arial. The UI and secondary headline workhorse. Covers weights 300 / 500 / 700 across the system — everything from kicker captions to body decks.\n- **PolySans Mono** — 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) — 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** — 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 | — | Section-level feature headlines |\n| Tertiary Display | Manuka | 60px / 3.75rem | 900 | 0.80 | — | Inline feature callouts |\n| Large Headline | PolySans | 34px / 2.13rem | 700 | 1.00 | — | 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 | — | Story tile headlines in the main feed |\n| Heading Small | PolySans | 20px / 1.25rem | 700 | 1.00 | — | Compact tile headlines |\n| Light Capitalized Label | PolySans | 19px / 1.19rem | 300 | 1.20 | 1.9px | Thin-weight capitalized eyebrows — 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 | — | Emphasis within decks |\n| Body Relaxed | PolySans | 16px / 1.00rem | 500 | 1.60 | — | 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 | — | 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–1.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 | — | 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–20px 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–1.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 — reviews, critic pulls, masthead essays. Never use it in UI.\n- **Line heights are tight** (0.80–1.30) for every display and label, relaxed (1.60–2.00) only for reading body and mono button labels. The leading jump is intentional — 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 → 0.95). PolySans substitutes (Space Grotesk, DM Sans, Hanken Grotesk) work at the token values without adjustment — 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 — 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\\` — 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 — 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 — \\`rgba(255, 255, 255, 0.2)\\` bg, black text, 1px \\`#c2c2c2\\` ring\n- Focus: same cyan focus treatment as primary\n\n**Tertiary — 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\\` — 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 — 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–32px interior\n- Hover: no lift, no scale — 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–16px 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 — 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–14px, PolySans Mono, 1.5–1.8px tracking), and a single mint-pill CTA (usually \"Subscribe\") pinned right.\n- **Wordmark**: massive on first scroll — 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 — 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–20px 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 — \\`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 — 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–16px 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–64px vertical between major feed sections. StoryStream items themselves are tighter — 12–16px gaps.\n- **Card padding**: 20–32px interior. Feature cards expand to 40–48px.\n- **Inline spacing**: kickers sit ~6–10px above headlines; headlines sit ~10–14px above decks; timestamps sit ~6–8px 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–1300px (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–3 columns on a whim.\n- **Container padding**: 24px mobile / 48px desktop on the outer edges.\n- **Gutters**: 16–24px between columns, tighter (8–12px) inside StoryStream items.\n\n### Whitespace Philosophy\nThe Verge treats whitespace like a club DJ treats silence — 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** — inputs, small badges (feels like a typewriter tag)\n- **3px** — inline images (just enough to soften against the canvas)\n- **4px** — nested card images and small button variants\n- **20px** — standard pill cards and color-block tiles\n- **24px** — feature tile radius and primary button pill\n- **30px** — large promotional buttons\n- **40px** — outlined CTA pills (the loudest pill in the system)\n- **50%** — avatar circles, icon buttons, and certain round badges\n\nEight discrete radius values — 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 — applied to layered cards |\n| 6 | \\`0px -1px 0px 0px inset\\` (mint/black/white) | Active tab underline — 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 — 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 — 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 — 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 — 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–40px 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–1.9px letter-spacing to every ALL-CAPS label — this is a Verge signature.\n- **Do** use saturated color-block tiles (mint, purple, yellow, pink, orange, white) to elevate a story — 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–20px with 1.9px tracking for \"fashion-whisper\" capitalized eyebrows — 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 — 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 — 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 — 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–54px, StoryStream rail collapses to inline timestamps |\n| Mobile | 400–549px | Single column, color-block tiles stack full-width, nav is a hamburger drawer |\n| Large Mobile | 550–767px | Still single column but padding opens up, tile radii stay at 20px |\n| Tablet | 768–1023px | 2-column StoryStream with feature card spanning, wordmark shrinks ~50% |\n| Small Desktop | 1024–1179px | Full 3–4 column editorial grid, mint pill CTA restored to nav |\n| Desktop | 1180–1299px | Max padding, Manuka wordmark at full hero scale |\n| Large Desktop | ≥1300px | Container caps at ~1280–1300px, whitespace expands at the margins, no further scaling |\n\nThe dembrandt sweep detected 26 intermediate breakpoints (1300 → 1280 → 1200 → 1181 → 1180 → 1179 → 1024 → 1023 → 901 → 900 → 897 → 896 → 890 → 769 → 768 → 620 → 605 → 600 → 550 → 549 → 530 → 426 → 425 → 400 → 320). The Verge tunes its grid at virtually every major device boundary — an unusually aggressive responsive strategy.\n\n### Touch Targets\n- Primary pill buttons are ~44px minimum height (10px vertical padding + 16px text + 2px border) — meets WCAG AA.\n- Mono uppercase nav links are smaller (~28–32px tall) — for derivative work, pad to 44px on mobile.\n- Circle icon buttons are 40–44px circles, touch-friendly.\n\n### Collapsing Strategy\n- **Nav**: wordmark scales from hero (Manuka 60–107px) to ~24–32px on mobile. Category links collapse to a hamburger drawer below 900px.\n- **Grid**: 4-col → 3-col → 2-col → 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 → 32px → 20px. Tile interior padding tightens from 32px → 20px.\n- **Type**: Manuka hero scales from 107px to ~48–54px on mobile. PolySans headlines scale from 34px → 24px. Mono labels stay pinned at 11–12px (they don't shrink further or they become unreadable).\n- **Color tiles**: accent story blocks never lose saturation on mobile — they just reflow to full width.\n\n### Image Behavior\n- Responsive raster via \\`srcset\\`, aspect ratios preserved.\n- No art-direction swaps — 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 — 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 × 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 × 24px padding. Hover matches the primary button — 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 ≥60px. PolySans Mono only UPPERCASE. PolySans 300 at 19–20px 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 — 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–1.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`;\n"],"mappings":";AACO,IAAM,gBAAgB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;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":[]}
|
|
1
|
+
{"version":3,"sources":["../../../src/presets/_briefs/theverge.ts"],"sourcesContent":["// Originally generated from voltagent/awesome-design-md (MIT) and hand-curated since.\nexport 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é 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 — 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 — often 20–40px radius — 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 — 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 — 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 — 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 — 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 — 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 — 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 — 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 — a \"spotlight\" on that tile.\n- **Absolute Black** (\\`#000000\\`): Reserved for text on the mint/yellow/white tiles — 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 — 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 — 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) — 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–107px on the homepage, never smaller.\n- **PolySans** (PanGram Pangram / Nikolas Wrobel) — fallback: Helvetica, Arial. The UI and secondary headline workhorse. Covers weights 300 / 500 / 700 across the system — everything from kicker captions to body decks.\n- **PolySans Mono** — 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) — 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** — 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 | — | Section-level feature headlines |\n| Tertiary Display | Manuka | 60px / 3.75rem | 900 | 0.80 | — | Inline feature callouts |\n| Large Headline | PolySans | 34px / 2.13rem | 700 | 1.00 | — | 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 | — | Story tile headlines in the main feed |\n| Heading Small | PolySans | 20px / 1.25rem | 700 | 1.00 | — | Compact tile headlines |\n| Light Capitalized Label | PolySans | 19px / 1.19rem | 300 | 1.20 | 1.9px | Thin-weight capitalized eyebrows — 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 | — | Emphasis within decks |\n| Body Relaxed | PolySans | 16px / 1.00rem | 500 | 1.60 | — | 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 | — | 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–1.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 | — | 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–20px 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–1.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 — reviews, critic pulls, masthead essays. Never use it in UI.\n- **Line heights are tight** (0.80–1.30) for every display and label, relaxed (1.60–2.00) only for reading body and mono button labels. The leading jump is intentional — 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 → 0.95). PolySans substitutes (Space Grotesk, DM Sans, Hanken Grotesk) work at the token values without adjustment — 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 — 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\\` — 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 — 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 — \\`rgba(255, 255, 255, 0.2)\\` bg, black text, 1px \\`#c2c2c2\\` ring\n- Focus: same cyan focus treatment as primary\n\n**Tertiary — 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\\` — 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 — 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–32px interior\n- Hover: no lift, no scale — 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–16px 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 — 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–14px, PolySans Mono, 1.5–1.8px tracking), and a single mint-pill CTA (usually \"Subscribe\") pinned right.\n- **Wordmark**: massive on first scroll — 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 — 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–20px 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 — \\`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 — 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–16px 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–64px vertical between major feed sections. StoryStream items themselves are tighter — 12–16px gaps.\n- **Card padding**: 20–32px interior. Feature cards expand to 40–48px.\n- **Inline spacing**: kickers sit ~6–10px above headlines; headlines sit ~10–14px above decks; timestamps sit ~6–8px 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–1300px (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–3 columns on a whim.\n- **Container padding**: 24px mobile / 48px desktop on the outer edges.\n- **Gutters**: 16–24px between columns, tighter (8–12px) inside StoryStream items.\n\n### Whitespace Philosophy\nThe Verge treats whitespace like a club DJ treats silence — 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** — inputs, small badges (feels like a typewriter tag)\n- **3px** — inline images (just enough to soften against the canvas)\n- **4px** — nested card images and small button variants\n- **20px** — standard pill cards and color-block tiles\n- **24px** — feature tile radius and primary button pill\n- **30px** — large promotional buttons\n- **40px** — outlined CTA pills (the loudest pill in the system)\n- **50%** — avatar circles, icon buttons, and certain round badges\n\nEight discrete radius values — 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 — applied to layered cards |\n| 6 | \\`0px -1px 0px 0px inset\\` (mint/black/white) | Active tab underline — 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 — 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 — 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 — 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 — 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–40px 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–1.9px letter-spacing to every ALL-CAPS label — this is a Verge signature.\n- **Do** use saturated color-block tiles (mint, purple, yellow, pink, orange, white) to elevate a story — 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–20px with 1.9px tracking for \"fashion-whisper\" capitalized eyebrows — 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 — 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 — 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 — 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–54px, StoryStream rail collapses to inline timestamps |\n| Mobile | 400–549px | Single column, color-block tiles stack full-width, nav is a hamburger drawer |\n| Large Mobile | 550–767px | Still single column but padding opens up, tile radii stay at 20px |\n| Tablet | 768–1023px | 2-column StoryStream with feature card spanning, wordmark shrinks ~50% |\n| Small Desktop | 1024–1179px | Full 3–4 column editorial grid, mint pill CTA restored to nav |\n| Desktop | 1180–1299px | Max padding, Manuka wordmark at full hero scale |\n| Large Desktop | ≥1300px | Container caps at ~1280–1300px, whitespace expands at the margins, no further scaling |\n\nThe dembrandt sweep detected 26 intermediate breakpoints (1300 → 1280 → 1200 → 1181 → 1180 → 1179 → 1024 → 1023 → 901 → 900 → 897 → 896 → 890 → 769 → 768 → 620 → 605 → 600 → 550 → 549 → 530 → 426 → 425 → 400 → 320). The Verge tunes its grid at virtually every major device boundary — an unusually aggressive responsive strategy.\n\n### Touch Targets\n- Primary pill buttons are ~44px minimum height (10px vertical padding + 16px text + 2px border) — meets WCAG AA.\n- Mono uppercase nav links are smaller (~28–32px tall) — for derivative work, pad to 44px on mobile.\n- Circle icon buttons are 40–44px circles, touch-friendly.\n\n### Collapsing Strategy\n- **Nav**: wordmark scales from hero (Manuka 60–107px) to ~24–32px on mobile. Category links collapse to a hamburger drawer below 900px.\n- **Grid**: 4-col → 3-col → 2-col → 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 → 32px → 20px. Tile interior padding tightens from 32px → 20px.\n- **Type**: Manuka hero scales from 107px to ~48–54px on mobile. PolySans headlines scale from 34px → 24px. Mono labels stay pinned at 11–12px (they don't shrink further or they become unreadable).\n- **Color tiles**: accent story blocks never lose saturation on mobile — they just reflow to full width.\n\n### Image Behavior\n- Responsive raster via \\`srcset\\`, aspect ratios preserved.\n- No art-direction swaps — 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 — 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 × 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 × 24px padding. Hover matches the primary button — 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 ≥60px. PolySans Mono only UPPERCASE. PolySans 300 at 19–20px 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 — 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–1.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`;\n"],"mappings":";AACO,IAAM,gBAAgB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;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":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/presets/_briefs/together.ts"],"sourcesContent":["// AUTO-GENERATED — do not hand-edit. Source: https://github.com/voltagent/awesome-design-md\nexport const togetherBrief = `# Design System Inspired by Together AI\n\n## 1. Visual Theme & Atmosphere\n\nTogether AI's interface is a pastel-gradient dreamscape built for enterprise AI infrastructure — a design that somehow makes GPU clusters and model inference feel light, airy, and optimistic. The hero section blooms with soft pink-blue-lavender gradients and abstract, painterly illustrations that evoke clouds and flight, establishing a visual metaphor for the \"AI-Native Cloud\" proposition. Against this softness, the typography cuts through with precision: \"The Future\" display font at 64px with aggressive negative tracking (-1.92px) creates dense, authoritative headline blocks.\n\nThe design straddles two worlds: a bright, white-canvas light side where pastel gradients and stats cards create an approachable platform overview, and a dark navy universe (\\`#010120\\` — not gray-black but a deep midnight blue) where research papers and technical content live. This dual-world approach elegantly separates the \"business\" messaging (light, friendly, stat-driven) from the \"research\" messaging (dark, serious, academic).\n\nWhat makes Together AI distinctive is its type system. \"The Future\" handles all display and body text with a geometric modernist aesthetic, while \"PP Neue Montreal Mono\" provides uppercase labels with meticulous letter-spacing — creating a \"technical infrastructure company with taste\" personality. The brand accents — magenta (\\`#ef2cc1\\`) and orange (\\`#fc4c02\\`) — appear sparingly in the gradient and illustrations, never polluting the clean UI.\n\n**Key Characteristics:**\n- Soft pastel gradients (pink, blue, lavender) against pure white canvas\n- Deep midnight blue (\\`#010120\\`) for dark/research sections — not gray-black\n- Custom \"The Future\" font with aggressive negative letter-spacing throughout\n- PP Neue Montreal Mono for uppercase technical labels\n- Sharp geometry (4px, 8px radius) — not rounded, not pill\n- Magenta (#ef2cc1) + orange (#fc4c02) brand accents in illustrations only\n- Lavender (#bdbbff) as a soft secondary accent\n- Enterprise stats prominently displayed (2x, 60%, 90%)\n- Dark-blue-tinted shadows (rgba(1, 1, 32, 0.1))\n\n## 2. Color Palette & Roles\n\n### Primary\n- **Brand Magenta** (\\`#ef2cc1\\`): The primary brand accent — a vivid pink-magenta used in gradient illustrations and the highest-signal brand moments. Never used as UI chrome.\n- **Brand Orange** (\\`#fc4c02\\`): The secondary brand accent — a vivid orange for gradient endpoints and warm accent moments.\n- **Dark Blue** (\\`#010120\\`): The primary dark surface — a deep midnight blue-black used for research sections, footer, and dark containers. Not gray, not black — distinctly blue.\n\n### Secondary & Accent\n- **Soft Lavender** (\\`#bdbbff\\`): A gentle blue-violet used for subtle accents, secondary indicators, and soft UI highlights.\n- **Black 40** (\\`#00000066\\`): Semi-transparent black for de-emphasized overlays and secondary text.\n\n### Surface & Background\n- **Pure White** (\\`#ffffff\\`): The primary light-section page background.\n- **Dark Blue** (\\`#010120\\`): Dark-section backgrounds — research, footer, technical content.\n- **Glass Light** (\\`rgba(255, 255, 255, 0.12)\\`): Frosted glass button backgrounds on dark sections.\n- **Glass Dark** (\\`rgba(0, 0, 0, 0.08)\\`): Subtle tinted surfaces on light sections.\n\n### Neutrals & Text\n- **Pure Black** (\\`#000000\\`): Primary text on light surfaces.\n- **Pure White** (\\`#ffffff\\`): Primary text on dark surfaces.\n- **Black 8%** (\\`rgba(0, 0, 0, 0.08)\\`): Borders and subtle containment on light surfaces.\n- **White 12%** (\\`rgba(255, 255, 255, 0.12)\\`): Borders and containment on dark surfaces.\n\n### Gradient System\n- **Pastel Cloud Gradient**: Soft pink → lavender → soft blue gradients in hero illustrations. These appear in abstract, painterly forms — clouds, feathers, flowing shapes — that create visual warmth without literal meaning.\n- **Hero Gradient**: The hero background uses soft pastel tints layered over white, creating a dawn-like atmospheric effect.\n\n## 3. Typography Rules\n\n### Font Family\n- **Primary**: \\`The Future\\`, with fallback: \\`Arial\\`\n- **Monospace / Labels**: \\`PP Neue Montreal Mono\\`, with fallback: \\`Georgia\\`\n\n### Hierarchy\n\n| Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |\n|------|------|------|--------|-------------|----------------|-------|\n| Display / Hero | The Future | 64px (4rem) | 400–500 | 1.00–1.10 (tight) | -1.92px | Maximum impact, dense blocks |\n| Section Heading | The Future | 40px (2.5rem) | 500 | 1.20 (tight) | -0.8px | Feature section titles |\n| Sub-heading | The Future | 28px (1.75rem) | 500 | 1.15 (tight) | -0.42px | Card headings |\n| Feature Title | The Future | 22px (1.38rem) | 500 | 1.15 (tight) | -0.22px | Small feature headings |\n| Body Large | The Future | 18px (1.13rem) | 400–500 | 1.30 (tight) | -0.18px | Descriptions, sections |\n| Body / Button | The Future | 16px (1rem) | 400–500 | 1.25–1.30 | -0.16px | Standard body, nav, buttons |\n| Caption | The Future | 14px (0.88rem) | 400–500 | 1.40 | normal | Metadata, descriptions |\n| Mono Label | PP Neue Montreal Mono | 16px (1rem) | 500 | 1.00 (tight) | 0.08px | Uppercase section labels |\n| Mono Small | PP Neue Montreal Mono | 11px (0.69rem) | 500 | 1.00–1.40 | 0.055–0.08px | Small uppercase tags |\n| Mono Micro | PP Neue Montreal Mono | 10px (0.63rem) | 400 | 1.40 | 0.05px | Smallest uppercase labels |\n\n### Principles\n- **Negative tracking everywhere**: Every size of \"The Future\" uses negative letter-spacing (-0.16px to -1.92px), creating consistently tight, modern text.\n- **Mono for structure**: PP Neue Montreal Mono in uppercase with positive letter-spacing creates technical \"label\" moments that structure the page without competing with display text.\n- **Weight 500 as emphasis**: The system uses 400 (regular) and 500 (medium) — no bold. Medium weight marks headings and emphasis.\n- **Tight line-heights throughout**: Even body text uses 1.25–1.30 line-height — tighter than typical, creating a dense, information-rich feel.\n\n## 4. Component Stylings\n\n### Buttons\n\n**Glass on Dark**\n- Background: \\`rgba(255, 255, 255, 0.12)\\` (frosted glass)\n- Text: Pure White (\\`#ffffff\\`)\n- Radius: sharp (4px)\n- Opacity: 0.5\n- Hover: transparent dark overlay\n- Used on dark sections — subtle, glass-like\n\n**Dark Solid**\n- Background: Dark Blue (\\`#010120\\`) or Pure Black\n- Text: Pure White\n- Radius: sharp (4px)\n- The primary CTA on light surfaces\n\n**Outlined Light**\n- Border: \\`1px solid rgba(0, 0, 0, 0.08)\\`\n- Background: transparent or subtle glass\n- Text: Pure Black\n- Radius: sharp (4px)\n- Secondary actions on light surfaces\n\n### Cards & Containers\n- Background: Pure White or subtle glass tint\n- Border: \\`1px solid rgba(0, 0, 0, 0.08)\\` on light; \\`1px solid rgba(255, 255, 255, 0.12)\\` on dark\n- Radius: sharp (4px) for badges and small elements; comfortable (8px) for larger containers\n- Shadow: dark-blue-tinted (\\`rgba(1, 1, 32, 0.1) 0px 4px 10px\\`) — warm and subtle\n- Stats cards with large numbers prominently displayed\n\n### Badges / Tags\n- Background: \\`rgba(0, 0, 0, 0.04)\\` (light) or \\`rgba(255, 255, 255, 0.12)\\` (dark)\n- Text: Black (light) or White (dark)\n- Padding: 2px 8px (compact)\n- Radius: sharp (4px)\n- Border: \\`1px solid rgba(0, 0, 0, 0.08)\\`\n- PP Neue Montreal Mono, uppercase, 16px\n\n### Navigation\n- Clean horizontal nav on white/transparent\n- Logo: Together AI wordmark\n- Links: The Future at 16px, weight 400\n- CTA: Dark solid button\n- Hover: no text-decoration\n\n### Image Treatment\n- Abstract pastel gradient illustrations (cloud/feather forms)\n- Product UI screenshots on dark/light surfaces\n- Team photos in editorial style\n- Research paper cards with dark backgrounds\n\n### Distinctive Components\n\n**Stats Bar**\n- Large performance metrics (2x, 60%, 90%)\n- Bold display numbers\n- Short descriptive captions beneath\n- Clean horizontal layout\n\n**Mono Section Labels**\n- PP Neue Montreal Mono, uppercase, 11px, letter-spacing 0.055px\n- Used as navigational signposts throughout the page\n- Technical, structured feel\n\n**Research Section**\n- Dark Blue (#010120) background\n- White text, research paper thumbnails\n- Creates a distinct \"academic\" zone\n\n**Large Footer Logo**\n- \"together\" wordmark rendered at massive scale in the dark footer\n- Creates a brand-statement closing moment\n\n## 5. Layout Principles\n\n### Spacing System\n- Base unit: 8px\n- Scale: 1px, 2px, 4px, 8px, 10px, 12px, 16px, 20px, 24px, 32px, 44px, 48px, 80px, 100px, 120px\n- Button/badge padding: 2px 8px (compact)\n- Card internal padding: approximately 24–32px\n- Section vertical spacing: generous (80–120px)\n\n### Grid & Container\n- Max container width: approximately 1200px, centered\n- Hero: centered with pastel gradient background\n- Feature sections: multi-column card grids\n- Stats: horizontal row of metric cards\n- Research: dark full-width section\n\n### Whitespace Philosophy\n- **Optimistic breathing room**: Generous spacing between sections creates an open, inviting feel that makes enterprise AI infrastructure feel accessible.\n- **Dual atmosphere**: Light sections breathe with whitespace; dark sections are denser with content.\n- **Stats as visual anchors**: Large numbers with small captions create natural focal points.\n\n### Border Radius Scale\n- Sharp (4px): Buttons, badges, tags, small interactive elements — the primary radius\n- Comfortable (8px): Larger containers, feature cards\n\n*This is a deliberately restrained radius system — no pills, no generous rounding. The sharp geometry contrasts with the soft pastel gradients.*\n\n## 6. Depth & Elevation\n\n| Level | Treatment | Use |\n|-------|-----------|-----|\n| Flat (Level 0) | No shadow, no border | Page background, text blocks |\n| Contained (Level 1) | \\`1px solid rgba(0,0,0,0.08)\\` (light) or \\`rgba(255,255,255,0.12)\\` (dark) | Cards, badges, containers |\n| Elevated (Level 2) | \\`rgba(1, 1, 32, 0.1) 0px 4px 10px\\` | Feature cards, hover states |\n| Dark Zone (Level 3) | Dark Blue (#010120) full-width background | Research, footer, technical sections |\n\n**Shadow Philosophy**: Together AI uses a single, distinctive shadow — tinted with Dark Blue (\\`rgba(1, 1, 32, 0.1)\\`) rather than generic black. This gives elevated elements a subtle blue-ish cast that ties them to the brand's midnight-blue dark mode. The shadow is soft (10px blur, 4px offset) and always downward — creating gentle paper-hover elevation.\n\n## 7. Do's and Don'ts\n\n### Do\n- Use pastel gradients (pink/blue/lavender) for hero illustrations and decorative backgrounds\n- Use Dark Blue (#010120) for dark sections — never generic gray-black\n- Apply negative letter-spacing on all \"The Future\" text (scaled by size)\n- Use PP Neue Montreal Mono in uppercase for section labels and technical markers\n- Keep border-radius sharp (4px) for badges and interactive elements\n- Use the dark-blue-tinted shadow for elevation\n- Maintain the light/dark section duality — business (light) vs research (dark)\n- Show enterprise stats prominently with large display numbers\n\n### Don't\n- Don't use Brand Magenta (#ef2cc1) or Brand Orange (#fc4c02) as UI colors — they're for illustrations only\n- Don't use pill-shaped or generously rounded corners — the geometry is sharp\n- Don't use generic gray-black for dark sections — always Dark Blue (#010120)\n- Don't use positive letter-spacing on \"The Future\" — it's always negative\n- Don't use bold (700+) weight — 400–500 is the full range\n- Don't use warm-toned shadows — always dark-blue-tinted\n- Don't reduce section spacing below 48px — the open feeling is core\n- Don't mix in additional typefaces — \"The Future\" + PP Neue Montreal Mono is the pair\n\n## 8. Responsive Behavior\n\n### Breakpoints\n| Name | Width | Key Changes |\n|------|-------|-------------|\n| Mobile | <479px | Compact layout, stacked everything |\n| Large Mobile | 479–767px | Single column, hamburger nav |\n| Tablet | 768–991px | 2-column grids begin |\n| Desktop | 992px+ | Full multi-column layout |\n\n### Touch Targets\n- Buttons with adequate padding\n- Card surfaces as touch targets\n- Navigation links at comfortable 16px\n\n### Collapsing Strategy\n- **Navigation**: Collapses to hamburger on mobile\n- **Hero text**: 64px → 40px → 28px progressive scaling\n- **Stats bar**: Horizontal → stacked vertical\n- **Feature grids**: Multi-column → single column\n- **Research section**: Cards stack vertically\n\n### Image Behavior\n- Pastel illustrations scale proportionally\n- Product screenshots maintain aspect ratio\n- Team photos scale within containers\n\n## 9. Agent Prompt Guide\n\n### Quick Color Reference\n- Primary Text (light): \"Pure Black (#000000)\"\n- Primary Text (dark): \"Pure White (#ffffff)\"\n- Page Background: \"Pure White (#ffffff)\"\n- Dark Surface: \"Dark Blue (#010120)\"\n- Brand Accent 1: \"Brand Magenta (#ef2cc1)\"\n- Brand Accent 2: \"Brand Orange (#fc4c02)\"\n- Soft Accent: \"Soft Lavender (#bdbbff)\"\n- Border (light): \"rgba(0, 0, 0, 0.08)\"\n\n### Example Component Prompts\n- \"Create a hero section on white with soft pastel gradients (pink → lavender → blue) as background. Headline at 64px 'The Future' weight 500, line-height 1.10, letter-spacing -1.92px. Pure Black text. Include a dark blue CTA button (#010120, 4px radius).\"\n- \"Design a stats card: large display number (64px, weight 500) with a small caption below (14px). White background, 8px radius, dark-blue-tinted shadow (rgba(1, 1, 32, 0.1) 0px 4px 10px).\"\n- \"Build a section label: PP Neue Montreal Mono, 11px, weight 500, uppercase, letter-spacing 0.055px. Black text on light, white on dark.\"\n- \"Create a dark research section: Dark Blue (#010120) background. White text, section heading at 40px 'The Future' weight 500, letter-spacing -0.8px. Cards with rgba(255, 255, 255, 0.12) border.\"\n- \"Design a badge: 4px radius, rgba(0, 0, 0, 0.04) background, 1px solid rgba(0, 0, 0, 0.08) border, 'The Future' 16px text. Padding: 2px 8px.\"\n\n### Iteration Guide\n1. Always specify negative letter-spacing for \"The Future\" — it's scaled by size\n2. Dark sections use #010120 (midnight blue), never generic black\n3. Shadows are always dark-blue-tinted: rgba(1, 1, 32, 0.1)\n4. Mono labels are always uppercase with positive letter-spacing\n5. Keep radius sharp (4px or 8px) — no pills, no generous rounding\n6. Pastel gradients are for decoration, not UI chrome\n`;\n"],"mappings":";AACO,IAAM,gBAAgB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;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":[]}
|
|
1
|
+
{"version":3,"sources":["../../../src/presets/_briefs/together.ts"],"sourcesContent":["// Originally generated from voltagent/awesome-design-md (MIT) and hand-curated since.\nexport const togetherBrief = `# Design System Inspired by Together AI\n\n## 1. Visual Theme & Atmosphere\n\nTogether AI's interface is a pastel-gradient dreamscape built for enterprise AI infrastructure — a design that somehow makes GPU clusters and model inference feel light, airy, and optimistic. The hero section blooms with soft pink-blue-lavender gradients and abstract, painterly illustrations that evoke clouds and flight, establishing a visual metaphor for the \"AI-Native Cloud\" proposition. Against this softness, the typography cuts through with precision: \"The Future\" display font at 64px with aggressive negative tracking (-1.92px) creates dense, authoritative headline blocks.\n\nThe design straddles two worlds: a bright, white-canvas light side where pastel gradients and stats cards create an approachable platform overview, and a dark navy universe (\\`#010120\\` — not gray-black but a deep midnight blue) where research papers and technical content live. This dual-world approach elegantly separates the \"business\" messaging (light, friendly, stat-driven) from the \"research\" messaging (dark, serious, academic).\n\nWhat makes Together AI distinctive is its type system. \"The Future\" handles all display and body text with a geometric modernist aesthetic, while \"PP Neue Montreal Mono\" provides uppercase labels with meticulous letter-spacing — creating a \"technical infrastructure company with taste\" personality. The brand accents — magenta (\\`#ef2cc1\\`) and orange (\\`#fc4c02\\`) — appear sparingly in the gradient and illustrations, never polluting the clean UI.\n\n**Key Characteristics:**\n- Soft pastel gradients (pink, blue, lavender) against pure white canvas\n- Deep midnight blue (\\`#010120\\`) for dark/research sections — not gray-black\n- Custom \"The Future\" font with aggressive negative letter-spacing throughout\n- PP Neue Montreal Mono for uppercase technical labels\n- Sharp geometry (4px, 8px radius) — not rounded, not pill\n- Magenta (#ef2cc1) + orange (#fc4c02) brand accents in illustrations only\n- Lavender (#bdbbff) as a soft secondary accent\n- Enterprise stats prominently displayed (2x, 60%, 90%)\n- Dark-blue-tinted shadows (rgba(1, 1, 32, 0.1))\n\n## 2. Color Palette & Roles\n\n### Primary\n- **Brand Magenta** (\\`#ef2cc1\\`): The primary brand accent — a vivid pink-magenta used in gradient illustrations and the highest-signal brand moments. Never used as UI chrome.\n- **Brand Orange** (\\`#fc4c02\\`): The secondary brand accent — a vivid orange for gradient endpoints and warm accent moments.\n- **Dark Blue** (\\`#010120\\`): The primary dark surface — a deep midnight blue-black used for research sections, footer, and dark containers. Not gray, not black — distinctly blue.\n\n### Secondary & Accent\n- **Soft Lavender** (\\`#bdbbff\\`): A gentle blue-violet used for subtle accents, secondary indicators, and soft UI highlights.\n- **Black 40** (\\`#00000066\\`): Semi-transparent black for de-emphasized overlays and secondary text.\n\n### Surface & Background\n- **Pure White** (\\`#ffffff\\`): The primary light-section page background.\n- **Dark Blue** (\\`#010120\\`): Dark-section backgrounds — research, footer, technical content.\n- **Glass Light** (\\`rgba(255, 255, 255, 0.12)\\`): Frosted glass button backgrounds on dark sections.\n- **Glass Dark** (\\`rgba(0, 0, 0, 0.08)\\`): Subtle tinted surfaces on light sections.\n\n### Neutrals & Text\n- **Pure Black** (\\`#000000\\`): Primary text on light surfaces.\n- **Pure White** (\\`#ffffff\\`): Primary text on dark surfaces.\n- **Black 8%** (\\`rgba(0, 0, 0, 0.08)\\`): Borders and subtle containment on light surfaces.\n- **White 12%** (\\`rgba(255, 255, 255, 0.12)\\`): Borders and containment on dark surfaces.\n\n### Gradient System\n- **Pastel Cloud Gradient**: Soft pink → lavender → soft blue gradients in hero illustrations. These appear in abstract, painterly forms — clouds, feathers, flowing shapes — that create visual warmth without literal meaning.\n- **Hero Gradient**: The hero background uses soft pastel tints layered over white, creating a dawn-like atmospheric effect.\n\n## 3. Typography Rules\n\n### Font Family\n- **Primary**: \\`The Future\\`, with fallback: \\`Arial\\`\n- **Monospace / Labels**: \\`PP Neue Montreal Mono\\`, with fallback: \\`Georgia\\`\n\n### Hierarchy\n\n| Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |\n|------|------|------|--------|-------------|----------------|-------|\n| Display / Hero | The Future | 64px (4rem) | 400–500 | 1.00–1.10 (tight) | -1.92px | Maximum impact, dense blocks |\n| Section Heading | The Future | 40px (2.5rem) | 500 | 1.20 (tight) | -0.8px | Feature section titles |\n| Sub-heading | The Future | 28px (1.75rem) | 500 | 1.15 (tight) | -0.42px | Card headings |\n| Feature Title | The Future | 22px (1.38rem) | 500 | 1.15 (tight) | -0.22px | Small feature headings |\n| Body Large | The Future | 18px (1.13rem) | 400–500 | 1.30 (tight) | -0.18px | Descriptions, sections |\n| Body / Button | The Future | 16px (1rem) | 400–500 | 1.25–1.30 | -0.16px | Standard body, nav, buttons |\n| Caption | The Future | 14px (0.88rem) | 400–500 | 1.40 | normal | Metadata, descriptions |\n| Mono Label | PP Neue Montreal Mono | 16px (1rem) | 500 | 1.00 (tight) | 0.08px | Uppercase section labels |\n| Mono Small | PP Neue Montreal Mono | 11px (0.69rem) | 500 | 1.00–1.40 | 0.055–0.08px | Small uppercase tags |\n| Mono Micro | PP Neue Montreal Mono | 10px (0.63rem) | 400 | 1.40 | 0.05px | Smallest uppercase labels |\n\n### Principles\n- **Negative tracking everywhere**: Every size of \"The Future\" uses negative letter-spacing (-0.16px to -1.92px), creating consistently tight, modern text.\n- **Mono for structure**: PP Neue Montreal Mono in uppercase with positive letter-spacing creates technical \"label\" moments that structure the page without competing with display text.\n- **Weight 500 as emphasis**: The system uses 400 (regular) and 500 (medium) — no bold. Medium weight marks headings and emphasis.\n- **Tight line-heights throughout**: Even body text uses 1.25–1.30 line-height — tighter than typical, creating a dense, information-rich feel.\n\n## 4. Component Stylings\n\n### Buttons\n\n**Glass on Dark**\n- Background: \\`rgba(255, 255, 255, 0.12)\\` (frosted glass)\n- Text: Pure White (\\`#ffffff\\`)\n- Radius: sharp (4px)\n- Opacity: 0.5\n- Hover: transparent dark overlay\n- Used on dark sections — subtle, glass-like\n\n**Dark Solid**\n- Background: Dark Blue (\\`#010120\\`) or Pure Black\n- Text: Pure White\n- Radius: sharp (4px)\n- The primary CTA on light surfaces\n\n**Outlined Light**\n- Border: \\`1px solid rgba(0, 0, 0, 0.08)\\`\n- Background: transparent or subtle glass\n- Text: Pure Black\n- Radius: sharp (4px)\n- Secondary actions on light surfaces\n\n### Cards & Containers\n- Background: Pure White or subtle glass tint\n- Border: \\`1px solid rgba(0, 0, 0, 0.08)\\` on light; \\`1px solid rgba(255, 255, 255, 0.12)\\` on dark\n- Radius: sharp (4px) for badges and small elements; comfortable (8px) for larger containers\n- Shadow: dark-blue-tinted (\\`rgba(1, 1, 32, 0.1) 0px 4px 10px\\`) — warm and subtle\n- Stats cards with large numbers prominently displayed\n\n### Badges / Tags\n- Background: \\`rgba(0, 0, 0, 0.04)\\` (light) or \\`rgba(255, 255, 255, 0.12)\\` (dark)\n- Text: Black (light) or White (dark)\n- Padding: 2px 8px (compact)\n- Radius: sharp (4px)\n- Border: \\`1px solid rgba(0, 0, 0, 0.08)\\`\n- PP Neue Montreal Mono, uppercase, 16px\n\n### Navigation\n- Clean horizontal nav on white/transparent\n- Logo: Together AI wordmark\n- Links: The Future at 16px, weight 400\n- CTA: Dark solid button\n- Hover: no text-decoration\n\n### Image Treatment\n- Abstract pastel gradient illustrations (cloud/feather forms)\n- Product UI screenshots on dark/light surfaces\n- Team photos in editorial style\n- Research paper cards with dark backgrounds\n\n### Distinctive Components\n\n**Stats Bar**\n- Large performance metrics (2x, 60%, 90%)\n- Bold display numbers\n- Short descriptive captions beneath\n- Clean horizontal layout\n\n**Mono Section Labels**\n- PP Neue Montreal Mono, uppercase, 11px, letter-spacing 0.055px\n- Used as navigational signposts throughout the page\n- Technical, structured feel\n\n**Research Section**\n- Dark Blue (#010120) background\n- White text, research paper thumbnails\n- Creates a distinct \"academic\" zone\n\n**Large Footer Logo**\n- \"together\" wordmark rendered at massive scale in the dark footer\n- Creates a brand-statement closing moment\n\n## 5. Layout Principles\n\n### Spacing System\n- Base unit: 8px\n- Scale: 1px, 2px, 4px, 8px, 10px, 12px, 16px, 20px, 24px, 32px, 44px, 48px, 80px, 100px, 120px\n- Button/badge padding: 2px 8px (compact)\n- Card internal padding: approximately 24–32px\n- Section vertical spacing: generous (80–120px)\n\n### Grid & Container\n- Max container width: approximately 1200px, centered\n- Hero: centered with pastel gradient background\n- Feature sections: multi-column card grids\n- Stats: horizontal row of metric cards\n- Research: dark full-width section\n\n### Whitespace Philosophy\n- **Optimistic breathing room**: Generous spacing between sections creates an open, inviting feel that makes enterprise AI infrastructure feel accessible.\n- **Dual atmosphere**: Light sections breathe with whitespace; dark sections are denser with content.\n- **Stats as visual anchors**: Large numbers with small captions create natural focal points.\n\n### Border Radius Scale\n- Sharp (4px): Buttons, badges, tags, small interactive elements — the primary radius\n- Comfortable (8px): Larger containers, feature cards\n\n*This is a deliberately restrained radius system — no pills, no generous rounding. The sharp geometry contrasts with the soft pastel gradients.*\n\n## 6. Depth & Elevation\n\n| Level | Treatment | Use |\n|-------|-----------|-----|\n| Flat (Level 0) | No shadow, no border | Page background, text blocks |\n| Contained (Level 1) | \\`1px solid rgba(0,0,0,0.08)\\` (light) or \\`rgba(255,255,255,0.12)\\` (dark) | Cards, badges, containers |\n| Elevated (Level 2) | \\`rgba(1, 1, 32, 0.1) 0px 4px 10px\\` | Feature cards, hover states |\n| Dark Zone (Level 3) | Dark Blue (#010120) full-width background | Research, footer, technical sections |\n\n**Shadow Philosophy**: Together AI uses a single, distinctive shadow — tinted with Dark Blue (\\`rgba(1, 1, 32, 0.1)\\`) rather than generic black. This gives elevated elements a subtle blue-ish cast that ties them to the brand's midnight-blue dark mode. The shadow is soft (10px blur, 4px offset) and always downward — creating gentle paper-hover elevation.\n\n## 7. Do's and Don'ts\n\n### Do\n- Use pastel gradients (pink/blue/lavender) for hero illustrations and decorative backgrounds\n- Use Dark Blue (#010120) for dark sections — never generic gray-black\n- Apply negative letter-spacing on all \"The Future\" text (scaled by size)\n- Use PP Neue Montreal Mono in uppercase for section labels and technical markers\n- Keep border-radius sharp (4px) for badges and interactive elements\n- Use the dark-blue-tinted shadow for elevation\n- Maintain the light/dark section duality — business (light) vs research (dark)\n- Show enterprise stats prominently with large display numbers\n\n### Don't\n- Don't use Brand Magenta (#ef2cc1) or Brand Orange (#fc4c02) as UI colors — they're for illustrations only\n- Don't use pill-shaped or generously rounded corners — the geometry is sharp\n- Don't use generic gray-black for dark sections — always Dark Blue (#010120)\n- Don't use positive letter-spacing on \"The Future\" — it's always negative\n- Don't use bold (700+) weight — 400–500 is the full range\n- Don't use warm-toned shadows — always dark-blue-tinted\n- Don't reduce section spacing below 48px — the open feeling is core\n- Don't mix in additional typefaces — \"The Future\" + PP Neue Montreal Mono is the pair\n\n## 8. Responsive Behavior\n\n### Breakpoints\n| Name | Width | Key Changes |\n|------|-------|-------------|\n| Mobile | <479px | Compact layout, stacked everything |\n| Large Mobile | 479–767px | Single column, hamburger nav |\n| Tablet | 768–991px | 2-column grids begin |\n| Desktop | 992px+ | Full multi-column layout |\n\n### Touch Targets\n- Buttons with adequate padding\n- Card surfaces as touch targets\n- Navigation links at comfortable 16px\n\n### Collapsing Strategy\n- **Navigation**: Collapses to hamburger on mobile\n- **Hero text**: 64px → 40px → 28px progressive scaling\n- **Stats bar**: Horizontal → stacked vertical\n- **Feature grids**: Multi-column → single column\n- **Research section**: Cards stack vertically\n\n### Image Behavior\n- Pastel illustrations scale proportionally\n- Product screenshots maintain aspect ratio\n- Team photos scale within containers\n\n## 9. Agent Prompt Guide\n\n### Quick Color Reference\n- Primary Text (light): \"Pure Black (#000000)\"\n- Primary Text (dark): \"Pure White (#ffffff)\"\n- Page Background: \"Pure White (#ffffff)\"\n- Dark Surface: \"Dark Blue (#010120)\"\n- Brand Accent 1: \"Brand Magenta (#ef2cc1)\"\n- Brand Accent 2: \"Brand Orange (#fc4c02)\"\n- Soft Accent: \"Soft Lavender (#bdbbff)\"\n- Border (light): \"rgba(0, 0, 0, 0.08)\"\n\n### Example Component Prompts\n- \"Create a hero section on white with soft pastel gradients (pink → lavender → blue) as background. Headline at 64px 'The Future' weight 500, line-height 1.10, letter-spacing -1.92px. Pure Black text. Include a dark blue CTA button (#010120, 4px radius).\"\n- \"Design a stats card: large display number (64px, weight 500) with a small caption below (14px). White background, 8px radius, dark-blue-tinted shadow (rgba(1, 1, 32, 0.1) 0px 4px 10px).\"\n- \"Build a section label: PP Neue Montreal Mono, 11px, weight 500, uppercase, letter-spacing 0.055px. Black text on light, white on dark.\"\n- \"Create a dark research section: Dark Blue (#010120) background. White text, section heading at 40px 'The Future' weight 500, letter-spacing -0.8px. Cards with rgba(255, 255, 255, 0.12) border.\"\n- \"Design a badge: 4px radius, rgba(0, 0, 0, 0.04) background, 1px solid rgba(0, 0, 0, 0.08) border, 'The Future' 16px text. Padding: 2px 8px.\"\n\n### Iteration Guide\n1. Always specify negative letter-spacing for \"The Future\" — it's scaled by size\n2. Dark sections use #010120 (midnight blue), never generic black\n3. Shadows are always dark-blue-tinted: rgba(1, 1, 32, 0.1)\n4. Mono labels are always uppercase with positive letter-spacing\n5. Keep radius sharp (4px or 8px) — no pills, no generous rounding\n6. Pastel gradients are for decoration, not UI chrome\n`;\n"],"mappings":";AACO,IAAM,gBAAgB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;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":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/presets/_briefs/uber.ts"],"sourcesContent":["// AUTO-GENERATED — do not hand-edit. Source: https://github.com/voltagent/awesome-design-md\nexport const uberBrief = `# Design System Inspired by Uber\n\n## 1. Visual Theme & Atmosphere\n\nUber's design language is a masterclass in confident minimalism -- a black-and-white universe where every pixel serves a purpose and nothing decorates without earning its place. The entire experience is built on a stark duality: jet black (\\`#000000\\`) and pure white (\\`#ffffff\\`), with virtually no mid-tone grays diluting the message. This isn't the sterile minimalism of a startup that hasn't finished designing -- it's the deliberate restraint of a brand so established it can afford to whisper.\n\nThe signature typeface, UberMove, is a proprietary geometric sans-serif with a distinctly square, engineered quality. Headlines in UberMove Bold at 52px carry the weight of a billboard -- authoritative, direct, unapologetic. The companion face UberMoveText handles body copy and buttons with a slightly softer, more readable character at medium weight (500). Together, they create a typographic system that feels like a transit map: clear, efficient, built for scanning at speed.\n\nWhat makes Uber's design truly distinctive is its use of full-bleed photography and illustration paired with pill-shaped interactive elements (999px border-radius). Navigation chips, CTA buttons, and category selectors all share this capsule shape, creating a tactile, thumb-friendly interface language that's unmistakably Uber. The illustrations -- warm, slightly stylized scenes of drivers, riders, and cityscapes -- inject humanity into what could otherwise be a cold, monochrome system. The site alternates between white content sections and a full-black footer, with card-based layouts using the gentlest possible shadows (rgba(0,0,0,0.12-0.16)) to create subtle lift without breaking the flat aesthetic.\n\n**Key Characteristics:**\n- Pure black-and-white foundation with virtually no mid-tone grays in the UI chrome\n- UberMove (headlines) + UberMoveText (body/UI) -- proprietary geometric sans-serif family\n- Pill-shaped everything: buttons, chips, nav items all use 999px border-radius\n- Warm, human illustrations contrasting the stark monochrome interface\n- Card-based layout with whisper-soft shadows (0.12-0.16 opacity)\n- 8px spacing grid with compact, information-dense layouts\n- Bold photography integrated as full-bleed hero backgrounds\n- Black footer anchoring the page with a dark, high-contrast environment\n\n## 2. Color Palette & Roles\n\n### Primary\n- **Uber Black** (\\`#000000\\`): The defining brand color -- used for primary buttons, headlines, navigation text, and the footer. Not \"near-black\" or \"off-black,\" but true, uncompromising black.\n- **Pure White** (\\`#ffffff\\`): The primary surface color and inverse text. Used for page backgrounds, card surfaces, and text on black elements.\n\n### Interactive & Button States\n- **Hover Gray** (\\`#e2e2e2\\`): White button hover state -- a clean, cool light gray that provides clear feedback without warmth.\n- **Hover Light** (\\`#f3f3f3\\`): Subtle hover for elevated white buttons -- barely-there gray for gentle interaction feedback.\n- **Chip Gray** (\\`#efefef\\`): Background for secondary/filter buttons and navigation chips -- a neutral, ultra-light gray.\n\n### Text & Content\n- **Body Gray** (\\`#4b4b4b\\`): Secondary text and footer links -- a true mid-gray with no warm or cool bias.\n- **Muted Gray** (\\`#afafaf\\`): Tertiary text, de-emphasized footer links, and placeholder content.\n\n### Borders & Separation\n- **Border Black** (\\`#000000\\`): Thin 1px borders for structural containment -- used sparingly on dividers and form containers.\n\n### Shadows & Depth\n- **Shadow Light** (\\`rgba(0, 0, 0, 0.12)\\`): Standard card elevation -- a featherweight lift for content cards.\n- **Shadow Medium** (\\`rgba(0, 0, 0, 0.16)\\`): Slightly stronger elevation for floating action buttons and overlays.\n- **Button Press** (\\`rgba(0, 0, 0, 0.08)\\`): Inset shadow for active/pressed states on secondary buttons.\n\n### Link States\n- **Default Link Blue** (\\`#0000ee\\`): Standard browser blue for text links with underline -- used in body content.\n- **Link White** (\\`#ffffff\\`): Links on dark surfaces -- used in footer and dark sections.\n- **Link Black** (\\`#000000\\`): Links on light surfaces with underline decoration.\n\n### Gradient System\n- Uber's design is **entirely gradient-free**. The black/white duality and flat color blocks create all visual hierarchy. No gradients appear anywhere in the system -- every surface is a solid color, every transition is a hard edge or a shadow.\n\n## 3. Typography Rules\n\n### Font Family\n- **Headline / Display**: \\`UberMove\\`, with fallbacks: \\`UberMoveText, system-ui, Helvetica Neue, Helvetica, Arial, sans-serif\\`\n- **Body / UI**: \\`UberMoveText\\`, with fallbacks: \\`system-ui, Helvetica Neue, Helvetica, Arial, sans-serif\\`\n\n*Note: UberMove and UberMoveText are proprietary typefaces. For external implementations, use \\`system-ui\\` or Inter as the closest available substitute. The geometric, square-proportioned character of UberMove can be approximated with Inter or DM Sans.*\n\n### Hierarchy\n\n| Role | Font | Size | Weight | Line Height | Notes |\n|------|------|------|--------|-------------|-------|\n| Display / Hero | UberMove | 52px (3.25rem) | 700 | 1.23 (tight) | Maximum impact, billboard presence |\n| Section Heading | UberMove | 36px (2.25rem) | 700 | 1.22 (tight) | Major section anchors |\n| Card Title | UberMove | 32px (2rem) | 700 | 1.25 (tight) | Card and feature headings |\n| Sub-heading | UberMove | 24px (1.5rem) | 700 | 1.33 | Secondary section headers |\n| Small Heading | UberMove | 20px (1.25rem) | 700 | 1.40 | Compact headings, list titles |\n| Nav / UI Large | UberMoveText | 18px (1.13rem) | 500 | 1.33 | Navigation links, prominent UI text |\n| Body / Button | UberMoveText | 16px (1rem) | 400-500 | 1.25-1.50 | Standard body text, button labels |\n| Caption | UberMoveText | 14px (0.88rem) | 400-500 | 1.14-1.43 | Metadata, descriptions, small links |\n| Micro | UberMoveText | 12px (0.75rem) | 400 | 1.67 (relaxed) | Fine print, legal text |\n\n### Principles\n- **Bold headlines, medium body**: UberMove headings are exclusively weight 700 (bold) -- every headline hits with billboard force. UberMoveText body and UI text uses 400-500, creating a clear visual hierarchy through weight contrast.\n- **Tight heading line-heights**: All headlines use line-heights between 1.22-1.40 -- compact and punchy, designed for scanning rather than reading.\n- **Functional typography**: There is no decorative type treatment anywhere. No letter-spacing, no text-transform, no ornamental sizing. Every text element serves a direct communication purpose.\n- **Two fonts, strict roles**: UberMove is exclusively for headings. UberMoveText is exclusively for body, buttons, links, and UI. The boundary is never crossed.\n\n## 4. Component Stylings\n\n### Buttons\n\n**Primary Black (CTA)**\n- Background: Uber Black (\\`#000000\\`)\n- Text: Pure White (\\`#ffffff\\`)\n- Padding: 10px 12px\n- Radius: 999px (full pill)\n- Outline: none\n- Focus: inset ring \\`rgb(255,255,255) 0px 0px 0px 2px\\`\n- The primary action button -- bold, high-contrast, unmissable\n\n**Secondary White**\n- Background: Pure White (\\`#ffffff\\`)\n- Text: Uber Black (\\`#000000\\`)\n- Padding: 10px 12px\n- Radius: 999px (full pill)\n- Hover: background shifts to Hover Gray (\\`#e2e2e2\\`)\n- Focus: background shifts to Hover Gray, inset ring appears\n- Used on dark surfaces or as a secondary action alongside Primary Black\n\n**Chip / Filter**\n- Background: Chip Gray (\\`#efefef\\`)\n- Text: Uber Black (\\`#000000\\`)\n- Padding: 14px 16px\n- Radius: 999px (full pill)\n- Active: inset shadow \\`rgba(0,0,0,0.08)\\`\n- Navigation chips, category selectors, filter toggles\n\n**Floating Action**\n- Background: Pure White (\\`#ffffff\\`)\n- Text: Uber Black (\\`#000000\\`)\n- Padding: 14px\n- Radius: 999px (full pill)\n- Shadow: \\`rgba(0,0,0,0.16) 0px 2px 8px 0px\\`\n- Transform: \\`translateY(2px)\\` slight offset\n- Hover: background shifts to \\`#f3f3f3\\`\n- Map controls, scroll-to-top, floating CTAs\n\n### Cards & Containers\n- Background: Pure White (\\`#ffffff\\`) on white pages; no distinct card background differentiation\n- Border: none by default -- cards are defined by shadow, not stroke\n- Radius: 8px for standard content cards; 12px for featured/promoted cards\n- Shadow: \\`rgba(0,0,0,0.12) 0px 4px 16px 0px\\` for standard lift\n- Cards are content-dense with minimal internal padding\n- Image-led cards use full-bleed imagery with text overlay or below\n\n### Inputs & Forms\n- Text: Uber Black (\\`#000000\\`)\n- Background: Pure White (\\`#ffffff\\`)\n- Border: 1px solid Black (\\`#000000\\`) -- the only place visible borders appear prominently\n- Radius: 8px\n- Padding: standard comfortable spacing\n- Focus: no extracted custom focus state -- relies on standard browser focus ring\n\n### Navigation\n- Sticky top navigation with white background\n- Logo: Uber wordmark/icon at 24x24px in black\n- Links: UberMoveText at 14-18px, weight 500, in Uber Black\n- Pill-shaped nav chips with Chip Gray (\\`#efefef\\`) background for category navigation (\"Ride\", \"Drive\", \"Business\", \"Uber Eats\")\n- Menu toggle: circular button with 50% border-radius\n- Mobile: hamburger menu pattern\n\n### Image Treatment\n- Warm, hand-illustrated scenes (not photographs for feature sections)\n- Illustration style: slightly stylized people, warm color palette within illustrations, contemporary vibe\n- Hero sections use bold photography or illustration as full-width backgrounds\n- QR codes for app download CTAs\n- All imagery uses standard 8px or 12px border-radius when contained in cards\n\n### Distinctive Components\n\n**Category Pill Navigation**\n- Horizontal row of pill-shaped buttons for top-level navigation (\"Ride\", \"Drive\", \"Business\", \"Uber Eats\", \"About\")\n- Each pill: Chip Gray background, black text, 999px radius\n- Active state indicated by black background with white text (inversion)\n\n**Hero with Dual Action**\n- Split hero: text/CTA on left, map/illustration on right\n- Two input fields side by side for pickup/destination\n- \"See prices\" CTA button in black pill\n\n**Plan-Ahead Cards**\n- Cards promoting features like \"Uber Reserve\" and trip planning\n- Illustration-heavy with warm, human-centric imagery\n- Black CTA buttons with white text at bottom\n\n## 5. Layout Principles\n\n### Spacing System\n- Base unit: 8px\n- Scale: 4px, 6px, 8px, 10px, 12px, 14px, 16px, 18px, 20px, 24px, 32px\n- Button padding: 10px 12px (compact) or 14px 16px (comfortable)\n- Card internal padding: approximately 24-32px\n- Section vertical spacing: generous but efficient -- approximately 64-96px between major sections\n\n### Grid & Container\n- Max container width: approximately 1136px, centered\n- Hero: split layout with text left, visual right\n- Feature sections: 2-column card grids or full-width single-column\n- Footer: multi-column link grid on black background\n- Full-width sections extending to viewport edges\n\n### Whitespace Philosophy\n- **Efficient, not airy**: Uber's whitespace is functional -- enough to separate, never enough to feel empty. This is transit-system spacing: compact, clear, purpose-driven.\n- **Content-dense cards**: Cards pack information tightly with minimal internal spacing, relying on shadow and radius to define boundaries.\n- **Section breathing room**: Major sections get generous vertical spacing, but within sections, elements are closely grouped.\n\n### Border Radius Scale\n- Sharp (0px): No square corners used in interactive elements\n- Standard (8px): Content cards, input fields, listboxes\n- Comfortable (12px): Featured cards, larger containers, link cards\n- Full Pill (999px): All buttons, chips, navigation items, pills\n- Circle (50%): Avatar images, icon containers, circular controls\n\n## 6. Depth & Elevation\n\n| Level | Treatment | Use |\n|-------|-----------|-----|\n| Flat (Level 0) | No shadow, solid background | Page background, inline content, text sections |\n| Subtle (Level 1) | \\`rgba(0,0,0,0.12) 0px 4px 16px\\` | Standard content cards, feature blocks |\n| Medium (Level 2) | \\`rgba(0,0,0,0.16) 0px 4px 16px\\` | Elevated cards, overlay elements |\n| Floating (Level 3) | \\`rgba(0,0,0,0.16) 0px 2px 8px\\` + translateY(2px) | Floating action buttons, map controls |\n| Pressed (Level 4) | \\`rgba(0,0,0,0.08) inset\\` (999px spread) | Active/pressed button states |\n| Focus Ring | \\`rgb(255,255,255) 0px 0px 0px 2px inset\\` | Keyboard focus indicators |\n\n**Shadow Philosophy**: Uber uses shadow purely as a structural tool, never decoratively. Shadows are always black at very low opacity (0.08-0.16), creating the bare minimum lift needed to separate content layers. The blur radii are moderate (8-16px) -- enough to feel natural but never dramatic. There are no colored shadows, no layered shadow stacks, and no ambient glow effects. Depth is communicated more through the black/white section contrast than through shadow elevation.\n\n## 7. Do's and Don'ts\n\n### Do\n- Use true black (\\`#000000\\`) and pure white (\\`#ffffff\\`) as the primary palette -- the stark contrast IS Uber\n- Use 999px border-radius for all buttons, chips, and pill-shaped navigation elements\n- Keep all headings in UberMove Bold (700) for billboard-level impact\n- Use whisper-soft shadows (0.12-0.16 opacity) for card elevation -- barely visible\n- Maintain the compact, information-dense layout style -- Uber prioritizes efficiency over airiness\n- Use warm, human-centric illustrations to soften the monochrome interface\n- Apply 8px radius for content cards and 12px for featured containers\n- Use UberMoveText at weight 500 for navigation and prominent UI text\n- Pair black primary buttons with white secondary buttons for dual-action layouts\n\n### Don't\n- Don't introduce color into the UI chrome -- Uber's interface is strictly black, white, and gray\n- Don't use rounded corners less than 999px on buttons -- the full-pill shape is a core identity element\n- Don't apply heavy shadows or drop shadows with high opacity -- depth is whisper-subtle\n- Don't use serif fonts anywhere -- Uber's typography is exclusively geometric sans-serif\n- Don't create airy, spacious layouts with excessive whitespace -- Uber's density is intentional\n- Don't use gradients or color overlays -- every surface is a flat, solid color\n- Don't mix UberMove into body text or UberMoveText into headlines -- the hierarchy is strict\n- Don't use decorative borders -- borders are functional (inputs, dividers) or absent entirely\n- Don't soften the black/white contrast with off-whites or near-blacks -- the duality is deliberate\n\n## 8. Responsive Behavior\n\n### Breakpoints\n| Name | Width | Key Changes |\n|------|-------|-------------|\n| Mobile Small | 320px | Minimum layout, single column, stacked inputs, compact typography |\n| Mobile | 600px | Standard mobile, stacked layout, hamburger nav |\n| Tablet Small | 768px | Two-column grids begin, expanded card layouts |\n| Tablet | 1119px | Full tablet layout, side-by-side hero content |\n| Desktop Small | 1120px | Desktop grid activates, horizontal nav pills |\n| Desktop | 1136px | Full desktop layout, maximum container width, split hero |\n\n### Touch Targets\n- All pill buttons: minimum 44px height (10-14px vertical padding + line-height)\n- Navigation chips: generous 14px 16px padding for comfortable thumb tapping\n- Circular controls (menu, close): 50% radius ensures large, easy-to-hit targets\n- Card surfaces serve as full-area touch targets on mobile\n\n### Collapsing Strategy\n- **Navigation**: Horizontal pill nav collapses to hamburger menu with circular toggle\n- **Hero**: Split layout (text + map/visual) stacks to single column -- text above, visual below\n- **Input fields**: Side-by-side pickup/destination inputs stack vertically\n- **Feature cards**: 2-column grid collapses to full-width stacked cards\n- **Headings**: 52px display scales down through 36px, 32px, 24px, 20px\n- **Footer**: Multi-column link grid collapses to accordion or stacked single column\n- **Category pills**: Horizontal scroll with overflow on smaller screens\n\n### Image Behavior\n- Illustrations scale proportionally within their containers\n- Hero imagery maintains aspect ratio, may crop on smaller screens\n- QR code sections hide on mobile (app download shifts to direct store links)\n- Card imagery maintains 8-12px border radius at all sizes\n\n## 9. Agent Prompt Guide\n\n### Quick Color Reference\n- Primary Button: \"Uber Black (#000000)\"\n- Page Background: \"Pure White (#ffffff)\"\n- Button Text (on black): \"Pure White (#ffffff)\"\n- Button Text (on white): \"Uber Black (#000000)\"\n- Secondary Text: \"Body Gray (#4b4b4b)\"\n- Tertiary Text: \"Muted Gray (#afafaf)\"\n- Chip Background: \"Chip Gray (#efefef)\"\n- Hover State: \"Hover Gray (#e2e2e2)\"\n- Card Shadow: \"rgba(0,0,0,0.12) 0px 4px 16px\"\n- Footer Background: \"Uber Black (#000000)\"\n\n### Example Component Prompts\n- \"Create a hero section on Pure White (#ffffff) with a headline at 52px UberMove Bold (700), line-height 1.23. Use Uber Black (#000000) text. Add a subtitle in Body Gray (#4b4b4b) at 16px UberMoveText weight 400 with 1.50 line-height. Place an Uber Black (#000000) pill CTA button with Pure White text, 999px radius, padding 10px 12px.\"\n- \"Design a category navigation bar with horizontal pill buttons. Each pill: Chip Gray (#efefef) background, Uber Black (#000000) text, 14px 16px padding, 999px border-radius. Active pill inverts to Uber Black background with Pure White text. Use UberMoveText at 14px weight 500.\"\n- \"Build a feature card on Pure White (#ffffff) with 8px border-radius and shadow rgba(0,0,0,0.12) 0px 4px 16px. Title in UberMove at 24px weight 700, description in Body Gray (#4b4b4b) at 16px UberMoveText. Add a black pill CTA button at the bottom.\"\n- \"Create a dark footer on Uber Black (#000000) with Pure White (#ffffff) heading text in UberMove at 20px weight 700. Footer links in Muted Gray (#afafaf) at 14px UberMoveText. Links hover to Pure White. Multi-column grid layout.\"\n- \"Design a floating action button with Pure White (#ffffff) background, 999px radius, 14px padding, and shadow rgba(0,0,0,0.16) 0px 2px 8px. Hover shifts background to #f3f3f3. Use for scroll-to-top or map controls.\"\n\n### Iteration Guide\n1. Focus on ONE component at a time\n2. Reference the strict black/white palette -- \"use Uber Black (#000000)\" not \"make it dark\"\n3. Always specify 999px radius for buttons and pills -- this is non-negotiable for the Uber identity\n4. Describe the font family explicitly -- \"UberMove Bold for the heading, UberMoveText Medium for the label\"\n5. For shadows, use \"whisper shadow (rgba(0,0,0,0.12) 0px 4px 16px)\" -- never heavy drop shadows\n6. Keep layouts compact and information-dense -- Uber is efficient, not airy\n7. Illustrations should be warm and human -- describe \"stylized people in warm tones\" not abstract shapes\n8. Pair black CTAs with white secondaries for balanced dual-action layouts\n`;\n"],"mappings":";AACO,IAAM,YAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;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":[]}
|
|
1
|
+
{"version":3,"sources":["../../../src/presets/_briefs/uber.ts"],"sourcesContent":["// Originally generated from voltagent/awesome-design-md (MIT) and hand-curated since.\nexport const uberBrief = `# Design System Inspired by Uber\n\n## 1. Visual Theme & Atmosphere\n\nUber's design language is a masterclass in confident minimalism -- a black-and-white universe where every pixel serves a purpose and nothing decorates without earning its place. The entire experience is built on a stark duality: jet black (\\`#000000\\`) and pure white (\\`#ffffff\\`), with virtually no mid-tone grays diluting the message. This isn't the sterile minimalism of a startup that hasn't finished designing -- it's the deliberate restraint of a brand so established it can afford to whisper.\n\nThe signature typeface, UberMove, is a proprietary geometric sans-serif with a distinctly square, engineered quality. Headlines in UberMove Bold at 52px carry the weight of a billboard -- authoritative, direct, unapologetic. The companion face UberMoveText handles body copy and buttons with a slightly softer, more readable character at medium weight (500). Together, they create a typographic system that feels like a transit map: clear, efficient, built for scanning at speed.\n\nWhat makes Uber's design truly distinctive is its use of full-bleed photography and illustration paired with pill-shaped interactive elements (999px border-radius). Navigation chips, CTA buttons, and category selectors all share this capsule shape, creating a tactile, thumb-friendly interface language that's unmistakably Uber. The illustrations -- warm, slightly stylized scenes of drivers, riders, and cityscapes -- inject humanity into what could otherwise be a cold, monochrome system. The site alternates between white content sections and a full-black footer, with card-based layouts using the gentlest possible shadows (rgba(0,0,0,0.12-0.16)) to create subtle lift without breaking the flat aesthetic.\n\n**Key Characteristics:**\n- Pure black-and-white foundation with virtually no mid-tone grays in the UI chrome\n- UberMove (headlines) + UberMoveText (body/UI) -- proprietary geometric sans-serif family\n- Pill-shaped everything: buttons, chips, nav items all use 999px border-radius\n- Warm, human illustrations contrasting the stark monochrome interface\n- Card-based layout with whisper-soft shadows (0.12-0.16 opacity)\n- 8px spacing grid with compact, information-dense layouts\n- Bold photography integrated as full-bleed hero backgrounds\n- Black footer anchoring the page with a dark, high-contrast environment\n\n## 2. Color Palette & Roles\n\n### Primary\n- **Uber Black** (\\`#000000\\`): The defining brand color -- used for primary buttons, headlines, navigation text, and the footer. Not \"near-black\" or \"off-black,\" but true, uncompromising black.\n- **Pure White** (\\`#ffffff\\`): The primary surface color and inverse text. Used for page backgrounds, card surfaces, and text on black elements.\n\n### Interactive & Button States\n- **Hover Gray** (\\`#e2e2e2\\`): White button hover state -- a clean, cool light gray that provides clear feedback without warmth.\n- **Hover Light** (\\`#f3f3f3\\`): Subtle hover for elevated white buttons -- barely-there gray for gentle interaction feedback.\n- **Chip Gray** (\\`#efefef\\`): Background for secondary/filter buttons and navigation chips -- a neutral, ultra-light gray.\n\n### Text & Content\n- **Body Gray** (\\`#4b4b4b\\`): Secondary text and footer links -- a true mid-gray with no warm or cool bias.\n- **Muted Gray** (\\`#afafaf\\`): Tertiary text, de-emphasized footer links, and placeholder content.\n\n### Borders & Separation\n- **Border Black** (\\`#000000\\`): Thin 1px borders for structural containment -- used sparingly on dividers and form containers.\n\n### Shadows & Depth\n- **Shadow Light** (\\`rgba(0, 0, 0, 0.12)\\`): Standard card elevation -- a featherweight lift for content cards.\n- **Shadow Medium** (\\`rgba(0, 0, 0, 0.16)\\`): Slightly stronger elevation for floating action buttons and overlays.\n- **Button Press** (\\`rgba(0, 0, 0, 0.08)\\`): Inset shadow for active/pressed states on secondary buttons.\n\n### Link States\n- **Default Link Blue** (\\`#0000ee\\`): Standard browser blue for text links with underline -- used in body content.\n- **Link White** (\\`#ffffff\\`): Links on dark surfaces -- used in footer and dark sections.\n- **Link Black** (\\`#000000\\`): Links on light surfaces with underline decoration.\n\n### Gradient System\n- Uber's design is **entirely gradient-free**. The black/white duality and flat color blocks create all visual hierarchy. No gradients appear anywhere in the system -- every surface is a solid color, every transition is a hard edge or a shadow.\n\n## 3. Typography Rules\n\n### Font Family\n- **Headline / Display**: \\`UberMove\\`, with fallbacks: \\`UberMoveText, system-ui, Helvetica Neue, Helvetica, Arial, sans-serif\\`\n- **Body / UI**: \\`UberMoveText\\`, with fallbacks: \\`system-ui, Helvetica Neue, Helvetica, Arial, sans-serif\\`\n\n*Note: UberMove and UberMoveText are proprietary typefaces. For external implementations, use \\`system-ui\\` or Inter as the closest available substitute. The geometric, square-proportioned character of UberMove can be approximated with Inter or DM Sans.*\n\n### Hierarchy\n\n| Role | Font | Size | Weight | Line Height | Notes |\n|------|------|------|--------|-------------|-------|\n| Display / Hero | UberMove | 52px (3.25rem) | 700 | 1.23 (tight) | Maximum impact, billboard presence |\n| Section Heading | UberMove | 36px (2.25rem) | 700 | 1.22 (tight) | Major section anchors |\n| Card Title | UberMove | 32px (2rem) | 700 | 1.25 (tight) | Card and feature headings |\n| Sub-heading | UberMove | 24px (1.5rem) | 700 | 1.33 | Secondary section headers |\n| Small Heading | UberMove | 20px (1.25rem) | 700 | 1.40 | Compact headings, list titles |\n| Nav / UI Large | UberMoveText | 18px (1.13rem) | 500 | 1.33 | Navigation links, prominent UI text |\n| Body / Button | UberMoveText | 16px (1rem) | 400-500 | 1.25-1.50 | Standard body text, button labels |\n| Caption | UberMoveText | 14px (0.88rem) | 400-500 | 1.14-1.43 | Metadata, descriptions, small links |\n| Micro | UberMoveText | 12px (0.75rem) | 400 | 1.67 (relaxed) | Fine print, legal text |\n\n### Principles\n- **Bold headlines, medium body**: UberMove headings are exclusively weight 700 (bold) -- every headline hits with billboard force. UberMoveText body and UI text uses 400-500, creating a clear visual hierarchy through weight contrast.\n- **Tight heading line-heights**: All headlines use line-heights between 1.22-1.40 -- compact and punchy, designed for scanning rather than reading.\n- **Functional typography**: There is no decorative type treatment anywhere. No letter-spacing, no text-transform, no ornamental sizing. Every text element serves a direct communication purpose.\n- **Two fonts, strict roles**: UberMove is exclusively for headings. UberMoveText is exclusively for body, buttons, links, and UI. The boundary is never crossed.\n\n## 4. Component Stylings\n\n### Buttons\n\n**Primary Black (CTA)**\n- Background: Uber Black (\\`#000000\\`)\n- Text: Pure White (\\`#ffffff\\`)\n- Padding: 10px 12px\n- Radius: 999px (full pill)\n- Outline: none\n- Focus: inset ring \\`rgb(255,255,255) 0px 0px 0px 2px\\`\n- The primary action button -- bold, high-contrast, unmissable\n\n**Secondary White**\n- Background: Pure White (\\`#ffffff\\`)\n- Text: Uber Black (\\`#000000\\`)\n- Padding: 10px 12px\n- Radius: 999px (full pill)\n- Hover: background shifts to Hover Gray (\\`#e2e2e2\\`)\n- Focus: background shifts to Hover Gray, inset ring appears\n- Used on dark surfaces or as a secondary action alongside Primary Black\n\n**Chip / Filter**\n- Background: Chip Gray (\\`#efefef\\`)\n- Text: Uber Black (\\`#000000\\`)\n- Padding: 14px 16px\n- Radius: 999px (full pill)\n- Active: inset shadow \\`rgba(0,0,0,0.08)\\`\n- Navigation chips, category selectors, filter toggles\n\n**Floating Action**\n- Background: Pure White (\\`#ffffff\\`)\n- Text: Uber Black (\\`#000000\\`)\n- Padding: 14px\n- Radius: 999px (full pill)\n- Shadow: \\`rgba(0,0,0,0.16) 0px 2px 8px 0px\\`\n- Transform: \\`translateY(2px)\\` slight offset\n- Hover: background shifts to \\`#f3f3f3\\`\n- Map controls, scroll-to-top, floating CTAs\n\n### Cards & Containers\n- Background: Pure White (\\`#ffffff\\`) on white pages; no distinct card background differentiation\n- Border: none by default -- cards are defined by shadow, not stroke\n- Radius: 8px for standard content cards; 12px for featured/promoted cards\n- Shadow: \\`rgba(0,0,0,0.12) 0px 4px 16px 0px\\` for standard lift\n- Cards are content-dense with minimal internal padding\n- Image-led cards use full-bleed imagery with text overlay or below\n\n### Inputs & Forms\n- Text: Uber Black (\\`#000000\\`)\n- Background: Pure White (\\`#ffffff\\`)\n- Border: 1px solid Black (\\`#000000\\`) -- the only place visible borders appear prominently\n- Radius: 8px\n- Padding: standard comfortable spacing\n- Focus: no extracted custom focus state -- relies on standard browser focus ring\n\n### Navigation\n- Sticky top navigation with white background\n- Logo: Uber wordmark/icon at 24x24px in black\n- Links: UberMoveText at 14-18px, weight 500, in Uber Black\n- Pill-shaped nav chips with Chip Gray (\\`#efefef\\`) background for category navigation (\"Ride\", \"Drive\", \"Business\", \"Uber Eats\")\n- Menu toggle: circular button with 50% border-radius\n- Mobile: hamburger menu pattern\n\n### Image Treatment\n- Warm, hand-illustrated scenes (not photographs for feature sections)\n- Illustration style: slightly stylized people, warm color palette within illustrations, contemporary vibe\n- Hero sections use bold photography or illustration as full-width backgrounds\n- QR codes for app download CTAs\n- All imagery uses standard 8px or 12px border-radius when contained in cards\n\n### Distinctive Components\n\n**Category Pill Navigation**\n- Horizontal row of pill-shaped buttons for top-level navigation (\"Ride\", \"Drive\", \"Business\", \"Uber Eats\", \"About\")\n- Each pill: Chip Gray background, black text, 999px radius\n- Active state indicated by black background with white text (inversion)\n\n**Hero with Dual Action**\n- Split hero: text/CTA on left, map/illustration on right\n- Two input fields side by side for pickup/destination\n- \"See prices\" CTA button in black pill\n\n**Plan-Ahead Cards**\n- Cards promoting features like \"Uber Reserve\" and trip planning\n- Illustration-heavy with warm, human-centric imagery\n- Black CTA buttons with white text at bottom\n\n## 5. Layout Principles\n\n### Spacing System\n- Base unit: 8px\n- Scale: 4px, 6px, 8px, 10px, 12px, 14px, 16px, 18px, 20px, 24px, 32px\n- Button padding: 10px 12px (compact) or 14px 16px (comfortable)\n- Card internal padding: approximately 24-32px\n- Section vertical spacing: generous but efficient -- approximately 64-96px between major sections\n\n### Grid & Container\n- Max container width: approximately 1136px, centered\n- Hero: split layout with text left, visual right\n- Feature sections: 2-column card grids or full-width single-column\n- Footer: multi-column link grid on black background\n- Full-width sections extending to viewport edges\n\n### Whitespace Philosophy\n- **Efficient, not airy**: Uber's whitespace is functional -- enough to separate, never enough to feel empty. This is transit-system spacing: compact, clear, purpose-driven.\n- **Content-dense cards**: Cards pack information tightly with minimal internal spacing, relying on shadow and radius to define boundaries.\n- **Section breathing room**: Major sections get generous vertical spacing, but within sections, elements are closely grouped.\n\n### Border Radius Scale\n- Sharp (0px): No square corners used in interactive elements\n- Standard (8px): Content cards, input fields, listboxes\n- Comfortable (12px): Featured cards, larger containers, link cards\n- Full Pill (999px): All buttons, chips, navigation items, pills\n- Circle (50%): Avatar images, icon containers, circular controls\n\n## 6. Depth & Elevation\n\n| Level | Treatment | Use |\n|-------|-----------|-----|\n| Flat (Level 0) | No shadow, solid background | Page background, inline content, text sections |\n| Subtle (Level 1) | \\`rgba(0,0,0,0.12) 0px 4px 16px\\` | Standard content cards, feature blocks |\n| Medium (Level 2) | \\`rgba(0,0,0,0.16) 0px 4px 16px\\` | Elevated cards, overlay elements |\n| Floating (Level 3) | \\`rgba(0,0,0,0.16) 0px 2px 8px\\` + translateY(2px) | Floating action buttons, map controls |\n| Pressed (Level 4) | \\`rgba(0,0,0,0.08) inset\\` (999px spread) | Active/pressed button states |\n| Focus Ring | \\`rgb(255,255,255) 0px 0px 0px 2px inset\\` | Keyboard focus indicators |\n\n**Shadow Philosophy**: Uber uses shadow purely as a structural tool, never decoratively. Shadows are always black at very low opacity (0.08-0.16), creating the bare minimum lift needed to separate content layers. The blur radii are moderate (8-16px) -- enough to feel natural but never dramatic. There are no colored shadows, no layered shadow stacks, and no ambient glow effects. Depth is communicated more through the black/white section contrast than through shadow elevation.\n\n## 7. Do's and Don'ts\n\n### Do\n- Use true black (\\`#000000\\`) and pure white (\\`#ffffff\\`) as the primary palette -- the stark contrast IS Uber\n- Use 999px border-radius for all buttons, chips, and pill-shaped navigation elements\n- Keep all headings in UberMove Bold (700) for billboard-level impact\n- Use whisper-soft shadows (0.12-0.16 opacity) for card elevation -- barely visible\n- Maintain the compact, information-dense layout style -- Uber prioritizes efficiency over airiness\n- Use warm, human-centric illustrations to soften the monochrome interface\n- Apply 8px radius for content cards and 12px for featured containers\n- Use UberMoveText at weight 500 for navigation and prominent UI text\n- Pair black primary buttons with white secondary buttons for dual-action layouts\n\n### Don't\n- Don't introduce color into the UI chrome -- Uber's interface is strictly black, white, and gray\n- Don't use rounded corners less than 999px on buttons -- the full-pill shape is a core identity element\n- Don't apply heavy shadows or drop shadows with high opacity -- depth is whisper-subtle\n- Don't use serif fonts anywhere -- Uber's typography is exclusively geometric sans-serif\n- Don't create airy, spacious layouts with excessive whitespace -- Uber's density is intentional\n- Don't use gradients or color overlays -- every surface is a flat, solid color\n- Don't mix UberMove into body text or UberMoveText into headlines -- the hierarchy is strict\n- Don't use decorative borders -- borders are functional (inputs, dividers) or absent entirely\n- Don't soften the black/white contrast with off-whites or near-blacks -- the duality is deliberate\n\n## 8. Responsive Behavior\n\n### Breakpoints\n| Name | Width | Key Changes |\n|------|-------|-------------|\n| Mobile Small | 320px | Minimum layout, single column, stacked inputs, compact typography |\n| Mobile | 600px | Standard mobile, stacked layout, hamburger nav |\n| Tablet Small | 768px | Two-column grids begin, expanded card layouts |\n| Tablet | 1119px | Full tablet layout, side-by-side hero content |\n| Desktop Small | 1120px | Desktop grid activates, horizontal nav pills |\n| Desktop | 1136px | Full desktop layout, maximum container width, split hero |\n\n### Touch Targets\n- All pill buttons: minimum 44px height (10-14px vertical padding + line-height)\n- Navigation chips: generous 14px 16px padding for comfortable thumb tapping\n- Circular controls (menu, close): 50% radius ensures large, easy-to-hit targets\n- Card surfaces serve as full-area touch targets on mobile\n\n### Collapsing Strategy\n- **Navigation**: Horizontal pill nav collapses to hamburger menu with circular toggle\n- **Hero**: Split layout (text + map/visual) stacks to single column -- text above, visual below\n- **Input fields**: Side-by-side pickup/destination inputs stack vertically\n- **Feature cards**: 2-column grid collapses to full-width stacked cards\n- **Headings**: 52px display scales down through 36px, 32px, 24px, 20px\n- **Footer**: Multi-column link grid collapses to accordion or stacked single column\n- **Category pills**: Horizontal scroll with overflow on smaller screens\n\n### Image Behavior\n- Illustrations scale proportionally within their containers\n- Hero imagery maintains aspect ratio, may crop on smaller screens\n- QR code sections hide on mobile (app download shifts to direct store links)\n- Card imagery maintains 8-12px border radius at all sizes\n\n## 9. Agent Prompt Guide\n\n### Quick Color Reference\n- Primary Button: \"Uber Black (#000000)\"\n- Page Background: \"Pure White (#ffffff)\"\n- Button Text (on black): \"Pure White (#ffffff)\"\n- Button Text (on white): \"Uber Black (#000000)\"\n- Secondary Text: \"Body Gray (#4b4b4b)\"\n- Tertiary Text: \"Muted Gray (#afafaf)\"\n- Chip Background: \"Chip Gray (#efefef)\"\n- Hover State: \"Hover Gray (#e2e2e2)\"\n- Card Shadow: \"rgba(0,0,0,0.12) 0px 4px 16px\"\n- Footer Background: \"Uber Black (#000000)\"\n\n### Example Component Prompts\n- \"Create a hero section on Pure White (#ffffff) with a headline at 52px UberMove Bold (700), line-height 1.23. Use Uber Black (#000000) text. Add a subtitle in Body Gray (#4b4b4b) at 16px UberMoveText weight 400 with 1.50 line-height. Place an Uber Black (#000000) pill CTA button with Pure White text, 999px radius, padding 10px 12px.\"\n- \"Design a category navigation bar with horizontal pill buttons. Each pill: Chip Gray (#efefef) background, Uber Black (#000000) text, 14px 16px padding, 999px border-radius. Active pill inverts to Uber Black background with Pure White text. Use UberMoveText at 14px weight 500.\"\n- \"Build a feature card on Pure White (#ffffff) with 8px border-radius and shadow rgba(0,0,0,0.12) 0px 4px 16px. Title in UberMove at 24px weight 700, description in Body Gray (#4b4b4b) at 16px UberMoveText. Add a black pill CTA button at the bottom.\"\n- \"Create a dark footer on Uber Black (#000000) with Pure White (#ffffff) heading text in UberMove at 20px weight 700. Footer links in Muted Gray (#afafaf) at 14px UberMoveText. Links hover to Pure White. Multi-column grid layout.\"\n- \"Design a floating action button with Pure White (#ffffff) background, 999px radius, 14px padding, and shadow rgba(0,0,0,0.16) 0px 2px 8px. Hover shifts background to #f3f3f3. Use for scroll-to-top or map controls.\"\n\n### Iteration Guide\n1. Focus on ONE component at a time\n2. Reference the strict black/white palette -- \"use Uber Black (#000000)\" not \"make it dark\"\n3. Always specify 999px radius for buttons and pills -- this is non-negotiable for the Uber identity\n4. Describe the font family explicitly -- \"UberMove Bold for the heading, UberMoveText Medium for the label\"\n5. For shadows, use \"whisper shadow (rgba(0,0,0,0.12) 0px 4px 16px)\" -- never heavy drop shadows\n6. Keep layouts compact and information-dense -- Uber is efficient, not airy\n7. Illustrations should be warm and human -- describe \"stylized people in warm tones\" not abstract shapes\n8. Pair black CTAs with white secondaries for balanced dual-action layouts\n`;\n"],"mappings":";AACO,IAAM,YAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;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":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/presets/_briefs/vercel.ts"],"sourcesContent":["// AUTO-GENERATED — do not hand-edit. Source: https://github.com/voltagent/awesome-design-md\nexport const vercelBrief = `# Design System Inspired by Vercel\n\n## 1. Visual Theme & Atmosphere\n\nVercel's website is the visual thesis of developer infrastructure made invisible — a design system so restrained it borders on philosophical. The page is overwhelmingly white (\\`#ffffff\\`) with near-black (\\`#171717\\`) text, creating a gallery-like emptiness where every element earns its pixel. This isn't minimalism as decoration; it's minimalism as engineering principle. The Geist design system treats the interface like a compiler treats code — every unnecessary token is stripped away until only structure remains.\n\nThe custom Geist font family is the crown jewel. Geist Sans uses aggressive negative letter-spacing (-2.4px to -2.88px at display sizes), creating headlines that feel compressed, urgent, and engineered — like code that's been minified for production. At body sizes, the tracking relaxes but the geometric precision persists. Geist Mono completes the system as the monospace companion for code, terminal output, and technical labels. Both fonts enable OpenType \\`\"liga\"\\` (ligatures) globally, adding a layer of typographic sophistication that rewards close reading.\n\nWhat distinguishes Vercel from other monochrome design systems is its shadow-as-border philosophy. Instead of traditional CSS borders, Vercel uses \\`box-shadow: 0px 0px 0px 1px rgba(0,0,0,0.08)\\` — a zero-offset, zero-blur, 1px-spread shadow that creates a border-like line without the box model implications. This technique allows borders to exist in the shadow layer, enabling smoother transitions, rounded corners without clipping, and a subtler visual weight than traditional borders. The entire depth system is built on layered, multi-value shadow stacks where each layer serves a specific purpose: one for the border, one for soft elevation, one for ambient depth.\n\n**Key Characteristics:**\n- Geist Sans with extreme negative letter-spacing (-2.4px to -2.88px at display) — text as compressed infrastructure\n- Geist Mono for code and technical labels with OpenType \\`\"liga\"\\` globally\n- Shadow-as-border technique: \\`box-shadow 0px 0px 0px 1px\\` replaces traditional borders throughout\n- Multi-layer shadow stacks for nuanced depth (border + elevation + ambient in single declarations)\n- Near-pure white canvas with \\`#171717\\` text — not quite black, creating micro-contrast softness\n- Workflow-specific accent colors: Ship Red (\\`#ff5b4f\\`), Preview Pink (\\`#de1d8d\\`), Develop Blue (\\`#0a72ef\\`)\n- Focus ring system using \\`hsla(212, 100%, 48%, 1)\\` — a saturated blue for accessibility\n- Pill badges (9999px) with tinted backgrounds for status indicators\n\n## 2. Color Palette & Roles\n\n### Primary\n- **Vercel Black** (\\`#171717\\`): Primary text, headings, dark surface backgrounds. Not pure black — the slight warmth prevents harshness.\n- **Pure White** (\\`#ffffff\\`): Page background, card surfaces, button text on dark.\n- **True Black** (\\`#000000\\`): Secondary use, \\`--geist-console-text-color-default\\`, used in specific console/code contexts.\n\n### Workflow Accent Colors\n- **Ship Red** (\\`#ff5b4f\\`): \\`--ship-text\\`, the \"ship to production\" workflow step — warm, urgent coral-red.\n- **Preview Pink** (\\`#de1d8d\\`): \\`--preview-text\\`, the preview deployment workflow — vivid magenta-pink.\n- **Develop Blue** (\\`#0a72ef\\`): \\`--develop-text\\`, the development workflow — bright, focused blue.\n\n### Console / Code Colors\n- **Console Blue** (\\`#0070f3\\`): \\`--geist-console-text-color-blue\\`, syntax highlighting blue.\n- **Console Purple** (\\`#7928ca\\`): \\`--geist-console-text-color-purple\\`, syntax highlighting purple.\n- **Console Pink** (\\`#eb367f\\`): \\`--geist-console-text-color-pink\\`, syntax highlighting pink.\n\n### Interactive\n- **Link Blue** (\\`#0072f5\\`): Primary link color with underline decoration.\n- **Focus Blue** (\\`hsla(212, 100%, 48%, 1)\\`): \\`--ds-focus-color\\`, focus ring on interactive elements.\n- **Ring Blue** (\\`rgba(147, 197, 253, 0.5)\\`): \\`--tw-ring-color\\`, Tailwind ring utility.\n\n### Neutral Scale\n- **Gray 900** (\\`#171717\\`): Primary text, headings, nav text.\n- **Gray 600** (\\`#4d4d4d\\`): Secondary text, description copy.\n- **Gray 500** (\\`#666666\\`): Tertiary text, muted links.\n- **Gray 400** (\\`#808080\\`): Placeholder text, disabled states.\n- **Gray 100** (\\`#ebebeb\\`): Borders, card outlines, dividers.\n- **Gray 50** (\\`#fafafa\\`): Subtle surface tint, inner shadow highlight.\n\n### Surface & Overlay\n- **Overlay Backdrop** (\\`hsla(0, 0%, 98%, 1)\\`): \\`--ds-overlay-backdrop-color\\`, modal/dialog backdrop.\n- **Selection Text** (\\`hsla(0, 0%, 95%, 1)\\`): \\`--geist-selection-text-color\\`, text selection highlight.\n- **Badge Blue Bg** (\\`#ebf5ff\\`): Pill badge background, tinted blue surface.\n- **Badge Blue Text** (\\`#0068d6\\`): Pill badge text, darker blue for readability.\n\n### Shadows & Depth\n- **Border Shadow** (\\`rgba(0, 0, 0, 0.08) 0px 0px 0px 1px\\`): The signature — replaces traditional borders.\n- **Subtle Elevation** (\\`rgba(0, 0, 0, 0.04) 0px 2px 2px\\`): Minimal lift for cards.\n- **Card Stack** (\\`rgba(0,0,0,0.08) 0px 0px 0px 1px, rgba(0,0,0,0.04) 0px 2px 2px, rgba(0,0,0,0.04) 0px 8px 8px -8px, #fafafa 0px 0px 0px 1px\\`): Full multi-layer card shadow.\n- **Ring Border** (\\`rgb(235, 235, 235) 0px 0px 0px 1px\\`): Light gray ring-border for tabs and images.\n\n## 3. Typography Rules\n\n### Font Family\n- **Primary**: \\`Geist\\`, with fallbacks: \\`Arial, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol\\`\n- **Monospace**: \\`Geist Mono\\`, with fallbacks: \\`ui-monospace, SFMono-Regular, Roboto Mono, Menlo, Monaco, Liberation Mono, DejaVu Sans Mono, Courier New\\`\n- **OpenType Features**: \\`\"liga\"\\` enabled globally on all Geist text; \\`\"tnum\"\\` for tabular numbers on specific captions.\n\n### Hierarchy\n\n| Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |\n|------|------|------|--------|-------------|----------------|-------|\n| Display Hero | Geist | 48px (3.00rem) | 600 | 1.00–1.17 (tight) | -2.4px to -2.88px | Maximum compression, billboard impact |\n| Section Heading | Geist | 40px (2.50rem) | 600 | 1.20 (tight) | -2.4px | Feature section titles |\n| Sub-heading Large | Geist | 32px (2.00rem) | 600 | 1.25 (tight) | -1.28px | Card headings, sub-sections |\n| Sub-heading | Geist | 32px (2.00rem) | 400 | 1.50 | -1.28px | Lighter sub-headings |\n| Card Title | Geist | 24px (1.50rem) | 600 | 1.33 | -0.96px | Feature cards |\n| Card Title Light | Geist | 24px (1.50rem) | 500 | 1.33 | -0.96px | Secondary card headings |\n| Body Large | Geist | 20px (1.25rem) | 400 | 1.80 (relaxed) | normal | Introductions, feature descriptions |\n| Body | Geist | 18px (1.13rem) | 400 | 1.56 | normal | Standard reading text |\n| Body Small | Geist | 16px (1.00rem) | 400 | 1.50 | normal | Standard UI text |\n| Body Medium | Geist | 16px (1.00rem) | 500 | 1.50 | normal | Navigation, emphasized text |\n| Body Semibold | Geist | 16px (1.00rem) | 600 | 1.50 | -0.32px | Strong labels, active states |\n| Button / Link | Geist | 14px (0.88rem) | 500 | 1.43 | normal | Buttons, links, captions |\n| Button Small | Geist | 14px (0.88rem) | 400 | 1.00 (tight) | normal | Compact buttons |\n| Caption | Geist | 12px (0.75rem) | 400–500 | 1.33 | normal | Metadata, tags |\n| Mono Body | Geist Mono | 16px (1.00rem) | 400 | 1.50 | normal | Code blocks |\n| Mono Caption | Geist Mono | 13px (0.81rem) | 500 | 1.54 | normal | Code labels |\n| Mono Small | Geist Mono | 12px (0.75rem) | 500 | 1.00 (tight) | normal | \\`text-transform: uppercase\\`, technical labels |\n| Micro Badge | Geist | 7px (0.44rem) | 700 | 1.00 (tight) | normal | \\`text-transform: uppercase\\`, tiny badges |\n\n### Principles\n- **Compression as identity**: Geist Sans at display sizes uses -2.4px to -2.88px letter-spacing — the most aggressive negative tracking of any major design system. This creates text that feels _minified_, like code optimized for production. The tracking progressively relaxes as size decreases: -1.28px at 32px, -0.96px at 24px, -0.32px at 16px, and normal at 14px.\n- **Ligatures everywhere**: Every Geist text element enables OpenType \\`\"liga\"\\`. Ligatures aren't decorative — they're structural, creating tighter, more efficient glyph combinations.\n- **Three weights, strict roles**: 400 (body/reading), 500 (UI/interactive), 600 (headings/emphasis). No bold (700) except for tiny micro-badges. This narrow weight range creates hierarchy through size and tracking, not weight.\n- **Mono for identity**: Geist Mono in uppercase with \\`\"tnum\"\\` or \\`\"liga\"\\` serves as the \"developer console\" voice — compact technical labels that connect the marketing site to the product.\n\n## 4. Component Stylings\n\n### Buttons\n\n**Primary White (Shadow-bordered)**\n- Background: \\`#ffffff\\`\n- Text: \\`#171717\\`\n- Padding: 0px 6px (minimal — content-driven width)\n- Radius: 6px (subtly rounded)\n- Shadow: \\`rgb(235, 235, 235) 0px 0px 0px 1px\\` (ring-border)\n- Hover: background shifts to \\`var(--ds-gray-1000)\\` (dark)\n- Focus: \\`2px solid var(--ds-focus-color)\\` outline + \\`var(--ds-focus-ring)\\` shadow\n- Use: Standard secondary button\n\n**Primary Dark (Inferred from Geist system)**\n- Background: \\`#171717\\`\n- Text: \\`#ffffff\\`\n- Padding: 8px 16px\n- Radius: 6px\n- Use: Primary CTA (\"Start Deploying\", \"Get Started\")\n\n**Pill Button / Badge**\n- Background: \\`#ebf5ff\\` (tinted blue)\n- Text: \\`#0068d6\\`\n- Padding: 0px 10px\n- Radius: 9999px (full pill)\n- Font: 12px weight 500\n- Use: Status badges, tags, feature labels\n\n**Large Pill (Navigation)**\n- Background: transparent or \\`#171717\\`\n- Radius: 64px–100px\n- Use: Tab navigation, section selectors\n\n### Cards & Containers\n- Background: \\`#ffffff\\`\n- Border: via shadow — \\`rgba(0, 0, 0, 0.08) 0px 0px 0px 1px\\`\n- Radius: 8px (standard), 12px (featured/image cards)\n- Shadow stack: \\`rgba(0,0,0,0.08) 0px 0px 0px 1px, rgba(0,0,0,0.04) 0px 2px 2px, #fafafa 0px 0px 0px 1px\\`\n- Image cards: \\`1px solid #ebebeb\\` with 12px top radius\n- Hover: subtle shadow intensification\n\n### Inputs & Forms\n- Radio: standard styling with focus \\`var(--ds-gray-200)\\` background\n- Focus shadow: \\`1px 0 0 0 var(--ds-gray-alpha-600)\\`\n- Focus outline: \\`2px solid var(--ds-focus-color)\\` — consistent blue focus ring\n- Border: via shadow technique, not traditional border\n\n### Navigation\n- Clean horizontal nav on white, sticky\n- Vercel logotype left-aligned, 262x52px\n- Links: Geist 14px weight 500, \\`#171717\\` text\n- Active: weight 600 or underline\n- CTA: dark pill buttons (\"Start Deploying\", \"Contact Sales\")\n- Mobile: hamburger menu collapse\n- Product dropdowns with multi-level menus\n\n### Image Treatment\n- Product screenshots with \\`1px solid #ebebeb\\` border\n- Top-rounded images: \\`12px 12px 0px 0px\\` radius\n- Dashboard/code preview screenshots dominate feature sections\n- Soft gradient backgrounds behind hero images (pastel multi-color)\n\n### Distinctive Components\n\n**Workflow Pipeline**\n- Three-step horizontal pipeline: Develop → Preview → Ship\n- Each step has its own accent color: Blue → Pink → Red\n- Connected with lines/arrows\n- The visual metaphor for Vercel's core value proposition\n\n**Trust Bar / Logo Grid**\n- Company logos (Perplexity, ChatGPT, Cursor, etc.) in grayscale\n- Horizontal scroll or grid layout\n- Subtle \\`#ebebeb\\` border separation\n\n**Metric Cards**\n- Large number display (e.g., \"10x faster\")\n- Geist 48px weight 600 for the metric\n- Description below in gray body text\n- Shadow-bordered card container\n\n## 5. Layout Principles\n\n### Spacing System\n- Base unit: 8px\n- Scale: 1px, 2px, 3px, 4px, 5px, 6px, 8px, 10px, 12px, 14px, 16px, 32px, 36px, 40px\n- Notable gap: jumps from 16px to 32px — no 20px or 24px in primary scale\n\n### Grid & Container\n- Max content width: approximately 1200px\n- Hero: centered single-column with generous top padding\n- Feature sections: 2–3 column grids for cards\n- Full-width dividers using \\`border-bottom: 1px solid #171717\\`\n- Code/dashboard screenshots as full-width or contained with border\n\n### Whitespace Philosophy\n- **Gallery emptiness**: Massive vertical padding between sections (80px–120px+). The white space IS the design — it communicates that Vercel has nothing to prove and nothing to hide.\n- **Compressed text, expanded space**: The aggressive negative letter-spacing on headlines is counterbalanced by generous surrounding whitespace. The text is dense; the space around it is vast.\n- **Section rhythm**: White sections alternate with white sections — there's no color variation between sections. Separation comes from borders (shadow-borders) and spacing alone.\n\n### Border Radius Scale\n- Micro (2px): Inline code snippets, small spans\n- Subtle (4px): Small containers\n- Standard (6px): Buttons, links, functional elements\n- Comfortable (8px): Cards, list items\n- Image (12px): Featured cards, image containers (top-rounded)\n- Large (64px): Tab navigation pills\n- XL (100px): Large navigation links\n- Full Pill (9999px): Badges, status pills, tags\n- Circle (50%): Menu toggle, avatar containers\n\n## 6. Depth & Elevation\n\n| Level | Treatment | Use |\n|-------|-----------|-----|\n| Flat (Level 0) | No shadow | Page background, text blocks |\n| Ring (Level 1) | \\`rgba(0,0,0,0.08) 0px 0px 0px 1px\\` | Shadow-as-border for most elements |\n| Light Ring (Level 1b) | \\`rgb(235,235,235) 0px 0px 0px 1px\\` | Lighter ring for tabs, images |\n| Subtle Card (Level 2) | Ring + \\`rgba(0,0,0,0.04) 0px 2px 2px\\` | Standard cards with minimal lift |\n| Full Card (Level 3) | Ring + Subtle + \\`rgba(0,0,0,0.04) 0px 8px 8px -8px\\` + inner \\`#fafafa\\` ring | Featured cards, highlighted panels |\n| Focus (Accessibility) | \\`2px solid hsla(212, 100%, 48%, 1)\\` outline | Keyboard focus on all interactive elements |\n\n**Shadow Philosophy**: Vercel has arguably the most sophisticated shadow system in modern web design. Rather than using shadows for elevation in the traditional Material Design sense, Vercel uses multi-value shadow stacks where each layer has a distinct architectural purpose: one creates the \"border\" (0px spread, 1px), another adds ambient softness (2px blur), another handles depth at distance (8px blur with negative spread), and an inner ring (\\`#fafafa\\`) creates the subtle highlight that makes the card \"glow\" from within. This layered approach means cards feel built, not floating.\n\n### Decorative Depth\n- Hero gradient: soft, pastel multi-color gradient wash behind hero content (barely visible, atmospheric)\n- Section borders: \\`1px solid #171717\\` (full dark line) between major sections\n- No background color variation — depth comes entirely from shadow layering and border contrast\n\n## 7. Do's and Don'ts\n\n### Do\n- Use Geist Sans with aggressive negative letter-spacing at display sizes (-2.4px to -2.88px at 48px)\n- Use shadow-as-border (\\`0px 0px 0px 1px rgba(0,0,0,0.08)\\`) instead of traditional CSS borders\n- Enable \\`\"liga\"\\` on all Geist text — ligatures are structural, not optional\n- Use the three-weight system: 400 (body), 500 (UI), 600 (headings)\n- Apply workflow accent colors (Red/Pink/Blue) only in their workflow context\n- Use multi-layer shadow stacks for cards (border + elevation + ambient + inner highlight)\n- Keep the color palette achromatic — grays from \\`#171717\\` to \\`#ffffff\\` are the system\n- Use \\`#171717\\` instead of \\`#000000\\` for primary text — the micro-warmth matters\n\n### Don't\n- Don't use positive letter-spacing on Geist Sans — it's always negative or zero\n- Don't use weight 700 (bold) on body text — 600 is the maximum, used only for headings\n- Don't use traditional CSS \\`border\\` on cards — use the shadow-border technique\n- Don't introduce warm colors (oranges, yellows, greens) into the UI chrome\n- Don't apply the workflow accent colors (Ship Red, Preview Pink, Develop Blue) decoratively\n- Don't use heavy shadows (> 0.1 opacity) — the shadow system is whisper-level\n- Don't increase body text letter-spacing — Geist is designed to run tight\n- Don't use pill radius (9999px) on primary action buttons — pills are for badges/tags only\n- Don't skip the inner \\`#fafafa\\` ring in card shadows — it's the glow that makes the system work\n\n## 8. Responsive Behavior\n\n### Breakpoints\n| Name | Width | Key Changes |\n|------|-------|-------------|\n| Mobile Small | <400px | Tight single column, minimal padding |\n| Mobile | 400–600px | Standard mobile, stacked layout |\n| Tablet Small | 600–768px | 2-column grids begin |\n| Tablet | 768–1024px | Full card grids, expanded padding |\n| Desktop Small | 1024–1200px | Standard desktop layout |\n| Desktop | 1200–1400px | Full layout, maximum content width |\n| Large Desktop | >1400px | Centered, generous margins |\n\n### Touch Targets\n- Buttons use comfortable padding (8px–16px vertical)\n- Navigation links at 14px with adequate spacing\n- Pill badges have 10px horizontal padding for tap targets\n- Mobile menu toggle uses 50% radius circular button\n\n### Collapsing Strategy\n- Hero: display 48px → scales down, maintains negative tracking proportionally\n- Navigation: horizontal links + CTAs → hamburger menu\n- Feature cards: 3-column → 2-column → single column stacked\n- Code screenshots: maintain aspect ratio, may horizontally scroll\n- Trust bar logos: grid → horizontal scroll\n- Footer: multi-column → stacked single column\n- Section spacing: 80px+ → 48px on mobile\n\n### Image Behavior\n- Dashboard screenshots maintain border treatment at all sizes\n- Hero gradient softens/simplifies on mobile\n- Product screenshots use responsive images with consistent border radius\n- Full-width sections maintain edge-to-edge treatment\n\n## 9. Agent Prompt Guide\n\n### Quick Color Reference\n- Primary CTA: Vercel Black (\\`#171717\\`)\n- Background: Pure White (\\`#ffffff\\`)\n- Heading text: Vercel Black (\\`#171717\\`)\n- Body text: Gray 600 (\\`#4d4d4d\\`)\n- Border (shadow): \\`rgba(0, 0, 0, 0.08) 0px 0px 0px 1px\\`\n- Link: Link Blue (\\`#0072f5\\`)\n- Focus ring: Focus Blue (\\`hsla(212, 100%, 48%, 1)\\`)\n\n### Example Component Prompts\n- \"Create a hero section on white background. Headline at 48px Geist weight 600, line-height 1.00, letter-spacing -2.4px, color #171717. Subtitle at 20px Geist weight 400, line-height 1.80, color #4d4d4d. Dark CTA button (#171717, 6px radius, 8px 16px padding) and ghost button (white, shadow-border rgba(0,0,0,0.08) 0px 0px 0px 1px, 6px radius).\"\n- \"Design a card: white background, no CSS border. Use shadow stack: rgba(0,0,0,0.08) 0px 0px 0px 1px, rgba(0,0,0,0.04) 0px 2px 2px, #fafafa 0px 0px 0px 1px. Radius 8px. Title at 24px Geist weight 600, letter-spacing -0.96px. Body at 16px weight 400, #4d4d4d.\"\n- \"Build a pill badge: #ebf5ff background, #0068d6 text, 9999px radius, 0px 10px padding, 12px Geist weight 500.\"\n- \"Create navigation: white sticky header. Geist 14px weight 500 for links, #171717 text. Dark pill CTA 'Start Deploying' right-aligned. Shadow-border on bottom: rgba(0,0,0,0.08) 0px 0px 0px 1px.\"\n- \"Design a workflow section showing three steps: Develop (text color #0a72ef), Preview (#de1d8d), Ship (#ff5b4f). Each step: 14px Geist Mono uppercase label + 24px Geist weight 600 title + 16px weight 400 description in #4d4d4d.\"\n\n### Iteration Guide\n1. Always use shadow-as-border instead of CSS border — \\`0px 0px 0px 1px rgba(0,0,0,0.08)\\` is the foundation\n2. Letter-spacing scales with font size: -2.4px at 48px, -1.28px at 32px, -0.96px at 24px, normal at 14px\n3. Three weights only: 400 (read), 500 (interact), 600 (announce)\n4. Color is functional, never decorative — workflow colors (Red/Pink/Blue) mark pipeline stages only\n5. The inner \\`#fafafa\\` ring in card shadows is what gives Vercel cards their subtle inner glow\n6. Geist Mono uppercase for technical labels, Geist Sans for everything else\n`;\n"],"mappings":";AACO,IAAM,cAAc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;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":[]}
|
|
1
|
+
{"version":3,"sources":["../../../src/presets/_briefs/vercel.ts"],"sourcesContent":["// Originally generated from voltagent/awesome-design-md (MIT) and hand-curated since.\nexport const vercelBrief = `# Design System Inspired by Vercel\n\n## 1. Visual Theme & Atmosphere\n\nVercel's website is the visual thesis of developer infrastructure made invisible — a design system so restrained it borders on philosophical. The page is overwhelmingly white (\\`#ffffff\\`) with near-black (\\`#171717\\`) text, creating a gallery-like emptiness where every element earns its pixel. This isn't minimalism as decoration; it's minimalism as engineering principle. The Geist design system treats the interface like a compiler treats code — every unnecessary token is stripped away until only structure remains.\n\nThe custom Geist font family is the crown jewel. Geist Sans uses aggressive negative letter-spacing (-2.4px to -2.88px at display sizes), creating headlines that feel compressed, urgent, and engineered — like code that's been minified for production. At body sizes, the tracking relaxes but the geometric precision persists. Geist Mono completes the system as the monospace companion for code, terminal output, and technical labels. Both fonts enable OpenType \\`\"liga\"\\` (ligatures) globally, adding a layer of typographic sophistication that rewards close reading.\n\nWhat distinguishes Vercel from other monochrome design systems is its shadow-as-border philosophy. Instead of traditional CSS borders, Vercel uses \\`box-shadow: 0px 0px 0px 1px rgba(0,0,0,0.08)\\` — a zero-offset, zero-blur, 1px-spread shadow that creates a border-like line without the box model implications. This technique allows borders to exist in the shadow layer, enabling smoother transitions, rounded corners without clipping, and a subtler visual weight than traditional borders. The entire depth system is built on layered, multi-value shadow stacks where each layer serves a specific purpose: one for the border, one for soft elevation, one for ambient depth.\n\n**Key Characteristics:**\n- Geist Sans with extreme negative letter-spacing (-2.4px to -2.88px at display) — text as compressed infrastructure\n- Geist Mono for code and technical labels with OpenType \\`\"liga\"\\` globally\n- Shadow-as-border technique: \\`box-shadow 0px 0px 0px 1px\\` replaces traditional borders throughout\n- Multi-layer shadow stacks for nuanced depth (border + elevation + ambient in single declarations)\n- Near-pure white canvas with \\`#171717\\` text — not quite black, creating micro-contrast softness\n- Workflow-specific accent colors: Ship Red (\\`#ff5b4f\\`), Preview Pink (\\`#de1d8d\\`), Develop Blue (\\`#0a72ef\\`)\n- Focus ring system using \\`hsla(212, 100%, 48%, 1)\\` — a saturated blue for accessibility\n- Pill badges (9999px) with tinted backgrounds for status indicators\n\n## 2. Color Palette & Roles\n\n### Primary\n- **Vercel Black** (\\`#171717\\`): Primary text, headings, dark surface backgrounds. Not pure black — the slight warmth prevents harshness.\n- **Pure White** (\\`#ffffff\\`): Page background, card surfaces, button text on dark.\n- **True Black** (\\`#000000\\`): Secondary use, \\`--geist-console-text-color-default\\`, used in specific console/code contexts.\n\n### Workflow Accent Colors\n- **Ship Red** (\\`#ff5b4f\\`): \\`--ship-text\\`, the \"ship to production\" workflow step — warm, urgent coral-red.\n- **Preview Pink** (\\`#de1d8d\\`): \\`--preview-text\\`, the preview deployment workflow — vivid magenta-pink.\n- **Develop Blue** (\\`#0a72ef\\`): \\`--develop-text\\`, the development workflow — bright, focused blue.\n\n### Console / Code Colors\n- **Console Blue** (\\`#0070f3\\`): \\`--geist-console-text-color-blue\\`, syntax highlighting blue.\n- **Console Purple** (\\`#7928ca\\`): \\`--geist-console-text-color-purple\\`, syntax highlighting purple.\n- **Console Pink** (\\`#eb367f\\`): \\`--geist-console-text-color-pink\\`, syntax highlighting pink.\n\n### Interactive\n- **Link Blue** (\\`#0072f5\\`): Primary link color with underline decoration.\n- **Focus Blue** (\\`hsla(212, 100%, 48%, 1)\\`): \\`--ds-focus-color\\`, focus ring on interactive elements.\n- **Ring Blue** (\\`rgba(147, 197, 253, 0.5)\\`): \\`--tw-ring-color\\`, Tailwind ring utility.\n\n### Neutral Scale\n- **Gray 900** (\\`#171717\\`): Primary text, headings, nav text.\n- **Gray 600** (\\`#4d4d4d\\`): Secondary text, description copy.\n- **Gray 500** (\\`#666666\\`): Tertiary text, muted links.\n- **Gray 400** (\\`#808080\\`): Placeholder text, disabled states.\n- **Gray 100** (\\`#ebebeb\\`): Borders, card outlines, dividers.\n- **Gray 50** (\\`#fafafa\\`): Subtle surface tint, inner shadow highlight.\n\n### Surface & Overlay\n- **Overlay Backdrop** (\\`hsla(0, 0%, 98%, 1)\\`): \\`--ds-overlay-backdrop-color\\`, modal/dialog backdrop.\n- **Selection Text** (\\`hsla(0, 0%, 95%, 1)\\`): \\`--geist-selection-text-color\\`, text selection highlight.\n- **Badge Blue Bg** (\\`#ebf5ff\\`): Pill badge background, tinted blue surface.\n- **Badge Blue Text** (\\`#0068d6\\`): Pill badge text, darker blue for readability.\n\n### Shadows & Depth\n- **Border Shadow** (\\`rgba(0, 0, 0, 0.08) 0px 0px 0px 1px\\`): The signature — replaces traditional borders.\n- **Subtle Elevation** (\\`rgba(0, 0, 0, 0.04) 0px 2px 2px\\`): Minimal lift for cards.\n- **Card Stack** (\\`rgba(0,0,0,0.08) 0px 0px 0px 1px, rgba(0,0,0,0.04) 0px 2px 2px, rgba(0,0,0,0.04) 0px 8px 8px -8px, #fafafa 0px 0px 0px 1px\\`): Full multi-layer card shadow.\n- **Ring Border** (\\`rgb(235, 235, 235) 0px 0px 0px 1px\\`): Light gray ring-border for tabs and images.\n\n## 3. Typography Rules\n\n### Font Family\n- **Primary**: \\`Geist\\`, with fallbacks: \\`Arial, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol\\`\n- **Monospace**: \\`Geist Mono\\`, with fallbacks: \\`ui-monospace, SFMono-Regular, Roboto Mono, Menlo, Monaco, Liberation Mono, DejaVu Sans Mono, Courier New\\`\n- **OpenType Features**: \\`\"liga\"\\` enabled globally on all Geist text; \\`\"tnum\"\\` for tabular numbers on specific captions.\n\n### Hierarchy\n\n| Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |\n|------|------|------|--------|-------------|----------------|-------|\n| Display Hero | Geist | 48px (3.00rem) | 600 | 1.00–1.17 (tight) | -2.4px to -2.88px | Maximum compression, billboard impact |\n| Section Heading | Geist | 40px (2.50rem) | 600 | 1.20 (tight) | -2.4px | Feature section titles |\n| Sub-heading Large | Geist | 32px (2.00rem) | 600 | 1.25 (tight) | -1.28px | Card headings, sub-sections |\n| Sub-heading | Geist | 32px (2.00rem) | 400 | 1.50 | -1.28px | Lighter sub-headings |\n| Card Title | Geist | 24px (1.50rem) | 600 | 1.33 | -0.96px | Feature cards |\n| Card Title Light | Geist | 24px (1.50rem) | 500 | 1.33 | -0.96px | Secondary card headings |\n| Body Large | Geist | 20px (1.25rem) | 400 | 1.80 (relaxed) | normal | Introductions, feature descriptions |\n| Body | Geist | 18px (1.13rem) | 400 | 1.56 | normal | Standard reading text |\n| Body Small | Geist | 16px (1.00rem) | 400 | 1.50 | normal | Standard UI text |\n| Body Medium | Geist | 16px (1.00rem) | 500 | 1.50 | normal | Navigation, emphasized text |\n| Body Semibold | Geist | 16px (1.00rem) | 600 | 1.50 | -0.32px | Strong labels, active states |\n| Button / Link | Geist | 14px (0.88rem) | 500 | 1.43 | normal | Buttons, links, captions |\n| Button Small | Geist | 14px (0.88rem) | 400 | 1.00 (tight) | normal | Compact buttons |\n| Caption | Geist | 12px (0.75rem) | 400–500 | 1.33 | normal | Metadata, tags |\n| Mono Body | Geist Mono | 16px (1.00rem) | 400 | 1.50 | normal | Code blocks |\n| Mono Caption | Geist Mono | 13px (0.81rem) | 500 | 1.54 | normal | Code labels |\n| Mono Small | Geist Mono | 12px (0.75rem) | 500 | 1.00 (tight) | normal | \\`text-transform: uppercase\\`, technical labels |\n| Micro Badge | Geist | 7px (0.44rem) | 700 | 1.00 (tight) | normal | \\`text-transform: uppercase\\`, tiny badges |\n\n### Principles\n- **Compression as identity**: Geist Sans at display sizes uses -2.4px to -2.88px letter-spacing — the most aggressive negative tracking of any major design system. This creates text that feels _minified_, like code optimized for production. The tracking progressively relaxes as size decreases: -1.28px at 32px, -0.96px at 24px, -0.32px at 16px, and normal at 14px.\n- **Ligatures everywhere**: Every Geist text element enables OpenType \\`\"liga\"\\`. Ligatures aren't decorative — they're structural, creating tighter, more efficient glyph combinations.\n- **Three weights, strict roles**: 400 (body/reading), 500 (UI/interactive), 600 (headings/emphasis). No bold (700) except for tiny micro-badges. This narrow weight range creates hierarchy through size and tracking, not weight.\n- **Mono for identity**: Geist Mono in uppercase with \\`\"tnum\"\\` or \\`\"liga\"\\` serves as the \"developer console\" voice — compact technical labels that connect the marketing site to the product.\n\n## 4. Component Stylings\n\n### Buttons\n\n**Primary White (Shadow-bordered)**\n- Background: \\`#ffffff\\`\n- Text: \\`#171717\\`\n- Padding: 0px 6px (minimal — content-driven width)\n- Radius: 6px (subtly rounded)\n- Shadow: \\`rgb(235, 235, 235) 0px 0px 0px 1px\\` (ring-border)\n- Hover: background shifts to \\`var(--ds-gray-1000)\\` (dark)\n- Focus: \\`2px solid var(--ds-focus-color)\\` outline + \\`var(--ds-focus-ring)\\` shadow\n- Use: Standard secondary button\n\n**Primary Dark (Inferred from Geist system)**\n- Background: \\`#171717\\`\n- Text: \\`#ffffff\\`\n- Padding: 8px 16px\n- Radius: 6px\n- Use: Primary CTA (\"Start Deploying\", \"Get Started\")\n\n**Pill Button / Badge**\n- Background: \\`#ebf5ff\\` (tinted blue)\n- Text: \\`#0068d6\\`\n- Padding: 0px 10px\n- Radius: 9999px (full pill)\n- Font: 12px weight 500\n- Use: Status badges, tags, feature labels\n\n**Large Pill (Navigation)**\n- Background: transparent or \\`#171717\\`\n- Radius: 64px–100px\n- Use: Tab navigation, section selectors\n\n### Cards & Containers\n- Background: \\`#ffffff\\`\n- Border: via shadow — \\`rgba(0, 0, 0, 0.08) 0px 0px 0px 1px\\`\n- Radius: 8px (standard), 12px (featured/image cards)\n- Shadow stack: \\`rgba(0,0,0,0.08) 0px 0px 0px 1px, rgba(0,0,0,0.04) 0px 2px 2px, #fafafa 0px 0px 0px 1px\\`\n- Image cards: \\`1px solid #ebebeb\\` with 12px top radius\n- Hover: subtle shadow intensification\n\n### Inputs & Forms\n- Radio: standard styling with focus \\`var(--ds-gray-200)\\` background\n- Focus shadow: \\`1px 0 0 0 var(--ds-gray-alpha-600)\\`\n- Focus outline: \\`2px solid var(--ds-focus-color)\\` — consistent blue focus ring\n- Border: via shadow technique, not traditional border\n\n### Navigation\n- Clean horizontal nav on white, sticky\n- Vercel logotype left-aligned, 262x52px\n- Links: Geist 14px weight 500, \\`#171717\\` text\n- Active: weight 600 or underline\n- CTA: dark pill buttons (\"Start Deploying\", \"Contact Sales\")\n- Mobile: hamburger menu collapse\n- Product dropdowns with multi-level menus\n\n### Image Treatment\n- Product screenshots with \\`1px solid #ebebeb\\` border\n- Top-rounded images: \\`12px 12px 0px 0px\\` radius\n- Dashboard/code preview screenshots dominate feature sections\n- Soft gradient backgrounds behind hero images (pastel multi-color)\n\n### Distinctive Components\n\n**Workflow Pipeline**\n- Three-step horizontal pipeline: Develop → Preview → Ship\n- Each step has its own accent color: Blue → Pink → Red\n- Connected with lines/arrows\n- The visual metaphor for Vercel's core value proposition\n\n**Trust Bar / Logo Grid**\n- Company logos (Perplexity, ChatGPT, Cursor, etc.) in grayscale\n- Horizontal scroll or grid layout\n- Subtle \\`#ebebeb\\` border separation\n\n**Metric Cards**\n- Large number display (e.g., \"10x faster\")\n- Geist 48px weight 600 for the metric\n- Description below in gray body text\n- Shadow-bordered card container\n\n## 5. Layout Principles\n\n### Spacing System\n- Base unit: 8px\n- Scale: 1px, 2px, 3px, 4px, 5px, 6px, 8px, 10px, 12px, 14px, 16px, 32px, 36px, 40px\n- Notable gap: jumps from 16px to 32px — no 20px or 24px in primary scale\n\n### Grid & Container\n- Max content width: approximately 1200px\n- Hero: centered single-column with generous top padding\n- Feature sections: 2–3 column grids for cards\n- Full-width dividers using \\`border-bottom: 1px solid #171717\\`\n- Code/dashboard screenshots as full-width or contained with border\n\n### Whitespace Philosophy\n- **Gallery emptiness**: Massive vertical padding between sections (80px–120px+). The white space IS the design — it communicates that Vercel has nothing to prove and nothing to hide.\n- **Compressed text, expanded space**: The aggressive negative letter-spacing on headlines is counterbalanced by generous surrounding whitespace. The text is dense; the space around it is vast.\n- **Section rhythm**: White sections alternate with white sections — there's no color variation between sections. Separation comes from borders (shadow-borders) and spacing alone.\n\n### Border Radius Scale\n- Micro (2px): Inline code snippets, small spans\n- Subtle (4px): Small containers\n- Standard (6px): Buttons, links, functional elements\n- Comfortable (8px): Cards, list items\n- Image (12px): Featured cards, image containers (top-rounded)\n- Large (64px): Tab navigation pills\n- XL (100px): Large navigation links\n- Full Pill (9999px): Badges, status pills, tags\n- Circle (50%): Menu toggle, avatar containers\n\n## 6. Depth & Elevation\n\n| Level | Treatment | Use |\n|-------|-----------|-----|\n| Flat (Level 0) | No shadow | Page background, text blocks |\n| Ring (Level 1) | \\`rgba(0,0,0,0.08) 0px 0px 0px 1px\\` | Shadow-as-border for most elements |\n| Light Ring (Level 1b) | \\`rgb(235,235,235) 0px 0px 0px 1px\\` | Lighter ring for tabs, images |\n| Subtle Card (Level 2) | Ring + \\`rgba(0,0,0,0.04) 0px 2px 2px\\` | Standard cards with minimal lift |\n| Full Card (Level 3) | Ring + Subtle + \\`rgba(0,0,0,0.04) 0px 8px 8px -8px\\` + inner \\`#fafafa\\` ring | Featured cards, highlighted panels |\n| Focus (Accessibility) | \\`2px solid hsla(212, 100%, 48%, 1)\\` outline | Keyboard focus on all interactive elements |\n\n**Shadow Philosophy**: Vercel has arguably the most sophisticated shadow system in modern web design. Rather than using shadows for elevation in the traditional Material Design sense, Vercel uses multi-value shadow stacks where each layer has a distinct architectural purpose: one creates the \"border\" (0px spread, 1px), another adds ambient softness (2px blur), another handles depth at distance (8px blur with negative spread), and an inner ring (\\`#fafafa\\`) creates the subtle highlight that makes the card \"glow\" from within. This layered approach means cards feel built, not floating.\n\n### Decorative Depth\n- Hero gradient: soft, pastel multi-color gradient wash behind hero content (barely visible, atmospheric)\n- Section borders: \\`1px solid #171717\\` (full dark line) between major sections\n- No background color variation — depth comes entirely from shadow layering and border contrast\n\n## 7. Do's and Don'ts\n\n### Do\n- Use Geist Sans with aggressive negative letter-spacing at display sizes (-2.4px to -2.88px at 48px)\n- Use shadow-as-border (\\`0px 0px 0px 1px rgba(0,0,0,0.08)\\`) instead of traditional CSS borders\n- Enable \\`\"liga\"\\` on all Geist text — ligatures are structural, not optional\n- Use the three-weight system: 400 (body), 500 (UI), 600 (headings)\n- Apply workflow accent colors (Red/Pink/Blue) only in their workflow context\n- Use multi-layer shadow stacks for cards (border + elevation + ambient + inner highlight)\n- Keep the color palette achromatic — grays from \\`#171717\\` to \\`#ffffff\\` are the system\n- Use \\`#171717\\` instead of \\`#000000\\` for primary text — the micro-warmth matters\n\n### Don't\n- Don't use positive letter-spacing on Geist Sans — it's always negative or zero\n- Don't use weight 700 (bold) on body text — 600 is the maximum, used only for headings\n- Don't use traditional CSS \\`border\\` on cards — use the shadow-border technique\n- Don't introduce warm colors (oranges, yellows, greens) into the UI chrome\n- Don't apply the workflow accent colors (Ship Red, Preview Pink, Develop Blue) decoratively\n- Don't use heavy shadows (> 0.1 opacity) — the shadow system is whisper-level\n- Don't increase body text letter-spacing — Geist is designed to run tight\n- Don't use pill radius (9999px) on primary action buttons — pills are for badges/tags only\n- Don't skip the inner \\`#fafafa\\` ring in card shadows — it's the glow that makes the system work\n\n## 8. Responsive Behavior\n\n### Breakpoints\n| Name | Width | Key Changes |\n|------|-------|-------------|\n| Mobile Small | <400px | Tight single column, minimal padding |\n| Mobile | 400–600px | Standard mobile, stacked layout |\n| Tablet Small | 600–768px | 2-column grids begin |\n| Tablet | 768–1024px | Full card grids, expanded padding |\n| Desktop Small | 1024–1200px | Standard desktop layout |\n| Desktop | 1200–1400px | Full layout, maximum content width |\n| Large Desktop | >1400px | Centered, generous margins |\n\n### Touch Targets\n- Buttons use comfortable padding (8px–16px vertical)\n- Navigation links at 14px with adequate spacing\n- Pill badges have 10px horizontal padding for tap targets\n- Mobile menu toggle uses 50% radius circular button\n\n### Collapsing Strategy\n- Hero: display 48px → scales down, maintains negative tracking proportionally\n- Navigation: horizontal links + CTAs → hamburger menu\n- Feature cards: 3-column → 2-column → single column stacked\n- Code screenshots: maintain aspect ratio, may horizontally scroll\n- Trust bar logos: grid → horizontal scroll\n- Footer: multi-column → stacked single column\n- Section spacing: 80px+ → 48px on mobile\n\n### Image Behavior\n- Dashboard screenshots maintain border treatment at all sizes\n- Hero gradient softens/simplifies on mobile\n- Product screenshots use responsive images with consistent border radius\n- Full-width sections maintain edge-to-edge treatment\n\n## 9. Agent Prompt Guide\n\n### Quick Color Reference\n- Primary CTA: Vercel Black (\\`#171717\\`)\n- Background: Pure White (\\`#ffffff\\`)\n- Heading text: Vercel Black (\\`#171717\\`)\n- Body text: Gray 600 (\\`#4d4d4d\\`)\n- Border (shadow): \\`rgba(0, 0, 0, 0.08) 0px 0px 0px 1px\\`\n- Link: Link Blue (\\`#0072f5\\`)\n- Focus ring: Focus Blue (\\`hsla(212, 100%, 48%, 1)\\`)\n\n### Example Component Prompts\n- \"Create a hero section on white background. Headline at 48px Geist weight 600, line-height 1.00, letter-spacing -2.4px, color #171717. Subtitle at 20px Geist weight 400, line-height 1.80, color #4d4d4d. Dark CTA button (#171717, 6px radius, 8px 16px padding) and ghost button (white, shadow-border rgba(0,0,0,0.08) 0px 0px 0px 1px, 6px radius).\"\n- \"Design a card: white background, no CSS border. Use shadow stack: rgba(0,0,0,0.08) 0px 0px 0px 1px, rgba(0,0,0,0.04) 0px 2px 2px, #fafafa 0px 0px 0px 1px. Radius 8px. Title at 24px Geist weight 600, letter-spacing -0.96px. Body at 16px weight 400, #4d4d4d.\"\n- \"Build a pill badge: #ebf5ff background, #0068d6 text, 9999px radius, 0px 10px padding, 12px Geist weight 500.\"\n- \"Create navigation: white sticky header. Geist 14px weight 500 for links, #171717 text. Dark pill CTA 'Start Deploying' right-aligned. Shadow-border on bottom: rgba(0,0,0,0.08) 0px 0px 0px 1px.\"\n- \"Design a workflow section showing three steps: Develop (text color #0a72ef), Preview (#de1d8d), Ship (#ff5b4f). Each step: 14px Geist Mono uppercase label + 24px Geist weight 600 title + 16px weight 400 description in #4d4d4d.\"\n\n### Iteration Guide\n1. Always use shadow-as-border instead of CSS border — \\`0px 0px 0px 1px rgba(0,0,0,0.08)\\` is the foundation\n2. Letter-spacing scales with font size: -2.4px at 48px, -1.28px at 32px, -0.96px at 24px, normal at 14px\n3. Three weights only: 400 (read), 500 (interact), 600 (announce)\n4. Color is functional, never decorative — workflow colors (Red/Pink/Blue) mark pipeline stages only\n5. The inner \\`#fafafa\\` ring in card shadows is what gives Vercel cards their subtle inner glow\n6. Geist Mono uppercase for technical labels, Geist Sans for everything else\n`;\n"],"mappings":";AACO,IAAM,cAAc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;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":[]}
|