f352612de3a01caf40eb945f3e662b162165c277
Every transient message — milestone card, RESUMING clock, one-line flash — now centres its ink on CARD_MID and only one is ever up. Three shared pieces do all of it: inkSpan measures, plate() sizes the fill to what it holds, slideDraw swipes it in from the left and off to the right with a four-ghost smear sampled back along its own easing curve. - weapon card is icon + name + count, one centred row, no prose - plain cards centre as a block instead of hanging off the band's top edge - the clock left the net for the band; it takes over when a card or flash clears - band moved up 20px into the flash's old row, which it can now that they never draw together - hold times +0.8s: the swipe eats ~0.55s that the old numbers didn't budget for Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Languages
JavaScript
75.2%
Python
15.8%
HTML
7.3%
Shell
1.4%
Swift
0.2%