From /simplify review of PR #274 (altitude finding).
64 (header height) is spelled 3 independent ways: (app)/layout.tsx calc comment + h-[calc(100dvh-104px)], top-[4rem] on the sticky tab bar, and CreateWorkspace.tsx scroll-offset el.offsetTop - 64 - tabBarH. 1024 (lg breakpoint) is inlined as window.matchMedia('(min-width: 1024px)') duplicating Tailwind lg.
Scope: introduce HEADER_HEIGHT_PX + LG_BREAKPOINT in shared/config; derive the calc, scroll-offset, and JS guard from them. Silent drift risk if header resizes.
Out of scope of PR #274 (touches (app)/layout.tsx + tokens).
From /simplify review of PR #274 (altitude finding).
64(header height) is spelled 3 independent ways:(app)/layout.tsxcalc comment +h-[calc(100dvh-104px)],top-[4rem]on the sticky tab bar, andCreateWorkspace.tsxscroll-offsetel.offsetTop - 64 - tabBarH.1024(lg breakpoint) is inlined aswindow.matchMedia('(min-width: 1024px)')duplicating Tailwindlg.Scope: introduce
HEADER_HEIGHT_PX+LG_BREAKPOINTinshared/config; derive the calc, scroll-offset, and JS guard from them. Silent drift risk if header resizes.Out of scope of PR #274 (touches
(app)/layout.tsx+ tokens).