You are an expert in mermaid diagrammes. Improve this mermaid diagram elegant, make it more satisfying to look at. (with responsive colors and emojies)
```mermaid
graph TD
    A[User]

    subgraph Srv_Frontend ["Frontend Service (React UI)"]
        direction TB
        B("Modern Web UI")
        B1{"Conversation History<br/>Management"}
        B2{"Markdown Rendering"}
        B3{"Code Highlighting"}
        B -- "User Interaction" --> B1
        B -- "Content Display" --> B2
        B -- "Code Display" --> B3
        style Srv_Frontend fill:#f9fbe7,stroke:#333,stroke-width:1px,color:#333
    end

    subgraph Srv_SimpleAdapter ["Simple Adapter Service"]
        direction TB
        C("API Endpoints")
        C1{"Repo Init Trigger"}
        C -- "Handle Requests" --> C1
        style Srv_SimpleAdapter fill:#e7f9fb,stroke:#333,stroke-width:1px,color:#333
    end

    subgraph Srv_Init ["Initialization Logic"]
         direction LR
         C1 -- "GitHub URL?" --> C_URL{"Initialize via URL"}
         C1 -- "ZIP Upload?" --> C_ZIP{"Initialize via Upload"}
         C_URL -- "Clone" --> D["Git Clone"]
         C_ZIP -- "Extract" --> G["Extract Zip"]
         D --> E["Volume: repository_data"]
         G --> E
        style Srv_Init fill:#eef,stroke:#333,stroke-width:1px,color:#333
    end

    subgraph Srv_Classifier ["Classifier Service"]
        direction TB
        H("Classifier Endpoint")
        I{"File Classification &<br/>Data Extraction"}
        H --> I
        style Srv_Classifier fill:#ddeeff,stroke:#333,stroke-width:1px,color:#333
    end

    subgraph Srv_ModelServer ["Model Server Service"]
        direction TB
        M("Model Server Endpoint")
        N{"Select Model Logic"}
        M --> N
        style Srv_ModelServer fill:#fff0dd,stroke:#333,stroke-width:1px,color:#333
    end

    subgraph Srv_Libraire ["Libraire Service (Custom Documentalist)"]
         direction TB
         Q("Libraire Endpoint")
         R{"Retrieve Data &<br/>Augment Query"}
         Q --> R
        style Srv_Libraire fill:#ffffee,stroke:#333,stroke-width:1px,color:#333
    end

    subgraph DataVolumes ["Shared Docker Volumes"]
        direction TB
        E -- "Repo Path" --> H
        I -- "Save JSON" --> J["Volume: docstrings_json"]
        I -- "Save JSON" --> K["Volume: ducomentations_json"]
        I -- "Save JSON" --> L["Volume: configs_json"]
        R -- "Read JSON" --> J
        R -- "Read JSON" --> K
        R -- "Read JSON" --> L
        style DataVolumes fill:#eee,stroke:#555,stroke-width:1px,color:#333
    end

    subgraph BrowserStorage ["Browser Local Storage"]
        direction TB
        S["Conversation History"]
        T["User Preferences"]
        style BrowserStorage fill:#ffeeee,stroke:#555,stroke-width:1px,color:#333
    end

    subgraph ExternalAPIs ["External LLM APIs"]
        direction TB
        O["Gemini API"]
        P["Anthropic API"]
        style ExternalAPIs fill:#ddffdd,stroke:#333,stroke-width:1px,color:#333
    end

    %% Connections Between Services/Subgraphs
    A -- "Interacts with UI" --> B
    B -- "Display Response" --> A
    B -- "Save/Load Conversations" --> S
    B -- "Save/Load Preferences" --> T
    B -- "API Requests" --> C
    C -- "Forward Requests" --> M
    M -- "Route based on Model" --> N
    N -- "Standard Model Request" --> O
    N -- "Standard Model Request" --> P
    O -- "Response" --> N
    P -- "Response" --> N
    N -- "Custom Request" --> Q
    R -- "Augmented Query" --> O
    R -- "Augmented Query" --> P
    O -- "Response to Libraire" --> R
    P -- "Response to Libraire" --> R
    R -- "Formatted Response" --> Q
    Q -- "Final Response" --> N
    N -- "Routed Response" --> M
    M -- "Response to Adapter" --> C
    C -- "Response to UI" --> B

    classDef service fill:#367fa9,stroke:#333,stroke-width:2px,color:#fff;  
    classDef volume fill:#dd4b39,stroke:#333,stroke-width:2px,color:#fff;   
    classDef external fill:#00a65a,stroke:#333,stroke-width:2px,color:#fff; 

    class B,C,H,M,Q service;
    class E,J,K,L,S,T volume;
```