Esports broadcast in dark mode. Near-black surfaces, sharp display serif paired with a square mono, knife-edge corners, a single high-voltage lime accent. Built for tournaments and launch events.
A complete design system, ready for your AI coding agent. Every primitive, token, and pattern below is generated straight from DESIGN.md — drop the file in your project and ship matching UI in minutes.
Prose-first token file — decisions live next to their reasoning.
Fine micro-scale (1–5px) for pills, editorial scale (12–21px) for the grid.
The system's own radius tokens — sm for chips and inputs, md for buttons, lg for cards, pill for fully-rounded CTAs.
1---2name: "Arcade Night"3description: "Esports broadcast in dark mode. Near-black surfaces, sharp display serif paired with a square mono, knife-edge corners, a single high-voltage lime accent. Built for tournaments and launch events."4tags: [dark, gaming, event, bold, premium]5colors:6 primary: "#eef0e6"7 secondary: "#8a8f80"8 tertiary: "#eef0e6"9 neutral: "#11120f"10 surface: "#0a0b08"11typography:12 display: "Big Shoulders Display"13 body: "JetBrains Mono"14 mono: "JetBrains Mono"15 scale:16 hero: "5.5rem / 0.92 / 800 / -0.02em"17 h1: "3rem / 1 / 800 / -0.015em"18 h2: "1.875rem / 1.15 / 700 / -0.01em"19 body: "0.9375rem / 1.55 / 400 / 0"20radius:21 sm: 0px22 md: 0px23 lg: 2px24 pill: 9999px25shadows:26 card: "rgba(238,240,230,0.06) 0 0 0 1px"27 button: none28borders:29 card: "1px solid rgba(238,240,230,0.06)"30 divider: rgba(238,240,230,0.06)31buttons:32 primary:33 background: #c8ff3a34 color: #0a0b0835 border: none36 shape: sharp37 padding: 12px 22px38 font: 700 / 0.8125rem39 secondary:40 background: transparent41 color: #eef0e642 border: 1px solid rgba(238,240,230,0.18)43 shape: sharp44 padding: 12px 22px45 font: 600 / 0.8125rem46 outline:47 background: transparent48 color: #c8ff3a49 border: 1px solid #c8ff3a50 shape: sharp51 padding: 12px 22px52 font: 600 / 0.8125rem53 ghost:54 background: transparent55 color: #8a8f8056 border: none57 shape: sharp58 padding: 12px 18px59 font: 600 / 0.75rem60charts:61 variant: flat62 stroke_width: 263 fill_opacity: 0.1864 gridlines: false65 bar_gap: 4px66 highlight: single67 dot_marker: false68fonts_url: "https://fonts.googleapis.com/css2?family=Big+Shoulders+Display:wght@600;700;800&family=JetBrains+Mono:wght@400;500;700&display=swap"69dependencies: ["lucide-react"]70---71 72# Arcade Night73 74## AI Build Instructions75 76> **Read this section before writing any code.** The rules below77> are non-negotiable. Every value used in the UI must come from this78> file's frontmatter — never substitute, approximate, or invent new79> colors, fonts, radii, or shadows. If a value is missing, ask the80> user before adding one.81 82### 1 · Your role83 84You are building UI for a project that has adopted **Arcade Night** as its85design system. Treat `DESIGN.md` as the single source of truth.86Your job is to translate the user's product requirements into87components and pages that look like they were designed by the same88person who authored this file.89 90### 2 · Token compliance91 92- Pull every color, font family, radius, shadow, and spacing value93 from the frontmatter at the top of this file.94- Use semantic roles (e.g. `primary`, `accent`, `muted`) — never95 hard-code hex values that bypass the system.96- When a token can be expressed as a CSS variable, declare it once97 in your global stylesheet and reference it everywhere downstream.98- The Google Fonts `<link>` is provided in the Typography section.99 Add it to `<head>` before any component renders.100 101### 3 · Component recipes102 103Use these recipes verbatim when building the corresponding component.104 105#### Buttons106 107Four variants are defined. Pick one — never blend variants or invent a fifth.108 109- **Primary** — sharp shape, bg `#c8ff3a`, text `#0a0b08`, padding `12px 22px`, weight `700`.110- **Secondary** — sharp shape, text `#eef0e6`, border `1px solid rgba(238,240,230,0.18)`, padding `12px 22px`, weight `600`.111- **Outline** — sharp shape, text `#c8ff3a`, border `1px solid #c8ff3a`, padding `12px 22px`, weight `600`.112- **Ghost** — sharp shape, text `#8a8f80`, padding `12px 18px`, weight `600`.113 114Reach for **primary** as the single dominant CTA per screen.115**Secondary** for the supporting action. **Outline** for tertiary116actions in toolbars. **Ghost** for inline links and table actions.117 118#### Cards119 120- Background: `#0a0b08`121- Border: `1px solid rgba(238,240,230,0.06)`122- Shadow: `rgba(238,240,230,0.06) 0 0 0 1px`123- Radius: `radius.lg` (`2px`)124- Internal padding: `20px` for compact cards, `24–28px` for content cards.125 126#### Tabs127 128Variant: `underline`. Flat row of labels. Active tab gets a 2px underline in the accent color — no fill.129 130#### Charts131 132- Bar/line variant: `flat`133- No gridlines — let the bars/lines carry the data.134- Highlight strategy: `single` — emphasize a single bar/point per chart.135 136#### Typography pairings137 138- **Display (`Big Shoulders Display`)** — h1, h2, hero headlines, brand wordmarks.139- **Body (`JetBrains Mono`)** — paragraphs, labels, button text, form inputs.140- **Mono (`JetBrains Mono`)** — code, eyebrows, metadata, numerals in tables.141 142### 4 · Hard constraints143 144Never do any of the following without explicit instruction from the user:145 146- Introduce a new color, font, radius, or shadow that isn't declared above.147- Mix this system with another (e.g. don't paste in Material or Bootstrap defaults).148- Use generic gradient defaults (purple→blue, peach→pink) — they break the system's voice.149- Reach for emoji icons. Use a consistent icon library and size icons in line with body type.150- Add motion that exceeds the system's restraint — keep transitions short (≤200ms) and subtle.151 152### 5 · Before you finish — verify153 154Run through this checklist for every screen you produce:155 156- [ ] Every color used appears in the Colors table above.157- [ ] Headlines use the display font; body copy uses the body font.158- [ ] Buttons match one of the declared variants exactly (shape, padding, weight).159- [ ] Border-radius values come from `radius.sm` / `radius.md` / `radius.lg` / `radius.pill`.160- [ ] Cards and dividers use the declared border + shadow tokens.161- [ ] No values were invented; if you needed something missing, you stopped and asked.162 163---164 165## 1. Atmosphere166 167Arcade Night is the broadcast aesthetic of a competitive event — late-night arenas, scoreboard overlays, the moment before a tournament starts. The page is near-black `#0a0b08` (a hair warmer than pure to feel cinematic), text is bone-white, and one electric lime `#c8ff3a` carries every primary action. There are no gradients, no glows, no rounded corners. The system is sharp by design.168 169The display face is a condensed industrial sans (Big Shoulders Display) at heavy weights — built for scorecards and arena banners. Body and labels run in JetBrains Mono with uppercase tracking, reinforcing the broadcast-overlay feel. Cards have no shadow; they sit on hairlines at 6% bone, and the only depth comes from the lime accent.170 171**Signature moves**172- Big Shoulders Display 800 at 88px hero — condensed, athletic, uncompromising173- One lime accent (`#c8ff3a`), used for primary CTA and active state — never decorated, never tinted174- Knife-edge corners (0px radius) on every surface except the small 2px lift on featured cards175- Mono body with uppercase 0.10em tracking — every label reads like a broadcast lower-third176- Cards as 1px bone-on-black hairlines, no fill, no shadow177 178## 2. Palette179 180### Core181- **Surface** `#0a0b08` — page background, near-black with a warm cast182- **Surface Lift** `#11120f` — modals, elevated cards183- **Bone** `#eef0e6` — text, headings (never pure white)184- **Bone 60** `rgba(238,240,230,0.6)` — secondary text185- **Hairline** `rgba(238,240,230,0.06)` — every divider, every card edge186 187### Accent188- **Volt Lime** `#c8ff3a` — primary CTA, active tab, score highlight189- **Volt Lime 12** `rgba(200,255,58,0.12)` — focus ring, hovered tab fill190 191### Status192- **Live Red** `#ff3b3b` — live indicator only, never as decoration193 194## 3. Typography195 196| Role | Font | Size | Weight | Leading | Tracking |197|------|------|------|--------|---------|----------|198| Hero | Big Shoulders Display | 88px | 800 | 0.92 | -0.02em |199| H1 | Big Shoulders Display | 48px | 800 | 1.0 | -0.015em |200| H2 | Big Shoulders Display | 30px | 700 | 1.15 | -0.01em |201| Body | JetBrains Mono | 15px | 400 | 1.55 | 0 |202| Label / UI | JetBrains Mono | 12px | 500 | 1.0 | 0.10em uppercase |203| Score | Big Shoulders Display | 64px | 800 | 1.0 | -0.02em tabular |204 205Two weights for display: 700 / 800. One weight for body: 400. Labels are always uppercase, always tracked, always mono.206 207## 4. Buttons208 209### Primary (Volt)210```css211background: #c8ff3a;212color: #0a0b08;213padding: 12px 22px;214border-radius: 0;215font-family: "JetBrains Mono";216font-weight: 700;217text-transform: uppercase;218letter-spacing: 0.10em;219```220 221### Secondary (Bone Outline)222- Transparent, 1px bone hairline at 18%, bone text223- Same padding, same uppercase mono treatment224 225### Outline (Volt)226- Transparent, 1px lime border, lime text — used only for "Watch live" / "Join queue"227 228## 5. Cards229 230- Background `#0a0b08` (or `#11120f` for elevated)231- 1px hairline at 6% bone232- NO radius (or 2px on featured)233- NO shadow, ever — the lime accent is the only emphasis allowed234 235## 6. Charts236 237Flat solid bars with a 4px gap (broadcast scoreboard rhythm). One bar in volt lime, the rest in 18% bone. No gridlines, no dots — labels are mono uppercase along the baseline. Line charts run at 2px in volt lime with an 18% fill underneath. The chart is a scorecard, not a graph.238 239## 7. Tabs240 241Underline at 2px in volt lime for the active state. Inactive tabs are mono uppercase at 60% bone. No pill tabs.242 243## 8. Spacing244 245- Base 4px246- Scale: `4, 8, 12, 16, 24, 32, 48, 64, 96`247- Section padding: 96px desktop, 48px mobile — the dark surface needs air248 249## 9. Do's & don'ts250 251✅ **Do**252- Use Big Shoulders Display only at 700/800 — anything lighter loses the broadcast weight253- Keep every label uppercase mono with 0.10em tracking254- Reserve the volt lime for one element per screen255- Use sharp 0px radius everywhere except featured cards (2px)256 257❌ **Don't**258- Use any radius above 2px — the system is sharp by design259- Use a second accent color — Live Red exists ONLY for live indicators260- Use shadows or glows on the lime — flat fill, always261- Use a proportional sans for body — mono carries the broadcast feel262 263---264 265## Tokens266 267> Generated from the same source the live preview renders from.268> Treat the values below as the contract — never substitute approximations.269 270### Colors271 272| Role | Value |273|-----------|-------|274| primary | `#eef0e6` |275| secondary | `#8a8f80` |276| tertiary | `#eef0e6` |277| neutral | `#11120f` |278| surface | `#0a0b08` |279 280### Typography281 282- **Display:** Big Shoulders Display283- **Body:** JetBrains Mono284- **Mono:** JetBrains Mono285 286| Role | size / leading / weight / tracking |287|------|------------------------------------|288| Hero | 5.5rem / 0.92 / 800 / -0.02em |289| H1 | 3rem / 1 / 800 / -0.015em |290| H2 | 1.875rem / 1.15 / 700 / -0.01em |291| Body | 0.9375rem / 1.55 / 400 / 0 |292 293### Radius294 295- sm: `0px`296- md: `0px`297- lg: `2px`298- pill: `9999px`299 300### Shadows301 302- **card:** `rgba(238,240,230,0.06) 0 0 0 1px`303- **button:** `none`304 305### Borders306 307- **card:** `1px solid rgba(238,240,230,0.06)`308- **divider:** `rgba(238,240,230,0.06)`309 310### Buttons311 312Four variants, each fully tokenized. The preview renders from these exact values.313 314#### Primary315 316| Property | Value |317|----------|-------|318| shape | `sharp` |319| background | `#c8ff3a` |320| color | `#0a0b08` |321| border | `none` |322| padding | `12px 22px` |323| fontWeight | `700` |324| fontSize | `0.8125rem` |325 326#### Secondary327 328| Property | Value |329|----------|-------|330| shape | `sharp` |331| background | `transparent` |332| color | `#eef0e6` |333| border | `1px solid rgba(238,240,230,0.18)` |334| padding | `12px 22px` |335| fontWeight | `600` |336| fontSize | `0.8125rem` |337 338#### Outline339 340| Property | Value |341|----------|-------|342| shape | `sharp` |343| background | `transparent` |344| color | `#c8ff3a` |345| border | `1px solid #c8ff3a` |346| padding | `12px 22px` |347| fontWeight | `600` |348| fontSize | `0.8125rem` |349 350#### Ghost351 352| Property | Value |353|----------|-------|354| shape | `sharp` |355| background | `transparent` |356| color | `#8a8f80` |357| border | `none` |358| padding | `12px 18px` |359| fontWeight | `600` |360| fontSize | `0.75rem` |361 362### Charts363 364| Property | Value |365|----------|-------|366| variant | `flat` |367| strokeWidth | `2` |368| fillOpacity | `0.18` |369| gridlines | `false` |370| barGap | `4px` |371| highlight | `single` |372| dotMarker | `false` |373 # CLAUDE.md Reference @DESIGN.md for all styling decisions. Apply tokens strictly — do not introduce colors, fonts, or radii outside the system. When in doubt, prefer the values declared in DESIGN.md frontmatter.<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Big+Shoulders+Display:wght@600;700;800&family=JetBrains+Mono:wght@400;500;700&display=swap" />npm install lucide-react// tailwind.config.jsexport default { theme: { extend: { fontFamily: { display: ['"Big Shoulders Display"', 'serif'], sans: ['"JetBrains Mono"', 'sans-serif'], mono: ['"JetBrains Mono"', 'monospace'], }, colors: { primary: '#eef0e6', secondary: '#8a8f80', accent: '#eef0e6', neutral: '#11120f', surface: '#0a0b08', }, borderRadius: { sm: '0px', md: '0px', lg: '2px', }, }, },};tonal-surface with a moss-green seed — warm tonal surfaces, full-rounded tonal buttons, Roboto Flex throughout. Calm and grounded.
A complete design system, ready for your AI coding agent. Every primitive, token, and pattern below is generated straight from DESIGN.md — drop the file in your project and ship matching UI in minutes.
A low-sun grainy gradient that runs deep ember to marigold with real fractal-noise grain. Cream surface, Inter Tight display in heavy 800, generous slabs of negative space, and the gradient burns through exactly the primary CTA, the featured tile, and the active chart bar. A warm, restrained bloom — never sunset cliché.
A complete design system, ready for your AI coding agent. Every primitive, token, and pattern below is generated straight from DESIGN.md — drop the file in your project and ship matching UI in minutes.