@geenius/docs 0.1.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 (139) hide show
  1. package/.changeset/config.json +11 -0
  2. package/.github/CODEOWNERS +1 -0
  3. package/.github/ISSUE_TEMPLATE/bug_report.md +16 -0
  4. package/.github/ISSUE_TEMPLATE/feature_request.md +11 -0
  5. package/.github/PULL_REQUEST_TEMPLATE.md +10 -0
  6. package/.github/dependabot.yml +11 -0
  7. package/.github/workflows/ci.yml +23 -0
  8. package/.github/workflows/release.yml +29 -0
  9. package/.nvmrc +1 -0
  10. package/.project/ACCOUNT.yaml +4 -0
  11. package/.project/IDEAS.yaml +7 -0
  12. package/.project/PROJECT.yaml +11 -0
  13. package/.project/ROADMAP.yaml +15 -0
  14. package/CHANGELOG.md +11 -0
  15. package/CODE_OF_CONDUCT.md +16 -0
  16. package/CONTRIBUTING.md +26 -0
  17. package/LICENSE +21 -0
  18. package/README.md +1 -0
  19. package/SECURITY.md +15 -0
  20. package/SUPPORT.md +8 -0
  21. package/package.json +58 -0
  22. package/packages/convex/README.md +1 -0
  23. package/packages/convex/package.json +12 -0
  24. package/packages/convex/src/convex.config.ts +3 -0
  25. package/packages/convex/src/index.ts +3 -0
  26. package/packages/convex/src/mutations.ts +270 -0
  27. package/packages/convex/src/queries.ts +175 -0
  28. package/packages/convex/src/schema.ts +55 -0
  29. package/packages/react/README.md +1 -0
  30. package/packages/react/package.json +36 -0
  31. package/packages/react/src/DocsLayout.tsx +116 -0
  32. package/packages/react/src/DocsProvider.tsx +93 -0
  33. package/packages/react/src/RouterDocsContent.tsx +148 -0
  34. package/packages/react/src/RouterDocsLayout.tsx +161 -0
  35. package/packages/react/src/components/Breadcrumbs.tsx +34 -0
  36. package/packages/react/src/components/DocPage.tsx +191 -0
  37. package/packages/react/src/components/DocSearch.tsx +140 -0
  38. package/packages/react/src/components/DocSidebar.tsx +86 -0
  39. package/packages/react/src/components/DocsLayout.tsx +62 -0
  40. package/packages/react/src/components/EditButton.tsx +26 -0
  41. package/packages/react/src/components/PageNavigation.tsx +45 -0
  42. package/packages/react/src/components/TableOfContents.tsx +46 -0
  43. package/packages/react/src/components/VersionSelector.tsx +60 -0
  44. package/packages/react/src/components/index.ts +9 -0
  45. package/packages/react/src/hooks/index.ts +8 -0
  46. package/packages/react/src/hooks/useDocSearch.ts +55 -0
  47. package/packages/react/src/hooks/useDocs.ts +57 -0
  48. package/packages/react/src/hooks/useDocsAdmin.ts +151 -0
  49. package/packages/react/src/hooks/useTableOfContents.ts +66 -0
  50. package/packages/react/src/index.ts +38 -0
  51. package/packages/react/src/pages/DocSearchPage.tsx +129 -0
  52. package/packages/react/src/pages/DocViewPage.tsx +158 -0
  53. package/packages/react/src/pages/DocsAdminPage.tsx +330 -0
  54. package/packages/react/src/pages/DocsIndexPage.tsx +172 -0
  55. package/packages/react/src/pages/index.ts +4 -0
  56. package/packages/react/src/useDocs.ts +58 -0
  57. package/packages/react/tsup.config.ts +12 -0
  58. package/packages/react-css/README.md +1 -0
  59. package/packages/react-css/package.json +37 -0
  60. package/packages/react-css/src/DocsLayout.tsx +117 -0
  61. package/packages/react-css/src/DocsProvider.tsx +93 -0
  62. package/packages/react-css/src/RouterDocsContent.tsx +60 -0
  63. package/packages/react-css/src/RouterDocsLayout.tsx +101 -0
  64. package/packages/react-css/src/components/DocPage.tsx +21 -0
  65. package/packages/react-css/src/components/DocSearch.tsx +55 -0
  66. package/packages/react-css/src/components/DocSidebar.tsx +56 -0
  67. package/packages/react-css/src/components/DocsLayout.tsx +28 -0
  68. package/packages/react-css/src/components/common.tsx +93 -0
  69. package/packages/react-css/src/components/index.ts +5 -0
  70. package/packages/react-css/src/hooks/index.ts +2 -0
  71. package/packages/react-css/src/index.ts +6 -0
  72. package/packages/react-css/src/index.tsx +3 -0
  73. package/packages/react-css/src/pages/DocViewPage.tsx +78 -0
  74. package/packages/react-css/src/pages/DocsAdminPage.tsx +101 -0
  75. package/packages/react-css/src/pages/DocsIndexPage.tsx +68 -0
  76. package/packages/react-css/src/pages/index.ts +3 -0
  77. package/packages/react-css/src/styles.css +1271 -0
  78. package/packages/react-css/src/useDocs.ts +58 -0
  79. package/packages/react-css/tsconfig.json +19 -0
  80. package/packages/react-css/tsup.config.ts +10 -0
  81. package/packages/shared/README.md +1 -0
  82. package/packages/shared/package.json +31 -0
  83. package/packages/shared/src/__tests__/docs.test.ts +69 -0
  84. package/packages/shared/src/config.ts +80 -0
  85. package/packages/shared/src/index.ts +179 -0
  86. package/packages/shared/src/providers/astro.ts +94 -0
  87. package/packages/shared/src/providers/fumadocs.ts +116 -0
  88. package/packages/shared/src/providers/internal.ts +80 -0
  89. package/packages/shared/src/types.ts +73 -0
  90. package/packages/shared/tsconfig.json +18 -0
  91. package/packages/shared/tsup.config.ts +12 -0
  92. package/packages/shared/vitest.config.ts +4 -0
  93. package/packages/solidjs/README.md +1 -0
  94. package/packages/solidjs/package.json +33 -0
  95. package/packages/solidjs/src/DocsLayout.tsx +87 -0
  96. package/packages/solidjs/src/DocsProvider.tsx +95 -0
  97. package/packages/solidjs/src/RouterDocsContent.tsx +147 -0
  98. package/packages/solidjs/src/RouterDocsLayout.tsx +161 -0
  99. package/packages/solidjs/src/components/Breadcrumbs.tsx +27 -0
  100. package/packages/solidjs/src/components/DocPage.tsx +110 -0
  101. package/packages/solidjs/src/components/DocSearch.tsx +81 -0
  102. package/packages/solidjs/src/components/DocSidebar.tsx +92 -0
  103. package/packages/solidjs/src/components/DocsLayout.tsx +38 -0
  104. package/packages/solidjs/src/components/EditButton.tsx +15 -0
  105. package/packages/solidjs/src/components/PageNavigation.tsx +31 -0
  106. package/packages/solidjs/src/components/TableOfContents.tsx +41 -0
  107. package/packages/solidjs/src/components/VersionSelector.tsx +30 -0
  108. package/packages/solidjs/src/components/index.ts +9 -0
  109. package/packages/solidjs/src/createDocs.ts +62 -0
  110. package/packages/solidjs/src/index.ts +28 -0
  111. package/packages/solidjs/src/pages/DocSearchPage.tsx +72 -0
  112. package/packages/solidjs/src/pages/DocViewPage.tsx +80 -0
  113. package/packages/solidjs/src/pages/DocsAdminPage.tsx +123 -0
  114. package/packages/solidjs/src/pages/DocsIndexPage.tsx +85 -0
  115. package/packages/solidjs/src/pages/index.ts +4 -0
  116. package/packages/solidjs/src/primitives/createDocSearch.ts +42 -0
  117. package/packages/solidjs/src/primitives/createDocs.ts +35 -0
  118. package/packages/solidjs/src/primitives/createDocsAdmin.ts +63 -0
  119. package/packages/solidjs/src/primitives/createTableOfContents.ts +51 -0
  120. package/packages/solidjs/src/primitives/index.ts +4 -0
  121. package/packages/solidjs/tsup.config.ts +12 -0
  122. package/packages/solidjs-css/README.md +1 -0
  123. package/packages/solidjs-css/package.json +36 -0
  124. package/packages/solidjs-css/src/DocsLayout.tsx +106 -0
  125. package/packages/solidjs-css/src/DocsProvider.tsx +95 -0
  126. package/packages/solidjs-css/src/RouterDocsContent.tsx +54 -0
  127. package/packages/solidjs-css/src/RouterDocsLayout.tsx +104 -0
  128. package/packages/solidjs-css/src/createDocs.ts +62 -0
  129. package/packages/solidjs-css/src/index.ts +7 -0
  130. package/packages/solidjs-css/src/index.tsx +17 -0
  131. package/packages/solidjs-css/src/pages/DocViewPage.tsx +111 -0
  132. package/packages/solidjs-css/src/pages/DocsAdminPage.tsx +332 -0
  133. package/packages/solidjs-css/src/pages/DocsIndexPage.tsx +116 -0
  134. package/packages/solidjs-css/src/pages/index.ts +3 -0
  135. package/packages/solidjs-css/src/primitives/index.ts +1 -0
  136. package/packages/solidjs-css/src/styles.css +1271 -0
  137. package/packages/solidjs-css/tsconfig.json +20 -0
  138. package/packages/solidjs-css/tsup.config.ts +10 -0
  139. package/pnpm-workspace.yaml +2 -0
@@ -0,0 +1,1271 @@
1
+ /* ─── Docs Design Tokens (OKLCH) ─────────────────────────── */
2
+ :root {
3
+ --docs-bg: oklch(0.11 0.01 250);
4
+ --docs-surface: oklch(0.15 0.01 250);
5
+ --docs-surface-2: oklch(0.18 0.01 250);
6
+ --docs-border: oklch(0.22 0.01 250);
7
+ --docs-text: oklch(0.95 0.01 250);
8
+ --docs-text-muted: oklch(0.58 0.02 250);
9
+ --docs-accent: oklch(0.65 0.20 265);
10
+ --docs-accent-hover: oklch(0.70 0.22 265);
11
+ --docs-code-bg: oklch(0.13 0.02 250);
12
+ --docs-callout-note: oklch(0.65 0.20 245);
13
+ --docs-callout-tip: oklch(0.72 0.18 155);
14
+ --docs-callout-warning: oklch(0.72 0.18 60);
15
+ --docs-callout-danger: oklch(0.65 0.22 25);
16
+ --docs-sidebar-width: 260px;
17
+ --docs-toc-width: 220px;
18
+ --docs-content-max: 720px;
19
+ --docs-radius: 0.625rem;
20
+ --docs-shadow: 0 4px 12px oklch(0 0 0 / 0.15);
21
+ }
22
+
23
+ /* ─── Layout ─────────────────────────────────────────────── */
24
+ .docs__layout {
25
+ display: flex;
26
+ min-height: 100vh;
27
+ background: var(--docs-bg);
28
+ color: var(--docs-text);
29
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
30
+ }
31
+
32
+ .docs__sidebar {
33
+ position: sticky;
34
+ top: 0;
35
+ width: var(--docs-sidebar-width);
36
+ height: 100vh;
37
+ overflow-y: auto;
38
+ overflow-x: hidden;
39
+ border-right: 1px solid var(--docs-border);
40
+ background: var(--docs-surface);
41
+ flex-shrink: 0;
42
+ scrollbar-width: thin;
43
+ scrollbar-color: oklch(1 0 0 / 0.1) transparent;
44
+ }
45
+
46
+ .docs__sidebar::-webkit-scrollbar {
47
+ width: 6px;
48
+ }
49
+
50
+ .docs__sidebar::-webkit-scrollbar-track {
51
+ background: transparent;
52
+ }
53
+
54
+ .docs__sidebar::-webkit-scrollbar-thumb {
55
+ background: oklch(1 0 0 / 0.1);
56
+ border-radius: 3px;
57
+ }
58
+
59
+ .docs__sidebar-nav {
60
+ padding: 1rem 0;
61
+ }
62
+
63
+ .docs__sidebar-header {
64
+ padding: 1rem 1.25rem 0.75rem;
65
+ font-size: 0.625rem;
66
+ font-weight: 600;
67
+ text-transform: uppercase;
68
+ letter-spacing: 0.1em;
69
+ color: var(--docs-text-muted);
70
+ }
71
+
72
+ .docs__sidebar-section {
73
+ margin-bottom: 0.25rem;
74
+ }
75
+
76
+ .docs__sidebar-section-btn {
77
+ display: flex;
78
+ width: 100%;
79
+ align-items: center;
80
+ gap: 0.5rem;
81
+ padding: 0.5rem 0.75rem;
82
+ border: none;
83
+ background: transparent;
84
+ color: var(--docs-text);
85
+ font-size: 0.875rem;
86
+ font-weight: 500;
87
+ text-align: left;
88
+ cursor: pointer;
89
+ border-radius: var(--docs-radius);
90
+ transition: background 0.15s, color 0.15s;
91
+ }
92
+
93
+ .docs__sidebar-section-btn:hover {
94
+ background: oklch(1 0 0 / 0.05);
95
+ color: oklch(1 0 0 / 0.95);
96
+ }
97
+
98
+ .docs__sidebar-section--active > .docs__sidebar-section-btn {
99
+ background: oklch(1 0 0 / 0.08);
100
+ color: var(--docs-accent);
101
+ }
102
+
103
+ .docs__sidebar-section-icon {
104
+ font-size: 1.125rem;
105
+ flex-shrink: 0;
106
+ }
107
+
108
+ .docs__sidebar-section-title {
109
+ flex: 1;
110
+ overflow: hidden;
111
+ text-overflow: ellipsis;
112
+ white-space: nowrap;
113
+ }
114
+
115
+ .docs__sidebar-section-count {
116
+ font-size: 0.6875rem;
117
+ font-variant-numeric: tabular-nums;
118
+ opacity: 0.5;
119
+ }
120
+
121
+ .docs__sidebar-section-chevron {
122
+ width: 0.875rem;
123
+ height: 0.875rem;
124
+ flex-shrink: 0;
125
+ transition: transform 0.2s;
126
+ }
127
+
128
+ .docs__sidebar-section-chevron--open {
129
+ transform: rotate(90deg);
130
+ }
131
+
132
+ .docs__sidebar-pages {
133
+ margin-left: 0.5rem;
134
+ padding-left: 0.5rem;
135
+ border-left: 1px solid var(--docs-border);
136
+ }
137
+
138
+ .docs__sidebar-link {
139
+ display: flex;
140
+ width: 100%;
141
+ align-items: center;
142
+ gap: 0.5rem;
143
+ padding: 0.375rem 0.75rem;
144
+ border: none;
145
+ background: transparent;
146
+ color: var(--docs-text-muted);
147
+ font-size: 0.875rem;
148
+ text-align: left;
149
+ cursor: pointer;
150
+ border-radius: calc(var(--docs-radius) * 0.8);
151
+ transition: all 0.15s;
152
+ text-decoration: none;
153
+ }
154
+
155
+ .docs__sidebar-link:hover {
156
+ color: var(--docs-text);
157
+ background: oklch(1 0 0 / 0.05);
158
+ }
159
+
160
+ .docs__sidebar-link--active {
161
+ color: var(--docs-accent);
162
+ background: oklch(0.65 0.20 265 / 0.15);
163
+ font-weight: 500;
164
+ }
165
+
166
+ /* ─── Main Content ───────────────────────────────────────── */
167
+ .docs__main {
168
+ flex: 1;
169
+ display: flex;
170
+ flex-direction: column;
171
+ overflow: hidden;
172
+ background: var(--docs-bg);
173
+ }
174
+
175
+ .docs__content {
176
+ flex: 1;
177
+ overflow-y: auto;
178
+ scrollbar-width: thin;
179
+ scrollbar-color: oklch(1 0 0 / 0.1) transparent;
180
+ }
181
+
182
+ .docs__content::-webkit-scrollbar {
183
+ width: 8px;
184
+ }
185
+
186
+ .docs__content::-webkit-scrollbar-track {
187
+ background: transparent;
188
+ }
189
+
190
+ .docs__content::-webkit-scrollbar-thumb {
191
+ background: oklch(1 0 0 / 0.1);
192
+ border-radius: 4px;
193
+ }
194
+
195
+ .docs__content-inner {
196
+ display: flex;
197
+ max-width: 60rem;
198
+ gap: 2rem;
199
+ margin: 0 auto;
200
+ padding: 2rem 1.5rem 2rem 2.5rem;
201
+ width: 100%;
202
+ }
203
+
204
+ .docs__content-main {
205
+ flex: 1;
206
+ min-width: 0;
207
+ }
208
+
209
+ /* ─── Page Header ────────────────────────────────────────── */
210
+ .docs__header {
211
+ margin-bottom: 2rem;
212
+ padding-bottom: 1.5rem;
213
+ border-bottom: 1px solid var(--docs-border);
214
+ }
215
+
216
+ .docs__page-header {
217
+ margin-bottom: 2rem;
218
+ }
219
+
220
+ .docs__title {
221
+ font-size: 2.125rem;
222
+ font-weight: 700;
223
+ letter-spacing: -0.02em;
224
+ margin-bottom: 0.75rem;
225
+ line-height: 1.2;
226
+ }
227
+
228
+ .docs__page-title {
229
+ font-size: 1.875rem;
230
+ font-weight: 700;
231
+ letter-spacing: -0.02em;
232
+ margin-bottom: 0.75rem;
233
+ }
234
+
235
+ .docs__breadcrumb {
236
+ display: flex;
237
+ align-items: center;
238
+ gap: 0.375rem;
239
+ margin-bottom: 1.5rem;
240
+ font-size: 0.875rem;
241
+ }
242
+
243
+ .docs__breadcrumbs {
244
+ display: flex;
245
+ align-items: center;
246
+ gap: 0.375rem;
247
+ margin-bottom: 1.5rem;
248
+ font-size: 0.875rem;
249
+ }
250
+
251
+ .docs__breadcrumb-item {
252
+ overflow: hidden;
253
+ text-overflow: ellipsis;
254
+ white-space: nowrap;
255
+ color: var(--docs-text-muted);
256
+ text-decoration: none;
257
+ transition: color 0.15s;
258
+ cursor: pointer;
259
+ }
260
+
261
+ .docs__breadcrumb-item:hover {
262
+ color: var(--docs-text);
263
+ }
264
+
265
+ .docs__breadcrumb-item--current {
266
+ color: oklch(1 0 0 / 0.6);
267
+ font-weight: 500;
268
+ }
269
+
270
+ .docs__breadcrumb-separator {
271
+ width: 0.875rem;
272
+ height: 0.875rem;
273
+ flex-shrink: 0;
274
+ color: oklch(1 0 0 / 0.2);
275
+ }
276
+
277
+ .docs__reading-meta {
278
+ display: flex;
279
+ flex-wrap: wrap;
280
+ align-items: center;
281
+ gap: 1rem;
282
+ font-size: 0.875rem;
283
+ color: var(--docs-text-muted);
284
+ margin-top: 0.75rem;
285
+ }
286
+
287
+ .docs__reading-meta-author {
288
+ display: flex;
289
+ align-items: center;
290
+ gap: 0.375rem;
291
+ }
292
+
293
+ .docs__reading-meta-avatar {
294
+ width: 1.25rem;
295
+ height: 1.25rem;
296
+ border-radius: 50%;
297
+ object-fit: cover;
298
+ }
299
+
300
+ .docs__reading-meta-avatar-placeholder {
301
+ display: flex;
302
+ width: 1.25rem;
303
+ height: 1.25rem;
304
+ align-items: center;
305
+ justify-content: center;
306
+ border-radius: 50%;
307
+ background: oklch(0.65 0.20 265 / 0.2);
308
+ font-size: 0.625rem;
309
+ color: var(--docs-accent);
310
+ }
311
+
312
+ /* ─── Article ────────────────────────────────────────────── */
313
+ .docs__article {
314
+ flex: 1;
315
+ min-width: 0;
316
+ }
317
+
318
+ .docs__article-title {
319
+ font-size: 1.875rem;
320
+ font-weight: 700;
321
+ margin-bottom: 1.5rem;
322
+ line-height: 1.2;
323
+ }
324
+
325
+ .docs__article-body {
326
+ line-height: 1.75;
327
+ color: oklch(1 0 0 / 0.85);
328
+ }
329
+
330
+ .docs__article-toc {
331
+ margin-top: 2rem;
332
+ padding-top: 2rem;
333
+ border-top: 1px solid var(--docs-border);
334
+ }
335
+
336
+ /* ─── ToC ────────────────────────────────────────────────── */
337
+ .docs__toc {
338
+ position: sticky;
339
+ top: 6rem;
340
+ width: var(--docs-toc-width);
341
+ flex-shrink: 0;
342
+ }
343
+
344
+ .docs__toc-title {
345
+ margin-bottom: 0.75rem;
346
+ font-size: 0.6875rem;
347
+ font-weight: 600;
348
+ text-transform: uppercase;
349
+ letter-spacing: 0.1em;
350
+ color: var(--docs-text-muted);
351
+ }
352
+
353
+ .docs__toc-heading {
354
+ margin-bottom: 0.75rem;
355
+ font-size: 0.6875rem;
356
+ font-weight: 600;
357
+ text-transform: uppercase;
358
+ letter-spacing: 0.1em;
359
+ color: var(--docs-text-muted);
360
+ }
361
+
362
+ .docs__toc-list {
363
+ display: flex;
364
+ flex-direction: column;
365
+ }
366
+
367
+ .docs__toc-link {
368
+ display: block;
369
+ overflow: hidden;
370
+ text-overflow: ellipsis;
371
+ white-space: nowrap;
372
+ border-left: 2px solid transparent;
373
+ padding: 0.25rem 0 0.25rem 0.75rem;
374
+ font-size: 0.8125rem;
375
+ color: oklch(1 0 0 / 0.4);
376
+ text-decoration: none;
377
+ transition: all 0.2s;
378
+ cursor: pointer;
379
+ }
380
+
381
+ .docs__toc-link:hover {
382
+ color: oklch(1 0 0 / 0.7);
383
+ border-left-color: oklch(1 0 0 / 0.2);
384
+ }
385
+
386
+ .docs__toc-link--active {
387
+ border-left-color: var(--docs-accent);
388
+ color: var(--docs-accent);
389
+ font-weight: 500;
390
+ }
391
+
392
+ .docs__toc-item {
393
+ display: block;
394
+ overflow: hidden;
395
+ text-overflow: ellipsis;
396
+ white-space: nowrap;
397
+ border-left: 2px solid transparent;
398
+ padding: 0.25rem 0 0.25rem 0.75rem;
399
+ font-size: 0.8125rem;
400
+ color: oklch(1 0 0 / 0.4);
401
+ text-decoration: none;
402
+ transition: all 0.2s;
403
+ }
404
+
405
+ .docs__toc-item:hover {
406
+ color: oklch(1 0 0 / 0.7);
407
+ border-left-color: oklch(1 0 0 / 0.2);
408
+ }
409
+
410
+ .docs__toc-item--active {
411
+ border-left-color: var(--docs-accent);
412
+ color: var(--docs-accent);
413
+ font-weight: 500;
414
+ }
415
+
416
+ .docs__toc-item--h3 {
417
+ padding-left: 1.5rem;
418
+ }
419
+
420
+ .docs__toc-item--h4 {
421
+ padding-left: 2.25rem;
422
+ }
423
+
424
+ /* ─── Callouts ───────────────────────────────────────────── */
425
+ .docs__callout {
426
+ margin: 1.5rem 0;
427
+ padding: 1rem 1.25rem;
428
+ border-left: 4px solid;
429
+ border-radius: var(--docs-radius);
430
+ background: oklch(1 0 0 / 0.02);
431
+ }
432
+
433
+ .docs__callout--note {
434
+ border-left-color: var(--docs-callout-note);
435
+ background: oklch(0.65 0.20 245 / 0.08);
436
+ }
437
+
438
+ .docs__callout--tip {
439
+ border-left-color: var(--docs-callout-tip);
440
+ background: oklch(0.72 0.18 155 / 0.08);
441
+ }
442
+
443
+ .docs__callout--warning {
444
+ border-left-color: var(--docs-callout-warning);
445
+ background: oklch(0.72 0.18 60 / 0.08);
446
+ }
447
+
448
+ .docs__callout--danger {
449
+ border-left-color: var(--docs-callout-danger);
450
+ background: oklch(0.65 0.22 25 / 0.08);
451
+ }
452
+
453
+ .docs__callout-icon {
454
+ display: inline-block;
455
+ font-size: 1.25rem;
456
+ margin-right: 0.75rem;
457
+ line-height: 1;
458
+ }
459
+
460
+ .docs__callout-title {
461
+ font-weight: 600;
462
+ margin-bottom: 0.5rem;
463
+ font-size: 0.9375rem;
464
+ }
465
+
466
+ .docs__callout-content {
467
+ font-size: 0.875rem;
468
+ line-height: 1.6;
469
+ color: oklch(1 0 0 / 0.8);
470
+ }
471
+
472
+ /* ─── Code Blocks ────────────────────────────────────────── */
473
+ .docs__code-block {
474
+ margin: 1.5rem 0;
475
+ border-radius: var(--docs-radius);
476
+ overflow: hidden;
477
+ background: var(--docs-code-bg);
478
+ border: 1px solid var(--docs-border);
479
+ }
480
+
481
+ .docs__code-block-header {
482
+ display: flex;
483
+ align-items: center;
484
+ justify-content: space-between;
485
+ padding: 0.75rem 1rem;
486
+ background: oklch(1 0 0 / 0.03);
487
+ border-bottom: 1px solid var(--docs-border);
488
+ }
489
+
490
+ .docs__code-block-lang {
491
+ font-size: 0.6875rem;
492
+ font-weight: 500;
493
+ color: var(--docs-text-muted);
494
+ text-transform: uppercase;
495
+ letter-spacing: 0.05em;
496
+ }
497
+
498
+ .docs__code-block-copy {
499
+ padding: 0.375rem 0.75rem;
500
+ border: 1px solid var(--docs-border);
501
+ border-radius: calc(var(--docs-radius) * 0.5);
502
+ background: transparent;
503
+ font-size: 0.6875rem;
504
+ color: var(--docs-text-muted);
505
+ cursor: pointer;
506
+ transition: all 0.15s;
507
+ }
508
+
509
+ .docs__code-block-copy:hover {
510
+ border-color: var(--docs-accent);
511
+ color: var(--docs-accent);
512
+ }
513
+
514
+ .docs__code-block pre {
515
+ padding: 1rem;
516
+ overflow-x: auto;
517
+ font-size: 0.875rem;
518
+ line-height: 1.65;
519
+ }
520
+
521
+ .docs__code-block code {
522
+ color: var(--docs-accent);
523
+ font-family: "Monaco", "Menlo", "Ubuntu Mono", monospace;
524
+ }
525
+
526
+ /* ─── Search ─────────────────────────────────────────────── */
527
+ .docs__search-bar {
528
+ margin-bottom: 3rem;
529
+ }
530
+
531
+ .docs__search-trigger {
532
+ display: flex;
533
+ width: 100%;
534
+ max-width: 36rem;
535
+ align-items: center;
536
+ gap: 0.75rem;
537
+ padding: 0.875rem 1.25rem;
538
+ border: 1px solid var(--docs-border);
539
+ border-radius: 0.75rem;
540
+ background: oklch(1 0 0 / 0.03);
541
+ color: var(--docs-text-muted);
542
+ font-size: 0.875rem;
543
+ cursor: pointer;
544
+ transition: all 0.2s;
545
+ }
546
+
547
+ .docs__search-trigger:hover {
548
+ border-color: oklch(1 0 0 / 0.15);
549
+ background: oklch(1 0 0 / 0.05);
550
+ }
551
+
552
+ .docs__search-trigger-icon {
553
+ width: 1.125rem;
554
+ height: 1.125rem;
555
+ flex-shrink: 0;
556
+ }
557
+
558
+ .docs__search-trigger-text {
559
+ flex: 1;
560
+ text-align: left;
561
+ }
562
+
563
+ .docs__search-trigger-kbd {
564
+ padding: 0.125rem 0.5rem;
565
+ border: 1px solid var(--docs-border);
566
+ border-radius: 0.25rem;
567
+ background: oklch(1 0 0 / 0.03);
568
+ font-size: 0.6875rem;
569
+ font-family: monospace;
570
+ }
571
+
572
+ .docs__search-modal {
573
+ position: fixed;
574
+ inset: 0;
575
+ z-index: 50;
576
+ display: flex;
577
+ align-items: flex-start;
578
+ justify-content: center;
579
+ padding-top: 15vh;
580
+ }
581
+
582
+ .docs__search-backdrop {
583
+ position: fixed;
584
+ inset: 0;
585
+ background: oklch(0 0 0 / 0.6);
586
+ backdrop-filter: blur(8px);
587
+ }
588
+
589
+ .docs__search-panel {
590
+ position: relative;
591
+ z-index: 10;
592
+ width: 100%;
593
+ max-width: 36rem;
594
+ overflow: hidden;
595
+ border: 1px solid var(--docs-border);
596
+ border-radius: 1rem;
597
+ background: var(--docs-surface);
598
+ box-shadow: 0 25px 50px oklch(0 0 0 / 0.5);
599
+ }
600
+
601
+ .docs__search-results {
602
+ max-height: 20rem;
603
+ overflow-y: auto;
604
+ padding: 0.5rem;
605
+ }
606
+
607
+ .docs__search-result-item {
608
+ display: flex;
609
+ width: 100%;
610
+ flex-direction: column;
611
+ gap: 0.25rem;
612
+ padding: 0.75rem 1rem;
613
+ border: none;
614
+ background: transparent;
615
+ border-radius: 0.75rem;
616
+ text-align: left;
617
+ cursor: pointer;
618
+ transition: background 0.15s;
619
+ color: oklch(1 0 0 / 0.7);
620
+ }
621
+
622
+ .docs__search-result-item:hover,
623
+ .docs__search-result-item--active {
624
+ background: oklch(0.65 0.20 265 / 0.12);
625
+ color: var(--docs-text);
626
+ }
627
+
628
+ /* ─── Version Selector ───────────────────────────────────── */
629
+ .docs__version-selector {
630
+ position: relative;
631
+ }
632
+
633
+ .docs__version-select {
634
+ display: flex;
635
+ align-items: center;
636
+ gap: 0.375rem;
637
+ padding: 0.375rem 0.75rem;
638
+ border: 1px solid var(--docs-border);
639
+ border-radius: var(--docs-radius);
640
+ background: oklch(1 0 0 / 0.03);
641
+ font-size: 0.6875rem;
642
+ font-weight: 500;
643
+ color: var(--docs-text-muted);
644
+ cursor: pointer;
645
+ transition: all 0.15s;
646
+ }
647
+
648
+ .docs__version-select:hover {
649
+ border-color: var(--docs-accent);
650
+ background: oklch(1 0 0 / 0.05);
651
+ }
652
+
653
+ .docs__version-select--active {
654
+ border-color: var(--docs-accent);
655
+ color: var(--docs-accent);
656
+ }
657
+
658
+ /* ─── Edit Link ──────────────────────────────────────────── */
659
+ .docs__edit-link {
660
+ display: inline-flex;
661
+ align-items: center;
662
+ gap: 0.375rem;
663
+ padding: 0.375rem 0.75rem;
664
+ border: 1px solid var(--docs-border);
665
+ border-radius: var(--docs-radius);
666
+ font-size: 0.6875rem;
667
+ color: var(--docs-text-muted);
668
+ text-decoration: none;
669
+ transition: all 0.15s;
670
+ }
671
+
672
+ .docs__edit-link:hover {
673
+ border-color: oklch(1 0 0 / 0.2);
674
+ color: oklch(1 0 0 / 0.6);
675
+ }
676
+
677
+ /* ─── Page Navigation ────────────────────────────────────── */
678
+ .docs__page-nav {
679
+ display: flex;
680
+ align-items: stretch;
681
+ gap: 1rem;
682
+ margin-top: 3rem;
683
+ padding-top: 2rem;
684
+ border-top: 1px solid var(--docs-border);
685
+ }
686
+
687
+ .docs__page-nav-prev,
688
+ .docs__page-nav-next {
689
+ flex: 1;
690
+ display: flex;
691
+ flex-direction: column;
692
+ padding: 1rem;
693
+ border: 1px solid var(--docs-border);
694
+ border-radius: 0.75rem;
695
+ text-decoration: none;
696
+ transition: all 0.2s;
697
+ background: oklch(1 0 0 / 0.02);
698
+ }
699
+
700
+ .docs__page-nav-prev:hover,
701
+ .docs__page-nav-next:hover {
702
+ border-color: oklch(0.65 0.20 265 / 0.4);
703
+ background: oklch(1 0 0 / 0.05);
704
+ }
705
+
706
+ .docs__page-nav-next {
707
+ align-items: flex-end;
708
+ text-align: right;
709
+ }
710
+
711
+ .docs__page-nav-label {
712
+ font-size: 0.6875rem;
713
+ color: var(--docs-text-muted);
714
+ text-transform: uppercase;
715
+ letter-spacing: 0.05em;
716
+ }
717
+
718
+ .docs__page-nav-title {
719
+ margin-top: 0.25rem;
720
+ font-size: 0.875rem;
721
+ font-weight: 500;
722
+ color: oklch(1 0 0 / 0.8);
723
+ overflow: hidden;
724
+ text-overflow: ellipsis;
725
+ white-space: nowrap;
726
+ }
727
+
728
+ /* ─── Table ──────────────────────────────────────────────── */
729
+ .docs__table {
730
+ width: 100%;
731
+ border-collapse: collapse;
732
+ margin: 1.5rem 0;
733
+ font-size: 0.875rem;
734
+ }
735
+
736
+ .docs__table-wrapper {
737
+ overflow-x: auto;
738
+ margin: 1.5rem 0;
739
+ }
740
+
741
+ .docs__table thead {
742
+ background: oklch(1 0 0 / 0.02);
743
+ border-bottom: 2px solid var(--docs-border);
744
+ }
745
+
746
+ .docs__table th {
747
+ padding: 0.75rem 1rem;
748
+ text-align: left;
749
+ font-weight: 600;
750
+ color: oklch(1 0 0 / 0.8);
751
+ }
752
+
753
+ .docs__table td {
754
+ padding: 0.75rem 1rem;
755
+ border-bottom: 1px solid var(--docs-border);
756
+ color: oklch(1 0 0 / 0.7);
757
+ }
758
+
759
+ .docs__table tbody tr:hover {
760
+ background: oklch(1 0 0 / 0.02);
761
+ }
762
+
763
+ /* ─── Feedback ───────────────────────────────────────────── */
764
+ .docs__feedback {
765
+ margin-top: 3rem;
766
+ padding-top: 2rem;
767
+ border-top: 1px solid var(--docs-border);
768
+ }
769
+
770
+ .docs__feedback-title {
771
+ font-size: 0.875rem;
772
+ font-weight: 600;
773
+ margin-bottom: 1rem;
774
+ color: oklch(1 0 0 / 0.8);
775
+ }
776
+
777
+ .docs__feedback-btns {
778
+ display: flex;
779
+ gap: 0.75rem;
780
+ align-items: center;
781
+ }
782
+
783
+ .docs__feedback-btn {
784
+ padding: 0.5rem 1rem;
785
+ border: 1px solid var(--docs-border);
786
+ border-radius: var(--docs-radius);
787
+ background: oklch(1 0 0 / 0.02);
788
+ color: var(--docs-text-muted);
789
+ font-size: 0.875rem;
790
+ cursor: pointer;
791
+ transition: all 0.15s;
792
+ }
793
+
794
+ .docs__feedback-btn:hover {
795
+ border-color: var(--docs-accent);
796
+ background: oklch(0.65 0.20 265 / 0.1);
797
+ color: var(--docs-accent);
798
+ }
799
+
800
+ /* ─── Tags ───────────────────────────────────────────────── */
801
+ .docs__tag {
802
+ display: inline-block;
803
+ padding: 0.25rem 0.625rem;
804
+ border-radius: 9999px;
805
+ background: oklch(1 0 0 / 0.05);
806
+ font-size: 0.6875rem;
807
+ font-weight: 500;
808
+ color: var(--docs-text-muted);
809
+ }
810
+
811
+ .docs__tag--badge {
812
+ background: oklch(0.65 0.20 265 / 0.15);
813
+ color: var(--docs-accent);
814
+ }
815
+
816
+ /* ─── Heading Anchor ─────────────────────────────────────── */
817
+ .docs__heading-anchor {
818
+ display: inline-block;
819
+ margin-left: 0.5rem;
820
+ opacity: 0;
821
+ transition: opacity 0.15s;
822
+ color: var(--docs-accent);
823
+ text-decoration: none;
824
+ font-size: 0.875em;
825
+ }
826
+
827
+ h2:hover .docs__heading-anchor,
828
+ h3:hover .docs__heading-anchor,
829
+ h4:hover .docs__heading-anchor {
830
+ opacity: 1;
831
+ }
832
+
833
+ /* ─── Skeleton ───────────────────────────────────────────── */
834
+ .docs__skeleton {
835
+ background: oklch(1 0 0 / 0.05);
836
+ border-radius: var(--docs-radius);
837
+ animation: docs-pulse 1.5s ease-in-out infinite;
838
+ }
839
+
840
+ @keyframes docs-pulse {
841
+ 0%, 100% { opacity: 1; }
842
+ 50% { opacity: 0.4; }
843
+ }
844
+
845
+ /* ─── Empty State ────────────────────────────────────────── */
846
+ .docs__empty {
847
+ display: flex;
848
+ flex-direction: column;
849
+ align-items: center;
850
+ justify-content: center;
851
+ padding: 4rem 1rem;
852
+ text-align: center;
853
+ }
854
+
855
+ .docs__empty-icon {
856
+ font-size: 3.5rem;
857
+ opacity: 0.3;
858
+ margin-bottom: 1rem;
859
+ }
860
+
861
+ .docs__empty-title {
862
+ font-size: 1.25rem;
863
+ font-weight: 600;
864
+ color: oklch(1 0 0 / 0.8);
865
+ margin-bottom: 0.5rem;
866
+ }
867
+
868
+ .docs__empty-desc {
869
+ font-size: 0.875rem;
870
+ color: var(--docs-text-muted);
871
+ max-width: 24rem;
872
+ }
873
+
874
+ /* ─── Section Cards Grid ─────────────────────────────────── */
875
+ .docs__section-grid {
876
+ display: grid;
877
+ grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
878
+ gap: 1rem;
879
+ margin: 2rem 0;
880
+ }
881
+
882
+ .docs__section-card {
883
+ display: flex;
884
+ flex-direction: column;
885
+ padding: 1.25rem;
886
+ border: 1px solid var(--docs-border);
887
+ border-radius: 0.75rem;
888
+ background: oklch(1 0 0 / 0.02);
889
+ cursor: pointer;
890
+ transition: all 0.2s;
891
+ text-align: left;
892
+ }
893
+
894
+ .docs__section-card:hover {
895
+ border-color: oklch(0.65 0.20 265 / 0.3);
896
+ background: oklch(1 0 0 / 0.04);
897
+ box-shadow: 0 4px 16px oklch(0.65 0.20 265 / 0.05);
898
+ }
899
+
900
+ .docs__section-card-icon {
901
+ font-size: 1.5rem;
902
+ margin-bottom: 0.75rem;
903
+ }
904
+
905
+ .docs__section-card-title {
906
+ font-size: 1rem;
907
+ font-weight: 600;
908
+ margin-bottom: 0.375rem;
909
+ color: oklch(1 0 0 / 0.9);
910
+ }
911
+
912
+ .docs__section-card-desc {
913
+ flex: 1;
914
+ font-size: 0.875rem;
915
+ line-height: 1.5;
916
+ color: var(--docs-text-muted);
917
+ margin-bottom: 0.75rem;
918
+ }
919
+
920
+ .docs__section-card-meta {
921
+ font-size: 0.6875rem;
922
+ color: oklch(1 0 0 / 0.25);
923
+ }
924
+
925
+ /* ─── Admin Panels ───────────────────────────────────────── */
926
+ .docs__admin-grid {
927
+ display: grid;
928
+ grid-template-columns: 1fr 1fr;
929
+ gap: 1.5rem;
930
+ }
931
+
932
+ .docs__admin-panel {
933
+ padding: 1.25rem;
934
+ border: 1px solid var(--docs-border);
935
+ border-radius: 0.75rem;
936
+ background: oklch(1 0 0 / 0.02);
937
+ }
938
+
939
+ .docs__admin-panel-header {
940
+ display: flex;
941
+ align-items: center;
942
+ justify-content: space-between;
943
+ margin-bottom: 1rem;
944
+ }
945
+
946
+ .docs__admin-panel-title {
947
+ font-size: 1.125rem;
948
+ font-weight: 600;
949
+ color: oklch(1 0 0 / 0.8);
950
+ }
951
+
952
+ .docs__admin-add-btn {
953
+ padding: 0.375rem 0.75rem;
954
+ border: none;
955
+ border-radius: var(--docs-radius);
956
+ background: var(--docs-accent);
957
+ font-size: 0.6875rem;
958
+ font-weight: 500;
959
+ color: white;
960
+ cursor: pointer;
961
+ transition: background 0.15s;
962
+ }
963
+
964
+ .docs__admin-add-btn:hover {
965
+ background: var(--docs-accent-hover);
966
+ }
967
+
968
+ .docs__admin-form {
969
+ display: flex;
970
+ flex-direction: column;
971
+ gap: 0.5rem;
972
+ padding: 1rem;
973
+ margin-bottom: 1rem;
974
+ border: 1px solid var(--docs-border);
975
+ border-radius: var(--docs-radius);
976
+ background: oklch(1 0 0 / 0.03);
977
+ }
978
+
979
+ .docs__admin-input {
980
+ width: 100%;
981
+ padding: 0.5rem 0.75rem;
982
+ border: 1px solid var(--docs-border);
983
+ border-radius: var(--docs-radius);
984
+ background: oklch(1 0 0 / 0.03);
985
+ font-size: 0.875rem;
986
+ color: var(--docs-text);
987
+ outline: none;
988
+ transition: border-color 0.15s;
989
+ }
990
+
991
+ .docs__admin-input:focus {
992
+ border-color: oklch(0.65 0.20 265 / 0.4);
993
+ background: oklch(1 0 0 / 0.05);
994
+ }
995
+
996
+ .docs__admin-textarea {
997
+ resize: vertical;
998
+ min-height: 5rem;
999
+ }
1000
+
1001
+ .docs__admin-form-actions {
1002
+ display: flex;
1003
+ gap: 0.5rem;
1004
+ }
1005
+
1006
+ .docs__admin-section-item {
1007
+ display: flex;
1008
+ align-items: center;
1009
+ gap: 0.5rem;
1010
+ padding: 0.625rem 0.75rem;
1011
+ border-radius: var(--docs-radius);
1012
+ cursor: pointer;
1013
+ transition: background 0.15s;
1014
+ color: oklch(1 0 0 / 0.7);
1015
+ }
1016
+
1017
+ .docs__admin-section-item:hover {
1018
+ background: oklch(1 0 0 / 0.05);
1019
+ }
1020
+
1021
+ .docs__admin-section-item--selected {
1022
+ background: oklch(0.65 0.20 265 / 0.12);
1023
+ color: var(--docs-accent);
1024
+ }
1025
+
1026
+ .docs__admin-page-item {
1027
+ display: flex;
1028
+ align-items: center;
1029
+ gap: 0.75rem;
1030
+ padding: 0.625rem 0.75rem;
1031
+ border-radius: var(--docs-radius);
1032
+ transition: background 0.15s;
1033
+ }
1034
+
1035
+ .docs__admin-page-item:hover {
1036
+ background: oklch(1 0 0 / 0.05);
1037
+ }
1038
+
1039
+ .docs__admin-page-info {
1040
+ flex: 1;
1041
+ min-width: 0;
1042
+ }
1043
+
1044
+ .docs__admin-page-title {
1045
+ font-size: 0.875rem;
1046
+ font-weight: 500;
1047
+ color: oklch(1 0 0 / 0.8);
1048
+ overflow: hidden;
1049
+ text-overflow: ellipsis;
1050
+ white-space: nowrap;
1051
+ }
1052
+
1053
+ .docs__admin-page-slug {
1054
+ font-size: 0.6875rem;
1055
+ color: oklch(1 0 0 / 0.3);
1056
+ }
1057
+
1058
+ .docs__status-badge {
1059
+ padding: 0.125rem 0.5rem;
1060
+ border-radius: 9999px;
1061
+ font-size: 0.625rem;
1062
+ font-weight: 500;
1063
+ flex-shrink: 0;
1064
+ }
1065
+
1066
+ .docs__status-badge--published {
1067
+ background: oklch(0.72 0.18 155 / 0.15);
1068
+ color: oklch(0.72 0.18 155);
1069
+ }
1070
+
1071
+ .docs__status-badge--draft {
1072
+ background: oklch(0.72 0.18 60 / 0.15);
1073
+ color: oklch(0.72 0.18 60);
1074
+ }
1075
+
1076
+ .docs__status-badge--archived {
1077
+ background: oklch(1 0 0 / 0.05);
1078
+ color: oklch(1 0 0 / 0.3);
1079
+ }
1080
+
1081
+ .docs__admin-actions {
1082
+ display: flex;
1083
+ align-items: center;
1084
+ gap: 0.25rem;
1085
+ opacity: 0;
1086
+ transition: opacity 0.15s;
1087
+ }
1088
+
1089
+ .docs__admin-page-item:hover .docs__admin-actions {
1090
+ opacity: 1;
1091
+ }
1092
+
1093
+ .docs__admin-action-btn {
1094
+ padding: 0.25rem 0.5rem;
1095
+ border: none;
1096
+ background: transparent;
1097
+ border-radius: 0.25rem;
1098
+ font-size: 0.6875rem;
1099
+ cursor: pointer;
1100
+ transition: background 0.1s;
1101
+ }
1102
+
1103
+ .docs__admin-action-btn--publish {
1104
+ color: oklch(0.72 0.18 155);
1105
+ }
1106
+
1107
+ .docs__admin-action-btn--publish:hover {
1108
+ background: oklch(0.72 0.18 155 / 0.1);
1109
+ }
1110
+
1111
+ .docs__admin-action-btn--archive {
1112
+ color: oklch(0.72 0.18 60);
1113
+ }
1114
+
1115
+ .docs__admin-action-btn--archive:hover {
1116
+ background: oklch(0.72 0.18 60 / 0.1);
1117
+ }
1118
+
1119
+ .docs__admin-action-btn--delete {
1120
+ color: oklch(1 0 0 / 0.2);
1121
+ }
1122
+
1123
+ .docs__admin-action-btn--delete:hover {
1124
+ color: oklch(0.65 0.22 25);
1125
+ }
1126
+
1127
+ /* ─── MDX Content Styles ─────────────────────────────────── */
1128
+ .docs__content-main h2 {
1129
+ font-size: 1.5rem;
1130
+ font-weight: 700;
1131
+ margin-top: 2rem;
1132
+ margin-bottom: 0.75rem;
1133
+ padding-bottom: 0.5rem;
1134
+ border-bottom: 1px solid var(--docs-border);
1135
+ scroll-margin-top: 5rem;
1136
+ }
1137
+
1138
+ .docs__content-main h3 {
1139
+ font-size: 1.25rem;
1140
+ font-weight: 600;
1141
+ margin-top: 1.5rem;
1142
+ margin-bottom: 0.5rem;
1143
+ }
1144
+
1145
+ .docs__content-main h4 {
1146
+ font-size: 1.125rem;
1147
+ font-weight: 500;
1148
+ margin-top: 1rem;
1149
+ margin-bottom: 0.5rem;
1150
+ }
1151
+
1152
+ .docs__content-main p {
1153
+ margin: 0.75rem 0;
1154
+ line-height: 1.65;
1155
+ color: oklch(1 0 0 / 0.8);
1156
+ }
1157
+
1158
+ .docs__content-main a {
1159
+ color: var(--docs-accent);
1160
+ text-decoration: underline;
1161
+ text-underline-offset: 2px;
1162
+ transition: color 0.15s;
1163
+ }
1164
+
1165
+ .docs__content-main a:hover {
1166
+ color: var(--docs-accent-hover);
1167
+ }
1168
+
1169
+ .docs__content-main code {
1170
+ padding: 0.125rem 0.375rem;
1171
+ border-radius: 0.25rem;
1172
+ background: oklch(1 0 0 / 0.1);
1173
+ font-size: 0.875rem;
1174
+ color: var(--docs-accent);
1175
+ font-family: "Monaco", "Menlo", "Ubuntu Mono", monospace;
1176
+ }
1177
+
1178
+ .docs__content-main pre {
1179
+ overflow-x: auto;
1180
+ padding: 1rem;
1181
+ border-radius: 0 0 var(--docs-radius) var(--docs-radius);
1182
+ background: var(--docs-code-bg);
1183
+ font-size: 0.875rem;
1184
+ line-height: 1.65;
1185
+ border-top: 1px solid var(--docs-border);
1186
+ }
1187
+
1188
+ .docs__content-main blockquote {
1189
+ margin: 1rem 0;
1190
+ padding: 0.75rem 1rem;
1191
+ border-left: 4px solid oklch(0.65 0.20 265 / 0.4);
1192
+ border-radius: 0 var(--docs-radius) var(--docs-radius) 0;
1193
+ background: oklch(1 0 0 / 0.03);
1194
+ color: oklch(1 0 0 / 0.7);
1195
+ font-style: italic;
1196
+ font-size: 0.95rem;
1197
+ }
1198
+
1199
+ .docs__content-main ol,
1200
+ .docs__content-main ul {
1201
+ margin: 1rem 0;
1202
+ padding-left: 2rem;
1203
+ line-height: 1.75;
1204
+ }
1205
+
1206
+ .docs__content-main li {
1207
+ margin: 0.5rem 0;
1208
+ color: oklch(1 0 0 / 0.8);
1209
+ }
1210
+
1211
+ /* ─── Responsive ─────────────────────────────────────────── */
1212
+ @media (max-width: 1280px) {
1213
+ .docs__toc { display: none; }
1214
+ .docs__content-inner {
1215
+ gap: 1.5rem;
1216
+ padding: 1.5rem 1rem;
1217
+ }
1218
+ }
1219
+
1220
+ @media (max-width: 1024px) {
1221
+ .docs__sidebar { display: none; }
1222
+ .docs__admin-grid { grid-template-columns: 1fr; }
1223
+ .docs__page-nav {
1224
+ flex-direction: column;
1225
+ }
1226
+ .docs__section-grid {
1227
+ grid-template-columns: 1fr;
1228
+ }
1229
+ .docs__content-inner {
1230
+ flex-direction: column;
1231
+ gap: 1rem;
1232
+ }
1233
+ }
1234
+
1235
+ @media (max-width: 768px) {
1236
+ :root {
1237
+ --docs-sidebar-width: 100%;
1238
+ }
1239
+
1240
+ .docs__layout {
1241
+ flex-direction: column;
1242
+ }
1243
+
1244
+ .docs__sidebar {
1245
+ width: 100%;
1246
+ height: auto;
1247
+ border-right: none;
1248
+ border-bottom: 1px solid var(--docs-border);
1249
+ }
1250
+
1251
+ .docs__content-inner {
1252
+ padding: 1rem;
1253
+ max-width: 100%;
1254
+ }
1255
+
1256
+ .docs__title {
1257
+ font-size: 1.5rem;
1258
+ }
1259
+
1260
+ .docs__page-title {
1261
+ font-size: 1.375rem;
1262
+ }
1263
+
1264
+ .docs__section-grid {
1265
+ grid-template-columns: 1fr;
1266
+ }
1267
+
1268
+ .docs__admin-grid {
1269
+ grid-template-columns: 1fr;
1270
+ }
1271
+ }