diff --git a/src/MainGUI.cpp b/src/MainGUI.cpp
index 00c5226c5af2a00f35e141432a66912f272e7579..9e2acfd8c9088dbd29f89a222513a99ea8a21d29 100644
--- a/src/MainGUI.cpp
+++ b/src/MainGUI.cpp
@@ -10,6 +10,64 @@
 
 #include "include/FluidSimulationApp.h"
 
+void SetCustomImGuiTheme()
+{
+    ImGuiStyle& style = ImGui::GetStyle();
+
+    // General spacing and rounding for a clean look
+    style.TabRounding = 2.0f; // Subtle rounding
+    style.WindowRounding = 3.0f; // Slight rounding for dockable windows
+    style.ChildRounding = 2.0f; // Consistent with tabs
+    style.PopupRounding = 2.0f;
+    style.FrameRounding = 3.0f; // For sliders and buttons
+    style.GrabRounding = 2.0f; // For slider knobs
+
+    style.WindowPadding = ImVec2(4, 4);
+    style.FramePadding = ImVec2(4, 4);
+    style.ItemSpacing = ImVec2(12, 8);
+    style.ScrollbarSize = 15.0f;
+
+    // Blender/Unity-like Colors (Darker gray with contrasting highlights)
+    ImVec4* colors = style.Colors;
+
+    // Tab colors
+    colors[ImGuiCol_Tab]                  = ImVec4(0.18f, 0.18f, 0.18f, 1.00f); // Neutral dark gray
+    colors[ImGuiCol_TabHovered]           = ImVec4(0.28f, 0.28f, 0.28f, 1.00f); // Slightly lighter when hovered
+    colors[ImGuiCol_TabActive]            = ImVec4(0.25f, 0.25f, 0.25f, 1.00f); // Active tab
+    colors[ImGuiCol_TabUnfocused]         = ImVec4(0.15f, 0.15f, 0.15f, 1.00f); // Background tabs
+    colors[ImGuiCol_TabUnfocusedActive]   = ImVec4(0.20f, 0.20f, 0.20f, 1.00f); // Active but unfocused tab
+
+    // Docking preview highlight (less intrusive)
+    colors[ImGuiCol_DockingPreview]       = ImVec4(0.10f, 0.10f, 0.10f, 0.70f);
+
+    // Window borders and docking separators
+    colors[ImGuiCol_Border]               = ImVec4(0.20f, 0.20f, 0.20f, 1.00f); // Subtle border
+    colors[ImGuiCol_BorderShadow]         = ImVec4(0.00f, 0.00f, 0.00f, 0.00f); // No shadow
+
+    // Remove overly bright lines on docking highlights
+    colors[ImGuiCol_DockingEmptyBg]       = ImVec4(0.14f, 0.14f, 0.14f, 1.00f);
+
+    colors[ImGuiCol_Text]                   = ImVec4(0.90f, 0.90f, 0.90f, 1.00f); // White text
+    colors[ImGuiCol_WindowBg]               = ImVec4(0.14f, 0.14f, 0.14f, 1.00f); // Dark gray background
+    colors[ImGuiCol_Border]                 = ImVec4(0.29f, 0.29f, 0.29f, 0.50f); // Soft borders
+    colors[ImGuiCol_FrameBg]                = ImVec4(0.21f, 0.21f, 0.21f, 1.00f); // Input background
+    colors[ImGuiCol_FrameBgHovered]         = ImVec4(0.33f, 0.33f, 0.33f, 1.00f); // Hover effect
+    colors[ImGuiCol_FrameBgActive]          = ImVec4(0.26f, 0.59f, 0.98f, 0.67f); // Active field
+    colors[ImGuiCol_TitleBg]                = ImVec4(0.10f, 0.10f, 0.10f, 1.00f); // Title bar
+    colors[ImGuiCol_TitleBgActive]          = ImVec4(0.15f, 0.15f, 0.15f, 1.00f); // Active title bar
+    colors[ImGuiCol_Button]                 = ImVec4(0.20f, 0.20f, 0.20f, 1.00f); // Buttons
+    colors[ImGuiCol_ButtonHovered]          = ImVec4(0.30f, 0.30f, 0.30f, 1.00f); // Hovered buttons
+    colors[ImGuiCol_ButtonActive]           = ImVec4(0.26f, 0.59f, 0.98f, 1.00f); // Active buttons
+    colors[ImGuiCol_Header]                 = ImVec4(0.20f, 0.20f, 0.20f, 1.00f); // Collapsible headers
+    colors[ImGuiCol_HeaderHovered]          = ImVec4(0.26f, 0.26f, 0.26f, 1.00f);
+    colors[ImGuiCol_HeaderActive]           = ImVec4(0.26f, 0.59f, 0.98f, 0.67f);
+    colors[ImGuiCol_ScrollbarBg]            = ImVec4(0.10f, 0.10f, 0.10f, 1.00f);
+    colors[ImGuiCol_ScrollbarGrab]          = ImVec4(0.30f, 0.30f, 0.30f, 1.00f);
+    colors[ImGuiCol_ScrollbarGrabHovered]   = ImVec4(0.40f, 0.40f, 0.40f, 1.00f);
+    colors[ImGuiCol_ScrollbarGrabActive]    = ImVec4(0.50f, 0.50f, 0.50f, 1.00f);
+    colors[ImGuiCol_CheckMark]              = ImVec4(0.26f, 0.59f, 0.98f, 1.00f); // Checkbox mark
+}
+
 void GLFWKeyCallback(GLFWwindow* window, int key, int scancode, int action, int mods) {
     // Retrieve FluidSimulatorApp from window user pointer
     FluidSimulation::FluidSimulatorApp* app = static_cast<FluidSimulation::FluidSimulatorApp*>(glfwGetWindowUserPointer(window));
@@ -106,8 +164,9 @@ int main(int argc, char** argv) {
         fprintf(stderr, "Failed To Load Font \n");
     }
     // Setup Dear ImGui style
-    ImGui::StyleColorsDark();
+    //ImGui::StyleColorsDark();
     // ImGui::StyleColorsClassic();
+    SetCustomImGuiTheme();
 
     // Setup Platform/Renderer backends
     ImGui_ImplGlfw_InitForOpenGL(window, true);