Round comment/forum avatars (shared sl-com-ava ring), forum author link, 2/3-column forum legends, comment rating order (down-score-up), related thumbnails (new 60x60 logo), and reuse sl-card-id badge for comment/forum post numbers. Map forum/topic state icons to Bootstrap Icons (record-circle, exclamation-fill, x-circle-fill, chat bubbles, play-circle-fill, clock-history, box-arrow-in-right) with etalon color coding, and size forum category images via --sl-size-64. Replace the Editor/admin menu text trigger with a system-wide gear-icon button (sl-card-id style) placed left of the post number.
Move <img> markup out of the parser into a new parser-image.html fragment (lite + admin), with supporting base/theme CSS. Remove unused legacy images (no-image.png, big-icons.png, asc/bg/desc.gif, misc/index.html) and relocate head-bg.jpg to images/seasons. Parser fixtures test updated.
Replace the legacy raster sprite with Bootstrap Icons glyphs in markup (<i class="bi">) for meta, forum/topic, message, cart, pager, slider, alert, favourite, like and carousel icons. Render the rating as bi half-stars (getRatingStars helper) and unify icon color/size via base.css tokens. Remove all dead sprite CSS and delete sprite.png; theme.css drops from ~5564 to 4731 lines.
Merge 9 identical clearfix :after rules into one group, drop redundant button box-shadow/text-shadow already provided by the base group, unify identical sl-but-navi/sl-but-read, and group matching sprite dimensions (date/card-date, message/topic twins). No visual changes; theme.css 5283 to 5211 lines.
Merge identical declaration blocks (table heads/bodies, menus, card/cart id, idea/feedback tabs, sprite icon base and dimensions), replace hard-coded shadows and colors with existing base.css tokens, and remove dead selectors (sl-list-head/row, legacy fmenu/demo-line-title/ava-min aliases, sl-heading2, cart/forum head variants). No visual changes; reduces theme.css from 5564 to 5283 lines.
Always emit sl-table-head for table/forum/cart heads and use sl-heading instead of sl-heading2, since their styling is identical. Enables removing the redundant CSS selectors.
Follow-up to the semantic HTML commit: switches section labelling from aria-labelledby + IDs to plain aria-label, removes the now-redundant id="upper" from the wordmark anchor, and collapses the double-div foot-menu wrapper now that the CSS handles full-bleed directly.
Core changes:
- app.html / home.html:
section#demo-line: aria-labelledby → aria-label; drop id="demo-line-title" from h2 (ID was only needed for the labelledby reference)
- footer .sl-upper-wordmark: remove id="upper" (CSS now targets .sl-upper-wordmark)
- section Технологии / Контакты: aria-labelledby → aria-label; drop IDs from h2
Remove div#foot-menu + inner div.sl-wrp wrapper; nav.sl-fmenu is now a direct child of footer via div.sl-wrp.sl-clrfix (full-bleed handled in CSS)
Benefits: - Cleaner HTML: fewer IDs, shallower nesting in the footer - ARIA labels still present; labelledby pattern not needed when label text is static
Replaces all hardcoded hex values in theme.css with semantic CSS variables, declared in a new canonical color palette in base.css. Establishes a single source of truth for the lite theme's color system, making future theming and dark-mode preparation trivial.
Core changes:
- base.css:
Add 31 canonical color-role variables (--sl-color-bg, --sl-color-surface, --sl-color-brand, --sl-color-text-muted, --sl-color-on-dark, etc.)
- Add 3 shadow tokens (--sl-shadow-soft, --sl-shadow-medium, --sl-shadow-strong)
- theme.css:
- Replace every hardcoded #hex with the matching --sl-color- or --sl-shadow- token
- Rename #upper ID selector → .sl-upper-wordmark class selector (matches HTML)
Merge #foot-menu rule into #footbox > .sl-wrp.sl-clrfix with full-bleed background trick (100vw + negative margin) to eliminate the wrapper div
- Remove duplicate background-color declaration in .sl-site-link
- Fix tab-indented active-tab selectors to flush indentation
- docs/LITE_THEME_CSS_SIMPLIFICATION_PROMPT.md:
- Add prompt document that captured the CSS simplification requirements
Benefits: - Zero hardcoded colors remain in theme.css; all values resolve through tokens - Shadow values unified via token; border-radius tokens already in place - Full-bleed footer menu background achieved without extra wrapper div
Upgrades the lite template layout to use meaningful HTML5 sectioning elements throughout header, footer, demo strip and navigation, improving document outline, accessibility and machine-readability. CSS selectors updated and minor property fixes applied in sync.
Core changes:
- app.html / home.html (layouts):
div#hmenu → nav#hmenu with aria-label="Главное меню" * form.sl-search-form gains role="search"
div#demo-line → section#demo-line aria-labelledby="demo-line-title" * b.sl-demo-line-title → h2#demo-line-title (correct heading level)
div#footbox → footer#footbox; foot-menu moved inside it * nested footer.sl-grid → section.sl-grid aria-label="SLAED CMS" * div.sl-grid (Технологии) → section aria-labelledby + h2 * div.sl-grid (Контакты) → section aria-labelledby + h2 * ul.sl-block-contact wrapped in address * nav.sl-fmenu gets aria-label="Нижнее меню" * protocol-relative URL //slaed.net → https://slaed.net
- menu.html (partial):
- nav#topmenu → div#topmenu (already inside nav#hmenu; avoids nested nav)
- theme.css:
- #demo-line: add background-position/repeat/size defaults
- .demo-line-title: add font-weight:700; margin shorthand
- .sl-list-item > li: margin-top → margin-bottom
- #footbox: padding shorthand; address { font-style:normal }
- .sl-f-title: margin shorthand
- Responsive: update #footbox selectors to .sl-wrp > .sl-grid:first-child
- Mobile: add overflow/ellipsis rules for .sl-list-item inside #footbox
Benefits: - Proper document outline with h2 headings in demo-line and footer sections - Screen-reader landmarks: nav, footer, section, address, role="search" - CSS remains in sync with the restructured DOM; no visual regressions