{
  "sha": "84910e30fc3422f77a714ffbbaa1a0c482b555fd",
  "message": "Merge pull request #159 from fix/mobile-ticker-typography-20260831\n\nStabilize mobile ticker typography",
  "author": {
    "login": "nnneeeooo-nnneeeooo",
    "name": "",
    "email": ""
  },
  "committer": {
    "login": "web-flow",
    "name": "",
    "email": ""
  },
  "created_at": "2026-08-31T08:53:55Z",
  "files": [
    {
      "filename": "static/site.css",
      "previous_filename": "",
      "status": "modified",
      "additions": 9,
      "deletions": 5,
      "changes": 14
    },
    {
      "filename": "tests/test_mobile_layout.py",
      "previous_filename": "",
      "status": "modified",
      "additions": 6,
      "deletions": 3,
      "changes": 9
    }
  ],
  "diff": "@@ -623,13 +623,17 @@ a.flash-row:hover { color: inherit; }\\n   .ticker-label { padding: 7px 10px; font-size: 11px; letter-spacing: .08em; }\\n   .marquee-track { --ticker-duration: 130s; }\\n   .ticker-pass {\\n-    font-family: \"Noto Sans TC\", sans-serif;\\n-    font-size: 13px; font-weight: 400; line-height: 1.45; letter-spacing: 0;\\n-    -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility;\\n+    /* Keep mobile ticker typography independent from Google Fonts: iOS\\n+       in-app browsers can swap Noto Sans TC for PingFang after first paint. */\\n+    font-family: ui-sans-serif, -apple-system, BlinkMacSystemFont,\\n+      \"PingFang TC\", \"Microsoft JhengHei\", sans-serif;\\n+    font-size: 14px; font-weight: 600; line-height: 1.4; letter-spacing: .025em;\\n+    font-synthesis: none; -webkit-font-smoothing: auto;\\n   }\\n   .ticker-time {\\n-    font-family: inherit; font-size: 11px; font-weight: 600;\\n-    letter-spacing: 0; font-variant-numeric: tabular-nums;\\n+    font-family: ui-monospace, \"SFMono-Regular\", Menlo, Consolas, monospace;\\n+    font-size: 12px; font-weight: 700;\\n+    letter-spacing: .025em; font-variant-numeric: tabular-nums;\\n   }\\n }\\n \\n@@ -107,9 +107,12 @@ def main() -> None:\\n     assert \"width: 100%; padding: 0;\" in css\\n     assert \"border: 0; border-radius: 0; background: transparent; box-shadow: none;\" in css\\n     assert \"--ticker-duration: 130s\" in css\\n-    assert 'font-family: \"Noto Sans TC\", sans-serif' in css\\n-    assert \"font-size: 13px; font-weight: 400\" in css\\n-    assert \"font-family: inherit; font-size: 11px; font-weight: 600\" in css\\n+    assert \"font-family: ui-sans-serif, -apple-system, BlinkMacSystemFont\" in css\\n+    assert '\"PingFang TC\", \"Microsoft JhengHei\", sans-serif' in css\\n+    assert \"font-size: 14px; font-weight: 600\" in css\\n+    assert \"font-synthesis: none; -webkit-font-smoothing: auto\" in css\\n+    assert 'font-family: ui-monospace, \"SFMono-Regular\", Menlo' in css\\n+    assert \"font-size: 12px; font-weight: 700\" in css\\n     assert \"@media (prefers-reduced-motion: reduce)\" in css\\n     assert \".marquee-track .ticker-pass:nth-child(2) { display: none; }\" in css\\n     assert 'setAttribute(\"aria-expanded\"' in script"
}
