issue-5-code-quality-part1
main
- setupPlotButtons requires handlePlotClick and handleEncounterClick callbacks - Pass sendPlotProgression and openEncounterModal as arguments - removeAlternatePresentCharactersPanel is already correctly imported
- Split index.js from 1,567 lines to 456 lines (73% reduction) - Extracted settings event listeners to src/systems/ui/settingsListeners.js - Extracted settings panel to src/core/settingsPanel.js - Simplified initUI() and main initialization block - Modularized style.css into 28 logical CSS modules in src/styles/ - Added build script (npm run build:css) to concatenate modules - Modules: panel, components, user-stats, info-box, thoughts, settings, themes, modals, mobile, inventory, quests, equipment, encounters, weather, music-player, FAB widgets, strip widgets, etc. - Updated package.json with build:css script and type: module No functional changes - pure refactoring for maintainability.