9. Theme and appearance

[!ref] Full details in the User Manual, "Theme and appearance".

9.1 Three themes

Mode Trigger Look
system Follow OS Auto-switch
light Light Pure grey + warm white
dark Dark OKLCH blue + high contrast

9.2 Key colours (user-visible)

Role Light Dark
Brand Deep blue Light blue
Accent / link Blue Light blue
Success Green Green
Warning Amber Amber
Error Red Red

9.3 Fonts

Role Default
UI System UI font
Mono System mono (SF Mono / Consolas / JetBrains Mono …)
Size Small / Medium / Large (default Medium)

9.4 Header quick menu (Display-group sliders)

The quick menu at the top-right of the header gathers four appearance sliders, same-source-synced with the Settings pages:

Slider Tiers Corresponding setting
Theme system / light / dark Settings → General → Theme
Layout Sidebar / Top tabs Settings → General → Workspace & session layout (workspace_display_mode)
Density Normal / Compact Settings → General → Message density (message_density)
Language 简 / 繁 / EN (hover for the full language name) Settings → General → Language (language); takes effect immediately and is persisted

9.5 Session strip layout

The session strips cover ten item kinds — file changes, memory, todos, plan, goal, guidance, result draft, attached materials, suggested tasks and self-check gate — and switch automatically between two forms based on window width:

Form Trigger Presentation
row Narrow window, or always when density = Compact (full tier) A horizontal row above the input box, wrapping when too wide; expands into a popover that opens upward
rail Wide window (from content-area cap + 268 px) A vertical status stack at the top-right of the message area, 236 px wide
  • In the rail form, a strip expands into a stacked drawer on the right: fixed-position, no scrim, doesn't squeeze the body text, 680 px wide; it is anchored to the rail as a whole, so the drawer stays put when you switch between strips, and it opens leftwards or rightwards depending on the space available on either side.
  • On very wide windows a drawer slot is permanently reserved and "content + rail + drawer" is centred as a whole, so opening and closing the drawer never shifts the main content.
  • Switching form only changes position; it never changes the content width.