Design system contents

Foundations

Shape, borders, and elevation

The new app favors small radii and quiet borders; marketing keeps more expressive framing.

On this page

Observed geometry

Observed geometry
FamilyTreatment
UI buttons, navigation items, selected lesson rows8px radii
Settings panels, builder frame, video player12px radii
Public course media16px radius and soft shadow
Email authentication card20px radius
Status badge6px radius with explicit status text
Theme track / thumb8px / 5px radii
Remaining legacy controlsPill ToggleField and course progress; larger course-information tab wrapper
MarketingRounded feature panels, pill CTAs, and offset color backdrops

Use geometry in context

Reuse the actual component’s treatment rather than flattening every radius into a new token. The documentation shell remains in the portfolio’s square-cornered visual language. App radii and marketing colors appear inside specimens and token documentation.

Borders are not sufficient state indicators

The subtle surface border has less than 3:1 contrast against adjacent surfaces in both app themes. Active rows also use a fill, accent border, stronger text, and programmatic current/pressed state. New controls should not rely on the quiet border alone.

Source references

Source references
FileResponsibility
src/app/globals.cssApp geometry and active treatments
marketing/src/components/FeatureBlock.tsxMarketing framing

Interface examples

Native TeachKit interfaces with fictional course, account, and learner records. Service responses and media are isolated demonstrations; no customer data or live changes. Captured at 2× resolution or higher. Select an image to inspect it full size.

Course Card · Component detail · Light · Desktop · 2120 × 2325 px
Outline · Component detail · Light · Desktop · 2280 × 1308 px
Course Card · Component detail · Light · Desktop · Draft · 2120 × 2185 px
Course Card · Component detail · Light · Desktop · Complete · 2120 × 2325 px
Outline · Component detail · Light · Desktop · Expanded · 2280 × 2088 px

Source audit: 2026-10-22 · Revision 903bbf05ca9d · Documentation v2.0.0