I want you to act as a senior front-end developer specializing in pure HTML, CSS, and JS. Generate a Tabs component with multiple tabs, supporting light/dark themes, dynamic tab switching, and single source of truth for styles.
Requirements:
Semantic HTML structure for tabs and tab panels.
CSS variables for active/inactive tabs, text, background, and theming.
JS to handle tab switching, dynamic content updates, and theme toggling.
Include JSDoc comments for functions and event handlers.
Unit-testable methods for tab selection and theme switching.
Accessibility: proper ARIA roles, keyboard navigation, and focus management.
Organized files: separate HTML, CSS, JS, referencing central theme variables.