# Step Away v3.2.1 Red-Team QA

Scope: mobile play surface and launch safety. No card, case, range, pressure, campaign or scoring mechanics changed.

## Red-team findings

1. More Time / Moment Decision was still styled as sticky on mobile. This could recreate the earlier feeling of the panel popping out of the flow. Fixed by making the overtime panel fully inline/static on mobile.
2. Timer expiry scrolled to the timer panel instead of the actual decision panel. Fixed by adding a decision scroll target and moving directly to the Moment Decision panel.
3. No-active-case render path could leave stale entry/log UI visible after a completed or cleared case. Fixed by clearing entry selection and disabling the entry surface when no case is loaded.
4. Starting a campaign with no available cases could throw a runtime error. Fixed with a guarded toast message.

## Validation performed

- JavaScript syntax check passed.
- PHP syntax checks passed for index.php, api.php, admin.php, share.php and tuning.php.
- JSON parse check passed across all JSON files.
- index.html and index.php are byte-identical.
- Card data count: 72.
- Card manifest count: 72.
- Duplicate card IDs: none.
- Missing referenced card images: none.
- Duplicate HTML IDs: none.
- Service worker core cache paths exist.
- PHP content endpoints returned valid JSON for settings, cards, cases, campaigns, wrinkles, pack-index and about.
- ZIP integrity check passed.

## Browser runtime limitation

Chromium in the sandbox is blocked by administrator policy from opening localhost URLs, so a live browser click-through could not be completed here. The launch stack was checked through static syntax, PHP endpoint, JSON, asset reference, service worker path and ZIP integrity tests.

## Locked recommendation

Use v3.2.1 as the good-enough mobile playtest build. Further changes should come from actual phone/table play, not speculative redesign.
