`, add mobile-only bottom padding so content isn't obscured by the fixed bottom tab bar:
+```typescript
+
+```
+`pb-16` (64px) accounts for the bottom tab bar height on mobile. `md:pb-0` removes it on desktop.
+
+**Do NOT change:** CandidateDeleteDialog, ResolveDialog, CatalogSearchOverlay, AddToCollectionModal, AddToThreadModal, Toaster, AuthPromptModal, OnboardingWizard, ConfirmDialog, ExternalLinkDialog, or any other existing modal/dialog code.
+
+
+ cd /home/jean-luc-makiola/Development/projects/GearBox && grep -c "TopNav" src/client/routes/__root.tsx && grep -c "BottomTabBar" src/client/routes/__root.tsx && ! grep -q "TotalsBar" src/client/routes/__root.tsx && echo "no-totalsbar" && grep -c 'hidden md:block' src/client/routes/__root.tsx && grep 'isPublicRoute' src/client/routes/__root.tsx | grep -c '/setups"'
+
+
+ - __root.tsx imports `TopNav` from `../components/TopNav` (not TotalsBar)
+ - __root.tsx imports `BottomTabBar` from `../components/BottomTabBar`
+ - __root.tsx does NOT contain `TotalsBar` anywhere
+ - __root.tsx does NOT contain `isDashboard` or `totalsBarProps` variables
+ - __root.tsx renders `` (no props)
+ - __root.tsx renders ``
+ - FabMenu is wrapped in ``
+ - isPublicRoute includes `location.pathname === "/setups"`
+ - Root div has `pb-16 md:pb-0` classes
+ - All existing modals/dialogs remain unchanged
+
+
Root layout uses TopNav instead of TotalsBar, BottomTabBar is rendered for mobile, FAB is hidden on mobile, /setups is a public route, and mobile bottom padding prevents content occlusion.
+
+
+
+ Task 2: Remove hero section from landing page
+ src/client/routes/index.tsx
+
+ src/client/routes/index.tsx
+
+
+Modify `src/client/routes/index.tsx` to remove the hero section (per D-09, D-10, D-11).
+
+**Changes:**
+
+1. **Delete the `HeroSection` function entirely** (lines ~35-72 in current file). This includes the heading "Discover Gear", subtitle, search bar div, and "Go to Collection" link.
+
+2. **Remove unused imports:**
+ - Remove `{ Search } from "lucide-react"` — only used by HeroSection
+ - Remove `{ Link } from "@tanstack/react-router"` — only used by HeroSection's "Go to Collection" link (check if Link is used elsewhere in the file first; it is not)
+ - Remove `useAuth` import — only used to pass `isAuthenticated` to HeroSection
+ - Remove `useUIStore` import — only used to get `openCatalogSearch` for HeroSection
+
+3. **Update LandingPage function** to remove HeroSection render and unused variables:
+```typescript
+function LandingPage() {
+ return (
+
+ );
+}
+```
+
+4. **Keep unchanged:** `PopularSetupsSection`, `RecentItemsSection`, `TrendingCategoriesSection`, `SectionSkeleton`, all discovery hooks imports, `GlobalItemCard` import, `PublicSetupCard` import, and the `createFileRoute` route definition.
+
+
+ cd /home/jean-luc-makiola/Development/projects/GearBox && ! grep -q "HeroSection" src/client/routes/index.tsx && echo "no-hero" && ! grep -q "Discover Gear" src/client/routes/index.tsx && echo "no-heading" && ! grep -q "lucide-react" src/client/routes/index.tsx && echo "no-lucide-direct" && grep -c "PopularSetupsSection" src/client/routes/index.tsx
+
+
+ - src/client/routes/index.tsx does NOT contain `HeroSection` (function definition or usage)
+ - src/client/routes/index.tsx does NOT contain `Discover Gear` heading text
+ - src/client/routes/index.tsx does NOT contain `Go to Collection` link text
+ - src/client/routes/index.tsx does NOT import from `lucide-react`
+ - src/client/routes/index.tsx does NOT import `useAuth` or `useUIStore`
+ - LandingPage function renders PopularSetupsSection as first child
+ - PopularSetupsSection, RecentItemsSection, TrendingCategoriesSection all remain
+ - SectionSkeleton helper function remains
+
+ Landing page starts directly with Popular Setups section. No hero section, no heading, no search bar, no "Go to Collection" link. Search is now exclusively in the TopNav bar.
+
+
+
+ Task 3: Verify full navigation flow
+ Complete navigation restructure: TopNav on desktop, BottomTabBar on mobile, Setups as top-level route, Collection with 2 tabs, landing page without hero.
+
+ 1. Run `bun run dev` and open http://localhost:5173 in your browser
+ 2. **Desktop (wide viewport):**
+ - Verify top nav shows: logo (GearBox with package icon), Home/Collection/Setups links, search bar, and user avatar or "Sign in"
+ - Click the search bar — CatalogSearchOverlay should open
+ - If signed out: click Collection — AuthPromptModal should appear (not navigation)
+ - If signed in: click Collection — navigates to /collection, Collection link is highlighted
+ - Navigate to /setups — SetupsView renders, Setups link is highlighted
+ - Navigate to /collection — only Gear and Planning tabs (no Setups tab)
+ - Visit the landing page (/) — no hero section, starts with Popular Setups
+ 3. **Mobile (resize browser to ~375px width or use DevTools mobile):**
+ - Top bar shows only logo and user avatar/sign-in (no nav links, no search bar)
+ - Bottom tab bar shows 4 items: Home, Collection, Setups, Search
+ - Tap Search — CatalogSearchOverlay opens
+ - FAB is NOT visible (hidden on mobile)
+ - Content is not cut off at the bottom (padding accounts for tab bar)
+ 4. Verify no console errors
+
+ Type "approved" or describe any issues
+
+
+
+
+
+- `bun run dev` starts without errors
+- TopNav replaces TotalsBar across all pages
+- BottomTabBar appears only on mobile viewports
+- FAB hidden on mobile, visible on desktop
+- Landing page has no hero — starts with content sections
+- /setups renders SetupsView
+- /collection has 2 tabs (Gear, Planning)
+- Anonymous nav clicks trigger AuthPromptModal
+- CatalogSearchOverlay opens from nav search bar and bottom tab bar Search
+
+
+
+- Complete navigation flow works on both desktop and mobile viewports
+- All 17 locked decisions (D-01 through D-17) are satisfied
+- No visual regressions on existing pages
+- No console errors
+
+
+