import type { Metadata, Viewport } from 'next'; import { Newsreader, Inter, IBM_Plex_Mono } from 'next/font/google'; import './globals.css'; import { SiteHeader } from '@/components/layout/site-header'; import { SiteFooter } from '@/components/layout/site-footer'; import { SITE_URL, SITE_NAME, TAGLINE, AUTHOR_NAME, AUTHOR_URL } from '@/lib/site'; const display = Newsreader({ variable: '--font-display', subsets: ['latin'], display: 'swap', weight: ['400', '500', '600'], style: ['normal', 'italic'] }); const ui = Inter({ variable: '--font-ui', subsets: ['latin'], display: 'swap' }); const code = IBM_Plex_Mono({ variable: '--font-code', subsets: ['latin'], display: 'swap', weight: ['400', '500'] }); export const metadata: Metadata = { metadataBase: new URL(SITE_URL), title: { default: `${SITE_NAME} — ${TAGLINE}`, template: `%s · ${SITE_NAME}` }, description: 'A provenance-first index of every recognized cancer entity: taxonomy, epidemiology, genomics, variants, therapies, clinical trials, literature and transparent rankings.', applicationName: SITE_NAME, authors: [{ name: AUTHOR_NAME, url: AUTHOR_URL }], creator: AUTHOR_NAME, robots: { index: true, follow: true }, openGraph: { type: 'website', siteName: SITE_NAME, url: SITE_URL, title: `${SITE_NAME} — ${TAGLINE}`, description: 'Provenance-first oncology intelligence: every number linked to its source.' }, twitter: { card: 'summary_large_image', title: SITE_NAME, description: TAGLINE, creator: '@spboucher' }, }; export const viewport: Viewport = { width: 'device-width', initialScale: 1, themeColor: [ { media: '(prefers-color-scheme: light)', color: '#fafaf7' }, { media: '(prefers-color-scheme: dark)', color: '#151514' }, ], }; /** Applies the stored theme before first paint (no flash); "system" = no attribute. */ const THEME_BOOT = `try{var t=localStorage.getItem('ci-theme');if(t==='dark'||t==='light'){document.documentElement.setAttribute('data-theme',t)}}catch(e){}`; export default function RootLayout({ children }: { children: React.ReactNode }) { return (