CSS is now organized by functionality rather than by page. Each page loads only the components it needs, reducing bloat and improving maintainability.
Use when: Page has DataTable with enhanced search
datatables-enhanced.css (86 lines) - Enhanced search field stylingdatatables-dark.css (94 lines) - Dark mode for tables and searchUse when: Page has pill-based filtering (levels, classes, archetypes)
pills.css (188 lines) - All pill componentspills-dark.css (108 lines) - Dark mode for pillsclass-colors.css (60 lines) - Class color gradients (required for class pills)Use when: Page has collapsible advanced filter panel (spells-specific)
filters-advanced.css (65 lines) - Filter panel, tags, badgesfilters-advanced-dark.css (48 lines) - Dark mode for filtersUse when: Building spells-like page with favorites/modals
spells-page.css (111 lines) - Favorite button, modals, print stylesspells-page-dark.css (96 lines) - Dark mode for page-specific elements<!-- Example: equipment.html - basic DataTables with dark mode -->
<link rel="stylesheet" href="/assets/css/datatables-dark.css"/>
Impact: 2.3K CSS (vs 738 lines if using all spells modules)
<!-- For pages needing custom search field styling -->
<link rel="stylesheet" href="/assets/css/datatables-enhanced.css"/>
<link rel="stylesheet" href="/assets/css/datatables-dark.css"/>
<link rel="stylesheet" href="/assets/css/pills.css"/>
<link rel="stylesheet" href="/assets/css/class-colors.css"/>
<link rel="stylesheet" href="/assets/css/pills-dark.css"/>
<!-- DataTables -->
<link rel="stylesheet" href="/assets/css/datatables-enhanced.css"/>
<!-- Pills -->
<link rel="stylesheet" href="/assets/css/pills.css"/>
<link rel="stylesheet" href="/assets/css/class-colors.css"/>
<!-- Advanced Filters -->
<link rel="stylesheet" href="/assets/css/filters-advanced.css"/>
<!-- Page-specific -->
<link rel="stylesheet" href="/assets/css/spells-page.css"/>
<!-- Dark mode overrides -->
<link rel="stylesheet" href="/assets/css/datatables-dark.css"/>
<link rel="stylesheet" href="/assets/css/pills-dark.css"/>
<link rel="stylesheet" href="/assets/css/filters-advanced-dark.css"/>
<link rel="stylesheet" href="/assets/css/spells-page-dark.css"/>
<link rel="stylesheet" href="/assets/css/pills.css"/>
<link rel="stylesheet" href="/assets/css/class-colors.css"/>
<link rel="stylesheet" href="/assets/css/pills-dark.css"/>
<!-- Plus questionnaire-specific CSS if needed -->
Before refactoring:
spells-enhanced.css: 694 lines (mixed light/dark, all components)spells.css: 44 lines (duplicate dark mode)After refactoring:
To add pill filtering to a new page:
pills.css for component stylesclass-colors.css if using class pillspills-dark.css for dark mode support.level-pill, .class-pill, .archetype-pill, .filter-pillTo add DataTables to a new page:
datatables-enhanced.css for improved search fielddatatables-dark.css for dark mode supportpills.css)-dark.css variant (e.g., pills-dark.css)Consider further splitting if: