Colors read directly from the template's own "Disposition Matrix"
section (Template!B32 header, B33:H37) via its actual XLSX cell fill
colors (not visible through CSV export, and not guessed) — a clean
1:1 mapping in the row/column headers, same 5 canonical dispositions
and spelling as CANONICAL_DISPOSITIONS in main.js:
Purge the Foe -> #E06666, Take and Hold -> #93C47D,
Priority Assets -> #FFD966, Disruption -> #4A86E8,
Reconnaissance -> #76A5AF
(the interior of that section is a separate disposition-vs-disposition
matchup heatmap, not used here).
Whole opponent column (list/faction/name rows) gets colored, per the
requested scope. Needs the new tab's sheetId, which duplicateSheet's
reply already includes (only .title was being read out of it before) —
sent as its own batchUpdate once that's known, since a single
batchUpdate can't both create a sheet and reference the id it produces.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SBzcNkW7JcYipnAX6HfgmK