registry://designs/voltagent-awesome-design-md-revolut
Revolut
### Revolut - Digital banking. - Sleek dark interface, gradient cards, fintech precision - Revolut's marketing surfaces pair a stark black canvas with the brand's
registry://designs/voltagent-awesome-design-md-revolut
### Revolut - Digital banking. - Sleek dark interface, gradient cards, fintech precision - Revolut's marketing surfaces pair a stark black canvas with the brand's
| version | alpha |
| name | Revolut |
| description | | Revolut's marketing surfaces pair a stark black canvas with the brand's cobalt-violet (`#494fdf`) and a wide accent palette of deep, fully-saturated product colours β teal, light-blue, deep pink, light-green, warning orange. The system reads as fintech-meets-product-brochure: oversized 80pxβ136px Aeonik Pro display headlines, generous whitespace, photography-led hero bands, and full-width product mockups (cards, phones, terminals) shown as hero objects inside near-black sections. Most surfaces are either black or off-white; pill-shaped buttons and rounded-12/20px content cards carry the consumer-financial-app feel without crossing into playful territory. |
| colors | primary: "#494fdf" primary-bright: "#4f55f1" primary-deep: "#3a40c4" on-primary: "#ffffff" ink: "#191c1f" body: "#1f2226" charcoal: "#3a3d40" mute: "#505a63" ash: "#5c5e60" stone: "#8d969e" faint: "#c9c9cd" on-dark: "#ffffff" on-dark-mute: "rgba(255,255,255,0.72)" canvas-light: "#ffffff" canvas-dark: "#000000" surface-soft: "#f4f4f4" surface-card: "#ffffff" surface-deep: "#0a0a0a" surface-elevated: "#16181a" hairline-light: "#e2e2e7" hairline-dark: "rgba(255,255,255,0.12)" hairline-strong: "#191c1f" divider-soft: "rgba(255,255,255,0.06)" accent-teal: "#00a87e" accent-blue-link: "#376cd5" accent-light-blue: "#007bc2" accent-light-green: "#428619" accent-green-text: "#006400" accent-yellow: "#b09000" accent-warning: "#ec7e00" accent-pink: "#e61e49" accent-danger: "#e23b4a" accent-deep-red: "#8b0000" accent-brown: "#936d62" link: "#376cd5" |
| typography | display-xxl: fontFamily: Aeonik Pro fontSize: 136px fontWeight: 500 lineHeight: 1.0 letterSpacing: -2.72px display-xl: fontFamily: Aeonik Pro fontSize: 80px fontWeight: 500 lineHeight: 1.0 letterSpacing: -0.8px display-lg: fontFamily: Aeonik Pro fontSize: 48px fontWeight: 500 lineHeight: 1.21 letterSpacing: -0.48px display-md: fontFamily: Aeonik Pro fontSize: 40px fontWeight: 500 lineHeight: 1.2 letterSpacing: -0.4px heading-lg: fontFamily: Aeonik Pro fontSize: 32px fontWeight: 500 lineHeight: 1.19 letterSpacing: -0.32px heading-md: fontFamily: Aeonik Pro fontSize: 24px fontWeight: 500 lineHeight: 1.33 letterSpacing: 0 heading-sm: fontFamily: Aeonik Pro fontSize: 20px fontWeight: 500 lineHeight: 1.4 letterSpacing: 0 body-lg: fontFamily: Inter fontSize: 18px fontWeight: 400 lineHeight: 1.56 letterSpacing: -0.09px body-md: fontFamily: Inter fontSize: 16px fontWeight: 400 lineHeight: 1.5 letterSpacing: 0.24px body-md-bold: fontFamily: Inter fontSize: 16px fontWeight: 600 lineHeight: 1.5 letterSpacing: 0.16px body-sm: fontFamily: Inter fontSize: 14px fontWeight: 400 lineHeight: 1.43 button-lg: fontFamily: Aeonik Pro fontSize: 20px fontWeight: 500 lineHeight: 1.4 button-md: fontFamily: Inter fontSize: 16px fontWeight: 600 lineHeight: 1.5 letterSpacing: 0.24px button-sm: fontFamily: Inter fontSize: 14px fontWeight: 600 lineHeight: 1.43 caption: fontFamily: Inter fontSize: 13px fontWeight: 400 lineHeight: 1.4 link-emph: fontFamily: Inter fontSize: 16px fontWeight: 700 lineHeight: 1.5 letterSpacing: 0.24px |
| rounded | none: 0px sm: 8px md: 12px lg: 20px xl: 28px full: 9999px |
| spacing | xxs: 4px xs: 6px sm: 8px md: 14px lg: 16px xl: 24px xxl: 32px xxxl: 48px block: 80px section: 88px band: 120px |
| components | button-primary: backgroundColor: "{colors.canvas-light}" textColor: "{colors.canvas-dark}" typography: "{typography.button-md}" rounded: "{rounded.full}" padding: 14px 28px height: 48px button-primary-pressed: backgroundColor: "{colors.faint}" textColor: "{colors.canvas-dark}" typography: "{typography.button-md}" rounded: "{rounded.full}" button-dark: backgroundColor: "{colors.canvas-dark}" textColor: "{colors.on-dark}" typography: "{typography.button-md}" rounded: "{rounded.full}" padding: 14px 28px height: 48px button-soft: backgroundColor: "{colors.surface-soft}" textColor: "{colors.ink}" typography: "{typography.button-md}" rounded: "{rounded.full}" padding: 14px 28px height: 48px button-outline-light: backgroundColor: "{colors.canvas-light}" textColor: "{colors.ink}" typography: "{typography.button-md}" rounded: "{rounded.full}" padding: 13px 27px height: 48px button-outline-dark: backgroundColor: "{colors.canvas-dark}" textColor: "{colors.on-dark}" typography: "{typography.button-md}" rounded: "{rounded.full}" padding: 13px 27px height: 48px button-pill-sm: backgroundColor: "{colors.surface-soft}" textColor: "{colors.ink}" typography: "{typography.button-sm}" rounded: "{rounded.full}" padding: 8px 16px height: 36px text-input: backgroundColor: "{colors.canvas-light}" textColor: "{colors.ink}" typography: "{typography.body-md}" rounded: "{rounded.md}" padding: 14px 16px height: 56px hero-band-dark: backgroundColor: "{colors.canvas-dark}" textColor: "{colors.on-dark}" typography: "{typography.display-xxl}" rounded: "{rounded.none}" padding: 88px 24px hero-band-photo: backgroundColor: "{colors.canvas-dark}" textColor: "{colors.on-dark}" typography: "{typography.display-xl}" rounded: "{rounded.none}" padding: 0 feature-card-light: backgroundColor: "{colors.canvas-light}" textColor: "{colors.ink}" typography: "{typography.body-md}" rounded: "{rounded.lg}" padding: 32px feature-card-dark: backgroundColor: "{colors.surface-elevated}" textColor: "{colors.on-dark}" typography: "{typography.body-md}" rounded: "{rounded.lg}" padding: 32px plan-card: backgroundColor: "{colors.surface-elevated}" textColor: "{colors.on-dark}" typography: "{typography.body-md}" rounded: "{rounded.lg}" padding: 32px plan-card-featured: backgroundColor: "{colors.primary}" textColor: "{colors.on-primary}" typography: "{typography.body-md}" rounded: "{rounded.lg}" padding: 32px product-mockup: backgroundColor: "{colors.canvas-dark}" textColor: "{colors.on-dark}" rounded: "{rounded.xl}" padding: 48px download-tile: backgroundColor: "{colors.surface-soft}" textColor: "{colors.ink}" typography: "{typography.body-sm}" rounded: "{rounded.md}" padding: 12px 20px height: 56px badge-tag: backgroundColor: "{colors.surface-soft}" textColor: "{colors.ink}" typography: "{typography.caption}" rounded: "{rounded.full}" padding: 4px 12px badge-feature: backgroundColor: "{colors.primary}" textColor: "{colors.on-primary}" typography: "{typography.caption}" rounded: "{rounded.full}" padding: 4px 12px nav-bar: backgroundColor: "{colors.canvas-dark}" textColor: "{colors.on-dark}" typography: "{typography.button-md}" rounded: "{rounded.none}" height: 64px sub-nav-pill: backgroundColor: "{colors.surface-elevated}" textColor: "{colors.on-dark}" typography: "{typography.button-sm}" rounded: "{rounded.full}" padding: 8px 16px footer: backgroundColor: "{colors.canvas-dark}" textColor: "{colors.on-dark-mute}" typography: "{typography.body-sm}" rounded: "{rounded.none}" padding: 80px 24px |
Revolut's marketing canvas operates in a high-contrast two-mode system: a
near-black storytelling canvas ({colors.canvas-dark} β #000000)
that hosts hero bands, product mockups, and the planning section, alternating
with white catalogue bands ({colors.canvas-light} β #ffffff) that
host comparison tables, FAQ rows, and download tiles. The two modes switch
in full-bleed bands rather than soft transitions; sections slam against each
other to create the magazine-spread rhythm the brand is known for.
The display typography is Aeonik Pro at weight 500, used at sizes from
20px to 136px. The flagship hero ("Banking & Beyond", "Join the 70+ million
using Revolut") sits at 80β136px with lineHeight: 1.0 and tight negative
letter-spacing. Body type is Inter at weight 400 β open-source,
no-nonsense, paired with positive tracking (0.24px) on UI labels for
slightly more mechanical precision.
The brand accent is {colors.primary} (#494fdf) β a saturated cobalt
violet β but it appears scarcely on marketing surfaces. The actual primary
CTA on the hero is the white pill on black ("Choose your subscription"),
and the cobalt violet is reserved for featured plan cards, secondary CTAs in
white sections, and the brand glyph itself. A wide secondary palette of deep
teal, light-blue, deep-pink, light-green, warning orange, and yellow appears
inside product mockups and feature illustrations β never as button surfaces.
Key Characteristics:
{colors.canvas-dark} (true black) for storytelling, {colors.canvas-light} (white) for browsing β switched in full-bleed bands.lineHeight: 1.0 and large negative letter-spacing on display sizes.{component.button-primary} β a white pill with black text, sitting on the dark canvas as the brightest pixel. Cobalt-violet {colors.primary} is reserved for featured plan cards and secondary CTAs.{rounded.full}); content cards use {rounded.lg} (20px); inputs and small chips use {rounded.md} (12px).{colors.primary} β #494fdf): the brand accent. Reserved for featured plan cards ({component.plan-card-featured}), the brand wordmark icon, and secondary CTAs in white-canvas regions.{colors.primary-bright} β #4f55f1): a one-step-up bright variant used in inline link colour and accent-photo headers.{colors.primary-deep} β #3a40c4): the active/pressed state of cobalt elements.{colors.on-primary} β #ffffff): label colour on top of {colors.primary} surfaces.{colors.canvas-light} β #ffffff): the white catalogue mode for FAQ, download tiles, comparison tables.{colors.canvas-dark} β #000000): the storytelling canvas β true black, never near-black.{colors.surface-soft} β #f4f4f4): a subtle off-white used on download tiles, soft buttons, and inset card groups inside white bands.{colors.surface-card} β #ffffff): pure white card surface, used for feature cards in white-canvas regions.{colors.surface-deep} β #0a0a0a): a one-step-up dark surface for inset cards inside black-canvas regions.{colors.surface-elevated} β #16181a): the planning-section card background β slightly luminous, lifts plan cards off the black canvas.{colors.hairline-light} β #e2e2e7): 1px dividers inside white bands.{colors.hairline-dark} β rgba(255,255,255,0.12)): the corresponding low-contrast divider in dark regions.{colors.hairline-strong} β #191c1f): structural full-strength dividers and the outline of light cards.{colors.ink} β #191c1f): primary text colour. Notably warmer than pure black, paired with the white canvas for body legibility.{colors.body} β #1f2226): long-form body where {colors.ink} would feel slightly too sharp.{colors.charcoal} β #3a3d40): captions, secondary nav.{colors.mute} β #505a63): supporting text.{colors.ash} β #5c5e60): tertiary text, footer copy.{colors.stone} β #8d969e): metadata, subtle captions.{colors.faint} β #c9c9cd): disabled foreground, hairline replacements.{colors.on-dark} β #ffffff): primary text on {colors.canvas-dark}.{colors.on-dark-mute} β rgba(255,255,255,0.72)): secondary text in dark regions.{colors.accent-teal} β #00a87e): used in product mockup illustrations.{colors.accent-light-blue} β #007bc2): inline link colour in dark photo headers.{colors.accent-blue-link} β #376cd5): default inline link colour on white surfaces.{colors.accent-light-green} β #428619): success / positive product callouts.{colors.accent-green-text} β #006400): inline success text.{colors.accent-yellow} β #b09000): caution / pending state in product mockups.{colors.accent-warning} β #ec7e00): full-saturation orange used in warning illustrations.{colors.accent-pink} β #e61e49): deep pink β used inside product photography and category iconography.{colors.accent-danger} β #e23b4a): destructive / error state.{colors.accent-deep-red} β #8b0000): inline error text.{colors.accent-brown} β #936d62): a single warm-neutral used in metals tier card chrome.{colors.link} β #376cd5): default inline link colour. Same as {colors.accent-blue-link}.Revolut ships a two-family stack:
0.16β0.24px) on UI labels.When Aeonik Pro cannot be licensed, Inter Display, General Sans, or SΓΆhne are credible substitutes β all share the warm geometric character. Apply -1% letter-spacing on display sizes to match the original tightness.
| Token | Size | Weight | Line Height | Letter Spacing | Use |
|---|---|---|---|---|---|
{typography.display-xxl} | 136px | 500 | 1.0 | -2.72px | The flagship hero ("Banking & Beyond"). One per page. |
{typography.display-xl} | 80px | 500 | 1.0 | -0.8px | Section openers ("Join the 70+ million using Revolut"). |
{typography.display-lg} | 48px | 500 | 1.21 | -0.48px | Sub-section titles. |
{typography.display-md} | 40px | 500 | 1.2 | -0.4px | Feature card titles. |
{typography.heading-lg} | 32px | 500 | 1.19 | -0.32px | Plan card titles. |
{typography.heading-md} | 24px | 500 | 1.33 | 0 | Section sub-titles. |
{typography.heading-sm} | 20px | 500 | 1.4 | 0 | List headers, prominent labels. |
{typography.body-lg} | 18px | 400 | 1.56 | -0.09px | Marketing prose. |
{typography.body-md} | 16px | 400 | 1.5 | 0.24px | Default body. |
{typography.body-md-bold} | 16px | 600 | 1.5 | 0.16px | Emphatic body. |
{typography.body-sm} | 14px | 400 | 1.43 | 0 | Captions, metadata. |
{typography.button-lg} | 20px | 500 | 1.4 | 0 | Hero CTAs (Aeonik Pro). |
{typography.button-md} | 16px | 600 | 1.5 | 0.24px | Default button label. |
{typography.button-sm} | 14px | 600 | 1.43 | 0 | Pill chips, sub-nav. |
{typography.caption} | 13px | 400 | 1.4 | 0 | Footer disclosure, regulatory text. |
{typography.link-emph} | 16px | 700 | 1.5 | 0.24px | Emphatic inline link in dark mode. |
lineHeight: 1.0 (or 1.19β1.21 below 48px). The negative letter-spacing scales with size β bigger types tighten more.0.24px) β the small spacing nudge makes UI labels feel slightly mechanical, fitting fintech precision.{typography.button-lg} variant; everything below the hero uses the Inter {typography.button-md}.{typography.link-emph}) so they hold contrast against the canvas without using the cobalt accent.When Aeonik Pro is unavailable, clamp display lineHeight to 1.0 explicitly and apply -1% letter-spacing on display sizes. Inter Display, General Sans, or SΓΆhne will read closest to the original. Inter is open-source and should be used directly.
{spacing.xxs} 4px Β· {spacing.xs} 6px Β· {spacing.sm} 8px Β· {spacing.md} 14px Β· {spacing.lg} 16px Β· {spacing.xl} 24px Β· {spacing.xxl} 32px Β· {spacing.xxxl} 48px Β· {spacing.block} 80px Β· {spacing.section} 88px Β· {spacing.band} 120px.{spacing.section} (88px) vertical between bands; {spacing.band} (120px) on the hero band and the closing planning section.{spacing.xxl} (32px) on {component.feature-card-light}, {component.plan-card}, {component.feature-card-dark}.{colors.hairline-light} dividers replace shadow on white surfaces; {colors.hairline-dark} carries the corresponding role in dark regions.| Level | Treatment | Use |
|---|---|---|
| 0 β flat | No shadow, no border | Default canvas bands (light or dark), full-bleed hero. |
| 1 β surface card | {colors.surface-card} (white) on {colors.surface-soft} band | Feature cards inside light bands. |
| 2 β surface elevated dark | {colors.surface-elevated} (#16181a) on {colors.canvas-dark} | Plan cards inside the planning section. |
| 3 β featured surface | {colors.primary} on {colors.canvas-dark} | Featured plan card (cobalt violet inversion). |
| 4 β product mockup | Full-bleed photo asset | Hero phone / card / terminal mockup bands. |
The system has no traditional drop-shadow language. Surfaces register depth via colour-blocking (light β dark band switches) and surface-luminance shifts ({colors.canvas-dark} β {colors.surface-elevated}). Photography mockups carry their own depth from the asset itself.
{colors.canvas-dark}, with the device's own glow providing the only atmospheric depth. No additional gradients, no shadows.{component.plan-card-featured} sits inside the otherwise dark planning grid as a single saturated colour block, marking the recommended tier visually.{colors.accent-brown} and a deep gradient on metals card mockups to signal premium without resorting to gold-on-black metallic effects.| Token | Value | Use |
|---|---|---|
{rounded.none} | 0px | Hero bands, full-bleed sections, footer. |
{rounded.sm} | 8px | Inline tags, small chips. |
{rounded.md} | 12px | Form inputs, download tiles. |
{rounded.lg} | 20px | Feature cards, plan cards. |
{rounded.xl} | 28px | Product mockup containers. |
{rounded.full} | 9999px | Buttons, pills, badges, tabs. |
{rounded.xl} corners on the device chrome.{rounded.lg} corners.{rounded.xl} corners and substantial padding around the device.{rounded.lg} corners.button-primary β white CTA on dark
{colors.canvas-light}, label {colors.canvas-dark}, type {typography.button-md}, padding 14px 28px, rounded: {rounded.full}, height 48px.button-primary-pressed (background {colors.faint}).button-dark β dark CTA on light
{colors.canvas-dark}, label {colors.on-dark}, type {typography.button-md}, rounded: {rounded.full}.{component.button-primary} β used inside white catalogue bands.button-soft β soft surface CTA
{colors.surface-soft}, label {colors.ink}, type {typography.button-md}, rounded: {rounded.full}.button-outline-light β outlined CTA on light
{colors.canvas-light}, label {colors.ink}, 1px solid {colors.hairline-strong}, type {typography.button-md}, rounded: {rounded.full}.{component.button-dark}.button-outline-dark β outlined CTA on dark
{colors.canvas-dark}, label {colors.on-dark}, 1px solid {colors.on-dark}, type {typography.button-md}, rounded: {rounded.full}, padding 13px 27px, height 48px.{component.button-outline-light}; used inside dark hero bands as a tertiary action when paired with {component.button-primary}.button-pill-sm β small pill chip
{colors.surface-soft}, label {colors.ink}, type {typography.button-sm}, rounded: {rounded.full}, padding 8px 16px, height 36px.hero-band-dark β full-bleed dark hero
{colors.canvas-dark}, text {colors.on-dark}, type {typography.display-xxl} for the title, padding {spacing.section} (88px) vertical, rounded: {rounded.none}.hero-band-photo β photo-led hero
{colors.canvas-dark} with full-bleed product photography, text {colors.on-dark}, type {typography.display-xl}, rounded: {rounded.none}.feature-card-light β feature card on white
{colors.surface-card}, text {colors.ink}, 1px solid {colors.hairline-light}, type {typography.body-md}, rounded: {rounded.lg}, padding {spacing.xxl} (32px).feature-card-dark β feature card on dark
{colors.surface-elevated}, text {colors.on-dark}, type {typography.body-md}, rounded: {rounded.lg}, padding {spacing.xxl}.plan-card β subscription plan card
{colors.surface-elevated}, text {colors.on-dark}, type {typography.body-md}, rounded: {rounded.lg}, padding {spacing.xxl} (32px).{typography.heading-lg} ("Standard", "Plus", "Premium", "Metal", "Ultra").plan-card-featured β featured plan card
{colors.primary}, text {colors.on-primary}, type {typography.body-md}, rounded: {rounded.lg}, padding {spacing.xxl}.{component.plan-card} β used on the recommended tier.product-mockup β full-bleed product asset
{colors.canvas-dark}, the asset itself fills the band, rounded: {rounded.xl} on the device chrome.download-tile β app store download tile
{colors.surface-soft}, text {colors.ink}, type {typography.body-sm}, rounded: {rounded.md}, padding 12px 20px, height 56px.text-input β default input
{colors.canvas-light}, text {colors.ink}, type {typography.body-md}, 1px solid {colors.hairline-light}, rounded: {rounded.md}, padding 14px 16px, height 56px.nav-bar β top nav (desktop)
{colors.canvas-dark}, text {colors.on-dark}, type {typography.button-md}, height 64px.{component.button-primary}.nav-bar (mobile)
sub-nav-pill β sub-nav chip
{component.sub-nav-pill} styling.badge-tag β neutral tag
{colors.surface-soft}, text {colors.ink}, type {typography.caption}, rounded: {rounded.full}, padding 4px 12px.badge-feature β feature highlight badge
{colors.primary}, text {colors.on-primary}, type {typography.caption}, rounded: {rounded.full}, padding 4px 12px.footer β global footer
{colors.canvas-dark}, text {colors.on-dark-mute}, type {typography.body-sm}, rounded: {rounded.none}, padding 80px 24px.{colors.divider-soft}.{colors.canvas-dark} (storytelling) and {colors.canvas-light} (catalogue). The two-mode rhythm is core.{component.button-primary} (white pill on dark) as the primary CTA on every dark hero band. It's the brand's loudest action.{colors.primary} for the featured plan card and the brand wordmark β the cobalt should feel like a deliberate stamp, not a colour theme.lineHeight: 1.0 and large negative letter-spacing.{rounded.full} to every button and pill; {rounded.lg} (20px) to feature and plan cards; {rounded.md} (12px) to inputs.{colors.accent-teal}, {colors.accent-pink}, {colors.accent-light-green}, etc.) inside product illustrations and iconography only.{colors.accent-teal}, {colors.accent-pink}, etc.) as button surfaces. They live inside illustrations only.#000000, not #0a0a0a.{colors.primary} is for the featured plan card surface, not large prose.lineHeight past 1.0 on display sizes. Tight stacking is structural.{colors.canvas-dark} with another dark surface beyond {colors.surface-elevated}. The surface ladder has only two dark steps.| Name | Width | Key Changes |
|---|---|---|
| Desktop XL | β₯ 1440px | 4-up plan grid, full-bleed product mockup bands, max content 1200. |
| Desktop | 1280β1439px | Container shrinks; xl side padding. |
| Tablet Large | 1024β1279px | Plan grid 4-up; feature grid 3-up. |
| Tablet | 768β1023px | Plan grid 2-up; feature grid 2-up. |
| Mobile Large | 426β767px | Plan grid 1-up; feature grid 1-up; nav collapses to hamburger; hero display-xxl clamps to 64px. |
| Mobile | β€ 425px | All grids 1-up; hero clamps to 48px; section padding {spacing.section} collapses to 64px. |
{component.button-primary} is 48px.{component.text-input} is 56px tall β fintech-grade accessibility.{component.button-pill-sm} (36px) is bumped to 44px on mobile via padding adjustment.{component.button-primary} stay anchored.{typography.display-xxl} clamps: 136px β 80px β 64px β 48px across the breakpoint ladder.{colors.canvas-dark} / {colors.canvas-light} pair with {rounded.full} for buttons and {rounded.lg} for cards.{colors.primary}, {component.plan-card-featured}, {rounded.lg}) β do not paraphrase.npx @google/design.md lint DESIGN.md after edits; orphaned-tokens warnings will catch unused entries.-pressed, -featured, -disabled) β do not bury them in prose.{typography.body-md} (Inter 400 with positive tracking); reach for {typography.body-md-bold} only on emphasis.{colors.primary} scarce β if more than one cobalt-violet element appears per viewport, ask whether one should drop to {component.plan-card} ({colors.surface-elevated}) instead.button-primary-pressed only; other components rely on focus-ring (browser default) for interactive feedback.{colors.accent-teal} through {colors.accent-brown}) is captured from the extracted token set, but exact usage inside product illustrations varies per market and product line; document per-illustration rather than as system buttons.Still exploring the format? Browse the full DESIGN.md registry or draft a new system with our DESIGN.md generator.
Community listing for AI design workflowsβnot necessarily affiliated with any brand referenced in the name or summary. For context on the format, see Google Stitch.
Share your design system with AI agents worldwide