@mdaemon/html-editor 1.6.0 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/styles.css CHANGED
@@ -1,1836 +1,2 @@
1
- @charset "UTF-8";
2
- /**
3
- * MDHTMLEditor Styles
4
- * TinyMCE oxide-compatible theme
5
- */
6
- .md-editor {
7
- font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
8
- font-size: 14px;
9
- border: 1px solid #ccc;
10
- border-radius: 3px;
11
- display: flex;
12
- flex-direction: column;
13
- background: #fff;
14
- position: relative;
15
- overflow: hidden;
16
- }
17
- .md-editor *,
18
- .md-editor *::before,
19
- .md-editor *::after {
20
- box-sizing: border-box;
21
- }
22
- .md-editor button {
23
- appearance: none;
24
- font: inherit;
25
- color: inherit;
26
- background: transparent;
27
- border: none;
28
- padding: 0;
29
- margin: 0;
30
- cursor: pointer;
31
- }
32
- .md-editor input, .md-editor select, .md-editor textarea {
33
- font: inherit;
34
- color: inherit;
35
- }
36
- .md-editor.md-editor-fullscreen {
37
- position: fixed;
38
- top: 0;
39
- left: 0;
40
- right: 0;
41
- bottom: 0;
42
- z-index: 9999;
43
- border-radius: 0;
44
- height: 100vh !important;
45
- }
46
- .md-editor.md-editor-readonly .md-editor-body {
47
- cursor: default;
48
- }
49
- .md-editor .md-anchor {
50
- display: inline-block;
51
- width: 12px;
52
- height: 14px;
53
- vertical-align: middle;
54
- background: rgba(34, 113, 178, 0.12);
55
- border-bottom: 1px dotted #2271b2;
56
- cursor: default;
57
- }
58
- .md-editor .md-anchor::after {
59
- content: "⚓";
60
- font-size: 11px;
61
- opacity: 0.6;
62
- }
63
-
64
- .md-toolbar {
65
- display: flex;
66
- align-items: flex-start;
67
- padding: 4px;
68
- background: #f0f0f0;
69
- --md-toolbar-bg: #f0f0f0;
70
- border-bottom: 1px solid #ccc;
71
- gap: 2px;
72
- min-height: 39px;
73
- }
74
- .md-toolbar.md-toolbar-sticky {
75
- position: sticky;
76
- top: 0;
77
- z-index: 10;
78
- }
79
- .md-toolbar.md-toolbar-disabled {
80
- pointer-events: none;
81
- opacity: 0.5;
82
- }
83
-
84
- .md-toolbar-group {
85
- display: flex;
86
- align-items: center;
87
- gap: 2px;
88
- }
89
-
90
- .md-toolbar-separator {
91
- width: 1px;
92
- height: 24px;
93
- background: #ccc;
94
- margin: 0 4px;
95
- }
96
-
97
- .md-toolbar-buttons {
98
- display: flex;
99
- flex-wrap: wrap;
100
- align-items: center;
101
- gap: 2px;
102
- flex: 1;
103
- min-width: 0;
104
- max-height: 31px;
105
- overflow: hidden;
106
- transition: max-height 0.2s ease;
107
- }
108
- .md-toolbar-buttons.md-toolbar-expanded {
109
- max-height: none;
110
- }
111
-
112
- .md-toolbar-toggle-btn {
113
- flex-shrink: 0;
114
- align-self: flex-start;
115
- }
116
-
117
- .md-toolbar-btn {
118
- display: flex;
119
- align-items: center;
120
- justify-content: center;
121
- width: 34px;
122
- height: 34px;
123
- padding: 0;
124
- border: none;
125
- border-radius: 3px;
126
- background: transparent;
127
- cursor: pointer;
128
- color: #222;
129
- font-size: 14px;
130
- transition: background-color 0.1s, color 0.1s;
131
- }
132
- .md-toolbar-btn:hover {
133
- background: #e0e0e0;
134
- }
135
- .md-toolbar-btn:active {
136
- background: #d0d0d0;
137
- }
138
- .md-toolbar-btn.md-toolbar-btn-active {
139
- background: #2271b2;
140
- color: #fff;
141
- }
142
- .md-toolbar-btn:disabled {
143
- opacity: 0.5;
144
- cursor: not-allowed;
145
- }
146
-
147
- .md-toolbar-btn-icon {
148
- font-family: inherit;
149
- font-style: normal;
150
- font-weight: bold;
151
- display: flex;
152
- align-items: center;
153
- justify-content: center;
154
- }
155
- .md-toolbar-btn-icon svg {
156
- display: block;
157
- width: 16px;
158
- height: 16px;
159
- }
160
- .md-toolbar-btn-icon.md-icon-bold {
161
- font-weight: bold;
162
- }
163
- .md-toolbar-btn-icon.md-icon-italic {
164
- font-style: italic;
165
- }
166
- .md-toolbar-btn-icon.md-icon-underline {
167
- text-decoration: underline;
168
- }
169
- .md-toolbar-btn-icon.md-icon-strikethrough {
170
- text-decoration: line-through;
171
- }
172
-
173
- .md-toolbar-btn-icon-img {
174
- width: 16px;
175
- height: 16px;
176
- }
177
-
178
- .md-toolbar-dropdown {
179
- position: relative;
180
- }
181
-
182
- .md-toolbar-dropdown-btn {
183
- display: flex;
184
- align-items: center;
185
- gap: 4px;
186
- height: 34px;
187
- padding: 0 8px;
188
- border: none;
189
- border-radius: 3px;
190
- background: transparent;
191
- cursor: pointer;
192
- font-size: 12px;
193
- color: #222;
194
- white-space: nowrap;
195
- }
196
- .md-toolbar-dropdown-btn:hover {
197
- background: #e0e0e0;
198
- }
199
-
200
- .md-toolbar-dropdown-arrow {
201
- display: inline-flex;
202
- align-items: center;
203
- opacity: 0.6;
204
- }
205
- .md-toolbar-dropdown-arrow svg {
206
- display: block;
207
- width: 8px;
208
- height: 8px;
209
- }
210
-
211
- .md-toolbar-dropdown-menu,
212
- .md-toolbar-colorpicker-menu {
213
- font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
214
- font-size: 14px;
215
- box-sizing: border-box;
216
- }
217
- .md-toolbar-dropdown-menu *, .md-toolbar-dropdown-menu *::before, .md-toolbar-dropdown-menu *::after,
218
- .md-toolbar-colorpicker-menu *,
219
- .md-toolbar-colorpicker-menu *::before,
220
- .md-toolbar-colorpicker-menu *::after {
221
- box-sizing: border-box;
222
- }
223
- .md-toolbar-dropdown-menu button:not([class]),
224
- .md-toolbar-colorpicker-menu button:not([class]) {
225
- appearance: none;
226
- font: inherit;
227
- color: inherit;
228
- background: transparent;
229
- border: none;
230
- padding: 0;
231
- margin: 0;
232
- cursor: pointer;
233
- }
234
-
235
- .md-toolbar-dropdown-menu {
236
- position: fixed;
237
- min-width: 150px;
238
- max-height: 300px;
239
- overflow-y: auto;
240
- background: #fff;
241
- border: 1px solid #ccc;
242
- border-radius: 3px;
243
- box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
244
- z-index: 1000;
245
- }
246
-
247
- .md-toolbar-dropdown-item {
248
- display: block;
249
- margin-top: 2px;
250
- margin-bottom: 2px;
251
- width: 100%;
252
- padding: 8px 12px;
253
- border: none;
254
- background: transparent;
255
- text-align: left;
256
- cursor: pointer;
257
- font-size: 13px;
258
- color: #222;
259
- }
260
- .md-toolbar-dropdown-item:hover {
261
- background: #f0f0f0;
262
- }
263
- .md-toolbar-dropdown-item.md-toolbar-dropdown-item-selected {
264
- background: #2271b2;
265
- color: #fff;
266
- }
267
-
268
- .md-toolbar-dropdown-item-desc {
269
- display: block;
270
- font-size: 11px;
271
- color: #666;
272
- margin-top: 2px;
273
- }
274
-
275
- .md-toolbar-colorpicker {
276
- position: relative;
277
- }
278
-
279
- .md-toolbar-colorpicker-btn {
280
- display: flex;
281
- align-items: center;
282
- flex-direction: column;
283
- justify-content: center;
284
- padding: 4px 8px;
285
- }
286
-
287
- .md-toolbar-colorpicker-icon {
288
- font-weight: bold;
289
- font-size: 14px;
290
- line-height: 1;
291
- }
292
-
293
- .md-toolbar-colorpicker-preview {
294
- width: 16px;
295
- height: 3px;
296
- margin-top: 2px;
297
- border-radius: 1px;
298
- }
299
-
300
- .md-toolbar-colorpicker-menu {
301
- position: fixed;
302
- padding: 8px;
303
- background: #fff;
304
- border: 1px solid #ccc;
305
- border-radius: 3px;
306
- box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
307
- z-index: 1000;
308
- padding: 6px;
309
- }
310
-
311
- .md-toolbar-colorpicker-grid {
312
- display: grid;
313
- grid-template-columns: repeat(10, 1fr);
314
- gap: 2px;
315
- margin-bottom: 8px;
316
- }
317
-
318
- .md-toolbar-colorpicker-swatch {
319
- width: 20px;
320
- height: 20px;
321
- border: 1px solid #ccc;
322
- border-radius: 2px;
323
- cursor: pointer;
324
- padding: 0;
325
- }
326
- .md-toolbar-colorpicker-swatch:hover {
327
- transform: scale(1.1);
328
- box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.1);
329
- }
330
-
331
- .md-toolbar-colorpicker-custom {
332
- display: flex;
333
- align-items: center;
334
- gap: 8px;
335
- padding-top: 8px;
336
- border-top: 1px solid #ccc;
337
- }
338
-
339
- .md-toolbar-colorpicker-input {
340
- width: 40px;
341
- height: 30px;
342
- padding: 0;
343
- border: 1px solid #ccc;
344
- border-radius: 3px;
345
- cursor: pointer;
346
- }
347
-
348
- .md-toolbar-colorpicker-apply {
349
- padding: 4px 12px;
350
- border: none;
351
- border-radius: 3px;
352
- background: #2271b2;
353
- color: #fff;
354
- cursor: pointer;
355
- font-size: 12px;
356
- }
357
- .md-toolbar-colorpicker-apply:hover {
358
- background: #2761c4;
359
- }
360
-
361
- .md-editor-content {
362
- flex: 1;
363
- min-height: 0;
364
- overflow: auto;
365
- background: #fff;
366
- display: flex;
367
- flex-direction: column;
368
- }
369
-
370
- .md-editor-body {
371
- flex: 1;
372
- padding: 16px;
373
- min-height: 200px;
374
- outline: none;
375
- }
376
- .md-editor-body p {
377
- margin: 0 0 1em;
378
- }
379
- .md-editor-body h1, .md-editor-body h2, .md-editor-body h3, .md-editor-body h4, .md-editor-body h5, .md-editor-body h6 {
380
- margin: 0 0 0.5em;
381
- font-weight: bold;
382
- }
383
- .md-editor-body h1 {
384
- font-size: 2em;
385
- }
386
- .md-editor-body h2 {
387
- font-size: 1.5em;
388
- }
389
- .md-editor-body h3 {
390
- font-size: 1.17em;
391
- }
392
- .md-editor-body h4 {
393
- font-size: 1em;
394
- }
395
- .md-editor-body h5 {
396
- font-size: 0.83em;
397
- }
398
- .md-editor-body h6 {
399
- font-size: 0.67em;
400
- }
401
- .md-editor-body ul, .md-editor-body ol {
402
- margin: 0 0 1em;
403
- padding-left: 2em;
404
- }
405
- .md-editor-body ul {
406
- list-style-type: disc;
407
- }
408
- .md-editor-body ol {
409
- list-style-type: decimal;
410
- }
411
- .md-editor-body ul ul {
412
- list-style-type: circle;
413
- }
414
- .md-editor-body ul ul ul {
415
- list-style-type: square;
416
- }
417
- .md-editor-body ol ol {
418
- list-style-type: lower-alpha;
419
- }
420
- .md-editor-body ol ol ol {
421
- list-style-type: lower-roman;
422
- }
423
- .md-editor-body blockquote {
424
- margin: 0 0 1em;
425
- padding-left: 1em;
426
- border-left: 3px solid #ccc;
427
- color: #666;
428
- }
429
- .md-editor-body hr {
430
- border: none;
431
- border-top: 1px solid #ccc;
432
- margin: 1em 0;
433
- }
434
- .md-editor-body b, .md-editor-body strong {
435
- font-weight: bold;
436
- }
437
- .md-editor-body i, .md-editor-body em {
438
- font-style: italic;
439
- }
440
- .md-editor-body small {
441
- font-size: 80%;
442
- }
443
- .md-editor-body sub {
444
- vertical-align: sub;
445
- font-size: smaller;
446
- }
447
- .md-editor-body sup {
448
- vertical-align: super;
449
- font-size: smaller;
450
- }
451
- .md-editor-body pre {
452
- background: #f5f5f5;
453
- padding: 12px;
454
- border-radius: 3px;
455
- overflow-x: auto;
456
- font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;
457
- font-size: 13px;
458
- }
459
- .md-editor-body code {
460
- background: #f0f0f0;
461
- padding: 2px 4px;
462
- border-radius: 2px;
463
- font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;
464
- font-size: 13px;
465
- }
466
- .md-editor-body a {
467
- color: #2271b2;
468
- text-decoration: underline;
469
- }
470
- .md-editor-body img {
471
- max-width: 100%;
472
- height: auto;
473
- display: inline-block;
474
- }
475
- .md-editor-body table {
476
- border-collapse: collapse;
477
- width: 100%;
478
- margin: 1em 0;
479
- }
480
- .md-editor-body table td, .md-editor-body table th {
481
- border: 1px solid #ccc;
482
- padding: 8px;
483
- text-align: left;
484
- }
485
- .md-editor-body table th {
486
- background: #f5f5f5;
487
- font-weight: bold;
488
- }
489
-
490
- .md-dialog-overlay {
491
- position: fixed;
492
- top: 0;
493
- left: 0;
494
- right: 0;
495
- bottom: 0;
496
- background: rgba(0, 0, 0, 0.5);
497
- display: flex;
498
- align-items: center;
499
- justify-content: center;
500
- z-index: 10000;
501
- }
502
- .md-dialog-overlay.md-dialog-overlay-transparent {
503
- background: transparent;
504
- pointer-events: none;
505
- }
506
- .md-dialog-overlay.md-dialog-overlay-transparent .md-dialog {
507
- pointer-events: all;
508
- }
509
-
510
- .md-dialog {
511
- background: #fff;
512
- border-radius: 3px;
513
- box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
514
- max-width: 90vw;
515
- max-height: 90vh;
516
- overflow: hidden;
517
- display: flex;
518
- flex-direction: column;
519
- }
520
-
521
- .md-dialog-header {
522
- display: flex;
523
- align-items: center;
524
- justify-content: space-between;
525
- padding: 12px 16px;
526
- background: #f5f5f5;
527
- border-bottom: 1px solid #ccc;
528
- }
529
- .md-dialog-header h3 {
530
- margin: 0;
531
- font-size: 16px;
532
- font-weight: 600;
533
- }
534
-
535
- .md-dialog-close {
536
- width: 28px;
537
- height: 28px;
538
- border: none;
539
- background: transparent;
540
- cursor: pointer;
541
- font-size: 20px;
542
- color: #666;
543
- border-radius: 50%;
544
- display: flex;
545
- align-items: center;
546
- justify-content: center;
547
- }
548
- .md-dialog-close:hover {
549
- background: #e0e0e0;
550
- }
551
-
552
- .md-dialog-body {
553
- padding: 16px;
554
- overflow: auto;
555
- }
556
-
557
- .md-charmap-dialog {
558
- width: 450px;
559
- }
560
-
561
- .md-charmap-tabs {
562
- display: flex;
563
- gap: 4px;
564
- margin-bottom: 12px;
565
- flex-wrap: wrap;
566
- }
567
-
568
- .md-charmap-tab {
569
- padding: 6px 12px;
570
- border: 1px solid #ccc;
571
- border-radius: 3px;
572
- background: transparent;
573
- cursor: pointer;
574
- font-size: 12px;
575
- }
576
- .md-charmap-tab:hover {
577
- background: #f0f0f0;
578
- }
579
- .md-charmap-tab.md-charmap-tab-active {
580
- background: #2271b2;
581
- color: #fff;
582
- border-color: #2271b2;
583
- }
584
-
585
- .md-charmap-grid {
586
- display: grid;
587
- grid-template-columns: repeat(10, 1fr);
588
- gap: 4px;
589
- }
590
-
591
- .md-charmap-char {
592
- width: 32px;
593
- height: 32px;
594
- display: flex;
595
- align-items: center;
596
- justify-content: center;
597
- border: 1px solid #ccc;
598
- border-radius: 3px;
599
- background: transparent;
600
- cursor: pointer;
601
- font-size: 18px;
602
- }
603
- .md-charmap-char:hover {
604
- background: #f0f0f0;
605
- border-color: #2271b2;
606
- }
607
-
608
- .md-charmap-preview {
609
- display: flex;
610
- align-items: center;
611
- gap: 12px;
612
- margin-top: 12px;
613
- padding-top: 12px;
614
- border-top: 1px solid #ccc;
615
- min-height: 40px;
616
- }
617
-
618
- .md-charmap-preview-char {
619
- font-size: 32px;
620
- width: 40px;
621
- text-align: center;
622
- }
623
-
624
- .md-charmap-preview-name {
625
- color: #666;
626
- font-size: 13px;
627
- }
628
-
629
- .md-emoji-dialog {
630
- width: 400px;
631
- }
632
-
633
- .md-emoji-tabs {
634
- display: flex;
635
- gap: 4px;
636
- margin-bottom: 8px;
637
- }
638
-
639
- .md-emoji-tab {
640
- width: 32px;
641
- height: 32px;
642
- display: flex;
643
- align-items: center;
644
- justify-content: center;
645
- border: 1px solid transparent;
646
- border-radius: 3px;
647
- background: transparent;
648
- cursor: pointer;
649
- font-size: 18px;
650
- }
651
- .md-emoji-tab:hover {
652
- background: #f0f0f0;
653
- }
654
- .md-emoji-tab.md-emoji-tab-active {
655
- border-color: #2271b2;
656
- background: rgba(34, 113, 178, 0.1);
657
- }
658
-
659
- .md-emoji-search {
660
- margin-bottom: 12px;
661
- }
662
-
663
- .md-emoji-search-input {
664
- width: 100%;
665
- padding: 8px 12px;
666
- border: 1px solid #ccc;
667
- border-radius: 3px;
668
- font-size: 14px;
669
- }
670
- .md-emoji-search-input:focus {
671
- outline: none;
672
- border-color: #2271b2;
673
- }
674
-
675
- .md-emoji-grid {
676
- display: grid;
677
- grid-template-columns: repeat(10, 1fr);
678
- gap: 2px;
679
- max-height: 250px;
680
- overflow-y: auto;
681
- }
682
-
683
- .md-emoji-btn {
684
- width: 32px;
685
- height: 32px;
686
- display: flex;
687
- align-items: center;
688
- justify-content: center;
689
- border: none;
690
- border-radius: 3px;
691
- background: transparent;
692
- cursor: pointer;
693
- font-size: 20px;
694
- }
695
- .md-emoji-btn:hover {
696
- background: #f0f0f0;
697
- }
698
-
699
- .md-searchreplace-dialog {
700
- width: 400px;
701
- position: absolute;
702
- top: 60px;
703
- right: 20px;
704
- }
705
-
706
- .md-searchreplace-row {
707
- display: flex;
708
- align-items: center;
709
- gap: 8px;
710
- margin-bottom: 12px;
711
- }
712
- .md-searchreplace-row label {
713
- width: 60px;
714
- font-size: 13px;
715
- color: #666;
716
- }
717
-
718
- .md-searchreplace-input {
719
- flex: 1;
720
- padding: 8px 12px;
721
- border: 1px solid #ccc;
722
- border-radius: 3px;
723
- font-size: 14px;
724
- }
725
- .md-searchreplace-input:focus {
726
- outline: none;
727
- border-color: #2271b2;
728
- }
729
-
730
- .md-searchreplace-count {
731
- font-size: 12px;
732
- color: #666;
733
- min-width: 60px;
734
- }
735
-
736
- .md-searchreplace-options {
737
- display: flex;
738
- gap: 16px;
739
- margin-bottom: 12px;
740
- }
741
-
742
- .md-searchreplace-option {
743
- display: flex;
744
- align-items: center;
745
- gap: 4px;
746
- font-size: 13px;
747
- cursor: pointer;
748
- }
749
- .md-searchreplace-option input {
750
- cursor: pointer;
751
- }
752
-
753
- .md-searchreplace-buttons {
754
- display: flex;
755
- gap: 8px;
756
- justify-content: flex-end;
757
- }
758
-
759
- .md-btn {
760
- padding: 6px 12px;
761
- border: 1px solid #ccc;
762
- border-radius: 3px;
763
- background: #fff;
764
- cursor: pointer;
765
- font-size: 13px;
766
- }
767
- .md-btn:hover {
768
- background: #f0f0f0;
769
- }
770
- .md-btn.md-btn-primary {
771
- background: #2271b2;
772
- border-color: #2271b2;
773
- color: #fff;
774
- }
775
- .md-btn.md-btn-primary:hover {
776
- background: #2761c4;
777
- }
778
-
779
- .md-image-upload-dialog {
780
- width: 500px;
781
- }
782
-
783
- .md-image-upload-tabs {
784
- display: flex;
785
- gap: 4px;
786
- margin-bottom: 16px;
787
- border-bottom: 1px solid #ccc;
788
- padding-bottom: 8px;
789
- }
790
-
791
- .md-image-upload-tab {
792
- padding: 6px 16px;
793
- border: 1px solid #ccc;
794
- border-radius: 3px;
795
- background: transparent;
796
- cursor: pointer;
797
- font-size: 13px;
798
- }
799
- .md-image-upload-tab:hover {
800
- background: #f0f0f0;
801
- }
802
- .md-image-upload-tab.md-image-upload-tab-active {
803
- background: #2271b2;
804
- color: #fff;
805
- border-color: #2271b2;
806
- }
807
-
808
- .md-image-upload-dropzone {
809
- display: flex;
810
- flex-direction: column;
811
- align-items: center;
812
- justify-content: center;
813
- gap: 12px;
814
- padding: 32px 16px;
815
- border: 2px dashed #ccc;
816
- border-radius: 3px;
817
- cursor: pointer;
818
- transition: border-color 0.2s, background-color 0.2s;
819
- text-align: center;
820
- }
821
- .md-image-upload-dropzone:hover {
822
- border-color: #2271b2;
823
- background: rgba(34, 113, 178, 0.03);
824
- }
825
- .md-image-upload-dropzone.md-image-upload-dropzone-active {
826
- border-color: #2271b2;
827
- background: rgba(34, 113, 178, 0.08);
828
- }
829
-
830
- .md-image-upload-dropzone-icon {
831
- color: #999;
832
- }
833
-
834
- .md-image-upload-dropzone-text {
835
- color: #666;
836
- font-size: 13px;
837
- max-width: 100%;
838
- overflow: hidden;
839
- text-overflow: ellipsis;
840
- white-space: nowrap;
841
- }
842
-
843
- .md-image-upload-row {
844
- display: flex;
845
- align-items: center;
846
- gap: 8px;
847
- margin-bottom: 12px;
848
- }
849
- .md-image-upload-row label {
850
- width: 60px;
851
- font-size: 13px;
852
- color: #666;
853
- flex-shrink: 0;
854
- }
855
- .md-image-upload-row input {
856
- flex: 1;
857
- padding: 8px 12px;
858
- border: 1px solid #ccc;
859
- border-radius: 3px;
860
- font-size: 14px;
861
- }
862
- .md-image-upload-row input:focus {
863
- outline: none;
864
- border-color: #2271b2;
865
- }
866
-
867
- .md-image-upload-preview {
868
- margin-bottom: 12px;
869
- text-align: center;
870
- border: 1px solid #ccc;
871
- border-radius: 3px;
872
- padding: 8px;
873
- background: #fafafa;
874
- }
875
- .md-image-upload-preview img {
876
- max-width: 100%;
877
- max-height: 200px;
878
- object-fit: contain;
879
- }
880
-
881
- .md-image-upload-error {
882
- color: #cc0000;
883
- font-size: 13px;
884
- margin-bottom: 12px;
885
- padding: 8px;
886
- background: #fff0f0;
887
- border: 1px solid #ffcccc;
888
- border-radius: 3px;
889
- }
890
-
891
- .md-image-upload-progress {
892
- display: flex;
893
- align-items: center;
894
- gap: 12px;
895
- margin-bottom: 12px;
896
- }
897
-
898
- .md-image-upload-progress-bar {
899
- flex: 1;
900
- height: 8px;
901
- background: #e0e0e0;
902
- border-radius: 4px;
903
- overflow: hidden;
904
- }
905
-
906
- .md-image-upload-progress-fill {
907
- height: 100%;
908
- width: 0%;
909
- background: #2271b2;
910
- border-radius: 4px;
911
- transition: width 0.2s;
912
- }
913
-
914
- .md-image-upload-progress-text {
915
- font-size: 12px;
916
- color: #666;
917
- min-width: 40px;
918
- }
919
-
920
- .md-image-upload-footer {
921
- display: flex;
922
- justify-content: flex-end;
923
- gap: 8px;
924
- margin-top: 16px;
925
- }
926
-
927
- .md-source-editor-dialog {
928
- width: 700px;
929
- }
930
-
931
- .md-source-editor-textarea {
932
- width: 100%;
933
- height: 400px;
934
- padding: 10px;
935
- border: 1px solid #ccc;
936
- border-radius: 3px;
937
- font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;
938
- font-size: 13px;
939
- line-height: 1.5;
940
- resize: vertical;
941
- white-space: pre-wrap;
942
- tab-size: 2;
943
- box-sizing: border-box;
944
- color: #222;
945
- background: #fff;
946
- }
947
- .md-source-editor-textarea:focus {
948
- outline: none;
949
- border-color: #2271b2;
950
- }
951
-
952
- .md-source-editor-footer {
953
- display: flex;
954
- justify-content: flex-end;
955
- gap: 8px;
956
- margin-top: 16px;
957
- }
958
-
959
- .md-link-editor-dialog {
960
- width: 480px;
961
- }
962
-
963
- .md-link-editor-row {
964
- margin-bottom: 12px;
965
- }
966
- .md-link-editor-row label {
967
- display: block;
968
- font-size: 13px;
969
- margin-bottom: 4px;
970
- color: #555;
971
- }
972
-
973
- .md-link-editor-input,
974
- .md-link-editor-select {
975
- width: 100%;
976
- padding: 8px 10px;
977
- border: 1px solid #ccc;
978
- border-radius: 3px;
979
- font-size: 13px;
980
- box-sizing: border-box;
981
- color: #222;
982
- background: #fff;
983
- }
984
- .md-link-editor-input:focus,
985
- .md-link-editor-select:focus {
986
- outline: none;
987
- border-color: #2271b2;
988
- }
989
-
990
- .md-link-editor-select {
991
- appearance: auto;
992
- }
993
-
994
- .md-link-editor-footer {
995
- display: flex;
996
- justify-content: flex-end;
997
- gap: 8px;
998
- margin-top: 16px;
999
- }
1000
-
1001
- .md-editor-dragover .md-editor-content {
1002
- box-shadow: 0 0 10px 1px rgba(34, 113, 178, 0.5) inset;
1003
- }
1004
-
1005
- .md-editor-oxide-dark {
1006
- background: #222f3e;
1007
- border-color: #364049;
1008
- }
1009
- .md-editor-oxide-dark .md-toolbar {
1010
- background: #1a252f;
1011
- --md-toolbar-bg: #1a252f;
1012
- border-color: #364049;
1013
- }
1014
- .md-editor-oxide-dark .md-toolbar-btn {
1015
- color: #fff;
1016
- }
1017
- .md-editor-oxide-dark .md-toolbar-btn:hover {
1018
- background: #2d3e50;
1019
- }
1020
- .md-editor-oxide-dark .md-toolbar-btn.md-toolbar-btn-active {
1021
- background: #2271b2;
1022
- }
1023
- .md-editor-oxide-dark .md-toolbar-dropdown-btn {
1024
- color: #fff;
1025
- }
1026
- .md-editor-oxide-dark .md-toolbar-dropdown-btn:hover {
1027
- background: #2d3e50;
1028
- }
1029
- .md-editor-oxide-dark .md-toolbar-dropdown-menu {
1030
- background: #222f3e;
1031
- border-color: #364049;
1032
- }
1033
- .md-editor-oxide-dark .md-toolbar-dropdown-item {
1034
- color: #fff;
1035
- }
1036
- .md-editor-oxide-dark .md-toolbar-dropdown-item:hover {
1037
- background: #2d3e50;
1038
- }
1039
- .md-editor-oxide-dark .md-toolbar-colorpicker-menu {
1040
- background: #222f3e;
1041
- border-color: #364049;
1042
- }
1043
- .md-editor-oxide-dark .md-toolbar-colorpicker-custom {
1044
- border-color: #364049;
1045
- }
1046
- .md-editor-oxide-dark .md-toolbar-separator {
1047
- background: #364049;
1048
- }
1049
- .md-editor-oxide-dark .md-editor-content {
1050
- background: #222f3e;
1051
- }
1052
- .md-editor-oxide-dark .md-editor-body {
1053
- color: #fff;
1054
- }
1055
- .md-editor-oxide-dark .md-editor-body blockquote {
1056
- border-color: #364049;
1057
- color: #aaa;
1058
- }
1059
- .md-editor-oxide-dark .md-editor-body pre {
1060
- background: #1a252f;
1061
- }
1062
- .md-editor-oxide-dark .md-editor-body code {
1063
- background: #1a252f;
1064
- }
1065
- .md-editor-oxide-dark .md-editor-body table td, .md-editor-oxide-dark .md-editor-body table th {
1066
- border-color: #364049;
1067
- }
1068
- .md-editor-oxide-dark .md-editor-body table th {
1069
- background: #1a252f;
1070
- }
1071
- .md-editor-oxide-dark .md-image-upload-dropzone {
1072
- border-color: #364049;
1073
- }
1074
- .md-editor-oxide-dark .md-image-upload-dropzone:hover, .md-editor-oxide-dark .md-image-upload-dropzone.md-image-upload-dropzone-active {
1075
- border-color: #2271b2;
1076
- background: rgba(34, 113, 178, 0.1);
1077
- }
1078
- .md-editor-oxide-dark .md-image-upload-dropzone-icon {
1079
- color: #666;
1080
- }
1081
- .md-editor-oxide-dark .md-image-upload-dropzone-text {
1082
- color: #aaa;
1083
- }
1084
- .md-editor-oxide-dark .md-image-upload-preview {
1085
- background: #1a252f;
1086
- border-color: #364049;
1087
- }
1088
- .md-editor-oxide-dark .md-image-upload-error {
1089
- background: #3a1c1c;
1090
- border-color: #6b2c2c;
1091
- color: #ff8888;
1092
- }
1093
- .md-editor-oxide-dark .md-image-upload-progress-bar {
1094
- background: #364049;
1095
- }
1096
- .md-editor-oxide-dark .md-dialog {
1097
- background: #222f3e;
1098
- border-color: #364049;
1099
- color: #fff;
1100
- }
1101
- .md-editor-oxide-dark .md-dialog-header {
1102
- background: #1a252f;
1103
- border-color: #364049;
1104
- color: #fff;
1105
- }
1106
- .md-editor-oxide-dark .md-dialog-close {
1107
- color: #fff;
1108
- }
1109
- .md-editor-oxide-dark .md-dialog-close:hover {
1110
- background: #2d3e50;
1111
- }
1112
- .md-editor-oxide-dark .md-btn {
1113
- background: #1a252f;
1114
- border-color: #364049;
1115
- color: #fff;
1116
- }
1117
- .md-editor-oxide-dark .md-btn:hover {
1118
- background: #2d3e50;
1119
- }
1120
- .md-editor-oxide-dark .md-btn.md-btn-primary {
1121
- background: #2271b2;
1122
- border-color: #2271b2;
1123
- color: #fff;
1124
- }
1125
- .md-editor-oxide-dark .md-btn.md-btn-primary:hover {
1126
- background: #2761c4;
1127
- }
1128
- .md-editor-oxide-dark .md-source-editor-textarea {
1129
- background: #1a252f;
1130
- border-color: #364049;
1131
- color: #fff;
1132
- }
1133
- .md-editor-oxide-dark .md-source-editor-textarea:focus {
1134
- border-color: #2271b2;
1135
- }
1136
- .md-editor-oxide-dark .md-link-editor-input,
1137
- .md-editor-oxide-dark .md-link-editor-select {
1138
- background: #1a252f;
1139
- border-color: #364049;
1140
- color: #fff;
1141
- }
1142
- .md-editor-oxide-dark .md-link-editor-input:focus,
1143
- .md-editor-oxide-dark .md-link-editor-select:focus {
1144
- border-color: #2271b2;
1145
- }
1146
- .md-editor-oxide-dark .md-link-editor-row label {
1147
- color: #aaa;
1148
- }
1149
-
1150
- .md-editor-confab {
1151
- background: #fff;
1152
- border-color: var(--color-confab-gray-200, #e5e7eb);
1153
- border-radius: 6px;
1154
- }
1155
- .md-editor-confab .md-toolbar {
1156
- background: var(--color-confab-gray-50, #f9fafb);
1157
- --md-toolbar-bg: var(--color-confab-gray-50, #f9fafb);
1158
- border-color: var(--color-confab-gray-200, #e5e7eb);
1159
- }
1160
- .md-editor-confab .md-toolbar-btn {
1161
- color: var(--color-confab-gray-600, #4b5563);
1162
- border-radius: 6px;
1163
- }
1164
- .md-editor-confab .md-toolbar-btn:hover {
1165
- background: var(--color-confab-gray-100, #f3f4f6);
1166
- color: var(--color-confab-gray-900, #111827);
1167
- }
1168
- .md-editor-confab .md-toolbar-btn:active {
1169
- background: var(--color-confab-gray-200, #e5e7eb);
1170
- }
1171
- .md-editor-confab .md-toolbar-btn.md-toolbar-btn-active {
1172
- background: var(--theme-primary, #0066cc);
1173
- color: #fff;
1174
- }
1175
- .md-editor-confab .md-toolbar-btn:focus-visible {
1176
- outline: none;
1177
- box-shadow: 0 0 0 2px var(--color-confab-500, #0ea5e9);
1178
- }
1179
- .md-editor-confab .md-toolbar-dropdown-btn {
1180
- color: var(--color-confab-gray-600, #4b5563);
1181
- border-radius: 6px;
1182
- }
1183
- .md-editor-confab .md-toolbar-dropdown-btn:hover {
1184
- background: var(--color-confab-gray-100, #f3f4f6);
1185
- }
1186
- .md-editor-confab .md-toolbar-dropdown-menu {
1187
- background: #fff;
1188
- border-color: var(--color-confab-gray-200, #e5e7eb);
1189
- border-radius: 6px;
1190
- box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
1191
- }
1192
- .md-editor-confab .md-toolbar-dropdown-item {
1193
- color: var(--color-confab-gray-900, #111827);
1194
- }
1195
- .md-editor-confab .md-toolbar-dropdown-item:hover {
1196
- background: var(--color-confab-gray-50, #f9fafb);
1197
- }
1198
- .md-editor-confab .md-toolbar-dropdown-item.md-toolbar-dropdown-item-selected {
1199
- background: var(--theme-primary, #0066cc);
1200
- color: #fff;
1201
- }
1202
- .md-editor-confab .md-toolbar-separator {
1203
- background: var(--color-confab-gray-200, #e5e7eb);
1204
- }
1205
- .md-editor-confab .md-toolbar-colorpicker-menu {
1206
- background: #fff;
1207
- border-color: var(--color-confab-gray-200, #e5e7eb);
1208
- border-radius: 6px;
1209
- }
1210
- .md-editor-confab .md-toolbar-colorpicker-custom {
1211
- border-color: var(--color-confab-gray-200, #e5e7eb);
1212
- }
1213
- .md-editor-confab .md-editor-content {
1214
- background: #fff;
1215
- }
1216
- .md-editor-confab .md-editor-body {
1217
- color: var(--color-confab-gray-900, #111827);
1218
- }
1219
- .md-editor-confab .md-editor-body blockquote {
1220
- border-color: var(--color-confab-gray-200, #e5e7eb);
1221
- color: var(--color-confab-gray-500, #6b7280);
1222
- }
1223
- .md-editor-confab .md-editor-body pre {
1224
- background: var(--color-confab-gray-50, #f9fafb);
1225
- border-radius: 6px;
1226
- }
1227
- .md-editor-confab .md-editor-body code {
1228
- background: var(--color-confab-gray-100, #f3f4f6);
1229
- border-radius: 4px;
1230
- }
1231
- .md-editor-confab .md-editor-body table td, .md-editor-confab .md-editor-body table th {
1232
- border-color: var(--color-confab-gray-200, #e5e7eb);
1233
- }
1234
- .md-editor-confab .md-editor-body table th {
1235
- background: var(--color-confab-gray-50, #f9fafb);
1236
- }
1237
- .md-editor-confab .md-dialog {
1238
- border-color: var(--color-confab-gray-200, #e5e7eb);
1239
- border-radius: 8px;
1240
- box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
1241
- }
1242
- .md-editor-confab .md-dialog-header {
1243
- border-color: var(--color-confab-gray-200, #e5e7eb);
1244
- }
1245
- .md-editor-confab .md-btn {
1246
- border-color: var(--color-confab-gray-300, #d1d5db);
1247
- border-radius: 6px;
1248
- }
1249
- .md-editor-confab .md-btn:hover {
1250
- background: var(--color-confab-gray-100, #f3f4f6);
1251
- }
1252
- .md-editor-confab .md-btn.md-btn-primary {
1253
- background: var(--theme-primary, #0066cc);
1254
- border-color: var(--theme-primary, #0066cc);
1255
- color: #fff;
1256
- }
1257
- .md-editor-confab .md-btn.md-btn-primary:hover {
1258
- background: var(--theme-primary-hover, #0055b3);
1259
- }
1260
- .md-editor-confab .md-searchreplace-input,
1261
- .md-editor-confab .md-image-upload-row input {
1262
- border-color: var(--color-confab-gray-300, #d1d5db);
1263
- border-radius: 6px;
1264
- }
1265
- .md-editor-confab .md-searchreplace-input:focus,
1266
- .md-editor-confab .md-image-upload-row input:focus {
1267
- border-color: var(--theme-primary, #0066cc);
1268
- box-shadow: 0 0 0 2px rgba(0, 102, 204, 0.15);
1269
- }
1270
- .md-editor-confab .md-image-upload-tab {
1271
- border-color: var(--color-confab-gray-300, #d1d5db);
1272
- border-radius: 6px;
1273
- }
1274
- .md-editor-confab .md-image-upload-tab:hover {
1275
- background: var(--color-confab-gray-100, #f3f4f6);
1276
- }
1277
- .md-editor-confab .md-image-upload-tab.md-image-upload-tab-active {
1278
- background: var(--theme-primary, #0066cc);
1279
- border-color: var(--theme-primary, #0066cc);
1280
- color: #fff;
1281
- }
1282
- .md-editor-confab .md-image-upload-dropzone {
1283
- border-color: var(--color-confab-gray-300, #d1d5db);
1284
- border-radius: 6px;
1285
- }
1286
- .md-editor-confab .md-image-upload-dropzone:hover, .md-editor-confab .md-image-upload-dropzone.md-image-upload-dropzone-active {
1287
- border-color: var(--theme-primary, #0066cc);
1288
- background: rgba(0, 102, 204, 0.03);
1289
- }
1290
- .md-editor-confab .md-image-upload-preview {
1291
- border-color: var(--color-confab-gray-200, #e5e7eb);
1292
- border-radius: 6px;
1293
- background: var(--color-confab-gray-50, #f9fafb);
1294
- }
1295
- .md-editor-confab .md-source-editor-textarea {
1296
- border-color: var(--color-confab-gray-300, #d1d5db);
1297
- border-radius: 6px;
1298
- }
1299
- .md-editor-confab .md-source-editor-textarea:focus {
1300
- border-color: var(--theme-primary, #0066cc);
1301
- box-shadow: 0 0 0 2px rgba(0, 102, 204, 0.15);
1302
- }
1303
- .md-editor-confab .md-link-editor-input,
1304
- .md-editor-confab .md-link-editor-select {
1305
- border-color: var(--color-confab-gray-300, #d1d5db);
1306
- border-radius: 6px;
1307
- }
1308
- .md-editor-confab .md-link-editor-input:focus,
1309
- .md-editor-confab .md-link-editor-select:focus {
1310
- border-color: var(--theme-primary, #0066cc);
1311
- box-shadow: 0 0 0 2px rgba(0, 102, 204, 0.15);
1312
- }
1313
-
1314
- .md-editor-confab-dark {
1315
- background: var(--color-dark-bg-primary, #1a1a2e);
1316
- border-color: var(--color-dark-border, #333);
1317
- border-radius: 6px;
1318
- }
1319
- .md-editor-confab-dark .md-toolbar {
1320
- background: var(--color-dark-bg-secondary, #1e1e1e);
1321
- --md-toolbar-bg: var(--color-dark-bg-secondary, #1e1e1e);
1322
- border-color: var(--color-dark-border, #333);
1323
- }
1324
- .md-editor-confab-dark .md-toolbar-btn {
1325
- color: var(--color-dark-text-secondary, #aaa);
1326
- border-radius: 6px;
1327
- }
1328
- .md-editor-confab-dark .md-toolbar-btn:hover {
1329
- background: var(--color-dark-bg-hover, rgba(255, 255, 255, 0.08));
1330
- color: var(--color-dark-text-primary, #fff);
1331
- }
1332
- .md-editor-confab-dark .md-toolbar-btn:active {
1333
- background: var(--color-dark-bg-tertiary, #2a2a2a);
1334
- }
1335
- .md-editor-confab-dark .md-toolbar-btn.md-toolbar-btn-active {
1336
- background: var(--theme-primary, #0066cc);
1337
- color: #fff;
1338
- }
1339
- .md-editor-confab-dark .md-toolbar-btn:focus-visible {
1340
- outline: none;
1341
- box-shadow: 0 0 0 2px var(--color-confab-500, #0ea5e9);
1342
- }
1343
- .md-editor-confab-dark .md-toolbar-dropdown-btn {
1344
- color: var(--color-dark-text-secondary, #aaa);
1345
- border-radius: 6px;
1346
- }
1347
- .md-editor-confab-dark .md-toolbar-dropdown-btn:hover {
1348
- background: var(--color-dark-bg-hover, rgba(255, 255, 255, 0.08));
1349
- }
1350
- .md-editor-confab-dark .md-toolbar-dropdown-menu {
1351
- background: var(--color-dark-bg-secondary, #1e1e1e);
1352
- border-color: var(--color-dark-border, #333);
1353
- border-radius: 6px;
1354
- box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.4);
1355
- }
1356
- .md-editor-confab-dark .md-toolbar-dropdown-item {
1357
- color: var(--color-dark-text-primary, #fff);
1358
- }
1359
- .md-editor-confab-dark .md-toolbar-dropdown-item:hover {
1360
- background: var(--color-dark-bg-hover, rgba(255, 255, 255, 0.08));
1361
- }
1362
- .md-editor-confab-dark .md-toolbar-dropdown-item.md-toolbar-dropdown-item-selected {
1363
- background: var(--theme-primary, #0066cc);
1364
- color: #fff;
1365
- }
1366
- .md-editor-confab-dark .md-toolbar-separator {
1367
- background: var(--color-dark-border, #333);
1368
- }
1369
- .md-editor-confab-dark .md-toolbar-colorpicker-menu {
1370
- background: var(--color-dark-bg-secondary, #1e1e1e);
1371
- border-color: var(--color-dark-border, #333);
1372
- border-radius: 6px;
1373
- }
1374
- .md-editor-confab-dark .md-toolbar-colorpicker-custom {
1375
- border-color: var(--color-dark-border, #333);
1376
- }
1377
- .md-editor-confab-dark .md-editor-content {
1378
- background: var(--color-dark-bg-primary, #1a1a2e);
1379
- }
1380
- .md-editor-confab-dark .md-editor-body {
1381
- color: var(--color-dark-text-primary, #fff);
1382
- }
1383
- .md-editor-confab-dark .md-editor-body blockquote {
1384
- border-color: var(--color-dark-border, #333);
1385
- color: var(--color-dark-text-muted, #888);
1386
- }
1387
- .md-editor-confab-dark .md-editor-body pre {
1388
- background: var(--color-dark-bg-tertiary, #2a2a2a);
1389
- border-radius: 6px;
1390
- }
1391
- .md-editor-confab-dark .md-editor-body code {
1392
- background: var(--color-dark-bg-tertiary, #2a2a2a);
1393
- border-radius: 4px;
1394
- }
1395
- .md-editor-confab-dark .md-editor-body table td, .md-editor-confab-dark .md-editor-body table th {
1396
- border-color: var(--color-dark-border, #333);
1397
- }
1398
- .md-editor-confab-dark .md-editor-body table th {
1399
- background: var(--color-dark-bg-secondary, #1e1e1e);
1400
- }
1401
- .md-editor-confab-dark .md-dialog {
1402
- background: var(--color-dark-bg-secondary, #1e1e1e);
1403
- border-color: var(--color-dark-border, #333);
1404
- border-radius: 8px;
1405
- box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.4);
1406
- color: var(--color-dark-text-primary, #fff);
1407
- }
1408
- .md-editor-confab-dark .md-dialog-header {
1409
- border-color: var(--color-dark-border, #333);
1410
- color: var(--color-dark-text-primary, #fff);
1411
- }
1412
- .md-editor-confab-dark .md-btn {
1413
- border-color: var(--color-dark-border, #333);
1414
- background: var(--color-dark-bg-tertiary, #2a2a2a);
1415
- color: var(--color-dark-text-secondary, #aaa);
1416
- border-radius: 6px;
1417
- }
1418
- .md-editor-confab-dark .md-btn:hover {
1419
- background: var(--color-dark-bg-hover, rgba(255, 255, 255, 0.08));
1420
- color: var(--color-dark-text-primary, #fff);
1421
- }
1422
- .md-editor-confab-dark .md-btn.md-btn-primary {
1423
- background: var(--theme-primary, #0066cc);
1424
- border-color: var(--theme-primary, #0066cc);
1425
- color: #fff;
1426
- }
1427
- .md-editor-confab-dark .md-btn.md-btn-primary:hover {
1428
- background: var(--theme-primary-hover, #0055b3);
1429
- }
1430
- .md-editor-confab-dark .md-searchreplace-input,
1431
- .md-editor-confab-dark .md-image-upload-row input {
1432
- border-color: var(--color-dark-border, #333);
1433
- background: var(--color-dark-bg-tertiary, #2a2a2a);
1434
- color: var(--color-dark-text-primary, #fff);
1435
- border-radius: 6px;
1436
- }
1437
- .md-editor-confab-dark .md-searchreplace-input:focus,
1438
- .md-editor-confab-dark .md-image-upload-row input:focus {
1439
- border-color: var(--theme-primary, #0066cc);
1440
- box-shadow: 0 0 0 2px rgba(0, 102, 204, 0.2);
1441
- }
1442
- .md-editor-confab-dark .md-searchreplace-row label,
1443
- .md-editor-confab-dark .md-searchreplace-count,
1444
- .md-editor-confab-dark .md-image-upload-dropzone-text,
1445
- .md-editor-confab-dark .md-image-upload-row label,
1446
- .md-editor-confab-dark .md-image-upload-progress-text {
1447
- color: var(--color-dark-text-muted, #888);
1448
- }
1449
- .md-editor-confab-dark .md-image-upload-tab {
1450
- border-color: var(--color-dark-border, #333);
1451
- color: var(--color-dark-text-secondary, #aaa);
1452
- border-radius: 6px;
1453
- }
1454
- .md-editor-confab-dark .md-image-upload-tab:hover {
1455
- background: var(--color-dark-bg-hover, rgba(255, 255, 255, 0.08));
1456
- }
1457
- .md-editor-confab-dark .md-image-upload-tab.md-image-upload-tab-active {
1458
- background: var(--theme-primary, #0066cc);
1459
- border-color: var(--theme-primary, #0066cc);
1460
- color: #fff;
1461
- }
1462
- .md-editor-confab-dark .md-image-upload-dropzone {
1463
- border-color: var(--color-dark-border, #333);
1464
- border-radius: 6px;
1465
- }
1466
- .md-editor-confab-dark .md-image-upload-dropzone:hover, .md-editor-confab-dark .md-image-upload-dropzone.md-image-upload-dropzone-active {
1467
- border-color: var(--theme-primary, #0066cc);
1468
- background: rgba(0, 102, 204, 0.1);
1469
- }
1470
- .md-editor-confab-dark .md-image-upload-dropzone-icon {
1471
- color: var(--color-dark-text-muted, #888);
1472
- }
1473
- .md-editor-confab-dark .md-image-upload-preview {
1474
- background: var(--color-dark-bg-tertiary, #2a2a2a);
1475
- border-color: var(--color-dark-border, #333);
1476
- border-radius: 6px;
1477
- }
1478
- .md-editor-confab-dark .md-image-upload-error {
1479
- background: #3a1c1c;
1480
- border-color: #6b2c2c;
1481
- color: #ff8888;
1482
- }
1483
- .md-editor-confab-dark .md-image-upload-progress-bar {
1484
- background: var(--color-dark-border, #333);
1485
- }
1486
- .md-editor-confab-dark .md-emoji-btn:hover,
1487
- .md-editor-confab-dark .md-charmap-btn:hover {
1488
- background: var(--color-dark-bg-hover, rgba(255, 255, 255, 0.08));
1489
- }
1490
- .md-editor-confab-dark .md-charmap-preview {
1491
- background: var(--color-dark-bg-tertiary, #2a2a2a);
1492
- color: var(--color-dark-text-primary, #fff);
1493
- }
1494
- .md-editor-confab-dark .md-source-editor-textarea {
1495
- background: var(--color-dark-bg-tertiary, #2a2a2a);
1496
- border-color: var(--color-dark-border, #333);
1497
- color: var(--color-dark-text-primary, #fff);
1498
- border-radius: 6px;
1499
- }
1500
- .md-editor-confab-dark .md-source-editor-textarea:focus {
1501
- border-color: var(--theme-primary, #0066cc);
1502
- box-shadow: 0 0 0 2px rgba(0, 102, 204, 0.2);
1503
- }
1504
- .md-editor-confab-dark .md-link-editor-input,
1505
- .md-editor-confab-dark .md-link-editor-select {
1506
- background: var(--color-dark-bg-tertiary, #2a2a2a);
1507
- border-color: var(--color-dark-border, #333);
1508
- color: var(--color-dark-text-primary, #fff);
1509
- border-radius: 6px;
1510
- }
1511
- .md-editor-confab-dark .md-link-editor-input:focus,
1512
- .md-editor-confab-dark .md-link-editor-select:focus {
1513
- border-color: var(--theme-primary, #0066cc);
1514
- box-shadow: 0 0 0 2px rgba(0, 102, 204, 0.2);
1515
- }
1516
- .md-editor-confab-dark .md-link-editor-row label {
1517
- color: var(--color-dark-text-muted, #888);
1518
- }
1519
-
1520
- .md-editor-narrow .md-toolbar-buttons {
1521
- flex-wrap: nowrap;
1522
- overflow-x: auto;
1523
- overflow-y: hidden;
1524
- max-height: none;
1525
- -webkit-overflow-scrolling: touch;
1526
- scrollbar-width: thin;
1527
- scrollbar-color: rgba(0, 0, 0, 0.2) transparent;
1528
- }
1529
- .md-editor-narrow .md-toolbar-buttons::-webkit-scrollbar {
1530
- height: 4px;
1531
- }
1532
- .md-editor-narrow .md-toolbar-buttons::-webkit-scrollbar-track {
1533
- background: transparent;
1534
- }
1535
- .md-editor-narrow .md-toolbar-buttons::-webkit-scrollbar-thumb {
1536
- background: rgba(0, 0, 0, 0.2);
1537
- border-radius: 2px;
1538
- }
1539
- .md-editor-narrow .md-toolbar-toggle-btn {
1540
- display: none !important;
1541
- }
1542
- .md-editor-narrow .md-toolbar-group {
1543
- flex-shrink: 0;
1544
- }
1545
- .md-editor-narrow .md-toolbar-separator {
1546
- flex-shrink: 0;
1547
- }
1548
-
1549
- @media (pointer: coarse) {
1550
- .md-editor-narrow .md-toolbar-buttons {
1551
- scrollbar-width: none;
1552
- }
1553
- .md-editor-narrow .md-toolbar-buttons::-webkit-scrollbar {
1554
- display: none;
1555
- }
1556
- }
1557
- .md-editor-oxide-dark.md-editor-narrow .md-toolbar-buttons,
1558
- .md-editor-confab-dark.md-editor-narrow .md-toolbar-buttons {
1559
- scrollbar-color: rgba(255, 255, 255, 0.25) transparent;
1560
- }
1561
- .md-editor-oxide-dark.md-editor-narrow .md-toolbar-buttons::-webkit-scrollbar-thumb,
1562
- .md-editor-confab-dark.md-editor-narrow .md-toolbar-buttons::-webkit-scrollbar-thumb {
1563
- background: rgba(255, 255, 255, 0.25);
1564
- }
1565
-
1566
- .md-editor-narrow .md-toolbar {
1567
- position: relative;
1568
- }
1569
- .md-editor-narrow .md-toolbar::before, .md-editor-narrow .md-toolbar::after {
1570
- content: "";
1571
- position: absolute;
1572
- top: 0;
1573
- bottom: 0;
1574
- width: 20px;
1575
- pointer-events: none;
1576
- z-index: 2;
1577
- opacity: 0;
1578
- transition: opacity 0.2s ease;
1579
- }
1580
- .md-editor-narrow .md-toolbar::before {
1581
- left: 0;
1582
- background: linear-gradient(to right, var(--md-toolbar-bg, #f0f0f0), transparent);
1583
- }
1584
- .md-editor-narrow .md-toolbar::after {
1585
- right: 0;
1586
- background: linear-gradient(to left, var(--md-toolbar-bg, #f0f0f0), transparent);
1587
- }
1588
- .md-editor-narrow .md-toolbar.md-toolbar-scroll-start::after {
1589
- opacity: 1;
1590
- }
1591
- .md-editor-narrow .md-toolbar.md-toolbar-scroll-middle::before, .md-editor-narrow .md-toolbar.md-toolbar-scroll-middle::after {
1592
- opacity: 1;
1593
- }
1594
- .md-editor-narrow .md-toolbar.md-toolbar-scroll-end::before {
1595
- opacity: 1;
1596
- }
1597
-
1598
- @media (pointer: coarse) {
1599
- .md-editor .md-toolbar {
1600
- min-height: 52px;
1601
- }
1602
- .md-editor:not(.md-editor-narrow) .md-editor .md-toolbar-buttons {
1603
- max-height: 44px;
1604
- }
1605
- .md-editor:not(.md-editor-narrow) .md-editor .md-toolbar-buttons.md-toolbar-expanded {
1606
- max-height: none;
1607
- }
1608
- .md-editor .md-toolbar-btn {
1609
- min-width: 44px;
1610
- min-height: 44px;
1611
- }
1612
- .md-editor .md-toolbar-dropdown-btn {
1613
- min-height: 44px;
1614
- }
1615
- .md-editor .md-toolbar-colorpicker-btn {
1616
- min-height: 44px;
1617
- min-width: 44px;
1618
- }
1619
- .md-editor .md-toolbar-separator {
1620
- height: 32px;
1621
- }
1622
- }
1623
- .md-speechtotext-dialog {
1624
- width: 500px;
1625
- max-width: 90vw;
1626
- }
1627
-
1628
- .md-speechtotext-body {
1629
- padding: 16px;
1630
- display: flex;
1631
- flex-direction: column;
1632
- gap: 12px;
1633
- }
1634
-
1635
- .md-speechtotext-lang-row {
1636
- display: flex;
1637
- align-items: center;
1638
- gap: 12px;
1639
- }
1640
-
1641
- .md-speechtotext-label {
1642
- font-size: 13px;
1643
- color: #666;
1644
- min-width: 60px;
1645
- }
1646
-
1647
- .md-speechtotext-language {
1648
- flex: 1;
1649
- padding: 6px 10px;
1650
- border: 1px solid #ccc;
1651
- border-radius: 3px;
1652
- font-size: 13px;
1653
- background: #fff;
1654
- }
1655
- .md-speechtotext-language:focus {
1656
- outline: none;
1657
- border-color: #2271b2;
1658
- }
1659
-
1660
- .md-speechtotext-status {
1661
- font-size: 13px;
1662
- color: #666;
1663
- min-height: 20px;
1664
- display: flex;
1665
- align-items: center;
1666
- gap: 8px;
1667
- }
1668
- .md-speechtotext-status.md-speechtotext-status-active {
1669
- color: #2271b2;
1670
- }
1671
- .md-speechtotext-status.md-speechtotext-status-active::before {
1672
- content: "";
1673
- display: inline-block;
1674
- width: 8px;
1675
- height: 8px;
1676
- border-radius: 50%;
1677
- background: #e53e3e;
1678
- animation: md-pulse 1.2s ease-in-out infinite;
1679
- }
1680
-
1681
- @keyframes md-pulse {
1682
- 0%, 100% {
1683
- opacity: 1;
1684
- }
1685
- 50% {
1686
- opacity: 0.4;
1687
- }
1688
- }
1689
- .md-speechtotext-transcript {
1690
- min-height: 120px;
1691
- max-height: 250px;
1692
- overflow-y: auto;
1693
- padding: 12px;
1694
- border: 1px solid #ccc;
1695
- border-radius: 3px;
1696
- font-size: 14px;
1697
- line-height: 1.5;
1698
- background: #fafafa;
1699
- white-space: pre-wrap;
1700
- word-wrap: break-word;
1701
- }
1702
-
1703
- .md-speechtotext-final {
1704
- color: #1a1a1a;
1705
- }
1706
-
1707
- .md-speechtotext-interim {
1708
- color: #999;
1709
- font-style: italic;
1710
- }
1711
-
1712
- .md-speechtotext-confidence {
1713
- font-size: 12px;
1714
- color: #888;
1715
- min-height: 18px;
1716
- }
1717
-
1718
- .md-speechtotext-controls {
1719
- display: flex;
1720
- gap: 8px;
1721
- justify-content: flex-end;
1722
- padding-top: 4px;
1723
- }
1724
-
1725
- .md-speechtotext-btn {
1726
- padding: 8px 16px;
1727
- border: 1px solid #ccc;
1728
- border-radius: 3px;
1729
- font-size: 13px;
1730
- cursor: pointer;
1731
- background: #fff;
1732
- }
1733
- .md-speechtotext-btn:hover {
1734
- background: #f0f0f0;
1735
- }
1736
- .md-speechtotext-btn.md-speechtotext-btn-start {
1737
- background: #2271b2;
1738
- color: #fff;
1739
- border-color: #2271b2;
1740
- }
1741
- .md-speechtotext-btn.md-speechtotext-btn-start:hover {
1742
- opacity: 0.9;
1743
- }
1744
- .md-speechtotext-btn.md-speechtotext-btn-stop {
1745
- background: #e53e3e;
1746
- color: #fff;
1747
- border-color: #e53e3e;
1748
- }
1749
- .md-speechtotext-btn.md-speechtotext-btn-stop:hover {
1750
- opacity: 0.9;
1751
- }
1752
- .md-speechtotext-btn.md-speechtotext-btn-insert {
1753
- background: #2271b2;
1754
- color: #fff;
1755
- border-color: #2271b2;
1756
- }
1757
- .md-speechtotext-btn.md-speechtotext-btn-insert:hover {
1758
- opacity: 0.9;
1759
- }
1760
-
1761
- .md-editor-oxide-dark .md-speechtotext-language,
1762
- .md-editor-confab-dark .md-speechtotext-language {
1763
- background: #2a2a2a;
1764
- color: #e0e0e0;
1765
- border-color: #444;
1766
- }
1767
- .md-editor-oxide-dark .md-speechtotext-transcript,
1768
- .md-editor-confab-dark .md-speechtotext-transcript {
1769
- background: #1e1e1e;
1770
- border-color: #444;
1771
- }
1772
- .md-editor-oxide-dark .md-speechtotext-final,
1773
- .md-editor-confab-dark .md-speechtotext-final {
1774
- color: #e0e0e0;
1775
- }
1776
- .md-editor-oxide-dark .md-speechtotext-interim,
1777
- .md-editor-confab-dark .md-speechtotext-interim {
1778
- color: #777;
1779
- }
1780
- .md-editor-oxide-dark .md-speechtotext-label,
1781
- .md-editor-confab-dark .md-speechtotext-label {
1782
- color: #aaa;
1783
- }
1784
- .md-editor-oxide-dark .md-speechtotext-confidence,
1785
- .md-editor-confab-dark .md-speechtotext-confidence {
1786
- color: #777;
1787
- }
1788
- .md-editor-oxide-dark .md-speechtotext-btn,
1789
- .md-editor-confab-dark .md-speechtotext-btn {
1790
- background: #333;
1791
- color: #e0e0e0;
1792
- border-color: #555;
1793
- }
1794
- .md-editor-oxide-dark .md-speechtotext-btn:hover,
1795
- .md-editor-confab-dark .md-speechtotext-btn:hover {
1796
- background: #444;
1797
- }
1798
- .md-editor-oxide-dark .md-speechtotext-btn.md-speechtotext-btn-start, .md-editor-oxide-dark .md-speechtotext-btn.md-speechtotext-btn-insert,
1799
- .md-editor-confab-dark .md-speechtotext-btn.md-speechtotext-btn-start,
1800
- .md-editor-confab-dark .md-speechtotext-btn.md-speechtotext-btn-insert {
1801
- background: #2271b2;
1802
- color: #fff;
1803
- border-color: #2271b2;
1804
- }
1805
- .md-editor-oxide-dark .md-speechtotext-btn.md-speechtotext-btn-stop,
1806
- .md-editor-confab-dark .md-speechtotext-btn.md-speechtotext-btn-stop {
1807
- background: #e53e3e;
1808
- color: #fff;
1809
- border-color: #e53e3e;
1810
- }
1811
-
1812
- .md-toolbar-btn-dictating {
1813
- position: relative;
1814
- background: #e53e3e !important;
1815
- color: #fff !important;
1816
- }
1817
- .md-toolbar-btn-dictating::after {
1818
- content: "";
1819
- position: absolute;
1820
- top: 4px;
1821
- right: 4px;
1822
- width: 6px;
1823
- height: 6px;
1824
- background: #fff;
1825
- border-radius: 50%;
1826
- animation: md-dictate-pulse 1.2s ease-in-out infinite;
1827
- }
1828
-
1829
- @keyframes md-dictate-pulse {
1830
- 0%, 100% {
1831
- opacity: 1;
1832
- }
1833
- 50% {
1834
- opacity: 0.3;
1835
- }
1836
- }
1
+ .md-editor{background:#fff;border:1px solid #ccc;border-radius:3px;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;display:flex;position:relative;overflow:hidden}.md-editor *,.md-editor :before,.md-editor :after{box-sizing:border-box}.md-editor button{appearance:none;font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;margin:0;padding:0}.md-editor input,.md-editor select,.md-editor textarea{font:inherit;color:inherit}.md-editor.md-editor-fullscreen{z-index:9999;border-radius:0;position:fixed;inset:0;height:100vh!important}.md-editor.md-editor-readonly .md-editor-body{cursor:default}.md-editor .md-anchor{vertical-align:middle;cursor:default;background:#2271b21f;border-bottom:1px dotted #2271b2;width:12px;height:14px;display:inline-block}.md-editor .md-anchor:after{content:"⚓";opacity:.6;font-size:11px}.md-toolbar{--md-toolbar-bg:#f0f0f0;background:#f0f0f0;border-bottom:1px solid #ccc;align-items:flex-start;gap:2px;min-height:39px;padding:4px;display:flex}.md-toolbar.md-toolbar-sticky{z-index:10;position:sticky;top:0}.md-toolbar.md-toolbar-disabled{pointer-events:none;opacity:.5}.md-toolbar-group{align-items:center;gap:2px;display:flex}.md-toolbar-separator{background:#ccc;width:1px;height:24px;margin:0 4px}.md-toolbar-buttons{flex-wrap:wrap;flex:1;align-items:center;gap:2px;min-width:0;max-height:31px;transition:max-height .2s;display:flex;overflow:hidden}.md-toolbar-buttons.md-toolbar-expanded{max-height:none}.md-toolbar-toggle-btn{flex-shrink:0;align-self:flex-start}.md-toolbar-btn{cursor:pointer;color:#222;background:0 0;border:none;border-radius:3px;justify-content:center;align-items:center;width:34px;height:34px;padding:0;font-size:14px;transition:background-color .1s,color .1s;display:flex}.md-toolbar-btn:hover{background:#e0e0e0}.md-toolbar-btn:active{background:#d0d0d0}.md-toolbar-btn.md-toolbar-btn-active{color:#fff;background:#2271b2}.md-toolbar-btn:disabled{opacity:.5;cursor:not-allowed}.md-toolbar-btn-icon{justify-content:center;align-items:center;font-family:inherit;font-style:normal;font-weight:700;display:flex}.md-toolbar-btn-icon svg{width:16px;height:16px;display:block}.md-toolbar-btn-icon.md-icon-bold{font-weight:700}.md-toolbar-btn-icon.md-icon-italic{font-style:italic}.md-toolbar-btn-icon.md-icon-underline{text-decoration:underline}.md-toolbar-btn-icon.md-icon-strikethrough{text-decoration:line-through}.md-toolbar-btn-icon-img{width:16px;height:16px}.md-toolbar-dropdown{position:relative}.md-toolbar-dropdown-btn{cursor:pointer;color:#222;white-space:nowrap;background:0 0;border:none;border-radius:3px;align-items:center;gap:4px;height:34px;padding:0 8px;font-size:12px;display:flex}.md-toolbar-dropdown-btn:hover{background:#e0e0e0}.md-toolbar-dropdown-arrow{opacity:.6;align-items:center;display:inline-flex}.md-toolbar-dropdown-arrow svg{width:8px;height:8px;display:block}.md-toolbar-dropdown-menu,.md-toolbar-colorpicker-menu{box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px}.md-toolbar-dropdown-menu *,.md-toolbar-dropdown-menu :before,.md-toolbar-dropdown-menu :after,.md-toolbar-colorpicker-menu *,.md-toolbar-colorpicker-menu :before,.md-toolbar-colorpicker-menu :after{box-sizing:border-box}.md-toolbar-dropdown-menu button:not([class]),.md-toolbar-colorpicker-menu button:not([class]){appearance:none;font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;margin:0;padding:0}.md-toolbar-dropdown-menu{z-index:1000;background:#fff;border:1px solid #ccc;border-radius:3px;min-width:150px;max-height:300px;position:fixed;overflow-y:auto;box-shadow:0 2px 8px #00000026}.md-toolbar-dropdown-item{text-align:left;cursor:pointer;color:#222;background:0 0;border:none;width:100%;margin-top:2px;margin-bottom:2px;padding:8px 12px;font-size:13px;display:block}.md-toolbar-dropdown-item:hover{background:#f0f0f0}.md-toolbar-dropdown-item.md-toolbar-dropdown-item-selected{color:#fff;background:#2271b2}.md-toolbar-dropdown-item-desc{color:#666;margin-top:2px;font-size:11px;display:block}.md-toolbar-colorpicker{position:relative}.md-toolbar-colorpicker-btn{flex-direction:column;justify-content:center;align-items:center;padding:4px 8px;display:flex}.md-toolbar-colorpicker-icon{font-size:14px;font-weight:700;line-height:1}.md-toolbar-colorpicker-preview{border-radius:1px;width:16px;height:3px;margin-top:2px}.md-toolbar-colorpicker-menu{z-index:1000;background:#fff;border:1px solid #ccc;border-radius:3px;padding:6px;position:fixed;box-shadow:0 2px 8px #00000026}.md-toolbar-colorpicker-grid{grid-template-columns:repeat(10,1fr);gap:2px;margin-bottom:8px;display:grid}.md-toolbar-colorpicker-swatch{cursor:pointer;border:1px solid #ccc;border-radius:2px;width:20px;height:20px;padding:0}.md-toolbar-colorpicker-swatch:hover{transform:scale(1.1);box-shadow:0 0 0 2px #0000001a}.md-toolbar-colorpicker-custom{border-top:1px solid #ccc;align-items:center;gap:8px;padding-top:8px;display:flex}.md-toolbar-colorpicker-input{cursor:pointer;border:1px solid #ccc;border-radius:3px;width:40px;height:30px;padding:0}.md-toolbar-colorpicker-apply{color:#fff;cursor:pointer;background:#2271b2;border:none;border-radius:3px;padding:4px 12px;font-size:12px}.md-toolbar-colorpicker-apply:hover{background:#2761c4}.md-editor-content{background:#fff;flex-direction:column;flex:1;min-height:0;display:flex;overflow:auto}.md-editor-body{outline:none;flex:1;min-height:200px;padding:16px}.md-editor-body p{margin:0 0 1em}.md-editor-body h1,.md-editor-body h2,.md-editor-body h3,.md-editor-body h4,.md-editor-body h5,.md-editor-body h6{margin:0 0 .5em;font-weight:700}.md-editor-body h1{font-size:2em}.md-editor-body h2{font-size:1.5em}.md-editor-body h3{font-size:1.17em}.md-editor-body h4{font-size:1em}.md-editor-body h5{font-size:.83em}.md-editor-body h6{font-size:.67em}.md-editor-body ul,.md-editor-body ol{margin:0 0 1em;padding-left:2em}.md-editor-body ul{list-style-type:disc}.md-editor-body ol{list-style-type:decimal}.md-editor-body ul ul{list-style-type:circle}.md-editor-body ul ul ul{list-style-type:square}.md-editor-body ol ol{list-style-type:lower-alpha}.md-editor-body ol ol ol{list-style-type:lower-roman}.md-editor-body blockquote{color:#666;border-left:3px solid #ccc;margin:0 0 1em;padding-left:1em}.md-editor-body hr{border:none;border-top:1px solid #ccc;margin:1em 0}.md-editor-body b,.md-editor-body strong{font-weight:700}.md-editor-body i,.md-editor-body em{font-style:italic}.md-editor-body small{font-size:80%}.md-editor-body sub{vertical-align:sub;font-size:smaller}.md-editor-body sup{vertical-align:super;font-size:smaller}.md-editor-body pre{background:#f5f5f5;border-radius:3px;padding:12px;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:13px;overflow-x:auto}.md-editor-body code{background:#f0f0f0;border-radius:2px;padding:2px 4px;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:13px}.md-editor-body a{color:#2271b2;text-decoration:underline}.md-editor-body img{max-width:100%;height:auto;display:inline-block}.md-editor-body table{border-collapse:collapse;width:100%;margin:1em 0}.md-editor-body table td,.md-editor-body table th{text-align:left;border:1px solid #ccc;padding:8px}.md-editor-body table th{background:#f5f5f5;font-weight:700}.md-dialog-overlay{z-index:10000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.md-dialog-overlay.md-dialog-overlay-transparent{pointer-events:none;background:0 0}.md-dialog-overlay.md-dialog-overlay-transparent .md-dialog{pointer-events:all}.md-dialog{background:#fff;border-radius:3px;flex-direction:column;max-width:90vw;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 4px 20px #0000004d}.md-dialog-header{background:#f5f5f5;border-bottom:1px solid #ccc;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.md-dialog-header h3{margin:0;font-size:16px;font-weight:600}.md-dialog-close{cursor:pointer;color:#666;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:20px;display:flex}.md-dialog-close:hover{background:#e0e0e0}.md-dialog-body{padding:16px;overflow:auto}.md-charmap-dialog{width:450px}.md-charmap-tabs{flex-wrap:wrap;gap:4px;margin-bottom:12px;display:flex}.md-charmap-tab{cursor:pointer;background:0 0;border:1px solid #ccc;border-radius:3px;padding:6px 12px;font-size:12px}.md-charmap-tab:hover{background:#f0f0f0}.md-charmap-tab.md-charmap-tab-active{color:#fff;background:#2271b2;border-color:#2271b2}.md-charmap-grid{grid-template-columns:repeat(10,1fr);gap:4px;display:grid}.md-charmap-char{cursor:pointer;background:0 0;border:1px solid #ccc;border-radius:3px;justify-content:center;align-items:center;width:32px;height:32px;font-size:18px;display:flex}.md-charmap-char:hover{background:#f0f0f0;border-color:#2271b2}.md-charmap-preview{border-top:1px solid #ccc;align-items:center;gap:12px;min-height:40px;margin-top:12px;padding-top:12px;display:flex}.md-charmap-preview-char{text-align:center;width:40px;font-size:32px}.md-charmap-preview-name{color:#666;font-size:13px}.md-emoji-dialog{width:400px}.md-emoji-tabs{gap:4px;margin-bottom:8px;display:flex}.md-emoji-tab{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:3px;justify-content:center;align-items:center;width:32px;height:32px;font-size:18px;display:flex}.md-emoji-tab:hover{background:#f0f0f0}.md-emoji-tab.md-emoji-tab-active{background:#2271b21a;border-color:#2271b2}.md-emoji-search{margin-bottom:12px}.md-emoji-search-input{border:1px solid #ccc;border-radius:3px;width:100%;padding:8px 12px;font-size:14px}.md-emoji-search-input:focus{border-color:#2271b2;outline:none}.md-emoji-grid{grid-template-columns:repeat(10,1fr);gap:2px;max-height:250px;display:grid;overflow-y:auto}.md-emoji-btn{cursor:pointer;background:0 0;border:none;border-radius:3px;justify-content:center;align-items:center;width:32px;height:32px;font-size:20px;display:flex}.md-emoji-btn:hover{background:#f0f0f0}.md-searchreplace-dialog{width:400px;position:absolute;top:60px;right:20px}.md-searchreplace-row{align-items:center;gap:8px;margin-bottom:12px;display:flex}.md-searchreplace-row label{color:#666;width:60px;font-size:13px}.md-searchreplace-input{border:1px solid #ccc;border-radius:3px;flex:1;padding:8px 12px;font-size:14px}.md-searchreplace-input:focus{border-color:#2271b2;outline:none}.md-searchreplace-count{color:#666;min-width:60px;font-size:12px}.md-searchreplace-options{gap:16px;margin-bottom:12px;display:flex}.md-searchreplace-option{cursor:pointer;align-items:center;gap:4px;font-size:13px;display:flex}.md-searchreplace-option input{cursor:pointer}.md-searchreplace-buttons{justify-content:flex-end;gap:8px;display:flex}.md-btn{cursor:pointer;background:#fff;border:1px solid #ccc;border-radius:3px;padding:6px 12px;font-size:13px}.md-btn:hover{background:#f0f0f0}.md-btn.md-btn-primary{color:#fff;background:#2271b2;border-color:#2271b2}.md-btn.md-btn-primary:hover{background:#2761c4}.md-image-upload-dialog{width:500px}.md-image-upload-tabs{border-bottom:1px solid #ccc;gap:4px;margin-bottom:16px;padding-bottom:8px;display:flex}.md-image-upload-tab{cursor:pointer;background:0 0;border:1px solid #ccc;border-radius:3px;padding:6px 16px;font-size:13px}.md-image-upload-tab:hover{background:#f0f0f0}.md-image-upload-tab.md-image-upload-tab-active{color:#fff;background:#2271b2;border-color:#2271b2}.md-image-upload-dropzone{cursor:pointer;text-align:center;border:2px dashed #ccc;border-radius:3px;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:32px 16px;transition:border-color .2s,background-color .2s;display:flex}.md-image-upload-dropzone:hover{background:#2271b208;border-color:#2271b2}.md-image-upload-dropzone.md-image-upload-dropzone-active{background:#2271b214;border-color:#2271b2}.md-image-upload-dropzone-icon{color:#999}.md-image-upload-dropzone-text{color:#666;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:13px;overflow:hidden}.md-image-upload-row{align-items:center;gap:8px;margin-bottom:12px;display:flex}.md-image-upload-row label{color:#666;flex-shrink:0;width:60px;font-size:13px}.md-image-upload-row input{border:1px solid #ccc;border-radius:3px;flex:1;padding:8px 12px;font-size:14px}.md-image-upload-row input:focus{border-color:#2271b2;outline:none}.md-image-upload-preview{text-align:center;background:#fafafa;border:1px solid #ccc;border-radius:3px;margin-bottom:12px;padding:8px}.md-image-upload-preview img{object-fit:contain;max-width:100%;max-height:200px}.md-image-upload-error{color:#c00;background:#fff0f0;border:1px solid #fcc;border-radius:3px;margin-bottom:12px;padding:8px;font-size:13px}.md-image-upload-progress{align-items:center;gap:12px;margin-bottom:12px;display:flex}.md-image-upload-progress-bar{background:#e0e0e0;border-radius:4px;flex:1;height:8px;overflow:hidden}.md-image-upload-progress-fill{background:#2271b2;border-radius:4px;width:0%;height:100%;transition:width .2s}.md-image-upload-progress-text{color:#666;min-width:40px;font-size:12px}.md-image-upload-footer{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.md-source-editor-dialog{width:700px}.md-source-editor-textarea{resize:vertical;white-space:pre-wrap;tab-size:2;box-sizing:border-box;color:#222;background:#fff;border:1px solid #ccc;border-radius:3px;width:100%;height:400px;padding:10px;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:13px;line-height:1.5}.md-source-editor-textarea:focus{border-color:#2271b2;outline:none}.md-source-editor-footer{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.md-link-editor-dialog{width:480px}.md-link-editor-row{margin-bottom:12px}.md-link-editor-row label{color:#555;margin-bottom:4px;font-size:13px;display:block}.md-link-editor-input,.md-link-editor-select{box-sizing:border-box;color:#222;background:#fff;border:1px solid #ccc;border-radius:3px;width:100%;padding:8px 10px;font-size:13px}.md-link-editor-input:focus,.md-link-editor-select:focus{border-color:#2271b2;outline:none}.md-link-editor-select{appearance:auto}.md-link-editor-footer{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.md-editor-dragover .md-editor-content{box-shadow:inset 0 0 10px 1px #2271b280}.md-editor-oxide-dark{background:#222f3e;border-color:#364049}.md-editor-oxide-dark .md-toolbar{--md-toolbar-bg:#1a252f;background:#1a252f;border-color:#364049}.md-editor-oxide-dark .md-toolbar-btn{color:#fff}.md-editor-oxide-dark .md-toolbar-btn:hover{background:#2d3e50}.md-editor-oxide-dark .md-toolbar-btn.md-toolbar-btn-active{background:#2271b2}.md-editor-oxide-dark .md-toolbar-dropdown-btn{color:#fff}.md-editor-oxide-dark .md-toolbar-dropdown-btn:hover{background:#2d3e50}.md-editor-oxide-dark .md-toolbar-dropdown-menu{background:#222f3e;border-color:#364049}.md-editor-oxide-dark .md-toolbar-dropdown-item{color:#fff}.md-editor-oxide-dark .md-toolbar-dropdown-item:hover{background:#2d3e50}.md-editor-oxide-dark .md-toolbar-colorpicker-menu{background:#222f3e;border-color:#364049}.md-editor-oxide-dark .md-toolbar-colorpicker-custom{border-color:#364049}.md-editor-oxide-dark .md-toolbar-separator{background:#364049}.md-editor-oxide-dark .md-editor-content{background:#222f3e}.md-editor-oxide-dark .md-editor-body{color:#fff}.md-editor-oxide-dark .md-editor-body blockquote{color:#aaa;border-color:#364049}.md-editor-oxide-dark .md-editor-body pre,.md-editor-oxide-dark .md-editor-body code{background:#1a252f}.md-editor-oxide-dark .md-editor-body table td,.md-editor-oxide-dark .md-editor-body table th{border-color:#364049}.md-editor-oxide-dark .md-editor-body table th{background:#1a252f}.md-editor-oxide-dark .md-image-upload-dropzone{border-color:#364049}.md-editor-oxide-dark .md-image-upload-dropzone:hover,.md-editor-oxide-dark .md-image-upload-dropzone.md-image-upload-dropzone-active{background:#2271b21a;border-color:#2271b2}.md-editor-oxide-dark .md-image-upload-dropzone-icon{color:#666}.md-editor-oxide-dark .md-image-upload-dropzone-text{color:#aaa}.md-editor-oxide-dark .md-image-upload-preview{background:#1a252f;border-color:#364049}.md-editor-oxide-dark .md-image-upload-error{color:#f88;background:#3a1c1c;border-color:#6b2c2c}.md-editor-oxide-dark .md-image-upload-progress-bar{background:#364049}.md-editor-oxide-dark .md-dialog{color:#fff;background:#222f3e;border-color:#364049}.md-editor-oxide-dark .md-dialog-header{color:#fff;background:#1a252f;border-color:#364049}.md-editor-oxide-dark .md-dialog-close{color:#fff}.md-editor-oxide-dark .md-dialog-close:hover{background:#2d3e50}.md-editor-oxide-dark .md-btn{color:#fff;background:#1a252f;border-color:#364049}.md-editor-oxide-dark .md-btn:hover{background:#2d3e50}.md-editor-oxide-dark .md-btn.md-btn-primary{color:#fff;background:#2271b2;border-color:#2271b2}.md-editor-oxide-dark .md-btn.md-btn-primary:hover{background:#2761c4}.md-editor-oxide-dark .md-source-editor-textarea{color:#fff;background:#1a252f;border-color:#364049}.md-editor-oxide-dark .md-source-editor-textarea:focus{border-color:#2271b2}.md-editor-oxide-dark .md-link-editor-input,.md-editor-oxide-dark .md-link-editor-select{color:#fff;background:#1a252f;border-color:#364049}.md-editor-oxide-dark .md-link-editor-input:focus,.md-editor-oxide-dark .md-link-editor-select:focus{border-color:#2271b2}.md-editor-oxide-dark .md-link-editor-row label{color:#aaa}.md-editor-confab{border-color:var(--color-confab-gray-200,#e5e7eb);background:#fff;border-radius:6px}.md-editor-confab .md-toolbar{background:var(--color-confab-gray-50,#f9fafb);--md-toolbar-bg:var(--color-confab-gray-50,#f9fafb);border-color:var(--color-confab-gray-200,#e5e7eb)}.md-editor-confab .md-toolbar-btn{color:var(--color-confab-gray-600,#4b5563);border-radius:6px}.md-editor-confab .md-toolbar-btn:hover{background:var(--color-confab-gray-100,#f3f4f6);color:var(--color-confab-gray-900,#111827)}.md-editor-confab .md-toolbar-btn:active{background:var(--color-confab-gray-200,#e5e7eb)}.md-editor-confab .md-toolbar-btn.md-toolbar-btn-active{background:var(--theme-primary,#06c);color:#fff}.md-editor-confab .md-toolbar-btn:focus-visible{box-shadow:0 0 0 2px var(--color-confab-500,#0ea5e9);outline:none}.md-editor-confab .md-toolbar-dropdown-btn{color:var(--color-confab-gray-600,#4b5563);border-radius:6px}.md-editor-confab .md-toolbar-dropdown-btn:hover{background:var(--color-confab-gray-100,#f3f4f6)}.md-editor-confab .md-toolbar-dropdown-menu{border-color:var(--color-confab-gray-200,#e5e7eb);background:#fff;border-radius:6px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.md-editor-confab .md-toolbar-dropdown-item{color:var(--color-confab-gray-900,#111827)}.md-editor-confab .md-toolbar-dropdown-item:hover{background:var(--color-confab-gray-50,#f9fafb)}.md-editor-confab .md-toolbar-dropdown-item.md-toolbar-dropdown-item-selected{background:var(--theme-primary,#06c);color:#fff}.md-editor-confab .md-toolbar-separator{background:var(--color-confab-gray-200,#e5e7eb)}.md-editor-confab .md-toolbar-colorpicker-menu{border-color:var(--color-confab-gray-200,#e5e7eb);background:#fff;border-radius:6px}.md-editor-confab .md-toolbar-colorpicker-custom{border-color:var(--color-confab-gray-200,#e5e7eb)}.md-editor-confab .md-editor-content{background:#fff}.md-editor-confab .md-editor-body{color:var(--color-confab-gray-900,#111827)}.md-editor-confab .md-editor-body blockquote{border-color:var(--color-confab-gray-200,#e5e7eb);color:var(--color-confab-gray-500,#6b7280)}.md-editor-confab .md-editor-body pre{background:var(--color-confab-gray-50,#f9fafb);border-radius:6px}.md-editor-confab .md-editor-body code{background:var(--color-confab-gray-100,#f3f4f6);border-radius:4px}.md-editor-confab .md-editor-body table td,.md-editor-confab .md-editor-body table th{border-color:var(--color-confab-gray-200,#e5e7eb)}.md-editor-confab .md-editor-body table th{background:var(--color-confab-gray-50,#f9fafb)}.md-editor-confab .md-dialog{border-color:var(--color-confab-gray-200,#e5e7eb);border-radius:8px;box-shadow:0 10px 15px -3px #0000001a}.md-editor-confab .md-dialog-header{border-color:var(--color-confab-gray-200,#e5e7eb)}.md-editor-confab .md-btn{border-color:var(--color-confab-gray-300,#d1d5db);border-radius:6px}.md-editor-confab .md-btn:hover{background:var(--color-confab-gray-100,#f3f4f6)}.md-editor-confab .md-btn.md-btn-primary{background:var(--theme-primary,#06c);border-color:var(--theme-primary,#06c);color:#fff}.md-editor-confab .md-btn.md-btn-primary:hover{background:var(--theme-primary-hover,#0055b3)}.md-editor-confab .md-searchreplace-input,.md-editor-confab .md-image-upload-row input{border-color:var(--color-confab-gray-300,#d1d5db);border-radius:6px}.md-editor-confab .md-searchreplace-input:focus,.md-editor-confab .md-image-upload-row input:focus{border-color:var(--theme-primary,#06c);box-shadow:0 0 0 2px #0066cc26}.md-editor-confab .md-image-upload-tab{border-color:var(--color-confab-gray-300,#d1d5db);border-radius:6px}.md-editor-confab .md-image-upload-tab:hover{background:var(--color-confab-gray-100,#f3f4f6)}.md-editor-confab .md-image-upload-tab.md-image-upload-tab-active{background:var(--theme-primary,#06c);border-color:var(--theme-primary,#06c);color:#fff}.md-editor-confab .md-image-upload-dropzone{border-color:var(--color-confab-gray-300,#d1d5db);border-radius:6px}.md-editor-confab .md-image-upload-dropzone:hover,.md-editor-confab .md-image-upload-dropzone.md-image-upload-dropzone-active{border-color:var(--theme-primary,#06c);background:#0066cc08}.md-editor-confab .md-image-upload-preview{border-color:var(--color-confab-gray-200,#e5e7eb);background:var(--color-confab-gray-50,#f9fafb);border-radius:6px}.md-editor-confab .md-source-editor-textarea{border-color:var(--color-confab-gray-300,#d1d5db);border-radius:6px}.md-editor-confab .md-source-editor-textarea:focus{border-color:var(--theme-primary,#06c);box-shadow:0 0 0 2px #0066cc26}.md-editor-confab .md-link-editor-input,.md-editor-confab .md-link-editor-select{border-color:var(--color-confab-gray-300,#d1d5db);border-radius:6px}.md-editor-confab .md-link-editor-input:focus,.md-editor-confab .md-link-editor-select:focus{border-color:var(--theme-primary,#06c);box-shadow:0 0 0 2px #0066cc26}.md-editor-confab-dark{background:var(--color-dark-bg-primary,#1a1a2e);border-color:var(--color-dark-border,#333);border-radius:6px}.md-editor-confab-dark .md-toolbar{background:var(--color-dark-bg-secondary,#1e1e1e);--md-toolbar-bg:var(--color-dark-bg-secondary,#1e1e1e);border-color:var(--color-dark-border,#333)}.md-editor-confab-dark .md-toolbar-btn{color:var(--color-dark-text-secondary,#aaa);border-radius:6px}.md-editor-confab-dark .md-toolbar-btn:hover{background:var(--color-dark-bg-hover,#ffffff14);color:var(--color-dark-text-primary,#fff)}.md-editor-confab-dark .md-toolbar-btn:active{background:var(--color-dark-bg-tertiary,#2a2a2a)}.md-editor-confab-dark .md-toolbar-btn.md-toolbar-btn-active{background:var(--theme-primary,#06c);color:#fff}.md-editor-confab-dark .md-toolbar-btn:focus-visible{box-shadow:0 0 0 2px var(--color-confab-500,#0ea5e9);outline:none}.md-editor-confab-dark .md-toolbar-dropdown-btn{color:var(--color-dark-text-secondary,#aaa);border-radius:6px}.md-editor-confab-dark .md-toolbar-dropdown-btn:hover{background:var(--color-dark-bg-hover,#ffffff14)}.md-editor-confab-dark .md-toolbar-dropdown-menu{background:var(--color-dark-bg-secondary,#1e1e1e);border-color:var(--color-dark-border,#333);border-radius:6px;box-shadow:0 4px 6px -1px #0006}.md-editor-confab-dark .md-toolbar-dropdown-item{color:var(--color-dark-text-primary,#fff)}.md-editor-confab-dark .md-toolbar-dropdown-item:hover{background:var(--color-dark-bg-hover,#ffffff14)}.md-editor-confab-dark .md-toolbar-dropdown-item.md-toolbar-dropdown-item-selected{background:var(--theme-primary,#06c);color:#fff}.md-editor-confab-dark .md-toolbar-separator{background:var(--color-dark-border,#333)}.md-editor-confab-dark .md-toolbar-colorpicker-menu{background:var(--color-dark-bg-secondary,#1e1e1e);border-color:var(--color-dark-border,#333);border-radius:6px}.md-editor-confab-dark .md-toolbar-colorpicker-custom{border-color:var(--color-dark-border,#333)}.md-editor-confab-dark .md-editor-content{background:var(--color-dark-bg-primary,#1a1a2e)}.md-editor-confab-dark .md-editor-body{color:var(--color-dark-text-primary,#fff)}.md-editor-confab-dark .md-editor-body blockquote{border-color:var(--color-dark-border,#333);color:var(--color-dark-text-muted,#888)}.md-editor-confab-dark .md-editor-body pre{background:var(--color-dark-bg-tertiary,#2a2a2a);border-radius:6px}.md-editor-confab-dark .md-editor-body code{background:var(--color-dark-bg-tertiary,#2a2a2a);border-radius:4px}.md-editor-confab-dark .md-editor-body table td,.md-editor-confab-dark .md-editor-body table th{border-color:var(--color-dark-border,#333)}.md-editor-confab-dark .md-editor-body table th{background:var(--color-dark-bg-secondary,#1e1e1e)}.md-editor-confab-dark .md-dialog{background:var(--color-dark-bg-secondary,#1e1e1e);border-color:var(--color-dark-border,#333);color:var(--color-dark-text-primary,#fff);border-radius:8px;box-shadow:0 10px 15px -3px #0006}.md-editor-confab-dark .md-dialog-header{border-color:var(--color-dark-border,#333);color:var(--color-dark-text-primary,#fff)}.md-editor-confab-dark .md-btn{border-color:var(--color-dark-border,#333);background:var(--color-dark-bg-tertiary,#2a2a2a);color:var(--color-dark-text-secondary,#aaa);border-radius:6px}.md-editor-confab-dark .md-btn:hover{background:var(--color-dark-bg-hover,#ffffff14);color:var(--color-dark-text-primary,#fff)}.md-editor-confab-dark .md-btn.md-btn-primary{background:var(--theme-primary,#06c);border-color:var(--theme-primary,#06c);color:#fff}.md-editor-confab-dark .md-btn.md-btn-primary:hover{background:var(--theme-primary-hover,#0055b3)}.md-editor-confab-dark .md-searchreplace-input,.md-editor-confab-dark .md-image-upload-row input{border-color:var(--color-dark-border,#333);background:var(--color-dark-bg-tertiary,#2a2a2a);color:var(--color-dark-text-primary,#fff);border-radius:6px}.md-editor-confab-dark .md-searchreplace-input:focus,.md-editor-confab-dark .md-image-upload-row input:focus{border-color:var(--theme-primary,#06c);box-shadow:0 0 0 2px #06c3}.md-editor-confab-dark .md-searchreplace-row label,.md-editor-confab-dark .md-searchreplace-count,.md-editor-confab-dark .md-image-upload-dropzone-text,.md-editor-confab-dark .md-image-upload-row label,.md-editor-confab-dark .md-image-upload-progress-text{color:var(--color-dark-text-muted,#888)}.md-editor-confab-dark .md-image-upload-tab{border-color:var(--color-dark-border,#333);color:var(--color-dark-text-secondary,#aaa);border-radius:6px}.md-editor-confab-dark .md-image-upload-tab:hover{background:var(--color-dark-bg-hover,#ffffff14)}.md-editor-confab-dark .md-image-upload-tab.md-image-upload-tab-active{background:var(--theme-primary,#06c);border-color:var(--theme-primary,#06c);color:#fff}.md-editor-confab-dark .md-image-upload-dropzone{border-color:var(--color-dark-border,#333);border-radius:6px}.md-editor-confab-dark .md-image-upload-dropzone:hover,.md-editor-confab-dark .md-image-upload-dropzone.md-image-upload-dropzone-active{border-color:var(--theme-primary,#06c);background:#0066cc1a}.md-editor-confab-dark .md-image-upload-dropzone-icon{color:var(--color-dark-text-muted,#888)}.md-editor-confab-dark .md-image-upload-preview{background:var(--color-dark-bg-tertiary,#2a2a2a);border-color:var(--color-dark-border,#333);border-radius:6px}.md-editor-confab-dark .md-image-upload-error{color:#f88;background:#3a1c1c;border-color:#6b2c2c}.md-editor-confab-dark .md-image-upload-progress-bar{background:var(--color-dark-border,#333)}.md-editor-confab-dark .md-emoji-btn:hover,.md-editor-confab-dark .md-charmap-btn:hover{background:var(--color-dark-bg-hover,#ffffff14)}.md-editor-confab-dark .md-charmap-preview{background:var(--color-dark-bg-tertiary,#2a2a2a);color:var(--color-dark-text-primary,#fff)}.md-editor-confab-dark .md-source-editor-textarea{background:var(--color-dark-bg-tertiary,#2a2a2a);border-color:var(--color-dark-border,#333);color:var(--color-dark-text-primary,#fff);border-radius:6px}.md-editor-confab-dark .md-source-editor-textarea:focus{border-color:var(--theme-primary,#06c);box-shadow:0 0 0 2px #06c3}.md-editor-confab-dark .md-link-editor-input,.md-editor-confab-dark .md-link-editor-select{background:var(--color-dark-bg-tertiary,#2a2a2a);border-color:var(--color-dark-border,#333);color:var(--color-dark-text-primary,#fff);border-radius:6px}.md-editor-confab-dark .md-link-editor-input:focus,.md-editor-confab-dark .md-link-editor-select:focus{border-color:var(--theme-primary,#06c);box-shadow:0 0 0 2px #06c3}.md-editor-confab-dark .md-link-editor-row label{color:var(--color-dark-text-muted,#888)}.md-editor-narrow .md-toolbar-buttons{-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#0003 transparent;flex-wrap:nowrap;max-height:none;overflow:auto hidden}.md-editor-narrow .md-toolbar-buttons::-webkit-scrollbar{height:4px}.md-editor-narrow .md-toolbar-buttons::-webkit-scrollbar-track{background:0 0}.md-editor-narrow .md-toolbar-buttons::-webkit-scrollbar-thumb{background:#0003;border-radius:2px}.md-editor-narrow .md-toolbar-toggle-btn{display:none!important}.md-editor-narrow .md-toolbar-group,.md-editor-narrow .md-toolbar-separator{flex-shrink:0}@media (pointer:coarse){.md-editor-narrow .md-toolbar-buttons{scrollbar-width:none}.md-editor-narrow .md-toolbar-buttons::-webkit-scrollbar{display:none}}.md-editor-oxide-dark.md-editor-narrow .md-toolbar-buttons,.md-editor-confab-dark.md-editor-narrow .md-toolbar-buttons{scrollbar-color:#ffffff40 transparent}.md-editor-oxide-dark.md-editor-narrow .md-toolbar-buttons::-webkit-scrollbar-thumb{background:#ffffff40}.md-editor-confab-dark.md-editor-narrow .md-toolbar-buttons::-webkit-scrollbar-thumb{background:#ffffff40}.md-editor-narrow .md-toolbar{position:relative}.md-editor-narrow .md-toolbar:before,.md-editor-narrow .md-toolbar:after{content:"";pointer-events:none;z-index:2;opacity:0;width:20px;transition:opacity .2s;position:absolute;top:0;bottom:0}.md-editor-narrow .md-toolbar:before{background:linear-gradient(to right, var(--md-toolbar-bg,#f0f0f0), transparent);left:0}.md-editor-narrow .md-toolbar:after{background:linear-gradient(to left, var(--md-toolbar-bg,#f0f0f0), transparent);right:0}.md-editor-narrow .md-toolbar.md-toolbar-scroll-start:after,.md-editor-narrow .md-toolbar.md-toolbar-scroll-middle:before,.md-editor-narrow .md-toolbar.md-toolbar-scroll-middle:after,.md-editor-narrow .md-toolbar.md-toolbar-scroll-end:before{opacity:1}@media (pointer:coarse){.md-editor .md-toolbar{min-height:52px}.md-editor:not(.md-editor-narrow) .md-editor .md-toolbar-buttons{max-height:44px}.md-editor:not(.md-editor-narrow) .md-editor .md-toolbar-buttons.md-toolbar-expanded{max-height:none}.md-editor .md-toolbar-btn{min-width:44px;min-height:44px}.md-editor .md-toolbar-dropdown-btn{min-height:44px}.md-editor .md-toolbar-colorpicker-btn{min-width:44px;min-height:44px}.md-editor .md-toolbar-separator{height:32px}}.md-speechtotext-dialog{width:500px;max-width:90vw}.md-speechtotext-body{flex-direction:column;gap:12px;padding:16px;display:flex}.md-speechtotext-lang-row{align-items:center;gap:12px;display:flex}.md-speechtotext-label{color:#666;min-width:60px;font-size:13px}.md-speechtotext-language{background:#fff;border:1px solid #ccc;border-radius:3px;flex:1;padding:6px 10px;font-size:13px}.md-speechtotext-language:focus{border-color:#2271b2;outline:none}.md-speechtotext-status{color:#666;align-items:center;gap:8px;min-height:20px;font-size:13px;display:flex}.md-speechtotext-status.md-speechtotext-status-active{color:#2271b2}.md-speechtotext-status.md-speechtotext-status-active:before{content:"";background:#e53e3e;border-radius:50%;width:8px;height:8px;animation:1.2s ease-in-out infinite md-pulse;display:inline-block}@keyframes md-pulse{0%,to{opacity:1}50%{opacity:.4}}.md-speechtotext-transcript{white-space:pre-wrap;word-wrap:break-word;background:#fafafa;border:1px solid #ccc;border-radius:3px;min-height:120px;max-height:250px;padding:12px;font-size:14px;line-height:1.5;overflow-y:auto}.md-speechtotext-final{color:#1a1a1a}.md-speechtotext-interim{color:#999;font-style:italic}.md-speechtotext-confidence{color:#888;min-height:18px;font-size:12px}.md-speechtotext-controls{justify-content:flex-end;gap:8px;padding-top:4px;display:flex}.md-speechtotext-btn{cursor:pointer;background:#fff;border:1px solid #ccc;border-radius:3px;padding:8px 16px;font-size:13px}.md-speechtotext-btn:hover{background:#f0f0f0}.md-speechtotext-btn.md-speechtotext-btn-start{color:#fff;background:#2271b2;border-color:#2271b2}.md-speechtotext-btn.md-speechtotext-btn-start:hover{opacity:.9}.md-speechtotext-btn.md-speechtotext-btn-stop{color:#fff;background:#e53e3e;border-color:#e53e3e}.md-speechtotext-btn.md-speechtotext-btn-stop:hover{opacity:.9}.md-speechtotext-btn.md-speechtotext-btn-insert{color:#fff;background:#2271b2;border-color:#2271b2}.md-speechtotext-btn.md-speechtotext-btn-insert:hover{opacity:.9}.md-editor-oxide-dark .md-speechtotext-language,.md-editor-confab-dark .md-speechtotext-language{color:#e0e0e0;background:#2a2a2a;border-color:#444}.md-editor-oxide-dark .md-speechtotext-transcript,.md-editor-confab-dark .md-speechtotext-transcript{background:#1e1e1e;border-color:#444}.md-editor-oxide-dark .md-speechtotext-final,.md-editor-confab-dark .md-speechtotext-final{color:#e0e0e0}.md-editor-oxide-dark .md-speechtotext-interim,.md-editor-confab-dark .md-speechtotext-interim{color:#777}.md-editor-oxide-dark .md-speechtotext-label,.md-editor-confab-dark .md-speechtotext-label{color:#aaa}.md-editor-oxide-dark .md-speechtotext-confidence,.md-editor-confab-dark .md-speechtotext-confidence{color:#777}.md-editor-oxide-dark .md-speechtotext-btn,.md-editor-confab-dark .md-speechtotext-btn{color:#e0e0e0;background:#333;border-color:#555}.md-editor-oxide-dark .md-speechtotext-btn:hover,.md-editor-confab-dark .md-speechtotext-btn:hover{background:#444}.md-editor-oxide-dark .md-speechtotext-btn.md-speechtotext-btn-start,.md-editor-oxide-dark .md-speechtotext-btn.md-speechtotext-btn-insert,.md-editor-confab-dark .md-speechtotext-btn.md-speechtotext-btn-start,.md-editor-confab-dark .md-speechtotext-btn.md-speechtotext-btn-insert{color:#fff;background:#2271b2;border-color:#2271b2}.md-editor-oxide-dark .md-speechtotext-btn.md-speechtotext-btn-stop,.md-editor-confab-dark .md-speechtotext-btn.md-speechtotext-btn-stop{color:#fff;background:#e53e3e;border-color:#e53e3e}.md-toolbar-btn-dictating{position:relative;color:#fff!important;background:#e53e3e!important}.md-toolbar-btn-dictating:after{content:"";background:#fff;border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite md-dictate-pulse;position:absolute;top:4px;right:4px}@keyframes md-dictate-pulse{0%,to{opacity:1}50%{opacity:.3}}
2
+ /*$vite$:1*/