@@ -509,6 +509,246 @@ hr, .divider {
509509 color : var (--primary-green );
510510}
511511
512+ /* News + Bluesky Two-Column Layout */
513+ .news-bluesky-container {
514+ display : grid;
515+ grid-template-columns : 2fr 1fr ;
516+ gap : 40px ;
517+ align-items : start;
518+ }
519+
520+ .news-bluesky-container .news-section {
521+ margin : 0 ;
522+ }
523+
524+ /* Bluesky Feed Section */
525+ .bluesky-section {
526+ position : sticky;
527+ top : 20px ;
528+ border-left : 1px solid var (--accent-green );
529+ padding-left : 40px ;
530+ }
531+
532+ .bluesky-section h2 {
533+ font-size : 18px ;
534+ line-height : 1.6 ;
535+ color : var (--primary-green-light );
536+ letter-spacing : 0.4px ;
537+ margin-bottom : 20px ;
538+ }
539+
540+ .bluesky-feed {
541+ max-width : 100% ;
542+ max-height : 800px ;
543+ overflow-y : auto;
544+ }
545+
546+ /* Scrollbar styling for Bluesky feed */
547+ .bluesky-feed ::-webkit-scrollbar {
548+ width : 6px ;
549+ }
550+
551+ .bluesky-feed ::-webkit-scrollbar-track {
552+ background : var (--bg-green-light );
553+ border-radius : 3px ;
554+ }
555+
556+ .bluesky-feed ::-webkit-scrollbar-thumb {
557+ background : var (--accent-green );
558+ border-radius : 3px ;
559+ }
560+
561+ .bluesky-feed ::-webkit-scrollbar-thumb : hover {
562+ background : var (--primary-green-light );
563+ }
564+
565+ .bluesky-loading ,
566+ .bluesky-empty ,
567+ .bluesky-error {
568+ color : var (--primary-green-light );
569+ font-size : 14px ;
570+ text-align : center;
571+ padding : 20px ;
572+ }
573+
574+ .bluesky-posts {
575+ display : flex;
576+ flex-direction : column;
577+ gap : 20px ;
578+ }
579+
580+ .bluesky-post {
581+ background : var (--white );
582+ border-radius : 8px ;
583+ padding : 20px ;
584+ box-shadow : 0 1px 3px rgba (0 , 0 , 0 , 0.1 );
585+ }
586+
587+ .bluesky-post-header {
588+ display : flex;
589+ justify-content : space-between;
590+ align-items : flex-start;
591+ margin-bottom : 12px ;
592+ }
593+
594+ .bluesky-author {
595+ display : flex;
596+ align-items : center;
597+ gap : 10px ;
598+ text-decoration : none;
599+ }
600+
601+ .bluesky-author : hover {
602+ text-decoration : none;
603+ }
604+
605+ .bluesky-avatar {
606+ width : 40px ;
607+ height : 40px ;
608+ border-radius : 50% ;
609+ object-fit : cover;
610+ }
611+
612+ .bluesky-author-info {
613+ display : flex;
614+ flex-direction : column;
615+ }
616+
617+ .bluesky-display-name {
618+ font-weight : 600 ;
619+ color : var (--dark-text );
620+ font-size : 14px ;
621+ }
622+
623+ .bluesky-handle {
624+ color : var (--primary-green-light );
625+ font-size : 12px ;
626+ }
627+
628+ .bluesky-post-date {
629+ color : var (--primary-green-light );
630+ font-size : 12px ;
631+ text-decoration : none;
632+ }
633+
634+ .bluesky-post-date : hover {
635+ text-decoration : underline;
636+ }
637+
638+ .bluesky-post-content p {
639+ font-size : 14px ;
640+ line-height : 1.6 ;
641+ color : var (--dark-text );
642+ margin-bottom : 12px ;
643+ white-space : pre-wrap;
644+ word-break : break-word;
645+ }
646+
647+ .bluesky-post-content p : last-child {
648+ margin-bottom : 0 ;
649+ }
650+
651+ .bluesky-post-content a {
652+ color : var (--primary-green );
653+ word-break : break-all;
654+ }
655+
656+ .bluesky-post-images {
657+ display : grid;
658+ grid-template-columns : repeat (auto-fit, minmax (150px , 1fr ));
659+ gap : 8px ;
660+ margin-top : 12px ;
661+ }
662+
663+ .bluesky-post-image {
664+ width : 100% ;
665+ border-radius : 8px ;
666+ object-fit : cover;
667+ max-height : 300px ;
668+ }
669+
670+ .bluesky-link-card {
671+ display : flex;
672+ border : 1px solid var (--accent-green );
673+ border-radius : 8px ;
674+ overflow : hidden;
675+ margin-top : 12px ;
676+ text-decoration : none;
677+ transition : border-color 0.2s ease;
678+ }
679+
680+ .bluesky-link-card : hover {
681+ border-color : var (--primary-green );
682+ text-decoration : none;
683+ }
684+
685+ .bluesky-link-thumb {
686+ width : 120px ;
687+ height : 80px ;
688+ object-fit : cover;
689+ flex-shrink : 0 ;
690+ }
691+
692+ .bluesky-link-info {
693+ padding : 10px 12px ;
694+ display : flex;
695+ flex-direction : column;
696+ justify-content : center;
697+ overflow : hidden;
698+ }
699+
700+ .bluesky-link-title {
701+ font-size : 13px ;
702+ font-weight : 600 ;
703+ color : var (--dark-text );
704+ display : -webkit-box;
705+ -webkit-line-clamp : 1 ;
706+ -webkit-box-orient : vertical;
707+ overflow : hidden;
708+ }
709+
710+ .bluesky-link-description {
711+ font-size : 12px ;
712+ color : var (--primary-green-light );
713+ display : -webkit-box;
714+ -webkit-line-clamp : 2 ;
715+ -webkit-box-orient : vertical;
716+ overflow : hidden;
717+ margin-top : 4px ;
718+ }
719+
720+ .bluesky-post-footer {
721+ display : flex;
722+ gap : 20px ;
723+ margin-top : 12px ;
724+ padding-top : 12px ;
725+ border-top : 1px solid var (--accent-green );
726+ }
727+
728+ .bluesky-stat {
729+ display : flex;
730+ align-items : center;
731+ gap : 5px ;
732+ color : var (--primary-green-light );
733+ font-size : 13px ;
734+ text-decoration : none;
735+ transition : color 0.2s ease;
736+ }
737+
738+ .bluesky-stat : hover {
739+ color : var (--primary-green );
740+ text-decoration : none;
741+ }
742+
743+ .bluesky-stat svg {
744+ flex-shrink : 0 ;
745+ }
746+
747+ .bluesky-follow {
748+ text-align : center;
749+ margin-top : 25px ;
750+ }
751+
512752/* Software List */
513753.software-section h2 {
514754 display : flex;
@@ -1457,6 +1697,12 @@ body.homepage .site-header {
14571697 margin : 0 auto 20px ;
14581698 }
14591699
1700+ /* Jump links - allow wrapping on mobile */
1701+ .jump-links {
1702+ white-space : normal;
1703+ line-height : 1.8 ;
1704+ }
1705+
14601706 /* Footer navigation - mobile layout (hamburger menu style) */
14611707 .footer-nav {
14621708 padding : 12px 0 ;
@@ -1529,6 +1775,47 @@ body.homepage .site-header {
15291775 display : block;
15301776 text-align : center;
15311777 }
1778+
1779+ /* News + Bluesky - stack on mobile */
1780+ .news-bluesky-container {
1781+ grid-template-columns : 1fr ;
1782+ }
1783+
1784+ .bluesky-section {
1785+ position : static;
1786+ margin-top : 40px ;
1787+ border-left : none;
1788+ border-top : 1px solid var (--accent-green );
1789+ padding-left : 0 ;
1790+ padding-top : 30px ;
1791+ }
1792+
1793+ .bluesky-feed {
1794+ max-height : 500px ;
1795+ }
1796+
1797+ /* Bluesky feed - mobile adjustments */
1798+ .bluesky-post {
1799+ padding : 15px ;
1800+ }
1801+
1802+ .bluesky-post-header {
1803+ flex-direction : column;
1804+ gap : 8px ;
1805+ }
1806+
1807+ .bluesky-post-date {
1808+ align-self : flex-start;
1809+ }
1810+
1811+ .bluesky-link-card {
1812+ flex-direction : column;
1813+ }
1814+
1815+ .bluesky-link-thumb {
1816+ width : 100% ;
1817+ height : 120px ;
1818+ }
15321819}
15331820
15341821/* Utility Classes */
0 commit comments