class GridlandWindow extends HTMLElement { connectedCallback() { this.attachShadow({ mode: 'open' }); this.shadowRoot.innerHTML = `
${this.getAttribute('title') || 'Window'}
`; this.shadowRoot.querySelector('.close-btn').addEventListener('click', () => { this.remove(); }); } } customElements.define('gridland-window', GridlandWindow);