import React from "react"
import type { Metadata, Viewport } from 'next'
import { Orbitron, Rajdhani, JetBrains_Mono, Noto_Sans_JP } from 'next/font/google'
import { Analytics } from '@vercel/analytics/next'
import { ThemeProvider } from '@/components/theme-provider'
import './globals.css'

// KŌDŌ Typography System
const orbitron = Orbitron({ 
  subsets: ["latin"],
  variable: "--font-display",
  display: "swap",
})

const rajdhani = Rajdhani({ 
  subsets: ["latin"],
  weight: ["300", "400", "500", "600", "700"],
  variable: "--font-sans",
  display: "swap",
})

const jetbrainsMono = JetBrains_Mono({ 
  subsets: ["latin"],
  variable: "--font-mono",
  display: "swap",
})

const notoSansJP = Noto_Sans_JP({ 
  subsets: ["latin"],
  weight: ["300", "400", "500", "700", "900"],
  variable: "--font-jp",
  display: "swap",
})

export const metadata: Metadata = {
  title: {
    default: 'VEZA × TALAS — KŌDŌ Design System',
    template: '%s | VEZA',
  },
  description: 'Professional design system for the VEZA music platform. Fusion of Manga, Graffiti, Nature, Gaming & Linux aesthetics.',
  keywords: ['design system', 'music platform', 'VEZA', 'TALAS', 'UI components', 'neon', 'cyberpunk'],
  authors: [{ name: 'VEZA Team' }],
  generator: 'v0.app',
}

export const viewport: Viewport = {
  themeColor: [
    { media: '(prefers-color-scheme: light)', color: '#f5f5f5' },
    { media: '(prefers-color-scheme: dark)', color: '#050508' },
  ],
  width: 'device-width',
  initialScale: 1,
}

export default function RootLayout({
  children,
}: Readonly<{
  children: React.ReactNode
}>) {
  return (
    <html lang="en" suppressHydrationWarning>
      <body className={`${orbitron.variable} ${rajdhani.variable} ${jetbrainsMono.variable} ${notoSansJP.variable} font-sans antialiased`}>
        <ThemeProvider
          attribute="class"
          defaultTheme="dark"
          enableSystem
          disableTransitionOnChange
        >
          {children}
        </ThemeProvider>
        <Analytics />
      </body>
    </html>
  )
}
