© {currentYear} {displayName}
diff --git a/web/default/src/components/layout/components/public-header.tsx b/web/default/src/components/layout/components/public-header.tsx
index 09807cfbd..f45d960da 100644
--- a/web/default/src/components/layout/components/public-header.tsx
+++ b/web/default/src/components/layout/components/public-header.tsx
@@ -184,7 +184,7 @@ export function PublicHeader(props: PublicHeaderProps) {
className={cn(
'flex items-center justify-between transition-all duration-700 ease-[cubic-bezier(0.16,1,0.3,1)]',
scrolled
- ? 'bg-[#0C0D10]/80 ring-[#2A2B33]/80 h-12 rounded-2xl pr-1.5 pl-4 shadow-[0_2px_16px_-6px_rgba(0,0,0,0.5)] ring-[0.5px] backdrop-blur-2xl'
+ ? 'bg-[#0A0E14]/80 ring-[#1A1F29]/80 h-12 rounded-2xl pr-1.5 pl-4 shadow-[0_2px_16px_-6px_rgba(0,0,0,0.5)] ring-[0.5px] backdrop-blur-2xl'
: 'h-16 px-2'
)}
>
@@ -286,7 +286,7 @@ export function PublicHeader(props: PublicHeaderProps) {
) : (
}
>
{t('Sign in')}
@@ -339,7 +339,7 @@ export function PublicHeader(props: PublicHeaderProps) {
{/* Mobile full-screen overlay */}
setMobileOpen(false)}
- className='bg-[#00D2FF] text-[#0C0D10] inline-flex h-10 items-center justify-center rounded-lg text-sm font-semibold transition-opacity hover:opacity-90 active:opacity-80'
+ className='bg-[#28C840] text-[#0A0E14] inline-flex h-10 items-center justify-center rounded-lg text-sm font-semibold transition-opacity hover:opacity-90 active:opacity-80'
>
{isAuthenticated ? t('Go to Dashboard') : t('Sign in')}
diff --git a/web/default/src/features/auth/auth-layout.tsx b/web/default/src/features/auth/auth-layout.tsx
index be69f2875..5c1b10125 100644
--- a/web/default/src/features/auth/auth-layout.tsx
+++ b/web/default/src/features/auth/auth-layout.tsx
@@ -30,7 +30,7 @@ export function AuthLayout({ children }: AuthLayoutProps) {
const { systemName, logo, loading } = useSystemConfig()
return (
-
+
- {/* Top gradient glow */}
+
+ {/* Subtle top glow - green tint */}
- {/* Hero area */}
+ {/* ── Hero ── */}
{/* Badge */}
-
-
+
+
{t('Compatible with OpenAI API')}
{/* Headline */}
-
+
{t('Unified LLM Gateway')}
{/* Subtitle */}
-
- {t(
- 'One endpoint for all models. OpenAI-compatible, switch and go.'
- )}
+
+ {t('One endpoint for all models. OpenAI-compatible, switch and go.')}
{/* CTA */}
{props.isAuthenticated ? (
}
>
{t('Go to Dashboard')}
@@ -89,7 +109,8 @@ export function Hero(props: HeroProps) {
) : (
<>
}
>
{t('Get Started')}
@@ -97,7 +118,8 @@ export function Hero(props: HeroProps) {
}
>
{t('View Pricing')}
@@ -107,68 +129,71 @@ export function Hero(props: HeroProps) {
- {/* Terminal demo - centered, overlapping hero and features */}
+ {/* ── Terminal demo ── */}
-
+
{/* Terminal header */}
-
+
-
- bash
+
+ bash — ModelsToken
{/* Terminal content */}
- ${' '}
- curl{' '}
- {serverAddress}/v1/chat/completions{' '}
- \
+ ${' '}
+ curl{' '}
+ {serverAddress}/v1/chat/completions{' '}
+ \
- -H{' '}
- "Authorization: Bearer sk-..."{' '}
- \
+ -H{' '}
+ "Authorization: Bearer sk-..."{' '}
+ \
- -d{' '}
- {'\'{ "model": "gpt-4o", "messages": [...] }\''}
+ -d{' '}
+ {"'{ \"model\": \"gpt-4o\", \"messages\": [...] }'"}
-
-
-
200 OK
-
-- 312ms
+
+
+ 200 OK
+ -- 312ms
- {'{'}{' '}
- "model"
- :{' '}
- "gpt-4o"
- ,{' '}
- "usage"
- :{' '}
- {'{'}...{'}'}
- {'}'}
+ {"{"}{' '}
+ "model"
+ :{' '}
+ "gpt-4o"
+ ,{' '}
+ "usage"
+ :{' '}
+ {"{...}"}
+ {"}"}
- $
-
+ $
+
- {/* Features grid */}
+ {/* ── Features ── */}
-
+
{t('Full-featured gateway')}
-
+
{t('Everything you need to manage, route, and monitor LLM API traffic')}
@@ -177,15 +202,28 @@ export function Hero(props: HeroProps) {
{features.map((feature) => (
{
+ e.currentTarget.style.borderColor = T.greenDim
+ }}
+ onMouseLeave={(e) => {
+ e.currentTarget.style.borderColor = T.border
+ }}
>
-
-
+
+
-
+
{t(feature.title)}
-
+
{t(feature.desc)}
diff --git a/web/default/src/features/home/index.tsx b/web/default/src/features/home/index.tsx
index 3e5997d5b..b20a4beec 100644
--- a/web/default/src/features/home/index.tsx
+++ b/web/default/src/features/home/index.tsx
@@ -33,8 +33,8 @@ export function Home() {
if (!isLoaded) {
return (
-
- {t('Loading...')}
+
+ {t('Loading...')}
)
@@ -43,7 +43,7 @@ export function Home() {
if (content) {
return (
-
+
{isUrl ? (