PluginProbe
Friends / 4.3.2
Friends v4.3.2
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 / google-reader / google-reader.css

google-reader.css in Friends 4.3.2, at templates/google-reader/google-reader.css

1,766 lines 40.1 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /* Friends Google Reader Theme - Standalone */
2
3 /* === Reset & Base === */
4 .friends-page {
5 margin: 0;
6 padding: 0;
7 font-family: Arial, sans-serif;
8 font-size: 13px;
9 line-height: 1.4;
10 color-scheme: light dark;
11 color: light-dark(#222, #e8eaed);
12 background: light-dark(#fff, #202124);
13 min-height: 100vh;
14 overflow-wrap: break-word;
15 }
16
17 .friends-page *, .friends-page *::before, .friends-page *::after {
18 box-sizing: border-box;
19 }
20
21 .friends-page a { color: light-dark(#1a0dab, #8ab4f8); text-decoration: none; }
22 .friends-page a:visited { color: light-dark(#1a0dab, #8ab4f8); }
23 .friends-page a:hover { text-decoration: underline; }
24 .friends-page img { max-width: 100%; height: auto; }
25 .friends-page h1, .friends-page h2, .friends-page h3, .friends-page h4 { margin: 0; font-weight: normal; }
26 .friends-page ul, .friends-page ol { margin: 0; padding: 0; }
27 .friends-page p { margin: 0 0 .5em; }
28 .friends-page code, .friends-page pre { overflow: auto; font-size: 12px; }
29
30 /* === Off-Canvas Layout === */
31 .friends-page.off-canvas {
32 display: flex;
33 min-height: 100vh;
34 }
35
36 .friends-page .off-canvas-sidebar {
37 width: 268px;
38 flex-shrink: 0;
39 background: light-dark(#fff, #292a2d);
40 border-right: 1px solid light-dark(#d4d4d4, #3c4043);
41 margin-top: 32px;
42 overflow-y: auto;
43 padding: 0;
44 position: fixed;
45 top: 0;
46 bottom: 0;
47 left: 0;
48 z-index: 10;
49 }
50
51 .friends-page .off-canvas-content {
52 flex: 1;
53 margin-left: 268px;
54 margin-top: 32px;
55 min-width: 0;
56 background: light-dark(#fff, #202124);
57 }
58
59 .friends-page .off-canvas-overlay { display: none; }
60
61 .friends-page .off-canvas-toggle {
62 display: none;
63 }
64
65 @media (max-width: 960px) {
66 .friends-page .off-canvas-sidebar {
67 transform: translateX(-100%);
68 transition: transform .2s;
69 }
70 .friends-page .off-canvas-sidebar:target {
71 transform: translateX(0);
72 }
73 .friends-page .off-canvas-content {
74 margin-left: 0;
75 }
76 .friends-page .off-canvas-toggle {
77 display: inline-block;
78 }
79 .friends-page .off-canvas-overlay {
80 display: block;
81 position: fixed;
82 inset: 0;
83 z-index: 5;
84 background: rgba(0,0,0,.3);
85 opacity: 0;
86 pointer-events: none;
87 }
88 .friends-page .off-canvas-sidebar:target ~ .off-canvas-overlay {
89 opacity: 1;
90 pointer-events: auto;
91 }
92 }
93
94 @media (max-width: 782px) {
95 .friends-page .off-canvas-sidebar,
96 .friends-page .off-canvas-content {
97 margin-top: 46px;
98 }
99 }
100
101 @media (max-width: 640px) {
102 .friends-page header.navbar {
103 flex-direction: column;
104 align-items: stretch;
105 gap: 6px;
106 }
107 .friends-page .navbar-section.search {
108 margin-left: 0;
109 }
110 }
111
112 /* === Sidebar === */
113 .friends-page .friends-brand {
114 padding: 14px 16px 10px;
115 border-bottom: 1px solid light-dark(#d4d4d4, #3c4043);
116 margin-bottom: 8px;
117 }
118
119 .friends-page .friends-brand h2 {
120 font-size: 22px;
121 font-weight: bold;
122 color: light-dark(#dd4b39, #ea4335);
123 margin: 0;
124 }
125
126 .friends-page .friends-brand a { color: light-dark(#dd4b39, #ea4335); }
127 .friends-page .friends-brand a:hover { text-decoration: none; }
128
129 .friends-page .friends-sidebar-customize {
130 font-size: 11px;
131 color: light-dark(#999, #9aa0a6);
132 display: block;
133 margin-top: 4px;
134 }
135
136 .friends-page .friends-widget {
137 padding: 0 16px;
138 }
139
140 .friends-page .friends-nav {
141 padding: 4px 0;
142 }
143
144 /* Accordion/details widgets */
145 .friends-page .accordion {
146 border: none;
147 margin: 0;
148 }
149
150 .friends-page .accordion summary,
151 .friends-page .accordion .accordion-header {
152 display: block;
153 padding: 6px 0;
154 font-size: 11px;
155 font-weight: bold;
156 color: light-dark(#555, #bdc1c6);
157 text-transform: uppercase;
158 letter-spacing: .3px;
159 cursor: pointer;
160 list-style: none;
161 }
162
163 .friends-page .accordion summary::-webkit-details-marker { display: none; }
164 .friends-page .accordion summary::marker { display: none; content: ''; }
165
166 .friends-page .friends-widget .dashicons {
167 font-size: 14px;
168 width: 14px;
169 height: 14px;
170 vertical-align: text-bottom;
171 }
172
173 /* Menu lists in sidebar */
174 .friends-page .menu, .friends-page .menu-nav {
175 list-style: none;
176 padding: 0;
177 margin: 0;
178 }
179
180 .friends-page .menu-item a,
181 .friends-page .friend-list .menu-item a {
182 display: block;
183 padding: 2px 0 2px 12px;
184 color: light-dark(#222, #e8eaed);
185 font-size: 13px;
186 line-height: 1.8;
187 text-decoration: none;
188 white-space: nowrap;
189 overflow: hidden;
190 text-overflow: ellipsis;
191 }
192
193 .friends-page .menu-item a:hover {
194 background: light-dark(#c2dbff, #3c4043);
195 text-decoration: none;
196 margin: 0 -16px;
197 padding-left: 28px;
198 padding-right: 16px;
199 }
200
201 .friends-page .friend-stats .menu-item a {
202 font-size: 13px;
203 }
204
205 /* === Header / Navbar === */
206 .friends-page header.navbar {
207 display: flex;
208 align-items: center;
209 justify-content: space-between;
210 background: light-dark(#f1f1f1, #292a2d);
211 border-bottom: 1px solid light-dark(#d4d4d4, #3c4043);
212 padding: 4px 16px;
213 margin-bottom: 0;
214 }
215
216 .friends-page header.navbar.no-bottom-margin { margin-bottom: 0; }
217
218 .friends-page .navbar-section.author {
219 flex: 1;
220 min-width: 0;
221 }
222
223 .friends-page .navbar-section.search {
224 flex-shrink: 0;
225 margin-left: 12px;
226 }
227
228 .friends-page h2#page-title {
229 font-size: 16px;
230 font-weight: bold;
231 color: light-dark(#222, #e8eaed);
232 margin: 2px 0;
233 white-space: nowrap;
234 overflow: hidden;
235 text-overflow: ellipsis;
236 }
237
238 .friends-page h2#page-title a { color: light-dark(#222, #e8eaed); }
239 .friends-page h2#page-title a:hover { text-decoration: none; }
240
241 .friends-page h2#page-title a.dashicons {
242 font-size: 14px;
243 width: 14px;
244 height: 14px;
245 color: #c90;
246 vertical-align: baseline;
247 margin-right: 4px;
248 }
249
250 /* === Chips === */
251 .friends-page .chip {
252 display: inline-block;
253 background: light-dark(#e3ecf8, #3c4043);
254 border: 1px solid light-dark(#bcd, #5f6368);
255 border-radius: 2px;
256 padding: 0 5px;
257 margin: 1px;
258 font-size: 11px;
259 color: light-dark(#555, #bdc1c6);
260 line-height: 1.8;
261 text-decoration: none;
262 white-space: nowrap;
263 }
264
265 .friends-page a.chip:visited { color: light-dark(#555, #bdc1c6); }
266 .friends-page .chip:hover { background: light-dark(#d0e0f5, #4a4d51); text-decoration: none; }
267 .friends-page span.chip { color: light-dark(#666, #bdc1c6); cursor: default; }
268 .friends-page span.chip:hover { background: light-dark(#e3ecf8, #3c4043); }
269 .friends-page .chip.activitypub-follower-check.is-following {
270 background: light-dark(#e4f6e8, rgba(46,160,67,.22));
271 color: light-dark(#116329, #8ddb8c);
272 }
273 .friends-page .chip.activitypub-follower-check.is-not-following {
274 background: light-dark(#fff4d6, rgba(210,153,34,.22));
275 color: light-dark(#7a4d00, #eac55f);
276 }
277 .friends-page .chip.activitypub-follower-check.is-error {
278 background: light-dark(#fde7e9, rgba(218,54,51,.22));
279 color: light-dark(#8a2424, #ff9b9b);
280 }
281
282 /* === Search === */
283 .friends-page .form-input,
284 .friends-page input[type="text"] {
285 border: 1px solid light-dark(#d4d4d4, #3c4043);
286 border-radius: 1px;
287 padding: 4px 8px;
288 font-size: 13px;
289 font-family: Arial, sans-serif;
290 outline: none;
291 }
292
293 .friends-page .form-input:focus,
294 .friends-page input[type="text"]:focus {
295 border-color: #4d90fe;
296 box-shadow: inset 0 1px 2px rgba(0,0,0,.1);
297 }
298
299 .friends-page .btn,
300 .friends-page button {
301 background: light-dark(#f5f5f5, #3c4043);
302 border: 1px solid light-dark(#dcdcdc, #5f6368);
303 border-radius: 2px;
304 padding: 4px 12px;
305 font-size: 11px;
306 font-family: Arial, sans-serif;
307 color: light-dark(#444, #bdc1c6);
308 cursor: pointer;
309 line-height: 1.6;
310 }
311
312 .friends-page .btn:hover { background: #e8e8e8; box-shadow: 0 1px 1px rgba(0,0,0,.1); }
313
314 .friends-page .btn-primary {
315 background: #4d90fe;
316 border-color: #3079ed;
317 color: #fff;
318 }
319
320 .friends-page .btn-primary:hover { background: #357ae8; }
321
322 .friends-page .input-group {
323 display: flex;
324 }
325
326 .friends-page .input-group .form-input,
327 .friends-page .input-group input[type="text"] {
328 flex: 1;
329 border-right: 0;
330 }
331
332 .friends-page .input-group .input-group-btn,
333 .friends-page .input-group .btn {
334 border-radius: 0 2px 2px 0;
335 }
336
337 .friends-page .form-autocomplete {
338 position: relative;
339 }
340
341 .friends-page .form-autocomplete .menu {
342 position: absolute;
343 top: 100%;
344 left: 0;
345 right: 0;
346 background: light-dark(#fff, #292a2d);
347 border: 1px solid light-dark(#d4d4d4, #3c4043);
348 z-index: 100;
349 max-height: 300px;
350 overflow-y: auto;
351 }
352
353 .friends-page .has-icon-right { position: relative; }
354 .friends-page .has-icon-right .form-icon {
355 position: absolute;
356 right: 8px;
357 top: 50%;
358 transform: translateY(-50%);
359 }
360
361 /* === Content sections === */
362 .friends-page section.subscriptions,
363 .friends-page section.followers {
364 padding: 12px 16px;
365 }
366
367 .friends-page section.followers ul,
368 .friends-page section.subscriptions ul {
369 list-style: none;
370 padding-left: 0;
371 }
372
373 /* Search form */
374 .friends-page section.followers .friends-search,
375 .friends-page section.subscriptions .friends-search {
376 display: flex;
377 flex-wrap: wrap;
378 align-items: center;
379 gap: 6px;
380 margin: 0 0 10px;
381 font-size: 13px;
382 color: #333;
383 }
384
385 .friends-page section.followers .friends-search-label,
386 .friends-page section.subscriptions .friends-search-label {
387 display: inline-flex;
388 align-items: center;
389 gap: 4px;
390 flex: 1 1 240px;
391 min-width: 0;
392 }
393
394 .friends-page section.followers .friends-search-input,
395 .friends-page section.subscriptions .friends-search-input {
396 flex: 1 1 auto;
397 min-width: 0;
398 box-sizing: border-box;
399 padding: 4px 8px;
400 font-size: 13px;
401 line-height: 1.3;
402 color: #222;
403 background: #fff;
404 border: 1px solid #bbb;
405 border-radius: 2px;
406 }
407
408 .friends-page section.followers .friends-search-input:focus,
409 .friends-page section.subscriptions .friends-search-input:focus {
410 outline: none;
411 border-color: #4d90fe;
412 box-shadow: 0 0 0 1px #4d90fe;
413 }
414
415 .friends-page section.followers .friends-search-submit,
416 .friends-page section.subscriptions .friends-search-submit {
417 padding: 4px 12px;
418 font-size: 13px;
419 line-height: 1.3;
420 background: linear-gradient(#f5f5f5, #f1f1f1);
421 color: #222;
422 border: 1px solid #bbb;
423 border-radius: 2px;
424 cursor: pointer;
425 }
426
427 .friends-page section.followers .friends-search-submit:hover,
428 .friends-page section.subscriptions .friends-search-submit:hover {
429 background: linear-gradient(#f8f8f8, #f1f1f1);
430 border-color: #999;
431 }
432
433 .friends-page section.followers .friends-search-clear,
434 .friends-page section.subscriptions .friends-search-clear {
435 color: #15c;
436 font-size: 12px;
437 }
438
439 .friends-page section.subscriptions .subscription-item {
440 padding: 8px 0;
441 border-bottom: 1px solid #e8e8e8;
442 display: grid;
443 grid-template-columns: 40px 1fr;
444 grid-template-rows: auto auto auto;
445 column-gap: 8px;
446 row-gap: 2px;
447 align-items: center;
448 }
449
450 .friends-page section.subscriptions .subscription-item:last-child {
451 border-bottom: none;
452 }
453
454 .friends-page section.subscriptions .subscription-link {
455 display: contents;
456 text-decoration: none;
457 }
458
459 .friends-page section.subscriptions .subscription-link .avatar {
460 border-radius: 50%;
461 grid-row: 1 / 3;
462 }
463
464 .friends-page section.subscriptions .subscription-info {
465 display: inline-flex;
466 align-items: center;
467 gap: 4px;
468 flex-wrap: wrap;
469 }
470
471 .friends-page section.subscriptions .starred {
472 color: #f5a623;
473 }
474
475 .friends-page section.subscriptions .subscription-folder {
476 font-size: 0.8em;
477 background: #e8e8e8;
478 padding: 1px 6px;
479 border-radius: 3px;
480 color: #666;
481 }
482
483 .friends-page section.subscriptions .subscription-meta {
484 grid-column: 2;
485 font-size: 0.85em;
486 color: #888;
487 }
488
489 .friends-page section.subscriptions .subscription-description {
490 grid-column: 2;
491 font-size: 0.85em;
492 color: #666;
493 margin: 0;
494 }
495
496 .friends-page section.subscriptions .subscription-actions {
497 grid-column: 2;
498 display: flex;
499 align-items: center;
500 margin-top: 2px;
501 }
502
503 .friends-page section.subscriptions .subscription-action {
504 display: inline-flex;
505 align-items: center;
506 gap: 3px;
507 width: max-content;
508 max-width: 100%;
509 }
510
511 .friends-page section.followers .follower-actions {
512 display: inline-flex;
513 flex-wrap: wrap;
514 align-items: center;
515 gap: 6px;
516 }
517
518 .friends-page section.followers .follower-status,
519 .friends-page section.followers .follower-action {
520 display: inline-flex;
521 align-items: center;
522 border-bottom: 0;
523 gap: 3px;
524 line-height: 1.4;
525 margin-left: 0;
526 vertical-align: baseline;
527 }
528
529 .friends-page section.followers .follower-status .dashicons,
530 .friends-page section.followers .follower-action .dashicons {
531 display: inline-flex;
532 align-items: center;
533 border-bottom: 0;
534 justify-content: center;
535 font-size: 14px;
536 height: 14px;
537 line-height: 1;
538 margin: 0;
539 vertical-align: text-bottom;
540 width: 14px;
541 }
542
543 /* Direct messages */
544 .friends-page .friends-dm-view {
545 background: #fff;
546 border: 1px solid #d4d4d4;
547 display: grid;
548 grid-template-columns: minmax(220px, 300px) minmax(0, 1fr);
549 height: calc(var(--friends-dm-viewport-height, 100vh) - 50px);
550 min-height: 30rem;
551 }
552
553 .friends-page .friends-dm-sidebar {
554 background: #f5f5f5;
555 border-right: 1px solid #d4d4d4;
556 overflow: auto;
557 }
558
559 .friends-page .friends-profile-messages {
560 overflow: hidden;
561 padding: 0 !important;
562 }
563
564 .friends-page .friends-profile-messages-header {
565 align-items: center;
566 border-bottom: 1px solid #e8e8e8;
567 display: flex;
568 justify-content: space-between;
569 padding: 7px 8px;
570 }
571
572 .friends-page .friends-profile-messages .friends-dm-conversation,
573 .friends-page .friends-profile-messages .friends-dm-conversation:visited {
574 grid-template-columns: minmax(0, 1fr) auto;
575 }
576
577 .friends-page .friends-dm-conversation,
578 .friends-page .friends-dm-conversation:visited {
579 border-bottom: 1px solid #e8e8e8;
580 color: #222;
581 display: grid;
582 gap: 2px 8px;
583 grid-template-columns: 32px minmax(0, 1fr) auto;
584 padding: 7px 8px;
585 text-decoration: none;
586 }
587
588 .friends-page .friends-dm-conversation:hover,
589 .friends-page .friends-dm-conversation:focus,
590 .friends-page .friends-dm-conversation.is-selected {
591 background: #fff8d8;
592 text-decoration: none;
593 }
594
595 .friends-page .friends-dm-conversation.is-unread .friends-dm-conversation-name,
596 .friends-page .friends-dm-conversation.is-unread .friends-dm-conversation-preview {
597 font-weight: 700;
598 }
599
600 .friends-page .friends-dm-conversation .avatar,
601 .friends-page .friends-dm-thread-header .avatar,
602 .friends-page .friends-dm-message-avatar .avatar {
603 border-radius: 2px;
604 display: block;
605 object-fit: cover;
606 }
607
608 .friends-page .friends-dm-conversation .avatar {
609 height: 32px;
610 width: 32px;
611 }
612
613 .friends-page .friends-dm-conversation-main {
614 display: grid;
615 min-width: 0;
616 }
617
618 .friends-page .friends-dm-conversation-name,
619 .friends-page .friends-dm-conversation-preview {
620 overflow: hidden;
621 text-overflow: ellipsis;
622 white-space: nowrap;
623 }
624
625 .friends-page .friends-dm-conversation-preview,
626 .friends-page .friends-dm-conversation-meta,
627 .friends-page .friends-dm-message-meta time {
628 color: #666;
629 }
630
631 .friends-page .friends-dm-conversation-meta {
632 align-items: end;
633 display: flex;
634 flex-direction: column;
635 font-size: 11px;
636 gap: 4px;
637 }
638
639 .friends-page .friends-dm-unread-count {
640 background: #dd4b39;
641 border-radius: 2px;
642 color: #fff;
643 font-size: 11px;
644 font-weight: 700;
645 line-height: 1;
646 min-width: 18px;
647 padding: 3px 5px;
648 text-align: center;
649 }
650
651 .friends-page .friends-dm-thread {
652 display: grid;
653 grid-template-rows: auto minmax(0, 1fr) auto;
654 min-width: 0;
655 }
656
657 .friends-page .friends-dm-thread-header {
658 align-items: center;
659 background: #f5f5f5;
660 border-bottom: 1px solid #d4d4d4;
661 display: flex;
662 gap: 8px;
663 min-height: 48px;
664 padding: 7px 10px;
665 }
666
667 .friends-page .friends-dm-thread-header h3 {
668 color: #222;
669 font-size: 15px;
670 line-height: 1.2;
671 margin: 0;
672 }
673
674 .friends-page .friends-dm-thread-header a {
675 font-size: 12px;
676 }
677
678 .friends-page .friends-dm-back {
679 display: none;
680 }
681
682 .friends-page .friends-dm-messages {
683 background: #fff;
684 overflow: auto;
685 padding: 10px;
686 }
687
688 .friends-page .friends-dm-message {
689 display: grid;
690 gap: 8px;
691 grid-template-columns: 28px minmax(0, 1fr);
692 margin: 0 0 10px;
693 }
694
695 .friends-page .friends-dm-message-meta {
696 align-items: baseline;
697 display: flex;
698 flex-wrap: wrap;
699 gap: 6px;
700 line-height: 1.2;
701 }
702
703 .friends-page .friends-dm-message-meta strong {
704 color: #222;
705 }
706
707 .friends-page .friends-dm-delivery-status {
708 color: #666;
709 cursor: help;
710 font-size: 11px;
711 }
712
713 .friends-page .friends-dm-delivery-status::before {
714 content: "·";
715 margin-right: 6px;
716 }
717
718 .friends-page .friends-dm-delivery-icon {
719 align-items: center;
720 display: inline-flex;
721 flex: 0 0 auto;
722 height: 16px;
723 justify-content: center;
724 line-height: 1;
725 position: relative;
726 width: 16px;
727 }
728
729 .friends-page .friends-dm-delivery-icon::before {
730 border: 1.5px solid currentColor;
731 border-radius: 50%;
732 box-sizing: border-box;
733 content: "";
734 height: 14px;
735 margin: 0;
736 width: 14px;
737 }
738
739 .friends-page .friends-dm-delivery-icon::after {
740 border: solid currentColor;
741 border-width: 0 1.5px 1.5px 0;
742 content: "";
743 height: 7px;
744 left: 6px;
745 position: absolute;
746 top: 3px;
747 transform: rotate(45deg);
748 width: 4px;
749 }
750
751 .friends-page .friends-dm-delivery-icon.is-queued::before {
752 border-style: dotted;
753 }
754
755 .friends-page .friends-dm-delivery-icon.is-sending::before {
756 border-style: dashed;
757 }
758
759 .friends-page .friends-dm-delivery-icon.is-failed::after {
760 border: 0;
761 content: "!";
762 font-size: 11px;
763 font-weight: 700;
764 height: auto;
765 left: auto;
766 position: absolute;
767 top: 2px;
768 transform: none;
769 width: auto;
770 }
771
772 .friends-page .friends-dm-delivery-tooltip {
773 background: #fff;
774 border: 1px solid #c7c7c7;
775 border-radius: 3px;
776 box-shadow: 0 4px 12px rgb(0 0 0 / 16%);
777 color: #222;
778 font-size: 12px;
779 line-height: 1.3;
780 overflow-wrap: break-word;
781 padding: 6px 8px;
782 pointer-events: none;
783 position: fixed;
784 white-space: normal;
785 width: min(18rem, calc(100vw - 2rem));
786 z-index: 9999;
787 }
788
789 .friends-page .friends-dm-delivery-status.is-failed {
790 color: #dd4b39;
791 }
792
793 .friends-page .friends-dm-message-content {
794 background: #f9f9f9;
795 border: 1px solid #e8e8e8;
796 border-radius: 2px;
797 color: #222;
798 margin-top: 3px;
799 max-width: 720px;
800 padding: 7px 9px;
801 }
802
803 .friends-page .friends-dm-message.is-own-message .friends-dm-message-content {
804 background: #eef4ff;
805 }
806
807 .friends-page .friends-dm-message-content > :first-child { margin-top: 0; }
808 .friends-page .friends-dm-message-content > :last-child { margin-bottom: 0; }
809
810 .friends-page .friends-dm-reply {
811 background: #f5f5f5;
812 border-top: 1px solid #d4d4d4;
813 padding: 8px 10px;
814 }
815
816 .friends-page .friends-dm-reply .form-horizontal .form-group {
817 display: flex;
818 gap: 8px;
819 margin-bottom: 6px;
820 }
821
822 .friends-page .friends-dm-reply .form-horizontal .form-group > div:first-child {
823 flex: 0 0 56px;
824 }
825
826 .friends-page .friends-dm-reply .form-horizontal .form-group > div:nth-child(2) {
827 flex: 1 1 auto;
828 max-width: none;
829 }
830
831 .friends-page .friends-dm-reply .form-horizontal .form-input {
832 background: #fff;
833 border: 1px solid #bbb;
834 border-radius: 2px;
835 color: #222;
836 padding: 5px 7px;
837 width: 100%;
838 }
839
840 .friends-page .friends-dm-reply textarea.friends-message-message {
841 min-height: 64px;
842 resize: vertical;
843 }
844
845 .friends-page .friends-dm-reply .btn {
846 background: linear-gradient(#f5f5f5, #f1f1f1);
847 border: 1px solid #bbb;
848 border-radius: 2px;
849 color: #222;
850 padding: 4px 12px;
851 }
852
853 .friends-page .friends-dm-reply .delete-conversation {
854 height: auto;
855 line-height: 1.2;
856 max-width: 100%;
857 white-space: normal;
858 }
859
860 .friends-page .friends-dm-empty {
861 background: #fff;
862 border: 1px solid #d4d4d4;
863 border-radius: 2px;
864 grid-column: 1 / -1;
865 margin: 12px;
866 padding: 12px;
867 }
868
869 @media (max-width: 840px) {
870 .friends-page .navbar-section.search.hide-mobile-search {
871 display: none;
872 }
873
874 .friends-page .friends-dm-view {
875 grid-template-columns: 1fr;
876 grid-template-rows: minmax(0, 1fr);
877 height: min(calc(var(--friends-dm-viewport-height, 100vh) - 50px), 48rem);
878 min-height: 0;
879 overflow: hidden;
880 position: relative;
881 }
882
883 .friends-page .friends-dm-sidebar {
884 border-right: 0;
885 grid-column: 1;
886 grid-row: 1;
887 height: 100%;
888 max-height: none;
889 min-height: 0;
890 transform: translateX(0);
891 transition: transform .2s ease;
892 width: 100%;
893 z-index: 1;
894 }
895
896 .friends-page .friends-dm-thread {
897 grid-column: 1;
898 grid-row: 1;
899 height: 100%;
900 min-height: 0;
901 overflow: hidden;
902 transform: translateX(100%);
903 transition: transform .2s ease;
904 width: 100%;
905 z-index: 2;
906 }
907
908 .friends-page .friends-dm-view.is-focused-conversation .friends-dm-sidebar {
909 transform: translateX(-100%);
910 }
911
912 .friends-page .friends-dm-view.is-focused-conversation .friends-dm-thread {
913 transform: translateX(0);
914 }
915
916 .friends-page .friends-dm-back {
917 align-items: center;
918 color: #222;
919 display: flex;
920 font-size: 20px;
921 line-height: 1;
922 text-decoration: none;
923 }
924
925 .friends-page .friends-dm-messages {
926 min-height: 0;
927 overscroll-behavior: contain;
928 }
929
930 .friends-page .friends-dm-reply {
931 padding-bottom: calc(8px + env(safe-area-inset-bottom, 0px));
932 }
933 }
934
935 /* === Posts === */
936 .friends-page section.posts {
937 padding: 0 16px;
938 margin-top: 4px;
939 }
940
941 .friends-page .posts > .friends-empty-state > .card-body {
942 padding: 12px 0;
943 }
944
945 .friends-page .posts > .friends-empty-state h1 {
946 font-size: 22px;
947 line-height: 1.3;
948 margin-bottom: 10px;
949 }
950
951 .friends-page .posts > .friends-empty-state ul,
952 .friends-page .posts > .friends-empty-state ol {
953 margin: 0 0 .8em;
954 padding-left: 1.25rem;
955 }
956
957 .friends-page .posts > .friends-empty-state li {
958 margin-bottom: .5em;
959 }
960
961 .friends-page .posts article.card {
962 border: none;
963 border-bottom: 1px solid light-dark(#e5e5e5, #3c4043);
964 border-radius: 0;
965 padding: 5px 0;
966 margin: 0;
967 background: transparent;
968 box-shadow: none;
969 line-height: 1.6;
970 }
971
972 /* Post header */
973 .friends-page .posts .card-header {
974 padding: 0;
975 display: flex;
976 align-items: baseline;
977 gap: 6px;
978 flex-wrap: wrap;
979 }
980
981 .friends-page .posts .card-header .avatar {
982 display: none;
983 }
984
985 .friends-page .posts .post-meta {
986 display: contents;
987 }
988
989 .friends-page .posts .author a {
990 color: light-dark(#093, #34a853);
991 font-weight: bold;
992 font-size: 13px;
993 display: inline;
994 }
995
996 .friends-page .posts .author a strong { font-weight: bold; }
997
998
999 .friends-page .posts .permalink {
1000 font-size: 11px;
1001 color: light-dark(#666, #9aa0a6);
1002 }
1003
1004 .friends-page .posts .permalink a { color: light-dark(#666, #9aa0a6); }
1005 .friends-page .posts .reading-time { color: light-dark(#999, #9aa0a6); font-size: 11px; }
1006
1007 /* Post title */
1008 .friends-page .posts .card-title {
1009 padding: 2px 0;
1010 }
1011
1012 .friends-page .posts .card-title a {
1013 color: light-dark(#1a0dab, #8ab4f8);
1014 font-size: 16px;
1015 font-weight: normal;
1016 }
1017
1018 .friends-page .posts .card-title a:visited { color: light-dark(#1a0dab, #8ab4f8); }
1019
1020 .friends-page .posts h4 a {
1021 font-size: 14px;
1022 }
1023
1024 /* Post content */
1025 .friends-page .posts .card-body,
1026 .friends-page .posts .entry-content {
1027 padding: 4px 0;
1028 font-size: 13px;
1029 line-height: 1.5;
1030 color: light-dark(#222, #e8eaed);
1031 }
1032
1033 /* Post footer */
1034 .friends-page .posts .card-footer,
1035 .friends-page .posts footer.entry-meta {
1036 padding: 4px 0;
1037 border-top: none;
1038 background: transparent;
1039 display: flex;
1040 align-items: center;
1041 flex-wrap: wrap;
1042 gap: 4px;
1043 }
1044
1045 .friends-page .posts .card-footer a,
1046 .friends-page .posts .card-footer .btn-link {
1047 color: light-dark(#1a0dab, #8ab4f8);
1048 font-size: 11px;
1049 text-decoration: none;
1050 padding: 2px 6px;
1051 background: none;
1052 border: none;
1053 cursor: pointer;
1054 }
1055
1056 .friends-page .posts .card-footer a:hover,
1057 .friends-page .posts .card-footer .btn-link:hover {
1058 text-decoration: underline;
1059 }
1060
1061 .friends-page .posts .card-footer .dashicons {
1062 font-size: 14px;
1063 width: 14px;
1064 height: 14px;
1065 vertical-align: text-bottom;
1066 }
1067
1068 /* Reaction buttons */
1069 .friends-page button.friends-reaction,
1070 .friends-page button.friends-reaction-picker {
1071 background: light-dark(#fff, #292a2d);
1072 border: 1px solid light-dark(#dcdcdc, #5f6368);
1073 border-radius: 2px;
1074 padding: 1px 6px;
1075 font-size: 12px;
1076 cursor: pointer;
1077 }
1078
1079 .friends-page button.friends-reaction:hover,
1080 .friends-page button.friends-reaction-picker:hover {
1081 background: light-dark(#f5f5f5, #3c4043);
1082 }
1083
1084 .friends-page button.friends-reaction.pressed {
1085 background: light-dark(#e3ecf8, #3c4043);
1086 border-color: #bcd;
1087 }
1088
1089 /* Comments */
1090 .friends-page .comments-content {
1091 padding: 8px 0;
1092 margin: 8px 0;
1093 font-size: 13px;
1094 }
1095
1096 .friends-page .comments-content.closed { display: none; }
1097 .friends-page .comments-content.open { display: block; }
1098
1099 .friends-page .comments-content h5 {
1100 font-size: 12px;
1101 font-weight: bold;
1102 color: light-dark(#666, #9aa0a6);
1103 margin: 0 0 8px;
1104 }
1105
1106 .friends-page .comments-content .comment-list {
1107 list-style: none;
1108 padding: 0;
1109 margin: 0;
1110 }
1111
1112 .friends-page .comments-content .comment {
1113 padding: 4px 0;
1114 border-bottom: 1px solid #eee;
1115 }
1116
1117 /* === Google Reader accordion behavior === */
1118 /* In all-collapsed mode (default for Google Reader), posts are compact */
1119 .friends-page .posts.all-collapsed article.card:not(.uncollapsed) .card-body,
1120 .friends-page .posts.all-collapsed article.card:not(.uncollapsed) .entry-content,
1121 .friends-page .posts.all-collapsed article.card:not(.uncollapsed) footer.entry-meta {
1122 display: none;
1123 }
1124
1125 .friends-page .posts.all-collapsed article.card:not(.uncollapsed) .permalink {
1126 display: inline;
1127 font-size: 11px;
1128 }
1129
1130 .friends-page .posts.all-collapsed article.card:not(.uncollapsed) .card-title {
1131 display: inline;
1132 }
1133
1134 .friends-page .posts.all-collapsed article.card:not(.uncollapsed) div.teaser {
1135 display: inline;
1136 font-size: 12px;
1137 color: light-dark(#666, #9aa0a6);
1138 }
1139
1140 .friends-page .posts.all-collapsed article.card:not(.uncollapsed) .card-header {
1141 cursor: pointer;
1142 display: inline;
1143 }
1144
1145 .friends-page .posts.all-collapsed article.card:not(.uncollapsed) .post-meta {
1146 display: inline;
1147 }
1148
1149 .friends-page .posts.all-collapsed article.card:not(.uncollapsed) .author {
1150 display: inline;
1151 }
1152
1153 .friends-page .posts.all-collapsed article.card:not(.uncollapsed) .card-title a {
1154 font-size: 13px;
1155 }
1156
1157 .friends-page .posts.all-collapsed article.card.uncollapsed div.teaser {
1158 display: none;
1159 }
1160
1161 /* Expanded item in collapsed list */
1162 .friends-page .posts.all-collapsed article.card.uncollapsed .card-body,
1163 .friends-page .posts.all-collapsed article.card.uncollapsed .entry-content {
1164 display: block;
1165 }
1166
1167 .friends-page .posts.all-collapsed article.card.uncollapsed footer.entry-meta {
1168 display: flex;
1169 }
1170
1171 .friends-page .posts.all-collapsed article.card.uncollapsed {
1172 background: light-dark(#f6f7f8, #292a2d);
1173 padding: 10px 12px;
1174 margin: 0 -12px;
1175 }
1176
1177 .friends-page .posts.all-collapsed article.card.uncollapsed .card-title {
1178 display: block;
1179 padding: 4px 0;
1180 }
1181
1182 .friends-page .posts.all-collapsed article.card.uncollapsed .card-title a {
1183 font-size: 16px;
1184 }
1185
1186 /* Non-collapsed individual items */
1187 .friends-page .posts article.card.collapsed .card-body,
1188 .friends-page .posts article.card.collapsed .entry-content,
1189 .friends-page .posts article.card.collapsed footer.entry-meta {
1190 display: none;
1191 }
1192
1193 .friends-page .posts article.card.collapsed .card-title {
1194 display: inline;
1195 }
1196
1197 .friends-page .posts article.card.collapsed .card-title a {
1198 font-size: 13px;
1199 }
1200
1201 .friends-page .posts article.card.collapsed .card-header {
1202 cursor: pointer;
1203 }
1204
1205 /* Hide reblog/boost metadata in collapsed mode */
1206 .friends-page .posts.all-collapsed article.card:not(.uncollapsed) .reblog-info,
1207 .friends-page .posts.all-collapsed article.card:not(.uncollapsed) .reblogged-by,
1208 .friends-page .posts article.card.collapsed .reblog-info,
1209 .friends-page .posts article.card.collapsed .reblogged-by {
1210 display: none;
1211 }
1212
1213 /* Sidebar description */
1214 .friends-page .off-canvas-sidebar .description,
1215 .friends-page .off-canvas-sidebar p {
1216 font-size: 11px;
1217 color: light-dark(#999, #9aa0a6);
1218 padding: 0 16px;
1219 margin: 0 0 8px;
1220 line-height: 1.4;
1221 }
1222
1223 /* Author separator in compact mode */
1224 .friends-page .posts.all-collapsed article.card:not(.uncollapsed) .author::after {
1225 content: ' — ';
1226 color: light-dark(#999, #9aa0a6);
1227 }
1228
1229 /* Current item highlight (keyboard navigation) */
1230 .friends-page .posts article.card.gr-current {
1231 outline: 2px solid #4d90fe;
1232 outline-offset: -2px;
1233 background: light-dark(#edf2fc, #2a2d35);
1234 }
1235
1236 .friends-page .activitypub-custom-emoji {
1237 display: inline-block;
1238 width: auto;
1239 max-width: 1.5em;
1240 height: 1em;
1241 max-height: 1em;
1242 margin: 0 0.05em;
1243 object-fit: contain;
1244 vertical-align: -0.15em;
1245 }
1246
1247 .friends-page .posts .boosted .follow-button,
1248 .friends-page .posts .boosted .follow-button span.name {
1249 display: none;
1250 }
1251
1252 .friends-page .posts .boosted:hover .follow-button {
1253 display: inline;
1254 }
1255
1256 /* Sidebar toggle (u key) */
1257 .friends-page .off-canvas-content.gr-sidebar-hidden {
1258 margin-left: 0;
1259 }
1260
1261 /* Collapse toggle button - hidden, click handled by card */
1262 .friends-page .collapse-post { display: none; }
1263 .friends-page .overflow { display: none; }
1264
1265 /* Toggle compact chip */
1266 .friends-page .toggle-compact {
1267 cursor: pointer;
1268 }
1269
1270 /* === Author header === */
1271 .friends-page #main-header,
1272 .friends-page .author-header {
1273 padding: 0;
1274 }
1275
1276 .friends-page .author-header .description {
1277 font-size: 12px;
1278 color: light-dark(#666, #9aa0a6);
1279 margin-bottom: 4px;
1280 }
1281
1282 .friends-page .author-header .avatar {
1283 border-radius: 2px;
1284 vertical-align: middle;
1285 margin-right: 4px;
1286 }
1287
1288 .friends-page #author-header.has-header-image {
1289 background-size: cover;
1290 background-position: center;
1291 position: relative;
1292 padding: 40px 16px 16px;
1293 }
1294
1295 .friends-page #author-header.has-header-image::before {
1296 content: '';
1297 position: absolute;
1298 inset: 0;
1299 background: linear-gradient(to bottom, rgba(0,0,0,.3) 0%, rgba(0,0,0,.6) 100%);
1300 border-radius: inherit;
1301 }
1302
1303 .friends-page #author-header.has-header-image > * {
1304 position: relative;
1305 }
1306
1307 .friends-page #author-header.has-header-image h2,
1308 .friends-page #author-header.has-header-image p,
1309 .friends-page #author-header.has-header-image .chip,
1310 .friends-page #author-header.has-header-image a {
1311 color: #fff;
1312 text-shadow: 0 1px 3px rgba(0,0,0,.5);
1313 }
1314
1315 .friends-page #author-header.has-header-image .chip {
1316 background: rgba(255,255,255,.2);
1317 }
1318
1319 .friends-page header.has-header-image {
1320 background-size: cover;
1321 background-position: center;
1322 position: relative;
1323 flex-wrap: wrap;
1324 }
1325
1326 .friends-page header.has-header-image::before {
1327 content: '';
1328 position: absolute;
1329 inset: 0;
1330 background: linear-gradient(to bottom, rgba(0,0,0,.3) 0%, rgba(0,0,0,.6) 100%);
1331 }
1332
1333 .friends-page header.has-header-image > * {
1334 position: relative;
1335 }
1336
1337 .friends-page header.has-header-image #author-header {
1338 padding: 16px;
1339 }
1340
1341 .friends-page header.has-header-image #author-header h2,
1342 .friends-page header.has-header-image #author-header p,
1343 .friends-page header.has-header-image #author-header .chip,
1344 .friends-page header.has-header-image #author-header a {
1345 color: #fff;
1346 text-shadow: 0 1px 3px rgba(0,0,0,.5);
1347 }
1348
1349 .friends-page header.has-header-image #author-header .chip {
1350 background: rgba(255,255,255,.2);
1351 }
1352
1353 .friends-page header.has-header-image .search {
1354 align-self: flex-start;
1355 margin-top: 16px;
1356 }
1357
1358 .friends-page header.has-header-image .search input {
1359 background: rgba(255,255,255,.2);
1360 border-color: rgba(255,255,255,.3);
1361 color: #fff;
1362 }
1363
1364 .friends-page header.has-header-image .search input::placeholder {
1365 color: rgba(255,255,255,.7);
1366 }
1367
1368 .friends-page header.has-header-image .search button {
1369 background: rgba(255,255,255,.2);
1370 border-color: rgba(255,255,255,.3);
1371 color: #fff;
1372 }
1373
1374 /* === Dropdown menus === */
1375 .friends-page .friends-dropdown {
1376 position: relative;
1377 display: inline-block;
1378 }
1379
1380 .friends-page .friends-dropdown .menu {
1381 display: none;
1382 position: absolute;
1383 top: 100%;
1384 left: 0;
1385 background: light-dark(#fff, #292a2d);
1386 border: 1px solid light-dark(#d4d4d4, #3c4043);
1387 box-shadow: 0 2px 4px rgba(0,0,0,.15);
1388 z-index: 100;
1389 min-width: 150px;
1390 }
1391
1392 .friends-page .friends-dropdown.active .menu,
1393 .friends-page .friends-dropdown .menu:hover {
1394 display: block;
1395 }
1396
1397 .friends-page .friends-dropdown-right .menu {
1398 left: auto;
1399 right: 0;
1400 }
1401
1402 /* === Pagination === */
1403 .friends-page .navigation {
1404 padding: 12px 16px;
1405 font-size: 12px;
1406 }
1407
1408 .friends-page .navigation a { color: light-dark(#1a0dab, #8ab4f8); }
1409
1410 /* === Loading indicator === */
1411 .friends-page .loading {
1412 color: transparent !important;
1413 pointer-events: none;
1414 position: relative;
1415 min-height: 16px;
1416 min-width: 16px;
1417 animation: none;
1418 border: 0;
1419 }
1420
1421 .friends-page .loading::after {
1422 content: "";
1423 display: block;
1424 position: absolute;
1425 top: 50%;
1426 left: 50%;
1427 width: 16px;
1428 height: 16px;
1429 margin-top: -8px;
1430 margin-left: -8px;
1431 border: 2px solid light-dark(#d4d4d4, #3c4043);
1432 border-top-color: #4d90fe;
1433 border-radius: 50%;
1434 animation: friends-spin .6s linear infinite;
1435 }
1436
1437 @keyframes friends-spin {
1438 to { transform: rotate(360deg); }
1439 }
1440
1441 /* === Utility === */
1442 .friends-page .d-hide { display: none !important; }
1443 .friends-page .mb-2 { margin-bottom: 8px; }
1444 .friends-page .ml-1 { margin-left: 4px; }
1445 .friends-page .mr-2 { margin-right: 8px; }
1446 .friends-page .text { font-size: 11px; }
1447 .friends-page .btn-link { background: none; border: none; cursor: pointer; padding: 2px; }
1448
1449 /* --- Add friend review flow --- */
1450 .friends-page section.add-friend-subscriptions {
1451 display: grid;
1452 gap: 8px;
1453 padding: 12px 16px;
1454 }
1455
1456 .friends-page section.add-friend-subscriptions .card {
1457 background: light-dark(#fff, #292a2d);
1458 border: 1px solid light-dark(#e8e8e8, #3c4043);
1459 border-radius: 2px;
1460 margin: 0;
1461 }
1462
1463 .friends-page section.add-friend-subscriptions .card-body {
1464 padding: 10px;
1465 }
1466
1467 .friends-page section.add-friend-subscriptions .hidden {
1468 display: none;
1469 }
1470
1471 .friends-page section.add-friend-subscriptions .add-subscription-input {
1472 display: flex;
1473 align-items: flex-start;
1474 gap: 6px;
1475 }
1476
1477 .friends-page section.add-friend-subscriptions textarea.form-input {
1478 flex: 1 1 auto;
1479 min-height: 84px;
1480 resize: vertical;
1481 width: 100%;
1482 }
1483
1484 .friends-page section.add-friend-subscriptions .form-select {
1485 background: light-dark(#fff, #292a2d);
1486 border: 1px solid light-dark(#d4d4d4, #3c4043);
1487 border-radius: 1px;
1488 color: light-dark(#222, #e8eaed);
1489 font: inherit;
1490 padding: 4px 8px;
1491 width: 100%;
1492 }
1493
1494 .friends-page section.add-friend-subscriptions .opml-file-hint,
1495 .friends-page section.add-friend-subscriptions .subscription-preview-description,
1496 .friends-page section.add-friend-subscriptions .subscription-feed-details,
1497 .friends-page section.add-friend-subscriptions .subscription-preview-status,
1498 .friends-page section.add-friend-subscriptions .bulk-feed-status {
1499 color: light-dark(#666, #bdc1c6);
1500 font-size: 12px;
1501 }
1502
1503 .friends-page section.add-friend-subscriptions #preview-subscription:not(:empty) {
1504 margin-top: 8px;
1505 }
1506
1507 .friends-page section.add-friend-subscriptions .bulk-controls,
1508 .friends-page section.add-friend-subscriptions .subscription-feed-actions,
1509 .friends-page section.add-friend-subscriptions .subscription-preview-actions {
1510 display: flex;
1511 flex-wrap: wrap;
1512 align-items: center;
1513 gap: 5px;
1514 margin-top: 8px;
1515 }
1516
1517 .friends-page section.add-friend-subscriptions .subscription-preview-results,
1518 .friends-page section.add-friend-subscriptions .bulk-feed-list,
1519 .friends-page section.add-friend-subscriptions .subscription-feed-list {
1520 display: grid;
1521 gap: 6px;
1522 list-style: none;
1523 margin: 8px 0 0;
1524 padding: 0;
1525 }
1526
1527 .friends-page section.add-friend-subscriptions .subscription-feed-list.hidden {
1528 display: none;
1529 }
1530
1531 .friends-page section.add-friend-subscriptions .bulk-feed-row,
1532 .friends-page section.add-friend-subscriptions .subscription-feed-option {
1533 background: light-dark(#f8fafd, #2f3135);
1534 border-radius: 2px;
1535 box-shadow: inset 0 0 0 1px light-dark(#eceff3, #3c4043);
1536 padding: 8px;
1537 }
1538
1539 .friends-page section.add-friend-subscriptions .bulk-feed-row > label,
1540 .friends-page section.add-friend-subscriptions .subscription-feed-option > label {
1541 display: block;
1542 font-weight: bold;
1543 overflow-wrap: anywhere;
1544 }
1545
1546 .friends-page section.add-friend-subscriptions .bulk-feed-row > label small,
1547 .friends-page section.add-friend-subscriptions .subscription-feed-option > label small {
1548 color: light-dark(#666, #bdc1c6);
1549 font-weight: normal;
1550 }
1551
1552 .friends-page section.add-friend-subscriptions .bulk-feed-row.is-reviewing > .label-for-bulkfeed,
1553 .friends-page section.add-friend-subscriptions .bulk-feed-row.is-reviewing > .bulk-feed-status {
1554 display: none;
1555 }
1556
1557 .friends-page section.add-friend-subscriptions .bulk-feed-review {
1558 margin-top: 6px;
1559 }
1560
1561 .friends-page section.add-friend-subscriptions .feed-preview {
1562 background: light-dark(#fff, #292a2d);
1563 border-radius: 2px;
1564 box-shadow: inset 3px 0 0 #4d90fe, inset 0 0 0 1px light-dark(#e8e8e8, #3c4043);
1565 margin-top: 8px;
1566 padding: 8px;
1567 }
1568
1569 .friends-page section.add-friend-subscriptions .bulk-feed-review .feed-preview {
1570 background: transparent;
1571 border-radius: 0;
1572 box-shadow: none;
1573 margin-top: 0;
1574 padding: 0;
1575 }
1576
1577 .friends-page section.add-friend-subscriptions .subscription-preview-header,
1578 .friends-page section.add-friend-subscriptions .subscribe-success {
1579 display: flex;
1580 align-items: center;
1581 gap: 8px;
1582 }
1583
1584 .friends-page section.add-friend-subscriptions .subscription-preview-header .avatar,
1585 .friends-page section.add-friend-subscriptions .subscribe-success .avatar {
1586 border-radius: 50%;
1587 flex: 0 0 auto;
1588 }
1589
1590 .friends-page section.add-friend-subscriptions .subscription-preview-title,
1591 .friends-page section.add-friend-subscriptions .subscription-feed-preview-title {
1592 display: flex;
1593 flex-direction: column;
1594 min-width: 0;
1595 }
1596
1597 .friends-page section.add-friend-subscriptions .subscription-preview-title small,
1598 .friends-page section.add-friend-subscriptions .subscription-feed-preview-title small {
1599 color: light-dark(#666, #bdc1c6);
1600 overflow-wrap: anywhere;
1601 }
1602
1603 .friends-page section.add-friend-subscriptions .subscription-settings,
1604 .friends-page section.add-friend-subscriptions .subscription-feed-controls {
1605 display: grid;
1606 grid-template-columns: repeat(2, minmax(0, 1fr));
1607 gap: 6px;
1608 margin-top: 8px;
1609 }
1610
1611 .friends-page section.add-friend-subscriptions .subscription-settings label,
1612 .friends-page section.add-friend-subscriptions .subscription-feed-controls label {
1613 display: grid;
1614 gap: 3px;
1615 font-size: 12px;
1616 font-weight: bold;
1617 }
1618
1619 .friends-page section.add-friend-subscriptions .subscription-feed-url-label {
1620 grid-column: 1 / -1;
1621 }
1622
1623 .friends-page section.add-friend-subscriptions .subscription-feed-preview {
1624 background: light-dark(#fff, #292a2d);
1625 border-radius: 2px;
1626 box-shadow: inset 0 0 0 1px light-dark(#e8e8e8, #3c4043);
1627 margin-top: 6px;
1628 padding: 8px;
1629 }
1630
1631 .friends-page section.add-friend-subscriptions .subscription-feed-preview ul {
1632 display: grid;
1633 gap: 6px;
1634 list-style: none;
1635 margin: 0;
1636 padding: 0;
1637 }
1638
1639 .friends-page section.add-friend-subscriptions .subscription-feed-preview p {
1640 color: light-dark(#666, #bdc1c6);
1641 font-size: 12px;
1642 margin: 2px 0 0;
1643 }
1644
1645 .friends-page section.add-friend-subscriptions .error,
1646 .friends-page section.add-friend-subscriptions .subscription-preview-status.error,
1647 .friends-page section.add-friend-subscriptions .bulk-feed-status.error {
1648 color: light-dark(#dd4b39, #ea4335);
1649 }
1650
1651 @media (max-width: 640px) {
1652 .friends-page section.add-friend-subscriptions .add-subscription-input {
1653 flex-direction: column;
1654 }
1655
1656 .friends-page section.add-friend-subscriptions .add-subscription-input .btn,
1657 .friends-page section.add-friend-subscriptions .bulk-controls .btn,
1658 .friends-page section.add-friend-subscriptions .subscription-feed-actions .btn,
1659 .friends-page section.add-friend-subscriptions .subscription-preview-actions .btn {
1660 width: 100%;
1661 }
1662
1663 .friends-page section.add-friend-subscriptions .subscription-settings,
1664 .friends-page section.add-friend-subscriptions .subscription-feed-controls {
1665 grid-template-columns: 1fr;
1666 }
1667 }
1668
1669 /* Mention indicator */
1670 .friends-page .mention-indicator {
1671 color: light-dark(#dd4b39, #ea4335);
1672 font-weight: bold;
1673 }
1674
1675 /* === Dark Mode === */
1676 /* Dark mode handled entirely by light-dark() above.
1677 The color-scheme: light dark on .friends-page enables it. */
1678
1679 /* Migration notification */
1680 .friends-page .friends-migration-notification {
1681 display: flex;
1682 align-items: center;
1683 gap: .4rem;
1684 padding: 6px 16px;
1685 background: light-dark(#fef9e7, #2a2410);
1686 border-bottom: 1px solid light-dark(#e8c840, #5a4a00);
1687 font-size: .85rem;
1688 white-space: nowrap;
1689 overflow: hidden;
1690 }
1691 .friends-page .friends-migration-notification .friends-migration-notification-meta {
1692 margin-left: auto;
1693 display: flex;
1694 align-items: center;
1695 gap: .5rem;
1696 white-space: nowrap;
1697 opacity: .75;
1698 }
1699 .friends-page .friends-migration-notification button {
1700 background: none;
1701 border: 1px solid currentColor;
1702 border-radius: 3px;
1703 cursor: pointer;
1704 font-size: .8rem;
1705 padding: 1px 6px;
1706 }
1707
1708 /* === Link Previews === */
1709 .friends-page a.friends-link-preview {
1710 display: flex;
1711 gap: 10px;
1712 margin-top: 8px;
1713 padding: 8px;
1714 border: 1px solid light-dark(#dadce0, #3c4043);
1715 border-radius: 4px;
1716 background: light-dark(#f8f9fa, #292a2d);
1717 color: inherit;
1718 text-decoration: none;
1719 }
1720
1721 .friends-page a.friends-link-preview:hover {
1722 background: light-dark(#f1f3f4, #35363a);
1723 text-decoration: none;
1724 }
1725
1726 .friends-page a.friends-link-preview .friends-link-preview-image {
1727 flex: 0 0 auto;
1728 }
1729
1730 .friends-page a.friends-link-preview .friends-link-preview-image img {
1731 display: block;
1732 width: 100px;
1733 height: 75px;
1734 object-fit: cover;
1735 border-radius: 2px;
1736 }
1737
1738 .friends-page a.friends-link-preview .friends-link-preview-text {
1739 display: flex;
1740 flex-direction: column;
1741 gap: 2px;
1742 min-width: 0;
1743 }
1744
1745 .friends-page a.friends-link-preview .friends-link-preview-host {
1746 color: light-dark(#5f6368, #9aa0a6);
1747 font-size: 11px;
1748 text-transform: uppercase;
1749 }
1750
1751 .friends-page a.friends-link-preview .friends-link-preview-title {
1752 font-size: 13px;
1753 font-weight: bold;
1754 line-height: 1.3;
1755 }
1756
1757 .friends-page a.friends-link-preview .friends-link-preview-description {
1758 color: light-dark(#5f6368, #9aa0a6);
1759 font-size: 12px;
1760 line-height: 1.4;
1761 display: -webkit-box;
1762 -webkit-line-clamp: 2;
1763 -webkit-box-orient: vertical;
1764 overflow: hidden;
1765 }
1766