@rmdes/indiekit-endpoint-activitypub 1.0.28 → 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,884 @@
1
+ /**
2
+ * ActivityPub Reader Styles
3
+ * Card-based layout inspired by Phanpy/Elk
4
+ * Uses Indiekit CSS custom properties
5
+ */
6
+
7
+ /* ==========================================================================
8
+ Tab Navigation
9
+ ========================================================================== */
10
+
11
+ .ap-tabs {
12
+ border-bottom: 1px solid var(--color-offset);
13
+ display: flex;
14
+ gap: var(--space-xs);
15
+ margin-bottom: var(--space-m);
16
+ overflow-x: auto;
17
+ -webkit-overflow-scrolling: touch;
18
+ }
19
+
20
+ .ap-tab {
21
+ border-bottom: 2px solid transparent;
22
+ color: var(--color-text-muted);
23
+ font-size: var(--font-size-body);
24
+ padding: var(--space-s) var(--space-m);
25
+ text-decoration: none;
26
+ transition:
27
+ color 0.2s ease,
28
+ border-color 0.2s ease;
29
+ white-space: nowrap;
30
+ }
31
+
32
+ .ap-tab:hover {
33
+ color: var(--color-text);
34
+ }
35
+
36
+ .ap-tab--active {
37
+ border-bottom-color: var(--color-primary);
38
+ color: var(--color-primary);
39
+ font-weight: 600;
40
+ }
41
+
42
+ /* ==========================================================================
43
+ Timeline Layout
44
+ ========================================================================== */
45
+
46
+ .ap-timeline {
47
+ display: flex;
48
+ flex-direction: column;
49
+ gap: var(--space-m);
50
+ }
51
+
52
+ /* ==========================================================================
53
+ Item Card
54
+ ========================================================================== */
55
+
56
+ .ap-card {
57
+ background: var(--color-background);
58
+ border: 1px solid var(--color-offset);
59
+ border-radius: var(--border-radius);
60
+ overflow: hidden;
61
+ padding: var(--space-m);
62
+ transition:
63
+ box-shadow 0.2s ease,
64
+ border-color 0.2s ease;
65
+ }
66
+
67
+ .ap-card:hover {
68
+ border-color: var(--color-offset-active);
69
+ }
70
+
71
+ /* Boost header */
72
+ .ap-card__boost {
73
+ color: var(--color-text-muted);
74
+ font-size: var(--font-size-small);
75
+ margin-bottom: var(--space-s);
76
+ padding-bottom: var(--space-xs);
77
+ }
78
+
79
+ .ap-card__boost a {
80
+ color: var(--color-text-muted);
81
+ font-weight: 600;
82
+ text-decoration: none;
83
+ }
84
+
85
+ .ap-card__boost a:hover {
86
+ color: var(--color-text);
87
+ text-decoration: underline;
88
+ }
89
+
90
+ /* Reply context */
91
+ .ap-card__reply-to {
92
+ color: var(--color-text-muted);
93
+ font-size: var(--font-size-small);
94
+ margin-bottom: var(--space-s);
95
+ overflow: hidden;
96
+ text-overflow: ellipsis;
97
+ white-space: nowrap;
98
+ }
99
+
100
+ .ap-card__reply-to a {
101
+ color: var(--color-primary);
102
+ text-decoration: none;
103
+ }
104
+
105
+ .ap-card__reply-to a:hover {
106
+ text-decoration: underline;
107
+ }
108
+
109
+ /* Author header */
110
+ .ap-card__author {
111
+ align-items: center;
112
+ display: flex;
113
+ gap: var(--space-s);
114
+ margin-bottom: var(--space-s);
115
+ }
116
+
117
+ .ap-card__avatar {
118
+ border: 1px solid var(--color-offset);
119
+ border-radius: 50%;
120
+ flex-shrink: 0;
121
+ height: 40px;
122
+ object-fit: cover;
123
+ width: 40px;
124
+ }
125
+
126
+ .ap-card__author-info {
127
+ display: flex;
128
+ flex-direction: column;
129
+ flex: 1;
130
+ min-width: 0;
131
+ }
132
+
133
+ .ap-card__author-name {
134
+ font-weight: 600;
135
+ overflow: hidden;
136
+ text-overflow: ellipsis;
137
+ white-space: nowrap;
138
+ }
139
+
140
+ .ap-card__author-name a {
141
+ color: inherit;
142
+ text-decoration: none;
143
+ }
144
+
145
+ .ap-card__author-name a:hover {
146
+ text-decoration: underline;
147
+ }
148
+
149
+ .ap-card__author-handle {
150
+ color: var(--color-text-muted);
151
+ font-size: var(--font-size-small);
152
+ overflow: hidden;
153
+ text-overflow: ellipsis;
154
+ white-space: nowrap;
155
+ }
156
+
157
+ .ap-card__timestamp {
158
+ color: var(--color-text-muted);
159
+ flex-shrink: 0;
160
+ font-size: var(--font-size-small);
161
+ }
162
+
163
+ /* Post title (articles) */
164
+ .ap-card__title {
165
+ font-size: var(--font-size-heading-4);
166
+ font-weight: 600;
167
+ line-height: 1.3;
168
+ margin-bottom: var(--space-s);
169
+ }
170
+
171
+ .ap-card__title a {
172
+ color: inherit;
173
+ text-decoration: none;
174
+ }
175
+
176
+ .ap-card__title a:hover {
177
+ text-decoration: underline;
178
+ }
179
+
180
+ /* Content */
181
+ .ap-card__content {
182
+ color: var(--color-text);
183
+ line-height: 1.6;
184
+ margin-bottom: var(--space-s);
185
+ overflow-wrap: break-word;
186
+ word-break: break-word;
187
+ }
188
+
189
+ .ap-card__content a {
190
+ color: var(--color-primary);
191
+ }
192
+
193
+ .ap-card__content p {
194
+ margin-bottom: var(--space-xs);
195
+ }
196
+
197
+ .ap-card__content p:last-child {
198
+ margin-bottom: 0;
199
+ }
200
+
201
+ .ap-card__content blockquote {
202
+ border-left: 3px solid var(--color-offset);
203
+ margin: var(--space-s) 0;
204
+ padding-left: var(--space-m);
205
+ }
206
+
207
+ .ap-card__content pre {
208
+ background: var(--color-offset);
209
+ border-radius: var(--border-radius);
210
+ overflow-x: auto;
211
+ padding: var(--space-s);
212
+ }
213
+
214
+ .ap-card__content code {
215
+ background: var(--color-offset);
216
+ border-radius: 3px;
217
+ font-size: 0.9em;
218
+ padding: 1px 4px;
219
+ }
220
+
221
+ .ap-card__content pre code {
222
+ background: none;
223
+ padding: 0;
224
+ }
225
+
226
+ .ap-card__content img {
227
+ border-radius: var(--border-radius);
228
+ height: auto;
229
+ max-width: 100%;
230
+ }
231
+
232
+ /* Content warning */
233
+ .ap-card__cw {
234
+ margin-bottom: var(--space-s);
235
+ }
236
+
237
+ .ap-card__cw-toggle {
238
+ background: var(--color-offset);
239
+ border: 1px solid var(--color-offset-active);
240
+ border-radius: var(--border-radius);
241
+ color: var(--color-text);
242
+ cursor: pointer;
243
+ display: block;
244
+ font-size: var(--font-size-small);
245
+ padding: var(--space-s) var(--space-m);
246
+ text-align: left;
247
+ transition: background 0.2s ease;
248
+ width: 100%;
249
+ }
250
+
251
+ .ap-card__cw-toggle:hover {
252
+ background: var(--color-offset-active);
253
+ }
254
+
255
+ /* Photo gallery */
256
+ .ap-card__gallery {
257
+ border-radius: var(--border-radius);
258
+ display: grid;
259
+ gap: 2px;
260
+ margin-bottom: var(--space-s);
261
+ overflow: hidden;
262
+ }
263
+
264
+ .ap-card__gallery-link {
265
+ display: block;
266
+ position: relative;
267
+ }
268
+
269
+ .ap-card__gallery img {
270
+ background: var(--color-offset);
271
+ display: block;
272
+ height: 200px;
273
+ object-fit: cover;
274
+ width: 100%;
275
+ }
276
+
277
+ .ap-card__gallery-link--more::after {
278
+ background: rgba(0, 0, 0, 0.5);
279
+ bottom: 0;
280
+ content: "";
281
+ left: 0;
282
+ position: absolute;
283
+ right: 0;
284
+ top: 0;
285
+ }
286
+
287
+ .ap-card__gallery-more {
288
+ color: #fff;
289
+ font-size: 1.5em;
290
+ font-weight: 600;
291
+ left: 50%;
292
+ position: absolute;
293
+ top: 50%;
294
+ transform: translate(-50%, -50%);
295
+ z-index: 1;
296
+ }
297
+
298
+ /* 1 photo */
299
+ .ap-card__gallery--1 {
300
+ grid-template-columns: 1fr;
301
+ }
302
+
303
+ .ap-card__gallery--1 img {
304
+ height: auto;
305
+ max-height: 400px;
306
+ }
307
+
308
+ /* 2 photos - side by side */
309
+ .ap-card__gallery--2 {
310
+ grid-template-columns: 1fr 1fr;
311
+ }
312
+
313
+ /* 3 photos - one large, two small */
314
+ .ap-card__gallery--3 {
315
+ grid-template-columns: 2fr 1fr;
316
+ grid-template-rows: 1fr 1fr;
317
+ }
318
+
319
+ .ap-card__gallery--3 img:first-child {
320
+ grid-row: 1 / 3;
321
+ height: 100%;
322
+ }
323
+
324
+ /* 4+ photos - 2x2 grid */
325
+ .ap-card__gallery--4 {
326
+ grid-template-columns: 1fr 1fr;
327
+ grid-template-rows: 1fr 1fr;
328
+ }
329
+
330
+ /* Video embed */
331
+ .ap-card__video {
332
+ margin-bottom: var(--space-s);
333
+ }
334
+
335
+ .ap-card__video video {
336
+ border-radius: var(--border-radius);
337
+ max-height: 400px;
338
+ width: 100%;
339
+ }
340
+
341
+ /* Audio player */
342
+ .ap-card__audio {
343
+ margin-bottom: var(--space-s);
344
+ }
345
+
346
+ .ap-card__audio audio {
347
+ width: 100%;
348
+ }
349
+
350
+ /* Tags */
351
+ .ap-card__tags {
352
+ display: flex;
353
+ flex-wrap: wrap;
354
+ gap: var(--space-xs);
355
+ margin-bottom: var(--space-s);
356
+ }
357
+
358
+ .ap-card__tag {
359
+ background: var(--color-offset);
360
+ border-radius: var(--border-radius);
361
+ color: var(--color-text-muted);
362
+ font-size: var(--font-size-small);
363
+ padding: 2px var(--space-xs);
364
+ text-decoration: none;
365
+ }
366
+
367
+ .ap-card__tag:hover {
368
+ background: var(--color-offset-active);
369
+ color: var(--color-text);
370
+ }
371
+
372
+ /* Interaction buttons */
373
+ .ap-card__actions {
374
+ border-top: 1px solid var(--color-offset);
375
+ display: flex;
376
+ flex-wrap: wrap;
377
+ gap: var(--space-s);
378
+ padding-top: var(--space-s);
379
+ }
380
+
381
+ .ap-card__action {
382
+ align-items: center;
383
+ background: transparent;
384
+ border: 1px solid var(--color-offset);
385
+ border-radius: var(--border-radius);
386
+ color: var(--color-text-muted);
387
+ cursor: pointer;
388
+ display: inline-flex;
389
+ font-size: var(--font-size-small);
390
+ gap: var(--space-xs);
391
+ padding: var(--space-xs) var(--space-s);
392
+ text-decoration: none;
393
+ transition: all 0.2s ease;
394
+ }
395
+
396
+ .ap-card__action:hover {
397
+ background: var(--color-offset);
398
+ border-color: var(--color-offset-active);
399
+ color: var(--color-text);
400
+ }
401
+
402
+ /* Active interaction states */
403
+ .ap-card__action--like.ap-card__action--active {
404
+ background: rgba(225, 29, 72, 0.1);
405
+ border-color: #e11d48;
406
+ color: #e11d48;
407
+ }
408
+
409
+ .ap-card__action--boost.ap-card__action--active {
410
+ background: rgba(22, 163, 74, 0.1);
411
+ border-color: #16a34a;
412
+ color: #16a34a;
413
+ }
414
+
415
+ .ap-card__action:disabled {
416
+ cursor: wait;
417
+ opacity: 0.6;
418
+ }
419
+
420
+ /* Error message */
421
+ .ap-card__action-error {
422
+ color: #e11d48;
423
+ font-size: var(--font-size-small);
424
+ width: 100%;
425
+ }
426
+
427
+ /* ==========================================================================
428
+ Pagination
429
+ ========================================================================== */
430
+
431
+ .ap-pagination {
432
+ border-top: 1px solid var(--color-offset);
433
+ display: flex;
434
+ gap: var(--space-m);
435
+ justify-content: space-between;
436
+ margin-top: var(--space-m);
437
+ padding-top: var(--space-m);
438
+ }
439
+
440
+ .ap-pagination a {
441
+ color: var(--color-primary);
442
+ text-decoration: none;
443
+ }
444
+
445
+ .ap-pagination a:hover {
446
+ text-decoration: underline;
447
+ }
448
+
449
+ /* ==========================================================================
450
+ Compose Form
451
+ ========================================================================== */
452
+
453
+ .ap-compose__context {
454
+ background: var(--color-offset);
455
+ border-left: 3px solid var(--color-primary);
456
+ border-radius: var(--border-radius);
457
+ margin-bottom: var(--space-m);
458
+ padding: var(--space-m);
459
+ }
460
+
461
+ .ap-compose__context-label {
462
+ color: var(--color-text-muted);
463
+ font-size: var(--font-size-small);
464
+ margin-bottom: var(--space-xs);
465
+ }
466
+
467
+ .ap-compose__context-author a {
468
+ font-weight: 600;
469
+ text-decoration: none;
470
+ }
471
+
472
+ .ap-compose__context-text {
473
+ border: 0;
474
+ font-size: var(--font-size-small);
475
+ line-height: 1.5;
476
+ margin: var(--space-xs) 0;
477
+ padding: 0;
478
+ }
479
+
480
+ .ap-compose__context-link {
481
+ color: var(--color-text-muted);
482
+ font-size: var(--font-size-small);
483
+ overflow: hidden;
484
+ text-overflow: ellipsis;
485
+ white-space: nowrap;
486
+ }
487
+
488
+ .ap-compose__form {
489
+ display: flex;
490
+ flex-direction: column;
491
+ gap: var(--space-m);
492
+ }
493
+
494
+ .ap-compose__mode {
495
+ border: 1px solid var(--color-offset);
496
+ border-radius: var(--border-radius);
497
+ display: flex;
498
+ flex-direction: column;
499
+ gap: var(--space-s);
500
+ padding: var(--space-m);
501
+ }
502
+
503
+ .ap-compose__mode legend {
504
+ font-weight: 600;
505
+ }
506
+
507
+ .ap-compose__mode-option {
508
+ cursor: pointer;
509
+ display: flex;
510
+ flex-wrap: wrap;
511
+ gap: var(--space-xs);
512
+ }
513
+
514
+ .ap-compose__mode-hint {
515
+ color: var(--color-text-muted);
516
+ display: block;
517
+ font-size: var(--font-size-small);
518
+ margin-left: 1.5em;
519
+ width: 100%;
520
+ }
521
+
522
+ .ap-compose__editor {
523
+ position: relative;
524
+ }
525
+
526
+ .ap-compose__textarea {
527
+ border: 1px solid var(--color-offset-active);
528
+ border-radius: var(--border-radius);
529
+ font-family: inherit;
530
+ font-size: var(--font-size-body);
531
+ line-height: 1.6;
532
+ padding: var(--space-s);
533
+ resize: vertical;
534
+ width: 100%;
535
+ }
536
+
537
+ .ap-compose__textarea:focus {
538
+ border-color: var(--color-primary);
539
+ outline: 2px solid var(--color-primary);
540
+ outline-offset: -2px;
541
+ }
542
+
543
+ .ap-compose__counter {
544
+ font-size: var(--font-size-small);
545
+ padding-top: var(--space-xs);
546
+ text-align: right;
547
+ }
548
+
549
+ .ap-compose__counter--warn {
550
+ color: #d97706;
551
+ }
552
+
553
+ .ap-compose__counter--over {
554
+ color: #e11d48;
555
+ font-weight: 600;
556
+ }
557
+
558
+ .ap-compose__syndication {
559
+ border: 1px solid var(--color-offset);
560
+ border-radius: var(--border-radius);
561
+ display: flex;
562
+ flex-direction: column;
563
+ gap: var(--space-xs);
564
+ padding: var(--space-m);
565
+ }
566
+
567
+ .ap-compose__syndication legend {
568
+ font-weight: 600;
569
+ }
570
+
571
+ .ap-compose__syndication-target {
572
+ cursor: pointer;
573
+ display: flex;
574
+ gap: var(--space-xs);
575
+ }
576
+
577
+ .ap-compose__actions {
578
+ align-items: center;
579
+ display: flex;
580
+ gap: var(--space-m);
581
+ }
582
+
583
+ .ap-compose__submit {
584
+ background: var(--color-primary);
585
+ border: 0;
586
+ border-radius: var(--border-radius);
587
+ color: #fff;
588
+ cursor: pointer;
589
+ font-size: var(--font-size-body);
590
+ font-weight: 600;
591
+ padding: var(--space-s) var(--space-l);
592
+ }
593
+
594
+ .ap-compose__submit:hover {
595
+ opacity: 0.9;
596
+ }
597
+
598
+ .ap-compose__cancel {
599
+ color: var(--color-text-muted);
600
+ text-decoration: none;
601
+ }
602
+
603
+ .ap-compose__cancel:hover {
604
+ color: var(--color-text);
605
+ text-decoration: underline;
606
+ }
607
+
608
+ /* ==========================================================================
609
+ Notifications
610
+ ========================================================================== */
611
+
612
+ .ap-notification {
613
+ align-items: flex-start;
614
+ background: var(--color-background);
615
+ border: 1px solid var(--color-offset);
616
+ border-radius: var(--border-radius);
617
+ display: flex;
618
+ gap: var(--space-s);
619
+ padding: var(--space-m);
620
+ }
621
+
622
+ .ap-notification--unread {
623
+ border-color: rgba(255, 204, 0, 0.5);
624
+ box-shadow: 0 0 8px 0 rgba(255, 204, 0, 0.3);
625
+ }
626
+
627
+ .ap-notification__icon {
628
+ flex-shrink: 0;
629
+ font-size: 1.5em;
630
+ }
631
+
632
+ .ap-notification__body {
633
+ flex: 1;
634
+ min-width: 0;
635
+ }
636
+
637
+ .ap-notification__actor {
638
+ font-weight: 600;
639
+ }
640
+
641
+ .ap-notification__action {
642
+ color: var(--color-text-muted);
643
+ }
644
+
645
+ .ap-notification__target {
646
+ color: var(--color-text-muted);
647
+ display: block;
648
+ font-size: var(--font-size-small);
649
+ margin-top: var(--space-xs);
650
+ overflow: hidden;
651
+ text-overflow: ellipsis;
652
+ white-space: nowrap;
653
+ }
654
+
655
+ .ap-notification__excerpt {
656
+ background: var(--color-offset);
657
+ border-radius: var(--border-radius);
658
+ font-size: var(--font-size-small);
659
+ margin-top: var(--space-xs);
660
+ padding: var(--space-xs) var(--space-s);
661
+ }
662
+
663
+ .ap-notification__time {
664
+ color: var(--color-text-muted);
665
+ flex-shrink: 0;
666
+ font-size: var(--font-size-small);
667
+ }
668
+
669
+ /* ==========================================================================
670
+ Remote Profile
671
+ ========================================================================== */
672
+
673
+ .ap-profile__header {
674
+ border-radius: var(--border-radius);
675
+ height: 200px;
676
+ margin-bottom: var(--space-m);
677
+ overflow: hidden;
678
+ }
679
+
680
+ .ap-profile__header-img {
681
+ height: 100%;
682
+ object-fit: cover;
683
+ width: 100%;
684
+ }
685
+
686
+ .ap-profile__info {
687
+ margin-bottom: var(--space-l);
688
+ }
689
+
690
+ .ap-profile__avatar-wrap {
691
+ margin-bottom: var(--space-s);
692
+ }
693
+
694
+ .ap-profile__avatar {
695
+ border: 3px solid var(--color-background);
696
+ border-radius: 50%;
697
+ height: 80px;
698
+ object-fit: cover;
699
+ width: 80px;
700
+ }
701
+
702
+ .ap-profile__avatar--placeholder {
703
+ align-items: center;
704
+ background: var(--color-offset);
705
+ color: var(--color-text-muted);
706
+ display: flex;
707
+ font-size: 2em;
708
+ font-weight: 600;
709
+ justify-content: center;
710
+ }
711
+
712
+ .ap-profile__name {
713
+ font-size: var(--font-size-heading-3);
714
+ margin-bottom: var(--space-xs);
715
+ }
716
+
717
+ .ap-profile__handle {
718
+ color: var(--color-text-muted);
719
+ margin-bottom: var(--space-s);
720
+ }
721
+
722
+ .ap-profile__bio {
723
+ line-height: 1.6;
724
+ margin-bottom: var(--space-s);
725
+ }
726
+
727
+ .ap-profile__bio a {
728
+ color: var(--color-primary);
729
+ }
730
+
731
+ .ap-profile__actions {
732
+ display: flex;
733
+ flex-wrap: wrap;
734
+ gap: var(--space-s);
735
+ margin-top: var(--space-m);
736
+ }
737
+
738
+ .ap-profile__action {
739
+ background: transparent;
740
+ border: 1px solid var(--color-offset-active);
741
+ border-radius: var(--border-radius);
742
+ color: var(--color-text);
743
+ cursor: pointer;
744
+ font-size: var(--font-size-small);
745
+ padding: var(--space-xs) var(--space-m);
746
+ text-decoration: none;
747
+ }
748
+
749
+ .ap-profile__action:hover {
750
+ background: var(--color-offset);
751
+ }
752
+
753
+ .ap-profile__action--follow.ap-profile__action--active {
754
+ background: var(--color-primary);
755
+ border-color: var(--color-primary);
756
+ color: #fff;
757
+ }
758
+
759
+ .ap-profile__action--danger:hover {
760
+ border-color: #e11d48;
761
+ color: #e11d48;
762
+ }
763
+
764
+ .ap-profile__posts {
765
+ margin-top: var(--space-l);
766
+ }
767
+
768
+ .ap-profile__posts h3 {
769
+ border-bottom: 1px solid var(--color-offset);
770
+ font-size: var(--font-size-heading-4);
771
+ margin-bottom: var(--space-m);
772
+ padding-bottom: var(--space-s);
773
+ }
774
+
775
+ /* ==========================================================================
776
+ Moderation
777
+ ========================================================================== */
778
+
779
+ .ap-moderation__section {
780
+ margin-bottom: var(--space-l);
781
+ }
782
+
783
+ .ap-moderation__section h2 {
784
+ font-size: var(--font-size-heading-4);
785
+ margin-bottom: var(--space-s);
786
+ }
787
+
788
+ .ap-moderation__list {
789
+ list-style: none;
790
+ margin: 0;
791
+ padding: 0;
792
+ }
793
+
794
+ .ap-moderation__entry {
795
+ align-items: center;
796
+ border-bottom: 1px solid var(--color-offset);
797
+ display: flex;
798
+ gap: var(--space-s);
799
+ justify-content: space-between;
800
+ padding: var(--space-s) 0;
801
+ }
802
+
803
+ .ap-moderation__entry a {
804
+ min-width: 0;
805
+ overflow: hidden;
806
+ text-overflow: ellipsis;
807
+ white-space: nowrap;
808
+ }
809
+
810
+ .ap-moderation__remove {
811
+ background: transparent;
812
+ border: 1px solid var(--color-offset-active);
813
+ border-radius: var(--border-radius);
814
+ color: var(--color-text-muted);
815
+ cursor: pointer;
816
+ flex-shrink: 0;
817
+ font-size: var(--font-size-small);
818
+ padding: var(--space-xs) var(--space-s);
819
+ }
820
+
821
+ .ap-moderation__remove:hover {
822
+ border-color: #e11d48;
823
+ color: #e11d48;
824
+ }
825
+
826
+ .ap-moderation__add-form {
827
+ display: flex;
828
+ gap: var(--space-s);
829
+ }
830
+
831
+ .ap-moderation__input {
832
+ border: 1px solid var(--color-offset-active);
833
+ border-radius: var(--border-radius);
834
+ flex: 1;
835
+ font-size: var(--font-size-body);
836
+ padding: var(--space-xs) var(--space-s);
837
+ }
838
+
839
+ .ap-moderation__add-btn {
840
+ background: var(--color-offset);
841
+ border: 1px solid var(--color-offset-active);
842
+ border-radius: var(--border-radius);
843
+ cursor: pointer;
844
+ font-size: var(--font-size-body);
845
+ padding: var(--space-xs) var(--space-m);
846
+ }
847
+
848
+ .ap-moderation__add-btn:hover {
849
+ background: var(--color-offset-active);
850
+ }
851
+
852
+ /* ==========================================================================
853
+ Responsive
854
+ ========================================================================== */
855
+
856
+ @media (max-width: 640px) {
857
+ .ap-tabs {
858
+ gap: 0;
859
+ }
860
+
861
+ .ap-tab {
862
+ padding: var(--space-xs) var(--space-s);
863
+ }
864
+
865
+ .ap-card__gallery--3 {
866
+ grid-template-columns: 1fr 1fr;
867
+ grid-template-rows: auto auto;
868
+ }
869
+
870
+ .ap-card__gallery--3 img:first-child {
871
+ grid-column: 1 / 3;
872
+ grid-row: 1;
873
+ height: 200px;
874
+ }
875
+
876
+ .ap-card__actions {
877
+ gap: var(--space-xs);
878
+ }
879
+
880
+ .ap-card__action {
881
+ font-size: 0.75rem;
882
+ padding: var(--space-xs);
883
+ }
884
+ }