66 list-style : none;
77 margin : 0 ;
88 padding : 0 ;
9- display: flex;
10- flex-direction: column;
9+ display : grid;
10+ grid-template-columns : 160px 3fr minmax (180px , 2fr ) minmax (180px , 2fr ) auto;
11+ column-gap : var (--space-xl );
12+ max-width : 1408px ;
1113 width : 100% ;
1214}
1315
2628
2729.library-item--list {
2830 display : grid;
29- grid-template-columns: 2fr 3fr 2fr 2fr auto ;
30- max-width: 1408px ;
31+ grid-column : 1 / -1 ;
32+ grid-template-columns : subgrid ;
3133 align-items : flex-start;
3234 row-gap : var (--space-large );
33- column-gap: var(--space-xl);
3435 padding : var (--space-large );
3536 padding-top : var (--space-default );
3637 background : var (--color-surface-weak );
5758.library-item--list .library-item__actions {
5859 display : flex;
5960 align-items : center;
61+ justify-content : space-between;
6062 gap : var (--space-xl );
63+ min-width : 120px ;
6164}
6265
63- .library-item . version- tag {
64- border-radius: var(--border-radius-xxl);
65- cursor: pointer ;
66+ /* Show desktop version tag in actions, hide mobile one in tags */
67+ . library-item__cpp-version {
68+ display : none ;
6669}
6770
68- .library-item . version-tag--default:hover {
69- background: var(--color-tag-fill-hover) ;
71+ .library-item__cpp- version--desktop {
72+ display : inline-flex ;
7073}
7174
7275.library-item .btn-icon-library {
7578 background : none;
7679}
7780
81+ .library-item .btn-icon-library .btn-icon svg {
82+ width : var (--space-xl );
83+ height : var (--space-xl );
84+ }
85+
7886/* ==========================================================================
79- Card variant (vertical stack)
87+ Card layout — used by card variant and mobile list variant
8088 ========================================================================== */
8189
8290.library-item--card {
83- display: flex ;
84- flex-direction: column ;
91+ display : grid ;
92+ grid-template-columns : 1 fr auto ;
8593 max-width : 320px ;
8694 width : 100% ;
8795 border-radius : var (--border-radius-xl );
9098}
9199
92100.library-item--card .library-item__header {
101+ grid-column : 1 ;
102+ grid-row : 1 ;
93103 display : flex;
94104 flex-direction : column;
95105 gap : var (--space-default );
96106 padding : var (--space-large );
107+ padding-bottom : 0 ;
97108}
98109
99- .library-item--card .library-item__tags {
110+ .library-item--card .library-item__actions {
111+ grid-column : 2 ;
112+ grid-row : 1 ;
100113 display : flex;
101- flex-wrap: wrap;
102- gap: var(--space-s);
103- padding: 0 var(--space-large) var(--space-large);
114+ align-items : flex-start;
115+ justify-content : center;
116+ padding : var (--space-large );
117+ padding-bottom : 0 ;
104118}
105119
106- .library-item--card .library-item__actions {
120+ .library-item--card .library-item__cpp-version--desktop {
121+ display : none;
122+ }
123+
124+ .library-item--card .library-item__cpp-version {
125+ display : inline-flex;
126+ }
127+
128+ .library-item--card .library-item__tags {
129+ grid-column : 1 / -1 ;
130+ grid-row : 2 ;
107131 display : flex;
132+ flex-wrap : wrap;
108133 align-items : center;
109- gap: var(--space-default );
110- padding: 0 var(--space-large) var(--space-large);
134+ gap : var (--space-s );
135+ padding : var (--space-large );
111136}
112137
113138.library-item--card .library-item__contributor {
139+ grid-column : 1 / -1 ;
140+ grid-row : 3 ;
114141 display : flex;
115142 align-items : center;
116143 gap : var (--space-default );
117144 padding : var (--space-large );
118- border-top: 1px solid var(--color-stroke-weak);
119145 margin-top : auto;
120146}
121147
148+
122149/* ==========================================================================
123150 Shared element styles
124151 ========================================================================== */
@@ -151,9 +178,9 @@ a.library-item__name:hover {
151178 ========================================================================== */
152179
153180@media (max-width : 1024px ) {
154- .library-item-- list {
155- grid-template-columns: 2fr 3fr 2fr 2fr auto;
156- column-gap: var(--space-large );
181+ .library-item-list {
182+ grid-template-columns : 120 px 2fr minmax ( 100 px , 1 fr ) minmax ( 140 px , 1 fr ) auto;
183+ column-gap : var (--space-default );
157184 }
158185}
159186
@@ -163,42 +190,79 @@ a.library-item__name:hover {
163190
164191@media (max-width : 767px ) {
165192 .library-item-list {
166- gap: var(--space-large);
193+ display : flex;
194+ flex-direction : column;
167195 }
168196
169197 .library-item--list {
170- display: flex;
171- flex-direction: column;
198+ display : grid;
199+ grid-template-columns : 1fr auto;
200+ border-bottom : 1px solid var (--color-stroke-weak );
201+ border-radius : 0 ;
202+ background : var (--color-surface-weak );
203+ padding : 0 ;
204+ }
205+
206+ .library-item--list : first-child {
207+ border-radius : var (--border-radius-xl ) var (--border-radius-xl ) 0 0 ;
208+ }
209+
210+ .library-item--list : last-child {
211+ border-radius : 0 0 var (--border-radius-xl ) var (--border-radius-xl );
172212 border-bottom : none;
213+ }
214+
215+ .library-item--list : only-child {
173216 border-radius : var (--border-radius-xl );
174- border: 1px solid var(--color-stroke-weak);
175- background: var(--color-surface-weak);
176217 }
177218
178219 .library-item--list .library-item__header {
220+ grid-column : 1 ;
221+ grid-row : 1 ;
179222 display : flex;
180223 flex-direction : column;
181224 gap : var (--space-default );
182225 padding : var (--space-large );
226+ padding-bottom : 0 ;
227+ }
228+
229+ .library-item--list .library-item__actions {
230+ grid-column : 2 ;
231+ grid-row : 1 ;
232+ display : flex;
233+ align-items : flex-start;
234+ justify-content : flex-end;
235+ min-width : unset;
236+ padding : var (--space-large );
237+ padding-bottom : 0 ;
238+ }
239+
240+ .library-item--list .library-item__cpp-version--desktop {
241+ display : none;
242+ }
243+
244+ .library-item--list .library-item__cpp-version {
245+ display : inline-flex;
183246 }
184247
185248 .library-item--list .library-item__tags {
249+ grid-column : 1 / -1 ;
250+ grid-row : 2 ;
186251 display : flex;
187252 flex-wrap : wrap;
253+ align-items : center;
188254 gap : var (--space-s );
189- padding: 0 var(--space-large) var(--space-large);
255+ padding : var (--space-large );
190256 }
191257
192- .library-item--list .library-item__actions {
258+ .library-item--list .library-item__contributor {
259+ grid-column : 1 / -1 ;
260+ grid-row : 3 ;
193261 display : flex;
194262 align-items : center;
195263 gap : var (--space-default );
196- padding: 0 var(--space-large) var(--space-large);
197- }
198-
199- .library-item--list .library-item__contributor {
200- border-top: 1px solid var(--color-stroke-weak);
201- margin-top: auto;
264+ border-top : none;
202265 padding : var (--space-large );
266+ margin-top : auto;
203267 }
204268}
0 commit comments