Skip to main content

Surfaces, Shape & Micro Layouts

Philosophy & Purpose

If macro layouts are the skeleton of our experience, then surfaces, shapes, and micro layouts are the tangible flesh and muscles users engage with. This guide defines how we construct component structures—both their physical contours and internal arrangements—ensuring our Intuitive and Engaging pillars are consistently reflected.

This is where two of our signature souls—Glass and Fluid—converge:

  • Surfaces create a modern, layered interface through elevation and depth.
  • Shapes express tactility, tone, and interaction cues via soft, fluid geometries.
  • Micro layouts arrange content inside components with deliberate rhythm and hierarchy.

Together, they ensure that every component is not just present—but poised, purposeful, and human.

Core Principles

PrincipleDesign GuidelineDeveloper Implementation
HarmoniousMaintain consistent spacing and corner radii using tokens.Use $space-* and $shape-radius-* tokens. Avoid manual pixel values.
ContainedComponents must be self-contained and modular.Apply internal padding and avoid relying on parent context for structure.
IntentionalEliminate unnecessary decorative elements.Audit frequently; ensure surfaces, corners, and layouts serve UX purposes.
ScannableStructure content for effortless reading and visual flow.Use F-patterns, Z-patterns, and flex/grid order properties to guide attention.
InclusiveDo not rely solely on shape or depth to communicate state or interaction.Pair shapes with color, icons, text. Test contrast, particularly on glass surfaces.

The Surface System: Depth & Glass

Surface Levels

LevelDescriptionTypical Usage
Surface-0Base, opaque background.Application background
Surface-1Slightly raised, common interaction layer.Cards, buttons, input fields
Surface-2Floating, elevated components.Modals, dialogs, dropdowns

Glassmorphism

Glass effects introduce subtle blur and transparency for a modern aesthetic.

  • Apply only to Surface-2 or elevated Surface-1 elements like sidebars.
  • Transparency: Use $color-background-glass token.
  • Backdrop blur: Use backdrop-filter: blur(12px–16px).
  • Edge definition: Apply a 1px semi-transparent border.

Usage Restraint:

  • Avoid on high-density forms or dynamic content.
  • Always test readability and contrast under varying content and themes.

Shadow Tokens

TokenValueUse Case
$elevation-10px 2px 4px rgba(0,0,0,0.08)Cards, inputs
$elevation-20px 4px 12px rgba(0,0,0,0.10)Modals, dropdowns
$elevation-glass0 4px 24px rgba(255,255,255,0.06)Under glassmorphic containers

The Shape System: Contour & Feel

Shape Hierarchy

The more interactive or emotionally significant a component is, the more distinct its shape:

  • Subtle rounding: For structure (e.g., cards)
  • Full rounding: For direct interaction (e.g., chips, avatars)

Border Radius Tokens

TokenValueUsage Examples
$shape-radius-sm8pxButtons, modals, alerts, tooltips
$shape-radius-md12pxCards, inputs
$shape-radius-lg24pxExpressive containers, emphasis cards
$shape-radius-pill9999pxChips, tags, icon buttons
$shape-radius-circle50%Avatars, circular indicators

Common Component Patterns

Card

  • Surface: Surface-1
  • Shape: $shape-radius-md or $shape-radius-lg
  • Padding: $space-sm to $space-md

Button

  • Surface: Surface-1
  • Shape: $shape-radius-sm or $shape-radius-pill
  • Padding: Based on size variant, uses spacing tokens
  • Surface: Surface-2 with Glass effect
  • Shape: $shape-radius-sm or $shape-radius-md
  • Padding: $space-lg (32px)

Micro Layout Patterns

Micro layouts define how internal content is organized within components. These patterns enhance rhythm, scannability, and composability.

Stacked Group

  • Use Case: Forms, setting panels
  • Layout: Vertical stack with equal spacing, optional separators
  • Tokens: $space-md between items

Tile Grid

  • Use Case: Dashboards, overview cards
  • Layout: Responsive grid (2–4 cols) with consistent gaps
  • Tokens: Grid gap via $space-lg

Media + Text Block

  • Use Case: Profile summaries, feature previews
  • Layout: Horizontal row with image and content stack
  • Responsiveness: Stack vertically below md breakpoint

Section Container

  • Use Case: Grouped forms, onboarding screens
  • Surface: Light background (Surface-1 or themed container)
  • Padding: $space-lg inside, $shape-radius-md on corners

Inline Controls Row

  • Use Case: Filter bars, table actions
  • Layout: Horizontal with start-end alignment
  • Tokens: Left/right padding via $space-sm, center aligned vertically

Mobile & Tablet Considerations

  • Shape consistency: Token-based radius remains the same across devices.
  • Surface economy: Prefer flatter designs or full-width components on small screens.
  • Modal behavior: Use full-screen modal variants for mobile.
  • Performance fallback: On low-power devices, disable backdrop filters.

Guardrails

✅ Do❌ Don't
Use tokens for all spacing, elevation, and shapeEyeball spacing or corner radii
Apply Glass effect only where neededUse glassmorphism everywhere
Maintain accessible contrast on frosted surfacesAssume blur is sufficient for legibility
Match shape size to interaction significanceUse shape alone to imply interactivity
Use container spacing inside componentsDepend on parent padding to define component boundaries

Shape, surface, and internal layout are more than visual decoration—they are the rhythm, breath, and soul of Play+. Applied consistently, they elevate UI into experience.