XTASY PLAY
Component and token sheet · consumer shell
Design System
Xtasy Play reuses the mid-platform red-black-gold tokens, with Liquid Noir as the default, and adds only the consumer components: coins pill, cost tag, tab bar, state cards and the age gate.
design/tokens.css holds every value on this sheet. Artboards use its classes and never hard-code a color.
Pending D1. If Play ships as a separate brand, this token set is replaced as a whole; components and rules below stay.
Two themes, one bordeaux
Neutrals stay warm in both themes. Liquid Noir ships on every product artboard; Gallery Ivory is kept in tokens.css as a reference and is not used for Play screens.
Liquid Noir
Dark · default on every product artboard
Status and feedback only. Warning also marks a coin balance under 100.
Gallery Ivory
Light · reference swatch only, no Play screens
Star-gold is theme-constant: favorites never turn bronze.
Gold = paid / featured / scarce only
Coin-spending and selling actions, premium labels, the coins pill, the mobile Create tab.
Free actions stay bordeaux: Start chat, Enter, Follow, Post, Lock this look.
Iris = generating state only
.iris-progress, .iris-spinner, .iris-ring, .ring-progress. Removed the moment a result is Ready or Refunded.
Watch playback, quotas and storage use the plain .progress. No iris on logos, titles or dividers.
Inter for UI, mono for numbers, serif for moments
Three families, each with one job. Every count, balance, price and duration is tabular so columns never jitter.
Inter · type scale
.t-xs to .t-5xlTalk, watch, create.
Trending characters
Stories this week
Are you 18 or older?
Rooftop shortcut
Fast-talking courier who knows every shortcut in the city and every rumor in the undercity.
Neon courier · Rain-slick megacity, 2087
AI-generated · Official · 128.4K chats
JetBrains Mono · numbers
.tabularInstrument Serif italic · brand moments
.font-displayCharacters you can talk to.
Seraphine
Brand lines, character names and empty states. Never on buttons, labels or prices.
Bordeaux by default, gold when coins move
Default and gold lift 2px on hover; outline and ghost only tint. The price is part of the label, never a separate chip.
Active: primary-gradient text and a 2px underline on the nav edge. Hover: foreground. Rest: muted-foreground.
Bordeaux text, underline on hover. Never gold, even next to a price.
Badges
rounded-full · 12 / 500Play-specific badges
B-sideThe consumer pieces, as they ship on the screens
Rendered from the finished artboards, so this sheet cannot drift from them. Each tile names its class and the screen it comes from.











Same five words on every surface
Desktop uses a 64px glass top nav, not a left rail. Mobile moves the same destinations into an 84px tab bar with Create raised in the middle.







Every coin has three endings: in progress, ready, refunded
Iris only while something is generating. Failures refund on their own and say so. Blocks before spending say nothing was charged.










1440 with 12 columns, 390 with two or three
Content caps at 1280 with 80 margins and 24 gutters. Watch and Chat are the only pages that break the grid.