PlayStation Design System

Gaming console interface · Saturated cyan action highlights on dark chrome...
Back to Home
01

Visual Theme & Atmosphere

PlayStation's marketing system reads like a console launch trailer scrolling past the viewer in chapters. Each section is a full-bleed band — pure black {colors.canvas-dark}, true white {colors.canvas-light}, or PlayStation Blue {colors.primary} — and each chapter owns one editorial moment: hero console photography, a games-coming-soon strip, the PlayStation Plus tier banner, the "30 Years of PlayStation" anniversary band, the news strip from the PlayStation Blog. There is no decorative chrome between chapters; the section background change IS the divider. Sections stack at {spacing.section} (96px) rhythm with the next band's color taking over the page edge-to-edge.

The system has two distinct surface modes that alternate down the page: a dark canvas mode for editorial product moments (hero, "ON PLAYSTATION" band, marathon game pages) and a light canvas mode for utility surfaces (PS5 games listing, support pages, news index). Both modes use the same chrome vocabulary — fully-rounded {rounded.full} pill buttons, 8px-radius {rounded.md} cards, the proprietary PlayStation SST face — only the surface and on-surface colors change. The third surface mode is the PlayStation Blue band ({colors.primary}#0070d1) reserved for the highest-priority moments: the Marathon launch CTA strip, the footer, and any "Action Required" banner.

...

Key Characteristics:

  • Three-canvas chapter system: {colors.canvas-dark} (black), {colors.canvas-light} (white), {colors.primary} (PlayStation Blue) alternating down the page
  • ...

Live Visual Theme Representation:

Visual Theme Example

02

Color Palette & Roles

> Source pages: /en-tr/ (home), /en-tr/ps5/games/ (PS5 games listing), /en-tr/games/marathon/ (single game page), /tr-tr/support/account/ (support center). The chrome palette is identical across all four pages; the support page uses the light-canvas mode exclusively while marketing pages alternate.

Brand & Accent

  • PlayStation Blue ({colors.primary}#0070d1): the brand's universal primary. Every primary CTA pill, the active filter chip, the footer surface, badge fills, and inline link color on dark surfaces.
  • PlayStation Blue Pressed ({colors.primary-pressed}#0064b7): pressed state for the primary pill — also doubles as the inline link color on light surfaces.
  • ...

Surface

  • Canvas Dark ({colors.canvas-dark}#000000): pure black hero band, primary nav background, footer base. The dominant surface for editorial product moments.
  • Surface Dark Elevated ({colors.surface-dark-elevated}#121314): inset dark panels, PS Plus tier banner background, "ON PLAYSTATION" gradient end.
  • ...

Text

  • Ink ({colors.ink}#000000): primary text on {colors.canvas-light}. Headlines, button text, support body.
  • Ink Deep ({colors.ink-deep}#121314): warmer near-black for in-card titles on dark surfaces and deep-shadow gradients.
  • ...

Semantic

  • Warning ({colors.warning}#c81b3a): validation errors and destructive confirmation copy.
  • Link Light ({colors.link-light}#0064b7): inline body-prose anchor link on light canvas — same hex as {colors.primary-pressed}.
  • ...

Brand Gradient

  • PlayStation Plus Gold Gradient — a horizontal three-stop gold gradient {colors.ps-plus-gold-start} (#ffce21) → {colors.ps-plus-gold-mid} (#f5a623) → {colors.ps-plus-gold-end} (#ee8e00) that anchors the PS Plus banner on the home page. The only gradient in the system; reserved exclusively for PS Plus chrome.
primary
#0070d1
primary-pressed
#0064b7
primary-active
#004d8d
on-primary
#ffffff
link-light
#0064b7
link-dark
#53b1ff
commerce
#d53b00
commerce-pressed
#aa2f00
commerce-link-base
#d63d00
on-commerce
#ffffff
ink
#000000
ink-deep
#121314
ink-elevated
#181818
charcoal
#1f2024
mute-light
#6b6b6b
ash-light
#cccccc
canvas-light
#ffffff
surface-soft
#f3f3f3
surface-card
#f5f7fa
canvas-dark
#000000
surface-dark-elevated
#121314
surface-dark-card
#181818
hairline-light
#f3f3f3
on-dark
#ffffff
on-dark-mute
#cccccc
warning
#c81b3a
ps-plus-gold-start
#ffce21
ps-plus-gold-mid
#f5a623
ps-plus-gold-end
#ee8e00
marathon-yellow
#deff20
03

Typography Rules

Font Family

  • PlayStation SST is the proprietary brand sans-serif used across every text role on the site. It carries weights 300 (light), 400 (regular), 500 (medium), 600 (semibold), and 700 (bold), and falls back through sstArialHelvetica. The brand's distinctive choice is using weight 300 (light) for display headlines — unusual for a gaming brand and the source of the system's editorial, airy character.
  • SST appears as a secondary cut for in-product surfaces, falling back to Helvetica → Arial.

Hierarchy

TokenSizeWeightLine HeightLetter SpacingUse
..................

Principles

The hierarchy works on a 1.25-line-height ladder almost exclusively — even body sits at 1.5 instead of the typical 1.6 — which keeps long-form support pages tight and console showcases efficient. The weight contrast between display (300) and button (700) is dramatic: a single 18px chrome line might host a heavyweight CTA next to a feather-light 22px headline, giving the system its editorial gaming-magazine feel.

Note on Font Substitutes

PlayStation SST is proprietary. The closest open-source substitutes:
  • Roboto Light (300) for the display tier — its slightly looser letter-spacing matches SST's display optical fit.
  • Inter at weights 400/500/600 for body and chrome — the closest geometric sans match for SST's body cut.
  • ...
...
Dynamic Preview:
display-xl size: 54px | weight: 300 | height: 1.25 | spacing: -0.1px
The quick brown fox jumps over the lazy dog
display-lg size: 44px | weight: 300 | height: 1.25 | spacing: 0.1px
The quick brown fox jumps over the lazy dog
display-md size: 35px | weight: 300 | height: 1.25 | spacing: 0
The quick brown fox jumps over the lazy dog
heading-xl size: 28px | weight: 300 | height: 1.25 | spacing: 0.1px
The quick brown fox jumps over the lazy dog
heading-lg size: 22px | weight: 300 | height: 1.25 | spacing: 0.1px
The quick brown fox jumps over the lazy dog
heading-md size: 18px | weight: 600 | height: 1 | spacing: 0
The quick brown fox jumps over the lazy dog
body-md size: 18px | weight: 400 | height: 1.5 | spacing: 0.1px
The quick brown fox jumps over the lazy dog
body-strong size: 18px | weight: 500 | height: 1.25 | spacing: 0.4px
The quick brown fox jumps over the lazy dog
body-sm size: 16px | weight: 400 | height: 1.5 | spacing: 0
The quick brown fox jumps over the lazy dog
caption-md size: 14px | weight: 400 | height: 1.5 | spacing: 0
The quick brown fox jumps over the lazy dog
caption-sm size: 12px | weight: 500 | height: 1.5 | spacing: 0
The quick brown fox jumps over the lazy dog
link-md size: 18px | weight: 400 | height: 1.5 | spacing: 0
The quick brown fox jumps over the lazy dog
button-lg size: 18px | weight: 700 | height: 1.25 | spacing: 0.45px
The quick brown fox jumps over the lazy dog
button-md size: 14px | weight: 700 | height: 1.25 | spacing: 0.324px
The quick brown fox jumps over the lazy dog
04

Layout Principles

Spacing System

  • Base unit: 8px (with finer 4/12px steps for tight inline gaps).
  • Tokens (front matter): {spacing.xxs} (4px) · {spacing.xs} (8px) · {spacing.sm} (12px) · {spacing.md} (16px) · {spacing.lg} (24px) · {spacing.xl} (32px) · {spacing.xxl} (48px) · {spacing.section} (96px).
  • ...

Grid & Container

  • Max width: ~1280px content area for body text on desktop with 24px gutters that expand to ~48px at ultrawide. Hero bands and game-tile rails go full-bleed with no max-width constraint on imagery.
  • Game tile carousel: 4-up at desktop with horizontal scroll on the same row, collapsing to 3-up at 1024px and 2-up at 768px. Each tile uses 16:9 cover art at {rounded.md}.
  • ...

Whitespace Philosophy

Whitespace is structural and band-defined. The 96px {spacing.section} between chapters reads as silence between trailer cuts — there's no decorative wash, no gradient transition, no mid-section divider. Inside a section, content is left-aligned in a tight column with the imagery breathing in the right 60-70% of the band. Paragraph text is comfortable at 1.5 line-height but column widths stay narrow (~520px at desktop) to keep long-form copy readable.

Grid Layout Wireframe Mockup:

Layout Grid Example

Layout Wireframe blueprint
1
2
3
4
5
6
7
8
9
10
11
12
Gutter spacing: 16px / 24px
Side Margins: 24px (Mobile) / 48px (Desktop)
Max Container Width: 1200px
05

Depth & Elevation

LevelTreatmentUse
.........
The system has effectively no resting shadow on cards; depth is built from surface-color contrast across band chapters. Cards lift only on press.

Decorative Depth

Depth comes from the alternating-band rhythm and from the imagery itself:
  • Console product photography — DualSense controller and PS5 console renders shot on neutral white with crisp edge lighting, full-bleed inside the light-canvas band.
  • Game key art — full-bleed cinematic stills (Marathon, the latest blockbuster releases) inside dark-canvas bands with title lockup overlaid in the lower-left.
  • ...

Elevation Level Showcase:

Elevation Level Example

Flat Surface (Level 0)

Used for background layers, sidebar headers, or baseline borders.

Low Elevation (Level 1 / Card)

Used for floating product elements, cards, and hover states.

High Elevation (Level 2 / Popover & Dropdown)

Used for modals, select menus, code editor tooltips, and overlay headers.

Border Radius & Shape Scale:

radius-sm 4px
radius-md 6px
radius-lg 8px
radius-pill Pill / Tag
06

Component Stylings

Border Radius Scale

TokenValueUse
.........
The radius vocabulary works on a 4 / 8 / pill rhythm for chrome with structural surfaces staying flat at 0px.

Photography Geometry

  • Hero console render: large centered console + DualSense composition on white, ~70% width of the band, with copy slot to the left.
  • Game tiles: 16:9 key art at {rounded.md} (8px), 4-up rail at desktop with horizontal carousel.
  • ...
> No hover states documented per system policy. Each spec covers Default and Active/Pressed only.

Buttons

button-primary — the universal PlayStation CTA

  • Background {colors.primary} (PlayStation Blue), text {colors.on-primary}, type {typography.button-lg}, padding 12px 28px, height ~48px, rounded {rounded.full}.
  • ...
button-commerce — orange store CTA
  • Background {colors.commerce} (#d53b00), text {colors.on-commerce}, type {typography.button-lg}, padding 12px 28px, height ~48px, rounded {rounded.full}.
  • ...
button-secondary-light — outline variant on light canvas
  • Background transparent, text {colors.ink}, 1px solid {colors.ash-light} border, type {typography.button-lg}, padding 12px 28px, height ~48px, rounded {rounded.full}.
  • ...
button-secondary-dark — outline variant on dark canvas
  • Background transparent, text {colors.on-dark}, 1px solid {colors.hairline-dark}, type {typography.button-lg}, padding 12px 28px, height ~48px, rounded {rounded.full}.
  • ...
button-disabled
  • Background {colors.surface-soft}, text {colors.ash-light}, rounded {rounded.full} — flat soft gray.

Filter & Tab Chips

filter-pill + filter-pill-active

  • Default: background {colors.surface-filter} (translucent), text {colors.ink}, type {typography.button-md}, padding 8px 16px, rounded {rounded.full}.
  • ...

Inputs & Forms

text-input + text-input-focused

  • Default: background {colors.canvas-light}, text {colors.ink}, 1px solid {colors.ash-light}, type {typography.body-md}, padding 12px 16px, height ~48px, rounded {rounded.sm} (4px).
  • ...
support-search-bar — the support-page signature search field
  • Background {colors.canvas-light}, text {colors.ink}, type {typography.body-md}, padding 12px 24px, height ~56px, rounded {rounded.full}.
  • ...

Cards & Containers

product-card — light-canvas product/feature card

  • Container: background {colors.surface-card} (#f5f7fa cool-blue-tinted), 1px solid {colors.hairline-light} (rare; usually borderless), padding {spacing.lg} (24px), rounded {rounded.md} (8px).
  • ...
product-card-dark — dark-canvas product card
  • Container: background {colors.surface-dark-card} (#181818), padding {spacing.lg}, rounded {rounded.md}.
  • ...
game-tile — game/console thumbnail tile
  • Container: background {colors.surface-dark-elevated}, padding 0, rounded {rounded.md}.
  • ...
feature-card — light-canvas marketing card
  • Container: background {colors.canvas-light}, padding {spacing.xl} (32px), rounded {rounded.md}.
  • ...
hero-band-blue — the PlayStation Blue full-bleed band
  • Background {colors.primary}, text {colors.on-primary} in {typography.display-md}, padding 96px 48px, rounded {rounded.none}.
  • ...
hero-band-dark — full-bleed dark hero
  • Background {colors.canvas-dark} (with optional gradient end at {colors.surface-dark-elevated}), text {colors.on-dark} in {typography.display-xl}, padding 96px 48px, rounded {rounded.none}.
  • ...
hero-band-light — full-bleed white hero
  • Background {colors.canvas-light}, text {colors.ink} in {typography.display-xl}, padding 96px 48px, rounded {rounded.none}.
  • ...
ps-plus-banner — PlayStation Plus tier callout
  • Background {colors.surface-dark-elevated} with the {colors.ps-plus-gold-start}{colors.ps-plus-gold-end} gold gradient as a horizontal accent bar across the top, text {colors.on-dark} in {typography.heading-xl}, padding 48px 32px, rounded {rounded.md}.
  • ...
carousel-paddle — circular carousel control
  • Background rgba(255,255,255,0.16), icon {colors.on-dark}, rounded {rounded.full}, size 48px.
  • ...
pagination-dot + pagination-dot-active
  • 8px circle at {rounded.full}. Default fill {colors.ash-dark}; active fill {colors.on-dark}.
  • ...

Inline

badge-info — small info tag

  • Background {colors.primary}, text {colors.on-primary} in {typography.caption-sm}, padding 4px 10px, rounded {rounded.full}.
  • ...
link-inline — body-prose anchor link
  • {colors.link-light} text on light canvas / {colors.link-dark} on dark canvas, no underline by default. Inline body links inside support article paragraphs.

Navigation

primary-nav

  • Background {colors.canvas-dark}, text {colors.on-dark}, height ~48px, type {typography.body-strong}, rounded {rounded.none}.
  • ...
sub-nav — secondary nav strip
  • Background {colors.canvas-dark}, text {colors.on-dark} in {typography.caption-md}, height ~40px, rounded {rounded.none}.
  • ...
Top Nav (Mobile)
  • Hamburger menu icon at left, P-logo at center, search + cart icons at right. Primary nav collapses into a full-screen dark drawer that slides from the left.

Footer

footer-section

  • Background {colors.primary} (PlayStation Blue), text {colors.on-primary} in {typography.caption-md}, padding {spacing.xxl} (48px) vertical.
  • ...

Support-page-specific

support-row — support article-list row

  • Background {colors.canvas-light}, text {colors.ink} in {typography.body-md}, padding 16px 0, with a 1px {colors.hairline-light} bottom rule.
  • ...

Interactive Component Demonstrations:

Component Interactive Example

07

Do's and Don'ts

Do

  • Reserve {colors.primary} (PlayStation Blue) for primary CTAs and the footer surface only. The blue band is precious — at most one full-bleed blue band per page.
  • Reserve {colors.commerce} (orange) for store/buy/pre-order CTAs only. It is never used on marketing chrome or hero pills.
  • Use PlayStation SST at weight 300 for display headings (54 / 44 / 35 / 28 / 22). The light weight is the brand voice.
  • Stack content sections at {spacing.section} (96px) rhythm with the next band's surface color taking over the page edge-to-edge — no decorative dividers between bands.
  • Use {rounded.full} (9999px) on every CTA pill and {rounded.md} (8px) on every product card. The two-radius vocabulary is the entire shape system aside from inputs.
  • Pair full-bleed game key art and console renders inside dark or light bands; let imagery occupy 60-90% of the band's vertical height.
  • Use {component.ps-plus-banner} with the gold gradient exclusively for the PlayStation Plus tier callout — never decorate other components with the gold.

Don't

  • Don't introduce drop shadows on resting cards. The system is flat-on-canvas; cards lift only on press.
  • Don't replace {colors.primary} with another shade of blue. The brand blue is precise — #0070d1 for default and #0064b7 for pressed.
  • Don't use {colors.commerce} (orange) on marketing/hero CTAs. It's reserved exclusively for store actions.
  • Don't introduce a sans-serif body font, italic, or monospace style. PlayStation SST carries every text role.
  • Don't soften pill geometry. CTAs are always {rounded.full} — no medium-radius buttons.
  • Don't use the gold PS Plus gradient on anything that isn't the PS Plus banner. It is a tier-specific brand asset.
  • Don't put a gradient on chrome. The only allowed gradient is the gold PS Plus accent and the soft top-to-bottom darkening of the "ON PLAYSTATION" band.
✅ Recommended / Do
  • Reserve {colors.primary} (PlayStation Blue) for primary CTAs and the footer surface only. The blue band is precious — at most one full-bleed blue band per page.
  • Reserve {colors.commerce} (orange) for store/buy/pre-order CTAs only. It is never used on marketing chrome or hero pills.
  • Use PlayStation SST at weight 300 for display headings (54 / 44 / 35 / 28 / 22). The light weight is the brand voice.
  • Stack content sections at {spacing.section} (96px) rhythm with the next band's surface color taking over the page edge-to-edge — no decorative dividers between bands.
  • Use {rounded.full} (9999px) on every CTA pill and {rounded.md} (8px) on every product card. The two-radius vocabulary is the entire shape system aside from inputs.
  • Pair full-bleed game key art and console renders inside dark or light bands; let imagery occupy 60-90% of the band's vertical height.
  • Use {component.ps-plus-banner} with the gold gradient exclusively for the PlayStation Plus tier callout — never decorate other components with the gold.
❌ Discouraged / Don't
  • Don't introduce drop shadows on resting cards. The system is flat-on-canvas; cards lift only on press.
  • Don't replace {colors.primary} with another shade of blue. The brand blue is precise — #0070d1 for default and #0064b7 for pressed.
  • Don't use {colors.commerce} (orange) on marketing/hero CTAs. It's reserved exclusively for store actions.
  • Don't introduce a sans-serif body font, italic, or monospace style. PlayStation SST carries every text role.
  • Don't soften pill geometry. CTAs are always {rounded.full} — no medium-radius buttons.
  • Don't use the gold PS Plus gradient on anything that isn't the PS Plus banner. It is a tier-specific brand asset.
  • Don't put a gradient on chrome. The only allowed gradient is the gold PS Plus accent and the soft top-to-bottom darkening of the "ON PLAYSTATION" band.
08

Responsive Behavior

Breakpoints

NameWidthKey Changes
.........

Touch Targets

All interactive elements meet WCAG AAA (≥ 44×44px). {component.button-primary} and {component.button-commerce} sit at 48px height with 28px horizontal padding (effective ~48×100px tappable). {component.text-input} sits at 48px. {component.support-search-bar} sits at 56px. {component.filter-pill} is ~36–40px height with 16px padding extending to 44px tappable via inline padding. {component.carousel-paddle} is exactly 48×48 circular.

Collapsing Strategy

  • Primary nav: desktop horizontal cluster → tablet hamburger drawer at 768px. The right-cluster icons (search, cart, account) stay visible at every breakpoint.
  • Sub-nav: desktop horizontal anchor row → tablet horizontal scroll → mobile select dropdown.
  • ...

Image Behavior

  • Hero imagery (console renders, game key art) uses art-direction crops on mobile so the central subject stays centered when the band collapses to single-column.
  • Game tile cover art preserves 16:9 ratio at every breakpoint; only the column count changes.
  • ...

Responsive Adaptation Note:

Responsive Behavior Example

Interactive Viewport Simulator
Width: 800px (Desktop Mode) Grid Container
Primary Column

Adjusts layout width

Secondary Column

Folds on viewport change

Sidebar Column

Stacks to bottom on mobile

09

Agent Prompt Guide

1. Focus on ONE component at a time. Pull its YAML entry and verify every property resolves. 2. Reference component names and tokens directly ({colors.primary}, {component.button-primary-pressed}, {rounded.full}) — do not paraphrase.

  • ...

Copyable Agent Integration Prompt:

Prompt Guide Copy Box

10

Full System Design Tokens

The parsed design tokens extracted from the core stylesheet of this design system:

Design TokenHex ValueSystem Palette Role
--primary#0070d1System color representation for primary
--primary-pressed#0064b7System color representation for primary-pressed
--primary-active#004d8dSystem color representation for primary-active
--on-primary#ffffffSystem color representation for on-primary
--link-light#0064b7System color representation for link-light
--link-dark#53b1ffSystem color representation for link-dark
--commerce#d53b00System color representation for commerce
--commerce-pressed#aa2f00System color representation for commerce-pressed
--commerce-link-base#d63d00System color representation for commerce-link-base
--on-commerce#ffffffSystem color representation for on-commerce
--ink#000000System color representation for ink
--ink-deep#121314System color representation for ink-deep
--ink-elevated#181818System color representation for ink-elevated
--charcoal#1f2024System color representation for charcoal
--body-lightrgba(0,0,0,0.6)System color representation for body-light
--mute-light#6b6b6bSystem color representation for mute-light
--ash-light#ccccccSystem color representation for ash-light
--body-darkrgba(255,255,255,0.7)System color representation for body-dark
--mute-darkrgba(229,229,229,0.55)System color representation for mute-dark
--ash-darkrgba(229,229,229,0.2)System color representation for ash-dark
--canvas-light#ffffffSystem color representation for canvas-light
--surface-soft#f3f3f3System color representation for surface-soft
--surface-card#f5f7faSystem color representation for surface-card
--surface-filterrgba(245,247,250,0.3)System color representation for surface-filter
--canvas-dark#000000System color representation for canvas-dark
--surface-dark-elevated#121314System color representation for surface-dark-elevated
--surface-dark-card#181818System color representation for surface-dark-card
--hairline-light#f3f3f3System color representation for hairline-light
--hairline-darkrgba(229,229,229,0.2)System color representation for hairline-dark
--on-dark#ffffffSystem color representation for on-dark
--on-dark-mute#ccccccSystem color representation for on-dark-mute
--warning#c81b3aSystem color representation for warning
--ps-plus-gold-start#ffce21System color representation for ps-plus-gold-start
--ps-plus-gold-mid#f5a623System color representation for ps-plus-gold-mid
--ps-plus-gold-end#ee8e00System color representation for ps-plus-gold-end
--marathon-yellow#deff20System color representation for marathon-yellow