diff --git a/packages/docs/app/global.css b/packages/docs/app/global.css
index 2bf66070c..727d15234 100644
--- a/packages/docs/app/global.css
+++ b/packages/docs/app/global.css
@@ -3,3 +3,86 @@
@import 'fumadocs-ui/css/preset.css';
@source '../node_modules/fumadocs-ui/dist/**/*.js';
+
+/* ---- Kapa sidebar content shift ---- */
+html.kapa-sidebar-open body {
+ width: calc(100vw - 500px) !important;
+ overflow-x: hidden;
+ transition: width 0.3s ease;
+}
+
+html.kapa-sidebar-open nav {
+ right: 500px !important;
+ overflow: hidden;
+ transition: right 0.3s ease;
+}
+
+html.kapa-sidebar-open .kapa-trigger-btn {
+ display: none !important;
+}
+
+nav {
+ transition: right 0.3s ease;
+}
+
+body {
+ transition: width 0.3s ease;
+}
+
+@media (max-width: 768px) {
+ html.kapa-sidebar-open body {
+ width: 100vw !important;
+ }
+}
+
+/* Kapa trigger button */
+.kapa-trigger-btn {
+ display: inline-flex;
+ align-items: center;
+ gap: 0.5rem;
+ cursor: pointer;
+ background: var(--fd-background);
+ color: var(--fd-foreground);
+ font-weight: 500;
+ font-size: 0.875rem;
+ padding: 0.5rem 1rem;
+ border-radius: 9999px;
+ border: 1px solid var(--fd-border);
+ transition: background-color 0.15s;
+}
+
+.kapa-trigger-btn:hover {
+ background: var(--fd-muted);
+}
+
+/* Floating Kapa button (bottom-right) */
+.kapa-floating-btn {
+ position: fixed;
+ bottom: 1.5rem;
+ right: 1.5rem;
+ z-index: 999;
+ display: inline-flex;
+ align-items: center;
+ gap: 0.5rem;
+ cursor: pointer;
+ background: #298dff;
+ color: white;
+ font-weight: 600;
+ font-size: 0.875rem;
+ padding: 0.75rem 1.25rem;
+ border-radius: 9999px;
+ border: none;
+ box-shadow: 0 4px 12px rgba(41, 141, 255, 0.4);
+ transition:
+ background-color 0.15s,
+ box-shadow 0.15s;
+}
+
+.kapa-floating-btn:hover {
+ background: #1b6fd1;
+ box-shadow: 0 6px 16px rgba(41, 141, 255, 0.5);
+}
+
+html.kapa-sidebar-open .kapa-floating-btn {
+ display: none !important;
+}
diff --git a/packages/docs/app/layout.tsx b/packages/docs/app/layout.tsx
index 3ded3165e..616160de7 100644
--- a/packages/docs/app/layout.tsx
+++ b/packages/docs/app/layout.tsx
@@ -9,6 +9,7 @@ import { Inter } from 'next/font/google';
import Link from 'next/link';
import Script from 'next/script';
import CloudFlareAnalytics from '@/components/CloudFlareAnalytics';
+import { KapaSidebar, KapaButton } from '@/components/KapaWidget';
export const metadata: Metadata = {
title: {
@@ -72,6 +73,27 @@ export default function Layout({ children }: { children: React.ReactNode }) {
{children}
+
+
+