GP-002 · K. Gaming and Pixel Art

98.css + XP.css

Two sibling CSS files that turn semantic HTML into faithful Windows 98 and Windows XP dialogs, title bars, fieldsets, sliders and tree views. No JavaScript, so they work with any framework.

Summary

Two sibling CSS files that turn semantic HTML into faithful Windows 98 and Windows XP dialogs, title bars, fieldsets, sliders and tree views. No JavaScript, so they work with any framework.

What it is

A CSS-only (or CSS + small JS) component kit that restyles plain HTML into a themed UI.

Who it’s for

Developers who want a game or retro look without drawing assets.

Monochrome lightDocumentationNostalgic, utilitarian
98.css + XP.css: hero image
The same dialog markup rendered by Design Library with 98.css 0.1.21 (left; MIT, © 2020 Jordan Scales) and XP.css 0.2.6 (right; MIT, botoxparty). Windows is a Microsoft trademark; these are community recreations, not Microsoft assets.

Key takeaways

  • Our captures of the 98.css and XP.css docs: a narrow left table of contents and a long single column where every component is shown live above its HTML.
  • The components carry all the colour (teal-free gray bevels for 98, blue title bars and soft greens for XP), the page itself stays plain.
  • Strength: it styles semantic HTML (fieldset, button, input type=range) so markup stays accessible.
  • Risk: the retro look reads as a joke unless the product really is about nostalgia, and bevelled 11 px UI is small for touch.

Best practices to borrow

  • Use real semantic elements (fieldset, legend, button, input type=range); the CSS styles them directly, which keeps keyboard and screen-reader support (OFFICIAL concept, https://github.com/jdan/98.css).
  • Load only one theme at a time: XP.css says to ‘include only one theme at a time’ (OFFICIAL, https://github.com/botoxparty/XP.css).
  • 98.css is tiny: about 27 KB raw / 4.5 KB gzip, while XP.css is about 256 KB / 38 KB because it inlines more assets (ESTIMATED, our download).
  • Scale the window up (CSS zoom or larger font) for touch screens; the original 11 px controls are below comfortable tap size (OURS).
  • Keep chrome neutral and let content carry color.
  • Use a left nav tree, a readable center column and an on-page table of contents.
  • Pin the version, load one theme only, and use the retro font for display text, not paragraphs.

Deep dive

A structured read of each source’s official README, licence file, package metadata or about page, fetched on 2026-10-24 (UTC+8). OFFICIAL = stated on the cited page or file; ESTIMATED = measured by us (CSS sizes, class and colour counts, contrast); OURS = our interpretation, not legal advice.

What it is

OURS
  • 98.css and its extension XP.css restyle plain HTML into Windows 98 or XP controls.
  • For nostalgia projects, ‘desktop’ portfolios and teaching old UI patterns.

Source: jdan.github.io/98.css/

Licence and packages

OFFICIAL
  • 98.css: MIT, © 2020 Jordan Scales; npm 98.css 0.1.21. ‘It does not ship with any JavaScript’.
  • XP.css: MIT, npm xp.css 0.2.6, ‘an extension of 98.css’; includes a 98 theme; ‘include only one theme at a time’ (https://github.com/botoxparty/XP.css).

Source: github.com/jdan/98.css

Measured

ESTIMATED
  • 98.css dist: 26,848 bytes raw / 4,459 gzip. XP.css dist: 256,202 raw / 38,003 gzip (our downloads).
  • Both demo pages are long single-column docs with a left table of contents (our captures).

Source: jdan.github.io/98.css/

Pitfalls and lessons

OURS
  • Don’t use the Windows logo or imply Microsoft endorsement; the CSS recreates a look, the brand is not included.
  • Bevel-heavy 11 px controls need scaling on phones; test tap targets.

Source: botoxparty.github.io/XP.css/

ESTIMATED

Palette preview

#C0C0C0~35%#ECE9D8~33%#FBFBF8~14%#74777D~6%

Usage terms at a glance

Our plain-language summary of the license recorded above, as of 2026-10-24. Not legal advice: always read the source’s own terms before shipping.

Commercial use
Yes (MIT)
Attribution
Keep the MIT notice
Redistribution
Yes, with the licence notice
How you get it
npm or unpkg CDN

How to use

npm install 98.css   # or: npm install xp.css
<link rel="stylesheet" href="https://unpkg.com/98.css">
<div class="window"><div class="title-bar"><div class="title-bar-text">My First Program</div></div>
  <div class="window-body"><p>Hello, world!</p></div></div>

Reference capture

What the source looked like when we analysed it. A fair-use page capture taken by this library; the site, its artwork and marks belong to their owner, and no asset files are redistributed here.

Page capture of 98.css + XP.css (https://jdan.github.io/98.css/) as analysed on 2026-10-22
Reference capture of https://jdan.github.io/98.css/ (landing view), taken 2026-10-24 16:41 (UTC+8) by this library with a headless browser at 1440×900, reduced to 1200px. Fair-use reference for design analysis only; the page, its artwork and marks belong to Jordan Scales (98.css) and botoxparty (XP.css). Asset files are not redistributed through this capture: get them from the source under its licence.
Page capture of 98.css + XP.css (https://jdan.github.io/98.css/) as analysed on 2026-10-22
Reference capture of https://botoxparty.github.io/XP.css/ (landing view), taken 2026-10-24 16:42 (UTC+8) by this library with a headless browser at 1440×900, reduced to 1200px. Fair-use reference for design analysis only; the page, its artwork and marks belong to botoxparty (XP.css). Asset files are not redistributed through this capture: get them from the source under its licence.

Figures

Original figures made by Design Library from open-licensed files (MIT, OFL, CC0) or public palette values; each caption names the files and licences.

The same dialog markup rendered by Design Library with 98.css 0.1.21 (left; MIT, © 2020 Jordan Scales) and XP.css 0.2.6 (right; MIT, botoxpa
The same dialog markup rendered by Design Library with 98.css 0.1.21 (left; MIT, © 2020 Jordan Scales) and XP.css 0.2.6 (right; MIT, botoxparty). Windows is a Microsoft trademark; these are community recreations, not Microsoft assets.
Download full resolutionOur mockup. Uses 98.css 0.1.21 and XP.css 0.2.6 (MIT).
ESTIMATED

Dominant palette from our captures

Measured by us from our screenshot(s) of https://jdan.github.io/98.css/ (median-cut quantization; share = % of pixels). Approximate and not official.

#C0C0C0~35% of pixels#ECE9D8~33% of pixels#FBFBF8~14% of pixels#74777D~6% of pixels

Layout pattern: Documentation

Observed by us on the captured page(s). See all entries by layout.

How to apply it: Use a left nav tree, a readable center column and an on-page table of contents.

Other entries with this layout: Apple Human Interface Guidelines, Spotify brand & design guidelines, Vercel brand assets (Geist), DiceBear · Lorelei, DiceBear · Notionists (Notion-style avatars), Anthropic ‘frontend-design’ skill, NES.css, RPGUI, Pixel fonts: Press Start 2P, Pixelify Sans, Silkscreen, VT323.

Components

Observed on the captured pages.

  • Window, title bar and controls
  • Buttons
  • Checkboxes and option buttons
  • Group boxes (fieldset)
  • Text boxes
  • Sliders
  • Dropdowns
  • Tabs
  • Tree view
  • Progress indicator (XP)

Our analysis

Our captures of the 98.css and XP.css docs: a narrow left table of contents and a long single column where every component is shown live above its HTML. The components carry all the colour (teal-free gray bevels for 98, blue title bars and soft greens for XP), the page itself stays plain. Strength: it styles semantic HTML (fieldset, button, input type=range) so markup stays accessible. Risk: the retro look reads as a joke unless the product really is about nostalgia, and bevelled 11 px UI is small for touch.

Monochrome lightDocumentationNostalgic, utilitarian

Downloads

PDF: research notes made for this library; third-party images inside follow the credits in their captions. License / terms of the source: MIT (98.css © 2020 Jordan Scales; XP.css by botoxparty, MIT). The Windows look is Microsoft’s trade dress; these are community recreations

DESIGN.md for AI coding agents

Copy this into your repo or agent context. OFFICIAL and ESTIMATED values are labelled.

# DESIGN.md · 98.css + XP.css (GP-002)

> Written for AI coding agents. Values marked **OFFICIAL** come from the documented source named below; values marked **ESTIMATED** were measured by us from our own screenshots and are approximate. Never treat ESTIMATED values as official brand tokens.

## Overview
- Type: CSS Framework · Category: K. Gaming and Pixel Art
- Platforms: Web
- Color theme: Monochrome light · Layout pattern: Documentation · Mood: Nostalgic, utilitarian
- License / terms: MIT (98.css © 2020 Jordan Scales; XP.css by botoxparty, MIT). The Windows look is Microsoft’s trade dress; these are community recreations

Two sibling CSS files that turn semantic HTML into faithful Windows 98 and Windows XP dialogs, title bars, fieldsets, sliders and tree views. No JavaScript, so they work with any framework.

### Analysis (ours)
Our captures of the 98.css and XP.css docs: a narrow left table of contents and a long single column where every component is shown live above its HTML. The components carry all the colour (teal-free gray bevels for 98, blue title bars and soft greens for XP), the page itself stays plain. Strength: it styles semantic HTML (fieldset, button, input type=range) so markup stays accessible. Risk: the retro look reads as a joke unless the product really is about nostalgia, and bevelled 11 px UI is small for touch.

### Best practices (ours)
- Use real semantic elements (fieldset, legend, button, input type=range); the CSS styles them directly, which keeps keyboard and screen-reader support (OFFICIAL concept, https://github.com/jdan/98.css).
- Load only one theme at a time: XP.css says to ‘include only one theme at a time’ (OFFICIAL, https://github.com/botoxparty/XP.css).
- 98.css is tiny: about 27 KB raw / 4.5 KB gzip, while XP.css is about 256 KB / 38 KB because it inlines more assets (ESTIMATED, our download).
- Scale the window up (CSS zoom or larger font) for touch screens; the original 11 px controls are below comfortable tap size (OURS).

### Deep analysis
Values marked OFFICIAL come from the cited official page, README, licence file or package metadata, fetched 2026-10-24 (UTC+8). ESTIMATED values were measured by us that day (CSS file sizes from unpkg, class and colour counts, contrast ratios). OURS is our interpretation, not legal advice.

#### What it is (OURS) · source: https://jdan.github.io/98.css/
- 98.css and its extension XP.css restyle plain HTML into Windows 98 or XP controls.
- For nostalgia projects, ‘desktop’ portfolios and teaching old UI patterns.

#### Licence and packages (OFFICIAL) · source: https://github.com/jdan/98.css
- 98.css: MIT, © 2020 Jordan Scales; npm 98.css 0.1.21. ‘It does not ship with any JavaScript’.
- XP.css: MIT, npm xp.css 0.2.6, ‘an extension of 98.css’; includes a 98 theme; ‘include only one theme at a time’ (https://github.com/botoxparty/XP.css).

#### Measured (ESTIMATED) · source: https://jdan.github.io/98.css/
- 98.css dist: 26,848 bytes raw / 4,459 gzip. XP.css dist: 256,202 raw / 38,003 gzip (our downloads).
- Both demo pages are long single-column docs with a left table of contents (our captures).

#### Pitfalls and lessons (OURS) · source: https://botoxparty.github.io/XP.css/
- Don’t use the Windows logo or imply Microsoft endorsement; the CSS recreates a look, the brand is not included.
- Bevel-heavy 11 px controls need scaling on phones; test tap targets.

### Usage terms at a glance (our summary, not legal advice)
- Commercial use: Yes (MIT)
- Attribution: Keep the MIT notice
- Redistribution: Yes, with the licence notice
- How you get it: npm or unpkg CDN

## Color tokens
No official color tokens documented for this entry.

ESTIMATED · dominant colors measured from our screenshot(s) of the source site (median-cut quantization; share = % of pixels). Approximate, not official:

- `#C0C0C0` ~35%
- `#ECE9D8` ~33%
- `#FBFBF8` ~14%
- `#74777D` ~6%

## Typography
No official type scale documented for this entry; use the product’s own typography guidance.

## Spacing, radii, shadows
Not documented for this entry. Do not invent values; derive from your own design system.

## Components
- Window, title bar and controls
- Buttons
- Checkboxes and option buttons
- Group boxes (fieldset)
- Text boxes
- Sliders
- Dropdowns
- Tabs
- Tree view
- Progress indicator (XP)

## Layout rules
- Observed layout pattern: **Documentation** (from our captures).

## Usage
```
npm install 98.css   # or: npm install xp.css
<link rel="stylesheet" href="https://unpkg.com/98.css">
<div class="window"><div class="title-bar"><div class="title-bar-text">My First Program</div></div>
  <div class="window-body"><p>Hello, world!</p></div></div>
```

## Do’s and don’ts
- Do: Keep chrome neutral and let content (images, icons, type) carry color.
- Don’t: Don’t introduce decorative color that competes with content.
- Do: follow the source’s license/terms listed above.
- Don’t: present ESTIMATED colors as official tokens.

## Sources
- https://jdan.github.io/98.css/
- Library entry: https://design-library-byt.pages.dev/entry/GP-002