Skip to main content

Base CSS

Play+ Base Tokens: The Foundational Guide

Introduction

In Play+, design begins with structure. This document outlines the Base Tokens — the most foundational values in our design system. These tokens define the visual DNA of Play+, enabling us to create consistent, flexible, and accessible experiences across products, platforms, and brands.

All base tokens reside in styles/core/_base.css and contain:

  • Global Tokens: The raw, context-agnostic values — the ingredients.

The application of context — how these tokens map to brand, mode, or component use — happens separately, through default theme maps and derivation logic.

This guide serves as a complete reference for what’s available at the foundational level.


1. Global Tokens (The Raw Palette)

These tokens are consistent, platform-agnostic values that serve as the core primitives of the system.

🎨 Colors

Token NameDefault ValueDescription
--global-color-pink-500#e91e63Default brand primary color
--global-color-pink-700#c2185bDarker variant for hover states
--global-color-purple-500#9c27b0Default secondary brand color
--global-color-deep-purple-500#673ab7Extended theming option
--global-color-violet-500#7c3aedExtended theming option
--global-color-royal-blue-500#2563ebExtended theming option
--global-color-cyan-500#03bdd4Extended theming option
--global-color-spearmint-500#43bd90Extended theming option
--global-color-rose-500#fa709aExtended theming option
--global-color-white#ffffffPure white
--global-color-black#000000Pure black
--global-color-gray-50#f5f5f5Lightest gray (backgrounds)
--global-color-gray-100#eeeeee
--global-color-gray-200#dddddd
--global-color-gray-300#bbbec5Default border color
--global-color-gray-400#a1a1a1Placeholder text color
--global-color-gray-700#6b7280Primary text color
--global-color-gray-900#111827Dark mode background
--global-color-green-500#4caf50Success color
--global-color-red-500#f44336Error color
--global-color-yellow-500#ff9800Warning color
--global-color-blue-info-500#2196f3Informational color

Note: These global colors are only defined for the base theme. Dark and HCM variants are derived dynamically — no duplication is needed here.

🔠 Typography

Font Families

--global-font-family-display: "PP Neue Machina", sans-serif;
--global-font-family-heading: "Mulish", sans-serif;
--global-font-family-body: "Inter", sans-serif;

Font Weights

--global-font-weight-regular: 400;
--global-font-weight-medium: 500;
--global-font-weight-semibold: 600;
--global-font-weight-bold: 700;

Font Sizes

--global-font-size-xs: 0.75rem;
--global-font-size-sm: 0.875rem;
--global-font-size-md: 1rem;
--global-font-size-lg: 1.25rem;
--global-font-size-xl: 1.5rem;
--global-font-size-xxl: 2rem;
--global-font-size-xxxl: 3rem;

Line Heights

--global-line-height-tight: 1.2;
--global-line-height-default: 1.5;
--global-line-height-loose: 1.7;

📏 Spacing

Spacing Scale

--global-spacing-1: 0.25rem;
--global-spacing-2: 0.5rem;
--global-spacing-3: 0.75rem;
--global-spacing-4: 1rem;
--global-spacing-5: 1.5rem;
--global-spacing-6: 2rem;
--global-spacing-7: 3rem;
--global-spacing-8: 4rem;

🟦 Radius

--global-radius-sm: 8px;      // e.g. tags
--global-radius-md: 12px; // e.g. buttons
--global-radius-lg: 24px; // e.g. cards
--global-radius-pill: 9999px; // full pill
--global-radius-circle: 50%; // perfect circles

Notes

  • These tokens are single-source values.
  • They are not expected to change across brands, themes, or modes.
  • All contextual mapping (brand, dark, high contrast) occurs in theme.map.json or its derived runtime styles.

To define or override context-aware styles, refer to the companion document: → [Play+ Default Theme: The Mapping Guide]