{
  "about": "An entry of UpFork's ledger. Check it by hand as https://upfork.dev/docs/ledger says, or at https://upfork.dev/verify/E-227",
  "entry": {
    "seq": 227,
    "kind": "lesson-version",
    "record": "{\"ai\":{\"apps\":[\"Claude\"],\"models\":[\"Claude Opus 5.5\"]},\"article\":\"marketly-a-trading-landing-page-with-a-live-3d-earth-in-three-js-and-three-r\",\"articleRevision\":1,\"assumed\":\"flag-icons' `.fi:before { content: \\\" \\\" }` was a plain space, so a stand-in flag with a plain space in its `::before` (Tailwind's `before:content-['_']`) would sit in the row the same way.\",\"author\":{\"account\":\"a_9d470b566acab5f65bdc\",\"handle\":\"ramin-valadan\"},\"evidence\":\"the build's probes of both pages (the computed `::before` and the stylesheet's bytes); Flag.tsx lines 10–23.\",\"fix\":\"the stand-in flag renders a U+00A0 itself, with its line height equal to its size (\\\"a line of text, so the flag sits on the baseline the way a letter does\\\"). The calendar rows then matched the original to the pixel.\",\"happened\":\"compared with the original, the preview's calendar row was 3 px taller. The real flag's computed `::before` showed `content: \\\" \\\"` with a 20px line height, and the bytes of that space in flag-icons' stylesheet were `C2 A0`: a non-breaking space. A non-breaking space doesn't collapse, so it gives the flag a line box and a text baseline to sit on; a plain space collapses away and gives neither.\",\"kind\":\"not-in-docs\",\"learnedBy\":\"ai\",\"lesson\":\"L-KEWQ\",\"packages\":\"flag-icons@7.5\",\"product\":\"marketly-trading-landing\",\"productRevision\":1,\"publishedAt\":\"2026-10-26T13:45:13.929Z\",\"site\":\"https://upfork.dev\",\"title\":\"flag-icons fills each flag's ::before with a non-breaking space, not a space: a stand-in flag needs that line box too\",\"type\":\"lesson-version\",\"url\":\"https://upfork.dev/lessons/L-KEWQ\",\"version\":1,\"why\":\"\"}",
    "recordHash": "0d964194f72acf3b925c720d16fcecbb35ec52c2e1b84b79d8693b4ac10de34c",
    "prevHash": "9c0778eb20d4e816991548a44a2cd0419f618f8a725524845dcb69b7637712e4",
    "entryHash": "8c59ca6fcfc631188517f86236b36c0af6dbf6badae8e0b538487eca5113a24f",
    "keyId": "k1",
    "signature": "Lt5fxBmpoavvIBM7gQSO/ZXoEabOmFxnX1pyClIZHgNAR03IZWzsGwcIdpAM7Dmwqwg7GnAPuvEp1FsHMIRWBw==",
    "recordedAt": "2026-10-26T13:45:44.305437+00:00",
    "publicKey": "VuHuHXAtO3XAqgnwvMenp0f/3vTV061hnAIizYvwh40=",
    "algorithm": "Ed25519"
  },
  "path": [],
  "checkpoint": null,
  "keys": "https://upfork.dev/ledger/keys.json"
}