arduino-esp32 core does not define a 'custom' PartitionScheme menu option on
any board. The core's prebuild hook already copies partitions.csv from next
to the .ino file into the build dir when present, so no menu override is
needed.
Web assets only use ~489 KB but the default 1.375 MB spiffs
partition wasted the rest. Rebalance to 768 KB spiffs / 1.56 MB
per app slot (was 1.25 MB), giving the tight esp32 build real
headroom (99.6% -> 79.7% flash used) while preserving dual-slot
OTA. Wire the custom layout into both the local PlatformIO build
(new partitions.csv + platformio.ini) and the Arduino-CLI CI/release
pipeline (PartitionScheme=custom, matching littlefs image size and
merge_bin offset).