LifeLab · nested transclusion · what-if
Same content as the depth-2 mock, three material treatments. Today's flat gutter rule (A) says depth with a 2px line. B lifts each level onto opaque paper — shadow but no transparency. C goes full glass: translucent surfaces with backdrop blur, deeper levels brighter and more elevated. All three are in-flow — nothing overlays; "stacking" is a material metaphor, not a z-order change.
Pure CSS on the existing region element: background, radius, shadow, optional backdrop-filter. No layout or data-model change.
Rules cost 22px per level. Surfaces cost 18px padding per side per level — at depth 3 the mono column has lost ~108px and text no longer shares the page grid.
On a flat cream page, glass over nothing reads as "slightly gray box." C adds faint ghost glyphs behind so the blur registers — real pages won't have that.
The rule says "you went into something" (indent, quote). Glass says "something landed on top of you." For editing-in-place, the first metaphor is truer.
The shipped treatment. Two rules = two pages deep. Everything stays on one plane; the terminal grid is untouched. Included here so B and C can be judged against it.
Opaque surfaces, one tone lighter per level, soft shadow growing with depth. You get the "object on top" reading without blur, contrast risk, or GPU cost. This is the version that coexists best with the terminal look — it reads as cards, not glass.
Translucent surfaces with backdrop-filter: blur(); depth 2 is brighter, blurrier, and casts a longer shadow than depth 1. Ghost glyphs sit behind the stack so the frosting is visible. Striking — and the most at odds with the terminal: it introduces a lighting model to a UI whose whole grammar is "characters on a page."
Feasibility: all three are the same DOM — swapping .tregion's CSS class is the entire implementation. Glass needs one caution: nested backdrop-filter creates stacking contexts that can break sticky headers, text selection highlights, and cost real GPU on long pages. Cap it at 2 levels if you ship it.
The fight with the terminal: LifeLab's grammar is that everything — folds, tags, depth, keybindings — is expressed in characters on one plane. Glass imports a second grammar (elevation, light, blur) to express something the first grammar already expresses. C looks great in isolation but makes the transcluded region the only object in the app with a material; it will demand matching treatment for modals, shelf, echo bar, or feel pasted-in.
If you want some of this feeling: B is the honest compromise — tone + shadow, no transparency — and even B could shrink to a whisper: keep the rule from A, add only the one-tone-lighter background from B, drop the shadow and radius. That says "different page" materially without leaving the terminal's flat world. Happy to mock that hybrid as a fourth frame if you want it.