boltdocs 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (137) hide show
  1. package/dist/CodeBlock-37XMKCYY.mjs +7 -0
  2. package/dist/PackageManagerTabs-4NWXLXQO.mjs +314 -0
  3. package/dist/Playground-OE2OE6B6.mjs +7 -0
  4. package/dist/SearchDialog-FTOQZ763.mjs +187 -0
  5. package/dist/SearchDialog-ZAZXYIFX.css +2147 -0
  6. package/dist/Video-I6QY4X7J.mjs +7 -0
  7. package/dist/chunk-2YRDWM6O.mjs +56 -0
  8. package/dist/chunk-PN4GCTYG.mjs +67 -0
  9. package/dist/chunk-X2TDGMTR.mjs +64 -0
  10. package/dist/chunk-X6BYQHVC.mjs +12 -0
  11. package/dist/chunk-Z7JHYNAS.mjs +57 -0
  12. package/dist/chunk-ZFCOLEXN.mjs +1644 -0
  13. package/dist/client/index.css +2147 -0
  14. package/dist/client/index.d.mts +298 -0
  15. package/dist/client/index.d.ts +298 -0
  16. package/dist/client/index.js +2793 -0
  17. package/dist/client/index.mjs +63 -0
  18. package/dist/client/ssr.css +2147 -0
  19. package/dist/client/ssr.d.mts +25 -0
  20. package/dist/client/ssr.d.ts +25 -0
  21. package/dist/client/ssr.js +2727 -0
  22. package/dist/client/ssr.mjs +32 -0
  23. package/dist/config-D2XmHJYe.d.mts +122 -0
  24. package/dist/config-D2XmHJYe.d.ts +122 -0
  25. package/dist/index-CRQKWAeo.d.mts +82 -0
  26. package/dist/index-CRQKWAeo.d.ts +82 -0
  27. package/dist/node/cli/index.d.mts +1 -0
  28. package/dist/node/cli/index.d.ts +1 -0
  29. package/dist/node/cli/index.js +199 -0
  30. package/dist/node/cli/index.mjs +154 -0
  31. package/dist/node/index.d.mts +79 -0
  32. package/dist/node/index.d.ts +79 -0
  33. package/dist/node/index.js +797 -0
  34. package/dist/node/index.mjs +719 -0
  35. package/package.json +79 -0
  36. package/src/client/app/index.tsx +422 -0
  37. package/src/client/app/preload.tsx +56 -0
  38. package/src/client/index.ts +40 -0
  39. package/src/client/ssr.tsx +50 -0
  40. package/src/client/theme/components/CodeBlock/CodeBlock.tsx +76 -0
  41. package/src/client/theme/components/CodeBlock/index.ts +1 -0
  42. package/src/client/theme/components/PackageManagerTabs/PackageManagerTabs.tsx +154 -0
  43. package/src/client/theme/components/PackageManagerTabs/index.ts +1 -0
  44. package/src/client/theme/components/PackageManagerTabs/pkg-tabs.css +64 -0
  45. package/src/client/theme/components/Playground/Playground.tsx +86 -0
  46. package/src/client/theme/components/Playground/index.ts +1 -0
  47. package/src/client/theme/components/Playground/playground.css +168 -0
  48. package/src/client/theme/components/Video/Video.tsx +84 -0
  49. package/src/client/theme/components/Video/index.ts +1 -0
  50. package/src/client/theme/components/Video/video.css +41 -0
  51. package/src/client/theme/components/mdx/Admonition.tsx +80 -0
  52. package/src/client/theme/components/mdx/Badge.tsx +31 -0
  53. package/src/client/theme/components/mdx/Button.tsx +50 -0
  54. package/src/client/theme/components/mdx/Card.tsx +80 -0
  55. package/src/client/theme/components/mdx/List.tsx +57 -0
  56. package/src/client/theme/components/mdx/Tabs.tsx +94 -0
  57. package/src/client/theme/components/mdx/index.ts +18 -0
  58. package/src/client/theme/components/mdx/mdx-components.css +405 -0
  59. package/src/client/theme/icons/bun.tsx +62 -0
  60. package/src/client/theme/icons/deno.tsx +20 -0
  61. package/src/client/theme/icons/discord.tsx +12 -0
  62. package/src/client/theme/icons/github.tsx +15 -0
  63. package/src/client/theme/icons/npm.tsx +13 -0
  64. package/src/client/theme/icons/pnpm.tsx +72 -0
  65. package/src/client/theme/icons/twitter.tsx +12 -0
  66. package/src/client/theme/styles/home.css +60 -0
  67. package/src/client/theme/styles/markdown.css +343 -0
  68. package/src/client/theme/styles/variables.css +162 -0
  69. package/src/client/theme/styles.css +38 -0
  70. package/src/client/theme/ui/BackgroundGradient/BackgroundGradient.tsx +10 -0
  71. package/src/client/theme/ui/BackgroundGradient/index.ts +1 -0
  72. package/src/client/theme/ui/Breadcrumbs/Breadcrumbs.tsx +68 -0
  73. package/src/client/theme/ui/Breadcrumbs/index.ts +1 -0
  74. package/src/client/theme/ui/Footer/footer.css +32 -0
  75. package/src/client/theme/ui/Head/Head.tsx +69 -0
  76. package/src/client/theme/ui/Head/index.ts +1 -0
  77. package/src/client/theme/ui/LanguageSwitcher/LanguageSwitcher.tsx +125 -0
  78. package/src/client/theme/ui/LanguageSwitcher/index.ts +1 -0
  79. package/src/client/theme/ui/LanguageSwitcher/language-switcher.css +98 -0
  80. package/src/client/theme/ui/Layout/Layout.tsx +213 -0
  81. package/src/client/theme/ui/Layout/base.css +76 -0
  82. package/src/client/theme/ui/Layout/index.ts +2 -0
  83. package/src/client/theme/ui/Layout/pagination.css +72 -0
  84. package/src/client/theme/ui/Layout/responsive.css +40 -0
  85. package/src/client/theme/ui/Link/Link.tsx +202 -0
  86. package/src/client/theme/ui/Link/index.ts +2 -0
  87. package/src/client/theme/ui/Loading/Loading.tsx +10 -0
  88. package/src/client/theme/ui/Loading/index.ts +1 -0
  89. package/src/client/theme/ui/Loading/loading.css +30 -0
  90. package/src/client/theme/ui/Navbar/GithubStars.tsx +27 -0
  91. package/src/client/theme/ui/Navbar/Navbar.tsx +145 -0
  92. package/src/client/theme/ui/Navbar/index.ts +2 -0
  93. package/src/client/theme/ui/Navbar/navbar.css +233 -0
  94. package/src/client/theme/ui/NotFound/NotFound.tsx +20 -0
  95. package/src/client/theme/ui/NotFound/index.ts +1 -0
  96. package/src/client/theme/ui/NotFound/not-found.css +64 -0
  97. package/src/client/theme/ui/OnThisPage/OnThisPage.tsx +192 -0
  98. package/src/client/theme/ui/OnThisPage/index.ts +1 -0
  99. package/src/client/theme/ui/OnThisPage/toc.css +132 -0
  100. package/src/client/theme/ui/PoweredBy/PoweredBy.tsx +18 -0
  101. package/src/client/theme/ui/PoweredBy/index.ts +1 -0
  102. package/src/client/theme/ui/PoweredBy/powered-by.css +76 -0
  103. package/src/client/theme/ui/SearchDialog/SearchDialog.tsx +199 -0
  104. package/src/client/theme/ui/SearchDialog/index.ts +1 -0
  105. package/src/client/theme/ui/SearchDialog/search.css +152 -0
  106. package/src/client/theme/ui/Sidebar/Sidebar.tsx +200 -0
  107. package/src/client/theme/ui/Sidebar/index.ts +1 -0
  108. package/src/client/theme/ui/Sidebar/sidebar.css +269 -0
  109. package/src/client/theme/ui/ThemeToggle/ThemeToggle.tsx +69 -0
  110. package/src/client/theme/ui/ThemeToggle/index.ts +1 -0
  111. package/src/client/theme/ui/VersionSwitcher/VersionSwitcher.tsx +136 -0
  112. package/src/client/theme/ui/VersionSwitcher/index.ts +1 -0
  113. package/src/client/utils.ts +26 -0
  114. package/src/node/cache.ts +94 -0
  115. package/src/node/cli/commands/config.ts +15 -0
  116. package/src/node/cli/commands/generate-css.ts +24 -0
  117. package/src/node/cli/constants.ts +70 -0
  118. package/src/node/cli/index.ts +22 -0
  119. package/src/node/config.ts +185 -0
  120. package/src/node/index.ts +21 -0
  121. package/src/node/mdx.ts +41 -0
  122. package/src/node/plugin/entry.ts +58 -0
  123. package/src/node/plugin/html.ts +55 -0
  124. package/src/node/plugin/index.ts +190 -0
  125. package/src/node/plugin/types.ts +11 -0
  126. package/src/node/routes/cache.ts +24 -0
  127. package/src/node/routes/index.ts +152 -0
  128. package/src/node/routes/parser.ts +127 -0
  129. package/src/node/routes/sorter.ts +42 -0
  130. package/src/node/routes/types.ts +49 -0
  131. package/src/node/ssg/index.ts +110 -0
  132. package/src/node/ssg/meta.ts +34 -0
  133. package/src/node/ssg/options.ts +13 -0
  134. package/src/node/ssg/sitemap.ts +54 -0
  135. package/src/node/utils.ts +134 -0
  136. package/tsconfig.json +20 -0
  137. package/tsup.config.ts +22 -0
@@ -0,0 +1,2147 @@
1
+ @import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";
2
+
3
+ /* src/client/theme/styles/variables.css */
4
+ :root[data-theme=light],
5
+ :root.theme-light {
6
+ --ld-bg-main: #ffffff;
7
+ --ld-bg-soft: #f9fafb;
8
+ --ld-bg-mute: #f3f4f6;
9
+ --ld-surface: #ffffff;
10
+ --ld-border-subtle: #e5e7eb;
11
+ --ld-border-strong: #d1d5db;
12
+ --ld-text-main: #111827;
13
+ --ld-text-muted: #4b5563;
14
+ --ld-text-dim: #6b7280;
15
+ --ld-color-primary: #7f13ec;
16
+ --ld-color-primary-hover: #6d0fd0;
17
+ --ld-color-primary-muted: rgba(127, 19, 236, 0.1);
18
+ --ld-color-primary-glow: rgba(127, 19, 236, 0.25);
19
+ --ld-color-primary-text: #ffffff;
20
+ --ld-btn-primary-bg: #7f13ec;
21
+ --ld-btn-primary-text: #ffffff;
22
+ --ld-btn-secondary-bg: #ffffff;
23
+ --ld-btn-secondary-text: #111827;
24
+ --ld-gradient-from: var(--ld-color-primary);
25
+ --ld-gradient-to: #a855f7;
26
+ --ld-code-bg: #f3f4f6;
27
+ --ld-code-header: #e5e7eb;
28
+ --ld-code-text: #1f2937;
29
+ --ld-navbar-bg: rgba(255, 255, 255, 0.82);
30
+ --ld-navbar-blur: 12px;
31
+ --ld-sidebar-bg: transparent;
32
+ --ld-sidebar-blur: 0px;
33
+ --ld-glow-1-bg: var(--ld-color-primary-glow);
34
+ --ld-glow-2-bg: rgba(59, 130, 246, 0.15);
35
+ --ld-ui-btn-primary-bg: var(--ld-btn-primary-bg);
36
+ --ld-ui-btn-primary-text: var(--ld-btn-primary-text);
37
+ --ld-ui-btn-secondary-bg: var(--ld-btn-secondary-bg);
38
+ --ld-ui-btn-secondary-text: var(--ld-btn-secondary-text);
39
+ --ld-ui-success-bg: rgba(34, 197, 94, 0.1);
40
+ --ld-ui-success-text: #16a34a;
41
+ --ld-ui-success-border: rgba(34, 197, 94, 0.25);
42
+ --ld-ui-warning-bg: rgba(245, 158, 11, 0.1);
43
+ --ld-ui-warning-text: #d97706;
44
+ --ld-ui-warning-border: rgba(245, 158, 11, 0.25);
45
+ --ld-ui-danger-bg: rgba(239, 68, 68, 0.1);
46
+ --ld-ui-danger-text: #dc2626;
47
+ --ld-ui-danger-border: rgba(239, 68, 68, 0.25);
48
+ --ld-ui-info-bg: rgba(59, 130, 246, 0.1);
49
+ --ld-ui-info-text: #2563eb;
50
+ --ld-ui-info-border: rgba(59, 130, 246, 0.25);
51
+ --ld-ui-note-bg: rgba(59, 130, 246, 0.06);
52
+ --ld-ui-note-text: #2563eb;
53
+ --ld-ui-note-border: rgba(59, 130, 246, 0.3);
54
+ --ld-ui-tip-bg: rgba(34, 197, 94, 0.06);
55
+ --ld-ui-tip-text: #16a34a;
56
+ --ld-ui-tip-border: rgba(34, 197, 94, 0.3);
57
+ }
58
+ :root {
59
+ --ld-bg-main: #0a0a0f;
60
+ --ld-bg-soft: rgba(10, 10, 15, 0.2);
61
+ --ld-bg-mute: #141420;
62
+ --ld-surface: #1a1a2e;
63
+ --ld-border-subtle: rgba(255, 255, 255, 0.06);
64
+ --ld-border-strong: rgba(255, 255, 255, 0.12);
65
+ --ld-text-main: #e4e4ed;
66
+ --ld-text-muted: #9d9db5;
67
+ --ld-text-dim: #6b6b85;
68
+ --ld-color-primary: #ffffff;
69
+ --ld-color-primary-hover: #f3f3f3;
70
+ --ld-color-primary-muted: rgba(255, 255, 255, 0.1);
71
+ --ld-color-primary-glow: rgba(255, 255, 255, 0.25);
72
+ --ld-color-primary-text: #0a0a0f;
73
+ --ld-color-accent: #ffffff;
74
+ --ld-btn-primary-bg: #ffffff;
75
+ --ld-btn-primary-text: #0a0a0f;
76
+ --ld-btn-secondary-bg: #1a1a2e;
77
+ --ld-btn-secondary-text: #e4e4ed;
78
+ --ld-gradient-from: #ffffff;
79
+ --ld-gradient-to: rgba(255, 255, 255, 0.7);
80
+ --ld-code-bg: #0d0d14;
81
+ --ld-code-header: #111119;
82
+ --ld-code-text: #d4d4d4;
83
+ --ld-navbar-bg: rgba(10, 10, 15, 0.2);
84
+ --ld-navbar-blur: 12px;
85
+ --ld-sidebar-bg: transparent;
86
+ --ld-sidebar-blur: 0px;
87
+ --ld-glow-1-bg: var(--ld-color-primary-glow);
88
+ --ld-glow-2-bg: rgba(59, 130, 246, 0.15);
89
+ --ld-ui-btn-primary-bg: var(--ld-btn-primary-bg);
90
+ --ld-ui-btn-primary-text: var(--ld-btn-primary-text);
91
+ --ld-ui-btn-secondary-bg: var(--ld-btn-secondary-bg);
92
+ --ld-ui-btn-secondary-text: var(--ld-btn-secondary-text);
93
+ --ld-ui-success-bg: rgba(34, 197, 94, 0.1);
94
+ --ld-ui-success-text: #22c55e;
95
+ --ld-ui-success-border: rgba(34, 197, 94, 0.25);
96
+ --ld-ui-warning-bg: rgba(245, 158, 11, 0.1);
97
+ --ld-ui-warning-text: #f59e0b;
98
+ --ld-ui-warning-border: rgba(245, 158, 11, 0.25);
99
+ --ld-ui-danger-bg: rgba(239, 68, 68, 0.1);
100
+ --ld-ui-danger-text: #ef4444;
101
+ --ld-ui-danger-border: rgba(239, 68, 68, 0.25);
102
+ --ld-ui-info-bg: rgba(59, 130, 246, 0.1);
103
+ --ld-ui-info-text: #3b82f6;
104
+ --ld-ui-info-border: rgba(59, 130, 246, 0.25);
105
+ --ld-ui-note-bg: rgba(59, 130, 246, 0.06);
106
+ --ld-ui-note-text: #3b82f6;
107
+ --ld-ui-note-border: rgba(59, 130, 246, 0.3);
108
+ --ld-ui-tip-bg: rgba(34, 197, 94, 0.06);
109
+ --ld-ui-tip-text: #22c55e;
110
+ --ld-ui-tip-border: rgba(34, 197, 94, 0.3);
111
+ --ld-font-sans:
112
+ "Inter",
113
+ system-ui,
114
+ -apple-system,
115
+ sans-serif;
116
+ --ld-font-mono:
117
+ "JetBrains Mono",
118
+ ui-monospace,
119
+ SFMono-Regular,
120
+ Menlo,
121
+ Monaco,
122
+ Consolas,
123
+ monospace;
124
+ --ld-navbar-height: 3.5rem;
125
+ --ld-sidebar-width: 14.5rem;
126
+ --ld-toc-width: 13rem;
127
+ --ld-content-max-width: 820px;
128
+ --ld-radius-sm: 4px;
129
+ --ld-radius-md: 8px;
130
+ --ld-radius-lg: 12px;
131
+ --ld-radius-full: 9999px;
132
+ }
133
+
134
+ /* src/client/theme/ui/Layout/base.css */
135
+ *,
136
+ *::before,
137
+ *::after {
138
+ box-sizing: border-box;
139
+ }
140
+ body {
141
+ margin: 0;
142
+ font-family: var(--ld-font-sans);
143
+ background-color: var(--ld-bg-main);
144
+ color: var(--ld-text-main);
145
+ line-height: 1.7;
146
+ -webkit-font-smoothing: antialiased;
147
+ -moz-osx-font-smoothing: grayscale;
148
+ }
149
+ a {
150
+ text-decoration: none;
151
+ &:hover {
152
+ text-decoration: none;
153
+ }
154
+ }
155
+ .boltdocs-layout {
156
+ display: flex;
157
+ flex-direction: column;
158
+ min-height: 100vh;
159
+ }
160
+ .boltdocs-main-container {
161
+ display: flex;
162
+ flex: 1;
163
+ width: 100%;
164
+ max-width: 1440px;
165
+ margin: 0 auto;
166
+ padding: 0 1.5rem;
167
+ }
168
+ .boltdocs-background-glow {
169
+ position: fixed;
170
+ top: 0;
171
+ left: 0;
172
+ right: 0;
173
+ height: 100vh;
174
+ overflow: hidden;
175
+ z-index: -1;
176
+ pointer-events: none;
177
+ }
178
+ .glow-shape {
179
+ position: absolute;
180
+ border-radius: 50%;
181
+ filter: blur(100px);
182
+ opacity: 0.15;
183
+ top: -100px;
184
+ }
185
+ .glow-1 {
186
+ width: 600px;
187
+ height: 600px;
188
+ background: var(--ld-glow-1-bg);
189
+ left: -200px;
190
+ }
191
+ .glow-2 {
192
+ width: 800px;
193
+ height: 800px;
194
+ background: var(--ld-glow-2-bg);
195
+ right: -300px;
196
+ top: -200px;
197
+ }
198
+
199
+ /* src/client/theme/ui/Navbar/navbar.css */
200
+ .boltdocs-navbar {
201
+ display: flex;
202
+ align-items: center;
203
+ justify-content: center;
204
+ height: var(--ld-navbar-height);
205
+ padding: 0;
206
+ background-color: var(--ld-navbar-bg);
207
+ backdrop-filter: blur(var(--ld-navbar-blur));
208
+ -webkit-backdrop-filter: blur(var(--ld-navbar-blur));
209
+ border-bottom: 1px solid var(--ld-border-subtle);
210
+ position: sticky;
211
+ top: 0;
212
+ z-index: 100;
213
+ }
214
+ .navbar-container {
215
+ display: flex;
216
+ align-items: center;
217
+ justify-content: space-between;
218
+ width: 100%;
219
+ max-width: 1440px;
220
+ margin: 0 auto;
221
+ padding: 0 1.5rem;
222
+ }
223
+ .navbar-logo {
224
+ flex: 1;
225
+ }
226
+ .navbar-logo a {
227
+ display: flex;
228
+ align-items: center;
229
+ gap: 0.5rem;
230
+ font-weight: 700;
231
+ font-size: 1.15rem;
232
+ color: var(--ld-text-main);
233
+ text-decoration: none;
234
+ letter-spacing: -0.01em;
235
+ }
236
+ .navbar-logo a:hover {
237
+ color: var(--ld-text-main);
238
+ }
239
+ .navbar-logo-img {
240
+ height: 20px;
241
+ width: auto;
242
+ object-fit: contain;
243
+ display: block;
244
+ }
245
+ .navbar-logo-svg {
246
+ display: flex;
247
+ align-items: center;
248
+ }
249
+ .navbar-logo-svg svg {
250
+ height: 36px;
251
+ width: auto;
252
+ fill: currentColor;
253
+ display: block;
254
+ }
255
+ .navbar-left {
256
+ display: flex;
257
+ align-items: center;
258
+ gap: 1.25rem;
259
+ }
260
+ .navbar-version {
261
+ display: flex;
262
+ align-items: center;
263
+ gap: 0.2rem;
264
+ font-size: 0.75rem;
265
+ font-weight: 500;
266
+ color: var(--ld-text-muted);
267
+ background-color: var(--ld-bg-soft);
268
+ padding: 0.25rem 0.5rem;
269
+ border-radius: var(--ld-radius-md);
270
+ border: 1px solid var(--ld-border-subtle);
271
+ cursor: pointer;
272
+ transition: all 0.2s;
273
+ }
274
+ .navbar-version:hover {
275
+ background-color: var(--ld-bg-mute);
276
+ color: var(--ld-text-main);
277
+ border-color: var(--ld-border-strong);
278
+ }
279
+ .navbar-right {
280
+ display: flex;
281
+ align-items: center;
282
+ gap: 0.75rem;
283
+ }
284
+ .navbar-links {
285
+ display: flex;
286
+ align-items: center;
287
+ gap: 0.25rem;
288
+ }
289
+ .navbar-links a {
290
+ position: relative;
291
+ padding: 0.4rem 0.75rem;
292
+ color: var(--ld-text-muted);
293
+ text-decoration: none;
294
+ font-weight: 500;
295
+ font-size: 0.875rem;
296
+ border-radius: var(--ld-radius-md);
297
+ transition: color 0.2s, background-color 0.2s;
298
+ }
299
+ .navbar-links a:hover {
300
+ color: var(--ld-text-main);
301
+ background-color: var(--ld-color-primary-muted);
302
+ }
303
+ .navbar-links a.active {
304
+ color: var(--ld-color-primary);
305
+ }
306
+ .navbar-search {
307
+ display: flex;
308
+ align-items: center;
309
+ gap: 0.5rem;
310
+ padding: 0.35rem 0.75rem;
311
+ background-color: transparent;
312
+ border: 1px solid transparent;
313
+ border-radius: var(--ld-radius-full);
314
+ backdrop-filter: blur(12px);
315
+ -webkit-backdrop-filter: blur(12px);
316
+ color: var(--ld-text-dim);
317
+ font-size: 0.8125rem;
318
+ min-width: 220px;
319
+ cursor: pointer;
320
+ transition: all 0.2s;
321
+ }
322
+ .navbar-search:hover {
323
+ background-color: var(--ld-bg-mute);
324
+ color: var(--ld-text-muted);
325
+ }
326
+ .navbar-search svg {
327
+ width: 15px;
328
+ height: 15px;
329
+ opacity: 0.7;
330
+ }
331
+ .navbar-search kbd {
332
+ margin-left: auto;
333
+ padding: 0.15rem 0.4rem;
334
+ font-family: var(--ld-font-sans);
335
+ font-weight: 500;
336
+ font-size: 0.65rem;
337
+ background-color: var(--ld-bg-mute);
338
+ border: 1px solid var(--ld-border-strong);
339
+ border-radius: var(--ld-radius-md);
340
+ color: var(--ld-text-dim);
341
+ }
342
+ .navbar-github-stars {
343
+ display: flex;
344
+ align-items: center;
345
+ gap: 0.35rem;
346
+ padding: 0.3rem 0.65rem;
347
+ border-radius: var(--ld-radius-full);
348
+ border: 1px solid var(--ld-border-subtle);
349
+ background: var(--ld-bg-soft);
350
+ color: var(--ld-text-muted);
351
+ text-decoration: none;
352
+ font-size: 0.8rem;
353
+ font-weight: 500;
354
+ transition: all 0.2s;
355
+ }
356
+ .navbar-github-stars:hover {
357
+ color: var(--ld-text-main);
358
+ background: var(--ld-bg-mute);
359
+ border-color: var(--ld-border-strong);
360
+ }
361
+ .navbar-github-stars svg {
362
+ width: 15px;
363
+ height: 15px;
364
+ }
365
+ .navbar-divider {
366
+ width: 1px;
367
+ height: 18px;
368
+ background-color: var(--ld-border-subtle);
369
+ margin: 0 0.25rem;
370
+ }
371
+ .navbar-icons {
372
+ display: flex;
373
+ align-items: center;
374
+ gap: 0.25rem;
375
+ }
376
+ .navbar-icon-btn {
377
+ display: flex;
378
+ align-items: center;
379
+ justify-content: center;
380
+ width: 2.15rem;
381
+ height: 2.15rem;
382
+ background: transparent;
383
+ border: none;
384
+ cursor: pointer;
385
+ border-radius: var(--ld-radius-full);
386
+ color: var(--ld-text-muted);
387
+ text-decoration: none;
388
+ transition: color 0.2s, background-color 0.2s;
389
+ }
390
+ .navbar-icon-btn:hover {
391
+ color: var(--ld-text-main);
392
+ background-color: var(--ld-bg-mute);
393
+ }
394
+ .navbar-icon-btn svg {
395
+ width: 18px;
396
+ height: 18px;
397
+ }
398
+
399
+ /* src/client/theme/ui/Sidebar/sidebar.css */
400
+ .boltdocs-sidebar {
401
+ width: var(--ld-sidebar-width);
402
+ flex-shrink: 0;
403
+ background-color: var(--ld-sidebar-bg);
404
+ backdrop-filter: blur(var(--ld-sidebar-blur));
405
+ -webkit-backdrop-filter: blur(var(--ld-sidebar-blur));
406
+ border-right: 1px solid var(--ld-border-subtle);
407
+ padding: 1rem 0.6rem;
408
+ overflow-y: auto;
409
+ position: sticky;
410
+ top: var(--ld-navbar-height);
411
+ height: calc(100vh - var(--ld-navbar-height));
412
+ scrollbar-width: thin;
413
+ scrollbar-color: var(--ld-bg-mute) transparent;
414
+ display: flex;
415
+ flex-direction: column;
416
+ transition:
417
+ width 0.3s cubic-bezier(0.16, 1, 0.3, 1),
418
+ padding 0.3s cubic-bezier(0.16, 1, 0.3, 1),
419
+ opacity 0.2s ease;
420
+ }
421
+ .boltdocs-sidebar > nav {
422
+ flex: 1;
423
+ }
424
+ .boltdocs-main-container.sidebar-collapsed .boltdocs-sidebar {
425
+ width: 0;
426
+ padding-left: 0;
427
+ padding-right: 0;
428
+ border-right-color: transparent;
429
+ opacity: 0;
430
+ pointer-events: none;
431
+ overflow: hidden;
432
+ }
433
+ .sidebar-toggle-floating {
434
+ position: fixed;
435
+ bottom: 2rem;
436
+ left: 2rem;
437
+ width: 2.75rem;
438
+ height: 2.75rem;
439
+ border-radius: 50%;
440
+ background-color: var(--ld-surface);
441
+ border: 1px solid var(--ld-border-strong);
442
+ color: var(--ld-text-muted);
443
+ display: flex;
444
+ align-items: center;
445
+ justify-content: center;
446
+ cursor: pointer;
447
+ z-index: 100;
448
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
449
+ transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
450
+ opacity: 0;
451
+ pointer-events: none;
452
+ transform: translateY(20px) scale(0.9);
453
+ }
454
+ .sidebar-toggle-floating:hover {
455
+ background-color: var(--ld-bg-soft);
456
+ color: var(--ld-text-main);
457
+ transform: translateY(0px) scale(1.05);
458
+ border-color: var(--ld-color-primary);
459
+ }
460
+ .sidebar-toggle-floating:active {
461
+ transform: translateY(0px) scale(0.95);
462
+ }
463
+ .boltdocs-main-container.sidebar-collapsed .sidebar-toggle-floating {
464
+ opacity: 1;
465
+ pointer-events: auto;
466
+ transform: translateY(0) scale(1);
467
+ }
468
+ .sidebar-footer {
469
+ margin-top: 2rem;
470
+ padding-top: 1rem;
471
+ border-top: 1px solid var(--ld-border-subtle);
472
+ }
473
+ .sidebar-collapse-btn {
474
+ display: flex;
475
+ align-items: center;
476
+ gap: 0.5rem;
477
+ width: 100%;
478
+ padding: 0.5rem 0.75rem;
479
+ background: none;
480
+ border: none;
481
+ border-radius: var(--ld-radius-md);
482
+ color: var(--ld-text-muted);
483
+ font-family: var(--ld-font-sans);
484
+ font-size: 0.8125rem;
485
+ font-weight: 500;
486
+ cursor: pointer;
487
+ transition: all 0.2s ease;
488
+ }
489
+ .sidebar-collapse-btn:hover {
490
+ background-color: var(--ld-bg-soft);
491
+ color: var(--ld-color-primary);
492
+ }
493
+ .boltdocs-sidebar::-webkit-scrollbar {
494
+ width: 4px;
495
+ }
496
+ .boltdocs-sidebar::-webkit-scrollbar-track {
497
+ background: transparent;
498
+ }
499
+ .boltdocs-sidebar::-webkit-scrollbar-thumb {
500
+ background: var(--ld-bg-mute);
501
+ border-radius: 4px;
502
+ }
503
+ .sidebar-list {
504
+ list-style: none;
505
+ padding: 0;
506
+ margin: 0 0 0.5rem;
507
+ }
508
+ .sidebar-list li {
509
+ margin-bottom: 1px;
510
+ }
511
+ .sidebar-link {
512
+ display: flex;
513
+ align-items: center;
514
+ justify-content: space-between;
515
+ padding: 0.45rem 0.75rem;
516
+ color: var(--ld-text-muted);
517
+ text-decoration: none;
518
+ border-radius: var(--ld-radius-md);
519
+ font-size: 0.875rem;
520
+ font-weight: 500;
521
+ transition: all 0.2s ease;
522
+ margin: 0.15rem 0;
523
+ }
524
+ .sidebar-link-content {
525
+ display: flex;
526
+ align-items: center;
527
+ justify-content: space-between;
528
+ width: 100%;
529
+ gap: 0.5rem;
530
+ }
531
+ .sidebar-link-content > span:first-child {
532
+ flex: 1;
533
+ word-wrap: break-word;
534
+ }
535
+ .sidebar-badge {
536
+ font-size: 0.45rem;
537
+ font-weight: 500;
538
+ padding: 0.1rem 0.3rem;
539
+ border-radius: 9999px;
540
+ text-transform: uppercase;
541
+ letter-spacing: 0.05em;
542
+ white-space: nowrap;
543
+ line-height: 1;
544
+ display: inline-flex;
545
+ align-items: center;
546
+ flex-shrink: 0;
547
+ }
548
+ .sidebar-badge.badge-new {
549
+ color: #38bdf8;
550
+ background-color: rgba(56, 189, 248, 0.15);
551
+ border: 1px solid rgba(56, 189, 248, 0.25);
552
+ }
553
+ .sidebar-badge.badge-experimental {
554
+ color: #eab308;
555
+ background-color: rgba(234, 179, 8, 0.15);
556
+ border: 1px solid rgba(234, 179, 8, 0.25);
557
+ }
558
+ .sidebar-badge.badge-updated {
559
+ color: #a1a1aa;
560
+ background-color: rgba(161, 161, 170, 0.15);
561
+ border: 1px solid rgba(161, 161, 170, 0.25);
562
+ }
563
+ .sidebar-badge.badge-default {
564
+ color: var(--ld-text-muted);
565
+ background-color: var(--ld-bg-mute);
566
+ border: 1px solid var(--ld-border-subtle);
567
+ }
568
+ .sidebar-link:hover {
569
+ color: var(--ld-color-primary-hover);
570
+ }
571
+ .sidebar-link.active {
572
+ color: var(--ld-color-primary);
573
+ font-weight: 600;
574
+ }
575
+ .sidebar-group {
576
+ margin-top: 1.25rem;
577
+ }
578
+ .sidebar-group:first-child {
579
+ margin-top: 0;
580
+ }
581
+ .sidebar-group-header {
582
+ display: flex;
583
+ align-items: center;
584
+ justify-content: space-between;
585
+ width: 100%;
586
+ padding: 0.35rem 0.75rem;
587
+ background: none;
588
+ border: none;
589
+ border-radius: var(--ld-radius-md);
590
+ color: var(--ld-text-dim);
591
+ font-family: var(--ld-font-sans);
592
+ font-size: 0.6875rem;
593
+ font-weight: 700;
594
+ text-transform: uppercase;
595
+ letter-spacing: 0.08em;
596
+ cursor: pointer;
597
+ transition: color 0.2s, background-color 0.2s;
598
+ }
599
+ .sidebar-group-header:hover {
600
+ color: var(--ld-text-muted);
601
+ background-color: rgba(255, 255, 255, 0.03);
602
+ }
603
+ .sidebar-group-header.active {
604
+ color: var(--ld-color-primary);
605
+ }
606
+ .sidebar-group-chevron {
607
+ display: inline-flex;
608
+ align-items: center;
609
+ transition: transform 0.25s ease;
610
+ font-size: 0.75rem;
611
+ line-height: 1;
612
+ }
613
+ .sidebar-group-chevron.open {
614
+ transform: rotate(90deg);
615
+ }
616
+ .sidebar-group-list {
617
+ list-style: none;
618
+ padding: 0;
619
+ margin: 0.35rem 0 0;
620
+ overflow: hidden;
621
+ }
622
+ .sidebar-group-list li {
623
+ margin-bottom: 1px;
624
+ }
625
+ .sidebar-link-nested {
626
+ padding-left: 1.25rem;
627
+ }
628
+
629
+ /* src/client/theme/ui/OnThisPage/toc.css */
630
+ .boltdocs-on-this-page {
631
+ width: var(--ld-toc-width);
632
+ flex-shrink: 0;
633
+ padding: 1.5rem 1rem;
634
+ position: sticky;
635
+ top: var(--ld-navbar-height);
636
+ height: calc(100vh - var(--ld-navbar-height));
637
+ overflow-y: auto;
638
+ scrollbar-width: thin;
639
+ scrollbar-color: var(--ld-bg-mute) transparent;
640
+ }
641
+ .on-this-page-title {
642
+ font-size: 0.6875rem;
643
+ font-weight: 700;
644
+ text-transform: uppercase;
645
+ letter-spacing: 0.08em;
646
+ color: var(--ld-text-dim);
647
+ margin: 0 0 0.75rem;
648
+ padding-left: 0.75rem;
649
+ }
650
+ .on-this-page-container {
651
+ position: relative;
652
+ padding-left: 2px;
653
+ }
654
+ .on-this-page-list {
655
+ list-style: none;
656
+ padding: 0;
657
+ margin: 0;
658
+ border-left: 1px solid var(--ld-border-subtle);
659
+ }
660
+ .toc-indicator {
661
+ position: absolute;
662
+ left: 0;
663
+ width: 2px;
664
+ background-color: var(--ld-color-accent);
665
+ transition:
666
+ transform 0.25s cubic-bezier(0.4, 0, 0.2, 1),
667
+ height 0.25s cubic-bezier(0.4, 0, 0.2, 1),
668
+ opacity 0.2s ease;
669
+ z-index: 1;
670
+ border-radius: 2px;
671
+ pointer-events: none;
672
+ opacity: 0;
673
+ }
674
+ .on-this-page-list li {
675
+ margin: 0;
676
+ }
677
+ .on-this-page-list li.toc-indent {
678
+ padding-left: 0.75rem;
679
+ }
680
+ .toc-link {
681
+ display: block;
682
+ padding: 0.35rem 0.75rem;
683
+ font-size: 0.8125rem;
684
+ color: var(--ld-text-dim);
685
+ text-decoration: none;
686
+ border-left: 2px solid transparent;
687
+ margin-left: -2px;
688
+ line-height: 1.4;
689
+ transition: color 0.2s;
690
+ }
691
+ .toc-link:hover {
692
+ color: var(--ld-text-main);
693
+ }
694
+ .toc-link.active {
695
+ color: var(--ld-color-primary);
696
+ font-weight: 500;
697
+ }
698
+ .toc-help {
699
+ margin-top: 2rem;
700
+ padding-top: 1rem;
701
+ border-top: 1px solid var(--ld-border-subtle);
702
+ }
703
+ .toc-help-title {
704
+ font-size: 0.6875rem;
705
+ font-weight: 700;
706
+ text-transform: uppercase;
707
+ letter-spacing: 0.08em;
708
+ color: var(--ld-text-dim);
709
+ margin: 0 0 0.5rem;
710
+ padding-left: 0.75rem;
711
+ }
712
+ .toc-help-links {
713
+ list-style: none;
714
+ padding: 0;
715
+ margin: 0;
716
+ }
717
+ .toc-help-links li {
718
+ margin-bottom: 2px;
719
+ }
720
+ .toc-help-link {
721
+ display: flex;
722
+ align-items: center;
723
+ gap: 0.4rem;
724
+ padding: 0.3rem 0.75rem;
725
+ font-size: 0.8rem;
726
+ color: var(--ld-text-dim);
727
+ text-decoration: none;
728
+ border-radius: var(--ld-radius-md);
729
+ transition: color 0.2s, background-color 0.2s;
730
+ }
731
+ .toc-help-link:hover {
732
+ color: var(--ld-text-muted);
733
+ background-color: rgba(255, 255, 255, 0.03);
734
+ }
735
+ .toc-help-link svg {
736
+ width: 14px;
737
+ height: 14px;
738
+ opacity: 0.6;
739
+ }
740
+
741
+ /* src/client/theme/ui/Footer/footer.css */
742
+ .boltdocs-footer {
743
+ display: flex;
744
+ align-items: center;
745
+ justify-content: space-between;
746
+ padding: 1.5rem 2rem;
747
+ border-top: 1px solid var(--ld-border-subtle);
748
+ background-color: var(--ld-bg-soft);
749
+ font-size: 0.8rem;
750
+ color: var(--ld-text-dim);
751
+ }
752
+ .footer-copy {
753
+ margin: 0;
754
+ }
755
+ .footer-links {
756
+ display: flex;
757
+ gap: 1.25rem;
758
+ }
759
+ .footer-links a {
760
+ color: var(--ld-text-dim);
761
+ text-decoration: none;
762
+ transition: color 0.2s;
763
+ }
764
+ .footer-links a:hover {
765
+ color: var(--ld-text-muted);
766
+ }
767
+
768
+ /* src/client/theme/ui/LanguageSwitcher/language-switcher.css */
769
+ .boltdocs-language-switcher {
770
+ position: relative;
771
+ display: flex;
772
+ align-items: center;
773
+ }
774
+ .language-btn {
775
+ display: flex;
776
+ align-items: center;
777
+ gap: 0.35rem;
778
+ padding: 0.4rem 0.6rem;
779
+ background: transparent;
780
+ color: var(--ld-text-muted);
781
+ border: none;
782
+ border-radius: var(--ld-radius-md);
783
+ font-size: 0.8125rem;
784
+ font-weight: 500;
785
+ cursor: pointer;
786
+ transition: background-color 0.2s, color 0.2s;
787
+ }
788
+ .language-btn svg {
789
+ width: 15px;
790
+ height: 15px;
791
+ opacity: 0.8;
792
+ }
793
+ .language-btn:hover {
794
+ background-color: var(--ld-bg-mute);
795
+ color: var(--ld-text-main);
796
+ }
797
+ .language-dropdown {
798
+ position: absolute;
799
+ top: 100%;
800
+ right: 0;
801
+ margin-top: 0.35rem;
802
+ min-width: 130px;
803
+ background-color: rgba(15, 15, 24, 0.85);
804
+ backdrop-filter: blur(12px);
805
+ -webkit-backdrop-filter: blur(12px);
806
+ border: 1px solid var(--ld-border-strong);
807
+ border-radius: var(--ld-radius-md);
808
+ box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4);
809
+ padding: 0.35rem;
810
+ z-index: 200;
811
+ display: flex;
812
+ flex-direction: column;
813
+ gap: 0.15rem;
814
+ animation: languageDropdownIn 0.15s ease-out;
815
+ }
816
+ @keyframes languageDropdownIn {
817
+ from {
818
+ opacity: 0;
819
+ transform: translateY(-4px);
820
+ }
821
+ to {
822
+ opacity: 1;
823
+ transform: translateY(0);
824
+ }
825
+ }
826
+ [data-theme=light] .language-dropdown,
827
+ .theme-light .language-dropdown {
828
+ background-color: rgba(255, 255, 255, 0.9);
829
+ box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
830
+ }
831
+ .language-option {
832
+ display: block;
833
+ width: 100%;
834
+ text-align: left;
835
+ padding: 0.4rem 0.6rem;
836
+ background: transparent;
837
+ border: none;
838
+ border-radius: var(--ld-radius-sm);
839
+ color: var(--ld-text-muted);
840
+ font-size: 0.8125rem;
841
+ font-weight: 500;
842
+ cursor: pointer;
843
+ transition: background-color 0.2s, color 0.2s;
844
+ }
845
+ .language-option:hover {
846
+ background-color: var(--ld-bg-mute);
847
+ color: var(--ld-text-main);
848
+ }
849
+ .language-option.active {
850
+ background-color: var(--ld-color-primary-muted);
851
+ color: var(--ld-color-primary);
852
+ }
853
+
854
+ /* src/client/theme/ui/PoweredBy/powered-by.css */
855
+ .powered-by-container {
856
+ display: flex;
857
+ justify-content: center;
858
+ padding: 1rem 0.6rem;
859
+ }
860
+ .powered-by-link {
861
+ position: relative;
862
+ display: inline-flex;
863
+ align-items: center;
864
+ gap: 0.45rem;
865
+ padding: 0.45rem 1rem;
866
+ border-radius: var(--ld-radius-full);
867
+ background: rgba(255, 255, 255, 0.03);
868
+ backdrop-filter: blur(8px);
869
+ -webkit-backdrop-filter: blur(8px);
870
+ border: 1px solid rgba(255, 255, 255, 0.08);
871
+ color: var(--ld-text-dim);
872
+ font-size: 0.725rem;
873
+ font-weight: 500;
874
+ text-decoration: none;
875
+ transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
876
+ letter-spacing: 0.01em;
877
+ overflow: hidden;
878
+ }
879
+ .powered-by-link::before {
880
+ content: "";
881
+ position: absolute;
882
+ top: 0;
883
+ left: -100%;
884
+ width: 100%;
885
+ height: 100%;
886
+ background:
887
+ linear-gradient(
888
+ 90deg,
889
+ transparent,
890
+ rgba(255, 255, 255, 0.05),
891
+ transparent);
892
+ transition: 0.5s;
893
+ }
894
+ .powered-by-link:hover::before {
895
+ left: 100%;
896
+ }
897
+ .powered-by-link:hover {
898
+ background: rgba(255, 255, 255, 0.06);
899
+ border-color: rgba(255, 255, 255, 0.2);
900
+ color: var(--ld-text-main);
901
+ transform: translateY(-2px);
902
+ box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
903
+ }
904
+ .powered-by-icon {
905
+ color: var(--ld-color-primary);
906
+ filter: drop-shadow(0 0 4px var(--ld-color-primary));
907
+ transition: transform 0.3s ease;
908
+ }
909
+ .powered-by-link:hover .powered-by-icon {
910
+ transform: scale(1.2) rotate(-10deg);
911
+ filter: drop-shadow(0 0 8px var(--ld-color-primary));
912
+ }
913
+ .powered-by-brand {
914
+ color: var(--ld-color-primary);
915
+ font-weight: 700;
916
+ text-shadow: 0 0 10px rgba(var(--ld-color-primary-rgb, 56, 189, 248), 0.3);
917
+ }
918
+ @media (max-width: 768px) {
919
+ .powered-by-container {
920
+ padding: 0.75rem 0.5rem;
921
+ }
922
+ }
923
+
924
+ /* src/client/theme/styles/markdown.css */
925
+ .boltdocs-content {
926
+ flex: 1;
927
+ padding: 2rem 2.5rem 2.5rem;
928
+ max-width: var(--ld-content-max-width);
929
+ margin: 0 auto;
930
+ min-width: 0;
931
+ transition: max-width 0.3s cubic-bezier(0.16, 1, 0.3, 1), padding 0.3s ease;
932
+ }
933
+ .boltdocs-main-container.sidebar-collapsed .boltdocs-content {
934
+ max-width: 100%;
935
+ }
936
+ .boltdocs-breadcrumbs {
937
+ margin-bottom: 1.5rem;
938
+ }
939
+ .boltdocs-breadcrumbs-list {
940
+ display: flex;
941
+ align-items: center;
942
+ flex-wrap: wrap;
943
+ list-style: none;
944
+ padding: 0;
945
+ margin: 0;
946
+ font-size: 0.8125rem;
947
+ }
948
+ .boltdocs-breadcrumbs-item {
949
+ display: flex;
950
+ align-items: center;
951
+ }
952
+ .boltdocs-breadcrumbs-link {
953
+ display: flex;
954
+ align-items: center;
955
+ color: var(--ld-text-muted);
956
+ text-decoration: none;
957
+ transition: color 0.2s;
958
+ }
959
+ .boltdocs-breadcrumbs-link:hover {
960
+ color: var(--ld-color-primary);
961
+ }
962
+ .boltdocs-breadcrumbs-separator {
963
+ display: flex;
964
+ align-items: center;
965
+ color: var(--ld-text-dim);
966
+ margin: 0 0.5rem;
967
+ opacity: 0.5;
968
+ }
969
+ .boltdocs-breadcrumbs-text {
970
+ color: var(--ld-text-muted);
971
+ }
972
+ .boltdocs-breadcrumbs-active {
973
+ color: var(--ld-text-main);
974
+ font-weight: 500;
975
+ }
976
+ .boltdocs-page h1 {
977
+ font-size: 2.25rem;
978
+ margin: 0 0 0.75rem;
979
+ font-weight: 700;
980
+ letter-spacing: -0.025em;
981
+ color: var(--ld-text-main);
982
+ }
983
+ .boltdocs-page h1 + p {
984
+ color: var(--ld-text-muted);
985
+ font-size: 1.05rem;
986
+ margin-bottom: 2rem;
987
+ }
988
+ .boltdocs-page h2 {
989
+ font-size: 1.4rem;
990
+ margin-top: 2.5rem;
991
+ margin-bottom: 0.75rem;
992
+ font-weight: 700;
993
+ color: var(--ld-text-main);
994
+ padding-bottom: 0.5rem;
995
+ border-bottom: 1px solid var(--ld-border-subtle);
996
+ scroll-margin-top: 5rem;
997
+ letter-spacing: -0.015em;
998
+ }
999
+ .boltdocs-page h3 {
1000
+ font-size: 1.125rem;
1001
+ margin-top: 2rem;
1002
+ margin-bottom: 0.5rem;
1003
+ font-weight: 600;
1004
+ color: var(--ld-text-main);
1005
+ scroll-margin-top: 5rem;
1006
+ }
1007
+ .boltdocs-page p {
1008
+ margin-top: 0;
1009
+ margin-bottom: 1rem;
1010
+ color: var(--ld-text-muted);
1011
+ }
1012
+ .boltdocs-page a {
1013
+ color: var(--ld-color-primary);
1014
+ text-decoration: none;
1015
+ transition: color 0.2s;
1016
+ }
1017
+ .boltdocs-page a:hover {
1018
+ color: var(--ld-color-primary-hover);
1019
+ text-decoration: underline;
1020
+ }
1021
+ .boltdocs-page ul,
1022
+ .boltdocs-page ol {
1023
+ margin-top: 0;
1024
+ margin-bottom: 1rem;
1025
+ padding-left: 1.5rem;
1026
+ color: var(--ld-text-muted);
1027
+ }
1028
+ .boltdocs-page li {
1029
+ margin-bottom: 0.35rem;
1030
+ }
1031
+ .boltdocs-page strong {
1032
+ color: var(--ld-text-main);
1033
+ font-weight: 600;
1034
+ }
1035
+ .boltdocs-page blockquote {
1036
+ margin: 1.5rem 0;
1037
+ padding: 0.75rem 1.25rem;
1038
+ border-left: 3px solid var(--ld-color-primary);
1039
+ background-color: var(--ld-color-primary-muted);
1040
+ border-radius: 0 var(--ld-radius-md) var(--ld-radius-md) 0;
1041
+ color: var(--ld-text-muted);
1042
+ }
1043
+ .boltdocs-page blockquote p {
1044
+ margin: 0;
1045
+ }
1046
+ .boltdocs-page hr {
1047
+ border: none;
1048
+ border-top: 1px solid var(--ld-border-subtle);
1049
+ margin: 2rem 0;
1050
+ }
1051
+ .boltdocs-page img {
1052
+ max-width: 100%;
1053
+ height: auto;
1054
+ border-radius: var(--ld-radius-md);
1055
+ margin: 1rem 0;
1056
+ display: block;
1057
+ }
1058
+ .boltdocs-page table {
1059
+ width: 100%;
1060
+ border-collapse: collapse;
1061
+ margin: 1.5rem 0;
1062
+ font-size: 0.875rem;
1063
+ }
1064
+ .boltdocs-page th {
1065
+ text-align: left;
1066
+ padding: 0.6rem 0.75rem;
1067
+ border-bottom: 2px solid var(--ld-border-subtle);
1068
+ color: var(--ld-text-main);
1069
+ font-weight: 600;
1070
+ }
1071
+ .boltdocs-page td {
1072
+ padding: 0.5rem 0.75rem;
1073
+ border-bottom: 1px solid var(--ld-border-subtle);
1074
+ color: var(--ld-text-muted);
1075
+ }
1076
+ .boltdocs-page tr:hover td {
1077
+ background-color: rgba(255, 255, 255, 0.02);
1078
+ }
1079
+ .boltdocs-page :not(pre) > code {
1080
+ background-color: var(--ld-surface);
1081
+ padding: 0.15rem 0.45rem;
1082
+ border-radius: 5px;
1083
+ font-family: var(--ld-font-mono);
1084
+ font-size: 0.85em;
1085
+ color: var(--ld-color-primary-hover);
1086
+ border: 1px solid var(--ld-border-subtle);
1087
+ }
1088
+ .code-block-wrapper {
1089
+ margin: 1.5rem 0;
1090
+ border-radius: var(--ld-radius-md);
1091
+ overflow: hidden;
1092
+ border: 1px solid var(--ld-border-subtle);
1093
+ background-color: var(--ld-code-bg);
1094
+ }
1095
+ .code-block-header {
1096
+ display: flex;
1097
+ align-items: center;
1098
+ justify-content: space-between;
1099
+ padding: 0.5rem 1.25rem;
1100
+ background-color: var(--ld-code-header);
1101
+ border-bottom: 1px solid var(--ld-border-subtle);
1102
+ font-size: 0.75rem;
1103
+ }
1104
+ .code-block-lang {
1105
+ color: var(--ld-text-dim);
1106
+ font-family: var(--ld-font-mono);
1107
+ font-weight: 500;
1108
+ text-transform: uppercase;
1109
+ letter-spacing: 0.05em;
1110
+ }
1111
+ .code-block-copy {
1112
+ display: flex;
1113
+ align-items: center;
1114
+ gap: 0.35rem;
1115
+ padding: 0.2rem 0.55rem;
1116
+ background: none;
1117
+ border: 1px solid var(--ld-border-subtle);
1118
+ border-radius: 5px;
1119
+ color: var(--ld-text-dim);
1120
+ font-family: var(--ld-font-sans);
1121
+ font-size: 0.6875rem;
1122
+ cursor: pointer;
1123
+ transition: all 0.2s;
1124
+ }
1125
+ .code-block-copy:hover {
1126
+ color: var(--ld-text-main);
1127
+ border-color: var(--ld-border-strong);
1128
+ background-color: rgba(255, 255, 255, 0.04);
1129
+ }
1130
+ .code-block-copy.copied {
1131
+ color: #22c55e;
1132
+ border-color: rgba(34, 197, 94, 0.3);
1133
+ }
1134
+ .code-block-copy svg {
1135
+ width: 18px;
1136
+ height: 18px;
1137
+ }
1138
+ .code-block-wrapper pre {
1139
+ margin: 0 !important;
1140
+ border-radius: 0 !important;
1141
+ border: none !important;
1142
+ background-color: transparent !important;
1143
+ }
1144
+ .code-block-wrapper pre > code {
1145
+ padding: 1.25rem !important;
1146
+ display: block !important;
1147
+ }
1148
+ .code-block-wrapper pre > code .line {
1149
+ padding: 0;
1150
+ }
1151
+ .boltdocs-page pre {
1152
+ margin: 1.5rem 0;
1153
+ border-radius: var(--ld-radius-md);
1154
+ overflow-x: auto;
1155
+ font-family: var(--ld-font-mono);
1156
+ font-size: 0.8125rem;
1157
+ line-height: 1.7;
1158
+ background-color: var(--ld-code-bg);
1159
+ color: var(--ld-code-text);
1160
+ border: 1px solid var(--ld-border-subtle);
1161
+ }
1162
+ .boltdocs-page pre > code {
1163
+ display: grid;
1164
+ padding: 1rem 0;
1165
+ background-color: transparent;
1166
+ border: none;
1167
+ color: inherit;
1168
+ font-size: inherit;
1169
+ }
1170
+ .boltdocs-page pre > code .line {
1171
+ padding: 0 1.25rem;
1172
+ }
1173
+ .boltdocs-page pre > code .line.highlighted {
1174
+ background-color: var(--ld-color-primary-muted);
1175
+ border-left: 2px solid var(--ld-color-primary);
1176
+ }
1177
+ .header-anchor {
1178
+ margin-left: 0.5rem;
1179
+ color: var(--ld-text-dim);
1180
+ opacity: 0;
1181
+ transition: opacity 0.2s;
1182
+ text-decoration: none;
1183
+ font-weight: 400;
1184
+ }
1185
+ .boltdocs-page h2:hover .header-anchor,
1186
+ .boltdocs-page h3:hover .header-anchor {
1187
+ opacity: 1;
1188
+ }
1189
+ .header-anchor:hover {
1190
+ color: var(--ld-color-primary);
1191
+ }
1192
+ .boltdocs-heading {
1193
+ display: flex;
1194
+ align-items: center;
1195
+ }
1196
+ .boltdocs-heading .header-anchor {
1197
+ display: inline-flex;
1198
+ align-items: center;
1199
+ margin-left: 0.5rem;
1200
+ color: var(--ld-text-dim);
1201
+ opacity: 0;
1202
+ transition: opacity 0.2s;
1203
+ text-decoration: none;
1204
+ }
1205
+ .boltdocs-heading:hover .header-anchor {
1206
+ opacity: 1;
1207
+ }
1208
+
1209
+ /* src/client/theme/components/Video/video.css */
1210
+ .boltdocs-video-wrapper {
1211
+ margin: 1.5rem 0;
1212
+ max-width: 100%;
1213
+ width: 100%;
1214
+ box-sizing: border-box;
1215
+ border-radius: var(--ld-radius-md);
1216
+ overflow: hidden;
1217
+ border: 1px solid var(--ld-border-subtle);
1218
+ background-color: var(--ld-surface);
1219
+ }
1220
+ .boltdocs-video {
1221
+ display: block;
1222
+ width: 100%;
1223
+ max-width: 100%;
1224
+ height: auto;
1225
+ border-radius: 0;
1226
+ animation: ld-video-fade-in 0.4s ease-out;
1227
+ }
1228
+ .boltdocs-video-placeholder {
1229
+ width: 100%;
1230
+ aspect-ratio: 16 / 9;
1231
+ background-color: var(--ld-surface);
1232
+ }
1233
+ .boltdocs-page video {
1234
+ max-width: 100%;
1235
+ height: auto;
1236
+ }
1237
+ @keyframes ld-video-fade-in {
1238
+ from {
1239
+ opacity: 0;
1240
+ }
1241
+ to {
1242
+ opacity: 1;
1243
+ }
1244
+ }
1245
+
1246
+ /* src/client/theme/components/mdx/mdx-components.css */
1247
+ .ld-btn {
1248
+ display: inline-flex;
1249
+ align-items: center;
1250
+ gap: 0.4rem;
1251
+ font-weight: 600;
1252
+ border-radius: var(--ld-radius-md);
1253
+ cursor: pointer;
1254
+ transition: all 300ms cubic-bezier(0.16, 1, 0.3, 1);
1255
+ font-family: var(--ld-font-sans);
1256
+ border: 1px solid transparent;
1257
+ line-height: 1;
1258
+ letter-spacing: -0.01em;
1259
+ }
1260
+ .ld-btn:hover {
1261
+ transform: scale(1.05);
1262
+ }
1263
+ .ld-btn:active {
1264
+ transform: scale(0.95);
1265
+ }
1266
+ .ld-btn--sm {
1267
+ padding: 0.45rem 1.1rem;
1268
+ font-size: 0.8125rem;
1269
+ border-radius: var(--ld-radius-md);
1270
+ }
1271
+ .ld-btn--md {
1272
+ padding: 0.7rem 1.6rem;
1273
+ font-size: 0.9375rem;
1274
+ }
1275
+ .ld-btn--lg {
1276
+ padding: 0.85rem 2.1rem;
1277
+ font-size: 1.05rem;
1278
+ }
1279
+ .ld-btn--primary {
1280
+ background-color: var(--ld-ui-btn-primary-bg, var(--ld-btn-primary-bg));
1281
+ color: var(--ld-ui-btn-primary-text, var(--ld-btn-primary-text)) !important;
1282
+ }
1283
+ .ld-btn--primary:hover {
1284
+ opacity: 0.92;
1285
+ color: var(--ld-ui-btn-primary-text, var(--ld-btn-primary-text)) !important;
1286
+ }
1287
+ .ld-btn--secondary {
1288
+ background-color: var(--ld-ui-btn-secondary-bg, var(--ld-btn-secondary-bg));
1289
+ color: var( --ld-ui-btn-secondary-text, var(--ld-btn-secondary-text) ) !important;
1290
+ border-color: var(--ld-border-subtle);
1291
+ }
1292
+ .ld-btn--secondary:hover {
1293
+ background-color: var(--ld-bg-mute);
1294
+ border-color: var(--ld-border-strong);
1295
+ color: var( --ld-ui-btn-secondary-text, var(--ld-btn-secondary-text) ) !important;
1296
+ }
1297
+ .ld-btn--outline {
1298
+ background: transparent;
1299
+ color: var(--ld-text-main) !important;
1300
+ border-color: var(--ld-border-strong);
1301
+ }
1302
+ .ld-btn--outline:hover {
1303
+ background-color: var(--ld-bg-soft);
1304
+ border-color: var(--ld-color-primary);
1305
+ }
1306
+ .ld-btn--ghost {
1307
+ background: transparent;
1308
+ color: var(--ld-text-muted) !important;
1309
+ }
1310
+ .ld-btn--ghost:hover {
1311
+ background-color: var(--ld-bg-soft);
1312
+ color: var(--ld-text-main) !important;
1313
+ }
1314
+ .ld-badge {
1315
+ display: inline-flex;
1316
+ align-items: center;
1317
+ padding: 0.3rem 0.85rem;
1318
+ font-size: 0.75rem;
1319
+ font-weight: 600;
1320
+ border-radius: var(--ld-radius-full);
1321
+ line-height: 1.4;
1322
+ white-space: nowrap;
1323
+ letter-spacing: 0.01em;
1324
+ }
1325
+ .ld-badge--default {
1326
+ background: var(--ld-bg-mute);
1327
+ color: var(--ld-text-main);
1328
+ border: 1px solid var(--ld-border-subtle);
1329
+ }
1330
+ .ld-badge--primary {
1331
+ background: var(--ld-color-primary-muted);
1332
+ color: var(--ld-color-primary);
1333
+ border: 1px solid rgba(127, 19, 236, 0.2);
1334
+ }
1335
+ .ld-badge--success {
1336
+ background: var(--ld-ui-success-bg);
1337
+ color: var(--ld-ui-success-text);
1338
+ border: 1px solid var(--ld-ui-success-border);
1339
+ }
1340
+ .ld-badge--warning {
1341
+ background: var(--ld-ui-warning-bg);
1342
+ color: var(--ld-ui-warning-text);
1343
+ border: 1px solid var(--ld-ui-warning-border);
1344
+ }
1345
+ .ld-badge--danger {
1346
+ background: var(--ld-ui-danger-bg);
1347
+ color: var(--ld-ui-danger-text);
1348
+ border: 1px solid var(--ld-ui-danger-border);
1349
+ }
1350
+ .ld-badge--info {
1351
+ background: var(--ld-ui-info-bg);
1352
+ color: var(--ld-ui-info-text);
1353
+ border: 1px solid var(--ld-ui-info-border);
1354
+ }
1355
+ .ld-cards {
1356
+ display: grid;
1357
+ gap: 1rem;
1358
+ margin: 1.5rem 0;
1359
+ }
1360
+ .ld-cards--1 {
1361
+ grid-template-columns: 1fr;
1362
+ }
1363
+ .ld-cards--2 {
1364
+ grid-template-columns: repeat(2, 1fr);
1365
+ }
1366
+ .ld-cards--3 {
1367
+ grid-template-columns: repeat(3, 1fr);
1368
+ }
1369
+ .ld-cards--4 {
1370
+ grid-template-columns: repeat(4, 1fr);
1371
+ }
1372
+ @media (max-width: 768px) {
1373
+ .ld-cards--2,
1374
+ .ld-cards--3,
1375
+ .ld-cards--4 {
1376
+ grid-template-columns: 1fr;
1377
+ }
1378
+ }
1379
+ .ld-card {
1380
+ position: relative;
1381
+ padding: 1.35rem 1.5rem;
1382
+ border-radius: var(--ld-radius-lg);
1383
+ border: 1px solid var(--ld-border-subtle);
1384
+ background: var(--ld-bg-soft);
1385
+ transition: all 300ms cubic-bezier(0.16, 1, 0.3, 1);
1386
+ text-decoration: none !important;
1387
+ backdrop-filter: blur(var(--ld-navbar-blur));
1388
+ -webkit-backdrop-filter: blur(var(--ld-navbar-blur));
1389
+ color: inherit;
1390
+ overflow: hidden;
1391
+ }
1392
+ .ld-card::before {
1393
+ content: "";
1394
+ position: absolute;
1395
+ top: 0;
1396
+ left: 0;
1397
+ right: 0;
1398
+ height: 1px;
1399
+ background:
1400
+ linear-gradient(
1401
+ 90deg,
1402
+ transparent,
1403
+ var(--ld-border-strong),
1404
+ transparent);
1405
+ opacity: 0;
1406
+ transition: opacity 0.3s ease;
1407
+ }
1408
+ .ld-card:hover {
1409
+ border-color: var(--ld-color-primary);
1410
+ transform: translateY(-3px);
1411
+ }
1412
+ .ld-card:hover::before {
1413
+ opacity: 1;
1414
+ background:
1415
+ linear-gradient(
1416
+ 90deg,
1417
+ transparent,
1418
+ var(--ld-color-primary),
1419
+ transparent);
1420
+ }
1421
+ .ld-card--link {
1422
+ cursor: pointer;
1423
+ }
1424
+ .ld-card--link:hover {
1425
+ text-decoration: none !important;
1426
+ }
1427
+ .ld-card__icon {
1428
+ font-size: 1.6rem;
1429
+ display: flex;
1430
+ align-items: center;
1431
+ justify-content: center;
1432
+ width: 2.5rem;
1433
+ height: 2.5rem;
1434
+ margin-bottom: 0.85rem;
1435
+ }
1436
+ .ld-card__title {
1437
+ font-size: 0.95rem;
1438
+ font-weight: 700;
1439
+ margin: 0 0 0.4rem;
1440
+ color: var(--ld-text-main);
1441
+ letter-spacing: -0.01em;
1442
+ }
1443
+ .ld-card__body {
1444
+ font-size: 0.85rem;
1445
+ color: var(--ld-text-muted);
1446
+ line-height: 1.55;
1447
+ margin: 0;
1448
+ }
1449
+ .ld-card__body p {
1450
+ margin: 0;
1451
+ }
1452
+ .ld-tabs {
1453
+ margin: 1.5rem 0;
1454
+ border: 1px solid var(--ld-border-subtle);
1455
+ border-radius: var(--ld-radius-lg);
1456
+ overflow: hidden;
1457
+ background: var(--ld-bg-soft);
1458
+ }
1459
+ .ld-tabs__bar {
1460
+ display: flex;
1461
+ gap: 0;
1462
+ background-color: var(--ld-bg-mute);
1463
+ border-bottom: 1px solid var(--ld-border-subtle);
1464
+ overflow-x: auto;
1465
+ }
1466
+ .ld-tabs__trigger {
1467
+ position: relative;
1468
+ padding: 0.65rem 1.25rem;
1469
+ background: none;
1470
+ border: none;
1471
+ border-bottom: 2px solid transparent;
1472
+ color: var(--ld-text-dim);
1473
+ font-family: var(--ld-font-sans);
1474
+ font-size: 0.8125rem;
1475
+ font-weight: 500;
1476
+ cursor: pointer;
1477
+ transition: all 0.2s ease;
1478
+ white-space: nowrap;
1479
+ }
1480
+ .ld-tabs__trigger:hover {
1481
+ color: var(--ld-text-main);
1482
+ background-color: rgba(255, 255, 255, 0.03);
1483
+ }
1484
+ .ld-tabs__trigger--active {
1485
+ color: var(--ld-color-primary);
1486
+ border-bottom-color: var(--ld-color-primary);
1487
+ background-color: transparent;
1488
+ }
1489
+ .ld-tabs__content {
1490
+ padding: 1.25rem;
1491
+ }
1492
+ .ld-tab-panel {
1493
+ font-size: 0.9rem;
1494
+ line-height: 1.7;
1495
+ color: var(--ld-text-muted);
1496
+ }
1497
+ .ld-admonition {
1498
+ margin: 1.5rem 0;
1499
+ border-radius: var(--ld-radius-lg);
1500
+ border: 1px solid;
1501
+ overflow: hidden;
1502
+ }
1503
+ .ld-admonition__header {
1504
+ display: flex;
1505
+ align-items: center;
1506
+ gap: 0.5rem;
1507
+ padding: 0.6rem 1.1rem;
1508
+ font-weight: 600;
1509
+ font-size: 0.8rem;
1510
+ text-transform: uppercase;
1511
+ letter-spacing: 0.04em;
1512
+ }
1513
+ .ld-admonition__icon {
1514
+ display: inline-flex;
1515
+ align-items: center;
1516
+ }
1517
+ .ld-admonition__body {
1518
+ padding: 0.6rem 1.1rem 1rem;
1519
+ font-size: 0.875rem;
1520
+ line-height: 1.7;
1521
+ color: var(--ld-text-muted);
1522
+ }
1523
+ .ld-admonition__body p {
1524
+ margin: 0 0 0.5rem;
1525
+ }
1526
+ .ld-admonition__body p:last-child {
1527
+ margin-bottom: 0;
1528
+ }
1529
+ .ld-admonition--note {
1530
+ border-color: var(--ld-ui-note-border);
1531
+ background-color: var(--ld-ui-note-bg);
1532
+ }
1533
+ .ld-admonition--note .ld-admonition__header {
1534
+ color: var(--ld-ui-note-text);
1535
+ }
1536
+ .ld-admonition--tip {
1537
+ border-color: var(--ld-ui-tip-border);
1538
+ background-color: var(--ld-ui-tip-bg);
1539
+ }
1540
+ .ld-admonition--tip .ld-admonition__header {
1541
+ color: var(--ld-ui-tip-text);
1542
+ }
1543
+ .ld-admonition--info {
1544
+ border-color: var(--ld-ui-info-border);
1545
+ background-color: var(--ld-ui-info-bg);
1546
+ }
1547
+ .ld-admonition--info .ld-admonition__header {
1548
+ color: var(--ld-ui-info-text);
1549
+ }
1550
+ .ld-admonition--warning {
1551
+ border-color: var(--ld-ui-warning-border);
1552
+ background-color: var(--ld-ui-warning-bg);
1553
+ }
1554
+ .ld-admonition--warning .ld-admonition__header {
1555
+ color: var(--ld-ui-warning-text);
1556
+ }
1557
+ .ld-admonition--danger {
1558
+ border-color: var(--ld-ui-danger-border);
1559
+ background-color: var(--ld-ui-danger-bg);
1560
+ }
1561
+ .ld-admonition--danger .ld-admonition__header {
1562
+ color: var(--ld-ui-danger-text);
1563
+ }
1564
+ .ld-list {
1565
+ margin: 1rem 0;
1566
+ padding-left: 0;
1567
+ list-style: none;
1568
+ }
1569
+ .ld-list--checked,
1570
+ .ld-list--arrow {
1571
+ padding-left: 0;
1572
+ }
1573
+ .ld-list__item {
1574
+ display: flex;
1575
+ align-items: flex-start;
1576
+ gap: 0.6rem;
1577
+ padding: 0.35rem 0;
1578
+ color: var(--ld-text-muted);
1579
+ font-size: 0.9rem;
1580
+ line-height: 1.6;
1581
+ }
1582
+ .ld-list__icon {
1583
+ flex-shrink: 0;
1584
+ margin-top: 0.25rem;
1585
+ }
1586
+ .ld-list--checked .ld-list__icon {
1587
+ color: var(--ld-ui-success-text);
1588
+ }
1589
+ .ld-list--arrow .ld-list__icon {
1590
+ color: var(--ld-color-primary);
1591
+ }
1592
+
1593
+ /* src/client/theme/components/PackageManagerTabs/pkg-tabs.css */
1594
+ .pkg-tabs-wrapper {
1595
+ margin: 1.5rem 0;
1596
+ }
1597
+ .pkg-tabs-header {
1598
+ display: flex;
1599
+ gap: 0.25rem;
1600
+ overflow-x: auto;
1601
+ padding-bottom: 0.5rem;
1602
+ margin-bottom: -0.5rem;
1603
+ scrollbar-width: none;
1604
+ }
1605
+ .pkg-tabs-header::-webkit-scrollbar {
1606
+ display: none;
1607
+ }
1608
+ .pkg-tab-btn {
1609
+ display: inline-flex;
1610
+ align-items: center;
1611
+ gap: 0.4rem;
1612
+ padding: 0.5rem 1rem;
1613
+ background-color: var(--ld-bg-soft);
1614
+ border: 1px solid var(--ld-border-subtle);
1615
+ border-bottom: none;
1616
+ border-radius: var(--ld-radius-md) var(--ld-radius-md) 0 0;
1617
+ color: var(--ld-text-muted);
1618
+ font-family: var(--ld-font-sans);
1619
+ font-size: 0.8125rem;
1620
+ font-weight: 500;
1621
+ cursor: pointer;
1622
+ transition: all 0.2s;
1623
+ opacity: 0.7;
1624
+ }
1625
+ .pkg-tab-btn:hover {
1626
+ color: var(--ld-text-main);
1627
+ background-color: var(--ld-bg-mute);
1628
+ opacity: 1;
1629
+ }
1630
+ .pkg-tab-btn.active {
1631
+ background-color: var(--ld-code-bg);
1632
+ color: var(--ld-text-main);
1633
+ border-color: var(--ld-border-subtle);
1634
+ opacity: 1;
1635
+ position: relative;
1636
+ z-index: 2;
1637
+ margin-bottom: -1px;
1638
+ }
1639
+ .pkg-tab-icon {
1640
+ display: inline-block;
1641
+ }
1642
+ .pkg-tabs-content {
1643
+ margin-top: 0 !important;
1644
+ border-top-left-radius: 0 !important;
1645
+ }
1646
+
1647
+ /* src/client/theme/ui/SearchDialog/search.css */
1648
+ .boltdocs-search-overlay {
1649
+ position: fixed;
1650
+ top: 0;
1651
+ left: 0;
1652
+ right: 0;
1653
+ bottom: 0;
1654
+ background-color: rgba(0, 0, 0, 0.6);
1655
+ backdrop-filter: blur(4px);
1656
+ -webkit-backdrop-filter: blur(4px);
1657
+ z-index: 999;
1658
+ display: flex;
1659
+ justify-content: center;
1660
+ align-items: flex-start;
1661
+ padding-top: 10vh;
1662
+ }
1663
+ .boltdocs-search-modal {
1664
+ width: 100%;
1665
+ max-width: 560px;
1666
+ background-color: var(--ld-bg-main);
1667
+ border: 1px solid var(--ld-border-subtle);
1668
+ border-radius: var(--ld-radius-lg);
1669
+ box-shadow: 0 16px 64px rgba(0, 0, 0, 0.4);
1670
+ overflow: hidden;
1671
+ display: flex;
1672
+ flex-direction: column;
1673
+ animation: boltdocs-search-appear 0.15s ease-out forwards;
1674
+ }
1675
+ @keyframes boltdocs-search-appear {
1676
+ from {
1677
+ opacity: 0;
1678
+ transform: scale(0.96) translateY(-10px);
1679
+ }
1680
+ to {
1681
+ opacity: 1;
1682
+ transform: scale(1) translateY(0);
1683
+ }
1684
+ }
1685
+ .boltdocs-search-header {
1686
+ display: flex;
1687
+ align-items: center;
1688
+ padding: 1rem 1.25rem;
1689
+ border-bottom: 1px solid transparent;
1690
+ background-color: transparent;
1691
+ gap: 0.75rem;
1692
+ }
1693
+ .boltdocs-search-header svg {
1694
+ width: 18px;
1695
+ height: 18px;
1696
+ color: var(--ld-color-primary);
1697
+ opacity: 0.8;
1698
+ }
1699
+ .boltdocs-search-header input {
1700
+ flex: 1;
1701
+ background: transparent;
1702
+ border: none;
1703
+ color: var(--ld-text-main);
1704
+ font-size: 1.05rem;
1705
+ font-weight: 500;
1706
+ font-family: var(--ld-font-sans);
1707
+ outline: none;
1708
+ box-shadow: none;
1709
+ }
1710
+ .boltdocs-search-header input::placeholder {
1711
+ color: var(--ld-text-dim);
1712
+ }
1713
+ .boltdocs-search-close {
1714
+ background: var(--ld-bg-mute);
1715
+ border: 1px solid var(--ld-border-subtle);
1716
+ color: var(--ld-text-dim);
1717
+ font-size: 0.6875rem;
1718
+ padding: 0.2rem 0.4rem;
1719
+ border-radius: 4px;
1720
+ cursor: pointer;
1721
+ font-family: var(--ld-font-sans);
1722
+ transition: all 0.2s;
1723
+ }
1724
+ .boltdocs-search-close:hover {
1725
+ background: var(--ld-border-strong);
1726
+ color: var(--ld-text-main);
1727
+ }
1728
+ .boltdocs-search-results {
1729
+ max-height: 50vh;
1730
+ overflow-y: auto;
1731
+ padding: 0.5rem;
1732
+ }
1733
+ .boltdocs-search-results::-webkit-scrollbar {
1734
+ width: 6px;
1735
+ }
1736
+ .boltdocs-search-results::-webkit-scrollbar-thumb {
1737
+ background: var(--ld-bg-mute);
1738
+ border-radius: 4px;
1739
+ }
1740
+ .boltdocs-search-result-item {
1741
+ display: flex;
1742
+ flex-direction: column;
1743
+ padding: 0.75rem 1rem;
1744
+ border-radius: var(--ld-radius-md);
1745
+ text-decoration: none;
1746
+ transition: background-color 0.15s;
1747
+ margin-bottom: 2px;
1748
+ }
1749
+ .boltdocs-search-result-item.is-heading {
1750
+ padding-left: 2rem;
1751
+ border-left: 2px solid transparent;
1752
+ }
1753
+ .heading-indicator {
1754
+ color: var(--ld-text-muted);
1755
+ font-weight: 500;
1756
+ margin-right: 0.35rem;
1757
+ font-family: var(--ld-font-mono);
1758
+ }
1759
+ .boltdocs-search-result-item:hover,
1760
+ .boltdocs-search-result-item:focus {
1761
+ background-color: var(--ld-bg-mute);
1762
+ outline: none;
1763
+ }
1764
+ .boltdocs-search-result-title {
1765
+ color: var(--ld-text-main);
1766
+ font-weight: 500;
1767
+ font-size: 0.95rem;
1768
+ }
1769
+ .boltdocs-search-result-group {
1770
+ color: var(--ld-text-muted);
1771
+ font-size: 0.75rem;
1772
+ margin-top: 0.15rem;
1773
+ }
1774
+ .boltdocs-search-empty {
1775
+ padding: 2rem;
1776
+ text-align: center;
1777
+ color: var(--ld-text-dim);
1778
+ font-size: 0.9rem;
1779
+ }
1780
+
1781
+ /* src/client/theme/ui/Layout/pagination.css */
1782
+ .page-nav {
1783
+ display: grid;
1784
+ grid-template-columns: 1fr 1fr;
1785
+ gap: 0.75rem;
1786
+ margin-top: 2.5rem;
1787
+ padding-top: 1.5rem;
1788
+ border-top: 1px solid var(--ld-border-subtle);
1789
+ }
1790
+ .page-nav-link {
1791
+ display: flex;
1792
+ align-items: center;
1793
+ justify-content: space-between;
1794
+ gap: 0.75rem;
1795
+ padding: 0.875rem 1rem;
1796
+ border-radius: var(--ld-radius-md);
1797
+ border: 1px solid var(--ld-border-subtle);
1798
+ text-decoration: none;
1799
+ transition: all 0.2s;
1800
+ }
1801
+ .page-nav-link:hover {
1802
+ border-color: var(--ld-color-primary);
1803
+ background-color: var(--ld-color-primary-muted);
1804
+ }
1805
+ .page-nav-link--prev {
1806
+ flex-direction: row-reverse;
1807
+ }
1808
+ .page-nav-link--next {
1809
+ text-align: left;
1810
+ }
1811
+ .page-nav-info {
1812
+ display: flex;
1813
+ flex-direction: column;
1814
+ gap: 0.15rem;
1815
+ min-width: 0;
1816
+ }
1817
+ .page-nav-label {
1818
+ font-size: 0.6875rem;
1819
+ font-weight: 600;
1820
+ text-transform: uppercase;
1821
+ letter-spacing: 0.05em;
1822
+ color: var(--ld-text-dim);
1823
+ display: block;
1824
+ }
1825
+ .page-nav-title {
1826
+ font-size: 0.8125rem;
1827
+ font-weight: 600;
1828
+ color: var(--ld-text-main);
1829
+ display: block;
1830
+ white-space: nowrap;
1831
+ overflow: hidden;
1832
+ text-overflow: ellipsis;
1833
+ }
1834
+ .page-nav-arrow {
1835
+ color: var(--ld-text-dim);
1836
+ flex-shrink: 0;
1837
+ transition: color 0.2s;
1838
+ }
1839
+ .page-nav-link:hover .page-nav-arrow {
1840
+ color: var(--ld-color-primary);
1841
+ }
1842
+
1843
+ /* src/client/theme/styles/home.css */
1844
+ .boltdocs-home {
1845
+ min-height: calc(100vh - var(--ld-navbar-height));
1846
+ }
1847
+ .home-hero {
1848
+ display: flex;
1849
+ align-items: center;
1850
+ justify-content: center;
1851
+ padding: 6rem 2rem 4rem;
1852
+ text-align: center;
1853
+ }
1854
+ .hero-content {
1855
+ max-width: 680px;
1856
+ }
1857
+ .hero-title {
1858
+ font-size: 3.5rem;
1859
+ font-weight: 900;
1860
+ line-height: 1.1;
1861
+ margin: 0 0 1.25rem;
1862
+ letter-spacing: -0.03em;
1863
+ color: var(--ld-text-main);
1864
+ }
1865
+ .hero-highlight {
1866
+ background:
1867
+ linear-gradient(
1868
+ 135deg,
1869
+ var(--ld-gradient-from),
1870
+ var(--ld-gradient-to));
1871
+ -webkit-background-clip: text;
1872
+ -webkit-text-fill-color: transparent;
1873
+ background-clip: text;
1874
+ }
1875
+ .hero-description {
1876
+ font-size: 1.125rem;
1877
+ color: var(--ld-text-muted);
1878
+ line-height: 1.7;
1879
+ margin-bottom: 2rem;
1880
+ }
1881
+ .hero-actions {
1882
+ display: flex;
1883
+ gap: 0.75rem;
1884
+ justify-content: center;
1885
+ flex-wrap: wrap;
1886
+ }
1887
+ .home-features {
1888
+ padding: 2rem 2rem 6rem;
1889
+ max-width: 1000px;
1890
+ margin: 0 auto;
1891
+ }
1892
+
1893
+ /* src/client/theme/ui/NotFound/not-found.css */
1894
+ .boltdocs-not-found {
1895
+ display: flex;
1896
+ align-items: center;
1897
+ justify-content: center;
1898
+ min-height: 60vh;
1899
+ text-align: center;
1900
+ padding: 2rem;
1901
+ }
1902
+ .not-found-content {
1903
+ max-width: 420px;
1904
+ }
1905
+ .not-found-code {
1906
+ display: block;
1907
+ font-size: 6rem;
1908
+ font-weight: 900;
1909
+ line-height: 1;
1910
+ background:
1911
+ linear-gradient(
1912
+ 135deg,
1913
+ var(--ld-gradient-from),
1914
+ var(--ld-gradient-to));
1915
+ -webkit-background-clip: text;
1916
+ -webkit-text-fill-color: transparent;
1917
+ background-clip: text;
1918
+ margin-bottom: 0.5rem;
1919
+ }
1920
+ .not-found-title {
1921
+ font-size: 1.5rem;
1922
+ font-weight: 700;
1923
+ margin: 0 0 0.75rem;
1924
+ color: var(--ld-text-main);
1925
+ }
1926
+ .not-found-text {
1927
+ color: var(--ld-text-muted);
1928
+ margin-bottom: 1.5rem;
1929
+ }
1930
+ a.not-found-link {
1931
+ display: inline-flex;
1932
+ align-items: center;
1933
+ gap: 0.5rem;
1934
+ padding: 0.6rem 1.5rem;
1935
+ background-color: var(--ld-btn-primary-bg);
1936
+ color: var(--ld-btn-primary-text) !important;
1937
+ border-radius: var(--ld-radius-md);
1938
+ text-decoration: none;
1939
+ font-weight: 600;
1940
+ transition: all 0.2s;
1941
+ }
1942
+ a.not-found-link:hover {
1943
+ background-color: var(--ld-btn-primary-bg);
1944
+ opacity: 0.9;
1945
+ transform: translateY(-1px);
1946
+ box-shadow: 0 4px 16px var(--ld-color-primary-glow);
1947
+ color: var(--ld-btn-primary-text) !important;
1948
+ }
1949
+
1950
+ /* src/client/theme/ui/Loading/loading.css */
1951
+ .boltdocs-loading {
1952
+ display: flex;
1953
+ flex-direction: column;
1954
+ align-items: center;
1955
+ justify-content: center;
1956
+ min-height: 40vh;
1957
+ gap: 1rem;
1958
+ }
1959
+ .loading-spinner {
1960
+ width: 2.5rem;
1961
+ height: 2.5rem;
1962
+ border: 3px solid var(--ld-border-subtle);
1963
+ border-top-color: var(--ld-color-primary);
1964
+ border-radius: 50%;
1965
+ animation: boltdocs-spin 0.7s linear infinite;
1966
+ }
1967
+ @keyframes boltdocs-spin {
1968
+ to {
1969
+ transform: rotate(360deg);
1970
+ }
1971
+ }
1972
+ .loading-text {
1973
+ font-size: 0.875rem;
1974
+ color: var(--ld-text-dim);
1975
+ margin: 0;
1976
+ }
1977
+
1978
+ /* src/client/theme/components/Playground/playground.css */
1979
+ .boltdocs-playground {
1980
+ display: flex;
1981
+ flex-direction: column;
1982
+ margin: 2rem 0;
1983
+ border-radius: var(--ld-radius-lg);
1984
+ border: 1px solid var(--ld-border-subtle);
1985
+ background: var(--ld-code-bg);
1986
+ overflow: hidden;
1987
+ box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
1988
+ backdrop-filter: blur(10px);
1989
+ }
1990
+ .playground-split-container {
1991
+ display: flex;
1992
+ flex-direction: column;
1993
+ width: 100%;
1994
+ }
1995
+ @media (min-width: 1024px) {
1996
+ .playground-split-container {
1997
+ flex-direction: row;
1998
+ min-height: 350px;
1999
+ align-items: stretch;
2000
+ }
2001
+ }
2002
+ .playground-panel {
2003
+ display: flex;
2004
+ flex-direction: column;
2005
+ flex: 1;
2006
+ min-width: 0;
2007
+ }
2008
+ .playground-editor-panel {
2009
+ border-bottom: 1px solid var(--ld-border-subtle);
2010
+ background: var(--ld-code-bg);
2011
+ }
2012
+ @media (min-width: 1024px) {
2013
+ .playground-editor-panel {
2014
+ border-bottom: none;
2015
+ border-right: 1px solid var(--ld-border-subtle);
2016
+ }
2017
+ }
2018
+ .playground-preview-panel {
2019
+ background: var(--ld-bg-mute);
2020
+ position: relative;
2021
+ }
2022
+ .playground-panel-header {
2023
+ display: flex;
2024
+ align-items: center;
2025
+ justify-content: space-between;
2026
+ padding: 0.5rem 1rem;
2027
+ border-bottom: 1px solid var(--ld-border-subtle);
2028
+ background: rgba(0, 0, 0, 0.1);
2029
+ }
2030
+ .playground-panel-title {
2031
+ display: flex;
2032
+ align-items: center;
2033
+ gap: 0.5rem;
2034
+ font-size: 0.75rem;
2035
+ font-weight: 600;
2036
+ color: var(--ld-text-muted);
2037
+ text-transform: uppercase;
2038
+ letter-spacing: 0.05em;
2039
+ }
2040
+ .playground-copy-btn {
2041
+ background: transparent;
2042
+ border: none;
2043
+ color: var(--ld-text-muted);
2044
+ cursor: pointer;
2045
+ padding: 0.25rem;
2046
+ border-radius: var(--ld-radius-sm);
2047
+ display: flex;
2048
+ align-items: center;
2049
+ justify-content: center;
2050
+ transition: all 0.2s;
2051
+ }
2052
+ .playground-copy-btn:hover {
2053
+ background: rgba(255, 255, 255, 0.1);
2054
+ color: var(--ld-text-main);
2055
+ }
2056
+ .playground-panel-content {
2057
+ flex: 1;
2058
+ overflow: auto;
2059
+ position: relative;
2060
+ display: flex;
2061
+ flex-direction: column;
2062
+ }
2063
+ .playground-editor {
2064
+ background: transparent;
2065
+ }
2066
+ .playground-editor > div {
2067
+ font-family: var(--ld-font-mono) !important;
2068
+ font-size: 0.85rem !important;
2069
+ line-height: 1.5 !important;
2070
+ min-height: 100%;
2071
+ }
2072
+ .playground-editor pre {
2073
+ padding: 1.5rem !important;
2074
+ margin: 0 !important;
2075
+ background: transparent !important;
2076
+ }
2077
+ .playground-editor textarea {
2078
+ outline: none !important;
2079
+ padding: 1.5rem !important;
2080
+ }
2081
+ .boltdocs-playground[data-readonly=true] .playground-editor textarea {
2082
+ cursor: default !important;
2083
+ }
2084
+ .playground-preview {
2085
+ padding: 2rem;
2086
+ display: flex;
2087
+ align-items: center;
2088
+ justify-content: center;
2089
+ background-color: var(--ld-bg-mute);
2090
+ background-image: radial-gradient(var(--ld-border-subtle) 1.5px, transparent 1.5px);
2091
+ background-size: 24px 24px;
2092
+ color: var(--ld-text-main);
2093
+ min-height: 200px;
2094
+ }
2095
+ .playground-error {
2096
+ margin: 0;
2097
+ padding: 1rem;
2098
+ background: #7f1d1d;
2099
+ color: #fca5a5;
2100
+ font-size: 0.8rem;
2101
+ font-family: var(--ld-font-mono);
2102
+ white-space: pre-wrap;
2103
+ border-top: 1px solid #991b1b;
2104
+ z-index: 10;
2105
+ }
2106
+ .playground-skeleton {
2107
+ height: 350px;
2108
+ background: var(--ld-bg-mute);
2109
+ border-radius: var(--ld-radius-lg);
2110
+ animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
2111
+ margin: 2rem 0;
2112
+ border: 1px solid var(--ld-border-subtle);
2113
+ }
2114
+
2115
+ /* src/client/theme/ui/Layout/responsive.css */
2116
+ @media (max-width: 1100px) {
2117
+ .boltdocs-on-this-page {
2118
+ display: none;
2119
+ }
2120
+ }
2121
+ @media (max-width: 768px) {
2122
+ .boltdocs-sidebar {
2123
+ display: none;
2124
+ }
2125
+ .sidebar-toggle-floating {
2126
+ display: none !important;
2127
+ }
2128
+ .boltdocs-content {
2129
+ padding: 1.5rem 1rem 3rem;
2130
+ }
2131
+ .hero-title {
2132
+ font-size: 2.25rem;
2133
+ }
2134
+ .ld-cards--2,
2135
+ .ld-cards--3,
2136
+ .ld-cards--4 {
2137
+ grid-template-columns: 1fr;
2138
+ }
2139
+ .navbar-search {
2140
+ display: none;
2141
+ }
2142
+ .page-nav {
2143
+ flex-direction: column;
2144
+ }
2145
+ }
2146
+
2147
+ /* src/client/theme/styles.css */