arc icon arc docs

Themes

Customize the entire appearance of the application and 3D viewport. Built-in presets ship with the app; user themes are lightweight JSON files that can be imported, exported, and shared.

Built-in Themes

Built-in themes can be selected in Settings → Appearance:

Built-in Themes
ThemeAppearance
Deep GraphiteNeutral dark graphite panels (#12141a) with viewport (#161922) and electric cyan accent (#00e8ff). Default theme.
GlassDeep dark obsidian panels (#161619) with viewport (#1c1c22) and vivid blue accent (#0099ff).

Color Tokens

A theme defines exactly sixteen color tokens:

Theme Color Tokens
TokenUsage
base-50Deepest window and background surface.
base-100Base panels, tool docks, and dialogs.
base-150Slightly raised surfaces and input backgrounds.
base-200Hover fills and secondary controls.
base-300Pressed states and deep active fills.
base-400Subtle divider lines and borders.
base-500Faint text and placeholder labels.
base-600Secondary muted text.
base-700Standard body text.
base-800Primary bright text and headings.
accent-500Bright accent highlights (active tool pill, view cube hover).
accent-600Primary action buttons and selection outlines.
accent-700Deeper accent states.
viewport-bg3D WebGL viewport canvas background.
viewport-gridPrimary drafting grid lines.
viewport-grid-lineSecondary subdivision grid lines.

Theme JSON Format

Custom themes are structured JSON documents containing a theme name and a colors dictionary:

{
  "name": "Cyber Blue",
  "colors": {
    "base-50": "#0b0d13",
    "base-100": "#11151f",
    "accent-500": "#38bdf8",
    "viewport-bg": "#0d111a"
  }
}

Theme parsing rules:

  • Forgiving structure: You can provide colors directly at the top level alongside name.
  • Shorthand aliases: accent maps to accent-500; background, bg, viewport, and canvas map to viewport-bg; grid maps to viewport-grid.
  • Fallback defaults: Any unspecified color token falls back to the Deep Graphite default.

Import & Export

In Settings → Appearance, click Import Theme to load any JSON theme file. The theme applies instantly. You can also export active themes to share them with other users.