@yushaw/sanqian-chat 0.1.1 → 0.2.1

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,3237 @@
1
+ /**
2
+ * Core CSS - Single source of truth for chat styles.
3
+ *
4
+ * Edit this file for style changes, then run:
5
+ * npm run build:css
6
+ *
7
+ * DO NOT edit safeCss.ts, chatCss.ts, safe.css, or chat.css directly.
8
+ */
9
+
10
+ /** CSS Variables and Tailwind setup */
11
+ export const CSS_VARIABLES = `/**
12
+ * @yushaw/sanqian-chat CSS Variables
13
+ *
14
+ * Design tokens for chat UI theming.
15
+ * Based on Sanqian Notes design system for consistency.
16
+ *
17
+ * Usage in Tailwind:
18
+ * - bg-chat-bg, text-chat-text, border-chat-border, etc.
19
+ */
20
+
21
+ /* ========================================
22
+ Base Font (Sanqian style)
23
+ ======================================== */
24
+ .chat-window-container,
25
+ .chat-input-form,
26
+ [class*="chat-"] {
27
+ font-family: system-ui, -apple-system, 'PingFang SC', 'Microsoft YaHei UI', 'Microsoft YaHei', sans-serif;
28
+ }
29
+
30
+ /* ========================================
31
+ Prevent text selection on UI elements
32
+ ======================================== */
33
+ .chat-window-container,
34
+ .chat-header-icon-btn,
35
+ .chat-header-logo,
36
+ .chat-logo-wrapper,
37
+ .chat-tooltip,
38
+ .chat-divider-border {
39
+ -webkit-user-select: none;
40
+ user-select: none;
41
+ }
42
+
43
+ /* Allow text selection in message content and input */
44
+ .chat-input-textarea,
45
+ .prose,
46
+ .message-bubble-wrapper {
47
+ -webkit-user-select: text;
48
+ user-select: text;
49
+ }
50
+
51
+ /* ========================================
52
+ Font Size Scaling
53
+ Applies zoom to scale entire chat UI including rem units.
54
+ small: 13px (0.929x), normal: 14px (1x), large: 16px (1.143x), extra-large: 18px (1.286x)
55
+ ======================================== */
56
+ [data-chat-font-size="small"] {
57
+ zoom: 0.929;
58
+ }
59
+ [data-chat-font-size="large"] {
60
+ zoom: 1.143;
61
+ }
62
+ [data-chat-font-size="extra-large"] {
63
+ zoom: 1.286;
64
+ }
65
+
66
+ /* ========================================
67
+ Code Font
68
+ ======================================== */
69
+ code {
70
+ font-family: 'Iosevka Mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
71
+ }
72
+
73
+ :root {
74
+ /* ========================================
75
+ Background Colors
76
+ ======================================== */
77
+ --chat-bg: #f5f5f7;
78
+ --chat-surface: #fbfbfd;
79
+ --chat-card: #ffffff;
80
+ /* ========================================
81
+ Border Colors
82
+ ======================================== */
83
+ --chat-border: #e5e5ea;
84
+ --chat-divider: #e5e5ea;
85
+ --chat-border-focus: rgba(0, 0, 0, 0.12);
86
+ --chat-hover: rgba(0, 0, 0, 0.05);
87
+ /* ========================================
88
+ Text Colors
89
+ ======================================== */
90
+ --chat-text: #1d1d1f;
91
+ --chat-muted: #6e6e73;
92
+ /* ========================================
93
+ Accent Colors
94
+ ======================================== */
95
+ --chat-accent: #e85d75;
96
+ --chat-accent-soft: #fad0da;
97
+ --chat-selection: #fbe7ec;
98
+ /* ========================================
99
+ Status Colors
100
+ ======================================== */
101
+ --chat-success: #34c759;
102
+ --chat-error: #ff3b30;
103
+ --chat-warning: #ff9500;
104
+ --chat-info: #007aff;
105
+ /* ========================================
106
+ Shadows
107
+ ======================================== */
108
+ --chat-shadow-soft: 0 4px 16px rgba(15, 23, 42, 0.05), 0 1px 4px rgba(15, 23, 42, 0.03);
109
+ --chat-shadow-elevated: 0 10px 26px rgba(15, 23, 42, 0.08), 0 4px 12px rgba(15, 23, 42, 0.06);
110
+ /* ========================================
111
+ Scrollbar
112
+ ======================================== */
113
+ --chat-scrollbar: rgba(0, 0, 0, 0.18);
114
+ /* ========================================
115
+ Message Bubbles
116
+ ======================================== */
117
+ --chat-bubble-user: #3b82f6;
118
+ --chat-bubble-user-text: #ffffff;
119
+ --chat-bubble-assistant: var(--chat-surface);
120
+ --chat-bubble-assistant-text: var(--chat-text);
121
+ /* ========================================
122
+ Code Blocks
123
+ ======================================== */
124
+ --chat-code-bg: rgba(0, 0, 0, 0.03);
125
+ --chat-code-border: var(--chat-border);
126
+ --color-bg: var(--chat-bg);
127
+ --color-card: var(--chat-card);
128
+ --color-card-solid: var(--chat-card);
129
+ --color-surface: var(--chat-surface);
130
+ --color-border: var(--chat-border);
131
+ --color-divider: var(--chat-divider);
132
+ --color-selection: var(--chat-selection);
133
+ --color-accent: var(--chat-accent);
134
+ --color-accent-soft: var(--chat-accent-soft);
135
+ --color-text: var(--chat-text);
136
+ --color-muted: var(--chat-muted);
137
+ --shadow-soft: var(--chat-shadow-soft);
138
+ --shadow-elevated: var(--chat-shadow-elevated);
139
+ }
140
+
141
+ /* ========================================
142
+ Dark Mode
143
+ ======================================== */
144
+
145
+ .dark,
146
+ :root.dark {
147
+ --chat-bg: #1a1a1a;
148
+ --chat-surface: #2d2d2d;
149
+ --chat-card: #242424;
150
+ --chat-border: #333333;
151
+ --chat-divider: #333333;
152
+ --chat-border-focus: rgba(255, 255, 255, 0.12);
153
+ --chat-hover: rgba(255, 255, 255, 0.08);
154
+ --chat-text: #ffffff;
155
+ --chat-muted: #aeaeb2;
156
+ --chat-accent: #e85d75;
157
+ --chat-accent-soft: #4a2a32;
158
+ --chat-selection: #3a2028;
159
+ --chat-shadow-soft: 0 4px 16px rgba(0, 0, 0, 0.2), 0 1px 4px rgba(0, 0, 0, 0.1);
160
+ --chat-shadow-elevated: 0 10px 26px rgba(0, 0, 0, 0.3), 0 4px 12px rgba(0, 0, 0, 0.2);
161
+ --chat-scrollbar: rgba(255, 255, 255, 0.18);
162
+ --chat-bubble-user: #3b82f6;
163
+ --chat-bubble-user-text: #ffffff;
164
+ --chat-bubble-assistant: var(--chat-surface);
165
+ --chat-bubble-assistant-text: var(--chat-text);
166
+ --chat-code-bg: rgba(255, 255, 255, 0.05);
167
+ --chat-code-border: var(--chat-border);
168
+
169
+ /* Re-map --color-* for dark mode (needed when .dark is on container, not :root) */
170
+ --color-bg: var(--chat-bg);
171
+ --color-card: var(--chat-card);
172
+ --color-card-solid: var(--chat-card);
173
+ --color-surface: var(--chat-surface);
174
+ --color-border: var(--chat-border);
175
+ --color-divider: var(--chat-divider);
176
+ --color-selection: var(--chat-selection);
177
+ --color-accent: var(--chat-accent);
178
+ --color-accent-soft: var(--chat-accent-soft);
179
+ --color-text: var(--chat-text);
180
+ --color-muted: var(--chat-muted);
181
+ }
182
+
183
+ /* ========================================
184
+ Scrollbar Styling
185
+ ======================================== */
186
+
187
+ .chat-scrollbar {
188
+ scrollbar-width: thin;
189
+ scrollbar-color: transparent transparent;
190
+ }
191
+
192
+ .chat-scrollbar:hover {
193
+ scrollbar-color: var(--chat-scrollbar) transparent;
194
+ }
195
+
196
+ .chat-scrollbar::-webkit-scrollbar {
197
+ width: 6px;
198
+ height: 6px;
199
+ }
200
+
201
+ .chat-scrollbar::-webkit-scrollbar-track {
202
+ background: transparent;
203
+ }
204
+
205
+ .chat-scrollbar::-webkit-scrollbar-thumb {
206
+ background: transparent;
207
+ border-radius: 3px;
208
+ }
209
+
210
+ .chat-scrollbar:hover::-webkit-scrollbar-thumb {
211
+ background: var(--chat-scrollbar);
212
+ }
213
+
214
+ /* ========================================
215
+ Animations
216
+ ======================================== */
217
+
218
+ @keyframes chat-cursor-blink {
219
+ 0%, 49% {
220
+ opacity: 1;
221
+ }
222
+
223
+ 50%, 100% {
224
+ opacity: 0;
225
+ }
226
+ }
227
+
228
+ @keyframes chat-cursor-breathing {
229
+ 0%, 100% {
230
+ opacity: 1;
231
+ }
232
+
233
+ 50% {
234
+ opacity: 0.4;
235
+ }
236
+ }
237
+
238
+ .chat-cursor-blink {
239
+ animation: chat-cursor-blink 1s step-end infinite;
240
+ }
241
+
242
+ .chat-cursor-breathing {
243
+ animation: chat-cursor-breathing 1s ease-in-out infinite;
244
+ }
245
+
246
+ @keyframes chat-fade-in {
247
+ from {
248
+ opacity: 0;
249
+ transform: translateY(4px);
250
+ }
251
+
252
+ to {
253
+ opacity: 1;
254
+ transform: translateY(0);
255
+ }
256
+ }
257
+
258
+ .chat-fade-in {
259
+ animation: chat-fade-in 0.2s ease-out;
260
+ }
261
+
262
+ /* ========================================
263
+ Prose Overrides
264
+ ======================================== */
265
+
266
+ .prose {
267
+ --tw-prose-body: currentColor !important;
268
+ --tw-prose-headings: currentColor !important;
269
+ --tw-prose-lead: currentColor !important;
270
+ --tw-prose-links: var(--chat-accent) !important;
271
+ --tw-prose-bold: currentColor !important;
272
+ --tw-prose-counters: var(--chat-muted) !important;
273
+ --tw-prose-bullets: var(--chat-muted) !important;
274
+ --tw-prose-hr: var(--chat-divider) !important;
275
+ --tw-prose-quotes: var(--chat-muted) !important;
276
+ --tw-prose-quote-borders: var(--chat-accent) !important;
277
+ --tw-prose-captions: var(--chat-muted) !important;
278
+ --tw-prose-code: currentColor !important;
279
+ --tw-prose-pre-code: currentColor !important;
280
+ --tw-prose-pre-bg: var(--chat-code-bg) !important;
281
+ --tw-prose-th-borders: var(--chat-divider) !important;
282
+ --tw-prose-td-borders: var(--chat-divider) !important;
283
+ }
284
+
285
+ /* Override streamdown's default space-y-4 for compact layout */
286
+
287
+ .prose .space-y-4 > * + * {
288
+ margin-top: 0.25rem !important;
289
+ }
290
+
291
+ .prose .space-y-4 {
292
+ --tw-space-y-reverse: 0 !important;
293
+ }
294
+
295
+ /* Force list bullets to display */
296
+
297
+ .prose ul {
298
+ list-style-type: disc !important;
299
+ padding-left: 1.25rem !important;
300
+ }
301
+
302
+ .prose ol {
303
+ list-style-type: decimal !important;
304
+ padding-left: 1.25rem !important;
305
+ }
306
+
307
+ .prose li {
308
+ display: list-item !important;
309
+ margin-top: 0 !important;
310
+ margin-bottom: 0 !important;
311
+ padding-top: 0 !important;
312
+ padding-bottom: 0 !important;
313
+ }
314
+
315
+ .prose :is(p, li, h1, h2, h3, h4, h5, h6):last-child {
316
+ color: inherit;
317
+ }
318
+
319
+ .prose p:has(img:nth-child(2)) {
320
+ display: flex;
321
+ flex-wrap: wrap;
322
+ gap: 0.5rem;
323
+ }
324
+
325
+ .prose p:has(img:nth-child(2)) img {
326
+ max-width: calc(50% - 0.25rem);
327
+ height: auto;
328
+ object-fit: cover;
329
+ cursor: pointer;
330
+ }
331
+
332
+ .prose p:has(img:nth-child(3)) img {
333
+ max-width: calc(33.333% - 0.333rem);
334
+ }
335
+
336
+ [data-streamdown="code-block"] {
337
+ position: relative;
338
+ border: none !important;
339
+ border-radius: 6px !important;
340
+ overflow: visible !important;
341
+ background: transparent !important;
342
+ margin: 6px 0 !important;
343
+ }
344
+
345
+ [data-streamdown="code-block-header"] {
346
+ position: absolute !important;
347
+ top: 14px !important;
348
+ right: 8px !important;
349
+ z-index: 10;
350
+ padding: 0 !important;
351
+ background: transparent !important;
352
+ border: none !important;
353
+ opacity: 0;
354
+ transition: opacity 150ms ease;
355
+ }
356
+
357
+ [data-streamdown="code-block"]:hover [data-streamdown="code-block-header"] {
358
+ opacity: 1;
359
+ }
360
+
361
+ [data-streamdown="code-block-header"] > span:first-child {
362
+ font-size: 11px;
363
+ color: var(--color-muted);
364
+ text-transform: lowercase;
365
+ margin-right: 8px;
366
+ }
367
+
368
+ [data-streamdown="code-block-header"] > div {
369
+ display: flex;
370
+ gap: 4px;
371
+ }
372
+
373
+ [data-streamdown="code-block-header"] button {
374
+ padding: 4px !important;
375
+ border: none !important;
376
+ border-radius: 4px !important;
377
+ background: var(--color-surface) !important;
378
+ opacity: 0.7;
379
+ cursor: pointer;
380
+ }
381
+
382
+ [data-streamdown="code-block-header"] button:hover {
383
+ opacity: 1;
384
+ background: var(--color-border) !important;
385
+ }
386
+
387
+ [data-streamdown="code-block-header"] svg {
388
+ color: var(--color-muted) !important;
389
+ width: 12px !important;
390
+ height: 12px !important;
391
+ }
392
+
393
+ [data-streamdown="code-block-header"] button:hover svg {
394
+ color: var(--color-text) !important;
395
+ }
396
+
397
+ [data-streamdown="code-block-body"] {
398
+ padding: 8px 12px !important;
399
+ background: rgba(0, 0, 0, 0.02) !important;
400
+ border-radius: 6px !important;
401
+ font-size: 13px !important;
402
+ line-height: 1.5 !important;
403
+ white-space: pre !important;
404
+ overflow-x: auto !important;
405
+ }
406
+
407
+ [data-streamdown="code-block-body"] code {
408
+ white-space: pre !important;
409
+ display: block !important;
410
+ }
411
+
412
+ .dark [data-streamdown="code-block-body"],
413
+ :root.dark [data-streamdown="code-block-body"] {
414
+ background: rgba(255, 255, 255, 0.03) !important;
415
+ }
416
+
417
+ [data-streamdown="code-block-body"] code span::before {
418
+ display: none !important;
419
+ }
420
+
421
+ [data-streamdown="code-block-body"],
422
+ [data-streamdown="code-block-body"] code {
423
+ color: var(--color-text) !important;
424
+ opacity: 0.85;
425
+ }
426
+
427
+ [data-streamdown="code-block-body"] code span[style] {
428
+ background-color: transparent !important;
429
+ }
430
+
431
+ .dark [data-streamdown="code-block-body"] code span[style],
432
+ :root.dark [data-streamdown="code-block-body"] code span[style] {
433
+ color: var(--shiki-dark) !important;
434
+ }
435
+
436
+ [data-streamdown="table-wrapper"].my-4 {
437
+ position: relative !important;
438
+ margin: 0 !important;
439
+ gap: 0 !important;
440
+ }
441
+
442
+ [data-streamdown="table-wrapper"].my-4 > .flex.items-center.justify-end.gap-1 {
443
+ position: absolute !important;
444
+ top: -8px !important;
445
+ right: 4px !important;
446
+ z-index: 10;
447
+ opacity: 0 !important;
448
+ transition: opacity 150ms ease;
449
+ margin: 0 !important;
450
+ }
451
+
452
+ [data-streamdown="table-wrapper"].my-4:hover > .flex.items-center.justify-end.gap-1 {
453
+ opacity: 1 !important;
454
+ }
455
+
456
+ /* 表格工具栏按钮 */
457
+ [data-streamdown="table-wrapper"] .flex.items-center.justify-end.gap-1 button {
458
+ padding: 4px !important;
459
+ border: none !important;
460
+ border-radius: 4px !important;
461
+ background: var(--color-surface) !important;
462
+ opacity: 0.7;
463
+ cursor: pointer;
464
+ }
465
+
466
+ [data-streamdown="table-wrapper"] .flex.items-center.justify-end.gap-1 button:hover {
467
+ opacity: 1;
468
+ background: var(--color-border) !important;
469
+ }
470
+
471
+ [data-streamdown="table-wrapper"] .flex.items-center.justify-end.gap-1 svg {
472
+ color: var(--color-muted) !important;
473
+ width: 12px !important;
474
+ height: 12px !important;
475
+ }
476
+
477
+ [data-streamdown="table-wrapper"] .flex.items-center.justify-end.gap-1 button:hover svg {
478
+ color: var(--color-text) !important;
479
+ }
480
+
481
+ /* 表格下拉菜单 */
482
+ [data-streamdown="table-wrapper"] .absolute.top-full {
483
+ border: 1px solid var(--color-divider) !important;
484
+ background: var(--color-card) !important;
485
+ backdrop-filter: blur(8px);
486
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
487
+ }
488
+
489
+ [data-streamdown="table-wrapper"] .absolute.top-full button {
490
+ color: var(--color-text) !important;
491
+ opacity: 0.8;
492
+ }
493
+
494
+ [data-streamdown="table-wrapper"] .absolute.top-full button:hover {
495
+ background: var(--color-surface) !important;
496
+ opacity: 1;
497
+ }
498
+
499
+ /* ========================================
500
+ Chat Input Styling (Sanqian style)
501
+ Layout: [Input box (flex-1)] [Send button]
502
+ ======================================== */
503
+
504
+ /* Form container - flex row */
505
+
506
+ .chat-input-form {
507
+ display: flex;
508
+ align-items: center;
509
+ gap: 2.5em;
510
+ /* Prevent input from overlapping send button */
511
+ min-width: 0;
512
+ }
513
+
514
+ /* Input box container - takes remaining space */
515
+
516
+ .chat-input-box {
517
+ flex: 1;
518
+ min-width: 0;
519
+ position: relative;
520
+ display: grid;
521
+ grid-template-columns: 1fr;
522
+ }
523
+
524
+ /* Hidden replica for auto-height */
525
+
526
+ .chat-input-replica {
527
+ grid-area: 1 / 1 / 2 / 2;
528
+ visibility: hidden;
529
+ white-space: pre-wrap;
530
+ word-break: break-word;
531
+ font-size: 0.75rem;
532
+ line-height: 1.75rem;
533
+ padding-top: 0.25rem;
534
+ padding-bottom: 0.25rem;
535
+ min-height: 1.75rem;
536
+ max-height: 200px;
537
+ pointer-events: none;
538
+ user-select: none;
539
+ border: 1px solid transparent;
540
+ border-radius: 0.625rem;
541
+ }
542
+
543
+ /* Actual textarea - matches Sanqian's .smart-textarea-editor .ProseMirror */
544
+
545
+ .chat-input-textarea {
546
+ grid-area: 1 / 1 / 2 / 2;
547
+ width: 100%;
548
+ min-height: 1.75rem;
549
+ max-height: 200px;
550
+ padding-top: 0.25rem;
551
+ padding-bottom: 0.25rem;
552
+ border-radius: 0.625rem;
553
+ border: 1px solid var(--chat-border);
554
+ background: var(--chat-card);
555
+ font-size: 0.75rem;
556
+ line-height: 1.75rem;
557
+ box-shadow: none;
558
+ color: var(--chat-text);
559
+ overflow-y: auto;
560
+ outline: none;
561
+ resize: none;
562
+ transition: border-color 0.15s ease, box-shadow 0.15s ease;
563
+ }
564
+
565
+ .chat-input-textarea::-moz-placeholder {
566
+ color: var(--chat-muted);
567
+ user-select: none;
568
+ }
569
+
570
+ .chat-input-textarea::placeholder {
571
+ color: var(--chat-muted);
572
+ user-select: none;
573
+ }
574
+
575
+ .chat-input-textarea:focus {
576
+ border-color: var(--chat-border-focus);
577
+ }
578
+
579
+ .chat-input-textarea:disabled {
580
+ opacity: 0.5;
581
+ cursor: not-allowed;
582
+ }
583
+
584
+ /* Left slot - inside input box (matches Sanqian's left-1 bottom-[0.25em]) */
585
+
586
+ .chat-input-left-slot {
587
+ position: absolute;
588
+ left: 0.25rem;
589
+ bottom: 0.25em;
590
+ z-index: 10;
591
+ }
592
+
593
+ /* Right slot - inside input box (matches Sanqian's right-1 bottom-[0.25em]) */
594
+
595
+ .chat-input-right-slot {
596
+ position: absolute;
597
+ right: 0.25rem;
598
+ bottom: 0.25em;
599
+ z-index: 10;
600
+ }
601
+
602
+ /* Send button - OUTSIDE input box */
603
+
604
+ .chat-input-send-btn {
605
+ flex-shrink: 0;
606
+ width: 1.75rem;
607
+ height: 1.75rem;
608
+ border-radius: 50%;
609
+ border: none;
610
+ background: var(--chat-accent);
611
+ color: white;
612
+ display: flex;
613
+ align-items: center;
614
+ justify-content: center;
615
+ cursor: pointer;
616
+ transition: all 0.15s ease;
617
+ box-shadow: var(--chat-shadow-soft);
618
+ }
619
+
620
+ .chat-input-send-btn:hover:not(:disabled) {
621
+ transform: scale(1.05);
622
+ box-shadow: var(--chat-shadow-elevated);
623
+ }
624
+
625
+ .chat-input-send-btn:active:not(:disabled) {
626
+ transform: scale(0.95);
627
+ }
628
+
629
+ .chat-input-send-btn:disabled {
630
+ opacity: 0.4;
631
+ cursor: not-allowed;
632
+ transform: none;
633
+ }
634
+
635
+ .chat-input-send-btn svg {
636
+ width: 0.75rem;
637
+ height: 0.75rem;
638
+ }
639
+
640
+ /* Header visuals */
641
+
642
+ .chat-header-icon-btn {
643
+ display: inline-flex;
644
+ align-items: center;
645
+ justify-content: center;
646
+ width: 1.75rem;
647
+ height: 1.75rem;
648
+ padding: 0;
649
+ border: none;
650
+ border-radius: 0.5rem;
651
+ color: var(--chat-muted);
652
+ background: transparent;
653
+ cursor: pointer;
654
+ transition: color 0.15s ease, background-color 0.15s ease;
655
+ }
656
+
657
+ .chat-header-icon-btn:hover {
658
+ color: var(--chat-text);
659
+ background: var(--chat-hover);
660
+ }
661
+
662
+ .chat-header-icon {
663
+ width: 1rem;
664
+ height: 1rem;
665
+ }
666
+
667
+ .chat-header-logo {
668
+ width: 1rem;
669
+ height: 1rem;
670
+ border-radius: 0.25rem;
671
+ object-fit: contain;
672
+ display: block;
673
+ }
674
+
675
+ .dark .chat-header-logo,
676
+ :root.dark .chat-header-logo {
677
+ filter: invert(1);
678
+ }
679
+
680
+ .chat-logo-wrapper {
681
+ display: inline-flex;
682
+ align-items: center;
683
+ justify-content: center;
684
+ }
685
+
686
+ .chat-logo-wrapper > * {
687
+ width: 100%;
688
+ height: 100%;
689
+ display: block;
690
+ }
691
+
692
+ .chat-logo-default {
693
+ opacity: 0.9;
694
+ }
695
+
696
+ .dark .chat-logo-default,
697
+ :root.dark .chat-logo-default {
698
+ filter: invert(1);
699
+ }
700
+
701
+ .chat-empty-logo {
702
+ width: 5rem;
703
+ height: 5rem;
704
+ object-fit: contain;
705
+ display: block;
706
+ }
707
+
708
+ .chat-divider-border {
709
+ border-color: var(--chat-divider);
710
+ }
711
+
712
+ /* Send wrapper + stop tooltip (aligned with Sanqian stop affordance) */
713
+
714
+ .chat-input-send-wrapper {
715
+ position: relative;
716
+ display: flex;
717
+ align-items: center;
718
+ }
719
+
720
+ .chat-input-stop-tooltip {
721
+ position: absolute;
722
+ bottom: 100%;
723
+ left: 50%;
724
+ transform: translateX(-50%);
725
+ margin-bottom: 0.5rem;
726
+ padding: 0.25rem 0.5rem;
727
+ border-radius: 0.5rem;
728
+ border: 1px solid var(--chat-divider);
729
+ background: var(--chat-card);
730
+ color: var(--chat-text);
731
+ font-size: 0.75rem;
732
+ line-height: 1.2;
733
+ text-align: center;
734
+ white-space: nowrap;
735
+ opacity: 0;
736
+ visibility: hidden;
737
+ pointer-events: none;
738
+ box-shadow: var(--chat-shadow-soft);
739
+ transition: opacity 0.15s ease, visibility 0.15s ease;
740
+ }
741
+
742
+ .chat-input-stop-hotkey {
743
+ color: var(--chat-muted);
744
+ font-size: 0.7rem;
745
+ line-height: 1.1;
746
+ }
747
+
748
+ .chat-input-send-wrapper:hover .chat-input-stop-tooltip {
749
+ opacity: 1;
750
+ visibility: visible;
751
+ }
752
+
753
+ /* Tooltip (for header buttons) */
754
+
755
+ .chat-tooltip-wrapper {
756
+ position: relative;
757
+ }
758
+
759
+ .chat-tooltip {
760
+ position: absolute;
761
+ left: 50%;
762
+ transform: translateX(-50%);
763
+ top: 100%;
764
+ margin-top: 0.375rem;
765
+ padding: 0.25rem 0.5rem;
766
+ border-radius: 0.375rem;
767
+ background: var(--chat-card);
768
+ color: var(--chat-text);
769
+ font-size: 0.75rem;
770
+ line-height: 1.3;
771
+ white-space: nowrap;
772
+ text-align: center;
773
+ opacity: 0;
774
+ visibility: hidden;
775
+ pointer-events: none;
776
+ box-shadow: var(--chat-shadow-soft);
777
+ border: 1px solid var(--chat-border);
778
+ z-index: 50;
779
+ transition: opacity 100ms ease, visibility 100ms ease;
780
+ }
781
+
782
+ .chat-tooltip-wrapper:hover .chat-tooltip {
783
+ opacity: 1;
784
+ visibility: visible;
785
+ }
786
+
787
+ .chat-tooltip-shortcut {
788
+ color: var(--chat-muted);
789
+ font-size: 0.7rem;
790
+ }
791
+
792
+ /* Floating Window Container
793
+ For transparent Electron windows */
794
+
795
+ .chat-window-container {
796
+ height: 100%;
797
+ display: flex;
798
+ flex-direction: column;
799
+ background: var(--chat-window-bg, var(--chat-bg));
800
+ border-radius: 12px;
801
+ overflow: hidden;
802
+ border: 1px solid var(--chat-window-border, rgba(0, 0, 0, 0.1));
803
+ box-shadow:
804
+ 0 0 0 1px rgba(0, 0, 0, 0.05),
805
+ 0 8px 40px rgba(0, 0, 0, 0.12);
806
+ }
807
+
808
+ .dark .chat-window-container,
809
+ :root.dark .chat-window-container {
810
+ border-color: rgba(255, 255, 255, 0.1);
811
+ box-shadow:
812
+ 0 0 0 1px rgba(255, 255, 255, 0.05),
813
+ 0 8px 40px rgba(0, 0, 0, 0.5);
814
+ }
815
+
816
+ *, ::before, ::after {
817
+ --tw-border-spacing-x: 0;
818
+ --tw-border-spacing-y: 0;
819
+ --tw-translate-x: 0;
820
+ --tw-translate-y: 0;
821
+ --tw-rotate: 0;
822
+ --tw-skew-x: 0;
823
+ --tw-skew-y: 0;
824
+ --tw-scale-x: 1;
825
+ --tw-scale-y: 1;
826
+ --tw-pan-x: ;
827
+ --tw-pan-y: ;
828
+ --tw-pinch-zoom: ;
829
+ --tw-scroll-snap-strictness: proximity;
830
+ --tw-gradient-from-position: ;
831
+ --tw-gradient-via-position: ;
832
+ --tw-gradient-to-position: ;
833
+ --tw-ordinal: ;
834
+ --tw-slashed-zero: ;
835
+ --tw-numeric-figure: ;
836
+ --tw-numeric-spacing: ;
837
+ --tw-numeric-fraction: ;
838
+ --tw-ring-inset: ;
839
+ --tw-ring-offset-width: 0px;
840
+ --tw-ring-offset-color: #fff;
841
+ --tw-ring-color: rgb(59 130 246 / 0.5);
842
+ --tw-ring-offset-shadow: 0 0 #0000;
843
+ --tw-ring-shadow: 0 0 #0000;
844
+ --tw-shadow: 0 0 #0000;
845
+ --tw-shadow-colored: 0 0 #0000;
846
+ --tw-blur: ;
847
+ --tw-brightness: ;
848
+ --tw-contrast: ;
849
+ --tw-grayscale: ;
850
+ --tw-hue-rotate: ;
851
+ --tw-invert: ;
852
+ --tw-saturate: ;
853
+ --tw-sepia: ;
854
+ --tw-drop-shadow: ;
855
+ --tw-backdrop-blur: ;
856
+ --tw-backdrop-brightness: ;
857
+ --tw-backdrop-contrast: ;
858
+ --tw-backdrop-grayscale: ;
859
+ --tw-backdrop-hue-rotate: ;
860
+ --tw-backdrop-invert: ;
861
+ --tw-backdrop-opacity: ;
862
+ --tw-backdrop-saturate: ;
863
+ --tw-backdrop-sepia: ;
864
+ --tw-contain-size: ;
865
+ --tw-contain-layout: ;
866
+ --tw-contain-paint: ;
867
+ --tw-contain-style: ;
868
+ }`;
869
+
870
+ /** Component styles, prose, and utilities */
871
+ export const CSS_UTILITIES = `
872
+ ::backdrop {
873
+ --tw-border-spacing-x: 0;
874
+ --tw-border-spacing-y: 0;
875
+ --tw-translate-x: 0;
876
+ --tw-translate-y: 0;
877
+ --tw-rotate: 0;
878
+ --tw-skew-x: 0;
879
+ --tw-skew-y: 0;
880
+ --tw-scale-x: 1;
881
+ --tw-scale-y: 1;
882
+ --tw-pan-x: ;
883
+ --tw-pan-y: ;
884
+ --tw-pinch-zoom: ;
885
+ --tw-scroll-snap-strictness: proximity;
886
+ --tw-gradient-from-position: ;
887
+ --tw-gradient-via-position: ;
888
+ --tw-gradient-to-position: ;
889
+ --tw-ordinal: ;
890
+ --tw-slashed-zero: ;
891
+ --tw-numeric-figure: ;
892
+ --tw-numeric-spacing: ;
893
+ --tw-numeric-fraction: ;
894
+ --tw-ring-inset: ;
895
+ --tw-ring-offset-width: 0px;
896
+ --tw-ring-offset-color: #fff;
897
+ --tw-ring-color: rgb(59 130 246 / 0.5);
898
+ --tw-ring-offset-shadow: 0 0 #0000;
899
+ --tw-ring-shadow: 0 0 #0000;
900
+ --tw-shadow: 0 0 #0000;
901
+ --tw-shadow-colored: 0 0 #0000;
902
+ --tw-blur: ;
903
+ --tw-brightness: ;
904
+ --tw-contrast: ;
905
+ --tw-grayscale: ;
906
+ --tw-hue-rotate: ;
907
+ --tw-invert: ;
908
+ --tw-saturate: ;
909
+ --tw-sepia: ;
910
+ --tw-drop-shadow: ;
911
+ --tw-backdrop-blur: ;
912
+ --tw-backdrop-brightness: ;
913
+ --tw-backdrop-contrast: ;
914
+ --tw-backdrop-grayscale: ;
915
+ --tw-backdrop-hue-rotate: ;
916
+ --tw-backdrop-invert: ;
917
+ --tw-backdrop-opacity: ;
918
+ --tw-backdrop-saturate: ;
919
+ --tw-backdrop-sepia: ;
920
+ --tw-contain-size: ;
921
+ --tw-contain-layout: ;
922
+ --tw-contain-paint: ;
923
+ --tw-contain-style: ;
924
+ }
925
+
926
+
927
+ .\\!container {
928
+ width: 100% !important;
929
+ }
930
+
931
+ .container {
932
+ width: 100%;
933
+ }
934
+
935
+ @media (min-width: 640px) {
936
+ .\\!container {
937
+ max-width: 640px !important;
938
+ }
939
+
940
+ .container {
941
+ max-width: 640px;
942
+ }
943
+ }
944
+
945
+ @media (min-width: 768px) {
946
+ .\\!container {
947
+ max-width: 768px !important;
948
+ }
949
+
950
+ .container {
951
+ max-width: 768px;
952
+ }
953
+ }
954
+
955
+ @media (min-width: 1024px) {
956
+ .\\!container {
957
+ max-width: 1024px !important;
958
+ }
959
+
960
+ .container {
961
+ max-width: 1024px;
962
+ }
963
+ }
964
+
965
+ @media (min-width: 1280px) {
966
+ .\\!container {
967
+ max-width: 1280px !important;
968
+ }
969
+
970
+ .container {
971
+ max-width: 1280px;
972
+ }
973
+ }
974
+
975
+ @media (min-width: 1536px) {
976
+ .\\!container {
977
+ max-width: 1536px !important;
978
+ }
979
+
980
+ .container {
981
+ max-width: 1536px;
982
+ }
983
+ }
984
+
985
+ .prose {
986
+ color: var(--tw-prose-body);
987
+ max-width: 65ch;
988
+ }
989
+
990
+ .prose :where(p):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
991
+ margin-top: 1.25em;
992
+ margin-bottom: 1.25em;
993
+ }
994
+
995
+ .prose :where([class~="lead"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
996
+ color: var(--tw-prose-lead);
997
+ font-size: 1.25em;
998
+ line-height: 1.6;
999
+ margin-top: 1.2em;
1000
+ margin-bottom: 1.2em;
1001
+ }
1002
+
1003
+ .prose :where(a):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1004
+ color: var(--tw-prose-links);
1005
+ text-decoration: none;
1006
+ font-weight: 500;
1007
+ }
1008
+
1009
+ .prose :where(strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1010
+ color: var(--tw-prose-bold);
1011
+ font-weight: 600;
1012
+ }
1013
+
1014
+ .prose :where(a strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1015
+ color: inherit;
1016
+ }
1017
+
1018
+ .prose :where(blockquote strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1019
+ color: inherit;
1020
+ }
1021
+
1022
+ .prose :where(thead th strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1023
+ color: inherit;
1024
+ }
1025
+
1026
+ .prose :where(ol):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1027
+ list-style-type: decimal;
1028
+ margin-top: 1.25em;
1029
+ margin-bottom: 1.25em;
1030
+ padding-inline-start: 1.625em;
1031
+ }
1032
+
1033
+ .prose :where(ol[type="A"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1034
+ list-style-type: upper-alpha;
1035
+ }
1036
+
1037
+ .prose :where(ol[type="a"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1038
+ list-style-type: lower-alpha;
1039
+ }
1040
+
1041
+ .prose :where(ol[type="A" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1042
+ list-style-type: upper-alpha;
1043
+ }
1044
+
1045
+ .prose :where(ol[type="a" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1046
+ list-style-type: lower-alpha;
1047
+ }
1048
+
1049
+ .prose :where(ol[type="I"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1050
+ list-style-type: upper-roman;
1051
+ }
1052
+
1053
+ .prose :where(ol[type="i"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1054
+ list-style-type: lower-roman;
1055
+ }
1056
+
1057
+ .prose :where(ol[type="I" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1058
+ list-style-type: upper-roman;
1059
+ }
1060
+
1061
+ .prose :where(ol[type="i" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1062
+ list-style-type: lower-roman;
1063
+ }
1064
+
1065
+ .prose :where(ol[type="1"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1066
+ list-style-type: decimal;
1067
+ }
1068
+
1069
+ .prose :where(ul):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1070
+ list-style-type: disc;
1071
+ margin-top: 1.25em;
1072
+ margin-bottom: 1.25em;
1073
+ padding-inline-start: 1.625em;
1074
+ }
1075
+
1076
+ .prose :where(ol > li):not(:where([class~="not-prose"],[class~="not-prose"] *))::marker {
1077
+ font-weight: 400;
1078
+ color: var(--tw-prose-counters);
1079
+ }
1080
+
1081
+ .prose :where(ul > li):not(:where([class~="not-prose"],[class~="not-prose"] *))::marker {
1082
+ color: var(--tw-prose-bullets);
1083
+ }
1084
+
1085
+ .prose :where(dt):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1086
+ color: var(--tw-prose-headings);
1087
+ font-weight: 600;
1088
+ margin-top: 1.25em;
1089
+ }
1090
+
1091
+ .prose :where(hr):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1092
+ border-color: var(--tw-prose-hr);
1093
+ border-top-width: 1px;
1094
+ margin-top: 3em;
1095
+ margin-bottom: 3em;
1096
+ }
1097
+
1098
+ .prose :where(blockquote):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1099
+ font-weight: 500;
1100
+ font-style: italic;
1101
+ color: var(--tw-prose-quotes);
1102
+ border-inline-start-width: 0.25rem;
1103
+ border-inline-start-color: var(--tw-prose-quote-borders);
1104
+ quotes: "\\201C""\\201D""\\2018""\\2019";
1105
+ margin-top: 1.6em;
1106
+ margin-bottom: 1.6em;
1107
+ padding-inline-start: 1em;
1108
+ }
1109
+
1110
+ .prose :where(blockquote p:first-of-type):not(:where([class~="not-prose"],[class~="not-prose"] *))::before {
1111
+ content: open-quote;
1112
+ }
1113
+
1114
+ .prose :where(blockquote p:last-of-type):not(:where([class~="not-prose"],[class~="not-prose"] *))::after {
1115
+ content: close-quote;
1116
+ }
1117
+
1118
+ .prose :where(h1):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1119
+ color: var(--tw-prose-headings);
1120
+ font-weight: 800;
1121
+ font-size: 2.25em;
1122
+ margin-top: 0;
1123
+ margin-bottom: 0.8888889em;
1124
+ line-height: 1.1111111;
1125
+ }
1126
+
1127
+ .prose :where(h1 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1128
+ font-weight: 900;
1129
+ color: inherit;
1130
+ }
1131
+
1132
+ .prose :where(h2):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1133
+ color: var(--tw-prose-headings);
1134
+ font-weight: 700;
1135
+ font-size: 1.5em;
1136
+ margin-top: 2em;
1137
+ margin-bottom: 1em;
1138
+ line-height: 1.3333333;
1139
+ }
1140
+
1141
+ .prose :where(h2 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1142
+ font-weight: 800;
1143
+ color: inherit;
1144
+ }
1145
+
1146
+ .prose :where(h3):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1147
+ color: var(--tw-prose-headings);
1148
+ font-weight: 600;
1149
+ font-size: 1.25em;
1150
+ margin-top: 1.6em;
1151
+ margin-bottom: 0.6em;
1152
+ line-height: 1.6;
1153
+ }
1154
+
1155
+ .prose :where(h3 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1156
+ font-weight: 700;
1157
+ color: inherit;
1158
+ }
1159
+
1160
+ .prose :where(h4):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1161
+ color: var(--tw-prose-headings);
1162
+ font-weight: 600;
1163
+ margin-top: 1.5em;
1164
+ margin-bottom: 0.5em;
1165
+ line-height: 1.5;
1166
+ }
1167
+
1168
+ .prose :where(h4 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1169
+ font-weight: 700;
1170
+ color: inherit;
1171
+ }
1172
+
1173
+ .prose :where(img):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1174
+ margin-top: 2em;
1175
+ margin-bottom: 2em;
1176
+ }
1177
+
1178
+ .prose :where(picture):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1179
+ display: block;
1180
+ margin-top: 2em;
1181
+ margin-bottom: 2em;
1182
+ }
1183
+
1184
+ .prose :where(video):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1185
+ margin-top: 2em;
1186
+ margin-bottom: 2em;
1187
+ }
1188
+
1189
+ .prose :where(kbd):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1190
+ font-weight: 500;
1191
+ font-family: inherit;
1192
+ color: var(--tw-prose-kbd);
1193
+ box-shadow: 0 0 0 1px var(--tw-prose-kbd-shadows), 0 3px 0 var(--tw-prose-kbd-shadows);
1194
+ font-size: 0.875em;
1195
+ border-radius: 0.3125rem;
1196
+ padding-top: 0.1875em;
1197
+ padding-inline-end: 0.375em;
1198
+ padding-bottom: 0.1875em;
1199
+ padding-inline-start: 0.375em;
1200
+ }
1201
+
1202
+ .prose :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1203
+ color: var(--tw-prose-code);
1204
+ font-weight: 600;
1205
+ font-size: 0.875em;
1206
+ }
1207
+
1208
+ .prose :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *))::before {
1209
+ content: "\`";
1210
+ }
1211
+
1212
+ .prose :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *))::after {
1213
+ content: "\`";
1214
+ }
1215
+
1216
+ .prose :where(a code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1217
+ color: inherit;
1218
+ }
1219
+
1220
+ .prose :where(h1 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1221
+ color: inherit;
1222
+ }
1223
+
1224
+ .prose :where(h2 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1225
+ color: inherit;
1226
+ font-size: 0.875em;
1227
+ }
1228
+
1229
+ .prose :where(h3 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1230
+ color: inherit;
1231
+ font-size: 0.9em;
1232
+ }
1233
+
1234
+ .prose :where(h4 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1235
+ color: inherit;
1236
+ }
1237
+
1238
+ .prose :where(blockquote code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1239
+ color: inherit;
1240
+ }
1241
+
1242
+ .prose :where(thead th code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1243
+ color: inherit;
1244
+ }
1245
+
1246
+ .prose :where(pre):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1247
+ color: var(--tw-prose-pre-code);
1248
+ background-color: var(--tw-prose-pre-bg);
1249
+ overflow-x: auto;
1250
+ font-weight: 400;
1251
+ font-size: 0.875em;
1252
+ line-height: 1.7142857;
1253
+ margin-top: 1.7142857em;
1254
+ margin-bottom: 1.7142857em;
1255
+ border-radius: 0.375rem;
1256
+ padding-top: 0.8571429em;
1257
+ padding-inline-end: 1.1428571em;
1258
+ padding-bottom: 0.8571429em;
1259
+ padding-inline-start: 1.1428571em;
1260
+ }
1261
+
1262
+ .prose :where(pre code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1263
+ background-color: transparent;
1264
+ border-width: 0;
1265
+ border-radius: 0;
1266
+ padding: 0;
1267
+ font-weight: inherit;
1268
+ color: inherit;
1269
+ font-size: inherit;
1270
+ font-family: inherit;
1271
+ line-height: inherit;
1272
+ }
1273
+
1274
+ .prose :where(pre code):not(:where([class~="not-prose"],[class~="not-prose"] *))::before {
1275
+ content: none;
1276
+ }
1277
+
1278
+ .prose :where(pre code):not(:where([class~="not-prose"],[class~="not-prose"] *))::after {
1279
+ content: none;
1280
+ }
1281
+
1282
+ .prose :where(table):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1283
+ width: 100%;
1284
+ table-layout: auto;
1285
+ margin-top: 2em;
1286
+ margin-bottom: 2em;
1287
+ font-size: 0.875em;
1288
+ line-height: 1.7142857;
1289
+ }
1290
+
1291
+ .prose :where(thead):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1292
+ border-bottom-width: 1px;
1293
+ border-bottom-color: var(--tw-prose-th-borders);
1294
+ }
1295
+
1296
+ .prose :where(thead th):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1297
+ color: var(--tw-prose-headings);
1298
+ font-weight: 600;
1299
+ vertical-align: bottom;
1300
+ padding-inline-end: 0.5714286em;
1301
+ padding-bottom: 0.5714286em;
1302
+ padding-inline-start: 0.5714286em;
1303
+ }
1304
+
1305
+ .prose :where(tbody tr):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1306
+ border-bottom-width: 1px;
1307
+ border-bottom-color: var(--tw-prose-td-borders);
1308
+ }
1309
+
1310
+ .prose :where(tbody tr:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1311
+ border-bottom-width: 0;
1312
+ }
1313
+
1314
+ .prose :where(tbody td):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1315
+ vertical-align: baseline;
1316
+ }
1317
+
1318
+ .prose :where(tfoot):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1319
+ border-top-width: 1px;
1320
+ border-top-color: var(--tw-prose-th-borders);
1321
+ }
1322
+
1323
+ .prose :where(tfoot td):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1324
+ vertical-align: top;
1325
+ }
1326
+
1327
+ .prose :where(th, td):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1328
+ text-align: start;
1329
+ }
1330
+
1331
+ .prose :where(figure > *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1332
+ margin-top: 0;
1333
+ margin-bottom: 0;
1334
+ }
1335
+
1336
+ .prose :where(figcaption):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1337
+ color: var(--tw-prose-captions);
1338
+ font-size: 0.875em;
1339
+ line-height: 1.4285714;
1340
+ margin-top: 0.8571429em;
1341
+ }
1342
+
1343
+ .prose {
1344
+ --tw-prose-body: var(--color-text);
1345
+ --tw-prose-headings: var(--color-text);
1346
+ --tw-prose-lead: #4b5563;
1347
+ --tw-prose-links: var(--color-accent);
1348
+ --tw-prose-bold: var(--color-text);
1349
+ --tw-prose-counters: #6b7280;
1350
+ --tw-prose-bullets: var(--color-muted);
1351
+ --tw-prose-hr: var(--color-divider);
1352
+ --tw-prose-quotes: var(--color-muted);
1353
+ --tw-prose-quote-borders: #e5e7eb;
1354
+ --tw-prose-captions: #6b7280;
1355
+ --tw-prose-kbd: #111827;
1356
+ --tw-prose-kbd-shadows: rgb(17 24 39 / 10%);
1357
+ --tw-prose-code: var(--color-accent);
1358
+ --tw-prose-pre-code: #e5e7eb;
1359
+ --tw-prose-pre-bg: #1f2937;
1360
+ --tw-prose-th-borders: var(--color-divider);
1361
+ --tw-prose-td-borders: var(--color-divider);
1362
+ --tw-prose-invert-body: #d1d5db;
1363
+ --tw-prose-invert-headings: #fff;
1364
+ --tw-prose-invert-lead: #9ca3af;
1365
+ --tw-prose-invert-links: #fff;
1366
+ --tw-prose-invert-bold: #fff;
1367
+ --tw-prose-invert-counters: #9ca3af;
1368
+ --tw-prose-invert-bullets: #4b5563;
1369
+ --tw-prose-invert-hr: #374151;
1370
+ --tw-prose-invert-quotes: #f3f4f6;
1371
+ --tw-prose-invert-quote-borders: #374151;
1372
+ --tw-prose-invert-captions: #9ca3af;
1373
+ --tw-prose-invert-kbd: #fff;
1374
+ --tw-prose-invert-kbd-shadows: rgb(255 255 255 / 10%);
1375
+ --tw-prose-invert-code: #fff;
1376
+ --tw-prose-invert-pre-code: #d1d5db;
1377
+ --tw-prose-invert-pre-bg: rgb(0 0 0 / 50%);
1378
+ --tw-prose-invert-th-borders: #4b5563;
1379
+ --tw-prose-invert-td-borders: #374151;
1380
+ font-size: inherit;
1381
+ line-height: 1.75;
1382
+ }
1383
+
1384
+ .prose :where(picture > img):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1385
+ margin-top: 0;
1386
+ margin-bottom: 0;
1387
+ }
1388
+
1389
+ .prose :where(li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1390
+ margin-top: 0.5em;
1391
+ margin-bottom: 0.5em;
1392
+ }
1393
+
1394
+ .prose :where(ol > li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1395
+ padding-inline-start: 0.375em;
1396
+ }
1397
+
1398
+ .prose :where(ul > li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1399
+ padding-inline-start: 0.375em;
1400
+ }
1401
+
1402
+ .prose :where(.prose > ul > li p):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1403
+ margin-top: 0.75em;
1404
+ margin-bottom: 0.75em;
1405
+ }
1406
+
1407
+ .prose :where(.prose > ul > li > p:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1408
+ margin-top: 1.25em;
1409
+ }
1410
+
1411
+ .prose :where(.prose > ul > li > p:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1412
+ margin-bottom: 1.25em;
1413
+ }
1414
+
1415
+ .prose :where(.prose > ol > li > p:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1416
+ margin-top: 1.25em;
1417
+ }
1418
+
1419
+ .prose :where(.prose > ol > li > p:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1420
+ margin-bottom: 1.25em;
1421
+ }
1422
+
1423
+ .prose :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1424
+ margin-top: 0.75em;
1425
+ margin-bottom: 0.75em;
1426
+ }
1427
+
1428
+ .prose :where(dl):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1429
+ margin-top: 1.25em;
1430
+ margin-bottom: 1.25em;
1431
+ }
1432
+
1433
+ .prose :where(dd):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1434
+ margin-top: 0.5em;
1435
+ padding-inline-start: 1.625em;
1436
+ }
1437
+
1438
+ .prose :where(hr + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1439
+ margin-top: 0;
1440
+ }
1441
+
1442
+ .prose :where(h2 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1443
+ margin-top: 0;
1444
+ }
1445
+
1446
+ .prose :where(h3 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1447
+ margin-top: 0;
1448
+ }
1449
+
1450
+ .prose :where(h4 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1451
+ margin-top: 0;
1452
+ }
1453
+
1454
+ .prose :where(thead th:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1455
+ padding-inline-start: 0;
1456
+ }
1457
+
1458
+ .prose :where(thead th:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1459
+ padding-inline-end: 0;
1460
+ }
1461
+
1462
+ .prose :where(tbody td, tfoot td):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1463
+ padding-top: 0.5714286em;
1464
+ padding-inline-end: 0.5714286em;
1465
+ padding-bottom: 0.5714286em;
1466
+ padding-inline-start: 0.5714286em;
1467
+ }
1468
+
1469
+ .prose :where(tbody td:first-child, tfoot td:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1470
+ padding-inline-start: 0;
1471
+ }
1472
+
1473
+ .prose :where(tbody td:last-child, tfoot td:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1474
+ padding-inline-end: 0;
1475
+ }
1476
+
1477
+ .prose :where(figure):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1478
+ margin-top: 2em;
1479
+ margin-bottom: 2em;
1480
+ }
1481
+
1482
+ .prose :where(.prose > :first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1483
+ margin-top: 0;
1484
+ }
1485
+
1486
+ .prose :where(.prose > :last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1487
+ margin-bottom: 0;
1488
+ }
1489
+
1490
+ .prose-sm {
1491
+ font-size: 0.875rem;
1492
+ line-height: 1.7142857;
1493
+ }
1494
+
1495
+ .prose-sm :where(p):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1496
+ margin-top: 1.1428571em;
1497
+ margin-bottom: 1.1428571em;
1498
+ }
1499
+
1500
+ .prose-sm :where([class~="lead"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1501
+ font-size: 1.2857143em;
1502
+ line-height: 1.5555556;
1503
+ margin-top: 0.8888889em;
1504
+ margin-bottom: 0.8888889em;
1505
+ }
1506
+
1507
+ .prose-sm :where(blockquote):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1508
+ margin-top: 1.3333333em;
1509
+ margin-bottom: 1.3333333em;
1510
+ padding-inline-start: 1.1111111em;
1511
+ }
1512
+
1513
+ .prose-sm :where(h1):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1514
+ font-size: 2.1428571em;
1515
+ margin-top: 0;
1516
+ margin-bottom: 0.8em;
1517
+ line-height: 1.2;
1518
+ }
1519
+
1520
+ .prose-sm :where(h2):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1521
+ font-size: 1.4285714em;
1522
+ margin-top: 1.6em;
1523
+ margin-bottom: 0.8em;
1524
+ line-height: 1.4;
1525
+ }
1526
+
1527
+ .prose-sm :where(h3):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1528
+ font-size: 1.2857143em;
1529
+ margin-top: 1.5555556em;
1530
+ margin-bottom: 0.4444444em;
1531
+ line-height: 1.5555556;
1532
+ }
1533
+
1534
+ .prose-sm :where(h4):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1535
+ margin-top: 1.4285714em;
1536
+ margin-bottom: 0.5714286em;
1537
+ line-height: 1.4285714;
1538
+ }
1539
+
1540
+ .prose-sm :where(img):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1541
+ margin-top: 1.7142857em;
1542
+ margin-bottom: 1.7142857em;
1543
+ }
1544
+
1545
+ .prose-sm :where(picture):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1546
+ margin-top: 1.7142857em;
1547
+ margin-bottom: 1.7142857em;
1548
+ }
1549
+
1550
+ .prose-sm :where(picture > img):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1551
+ margin-top: 0;
1552
+ margin-bottom: 0;
1553
+ }
1554
+
1555
+ .prose-sm :where(video):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1556
+ margin-top: 1.7142857em;
1557
+ margin-bottom: 1.7142857em;
1558
+ }
1559
+
1560
+ .prose-sm :where(kbd):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1561
+ font-size: 0.8571429em;
1562
+ border-radius: 0.3125rem;
1563
+ padding-top: 0.1428571em;
1564
+ padding-inline-end: 0.3571429em;
1565
+ padding-bottom: 0.1428571em;
1566
+ padding-inline-start: 0.3571429em;
1567
+ }
1568
+
1569
+ .prose-sm :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1570
+ font-size: 0.8571429em;
1571
+ }
1572
+
1573
+ .prose-sm :where(h2 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1574
+ font-size: 0.9em;
1575
+ }
1576
+
1577
+ .prose-sm :where(h3 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1578
+ font-size: 0.8888889em;
1579
+ }
1580
+
1581
+ .prose-sm :where(pre):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1582
+ font-size: 0.8571429em;
1583
+ line-height: 1.6666667;
1584
+ margin-top: 1.6666667em;
1585
+ margin-bottom: 1.6666667em;
1586
+ border-radius: 0.25rem;
1587
+ padding-top: 0.6666667em;
1588
+ padding-inline-end: 1em;
1589
+ padding-bottom: 0.6666667em;
1590
+ padding-inline-start: 1em;
1591
+ }
1592
+
1593
+ .prose-sm :where(ol):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1594
+ margin-top: 1.1428571em;
1595
+ margin-bottom: 1.1428571em;
1596
+ padding-inline-start: 1.5714286em;
1597
+ }
1598
+
1599
+ .prose-sm :where(ul):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1600
+ margin-top: 1.1428571em;
1601
+ margin-bottom: 1.1428571em;
1602
+ padding-inline-start: 1.5714286em;
1603
+ }
1604
+
1605
+ .prose-sm :where(li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1606
+ margin-top: 0.2857143em;
1607
+ margin-bottom: 0.2857143em;
1608
+ }
1609
+
1610
+ .prose-sm :where(ol > li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1611
+ padding-inline-start: 0.4285714em;
1612
+ }
1613
+
1614
+ .prose-sm :where(ul > li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1615
+ padding-inline-start: 0.4285714em;
1616
+ }
1617
+
1618
+ .prose-sm :where(.prose-sm > ul > li p):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1619
+ margin-top: 0.5714286em;
1620
+ margin-bottom: 0.5714286em;
1621
+ }
1622
+
1623
+ .prose-sm :where(.prose-sm > ul > li > p:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1624
+ margin-top: 1.1428571em;
1625
+ }
1626
+
1627
+ .prose-sm :where(.prose-sm > ul > li > p:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1628
+ margin-bottom: 1.1428571em;
1629
+ }
1630
+
1631
+ .prose-sm :where(.prose-sm > ol > li > p:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1632
+ margin-top: 1.1428571em;
1633
+ }
1634
+
1635
+ .prose-sm :where(.prose-sm > ol > li > p:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1636
+ margin-bottom: 1.1428571em;
1637
+ }
1638
+
1639
+ .prose-sm :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1640
+ margin-top: 0.5714286em;
1641
+ margin-bottom: 0.5714286em;
1642
+ }
1643
+
1644
+ .prose-sm :where(dl):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1645
+ margin-top: 1.1428571em;
1646
+ margin-bottom: 1.1428571em;
1647
+ }
1648
+
1649
+ .prose-sm :where(dt):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1650
+ margin-top: 1.1428571em;
1651
+ }
1652
+
1653
+ .prose-sm :where(dd):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1654
+ margin-top: 0.2857143em;
1655
+ padding-inline-start: 1.5714286em;
1656
+ }
1657
+
1658
+ .prose-sm :where(hr):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1659
+ margin-top: 2.8571429em;
1660
+ margin-bottom: 2.8571429em;
1661
+ }
1662
+
1663
+ .prose-sm :where(hr + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1664
+ margin-top: 0;
1665
+ }
1666
+
1667
+ .prose-sm :where(h2 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1668
+ margin-top: 0;
1669
+ }
1670
+
1671
+ .prose-sm :where(h3 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1672
+ margin-top: 0;
1673
+ }
1674
+
1675
+ .prose-sm :where(h4 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1676
+ margin-top: 0;
1677
+ }
1678
+
1679
+ .prose-sm :where(table):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1680
+ font-size: 0.8571429em;
1681
+ line-height: 1.5;
1682
+ }
1683
+
1684
+ .prose-sm :where(thead th):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1685
+ padding-inline-end: 1em;
1686
+ padding-bottom: 0.6666667em;
1687
+ padding-inline-start: 1em;
1688
+ }
1689
+
1690
+ .prose-sm :where(thead th:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1691
+ padding-inline-start: 0;
1692
+ }
1693
+
1694
+ .prose-sm :where(thead th:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1695
+ padding-inline-end: 0;
1696
+ }
1697
+
1698
+ .prose-sm :where(tbody td, tfoot td):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1699
+ padding-top: 0.6666667em;
1700
+ padding-inline-end: 1em;
1701
+ padding-bottom: 0.6666667em;
1702
+ padding-inline-start: 1em;
1703
+ }
1704
+
1705
+ .prose-sm :where(tbody td:first-child, tfoot td:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1706
+ padding-inline-start: 0;
1707
+ }
1708
+
1709
+ .prose-sm :where(tbody td:last-child, tfoot td:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1710
+ padding-inline-end: 0;
1711
+ }
1712
+
1713
+ .prose-sm :where(figure):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1714
+ margin-top: 1.7142857em;
1715
+ margin-bottom: 1.7142857em;
1716
+ }
1717
+
1718
+ .prose-sm :where(figure > *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1719
+ margin-top: 0;
1720
+ margin-bottom: 0;
1721
+ }
1722
+
1723
+ .prose-sm :where(figcaption):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1724
+ font-size: 0.8571429em;
1725
+ line-height: 1.3333333;
1726
+ margin-top: 0.6666667em;
1727
+ }
1728
+
1729
+ .prose-sm :where(.prose-sm > :first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1730
+ margin-top: 0;
1731
+ }
1732
+
1733
+ .prose-sm :where(.prose-sm > :last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1734
+ margin-bottom: 0;
1735
+ }
1736
+
1737
+ .prose-chat :where(p):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1738
+ margin-top: 0 !important;
1739
+ margin-bottom: 0.5rem !important;
1740
+ line-height: 1.5;
1741
+ overflow-wrap: break-word;
1742
+ }
1743
+
1744
+ .prose-chat :where(ul, ol):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1745
+ margin-top: 0 !important;
1746
+ margin-bottom: 0.75rem !important;
1747
+ padding-left: 1.5rem;
1748
+ }
1749
+
1750
+ .prose-chat :where(li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1751
+ margin-top: 0.125rem !important;
1752
+ margin-bottom: 0 !important;
1753
+ line-height: 1.5;
1754
+ }
1755
+
1756
+ .prose-chat :where(li > p):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1757
+ margin-bottom: 0.125rem !important;
1758
+ }
1759
+
1760
+ .prose-chat :where(ul ul, ol ol, ul ol, ol ul):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1761
+ margin-top: 0 !important;
1762
+ margin-bottom: 0 !important;
1763
+ }
1764
+
1765
+ .prose-chat :where(strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1766
+ font-weight: 600;
1767
+ color: var(--chat-text);
1768
+ }
1769
+
1770
+ .prose-chat :where(em):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1771
+ font-style: italic;
1772
+ color: var(--chat-text);
1773
+ }
1774
+
1775
+ .prose-chat :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1776
+ padding: 0.125rem 0.25rem;
1777
+ background-color: var(--chat-surface);
1778
+ border-radius: 0.25rem;
1779
+ font-size: 0.85rem;
1780
+ font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
1781
+ color: var(--chat-text);
1782
+ }
1783
+
1784
+ .prose-chat :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *))::before {
1785
+ content: none;
1786
+ }
1787
+
1788
+ .prose-chat :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *))::after {
1789
+ content: none;
1790
+ }
1791
+
1792
+ .prose-chat :where(pre):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1793
+ margin-top: 0.75rem !important;
1794
+ margin-bottom: 0.75rem !important;
1795
+ background-color: var(--chat-surface);
1796
+ border: 1px solid var(--chat-border);
1797
+ border-radius: 0.375rem;
1798
+ padding: 0.75rem;
1799
+ font-size: 0.85rem;
1800
+ line-height: 1.45;
1801
+ white-space: pre;
1802
+ overflow-x: auto;
1803
+ }
1804
+
1805
+ .prose-chat :where(pre code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1806
+ padding: 0;
1807
+ background-color: transparent;
1808
+ border-radius: 0;
1809
+ font-size: inherit;
1810
+ white-space: pre;
1811
+ display: block;
1812
+ }
1813
+
1814
+ .prose-chat :where(blockquote):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1815
+ margin-top: 0.75rem !important;
1816
+ margin-bottom: 0.75rem !important;
1817
+ border-left-width: 0.25rem;
1818
+ border-left-color: var(--chat-divider);
1819
+ padding: 0 0.75rem;
1820
+ font-style: italic;
1821
+ color: var(--chat-muted);
1822
+ }
1823
+
1824
+ .prose-chat :where(a):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1825
+ color: var(--chat-accent);
1826
+ text-decoration: none !important;
1827
+ }
1828
+
1829
+ .prose-chat :where(a):not(:where([class~="not-prose"],[class~="not-prose"] *)):hover {
1830
+ color: color-mix(in srgb, var(--chat-accent) 80%, transparent);
1831
+ }
1832
+
1833
+ /* 覆盖 Streamdown 添加的 underline class */
1834
+ .prose-chat a.underline {
1835
+ text-decoration: none !important;
1836
+ }
1837
+
1838
+ .prose-chat :where(hr):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1839
+ margin-top: 1rem !important;
1840
+ margin-bottom: 1rem !important;
1841
+ border-color: var(--chat-divider);
1842
+ height: 0.125rem;
1843
+ }
1844
+
1845
+ .prose-chat :where(table):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1846
+ margin-top: 0 !important;
1847
+ margin-bottom: 0.75rem !important;
1848
+ border-collapse: collapse;
1849
+ }
1850
+
1851
+ .prose-chat :where(th):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1852
+ border: 1px solid var(--chat-divider);
1853
+ background-color: var(--chat-card);
1854
+ padding: 0.25rem 0.5rem;
1855
+ font-weight: 600;
1856
+ }
1857
+
1858
+ .prose-chat :where(td):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1859
+ border: 1px solid var(--chat-divider);
1860
+ padding: 0.25rem 0.5rem;
1861
+ }
1862
+
1863
+ .prose-chat :where(img):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1864
+ border-radius: 0.5rem;
1865
+ box-shadow: var(--chat-shadow-soft);
1866
+ max-width: 100%;
1867
+ }
1868
+
1869
+ .prose-chat :where(h1):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1870
+ font-size: 1.3rem;
1871
+ font-weight: 600;
1872
+ line-height: 1.3;
1873
+ margin-top: 1rem !important;
1874
+ margin-bottom: 0.75rem !important;
1875
+ }
1876
+
1877
+ .prose-chat :where(h2):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1878
+ font-size: 1.2rem;
1879
+ font-weight: 600;
1880
+ line-height: 1.3;
1881
+ margin-top: 1rem !important;
1882
+ margin-bottom: 0.75rem !important;
1883
+ }
1884
+
1885
+ .prose-chat :where(h3):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1886
+ font-size: 1.1rem;
1887
+ font-weight: 600;
1888
+ line-height: 1.3;
1889
+ margin-top: 1rem !important;
1890
+ margin-bottom: 0.5rem !important;
1891
+ }
1892
+
1893
+ .prose-chat :where(h4):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1894
+ font-size: 1rem;
1895
+ font-weight: 600;
1896
+ line-height: 1.3;
1897
+ margin-top: 0.75rem !important;
1898
+ margin-bottom: 0.5rem !important;
1899
+ }
1900
+
1901
+ .prose-chat :where(h5):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1902
+ font-size: 0.9rem;
1903
+ font-weight: 600;
1904
+ line-height: 1.3;
1905
+ margin-top: 0.75rem !important;
1906
+ margin-bottom: 0.5rem !important;
1907
+ }
1908
+
1909
+ .prose-chat :where(h6):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1910
+ font-size: 0.85rem;
1911
+ font-weight: 600;
1912
+ line-height: 1.3;
1913
+ margin-top: 0.75rem !important;
1914
+ margin-bottom: 0.5rem !important;
1915
+ color: var(--chat-muted);
1916
+ }
1917
+
1918
+ .collapse {
1919
+ visibility: collapse;
1920
+ }
1921
+
1922
+ .absolute {
1923
+ position: absolute;
1924
+ }
1925
+
1926
+ .relative {
1927
+ position: relative;
1928
+ }
1929
+
1930
+ .right-2 {
1931
+ right: 0.5rem;
1932
+ }
1933
+
1934
+ .m-0 {
1935
+ margin: 0px;
1936
+ }
1937
+
1938
+ .m-2 {
1939
+ margin: 0.5rem;
1940
+ }
1941
+
1942
+ .mx-auto {
1943
+ margin-left: auto;
1944
+ margin-right: auto;
1945
+ }
1946
+
1947
+ .mb-2 {
1948
+ margin-bottom: 0.5rem;
1949
+ }
1950
+
1951
+ .mb-3 {
1952
+ margin-bottom: 0.75rem;
1953
+ }
1954
+
1955
+ .mb-4 {
1956
+ margin-bottom: 1rem;
1957
+ }
1958
+
1959
+ .ml-0\\.5 {
1960
+ margin-left: 0.125rem;
1961
+ }
1962
+
1963
+ .ml-1 {
1964
+ margin-left: 0.25rem;
1965
+ }
1966
+
1967
+ .ml-2 {
1968
+ margin-left: 0.5rem;
1969
+ }
1970
+
1971
+ .mt-1 {
1972
+ margin-top: 0.25rem;
1973
+ }
1974
+
1975
+ .mt-2 {
1976
+ margin-top: 0.5rem;
1977
+ }
1978
+
1979
+ .mt-3 {
1980
+ margin-top: 0.75rem;
1981
+ }
1982
+
1983
+ .block {
1984
+ display: block;
1985
+ }
1986
+
1987
+ .inline-block {
1988
+ display: inline-block;
1989
+ }
1990
+
1991
+ .inline {
1992
+ display: inline;
1993
+ }
1994
+
1995
+ .flex {
1996
+ display: flex;
1997
+ }
1998
+
1999
+ .inline-flex {
2000
+ display: inline-flex;
2001
+ }
2002
+
2003
+ .hidden {
2004
+ display: none;
2005
+ }
2006
+
2007
+ .size-1\\.5 {
2008
+ width: 0.375rem;
2009
+ height: 0.375rem;
2010
+ }
2011
+
2012
+ .size-3\\.5 {
2013
+ width: 0.875rem;
2014
+ height: 0.875rem;
2015
+ }
2016
+
2017
+ .size-4 {
2018
+ width: 1rem;
2019
+ height: 1rem;
2020
+ }
2021
+
2022
+ .h-1\\.5 {
2023
+ height: 0.375rem;
2024
+ }
2025
+
2026
+ .h-10 {
2027
+ height: 2.5rem;
2028
+ }
2029
+
2030
+ .h-2 {
2031
+ height: 0.5rem;
2032
+ }
2033
+
2034
+ .h-2\\.5 {
2035
+ height: 0.625rem;
2036
+ }
2037
+
2038
+ .h-28 {
2039
+ height: 7rem;
2040
+ }
2041
+
2042
+ .h-3 {
2043
+ height: 0.75rem;
2044
+ }
2045
+
2046
+ .h-\\[7px\\] {
2047
+ height: 7px;
2048
+ }
2049
+
2050
+ .h-full {
2051
+ height: 100%;
2052
+ }
2053
+
2054
+ .max-h-24 {
2055
+ max-height: 6rem;
2056
+ }
2057
+
2058
+ .max-h-60 {
2059
+ max-height: 15rem;
2060
+ }
2061
+
2062
+ .max-h-80 {
2063
+ max-height: 20rem;
2064
+ }
2065
+
2066
+ .min-h-0 {
2067
+ min-height: 0px;
2068
+ }
2069
+
2070
+ .min-h-\\[1\\.5rem\\] {
2071
+ min-height: 1.5rem;
2072
+ }
2073
+
2074
+ .w-1\\.5 {
2075
+ width: 0.375rem;
2076
+ }
2077
+
2078
+ .w-2 {
2079
+ width: 0.5rem;
2080
+ }
2081
+
2082
+ .w-2\\.5 {
2083
+ width: 0.625rem;
2084
+ }
2085
+
2086
+ .w-3 {
2087
+ width: 0.75rem;
2088
+ }
2089
+
2090
+ .w-\\[7px\\] {
2091
+ width: 7px;
2092
+ }
2093
+
2094
+ .w-full {
2095
+ width: 100%;
2096
+ }
2097
+
2098
+ .min-w-0 {
2099
+ min-width: 0px;
2100
+ }
2101
+
2102
+ .max-w-3xl {
2103
+ max-width: 48rem;
2104
+ }
2105
+
2106
+ .max-w-\\[80\\%\\] {
2107
+ max-width: 80%;
2108
+ }
2109
+
2110
+ .max-w-full {
2111
+ max-width: 100%;
2112
+ }
2113
+
2114
+ .max-w-none {
2115
+ max-width: none;
2116
+ }
2117
+
2118
+ .flex-1 {
2119
+ flex: 1 1 0%;
2120
+ }
2121
+
2122
+ .flex-shrink-0 {
2123
+ flex-shrink: 0;
2124
+ }
2125
+
2126
+ .shrink-0 {
2127
+ flex-shrink: 0;
2128
+ }
2129
+
2130
+ .rotate-90 {
2131
+ --tw-rotate: 90deg;
2132
+ transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
2133
+ }
2134
+
2135
+ .transform {
2136
+ transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
2137
+ }
2138
+
2139
+ @keyframes bounce {
2140
+ 0%, 100% {
2141
+ transform: translateY(-25%);
2142
+ animation-timing-function: cubic-bezier(0.8,0,1,1);
2143
+ }
2144
+
2145
+ 50% {
2146
+ transform: none;
2147
+ animation-timing-function: cubic-bezier(0,0,0.2,1);
2148
+ }
2149
+ }
2150
+
2151
+ .animate-bounce {
2152
+ animation: bounce 1s infinite;
2153
+ }
2154
+
2155
+ @keyframes pulse {
2156
+ 50% {
2157
+ opacity: .5;
2158
+ }
2159
+ }
2160
+
2161
+ .animate-pulse {
2162
+ animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
2163
+ }
2164
+
2165
+ @keyframes spin {
2166
+ to {
2167
+ transform: rotate(360deg);
2168
+ }
2169
+ }
2170
+
2171
+ .animate-spin {
2172
+ animation: spin 1s linear infinite;
2173
+ }
2174
+
2175
+ .cursor-default {
2176
+ cursor: default;
2177
+ }
2178
+
2179
+ .cursor-pointer {
2180
+ cursor: pointer;
2181
+ }
2182
+
2183
+ .resize {
2184
+ resize: both;
2185
+ }
2186
+
2187
+ .flex-col {
2188
+ flex-direction: column;
2189
+ }
2190
+
2191
+ .flex-col-reverse {
2192
+ flex-direction: column-reverse;
2193
+ }
2194
+
2195
+ .items-start {
2196
+ align-items: flex-start;
2197
+ }
2198
+
2199
+ .items-center {
2200
+ align-items: center;
2201
+ }
2202
+
2203
+ .items-baseline {
2204
+ align-items: baseline;
2205
+ }
2206
+
2207
+ .justify-start {
2208
+ justify-content: flex-start;
2209
+ }
2210
+
2211
+ .justify-end {
2212
+ justify-content: flex-end;
2213
+ }
2214
+
2215
+ .justify-center {
2216
+ justify-content: center;
2217
+ }
2218
+
2219
+ .justify-between {
2220
+ justify-content: space-between;
2221
+ }
2222
+
2223
+ .gap-0\\.5 {
2224
+ gap: 0.125rem;
2225
+ }
2226
+
2227
+ .gap-1 {
2228
+ gap: 0.25rem;
2229
+ }
2230
+
2231
+ .gap-1\\.5 {
2232
+ gap: 0.375rem;
2233
+ }
2234
+
2235
+ .gap-2 {
2236
+ gap: 0.5rem;
2237
+ }
2238
+
2239
+ .space-y-1 > :not([hidden]) ~ :not([hidden]) {
2240
+ --tw-space-y-reverse: 0;
2241
+ margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));
2242
+ margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));
2243
+ }
2244
+
2245
+ .space-y-1\\.5 > :not([hidden]) ~ :not([hidden]) {
2246
+ --tw-space-y-reverse: 0;
2247
+ margin-top: calc(0.375rem * calc(1 - var(--tw-space-y-reverse)));
2248
+ margin-bottom: calc(0.375rem * var(--tw-space-y-reverse));
2249
+ }
2250
+
2251
+ .space-y-2 > :not([hidden]) ~ :not([hidden]) {
2252
+ --tw-space-y-reverse: 0;
2253
+ margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));
2254
+ margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));
2255
+ }
2256
+
2257
+ .self-start {
2258
+ align-self: flex-start;
2259
+ }
2260
+
2261
+ .overflow-y-auto {
2262
+ overflow-y: auto;
2263
+ }
2264
+
2265
+ .truncate {
2266
+ overflow: hidden;
2267
+ text-overflow: ellipsis;
2268
+ white-space: nowrap;
2269
+ }
2270
+
2271
+ .whitespace-nowrap {
2272
+ white-space: nowrap;
2273
+ }
2274
+
2275
+ .whitespace-pre-wrap {
2276
+ white-space: pre-wrap;
2277
+ }
2278
+
2279
+ .break-words {
2280
+ overflow-wrap: break-word;
2281
+ }
2282
+
2283
+ .break-all {
2284
+ word-break: break-all;
2285
+ }
2286
+
2287
+ .rounded {
2288
+ border-radius: 0.25rem;
2289
+ }
2290
+
2291
+ .rounded-2xl {
2292
+ border-radius: 1rem;
2293
+ }
2294
+
2295
+ .rounded-full {
2296
+ border-radius: 9999px;
2297
+ }
2298
+
2299
+ .rounded-lg {
2300
+ border-radius: 0.5rem;
2301
+ }
2302
+
2303
+ .rounded-xl {
2304
+ border-radius: 0.75rem;
2305
+ }
2306
+
2307
+ .border {
2308
+ border-width: 1px;
2309
+ }
2310
+
2311
+ .border-l {
2312
+ border-left-width: 1px;
2313
+ }
2314
+
2315
+ .border-t {
2316
+ border-top-width: 1px;
2317
+ }
2318
+
2319
+ .border-\\[var\\(--chat-border\\)\\] {
2320
+ border-color: var(--chat-border);
2321
+ }
2322
+
2323
+ .border-amber-500\\/30 {
2324
+ border-color: rgb(245 158 11 / 0.3);
2325
+ }
2326
+
2327
+ .border-blue-200 {
2328
+ --tw-border-opacity: 1;
2329
+ border-color: rgb(191 219 254 / var(--tw-border-opacity, 1));
2330
+ }
2331
+
2332
+ .border-blue-500\\/30 {
2333
+ border-color: rgb(59 130 246 / 0.3);
2334
+ }
2335
+
2336
+ .border-blue-500\\/50 {
2337
+ border-color: rgb(59 130 246 / 0.5);
2338
+ }
2339
+
2340
+ .border-red-500\\/30 {
2341
+ border-color: rgb(239 68 68 / 0.3);
2342
+ }
2343
+
2344
+ .border-transparent {
2345
+ border-color: transparent;
2346
+ }
2347
+
2348
+ .border-yellow-200 {
2349
+ --tw-border-opacity: 1;
2350
+ border-color: rgb(254 240 138 / var(--tw-border-opacity, 1));
2351
+ }
2352
+
2353
+ .border-zinc-200 {
2354
+ --tw-border-opacity: 1;
2355
+ border-color: rgb(228 228 231 / var(--tw-border-opacity, 1));
2356
+ }
2357
+
2358
+ .border-zinc-300 {
2359
+ --tw-border-opacity: 1;
2360
+ border-color: rgb(212 212 216 / var(--tw-border-opacity, 1));
2361
+ }
2362
+
2363
+ .border-zinc-600 {
2364
+ --tw-border-opacity: 1;
2365
+ border-color: rgb(82 82 91 / var(--tw-border-opacity, 1));
2366
+ }
2367
+
2368
+ .border-zinc-700 {
2369
+ --tw-border-opacity: 1;
2370
+ border-color: rgb(63 63 70 / var(--tw-border-opacity, 1));
2371
+ }
2372
+
2373
+ .bg-\\[var\\(--chat-accent\\)\\] {
2374
+ background-color: var(--chat-accent);
2375
+ }
2376
+
2377
+ .bg-\\[var\\(--chat-bg\\)\\] {
2378
+ background-color: var(--chat-bg);
2379
+ }
2380
+
2381
+ .bg-amber-100 {
2382
+ --tw-bg-opacity: 1;
2383
+ background-color: rgb(254 243 199 / var(--tw-bg-opacity, 1));
2384
+ }
2385
+
2386
+ .bg-amber-500\\/10 {
2387
+ background-color: rgb(245 158 11 / 0.1);
2388
+ }
2389
+
2390
+ .bg-amber-900\\/60 {
2391
+ background-color: rgb(120 53 15 / 0.6);
2392
+ }
2393
+
2394
+ .bg-blue-50 {
2395
+ --tw-bg-opacity: 1;
2396
+ background-color: rgb(239 246 255 / var(--tw-bg-opacity, 1));
2397
+ }
2398
+
2399
+ .bg-blue-500 {
2400
+ --tw-bg-opacity: 1;
2401
+ background-color: rgb(59 130 246 / var(--tw-bg-opacity, 1));
2402
+ }
2403
+
2404
+ .bg-blue-500\\/10 {
2405
+ background-color: rgb(59 130 246 / 0.1);
2406
+ }
2407
+
2408
+ .bg-blue-500\\/20 {
2409
+ background-color: rgb(59 130 246 / 0.2);
2410
+ }
2411
+
2412
+ .bg-green-500 {
2413
+ --tw-bg-opacity: 1;
2414
+ background-color: rgb(34 197 94 / var(--tw-bg-opacity, 1));
2415
+ }
2416
+
2417
+ .bg-red-100 {
2418
+ --tw-bg-opacity: 1;
2419
+ background-color: rgb(254 226 226 / var(--tw-bg-opacity, 1));
2420
+ }
2421
+
2422
+ .bg-red-50 {
2423
+ --tw-bg-opacity: 1;
2424
+ background-color: rgb(254 242 242 / var(--tw-bg-opacity, 1));
2425
+ }
2426
+
2427
+ .bg-red-500 {
2428
+ --tw-bg-opacity: 1;
2429
+ background-color: rgb(239 68 68 / var(--tw-bg-opacity, 1));
2430
+ }
2431
+
2432
+ .bg-red-500\\/10 {
2433
+ background-color: rgb(239 68 68 / 0.1);
2434
+ }
2435
+
2436
+ .bg-red-900\\/60 {
2437
+ background-color: rgb(127 29 29 / 0.6);
2438
+ }
2439
+
2440
+ .bg-white {
2441
+ --tw-bg-opacity: 1;
2442
+ background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
2443
+ }
2444
+
2445
+ .bg-yellow-50 {
2446
+ --tw-bg-opacity: 1;
2447
+ background-color: rgb(254 252 232 / var(--tw-bg-opacity, 1));
2448
+ }
2449
+
2450
+ .bg-zinc-100 {
2451
+ --tw-bg-opacity: 1;
2452
+ background-color: rgb(244 244 245 / var(--tw-bg-opacity, 1));
2453
+ }
2454
+
2455
+ .bg-zinc-300 {
2456
+ --tw-bg-opacity: 1;
2457
+ background-color: rgb(212 212 216 / var(--tw-bg-opacity, 1));
2458
+ }
2459
+
2460
+ .bg-zinc-50 {
2461
+ --tw-bg-opacity: 1;
2462
+ background-color: rgb(250 250 250 / var(--tw-bg-opacity, 1));
2463
+ }
2464
+
2465
+ .bg-zinc-600 {
2466
+ --tw-bg-opacity: 1;
2467
+ background-color: rgb(82 82 91 / var(--tw-bg-opacity, 1));
2468
+ }
2469
+
2470
+ .bg-zinc-800 {
2471
+ --tw-bg-opacity: 1;
2472
+ background-color: rgb(39 39 42 / var(--tw-bg-opacity, 1));
2473
+ }
2474
+
2475
+ .bg-zinc-900 {
2476
+ --tw-bg-opacity: 1;
2477
+ background-color: rgb(24 24 27 / var(--tw-bg-opacity, 1));
2478
+ }
2479
+
2480
+ .p-0\\.5 {
2481
+ padding: 0.125rem;
2482
+ }
2483
+
2484
+ .p-1 {
2485
+ padding: 0.25rem;
2486
+ }
2487
+
2488
+ .p-1\\.5 {
2489
+ padding: 0.375rem;
2490
+ }
2491
+
2492
+ .p-2 {
2493
+ padding: 0.5rem;
2494
+ }
2495
+
2496
+ .p-3 {
2497
+ padding: 0.75rem;
2498
+ }
2499
+
2500
+ .p-4 {
2501
+ padding: 1rem;
2502
+ }
2503
+
2504
+ .px-2 {
2505
+ padding-left: 0.5rem;
2506
+ padding-right: 0.5rem;
2507
+ }
2508
+
2509
+ .px-3 {
2510
+ padding-left: 0.75rem;
2511
+ padding-right: 0.75rem;
2512
+ }
2513
+
2514
+ .px-4 {
2515
+ padding-left: 1rem;
2516
+ padding-right: 1rem;
2517
+ }
2518
+
2519
+ .py-0\\.5 {
2520
+ padding-top: 0.125rem;
2521
+ padding-bottom: 0.125rem;
2522
+ }
2523
+
2524
+ .py-1 {
2525
+ padding-top: 0.25rem;
2526
+ padding-bottom: 0.25rem;
2527
+ }
2528
+
2529
+ .py-1\\.5 {
2530
+ padding-top: 0.375rem;
2531
+ padding-bottom: 0.375rem;
2532
+ }
2533
+
2534
+ .py-2 {
2535
+ padding-top: 0.5rem;
2536
+ padding-bottom: 0.5rem;
2537
+ }
2538
+
2539
+ .py-3 {
2540
+ padding-top: 0.75rem;
2541
+ padding-bottom: 0.75rem;
2542
+ }
2543
+
2544
+ .py-6 {
2545
+ padding-top: 1.5rem;
2546
+ padding-bottom: 1.5rem;
2547
+ }
2548
+
2549
+ .pb-1\\.5 {
2550
+ padding-bottom: 0.375rem;
2551
+ }
2552
+
2553
+ .pb-3 {
2554
+ padding-bottom: 0.75rem;
2555
+ }
2556
+
2557
+ .pb-4 {
2558
+ padding-bottom: 1rem;
2559
+ }
2560
+
2561
+ .pb-6 {
2562
+ padding-bottom: 1.5rem;
2563
+ }
2564
+
2565
+ .pl-2 {
2566
+ padding-left: 0.5rem;
2567
+ }
2568
+
2569
+ .pl-5 {
2570
+ padding-left: 1.25rem;
2571
+ }
2572
+
2573
+ .pt-0\\.5 {
2574
+ padding-top: 0.125rem;
2575
+ }
2576
+
2577
+ .pt-1 {
2578
+ padding-top: 0.25rem;
2579
+ }
2580
+
2581
+ .pt-2 {
2582
+ padding-top: 0.5rem;
2583
+ }
2584
+
2585
+ .pt-3 {
2586
+ padding-top: 0.75rem;
2587
+ }
2588
+
2589
+ .pt-4 {
2590
+ padding-top: 1rem;
2591
+ }
2592
+
2593
+ .pt-8 {
2594
+ padding-top: 2rem;
2595
+ }
2596
+
2597
+ .text-left {
2598
+ text-align: left;
2599
+ }
2600
+
2601
+ .text-center {
2602
+ text-align: center;
2603
+ }
2604
+
2605
+ .font-mono {
2606
+ font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
2607
+ }
2608
+
2609
+ .font-sans {
2610
+ font-family: system-ui, -apple-system, "PingFang SC", "Microsoft YaHei UI", "Microsoft YaHei", ui-sans-serif, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
2611
+ }
2612
+
2613
+ .text-\\[10px\\] {
2614
+ font-size: 10px;
2615
+ }
2616
+
2617
+ .text-lg {
2618
+ font-size: 1.125rem;
2619
+ line-height: 1.75rem;
2620
+ }
2621
+
2622
+ .text-sm {
2623
+ font-size: 0.875rem;
2624
+ line-height: 1.25rem;
2625
+ }
2626
+
2627
+ .text-xs {
2628
+ font-size: 0.75rem;
2629
+ line-height: 1rem;
2630
+ }
2631
+
2632
+ .font-medium {
2633
+ font-weight: 500;
2634
+ }
2635
+
2636
+ .capitalize {
2637
+ text-transform: capitalize;
2638
+ }
2639
+
2640
+ .italic {
2641
+ font-style: italic;
2642
+ }
2643
+
2644
+ .leading-normal {
2645
+ line-height: 1.5;
2646
+ }
2647
+
2648
+ .text-\\[var\\(--chat-accent\\)\\] {
2649
+ color: var(--chat-accent);
2650
+ }
2651
+
2652
+ .text-\\[var\\(--chat-muted\\)\\] {
2653
+ color: var(--chat-muted);
2654
+ }
2655
+
2656
+ .text-\\[var\\(--chat-text\\)\\] {
2657
+ color: var(--chat-text);
2658
+ }
2659
+
2660
+ .text-amber-200 {
2661
+ --tw-text-opacity: 1;
2662
+ color: rgb(253 230 138 / var(--tw-text-opacity, 1));
2663
+ }
2664
+
2665
+ .text-amber-500 {
2666
+ --tw-text-opacity: 1;
2667
+ color: rgb(245 158 11 / var(--tw-text-opacity, 1));
2668
+ }
2669
+
2670
+ .text-amber-500\\/70 {
2671
+ color: rgb(245 158 11 / 0.7);
2672
+ }
2673
+
2674
+ .text-amber-700 {
2675
+ --tw-text-opacity: 1;
2676
+ color: rgb(180 83 9 / var(--tw-text-opacity, 1));
2677
+ }
2678
+
2679
+ .text-amber-800 {
2680
+ --tw-text-opacity: 1;
2681
+ color: rgb(146 64 14 / var(--tw-text-opacity, 1));
2682
+ }
2683
+
2684
+ .text-blue-700 {
2685
+ --tw-text-opacity: 1;
2686
+ color: rgb(29 78 216 / var(--tw-text-opacity, 1));
2687
+ }
2688
+
2689
+ .text-green-600\\/60 {
2690
+ color: rgb(22 163 74 / 0.6);
2691
+ }
2692
+
2693
+ .text-red-200 {
2694
+ --tw-text-opacity: 1;
2695
+ color: rgb(254 202 202 / var(--tw-text-opacity, 1));
2696
+ }
2697
+
2698
+ .text-red-500 {
2699
+ --tw-text-opacity: 1;
2700
+ color: rgb(239 68 68 / var(--tw-text-opacity, 1));
2701
+ }
2702
+
2703
+ .text-red-700 {
2704
+ --tw-text-opacity: 1;
2705
+ color: rgb(185 28 28 / var(--tw-text-opacity, 1));
2706
+ }
2707
+
2708
+ .text-red-800 {
2709
+ --tw-text-opacity: 1;
2710
+ color: rgb(153 27 27 / var(--tw-text-opacity, 1));
2711
+ }
2712
+
2713
+ .text-white {
2714
+ --tw-text-opacity: 1;
2715
+ color: rgb(255 255 255 / var(--tw-text-opacity, 1));
2716
+ }
2717
+
2718
+ .text-zinc-100 {
2719
+ --tw-text-opacity: 1;
2720
+ color: rgb(244 244 245 / var(--tw-text-opacity, 1));
2721
+ }
2722
+
2723
+ .text-zinc-400 {
2724
+ --tw-text-opacity: 1;
2725
+ color: rgb(161 161 170 / var(--tw-text-opacity, 1));
2726
+ }
2727
+
2728
+ .text-zinc-500 {
2729
+ --tw-text-opacity: 1;
2730
+ color: rgb(113 113 122 / var(--tw-text-opacity, 1));
2731
+ }
2732
+
2733
+ .text-zinc-900 {
2734
+ --tw-text-opacity: 1;
2735
+ color: rgb(24 24 27 / var(--tw-text-opacity, 1));
2736
+ }
2737
+
2738
+ .underline {
2739
+ text-decoration-line: underline;
2740
+ }
2741
+
2742
+ .opacity-50 {
2743
+ opacity: 0.5;
2744
+ }
2745
+
2746
+ .opacity-60 {
2747
+ opacity: 0.6;
2748
+ }
2749
+
2750
+ .opacity-90 {
2751
+ opacity: 0.9;
2752
+ }
2753
+
2754
+ .shadow-sm {
2755
+ --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
2756
+ --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
2757
+ box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
2758
+ }
2759
+
2760
+ .outline {
2761
+ outline-style: solid;
2762
+ }
2763
+
2764
+ .filter {
2765
+ filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
2766
+ }
2767
+
2768
+ .transition {
2769
+ transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
2770
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
2771
+ transition-duration: 150ms;
2772
+ }
2773
+
2774
+ .transition-all {
2775
+ transition-property: all;
2776
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
2777
+ transition-duration: 150ms;
2778
+ }
2779
+
2780
+ .transition-colors {
2781
+ transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
2782
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
2783
+ transition-duration: 150ms;
2784
+ }
2785
+
2786
+ .transition-opacity {
2787
+ transition-property: opacity;
2788
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
2789
+ transition-duration: 150ms;
2790
+ }
2791
+
2792
+ .transition-transform {
2793
+ transition-property: transform;
2794
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
2795
+ transition-duration: 150ms;
2796
+ }
2797
+
2798
+ .ease-in-out {
2799
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
2800
+ }
2801
+
2802
+ .dark\\:prose-invert:is(.dark *) {
2803
+ --tw-prose-body: var(--color-text);
2804
+ --tw-prose-headings: var(--color-text);
2805
+ --tw-prose-lead: var(--tw-prose-invert-lead);
2806
+ --tw-prose-links: var(--color-accent);
2807
+ --tw-prose-bold: var(--color-text);
2808
+ --tw-prose-counters: var(--tw-prose-invert-counters);
2809
+ --tw-prose-bullets: var(--color-muted);
2810
+ --tw-prose-hr: var(--color-divider);
2811
+ --tw-prose-quotes: var(--color-muted);
2812
+ --tw-prose-quote-borders: var(--tw-prose-invert-quote-borders);
2813
+ --tw-prose-captions: var(--tw-prose-invert-captions);
2814
+ --tw-prose-kbd: var(--tw-prose-invert-kbd);
2815
+ --tw-prose-kbd-shadows: var(--tw-prose-invert-kbd-shadows);
2816
+ --tw-prose-code: var(--color-accent);
2817
+ --tw-prose-pre-code: var(--tw-prose-invert-pre-code);
2818
+ --tw-prose-pre-bg: var(--tw-prose-invert-pre-bg);
2819
+ --tw-prose-th-borders: var(--color-divider);
2820
+ --tw-prose-td-borders: var(--color-divider);
2821
+ }
2822
+
2823
+ .hover\\:border-zinc-300:hover {
2824
+ --tw-border-opacity: 1;
2825
+ border-color: rgb(212 212 216 / var(--tw-border-opacity, 1));
2826
+ }
2827
+
2828
+ .hover\\:bg-\\[var\\(--chat-surface\\)\\]:hover {
2829
+ background-color: var(--chat-surface);
2830
+ }
2831
+
2832
+ .hover\\:bg-blue-600:hover {
2833
+ --tw-bg-opacity: 1;
2834
+ background-color: rgb(37 99 235 / var(--tw-bg-opacity, 1));
2835
+ }
2836
+
2837
+ .hover\\:bg-green-600:hover {
2838
+ --tw-bg-opacity: 1;
2839
+ background-color: rgb(22 163 74 / var(--tw-bg-opacity, 1));
2840
+ }
2841
+
2842
+ .hover\\:bg-red-500\\/10:hover {
2843
+ background-color: rgb(239 68 68 / 0.1);
2844
+ }
2845
+
2846
+ .hover\\:bg-red-600:hover {
2847
+ --tw-bg-opacity: 1;
2848
+ background-color: rgb(220 38 38 / var(--tw-bg-opacity, 1));
2849
+ }
2850
+
2851
+ .hover\\:bg-zinc-100:hover {
2852
+ --tw-bg-opacity: 1;
2853
+ background-color: rgb(244 244 245 / var(--tw-bg-opacity, 1));
2854
+ }
2855
+
2856
+ .hover\\:bg-zinc-700:hover {
2857
+ --tw-bg-opacity: 1;
2858
+ background-color: rgb(63 63 70 / var(--tw-bg-opacity, 1));
2859
+ }
2860
+
2861
+ .hover\\:bg-zinc-800:hover {
2862
+ --tw-bg-opacity: 1;
2863
+ background-color: rgb(39 39 42 / var(--tw-bg-opacity, 1));
2864
+ }
2865
+
2866
+ .hover\\:text-\\[var\\(--chat-accent\\)\\]:hover {
2867
+ color: var(--chat-accent);
2868
+ }
2869
+
2870
+ .hover\\:text-\\[var\\(--chat-text\\)\\]:hover {
2871
+ color: var(--chat-text);
2872
+ }
2873
+
2874
+ .hover\\:text-red-500:hover {
2875
+ --tw-text-opacity: 1;
2876
+ color: rgb(239 68 68 / var(--tw-text-opacity, 1));
2877
+ }
2878
+
2879
+ .hover\\:opacity-100:hover {
2880
+ opacity: 1;
2881
+ }
2882
+
2883
+ .hover\\:opacity-80:hover {
2884
+ opacity: 0.8;
2885
+ }
2886
+
2887
+ .focus\\:border-blue-500:focus {
2888
+ --tw-border-opacity: 1;
2889
+ border-color: rgb(59 130 246 / var(--tw-border-opacity, 1));
2890
+ }
2891
+
2892
+ .focus\\:outline-none:focus {
2893
+ outline: 2px solid transparent;
2894
+ outline-offset: 2px;
2895
+ }
2896
+
2897
+ .focus\\:ring-2:focus {
2898
+ --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
2899
+ --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
2900
+ box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
2901
+ }
2902
+
2903
+ .focus\\:ring-blue-500\\/40:focus {
2904
+ --tw-ring-color: rgb(59 130 246 / 0.4);
2905
+ }
2906
+
2907
+ .disabled\\:cursor-not-allowed:disabled {
2908
+ cursor: not-allowed;
2909
+ }
2910
+
2911
+ .disabled\\:opacity-40:disabled {
2912
+ opacity: 0.4;
2913
+ }
2914
+
2915
+ .prose-h1\\:mb-0\\.5 :is(:where(h1):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
2916
+ margin-bottom: 0.125rem;
2917
+ }
2918
+
2919
+ .prose-h1\\:mt-1 :is(:where(h1):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
2920
+ margin-top: 0.25rem;
2921
+ }
2922
+
2923
+ .prose-h1\\:border-b :is(:where(h1):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
2924
+ border-bottom-width: 1px;
2925
+ }
2926
+
2927
+ .prose-h1\\:pb-0\\.5 :is(:where(h1):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
2928
+ padding-bottom: 0.125rem;
2929
+ }
2930
+
2931
+ .prose-h1\\:text-sm :is(:where(h1):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
2932
+ font-size: 0.875rem;
2933
+ line-height: 1.25rem;
2934
+ }
2935
+
2936
+ .prose-h1\\:font-bold :is(:where(h1):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
2937
+ font-weight: 700;
2938
+ }
2939
+
2940
+ .prose-h1\\:leading-tight :is(:where(h1):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
2941
+ line-height: 1.25;
2942
+ }
2943
+
2944
+ .prose-h2\\:mb-0\\.5 :is(:where(h2):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
2945
+ margin-bottom: 0.125rem;
2946
+ }
2947
+
2948
+ .prose-h2\\:mt-1 :is(:where(h2):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
2949
+ margin-top: 0.25rem;
2950
+ }
2951
+
2952
+ .prose-h2\\:text-sm :is(:where(h2):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
2953
+ font-size: 0.875rem;
2954
+ line-height: 1.25rem;
2955
+ }
2956
+
2957
+ .prose-h2\\:font-semibold :is(:where(h2):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
2958
+ font-weight: 600;
2959
+ }
2960
+
2961
+ .prose-h2\\:leading-tight :is(:where(h2):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
2962
+ line-height: 1.25;
2963
+ }
2964
+
2965
+ .prose-h3\\:mb-0 :is(:where(h3):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
2966
+ margin-bottom: 0px;
2967
+ }
2968
+
2969
+ .prose-h3\\:mt-0\\.5 :is(:where(h3):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
2970
+ margin-top: 0.125rem;
2971
+ }
2972
+
2973
+ .prose-h3\\:text-sm :is(:where(h3):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
2974
+ font-size: 0.875rem;
2975
+ line-height: 1.25rem;
2976
+ }
2977
+
2978
+ .prose-h3\\:font-medium :is(:where(h3):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
2979
+ font-weight: 500;
2980
+ }
2981
+
2982
+ .prose-h3\\:leading-tight :is(:where(h3):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
2983
+ line-height: 1.25;
2984
+ }
2985
+
2986
+ .prose-h4\\:mb-0 :is(:where(h4):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
2987
+ margin-bottom: 0px;
2988
+ }
2989
+
2990
+ .prose-h4\\:mt-0\\.5 :is(:where(h4):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
2991
+ margin-top: 0.125rem;
2992
+ }
2993
+
2994
+ .prose-h4\\:text-xs :is(:where(h4):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
2995
+ font-size: 0.75rem;
2996
+ line-height: 1rem;
2997
+ }
2998
+
2999
+ .prose-h4\\:font-medium :is(:where(h4):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
3000
+ font-weight: 500;
3001
+ }
3002
+
3003
+ .prose-h5\\:mb-0 :is(:where(h5):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
3004
+ margin-bottom: 0px;
3005
+ }
3006
+
3007
+ .prose-h5\\:mt-0\\.5 :is(:where(h5):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
3008
+ margin-top: 0.125rem;
3009
+ }
3010
+
3011
+ .prose-h5\\:text-xs :is(:where(h5):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
3012
+ font-size: 0.75rem;
3013
+ line-height: 1rem;
3014
+ }
3015
+
3016
+ .prose-h5\\:font-medium :is(:where(h5):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
3017
+ font-weight: 500;
3018
+ }
3019
+
3020
+ .prose-h6\\:mb-0 :is(:where(h6):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
3021
+ margin-bottom: 0px;
3022
+ }
3023
+
3024
+ .prose-h6\\:mt-0\\.5 :is(:where(h6):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
3025
+ margin-top: 0.125rem;
3026
+ }
3027
+
3028
+ .prose-h6\\:text-xs :is(:where(h6):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
3029
+ font-size: 0.75rem;
3030
+ line-height: 1rem;
3031
+ }
3032
+
3033
+ .prose-h6\\:font-medium :is(:where(h6):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
3034
+ font-weight: 500;
3035
+ }
3036
+
3037
+ .prose-p\\:my-0 :is(:where(p):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
3038
+ margin-top: 0px;
3039
+ margin-bottom: 0px;
3040
+ }
3041
+
3042
+ .prose-p\\:leading-snug :is(:where(p):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
3043
+ line-height: 1.375;
3044
+ }
3045
+
3046
+ .prose-a\\:underline :is(:where(a):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
3047
+ text-decoration-line: underline;
3048
+ }
3049
+
3050
+ .prose-blockquote\\:my-0\\.5 :is(:where(blockquote):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
3051
+ margin-top: 0.125rem;
3052
+ margin-bottom: 0.125rem;
3053
+ }
3054
+
3055
+ .prose-blockquote\\:border-l-4 :is(:where(blockquote):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
3056
+ border-left-width: 4px;
3057
+ }
3058
+
3059
+ .prose-blockquote\\:pl-3 :is(:where(blockquote):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
3060
+ padding-left: 0.75rem;
3061
+ }
3062
+
3063
+ .prose-blockquote\\:italic :is(:where(blockquote):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
3064
+ font-style: italic;
3065
+ }
3066
+
3067
+ .prose-strong\\:font-semibold :is(:where(strong):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
3068
+ font-weight: 600;
3069
+ }
3070
+
3071
+ .prose-code\\:rounded :is(:where(code):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
3072
+ border-radius: 0.25rem;
3073
+ }
3074
+
3075
+ .prose-code\\:px-1 :is(:where(code):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
3076
+ padding-left: 0.25rem;
3077
+ padding-right: 0.25rem;
3078
+ }
3079
+
3080
+ .prose-code\\:py-0\\.5 :is(:where(code):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
3081
+ padding-top: 0.125rem;
3082
+ padding-bottom: 0.125rem;
3083
+ }
3084
+
3085
+ .prose-code\\:font-mono :is(:where(code):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
3086
+ font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
3087
+ }
3088
+
3089
+ .prose-code\\:text-xs :is(:where(code):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
3090
+ font-size: 0.75rem;
3091
+ line-height: 1rem;
3092
+ }
3093
+
3094
+ .prose-code\\:before\\:content-none :is(:where(code):not(:where([class~="not-prose"],[class~="not-prose"] *)))::before {
3095
+ --tw-content: none;
3096
+ content: var(--tw-content);
3097
+ }
3098
+
3099
+ .prose-code\\:after\\:content-none :is(:where(code):not(:where([class~="not-prose"],[class~="not-prose"] *)))::after {
3100
+ --tw-content: none;
3101
+ content: var(--tw-content);
3102
+ }
3103
+
3104
+ .prose-pre\\:my-0\\.5 :is(:where(pre):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
3105
+ margin-top: 0.125rem;
3106
+ margin-bottom: 0.125rem;
3107
+ }
3108
+
3109
+ .prose-pre\\:rounded-lg :is(:where(pre):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
3110
+ border-radius: 0.5rem;
3111
+ }
3112
+
3113
+ .prose-pre\\:border :is(:where(pre):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
3114
+ border-width: 1px;
3115
+ }
3116
+
3117
+ .prose-pre\\:p-2 :is(:where(pre):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
3118
+ padding: 0.5rem;
3119
+ }
3120
+
3121
+ .prose-ol\\:my-0\\.5 :is(:where(ol):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
3122
+ margin-top: 0.125rem;
3123
+ margin-bottom: 0.125rem;
3124
+ }
3125
+
3126
+ .prose-ol\\:list-decimal :is(:where(ol):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
3127
+ list-style-type: decimal;
3128
+ }
3129
+
3130
+ .prose-ol\\:pl-5 :is(:where(ol):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
3131
+ padding-left: 1.25rem;
3132
+ }
3133
+
3134
+ .prose-ul\\:my-0\\.5 :is(:where(ul):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
3135
+ margin-top: 0.125rem;
3136
+ margin-bottom: 0.125rem;
3137
+ }
3138
+
3139
+ .prose-ul\\:list-disc :is(:where(ul):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
3140
+ list-style-type: disc;
3141
+ }
3142
+
3143
+ .prose-ul\\:pl-5 :is(:where(ul):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
3144
+ padding-left: 1.25rem;
3145
+ }
3146
+
3147
+ .prose-li\\:my-0 :is(:where(li):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
3148
+ margin-top: 0px;
3149
+ margin-bottom: 0px;
3150
+ }
3151
+
3152
+ .prose-li\\:leading-normal :is(:where(li):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
3153
+ line-height: 1.5;
3154
+ }
3155
+
3156
+ .prose-table\\:my-0\\.5 :is(:where(table):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
3157
+ margin-top: 0.125rem;
3158
+ margin-bottom: 0.125rem;
3159
+ }
3160
+
3161
+ .prose-table\\:border-collapse :is(:where(table):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
3162
+ border-collapse: collapse;
3163
+ }
3164
+
3165
+ .prose-th\\:border :is(:where(th):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
3166
+ border-width: 1px;
3167
+ }
3168
+
3169
+ .prose-th\\:px-2 :is(:where(th):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
3170
+ padding-left: 0.5rem;
3171
+ padding-right: 0.5rem;
3172
+ }
3173
+
3174
+ .prose-th\\:py-0\\.5 :is(:where(th):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
3175
+ padding-top: 0.125rem;
3176
+ padding-bottom: 0.125rem;
3177
+ }
3178
+
3179
+ .prose-th\\:font-semibold :is(:where(th):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
3180
+ font-weight: 600;
3181
+ }
3182
+
3183
+ .prose-td\\:border :is(:where(td):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
3184
+ border-width: 1px;
3185
+ }
3186
+
3187
+ .prose-td\\:px-2 :is(:where(td):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
3188
+ padding-left: 0.5rem;
3189
+ padding-right: 0.5rem;
3190
+ }
3191
+
3192
+ .prose-td\\:py-0\\.5 :is(:where(td):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
3193
+ padding-top: 0.125rem;
3194
+ padding-bottom: 0.125rem;
3195
+ }
3196
+
3197
+ .prose-img\\:rounded-lg :is(:where(img):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
3198
+ border-radius: 0.5rem;
3199
+ }
3200
+
3201
+ .prose-hr\\:my-0\\.5 :is(:where(hr):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
3202
+ margin-top: 0.125rem;
3203
+ margin-bottom: 0.125rem;
3204
+ }
3205
+
3206
+ .dark\\:border-yellow-800:is(.dark *) {
3207
+ --tw-border-opacity: 1;
3208
+ border-color: rgb(133 77 14 / var(--tw-border-opacity, 1));
3209
+ }
3210
+
3211
+ .dark\\:bg-red-900\\/20:is(.dark *) {
3212
+ background-color: rgb(127 29 29 / 0.2);
3213
+ }
3214
+
3215
+ .dark\\:bg-yellow-900\\/20:is(.dark *) {
3216
+ background-color: rgb(113 63 18 / 0.2);
3217
+ }
3218
+
3219
+ .dark\\:text-amber-300:is(.dark *) {
3220
+ --tw-text-opacity: 1;
3221
+ color: rgb(252 211 77 / var(--tw-text-opacity, 1));
3222
+ }
3223
+
3224
+ .dark\\:text-blue-300:is(.dark *) {
3225
+ --tw-text-opacity: 1;
3226
+ color: rgb(147 197 253 / var(--tw-text-opacity, 1));
3227
+ }
3228
+
3229
+ .dark\\:text-green-400\\/60:is(.dark *) {
3230
+ color: rgb(74 222 128 / 0.6);
3231
+ }
3232
+
3233
+ .dark\\:text-red-300:is(.dark *) {
3234
+ --tw-text-opacity: 1;
3235
+ color: rgb(252 165 165 / var(--tw-text-opacity, 1));
3236
+ }
3237
+ `;