SEO: robots.txt, sitemap.xml, canonical, OG/Twitter tags, JSON-LD
(ProfessionalService) on / and /folders/, plus a reused screenshot as
og-image.png. prepare-www.mjs now copies robots/sitemap/og-image into
the build. Also carries pending mobile layout tweaks (toc/prefs bar,
viewport-fit=cover) that were already staged in the working tree.
L0–L7 folders stack on scroll with aligned max depth, labeled tabs that
stay consistent when L7 joins the rail, Cal embeds, preview screenshots,
Playwright tests, and updated README.
Co-authored-by: Cursor <cursoragent@cursor.com>
Reverts scroll-section/pull/is-stuck experiments that broke cover behavior.
Each card: sticky + stepped top + z-index; next card slides over previous.
Co-authored-by: Cursor <cursoragent@cursor.com>
Reverts broken is-stuck body hiding and same-top layout from recent fixes.
Each layer sticks lower (L0–L6); higher z covers previous card on scroll.
Scroll pull was ~2.75rem (page only 1060px) — now 70vh per layer (~4k scroll).
Co-authored-by: Cursor <cursoragent@cursor.com>
All folders stick at --stack-reveal; higher layers paint over lower ones.
Bodies hidden until panel aligns on the stack line (no vertical list).
Co-authored-by: Cursor <cursoragent@cursor.com>
Tested all four variants in browser — only active layer body visible while
tabs stay staggered; scroll covers previous layers correctly.
Co-authored-by: Cursor <cursoragent@cursor.com>
Sections overlap via negative margin; tabs stay in staggered rail;
active body z-index covers layers below as you scroll.
Co-authored-by: Cursor <cursoragent@cursor.com>