The size modes scale rem line heights to fractions (1.25rem = 22.857px in
Large), and pixel rounding moved text up to 1.2px off center. Type scale
line heights and the header's 3rem now round to whole px (no change in
Normal). Segmented buttons, Reset to default and the project select drop
core's vertical padding, which made the line overflow and sink.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Compact, Normal and Large scale the text (13/14/16px) and the control
heights (32/40/48px) via data-size on <html>. Normal is unchanged.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Placeholders use the outline color, so an empty field no longer looks
filled.
Sidebar link lists (queries, versions, wiki index, admin menu) use
regular body text; only the section titles stay bold. Each item gets
8px vertical padding and a 2px gap, so wrapped names stay apart.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
At medium and high contrast, secondary-container turns dark. The empty
part of progress bars, highlighted code lines and a targeted roadmap
header now use surface-container-highest, so the fill and the text stay
readable. The selected project in the project jump is light at these
levels too; its check mark marks it.
The selected sidebar query gets the pill style even with its "clear"
icon next to it. The icon sits inside the pill and takes the pill's
text color.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
From 900px up, selects and text fields fill their column up to 480px,
numbers and dates are 140px, and long text stays full width, so every
form shares one right edge. Below 900px every field runs full width.
Overrides core's id-pinned widths (% Done, mobile dates, settings
textareas). check-form-alignment.mjs now checks widths at 1440, 1024
and 390px across all settings tabs and admin forms.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Admins set the default mode, contrast and color on Settings > Display,
shown as three labelled form rows below the Theme select. Logged-in
users' choices are saved on their account and override only the parts
they changed; anonymous visitors get the default.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Regroup Redmine's "<strong>Label</strong>: value<br>" tooltip lines on
first hover into a title block and a label/value grid (theme.js).
- Style the issue link as a kicker, the subject as title-small, and the
labels as a muted column next to aligned values.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Generate medium/high contrast schemes, add a custom swatch that builds a scheme
in the browser via lazy-loaded scheme.js, allow Theme Builder exports as palettes.
Drop the teal palette and spread the swatches across the menu width.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Theme div.tooltip span.tip as an M3 rich tooltip (surface-container,
elevation, rounded corners, body-medium text).
- Raise .ui-tooltip specificity so jQuery UI's .ui-widget-content rule
no longer overrides the inverse-surface colors.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Drawer uses the M3 width (up to 360px) so the appearance picker fits;
segmented buttons get equal widths and swatches no longer shrink.
- Dividers separate the drawer groups, so section headings no longer
read as nav items.
- Sidebar forms in the drawer (e.g. activity filters) line up with the
nav labels, fields stack under their label, checkbox rows align.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The dark-mode arrow swap outranked select[multiple], so the arrow
repeated behind every option in listbox selects (e.g. query columns).
Wrap the mode selectors in :where() to keep base select specificity.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>