Reference

Styleguide

Contrast ratios are measured against the page colour of the scheme they belong to, light first. Nothing here should ever need a value outside the scales.

Colour

Type scale

Spacing scale

States

Buttons

PrimaryGhost

Tab to each. Hover each. The primary label is ink on raw pulse at 4.2:1, which holds because it is never smaller than 25px — large text at any weight, 3:1 floor. Weight is not part of the guarantee: before the webfont arrives the label renders in whatever bold face the reader's machine has, or in none. Hover darkens the fill to --pulse-700 and flips the label to cream at 5.1:1.

Links

A default link, and the same link after you hover it. Tab through this paragraph to see the focus ring: 2px solid --focusat 2px offset, which clears the 3:1 non-text floor on both the page and the sunken surface.

Components

TagPill

astro design-systems 4 postsaccessibility TypeScriptMarkdown

Link, link with count, aria-current="page", then two static chips. Hover and tab each. Both forms share one box, so a stack badge and a tag link never differ in size. The count is announced as "design-systems 4 posts".

PostCard

6 min read

A post with tags

The card is an editorial entry, not a box: one hairline above it and nothing else.

ProjectCard

In progress

An in-progress project

Status, title, one-line pitch, stack badges. Only the title is interactive.

  • Astro
  • TypeScript
  • CSS

Shipped

A shipped project

A longer pitch, here to show that the badges still land on the same baseline as the card beside it.

  • Markdown

Pagination

A missing neighbour omits its cell rather than greying out a link. At one page the component renders nothing at all, which is why there is no fourth example.

Breadcrumb

Prose

A second-level heading

Body copy at the current breakpoint's size, 1.65 line height, capped at the 720px column so the measure stays readable.

A third-level heading

  • List item with a --token in it.
  • A second item, 8px below the first.

A quote, marked by a 3px rule in the signal blue.

--space-24: 1.5rem;