Monorepo for Aesthetic.Computer aesthetic.computer

fix: JS-based context menu z-index boost + center-square z-index

- :has(.context-view) can't see inside Monaco's shadow DOM, so use
JS: onContextMenu adds .context-menu-open class to editor panel,
mousedown removes it. CSS boosts z-index to 100000 when class present.
- Bump center-square to z-index 1001 so it stays above editor panel.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

+16 -8
+16 -8
system/public/kidlisp.com/index.html
··· 291 291 padding: 0 !important; 292 292 } 293 293 294 - /* Boost z-index of editor containers only when context menu is open, 295 - so it renders above play buttons, header, center-square, etc. */ 296 - .editor-panel:has(.context-view) { 297 - z-index: 100000; 298 - } 299 - .viz-container:has(.context-view) { 300 - z-index: 100000; 294 + /* Added by JS when context menu is open — boosts above all siblings */ 295 + .editor-panel.context-menu-open, 296 + .context-menu-open .viz-container { 297 + z-index: 100000 !important; 301 298 } 302 299 303 300 /* Flush Monaco text to top-left edge in stage mode */ ··· 7710 7707 border: 2px solid rgba(180, 100, 150, 0.6); 7711 7708 border-radius: 50%; 7712 7709 cursor: move; 7713 - z-index: 999; /* Below rulers (1001) */ 7710 + z-index: 1001; 7714 7711 pointer-events: auto; 7715 7712 box-shadow: 7716 7713 0 1px 3px rgba(0, 0, 0, 0.2), ··· 15682 15679 15683 15680 // Make editor globally accessible for other parts of the page 15684 15681 window.editor = editor; 15682 + 15683 + // Boost editor panel z-index while context menu is open so it renders 15684 + // above play buttons, header, center-square, etc. 15685 + const editorPanel = document.getElementById('editor-panel'); 15686 + editor.onContextMenu(() => { 15687 + editorPanel?.classList.add('context-menu-open'); 15688 + }); 15689 + // Remove when clicking anywhere (context menu closes) 15690 + document.addEventListener('mousedown', () => { 15691 + editorPanel?.classList.remove('context-menu-open'); 15692 + }); 15685 15693 15686 15694 // --- YIELD TO BROWSER --- 15687 15695 // Editor DOM is now in the page. Yield so the browser can paint it and