Press G in astro dev or add ?grid to any URL. Lazy loaded, reads the live grid template so it always reflects the layout tokens. Shift+G toggles the baseline.
feat(layout): place sidenotes in the margin column
From 1280px a sidenote is auto-placed by the grid next to the element before it, without JS or layout shift; a small script aligns it and avoids overlaps. Inline below.
Sticky rail aligned with the first body line, active section indicator and progress line, reading time revealed once stuck, sub-headings expanded unless tocExpanded is false, internal scroll keeping the active item visible, top bar and drawer below 1100px.
feat(layout): append copyable anchor links to headings
Headings get a link icon after their text (h2-h4, reserved space, shown on hover/focus). Clicking copies the section URL with a Copied tip. Without a hash the page loads at the top, with one it lands on the heading, re-applied while late layout settles.