rct.css — RollerCoaster Tycoon panel chrome, as a framework · View on GitHub
Component gallery
Six scenic viewpoints dot the gardens. Ride the observation tower for the best angle on the Wooden Wild Mouse.
1,043 guests are in the park right now. Happiness is high — keep those paths swept and the handymen busy.
▁▂▃▄▆▇█ — attendance has climbed every week since the Haunted House opened. Trend is firmly up.
Loan stands at $10,000 at 5.5% interest. Ride tickets bring in $2,100 a week; food stalls another $640.
The gardens span 48 × 48 tiles. Two entrances, one lake, and plenty of room left for a launched coaster.
To have at least 1,000 guests in your park at the end of October, Year 4, with a park rating of at least 600.
No campaigns running. A voucher for free park entry could pull in first-time visitors — for a price.
Built-in themes — and a custom one made in plain CSS
Headings — plain h1–h3, underlined
The largest step, for a park name or a screen title. Every heading inherits the RCT2 pixel font and gets an etched underline from the window's own theme colors.
A section label inside a panel. Body copy sits underneath at the normal 32px base size, so the hierarchy reads clearly.
A sub-section. Three steps is plenty to show the hierarchy — h4–h6 keep shrinking on the same 16px grid.
Inline text — emphasis, small, keys, marks, code
The bitmap font has no bold or italic cut, so strong and emphasis are told apart by colour, not weight — gold for strong, cream for emphasis, each with a hard pixel drop-shadow.
Use underline and strikethrough as chunky 2px rules on the pixel grid, and mark to highlight a run of text.
Set body copy at the 32px base and drop to small print for captions and footnotes — a gentle step down in the same pixel font.
Press Ctrl + S to save. Inline code gets its own raised chip.
Table — the shape of an RCT list window
| Ride | Type | Excitement | Queue |
|---|---|---|---|
| Wooden Wild Mouse | Coaster | 6.21 | 18 |
| Haunted House | Gentle | 4.07 | 9 |
| Observation Tower | Gentle | 3.54 | 4 |
| Launched Freefall | Thrill | 7.88 | 26 |
Header strip in the title colour; value cells are recessed wells. The grid lines are the window's own dark bevel showing through — so it recolours with the theme (this one is slate).
Figure — a framed viewport with a caption
<link rel="stylesheet" href="dist/rct.css">
<script src="js/rct.js" defer></script> <!-- optional: dropdown niceties -->
<details class="rct-window rct-window--taupe" open>
<summary class="rct-titlebar">
<span class="rct-close">X</span>Options
</summary>
<div class="rct-body">
<button class="rct-button">Click me</button>
</div>
</details>
Every component reads six CSS custom properties. Override them on any
.rct-window in plain CSS — no Sass required:
.rct-window--candy {
--body: #b0568a; /* frames, buttons, tabs */
--light: #dd8cbb; /* raised bevel highlight */
--dark: #5e2748; /* raised bevel shadow */
--field: #9c4879; /* sunken input wells */
--title: #4a1f38; /* title bar + menu hover */
--page: #b0568a; /* tab page fill */
}
The FontStruction “RCT2” (fontstruct.com/fontstructions/show/465125) by “Qimplef” is licensed under a Creative Commons Attribution Share Alike license (CC BY-SA 3.0). “Departure Mono” (departuremono.com) by Helena Zhang is licensed under the SIL Open Font License 1.1. The rct.css stylesheets and JavaScript are MIT licensed.