mirror of
https://github.com/LibreChat-AI/librechat.ai.git
synced 2026-03-27 02:38:32 +07:00
* refactor: remove Nextra shims, migrate pages/ to app router, upgrade ESLint to v9 - Remove all nextra-shims and legacy pages/ directory - Migrate subscribe, unsubscribe, and toolkit pages to app router - Restructure config docs with guide-first setup steps and Tabs components - Rewrite Docker install, OpenRouter, and custom endpoints docs - Add Quick Start guide, Google Search docs, and image generation cross-links - Update .gitignore * feat: redesign toolkit and integrate into docs sidebar Move credentials generator and YAML validator into the docs under a new "Tools > Toolkit" sidebar section. Old /toolkit routes redirect to /docs/toolkit. Credentials generator: 2-column field grid, per-field copy buttons, copy-all as .env block, empty state placeholder, design system tokens. YAML validator: full-width theme-aware Ace Editor (chrome/twilight), drag-and-drop overlay, result banners with icons, clear button, no print margin. Remove unused .error-marker and .custom-btn from style.css. --------- Co-authored-by: Claude <noreply@anthropic.com>
83 lines
1.8 KiB
CSS
83 lines
1.8 KiB
CSS
@tailwind base;
|
|
@tailwind components;
|
|
@tailwind utilities;
|
|
|
|
@layer base {
|
|
:root {
|
|
--background: 0 0% 100%;
|
|
--foreground: 0 0% 9%;
|
|
--muted: 0 0% 96%;
|
|
--muted-foreground: 0 0% 42%;
|
|
--popover: 0 0% 99%;
|
|
--popover-foreground: 0 0% 9%;
|
|
--card: 0 0% 100%;
|
|
--card-foreground: 0 0% 9%;
|
|
--border: 0 0% 90%;
|
|
--input: 0 0% 90%;
|
|
--ring: 0 0% 9%;
|
|
--primary: 0 0% 9%;
|
|
--primary-foreground: 0 0% 98%;
|
|
--secondary: 0 0% 96%;
|
|
--secondary-foreground: 0 0% 9%;
|
|
--accent: 0 0% 96%;
|
|
--accent-foreground: 0 0% 9%;
|
|
--destructive: 0 84.2% 60.2%;
|
|
--destructive-foreground: 0 0% 98%;
|
|
--radius: 0.5rem;
|
|
}
|
|
|
|
.dark, :root.dark, :root[class~='dark'] {
|
|
--background: 0 0% 4%;
|
|
--foreground: 0 0% 98%;
|
|
--muted: 0 0% 12%;
|
|
--muted-foreground: 0 0% 55%;
|
|
--popover: 0 0% 8%;
|
|
--popover-foreground: 0 0% 98%;
|
|
--card: 0 0% 8%;
|
|
--card-foreground: 0 0% 98%;
|
|
--border: 0 0% 14%;
|
|
--input: 0 0% 14%;
|
|
--ring: 0 0% 98%;
|
|
--primary: 0 0% 98%;
|
|
--primary-foreground: 0 0% 9%;
|
|
--secondary: 0 0% 12%;
|
|
--secondary-foreground: 0 0% 98%;
|
|
--accent: 0 0% 12%;
|
|
--accent-foreground: 0 0% 98%;
|
|
--destructive: 0 62.8% 30.6%;
|
|
--destructive-foreground: 0 85.7% 97.3%;
|
|
}
|
|
|
|
* {
|
|
@apply border-border;
|
|
}
|
|
|
|
body {
|
|
@apply bg-background text-foreground !important;
|
|
font-family: var(--font-sans);
|
|
font-feature-settings:
|
|
'rlig' 1,
|
|
'calt' 1;
|
|
}
|
|
|
|
footer {
|
|
@apply bg-background text-foreground !important;
|
|
font-family: var(--font-sans);
|
|
}
|
|
|
|
h1 {
|
|
@apply tracking-tight font-mono leading-tight;
|
|
font-family: var(--font-sans);
|
|
}
|
|
|
|
h2 {
|
|
@apply tracking-tight;
|
|
font-family: var(--font-sans);
|
|
}
|
|
}
|
|
|
|
.social-svg {
|
|
border-radius: 10px !important;
|
|
}
|
|
|