// Skill Bubble Web Component class SkillBubble extends HTMLElement { constructor() { super(); this.attachShadow({ mode: 'open' }); } connectedCallback() { const skill = this.getAttribute('skill') || 'JavaScript'; const level = this.getAttribute('level') || '80'; const icon = this.getAttribute('icon') || 'code'; this.shadowRoot.innerHTML = `