Composio Composio(AI 工具集成)
Developer-infrastructure dark mode: a near-black canvas (#0f0f0f), a single deep electric blue (#0007cd) for CTAs and the radial spotlight glow behind the hero, and abcDiatype at weight 500 throughout. The brand signature is a 2×2 terminal-mockup grid glowing blue at its center.
开发者基础设施式暗色:近黑画布(#0f0f0f),唯一的深电蓝(#0007cd)留给 CTA 和首屏背后的径向聚光光晕,abcDiatype 全程 500 字重。品牌签名是一块 2×2 终端模拟网格,中央透出蓝色辉光。
Ship products people love
One platform for your team — design, build, and launch faster.
Fast by default
Performance built in from the start.
Built to scale
Grows with your team and traffic.
Made for teams
Collaboration at every layer.
Our reading of the look风格解读
Single voltage: deep electric blue #0007cd appears only on primary CTAs, the wordmark, and atmospheric glows (#1a26ff at the glow center) — scarcity keeps it loud.
只有一道电压:深电蓝 #0007cd 只出现在主 CTA、字标和氛围光晕上(光晕中心用 #1a26ff)—— 克制才显得响亮。
Elevation is a brightness ladder: canvas #0f0f0f → cards #181818 → elevated #222222, with pure black #000000 reserved for code and terminal surfaces — no drop shadows.
纵深感是亮度阶梯:画布 #0f0f0f → 卡片 #181818 → 浮起层 #222222,纯黑 #000000 只留给代码和终端表面 —— 没有投影。
Every hero sits on a centered radial blue spotlight glow; the 2×2 terminal-mockup grid is the brand's hero anchor.
每个首屏都垫一团居中的径向蓝色聚光;2×2 终端模拟网格是品牌的首屏锚点。
One sans family (abcDiatype; substitute Inter) at weight 500 for every display size with negative tracking; JetBrains Mono for all code.
单一无衬线家族(abcDiatype,可用 Inter 替代),所有标题字号统一 500 字重加负字距;代码全部用 JetBrains Mono。
CTAs use an 8px radius, never full pills — the compact 8/12/16px geometry reads developer tool, not consumer brand.
CTA 用 8px 圆角,从不用全圆角胶囊 —— 紧凑的 8/12/16px 几何读起来是开发工具,不是消费品牌。
Color palette色板
Typography字体
How to use it 怎么用
Copy the DESIGN.md below into your project root, then tell your coding agent: “Build the page following DESIGN.md.” It also works with Google Stitch and any agent that reads markdown.
把下面的 DESIGN.md 复制到你的项目根目录,然后告诉编程代理:「按 DESIGN.md 搭这个页面」。Google Stitch 和任何能读 markdown 的代理都适用。
DESIGN.md — drop it into your projectDESIGN.md —— 放进你的项目
---
version: alpha
name: Composio-design-analysis
description: A developer-tools brand for AI-agent tool integration whose marketing surfaces lean into a dark, technical aesthetic with a single deep-electric-blue voltage (`#0007cd`). The page floor is near-black (`#0f0f0f`); cards float above on subtle gray-tinted surfaces. abcDiatype carries display and body in a single sans family with weights 400-600. The brand's strongest visual signature is a four-pane terminal-style mockup (a 2×2 grid of dark code/output panels) with a central blue spotlight glow — used as the homepage hero anchor.
colors:
primary: "#0007cd"
primary-active: "#0005a3"
primary-glow: "#1a26ff"
ink: "#ffffff"
body: "#a8a8a8"
body-strong: "#ffffff"
muted: "#888888"
muted-soft: "#666666"
hairline: "#222222"
hairline-soft: "#1a1a1a"
hairline-strong: "#333333"
canvas: "#0f0f0f"
canvas-deep: "#000000"
surface-card: "#181818"
surface-card-elevated: "#222222"
surface-strong: "#2a2a2a"
on-primary: "#ffffff"
on-dark: "#ffffff"
accent-cyan: "#00d4ff"
accent-violet: "#7b3aed"
semantic-error: "#ff4d4d"
semantic-success: "#33d17a"
typography:
display-mega:
fontFamily: "'abcDiatype', ui-sans-serif, system-ui, sans-serif"
fontSize: 72px
fontWeight: 500
lineHeight: 1.05
letterSpacing: -2.16px
display-xl:
fontFamily: "'abcDiatype', ui-sans-serif, system-ui, sans-serif"
fontSize: 56px
fontWeight: 500
lineHeight: 1.05
letterSpacing: -1.68px
display-lg:
fontFamily: "'abcDiatype', ui-sans-serif, system-ui, sans-serif"
fontSize: 44px
fontWeight: 500
lineHeight: 1.1
letterSpacing: -1.32px
display-md:
fontFamily: "'abcDiatype', ui-sans-serif, system-ui, sans-serif"
fontSize: 32px
fontWeight: 500
lineHeight: 1.15
letterSpacing: -0.96px
display-sm:
fontFamily: "'abcDiatype', ui-sans-serif, system-ui, sans-serif"
fontSize: 24px
fontWeight: 500
lineHeight: 1.25
letterSpacing: -0.5px
title-md:
fontFamily: "'abcDiatype', ui-sans-serif, system-ui, sans-serif"
fontSize: 18px
fontWeight: 600
lineHeight: 1.4
letterSpacing: 0
title-sm:
fontFamily: "'abcDiatype', ui-sans-serif, system-ui, sans-serif"
fontSize: 16px
fontWeight: 600
lineHeight: 1.4
letterSpacing: 0
body-md:
fontFamily: "'abcDiatype', ui-sans-serif, system-ui, sans-serif"
fontSize: 16px
fontWeight: 400
lineHeight: 1.5
letterSpacing: 0
body-sm:
fontFamily: "'abcDiatype', ui-sans-serif, system-ui, sans-serif"
fontSize: 14px
fontWeight: 400
lineHeight: 1.5
letterSpacing: 0
caption:
fontFamily: "'abcDiatype', ui-sans-serif, system-ui, sans-serif"
fontSize: 13px
fontWeight: 400
lineHeight: 1.4
letterSpacing: 0
caption-uppercase:
fontFamily: "'abcDiatype', ui-sans-serif, system-ui, sans-serif"
fontSize: 11px
fontWeight: 600
lineHeight: 1.4
letterSpacing: 0.88px
textTransform: uppercase
code:
fontFamily: "'JetBrains Mono', 'Fira Code', monospace"
fontSize: 13px
fontWeight: 400
lineHeight: 1.5
letterSpacing: 0
button:
fontFamily: "'abcDiatype', ui-sans-serif, system-ui, sans-serif"
fontSize: 14px
fontWeight: 500
lineHeight: 1.0
letterSpacing: 0
nav-link:
fontFamily: "'abcDiatype', ui-sans-serif, system-ui, sans-serif"
fontSize: 14px
fontWeight: 500
lineHeight: 1.4
letterSpacing: 0
rounded:
none: 0px
xs: 4px
sm: 6px
md: 8px
lg: 12px
xl: 16px
pill: 9999px
full: 9999px
spacing:
xxs: 4px
xs: 8px
sm: 12px
base: 16px
md: 20px
lg: 24px
xl: 32px
xxl: 48px
section: 96px
components:
top-nav-dark:
backgroundColor: "{colors.canvas}"
textColor: "{colors.body-strong}"
typography: "{typography.nav-link}"
height: 64px
button-primary:
backgroundColor: "{colors.primary}"
textColor: "{colors.on-primary}"
typography: "{typography.button}"
rounded: "{rounded.md}"
padding: 10px 18px
height: 40px
button-primary-active:
backgroundColor: "{colors.primary-active}"
textColor: "{colors.on-primary}"
rounded: "{rounded.md}"
button-secondary-dark:
backgroundColor: "{colors.surface-card-elevated}"
textColor: "{colors.body-strong}"
typography: "{typography.button}"
rounded: "{rounded.md}"
padding: 10px 18px
height: 40px
button-outline:
backgroundColor: transparent
textColor: "{colors.body-strong}"
typography: "{typography.button}"
rounded: "{rounded.md}"
padding: 9px 17px
height: 40px
button-tertiary-text:
backgroundColor: transparent
textColor: "{colors.body}"
typography: "{typography.button}"
hero-band:
backgroundColor: "{colors.canvas}"
textColor: "{colors.body-strong}"
typography: "{typography.display-mega}"
padding: 96px
terminal-mockup-grid:
backgroundColor: "{colors.canvas-deep}"
textColor: "{colors.body-strong}"
typography: "{typography.code}"
rounded: "{rounded.xl}"
padding: 32px
terminal-pane:
backgroundColor: "{colors.surface-card}"
textColor: "{colors.body}"
typography: "{typography.code}"
rounded: "{rounded.lg}"
padding: 20px
feature-card:
backgroundColor: "{colors.surface-card}"
textColor: "{colors.body}"
typography: "{typography.title-md}"
rounded: "{rounded.xl}"
padding: 28px
toolkit-card:
backgroundColor: "{colors.surface-card}"
textColor: "{colors.body-strong}"
typography: "{typography.title-sm}"
rounded: "{rounded.lg}"
padding: 20px
toolkit-icon:
backgroundColor: "{colors.surface-card-elevated}"
rounded: "{rounded.md}"
size: 40px
spotlight-glow-card:
backgroundColor: "{colors.surface-card}"
textColor: "{colors.body-strong}"
typography: "{typography.display-md}"
rounded: "{rounded.xl}"
padding: 48px
code-block:
backgroundColor: "{colors.canvas-deep}"
textColor: "{colors.body}"
typography: "{typography.code}"
rounded: "{rounded.lg}"
padding: 20px
badge-pill:
backgroundColor: "{colors.surface-card-elevated}"
textColor: "{colors.body-strong}"
typography: "{typography.caption-uppercase}"
rounded: "{rounded.pill}"
padding: 4px 10px
text-input:
backgroundColor: "{colors.surface-card}"
textColor: "{colors.body-strong}"
typography: "{typography.body-md}"
rounded: "{rounded.md}"
padding: 12px 16px
height: 44px
search-input:
backgroundColor: "{colors.surface-card}"
textColor: "{colors.body-strong}"
typography: "{typography.body-md}"
rounded: "{rounded.md}"
padding: 10px 16px
height: 40px
cta-band-spotlight:
backgroundColor: "{colors.canvas}"
textColor: "{colors.body-strong}"
typography: "{typography.display-lg}"
padding: 96px
testimonial-card:
backgroundColor: "{colors.surface-card}"
textColor: "{colors.body}"
typography: "{typography.body-md}"
rounded: "{rounded.lg}"
padding: 24px
footer-dark:
backgroundColor: "{colors.canvas}"
textColor: "{colors.body}"
typography: "{typography.body-sm}"
padding: 64px 48px
footer-link:
backgroundColor: transparent
textColor: "{colors.body}"
typography: "{typography.body-sm}"
---
## Overview
Composio's marketing site reads like a serious developer-infrastructure brand — closer to Vercel or Stripe Docs in atmosphere than to a typical AI-tools startup. The base canvas is a near-black `{colors.canvas}` (#0f0f0f) holding white type and a single voltage of **deep electric blue** (`{colors.primary}` — #0007cd) carrying every primary CTA, brand wordmark, and atmospheric spotlight glow that backs the homepage hero.
Type runs **abcDiatype** as the single sans family across display, body, navigation, and captions. Display sits at weight 500 — confident but not bombastic. Code blocks and terminal mockups switch to JetBrains Mono.
The page rhythm is monolithic: dark canvas top to bottom with subtle elevation steps via card surfaces. The brand's strongest visual signature is a **four-pane terminal-style mockup** — a 2×2 grid of dark code/output panels with a central blue spotlight glow behind them.
**Key Characteristics:**
- Single accent: `{colors.primary}` (#0007cd) for primary CTAs, wordmark, spotlight glows.
- Single sans family: abcDiatype carries everything except code (JetBrains Mono).
- Dark monolithic canvas: `{colors.canvas}` runs top to bottom; depth from `{colors.surface-card}` and `{colors.surface-card-elevated}` brightness steps.
- Terminal-mockup hero: 2×2 grid of code/output panes is the brand signature.
- Compact pill geometry: CTAs sit at `{rounded.md}` (8px), not full pills — developer-tool dialect.
- Spotlight-glow atmospheric backdrop: a radial blue glow centered behind hero content.
- 96px section rhythm.
## Colors
### Brand & Accent
- **Composio Blue** (`{colors.primary}` — #0007cd): Primary CTAs, wordmark, spotlight glow center.
- **Composio Blue Active** (`{colors.primary-active}` — #0005a3): Press state.
- **Spotlight Glow Tone** (`{colors.primary-glow}` — #1a26ff): Brighter blue used inside radial atmospheric glows.
- **Accent Cyan** (`{colors.accent-cyan}` — #00d4ff): Sparingly on data-flow visualizations.
- **Accent Violet** (`{colors.accent-violet}` — #7b3aed): Inside specific product illustrations only.
### Surface
- **Canvas** (`{colors.canvas}` — #0f0f0f): Page floor — near-black.
- **Canvas Deep** (`{colors.canvas-deep}` — #000000): Pure black for terminal mockup grids and code blocks.
- **Surface Card** (`{colors.surface-card}` — #181818): Default content card.
- **Surface Card Elevated** (`{colors.surface-card-elevated}` — #222222): Terminal panes, secondary buttons.
- **Surface Strong** (`{colors.surface-strong}` — #2a2a2a): Dropdown menus.
### Hairlines
- **Hairline** (`{colors.hairline}` — #222222): Default 1px divider.
- **Hairline Soft** (`{colors.hairline-soft}` — #1a1a1a): Lighter divider.
- **Hairline Strong** (`{colors.hairline-strong}` — #333333): Stronger panel outline.
### Text
- **Ink** (`{colors.ink}` — #ffffff): Display headlines.
- **Body** (`{colors.body}` — #a8a8a8): Default running-text — soft gray.
- **Body Strong** (`{colors.body-strong}` — #ffffff): Same as ink.
- **Muted** (`{colors.muted}` — #888888): Sub-titles, breadcrumbs.
- **Muted Soft** (`{colors.muted-soft}` — #666666): Disabled text.
- **On Primary** (`{colors.on-primary}` — #ffffff): White text on blue CTAs.
### Semantic
- **Success** (`{colors.semantic-success}` — #33d17a): "Online", "active" indicators.
- **Error** (`{colors.semantic-error}` — #ff4d4d): Validation errors.
## Typography
### Font Family
The system runs **abcDiatype** (Lineto) across every text role. Code blocks switch to **JetBrains Mono**. Fallback: `ui-sans-serif, system-ui, sans-serif`.
### Hierarchy
| Token | Size | Weight | Line Height | Letter Spacing | Use |
|---|---|---|---|---|---|
| `{typography.display-mega}` | 72px | 500 | 1.05 | -2.16px | Homepage hero h1 |
| `{typography.display-xl}` | 56px | 500 | 1.05 | -1.68px | Subsidiary heroes |
| `{typography.display-lg}` | 44px | 500 | 1.1 | -1.32px | Section heads |
| `{typography.display-md}` | 32px | 500 | 1.15 | -0.96px | Sub-section heads |
| `{typography.display-sm}` | 24px | 500 | 1.25 | -0.5px | Card group titles |
| `{typography.title-md}` | 18px | 600 | 1.4 | 0 | Component titles |
| `{typography.title-sm}` | 16px | 600 | 1.4 | 0 | Toolkit card titles |
| `{typography.body-md}` | 16px | 400 | 1.5 | 0 | Default body |
| `{typography.body-sm}` | 14px | 400 | 1.5 | 0 | Footer body |
| `{typography.caption}` | 13px | 400 | 1.4 | 0 | Photo captions |
| `{typography.caption-uppercase}` | 11px | 600 | 1.4 | 0.88px | Section labels, badge pills |
| `{typography.code}` | 13px | 400 | 1.5 | 0 | Code blocks — JetBrains Mono |
| `{typography.button}` | 14px | 500 | 1.0 | 0 | CTA pill labels |
| `{typography.nav-link}` | 14px | 500 | 1.4 | 0 | Top-nav menu |
### Principles
- **Display weight stays at 500.** Confident but not display-bold.
- **abcDiatype across every role.** No display/body family split.
- **JetBrains Mono on every code surface.**
### Note on Font Substitutes
abcDiatype is a Lineto licensed typeface. Open-source substitute: **Inter** at weight 500 with letter-spacing -1.5%.
## Layout
### Spacing System
- **Base unit:** 4px.
- **Tokens:** `{spacing.xxs}` 4px · `{spacing.xs}` 8px · `{spacing.sm}` 12px · `{spacing.base}` 16px · `{spacing.md}` 20px · `{spacing.lg}` 24px · `{spacing.xl}` 32px · `{spacing.xxl}` 48px · `{spacing.section}` 96px.
- **Section padding:** `{spacing.section}` (96px) for major bands.
### Grid & Container
- Max content width: ~1200px.
- Editorial body: 12-column grid.
- Terminal mockup grid: 2×2 equal-size panes.
- Toolkit grid: 4-up at desktop, 2-up tablet, 1-up mobile.
- Footer: 5-column at desktop.
### Whitespace Philosophy
The dark canvas creates its own depth — whitespace can stay tight without feeling crowded. 96px between bands; 24px between cards inside a band.
## Elevation & Depth
The system uses **brightness-step elevation**: surfaces step up in brightness instead of casting drop shadows. Combined with subtle radial blue glows, this creates a focused dark-mode atmosphere.
| Level | Treatment | Use |
|---|---|---|
| Flat (canvas) | `{colors.canvas}` (#0f0f0f) | Body bands, footer |
| Recessed | `{colors.canvas-deep}` (#000000) | Terminal mockup grid background, code blocks |
| Card | `{colors.surface-card}` (#181818) | Default content cards |
| Card elevated | `{colors.surface-card-elevated}` (#222222) | Terminal panes, secondary buttons |
| Atmospheric glow | Radial gradient using `{colors.primary-glow}` | Hero spotlight backdrop |
### Decorative Depth
- **Spotlight glow backdrops** — radial blue gradient centered behind hero content.
- **Terminal-pane brightness ladder** — 2×2 mockup uses canvas-deep outer + surface-card-elevated panes.
## Shapes
### Border Radius Scale
| Token | Value | Use |
|---|---|---|
| `{rounded.none}` | 0px | Reserved |
| `{rounded.xs}` | 4px | Inline tags |
| `{rounded.sm}` | 6px | Compact rows |
| `{rounded.md}` | 8px | CTA buttons, form inputs |
| `{rounded.lg}` | 12px | Toolkit cards, code blocks, terminal panes |
| `{rounded.xl}` | 16px | Feature cards, terminal mockup grids |
| `{rounded.pill}` | 9999px | Section-label badges |
| `{rounded.full}` | 9999px | Avatar plates (rare) |
Compact developer-ergonomic radii — 8px CTAs, 12-16px cards. Signals "developer tool" rather than "consumer brand."
## Components
### Top Navigation
**`top-nav-dark`** — Default top nav. Background `{colors.canvas}`, text `{colors.body-strong}`, height 64px. Layout: Composio wordmark left, primary horizontal menu (Product / Toolkits / Docs / Pricing / Customers / Blog), GitHub stars + Sign In + "Get started" right.
### Buttons
**`button-primary`** — The signature Composio Blue CTA. Background `{colors.primary}`, text `{colors.on-primary}`, type `{typography.button}` (14px / 500), padding 10px × 18px, height 40px, rounded `{rounded.md}` (8px).
**`button-primary-active`** — Press state. Background `{colors.primary-active}`.
**`button-secondary-dark`** — Surface-elevated secondary. Background `{colors.surface-card-elevated}`, text `{colors.body-strong}`.
**`button-outline`** — Transparent with 1px hairline-strong border.
**`button-tertiary-text`** — Inline text link.
### Hero & Atmospheric
**`hero-band`** — Homepage hero. Background `{colors.canvas}`, full-width display headline in `{typography.display-mega}` (72px / 500), subhead, two CTAs, and a spotlight-glow backdrop emanating from behind the centered terminal-mockup grid.
**`terminal-mockup-grid`** — The brand's strongest visual signature. 2×2 grid of dark code/output panels inside a `{rounded.xl}` (16px) container. Background `{colors.canvas-deep}`, padding 32px, gap 16px.
**`terminal-pane`** — Individual code/output panel inside the mockup grid. Background `{colors.surface-card}`, text `{colors.body}` in `{typography.code}`, rounded `{rounded.lg}` (12px), padding 20px.
**`spotlight-glow-card`** — Large feature card with centered display headline and a radial blue glow behind it. Background `{colors.surface-card}`, text `{colors.body-strong}` in `{typography.display-md}`, rounded `{rounded.xl}`, padding 48px.
### Cards
**`feature-card`** — 3-up benefit grid. Background `{colors.surface-card}`, text `{colors.body}`, type `{typography.title-md}`, rounded `{rounded.xl}`, padding 28px.
**`toolkit-card`** — 4-up toolkit grid (Slack, GitHub, Stripe, Notion, Linear, etc.). Background `{colors.surface-card}`, text `{colors.body-strong}`, type `{typography.title-sm}`, rounded `{rounded.lg}`, padding 20px. 40px square `{component.toolkit-icon}` top, toolkit name, one-line description.
**`toolkit-icon`** — Square icon plate. Background `{colors.surface-card-elevated}`, rounded `{rounded.md}`, 40px size.
**`testimonial-card`** — Quote card. Background `{colors.surface-card}`, text `{colors.body}`, rounded `{rounded.lg}`, padding 24px.
### Code
**`code-block`** — Inline code/terminal block. Background `{colors.canvas-deep}`, text `{colors.body}` in `{typography.code}`, rounded `{rounded.lg}`, padding 20px.
### Forms
**`text-input`** — Background `{colors.surface-card}`, text `{colors.body-strong}`, rounded `{rounded.md}` (8px), padding 12px × 16px, height 44px.
**`search-input`** — Compact search field. Same surface and radius, smaller padding, 40px height.
### Tags & Badges
**`badge-pill`** — Small uppercase pill. Background `{colors.surface-card-elevated}`, text `{colors.body-strong}`, type `{typography.caption-uppercase}`, rounded `{rounded.pill}`, padding 4px × 10px.
### CTA / Footer
**`cta-band-spotlight`** — Pre-footer band. Background `{colors.canvas}` with centered radial spotlight glow. Display headline + single primary CTA pill. 96px padding.
**`footer-dark`** — Closing footer. Background `{colors.canvas}`, text `{colors.body}`. 5-column link list. 64×48px padding.
**`footer-link`** — Background transparent, text `{colors.body}`, type `{typography.body-sm}`.
## Do's and Don'ts
### Do
- Reserve `{colors.primary}` for primary CTAs, wordmark, and spotlight glows.
- Use `{rounded.md}` (8px) for every CTA — not full pills.
- Use brightness-step ladder for elevation; avoid drop shadows.
- Pair every hero with a centered radial blue spotlight glow.
- Render code, CLI commands in JetBrains Mono via `{typography.code}`.
- Use the 2×2 terminal-mockup grid as the homepage hero anchor.
### Don't
- Don't introduce a secondary brand color. Cyan and violet are illustrative-only.
- Don't use full pills on CTAs.
- Don't drop display weight to 400.
- Don't add drop shadow tiers.
- Don't use canvas-deep (#000000) outside terminal/code surfaces.
- Don't extract a CTA color from a third-party widget (cookie consent, OneTrust). The brand's CTA color is what appears on actual page CTAs.
## Responsive Behavior
### Breakpoints
| Name | Width | Key Changes |
|---|---|---|
| Mobile | < 640px | Hero h1 72→36px; terminal mockup grid collapses to single pane; toolkit grid 1-up; nav hamburger. |
| Tablet | 640–1024px | Hero h1 56px; terminal mockup grid stays 2×2; toolkit grid 2-up. |
| Desktop | 1024–1280px | Full hero h1 72px; full 2×2 terminal mockup; toolkit grid 4-up. |
| Wide | > 1280px | Content caps at 1200px. |
### Touch Targets
- Primary CTA at 40px height — at WCAG AA, padded for AAA.
- Search input at 40px.
### Collapsing Strategy
- Top nav switches to hamburger below 768px.
- Terminal mockup 2×2 grid collapses to a single pane on mobile.
- Toolkit grid: 4-up → 2-up → 1-up.
- Hero spotlight glow stays at every breakpoint.
## Iteration Guide
1. Focus on a single component at a time.
2. CTAs default to `{rounded.md}` (8px). Cards use `{rounded.lg}` or `{rounded.xl}`.
3. Variants live as separate entries inside `components:`.
4. Use `{token.refs}` everywhere — never inline hex.
5. Hover state never documented.
6. abcDiatype 500 for display, 400/600 for body. JetBrains Mono on every code surface.
7. Composio Blue stays scarce.
## Known Gaps
- abcDiatype is licensed; Inter is the substitute.
- Animation timings out of scope.
- In-product surfaces (toolkit dashboards, agent playground) are behind login walls.
- Form validation states beyond focus not visible on captured surfaces.
Source: awesome-design-md (MIT), reproduced verbatim.来源:awesome-design-md(MIT 协议),原样转载。