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

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

1,556 lines 35.9 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(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-messages {
679 background: #fff;
680 overflow: auto;
681 padding: 10px;
682 }
683
684 .friends-page .friends-dm-message {
685 display: grid;
686 gap: 8px;
687 grid-template-columns: 28px minmax(0, 1fr);
688 margin: 0 0 10px;
689 }
690
691 .friends-page .friends-dm-message-meta {
692 align-items: baseline;
693 display: flex;
694 gap: 6px;
695 line-height: 1.2;
696 }
697
698 .friends-page .friends-dm-message-meta strong {
699 color: #222;
700 }
701
702 .friends-page .friends-dm-message-content {
703 background: #f9f9f9;
704 border: 1px solid #e8e8e8;
705 border-radius: 2px;
706 color: #222;
707 margin-top: 3px;
708 max-width: 720px;
709 padding: 7px 9px;
710 }
711
712 .friends-page .friends-dm-message.is-own-message .friends-dm-message-content {
713 background: #eef4ff;
714 }
715
716 .friends-page .friends-dm-message-content > :first-child { margin-top: 0; }
717 .friends-page .friends-dm-message-content > :last-child { margin-bottom: 0; }
718
719 .friends-page .friends-dm-reply {
720 background: #f5f5f5;
721 border-top: 1px solid #d4d4d4;
722 padding: 8px 10px;
723 }
724
725 .friends-page .friends-dm-reply .form-horizontal .form-group {
726 display: flex;
727 gap: 8px;
728 margin-bottom: 6px;
729 }
730
731 .friends-page .friends-dm-reply .form-horizontal .form-group > div:first-child {
732 flex: 0 0 56px;
733 }
734
735 .friends-page .friends-dm-reply .form-horizontal .form-group > div:nth-child(2) {
736 flex: 1 1 auto;
737 max-width: none;
738 }
739
740 .friends-page .friends-dm-reply .form-horizontal .form-input {
741 background: #fff;
742 border: 1px solid #bbb;
743 border-radius: 2px;
744 color: #222;
745 padding: 5px 7px;
746 width: 100%;
747 }
748
749 .friends-page .friends-dm-reply textarea.friends-message-message {
750 min-height: 64px;
751 resize: vertical;
752 }
753
754 .friends-page .friends-dm-reply .btn {
755 background: linear-gradient(#f5f5f5, #f1f1f1);
756 border: 1px solid #bbb;
757 border-radius: 2px;
758 color: #222;
759 padding: 4px 12px;
760 }
761
762 .friends-page .friends-dm-empty {
763 background: #fff;
764 border: 1px solid #d4d4d4;
765 border-radius: 2px;
766 grid-column: 1 / -1;
767 margin: 12px;
768 padding: 12px;
769 }
770
771 @media (max-width: 840px) {
772 .friends-page .friends-dm-view {
773 grid-template-columns: 1fr;
774 height: auto;
775 }
776
777 .friends-page .friends-dm-sidebar {
778 border-bottom: 1px solid #d4d4d4;
779 border-right: 0;
780 max-height: 14rem;
781 }
782 }
783
784 /* === Posts === */
785 .friends-page section.posts {
786 padding: 0 16px;
787 margin-top: 4px;
788 }
789
790 .friends-page .posts > .friends-empty-state > .card-body {
791 padding: 12px 0;
792 }
793
794 .friends-page .posts > .friends-empty-state h1 {
795 font-size: 22px;
796 line-height: 1.3;
797 margin-bottom: 10px;
798 }
799
800 .friends-page .posts > .friends-empty-state ul,
801 .friends-page .posts > .friends-empty-state ol {
802 margin: 0 0 .8em;
803 padding-left: 1.25rem;
804 }
805
806 .friends-page .posts > .friends-empty-state li {
807 margin-bottom: .5em;
808 }
809
810 .friends-page .posts article.card {
811 border: none;
812 border-bottom: 1px solid light-dark(#e5e5e5, #3c4043);
813 border-radius: 0;
814 padding: 5px 0;
815 margin: 0;
816 background: transparent;
817 box-shadow: none;
818 line-height: 1.6;
819 }
820
821 /* Post header */
822 .friends-page .posts .card-header {
823 padding: 0;
824 display: flex;
825 align-items: baseline;
826 gap: 6px;
827 flex-wrap: wrap;
828 }
829
830 .friends-page .posts .card-header .avatar {
831 display: none;
832 }
833
834 .friends-page .posts .post-meta {
835 display: contents;
836 }
837
838 .friends-page .posts .author a {
839 color: light-dark(#093, #34a853);
840 font-weight: bold;
841 font-size: 13px;
842 display: inline;
843 }
844
845 .friends-page .posts .author a strong { font-weight: bold; }
846
847
848 .friends-page .posts .permalink {
849 font-size: 11px;
850 color: light-dark(#666, #9aa0a6);
851 }
852
853 .friends-page .posts .permalink a { color: light-dark(#666, #9aa0a6); }
854 .friends-page .posts .reading-time { color: light-dark(#999, #9aa0a6); font-size: 11px; }
855
856 /* Post title */
857 .friends-page .posts .card-title {
858 padding: 2px 0;
859 }
860
861 .friends-page .posts .card-title a {
862 color: light-dark(#1a0dab, #8ab4f8);
863 font-size: 16px;
864 font-weight: normal;
865 }
866
867 .friends-page .posts .card-title a:visited { color: light-dark(#1a0dab, #8ab4f8); }
868
869 .friends-page .posts h4 a {
870 font-size: 14px;
871 }
872
873 /* Post content */
874 .friends-page .posts .card-body,
875 .friends-page .posts .entry-content {
876 padding: 4px 0;
877 font-size: 13px;
878 line-height: 1.5;
879 color: light-dark(#222, #e8eaed);
880 }
881
882 /* Post footer */
883 .friends-page .posts .card-footer,
884 .friends-page .posts footer.entry-meta {
885 padding: 4px 0;
886 border-top: none;
887 background: transparent;
888 display: flex;
889 align-items: center;
890 flex-wrap: wrap;
891 gap: 4px;
892 }
893
894 .friends-page .posts .card-footer a,
895 .friends-page .posts .card-footer .btn-link {
896 color: light-dark(#1a0dab, #8ab4f8);
897 font-size: 11px;
898 text-decoration: none;
899 padding: 2px 6px;
900 background: none;
901 border: none;
902 cursor: pointer;
903 }
904
905 .friends-page .posts .card-footer a:hover,
906 .friends-page .posts .card-footer .btn-link:hover {
907 text-decoration: underline;
908 }
909
910 .friends-page .posts .card-footer .dashicons {
911 font-size: 14px;
912 width: 14px;
913 height: 14px;
914 vertical-align: text-bottom;
915 }
916
917 /* Reaction buttons */
918 .friends-page button.friends-reaction,
919 .friends-page button.friends-reaction-picker {
920 background: light-dark(#fff, #292a2d);
921 border: 1px solid light-dark(#dcdcdc, #5f6368);
922 border-radius: 2px;
923 padding: 1px 6px;
924 font-size: 12px;
925 cursor: pointer;
926 }
927
928 .friends-page button.friends-reaction:hover,
929 .friends-page button.friends-reaction-picker:hover {
930 background: light-dark(#f5f5f5, #3c4043);
931 }
932
933 .friends-page button.friends-reaction.pressed {
934 background: light-dark(#e3ecf8, #3c4043);
935 border-color: #bcd;
936 }
937
938 /* Comments */
939 .friends-page .comments-content {
940 padding: 8px 0;
941 margin: 8px 0;
942 font-size: 13px;
943 }
944
945 .friends-page .comments-content.closed { display: none; }
946 .friends-page .comments-content.open { display: block; }
947
948 .friends-page .comments-content h5 {
949 font-size: 12px;
950 font-weight: bold;
951 color: light-dark(#666, #9aa0a6);
952 margin: 0 0 8px;
953 }
954
955 .friends-page .comments-content .comment-list {
956 list-style: none;
957 padding: 0;
958 margin: 0;
959 }
960
961 .friends-page .comments-content .comment {
962 padding: 4px 0;
963 border-bottom: 1px solid #eee;
964 }
965
966 /* === Google Reader accordion behavior === */
967 /* In all-collapsed mode (default for Google Reader), posts are compact */
968 .friends-page .posts.all-collapsed article.card:not(.uncollapsed) .card-body,
969 .friends-page .posts.all-collapsed article.card:not(.uncollapsed) .entry-content,
970 .friends-page .posts.all-collapsed article.card:not(.uncollapsed) footer.entry-meta {
971 display: none;
972 }
973
974 .friends-page .posts.all-collapsed article.card:not(.uncollapsed) .permalink {
975 display: inline;
976 font-size: 11px;
977 }
978
979 .friends-page .posts.all-collapsed article.card:not(.uncollapsed) .card-title {
980 display: inline;
981 }
982
983 .friends-page .posts.all-collapsed article.card:not(.uncollapsed) div.teaser {
984 display: inline;
985 font-size: 12px;
986 color: light-dark(#666, #9aa0a6);
987 }
988
989 .friends-page .posts.all-collapsed article.card:not(.uncollapsed) .card-header {
990 cursor: pointer;
991 display: inline;
992 }
993
994 .friends-page .posts.all-collapsed article.card:not(.uncollapsed) .post-meta {
995 display: inline;
996 }
997
998 .friends-page .posts.all-collapsed article.card:not(.uncollapsed) .author {
999 display: inline;
1000 }
1001
1002 .friends-page .posts.all-collapsed article.card:not(.uncollapsed) .card-title a {
1003 font-size: 13px;
1004 }
1005
1006 .friends-page .posts.all-collapsed article.card.uncollapsed div.teaser {
1007 display: none;
1008 }
1009
1010 /* Expanded item in collapsed list */
1011 .friends-page .posts.all-collapsed article.card.uncollapsed .card-body,
1012 .friends-page .posts.all-collapsed article.card.uncollapsed .entry-content {
1013 display: block;
1014 }
1015
1016 .friends-page .posts.all-collapsed article.card.uncollapsed footer.entry-meta {
1017 display: flex;
1018 }
1019
1020 .friends-page .posts.all-collapsed article.card.uncollapsed {
1021 background: light-dark(#f6f7f8, #292a2d);
1022 padding: 10px 12px;
1023 margin: 0 -12px;
1024 }
1025
1026 .friends-page .posts.all-collapsed article.card.uncollapsed .card-title {
1027 display: block;
1028 padding: 4px 0;
1029 }
1030
1031 .friends-page .posts.all-collapsed article.card.uncollapsed .card-title a {
1032 font-size: 16px;
1033 }
1034
1035 /* Non-collapsed individual items */
1036 .friends-page .posts article.card.collapsed .card-body,
1037 .friends-page .posts article.card.collapsed .entry-content,
1038 .friends-page .posts article.card.collapsed footer.entry-meta {
1039 display: none;
1040 }
1041
1042 .friends-page .posts article.card.collapsed .card-title {
1043 display: inline;
1044 }
1045
1046 .friends-page .posts article.card.collapsed .card-title a {
1047 font-size: 13px;
1048 }
1049
1050 .friends-page .posts article.card.collapsed .card-header {
1051 cursor: pointer;
1052 }
1053
1054 /* Hide reblog/boost metadata in collapsed mode */
1055 .friends-page .posts.all-collapsed article.card:not(.uncollapsed) .reblog-info,
1056 .friends-page .posts.all-collapsed article.card:not(.uncollapsed) .reblogged-by,
1057 .friends-page .posts article.card.collapsed .reblog-info,
1058 .friends-page .posts article.card.collapsed .reblogged-by {
1059 display: none;
1060 }
1061
1062 /* Sidebar description */
1063 .friends-page .off-canvas-sidebar .description,
1064 .friends-page .off-canvas-sidebar p {
1065 font-size: 11px;
1066 color: light-dark(#999, #9aa0a6);
1067 padding: 0 16px;
1068 margin: 0 0 8px;
1069 line-height: 1.4;
1070 }
1071
1072 /* Author separator in compact mode */
1073 .friends-page .posts.all-collapsed article.card:not(.uncollapsed) .author::after {
1074 content: ' — ';
1075 color: light-dark(#999, #9aa0a6);
1076 }
1077
1078 /* Current item highlight (keyboard navigation) */
1079 .friends-page .posts article.card.gr-current {
1080 outline: 2px solid #4d90fe;
1081 outline-offset: -2px;
1082 background: light-dark(#edf2fc, #2a2d35);
1083 }
1084
1085 .friends-page .activitypub-custom-emoji {
1086 display: inline-block;
1087 width: auto;
1088 max-width: 1.5em;
1089 height: 1em;
1090 max-height: 1em;
1091 margin: 0 0.05em;
1092 object-fit: contain;
1093 vertical-align: -0.15em;
1094 }
1095
1096 .friends-page .posts .boosted .follow-button,
1097 .friends-page .posts .boosted .follow-button span.name {
1098 display: none;
1099 }
1100
1101 .friends-page .posts .boosted:hover .follow-button {
1102 display: inline;
1103 }
1104
1105 /* Sidebar toggle (u key) */
1106 .friends-page .off-canvas-content.gr-sidebar-hidden {
1107 margin-left: 0;
1108 }
1109
1110 /* Collapse toggle button - hidden, click handled by card */
1111 .friends-page .collapse-post { display: none; }
1112 .friends-page .overflow { display: none; }
1113
1114 /* Toggle compact chip */
1115 .friends-page .toggle-compact {
1116 cursor: pointer;
1117 }
1118
1119 /* === Author header === */
1120 .friends-page #main-header,
1121 .friends-page .author-header {
1122 padding: 0;
1123 }
1124
1125 .friends-page .author-header .description {
1126 font-size: 12px;
1127 color: light-dark(#666, #9aa0a6);
1128 margin-bottom: 4px;
1129 }
1130
1131 .friends-page .author-header .avatar {
1132 border-radius: 2px;
1133 vertical-align: middle;
1134 margin-right: 4px;
1135 }
1136
1137 .friends-page #author-header.has-header-image {
1138 background-size: cover;
1139 background-position: center;
1140 position: relative;
1141 padding: 40px 16px 16px;
1142 }
1143
1144 .friends-page #author-header.has-header-image::before {
1145 content: '';
1146 position: absolute;
1147 inset: 0;
1148 background: linear-gradient(to bottom, rgba(0,0,0,.3) 0%, rgba(0,0,0,.6) 100%);
1149 border-radius: inherit;
1150 }
1151
1152 .friends-page #author-header.has-header-image > * {
1153 position: relative;
1154 }
1155
1156 .friends-page #author-header.has-header-image h2,
1157 .friends-page #author-header.has-header-image p,
1158 .friends-page #author-header.has-header-image .chip,
1159 .friends-page #author-header.has-header-image a {
1160 color: #fff;
1161 text-shadow: 0 1px 3px rgba(0,0,0,.5);
1162 }
1163
1164 .friends-page #author-header.has-header-image .chip {
1165 background: rgba(255,255,255,.2);
1166 }
1167
1168 .friends-page header.has-header-image {
1169 background-size: cover;
1170 background-position: center;
1171 position: relative;
1172 flex-wrap: wrap;
1173 }
1174
1175 .friends-page header.has-header-image::before {
1176 content: '';
1177 position: absolute;
1178 inset: 0;
1179 background: linear-gradient(to bottom, rgba(0,0,0,.3) 0%, rgba(0,0,0,.6) 100%);
1180 }
1181
1182 .friends-page header.has-header-image > * {
1183 position: relative;
1184 }
1185
1186 .friends-page header.has-header-image #author-header {
1187 padding: 16px;
1188 }
1189
1190 .friends-page header.has-header-image #author-header h2,
1191 .friends-page header.has-header-image #author-header p,
1192 .friends-page header.has-header-image #author-header .chip,
1193 .friends-page header.has-header-image #author-header a {
1194 color: #fff;
1195 text-shadow: 0 1px 3px rgba(0,0,0,.5);
1196 }
1197
1198 .friends-page header.has-header-image #author-header .chip {
1199 background: rgba(255,255,255,.2);
1200 }
1201
1202 .friends-page header.has-header-image .search {
1203 align-self: flex-start;
1204 margin-top: 16px;
1205 }
1206
1207 .friends-page header.has-header-image .search input {
1208 background: rgba(255,255,255,.2);
1209 border-color: rgba(255,255,255,.3);
1210 color: #fff;
1211 }
1212
1213 .friends-page header.has-header-image .search input::placeholder {
1214 color: rgba(255,255,255,.7);
1215 }
1216
1217 .friends-page header.has-header-image .search button {
1218 background: rgba(255,255,255,.2);
1219 border-color: rgba(255,255,255,.3);
1220 color: #fff;
1221 }
1222
1223 /* === Dropdown menus === */
1224 .friends-page .friends-dropdown {
1225 position: relative;
1226 display: inline-block;
1227 }
1228
1229 .friends-page .friends-dropdown .menu {
1230 display: none;
1231 position: absolute;
1232 top: 100%;
1233 left: 0;
1234 background: light-dark(#fff, #292a2d);
1235 border: 1px solid light-dark(#d4d4d4, #3c4043);
1236 box-shadow: 0 2px 4px rgba(0,0,0,.15);
1237 z-index: 100;
1238 min-width: 150px;
1239 }
1240
1241 .friends-page .friends-dropdown.active .menu,
1242 .friends-page .friends-dropdown .menu:hover {
1243 display: block;
1244 }
1245
1246 .friends-page .friends-dropdown-right .menu {
1247 left: auto;
1248 right: 0;
1249 }
1250
1251 /* === Pagination === */
1252 .friends-page .navigation {
1253 padding: 12px 16px;
1254 font-size: 12px;
1255 }
1256
1257 .friends-page .navigation a { color: light-dark(#1a0dab, #8ab4f8); }
1258
1259 /* === Loading indicator === */
1260 .friends-page .loading {
1261 color: transparent !important;
1262 pointer-events: none;
1263 position: relative;
1264 min-height: 16px;
1265 min-width: 16px;
1266 animation: none;
1267 border: 0;
1268 }
1269
1270 .friends-page .loading::after {
1271 content: "";
1272 display: block;
1273 position: absolute;
1274 top: 50%;
1275 left: 50%;
1276 width: 16px;
1277 height: 16px;
1278 margin-top: -8px;
1279 margin-left: -8px;
1280 border: 2px solid light-dark(#d4d4d4, #3c4043);
1281 border-top-color: #4d90fe;
1282 border-radius: 50%;
1283 animation: friends-spin .6s linear infinite;
1284 }
1285
1286 @keyframes friends-spin {
1287 to { transform: rotate(360deg); }
1288 }
1289
1290 /* === Utility === */
1291 .friends-page .d-hide { display: none !important; }
1292 .friends-page .mb-2 { margin-bottom: 8px; }
1293 .friends-page .ml-1 { margin-left: 4px; }
1294 .friends-page .mr-2 { margin-right: 8px; }
1295 .friends-page .text { font-size: 11px; }
1296 .friends-page .btn-link { background: none; border: none; cursor: pointer; padding: 2px; }
1297
1298 /* --- Add friend review flow --- */
1299 .friends-page section.add-friend-subscriptions {
1300 display: grid;
1301 gap: 8px;
1302 padding: 12px 16px;
1303 }
1304
1305 .friends-page section.add-friend-subscriptions .card {
1306 background: light-dark(#fff, #292a2d);
1307 border: 1px solid light-dark(#e8e8e8, #3c4043);
1308 border-radius: 2px;
1309 margin: 0;
1310 }
1311
1312 .friends-page section.add-friend-subscriptions .card-body {
1313 padding: 10px;
1314 }
1315
1316 .friends-page section.add-friend-subscriptions .hidden {
1317 display: none;
1318 }
1319
1320 .friends-page section.add-friend-subscriptions .add-subscription-input {
1321 display: flex;
1322 align-items: flex-start;
1323 gap: 6px;
1324 }
1325
1326 .friends-page section.add-friend-subscriptions textarea.form-input {
1327 flex: 1 1 auto;
1328 min-height: 84px;
1329 resize: vertical;
1330 width: 100%;
1331 }
1332
1333 .friends-page section.add-friend-subscriptions .form-select {
1334 background: light-dark(#fff, #292a2d);
1335 border: 1px solid light-dark(#d4d4d4, #3c4043);
1336 border-radius: 1px;
1337 color: light-dark(#222, #e8eaed);
1338 font: inherit;
1339 padding: 4px 8px;
1340 width: 100%;
1341 }
1342
1343 .friends-page section.add-friend-subscriptions .opml-file-hint,
1344 .friends-page section.add-friend-subscriptions .subscription-preview-description,
1345 .friends-page section.add-friend-subscriptions .subscription-feed-details,
1346 .friends-page section.add-friend-subscriptions .subscription-preview-status,
1347 .friends-page section.add-friend-subscriptions .bulk-feed-status {
1348 color: light-dark(#666, #bdc1c6);
1349 font-size: 12px;
1350 }
1351
1352 .friends-page section.add-friend-subscriptions #preview-subscription:not(:empty) {
1353 margin-top: 8px;
1354 }
1355
1356 .friends-page section.add-friend-subscriptions .bulk-controls,
1357 .friends-page section.add-friend-subscriptions .subscription-feed-actions,
1358 .friends-page section.add-friend-subscriptions .subscription-preview-actions {
1359 display: flex;
1360 flex-wrap: wrap;
1361 align-items: center;
1362 gap: 5px;
1363 margin-top: 8px;
1364 }
1365
1366 .friends-page section.add-friend-subscriptions .subscription-preview-results,
1367 .friends-page section.add-friend-subscriptions .bulk-feed-list,
1368 .friends-page section.add-friend-subscriptions .subscription-feed-list {
1369 display: grid;
1370 gap: 6px;
1371 list-style: none;
1372 margin: 8px 0 0;
1373 padding: 0;
1374 }
1375
1376 .friends-page section.add-friend-subscriptions .subscription-feed-list.hidden {
1377 display: none;
1378 }
1379
1380 .friends-page section.add-friend-subscriptions .bulk-feed-row,
1381 .friends-page section.add-friend-subscriptions .subscription-feed-option {
1382 background: light-dark(#f8fafd, #2f3135);
1383 border-radius: 2px;
1384 box-shadow: inset 0 0 0 1px light-dark(#eceff3, #3c4043);
1385 padding: 8px;
1386 }
1387
1388 .friends-page section.add-friend-subscriptions .bulk-feed-row > label,
1389 .friends-page section.add-friend-subscriptions .subscription-feed-option > label {
1390 display: block;
1391 font-weight: bold;
1392 overflow-wrap: anywhere;
1393 }
1394
1395 .friends-page section.add-friend-subscriptions .bulk-feed-row > label small,
1396 .friends-page section.add-friend-subscriptions .subscription-feed-option > label small {
1397 color: light-dark(#666, #bdc1c6);
1398 font-weight: normal;
1399 }
1400
1401 .friends-page section.add-friend-subscriptions .bulk-feed-row.is-reviewing > .label-for-bulkfeed,
1402 .friends-page section.add-friend-subscriptions .bulk-feed-row.is-reviewing > .bulk-feed-status {
1403 display: none;
1404 }
1405
1406 .friends-page section.add-friend-subscriptions .bulk-feed-review {
1407 margin-top: 6px;
1408 }
1409
1410 .friends-page section.add-friend-subscriptions .feed-preview {
1411 background: light-dark(#fff, #292a2d);
1412 border-radius: 2px;
1413 box-shadow: inset 3px 0 0 #4d90fe, inset 0 0 0 1px light-dark(#e8e8e8, #3c4043);
1414 margin-top: 8px;
1415 padding: 8px;
1416 }
1417
1418 .friends-page section.add-friend-subscriptions .bulk-feed-review .feed-preview {
1419 background: transparent;
1420 border-radius: 0;
1421 box-shadow: none;
1422 margin-top: 0;
1423 padding: 0;
1424 }
1425
1426 .friends-page section.add-friend-subscriptions .subscription-preview-header,
1427 .friends-page section.add-friend-subscriptions .subscribe-success {
1428 display: flex;
1429 align-items: center;
1430 gap: 8px;
1431 }
1432
1433 .friends-page section.add-friend-subscriptions .subscription-preview-header .avatar,
1434 .friends-page section.add-friend-subscriptions .subscribe-success .avatar {
1435 border-radius: 50%;
1436 flex: 0 0 auto;
1437 }
1438
1439 .friends-page section.add-friend-subscriptions .subscription-preview-title,
1440 .friends-page section.add-friend-subscriptions .subscription-feed-preview-title {
1441 display: flex;
1442 flex-direction: column;
1443 min-width: 0;
1444 }
1445
1446 .friends-page section.add-friend-subscriptions .subscription-preview-title small,
1447 .friends-page section.add-friend-subscriptions .subscription-feed-preview-title small {
1448 color: light-dark(#666, #bdc1c6);
1449 overflow-wrap: anywhere;
1450 }
1451
1452 .friends-page section.add-friend-subscriptions .subscription-settings,
1453 .friends-page section.add-friend-subscriptions .subscription-feed-controls {
1454 display: grid;
1455 grid-template-columns: repeat(2, minmax(0, 1fr));
1456 gap: 6px;
1457 margin-top: 8px;
1458 }
1459
1460 .friends-page section.add-friend-subscriptions .subscription-settings label,
1461 .friends-page section.add-friend-subscriptions .subscription-feed-controls label {
1462 display: grid;
1463 gap: 3px;
1464 font-size: 12px;
1465 font-weight: bold;
1466 }
1467
1468 .friends-page section.add-friend-subscriptions .subscription-feed-url-label {
1469 grid-column: 1 / -1;
1470 }
1471
1472 .friends-page section.add-friend-subscriptions .subscription-feed-preview {
1473 background: light-dark(#fff, #292a2d);
1474 border-radius: 2px;
1475 box-shadow: inset 0 0 0 1px light-dark(#e8e8e8, #3c4043);
1476 margin-top: 6px;
1477 padding: 8px;
1478 }
1479
1480 .friends-page section.add-friend-subscriptions .subscription-feed-preview ul {
1481 display: grid;
1482 gap: 6px;
1483 list-style: none;
1484 margin: 0;
1485 padding: 0;
1486 }
1487
1488 .friends-page section.add-friend-subscriptions .subscription-feed-preview p {
1489 color: light-dark(#666, #bdc1c6);
1490 font-size: 12px;
1491 margin: 2px 0 0;
1492 }
1493
1494 .friends-page section.add-friend-subscriptions .error,
1495 .friends-page section.add-friend-subscriptions .subscription-preview-status.error,
1496 .friends-page section.add-friend-subscriptions .bulk-feed-status.error {
1497 color: light-dark(#dd4b39, #ea4335);
1498 }
1499
1500 @media (max-width: 640px) {
1501 .friends-page section.add-friend-subscriptions .add-subscription-input {
1502 flex-direction: column;
1503 }
1504
1505 .friends-page section.add-friend-subscriptions .add-subscription-input .btn,
1506 .friends-page section.add-friend-subscriptions .bulk-controls .btn,
1507 .friends-page section.add-friend-subscriptions .subscription-feed-actions .btn,
1508 .friends-page section.add-friend-subscriptions .subscription-preview-actions .btn {
1509 width: 100%;
1510 }
1511
1512 .friends-page section.add-friend-subscriptions .subscription-settings,
1513 .friends-page section.add-friend-subscriptions .subscription-feed-controls {
1514 grid-template-columns: 1fr;
1515 }
1516 }
1517
1518 /* Mention indicator */
1519 .friends-page .mention-indicator {
1520 color: light-dark(#dd4b39, #ea4335);
1521 font-weight: bold;
1522 }
1523
1524 /* === Dark Mode === */
1525 /* Dark mode handled entirely by light-dark() above.
1526 The color-scheme: light dark on .friends-page enables it. */
1527
1528 /* Migration notification */
1529 .friends-page .friends-migration-notification {
1530 display: flex;
1531 align-items: center;
1532 gap: .4rem;
1533 padding: 6px 16px;
1534 background: light-dark(#fef9e7, #2a2410);
1535 border-bottom: 1px solid light-dark(#e8c840, #5a4a00);
1536 font-size: .85rem;
1537 white-space: nowrap;
1538 overflow: hidden;
1539 }
1540 .friends-page .friends-migration-notification .friends-migration-notification-meta {
1541 margin-left: auto;
1542 display: flex;
1543 align-items: center;
1544 gap: .5rem;
1545 white-space: nowrap;
1546 opacity: .75;
1547 }
1548 .friends-page .friends-migration-notification button {
1549 background: none;
1550 border: 1px solid currentColor;
1551 border-radius: 3px;
1552 cursor: pointer;
1553 font-size: .8rem;
1554 padding: 1px 6px;
1555 }
1556