function parse_array_to_css($css_rules_array, $indent = 0)
{
    $css_file_contents = '';
    foreach ($css_rules_array as $selector => $rules_set) {
        $selector = implode(",\n", array_map('trim', explode(',', $selector)));
        $rules = '';
        foreach ($rules_set as $property => $value) {
            if (is_array($value)) {
                $rules = parse_array_to_css($rules_set, $indent + 4);
            } else {
                $rules .= sprintf("%1\$s%2\$s: %3\$s;\n", str_repeat(' ', $indent + 4), $property, $value);
            }
        }
        $css_file_contents .= sprintf("\n%1\$s%3\$s {\n%2\$s%4\$s\n%1\$s}\n", str_repeat(' ', $indent), str_repeat(' ', $indent + 4), $selector, trim($rules));
    }
    return $css_file_contents;
}
foreach ($file_list as $css_filepath) {
    $css_rules_array[$css_filepath] = parse_css_to_array(file_get_contents($css_filepath));
}
foreach ($css_rules_array as $css_filepath => $css_rules_set) {
    $default_css_filepath = sprintf('forum/styles/default/%s', basename($css_filepath));
    $default_css_rules = parse_css_to_array(file_get_contents($default_css_filepath));
    file_put_contents($default_css_filepath, parse_array_to_css($default_css_rules));
    $default_css_rules = parse_css_to_array(file_get_contents($default_css_filepath));
    foreach ($default_css_rules as $selector => $default_rules_set) {
        if (!isset($css_rules_set[$selector])) {
            $css_rules_set[$selector] = $default_rules_set;
        } else {
            foreach ($default_rules_set as $rule_name => $value) {
                if (preg_match('/(#[0-9A-F]{3,6}|rgba?)/i', $value) > 0) {
                    continue;
                }
                if (preg_match('/color/i', $rule_name) > 0) {
                    continue;
                }
                $css_rules_set[$selector][$rule_name] = $value;
            }
        }
    }
    foreach ($css_rules_set as $selector => $css_rules) {
        if (!isset($default_css_rules[$selector])) {
            unset($css_rules_set[$selector]);
        }
    }
    $css_rules_set = sort_array_by_array($css_rules_set, array_keys($default_css_rules));
    file_put_contents($css_filepath, parse_array_to_css($css_rules_set));
}