- Shipped
- September 17, 2026 at 3:14 AM UTC
- Author
- Kamo
- Commit
- a5fc5fd
What was left after pages stopped painting over the shell. Overlays opened BEHIND tool windows. Hand-rolled modals, menus and toasts named levels inside the shell's band — /messages' rename, smart-folder, shortcuts, confirm and move dialogs (40–120), its folder and message context menus (110, 60) and spam toast (50), the pipeline and application modals (50), notes' version history (50), the email lightbox (100), the launchpad's storage flyout (150), the softphone toast (60) — so any window docked over the page covered them, where an MUI dialog (1300) opens in front. They now sit at 1240–1295: over the nav, the Interaction Center and every window, under MUI's own modals and menus so a popup opened inside one still lands on top. Scrollbars stacked against the wrong ancestor. `overlayZIndex` took the NEAREST z-index around a scroller, but the bar is painted in the root context, where only the OUTERMOST stacking context holds a level. Nested, that was wrong both ways: /kb's related-articles panel, command-bar results and the composer's picker (30, inside the knowledge base's isolated frame) drew their bars at 31, over the Interaction Center and the rail; a tool body under an inner z-index got a bar beneath its own window. It now reads the outermost context — the same answer everywhere contexts do not nest. MediaStream's scroll-to-top was `absolute` inside the scroller it scrolls, so it appeared 400px down and scrolled away 400px later. A zero-height sticky row pins it to the visible bottom edge. The bar's and rail's sizes were still spelled out as 56px in 26 one-screen caps and the calendar preferences drawer; they read `--nav-top-height` now. ChatWindowManager and FloatingChatWindow (fixed at z 9999, 56/80) were imported by nothing and are gone. pagesStayUnderTheShell.test.ts now covers the whole app: no fixed box outside the shell's own files names a z-index in the band (19–1199), and nothing spells out the nav's default sizes.