Unreleased software — APIs may change without notice.

toolbox

GitHub
Structure

Stage

A region that paints its own background. Nest them, and depth cascades automatically.


Start here

Wrap any content region in .stage and it paints a surface. This is the tool you reach for whenever a region needs a background — cards, panels, sections, the page body itself.

The metaphor is theater. Stages stack toward the audience: a stage nested inside another sits one step forward, painted slightly brighter. You don't manage this — the system reads the nesting and assigns depth for you.


Depth cascades

Nest stages and each one steps forward. No depth values to set — the system infers them from the nesting.

.stage
.stage
.stage
.stage — the leaf, frontmost
<div class="stage">
  <div class="stage">
    <div class="stage">
      <div class="stage">leaf — brightest</div>
    </div>
  </div>
</div>

Each nested stage paints brighter than its parent. The deepest stage is closest to the reader. Toggle the theme — the ramp holds in both light and dark.


Pinning a depth

Use .stage-0 through .stage-3 when you need a specific depth regardless of where the element sits. Pinned stages stay out of the auto-cascade.

.stage-3 deepest
.stage-2
.stage-1
.stage-0 frontmost
<div class="stage-2">pinned, always depth 2</div>

Use pinned stages for cards in a grid that should look identical regardless of context, or for overlays and legends. Pick one mode per region — mixing auto-cascade and pinned stages in the same subtree gives inconsistent results.


Glass

Add .glass to any stage to make it translucent. The surface paints at reduced opacity and a backdrop blur kicks in.

.stage (a busy background)
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore.
.stage.glass — translucent, blurred
<div class="stage glass">translucent</div>

Use for sticky chrome over scrolling content, drawers over the page, modal overlays — anywhere the surface should be present but not block what's behind it. Tune transparency per instance with --cfg-color-alpha.