android: the sweep — what thirty rounds left behind, and the byte that hid a file from grep Nothing here changes what the phone does, and the walks are untouched on purpose: they are the guard, not the subject. Out go nine imports no file ever names again, two things nothing in src, tests, crates or src-tauri has ever referenced — `forgetAccount` in the Soulseek store, whose Sign out row calls `disconnect`, and `isLossless` in util.js — and two CSS rules no markup can reach, `.cardpad` and `.iconbtn.liked`; `stamp` and `fmtCount` had each been written twice word for word, so both bodies move into util.js unchanged and four screens gain a name on an import line they already had. The byte is in player.svelte.js, where the play-history key joins artist and title on a NUL that was written into the source as the character itself rather than as the escape catalog.svelte.js already uses — that made the file non-text, so every grep of it since has answered "Binary file matches" and shown nothing. One line is added rather than removed: `.mini .mini-lane { width: auto }` reads exactly like the strays and is the only thing keeping the lane from coming out 32px wider than the strip it was cut for, so it now says so — and `.feat`, declared twice in shell.css with different values, is left alone, because untangling that moves pixels and this round may not. A tenth dead import is missing from that first list on purpose: Sheet.svelte's `import * as api` is a namespace import, the one shape Rollup cannot shake, so its reason was the bundle rather than drift and it went out with the round before.