@@ -1238,3 +1238,277 @@ ul {
12381238 font-size : 32px ;
12391239 }
12401240}
1241+
1242+ /* ------------------------------------------------------------
1243+ Libraries — Page Header
1244+ ------------------------------------------------------------ */
1245+ .libs-header {
1246+ background : var (--color-bg-warm );
1247+ border-bottom : 1px solid var (--color-border );
1248+ padding : 80px var (--container-padding ) 56px ;
1249+ }
1250+
1251+ .libs-header__inner {
1252+ max-width : var (--container-max-width );
1253+ margin : 0 auto;
1254+ display : flex;
1255+ align-items : flex-end;
1256+ justify-content : space-between;
1257+ gap : 40px ;
1258+ }
1259+
1260+ .libs-header__count {
1261+ display : flex;
1262+ align-items : center;
1263+ gap : 12px ;
1264+ flex-shrink : 0 ;
1265+ padding-bottom : 4px ;
1266+ }
1267+
1268+ .libs-header__count-number {
1269+ font-family : var (--font-heading );
1270+ font-size : 36px ;
1271+ font-weight : 700 ;
1272+ letter-spacing : -0.03em ;
1273+ line-height : 1 ;
1274+ color : var (--color-black );
1275+ }
1276+
1277+ .libs-header__count-label {
1278+ font-size : 14px ;
1279+ line-height : 1.4 ;
1280+ color : var (--color-muted );
1281+ }
1282+
1283+ /* ------------------------------------------------------------
1284+ Libraries — Toolbar
1285+ ------------------------------------------------------------ */
1286+ .libs-toolbar {
1287+ background : var (--color-white );
1288+ border-bottom : 1px solid var (--color-border );
1289+ padding : 24px var (--container-padding );
1290+ }
1291+
1292+ .libs-toolbar__inner {
1293+ max-width : var (--container-max-width );
1294+ margin : 0 auto;
1295+ display : flex;
1296+ align-items : center;
1297+ justify-content : space-between;
1298+ gap : 24px ;
1299+ }
1300+
1301+ .libs-search {
1302+ display : flex;
1303+ align-items : center;
1304+ width : 400px ;
1305+ height : 40px ;
1306+ padding : 0 16px ;
1307+ gap : 12px ;
1308+ background : # FAF9F8 ;
1309+ border : 1.5px solid var (--color-border );
1310+ flex-shrink : 0 ;
1311+ }
1312+
1313+ .libs-search__icon {
1314+ flex-shrink : 0 ;
1315+ color : var (--color-muted-secondary );
1316+ }
1317+
1318+ .libs-search__input {
1319+ flex : 1 ;
1320+ border : none;
1321+ background : transparent;
1322+ font-family : var (--font-body );
1323+ font-size : 14px ;
1324+ color : var (--color-text-body );
1325+ outline : none;
1326+ line-height : 18px ;
1327+ }
1328+
1329+ .libs-search__input ::placeholder {
1330+ color : var (--color-muted-secondary );
1331+ }
1332+
1333+ .libs-toolbar__count {
1334+ font-size : 13px ;
1335+ color : var (--color-muted );
1336+ white-space : nowrap;
1337+ line-height : 16px ;
1338+ }
1339+
1340+ /* ------------------------------------------------------------
1341+ Libraries — Gem Grid
1342+ ------------------------------------------------------------ */
1343+ .libs-grid {
1344+ padding : 0 var (--container-padding ) 0 ;
1345+ background : var (--color-bg-warm );
1346+ }
1347+
1348+ .libs-grid__inner {
1349+ max-width : var (--container-max-width );
1350+ margin : 0 auto;
1351+ padding : 32px 0 ;
1352+ }
1353+
1354+ .libs-grid__rows {
1355+ display : flex;
1356+ flex-direction : column;
1357+ gap : 1px ;
1358+ background : var (--color-border );
1359+ }
1360+
1361+ .libs-row {
1362+ display : grid;
1363+ grid-template-columns : repeat (3 , 1fr );
1364+ gap : 1px ;
1365+ background : var (--color-border );
1366+ }
1367+
1368+ .libs-card {
1369+ padding : 28px 32px ;
1370+ background : var (--color-white );
1371+ display : flex;
1372+ flex-direction : column;
1373+ gap : 10px ;
1374+ }
1375+
1376+ .libs-card [hidden ] {
1377+ display : none;
1378+ }
1379+
1380+ .libs-card__header {
1381+ display : flex;
1382+ align-items : flex-start;
1383+ justify-content : space-between;
1384+ gap : 12px ;
1385+ }
1386+
1387+ .libs-card__name {
1388+ font-family : var (--font-heading );
1389+ font-size : 15px ;
1390+ font-weight : 600 ;
1391+ letter-spacing : -0.01em ;
1392+ color : var (--color-red );
1393+ line-height : 18px ;
1394+ transition : opacity 0.15s ease;
1395+ }
1396+
1397+ .libs-card__name : hover {
1398+ opacity : 0.75 ;
1399+ }
1400+
1401+ .libs-card__author {
1402+ font-family : var (--font-body );
1403+ font-size : 11px ;
1404+ font-weight : 400 ;
1405+ letter-spacing : 0.04em ;
1406+ text-transform : uppercase;
1407+ color : var (--color-muted-secondary );
1408+ line-height : 14px ;
1409+ flex-shrink : 0 ;
1410+ margin-top : 2px ;
1411+ white-space : nowrap;
1412+ overflow : hidden;
1413+ text-overflow : ellipsis;
1414+ max-width : 120px ;
1415+ }
1416+
1417+ .libs-card__description {
1418+ font-size : 14px ;
1419+ line-height : 22px ;
1420+ color : var (--color-muted );
1421+ }
1422+
1423+ /* ------------------------------------------------------------
1424+ Libraries — Footer Row
1425+ ------------------------------------------------------------ */
1426+ .libs-footer {
1427+ border-top : 1px solid var (--color-border );
1428+ background : var (--color-white );
1429+ padding : 48px var (--container-padding );
1430+ text-align : center;
1431+ }
1432+
1433+ .libs-footer__inner {
1434+ max-width : var (--container-max-width );
1435+ margin : 0 auto;
1436+ display : flex;
1437+ align-items : center;
1438+ justify-content : center;
1439+ gap : 6px ;
1440+ flex-wrap : wrap;
1441+ }
1442+
1443+ .libs-footer__text {
1444+ font-size : 14px ;
1445+ color : var (--color-muted );
1446+ line-height : 18px ;
1447+ }
1448+
1449+ .libs-footer__link {
1450+ font-size : 14px ;
1451+ font-weight : 500 ;
1452+ color : var (--color-red );
1453+ line-height : 18px ;
1454+ transition : opacity 0.15s ease;
1455+ }
1456+
1457+ .libs-footer__link : hover {
1458+ opacity : 0.75 ;
1459+ }
1460+
1461+ /* No results state */
1462+ .libs-no-results {
1463+ display : none;
1464+ padding : 64px 32px ;
1465+ text-align : center;
1466+ background : var (--color-white );
1467+ }
1468+
1469+ .libs-no-results .is-visible {
1470+ display : block;
1471+ }
1472+
1473+ .libs-no-results__text {
1474+ font-size : 15px ;
1475+ color : var (--color-muted );
1476+ }
1477+
1478+ /* ------------------------------------------------------------
1479+ Libraries — Responsive ≤768px
1480+ ------------------------------------------------------------ */
1481+ @media (max-width : 768px ) {
1482+ .libs-header__inner {
1483+ flex-direction : column;
1484+ align-items : flex-start;
1485+ gap : 24px ;
1486+ }
1487+
1488+ .libs-header__count {
1489+ padding-bottom : 0 ;
1490+ }
1491+
1492+ .libs-search {
1493+ width : 100% ;
1494+ }
1495+
1496+ .libs-toolbar__inner {
1497+ flex-direction : column;
1498+ align-items : stretch;
1499+ gap : 12px ;
1500+ }
1501+
1502+ .libs-row {
1503+ grid-template-columns : repeat (2 , 1fr );
1504+ }
1505+ }
1506+
1507+ /* ------------------------------------------------------------
1508+ Libraries — Responsive ≤480px
1509+ ------------------------------------------------------------ */
1510+ @media (max-width : 480px ) {
1511+ .libs-row {
1512+ grid-template-columns : 1fr ;
1513+ }
1514+ }
0 commit comments