import { StrictMode } from "react"
import { createRoot } from "react-dom/client"
import { RouterProvider, createBrowserRouter } from "react-router-dom"
import "@fontsource-variable/inter/index.css"
import "./styles/globals.css"
import { DevChunkLoadRecovery } from "@/components/dev-chunk-load-recovery"
import { App } from "./App"
import { routes } from "./routes"
/**
* Vite entry — replaces the Next root layout (`app/layout.tsx`).
*
* The HTML shell, theme-color meta, Adobe Fonts preconnect, and Font
* Awesome kit script live in `index.html` (static, no JS needed).
*
* `App` wraps the route tree with the same provider stack the Next
* layout used (Theme, Tooltip, Product, etc.). Per-section providers
* (Library secondary panel, dashboard view) live on the route shells
* that need them — see `src/App.tsx`.
*
* `next/font/google` Inter is replaced by `@fontsource-variable/inter`
* which loads the same weights as a self-hosted variable font with
* zero layout shift. The `--font-sans` CSS variable is set on
* `document.documentElement` once on boot so the rest of the DS
* (tokens-themes, surfaces) sees the same font-family token Next had.
*/
document.documentElement.style.setProperty(
"--font-sans",
"'Inter Variable', 'Inter', system-ui, sans-serif",
)
const router = createBrowserRouter([
{
element: ,
children: routes,
},
])
const rootEl = document.getElementById("root")
if (!rootEl) {
throw new Error("Root element #root not found in index.html")
}
createRoot(rootEl).render(
,
)