Reference creatortrack hover gate postcss

CreatorTrack's mobile scroll-highlight fix is a local PostCSS plugin (postcss-plugins/hover-media-feature.cjs in the repo) that wraps every raw :hover rule in @media (hover: hover) at build time; app/theme.css kills -webkit-tap-highlight-color globally. Two traps:

  1. Plugin path must be absolute via process.cwd() in postcss.config.mjs. Turbopack (production next build) require()s plugin-name strings from inside its build chunks: a relative ./postcss-plugins/... fails MODULE_NOT_FOUND, and import.meta.url gets rewritten to a .next/ chunk path because Turbopack bundles the config itself. Webpack dev resolves relative fine, so this only explodes on deploy.

  2. After any postcss config change, delete .next/cache (and the dev slot's dist dir) before trusting output. Webpack's persistent cache serves stale, un-processed CSS chunks; a "fixed" page can ship ungated :hover rules while freshly-touched files look correct. Verify with grep -c '@media (hover:hover)' on the served/built chunk , the minifier drops the space, so grep without it.

Related UI landmine fixed the same day: .ws-msheet (shared dialog chrome for Quick Task + intake sheets) was display:none at >=1024px, so sheet-based dialogs silently no-opped on desktop; it now has a scoped desktop modal presentation in app/(suite)/workspace.css.

[[reference_creatortrack_worktree_dev_turbopack_symlink]] [[reference_turbopack_root_widening_bug]]