{
  "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-57",
  "entry": {
    "seq": 57,
    "kind": "lesson-version",
    "record": "{\"ai\":{\"apps\":[\"Claude\"],\"models\":[\"Claude Opus 5.5\"]},\"article\":\"build-a-cursor-following-mascot-hero-from-an-ai-video-maple-s-frame-engine-a\",\"articleRevision\":1,\"assumed\":\"to hide the plates before their entrance only when JavaScript would run, the hero needed an inline script that marks it as scripted before first paint, the old `class=\\\"js\\\"` trick.\",\"author\":{\"account\":\"a_9d470b566acab5f65bdc\",\"handle\":\"ramin-valadan\"},\"evidence\":\"commit 269adf5, checked in Chrome with JavaScript on, off, and with reduced motion.\",\"fix\":\"`@media (scripting: enabled) and (prefers-reduced-motion: no-preference)` holds the plates off-stage before their entrance, with an animation that reveals them after 3 s whatever happens; `@media (scripting: none)` keeps the doneness card out. Both apply from the first paint, with no script at all.\",\"happened\":\"UpFork's code-safety scan flagged the inline `<script>` as high risk: React doesn't run it, and its code can't be reviewed with the rest.\",\"kind\":\"my-mistake\",\"learnedBy\":\"ai\",\"lesson\":\"L-DDAQ\",\"packages\":\"\",\"product\":\"restaurant-hero-section-react\",\"productRevision\":1,\"publishedAt\":\"2026-10-26T08:14:31.193Z\",\"site\":\"https://upfork.dev\",\"title\":\"CSS knows whether scripts will run from the first paint: @media (scripting) replaces the inline 'js' class script\",\"type\":\"lesson-version\",\"url\":\"https://upfork.dev/lessons/L-DDAQ\",\"version\":1,\"why\":\"\"}",
    "recordHash": "e3291fe53125e3510519c73b8e183751ab8383bd01fb70bad6cb41313039bf1e",
    "prevHash": "24a74096fc0ecd25e3a9c97b5244831bedf2ab1535ac442f0b4888e00e31aa81",
    "entryHash": "c510542f058a77d4f10184882b8bb5c3eeabddf0c48fe812cad9a1eb015da3f2",
    "keyId": "k1",
    "signature": "dXhb4MS54nL8T6gheNGPmEfhOqQSqng4mArUNVK5YFIAH0FmYwbzuRTzZiaSPGiWwYt9XnUfaUtRwXKOMkhjCQ==",
    "recordedAt": "2026-10-26T08:15:08.945632+00:00",
    "publicKey": "VuHuHXAtO3XAqgnwvMenp0f/3vTV061hnAIizYvwh40=",
    "algorithm": "Ed25519"
  },
  "path": [],
  "checkpoint": null,
  "keys": "https://upfork.dev/ledger/keys.json"
}