02 / 06

Design

Design sites directly on-page with CSS Studio's visual editor. Traditional edit controls combined with AI-generated variants.

Design

Design in CSS Studio happens directly on the page. It adds a complete visual editor on top of your real site: sliders, drag handles, a colour picker, gradients, an element tree, and AI-generated variants. Every change you make is the change that gets written to source.

Selection

There are two ways to select elements: the element picker tool, and the Elements panel for structural navigation.

Element picker

Click Select element in the chat tray or press ⌥C to activate element selection mode.

Describe a change

Move your cursor over the page. Elements highlight as you hover. Click one to select it, the Edit Element panel will open with editable values.

Elements panel

Open the Elements panel by clicking the toolbar button:

Elements

Or, by pressing the ⌥E shortcut. This shows a hierarchical tree of your page's structure.

ElementsMetadata
header.site-header
a.logo
nav.main-nav
main.content
section.hero
h1.title
p.subtitle
section.features
footer

Click any node to select that element.

Multi-select

With one element selected, you can select more by holding Shift and clicking additional elements on the page or in the Elements panel.

Press Escape to deselect all.

Adding and removing

Right-click any node in the Elements panel, or a selected element on the page, to open a context menu:

  • Duplicate (⌘D): clones the element and inserts it after the original
  • Add: add an element as child or sibling
  • Delete (Delete): removes the element from the DOM
ElementsMetadata
header.site-header
a.logo
nav.main-nav
main.content
section.hero
h1.title
p.subtitle
section.features
footer
Add child element
Add sibling element
Duplicate element⌘D
Delete element⌦

You can also double-click an element tag in the Elements panel to rename it.

To draw a brand new element onto the page, click Draw element (⌥F) in the chat action row, then drag out a rectangle. An insertion point will show where in the DOM the element will be placed. Hold Space to move the element while drawing. The element is inserted into the DOM and selected for editing.

Reordering

Drag any node via its gripper icon in the tree to reorder it. An insertion line shows where the element will land. Drop it to confirm.

ElementsMetadata
section.hero
h1.title
p.subtitle
div.actions
img.hero-img

It's also possible to drag flex and grid elements directly on the page to reorder them.

Text

Double-click any element containing text to edit it directly. Press Enter or click outside to confirm changes.

Double-click within an article tag to edit entire articles. Supports Markdown syntax to add bold, italics, inline-code and lists.

Agent notes

While editing text, wrap any span in double square brackets to leave a note for the implementing agent rather than text to insert. The agent reads what's inside as an instruction, uses the surrounding copy as context, and replaces the whole [[ … ]] span with content that satisfies it. The brackets and their contents never reach your source.

Use them to hand off the parts you'd rather not write by hand:

  • Get it now [[make punchier]] rewrites the line in a punchier voice.
  • That's true! [[fact check]] verifies the surrounding claim and corrects it if needed.
  • [[insert modified version of previous diagram here to illustrate]] generates new content from a description alone.

Anything outside the brackets is kept verbatim, and you can mix several notes into one block. Notes work the same way inside attribute values, so you can guide copy like alt text or an aria-label without writing the final string yourself.

Properties

When you select an element, the Edit Element panel appears on the right side of the screen. It shows the element's current CSS values organised into collapsible sections, and every change you make is applied to the page immediately.

DesignMotionVariablesHTML
Size
W320px
Hauto
Padding32px
Margin0px
Layout
Displayflex
Direction
Gap16px
Styles
Opacity1
Radius12px
Background
#8df0cc

Colour picker

Click any colour swatch to open the full colour picker. It supports:

  • Colour modes: switch between HEX, RGB, and HSL
  • Alpha: adjust transparency with the opacity slider
  • Gradients: supported values also allow for gradients. Linear, radial and conic gradients are supported, with multiple colour stops, repeat toggle and angle/position controls.

CSS variables

CSS Studio auto-discovers the CSS custom properties available to the selected element and lists them in the Variables section of the Edit Element panel, where you can edit existing tokens or add new ones.

Hover any style to reveal a variable button. Clicking it opens the token picker, filtered to variables with a compatible type (colour tokens for colour properties, lengths for spacing, and so on).

Background--primary

Updating a variable's value updates every property that references it.

On-page controls

When you select an element, CSS Studio renders interactive handles directly on the page so you can edit spatial properties by dragging, without touching the Edit Element panel. Controls appear on elements at least 50×50 pixels.

Purple handles on each side adjust padding, with opposite sides synchronised by default.

32px

When the element uses flexbox, teal handles between its children adjust gap.

16px16px

A corner handle adjusts border radius, a rotation handle sits at the top-left, and a resize handle at the bottom-right scales the element. See keyboard shortcuts for modifiers.

Variants

When you're short of inspiration, you can simply ask for ideas. Select an element and click the Generate variants button to produce three to five design alternatives. Add an image or custom prompt to guide the design direction.

Describe a change

Variants are exploratory: nothing is written to source until you accept one. You can iterate on a favourite by selecting it and asking for more, or commit the winner and discard the rest.

Variants follow your existing design system. They reuse your CSS variables, type scale and spacing tokens, so each alternative sits inside the same visual language as the rest of the page rather than reinventing it.

Images

The paperclip icon in the chat action row lets you attach screenshots or reference images. Use it for prompts like "make this section look like this screenshot", or to feed your agent a mood board.

Make this section look like this screenshot

Responsive design

Toggle responsive mode with ⌥B and resize the canvas to a narrower preset. With one or more elements attached to the chat, an Adapt for viewport button appears on the right of the action row. Click it to spawn a task that rewrites the attached elements for the current viewport, adjusting layout, sizing, and typography as needed.

Describe a change