From hl-design-systems
**Shape:** Always pill (`border-radius: 9999px`). Never square or rounded-rect.
npx claudepluginhub horizenlabs/hl-claude-marketplace --plugin hl-design-systemsdesign-systems/zkverify-design-system/references/# zkVerify Components — Full Reference ## Buttons **Shape:** Always pill (`border-radius: 9999px`). Never square or rounded-rect. **Font:** Space Grotesk, 700 Bold, uppercase optional for primary CTAs. **Min height:** 44px (touch target). Padding: `12px 28px`. ### Variants | Variant | Background | Text | Border | Hover | |---|---|---|---|---| | **Primary (Pulse)** | `--zk-pulse` | `--zk-void` | none | `--zk-pulse-hover`, shadow-md | | **Secondary (Void)** | `--zk-void` | `--zk-shell` | none | `--zk-void-hover` | | **Signal** | `--zk-signal` | `--zk-white` | none | `--zk-signal-hover` | ...
/componentsSafely update or add shadcn/ui components in a RedwoodSDK project with backup/restore
Shape: Always pill (border-radius: 9999px). Never square or rounded-rect.
Font: Space Grotesk, 700 Bold, uppercase optional for primary CTAs.
Min height: 44px (touch target). Padding: 12px 28px.
| Variant | Background | Text | Border | Hover |
|---|---|---|---|---|
| Primary (Pulse) | --zk-pulse | --zk-void | none | --zk-pulse-hover, shadow-md |
| Secondary (Void) | --zk-void | --zk-shell | none | --zk-void-hover |
| Signal | --zk-signal | --zk-white | none | --zk-signal-hover |
| Ghost | transparent | --zk-void | 1px --zk-shell-dim | bg --zk-shell-dim |
--zk-shadow-mdoutline: 2px solid var(--zk-pulse); outline-offset: 2px| Size | Height | Padding | Font Size |
|---|---|---|---|
| SM | 32px | 6px 16px | 13px |
| MD | 44px | 12px 28px | 15px |
| LG | 52px | 14px 36px | 17px |
gap: 8px, icon 18pxDefault (Light): White background, --zk-shell-dim border (1px), --zk-radius-lg (10px).
Dark (Void): --zk-void background, --zk-void-700 border, light text.
Padding: --zk-space-6 (24px).
Hover: --zk-shadow-lg, translateY(-2px), --zk-transition-normal.
.card-gradient-border {
background: var(--zk-white);
border-radius: var(--zk-radius-lg);
border: 1px solid transparent;
background-clip: padding-box;
position: relative;
}
.card-gradient-border::before {
content: '';
position: absolute;
inset: -1px;
border-radius: calc(var(--zk-radius-lg) + 1px);
background: var(--zk-gradient-signal-pulse);
z-index: -1;
}
Overlay: rgba(2, 2, 18, 0.6), backdrop-filter: blur(8px).
Container: max-width: 440px, --zk-radius-xl (16px), padding --zk-space-8 (32px).
Default: Light background (--zk-white), Void text.
Close button: Top right, 32x32, ghost style, --zk-grey icon.
Animation: fadeIn overlay, slideUp + fadeIn container, --zk-transition-normal.
Desktop Header:
--zk-void--zk-shell--zk-pulse text color--zk-pulse underline (2px)position: sticky; top: 0; z-index: var(--zk-z-nav)Desktop Dropdown:
--zk-white--zk-shell-dim--zk-shadow-lg--zk-radius-lg (10px)--zk-shell backgroundDefault (Light):
--zk-white--zk-shell-dim--zk-radius-md (8px)--zk-void, weight 300 (Light)--zk-grey12px 16pxFocus state: Border --zk-signal, box-shadow: 0 0 0 3px rgba(92,114,255,0.15).
Error state: Border --zk-error, helper text in --zk-error.
Disabled: opacity 0.5, --zk-shell background.
--zk-grey), same base styling--zk-radius-full), search icon leftStructure: Left border 4px accent color, padding 16px, --zk-radius-md (8px).
Font: Space Grotesk, weight 300 body, weight 600 title.
| Variant | Border | Background | Icon |
|---|---|---|---|
| Success | --zk-success | --zk-success-bg | Checkmark |
| Error | --zk-error | --zk-error-bg | X circle |
| Warning | --zk-warning | --zk-warning-bg | Triangle |
| Info | --zk-info (Signal) | --zk-info-bg | Info circle |
Shape: Pill (--zk-radius-full). Text: uppercase, Space Grotesk 600, 12px.
Padding: 4px 12px. Min height: 24px.
| Variant | Background | Text |
|---|---|---|
| Pulse | --zk-pulse | --zk-void |
| Signal | --zk-signal | --zk-white |
| Void | --zk-void | --zk-shell |
| Success | --zk-success-bg | --zk-success |
| Error | --zk-error-bg | --zk-error |
| Warning | --zk-warning-bg | --zk-warning |
| Ghost | transparent | --zk-grey-dark |
Ghost badges have 1px --zk-shell-dim border.
Default (Light):
--zk-white--zk-shell background, --zk-void text, weight 600--zk-signal--zk-shell-dim--zk-shell--zk-pulse-light background12px 16px--zk-radius-lg (10px) on table containerSortable columns: Signal icon, hover underline. Responsive: Horizontal scroll on mobile with shadow edge indicators.
--zk-white--zk-shell hover background--zk-signal left border accent--zk-pulse dot indicator, "Connected" badge (Pulse)--zk-radius-xl (16px)Pending:
--zk-pulse color, spin animationSuccess:
--zk-pulse circle--zk-signal)Error:
--zk-error circle--zk-grey-darkDetails Panel:
--zk-shell-dimMulti-step flow:
Proof Hash Display:
0x1a2b...9f0e--zk-shell8px 12px--zk-radius-mdVerification Badge:
--zk-pulse background--zk-void text color0 0 12px rgba(181,255,165,0.3)Proof System Labels:
--zk-pulse dot--zk-grey dot--zk-shell, border --zk-shell-dim6px 12px0x1a2b...9f0eToken Avatars:
--zk-white (for overlapping pairs)User Avatars:
--zk-signal background--zk-pulse dot, bottom-rightFull-page or modal workflow for verifying zero-knowledge proofs:
Step 1 — Select Proof System:
--zk-signal border, --zk-signal-light backgroundStep 2 — Submit Proof:
--zk-shell-dim border, Pulse iconStep 3 — Verification Result:
Staking Card:
--zk-pulse fill, --zk-shell-dim trackToken Display:
Proposal Card:
--zk-pulse) / Against (--zk-error)Vote Actions: