refactor(web): migrate user-pref + storybook hex literals to tokens (Sprint 2 follow-up #2)
Last 4 components hardcoding pigment hex now import resolved values from
@veza/design-system/tokens-generated. Drift fully killed in apps/web/src.
- context/audio-context/useAudioContextValue.ts : defaultVisualizer.color
imports ColorVizIndigo (was '#7c9dd6' literal).
- components/player/VisualizerSettingsModal.tsx : color picker swatches
use ColorViz{Indigo,Neutral,Sage,Gold,Vermillion} (5 viz pigments).
- components/settings/appearance/AppearanceSettingsView.tsx : ACCENT_PRESETS
use ColorViz{Indigo,Sage,Vermillion,Gold} for indigo/sage/vermillion/gold;
sakura kept as literal (not yet canonized — Sprint 2 follow-up).
- components/ui/DesignTokens.stories.tsx : full Storybook docs rewrite reflecting
v3.0 SUMI tokens (brand accent Mizu cyan, viz palette §4.5, functional dilutés,
kin/vermillion). Previous version showed wrong indigo as "Accent" — corrected.
Net: 32 → 0 hardcoded pigment hex literals in apps/web/src. Single source of
truth = packages/design-system/tokens/primitive/color.json. Typecheck OK.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>