artifactuse 0.1.1 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,4674 @@
1
+ /* artifactuse/styles/artifactuse.css
2
+ * Artifactuse SDK Styles
3
+ * Compatible with Tailwind CSS
4
+ */
5
+
6
+ /* ============================================================
7
+ CSS VARIABLES / THEME
8
+ ============================================================ */
9
+
10
+ :root,
11
+ [data-artifactuse-theme="dark"] {
12
+ /* Typography */
13
+ --artifactuse-font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
14
+ --artifactuse-font-mono: ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Consolas, 'Liberation Mono', monospace;
15
+
16
+ /* Colors */
17
+ --artifactuse-primary: 99, 102, 241;
18
+ --artifactuse-primary-hover: 79, 70, 229;
19
+ --artifactuse-background: 17, 24, 39;
20
+ --artifactuse-surface: 31, 41, 55;
21
+ --artifactuse-surface-hover: 55, 65, 81;
22
+ --artifactuse-text: 243, 244, 246;
23
+ --artifactuse-text-secondary: 156, 163, 175;
24
+ --artifactuse-text-muted: 107, 114, 128;
25
+ --artifactuse-border: 75, 85, 99;
26
+ --artifactuse-border-light: 55, 65, 81;
27
+ --artifactuse-success: 34, 197, 94;
28
+ --artifactuse-warning: 234, 179, 8;
29
+ --artifactuse-error: 239, 68, 68;
30
+ --artifactuse-info: 59, 130, 246;
31
+ --artifactuse-gradient: 99, 102, 241;
32
+ --artifactuse-gradient-opacity: 0.38;
33
+ }
34
+
35
+ [data-artifactuse-theme="light"] {
36
+ --artifactuse-primary: 79, 70, 229;
37
+ --artifactuse-primary-hover: 67, 56, 202;
38
+ --artifactuse-background: 255, 255, 255;
39
+ --artifactuse-surface: 249, 250, 251;
40
+ --artifactuse-surface-hover: 243, 244, 246;
41
+ --artifactuse-text: 17, 24, 39;
42
+ --artifactuse-text-secondary: 75, 85, 99;
43
+ --artifactuse-text-muted: 156, 163, 175;
44
+ --artifactuse-border: 229, 231, 235;
45
+ --artifactuse-border-light: 243, 244, 246;
46
+ --artifactuse-success: 22, 163, 74;
47
+ --artifactuse-warning: 202, 138, 4;
48
+ --artifactuse-error: 220, 38, 38;
49
+ --artifactuse-info: 37, 99, 235;
50
+ --artifactuse-gradient: 79, 70, 229;
51
+ --artifactuse-gradient-opacity: 0.25;
52
+ }
53
+
54
+ @media (prefers-color-scheme: light) {
55
+ :root:not([data-artifactuse-theme]) {
56
+ --artifactuse-primary: 79, 70, 229;
57
+ --artifactuse-primary-hover: 67, 56, 202;
58
+ --artifactuse-background: 255, 255, 255;
59
+ --artifactuse-surface: 249, 250, 251;
60
+ --artifactuse-surface-hover: 243, 244, 246;
61
+ --artifactuse-text: 17, 24, 39;
62
+ --artifactuse-text-secondary: 75, 85, 99;
63
+ --artifactuse-text-muted: 156, 163, 175;
64
+ --artifactuse-border: 229, 231, 235;
65
+ --artifactuse-border-light: 243, 244, 246;
66
+ --artifactuse-gradient-opacity: 0.25;
67
+ }
68
+ }
69
+
70
+ /* ============================================================
71
+ BASE STYLES
72
+ ============================================================ */
73
+
74
+ /* Apply font to all artifactuse components */
75
+ [class^="artifactuse-"],
76
+ [class*=" artifactuse-"],
77
+ .artifactuse {
78
+ font-family: var(--artifactuse-font-family);
79
+ -webkit-font-smoothing: antialiased;
80
+ -moz-osx-font-smoothing: grayscale;
81
+ }
82
+
83
+ /* Monospace font for code elements */
84
+ [class^="artifactuse-"] code,
85
+ [class*=" artifactuse-"] code,
86
+ [class^="artifactuse-"] pre,
87
+ [class*=" artifactuse-"] pre,
88
+ .artifactuse code,
89
+ .artifactuse pre {
90
+ font-family: var(--artifactuse-font-mono);
91
+ }
92
+
93
+ /* ============================================================
94
+ ANIMATIONS
95
+ ============================================================ */
96
+
97
+ @keyframes artifactuse-expanding {
98
+ 0% {
99
+ transform: scaleX(0);
100
+ opacity: 0;
101
+ }
102
+ 100% {
103
+ transform: scaleX(1);
104
+ opacity: 1;
105
+ }
106
+ }
107
+
108
+ @keyframes artifactuse-moving {
109
+ 0% {
110
+ background-position: 0 0;
111
+ }
112
+ 100% {
113
+ background-position: -200% 0;
114
+ }
115
+ }
116
+
117
+ @keyframes artifactuse-pulse {
118
+ 0% {
119
+ box-shadow: 0 0 0 0 rgba(var(--artifactuse-primary), 0.4);
120
+ }
121
+ 70% {
122
+ box-shadow: 0 0 0 8px rgba(var(--artifactuse-primary), 0);
123
+ }
124
+ 100% {
125
+ box-shadow: 0 0 0 0 rgba(var(--artifactuse-primary), 0);
126
+ }
127
+ }
128
+
129
+ @keyframes artifactuse-spin {
130
+ to {
131
+ transform: rotate(360deg);
132
+ }
133
+ }
134
+
135
+ @keyframes artifactuse-fade-in {
136
+ from {
137
+ opacity: 0;
138
+ }
139
+ to {
140
+ opacity: 1;
141
+ }
142
+ }
143
+
144
+ @keyframes artifactuse-slide-up {
145
+ from {
146
+ opacity: 0;
147
+ transform: translateY(10px);
148
+ }
149
+ to {
150
+ opacity: 1;
151
+ transform: translateY(0);
152
+ }
153
+ }
154
+
155
+ /* ============================================================
156
+ LOADING BAR
157
+ ============================================================ */
158
+
159
+ .artifactuse-loading-bar {
160
+ height: 0.8rem;
161
+ margin-bottom: 10px;
162
+ transform-origin: left;
163
+ animation: artifactuse-expanding 0.4s 0.7s forwards linear,
164
+ artifactuse-moving 1s 1s infinite forwards linear;
165
+ border-top-right-radius: 2rem;
166
+ border-bottom-right-radius: 2rem;
167
+ background-size: 200% auto;
168
+ opacity: 0;
169
+ animation-delay: 100ms;
170
+ }
171
+
172
+ .artifactuse-loading-bar.artifactuse-gradient-1 {
173
+ width: 90%;
174
+ background-image: linear-gradient(
175
+ to right,
176
+ transparent 30%,
177
+ rgba(var(--artifactuse-gradient), var(--artifactuse-gradient-opacity)) 60%,
178
+ transparent
179
+ );
180
+ }
181
+
182
+ .artifactuse-loading-bar.artifactuse-gradient-2 {
183
+ width: 80%;
184
+ background-image: linear-gradient(
185
+ to right,
186
+ rgba(var(--artifactuse-gradient), var(--artifactuse-gradient-opacity)),
187
+ transparent 60%,
188
+ rgba(var(--artifactuse-gradient), var(--artifactuse-gradient-opacity))
189
+ );
190
+ }
191
+
192
+ .artifactuse-loading-bar.artifactuse-gradient-3 {
193
+ width: 70%;
194
+ background-image: linear-gradient(
195
+ to right,
196
+ transparent 30%,
197
+ rgba(var(--artifactuse-gradient), var(--artifactuse-gradient-opacity)) 60%,
198
+ transparent
199
+ );
200
+ }
201
+
202
+ /* ============================================================
203
+ IMAGE STYLES
204
+ ============================================================ */
205
+
206
+ .artifactuse-image-container {
207
+ margin: 1em 0;
208
+ border-radius: 8px;
209
+ overflow: hidden;
210
+ }
211
+
212
+ .artifactuse-image {
213
+ width: 100%;
214
+ height: auto;
215
+ display: block;
216
+ cursor: pointer;
217
+ transition: opacity 0.2s;
218
+ }
219
+
220
+ .artifactuse-image:hover {
221
+ opacity: 0.9;
222
+ }
223
+
224
+ .artifactuse-image-caption {
225
+ padding: 8px 12px;
226
+ background: rgb(var(--artifactuse-surface));
227
+ color: rgb(var(--artifactuse-text-secondary));
228
+ font-size: 13px;
229
+ }
230
+
231
+ /* ============================================================
232
+ VIDEO STYLES
233
+ ============================================================ */
234
+
235
+ .artifactuse-video-wrapper {
236
+ position: relative;
237
+ margin: 1em 0;
238
+ border-radius: 8px;
239
+ overflow: hidden;
240
+ background: rgb(var(--artifactuse-surface));
241
+ }
242
+
243
+ .artifactuse-video {
244
+ width: 100%;
245
+ display: block;
246
+ }
247
+
248
+ .artifactuse-video-iframe {
249
+ width: 100%;
250
+ aspect-ratio: 16 / 9;
251
+ border: none;
252
+ }
253
+
254
+ /* ============================================================
255
+ AUDIO STYLES
256
+ ============================================================ */
257
+
258
+ .artifactuse-audio-wrapper {
259
+ margin: 1em 0;
260
+ padding: 12px;
261
+ background: rgb(var(--artifactuse-surface));
262
+ border-radius: 8px;
263
+ }
264
+
265
+ .artifactuse-audio {
266
+ width: 100%;
267
+ }
268
+
269
+ .artifactuse-audio-info {
270
+ margin-top: 8px;
271
+ font-size: 12px;
272
+ color: rgb(var(--artifactuse-text-secondary));
273
+ }
274
+
275
+ .artifactuse-spotify-embed,
276
+ .artifactuse-soundcloud-embed {
277
+ width: 100%;
278
+ border-radius: 12px;
279
+ }
280
+
281
+ /* ============================================================
282
+ MAP STYLES
283
+ ============================================================ */
284
+
285
+ .artifactuse-map-wrapper {
286
+ margin: 1em 0;
287
+ border-radius: 8px;
288
+ overflow: hidden;
289
+ background: rgb(var(--artifactuse-surface));
290
+ }
291
+
292
+ .artifactuse-map-iframe {
293
+ width: 100%;
294
+ height: 400px;
295
+ border: none;
296
+ }
297
+
298
+ .artifactuse-map-actions {
299
+ padding: 8px 12px;
300
+ background: rgb(var(--artifactuse-surface));
301
+ border-top: 1px solid rgb(var(--artifactuse-border));
302
+ }
303
+
304
+ .artifactuse-map-link {
305
+ color: rgb(var(--artifactuse-primary));
306
+ font-size: 13px;
307
+ text-decoration: none;
308
+ }
309
+
310
+ .artifactuse-map-link:hover {
311
+ text-decoration: underline;
312
+ }
313
+
314
+ /* ============================================================
315
+ SOCIAL EMBED STYLES
316
+ ============================================================ */
317
+
318
+ .artifactuse-twitter-wrapper,
319
+ .artifactuse-instagram-wrapper,
320
+ .artifactuse-tiktok-wrapper {
321
+ margin: 1em 0;
322
+ }
323
+
324
+ .artifactuse-instagram-embed {
325
+ width: 100%;
326
+ min-height: 500px;
327
+ border-radius: 8px;
328
+ border: none;
329
+ }
330
+
331
+ .artifactuse-instagram-reel {
332
+ min-height: 700px;
333
+ }
334
+
335
+ .artifactuse-tiktok-embed {
336
+ width: 100%;
337
+ height: 740px;
338
+ border-radius: 8px;
339
+ border: none;
340
+ }
341
+
342
+ /* ============================================================
343
+ DOCUMENT STYLES
344
+ ============================================================ */
345
+
346
+ .artifactuse-pdf-wrapper,
347
+ .artifactuse-google-doc-wrapper,
348
+ .artifactuse-office-wrapper {
349
+ margin: 1em 0;
350
+ border-radius: 8px;
351
+ overflow: hidden;
352
+ border: 1px solid rgb(var(--artifactuse-border));
353
+ }
354
+
355
+ .artifactuse-pdf-header,
356
+ .artifactuse-google-doc-header,
357
+ .artifactuse-office-header {
358
+ display: flex;
359
+ align-items: center;
360
+ justify-content: space-between;
361
+ padding: 12px 16px;
362
+ background: rgb(var(--artifactuse-surface));
363
+ border-bottom: 1px solid rgb(var(--artifactuse-border));
364
+ }
365
+
366
+ .artifactuse-pdf-filename,
367
+ .artifactuse-office-filename {
368
+ font-weight: 500;
369
+ color: rgb(var(--artifactuse-text));
370
+ }
371
+
372
+ .artifactuse-google-doc-type {
373
+ font-size: 12px;
374
+ font-weight: 600;
375
+ color: rgb(var(--artifactuse-text-secondary));
376
+ text-transform: uppercase;
377
+ }
378
+
379
+ .artifactuse-pdf-download,
380
+ .artifactuse-google-doc-link,
381
+ .artifactuse-office-download {
382
+ color: rgb(var(--artifactuse-primary));
383
+ font-size: 13px;
384
+ text-decoration: none;
385
+ }
386
+
387
+ .artifactuse-pdf-download:hover,
388
+ .artifactuse-google-doc-link:hover,
389
+ .artifactuse-office-download:hover {
390
+ text-decoration: underline;
391
+ }
392
+
393
+ .artifactuse-pdf-iframe,
394
+ .artifactuse-google-doc-iframe,
395
+ .artifactuse-office-iframe {
396
+ width: 100%;
397
+ height: 600px;
398
+ border: none;
399
+ }
400
+
401
+ /* ============================================================
402
+ CODE EMBED STYLES
403
+ ============================================================ */
404
+
405
+ .artifactuse-codepen-wrapper,
406
+ .artifactuse-codesandbox-wrapper,
407
+ .artifactuse-jsfiddle-wrapper,
408
+ .artifactuse-stackblitz-wrapper,
409
+ .artifactuse-gist-wrapper {
410
+ margin: 1em 0;
411
+ border-radius: 8px;
412
+ overflow: hidden;
413
+ }
414
+
415
+ /* ============================================================
416
+ DATA VIZ STYLES
417
+ ============================================================ */
418
+
419
+ .artifactuse-flourish-wrapper,
420
+ .artifactuse-datawrapper-wrapper {
421
+ margin: 1em 0;
422
+ border-radius: 8px;
423
+ overflow: hidden;
424
+ }
425
+
426
+ .artifactuse-flourish-iframe {
427
+ width: 100%;
428
+ height: 500px;
429
+ border: none;
430
+ }
431
+
432
+ .artifactuse-datawrapper-iframe {
433
+ width: 100%;
434
+ height: 400px;
435
+ border: none;
436
+ }
437
+
438
+ /* ============================================================
439
+ DESIGN/3D STYLES
440
+ ============================================================ */
441
+
442
+ .artifactuse-figma-wrapper,
443
+ .artifactuse-sketchfab-wrapper {
444
+ margin: 1em 0;
445
+ border-radius: 8px;
446
+ overflow: hidden;
447
+ }
448
+
449
+ .artifactuse-figma-iframe {
450
+ width: 100%;
451
+ height: 450px;
452
+ border: 1px solid rgb(var(--artifactuse-border));
453
+ border-radius: 8px;
454
+ }
455
+
456
+ .artifactuse-sketchfab-iframe {
457
+ width: 100%;
458
+ height: 480px;
459
+ border: none;
460
+ }
461
+
462
+ /* ============================================================
463
+ INTERACTIVE STYLES
464
+ ============================================================ */
465
+
466
+ .artifactuse-typeform-wrapper,
467
+ .artifactuse-calendly-wrapper,
468
+ .artifactuse-airtable-wrapper,
469
+ .artifactuse-miro-wrapper {
470
+ margin: 1em 0;
471
+ border-radius: 8px;
472
+ overflow: hidden;
473
+ }
474
+
475
+ .artifactuse-typeform-iframe {
476
+ width: 100%;
477
+ height: 500px;
478
+ border: none;
479
+ }
480
+
481
+ .artifactuse-calendly-iframe {
482
+ width: 100%;
483
+ height: 650px;
484
+ border: none;
485
+ }
486
+
487
+ .artifactuse-airtable-iframe {
488
+ width: 100%;
489
+ height: 500px;
490
+ border: none;
491
+ }
492
+
493
+ .artifactuse-miro-iframe {
494
+ width: 100%;
495
+ height: 500px;
496
+ border: none;
497
+ }
498
+
499
+
500
+
501
+ /* ============================================================
502
+ MATH STYLES
503
+ ============================================================ */
504
+
505
+ .artifactuse-math-container {
506
+ display: inline-block;
507
+ }
508
+
509
+ .artifactuse-math-display {
510
+ display: block;
511
+ margin: 1em 0;
512
+ text-align: center;
513
+ }
514
+
515
+ .artifactuse-math-inline {
516
+ display: inline;
517
+ }
518
+
519
+ .artifactuse-math-error {
520
+ color: rgb(var(--artifactuse-error));
521
+ font-family: monospace;
522
+ }
523
+
524
+ /* ============================================================
525
+ UTILITY CLASSES
526
+ ============================================================ */
527
+
528
+ .artifactuse-hidden {
529
+ display: none !important;
530
+ }
531
+
532
+ .artifactuse-sr-only {
533
+ position: absolute;
534
+ width: 1px;
535
+ height: 1px;
536
+ padding: 0;
537
+ margin: -1px;
538
+ overflow: hidden;
539
+ clip: rect(0, 0, 0, 0);
540
+ white-space: nowrap;
541
+ border: 0;
542
+ }
543
+
544
+ .artifactuse-fade-in {
545
+ animation: artifactuse-fade-in 0.3s ease;
546
+ }
547
+
548
+ .artifactuse-slide-up {
549
+ animation: artifactuse-slide-up 0.3s ease;
550
+ }
551
+
552
+ /* ============================================================
553
+ VIEWER STYLES
554
+ ============================================================ */
555
+
556
+ .artifactuse-viewer-overlay {
557
+ position: fixed;
558
+ top: 0;
559
+ left: 0;
560
+ right: 0;
561
+ bottom: 0;
562
+ z-index: 9999;
563
+ display: flex;
564
+ align-items: center;
565
+ justify-content: center;
566
+ background: rgba(0, 0, 0, 0.9);
567
+ backdrop-filter: blur(4px);
568
+ cursor: zoom-out;
569
+ }
570
+
571
+ .artifactuse-viewer-content {
572
+ position: relative;
573
+ max-width: 90vw;
574
+ max-height: 90vh;
575
+ display: flex;
576
+ flex-direction: column;
577
+ align-items: center;
578
+ }
579
+
580
+ .artifactuse-viewer-image {
581
+ max-width: 90vw;
582
+ max-height: 70vh;
583
+ object-fit: contain;
584
+ border-radius: 4px;
585
+ cursor: zoom-in;
586
+ transition: transform 0.3s ease;
587
+ }
588
+
589
+ .artifactuse-viewer-image--zoomed {
590
+ max-width: none;
591
+ max-height: none;
592
+ cursor: zoom-out;
593
+ transform: scale(1.5);
594
+ }
595
+
596
+ .artifactuse-viewer-pdf {
597
+ width: 90vw;
598
+ height: 85vh;
599
+ border: none;
600
+ border-radius: 4px;
601
+ background: white;
602
+ }
603
+
604
+ .artifactuse-viewer-close {
605
+ position: absolute;
606
+ top: -48px;
607
+ right: 0;
608
+ display: flex;
609
+ align-items: center;
610
+ justify-content: center;
611
+ width: 40px;
612
+ height: 40px;
613
+ background: rgba(255, 255, 255, 0.1);
614
+ border: none;
615
+ border-radius: 8px;
616
+ color: white;
617
+ cursor: pointer;
618
+ transition: background 0.2s;
619
+ }
620
+
621
+ .artifactuse-viewer-close:hover {
622
+ background: rgba(255, 255, 255, 0.2);
623
+ }
624
+
625
+ .artifactuse-viewer-close svg {
626
+ width: 24px;
627
+ height: 24px;
628
+ }
629
+
630
+ .artifactuse-viewer-controls {
631
+ position: absolute;
632
+ bottom: -48px;
633
+ display: flex;
634
+ gap: 8px;
635
+ }
636
+
637
+ .artifactuse-viewer-control {
638
+ display: flex;
639
+ align-items: center;
640
+ justify-content: center;
641
+ width: 40px;
642
+ height: 40px;
643
+ background: rgba(255, 255, 255, 0.1);
644
+ border: none;
645
+ border-radius: 8px;
646
+ color: white;
647
+ cursor: pointer;
648
+ transition: background 0.2s;
649
+ }
650
+
651
+ .artifactuse-viewer-control:hover {
652
+ background: rgba(255, 255, 255, 0.2);
653
+ }
654
+
655
+ .artifactuse-viewer-control svg {
656
+ width: 20px;
657
+ height: 20px;
658
+ }
659
+
660
+ .artifactuse-viewer-caption {
661
+ margin-top: 16px;
662
+ padding: 8px 16px;
663
+ background: rgba(255, 255, 255, 0.1);
664
+ border-radius: 8px;
665
+ color: white;
666
+ font-size: 14px;
667
+ text-align: center;
668
+ max-width: 600px;
669
+ }
670
+
671
+ /* Viewer Transitions */
672
+ .artifactuse-viewer-enter-active,
673
+ .artifactuse-viewer-leave-active {
674
+ transition: opacity 0.2s ease;
675
+ }
676
+
677
+ .artifactuse-viewer-enter-from,
678
+ .artifactuse-viewer-leave-to {
679
+ opacity: 0;
680
+ }
681
+
682
+ .artifactuse-viewer-enter-active .artifactuse-viewer-content,
683
+ .artifactuse-viewer-leave-active .artifactuse-viewer-content {
684
+ transition: transform 0.2s ease;
685
+ }
686
+
687
+ .artifactuse-viewer-enter-from .artifactuse-viewer-content,
688
+ .artifactuse-viewer-leave-to .artifactuse-viewer-content {
689
+ transform: scale(0.95);
690
+ }
691
+
692
+ /* Vue 2 transition class names */
693
+ .artifactuse-viewer-enter,
694
+ .artifactuse-viewer-leave-to {
695
+ opacity: 0;
696
+ }
697
+
698
+ .artifactuse-viewer-enter .artifactuse-viewer-content,
699
+ .artifactuse-viewer-leave-to .artifactuse-viewer-content {
700
+ transform: scale(0.95);
701
+ }
702
+
703
+
704
+
705
+
706
+
707
+ /* ============================================================
708
+ ARTIFACTUSE PANEL
709
+ ============================================================ */
710
+
711
+ .artifactuse-panel {
712
+ position: relative;
713
+ width: 50%;
714
+ min-width: 360px;
715
+ max-width: 80%;
716
+ height: 100vh;
717
+ background: rgb(var(--artifactuse-background));
718
+ border-left: 1px solid rgb(var(--artifactuse-border));
719
+ display: flex;
720
+ flex-direction: column;
721
+ flex-shrink: 0;
722
+ font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
723
+ container-type: inline-size;
724
+ container-name: artifactuse-panel;
725
+ }
726
+
727
+ .artifactuse-panel--fullscreen {
728
+ position: fixed;
729
+ top: 0;
730
+ left: 0;
731
+ right: 0;
732
+ bottom: 0;
733
+ width: 100% !important;
734
+ max-width: none;
735
+ border-left: none;
736
+ z-index: 1001;
737
+ }
738
+
739
+ /* Resize handle */
740
+ .artifactuse-panel__resize-handle {
741
+ position: absolute;
742
+ left: -6px;
743
+ top: 0;
744
+ width: 12px;
745
+ height: 100%;
746
+ cursor: ew-resize;
747
+ z-index: 10;
748
+ display: flex;
749
+ align-items: center;
750
+ justify-content: center;
751
+ }
752
+
753
+ .artifactuse-panel__resize-handle-line {
754
+ width: 4px;
755
+ height: 48px;
756
+ background: rgb(var(--artifactuse-border));
757
+ border-radius: 2px;
758
+ opacity: 0;
759
+ transition: opacity 0.2s, background 0.2s;
760
+ }
761
+
762
+ .artifactuse-panel__resize-handle:hover .artifactuse-panel__resize-handle-line {
763
+ opacity: 1;
764
+ background: rgb(var(--artifactuse-primary));
765
+ }
766
+
767
+ /* Header */
768
+ .artifactuse-panel__header {
769
+ display: flex;
770
+ align-items: center;
771
+ gap: 12px;
772
+ padding: 10px 14px;
773
+ border-bottom: 1px solid rgb(var(--artifactuse-border));
774
+ background: rgb(var(--artifactuse-surface));
775
+ flex-shrink: 0;
776
+ }
777
+
778
+ .artifactuse-panel__title {
779
+ flex: 1;
780
+ min-width: 0;
781
+ display: flex;
782
+ align-items: center;
783
+ gap: 10px;
784
+ }
785
+
786
+ .artifactuse-panel__icon {
787
+ flex-shrink: 0;
788
+ width: 28px;
789
+ height: 28px;
790
+ display: flex;
791
+ align-items: center;
792
+ justify-content: center;
793
+ background: rgba(var(--artifactuse-primary), 0.15);
794
+ border-radius: 6px;
795
+ color: rgb(var(--artifactuse-primary));
796
+ }
797
+
798
+ .artifactuse-panel__icon svg {
799
+ width: 16px;
800
+ height: 16px;
801
+ }
802
+
803
+ .artifactuse-panel__title-content {
804
+ min-width: 0;
805
+ display: flex;
806
+ flex-direction: column;
807
+ gap: 1px;
808
+ }
809
+
810
+ .artifactuse-panel__name {
811
+ font-weight: 600;
812
+ font-size: 13px;
813
+ color: rgb(var(--artifactuse-text));
814
+ white-space: nowrap;
815
+ overflow: hidden;
816
+ text-overflow: ellipsis;
817
+ }
818
+
819
+ .artifactuse-panel__meta {
820
+ font-size: 11px;
821
+ color: rgb(var(--artifactuse-text-secondary));
822
+ }
823
+
824
+ .artifactuse-panel__tabs {
825
+ display: flex;
826
+ gap: 2px;
827
+ background: rgba(var(--artifactuse-background), 1);
828
+ padding: 3px;
829
+ border-radius: 8px;
830
+ }
831
+
832
+ .artifactuse-panel__tab {
833
+ display: flex;
834
+ align-items: center;
835
+ justify-content: center;
836
+ width: 28px;
837
+ height: 28px;
838
+ padding: 0;
839
+ background: transparent;
840
+ border: none;
841
+ border-radius: 6px;
842
+ color: rgb(var(--artifactuse-text-secondary));
843
+ cursor: pointer;
844
+ transition: background 0.15s, color 0.15s;
845
+ }
846
+
847
+ .artifactuse-panel__tab svg {
848
+ width: 16px;
849
+ height: 16px;
850
+ }
851
+
852
+ .artifactuse-panel__tab:hover:not(:disabled) {
853
+ background: rgba(var(--artifactuse-text), 0.08);
854
+ color: rgb(var(--artifactuse-text));
855
+ }
856
+
857
+ .artifactuse-panel__tab--active {
858
+ background: rgb(var(--artifactuse-primary));
859
+ color: white;
860
+ }
861
+
862
+ .artifactuse-panel__tab--active:hover:not(:disabled) {
863
+ background: rgb(var(--artifactuse-primary-hover));
864
+ color: white;
865
+ }
866
+
867
+ .artifactuse-panel__tab:disabled {
868
+ opacity: 0.35;
869
+ cursor: not-allowed;
870
+ }
871
+
872
+ /* Header actions */
873
+ .artifactuse-panel__actions {
874
+ display: flex;
875
+ gap: 2px;
876
+ }
877
+
878
+ .artifactuse-panel__action {
879
+ display: flex;
880
+ align-items: center;
881
+ justify-content: center;
882
+ width: 32px;
883
+ height: 32px;
884
+ background: transparent;
885
+ border: none;
886
+ border-radius: 6px;
887
+ color: rgb(var(--artifactuse-text-secondary));
888
+ cursor: pointer;
889
+ transition: background 0.15s, color 0.15s;
890
+ }
891
+
892
+ .artifactuse-panel__action:hover {
893
+ background: rgba(var(--artifactuse-text), 0.08);
894
+ color: rgb(var(--artifactuse-text));
895
+ }
896
+
897
+ .artifactuse-panel__action svg {
898
+ width: 16px;
899
+ height: 16px;
900
+ }
901
+
902
+ .artifactuse-panel__action--close:hover {
903
+ background: rgba(239, 68, 68, 0.15);
904
+ color: rgb(239, 68, 68);
905
+ }
906
+
907
+ /* Content */
908
+ .artifactuse-panel__content {
909
+ flex: 1;
910
+ display: flex;
911
+ overflow: hidden;
912
+ position: relative;
913
+ }
914
+
915
+ .artifactuse-panel__content--preview .artifactuse-panel__preview,
916
+ .artifactuse-panel__content--code .artifactuse-panel__code {
917
+ width: 100%;
918
+ }
919
+
920
+ .artifactuse-panel__content--split {
921
+ flex-direction: row;
922
+ }
923
+
924
+ /* Preview pane */
925
+ .artifactuse-panel__preview {
926
+ position: relative;
927
+ display: flex;
928
+ flex-direction: column;
929
+ overflow: hidden;
930
+ background: white;
931
+ }
932
+
933
+ .artifactuse-panel__iframe {
934
+ width: 100%;
935
+ height: 100%;
936
+ border: none;
937
+ background: white;
938
+ }
939
+
940
+ .artifactuse-panel__iframe--loading {
941
+ opacity: 0;
942
+ }
943
+
944
+ /* Loading spinner */
945
+ .artifactuse-panel__loading {
946
+ position: absolute;
947
+ top: 0;
948
+ left: 0;
949
+ right: 0;
950
+ bottom: 0;
951
+ display: flex;
952
+ align-items: center;
953
+ justify-content: center;
954
+ background: rgba(var(--artifactuse-surface), 0.85);
955
+ z-index: 5;
956
+ }
957
+
958
+ .artifactuse-panel__spinner {
959
+ width: 24px;
960
+ height: 24px;
961
+ border: 2px solid rgba(var(--artifactuse-text), 0.1);
962
+ border-top-color: rgb(var(--artifactuse-primary));
963
+ border-radius: 50%;
964
+ animation: artifactuse-spin 0.8s linear infinite;
965
+ }
966
+
967
+ .artifactuse-panel__no-preview {
968
+ display: flex;
969
+ flex-direction: column;
970
+ align-items: center;
971
+ justify-content: center;
972
+ height: 100%;
973
+ gap: 12px;
974
+ color: rgb(var(--artifactuse-text-muted));
975
+ background: rgb(var(--artifactuse-surface));
976
+ }
977
+
978
+ .artifactuse-panel__no-preview svg {
979
+ width: 48px;
980
+ height: 48px;
981
+ opacity: 0.5;
982
+ }
983
+
984
+ .artifactuse-panel__no-preview p {
985
+ margin: 0;
986
+ font-size: 14px;
987
+ }
988
+
989
+ /* Split handle */
990
+ .artifactuse-panel__split-handle {
991
+ position: absolute;
992
+ left: 0;
993
+ top: 0;
994
+ bottom: 0;
995
+ width: 4px;
996
+ background: transparent;
997
+ cursor: col-resize;
998
+ display: flex;
999
+ align-items: center;
1000
+ justify-content: center;
1001
+ z-index: 10;
1002
+ }
1003
+
1004
+ .artifactuse-panel__split-handle:hover {
1005
+ background: rgba(var(--artifactuse-primary), 0.2);
1006
+ }
1007
+
1008
+ .artifactuse-panel__split-handle-line {
1009
+ width: 4px;
1010
+ height: 48px;
1011
+ background: rgb(var(--artifactuse-border));
1012
+ border-radius: 2px;
1013
+ transition: background 0.15s, transform 0.15s;
1014
+ }
1015
+
1016
+ .artifactuse-panel__split-handle:hover .artifactuse-panel__split-handle-line {
1017
+ background: rgb(var(--artifactuse-primary));
1018
+ transform: scaleY(1.2);
1019
+ }
1020
+
1021
+ /* Code pane */
1022
+ .artifactuse-panel__code {
1023
+ position: relative;
1024
+ overflow: hidden;
1025
+ display: flex;
1026
+ flex-direction: column;
1027
+ flex: 1;
1028
+ }
1029
+
1030
+ /* Code scroll container */
1031
+ .artifactuse-panel__code-scroll {
1032
+ display: flex;
1033
+ flex-direction: row;
1034
+ flex: 1;
1035
+ overflow: auto;
1036
+ align-items: flex-start;
1037
+ background: rgb(var(--artifactuse-surface));
1038
+ }
1039
+
1040
+ /* Line numbers */
1041
+ .artifactuse-panel__line-numbers {
1042
+ padding: 16px 12px;
1043
+ text-align: right;
1044
+ font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', 'Fira Code', monospace;
1045
+ font-size: 13px;
1046
+ line-height: 1.6;
1047
+ color: rgb(var(--artifactuse-text-muted));
1048
+ border-right: 1px solid rgba(var(--artifactuse-text), 0.1);
1049
+ user-select: none;
1050
+ flex-shrink: 0;
1051
+ background: inherit;
1052
+ }
1053
+
1054
+ .artifactuse-panel__line-numbers div {
1055
+ padding-right: 4px;
1056
+ }
1057
+
1058
+ /* Code block */
1059
+ .artifactuse-panel__code-block {
1060
+ flex: 1;
1061
+ margin: 0;
1062
+ padding: 16px;
1063
+ font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', 'Fira Code', monospace;
1064
+ font-size: 13px;
1065
+ line-height: 1.6;
1066
+ white-space: pre;
1067
+ overflow: visible;
1068
+ }
1069
+
1070
+ .artifactuse-panel__code-block code {
1071
+ font-family: inherit;
1072
+ }
1073
+
1074
+ /* Prism pre override */
1075
+ .artifactuse-panel__code pre[class*="language-"],
1076
+ .artifactuse-panel__code code[class*="language-"] {
1077
+ font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', 'Fira Code', monospace;
1078
+ font-size: 13px;
1079
+ line-height: 1.6;
1080
+ padding: 16px 12px;
1081
+ margin: 0;
1082
+ overflow: visible;
1083
+ }
1084
+
1085
+ /* Footer */
1086
+ .artifactuse-panel__footer {
1087
+ display: flex;
1088
+ align-items: center;
1089
+ justify-content: space-between;
1090
+ gap: 12px;
1091
+ padding: 8px 14px;
1092
+ border-top: 1px solid rgb(var(--artifactuse-border));
1093
+ background: rgb(var(--artifactuse-surface));
1094
+ flex-shrink: 0;
1095
+ }
1096
+
1097
+ .artifactuse-panel__footer-left,
1098
+ .artifactuse-panel__footer-right {
1099
+ display: flex;
1100
+ align-items: center;
1101
+ gap: 6px;
1102
+ }
1103
+
1104
+ /* Branding */
1105
+ .artifactuse-panel__branding {
1106
+ display: flex;
1107
+ align-items: center;
1108
+ gap: 6px;
1109
+ padding: 4px 8px;
1110
+ border-radius: 6px;
1111
+ font-size: 11px;
1112
+ font-weight: 500;
1113
+ color: rgb(var(--artifactuse-text-secondary));
1114
+ text-decoration: none;
1115
+ transition: background 0.15s, color 0.15s;
1116
+ }
1117
+
1118
+ .artifactuse-panel__branding:hover {
1119
+ background: rgba(var(--artifactuse-text), 0.06);
1120
+ color: rgb(var(--artifactuse-text));
1121
+ }
1122
+
1123
+ .artifactuse-panel__branding svg {
1124
+ flex-shrink: 0;
1125
+ }
1126
+
1127
+ /* Badges */
1128
+ .artifactuse-panel__badge {
1129
+ padding: 3px 7px;
1130
+ background: rgba(var(--artifactuse-primary), 0.15);
1131
+ color: rgb(var(--artifactuse-primary));
1132
+ border-radius: 4px;
1133
+ font-size: 10px;
1134
+ font-weight: 600;
1135
+ text-transform: uppercase;
1136
+ letter-spacing: 0.02em;
1137
+ }
1138
+
1139
+ .artifactuse-panel__badge--secondary {
1140
+ background: rgba(var(--artifactuse-text), 0.08);
1141
+ color: rgb(var(--artifactuse-text-secondary));
1142
+ }
1143
+
1144
+ /* Footer actions */
1145
+ .artifactuse-panel__footer-action {
1146
+ display: flex;
1147
+ align-items: center;
1148
+ justify-content: center;
1149
+ width: 32px;
1150
+ height: 32px;
1151
+ padding: 0;
1152
+ background: transparent;
1153
+ border: 1px solid rgb(var(--artifactuse-border));
1154
+ border-radius: 6px;
1155
+ color: rgb(var(--artifactuse-text-secondary));
1156
+ cursor: pointer;
1157
+ transition: all 0.15s;
1158
+ }
1159
+
1160
+ .artifactuse-panel__footer-action:hover {
1161
+ background: rgba(var(--artifactuse-text), 0.05);
1162
+ border-color: rgb(var(--artifactuse-text-secondary));
1163
+ color: rgb(var(--artifactuse-text));
1164
+ }
1165
+
1166
+ .artifactuse-panel__footer-action svg {
1167
+ width: 15px;
1168
+ height: 15px;
1169
+ }
1170
+
1171
+ .artifactuse-panel__footer-action--success {
1172
+ border-color: rgb(var(--artifactuse-success));
1173
+ color: rgb(var(--artifactuse-success));
1174
+ background: rgba(var(--artifactuse-success), 0.1);
1175
+ }
1176
+
1177
+ /* Navigation */
1178
+ .artifactuse-panel__nav {
1179
+ position: relative;
1180
+ display: flex;
1181
+ align-items: center;
1182
+ gap: 2px;
1183
+ margin-left: 6px;
1184
+ padding-left: 6px;
1185
+ border-left: 1px solid rgb(var(--artifactuse-border));
1186
+ }
1187
+
1188
+ .artifactuse-panel__nav-btn {
1189
+ display: flex;
1190
+ align-items: center;
1191
+ justify-content: center;
1192
+ width: 26px;
1193
+ height: 26px;
1194
+ background: transparent;
1195
+ border: none;
1196
+ border-radius: 4px;
1197
+ color: rgb(var(--artifactuse-text-secondary));
1198
+ cursor: pointer;
1199
+ transition: all 0.15s;
1200
+ }
1201
+
1202
+ .artifactuse-panel__nav-btn:hover:not(:disabled) {
1203
+ background: rgba(var(--artifactuse-text), 0.08);
1204
+ color: rgb(var(--artifactuse-text));
1205
+ }
1206
+
1207
+ .artifactuse-panel__nav-btn:disabled {
1208
+ opacity: 0.3;
1209
+ cursor: not-allowed;
1210
+ }
1211
+
1212
+ .artifactuse-panel__nav-btn svg {
1213
+ width: 14px;
1214
+ height: 14px;
1215
+ }
1216
+
1217
+ .artifactuse-panel__nav-trigger {
1218
+ display: flex;
1219
+ align-items: center;
1220
+ gap: 4px;
1221
+ padding: 4px 8px;
1222
+ background: transparent;
1223
+ border: none;
1224
+ border-radius: 4px;
1225
+ font-size: 11px;
1226
+ font-weight: 500;
1227
+ color: rgb(var(--artifactuse-text-secondary));
1228
+ cursor: pointer;
1229
+ transition: all 0.15s;
1230
+ }
1231
+
1232
+ .artifactuse-panel__nav-trigger:hover {
1233
+ background: rgba(var(--artifactuse-text), 0.08);
1234
+ color: rgb(var(--artifactuse-text));
1235
+ }
1236
+
1237
+ .artifactuse-panel__nav-trigger svg {
1238
+ width: 12px;
1239
+ height: 12px;
1240
+ }
1241
+
1242
+ /* Artifact list popup */
1243
+ .artifactuse-panel__artifact-list {
1244
+ position: absolute;
1245
+ bottom: 100%;
1246
+ right: 0;
1247
+ margin-bottom: 8px;
1248
+ width: 280px;
1249
+ max-height: 320px;
1250
+ background: rgb(var(--artifactuse-surface));
1251
+ border: 1px solid rgb(var(--artifactuse-border));
1252
+ border-radius: 10px;
1253
+ box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
1254
+ overflow: hidden;
1255
+ z-index: 100;
1256
+ }
1257
+
1258
+ .artifactuse-panel__artifact-list-header {
1259
+ display: flex;
1260
+ align-items: center;
1261
+ justify-content: space-between;
1262
+ padding: 10px 12px;
1263
+ border-bottom: 1px solid rgb(var(--artifactuse-border));
1264
+ font-size: 12px;
1265
+ font-weight: 600;
1266
+ color: rgb(var(--artifactuse-text));
1267
+ }
1268
+
1269
+ .artifactuse-panel__artifact-list-close {
1270
+ display: flex;
1271
+ align-items: center;
1272
+ justify-content: center;
1273
+ width: 24px;
1274
+ height: 24px;
1275
+ background: transparent;
1276
+ border: none;
1277
+ border-radius: 4px;
1278
+ color: rgb(var(--artifactuse-text-secondary));
1279
+ cursor: pointer;
1280
+ transition: all 0.15s;
1281
+ }
1282
+
1283
+ .artifactuse-panel__artifact-list-close:hover {
1284
+ background: rgba(239, 68, 68, 0.15);
1285
+ color: rgb(239, 68, 68);
1286
+ }
1287
+
1288
+ .artifactuse-panel__artifact-list-close svg {
1289
+ width: 14px;
1290
+ height: 14px;
1291
+ }
1292
+
1293
+ .artifactuse-panel__artifact-list-items {
1294
+ max-height: 260px;
1295
+ overflow-y: auto;
1296
+ padding: 4px;
1297
+ }
1298
+
1299
+ .artifactuse-panel__artifact-item {
1300
+ display: flex;
1301
+ align-items: center;
1302
+ gap: 10px;
1303
+ width: 100%;
1304
+ padding: 8px 10px;
1305
+ background: transparent;
1306
+ border: none;
1307
+ border-radius: 6px;
1308
+ cursor: pointer;
1309
+ transition: background 0.15s;
1310
+ text-align: left;
1311
+ }
1312
+
1313
+ .artifactuse-panel__artifact-item:hover {
1314
+ background: rgba(var(--artifactuse-text), 0.06);
1315
+ }
1316
+
1317
+ .artifactuse-panel__artifact-item--active {
1318
+ background: rgba(var(--artifactuse-primary), 0.12);
1319
+ }
1320
+
1321
+ .artifactuse-panel__artifact-item--active:hover {
1322
+ background: rgba(var(--artifactuse-primary), 0.18);
1323
+ }
1324
+
1325
+ .artifactuse-panel__artifact-item-icon {
1326
+ flex-shrink: 0;
1327
+ width: 24px;
1328
+ height: 24px;
1329
+ display: flex;
1330
+ align-items: center;
1331
+ justify-content: center;
1332
+ background: rgba(var(--artifactuse-primary), 0.12);
1333
+ border-radius: 5px;
1334
+ color: rgb(var(--artifactuse-primary));
1335
+ }
1336
+
1337
+ .artifactuse-panel__artifact-item-icon svg {
1338
+ width: 14px;
1339
+ height: 14px;
1340
+ }
1341
+
1342
+ .artifactuse-panel__artifact-item-content {
1343
+ flex: 1;
1344
+ min-width: 0;
1345
+ display: flex;
1346
+ flex-direction: column;
1347
+ gap: 1px;
1348
+ }
1349
+
1350
+ .artifactuse-panel__artifact-item-title {
1351
+ font-size: 12px;
1352
+ font-weight: 500;
1353
+ color: rgb(var(--artifactuse-text));
1354
+ white-space: nowrap;
1355
+ overflow: hidden;
1356
+ text-overflow: ellipsis;
1357
+ }
1358
+
1359
+ .artifactuse-panel__artifact-item-meta {
1360
+ font-size: 10px;
1361
+ color: rgb(var(--artifactuse-text-secondary));
1362
+ }
1363
+
1364
+ .artifactuse-panel__artifact-item-index {
1365
+ flex-shrink: 0;
1366
+ width: 20px;
1367
+ height: 20px;
1368
+ display: flex;
1369
+ align-items: center;
1370
+ justify-content: center;
1371
+ background: rgba(var(--artifactuse-text), 0.08);
1372
+ border-radius: 4px;
1373
+ font-size: 10px;
1374
+ font-weight: 600;
1375
+ color: rgb(var(--artifactuse-text-secondary));
1376
+ }
1377
+
1378
+ /* Backdrop */
1379
+ .artifactuse-panel__backdrop {
1380
+ position: fixed;
1381
+ inset: 0;
1382
+ background: rgba(0, 0, 0, 0.5);
1383
+ z-index: 999;
1384
+ }
1385
+
1386
+ /* Theme overrides - Light */
1387
+ [data-artifactuse-theme="light"] .artifactuse-panel__preview {
1388
+ background: #ffffff;
1389
+ }
1390
+
1391
+ /* Responsive */
1392
+ @media (max-width: 768px) {
1393
+ .artifactuse-panel {
1394
+ position: fixed;
1395
+ top: 0;
1396
+ right: 0;
1397
+ bottom: 0;
1398
+ width: 100% !important;
1399
+ min-width: 0;
1400
+ max-width: none;
1401
+ z-index: 1000;
1402
+ }
1403
+
1404
+ .artifactuse-panel__resize-handle {
1405
+ display: none;
1406
+ }
1407
+
1408
+ .artifactuse-panel__tabs {
1409
+ display: none;
1410
+ }
1411
+
1412
+ .artifactuse-panel__content--split {
1413
+ flex-direction: column;
1414
+ }
1415
+
1416
+ .artifactuse-panel__content--split .artifactuse-panel__preview,
1417
+ .artifactuse-panel__content--split .artifactuse-panel__code {
1418
+ width: 100% !important;
1419
+ height: 50%;
1420
+ }
1421
+
1422
+ .artifactuse-panel__split-handle {
1423
+ width: 100%;
1424
+ height: 12px;
1425
+ margin: -3px 0;
1426
+ cursor: ns-resize;
1427
+ }
1428
+
1429
+ .artifactuse-panel__split-handle-line {
1430
+ width: 48px;
1431
+ height: 4px;
1432
+ }
1433
+
1434
+ .artifactuse-panel__footer {
1435
+ flex-wrap: wrap;
1436
+ }
1437
+ }
1438
+
1439
+ @container artifactuse-panel (max-width: 450px) {
1440
+ .artifactuse-panel__header {
1441
+ padding: 8px 10px;
1442
+ gap: 8px;
1443
+ }
1444
+
1445
+ .artifactuse-panel__footer {
1446
+ padding: 6px 10px;
1447
+ }
1448
+
1449
+ .artifactuse-panel__badge {
1450
+ display: none;
1451
+ }
1452
+
1453
+ .artifactuse-panel__nav-trigger span {
1454
+ display: none;
1455
+ }
1456
+ }
1457
+
1458
+ @container artifactuse-panel (max-width: 320px) {
1459
+ .artifactuse-panel__title-content {
1460
+ display: none;
1461
+ }
1462
+ }
1463
+
1464
+ /* Panel Transitions (for CSS-based animations) */
1465
+ .artifactuse-panel-enter-active,
1466
+ .artifactuse-panel-leave-active {
1467
+ transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s ease;
1468
+ }
1469
+
1470
+ .artifactuse-panel-enter-from,
1471
+ .artifactuse-panel-leave-to {
1472
+ width: 0 !important;
1473
+ min-width: 0 !important;
1474
+ opacity: 0;
1475
+ overflow: hidden;
1476
+ }
1477
+
1478
+ .artifactuse-panel--fullscreen.artifactuse-panel-enter-active,
1479
+ .artifactuse-panel--fullscreen.artifactuse-panel-leave-active {
1480
+ transition: opacity 0.3s ease;
1481
+ }
1482
+
1483
+ .artifactuse-panel--fullscreen.artifactuse-panel-enter-from,
1484
+ .artifactuse-panel--fullscreen.artifactuse-panel-leave-to {
1485
+ width: 100% !important;
1486
+ opacity: 0;
1487
+ }
1488
+
1489
+ .artifactuse-backdrop-enter-active,
1490
+ .artifactuse-backdrop-leave-active {
1491
+ transition: opacity 0.3s ease;
1492
+ }
1493
+
1494
+ .artifactuse-backdrop-enter-from,
1495
+ .artifactuse-backdrop-leave-to {
1496
+ opacity: 0;
1497
+ }
1498
+
1499
+ /* Popup transition */
1500
+ .artifactuse-popup-enter-active,
1501
+ .artifactuse-popup-leave-active {
1502
+ transition: opacity 0.2s ease, transform 0.2s ease;
1503
+ }
1504
+
1505
+ .artifactuse-popup-enter-from,
1506
+ .artifactuse-popup-leave-to {
1507
+ opacity: 0;
1508
+ transform: translateY(8px);
1509
+ }
1510
+
1511
+
1512
+
1513
+
1514
+ /* ==========================================
1515
+ IMAGE PROCESSOR
1516
+ ========================================== */
1517
+
1518
+ /* Image Gallery */
1519
+ .artifactuse-image-gallery {
1520
+ display: grid;
1521
+ gap: 0.75rem;
1522
+ margin: 1rem 0;
1523
+ grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
1524
+ }
1525
+
1526
+ .artifactuse-gallery-item {
1527
+ position: relative;
1528
+ overflow: hidden;
1529
+ border-radius: 0.5rem;
1530
+ cursor: pointer;
1531
+ transition: box-shadow 0.2s ease;
1532
+ margin: 1rem 0rem;
1533
+ }
1534
+
1535
+ .artifactuse-gallery-item:hover {
1536
+ box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.2), 0 4px 6px -2px rgba(0, 0, 0, 0.1);
1537
+ }
1538
+
1539
+ .artifactuse-gallery-item img.artifactuse-gallery-image {
1540
+ width: 100%;
1541
+ height: 12rem;
1542
+ object-fit: cover;
1543
+ transition: transform 0.3s ease;
1544
+ }
1545
+
1546
+ .artifactuse-gallery-item:hover img.artifactuse-gallery-image {
1547
+ transform: scale(1.05);
1548
+ }
1549
+
1550
+ .artifactuse-gallery-caption {
1551
+ position: absolute;
1552
+ bottom: 0;
1553
+ left: 0;
1554
+ right: 0;
1555
+ background: linear-gradient(to top, rgba(0, 0, 0, 0.7), transparent);
1556
+ color: white;
1557
+ font-size: 0.875rem;
1558
+ padding: 0.75rem;
1559
+ }
1560
+
1561
+ /* Hero and Inline Image variants */
1562
+ .artifactuse-hero-image {
1563
+ width: 100%;
1564
+ border-radius: 0.75rem;
1565
+ box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
1566
+ margin: 2rem 0;
1567
+ max-height: 500px;
1568
+ object-fit: cover;
1569
+ }
1570
+
1571
+ .artifactuse-inline-image {
1572
+ border-radius: 0.375rem;
1573
+ box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
1574
+ margin: 1rem 0;
1575
+ max-width: 400px;
1576
+ }
1577
+
1578
+ /* ==========================================
1579
+ VIDEO PROCESSOR - Additional Styles
1580
+ ========================================== */
1581
+
1582
+ /* Video Preview (Pexels style) */
1583
+ .artifactuse-video-preview-container {
1584
+ margin: 1.5rem 0;
1585
+ border-radius: 0.5rem;
1586
+ overflow: hidden;
1587
+ box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.2);
1588
+ background-color: rgb(var(--artifactuse-background));
1589
+ }
1590
+
1591
+ .artifactuse-video-preview-wrapper {
1592
+ position: relative;
1593
+ cursor: pointer;
1594
+ aspect-ratio: 16/9;
1595
+ }
1596
+
1597
+ .artifactuse-video-preview-image {
1598
+ width: 100%;
1599
+ height: 100%;
1600
+ object-fit: cover;
1601
+ transition: transform 0.3s ease;
1602
+ }
1603
+
1604
+ .artifactuse-video-preview-wrapper:hover .artifactuse-video-preview-image {
1605
+ transform: scale(1.05);
1606
+ }
1607
+
1608
+ .artifactuse-video-play-overlay {
1609
+ position: absolute;
1610
+ inset: 0;
1611
+ display: flex;
1612
+ align-items: center;
1613
+ justify-content: center;
1614
+ background-color: rgba(0, 0, 0, 0.4);
1615
+ transition: background-color 0.3s ease;
1616
+ }
1617
+
1618
+ .artifactuse-video-preview-wrapper:hover .artifactuse-video-play-overlay {
1619
+ background-color: rgba(0, 0, 0, 0.6);
1620
+ }
1621
+
1622
+ .artifactuse-play-icon {
1623
+ width: 4rem;
1624
+ height: 4rem;
1625
+ color: white;
1626
+ opacity: 0.8;
1627
+ transition: all 0.3s ease;
1628
+ filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.3));
1629
+ }
1630
+
1631
+ .artifactuse-video-preview-wrapper:hover .artifactuse-play-icon {
1632
+ opacity: 1;
1633
+ transform: scale(1.1);
1634
+ }
1635
+
1636
+ .artifactuse-video-info-overlay {
1637
+ position: absolute;
1638
+ bottom: 0;
1639
+ left: 0;
1640
+ right: 0;
1641
+ background: linear-gradient(to top, black, rgba(0, 0, 0, 0.7), transparent);
1642
+ color: white;
1643
+ padding: 1rem;
1644
+ }
1645
+
1646
+ .artifactuse-video-title {
1647
+ font-size: 1.125rem;
1648
+ font-weight: 600;
1649
+ margin-bottom: 0.25rem;
1650
+ }
1651
+
1652
+ .artifactuse-video-alt {
1653
+ font-size: 0.875rem;
1654
+ opacity: 0.9;
1655
+ }
1656
+
1657
+ .artifactuse-video-actions {
1658
+ padding: 1rem;
1659
+ background-color: rgb(var(--artifactuse-surface));
1660
+ display: flex;
1661
+ justify-content: space-between;
1662
+ align-items: center;
1663
+ }
1664
+
1665
+ .artifactuse-video-link {
1666
+ color: rgb(var(--artifactuse-info));
1667
+ text-decoration: none;
1668
+ transition: color 0.2s ease;
1669
+ }
1670
+
1671
+ .artifactuse-video-link:hover {
1672
+ color: rgb(var(--artifactuse-primary));
1673
+ }
1674
+
1675
+ /* ==========================================
1676
+ AUDIO PROCESSOR - Additional Styles
1677
+ ========================================== */
1678
+
1679
+ .artifactuse-audio-player {
1680
+ background-color: rgb(var(--artifactuse-surface));
1681
+ border-radius: 0.5rem;
1682
+ padding: 1rem;
1683
+ box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
1684
+ }
1685
+
1686
+ .artifactuse-audio-filename {
1687
+ font-weight: 500;
1688
+ color: rgb(var(--artifactuse-text));
1689
+ }
1690
+
1691
+ .artifactuse-spotify-embed {
1692
+ width: 100%;
1693
+ border-radius: 0.75rem;
1694
+ }
1695
+
1696
+ .artifactuse-apple-music-embed {
1697
+ width: 100%;
1698
+ border-radius: 0.75rem;
1699
+ }
1700
+
1701
+ .artifactuse-soundcloud-embed {
1702
+ width: 100%;
1703
+ border-radius: 0.5rem;
1704
+ }
1705
+
1706
+ /* ==========================================
1707
+ MAP PROCESSOR - Additional Styles
1708
+ ========================================== */
1709
+
1710
+ .artifactuse-map-icon {
1711
+ width: 1rem;
1712
+ height: 1rem;
1713
+ display: inline-block;
1714
+ margin-left: 0.25rem;
1715
+ vertical-align: middle;
1716
+ }
1717
+
1718
+ /* ==========================================
1719
+ SOCIAL PROCESSOR - Additional Styles
1720
+ ========================================== */
1721
+
1722
+ /* LinkedIn */
1723
+ .artifactuse-linkedin-wrapper {
1724
+ margin: 1.5rem 0;
1725
+ }
1726
+
1727
+ .artifactuse-linkedin-embed {
1728
+ width: 100%;
1729
+ height: 400px;
1730
+ border-radius: 0.5rem;
1731
+ border: none;
1732
+ }
1733
+
1734
+ /* Reddit */
1735
+ .artifactuse-reddit-wrapper {
1736
+ margin: 1.5rem 0;
1737
+ }
1738
+
1739
+ .artifactuse-reddit-embed {
1740
+ width: 100%;
1741
+ height: 400px;
1742
+ border-radius: 0.5rem;
1743
+ border: none;
1744
+ }
1745
+
1746
+ /* Facebook */
1747
+ .artifactuse-facebook-wrapper {
1748
+ margin: 1.5rem 0;
1749
+ display: flex;
1750
+ justify-content: center;
1751
+ }
1752
+
1753
+ .artifactuse-facebook-embed {
1754
+ border-radius: 0.5rem;
1755
+ }
1756
+
1757
+ /* Pinterest */
1758
+ .artifactuse-pinterest-wrapper {
1759
+ margin: 1.5rem 0;
1760
+ display: flex;
1761
+ justify-content: center;
1762
+ }
1763
+
1764
+ /* Twitter */
1765
+ .artifactuse-twitter-wrapper {
1766
+ margin: 1.5rem 0;
1767
+ display: flex;
1768
+ justify-content: center;
1769
+ }
1770
+
1771
+ /* TikTok */
1772
+ .artifactuse-tiktok-wrapper {
1773
+ margin: 1.5rem 0;
1774
+ display: flex;
1775
+ justify-content: center;
1776
+ }
1777
+
1778
+ .artifactuse-tiktok-embed {
1779
+ max-width: 325px;
1780
+ height: 740px;
1781
+ border-radius: 0.5rem;
1782
+ border: none;
1783
+ }
1784
+
1785
+ /* Embed fallback */
1786
+ .artifactuse-embed-fallback {
1787
+ margin-top: 0.5rem;
1788
+ text-align: center;
1789
+ font-size: 0.875rem;
1790
+ }
1791
+
1792
+ .artifactuse-embed-fallback a {
1793
+ color: rgb(var(--artifactuse-info));
1794
+ text-decoration: none;
1795
+ }
1796
+
1797
+ .artifactuse-embed-fallback a:hover {
1798
+ color: rgb(var(--artifactuse-primary));
1799
+ text-decoration: underline;
1800
+ }
1801
+
1802
+ /* ==========================================
1803
+ DOCUMENT PROCESSOR - Additional Styles
1804
+ ========================================== */
1805
+
1806
+ .artifactuse-pdf-icon {
1807
+ width: 1.25rem;
1808
+ height: 1.25rem;
1809
+ color: rgb(var(--artifactuse-error));
1810
+ }
1811
+
1812
+ .artifactuse-office-type {
1813
+ font-size: 0.875rem;
1814
+ font-weight: 500;
1815
+ color: rgb(var(--artifactuse-text-secondary));
1816
+ }
1817
+
1818
+ /* Google Forms */
1819
+ .artifactuse-google-form-wrapper {
1820
+ margin: 1.5rem 0;
1821
+ border-radius: 0.5rem;
1822
+ overflow: hidden;
1823
+ box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
1824
+ }
1825
+
1826
+ .artifactuse-google-form-iframe {
1827
+ width: 100%;
1828
+ height: 600px;
1829
+ border: none;
1830
+ }
1831
+
1832
+ /* ==========================================
1833
+ CODE EMBED PROCESSOR - Additional Styles
1834
+ ========================================== */
1835
+
1836
+ .artifactuse-codepen-embed {
1837
+ width: 100%;
1838
+ height: 400px;
1839
+ border-radius: 0.5rem;
1840
+ border: none;
1841
+ }
1842
+
1843
+ .artifactuse-codesandbox-embed {
1844
+ width: 100%;
1845
+ border-radius: 0.5rem;
1846
+ border: none;
1847
+ }
1848
+
1849
+ .artifactuse-jsfiddle-embed {
1850
+ width: 100%;
1851
+ height: 400px;
1852
+ border-radius: 0.5rem;
1853
+ border: none;
1854
+ }
1855
+
1856
+ .artifactuse-stackblitz-wrapper {
1857
+ margin: 1.5rem 0;
1858
+ }
1859
+
1860
+ .artifactuse-stackblitz-embed {
1861
+ width: 100%;
1862
+ border-radius: 0.5rem;
1863
+ border: none;
1864
+ }
1865
+
1866
+ .artifactuse-replit-wrapper {
1867
+ margin: 1.5rem 0;
1868
+ }
1869
+
1870
+ .artifactuse-replit-embed {
1871
+ width: 100%;
1872
+ border-radius: 0.5rem;
1873
+ border: none;
1874
+ }
1875
+
1876
+ /* ==========================================
1877
+ DATA VIZ PROCESSOR - Additional Styles
1878
+ ========================================== */
1879
+
1880
+ /* Tableau */
1881
+ .artifactuse-tableau-wrapper {
1882
+ margin: 1.5rem 0;
1883
+ border-radius: 0.5rem;
1884
+ overflow: hidden;
1885
+ box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
1886
+ }
1887
+
1888
+ .artifactuse-tableau-iframe {
1889
+ width: 100%;
1890
+ height: 600px;
1891
+ border: none;
1892
+ }
1893
+
1894
+ /* Infogram */
1895
+ .artifactuse-infogram-wrapper {
1896
+ margin: 1.5rem 0;
1897
+ border-radius: 0.5rem;
1898
+ overflow: hidden;
1899
+ box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
1900
+ }
1901
+
1902
+ .artifactuse-infogram-iframe {
1903
+ width: 100%;
1904
+ height: 500px;
1905
+ border: none;
1906
+ }
1907
+
1908
+ /* ==========================================
1909
+ DESIGN PROCESSOR - Additional Styles
1910
+ ========================================== */
1911
+
1912
+ /* Sketchfab */
1913
+ .artifactuse-sketchfab-wrapper {
1914
+ margin: 1.5rem 0;
1915
+ border-radius: 0.5rem;
1916
+ overflow: hidden;
1917
+ box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
1918
+ }
1919
+
1920
+ .artifactuse-sketchfab-iframe {
1921
+ width: 100%;
1922
+ height: 480px;
1923
+ border: none;
1924
+ }
1925
+
1926
+ /* Canva */
1927
+ .artifactuse-canva-wrapper {
1928
+ margin: 1.5rem 0;
1929
+ }
1930
+
1931
+ .artifactuse-canva-preview {
1932
+ border-radius: 0.5rem;
1933
+ overflow: hidden;
1934
+ box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
1935
+ }
1936
+
1937
+ .artifactuse-canva-placeholder {
1938
+ display: flex;
1939
+ flex-direction: column;
1940
+ align-items: center;
1941
+ justify-content: center;
1942
+ padding: 3rem;
1943
+ background: linear-gradient(to bottom right, rgb(var(--artifactuse-primary)), rgb(var(--artifactuse-gradient)));
1944
+ color: white;
1945
+ }
1946
+
1947
+ .artifactuse-canva-icon {
1948
+ width: 4rem;
1949
+ height: 4rem;
1950
+ margin-bottom: 1rem;
1951
+ opacity: 0.8;
1952
+ }
1953
+
1954
+ .artifactuse-canva-placeholder p {
1955
+ font-size: 1.25rem;
1956
+ font-weight: 600;
1957
+ margin-bottom: 1rem;
1958
+ }
1959
+
1960
+ .artifactuse-canva-link {
1961
+ padding: 0.5rem 1.5rem;
1962
+ background-color: white;
1963
+ color: rgb(var(--artifactuse-primary));
1964
+ border-radius: 9999px;
1965
+ font-weight: 500;
1966
+ text-decoration: none;
1967
+ transition: background-color 0.2s ease;
1968
+ }
1969
+
1970
+ .artifactuse-canva-link:hover {
1971
+ background-color: rgb(var(--artifactuse-surface));
1972
+ }
1973
+
1974
+ /* Dribbble */
1975
+ .artifactuse-dribbble-wrapper {
1976
+ margin: 1.5rem 0;
1977
+ border-radius: 0.5rem;
1978
+ overflow: hidden;
1979
+ box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
1980
+ }
1981
+
1982
+ .artifactuse-dribbble-iframe {
1983
+ width: 100%;
1984
+ height: 400px;
1985
+ border: none;
1986
+ }
1987
+
1988
+ /* Behance */
1989
+ .artifactuse-behance-wrapper {
1990
+ margin: 1.5rem 0;
1991
+ border-radius: 0.5rem;
1992
+ overflow: hidden;
1993
+ box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
1994
+ }
1995
+
1996
+ .artifactuse-behance-iframe {
1997
+ width: 100%;
1998
+ height: 400px;
1999
+ border: none;
2000
+ }
2001
+
2002
+ /* ==========================================
2003
+ INTERACTIVE PROCESSOR - Additional Styles
2004
+ ========================================== */
2005
+
2006
+ /* Google Calendar */
2007
+ .artifactuse-google-calendar-wrapper {
2008
+ margin: 1.5rem 0;
2009
+ border-radius: 0.5rem;
2010
+ overflow: hidden;
2011
+ box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
2012
+ }
2013
+
2014
+ .artifactuse-google-calendar-iframe {
2015
+ width: 100%;
2016
+ height: 600px;
2017
+ border: none;
2018
+ }
2019
+
2020
+ /* Cal.com */
2021
+ .artifactuse-calcom-wrapper {
2022
+ margin: 1.5rem 0;
2023
+ border-radius: 0.5rem;
2024
+ overflow: hidden;
2025
+ box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
2026
+ }
2027
+
2028
+ .artifactuse-calcom-iframe {
2029
+ width: 100%;
2030
+ height: 650px;
2031
+ border: none;
2032
+ }
2033
+
2034
+ /* Notion */
2035
+ .artifactuse-notion-wrapper {
2036
+ margin: 1.5rem 0;
2037
+ border-radius: 0.5rem;
2038
+ overflow: hidden;
2039
+ box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
2040
+ }
2041
+
2042
+ .artifactuse-notion-iframe {
2043
+ width: 100%;
2044
+ height: 500px;
2045
+ border: none;
2046
+ }
2047
+
2048
+ /* ==========================================
2049
+ MERMAID PROCESSOR - Complete Styles
2050
+ ========================================== */
2051
+
2052
+ .artifactuse-mermaid-container {
2053
+ margin: 1.5rem 0;
2054
+ border-radius: 0.5rem;
2055
+ border: 1px solid rgb(var(--artifactuse-border));
2056
+ overflow: hidden;
2057
+ background-color: rgb(var(--artifactuse-background));
2058
+ }
2059
+
2060
+ .artifactuse-mermaid-loading {
2061
+ display: flex;
2062
+ align-items: center;
2063
+ justify-content: center;
2064
+ padding: 2rem;
2065
+ color: rgb(var(--artifactuse-text-muted));
2066
+ font-size: 0.875rem;
2067
+ }
2068
+
2069
+ .artifactuse-mermaid-rendered {
2070
+ padding: 1.5rem;
2071
+ }
2072
+
2073
+ .artifactuse-mermaid-rendered svg {
2074
+ max-width: 100%;
2075
+ height: auto;
2076
+ margin: 0 auto;
2077
+ display: block;
2078
+ }
2079
+
2080
+ /* Mermaid Error States */
2081
+ .artifactuse-mermaid-error {
2082
+ padding: 1.5rem;
2083
+ }
2084
+
2085
+ .artifactuse-mermaid-error-container {
2086
+ border-color: rgb(var(--artifactuse-error));
2087
+ }
2088
+
2089
+ .artifactuse-mermaid-error-title {
2090
+ color: rgb(var(--artifactuse-error));
2091
+ font-weight: 600;
2092
+ margin-bottom: 0.5rem;
2093
+ }
2094
+
2095
+ .artifactuse-mermaid-error-message {
2096
+ font-size: 0.875rem;
2097
+ color: rgb(var(--artifactuse-error));
2098
+ background-color: rgba(var(--artifactuse-error), 0.1);
2099
+ padding: 0.75rem;
2100
+ border-radius: 0.5rem;
2101
+ margin-bottom: 0.75rem;
2102
+ font-family: var(--artifactuse-font-mono);
2103
+ overflow-x: auto;
2104
+ }
2105
+
2106
+ .artifactuse-mermaid-error-details {
2107
+ font-size: 0.875rem;
2108
+ }
2109
+
2110
+ .artifactuse-mermaid-error-details summary {
2111
+ cursor: pointer;
2112
+ color: rgb(var(--artifactuse-text-secondary));
2113
+ }
2114
+
2115
+ .artifactuse-mermaid-error-details summary:hover {
2116
+ color: rgb(var(--artifactuse-text));
2117
+ }
2118
+
2119
+ .artifactuse-mermaid-error-details pre {
2120
+ margin-top: 0.5rem;
2121
+ padding: 0.75rem;
2122
+ background-color: rgb(var(--artifactuse-surface));
2123
+ border-radius: 0.5rem;
2124
+ font-size: 0.75rem;
2125
+ font-family: var(--artifactuse-font-mono);
2126
+ overflow-x: auto;
2127
+ color: rgb(var(--artifactuse-text));
2128
+ }
2129
+
2130
+ /* Mermaid Fallback (when library fails to load) */
2131
+ .artifactuse-mermaid-fallback {
2132
+ padding: 1.5rem;
2133
+ }
2134
+
2135
+ .artifactuse-mermaid-fallback-container {
2136
+ background-color: rgb(var(--artifactuse-surface));
2137
+ }
2138
+
2139
+ .artifactuse-mermaid-fallback-title {
2140
+ color: rgb(var(--artifactuse-text-secondary));
2141
+ font-weight: 500;
2142
+ margin-bottom: 0.5rem;
2143
+ }
2144
+
2145
+ .artifactuse-mermaid-fallback-source {
2146
+ font-size: 0.875rem;
2147
+ font-family: var(--artifactuse-font-mono);
2148
+ color: rgb(var(--artifactuse-text));
2149
+ background-color: rgb(var(--artifactuse-background));
2150
+ padding: 1rem;
2151
+ border-radius: 0.5rem;
2152
+ overflow-x: auto;
2153
+ white-space: pre-wrap;
2154
+ }
2155
+
2156
+ /* ==========================================
2157
+ TABLE PROCESSOR - Updated Styles
2158
+ ========================================== */
2159
+
2160
+ .artifactuse-table-container {
2161
+ margin: 1.5rem 0;
2162
+ border-radius: 0.5rem;
2163
+ border: 1px solid rgb(var(--artifactuse-border));
2164
+ overflow: hidden;
2165
+ background-color: rgb(var(--artifactuse-background));
2166
+ }
2167
+
2168
+ .artifactuse-table-controls {
2169
+ display: flex;
2170
+ align-items: center;
2171
+ justify-content: space-between;
2172
+ gap: 1rem;
2173
+ padding: 0.75rem 1rem;
2174
+ background-color: rgb(var(--artifactuse-surface));
2175
+ /* border-bottom: 1px solid rgb(var(--artifactuse-border)); */
2176
+ }
2177
+
2178
+ .artifactuse-table-search {
2179
+ position: relative;
2180
+ flex: 1;
2181
+ max-width: 16rem;
2182
+ }
2183
+
2184
+ .artifactuse-table-search-input {
2185
+ width: 70%;
2186
+ padding: 0.4rem 1rem 0.4rem 2.25rem;
2187
+ font-size: 0.875rem;
2188
+ border-radius: 0.5rem;
2189
+ border: 1px solid rgb(var(--artifactuse-border));
2190
+ background-color: rgb(var(--artifactuse-background));
2191
+ color: rgb(var(--artifactuse-text));
2192
+ }
2193
+
2194
+ .artifactuse-table-search-input::placeholder {
2195
+ color: rgb(var(--artifactuse-text-muted));
2196
+ }
2197
+
2198
+ .artifactuse-table-search-input:focus {
2199
+ outline: none;
2200
+ box-shadow: 0 0 0 2px rgb(var(--artifactuse-primary));
2201
+ border-color: transparent;
2202
+ }
2203
+
2204
+ .artifactuse-table-search-icon {
2205
+ position: absolute;
2206
+ left: 0.75rem;
2207
+ top: 50%;
2208
+ transform: translateY(-50%);
2209
+ width: 1rem;
2210
+ height: 1rem;
2211
+ color: rgb(var(--artifactuse-text-muted));
2212
+ }
2213
+
2214
+ .artifactuse-table-actions {
2215
+ display: flex;
2216
+ align-items: center;
2217
+ gap: 0.5rem;
2218
+ }
2219
+
2220
+ .artifactuse-table-action-btn {
2221
+ display: flex;
2222
+ align-items: center;
2223
+ gap: 0.375rem;
2224
+ padding: 0.375rem 0.75rem;
2225
+ font-size: 0.75rem;
2226
+ font-weight: 500;
2227
+ border-radius: 0.5rem;
2228
+ background-color: rgb(var(--artifactuse-background));
2229
+ border: 1px solid rgb(var(--artifactuse-border));
2230
+ color: rgb(var(--artifactuse-text-secondary));
2231
+ cursor: pointer;
2232
+ transition: all 0.2s ease;
2233
+ }
2234
+
2235
+ .artifactuse-table-action-btn:hover {
2236
+ background-color: rgb(var(--artifactuse-surface-hover));
2237
+ }
2238
+
2239
+ .artifactuse-table-action-btn svg {
2240
+ width: 0.875rem;
2241
+ height: 0.875rem;
2242
+ }
2243
+
2244
+ .artifactuse-table-action-btn.copied {
2245
+ background-color: rgba(var(--artifactuse-success), 0.15);
2246
+ color: rgb(var(--artifactuse-success));
2247
+ border-color: rgba(var(--artifactuse-success), 0.3);
2248
+ }
2249
+
2250
+ .artifactuse-table-wrapper {
2251
+ overflow-x: auto;
2252
+ }
2253
+
2254
+ .artifactuse-table {
2255
+ width: 100%;
2256
+ border-collapse: collapse;
2257
+ }
2258
+
2259
+ .artifactuse-enhanced-table th,
2260
+ .artifactuse-enhanced-table td {
2261
+ padding: 0.75rem 1rem;
2262
+ text-align: left;
2263
+ font-size: 0.875rem;
2264
+ border-bottom: 1px solid rgb(var(--artifactuse-border));
2265
+ }
2266
+
2267
+ .artifactuse-enhanced-table th {
2268
+ font-weight: 600;
2269
+ color: rgb(var(--artifactuse-text));
2270
+ background-color: rgb(var(--artifactuse-surface));
2271
+ }
2272
+
2273
+ .artifactuse-enhanced-table td {
2274
+ color: rgb(var(--artifactuse-text-secondary));
2275
+ }
2276
+
2277
+ .artifactuse-enhanced-table tbody tr:hover {
2278
+ background-color: rgba(var(--artifactuse-surface), 0.5);
2279
+ }
2280
+
2281
+ /* Sortable headers */
2282
+ .artifactuse-sortable-header {
2283
+ cursor: pointer;
2284
+ user-select: none;
2285
+ transition: background-color 0.15s ease;
2286
+ }
2287
+
2288
+ .artifactuse-sortable-header:hover {
2289
+ background-color: rgb(var(--artifactuse-surface-hover));
2290
+ }
2291
+
2292
+ .artifactuse-th-content {
2293
+ display: flex;
2294
+ align-items: center;
2295
+ justify-content: space-between;
2296
+ gap: 0.5rem;
2297
+ }
2298
+
2299
+ .artifactuse-sort-indicator {
2300
+ width: 1rem;
2301
+ height: 1rem;
2302
+ color: rgb(var(--artifactuse-text-muted));
2303
+ opacity: 0.5;
2304
+ transition: opacity 0.15s ease;
2305
+ }
2306
+
2307
+ .artifactuse-sortable-header:hover .artifactuse-sort-indicator {
2308
+ opacity: 1;
2309
+ }
2310
+
2311
+ .artifactuse-sortable-header.sort-asc .artifactuse-sort-indicator,
2312
+ .artifactuse-sortable-header.sort-desc .artifactuse-sort-indicator {
2313
+ opacity: 1;
2314
+ color: rgb(var(--artifactuse-primary));
2315
+ }
2316
+
2317
+ .artifactuse-table-footer {
2318
+ display: flex;
2319
+ align-items: center;
2320
+ justify-content: space-between;
2321
+ padding: 0.5rem 1rem;
2322
+ background-color: rgb(var(--artifactuse-surface));
2323
+ /* border-top: 1px solid rgb(var(--artifactuse-border)); */
2324
+ font-size: 0.75rem;
2325
+ color: rgb(var(--artifactuse-text-muted));
2326
+ }
2327
+
2328
+ .artifactuse-table-row-count {
2329
+ font-size: 0.75rem;
2330
+ color: rgb(var(--artifactuse-text-muted));
2331
+ }
2332
+
2333
+ /* ==========================================
2334
+ MATH PROCESSOR - Complete Styles
2335
+ ========================================== */
2336
+
2337
+ .artifactuse-math-container {
2338
+ display: inline;
2339
+ }
2340
+
2341
+ .artifactuse-math-display {
2342
+ display: block;
2343
+ margin: 1.5rem 0;
2344
+ overflow-x: auto;
2345
+ padding: 1rem 0;
2346
+ text-align: center;
2347
+ }
2348
+
2349
+ .artifactuse-math-inline {
2350
+ display: inline;
2351
+ margin: 0 0.125rem;
2352
+ }
2353
+
2354
+ .artifactuse-math-error {
2355
+ display: inline-block;
2356
+ padding: 0.25rem 0.5rem;
2357
+ border-radius: 0.25rem;
2358
+ background-color: rgba(var(--artifactuse-error), 0.15);
2359
+ color: rgb(var(--artifactuse-error));
2360
+ font-family: var(--artifactuse-font-mono);
2361
+ font-size: 0.875rem;
2362
+ border: 1px solid rgba(var(--artifactuse-error), 0.3);
2363
+ }
2364
+
2365
+ .artifactuse-math-fallback {
2366
+ display: inline-block;
2367
+ padding: 0.25rem 0.5rem;
2368
+ border-radius: 0.25rem;
2369
+ background-color: rgb(var(--artifactuse-surface));
2370
+ color: rgb(var(--artifactuse-text));
2371
+ font-family: var(--artifactuse-font-mono);
2372
+ font-size: 0.875rem;
2373
+ }
2374
+
2375
+ .artifactuse-math-fallback-container {
2376
+ background-color: rgba(var(--artifactuse-warning), 0.15);
2377
+ border: 1px solid rgba(var(--artifactuse-warning), 0.3);
2378
+ border-radius: 0.25rem;
2379
+ }
2380
+
2381
+ /* KaTeX color override for theme compatibility */
2382
+ .artifactuse-math-container .katex {
2383
+ color: rgb(var(--artifactuse-text));
2384
+ }
2385
+
2386
+ .artifactuse-math-container .katex .mord,
2387
+ .artifactuse-math-container .katex .mbin,
2388
+ .artifactuse-math-container .katex .mrel,
2389
+ .artifactuse-math-container .katex .mopen,
2390
+ .artifactuse-math-container .katex .mclose,
2391
+ .artifactuse-math-container .katex .mpunct,
2392
+ .artifactuse-math-container .katex .minner {
2393
+ color: inherit;
2394
+ }
2395
+
2396
+ /* ==========================================
2397
+ RESPONSIVE OVERRIDES
2398
+ ========================================== */
2399
+
2400
+ @media (max-width: 640px) {
2401
+ .artifactuse-table-controls {
2402
+ flex-direction: column;
2403
+ align-items: stretch;
2404
+ gap: 0.75rem;
2405
+ }
2406
+
2407
+ .artifactuse-table-search {
2408
+ max-width: none;
2409
+ }
2410
+
2411
+ .artifactuse-table-actions {
2412
+ justify-content: flex-end;
2413
+ }
2414
+
2415
+ .artifactuse-image-gallery {
2416
+ grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
2417
+ }
2418
+
2419
+ .artifactuse-gallery-item img.artifactuse-gallery-image {
2420
+ height: 8rem;
2421
+ }
2422
+
2423
+ .artifactuse-video-preview-container {
2424
+ margin: 1rem 0;
2425
+ }
2426
+
2427
+ .artifactuse-play-icon {
2428
+ width: 3rem;
2429
+ height: 3rem;
2430
+ }
2431
+
2432
+ .artifactuse-tiktok-embed,
2433
+ .artifactuse-instagram-embed {
2434
+ max-width: 100%;
2435
+ }
2436
+ }
2437
+
2438
+ /* ==========================================
2439
+ PRINT STYLES
2440
+ ========================================== */
2441
+
2442
+ @media print {
2443
+ .artifactuse-video-wrapper,
2444
+ .artifactuse-video-preview-container,
2445
+ .artifactuse-audio-wrapper,
2446
+ .artifactuse-map-wrapper,
2447
+ .artifactuse-twitter-wrapper,
2448
+ .artifactuse-instagram-wrapper,
2449
+ .artifactuse-tiktok-wrapper,
2450
+ .artifactuse-linkedin-wrapper,
2451
+ .artifactuse-reddit-wrapper,
2452
+ .artifactuse-facebook-wrapper,
2453
+ .artifactuse-pinterest-wrapper,
2454
+ .artifactuse-typeform-wrapper,
2455
+ .artifactuse-calendly-wrapper,
2456
+ .artifactuse-calcom-wrapper,
2457
+ .artifactuse-google-calendar-wrapper,
2458
+ .artifactuse-miro-wrapper,
2459
+ .artifactuse-airtable-wrapper {
2460
+ display: none !important;
2461
+ }
2462
+
2463
+ .artifactuse-table-controls,
2464
+ .artifactuse-table-footer {
2465
+ display: none !important;
2466
+ }
2467
+
2468
+ .artifactuse-table-container,
2469
+ .artifactuse-mermaid-container {
2470
+ border: none !important;
2471
+ }
2472
+
2473
+ .artifactuse-mermaid-loading {
2474
+ display: none !important;
2475
+ }
2476
+ }
2477
+
2478
+ /* ==========================================
2479
+ REDUCED MOTION
2480
+ ========================================== */
2481
+
2482
+ @media (prefers-reduced-motion: reduce) {
2483
+ .artifactuse-image,
2484
+ .artifactuse-hero-image,
2485
+ .artifactuse-inline-image,
2486
+ .artifactuse-gallery-item img,
2487
+ .artifactuse-video-preview-image,
2488
+ .artifactuse-play-icon,
2489
+ .artifactuse-table-action-btn,
2490
+ .artifactuse-sortable-header,
2491
+ .artifactuse-video-link,
2492
+ .artifactuse-canva-link {
2493
+ transition: none !important;
2494
+ }
2495
+
2496
+ .artifactuse-gallery-item:hover img.artifactuse-gallery-image,
2497
+ .artifactuse-video-preview-wrapper:hover .artifactuse-video-preview-image,
2498
+ .artifactuse-video-preview-wrapper:hover .artifactuse-play-icon {
2499
+ transform: none !important;
2500
+ }
2501
+ }
2502
+ /* ==========================================
2503
+ AGENT MESSAGE COMPONENT
2504
+ ========================================== */
2505
+
2506
+ .artifactuse-agent-message {
2507
+ width: 100%;
2508
+ }
2509
+
2510
+ .artifactuse-message-content {
2511
+ line-height: 1.6;
2512
+ }
2513
+
2514
+ /* Inline artifacts spacing */
2515
+ .artifactuse-message-content > .artifactuse-social,
2516
+ .artifactuse-message-content > .artifactuse-inline-form {
2517
+ margin: 1em 0;
2518
+ }
2519
+
2520
+ /* Typography */
2521
+ .artifactuse-message-content p {
2522
+ margin: 0 0 1em 0;
2523
+ }
2524
+
2525
+ .artifactuse-message-content p:last-child {
2526
+ margin-bottom: 0;
2527
+ }
2528
+
2529
+ .artifactuse-message-content h1,
2530
+ .artifactuse-message-content h2,
2531
+ .artifactuse-message-content h3,
2532
+ .artifactuse-message-content h4,
2533
+ .artifactuse-message-content h5,
2534
+ .artifactuse-message-content h6 {
2535
+ margin: 1.5em 0 0.5em 0;
2536
+ font-weight: 600;
2537
+ line-height: 1.3;
2538
+ }
2539
+
2540
+ .artifactuse-message-content h1:first-child,
2541
+ .artifactuse-message-content h2:first-child,
2542
+ .artifactuse-message-content h3:first-child {
2543
+ margin-top: 0;
2544
+ }
2545
+
2546
+ .artifactuse-message-content ul,
2547
+ .artifactuse-message-content ol {
2548
+ margin: 0 0 1em 0;
2549
+ padding: 0;
2550
+ list-style: none;
2551
+ }
2552
+
2553
+ .artifactuse-message-content li {
2554
+ margin: 0.25em 0;
2555
+ padding: 0;
2556
+ list-style: none;
2557
+ }
2558
+
2559
+ /* Code */
2560
+ .artifactuse-message-content code {
2561
+ font-family: var(--artifactuse-font-mono);
2562
+ font-size: 0.9em;
2563
+ padding: 0.15em 0.4em;
2564
+ background: rgba(var(--artifactuse-surface), 0.5);
2565
+ border-radius: 4px;
2566
+ }
2567
+
2568
+ .artifactuse-message-content pre {
2569
+ margin: 1em 0;
2570
+ padding: 1em;
2571
+ background: rgb(var(--artifactuse-surface));
2572
+ border-radius: 8px;
2573
+ overflow-x: auto;
2574
+ }
2575
+
2576
+ .artifactuse-message-content pre code {
2577
+ padding: 0;
2578
+ background: none;
2579
+ }
2580
+
2581
+ /* Links */
2582
+ .artifactuse-message-content a {
2583
+ color: rgb(var(--artifactuse-primary));
2584
+ text-decoration: none;
2585
+ }
2586
+
2587
+ .artifactuse-message-content a:hover {
2588
+ text-decoration: underline;
2589
+ }
2590
+
2591
+ /* Blockquote */
2592
+ .artifactuse-message-content blockquote {
2593
+ margin: 1em 0;
2594
+ padding: 0.5em 1em;
2595
+ border-left: 4px solid rgb(var(--artifactuse-border));
2596
+ background: rgba(var(--artifactuse-surface), 0.3);
2597
+ }
2598
+
2599
+ /* Horizontal rule */
2600
+ .artifactuse-message-content hr {
2601
+ margin: 1.5em 0;
2602
+ border: none;
2603
+ border-top: 1px solid rgb(var(--artifactuse-border));
2604
+ }
2605
+
2606
+ /* Tables */
2607
+ .artifactuse-message-content table {
2608
+ width: 100%;
2609
+ border-collapse: collapse;
2610
+ }
2611
+
2612
+ .artifactuse-message-content th,
2613
+ .artifactuse-message-content td {
2614
+ padding: 0.5em 0.75em;
2615
+ border: 1px solid rgb(var(--artifactuse-border));
2616
+ text-align: left;
2617
+ }
2618
+
2619
+ .artifactuse-message-content th {
2620
+ background: rgba(var(--artifactuse-surface), 0.5);
2621
+ font-weight: 600;
2622
+ }
2623
+
2624
+ /* Images */
2625
+ .artifactuse-message-content img {
2626
+ max-width: 100%;
2627
+ border-radius: 8px;
2628
+ }
2629
+
2630
+
2631
+
2632
+ /* ==========================================
2633
+ LAZY-LOADED VIDEO FACADES
2634
+ ========================================== */
2635
+
2636
+ .artifactuse-video-lazy {
2637
+ position: relative;
2638
+ background: rgb(var(--artifactuse-surface));
2639
+ }
2640
+
2641
+ .artifactuse-video-facade {
2642
+ position: relative;
2643
+ display: block;
2644
+ width: 100%;
2645
+ padding: 0;
2646
+ border: none;
2647
+ background: transparent;
2648
+ cursor: pointer;
2649
+ aspect-ratio: 16 / 9;
2650
+ overflow: hidden;
2651
+ }
2652
+
2653
+ .artifactuse-video-facade:focus {
2654
+ outline: 2px solid rgb(var(--artifactuse-primary));
2655
+ outline-offset: 2px;
2656
+ }
2657
+
2658
+ .artifactuse-video-thumbnail {
2659
+ position: absolute;
2660
+ top: 0;
2661
+ left: 0;
2662
+ width: 100%;
2663
+ height: 100%;
2664
+ object-fit: cover;
2665
+ transition: transform 0.3s ease;
2666
+ }
2667
+
2668
+ .artifactuse-video-facade:hover .artifactuse-video-thumbnail {
2669
+ transform: scale(1.05);
2670
+ }
2671
+
2672
+ /* Play button - centered overlay */
2673
+ .artifactuse-video-play-button {
2674
+ position: absolute;
2675
+ top: 50%;
2676
+ left: 50%;
2677
+ transform: translate(-50%, -50%);
2678
+ z-index: 1;
2679
+ transition: transform 0.2s ease, opacity 0.2s ease;
2680
+ filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.4));
2681
+ }
2682
+
2683
+ .artifactuse-video-facade:hover .artifactuse-video-play-button {
2684
+ transform: translate(-50%, -50%) scale(1.1);
2685
+ }
2686
+
2687
+ /* YouTube play button specific styling */
2688
+ .artifactuse-youtube-play svg {
2689
+ display: block;
2690
+ }
2691
+
2692
+ .artifactuse-youtube-play-bg {
2693
+ transition: fill 0.2s ease;
2694
+ }
2695
+
2696
+ .artifactuse-video-facade:hover .artifactuse-youtube-play-bg {
2697
+ fill: #ff0000;
2698
+ }
2699
+
2700
+ /* Vimeo play button */
2701
+ .artifactuse-vimeo-play svg circle {
2702
+ transition: fill 0.2s ease;
2703
+ }
2704
+
2705
+ .artifactuse-video-facade:hover .artifactuse-vimeo-play svg circle {
2706
+ fill: #00adef;
2707
+ }
2708
+
2709
+ /* Loom play button */
2710
+ .artifactuse-loom-play svg circle {
2711
+ transition: fill 0.2s ease;
2712
+ }
2713
+
2714
+ .artifactuse-video-facade:hover .artifactuse-loom-play svg circle {
2715
+ fill: #7c3aed;
2716
+ }
2717
+
2718
+ /* Dailymotion play button */
2719
+ .artifactuse-dailymotion-play svg circle {
2720
+ transition: fill 0.2s ease;
2721
+ }
2722
+
2723
+ .artifactuse-video-facade:hover .artifactuse-dailymotion-play svg circle {
2724
+ fill: #0082f0;
2725
+ }
2726
+
2727
+ /* Fallback when thumbnail fails to load */
2728
+ .artifactuse-video-facade img[style*="display: none"] + .artifactuse-video-play-button {
2729
+ /* Play button still visible on solid background */
2730
+ }
2731
+
2732
+ .artifactuse-video-lazy:has(img[style*="display: none"]) {
2733
+ background: linear-gradient(135deg,
2734
+ rgb(var(--artifactuse-surface)) 0%,
2735
+ rgba(var(--artifactuse-primary), 0.1) 100%
2736
+ );
2737
+ }
2738
+
2739
+
2740
+
2741
+
2742
+
2743
+
2744
+
2745
+ /* ============================================================
2746
+ ARTIFACTUSE SOCIAL PREVIEW STYLES
2747
+ Platform-accurate social media post previews
2748
+ Uses artifactuse CSS variables - no Tailwind dependency
2749
+ ============================================================ */
2750
+
2751
+ /* Base Container */
2752
+ .artifactuse-social {
2753
+ /* width: 100%; */
2754
+ max-width: 550px;
2755
+ border-radius: 12px;
2756
+ overflow: hidden;
2757
+ border: 1px solid rgb(var(--artifactuse-border));
2758
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
2759
+ transition: border-color 0.2s ease;
2760
+ }
2761
+
2762
+ .artifactuse-social[data-theme="dark"] {
2763
+ background: rgb(var(--artifactuse-background));
2764
+ border-color: rgb(var(--artifactuse-border));
2765
+ }
2766
+
2767
+ .artifactuse-social[data-theme="light"] {
2768
+ background: #ffffff;
2769
+ border-color: #e5e7eb;
2770
+ }
2771
+
2772
+ /* ============================================================
2773
+ TWITTER / X STYLES
2774
+ ============================================================ */
2775
+
2776
+ .artifactuse-social-twitter {
2777
+ padding: 16px;
2778
+ }
2779
+
2780
+ .artifactuse-social-twitter[data-theme="dark"] {
2781
+ --social-text-primary: #e7e9ea;
2782
+ --social-text-secondary: #71767b;
2783
+ --social-text-link: #1d9bf0;
2784
+ --social-bg-hover: rgba(239, 243, 244, 0.1);
2785
+ --social-border: #2f3336;
2786
+ }
2787
+
2788
+ .artifactuse-social-twitter[data-theme="light"] {
2789
+ --social-text-primary: #0f1419;
2790
+ --social-text-secondary: #536471;
2791
+ --social-text-link: #1d9bf0;
2792
+ --social-bg-hover: rgba(15, 20, 25, 0.1);
2793
+ --social-border: #eff3f4;
2794
+ }
2795
+
2796
+ /* Twitter Header */
2797
+ .artifactuse-social-twitter .artifactuse-social-header {
2798
+ display: flex;
2799
+ align-items: flex-start;
2800
+ gap: 12px;
2801
+ }
2802
+
2803
+ .artifactuse-social-twitter .artifactuse-social-avatar {
2804
+ width: 40px;
2805
+ height: 40px;
2806
+ border-radius: 50%;
2807
+ object-fit: cover;
2808
+ flex-shrink: 0;
2809
+ background: #4b5563;
2810
+ }
2811
+
2812
+ .artifactuse-social-twitter .artifactuse-social-author {
2813
+ flex: 1;
2814
+ min-width: 0;
2815
+ }
2816
+
2817
+ .artifactuse-social-twitter .artifactuse-social-author-name {
2818
+ display: flex;
2819
+ align-items: center;
2820
+ gap: 4px;
2821
+ font-weight: 700;
2822
+ font-size: 15px;
2823
+ overflow: hidden;
2824
+ text-overflow: ellipsis;
2825
+ white-space: nowrap;
2826
+ color: var(--social-text-primary);
2827
+ }
2828
+
2829
+ .artifactuse-social-twitter .artifactuse-social-verified {
2830
+ width: 18px;
2831
+ height: 18px;
2832
+ flex-shrink: 0;
2833
+ }
2834
+
2835
+ .artifactuse-social-twitter .artifactuse-social-verified-blue {
2836
+ color: #1d9bf0;
2837
+ }
2838
+
2839
+ .artifactuse-social-twitter .artifactuse-social-verified-gold {
2840
+ color: #e2b719;
2841
+ }
2842
+
2843
+ .artifactuse-social-twitter .artifactuse-social-author-handle {
2844
+ font-size: 15px;
2845
+ color: var(--social-text-secondary);
2846
+ }
2847
+
2848
+ .artifactuse-social-twitter .artifactuse-social-author-meta {
2849
+ display: flex;
2850
+ align-items: center;
2851
+ gap: 4px;
2852
+ }
2853
+
2854
+ .artifactuse-social-twitter .artifactuse-social-timestamp {
2855
+ font-size: 15px;
2856
+ color: var(--social-text-secondary);
2857
+ }
2858
+
2859
+ /* Twitter Content */
2860
+ .artifactuse-social-twitter .artifactuse-social-content {
2861
+ margin-top: 12px;
2862
+ }
2863
+
2864
+ .artifactuse-social-twitter .artifactuse-social-text {
2865
+ font-size: 15px;
2866
+ line-height: 1.35;
2867
+ white-space: pre-wrap;
2868
+ word-wrap: break-word;
2869
+ color: var(--social-text-primary);
2870
+ }
2871
+
2872
+ .artifactuse-social-twitter .artifactuse-social-text a,
2873
+ .artifactuse-social-twitter .artifactuse-social-text .artifactuse-social-hashtag,
2874
+ .artifactuse-social-twitter .artifactuse-social-text .artifactuse-social-mention {
2875
+ color: var(--social-text-link);
2876
+ text-decoration: none;
2877
+ }
2878
+
2879
+ .artifactuse-social-twitter .artifactuse-social-text a:hover,
2880
+ .artifactuse-social-twitter .artifactuse-social-text .artifactuse-social-hashtag:hover,
2881
+ .artifactuse-social-twitter .artifactuse-social-text .artifactuse-social-mention:hover {
2882
+ text-decoration: underline;
2883
+ }
2884
+
2885
+ /* Twitter Media */
2886
+ .artifactuse-social-twitter .artifactuse-social-media {
2887
+ margin-top: 12px;
2888
+ border-radius: 16px;
2889
+ overflow: hidden;
2890
+ border: 1px solid var(--social-border);
2891
+ }
2892
+
2893
+ .artifactuse-social-twitter .artifactuse-social-media-grid {
2894
+ display: grid;
2895
+ gap: 2px;
2896
+ }
2897
+
2898
+ .artifactuse-social-twitter .artifactuse-social-media-grid[data-count="1"] {
2899
+ grid-template-columns: 1fr;
2900
+ }
2901
+
2902
+ .artifactuse-social-twitter .artifactuse-social-media-grid[data-count="2"] {
2903
+ grid-template-columns: 1fr 1fr;
2904
+ }
2905
+
2906
+ .artifactuse-social-twitter .artifactuse-social-media-grid[data-count="3"],
2907
+ .artifactuse-social-twitter .artifactuse-social-media-grid[data-count="4"] {
2908
+ grid-template-columns: 1fr 1fr;
2909
+ }
2910
+
2911
+ .artifactuse-social-twitter .artifactuse-social-media img {
2912
+ width: 100%;
2913
+ height: 100%;
2914
+ object-fit: cover;
2915
+ }
2916
+
2917
+ .artifactuse-social-twitter .artifactuse-social-media-single img {
2918
+ max-height: 300px;
2919
+ }
2920
+
2921
+ /* Twitter Link Card */
2922
+ .artifactuse-social-twitter .artifactuse-social-link-card {
2923
+ margin-top: 12px;
2924
+ border-radius: 16px;
2925
+ overflow: hidden;
2926
+ border: 1px solid var(--social-border);
2927
+ }
2928
+
2929
+ .artifactuse-social-twitter .artifactuse-social-link-image {
2930
+ width: 100%;
2931
+ height: 125px;
2932
+ object-fit: cover;
2933
+ }
2934
+
2935
+ .artifactuse-social-twitter .artifactuse-social-link-info {
2936
+ padding: 12px;
2937
+ }
2938
+
2939
+ .artifactuse-social-twitter .artifactuse-social-link-domain {
2940
+ font-size: 13px;
2941
+ display: flex;
2942
+ align-items: center;
2943
+ gap: 4px;
2944
+ color: var(--social-text-secondary);
2945
+ }
2946
+
2947
+ .artifactuse-social-twitter .artifactuse-social-link-domain svg {
2948
+ width: 12px;
2949
+ height: 12px;
2950
+ }
2951
+
2952
+ .artifactuse-social-twitter .artifactuse-social-link-title {
2953
+ font-size: 15px;
2954
+ line-height: 1.35;
2955
+ overflow: hidden;
2956
+ text-overflow: ellipsis;
2957
+ white-space: nowrap;
2958
+ color: var(--social-text-primary);
2959
+ }
2960
+
2961
+ .artifactuse-social-twitter .artifactuse-social-link-description {
2962
+ font-size: 15px;
2963
+ line-height: 1.35;
2964
+ display: -webkit-box;
2965
+ -webkit-line-clamp: 2;
2966
+ -webkit-box-orient: vertical;
2967
+ overflow: hidden;
2968
+ color: var(--social-text-secondary);
2969
+ }
2970
+
2971
+ /* Twitter Poll */
2972
+ .artifactuse-social-twitter .artifactuse-social-poll {
2973
+ margin-top: 12px;
2974
+ display: flex;
2975
+ flex-direction: column;
2976
+ gap: 8px;
2977
+ }
2978
+
2979
+ .artifactuse-social-twitter .artifactuse-social-poll-option {
2980
+ position: relative;
2981
+ border-radius: 6px;
2982
+ overflow: hidden;
2983
+ border: 1px solid var(--social-border);
2984
+ height: 36px;
2985
+ }
2986
+
2987
+ .artifactuse-social-twitter .artifactuse-social-poll-bar {
2988
+ position: absolute;
2989
+ inset: 0;
2990
+ background: rgba(29, 155, 240, 0.2);
2991
+ transition: width 0.3s ease;
2992
+ }
2993
+
2994
+ .artifactuse-social-twitter .artifactuse-social-poll-label {
2995
+ position: relative;
2996
+ z-index: 1;
2997
+ display: flex;
2998
+ align-items: center;
2999
+ justify-content: space-between;
3000
+ padding: 0 12px;
3001
+ height: 100%;
3002
+ font-size: 15px;
3003
+ color: var(--social-text-primary);
3004
+ }
3005
+
3006
+ .artifactuse-social-twitter .artifactuse-social-poll-label-percent {
3007
+ font-weight: 500;
3008
+ }
3009
+
3010
+ .artifactuse-social-twitter .artifactuse-social-poll-meta {
3011
+ font-size: 13px;
3012
+ margin-top: 8px;
3013
+ color: var(--social-text-secondary);
3014
+ }
3015
+
3016
+ /* Twitter Engagement */
3017
+ .artifactuse-social-twitter .artifactuse-social-engagement {
3018
+ display: flex;
3019
+ align-items: center;
3020
+ gap: 24px;
3021
+ margin-top: 12px;
3022
+ padding-top: 12px;
3023
+ border-top: 1px solid var(--social-border);
3024
+ }
3025
+
3026
+ .artifactuse-social-twitter .artifactuse-social-stat {
3027
+ display: flex;
3028
+ align-items: center;
3029
+ gap: 8px;
3030
+ font-size: 13px;
3031
+ cursor: pointer;
3032
+ transition: color 0.2s ease;
3033
+ color: var(--social-text-secondary);
3034
+ }
3035
+
3036
+ .artifactuse-social-twitter .artifactuse-social-stat:hover {
3037
+ color: var(--social-text-link);
3038
+ }
3039
+
3040
+ .artifactuse-social-twitter .artifactuse-social-stat svg {
3041
+ width: 18px;
3042
+ height: 18px;
3043
+ }
3044
+
3045
+ /* Twitter Quote */
3046
+ .artifactuse-social-twitter .artifactuse-social-quote {
3047
+ margin-top: 12px;
3048
+ padding: 12px;
3049
+ border-radius: 16px;
3050
+ border: 1px solid var(--social-border);
3051
+ }
3052
+
3053
+ .artifactuse-social-twitter .artifactuse-social-quote-header {
3054
+ display: flex;
3055
+ align-items: center;
3056
+ gap: 8px;
3057
+ }
3058
+
3059
+ .artifactuse-social-twitter .artifactuse-social-quote-avatar {
3060
+ width: 20px;
3061
+ height: 20px;
3062
+ border-radius: 50%;
3063
+ }
3064
+
3065
+ .artifactuse-social-twitter .artifactuse-social-quote-author {
3066
+ font-size: 13px;
3067
+ font-weight: 700;
3068
+ color: var(--social-text-primary);
3069
+ }
3070
+
3071
+ .artifactuse-social-twitter .artifactuse-social-quote-handle {
3072
+ font-size: 13px;
3073
+ color: var(--social-text-secondary);
3074
+ }
3075
+
3076
+ .artifactuse-social-twitter .artifactuse-social-quote-text {
3077
+ font-size: 15px;
3078
+ margin-top: 4px;
3079
+ color: var(--social-text-primary);
3080
+ }
3081
+
3082
+ /* ============================================================
3083
+ LINKEDIN STYLES
3084
+ ============================================================ */
3085
+
3086
+ .artifactuse-social-linkedin {
3087
+ padding: 16px;
3088
+ }
3089
+
3090
+ .artifactuse-social-linkedin[data-theme="dark"] {
3091
+ --social-text-primary: #ffffff;
3092
+ --social-text-secondary: rgba(255, 255, 255, 0.6);
3093
+ --social-text-link: #70b5f9;
3094
+ --social-border: rgba(255, 255, 255, 0.15);
3095
+ --social-bg-card: rgba(255, 255, 255, 0.05);
3096
+ }
3097
+
3098
+ .artifactuse-social-linkedin[data-theme="light"] {
3099
+ --social-text-primary: rgba(0, 0, 0, 0.9);
3100
+ --social-text-secondary: rgba(0, 0, 0, 0.6);
3101
+ --social-text-link: #0a66c2;
3102
+ --social-border: rgba(0, 0, 0, 0.08);
3103
+ --social-bg-card: #f9fafb;
3104
+ }
3105
+
3106
+ .artifactuse-social-linkedin .artifactuse-social-header {
3107
+ display: flex;
3108
+ align-items: flex-start;
3109
+ gap: 12px;
3110
+ }
3111
+
3112
+ .artifactuse-social-linkedin .artifactuse-social-avatar {
3113
+ width: 48px;
3114
+ height: 48px;
3115
+ border-radius: 50%;
3116
+ object-fit: cover;
3117
+ flex-shrink: 0;
3118
+ background: #9ca3af;
3119
+ }
3120
+
3121
+ .artifactuse-social-linkedin .artifactuse-social-author-info {
3122
+ flex: 1;
3123
+ }
3124
+
3125
+ .artifactuse-social-linkedin .artifactuse-social-author-name {
3126
+ font-weight: 600;
3127
+ font-size: 14px;
3128
+ display: flex;
3129
+ align-items: center;
3130
+ gap: 4px;
3131
+ color: var(--social-text-primary);
3132
+ }
3133
+
3134
+ .artifactuse-social-linkedin .artifactuse-social-author-connection {
3135
+ font-weight: 400;
3136
+ font-size: 12px;
3137
+ }
3138
+
3139
+ .artifactuse-social-linkedin .artifactuse-social-author-headline {
3140
+ font-size: 12px;
3141
+ display: -webkit-box;
3142
+ -webkit-line-clamp: 1;
3143
+ -webkit-box-orient: vertical;
3144
+ overflow: hidden;
3145
+ color: var(--social-text-secondary);
3146
+ }
3147
+
3148
+ .artifactuse-social-linkedin .artifactuse-social-timestamp {
3149
+ font-size: 12px;
3150
+ display: flex;
3151
+ align-items: center;
3152
+ gap: 4px;
3153
+ color: var(--social-text-secondary);
3154
+ }
3155
+
3156
+ .artifactuse-social-linkedin .artifactuse-social-timestamp svg {
3157
+ width: 12px;
3158
+ height: 12px;
3159
+ }
3160
+
3161
+ .artifactuse-social-linkedin .artifactuse-social-content {
3162
+ margin-top: 12px;
3163
+ }
3164
+
3165
+ .artifactuse-social-linkedin .artifactuse-social-text {
3166
+ font-size: 14px;
3167
+ line-height: 1.35;
3168
+ white-space: pre-wrap;
3169
+ color: var(--social-text-primary);
3170
+ }
3171
+
3172
+ .artifactuse-social-linkedin .artifactuse-social-text .artifactuse-social-hashtag {
3173
+ color: var(--social-text-link);
3174
+ font-weight: 600;
3175
+ }
3176
+
3177
+ .artifactuse-social-linkedin .artifactuse-social-link-card {
3178
+ margin-top: 12px;
3179
+ border-radius: 8px;
3180
+ overflow: hidden;
3181
+ border: 1px solid var(--social-border);
3182
+ background: var(--social-bg-card);
3183
+ }
3184
+
3185
+ .artifactuse-social-linkedin .artifactuse-social-link-image {
3186
+ width: 100%;
3187
+ height: 200px;
3188
+ object-fit: cover;
3189
+ }
3190
+
3191
+ .artifactuse-social-linkedin .artifactuse-social-link-info {
3192
+ padding: 12px;
3193
+ }
3194
+
3195
+ .artifactuse-social-linkedin .artifactuse-social-link-title {
3196
+ font-weight: 600;
3197
+ font-size: 14px;
3198
+ display: -webkit-box;
3199
+ -webkit-line-clamp: 2;
3200
+ -webkit-box-orient: vertical;
3201
+ overflow: hidden;
3202
+ color: var(--social-text-primary);
3203
+ }
3204
+
3205
+ .artifactuse-social-linkedin .artifactuse-social-link-domain {
3206
+ font-size: 12px;
3207
+ margin-top: 4px;
3208
+ color: var(--social-text-secondary);
3209
+ }
3210
+
3211
+ .artifactuse-social-linkedin .artifactuse-social-engagement {
3212
+ display: flex;
3213
+ align-items: center;
3214
+ justify-content: space-between;
3215
+ margin-top: 12px;
3216
+ padding-top: 12px;
3217
+ border-top: 1px solid var(--social-border);
3218
+ font-size: 12px;
3219
+ color: var(--social-text-secondary);
3220
+ }
3221
+
3222
+ .artifactuse-social-linkedin .artifactuse-social-reactions {
3223
+ display: flex;
3224
+ align-items: center;
3225
+ gap: 4px;
3226
+ }
3227
+
3228
+ .artifactuse-social-linkedin .artifactuse-social-reaction-icons {
3229
+ display: flex;
3230
+ margin-left: -4px;
3231
+ }
3232
+
3233
+ .artifactuse-social-linkedin .artifactuse-social-reaction-icon {
3234
+ width: 16px;
3235
+ height: 16px;
3236
+ border-radius: 50%;
3237
+ border: 1px solid white;
3238
+ margin-left: -4px;
3239
+ }
3240
+
3241
+ /* ============================================================
3242
+ INSTAGRAM STYLES
3243
+ ============================================================ */
3244
+
3245
+ .artifactuse-social-instagram {
3246
+ padding: 0 0 10px 0;
3247
+ }
3248
+
3249
+ .artifactuse-social-instagram[data-theme="dark"] {
3250
+ --social-text-primary: #f5f5f5;
3251
+ --social-text-secondary: #a8a8a8;
3252
+ --social-border: #363636;
3253
+ --social-bg: #000000;
3254
+ }
3255
+
3256
+ .artifactuse-social-instagram[data-theme="light"] {
3257
+ --social-text-primary: #262626;
3258
+ --social-text-secondary: #8e8e8e;
3259
+ --social-border: #dbdbdb;
3260
+ --social-bg: #ffffff;
3261
+ }
3262
+
3263
+ .artifactuse-social-instagram .artifactuse-social-header {
3264
+ display: flex;
3265
+ align-items: center;
3266
+ gap: 12px;
3267
+ padding: 12px;
3268
+ }
3269
+
3270
+ .artifactuse-social-instagram .artifactuse-social-avatar {
3271
+ width: 32px;
3272
+ height: 32px;
3273
+ border-radius: 50%;
3274
+ object-fit: cover;
3275
+ box-shadow: 0 0 0 2px var(--social-bg), 0 0 0 4px #e1306c;
3276
+ background: #9ca3af;
3277
+ }
3278
+
3279
+ .artifactuse-social-instagram .artifactuse-social-author-name {
3280
+ font-weight: 600;
3281
+ font-size: 14px;
3282
+ display: flex;
3283
+ align-items: center;
3284
+ gap: 4px;
3285
+ color: var(--social-text-primary);
3286
+ }
3287
+
3288
+ .artifactuse-social-instagram .artifactuse-social-verified {
3289
+ width: 12px;
3290
+ height: 12px;
3291
+ color: #0095f6;
3292
+ }
3293
+
3294
+ .artifactuse-social-instagram .artifactuse-social-media {
3295
+ width: 100%;
3296
+ aspect-ratio: 1;
3297
+ background: #000;
3298
+ }
3299
+
3300
+ .artifactuse-social-instagram .artifactuse-social-media img {
3301
+ width: 100%;
3302
+ height: 100%;
3303
+ object-fit: cover;
3304
+ }
3305
+
3306
+ .artifactuse-social-instagram .artifactuse-social-actions {
3307
+ display: flex;
3308
+ align-items: center;
3309
+ gap: 16px;
3310
+ padding: 12px;
3311
+ }
3312
+
3313
+ .artifactuse-social-instagram .artifactuse-social-action {
3314
+ cursor: pointer;
3315
+ color: var(--social-text-primary);
3316
+ }
3317
+
3318
+ .artifactuse-social-instagram .artifactuse-social-action svg {
3319
+ width: 24px;
3320
+ height: 24px;
3321
+ }
3322
+
3323
+ .artifactuse-social-instagram .artifactuse-social-likes {
3324
+ padding: 0 12px;
3325
+ font-weight: 600;
3326
+ font-size: 14px;
3327
+ color: var(--social-text-primary);
3328
+ }
3329
+
3330
+ .artifactuse-social-instagram .artifactuse-social-caption {
3331
+ padding: 0 12px 12px;
3332
+ }
3333
+
3334
+ .artifactuse-social-instagram .artifactuse-social-caption-author {
3335
+ font-weight: 600;
3336
+ font-size: 14px;
3337
+ color: var(--social-text-primary);
3338
+ }
3339
+
3340
+ .artifactuse-social-instagram .artifactuse-social-caption-text {
3341
+ font-size: 14px;
3342
+ margin-left: 4px;
3343
+ color: var(--social-text-primary);
3344
+ }
3345
+
3346
+ .artifactuse-social-instagram .artifactuse-social-timestamp {
3347
+ padding: 0 12px 12px;
3348
+ font-size: 10px;
3349
+ text-transform: uppercase;
3350
+ color: var(--social-text-secondary);
3351
+ }
3352
+
3353
+ /* ============================================================
3354
+ FACEBOOK STYLES
3355
+ ============================================================ */
3356
+
3357
+ .artifactuse-social-facebook {
3358
+ padding: 16px;
3359
+ }
3360
+
3361
+ .artifactuse-social-facebook[data-theme="dark"] {
3362
+ --social-text-primary: #e4e6eb;
3363
+ --social-text-secondary: #b0b3b8;
3364
+ --social-text-link: #2d88ff;
3365
+ --social-border: #3e4042;
3366
+ --social-bg-card: #242526;
3367
+ }
3368
+
3369
+ .artifactuse-social-facebook[data-theme="light"] {
3370
+ --social-text-primary: #050505;
3371
+ --social-text-secondary: #65676b;
3372
+ --social-text-link: #0064d1;
3373
+ --social-border: #dddfe2;
3374
+ --social-bg-card: #f0f2f5;
3375
+ }
3376
+
3377
+ .artifactuse-social-facebook .artifactuse-social-header {
3378
+ display: flex;
3379
+ align-items: flex-start;
3380
+ gap: 12px;
3381
+ }
3382
+
3383
+ .artifactuse-social-facebook .artifactuse-social-avatar {
3384
+ width: 40px;
3385
+ height: 40px;
3386
+ border-radius: 50%;
3387
+ object-fit: cover;
3388
+ background: #9ca3af;
3389
+ }
3390
+
3391
+ .artifactuse-social-facebook .artifactuse-social-author-name {
3392
+ font-weight: 600;
3393
+ font-size: 15px;
3394
+ color: var(--social-text-primary);
3395
+ }
3396
+
3397
+ .artifactuse-social-facebook .artifactuse-social-timestamp {
3398
+ font-size: 13px;
3399
+ display: flex;
3400
+ align-items: center;
3401
+ gap: 4px;
3402
+ color: var(--social-text-secondary);
3403
+ }
3404
+
3405
+ .artifactuse-social-facebook .artifactuse-social-timestamp svg {
3406
+ width: 12px;
3407
+ height: 12px;
3408
+ }
3409
+
3410
+ .artifactuse-social-facebook .artifactuse-social-content {
3411
+ margin-top: 12px;
3412
+ }
3413
+
3414
+ .artifactuse-social-facebook .artifactuse-social-text {
3415
+ font-size: 15px;
3416
+ line-height: 1.35;
3417
+ color: var(--social-text-primary);
3418
+ }
3419
+
3420
+ .artifactuse-social-facebook .artifactuse-social-link-card {
3421
+ margin-top: 12px;
3422
+ border-radius: 8px;
3423
+ overflow: hidden;
3424
+ border: 1px solid var(--social-border);
3425
+ }
3426
+
3427
+ .artifactuse-social-facebook .artifactuse-social-link-image {
3428
+ width: 100%;
3429
+ height: 250px;
3430
+ object-fit: cover;
3431
+ }
3432
+
3433
+ .artifactuse-social-facebook .artifactuse-social-link-info {
3434
+ padding: 12px;
3435
+ background: var(--social-bg-card);
3436
+ }
3437
+
3438
+ .artifactuse-social-facebook .artifactuse-social-link-domain {
3439
+ font-size: 12px;
3440
+ text-transform: uppercase;
3441
+ letter-spacing: 0.05em;
3442
+ color: var(--social-text-secondary);
3443
+ }
3444
+
3445
+ .artifactuse-social-facebook .artifactuse-social-link-title {
3446
+ font-weight: 600;
3447
+ font-size: 16px;
3448
+ margin-top: 4px;
3449
+ color: var(--social-text-primary);
3450
+ }
3451
+
3452
+ .artifactuse-social-facebook .artifactuse-social-link-description {
3453
+ font-size: 14px;
3454
+ margin-top: 4px;
3455
+ display: -webkit-box;
3456
+ -webkit-line-clamp: 2;
3457
+ -webkit-box-orient: vertical;
3458
+ overflow: hidden;
3459
+ color: var(--social-text-secondary);
3460
+ }
3461
+
3462
+ .artifactuse-social-facebook .artifactuse-social-engagement {
3463
+ display: flex;
3464
+ align-items: center;
3465
+ justify-content: space-between;
3466
+ margin-top: 12px;
3467
+ padding-top: 12px;
3468
+ border-top: 1px solid var(--social-border);
3469
+ }
3470
+
3471
+ .artifactuse-social-facebook .artifactuse-social-reactions {
3472
+ display: flex;
3473
+ align-items: center;
3474
+ gap: 8px;
3475
+ }
3476
+
3477
+ .artifactuse-social-facebook .artifactuse-social-reaction-emojis {
3478
+ display: flex;
3479
+ margin-left: -4px;
3480
+ }
3481
+
3482
+ .artifactuse-social-facebook .artifactuse-social-reaction-emoji {
3483
+ width: 18px;
3484
+ height: 18px;
3485
+ margin-left: -4px;
3486
+ }
3487
+
3488
+ .artifactuse-social-facebook .artifactuse-social-reaction-count {
3489
+ font-size: 15px;
3490
+ color: var(--social-text-secondary);
3491
+ }
3492
+
3493
+ .artifactuse-social-facebook .artifactuse-social-comments-shares {
3494
+ font-size: 15px;
3495
+ color: var(--social-text-secondary);
3496
+ }
3497
+
3498
+ /* ============================================================
3499
+ THREADS STYLES
3500
+ ============================================================ */
3501
+
3502
+ .artifactuse-social-threads {
3503
+ padding: 16px;
3504
+ }
3505
+
3506
+ .artifactuse-social-threads[data-theme="dark"] {
3507
+ --social-text-primary: #f5f5f5;
3508
+ --social-text-secondary: #777777;
3509
+ --social-border: #363636;
3510
+ }
3511
+
3512
+ .artifactuse-social-threads[data-theme="light"] {
3513
+ --social-text-primary: #000000;
3514
+ --social-text-secondary: #999999;
3515
+ --social-border: #e0e0e0;
3516
+ }
3517
+
3518
+ .artifactuse-social-threads .artifactuse-social-header {
3519
+ display: flex;
3520
+ align-items: flex-start;
3521
+ gap: 12px;
3522
+ }
3523
+
3524
+ .artifactuse-social-threads .artifactuse-social-avatar {
3525
+ width: 36px;
3526
+ height: 36px;
3527
+ border-radius: 50%;
3528
+ object-fit: cover;
3529
+ background: #9ca3af;
3530
+ }
3531
+
3532
+ .artifactuse-social-threads .artifactuse-social-author-name {
3533
+ font-weight: 600;
3534
+ font-size: 15px;
3535
+ display: flex;
3536
+ align-items: center;
3537
+ gap: 4px;
3538
+ color: var(--social-text-primary);
3539
+ }
3540
+
3541
+ .artifactuse-social-threads .artifactuse-social-verified {
3542
+ width: 16px;
3543
+ height: 16px;
3544
+ }
3545
+
3546
+ .artifactuse-social-threads .artifactuse-social-timestamp {
3547
+ font-size: 15px;
3548
+ color: var(--social-text-secondary);
3549
+ }
3550
+
3551
+ .artifactuse-social-threads .artifactuse-social-content {
3552
+ margin-top: 8px;
3553
+ margin-left: 48px;
3554
+ }
3555
+
3556
+ .artifactuse-social-threads .artifactuse-social-text {
3557
+ font-size: 15px;
3558
+ line-height: 1.35;
3559
+ color: var(--social-text-primary);
3560
+ }
3561
+
3562
+ .artifactuse-social-threads .artifactuse-social-engagement {
3563
+ display: flex;
3564
+ align-items: center;
3565
+ gap: 16px;
3566
+ margin-top: 12px;
3567
+ margin-left: 48px;
3568
+ color: var(--social-text-secondary);
3569
+ }
3570
+
3571
+ .artifactuse-social-threads .artifactuse-social-stat {
3572
+ display: flex;
3573
+ align-items: center;
3574
+ gap: 6px;
3575
+ font-size: 15px;
3576
+ }
3577
+
3578
+ .artifactuse-social-threads .artifactuse-social-stat svg {
3579
+ width: 20px;
3580
+ height: 20px;
3581
+ }
3582
+
3583
+ /* ============================================================
3584
+ TIKTOK STYLES
3585
+ ============================================================ */
3586
+
3587
+ .artifactuse-social-tiktok {
3588
+ padding: 0 0 10px 0;
3589
+ }
3590
+
3591
+ .artifactuse-social-tiktok[data-theme="dark"] {
3592
+ --social-text-primary: #ffffff;
3593
+ --social-text-secondary: rgba(255, 255, 255, 0.75);
3594
+ --social-bg: #121212;
3595
+ }
3596
+
3597
+ .artifactuse-social-tiktok[data-theme="light"] {
3598
+ --social-text-primary: #161823;
3599
+ --social-text-secondary: rgba(22, 24, 35, 0.75);
3600
+ --social-bg: #ffffff;
3601
+ }
3602
+
3603
+ .artifactuse-social-tiktok .artifactuse-social-thumbnail {
3604
+ position: relative;
3605
+ width: 100%;
3606
+ aspect-ratio: 9 / 16;
3607
+ max-height: 400px;
3608
+ background: #000;
3609
+ border-radius: 8px;
3610
+ overflow: hidden;
3611
+ }
3612
+
3613
+ .artifactuse-social-tiktok .artifactuse-social-thumbnail img {
3614
+ width: 100%;
3615
+ height: 100%;
3616
+ object-fit: cover;
3617
+ }
3618
+
3619
+ .artifactuse-social-tiktok .artifactuse-social-play-button {
3620
+ position: absolute;
3621
+ inset: 0;
3622
+ display: flex;
3623
+ align-items: center;
3624
+ justify-content: center;
3625
+ }
3626
+
3627
+ .artifactuse-social-tiktok .artifactuse-social-play-icon {
3628
+ width: 64px;
3629
+ height: 64px;
3630
+ background: rgba(255, 255, 255, 0.2);
3631
+ backdrop-filter: blur(4px);
3632
+ border-radius: 50%;
3633
+ display: flex;
3634
+ align-items: center;
3635
+ justify-content: center;
3636
+ }
3637
+
3638
+ .artifactuse-social-tiktok .artifactuse-social-play-icon svg {
3639
+ width: 32px;
3640
+ height: 32px;
3641
+ color: white;
3642
+ margin-left: 4px;
3643
+ }
3644
+
3645
+ .artifactuse-social-tiktok .artifactuse-social-duration {
3646
+ position: absolute;
3647
+ bottom: 8px;
3648
+ right: 8px;
3649
+ font-size: 12px;
3650
+ color: white;
3651
+ background: rgba(0, 0, 0, 0.5);
3652
+ padding: 2px 6px;
3653
+ border-radius: 4px;
3654
+ }
3655
+
3656
+ .artifactuse-social-tiktok .artifactuse-social-info {
3657
+ padding: 12px;
3658
+ }
3659
+
3660
+ .artifactuse-social-tiktok .artifactuse-social-header {
3661
+ display: flex;
3662
+ align-items: center;
3663
+ gap: 8px;
3664
+ }
3665
+
3666
+ .artifactuse-social-tiktok .artifactuse-social-avatar {
3667
+ width: 32px;
3668
+ height: 32px;
3669
+ border-radius: 50%;
3670
+ object-fit: cover;
3671
+ background: #9ca3af;
3672
+ }
3673
+
3674
+ .artifactuse-social-tiktok .artifactuse-social-author-name {
3675
+ font-weight: 600;
3676
+ font-size: 14px;
3677
+ color: var(--social-text-primary);
3678
+ }
3679
+
3680
+ .artifactuse-social-tiktok .artifactuse-social-text {
3681
+ font-size: 14px;
3682
+ margin-top: 8px;
3683
+ display: -webkit-box;
3684
+ -webkit-line-clamp: 2;
3685
+ -webkit-box-orient: vertical;
3686
+ overflow: hidden;
3687
+ color: var(--social-text-primary);
3688
+ }
3689
+
3690
+ .artifactuse-social-tiktok .artifactuse-social-sound {
3691
+ font-size: 12px;
3692
+ margin-top: 8px;
3693
+ display: flex;
3694
+ align-items: center;
3695
+ gap: 4px;
3696
+ color: var(--social-text-secondary);
3697
+ }
3698
+
3699
+ .artifactuse-social-tiktok .artifactuse-social-sound svg {
3700
+ width: 12px;
3701
+ height: 12px;
3702
+ }
3703
+
3704
+ .artifactuse-social-tiktok .artifactuse-social-engagement {
3705
+ display: flex;
3706
+ align-items: center;
3707
+ gap: 16px;
3708
+ margin-top: 12px;
3709
+ font-size: 14px;
3710
+ color: var(--social-text-secondary);
3711
+ }
3712
+
3713
+ /* ============================================================
3714
+ YOUTUBE STYLES
3715
+ ============================================================ */
3716
+
3717
+ .artifactuse-social-youtube {
3718
+ padding: 0 0 10px 0;
3719
+ }
3720
+
3721
+ .artifactuse-social-youtube[data-theme="dark"] {
3722
+ --social-text-primary: #f1f1f1;
3723
+ --social-text-secondary: #aaaaaa;
3724
+ --social-bg: #0f0f0f;
3725
+ }
3726
+
3727
+ .artifactuse-social-youtube[data-theme="light"] {
3728
+ --social-text-primary: #0f0f0f;
3729
+ --social-text-secondary: #606060;
3730
+ --social-bg: #ffffff;
3731
+ }
3732
+
3733
+ .artifactuse-social-youtube .artifactuse-social-thumbnail {
3734
+ position: relative;
3735
+ width: 100%;
3736
+ aspect-ratio: 16 / 9;
3737
+ background: #000;
3738
+ border-radius: 12px;
3739
+ overflow: hidden;
3740
+ }
3741
+
3742
+ .artifactuse-social-youtube .artifactuse-social-thumbnail img {
3743
+ width: 100%;
3744
+ height: 100%;
3745
+ object-fit: cover;
3746
+ }
3747
+
3748
+ .artifactuse-social-youtube .artifactuse-social-duration {
3749
+ position: absolute;
3750
+ bottom: 8px;
3751
+ right: 8px;
3752
+ font-size: 12px;
3753
+ color: white;
3754
+ background: rgba(0, 0, 0, 0.8);
3755
+ padding: 2px 4px;
3756
+ border-radius: 4px;
3757
+ font-weight: 500;
3758
+ }
3759
+
3760
+ .artifactuse-social-youtube .artifactuse-social-info {
3761
+ display: flex;
3762
+ gap: 12px;
3763
+ padding: 12px;
3764
+ }
3765
+
3766
+ .artifactuse-social-youtube .artifactuse-social-avatar {
3767
+ width: 36px;
3768
+ height: 36px;
3769
+ border-radius: 50%;
3770
+ object-fit: cover;
3771
+ flex-shrink: 0;
3772
+ background: #9ca3af;
3773
+ }
3774
+
3775
+ .artifactuse-social-youtube .artifactuse-social-title {
3776
+ font-weight: 500;
3777
+ font-size: 14px;
3778
+ display: -webkit-box;
3779
+ -webkit-line-clamp: 2;
3780
+ -webkit-box-orient: vertical;
3781
+ overflow: hidden;
3782
+ line-height: 1.35;
3783
+ color: var(--social-text-primary);
3784
+ }
3785
+
3786
+ .artifactuse-social-youtube .artifactuse-social-channel {
3787
+ font-size: 12px;
3788
+ margin-top: 4px;
3789
+ color: var(--social-text-secondary);
3790
+ }
3791
+
3792
+ .artifactuse-social-youtube .artifactuse-social-meta {
3793
+ font-size: 12px;
3794
+ color: var(--social-text-secondary);
3795
+ }
3796
+
3797
+ /* ============================================================
3798
+ COMMON UTILITIES
3799
+ ============================================================ */
3800
+
3801
+ /* Actions Bar */
3802
+ .artifactuse-social-actions-bar {
3803
+ display: flex;
3804
+ align-items: center;
3805
+ justify-content: space-between;
3806
+ margin-top: 12px;
3807
+ padding-top: 12px;
3808
+ border-top: 1px solid rgb(var(--artifactuse-border));
3809
+ }
3810
+
3811
+ .artifactuse-social-copy-btn {
3812
+ display: flex;
3813
+ align-items: center;
3814
+ gap: 6px;
3815
+ font-size: 12px;
3816
+ padding: 6px 12px;
3817
+ border-radius: 9999px;
3818
+ border: none;
3819
+ cursor: pointer;
3820
+ transition: background-color 0.2s ease;
3821
+ background: rgba(var(--artifactuse-surface), 0.5);
3822
+ color: rgb(var(--artifactuse-text-secondary));
3823
+ }
3824
+
3825
+ .artifactuse-social-copy-btn:hover {
3826
+ background: rgba(var(--artifactuse-surface), 0.8);
3827
+ }
3828
+
3829
+ .artifactuse-social-copy-btn svg {
3830
+ width: 14px;
3831
+ height: 14px;
3832
+ }
3833
+
3834
+ .artifactuse-social-platform-badge {
3835
+ display: flex;
3836
+ align-items: center;
3837
+ gap: 6px;
3838
+ font-size: 12px;
3839
+ padding: 4px 8px;
3840
+ border-radius: 9999px;
3841
+ background: rgba(var(--artifactuse-surface), 0.5);
3842
+ color: rgb(var(--artifactuse-text-secondary));
3843
+ }
3844
+
3845
+ .artifactuse-social-platform-badge svg {
3846
+ width: 14px;
3847
+ height: 14px;
3848
+ }
3849
+
3850
+ /* Show More */
3851
+ .artifactuse-social-show-more {
3852
+ font-size: 14px;
3853
+ cursor: pointer;
3854
+ color: var(--social-text-secondary);
3855
+ }
3856
+
3857
+ .artifactuse-social-show-more:hover {
3858
+ text-decoration: underline;
3859
+ }
3860
+
3861
+ /* Character Counter */
3862
+ .artifactuse-social-char-counter {
3863
+ font-size: 12px;
3864
+ margin-top: 8px;
3865
+ text-align: right;
3866
+ color: rgb(var(--artifactuse-text-secondary));
3867
+ }
3868
+
3869
+ .artifactuse-social-char-counter.artifactuse-social-char-warning {
3870
+ color: #eab308;
3871
+ }
3872
+
3873
+ .artifactuse-social-char-counter.artifactuse-social-char-error {
3874
+ color: #ef4444;
3875
+ }
3876
+
3877
+ /* Draft/Scheduled Badge */
3878
+ .artifactuse-social-badge {
3879
+ display: inline-flex;
3880
+ align-items: center;
3881
+ gap: 4px;
3882
+ font-size: 12px;
3883
+ padding: 2px 8px;
3884
+ border-radius: 9999px;
3885
+ }
3886
+
3887
+ .artifactuse-social-badge-draft {
3888
+ background: rgba(234, 179, 8, 0.2);
3889
+ color: #eab308;
3890
+ }
3891
+
3892
+ .artifactuse-social-badge-scheduled {
3893
+ background: rgba(59, 130, 246, 0.2);
3894
+ color: #3b82f6;
3895
+ }
3896
+
3897
+
3898
+
3899
+ /* ============================================================
3900
+ ARTIFACTUSE INLINE FORMS - CHAT-NATIVE STYLING
3901
+ Forms that feel native to the chat interface
3902
+ ============================================================ */
3903
+
3904
+ /* Base Form Container */
3905
+ .artifactuse-inline-form {
3906
+ background: rgba(var(--artifactuse-surface), 0.5);
3907
+ border: 1px solid rgba(var(--artifactuse-border), 0.5);
3908
+ border-radius: 16px;
3909
+ padding: 16px;
3910
+ margin: 8px 0;
3911
+ font-family: var(--artifactuse-font-family);
3912
+ max-width: 400px;
3913
+ animation: artifactuse-slide-up 0.2s ease-out;
3914
+ }
3915
+
3916
+ /* Buttons-only variant - more compact */
3917
+ .artifactuse-inline-form.artifactuse-form-buttons {
3918
+ padding: 12px;
3919
+ background: transparent;
3920
+ border: none;
3921
+ max-width: none;
3922
+ }
3923
+
3924
+ /* Form Header */
3925
+ .artifactuse-form-header {
3926
+ margin-bottom: 12px;
3927
+ }
3928
+
3929
+ .artifactuse-form-title {
3930
+ font-size: 14px;
3931
+ font-weight: 600;
3932
+ color: rgb(var(--artifactuse-text));
3933
+ margin: 0 0 4px 0;
3934
+ }
3935
+
3936
+ .artifactuse-form-description {
3937
+ font-size: 13px;
3938
+ color: rgb(var(--artifactuse-text-secondary));
3939
+ margin: 0;
3940
+ line-height: 1.4;
3941
+ }
3942
+
3943
+ /* Form Fields Container */
3944
+ .artifactuse-form-fields {
3945
+ display: flex;
3946
+ flex-direction: column;
3947
+ gap: 12px;
3948
+ }
3949
+
3950
+ /* Individual Field */
3951
+ .artifactuse-form-field {
3952
+ display: flex;
3953
+ flex-direction: column;
3954
+ gap: 4px;
3955
+ }
3956
+
3957
+ /* Labels */
3958
+ .artifactuse-label {
3959
+ font-size: 12px;
3960
+ font-weight: 500;
3961
+ color: rgb(var(--artifactuse-text-secondary));
3962
+ margin-bottom: 2px;
3963
+ }
3964
+
3965
+ .artifactuse-required {
3966
+ color: rgb(var(--artifactuse-error));
3967
+ margin-left: 2px;
3968
+ }
3969
+
3970
+ /* Text Inputs - Chat-native style */
3971
+ .artifactuse-input,
3972
+ .artifactuse-textarea,
3973
+ .artifactuse-select {
3974
+ padding: 10px 12px;
3975
+ background: rgba(var(--artifactuse-surface-hover), 0.5);
3976
+ border: 1px solid transparent;
3977
+ border-radius: 12px;
3978
+ color: rgb(var(--artifactuse-text));
3979
+ font-size: 14px;
3980
+ font-family: inherit;
3981
+ transition: all 0.15s ease;
3982
+ width: 100%;
3983
+ box-sizing: border-box;
3984
+ }
3985
+
3986
+ .artifactuse-input:hover,
3987
+ .artifactuse-textarea:hover,
3988
+ .artifactuse-select:hover {
3989
+ background: rgba(var(--artifactuse-surface-hover), 0.7);
3990
+ }
3991
+
3992
+ .artifactuse-input:focus,
3993
+ .artifactuse-textarea:focus,
3994
+ .artifactuse-select:focus {
3995
+ outline: none;
3996
+ background: rgba(var(--artifactuse-surface-hover), 0.8);
3997
+ border-color: rgba(var(--artifactuse-primary), 0.5);
3998
+ box-shadow: 0 0 0 3px rgba(var(--artifactuse-primary), 0.1);
3999
+ }
4000
+
4001
+ .artifactuse-input::placeholder,
4002
+ .artifactuse-textarea::placeholder {
4003
+ color: rgb(var(--artifactuse-text-muted));
4004
+ }
4005
+
4006
+ /* Textarea */
4007
+ .artifactuse-textarea {
4008
+ resize: vertical;
4009
+ min-height: 72px;
4010
+ line-height: 1.4;
4011
+ }
4012
+
4013
+ /* Select */
4014
+ .artifactuse-select {
4015
+ cursor: pointer;
4016
+ appearance: none;
4017
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
4018
+ background-repeat: no-repeat;
4019
+ background-position: right 12px center;
4020
+ padding-right: 36px;
4021
+ }
4022
+
4023
+ /* Checkbox & Radio - Chat-native style */
4024
+ .artifactuse-checkbox-label,
4025
+ .artifactuse-radio-label {
4026
+ display: flex;
4027
+ align-items: center;
4028
+ gap: 10px;
4029
+ cursor: pointer;
4030
+ font-size: 14px;
4031
+ color: rgb(var(--artifactuse-text));
4032
+ padding: 8px 12px;
4033
+ margin: -8px -12px;
4034
+ border-radius: 12px;
4035
+ transition: background-color 0.15s ease;
4036
+ }
4037
+
4038
+ .artifactuse-checkbox-label:hover,
4039
+ .artifactuse-radio-label:hover {
4040
+ background: rgba(var(--artifactuse-surface-hover), 0.5);
4041
+ }
4042
+
4043
+ .artifactuse-checkbox,
4044
+ .artifactuse-radio {
4045
+ width: 18px;
4046
+ height: 18px;
4047
+ border: 2px solid rgb(var(--artifactuse-border));
4048
+ background: transparent;
4049
+ cursor: pointer;
4050
+ transition: all 0.15s ease;
4051
+ appearance: none;
4052
+ flex-shrink: 0;
4053
+ }
4054
+
4055
+ .artifactuse-checkbox {
4056
+ border-radius: 6px;
4057
+ }
4058
+
4059
+ .artifactuse-radio {
4060
+ border-radius: 50%;
4061
+ }
4062
+
4063
+ .artifactuse-checkbox:checked {
4064
+ background: rgb(var(--artifactuse-primary));
4065
+ border-color: rgb(var(--artifactuse-primary));
4066
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E");
4067
+ background-repeat: no-repeat;
4068
+ background-position: center;
4069
+ }
4070
+
4071
+ .artifactuse-radio:checked {
4072
+ border-color: rgb(var(--artifactuse-primary));
4073
+ background: rgb(var(--artifactuse-primary));
4074
+ box-shadow: inset 0 0 0 3px rgb(var(--artifactuse-surface));
4075
+ }
4076
+
4077
+ .artifactuse-checkbox-text {
4078
+ line-height: 1.4;
4079
+ }
4080
+
4081
+ .artifactuse-radio-group {
4082
+ display: flex;
4083
+ flex-direction: column;
4084
+ gap: 4px;
4085
+ }
4086
+
4087
+ /* Help Text */
4088
+ .artifactuse-help-text {
4089
+ font-size: 12px;
4090
+ color: rgb(var(--artifactuse-text-muted));
4091
+ margin-top: 2px;
4092
+ }
4093
+
4094
+ /* Error Text */
4095
+ .artifactuse-error-text {
4096
+ font-size: 12px;
4097
+ color: rgb(var(--artifactuse-error));
4098
+ margin-top: 2px;
4099
+ }
4100
+
4101
+ /* Input with error */
4102
+ .artifactuse-form-field:has(.artifactuse-error-text) .artifactuse-input,
4103
+ .artifactuse-form-field:has(.artifactuse-error-text) .artifactuse-textarea,
4104
+ .artifactuse-form-field:has(.artifactuse-error-text) .artifactuse-select {
4105
+ border-color: rgba(var(--artifactuse-error), 0.5);
4106
+ }
4107
+
4108
+ /* Divider */
4109
+ .artifactuse-form-divider {
4110
+ height: 1px;
4111
+ background: rgba(var(--artifactuse-border), 0.5);
4112
+ margin: 4px 0;
4113
+ }
4114
+
4115
+ /* Section Heading */
4116
+ .artifactuse-form-heading {
4117
+ font-size: 13px;
4118
+ font-weight: 600;
4119
+ color: rgb(var(--artifactuse-text));
4120
+ margin-top: 4px;
4121
+ }
4122
+
4123
+ /* ============================================================
4124
+ BUTTONS - Chat-native pill style
4125
+ ============================================================ */
4126
+
4127
+ .artifactuse-form-buttons {
4128
+ display: flex;
4129
+ gap: 8px;
4130
+ flex-wrap: wrap;
4131
+ margin-top: 12px;
4132
+ }
4133
+
4134
+ /* Default buttons at bottom of form */
4135
+ .artifactuse-form-buttons-default {
4136
+ padding-top: 12px;
4137
+ border-top: 1px solid rgba(var(--artifactuse-border), 0.3);
4138
+ justify-content: flex-end;
4139
+ }
4140
+
4141
+ /* Buttons-only variant - centered */
4142
+ .artifactuse-form-buttons:only-child {
4143
+ margin-top: 0;
4144
+ justify-content: flex-start;
4145
+ }
4146
+
4147
+ /* Base Button Style - Pill shaped */
4148
+ .artifactuse-form-btn {
4149
+ display: inline-flex;
4150
+ align-items: center;
4151
+ justify-content: center;
4152
+ gap: 6px;
4153
+ padding: 8px 16px;
4154
+ border-radius: 9999px;
4155
+ font-size: 14px;
4156
+ font-weight: 500;
4157
+ cursor: pointer;
4158
+ border: none;
4159
+ transition: all 0.15s ease;
4160
+ font-family: inherit;
4161
+ white-space: nowrap;
4162
+ min-height: 36px;
4163
+ }
4164
+
4165
+ .artifactuse-form-btn:disabled {
4166
+ opacity: 0.5;
4167
+ cursor: not-allowed;
4168
+ }
4169
+
4170
+ .artifactuse-form-btn:focus-visible {
4171
+ outline: none;
4172
+ box-shadow: 0 0 0 3px rgba(var(--artifactuse-primary), 0.3);
4173
+ }
4174
+
4175
+ /* Button Variants */
4176
+
4177
+ /* Primary - Solid accent color */
4178
+ .artifactuse-form-btn-primary {
4179
+ background: rgb(var(--artifactuse-primary));
4180
+ color: white;
4181
+ }
4182
+
4183
+ .artifactuse-form-btn-primary:hover:not(:disabled) {
4184
+ background: rgb(var(--artifactuse-primary-hover));
4185
+ transform: translateY(-1px);
4186
+ }
4187
+
4188
+ .artifactuse-form-btn-primary:active:not(:disabled) {
4189
+ transform: translateY(0);
4190
+ }
4191
+
4192
+ /* Secondary - Subtle background */
4193
+ .artifactuse-form-btn-secondary {
4194
+ background: rgba(var(--artifactuse-surface-hover), 0.8);
4195
+ color: rgb(var(--artifactuse-text));
4196
+ }
4197
+
4198
+ .artifactuse-form-btn-secondary:hover:not(:disabled) {
4199
+ background: rgb(var(--artifactuse-surface-hover));
4200
+ }
4201
+
4202
+ /* Ghost - Transparent with border */
4203
+ .artifactuse-form-btn-ghost {
4204
+ background: transparent;
4205
+ color: rgb(var(--artifactuse-text-secondary));
4206
+ border: 1px solid rgba(var(--artifactuse-border), 0.5);
4207
+ }
4208
+
4209
+ .artifactuse-form-btn-ghost:hover:not(:disabled) {
4210
+ background: rgba(var(--artifactuse-surface-hover), 0.5);
4211
+ color: rgb(var(--artifactuse-text));
4212
+ border-color: rgba(var(--artifactuse-border), 0.8);
4213
+ }
4214
+
4215
+ /* Danger - Red for destructive actions */
4216
+ .artifactuse-form-btn-danger {
4217
+ background: rgba(var(--artifactuse-error), 0.15);
4218
+ color: rgb(var(--artifactuse-error));
4219
+ }
4220
+
4221
+ .artifactuse-form-btn-danger:hover:not(:disabled) {
4222
+ background: rgba(var(--artifactuse-error), 0.25);
4223
+ }
4224
+
4225
+ /* Success - Green for positive actions */
4226
+ .artifactuse-form-btn-success {
4227
+ background: rgba(var(--artifactuse-success), 0.15);
4228
+ color: rgb(var(--artifactuse-success));
4229
+ }
4230
+
4231
+ .artifactuse-form-btn-success:hover:not(:disabled) {
4232
+ background: rgba(var(--artifactuse-success), 0.25);
4233
+ }
4234
+
4235
+ /* Link style - Text only */
4236
+ .artifactuse-form-btn-link {
4237
+ background: transparent;
4238
+ color: rgb(var(--artifactuse-primary));
4239
+ padding: 8px 12px;
4240
+ }
4241
+
4242
+ .artifactuse-form-btn-link:hover:not(:disabled) {
4243
+ text-decoration: underline;
4244
+ }
4245
+
4246
+ /* Button Icon */
4247
+ .artifactuse-form-btn-icon {
4248
+ display: flex;
4249
+ align-items: center;
4250
+ justify-content: center;
4251
+ width: 16px;
4252
+ height: 16px;
4253
+ }
4254
+
4255
+ .artifactuse-form-btn-icon svg {
4256
+ width: 16px;
4257
+ height: 16px;
4258
+ }
4259
+
4260
+ /* Button Spinner */
4261
+ .artifactuse-form-btn-spinner {
4262
+ width: 14px;
4263
+ height: 14px;
4264
+ border: 2px solid currentColor;
4265
+ border-top-color: transparent;
4266
+ border-radius: 50%;
4267
+ animation: artifactuse-spin 0.6s linear infinite;
4268
+ }
4269
+
4270
+ /* ============================================================
4271
+ COMPACT VARIANT - Even more minimal
4272
+ ============================================================ */
4273
+
4274
+ .artifactuse-inline-form.artifactuse-form-compact {
4275
+ padding: 12px;
4276
+ border-radius: 12px;
4277
+ }
4278
+
4279
+ .artifactuse-inline-form.artifactuse-form-compact .artifactuse-form-fields {
4280
+ gap: 8px;
4281
+ }
4282
+
4283
+ .artifactuse-inline-form.artifactuse-form-compact .artifactuse-input,
4284
+ .artifactuse-inline-form.artifactuse-form-compact .artifactuse-textarea,
4285
+ .artifactuse-inline-form.artifactuse-form-compact .artifactuse-select {
4286
+ padding: 8px 10px;
4287
+ font-size: 13px;
4288
+ }
4289
+
4290
+ .artifactuse-inline-form.artifactuse-form-compact .artifactuse-form-btn {
4291
+ padding: 6px 12px;
4292
+ font-size: 13px;
4293
+ min-height: 32px;
4294
+ }
4295
+
4296
+ /* ============================================================
4297
+ HORIZONTAL LAYOUT - Fields in a row
4298
+ ============================================================ */
4299
+
4300
+ .artifactuse-inline-form.artifactuse-form-horizontal .artifactuse-form-fields {
4301
+ flex-direction: row;
4302
+ align-items: flex-end;
4303
+ flex-wrap: wrap;
4304
+ }
4305
+
4306
+ .artifactuse-inline-form.artifactuse-form-horizontal .artifactuse-form-field {
4307
+ flex: 1;
4308
+ min-width: 120px;
4309
+ }
4310
+
4311
+ .artifactuse-inline-form.artifactuse-form-horizontal .artifactuse-form-buttons {
4312
+ margin-top: 0;
4313
+ padding-top: 0;
4314
+ border-top: none;
4315
+ align-self: flex-end;
4316
+ }
4317
+
4318
+ /* ============================================================
4319
+ FULL WIDTH VARIANT
4320
+ ============================================================ */
4321
+
4322
+ .artifactuse-inline-form.artifactuse-form-fullwidth {
4323
+ max-width: none;
4324
+ }
4325
+
4326
+ /* ============================================================
4327
+ LIGHT THEME ADJUSTMENTS
4328
+ ============================================================ */
4329
+
4330
+ [data-artifactuse-theme="light"] .artifactuse-inline-form {
4331
+ background: rgba(var(--artifactuse-surface), 0.8);
4332
+ border-color: rgba(var(--artifactuse-border), 0.3);
4333
+ }
4334
+
4335
+ [data-artifactuse-theme="light"] .artifactuse-input,
4336
+ [data-artifactuse-theme="light"] .artifactuse-textarea,
4337
+ [data-artifactuse-theme="light"] .artifactuse-select {
4338
+ background: rgba(255, 255, 255, 0.8);
4339
+ border-color: rgba(var(--artifactuse-border), 0.3);
4340
+ }
4341
+
4342
+ [data-artifactuse-theme="light"] .artifactuse-input:focus,
4343
+ [data-artifactuse-theme="light"] .artifactuse-textarea:focus,
4344
+ [data-artifactuse-theme="light"] .artifactuse-select:focus {
4345
+ background: white;
4346
+ border-color: rgba(var(--artifactuse-primary), 0.5);
4347
+ }
4348
+
4349
+ [data-artifactuse-theme="light"] .artifactuse-form-btn-secondary {
4350
+ background: rgba(var(--artifactuse-surface), 0.8);
4351
+ }
4352
+
4353
+ [data-artifactuse-theme="light"] .artifactuse-form-btn-ghost {
4354
+ border-color: rgba(var(--artifactuse-border), 0.3);
4355
+ }
4356
+
4357
+ /* ============================================================
4358
+ RESPONSIVE ADJUSTMENTS
4359
+ ============================================================ */
4360
+
4361
+ @media (max-width: 480px) {
4362
+ .artifactuse-inline-form {
4363
+ padding: 12px;
4364
+ border-radius: 12px;
4365
+ max-width: none;
4366
+ }
4367
+
4368
+ .artifactuse-form-buttons {
4369
+ flex-direction: column;
4370
+ }
4371
+
4372
+ .artifactuse-form-btn {
4373
+ width: 100%;
4374
+ }
4375
+
4376
+ .artifactuse-inline-form.artifactuse-form-horizontal .artifactuse-form-fields {
4377
+ flex-direction: column;
4378
+ }
4379
+ }
4380
+
4381
+
4382
+
4383
+ /* ============================================================
4384
+ CARD STYLES FOR PANEL OPENER
4385
+ ============================================================ */
4386
+
4387
+ .artifactuse-card {
4388
+ container-type: inline-size;
4389
+ display: flex;
4390
+ align-items: center;
4391
+ gap: 12px;
4392
+ padding: 3px 5px;
4393
+ margin: 6px 0;
4394
+ border-radius: 8px;
4395
+ cursor: pointer;
4396
+ transition: all 0.2s ease;
4397
+ background: rgba(var(--artifactuse-surface), 0.9);
4398
+ border: 1px solid rgba(var(--artifactuse-border), 0.9);
4399
+ }
4400
+
4401
+ .artifactuse-card:hover {
4402
+ border-color: rgb(var(--artifactuse-primary));
4403
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
4404
+ }
4405
+
4406
+ .artifactuse-card--active {
4407
+ border-color: rgb(var(--artifactuse-primary));
4408
+ background: rgba(var(--artifactuse-primary), 0.1);
4409
+ }
4410
+
4411
+
4412
+ /* Icon */
4413
+ .artifactuse-card__icon {
4414
+ flex-shrink: 0;
4415
+ width: 32px;
4416
+ height: 32px;
4417
+ border-radius: 6px;
4418
+ display: flex;
4419
+ align-items: center;
4420
+ justify-content: center;
4421
+ background: rgba(var(--artifactuse-surface), 0.8);
4422
+ color: rgb(var(--artifactuse-text-muted));
4423
+ }
4424
+
4425
+ .artifactuse-card__icon svg {
4426
+ width: 18px;
4427
+ height: 18px;
4428
+ }
4429
+
4430
+ .artifactuse-card--active .artifactuse-card__icon {
4431
+ background: rgba(var(--artifactuse-primary), 0.15);
4432
+ color: rgb(var(--artifactuse-primary));
4433
+ }
4434
+
4435
+ /* Content */
4436
+ .artifactuse-card__content {
4437
+ flex: 1;
4438
+ min-width: 0;
4439
+ overflow: hidden;
4440
+ }
4441
+
4442
+ .artifactuse-card__title {
4443
+ font-size: 13px;
4444
+ font-weight: 500;
4445
+ letter-spacing: -0.01em;
4446
+ color: rgb(var(--artifactuse-text));
4447
+ white-space: nowrap;
4448
+ overflow: hidden;
4449
+ text-overflow: ellipsis;
4450
+ }
4451
+
4452
+ .artifactuse-card__meta {
4453
+ display: flex;
4454
+ align-items: center;
4455
+ gap: 6px;
4456
+ font-size: 11px;
4457
+ font-weight: 400;
4458
+ letter-spacing: 0.01em;
4459
+ color: rgb(var(--artifactuse-text-secondary));
4460
+ }
4461
+
4462
+ .artifactuse-card__type {
4463
+ font-weight: 500;
4464
+ white-space: nowrap;
4465
+ overflow: hidden;
4466
+ text-overflow: ellipsis;
4467
+ }
4468
+ .artifactuse-card__size {
4469
+ white-space: nowrap;
4470
+ overflow: hidden;
4471
+ text-overflow: ellipsis;
4472
+ }
4473
+
4474
+ .artifactuse-card__separator {
4475
+ opacity: 0.5;
4476
+ }
4477
+
4478
+ /* Actions */
4479
+ .artifactuse-card__actions {
4480
+ display: flex;
4481
+ align-items: center;
4482
+ gap: 4px;
4483
+ opacity: 0;
4484
+ transition: opacity 0.2s ease;
4485
+ }
4486
+
4487
+ .artifactuse-card:hover .artifactuse-card__actions {
4488
+ opacity: 1;
4489
+ }
4490
+
4491
+ .artifactuse-card__action {
4492
+ padding: 6px;
4493
+ border-radius: 6px;
4494
+ border: none;
4495
+ background: transparent;
4496
+ color: rgb(var(--artifactuse-text-muted));
4497
+ cursor: pointer;
4498
+ transition: all 0.15s ease;
4499
+ display: flex;
4500
+ align-items: center;
4501
+ justify-content: center;
4502
+ }
4503
+
4504
+ .artifactuse-card__action:hover {
4505
+ color: rgb(var(--artifactuse-text));
4506
+ background: rgba(var(--artifactuse-surface-hover), 0.8);
4507
+ }
4508
+
4509
+ .artifactuse-card__action svg {
4510
+ width: 14px;
4511
+ height: 14px;
4512
+ }
4513
+
4514
+ /* Arrow */
4515
+ .artifactuse-card__arrow {
4516
+ flex-shrink: 0;
4517
+ color: rgb(var(--artifactuse-text-muted));
4518
+ opacity: 0.5;
4519
+ align-items: center;
4520
+ display: flex;
4521
+ }
4522
+
4523
+ .artifactuse-card__arrow svg {
4524
+ width: 18px;
4525
+ height: 18px;
4526
+ }
4527
+
4528
+ .artifactuse-card--active .artifactuse-card__arrow {
4529
+ color: rgb(var(--artifactuse-primary));
4530
+ opacity: 1;
4531
+ }
4532
+
4533
+ /*
4534
+ * Light theme overrides
4535
+ * Applied when [data-artifactuse-theme="light"] is set on a parent element
4536
+ */
4537
+ [data-artifactuse-theme="light"] .artifactuse-card {
4538
+ background: rgb(var(--artifactuse-surface));
4539
+ border-color: rgb(var(--artifactuse-border));
4540
+ }
4541
+
4542
+ [data-artifactuse-theme="light"] .artifactuse-card:hover {
4543
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
4544
+ }
4545
+
4546
+ [data-artifactuse-theme="light"] .artifactuse-card__icon {
4547
+ background: rgb(var(--artifactuse-surface-hover));
4548
+ }
4549
+
4550
+ [data-artifactuse-theme="light"] .artifactuse-card__action:hover {
4551
+ background: rgb(var(--artifactuse-surface-hover));
4552
+ }
4553
+
4554
+ /*
4555
+ * Dark theme overrides (explicit)
4556
+ * Applied when [data-artifactuse-theme="dark"] is set on a parent element
4557
+ */
4558
+ [data-artifactuse-theme="dark"] .artifactuse-card {
4559
+ background: rgba(var(--artifactuse-surface), 0.9);
4560
+ border-color: rgba(var(--artifactuse-border), 0.9);
4561
+ }
4562
+
4563
+ [data-artifactuse-theme="dark"] .artifactuse-card:hover {
4564
+ box-shadow: 0 2px 12px rgba(0, 0, 0, 0.25);
4565
+ }
4566
+
4567
+ [data-artifactuse-theme="dark"] .artifactuse-card__icon {
4568
+ background: rgba(var(--artifactuse-surface-hover), 0.5);
4569
+ }
4570
+
4571
+ [data-artifactuse-theme="dark"] .artifactuse-card__action:hover {
4572
+ background: rgba(var(--artifactuse-surface-hover), 0.6);
4573
+ }
4574
+
4575
+ /* Responsive */
4576
+ @container (max-width: 300px) {
4577
+ .artifactuse-card {
4578
+ padding: 8px;
4579
+ flex-direction: column;
4580
+ }
4581
+
4582
+ .artifactuse-card__icon {
4583
+ width: 28px;
4584
+ height: 28px;
4585
+ }
4586
+
4587
+ .artifactuse-card__icon svg {
4588
+ width: 14px;
4589
+ height: 14px;
4590
+ }
4591
+
4592
+ .artifactuse-card__actions {
4593
+ display: none;
4594
+ }
4595
+ }
4596
+
4597
+
4598
+
4599
+ /* ============================================================
4600
+ PANEL TOGGLE STYLES
4601
+ ============================================================ */
4602
+
4603
+ .artifactuse-panel-toggle {
4604
+ position: relative;
4605
+ display: flex;
4606
+ align-items: center;
4607
+ justify-content: center;
4608
+ width: 40px;
4609
+ height: 40px;
4610
+ background: rgb(var(--artifactuse-surface));
4611
+ border: 1px solid rgb(var(--artifactuse-border));
4612
+ border-radius: 10px;
4613
+ color: rgb(var(--artifactuse-text-secondary));
4614
+ cursor: pointer;
4615
+ transition: all 0.2s ease;
4616
+ }
4617
+
4618
+ .artifactuse-panel-toggle:hover {
4619
+ background: rgb(var(--artifactuse-surface-hover));
4620
+ color: rgb(var(--artifactuse-text));
4621
+ border-color: rgb(var(--artifactuse-border));
4622
+ }
4623
+
4624
+ .artifactuse-panel-toggle--active {
4625
+ background: rgba(var(--artifactuse-primary), 0.15);
4626
+ border-color: rgb(var(--artifactuse-primary));
4627
+ color: rgb(var(--artifactuse-primary));
4628
+ }
4629
+
4630
+ .artifactuse-panel-toggle--active:hover {
4631
+ background: rgba(var(--artifactuse-primary), 0.25);
4632
+ }
4633
+
4634
+ .artifactuse-panel-toggle--has-artifacts {
4635
+ color: rgb(var(--artifactuse-primary));
4636
+ }
4637
+
4638
+ .artifactuse-panel-toggle svg {
4639
+ width: 20px;
4640
+ height: 20px;
4641
+ }
4642
+
4643
+ .artifactuse-panel-toggle-badge {
4644
+ position: absolute;
4645
+ top: -6px;
4646
+ right: -6px;
4647
+ min-width: 18px;
4648
+ height: 18px;
4649
+ padding: 0 5px;
4650
+ background: rgb(var(--artifactuse-primary));
4651
+ color: white;
4652
+ border-radius: 9px;
4653
+ font-size: 11px;
4654
+ font-weight: 600;
4655
+ line-height: 18px;
4656
+ text-align: center;
4657
+ }
4658
+
4659
+ /* Pulse animation for new artifacts */
4660
+ @keyframes artifactuse-pulse {
4661
+ 0% {
4662
+ box-shadow: 0 0 0 0 rgba(var(--artifactuse-primary), 0.4);
4663
+ }
4664
+ 70% {
4665
+ box-shadow: 0 0 0 8px rgba(var(--artifactuse-primary), 0);
4666
+ }
4667
+ 100% {
4668
+ box-shadow: 0 0 0 0 rgba(var(--artifactuse-primary), 0);
4669
+ }
4670
+ }
4671
+
4672
+ .artifactuse-panel-toggle--has-artifacts:not(.artifactuse-panel-toggle--active) {
4673
+ animation: artifactuse-pulse 2s ease-in-out 3;
4674
+ }