PluginProbe
Friends / 4.3.1
Friends v4.3.1
4.3.2 4.3.1 4.3.0 4.2.2 4.2.1 4.2.0 4.1.0 2.7.4 2.7.5 2.7.6 2.7.7 2.7.8 2.7.9 2.8.0 2.8.1 2.8.2 2.8.3 2.8.4 2.8.5 2.8.6 2.8.7 2.8.8 2.8.9 2.9.0 2.9.1 All 88 releases
friends / templates / twitter / twitter.css

twitter.css in Friends 4.3.1, at templates/twitter/twitter.css

2,507 lines 54.1 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /* Friends Twitter/X Theme */
2
3 /* === Base === */
4 .friends-page {
5 margin: 0;
6 padding: 0;
7 font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
8 font-size: 15px;
9 line-height: 1.5;
10 color-scheme: light dark;
11 color: light-dark(#0f1419, #e7e9ea);
12 background: light-dark(#fff, #000);
13 overflow-wrap: break-word;
14 }
15
16 .friends-page *, .friends-page *::before, .friends-page *::after {
17 box-sizing: border-box;
18 }
19
20 .friends-page a { color: light-dark(#1d9bf0, #1d9bf0); text-decoration: none; }
21 .friends-page a:visited { color: light-dark(#1d9bf0, #1d9bf0); }
22 .friends-page a:hover { text-decoration: underline; }
23 .friends-page img { max-width: 100%; height: auto; }
24 .friends-page h1, .friends-page h2, .friends-page h3, .friends-page h4 { margin: 0; }
25 .friends-page ul, .friends-page ol { margin: 0; padding: 0; }
26 .friends-page p { margin: 0 0 .8em; }
27 .friends-page p:last-child { margin-bottom: 0; }
28 .friends-page code, .friends-page pre { overflow: auto; font-size: 13px; }
29
30 /* === 3-Column Layout === */
31 body.friends-page {
32 display: flex;
33 justify-content: center;
34 min-height: 100vh;
35 padding-top: 32px; /* wp admin bar */
36 }
37
38 /* --- Left column: navigation --- */
39 .twitter-left-col {
40 width: 275px;
41 flex-shrink: 0;
42 padding: 12px;
43 position: sticky;
44 top: 32px;
45 height: calc(100vh - 32px);
46 overflow-y: auto;
47 display: flex;
48 flex-direction: column;
49 }
50
51 /* --- Center column: timeline --- */
52 .twitter-center-col {
53 flex: 1;
54 min-width: 0;
55 max-width: 600px;
56 border-left: 1px solid light-dark(#eff3f4, #2f3336);
57 border-right: 1px solid light-dark(#eff3f4, #2f3336);
58 min-height: calc(100vh - 32px);
59 }
60
61 /* --- Right column: search + sidebar --- */
62 .twitter-right-col {
63 width: 350px;
64 flex-shrink: 0;
65 position: sticky;
66 top: 32px;
67 height: calc(100vh - 32px);
68 overflow-y: auto;
69 padding: 12px 24px;
70 }
71
72 /* Sidebar close button (mobile only) */
73 .twitter-sidebar-close {
74 display: none;
75 position: absolute;
76 top: 10px;
77 right: 12px;
78 font-size: 24px;
79 line-height: 1;
80 color: light-dark(#536471, #71767b);
81 text-decoration: none;
82 z-index: 1;
83 }
84
85 .twitter-sidebar-close:hover {
86 color: light-dark(#0f1419, #e7e9ea);
87 text-decoration: none;
88 }
89
90 /* Mobile overlay */
91 .twitter-overlay { display: none; }
92
93 /* Mobile panel */
94 .twitter-mobile-panel {
95 display: none;
96 border-bottom: 1px solid light-dark(#eff3f4, #2f3336);
97 }
98
99 .twitter-mobile-panel-toggle {
100 display: flex;
101 align-items: center;
102 gap: 8px;
103 padding: 10px 16px;
104 cursor: pointer;
105 color: light-dark(#0f1419, #e7e9ea);
106 font-weight: 700;
107 font-size: 14px;
108 list-style: none;
109 }
110
111 .twitter-mobile-panel-toggle::-webkit-details-marker { display: none; }
112 .twitter-mobile-panel-toggle::marker { display: none; content: ""; }
113
114 .twitter-mobile-panel-toggle img {
115 width: 32px;
116 height: 32px;
117 border-radius: 50%;
118 }
119
120 .twitter-mobile-panel-toggle span {
121 flex: 1;
122 min-width: 0;
123 overflow: hidden;
124 text-overflow: ellipsis;
125 white-space: nowrap;
126 }
127
128 .twitter-mobile-panel-toggle .dashicons {
129 font-size: 18px;
130 width: 18px;
131 height: 18px;
132 transition: transform .2s;
133 color: light-dark(#536471, #71767b);
134 }
135
136 .twitter-mobile-panel[open] > .twitter-mobile-panel-toggle .dashicons {
137 transform: rotate(180deg);
138 }
139
140 .twitter-mobile-panel-content {
141 padding: 0 16px 12px;
142 }
143
144 @media (max-width: 1100px) {
145 .twitter-left-col {
146 width: 88px;
147 }
148 .twitter-left-col .twitter-left-nav .menu-item a span,
149 .twitter-left-col .twitter-left-nav .description,
150 .twitter-left-col .twitter-left-nav p,
151 .twitter-left-col .twitter-left-customize,
152 .twitter-left-col .twitter-user-info {
153 display: none;
154 }
155 .twitter-left-col .twitter-left-nav .menu-item a {
156 justify-content: center;
157 padding: 12px;
158 }
159 }
160
161 @media (max-width: 1000px) {
162 .twitter-right-col {
163 display: none;
164 }
165 .twitter-mobile-panel {
166 display: block;
167 }
168 }
169
170 @media (max-width: 782px) {
171 body.friends-page {
172 padding-top: 46px;
173 }
174 .twitter-left-col {
175 top: 46px;
176 height: calc(100vh - 46px);
177 }
178 .twitter-center-col {
179 min-height: calc(100vh - 46px);
180 }
181 .twitter-right-col {
182 top: 46px;
183 height: calc(100vh - 46px);
184 }
185 .twitter-col-title-row {
186 top: 46px;
187 }
188 }
189
190 @media (max-width: 500px) {
191 body.friends-page {
192 display: block;
193 }
194 .twitter-left-col {
195 display: none;
196 }
197 .twitter-center-col {
198 max-width: 100%;
199 border: none;
200 min-height: 0;
201 }
202 .twitter-right-col {
203 display: none;
204 position: fixed;
205 top: 46px;
206 right: 0;
207 width: 300px;
208 height: calc(100vh - 46px);
209 z-index: 20;
210 background: light-dark(#fff, #000);
211 box-shadow: -4px 0 16px rgba(0,0,0,.2);
212 }
213 .twitter-right-col:target {
214 display: block;
215 }
216 .twitter-sidebar-close {
217 display: block;
218 }
219 .twitter-overlay {
220 display: block;
221 position: fixed;
222 inset: 0;
223 z-index: 15;
224 background: rgba(0,0,0,.4);
225 opacity: 0;
226 pointer-events: none;
227 }
228 .twitter-right-col:target ~ .twitter-overlay {
229 opacity: 1;
230 pointer-events: auto;
231 }
232 }
233
234 /* === Left Column === */
235 .twitter-logo {
236 padding: 8px 12px 16px;
237 }
238
239 .twitter-logo a {
240 color: #1d9bf0;
241 font-size: 22px;
242 font-weight: 800;
243 letter-spacing: -.5px;
244 text-decoration: none;
245 }
246
247 .twitter-logo a:hover {
248 text-decoration: none;
249 }
250
251 .twitter-left-nav {
252 flex: 1;
253 padding: 4px 0;
254 }
255
256 .twitter-left-customize {
257 padding: 8px 12px;
258 font-size: 12px;
259 }
260
261 .twitter-left-customize a {
262 color: light-dark(#536471, #71767b);
263 font-size: 12px;
264 }
265
266 .twitter-user-card {
267 display: flex;
268 align-items: center;
269 gap: 12px;
270 padding: 12px;
271 margin-top: 8px;
272 text-decoration: none;
273 border-radius: 9999px;
274 color: light-dark(#0f1419, #e7e9ea);
275 }
276
277 .twitter-user-card:hover { background: light-dark(rgba(15,20,25,.1), rgba(231,233,234,.1)); text-decoration: none; }
278
279 .twitter-user-card .twitter-avatar,
280 .twitter-user-card img {
281 width: 40px;
282 height: 40px;
283 border-radius: 50%;
284 display: block;
285 flex-shrink: 0;
286 }
287
288 .twitter-user-info {
289 display: flex;
290 flex-direction: column;
291 min-width: 0;
292 }
293
294 .twitter-display-name {
295 font-size: 15px;
296 font-weight: 700;
297 color: light-dark(#0f1419, #e7e9ea);
298 white-space: nowrap;
299 overflow: hidden;
300 text-overflow: ellipsis;
301 }
302
303 .twitter-handle {
304 font-size: 13px;
305 color: light-dark(#536471, #71767b);
306 white-space: nowrap;
307 overflow: hidden;
308 text-overflow: ellipsis;
309 }
310
311 /* Compose box inline (center column, Twitter-style) */
312 .twitter-compose-inline {
313 display: flex;
314 gap: 12px;
315 padding: 12px 16px;
316 border-bottom: 1px solid light-dark(#eff3f4, #2f3336);
317 }
318
319 .twitter-compose-inline .twitter-compose-avatar img {
320 width: 40px;
321 height: 40px;
322 border-radius: 50%;
323 }
324
325 .twitter-compose-inline .twitter-compose-form {
326 flex: 1;
327 background: transparent;
328 border: none;
329 padding: 0;
330 }
331
332 .twitter-compose-form {
333 margin-bottom: 12px;
334 background: light-dark(#fff, #000);
335 border: 1px solid light-dark(#eff3f4, #2f3336);
336 border-radius: 16px;
337 padding: 10px 12px;
338 }
339
340 .twitter-compose-form textarea {
341 width: 100%;
342 background: transparent;
343 border: none;
344 outline: none;
345 resize: none;
346 font-size: 20px;
347 font-family: inherit;
348 color: light-dark(#0f1419, #e7e9ea);
349 min-height: 52px;
350 }
351
352 .twitter-compose-form textarea::placeholder {
353 color: light-dark(#536471, #71767b);
354 font-size: 20px;
355 }
356
357 .twitter-compose-footer {
358 display: flex;
359 align-items: center;
360 justify-content: flex-end;
361 gap: 8px;
362 margin-top: 8px;
363 padding-top: 8px;
364 border-top: 1px solid light-dark(#eff3f4, #2f3336);
365 }
366
367 .twitter-compose-settings {
368 color: light-dark(#536471, #71767b);
369 display: flex;
370 align-items: center;
371 margin-right: auto;
372 }
373
374 .twitter-compose-settings:hover { color: light-dark(#1d9bf0, #1d9bf0); text-decoration: none; }
375
376 .twitter-compose-submit {
377 background: #1d9bf0;
378 color: #fff;
379 border: none;
380 border-radius: 9999px;
381 padding: 8px 20px;
382 font-size: 15px;
383 font-weight: 700;
384 cursor: pointer;
385 font-family: inherit;
386 }
387
388 .twitter-compose-submit:hover { background: #1a8cd8; }
389
390 /* @ mention dropdown */
391 .twitter-mention-dropdown {
392 position: absolute;
393 z-index: 200;
394 list-style: none;
395 background: light-dark(#fff, #16181c);
396 border: none;
397 border-radius: 16px;
398 box-shadow: light-dark(rgba(101,119,134,.2), rgba(255,255,255,.2)) 0 0 15px, light-dark(rgba(101,119,134,.15), rgba(255,255,255,.1)) 0 0 3px 1px;
399 padding: 0;
400 max-height: 220px;
401 overflow-y: auto;
402 }
403
404 .twitter-mention-dropdown li a {
405 display: flex;
406 align-items: center;
407 gap: 12px;
408 padding: 12px 16px;
409 color: light-dark(#0f1419, #e7e9ea);
410 text-decoration: none;
411 transition: background .1s;
412 }
413
414 .twitter-mention-dropdown li a:hover,
415 .twitter-mention-dropdown li.active a {
416 background: light-dark(rgba(0,0,0,.03), rgba(231,233,234,.1));
417 text-decoration: none;
418 }
419
420 .twitter-mention-dropdown li a img {
421 width: 40px;
422 height: 40px;
423 border-radius: 50%;
424 flex-shrink: 0;
425 }
426
427 .twitter-mention-name {
428 font-size: 15px;
429 font-weight: 700;
430 }
431
432 .twitter-mention-handle {
433 font-size: 13px;
434 color: light-dark(#536471, #71767b);
435 margin-left: auto;
436 }
437
438 .twitter-mention-no-results span {
439 display: block;
440 padding: 12px 16px;
441 font-size: 15px;
442 color: light-dark(#536471, #71767b);
443 }
444
445 /* Search in right col */
446 .twitter-search-form {
447 width: 100%;
448 margin-bottom: 12px;
449 }
450
451 .twitter-search-wrap {
452 position: relative;
453 display: flex;
454 align-items: center;
455 }
456
457 .twitter-search-wrap::before {
458 content: "\f179";
459 font-family: dashicons;
460 position: absolute;
461 left: 14px;
462 top: 50%;
463 transform: translateY(-50%);
464 color: light-dark(#536471, #71767b);
465 font-size: 16px;
466 line-height: 1;
467 pointer-events: none;
468 z-index: 1;
469 }
470
471 .twitter-search-wrap .form-icon {
472 position: absolute;
473 right: 10px;
474 top: 50%;
475 transform: translateY(-50%);
476 width: .8rem;
477 height: .8rem;
478 pointer-events: none;
479 }
480
481 .friends-page .twitter-search-wrap .twitter-search-input {
482 width: 100%;
483 background: light-dark(#eff3f4, #202327);
484 border: 1px solid transparent;
485 border-radius: 9999px;
486 padding: 10px 16px 10px 40px;
487 font-size: 15px;
488 font-family: inherit;
489 color: light-dark(#0f1419, #e7e9ea);
490 outline: none;
491 }
492
493 .friends-page .twitter-search-wrap .twitter-search-input:focus {
494 border-color: #1d9bf0;
495 background: transparent;
496 box-shadow: 0 0 0 1px #1d9bf0;
497 }
498
499 .friends-page .twitter-search-wrap .twitter-search-input::placeholder {
500 color: light-dark(#536471, #71767b);
501 }
502
503 .twitter-right-widgets {
504 margin-bottom: 12px;
505 }
506
507 .twitter-right-widgets:empty {
508 display: none;
509 }
510
511 .twitter-right-widgets .friends-widget + .friends-widget {
512 border-top: 1px solid light-dark(#eff3f4, #2f3336);
513 margin-top: 4px;
514 padding-top: 4px;
515 }
516
517 .twitter-right-customize {
518 padding: 8px 0;
519 font-size: 12px;
520 }
521
522 .twitter-right-customize a {
523 color: light-dark(#536471, #71767b);
524 font-size: 12px;
525 }
526
527 /* === Center Column Header === */
528 .twitter-col-header {
529 z-index: 5;
530 }
531
532 .twitter-col-title-row {
533 display: flex;
534 align-items: center;
535 justify-content: space-between;
536 padding: 12px 16px;
537 gap: 8px;
538 position: sticky;
539 top: 32px;
540 z-index: 5;
541 background: light-dark(rgba(255,255,255,.85), rgba(0,0,0,.65));
542 backdrop-filter: blur(12px);
543 -webkit-backdrop-filter: blur(12px);
544 border-bottom: 1px solid light-dark(#eff3f4, #2f3336);
545 }
546
547 .twitter-col-title-row h2,
548 .twitter-col-title-row #page-title {
549 font-size: 20px;
550 font-weight: 800;
551 color: light-dark(#0f1419, #e7e9ea);
552 letter-spacing: -.2px;
553 margin: 0;
554 flex: 1;
555 min-width: 0;
556 white-space: nowrap;
557 overflow: hidden;
558 text-overflow: ellipsis;
559 }
560
561 .twitter-col-title-row #page-title a {
562 color: light-dark(#0f1419, #e7e9ea);
563 }
564
565 .twitter-col-title-row #page-title a:hover { text-decoration: none; }
566
567 .twitter-title-avatar {
568 width: 24px;
569 height: 24px;
570 border-radius: 50%;
571 vertical-align: middle;
572 margin-right: 4px;
573 }
574
575 /* Mobile sidebar toggle */
576 .off-canvas-toggle {
577 display: none;
578 color: light-dark(#536471, #71767b);
579 padding: 8px;
580 border-radius: 50%;
581 border: none;
582 background: none;
583 cursor: pointer;
584 }
585
586 .off-canvas-toggle:hover {
587 background: light-dark(rgba(15,20,25,.1), rgba(231,233,234,.1));
588 }
589
590 @media (max-width: 500px) {
591 .off-canvas-toggle {
592 display: inline-flex;
593 align-items: center;
594 }
595 .twitter-col-header {
596 position: static;
597 }
598 }
599
600 /* Chips area */
601 .twitter-chips-area {
602 padding: 0 16px 12px;
603 border-top: 1px solid light-dark(#eff3f4, #2f3336);
604 }
605
606 .twitter-chips-area h2,
607 .twitter-chips-area #page-title,
608 .twitter-chips-area #author-header > h2,
609 .twitter-chips-area #main-header > h2 {
610 display: none;
611 }
612
613 /* === Chips === */
614 .friends-page .chip {
615 display: inline-block;
616 background: transparent;
617 border: 1px solid light-dark(#cfd9de, #2f3336);
618 border-radius: 9999px;
619 padding: 4px 14px;
620 margin: 3px 2px;
621 font-size: 13px;
622 color: light-dark(#0f1419, #e7e9ea);
623 line-height: 1.6;
624 text-decoration: none;
625 white-space: nowrap;
626 cursor: pointer;
627 }
628
629 .friends-page a.chip:visited { color: light-dark(#0f1419, #e7e9ea); }
630 .friends-page .chip:hover { background: light-dark(rgba(15,20,25,.1), rgba(231,233,234,.1)); text-decoration: none; }
631 .friends-page span.chip { cursor: default; }
632 .friends-page .chip.activitypub-follower-check.is-following {
633 background: light-dark(#e4f6e8, rgba(46,160,67,.22));
634 color: light-dark(#116329, #8ddb8c);
635 }
636 .friends-page .chip.activitypub-follower-check.is-not-following {
637 background: light-dark(#fff4d6, rgba(210,153,34,.22));
638 color: light-dark(#7a4d00, #eac55f);
639 }
640 .friends-page .chip.activitypub-follower-check.is-error {
641 background: light-dark(#fde7e9, rgba(218,54,51,.22));
642 color: light-dark(#8a2424, #ff9b9b);
643 }
644
645 .twitter-chips-area p {
646 font-size: 14px;
647 color: light-dark(#536471, #71767b);
648 margin-bottom: 10px;
649 }
650
651 /* === Timeline === */
652 .friends-page section.posts {
653 padding: 0;
654 margin: 0;
655 }
656
657 .friends-page .posts > .friends-empty-state {
658 border-bottom: 1px solid light-dark(#eff3f4, #2f3336);
659 background: transparent;
660 }
661
662 .friends-page .posts > .friends-empty-state > .card-body {
663 padding: 16px;
664 }
665
666 .friends-page .posts > .friends-empty-state h1 {
667 font-size: 22px;
668 line-height: 1.3;
669 margin-bottom: 12px;
670 }
671
672 .friends-page .posts > .friends-empty-state ul,
673 .friends-page .posts > .friends-empty-state ol {
674 margin: 0 0 .8em;
675 padding-left: 1.25rem;
676 }
677
678 .friends-page .posts > .friends-empty-state li {
679 margin-bottom: .6em;
680 }
681
682 /* === Individual Tweet Card === */
683 .friends-page .posts article.card {
684 position: relative;
685 padding: 12px 16px 12px 68px;
686 border: none;
687 border-bottom: 1px solid light-dark(#eff3f4, #2f3336);
688 border-radius: 0;
689 background: transparent;
690 box-shadow: none;
691 transition: background .15s;
692 }
693
694 .friends-page .posts article.card:hover {
695 background: light-dark(rgba(0,0,0,.03), rgba(231,233,234,.03));
696 }
697
698 .friends-page .posts article.card:last-child {
699 border-bottom: none;
700 }
701
702 /* === Card Header === */
703 .friends-page .posts .card-header {
704 display: flex;
705 align-items: flex-start;
706 justify-content: space-between;
707 padding: 0;
708 margin-bottom: 4px;
709 gap: 8px;
710 }
711
712 /* Avatar */
713 .friends-page .posts .card-header > div.avatar {
714 position: absolute;
715 left: 16px;
716 top: 12px;
717 flex-shrink: 0;
718 }
719
720 .friends-page .posts .card-header .avatar a,
721 .friends-page .posts .card-header .avatar .author-avatar {
722 display: block;
723 }
724
725 .friends-page .posts .card-header .avatar img {
726 width: 40px;
727 height: 40px;
728 max-width: none;
729 border-radius: 50%;
730 display: block;
731 }
732
733 .friends-page .posts .card-header .avatar img.avatar-overlay {
734 position: absolute;
735 bottom: -4px;
736 right: -4px;
737 width: 20px;
738 height: 20px;
739 border-radius: 50%;
740 border: 2px solid light-dark(#fff, #000);
741 }
742
743 /* Post meta */
744 .friends-page .posts .post-meta {
745 flex: 1;
746 min-width: 0;
747 display: flex;
748 align-items: baseline;
749 flex-wrap: wrap;
750 gap: 0 4px;
751 line-height: 1.4;
752 }
753
754 .friends-page .posts .author {
755 font-weight: 700;
756 font-size: 15px;
757 color: light-dark(#0f1419, #e7e9ea);
758 white-space: nowrap;
759 overflow: hidden;
760 text-overflow: ellipsis;
761 max-width: 100%;
762 }
763
764 .friends-page .posts .author a {
765 color: light-dark(#0f1419, #e7e9ea);
766 font-weight: 700;
767 }
768
769 .friends-page .posts .author a:hover { text-decoration: underline; }
770 .friends-page .posts .author strong { font-weight: 700; }
771
772 /* Separator dot */
773 .friends-page .posts .author::after {
774 content: ' ·';
775 color: light-dark(#536471, #71767b);
776 font-weight: 400;
777 margin-left: 2px;
778 }
779
780 .friends-page .posts .permalink {
781 font-size: 15px;
782 color: light-dark(#536471, #71767b);
783 white-space: nowrap;
784 overflow: hidden;
785 text-overflow: ellipsis;
786 }
787
788 .friends-page .posts .permalink a { color: light-dark(#536471, #71767b); }
789 .friends-page .posts .permalink a:hover { text-decoration: underline; }
790 .friends-page .posts .reading-time { color: light-dark(#536471, #71767b); font-size: 13px; }
791
792 /* Overflow menu */
793 .friends-page .posts .overflow {
794 flex-shrink: 0;
795 display: flex;
796 align-items: center;
797 opacity: 0;
798 transition: opacity .1s;
799 }
800
801 .friends-page .posts article.card:hover .overflow {
802 opacity: 1;
803 }
804
805 .friends-page .collapse-post { display: none; }
806 .friends-page .posts:not(.all-collapsed) .teaser { display: none; }
807
808 /* === Post Title === */
809 .friends-page .posts .card-title {
810 margin-bottom: 4px;
811 }
812
813 .friends-page .posts article.card > header.card-header {
814 margin-bottom: 4px;
815 }
816
817 .friends-page .posts .card-title a {
818 font-size: 15px;
819 font-weight: 700;
820 color: light-dark(#0f1419, #e7e9ea);
821 line-height: 1.4;
822 }
823
824 .friends-page .posts .card-title a:visited { color: light-dark(#0f1419, #e7e9ea); }
825 .friends-page .posts .card-title a:hover { text-decoration: underline; }
826 .friends-page .posts h4 a { font-size: 15px; font-weight: 700; }
827
828 /* === Post Body === */
829 .friends-page .posts .card-body,
830 .friends-page .posts .entry-content {
831 font-size: 15px;
832 line-height: 1.5;
833 color: light-dark(#0f1419, #e7e9ea);
834 padding: 0;
835 }
836
837 .friends-page .posts .card-body p,
838 .friends-page .posts .entry-content p {
839 margin: 0 0 .6em;
840 }
841
842 .friends-page .posts .card-body p:last-child,
843 .friends-page .posts .entry-content p:last-child {
844 margin-bottom: 0;
845 }
846
847 .friends-page .posts .card-body img,
848 .friends-page .posts .entry-content img {
849 max-width: 100%;
850 border-radius: 16px;
851 height: auto;
852 margin: 10px 0;
853 display: block;
854 border: 1px solid light-dark(#eff3f4, #2f3336);
855 }
856
857 /* Image gallery */
858 .friends-page .posts .card-body .friends-gallery {
859 display: grid;
860 grid-template-columns: repeat(2, 1fr);
861 gap: 2px;
862 border-radius: 16px;
863 overflow: hidden;
864 margin: 10px 0;
865 border: 1px solid light-dark(#eff3f4, #2f3336);
866 }
867
868 .friends-page .posts .card-body .friends-gallery img {
869 width: 100%;
870 height: 100%;
871 object-fit: cover;
872 margin: 0;
873 border-radius: 0;
874 border: none;
875 }
876
877 .friends-page .posts .card-body .friends-gallery.gallery-1 {
878 grid-template-columns: 1fr;
879 }
880
881 .friends-page .posts .card-body .friends-gallery.gallery-3 img:first-child {
882 grid-column: 1 / -1;
883 }
884
885 /* === Post Footer / Action Bar === */
886 .friends-page .posts .card-footer,
887 .friends-page .posts footer.entry-meta {
888 display: flex;
889 align-items: center;
890 flex-wrap: wrap;
891 gap: 0;
892 padding: 0;
893 border-top: none;
894 background: transparent;
895 margin-top: 12px;
896 max-width: 425px;
897 justify-content: space-between;
898 }
899
900 .friends-page .posts .card-footer a,
901 .friends-page .posts .card-footer .btn-link {
902 display: inline-flex;
903 align-items: center;
904 gap: 4px;
905 color: light-dark(#536471, #71767b);
906 font-size: 13px;
907 padding: 8px;
908 border-radius: 9999px;
909 background: none;
910 border: none;
911 cursor: pointer;
912 transition: color .15s, background .15s;
913 text-decoration: none;
914 }
915
916 .friends-page .posts .card-footer a:hover,
917 .friends-page .posts .card-footer .btn-link:hover {
918 color: #1d9bf0;
919 background: rgba(29,155,240,.1);
920 text-decoration: none;
921 }
922
923 .friends-page .posts .card-footer .dashicons {
924 font-size: 18px;
925 width: 18px;
926 height: 18px;
927 vertical-align: text-bottom;
928 }
929
930 /* Reaction buttons */
931 .friends-page button.friends-reaction,
932 .friends-page button.friends-reaction-picker {
933 display: inline-flex;
934 align-items: center;
935 gap: 4px;
936 background: none;
937 border: none;
938 border-radius: 9999px;
939 padding: 8px;
940 font-size: 13px;
941 color: light-dark(#536471, #71767b);
942 cursor: pointer;
943 transition: color .15s, background .15s;
944 font-family: inherit;
945 }
946
947 .friends-page button.friends-reaction:hover,
948 .friends-page button.friends-reaction-picker:hover {
949 color: #f91880;
950 background: rgba(249,24,128,.1);
951 }
952
953 .friends-page button.friends-reaction.pressed { color: #f91880; }
954
955 /* === Boost / Retweet Indicator === */
956 .friends-page .posts .reblogged-by,
957 .friends-page .posts .reblog-info {
958 font-size: 13px;
959 color: light-dark(#536471, #71767b);
960 margin-bottom: 4px;
961 display: flex;
962 align-items: center;
963 gap: 6px;
964 padding-left: 26px;
965 font-weight: 700;
966 }
967
968 .friends-page .posts .boosted {
969 font-weight: 400;
970 }
971
972 .friends-page .activitypub-custom-emoji {
973 display: inline-block;
974 width: auto;
975 max-width: 1.5em;
976 height: 1em;
977 max-height: 1em;
978 margin: 0 0.05em;
979 object-fit: contain;
980 vertical-align: -0.15em;
981 }
982
983 .friends-page .posts .boosted .follow-button,
984 .friends-page .posts .boosted .follow-button span.name {
985 display: none;
986 }
987
988 .friends-page .posts .boosted:hover .follow-button {
989 display: inline;
990 }
991
992 @media (max-width: 500px) {
993 .friends-page .posts .boosted:hover .follow-button {
994 display: none;
995 }
996 }
997
998 /* === Comments === */
999 .friends-page .comments-content {
1000 padding: 12px 0 12px 16px;
1001 margin: 12px 0;
1002 font-size: 14px;
1003 }
1004
1005 .friends-page .comments-content textarea {
1006 max-width: 100%;
1007 box-sizing: border-box;
1008 }
1009
1010 .friends-page .comments-content.closed { display: none; }
1011 .friends-page .comments-content.open { display: block; }
1012
1013 .friends-page .comments-content h5 {
1014 font-size: 13px;
1015 font-weight: 700;
1016 color: light-dark(#536471, #71767b);
1017 margin: 0 0 8px;
1018 }
1019
1020 .friends-page .comments-content .comment-list {
1021 list-style: none;
1022 padding: 0;
1023 margin: 0;
1024 }
1025
1026 .friends-page .comments-content .comment {
1027 padding: 6px 0;
1028 border-bottom: 1px solid light-dark(#eff3f4, #2f3336);
1029 }
1030
1031 /* === Right Column === */
1032
1033 /* Keep sidebar dashicons from blowing up */
1034 .twitter-right-col .dashicons {
1035 font-size: 16px !important;
1036 width: 16px !important;
1037 height: 16px !important;
1038 vertical-align: text-bottom;
1039 flex-shrink: 0;
1040 }
1041
1042 .twitter-right-col .friends-widget h5 {
1043 display: flex;
1044 align-items: center;
1045 gap: 8px;
1046 padding: 12px 16px 0;
1047 margin: 0;
1048 font-size: 15px;
1049 font-weight: 800;
1050 color: light-dark(#0f1419, #e7e9ea);
1051 }
1052
1053 .twitter-right-col .friends-widget .accordion-header h5,
1054 .twitter-right-col .friends-widget summary h5 {
1055 padding: 16px 0 6px;
1056 margin: 8px 0 0;
1057 border-top: 1px solid light-dark(#eff3f4, #2f3336);
1058 }
1059
1060 .twitter-right-col .friends-widget .form-group {
1061 padding: 0 16px;
1062 margin-bottom: 8px;
1063 }
1064
1065 /* Left column sidebar nav */
1066 .twitter-left-nav .dashicons {
1067 font-size: 20px !important;
1068 width: 20px !important;
1069 height: 20px !important;
1070 vertical-align: text-bottom;
1071 flex-shrink: 0;
1072 }
1073
1074 .twitter-left-nav .friends-widget h5 {
1075 display: flex;
1076 align-items: center;
1077 gap: 10px;
1078 padding: 8px 12px 0;
1079 margin: 0;
1080 font-size: 13px;
1081 font-weight: 700;
1082 color: light-dark(#536471, #71767b);
1083 text-transform: uppercase;
1084 letter-spacing: .5px;
1085 }
1086
1087 .twitter-left-nav .friends-widget .accordion-header h5,
1088 .twitter-left-nav .friends-widget summary h5 {
1089 padding: 12px 0 4px;
1090 margin: 4px 0 0;
1091 border-top: 1px solid light-dark(#eff3f4, #2f3336);
1092 }
1093
1094 .twitter-left-nav .friends-widget .form-group {
1095 padding: 0 12px;
1096 margin-bottom: 8px;
1097 }
1098
1099 /* Sidebar accordion */
1100 .friends-page .accordion,
1101 .twitter-right-col details,
1102 .twitter-left-col details {
1103 border: none;
1104 margin: 0;
1105 padding: 0;
1106 }
1107
1108 .friends-page .accordion summary,
1109 .friends-page .accordion .accordion-header {
1110 display: block;
1111 padding: 0 16px;
1112 font-size: 13px;
1113 font-weight: 700;
1114 color: light-dark(#536471, #71767b);
1115 text-transform: uppercase;
1116 letter-spacing: .5px;
1117 cursor: pointer;
1118 list-style: none;
1119 }
1120
1121 .friends-page .accordion summary::-webkit-details-marker { display: none; }
1122 .friends-page .accordion summary::marker { display: none; content: ''; }
1123
1124 .friends-page .friends-widget .dashicons {
1125 font-size: 14px;
1126 width: 14px;
1127 height: 14px;
1128 vertical-align: text-bottom;
1129 }
1130
1131 /* Sidebar nav menu */
1132 .friends-page .menu, .friends-page .menu-nav {
1133 list-style: none;
1134 padding: 0;
1135 margin: 0;
1136 }
1137
1138 .friends-page .menu-item,
1139 .friends-page .friend-list .menu-item {
1140 margin: 0;
1141 }
1142
1143 .friends-page .menu-item a,
1144 .friends-page .friend-list .menu-item a {
1145 display: flex !important;
1146 align-items: center;
1147 gap: 16px;
1148 padding: 12px;
1149 color: light-dark(#0f1419, #e7e9ea);
1150 font-size: 15px;
1151 font-weight: 400;
1152 line-height: 1.3;
1153 text-decoration: none;
1154 transition: background .15s;
1155 white-space: nowrap;
1156 overflow: hidden;
1157 text-overflow: ellipsis;
1158 border-radius: 9999px;
1159 }
1160
1161 .friends-page .menu-item a:hover {
1162 background: light-dark(rgba(15,20,25,.1), rgba(231,233,234,.1));
1163 text-decoration: none;
1164 }
1165
1166 .friends-page .friend-stats .menu-item a {
1167 font-size: 15px;
1168 padding: 8px 12px;
1169 }
1170
1171 .friends-page .off-canvas-sidebar .description,
1172 .friends-page .off-canvas-sidebar p,
1173 .twitter-right-col .description,
1174 .twitter-right-col p,
1175 .twitter-left-col .description,
1176 .twitter-left-col p {
1177 font-size: 13px;
1178 color: light-dark(#536471, #71767b);
1179 padding: 2px 16px;
1180 margin: 0 0 4px;
1181 line-height: 1.4;
1182 }
1183
1184 /* === Inputs & Forms === */
1185 .friends-page .form-input,
1186 .friends-page input[type="text"] {
1187 background: light-dark(#eff3f4, #202327);
1188 border: 1px solid transparent;
1189 border-radius: 9999px;
1190 padding: 10px 16px;
1191 font-size: 15px;
1192 font-family: inherit;
1193 color: light-dark(#0f1419, #e7e9ea);
1194 outline: none;
1195 }
1196
1197 .friends-page .form-input:focus,
1198 .friends-page input[type="text"]:focus {
1199 border-color: #1d9bf0;
1200 background: transparent;
1201 }
1202
1203 .friends-page .btn,
1204 .friends-page button {
1205 font-family: inherit;
1206 font-size: 15px;
1207 cursor: pointer;
1208 }
1209
1210 .friends-page .btn {
1211 border-radius: 9999px;
1212 padding: 8px 20px;
1213 font-weight: 700;
1214 border: none;
1215 transition: background .15s;
1216 background: light-dark(#eff3f4, #202327);
1217 color: light-dark(#0f1419, #e7e9ea);
1218 }
1219
1220 .friends-page .btn:hover { background: light-dark(#d7dbdc, #2c3033); box-shadow: none; }
1221
1222 .friends-page .btn-primary {
1223 background: #1d9bf0;
1224 color: #fff;
1225 }
1226
1227 .friends-page .btn-primary:hover { background: #1a8cd8; }
1228
1229 .friends-page .btn-link {
1230 background: none;
1231 border: none;
1232 cursor: pointer;
1233 padding: 8px;
1234 color: light-dark(#536471, #71767b);
1235 border-radius: 9999px;
1236 }
1237
1238 .friends-page .btn-link:hover {
1239 background: rgba(29,155,240,.1);
1240 color: #1d9bf0;
1241 box-shadow: none;
1242 }
1243
1244 .friends-page .input-group { display: flex; }
1245
1246 .friends-page .input-group .form-input,
1247 .friends-page .input-group input[type="text"] {
1248 flex: 1;
1249 border-radius: 9999px 0 0 9999px;
1250 }
1251
1252 .friends-page .input-group .input-group-btn,
1253 .friends-page .input-group .btn {
1254 border-radius: 0 9999px 9999px 0;
1255 }
1256
1257 .friends-page .form-autocomplete { position: relative; }
1258
1259 .friends-page .form-autocomplete .menu {
1260 position: absolute;
1261 top: 100%;
1262 left: 0;
1263 right: 0;
1264 background: light-dark(#fff, #16181c);
1265 border: none;
1266 border-radius: 16px;
1267 z-index: 100;
1268 box-shadow: light-dark(rgba(101,119,134,.2), rgba(255,255,255,.2)) 0 0 15px, light-dark(rgba(101,119,134,.15), rgba(255,255,255,.1)) 0 0 3px 1px;
1269 overflow: hidden;
1270 padding: 0;
1271 }
1272
1273 .friends-page .form-autocomplete .menu .menu-item {
1274 padding: 0;
1275 margin: 0;
1276 }
1277
1278 .friends-page .form-autocomplete .menu .menu-item + .menu-item {
1279 margin-top: 0;
1280 }
1281
1282 .friends-page .form-autocomplete .menu .menu-item > a {
1283 display: block !important;
1284 white-space: normal;
1285 margin: 0;
1286 padding: 12px 16px;
1287 border-radius: 0;
1288 color: light-dark(#0f1419, #e7e9ea);
1289 font-size: 15px;
1290 font-weight: normal;
1291 line-height: 1.4;
1292 }
1293
1294 .friends-page .form-autocomplete .menu .menu-item > a:hover,
1295 .friends-page .form-autocomplete .menu .menu-item > a:focus,
1296 .friends-page .form-autocomplete .menu .menu-item > a:active {
1297 background: light-dark(rgba(0,0,0,.03), rgba(231,233,234,.1));
1298 color: light-dark(#0f1419, #e7e9ea);
1299 outline: none;
1300 }
1301
1302 .friends-page .form-autocomplete .menu .menu-item > a > .ab-icon {
1303 margin-right: 6px;
1304 vertical-align: middle;
1305 }
1306
1307 .friends-page .form-autocomplete .menu .menu-item > a small {
1308 margin-left: .3em;
1309 color: light-dark(#536471, #71767b);
1310 }
1311
1312 .friends-page .form-autocomplete .menu .menu-item > a mark {
1313 background: rgba(29,155,240,.2);
1314 color: inherit;
1315 border: none;
1316 border-radius: 2px;
1317 padding: 0 1px;
1318 }
1319
1320 /* === Dropdown Menus === */
1321 .friends-page .friends-dropdown {
1322 position: relative;
1323 display: inline-block;
1324 }
1325
1326 .friends-page .friends-dropdown .menu {
1327 display: none;
1328 position: absolute;
1329 top: 100%;
1330 right: 0;
1331 left: auto;
1332 background: light-dark(#fff, #16181c);
1333 border: none;
1334 border-radius: 16px;
1335 box-shadow: light-dark(rgba(101,119,134,.2), rgba(255,255,255,.2)) 0 0 15px, light-dark(rgba(101,119,134,.15), rgba(255,255,255,.1)) 0 0 3px 1px;
1336 z-index: 100;
1337 min-width: 200px;
1338 overflow: hidden;
1339 }
1340
1341 .friends-page .friends-dropdown.active .menu,
1342 .friends-page .friends-dropdown .menu:hover {
1343 display: block;
1344 }
1345
1346 .friends-page .friends-dropdown .menu .menu-item a {
1347 padding: 12px 16px;
1348 font-size: 15px;
1349 }
1350
1351 .friends-page .friends-dropdown-right .menu {
1352 left: auto;
1353 right: 0;
1354 }
1355
1356 /* === Author Header === */
1357 .friends-page #author-header,
1358 .friends-page .author-header {
1359 padding: 16px;
1360 }
1361
1362 .friends-page #author-header.has-header-image {
1363 background-size: cover;
1364 background-position: center;
1365 position: relative;
1366 padding: 60px 16px 16px;
1367 }
1368
1369 .friends-page #author-header.has-header-image::before {
1370 content: '';
1371 position: absolute;
1372 inset: 0;
1373 background: linear-gradient(to bottom, rgba(0,0,0,.2) 0%, rgba(0,0,0,.6) 100%);
1374 border-radius: inherit;
1375 }
1376
1377 .friends-page #author-header.has-header-image > * {
1378 position: relative;
1379 }
1380
1381 .friends-page #author-header.has-header-image h2,
1382 .friends-page #author-header.has-header-image p,
1383 .friends-page #author-header.has-header-image .chip,
1384 .friends-page #author-header.has-header-image a {
1385 color: #fff;
1386 text-shadow: 0 1px 3px rgba(0,0,0,.5);
1387 }
1388
1389 .friends-page #author-header.has-header-image .chip {
1390 background: rgba(255,255,255,.2);
1391 border-color: rgba(255,255,255,.3);
1392 }
1393
1394 .friends-page .author-header .avatar img {
1395 border-radius: 50%;
1396 vertical-align: middle;
1397 margin-right: 8px;
1398 margin-bottom: 10px;
1399 border: 3px solid light-dark(#fff, #000);
1400 }
1401
1402 .friends-page #author-header > p {
1403 margin-bottom: 12px;
1404 }
1405
1406 /* Folder dropdown */
1407 .friends-page .friends-folder-selector select {
1408 appearance: none;
1409 -webkit-appearance: none;
1410 background: transparent;
1411 border: none;
1412 color: inherit;
1413 font: inherit;
1414 font-size: 13px;
1415 cursor: pointer;
1416 padding: 0;
1417 margin: 0;
1418 }
1419
1420 .friends-page .friends-folder-selector select:focus {
1421 outline: none;
1422 }
1423
1424 /* Message section */
1425 .friends-page .card.mt-2.p-2 {
1426 padding: 12px 16px 12px 68px !important;
1427 margin: 0 !important;
1428 border: none;
1429 border-bottom: 1px solid light-dark(#eff3f4, #2f3336);
1430 border-radius: 0;
1431 background: transparent;
1432 box-shadow: none;
1433 }
1434
1435 .friends-page #friends-send-new-message {
1436 padding: 16px !important;
1437 }
1438
1439 .friends-page .card.mt-2.p-2:has(.friend-message) {
1440 background: transparent;
1441 border: none;
1442 box-shadow: none;
1443 padding: 0 !important;
1444 margin: 0;
1445 }
1446
1447 .friends-page .card.mt-2.p-2:has(.friend-message) > strong {
1448 display: block;
1449 padding: 12px 16px;
1450 font-size: 15px;
1451 color: light-dark(#0f1419, #e7e9ea);
1452 border-bottom: 1px solid light-dark(#eff3f4, #2f3336);
1453 }
1454
1455 .friends-page .friend-message {
1456 border-bottom: 1px solid light-dark(#eff3f4, #2f3336);
1457 }
1458
1459 .friends-page a.display-message {
1460 display: block;
1461 padding: 12px 16px;
1462 color: light-dark(#0f1419, #e7e9ea);
1463 font-size: 15px;
1464 transition: background .15s;
1465 }
1466
1467 .friends-page a.display-message:hover {
1468 background: light-dark(rgba(0,0,0,.03), rgba(231,233,234,.03));
1469 text-decoration: none;
1470 }
1471
1472 .friends-page a.display-message.unread {
1473 font-weight: 700;
1474 border-left: 3px solid #1d9bf0;
1475 padding-left: 13px;
1476 }
1477
1478 .friends-page .friend-message .conversation {
1479 background: light-dark(#f7f9fa, #16181c);
1480 border-top: 1px solid light-dark(#eff3f4, #2f3336);
1481 }
1482
1483 .friends-page .friend-message .conversation .messages {
1484 max-height: 50vh;
1485 overflow-y: auto;
1486 padding: 8px 0;
1487 }
1488
1489 .friends-page .friend-message .conversation .message {
1490 padding: 10px 16px;
1491 font-size: 15px;
1492 color: light-dark(#536471, #71767b);
1493 }
1494
1495 .friends-page .friend-message .conversation .message .author {
1496 font-weight: 700;
1497 color: light-dark(#0f1419, #e7e9ea);
1498 }
1499
1500 .friends-page .friend-message .conversation .message .time {
1501 font-size: 13px;
1502 }
1503
1504 .friends-page .friend-message .conversation .message blockquote {
1505 margin: 6px 0 0;
1506 padding: 12px 16px;
1507 background: light-dark(#fff, #000);
1508 border-radius: 16px;
1509 border: 1px solid light-dark(#eff3f4, #2f3336);
1510 border-left: none;
1511 color: light-dark(#0f1419, #e7e9ea);
1512 font-size: 15px;
1513 }
1514
1515 .friends-page .friend-message .conversation .message blockquote p:last-child {
1516 margin-bottom: 0;
1517 }
1518
1519 .friends-page .friend-message .conversation .form-horizontal {
1520 padding: 12px 16px;
1521 border-top: 1px solid light-dark(#eff3f4, #2f3336);
1522 }
1523
1524 .friends-page .friend-message .conversation .form-horizontal .form-input {
1525 background: transparent;
1526 border: 1px solid light-dark(#eff3f4, #2f3336);
1527 border-radius: 16px;
1528 padding: 10px 16px;
1529 font-size: 15px;
1530 font-family: inherit;
1531 color: light-dark(#0f1419, #e7e9ea);
1532 width: 100%;
1533 }
1534
1535 .friends-page .friend-message .conversation .form-horizontal .form-input:focus {
1536 border-color: #1d9bf0;
1537 outline: none;
1538 }
1539
1540 .friends-page .friend-message .conversation .form-horizontal textarea.form-input {
1541 min-height: 60px;
1542 resize: vertical;
1543 }
1544
1545 .friends-page .friend-message .conversation .form-horizontal .btn {
1546 background: #1d9bf0;
1547 color: #fff;
1548 border: none;
1549 border-radius: 9999px;
1550 padding: 8px 20px;
1551 font-size: 15px;
1552 font-weight: 700;
1553 cursor: pointer;
1554 font-family: inherit;
1555 }
1556
1557 .friends-page .friend-message .conversation .form-horizontal .btn:hover {
1558 background: #1a8cd8;
1559 }
1560
1561 .friends-page .friend-message .conversation .form-horizontal .btn.delete-conversation {
1562 background: transparent;
1563 color: light-dark(#f4212e, #f4212e);
1564 font-size: 13px;
1565 padding: 4px 8px;
1566 }
1567
1568 .friends-page .friend-message .conversation .form-horizontal .form-group {
1569 margin-bottom: 8px;
1570 }
1571
1572 .friends-page .friend-message .conversation .form-horizontal .form-label {
1573 font-size: 13px;
1574 color: light-dark(#536471, #71767b);
1575 font-weight: 700;
1576 }
1577
1578 /* Direct messages */
1579 .friends-page .friends-dm-view {
1580 background: light-dark(#fff, #000);
1581 border-top: 1px solid light-dark(#eff3f4, #2f3336);
1582 display: grid;
1583 grid-template-columns: minmax(260px, 360px) minmax(0, 1fr);
1584 height: calc(100vh - 54px);
1585 min-height: 32rem;
1586 }
1587
1588 .friends-page .friends-dm-sidebar {
1589 background: light-dark(#fff, #000);
1590 border-right: 1px solid light-dark(#eff3f4, #2f3336);
1591 overflow: auto;
1592 }
1593
1594 .friends-page .friends-profile-messages {
1595 background: transparent;
1596 border: none;
1597 box-shadow: none;
1598 overflow: hidden;
1599 padding: 0 !important;
1600 }
1601
1602 .friends-page .friends-profile-messages-header {
1603 align-items: center;
1604 border-bottom: 1px solid light-dark(#eff3f4, #2f3336);
1605 display: flex;
1606 justify-content: space-between;
1607 padding: 12px 16px;
1608 }
1609
1610 .friends-page .friends-profile-messages-header strong {
1611 color: light-dark(#0f1419, #e7e9ea);
1612 font-size: 15px;
1613 }
1614
1615 .friends-page .friends-profile-messages .friends-dm-conversation,
1616 .friends-page .friends-profile-messages .friends-dm-conversation:visited {
1617 grid-template-columns: minmax(0, 1fr) auto;
1618 }
1619
1620 .friends-page .friends-dm-conversation,
1621 .friends-page .friends-dm-conversation:visited {
1622 border-bottom: 1px solid light-dark(#eff3f4, #2f3336);
1623 color: light-dark(#0f1419, #e7e9ea);
1624 display: grid;
1625 gap: 3px 10px;
1626 grid-template-columns: 40px minmax(0, 1fr) auto;
1627 padding: 12px 16px;
1628 text-decoration: none;
1629 }
1630
1631 .friends-page .friends-dm-conversation:hover,
1632 .friends-page .friends-dm-conversation:focus,
1633 .friends-page .friends-dm-conversation.is-selected {
1634 background: light-dark(rgba(15,20,25,.04), rgba(231,233,234,.08));
1635 text-decoration: none;
1636 }
1637
1638 .friends-page .friends-dm-conversation.is-unread .friends-dm-conversation-name,
1639 .friends-page .friends-dm-conversation.is-unread .friends-dm-conversation-preview {
1640 font-weight: 700;
1641 }
1642
1643 .friends-page .friends-dm-conversation .avatar,
1644 .friends-page .friends-dm-thread-header .avatar,
1645 .friends-page .friends-dm-message-avatar .avatar {
1646 border-radius: 50%;
1647 display: block;
1648 object-fit: cover;
1649 }
1650
1651 .friends-page .friends-dm-conversation-main {
1652 display: grid;
1653 min-width: 0;
1654 }
1655
1656 .friends-page .friends-dm-conversation-name,
1657 .friends-page .friends-dm-conversation-preview {
1658 overflow: hidden;
1659 text-overflow: ellipsis;
1660 white-space: nowrap;
1661 }
1662
1663 .friends-page .friends-dm-conversation-preview,
1664 .friends-page .friends-dm-conversation-meta,
1665 .friends-page .friends-dm-message-meta time {
1666 color: light-dark(#536471, #71767b);
1667 }
1668
1669 .friends-page .friends-dm-conversation-meta {
1670 align-items: end;
1671 display: flex;
1672 flex-direction: column;
1673 font-size: 13px;
1674 gap: 5px;
1675 }
1676
1677 .friends-page .friends-dm-unread-count {
1678 background: #1d9bf0;
1679 border-radius: 999px;
1680 color: #fff;
1681 font-size: 11px;
1682 font-weight: 700;
1683 line-height: 1;
1684 min-width: 20px;
1685 padding: 4px 6px;
1686 text-align: center;
1687 }
1688
1689 .friends-page .friends-dm-thread {
1690 display: grid;
1691 grid-template-rows: auto minmax(0, 1fr) auto;
1692 min-width: 0;
1693 }
1694
1695 .friends-page .friends-dm-thread-header {
1696 align-items: center;
1697 border-bottom: 1px solid light-dark(#eff3f4, #2f3336);
1698 display: flex;
1699 gap: 12px;
1700 min-height: 64px;
1701 padding: 10px 16px;
1702 }
1703
1704 .friends-page .friends-dm-thread-header h3 {
1705 color: light-dark(#0f1419, #e7e9ea);
1706 font-size: 17px;
1707 line-height: 1.2;
1708 margin: 0;
1709 }
1710
1711 .friends-page .friends-dm-thread-header a {
1712 font-size: 13px;
1713 }
1714
1715 .friends-page .friends-dm-messages {
1716 background: light-dark(#fff, #000);
1717 overflow: auto;
1718 padding: 16px;
1719 }
1720
1721 .friends-page .friends-dm-message {
1722 display: grid;
1723 gap: 10px;
1724 grid-template-columns: 32px minmax(0, 1fr);
1725 margin: 0 0 16px;
1726 }
1727
1728 .friends-page .friends-dm-message-meta {
1729 align-items: baseline;
1730 display: flex;
1731 flex-wrap: wrap;
1732 gap: 8px;
1733 line-height: 1.2;
1734 }
1735
1736 .friends-page .friends-dm-message-meta strong {
1737 color: light-dark(#0f1419, #e7e9ea);
1738 }
1739
1740 .friends-page .friends-dm-delivery-status {
1741 color: light-dark(#536471, #71767b);
1742 cursor: help;
1743 font-size: 13px;
1744 }
1745
1746 .friends-page .friends-dm-delivery-status::before {
1747 content: "·";
1748 margin-right: 8px;
1749 }
1750
1751 .friends-page .friends-dm-delivery-icon {
1752 align-items: center;
1753 display: inline-flex;
1754 flex: 0 0 auto;
1755 height: 16px;
1756 justify-content: center;
1757 line-height: 1;
1758 position: relative;
1759 width: 16px;
1760 }
1761
1762 .friends-page .friends-dm-delivery-icon::before {
1763 border: 1.5px solid currentColor;
1764 border-radius: 50%;
1765 box-sizing: border-box;
1766 content: "";
1767 height: 14px;
1768 margin: 0;
1769 width: 14px;
1770 }
1771
1772 .friends-page .friends-dm-delivery-icon::after {
1773 border: solid currentColor;
1774 border-width: 0 1.5px 1.5px 0;
1775 content: "";
1776 height: 7px;
1777 left: 6px;
1778 position: absolute;
1779 top: 3px;
1780 transform: rotate(45deg);
1781 width: 4px;
1782 }
1783
1784 .friends-page .friends-dm-delivery-icon.is-queued::before {
1785 border-style: dotted;
1786 }
1787
1788 .friends-page .friends-dm-delivery-icon.is-sending::before {
1789 border-style: dashed;
1790 }
1791
1792 .friends-page .friends-dm-delivery-icon.is-failed::after {
1793 border: 0;
1794 content: "!";
1795 font-size: 11px;
1796 font-weight: 700;
1797 height: auto;
1798 left: auto;
1799 position: absolute;
1800 top: 2px;
1801 transform: none;
1802 width: auto;
1803 }
1804
1805 .friends-page .friends-dm-delivery-tooltip {
1806 background: light-dark(#fff, #15202b);
1807 border: 1px solid light-dark(#cfd9de, #38444d);
1808 border-radius: 4px;
1809 box-shadow: 0 4px 12px rgb(0 0 0 / 20%);
1810 color: light-dark(#0f1419, #f7f9f9);
1811 font-size: 13px;
1812 line-height: 1.3;
1813 overflow-wrap: break-word;
1814 padding: 6px 8px;
1815 pointer-events: none;
1816 position: fixed;
1817 white-space: normal;
1818 width: min(18rem, calc(100vw - 2rem));
1819 z-index: 9999;
1820 }
1821
1822 .friends-page .friends-dm-delivery-status.is-failed {
1823 color: light-dark(#f4212e, #ff8f8f);
1824 }
1825
1826 .friends-page .friends-dm-message-content {
1827 background: light-dark(#f7f9fa, #16181c);
1828 border: 1px solid light-dark(#eff3f4, #2f3336);
1829 border-radius: 18px;
1830 color: light-dark(#0f1419, #e7e9ea);
1831 margin-top: 4px;
1832 max-width: 720px;
1833 padding: 12px 16px;
1834 }
1835
1836 .friends-page .friends-dm-message.is-own-message .friends-dm-message-content {
1837 background: light-dark(#e8f5fe, #031d31);
1838 }
1839
1840 .friends-page .friends-dm-message-content > :first-child { margin-top: 0; }
1841 .friends-page .friends-dm-message-content > :last-child { margin-bottom: 0; }
1842
1843 .friends-page .friends-dm-reply {
1844 background: light-dark(#fff, #000);
1845 border-top: 1px solid light-dark(#eff3f4, #2f3336);
1846 padding: 12px 16px;
1847 }
1848
1849 .friends-page .friends-dm-reply .form-horizontal .form-group {
1850 display: flex;
1851 gap: 10px;
1852 margin-bottom: 8px;
1853 }
1854
1855 .friends-page .friends-dm-reply .form-horizontal .form-group > div:first-child {
1856 flex: 0 0 72px;
1857 }
1858
1859 .friends-page .friends-dm-reply .form-horizontal .form-group > div:nth-child(2) {
1860 flex: 1 1 auto;
1861 max-width: none;
1862 }
1863
1864 .friends-page .friends-dm-reply .form-horizontal .form-input {
1865 background: transparent;
1866 border: 1px solid light-dark(#eff3f4, #2f3336);
1867 border-radius: 18px;
1868 color: light-dark(#0f1419, #e7e9ea);
1869 padding: 10px 16px;
1870 width: 100%;
1871 }
1872
1873 .friends-page .friends-dm-reply textarea.friends-message-message {
1874 min-height: 76px;
1875 resize: vertical;
1876 }
1877
1878 .friends-page .friends-dm-reply .btn {
1879 background: #1d9bf0;
1880 border: none;
1881 border-radius: 999px;
1882 color: #fff;
1883 font-weight: 700;
1884 padding: 8px 20px;
1885 }
1886
1887 .friends-page .friends-dm-reply .delete-conversation {
1888 height: auto;
1889 line-height: 1.2;
1890 max-width: 100%;
1891 white-space: normal;
1892 }
1893
1894 .friends-page .friends-dm-empty {
1895 background: light-dark(#fff, #000);
1896 border: 1px solid light-dark(#eff3f4, #2f3336);
1897 border-radius: 16px;
1898 grid-column: 1 / -1;
1899 margin: 16px;
1900 padding: 16px;
1901 }
1902
1903 @media (max-width: 840px) {
1904 .friends-page .friends-dm-view {
1905 grid-template-columns: 1fr;
1906 height: auto;
1907 }
1908
1909 .friends-page .friends-dm-sidebar {
1910 border-bottom: 1px solid light-dark(#eff3f4, #2f3336);
1911 border-right: 0;
1912 max-height: 16rem;
1913 }
1914 }
1915
1916 /* Header image as banner */
1917 .twitter-col-title-row.has-header-image {
1918 position: relative;
1919 background-size: cover;
1920 background-position: center;
1921 min-height: 200px;
1922 align-items: flex-end;
1923 padding-bottom: 12px;
1924 }
1925
1926 .twitter-col-title-row.has-header-image::before {
1927 content: '';
1928 position: absolute;
1929 inset: 0;
1930 background: linear-gradient(to bottom, transparent 0%, rgba(0,0,0,.7) 100%);
1931 }
1932
1933 .twitter-col-title-row.has-header-image > * {
1934 position: relative;
1935 z-index: 1;
1936 }
1937
1938 .twitter-col-title-row.has-header-image h2 a,
1939 .twitter-col-title-row.has-header-image #page-title a {
1940 color: #fff;
1941 text-shadow: 0 1px 3px rgba(0,0,0,.5);
1942 }
1943
1944 .twitter-col-title-row.has-header-image .twitter-title-avatar {
1945 width: 64px;
1946 height: 64px;
1947 border-radius: 50%;
1948 border: 3px solid #fff;
1949 box-shadow: 0 1px 4px rgba(0,0,0,.3);
1950 }
1951
1952 .twitter-col-title-row.has-header-image h2,
1953 .twitter-col-title-row.has-header-image #page-title {
1954 font-size: 20px;
1955 }
1956
1957 /* === Content Sections === */
1958 .friends-page section.subscriptions,
1959 .friends-page section.followers {
1960 padding: 16px;
1961 }
1962
1963 .friends-page section.followers ul,
1964 .friends-page section.subscriptions ul {
1965 list-style: none;
1966 padding-left: 0;
1967 }
1968
1969 /* Subscription items */
1970 .friends-page section.subscriptions .subscription-item {
1971 padding: 12px 0;
1972 border-bottom: 1px solid light-dark(#eff3f4, #2f3336);
1973 display: grid;
1974 grid-template-columns: 40px 1fr;
1975 grid-template-rows: auto auto auto;
1976 column-gap: 12px;
1977 row-gap: 2px;
1978 align-items: center;
1979 }
1980
1981 .friends-page section.subscriptions .subscription-item:last-child {
1982 border-bottom: none;
1983 }
1984
1985 .friends-page section.subscriptions .subscription-link {
1986 display: contents;
1987 text-decoration: none;
1988 color: light-dark(#0f1419, #e7e9ea);
1989 }
1990
1991 .friends-page section.subscriptions .subscription-link .avatar {
1992 border-radius: 50%;
1993 grid-row: 1 / 3;
1994 width: 40px;
1995 height: 40px;
1996 }
1997
1998 .friends-page section.subscriptions .subscription-info {
1999 display: inline-flex;
2000 align-items: center;
2001 gap: 6px;
2002 flex-wrap: wrap;
2003 }
2004
2005 .friends-page section.subscriptions .subscription-name {
2006 font-size: 15px;
2007 font-weight: 700;
2008 color: light-dark(#0f1419, #e7e9ea);
2009 }
2010
2011 .friends-page section.subscriptions .starred {
2012 color: #f91880;
2013 }
2014
2015 .friends-page section.subscriptions .subscription-folder {
2016 font-size: 12px;
2017 background: rgba(29,155,240,.1);
2018 padding: 2px 8px;
2019 border-radius: 9999px;
2020 color: #1d9bf0;
2021 }
2022
2023 .friends-page section.subscriptions .subscription-meta {
2024 grid-column: 2;
2025 font-size: 13px;
2026 color: light-dark(#536471, #71767b);
2027 }
2028
2029 .friends-page section.subscriptions .subscription-description {
2030 grid-column: 2;
2031 font-size: 15px;
2032 color: light-dark(#536471, #71767b);
2033 margin: 4px 0 0;
2034 }
2035
2036 .friends-page section.subscriptions .subscription-actions {
2037 grid-column: 2;
2038 margin-top: 4px;
2039 }
2040
2041 .friends-page section.subscriptions .subscription-action {
2042 display: inline-flex;
2043 align-items: center;
2044 gap: 4px;
2045 padding: 4px 10px;
2046 border-radius: 9999px;
2047 font-size: 13px;
2048 color: light-dark(#536471, #71767b);
2049 transition: color .15s, background .15s;
2050 text-decoration: none;
2051 }
2052
2053 .friends-page section.subscriptions .subscription-unfollow:hover {
2054 color: #f4212e;
2055 background: rgba(244,33,46,.1);
2056 text-decoration: none;
2057 }
2058
2059 .friends-page section.subscriptions .subscription-action .dashicons {
2060 font-size: 16px;
2061 width: 16px;
2062 height: 16px;
2063 vertical-align: middle;
2064 }
2065
2066 /* Follower items */
2067 .friends-page section.followers .follower-item {
2068 padding: 12px 0;
2069 border-bottom: 1px solid light-dark(#eff3f4, #2f3336);
2070 }
2071
2072 .friends-page section.followers .follower-item:last-child {
2073 border-bottom: none;
2074 }
2075
2076 .friends-page section.followers .follower-details > summary {
2077 list-style: none;
2078 display: grid;
2079 grid-template-columns: 40px 1fr auto;
2080 column-gap: 12px;
2081 row-gap: 0;
2082 align-items: start;
2083 cursor: pointer;
2084 }
2085
2086 .friends-page section.followers .follower-details > summary::-webkit-details-marker { display: none; }
2087 .friends-page section.followers .follower-details > summary::marker { display: none; content: ''; }
2088
2089 .friends-page section.followers .follower-link {
2090 display: contents;
2091 text-decoration: none;
2092 color: light-dark(#0f1419, #e7e9ea);
2093 }
2094
2095 .friends-page section.followers .follower-link .avatar {
2096 border-radius: 50%;
2097 grid-row: 1 / -1;
2098 width: 40px;
2099 height: 40px;
2100 max-width: none;
2101 }
2102
2103 .friends-page section.followers .follower-info {
2104 display: flex;
2105 align-items: baseline;
2106 gap: 6px;
2107 flex-wrap: wrap;
2108 min-width: 0;
2109 }
2110
2111 .friends-page section.followers .follower-name {
2112 font-size: 15px;
2113 font-weight: 700;
2114 color: light-dark(#0f1419, #e7e9ea);
2115 }
2116
2117 .friends-page section.followers .follower-handle {
2118 font-size: 15px;
2119 color: light-dark(#536471, #71767b);
2120 }
2121
2122 .friends-page section.followers .follower-meta {
2123 grid-column: 2;
2124 font-size: 13px;
2125 color: light-dark(#536471, #71767b);
2126 line-height: 1.3;
2127 }
2128
2129 .friends-page section.followers .follower-actions {
2130 display: flex;
2131 align-items: center;
2132 gap: 4px;
2133 grid-row: 1 / -1;
2134 }
2135
2136 .friends-page section.followers .follower-action,
2137 .friends-page section.followers .follower-status {
2138 display: inline-flex;
2139 align-items: center;
2140 gap: 4px;
2141 padding: 6px 16px;
2142 border-radius: 9999px;
2143 font-size: 14px;
2144 font-weight: 700;
2145 color: light-dark(#0f1419, #e7e9ea);
2146 border: 1px solid light-dark(#cfd9de, #536471);
2147 transition: background .15s;
2148 }
2149
2150 .friends-page section.followers .follower-action:hover {
2151 background: light-dark(rgba(15,20,25,.1), rgba(231,233,234,.1));
2152 text-decoration: none;
2153 }
2154
2155 .friends-page section.followers .follower-delete:hover {
2156 color: #f4212e;
2157 border-color: rgba(244,33,46,.5);
2158 background: rgba(244,33,46,.1);
2159 }
2160
2161 .friends-page section.followers .follower-status {
2162 color: #00ba7c;
2163 border-color: #00ba7c;
2164 }
2165
2166 .friends-page section.followers .follower-actions .dashicons {
2167 font-size: 18px;
2168 width: 18px;
2169 height: 18px;
2170 vertical-align: middle;
2171 }
2172
2173 .friends-page section.followers .follower-description {
2174 grid-column: 2 / -1;
2175 font-size: 15px;
2176 color: light-dark(#536471, #71767b);
2177 margin: 4px 0 0;
2178 display: -webkit-box;
2179 -webkit-line-clamp: 2;
2180 -webkit-box-orient: vertical;
2181 overflow: hidden;
2182 }
2183
2184 .friends-page section.followers .loading-posts {
2185 grid-column: 2;
2186 font-size: 13px;
2187 color: light-dark(#536471, #71767b);
2188 padding: 8px 0;
2189 }
2190
2191 /* Filter & sort controls */
2192 .friends-page section.followers > p,
2193 .friends-page section.subscriptions > p {
2194 font-size: 15px;
2195 color: light-dark(#536471, #71767b);
2196 margin-bottom: 8px;
2197 }
2198
2199 .friends-page section.followers > p a,
2200 .friends-page section.subscriptions > p a {
2201 color: #1d9bf0;
2202 }
2203
2204 .friends-page section.followers > p strong,
2205 .friends-page section.subscriptions > p strong {
2206 color: light-dark(#0f1419, #e7e9ea);
2207 }
2208
2209 /* Search form */
2210 .friends-page section.followers .friends-search,
2211 .friends-page section.subscriptions .friends-search {
2212 display: flex;
2213 flex-wrap: wrap;
2214 align-items: center;
2215 gap: 8px;
2216 margin: 0 0 12px;
2217 font-size: 15px;
2218 color: light-dark(#536471, #71767b);
2219 }
2220
2221 .friends-page section.followers .friends-search-label,
2222 .friends-page section.subscriptions .friends-search-label {
2223 display: inline-flex;
2224 align-items: center;
2225 gap: 6px;
2226 flex: 1 1 240px;
2227 min-width: 0;
2228 }
2229
2230 .friends-page section.followers .friends-search-input,
2231 .friends-page section.subscriptions .friends-search-input {
2232 flex: 1 1 auto;
2233 min-width: 0;
2234 box-sizing: border-box;
2235 padding: 8px 14px;
2236 font-size: 15px;
2237 line-height: 1.3;
2238 color: light-dark(#0f1419, #e7e9ea);
2239 background: light-dark(#fff, #16181c);
2240 border: 1px solid light-dark(#eff3f4, #2f3336);
2241 border-radius: 9999px;
2242 }
2243
2244 .friends-page section.followers .friends-search-input:focus,
2245 .friends-page section.subscriptions .friends-search-input:focus {
2246 outline: none;
2247 border-color: #1d9bf0;
2248 box-shadow: 0 0 0 1px #1d9bf0;
2249 }
2250
2251 .friends-page section.followers .friends-search-submit,
2252 .friends-page section.subscriptions .friends-search-submit {
2253 padding: 8px 18px;
2254 font-size: 15px;
2255 font-weight: 700;
2256 line-height: 1.3;
2257 background: #1d9bf0;
2258 color: #fff;
2259 border: 0;
2260 border-radius: 9999px;
2261 cursor: pointer;
2262 }
2263
2264 .friends-page section.followers .friends-search-submit:hover,
2265 .friends-page section.subscriptions .friends-search-submit:hover {
2266 background: #1a8cd8;
2267 }
2268
2269 .friends-page section.followers .friends-search-clear,
2270 .friends-page section.subscriptions .friends-search-clear {
2271 color: #1d9bf0;
2272 font-size: 14px;
2273 }
2274
2275 /* === Pagination === */
2276 .friends-page .navigation {
2277 padding: 16px;
2278 font-size: 15px;
2279 border-top: 1px solid light-dark(#eff3f4, #2f3336);
2280 }
2281
2282 .friends-page .navigation a { color: #1d9bf0; }
2283
2284 /* === Loading === */
2285 .friends-page .loading {
2286 color: transparent !important;
2287 pointer-events: none;
2288 position: relative;
2289 min-height: 20px;
2290 min-width: 20px;
2291 animation: none;
2292 border: 0;
2293 }
2294
2295 .friends-page .loading::after {
2296 content: "";
2297 display: block;
2298 position: absolute;
2299 top: 50%;
2300 left: 50%;
2301 width: 20px;
2302 height: 20px;
2303 margin-top: -10px;
2304 margin-left: -10px;
2305 border: 2px solid light-dark(#eff3f4, #2f3336);
2306 border-top-color: #1d9bf0;
2307 border-radius: 50%;
2308 animation: twitter-spin .7s linear infinite;
2309 }
2310
2311 @keyframes twitter-spin {
2312 to { transform: rotate(360deg); }
2313 }
2314
2315 /* === Utility === */
2316 .friends-page .d-hide { display: none !important; }
2317 .friends-page .mb-2 { margin-bottom: 8px; }
2318 .friends-page .ml-1 { margin-left: 4px; }
2319 .friends-page .mr-2 { margin-right: 8px; }
2320 .friends-page .text { font-size: 13px; }
2321 .friends-page .mention-indicator { color: #1d9bf0; font-weight: 700; }
2322 .friends-page .toggle-compact { cursor: pointer; }
2323 .friends-page .overflow { display: none; }
2324
2325 /* Migration notification */
2326 .friends-page .friends-migration-notification {
2327 display: flex;
2328 align-items: center;
2329 gap: .4rem;
2330 padding: .5rem 1rem;
2331 background: light-dark(#fef9e7, #2a2410);
2332 border-bottom: 1px solid light-dark(#e8c840, #5a4a00);
2333 font-size: .85rem;
2334 white-space: nowrap;
2335 overflow: hidden;
2336 }
2337 .friends-page .friends-migration-notification .friends-migration-notification-meta {
2338 margin-left: auto;
2339 display: flex;
2340 align-items: center;
2341 gap: .5rem;
2342 white-space: nowrap;
2343 opacity: .75;
2344 }
2345 .friends-page .friends-migration-notification button {
2346 background: none;
2347 border: 1px solid currentColor;
2348 border-radius: 9999px;
2349 cursor: pointer;
2350 font-size: .8rem;
2351 padding: 2px 8px;
2352 }
2353
2354 /* === Compact (all-collapsed) Mode === */
2355
2356 .friends-page .posts.all-collapsed article.card:not(.uncollapsed) .card-body,
2357 .friends-page .posts.all-collapsed article.card:not(.uncollapsed) .entry-content,
2358 .friends-page .posts.all-collapsed article.card:not(.uncollapsed) footer.entry-meta {
2359 display: none;
2360 }
2361
2362 .friends-page .posts.all-collapsed article.card:not(.uncollapsed) .card-title {
2363 margin: 2px 0 0;
2364 white-space: nowrap;
2365 overflow: hidden;
2366 text-overflow: ellipsis;
2367 }
2368
2369 .friends-page .posts.all-collapsed article.card:not(.uncollapsed) .card-title a {
2370 font-size: 13px;
2371 font-weight: 400;
2372 color: light-dark(#536471, #71767b);
2373 }
2374
2375 .friends-page .posts.all-collapsed article.card:not(.uncollapsed) {
2376 padding: 8px 12px 8px 52px;
2377 cursor: pointer;
2378 }
2379
2380 .friends-page .posts.all-collapsed article.card:not(.uncollapsed) .card-header > div.avatar {
2381 top: 8px;
2382 left: 12px;
2383 }
2384
2385 .friends-page .posts.all-collapsed article.card:not(.uncollapsed) .card-header .avatar img {
2386 width: 28px;
2387 height: 28px;
2388 }
2389
2390 .friends-page .posts.all-collapsed article.card:not(.uncollapsed) .card-header {
2391 margin-bottom: 0;
2392 align-items: center;
2393 }
2394
2395 .friends-page .posts.all-collapsed article.card:not(.uncollapsed) .post-meta {
2396 display: flex;
2397 align-items: center;
2398 gap: 6px;
2399 flex-wrap: nowrap;
2400 overflow: hidden;
2401 }
2402
2403 .friends-page .posts.all-collapsed article.card:not(.uncollapsed) .author {
2404 flex-shrink: 0;
2405 }
2406
2407 .friends-page .posts.all-collapsed article.card:not(.uncollapsed) .author::after {
2408 content: '\00b7';
2409 margin-left: 6px;
2410 color: light-dark(#536471, #71767b);
2411 }
2412
2413 .friends-page .posts.all-collapsed article.card:not(.uncollapsed) .permalink {
2414 flex-shrink: 0;
2415 font-size: 13px;
2416 }
2417
2418 .friends-page .posts.all-collapsed article.card:not(.uncollapsed) .reading-time {
2419 display: none;
2420 }
2421
2422 .friends-page .posts.all-collapsed article.card:not(.uncollapsed) div.teaser {
2423 display: block;
2424 font-size: 13px;
2425 color: light-dark(#536471, #71767b);
2426 white-space: nowrap;
2427 overflow: hidden;
2428 text-overflow: ellipsis;
2429 margin-top: 2px;
2430 }
2431
2432 .friends-page .posts.all-collapsed article.card:not(.uncollapsed) div.teaser p {
2433 display: inline;
2434 margin: 0;
2435 }
2436
2437 .friends-page .posts.all-collapsed article.card:not(.uncollapsed) .reblog-info,
2438 .friends-page .posts.all-collapsed article.card:not(.uncollapsed) .reblogged-by {
2439 display: none;
2440 }
2441
2442 .friends-page .posts.all-collapsed article.card:not(.uncollapsed) .overflow {
2443 display: none;
2444 }
2445
2446 .friends-page .posts.all-collapsed article.card.uncollapsed div.teaser {
2447 display: none;
2448 }
2449
2450 .friends-page .posts.all-collapsed article.card.mast-current:not(.uncollapsed) {
2451 background: light-dark(rgba(0,0,0,.03), rgba(231,233,234,.03));
2452 }
2453
2454 /* === Link Previews === */
2455 .friends-page a.friends-link-preview {
2456 display: flex;
2457 flex-direction: column;
2458 margin-top: 12px;
2459 overflow: hidden;
2460 border: 1px solid light-dark(#cfd9de, #2f3336);
2461 border-radius: 16px;
2462 color: inherit;
2463 text-decoration: none;
2464 }
2465
2466 .friends-page a.friends-link-preview:hover {
2467 background: light-dark(#f7f9f9, #16181c);
2468 text-decoration: none;
2469 }
2470
2471 .friends-page a.friends-link-preview .friends-link-preview-image img {
2472 display: block;
2473 width: 100%;
2474 height: auto;
2475 object-fit: cover;
2476 aspect-ratio: 1.91 / 1;
2477 }
2478
2479 .friends-page a.friends-link-preview .friends-link-preview-text {
2480 display: flex;
2481 flex-direction: column;
2482 gap: 2px;
2483 padding: 12px;
2484 min-width: 0;
2485 }
2486
2487 .friends-page a.friends-link-preview .friends-link-preview-host {
2488 color: light-dark(#536471, #71767b);
2489 font-size: 15px;
2490 }
2491
2492 .friends-page a.friends-link-preview .friends-link-preview-title {
2493 font-size: 15px;
2494 font-weight: 400;
2495 line-height: 1.3;
2496 }
2497
2498 .friends-page a.friends-link-preview .friends-link-preview-description {
2499 color: light-dark(#536471, #71767b);
2500 font-size: 15px;
2501 line-height: 1.3;
2502 display: -webkit-box;
2503 -webkit-line-clamp: 2;
2504 -webkit-box-orient: vertical;
2505 overflow: hidden;
2506 }
2507