stats.synthwave-hiscore-board · Hi-score board

A stats pattern from Synthwave Retro-Future, drawn alone below with this design's tokens and sample copy. Used in this design on: home page, section 5; about page, section 2. Give the section root data-pattern="stats.synthwave-hiscore-board". A guide only: DESIGN.md and tokens.json are the source of truth.

Rule
A centred neon-outlined scoreboard on 2–11: HIGH SCORES title at step 4, then ranked rows of rank, name and a right-aligned mono score at step 5.
Slots
title, stats[3..5]
Grid areas
board 3-10 · rank 1-2 · name 3-8 · score 9-12 (12-column grid, 1-based inclusive spans)
Notes
Rows inside the board use their own 12-column grid. The first row's score may glow in accent.
Tokens
bg #0E0B1F · text #EDE6FF · heading #FFFFFF · accent #FE2D6D · accent2 #00A59F · Orbitron / Space Grotesk · radius 2px · space unit 8px (full list in design/tokens.json)

Pattern notes

  • A neon-outlined board centred on 2–11, padded 48 px: a chrome "high scores" title at step 4 centred, then 3–5 ruled rows, each one line on every width: the mono rank/tag (link colour) stacked over the mono name at body size on the left, the mono score right-aligned at step 5. The top score may glow.

Twelve years in numbers

Since 2014

launches shipped

140+

2025

years independent

12

Audited

clients return

9 of 10

Last 12 months

average lift in demo requests

31%

Layout tree (as in design/layout.json)
{
  "pattern": "stats.synthwave-hiscore-board",
  "kind": "stats",
  "grid": {
    "board": "3-10",
    "rank": "1-2",
    "name": "3-8",
    "score": "9-12"
  },
  "slots": [
    "title",
    "stats[3..5]"
  ],
  "notes": "Rows inside the board use their own 12-column grid. The first row's score may glow in accent.",
  "tree": {
    "el": "grid",
    "gap": 4,
    "children": [
      {
        "el": "box",
        "span": "2-11",
        "bg": "surface",
        "gap": 4,
        "pad": [
          6,
          6
        ],
        "border": "all",
        "children": [
          {
            "el": "text",
            "slot": "title",
            "role": "h2",
            "step": 4,
            "align": "center",
            "transform": "uppercase",
            "weight": 900,
            "tracking": "wide",
            "leading": "tight"
          },
          {
            "el": "repeat",
            "slot": "stats",
            "min": 3,
            "max": 5,
            "layout": "list",
            "gap": 0,
            "of": {
              "el": "box",
              "mobile": "keep",
              "dir": "row",
              "gap": 3,
              "pad": [
                3,
                0
              ],
              "align": "center",
              "justify": "between",
              "border": "bottom",
              "children": [
                {
                  "el": "box",
                  "gap": 1,
                  "children": [
                    {
                      "el": "text",
                      "color": "link",
                      "slot": "meta",
                      "role": "label",
                      "font": "mono"
                    },
                    {
                      "el": "text",
                      "slot": "title",
                      "role": "body",
                      "font": "mono"
                    }
                  ]
                },
                {
                  "el": "text",
                  "slot": "number",
                  "role": "number",
                  "step": 5,
                  "align": "right",
                  "font": "mono"
                }
              ]
            }
          }
        ]
      }
    ]
  }
}
Component example: reference/stats.synthwave-hiscore-board.html
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1">
<title>stats.synthwave-hiscore-board — Synthwave Retro-Future</title>
<link rel="stylesheet" href="base.css">
<style>
  section { padding: calc(var(--unit) * 16) 0; }
  .board { grid-column: 2 / 12; padding: calc(var(--unit) * 6); display: grid; gap: calc(var(--unit) * 4); }
  .board h2 { font-size: var(--step-4); text-align: center; }
  .board ol { list-style: none; padding: 0; display: grid; gap: calc(var(--unit) * 2); }
  .board li { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 16px; align-items: baseline; }
  .rank { grid-column: 1 / 3; color: var(--link); }
  .name { grid-column: 3 / 9; }
  .score { grid-column: 9 / 13; text-align: right; font-size: var(--step-5); line-height: 1; }
  li:first-child .score { color: var(--accent); text-shadow: 0 0 14px var(--accent); }
  @media (max-width: 640px) { .board { padding: calc(var(--unit) * 3); } .score { font-size: var(--step-2); } }
</style>
</head>
<body>
<section class="wrap">
  <div class="grid">
    <div class="board frame hot">
      <h2 class="chrome">High scores</h2>
      <ol class="mono">
        <li><span class="rank">1st</span><span class="name">Tickets sold</span><span class="score">12,480</span></li>
        <li><span class="rank">2nd</span><span class="name">Hours of music</span><span class="score">0,096</span></li>
        <li><span class="rank">3rd</span><span class="name">Synths on stage</span><span class="score">0,041</span></li>
        <li><span class="rank">4th</span><span class="name">Cities on tour</span><span class="score">0,018</span></li>
      </ol>
    </div>
  </div>
</section>
</body>
</html>

Other patterns in this design

Whole design · Spec bundle (JSON) · On the style page