Aviune design system

Color

Two themes. Shared roles. Measured contrast.

Two themes. The same roles.

Dark is the default. Light has its own surface and text values. Use the role in your CSS so each theme gets the right color automatically.

Dark

Your next world.

Readable text on a quiet surface.

Explore hosting
Light

Your next world.

Readable text on a quiet surface.

Explore hosting

Check a pairing.

Choose tokens from either theme, then try a different color if you need to investigate a new use. This sandbox leaves the website unchanged.

Aa

Your next Minecraft world.

#eff4ef on #101c20
15.60:1

Meets AA for normal text

Meets AA for large text and essential UI

Experiments stay in this preview. Reset returns to the site tokens.

color: var(--text);
background: var(--page);

The ratio uses WCAG relative luminance for these opaque colors. Normal text needs 4.5:1. Large text needs 3:1 at 24px regular or about 18.7px bold. Check focus, transparency and image backgrounds separately.

The palette, by purpose.

These values come from the same token source that generates the website’s stylesheet. The foreground and surface belong together.

Page

--page

The page canvas. Use text or muted for content on it.

dark#101c20
light#f3f5f0

Surface

--surface

Hover states and inset samples. Pair with text or muted.

dark#17282c
light#e7ede7

Panel

--panel

Contained groups such as hosting details. Use sparingly to establish hierarchy.

dark#142428
light#e9eee7

Text

--text

Headings, body copy and meaningful icons on page, surface or panel.

dark#eff4ef
light#172923

Supporting text

--muted

Descriptions and secondary information. Keep essential text fully opaque.

dark#b0c0ba
light#52645d

Glacier accent

--accent

Text links, selected navigation and focus rings. It does not mean a service is online.

dark#87d7bd
light#12604b

Action fill

--action

Primary action backgrounds. Always pair with action-text.

dark#b4e5d1
light#174f40

Action text

--action-text

Content on the action fill. Never substitute page text on a filled action.

dark#14372c
light#f5faf6

Control border

--border

Supporting control edges. Focus uses accent; a border alone must not identify a control.

dark#496059
light#9aafa3

Grouping border

--soft-border

Functional separators and panel boundaries. Never use as text or the only state indicator.

dark#2b3d40
light#d4ded5
color: var(--text);
background: var(--panel);
border: 1px solid var(--soft-border);
Download all theme variables as CSS ↗