Shape and depth
Pills for everything that can be pressed, sheets that round as they rise, and two planes: the porcelain ground and one white canvas raised on it.
Radius scale
Every radius in use. The Pill Rule: if it can be pressed, it is a pill, and variants change the material, never the shape. Surfaces take the soft corners, rounder the higher they float.
--o-radius-xsKeycaps, the chart plot--o-radius-smCommand icon tiles, small focus shapes--o-radius-mdFields, icon tiles, chart readouts--o-menu-radiusMenus, popovers, the store switcher--o-radius-lgCards, the canvas on phones--o-canvas-radiusThe page canvas--o-radius-xlDialogs, the command palette--o-radius-pillEverything that can be pressedPeople are circles, stores are rounded squares
Avatars of people are circles. Stores, brands and products are squares with corners at 28% of their size. Rows inside sheets take their own small radius: 9px in menus, 10px in command results.
Altitude
The Altitude Rule: the higher a surface floats, the rounder its corners. A field sits in the page at 12px, a menu floats at 14px, a card at 16px, the canvas at 18px and a dialog, highest of all, at 20px.
Control heights
Every control snaps to one ladder: 24, 30, 36 and 44px. Buttons, fields, search and segmented controls of the same size share a height, so any toolbar lines up. 36px is the default.
--o-control-lg--o-control-md--o-control-sm--o-control-xsRows and fixed sizes
The density of a working tool: rows of 32 to 56px.
| Part | Size |
|---|---|
| Header | 60px |
| Sidebar | 256px wide, 68px as an icon rail |
| Nav rows | 32px, nested rows 30px |
| Menu rows | 34px |
| Order tape rows | 52px |
| Top product rows | 56px |
| Badge and delta | 22px, 18px at sm |
| Switch | 36 by 20px, 30 by 17px at sm |
| Avatar | 20, 24, 32, 40 and 56px |
Two planes
Flat inside the page, lifted at the frame. The sidebar and header share the porcelain ground, so the white canvas is the only raised plane. Inside the canvas, depth is tonal: hairlines, sunken wells and pebble fills.
Shadows
Kept for what floats over the page, and for pills, which carry a hairline ring and a 1px drop so a white pill still reads on a white canvas. In light, shadows are teal-tinted near-black; in dark they deepen to black and gain a faint white ring, because a shadow alone vanishes on a dark ground.
--o-shadow-pill--o-shadow-canvas--o-shadow-1--o-shadow-2--o-shadow-3--o-accent-glow--o-shadow-pill--o-shadow-canvas--o-shadow-1--o-shadow-2--o-shadow-3--o-accent-glow| Token | Used for | Light | Dark |
|---|---|---|---|
--o-shadow-pill | Secondary pills, the active nav pill, the segmented thumb | | |
--o-shadow-canvas | The page canvas and panels docked beside it | | |
--o-shadow-1 | Raised cards at rest | | |
--o-shadow-2 | Menus, popovers, tooltips, chart readouts | | |
--o-shadow-3 | Dialogs, the command palette, the phone drawer | | |
The one coloured shadow is the teal glow under a hovered primary pill, made from --o-accent-glow. Behind a dialog the page dims with --o-bg-overlay under a 3px blur.
Hairline or shadow
The Hairline-or-Shadow Rule: a surface carries a 1px hairline or an elevation shadow, never both. A card that lifts swaps its hairline for a transparent border, so changing variant never moves its content.
Outline
Hairline only
Raised
Shadow only
Both
Hairline and shadow
- The No-Box Rule. Group with space, weight and a hairline before reaching for a card. A card earns its border only when the grouping cannot be read without one.
- Hairlines come in three strengths: 8% for row dividers and outlined cards, 13% for field edges, 22% for hover edges.
- Never lift the sidebar or header off the ground, and never give a page section its own shadow.
Spacing
A 4px base with 2px half-steps. Component interiors live on 2 to 12px, with odd pixels (5, 7, 9, 11px) kept as optical corrections around icons; layouts use 16px and up.
--o-space-0-52px--o-space-14px--o-space-1-56px--o-space-28px--o-space-2-510px--o-space-312px--o-space-416px--o-space-520px--o-space-624px--o-space-832px--o-space-1040px--o-space-1248px--o-space-1664pxLayout
| Where | Spacing |
|---|---|
| Canvas inset from the window edge | 8px, 6px on phones |
| Page padding inside the canvas | 24px 28px 40px, 16px 14px 32px on phones |
| Between sections on the canvas | 44 to 56px |
| Card padding | 20px (16px at sm, 24px at lg), 16px between parts |
| Dialog padding | 24px, 20px on phones |
| Home dashboard | 1180px wide at most; 48px between the live globe and Next up; 56px in the lower split |
.order-summary {
display: grid;
gap: var(--o-space-4);
padding: var(--o-space-5);
border-radius: var(--o-radius-lg);
box-shadow: inset 0 0 0 1px var(--o-border-1);
}In context
Pills inside a card inside the canvas: each level rounder than the one it sits in.
Arden ergonomic chair
12 in stock · SKU ARD-CHR-BLK