diff --git a/web/default/src/features/home/components/sections/hero.tsx b/web/default/src/features/home/components/sections/hero.tsx
index e357f5495..27f6d6d75 100644
--- a/web/default/src/features/home/components/sections/hero.tsx
+++ b/web/default/src/features/home/components/sections/hero.tsx
@@ -17,7 +17,7 @@ along with this program. If not, see .
For commercial licensing, please contact admin@modelstoken.com
*/
import { Link } from '@tanstack/react-router'
-import { ArrowRight, Zap, Shield, Layers, BarChart3, Key, GitBranch, Users } from 'lucide-react'
+import { ArrowRight } from 'lucide-react'
import { useTranslation } from 'react-i18next'
import { useStatus } from '@/hooks/use-status'
import { Button } from '@/components/ui/button'
@@ -27,13 +27,6 @@ interface HeroProps {
isAuthenticated?: boolean
}
-const features = [
- { icon: Zap, title: 'Multi-model Routing', desc: 'Automatic failover and load balancing across providers' },
- { icon: Key, title: 'Key Management', desc: 'Centralized API key lifecycle with usage tracking' },
- { icon: Shield, title: 'Access Control', desc: 'Fine-grained permissions, rate limits, and token policies' },
- { icon: BarChart3, title: 'Real-time Monitoring', desc: 'Live dashboards with latency and cost analytics' },
-]
-
const providers = [
'OpenAI', 'Claude', 'Gemini', 'Mistral', 'DeepSeek',
'Llama', 'Qwen', 'Cohere', 'Groq', 'Perplexity',
@@ -65,7 +58,7 @@ export function Hero(props: HeroProps) {
className='pointer-events-none absolute inset-0'
style={{
background:
- 'radial-gradient(ellipse 60% 50% at 50% -10%, oklch(0.65 0.17 210 / 0.06) 0%, transparent 70%)',
+ 'radial-gradient(ellipse 60% 50% at 50% -10%, oklch(0.55 0.15 240 / 0.06) 0%, transparent 70%)',
}}
/>
@@ -111,28 +104,11 @@ export function Hero(props: HeroProps) {
>
)}
-
- {/* Social proof */}
-
-
- {Array.from({ length: 4 }).map((_, i) => (
-
- {String.fromCharCode(65 + i)}
-
- ))}
-
-
- 1K+ {t('developers joined')}
-
-
{/* Right: terminal demo */}
-
+
{/* Title bar */}
@@ -208,75 +184,6 @@ export function Hero(props: HeroProps) {
-
- {/* ── Features (2x2 grid like company) ── */}
-
-
-
- {t('Features')}
-
-
- {t('Everything you need to manage and route LLM API traffic')}
-
-
-
-
- {features.map((feature) => (
-
- {/* Glow effect on hover */}
-
-
-
-
-
-
- {t(feature.title)}
-
-
- {t(feature.desc)}
-
-
-
- ))}
-
-
-
- {/* ── Setup / CTA section ── */}
-
-
-
- {t('Ready to get started?')}
-
-
- {t('Just 3 minutes to start using')}
-
-
- {props.isAuthenticated ? (
-
}
- >
- {t('Dashboard')}
-
-
- ) : (
-
}
- >
- {t('Get Started')}
-
-
- )}
-
- {/* Decorative circles */}
-
-
-
-
{/* Marquee keyframes */}
diff --git a/web/default/src/styles/theme.css b/web/default/src/styles/theme.css
index b9c18f577..69e3beb7a 100644
--- a/web/default/src/styles/theme.css
+++ b/web/default/src/styles/theme.css
@@ -100,49 +100,49 @@ For commercial licensing, please contact admin@modelstoken.com
* in theme-presets.css. Default mirrors `--font-sans` so behavior is
* identical when no font preference is set. */
--font-body: var(--font-sans);
- /* Termius light: deep primary for buttons, cyan for accents/links */
- --background: oklch(0.985 0.002 260);
- --foreground: oklch(0.145 0.015 260);
+ /* Termius-inspired light mode: pure white bg, deep navy text, teal accent */
+ --background: oklch(0.995 0 0);
+ --foreground: oklch(0.13 0.028 270);
--card: oklch(1 0 0);
- --card-foreground: oklch(0.145 0.015 260);
+ --card-foreground: oklch(0.13 0.028 270);
--popover: oklch(1 0 0);
- --popover-foreground: oklch(0.145 0.015 260);
- --primary: oklch(0.16 0.02 260);
- --primary-foreground: oklch(0.985 0 0);
- --secondary: oklch(0.955 0.005 260);
- --secondary-foreground: oklch(0.205 0.015 260);
- --muted: oklch(0.955 0.005 260);
- --muted-foreground: oklch(0.48 0.012 260);
- --accent: oklch(0.945 0.01 260);
- --accent-foreground: oklch(0.145 0.015 260);
+ --popover-foreground: oklch(0.13 0.028 270);
+ --primary: oklch(0.55 0.15 240);
+ --primary-foreground: oklch(0.995 0 0);
+ --secondary: oklch(0.96 0.005 260);
+ --secondary-foreground: oklch(0.18 0.02 270);
+ --muted: oklch(0.96 0.005 260);
+ --muted-foreground: oklch(0.45 0.015 260);
+ --accent: oklch(0.95 0.008 260);
+ --accent-foreground: oklch(0.13 0.028 270);
--destructive: oklch(0.577 0.245 27.325);
- --destructive-foreground: oklch(0.985 0 0);
+ --destructive-foreground: oklch(0.995 0 0);
--success: oklch(0.596 0.145 163.225);
- --success-foreground: oklch(0.985 0 0);
+ --success-foreground: oklch(0.995 0 0);
--warning: oklch(0.681 0.162 75.834);
- --warning-foreground: oklch(0.145 0.015 260);
+ --warning-foreground: oklch(0.13 0.028 270);
--info: oklch(0.588 0.158 241.966);
- --info-foreground: oklch(0.985 0 0);
+ --info-foreground: oklch(0.995 0 0);
--neutral: oklch(0.55 0.01 260);
- --neutral-foreground: oklch(0.985 0 0);
- --border: oklch(0.91 0.005 260);
- --input: oklch(0.91 0.005 260);
- --ring: oklch(0.65 0.17 210);
- --chart-1: oklch(0.65 0.17 210);
+ --neutral-foreground: oklch(0.995 0 0);
+ --border: oklch(0.92 0.003 260);
+ --input: oklch(0.92 0.003 260);
+ --ring: oklch(0.55 0.15 240);
+ --chart-1: oklch(0.55 0.15 240);
--chart-2: oklch(0.596 0.145 163.225);
--chart-3: oklch(0.681 0.162 75.834);
--chart-4: oklch(0.627 0.265 303.9);
--chart-5: oklch(0.645 0.246 16.439);
--sidebar: oklch(0.975 0.003 260);
- --sidebar-foreground: oklch(0.145 0.015 260);
- --sidebar-primary: oklch(0.65 0.17 210);
- --sidebar-primary-foreground: oklch(1 0 0);
+ --sidebar-foreground: oklch(0.13 0.028 270);
+ --sidebar-primary: oklch(0.55 0.15 240);
+ --sidebar-primary-foreground: oklch(0.995 0 0);
--sidebar-accent: oklch(0.94 0.008 260);
- --sidebar-accent-foreground: oklch(0.145 0.015 260);
- --sidebar-border: oklch(0.91 0.005 260);
- --sidebar-ring: oklch(0.65 0.17 210);
- --skeleton-base: oklch(0.955 0.005 260);
- --skeleton-highlight: oklch(0.985 0.002 260);
+ --sidebar-accent-foreground: oklch(0.13 0.028 270);
+ --sidebar-border: oklch(0.92 0.003 260);
+ --sidebar-ring: oklch(0.55 0.15 240);
+ --skeleton-base: oklch(0.96 0.005 260);
+ --skeleton-highlight: oklch(0.995 0 0);
}
.dark {