Files
archvillainette c3851107ab Theme post code blocks + a11y fixes (impeccable audit) (#25)
Code blocks in posts rendered with the markdown plugin's default light highlight.js theme — white blocks on the dark ledger. This adds dark velvet pre/code styling and a Westgate-toned syntax palette (gold keywords, ledger-ink titles, muted green strings) for post content and the composer preview.

Also picks up the quick wins from an impeccable audit:

- Visible focus ring on the mobile drawer search (input had `outline: 0` with no replacement)
- Input placeholder contrast raised to pass WCAG 4.5:1; tagsinput placeholder reuses the token instead of `$gray-500`
- `prefers-reduced-motion` block zeroing transitions/animations (there were none before)
- Fixed a stray `</li>` closing a `<div>` in `quick-search-results.tpl`

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Reviewed-on: #25
Co-authored-by: vickydotbat <vickydotbat@tutamail.com>
Co-committed-by: vickydotbat <vickydotbat@tutamail.com>
2026-07-16 14:44:39 +00:00

67 lines
1.2 KiB
SCSS

@include media-breakpoint-down(lg) {
#panel {
background: rgba(17, 14, 21, 0.98);
}
ul.categories-list,
ul.westgate-categories-list {
padding-left: 0;
}
li[component="categories/category"],
li[component="category/topic"],
li[component="post"] .post-container {
padding: var(--wg-space-sm) !important;
}
li[component="categories/category"] h2.title {
font-size: 1.1rem !important;
}
.category-children-item > div {
width: 100%;
}
.topic-list-header > .card {
align-items: stretch !important;
}
.topic-list-header [component="category/controls"] {
width: 100%;
}
// keep the guest "Log in to post / reply" CTA on one line
[component="category/post/guest"],
[component="topic/reply/guest"] {
white-space: nowrap;
}
}
@include media-breakpoint-down(md) {
.category-header {
padding: var(--wg-space-sm);
}
li[component="post"] .content,
li[component="post"] .content p,
.topic-text,
.post-content {
font-size: 1rem;
line-height: 1.58;
}
.bottombar-nav {
box-shadow: 0 -8px 20px rgba(0, 0, 0, 0.28);
}
}
@media (prefers-reduced-motion: reduce) {
*,
*::before,
*::after {
animation-duration: 0.01ms !important;
animation-iteration-count: 1 !important;
transition-duration: 0.01ms !important;
}
}