Foundations
Shape and elevation
Six shapes, each with one job. Radii come from Tailwind's scale. The site is flat: layers come from tone, not shadow.
Shape language
| Shape | Applies to | Character |
|---|---|---|
| Capsule | Buttons, filter chips, station labels on maps, the interchange, avatars | The metro “pill”: anything you press or that names a stop |
| Soft panel | Panels, dialogs, toasts, popovers, photos in the grid (rounded-xl) | Station screens and wall panels |
| Square edge | Full-bleed photos and bands, table rows | Architecture |
| Line | Routes, dividers inside network graphics | The network itself: round caps, constant weight |
| Badge | Line badges, tags and status badges (rounded-md) | Line bullets. Never fully round, so codes don't look like buttons |
| Control | Text inputs, selects, textareas and menu items (rounded-lg); checkboxes (a 5px corner) | Fields you type or pick in: softer than a panel, never a capsule |
Preview
Capsule
Badge
SOSBUDSosial BudayaITInformasi TeknologiMEDKREFMedia Kreatif
Soft panel
Registration form
Closes September 30
Line
Square edge

Show codeHide code
<Button>Register</Button> // capsule
<Card>…</Card> // soft panel
<Route /> <Station /> // line
<LineBadge code="sosbud" /> // badgeNetwork geometry
- Routes run horizontally or vertically. Bends are 45° only; a route never curves freely.
- Stations sit centered on their route.
- Labels never overlap a route: below horizontal routes, right of vertical routes.
- Line weight is constant within a diagram, and every route in one diagram uses the same weight.
- Weight and station size come from the
routeandstationutilities. Don't restyle them per page.
Elevation
Shadows exist only for things that float above content: dialogs, popovers and toasts. In dark mode floating layers use a lighter surface plus a border. No glass, blur, glow or colored shadows; the blur scale is removed from the theme.
Preview
Flat panel: tone only
Show codeHide code
<Popover>
<PopoverTrigger render={<Button />}>See details</PopoverTrigger>
<PopoverContent>…</PopoverContent>
</Popover>Don’t
Frosted glass, glows, shadows on cards.
Do
Separate content by tone and hairlines. Shadows only on dialogs, popovers and toasts.

