@rufous/ui 0.1.86 → 0.1.87

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/main.css CHANGED
@@ -13800,6 +13800,2172 @@ svg.jodit-icon {
13800
13800
  .jodit_theme_dark.jodit-dialog .jodit-filebrowser__files.active .jodit-filebrowser__files-item-info {
13801
13801
  background-color: #d1cccc;
13802
13802
  }
13803
+
13804
+ /* lib/styles/rufous-text-editor.css */
13805
+ .rf-rte-wrapper {
13806
+ border: 1px solid #dadce0;
13807
+ border-radius: 8px;
13808
+ overflow: visible;
13809
+ background: #fff;
13810
+ box-shadow: 0 1px 2px rgba(60, 64, 67, 0.1), 0 2px 6px rgba(60, 64, 67, 0.08);
13811
+ position: relative;
13812
+ z-index: 1;
13813
+ display: flex;
13814
+ flex-direction: column;
13815
+ flex: 1;
13816
+ min-height: 0;
13817
+ }
13818
+ .rf-rte-wrapper:focus-within,
13819
+ .rf-rte-wrapper:has(.dropdown-menu),
13820
+ .rf-rte-wrapper:has(.ai-commands-panel),
13821
+ .rf-rte-wrapper:has(.tts-panel),
13822
+ .rf-rte-wrapper:has(.stt-panel),
13823
+ .rf-rte-wrapper:has(.image-toolbar),
13824
+ .rf-rte-wrapper:has(.translate-toast-popup) {
13825
+ z-index: 100;
13826
+ }
13827
+ .rf-rte-wrapper.fullscreen {
13828
+ position: fixed;
13829
+ top: 0;
13830
+ left: 0;
13831
+ right: 0;
13832
+ bottom: 0;
13833
+ z-index: 9999;
13834
+ border-radius: 0;
13835
+ margin: 0;
13836
+ max-width: none;
13837
+ display: flex;
13838
+ flex-direction: column;
13839
+ }
13840
+ .rf-rte-wrapper.fullscreen .tiptap {
13841
+ flex: 1;
13842
+ overflow-y: auto;
13843
+ }
13844
+ .rf-rte-wrapper .toolbar {
13845
+ border-bottom: 1px solid #dadce0;
13846
+ background: #f9fbfd;
13847
+ border-radius: 8px 8px 0 0;
13848
+ flex-shrink: 0;
13849
+ position: relative;
13850
+ z-index: 10;
13851
+ overflow: visible;
13852
+ }
13853
+ .rf-rte-wrapper .toolbar-row {
13854
+ display: flex;
13855
+ align-items: center;
13856
+ gap: 1px;
13857
+ padding: 4px 8px;
13858
+ flex-wrap: wrap;
13859
+ }
13860
+ .rf-rte-wrapper .toolbar-row + .toolbar-row {
13861
+ border-top: 1px solid #e8eaed;
13862
+ }
13863
+ .rf-rte-wrapper .toolbar-group {
13864
+ display: flex;
13865
+ align-items: center;
13866
+ gap: 1px;
13867
+ padding: 0 4px;
13868
+ border-right: 1px solid #dadce0;
13869
+ margin-right: 4px;
13870
+ }
13871
+ .rf-rte-wrapper .toolbar-group:last-child {
13872
+ border-right: none;
13873
+ margin-right: 0;
13874
+ }
13875
+ .rf-rte-wrapper .toolbar-btn {
13876
+ display: inline-flex;
13877
+ align-items: center;
13878
+ justify-content: center;
13879
+ min-width: 34px;
13880
+ height: 34px;
13881
+ padding: 0 5px;
13882
+ border: none;
13883
+ border-radius: 4px;
13884
+ background: transparent;
13885
+ color: #444746;
13886
+ font-size: 14px;
13887
+ font-weight: 600;
13888
+ cursor: pointer;
13889
+ transition: background 0.15s ease, color 0.15s ease;
13890
+ line-height: 1;
13891
+ position: relative;
13892
+ flex-shrink: 0;
13893
+ }
13894
+ .rf-rte-wrapper .toolbar-btn svg {
13895
+ width: 20px;
13896
+ height: 20px;
13897
+ flex-shrink: 0;
13898
+ stroke-width: 2.2;
13899
+ }
13900
+ .rf-rte-wrapper .toolbar-btn:hover {
13901
+ background: #f5d5d5;
13902
+ color: #202124;
13903
+ }
13904
+ .rf-rte-wrapper .toolbar-btn.is-active,
13905
+ .rf-rte-wrapper .toolbar-btn.is-active:hover {
13906
+ background: #f5d5d5;
13907
+ color: #202124;
13908
+ }
13909
+ .rf-rte-wrapper .toolbar-btn:disabled {
13910
+ opacity: 0.3;
13911
+ cursor: not-allowed;
13912
+ }
13913
+ .rf-rte-wrapper .dropdown {
13914
+ position: relative;
13915
+ display: inline-flex;
13916
+ }
13917
+ .rf-rte-wrapper .dropdown-arrow {
13918
+ font-size: 8px;
13919
+ margin-left: 2px;
13920
+ opacity: 0.5;
13921
+ }
13922
+ .rf-rte-wrapper .dropdown-menu {
13923
+ position: absolute;
13924
+ top: 100%;
13925
+ left: 0;
13926
+ z-index: 1000;
13927
+ min-width: 170px;
13928
+ padding: 4px;
13929
+ background: #fff;
13930
+ border: 1px solid #dadce0;
13931
+ border-radius: 8px;
13932
+ box-shadow: 0 2px 6px 2px rgba(60, 64, 67, 0.15), 0 1px 2px rgba(60, 64, 67, 0.3);
13933
+ margin-top: 4px;
13934
+ }
13935
+ .rf-rte-wrapper .dropdown-item {
13936
+ display: flex;
13937
+ align-items: center;
13938
+ gap: 10px;
13939
+ width: 100%;
13940
+ padding: 7px 12px;
13941
+ border: none;
13942
+ border-radius: 4px;
13943
+ background: transparent;
13944
+ color: #3c4043;
13945
+ font-size: 13px;
13946
+ cursor: pointer;
13947
+ text-align: left;
13948
+ white-space: nowrap;
13949
+ transition: background 0.12s ease;
13950
+ }
13951
+ .rf-rte-wrapper .dropdown-item svg {
13952
+ width: 16px;
13953
+ height: 16px;
13954
+ flex-shrink: 0;
13955
+ }
13956
+ .rf-rte-wrapper .dropdown-item:hover {
13957
+ background: #e8eaed;
13958
+ color: #202124;
13959
+ }
13960
+ .rf-rte-wrapper .dropdown-item.is-active {
13961
+ background: #d3e3fd;
13962
+ color: #041e49;
13963
+ font-weight: 500;
13964
+ }
13965
+ .rf-rte-wrapper .dropdown-item.heading-1 {
13966
+ font-size: 20px;
13967
+ font-weight: 700;
13968
+ }
13969
+ .rf-rte-wrapper .dropdown-item.heading-2 {
13970
+ font-size: 17px;
13971
+ font-weight: 600;
13972
+ }
13973
+ .rf-rte-wrapper .dropdown-item.heading-3 {
13974
+ font-size: 15px;
13975
+ font-weight: 600;
13976
+ }
13977
+ .rf-rte-wrapper .dropdown-item.heading-4 {
13978
+ font-size: 14px;
13979
+ font-weight: 600;
13980
+ }
13981
+ .rf-rte-wrapper .dropdown-item.heading-5 {
13982
+ font-size: 13px;
13983
+ font-weight: 600;
13984
+ }
13985
+ .rf-rte-wrapper .dropdown-item.heading-6 {
13986
+ font-size: 12px;
13987
+ font-weight: 600;
13988
+ }
13989
+ .rf-rte-wrapper .dropdown-menu:has(.font-size-item) {
13990
+ max-height: 300px;
13991
+ overflow-y: auto;
13992
+ min-width: 80px;
13993
+ }
13994
+ .rf-rte-wrapper .font-size-item {
13995
+ justify-content: center;
13996
+ font-size: 13px;
13997
+ }
13998
+ .rf-rte-wrapper .dropdown-menu:has(.font-family-item) {
13999
+ max-height: 320px;
14000
+ overflow-y: auto;
14001
+ min-width: 180px;
14002
+ }
14003
+ .rf-rte-wrapper .font-family-item {
14004
+ font-size: 14px;
14005
+ padding: 8px 12px;
14006
+ }
14007
+ .rf-rte-wrapper .dropdown-menu:has(.line-height-item) {
14008
+ max-height: 300px;
14009
+ overflow-y: auto;
14010
+ min-width: 70px;
14011
+ }
14012
+ .rf-rte-wrapper .line-height-item {
14013
+ justify-content: center;
14014
+ font-size: 13px;
14015
+ padding: 6px 12px;
14016
+ }
14017
+ .rf-rte-wrapper .bullet-style-item {
14018
+ font-size: 14px;
14019
+ padding: 8px 12px;
14020
+ gap: 10px;
14021
+ }
14022
+ .rf-rte-wrapper .bullet-style-icon {
14023
+ display: inline-flex;
14024
+ align-items: center;
14025
+ justify-content: center;
14026
+ width: 18px;
14027
+ font-size: 16px;
14028
+ color: #374151;
14029
+ }
14030
+ .rf-rte-wrapper .align-item {
14031
+ font-size: 14px;
14032
+ padding: 8px 12px;
14033
+ gap: 10px;
14034
+ }
14035
+ .rf-rte-wrapper .align-icon {
14036
+ display: inline-flex;
14037
+ flex-direction: column;
14038
+ gap: 2px;
14039
+ width: 16px;
14040
+ }
14041
+ .rf-rte-wrapper .align-line {
14042
+ display: block;
14043
+ height: 2px;
14044
+ width: 100%;
14045
+ background: currentColor;
14046
+ border-radius: 1px;
14047
+ }
14048
+ .rf-rte-wrapper .align-line.short {
14049
+ width: 60%;
14050
+ }
14051
+ .rf-rte-wrapper .align-line.short-left {
14052
+ width: 60%;
14053
+ align-self: flex-start;
14054
+ }
14055
+ .rf-rte-wrapper .align-line.short-center {
14056
+ width: 60%;
14057
+ align-self: center;
14058
+ }
14059
+ .rf-rte-wrapper .align-line.short-right {
14060
+ width: 60%;
14061
+ align-self: flex-end;
14062
+ }
14063
+ .rf-rte-wrapper .indent-icon {
14064
+ display: inline-flex;
14065
+ align-items: center;
14066
+ gap: 2px;
14067
+ }
14068
+ .rf-rte-wrapper .indent-arrow {
14069
+ font-size: 10px;
14070
+ line-height: 1;
14071
+ }
14072
+ .rf-rte-wrapper .indent-lines {
14073
+ display: inline-flex;
14074
+ flex-direction: column;
14075
+ gap: 2px;
14076
+ width: 12px;
14077
+ }
14078
+ .rf-rte-wrapper .indent-lines .align-line {
14079
+ height: 1.5px;
14080
+ }
14081
+ .rf-rte-wrapper .color-grid {
14082
+ display: grid;
14083
+ grid-template-columns: repeat(5, 1fr);
14084
+ gap: 4px;
14085
+ padding: 6px;
14086
+ }
14087
+ .rf-rte-wrapper .color-swatch {
14088
+ width: 24px;
14089
+ height: 24px;
14090
+ border: 2px solid #e5e7eb;
14091
+ border-radius: 4px;
14092
+ cursor: pointer;
14093
+ transition: transform 0.1s, border-color 0.1s;
14094
+ }
14095
+ .rf-rte-wrapper .color-swatch:hover {
14096
+ transform: scale(1.2);
14097
+ border-color: #6366f1;
14098
+ }
14099
+ .rf-rte-wrapper .color-picker-panel {
14100
+ padding: 8px;
14101
+ min-width: 260px;
14102
+ }
14103
+ .rf-rte-wrapper .color-picker-tabs {
14104
+ display: flex;
14105
+ border-bottom: 1px solid #e5e7eb;
14106
+ margin-bottom: 8px;
14107
+ }
14108
+ .rf-rte-wrapper .color-picker-tab {
14109
+ flex: 1;
14110
+ padding: 6px 0;
14111
+ border: none;
14112
+ background: transparent;
14113
+ color: #6b7280;
14114
+ font-size: 13px;
14115
+ font-weight: 500;
14116
+ cursor: pointer;
14117
+ border-bottom: 2px solid transparent;
14118
+ transition: color 0.15s, border-color 0.15s;
14119
+ }
14120
+ .rf-rte-wrapper .color-picker-tab:hover {
14121
+ color: #374151;
14122
+ }
14123
+ .rf-rte-wrapper .color-picker-tab.active {
14124
+ color: #111827;
14125
+ border-bottom-color: #111827;
14126
+ }
14127
+ .rf-rte-wrapper .color-picker-grid {
14128
+ display: grid;
14129
+ grid-template-columns: repeat(10, 1fr);
14130
+ gap: 2px;
14131
+ padding: 4px 0;
14132
+ }
14133
+ .rf-rte-wrapper .color-picker-swatch {
14134
+ width: 22px;
14135
+ height: 22px;
14136
+ border: none;
14137
+ border-radius: 2px;
14138
+ cursor: pointer;
14139
+ transition: transform 0.1s, box-shadow 0.1s;
14140
+ padding: 0;
14141
+ }
14142
+ .rf-rte-wrapper .color-picker-swatch:hover {
14143
+ transform: scale(1.25);
14144
+ box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.3);
14145
+ z-index: 1;
14146
+ position: relative;
14147
+ }
14148
+ .rf-rte-wrapper .color-picker-swatch.white-swatch {
14149
+ border: 1px solid #d1d5db;
14150
+ }
14151
+ .rf-rte-wrapper .color-picker-swatch.swatch-active {
14152
+ box-shadow: 0 0 0 2px #444746;
14153
+ border-radius: 3px;
14154
+ z-index: 1;
14155
+ position: relative;
14156
+ }
14157
+ .rf-rte-wrapper .color-picker-footer {
14158
+ display: flex;
14159
+ align-items: center;
14160
+ gap: 8px;
14161
+ margin-top: 8px;
14162
+ padding-top: 8px;
14163
+ border-top: 1px solid #e5e7eb;
14164
+ }
14165
+ .rf-rte-wrapper .color-picker-preview {
14166
+ flex: 1;
14167
+ height: 28px;
14168
+ border-radius: 4px;
14169
+ border: 1px solid #e5e7eb;
14170
+ }
14171
+ .rf-rte-wrapper .color-picker-remove {
14172
+ width: 28px;
14173
+ height: 28px;
14174
+ border: 1px solid #e5e7eb;
14175
+ border-radius: 4px;
14176
+ background: #fff;
14177
+ cursor: pointer;
14178
+ display: flex;
14179
+ align-items: center;
14180
+ justify-content: center;
14181
+ font-size: 14px;
14182
+ color: #374151;
14183
+ }
14184
+ .rf-rte-wrapper .color-picker-remove:hover {
14185
+ background: #f3f4f6;
14186
+ }
14187
+ .rf-rte-wrapper .insert-panel {
14188
+ padding: 12px;
14189
+ min-width: 260px;
14190
+ }
14191
+ .rf-rte-wrapper .insert-panel-tabs {
14192
+ display: flex;
14193
+ gap: 0;
14194
+ margin-bottom: 12px;
14195
+ border: 1px solid #e5e7eb;
14196
+ border-radius: 6px;
14197
+ overflow: hidden;
14198
+ }
14199
+ .rf-rte-wrapper .insert-tab {
14200
+ flex: 1;
14201
+ padding: 8px 12px;
14202
+ border: none;
14203
+ background: #fff;
14204
+ color: #6b7280;
14205
+ font-size: 13px;
14206
+ cursor: pointer;
14207
+ display: flex;
14208
+ align-items: center;
14209
+ justify-content: center;
14210
+ gap: 6px;
14211
+ transition: background 0.12s, color 0.12s;
14212
+ }
14213
+ .rf-rte-wrapper .insert-tab:hover {
14214
+ background: #f9fafb;
14215
+ }
14216
+ .rf-rte-wrapper .insert-tab.active {
14217
+ background: #f3f4f6;
14218
+ color: #111827;
14219
+ font-weight: 600;
14220
+ }
14221
+ .rf-rte-wrapper .insert-tab + .insert-tab {
14222
+ border-left: 1px solid #e5e7eb;
14223
+ }
14224
+ .rf-rte-wrapper .insert-panel-label {
14225
+ display: block;
14226
+ font-size: 12px;
14227
+ color: #9ca3af;
14228
+ margin-bottom: 6px;
14229
+ text-transform: uppercase;
14230
+ letter-spacing: 0.05em;
14231
+ }
14232
+ .rf-rte-wrapper .insert-panel-input {
14233
+ width: 100%;
14234
+ padding: 8px 12px;
14235
+ border: 1px solid #d1d5db;
14236
+ border-radius: 6px;
14237
+ font-size: 14px;
14238
+ color: #1f2937;
14239
+ outline: none;
14240
+ box-sizing: border-box;
14241
+ transition: border-color 0.15s;
14242
+ }
14243
+ .rf-rte-wrapper .insert-panel-input:focus {
14244
+ border-color: #6366f1;
14245
+ }
14246
+ .rf-rte-wrapper .insert-panel-textarea {
14247
+ width: 100%;
14248
+ padding: 8px 12px;
14249
+ border: 1px solid #d1d5db;
14250
+ border-radius: 6px;
14251
+ font-size: 13px;
14252
+ font-family:
14253
+ "Fira Code",
14254
+ "Consolas",
14255
+ monospace;
14256
+ color: #1f2937;
14257
+ outline: none;
14258
+ resize: vertical;
14259
+ box-sizing: border-box;
14260
+ transition: border-color 0.15s;
14261
+ }
14262
+ .rf-rte-wrapper .insert-panel-textarea:focus {
14263
+ border-color: #6366f1;
14264
+ }
14265
+ .rf-rte-wrapper .insert-panel-btn {
14266
+ margin-top: 10px;
14267
+ padding: 8px 20px;
14268
+ border: none;
14269
+ border-radius: 6px;
14270
+ background: #dc2626;
14271
+ color: #fff;
14272
+ font-size: 14px;
14273
+ font-weight: 600;
14274
+ cursor: pointer;
14275
+ transition: background 0.15s;
14276
+ }
14277
+ .rf-rte-wrapper .insert-panel-btn:hover {
14278
+ background: #b91c1c;
14279
+ }
14280
+ .rf-rte-wrapper .drop-zone {
14281
+ display: flex;
14282
+ flex-direction: column;
14283
+ align-items: center;
14284
+ justify-content: center;
14285
+ padding: 24px 16px;
14286
+ border: 2px dashed #d1d5db;
14287
+ border-radius: 8px;
14288
+ cursor: pointer;
14289
+ transition: border-color 0.15s, background 0.15s;
14290
+ gap: 2px;
14291
+ }
14292
+ .rf-rte-wrapper .drop-zone:hover {
14293
+ border-color: #9ca3af;
14294
+ background: #f9fafb;
14295
+ }
14296
+ .rf-rte-wrapper .drop-zone.dragging {
14297
+ border-color: #6366f1;
14298
+ background: #eef2ff;
14299
+ }
14300
+ .rf-rte-wrapper .drop-zone-text-bold {
14301
+ font-size: 14px;
14302
+ font-weight: 700;
14303
+ color: #1f2937;
14304
+ }
14305
+ .rf-rte-wrapper .drop-zone-text-sub {
14306
+ font-size: 13px;
14307
+ color: #9ca3af;
14308
+ }
14309
+ .rf-rte-wrapper .char-grid {
14310
+ display: grid;
14311
+ grid-template-columns: repeat(6, 1fr);
14312
+ gap: 2px;
14313
+ padding: 6px;
14314
+ max-height: 200px;
14315
+ overflow-y: auto;
14316
+ }
14317
+ .rf-rte-wrapper .char-btn {
14318
+ width: 32px;
14319
+ height: 32px;
14320
+ border: 1px solid #e5e7eb;
14321
+ border-radius: 4px;
14322
+ background: #fff;
14323
+ font-size: 16px;
14324
+ cursor: pointer;
14325
+ display: flex;
14326
+ align-items: center;
14327
+ justify-content: center;
14328
+ transition: background 0.1s;
14329
+ }
14330
+ .rf-rte-wrapper .char-btn:hover {
14331
+ background: #eef2ff;
14332
+ border-color: #6366f1;
14333
+ }
14334
+ .rf-rte-wrapper .task-status-item {
14335
+ gap: 8px;
14336
+ }
14337
+ .rf-rte-wrapper .task-icon {
14338
+ display: inline-flex;
14339
+ align-items: center;
14340
+ justify-content: center;
14341
+ width: 18px;
14342
+ height: 18px;
14343
+ border-radius: 3px;
14344
+ font-size: 12px;
14345
+ line-height: 1;
14346
+ }
14347
+ .rf-rte-wrapper .task-icon.task-todo {
14348
+ color: #dc2626;
14349
+ border: 2px solid #dc2626;
14350
+ }
14351
+ .rf-rte-wrapper .task-icon.task-working {
14352
+ color: #2563eb;
14353
+ border: 2px solid #2563eb;
14354
+ }
14355
+ .rf-rte-wrapper .task-icon.task-blocked {
14356
+ color: #1f2937;
14357
+ background: #1f2937;
14358
+ }
14359
+ .rf-rte-wrapper .task-icon.task-resolved {
14360
+ color: #16a34a;
14361
+ border: 2px solid #16a34a;
14362
+ }
14363
+ .rf-rte-wrapper .editor-content-wrapper {
14364
+ flex: 1;
14365
+ display: flex;
14366
+ flex-direction: column;
14367
+ min-height: 0;
14368
+ position: relative;
14369
+ z-index: 1;
14370
+ }
14371
+ .rf-rte-wrapper .tiptap {
14372
+ padding: 24px 32px;
14373
+ min-height: 0;
14374
+ flex: 1;
14375
+ overflow-y: auto;
14376
+ outline: none;
14377
+ font-size: 16px;
14378
+ line-height: 1.75;
14379
+ color: #1e293b;
14380
+ text-align: left;
14381
+ }
14382
+ .rf-rte-wrapper .tiptap:focus {
14383
+ outline: none;
14384
+ }
14385
+ .rf-rte-wrapper .tiptap h1 {
14386
+ font-size: 2em;
14387
+ font-weight: 700;
14388
+ margin: 1em 0 0.4em;
14389
+ line-height: 1.2;
14390
+ }
14391
+ .rf-rte-wrapper .tiptap h2 {
14392
+ font-size: 1.5em;
14393
+ font-weight: 600;
14394
+ margin: 0.8em 0 0.4em;
14395
+ line-height: 1.3;
14396
+ }
14397
+ .rf-rte-wrapper .tiptap h3 {
14398
+ font-size: 1.25em;
14399
+ font-weight: 600;
14400
+ margin: 0.6em 0 0.3em;
14401
+ line-height: 1.4;
14402
+ }
14403
+ .rf-rte-wrapper .tiptap h4 {
14404
+ font-size: 1.1em;
14405
+ font-weight: 600;
14406
+ margin: 0.5em 0 0.25em;
14407
+ }
14408
+ .rf-rte-wrapper .tiptap h5 {
14409
+ font-size: 1em;
14410
+ font-weight: 600;
14411
+ margin: 0.5em 0 0.25em;
14412
+ }
14413
+ .rf-rte-wrapper .tiptap h6 {
14414
+ font-size: 0.9em;
14415
+ font-weight: 600;
14416
+ margin: 0.5em 0 0.25em;
14417
+ text-transform: uppercase;
14418
+ letter-spacing: 0.05em;
14419
+ }
14420
+ .rf-rte-wrapper .tiptap p {
14421
+ margin: 0.5em 0;
14422
+ }
14423
+ .rf-rte-wrapper .tiptap ul,
14424
+ .rf-rte-wrapper .tiptap ol {
14425
+ padding-left: 24px;
14426
+ margin: 0.5em 0;
14427
+ }
14428
+ .rf-rte-wrapper .tiptap li {
14429
+ margin: 0.25em 0;
14430
+ }
14431
+ .rf-rte-wrapper .tiptap ul[data-type=taskList] {
14432
+ list-style: none;
14433
+ padding-left: 24px;
14434
+ }
14435
+ .rf-rte-wrapper .tiptap ul[data-type=taskList] li.task-item {
14436
+ display: flex;
14437
+ align-items: flex-start;
14438
+ gap: 8px;
14439
+ margin: 4px 0;
14440
+ }
14441
+ .rf-rte-wrapper .tiptap ul[data-type=taskList] li.task-item > label {
14442
+ flex-shrink: 0;
14443
+ margin-top: 3px;
14444
+ }
14445
+ .rf-rte-wrapper .task-checkbox {
14446
+ display: inline-flex;
14447
+ align-items: center;
14448
+ justify-content: center;
14449
+ width: 20px;
14450
+ height: 20px;
14451
+ border-radius: 3px;
14452
+ cursor: pointer;
14453
+ font-size: 13px;
14454
+ font-weight: 700;
14455
+ line-height: 1;
14456
+ user-select: none;
14457
+ transition: all 0.15s ease;
14458
+ }
14459
+ .rf-rte-wrapper .task-status-todo {
14460
+ border: 2px solid #dc2626;
14461
+ color: #dc2626;
14462
+ background: #fff;
14463
+ }
14464
+ .rf-rte-wrapper .task-status-working {
14465
+ border: 2px solid #2563eb;
14466
+ color: #2563eb;
14467
+ background: #eff6ff;
14468
+ }
14469
+ .rf-rte-wrapper .task-status-blocked {
14470
+ border: 2px solid #1f2937;
14471
+ color: #fff;
14472
+ background: #1f2937;
14473
+ }
14474
+ .rf-rte-wrapper .task-status-resolved {
14475
+ border: 2px solid #16a34a;
14476
+ color: #fff;
14477
+ background: #16a34a;
14478
+ }
14479
+ .rf-rte-wrapper .task-checkbox:hover {
14480
+ opacity: 0.8;
14481
+ transform: scale(1.1);
14482
+ }
14483
+ .rf-rte-wrapper .tiptap ul[data-type=taskList] li.task-item .task-item-content {
14484
+ flex: 1;
14485
+ }
14486
+ .rf-rte-wrapper .tiptap ul[data-type=taskList] li.task-item[data-status=resolved] .task-item-content {
14487
+ text-decoration: line-through;
14488
+ color: #9ca3af;
14489
+ }
14490
+ .rf-rte-wrapper .tts-wrapper {
14491
+ position: relative;
14492
+ display: inline-flex;
14493
+ align-items: center;
14494
+ gap: 2px;
14495
+ }
14496
+ .rf-rte-wrapper .tts-panel {
14497
+ position: absolute;
14498
+ top: 100%;
14499
+ left: 0;
14500
+ z-index: 100;
14501
+ background: #fff;
14502
+ border: 1px solid #e5e7eb;
14503
+ border-radius: 8px;
14504
+ box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
14505
+ padding: 12px;
14506
+ min-width: 240px;
14507
+ margin-top: 4px;
14508
+ }
14509
+ .rf-rte-wrapper .tts-panel-header {
14510
+ font-weight: 600;
14511
+ font-size: 13px;
14512
+ color: #374151;
14513
+ margin-bottom: 10px;
14514
+ padding-bottom: 6px;
14515
+ border-bottom: 1px solid #e5e7eb;
14516
+ }
14517
+ .rf-rte-wrapper .tts-label {
14518
+ display: block;
14519
+ font-size: 11px;
14520
+ font-weight: 600;
14521
+ color: #6b7280;
14522
+ margin-bottom: 4px;
14523
+ margin-top: 8px;
14524
+ }
14525
+ .rf-rte-wrapper .tts-select {
14526
+ width: 100%;
14527
+ padding: 5px 8px;
14528
+ border: 1px solid #d1d5db;
14529
+ border-radius: 4px;
14530
+ font-size: 12px;
14531
+ background: #fff;
14532
+ color: #374151;
14533
+ }
14534
+ .rf-rte-wrapper .tts-range {
14535
+ width: 100%;
14536
+ margin: 4px 0;
14537
+ accent-color: #6366f1;
14538
+ }
14539
+ .rf-rte-wrapper .tts-info {
14540
+ font-size: 11px;
14541
+ color: #9ca3af;
14542
+ margin: 8px 0;
14543
+ font-style: italic;
14544
+ }
14545
+ .rf-rte-wrapper .tts-speak-btn {
14546
+ width: 100%;
14547
+ padding: 7px 12px;
14548
+ background: #6366f1;
14549
+ color: #fff;
14550
+ border: none;
14551
+ border-radius: 6px;
14552
+ font-size: 13px;
14553
+ font-weight: 600;
14554
+ cursor: pointer;
14555
+ transition: background 0.15s;
14556
+ }
14557
+ .rf-rte-wrapper .tts-speak-btn:hover {
14558
+ background: #4f46e5;
14559
+ }
14560
+ .rf-rte-wrapper .tts-controls {
14561
+ display: inline-flex;
14562
+ gap: 2px;
14563
+ }
14564
+ .rf-rte-wrapper .stt-wrapper {
14565
+ position: relative;
14566
+ display: inline-flex;
14567
+ align-items: center;
14568
+ gap: 2px;
14569
+ }
14570
+ .rf-rte-wrapper .stt-recording {
14571
+ color: #dc2626 !important;
14572
+ animation: stt-pulse 1.2s ease-in-out infinite;
14573
+ }
14574
+ @keyframes stt-pulse {
14575
+ 0%, 100% {
14576
+ opacity: 1;
14577
+ }
14578
+ 50% {
14579
+ opacity: 0.4;
14580
+ }
14581
+ }
14582
+ .rf-rte-wrapper .stt-panel {
14583
+ position: absolute;
14584
+ top: 100%;
14585
+ left: 0;
14586
+ z-index: 100;
14587
+ background: #fff;
14588
+ border: 1px solid #e5e7eb;
14589
+ border-radius: 8px;
14590
+ box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
14591
+ padding: 12px;
14592
+ min-width: 240px;
14593
+ margin-top: 4px;
14594
+ }
14595
+ .rf-rte-wrapper .stt-panel-header {
14596
+ font-weight: 600;
14597
+ font-size: 13px;
14598
+ color: #374151;
14599
+ margin-bottom: 10px;
14600
+ padding-bottom: 6px;
14601
+ border-bottom: 1px solid #e5e7eb;
14602
+ }
14603
+ .rf-rte-wrapper .stt-label {
14604
+ display: block;
14605
+ font-size: 11px;
14606
+ font-weight: 600;
14607
+ color: #6b7280;
14608
+ margin-bottom: 4px;
14609
+ margin-top: 8px;
14610
+ }
14611
+ .rf-rte-wrapper .stt-select {
14612
+ width: 100%;
14613
+ padding: 5px 8px;
14614
+ border: 1px solid #d1d5db;
14615
+ border-radius: 4px;
14616
+ font-size: 12px;
14617
+ background: #fff;
14618
+ color: #374151;
14619
+ }
14620
+ .rf-rte-wrapper .stt-info {
14621
+ font-size: 11px;
14622
+ color: #9ca3af;
14623
+ margin: 10px 0;
14624
+ font-style: italic;
14625
+ line-height: 1.4;
14626
+ }
14627
+ .rf-rte-wrapper .stt-start-btn {
14628
+ width: 100%;
14629
+ padding: 7px 12px;
14630
+ background: #dc2626;
14631
+ color: #fff;
14632
+ border: none;
14633
+ border-radius: 6px;
14634
+ font-size: 13px;
14635
+ font-weight: 600;
14636
+ cursor: pointer;
14637
+ transition: background 0.15s;
14638
+ }
14639
+ .rf-rte-wrapper .stt-start-btn:hover {
14640
+ background: #b91c1c;
14641
+ }
14642
+ .rf-rte-wrapper .stt-interim {
14643
+ position: absolute;
14644
+ top: 100%;
14645
+ left: 0;
14646
+ z-index: 100;
14647
+ background: #fef3c7;
14648
+ border: 1px solid #fbbf24;
14649
+ border-radius: 6px;
14650
+ padding: 6px 10px;
14651
+ font-size: 12px;
14652
+ color: #92400e;
14653
+ margin-top: 4px;
14654
+ min-width: 200px;
14655
+ max-width: 400px;
14656
+ white-space: pre-wrap;
14657
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
14658
+ }
14659
+ .rf-rte-wrapper .tiptap blockquote {
14660
+ border-left: 3px solid #6366f1;
14661
+ margin: 0.8em 0;
14662
+ padding: 0.4em 0 0.4em 16px;
14663
+ color: #4b5563;
14664
+ background: #f9fafb;
14665
+ border-radius: 0 4px 4px 0;
14666
+ }
14667
+ .rf-rte-wrapper .tiptap code {
14668
+ background: #f3f4f6;
14669
+ border-radius: 4px;
14670
+ padding: 2px 6px;
14671
+ font-size: 0.9em;
14672
+ color: #e11d48;
14673
+ font-family:
14674
+ "Fira Code",
14675
+ "Consolas",
14676
+ monospace;
14677
+ }
14678
+ .rf-rte-wrapper .tiptap pre {
14679
+ background: #1e1e2e;
14680
+ color: #cdd6f4;
14681
+ border-radius: 8px;
14682
+ padding: 16px;
14683
+ margin: 0.8em 0;
14684
+ overflow-x: auto;
14685
+ }
14686
+ .rf-rte-wrapper .tiptap pre code {
14687
+ background: none;
14688
+ color: inherit;
14689
+ padding: 0;
14690
+ font-size: 0.9em;
14691
+ }
14692
+ .rf-rte-wrapper .tiptap hr {
14693
+ border: none;
14694
+ border-top: 2px solid #e5e7eb;
14695
+ margin: 1.5em 0;
14696
+ }
14697
+ .rf-rte-wrapper .tiptap strong {
14698
+ font-weight: 700;
14699
+ }
14700
+ .rf-rte-wrapper .tiptap em {
14701
+ font-style: italic;
14702
+ }
14703
+ .rf-rte-wrapper .tiptap s {
14704
+ text-decoration: line-through;
14705
+ color: #9ca3af;
14706
+ }
14707
+ .rf-rte-wrapper .tiptap u {
14708
+ text-decoration: underline;
14709
+ }
14710
+ .rf-rte-wrapper .tiptap mark {
14711
+ border-radius: 2px;
14712
+ padding: 1px 2px;
14713
+ }
14714
+ .rf-rte-wrapper .tiptap table {
14715
+ border-collapse: collapse;
14716
+ width: 100%;
14717
+ margin: 0.8em 0;
14718
+ overflow: hidden;
14719
+ border-radius: 4px;
14720
+ }
14721
+ .rf-rte-wrapper .tiptap table td,
14722
+ .rf-rte-wrapper .tiptap table th {
14723
+ border: 1px solid #d1d5db;
14724
+ padding: 8px 12px;
14725
+ min-width: 80px;
14726
+ vertical-align: top;
14727
+ position: relative;
14728
+ }
14729
+ .rf-rte-wrapper .tiptap table th {
14730
+ background: #f3f4f6;
14731
+ font-weight: 600;
14732
+ text-align: left;
14733
+ }
14734
+ .rf-rte-wrapper .tiptap table td.selectedCell,
14735
+ .rf-rte-wrapper .tiptap table th.selectedCell {
14736
+ background: #eef2ff;
14737
+ }
14738
+ .rf-rte-wrapper .tiptap .tableWrapper {
14739
+ overflow-x: auto;
14740
+ margin: 0.8em 0;
14741
+ }
14742
+ .rf-rte-wrapper .tiptap .resize-cursor {
14743
+ cursor: col-resize;
14744
+ }
14745
+ .rf-rte-wrapper .tiptap div[data-youtube-video] {
14746
+ margin: 0.8em 0;
14747
+ }
14748
+ .rf-rte-wrapper .tiptap div[data-youtube-video] iframe {
14749
+ border-radius: 8px;
14750
+ max-width: 100%;
14751
+ }
14752
+ .rf-rte-wrapper .bubble-menu {
14753
+ display: flex;
14754
+ gap: 2px;
14755
+ padding: 4px 6px;
14756
+ background: #1e293b;
14757
+ border-radius: 10px;
14758
+ box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3);
14759
+ }
14760
+ .rf-rte-wrapper .bubble-menu button {
14761
+ padding: 5px 10px;
14762
+ border: none;
14763
+ border-radius: 6px;
14764
+ background: transparent;
14765
+ color: #cbd5e1;
14766
+ font-size: 13px;
14767
+ cursor: pointer;
14768
+ transition: all 0.15s ease;
14769
+ line-height: 1;
14770
+ }
14771
+ .rf-rte-wrapper .bubble-menu button:hover {
14772
+ background: #334155;
14773
+ color: #f8fafc;
14774
+ }
14775
+ .rf-rte-wrapper .bubble-menu button.is-active {
14776
+ background: #6366f1;
14777
+ color: #fff;
14778
+ }
14779
+ .rf-rte-wrapper .floating-menu {
14780
+ display: flex;
14781
+ gap: 2px;
14782
+ padding: 4px 6px;
14783
+ background: #fff;
14784
+ border: 1px solid #e2e8f0;
14785
+ border-radius: 10px;
14786
+ box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
14787
+ }
14788
+ .rf-rte-wrapper .floating-menu button {
14789
+ padding: 4px 8px;
14790
+ border: none;
14791
+ border-radius: 4px;
14792
+ background: transparent;
14793
+ color: #6b7280;
14794
+ font-size: 13px;
14795
+ cursor: pointer;
14796
+ transition: background 0.15s, color 0.15s;
14797
+ line-height: 1;
14798
+ }
14799
+ .rf-rte-wrapper .floating-menu button:hover {
14800
+ background: #f3f4f6;
14801
+ color: #1f2937;
14802
+ }
14803
+ .rf-rte-wrapper .floating-menu button.is-active {
14804
+ background: #6366f1;
14805
+ color: #fff;
14806
+ }
14807
+ .rf-rte-wrapper .tiptap p.is-editor-empty:first-child::before {
14808
+ content: attr(data-placeholder);
14809
+ float: left;
14810
+ color: #94a3b8;
14811
+ pointer-events: none;
14812
+ height: 0;
14813
+ font-style: italic;
14814
+ }
14815
+ .rf-rte-wrapper .tiptap .editor-link {
14816
+ color: #6366f1;
14817
+ text-decoration: underline;
14818
+ text-underline-offset: 2px;
14819
+ cursor: pointer;
14820
+ }
14821
+ .rf-rte-wrapper .tiptap .editor-link:hover {
14822
+ color: #4f46e5;
14823
+ }
14824
+ .rf-rte-wrapper .tiptap img {
14825
+ max-width: 100%;
14826
+ height: auto;
14827
+ border-radius: 8px;
14828
+ margin: 0.8em 0;
14829
+ }
14830
+ .rf-rte-wrapper .tiptap img.ProseMirror-selectednode {
14831
+ outline: 2px solid #6366f1;
14832
+ outline-offset: 2px;
14833
+ }
14834
+ .rf-rte-wrapper .status-bar {
14835
+ display: flex;
14836
+ justify-content: space-between;
14837
+ align-items: center;
14838
+ padding: 8px 16px;
14839
+ border-top: 1px solid #dadce0;
14840
+ background: #f9fbfd;
14841
+ font-size: 12px;
14842
+ border-radius: 0 0 8px 8px;
14843
+ flex-shrink: 0;
14844
+ }
14845
+ .rf-rte-wrapper .status-bar-left {
14846
+ display: flex;
14847
+ align-items: center;
14848
+ gap: 8px;
14849
+ }
14850
+ .rf-rte-wrapper .status-bar-right {
14851
+ display: flex;
14852
+ align-items: center;
14853
+ gap: 14px;
14854
+ }
14855
+ .rf-rte-wrapper .format-select {
14856
+ padding: 4px 10px;
14857
+ border: 1px solid #e2e8f0;
14858
+ border-radius: 6px;
14859
+ background: #fff;
14860
+ font-size: 12px;
14861
+ color: #64748b;
14862
+ cursor: pointer;
14863
+ transition: border-color 0.15s;
14864
+ }
14865
+ .rf-rte-wrapper .format-select:hover {
14866
+ border-color: #94a3b8;
14867
+ }
14868
+ .rf-rte-wrapper .status-btn {
14869
+ padding: 5px 14px;
14870
+ border: none;
14871
+ border-radius: 6px;
14872
+ font-size: 12px;
14873
+ font-weight: 500;
14874
+ cursor: pointer;
14875
+ transition: all 0.15s ease;
14876
+ }
14877
+ .rf-rte-wrapper .save-btn {
14878
+ background: #6366f1;
14879
+ color: #fff;
14880
+ }
14881
+ .rf-rte-wrapper .save-btn:hover {
14882
+ background: #4f46e5;
14883
+ box-shadow: 0 2px 4px rgba(99, 102, 241, 0.3);
14884
+ }
14885
+ .rf-rte-wrapper .export-btn {
14886
+ background: #f1f5f9;
14887
+ color: #475569;
14888
+ border: 1px solid #e2e8f0;
14889
+ }
14890
+ .rf-rte-wrapper .export-btn:hover {
14891
+ background: #e2e8f0;
14892
+ border-color: #cbd5e1;
14893
+ }
14894
+ .rf-rte-wrapper .clear-btn {
14895
+ background: transparent;
14896
+ color: #94a3b8;
14897
+ }
14898
+ .rf-rte-wrapper .clear-btn:hover {
14899
+ background: #fef2f2;
14900
+ color: #ef4444;
14901
+ }
14902
+ .rf-rte-wrapper .save-status {
14903
+ color: #22c55e;
14904
+ font-weight: 500;
14905
+ }
14906
+ .rf-rte-wrapper .word-count {
14907
+ color: #5f6368;
14908
+ font-weight: 500;
14909
+ font-size: 11px;
14910
+ letter-spacing: 0.5px;
14911
+ text-transform: uppercase;
14912
+ }
14913
+ .rf-rte-wrapper .image-toolbar {
14914
+ display: flex;
14915
+ align-items: center;
14916
+ gap: 3px;
14917
+ padding: 5px 6px;
14918
+ background: #1e293b;
14919
+ border-radius: 10px;
14920
+ box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3);
14921
+ position: absolute;
14922
+ z-index: 100;
14923
+ transform: translateY(4px);
14924
+ }
14925
+ .rf-rte-wrapper .img-tool-btn {
14926
+ display: inline-flex;
14927
+ align-items: center;
14928
+ justify-content: center;
14929
+ padding: 5px 8px;
14930
+ border: none;
14931
+ border-radius: 6px;
14932
+ background: transparent;
14933
+ color: #cbd5e1;
14934
+ font-size: 14px;
14935
+ cursor: pointer;
14936
+ transition: all 0.15s ease;
14937
+ line-height: 1;
14938
+ gap: 3px;
14939
+ }
14940
+ .rf-rte-wrapper .img-tool-btn:hover {
14941
+ background: #334155;
14942
+ color: #f8fafc;
14943
+ }
14944
+ .rf-rte-wrapper .img-tool-copy-wrapper {
14945
+ position: relative;
14946
+ display: inline-flex;
14947
+ }
14948
+ .rf-rte-wrapper .img-copy-toast {
14949
+ position: absolute;
14950
+ bottom: 100%;
14951
+ left: 50%;
14952
+ transform: translateX(-50%);
14953
+ background: #22c55e;
14954
+ color: #fff;
14955
+ font-size: 11px;
14956
+ font-weight: 600;
14957
+ padding: 4px 10px;
14958
+ border-radius: 4px;
14959
+ white-space: nowrap;
14960
+ pointer-events: none;
14961
+ animation: toast-fade-in 0.2s ease;
14962
+ margin-bottom: 4px;
14963
+ }
14964
+ @keyframes toast-fade-in {
14965
+ from {
14966
+ opacity: 0;
14967
+ transform: translateX(-50%) translateY(4px);
14968
+ }
14969
+ to {
14970
+ opacity: 1;
14971
+ transform: translateX(-50%) translateY(0);
14972
+ }
14973
+ }
14974
+ .rf-rte-wrapper .img-tool-dropdown {
14975
+ position: relative;
14976
+ }
14977
+ .rf-rte-wrapper .img-tool-menu {
14978
+ position: absolute;
14979
+ top: 100%;
14980
+ left: 0;
14981
+ z-index: 1001;
14982
+ min-width: 120px;
14983
+ padding: 4px;
14984
+ background: #fff;
14985
+ border: 1px solid #e5e7eb;
14986
+ border-radius: 8px;
14987
+ box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
14988
+ margin-top: 4px;
14989
+ }
14990
+ .rf-rte-wrapper .tiptap img {
14991
+ cursor: grab;
14992
+ }
14993
+ .rf-rte-wrapper .tiptap img:active {
14994
+ cursor: grabbing;
14995
+ }
14996
+ .rf-rte-wrapper .tiptap img.ProseMirror-selectednode {
14997
+ outline: 2px solid #6366f1;
14998
+ outline-offset: 2px;
14999
+ }
15000
+ .modal-overlay {
15001
+ position: fixed;
15002
+ top: 0;
15003
+ left: 0;
15004
+ right: 0;
15005
+ bottom: 0;
15006
+ background: rgba(0, 0, 0, 0.4);
15007
+ z-index: 10000;
15008
+ display: flex;
15009
+ align-items: center;
15010
+ justify-content: center;
15011
+ }
15012
+ .modal-content {
15013
+ background: #fff;
15014
+ border-radius: 12px;
15015
+ width: 680px;
15016
+ max-width: 95vw;
15017
+ max-height: 90vh;
15018
+ overflow-y: auto;
15019
+ box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2);
15020
+ }
15021
+ .modal-header {
15022
+ display: flex;
15023
+ justify-content: space-between;
15024
+ align-items: center;
15025
+ padding: 16px 20px;
15026
+ border-bottom: 1px solid #e5e7eb;
15027
+ }
15028
+ .modal-header h3 {
15029
+ margin: 0;
15030
+ font-size: 18px;
15031
+ font-weight: 600;
15032
+ color: #1f2937;
15033
+ }
15034
+ .modal-close {
15035
+ background: none;
15036
+ border: none;
15037
+ font-size: 24px;
15038
+ color: #9ca3af;
15039
+ cursor: pointer;
15040
+ padding: 0 4px;
15041
+ line-height: 1;
15042
+ }
15043
+ .modal-close:hover {
15044
+ color: #1f2937;
15045
+ }
15046
+ .modal-body {
15047
+ padding: 20px;
15048
+ }
15049
+ .modal-layout {
15050
+ display: flex;
15051
+ gap: 24px;
15052
+ }
15053
+ .modal-preview-col {
15054
+ flex: 0 0 220px;
15055
+ }
15056
+ .modal-preview {
15057
+ border: 1px solid #e5e7eb;
15058
+ border-radius: 6px;
15059
+ overflow: hidden;
15060
+ margin-bottom: 12px;
15061
+ }
15062
+ .modal-preview img {
15063
+ width: 100%;
15064
+ height: auto;
15065
+ display: block;
15066
+ }
15067
+ .modal-dimensions {
15068
+ display: flex;
15069
+ align-items: center;
15070
+ gap: 6px;
15071
+ }
15072
+ .dim-input {
15073
+ width: 80px;
15074
+ padding: 6px 8px;
15075
+ border: 1px solid #d1d5db;
15076
+ border-radius: 4px;
15077
+ font-size: 13px;
15078
+ text-align: center;
15079
+ color: #1f2937;
15080
+ }
15081
+ .lock-btn {
15082
+ background: none;
15083
+ border: none;
15084
+ font-size: 16px;
15085
+ cursor: pointer;
15086
+ padding: 4px;
15087
+ color: #6b7280;
15088
+ }
15089
+ .lock-btn.locked {
15090
+ color: #6366f1;
15091
+ }
15092
+ .modal-fields-col {
15093
+ flex: 1;
15094
+ }
15095
+ .modal-tabs {
15096
+ display: flex;
15097
+ gap: 0;
15098
+ margin-bottom: 16px;
15099
+ border: 1px solid #e5e7eb;
15100
+ border-radius: 6px;
15101
+ overflow: hidden;
15102
+ }
15103
+ .modal-tab {
15104
+ flex: 1;
15105
+ padding: 8px 16px;
15106
+ border: none;
15107
+ background: #fff;
15108
+ color: #6b7280;
15109
+ font-size: 14px;
15110
+ cursor: pointer;
15111
+ transition: background 0.12s;
15112
+ }
15113
+ .modal-tab.active {
15114
+ background: #f3f4f6;
15115
+ color: #111827;
15116
+ font-weight: 600;
15117
+ }
15118
+ .modal-tab + .modal-tab {
15119
+ border-left: 1px solid #e5e7eb;
15120
+ }
15121
+ .modal-label {
15122
+ display: block;
15123
+ font-size: 13px;
15124
+ font-weight: 500;
15125
+ color: #374151;
15126
+ margin: 12px 0 4px;
15127
+ }
15128
+ .modal-input {
15129
+ width: 100%;
15130
+ padding: 8px 10px;
15131
+ border: 1px solid #d1d5db;
15132
+ border-radius: 6px;
15133
+ font-size: 14px;
15134
+ color: #1f2937;
15135
+ outline: none;
15136
+ box-sizing: border-box;
15137
+ }
15138
+ .modal-input:focus {
15139
+ border-color: #6366f1;
15140
+ }
15141
+ .modal-checkbox {
15142
+ display: flex;
15143
+ align-items: center;
15144
+ gap: 8px;
15145
+ margin-top: 12px;
15146
+ font-size: 14px;
15147
+ color: #374151;
15148
+ cursor: pointer;
15149
+ }
15150
+ .modal-checkbox input[type=checkbox] {
15151
+ width: 16px;
15152
+ height: 16px;
15153
+ cursor: pointer;
15154
+ }
15155
+ .modal-footer {
15156
+ display: flex;
15157
+ justify-content: space-between;
15158
+ align-items: center;
15159
+ padding: 16px 20px;
15160
+ border-top: 1px solid #e5e7eb;
15161
+ }
15162
+ .modal-footer-left {
15163
+ display: flex;
15164
+ gap: 12px;
15165
+ }
15166
+ .modal-btn-cancel {
15167
+ padding: 8px 16px;
15168
+ border: none;
15169
+ background: transparent;
15170
+ color: #6b7280;
15171
+ font-size: 14px;
15172
+ cursor: pointer;
15173
+ }
15174
+ .modal-btn-cancel:hover {
15175
+ color: #1f2937;
15176
+ }
15177
+ .modal-btn-delete {
15178
+ padding: 8px 16px;
15179
+ border: none;
15180
+ background: transparent;
15181
+ color: #6b7280;
15182
+ font-size: 14px;
15183
+ cursor: pointer;
15184
+ }
15185
+ .modal-btn-delete:hover {
15186
+ color: #dc2626;
15187
+ }
15188
+ .modal-btn-apply {
15189
+ padding: 8px 24px;
15190
+ border: none;
15191
+ border-radius: 6px;
15192
+ background: #991b1b;
15193
+ color: #fff;
15194
+ font-size: 14px;
15195
+ font-weight: 600;
15196
+ cursor: pointer;
15197
+ transition: background 0.15s;
15198
+ }
15199
+ .modal-btn-apply:hover {
15200
+ background: #7f1d1d;
15201
+ }
15202
+ .rf-rte-wrapper .translate-split-btn {
15203
+ display: inline-flex;
15204
+ align-items: center;
15205
+ position: relative;
15206
+ border-radius: 4px;
15207
+ border: 1px solid transparent;
15208
+ transition: border-color 0.15s ease;
15209
+ }
15210
+ .rf-rte-wrapper .translate-split-btn:hover {
15211
+ border-color: #dadce0;
15212
+ }
15213
+ .rf-rte-wrapper .translate-split-btn .toolbar-btn {
15214
+ border-radius: 4px 0 0 4px;
15215
+ }
15216
+ .rf-rte-wrapper .translate-split-btn .toolbar-btn:hover {
15217
+ background: #f5d5d5;
15218
+ }
15219
+ .rf-rte-wrapper .translate-split-btn .dropdown {
15220
+ margin-left: -1px;
15221
+ }
15222
+ .rf-rte-wrapper .translate-split-btn .translate-arrow-btn {
15223
+ border-radius: 0 4px 4px 0;
15224
+ min-width: 18px;
15225
+ padding: 4px 2px;
15226
+ }
15227
+ .rf-rte-wrapper .translate-split-btn .translate-arrow-btn:hover {
15228
+ background: #e8eaed;
15229
+ }
15230
+ .rf-rte-wrapper .translate-icon-btn {
15231
+ display: flex;
15232
+ align-items: center;
15233
+ justify-content: center;
15234
+ }
15235
+ .rf-rte-wrapper .translate-icon-btn svg {
15236
+ width: 16px;
15237
+ height: 16px;
15238
+ }
15239
+ .rf-rte-wrapper .translate-toast-popup {
15240
+ position: absolute;
15241
+ top: 100%;
15242
+ left: 0;
15243
+ margin-top: 4px;
15244
+ white-space: nowrap;
15245
+ font-size: 11px;
15246
+ font-weight: 500;
15247
+ color: #16a34a;
15248
+ background: #fff;
15249
+ border: 1px solid #e5e7eb;
15250
+ border-radius: 4px;
15251
+ padding: 4px 10px;
15252
+ box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
15253
+ z-index: 100;
15254
+ animation: toast-fade-in 0.2s ease;
15255
+ }
15256
+ .rf-rte-wrapper .translate-toast-popup.error {
15257
+ color: #dc2626;
15258
+ }
15259
+ .translate-modal {
15260
+ max-width: 520px;
15261
+ width: 520px;
15262
+ }
15263
+ .translate-columns {
15264
+ display: flex;
15265
+ gap: 0;
15266
+ align-items: stretch;
15267
+ }
15268
+ .translate-col {
15269
+ flex: 1;
15270
+ display: flex;
15271
+ flex-direction: column;
15272
+ }
15273
+ .translate-filter {
15274
+ padding: 0 0 8px 0;
15275
+ }
15276
+ .translate-filter-input {
15277
+ width: 100%;
15278
+ padding: 7px 10px 7px 28px;
15279
+ border: 1px solid #ddd;
15280
+ border-radius: 6px;
15281
+ font-size: 13px;
15282
+ outline: none;
15283
+ background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3C/svg%3E") no-repeat 8px center;
15284
+ box-sizing: border-box;
15285
+ }
15286
+ .translate-filter-input:focus {
15287
+ border-color: #991b1b;
15288
+ }
15289
+ .translate-list {
15290
+ max-height: 260px;
15291
+ overflow-y: auto;
15292
+ border: 1px solid #eee;
15293
+ border-radius: 6px;
15294
+ }
15295
+ .translate-item {
15296
+ display: flex;
15297
+ align-items: center;
15298
+ gap: 10px;
15299
+ width: 100%;
15300
+ padding: 8px 12px;
15301
+ border: none;
15302
+ background: none;
15303
+ cursor: pointer;
15304
+ font-size: 13px;
15305
+ text-align: left;
15306
+ transition: background 0.12s;
15307
+ }
15308
+ .translate-item:hover {
15309
+ background: #f5f5f5;
15310
+ }
15311
+ .translate-item.active {
15312
+ background: #fef2f2;
15313
+ border-left: 3px solid #991b1b;
15314
+ font-weight: 600;
15315
+ }
15316
+ .translate-code {
15317
+ color: #991b1b;
15318
+ font-weight: 600;
15319
+ min-width: 32px;
15320
+ font-size: 12px;
15321
+ }
15322
+ .translate-name {
15323
+ color: #333;
15324
+ }
15325
+ .translate-swap {
15326
+ display: flex;
15327
+ align-items: center;
15328
+ justify-content: center;
15329
+ padding: 0 8px;
15330
+ }
15331
+ .translate-swap-btn {
15332
+ background: none;
15333
+ border: 1px solid #ddd;
15334
+ border-radius: 50%;
15335
+ width: 32px;
15336
+ height: 32px;
15337
+ cursor: pointer;
15338
+ font-size: 16px;
15339
+ color: #666;
15340
+ display: flex;
15341
+ align-items: center;
15342
+ justify-content: center;
15343
+ transition: all 0.15s;
15344
+ }
15345
+ .translate-swap-btn:hover {
15346
+ background: #f5f5f5;
15347
+ border-color: #999;
15348
+ color: #333;
15349
+ }
15350
+ .translate-error {
15351
+ margin-top: 10px;
15352
+ padding: 8px 12px;
15353
+ background: #fef2f2;
15354
+ border: 1px solid #fecaca;
15355
+ border-radius: 6px;
15356
+ color: #991b1b;
15357
+ font-size: 13px;
15358
+ }
15359
+ .rf-rte-wrapper .table-grid-panel {
15360
+ padding: 12px;
15361
+ min-width: auto;
15362
+ }
15363
+ .rf-rte-wrapper .table-grid {
15364
+ display: flex;
15365
+ flex-direction: column;
15366
+ gap: 3px;
15367
+ }
15368
+ .rf-rte-wrapper .table-grid-row {
15369
+ display: flex;
15370
+ gap: 3px;
15371
+ }
15372
+ .rf-rte-wrapper .table-grid-cell {
15373
+ width: 24px;
15374
+ height: 24px;
15375
+ border: 1px solid #e5e7eb;
15376
+ border-radius: 2px;
15377
+ cursor: pointer;
15378
+ transition: background 0.08s, border-color 0.08s;
15379
+ background: #fff;
15380
+ }
15381
+ .rf-rte-wrapper .table-grid-cell:hover {
15382
+ border-color: #d1d5db;
15383
+ }
15384
+ .rf-rte-wrapper .table-grid-cell.active {
15385
+ background: #fce7f3;
15386
+ border-color: #f9a8d4;
15387
+ }
15388
+ .rf-rte-wrapper .table-grid-footer {
15389
+ display: flex;
15390
+ align-items: center;
15391
+ justify-content: space-between;
15392
+ margin-top: 10px;
15393
+ padding-top: 8px;
15394
+ }
15395
+ .rf-rte-wrapper .table-grid-size {
15396
+ font-size: 14px;
15397
+ color: #6b7280;
15398
+ font-weight: 500;
15399
+ }
15400
+ .rf-rte-wrapper .table-grid-submit {
15401
+ background: #991b1b;
15402
+ color: #fff;
15403
+ border: none;
15404
+ padding: 6px 16px;
15405
+ border-radius: 4px;
15406
+ font-size: 12px;
15407
+ font-weight: 700;
15408
+ letter-spacing: 0.5px;
15409
+ cursor: pointer;
15410
+ transition: background 0.15s;
15411
+ }
15412
+ .rf-rte-wrapper .table-grid-submit:hover {
15413
+ background: #7f1d1d;
15414
+ }
15415
+ .rf-rte-wrapper .table-grid-submit:disabled {
15416
+ opacity: 0.4;
15417
+ cursor: not-allowed;
15418
+ }
15419
+ .rf-rte-wrapper .ai-commands-wrapper {
15420
+ position: relative;
15421
+ display: inline-flex;
15422
+ }
15423
+ .rf-rte-wrapper .ai-commands-wrapper .toolbar-btn svg {
15424
+ width: 16px;
15425
+ height: 16px;
15426
+ vertical-align: middle;
15427
+ }
15428
+ .rf-rte-wrapper .ai-spinner {
15429
+ display: inline-block;
15430
+ width: 16px;
15431
+ height: 16px;
15432
+ border: 2px solid #e5e7eb;
15433
+ border-top-color: #991b1b;
15434
+ border-radius: 50%;
15435
+ animation: ai-spin 0.6s linear infinite;
15436
+ }
15437
+ @keyframes ai-spin {
15438
+ to {
15439
+ transform: rotate(360deg);
15440
+ }
15441
+ }
15442
+ .rf-rte-wrapper .ai-commands-panel {
15443
+ position: absolute;
15444
+ top: 100%;
15445
+ left: 0;
15446
+ z-index: 1000;
15447
+ min-width: 220px;
15448
+ background: #fff;
15449
+ border: 1px solid #e5e7eb;
15450
+ border-radius: 8px;
15451
+ box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
15452
+ padding: 6px 0;
15453
+ margin-top: 4px;
15454
+ }
15455
+ .rf-rte-wrapper .ai-commands-header {
15456
+ padding: 8px 14px 6px;
15457
+ font-size: 11px;
15458
+ font-weight: 600;
15459
+ text-transform: uppercase;
15460
+ letter-spacing: 0.5px;
15461
+ color: #9ca3af;
15462
+ }
15463
+ .rf-rte-wrapper .ai-commands-list {
15464
+ display: flex;
15465
+ flex-direction: column;
15466
+ }
15467
+ .rf-rte-wrapper .ai-command-item {
15468
+ display: block;
15469
+ width: 100%;
15470
+ padding: 9px 14px;
15471
+ text-align: left;
15472
+ font-size: 14px;
15473
+ color: #1f2937;
15474
+ background: none;
15475
+ border: none;
15476
+ cursor: pointer;
15477
+ transition: background 0.12s;
15478
+ font-family: inherit;
15479
+ }
15480
+ .rf-rte-wrapper .ai-command-item:hover {
15481
+ background: #fce7f3;
15482
+ color: #1f2937;
15483
+ }
15484
+ .rf-rte-wrapper .ai-commands-hint {
15485
+ padding: 6px 14px 8px;
15486
+ font-size: 11px;
15487
+ color: #9ca3af;
15488
+ border-top: 1px solid #f3f4f6;
15489
+ margin-top: 4px;
15490
+ }
15491
+ .ai-modal-overlay {
15492
+ position: fixed;
15493
+ top: 0;
15494
+ left: 0;
15495
+ right: 0;
15496
+ bottom: 0;
15497
+ background: rgba(0, 0, 0, 0.4);
15498
+ z-index: 9999;
15499
+ display: flex;
15500
+ align-items: center;
15501
+ justify-content: center;
15502
+ }
15503
+ .ai-modal {
15504
+ background: #fff;
15505
+ border-radius: 8px;
15506
+ width: 620px;
15507
+ max-width: 90vw;
15508
+ max-height: 85vh;
15509
+ display: flex;
15510
+ flex-direction: column;
15511
+ box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2);
15512
+ }
15513
+ .ai-modal-header {
15514
+ display: flex;
15515
+ align-items: center;
15516
+ justify-content: space-between;
15517
+ padding: 16px 20px 12px;
15518
+ border-bottom: 1px solid #f3f4f6;
15519
+ }
15520
+ .ai-modal-title {
15521
+ font-size: 18px;
15522
+ font-weight: 600;
15523
+ color: #1f2937;
15524
+ }
15525
+ .ai-modal-close {
15526
+ background: none;
15527
+ border: none;
15528
+ font-size: 22px;
15529
+ color: #9ca3af;
15530
+ cursor: pointer;
15531
+ padding: 0 4px;
15532
+ line-height: 1;
15533
+ }
15534
+ .ai-modal-close:hover {
15535
+ color: #1f2937;
15536
+ }
15537
+ .ai-modal-prompt-section {
15538
+ padding: 16px 20px 12px;
15539
+ }
15540
+ .ai-modal-label {
15541
+ display: block;
15542
+ font-size: 12px;
15543
+ font-weight: 500;
15544
+ color: #9ca3af;
15545
+ margin-bottom: 6px;
15546
+ }
15547
+ .ai-modal-prompt-row {
15548
+ display: flex;
15549
+ gap: 10px;
15550
+ align-items: flex-start;
15551
+ }
15552
+ .ai-modal-prompt {
15553
+ flex: 1;
15554
+ padding: 10px 12px;
15555
+ border: 2px solid #3b82f6;
15556
+ border-radius: 6px;
15557
+ font-size: 14px;
15558
+ font-family: inherit;
15559
+ color: #1f2937;
15560
+ resize: vertical;
15561
+ min-height: 60px;
15562
+ outline: none;
15563
+ }
15564
+ .ai-modal-prompt:focus {
15565
+ border-color: #2563eb;
15566
+ }
15567
+ .ai-modal-robot-btn {
15568
+ flex-shrink: 0;
15569
+ width: 40px;
15570
+ height: 40px;
15571
+ border: 1px solid #e5e7eb;
15572
+ border-radius: 6px;
15573
+ background: #fff;
15574
+ cursor: pointer;
15575
+ display: flex;
15576
+ align-items: center;
15577
+ justify-content: center;
15578
+ color: #6b7280;
15579
+ transition: all 0.15s;
15580
+ }
15581
+ .ai-modal-robot-btn:hover {
15582
+ background: #f9fafb;
15583
+ color: #1f2937;
15584
+ border-color: #d1d5db;
15585
+ }
15586
+ .ai-modal-robot-btn:disabled {
15587
+ opacity: 0.4;
15588
+ cursor: not-allowed;
15589
+ }
15590
+ .ai-modal-actions {
15591
+ display: flex;
15592
+ align-items: center;
15593
+ gap: 10px;
15594
+ padding: 0 20px 12px;
15595
+ }
15596
+ .ai-modal-action-btn {
15597
+ padding: 8px 18px;
15598
+ font-size: 14px;
15599
+ font-weight: 600;
15600
+ border: none;
15601
+ cursor: pointer;
15602
+ font-family: inherit;
15603
+ transition: background 0.15s;
15604
+ }
15605
+ .ai-modal-insert-btn {
15606
+ background: #991b1b;
15607
+ color: #fff;
15608
+ border-radius: 6px;
15609
+ }
15610
+ .ai-modal-insert-btn:hover {
15611
+ background: #7f1d1d;
15612
+ }
15613
+ .ai-modal-insert-after-btn {
15614
+ background: #fff;
15615
+ color: #1f2937;
15616
+ border: 1px solid #e5e7eb;
15617
+ border-radius: 6px;
15618
+ }
15619
+ .ai-modal-insert-after-btn:hover {
15620
+ background: #f9fafb;
15621
+ }
15622
+ .ai-modal-refresh-btn {
15623
+ background: none;
15624
+ border: none;
15625
+ font-size: 20px;
15626
+ color: #6b7280;
15627
+ padding: 6px 10px;
15628
+ margin-left: 6px;
15629
+ border-radius: 6px;
15630
+ }
15631
+ .ai-modal-refresh-btn:hover {
15632
+ background: #f3f4f6;
15633
+ color: #1f2937;
15634
+ }
15635
+ .ai-modal-action-btn:disabled {
15636
+ opacity: 0.4;
15637
+ cursor: not-allowed;
15638
+ }
15639
+ .ai-modal-result-section {
15640
+ flex: 1;
15641
+ margin: 0 20px;
15642
+ padding: 14px;
15643
+ border: 1px solid #e5e7eb;
15644
+ border-radius: 6px;
15645
+ background: #fafafa;
15646
+ min-height: 180px;
15647
+ max-height: 320px;
15648
+ overflow-y: auto;
15649
+ font-size: 14px;
15650
+ color: #1f2937;
15651
+ line-height: 1.6;
15652
+ white-space: pre-wrap;
15653
+ }
15654
+ .ai-modal-loading {
15655
+ display: flex;
15656
+ align-items: center;
15657
+ gap: 10px;
15658
+ color: #9ca3af;
15659
+ font-size: 14px;
15660
+ padding: 20px 0;
15661
+ }
15662
+ .ai-modal-result {
15663
+ white-space: pre-wrap;
15664
+ }
15665
+ .ai-modal-footer {
15666
+ display: flex;
15667
+ justify-content: flex-end;
15668
+ padding: 12px 20px 16px;
15669
+ }
15670
+ .ai-modal-cancel-btn {
15671
+ background: none;
15672
+ border: 2px solid #991b1b;
15673
+ color: #991b1b;
15674
+ padding: 8px 24px;
15675
+ border-radius: 6px;
15676
+ font-size: 13px;
15677
+ font-weight: 700;
15678
+ letter-spacing: 0.5px;
15679
+ cursor: pointer;
15680
+ font-family: inherit;
15681
+ transition: all 0.15s;
15682
+ }
15683
+ .ai-modal-cancel-btn:hover {
15684
+ background: #991b1b;
15685
+ color: #fff;
15686
+ }
15687
+ .link-modal-overlay {
15688
+ position: fixed;
15689
+ top: 0;
15690
+ left: 0;
15691
+ right: 0;
15692
+ bottom: 0;
15693
+ background: transparent;
15694
+ z-index: 10000;
15695
+ }
15696
+ .link-modal {
15697
+ position: absolute;
15698
+ top: 50%;
15699
+ left: 50%;
15700
+ transform: translate(-50%, -50%);
15701
+ background: #fff;
15702
+ border-radius: 8px;
15703
+ width: 320px;
15704
+ max-width: 92vw;
15705
+ box-shadow: 0 4px 24px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(0, 0, 0, 0.06);
15706
+ animation: link-slide-up 0.15s ease;
15707
+ }
15708
+ @keyframes link-slide-up {
15709
+ from {
15710
+ opacity: 0;
15711
+ transform: translate(-50%, -48%);
15712
+ }
15713
+ to {
15714
+ opacity: 1;
15715
+ transform: translate(-50%, -50%);
15716
+ }
15717
+ }
15718
+ .link-modal-body {
15719
+ padding: 16px 16px 8px;
15720
+ }
15721
+ .link-modal-field {
15722
+ margin-bottom: 12px;
15723
+ }
15724
+ .link-modal-label {
15725
+ display: block;
15726
+ font-size: 12px;
15727
+ font-weight: 500;
15728
+ color: #9ca3af;
15729
+ margin-bottom: 4px;
15730
+ }
15731
+ .link-modal-input {
15732
+ width: 100%;
15733
+ padding: 8px 10px;
15734
+ border: 1px solid #e5e7eb;
15735
+ border-radius: 6px;
15736
+ font-size: 14px;
15737
+ color: #1f2937;
15738
+ outline: none;
15739
+ box-sizing: border-box;
15740
+ transition: border-color 0.15s, box-shadow 0.15s;
15741
+ font-family: inherit;
15742
+ }
15743
+ .link-modal-input:focus {
15744
+ border-color: #991b1b;
15745
+ box-shadow: 0 0 0 2px rgba(153, 27, 27, 0.08);
15746
+ }
15747
+ .link-modal-input::placeholder {
15748
+ color: #d1d5db;
15749
+ }
15750
+ .link-modal-checkboxes {
15751
+ display: flex;
15752
+ flex-direction: column;
15753
+ gap: 8px;
15754
+ margin-top: 4px;
15755
+ margin-bottom: 4px;
15756
+ }
15757
+ .link-modal-checkbox {
15758
+ display: flex;
15759
+ align-items: center;
15760
+ gap: 8px;
15761
+ font-size: 14px;
15762
+ color: #374151;
15763
+ cursor: pointer;
15764
+ user-select: none;
15765
+ }
15766
+ .link-modal-checkbox input[type=checkbox] {
15767
+ width: 16px;
15768
+ height: 16px;
15769
+ accent-color: #991b1b;
15770
+ cursor: pointer;
15771
+ border-radius: 3px;
15772
+ }
15773
+ .link-modal-footer {
15774
+ display: flex;
15775
+ justify-content: space-between;
15776
+ align-items: center;
15777
+ padding: 12px 16px;
15778
+ border-top: 1px solid #f3f4f6;
15779
+ }
15780
+ .link-modal-btn-unlink {
15781
+ padding: 7px 16px;
15782
+ border: 1px solid #e5e7eb;
15783
+ background: #f9fafb;
15784
+ color: #374151;
15785
+ font-size: 13px;
15786
+ font-weight: 500;
15787
+ cursor: pointer;
15788
+ border-radius: 6px;
15789
+ transition: all 0.15s;
15790
+ }
15791
+ .link-modal-btn-unlink:hover {
15792
+ background: #fef2f2;
15793
+ border-color: #fecaca;
15794
+ color: #dc2626;
15795
+ }
15796
+ .link-modal-btn-apply {
15797
+ padding: 7px 20px;
15798
+ border: none;
15799
+ border-radius: 6px;
15800
+ background: #991b1b;
15801
+ color: #fff;
15802
+ font-size: 13px;
15803
+ font-weight: 600;
15804
+ cursor: pointer;
15805
+ transition: background 0.15s;
15806
+ }
15807
+ .link-modal-btn-apply:hover {
15808
+ background: #7f1d1d;
15809
+ }
15810
+ @media (max-width: 1024px) {
15811
+ .rf-rte-wrapper .toolbar-btn {
15812
+ min-width: 30px;
15813
+ height: 30px;
15814
+ padding: 0 4px;
15815
+ }
15816
+ .rf-rte-wrapper .toolbar-btn svg {
15817
+ width: 18px;
15818
+ height: 18px;
15819
+ }
15820
+ .rf-rte-wrapper .toolbar-group {
15821
+ padding: 0 3px;
15822
+ margin-right: 3px;
15823
+ }
15824
+ }
15825
+ @media (max-width: 768px) {
15826
+ .rf-rte-wrapper {
15827
+ border-radius: 8px;
15828
+ }
15829
+ .rf-rte-wrapper .toolbar {
15830
+ border-radius: 8px 8px 0 0;
15831
+ }
15832
+ .rf-rte-wrapper .toolbar-row {
15833
+ padding: 3px 4px;
15834
+ gap: 0px;
15835
+ }
15836
+ .rf-rte-wrapper .toolbar-btn {
15837
+ min-width: 28px;
15838
+ height: 28px;
15839
+ padding: 0 3px;
15840
+ }
15841
+ .rf-rte-wrapper .toolbar-btn svg {
15842
+ width: 17px;
15843
+ height: 17px;
15844
+ }
15845
+ .rf-rte-wrapper .toolbar-group {
15846
+ padding: 0 2px;
15847
+ margin-right: 2px;
15848
+ border-right: none;
15849
+ }
15850
+ .rf-rte-wrapper .tiptap {
15851
+ padding: 16px;
15852
+ font-size: 15px;
15853
+ }
15854
+ .rf-rte-wrapper .status-bar {
15855
+ padding: 6px 10px;
15856
+ border-radius: 0 0 8px 8px;
15857
+ flex-wrap: wrap;
15858
+ gap: 6px;
15859
+ }
15860
+ .modal-content {
15861
+ width: 95vw !important;
15862
+ max-width: 95vw !important;
15863
+ margin: 10px;
15864
+ }
15865
+ .translate-modal {
15866
+ width: 95vw !important;
15867
+ max-width: 95vw !important;
15868
+ }
15869
+ .translate-columns {
15870
+ flex-direction: column;
15871
+ }
15872
+ .translate-swap {
15873
+ transform: rotate(90deg);
15874
+ padding: 8px 0;
15875
+ }
15876
+ }
15877
+ @media (max-width: 480px) {
15878
+ .rf-rte-wrapper .toolbar-btn {
15879
+ min-width: 26px;
15880
+ height: 26px;
15881
+ padding: 0 2px;
15882
+ }
15883
+ .rf-rte-wrapper .toolbar-btn svg {
15884
+ width: 16px;
15885
+ height: 16px;
15886
+ }
15887
+ .rf-rte-wrapper .toolbar-group {
15888
+ padding: 0 1px;
15889
+ margin-right: 1px;
15890
+ }
15891
+ .rf-rte-wrapper .status-bar-left,
15892
+ .rf-rte-wrapper .status-bar-right {
15893
+ gap: 4px;
15894
+ }
15895
+ .rf-rte-wrapper .tiptap {
15896
+ padding: 12px;
15897
+ font-size: 14px;
15898
+ }
15899
+ }
15900
+ .rf-rte-wrapper .tiptap .mention {
15901
+ background: #fef2f2;
15902
+ color: #991b1b;
15903
+ border-radius: 4px;
15904
+ padding: 1px 4px;
15905
+ font-weight: 600;
15906
+ font-size: 0.95em;
15907
+ white-space: nowrap;
15908
+ box-decoration-break: clone;
15909
+ }
15910
+ .rf-rte-mention-dropdown {
15911
+ background: #fff;
15912
+ border: 1px solid #dadce0;
15913
+ border-radius: 8px;
15914
+ box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
15915
+ padding: 4px;
15916
+ min-width: 200px;
15917
+ max-height: 280px;
15918
+ overflow-y: auto;
15919
+ display: flex;
15920
+ flex-direction: column;
15921
+ }
15922
+ .rf-rte-mention-item {
15923
+ display: flex;
15924
+ align-items: center;
15925
+ gap: 10px;
15926
+ width: 100%;
15927
+ padding: 8px 10px;
15928
+ border: none;
15929
+ background: transparent;
15930
+ border-radius: 6px;
15931
+ cursor: pointer;
15932
+ font-size: 14px;
15933
+ color: #1f2937;
15934
+ text-align: left;
15935
+ transition: background 0.15s;
15936
+ box-sizing: border-box;
15937
+ }
15938
+ .rf-rte-mention-item:hover,
15939
+ .rf-rte-mention-item.is-selected {
15940
+ background: #f3f4f6;
15941
+ }
15942
+ .rf-rte-mention-item.is-selected {
15943
+ background: #fef2f2;
15944
+ }
15945
+ .rf-rte-mention-no-result {
15946
+ color: #9ca3af;
15947
+ font-style: italic;
15948
+ cursor: default;
15949
+ }
15950
+ .rf-rte-mention-no-result:hover {
15951
+ background: transparent;
15952
+ }
15953
+ .rf-rte-mention-avatar {
15954
+ display: flex;
15955
+ align-items: center;
15956
+ justify-content: center;
15957
+ width: 30px;
15958
+ height: 30px;
15959
+ border-radius: 50%;
15960
+ background: #991b1b;
15961
+ color: #fff;
15962
+ font-weight: 700;
15963
+ font-size: 13px;
15964
+ flex-shrink: 0;
15965
+ }
15966
+ .rf-rte-mention-name {
15967
+ font-weight: 500;
15968
+ }
13803
15969
  /*! Bundled license information:
13804
15970
 
13805
15971
  jodit/es5/jodit.min.css: