import { DEFAULT_THEME_PRESET_ID, deriveAccentTokens, isHexColor, normalizeHexColor, THEME_PRESETS, } from '@dorfteich/shared'; import { useEffect, useState } from 'react'; /** * User accent theme (ADR 0018 stage B, issue #184). The choice — a preset id * or a free hex — lives in localStorage like the mode (device-local, never * server-side). Applying derives BOTH modes' accent tokens and writes them * as a