5b9e821d6d
Availability model: server-down / server-up-no-card / card-equipped. - header shows a symbolic indicator dot (red/yellow/green, tooltip) - a 5s probe tracks /api/version+/api/status while not fully ready; the 2s status poll takes over once connected - controls declare data-needs='server' or 'card'; disabled + tooltip when the state does not satisfy them: equip (server), status/reset, file manager read/save/edit, raw APDU, profile-from-card, new snapshot, profiler list Check card, event Send, RAM install/explore delete, STK menu, Send STATUS, Verify vs pySim (server), pySim execute (server), PLI save/poll toggle (server) - pysimConnect no longer conflates server and card: it records both and Connect stays usable without a card - ramSendOta/ramInstallCap now use pysimFetch instead of raw fetch (relative /api URLs broke custom server URLs) Custom files moved from the Card reader sub-tabs to the Profiler list tabs (Profiles / Card snapshots / Custom files); help/README/AGENTS updated. Tests: availability gating, indicator structure, moved tab. SW cache v103 -> v104.