atproto-embed 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/post.css ADDED
@@ -0,0 +1,1371 @@
1
+ @import url('https://fonts.googleapis.com/css2?family=Google+Sans+Flex:opsz,wght@6..144,1..1000&display=swap');
2
+
3
+ :root,
4
+ :host {
5
+ /* Neutral palette */
6
+ --neutral-0: #ffffff;
7
+ --neutral-1: #f8f9fa;
8
+ --neutral-2: #f1f3f5;
9
+ --neutral-3: #e9ecef;
10
+ --neutral-4: #dee2e6;
11
+ --neutral-5: #ced4da;
12
+ --neutral-6: #adb5bd;
13
+ --neutral-7: #6a7178;
14
+ --neutral-8: #4f575e;
15
+ --neutral-9: #272b30;
16
+ --neutral-10: #101213;
17
+ --neutral-11: #000000;
18
+
19
+ /* Primary */
20
+ --primary-light: #f8f9ff;
21
+ --primary-base: #0a66f4;
22
+ --primary-hover: #20439b;
23
+ --primary-dark: #1c2855;
24
+
25
+ /* Type scale */
26
+ --font-displayLarge: 45px;
27
+ --font-displaymedium: 40px;
28
+ --font-displaySmall: 36px;
29
+ --font-heading1: 32px;
30
+ --font-heading2: 28px;
31
+ --font-heading3: 25px;
32
+ --font-heading4: 22px;
33
+ --font-heading5: 20px;
34
+ --font-heading6: 18px;
35
+ --font-subtitle: 16px;
36
+ --font-body: 14px;
37
+ --font-caption: 12px;
38
+ --font-label: 11px;
39
+ --font-tagline: 10px;
40
+ --font-sans: "Google Sans Flex", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
41
+ --transition: all 0.32s ease-in-out;
42
+
43
+ /* ── Shared atproto embed tokens ── */
44
+ --atproto-font-family: var(--font-sans);
45
+ --atproto-display-name-color: var(--neutral-10);
46
+ --atproto-display-name-size: var(--font-body);
47
+ --atproto-display-name-weight: 700;
48
+ --atproto-handle-color: var(--neutral-7);
49
+ --atproto-handle-size: var(--font-body);
50
+ --atproto-text-color: var(--neutral-11);
51
+ --atproto-text-size: var(--font-subtitle);
52
+ --atproto-text-line-height: 1.5;
53
+ --atproto-timestamp-color: var(--neutral-7);
54
+ --atproto-timestamp-size: var(--font-caption);
55
+
56
+ --atproto-mention-color: var(--primary-base);
57
+ --atproto-hashtag-color: var(--primary-base);
58
+ --atproto-link-color: var(--primary-base);
59
+ --atproto-link-decoration: none;
60
+
61
+ --atproto-bg: var(--neutral-0);
62
+ --atproto-border-color: var(--neutral-1);
63
+ --atproto-border-radius: 12px;
64
+ --atproto-border-width: 1px;
65
+ --atproto-max-width: 600px;
66
+
67
+ --atproto-image-radius: 8px;
68
+ --atproto-image-gap: 4px;
69
+ --atproto-video-radius: 8px;
70
+
71
+ --atproto-card-bg: var(--neutral-1);
72
+ --atproto-card-border-color: var(--neutral-2);
73
+ --atproto-card-title-color: var(--neutral-10);
74
+ --atproto-card-title-size: var(--font-body);
75
+ --atproto-card-desc-color: var(--neutral-7);
76
+ --atproto-card-desc-size: var(--font-caption);
77
+ --atproto-card-domain-color: var(--neutral-9);
78
+ --atproto-card-domain-size: var(--font-label);
79
+ --atproto-external-thumb-ratio: 1.91 / 1;
80
+
81
+ --atproto-quote-bg: var(--neutral-0);
82
+ --atproto-quote-border-color: var(--neutral-1);
83
+
84
+ --atproto-stat-color: var(--neutral-10);
85
+ --atproto-stat-size: var(--font-body);
86
+ --atproto-stat-icon-color: var(--neutral-7);
87
+ --atproto-via-color: var(--primary-base);
88
+ --atproto-via-size: var(--font-caption);
89
+
90
+ --atproto-label-bg: #fff3cd;
91
+ --atproto-label-color: #856404;
92
+ --atproto-label-border-color: #ffc107;
93
+
94
+ --atproto-action-size: var(--font-body);
95
+
96
+ /* Discussion-only tokens */
97
+ --atproto-avatar-size: 42px;
98
+ --atproto-avatar-radius: 50%;
99
+ --atproto-thread-line-color: var(--neutral-2);
100
+ --atproto-thread-line-width: 2px;
101
+ --atproto-reply-indent: 24px;
102
+ --atproto-load-more-color: var(--primary-base);
103
+ --atproto-load-more-bg: transparent;
104
+ --atproto-load-more-border-color: var(--neutral-2);
105
+ --atproto-liked-by-label-color: var(--neutral-7);
106
+ --atproto-liked-by-avatar-size: 36px;
107
+ --atproto-liked-by-avatar-gap: 6px;
108
+ --atproto-liked-by-overflow-color: var(--neutral-7);
109
+ --atproto-liked-by-overflow-bg: var(--neutral-2);
110
+ }
111
+
112
+ /* Ensure the shadow host can shrink below content width in flex layouts */
113
+ :host(.atproto-embed-host) {
114
+ display: block;
115
+ width: var(--atproto-width, 100%);
116
+ max-width: var(--atproto-max-width);
117
+ min-width: 0;
118
+ box-sizing: border-box;
119
+ margin: 32px auto;
120
+ }
121
+
122
+ /* keep for backward compatibility (no-op since host already has margin) */
123
+ :host(.atproto-embed-host--post) {
124
+ margin: 32px auto;
125
+ }
126
+
127
+ /* ── Layout wrappers ── */
128
+
129
+
130
+
131
+
132
+ /* ── Base reset for both modes ── */
133
+
134
+ :is(.atproto-embed--post, .atproto-embed--discussion) {
135
+ width: var(--atproto-width, 100%);
136
+ max-width: var(--atproto-max-width);
137
+ font-family: var(--atproto-font-family);
138
+ box-sizing: border-box;
139
+ }
140
+
141
+ :is(.atproto-embed--post, .atproto-embed--discussion) *,
142
+ :is(.atproto-embed--post, .atproto-embed--discussion) *::before,
143
+ :is(.atproto-embed--post, .atproto-embed--discussion) *::after {
144
+ box-sizing: border-box;
145
+ margin: 0;
146
+ padding: 0;
147
+ scrollbar-width: thin;
148
+ scrollbar-color: var(--neutral-7) transparent;
149
+ }
150
+
151
+ a,
152
+ label,
153
+ select,
154
+ input,
155
+ textarea,
156
+ button {
157
+ font-family: inherit;
158
+ }
159
+
160
+ /* ── Post card — shared between both modes ── */
161
+
162
+ :is(.atproto-embed--post, .atproto-embed--discussion) .atproto-post {
163
+ background: var(--atproto-bg);
164
+ border: 1px solid var(--neutral-3);
165
+ border-radius: 20px;
166
+ box-shadow: 0 0 0 3px var(--neutral-1);
167
+ padding: 16px;
168
+ color: var(--atproto-text-color);
169
+ }
170
+
171
+ /* ── Header ── */
172
+
173
+ .atproto-embed--post .atproto-post__header,
174
+ .atproto-embed--discussion .atproto-post__header {
175
+ display: flex;
176
+ align-items: center;
177
+ gap: 8px;
178
+ margin-bottom: 8px;
179
+ text-decoration: none;
180
+ color: inherit;
181
+ }
182
+
183
+ .atproto-embed--post .atproto-post__header-main-link,
184
+ .atproto-embed--discussion .atproto-post__header-main-link {
185
+ display: inline-flex;
186
+ align-items: center;
187
+ gap: 8px;
188
+ text-decoration: none;
189
+ color: inherit;
190
+ min-width: 0;
191
+ }
192
+
193
+ .atproto-embed--post .atproto-post__header-main,
194
+ .atproto-embed--discussion .atproto-post__header-main {
195
+ display: flex;
196
+ align-items: center;
197
+ gap: 8px;
198
+ min-width: 0;
199
+ }
200
+
201
+ .atproto-embed--post .atproto-post__author,
202
+ .atproto-embed--discussion .atproto-post__author {
203
+ display: flex;
204
+ flex-direction: column;
205
+ min-width: 0;
206
+ gap: 2px;
207
+ }
208
+
209
+ .atproto-embed--post .atproto-post__display-name,
210
+ .atproto-embed--discussion .atproto-post__display-name {
211
+ color: var(--atproto-display-name-color);
212
+ font-size: var(--atproto-display-name-size);
213
+ font-weight: 600;
214
+ white-space: nowrap;
215
+ overflow: hidden;
216
+ text-overflow: ellipsis;
217
+ letter-spacing: -0.01em;
218
+ line-height: 1.2;
219
+ }
220
+
221
+ .atproto-embed--post .atproto-post__display-name-wrap,
222
+ .atproto-embed--discussion .atproto-post__display-name-wrap {
223
+ display: flex;
224
+ align-items: center;
225
+ gap: 4px;
226
+ min-width: 0;
227
+ }
228
+
229
+ .atproto-embed--post .atproto-badge-wrap,
230
+ .atproto-embed--discussion .atproto-badge-wrap {
231
+ display: inline-flex;
232
+ align-items: center;
233
+ flex-shrink: 0;
234
+ }
235
+
236
+ .atproto-embed--post .atproto-badge,
237
+ .atproto-embed--discussion .atproto-badge {
238
+ display: block;
239
+ }
240
+
241
+ .atproto-embed--post .atproto-badge-wrap img,
242
+ .atproto-embed--discussion .atproto-badge-wrap img {
243
+ width: 16px;
244
+ height: 16px;
245
+ }
246
+
247
+ .atproto-embed--post .atproto-post__handle,
248
+ .atproto-embed--discussion .atproto-post__handle {
249
+ color: var(--atproto-handle-color);
250
+ font-size: var(--atproto-handle-size);
251
+ white-space: nowrap;
252
+ overflow: hidden;
253
+ text-overflow: ellipsis;
254
+ line-height: 1.2;
255
+ }
256
+
257
+ /* ── Reply context ── */
258
+
259
+ .atproto-embed--post .atproto-post__reply-context,
260
+ .atproto-embed--discussion .atproto-post__reply-context {
261
+ background: var(--neutral-1);
262
+ color: var(--neutral-8);
263
+ border-radius: 8px;
264
+ padding: 4px 8px;
265
+ font-size: var(--font-caption);
266
+ margin-bottom: 8px;
267
+ display: flex;
268
+ align-items: center;
269
+ gap: 6px;
270
+ width: fit-content;
271
+ }
272
+
273
+ .atproto-embed--post .atproto-post__reply-context img,
274
+ .atproto-embed--discussion .atproto-post__reply-context img {
275
+ width: 14px;
276
+ height: 14px;
277
+ flex-shrink: 0;
278
+ }
279
+
280
+ /* ── Post text ── */
281
+
282
+ .atproto-embed--post .atproto-post__text,
283
+ .atproto-embed--discussion .atproto-post__text {
284
+ color: var(--atproto-text-color);
285
+ font-size: var(--atproto-text-size);
286
+ line-height: var(--atproto-text-line-height);
287
+ margin-bottom: 12px;
288
+ white-space: pre-wrap;
289
+ word-wrap: break-word;
290
+ overflow-wrap: break-word;
291
+ }
292
+
293
+ .atproto-embed--post .atproto-post__paragraph:not(:last-child),
294
+ .atproto-embed--discussion .atproto-post__paragraph:not(:last-child) {
295
+ margin-bottom: 8px;
296
+ }
297
+
298
+ .atproto-embed--post .atproto-post__mention,
299
+ .atproto-embed--discussion .atproto-post__mention {
300
+ color: var(--atproto-mention-color);
301
+ font-weight: 600;
302
+ text-decoration: none;
303
+ }
304
+
305
+ .atproto-embed--post .atproto-post__hashtag,
306
+ .atproto-embed--discussion .atproto-post__hashtag {
307
+ color: var(--atproto-hashtag-color);
308
+ font-weight: 600;
309
+ text-decoration: none;
310
+ }
311
+
312
+ .atproto-embed--post .atproto-post__link,
313
+ .atproto-embed--discussion .atproto-post__link {
314
+ color: var(--atproto-link-color);
315
+ font-weight: 600;
316
+ text-decoration: var(--atproto-link-decoration);
317
+ }
318
+
319
+ /* ── Shared hover effects ── */
320
+
321
+ @media (hover: hover) {
322
+
323
+ .atproto-embed--post .atproto-post__mention:hover,
324
+ .atproto-embed--discussion .atproto-post__mention:hover,
325
+ .atproto-embed--post .atproto-post__hashtag:hover,
326
+ .atproto-embed--discussion .atproto-post__hashtag:hover,
327
+ .atproto-embed--post .atproto-post__link:hover,
328
+ .atproto-embed--discussion .atproto-post__link:hover {
329
+ text-decoration: underline;
330
+ }
331
+
332
+ .atproto-embed--post .atproto-post__timestamp:hover,
333
+ .atproto-embed--discussion .atproto-post__timestamp:hover {
334
+ text-decoration: underline;
335
+ }
336
+
337
+ .atproto-embed--post .atproto-post__via a:hover,
338
+ .atproto-embed--discussion .atproto-post__via a:hover {
339
+ text-decoration: underline;
340
+ }
341
+ }
342
+
343
+ /* ── Embed wrapper ── */
344
+
345
+ .atproto-embed--post .atproto-post__embed,
346
+ .atproto-embed--discussion .atproto-post__embed {
347
+ margin-top: 12px;
348
+ }
349
+
350
+ .atproto-embed--post .atproto-post__embed>*:not(:first-child),
351
+ .atproto-embed--discussion .atproto-post__embed>*:not(:first-child) {
352
+ margin-top: 12px;
353
+ }
354
+
355
+ /* ── Images ── */
356
+
357
+ .atproto-embed--post .atproto-embed__images,
358
+ .atproto-embed--discussion .atproto-embed__images {
359
+ display: grid;
360
+ gap: var(--atproto-image-gap);
361
+ border-radius: var(--atproto-image-radius);
362
+ overflow: hidden;
363
+ max-height: 530px;
364
+ }
365
+
366
+ .atproto-embed--post .atproto-embed__images--1,
367
+ .atproto-embed--discussion .atproto-embed__images--1 {
368
+ grid-template-columns: 1fr;
369
+ }
370
+
371
+ .atproto-embed--post .atproto-embed__images--2,
372
+ .atproto-embed--discussion .atproto-embed__images--2 {
373
+ grid-template-columns: 1fr 1fr;
374
+ height: 320px;
375
+ }
376
+
377
+ .atproto-embed--post .atproto-embed__images--3,
378
+ .atproto-embed--discussion .atproto-embed__images--3 {
379
+ grid-template-columns: 1fr 1fr;
380
+ grid-template-rows: 1fr 1fr;
381
+ height: 320px;
382
+ }
383
+
384
+ .atproto-embed--post .atproto-embed__images--3 .atproto-embed__image-link:first-child,
385
+ .atproto-embed--discussion .atproto-embed__images--3 .atproto-embed__image-link:first-child {
386
+ grid-row: 1 / -1;
387
+ }
388
+
389
+ .atproto-embed--post .atproto-embed__images--4,
390
+ .atproto-embed--discussion .atproto-embed__images--4 {
391
+ grid-template-columns: 1fr 1fr;
392
+ grid-template-rows: 1fr 1fr;
393
+ height: 400px;
394
+ }
395
+
396
+ .atproto-embed--post .atproto-embed__image-link,
397
+ .atproto-embed--discussion .atproto-embed__image-link {
398
+ display: block;
399
+ width: 100%;
400
+ height: 100%;
401
+ overflow: hidden;
402
+ }
403
+
404
+ .atproto-embed--post .atproto-embed__images img,
405
+ .atproto-embed--discussion .atproto-embed__images img {
406
+ width: 100%;
407
+ height: 100%;
408
+ display: block;
409
+ object-fit: cover;
410
+ transition: opacity 0.2s, transform 0.3s ease-out;
411
+ }
412
+
413
+ .atproto-embed--post .atproto-embed__image-link:hover img,
414
+ .atproto-embed--discussion .atproto-embed__image-link:hover img {
415
+ opacity: 0.9;
416
+ transform: scale(1.02);
417
+ }
418
+
419
+ .atproto-embed--post .atproto-embed__images--1 img,
420
+ .atproto-embed--discussion .atproto-embed__images--1 img {
421
+ max-height: 530px;
422
+ object-fit: contain;
423
+ object-position: center;
424
+ background: var(--neutral-1);
425
+ border: 2px solid var(--neutral-2);
426
+ border-radius: 16px;
427
+ }
428
+
429
+ .atproto-embed--post .atproto-embed__images--2 img,
430
+ .atproto-embed--post .atproto-embed__images--3 img,
431
+ .atproto-embed--post .atproto-embed__images--4 img,
432
+ .atproto-embed--discussion .atproto-embed__images--2 img,
433
+ .atproto-embed--discussion .atproto-embed__images--3 img,
434
+ .atproto-embed--discussion .atproto-embed__images--4 img {
435
+ height: 100%;
436
+ }
437
+
438
+ /* ── Video ── */
439
+
440
+ .atproto-embed--post .atproto-embed__video,
441
+ .atproto-embed--discussion .atproto-embed__video {
442
+ border-radius: var(--atproto-video-radius);
443
+ overflow: hidden;
444
+ background: #000;
445
+ }
446
+
447
+ .atproto-embed--post .atproto-embed__video video,
448
+ .atproto-embed--post .atproto-embed__video iframe,
449
+ .atproto-embed--discussion .atproto-embed__video video,
450
+ .atproto-embed--discussion .atproto-embed__video iframe {
451
+ width: 100%;
452
+ max-height: 530px;
453
+ display: block;
454
+ border: none;
455
+ }
456
+
457
+ /* ── GIF ── */
458
+
459
+ .atproto-embed--post .atproto-embed__gif,
460
+ .atproto-embed--discussion .atproto-embed__gif {
461
+ display: block;
462
+ border-radius: var(--atproto-image-radius);
463
+ overflow: hidden;
464
+ text-decoration: none;
465
+ }
466
+
467
+ .atproto-embed--post .atproto-embed__gif-img,
468
+ .atproto-embed--discussion .atproto-embed__gif-img {
469
+ width: 100%;
470
+ max-height: 400px;
471
+ display: block;
472
+ object-fit: contain;
473
+ object-position: center;
474
+ background: var(--neutral-0);
475
+ }
476
+
477
+ /* ── External link card ── */
478
+
479
+ .atproto-embed--post .atproto-embed__external,
480
+ .atproto-embed--discussion .atproto-embed__external {
481
+ border-radius: 16px;
482
+ overflow: hidden;
483
+ text-decoration: none;
484
+ display: block;
485
+ color: inherit;
486
+ transition: box-shadow 0.18s, border-color 0.18s;
487
+ }
488
+
489
+ .atproto-embed--post .atproto-embed__external:hover,
490
+ .atproto-embed--discussion .atproto-embed__external:hover {
491
+ box-shadow: 0 3px 12px rgba(0, 0, 0, 0.1);
492
+ }
493
+
494
+ .atproto-embed--post .atproto-embed__external-thumb,
495
+ .atproto-embed--discussion .atproto-embed__external-thumb {
496
+ width: 100%;
497
+ height: auto;
498
+ aspect-ratio: var(--atproto-external-thumb-ratio);
499
+ object-fit: cover;
500
+ object-position: center;
501
+ display: block;
502
+ background: var(--neutral-0);
503
+ }
504
+
505
+ .atproto-embed--post .atproto-embed__external-content,
506
+ .atproto-embed--discussion .atproto-embed__external-content {
507
+ padding: 16px;
508
+ background: var(--atproto-card-bg);
509
+ }
510
+
511
+
512
+ .atproto-embed--post .atproto-embed__external--horizontal,
513
+ .atproto-embed--discussion .atproto-embed__external--horizontal {
514
+ display: flex;
515
+ align-items: stretch;
516
+ }
517
+
518
+ .atproto-embed--post .atproto-embed__external--horizontal .atproto-embed__external-thumb,
519
+ .atproto-embed--discussion .atproto-embed__external--horizontal .atproto-embed__external-thumb {
520
+ width: 38%;
521
+ max-width: 220px;
522
+ flex: 0 0 auto;
523
+ }
524
+
525
+ @media (max-width: 520px) {
526
+
527
+ .atproto-embed--post .atproto-embed__external--horizontal,
528
+ .atproto-embed--discussion .atproto-embed__external--horizontal {
529
+ display: block;
530
+ }
531
+
532
+ .atproto-embed--post .atproto-embed__external--horizontal .atproto-embed__external-thumb,
533
+ .atproto-embed--discussion .atproto-embed__external--horizontal .atproto-embed__external-thumb {
534
+ width: 100%;
535
+ max-width: none;
536
+ }
537
+ }
538
+
539
+ .atproto-embed--post .atproto-embed__external-title,
540
+ .atproto-embed--discussion .atproto-embed__external-title {
541
+ color: var(--atproto-card-title-color);
542
+ font-size: var(--atproto-card-title-size);
543
+ line-height: 1.4;
544
+ font-weight: 600;
545
+ margin-bottom: 2px;
546
+ display: -webkit-box;
547
+ -webkit-line-clamp: 2;
548
+ line-clamp: 2;
549
+ -webkit-box-orient: vertical;
550
+ overflow: hidden;
551
+ }
552
+
553
+ .atproto-embed--post .atproto-embed__external-desc,
554
+ .atproto-embed--discussion .atproto-embed__external-desc {
555
+ color: var(--atproto-card-desc-color);
556
+ font-size: var(--atproto-card-desc-size);
557
+ display: -webkit-box;
558
+ -webkit-line-clamp: 3;
559
+ line-clamp: 3;
560
+ -webkit-box-orient: vertical;
561
+ overflow: hidden;
562
+ margin-bottom: 8px;
563
+ line-height: 1.5;
564
+ }
565
+
566
+ .atproto-embed--post .atproto-embed__external-domain,
567
+ .atproto-embed--discussion .atproto-embed__external-domain {
568
+ color: var(--atproto-card-domain-color);
569
+ font-size: var(--atproto-card-domain-size);
570
+ font-weight: 600;
571
+ }
572
+
573
+ /* ── Quote post ── */
574
+
575
+ .atproto-embed--post .atproto-embed__quote,
576
+ .atproto-embed--discussion .atproto-embed__quote {
577
+ border: 2px solid var(--atproto-quote-border-color);
578
+ border-radius: 16px;
579
+ padding: 16px;
580
+ background: var(--atproto-quote-bg);
581
+ }
582
+
583
+ .atproto-embed--post .atproto-embed__quote .atproto-post,
584
+ .atproto-embed--discussion .atproto-embed__quote .atproto-post {
585
+ border: none;
586
+ padding: 0;
587
+ background: transparent;
588
+ box-shadow: none;
589
+ }
590
+
591
+ /* ── Footer / Metrics ── */
592
+
593
+ .atproto-embed--post .atproto-post__footer,
594
+ .atproto-embed--discussion .atproto-post__footer {
595
+ margin-top: 16px;
596
+ }
597
+
598
+ .atproto-embed--post .atproto-post__metrics-row,
599
+ .atproto-embed--post .atproto-post__info-row,
600
+ .atproto-embed--discussion .atproto-post__metrics-row,
601
+ .atproto-embed--discussion .atproto-post__info-row {
602
+ display: flex;
603
+ align-items: center;
604
+ justify-content: space-between;
605
+ gap: 12px;
606
+ }
607
+
608
+ .atproto-embed--post .atproto-post__info-row {
609
+ padding-top: 12px;
610
+ margin-top: 12px;
611
+ border-top: 1px dashed var(--neutral-3);
612
+ }
613
+
614
+ .atproto-embed--post .atproto-post__metrics-left,
615
+ .atproto-embed--post .atproto-post__metrics-right,
616
+ .atproto-embed--discussion .atproto-post__metrics-left,
617
+ .atproto-embed--discussion .atproto-post__metrics-right {
618
+ display: flex;
619
+ align-items: center;
620
+ gap: 16px;
621
+ }
622
+
623
+ .atproto-embed--post .atproto-post__stat--likes,
624
+ .atproto-embed--post .atproto-post__stat--reposts,
625
+ .atproto-embed--post .atproto-post__stat--replies,
626
+ .atproto-embed--post .atproto-post__stat--quotes,
627
+ .atproto-embed--post .atproto-post__stat--bookmarks,
628
+ .atproto-embed--discussion .atproto-post__stat--likes,
629
+ .atproto-embed--discussion .atproto-post__stat--reposts,
630
+ .atproto-embed--discussion .atproto-post__stat--replies,
631
+ .atproto-embed--discussion .atproto-post__stat--quotes,
632
+ .atproto-embed--discussion .atproto-post__stat--bookmarks {
633
+ display: flex;
634
+ align-items: center;
635
+ gap: 4px;
636
+ color: var(--atproto-stat-color);
637
+ font-size: var(--atproto-stat-size);
638
+ font-weight: 500;
639
+ }
640
+
641
+ .atproto-embed--post .atproto-post__stat--quotes,
642
+ .atproto-embed--discussion .atproto-post__stat--quotes {
643
+ text-decoration: none;
644
+ }
645
+
646
+ .atproto-embed--post .atproto-post__metrics-row img,
647
+ .atproto-embed--discussion .atproto-post__metrics-row img {
648
+ width: 18px;
649
+ height: 18px;
650
+ }
651
+
652
+ .atproto-embed--post .atproto-post__timestamp,
653
+ .atproto-embed--discussion .atproto-post__timestamp {
654
+ color: var(--atproto-timestamp-color);
655
+ font-size: var(--atproto-timestamp-size);
656
+ text-decoration: none;
657
+ font-weight: 500;
658
+ }
659
+
660
+ .atproto-embed--post .atproto-post__via,
661
+ .atproto-embed--discussion .atproto-post__via {
662
+ font-size: var(--atproto-via-size);
663
+ color: var(--atproto-handle-color);
664
+ }
665
+
666
+ .atproto-embed--post .atproto-post__via a,
667
+ .atproto-embed--discussion .atproto-post__via a {
668
+ color: var(--atproto-via-color);
669
+ text-decoration: none;
670
+ font-weight: 600;
671
+ }
672
+
673
+ /* ── Label ── */
674
+
675
+ .atproto-embed--post .atproto-post__label,
676
+ .atproto-embed--discussion .atproto-post__label {
677
+ background: var(--atproto-label-bg);
678
+ color: var(--atproto-label-color);
679
+ border: 1px solid var(--atproto-label-border-color);
680
+ border-radius: 100px;
681
+ padding: 4px 12px;
682
+ font-size: var(--font-label);
683
+ margin-top: 12px;
684
+ font-weight: 500;
685
+ width: fit-content;
686
+ }
687
+
688
+ /* ── Loading / Error ── */
689
+
690
+ .atproto-embed--post .atproto-embed--loading,
691
+ .atproto-embed--discussion .atproto-embed--loading {
692
+ display: flex;
693
+ flex-direction: column;
694
+ align-items: center;
695
+ justify-content: center;
696
+ gap: 12px;
697
+ padding: 40px 32px;
698
+ color: var(--atproto-handle-color);
699
+ font-size: 14px;
700
+ font-weight: 500;
701
+ text-align: center;
702
+ }
703
+
704
+ .atproto-embed--post .atproto-spinner,
705
+ .atproto-embed--discussion .atproto-spinner {
706
+ width: 24px;
707
+ height: 24px;
708
+ animation: atproto-spin 1s linear infinite;
709
+ opacity: 0.6;
710
+ }
711
+
712
+ @keyframes atproto-spin {
713
+ 100% {
714
+ transform: rotate(360deg);
715
+ }
716
+ }
717
+
718
+ .atproto-embed--post .atproto-embed--error,
719
+ .atproto-embed--discussion .atproto-embed--error {
720
+ display: flex;
721
+ align-items: center;
722
+ justify-content: center;
723
+ padding: 24px;
724
+ color: #cf222e;
725
+ font-size: 14px;
726
+ border: 1px solid #fdd;
727
+ border-radius: var(--atproto-border-radius);
728
+ background: #fff5f5;
729
+ text-align: center;
730
+ white-space: nowrap;
731
+ }
732
+
733
+ /* ── Action buttons (shared) ── */
734
+
735
+ .atproto-embed--post .atproto-post__actions,
736
+ .atproto-embed--discussion .atproto-post__actions {
737
+ display: flex;
738
+ gap: 10px;
739
+ margin-top: 16px;
740
+ }
741
+
742
+ .atproto-embed--post .atproto-post__action,
743
+ .atproto-embed--discussion .atproto-post__action {
744
+ display: inline-flex;
745
+ align-items: center;
746
+ justify-content: center;
747
+ padding: 10px 20px;
748
+ border-radius: 100px;
749
+ font-size: var(--atproto-action-size);
750
+ font-weight: 600;
751
+ font-family: var(--atproto-font-family);
752
+ text-decoration: none;
753
+ transition: background 0.15s, box-shadow 0.15s, opacity 0.15s;
754
+ cursor: pointer;
755
+ border: none;
756
+ line-height: 1;
757
+ letter-spacing: -0.01em;
758
+ white-space: nowrap;
759
+ }
760
+
761
+ .atproto-embed--post .atproto-post__action--primary,
762
+ .atproto-embed--discussion .atproto-post__action--primary {
763
+ background: var(--primary-base);
764
+ color: var(--primary-light);
765
+ }
766
+
767
+ .atproto-embed--post .atproto-post__action--primary:hover,
768
+ .atproto-embed--discussion .atproto-post__action--primary:hover {
769
+ background: var(--primary-hover);
770
+ }
771
+
772
+ .atproto-embed--post .atproto-post__action--secondary,
773
+ .atproto-embed--discussion .atproto-post__action--secondary {
774
+ background: var(--neutral-2);
775
+ color: var(--neutral-11);
776
+ }
777
+
778
+ .atproto-embed--post .atproto-post__action--secondary:hover,
779
+ .atproto-embed--discussion .atproto-post__action--secondary:hover {
780
+ background: var(--neutral-4);
781
+ }
782
+
783
+ /* ════════════════════════════════════════
784
+ POST-SPECIFIC styles
785
+ ════════════════════════════════════════ */
786
+
787
+ .atproto-embed--post .atproto-post__avatar {
788
+ width: 42px;
789
+ height: 42px;
790
+ border-radius: 50%;
791
+ object-fit: cover;
792
+ flex-shrink: 0;
793
+ border: none;
794
+ }
795
+
796
+ .atproto-embed--post .atproto-post__header-main-link:hover .atproto-post__display-name {
797
+ text-decoration: none;
798
+ }
799
+
800
+ /* post actions full-width */
801
+ .atproto-embed--post .atproto-post__actions {
802
+ justify-content: space-between;
803
+ }
804
+
805
+ .atproto-embed--post .atproto-post__action {
806
+ width: 100%;
807
+ }
808
+
809
+ /* ════════════════════════════════════════
810
+ DISCUSSION-SPECIFIC styles
811
+ ════════════════════════════════════════ */
812
+
813
+ .atproto-embed--discussion .atproto-post__avatar {
814
+ width: var(--atproto-avatar-size);
815
+ height: var(--atproto-avatar-size);
816
+ border-radius: var(--atproto-avatar-radius);
817
+ object-fit: cover;
818
+ flex-shrink: 0;
819
+ border: none;
820
+ }
821
+
822
+ @media (hover: hover) {
823
+ .atproto-embed--discussion .atproto-post__header-main-link:hover .atproto-post__display-name {
824
+ text-decoration: underline;
825
+ }
826
+
827
+ .atproto-embed--discussion .atproto-post__header-right:hover {
828
+ text-decoration: underline;
829
+ }
830
+ }
831
+
832
+ /* Compact header for replies/quotes */
833
+ .atproto-embed--discussion .atproto-post--compact .atproto-post__header {
834
+ gap: 10px;
835
+ }
836
+
837
+ .atproto-embed--discussion .atproto-post--compact .atproto-post__author-simple {
838
+ display: none;
839
+ }
840
+
841
+ .atproto-embed--discussion .atproto-post--compact .atproto-post__avatar {
842
+ width: 24px;
843
+ height: 24px;
844
+ }
845
+
846
+ .atproto-embed--discussion .atproto-post--compact .atproto-post__author-inline {
847
+ display: inline-flex;
848
+ align-items: center;
849
+ gap: 2px;
850
+ min-width: 0;
851
+ max-width: 100%;
852
+ }
853
+
854
+ .atproto-embed--discussion .atproto-post--compact .atproto-post__display-name {
855
+ white-space: nowrap;
856
+ overflow: hidden;
857
+ text-overflow: ellipsis;
858
+ max-width: 100%;
859
+ }
860
+
861
+ .atproto-embed--discussion .atproto-post--compact .atproto-post__handle {
862
+ white-space: nowrap;
863
+ overflow: hidden;
864
+ text-overflow: ellipsis;
865
+ max-width: 80%;
866
+ line-height: 1.2;
867
+ }
868
+
869
+ .atproto-embed--discussion .atproto-post--compact .atproto-post__header-main {
870
+ min-width: 0;
871
+ max-width: 100%;
872
+ }
873
+
874
+ .atproto-embed--discussion .atproto-post--compact .atproto-post__header-main-link {
875
+ max-width: calc(100% - 48px);
876
+ }
877
+
878
+ .atproto-embed--discussion .atproto-post--compact .atproto-post__text {
879
+ font-size: var(--font-body);
880
+ }
881
+
882
+ .atproto-embed--discussion .atproto-post--compact .atproto-post__text:last-child {
883
+ margin-bottom: 0;
884
+ }
885
+
886
+ .atproto-embed--discussion .atproto-post__badges-inline {
887
+ display: inline-flex;
888
+ align-items: center;
889
+ gap: 4px;
890
+ }
891
+
892
+ /* Header right (relative timestamp for replies/quotes) */
893
+ .atproto-embed--discussion .atproto-post__header-right {
894
+ margin-left: auto;
895
+ color: var(--atproto-timestamp-color);
896
+ font-size: var(--font-caption);
897
+ text-decoration: none;
898
+ font-weight: 500;
899
+ white-space: nowrap;
900
+ }
901
+
902
+ /* Discussion wrapper */
903
+ .atproto-embed--discussion .atproto-discussion {
904
+ background: var(--atproto-bg);
905
+ border: 1px solid var(--neutral-3);
906
+ border-radius: 20px;
907
+ overflow: hidden;
908
+ box-shadow: 0 0 0 3px var(--neutral-1);
909
+ }
910
+
911
+ /* Main post inside discussion — matches post embed style */
912
+ .atproto-embed--discussion .atproto-discussion>.atproto-post.atproto-post--main {
913
+ border: none;
914
+ border-bottom: 2px solid var(--atproto-border-color);
915
+ border-radius: 0;
916
+ box-shadow: none;
917
+ padding: 16px;
918
+ }
919
+
920
+ .atproto-embed--discussion .atproto-post--main .atproto-post__header {
921
+ gap: 8px;
922
+ margin-bottom: 8px;
923
+ }
924
+
925
+ .atproto-embed--discussion .atproto-post--main .atproto-post__avatar {
926
+ border: none;
927
+ }
928
+
929
+ .atproto-embed--discussion .atproto-post--main .atproto-post__metrics-row {
930
+ padding-bottom: 12px;
931
+ margin-bottom: 12px;
932
+ border-bottom: 1px dashed var(--neutral-3);
933
+ }
934
+
935
+ .atproto-embed--discussion .atproto-post--main .atproto-post__footer {
936
+ margin-top: 16px;
937
+ padding-top: 0;
938
+ border-top: 0;
939
+ }
940
+
941
+ .atproto-embed--discussion .atproto-post--main .atproto-post__metrics-row img {
942
+ width: 18px;
943
+ height: 18px;
944
+ opacity: 1;
945
+ }
946
+
947
+ /* Simple metrics for replies/quotes */
948
+ .atproto-embed--discussion .atproto-post__metrics-row--simple {
949
+ padding-bottom: 0;
950
+ margin-bottom: 0;
951
+ border-bottom: 0;
952
+ font-size: var(--font-caption);
953
+ color: var(--atproto-stat-color);
954
+ }
955
+
956
+ .atproto-embed--discussion .atproto-post__stat-text {
957
+ color: var(--atproto-stat-color);
958
+ font-weight: 600;
959
+ font-size: var(--font-caption);
960
+ }
961
+
962
+ .atproto-embed--discussion .atproto-post__stat-link {
963
+ color: var(--atproto-via-color);
964
+ font-weight: 600;
965
+ text-decoration: none;
966
+ font-size: var(--font-caption);
967
+ }
968
+
969
+ /* Replies toggle */
970
+ .atproto-embed--discussion .atproto-replies-toggle {
971
+ margin-top: 10px;
972
+ }
973
+
974
+ .atproto-embed--discussion .atproto-replies-toggle__btn {
975
+ display: inline-flex;
976
+ align-items: center;
977
+ gap: 6px;
978
+ padding: 0;
979
+ border: none;
980
+ background: transparent;
981
+ color: var(--atproto-via-color);
982
+ font-size: var(--font-caption);
983
+ font-weight: 600;
984
+ cursor: pointer;
985
+ }
986
+
987
+ @media (hover: hover) {
988
+
989
+ .atproto-embed--discussion .atproto-post__stat-link:hover,
990
+ .atproto-embed--discussion .atproto-replies-toggle__btn:hover {
991
+ text-decoration: underline;
992
+ }
993
+ }
994
+
995
+ .atproto-embed--discussion .atproto-replies-toggle__icon {
996
+ width: 12px;
997
+ height: 12px;
998
+ flex-shrink: 0;
999
+ }
1000
+
1001
+ /* no-embed variant (tighter spacing) */
1002
+ .atproto-embed--discussion .atproto-post--no-embed .atproto-post__text {
1003
+ margin-bottom: 12px;
1004
+ }
1005
+
1006
+ .atproto-embed--discussion .atproto-post--no-embed.atproto-post--no-footer .atproto-post__text,
1007
+ .atproto-embed--post .atproto-post--no-embed.atproto-post--no-footer .atproto-post__text {
1008
+ margin-bottom: 0;
1009
+ }
1010
+
1011
+ .atproto-embed--discussion .atproto-post--no-embed .atproto-post__footer {
1012
+ margin-top: 8px;
1013
+ }
1014
+
1015
+ /* ── Liked by ── */
1016
+
1017
+ .atproto-embed--discussion .atproto-discussion__liked-by {
1018
+ padding: 0 16px 24px;
1019
+ background: var(--neutral-0);
1020
+ }
1021
+
1022
+ .atproto-embed--discussion .atproto-liked-by__label {
1023
+ color: var(--neutral-8);
1024
+ font-size: var(--font-tagline);
1025
+ font-weight: 600;
1026
+ margin-bottom: 10px;
1027
+ }
1028
+
1029
+ .atproto-embed--discussion .atproto-liked-by__avatars {
1030
+ display: grid;
1031
+ align-items: center;
1032
+ gap: var(--atproto-liked-by-avatar-gap);
1033
+ grid-template-columns: repeat(auto-fill,
1034
+ minmax(var(--atproto-liked-by-avatar-size), 1fr));
1035
+ }
1036
+
1037
+ .atproto-embed--discussion .atproto-liked-by__avatars a {
1038
+ display: block;
1039
+ justify-self: center;
1040
+ border-radius: 50%;
1041
+ transition: transform 0.15s;
1042
+ }
1043
+
1044
+ .atproto-embed--discussion .atproto-liked-by__avatars a:hover {
1045
+ transform: scale(1.12);
1046
+ z-index: 1;
1047
+ position: relative;
1048
+ }
1049
+
1050
+ .atproto-embed--discussion .atproto-liked-by__avatars img {
1051
+ width: var(--atproto-liked-by-avatar-size);
1052
+ height: var(--atproto-liked-by-avatar-size);
1053
+ border-radius: 50%;
1054
+ object-fit: cover;
1055
+ display: block;
1056
+ box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.08);
1057
+ }
1058
+
1059
+ .atproto-embed--discussion .atproto-liked-by__overflow {
1060
+ display: inline-flex;
1061
+ align-items: center;
1062
+ justify-content: center;
1063
+ min-width: var(--atproto-liked-by-avatar-size);
1064
+ height: var(--atproto-liked-by-avatar-size);
1065
+ border-radius: 50%;
1066
+ background: var(--neutral-1);
1067
+ color: var(--neutral-11);
1068
+ font-size: var(--font-tagline);
1069
+ font-weight: 700;
1070
+ padding: 0 6px;
1071
+ border: 2px solid var(--neutral-0);
1072
+ box-shadow: 0 0 0 1px var(--neutral-3);
1073
+ width: fit-content;
1074
+ justify-self: start;
1075
+ }
1076
+
1077
+ .atproto-embed--discussion .atproto-liked-by__overflow--pill {
1078
+ border-radius: 10px;
1079
+ min-width: auto;
1080
+ padding: 0 10px;
1081
+ }
1082
+
1083
+ /* ── Join button bar ── */
1084
+
1085
+ .atproto-embed--discussion .atproto-discussion__join {
1086
+ display: flex;
1087
+ justify-content: center;
1088
+ padding: 20px;
1089
+ border-bottom: 1px solid var(--neutral-2);
1090
+ background: var(--atproto-bg);
1091
+ }
1092
+
1093
+ .atproto-embed--discussion .atproto-discussion__join .atproto-post__action {
1094
+ width: 100%;
1095
+ }
1096
+
1097
+ /* Comments header */
1098
+ .atproto-embed--discussion .atproto-discussion__comments-bar {
1099
+ display: flex;
1100
+ align-items: center;
1101
+ justify-content: space-between;
1102
+ gap: 12px;
1103
+ padding: 20px 16px 12px;
1104
+ background: var(--atproto-bg);
1105
+ }
1106
+
1107
+ .atproto-embed--discussion .atproto-discussion__comments-title {
1108
+ font-size: var(--font-heading4);
1109
+ font-weight: 600;
1110
+ color: var(--neutral-10);
1111
+ }
1112
+
1113
+ .atproto-embed--discussion .atproto-discussion__comments-bar .atproto-post__action {
1114
+ width: auto;
1115
+ padding: 8px 16px;
1116
+ }
1117
+
1118
+ @media (max-width: 768px) {
1119
+
1120
+ .atproto-embed--post .atproto-post__action,
1121
+ .atproto-embed--discussion .atproto-post__action,
1122
+ .atproto-embed--discussion .atproto-discussion__comments-bar .atproto-post__action {
1123
+ font-size: var(--font-caption);
1124
+ }
1125
+ }
1126
+
1127
+ /* ── Tabs ── */
1128
+
1129
+ .atproto-embed--discussion .atproto-discussion__tabs {
1130
+ display: flex;
1131
+ flex-direction: column;
1132
+ }
1133
+
1134
+ .atproto-embed--discussion .atproto-discussion__tab-bar {
1135
+ display: flex;
1136
+ align-items: center;
1137
+ justify-content: flex-start;
1138
+ gap: 0;
1139
+ background: var(--neutral-1);
1140
+ border-bottom: 2px solid var(--neutral-2);
1141
+ border-top: 2px solid var(--neutral-2);
1142
+ padding: 8px 16px;
1143
+ }
1144
+
1145
+ .atproto-embed--discussion .atproto-discussion__tab-bar button {
1146
+ padding: 6px 12px;
1147
+ background: transparent;
1148
+ cursor: pointer;
1149
+ font-size: var(--font-caption);
1150
+ font-weight: 600;
1151
+ color: var(--neutral-7);
1152
+ border: 2px solid transparent;
1153
+ transition: color 0.15s, border-color 0.15s;
1154
+ border-radius: 100px;
1155
+ width: fit-content;
1156
+ white-space: nowrap;
1157
+ }
1158
+
1159
+ .atproto-embed--discussion .atproto-discussion__tab-bar button[aria-selected="true"] {
1160
+ color: var(--neutral-11);
1161
+ background: var(--neutral-0);
1162
+ border-color: var(--neutral-2);
1163
+ }
1164
+
1165
+ .atproto-embed--discussion .atproto-discussion__tab-bar button:hover:not([aria-selected="true"]) {
1166
+ color: var(--neutral-10);
1167
+ }
1168
+
1169
+ .atproto-embed--discussion .atproto-discussion__sort-bar {
1170
+ display: flex;
1171
+ align-items: center;
1172
+ justify-content: flex-end;
1173
+ padding: 8px 12px;
1174
+ background: var(--atproto-bg);
1175
+ border-bottom: 2px solid var(--neutral-1);
1176
+ font-size: var(--font-caption);
1177
+ color: var(--neutral-7);
1178
+ }
1179
+
1180
+ .atproto-embed--discussion .atproto-discussion__sort-select {
1181
+ padding: 8px 4px;
1182
+ border-radius: 8px;
1183
+ border: none;
1184
+ background: transparent;
1185
+ font-size: var(--font-caption);
1186
+ font-weight: 600;
1187
+ color: var(--neutral-9);
1188
+ cursor: pointer;
1189
+ transition: var(--transition);
1190
+ outline: 1px solid transparent;
1191
+ width: 100%;
1192
+ }
1193
+
1194
+ .atproto-embed--discussion .atproto-discussion__sort-select:hover,
1195
+ .atproto-embed--discussion .atproto-discussion__sort-select:focus {
1196
+ outline: 1px solid var(--neutral-4);
1197
+ }
1198
+
1199
+ .atproto-embed--discussion .atproto-discussion__tab-content {
1200
+ min-height: 60px;
1201
+ }
1202
+
1203
+ /* ── Replies / Quotes panels ── */
1204
+
1205
+ .atproto-embed--discussion .atproto-replies,
1206
+ .atproto-embed--discussion .atproto-quotes {
1207
+ padding: 0;
1208
+ content-visibility: auto;
1209
+ contain-intrinsic-size: 1px 600px;
1210
+ }
1211
+
1212
+ .atproto-embed--discussion .atproto-quotes>.atproto-post {
1213
+ border: none;
1214
+ border-radius: 0;
1215
+ border-bottom: 2px solid var(--atproto-border-color);
1216
+ box-shadow: none;
1217
+ padding: 16px;
1218
+ }
1219
+
1220
+ .atproto-embed--discussion .atproto-quotes>.atproto-post:last-child {
1221
+ border-bottom: none;
1222
+ }
1223
+
1224
+ /* ── Reply threads (Reddit style) ── */
1225
+
1226
+ .atproto-embed--discussion .atproto-replies {
1227
+ background: var(--atproto-bg);
1228
+ }
1229
+
1230
+ .atproto-embed--discussion .atproto-reply-thread {
1231
+ position: relative;
1232
+ display: flex;
1233
+ flex-direction: column;
1234
+ }
1235
+
1236
+ .atproto-embed--discussion .atproto-reply-thread .atproto-post {
1237
+ border: none !important;
1238
+ border-radius: 0 !important;
1239
+ padding: 16px !important;
1240
+ box-shadow: none !important;
1241
+ background: transparent !important;
1242
+ }
1243
+
1244
+ .atproto-embed--discussion .atproto-reply-children .atproto-post {
1245
+ padding: 12px !important;
1246
+ }
1247
+
1248
+ .atproto-embed--discussion .atproto-reply-children .atproto-post__header {
1249
+ margin-bottom: 6px;
1250
+ }
1251
+
1252
+ .atproto-embed--discussion .atproto-reply-children .atproto-post__embed {
1253
+ margin-top: 8px;
1254
+ }
1255
+
1256
+ .atproto-embed--discussion .atproto-post--compact .atproto-embed__quote {
1257
+ padding: 0;
1258
+ }
1259
+
1260
+ .atproto-embed--discussion .atproto-post--compact .atproto-embed__quote .atproto-post {
1261
+ padding: 10px;
1262
+ }
1263
+
1264
+ /* Hovering thread highlights its left border */
1265
+ .atproto-embed--discussion .atproto-reply-children {
1266
+ margin-left: 18px;
1267
+ border-left: 2px solid var(--neutral-2);
1268
+ padding-left: 10px;
1269
+ transition: border-left-color 0.1s ease;
1270
+ }
1271
+
1272
+ .atproto-embed--discussion .atproto-reply-children:hover {
1273
+ border-left-color: var(--neutral-2);
1274
+ }
1275
+
1276
+ /* Spacing and separators */
1277
+ .atproto-embed--discussion .atproto-replies>.atproto-reply-thread {
1278
+ border-bottom: 2px solid var(--atproto-border-color);
1279
+ }
1280
+
1281
+ .atproto-embed--discussion .atproto-replies>.atproto-reply-thread:last-child {
1282
+ border-bottom: none;
1283
+ }
1284
+
1285
+ .atproto-embed--discussion .atproto-reply-children .atproto-reply-thread {
1286
+ margin-top: 4px;
1287
+ }
1288
+
1289
+ /* data-depth attribute available for targeted tweaks */
1290
+ .atproto-embed--discussion .atproto-reply-thread[data-depth="0"] {
1291
+ margin-top: 0;
1292
+ }
1293
+
1294
+ /* ── Load more ── */
1295
+
1296
+ .atproto-embed--discussion .atproto-load-more {
1297
+ display: flex;
1298
+ justify-content: center;
1299
+ padding: 14px;
1300
+ border-top: 2px solid var(--atproto-border-color);
1301
+ }
1302
+
1303
+ .atproto-embed--discussion .atproto-load-more button {
1304
+ background: var(--atproto-load-more-bg);
1305
+ color: var(--atproto-load-more-color);
1306
+ border: 1px solid var(--atproto-load-more-border-color);
1307
+ border-radius: 100px;
1308
+ padding: 8px 24px;
1309
+ font-size: 13px;
1310
+ font-weight: 600;
1311
+ font-family: var(--atproto-font-family);
1312
+ cursor: pointer;
1313
+ transition: background 0.15s, border-color 0.15s;
1314
+ white-space: nowrap;
1315
+ }
1316
+
1317
+ @media (hover: hover) {
1318
+ .atproto-embed--discussion .atproto-load-more button:hover {
1319
+ background: #f0f5ff;
1320
+ border-color: #b0c8e8;
1321
+ }
1322
+ }
1323
+
1324
+ .atproto-embed--discussion .atproto-load-more button:disabled {
1325
+ opacity: 0.5;
1326
+ cursor: default;
1327
+ }
1328
+
1329
+ /* ── Empty state ── */
1330
+
1331
+ .atproto-embed--discussion .atproto-discussion__empty {
1332
+ padding: 36px 24px;
1333
+ text-align: center;
1334
+ color: var(--atproto-handle-color);
1335
+ font-size: 14px;
1336
+ }
1337
+
1338
+ @media (max-width: 768px) {
1339
+ .atproto-embed--discussion .atproto-discussion__comments-title {
1340
+ font-size: var(--font-heading6);
1341
+ }
1342
+ }
1343
+
1344
+ /* ── Mobile specific adjustments ── */
1345
+
1346
+ @media (max-width: 480px) {
1347
+
1348
+ .atproto-embed--post .atproto-post,
1349
+ .atproto-embed--discussion .atproto-post {
1350
+ padding: 12px;
1351
+ }
1352
+
1353
+ .atproto-embed--post .atproto-post__metrics-left,
1354
+ .atproto-embed--discussion .atproto-post__metrics-left {
1355
+ gap: 12px;
1356
+ }
1357
+
1358
+ .atproto-embed--discussion .atproto-reply-children {
1359
+ margin-left: 8px;
1360
+ padding-left: 6px;
1361
+ }
1362
+
1363
+ .atproto-embed--discussion .atproto-liked-by__avatars {
1364
+ gap: 4px;
1365
+ }
1366
+
1367
+
1368
+ .atproto-embed--discussion .atproto-discussion__sort-bar {
1369
+ justify-content: flex-start;
1370
+ }
1371
+ }