Add .claude/rules/18-relative-units.md enforcing rem/em for layout CSS (px only for icons/borders). Convert GlobalTabBar.svelte and App.svelte sidebar styles from px to rem. Change rail-btn color to --ctp-subtext0.
842 B
842 B
Relative Units (CSS)
Use relative units (em, rem, %, vh, vw) for layout and spacing. Pixels are acceptable only for:
- Icon sizes (
width/heighton<svg>or icon containers) - Borders and outlines (
1px solid ...) - Box shadows
Rules
- Layout dimensions (width, height, max-width, min-width): use
em,rem,%, or viewport units. - Padding and margin: use
emorrem. - Font sizes: use
remorem, neverpx. - Gap, border-radius: use
emorrem. - Media queries: use
em. - When existing code uses
pxfor layout elements, convert to relative units as part of the change. - CSS custom properties for typography (
--ui-font-size,--term-font-size) storepxvalues because they feed into JS APIs (xterm.js) that require pixels. This is the only exception beyond icons/borders.