What to build: Implement 30050 — Anoetic Void. Card text: "Whenever the Runner approaches this server, you may pay 2[credit] and trash 2 cards from HQ. If you do, end the run." Follow docs/adding-a-card.md for the definition of done: one contiguous hook block in rust/netrunner-core/src/cards/sg.rs, at least one card_30050_* Rust test, and implemented/has_tests flipped in game/cards_impl/sg.json.
Blocked by: 10 — implement sg remaining (this ticket's parent).
Status: fixed
2026-08-01: New APPROACH_OFFERS_CORP registry — the corp-side twin of SERVER_GATE — offering Action::UseAnoeticVoid from the corp's own approach-server window (click-free, and only for rezzed cards in the run target's root). The offer is gated on the corp being able to pay both halves; engine::use_anoetic_void pays and ends the run. Landed with ticket 10.
2026-08-01: Approximation lifted in ticket 39 — which 2 HQ cards pay is now a real corp decision (DecisionData::AnoeticTrash). The credits are still paid on announcement, but the run does not end until both cards have been chosen.