Architecture Overview - Framework: Next.js App Router (React 19) - Styling: Bootstrap 5 with React-Bootstrap components and project SASS overrides - Theming: Light/Dark theme set via data-bs-theme on , initialized from a cookie or system preference in `src/app/layout.tsx` Key paths - App entry/layout: `src/app/layout.tsx` - Global styles: `src/scss/nbn.scss` (imports Bootstrap, a Bootswatch-like layer, and project styles) - Navbar: `src/components/Navbar.tsx` - Register Explorer: `src/app/registers/*` - Register parsing utilities: `src/utils/register_parser.ts` and `src/utils/register_parsers/*` - Data: `data/nextreg.txt` Styling & SASS - `src/scss/nbn.scss` imports Bootstrap and local overrides in this order: 1. `variables` (custom Bootstrap variables) 2. Bootstrap core 3. `bootswatch` (theme tweaks) 4. `explorer` (project-specific styles) Theming bootstrap - On the server, `layout.tsx` reads the `NBN-theme` cookie (light/dark) and sets `data-bs-theme` on the HTML element. - On the client, an inline script in the head ensures no flash of incorrect theme by immediately setting the attribute based on cookie or user preference. Development scripts - Dev: `pnpm dev` (port 4000 with Turbopack) - Build: `pnpm build` - Start: `pnpm start` (defaults to port 3000)