Tune it live. Every preset is pure CSS variables.
"Default" follows the body font.
Copy your complete theme and paste it as your resources/css/app.css — the Tailwind import, every token and the @theme mapping are all included, so it works as-is.
@php
$categories = [
['icon' => 'rocket', 'title' => 'Getting started', 'desc' => 'Set up your account and ship your first project.', 'n' => 18],
['icon' => 'credit-card', 'title' => 'Account & billing', 'desc' => 'Plans, invoices, payment methods and refunds.', 'n' => 24],
['icon' => 'plug', 'title' => 'Integrations', 'desc' => 'Connect Slack, GitHub, Zapier and more.', 'n' => 31],
['icon' => 'shield', 'title' => 'Security & privacy', 'desc' => 'SSO, data handling and compliance.', 'n' => 12],
['icon' => 'wrench', 'title' => 'Troubleshooting', 'desc' => 'Fix common errors and known issues.', 'n' => 27],
['icon' => 'code', 'title' => 'API & developers', 'desc' => 'Authentication, webhooks and the SDK.', 'n' => 40],
];
$popular = [
'How do I reset my password?',
'Upgrading or downgrading your plan',
'Inviting teammates to your workspace',
'Setting up single sign-on (SSO)',
'Exporting your data',
];
$faqs = [
['q' => 'How do I contact support?', 'a' => 'Start a live chat from the widget in the bottom-right of any page, or email [email protected]. Pro and Business plans get priority response times.'],
['q' => 'Where can I see my invoices?', 'a' => 'Open Settings → Billing. Every invoice is downloadable as a PDF, and you can update your billing email there too.'],
['q' => 'Is there a status page?', 'a' => 'Yes — status.helix.io shows real-time uptime and incident history. Subscribe to get notified of any disruptions.'],
];
@endphp
<x-layouts.app title="Help Center — Helix">
<header class="bg-background/80 supports-[backdrop-filter]:bg-background/60 sticky top-0 z-40 border-b backdrop-blur-xl">
<div class="mx-auto flex h-16 max-w-6xl items-center gap-4 px-6">
<a href="#" class="flex items-center gap-2 font-semibold"><span class="bg-primary text-primary-foreground flex size-7 items-center justify-center rounded-lg"><x-lucide-life-buoy class="size-4" /></span> Helix Help</a>
<nav class="ml-4 hidden items-center gap-1 text-sm md:flex">
@foreach (['Help Center', 'Community', 'Status', 'Blog'] as $l)<a href="#" class="text-muted-foreground hover:text-foreground hover:bg-accent/60 rounded-md px-3 py-1.5 font-medium transition-colors">{{ $l }}</a>@endforeach
</nav>
<div class="ml-auto flex items-center gap-1.5">
<button type="button" @click="$store.theme && $store.theme.toggle()" class="hover:bg-accent inline-flex size-9 items-center justify-center rounded-md transition-colors" aria-label="Toggle theme"><x-lucide-sun class="size-4 dark:hidden" /><x-lucide-moon class="hidden size-4 dark:block" /></button>
<x-ui.button size="sm" variant="outline">Sign in</x-ui.button>
</div>
</div>
</header>
{{-- Hero + search --}}
<section class="relative overflow-hidden border-b">
<div class="pointer-events-none absolute inset-x-0 -top-32 -z-10 flex justify-center"><div class="from-primary/20 h-80 w-[700px] rounded-full bg-gradient-to-b to-transparent blur-3xl"></div></div>
<div class="mx-auto max-w-2xl px-6 py-20 text-center">
<h1 class="text-4xl font-bold tracking-tight text-balance sm:text-5xl">How can we help?</h1>
<p class="text-muted-foreground mt-3 text-lg">Search our knowledge base or browse the categories below.</p>
<div class="mx-auto mt-7 max-w-xl">
<x-ui.input type="search" placeholder="Search for articles, e.g. “reset password”…" class="h-12 text-base">
<x-slot:leading><x-lucide-search /></x-slot:leading>
</x-ui.input>
</div>
<div class="text-muted-foreground mt-4 flex flex-wrap items-center justify-center gap-2 text-sm">
<span>Popular:</span>
@foreach (['Billing', 'SSO', 'API keys', 'Export data'] as $p)
<a href="#" class="bg-muted hover:bg-accent rounded-full px-3 py-1 transition-colors">{{ $p }}</a>
@endforeach
</div>
</div>
</section>
<div class="mx-auto max-w-6xl px-6">
{{-- Categories --}}
<section class="py-16">
<h2 class="mb-8 text-2xl font-bold tracking-tight">Browse by topic</h2>
<div class="grid gap-5 sm:grid-cols-2 lg:grid-cols-3">
@foreach ($categories as $c)
<a href="#" class="group bg-card hover:border-ring/60 rounded-xl border p-6 shadow-sm transition-all hover:-translate-y-0.5 hover:shadow-md">
<div class="bg-primary/10 text-primary mb-4 inline-flex size-11 items-center justify-center rounded-lg"><x-dynamic-component :component="'lucide-'.$c['icon']" class="size-5" /></div>
<h3 class="group-hover:text-primary flex items-center gap-1.5 font-semibold transition-colors">{{ $c['title'] }} <x-lucide-arrow-right class="size-4 opacity-0 transition-opacity group-hover:opacity-100" /></h3>
<p class="text-muted-foreground mt-1.5 text-sm">{{ $c['desc'] }}</p>
<p class="text-muted-foreground mt-3 text-xs">{{ $c['n'] }} articles</p>
</a>
@endforeach
</div>
</section>
{{-- Popular + FAQ --}}
<section class="grid gap-10 border-t py-16 lg:grid-cols-2">
<div>
<h2 class="mb-5 text-xl font-bold tracking-tight">Popular articles</h2>
<ul class="divide-y rounded-xl border">
@foreach ($popular as $a)
<li><a href="#" class="hover:bg-accent/50 flex items-center justify-between gap-3 px-4 py-3.5 text-sm font-medium transition-colors"><span class="flex items-center gap-2.5"><x-lucide-file-text class="text-muted-foreground size-4" /> {{ $a }}</span> <x-lucide-chevron-right class="text-muted-foreground size-4" /></a></li>
@endforeach
</ul>
</div>
<div>
<h2 class="mb-5 text-xl font-bold tracking-tight">Frequently asked</h2>
<x-ui.accordion type="single" collapsible class="w-full">
@foreach ($faqs as $i => $faq)
<x-ui.accordion-item value="faq-{{ $i }}"><x-ui.accordion-trigger>{{ $faq['q'] }}</x-ui.accordion-trigger><x-ui.accordion-content>{{ $faq['a'] }}</x-ui.accordion-content></x-ui.accordion-item>
@endforeach
</x-ui.accordion>
</div>
</section>
</div>
{{-- Still need help --}}
<section class="bg-muted/30 border-y py-16">
<div class="mx-auto max-w-5xl px-6 text-center">
<h2 class="text-2xl font-bold tracking-tight">Still need help?</h2>
<p class="text-muted-foreground mt-2">Our team is here for you. Pick whatever's easiest.</p>
<div class="mt-8 grid gap-5 sm:grid-cols-3">
@foreach ([['message-circle', 'Live chat', 'Replies in ~2 min', 'Start chat'], ['mail', 'Email us', '[email protected]', 'Send email'], ['users', 'Community', '12k+ members', 'Visit forum']] as [$ic, $t, $d, $cta])
<x-ui.card class="flex flex-col items-center text-center">
<div class="bg-primary/10 text-primary mb-3 inline-flex size-12 items-center justify-center rounded-full"><x-dynamic-component :component="'lucide-'.$ic" class="size-5" /></div>
<h3 class="font-semibold">{{ $t }}</h3>
<p class="text-muted-foreground mt-1 text-sm">{{ $d }}</p>
<x-ui.button variant="outline" size="sm" class="mt-4">{{ $cta }}</x-ui.button>
</x-ui.card>
@endforeach
</div>
</div>
</section>
<footer class="text-muted-foreground border-t py-8 text-center text-sm">© {{ date('Y') }} Helix. Built with BlatUI.</footer>
</x-layouts.app>