Elevation
The surface and shadow tokens. The map is the ground; everything else floats over it, and depth shows first in the surface colour, then in a shadow.
Surfaces
- Floating panels are glass:
color.surface.overlaywith a backdrop blur ofeffect.glass-blurand a saturation ofeffect.glass-saturate. On phones, panels full of text usecolor.surface.defaultinstead, so text never sits on moving map. - Inside a panel, cards and inputs sit on
color.surface.raised, and tracks, counts and inset boxes oncolor.surface.inset. - Hover is
color.surface.hover, laid over whatever is beneath. A selected row iscolor.surface.selected, which is also the pressed layer of a quiet or outline control. color.surface.inverseis the primary button, pressed toggles and the chart's value tip, withcolor.text.inverseon it.
| Token | Light | Dark |
|---|---|---|
color.surface.defaultOpaque panel background; text on inverse surfaces | #FAFBF9palette.neutral.50 | #12181Bpalette.neutral.900 |
color.surface.raisedBackground of fields, checkboxes, radios and keys, and of the selected segment | #FFFFFFpalette.neutral.0 | #1D2428palette.neutral.800 |
color.surface.insetSegmented control track, counts, inset boxes | #EBEEEBpalette.neutral.100 | #283237palette.neutral.700 |
color.surface.overlayTranslucent floating panels over the map (used with backdrop blur) | rgba(250, 251, 249, 0.9) | rgba(18, 24, 27, 0.88) |
color.surface.hoverTranslucent layer over a control under the pointer | rgba(18, 24, 27, 0.05) | rgba(235, 238, 235, 0.06) |
color.surface.selectedSelected row; the pressed layer of a quiet or outline control, in place of color.surface.hover and denser | rgba(18, 24, 27, 0.09) | rgba(235, 238, 235, 0.09) |
color.surface.inversePrimary buttons, pressed icon buttons, chart tooltip | #12181Bcolor.text.primary | #EBEEEBcolor.text.primary |
effect.glass-blurBackdrop blur behind glass panels | 16 px | 16 px |
effect.glass-saturateBackdrop saturation behind glass panels | 1.3 | 1.3 |
Inset stands apart from raised in both themes, so a track reads without a border: a step darker in light, a step lighter in dark. The build keeps the two at least 1.15:1 apart.
| Light | Dark | |
|---|---|---|
| Colour | on surface.raised | on surface.raised |
color.surface.inset | 1.17:1 | 1.20:1 |
Shadows
Floating panels carry shadow.panel. Nothing else casts a shadow, except the selected segment of a segmented control, with shadow.thumb. Both are set per theme: a dark surface needs a darker, wider shadow to show at all.
| Token | Light | Dark |
|---|---|---|
shadow.panelLifts floating panels, dialogs, menus, popovers and toasts off what lies under them | 0px 1px 2px 0px rgba(18, 24, 27, 0.06), 0px 10px 30px 0px rgba(18, 24, 27, 0.1) | 0px 1px 2px 0px rgba(0, 0, 0, 0.35), 0px 14px 36px 0px rgba(0, 0, 0, 0.38) |
shadow.thumbSelected segment in a segmented control | 0px 1px 2px 0px rgba(0, 0, 0, 0.14) | 0px 1px 2px 0px rgba(0, 0, 0, 0.4) |
Stacking order is on Layout.