internationalscholarsprogram commited on
Commit
fd04222
Β·
verified Β·
1 Parent(s): 11e44d7

Sharpness: crisp text rendering, GPU-composited images, geometric precision

Browse files
Files changed (1) hide show
  1. app/static/css/print.css +109 -0
app/static/css/print.css CHANGED
@@ -40,6 +40,11 @@ body {
40
  -webkit-print-color-adjust: exact;
41
  print-color-adjust: exact;
42
  background: #ffffff;
 
 
 
 
 
43
  }
44
 
45
  /* ------------------------------
@@ -1454,4 +1459,108 @@ ol.hb-numbered-list li::marker {
1454
  /* ── Links – smooth colour transitions ── */
1455
  a {
1456
  transition: color 0.15s ease, border-color 0.15s ease;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1457
  }
 
40
  -webkit-print-color-adjust: exact;
41
  print-color-adjust: exact;
42
  background: #ffffff;
43
+ /* Sharpness β€” crisp text rendering */
44
+ text-rendering: optimizeLegibility;
45
+ -webkit-font-smoothing: antialiased;
46
+ -moz-osx-font-smoothing: grayscale;
47
+ font-feature-settings: "kern" 1, "liga" 1;
48
  }
49
 
50
  /* ------------------------------
 
1459
  /* ── Links – smooth colour transitions ── */
1460
  a {
1461
  transition: color 0.15s ease, border-color 0.15s ease;
1462
+ }
1463
+
1464
+ /* =========================================================
1465
+ SHARPNESS & CLARITY β€” Razor-crisp rendering
1466
+ ========================================================= */
1467
+
1468
+ /* All images: high-quality scaling, no blur */
1469
+ img {
1470
+ image-rendering: auto;
1471
+ -webkit-backface-visibility: hidden;
1472
+ backface-visibility: hidden;
1473
+ transform: translateZ(0); /* GPU-composited layer */
1474
+ }
1475
+
1476
+ /* Icons, logos, QR codes: pixel-perfect edges */
1477
+ .hb-step-qr,
1478
+ .cover-img,
1479
+ .fullpage-img,
1480
+ .page-header img {
1481
+ image-rendering: -webkit-optimize-contrast;
1482
+ }
1483
+
1484
+ /* Borders β€” sharp 1px lines, never sub-pixel blurred */
1485
+ .hb-table,
1486
+ .hb-table th,
1487
+ .hb-table td,
1488
+ .tbl,
1489
+ .tbl th,
1490
+ .tbl td,
1491
+ .hb-programs,
1492
+ .hb-programs th,
1493
+ .hb-programs td {
1494
+ border-style: solid;
1495
+ -webkit-backface-visibility: hidden;
1496
+ }
1497
+
1498
+ /* Headings β€” sharper weight rendering */
1499
+ .hb-heading-1,
1500
+ .hb-heading-2,
1501
+ .hb-uni-name,
1502
+ .hb-step-title,
1503
+ .hb-benefits-bar,
1504
+ .toc-heading {
1505
+ text-rendering: geometricPrecision;
1506
+ -webkit-font-smoothing: antialiased;
1507
+ }
1508
+
1509
+ /* Paragraph text β€” optimal readability */
1510
+ .hb-paragraph,
1511
+ .p,
1512
+ p {
1513
+ text-rendering: optimizeLegibility;
1514
+ word-spacing: 0.02em;
1515
+ letter-spacing: 0.005em;
1516
+ }
1517
+
1518
+ /* Table text β€” precise rendering for dense data */
1519
+ .hb-table td,
1520
+ .hb-table th,
1521
+ .tbl td,
1522
+ .tbl th,
1523
+ .hb-programs td,
1524
+ .hb-programs th {
1525
+ text-rendering: geometricPrecision;
1526
+ }
1527
+
1528
+ /* Bullet markers β€” sharp glyph rendering */
1529
+ .hb-bullet-list li::before,
1530
+ .hb-sub-bullets li::before,
1531
+ .hb-benefits-ul li::before {
1532
+ text-rendering: geometricPrecision;
1533
+ -webkit-font-smoothing: antialiased;
1534
+ }
1535
+
1536
+ /* Steps, notes, cards β€” crisp border-left lines */
1537
+ .hb-step,
1538
+ .hb-note,
1539
+ .note,
1540
+ .hb-qualify,
1541
+ .qualify {
1542
+ -webkit-backface-visibility: hidden;
1543
+ backface-visibility: hidden;
1544
+ }
1545
+
1546
+ /* Gradient bars β€” smooth without banding */
1547
+ .hb-heading-1::after,
1548
+ .toc-heading::after,
1549
+ .hb-benefits-bar,
1550
+ .hb-banner-heading {
1551
+ -webkit-backface-visibility: hidden;
1552
+ backface-visibility: hidden;
1553
+ transform: translateZ(0);
1554
+ }
1555
+
1556
+ /* Print media β€” force high-res */
1557
+ @media print {
1558
+ * {
1559
+ -webkit-print-color-adjust: exact;
1560
+ print-color-adjust: exact;
1561
+ }
1562
+ img {
1563
+ image-rendering: auto;
1564
+ -webkit-backface-visibility: hidden;
1565
+ }
1566
  }