Backend:
- Persist best_diff as a high-water mark in kv store so it survives
restarts and transient ckpool gaps
- Persist acked_best_diff so the "new best share" glow survives pool
restarts and works across multiple new bests before dismissal
- Add POST /api/admin/ack-best and /api/admin/reset-ack-best endpoints
Frontend:
- Best share card: golden glow, shimmer, sparkles, "NEW BEST SHARE!"
tag with previous value, "Nice" dismiss button
- Optimistic local override so Nice/test buttons respond instantly
instead of waiting for next WebSocket push
- Fix shimmer sweep to go left-to-right (not start from middle)
- Share animations: reject (red flash + shake) suppresses accept;
reject effect declared first so guard reads correct state
- Share tooltips show exact counts on hover
- Block reward tooltip shows full amount in satoshis
- Expected block uses 1h hashrate instead of 1m
- formatDuration uses full unit names; years always show 1 decimal
- formatWork always shows 2 decimal places
- Map chain "main" to "mainnet" in block height card