botdocs 0.1.1 → 0.2.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.
@@ -0,0 +1,579 @@
1
+ /* Classic Theme - Clean, corporate, professional */
2
+
3
+ /* Reset and base styles */
4
+ * {
5
+ margin: 0;
6
+ padding: 0;
7
+ box-sizing: border-box;
8
+ }
9
+
10
+ :root {
11
+ /* Colors - Light theme */
12
+ --bg-primary: #ffffff;
13
+ --bg-secondary: #f8f9fa;
14
+ --bg-tertiary: #e9ecef;
15
+ --text-primary: #212529;
16
+ --text-secondary: #6c757d;
17
+ --border-color: #dee2e6;
18
+ --link-color: #3b82f6;
19
+ --link-hover: #2563eb;
20
+ --code-bg: #f8f9fa;
21
+ --sidebar-width: 280px;
22
+ --content-max-width: 800px;
23
+ }
24
+
25
+ body {
26
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen,
27
+ Ubuntu, Cantarell, sans-serif;
28
+ line-height: 1.6;
29
+ color: var(--text-primary);
30
+ background: var(--bg-primary);
31
+ }
32
+
33
+ /* Layout */
34
+ .layout {
35
+ display: flex;
36
+ min-height: 100vh;
37
+ }
38
+
39
+ /* Sidebar */
40
+ .sidebar {
41
+ width: var(--sidebar-width);
42
+ background: var(--bg-secondary);
43
+ border-right: 1px solid var(--border-color);
44
+ padding: 2rem;
45
+ overflow-y: auto;
46
+ position: fixed;
47
+ height: 100vh;
48
+ left: 0;
49
+ top: 0;
50
+ }
51
+
52
+ .sidebar-header {
53
+ margin-bottom: 2rem;
54
+ }
55
+
56
+ .site-title {
57
+ font-size: 1.5rem;
58
+ font-weight: 700;
59
+ color: var(--text-primary);
60
+ margin-bottom: 0.5rem;
61
+ }
62
+
63
+ .site-description {
64
+ font-size: 0.875rem;
65
+ color: var(--text-secondary);
66
+ }
67
+
68
+ .sidebar-nav {
69
+ margin-top: 1.5rem;
70
+ }
71
+
72
+ .nav-list {
73
+ list-style: none;
74
+ }
75
+
76
+ .nav-list li {
77
+ margin-bottom: 0.5rem;
78
+ }
79
+
80
+ .nav-list a {
81
+ color: var(--text-primary);
82
+ text-decoration: none;
83
+ display: block;
84
+ padding: 0.5rem 0.75rem;
85
+ border-radius: 0.375rem;
86
+ transition: background-color 0.2s;
87
+ }
88
+
89
+ .nav-list a:hover {
90
+ background: var(--bg-tertiary);
91
+ }
92
+
93
+ .nav-list a.active {
94
+ background: var(--link-color);
95
+ color: white;
96
+ font-weight: 500;
97
+ }
98
+
99
+ /* Main Content */
100
+ .main-content {
101
+ margin-left: var(--sidebar-width);
102
+ flex: 1;
103
+ padding: 3rem;
104
+ }
105
+
106
+ .content-wrapper {
107
+ max-width: var(--content-max-width);
108
+ margin: 0 auto;
109
+ }
110
+
111
+ /* Typography */
112
+ h1, h2, h3, h4, h5, h6 {
113
+ margin-top: 2rem;
114
+ margin-bottom: 1rem;
115
+ font-weight: 600;
116
+ line-height: 1.3;
117
+ color: var(--text-primary);
118
+ }
119
+
120
+ h1 {
121
+ font-size: 2.5rem;
122
+ margin-top: 0;
123
+ }
124
+
125
+ h2 {
126
+ font-size: 2rem;
127
+ padding-bottom: 0.5rem;
128
+ border-bottom: 1px solid var(--border-color);
129
+ }
130
+
131
+ h3 {
132
+ font-size: 1.5rem;
133
+ }
134
+
135
+ h4 {
136
+ font-size: 1.25rem;
137
+ }
138
+
139
+ p {
140
+ margin-bottom: 1rem;
141
+ }
142
+
143
+ a {
144
+ color: var(--link-color);
145
+ text-decoration: none;
146
+ }
147
+
148
+ a:hover {
149
+ color: var(--link-hover);
150
+ text-decoration: underline;
151
+ }
152
+
153
+ /* Code */
154
+ code {
155
+ font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;
156
+ font-size: 0.875rem;
157
+ background: var(--code-bg);
158
+ padding: 0.2rem 0.4rem;
159
+ border-radius: 0.25rem;
160
+ }
161
+
162
+ pre {
163
+ background: var(--code-bg);
164
+ padding: 1rem;
165
+ border-radius: 0.5rem;
166
+ overflow-x: auto;
167
+ margin: 1.5rem 0;
168
+ border: 1px solid var(--border-color);
169
+ }
170
+
171
+ pre code {
172
+ background: none;
173
+ padding: 0;
174
+ }
175
+
176
+ /* Blockquotes */
177
+ blockquote {
178
+ border-left: 4px solid var(--link-color);
179
+ padding-left: 1rem;
180
+ margin: 1.5rem 0;
181
+ color: var(--text-secondary);
182
+ font-style: italic;
183
+ }
184
+
185
+ /* GitHub-style Alerts/Callouts */
186
+ .markdown-alert {
187
+ padding: 1rem;
188
+ margin: 1.5rem 0;
189
+ border-left: 4px solid;
190
+ border-radius: 0.25rem;
191
+ background: var(--bg-secondary);
192
+ }
193
+
194
+ .markdown-alert-title {
195
+ font-weight: 600;
196
+ margin-bottom: 0.5rem;
197
+ display: flex;
198
+ align-items: center;
199
+ gap: 0.5rem;
200
+ }
201
+
202
+ .markdown-alert-title svg {
203
+ display: none;
204
+ }
205
+
206
+ .markdown-alert-title::before {
207
+ font-size: 1.2rem;
208
+ }
209
+
210
+ .markdown-alert > *:last-child {
211
+ margin-bottom: 0;
212
+ }
213
+
214
+ .markdown-alert-note {
215
+ border-left-color: #3b82f6;
216
+ background: rgba(59, 130, 246, 0.1);
217
+ }
218
+
219
+ .markdown-alert-note .markdown-alert-title {
220
+ color: #3b82f6;
221
+ }
222
+
223
+ .markdown-alert-note .markdown-alert-title::before {
224
+ content: 'ℹ️';
225
+ }
226
+
227
+ .markdown-alert-tip {
228
+ border-left-color: #10b981;
229
+ background: rgba(16, 185, 129, 0.1);
230
+ }
231
+
232
+ .markdown-alert-tip .markdown-alert-title {
233
+ color: #10b981;
234
+ }
235
+
236
+ .markdown-alert-tip .markdown-alert-title::before {
237
+ content: '💡';
238
+ }
239
+
240
+ .markdown-alert-important {
241
+ border-left-color: #8b5cf6;
242
+ background: rgba(139, 92, 246, 0.1);
243
+ }
244
+
245
+ .markdown-alert-important .markdown-alert-title {
246
+ color: #8b5cf6;
247
+ }
248
+
249
+ .markdown-alert-important .markdown-alert-title::before {
250
+ content: '❗';
251
+ }
252
+
253
+ .markdown-alert-warning {
254
+ border-left-color: #f59e0b;
255
+ background: rgba(245, 158, 11, 0.1);
256
+ }
257
+
258
+ .markdown-alert-warning .markdown-alert-title {
259
+ color: #f59e0b;
260
+ }
261
+
262
+ .markdown-alert-warning .markdown-alert-title::before {
263
+ content: '⚠️';
264
+ }
265
+
266
+ .markdown-alert-caution {
267
+ border-left-color: #ef4444;
268
+ background: rgba(239, 68, 68, 0.1);
269
+ }
270
+
271
+ .markdown-alert-caution .markdown-alert-title {
272
+ color: #ef4444;
273
+ }
274
+
275
+ .markdown-alert-caution .markdown-alert-title::before {
276
+ content: '🔥';
277
+ }
278
+
279
+ /* Lists */
280
+ ul, ol {
281
+ margin-left: 1.5rem;
282
+ margin-bottom: 1rem;
283
+ }
284
+
285
+ li {
286
+ margin-bottom: 0.5rem;
287
+ }
288
+
289
+ /* Task Lists */
290
+ .task-list-item {
291
+ list-style: none;
292
+ margin-left: -1.5rem;
293
+ }
294
+
295
+ .task-list-item-checkbox {
296
+ margin-right: 0.5rem;
297
+ margin-left: 0.25rem;
298
+ cursor: pointer;
299
+ }
300
+
301
+ .task-list-item-checkbox[checked] {
302
+ accent-color: var(--link-color);
303
+ }
304
+
305
+ /* Footnotes */
306
+ .footnotes {
307
+ margin-top: 3rem;
308
+ padding-top: 2rem;
309
+ border-top: 1px solid var(--border-color);
310
+ font-size: 0.875rem;
311
+ color: var(--text-secondary);
312
+ }
313
+
314
+ .footnotes-sep {
315
+ display: none;
316
+ }
317
+
318
+ .footnotes ol {
319
+ padding-left: 1.5rem;
320
+ }
321
+
322
+ .footnote-ref {
323
+ text-decoration: none;
324
+ font-weight: 600;
325
+ }
326
+
327
+ .footnote-ref a {
328
+ color: var(--link-color);
329
+ text-decoration: none;
330
+ }
331
+
332
+ .footnote-ref a:hover {
333
+ text-decoration: underline;
334
+ }
335
+
336
+ .footnote-backref {
337
+ text-decoration: none;
338
+ margin-left: 0.25rem;
339
+ }
340
+
341
+ sup.footnote-ref {
342
+ margin-left: 0.125rem;
343
+ }
344
+
345
+ /* Tables */
346
+ table {
347
+ width: 100%;
348
+ border-collapse: collapse;
349
+ margin: 1.5rem 0;
350
+ }
351
+
352
+ th, td {
353
+ padding: 0.75rem;
354
+ text-align: left;
355
+ border: 1px solid var(--border-color);
356
+ }
357
+
358
+ th {
359
+ background: var(--bg-secondary);
360
+ font-weight: 600;
361
+ }
362
+
363
+ /* Images */
364
+ img {
365
+ max-width: 100%;
366
+ height: auto;
367
+ border-radius: 0.5rem;
368
+ margin: 1rem 0;
369
+ }
370
+
371
+ /* Table of Contents */
372
+ .toc {
373
+ background: var(--bg-secondary);
374
+ padding: 1.5rem;
375
+ border-radius: 0.5rem;
376
+ margin: 2rem 0;
377
+ }
378
+
379
+ .toc ul {
380
+ margin-left: 1rem;
381
+ }
382
+
383
+ /* Theme Toggle */
384
+ .theme-toggle {
385
+ position: fixed;
386
+ top: 1rem;
387
+ right: 1rem;
388
+ width: 3rem;
389
+ height: 3rem;
390
+ border-radius: 50%;
391
+ background: var(--bg-secondary);
392
+ border: 1px solid var(--border-color);
393
+ cursor: pointer;
394
+ display: flex;
395
+ align-items: center;
396
+ justify-content: center;
397
+ transition: all 0.2s;
398
+ z-index: 100;
399
+ }
400
+
401
+ .theme-toggle:hover {
402
+ background: var(--bg-tertiary);
403
+ transform: scale(1.1);
404
+ }
405
+
406
+ .theme-icon::before {
407
+ content: '☀️';
408
+ font-size: 1.5rem;
409
+ }
410
+
411
+ [data-theme='dark'] .theme-icon::before {
412
+ content: '🌙';
413
+ }
414
+
415
+ /* Doc metadata */
416
+ .doc-meta {
417
+ color: var(--text-secondary);
418
+ font-size: 0.875rem;
419
+ margin-bottom: 2rem;
420
+ padding-bottom: 1rem;
421
+ border-bottom: 1px solid var(--border-color);
422
+ }
423
+
424
+ .doc-author {
425
+ margin-left: 1rem;
426
+ }
427
+
428
+ /* Doc navigation (prev/next) */
429
+ .doc-navigation {
430
+ display: flex;
431
+ justify-content: space-between;
432
+ margin-top: 3rem;
433
+ padding-top: 2rem;
434
+ border-top: 1px solid var(--border-color);
435
+ }
436
+
437
+ .nav-prev,
438
+ .nav-next {
439
+ padding: 0.75rem 1rem;
440
+ background: var(--bg-secondary);
441
+ border-radius: 0.5rem;
442
+ text-decoration: none;
443
+ color: var(--text-primary);
444
+ transition: background-color 0.2s;
445
+ }
446
+
447
+ .nav-prev:hover,
448
+ .nav-next:hover {
449
+ background: var(--bg-tertiary);
450
+ }
451
+
452
+ .nav-next {
453
+ margin-left: auto;
454
+ }
455
+
456
+ /* Home page */
457
+ .home-header {
458
+ text-align: center;
459
+ margin-bottom: 3rem;
460
+ }
461
+
462
+ .lead {
463
+ font-size: 1.25rem;
464
+ color: var(--text-secondary);
465
+ margin-top: 1rem;
466
+ }
467
+
468
+ .link-grid {
469
+ display: grid;
470
+ grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
471
+ gap: 1.5rem;
472
+ margin-top: 2rem;
473
+ }
474
+
475
+ .link-card {
476
+ padding: 1.5rem;
477
+ background: var(--bg-secondary);
478
+ border-radius: 0.5rem;
479
+ border: 1px solid var(--border-color);
480
+ text-decoration: none;
481
+ transition: all 0.2s;
482
+ }
483
+
484
+ .link-card:hover {
485
+ border-color: var(--link-color);
486
+ transform: translateY(-2px);
487
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
488
+ }
489
+
490
+ .link-card h3 {
491
+ margin: 0 0 0.5rem 0;
492
+ color: var(--text-primary);
493
+ font-size: 1.25rem;
494
+ }
495
+
496
+ .link-card p {
497
+ margin: 0;
498
+ color: var(--text-secondary);
499
+ font-size: 0.875rem;
500
+ }
501
+
502
+ /* Chat Widget - Classic Style (Clean & Simple) */
503
+ .chat-toggle {
504
+ background: var(--link-color);
505
+ border-radius: 50%;
506
+ box-shadow: 0 4px 12px rgba(59, 130, 246, 0.3);
507
+ }
508
+
509
+ .chat-toggle:hover {
510
+ background: var(--link-hover);
511
+ }
512
+
513
+ .chat-container {
514
+ border-radius: 0.5rem;
515
+ box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
516
+ }
517
+
518
+ .chat-header {
519
+ background: var(--link-color);
520
+ border-radius: 0.5rem 0.5rem 0 0;
521
+ }
522
+
523
+ .chat-message.user .message-content {
524
+ background: var(--link-color);
525
+ }
526
+
527
+ /* Dark mode chat styling */
528
+ [data-theme='dark'] .chat-container {
529
+ background: #1f2937;
530
+ border-color: #374151;
531
+ }
532
+
533
+ [data-theme='dark'] .chat-messages {
534
+ background: #1f2937;
535
+ }
536
+
537
+ [data-theme='dark'] .chat-message.assistant .message-content {
538
+ background: #374151;
539
+ color: #f3f4f6;
540
+ }
541
+
542
+ [data-theme='dark'] .chat-input-container {
543
+ background: #111827;
544
+ border-top-color: #374151;
545
+ }
546
+
547
+ [data-theme='dark'] .chat-input {
548
+ background: #1f2937;
549
+ border-color: #374151;
550
+ color: #f3f4f6;
551
+ }
552
+
553
+ /* Responsive */
554
+ @media (max-width: 768px) {
555
+ .sidebar {
556
+ position: static;
557
+ width: 100%;
558
+ height: auto;
559
+ border-right: none;
560
+ border-bottom: 1px solid var(--border-color);
561
+ }
562
+
563
+ .main-content {
564
+ margin-left: 0;
565
+ padding: 1.5rem;
566
+ }
567
+
568
+ .layout {
569
+ flex-direction: column;
570
+ }
571
+
572
+ h1 {
573
+ font-size: 2rem;
574
+ }
575
+
576
+ h2 {
577
+ font-size: 1.5rem;
578
+ }
579
+ }